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