APP下载

对特定模式进行预判的H.264 帧间快速编码算法

2011-02-21刘鹏宇何絮贾克斌

兵工学报 2011年4期
关键词:码率编码预测

刘鹏宇,何絮,贾克斌

(北京工业大学 电子信息与控制工程学院,北京100124)

H.264/AVC(以下简称H.264)是由国际电信联盟和国际标准化组织共同开发的新一代视频压缩标准,具有更高的压缩效率。它采用了最新的视频压缩技术,如1/4 像素精度运动估计、多参考帧与多模式的帧间预测,去块效应滤波器等,因此具有众多突出优点[1]: 对信道时延的适应性较强,既可工作于低时延模式,如会议电视,以满足实时业务; 又可工作于无时延限制的场合,如视频存储。在相同的重建图象质量下,不仅H.264 比H.263 +和MPEG-4 减小了约50%的码率[2],同时将编码压缩效率提高了1 倍。

H.264 采用遍历的基于率失真代价最优模式选择算法,在获得较高编码效率的同时导致了编码计算量的急剧增加,其计算复杂度约为H.263 的4~5倍,是MPEG-4 的3 倍[3],如此高的复杂度使得H.264很难直接应用于对实时性要求较高的场合。分析表明,在H.264 巨大的编码计算量中,帧间模式选择和运动估计约占据了编码开销的80%,因此对帧间预测编码进行优化,尤其重要。如何在不损失图像质量、无码率增加的前提下,优化帧间预测算法,提高H.264 的编码速度,已成为目前视频编码领域的重要研究方向之一。文献[4]提出利用离散余弦变换系数计算该块的能量,获得宏块的纹理复杂度并划分模式选择,优化效果较好,但在变换域嵌入优化编码,会影响算法通用性,需重新设计解码器;文献[5]提出了基于低运算复杂度视频的帧间预测快速算法,编码时间节省十分优异,不过在应用范围上还可以做进一步扩展; 文献[6]分析了选择帧间各模式的域值和参数设定,但在帧内模式判决方面还可以继续改进。本文针对H.264 帧间编码的特点,在详尽分析上述帧间预测编码优化算法的基础上,根据帧间各预测模式的概率统计特性,对特定模式进行预判以提前终止不必要的宏块搜索和率失真代价计算,提出了新的基于特定模式选择的帧间快速编码算法,在有效降低帧间预测复杂度的同时,仍然能够保持很好的图像质量和压缩性能。

1 H.264 帧间预测模式选择

1.1 H.264 帧间预测模式选择方法概述

帧间预测是H.264 视频压缩的关键技术之一,通过利用己经重建的参考帧对当前帧进行预测编码,只对当前块与参考块的运动矢量以及相应的运动补偿残差值进行编码,可以有效消除视频编码中的时间冗余,提高编码效率。在H.264 视频编码标准中,帧间预测采用多模式运动估计,支持可变尺寸块的宏块分割和亚分割以及帧内预测,共有7 种帧间编码模式:

ModeP∈{ SKIP(mode0),{ 16 × 16(mode1),16 ×8 (mode2),8 ×16(mode3),8 ×8(mode4)},{I16 MB,I4 MB}}

在选定8 × 8 模式的情况下,需要进行8 ×4(mode5),4 ×8(mode6)和4 ×4(mode7)3 种亚分割模式。

H.264 标准帧间预测编码算法采用率失真优化方法,通过遍历计算所有帧间预测模式的绝对误差和(SAD),得到各模式的率失真代价值(RD cos t),并根据率失真优化准则选择最佳编码模式。H.264使用拉格朗日率失真优化策略,其目标是在给定的码率约束条件下使失真达到最小,通过率失真优化(RDO)选择RD cos t 值最小的模式作为最佳帧间预测模式进行编码。

式中:M,N 分别为宏块的宽和高; s 为源视频信号;c 为解码视频信号。

式中:m =(mx,my)T为运动矢量; p =(px,py)T为预测的运动矢量;λMotion为拉格朗日运动模式乘数因子;R(m-p)为运动矢量差值所需的二进制位数。

