APP下载

H.264 High Profile的帧内预测模式快速判决算法研究

2012-09-17靳栀艳高志勇张小云

电视技术 2012年21期
关键词:宏块比特率复杂度

靳栀艳,高志勇,张小云,张 娅

(上海交通大学,上海 200240)

1 .H.264/AVC简介

H.264/AVC标准自提出以来,由于其卓越的性能受到了极大的关注。跟之前编码标准相比,H.264帧内预测支持多种块大小、多种模式,极大限度地利用编码宏块与其相邻宏块之间的空间相关性,来提高编码效率。

H.264帧内预测支持多种块大小:H.264 Baseline支持16×16和4×4共2种块大小,H.264 High Profile支持16×16、8×8和4×4共3种块大小。其中,Intra16×16支持4种模式,Intra8×8和Intra4×4则支持高达9种模式,如图1所示。

图1 多种块大小的帧内预测模式

H.264采用拉格朗日算子计算所有预测模式的拉格朗日代价,取最小代价值对应的模式为最优模式,这种算法也称为穷尽搜索算法。拉格朗日RDO代价函数定义为

其中,mode∈{Intra16×16的4种模式、Intra8×8的9种模式、Intra4×4的9种模式};QP是量化参数;λmode是拉格朗日算子;SSD代表原始亮度块和预测块的差值的平方和;R代表用于编码指定模式、宏块头和残差信息所需的总比特。

由于穷尽搜索估计比特数时,要对每1种模式都进行变换量化反变换反量化并进行编码,计算复杂度相当高,因此JM参考软件也支持另1种快速计算的代价计算函数

其中,SATD代表对原始亮度块和预测块的差值进行Hadamard变换后的绝对和,当前模式等于最可能模式时,P=0;否则,P=1。

2 帧内预测模式判决研究现状

由于RDO技术的高复杂性,近些年来,很多研究者们对H.264帧内预测模式判决方面做出了研究。

帧内预测模式判决可分为2个层次:块大小的判别和预测模式的判别。穷尽搜索由于遍历所有预测模式,确定模式后随之也确定块大小,所以并不严格区分块大小的快速判别。然而研究显示,通过宏块信息可对宏块的块大小进行粗略判别,可极大地减少计算时间。由于1个宏块可分为16个4×4块,而每个4×4块模式多达9种,复杂度极高,因此关于帧内预测模式判别的文章也多集中于减少4×4块的模式待选数上。

对于块大小的判别,文献[1]提出的方法是以宏块的纹理复杂度即宏块的方差作为依据,方差大的复杂度高,宏块细节丰富,只判别Intra4×4和Intra8×8两种块大小;方差小的复杂度低,宏块较为平坦,只判别Intra16×16和Intra 8×8两种块大小。文献[2]利用Intra16×16的最小值SATD值作为判别Intra16×16或Intra4×4的依据。

对于预测模式的判别,已有许多文献提出方法来降低H.264编码器的计算复杂度。总的说来,大体分为两种:一种是改造RDO判别公式,Tseng等人[3]将RDO判别公式改造为为SATD和1个比特率估计之和,文献[4]是利用SATD标准偏差信息来估计比特率;一种是减少进入RDO判决的待选模式个数,Pan等人[5]通过对每个像素使用sobel算子得到块的方向直方图信息来探测最可能方向,从而滤除不可能模式,A.C.Tsai等人[6]得到4×4块9个方向中像素差值最小的3个模式加DC模式共4个模式进入RDO判决,文献[7]利用SATD特征和图像空间相关性提出一种快速预测算法,文献[8]利用H.264帧内模式判决统计特性,SATD与率失真的相关性减少预测模式。以上算法都在视频的RDO性能影响不大的条件下提高时间30%~70%不等。

3 块大小判别算法

