动态图像预测解码装置及方法与流程

文档序号:11524732阅读:351来源:国知局
动态图像预测解码装置及方法与流程

本申请是申请号为201280052624.7(pct/jp2012/074575)、申请日为2012年9月25日、发明名称为“动态图像预测编码装置、动态图像预测编码方法、动态图像预测编码程序、动态图像预测解码装置、动态图像预测解码方法以及动态图像预测解码程序”的中国发明专利申请的分案申请。

本发明涉及动态图像预测解码装置及方法,尤其涉及通过将两个预测信号平均化来生成最终的块预测信号(双预测信号)的动态图像预测解码装置及方法。



背景技术:

为了高效地进行静态图像或动态图像数据的传输和蓄积采用了压缩编码技术。在动态图像的情况下广泛应用mpeg-1~4或itu(internationaltelecommunicationunion:国际电信联盟)h.261~h.264的方式。

在这些编码方式中,在将作为编码的对象的图像分割为多个块的基础上进行编码处理/解码处理。在画面内的预测编码中,在使用位于与对象块相同的画面内的相邻的已再生的图像信号(将压缩的图像数据复原后的图像信号)生成预测信号的基础上,对从对象块的信号中减去该预测信号得到的差分信号进行编码。在画面间的预测编码中,参照位于与对象块不同的画面内的已再生的图像信号,进行运动的校正,生成预测信号,对从对象块的信号中减去该预测信号得到的差分信号进行编码。

例如,在h.264的画面内预测编码中,采用将与作为编码对象的块相邻的已再生的像素值在预定的方向上外插并生成预测信号的方法。图20是用于说明在ituh.264中使用的画面内预测方法的示意图。在图20(a)中,对象块802是作为编码的对象的块,由与该对象块802的边界相邻的像素a~m构成的像素组801是相邻区域,而且是在过去的处理中已经被再生的图像信号。

在这种情况下,将作为位于对象块802的正上方的相邻像素的像素组801向下方拉伸,由此生成预测信号。此外,在图20(b)中,将位于对象块804的左侧的已再生像素(i~l)向右拉伸,由此生成预测信号。生成预测信号的具体的方法例如在专利文献1中记载。这样,对于利用图20的(a)~(i)所示的方法生成的9个预测信号,分别取得与对象块的像素信号的差分,将差分值最小的信号作为最优的预测信号。如上所述,通过对像素进行外插能够生成预测信号。有关以上内容记载在下述专利文献1中。

在通常的画面间预测编码中,使用如下方法来生成预测信号:针对作为编码对象的块,从已经再生过的画面中搜索与其像素信号类似的信号。而且,对对象块与搜索到的信号构成的区域之间的空间性位移量即运动矢量、以及对象块的像素信号和预测信号的残差信号进行编码。这样按照每个块搜索运动矢量的方法被称为块匹配(blockmatching)。

图19是用于说明块匹配处理的示意图。在此,以编码对象的画面701上的对象块702为例对预测信号的生成顺序进行说明。参照画面703已经再生过,区域704与对象块702在空间上是同一位置的区域。在块匹配中,设定包围区域704的搜索范围705,从该搜索范围705的像素信号中检测与对象块702的像素信号的绝对值误差和最小的区域706。该区域706的信号成为预测信号,从区域704向区域706的位移量被检测作为运动矢量707。此外,有时也使用以下方法:准备多个参照画面703,对每个对象块选择实施块匹配的参照画面,并检测参照画面选择信息。在h.264中,为了对应图像的局部性的特征变化,准备用于对运动矢量进行编码的块尺寸不同的多个预测类型。关于h.264的预测类型记载在例如专利文献2中。

在动态图像数据的压缩编码中,各个画面(帧、字段)的编码顺序可以是任意顺序。因此,在参照已再生画面生成预测信号的画面间预测中,关于编码顺序有两种方法。第一种方法是参照一个已再生画面来生成预测信号的单预测,第二种方法是参照一个或者两个已再生画面,并对能够得到的两个预测信号进行平均化的双预测。在单预测中,包括按照显示顺序参照过去的已再生画面的前向预测,和按照显示顺序参照未来的已再生画面的后向预测。关于画面间预测的类型记载在例如专利文献3中。

在h.264中,作为参照画面703的候选,作成由多个已再生画面构成的两个参照画面列表来进行第二种画面间方法(双预测)。将在各参照画面列表中登记的多个参照画面作为对象进行块匹配,并检测出与区域706相当的两个区域,对检测到的两个预测信号进行平均化。

使用图5和图6说明参照画面列表的示例。在图5(a)中,画面505示出编码对象图像,画面501~画面504示出已再生图像。在图5(b)中,画面510示出编码对象画面,画面507、508、509和511示出已再生画面,利用帧号(frame_num)进行各个图像(画面)的识别。图6的列表0(list0)和列表1(list1)表示两个参照画面列表,图6(a)表示图5(a)的参照画面列表,图6(b)和(c)表示图5(b)的参照画面列表的示例。在图6(a)和(c)中,在各参照画面列表内分别登记4个参照画面,在图6(b)中,在各参照画面列表内分别登记2个参照画面。利用参照画面索引(ref_idx)来识别各个参照画面。能够登记在参照画面列表中的已再生图像基本上是任意的。另外,在本案中,为了容易理解内容,对上述的参照画面列表list0、list1一并采用例如称为第0运动信息、第1运动信息的称呼。

现有技术文献

专利文献

【专利文献1】美国专利公报第6765964号

【专利文献2】美国专利公报第7003035号

【专利文献3】美国专利公报第6259739号



技术实现要素:

发明所要解决的问题

在双预测中,能够利用基于类似的两个预测信号的平均化的平滑效果,清除预测信号中所包含的噪声。可是,这种平滑效果较大的块往往是包含纹理区域和噪声的平坦区域,在参照画面内存在多个类似信号。

这些区域的信号的随机性比较强,因而如果从多个参照画面中搜索在这些区域中与对象块类似的两个预测信号,则相邻的块间的运动矢量有时产生偏差。运动矢量是根据与相邻块的运动矢量的差进行编码,因而如果在相邻块之间运动矢量有偏差,将导致其代码量增大。

作为减少双预测的代码量的方法,如在过去的例子中示例的那样,有在解码侧利用相邻块的状况导出两个运动矢量的方法,但是由于能够利用的预测信号的限制过严,因而难以提高两个预测信号的类似性,不能得到充分的平滑效果。

为了解决上述课题,本发明的目的在于,提供一种动态图像预测解码装置及方法,对用于生成与对象块类似的预测信号的一个运动矢量进行编码,根据已编码的运动信息有选择地求出另一个运动矢量,由此能够以相对于对两个运动矢量进行编码的双预测比较少的代码量、有效抑制预测信号的噪声。

用于解决问题的手段

本发明的一方面的动态图像预测解码装置的特征在于,该动态图像预测解码装置具备:解码单元,其从被分割为多个区域而编码的压缩数据中,对作为解码对象的解码对象区域的附加信息和残差信号的压缩数据进行解码;运动信息复原单元,其将从所述附加信息生成所述对象区域的预测信号所需要的运动矢量复原;运动信息记录单元,其保存所述运动矢量;运动补偿单元,其根据所述运动矢量生成所述对象区域的预测信号;残差信号复原单元,其从所述残差信号的压缩数据复原所述对象区域的再生残差信号;以及图像记录单元,其将所述预测信号和所述再生残差信号相加,由此将所述解码对象区域的像素信号复原,并保存被复原后的像素信号作为已再生图像,所述解码单元对第0附加信息和第1附加信息进行解码,所述第0附加信息包括第0差分运动矢量和第0预测运动信息索引,该第0预测运动信息索引用于识别从被存储于所述运动信息记录单元的多个运动矢量中选择的一个运动矢量作为第0预测运动矢量,所述第1附加信息包括第1预测运动信息索引,该第1预测运动信息索引用于识别从被存储于所述运动信息记录单元的多个运动矢量中选择的一个运动矢量作为第1预测运动矢量,所述运动信息复原单元包括:第0运动信息复原单元,其根据所述第0预测运动信息索引,使用从被存储于所述运动信息记录单元的多个运动矢量中选择的运动矢量生成第0预测运动矢量,将所生成的第0预测运动矢量和所述第0差分运动矢量相加而将第0运动矢量复原;以及第1运动信息复原单元,其根据所述第1预测运动信息索引,使用从被存储于所述运动信息记录单元的多个运动矢量中选择的运动矢量生成第1预测运动矢量,将所生成的第1预测运动矢量作为第1运动矢量进行复原,所述运动补偿单元将根据所述第0运动矢量和第1运动矢量从所述已再生图像中分别取得的两个信号合成,生成所述对象区域的预测信号,所述解码单元还按照每个画面或者每个切片,对用于指示所述第1附加信息是否包含差分运动矢量的指示信息进行解码,在所述指示信息表示所述第1附加信息不包含第1差分运动矢量的情况下,将作为所述第1附加信息的第1预测运动信息索引进行解码,在所述指示信息表示所述第1附加信息包含第1差分运动矢量的情况下,将作为所述第1附加信息的差分运动矢量和第1预测运动信息索引进行解码,所述第1运动信息复原单元在所述指示信息表示第1附加信息不包含第1差分运动矢量时,根据所述第1预测运动信息索引,使用从被存储于所述运动信息记录单元的多个运动矢量中选择的运动矢量生成第1预测运动矢量,将所生成的第1预测运动矢量作为第1运动矢量进行复原,所述第1运动信息复原单元在所述指示信息表示第1附加信息包含第1差分运动矢量时,根据所述第1预测运动信息索引生成第1预测运动矢量,将所生成的第1预测运动矢量和解码后的差分运动矢量相加而将第1运动矢量复原。