1.2 各种帧间预测编码模式的统计特性

视频图像基本可以分为背景纹理平坦区域、背景纹理细致区域和运动区域3 大类: 通常背景纹理平坦区域在视频内容中占有很大比重[7],对于这类平坦区域和运动平滑区域,大多采取SKIP 模式或者宏块级编码模式(mode1~mode3)进行预测;在运动复杂的情况下需要使用更多的编码模式进行预测,才会使用到亚分割预测模式(mode4~mode7);只有在视频图像的边缘部分才会使用到帧内预测模式(I16 MB,I4 MB),因此其出现的几率非常低。

以H.264 的JM10.2 测试模型为实验平台,在1 G内存,1.6 GHz 主频的计算机上运行,对标准视频序列进行测试,得到的帧间预测编码中各种模式使用的统计结果如表1所示。

表1 帧间编码中各种模式的统计概率分布Tab.1 Mode distribution in inter-frame encoding %

由表1可见,对于Akiyo、Silent 等背景平坦的视频序列较多采用了宏块级编码模式,而Foreman、Football 等纹理细腻且运动剧烈的序列较多使用亚分割编码模式;整体上宏块级预测明显多于亚分割预测,SKIP 模式平均所占比重约为50%,Inter16 ×16 模式也达到17.7%,帧内预测模式只有1.2%.

上述实验结果和已有文献[8]都表明,可以根据帧间预测模式统计特性进行预先判决,分集筛选,以排除掉出现机率很小的编码模式,提高编码速度,大幅节省H.264 的编码时间。

2 基于模式选择的帧间快速算法

2.1 SKIP 模式的预判

SKIP 模式是指不经过运动估计,可直接以参考帧中对应位置的宏块作为运动补偿块,其复杂度很小不包含运动信息,在通常的视频序列中,相邻图像之间普遍存在着时间相关性,在变化缓慢的区域中SKIP 模式占有相当大的比重。因此在对所有其它模式进行遍历前做出对SKIP 模式的预判,可以极大减少运动搜索以及计算率失真代价的开销。

在H.264 标准中,被判决采用SKIP 模式的宏块须同时满足以下4 个条件: 运动补偿的最佳宏块划分方法为16 ×16; 参考帧为当前帧的前一帧; 运动搜索出的最佳运动向量和运动向量预测值完全一致;当前宏块与参考宏块的残差经变换量化后系数全部为0.为了简化这一复杂的判定流程,在保证低误判率的前提下,本文提出利用自适应域值的方法来提前判定SKIP 模式:

1)计算SKIP 模式(mode0)的率失真代价值Jskip,如果小于域值T 则停止对其他模式的搜索,选定SKIP 作为最佳预测模式,否则执行步骤2).

2)计算Inter 16 ×16 模式(mode1)的率失真代价值J16×16,如果J16×16>Jskip,则仍选定SKIP 作为最佳编码模式。

根据宏块率失真代价的大小,设定相应的调整系数,经过实验数据的修正并本着简洁和自适应的原则,域值T 设定为

式中Min_cos t 为前一个编码宏块的最优率失真代价值。

2.2 Inter 16 ×16 模式的提前判决

如表1所示Inter 16 ×16 平均占所有编码模式的17.7%,在不满足选择SKIP 模式的条件下,预判出是否选择Inter 16 ×16 模式意义重大,具体步骤为:

1)计算Inter 16 ×16 模式和Inter 8 ×8 模式的率失真代价,即J16×16和J8×8.

2)若J8×8-J16×16>T0,则选定Inter 16 ×16 模式作为最佳编码模式。

这里T0=0.2Min_cos t,是根据实验数据得出的自适应经验域值,可以在保证快速判决模式的同时,尽量减少误判率。

2.3 帧内模式的提前判决

H.264 帧间编码并不排斥帧内模式,尽管帧内模式被选定的比例很小,但对帧内模式率失真代价计算开销却占到总遍历编码时间的20%.如果直接忽略帧内预测,虽然可以大幅节省编码时间,但会影响算法的适用范围。本文提出了基于宏块时空相关性的帧内模式提前判决策略:

