会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑图像 / 运动矢量 / 运动矢量预测和细化

运动矢量预测和细化

阅读:1093发布:2020-05-13

IPRDB可以提供运动矢量预测和细化专利检索,专利查询,专利分析的服务。并且本发明涉及一种编码图像序列的当前块的方法,其包含如下步骤:-确定(20,30)与所述当前块的临近块相关联的至少一个候选运动矢量;-从候选运动矢量中确定(24,34)预测运动矢量;以及-根据预测运动矢量编码(26,36)当前块。有利的是,预测运动矢量按照如下步骤来确定:-为候选运动矢量确定(22,32)校正运动矢量,以便使在相继编码和重构的临近块与通过经由校正运动矢量修改的至少一个候选运动矢量补偿的预测块运动之间计算的失真最小化;以及-从经由校正运动矢量修改的候选运动矢量中确定(24,34)预测运动矢量。,下面是运动矢量预测和细化专利的具体信息内容。

1.一种编码图像序列的当前块的方法,其包含如下步骤:-确定(20,30)与所述当前块的临近块相关联的至少一个候选运动矢量;

-从所述至少一个候选运动矢量中确定(24,34)预测运动矢量;以及-根据所述预测运动矢量编码(26,36)所述当前块,所述方法的特征在于所述预测运动矢量按照如下步骤来确定:-为所述至少一个候选运动矢量确定(22,32)校正运动矢量(ΔMV),以便使在相继编码和重构的临近块与通过经由所述校正运动矢量(ΔMV)修改的所述至少一个候选运动矢量运动补偿的预测块之间计算的失真最小化;以及-从经由所述校正运动矢量修改的所述至少一个候选运动矢量中确定(24,34)所述预测运动矢量。

2.按照权利要求1所述的编码图像序列的当前块的方法,其中根据所述预测运动矢量编码所述当前块包含确定从与所述当前块Bc相关联的当前运动矢量和所述预测运动矢量中计算的运动矢量差分,以及编码所述运动矢量差分。

3.按照权利要求1或2所述的编码图像序列的当前块的方法,其中在确定所述校正运动矢量的步骤期间,所述校正运动矢量(dx,dy)的每个坐标的幅度小于代表运动补偿精度的第一阈值aenh。

4.按照权利要求3所述的编码图像序列的当前块的方法,其中所述第一阈值aenh小于代表运动矢量编码精度的第二阈值acod。

5.按照权利要求4所述的编码图像序列的当前块的方法,其中所述第一阈值aenh等于

1/8,并且所述第二阈值acod等于1/4。

6.按照权利要求4所述的编码图像序列的当前块的方法,其中所述第一阈值aenh等于

1/4,并且所述第二阈值acod等于1/2。

7.按照权利要求4到6的任何一项所述的编码图像序列的当前块的方法,其中在等于[-acod+aenh;acod-aenh]的围绕所述候选运动矢量的一个间隔中确定所述校正运动矢量的每个坐标(dx,dy)。

8.按照权利要求1所述的编码图像序列的当前块的方法,其中确定(20)至少一个候选运动矢量的步骤包含如下步骤:-确定(200)至少两个候选运动矢量;

-将所述至少两个候选运动矢量合并(202)成单个运动矢量;以及-在所述至少两个候选运动矢量当中选择(204)所述单个运动矢量的最接近运动矢量,并将所述最接近运动矢量选为确定的候选运动矢量。

9.按照权利要求1所述的编码图像序列的当前块的方法,其中确定(30)至少两个候选运动矢量,确定(32)校正运动矢量的步骤包含为所述至少两个候选运动矢量的每一个确定校正运动矢量,以及其中确定(34)所述预测运动矢量的所述步骤包含将经由它们各自校正运动矢量修改的所述候选运动矢量合并成单个预测运动矢量。

10.一种重构图像序列的当前块的方法,其包含如下步骤:-确定(52)与所述当前块的临近块相关联的至少一个候选运动矢量;

-从所述至少一个候选运动矢量中确定(56)预测运动矢量;

-根据所述预测运动矢量重构(58)所述当前块,

所述方法的特征在于所述预测运动矢量按照如下步骤来确定:-确定(54)校正运动矢量(dx,dy),以便使在重构临近块与通过经由所述校正运动矢量(dx,dy)修改的所述至少一个候选运动矢量运动补偿的预测块之间计算的失真最小化;

以及

-从经由所述校正运动矢量修改的所述候选运动矢量中确定(56)所述预测运动矢量。

11.按照权利要求10所述的重构图像序列的当前块的方法,其中在确定所述校正运动矢量期间,所述校正运动矢量(dx,dy)的每个坐标的幅度小于代表运动补偿精度的第一阈值aenh。

12.按照权利要求11所述的重构图像序列的当前块的方法,其中所述第一阈值aenh小于代表运动矢量编码精度的第二阈值acod。

13.按照权利要求12所述的重构图像序列的当前块的方法,其中在等于[-acod+aenh;

acod-aenh]的围绕所述候选运动矢量的一个间隔中确定所述校正运动矢量的每个坐标(dx,dy)。

14.一种重构图像序列的当前块的设备,其包含:

-确定与所述当前块的临近块相关联的至少一个候选运动矢量的部件;

-从所述至少一个候选运动矢量中确定预测运动矢量的部件;

-根据所述预测运动矢量重构所述当前块的部件,

