H.264/AVC快速帧间模式选择算法

2015-03-30 11:01昂志敏
关键词:码率代价信噪比

聂 菁,昂志敏

(合肥工业大学 计算机与信息学院,安徽 合肥 230009)

视频编码专家组VCEG(Video Coding Expert Group)和运动图像专家组 MPEG(Moving Picture Experts Group)在2001年联合成立了视频专家组JVT(Joint Video Team),制定了新一代的视频编码标准H.264/AVC,并于2003年3月正式公布[1]。H.264/AVC采用了许多新技术,包括可变尺寸块运动补偿技术、多参考帧、基于上下文的自适应二进制算术熵编码(CABAC)等技术[2]。在 H.264/AVC标准中,采用率失真优化(RDO)技术遍历所有的预测模式,寻找率失真代价值最小的宏块模式作为最佳宏块模式。这种遍历的宏块模式选择过程提高了编码效率,但增加了计算复杂度。因此,寻找一种在保证编码质量的同时,降低编码复杂度的快速模式选择算法具有重要的研究意义。

文献[3]提出的快速算法是根据前一帧的编码信息及运动矢量代价来确定宏块模式;文献[4]基于视频对象纹理的空间同质性和视频序列中固有的时间平稳性特点提出了一种新的算法;文献[5]根据当前块的绝对残差和与基于已解码宏块模式信息的自适应阈值来跳过一部分宏块模式率失真代价值的计算;文献[6]利用时空中相邻宏块的信息来选择最佳模式及根据前一帧宏块来估计当前块的率失真代价值;文献[7]通过时空中的同质区域及分析帧间模式的运动代价和帧内模式的帧内预测代价来减少率失真优化过程的候选模式的数目。本文研究的快速模式选择算法利用宏块模式与avgJmotion之间的关系,根据16×16尺寸块运动估计后的代价函数值Jmotion(16×16)的范围对候选搜索块模式进行分类。然后,利用最佳模式和次最佳模式的率失真代价的关系以及时间相关性提前排除部分宏块模式。

1 快速帧间模式选择算法

1.1 率失真代价的计算

率失真代价包括Jmode和Jmotion。Jmode精确地计算出编码比特数而Jmotion只是对其进行了估计,从而降低了计算的复杂度。因此,编码器通过计算Jmotion来决定最佳运动矢量和参考帧数。Jmode和Jmotion最小的宏块模式分别被称为最佳模式和次最佳模式。

Jmotion的定义如下:

其中,SAD为当前块s与参考块r之间的绝对残差和;λmotion为拉格朗日乘子[8];R(MV,REF)为编码比特数。

Jmode定义如下:

其中,M、λmode分别为宏块编码模式和拉格朗日乘子;SSD(s,r,M)为原始信号和重建信号之间的率失真代价值的平方;R(s,r,M)为编码比特数。

1.2 P帧的快速帧间模式选择算法

1.2.1 基于avgJmotion的宏块模式分类

绝对残差和(SAD)用来度量当前块和参考块的像素值精度的差异。定义平均SAD值(包括运动矢量代价)如下:

其中,avgJmotion为已编码宏块的平均代价函数值;n为相应的宏块模式的频率。

在大多数情况下,小尺寸宏块模式的SAD值比大尺寸宏块模式的SAD值要大些。因此,对应于不同尺寸的宏块模式,SAD值有很大的差异,avgJmotion也不同。

在宏块模式选择的过程中,可以根据具有相同代价函数值的宏块模式来预测当前块的最佳宏块模式。例如,如果16×16块运动估计后的代价函数值Jmotion(16×16)接近于 avgJmotion(p8×8),那么 可以认为在宏块模式选择过程结束之前,宏块的最佳模式可能是p8×8子块模式中的一个。如果具体的宏块模式的代价函数值高度集中在一定的范围内,那么可以根据以下的方法来估计必要的候选搜索块模式,而不需要遍历所有的宏块模式。下面定义avgJmotion的范围。

其中,avgJmotion(large)包括16×16、16×8和8×16;avgJmotion(p8×8)包 括 8×8、8×4、4×8、4×4。Jbestmode是由最佳宏块模式编码的当前块的代价函数值。

对不同序列进行测试,测试序列包括Blue Sky、Container。量化参数QP选取28、32,结果见表1所列。

表1 宏块模式在avgJmotion的不同范围内的分布情况

由表1可以看出,SKIP模式最有可能在范围1内,p8×8子块模式在范围4内出现的概率最高,大块模式经常作为范围2的最佳模式。基于此,候选搜索块模式可以根据16×16尺寸块运动估计后的代价函数值Jmotion(16×16)的范围来确定。因此可以确定每个宏块模式的最有可能的范围,具体见表2所列。

表2 根据Jmotion(16×16)的范围对候选搜索模式集进行分类

1.2.2 排除很少被选为最佳宏块模式帧间条件

由Jmotion的最小值可以确定次最佳模式,根据次最佳模式就可以排除那些可能性很小的预测模式。同时,可以利用当前编码帧的前一帧的相应位置已解码宏块的最佳模式作为候选模式来预测当前块的最佳模式。

(1)帧间条件1:早期SKIP模式判决。SKIP模式编码时不需要残差信号和运动矢量,所需的编码比特数很少。如果SKIP模式被选为最佳宏块模式,那么就可以大大节省计算量,降低复杂度。早期SKIP模式判决条件如下:① 参考帧为当前帧的前一帧;②SKIP模式运动矢量与16×16尺寸块运动矢量相同;③ 运动补偿块的最佳大小为16×16;④ 经过变换量化后的残差为0。

