码率控制(四):TM5

码率控制(四):TM5

TM5是MPEG-2中的码率控制算法,整个算法分为三步:

  1. 目标比特分配:这一步为当前待编码的帧分配目标比特。

  2. 码率控制:为每个MB设置参考QP。

  3. 自适应量化:根据每个MB的空域活动性调整上面的参考QP以生成最终QP用于量化MB。

1、目标比特分配

复杂度估计

当某个特定类型帧(I、P、B)编码完后,其对应的”全局复杂度“(Xi,Xp或Xb)按下面方式更新:

Si、Sp、Sb是编码该帧实际使用的比特数。Qi、Qp、Qb是编码该帧后所有MB(包括skipped MB)的实际QP的平均值。

图像目标比特分配

待编码帧(Ti、Tp、Tb)目标比特计算方式如下:

码率控制

在编码第j个MB前需要计算缓冲区充盈度:

当该帧分别为I、P、B帧时缓冲区充盈度计算方法如上。

Bj是编码j个MB所使用的比特数。MB_cnt是当前帧包含的MB数。

然后,第j个MB的参考QP计算方法如下:

自适应量化

第j个MB的空域活动性计算方法如下:

对actj进行归一化:

然后利用归一化后的actj对第2步得到其QP进行调整得到最终QP:

参考

http://www.mpeg.org/MPEG/MSSG/tm5/Ch10/Ch10.html

感兴趣的请关注微信公众号Video Coding

猜你喜欢

转载自blog.csdn.net/Dillon2015/article/details/105983513
tm