一种面向低目标比特率的H.264码率控制算法
2011-04-13马力群沈海虹张其善张益强
马力群,沈海虹,张其善,张益强
(1.北京航空航天大学 电子信息工程学院,北京 100083;2.中国航天员科研训练中心,北京 100094;3.中国地质大学 地球物理与信息技术学院,北京 100083;4.空军驻洛阳军事代表室,河南 洛阳 471000)
H.264是由ITU和ISO联合开发并公布的最新的国际视频压缩标准,与以往编码标准明显不同的是H.264采用了基于Lagrange优化算法的编码控制模型,其编码性能相比以往的所有编码标准有了重大提高[1].H.264码率控制算法比经典码率控制算法要复杂,除了考虑缓冲区的充盈度和图像复杂度外,还要考虑率-失真模型,并且运动估计中的运动矢量选择及分块模式的选择都要执行率-失真优化(rate distortion optimization,RDO).目前的码率控制主要是对帧层、宏块层的比特数分配进行细致的处理[2-5],而且H.264已经接纳的几个码率控制技术提案如JVT-G012、JVT-H014、JVT-I049、JVT-O016以及相关研究等都采用了平均绝对误差(mean absolute difference,MAD)线性预测模型与二次R-Q模型[6-9].其中,JVT-G012是一种经典的H.264码率控制算法提案.本文通过推导分析得知,在JVT-G012提案中,对Baseline profile下的GOP(group of picture)中剩余未编码P帧分配目标比特采用了平均分配比特的方式,而实际上P编码的主要内容是当前帧与其预测帧之间的差值并经过变换量化和熵编码后的比特数.由于不同P帧压缩出来的比特率是不同的,因而其预分配的比特也应该是不同的.对于低目标码率下的码率控制而言,这极易导致后续编码帧的比特分配不能快速响应帧间变化,进而导致码率控制与目标比特偏差大,图像质量降低.针对上述问题……
