在视频编码中,有一个模块是码率控制,即通过选择一系列编码参数,使得视频编码后的比特率满足所需要的速率限制,并且使编码失真竟可能小。该模块严格上不属于视频编码标准,属于率失真优化有两范畴。码率控制分为两个步骤,一个是码率分配,二是确定量化参数;
在实际应用中,存在好几种码率控制方法,分别是CBR,VBR,ABR和CVBR,下面对着四个技术进行展开:
CBR:constant bitrate
顾名思义,以恒定比特率方式进行编码,有运动发生时,由于码率恒定,只能通过增大QP来减少码字大小,图像质量变差,当场景静止时,图像质量又变好,因此图像质量不稳定。这种算法优先考虑码率(带宽)。适合在流式播放中应用。CBR编码的缺点在于编码内容的质量不稳定,容易产生马赛克。因为对于某些较复杂的图像比较难压缩,所以CBR流的某些部分质量就比其他部分差。
具体的,一段视频一共有10分钟,我们设置的码流为1M,那么这个视频中每一秒的画面都是1M码流。
VBR:variable bitrate
顾名思义,即以可变的比特方式进行编码,比特分配根据图像内容的复杂度进行。如果图像细节较丰富或者含有大量的运动,则给其分配大一点的码流,若图像比较平坦,就给其分配较少的码流, 这样既保证了质量,又兼顾带宽限制。这种算法适合图像内容变化幅