1)计算宏块的平均边缘误差值(ABE)与边缘误差总和(SBE),平均边缘误差值反映了宏块的时间相关性;

式中:Yorig为当前编码宏块的像素值; Yrec为重构宏块的像素值。

2)计算宏块的平均比特率(AR),平均比特率反映了宏块的空间相关性

式中:λ 为拉格朗日乘数因; Rate 为宏块编码所需的比特数。

3)比较宏块的平均边缘误差和平均比特率,若ABE<CAR (C =0.95),则说明该宏块的空域冗余小于时域冗余,可以提前中止对帧内模式的遍历。

经过上述步骤的预处理,既可以节省因遍历帧内模式所带来的巨大计算开销,又不会因为丢失对帧内预测的计算而造成图像质量的损失。

2.4 帧间快速预测编码算法步骤

在基于率失真代价的H.264 标准帧间预测算法的基础上,结合上述SKIP,Inter 16 ×16 和帧内模式提前判决策略和各帧间编码模式统计特性,本文提出的快速算法流程如图2所示。

1)计算SKIP 的率失真代价值(Jskip),如果Jskip小于自适应域值T,则直接跳转至步骤8),选择SKIP 模式作为最佳预测模式。否则进行步骤2).

2)计算帧间16 × 16 模式的率失真代价值(J16×16),如果J16×16>Jskip,则仍然选择SKIP 模式作为最佳预测模式,跳转至步骤8).否则进行步骤3).

3)计算帧间8 × 8 模式的率失真代价值(J8×8),如果J8×8与J16×16之差大于门限T0,则选定帧间16 ×16 模式作为最佳预测模式,跳转至步骤8);否则进行步骤4).

4)计算帧间4 × 4 模式的率失真代价值(J4×4),如果J4×4同时小于J16×16和J8×8,则对该宏块进行亚分割,在小块模式中选择SAD 值最小的模式作为帧间备选模式。否则进行步骤5).

5)忽略亚分割预测,计算16 ×8 和8 ×16 模式的率失真代价值,在大块模式中比较,选择SAD 值最小的模式作为帧间预测备选模式。

6)判断是否需要进行帧内预测,如果不需要帧内预测则选定帧间预测备选模式作为最佳预测模式,跳转至步骤8);否则进行步骤7).

7)计算帧内4 ×4(JI4MB)和16 ×16(JI16MB)模式的率失真代价,如果帧内的最小率失真代价小于帧间预测备选模式,则选择帧内作为最佳预测模式;否则将帧间备选模式作为最佳预测模式。

8)以最佳预测模式开始进行帧间预测编码。

整体帧间快速预测编码算法的流程图如图1所示。

图1 帧间快速预测编码算法流程图Fig.1 Flow chart of inter-frame prediction algorithm

3 仿真结果与分析

与表1实验条件相同,测试本文提出算法在编码时间、输出码率和输出图像质量三方面与H.264标准算法作比较,验证本算法的优化效果。优化效果计算公式分别记为:

编码时间优化效果ΔT% =(JM10.2 测试模型编码时间-本算法编码时间)/JM10.2 测试模型编码时间。

码率优化效果ΔB% =(JM10.2 测试模型输出码率-本算法输出码率)/JM10.2 测试模型输出码率。

图像质量优化效果=ΔPSNR =JM10.2 测试模型输出图像质量-本算法输出图像质量。

测试标准视频序列的前30 帧,序列结构为IPPP,QP 值为30,实验结果如表2所示。

由表2可见,本文提出的快速算法在基本不影响输出视频图像质量的前提下,平均节省编码时间69.59%,最高节省80.40%,优化效果十分明显,码率平均减少0.54%.对于图像运动平滑的视频序列,如Claire、Container、Akiyo 等,节省编码时间均超过75%,同时还可以降低码率。编码速度优化效果明显优于文献[6],与文献[4 -5]相比本文算法在通用性和适用范围上有了提高。

