海思官方文档学习五

1.概述

VENC 模块,即视频编码模块。本模块支持多路实时编码,且每路编码独立,编码协议和编码 profile 可以不同。本模块支持视频编码同时,调度 Region 模块对编码图像内容进行叠加和遮挡。

VENC 模块的输入源包括三类:

  • 用户态读取图像文件向编码模块发送数据;
  • 视频输入(VIU)模块采集的图像经视频处理子系统(VPSS)发送到编码模块;
  • 视频输入(VIU)模块采集的图像直接发送到编码模块;

海思官方文档学习五_第1张图片

典型的编码流程包括了输入图像的接收图像内容的遮挡和覆盖图像的编码、以及码流的输出等过程。

VENC模块由编码通道子模块(VENC)和编码协议子模块(H.264/H.265/JPEG/MJPEG)组成。

通道支持接收 YUV 格式图像输入,支持格式为 Semi-planar YUV 4:2:0 或 Semi-planarYUV 4:2:2,其中 H.264/H.265 只支持 Semi-planar YUV 4:2:0, JPEG/MJPEG 支持 Semi-planar YUV 4:2:0 或 Semi-planar YUV 4:2:2。另外,Hi3518EV200 能够支持单分量输入(只存在 Y 分量)。通道模块接收外部原始图像数据,而不关心图像数据是来自哪个外部模块。

通道接收到图像之后,比较图像尺寸和编码通道尺寸:

  •  如果输入图像比编码通道尺寸大, VENC 将按照编码通道尺寸大小,调用 VGS 对源图像进行缩小,然后对缩小之后的图像进行编码。
  • 如果输入图像比编码通道尺寸小, VENC 丢弃源图像。 VENC 不支持放大输入图像编码
  • 如果输入图像与编码通道尺寸相当, VENC 直接接受源图像,进行编码

REGION 模块支持对图像内容的遮挡和叠加。

完成视频区域管理之后,图像被送入具体协议类型编码通道,完成视频编码,输出码流。

2.编码通道

 编码通道作为基本容器,保存编码通道的多种用户设置和管理编码通道的多种内部资源。编码通道完成图像转化为码流的功能,具体由码率控制器编码器协同完成。这里的编码器指的是狭义上的编码器,只完成编码功能。码率控制器提供了对编码参数的控制和调整,从而对输出码率进行控制。

海思官方文档学习五_第2张图片

码率控制

码率控制器实现对编码码率进行控制。
从信息学的角度分析,图像的压缩比越低,压缩图像的质量越高;图像压缩比例越高,压缩图像的质量越低。对于场景变化的真实场景,图像质量稳定,编码码率会波动;编码码率稳定,图像质量会波动。

CBR

CBR(Constant Bit Rate)固定比特率。即在码率统计时间内保证编码码率平稳。

VBR

VBR(Variable Bit Rate)可变比特率,即允许在码率统计时间内编码码率波动,从而保证编码图像质量平稳。

FIXQP

Fix Qp 固定 Qp 值。在码率统计时间内,编码图像所有宏块 Qp 值相同,采用用户设定的图像 Qp 值, I 帧和 P 帧的 QP 值可以分别设置。
 

你可能感兴趣的:(音视频)