视频编码中CBR和VBR的区别

   在视频编码中,有一个模块是码率控制,即通过选择一系列编码参数,使得视频编码后的比特率满足所需要的速率限制,并且使编码失真竟可能小。该模块严格上不属于视频编码标准,属于率失真优化有两范畴。码率控制分为两个步骤,一个是码率分配,二是确定量化参数;

    在实际应用中,存在好几种码率控制方法,分别是CBR,VBR,ABR和CVBR,下面对着四个技术进行展开:

CBR:constant bitrate

     顾名思义,以恒定比特率方式进行编码,有运动发生时,由于码率恒定,只能通过增大QP来减少码字大小,图像质量变差,当场景静止时,图像质量又变好,因此图像质量不稳定。这种算法优先考虑码率(带宽)。适合在流式播放中应用。CBR编码的缺点在于编码内容的质量不稳定,容易产生马赛克。因为对于某些较复杂的图像比较难压缩,所以CBR流的某些部分质量就比其他部分差。

   具体的,一段视频一共有10分钟,我们设置的码流为1M,那么这个视频中每一秒的画面都是1M码流。

VBR:variable bitrate

    顾名思义,即以可变的比特方式进行编码,比特分配根据图像内容的复杂度进行。如果图像细节较丰富或者含有大量的运动,则给其分配大一点的码流,若图像比较平坦,就给其分配较少的码流,   这样既保证了质量,又兼顾带宽限制。这种算法适合图像内容变化幅度较大的情况;

    适合的应用场景是媒体存储,不适合网络传输;

ABR:average bitrate

      平均比特率,是在CBR和VBR两者之间的一种权衡,即设定一段时间的平均码率,在此时间内,对简单,静态的图像分配低于平均码率的码率,对于复杂的,大量运动的图像分配高于平均码率的码流;

   适合网络传输

CVBR:Constrained VariableBit Rate

     是VBR的一种改进方法,对应的Maximum bitRate恒定或者Average BitRate恒定。兼顾了CBR和VBR的优点:在图像内容静止时,节省带宽,有运动发生时,利用前期节省的带宽来尽可能的提高图像质量,达到同时兼顾带宽和图像质量的目的。这种方法通常会让用户输入最大码率和最小码率静止时,码率稳定在最小码率运动时,码率大于最小码率,但是又不超过最大码率。比较理想的模型如下:

  

猜你喜欢

转载自blog.csdn.net/cxy19931018/article/details/81535023