文献[2]中提出利用16×16的4种预测模式的最小SATD值作为判决宏块复杂度的依据,认为宏块细节平滑时,SATD16×16较小,更可能判决为16×16;反之宏块细节丰富时,SATD16×16较大,更可能判决为4×4。然而该算法没有考虑8×8块大小,不适合High Profile,因此本文基于SATD16×16提出High Profile的快速块大小判别算法。

为了发现块大小分布与SATD16×16之间的关系,对foreman、akiyo、sunflower、parkrun4 个序列在不同 QP 时16 ×16,8×8,4×4这3种块大小的发生概率进行了统计。图2显示了QP=28时foreman序列3种块大小随SATD16×16的分布规律。由图2可见,当SATD16×16值很小(小于阈值T 1)时,4×4概率很小,可能是16×16或8×8;大于阈值T 1小于阈值T 2时,3种块大小都有可能;大于阈值T 2小于阈值T 3时,16×16概率很小,可能是8×8或4×4;大于阈值T 3时,只可能是4×4。基于此观察,可以设置若干阈值来排除可能性不大的块大小。本文设置T 1为4×4概率为10%的临界点,设置T 2为16×16概率为10%的临界点,设置T 3为8×8概率为10%的临界点。因为不同的QP值产生不同复杂度的图像,可想而知,3个阈值会随QP产生偏移,例如QP=24时,T 2设为2 000;QP=28时,T 2设为2 100;QP=32时,T 2设为2 200。

图2 QP=28时16×16,8×8,4×4 3种块大小的SATD概率曲线

通过对不同QP值的观察,发现阈值与QP基本满足线性关系f(x)=ax+b,利用MATLAB拟合得到

另外,从图2 可见,当 SATD16×16很小时,如 QP=28,SATD16×16小于300时,虽然8×8发生的概率和16×16的概率相当,但是由于8×8传输预测模式的比特数可能比16×16大,只考虑16×16在不影响图像质量的情况下不仅可加快判决时间,而且可能减少比特数。因此可以在此设置阈值T,本文设为10 QP。

因此,提出的块大小判决算法可概括为

4 预测模式判别算法

4.1 利用8×8模式判决产生的信息

经观察发现,当最可能模式同时是SATD值最小的模式时,最可能模式往往是RDO判决后的最佳模式;另外,由于High Profile增加8×8模式,8×8模式判决后再继续4×4模式判决。每个8×8块判决后会产生1个最佳模式,而该最佳模式在4×4模式判决时还可以加以利用。也就是说每个8×8块分为4个4×4块,当此8×8块选择某种最优模式m并且该模式SATD值很小时,可认为该8×8块分成的4个4×4块都选用模式m。基于上述思想,取SATD值前4个模式进入RDO判决,并且增加判决条件。

case 1:假如最可能模式同时是SATD最小的模式时,最可能模式即为最优模式,不再进行RDO判决。

case 2:case 1不满足的条件下,假如8×8判决后的最优模式m的SATD值小于阈值T4(设为50)时,该8×8块分成的4个4×4块都选用模式m。流程图如图3所示。

图3 预测模式选择的流程图

4.2 增加提前终止决策

帧内预测依次计算16×16、4个8×8块最优模式的RDcost之和,16个4×4块最优模式的RDcost之和,再比较取最小RDcost值对应的块大小和模式。如果若干个8×8块或4×4块的 RDcost之和已经大于16×16的最小RDcost,即可提前终止模式判决,不必进行下1个8×8块或者4×4块的模式判决。

5 实验结果与分析

为验证本文算法的性能,从峰值信噪比变化量(简称ΔPSNR)、比特率变化率(简称ΔBR)及时间变化率(简称ΔT)进行考察,分别定义如下。

ΔPSNR=提出算法的PSNR-JM未改进的PSNR(5)

分别验证了提出的块大小判决算法、4×4预测模式判决算法及联合使用块大小判决和4×4预测模式判决算法在参考软件代码JM13.0上的性能,所有算法都与JM未进行任何改进的RDO优化性能进行比较。实验环境如下:

1)2.93 GHz Intel core 2,1.99 Gbyte RAM;

