H.264/avc多参考帧的快速选择方法

文档序号:7612979阅读:225来源:国知局
专利名称:H.264/avc多参考帧的快速选择方法
技术领域
本发明涉及一种信息处理的视频编码的方法,特别是一种H.264/AVC多参考帧的快速选择方法。
背景技术
自从ITU-T颁布了H.261后,基于块的混合编码方法作为框架被普遍采用并不断发展。国际标准H.261、H.263、MPEG-1、MPEG-2、MPEG-4等的制定极大推动了多媒体技术的应用。然而,随着新服务的大量增加和高清电视的即将普及,以及现有传输媒体如Cable Modem、Xdsl、UMTS较低的传输码率,迫切需要提高编码效率;同时还要求视频编码标准能够适应现存或未来的网络。这些问题为新视频编码标准H.264/AVC的产生提供了切实的依据。
这些视频编码标准均采用混合编码框架,即将输入视频图象分割成宏块,对其进行预测、变换、量化、熵编码。预测包括帧内预测和帧间预测,帧内预测可去除空间冗余,而帧间预测可去除时间上的冗余。
H.264/AVC仍遵从这种基于块的混合编码方案,但包含了许多新特征VCL层和NAL层分离、空间域的帧内估计、1/4像素精度运动估计、自适应块尺寸运动补偿、多参考帧运动补偿预测、通用B帧的概念、低复杂16bit的整数变换和量化、环内去块滤波器和高效的熵编码。这些新特征一方面能够显著提高编码效率;另一方面具有网络友好性,可有效用于各种网络和应用环境。
其中H.264/AVC为进一步提高帧间图象的编码效率,将帧间预测的宏块分割成7种块模式(16×16,16×8,8×16,8×8,8×4,4×8,4×4),并对每种模式下的分割块进行多参考帧运动估计与补偿,以便最大限度地去除时间冗余性。这些块模式的运动估计和参考帧选择是以率失真RDO(Rate-Distortion Optimization)为判决依据,如公式(1)所示。除这些块模式外,P帧还支持SKIP模式(或B帧支持Direct模式)和帧内预测模式(INTRA)。实际中,前向帧间预测通常采用5个参考帧。
JMOTION(mv,ref|λMOTION)=SAD(s,r(ref,mv))+λMOTION(R(mv-pred)+R(ref))(1)其中,s是当前块像素值,ref为要选择的参考帧,mv是参考ref的运动矢量,pred为预测矢量,r(ref,mv)为参考块的像素值,SAD(sum of absolute difference)为当前块与参考块像素差值的绝对值和,码率R包括运动矢量与其预测值的差值编码比特和参考帧的编码比特。
校验模型采用了一种全搜索方法,如附图1所示,当前块先在最近的参考帧中进行运动估计,可通过公式(1)来计算在该参考帧内的JMOTION;然后依次在其它参考帧中运动估计并比较JMOTION,最终JMOTION最小的参考帧为最佳参考帧。具体过程如图1所示,在16×16,16×8,8×16,8×8模式中,每个子块分别在不同参考帧运动估计;而8×8块中所有8×4,4×8,4×4模式的子块首先在同一个参考帧运动估计并累加JMOTION,然后才在不同参考帧之间进行比较。
这种对多参考帧的全搜索方法可以获得最好的编码效果,但显著增加了编码的复杂度,其处理时间随着参考帧数量增多呈线性增长。实际中,多参考帧预测补偿残差的减少依赖于序列的特征。因此对于相当多的序列提高的编码效率并不明显,而增加的计算变成一种浪费。

发明内容
本发明的目的是提供一种H.264/AVC实时编码器的多参考帧快速选择方法,相对于全搜索方法,它可以在信噪比和码率变化很小的同时,大量节约编码时间。
为达到上述目的,本发明的构思是根据序列特征来确定搜索的参考帧数量,在这个数量范围内再进行搜索,可以减少实际搜索的参考帧数目,可有效降低计算复杂度,同时信噪比和码率变化可忽略不计。
根据上数构思,本发明采用下述技术方案一种H.264/AVC多参考帧的快速选择方法,其特征在于利用当前序列的纹理特征、当前块的运动信息以及不同模式间多参考帧选择的相关性来自适应地确定所需的参考帧数量,通过比较当前块在这个较小数量范围内参考帧的率失真,以率失真最小的参考帧为最佳参考帧。。
快速选择的步骤如下a)对已编码帧内宏块的最佳模式分布进行统计,以此来衡量当前序列的纹理特征,确定当前帧可能需要的参考帧数量;b)比较当前块在步骤a中确定的参考帧数量范围内的率失真,如果是单调增加,通常距离最近参考帧为最佳参考帧;否则在非单调情况下,结合运动信息进一步来确定当前块所需参考帧的数量,比较这个范围内参考帧的率失真,最终将率失真最小的参考帧被确定为最佳参考帧;c)用步骤a和步骤b中的方法来快速确定16×16、8×8和4×4模式的最佳参考帧;d)利用与8×8和4×4模式多参考帧选择的相关性来确定8×4和4×8模式下各块可能选择的参考帧,如果可能选择的参考帧为一帧,则该帧为最佳参考帧;如果为两帧,则比较二者的率失真,最终确定8×4和4×8模式的最佳参考帧;e)利用与16×16和8×8模式多参考帧选择的相关性来确定16×8和8×16模式下各块可能选择的参考帧的分布范围,比较该范围内参考帧的率失真,得到16×8和8×16模式的最佳参考帧。
本发明与现有技术相比,具有如下显而易见的突出实质性特点和显著优点本发明利用当前编码序列的纹理特征、当前块的运动信息以及不同模式间多参考帧选择的相关性来自适应地确定所需参考帧的数量。实验表明在保持码率和信噪比几乎不变的同时,本发明的方法能大量节省编码时间。


