首页>论文>正文
日期
01/20
2020
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

H.264/AVC快速帧内预测模式选择算法
收藏
2020-01-20 15:48:49来源: 中国视觉网

   摘  要: H.264引入帧内预测并采用拉格朗日率失真优化(RDO)技术来选择最佳帧内预测模式,提高I帧的编码效率,但也大大增加了编码的计算复杂度。为了降低计算复杂度,本文根据帧内预测算法特征提出了一种基于像素方向相关性的帧内预测模式快速选择算法。实验结果表明:该算法在保证图像质量和比特率大致不变的前提下,极大地降低了帧内预测编码的计算复杂度。

   关键词:视频编码;H.264/AVC;率失真优化;帧内预测;模式选择

1  引 言

   H.264是ITU-T(国际电信联合会)的VCEG (Video Code Expert Group)和ISO(国际标准化组织) 的  MPEG(Motion Picture Expert Group)两个国际标准化组织的视频编码专家组成的JVT(Joint Video Team)开发的新视频编码标准。该标准已于2003年3月正式通过ITU-T审定并在国际上颁布。与以往的视频编码标准相比,H.264具有更高的视频压缩比,更好的图像质量和网络亲和性。因此,H.264标准可以广泛应用于数字视频存储、IPTV、数字卫星广播等场合。

   H.264采用的仍是传统基于块的混合编码方法,它的性能提高在于采用了大量新技术。这些技术包括1/4像素运动估计、更精确的帧内预测编码、4×4 DCT变换、权重预测、多参考帧以及SP/SI片、环路滤波、新的熵编码方法等[1]。

   帧内预测编码是H.264的一个重要组成部分。它根据多数相邻像素具有类似性质的特点,充分利用图像的空间相关性以进一步提高压缩效率,对编码器整体性能的提高具有重要的作用。

   为了获得较高的编码质量,H.264采用拉格朗日率失真优化(RDO)技术来选择最佳帧内预测模式[2]。对于当前宏块,H.264 通过遍历计算各种帧内预测模式组合的率失真(RD)值,选择具有最小RD值的模式作为最佳帧内预测模式。由于H.264支持的帧内预测模式很多,一个宏块需要完成M8×(M4×16+M16)=592次帧内预测模式组合的RD计算,才能获得最佳帧内预测模式,所以计算复杂度很高。

   由前面分析可知,减小帧内预测计算复杂度的方法可以分为两类,一是改进代价函数,二是缩小候选预测模式的范围。文献[3]就是属于第二类方法。该文献直接利用空间域的特征,根据边界方向直方图预先排除一些可能性小的预测模式,从而减小计算复杂度。该方法的缺点是需要增加额外的比特开支。

   本文提出了一种简单、高效的快速帧内预测模式选择算法。该算法在保证较好的图像质量和比特率大致不变的情况下,利用编码块内像素方向的相关性减少了4×4亮度块候选预测模式的数目和RD值的计算次数,从而降低帧内预测的运算复杂度。

2  H.264/AVC帧内预测编码技术

2.1  帧内预测算法

   H.264分别对亮度分量和色度分量进行帧内预测,共支持9种Intra_4×4和4种Intra_16×16帧内亮度预测模式,以及4种帧内色度预测模式[4]。

   对于4×4亮度块,H.264利用其上方和左方已编码并重构好的像素按照图1所列9种预测模式进行帧内预测编码。Intra_4×4适用于具有较多细节图像的帧内预测。

   H.264还为16×16亮度块提供4种帧内预测模式,分别为垂直预测模式、水平预测模式、直流预测模式和平面预测模式。Intra_16×16适用于平滑图像的帧内预测。

   色度块的帧内预测模式与16×16 亮度块的帧内预测模式相似,也有4 种:模式0,直流(DC)预测;模式1,水平预测;模式2,垂直预测;模式3,平面(plane)预测。

2.2  帧内预测模式选择算法

H.264 采用拉格朗日率失真优化技术选出最佳帧内预测模式,对一个宏块进行帧内预测的具体过程如下[56]

1)对于8×8色度块选择一种帧内预测模式建立相应的帧内预测块。

2)按遍历的方法分别计算4Intra_16×16帧内预测模式的代价(Rdcost16×16)选择具有最小代价(Rdcost16×16)的模式作为16×16亮度块的最佳帧内预测模式。

3)对于4×4亮度块选择一种帧内预测模式建立相应的帧内预测块。

4) 用拉格朗日率失真函数计算该预测模式下的代价(Rdcost4×4)

5)重复以上3)4)步,遍历所有94×4亮度块帧内预测模式,选择具有最小代价(Rdcost4×4)的模式作为4×4亮度块的最佳帧内预测模式。

6)对宏块中164×4亮度块重复以上3)5)步,获得每一个4×4亮度块的最佳帧内预测模式和相应的代价Rdcost4×4,进而获得该宏块的率失真开销。

7)根据2)6)中最小的宏块率失真开销判断该亮度宏块采用4×4块模式或16×16块模式。

8)重复以上1)7)步,遍历所有48×8色度块帧内预测模式,获得相应的宏块模式组合率失真开销RdcostMB,选择具有最小RdcostMB的模式作为该宏块的最佳帧内预测模式。

3 Intra_4×4快速帧内模式选择算法