所述重构设备的特征在于确定预测运动矢量的部件包含:-确定校正运动矢量,以便使在重构临近块与通过经由所述校正运动矢量(dx,dy)修改的所述至少一个候选运动矢量运动补偿的预测块之间计算的失真最小化的部件;以及-从经由所述校正运动矢量修改的所述候选运动矢量中确定所述预测运动矢量的部件。

15.一种编码图像序列的当前块的编码设备,其包含:-确定与所述当前块的临近块相关联的至少一个候选运动矢量的部件;

-从所述至少一个候选运动矢量中确定预测运动矢量的部件;

-根据所述预测运动矢量编码所述当前块的部件,

所述编码设备的特征在于确定预测运动矢量的部件包含:-为所述至少一个候选运动矢量确定校正运动矢量,以便使在相继编码和重构的临近块与通过经由所述校正运动矢量修改的所述至少一个候选运动矢量运动补偿的预测块之间计算的失真最小化的部件;以及-从经由所述校正运动矢量修改的所述至少一个候选运动矢量中确定所述预测运动矢量的部件。

说明书全文

运动矢量预测和细化

技术领域

[0001] 本发明涉及图像编码的一般领域。更具体地说,本发明涉及编码图像序列的像素块的方法以及重构这样块的方法。

背景技术

[0002] 在现有技术中已知使用通过如图1所示的时间预测或图像间编码(模式INTER)编码的方法高效编码图像序列。图像Ic的当前块Bc通过从与之特殊相关的、可能从以前编码和重构的参考图像Iref中内插的块Bp中的时间预测来编码。参考图像的块Bp被叫做预测块。使用与当前块Bc相关联的运动矢量MVc识别它。运动矢量MVc通过运动估计的方法,例如,通过块配对方法来确定。按照通过时间预测编码的已知方法,在流F中为当前块Bc编码运动矢量MVc和残差数据。残差数据是从当前块Bc中减去预测块Bp获得的。使用重构参考图像Iref的这种残差数据和与当前块Bc相关联的运动矢量MVc可以重构当前块Bc。
[0003] 此外,在现有技术中已知通过使用与与当前块Bc相邻的块A,B和C相关联的运动矢量的预测来编码与当前块Bc相关联的运动矢量MVc。参考图2,在步骤10期间,从与相邻块A,B和C相关联的运动矢量中确定一个或多个候选运动矢量MVct。一般说来,使用三个候选运动矢量。当块A,B和/或C之一在图像之外或一个块未通过时间预测编码(例如,在INTRA模式中)时存在例外。事实上,在后一种情况下,没有运动矢量与所涉及的块相关联。在步骤12期间,从候选运动矢量MVct中确定预测运动矢量MVp。已知预测运动矢量MVp具有候选运动矢量的横坐标中值和候选运动矢量的纵坐标中值作为坐标。在步骤14期间,考虑到预测运动矢量MVp地编码当前块Bc。众所周知,为块Bc编码从当前块Bc中减去预测块Bp获得的残差数据、和运动矢量差分MVdiff。将从MVc和MVp中计算的运动矢量差分MVdiff编码在流F中。MVdiff具有坐标(MVx-MVpx;MVy-MVpy),其中(MVx;MVy)是Mvc的坐标,(MVpx;MVpy)是Mvp的坐标。一般先变换后量化残差数据。通过VLC(可变长度编码)型熵编码将先变换后量化的残差数据和运动矢量差分MVdiff编码成编码数据。
[0004] 参考图1和2所描述的编码运动矢量MVc的方法就编码成本而言未必总是高效的。

发明内容

[0005] 本发明的目的是克服现有技术的至少一个缺点。为此,本发明涉及编码图像序列的当前块的方法,其包含如下步骤:
[0006] -确定与当前块的临近块相关联的至少一个候选运动矢量;
[0007] -从至少一个候选运动矢量中确定预测运动矢量;以及
[0008] -根据预测运动矢量编码当前块。
[0009] 有利的是,所述预测运动矢量按照如下步骤来确定:
[0010] -为至少一个候选运动矢量确定校正运动矢量,以便使在相继编码和重构的临近块与通过经由校正运动矢量修改的至少一个候选运动矢量补偿的预测块运动之间计算的失真最小化;以及
[0011] -至少从经由校正运动矢量修改的一个候选运动矢量中确定预测运动矢量。
[0012] 按照本发明的一种特定特征,所述编码方法包含确定从与当前块Bc相关联的当前运动矢量和预测运动矢量中计算的运动矢量差分,以及编码当前块的步骤包含编码运动矢量差分。
[0013] 按照本发明的一个特定方面,校正运动矢量的每个坐标的幅度通过第一阈值限制。
[0014] 按照本发明的另一个方面,所述阈值小于代表运动矢量的编码精度的第二阈值。
[0015] 按照本发明的一个特定方面,所述第一阈值等于1/8,和所述第二阈值等于1/4。
[0016] 按照本发明的另一个特定方面,所述第一阈值等于1/4,和所述第二阈值等于1/2。
[0017] 按照本发明的另一个特定方面,以大于运动矢量的编码精度的精度在围绕所述候选运动矢量的限定间隔中确定所述校正运动矢量的每个坐标。
[0018] 按照本发明的第一实施例,确定至少一个候选运动矢量的步骤包含如下步骤:
[0019] -确定至少两个候选运动矢量;
[0020] -将至少两个候选运动矢量合并成合并运动矢量;以及
[0021] -在至少两个候选运动矢量当中选择与合并运动矢量最接近的运动矢量。
[0022] 按照本发明的第二实施例,确定至少两个候选运动矢量,确定校正运动矢量的步骤包含为至少两个候选运动矢量的每一个确定校正运动矢量,以及确定预测运动矢量的步骤包含将经由它们各自校正运动矢量修改的候选运动矢量合并成单个预测运动矢量。
[0023] 本发明另外还涉及重构当前块的方法,其包含如下步骤:
[0024] -确定与当前块的临近块相关联的至少一个候选运动矢量;
[0025] -从至少一个候选运动矢量中确定预测运动矢量;以及
[0026] -根据预测运动矢量重构当前块。
[0027] 所述预测运动矢量按照如下步骤来确定:
[0028] -确定校正运动矢量,以便使在重构临近块与通过经由校正运动矢量修改的至少一个候选运动矢量补偿的预测块运动之间计算的失真最小化;以及
[0029] -从经由校正运动矢量修改的候选运动矢量中确定预测运动矢量。
[0030] 按照本发明的一个特定方面,所述重构方法还包含如下步骤:
[0031] -为当前块解码运动矢量差分;
[0032] -从运动矢量差分和预测运动矢量中为当前块确定至少一个当前运动矢量;以及[0033] -根据当前运动矢量重构当前块。
[0034] 按照本发明的编码和重构方法有利地使编码效率得到提高,即,在质量不变的前提下降低了图像序列的编码成本,或对于给定编码成本提高了图像的重构序列的质量。