本发明的一方面的动态图像预测解码方法是由动态图像预测解码装置执行的方法,其特征在于,该动态图像预测解码方法包括:解码步骤,从被分割为多个区域而编码的压缩数据中,对作为解码对象的解码对象区域的附加信息和残差信号的压缩数据进行解码;运动信息复原步骤,复原从所述附加信息生成所述对象区域的预测信号所需要的运动矢量;运动信息记录步骤,将所述运动矢量保存在运动信息记录单元中;运动补偿步骤,根据所述运动矢量生成所述对象区域的预测信号;残差信号复原步骤,从所述残差信号的压缩数据复原所述对象区域的再生残差信号;以及图像记录步骤,将所述预测信号和所述再生残差信号相加,由此将所述解码对象区域的像素信号复原,并保存被复原后的像素信号作为已再生图像,在所述解码步骤中,所述动态图像预测解码装置对第0附加信息和第1附加信息进行解码,所述第0附加信息包括第0差分运动矢量和第0预测运动信息索引,该第0预测运动信息索引用于识别从被存储于所述运动信息记录单元的多个运动矢量中选择的一个运动矢量作为第0预测运动矢量,所述第1附加信息包括第1预测运动信息索引,该第1预测运动信息索引用于识别从被存储于所述运动信息记录单元的多个运动矢量中选择的一个运动矢量作为第1预测运动矢量,所述运动信息复原步骤包括:第0运动信息复原步骤,根据所述第0预测运动信息索引,使用从被存储于所述运动信息记录单元的多个运动矢量中选择的运动矢量生成第0预测运动矢量,将所生成的第0预测运动矢量和所述第0差分运动矢量相加而将第0运动矢量复原;以及第1运动信息复原步骤,根据所述第1预测运动信息索引,使用从被存储于所述运动信息记录单元的多个运动矢量中选择的运动矢量生成第1预测运动矢量,将所生成的第1预测运动矢量作为第1运动矢量进行复原,在所述运动补偿步骤中,所述动态图像预测解码装置将根据所述第0运动矢量和第1运动矢量从所述已再生图像中分别取得的两个信号合成,生成所述对象区域的预测信号,在所述解码步骤中,所述动态图像预测解码装置还按照每个画面或者每个切片,对用于指示所述第1附加信息是否包含差分运动矢量的指示信息进行解码,在所述指示信息表示所述第1附加信息不包含第1差分运动矢量的情况下,所述动态图像预测解码装置将作为所述第1附加信息的第1差分运动矢量进行解码,在所述指示信息表示所述第1附加信息包含第1差分运动矢量的情况下,所述动态图像预测解码装置将作为所述第1附加信息的差分运动矢量和第1预测运动信息索引进行解码,在所述第1运动信息复原步骤中,所述动态图像预测解码装置在所述指示信息表示第1附加信息不包含第1差分运动矢量时,根据所述第1预测运动信息索引,使用从被存储于所述运动信息记录单元的多个运动矢量中选择的运动矢量生成第1预测运动矢量,将所生成的第1预测运动矢量作为第1运动矢量进行复原,所述动态图像预测解码装置在所述指示信息表示第1附加信息包含第1差分运动矢量时,根据所述第1预测运动信息索引生成第1预测运动矢量,将所生成的第1预测运动矢量和解码后的差分运动矢量相加而将第1运动矢量复原。

发明效果

根据本发明的动态图像预测解码装置及方法,由于能够根据已编码的运动信息来指示对双预测有效的一个运动矢量,因而具有以较少的代码量提高双预测的性能的效果。

附图说明

图1是示出本实施方式的动态图像预测编码装置的框图。

图2是说明图1所示的预测信号生成器的框图。

图3是说明图2所示的第1运动估计处理的流程图。

图4是说明图2所示的第0运动估计处理的流程图。

图5是说明画面的编码顺序的示例的示意图。

图6是说明参照画面列表的示例的图。

图7是说明相邻块的示例的图。

图8是说明相邻块的另一例的图。

图9是说明图1所示的动态图像预测编码装置的动态图像预测编码方法的步骤的流程图。

图10是示出本实施方式的动态图像预测解码装置的框图。

图11是说明图10所示的运动信息复原器的框图。

图12是说明图11所示的第1运动信息复原处理的流程图。

图13是说明图11所示的第0运动信息复原处理的流程图。

图14是说明图10所示的动态图像预测解码装置的动态图像预测解码方法的步骤的流程图。

图15是示出能够执行本实施方式的图像预测编码方法的程序的框图。

图16是示出能够执行本实施方式的图像预测解码方法的程序的框图。

图17是示出用于执行在记录介质中记录的程序的计算机的硬件结构的图。

图18是用于执行在记录介质中存储的程序的计算机的立体图。

图19是用于说明画面间预测中的运动估计处理的示意图。

图20是用于说明现有的画面内预测方法的示意图。

具体实施方式

下面,参照附图详细说明本实施方式。另外,在附图说明中对同一或同等的要素标注相同的符号,并省略重复的说明。此外,构成动态图像的“帧”、“画面”、“图像”(图5的501~511)在本说明书内的说明中是相同的意思。

图1是示出本实施方式的动态图像预测编码装置100的框图。该动态图像预测编码装置100具备输入端子101、块分割器102、预测信号生成器103、帧存储器104、减法器105、变换器106、量化器107、逆量化器108、逆变换器109、加法器110、编码器111、输出端子112、运动信息用存储器113。变换器106和量化器107作为残差信号压缩单元发挥作用,逆量化器108和逆变换器109作为残差信号复原单元发挥作用,运动信息用存储器作为运动信息记录单元发挥作用。并且,运动信息用存储器113也可以包含在预测信号生成器103中。

输入端子101是输入由多张图像构成的动态图像的信号的端子。

块分割器102将从输入端子101输入的信号所表示的作为编码处理对象的图像分割为多个区域(对象块、对象区域)。在本实施方式中是分割为由8×8的像素构成的块,不过也可以分割为其以外的大小或形状的块。另外,在画面内可混合存在尺寸不同的块。

预测信号生成器103检测用于生成对象块内的各预测块的预测信号所需要的运动信息,并生成预测信号。并且,生成由解码装置进行运动信息的复原所需要的附加信息。关于预测信号的生成方法在本发明中没有限定,能够应用如在背景技术中说明的画面间预测(单预测、双预测)或画面内预测(关于画面内预测未图示)。

在本实施方式中,通过双预测来生成预测信号。通过图19所示的块匹配,并使用经由l104而取得的图像信号来检测双预测的一个运动信息,使得经由l102输入的对象块的原来的信号与双预测信号的绝对值误差和达到最小。并且,根据已编码的运动信息生成另一个运动信息。

