视频处理子系统VPSS
1.概述
VPSS( Video Process Sub-System)支持对一幅输入图像进行统一预处理,如去噪、去隔行等,然后再对各通道分别进行缩放、锐化等处理,最后输出多种不同分辨率的图像。
VPSS 单元支持的具体图像处理功能包括 FRC( Frame Rate Control)、 Crop、 NR( Noise Reduce)、 LDC( Lens Distortion Correction)、 Rotate、 Cover/Overlay、 Scale、Mirror/Flip、 FishEye 等。
2. 基本概念
【1】GROUP
- VPSS 对用户提供组( GROUP)的概念。最大可用数为 VPSS_MAX_GRP_NUM个,各芯片的最大组数目有所不同,各 GROUP 分时复用 VPSS 硬件。
- 每个 VPSSGROUP 包含多个通道,通道数目视方案实现有所不同,具体描述请参见CHANNEL。
【2】CHANNEL
- VPSS 组的通道。通道分为 2 种:物理通道和扩展通道。
- VPSS 硬件提供多个物理通道,每个通道具有缩放、裁剪等功能。
- 扩展通道具备缩放功能,它通过绑定物理通道,将物理通道输出作为自己的输入,把图像缩放成用户设置的目标分辨率输出。
【3】 FRC
- 帧率控制,分为 2 种: group 帧率控制和 chn 帧率控制。
- Group 帧率控制:用于控制各 group 对输入图像的接收,只应用在 VI—VPSS的离线方案中。
- Chn 帧率控制:用于控制各个物理通道图像的处理,应用在离线和在线方案中。
【4】Crop
- 裁剪,分为 3 种: group 的裁剪和物理通道的裁剪以及扩展通道的裁剪。
- Group 的裁剪, VPSS 对输入图像进行裁剪。
- 物理通道的裁剪, VPSS 对各个物理通道的输出图像进行裁剪。
- 扩展通道的裁剪, VPSS 调用 VGS 对扩展通道的输出图像进行裁剪。
【5】 DEI
- De-interlace,去隔行。将交错的隔行视频源还原成逐行视频源。
【6】 NR
- 去噪。通过参数配置,把图像中的高斯噪声去除,使得图像变得平滑,有助于降低编码码率。
【7】Scale
- 缩放,对图像进行缩小放大。
【8】 Cover
- 视频遮挡区域,对 VPSS 的输出图像填充纯色块。
【9】 Overlay
- 视频叠加区域,在 GROUP 上进行位图的加载和背景色更新,支持 ARGB4444、ARGB1555、 ARGB8888 三种格式的位图。
【10】 Border
- 边框, VPSS 在输出图像上加边框。
【11】 备份节点
原始图像的备份节点。每个 GROUP 都有一个备份节点,用于备份即将提交硬件处理的那帧原始图像。 VPSS 在以下情况会将缓存队列队头节点的图像放入备份节点:
- 当队头节点的图像要经过 VPSS 硬件处理时, VPSS 会将其放入备份节点,并替换掉原有图像。
- 当后端绑定的接收模块要求 VPSS 将队头图像放入备份节点时, VPSS 也会替换备份节点中的图像,即使该图像不经过硬件处理。
【12】 低延时
在 VI—VPSS 的在线方案中,编码器性能足够的情况下, VPSS 支持按照,以行为单位,边采集边发送的方式,将图像发送给编码模块进行编码,用来减少 VPSS处理完整帧图像再发送给编码模块过程中,数据的延时时间。这样的方式即为低延时方案。
3.VPSS 上下文关系
-
通过调用 SYS 模块的绑定接口,可与 VI 和 VO/VENC/IVE 等模块进行绑定,其中前者为 VPSS 的输入源,后者为 VPSS 的接收者。用户可通过提供的 MPI 接口对 GROUP进行管理。每个 GROUP 仅可与一个输入源绑定。
-
GROUP 的物理通道有两种工作模式: AUTO 和 USER,两种模式间可动态切换。
-
默认的工作模式为 AUTO,此模式下各通道仅可与一个接收者绑定。若想使用 USER 模式,则需调用 MPI 接口进行设置,同时指定所需图像的大小和格式,此模式下各通道可与多个接收者绑定。
文章内容参考了海思官方的《HiMPP IPC V2.0 媒体处理软件开发参考》,请勿用于商业用途,转载请注明出处。