附图说明

[0035] 通过参考附图对决不是限制性的实施例和有利实现方式加以描述,可以更好地了解和例示本发明,在附图中:
[0036] 图1示出了按照现有技术的经由时间预测的编码方法;
[0037] 图2示出了按照现有技术编码当前块的方法的流程图;
[0038] 图3示出了按照本发明的第一实施例编码当前块的方法的流程图;
[0039] 图4示出了按照本发明的第一实施例的当前块的编码方法的步骤;
[0040] 图5示出了按照本发明的第一实施例的一种变型编码当前块的方法的流程图;
[0041] 图6示出了按照本发明的第二实施例编码当前块的方法的流程图;
[0042] 图7示出了按照本发明的第一实施例重构当前块的方法的流程图;
[0043] 图8示出了按照本发明的第一实施例的一种变型重构当前块的方法的流程图;
[0044] 图9示出了按照本发明的第二实施例重构当前块的方法的流程图;
[0045] 图10示出了按照本发明的编码设备;以及
[0046] 图11示出了按照本发明的解码设备。

具体实施方式

[0047] 图像序列是一系列的几个画面。每个图像包含每一个与图像数据的至少一个项目相关联的像素或图像点。图像数据的项目是,例如,亮度数据的项目或色度数据的项目。
[0048] 术语“运动数据”应该从最宽泛的意义上来理解。它包含运动矢量以及可能包含使参考图像能够从图像序列中识别出来的参考图像索引。它还可以包含指示用于确定预测块的内插类型的信息项。事实上,在与块Bc相关联的运动矢量MVc不具有整数坐标的情况下,必须在参考图像Iref中内插图像数据,以确定预测块Bp。与一个块相关联的运动数据一般通过运动估计方法,例如,通过块配对来计算。但是,本发明决不会受使运动矢量与一个块相关联的方法限制。
[0049] 术语“残差数据”表示提取了其它数据之后所得的数据。该提取一般是源数据与预测数据的逐个像素相减。但是,该提取更一般,并且尤其包含加权相减。术语“残差数据”与术语“残差”同义。残差块是与残差数据相关联的像素块。
[0050] 术语“变换残差数据”表示已经应用了变换的残差数据。在I.E.Richardson的著作《H.264和MPEG-4视频压缩》的第3.4.2.2章(I.E.Richardson,″H.262 and MPEG-4video compression″,J.Wiley & Sons出版于2003年9月)中描述的DCT(离散余弦变换)是这样变换的一个例子。在I.E.Richardson的著作第3.4.2.3章中描述的小波变换和哈达玛(Hadamard)变换是其它例子。这样的变换将图像数据,例如,残差亮度和/或色度数据块“变换”成也叫做“频率数据块”或“系数块”的“变换数据块”。
[0051] 术语“预测数据”表示用于预测其它数据的数据。预测块是与预测数据相关联的像素块。预测块是从与预测的块所属的图像相同的图像(空间预测或图像内预测)的一个块或几个块中或从与预测的块所属的图像不同的图像(时间预测或图像间预测)的一个(单向预测)或几个(双向测量)块中获得的。
[0052] 术语“重构数据”表示将残差数据与预测数据合并之后所得的数据。该合并一般是预测数据与残差数据的逐个像素相加。但是,该合并更一般,并且尤其包含加权相加。重构块是与重构数据相关联的像素块。
[0053] 参照图3,本发明涉及编码图像序列的当前块的方法。
[0054] 在步骤20期间,从与当前块Bc的空间临近(neighbouring)块相关联的运动矢量当中确定坐标(vx,vy)的候选运动矢量MVct。块Bc属于图像Ic。例如,如图1所示,将候选运动矢量MVct确定成与当前块Bc相邻(adjacent)的块A,B和/或C的运动矢量之一。按照一种变型,将候选运动矢量MVct确定成与块Bc空间临近但未必相邻的块的运动矢量。将与确定的候选运动矢量MVct相关联的与当前块Bc临近的块标记为Bv。默认保留的运动矢量是,例如,与位于当前块Bc左侧的临近块相关联的运动矢量。按照一种变型,如图4所示,默认保留的运动矢量是,例如,与位于当前块Bc上方的临近块相关联的运动矢量。在步骤22期间,确定坐标(dx,dy)的校正运动矢量ΔMV。校正运动矢量ΔMV以这样的方式确定,那就是使在标记为 的、相继编码和重构的临近块与通过经由校正运动矢量ΔMV修改的候选运动矢量MVct补偿的预测块运动之间计算的失真最小化。预测块属于参考图像Iref。例如,使用如下方程:
[0055]
[0056]
[0057] 其中: 是通过MVct+ΔMV补偿的预测块运动;
[0058] 是图像Ic中的像素(x,y)的编码和重构图像数据项的数值;
[0059] 是参考图像中的像素(x,y)的编码和重构图像数据项的数值。
[0060] 按照一种变型, 按照另一种变型,
[0061] 在步骤22期间,因此寻找使E(.,.)最小化的运动矢量ΔMV。例如,对于每个可能值(dx,dy),计算E(dx,dy)的值,并保留使E(dx,dy)的值最小的(dx,dy)值。
[0062] 按照步骤22的一种变型,校正运动矢量ΔMV是在其坐标dx和dy每一个的幅度小于第一阈值aenh的附加约束下使E(.,.)最小的运动矢量ΔMV,其中aenh是对于运动补偿来说许可的精度。例如,如果以1/4的精度编码然后解码运动矢量,则aenh=1/8。这种变型使确定校正运动矢量ΔMV的计算复杂性受到限制。事实上,按照这种变型,只在围绕候选运动矢量MVct的受限间隔内寻找ΔMV,对于水平和垂直分量的每一个,将这个间隔定义如下:[-acod+aenh,acod-aenh]。在更详尽因此计算时更昂贵的版本下,可以在定义如下的较大间隔中进行搜索:[-R,R],R>aenh代表搜索范围。可以使用,例如,R=2.25的值。在这后一种情况下,以aenh的精度在围绕候选运动矢量MVct的间隔[-R,R]中寻找校正运动矢量ΔMV的坐标。
[0063] 在步骤24期间,从经由校正运动矢量ΔMV修改的候选运动矢量MVct中确定预测运动矢量MVp。MVp=MVct+ΔMV。
[0064] 在步骤26期间,考虑到预测运动矢量MVp地编码当前块Bc。众所周知,为块Bc编码从当前块Bc中减去预测块Bp获得的残差数据、和运动矢量差分MVdiff。将从MVc和MVp中计算的运动矢量差分MVdiff编码在流F中。MVdiff具有坐标(MVx-MVpx;MVy-MVpy),其中(MVx;MVy)是MVc的坐标,并且(MVpx;MVpy)是MVp的坐标。一般先变换后量化残差数据。通过VLC(可变长度编码)型熵编码或CABAC(上下文自适应二进制算术编码)型编码将先变换后量化的残差数据和运动矢量差分MVdiff编码成编码数据。对于MVdiff来说许可的最大编码精度是acod。熵编码方法的例子在I.E.Richardson的著作第6.5.4章或ISO/IEC 14496-10文件“Information technology-Coding of audio-visual objects-Part10:Advanced Video Coding”的第9.3节中描述。按照另一种变型,可以使用像在ISO/IEC 14496-10文件“Information technology-Coding of audio-visual objects–Part
10:Advanced Video Coding”的第9.2节以及I.E.Richardson的著作第6.4.13.2章中描述的那样的CAVLC(基于上下文自适应可变长度编码)型方法。
[0065] 按照一种变型,按照SKIP编码模式编码当前块Bc。在这种情况下,没有为当前块Bc将残差数据和运动数据编码在流F中。事实上,当从当前块中提取根据在步骤24中确定的预测运动矢量MVp确定的预测块获得的残差块让它的所有系数都是零时,“跳过(skip)”编码模式仍然编码当前块。
[0066] 按照在图5中示出的第一实施例的一种变型,确定候选运动矢量MVct的步骤20包含确定至少两个候选运动矢量的步骤200、将在步骤200中确定的候选运动矢量合并成合并运动矢量的步骤202、和按照合并运动矢量从在步骤200中确定的运动矢量当中选择候选运动矢量MVct的步骤204。图5中与图3中的那些相同的步骤用相同的标号标识,并不再作进一步描述。
[0067] 在步骤200中,从与与当前块Bc空间临近的块相关联的运动矢量当中确定至少两个候选运动矢量MVct1和MVct2。例如,如图1所示,将候选运动矢量MVct1和MVct2确定成与当前块Bc相邻的块A,B和/或C的运动矢量。按照一种变型,将候选运动矢量MVct1和MVct2确定成与块Bc空间临近但未必相邻的块的运动矢量。将与候选运动矢量MVct1相关联的当前块Bc的临近块标记为Bv1,将与候选运动矢量MVct2相关联的当前块Bc的临近块标记为Bv2。候选运动矢量MVct1具有坐标(vx1,vy1),候选运动矢量MVct2具有坐标(vx2,vy2)。
[0068] 在步骤202期间,将在步骤200中确定的候选运动矢量合并成坐标(MVfus(x),MVfus(y))的单个运动矢量MVfus。 例 如,MVfus(x)=median(vx1,vx2,
0) 和MVfus(y)=median(vy1,vy2,0)。 按 照 一 种 变 型,MVfus(x)=0.5*(vx1+vx2) 和MVfus(y)=0.5*(vy1+vy2)。
[0069] 在步骤204期间,将按照某种标准与MVfus最接近的在步骤200中的确定的候选运动矢量选为候选运动矢量MVct。例如,如果‖MVct2-MVfus‖<‖MVct1-MVfus‖,则MVct=MVct2,否则,MVct=MVct1。该标准是,例如,标准L2。该标准也可以是绝对值。
[0070] 针对两个候选运动矢量MVct1和MVct2所述的这种变型可以以相同方式应用于任意个候选运动矢量。
[0071] 在图6中示出了第二实施例。
[0072] 在步骤30期间,从与与当前块Bc空间临近的块相关联的运动矢量当中确定至少两个候选运动矢量MVct1和MVct2。例如,如图1所示,将候选运动矢量MVct1和MVct2确定成与当前块Bc相邻的块A,B和/或C的运动矢量。按照一种变型,将候选运动矢量MVct1和MVct2确定成与块Bc空间临近但未必相邻的块的运动矢量。将与候选运动矢量MVct1相关联的当前块Bc的临近块标记为Bv1,将与候选运动矢量MVct2相关联的当前块Bc的临近块标记为Bv2。
[0073] 在步骤32期间,为候选运动矢量MVct1确定坐标(dx1,dy1)的校正运动矢量ΔMV1,为候选运动矢量MVct2确定坐标(dx2,dy2)的校正运动矢量ΔMV2。将运动矢量ΔMV1确定成使在相继编码和重构的与候选运动矢量MVct1相关联的临近块与通过经由校正运动矢量ΔM1修改的候选运动矢量MVct1补偿的预测块运动之间计算的失真最小化。同样,将运动矢量ΔMV2确定成使在相继编码和重构的与候选运动矢量MVct2相关联的临近块与通过经由校正运动矢量ΔMV2修改的候选运动矢量MVct2补偿的预测块运动之间计算的失真最小化。例如,使用如下函数:
[0074]
[0075]
[0076]
[0077]
[0078] 按照一种变型, 和按照另一种变型,