(2)帧间条件2:排除16×8和8×16模式。①Jmotion(16×16) <Jmotion(16×8) 或Jmotion(16×16) <Jmotion(8×16);② 当前编码帧前一帧的相应位置已解码宏块的最佳模式是SKIP模式或16×16模式。

第1个条件是基于次最佳模式和最佳模式率失真代价之间的关系。第2个条件是依据当前块和对应位置宏块模式之间的时间关联性。当上述条件同时满足时,16×8和8×16模式被选为宏块最佳模式的概率非常低,可以排除16×8和8×16模式作为最佳模式。

(3)帧间条件3:排除p8×8模式。如果Jmode(16×8)、Jmode(8×16)、Jmode(16×16) 及Jmode(skip) 的最小值小于前一帧p8×8模式的平均代价函数值,那么p8×8模式很少被选为最佳模式;在这种情况下,可以排除p8×8模式。

1.2.3 P帧中的快速帧间模式选择算法

图1所示为本文的快速帧间模式选择算法的流程图。

图1 快速帧间模式选择算法流程图

具体步骤如下:

(1)计算Jmotion(16×16)和Jmode(16×16),为SKIP模式寻找运动矢量。

(2)根据早期SKIP模式判决条件判定最佳模式是否是SKIP模式,如果是,则最佳模式为SKIP模式;否则转步骤(3)。

(3)计算avgJmotion(skip)、avgJmotion(large)、avgJmotion(p8×8),根据Jmotion(16×16)的范围来对候选搜索模式集进行分类。如果在范围2,转步骤(4)步;如果在范围3,转步骤(5);如果在范围4,转步骤(6)。

(4)在范围2,说明候选搜索模式集是大块模式,根据帧间条件2判定是否可以排除帧间16×8和8×16模式,如果能,转步骤(7);如果不能,计算Jmode(16×8)、Jmode(8×16),转步骤(7)。

(5)在范围3,说明候选搜索模式集可能是大块模式和p8×8模式。根据帧间条件2和帧间条件3排除不可能的宏块模式,计算可能的宏块模式的代价函数值,转步骤(7)。

(6)在范围4,说明候选搜索模式集是p8×8模式,根据帧间条件3判定是否可以排除p8×8模式。如果能,转步骤(7);如果不能,计算Jmode(p8×8),转步骤(7)。

(7)计算Jmode(intra16×16)、Jmode(intra4×4),和所有可能的帧间宏块模式的代价函数值进行比较,从中选出代价函数值最小的作为最佳宏块模式。

2 实验结果

本文采用JVT参考软件JM11.0作为实验平台,对不同的测试序列进行了测试。量化参数QP选取22、27、32、37,测试结果见表3所列。表3中,PSDR表示信噪比的变化情况,单位为dB,如果结果为正,表示信噪比上升,否则为下降;Time表示时间变化情况,如果结果为负,表示编码时间减少,反之为增加;Bitrate表示码率变化情况,如果结果为正,表示码率增加,否则为减少。由表3可见,与JM原始算法相比,本文算法平均节省时间56.75%,信噪比下降0.06dB,码率增加0.58%,算法在信噪比下降和码率增加可以忽略的情况下,节省了编码时间,提高了编码性能。

表3 本文算法的实验结果

本文算法与Lee算法的实验结果见表4所列,虽然Lee算法节省的编码时间较本文多一点,但是本文的码率和信噪比的变化情况都要优于Lee算法[6]。表4中参数含义和单位同表3。

表4 本文算法和Lee算法的实验结果对比

3 结束语

本文提出了一种P帧的快速帧间模式选择算法。利用宏块模式与avgJmotion之间的关系,根据代价函数值Jmotion(16×16)的范围对候选搜索块模式进行分类,再利用最佳模式和次最佳模式的率失真代价之间的关系以及时间相关性提前排除一部分宏块模式。从实验结果可以看出本文算法平均节省编码时间56.75%,而信噪比下降只有0.06dB,码率增加0.58%。而且,本文算法与Lee算法相比,信噪比和码率情况较好。

[1]Wiegand T,Sullivan G J,Bjontegaard G,et al.Overview of the H.264/AVC video coding standard [J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7):560-576.

[2]毕厚杰,王 健.新一代视频压缩编码标准sout H.264/AVC[M].第2版.北京:人民邮电出版社,2009:76-117.

[3]Ahmad A,Khan N,Masud S,et al.Selection of variable block sizes in H.264[C]//Proc IEEE Int Conf Acoust Speech Signal Process,Vol 3,2004:173-176.

[4]Wu D,Wu S,Lim K P,et al.Block inter mode decision for fast encoding of H.264[C]//IEEE Int Conf Speech A-coustics and Signal Processing,Vol 3,2004:181-184.

[5]Bu J,Lou S,Chen C,et al.,A predictive block-size mode selection for inter frame in H.264[C]//Proc IEEE Int Conf Acoust Speech Signal Process,Vol 2,2006:917-920.

[6]Ri S H,Vatis Y,Ostermann J.Fast inter-mode decision in an H.264/AVC encoder using mode and Lagrangian cost correlation[J].IEEE Transactions on Circuits and Systems for Video Technology,2009,19:302-306.

[7]Lee J Y,Park H W,A fast mode decision method based on motion cost and intra prediction cost for H.264/AVC[J].IEEE Transactions on Circuits and Systems for Video Technology,2012,22(3):393-402.

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

猜你喜欢
码率代价信噪比
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
基于深度学习的无人机数据链信噪比估计算法
基于状态机的视频码率自适应算法
爱的代价
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
代价
保持信噪比的相位分解反褶积方法研究
成熟的代价