图像解码装置、图像解码方法、接收装置及接收方法转让专利

申请号 : CN201510583941.7

文献号 : CN105430390B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 竹原英树中村博哉福岛茂

申请人 : JVC建伍株式会社

摘要 :

本发明提供一种图像解码装置、图像解码方法、接收装置及接收方法。本发明的图像解码装置包括:候选列表生成部,从与解码对象块相邻的多个已解码的块中,选择分别具有1个或2个至少包含运动矢量的信息和参照图像的信息的运动信息的多个块,根据所选择的块的运动信息,生成包含用于运动补偿预测的运动信息的候选的候选列表,第1运动信息取得部,从候选所包含的第1候选取得第1方向的第1运动信息,第2运动信息取得部,从候选所包含的与第1候选不同的第2候选取得与第1方向不同的第2方向的第2运动信息,以及选择候选生成部,将第1运动信息和第2运动信息组合,生成运动信息的第1新的候选。

权利要求 :

1.一种进行运动补偿预测的图像解码装置,其特征在于,包括:候选列表生成部,从与解码对象块相邻的多个已解码的块中,选择分别具有1个或2个至少包含运动矢量的信息和参照图像的信息的运动信息的多个块,根据所选择的块的运动信息,生成包含用于运动补偿预测的运动信息的候选的候选列表,第1运动信息取得部,从上述候选所包含的第1候选取得第1方向的第1运动信息,第2运动信息取得部,从上述候选所包含的与上述第1候选不同的第2候选取得与上述第1方向不同的第2方向的第2运动信息,以及选择候选生成部,将上述第1运动信息和上述第2运动信息组合,生成运动信息的第1新的候选,上述第1运动信息取得部还从上述第2候选取得上述第1方向的第3运动信息,上述第2运动信息取得部还从上述第1候选取得上述第2方向的第4运动信息,上述选择候选生成部将上述第3运动信息和上述第4运动信息组合,生成运动信息的第

2新的候选,

上述图像解码装置还包括:

码串解析部,解码出用于在上述候选列表内确定用于运动补偿预测的运动信息的候选的候选确定信息,以及选择部,利用解码出的上述候选确定信息,从上述候选列表所包含的候选中选择1个候选,所述运动信息的第1新的候选和所述运动信息的第2新的候选包含于候选列表。

2.一种进行运动补偿预测的图像解码方法,其特征在于,包括:从与解码对象块相邻的多个已解码的块中,选择分别具有1个或2个至少包含运动矢量的信息和参照图像的信息的运动信息的多个块,根据所选择的块的运动信息,生成包含用于运动补偿预测的运动信息的候选的候选列表的步骤,从上述候选所包含的第1候选取得第1方向的第1运动信息的步骤,从上述候选所包含的与上述第1候选不同的第2候选取得与上述第1方向不同的第2方向的第2运动信息的步骤,将上述第1运动信息和上述第2运动信息组合,生成运动信息的第1新的候选的步骤,从上述第2候选取得上述第1方向的第3运动信息的步骤,从上述第1候选取得上述第2方向的第4运动信息的步骤,将上述第3运动信息和上述第4运动信息组合,生成运动信息的第2新的候选的步骤,解码出用于在上述候选列表内确定用于运动补偿预测的运动信息的候选的候选确定信息的步骤,以及利用解码出的上述候选确定信息,从上述候选列表所包含的候选中选择1个候选的步骤,所述运动信息的第1新的候选和所述运动信息的第2新的候选包含于候选列表。

3.一种进行运动补偿预测的接收装置,其特征在于,包括:接收部,接收对动图像编码后的编码数据,

包处理部,对上述编码数据进行包处理而生成编码流,

候选列表生成部,从上述编码流中的与解码对象块相邻的多个已解码的块中,选择分别具有1个或2个至少包含运动矢量的信息和参照图像的信息的运动信息的多个块,根据所选择的块的运动信息,生成包含用于运动补偿预测的运动信息的候选的候选列表,第1运动信息取得部,从上述候选所包含的第1候选取得第1方向的第1运动信息,第2运动信息取得部,从上述候选所包含的与上述第1候选不同的第2候选取得与上述第1方向不同的第2方向的第2运动信息,以及选择候选生成部,将上述第1运动信息和上述第2运动信息组合,生成运动信息的第1新的候选,上述第1运动信息取得部还从上述第2候选取得上述第1方向的第3运动信息,上述第2运动信息取得部还从上述第1候选取得上述第2方向的第4运动信息,上述选择候选生成部将上述第3运动信息和上述第4运动信息组合,生成运动信息的第

2新的候选,

上述接收装置还包括:

码串解析部,解码出用于在上述候选列表内确定用于运动补偿预测的运动信息的候选的候选确定信息,以及选择部,利用解码出的上述候选确定信息,从上述候选列表所包含的候选中选择1个候选,所述运动信息的第1新的候选和所述运动信息的第2新的候选包含于候选列表。

4.一种进行运动补偿预测的接收方法,其特征在于,包括:接收对动图像编码后的编码数据的步骤,

对上述编码数据进行包处理而生成编码流的步骤,

从上述编码流中的与解码对象块相邻的多个已解码的块中,选择分别具有1个或2个至少包含运动矢量的信息和参照图像的信息的运动信息的多个块,根据所选择的块的运动信息,生成包含用于运动补偿预测的运动信息的候选的候选列表的步骤,从上述候选所包含的第1候选取得第1方向的第1运动信息的步骤,从上述候选所包含的与上述第1候选不同的第2候选取得与上述第1方向不同的第2方向的第2运动信息的步骤,将上述第1运动信息和上述第2运动信息组合,生成运动信息的第1新的候选的步骤,从上述第2候选取得上述第1方向的第3运动信息的步骤,从上述第1候选取得上述第2方向的第4运动信息的步骤,将上述第3运动信息和上述第4运动信息组合,生成运动信息的第2新的候选的步骤,解码出用于在上述候选列表内确定用于运动补偿预测的运动信息的候选的候选确定信息的步骤,以及利用解码出的上述候选确定信息,从上述候选列表所包含的候选中选择1个候选的步骤,所述运动信息的第1新的候选和所述运动信息的第2新的候选包含于候选列表。

说明书 :

图像解码装置、图像解码方法、接收装置及接收方法

[0001] 本申请是国际申请日为2012年6月27日、国际申请号为PCT/JP2012/004148、国家申请号为201280032664.5、发明名称为“图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序”的发明专利申请的分案申请。

技术领域

[0002] 本发明涉及使用了运动补偿预测的动图像编码技术,特别涉及对在运动补偿预测中使用的运动信息进行编码或解码的图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序。

背景技术

[0003] 在一般的动图像压缩编码中,使用运动补偿预测。运动补偿预测是将对象图像分割成较细小的块,将已解码的图像作为参照图像,基于运动矢量所示的运动量,生成从对象图像的对象块移动到参照图像的参照块的位置的信号作为预测信号的技术。运动补偿预测有利用1个运动矢量单向进行的、和利用2个运动矢量双向进行的。
[0004] 此外,关于运动矢量,将与处理对象块相邻的已编码的块的运动矢量作为预测运动矢量(也简称作“预测矢量”),求出处理对象块的运动矢量与预测矢量的差分,将差分矢量作为编码矢量来传输,由此提高压缩效率。
[0005] 在MPEG-4AVC中,通过使运动补偿预测的块尺寸比MPEG-2更细且更多样来提高运动补偿预测的效率。另一方面,因块尺寸更细,运动矢量数会増加,故编码矢量的码量会成为问题。
[0006] 因此,在MPEG-2中,单纯地将处理对象块的左相邻的块的运动矢量作为预测矢量,但在MPEG-4AVC中,将多个相邻块的运动矢量的中央值作为预测矢量,从而提高预测矢量的精度,并抑制了编码矢量的码量的増加。此外,在MPEG-4AVC中已知有直接运动补偿预测。直接运动补偿预测是将已编码的其它图像的与处理对象块处于相同位置的块的运动矢量按对象图像与2个参照图像的距离进行缩放,生成新的运动矢量,不传输编码矢量就实现运动补偿预测的方式。
[0007] 此外,已知有利用与处理对象块相邻的块的运动信息,不传输编码矢量地实现运动补偿预测的运动补偿预测(例如参照专利文献1)。
[0008] 〔在先技术文献〕
[0009] 〔专利文献〕
[0010] 〔专利文献1〕日本特开平10-276439号公报

发明内容

[0011] 〔发明所要解决的课题〕
[0012] 如上所述,不传输编码矢量的直接运动补偿预测关注于处理对象块和已编码的其它图像的与处理对象块处于相同位置的块的运动的连续性。此外,专利文献1关注于处理对象块和与处理对象块相邻的块的运动的连续性。由此,通过利用其它块的运动信息,不将包含差分矢量的运动信息作为编码矢量进行编码来提高编码效率。
[0013] 但在以往的运动补偿预测中,存在如下这样的难点:若处理对象块的运动与相邻于处理对象块的块的运动、或已编码的其它图像的处于与处理对象块相同位置周边的块的运动存在偏差,则必须对包含差分矢量的运动信息进行编码,未能充分地发挥编码效率的提高。
[0014] 本发明是鉴于这样的状况而研发的,其目的在于提供一种使包含运动矢量的运动信息的编码效率进一步提高的技术。
[0015] 〔用于解决课题的手段〕
[0016] 为解决上述课题,本发明一个方案的图像编码装置是进行运动补偿预测的图像编码装置,包括:候选列表生成部(140),从与编码对象块相邻的多个已编码的块中,选择分别具有1个或2个至少包含运动矢量的信息和参照图像的信息的运动信息的多个块,根据所选择的块的运动信息,生成包含用于运动补偿预测的运动信息的候选的候选列表;第1运动信息取得部(161),从上述候选所包含的第1候选取得第1预测列表的运动信息;第2运动信息取得部(162),从上述候选所包含的第2候选取得第2预测列表的运动信息;以及选择候选生成部(163),将由上述第1运动信息取得部(161)取得的上述第1预测列表的运动信息和由上述第2运动信息取得部(162)取得的上述第2预测列表的运动信息组合,生成运动信息的新的候选。
[0017] 可以在上述候选的数量不足所设定的最大数时,上述候选列表生成部(140)生成包含由上述选择候选生成部(163)生成的新的候选的候选列表。
[0018] 列表生成部(140)可以以上述候选的数量不超过上述最大数的方式生成包含了由上述选择候选生成部(163)生成的1个以上新的候选的候选列表。
[0019] 可以还包括码串生成部(104),将用于在上述候选列表内确定用于运动补偿预测的运动信息的候选的候选确定信息编码。
[0020] 上述候选列表生成部(140)对由上述选择候选生成部(163)生成的新的候选分配比上述候选大的候选确定信息。
[0021] 上述第1预测列表和上述第2预测列表可以是不同的预测列表。
[0022] 上述候选列表生成部(140)可以将从与包含上述编码对象块的图像时间上不同的图像的块的运动信息导出的运动信息包含在候选列表中。
[0023] 上述第1运动信息取得部(161)可以按第1优先顺序检索上述候选,将成为有效的候选作为上述第1候选。上述第2运动信息取得部(162)可以按第2优先顺序检索上述候选,将成为有效的候选作为上述第2候选。
[0024] 上述第1运动信息取得部(161)可以将上述候选中的预先规定的候选作为上述第1候选。上述第2运动信息取得部(162)可以将上述候选中的预先规定的另一候选作为上述第2候选。
[0025] 上述选择候选生成部(163)可以在由上述第1运动信息取得部(161)和上述第2运动信息取得部(162)取得的、上述第1预测列表的运动信息和上述第2预测列表的运动信息两者都有效时,生成上述新的候选。
[0026] 上述新的候选可以具有2个运动信息。上述新的候选可以具有1个运动信息。
[0027] 本发明的另一方案是一种图像编码方法。该方法是进行运动补偿预测的图像编码方法,包括:从与编码对象块相邻的多个已编码的块中,选择分别具有1个或2个至少包含运动矢量的信息和参照图像的信息的运动信息的多个块,根据所选择的块的运动信息,生成包含用于运动补偿预测的运动信息的候选的候选列表的步骤;从上述候选列表所包含的第1候选取得第1预测列表的运动信息的步骤;从上述候选列表所包含的第2候选取得第2预测列表的运动信息的步骤;以及将上述第1预测列表的运动信息和上述第2预测列表的运动信息组合,生成运动信息的新的候选的步骤。
[0028] 本发明一个方案的图像解码装置是一种进行运动补偿预测的图像解码装置,包括:候选列表生成部(230),从与解码对象块相邻的多个已解码的块中,选择分别具有1个或2个至少包含运动矢量的信息和参照图像的信息的运动信息的多个块,根据所选择的块的运动信息,生成包含用于运动补偿预测的运动信息的候选的候选列表;第1运动信息取得部(161),从上述候选所包含的第1候选取得第1预测列表的运动信息;第2运动信息取得部(162),从上述候选所包含的第2候选取得第2预测列表的运动信息;以及选择候选生成部(163),将由上述第1运动信息取得部(161)取得的上述第1预测列表的运动信息和由上述第
2运动信息取得部(162)取得的上述第2预测列表的运动信息组合,生成运动信息的新的候选。
[0029] 上述候选列表生成部(230)可以在上述候选的数量不足所设定的最大数时,生成包含了由上述选择候选生成部(163)生成的新的候选的候选列表。
[0030] 上述候选列表生成部(230)可以以上述候选的数量不超过上述最大数的方式生成包含了由上述选择候选生成部生成的1个以上新的候选的候选列表。
[0031] 可以还包括:码串解析部(201),解码出用于在上述候选列表内确定用于运动补偿预测的运动信息的候选的候选确定信息;以及选择部(231),利用解码出的上述候选确定信息,从由上述候选列表生成部(230)生成的候选列表所包含的选择候选中选择1个候选。
[0032] 上述候选列表生成部(230)可以对由上述选择候选生成部(163)生成的新的候选分配比上述候选大的候选确定信息。
[0033] 上述第1预测列表和上述第2预测列表可以是不同的预测列表。
[0034] 上述候选列表生成部(230)可以将从与包含上述编码对象块的图像时间上不同的图像的块的运动信息导出的运动信息包含在候选列表中。
[0035] 上述第1运动信息取得部(161)可以按第1优先顺序检索上述候选,将成为有效的候选作为上述第1候选。上述第2运动信息取得部(162)可以按第2优先顺序检索上述候选,将成为有效的候选作为上述第2候选。
[0036] 上述第1运动信息取得部(161)可以将上述候选中的预先规定的候选作为上述第1候选。上述第2运动信息取得部(162)可以将上述候选中的预先规定的另一候选作为上述第2候选。
[0037] 上述选择候选生成部(163)可以在由上述第1运动信息取得部(161)和上述第2运动信息取得部(162)取得的、上述第1预测列表的运动信息和上述第2预测列表的运动信息两者都有效时,生成上述新的候选。
[0038] 上述新的候选可以具有2个运动信息。上述新的候选可以具有1个运动信息。
[0039] 本发明的另一方式是一种图像解码方法。该方法是进行运动补偿预测的图像解码方法,包括:从与解码对象块相邻的多个已解码的块中,选择分别具有1个或2个至少包含运动矢量的信息和参照图像的信息的运动信息的多个块,根据所选择的块的运动信息,生成包含用于运动补偿预测的运动信息的候选的候选列表的步骤;从上述候选所包含的第1候选取得第1预测列表的运动信息的步骤;从上述候选所包含的第2候选取得第2预测列表的运动信息的步骤;以及将上述第1预测列表的运动信息和上述第2预测列表的运动信息组合,生成运动信息的新的候选的步骤。
[0040] 此外,将以上构成要素的任意组合、本发明的表现形式在方法、装置、系统、记录介质、计算机程序等间变换后的方案,作为本发明的实施方式也是有效的。
[0041] 〔发明效果〕
[0042] 通过本发明,能使包含运动矢量的运动信息的编码效率进一步提高。

