- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.VENC模块学习
VENC模块学习1.VENC是什么?VENC 模块,即视频编码模块。本模块支持多路实时编码,且每路编码彼此独立,编码协议和编码 profile 可以不同。本模块支持视频编码同时,调度 Region 模块对编码图像内容进行叠加和遮挡1)VENC 模块由编码通道组子模块(GROUP)和编码协议子模块(H.264/JPEG/MJPEG/MPEG-组成。2)通道组支持接收 YUV 格式图像输入,支持格式为 Semi-planar YUV 4:2:0 或 Semi-planar YUV 4:2:2,其中 H264E/MPEG-4 只支持 Semi-planar YUV 4:2:0,JPEG/MJPEG支持 Semi-planar YUV 4:2:0 或 Semi-planar YUV 4:2:2。通道组模块接收外部原始图像数据,而不关心图像数据是来自哪个外部模块。3)完成视频区域管理之后,图像被送入具体协议类型编码通道,完成视频编码,输出码流1.1编码通道与通道组1)编码通道做为基本容器,保存不同编码通道的用户设置,管理不同编码通道的内部资源。编码通道完成图像转化为码流的功能,具体由码率控制器和编码器协同完成。这里的编码器指的是狭义上的编码器,只完成编码功能。码率控制器提供了对编码参数的控制和调整,从而对输出码率进行控制。2)编码通道可分为主编码通道和次编码通道。对于一帧输入图像,VENC 仅支持一路主编码通道,不支持次编码通道。3)编码通道组是指芯片启动一次,能够同时处理的编码通道的集合。VENC 编码通道组支持启动一次,仅编码一路主码流通道(H.264/JPEG/MJPEG/MPEG-4) 。所以在创建编码通道时,只允许注册一个主码流通道。4)码率控制器分别提供了对 H.264\MPEG-4\MJPEG 协议编码通道 CBR、VBR、FIXQP 等三种码率控制模式;5)对图像质量和码率进行调节。Hi3521/Hi3520A/Hi3518/Hi3516C/Hi3520D/Hi3515A/Hi3515C 不支持 MPEG-4 编码,所以,也不支持 MPEG-4 类型的码率控制。1.2码率CBR(Constant Bit Rate)固定比特率。即在码率统计时间内保证编码码率平稳。码率稳定主要由两个量来评估,这两个量都可以由用户在创建编码通道时指定。1)码率统计时间单位为秒(s),码率统计时间越长,每帧图像的码率波动对于码率调节的影响越弱,码率的调节会更缓慢,图像质量的波动会更轻微;码率统计时间越短,每帧图像的码率波动对于码率调节的影响越强,图像码率的调节会更灵敏,图像质量的波动会更剧烈。2)码率的波动等级系统提供了 6 阶的图像质量波动等级,波动等级越大,系统允许码率的波动范围更大。如果波动等级设置高,对于一些图像复杂,变化剧烈的场景,图像质量可能会更平稳,适用于网络带宽富裕的场景;如果波动等级设置低,编码的码率会比较平稳,对于一些图像复杂,变化剧烈的场景,图像质量可能不如高波动等级,适用于带宽不富裕的场景。VBR(Variable Bit Rate)可变比特率:即在码率统计时间内编码码率波动,从而保证编码图像质量平稳。以 H.264 编码为例,VENC 模块提供用户可设置 MaxQp,MinQp,MaxBitrate。MaxQp,MinQp 用于控制图像的质量范围, MaxBitrate 用于钳位码率统计时间内的最大编码码率。Fix Qp:固定 Qp 值。在码率统计时间内,编码图像所有宏块 Qp 值相同,采用用户设定的图像 Qp 值,I 帧和 P 帧的 QP 值可以分别设置。1.3跳帧H.264 编码提供 3 种跳帧参考模式:1 倍跳帧参考;I1 是 I 帧,p1,p2…p12 都是 P 帧。图中有箭头指入的帧,如 I1,p2,p4 等为参考帧,没有箭头指入的帧,如 p1,p3,是非参考帧。用户在保存码流时,可以只保存 4 倍跳帧参考的参考帧,如 I1,p4,p8;也可以保存所有参考帧,甚至所有的帧。2 倍跳帧参考;图中有箭头指入的帧,如 I1,p2,p4 等为参考帧,没有箭头指入的帧,如 p1,p3,是非参考帧。用户在保存码流的时候可以保存所有参考帧,也可以保存所有的帧。4 倍跳帧参考;所有的帧都是参考帧,用户在保存码流的时候需要保存所有参考帧。1.4其他2.数据类型分类学习2.1三种码流(H264、JPEG、MPEG-4的包PACK类型)2.1.1 H264E_NALU_TYPE_E2.1.2 H264E_REFSLICE_TYPE_E定义获取的 H.264 码流属于何种跳帧参考模式下的参考帧。typedef enum hiH264E_REFSLICE_TYPE_E{H264E_REFSLICE_FOR_1X = 1,H264E_R
文档评论(0)