[0079]
[0080] 在步骤32期间,因此寻找使E1(.,.)最小化的校正运动矢量ΔMV1、和使E2(.,.)最小化的校正运动矢量ΔMV2。例如,对于每个可能值(dx1,dy1),计算E1(dx1,dy1)的值,并保留使E1(dx1,dy1)的值最小的(dx1,dy1)值。同样,对于每个可能值(dx2,dy2),计算E2(dx2,dy2)的值,并保留使E2(dx2,dy2)的值最小的(dx2,dy2)值。
[0081] 按照步骤32的一种变型,校正运动矢量ΔMV1和ΔMV2是在其坐标dx1,dx2,dy1和dy2每一个的幅度都小于aenh的附加约束下分别使E1(.,.)和E2(.,.)最小的那些运动矢量ΔMV1和ΔMV2,其中aenh是对于运动补偿来说许可的精度。例如,如果以1/4的精度编码然后解码运动矢量,则aenh=1/8。这种变型使确定校正运动矢量ΔMV1和ΔMV2的计算复杂性受到限制。事实上,按照这种变型,只在分别围绕候选运动矢量MVct1和MVct2的受限间隔内寻找ΔMV1和ΔMV2,对于水平和垂直分量的每一个,将这个间隔定义如下:[-acod+aenh,acod-aenh]。在更详尽并因此计算时更昂贵的形式下,可以在定义如下的较大间隔中进行搜索:[-R,R],R>aenh代表搜索范围。可以使用,例如,R=2的值。在这后一种情况下,以aenh的精度在围绕候选运动矢量的间隔[-R,R]中寻找校正运动矢量的坐标。
[0082] 在步骤34期间,通过合并分别经由校正运动矢量ΔMV1和ΔMV2修改的候选运动矢量MVct1和MVct2确定预测运动矢量MVp。例如,MVpx=median(vx1+dx1,vx2+dx2,0)和MVpy=median(vy1+dy 1,vy2+dy2,0)。按照一种变型,MVpx=min(vx1+dx1,vx2+dx2,0)和MVpy=min(vy1+dy1,vy2+dy2,0)。按照另一种变型,MVpx=0.5*(vx1+dx1+vx2+dx2)和MVpy=0.5*(vy1+dy1+vy2+dy2)。
[0083] 在步骤36期间,考虑到预测运动矢量MVp地编码当前块Bc。众所周知,为块Bc编码从当前块Bc中减去预测块Bp获得的残差数据、和运动矢量差分MVdiff。将从MVc和MVp中计算的运动矢量差分MVdiff编码在流F中。MVdiff具有坐标(MVx-MVpx;MVy-MVpy),其中(MVx;MVy)是Mvc的坐标,(MVpx;MVpy)是Mvp的坐标。一般先变换后量化残差数据。通过VLC(可变长度编码)型熵编码或CABAC(上下文自适应二进制算术编码)型编码将先变换后量化的残差数据和运动矢量差分MVdiff编码成编码数据。对于MVdiff来说许可的最大编码精度是acod。熵编码方法的例子在I.E.Richardson的著作第6.5.4章或ISO/IEC 14496-10文件“Information technology-Coding of audio-visual objects–Part
10:Advanced Video Coding”的第9.3节中描述。按照另一种变型,可以使用像在ISO/IEC 14496-10文件“Information technology-Coding of audio-visual objects–Part
10:Advanced Video Coding”的第9.2节以及I.E.Richardson的著作第6.4.13.2章中描述的那样的CAVLC(基于上下文自适应可变长度编码)型方法。
[0084] 按照一种变型,按照SKIP编码方法编码当前块Bc。在这种情况下,没有为当前块Bc将残差数据和运动数据编码在流F中。事实上,当从当前块中提取根据在步骤24中确定的预测运动矢量MVp确定的预测块获得的残差块让它的所有系数都是零时,“跳过”编码模式仍然编码当前块。
[0085] 上面参考图5描述了针对两个候选运动矢量MVct1和MVct2的实施例,但是,也可以应用于任意个候选运动矢量。在这种情况下,在步骤32期间,为每个候选运动矢量确定校正运动矢量。在步骤34期间,从经由它们各自的校正运动矢量修改的候选运动矢量中确定预测运动矢量MVp。
[0086] 参考图7,本发明还涉及重构图像序列的当前块的方法。
[0087] 在步骤52期间,从与当前块Bc的空间临近块相关联的运动矢量当中确定坐标(vx,vy)的候选运动矢量MVct。例如,如图1所示,将候选运动矢量MVct确定成与当前块Bc相邻的块A,B和/或C的运动矢量之一。按照一种变型,将候选运动矢量MVct确定成与块Bc空间临近但未必相邻的块的运动矢量。将与确定的候选运动矢量MVct相关联的与当前块Bc临近的块标记为Bv。默认保留的运动矢量是,例如,与位于当前块Bc左侧的临近块相关联的运动矢量。按照一种变型,如图4所示,默认保留的运动矢量是,例如,与位于当前块Bc上方的临近块相关联的运动矢量。步骤52与编码方法的步骤20相同。
[0088] 在步骤54期间,确定坐标(dx,dy)的校正运动矢量ΔMV。校正运动矢量ΔMV以这样的方式确定,那就是使在标记为 的、相继编码和重构的临近块与通过经由校正运动矢量ΔMV修改的候选运动矢量MVct补偿的预测块运动之间计算的失真最小化。预测块属于参考图像Iref。例如,使用如下函数:
[0089]
[0090]
[0091] 其中: 是通过MVct+ΔMV补偿的预测块运动;
[0092] 是图像Ic中的像素(x,y)的编码和重构图像数据项的数值;以及
[0093] 是参考图像中的像素(x,y)的编码和重构图像数据项的数值。
[0094] 按照一种变型, 按照另一种变型,
[0095] 在步骤54期间,因此寻找使E(.,.)最小化的运动矢量ΔMV。例如,对于每个可能值(dx,dy),计算E(dx,dy)的值,并保留使E(dx,dy)的值最小的(dx,dy)值。步骤54与编码方法的步骤22相同。
[0096] 按照步骤54的一种变型,校正运动矢量ΔMV是在其坐标dx和dy每一个的幅度小于第一阈值aenh的附加约束下使E(.,.)最小化的运动矢量ΔMV,其中aenh是对于运动补偿来说许可的精度。例如,如果以1/4的精度编码然后解码运动矢量,则aenh=1/8。这种变型使确定校正运动矢量ΔMV的计算复杂性受到限制。事实上,按照这种变型,只在围绕候选运动矢量MVct的受限间隔内寻找矢量ΔMV,对于水平和垂直分量的每一个,将这个间隔定义如下:[-acod+aenh,acod-aenh]。在更详尽因此计算时更昂贵的版本下,可以在定义如下的较大间隔中进行搜索:[-R,R],R>aenh代表搜索范围。可以使用,例如,R=2的值。在这后一种情况下,以aenh的精度在围绕候选运动矢量MVct的间隔[-R,R]中寻找校正运动矢量ΔMV的坐标。
[0097] 在步骤56期间,从经由校正运动矢量ΔMV修改的候选运动矢量MVct中确定预测运动矢量MVp。MVp=MVct+ΔMV。步骤56与编码方法的步骤24相同。
[0098] 在步骤58期间,考虑到预测运动矢量MVp地重构当前块Bc。更具体地说,通过VLC(可变长度编码)型熵编码或CABAC(上下文自适应二进制算术编码)型编码从流F中解码变换/量化残差数据和运动矢量差分MVdiff。去量化然后通过在编码方法的步骤26中使用的变换的逆变换来变换所变换/量化残差数据。从运动矢量差分MVdiff和在步骤56中确定的预测运动矢量MVp中为当前块Bc重构运动矢量MVc。MVc具有坐标(MVdiffx+MVpx;MVdiffy+MVpy),其中(MVdiffx;MVdiffy)是MVdif的坐标,(MVpx;MVpy)是MVp的坐标。在从运动矢量MVc中重构的参考图像中确定预测块,它与通过运动矢量MVc补偿的预测块运动有关。然后,将预测块与从流F中为当前块重构的残差数据块合并,例如,逐个像素相加。
[0099] 按照一种变型,按照SKIP编码方法重构当前块Bc。在这种情况下,没有为当前块Bc将残差数据和运动数据编码在流F中。在这种情况下,重构的块Bc是通过在步骤56中确定的预测运动矢量MVp补偿的预测块运动。
[0100] 按照在图8中示出的一种变型,确定候选运动矢量MVct的步骤52包含确定至少两个候选运动矢量的步骤520、将在步骤520中确定的候选运动矢量合并成合并运动矢量的步骤522、和按照合并运动矢量从在步骤520中确定的运动矢量当中选择候选运动矢量MVct的步骤524。步骤520与图5的步骤200相同,步骤522与图5的步骤202相同,并且步骤524与图5的步骤204相同。
[0101] 在图9中示出了另一个实施例。
[0102] 在步骤62期间,从与与当前块Bc空间临近的块相关联的运动矢量当中确定至少两个候选运动矢量MVct1和MVct2。例如,如图1所示,将候选运动矢量MVct1和MVct2确定成与当前块Bc相邻的块A,B和/或C的运动矢量。按照一种变型,将候选运动矢量MVct1和MVct2确定成与块Bc空间临近但未必相邻的块的运动矢量。将与候选运动矢量MVct1相关联的当前块Bc的临近块标记为Bv1,将与候选运动矢量MVct2相关联的当前块Bc的临近块标记为Bv2。这个步骤62与图6的步骤30相同。
[0103] 在步骤64期间,为候选运动矢量MVct1确定坐标(dx1,dy1)的校正运动矢量ΔMV1,为候选运动矢量MVct2确定坐标(dx2,dy2)的校正运动矢量ΔMV2。将运动矢量ΔMV1确定成使在相继编码和重构的与候选运动矢量MVct1相关联的临近块与通过经由校正运动矢量ΔM1修改的候选运动矢量MVct1补偿的预测块运动之间计算的失真最小化。同样,将运动矢量ΔMV2确定成使在相继编码和重构的与候选运动矢量MVct2相关联的临近块与通过经由校正运动矢量ΔM2修改的候选运动矢量MVct2补偿的预测块运动之间计算的失真最小化。例如,使用如下函数:
[0104]
[0105]
[0106]
[0107]
[0108] 按照一种变型, 和按照另一种变型,

