
二、MPP系统部分 1. 系统概述 1.1 概述硬盘录像机(Digital Video
Recorder,简称DVR),即数字视频录像机,相对于传统的模拟视频录像机,采用硬盘录像,故常常被称为硬盘录像机,也被称为DVR。
海思提供的媒体处理软件平台(Media Process Platform, 简称 MPP),可支持应用软件快速开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供 MPI(MPP Programe Interface)接口完成相应功能。该平台支持应用软件快速开发以下功能:输入视频捕获、H.264/MJPEG/JPEG/MPEG4 编码、H.264/H.265/VCI/MPEG4/MPEG2/AVS 解码、视频输出显示、视频图像前处理(包括去噪、增强、锐化、Deinterlace)、编码码流叠加 OSD、视频侦测分析、智能分析、音频捕获及输出、音频编解码等功能。
1.2 系统架构MPP 平台支持的典型的系统层次如下图所示,主要分为以下层次:
海思媒体处理平台的主要内部处理流程如下图所示:
主要分为视频输入(VI)、视频处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出(VO)、视频侦测分析(VDA)、音频输入(AI)、音频输出(AO)、音频编码(AENC)、音频解码(ADEC)、区域管理(REGION)等模块。主要的处理流程介绍如下:
系统控制根据 Hi35xx 芯片特性,完成硬件各个部分的复位、基本初始化工作,同时负责完成 MPP(媒体处理平台)系统各个业务模块的初始化、去初始化以及管理 MPP 系统各个业务模块的工作状态、提供当前 MPP 系统的版本信息、提供大块物理内存管理等功能。
应用程序启动 MPP 业务前,必须完成 MPP 系统初始化工作。同理,应用程序退出 MPP 业务后,也要完成 MPP 系统去初始化工作,释放资源。
2.2 功能描述 2.2.1 视频缓存池视频缓存池主要向媒体业务提供大块物理内存管理功能,负责内存的分配和回收,充分发挥内存缓冲池的作用,让物理内存资源在各个媒体处理模块中合理使用。
一组大小相同、物理地址连续的缓存块组成一个视频缓存池。
视频输入通道需要使用公共视频缓存池。所有的视频输入通道都可以从公共视频缓存池中获取视频缓存块用于保存采集的图像(如图 2-1 中所示从公共视频缓存池 A 中获取视频缓存块 Bm)。**由于视频输入通道不提供创建和销毁公共视频缓存池功能,因此,在系统初始化之前,必须为视频输入通道配置公共视频缓存池。**根据业务的不同,公共缓存池的数量、缓冲块的大小和数量不同。图2-1 中所示缓存块的生存期是指经过 VPSS 的通道以 USERMODE 方式传给后续模块的情形(图2-1 实线路径)。如果该缓存块完全没有经过 VPSS 的通道透传给其他模块,则将在 VPSS 模块处理后被放回公共缓存池(图2-1 虚线路径)。
MPP 提供系统绑定接口(HI_MPI_SYS_Bind),即通过数据接收者绑定数据源来建立两者之间的关联关系(只允许数据接收者绑定数据源)。绑定后,数据源生成的数据将自动发送给接收者。目前 HiMPP 支持的绑定关系如下图所示:
| 数据源 | 数据接收者 |
|---|---|
| VI | VO |
| - | VENC |
| - | VDA |
| - | VPSS |
| - | PCIV |
| VPSS | VO |
| - | VENC |
| - | VDA |
| - | VPSS |
| - | PCIV |
| VDEC | VPSS |
| - | VO (只能是标清设备或 single 模式分割) |
| - | VDA |
| - | PCIV |
| VO (WBC) | VO |
| - | VENC |
| - | VPSS |
| - | PCIV |
| AI | AENC |
| - | AO |
| ADEC | AO |
节选自 Hi3531a
《HiMPP V3.0 媒体处理软件开发参考.pdf》
《Hi3531AV100 H.264编解码处理器简介.pdf》