首页> 中国专利> 融合多参考帧选择和运动估计的快速帧间模式判决方法

融合多参考帧选择和运动估计的快速帧间模式判决方法

摘要

一种融合多参考帧选择和运动估计的快速帧间模式判决方法,将运动估计和多参考帧判决与模式选择相结合,综合考虑整数变换与量化、矢量预测、搜索范围、参考帧及其各个块模式之间的相关性,节约了多余计算,提高了编码速度。

著录项

  • 公开/公告号CN1976476A

    专利类型发明专利

  • 公开/公告日2007-06-06

    原文格式PDF

  • 申请/专利权人 上海广电(集团)有限公司中央研究院;

    申请/专利号CN200610147732.9

  • 发明设计人 腾国伟;王国中;

    申请日2006-12-22

  • 分类号H04N7/32(20060101);H04N7/26(20060101);

  • 代理机构31213 上海新天专利代理有限公司;

  • 代理人张静洁

  • 地址 200233 上海市宜山路757号2楼

  • 入库时间 2023-12-17 18:46:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-03-09

    未缴年费专利权终止 IPC(主分类):H04N7/32 授权公告日:20090826 终止日期:20100122 申请日:20061222

    专利权的终止

  • 2010-06-02

    专利权的转移 IPC(主分类):H04N7/32 变更前: 变更后: 登记生效日:20100423 申请日:20061222

    专利申请权、专利权的转移

  • 2009-08-26

    授权

    授权

  • 2007-08-01

    实质审查的生效

    实质审查的生效

  • 2007-06-06

    公开

    公开

说明书

技术领域

本发明涉及一种H.264(最新的国际视频编码标准)快速模式判决方法,具体涉及一种融合多参考帧选择和运动估计的快速模式判决方法。

背景技术

在H.264标准中,一个宏块(MB)可以被分割为7种大小不同的块模式,包括3种宏块模式:16×16、16×8和8×16,和4种子块模式:8×8、8×4、4×8和4×4。除此外,在P帧还支持SKIP(skip-跳过模式)模式和帧内预测模式。这种多预测模式为当前宏块提供了更多的选择,显著提高预测的准确性。

模式选择是以RDO为判决依据,R表示当前块模式编码后的码率,D表示重建块与当前块的失真,其计算过程比较复杂。首先对所有帧间块模式进行运动估计,然后比较所有模式(包括帧内预测模式)的RDO,RDO最小的模式为最佳模式。这种全搜索的方法给编码器带来沉重的计算负担,同时也没有考虑各种块模式之间的相互关系。例如,对于纹理简单,背景变化不大的序列SKIP和较大块模式比例适合;对于纹理细腻,变化明显的序列,较小块模式更适合些;在帧间变化明显的序列,尤其在视频对象的边缘部分,帧内预测模式对提高编码效率作用显著。

目前已经有很多算法通过快速判定块模式来提高编码速度。如在H.264标准中的一个提案采纳了一种快速方法,通过判断当前宏块纹理上是否具有一致性来判断可能的编码模式选择范围。另一个提案可预先判定SKIP模式,并采取提前终止策略和有选择地进行帧内模式预测,这样可以减少不必要模式的判决。

多参考帧运动估计通常采用5个前向参考帧,校验模型采用了一种全搜索方法,编码器需要对所有块模式在每个参考帧中都进行运动估计与补偿,通过比较率失真优化(RDO)来确定最佳块模式和最佳参考帧。

16×16、16×8、8×16和8×8模式中每个子块分别在不同参考帧运动估计;而8×8块中所有8×4,4×8,4×4模式的子块首先在同一个参考帧运动估计并累加RD损耗,然后才在不同参考帧之间进行比较。这种对多参考帧的全搜索方法可以获得最好的编码效果,但显著增加了编码的复杂度,其处理时间随着参考帧数量增多呈线性增长。同时也可以看到这种方法默认参考帧间是相互独立,没有考虑参考帧之间的相关性,也没有考虑在具体应用环境中参考帧的不同作用。事实上,多参考帧预测补偿残差的减少依赖于序列的特征,因此对于一些序列多参考帧提高的编码效率并不明显。