在本实施方式中对于双预测进行说明,运动信息由第0运动信息和第1运动信息构成,两者分别包括参照画面索引(ref_idx[0]或者ref_idx[1])和运动矢量(mv[0][0/1]或者mv[1][0/1])。用图6的list0指示第0运动信息的参照画面的候选,用图6的list1指示第1运动信息的参照画面的候选。其中,[0/1]是识别矢量的水平成分和垂直成分的信息。以后将省略[0/1]的记述(在附图中也同样省略)。

另外,在图6所示的参照画面列表中登记的再生图像,可以按照预先设定的规则而自动决定,也可以按照帧单位或序列单位明确进行编码。此时,关于各参照画面的识别,如图5和图6所示能够使用帧号。

由预测信号生成器103生成的运动信息经由l103b输出给运动信息用存储器113。

运动信息用存储器113保存所输入的运动信息。所保存的运动信息经由l113被输入预测信号生成器,在后续的块的运动信息的编码处理中使用。

由预测信号生成器103生成的附加信息经由l103c输出给编码器111。

由预测信号生成器103生成的预测信号经由l103a输出给减法器105和加法器110。

减法器105从经由线路l102输入的被块分割器102分割后输入的对象块的像素信号中减去经由线路l103a输入的针对对象块的预测信号,来生成残差信号。减法器105将相减后获得的残差信号经由线路l105输出给变换器106。

变换器106是对所输入的残差信号进行离散余弦变换的部分。另外,量化器107是对由变换器106进行离散余弦变换后的变换系数实施量化的部分。

编码器111对从预测信号生成器输入的附加信息和从量化器107输入的量化变换系数进行熵编码,编码数据经由l111输出给输出端子112。虽然并未限定熵编码的方法,但能够应用算术编码或可变长编码等。

输出端子112将从编码器111输入的信息集中输出到外部。

逆量化器108对已量化的变换系数进行逆量化。逆变换器109利用逆离散余弦变换来复原残差信号。加法器110将复原的残差信号与经由l103a输入的预测信号相加,来再生编码对象块的信号,并存储在帧存储器104中。在本实施方式中采用变换器106和逆变换器109,但也可以采用取代这些变换器的其它变换处理。另外,变换器106以及逆变换器109不是必须的。这样,已编码的编码对象块的再生信号在通过逆处理而复原后被存储在帧存储器104中,以便在后续的编码对象块的预测信号生成中使用。

下面,详细说明预测信号生成器103。因此,首先对运动信息、预测运动信息和附加信息进行说明。

如上所述,双预测中的运动信息由第0运动信息和第1运动信息构成,两者分别包括参照画面索引(ref_idx[0]或者ref_idx[1])和运动矢量(mv[0]或者mv[1])。用图6的list0指示第0运动信息的参照画面的候选,用图6的list1指示第1运动信息的参照画面的候选。

在本实施方式的双预测中,预测信号生成器103使用已经实施编码的运动信息作为预测运动信息。在已编码的运动信息中包含已编码的相邻块所附带的运动信息、和对象区域的已编码的运动信息。另外,所谓相邻块所附带的运动信息是指在相邻块是编码对象时生成预测信号所使用的运动信息,被保存在运动信息用存储器113中。

预测运动信息也由第0预测运动信息和第1预测运动信息构成,两者分别包括参照画面索引(ref_idx[0]或者ref_idx[1])和运动矢量(mv[0]或者mv[1])。用图6的list0指示第0预测运动信息的参照画面的候选,用图6的list1指示第1预测运动信息的参照画面的候选。

预测运动信息的具体利用方法是,在对参照list0的参照画面通过块匹配而检测出的第0运动信息的运动矢量进行差分编码时,根据第0预测运动信息生成预测运动矢量。并且,根据第1预测运动信息生成使用list1的参照画面的第1运动信息。

使用图7说明预测运动信息的示例。图7所示的块400是对象块,与其相邻的块401~404所附带的运动信息成为预测运动信息的候选。相邻块的运动信息分别包括第0运动信息和第1运动信息。可以将双方作为预测运动信息的候选,也可以仅限定于一方(在预测第n运动信息的情况下,仅将相邻块的第n运动矢量作为候选)。

另外,块410表示在参照画面内与块400在空间上是同一位置的块(co-locatedblock)。块410及与其相邻的块411~415所附带的运动信息成为预测运动信息的候选。n表示用于识别预测运动信息的候选的号码,利用预测运动信息索引(mvp_idx[0]或者mvp_idx[1])指示被选择的候选。在本实施方式中,由于先对第0运动信息进行编码,因而第1预测运动信息能够使用块400所附带的第0运动信息(在示例中,设n=4)。

另外,预测运动信息的候选的位置和号码可以在编码侧和解码侧预先设定,在本发明中没有限定。并且,预测运动信息的候选的数量也可以在编码侧和解码侧预先设定,也可以进行编码。

另外,在利用预测运动信息的ref_idx识别的参照画面和利用对象块的ref_idx识别的参照画面不同的情况下,也可以根据编码对象画面和两个参照画面的帧号进行预测运动信息中所包含的运动矢量的尺寸调整(scaling)处理。即,对预测运动信息中所包含的运动矢量进行尺寸调整,并变换为用于指示利用对象块识别出的参照画面的运动矢量,将变换后的运动矢量用作预测运动矢量(pmv[0][0/1]或者pmv[1][0/1])。此时,预测运动信息中所包含的参照画面索引(ref_idx[0]或者ref_idx[1])被更新为对象块的参照画面索引(ref_idx[0]或者ref_idx[1])。其中,[0/1]表示识别矢量的水平成分和垂直成分的信息。以后省略[0/1]的记述(在附图中也同样省略)。