Intra_4×4帧内预测方法用于对图像细节部分进行编码。它的基本思路是从不同方向计算、比较块中各个像素之间的亮度差值,即梯度值,选择具有最小预测误差的方向作为最佳预测方向。

   根据此基本思路,本文利用块中像素方向上的相关性,提出两个模式选择准则,选择出符合条件的候选预测模式,再对这些候选预测模式采用SATD平均值排除法[6],挑选出最终的候选预测模式,从而缩小了候选预测模式范围,大大降低了帧内预测的计算复杂度。

3.1  模式选择准则一

首先根据表1所列公式计算出除DC预测模式以外的其它8种预测模式的cost,然后进行排序,选择其中具有最小和次小cost的两种预测模式作为候选预测模式。因为DC预测模式没有方向,所以列为每次候选预测模式的必选项。其中表1所列公式中ab等元素如图2所示,ab……p4×4亮度块中16个待预测的像素点。

3.2  模式选择准则二

   首先根据图2对4×4块进行分割,得到A、B、C、D4个2×2块,并对这4小块求和,把相应的和也记为A、B、C、D。


3.3  SATD平均值排除法

   在H.264中,SATD(Sum of Absolute Hadamard-Transformed Difference)定义如式(3)所示:,其中是当前块与预测块差值的哈达玛变换的第个元素。

   SATD与拉格朗日率失真函数具有很强的相关性,但具有较低的计算复杂度,因此本文利用SATD作为判断准则,提出SATD平均值排除法。即分别计算出模式选择准则一和模式选择准则二所选出的候选预测模式的SATD值,然后设定阈值T为其SATD值的平均值,从而排除SATD值大于T的候选预测模式,留下SATD值小于等于T的预测模式作为最终候选预测模式。

3.4  快速帧内模式选择算法描述

   本文所提出的快速算法着重对4×4亮度块的预测模式选择算法进行改进。快速算法对一个宏块进行帧内预测的具体过程如下:

   1)对当前4×4亮度块根据模式选择准则一和模式选择准则二选出候选预测模式。

   2)对步骤1)所选出的候选预测模式,用SATD平均值排除法进行再次筛选,得出最终候选预测模式。

   3)选择一个最终候选预测模式产生预测块。

   4)用拉格朗日率失真函数计算该帧内预测模式的代价(Rdcost4×4)。

   5)重复3)~4)步直至所有候选预测模式计算完毕,选择具有最小代价(Rdcost4×4)的模式作为4×4亮度块最佳帧内预测模式。

   在快速算法中,16×16亮度块和8×8色度块的帧内预测编码方法与原全搜索算法相同。实验结果表明(见表3),快速算法在保持PSNR和比特率基本不变的前提下,有效地减少了4×4块候选预测模式数,从而减少了RD的计算次数,使得计算量大大减少,提高了编码速度。

4  实验结果

   本文的实验平台为Intel Pentium M1.6G、512M内存、操作系统为Microsoft XP,所采用的测试软件为JVT所提供的JM10.2[7],在全I帧格式下,使用哈达玛变换、RDO技术,CABAC熵编码,=24、28、32,分别测试了不同类型的QCIF格式和CIF格式的测试序列。表4、表5给出了本文所提出的快速算法与参考代码中全搜索算法的结果比较。表6则给出了本文所提出的快速算法与文献[8]的结果比较。其中CHG_T表示序列编码时间的变化,CHG_B表示序列码率的变化,CHG_PSNR表示峰值信噪比的变化,“+”表示增加,“-”表示减少。

   实验结果表明,本算法在保持PSNR和比特率大致不变的前提下,编码速度比原全搜索模式决策算法提高了45%左右,比文献[8]所提出的模式决策算法的编码速度则提高了约十个百分点。

5  结束语

   本文重点分析了H.264/AVC标准中帧内预测算法技术细节,并针对H.264参考代码中帧内预测模式选择算法计算复杂度较大的弊端,提出了一种基于块内像素方向相关性的快速帧内预测模式选择算法。快速算法强调了DC预测模式的重要性,并结合两个模式选择准则和SATD平均值排除法预先对候选模式进行筛选,从而加速了帧内预测模式中最耗时的4×4亮度块模式抉择过程。实验结果表明快速算法效果显著,可大幅度降低帧内预测编码的计算复杂度。

参 考 文 献

[1]Thomas Wiegand, Gray J.Sullivan, Overview of the H.264/AVC Video Coding Standard[S], IEEE Transactions on Circuits and Systems for Video Technology, 2003.

[2] Till Halbach. Performance comparison: H.26L intra coding vs. JPEG2000[R]. ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6, JVT 4thMeeting Klagenfurt, Austria, 2002.

[3]PAN F, L IN X, RAHARDJA S, et al. JVTG013, Fast Mode Decision for Intra Prediction[S]. JVT of ISO/IEC MPEG&ITU-TVCEG, 2003.

[4]Iain E G Richardson.H.264/MPEG 4 Part 10 White Paper: Prediction of Intra Macroblocks. http://www.vcodex.com/h264.html

[5]Wiegand T, Schwarz H, Joch A, et al. Rate constrained coder control and comparison of video coding standards [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2003, 13(7):688-703

[6] 裴世保,李厚强,俞能海. H.264/AVC帧内预测模式选择算法研究[J]. 计算机应用,2005,25(8):1908-1810

[7]  JM Reference Software. Version 10.2.http://ftp3.itu.ch/av-arch/

[8]Cheng, C.C., Chang, T.S. Fast three step intra prediction algorithm for 4×4 blocks in H.264. Circuits and Systems, 2005, 2:1509-1512.