视频编码中码率控制算法研究
【摘要】:随着多媒体通信及网络技术的发展,人们对视频的应用需求越来越广泛,视频信息正对人们的生活方式和社会发展起着越来越重要的作用。码率控制技术是视频通信系统应用中必不可少的组成部分,在带宽和存储容量受限的情况下,通过调整编码参数使编码器获得最佳的压缩质量。合理有效的码率控制机制能够在保证视频质量的同时提高信道的利用率,对突破带宽限制和降低存储成本具有非常重要的意义。
作为新一代视频编码标准的H.264/AVC,由于引入了许多先进的编码技术,使的其相比以往视频编码标准在编码效率、压缩质量和网络适应性等方面均取得了显著的提高。然而,H.264/AVC中引入率失真优化来选择模式,将量化参数同时用于码率控制和率失真优化,导致了“蛋鸡悖论”问题的产生,也使得其码率控制相对以往的视频标准更为复杂。在给定的信道带宽下,如何有效地控制虚拟缓冲区,提高压缩后的视频质量,同时降低码率控制算法的计算复杂度已成为这一领域的研究热点。
本文系统地介绍了视频编码中码率控制的工作原理和基本理论,在总结和分析H.264/AVC码率控制算法提案以及相关改进算法的基础上,深入地研究了码率控制中GOP(Group of Pictures)层、帧层和宏块层的算法。全文的主要创新和研究成果包括:
(1)场景切换在实际视频中频繁出现,对码率控制造成消极影响。本文针对视频序列中可能出现的场景切换问题,研究场景切换检测及其处理方法,提出了一种自适应变长的GOP层码率控制算法。算法中当前GOP的长度随着场景切换的出现自适应地改变,使整个序列包含的I帧总数不变,避免了实际码率的升高,并通过调整场景切换帧的量化参数来缓解缓冲区的压力。仿真结果表明,该算法对于频繁发生场景切换的序列具有较好的适应性,在精确控制码率的前提下,有效改善了新场景的视频质量。
(2)初始量化参数的选取对码率控制的性能影响很大。选取合适的初始量化参数不仅能明显地提高视频的客观质量与码率控制的精度,而且能降低图像质量的波动,提高视频的主观质量。本文针对码率控制中初始量化参数的选取问题,采用梯度作为复杂度的衡量方法,提出一种基于时空特性的初始量化参数计算方法,使计算得到的初始量化参数更加符合序列的真实特性。实验结果表明,该算法在准确控制码率的同时,具有更佳的率失真性能。
(3)本文针对码率控制中I帧量化参数的计算方法在缓存控制、编码质量以及初始量化参数适应性等方面存在的不足,提出了一种自适应I帧量化参数的计算方法。该方法根据I帧的缓冲区占用率、当前缓冲区占用率以及跳帧率等,自适应地选择I帧的量化参数。实验结果表明,该方法在精确控制码率、获得更高PSNR(Peak Signal to Noise Ratio)值的同时大大减少跳帧数,有效提高了视频的主观质量与客观质量,并且该方法对不同的初始量化参数与目标比特率组合,都表现出较强的适应性。
(4)本文针对宏块层的码率控制在时空相关性及纹理方向性上的考虑不足,提出了一种时空自适应的宏块层码率控制算法,主要包括MAD(Mean Absolute Difference)预测模型、头比特预模型测、二次R-Q(Rate-Quantization)模型中系数更新时参考宏块的选择机制。该方法不仅能得到更精确的MAD与头比特预测值作为二次R-Q模型的输入,而且还能得到更为精确的二次R-Q模型系数。实验结果表明,该方法在准确控制码率的同时,提高了视频的编码质量。