海思3559AV100 MPP学习2--MPP平台初识

        前面虽然按照教程能够顺利运行MPP中的sample,但是对于我来说只是点了几下鼠标,执行了几行命令,对于其内部的逻辑完全不懂,所以接下来就结合手册来研究学习一下海思的MPP,参考文档是海思提供的《HiMPP V4.0 媒体处理软件开发参考.pdf》。

MPP概述       

        文档中对于MPP的概述为:MPP,全称Media Process Platform,是海思提供的媒体处理软件平台,可支持应用软件快速开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供 MPI(MPP Program Interface)接口完成相应功能。该平台支持应用软件快速开发以下功能:输入视频捕获、H.265/H.264/JPEG 编码、H.265/H.264/JPEG 解码、视频输出显 示、视频图像前处理(包括去噪、增强、锐化)、图像拼接、图像几何矫正、智能、音频捕获及输出、音频编解码等功能。

        可以看到,MPP的功能非常丰富,不过和我之前做算法不一样,这里只能调用开放的API,是看不到算法的,所以如果想要在海思开发板的基础上进行二次开发,就需要熟悉开放的API有哪些,参数是什么,数据的流动和缓存等。

MPP内部处理流程

        海思媒体处理平台内部处理流程图如下所示:

        可以看到主要分为视频输入(VI)、视频处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出(VO)、视频拼接(AVS)、音频输入(AI)、音频输出(AO)、音频编码(AENC)、音频解码(ADEC)、区 域管理(REGION)等模块,几个主要模块的大致功能为:

VI模块:捕获视频图像,可对其做剪切、去噪等处理,并输出多路不同分辨率的图像数据。

VDEC模块:解码模块对编码后的视频码流进行解码,并将解析后的图像数据送 VPSS 进行图像处理,再送 VO 显示。可对 H.265/H.264/JPEG 格式的视频码流进行解码。

VPSS模块:接收 VI 和解码模块发送过来的图像,可对图像进行图像增强、锐化等处理,并实现同源输出多路不同分辨率的图像数据用于编码、预览或抓拍。

VENC模块:编码模块接收 VI 捕获并经 VPSS 处理后输出的图像数据,可叠加用户通过 Region
模块设置的 OSD 图像,然后按不同协议进行编码并输出相应码流。

VO模块:接收 VPSS 处理后的输出图像,可进行播放控制等处理,最后按用户配置的输出协议输出给外围视频设备。

AVS模块:接收多路VI采集的图像,进行拼接合成全景图像(这里的AVS是指“视频拼接子系统”,我之前一直以为是编解码的AVS标准)。

AI模块:捕获音频数据,然后AENC模块支持按多种音频协议对其进行编码,最后输出音频码流。

ADEC模块:用户从网络或外围存储设备获取的音频码流可直接送给ADEC模块,ADEC支持解码多种不同的音频格式码流,解码后数据送给AO模块即可播放声音。

        从视频编解码的角度来看,整个流程是sensor开始采集视频,然后交给VI做一些类似于预处理的工作,VI再将数据交给VPSS再处理一次,然后编码器接受VPSS的数据进行编码并生成码流,虽然VENC可以直接接受VI处理后的数据,但是一个完整的流程就是这样,后面的解码和音频等我这边就暂不研究了,不过从图中可以看到VDEC的输入是SD卡,后面可以参考一下官方例程是怎么从文件域拿数据的。

        祝大家平安健康。


 

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值