文献标识码: A
文章编号: 0258-7998(2013)04-0109-03
近年来,多媒体通信领域有了长足的发展,高效的视频编码标准是其中的关键因素。相较于传统的编码标准,H.264视频编码标准在低比特率下提供了更高的编码效率,然而其编码复杂度也明显增加[1]。目前在减少H.264视频编码计算复杂度方面,已有大量算法研究。这些算法侧重于预测模式并提前终止预测,目的是减少总编码时间,从而降低视频编码器的计算复杂度,但并不适于维持恒定帧编码的实时应用。
本文提出了一种减小H.264视频编码计算复杂度的快速模式决策算法。该方法以帕累托最优宏块定义和率失真代价模式预测指标为基础,制定类决策指标,划分宏块类,优化了已有的模式决策算法。同时,提高了H.264视频编码器实时软件编码的效率。
1减小H.264编码复杂度分析
通常对减少H.264标准复杂度的研究包括两方面:非实时低复杂度算法和实时算法实现。
1.1 实时H.264编码算法
实时编码器要求保持恒定的帧编码时间,有多种H.264编码器实时动态复杂度控制算法,如帧内预测编码算法[1]。该算法利用宏块分割进行边界方向检测,得到图像纹理方向,只对最可能的几种模式进行预测,从而减少运算量;另有算法根据时域和空域活动指标限制搜索模式,并考量拉格朗日参数以降低计算复杂度和率失真代价[2]。上述方法并不包含前向SKIP预测和帧缓冲技术,导致计算复杂度高;而缺乏帧缓冲则意味着必须保守估计帧编码时间,从而导致20%的时钟周期闲置。
1.2 低复杂度H.264编码
H.264编码的关键创新是它提供了多达7种帧间编码模式:16×16、16×8、8×16、8×8、8×4、4×8和4×4[3],从而获得更准确的预测和更高的编码效率。
传统模式决策算法分析了所有可能的宏块类型,遍历每种编码模式,以选择率失真代价最小的模式,运算量极大。率失真代价J的计算公式为:
2.4 实验结果与分析
为考量本文算法的性能,从输出码率、总编码时间和PSNR三方面,将其与H.264参考软件JM10.2进行比较。采用经典视频序列的前300帧进行测试,测试条件:图像大小为CIF,帧率为30 f/s,CABAC编码,选用5个参考帧;编码帧结构QP为IBBP,打开率失真优化。统计每个序列在QP为28、32、36和40时的输出码率BR、编码时间t和PSNR,并按下述公式计算?驻BR、Δt和ΔPSNR,本文算法与JM10.2编码性能参数的比较结果如表2所示。
Mobile视频序列的率失真曲线如图2所示。本算法的率失真曲线几乎和参考编码器的曲线一致。
本文算法在最低编码效率损失的前提下显著降低了复杂度。E指标的最大值是5.21,而参考编码器的E值约为10;本算法的率失真曲线几乎和参考编码器的曲线一致;视频序列的总编码时间减少了57.2%~70%。由于算法相对于原来的编码器产生了略高的SKIP速率,导致低运动序列的比特率有所降低,PSNR存在0.08~0.26 dB的退化是合理的。
本文研究了实时H.264高效视频编码,对宏块进行了分类,将类决策算法与率失真代价指标用于提前结束算法和前向SKIP预测,并给出了基于帕累托最优宏块分类的快速模式决策算法。该算法降低了H.264视频编码的总复杂度,减少了编码时间。后续的工作包括改善宏块类的J预测模型;优化阈值的标准,使用自适应阈值进一步改善类决策的精确度。
参考文献
[1] 何宜宝,陈再秀,毕笃彦,等.利用边缘方向检测实现H.264帧内预测编码的新算法[J].西安电子科技大学学报, 2009,36(6):1126-1131.
[2] 高蒿,陈耀武.基于纹理区域分割的SVC快速模式决策算法[J]. 计算机工程,2011,37(22):256-249.
[3] 王喆,刘贵忠,钱学明.一种高效的基于H.264/AVC压缩域信息的全局运动估计方法[J].电子学报,2011,39(3A):19-22.
[4] 王晓,邓云,朱柳.一种低码率下的H.264跳帧算法[J].计算机工程,2010,36(23),223-226.
[5] JING X, CHAU L P. Fast approach for H.264 inter mode decision[J]. Electronic Letters,2004,40(17):1050-1052.
[6] ZENG H, CAI C, MA K K. Fast mode decision for H.264/AVC based macroblock motion activity[J]. IEEE Transaction.on Circuits and System for Video Technology, 2009,19(1):1-11.
[7] 何辉.H.264的算法优化[D].山东:山东大学,2006:38-40.