[0109] 在步骤64期间,因此寻找使E1(.,.)最小化的校正运动矢量ΔMV1、和使E2(.,.)最小化的校正运动矢量ΔMV2。例如,对于每个可能值(dx1,dy1),计算E1(dx1,dy1)的值,并保留使E1(dx1,dy1)的值最小的(dx1,dy1)值。同样,对于每个可能值(dx2,dy2),计算E2(dx2,dy2)的值,并保留使E2(dx2,dy2)的值最小的(dx2,dy2)值。这个步骤64与图6的步骤32相同。
[0110] 按照步骤64的一种变型,校正运动矢量ΔMV1和ΔMV2是在其坐标dx1,dx2,dy1和dy2每一个的幅度都小于aenh的附加约束下分别使E1(.,.)和E2(.,.)最小化的那些运动矢量ΔMV1和ΔMV2,其中aenh是对于运动补偿来说许可的精度。例如,如果以1/4的精度编码然后解码运动矢量,则aenh=1/8。这种变型使确定校正运动矢量ΔMV1和ΔMV2的计算复杂性受到限制。事实上,按照这种变型,只在分别围绕候选运动矢量MVct1和MVct2的受限间隔内寻找ΔMV1和ΔMV2,对于水平和垂直分量的每一个,将这个间隔定义如下:[-acod+aenh,acod-aenh]。在更详尽并因此计算时更昂贵的形式下,可以在定义如下的较大间隔中进行搜索:[-R,R],R>aenh代表搜索范围。可以使用,例如,R=2的值。在这后一种情况下,以aenh的精度在围绕候选运动矢量MVct的间隔[-R,R]中寻找校正运动矢量ΔMV的坐标。
[0111] 在步骤66期间,通过合并分别经由校正运动矢量ΔMV1和ΔMV2修改的候选运动矢量MVct1和MVct2确定预测运动矢量MVp。例如,MVpx=median(vx1+dx1,vx2+dx2,0)和MVpy=median(vy1+dy1,vy2+dy2,0)。按照一种变型,MVpx=min(vx1+dx1,vx2+dx2,0)和MVpy=min(vy1+dy1,vy2+dy2,0)。按照另一种变型,MVpx=0.5*(vx1+dx1+vx2+dx2)和MVpy=0.5*(vy1+dy1+vy2+dy2)。这个步骤66与图6的步骤34相同。
[0112] 在步骤68期间,考虑到预测运动矢量MVp地重构当前块Bc。更具体地说,通过VLC(可变长度编码)型熵编码或CABAC(上下文自适应二进制算术编码)型编码从流F中解码变换/量化残差数据和运动矢量差分MVdiff。去量化然后通过在编码方法的步骤26中使用的变换的逆变换来变换所变换/量化残差数据。从运动矢量差分MVdiff和在步骤56中确定的预测运动矢量MVp中为当前块Bc重构运动矢量MVc。MVc具有坐标(MVdiffx+MVpx;MVdiffy+MVpy),其中(MVdiffx;MVdiffy)是MVdiff的坐标,(MVpx;MVpy)是MVp的坐标。
在从运动矢量MVc中重构的参考图像中确定预测块,它与通过运动矢量MVc补偿的预测块运动有关。然后,将预测块与从流F中为当前块重构的残差数据块合并,例如,逐个像素相加。
[0113] 按照一种变型,按照SKIP编码方法重构当前块Bc。在这种情况下,没有为当前块Bc将残差数据和运动数据编码在流F中。在这种情况下,重构的块Bc是通过在步骤66中确定的预测运动矢量MVp补偿的预测块运动。
[0114] 在将单个运动矢量与一个(单向预测)块相关联的情况下描述的本发明可以直接推广到将两个或更多个运动矢量与一个块(例如,双向预测)相关联的情况。在这种情况下,将每个运动矢量与参考图像的列表相关联。例如,在H.264中,双向型块使用两个列表L0和L1,为每个列表定义一个运动矢量。在双向情况下,为每个列表独立应用步骤20到24或30到34。在每个步骤20(相应地30)期间,从与当前列表相同的列表的运动矢量中确定一个或数个候选运动矢量,并将其与与当前块Bc空间临近的块相关联。在步骤26(相应地36)根据来自步骤24(相应地34)的每个列表的运动矢量编码当前块Bc。
[0115] 按照本发明编码和重构运动矢量的方法具有使用校正运动矢量改进预测运动矢量的方法的优点。因此,就质量和/或编码成本而言,它们具有提高编码效率的优点。按照本发明的方法尤其能够偏向于选择“跳过”编码模式。另外,在时间预测的情况下,它还能够降低运动数据的编码成本,或在成本不变的前提下提高运动矢量的精度,因此运动补偿的质量。事实上,预测运动矢量MVp具有精度aenh,编码矢量差分MVdiff具有精度acod,因此,相加预测运动矢量和编码矢量差分所得的重构矢量MVc具有精度aenh。按照本发明的编码和重构方法因此能够按照某个精度acod编码运动矢量,然后对运动矢量进行等于aenh的较大精度的运动补偿。
[0116] 本发明还涉及参考图10描述的编码设备12和参考图11描述的解码设备13。在图10和11中,所示的模块是可以对应于或可以不对应于物理上可区分单元的功能单元。例如,这些模块或它们的一些可以一起分组在单个部件中,或构成同一软件的功能。相反,一些模块可以由分立物理实体组成。
[0117] 参考图10,编码设备12在输入端上接收属于图像序列的图像。每个图像被划分成每一个与至少一个图像数据项相关联的像素块。编码设备12尤其实现了利用时间预测的编码。在图10中只示出了编码设备12与通过时间预测的编码或INTER编码有关的模块。未示出的和视频编码器的普通技术人员熟知的其它模块实现利用或不利用空间预测的INTRA编码。编码设备12尤其包含了能够,例如,通过逐个像素相减,从当前块Bc中提取预测块Bp以生成残差图像数据块或残差块Bres的计算模块1200。它进一步包含能够变换残差块Bres然后将其量化成量化数据的模块1202。变换T是,例如,离散余弦变换(或DCT)。编码设备12进一步包含能够将量化数据编码成编码数据流F的熵编码模块1204。它进一步-1 -1包含进行模块1202的逆操作的模块1206。模块1206先进行逆量化Q 再进行逆变换T 。
模块1206与计算模块1208连接,计算模块1208能够,例如,通过逐个像素相加,合并来自模块1206的数据块和预测块Bp,以生成存储在存储器1210中的重构图像数据块。编码设备12进一步包含能够估计块Bc与存储在存储器1210中的参考图像Iref的块之间的至少一个运动矢量MVc的运动估计模块1212,这个图像是以前编码然后重构的。按照一种变型,可以在当前块Bc与原始参考图像Ic之间进行运动估计,在这种情况下存储器1210未与运动估计模块1212连接。按照本领域的普通技术人员众所周知的方法,运动估计模块以这样的方式在参考图像Iref中搜索运动数据项,尤其运动矢量,那就是使在当前块Bc与通过运动数据项识别的参考图像Iref中的块之间计算的误差最小化。
[0118] 确定的运动数据由运动估计模块1212发送给判定模块1214,判定模块1214能够在预定的一组编码模式中为当前块Bc选择一种编码模式。留下的编码模式是,例如,使位速率-失真型准则最小化的那一种。但是,本发明不局限于这种选择方法,而是可以按照另一种准则,例如,先验型准则选择留下的模式。将判定模块1214选择的编码模式以及运动数据,例如,在时间预测模式或INTER模式的情况下的一个或多个运动数据项发送给预测模块1216。预测模块1216能够实现编码方法的步骤20到24或30到34。步骤26和36经由编码设备12的该组模块实现。另外,将选择的编码模式和在相反的情况下,一个或多个运动数据项发送给熵编码模块1204以便编码在流F中。预测模块1216从判定模块1214确定的编码模式中,以及可能从运动估计模块1212确定的运动数据(图像间预测)中确定预测块Bp。
[0119] 参考图11,解码设备13在输入端上接收代表图像序列的编码数据流F。流F是,例如,编码设备12经由信道发送的。解码设备13包含能够生成解码数据,例如,编码模式和与图像的内容有关的解码数据的熵解码模块1300。
[0120] 解码设备13还包含运动数据重构模块。按照第一实施例,该运动数据重构模块是解码代表所述运动数据的流F的一部分的熵解码模块1300。按照未在图13中示出的一种变型,该运动数据重构模块是运动估计模块。这种经由解码设备13重构运动数据的解决方案称为“模板匹配”。
[0121] 然后将与图像的内容有关的解码数据发送给能够先进行逆量化后进行逆变换的模块1302。模块1302与生成编码流F的编码设备12的模块1206相同。模块1302与计算模块1304连接,计算模块1304能够,例如,通过逐个像素相加,合并来自模块1302的块和预测块Bp,以生成存储在存储器1306中的重构当前块Bc。解码设备13还包含预测模块1308。预测模块1308从熵解码模块1300为当前块解码的编码模式中,以及可能从运动数据重构模块确定的运动数据中确定预测块Bp。预测模块1308能够实现按照本发明的解码方法的步骤52到56或62到66。步骤58和68通过解码设备12的该组模块实现。
[0122] 显然,本发明不局限于上述的实施例子。
[0123] 尤其,本领域的普通技术人员可以将任何变型应用于所述实施例,并组合它们以便从它们的各种优点中获益。尤其,本发明决不会受未必与当前块相邻的候选运动矢量类型限制。另外,在将单个运动矢量与一个(单向预测)块相关联的情况下描述的本发明可以直接推广到将两个或更多个运动矢量与一个块(例如,双向预测)相关联的情况。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用