实际上,运动估计、模式选择和多参考帧选择是相互联系的。不同模式间的运动估计是有关联的,如不同模式间的运动矢量可以互为预测运动矢量,小块模式选用搜索范围较小的运动路径,以及可以根据不同模式的运动是矢量估算另一模式的搜索范围等;不同模式间的多参考帧之间也是关联的,如可根据较小块模式的参考帧来预测较大块的参考帧;多参考帧与运动估计也是关联的,如较近的参考帧可以为较远参考帧的运动估计提供参考。由此可见,这三者之间的关系错综复杂,如果能将之很好的结合在一起考虑,不但能够保证编码效率,而且能够极大提高编码速度。

在H.264标准中,为了能够保证在获得尽可能好的编码质量的同时将编码后的数据比特降至最小,该标准采用RDO(Rate-Distortion Optimization)作为判决准则,这种判决方式又分为两种情况:一种是用来作模式判决,另一种是用来进行运动估计和参考帧选择。

首先分析一下其在模式选择中所起的判决作用,如式(1)所示:

JMODE(s,c|Qp,λMODE)=SSD(s,c|Qp)+λMODER(s,c|Qp)    (1)

>>SSD>=>>Σ>>>(>x>,>y>)>>∈>A> >>>|>s>[>x>,>y>,>t>]>->c>[>x>,>y>,>t>]>|>>2>>->->->>(>2>)>>>s>

其中,s表示当前块,c为重建块,R包括对宏块编码的所有比特,SSD(Sumof the Squared Difference-差值平方和)为当前块和重建块的差值的平方和。式(1)中拉格朗日参数λMODE由量化参数Qp决定。

H.264模式判决分为帧内与帧间两种情况:

对于帧内预测来说,R包括宏块类型、子块帧内预测模式(4×4情况)和残差的编码比特。根据上式联合比较各帧内预测模式的编码失真SSD和编码码率R,使二者的和最小。

对于帧间模式判决,首先对所有帧间块模式进行运动估计,然后比较所有模式的率失真,率失真最小的模式为最佳模式,其中R主要包括编码块模式、运动矢量、参考帧以及残差的编码比特。

运动估计需要单独的率失真判决,如下式(3)来确定,其中涉及到参考帧的选择问题:

JMOTION(mv,ref|λMOTION)=SAD(s,r(ref,mv))+λMOTION(R(mv-pred)+R(ref))    (3)

s是当前块像素值,ref为要选择的参考帧,mv是参考ref的运动矢量,pred为预测矢量,r(ref,mv)为参考块的像素值,SAD(sum of absolute difference-差值绝对值和)为当前块与参考块像素差值的绝对值和,码率R包括运动矢量与其预测值的差值编码比特和参考帧的编码比特,可通过查表得到。拉格朗日参数略有变化,如下式。

> >λ>MOTION>>=> >λ>MODE> >->->->>(>4>)>>>s>

如果在具体在一个帧内,对于不同搜索点之间的比较,仅需比较:

JMOTION(mv|λMOTION)=SAD(s,r)+λMOTION R(mv-pred)

由上述一系列公式可见,为了达到在给定码率下最优编码质量,H.264标准中采用率失真优化进行运动估计和模式选择,其中涉及到SAD和SSD的计算以及码率R的估计和计算。SSD的计算涉及到重建图像,因此要对当前块进行运动估计后,对残差进行变换量化,和反量化和反变换,再与参考块相加构成重建块。而码率计算需要对涉及到的语法元素,如编码模式,运动矢量,CBP(Coded Block Pattern——编码块模式)和残差进行熵编码,最终还要对最优模式重新编码。这种判决过程虽然能够得到最优编码结果,但中间过程重复计算多,增加的存储器和计算开销巨大,不易于编码器的模块化,实际系统设计中并不适用。

因此,为了简化计算和提高编码速度,H.264在其编码器参考代码中也提供了简单的RDO衡量标准,如式(5)和式(6)。

JMODE=SATD+λMODER(mode)                   (5)

JMODE=SATD+λmotion[R(mv-pred)+R(ref)]     (6)