2)QP 值分别设为 20,24,28,32;

3)RDO优化打开,CABAC编码;

4)选用4个标准序列:CIF格式的foreman序列,QCIF格式的akiyo序列,1 080p的sunflower序列和720p的park_run序列;

5)100帧全I帧。

图4显示了4个序列与JM13.0的RDO性能对比,从图中可以看出,4个序列都与JM13.0的PSNR-比特率曲线基本吻合。

图4 RDO的性能对比图

表1显示了4个序列在不同QP下的块大小判决算法(block size)、预测模式判决算法(prediction mode)及联合使用(combined)的 ΔPSNR,ΔBR,ΔT的具体数值。从block size一栏可以看到,PSNR平均降低0.01 dB,比特率平均增加0.37%,时间平均减少35%;从prediciton mode一栏可以看到,PSNR平均降低0.03 dB,比特率平均增加0.39%,时间平均减少51.6%;从combined一栏可以看到,PSNR平均降低0.04 dB,比特率平均增加0.63%,时间减少平均61.2%。

表1 4个序列在不同QP下的块大小判决算法、预测模式判决算法及联合使用的ΔPSNR,ΔBR,ΔT的具体数值

6 小结

本文提出了1种适合High Profile的基于SATD值的帧内预测块大小快速判别算法和预测模式判别算法:块大小判别算法通过统计信息得到阈值,设定阈值可快速排除不可能的块大小,从而节省计算时间;预测模式判别算法利用SATD值和最可能模式及8×8块判决的最优模式之间的关系,进行快速判决。实验结果显示:在块大小判决可节省时间至44.4%,预测模式判别可节省时间至54.9%,联合使用两种算法可节省时间至64.40%,而PSNR-比特率性能影响很小(PSNR降低平均0.04 dB,比特率增加平均0.63%)。该算法简单有效,不仅可以用于不同编码标准中,也可用于转码系统中。

[1]HUANG Y H,OU T S.Fast decision of block size,prediction mode,and intra block for H.264 intra prediction[J].Circuits and Systems for Video Technology,2010,20(8):1122-1132.

[2]ZENG H,MA KK,CAI C.Hierarchical intra mode decision for H.264/AVC[J].Circuits and Systems for Video Technology,2010,20(8):907-912.

[3]TSENG C H,WANG H M,YANG J F.Enhanced intra-4×4 mode decision for H.264/AVC coders[J].Circuits and Systems for Video Technology,2006,16(8):1027-1032.

[4]LEE Y M,SUN Y T,LIN Y.SATD-based intra mode decision for H.264/AVC video coding[J].Circuits and Systems for Video Technology,2010,20(3):463-469.

[5]PAN F,LIN X,RAHARDJA S,et al.Fast mode decision algorithm for intra prediction in H.264/AVC video coding[J].Circuits and Systems for Video Technology,2005,15(7):813-822.

[6]TSAI A C,PAUL A,WANG J C.Intensity gradient technique for efficient intra-prediction in H.264/AVC[J].Circuits and Systems for Video Technology,2008,18(5):694-698.

[7]刘代如,宋昊,李晓辉,等.H.264中的一种快速帧内预测判决算法[J].电视技术,2007,31(4):10-11.

[8]王海勇,孙雁飞,吴启宗,等.H.264编码中帧内预测算法研究[J].电视技术,2009,33(8):11-12.

猜你喜欢

宏块比特率复杂度
基于运动估计与补偿的雷达拼图预测分析*
一种低复杂度的惯性/GNSS矢量深组合方法
基于多个网络接口的DASH系统设计与实现
求图上广探树的时间复杂度
相同比特率的MPEG视频双压缩检测*
某雷达导51 头中心控制软件圈复杂度分析与改进
基于选择特征宏块的快速视频稳像
出口技术复杂度研究回顾与评述
基于能量分配提高纠错码误比特率性能的研究
IP网络丢包条件下的H.264高清视频实时解码问题分析