四种码率控制相关概念
从信息学的角度分析,图像的压缩比越低,压缩图像的质量越高;图像压缩比例越高,压缩图像的质量越
低。对于场景变化的真实场景,图像质量稳定,编码码率会波动;编码码率稳定,图像质量会波动。以H.264
编码为例,通常图像Qp越低,图像的质量越好,码率越高;图像Qp 越高,图像质量越差,码率越低。码率控
制是针对连续的编码码流而言,所以,JPEG 协议编码通道不包括码率控制功能。
码率控制器分别提供了对H.264\H.265 协议编码通道CBR、VBR、AVBR、FIXQP 四种码率控制模式,
MJPEG 协议编码通道CBR、VBR、FIXQP 三种码率控制模式,对图像质量和码率进行调节。
1)CBR介绍
CBR(Constant Bit Rate)固定比特率。即在码率统计时间内保证编码码率平稳。码率稳定主要由两个量
来评估,这两个量都可以由用户在创建编码通道时指定。码率统计时间u32StatTime单位为秒(s),码率统计时
间越长,每帧图像的码率波动对于码率调节的影响越弱,码率的调节会更缓慢,图像质量的波动会更轻微;码
率统计时间越短,每帧图像的码率波动对于码率调节的影响越强,图像码率的调节会更灵敏,图像质量的波动
会更剧烈。行级码率控制调节幅度u32RowQpDelta行级码率控制调节幅度是一帧内行级调节的最大范围,其中
行级以宏块行为单位。调节幅度越大,允许行级调整的QP 范围越大,码率越平稳。对于图像复杂度分布不均
匀的场景,行级码率控制调节幅度设置过大会带来图像质量不均匀。
2)VBR介绍
VBR(Variable Bit Rate)可变比特率,即允许在码率统计时间内编码码率波动,从而保证编码图像质量
平稳。以H.264编码为例,VENC 模块提供用户可设置MaxQp,MinQp,MaxBitrate 和ChangePos。MaxQp,
MinQp用于控制图像的质量范围,MaxBitrate 用于钳位码率统计时间内的最大编码码率,ChangePos 用于控
制开始调整Qp 的码率基准线。当编码码率大于MaxBitrate*ChangePos 时,图像qp 会逐步向MaxQp 调整,
如果图像QP 达到MaxQp,QP 会被钳位到最大值,MaxBitrate 的钳位效果失效,编码码率有可能会超出
MaxBitrate。当编码码率小于MaxBitrate*ChangePos时,图像QP 会逐步向MinQp 调整,如果图像QP 达到
MinQp,此时编码的码率已经达到最大值,而且图像质量最好。
3)AVBR
AVBR(Adaptive Variable Bit Rate)可变比特率,即允许在码率统计时间内编码码率波动,从而保证编
码图像质量平稳。码率控制内部会检测当前场景的运动静止状态,在运动时用较高码率编码,在静止时主动
降低目标码率。以H.264 编码为例,VENC 模块提供用户可设置MaxBitrate,ChangePos 和MinStillPercent。
MaxBitrate 表示运动场景下的最大码率,MaxBitrate*ChangePos*MinStillPercent表示静止情况下的最小码率。
根据运动程度的不同目标码率会在最大码率和最小码率间调整。MaxQp,MinQp 用于控制图像的质量范围,
码率控制以QP 钳位为最高优先级,超出MinQp,MaxQp 范围内码率控制将失效。
4)FIXQP
Fix Qp 固定Qp 值。在码率统计时间内,编码图像所有宏块Qp 值相同,采用用户设定的图像Qp 值,I 帧
和P 帧的QP 值可以分别设置。