式(5)用来判决帧内模式,而(6)用来判决帧间模式,二者之间可以统一比较。式中SATD是残差的Hadamard(哈达玛)变化系数的绝对值和,不必去变换、量化和反量化反变换,运算比较简单;R是对帧内预测模式或帧间的编码信息(运动矢量和参考帧)的估计值,通常可直接或通过查表得到,不必真正去编码求得实际码率;λmotion和λMODE为拉格朗日参数。可以看到,这种简单的RDO在模式判决时不必对残差进行变换、量化、反量化、反变换和熵编码等过程,因此可大幅降低模式判决的运算复杂度。此外,这种判决准则还可将模式判决和熵编码划分为两个独立模块,使编码器的结构更加清晰。

发明内容

本发明提供的融合多参考帧选择和运动估计的快速帧间模式判决方法,将运动估计和多参考帧判决与模式选择相结合,综合考虑整数变换与量化、矢量预测、搜索范围、参考帧及其各个块模式之间的相关性,节约了多余计算,提高了编码速度。

为了达到上述目的,本发明提供了融合多参考帧选择和运动估计的快速帧间模式判决方法,其包含以下步骤:

步骤1:优先判决SKIP模式:

在H.264标准中的P帧中,SKIP模式不需进行编码,直接通过帧间参考帧的参考块来恢复当前宏块。由此也可以看出,如果能够事先判断当前宏块为SKIP模式,就能够确定当前宏块的参考帧和运动矢量。一方面可以避免再进行变换和量化,另一方面也避免其它模式的判决,加快运动估计的速度,对于静止画面较多的序列效果尤其明显;

目前已经有多种SKIP模式判决的算法,本发明通过判定4×4块的零块判决方法来判决宏块是否为SKIP模式,即对当前宏块的矢量预测进行运动补偿,如果残差矩阵的16个4×4块的整数变换DC(直流系数)系数全都为零,则可确定当前宏块为SKIP模式,这种方法比较准确;

步骤2:进行帧间块模式选择:

步骤2.1、首先对16×16和8×8模式进行运动估计和补偿,通过判断和比较16×16模式和8×8模式的SATD值的大小,从而来判定其它模式;

如果J16×16<J8×8,则进行步骤2.2,如果J16×16≥J8×8,则进行步骤2.3;

在对16×16模式和8×8模式等较大块模式进行运动估计和补偿时,运动估计采用较完备的搜索路径,即搜索全部参考帧,并且前一帧的运动矢量可以作为下一帧的运动矢量的预测值;

步骤2.2、如果J16×16<J8×8,则可直接对16×8模式和8×16模式进行判断,得到Jmode值最小的模式即为最佳模式;

利用步骤2.1中得到的16×16模式和8×8模式的最佳参考帧来确定16×8模式和8×16模式的可能参考帧:

如果16×16模式和8×8模式的参考帧一致,则进行步骤2.2.1,如果16×16模式和8×8模式的参考帧不一致,则进行步骤2.2.2;

步骤2.2.1、如果16×16模式和8×8模式的参考帧一致,则16×8模式和8×16模式可直接在该帧进行运动估计,且由8×8模式的运动矢量来确定搜索范围:

对于构成16×8模式和8×16模式的两个8×8模式,可由这两个8×8模式确定这16×8模式和8×16模式的运动估计搜索范围,设两个8×8模式运动矢量分别为(x0,y0)、(x1,y1),则该16×8模式(或和8×16模式)的运动搜索范围坐标点:左上坐标(min(x0,x1),min(y0,y1))、左下坐标为(min(x0,x1),max(y0,y1))、右上坐标(max(x0,x1),min(y0,y1))和右下坐标(max(x0,x1),max(y0,y1)),通常在上述范围内进行全搜索即可;

步骤2.2.2、如果16×16模式和8×8模式的参考帧不一致,则需搜索二者区间内的参考帧,从最近的参考帧到较远的参考帧依次进行。检测在这个范围内的参考帧,观察16×8模式、8×16模式和对应8×8模式的关系,如果构成16×8模式和8×16模式的两个8×8模式同时在一个参考帧上时,进行步骤2.2.2.1,如果构成16×8模式和8×16模式的两个8×8模式不在一个参考帧上时,进行步骤2.2.2.2:

步骤2.2.2.1、如果构成16×8模式和8×16模式的两个8×8模式同时在一个参考帧上时,由8×8模式的运动矢量来确定搜索范围:

对于构成16×8模式和8×16模式的两个8×8模式,可由这两个8×8模式确定这16×8模式和8×16模式的运动估计搜索范围,设两个8×8模式运动矢量分别为(x0,y0)、(x1,y1),则该16×8模式(或和8×16模式)的运动搜索范围坐标点:左上坐标(min(x0,x1),min(y0,y1))、左下坐标为(min(x0,x1),max(y0,y1))、右上坐标(max(x0,x1),min(y0,y1))和右下坐标(max(x0,x1),max(y0,y1)),通常在上述范围内进行全搜索即可;

步骤2.2.2.2、如果构成16×8模式和8×16模式的两个8×8模式不在一个参考帧上时,将16×16模式和8×8模式在这个参考帧上的运动矢量作预测矢量进行运动估计;

步骤2.3、如果J16×16≥J8×8,定义ΔSATD=SATD16×16-SATD8×8,如果ΔSATD<α*SATD8×8(α为动态调整因子,取值为5%~15%),进行步骤2.3.1,如果ΔSATD≥α*SATD8×8,进行步骤2.3.2:

步骤2.3.1、如果ΔSATD<α*SATD8×8,说明较大块模式和较小块模式的差别并不大,转到步骤2.2,去检测较大块模式16×8模式和8×16模式,得到最佳模式;

步骤2.3.2、如果ΔSATD≥α*SATD8×8,说明较小块模式的效果要远比较大块模式好,转到步骤2.4,去检测较小块模式;

步骤2.4、首先检测4×4模式,需要对所有参考帧进行运动估计,前一帧的运动矢量可以作为下一帧的运动矢量的预测值,运动估计算法可以采用较简略的搜索路径,如果J8×8<J4×4,则8×8即为最佳模式,否则如果J8×8≥J4×4,则需对8×4模式和4×8模式进行多参考帧选择和运动估计,Jmode值最小的模式即为最佳模式,进行参考帧选择和运动估计的方法与步骤2.2类似;

步骤3:进行帧内模式判决:

如果步骤2中得到的最佳模式为8×8模式或小于8×8模式的模式,则可判断当前宏块比较复杂或可能是场景切换,进行帧内预测。

本发明提供的融合多参考帧选择和运动估计的快速帧间模式判决方法,将运动估计和多参考帧判决与模式选择相结合,综合考虑整数变换与量化、矢量预测、搜索范围、参考帧及其各个块模式之间的相关性,节约了多余计算,提高了编码速度。

具体实施方式

以下具体说明本发明的一种较佳实施方式:

本发明提供了融合多参考帧选择和运动估计的快速帧间模式判决方法,其包含以下步骤:

步骤1:优先判决SKIP模式:

通过判定4×4块的零块判决方法来判决宏块是否为SKIP模式,即对当前宏块的矢量预测进行运动补偿,如果残差矩阵的16个4×4块的整数变换DC系数全都为零,则可确定当前宏块为SKIP模式;

步骤2:进行帧间块模式选择:

步骤2.1、首先对16×16和8×8模式进行运动估计和补偿,通过判断和比较16×16模式和8×8模式的SATD值的大小,从而来判定其它模式;

如果J16×16<J8×8,则进行步骤2.2,如果J16×16≥J8×8,则进行步骤2.3;

在对16×16模式和8×8模式等较大块模式进行运动估计和补偿时,运动估计采用较完备的搜索路径,即搜索全部参考帧,并且前一帧的运动矢量可以作为下一帧的运动矢量的预测值;

步骤2.2、如果J16×16<J8×8,则可直接对16×8模式和8×16模式进行判断,得到Jmode值最小的模式即为最佳模式;

利用步骤2.1中得到的16×16模式和8×8模式的最佳参考帧来确定16×8模式和8×16模式的可能参考帧:

