嵌入式音视频开发过程中如何控制码率?
码率控制的意义在音视频领域,码率控制模式有着举足轻重的地位。那什么是码率控制?码率控制是指通过调节图像的压缩比例,从而决定输出编码码率的过程。
H264有多少种码率控制模式H264码率控制模式分别有:CBR、VBR、AVBR三种经典的模式。下面,我们就来看看这三种模式有什么区别: CBR指的是固定编码控制模式:它指的是以恒定编码比特率进行压缩操作,当有运动时刻发生的时候,由于码率保持着恒定变化。所以,大部分情况下只能通过增大QP数值来调节画面质量,而当运动画面变多时图像质量变差。当场景从运动画面切换到静止画面的时候,图像质量变差。所以这种算法是优先考虑节省码率(带宽),而牺牲画面质量。 VBR指的是动态编码控制模式,它的最大特点是码率的变化是随着画面质量的变化而变化。比方说在运动的时刻码率会变高,从而马赛克和花屏的现象会减少。这种码率控制模式的最大优点就是以画面质量为最优先考虑,在处理一些复杂画面的时候,会大幅度提高码率解决画质问题。但是其缺点也很明显,就是它的码率不能以恒定的值进行处理,所以会大幅度消耗码率。 VBR调节一般由四个编码参数决定:1)maxbitrate 2)minqp 3)maxqp 4)changepos 其中maxqp和minqp主要是调节画面质量的参数范围,而maxbitrate主要用于计算单位时间内最大的编码码率,changepos是用于调整qp码率的基准。 若编码的码率大于最大码率 * ChangePos的时候,图像的QP值会逐步向maxqp范围调整,若图像的qp值大于等于maxqp的时候,qp调节的值将会达到最大值。若编码的码率小于于最大码率 * ChangePos的时候,图像的QP值会逐步向minqp范围调整,若图像的qp值达到了minqp的时候,qp调节的值将会达到最大值。而此时,图像质量是最好的。AVBR指的是可变码率控制。这种码率控制模式的特点是,它会自动检测当前编码的图像是静止画面还是运动画面。若是运动画面,AVBR模式会提高码率去大大改善当前的画面质量,而当检测到静止画面的时候。AVBR会主动降低码率来节省带宽。 这种模式的最大特点是,它会根据最大码率和最小码率之间进行调整。所以,AVBR综合了CBR和VBR的优势,在运动模式下能够提高码率来保证画面质量的平稳,而在静止画面下会保带宽。 在AVBR模式下有三个参数来表示码率的变化,分别是:1)maxbitrate2)changepos3)minstillpercent在运动场景下,最大码率就等于maxbitrate,而在静止模式下最小码率就等于maxbitrate * changepos * minstillpercent。来源:txp玩Linux
|