应用模糊隶属度的H.264帧内预测模式快速选择*
2010-06-25张有会王志巍杨会云霍利岭
赵 金,张有会,王志巍,杨会云,霍利岭
(河北师范大学 数学与信息科学学院,河北 石家庄 050016)
1 引言
H.264[1]是ITU-T VCEG和ISO MPEG联合颁布的新一代视频压缩标准,与之前的视频压缩标准及技术相比,H.264不仅压缩性能更高,而且具有良好的网络适应特性。
帧内预测是H.264的重要组成部分,它通过利用图像的空间相关性来提高压缩效率。然而帧内预测算法复杂度很高[2],以至于它不能应用于实时性要求高的场合,一些快速算法正是在这种情况下出现的。目前,减小帧内预测复杂度的方法大致可分为两类:一类是简化代价函数,另一类是缩小预测模式选择的范围。对于第二类方法,可以利用当前块及其周围像素的某些特征,预先排除某些可能性小的预测模式,或提前终止某些可能性小的模式的代价计算,由此降低帧内预测的复杂度。Pan Feng等[3]提出了基于边缘方向直方图的帧内预测模式快速选择算法,使得对每个4×4像素块只需要进行3~4个预测方向的计算;罗亮等[4]充分利用像素块的纹理特性及相邻块预测模式的相关性,将4×4亮度块的候选模式从9种降低到1~4种;文献[5]利用SAD值对Intra_4×4方式进行预判,根据SATD特征排除可能性小的Intra_4×4预测模式,提高编码速度。
笔者充分利用图像块本身的特征,提出了一种帧内预测模式快速选择算法。根据隶属度函数预先判断宏块的平坦程度,确定宏块类型,进而判定块的纹理方向,缩小预测模式选择范围,从而实现快速、有效的帧内预测模式选择。
2 H.264的帧内预测算法
2.1 H.264的帧内预测模式
对亮度信息,H.264提供了2种帧内预测方式:基于16×16 宏块的预测方式(Intra_16×16)和基于 4×4 块的预测方式(Intra_4×4)。对色度信息,预测是基于8×8块进行的。
H.264支持 4种 Intra_16×16预测模式,8×8色度块只是预测模式的顺序与Intra_16×16有所不同。Intra_4×4方式提供了9种预测模式。
图1 Intra_4×4帧内预测模式
2.2 H.264的RDO帧内预测算法[6]
在H.264的帧内预测模式下,采用全搜索方式来寻找率失真代价(RD_Cost)最小的模式作为最优编码模式
式中:SSD为误差平方和,表示当前块与重建块差值的平方和;λmode=0.85×2(QP-12)/3, QP 为量化参数;Rate为熵编码后的码率。确定最优编码模式的步骤如下:
1)分别计算宏块中的每个4×4块在9种模式下的代价RD_Cost,把每个4×4块对应的最小的RD_Cost相加得到该宏块Intra_4×4方式下的RD_Cost。
2)分别计算宏块在4种模式下的绝对误差和SAD(Sum of Absolute Difference),选择 SAD 最小的模式,然后计算该模式下RD_Cost得到该宏块Intra_16×16方式下的 RD_Cost。
3)比较 Intra_16×16方式和 Intra_4×4方式下的RD_Cost,选择RD_Cost最小的模式作为该宏块的帧内预测模式。
由计算过程可知,为了确定一个宏块的帧内预测模式,需计算大量不同的模式组合,而且RD_Cost计算量相当大,因此,帧内预测模式选择的计算复杂度非常大。
3 帧内预测模式快速选择算法
对于亮度块的预测,存在Intra_16×16和Intra_4×4两种帧内预测方式,通常Intra_4×4适合于纹理比较丰富的区域,而Intra_16×16适合于较为平坦的区域。而全搜索算法不能预先判断出宏块所属的帧内预测方式,要对两种帧内预测方式分别进行检测。如果能够提前对宏块是否平坦作出判断,就可以预先判断出预测模式所属的帧内预测方式,而不需要对两种方式都进行测试。这既在一定程度上缩小了候选模式的范围,也降低了模式决定过程的复杂度。
因此,本算法分两步进行帧内预测:首先进行宏块类型的判定,即判定宏块是否平坦,由此确定当前宏块采用Intra_16×16模式预测还是采用Intra_4×4模式预测;然后对Intra_4×4模式进行最佳预测模式判定,即通过判定纹理类型,进一步将预测模式锁定在较小的范围内,在此范围内计算最佳预测模式。
3.1 模糊隶属度
本文算法主要是基于模糊隶属度进行帧内预测。
在采用模糊技术时,整个算法的关键是隶属度函数的设计,隶属度函数的不同对算法的处理结果以及算法实现的难易程度产生的影响也不同,这要求隶属度函数必须能准确客观地反映系统中样本存在的不确定性。目前有很多构造隶属度函数的方法,但还没有一个可遵循的一般性准则。在处理实际情况时,通常需要根据经验针对具体问题来确定合理的隶属度函数。
本文算法是基于参考文献[7]的隶属度函数进行设计的。在参考文献[7]中,对于某一像素点x,定义x点的模糊隶属度函数为其对周围点的归属度
式中:x表示要处理的点,xi表示x邻域的点,λ为一常数,取为图像灰度均值的平方。从隶属度函数定义可知,uxi(x)越大,x与xi越相似,x与xi归为一类的概率越大。由此可见,模糊隶属度函数可以反映像素间灰度值的相似程度。文献[8]利用该隶属度函数进行图像平滑,取得了很好的效果。本文选择该隶属度函数进行宏块类型判定和4×4块模式选择。
3.2 应用隶属度函数的宏块类型判定
根据上述分析可知,要判断图像的平坦程度,可选择图像中各像素灰度值作为待处理元素,计算其关于图像灰度均值的隶属度,隶属度之和越大,表明各像素灰度值越接近,据此可以衡量图像中像素灰度的相似程度,从而判断图像的平坦程度。
对宏块进行模式预测前,先计算各像素灰度关于宏块灰度均值的模糊隶属度,根据隶属度之和从Intra_16×16模式与Intra_4×4模式中选择最优预测模式。为此,设定阈值T,若隶属度之和大于T,则说明宏块平坦,仅对Intra_16×16的模式进行择优;否则,说明宏块细节丰富,对Intra_4×4的模式择优。
通过大量的实验,并综合考虑PSNR、码率及编码速度的情况,确定阈值T为0.8。
3.3 应用隶属度函数的Intra_4×4预测模式快速选择算法
在H.264的帧内预测模式中,大部分的预测模式都是基于方向的,特别是4×4亮度块,9种预测模式中有8种是基于方向的预测 (如图2),在块的纹理方向上像素点的像素值是近似的。并且最优模式和次优模式往往具有类似的预测方向,即在预测方向图中最优模式和次优模式通常是相邻的。所以,可以选择最可能模式及其相邻的模式作为候选模式。这就为寻找Intra_4×4预测模式选择的快速算法提供了线索。
定义方向隶属度为某一方向上像素灰度值关于该方向灰度均值的模糊隶属度之和,和越大,表明该方向上像素灰度越接近,该方向越有可能是块的纹理方向。
对于 4 个主要方向(水平、垂直、45°和 135°方向),分别计算其方向隶属度,值最大的方向所对应的模式确定为主要候选模式,主要候选模式及其相邻模式连同DC模式一起作为最终的候选模式,在其中选择最优模式。
图2 4×4块的预测模式方向
3.4 帧内预测模式快速选择算法
基于上述原理,模式快速选择的步骤为:
1)计算各像素灰度值关于宏块灰度均值的模糊隶属度之和sum,与阈值T进行比较;
2)当sum≥T时,说明宏块平坦,采用全搜索算法进行Intra_16×16的模式择优;
3)当sum (1)分别计算 4个主要方向(水平、垂直、45°和 135°方向)的方向隶属度; (2)值最大的方向所对应的模式及其相邻模式连同DC模式一起作为候选模式; (3)对候选模式进行RDO计算,选取RD_cost最小的模式作为当前4×4块的最佳预测模式。 表1 主要候选模式及其相邻模式 为了验证本文快速算法的有效性,在H.264的官方平台JM13.2上对10个具有不同纹理复杂度的QCIF序列进行了测试,并在编码时间、输出码率和峰值信噪比(PSNR)3个性能指标上与全搜索算法作了比较。 测试的实验参数设置为:RDO有效;Hadamard变换有效;CAVLC熵编码;每个序列分别取100帧,并全部为I帧编码。分别在量化参数QP为24,28和32这3种情况下和全搜索算法进行比较,结果如表2所示。 表2 QCIF序列快速算法与原算法的比较 其中△t表示编码时间的变化、△Rbit表示码率的变化、△PSNR表示Y分量的峰值信噪比的变化。“-”表示比原来降低,“+”表示增加。 实验结果表明,本文提出的算法与原算法相比,可以节约36%左右的编码时间,码率平均增加2.58%,信噪比平均下降0.03 dB。 图3是标准视频序列coastguard在全I帧情况下JM13.2全搜索算法和本文算法的RD曲线的比较。 由图3可见,本文算法和全搜索算法的RD曲线基本重合,表明和全搜索算法相比,本文算法的率失真编码性能基本不变,但计算复杂度明显降低,编码时间减少,从而证明了本文算法的有效性。其他测试序列的RD曲线也说明了同样的结论。 图3 coastguard序列的RD曲线 本文利用模糊隶属度函数提出一种新的帧内预测算法,该算法预先从Intra_4×4与Intra_16×16两种预测模式中选择一种最佳预测模式,并通过判断纹理方向减少Intra_4×4的候选模式。实验测试表明,该算法的码率增加少,信噪比下降低,有效地缩短了编码时间,是一种快速的H.264帧内预测算法。该算法在基本保持H.264图像质量与编码效率的基础上,有效降低了帧内预测算法的复杂度。 [1]ITU-T Rec.H.264/ISO/IEC14496-10 AVC (Doc JVT 3/G050),Draft ITU-T recommendation and final draft international standard of joint video specifications[S].2003. [2]纪永昭,张颖,张兆扬.H.264帧内模式快速选择算法研究[J].电视技术,2004(9):8-10. [3]PAN F, LIN X, RAHARDJA S, et al.Fast mode decision for intra prediction[C]//JVT-G013,JVT of ISO/IEC MPEG&ITU-T VCEG.Thailand∶[s.n.], 2003. [4]罗亮,刘春生,周芦明.H.264/AVC快速帧内预测模式选择算法[J].计算机应用,2008,28(4):1006-1008. [5]谢翠兰,郑艺玲.基于SAD和SATD的H.264快速帧内预测算法[J].计算机工程,2008,34(10)∶215-217. [6]王维哲,周兵,张行进.H.264编码中的帧内预测模式选择算法[J].计算机工程,2008,34(2):226-231. [7]冈萨雷斯.数字图像处理[M].2版.阮秋琦,阮宇智,译.北京:电子工业出版社,2003. [8]韩彩夏,王晓宇.基于Mean-shift算法与模糊熵的图像平滑[J].计算机应用,2009,29(1):63-67.4 实验结果与分析
5 小结