如果16×16模式和8×8模式的参考帧一致,则进行步骤2.2.1,如果16×16模式和8×8模式的参考帧不一致,则进行步骤2.2.2;

步骤2.2.1、如果16×16模式和8×8模式的参考帧一致,则16×8模式和8×16模式可直接在该帧进行运动估计,且由8×8模式的运动矢量来确定搜索范围:

对于构成16×8模式和8×16模式的两个8×8模式,可由这两个8×8模式确定这16×8模式和8×16模式的运动估计搜索范围,设两个8×8模式运动矢量分别为(x0,y0)、(x1,y1),则该16×8模式(或和8×16模式)的运动搜索范围坐标点:左上坐标(min(x0,x1),min(y0,y1))、左下坐标为(min(x0,x1),max(y0,y1))、右上坐标(max(x0,x1),min(y0,y1))和右下坐标(max(x0,x1),max(y0,y1)),通常在上述范围内进行全搜索即可;步骤2.2.2、如果16×16模式和8×8模式的参考帧不一致,则需搜索二者区间内的参考帧,从最近的参考帧到较远的参考帧依次进行。检测在这个范围内的参考帧,观察16×8模式、8×16模式和对应8×8模式的关系,如果构成16×8模式和8×16模式的两个8×8模式同时在一个参考帧上时,进行步骤2.2.2.1,如果构成16×8模式和8×16模式的两个8×8模式不在一个参考帧上时,进行步骤2.2.2.2:

步骤2.2.2.1、如果构成16×8模式和8×16模式的两个8×8模式同时在一个参考帧上时,由8×8模式的运动矢量来确定搜索范围:

对于构成16×8模式和8×16模式的两个8×8模式,可由这两个8×8模式确定这16×8模式和8×16模式的运动估计搜索范围,设两个8×8模式运动矢量分别为(x0,y0)、(x1,y1),则该16×8模式(或和8×16模式)的运动搜索范围坐标点:左上坐标(min(x0,x1),min(y0,y1))、左下坐标为(min(x0,x1),max(y0,y1))、右上坐标(max(x0,x1),min(y0,y1))和右下坐标(max(x0,x1),max(y0,y1)),通常在上述范围内进行全搜索即可;

步骤2.2.2.2、如果构成16×8模式和8×16模式的两个8×8模式不在一个参考帧上时,将16×16模式和8×8模式在这个参考帧上的运动矢量作预测矢量进行运动估计;

步骤2.3、如果J16×16≥J8×8,定义ΔSATD=SATD16×16-SATD8×8,如果ΔSATD<α*SATD8×8(α值为10%),进行步骤2.3.1,如果ΔSATD≥α*SATD8×8,进行步骤2.3.2:

步骤2.3.1、如果ΔSATD<α*SATD8×8,说明较大块模式和较小块模式的差别并不大,转到步骤2.2,去检测较大块模式16×8模式和8×16模式,得到最佳模式;

步骤2.3.2、如果ΔSATD≥α*SATD8×8,说明较小块模式的效果要远比较大块模式好,转到步骤2.4,去检测较小块模式;

步骤2.4、首先检测4×4模式,需要对所有参考帧进行运动估计,前一帧的运动矢量可以作为下一帧的运动矢量的预测值,运动估计算法可以采用较简略的搜索路径,如果J8×8<J4×4,则8×8即为最佳模式,否则如果J8×8≥J4×4,则需对8×4模式和4×8模式进行多参考帧选择和运动估计,Jmode值最小的模式即为最佳模式,进行参考帧选择和运动估计的方法与步骤2.2类似;

步骤3:进行帧内模式判决:

如果步骤2中得到的最佳模式为8×8模式或小于8×8模式的模式,则可判断当前宏块比较复杂或可能是场景切换,进行帧内预测。

本发明提供的融合多参考帧选择和运动估计的快速帧间模式判决方法,将运动估计和多参考帧判决与模式选择相结合,综合考虑整数变换与量化、矢量预测、搜索范围、参考帧及其各个块模式之间的相关性,节约了多余计算,提高了编码速度。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号