图2~图5分析了以Claire、Foreman 为典型代表的运动平滑和纹理复杂的两类视频序列,由图2和图4可见,在不同的QP 条件下,本文算法的输出码率基本与标准算法相当,很好的保持了H.264 低码率这一突出优势。由图3和图5可见,在不同的QP 条件下,本文算法在编码时间上明显优于标准算法,特别是对于平坦的视频片断,曲线平滑,优化效果明显而且稳定。

表2 快速算法同H.264 标准算法的性能比较统计表Tab.2 Comparison of fast and standard algorithms of H.264

图2 Claire 视频序列码率的优化效果Fig.2 Optimization result in bit-rate of Claire

图3 Claire 视频序列编码时间的优化效果Fig.3 Optimization result in encoding time of Claire

图4 Foreman 视频序列码率的优化效果Fig.4 Optimization result in bit-rate of Foreman

图5 Foreman 视频序列编码时间的优化效果Fig.5 Optimization result in encoding time of Foreman

4 结论

本文提出了新的基于特定模式选择的快速帧间编码预测算法,通过对SKIP、Inter 16 ×16 和帧内模式的预判以及对各帧间预测模式统计特性的分析,对H.264 帧间预测编码算法进行了优化。实验仿真结果表明,本文提出的快速算法对具有不同运动复杂程度的视频序列均具有理想的优化效果,通用性良好。本文算法能够很好地克服原H.264 标准算法实时性差的缺陷,在不影响图像质量和码率,保持原输出码流结构的前提下,大幅提高了编码速率,尤其适用于会议电视、可视电话等实时应用场合。

References)

[1]Luthra A,Sullivan G J,Wiegand T.Introduction to the special issue on the H.264/AVC video coding standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7):557 -559.

[2]Sullivan G J,Wiegand T.Rate-distortion optimization for video compression[J].IEEE Signal Processing Manazine,1998,15(6):74 -90.

[3]Lappalainen V,Hallapuro A,Hämäläinen T D.Optimization of emerging H.26L video encoder[C]∥IEEE Workshop on Signal Processing Systems-Design and Implementation.Antwerp: Institute of Electrical and Electronics Engineers Inc,2001: 406 -415.

[4]Tian L,Zhou Y M,Sun S X.Optimal complexity prediction approach for H.264/AVC inter frame encoding[J].Journal of Information and Computational Science,2010,7(4): 855 -862.

[5]Chien-Da Wu,Yinyi Lin.Efficient inter/intra mode decision for H.264/AVC inter frame transcoding[C]∥Proceedings of the 16th International Conference on Image Processing.Piscataway: IEEE,2009: 697 -700.

[6]Fan J L,Chen Y,Zhang X D.A novel fast inter mode decision for H.264[C]∥Processings of the 8th International Conference on Signal.Piscataway: IEEE,2006: 16 - 20.

[7]干宗良,齐丽娜,朱秀昌.H.264 中基于先验预测的帧间编码模式选择算法研究[J].电子与信息学报,2006,28(10):1883 -1887.GAN Zong-liang,QI Li-na,ZHU Xiu-chang.Interframe video coding mode decision algorithm based on prior detection in H.264[J].Journal of Electronics & Information Technology,2006,28(10):1883 -1887.(in Chinese)

[8]藤国伟,张兆扬,张一钧,等.一种基于H.264/AVC 的帧间模式快速判决算法[J].光电子·激光,2005,16(7): 866 -870.TENG Guo-wei,ZHANG Zhao-yang,ZHANG Yi-jun,et al.Fast mode decision algorithm in inter pictures based on H.264/AVC[J].Journal of Optoelectronics·Laser,2005,16(7): 866 -870.(in Chinese)

猜你喜欢

码率编码预测
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
选修2—2期中考试预测卷(A卷)
移动视频源m3u8多码率节目源终端自动适配技术
生活中的编码
一种基于HEVC 和AVC 改进的码率控制算法
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
Genome and healthcare