图1是校验模型中不同模式的多参考帧选择图2是本发明的处理流程图具体实施方式
以下结合附图描述本发明的H.264/AVC实时编码器的多参考帧快速选择方法的一个具体实施例在H.264/AVC校验模型Jm72编码器上,具体工作环境为3.06GHz CPU的惠普工作站,序列测试结构为IBBP,编码器的主要参数包括熵编码采用CABAC;运动估计采用全搜索,搜索范围为16,1/4搜索精度;量化参数为24,28和32。实验测试包括5个CIF序列Foreman、Flower、Paris、Bus和Mobile。
首先我们在Jm72编码器上采用全搜索的方法测试了这5个序列在不同数量参考帧下的编码情况,列在表1的数据是使用1到4个参考帧时分别与使用5个参考帧时编码效率(仅信噪比变化和码率变化)的比较,例如ΔPSNR=0.00,表示与使用5个参考帧时的信噪比相同。
表1编码器在不同数量的参考帧下的性能比较


附注QP=28,ΔPSNR为信噪比变化,ΔR为码率变化(与5个参考帧情况比较)由表1可以看到,不同位置的参考帧对提高编码效率的作用是不同,前两个参考帧对提高编码效率的作用最明显。随着距离的增加,较远参考帧对提高编码效率的作用逐渐降低。因此通常情况下,距离当前帧越近的参考帧相关性越强,选择的优先级也越高。但在一些特殊情况下,距离较远的参考帧能够明显提高编码效率,例如在对象边缘遮挡和显露时,或者在场景快速切换时,多参考帧中的某一帧可能更符合当前宏块需要。由表中可以看出编码信噪比和码率在有些序列中并非完全单调变化,说明多参考帧并不是对所有序列都是有效,而这些变化与序列的纹理特征和运动趋势密切相关。因此,可以看出,多参考帧提高的编码效率与序列的纹理特征和运动信息有关。
由表1实验结果可见对于纹理细腻、场景变化明显的序列,例如Mobile序列,参考帧数量越多,其编码效率越高。本发明通过统计已编码帧的模式分布来描述序列的纹理变化如果选中的较小块模式(8×8、8×4、4×8和4×4)的比例P(sub-MB)越大,说明纹理较细腻;如果最近参考帧内预测模式选中比例P(INTRA)较大,说明序列场景可能在切换,这时参考帧数量不必过多;如果P(SKIP)较大,说明序列场景变化甚微,仅需最近的参考帧即可;如果选中较大块模式(16×16,16×8,8×16)的比例P(MB)较高,说明该序列纹理比较平坦,场景变化缓慢因此不需要过多的参考帧。另外可通过比较当前块在不同参考帧中的运动矢量(MVi)变化来确定运动变化程度。如果|MVi-MVi-1|值较大,表示当前块在不同参考帧运动变化明显,需要搜索较多的参考帧。否则表示运动变化较小,不必检测过多的参考帧。
最终判决最佳参考帧以率失真JMOTION为准则,因此可以结合上述对序列的纹理特征和运动信息分析,通过判断当前块在不同参考帧的JMOTION的单调性来快速判定最佳参考帧。首先统计纹理特征,确定需要参考帧的数目;然后比较当前块的JMOTION在这个数目范围中的单调性。如果是单调增加,通常最近参考帧为最佳参考帧;否则在非单调情况下,结合运动信息来确定当前块所需参考帧的数目,因此可在有限数量的参考帧内比较JMOTION,最终确定最佳参考帧。
在本发明中,仅对16×16、8×8和4×4模式采用上述方法来快速选定最佳参考帧,其它模式可采用与这三种模式在参考帧选择时的相关性来快速判定。其具体过程如下
利用上述的快速方法对当前宏块的16×16模式进行多参考帧运动估计得到最佳参考帧Ref16×16和相应的SAD16×16。同样利用上述快速方法对当前宏块的四个8×8块的8×8和4×4模式分别进行多参考帧运动估计得到8×8模式的最佳参考帧Ref8×8(i)和相应的SADa×8(i)以及4×4模式的最佳参考帧Ref4×4(i),i表示8×8块的序号。对于整个宏块而言,如果排除公式(1)中运动矢量和参考帧的编码比特的影响,通常存在以下关系式 因此可推断,16×8和8×16模式下各块的最佳参考帧最有可能分布在16×16模式和8×8模式的最佳参考帧之间,其分布区间可用下式表示Ref16×8(i)和Ref8×16(i)∈ (3)[min(Ref16×16,minRef8×8),max(Ref16×16,maxRef8×8)]i∈
其中minRef8×8=min(Ref8×8(i)),maxRef8×8=max(Ref8×8(i))i∈
。因此仅需检查该区间范围内的参考帧即可。
对于8×8块,如图1所示,8×4、4×8和4×4模式下所有子块在同一个参考帧内进行运动估计后,计算JMOTION和后,再进行帧间比较。因此可以推断在8×8块中8×8和4×4模式的最佳参考帧最有可能是8×4和4×8模式的最佳参考帧。具体过程如下对于第i个8×8块,其8×8模式的最佳参考帧为Ref8×8(i),而4×4模式的最佳参考帧为Ref4×4(i),如果Ref8×8(i)等于Ref4×4(i),则该参考帧为8×4和4×8模式的最佳参考帧;否则Ref8×8(i)和Ref4×4(i)这两个参考帧可能为8×4和4×8模式的最佳参考帧,因此只比较这两个参考帧的JMOTION即可。
本发明充分利用上述的特征,将之有机结合在一起,得到多参考帧的快速选择方法,其流程如图2所示,具体步骤实施如下①对已编码帧进行模式统计和分析,确定当前帧所需的参考帧数量如果P(INTRA)与P(SKIP)的和大于某个阈值(T0),仅需最近的两个参考帧即可;如果P(sub-MB)小于P(MB),需要四个参考帧,否则检查全部参考帧。
②对第一个参考帧进行运动估计,如果SAD小于某个阈值(T1),提前终止对其它参考帧的运动估计。
③在已确定的参考帧范围内依次比较邻近的两个参考帧的JMOTION,如属单调递增,则最近参考帧为最佳;否则根据运动信息判断是否检测下一个参考帧。
④重复步骤1-3,依次确定16×16、8×8和4×4模式的最佳参考帧。
⑤利用8×4和4×8模式与8×8和4×4模式的参考帧选择的相关性确定这两种模式的可能选择的参考帧,如果可能选择的参考帧为一帧,则该帧为最佳参考帧;如果为两帧,则比较二者的率失真,最终确定最佳参考帧。
⑥利用与16×16和8×8模式的相关性来确定16×8和8×16模式的可能参考帧分布范围,比较范围内参考帧的JMOTION,确定最佳参考帧。
观察上述方法可以发现,在步骤1和3中利用了纹理特征和运动信息。在步骤1中,如果将对整个帧进一步分割成较小的区域进行统计,效果会更好。阈值T0可根据实际情况赋值,在本发明的实验中为0.4。步骤2中的阈值T1与量化参数有关,根据量化后4×4矩阵的直流系数是否等于或小于1来确定。
实验结果表明,本发明的多参考快速选择方法与校验模型的全搜索方法比较,可提高编码速度大约30%左右,同时信噪比和码率变化可以忽略。
权利要求
1.一种H.264/AVC多参考帧的快速选择方法,其特征在于利用当前编码序列的纹理特征、当前块的运动信息以及不同模式间多参考帧选择的相关性来自适应地确定所需参考帧的数量,通过比较当前块在这个较小数量范围内参考帧的率失真,以率失真最小的参考帧为最佳参考帧。
2.如权利要求1所述的H.264/AVC多参考帧的快速选择方法,其特征在于快速选择的步骤如下a.对已编码帧内宏块的最佳模式分布进行统计,以此来衡量当前序列的纹理特征,确定当前帧可能需要的参考帧数量;b.比较当前块在步骤a中确定的参考帧数量范围内的率失真,如果是单调增加,通常距离最近参考帧为最佳参考帧;否则在非单调情况下,结合运动信息进一步来确定当前块所需参考帧的数量,比较这个范围内参考帧的率失真,最终将率失真最小的参考帧被确定为最佳参考帧;c.用步骤a和步骤b中的方法来快速确定16×16、8×8和4×4模式的最佳参考帧;d.利用与8×8和4×4模式多参考帧选择的相关性来确定8×4和4×8模式下各块可能选择的参考帧,如果可能选择的参考帧为一帧,则该帧为最佳参考帧;如果为两帧,则比较二者的率失真,最终确定8×4和4×8模式的最佳参考帧;e.利用与16×16和8×8模式多参考帧选择的相关性来确定16×8和8×16模式下各块可能选择的参考帧的分布范围,比较该范围内参考帧的率失真,得到16×8和8×16模式的最佳参考帧。
全文摘要
本发明涉及一种H.264/AVC多参考帧的快速选择方法。本发明方法是利用当前编码序列的纹理特征、当前块的运动信息以及不同模式间多参考帧选择的相关性来自适应地确定所需参考帧的数量,通过比较当前块在这个较小数量范围内参考帧的率失真,以率失真最小的参考帧为最佳参考帧。实验表明本发明方法在保持码率和信噪比几乎不变的同时,本发明能够大量节省编码时间。
文档编号H04N7/26GK1649413SQ20051002357
公开日2005年8月3日 申请日期2005年1月26日 优先权日2005年1月26日
发明者张兆扬, 滕国伟, 赵海武 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1