H.264/AVC帧内预测模式不同快速算法的分析
来源:小侦探旅游网
《现代电子技术)z008年第23期总第286期 测试 ■・ 化司 H.264/AVC帧内预测模式不同快速算法的分析 蔡芳萍,黄 巾,黄士坦 (西安微电子技术研究所陕西西安 710075) 摘要:快速帧内预测模式选择是一项提高H.264/AVC压缩性能的关键技术。H.264/AVC通过采用RDO(率失真优 化)模式获得编码的性能提高,但这是以高计算复杂度为代价的。为了解决这个问题,首先对H.264/AVC的帧内预测算法 进行研究,随后对不同快速算法进行分析,证明其都以不同方式大幅度提高了H.264/AVC帧内预测的速度,同时保持了较 高的预测精度和主观图像质量。 关键词:H.264;视频编码;预测编码;帧内预测;率失真优化 中图分类号:TP919.8 文献标识码:B 文章编号:1004—373X(2008)23—103一O4 Research of Different Fast Algorithm for H.264 Intra—prediction CAI Fangping,HUANG Jin,HUANG Shitan (Xi an Micro—electronic Technology Research Institute,Xi an,710075,China) Abstract:Fast intra—prediction model selection is an important technology which can improve the encoding capability for H.264/AVC.It is possible to adopt the Rate—Distortion Optimized(RDO)mode in H.264 tO maximize the coding gain at the cost of a very high computational complexity.To solve this problerm,fast intra—prediction algorithm for H.264/AVC is dis— cussed firstly in this paper.Then some different fast algorithms are analyzed.It is demonstrated that they all reduce the intra— prediction time greatly,and it maintains high prediction precision and subjective picture quality. Keywords:H.264;video coding;prediction coding;intra—prediction rate—distortion optimization 小的预测模式,或提前终止某些可能性小的模式的代价 计算,从而降低帧内预测的复杂度。 H.264/AVC是目前算法复杂度最高,性能最好的 基于混合编码框架的视频编码标准。H.264性能的提 2帧内预测编码模式 高得益于在各个环节使用了许多先进的编码技术。帧 内预测是一项提高I帧压缩性能的关键技术,由于它充 分利用了图像的空间相关性,进一步提高了压缩效率。 然而,高效的帧内预测算法也大大增加了编码器的运算 复杂度。由于H.264/AVC支持的帧内预测模式很多, 为了确定一个宏块MB(Macroblock)的帧内预测模式, H.264的亮度帧内预测方式分别是基于16×16 和4×4两种不同块尺寸进行。对4×4亮度块提供了 9种帧内预测模式,适用于带有大量细节的图像编码; 对16×16亮度块提供了4种帧内预测模式,适合于存 在大面积缓慢变化的图像;对8×8色度块提供了4种 帧内预测模式。 (1)4×4亮度预测模式 需要计算592种组合模式的RD代价(RD cost),这么 多种模式势必加大模式选择所耗费的时间,特别当使用 RDO(率失真优化)模式时,由于比特率R值被精确地 计算出来,而R值的计算复杂度很高,从而导致帧内预 测的复杂度很大,因此研究快速帧内预测模式选择算法 具有重要应用价值。 一H.264/AVC支持小至4×4块的预测,具有更高 的预测精度,如图1所示。Intra 4×4一共有9种预测 模式,其中,Mode 2为DC预测,其余8种预测模式分 别代表了8种不同的方向。块内同一方向上韵像素点 具有相同的预测值,以此来近似逼近不同方向纹理特性 的图像。 如图2所示,4×4亮度块的上方和左方像素A~Q 为已编码并重构的像素,用作编解码器中的预测参考像 素。表1给出了9种模式的描述。 般而言,减小帧内预测复杂度的方法可分为两 类:一类是简化代价函数(Cost Function);另一类是缩 小预测模式选择的范围。对于第二类方法,可以利用当 前块及其周围像素的某些特征,预先排除某些可能性很 收稿日期:2008一O5—2O 103 蔡芳萍等:H.264/AVC帧内预测模式不同快速算法的分析 (3)8×8色度块预测模式 \\{ . ’ 人眼系统的视觉特性决定了人眼对于色度信号不 如亮度信号敏感,在编码色度分量时一般采用较为粗糙 的采样和量化方式,因此色度分量的帧内预测模式是以 8×8块为单位进行的。每个帧内编码宏块的8×8色 5 度成分由已编码左上方色度像素的预测而得,两种色度 成分常用同一种预测模式。4种预测模式类似于Intra 16×l6的4种预测模式,只是模式编号不同。其中DC H 图1 Intra 4×4预测模式 Q A B C D E F G 为Mode0、水平为Model、垂直为Mode2、平面为 I b d J f g h K J k l L P 图2 4×4块各像素点定义 表1 Intra 4X4预测横式描述 预测选项 预测选项名称 预测算法 (2)16×16亮度预测模式 如果视频图像区域内部较为平坦,包含的图像细节 不多,此时可以对16×16的像素块直接进行帧内预测 编码,而无需进一步进行分块,从而可以减少帧内预测 的计算量。Intra 16×16一共有4种预测模式,分别 为:垂直预测、水平预测、DC预测和平面预测(Plane Predicion),如图3所示,其描述见表2。 虐桶 图3 Intra 16×16预测模式 表2 Intra16X16预测模式描述 模式 描 述 Mode0(垂直) 由上边像素推出相应像素值 Mode1(水平) 由左边像素推出相应像素值 Mods2(DC) 由上边和左边像素平均推出相应像素值 Mode3(平面) 利用线形“Plane”函数及左、上像素推出 相应像素值,适用于亮度变化平缓区域 104 Mode3。 3减小帧内预测复杂度的方法 一般来说,减小帧内预侧复杂度的方法主要可分为 两类:一类是代价函数的简化,另一类是编码模式搜索 范围的缩小[1]。 3.1代价函数的简化 由于SATD(Sum of Absolute Transformed Difference)与率失真优化(RDO)性能具有很强的相关 性_2。],所以利用SATD作为判断准则,预先排除掉一 些可能性很小的Intra 4×4预测模式,缩小模式选择的 范围,从而降低复杂度。首先对预测差值进行Had— amard变换,然后计算变换系数的绝对和得到SATD。 SATD虽然可以作为选择模式的准则,但是并不是说 SATD最小的模式就是RD性能最好的模式,如何选择 合适的阈值是算法的关键。由于相邻的4×4块的预测 模式之间具有很强的相关性,当前块的最可能预测模式 可以根据其左边和上边块的模式来预测,所以选择当前 块的最可能预测模式的SATD作为阈值,预先排除掉 SATD大于该阈值的模式。对剩下的模式再用RDO 进行筛选,大量实验结果显示,该阈值具有较好的效果, 可以预先排除约50 的Intra 4×4模式。步骤如下: (1)计算当前块的最可能预测模式MPM(Most Probable Mode); (2)分别计算9种模式的SATD; (3)根据上述的阈值条件预先排除可能性较小的 预测模式; (4)在剩下的候选模式中,分别计算每种模式的 RD代价(RD cost); (5)选择具有最小RD代价的模式,即为当前4×4 块的预测模式。 3.2缩小编码模式范围 其研究的主要途径是通过其他一些低计算复杂度 的方法直接排除一些不可能的编码模式,从而缩小模式 选择的搜索范围。 《现代电子技术)2008年第23期总第286期 测试・测量・自动化司 3.2.1 帧内4×4宏块预测方向的直接探测算法 宏块内的边沿能直接用来帮助降低帧内的预测模 式,为了提高预测精度,提出一个方向探测算法[4],利用 式中有模式0和模式1时,只有4种而不是9种模式被 选择,从而能够大幅度地降低计算量。 它可以发现所有相应的边沿,因此能够降低原始图像的 矢量相关。 首先,我们把4×4宏块分成4个2×2子宏块和 1个内部的2×2子宏块,如图4所示。 一 图6方向和预测模式之闻的关系 3.2.2 帧内16×16亮度宏块和8X8色度宏块预测方 向的直接探测算法 除了子宏块的大小不一样外,16×16亮度宏块和8 图4子宏块划分图 利用4个子宏块计算平均像素值P。,P ,P。和P。。 P 由内部的4个像素点计算得到。,(X,y)代表在(X, y)位置处的像素值。(X ,y )代表第K个2×2子宏块 的起始位置,如图4所示。 P ==={,(x ,yK)+,(XK+1,YK)4- ,(XK,yK -41)+厂(xK+1,yx+1)}/4 (1) 在得到P ,k一0,1,2,3和4之后,通过使用直接探 测算法能进一步得到图像的边缘信息。因为在帧内预 测中探测到的边缘和图像的预测模式高度相关: d 一l P 一P。l+I P。一P2 I (2) d叩 ===I P2一P。{+l P。一P I (3) d 一『P 一P f+I P。一P I (4) d¨ 一I P4一P。l+I P。一P I (5) 以上等式计算的梯度表明了在如图5所示的特定 方向平均像素值的接近程度。在一个方向上的梯度与 平均像素值接近,梯度的值越小越接近于实际的边缘。 可以通过插值技术估计其他的梯度。例如:22.5。方向, 也就是模式8的估计值能从它的附近值0。和45。获得。 d船・ =( 4-d )/Z (6) 离医 匿 【a)水平 (b) 肖 (c)左对角预1删 (d)右对角预测 图5边缘估计计算图 图6所示剩下方向的梯度能用相似的方法得到。 通过前面的计算,选择3个具有最小梯度值的方向。同 时,通过实验观察到模式0(90。),模式1(O。)和模式2 (DC)在帧内预测中经常用到,总是被选择用于RD(率 失真)优化的计算。因此,在最坏的情况下有6种模式 被选择。在最好的情况下,当选择的最小梯度方向的模 ×8色度宏块预测方向的直接探测算法和4×4色度宏 块预测方向的直接探测算法是一样的。对于16×16亮 度宏块,分成5个8×8子宏块 。计算 的公式为: 7 7 Pk一{∑∑f(XK -4i,YK -4 ))/64 、i=O i=0 其中,k一0,1,2,3和4,(X ,y )代表第K个亮度或色 度子宏块的起始位置。从式(2)~式(4)能获得四个方 向的梯度值。色度预测也能用同样的方法得到。在16 X16亮度宏块边缘预测中用到了模式0,1和3。所以 只有已经被选择的模式和DC模式需要做进一步的RD (率失真)优化的计算,色度预测中选用的模式和16× 16亮度宏块预测选用的一样。最后只有2种而不是 4种模式被暂时选出,以作最后的搜索。应用直接预测 算法在最好的情况下只需要132种组合模式的RD代 价(RD cost),在最坏的情况下只需要196种组合模式 的RD代价(RD cost),远小于全搜索算法592种组合 模式的RD代价(RD cost)。因此,在增加少量比特率 的前提下能大量减少编码时间。 3.3 对像素值进行子采样降低操作数的个数来降低帧 内预测的复杂度 文献Es]中提出,只对子采样的像素值用于帧内预 测的计算,以此来大量降低操作数的数量。4×4宏块 的2:1子采样,4:1子采样,8:1子采样的方式如 图7所示。 ’ 蕊 __2Ol69 2l19057463 21I937584 2l13658471 图7 4×4宏块的2:1子采样,4:1子采样,8:1子采样 8x 8宏块的2:1子采样,4:1子采样方式如图8 所示。 1O5 蔡芳萍等:H.264/AVC帧内预测模式不同快速算法的分析 to Quantizer Selection[C].Proceedings of International Corderence on Image Processing,1997(2):41—44. [3]Kim C,Shih H H,Kuo C.Multistage Mode Deeision for Intrap Redietion in H.264 Codee[C].16th Annual Symposium Electric Imaging,2004. [4]Wang Jhingfa,Lin Weiguang,Yang Jarferr.A Simple and Robust Direction Detection Algorithm for Fast H.264 Intra 图8 8x8宏块的2:1子采样和4:1子采样 Prediction[C].Multimedia and Expo,2007 IEEE Interna— tional Conference on,2007:l 587—1 590. 采用此算法,4×4宏块的2:1子采样,4:1子采 样,8:1子采样时间复杂度能降低40%,63 9/6和.73 , [5]Byoungjo Choi,Joonghwee Cho.An Implementation of H.264 Intra Predictor Based on Sub—sampling.University 比特率相应增加2%,3 9/6和5 9/6。信噪比降低不超 过0.2 dB。 of Ineheon Dohwa—dong Nam—gu。Incheon 402— 749,Korea. 4结语 1-6]毕厚杰.新一代视频压缩编码标准——H.264/AVC[-M]. 北京:人民邮电出版社,2005. 本文给出了快速帧内预测模式选择的不同算法。 利用代价函数的简化和编码模式搜索范围的缩小[1],减 少帧内预测的模式数,或者利用采样点的减少来减少计 算量。这些快速方法均能在不太影响编码性能的条件 下大幅度地提高编码速率,且两者比较而言,基于分组 像素点的方法编码速率更快一些。 参‘考文献 [7] Changsung Kim,Qing Li,C.一C.Jay Kuo.Fast Intra—pre— diction Model Selection for H.264 Codec.Integrated Media Systems Center and Department of Electrical Engineering University of Southern California,2003. [8]王嵩,薛全,张颖,等.H.264视频编码新标准及性能分析 [J].电视技术,2003(6):25—26. [9]张晓燕,谢瑁堂.最新视频编码标准H.264及其核心技术 [J].现代电视技术,2004(11):62—65. [1O]Richardson I E G.H.264/MPEG 4 Part 10White Paper: Prediction of Intra Macroblocks[EB/OL].http://www. vcodex.corn/h264.ht2ml,2005. [1]裴世保,李厚强,俞能海.H.264/AVC帧内预测模型选择算 法研究[J].计算机应用,2005,25(8):1 808—1 810: r2]Yang K H,Jaequin A,Jayant N S A Normalized Rate—distor— tion Model for H.263一compatible Codecs and Its Application [11]JM Reference Software Version 7.3[CP/OL- ̄.http://bs. hhi.de/suehring/tml/,2005. (上接第102页) 输出采集的图像还是输出叠加字符。这样通过DSP和 FPGA的配合,可以灵活地叠加任何字符,DSP可以根 据系统的任何状态变化来改变字符叠加RAM中的值, 因此保证系统具有良好的人机交互界面。 3结语 r2]Falcon SA 1.4M100 Camera USeE S Manua1.DALSA,2007. [3]Specifications of the Camera Link Interface Standard for Digital Cameras and Frame Grabbers,2000. r4]TM¥320C6416 User S Manual,2003. [5]张雄伟,曹铁勇.DSP芯片的原理与开发应用[M].2版.北 京:电子工业出版社,2000. [6]李尊民.电视图像自动跟踪的基本原理[M].北京:国防工 以高性能DSP和FPGA为核心,对Camera Link 业出版社,1998. 接El的数字相机进行图像采集,采用数字图像处理技 术,建立了一个实时的图像跟踪系统。该系统体积小、 重量轻、可靠性高,具有良好的人机交互界面,已经成功 地应用在实际项目中。 参考文献 [7]朱玉文,阎文娟,何鑫.一种嵌入式实时图像跟踪系统设计 [J].计算机工程与应用,2003,39(35):119—121. [8]宋家慧.图像跟踪系统中视频处理的硬件设计[J].电子工 程师,2005,31(3):46—48. -19]苗常青,汪渤,付梦印,等.实时CCD成像跟踪处理系统研 究[J].红外与激光工程,2005,34(3):310—313. [1O]段德军,向健勇,孙勃.基于FPGA的实时图像跟踪系统 [1]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航 天大学出版社,2003. 1O6 [J]。红外技术,2004,26(5):58—61.