附图说明

[0043] 图1是用于说明将图像分割成最大编码块的例子的图。
[0044] 图2的(a)、(b)是用于说明编码块的图。
[0045] 图3的(a)~(d)是用于说明预测块的图。
[0046] 图4是用于说明预测块尺寸的图。
[0047] 图5是用于说明预测编码模式的图。
[0048] 图6的(a)~(d)是用于说明运动补偿预测的预测方向的图。
[0049] 图7是用于说明预测块的句法的一例的图。
[0050] 图8的(a)~(c)是用于说明融合(merge)索引的Truncated Unary码串的图。
[0051] 图9是用于说明本发明实施方式1的动图像编码装置的构成的图。
[0052] 图10是用于说明图9的运动信息存储器中的运动信息的管理方法的图。
[0053] 图11是用于说明图9的运动信息生成部的构成的图。
[0054] 图12是用于说明图9的差分矢量计算部的构成的图。
[0055] 图13是用于说明空间候选块群的图。
[0056] 图14是用于说明时间候选块群的图。
[0057] 图15是用于说明图11的结合运动信息决定部的构成的图。
[0058] 图16是用于说明图15的结合运动信息候选生成部的构成的图。
[0059] 图17是用于说明图16的双向结合运动信息候选列表生成部的构成的图。
[0060] 图18是用于说明候选编号管理表的图。
[0061] 图19的(a)、(b)是用于说明从融合候选编号向融合索引的变换的图。
[0062] 图20是用于说明本发明实施方式1的动图像编码装置的编码动作的流程图。
[0063] 图21是用于说明图9的运动信息生成部的动作的流程图。
[0064] 图22是用于说明图11的差分矢量计算部的动作的流程图。
[0065] 图23是用于说明图11的结合运动信息决定部的动作的流程图。
[0066] 图24是用于说明图16的双向结合运动信息候选列表生成部的动作的流程图。
[0067] 图25是用于说明空间结合运动信息候选列表的生成动作的流程图。
[0068] 图26是用于说明时间结合运动信息候选列表的生成动作的流程图。
[0069] 图27是用于说明双向结合运动信息候选列表的生成动作的流程图。
[0070] 图28是用于说明图17的基准方向运动信息决定部的动作的流程图。
[0071] 图29是用于说明图17的反方向运动信息决定部的动作的流程图。
[0072] 图30是用于说明双向结合运动信息候选的预测方向的决定的图。
[0073] 图31的(a)~(c)是用于说明双向结合运动信息候选的预测方向的决定的扩展例的图。
[0074] 图32是用于说明本发明实施方式1的动图像解码装置的构成的图。
[0075] 图33是用于说明图32的运动信息再现部的构成的图。
[0076] 图34是用于说明图33的运动矢量再现部的构成的图。
[0077] 图35是用于说明图33的结合运动信息再现部的构成的图。
[0078] 图36是用于说明本发明实施方式1的动图像解码装置的解码动作的流程图。
[0079] 图37是用于说明图32的运动信息再现部的动作的流程图。
[0080] 图38是用于说明图33的运动矢量再现部的动作的流程图。
[0081] 图39是用于说明图33的结合运动信息再现部的动作的流程图。
[0082] 图40的(a)、(b)是用于说明变形例1的候选编号管理表的图。
[0083] 图41是用于说明实施方式1的变形例1的另一候选编号管理表的图。
[0084] 图42是用于说明双向结合运动信息候选(BD2)的导出的流程图。
[0085] 图43是用于说明双向结合运动信息候选(BD3)的导出的流程图。
[0086] 图44是用于说明实施方式1的变形例2的反方向运动信息决定部的动作的流程图。
[0087] 图45是用于说明实施方式1的变形例3的反方向运动信息决定部的动作的流程图。
[0088] 图46是用于说明实施方式1的变形例4的结合运动信息候选生成部的构成的图。
[0089] 图47是用于说明实施方式1的变形例4的基准方向运动信息决定部的动作和反方向运动信息决定部的动作的图。
[0090] 图48是用于说明实施方式1的变形例5的2个预测方向相同的运动信息的组合的图。
[0091] 图49的(a)、(b)是用于说明实施方式1的变形例6的BD0和BD1的预先规定的组合的图。
[0092] 图50是用于说明实施方式1的效果的图(其1)。
[0093] 图51是用于说明实施方式1的效果的图(其2)。
[0094] 图52是用于说明实施方式1的效果的图(其3)。
[0095] 图53的(a)、(b)是用于说明实施方式2的将候选编号管理表编码到编码流中的句法的图。
[0096] 图54是用于说明实施方式3的候选编号管理表的图。
[0097] 图55是用于说明实施方式3的结合运动信息候选生成部的构成的图。
[0098] 图56是用于说明实施方式3的结合运动信息候选生成部的动作的流程图。
[0099] 图57是用于说明实施方式3的候选编号管理表变更部的动作的流程图。
[0100] 图58的(a)~(c)是用于说明实施方式3的候选编号管理表变更部的候选编号管理表的变更例的图。
[0101] 图59是用于说明实施方式3的变形例1的候选编号管理表变更部的动作的流程图。
[0102] 图60的(a)、(b)是用于说明实施方式3的变形例1的候选编号管理表变更部的候选编号管理表的图。
[0103] 图61是用于说明实施方式3的变形例2的候选编号管理表变更部的动作的流程图。
[0104] 图62是用于说明实施方式3的变形例3的候选编号管理表变更部的动作的流程图。
[0105] 图63是用于说明实施方式4的基准方向运动信息决定部的动作的流程图。
[0106] 图64是用于说明实施方式5的结合运动信息候选生成部的构成的图。
[0107] 图65是用于说明实施方式6的候选编号管理表的图。
[0108] 图66是用于说明实施方式6的基准方向决定部的动作的流程图。
[0109] 图67是用于说明时间结合运动信息候选的运动矢量mvL0t、mvL1t的计算方法的图。

具体实施方式