附加信息由第0附加信息和第1附加信息构成。第0附加信息包括ref_idx[0]和差分运动矢量(mvd[0][0/1]=mv[0][0/1]-pmv[0][0/1])和mvp_idx[0]。第1附加信息包括ref_idx[1]和mvp_idx[1]。在本实施方式中,设mv[1][0/1]=pmv[1][0/1],因而mvd[1][0/1]的矢量值始终为0。mvd[1][0/1即使不进行编码,也能够在解码侧复原,因而不需要包含在第1附加信息中。其中,[0/1]表示识别矢量的水平成分和垂直成分的信息。以后省略[0/1]的记述(在附图中也同样省略)。

图2是示出本实施方式的预测信号生成器103的结构的框图。该预测信号生成器103具有第1运动信息估计器121、第0运动信息估计器122和预测信号生成器123。

在第1运动信息估计器121中,使用经由l104输入的list1的参照画面,从经由l113输入的多个第1预测运动信息的候选(按照参照画面索引对运动矢量进行尺寸调整而作为预测运动矢量)中,选择用于生成与经由l102输入的对象块的原来的信号最类似的第1预测信号的一个第1预测运动信息的候选、与参照画面索引的组。经由l121a将第1预测信号输出给预测信号生成器123,将根据所选择的第1预测运动信息与参照画面索引的组而生成的第1运动信息,经由l121b和l103b1分别输出给第0运动信息估计器122和运动信息用存储器113。另外,生成第1附加信息,并经由l103c1输出给编码器111。

在第0运动信息估计器122中,使用从l121b输入的第1运动信息和经由l104输入的list1的参照画面,生成第1预测信号。并且,搜索经由l104输入的list0的参照画面,检测利用第1预测信号和搜索出的第0预测信号的候选而生成的双预测信号、与经由l102输入的对象块的原来的信号的绝对值差分和达到最小的第0运动信息。将利用检测出的第0运动信息生成的第0预测信号经由l122输出给预测信号生成器123。并且,将第0附加信息经由l103b2输出给运动信息用存储器113。另外,生成第0附加信息,并经由l103c2输出给编码器111。

另外,也可以是,先执行第0运动信息估计器122的处理,并且相比第0预测信号,先求出第0运动信息和第0附加信息。在这种情况下,检测利用搜索出的第0预测信号的候选而生成的预测信号、与经由l102输入的对象块的原来的信号的绝对值差分和达到最小的第0运动信息。并且,利用第0预测信号执行第1运动信息估计器121。即,使用经由l104输入的list1的参照画面,从经由l113输入的多个第1预测运动信息的候选(根据参照画面索引将运动矢量调整尺寸而作为预测运动矢量)中生成第1预测信号的候选,并以使利用第0预测信号和第1预测信号的候选而生成的双预测信号、与经由l102输入的对象块的原来的信号最类似的方式,选择第1预测运动信息的候选与参照画面索引的组。该变形能够通过向第1运动信息估计器121输入第0运动信息来实施。

在测信号生成器123中,将经由l121a和l122输入的第1预测信号和第0预测信号平均化,生成对象块的预测信号,并经由l103a输出给减法器105和加法器110。

图3示出第1运动信息估计器121的流程图。首先,在步骤s301,将在对象块的预测处理中使用的list1的参照画面的数量设定为m(在图6(a)或(c)中m=4,在图6(b)中m=2),将第1运动信息中所包含的list1的参照画面索引ref_idx[1]设定为0,将list1的参照画面数的计数m初始化为0。另外,将运动矢量评价值d设定为max值。然后,在步骤s302,将预测运动矢量的候选数设定为n(在图7中n=11,但是在相比第0运动信息估计器122先执行第1运动信息估计器121的情况下,由于块400的第0运动信息未决定,因而跳过n=4),将第1附加信息中所包含的预测运动信息索引mvp_idx[1]设定为0。将预测运动信息数的计数n初始化为0。

然后,在步骤s303,从相邻块的运动矢量取得预测运动矢量候选n的运动矢量,在步骤s304,生成第n个预测运动矢量pmv[1][m][n][0/1](其中,[0/1]表示识别矢量的水平成分和垂直成分的信息。以后省略[0/1]的记述。在附图中也同样省略)。此时,按照对象画面与参照画面的距离(根据参照画面索引而识别的帧号),对相邻块的运动矢量进行尺寸调整,并作为预测运动矢量。然后,在步骤s305,根据第m个参照画面和第n个尺寸调整后的预测运动矢量(pmv[1][m][n])生成对象块的预测信号,在步骤s306,判定所生成的预测信号与对象块的原来的信号的差分信号的绝对值和是否小于运动矢量评价值d。在绝对值和为运动矢量评价值d以上的情况下,进入步骤s308。在绝对值和小于运动矢量评价值d的情况下,进入步骤s307。将第1附加信息中所包含的预测运动信息索引mvp_idx[1]更新为n,将参照画面索引ref_idx[1]更新为m,将运动矢量评价值d更新为在步骤s306计算出的预测信号与对象块的原来的信号的差分信号的绝对值和。另外,将第1运动信息中所包含的运动矢量mv[1]设定为预测运动矢量pmv[1][ref_idx[1]][mvp_idx[1]],将参照画面索引设定为ref_idx[1]。然后,进入步骤s308。

在步骤s308,判定n的值是否小于n,在n小于n的情况下,进入步骤s309,在n达到n的情况下,进入步骤s310。在步骤s309,将n的值加1,返回步骤s303。然后,反复步骤s303~步骤s07,直到n达到n。在步骤s310,判定m的值是否小于m,在m小于m的情况下,进入步骤s311,将m的值加1,返回步骤s302。然后,反复步骤s302~步骤s09,直到m达到m。在m达到m的情况下,在步骤s312,将第1附加信息(ref_idx[1]、mvp_idx[1])输出给编码器111,将第1运动信息(ref_idx[1]和mv[1])存储在运动信息用存储器113中,并输出给第0运动信息估计器122,结束处理。

图4示出第0运动信息估计器122的流程图。首先,在步骤s351,根据第1运动信息生成双预测中的第1预测信号。然后,在步骤s352,将在对象块的预测处理中使用的list0的参照画面的数量设定为m(在图6(a)或(c)中m=4,在图6(b)中m=2),将第0运动信息中所包含的list0的参照画面索引ref_idx[0]设定为0,将list0的参照画面数的计数m初始化为0。另外,将运动矢量评价值d设定为max值。然后,在步骤s353,决定在从多个候选中识别对第0运动矢量进行差分编码时使用的预测运动矢量的预测运动信息索引mvp_idx[0]。关于选择方法,例如能够使用图3的步骤s303~s309所示的方法。并且,生成预测运动矢量的候选pmv[0][m][n]。此时,如在图3的步骤s304说明的那样,按照对象画面与参照画面的距离(根据参照画面索引而识别的帧号),对相邻块的运动矢量进行尺寸调整,作为预测运动矢量。

然后,在步骤s354,取得被存储于帧存储器104中的利用ref_idx[0]指示的参照画面,搜索通过与第1预测信号配合进行平均化而得到的双预测信号与原来的信号的差分信号的绝对值和达到最小的第0运动矢量mv[0]。然后,在步骤s355,生成第0差分运动矢量mvd[0](=mv[0]-pmv[0][m][n])。然后,在步骤s356,判定所生成的双预测信号与对象块的原来的信号的差分信号的绝对值和与第0附加信息(mvd[0]和m和n)的代码量评价值(λ(qp)×(mvd、m、n的代码量),λ表示用参数qp决定的加权值,该参数qp用于决定在对将预测外侧信号变换后的变换系数进行量化时的量化精度)之和是否小于运动矢量评价值d。在绝对值和+代码量评价值为运动矢量评价值d以上的情况下,进入步骤s358。在绝对值和+代码量评价值小于运动矢量评价值d的情况下,进入步骤s357,将第0附加信息中所包含的预测运动信息索引mvp_idx[0]更新为n,将参照画面索引ref_idx[0]更新为m,将差分运动矢量mvd[0]更新为(mv[0]-pmv[0][ref_idx[1]][mvp_idx[1]]),将d更新为在步骤s356计算出的双预测信号与对象块的原来的信号的差分信号的绝对值和+代码量评价值。另外,更新第0运动信息中所包含的运动矢量mv[0]。然后,进入步骤s358。

在步骤s358,判定m的值是否小于m,在m小于m的情况下,进入步骤s359,将m的值加1,返回步骤s353。然后,反复步骤s353~步骤s359,直到m达到m。在m达到m的情况下,在步骤s360,将第0附加信息(ref_idx[0]、mvd[0]、mvp_idx[0])输出给编码器111,将第0运动信息(ref_idx[0]和mv[0])存储在运动信息用存储器113中,并结束处理。

另外,也可以是,先执行第0运动信息估计器122,并且相比第0预测信号,先求出第0运动信息和第0附加信息。在这种情况下,图4的步骤s351被省略,在步骤s356,不是求出双预测信号,而是求出第0预测信号与原来的信号的差分信号的绝对值和。在图3中,能够将图7中用n=4指示的第0运动信息用作预测运动信息的候选。该变形是这样实现的:追加根据第0运动信息求出双预测中的第0预测信号的步骤,在步骤s306变更为计算通过将所生成的第1预测信号和第0预测信号平均化而生成的双预测信号、与原来的预测信号的差分信号的绝对值和。

这样,通过根据已经实施编码的运动信息生成双预测的第1运动矢量来取代运动矢量,对用于从图6和图7所示的多个候选中识别参照画面索引和预测运动信息的识别信息进行编码,能够以较少的代码量生成与随机性较大的纹理(texture)区域或包含噪声的平坦区域中的对象块的信号类似的一个类似信号。另外,通过在参照画面上搜索,检测用于生成第2类似信号的第0运动矢量并进行编码,与两个运动矢量都是从已编码的运动信息中求出的情况相比,能够期待提高双预测信号的平滑效果的效果。

图9是示出本实施方式的动态图像预测编码装置100的动态图像预测编码方法的步骤的流程图。首先,块分割器102将输入图像分割为8×8编码块(也可以分割为其以外的大小或形状的块。另外,在画面内可混合存在尺寸不同的块)。

首先,构成测信号生成器103的第1运动信息估计器121使用从帧存储器104得到的list1的参照画面和从运动信息用存储器得到的第1预测运动信息的候选,生成与对象块类似的第1预测信号,并且生成在生成第1预测信号时所需要的第1运动信息和第1附加信息(步骤s100)。关于该步骤的详细情况已在图3中说明。然后,第0运动信息估计器122使用从帧存储器104得到的list0的参照画面和从运动信息用存储器得到的第0预测运动信息的候选、和从第1运动信息估计器121得到的第1运动信息,生成与对象块类似的第0预测信号,并且生成在生成第0预测信号时所需要的第0运动信息和第0附加信息(步骤s150)。关于该步骤的详细情况已在图4中说明。

然后,由编码器111对第0附加信息和第1附加信息进行熵编码,将第0运动信息和第1运动信息存储在运动信息用存储器113中(步骤s101)。然后,在步骤s102,由构成测信号生成器103的预测信号生成器123将第0预测信号和第1预测信号平均化,生成对象块的双预测信号。由变换器106、量化器107和编码器111对表示编码对象块的像素信号与预测信号的差分的残差信号进行变换编码(步骤s103)。附加信息和量化变换系数的编码数据通过输出端子112被输出(步骤s104)。在这些处理之后或者与这些处理并行地,由逆量化器108和逆变换器109对被编码的残差信号进行解码,以便对后续的编码对象块进行预测编码。并且,由加法器110将被解码后的残差信号与预测信号相加,由此编码对象块的信号被再生。再生信号作为参照画面被存储在帧存储器104中(步骤s105)。并且,在没有完成全部编码对象块的处理的情况下,返回步骤s100,进行针对下一个编码对象块的处理。在完成了全部编码对象块的处理的情况下,结束处理(步骤s106)。

下面,说明本实施方式的动态图像预测解码方法。图10是示出本实施方式的动态图像预测解码装置200的框图。该动态图像预测解码装置200具备输入端子201、解码器202、逆量化器203、逆变换器204、加法器205、输出端子206、运动补偿器207、运动信息复原器208、帧存储器104、运动信息用存储器113。逆量化器203、逆变换器204作为残差信号复原单元发挥作用,运动信息用存储器113作为运动信息记录单元发挥作用。基于逆量化器203和逆变换器204的解码单元可采用这些部件以外的部件进行解码。另外,可以没有逆变换器204。

输入端子201输入利用上述的动态图像预测编码方法进行压缩编码的压缩数据。在该压缩数据中针对被分割为多个的编码块,包含对误差信号进行变换量化后进行熵编码而得到的量化变换系数的信息的编码数据、以及用于生成块的双预测信号的第0附加信息和第1附加信息的编码数据。

解码器202对向输入端子201输入的压缩数据进行分析,分离为与解码对象块相关的量化变换系数的编码数据和附加信息的编码数据并且进行熵解码,再经由l202a、l202b分别输出给逆量化器203和运动信息复原器208。

运动信息复原器208经由l202b输入第0附加信息(ref_idx[0]、mvd[0]、mvp_idx[0])和第1附加信息(ref_idx[1]、mvp_idx[1]),利用经由l113而取得的已解码的运动信息来复原第0运动信息(ref_idx[0]、mv[0])和第1运动信息(ref_idx[1]、mv[1])。被复原后的第0运动信息和第1运动信息经由l208a和l208b分别输出给运动补偿器207和运动信息用存储器113。运动信息用存储器保存运动信息。

运动补偿器207根据两个运动信息,从帧存储器104取得已再生信号,将两个预测信号平均化,并生成解码对象块的双预测信号。所生成的预测信号经由l126被输出给加法器205。

由解码器202解码后的解码对象块中的残差信号的量化变换系数经由l203被输出给逆量化器203。逆量化器203对解码对象块中的残差信号的量化变换系数进行逆量化。逆变换器204对已逆量化的数据进行逆离散余弦变换,并生成残差信号。

加法器205将由运动补偿器207生成的双预测信号、与经由逆量化器203以及逆变换器204复原的残差信号相加,将解码对象块的再生像素信号经由线l205输出给输出端子206以及帧存储器104。输出端子206向外部(例如显示器)进行输出。

帧存储器104将从加法器205输出的再生图像存储为参照画面,并作为用于下一解码处理的参照用的再生图像。

图11是示出本实施方式的运动信息复原器208的结构的框图。该运动信息复原器208具有第1运动信息复原器211和第0运动信息复原器212。

这些第1运动信息复原器211和第0运动信息复原器212能够同时进行动作。

第0运动信息复原器212将第0附加信息(ref_idx[0]、mvp_idx[0]、mvd[0])作为输入,从经由l113得到的相邻块的运动信息生成第0预测运动矢量(pmv[0][ref_idx[0]][mvp_idx[0]]),将预测运动矢量和附加信息中所包含的差分运动矢量(mvd[0])相加,并生成第0运动信息中所包含的运动矢量,由此复原第0运动信息。同样,在利用ref_idx识别的参照画面和利用对象块的ref_idx识别的参照画面不同的情况下,也可以根据编码对象画面和两个参照画面的帧号进行运动信息中所包含的运动矢量的尺寸调整处理。

第1运动信息复原器211将第1附加信息(ref_idx[1]、mvp_idx[1])作为输入,从经由l113得到的已解码的运动信息生成第1预测运动矢量(pmv[1][ref_idx[1]][mvp_idx[1]])。将该预测运动矢量作为第1运动信息中所包含的移动矢量(mv[1]=pmv[1][ref_idx[1]][mvp_idx[1]]),由此复原第1运动矢量。此时,也可以将差分运动矢量mvd[1]设定为零矢量,将其与预测运动矢量相加,由此复原第1运动矢量。另外,此时在利用ref_idx识别的参照画面和利用对象块的ref_idx识别的参照画面不同的情况下,也可以根据编码对象画面和两个参照画面的帧号进行预测运动信息中所包含的运动矢量的尺寸调整处理。即,对预测运动信息中所包含的运动矢量进行尺寸调整,变换为用于指示利用对象块识别的参照画面的运动矢量,将变换后的运动矢量用作预测运动矢量。

图13示出第0运动信息复原器212的流程图。首先,在步骤s451,输入第0附加信息(ref_idx[0]和mvp_idx[0]和mvd[0])的解码数据。然后,在步骤s452,根据所输入的ref_idx[0]和mvp_idx[0],从如图7所示的相邻块的运动信息(块400的运动信息未定,因而不包含)中,输入利用mvp_idx[0]指示的运动信息,并导出预测运动矢量(pmv[0][ref_idx[0]][mvp_idx[0]])。此时,在利用ref_idx识别的参照画面和利用对象块的ref_idx识别的参照画面不同的情况下,也可以根据编码对象画面和两个参照画面的帧号进行预测运动信息中所包含的运动矢量的尺寸调整处理。然后,在步骤s453,将所生成的预测运动矢量和差分运动矢量相加来复原第0运动矢量(mv[0]=pmv[0][ref_idx[0]][mvp_idx[0]]+mvd[0])。最后,在步骤s454,将第0运动信息(ref_idx[0]和mv[0])输出给运动补偿器207和运动信息用存储器113,结束处理。

图12示出第1运动信息复原器211的流程图。首先,在步骤s401,输入第1附加信息(ref_idx[1]和mvp_idx[1])的解码数据,在步骤s402,将差分运动矢量(mvd[1])的矢量值设定为0。然后,在步骤s403,根据所输入的ref_idx[1]和mvp_idx[1],从如图7所示的已解码的运动信息(可能包括n=4)中,输入利用mvp_idx[1]指示的运动信息,并导出预测运动矢量(pmv[1][ref_idx[1]][mvp_idx[1]])。此时,在利用ref_idx识别的参照画面和利用对象块的ref_idx识别的参照画面不同的情况下,也可以根据编码对象画面和两个参照画面的帧号进行预测运动信息中所包含的运动矢量的尺寸调整处理。然后,在步骤s404,将所生成的预测运动矢量和差分运动矢量相加来复原第1运动矢量(mv[1]=pmv[1][ref_idx[1]][mvp_idx[1]]+mvd[1])。最后,在步骤s405,将第1运动信息(ref_idx[1]和mv[1])输出给运动补偿器207和运动信息用存储器113,结束处理。另外,mvd[1]的矢量值始终为0,因而也可以省略步骤s402,在步骤s404将预测运动矢量设定为运动矢量(mv[1]=pmv[1][ref_idx[1]][mvp_idx[1]])。

下面,使用图14说明图10所示的动态图像预测解码装置200的动态图像预测解码方法。首先,通过输入端子201被输入压缩数据(步骤s201)。并且,解码器202进行压缩数据的数据分析并进行熵解码,对生成双预测信号所需要的第0附加信息和第1附加信息以及量化变换系数进行解码(步骤s202)。

然后,构成运动信息复原器208的第0运动信息复原器212使用第0附加信息和在运动信息用存储器113中保存的相邻块的运动信息,将第0运动信息复原(步骤s250)。有关该步骤的详细情况已在图13中说明。

然后,构成运动信息复原器208的第1运动信息复原器211使用第1附加信息和在运动信息用存储器113中保存的相邻块的运动信息,将第1运动信息复原(步骤s200)。有关该步骤的详细情况已在图12中说明。

然后,根据被复原后的运动信息,运动补偿器207生成解码对象块的双预测信号,将运动信息保存在运动信息用存储器113中(步骤s207)。

由解码器202解码后的量化变换系数在逆量化器203中进行逆量化,在逆变换器204中进行逆变换,从而生成再生残差信号(步骤s208)。并且,将所生成的双预测信号和再生残差信号相加而生成再生信号,该再生信号用于再生下一个解码对象块,因而被存储在帧存储器104中(步骤s209)。在存在下一个压缩数据的情况下,反复s202~s209的处理,直到最后全部数据被处理。

下面,说明有选择地利用包括本发明在内的多种双预测方法的方法。以上说明的仅对一个差分运动矢量进行编码的双预测(称为双预测类型2),能够自适应地与过去对两个差分运动矢量进行编码的双预测(称为双预测类型1)以及单预测组合使用。这些预测方式能够按照画面单位、将多个块集中起来的切片(slice)单位、或者块单位来切换使用。在切换处理中,能够采用对切换信息进行编码的方法、在解码侧根据参照画面的帧号进行决定的方法。

另外,用于切换双预测类型1和双预测类型2的处理是这样实现的:对图2的第1运动信息估计器121追加块匹配功能、和从搜索出的运动矢量减去预测矢量来计算差分运动矢量的功能,对图11的第1运动信息复原器追加从解码器取得差分运动矢量的功能。下面说明具体方法。

(画面/切片单位切换、双预测类型的切换信息编码处理)

在按照画面/切片单位来切换双预测类型1和双预测类型2的情况下,将双预测类型的切换信息(例如,bipred_type)包含在画面或者切片的报头(header)中进行编码处理。

如图5(a)所示,在所有的参照画面的候选按照显示顺序是在编码对象画面以前的画面的情况下,双预测类型2有效,因而在编码侧选择使用双预测类型2。并且,编码装置利用画面或者切片的报头信息对表示双预测类型2的指示信息(例如,bipred_type=1)进行编码。另一方面,如图5(b)所示,在按照显示顺序是在编码对象画面以后的画面包含在参照画面的候选中的情况下,编码装置选择双预测类型1,利用画面或者切片的报头信息对表示双预测类型1的指示信息(例如,bipred_type=0)进行编码。

在采用双预测类型1的情况下,在对画面内或者切片内的块进行编码时搜索运动矢量mv[1]。与第0附加信息(对ref_idx[0]和mvd[0]和mvp_idx[0]进行编码)相同地,将mvd[1]包含在第1附加信息中,与ref_idx[1]和mvp_idx[1]一起进行编码。在采用双预测类型2的情况下,将作为第0附加信息的ref_idx[0]和mvd[0]和mvp_idx[0]进行编码,将作为第1附加信息的ref_idx[1]和mvp_idx[1]进行编码。

在解码侧,在根据利用画面或者切片的报头信息进行解码后的指示信息对画面内或者切片内的各块进行解码时,切换mvd[1]的复原方法。即,在对表示双预测类型1的指示信息(例如,bipred_type=0)进行解码的情况下,在对画面内或者切片内的各块进行解码时,将mvd[1]包含在第1附加信息中,与ref_idx[1]和mvp_idx[1]一起进行解码。在对表示双预测类型2的指示信息(例如,bipred_type=1)进行解码的情况下,在对画面内或者切片内的各块进行解码时,将作为第1附加信息的ref_idx[1]和mvp_idx[1]进行解码,将mvd[1]的水平/垂直矢量值设定为0。关于第0附加信息,与指示信息的值无关,将ref_idx[0]和mvd[0]和mvp_idx[0]进行解码。

另外,编码侧的双预测类型1和双预测类型2的切换方法不依据于在此示出的方法。例如,在所有的参照画面按照显示顺序是在编码对象画面以后的画面的情况下,也可以采用双预测类型2。并且,也能够采用如下的方法:调查实际采用双预测类型1和双预测类型2时的编码效率(例如,将编码误差信号的平方+编码比特数进行变换后的评价值),选择编码效率较高的双预测类型。

另外,在如图8所示自适应地使用多种块尺寸的编码方法中,也可以在画面或者切片报头中,针对不同的块尺寸独立发送用于切换双预测类型1和双预测类型2的指示信息。例如,在块尺寸为64×64、32×32、16×16、8×8的情况下,对4个指示信息进行编码。

另外,在块的预测方法采用单预测和双预测双方的情况下,在编码侧选择预测类型(单预测或者双预测),并包含在附加信息中进行编码。并且,仅在选择了双预测的块中执行双预测类型1和双预测类型2的切换处理。在解码侧,仅在对表示预测类型为双预测的信息进行了解码的块中执行双预测类型1和双预测类型2的切换处理。

(画面/切片单位切换、基于参照画面的帧号的决定处理)

图5(a)或图5(b)所示的参照画面的候选在编码侧和解码侧是相同的。因此,根据参照画面的候选的帧号和编码对象画面的帧号决定采用双预测类型1和双预测类型2中的哪种类型。即,在所有的参照画面的候选按照显示顺序是在编码对象画面以前的画面的情况下,采用双预测类型2,在按照显示顺序是在编码对象画面以后的画面包含在参照画面的候选中的情况下,采用双预测类型1。在该方法中不需要发送指示信息。

另外,在所有的参照画面的候选按照显示顺序是在编码对象画面以前的画面的情况下,也可以采用双预测类型2。

(块单位切换、切换信息编码处理)

在按照块单位来切换双预测类型1和双预测类型2的情况下,将双预测类型的切换信息(例如,bipred_block_type)包含在块的附加信息中进行编码。

在双预测的两个参照画面按照显示顺序是在编码对象画面以前的画面的情况下,双预测类型2有效,因而在编码侧选择采用双预测类型2。并且,编码装置将表示双预测类型2的指示信息(例如,bipred_block_type=1)包含在块的附加信息中,与作为第0附加信息的ref_idx[0]、mvd[0]、mvp_idx[0]、作为第1附加信息的ref_idx[1]、mvp_idx[1]一起进行编码。另一方面,在按照显示顺序是在编码对象画面以后的画面包含在双预测的两个参照画面中的情况下,选择双预测类型1。并且,编码装置将表示双预测类型1的指示信息(例如,bipred_block_type=0)包含在块的附加信息中,与作为第0附加信息的ref_idx[0]、mvd[0]、mvp_idx[0]、作为第1附加信息的ref_idx[1]、mvd[1](在第1附加信息中包含mvd[1])、mvp_idx[1]一起进行编码。

在解码侧,将双预测类型的切换信息(例如,bipred_block_type)包含在块的附加信息中进行解码,根据解码值切换mvd[1]的复原方法。即,在对作为块的附加信息的表示双预测类型1的指示信息(例如,bipred_block_type=0)进行解码的情况下,对作为第0附加信息的ref_idx[0]和mvd[0]和mvp_idx[0]进行解码,对作为第1附加信息的ref_idx[1]和mvd[1]和mvp_idx[1]进行解码。另一方面,在对作为块的附加信息的表示双预测类型2的指示信息(例如,bipred_block_type=1)进行解码的情况下,对作为第0附加信息的ref_idx[0]和mvd[0]和mvp_idx[0]进行解码,对作为第1附加信息的ref_idx[1]和mvp_idx[1]进行解码,将mvd[1]的水平/垂直矢量值设定为0。

另外,编码侧的双预测类型1和双预测类型2的切换方法不依据于在此示出的方法。例如,在两个参照画面双方按照显示顺序是在编码对象画面以后的画面的情况下,也可以采用双预测类型2。并且,也能够采用如下的方法:按照每个块调查实际采用双预测类型1和双预测类型2时的编码效率(例如,将编码误差信号的平方+编码比特数进行变换后的评价值),选择编码效率较高的双预测类型。

另外,在块的预测方法采用单预测和双预测双方的情况下,在编码侧选择预测类型(单预测或者双预测),并包含在附加信息中进行编码。并且,仅在选择了双预测的块中执行双预测类型1和双预测类型2的切换处理。在解码侧,仅在对表示预测类型为双预测的信息进行了解码的块中执行双预测类型1和双预测类型2的切换处理。

(块单位切换、基于参照画面的帧号的决定处理)

图5(a)或图5(b)所示的参照画面的候选在编码侧和解码侧是相同的。因此,根据块的附加信息即在编码/解码处理的双预测中使用的两个参照画面的帧号和编码对象画面的帧号,决定采用双预测类型1和双预测类型2中的哪种类型。即,当在双预测中使用的两个参照画面按照显示顺序都是在编码对象画面以前的画面的情况下,采用双预测类型2,在两个参照画面中一方或者两方按照显示顺序是在编码对象画面以后的画面的情况下,采用双预测类型1。在该方法中不需要发送指示信息。另外,在两个参照画面双方按照显示顺序都是在编码对象画面以后的画面的情况下,也可以采用双预测类型2。

(画面/切片单位切换与块单位切换的组合)

按照画面/切片单位对指示信息进行编码/解码,该指示信息表示按照画面/切片单位进行双预测类型的切换或者按照块单位进行双预测类型的切换。

在按照画面/切片单位进行双预测类型的切换的情况下,如在上面说明的那样,将双预测类型的切换信息(例如,bipred_type)包含在画面或者切片的报头中进行编码/解码。此时,在如图8所示自适应地使用多种块尺寸的编码方法中,也可以在画面或者切片报头中,针对不同的块尺寸独立发送用于切换双预测类型1和双预测类型2的指示信息。例如,在块尺寸为64×64、32×32、16×16、8×8的情况下,对4个指示信息进行编码。

在按照块画面单位进行双预测类型的切换的情况下,如在上面说明的那样,按照块单位将双预测类型的切换信息(例如,bipred_block_type)包含在块的附加信息中进行编码/解码。此时,在如图8所示自适应地使用多种块尺寸的编码方法中,也可以在画面或者切片报头中,针对不同的块尺寸独立发送用于指示是否进行双预测类型1和双预测类型2的切换处理的指示信息。例如,在块尺寸为64×64、32×32、16×16、8×8的情况下,对4个指示信息进行编码。

另外,也可以按照画面/切片单位对指示信息进行编码/解码,该指示信息指示仅采用双预测类型1、或者仅采用双预测类型2、或者按照画面/切片内的各块来切换两种双预测类型。此时,在如图8所示自适应地使用多种块尺寸的编码方法中,也可以针对不同的块尺寸单独发送指示信息。

或者,按照画面/切片单位对表示是否采用双预测类型2的指示信息进行编码/解码。在采用双预测类型2的画面/切片中,也可以进一步对指示信息进行编码/解码,该指示信息指示按照画面/切片内的各块来切换双预测类型1和双预测类型2、或者对于画面/切片内的所有块采用双预测类型2。此时,在如图8所示自适应地使用多种块尺寸的编码方法中,也可以在画面或者切片的报头中,针对不同的块尺寸单独发送这些指示信息。

在上述的说明中,将对象块400的第0运动信息包含在图7所示的第1预测运动矢量的候选中。但是,也可以另外准备如下的方法作为双预测类型3,将第0运动信息作为第1预测运动信息,根据第0运动信息中所包含的第1参照画面索引和第1运动信息中所包含的第1参照画面索引,对预测运动信息进行尺寸调整而用作第1运动信息。即,以使第0运动信息中所包含的运动矢量成为第1运动信息的第1参照画面索引所指示的参照画面的运动矢量的方式进行尺寸调整。在这种情况下,也可以将对象块的第0运动信息包含在双预测类型2的第1预测运动信息的候选中(从候选中去除图7的n=4)。并且,在采用双预测类型3的情况下,不进行第1预测运动信息索引的编码/解码。即,在对第1附加信息进行编码/解码时,使包括第1参照画面索引(ref_idx[1]),但不包括差分运动矢量(mvd[1])和第1预测运动信息索引(mvp_idx[1])。

关于双预测类型3的采用方法,也可以是按照画面/切片单位或者块单位,对用于切换双预测类型1和双预测类型2和双预测类型3的指示信息进行编码/解码。并且,也可以是按照画面/切片单位或者块单位,对用于切换双预测类型1和双预测类型3、或者切换双预测类型2和双预测类型3的指示信息进行编码/解码。

并且,也可以采用替代上述的双预测类型1的方法。即,也可以是,在按照显示顺序是在编码对象画面以后的画面包含在多个参照画面候选中的情况下,采用双预测类型3,在多个参照画面候选按照显示顺序都是在编码对象画面以前的画面的情况下,采用双预测类型2。

或者,也可以是,在第0运动信息中所包含的参照画面索引所指示的参照画面、与第1运动信息中所包含的参照画面索引所指示的参照画面不同的情况下,采用双预测类型3取代双预测类型2(第1预测运动信息索引不需要进行编码/解码),而在第0运动信息中所包含的参照画面索引所指示的参照画面、与第1运动信息中所包含的参照画面索引所指示的参照画面相同的情况下,采用双预测类型2(对第1预测运动信息索引进行编码/解码)。

另外,双预测类型的切换信息不限于如bipred_type或bipred_block_type那样的识别信息。只要是表示是否进行差分运动矢量的编码/解码的信息即可。例如,也可以是,对如mvd_list1_zero_flag或mvd_list0_zero_flag那样指示mvd是否包含在第1附加信息或第0附加信息中的标志信息进行编码/解码。在按照画面/切片单位或者块单位来切换双预测类型1、双预测类型2和双预测类型3的情况下,在采用双预测类型2或双预测类型3中任意一方的情况下,发送用于指示附加信息中不包含mvd的标志。也可以是,按照上面所述,根据参照画面索引进行双预测类型2和双预测类型3的切换(在第0运动信息中所包含的参照画面索引所指示的参照画面、与第1运动信息的参照画面索引所指示的参照画面相同的情况下,采用双预测类型2),还可以对选择信息进行编码/解码。

图15是示出能够执行动态图像预测编码方法的程序的模块的框图。如图15(a)所示,动态图像预测编码程序p100具备:块分割模块p101、预测信号生成模块p103、存储模块p104、减法模块p105、变换模块p106、量化模块p107、逆量化模块p108、逆变换模块p109、加法模块p110、编码模块p111以及运动信息存储模块p113。另外,如图15(b)所示,预测信号生成模块p103具备第1运动信息估计模块p121、第0运动信息估计模块p122、预测信号生成模块p123。通过执行上述各个模块而实现的功能与上述动态图像预测编码装置100的功能相同。即,动态图像预测编码程序p100的各模块的功能与块分割器102、预测信号生成器103、帧存储器104、减法器105、变换器106、量化器107、逆量化器108、逆变换器109、加法器110、编码器111、运动信息用存储器113、第1运动信息估计器121、第0运动信息估计器122、预测信号生成器123的功能相同。

另外,图16是示出能够执行动态图像预测解码方法的程序的模块的框图。如图16(a)所示,动态图像预测解码程序p200具备:解码模块p201、运动信息解码模块p202、运动补偿模块p203、运动信息存储模块p204、逆量化模块p205、逆变换模块p206、加法模块p207以及存储模块p104。另外,如图16(b)所示,运动信息解码模块p202具备第1运动信息复原模块p211和第0运动信息复原模块p212。

通过执行上述各个模块而实现的功能与上述动态图像预测解码装置200的各个构成要素相同。即,动态图像预测解码程序p200的各模块的功能与解码器202、运动信息复原器208、运动补偿器207、运动信息用存储器113、逆量化器203、逆变换器204、加法器205、帧存储器104、第1运动信息复原器211、第0运动信息复原器212的功能相同。

这样构成的动态图像预测编码程序p100或者动态图像预测解码程序p200被存储在后述的图17及图18所示的记录介质10中,以便由后述的计算机执行。

图17是示出用于执行被记录在记录介质中的程序的计算机的硬件结构的图,图18是示出用于执行被记录在记录介质中的程序的计算机的立体图。另外,执行被存储在记录介质中的程序的不限于计算机,也可以是具备cpu的进行基于软件的处理和控制的dvd播放器、机顶盒、便携电话等。

如图17所示,计算机30具有软盘驱动装置、cd-rom驱动装置、dvd驱动装置等读取装置12,使操作系统常驻的作业用存储器(ram)14,存储被保存在记录介质10中的程序的存储器16,被称为显示器的显示装置18,作为输入装置的鼠标20和键盘22,用于进行数据等的收发的通信装置24,以及控制程序的执行的cpu26。当记录介质10被插入到读取装置12时,计算机30可以从读取装置12访问存储在记录介质10中的动态图像预测编码/解码程序,通过动态该图像编码或解码程序,计算机30可以作为本实施方式的动态图像编码装置或动态图像解码装置进行动作。

如图18所示,动态图像预测编码程序和动态图像解码程序也可以是作为被叠加在载波中的计算机数据信号40而通过网络来提供。在这种情况下,计算机30将由通信装置24接收到的动态图像预测编码程序或者动态图像解码程序存储在存储器16中,并能够执行该动态图像预测编码程序或者动态图像预测解码程序。

在本发明中还能够实现如下的变形。

(1)第0附加信息和第1附加信息的关系

在上述的说明中,第1附加信息包括ref_idx[1]和mvp_idx[1],第0附加信息包括ref_idx[0]和mvd[0]和mvp_idx[0],但其结构也可以是相反的。即,第1附加信息包括ref_idx[1]和mvd[1]和mvp_idx[1],第0附加信息包括ref_idx[0]和mvp_idx[0]。在这种情况下,在根据相邻块的运动信息生成第0预测运动信息的同时生成第0预测信息,然后搜索双预测信号与对象块的原来的信号的绝对值和+附加信息的评价值达到最小的第1运动信息。

并且,也可以是,第1附加信息包括ref_idx[1]和mvp_idx[1],第0附加信息包括ref_idx[0]和mvp_idx[0]。即,不对差分的运动矢量进行编码,在两个差分运动矢量的解码侧将水平/垂直矢量值设定为0。或者,将第0预测运动矢量和第1预测运动矢量分别设定为第0运动矢量和第1运动矢量。

(2)参照画面

在上述的说明中,将参照画面索引包含在第1附加信息中进行编码/解码,但也可以根据利用mvp_idx表示的相邻块的运动信息所附带的参照画面索引进行决定(例如,对于图7的相邻块401~404,直接采用附带的list1的参照画面索引,而对于相邻块410~415,则根据对象块和相邻块的参照画面索引所指示的参照画面的不同,对相邻块中所包含的运动矢量进行尺寸调整处理)。并且,也可以预先决定第1运动信息的参照画面索引。在这些情况下,能够在解码侧唯一地进行复原,因而不需要将参照画面索引ref_idx包含在第1附加信息中进行编码。

参照画面的选择及其列表不限于图5和图6的示例。也可以按照画面/切片单位对参照画面索引进行编码,参照画面的数量也可以不是如图5所示的4张,即使是其它任意数量时也能够实施本发明。

(3)预测运动信息

在上述的说明中,如图7所示将多个已编码/已解码的运动信息作为预测运动信息的候选,但其数量及采用的相邻块的位置没有限定。

也可以将相邻块的第0运动矢量包含在第1预测运动矢量的候选中,即使是在第0预测运动矢量的候选中包含相邻块的第1运动矢量时,也能够实施本发明的双预测。也可以将先进行编码/解码的第0运动信息附加在第1预测运动信息的候选中。

在已编码/已解码的运动信息中所包含的参照画面索引和对象块附带的运动信息中所包含的参照画面索引不同的情况下,至于是否进行运动矢量的尺寸调整处理,在本发明中没有限定。

另外,在预测运动矢量的候选为一个的情况下,不需要将预测运动信息索引mvp_idx包含在第1附加信息中进行编码。

关于预测运动矢量的生成方法在本发明中没有限定。例如,也可以采用奇数个的预测运动矢量的候选的中央值作为预测运动矢量。在这种情况下,在解码侧唯一地决定预测运动矢量,因而不需要将预测运动信息索引mvp_idx包含在第1附加信息中进行编码。

如图8所示,即使是使用多种块尺寸的编码/解码方式的情况下,只要规定了决定预测运动信息的候选的方法,就能够实施本发明的双预测。例如,图8的示例中,也可以将与对象块400相邻的块421~428作为预测信息的候选,还可以预先决定相邻块的号码赋予方法,对预测运动矢量的候选设定按照画面单位或切片单位指示的数量的相邻块的运动信息。

(4)第0运动信息和附加信息

另外,关于第0运动信息和附加信息的结构在本发明中没有限定,也可以不对参照画面索引或预测运动信息索引进行编码而将其设为固定值,还可以利用预先决定的方法导出。

另外,关于第0运动信息和附加信息,也可以与第1运动信息和附加信息相同地,不对mvd[0]进行编码,而是在解码侧设定为mv[0]=pmv[0](或者mvd[0]=0)。

(5)帧号

在上述的说明中,使用帧号(frame_num)识别参照画面或编码对象画面,但只要是能够识别参照画面的信息,即使是其它的信息也不会影响本发明的实施。

(6)第1差分运动矢量mvd[1]的复原

在以上说明的本发明的双预测中,第1差分运动矢量mvd[1]的矢量值为0。因此,不对mvd[1]进行编码,而是在解码侧将mvd[1]的矢量值设定为0、或者将运动矢量mv[1]设定为pmv[1]。作为另一种实施方式,可以说将mvd[1]=0包含在第1附加信息中,高效地对0值进行熵编码的方法也是有效的。

在对熵编码采用算术编码的情况下,例如按照不同的概率模型对第0差分运动矢量和第1差分运动矢量进行编码/解码。例如,准备差分运动矢量的矢量值0的概率频次不同的两种概率模型,作为差分运动矢量的编码/解码用。并且,在对第1差分运动矢量进行编码/解码的情况下,采用将差分运动矢量的矢量值0的概率频次设定为较高频次的第2概率模型,在对第0差分运动矢量进行编码/解码的情况下,采用另一种第1概率模型。另外,也可以分别准备概率模型作为差分运动矢量的水平和垂直方向矢量值用。

另外,也可以是,仅对采用双预测类型2的块的第1差分运动矢量采用第2概率模型,在除此以外的差分运动矢量的编码/解码处理中采用第1概率模型。

在采用可变长编码的情况下,采用不同的可变长表对第0差分运动矢量和第1差分运动矢量进行编码/解码。例如,准备对差分运动矢量的矢量值0分配的代码长度不同的两种可变长表。并且,在对第1差分运动矢量进行编码/解码的情况下,采用将对差分运动矢量的矢量值0分配的代码长度设定为较短长度的第2可变长表,在对第0差分运动矢量进行编码/解码的情况下,采用另一种第1可变长表。另外,也可以分别准备可变长表作为差分运动矢量的水平和垂直方向矢量值用。

另外,也可以是,仅对采用双预测类型2的块的第1差分运动矢量采用第2可变长表,在除此以外的差分运动矢量的编码/解码处理中采用第1可变长表。

(7)n预测

在上述的说明中,将画面间预测的预测类型设为单预测和双预测,但本发明也能够适用于将3个以上的预测信号合成的预测方法。在将3个以上的预测信号合成并生成预测信号的情况下,只要不包含mvd的附加信息的数量在一个以上,则可以是任意数量。

(8)变换器、逆变换器

关于残差信号的变换处理,可以以固定的块尺寸进行,也可以配合部分区域对对象区域进行再分割而进行变换处理。

(9)颜色信号

在上述的说明中,没有特别对色彩格式进行叙述,但是,关于颜色信号或色差信号,也可以独立于亮度信号进行预测信号的生成处理。此外,也可以与亮度信号的处理联动地进行预测信号的生成处理。

以上,根据该实施方式详细说明了本发明。但是,本发明不仅限定于上述实施方式。本发明能够在不脱离其宗旨的范围内进行各种变形。

标号说明

100…动态图像预测编码装置,101…输入端子,102…块分割器,103…预测信号生成器,104…帧存储器,105…减法器,106…变换器,107…量化器,108…逆量化器,109…逆变换器,110…加法器,111…编码器,112…输出端子,113…运动信息用存储器,121…第1运动信息估计器,122…第0运动信息估计器,123…预测信号生成器,201…输入端子,202…解码器,203…逆量化器,204…逆变换器,205…加法器,206…输出端子,207…运动补偿器,208…运动信息复原器,211…第1运动信息复原器,212…第0运动信息复原器。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1