[0110] 首先,说明本发明实施方式的前提技术。
[0111] 目前,遵循MPEG(Moving Picture Experts Group:运动图像专家组)等编码方式的装置及系统正在普及。在这样的编码方式中,将时间轴上连续的多个图像作为数字信号的信息来处理。此时,以效率较高的信息的广播、传输或存储等为目的,采用利用了时间方向的冗余性的运动补偿预测、和利用了空间方向的冗余性的离散余弦变换等正交变换,来进行压缩编码。
[0112] 1995年,MPEG-2视频(ISO/IEC 13818-2)编码方式被制定为通用的视频压缩编码方式,作为基于DVD和D-VHS(注册商标)标准的数字VTR的磁带等存储介质、以及数字广播等的应用,而被广泛采用。
[0113] 进而,在2003年,通过国际标准化机构(ISO)和国际电气标准会议(IEC)的联合技术委员会(ISO/IEC)、以及国际电气通信联合电气通信标准化部门(ITU-T)的共同作业,被称为MPEG-4AVC/H.264的编码方式(在ISO/IEC被赋予14496-10的标准编号,在ITU-T被赋予H.264的标准编号。以下,将其称作MPEG-4AVC)被制定为国际标准。
[0114] 目前,通过国际标准化机构(ISO)与国际电气标准会议(IEC)的联合技术委员会(ISO/IEC)、和国际电气通信联合电气通信标准化部门(ITU-T)的共同作业,被称为HEVC的编码方式的标准化正被讨论。
[0115] (编码块)
[0116] 在本发明的实施方式中,将所输入的图像信号如图1那样分割成最大编码块单位,将分割后的编码块按光栅扫描顺序处理。编码块为阶层构造,可以考虑编码效率等,通过依次均等地4分割而使之成为更小的编码块。被4分割后的编码块按之字扫描(zigzag scan)顺序被编码。将无法进一步减小的编码块的称为最小编码块。编码块成为编码的单位,最大编码块也成为分割数为0时的编码块。在本实施方式中,将最大编码块定为64像素×64像素,将最小编码块定为8像素×8像素。
[0117] 图2的(a)、(b)示出最大编码块的分割的一例。在图2的(a)的例子中,编码块被分割为10个。CU0、CU1及CU9为32像素×32像素的编码块,CU2、CU3及CU8为16像素×16像素的编码块,CU4、CU5、CU6及CU7为8像素×8像素的编码块。
[0118] (预测块)
[0119] 在本发明的实施方式中,编码块被进一步分割成预测块。将预测块的分割模式示于图3的(a)~(d)。图3的(a)表示不将编码块分割的2N×2N,图3的(b)表示将其水平分割的2N×N,图3的(c)表示垂直分割的N×2N,图3的(d)表示水平和垂直分割的N×N。即,预测块尺寸如图4所示那样,有CU分割数为0、作为最大的预测块尺寸的64像素×64像素至CU分割数为3、作为最小的预测块尺寸的4像素×4像素的13种预测块尺寸。
[0120] 在本发明的实施方式中,将最大编码块定为64像素×64像素、将最小编码块定为8像素×8像素,但不限定于该组合。此外,将预测块的分割模式(pattern)定为图3的(a)~(d)那样,但只要被分割成1以上即可,并不限定于此。
[0121] (预测编码模式)
[0122] 在本发明的实施方式中,能按预测块的块尺寸切换运动补偿预测的预测方向和编码矢量数。在此,利用图5简单进行说明将运动补偿预测的预测方向和编码矢量数建立了关联的预测编码模式的一例。
[0123] 图5所示的预测编码模式有运动补偿预测的预测方向为单向且编码矢量数为1的单向模式(UniPred)、运动补偿预测的预测方向为双向且编码矢量数为2的双向模式(BiPred)、以及运动补偿预测的预测方向为单向或双向、且编码矢量数为0的融合模式(MERGE)。此外,还有不实施运动补偿预测的预测编码模式――帧内模式(Intra)。
[0124] (参照图像索引)
[0125] 在本发明的实施方式中,为提高运动补偿预测的精度,在运动补偿预测中能从多个参照图像中选择最佳的参照图像。因此,将在运动补偿预测中使用的参照图像作为参照图像索引而同编码矢量一起编码到编码流中。在运动补偿预测中使用的参照图像索引为0以上的数值。能用参照图像索引选择的多个参照图像被用参照索引列表来管理。若运动补偿预测的预测方向为单向,则参照图像索引被编码1个,若运动补偿预测的预测方向为双向,则表示各预测方向的参照图像的参照图像索引被编码(参照图5)。
[0126] (预测矢量索引)
[0127] 在HEVC中,为提高预测矢量的精度,正在讨论从多个预测矢量的候选中选择最佳的预测矢量,对用于表示所选择的预测矢量的预测矢量索引进行编码。在本发明的实施方式中,导入上述的预测矢量索引。若运动补偿预测的预测方向为单向,则预测矢量索引被编码1个,若运动补偿预测的预测方向为双向,则表示各预测方向的预测矢量的预测矢量索引被编码(参照图5)。
[0128] (融合索引)
[0129] 在HEVC中,为进一步提高编码效率,正在讨论从多个相邻块的候选及已编码的其它图像的与处理对象块处于相同位置的块中选择最佳的块,将表示所选择的块的融合索引编码和解码。这是在处理对象块中使用由所选择的融合索引所示的块的运动补偿预测的预测方向、运动矢量信息、参照图像信息构成的运动信息的运动补偿预测技术(融合技术)。在本发明的实施方式中,导入上述的融合索引(融合技术)。如图5所示,在预测编码模式为融合模式时,融合索引被编码1个。此外,若运动信息为双向,则运动信息中包含各预测方向的运动矢量信息和参照图像信息。
[0130] 以下,将有可能通过融合索引来表示的块所具有的运动信息称作结合运动信息候选,将结合运动信息候选的集合体称作结合运动信息候选列表。
[0131] (预测方向)
[0132] 在本发明的实施方式中,作为运动补偿预测的预测方向,设定L0方向和L1方向的两者。在此,利用图6的(a)~(d)简单说明运动补偿预测的预测方向。在运动补偿预测的预测方向为单向时,利用L0方向或L1方向的任一者。图6的(a)表示了单向、L0方向的参照图像(RefL0Pic)处于编码对象图像(CurPic)之前的时刻的情况。图6的(b)表示了单向、L0方向的参照图像处于编码对象图像之后的时刻的情况。也可以将图6的(a)和图6的(b)的L0方向的参照图像置换为L1方向的参照图像(RefL1Pic)。
[0133] 在双向的情况下,利用L0方向和L1方向两者来表现BI方向。图6的(c)表示了双向、L0方向的参照图像处于编码对象图像之前的时刻、L1方向的参照图像处于编码对象图像之后的时刻的情况。图6的(d)表示了双向、L0方向的参照图像和L1方向的参照图像都处于编码对象图像之前的时刻的情况。也可以将图6的(c)和图6的(d)的L0方向的参照图像置换为L1方向的参照图像(RefL1Pic),将L1方向的参照图像置换为L0方向的参照图像。如以上说明的那样,作为运动补偿预测的预测方向的L0方向和L1方向分别可以在时间上的前方向和后方向的任一者来表示。此外,L0方向和L1方向分别可以存在多个参照图像,L0方向的参照图像被登录于参照图像列表L0,L1方向的参照图像被登录于参照图像列表L1,由各个预测方向的参照图像索引指定参照图像列表中的参照图像的位置,确定参照图像。以下,所谓预测方向为L0方向,是指利用与被登录在参照图像列表L0中的参照图像建立了关联的运动信息的预测方向,所谓预测方向为L1方向,是指利用与登录在参照图像列表L1中的参照图像建立了关联的运动信息的预测方向。
[0134] (句法)
[0135] 使用图7说明本发明实施方式的预测块的句法的一例。预测块为帧内还是为帧间,由上位的编码块指定,图7表示预测块为帧间时的句法。预测块被设置了融合标志(merge_flag)、融合索引(merge_idx)、运动补偿预测的方向(inter_pred_type)、参照索引(ref_idx_l0とref_idx_l1)、差分矢量(mvd_l0[0]、mvd_l0[1]、mvd_l1[0]、mvd_l1[1])及预测矢量索引(mvp_idx_l0和mvp_idx_l1)。差分矢量的[0]表示水平分量,[1]表示垂直分量。
[0136] 在此,ref_idx_l0和mvd_l0[0]、mvd_l0[1]、mvp_idx_l0是与L0方向相关的信息,ref_idx_l1和mvd_l1[0]、mvd_l1[1]、mvp_idx_l1是与L1方向相关的信息。inter_pred_type包括Pred_L0(L0方向的单向)、Pred_L1(L1方向的单向)、以及Pred_BI(BI的双向)3种。
[0137] (运动信息的码量)
[0138] 由图7的句法可知,融合模式能以1个融合索引1传输运动信息。因此,若融合模式(融合标志为1)与非融合模式(融合标志为0)的预测误差是同程度,则融合模式更能高效地将运动信息编码。即,通过提高融合模式的选择率,能使运动信息的编码效率提高。
[0139] 此外,虽然如图7那样设定了本发明实施方式的预测块的句法,但根据本发明的实施方式,只要融合模式能比非融合模式以较少的信息将运动信息编码即可,并不限定于此。例如运动信息也可以仅是差分矢量。
[0140] (融合索引的特性)
[0141] 在图7中,在融合索引的解码(编码)的前级设置有计算出融合的候选数的函数NumMergeCands(),在预测矢量索引的解码(编码)的前级设置有计算出预测矢量的候选数的函数NumMvpCands()。根据相邻块的运动信息的有效性,融合的候选数或预测矢量的候选数会针对每个预测块发生变化,故它们是为取得其候选数所需要的函数。所谓相邻块的运动信息有效,是指其相邻块并非区域外的块或帧内模式,所谓相邻块的运动信息无效,是指其相邻块为区域外的块或帧内模式。
[0142] 在融合的候选数为1时,不将融合索引解码(编码)。因为在融合的候选数为1时,即使不指定也能唯一确定。预测矢量索引的情况也是一样。
[0143] 此外,使用图8的(a)~(c)说明融合索引的码串。在本发明的实施方式中,作为融合索引的码串,使用Truncated Unary码串。图8的(a)表示融合的候选数为2个时的基于Truncated Unary码串的融合索引码串,图8的(b)表示融合的候选数为3个时的基于Truncated Unary码串的融合索引码串,图8的(c)表示融合的候选数为4个时的基于Truncated Unary码串的融合索引码串。
[0144] 由图8的(a)~(c)可知,即使是对相同的融合索引的值进行编码,融合的候选数越少、分配给融合索引的码比特数越小。例如融合索引为1时,若融合的候选数为2个,则成为“1”的1比特,但若融合的候选数为3个,则成为“10”的2比特。
[0145] 如上所述,融合的候选数越少、融合索引的编码效率越提高。即,可以通过保留选择率较高的候选、削减选择率较低的候选,来使融合索引的编码效率提高。此外,在候选数相同时,较小的融合索引,其码量较少,故对选择率较高的候选分配较小的融合索引,由此能提高编码效率。
[0146] (POC)
[0147] 在本发明的实施方式中,作为图像的时间信息(距离信息),使用POC(Picture Order Count:图像顺序计数)。POC是表示在MPEG-4AVC中定义的图像的显示顺序的计数器。图像的显示顺序增1时,POC也增1。因此,根据图像间的POC差能取得图像间的时间差(距离)。
[0148] (相邻块的运动信息的特性)
[0149] 一般来说,处理对象块的运动信息与相邻于处理对象块的块(以下称作相邻块)的运动信息的相关度较高的情形,是在处理对象块与相邻块进行了相同的运动时,例如包含处理对象块和相邻块的区域平行移动时。此外,一般来说,处理对象块的运动信息与相邻块的运动信息的相关度还取决于处理对象块与相邻块相接的长度。
[0150] (其它图像的运动信息的特性)
[0151] 另一方面,一般来说,在时间直接模式或空间直接模式中所使用的已解码的其它图像上与处理对象块处于相同位置的块(以下称作相同位置块)与该处理对象块的相关度较高的情形,是在该相同位置块和该处理对象块处于静止状态时。
[0152] 以下基于附图详细说明本发明的动图像编码装置、动图像编码方法、动图像编码程序的优选实施方式。在附图的说明中,对相同要素标注相同的标号,并省略重复的说明。
[0153] [实施方式1]
[0154] (动图像编码装置100的构成)
[0155] 图9表示本发明的实施方式1的动图像编码装置100的构成。动图像编码装置100是对动图像信号按实施运动补偿预测的预测块单位进行编码的装置。假定编码块的分割、预测块尺寸的决定、预测编码模式的决定已由上位的编码控制部决定了。
[0156] 动图像编码装置100通过具备CPU(Central Processing Unit:中央处理单元)、帧存储器、硬盘等的信息处理装置等硬件来实现。动图像编码装置100通过上述构成要素的动作来实现以下说明的功能性构成要素。此外,关于处理对象的预测块的位置信息、预测块尺寸及运动补偿预测的预测方向,在动图像编码装置100内是共用的,未进行图示。
[0157] 实施方式1的动图像编码装置100包括预测块图像取得部101、减法部102、预测误差编码部103、码串生成部104、预测误差解码部105、运动补偿部106、加法部107、运动矢量检测部108、运动信息生成部109、帧存储器110、以及运动信息存储器111。
[0158] (动图像编码装置100的功能)
[0159] 下面说明各部的功能。预测块图像取得部101基于预测块的位置信息和预测块尺寸,从端子10所供给的图像信号中取得处理对象的预测块的图像信号,将预测块的图像信号提供给减法部102、运动矢量检测部108及运动信息生成部109。
[0160] 减法部102将预测块图像取得部101所供给的图像信号与运动补偿部106所供给的预测信号相减,算出预测误差信号,将该预测误差信号提供给预测误差编码部103。
[0161] 预测误差编码部103针对从减法部102供给的预测误差信号进行量化和正交变换等处理,生成预测误差编码数据,将该预测误差编码数据提供给码串生成部104和预测误差解码部105。
[0162] 码串生成部104将从预测误差编码部103供给的预测误差编码数据、以及从运动信息生成部109供给的融合标志、融合候选编号、运动补偿预测的预测方向、参照图像索引、差分矢量及预测矢量索引,同运动补偿预测的预测方向一起按照句法进行熵编码,生成码串,将该码串提供给端子11。
[0163] 在此,融合候选编号被变换成融合索引来生成码串。这里,融合候选编号是表示所选择的结合运动信息候选的编号。关于从融合候选编号向融合索引的变换,将在后面叙述。在实施方式1中,如上述那样在融合索引和预测矢量索引的编码中使用了Truncated Unary码串,但只要是候选数越小、越能以较少的比特进行编码的码串即可,并不限定于此。
[0164] 预测误差解码部105对从预测误差编码部103供给的预测误差编码数据进行逆量化和逆正交变换等处理,生成预测误差信号,将该预测误差信号提供给加法部107。
[0165] 运动补偿部106基于运动信息生成部109所供给的运动矢量,对从运动信息生成部109供给的参照图像索引所表示的帧存储器110内的参照图像进行运动补偿,生成预测信号。若预测方向为双向,则将使L0方向和L1方向的预测信号平均后的信号作为预测信号。
[0166] 加法部107将预测误差解码部105所供给的预测误差信号和运动补偿部106所供给的预测信号相加,生成解码图像信号,将该解码图像信号提供给帧存储器110。
[0167] 运动矢量检测部108从预测块图像取得部101所供给的图像信号和多个相当于参照图像的图像信号中,检索运动矢量和表示参照图像的参照图像索引,将该运动矢量和该参照图像索引提供给运动信息生成部109。此外,若预测方向为双向,则检测L0方向和L1方向的运动矢量及参照图像索引。
[0168] 一般的运动矢量的检测方法是针对对象图像的图像信号和相当于从相同位置移动了预定移动量后的参照图像的图像信号,算出误差评价值,将误差评价值最小的移动量作为运动矢量。作为误差评价值,可采用表示绝对差分和的SAD(Sum of  Absolute Difference)或表示均方差的MSE(Mean Square Error)等。
[0169] 运动信息生成部109根据从运动矢量检测部108供给的运动矢量和参照图像索引、从运动信息存储器111供给的候选块群、以及帧存储器110内的参照图像索引所示的参照图像,生成融合候选编号、或差分矢量和预测矢量索引,并根据需要将融合标志、融合候选编号、参照图像索引、差分矢量及预测矢量索引提供给码串生成部104、运动补偿部106及运动信息存储器111。关于运动信息生成部109的详细构成,将在后面叙述。
[0170] 帧存储器110存储从加法部107供给的解码图像信号。此外,针对图像整体的解码已完成的解码图像,作为参照图像而存储1个以上的预定图像数。帧存储器110将所存储的参照图像信号提供给运动补偿部106和运动信息生成部109。存储参照图像的存储区域被以FIFO(First In First Out:先进先出)方式控制。
[0171] 运动信息存储器111将从运动信息生成部109供给的运动信息按最小预测块尺寸单位保存预定图像数。将处理对象的预测块的相邻块的运动信息作为空间候选块群。
[0172] 此外,运动信息存储器111将与处理对象的预测块处于相同位置的ColPic上的块及其周边块的运动信息作为时间候选块群。运动信息存储器111将空间候选块群和时间候选块群作为候选块群而提供给运动信息生成部109。运动信息存储器111与帧存储器110同步,被以FIFO(First In First Out)方式控制。
[0173] 在此,所谓ColPic,是指与处理对象的预测块不同的已解码的、在帧存储器110中作为参照图像而存储的图像。在实施方式1中,ColPic为之前刚解码的参照图像。此外,在实施方式1中,ColPic定为之前刚解码的参照图像,但只要是已编码的图像即可,例如可以是显示顺序上之前一个参照图像或显示顺序之后一个参照图像,也可以在编码流中指定。
[0174] 在此,利用图10说明运动信息存储器111中的运动信息的管理方法。运动信息被按最小的预测块单位存储在各存储器区域中。图10表示了处理对象的预测块尺寸为16像素×16像素时的样子。此时,该预测块的运动信息被保存在图10的斜线部的16个存储器区域中。
[0175] 此外,在预测编码模式为帧内模式时,作为L0方向和L1方向的运动矢量,被存储(0,0),作为L0方向和L1方向的参照图像索引,被存储“-1”。关于参照图像索引的“-1”,只要能判定为是不实施运动补偿预测的模式,可以是任意值。以下在无特别说明而简单表述为块时,就表示最小的预测块单位。此外,在区域外的块时也同帧内模式一样,作为L0方向和L1方向的运动矢量,被存储(0,0),作为L0方向和L1方向的参照图像索引,被存储“-1”。所谓LX方向(X为0或1)有效,是指LX方向的参照图像索引为0以上,所谓LX方向无效(非有效),是指LX方向的参照图像索引为“-1”。
[0176] 接下来,利用图11说明运动信息生成部109的详细构成。图11表示运动信息生成部109的构成。运动信息生成部109包括差分矢量计算部120、结合运动信息决定部121及预测编码模式决定部122。端子12连接于运动信息存储器111,端子13连接于运动矢量检测部
108,端子14连接于帧存储器110,端子15连接于预测块图像取得部101,端子16连接于码串生成部104,端子50连接于运动补偿部106,端子51连接于运动信息存储器111。
[0177] 下面说明各部的功能。差分矢量计算部120根据从端子12供给的候选块群、从端子13供给的运动矢量和参照图像索引、从端子14供给的参照图像、以及从端子15供给的图像信号,决定预测矢量索引,算出差分矢量和率失真评价值。然后,将该参照图像索引、该运动矢量、该差分矢量、该预测矢量索引、及该率失真评价值提供给预测编码模式决定部122。关于差分矢量计算部120的详细构成,将在后面叙述。
[0178] 结合运动信息决定部121根据从端子12供给的候选块群、从端子14供给的参照图像、以及从端子15供给的图像信号,生成结合运动信息候选列表。然后,结合运动信息决定部121从所生成的结合运动信息候选列表中选择结合运动信息候选,决定融合候选编号,并算出率失真评价值,将该结合运动信息候选的运动信息、该融合候选编号及该率失真评价值提供给预测编码模式决定部122。关于结合运动信息决定部121的详细构成,将在后面叙述。
[0179] 预测编码模式决定部122将从差分矢量计算部120供给的率失真评价值与从结合运动信息决定部121供给的率失真评价值进行比较。若前者小于后者,则将融合标志设定为“0”。预测编码模式决定部122将融合标志和从差分矢量计算部120供给的参照图像索引、差分矢量、预测矢量索引提供给端子16,将从差分矢量计算部120供给的运动矢量和参照图像索引提供给端子50和端子51。
[0180] 若前者在后者以上,则将融合标志设定为1。预测编码模式决定部122将融合标志和从结合运动信息决定部121供给的融合候选编号提供给端子16,将从结合运动信息决定部121供给的运动信息的运动矢量和参照图像索引提供给端子50和端子51。关于率失真评价值的具体计算方法,其并非本发明的主要着眼点,故省略其详细说明,但率失真评价值是具有其值越小、编码效率越高的特性的评价值。
[0181] 接下来,利用图12说明差分矢量计算部120的详细构成。图12表示差分矢量计算部120的构成。差分矢量计算部120包括预测矢量候选列表生成部130、预测矢量决定部131及减法部132。端子17连接于预测编码模式决定部122。
[0182] 在对实施方式1的动图像编码装置100所生成的码串进行解码的动图像解码装置200中,同样设置有预测矢量候选列表生成部130,在动图像编码装置100和动图像解码装置
200中生成不矛盾的预测矢量候选列表。
[0183] 以下说明各部的功能。预测矢量候选列表生成部130从端子12所供给的候选块群中删除区域外的候选块和帧内模式的候选块。进而,若存在多个具有重复的运动矢量的候选块,则只保留其中1个候选块,其余的删除。预测矢量候选列表生成部130基于进行了这些删除后的候选块生成预测矢量候选列表,将预测矢量候选列表提供给预测矢量决定部131。假定在这样生成的预测矢量候选列表中包含1个以上不重复的预测矢量候选。例如若具有运动矢量的候选块1个也不存在,则矢量(0,0)被追加到预测矢量候选列表中。此外,若预测方向为双向,则针对L0方向和L1方向生成预测矢量候选列表来提供。
[0184] 预测矢量决定部131从预测矢量候选列表生成部130所供给的预测矢量候选列表中选择最适于从端子13供给的运动矢量的预测矢量。预测矢量决定部131将所选择的预测矢量提供给减法部132,并将参照图像索引和作为表示所选择的预测矢量的信息的预测矢量索引提供给端子17。此外,若预测方向为双向,则针对L0方向和L1方向选择最佳的预测矢量来提供。
[0185] 在此,作为最佳的预测矢量,基于预测矢量候选所具有的运动矢量,根据从端子14供给的参照图像和从端子15供给的图像信号算出预测误差量。然后,根据参照图像索引、差分矢量及预测矢量索引的码量、和上述的预测误差量,算出率失真评价值,选择率失真评价值最小的预测矢量候选。
[0186] 减法部132从端子13所供给的运动矢量中减去预测矢量决定部131所供给的预测矢量,算出差分矢量,将该差分矢量提供给端子17。此外,若预测方向为双向,则针对L0方向和L1方向算出差分矢量来提供。
[0187] (提供给预测矢量候选列表生成部130的候选块群)
[0188] 在此,利用图13和图14说明提供给预测矢量候选列表生成部130的候选块群。候选块群包括空间候选块群和时间候选块群。
[0189] 图13表示处理对象的预测块尺寸为16像素×16像素时的处理对象预测块的相邻块。在实施方式1中,作为空间候选块群,假定有图13所示的块A1、块C、块D、块B1及块E共5块。在此,将空间候选块群假定为块A1、块C、块D、块B1及块E的5块,但空间候选块群只要是与处理对象预测块相邻的至少1个以上的已处理的块即可,不限定于此。例如,也可以将块A1、块A2、块A3、块A4、块B1、块B2、块B3、块B4、块C、块D及块E的全部都作为空间候选块。
[0190] 接下来,利用图14说明时间候选块群。图14表示处理对象的预测块尺寸为16像素×16像素时的与处理对象预测块相同位置的ColPic上的预测块内的块及其周边块。在实施方式1中,作为时间候选块群,假定为图6所示的块H和块I6共2块。
[0191] 在此,将时间候选块群假定为ColPic上的块H和块I6的2块,但时间候选块群只要是与处理对象预测块不同的已解码的图像上的至少1个以上的块即可,并不限定于此。例如也可以将ColPic上的块I1至块I16、块A1至块A4、块B1至块B4、块C、块D、块E、块F1至块F4、块G1至块G4、以及块H的全部都作为时间候选块。以下只要无特别说明,将块A4记作块A,将块B4记作块B。以下只要无特别说明,将块H和块I6的块记作时间块。
[0192] (结合运动信息决定部121的构成)
[0193] 接下来,利用图15说明结合运动信息决定部121的详细构成。图15表示结合运动信息决定部121的构成。结合运动信息决定部121包括结合运动信息候选生成部140和结合运动信息选择部141。在对实施方式1的动图像编码装置100所生成的码串进行解码的动图像解码装置200中,也同样地设置有结合运动信息候选生成部140,在动图像编码装置100和动图像解码装置200中生成不相矛盾的相同的结合运动信息列表。
[0194] 下面说明各部的功能。结合运动信息候选生成部140根据从端子12供给的候选块群生成结合运动信息候选列表,将该结合运动信息候选列表提供给结合运动信息选择部141。关于结合运动信息候选生成部140的详细构成,将在后面叙述。
[0195] 结合运动信息选择部141从结合运动信息候选生成部140所供给的结合运动信息候选列表中选择最佳的结合运动信息候选,将作为表示所选择的结合运动信息候选的信息的融合候选编号提供给端子17。
[0196] 在此,作为最佳的结合运动信息候选,根据基于结合运动信息候选的预测方向、运动矢量和参照图像索引而得到的从端子14供给的参照图像、和从端子15供给的图像信号,算出预测误差量。根据融合候选编号的码量和该预测误差量,算出率失真评价值,选择率失真评价值最小的结合运动信息候选。
[0197] (提供给结合运动信息候选生成部140的候选块群)
[0198] 在此,利用图13和图14说明提供给结合运动信息候选生成部140的候选块群。候选块群包括空间候选块群和时间候选块群。在实施方式1中,将空间候选块群假定为图13所示的块A4、块B4、块C及块E共4块。在此虽然将空间候选块群假定为块A4、块B4、块C及块E的4块,但空间候选块群只要是与处理对象预测块相邻的至少1个以上的已处理的块即可,并不限定于此。
[0199] 接下来,利用图14说明时间候选块群。在实施方式1中,作为时间候选块群,假定为图14所示的块H和块I6的2块。在此虽然使时间候选块群与提供给预测矢量候选列表生成部130的时间候选块群相同,但时间候选块群只要是与处理对象预测块不同的已解码的图像上的至少0以上的块即可,并不限定于此。
[0200] (结合运动信息候选生成部140的构成)
[0201] 接下来,利用图16说明构成实施方式1的特征的结合运动信息候选生成部140的详细构成。图16表示结合运动信息候选生成部140的构成。端子18连接于结合运动信息选择部141。结合运动信息候选生成部140包括单向结合运动信息候选列表生成部150、第1结合运动信息候选列表削减部151、双向结合运动信息候选列表生成部152及第2结合运动信息候选列表削减部153。
[0202] 下面说明各部的功能。单向结合运动信息候选列表生成部150基于从端子12供给的候选块群生成第1结合运动信息候选列表,将该第1结合运动信息候选列表提供给第1结合运动信息候选列表削减部151。
[0203] 第1结合运动信息候选列表削减部151针对从单向结合运动信息候选列表生成部150供给的第1结合运动信息候选列表,若存在多个具有重复的运动信息的结合运动信息候选,则只保留其中1个结合运动信息候选,删除其余的,从而生成第2结合运动信息候选列表,将该第2结合运动信息候选列表提供给双向结合运动信息候选列表生成部152。
[0204] 双向结合运动信息候选列表生成部152基于从第1结合运动信息候选列表削减部151供给的第2结合运动信息候选列表生成双向结合运动信息候选列表,将该双向结合运动信息候选列表与上述的第2结合运动信息候选列表结合而生成第3结合运动信息候选列表,将该第3结合运动信息候选列表提供给第2结合运动信息候选列表削减部153。关于双向结合运动信息候选列表生成部152的详细构成,将在后面叙述。
[0205] 在实施方式1中,双向结合运动信息候选列表生成部152生成基准方向为L0的双向结合运动信息候选(BD0)和基准方向为L1的双向结合运动信息候选(BD1)。因此,在上述双向结合运动信息候选列表中可能包含BD0和BD1。
[0206] 第2结合运动信息候选列表削减部153针对从双向结合运动信息候选列表生成部152供给的第3结合运动信息候选列表,若存在多个具有重复的运动信息的结合运动信息候选,则只保留其中1个结合运动信息候选,删除其余的,从而生成结合运动信息候选列表,将该结合运动信息候选列表提供给端子18。
[0207] 在此,单向结合运动信息候选是在所谓融合技术中利用的候选块的运动信息候选,是从1个候选块得到的运动信息。另一方面,双向结合运动信息是利用实施方式1的特征技术,即从2个候选块、利用2个运动信息而得到的运动信息。在本实施方式中,作为2个运动信息,针对L0方向和L1方向各利用1个。
[0208] (双向结合运动信息候选列表生成部152)
[0209] 接下来,利用图17说明双向结合运动信息候选列表生成部152的详细构成。图17表示双向结合运动信息候选列表生成部152的构成。端子19连接于第1结合运动信息候选列表削减部151,端子20连接于第2结合运动信息候选列表削减部153。双向结合运动信息候选列表生成部152包括基准方向决定部160、基准方向运动信息决定部161、反方向运动信息决定部162及双向运动信息决定部163。
[0210] 下面说明各部的功能。基准方向决定部160根据第2结合运动信息候选列表决定双向结合运动信息候选的基准方向,将该基准方向和从端子19供给的第2结合运动信息候选列表送到基准方向运动信息决定部161。基准方向为L0的双向结合运动信息候选(BD0)时的基准方向成为L0方向,基准方向为L1的双向结合运动信息候选(BD1)时的基准方向成为L1方向。
[0211] 基准方向运动信息决定部161根据从基准方向决定部160供给的基准方向和第2结合运动信息候选列表,决定双向结合运动信息候选的基准方向的运动矢量和参照图像索引,将该基准方向、该基准方向的运动矢量和该参照图像索引、以及该第2结合运动信息候选列表送往反方向运动信息决定部162。
[0212] 反方向运动信息决定部162根据从基准方向运动信息决定部161供给的基准方向、基准方向的运动矢量和参照图像索引、以及第2结合运动信息候选列表,决定双向结合运动信息候选的反方向的运动矢量和参照图像索引。反方向运动信息决定部162将该基准方向的运动矢量和参照图像索引、该反方向的运动矢量和参照图像索引、以及第2结合运动信息候选列表送到双向运动信息决定部163。在实施方式1中,若基准方向为L0方向,则反方向为L1方向,若基准方向为L1方向,则反方向为L0方向。
[0213] 双向运动信息决定部163根据从反方向运动信息决定部162供给的基准方向的运动矢量和参照图像索引、以及反方向的运动矢量和参照图像索引,决定双向结合运动信息候选。另外,双向运动信息决定部163从第2结合运动信息候选列表生成第3结合运动信息候选列表,将该第3结合运动信息候选列表送往端子20。
[0214] (候选编号管理表)
[0215] 在此,利用图18说明表示在实施方式1中使用的融合候选编号与结合运动信息候选的关系的候选编号管理表。融合候选编号的0至6分别表示结合运动信息候选列表中所包含的块A的结合运动信息候选(A)、块B的结合运动信息候选(B)、时间块的结合运动信息候选(COL)、块C的结合运动信息候选(C)、块E的结合运动信息候选(E)、基准方向为L0的双向结合运动信息候选(BD0)、以及基准方向为L1的双向结合运动信息候选(BD1)。此外,假定结合运动信息候选列表所包含的结合运动信息候选的最大数为7(融合索引的最大值为6)。如上所述,这里,基准方向为L0的双向结合运动信息候选(BD0)和基准方向为L1的双向结合运动信息候选(BD1)的融合候选编号被分配得比单向结合运动信息候选的融合候选编号大。将在实施方式1中使用的候选编号管理表定为了图18,但只要越是选择率高的结合运动信息候选越被分配小的融合候选编号即可,并不限定于此。
[0216] 在此,候选编号管理表、和结合运动信息候选列表所包含的结合运动信息候选的最大数是在动图像编码装置100内是共有的,并未进行图示。以下利用图19的(a)、(b)说明从融合候选编号向融合索引的变换。
[0217] 图19的(a)表示了在块A的结合运动信息候选、块B的结合运动信息候选、时间块的结合运动信息候选、块C的结合运动信息候选、块E的结合运动信息候选、基准方向为L0的双向结合运动信息候选、以及基准方向为L1的双向结合运动信息候选全都有效时,融合候选编号直接成为融合索引的情况。
[0218] 图19的(b)表示了在结合运动信息候选包含有无效的块时,在将无效的融合候选编号进位填充后,按融合候选编号从小到大的顺序分配融合索引的情况。如图19的(b)那样,在融合候选编号为1的块B和融合候选编号为4的块E的结合运动信息候选是无效的时,融合索引的0被变换成融合候选编号0,融合索引的1被变换成融合候选编号2,融合索引的2被变换成融合候选编号3,融合索引的3被变换成融合候选编号5,融合索引的4被变换成融合候选编号6。如上述那样,在此,基准方向为L0的双向结合运动信息候选(BD0)和基准方向为L1的双向结合运动信息候选(BD1)的融合索引被分配得比单向结合运动信息候选的融合索引大。
[0219] 在对实施方式1的动图像编码装置100所生成的码串进行解码的动图像解码装置200中,进行与上述相反的从融合索引向融合候选编号的变换,在动图像编码装置100和动图像解码装置200中生成不相矛盾的相同的候选编号管理表。
[0220] (动图像编码装置100的动作)
[0221] 接下来,利用图20的流程图说明实施方式1的动图像编码装置100中的编码的动作。预测块图像取得部101基于预测块的位置信息和预测块尺寸,从端子10所供给的图像信号中取得处理对象的预测块的图像信号(S100)。
[0222] 运动矢量检测部108从预测块图像取得部101所供给的图像信号和多个相当于参照图像的图像信号中检测运动矢量和表示参照图像的参照图像索引(S101)。
[0223] 运动信息生成部109根据从运动矢量检测部108供给的运动矢量和参照图像索引、以及从运动信息存储器111供给的候选块群,生成融合候选编号、或差分矢量和预测矢量索引(S102)。
[0224] 运动补偿部106基于从运动矢量检测部108供给的运动矢量对帧存储器110内的参照图像索引所表示的参照图像进行运动补偿,生成预测信号。若预测方向为双向,则生成使L0方向和L1方向的预测信号平均后的信号作为预测信号(S103)。
[0225] 减法部102算出从预测块图像取得部101供给的图像信号与从运动补偿部106供给的预测信号的差分,算出预测误差信号(S104)。预测误差编码部103对从减法部102供给的预测误差信号进行量化和正交变换等处理,生成预测误差编码数据(S105)。
[0226] 码串生成部104将从预测误差编码部103供给的预测误差编码数据、以及从运动信息生成部109供给的融合标志、融合候选编号、参照图像索引、差分矢量及预测矢量索引,同预测方向一起按照句法进行熵编码,生成码串(S106)。
[0227] 加法部107将从预测误差解码部105供给的预测误差信号和从运动补偿部106供给的预测信号相加,生成解码图像信号(S107)。帧存储器110保存从加法部107供给的解码图像信号(S108)。运动信息存储器111将从运动矢量检测部108供给的运动矢量按最小的预测块尺寸单位保存1图像量(S109)。
[0228] 然后,利用图21的流程图说明运动信息生成部109的动作。差分矢量计算部120根据从端子12供给的候选块群、从端子13供给的运动矢量和参照图像索引、从端子14供给的参照图像、以及从端子15供给的图像信号,决定预测矢量索引,算出差分矢量和率失真评价值(S110)。
[0229] 结合运动信息决定部121根据从端子12供给的候选块群、从端子14供给的参照图像、以及从端子15供给的图像信号,决定融合候选编号,算出率失真评价值(S111)。
[0230] 预测编码模式决定部122将从差分矢量计算部120供给的率失真评价值和从结合运动信息决定部121供给的率失真评价值进行比较,若前者小于后者,则将融合标志设定为“0”,若非如此,则将融合标志设定为“1”(S112)。
[0231] 接下来,利用图22的流程图说明差分矢量计算部120的动作。预测矢量候选列表生成部130基于从端子12所供给的候选块群中除去区域外的候选块、帧内模式的候选块、以及具有重复的运动矢量的候选块后的候选块,生成预测矢量候选列表。若预测方向为双向,则针对L0方向和L1方向生成预测矢量候选列表(S120)。
[0232] 预测矢量决定部131从预测矢量候选列表生成部130所供给的预测矢量候选列表中选择最适于端子13所供给的运动矢量的预测矢量。若预测方向为双向,则针对L0方向和L1方向选择最适合的预测矢量(S121)。减法部132从端子13所供给的运动矢量减去预测矢量决定部131所供给的预测矢量,算出差分矢量。若预测方向为双向,则针对L0方向和L1方向算出差分矢量(S122)。
[0233] (结合运动信息决定部121的动作)
[0234] 接下来,利用图23的流程图详细说明结合运动信息决定部121的动作。结合运动信息候选生成部140基于从端子12供给的候选块群生成结合运动信息候选列表(S130)。结合运动信息选择部141从结合运动信息候选生成部140所供给的结合运动信息候选列表中,决定最适于端子13所供给的运动矢量和参照图像索引、以及预测方向的结合运动信息(S131)。
[0235] (结合运动信息候选生成部140的动作)
[0236] 接下来,利用图24的流程图详细说明结合运动信息候选生成部140的动作。单向结合运动信息候选列表生成部150基于从端子12所供给的空间候选块群中除去了区域外的候选块和帧内模式的候选块后的候选块,生成空间结合运动信息候选列表(S140)。空间结合运动信息候选列表的生成的详细动作将在后面叙述。
[0237] 单向结合运动信息候选列表生成部150基于从端子12所供给的时间候选块群中除去区域外的候选块和帧内模式的候选块后的候选块,生成时间结合运动信息候选列表(S141)。时间结合运动信息候选列表的生成的详细动作将在后面叙述。
[0238] 单向结合运动信息候选列表生成部150将空间结合运动信息候选列表和时间结合运动信息候选列表按融合候选编号的顺序结合,生成第1结合运动信息候选列表(S142)。
[0239] 第1结合运动信息候选列表削减部151针对从单向结合运动信息候选列表生成部150供给的第1结合运动信息候选列表,若存在多个具有重复的运动信息的结合运动信息候选,则只保留其中1个结合运动信息候选、删除其余的,从而生成第2结合运动信息候选列表(S143)。
[0240] 双向结合运动信息候选列表生成部152基于从第1结合运动信息候选列表削减部151供给的第2结合运动信息候选列表生成双向结合运动信息候选列表(S144)。双向结合运动信息候选列表的生成的详细动作将在后面叙述。
[0241] 双向结合运动信息候选列表生成部152将第2结合运动信息候选列表和双向结合运动信息候选列表按融合候选编号的顺序结合而生成第3结合运动信息候选列表(S145)。
[0242] 在从双向结合运动信息候选列表生成部152供给的第3结合运动信息候选列表中存在多个具有重复的运动信息的结合运动信息候选时,第2结合运动信息候选列表削减部153只保留其中1个结合运动信息候选,删除其余的,生成结合运动信息候选列表(S146)。
[0243] 接下来,利用图25的流程图说明空间结合运动信息候选列表的生成的详细动作。在实施方式1中,空间结合运动信息候选列表中包含4个以下的候选块的运动信息。
[0244] 针对空间候选块群所包含的4个候选块、即块A、块B、块C和块E,反复进行以下处理(S150至S153)。检查候选块的有效性(S151)。若候选块不在区域外、且并非帧内模式,则候选块为有效。若候选块有效(S151的YES),则将候选块的运动信息追加到空间结合运动信息候选列表中(S152)。若候选块并非有效(S151的NO),则步骤S152被跳过。
[0245] 在实施方式1中,假定空间结合运动信息候选列表内包含4个以下的候选块的运动信息,但只要是空间结合运动信息候选列表的数量根据候选块的有效性而变动即可,并非限定于此。
[0246] 接下来,利用图26的流程图说明时间结合运动信息候选列表的生成的详细动作。在实施方式1中,设时间结合运动信息候选列表内包含1个以下的候选块的运动信息。
[0247] 针对时间候选块群所包含的2个候选块、即时间块,反复进行以下处理(S160至S166)。检查候选块的有效性(S161)。若候选块非区域外、且非帧内模式,则候选块有效。若候选块有效(S161的YES),则时间结合运动信息候选被生成,时间结合运动信息候选被追加到时间结合运动信息候选列表中(步骤S162至步骤S165),结束处理。若候选块非有效(S161的NO),则检查下一个候选块(S166)。
[0248] 若候选块有效,则决定时间结合运动信息候选的预测方向(S162)。在实施方式1中,将结合运动信息候选的预测方向定为双向。然后,决定时间结合运动信息候选的L0方向、L1方向的参照图像(S163)。在实施方式1中,将L0方向的参照图像定为L0方向的参照图像中的与处理对象图像最近距离的参照图像,将L1方向的参照图像定为L1方向的参照图像中的与处理对象图像最近距离的参照图像。在此,是将L0方向的参照图像定为L0方向的参照图像中的与处理对象图像最近距离的参照图像,将L1方向的参照图像定为L1方向的参照图像中的与处理对象图像最近距离的参照图像的,但只要决定L0方向的参照图像和L1方向的参照图像即可,并不限定于此。例如,可以在编码流中编码L0方向和L1方向的参照图像,也可以时L0方向和L1方向的参照图像索引为0,还可以将处理对象块的相邻块所使用的L0方向的参照图像和L1方向的参照图像中、最多被使用的参照图像定为L0方向、L1方向各自参照的参照图像。
[0249] 然后,算出时间结合运动信息候选的运动矢量(S164)。本实施方式中的时间结合运动信息候选以在候选块的运动信息中有效的预测方向的参照图像ColRefPic和运动矢量mvCol为基准,算出双向的运动信息。候选块的预测方向为L0方向或L1方向的单向时,将该预测方向的参照图像和运动矢量选为基准。在候选块的预测方向为双向时,将L0方向或L1方向的任一者的参照图像和运动矢量选为基准。例如,可以举出将与ColPic相同时间方向上存在的参照图像和运动矢量选为基准、将候选块的L0方向或L1方向的参照图像中的与ColPic的图像间距离较近者选为基准、将候选块的L0方向或L1方向中的运动矢量与处理对象图像相交差者选为基准等。在作为双向运动信息生成的基准的参照图像和运动矢量被选出后,算出时间结合运动信息候选的运动矢量。
[0250] 在此,如上述那样生成了时间结合运动信息候选,但只要能利用已编码的其它图像的运动信息决定双向的运动信息即可,并不限定于此。例如,也可以如在直接运动补偿中进行的那样,将根据各方向的参照图像与处理对象图像的距离而缩放后的运动矢量作为双向的运动矢量。若候选块无效(S163的NO),则检查下一候选块(S165)。
[0251] 在此,假定了时间结合运动信息候选列表中包含1个以下的候选块的运动信息,但只要时间结合运动信息候选列表的数量根据候选块的有效性而变动即可,并不限定于此。关于预测方向、参照图像及运动矢量的决定方法也是同样,并不限定于此。
[0252] (双向结合运动信息候选列表的生成)
[0253] 接下来,利用图27的流程图说明双向结合运动信息候选列表的生成的详细动作。假定双向结合运动信息候选列表是空的。基准方向决定部160根据第2结合运动信息候选列表决定双向结合运动信息候选的基准方向(S170)。基准方向为L0的双向结合运动信息候选(BD0)时的基准方向成为L0方向,基准方向为L1的双向结合运动信息候选(BD1)时的基准方向成为L1方向。
[0254] 基准方向运动信息决定部161从基准方向决定部160所供给的基准方向和第2结合运动信息候选列表,决定双向结合运动信息候选的基准方向的运动矢量和参照图像索引(S171)。基准方向运动信息决定部161的详细动作将在后面叙述。
[0255] 反方向运动信息决定部162根据基准方向运动信息决定部161所供给的基准方向、基准方向的运动矢量、参照图像索引及第2结合运动信息候选列表,决定双向结合运动信息候选的反方向的运动矢量和参照图像索引(S172)。反方向运动信息决定部162的详细动作将在后面叙述。
[0256] 双向运动信息决定部163根据从反方向运动信息决定部162供给的基准方向、基准方向的运动矢量和参照图像索引、以及反方向的运动矢量和参照图像索引,决定双向结合运动信息候选的预测方向(S173)。双向结合运动信息候选的预测方向的决定的详细动作将在后面叙述。
[0257] 双向运动信息决定部163检查双向结合运动信息候选的预测方向的有效性(S174)。若双向结合运动信息候选的预测方向有效(S174的YES),则双向运动信息决定部163将双向结合运动信息候选追加到双向结合运动信息候选列表中(S175)。若双向结合运动信息候选的预测方向无效(S174的NO),则跳过步骤S175。
[0258] 接下来,利用图28的流程图说明基准方向运动信息决定部161的详细动作。假定LX方向(X为0或1)被选为双向结合运动信息候选的基准方向。将作为基准方向的LX的有效性设定为“0”(S190)。按第2结合运动信息候选列表所包含的结合运动信息候选的数量(NCands)反复执行以下处理(S191至S194)。检查结合运动信息候选的LX方向的有效性(S192)。若结合运动信息候选的LX方向有效(S192的YES),则将作为基准方向的LX的有效性设定为“1”,将基准方向的运动矢量和参照索引作为结合运动信息候选的LX方向的运动矢量和参照索引,结束处理(S193)。若结合运动信息候选的LX方向为无效(S192的NO),则检查下一个候选(S194)。
[0259] 在此,是按第2结合运动信息候选列表所包含的结合运动信息候选的数量(NCands)进行检查的,但只要能决定双向结合运动信息候选的基准方向的运动信息即可,并非限定于此。例如,在仅基于选择率高的结合运动信息候选生成双向结合运动信息候选时,可以将检查数固定为2或3这样的预定数而削减处理量,并使冗余的双向结合运动信息候选的生成可能性降低来削减融合索引的码量。
[0260] 接下来,利用图29的流程图说明反方向运动信息决定部162的详细动作。基准方向的反方向被设定为双向结合运动信息候选的反方向。假定LY方向(Y为0或1)被选为反方向。将作为反方向的LY的有效性设定为“0”(S200)。按第2结合运动信息候选列表所包含的结合运动信息候选的数量(NCands)反复执行以下处理(S201至S205)。
[0261] 检查是否非为按基准方向选择的结合运动信息候选(S202)。若非按基准方向选择的结合运动信息候选(S202的YES),则检查结合运动信息候选的LY方向的有效性(S203)。若结合运动信息候选的LY方向有效(S203的YES),则将作为反方向的LY的有效性设定为“1”,将反方向的运动矢量和参照索引作为结合运动信息候选的LY方向的运动矢量和参照索引,结束处理(S204)。若是按基准方向选择的结合运动信息候选(S202的NO)、或者结合运动信息候选的LY方向为无效(S203的NO),则检查下一个候选(S205)。
[0262] 在此,是按第2结合运动信息候选列表所包含的结合运动信息候选的数量(NCands)进行检查的,但只要能决定双向结合运动信息候选的反方向的运动信息即可,并不限定于此。例如,在仅基于选择率高的结合运动信息候选生成双向结合运动信息候选时,也可以将检查数固定为2或3这样的预定数来削减处理量,并使冗余的双向结合运动信息候选的生成可能性降低来削减融合索引的码量。此外,通过将开始检查的块定为按基准方向选择的结合运动信息候选的下一个结合运动信息候选,就可以消除BD0与BD1相同的可能性,能削减步骤S202。
[0263] 接下来,利用图30的表说明双向结合运动信息候选的预测方向的决定的详细动作。若LX方向和LY方向都有效,则预测方向成为双向的BI,若仅LX方向有效,则预测方向成为单向的LX方向,若仅LY方向有效,则预测方向成为单向的LY方向,若LX方向和LY方向都无效,则预测方向成为无效。即,LX方向和LY方向都有效时,具有该LX方向的运动信息的结合运动信息候选、和具有该LY方向的运动信息的、不同于具有该LX方向的运动信息的结合运动信息候选的结合运动信息候选被组合,生成新的双向结合运动信息候选。此外,在仅LX方向有效时,具有该有效的LX预测的结合运动信息候选的预测方向若为双预测,则该结合运动信息候选的预测方向将被变换成单预测。同样地,在仅LY方向有效时,具有该有效的LY预测的结合运动信息候选的预测方向若为双预测,则该结合运动信息候选的预测方向将被变换成单预测。
[0264] 在此,将双向结合运动信息候选的预测方向的决定表示在了图30中,但只要能决定预测方向即可,并非限定于此。图31的(a)~(c)中表示了双向结合运动信息候选的预测方向的决定的扩展例。例如,可以如图31的(a)那样,若LX方向和LY方向的至少一者无效,则使预测方向无效,或如图31的(b)和图31的(c)那样将预测方向强制为双向。
[0265] 一般来说,运动矢量的精度比较高时,双向预测的预测效率比单向预测更高。因此,在图31的(a)中,若LX方向和LY方向都不是有效,则可以使双向结合运动信息候选的预测方向为无效,通过减少结合运动信息候选的数量来削减融合索引的码量。在此,例如也可以采取如下这样的适应性处理:若单向结合运动信息候选中有双向预测的候选,则使双向结合运动信息候选的预测方向无效。
[0266] 此外,图31的(b)中使无效的预测方向的运动矢量为(0,0),使参照索引为“0”。这样,也可以将最短距离的参照图像作为预测信号,将双向结合运动信息候选强制为双向。这是因为参照索引“0”一般会成为与处理对象图像距离最近的参照图像,最短距离的预测信号的可靠度最高。
[0267] (动图像解码装置200的构成)
[0268] 下面说明实施方式1的动图像解码装置。图32中表示实施方式1的动图像解码装置200。动图像解码装置200是对动图像编码装置100所编码的码串进行解码,生成再现图像的装置。
[0269] 动图像解码装置200通过具备CPU(Central Processing Unit)、帧存储器、硬盘等的信息处理装置等硬件来实现。动图像解码装置200通过上述构成要素的动作来实现以下说明的功能性构成要素。此外,关于解码对象的预测块的位置信息、预测块尺寸,假定是在动图像解码装置200内共有的,并未进行图示。此外,假定候选编号管理表及结合运动信息候选列表所包含的结合运动信息候选的最大数是在动图像解码装置200内共有的,并未进行图示。
[0270] 实施方式1的动图像解码装置200包括码串解析部201、预测误差解码部202、加法部203、运动信息再现部204、运动补偿部205、帧存储器206、以及运动信息存储器207。
[0271] (动图像解码装置200的功能)
[0272] 下面说明各部的功能。码串解析部201将从端子30供给来的码串解码,按照句法解码预测误差编码数据、融合标志、融合候选编号、运动补偿预测的预测方向、参照图像索引、差分矢量、以及预测矢量索引。然后,将该预测误差编码数据提供给预测误差解码部202,将该融合标志、该融合候选编号、该运动补偿预测的预测方向、该参照图像索引、该差分矢量、以及该预测矢量索引提供给运动信息再现部204。融合候选编号是从融合索引变换而得到的。
[0273] 预测误差解码部202对从码串解析部201供给的预测误差编码数据进行逆量化和逆正交变换等处理,生成预测误差信号,并将该预测误差信号提供给加法部203。
[0274] 加法部203将从预测误差解码部202供给的预测误差信号和从运动补偿部205供给的预测信号相加,生成解码图像信号,将该解码图像信号提供给帧存储器206和端子31。
[0275] 运动信息再现部204根据码串解析部201所供给的融合标志、融合候选编号、运动补偿预测的预测方向、参照图像索引、差分矢量、以及预测矢量索引、运动信息存储器207所供给的候选块群,再现出运动信息,将该运动信息提供给运动补偿部205。关于运动信息再现部204的详细构成,将在后面叙述。
[0276] 运动补偿部205基于从运动信息再现部204供给的运动信息,根据运动矢量对帧存储器206内的参照图像索引所示的参照图像进行运动补偿,生成预测信号。若预测方向为双向,则生成使L0方向和L1方向的预测信号平均后的信号作为预测信号,并将该预测信号提供给加法部203。
[0277] 帧存储器206和运动信息存储器207具有与动图像编码装置100的帧存储器110和运动信息存储器111相同的功能。
[0278] (运动信息再现部204的详细构成)
[0279] 接下来,利用图33说明成为实施方式1的特征的运动信息再现部204的详细构成。图33表示运动信息再现部204的构成。运动信息再现部204包括编码模式判定部210、运动矢量再现部211及结合运动信息再现部212。端子32连接于码串解析部201,端子33连接于运动信息存储器207,端子34连接于运动补偿部205。
[0280] 下面说明各部的功能。若从码串解析部201供给的融合标志为“0”,则编码模式判定部210将从码串解析部201供给的运动补偿预测的预测方向、参照图像索引、差分矢量、及预测矢量索引提供给运动矢量再现部211。若融合标志为“1”,则将从码串解析部201供给的融合候选编号提供给结合运动信息再现部212。
[0281] 运动矢量再现部211根据从编码模式判定部210供给的运动补偿预测的预测方向、参照图像索引、差分矢量、以及预测矢量索引、从端子33供给的候选块群,再现出运动信息,提供给端子34。关于运动矢量再现部211的详细构成,将在后面叙述。
[0282] 结合运动信息再现部212根据从编码模式判定部210供给的融合候选编号和从端子33供给的候选块群,再现出运动信息,提供给端子34。关于结合运动信息再现部212的详细构成,将在后面叙述。
[0283] 接下来,利用图34说明运动矢量再现部211的详细构成。图34表示运动矢量再现部211的构成。运动矢量再现部211包括预测矢量候选列表生成部220、预测矢量决定部221及加法部222。端子35连接于编码模式判定部210。
[0284] 下面说明各部的功能。预测矢量候选列表生成部220具有与动图像编码装置100的预测矢量候选列表生成部130相同的功能。预测矢量决定部221根据从预测矢量候选列表生成部220供给的预测矢量候选列表和从端子35供给的预测矢量索引,决定预测矢量,提供给加法部222。
[0285] 加法部222将从端子35供给的差分矢量和从预测矢量决定部221供给的预测矢量相加,算出运动矢量,并将该运动矢量提供给端子34。
[0286] 接下来,利用图35说明结合运动信息再现部212的详细构成。图35表示结合运动信息再现部212的构成。结合运动信息再现部212包括结合运动信息候选生成部230和结合运动信息选择部231。
[0287] 下面说明各部的功能。结合运动信息候选生成部230具有与图15所示的结合运动信息候选生成部140相同的功能。结合运动信息选择部231基于从结合运动信息候选生成部230供给的结合运动信息候选列表和从端子35供给的融合候选编号,从结合运动信息候选列表中选择运动信息,并将该运动信息提供给端子34。
[0288] (动图像解码装置200的动作)
[0289] 接下来,利用图36的流程图说明实施方式1的动图像解码装置200中的解码动作。码串解析部201将从端子30供给的码串解码,按照句法解码出预测误差编码数据、融合标志、融合候选编号、运动补偿预测的预测方向、参照图像索引、差分矢量、以及预测矢量索引(S210)。
[0290] 运动信息再现部204根据从码串解析部201供给的融合标志、融合候选编号、运动补偿预测的预测方向、参照图像索引、差分矢量、以及预测矢量索引、从运动信息存储器207供给的候选块群,再现出运动信息(S211)。
[0291] 运动补偿部205基于从运动信息再现部204供给的运动信息,根据运动矢量对帧存储器206内的参照图像索引所示的参照图像进行运动补偿,生成预测信号。若预测方向为双向,则生成使L0方向和L1方向的预测信号平均后的信号作为预测信号(S212)。
[0292] 预测误差解码部202对从码串解析部201供给的预测误差编码数据进行逆量化和逆正交变换等处理,生成预测误差信号(S213)。加法部203将从预测误差解码部202供给的预测误差信号和从运动补偿部205供给的预测信号相加,生成解码图像信号(S214)。
[0293] 帧存储器206存储从加法部203供给的解码图像信号(S215)。运动信息存储器207将从运动信息再现部204供给的运动矢量按最小的预测块尺寸单位存储1图像量(S216)。
[0294] 接下来,利用图37的流程图说明运动信息再现部204的动作。编码模式判定部210判定从码串解析部201供给的融合标志为“0”还是为“1”(S220)。若融合标志为“1”(S220的1),则结合运动信息再现部212基于从编码模式判定部210供给的融合候选编号和从端子33供给的候选块群再现运动信息(S221)。
[0295] 若融合标志为“0”(S220的0),则运动矢量再现部211基于从编码模式判定部210供给的运动补偿预测的预测方向、参照图像索引、差分矢量、以及预测矢量索引、从端子33供给的候选块群,再现运动信息(S222)。
[0296] 接下来,利用图38的流程图说明运动矢量再现部211的动作。预测矢量候选列表生成部220通过与动图像编码装置100的预测矢量候选列表生成部130相同的动作来生成预测矢量候选列表(S300)。
[0297] 预测矢量决定部221从预测矢量候选列表生成部220所供给的预测矢量候选列表中选择从端子35供给的预测矢量索引所表示的预测矢量候选,决定预测矢量(S301)。加法部222将从端子35供给的差分矢量和从预测矢量决定部221供给的预测矢量相加,算出运动矢量(S302)。
[0298] 接下来,利用图39的流程图说明结合运动信息再现部212的动作。结合运动信息候选生成部230通过与动图像编码装置100的结合运动信息候选生成部140相同的动作生成结合运动信息候选列表(S310)。结合运动信息选择部231从结合运动信息候选生成部230所供给的结合运动信息候选列表中选择从端子35供给的融合候选编号所表示的结合运动信息候选,决定结合运动信息(S311)。
[0299] (实施方式1的变形例)
[0300] 实施方式1可以如下这样变形。
[0301] (变形例1:融合候选编号的顺序)
[0302] 在上述实施方式1中,作为候选编号管理表的一例,举出了图18的情形,但结合运动信息候选的最大数只要在1以上即可,并且只要越是选择率高的结合运动信息候选,越被分配较小的融合候选编号即可,不限定于图18的情况。此外,结合运动信息候选列表所包含的结合运动信息候选的最大数定为了7(融合索引的最大值为6),但只要是2以上即可。例如,若双向结合运动信息候选的选择率比块C和块E的结合运动信息候选的选择率高,则也可以如图40的(a)或图40的(b)那样。
[0303] 此外,还可以如图41那样增加双向结合运动信息候选。说明各双向结合运动信息候选(BD0~BD3)。假定双向结合运动信息候选(BD0)和双向结合运动信息候选(BD1)与实施方式1相同。而关于双向结合运动信息候选(BD2)和双向结合运动信息候选(BD3),其基准方向的双向结合运动信息候选的基准方向的运动矢量和参照索引、以及反方向的双向结合运动信息候选的基准方向的运动矢量和参照索引的决定方法不同于双向结合运动信息候选(BD0)和双向结合运动信息候选(BD1)。
[0304] 图42是说明双向结合运动信息候选(BD2)的导出的流程图。图42是将图28的流程图的步骤S193置换为步骤S195至步骤S197后的流程图。下面说明步骤S195至步骤S197。检查LX的有效性是否为“1”(S195)。若LX的有效性不为“1”(S195的NO),则将LX的有效性置为“1”(S196),检查下一个候选(S194)。若LX的有效性为“1”(S195的YES),则将基准方向的运动矢量和参照索引作为结合运动信息候选的LX方向的运动矢量和参照索引(S197),结束处理。
[0305] 图43是说明双向结合运动信息候选(BD3)的导出的流程图。图43是将图29的流程图的步骤S204置换为步骤S206至步骤S208后的流程图。下面说明步骤S206至步骤S208。检查LY的有效性是否为“1”(S206)。若LY的有效性不为“1”(S206的NO),则将LY的有效性置为“1”(S207),检查下一个候选(S205)。若LY的有效性为“1”(S206的YES),则将基准方向的运动矢量和参照索引作为结合运动信息候选的LY方向的运动矢量和参照索引(S208),结束处理。
[0306] 即,双向结合运动信息候选(BD2)成为利用了基准方向上第2个有效的结合运动信息候选的基准方向的运动矢量和参照索引、以及反方向上并非与基准方向相同候选的第1个有效的结合运动信息候选的反方向的运动矢量和参照索引的双向结合运动信息候选。
[0307] 此外,双向结合运动信息候选(BD3)成为组合了基准方向上第1个有效的结合运动信息候选的基准方向的运动矢量和参照索引、以及反方向上并非与基准方向相同候选的第2个有效的结合运动信息候选的反方向的运动矢量和参照索引的双向结合运动信息候选。
[0308] 通过像这样增加双向结合运动信息候选的组合,能提高结合运动信息候选的选择率,提高运动信息的编码效率。
[0309] (变形例2:双向结合运动信息候选的相同判定)
[0310] 在上述实施方式1中,作为反方向运动信息决定部162的动作例,举出了图29的情况,但只要生成双向结合运动信息候选即可,并不限定于此。例如基于提高双向结合运动信息候选的有效性、即不被第2结合运动信息候选列表削减部153删除的目的,可以如图44那样追加步骤S240。
[0311] 检查第2结合运动信息候选列表中是否不存在如下这样的结合运动信息候选(S240),其具有与利用了基准方向的运动矢量和参照索引及检查对象的结合运动信息候选的反方向的运动矢量和参照索引的双向结合运动信息候选相同的运动信息。若不存在相同的结合运动信息候选(S240的YES),则实施步骤S205。若存在相同的结合运动信息候选(S240的NO),则检查下一个候选(S206)。此时,也可以省略图16的第2结合运动信息候选列表削减部153和图24的步骤S146。
[0312] 由此,不会被第2结合运动信息候选列表削减部153削减掉双向结合运动信息候选,能提高结合运动信息候选的选择率,提高运动信息的编码效率。
[0313] (变形例3:与双向结合运动信息候选的基准方向的相同判定)
[0314] 在上述实施方式1中,作为反方向运动信息决定部162的动作例,举出了图29的情况,但也可以如图45那样追加步骤S250。
[0315] 检查按基准方向选择的结合运动信息候选的反方向的运动矢量和参照索引、与检查对象的结合运动信息候选的反方向的运动矢量和参照索引是否不相同(S250)。若不相同(S250的YES),则实施步骤S205。若相同(S250的NO),则检查下一个候选(S206)。
[0316] 由此,双向结合运动信息候选不会与按基准方向选择的结合运动信息候选相同,能提高双向结合运动信息候选的有效性,提高结合运动信息候选的选择率,从而提高运动信息的编码效率。
[0317] (变形例4:删除过程的统一化)
[0318] 在上述实施方式1中,作为结合运动信息候选生成部140的构成的一例,举出了图16的情况,但作为更简易的构成,也可以如图46那样去掉第1结合运动信息候选列表削减部
151,仅采用第2结合运动信息候选列表削减部153,将删除部汇总为1个。
[0319] 但作为此时的课题,由于双向结合运动信息候选列表生成部152被供给冗余的结合运动信息候选,故若最初的2个单向结合运动信息候选相同,则基准方向为L0的双向结合运动信息候选(BD0)与基准方向为L1的双向结合运动信息候选(BD1)成为相同的运动信息。因此,如图47的(b)那样,根据基准方向是L0还是L1来使图28和图29的检查顺序改变,从而能使生成相同的双向结合运动信息候选的概率下降。
[0320] (变形例5:相同方向的利用)
[0321] 在上述实施方式1中,关于反方向运动信息决定部162的反方向,举出了若基准方向是L0方向,则反方向为L1方向,若基准方向是L1方向,则反方向为L0方向的例子。关于该点,也可以使得若基准方向是L0方向、则反方向为L0方向,若基准方向为L1方向、则反方向为L1方向。这样,在如图48那样第2结合运动信息候选列表所包含的结合运动信息候选中仅存在相同预测方向的运动信息时,能提高双向结合运动信息候选的生成概率,提高结合运动信息候选的选择率,从而提高运动信息的编码效率。
[0322] (变形例6:预先规定的组合)
[0323] 在上述实施方式1中,在基准方向和反方向上检索有效的结合运动信息候选块,并利用基准方向和反方向的运动信息,来生成双向结合运动信息候选。通过按基准方向和反方向进行检索,能提高双向结合运动信息候选的有效性,但处理量会増加。
[0324] 因此,通过如图49的(a)、(b)那样将双向结合运动信息候选定义为预先规定的可靠度更高的结合运动信息候选块的组合,能节省检索处理,提高双向结合运动信息候选的选择率,提高编码效率。
[0325] 图49的(a)是使可靠度最高的候选块A的L0方向的运动信息和可靠度第二高的候选块B的L1方向的运动信息组合来定义基准方向为L0的双向结合运动信息候选(BD0),使可靠度最高的候选块A的L1方向的运动信息和可靠度第二高的候选块B的L0方向的运动信息组合来定义基准方向为L1的双向结合运动信息候选(BD1),并将预测方向定义为双向预测的例子。
[0326] 图49的(b)是将基准方向为L0的双向结合运动信息候选(BD0)定义为可靠度最高的候选块A的L0方向的运动信息,将基准方向为L1的双向结合运动信息候选(BD1)定义为可靠度最高的候选块A的L1方向的运动信息,将预测方向定义为单向预测的例子。当然,若有可靠度更高的候选块的组合,也可以是这以外的组合。
[0327] (变形例7:BD0、BD1适应性)
[0328] 在上述实施方式1中,对基准方向为L0的双向结合运动信息候选(BD0)分配较小的融合候选编号,但不限定于此。例如也可以对预测方向为双向的双向结合运动信息候选优先分配较小的融合候选编号,对预测效率高的双向预测的双向结合运动信息候选分配较小的融合候选编号,由此改善编码效率。此外,在BD0和BD1都为双向预测时,也可以对基准方向的运动信息为单向的双向结合运动信息候选优先分配较小的融合候选编号。这是因为,一般来说虽然与单向预测相比,双向预测的预测效率更高,但在单向预测被选择时,其运动信息的可靠度较高。
[0329] (实施方式1的效果)
[0330] (双向预测的双向结合运动信息的效果例)
[0331] 利用图50说明实施方式1的效果。以下,将块N的L0方向的运动矢量记作mvL0N,将L1方向的运动矢量记作mvL1N,将L0方向的参照图像索引记作refIdxL0N,将L1方向的参照图像索引记作refIdxL1N,将L0方向的差分矢量记作dmvL0N,将L1方向的差分矢量记作dmvL1N,将L0方向的参照图像索引的差分记作drefIdxL0N,将L1方向的参照图像索引记作drefIdxL1N。
[0332] 假定对处理对象块(Z)来说,预测误差最小的运动信息是预测方向为双向(BI)、mvL0Z=(2,8)、mvL1Z=(4,2)、refIdxL0Z=0、refIdxL1N=0。
[0333] 此时,假定单向结合运动信息候选为图50的A、B、COL、C、E。这些单向结合运动信息候选中不存在与对处理对象块(Z)来说预测误差最小的运动信息相同的运动信息。因此,从这些单向结合运动信息候选中选择率失真评价值最小的单向结合运动信息候选。然后,将该候选的率失真评价值与由差分矢量计算部120算出的率失真评价值进行比较,仅在前者比后者小时,使用融合模式作为编码模式。
[0334] 在选择了融合模式作为编码模式时,运动信息的编码效率与预测误差的平衡为最佳,但预测误差未成为最佳。另一方面,在选择了非融合模式作为编码模式时,运动信息的编码效率未成为最佳。
[0335] 在此,由实施方式1生成的双向结合运动信息候选成为图50的BD0、BD1。基准方向为L0的双向结合运动信息候选(BD0)是由块A的L0方向的运动信息和块B的L1方向的运动信息构成的双向结合运动信息候选。基准方向为L1的双向结合运动信息候选(BD1)是由块A的L1方向的运动信息和块B的L0方向的运动信息构成的双向结合运动信息候选。此时,可知基准方向为L0的双向结合运动信息候选(BD0)具有与对处理对象块(Z)来说预测误差最小的运动信息相同的运动信息。即,通过选择基准方向为L0的双向结合运动信息候选(BD0),能使预测误差最小化,使运动信息的编码效率最优化。
[0336] (单向预测的双向结合运动信息的效果例)
[0337] 另外,利用图51说明实施方式1的单向预测的效果。对处理对象块(Z)来说预测误差最小的运动信息,假定是预测方向为单向(UNI)、mvL0Z=(0,8)、refIdxL0Z=2。
[0338] 假定单向结合运动信息候选B、C、COL为无效(×),有效的单向结合运动信息候选A、E具有图51那样的运动信息。此时,在单向结合运动信息候选中也不存在对处理对象块(Z)来说预测误差最小的运动信息。
[0339] 在此,由实施方式1生成的双向结合运动信息候选也成为图51的BD0、BD1。基准方向为L0的双向结合运动信息候选(BD0)是由块A的L0方向的运动信息构成的预测方向为单向的双向结合运动信息候选。基准方向为L1的双向结合运动信息候选(BD1)是由块E的L0方向的运动信息和块A的L1方向的运动信息构成的双向结合运动信息候选。可知基准方向为L0的双向结合运动信息候选(BD0)具有与对处理对象块(Z)来说预测误差最小的运动信息相同的运动信息。即,通过选择基准方向为L0的双向结合运动信息候选(BD0),能使预测误差最小化,使运动信息的编码效率最优化。
[0340] (基于单向预测的组合的双向结合运动信息的效果例)
[0341] 利用图52说明实施方式1的预测方向为单向的运动信息的组合的效果。对处理对象块(Z)来说预测误差最小的运动信息,假定是预测方向为单向(BI)、mvL0Z=(2,2)、refIdxL0Z=0、mvL1Z=(―2,2)、refIdxL1Z=0。
[0342] 假定单向结合运动信息候选A、COL、C为无效(×),有效的单向结合运动信息候选B、E具有图52那样的运动信息。此时,单向结合运动信息候选中也不存在对处理对象块(Z)来说预测误差最小的运动信息。
[0343] 在此,由实施方式1生成的双向结合运动信息候选也成为图52的BD0、BD1。基准方向为L0的双向结合运动信息候选(BD0)是由块B的L0方向的运动信息和块E的L1方向的运动信息构成的双向结合运动信息候选,BD1不被生成。可知基准方向为L0的双向结合运动信息候选(BD0)具有与对处理对象块(Z)来说预测误差最小的运动信息相同的运动信息。即,通过选择基准方向为L0的双向结合运动信息候选(BD0),能使预测误差最小化,使运动信息的编码效率最优化。
[0344] (双向结合运动信息候选)
[0345] 如上述那样,通过利用单向结合运动信息候选的L0方向和L1方向的运动信息生成双向结合运动信息候选,即使处理对象块的运动与已编码的其它图像的相同位置块或该处理对象块的相邻块的运动有偏差,也能不编码运动信息、而仅以索引进行编码。因此,可实现能将编码效率和预测效率最优化的动图像编码装置和动图像解码装置。
[0346] (单向的结合运动信息候选)
[0347] 此外,在利用单向结合运动信息候选的L0方向和L1方向的运动信息生成新的单向的结合运动信息候选时,也能发挥与利用单向结合运动信息候选的L0方向和L1方向的运动信息生成双向结合运动信息候选时同样的效果。
[0348] (基于相同方向的利用的双向结合运动信息)
[0349] 此外,在利用单向结合运动信息候选的相同预测方向的运动信息生成双向结合运动信息候选时,也能发挥与利用单向结合运动信息候选的L0方向和L1方向的运动信息生成双向结合运动信息候选时同样的效果。
[0350] (动图像解码处理的简易化)
[0351] 通过如上述那样利用单向结合运动信息候选的各方向的运动信息生成双向结合运动信息候选,即使处理对象块的运动与已编码的其它图像的相同位置块或该处理对象块的相邻块的运动有偏差,也不需要预测方向、参照索引及差分矢量的解码、预测矢量与差分矢量的相加处理等,能削减动图像解码装置的处理。
[0352] (删除过程)
[0353] 通过如上述那样设置第1结合运动信息候选列表削减部151,在双向结合运动信息候选列表生成部152中能避免基准方向为L0的双向结合运动信息候选(BD0)和基准方向为L1的双向结合运动信息候选(BD1)具有相同运动信息的情况,能提高双向结合运动信息候选的有效性,提高编码效率。
[0354] (选择率顺序的融合候选编号分配)
[0355] 通过如上述那样,越是选择率高的结合运动信息候选、越分配小的融合候选编号,能在各方向上提高更可靠的运动信息的选择率,在各方向利用精度高的运动信息生成高精度的双向结合运动信息候选。此外,能使检索的处理简单化,即使限制检索的处理数也能抑制编码效率的下降。
[0356] (存储器读取时间)
[0357] 通过如上述那样利用单向结合运动信息候选的各方向的运动信息生成双向结合运动信息候选,能不增加单向结合运动信息候选的数量地增加结合运动信息候选的数量。因此,在使用因单向结合运动信息候选数的増加而存储器读取时间变长那样的一般的LSI的动图像编码装置和动图像解码装置中,能抑制因单向结合运动信息候选数的増加导致的存储器读取时间的増大。
[0358] (适应性切换)
[0359] 通过如上述那样对预测方向为双向的双向结合运动信息候选优先分配较小的融合候选编号,能提高预测效率高的、预测方向为双向的双向结合运动信息候选的选择率,通过对基准方向的运动信息为单向的双向结合运动信息候选优先分配较小的融合候选编号,能提高利用了可靠度高的运动信息的双向结合运动信息候选的选择率,提高编码效率。
[0360] [实施方式2]
[0361] (句法)
[0362] 实施方式2的动图像编码装置的构成除该动图像编码装置的上位功能和码串生成部104的功能外,与实施方式1的动图像编码装置100的构成相同。以下,针对实施方式2的动图像编码装置的上位功能和码串生成部104的功能,说明与实施方式1的不同点。
[0363] 实施方式2的动图像编码装置的上位功能具有针对编码流单位或作为编码流的一部分的每个片,变更候选编号管理表的功能。码串生成部104将候选编号管理表如图53的(a)、(b)那样编码到编码流中进行传送。在图53的(a)、(b)中,表示了按用于编码流单位的控制的SPS(Sequence Parameter Set:序列参数集)、和用于片(slice)单位的控制的Slice_header来将候选编号管理表编码的句法的例子。
[0364] 用"modified_merge_index_flag"指定是否变更融合候选编号与结合运动信息候选的标准的关系,用"max_no_of_merge_index_minus1"指定进行重新定义的个数,用"merge_mode[i]"指定结合运动信息候选列表所包含的候选块的顺序。当然,也可以设置用于指定双向结合运动信息候选的基准方向的信息"bd_merge_base_direction"。
[0365] 例如,融合候选编号与结合运动信息候选的标准的关系为图18,若想要重新定义的候选编号管理表为图40的(a),则将"modified_merge_index_flag"设定为“1”,将"max_no_of_merge_index_minus1"设定为“6”,将"merge_mode[i]"分别设定为“0”、“1”、“2”、“5”、“6”、“3”、“4”。
[0366] 图53的(a)、(b)是句法的一例,只要能在编码流中指定要分配给双向结合运动信息候选的融合候选编号,规定双向结合运动信息候选的基准方向即可,并不限定于此。
[0367] 实施方式2的动图像解码装置的构成除码串解析部201的功能外与实施方式1的动图像解码装置200的构成相同。以下,针对实施方式2的动图像解码装置的码串解析部201的功能,说明与实施方式1的不同点。码串解析部201按照图53的(a)、(b)的句法解码候选编号管理表。
[0368] (实施方式2的效果)
[0369] 通过在实施方式2的动图像编码装置和动图像解码装置中按流单位或片单位共享融合候选编号的结合运动信息候选的最佳关系,在运动的特性按流单位或片单位变化那样的情况下,能提高融合索引的编码效率。
[0370] [实施方式3]
[0371] (结合运动信息候选的置换)
[0372] 实施方式3的动图像编码装置的构成除结合运动信息候选生成部140的功能外与实施方式1的动图像编码装置100的构成相同。首先,假定实施方式3的候选编号管理表如图54,结合运动信息候选列表所包含的结合运动信息候选的最大数为5。结合运动信息候选列表所包含的结合运动信息候选的最大数为5、以及双向结合运动信息候选未被分配融合候选编号这两点不同。以下,针对实施方式3的结合运动信息候选生成部140,利用图55说明与实施方式1的不同点。
[0373] 图55的结合运动信息候选生成部140是在图16的结合运动信息候选生成部140中追加了候选编号管理表变更部154的构成。下面说明候选编号管理表变更部154的功能。候选编号管理表变更部154根据从第1结合运动信息候选列表削减部151供给的第2结合运动信息候选列表,算出双向结合运动信息候选的有效数。若双向结合运动信息候选的有效数在1以上,则变更候选编号管理表,将第2结合运动信息候选列表提供给双向结合运动信息候选列表生成部152。若双向结合运动信息候选的有效数为0,则将第2结合运动信息候选列表作为结合运动信息候选列表提供到端子18。
[0374] 接下来,针对实施方式3的结合运动信息候选生成部140的动作,利用图56说明与实施方式1的不同点。图56的流程图在图24的流程图中追加了以下2个步骤。候选编号管理表变更部154变更候选编号管理表(S260)。检查候选编号管理表是否被变更了(S261)。若候选编号管理表被变更了(S261的YES),则实施步骤S144。若候选编号管理表未被变更(S261的NO),则步骤S144被跳过。
[0375] 下面利用图57说明候选编号管理表变更部154的动作。首先,候选编号管理表变更部154对未包含于第2结合运动信息候选列表的无效的结合运动信息候选的数量进行计数,算出结合运动信息候选的无效数(S270)。此外,在实施方式3中,对于结合运动信息候选的无效数的计算,采用了未包含于第2结合运动信息候选列表的无效的结合运动信息候选的数量,但只要能算出无效的结合运动信息候选的数量即可,并不限定于此。例如,也可以从空间结合运动信息候选的最大数4和时间结合运动信息候选的最大数1的合计5,减去第2结合运动信息候选列表内所包含的有效的结合运动信息候选的数量,来求得无效的结合运动信息候选的数量。此外,若选择率高的结合运动信息为无效,则认为双向结合运动信息候选的选择率会下降,故也可以对融合候选编号在2以上的无效的结合运动信息候选的数量进行计数。
[0376] 候选编号管理表变更部154查询结合运动信息候选的无效数是否在1以上(S271)。若结合运动信息候选的无效数在1以上(S271的YES),则为变更候选编号管理表而进行之后的处理。若结合运动信息候选的无效数为0(S271的NO),则结束处理。
[0377] 候选编号管理表变更部154对有效的双向结合运动信息候选的数量进行计数,算出双向结合运动信息候选的有效数(S272)。即,若BD0和BD1都有效,则双向结合运动信息候选的有效数为2,若BD0和BD1的一者有效,则双向结合运动信息候选的有效数为1,若BD0和BD1都无效,则双向结合运动信息候选的有效数为0。
[0378] 候选编号管理表变更部154将结合运动信息候选的无效数和双向结合运动信息候选的有效数的较小者作为双向结合运动信息候选的追加数(S273)。候选编号管理表变更部154对双向结合运动信息候选的追加数个双向结合运动信息候选分配无效的融合候选编号(S274)。
[0379] 下面,利用图58的(a)~(c)说明候选编号管理表变更部154的候选编号管理表的变更例。图58的(a)表示了结合运动信息候选的无效数为1、双向结合运动信息候选的有效数为1以上时的例子。对最初的无效的融合候选编号1分配BD0。当然,若BD1有效,则也可以分配BD1。图58的(b)表示了结合运动信息候选的无效数为2、双向结合运动信息候选的有效数为2时的例子。最初无效的融合候选编号2被分配BD0,第二个无效的融合候选编号4被分配BD1。图58的(c)表示了结合运动信息候选的无效数为2、双向结合运动信息候选的有效数为1(BD1有效)时的例子。最初无效的融合候选编号2被分配BD1。
[0380] 实施方式3的动图像解码装置的构成除结合运动信息候选生成部140的功能外,与实施方式1的动图像解码装置200的构成相同。实施方式3的动图像解码装置的结合运动信息候选生成部140与实施方式3的动图像编码装置的结合运动信息候选生成部140相同。
[0381] (实施方式3的变形例)
[0382] 实施方式3可以如下这样变形。
[0383] (变形例1:单向结合运动信息候选优先)
[0384] 在上述实施方式3中,作为候选编号管理表变更部154的动作例,举出了图57,但只要变更后的候选编号管理表是选择率越高的结合运动信息候选、越被分配较小的融合候选编号即可,并不限定于此。
[0385] 例如,在已有的单向结合运动信息候选的可靠度足够高时,可以在候选编号管理表变更部154的动作中如图59那样加入以下步骤S275。图59的流程图是在图57的流程图中追加了步骤S275的流程。候选编号管理表变更部154将无效的结合运动信息候选的融合候选编号进位填充(S274)。
[0386] 以下,利用图的60(a)、(b)说明候选编号管理表变更部154的候选编号管理表的变更例。图60的(a)表示了结合运动信息候选的无效数为1、双向结合运动信息候选的有效数为1以上时的例子。在无效的融合候选编号(融合候选编号1)被进位填充后,对最初无效的融合候选编号4分配BD0。此外,若BD1有效,则也可以分配BD1。图60的(b)表示了结合运动信息候选的无效数为2、双向结合运动信息候选的有效数为2时的例子。在无效的融合候选编号(融合候选编号2)被进位填充后,对最初无效的融合候选编号3分配BD0,对第二个无效的融合候选编号4分配BD1。由此,对双向结合运动信息候选分配比单向结合运动信息候选大的融合候选编号。
[0387] (变形例2:依赖于预定块)
[0388] 候选编号管理表变更部154的动作还可以再变形。首先,在本变形例中,对预定的块关联了预定的双向结合运动信息候选,假定对块C关联了BD0,对块D关联了BD1。以下,利用图61说明候选编号管理表变更部154的动作的另一变形例。按被建立了关联的块的个数反复执行以下处理(S280至S284)。检查第i个预定块是否无效(S281)。若第i个预定的块无效(S281的YES),则为变更候选编号管理表而较小之后的处理。若第i个预定块并非无效(S281的NO),则检查下一个预定块。
[0389] 在变形例2中,将预定的结合运动信息候选假定为融合候选编号3的块C和融合候选编号4的块E这2个。因此,候选编号管理表变更部154对第1预定的无效融合候选编号分配双向结合运动信息候选(BD0),候选编号管理表变更部154对第2预定的无效融合候选编号分配双向结合运动信息候选(BD1)(S282)。
[0390] 如上述那样,变形例2的双向结合运动信息候选列表生成部152,在预定的结合运动信息候选无效时,双向结合运动信息候选成为有效。在此,将预定的结合运动信息候选假定为块C和块E,但只要在具有更大的融合候选编号的选择率低的结合运动信息候选为无效时生成双向结合运动信息候选即可,并不限定于此。
[0391] (变形例3:单向预测的结合运动信息候选的置换)
[0392] 候选编号管理表变更部154的动作还可以变形。以下,利用图62说明候选编号管理表变更部154的动作的变形例。若结合运动信息候选的无效数为0(S271的NO),则候选编号管理表变更部154对第2结合运动信息候选列表所包含的预测方向为单向(L0方向或L1方向)的结合运动信息候选的数量进行计数,算出单向预测数(S290)。查询单向预测数是否为1以上(S291)。若双向结合运动信息候选的有效数为1以上(S291的YES),则为变更候选编号管理表而进行以后的处理。若单向预测数为0(S291的NO),则结束处理。候选编号管理表变更部154对预测方向为双向的双向结合运动信息候选的数量进行计数,算出双向结合运动信息候选的有效数(S292)。候选编号管理表变更部154对双向结合运动信息候选的追加数的双向结合运动信息候选分配预测方向为单向的结合运动信息候选的融合候选编号(S294)。
[0393] 作为具体例,若双向结合运动信息候选(BD0)的预测方向为双向,则候选编号管理表变更部154将最后的预测方向为单向的融合候选编号分配给双向结合运动信息候选(BD0)。此外,若双向结合运动信息候选(BD1)的运动补偿预测的方向为双向,则候选编号管理表变更部154将最后起的第2个预测方向为单向的融合候选编号分配给双向结合运动信息候选(BD1)。在实施方式3的变形例3中,对于单向预测数的计算,采用了第2结合运动信息候选列表所包含的预测方向为单向的结合运动信息候选的数量,但只要能算出单向预测数即可,并不限定于此。例如,对于选择率高的结合运动信息,即使预测方向为单向,也被认为可靠度较高,故可以对融合候选编号在3以上的预测方向为单向的结合运动信息候选的数量进行计数。此外,若结合运动信息候选的无效数为0,则对预测方向为单向的结合运动信息候选的数量进行计数,但只要能以结合运动信息候选的无效数和单向预测数的合计数为上限、对双向结合运动信息候选分配融合候选编号即可,并不限定于此。
[0394] 如上述那样,变形例3的双向结合运动信息候选列表生成部152将预测方向为单向的结合运动信息候选置换成预测方向为双向的双向结合运动信息候选。
[0395] (实施方式3的效果)
[0396] 通过如上述那样利用无效的融合索引作为双向结合运动信息候选的融合候选编号,能抑制因融合候选编号的増加所导致的融合索引的码量的増加,并提高结合运动信息候选的选择率,提高编码效率。
[0397] 如上所述,在时间方向或空间方向的运动信息的可靠度较高时,以双向结合运动信息候选的融合候选编号比单向结合运动信息候选的融合候选编号更大的方式使用融合候选编号,从而能提高融合索引的编码效率。
[0398] 通过如上述那样将具有较大的融合候选编号的结合运动信息候选与双向结合运动信息候选相关联,能保留可靠度较高、选择率较高的块的结合运动信息候选地、适应性地切换选择率低的块的结合运动信息候选和双向结合运动信息候选。因此,能抑制因融合候选编号的増加导致的融合索引的码量的増加,提高结合运动信息候选的选择率,提高编码效率。
[0399] 如以上那样,将预测方向为单向的结合运动信息候选置换成预测方向为双向的双向结合运动信息候选,能使预测效率高、预测方向为双向的双向结合运动信息候选的数量増加,提高结合运动信息候选的选择率,提高编码效率。
[0400] [实施方式4]
[0401] (使单向预测的运动信息优先)
[0402] 实施方式4的动图像编码装置的构成除基准方向运动信息决定部161的功能外与实施方式1的动图像编码装置100的构成相同。以下,针对实施方式4的基准方向运动信息决定部161,说明与实施方式1的不同点。利用图63说明实施方式4的基准方向运动信息决定部161的动作。
[0403] 图63的流程图是对图28的流程图追加了步骤S320至步骤S323的流程,在步骤S321具有特征点。首先,将作为基准方向的LX的有效性设定为“0”(S190)。按第2结合运动信息候选列表所包含的结合运动信息候选的数量(NCands)反复执行以下处理(S320至S323)。检查结合运动信息候选的LX方向的有效性和是否为单向预测(S321)。若结合运动信息候选的LX方向有效、且为单向预测(S321的YES),则将作为基准方向的LX的有效性设定为“1”,将基准方向的运动矢量和参照索引作为结合运动信息候选的LX方向的运动矢量和参照索引,结束处理(S322)。若并非结合运动信息候选的LX方向为有效、且为单向预测(S321的NO),则检查下一个候选(S323)。
[0404] 若不存在结合运动信息候选的LX方向为有效、且单向预测的运动信息候选,则按第2结合运动信息候选列表所包含的结合运动信息候选的数量(NCands)反复执行以下处理(S191至S194)。检查结合运动信息候选的LX方向的有效性(S192)。若结合运动信息候选的LX方向有效(S192的YES),则将作为基准方向的LX的有效性设定为“1”,将基准方向的运动矢量和参照索引作为结合运动信息候选的LX方向的运动矢量和参照索引,结束处理(S193)。若结合运动信息候选的LX方向为无效(S192的NO),则检查下一个候选(S194)。这样,实施方式4的基准方向运动信息决定部161在基准方向的运动信息的决定中,使单向的运动信息优先,在这一点上与实施方式1不同。
[0405] 实施方式4的动图像解码装置的构成除基准方向运动信息决定部161的功能外与实施方式1的动图像解码装置200的构成相同。实施方式4的动图像解码装置的结合运动信息候选生成部140与实施方式4的动图像编码装置的结合运动信息候选生成部140相同。
[0406] (实施方式4的变形例)
[0407] 此外,实施方式4可以如下这样变形。
[0408] (变形例1:单向限定)
[0409] 在上述实施方式4中,作为基准方向运动信息决定部161的动作例,举出了图63,但只要在运动信息的决定中使单向的运动信息优先即可,并不限定于此。例如,也可以删除图63的步骤S191至步骤S194,限定于单向的运动信息地选择基准方向的运动信息。
[0410] (变形例2:反方向单向的优先)
[0411] 在上述实施方式4中,作为基准方向运动信息决定部161的动作例,举出了图63,但只要在运动信息的决定中使单向的运动信息优先即可,并不限定于此。例如,也可以在反方向运动信息决定部162的反方向的运动信息的决定中,同实施方式4的基准方向运动信息决定部161一样使单向的运动信息优先。此外,在反方向运动信息决定部162的反方向的运动信息的决定中,也可以同实施方式4的变形例1的基准方向运动信息决定部161一样、限定于单向的运动信息地进行选择。
[0412] (实施方式4的效果)
[0413] 在实施方式4中,通过在基准方向的运动信息的决定中使单向的运动信息优先,而能将可靠度高的运动信息作为基准方向的运动信息来使用,能提高双向结合运动信息候选的选择率,提高编码效率。
[0414] [实施方式5]
[0415] (各方向删除过程)
[0416] 实施方式5的动图像编码装置的构成除结合运动信息候选生成部140的功能外与实施方式1的动图像编码装置100的构成相同。以下,针对实施方式5的结合运动信息候选生成部140,说明与实施方式1的不同点。
[0417] 针对实施方式5的结合运动信息候选生成部140的构成,利用图64说明与实施方式1的不同点。在图64中,取代图16的第1结合运动信息候选列表削减部151而设置L0方向运动信息候选列表生成部155和L1方向运动信息候选列表生成部156。
[0418] 说明实施方式5的结合运动信息候选生成部140的功能。L0方向运动信息候选列表生成部155针对第1结合运动信息候选列表所包含的运动信息候选,当存在多个具有L0方向的运动信息相重复的运动信息的结合运动信息候选时,保留其中1个结合运动信息候选而删除其余的,生成L0方向运动信息候选列表,并将该L0方向运动信息候选列表提供给双向结合运动信息候选列表生成部152。
[0419] L1方向运动信息候选列表生成部156针对第1结合运动信息候选列表所包含的运动信息候选,当存在多个具有L1方向的运动信息相重复的运动信息的结合运动信息候选时,保留其中1个结合运动信息候选而删除其余的,生成L1方向运动信息候选列表,并将该L1方向运动信息候选列表提供给双向结合运动信息候选列表生成部152。
[0420] 双向结合运动信息候选列表生成部152基于从L0方向运动信息候选列表生成部155供给的L0方向运动信息候选列表和从L1方向运动信息候选列表生成部156供给的L1方向运动信息候选列表,生成双向结合运动信息候选列表。
[0421] 实施方式5的动图像解码装置的构成除结合运动信息候选生成部140的功能外与实施方式1的动图像解码装置200的构成相同。实施方式5的动图像解码装置的结合运动信息候选生成部140与实施方式5的动图像编码装置的结合运动信息候选生成部140相同。
[0422] (实施方式5的效果)
[0423] 在实施方式5中,通过削减L0方向和L1方向的运动信息的冗余度来抑制相同的双向结合运动信息的生成,能提高双向结合运动信息候选的有效性,提高编码效率。
[0424] [实施方式6]
[0425] (双向结合运动信息候选的选择的利用)
[0426] 实施方式6的动图像编码装置的构成除基准方向决定部160的功能外与实施方式1的动图像编码装置100的构成相同。首先,假定实施方式6的候选编号管理表为图65所示,结合运动信息候选列表所包含的结合运动信息候选的最大数为6。结合运动信息候选列表所包含的结合运动信息候选的最大数为6、对双向结合运动信息候选仅分配1个融合候选编号,在这两点上不同。以下,针对实施方式6的基准方向决定部160,说明与实施方式1的不同点。利用图66说明实施方式6的基准方向决定部160的动作。
[0427] 基准方向决定部160按第2结合运动信息候选列表所包含的结合运动信息候选的数量(NCands)反复执行以下处理(S300至S305)。检查结合运动信息候选的L0方向的有效性(S301)。若结合运动信息候选的L0方向有效(S301的YES),则将基准方向设定为L0,结束处理(S302)。若结合运动信息候选的L0方向无效(S301的NO),则检查结合运动信息候选的L1方向的有效性(S303)。若结合运动信息候选的L1方向有效(S303的YES),则将基准方向设定为L1后结束处理(S304)。若结合运动信息候选的L1方向无效(S303的NO),则检查下一个候选(S305)。当然,若基准方向不能设定,则不生成双向结合运动信息候选(S306)。
[0428] 实施方式6的动图像解码装置的构成除基准方向决定部160的功能外与实施方式1的动图像解码装置200的构成相同。实施方式6的动图像解码装置的基准方向决定部160与实施方式6的动图像编码装置的基准方向决定部160相同。
[0429] (实施方式6的效果)
[0430] 在实施方式6中,根据结合运动信息候选列表所包含的结合运动信息候选的预测方向,判定使基准方向为L0方向还是L1方向,由此,在仅1个双向结合运动信息候选有效的情况下,能提高双向结合运动信息候选的有效性,提高双向结合运动信息候选的选择性,提高编码效率。
[0431] 上述实施方式1至6的动图像编码装置所输出的动图像的编码流,为能根据实施方式1至6中采用的编码方法进行解码而具有特定的数据格式。与该动图像编码装置对应的动图像解码装置能解码该特定的数据格式的编码流。
[0432] 具体来说,将表示双向结合运动信息候选的融合索引和候选编号管理表编码到编码流中。此外,也可以仅将表示双向结合运动信息候选的融合索引编码到编码流中,并将候选编号管理表在动图像编码装置和动图像解码装置中共享,由此可以不将候选编号管理表编码到编码流中。
[0433] 为在动图像编码装置和动图像解码装置之间传输编码流,在使用有线或无线网络的情况下,可以将编码流变换成示于通信路径的传送方式的数据形式来传送。此时,设置将动图像编码装置输出的编码流变换成示于通信路径的传送方式的数据形式的编码数据后发送于网络的动图像送信装置,和从网络接收编码数据并复原成编码流而提供给动图像解码装置的动图像接收装置。
[0434] 动图像送信装置包括:对动图像编码装置输出的编码流进行缓存的存储器;将编码流打包的包处理部;介由网络发送被打包后的编码数据的发送部。动图像接收装置包括:介由网络接收被打包了的编码数据的接收部;对接收到的编码数据进行缓存的存储器;对编码数据进行包处理而生成编码流,提供给动图像解码装置的包处理部。
[0435] 以上关于编码和解码的处理可以作为使用了硬件的传送、存储、接收装置来实现,也可以通过ROM(Read Only Memory:只读存储器)或闪存存储器等中所存储的固件、计算机等的软件来实现。可以将该固件程序、软件程序记录在计算机等可读取的记录介质中进行提供,也可以通过有线或无线网络从服务器提供,还可以作为地面波或卫星数字广播的数据广播来提供。
[0436] 以上基于实施方式说明了本发明。本领域技术人员当理解实施方式仅是例示,其各构成要素和各处理过程的组合可以有各种变形例,并且这样的变形例也包含在本发明的范围内。
[0437] 在上述的实施方式1中,利用图26的流程图说明了时间结合运动信息候选列表的生成动作。在该流程图中,有计算时间结合运动信息候选的运动矢量的处理(S164)。时间结合运动信息候选按候选块的运动信息、以有效的预测方向的参照图像ColRefPic和运动矢量mvCol为基准,算出双向的运动信息。在候选块的预测方向为L0方向或L1方向的单向时,将该预测方向的参照图像和运动矢量选为基准。在候选块的预测方向为双向时,将L0方向或L1方向任一者的参照图像和运动矢量选为基准。在作为双向运动信息生成的基准的参照图像和运动矢量被选择后,算出时间结合运动信息候选的运动矢量。
[0438] 在此,利用图67说明从作为双向运动信息生成的基准的运动矢量ColMv和参照图像ColRefPic算出时间结合运动信息候选的运动矢量mvL0t、mvL1t的计算方法。
[0439] 将ColPic和ColRefPic的图像间距离记作ColDist、将时间结合运动信息候选的L0方向的参照图像ColL0Pic与处理对象图像CurPic的图像间距离记作CurL0Dist、将时间结合运动信息候选的L1方向的参照图像ColL1Pic与处理对象图像CurPic的图像间距离记作CurL1Dist时,将使ColMv按ColDist与CurL0Dist、CurL1Dist的距离比率缩放后的下述式1的运动矢量作为时间结合运动信息候选的运动矢量。图像间距离利用POC来算出,具有正负符号。
[0440] mvL0t=mvCol×CurrL0Dist/ColDist
[0441] mvL1t=mvCol×CurrL1Dist/ColDist…(式1)
[0442] 图67的ColPic、ColRefPic、ColL0Pic、ColL1Pic仅是一例,也可以是这以外的关系。
[0443] 〔标号说明〕
[0444] 100动图像编码装置、101预测块图像取得部、102减法部、103预测误差编码部、104码串生成部、105预测误差解码部、106运动补偿部、107加法部、108运动矢量检测部、109运动信息生成部、110帧存储器、111运动信息存储器、120差分矢量计算部、121结合运动信息决定部、122预测编码模式决定部、130预测矢量候选列表生成部、131预测矢量决定部、132减法部、140结合运动信息候选生成部、141结合运动信息选择部、150单向运动信息候选列表生成部、151第1结合运动信息候选列表削减部、152双向结合运动信息候选列表生成部、153第2结合运动信息候选列表削减部、154候选编号管理表变更部、155L0方向运动信息候选列表生成部、156L1方向运动信息候选列表生成部、160基准方向决定部、161基准方向运动信息决定部、162反方向运动信息决定部、163双向运动信息决定部、200动图像解码装置、
201码串解析部、202预测误差解码部、203加法部、204运动信息再现部、205运动补偿部、206帧存储器、207运动信息存储器、210编码模式判定部、211运动矢量再现部、212结合运动信息再现部、220预测矢量候选列表生成部、221预测矢量决定部、222加法部、230结合运动信息候选生成部、231结合运动信息选择部。
[0445] 〔工业可利用性〕
[0446] 本发明能适用于利用了运动补偿预测的动图像编码和解码技术。