具体实施方式
[实施方式1]
图1是说明利用本发明的实施方式1的运动画面编码装置用的框图。
本实施方式1的运动画面编码装置10,把构成运动画面的多个画面的每一个分别分割成固定的数据处理单位(块),并按每个块对各画面的图像数据进行编码。
具体言之,此运动画面编码装置10,具有存储所输入的画面的图像数据(输入数据)Id,同时按每个块输出所存储的数据Id的输入画面存储器101;将从上述参照画面存储器101输出的,成为编码对象的对象块的图像数据Md与该对象块的预测数据Pd的差分数据,作为对象块的预测误差数据PEd进行计算的差分运算单元102;和对上述对象块的图像数据Md或者预测误差数据PEd进行压缩编码的预测误差编码单元103。在上述参照画面存储器101中,基于对象画面与对其预测编码时所参照的画面(参照画面)的关系,进行按画面的编码顺序改排按显示顺序所输入的画面的图像数据的处理。
运动画面编码装置10,还具有对上述预测误差编码单元103的输出数据(编码数据)Ed进行扩展解码,并输出对象块的解码差分数据PDd的预测误差解码单元105;相加该对象块的解码差分数据PDd和上述对象块的预测数据Pd,并输出对象块的解码数据Dd的加法运算单元106;和基于存储器控制信号Cd2记录该解码数据Dd,并将所存储的解码数据Dd作为在进行对象块的编码时所参照的画面的候补(候补画面)的数据Rd进行输出的参照画面存储器117。
运动画面编码装置10,还具有基于上述参照画面存储器101的输出数据(对象块的图像数据)Md和参照画面存储器117的输出数据(候补画面的数据)Rd,检测对象块的运动矢量MV的运动矢量检测单元108;和基于该对象块的运动矢量MV及上述各参照画面存储器101、117的输出数据Md、Rd,确定对应对象块的编码方式,同时输出开关控制信号Cs2的方式选择单元109。上述运动矢量检测单元108,参照在对象块的预测编码时可参照的多个候补画面,进行检测上述运动矢量的运动检测。另外,上述方式选择单元109,对上述对象块,从多个编码方式中选择一个编码方式以使编码效率成为最优。此时,在画面间预测编码被选择的情况下,从可参照的多个候补画面中选择最佳的画面。
在此实施方式1的运动画面编码装置10中,对于P画面(也就是,在对一个块进行预测编码时,参照一个已编码的画面的画面),选择画面内编码方式、使用运动矢量的画面间预测编码方式、以及不使用运动矢量(也就是运动矢量为0)的画面间预测编码方式中的一个。另外,对于B画面(也就是,在对一个块进行预测编码时,参照两个已编码的画面的画面),选择画面内编码方式、使用前向运动矢量的画面间预测编码方式、使用后向运动矢量的画面间预测编码方式、使用双向运动矢量的画面间预测编码方式、以及直接方式中的一个。另外,在此实施方式1中,在以直接方式对上述B画面的块进行编码时,参照在显示时间轴上紧靠对象画面之前的已编码画面。
另外,运动画面编码装置10,具有设置在上述参照画面存储器101与差分运算单元102之间的选择开关111;设置在差分运算单元102与预测误差编码单元103之间的选择开关112;设置在参照画面存储器101与上述方式选择单元109以及运动矢量检测单元108之间的接通断开开关113;设置在上述方式选择单元109与加法运算单元106之间的接通断开开关114以及设置在上述预测误差编码单元103与预测误差解码单元105之间的接通断开开关115。
此外,运动画面编码装置10,具有用来通过开关控制信号Cs1控制上述开关113~115的接通断开动作,同时输出代码生成控制信号Cd1和存储器控制信号Cd2的编码控制单元110;以及基于代码生成控制信号Cd1对预测误差编码单元103的输出数据(编码数据)Ed进行可变长编码,并输出对应于对象块的位流Bs的位流生成单元104。在该位流生成单元104中,输入有表示由运动矢量检测单元108所检测的运动矢量和由方式选择单元109所确定的编码方式Ms的信息。在对应于该对象块的位流Bs中,包含有表示对应于对象块的运动矢量MV和编码方式Ms的信息。
上述选择开关111,具有一个输入端子Ta和两个输出端子Tb1和Tb2,并且依照上述开关控制信号Cs2,该输入端子Ta连接到上述两个输出端子Tb1、Tb2的一方。上述选择开关112,具有两个输入端子Tc1和Tc2和一个输出端子Td,并且依照上述开关控制信号Cs2,该输出端子Td连接到上述两个输入端子Tc1、Tc2的一方。另外,通过上述选择开关111,对输入端子Ta输入从参照画面存储器101输出的图像数据Md,从一方的输出端子Tb1对选择开关112的输入端子Tc1输出来自上述参照画面存储器101的图像数据Md,从另一方的输出端子Tb2对差分运算单元102输出来自上述参照画面存储器101的图像数据Md。通过上述选择开关112,对一方的输入端子Tc1输入来自上述参照画面存储器101的图像数据Md,对另一方的输入端子Tc2输入由差分运算单元102所得到的差分数据PEd,从输出端子Td,该图像数据Md和差分数据PEd的一方被输出到预测误差编码单元103。
下面对运动画面编码装置10的动作进行说明。
在下面的说明中,显示时间比成为编码对象的画面(对象画面)要早的画面(前向画面)是指相对对象画面在时间上位于前方的画面,或者也简单地叫做位于对象画面的前方的画面。另外,显示时间比对象画面要迟的画面(后向画面)是指相对对象画面在时间上位于后方的画面,或者也简单地叫做位于对象画面的后方的画面。另外,在下面的各实施方式的说明中,“时间上”这样的表达,只要没有事先做特别说明则表示“按显示时间顺序”的含义。
在实施方式1的运动画面编码装置10中,输入图像数据Id按显示时间顺序以画面单元被输入到参照画面存储器101。
图2(a)是说明在参照画面存储器101中各画面的图像数据被存储的顺序的图。在图2(a)中,纵线表示画面。各画面的右下所示的符号,第一个字母表示画面类型(I、P或者B),后面的数字表示时间顺序的画面索引。也就是,图2(a)所示的画面P1、B2、B3、P4、B5、B6、P7、B8、B9、P10、B11、B12、P13、B14、B15、P16,相当于图45所示的画面F(k+3)~F(k+18)[k=-2],并且这些画面,按显示顺序,也就是沿显示时间轴X从显示顺序早的开始按顺序进行排列。
在参照画面存储器101中,画面的图像数据按画面的显示顺序存储。在该参照画面存储器101中所存储的画面的图像数据,从画面的显示顺序被改排成对应于画面的编码的顺序。下面,为了简化说明,画面的图像数据也简单地叫做画面。
具体来讲,在参照画面存储器101中将画面的顺序从输入顺序(显示顺序)改排成编码顺序的处理,基于画面间预测编码中的参照关系进行。也就是,进行此改排处理,使在第一画面被编码时作为参照画面所使用的第二画面应该在第一画面之前被编码。
在P画面编码时,相对编码对象画面(P画面)在时间上处于前方的近旁3个画面(I或者P画面),作为参照画面的候补画面被使用。在P画面的块的预测编码中,从上述3个候补画面中参照最大的1个。
另外,在B画面被编码时,相对对象画面(B画面)在时间上位于前方的2个接近画面(I或者P画面)、相对对象画面在时间上位于前方的最接近的B画面、以及相对对象画面在时间上位于后方的I或者P画面,作为参照画面的候补画面使用。在B画面的块的预测编码中,从上述4个候补画面中参照最大的2个。
具体来讲,画面P10、B11、B12、P13,和对应该各画面的参照画面的候补画面的对应关系,如图2(a)中的箭头所示。也就是,在P画面P10被编码时,画面P1、P4、P7被作为参照画面的候补画面,在P画面P13被编码时,画面P4、P7、P10被作为参照画面的候补画面。另外,在B画面B11被编码时,画面P7、B9、P10、P13用作参照画面的候补画面,在B画面B12被编码时,画面P7、P10、B11、P13用作参照画面的候补画面。
另外,图2(b)表示将从图2(a)所示的画面P1~P16的画面的顺序,从显示顺序改排成编码顺序后的画面的顺序。改排后,图2(a)所示的画面,如图2(b)所示,在表示编码时间的时间轴(编码时间轴)Y上,按照其编码时间顺序,也就是按画面P4、B2、B3、P7、B5、B6、P10、B8、B9、P13、B11、B12、P16的顺序进行排列。
在参照画面存储器101中进行了改排的画面的数据,按照编码时间,对每个预定的数据处理单位,顺序读出。在此实施方式中,数据处理单位是进行运动补偿的数据单位,更具体来讲,就是在水平方向和垂直方向都排列了16个像素的矩形状图像空间(宏块)。但是在下面的说明中,宏块也简单地叫做块。
下面,对画面P13、B11、B12的编码处理按顺序进行说明。
<画面P13的编码处理>
首先,对画面P13的编码处理进行说明。
由于成为编码对象的画面(对象画面)P13是P画面,所以对于画面P13中的对象块的画面间预测编码,是进行参照相对对象画面在时间上位于前方或者后方的1个已编码画面的单向画面间预测编码。
在下面的说明中,就使用位于对象画面的前方的P画面作为参照画面的情况进行说明。
在此情况下,作为画面P13的编码,使用前向参照的画面间预测编码。另外,在P画面被编码的过程中,作为参照画面不使用B画面。从而,在此情况下,参照画面的候补画面,是前方的3个画面(I或者P画面),具体来讲,就是画面P4、P7、P10。这些候补画面的编码,在对象画面开始编码时已经结束,对应候补画面的数据(解码数据)Dd被存储在参照画面存储器117参照画面存储器101中。
在P画面被编码的过程中,编码控制单元110,通过开关控制信号Cs1控制各开关,以使开关113、114和115成为接通状态。从参照画面存储器101读出的对应画面P13的宏块的图像数据Md,输入到运动矢量检测单元108、方式选择单元109和差分运算单元102。
运动矢量检测单元108,使用存储在参照画面存储器参照画面存储器117中的画面P4、P7、P10的解码图像数据Rd,检测画面P13的宏块的运动矢量MV。然后,检测出的运动矢量MV,被输出到方式选择单元109。
方式选择单元109,使用由运动矢量检测单元108所检测出的运动矢量,确定画面P13的块的编码方式。编码方式表示用怎样的方法对块进行编码。例如,如上所述,在P画面的情况下,从画面内编码、使用运动矢量的画面间预测编码、不使用运动矢量(将运动设为0来进行处理)的画面间预测编码中,确定一个编码方式。在确定编码方式时确定,一般是选择使在将预定的位的数量作为代码量来赋予块的情况下编码误差为最小的编码方式。此时,在选择画面间预测编码的情况下,作为参照画面从画面P4、P7、P10中选择最适当的一个。
由方式选择单元109所确定的编码方式Ms,被输出到位流生成单元104。另外,在所确定的编码方式Ms为参照前向画面的编码方式的情况下,通过参照前向画面的运动检测所得到的矢量(前向运动矢量)MVp和该运动矢量是参照画面P4、P7、P10的哪一个所检测出的运动矢量之类的信息Rp也被输出到位流生成单元104。
在由方式选择单元109所确定的编码方式Ms表示画面间预测编码方式的情况下,在画面间预测编码中所使用的运动矢量MVp和该运动矢量是参照画面P4、P7、P10的哪一个所检测出的运动矢量之类的信息Rp,被存储到运动矢量存储单元116。
另外,在方式选择单元109中,与对于对象块所确定的编码方式相应的运动补偿,使用参照画面和对于对象块的运动矢量来进行。于是由该运动补偿所得到的,对于对象块的预测数据Pd,被输出到差分运算单元102和加法运算单元106。
但是,在选择了画面内编码方式的情况下,在方式选择单元109中不生成预测数据Pd。另外,在选择了画面内编码方式的情况下,通过控制开关111使输入端子Ta连接到输出端子Tb1,并通过控制开关112使输出端子Td连接到输入端子Tc1。另一方面,在选择了画面间预测编码的情况下,通过控制开关111使输入端子Ta连接到输出端子Tb2,并通过控制开关112使输出端子Td连接到输入端子Tc2。
下面,就对由方式选择单元109选择画面间预测编码方式作为编码方式Ms的情况进行说明。
在差分运算单元102中输入画面P13的块的图像数据Md和来自方式选择单元109的对应的预测数据Pd。差分运算单元102,计算画面P13的块的图像数据Md和预测数据Pd的差分数据,并将该差分数据作为预测误差数据PEd进行输出。
预测误差数据PEd被输入到预测误差编码单元103。预测误差编码单元103,对所输入的预测误差数据PEd实施频率变换和量化等编码处理而生成编码数据Ed。这些处理,如频率变换和量化等处理,以对应在水平方向和垂直方向上都排列了8个像素的矩形状图像空间(子块)的数据为单位进行。
从预测误差编码单元103输出的编码数据Ed,被输入到位流生成单元104和预测误差解码单元105。
位流生成单元104,对所输入的编码数据Ed进行可变长编码生成位流。进而,在该位流中附加运动矢量MVp和编码方式等Ms的信息,以及来自编码控制单元110的标题信息等并生成位流Bs。
在编码方式Ms为进行前方参照的编码方式的情况下,参照画面P4、P7、P10的哪一个检测运动矢量之类的信息(参照画面信息)Rp也被附加到位流中。
接着,对参照画面存储器的管理方法,和表示候补画面中的参照画面的信息(参照画面信息)进行说明。
图3表示在参照画面存储器117中所存储的画面随着时间的经过而变化的情形。此参照画面存储器117参照画面存储器117的管理,根据来自编码控制单元110的存储器控制信号Cd2进行。另外,参照画面存储器117具有5个画面量的存储区域(#1)~(#5)。在各存储区域中可存储1个画面量的图像数据。但是,各画面的存储单元,并不限于1个参照画面存储器内的区域,也可以是一个存储器。
首先,对参照画面存储器的管理方法进行说明。
当画面P13的编码开始时,在参照画面存储器117的各存储区域(#1)~(#5)中保持有画面B8、P4、P7、P10、B9。虽然画面B9,在画面P13被编码的过程中不使用,但为了在画面B11被编码的过程中使用,而保持于参照画面存储器117中。画面P13将画面P4、P7和P10用作参照画面的候补画面来进行编码。所编码的画面P13,被保持于保持了画面B8的存储区域(#1)。其理由如下。虽然画面P4、P7、P10和B9,在对画面P13及其以后的画面进行编码时被用作参照画面的候补画面,但画面B8,在这些画面编码时不会被用作参照画面。在图3中,圆形记号所示的画面,是在对象画面的编码完成了的时刻,最后被存储于参照画面存储器117的画面(对象画面)。
接着,对于将具体的参照画面索引作为参照画面的信息赋予每个候补画面的方法予以说明。
此参照画面索引,是表示在对各块进行编码时,在参照画面的候补画面中哪一个画面被用作参照画面的信息。换言之,上述参照画面索引,是表示在检测对象画面(画面P13)的对象块的运动矢量时使用候补的画面P4、P7、P10中的哪一个的信息。在参照画面索引的赋予中,使用从距对象画面在时间上最近的候补画面开始按顺序赋予索引的方法。
具体来讲就是,当对对象画面P13的块进行编码时,画面P10被指定成参照画面的情况下,则在对象画面P13的位流中附加表示对象画面P13的紧前方的候补画面被指定成参照画面的信息(参照画面索引[0])。当对对象画面P13的块进行编码时,画面P7被参照的情况下,则在对象画面P13的位流中附加表示对象画面P13的2张前的候补画面被指定成参照画面的信息(参照画面索引[1])。当对对象画面P13的块进行编码时,画面P4被参照的情况下,则在对象画面P13的位流中附加表示对象画面P13的3张前的候补画面被指定成参照画面的信息(参照画面索引[2])。
在图3中表示,作为参照画面信息被赋予符号[b]的画面,在对对象画面进行编码时将成为后向参照画面的候补。
<画面B11的编码处理>
下面对画面B11的编码处理进行说明。
由于待编码的画面(对象画面)是画面B11,所以对于画面B11中的对象块的画面间预测编码,进行参照相对对象画面在时间上位于前方或者后方的2个已编码画面的双向画面间预测编码。
下面,就作为参照画面,使用位于对象画面的前方的一个画面(I画面、P画面或者B画面)和位于对象画面的后方的一个画面(I画面或者P画面)的情况进行说明。
也就是,在此情况下,作为前向参照画面的候补画面,使用相对对象画面(画面B11)在时间上接近的两个画面(I或者P画面),以及相对对象画面在时间上位置最接近的B画面。另外,作为后向参照画面,使用相对对象画面在时间上处于最接近的I或者P画面。从而,在此情况下,对于画面B11的参照画面的候补画面,就是画面P7、B9和P10(前向画面)以及画面P13(后向画面)。
当对预备在其他画面被编码时被用作参照画面的B画面进行编码时,编码控制单元110,通过开关控制信号Cs1控制各开关使开关113、114、115成为接通状态。由于画面B11在其他画面被编码时被用作参照画面,所以编码控制单元110,通过开关控制信号Cs1控制各开关使开关113、114、115成为接通状态。从参照画面存储器101读出的,对应画面B11的块的图像数据Md,被输入到运动矢量检测单元108、方式选择单元109和差分运算单元102。
运动矢量检测单元108,对于画面B11的对象块进行前向运动矢量和后向运动矢量的检测。在这些运动矢量检测时,存储在参照画面存储器117中的画面P7、B9和P10,被用作前向参照画面的候补画面,画面P13被用作后向参照画面。后向运动矢量的检测,基于作为后向参照画面的画面P13进行。由运动矢量检测单元108所检测出的运动矢量,被输出到方式选择单元109。
方式选择单元109,使用由运动矢量检测单元108所检测出的运动矢量,确定画面B11的对象块的编码方式。在此场合,B画面B11的编码方式,例如,从画面内编码、使用了前向运动矢量的画面间预测编码、使用了后向运动矢量的画面间预测编码、使用了双向运动矢量的画面间预测编码,以及直接方式中进行选择。在编码方式为使用了前向运动矢量的画面间预测编码的情况下,从画面P7、B9和P10中选择最适当的画面作为参照画面。
下面,说明以直接方式对画面B11的块进行编码的处理。
[直接方式编码的第1例]
图4(a)表示以直接方式对画面(对象画面)B11的块(对象块)BLa1进行编码的第1例。此直接方式编码利用处于画面B11的后方的作为参照画面的画面(基准画面)P13中的处于与对象块BLa1相同位置的块(基准块)BLb1的运动矢量(基准运动矢量)MVc1。运动矢量MVc1是对画面P13的块BLb1进行编码时所使用的运动矢量,并且存储在运动矢量存储单元116中。此运动矢量MVc1参照上述画面P10而被检测出,并且表示画面P10的对应块BLb1的区域CRc1。对块BLa1,使用与运动矢量MVc1平行的运动矢量MVd1、MVe1,和作为参照画面所选择的画面P10、P13,实施双向预测编码处理。在对此块BLa1进行编码时使用的运动矢量MVd1、及MVe1分别是表示画面P10的对应块BLa1的区域CRd1的前向运动矢量,及表示画面P13的对应块BLa1的区域CRe1的后向运动矢量。
在此情况下,前向运动矢量MVd1的大小MVF和后向运动矢量MVe1的大小MVB,可由公式(1)、(2)分别求出。
MVF=MVR×T RF/TRD…(1)
MVB=(TRB-TRD)×MVR/TRD…(2)其中,MVF、MVB分别表达运动矢量的水平分量和垂直分量。
另外,MVR是运动矢量MVc1的大小(由正负符号(sign)表示2维空间上的方向),TRD是对象画面(画面B11)的后向参照画面(画面P13)和在该后向参照画面(画面P13)的块BLb1被编码时所参照的画面(画面P10)的时间距离。另外,TRF是对象画面(画面B11)和紧靠其前的参照画面(画面P10)的时间距离,而TRB是对象画面(画面B11)和在后向参照画面的块BLb1被编码时所参照的画面(画面P10)的时间距离。
[直接方式编码的第2例]
接着,说明使用直接方式的编码处理的第2例。
图4(b)表示以直接方式对画面(对象画面)B11的块(对象块)BLa2进行编码的第2例。
此直接方式编码利用处于画面B11的后方的作为参照画面的画面P13中的处于与块BLa2相同位置的块(基准块)BLb2的运动矢量(基准运动矢量)MVf2。运动矢量MVf2是块BLb2被编码时所使用的运动矢量,并且存储在运动矢量存储单元116中。此运动矢量MVf2参照上述画面P7而被检测出,并且表示画面P7的对应块BLb2的区域CRf2。对块BLa2,使用与运动矢量MVf2平行的运动矢量MVg2、MVh2,和作为参照画面所选择的画面P10和画面P13,实施双向预测编码处理。在对此块BLa2进行编码时使用的运动矢量MVg2、及MVh2分别表示画面P10的对应块BLa2的区域CRg2的前向运动矢量,及表示画面P13的对应块BLa2的区域CRh2的后向运动矢量。
在此情况下,运动矢量MVg2、及MVh2的大小MVF、MVB,可分别由上述公式(1)、(2)求出。
如上所述,在直接方式中,对在对象块BLa2被编码时用作后向参照画面中的、位于与该对象块相对地相同的位置的BLb2的运动矢量MVf2进行定标,从而求出对于对象块的前向运动矢量MVg2和后向运动矢量MVh2。所以,在直接方式被选择的情况下,就不需要发送对象块的运动矢量的信息。而且,由于作为前向参照画面,使用距对象画面在时间上位置最接近的已编码画面,故能够使预测效率提高。
[直接方式编码的第3例]
接着,说明使用直接方式的编码处理的第3例。
图5(a)表示以直接方式对画面(对象画面)B11的块(对象块)BLa3进行编码处理的第3例。
此直接方式编码利用作为画面B11的后向参照画面的画面(基准画面)P13中的、处于与块BLa3相同位置的块BLb3的运动矢量(基准运动矢量)MVc3。运动矢量MVc3是在块BLb3被编码时所使用的运动矢量,存储于运动矢量存储单元116中。此运动矢量MVc3参照上述画面P7而被检测到,并且表示画面P7的对应块BLb3的区域CRc3。对块BLa3,使用与运动矢量MVc3平行的运动矢量MVd3、MVe3,和在块BLb3被编码时所参照的画面(作为前向参照画面所选择的画面P7)以及作为后向参照画面的画面P13,实施双向预测处理。在此情况下,对对象块BLa3进行编码时使用的运动矢量MVd3、MVe3分别表示画面P7的对应块BLa3的区域CRd3的前向运动矢量,及表示画面P13的对应块BLa3的区域CRe3的后向运动矢量。
在此情况下,运动矢量MVd3、MVe3的大小MVF、MVB,可分别由下面的公式(3)和上面的公式(2)求出。
MVF=MVR×T RB/TRD…(3)
其中,MVR是运动矢量MVc3的大小。
如上所述,在图5(a)所示的直接方式编码中,对在对象块被编码时用作后向参照画面中的、位于与该对象块相对地相同的位置的块BLb3的运动矢量MVc3进行定标,从而求出对于对象块的前向运动矢量MVd3和后向运动矢量MVe3,所以在直接方式被选择的情况下,就不需要发送对象块的运动矢量的信息。
当在块BLb3被编码时所参照的画面P13已经从参照画面存储器117中删除的情况下,将在时间上最接近的前向参照画面P10用作直接方式中的前向参照画面即可。此情况下的直接方式中的处理,与图4(a)所示的直接方式的处理(第1例)相同。
[直接方式编码的第4例]
接着,说明使用直接方式的编码处理的第4例。
图5(b)表示以直接方式对画面(对象画面)B11的块(对象块)BLa4进行编码的处理的第4例。
在此情况下,对于对象块BLa4,基于作为前向参照画面所选择的最接近的画面P10和作为后向参照画面的画面P13,实施运动矢量为0的双向预测处理。即对块BLa4进行编码时使用的运动矢量MVf4、MVh4是表示画面P10的与对象块BLa4相对相同位置的区域(块)CRf4的运动矢量,及表示画面P13的与对象块BLa4相对相同位置的区域(块)CRh4的运动矢量。
如上所述,在图5(b)所示的直接方式编码中,将对象块的运动矢量强制地设置为0。因此,在直接方式被选择的情况下,则没有必要发送对象块的运动矢量的信息,并且不需要运动矢量的定标处理,能够获得信号处理量的削减。此方法也能够应用于,例如,作为画面B11的后向参照画面的画面P13中的处于与块BLa4相同位置的块是,比如,被帧内编码的块那样没有运动矢量的块这样的情况。从而,即使在后向参照画面中的处于与对象块相同位置的块没有运动矢量而进行编码的情况下,也能够使用直接方式而使编码效率提高。
上述的直接方式的处理(第1~第4例),不仅可应用于画面的显示时间的间隔为固定的情况,也可应用于画面的显示时间的间隔为可变的情况。
[直接方式编码的第5例]
接着,将画面的显示时间的间隔可变的情况的直接方式下的预测编码处理作为使用直接方式的编码处理的第5例进行说明。
图6(a)是说明使用直接方式的编码处理的第5例的图,表示将直接方式下的预测编码处理作为第2例应用于画面的显示间隔可变的情况下的处理。
在此情况下,对于对象画面B11的对象块BLa5的双向预测编码处理,利用处于画面B11的后方的作为参照画面的画面(基准画面)P13中的、处于与对象块BLa5相同位置的块(对象块)BLb5的运动矢量(基准运动矢量)MVf5,与图4(b)所示的直接方式下的预测编码处理(第2例)同样地进行。运动矢量MVf5是对画面P13的块BLb5进行编码时所使用的运动矢量,表示画面P7的对应块BLb5的区域CRf5。另外,对应于对象块的运动矢量MVg5、MVh5与运动矢量MVf5平行。另外这些运动矢量MVg5、MVh5分别是表示画面P10的对应块BLa5的区域CRg5的前向运动矢量及表示画面P13的对应块BLa5的区域CRh5的后向运动矢量。
还有,在此情况下,运动矢量MVg5、MVh5的大小MVF、MVB也与直接方式下的处理(第2例)一样,能够分别由公式(1)、(2)求出。
[跳越特定块的处理]
接着,对在直接方式下的编码处理中,将特定的块作为跳越块进行处理的情况进行说明。
当在直接方式下的编码处理中,在对应对象块的差分数据为0的情况下,在预测误差编码单元103中,对应于该对象块的编码数据不会被生成,从位流生成单元104不输出对应对象块的位流。这样差分数据为0的块,作为跳越块进行处理。
下面,具体地说明将特定的块作为跳越块进行处理的情况。
图6(b)表示作为运动画面的组成部分的特定的画面F。
在此画面F中,在邻接的块MB(r-1)~MB(r+3)中对应块MB(r-1)、MB(r)以及MB(r+3)的差分数据(预测误差数据)的值为非0的值,对应位于块MB(r)和块MB(r+3)之间的块MB(r+1)和块MB(r+2)的差分数据(预测误差数据)的值为0。
在此情况下,在直接方式下,块MB(r+1)和块MB(r+2)作为跳越块进行处理,在对应运动画面的位流Bs中,不包含对应于块MB(r+1)和块MB(r+2)的位流。
图6(c)是用于说明将块MB(r+1)和块MB(r+2)作为跳越块进行处理的情况下的流结构的图,其中示出对应于位流Bs的块MB(r)和块MB(r+3)的部分。
在对应于块MB(r)的位流Bmb(r)和对应于块MB(r+3)的位流Bmb(r+3)之间,配置表示在这些块之间有两个作为跳越块被处理的块的跳越标识符Sf(Sk:2)。另外,在对应于块MB(r-1)的位流Bmb(r-1)和对应于块MB(r)的位流Bmb(r)之间,配置表示在这些块之间没有作为跳越块被处理的块的跳越标识符Sf(Sk:0)。
对应于块MB(r)的位流Bmb(r),由标题部Hmb和数据部Dmb构成,在数据部Dmb中,包含对应于该块的被编码的图像数据。另外,在标题部Hmb中,包含表示宏块类型,也就是此块是以怎样的编码方式被编码的方式标志Fm;表示在编码时所参照的画面的参照画面信息Rp;以及表示在编码时所使用的运动矢量的信息Bmvf、Bmvb。此块MB(R)通过双向预测编码处理进行编码,并且表示运动矢量的信息Bmvf、Bmvb,分别表示在双向预测处理中所使用的前向运动矢量、后向运动矢量的值。另外,对应于块MB(r+3)的位流Bmb(r+3)等对应其他的块的位流,也具有与对应于块MB(r)的位流Bmb(r)相同的结构。
如上所述,通过在直接方式下,将差分数据为0的块作为跳越块进行处理,也就是在位流中也包含方式信息并跳越对应于该块的信息,代码量的削减就成为可能。
块是否被跳越,可从配置于各块的位流的紧靠前的跳越标识符Sf进行检测。此外,块是否被跳越,也可以由记述于对应各块的位流中的块的索引信息等得知。
另外,在图4(a)所示的直接方式下的处理例(第1例)、图4(b)所示的直接方式下的处理例(第2例)、图5(a)所示的直接方式下的处理例(第3例)中,也可以不是将差分数据为0的块全部作为跳越块来进行处理,而是将相对对象画面在时间上位于紧靠前的画面用作前向参照画面,且使用大小为0的运动矢量来对于对象块进行双向预测,仅在对象块的差分数据为0的情况下,将该对象块作为跳越块来进行处理。
另外,对于对象块的编码方式的选择,一般是要使对应于预定的位的数量的编码误差为最小。由方式选择单元109所确定的编码方式被输出到位流生成单元104。另外,基于由方式选择单元109所确定的编码方式而从参照画面所得到的预测数据,被输出到差分运算单元102和加法运算单元106。但是,在画面内编码被选择的情况下,无预测数据输出。另外,在方式选择单元109选择画面内编码的情况下,通过对开关111进行控制使输入端子Ta连接到输出端子Tb1,通过对开关112进行控制使输出端子Td连接到输入端子Tc1。在选择画面间预测编码的情况下,通过对开关111进行控制使输入端子Ta连接到输出端子Tb2,通过度开关112进行控制使输出端子Td连接到输入端子Tc2。
下面,对由方式选择单元109选择画面间预测编码的情况下的运动画面编码装置10的动作进行说明。
差分运算单元102接收从方式选择单元109输入的预测数据Pd。差分运算单元102,计算对应于画面B11的块的图像数据和预测数据的差分数据,将该差分数据作为预测误差数据PEd进行输出。预测误差数据PEd被输入到预测误差编码单元103。预测误差编码单元103通过对所输入的预测误差数据PEd实施频率变换和量化等编码处理生成编码数据Ed。从预测误差编码单元103输出的编码数据Ed,被输入到位流生成单元104和预测误差解码单元105。
位流生成单元104,对所输入的编码数据Ed,实施可变长编码等,进而通过附加运动矢量和编码方式等的信息生成位流Bs,并输出该位流Bs。此时,在编码方式是进行前向参照编码方式的情况下,用于识别参照画面P7、B9、P10中的哪一个检测前向运动矢量的信息(参照画面信息)Rp也被附加到位流Bs中。
接着,使用图3对画面B11被编码的过程中的参照画面存储器的管理方法和参照画面信息的赋予方法进行说明。
当画面B11的编码开始时,在参照画面存储器117中存储有画面P4、P7、P10、P13、B9。画面B11将画面P7、B9、P10用作前向参照的候补画面,将画面P13用作后向参照的候补画面来进行双向预测编码。已编码的画面B11,存储于已经存储了画面P4的存储区域(#2),因为画面P4在画面B11以后的画面的编码处理中,不作为参照画面使用。
在此画面B11被编码的过程中,作为附加用于识别对于对象块的前向运动矢量参照画面P7、B9、P10中的哪一个的信息(参照画面信息)的方法,使用从在时间上距对象画面(画面B11)最近的参照候补画面开始按顺序赋予索引的方法。参照候补画面,是在对对象画面进行编码时可作为参照画面进行选择的画面。
具体来讲,就是对画面P10赋予参照画面索引[0],对画面B9赋予参照画面索引[1],而对画面P7赋予参照画面索引[2]。
从而,当在进行对对象画面进行编码时参照了画面P10的情况下,参照画面索引[0]作为表示参照了对象画面紧前方的候补画面的信息被记述于对应于对象块的位流中。同样地,在参照了画面B9的情况下,参照画面索引[1]作为表示参照了对象画面2张前的候补画面的信息,被记述于对于对象块的位流中。在参照了画面P7的情况下,参照画面索引[2]作为表示参照了对象画面3张前的候补画面的信息被记述于对应于对象块的位流中。
对于参照画面[0]、[1]、[2]的代码的赋予,是按照索引的值越小,代码长度就越短这样的方式来进行的。
一般,候补画面被用作参照画面的概率,距对象画面在时间上越近的候补画面就越高。从而,通过以这样的方式来赋予代码,就能够减小表达检测对象块的运动矢量时是参照哪一个候补画面的各代码的整体代码量。
预测误差解码单元105,对于相应于所输入的对象块的编码数据,实施逆量化和逆频率变换等的解码处理,生成并输出对象块的解码差分数据PDd。解码差分数据PDd由加法运算单元106与预测数据Pd相加,由此相加所得到的对象块的解码数据Dd被存储到参照画面存储器117。
通过与上述同样的处理,对画面B11的剩余块进行编码处理。当画面B11的全部块的处理结束后,接着进行画面B12的编码处理。
<画面B12的编码处理>
接着,对画面B12的编码处理进行说明。
由于画面B12是B画面,所以对画面B12中的对象块的画面间预测编码,是参照相对对象画面在时间上位于前方或者后方的2个已编码画面进行的双向画面间预测编码。
下面,就作为画面B12的编码处理进行使用了双向参照的画面间预测编码的情况进行说明。从而,在此情况下,作为前向参照画面的候补画面,使用相对对象画面按显示时间顺序接近的2个画面(I或P画面),或者相对对象画面按显示时间顺序最接近的B画面。另外,作为后向参照画面,使用相对对象画面按显示时间顺序最接近的I或者P画面。从而,在此情况下,对于画面B12的参照候补画面,就是画面P7、P10、B11(前向画面)以及画面P13(后向画面)。
当对预备在其他画面被编码时,被用作参照画面的B画面进行编码时,编码控制单元110,控制各开关使开关113、114、115成为接通状态。由于画面B12在其他画面被编码时被用作参照画面,所以编码控制单元110,控制各开关使开关113、114、115成为接通状态。从而,从参照画面存储器101读出的、对应于画面B12的块的图像数据,被输入到运动矢量检测单元108、方式选择单元109和差分运算单元102。
运动矢量检测单元108,将存储在参照画面存储器117中的画面P7、P10、B11,用作前向参照的候补画面,将存储在参照画面存储器117中的画面P13用作后向参照画面,进行对应于画面B12的对象块的前向运动矢量和后向运动矢量的检测。
所检测出的运动矢量,被输出到方式选择单元109。
方式选择单元109,使用由运动矢量检测单元108所检测到的运动矢量,确定画面B12的对象块的编码方式。在此场合,作为对B画面B12的编码方式,从画面内编码、使用前向运动矢量的画面间预测编码、使用后向运动矢量的画面间预测编码、使用双向运动矢量的画面间预测编码,以及直接方式中进行选择。在编码方式为使用前向运动矢量的画面间预测编码的情况下,从画面P7、P10、B11中选择最适当的画面作为参照画面。
下面,说明以直接方式对画面B12的块进行编码处理。
[直接方式编码的第1例]
图7(a)表示以直接方式对画面(对象画面)B12的块(对象块)BLa5进行编码的情况。此直接方式编码利用画面B12的后方的作为参照画面的画面(基准画面)P13中的、处于与对象块BLa5相同位置的块(基准块)BLb5的运动矢量(基准运动矢量)MVc5。运动矢量MVc5是块BLb5被编码时所使用的运动矢量,并且被存储在运动矢量存储单元116中。此运动矢量MVc5,表示画面P10相对应的块BLb5的区域CRc5。对块BLa5,使用与运动矢量MVc5平行的运动矢量,基于作为块BLa5的参照画面的画面B11、P13,实施双向预测编码处理。对块BLa5进行编码时使用的运动矢量是表示画面B11中的对应块BLa5的区域CRd5的运动矢量MVd5,及表示画面P13中的对应块BLa5的区域CRe5的运动矢量MVe5。运动矢量MVd5、MVe5的大小MVF、MVB,可分别由上述公式(1)、(2)求出。
[直接方式编码的第2例]
接着,说明使用直接方式的编码处理的第2例。
图7(b)表示以直接方式对画面(对象画面)B12的块(对象块)BLa6进行编码的情况。此直接方式编码利用处于画面B12的后方的作为参照画面的画面(基准画面)P13中的、处于与对象块BLa6相同位置的块(基准块)BLb6的运动矢量(基准运动矢量)MVf6。运动矢量MVc6是块BLb6被编码时所使用的运动矢量,并且被存储在运动矢量存储单元116中。此运动矢量MVf6,表示画面P7对应于块BLb6的区域CRf6。对块BLa6,使用与运动矢量MVc6平行的运动矢量,基于作为参照画面的画面B11和画面P13,实施双向预测编码处理。对块BLa6进行编码时使用的运动矢量是表示是表示画面B11的对应块BLa6的区域CRg6的运动矢量MVg6,以及表示画面P13的对应块BLa6的区域CRh6的运动矢量MVh6。运动矢量MVg6和MVh6的大小MVF和MVB,可分别由上述公式(1)、(2)求出。
如上所述,在直接方式中,对在对象块BLa6被编码时用作后向参照的画面的、位于与该对象块相对地相同的位置的BLb6的运动矢量MVf6进行定标,从而求出对于对象块的前向运动矢量MVg6和后向运动矢量MVh6。所以,在直接方式被选择的情况下,就不需要发送对象块的运动矢量的信息。而且,由于作为前向参照画面,使用距对象画面按显示时间顺序位置最接近的已编码画面,故能够使预测效率提高。
[直接方式编码的第3例]
接着,说明使用直接方式的编码处理的第3例。
图8(a)表示以直接方式对画面(对象画面)B12中的块(对象块)BLa7进行编码处理的第3例。
此直接方式编码利用处于画面B12的后向的作为参照画面的画面(基准画面)P13中的、处于与块BLa7相同位置的块(基准块)BLb7的运动矢量(基准运动矢量)MVc7。运动矢量MVc7是在块BLb7被编码时所使用的运动矢量,并存储于运动矢量存储单元116中。此运动矢量MVc7,表示画面P7中的对应块BLb7的区域CRc7。对块BLa7,使用与运动矢量MVc7平行的运动矢量,将与块BLb7被编码时所参照的画面相同的画面(即画面P7)作为前向参照画面,将画面P13作为后向参照画面,实施双向预测编码处理。对块BLa7进行编码时使用的运动矢量是,表示画面P7的对应块BLa7的区域CRd7的运动矢量MVd7及表示画面P13的对应块BLa7的区域CRe7的运动矢量MVe7。
上述运动矢量MVd7及MVe7的大小MVF、MVB,可分别由上述公式(2)、(3)求出。
当在块BLb7被编码时所参照的画面已经从参照画面存储器117删除的情况下,可将在时间上最接近的前向参照画面用作直接方式中的前向参照画面。此情况下的直接方式编码,与直接方式编码的第1例相同。
如上所述,在图8(a)所示的直接方式编码中,对在对象块被编码时用作后向参照的画面的,位于与该对象块相对地相同的位置的块BLb7的运动矢量MVf7进行定标,从而求出对应于对象块的前向运动矢量MVd7和后向运动矢量MVe7。所以,在直接方式被选择的情况下,就不需要发送对象块的运动矢量的信息。
[直接方式编码的第4例]
接着,说明使用直接方式的编码处理的第4例。
图8(b)表示以直接方式对画面(对象画面)B12的块(对象块)BLa8进行编码的处理的第4例。
在此情况下,对于对象块BLa8,基于作为前向参照画面所选择的最接近的画面P10和作为后向参照画面的画面P13,实施运动矢量为0的双向预测处理。即,对块BLa8进行编码时使用的运动矢量MVf8、MVh8分别是表示画面P11中的与对象块BLa8相对地相同位置的区域(块)CRf8的运动矢量及表示画面P13中的与对象块BLa8相对地相同位置的区域(块)CRh8的运动矢量。
如上所述,在图8(b)所示的直接方式编码中,将对象块的运动矢量强制地设置为0。因此,在直接方式被选择的情况下,则没有必要发送对象块的运动矢量的信息,并且不需要运动矢量的定标处理,能够获得信号处理量的削减。此方法也能够应用于,例如,作为画面B12的后向参照画面的画面P13中的处于与块BLa8相同位置的块是,比如,被帧内编码的块那样没有运动矢量的块这样的情况。从而,即使对于在后向参照画面中处于与对象块相同位置的块没有运动矢量地进行编码的情况下,也能够使用直接方式而使编码效率提高。
上述的画面B12的直接方式下的处理(第1~第4例),不仅可应用于画面的显示顺序的间隔为固定的情况,也可应用于画面的显示顺序的间隔为可变的情况,如图6(a)所示的画面B11的情况。
另外,在画面B12的直接方式下的编码处理中,与画面B11的直接方式下的编码处理同样,在对应于对象块的差分数据为0的情况下,预测误差编码单元103不生成对应于该对象块的编码数据,从位流生成单元104不输出对应于对象块的位流。这样,差分数据为0的块,与图6(b)、图6(c)所示的画面B11的情况一样,作为跳越块进行处理。
另外,在图7(a)所示的直接方式下的处理例(第1例)、图7(b)所示的直接方式下的处理例(第2例)、图8(a)所示的直接方式下的处理例(第3例)中,也可以不是将差分数据为0的块全部作为跳越块来进行处理。就是说,是将相对对象画面在时间上位于紧靠前的画面用作前向参照画面,并使用大小为0的运动矢量来进行对于对象块的双向预测,并且仅在对象块的差分数据为0的情况下,将该对象块作为跳越块来进行处理。
当由方式选择单元109确定对于画面B12的对象块的编码方式时,与画面B11的对象块的编码处理一样,对于对象块生成预测数据PEd,该预测数据PEd被输出到差分运算单元102和加法运算单元106。但是,在画面内编码被选择的情况下,从方式选择单元109不输出预测数据。另外,对各开关111、112的控制是依照由方式选择单元109选择画面内编码和画面间编码的哪一个作为编码方式来进行,与画面B11的编码情况的控制一样。
下面,对于对画面P12被编码时由方式选择单元109选择了画面间预测编码的情况下的运动画面编码装置10的动作进行说明。
在此情况下,差分运算单元102、预测误差编码单元103、位流生成单元104、预测误差解码单元105、加法运算单元106以及参照画面存储器117,与在画面P11被编码时由方式选择单元109选择了画面间预测编码的情况一样地进行动作。
但是,在此情况下,由于前向参照的候补画面与画面P11的编码的情况不同,所以在对于对象块的编码方式是进行前向参照的编码方式时,附加于对象块的位流的参照画面信息成为用于识别前向运动矢量是参照画面P7、P10、B11的哪一个的信息。
另外,对画面B12进行被编码时的、参照画面存储器管理方法和参照画面信息的赋予方法,与图3所示的对画面B11进行被编码时的方法完全一样。
如上所述,在本发明的实施方式1中,在对B画面(对象画面)进行编码时,作为前向参照的候补画面,除P画面以外还使用B画面。所以,作为对于对象B画面的参照画面,使用位于该B画面的最接近的前向画面就成为可能,从而能够提高B画面的运动补偿的预测精度,能够获得编码效率的提高。
在实施方式1中,在P画面被编码的过程中不使用B画面作为参照画面。因此,即使在解码当中产生了错误的情况下,也能够通过从产生了解码错误的画面的下一个I或者P画面重新开始解码,完全地进行从错误中的恢复。但是,即使在P画面被编码的过程中将B画面用作参照画面,由本实施方式所取得的其他的效果也不会改变。
另外,由于在B画面解码中将前向参照的候补画面设为2张P画面和1张B画面,所以当与现有将对于B画面的前向参照的候补设为3张P画面的情况比较时,在对于B画面的前向参照的候补画面的数量上没有变化。因此,可以避免由于在对于B画面的前向参照的候补画面中包含B画面而导致的、存储参照候补画面的参照画面存储器的容量增大和运动检测的处理量的增大。
另外,在本实施方式1中,把表示对B画面参照前向B画面实施画面间预测编码处理的信息,以及表示在该前向参照时是参照几张I或者P画面和几张B画面的信息,记述为将要生成的位流的标题信息。因此,就能够了解在对由运动画面编码装置所生成的位流进行解码时,需要何种容量的参照画面存储器。
另外,在位流中附加运动矢量和编码方式等信息时,在编码方式是进行前向参照的编码方式的情况下,在位流中附加对作为前向参照的候补画面所赋予的、用于识别参照画面的参照画面信息,并且进而依照参照画面用的参照画面存储器的管理方法,对距对象画面在时间上最近的候补画面所赋予的参照画面信息,用较短的代码长度进行表示。所以,就能够减小表达参照画面信息的代码的整体的代码量。另外,在参照画面存储器的管理中,例如由于与画面的种类没有关系地对参照画面存储器进行管理,故能够使参照画面存储器量最小。
另外,在此实施方式1中,通过分离P画面的区域和B画面的区域来进行参照画面用参照画面存储器的管理,参照画面存储器的管理就变得简易。
另外,在以直接方式对B画面的块进行编码时,作为前向参照画面使用相对该B画面按时间显示顺序最接近的画面,由此就能够使对于B画面在直接方式下的预测效率提高。
另外,在以直接方式对B画面的块进行编码时,作为前向参照画面使用在后向参照画面被编码时被前向参照的画面,由此就能够使对于B画面在直接方式下的预测效率提高。
另外,在以直接方式对B画面的块进行编码时,基于前向参照画面和后向参照画面进行将运动矢量设为0的双向预测,所以就不需要直接方式下的运动矢量的定标处理,能够获得信息处理量的削减。此时,即使在处于与后向参照画面中的对象块相同位置的块在没有运动矢量的情况下进行编码,也能够使用直接方式使编码效率提高。
另外,在以直接方式对B画面的块进行编码时,如果对于对象块的预测误差为0,在位流中不记述关于该对象块的信息,所以代码量的削减就成为可能。
在此实施方式1中,运动补偿是以每一个由水平16个像素×垂直16个像素组成的图像空间(宏块)为单位,而预测误差图像的编码是以每一个由水平8个像素×垂直8个像素组成的图像空间(子块)为单位进行处理的。但运动补偿(预测误差图像的编码)中的每一个宏块(子块)的像素数也可以与上述实施方式1所示的不同。
另外,尽管在此实施方式1中,以连续的B画面的张数为2张的情况为例进行了说明,但连续的B画面的张数也可以大于等于3张。
例如,位于I画面和P画面之间,或者在2张P画面之间的B画面的张数,也可以是3张或者4张。
另外,在此实施方式1中,对P画面的编码方式是从画面内编码、使用了运动矢量的画面间预测编码、以及不使用运动矢量的画面间预测编码进行选择,而B画面的编码方式是从画面内编码、使用了前向运动矢量的画面间预测编码、使用了后向运动矢量的画面间预测编码、使用了双向运动矢量的画面间预测编码,以及直接方式之中进行选择。但是,P画面或者B画面的编码方式也可以是上述实施方式1所示以外的方式。
例如,在作为B画面的编码方式不使用直接方式的情况下,就不需要运动画面编码装置10中的运动矢量存储单元116。
另外,尽管在此实施方式1中,作为B画面的画面B11(B12)是在对其他画面进行编码时的参照画面的候补画面,但在其他画面被编码时不用B画面作为参照画面时,就没有必要存储在参照画面存储器117中。在此情况下,编码控制单元110使开关114、115断开。
另外,尽管在此实施方式1中,对P画面被编码的过程中使用的前向参照的候补画面的数量为3,但并不限于此。例如,在P画面被编码的过程中,也可以使用2张或者大于等于4张的画面作为前向参照的候补画面。
另外,尽管在此实施方式1中,对B画面被编码的过程中使用的前向参照的候补画面为2个P画面和1个B画面,但B画面被编码的过程中的前向参照的候补画面并不限于上述实施方式1的情况。
例如,在B画面被编码的过程中,也可以使用1个P画面和2个B画面,2个P画面和2个B画面,以及不管画面类型的在时间上最接近的3个画面作为前向参照的候补画面。另外,也可以不是将在显示时间轴上最接近的B画面,而是将在显示时间轴上离开对象画面的B画面作为参照的候补画面来使用。
另外,当在在B画面的块进行编码时,参照1张后向画面,仅将最接近对象画面的一个画面作为前向参照的候补画面的情况下,表示对象块是参照哪一个画面进行编码的信息(参照画面信息)就没有必要记述在位流中。
另外,在此实施方式1中,在对B画面进行编码时,参照位于在对象画面的最接近的前向P画面的更前方的B画面。但在B画面被编码时,不必参照位于在对象画面的最接近的前向I或者P画面的更前方的B画面。此时,在对所生成的位流进行解码时,即使在解码当中产生错误,也能够通过从产生解码错误的画面的下一个I或者P画面重新开始解码,可完全地进行从错误的恢复。
例如,图9(a)和图9(b)是表示在B画面被编码时,参照位于在对象画面的最接近的前向P画面的更前方的B画面的情况的图。
图9(a)表示画面排列和B画面与参照画面的关系的一例。具体说来,在图9(a)中表示位于邻接的P画面之间的B画面的张数为2张,对于B画面的前向参照画面(也就是在B画面被编码时所参照的画面)的候补画面为1个P画面和2个B画面的情况。
图9(b)表示画面排列和B画面与参照画面的关系的另一例。具体说来,在图9(b)中表示位于P画面之间的B画面的张数为4张,对于B画面的前向参照画面的候补画面为与画面类型没有关系地在时间上位于对象画面的最接近的2个画面的情况。
图10(a)和图10(b)表示在B画面被编码时,不参照最接近的前向I或者P画面的更前方的B画面的情况。
具体说来,在图10(a)中,表示位于P画面之间的B画面的张数为2张,对于B画面的前向参照画面的候补画面为1个P画面和1个B画面,位于在对象画面的最接近的前向P画面的更前方的B画面不作为上述前向参照画面的候补画面的情况。
在图10(b)中,表示位于P画面之间的B画面的张数为4张,对于B画面的前向参照画面的候补画面为1个P画面和1个B画面,位于在对象画面的最接近的前向P画面的更前方的B画面不作为上述前向参照画面的候补画面的情况。
另外,在此实施方式1中,对于P画面使用的参照候补画面的数量为3,对于B画面使用的前向参照的候补画面为2个P画面和1个B画面,即在P画面被编码时可参照的画面数和在B画面被编码时可前向参照的画面数相同,但在B画面被编码时可前向参照的画面数也可以比在P画面被编码时可参照的画面数少。
另外,在此实施方式1中,作为直接方式的编码处理的例子,对4个方法进行了说明,但在直接方式中可以使用这些方法中的一个,也可以使用4个方法中的多个。但在使用多个方法的情况下,最好将表示使用哪一个直接方式的信息(DM方式信息)记述在位流中。
例如,在遍及序列整体使用一个方法的情况下,将DM方式信息记述于序列整体的标题中。在对每个画面选择一个方法的情况下,将DM方式信息记述于该画面的标题中。在对每一个块选择一个方法的情况下,将DM方式信息记述于块的标题中。
尽管作为选择上述直接方式下的编码方法的单位,是画面或块,但也可以是由多个画面组成的GOP(Group of pictures)、由多个块组成的GOB(Group of blocks)、分割画面的像条等。
另外,尽管在此实施方式1中,作为参照画面存储器的管理方法,是参照图3进行说明的,但参照画面存储器的管理方法并不限于图3所示。
下面,对其他的参照画面存储器的管理方法进行说明。
首先,对将作为参照画面所使用的全部画面分割成P画面和B画面进行管理的情况下的第1例,参照图11进行说明。
在此情况下,设参照画面存储器117,作为存储区域,具有P画面存储区域(#1)~(#4)、B画面存储区域(#1)、(#2)合计6个画面量的区域。各画面的存储单元,并不限于一个参照画面存储器内的区域,也可以是一个存储器。
当画面P13的编码开始时,在参照画面存储器117的P画面存储区域(#1)~(#4)中分别存储有画面P1、P4、P7、P10,并且在该B画面存储区域(#1)、(#2)中分别存储有画面B8、B9。画面P13将画面P4、P7、P10用作参照画面的候补画面来进行编码,并在存储了画面P1的区域(#1)中存储已编码的画面P13,因为画面P1在画面P13及其以后的画面被编码时不会被用作参照画面。
在此情况下,将参照画面信息赋予作为候补画面的画面P4、P7、P10的方法,与图3所示的方法同样地对相对对象画面在时间上越近的候补画面赋予值越小的参照画面索引。
具体说来,对距对象画面最靠近的前向候补画面赋予参照画面索引[0],对距对象画面第2靠近的候补画面赋予参照画面索引[1],而对距对象画面最远的候补画面赋予参照画面索引[2]。
在图11中,对被用作后向参照画面的画面,作为参照画面信息赋予符号[b],在对对象画面及其以后的画面进行编码时,对不用作参照画面的画面,赋予符号[n]。
接着,对将作为参照画面使用的全部画面分成为P画面和B画面进行管理的情况下的第2例,参照图12进行说明。
由于此第2例中的存储器管理,与图11所示的第1例相同,故省略其说明。
在此第2例中,作为参照画面索引的赋予方法,使用使存储在P画面存储区域中的画面优先进行索引赋予的方法。但由于在画面P13被编码的过程中,B画面不被用作参照画面,故不对B画面进行索引赋予。从而,对画面P10赋予参照画面索引[0],对画面P7赋予参照画面索引[1],对画面P4赋予参照画面索引[2]。
接着,对将作为参照画面所使用的全部画面分成为P画面和B画面进行管理的情况下的第3例,参照图13进行说明。
由于此第3例中的存储器管理,与图11所示的第1例相同,故省略其说明。
在此第3例中,作为参照画面索引的赋予方法,使用使存储在B画面存储区域中的画面优先进行索引赋予的方法。但由于在画面P13被编码的过程中,B画面不被用作参照画面,故不对B画面进行索引赋予。从而,对画面P10赋予参照画面索引[0],对画面P7赋予参照画面索引[1],对画面P4赋予参照画面索引[2]。
接着,对将作为参照画面所使用的全部画面分成为P画面和B画面进行管理的情况下的第4例,参照图14进行说明。
由于此第4例中的存储器管理,与图11所示的第1例相同,故省略其说明。
在此第4例中,作为参照画面信息的赋予方法,使用对进行编码的每个画面,确定是使在P画面存储区域和B画面存储区域的哪一个之中所存储的画面优先,来赋予参照画面索引的方法。
具体来讲,例如,根据距对象画面在时间上最靠近的参照画面的种类,来确定应该使在P画面存储区域和B画面存储区域的哪一个存储区域中所存储的画面优先进行索引赋予。
在画面P13被编码的过程中,由于B画面不被用作参照画面,故使在P画面存储区域中所存储的画面优先进行索引赋予。从而,对画面P10赋予参照画面索引[0],对画面P7赋予参照画面索引[1],对画面P4赋予参照画面索引[2]。在此情况下,将表示使P画面存储区域的画面优先进行参照画面索引的赋予的信息,记述在画面的标题中。
在上述图3和图11~图14所示的参照画面索引的赋予方法中,参照画面索引的值越小,表示参照画面索引的代码的代码长度就越短。一般由于相对对象画面在时间上越靠近的画面被用作参照画面的概率越高,故通过这样确定表示参照画面索引的代码的代码长度,就能够减小表达参照画面索引的代码的整体的代码的数量。
尽管关于参照画面存储器的管理方法、和参照画面索引的赋予方法,示出了图3、图11~图14所示的5个方法,但也可以预先选择使用这5个方法中的任何一个。也可以切换使用这5个方法中的多个方法。但在切换使用多个方法的情况下,最好将使用哪一个方法之类的信息作为标题信息等等来进行记述。
另外,通过作为标题信息,记述表示P画面使用3个参照候补画面来进行画面间预测编码的信息,就能够了解在对由本实施方式1的运动画面编码装置10所生成的位流Bs进行解码时,需要何种容量的参照画面存储器。这些标题信息也可以记述于序列整体的标题中,也可以记述于包括多个画面的每个GOP(Group of pictures)的标题,或者每个画面的标题中。
下面,对作为画面B11被编码时使用的参照画面存储器的管理方法和参照画面信息的赋予方法的图3所示的方法以外的方法(将参照候补画面分成为P画面和B画面进行管理的方法)进行说明。
首先,使用图11,对将参照候补画面分成为P画面的B画面进行管理的第1例予以说明。
当画面B11的编码开始时,在参照画面存储器117中,画面P4、P7、P10、P13存储于P画面存储区域,B8、B9存储于B画面存储区域。然后画面B11将画面P7、B9、P10用作前向参照的候补画面,将画面P13用作后向参照的候补画面来进行编码。已编码的画面B11,存储于存储了画面P8的存储区域,因为画面B8在画面B11及其以后的画面被编码的过程中,不作为参照画面使用。
在此情况下,作为将参照画面信息(也就是用于表示在检测前向运动矢量时是使用参照画面P7、B9、P10中的哪一个参照候补画面的信息)赋予各画面的方法,与图3所示的赋予方法的例子同样地使用从在时间上距对象画面最近的开始按顺序对参照候补画面赋予索引的方法。
也就是,对对象画面(画面B11)紧前方的候补画面(画面P10)赋予参照画面索引[0],对对象画面2张前的候补画面(画面B9)赋予参照画面索引[1],而对对象画面3张前的候补画面(画面P7)赋予参照画面索引[2]。
接着,使用图12对在画面B11被编码时,将参照候补画面分成为P画面和B画面进行管理的第2例予以说明。
由于在此第2例中,存储器管理与图11中所说明的第1例相同,故省略其说明。
在此第2例中,作为参照画面索引的赋予方法,使用使存储在P画面存储区域中的画面优先进行索引赋予的方法。从而,对画面P10赋予参照画面索引[0],对画面P7赋予参照画面索引[1],对画面B9赋予参照画面索引[2]。
接着,使用图13对在画面B11被编码时,将参照候补画面分成为P画面和B画面进行管理的第3例予以说明。
由于在此第3例中,存储器管理与图11中所说明的第1例相同,故省略其说明。
在此第3例中,作为参照画面索引的赋予方法,使用使存储在B画面存储区域中的画面优先进行索引赋予的方法。从而,对画面B9赋予参照画面索引[0],对画面P10赋予参照画面索引[1],对画面P7赋予参照画面索引[2]。
接着,使用图14对在画面B11被编码时,将参照候补画面分成为P画面和B画面进行管理的第4例予以说明。
由于在此第4例中,存储器管理与图11中所说明的第1例相同,故省略其说明。
在此第4例中,作为参照画面索引的赋予方法,使用对进行编码的每个画面确定是使在P画面存储区域和B画面存储区域的哪一个区域中所存储的画面优先,来赋予参照画面信息的方法。
具体来讲,是根据相对成为编码对象的对象画面在时间上最靠近的参照候补画面的种类,来确定是对哪一个存储器优先进行索引赋予。
在画面B11被编码的过程中,由于相对对象画面在时间上最靠近的前向参照画面是画面P10,故对在P画面存储区域中所存储的画面优先进行索引赋予。
从而,对画面P10赋予参照画面索引[0],对画面P7赋予参照画面索引[1],对画面B9赋予参照画面索引[2]。在此情况下,将表示使P画面存储区域的画面优先进行参照画面索引的赋予的信息,记述在画面的标题中。
在画面B11被编码时对参照画面索引进行赋予的方法(图3、图11~图14所示的5个方法)中,与画面P13的编码的情况一样,参照画面索引的值越小,表示参照画面索引的代码的代码长度就越短。
另外,在B画面B11被编码的过程中,与P画面P13的编码的情况一样,也可以预先选择使用上述5个方法中的任何一个。也可以切换使用这5个方法中的多个方法。但在切换使用多个方法的情况下,最好将应该使用哪一个方法之类的信息等等作为标题信息来进行记述。
另外,通过作为标题信息,记述表示B画面将前向B画面用作参照候补画面来实施画面间预测编码处理,以及在B画面被编码时使用的前向参照的候补画面是,2个I或者P画面和1个B画面的信息,就能够了解在对由本实施方式1的运动画面编码装置10所生成的位流进行解码时,需要具有何种存储容量的参照画面存储器。这些标题信息也可以记述于序列整体的标题中,也可以记述于包括多个画面的每个GOP(Group of pictures)的标题,或者每个画面的标题中。
最后,对作为画面B12被编码时应用的参照画面存储器的管理方法和参照画面信息的赋予方法的图3所示的方法以外的方法(即将参照候补画面分成为P画面和B画面进行管理的方法)进行说明。
由于图11~图13所示的第1例~第3例与画面B11的编码的情况相同,故省略其说明。
因此,关于画面B12,使用图14仅说明将参照候补画面分成为P画面和B画面进行管理的第4例。
在此第4例中,关于存储器管理,由于与在画面B11被编码时将参照候补画面分成为P画面和B画面进行管理的第1例相同,故省略其说明。
在此第4例中,关于将表示在检测前向运动矢量是参照候补画面P7、P10和B11的哪一个的信息赋予各画面的方法,应该使用对进行编码的每个画面,确定是使在P画面存储区域和B画面存储区域的哪一个区域中所存储的候补画面优先的方法。
具体来讲例如,在画面B12被编码的过程中,根据距对象画面在时间上最靠近的参照画面的种类,来确定是使P画面存储区域和B画面存储区域哪一个存储区域的候补画面优先进行参照索引赋予。
在画面B12被编码的过程中,由于距对象画面(画面B12)在时间上最靠近的前向参照的候补画面是画面B11,故对在B画面存储区域中所存储的画面优先进行索引赋予。
从而,对画面B11赋予参照画面索引[0],对画面P10赋予参照画面索引[1],对画面P7赋予参照画面索引[2]。在此情况下,将表示使B画面存储区域的画面优先进行参照画面索引的赋予的信息,记述在每个画面的标题中。
另外,作为标题信息,与对画面B11进行编码的情况一样,记述表示B画面也将前向B画面用作参照候补画面来实施画面间预测编码处理,以及在B画面被编码时使用的前向参照的候补画面是2个I或者P画面和1个B画面的信息。
另外,在此实施方式1中,就对于P画面的参照候补画面的数量为3,对于B画面的前向参照的候补画面为2个P画面和1个B画面的情况,说明了参照画面存储器的管理方法的5个例子(图3、图11~图14)。但是参照画面存储器的管理方法的5个例子也能够分别应用于参照候补画面的数量与实施方式1不同的情况。在参照候补画面的数量不同的情况下,参照画面存储器的容量与实施方式1不同。
另外,在此实施方式1中,在把参照候补画面区分成P画面和B画面对参照画面存储器进行管理的方法(图11~图14中所示的4个例子)中,将P画面存储到P画面存储区域,将B画面存储到B画面存储区域。但是在存储画面的存储单元中,也可以利用在H.263++中所定义的短期间画面存储器和长期间画面存储器。例如,分别存在有将短期间画面存储器作为P画面存储区域进行利用,将长期间画面存储器作为B画面存储区域进行利用的方法。
[实施方式2]
下面对本发明的实施方式2进行说明。
图15是说明利用本发明的实施方式2的运动画面解码装置用的框图。
运动画面解码装置20,对从实施方式1的运动画面编码装置10输出的位流Bs进行解码。
具体说来,此运动画面解码装置20具有分析上述位流Bs进行各种数据的抽取的位流分析单元201;对从该位流分析单元201输出的编码数据Ed进行解码并输出预测误差数据PDd的预测误差解码单元202;以及基于与由该位流分析单元201所抽取的方式选择有关的方式信息(编码方式)Ms输出开关控制信号Cs的方式解码单元223。
运动画面解码装置20还具有保持所解码的图像数据DId,将所存储的图像数据作为参照数据Rd或者输出图像数据Od进行输出的参照画面存储器207;基于从该参照画面存储器207读出的数据(参照图像数据)Rd、由上述位流分析单元201所抽取的运动矢量MV的信息以及来自上述方式解码单元223的编码方式Ms,生成预测数据Pd的运动补偿解码单元205;以及将上述预测数据Pd相加到上述预测误差解码单元202的输出数据PDd,生成解码数据Ad的加法运算单元208。
运动画面解码装置20还具有基于由上述位流分析单元201所抽取标题信息Ih,通过存储器控制信号Cm来控制参照画面存储器207的存储器控制单元204;设置在上述预测误差解码单元202与加法运算单元208之间的选择开关209;以及设置在该加法运算单元208与参照画面存储器207之间的选择开关210。
上述选择开关209,具有一个输入端子Te和两个输出端子Tf1和Tf2,依照上述开关控制信号Cs,该输入端子Te连接到上述两个输出端子Tf1、Tf2的一方。选择开关210,具有两个输入端子Tg1和Tg2和一个输出端子Th,依照上述开关控制信号Cs,该输出端子Th连接到上述两个输入端子Tg1、Tg2的一方。另外,通过上述选择开关209,对输入端子Te施加预测误差解码单元202的输出数据PDd,从一方的输出端子Tf1对选择开关210的输入端子Tg1输出上述预测误差解码单元202的输出数据PDd,从另一方的输出端子Tf2对加法运算单元208输出上述预测误差解码单元202的输出数据PDd。通过上述选择开关210,对一方的输入端子Tg1输入上述预测误差解码单元202的输出数据PDd,对另一方的输入端子Tg2输入加法运算单元208的输出数据Ad,从输出端子Th,该输出数据PDd和Ad的某一方作为解码图像数据DId被输出到参照画面存储器207。
另外,运动画面解码装置20具有保持来自运动补偿解码单元205的运动矢量MV,将所存储的运动矢量MV向上述运动补偿解码单元205进行输出的运动矢量存储单元226。
下面对运动画面解码装置20的动作进行说明。
在下面的说明中,相对待解码的对象画面在显示时间轴上位于前方或者后方的画面,是指相对对象画面在时间上处于前方或者后方的画面,或者也简单地叫做前向或者后向画面。
在图15所示的运动画面解码装置20中,输入由实施方式1的运动画面编码装置10所生成的位流Bs。在此实施方式2中,P画面的位流是参照相对P画面在时间上位于前方或者后方的近旁的3个候补画面(I或者P画面)所选择的1个来实施画面间预测编码而得到的。另外,B画面的位流是参照相对该B画面位于前方或者后方的4个候补画面(也就是在时间上处于最接近的前方的2个I或者P画面、在时间上处于最接近的1个B画面、和在时间上位于后方的I或者P画面)中所选择的2个来实施画面间预测编码而得到的。在对于作为处理对象的B画面的4个候补画面中包含相对该对象B画面在时间上处于前方的另一个B画面。
此外,P画面或者B画面是参照哪些候补画面进行编码,可以作为位流的标题信息来记述。从而,关于处理对象画面的编码是参照哪些画面来进行的就能够通过由位流分析单元201抽取该标题信息而得知。此标题信息Ih,也向存储器控制单元204输出。
在此情况下,与位流中的画面相对应的的编码数据,如图16(a)所示,按照编码顺序排列。
具体来讲,位流Bs中的画面的编码数据,按画面P4、B2、B3、P7、B5、B6、P10、B8、B9、P13、B11、B12、P16、B14、B15的顺序进行排列。换言之,此画面的排列,成为从表示解码时间Tdec的解码时间轴Y上解码时间早的开始按顺序对各画面进行了顺序排列(按解码顺序排列)。
图16(b),表示将按上述解码顺序所排列的画面,改排成按显示顺序的画面的排列。也就是,在图16(b)中,画面B2、B3、P4、B5、B6、P7、B8、B9、P10、B11、B12、P13、B14、B15、P16的排列,是从表示显示时间Tdis的显示时间轴X上显示时间顺序早的开始按顺序对各画面进行顺序排列(按显示顺序排列)。
下面,对画面P13、B11、B12的解码处理按此顺序进行说明。
<画面P13的解码处理>
画面P13的位流,输入到位流分析单元201。位流分析单元201进行从所输入位流抽取各种数据的处理。各种数据是:表示进行方式选择用的信息,即表示编码方式Ms的信息(下面也简称为编码方式);表示运动矢量MV的信息(下面也简称为运动矢量),标题信息、编码数据(图像数据)等。所抽取的编码方式Ms输出到方式解码单元203。另外,所抽取的运动矢量MV输出到运动补偿解码单元205。进而,由位流分析单元201所抽取的预测误差编码数据Ed输出到预测误差解码单元202。
方式解码单元203,基于从位流所抽取的编码方式Ms,进行开关209和210的切换控制。在编码方式表示画面内编码的情况下,对开关209进行控制以使输入端子Te连接到输出端子Tf1,并对开关210进行控制以使输出端子Th连接到输入端子Tg1。另外,在编码方式表示画面间预测编码的情况下,对开关209进行控制以使输入端子Te连接到输出端子Tf2,对开关210进行控制以使输出端子Th连接到输入端子Tg2。另外,方式解码单元203,将编码方式Ms输出到运动补偿解码单元205。
下面,对编码方式表示画面间预测编码的情况进行说明。
预测误差解码单元202,对所输入的编码数据Ed进行解码,生成预测误差数据PDd。所生成的预测误差数据PDd输出到开关209。在此情况下,由于开关209的输入端子Te连接到输出端子Tf2,所以预测误差数据PDd输出到加法运算单元208。
运动补偿解码单元205,基于由分析单元201所抽取的运动矢量MV和参照画面索引Rp进行运动补偿,并从参照画面存储器207取得运动补偿图像。此运动补偿图像是对象画面中对应于待解码对象块的区域的图像。
画面P13是利用画面P4、P7、P10作为前向参照候补画面实施编码的。在对于画面P13进行解码处理时,这些候补画面已经被解码并存储于参照画面存储器207中。
因此,运动补偿解码单元205,确定在上述画面P13的对象块解码时是将上述画面P4、P7、P10中的哪一个画面用作参照画面。然后,运动补偿解码单元205,基于运动矢量,从参照画面存储器207,将对应参照画面中的对象块的区域的图像作为运动补偿图像而取得。
下面使用图3来说明由参照画面存储器207存储的画面随时间变化的情形,以及参照画面的确定方法。
参照画面存储器207由存储器控制单元204控制,此控制系基于从位流的标题信息所抽取的、表示进行何种参照得到P画面和B画面的信息(参照画面信息)。
如图3所示,参照画面存储器207具有5个画面量的存储区域(#1)~(#5)。当画面P13的解码开始时,在参照画面存储器207中存储有画面B8、P4、P7、P10、B9。画面P13将画面P4、P7、P10用作参照画面的候补来进行解码。在存储了画面B8的存储区域中,存储所解码的画面P13。其理由如下,画面P4、P7、P10,在对画面P13及其以后的画面进行解码时,被用作参照画面的候补画面,而画面B8,在对这些画面解码时不被用作参照画面。
在图3中,每个圆形记号所示的画面,是在对象画面的解码完成了的时刻,最后被存储于参照画面存储器207的画面(对象画面)。
在此情况下,在检测画面P13的对象块的运动矢量时是参照哪一个画面就能够根据附加于运动矢量的参照画面信息来确定。
参照画面信息具体来讲就是参照画面索引,并且,对画面P13的参照候补画面赋予参照画面索引。对参照候补画面所赋予的参照画面索引是参照候补画面距对象画面(画面P13)在时间上越近,值就越小。
具体说来,当在对画面P13对象块进行编码时参照画面P10的情况下,表示对象画面的紧前方的候补画面(画面P10)被用作参照画面的信息(例如参照画面索引[0])就记述在对象块的位流中。另外,当在对对象块进行编码时参照画面P7的情况下,表示对象画面的2张前的候补画面被用作参照画面的信息(例如参照画面索引[1])就记述在该对象块的位流中。另外,当在对画面P13对象块进行编码时参照画面P4的情况下,表示对象画面的3张前的候补画面被用作参照画面的信息(例如参照画面索引[2]),就记述在该对象块的位流中。
根据此参照画面索引,就能够了解在对象块被编码时哪一个候补画面被用作参照画面。
这样,运动补偿解码单元205,根据运动矢量和参照画面信息,从参照画面存储器207,取得运动补偿图像(也就是参照画面中对应对象块的区域的图像)。
这样生成的运动补偿图像输出到加法运算单元208。
另外,运动补偿解码单元205,在进行P画面的解码时,将运动矢量MV和参照画面信息Rp输出到运动矢量存储单元226。
加法运算单元208,将预测误差数据PDd和运动补偿图像的数据(预测数据)Pd相加而生成解码数据Ad。所生成的解码数据Ad通过开关210,作为解码图像数据DId输出到参照画面存储器207。
这样,画面P13的块按顺序进行解码。当画面P13的全部块都已经被解码时,就进行画面B11的解码。
<画面B11的解码处理>
由于位流分析单元201、方式解码单元203以及预测误差解码单元202的动作,与画面P13的解码处理时的相同,故省略其说明。
运动补偿解码单元205,从所输入的运动矢量等的信息生成运动补偿数据。从位流分析单元201输出到运动补偿解码单元205的是运动矢量和参照画面索引。通过将画面P7、B9和P10用作前向参照的候补画面,且将画面P13用作后向参照的候补画面的预测编码处理而得到画面B11。在对对象画面进行解码时刻这些参照候补画面已经被实施解码处理并存储在参照画面存储器207中。
下面,使用图3来说明由参照画面存储器207存储的画面随时间变化的情形,以及参照画面的确定方法。
参照画面存储器207由存储器控制单元204控制,此控制系基于从位流的标题信息所抽取的、表示在对P画面和B画面执行编码时进行了何种参照之类的信息Ih。
当画面B11的解码开始时,在参照画面存储器中存储有画面P13、P4、P7、P10、B9。对于画面B11,将画面P7、B9、P10用作前向参照的候补画面,并将画面P13用作后向参照画面来实施解码处理。在存储画面P4的存储区域中,存储所解码的画面B11,这是因为画面P4在画面B11及其以后的画面被解码时不被用作参照画面的候补。
在此情况下,在检测前向运动矢量时是参照哪一个候补画面,就能够根据附加于运动矢量的参照画面信息来确定。
具体说来,当在对画面B11的对象块进行编码时参照画面P10的情况下,表示对象画面的紧前方的候补画面(画面P10)被用作参照画面的信息(例如参照画面索引[0])就记述在该对象块的位流中。另外,当在对对象块进行编码时参照了画面B9的情况下,表示对象画面的2张前的候补画面被用作参照画面的信息(例如参照画面索引[1])就记述在该对象块的位流中。另外,当在对对象块进行编码时参照了画面P7的情况下,表示对象画面的3张前的候补画面被用作参照画面的信息(例如参照画面索引[2]),就记述在该对象块的位流中。
从而,根据此参照画面索引,就能够了解在对象块被编码时哪一个候补画面被用作参照画面。
运动补偿解码单元205,在选择的方式为双向预测编码的情况下,根据参照画面索引,来确定使用画面P7、B9和P10的哪一个画面进行前向参照。然后,运动补偿解码单元205,基于前向运动矢量从参照画面存储器207取得前向运动补偿图像,另外,基于后向运动矢量从参照画面存储器207取得后向运动补偿图像。
然后,运动补偿解码单元205,通过前向运动补偿图像和后向运动补偿图像的加法平均,生成运动补偿图像。
接着,对使用前向和后向运动矢量生成运动补偿图像的处理进行说明。
(双向预测方式)
图17表示解码对象画面为画面B11,对成为画面B11的解码对象的块(对象块)BLa01进行双向预测解码的情况。
首先,说明前向参照画面为画面P10,而后向参照画面为画面P13的情况。
在此情况下,前向运动矢量为,表示画面P10的、对应块BLa01的区域CRe01的运动矢量MVe01。后向运动矢量为表示,画面P13的、对应块BLa01的区域CRg01的运动矢量MVg01。
从而,运动补偿解码单元205,从参照画面存储器207,作为前向参照图像取得画面P10中的区域CRe01的图像,作为后向参照图像取得画面P13中的区域CRg01的图像,对该两个区域CRe01和CRg01的图像实施图像数据的加法平均,得到对应于上述对象块BLa01的运动补偿图像。
接着,说明前向参照画面为画面B9,后向参照画面为画面P13的情况。
在此情况下,前向运动矢量为,表示画面B9的对应块BLa01的区域CRf01的运动矢量MVf01。后向运动矢量为,表示画面P13的对应块BLa01的区域CRg01的运动矢量MVg01。
从而,运动补偿解码单元205,从参照画面存储器207,作为前向参照图像取得画面B9中的区域CRf01的图像,作为后向参照图像取得画面P13中的区域CRg01的图像,对该两个区域CRf01和CRg01的图像实施图像数据的加法平均,得到对应于上述对象块BLa01的运动补偿图像。
(直接方式)
另外,在编码方式为直接方式的情况下,运动补偿解码单元205,取得在运动矢量存储单元226中所存储的、对象画面B11的后向参照画面P13的、画面的相对位置与对象块相同的块的运动矢量(基准运动矢量)。运动补偿解码单元205,使用此基准运动矢量,从参照画面存储器207取得前向参照图像和后向参照图像。然后,运动补偿解码单元205对前向参照图像和后向参照图像实施图像数据的加法平均,从而生成对应于上述对象块的运动补偿图像。在下面的说明中,对于画面的相对位置与一个画面中的特定的块相等的其他画面中的块,也简单地叫做处于与一个画面的特定块相同位置的块。
图18(a)表示参照紧靠画面B11之前的画面P10,以直接方式对画面B11的块BLa10进行解码的情况(直接方式解码的第1例)。
在块BLa10在直接方式下被解码的过程中使用的基准运动矢量是,在块BLa10被解码时后向参照的画面(基准画面)P13的、处于与块BLa10相同位置的块(基准块)BLg10的前向运动矢量(基准运动矢量)MVh10。此前向运动矢量MVh10,表示紧靠画面B11之前的画面P10的、对应于基准块BLg10的区域CRh10的运动矢量。
在此情况下,作为待解码的块BLa10的前向运动矢量MVk10,使用表示上述画面P10中的、对应对象块BLa10的区域CRk10的、与上述基准运动矢量MVh10平行的运动矢量。另外,作为待解码对象的块BLa10的后向运动矢量MVi10中,使用表示上述画面P13中的、对应对象块BLa10的区域CRi10的、与上述基准运动矢量MVh10平行的运动矢量。
从而,运动补偿解码单元205,从参照画面存储器207,取得前向参照画面P10的区域CRk10中的图像作为前向参照图像,取得后向参照画面P13的区域CRi10中的图像作为后向参照图像,通过对于该两个图像的图像数据进行加法平均,取得对应于对象块BLa10的运动补偿图像(预测图像)。
在此情况下,前向运动矢量MVk10的大小(MVF)及后向运动矢量MVi10的大小(MVB),可使用上述基准运动矢量MVh10的大小(MVR),由上述公式(1)、(2)求出。
设各运动矢量的大小MVF、MVB分别代表运动矢量的水平分量和垂直分量。
另外,TRD是,画面B11的对象块BLa10的后向参照画面P13和在对该后向参照画面(基准画面)P13的块(基准块)BLg10进行被解码时前向参照的画面P10的时间距离。另外,TRF是,画面B11和紧靠其前的参照画面P10的时间距离,TRB是,画面B11和对后向参照画面P13的块BLg10进行解码时参照的画面P10的时间距离。
图18(b)表示参照紧靠画面B11之前的画面P10,以直接方式对画面B11的块BLa10进行解码的情况(直接方式解码的第2例)。
在此直接方式解码的第2例中,与图18(a)所示的直接方式解码的第1例不同,在对基准块(也就是对于对象块的后向参照画面的,与对象块相同位置的块)进行被解码时前向参照的画面是画面P7。
也就是,在块BLa20在直接方式下被解码的过程中使用的基准运动矢量是,在块BLa20被解码时被后向参照的画面P13中的、处于与块BLa20相同位置的块BLg20的前向运动矢量MVh20。此前向运动矢量MVh20,是表示位于对象画面B11的前方的画面P7的、对应于基准块BLg20的区域CRh20的运动矢量。
在此情况下,作为待解码的块BLa20的前向运动矢量MVk20,使用表示上述画面P10中的、对应对象块BLa20的区域CRk20的、与上述基准运动矢量MVh20平行的运动矢量。另外,作为待解码的块BLa20的后向运动矢量MVi20,使用表示上述画面P13中的、对应对象块BLa20的区域CRi20的、与上述基准运动矢量MVh20平行的运动矢量。
从而,运动补偿解码单元205,从参照画面存储器207,取得前向参照画面P10的区域CRk20中的图像作为前向参照图像,取得后向参照画面P13的区域CRi20中的图像作为后向参照图像,通过对于该两个图像的图像数据进行加法平均,取得对应于对象块BLa20的运动补偿图像(预测图像)。
在此情况下,前向运动矢量MVk20的大小(MVF),及后向运动矢量MVi20的大小(MVB),可使用上述基准运动矢量MVh20的大小(MVR),与上述直接方式解码的第1例同样,由上述公式(1)、(2)求出。
图19(a)表示参照位于紧靠画面B11之前的画面P10的前方的画面P7,以直接方式对画面B11的块BLa30进行解码的情况(直接方式解码的第3例)。
在此直接方式解码的第3例中,与图18(a)和图18(b)所示的直接方式解码的第1例和第2例不同,在对对象块进行被解码时前向参照的画面,不是紧靠对象画面之前的画面,而是在基准画面的基准块(与对象块相同位置的块)被解码时前向参照的画面。基准画面是在对象块被解码时后向参照的画面。
也就是,在块BLa30在直接方式下被解码的过程中使用的基准运动矢量是,在块BLa30被解码时后向参照的画面P13中的、处于与块BLa30相同位置的块BLg30的前向运动矢量MVh30。此前向运动矢量MVh30,是表示位于对象画面B11的前方的画面P7的、对应基准块BLg30的区域CRh30的运动矢量。
在此情况下,作为待解码的块BLa30的前向运动矢量MVk30,使用表示上述画面P7中的、对应对象块BLa30的区域CRk30的、与上述基准运动矢量MVh30平行的运动矢量。另外,作为待解码的块BLa30的后向运动矢量MVi30,使用表示上述画面P13的、对应对象块BLa30的区域CRi30的、与上述基准运动矢量MVh30平行的运动矢量。
从而,运动补偿解码单元205,从参照画面存储器207,取得前向参照画面P7的区域CRk30的图像作为前向参照图像,取得后向参照画面P13的区域CRi30的图像作为后向参照图像,通过对于该两个图像的图像数据进行加法平均,取得对应于对象块BLa30的运动补偿图像(预测图像)。
在此情况下,前向运动矢量MVk30的大小(MVF),及后向运动矢量MVi30的大小(MVB),可使用上述基准运动矢量MVh30的大小(MVR),由上述公式(2)、(3)求出。
当在块BLg30被解码时所参照的画面已经从参照画面存储器207删除的情况下,将在时间上位置最接近的前向画面P10用作直接方式解码的第3例中的前向参照画面。此情况下的直接方式解码的第3例中的处理,与直接方式解码的第1例相同。
图19(b)表示使用大小为0的运动矢量,以直接方式对画面B11的块BLa40进行解码的情况(直接方式解码的第4例)。
在此直接方式解码的第4例中,图18(a)和图18(b)所示的直接方式解码的第1例和第2例中使用的基准运动矢量的大小为0。
在此情况下,在待解码的块BLa40的前向运动矢量MVk40和后向运动矢量MVi40中,使用大小为0的运动矢量。
也就是,上述前向运动矢量MVk40,表示画面P10中的、位于与对象块BLa40相同位置的、与对象块同一大小的区域(块)CRk40。另外,上述后向运动矢量MVi40,表示画面P13中的、位于与对象块BLa40相同位置的、与对象块同一大小的区域(块)CRi40。
从而,运动补偿解码单元205,从参照画面存储器207,取得前向参照画面P10的区域(块)CRk40的图像作为前向参照图像,取得后向参照画面P13的区域CRi40的图像作为后向参照图像,通过对于该两个图像的图像数据进行加法平均,取得对于对象块BLa40的运动补偿图像(预测图像)。此方法可应用于,例如,作为画面B11的后向参照画面的画面P13中的处于与块BLa40相同位置的块是,如被帧内编码的块那样没有运动矢量的块这样的情况。
这样所生成的运动补偿图像的数据对加法运算单元208输出。在加法运算单元208中,将所输入的预测误差数据和运动补偿图像的数据相加起来,生成解码的图像数据。所生成的解码图像数据通过开关210被输出到参照画面存储器207,并且解码图像被存储到该参照画面存储器207。
存储器控制单元204,基于从位流的标题信息所抽取的、P画面和B画面是采用何种参照进行编码之类的信息Ih,对参照画面存储器207进行控制。
如上上述,画面B11的块被顺序进行解码。当画面B11的全部块被解码时,进行画面B12的解码。
在上述B画面被解码的过程中,有时将特定的块作为跳越块来进行处理。,下面,对跳越块的解码简单地进行说明。
当在输入的位流的解码处理中,通过在该位流中所记述的跳越标识符和块的索引信息等,判明特定块被作为跳越块来进行处理的情况下,以直接方式进行运动补偿,也就是对应于对象块的预测图像的取得。
例如,如图6(b)所示,在将画面B11的块MB(r)和块MB(r+1)之间的块MB(r+1)和块MB(r+2)作为跳越块来进行处理的情况下,由位流分析单元201检测出位流Bs中的跳越标识符Sf。当该跳越标识符Sf被输入到方式解码单元223时,方式解码单元223对运动补偿解码单元发出指令使其以直接方式进行运动补偿。
于是,运动补偿解码单元205,基于包含在前向参照画面P10中并与作为跳越块处理的块处于相同位置的块的图像(前向参照图像),和与作为跳越块来处理的块处于相同位置的块的图像(后向参照图像),取得块MB(r+1)和MB(r+2)的预测图像,并将预测图像的数据输出到加法运算单元208。预测误差解码单元202,作为被处理为跳越块的块的差分数据,输出值为0的数据。在加法运算单元208中,由于作为跳越块来处理的块的差分数据为0,所以块MB(r+1)和MB(r+2)的预测图像的数据,被作为块MB(r+1)和MB(r+2)的解码图像的数据输出到参照画面存储器207。
此外,在图18(a)所示的直接方式下的处理例(第1例)、图18(b)所示的直接方式下的处理例(第2例)、19(a)所示的直接方式下的处理例(第3例)中,不是将差分数据为0的块全部作为跳越块来进行处理。就是说,将相对对象画面在时间上位于紧靠前的画面用作前向参照画面,且使用大小为0的运动矢量来进行对于对象块的双向预测,并且只有在对象块的差分数据为0的情况下,将该对象块作为跳越块来进行处理。
在这样的情况下,当从位流Bs中的跳越标识符等得知特定的块为跳越块时,运动补偿处理,应该通过将在时间上紧靠前的参照画面作为前向参照画面,运动为0的双向预测来进行。
<画面B12的解码处理>
由于位流分析单元201、方式解码单元203以及预测误差解码单元202的动作,与画面P10的解码处理时的相同,故省略其说明。
运动补偿解码单元205,从所输入的运动矢量等的信息生成运动补偿图像数据。输入到运动补偿解码单元205的是运动矢量MV和参照画面索引Rp。画面B12是将画面P7、P10和B11用作前向参照的候补画面,将画面P13用作后向参照的候补画面来实施编码处理的。这些候补画面在对对象画面进行解码时刻已经被解码并存储在参照画面存储器207中。
由参照画面存储器207存储的画面随时间变化的情形,以及参照画面的确定方法,与使用图3所说明的画面B11被解码时的方法完全相同。
在表示编码方式为双向预测编码方式的情况下,运动补偿解码单元205,根据参照画面索引,来确定对画面P7、P10和B11的哪一个画面进行了前向参照。然后,运动补偿解码单元205基于前向运动矢量从参照画面存储器207取得前向参照图像,并且,另外,基于后向运动矢量从参照画面存储器207取得后向参照图像。然后,运动补偿解码单元205,通过对前向参照图像和后向参照图像实施图像数据的加法平均,生成对象块的运动补偿图像。
(双向预测方式)
图20表示解码对象画面为画面B12,对成为画面B12的解码对象的块(对象块)BLa02进行双向预测解码的情况。
首先,说明前向参照画面为画面B11,后向参照画面为画面P13的情况。
在此情况下,前向运动矢量为表示画面B11的对应于块BLa02的区域CRe02的运动矢量MVe02。后向运动矢量为表示画面P13的对应于块BLa02的区域CRg02的运动矢量MVg02。
从而,运动补偿解码单元205,从参照画面存储器207,取得画面B11中的区域CRe02的图像作为前向参照图像,取得画面P13中的区域CRg02的图像作为后向参照图像,对该两个区域CRe02和CRg02的图像实施图像数据的加法平均,得到对于上述对象块BLa02的运动补偿图像。
接着,对前向参照画面为画面P10,后向参照画面为画面P13的情况予以说明。
在此情况下,前向运动矢量为表示画面P10的对应于块BLa02的区域CRf02的运动矢量MVf02。后向运动矢量为表示画面P13的对应于块BLa02的区域CRg02的运动矢量MVg02。
从而,运动补偿解码单元205,从参照画面存储器207,取得画面P10中的区域CRf02的图像作为前向参照图像,取得画面P13中的区域CRg02的图像作为后向参照图像,对该两个区域CRf02和CRg02的图像实施图像数据的加法平均,得到上述对象块BLa02的运动补偿图像。
(直接方式)
另外,在编码方式为直接方式的情况下,运动补偿解码单元205,取得在运动矢量存储单元226中所存储的、对象画面B12的后向参照画面P13的基准块(相对位置与对象块相同的块)的运动矢量(基准运动矢量)。运动补偿解码单元205,通过使用此基准运动矢量,从参照画面存储器207取得前向参照图像和后向参照图像。然后,运动补偿解码单元205对前向参照图像和后向参照图像实施图像数据加法平均,生成对于上述对象块的运动补偿图像。
图21(a)表示参照紧靠画面B12之前的画面B11,以直接方式对画面B12的块BLa50进行解码的情况(直接方式解码的第1例)。
在块BLa50在直接方式下被解码的过程中使用的基准运动矢量是,在块BLa50被解码时后向参照的画面P13的基准块(处于与块BLa50相同位置的块BLg50)的前向运动矢量MVj50。此前向运动矢量MVj50,是表示位于画面B11的前方近旁的画面P10的、对应于基准块BLg50的区域CRj50的运动矢量。
在此情况下,作为解码对象的块BLa50的前向运动矢量MVk50,使用表示包含在上述画面B11的、对应于对象块BLa50的区域CRk50的、与上述基准运动矢量MVj50平行的运动矢量。另外,作为解码对象的块BLa50的后向运动矢量MVi50,使用表示包含在上述画面P13的、对应于对象块BLa50的区域CRi50的、与上述基准运动矢量MVj50平行的运动矢量。
从而,运动补偿解码单元205,从参照画面存储器207,取得前向参照画面B11的区域CRk50的图像作为前向参照图像,取得后向参照画面P13的区域CRi50的图像作为后向参照图像,通过对于该两个图像的图像数据进行加法平均,取得对于对象块BLa50的运动补偿图像(预测图像)。
在此情况下,前向运动矢量MVk50的大小(MVF),及后向运动矢量MVi50的大小(MVB),可使用上述基准运动矢量MVj50的大小(MVR),由上述公式(1)、(2)求出。
各运动矢量的大小MVF、MVB分别表达运动矢量的水平分量和垂直分量。
图21(b)表示参照画面B12的前方的画面B11,以直接方式对画面B12的块BLa60进行解码的情况(直接方式解码的第2例)。
在此直接方式解码的第2例中,与图21(a)所示的直接方式解码的第1例不同,在基准块(也就是对象块的后向参照画面中的、与对象块相同位置的块)被解码时前向参照的画面是画面P7。
也就是,在块BLa60在直接方式下被解码的过程中使用的基准运动矢量是,在块BLa60被解码时后向参照的画面P13的基准块(处于与块BLa60相同位置的块BLg60)的前向运动矢量MVj60。此前向运动矢量MVj60,是表示位于对象画面B12的前方的画面P7的、对应于基准块BLg60的区域CRj60的运动矢量。
在此情况下,作为解码对象的块BLa60的前向运动矢量MVk60,使用表示上述画面B11的、对应于对象块BLa60的区域CRk60的、与上述基准运动矢量MVj60平行的运动矢量。另外,作为解码对象的块BLa60的后向运动矢量MVi60,使用表示上述画面P13的、对应于对象块BLa60的区域CRi60的、与上述基准运动矢量MVj60平行的运动矢量。
从而,运动补偿解码单元205,从参照画面存储器207,取得前向参照画面B11的区域CRk60的图像作为前向参照图像,取得后向参照画面P13的区域CRi60的图像作为后向参照图像,通过对于该两个图像的图像数据进行加法平均,取得对象块BLa60的运动补偿图像(预测图像)。
在此情况下,前向运动矢量MVk60的大小(MVF),及后向运动矢量MVi60的大小(MVB),可使用上述基准运动矢量MVj60的大小(MVR),与上述直接方式解码的第1例一样,由上述公式(1)和(2)求出。
图22(a)表示参照位于比在画面B12的最接近的前向画面P10更前方的画面P7,以直接方式对画面B12的块BLa70进行解码的情况(直接方式解码的第3例)。
在此直接方式解码的第3例中,与图21(a)和图21(b)所示的直接方式解码的第1例和第2例不同,在对象块被解码时前向参照的画面,不是紧靠对象画面之前的画面,而是在基准画面的基准块被解码时前向参照的画面。基准画面是在对象块被解码时后向参照的画面。
也就是,在块BLa70在直接方式下被解码的过程中使用的基准运动矢量是,在块BLa70被解码时后向参照的画面P13的基准块(处于与块BLa70相同位置的块)BLg70的前向运动矢量MVj70。此前向运动矢量MVj70,是表示位于对象画面B12的前方的画面P7的、对应于基准块BLg70的区域CRj70的运动矢量。
在此情况下,作为解码对象的块BLa70的前向运动矢量MVk70,使用表示上述画面P7的、对应于对象块BLa70的区域CRk70的、与上述基准运动矢量MVj70平行的运动矢量。另外,作为解码对象的块BLa70的后向运动矢量MVi70,使用表示上述画面P13的、对应于对象块BLa70的区域CRi70的、与上述基准运动矢量MVj70平行的运动矢量。
从而,运动补偿解码单元205,从参照画面存储器207,取得前向参照画面P7的区域CRk70的图像作为前向参照图像,取得后向参照画面P13的区域CRi70的图像作为后向参照图像,通过对于该两个图像的图像数据进行加法平均,取得对象块BLa70的运动补偿图像(预测图像)。
在此情况下,前向运动矢量MVk70的大小(MVF),及后向运动矢量MVi70的大小(MVB),可使用上述基准运动矢量MVj70的大小(MVR),由上述公式(2)、(3)求出。
当在块BLg70被解码时所参照的画面已经从参照画面存储器207删除的情况下,将在时间上位置最接近的前向画面P10用作直接方式解码的第3例中的前向参照画面。此情况下的直接方式解码的第3例中的处理,与直接方式解码的第1例相同。
图22(b)表示使用大小为0的运动矢量,以直接方式对画面B12的块BLa80进行解码的情况(直接方式解码的第4例)。
在此直接方式解码的第4例中,将图21(a)和图21(b)所示的直接方式解码的第1例和第2例中的基准运动矢量的大小为0。
在此情况下,作为解码对象的块BLa80的前向运动矢量MVk80和后向运动矢量MVi80,使用大小为0的运动矢量。
也就是,上述前向运动矢量MVk80,表示画面B11的、位于与对象块BLa80相同位置的、与对象块同一大小的区域(块)CRk80。另外,上述后向运动矢量MVi80,表示画面P13的、位于与对象块BLa80相同位置的、与对象块同一大小的区域(块)CRi80。
从而,运动补偿解码单元205,从参照画面存储器207,取得前向参照画面B11的区域(块)CRk80的图像作为前向参照图像,取得后向参照画面P13的区域CRi80的图像作为后向参照图像,通过对于该两个图像的图像数据进行加法平均,取得对于对象块BLa80的运动补偿图像(预测图像)。此方法也能够应用于,例如,作为画面B12的后向参照画面的画面P13中的处于与块BLa80相同位置的块是,如被帧内编码的块那样没有运动矢量的块这样的情况。
这样所生成的运动补偿图像的数据输出到加法运算单元208。加法运算单元208,将所输入的预测误差数据和运动补偿图像的数据相加而生成解码图像数据。所生成的解码图像数据通过开关210输出到参照画面存储器207。
如上所述,对画面B12的块按顺序实施解码处理。在参照画面存储器207中所存储的各画面的图像数据,按时间顺序被重新排列后作为输出图像数据Od输出。
然后,如图16(a)所示,对于按解码时间顺序所排列的画面B12以后的画面,依照画面类型,通过与上述画面P13、B11、B12同样的处理进行解码。图16(b)表示按显示时间顺序所改排的画面的排列。
当在所输入的位流的解码处理中,当通过在该位流中所记述的跳越标识符和块的索引信息等,判明特定块被作为跳越块来进行处理的情况下,与画面B11的解码的情况同样地以直接方式进行运动补偿,也就是对应于对象块的预测图像的取得。
如上所述,由于在本实施方式2的运动画面解码装置20中,在B画面的块被解码时,作为前向参照的候补画面与已解码P画面一起使用已解码B画面,基于在对应于待解码对象块的位流中所包含的、表示在该对象块被编码时被前向参照的候补画面的信息(参照画面索引),生成该对象块的预测图像,所以就能够对把B画面用作前向参照的候补画面所编码的B画面的块正确地进行解码。
另外,在运动画面解码装置20中,在B画面的待解码对象块以直接方式进行编码的情况下,基于与该对象块处于相同位置的块的运动矢量,来计算对象块的运动矢量。所以,即必要在解码侧从编码侧取得以直接方式所编码的块的运动矢量的信息。
另外,在运动画面解码装置20中,基于作为标题信息在位流中所包含的、表示在P画面和B画面被编码时所用的候补画面的信息,来管理在参照画面存储器中所存储的已解码画面的数据。例如,在一个画面的解码处理完成了的时刻,依次删除在此画面以后的解码处理中不会用作参照画面的画面的数据,所以就能够效率良好地利用画面存储器。
另外,在P画面的对象块被解码时,候补画面中的哪一个画面被用作参照画面,(也就是,待解码对象块的运动矢量,是参照哪一个候补画面而得到的)能够从附加在运动矢量信息中的参照画面信息来进行确定。
同样,在B画面的对象块被解码时,前向参照的候补画面中的哪一个画面被用作参照画面,(也就是,待解码对象块的前向运动矢量,是参照哪一个候补画面而得到的)能够从附加在运动矢量信息中的参照画面信息来进行确定。
尽管在本实施方式2中,对于B画面的多个编码方式之一采用的是直接方式,但作为B画面的编码方式也可以不使用直接方式。在此情况下,就不需要运动画面解码装置20的运动矢量存储单元226。
另外,在本实施方式2中,作为直接方式,具体记述了4个方法(也就是图18(a)或图21(a)所示的第1例、图18(b)或图21(b)所示的第2例、图19(a)或图22(a)所示的第3例、图19(b)或图22(b)所示的第4例),在解码装置中,使用与在编码装置中作为直接方式所用的方法对应的方法来进行解码。具体来讲,在作为直接方式使用多个方法的情况下,使用在位流中所记述的,表示作为具体的直接方式使用了何种方法的信息来进行解码。
此时,运动补偿解码单元205的动作,就根据该信息而变化。例如,在以运动补偿的块为单位附加此信息的情况下,由方式解码单元223确定作为直接方式使用了上述4个具体方法中的哪一个方法进行的编码,并将所确定的直接方式的具体方法传送到运动补偿解码单元205。然后,运动补偿解码单元205,根据作为直接方式的具体方法在上述4个方法中哪一个被使用,来进行适当的运动补偿预测解码处理。
另外,在作为直接方式的具体方法哪一个方法被使用之类的信息(DM方式信息),记述于序列整体的标题、GOP标题、画面标题、或者像条标题中这样的情况下,对每个序列整体、GOP、画面、或者像条,将DM方式信息从位流分析单元201传送到运动补偿解码单元205,对运动补偿解码单元205的动作进行变更。
尽管在本实施方式2中,2张B画面位于I画面和P画面之间、或者邻接的P画面之间,但连续的B画面的张数也可以是3或4。
另外,尽管在本实施方式2中,对于P画面采用的前向参照的候补画面的数量为3,但P画面的参照候补画面的数量也可以是3以外的值。
另外,尽管在本实施方式2中,在B画面被解码时使用的前向参照的候补画面为2个I或者P画面和1个B画面,但在B画面被解码时前向参照的候补画面,并不限于此。
另外,在本实施方式2中,作为在画面P13、画面B11以及画面B12被解码时对参照画面存储器进行管理的方法,如图3所示那样,对用作参照画面的候补的P画面和B画面一并进行管理的方法进行了说明。但参照画面存储器的管理方法,也可以是在实施方式1中的使用图11~图14所说明的4个方法,也就是,将被用作参照画面的候补的全部画面分成为P画面和B画面进行管理的方法。
在此情况下,参照画面存储器207,作为存储区域具有6个画面量的区域,也就是,P画面存储器(#1)~(#4)、B画面存储器(#1)和(#2)。另外,这些6个存储区域,并不限于形成在1个参照画面存储器内的情况,也可以是6个存储区域分别由1个独立的参照画面存储器构成。
另外,如图14所示,当在编码侧,对每个待编码的画面,使用确定使P画面存储区域和B画面存储区域哪一个优先来赋予参照画面索引的方法的情况下,运动画面解码装置,能够通过使用表示在上述两个存储区域中处于优先的存储区域的位流中的信息,基于参照画面索引简单地识别在候补画面中被用作参照画面的画面。
例如,在解码对象画面是画面B11的情况下,由于距该对象画面在时间上最靠近的前向参照画面是画面P10,所以使存储在P画面存储器中的画面优先来进行索引赋予。从而,在画面B11的对象块被编码时,在对象块的位流中作为标题信息,在画面P10被用作参照画面的情况下附加参照画面索引[0]。同样地,在画面P7被用作参照画面的情况下附加参照画面索引[1],而在画面B9被用作参照画面的情况下附加参照画面索引[2]。从而,运动画面解码装置,就能够根据参照画面索引,了解在对象块被编码时哪一个候补画面被用作参照画面。
在此情况下,由于表示使P画面存储器的候补画面优先来进行索引赋予的信息,被作为标题信息包含在位流中,所以就能够通过利用该信息,更容易地识别参照画面。
另外,在解码对象画面是画面B12的情况下,由于距该对象画面在时间上最靠近的前向参照画面是画面B11,所以使存储在B画面存储器中的画面优先来进行索引赋予。从而,在画面B12的对象块被编码时,在对象块的位流中作为标题信息,在画面B11被用作参照画面的情况下附加参照画面索引[0]。同样地,在画面P10被用作参照画面的情况下附加参照画面索引[1],而在画面P7被用作参照画面的情况下附加参照画面索引[2]。从而,运动画面解码装置,就能够根据参照画面索引,了解在对象块被编码时哪一个候补画面被用作参照画面。
在此情况下,由于表示使B画面存储器的候补画面优先来进行索引赋予的信息,被作为标题信息包含在位流中,所以就能够通过利用该信息,更容易地识别参照画面。
另外,在编码侧,作为参照画面存储器的管理方法,有使用在上述5个方法(参照图3、图11~图14)中预先选择的一个方法的情况,或者切换使用5个方法中的多个方法的情况。例如,在切换上述多个方法对参照画面存储器进行管理的情况下,运动画面解码装置,就能够基于在位流中所记述的、表示对各画面使用了哪一个管理方法的信息,来确定参照画面索引。
另外,在上述实施方式2中,记述了对于P画面的参照候补画面的数量为3,对于B画面的前向参照的候补画面为2个P画面和1个B画面的参照画面存储器的管理方法的5个例子(图3、图11~图14)。但是,参照画面存储器的管理方法的5个例子也能够分别应用于参照候补画面的数量与实施方式2不同的情况。在这样参照候补画面的数量不同的情况下,参照画面存储器的容量也与实施方式2不同。
另外,在上述实施方式2中,示出在把参照候补画面区分成P画面和B画面对参照画面存储器进行管理的方法(图11~图14中所示的4个例子)中,将P画面存储到P画面存储区域,将B画面存储到B画面存储区域的情况。但是,在存储画面的存储单元中,也可以利用在H.263++中所定义的短期间画面存储器,和长期间画面存储器。例如,有将短期间画面存储作为P画面存储区域进行利用,将长期间画面存储器作为B画面存储区域进行利用的方法。
[实施方式3]
图23是说明利用本发明的实施方式3的运动画面编码装置的框图。
此实施方式3的运动画面编码装置30,可根据来自外部的控制信号,将对候补画面赋予参照画面索引的方法,切换成按照被初始设定的规则进行参照画面索引的赋予的方法(缺省赋予方法),和利用缺省赋予方法对候补画面赋予参照画面索引,进而,依照编码状况对所赋予的参照画面索引适应地进行变更的适应赋予方法的任何一个。
具体说来,此实施方式3的运动画面编码装置30的一个动作形式为实施方式1的运动画面编码装置10的动作。换言之,实施方式3的运动画面编码装置30,在选择缺省赋予方法作为其参照画面索引的赋予方法的情况下,则进行与实施方式1的运动画面编码装置10同样的处理。
下面,对运动画面编码装置30予以详细说明。
此运动画面编码装置30以编码控制单元130取代实施方式1的运动画面编码装置10中的编码控制单元110。编码控制单元130,根据来自外部的控制信号Cont,将对候补画面赋予参照画面索引的方法,切换成按照被初始设定的规则对候补画面赋予参照画面索引的方法(缺省赋予方法),和包含利用缺省赋予方法对候补画面赋予参照画面索引的第1步骤,与对利用缺省赋予方法而赋予候补画面的参照画面索引适应地进行变更的第2步骤的方法(适应赋予方法)的任何一个。
另外,编码控制单元130具有,按每个编码对象画面对多个参照候补画面,分别检测用作参照画面情况下的编码效率的检测单元(未图示)。此编码控制单元130,依照由该检测单元所检测出的编码效率,来变更对于利用缺省赋予方法所设定的各候补画面的参照画面索引。
更具体来讲,编码控制单元130对利用缺省赋予方法所设定的各候补画面的参照画面索引的值,以使在对于对象画面的多个参照候补画面中,用作参照画面情况下的对象画面的编码效率越高,参照画面索引的值越小。
然后,方式选择单元139,在直接方式中,作为对于对象块的前向参照画面,将被赋予参照画面索引[0]的画面选择为前向参照画面。方式选择单元139,在直接方式以外的预测编码方式,例如双向预测编码方式中,依照编码效率进行从多个候补画面选择参照画面的处理。
此实施方式3的运动画面编码装置30的其他组件,与实施方式1的运动画面编码装置10中的相同。
接着,对运动画面编码装置30的动作进行说明。
在此运动画面编码装置30中,在根据来自外部的控制信号Cont,作为赋予对于候补画面的参照画面索引的方法,缺省赋予方法被选择的情况下,运动画面编码装置30的动作,与实施方式1的运动画面编码装置10的动作相同。
另一方面,在根据来自外部的控制信号Cont,作为赋予对于候补画面的参照画面索引的方法,适应赋予方法被选择的情况下,在此运动画面编码装置30中,通过第1步骤与实施方式1的运动画面编码装置10以同样的方式进行参照画面索引的赋予。
在适应赋予方法被选择的情况下,在此运动画面编码装置30中,通过第2步骤,对利用缺省赋予方法所赋予的参照画面索引适应地进行变更。
下面,对适应赋予方法被选择的情况下的、参照画面索引的具体的赋予方法进行说明。但是,在下面的说明中,假设对象画面为画面B12。
首先,在第1步骤中,如图3所示,对前向参照的候补画面赋予参照画面索引,以使距对象画面越近的候补画面参照画面索引的值越小。也就是,参照画面P10被赋予参照画面索引[1]、参照画面B11被赋予参照画面索引[0]、参照画面P7被赋予参照画面索引[2]。
接着,在第2步骤中,如图24所示,将参照画面P10的参照画面索引[1]变更成[0],将参照画面B11的参照画面索引[0]变更成[1]。
对每个对象画面的这种参照画面索引的改写,是基于编码效率来进行。另外,运动画面编码装置30,将表示根据外部控制信号Cont,作为赋予方法是设定缺省赋予方法和适应赋予方法的哪一个的信息作为标题信息插入到位流中。另外,在设定适应赋予方法的情况下,将参照画面索引的赋予是如何进行的信息也作为标题信息插入到位流中。
如上所述,在此实施方式3中,就能够依照编码效率,将在直接方式下应进行前向参照的候补画面的参照画面索引设为[0]。
也就是,在实施方式1中,由于对距对象画面在时间上最近的参照候补画面,赋予值小的参照画面索引,所以在直接方式中,只能参照距对象画面B12在时间上最近的画面B11。但在本实施方式3中,如果编码效率可提高,则能够前向参照距对象画面B12在时间上最近的画面B11以外的画面。
另外,在此情况下,由于能够将此画面B12以直接方式进行参照的画面设为P10而不是B11,所以就没有必要对画面B11进行解码。因而,就能够如图25(a)所示那样不解码紧靠P画面之后的B画面而进行处理,就能够在画面B11不需要的情况下获得解码处理的高速化。另外,由于即使因传送错误等画面B11的数据欠缺也能够进行解码,故能够使解码的可靠性提高。
如上所述,如果能够任意地赋予参照画面索引,有意向地确定在直接方式下进行参照的画面,则能够如图25(a)所示那样不解码预定的画面地进行处理。
进而,如图25(b)所示,即使在P画面间有3张B画面的情况下也能够不编码预定的画面而进行处理。因此,当预先在编码侧了解用户不需要的画面时,就能够省略这样的画面以获得解码中的处理时间的缩短。
在图25(b)中,即使不对画面B3进行解码,也能够进行其他画面的解码。
也就是,在实施方式1的赋予方法中,由于画面B4在直接方式下参照画面B3,所以为了解码画面B4就需要对画面B3进行解码。但在本实施方式3中,由于能够任意地设定在直接方式下进行参照的画面,由此画面B3的解码就变得没有必要。
进而,在此实施方式3中,由于进行参照画面索引的赋予以使距对象画面越近的候补画面赋予越小值的参照画面索引,并基于参照画面索引确定直接方式下的参照画面,故能够通过运动矢量的缩短来提高编码效率,同时能够做到处理时间的缩短。
另外,在解码侧,由于在以直接方式对对象块进行处理时,赋予参照画面索引[0]的前向参照候补画面立刻被用作参照画面,所以就能够缩短解码的时间。
此外,尽管在上述实施方式3中,是基于编码效率确定将参照画面索引改写成[0]的候补画面,但也可以将最容易参照的画面,例如在时间上最近的P画面的参照画面索引设为[0]。
另外,尽管在上述实施方式3中以直接方式进行参照的画面是参照画面索引为[0]的画面,但本发明并不限于此。比如,也可以对得知以直接方式进行参照的情况的信息进行编码,并基于在该直接方式下进行参照的信息,在直接方式时进行解码。
[实施方式4]
图26是说明利用本发明的实施方式4的运动画面解码装置40的框图。
此运动画面解码装置40,接收来自实施方式3的运动画面编码装置30的位流,并基于在该位流中所包含的、表示应该采用以上述缺省赋予方法和上述适应赋予方法的哪一个进行参照画面索引的赋予的信息(赋予方法指示信息),进行各画面的解码处理。
也就是,此实施方式4的运动画面解码装置40的一个动作形式为实施方式2的运动画面解码装置20的动作。换言之,实施方式4的运动画面解码装置40,在作为参照画面索引的赋予方法使用缺省赋予方法的情况下,运动画面解码装置40的动作,与实施方式2的运动画面解码装置20相同。
下面,对运动画面编码装置40予以详细说明。
此运动画面解码装置40,以存储器控制单元244取代实施方式2的运动画面解码装置20中的存储器控制单元204,存储器控制单元244,基于在位流中作为标题信息所包含的赋予方法指示信息,进行与上述缺省赋予方法和适应赋予方法的某一个相应的存储器的管理。
此实施方式4的运动画面解码装置40的其他组件,与实施方式2的运动画面解码装置20中的相同。
接着对运动画面编码装置40的动作进行说明。
此运动画面解码装置40,进行与在来自运动画面编码装置30的位流中作为标题信息所包含的赋予方法指示信息相应的动作。
也就是,此运动画面解码装置40,当在编码侧缺省赋予方法被选择为参照画面索引的赋予方法的情况下,也就是,在位流中包含表示缺省赋予方法被选择的信息的情况下,与实施方式2的运动画面解码装置20同样地进行动作。
另一方面,此运动画面解码装置40,当在编码侧适应赋予方法被选择为参照画面索引的赋予方法的情况下,也就是,在位流中包含表示适应赋予方法被选择的信息的情况下,进行与适应赋予方法相应的动作。在此情况下,由于参照画面索引的赋予如何来进行的信息也作为标题信息包含在位流中,故以该信息为基础进行参照索引的赋予。
下面,对适应赋予方法被选择的情况下运动画面编码装置40的动作进行说明。
在参照画面存储器207中,如图24所示,每当对对象画面进行处理时,都进行存储于各各存储区域中的参照候补画面的改写。
具体来讲,在解码对象画面为画面B12的情况下,对于作为该对象块的画面B12的解码处理,依照对象块的标题信息从候补画面选择参照画面来进行。
例如,在对象块的编码方式为双向预测编码方式的情况下,对象块的解码处理为,作为前向参照画面从候补画面P10、B11、P7中,选择被赋予与在对象块的标题信息中所包含的参照画面索引相同的参照画面索引的画面。在包含于对象块的标题信息中的参照画面索引为[1]的情况下,则作为前向参照画面选择候补画面B11。然后,对于对象块的双向预测解码处理,作为前向参照画面参照候补画面B11,作为后向参照画面参照画面P13来进行。
另外,在对象块的编码方式为直接方式的情况下,从候补画面P7、P10、B9中,作为前向参照画面选择被赋予参照画面索引为[0]的候补画面(画面P10)。然后,对于对象块的解码处理,作为前向参照画面参照候补画面P10,作为后向参照画面参照画面P13来进行。
如上所述,在此实施方式4中,对参照画面存储器207进行如图24所示的存储器的管理,也就是,存储器管理是,使用依照编码状况变更了由缺省赋予方法所赋予的参照画面索引的值作为各候补画面的参照画面索引的值来进行。所以,就能够实现依照编码效率,改写候补画面的参照画面索引的对应于编码方法的解码方法。
也就是,在实施方式2中,由于对距对象画面在时间上最近的参照候补画面,赋予值小的参照画面索引,所以在直接方式中,只能参照距对象画面B12在时间上最近的画面B11,但在本实施方式4中,能够前向参照距对象画面B12在时间上最近的画面B11以外的画面。
另外,在此情况下,由于对画面B12的块在直接方式下解码时进行参照的画面是P10而不是B11,所以就没有必要对画面B11进行解码。因而,就能够如图25(a)所示那样不解码紧靠P画面之后的B画面而进行处理,就能够在画面B11不需要的情况下获得解码处理的高速化。另外,由于即使因传送错误等画面B11的数据欠缺也能够进行解码,故能够使解码的可靠性提高。
如上所述,如果能够依照编码状况将赋予参照候补画面的参照画面索引的值选择为任意的值,有意地确定在直接方式下进行参照的画面,则能够如图25(a)所示那样不解码预定的画面而进行处理。
进而,如图25(b)所示,即使在P画面之间有3张B画面的情况下也能够不编码预定的画面而进行处理,当预先在编码侧了解用户不需要的画面时,就能够省略这样的画面以获得解码中的处理时间的缩短。
在图25(b)中,即使不对画面B3进行解码,也能够进行其他画面的解码。
也就是,由于在实施方式2中,对画面B4在直接方式下参照画面B3进行解码,所以就需要对画面B3进行解码。但在本实施方式4中,当在编码侧,以直接方式进行参照的画面可任意地设定的情况下,就可以不对画面B3进行解码。
另外,当在解码侧以直接方式对对象块进行处理时,由于赋予参照画面索引[0]的前向参照候补画面立刻被用作参照画面,所以就能够缩短解码的时间。
尽管在上述各实施形式1~4中,示出在P画面的编码或者解码时不参照B画面的情况,但也可以在P画面的编码或者解码时参照B画面。
另外,尽管在上述各实施形式1~4中,示出基于各画面的显示时间计算画面间的时间距离的情况,但也可以基于各画面的显示时间等时间以外的信息求出画面间的时间距离。
例如,也可以对各画面,设定每当画面被处理就进行递增的计数器值,可基于此计数器值计算画面间的时间距离。
具体说来,在一个内容的视频流和音频流均包含时间信息的情况下,由于时间信息的单位很小,基于此时间信息对视频信息和音频信息进行管理以使两种信息保持同步并不容易。但通过由计数器值对上述各画面的排列进行管理,考虑到视频信息和音频信息的同步的管理就变得简单。
另外,在上述各实施形式1~4中,将数据处理单位,例如,使GOP和画面等的标题信息和数据部不分离地,包含在对应各数据处理单元的位流中进行传送。但也可以使它们分离开来用不同的流进行传送。
例如,也可以在将流区分成数据包等数据传送单位进行传送的情况下,使对应上述画面的标题部和数据部分离开来进行传送。在此情况下,也有标题部和数据部不包含在相同流中的情况。但是,在使用了数据包的数据传送中,即使标题部和数据部进行传送的顺序不连续,也只是对应的标题部和数据部用不同的数据包来传送,对应的标题部和数据部的对应关系由数据包的标题信息等所存储,因此,实质上与标题部与数据部包含在同一位流中的情况相同。
进而,尽管在上述各实施形式1~4中,上述参照画面索引,作为识别在对象块被编码时多个参照候补画面中的哪一个画面被参照的信息来进行使用,但此参照画面索引也可以作为显示对于成为编码处理或解码处理的对象的对象画面的多个前向参照候补画面的位置的信息来进行使用。具体说来,由于在上述实施形式1和2的参照画面索引的赋予方法,或者实施形式3和4的缺省赋予方法中,对上述多个前向参照候补画面赋予距对象画面越近值越小的参照画面索引,所以就能够依照赋予各前向参照候补画面的参照画面索引的值的大小,检测出各前向参照候补画面的位置(也就是,检测出各前向参照候补画面,在全部的前向参照画面中,为距对象画面第几近的画面)。
另外,可以在对应于运动画面的位流中,与表示这样的各前向候补画面的相对位置的参照画面索引分开地包含表示构成运动画面的各画面在显示时间轴上的位置的位置识别信息。此位置识别信息与表示画面的显示时间的时间信息不同,是确定各画面的相对位置的信息。
另外,在上述各实施形式1~4中,示出在直接方式下作为基准画面,使用在成为编码或解码对象的对象画面的块被解码时后向参照的画面(对于对象画面的后向参照画面)的情况。但在直接方式下作为基准画面,可以使用对于对象画面的后向参照画面以外的已处理的画面,例如,在对象画面的块被编码时前向参照的画面。
[实施方式5]
图27是说明利用本发明的实施方式5的运动画面编码装置50用的框图。
此运动画面编码装置50,在P画面和B画面被编码时进行前向参照的候补画面,以及对于B画面的编码方式上与上述实施方式1的运动画面编码装置10不同。
也就是,此运动画面编码装置50,取代实施方式1的编码控制单元110和方式选择单元109,具有进行与它们不同的动作的编码控制单元150和方式选择单元159。
具体来讲,实施方式5的运动画面编码装置50的编码控制单元150,对参照画面存储器117进行控制以使,在P画面被编码时,位于该P画面前方的4个画面(I或者P画面)被用作前向参照的候补画面,在B画面被编码时,位于该B画面前方的4个画面(I或者P画面)、位于该B画面最接近的1个前向B画面以及后方的1个I或者P画面被用作候补画面。
另外,实施方式5的方式选择单元159,在对P画面的块(对象块)进行编码时,作为对象块的编码方式,从画面内编码、使用运动矢量的画面间预测编码、和不使用运动矢量(将运动设为0来进行处理)的画面间预测编码中选择一个。在对B画面的块(对象块)进行编码时,作为对象块的编码方式,从画面内编码、使用前向运动矢量的画面间预测编码、使用后向运动矢量的画面间预测编码、以及使用前向运动矢量和后向运动矢量的画面间预测编码中选择一个。也就是,此实施方式5的运动画面编码装置50的方式选择单元159,与实施方式1的运动画面编码装置10的方式选择单元109,仅在不使用直接方式这一点上不同,因此,此运动画面编码装置50,不具有运动画面编码装置10的运动矢量存储单元116。
另外,此实施方式5的运动画面编码装置50的编码控制单元150和方式选择单元159以外的部分,与实施方式1的运动画面编码装置10中的相同。
接着,对运动画面编码装置50的动作进行说明。
输入画面按显示时间顺序以画面单位输入到输入画面存储器101。如图29(a)所示,按显示时间顺序各画面P0、B1、B2、P3、B4、B5、P6、B7、B8、P9、B10、B11、P12、B13、B14、P15、B16、B17和P18输入到输入画面存储器101。
在输入画面存储器101中所输入的各画面,如图29(b)所示,按编码顺序改排。该改排是基于画面间预测编码中的参照关系来进行。也就是,进行所输入画面的改排,以使在第1画面被编码时被用作参照画面的候补的第2画面,比第1画面先进行编码。
在此实施方式5中,在P画面(对象画面)编码时,在时间上处于其前方的接近的4个画面(I或者P画面)被用作参照画面的候补。另外,在B画面编码时,在时间上处于其接近的前方的4个画面(I或者P画面)、在时间上处于其前方的最接近的1个B画面以及处于后方的最接近的I或者P画面被用作参照画面的候补。
在输入画面存储器101中进行了改排的各画面,按每个运动补偿的单位被读出。在此实施方式5中,运动补偿的单位为水平16个像素×垂直16像素大小的,也就是将像素排列成矩阵状的矩形区域,水平方向的像素数和垂直方向的像素数均为16像素的区域(宏块)。在下面的说明中,宏块简称为块。
下面,对画面P15、B13、B14的编码处理按此顺序进行说明。
<画面P15的编码处理>
由于画面P15是P画面,所以对此画面实施使用前向参照的画面间预测编码。另外,在P画面被编码的过程中,B画面不用作参照画面。
图28表示参照画面存储器117中的画面管理的情形。
例如,在画面P15的编码开始时刻,在参照画面存储器117中,在被赋予了逻辑存储器编号的存储区域上,按照逻辑存储器编号的升序,存储有画面P12、B11、P9、P6、P3。这些画面,已经进行编码,在参照画面存储器117中所存储的图像数据,是由运动画面编码装置50所解码的图像数据。下面,为了简化说明,将在存储器中存储了其图像数据的画面,也简称为在存储器中所存储的画面。
对在参照画面存储器117中所存储的参照候补画面,通过编码控制单元150的控制,进行参照画面索引的赋予。此索引赋予,不是按画面的编码顺序而是按显示时的时间顺序来进行。具体说来,就是按时间顺序对新的参照候补画面,也就是显示的顺序迟的参照候补画面,赋予值较小的参照画面索引。但是,在P画面编码时,对B画面不进行参照画面索引的赋予。另外,在B画面被编码时,按时间顺序对最新的参照候补画面,赋予表示作为后向参照画面进行处理的符号[b]。
按照这样的参照画面索引的确定方法,如图28所示,对画面P12、P9、P6、P3赋予的参照画面索引,分别为[0]、[1]、[2]、[3],对画面B11不赋予参照画面索引。
另外,在P画面编码时,编码控制单元150,对各开关进行控制以使开关113、114、115变成接通。从输入画面存储器101所读出的画面P15的块,输入到运动矢量检测单元108、方式选择单元159和差分运算单元102。
运动矢量检测单元108,将在存储于参照画面存储器117的画面中,被赋予参照画面索引的画面P12、P9、P6、P3作为参照候补画面使用,对画面P15中的块进行运动矢量的检测。在此情况下,从画面P12、P9、P6和P3中选择最适当的参照候补画面,运动矢量的检测参照所选择的参照画面进行。之后,将所检测出的运动矢量,向方式选择单元159和位流生成单元104输出。另外,运动矢量为参照画面P12、P9、P6、P3的哪一个所得到的运动矢量之类的信息Rp,即参照画面索引也向方式选择单元159输出。
方式选择单元159,使用由运动矢量检测单元108所检测出的运动矢量,确定画面P15的块的编码方式。编码方式,表示用何种方法对块进行编码。例如,对P画面的块,作为编码方式,选择画面内编码、使用运动矢量的画面间预测编码、不使用运动矢量(将运动设为0来进行处理)的画面间预测编码中的一个。编码方式的选择,一般是使在预定的位数下编码误差为最小。
由方式选择单元159所确定的编码方式Ms,输出到位流生成单元104。另外,在所确定的编码方式为进行前向参照的编码方式的情况下,参照画面索引也向位流生成单元104输出。
另外,基于由方式选择单元159确定的编码方式所得到的预测图像Pd,被输出到差分运算单元102和加法运算单元106。但是,在选择了画面内编码的情况下,不输出预测图像Pd。另外,在由方式选择单元159选择了画面内编码的情况下,通过对开关111进行控制使输入端子Ta连接到输出端子Tb2,通过对开关112进行控制使输出端子Td连接到输入端子Tc2。
下面,对方式选择单元159选择画面间预测编码的情况进行说明。由于此情况下的差分运算单元102、预测误差编码单元103、位流生成单元104、和预测误差解码单元105的动作,与实施方式1相同,故其说明省略。
当画面P15的全部的块的编码处理结束时,编码控制单元150,进行对应于在参照画面存储器117中所存储的画面的逻辑存储器编号和参照画面索引的更新。
也就是,由于已编码的画面P15,按显示时间顺序比在参照画面存储器117中所存储的哪一个画面都要新,所以画面P15就存储到被设定逻辑存储器编号(0)的存储区域。然后,已经存储有其他的参照画面的存储区域的逻辑存储器编号就递增1。进而,由于下一编码对象画面是作为B画面的画面B13,故对画面B11也进行参照画面索引的赋予。由此,在被设定逻辑存储器编号(0)~(5)的存储区域中,分别存储画面P15、P12、B11、P9、P6、P3,对画面P12、B11、P9、P6、P3分别赋予参照画面索引[0]、[1]、[2]、[3]、[4]。由于成为下一个对象画面是B画面,所以对存储于逻辑存储器编号0的画面P15,取代参照画面索引,赋予表示被作为后向参照画面来处理的符号[b]。
<画面B13的编码处理>
由于画面B13是B画面,所以进行使用双向参照的画面间预测编码。在此情况下,作为前向参照的候补画面,使用在时间上接近的4个I或者P画面,和在时间上最接近的1个B画面,作为后向参照的候补画面,使用在时间上处于最接近的I或者P画面。从而,对于画面B13的前向参照的候补画面就为画面P12、B11、P9、P6、P3,而对于画面B13的后向参照的候补画面就为画面P15。这些参照候补画面被存储于参照画面存储器117中。对这些参照候补画面,如图28所示,赋予逻辑存储器编号和参照画面索引。
在编码B画面时,编码控制单元150,对各开关进行控制以使开关113、114、115变成接通。从而,从输入画面存储器101所读出的画面B13的块,被输入到运动矢量检测单元108、方式选择单元109、差分运算单元102。
在运动矢量检测单元108中,将存储于参照画面存储器117中的画面P12、B11、P9、P6、P3用作前向参照的候补画面,将画面P15用作后向参照的候补画面,进行画面B13的块的前向运动矢量和后向运动矢量的检测。在此情况下,前向运动矢量的检测,通过从画面P12、B11、P9、P6、P3中将最适当的画面选择为参照画面来进行。所检测出的运动矢量,向方式选择单元159和位流生成单元104输出。另外,前向运动矢量为参照画面P12、B11、P9、P6、P3的哪一个的运动矢量之类的信息Rp,即参照画面索引也向方式选择单元159输出。
然后,方式选择单元159、差分运算单元102、位流生成单元104、和预测误差解码单元105的动作,与画面P15编码时的相同。
当画面B13中的全部块的处理结束时,通过编码控制单元150的控制,进行对应于在参照画面存储器117中所存储的画面的逻辑存储器编号和参照画面索引的更新。
也就是,由于画面B13,按显示时间顺序比在参照画面存储器117中所存储的画面P15还在前,比在参照画面存储器117中所存储的画面P12还在后,所以画面B13就存储到被设定逻辑存储器编号(1)的存储区域。另外,由于画面B11在以后的画面的编码处理中不用作参照画面,所以被删除。此时,表示将画面B11从参照画面存储器删除的信息作为控制信号Cs1被输出到位流生成单元104。位流生成单元104,将此信息作为标题信息记述并输出到位流。另外,对应画面P12的存储区域的逻辑存储器编号就递增1。
下一个待编码对象画面是作为B画面的画面B14。从而,在具有逻辑存储器编号(0)的存储区域中所存储的画面被用作后向参照画面,对其以外的画面赋予参照画面索引。由此,在对应于逻辑存储器编号(0)~(5)的存储区域中,分别存储画面P15、B13、P12、P9、P6、P3,并且对画面B13、P12、P9、P6、P3分别赋予参照画面索引[0]、[1]、[2]、[3]、[4]。
<画面B14的编码处理>
由于画面B14是B画面,所以进行使用双向参照的画面间预测编码。这种情况下,作为画面B14的参照画面,作为前向参照画面使用画面B13、P12、P9、P6、P3,作为后向参照画面使用画面P15。在B画面的处理中,编码控制单元150,对各开关进行控制以使开关113、114、115变成接通。从而,从输入画面存储器101中读出的画面B14的块,被输入到运动矢量检测单元108、方式选择单元159、差分运算单元102。
运动矢量检测单元108,将存储于参照画面存储器117中的画面B13、P12、P9、P6、P3用作前向参照的候补画面,将画面P15用作后向参照的候补画面,进行画面B14的块的前向运动矢量和后向运动矢量的检测。在此情况下,前向运动矢量的检测,通过从画面B13、P12、P9、P6、P3中将最适当的画面选择成参照画面来进行。所检测出的运动矢量,被输出到方式选择单元159和位流生成单元104。另外,前向运动矢量为参照画面B13、P12、P9、P6、P3的哪一个所得到的运动矢量之类的信息Rp,即参照画面索引,也被输出到方式选择单元159。
然后,方式选择单元159、差分运算单元102、位流生成单元104、预测误差解码单元105、和加法运算单元106的动作,与画面P15被编码时大体相同。
当画面B14中的全部块的处理结束时,通过编码控制单元150的控制,进行对应于在参照画面存储器117中所存储的画面的逻辑存储器编号和参照画面索引的更新。
也就是,由于画面B14,按显示时间顺序比在参照画面存储器117中所存储的画面P15还在前,比在参照画面存储器117中所存储的画面B13还在后,所以画面B14就存储到被设定逻辑存储器编号(1)的存储区域。另外,由于画面B13在以后的画面的编码处理中不用作参照画面所以被删除。此时,表示将画面B13从参照画面存储器删除的信息作为控制信号Cs1被输出到位流生成单元104。位流生成单元104,将此信息作为标题信息记述在位流中。
下一个待编码对象画面是作为P画面的画面P18。相应地,对B画面以外的画面赋予参照画面索引。由此,在逻辑存储器编号(0)~(5)的存储区域中,分别存储画面P15、B14、P12、P9、P6,对画面P15、P12、P9、P6分别赋予参照画面索引[0]、[1]、[2]、[3]。
如上所述,在本实施方式5中,由于在对于编码对象画面的前向参照的多个候补画面中,其显示时间越迟的就赋予值越小的参照画面索引(也就是用于识别在检测对象块的前向运动矢量是使用了哪一个候补画面的信息),所以在候补画面中作为参照画面最容易被选择的画面,就赋予值更小的参照画面索引。由此,就能够使对于参照画面索引的代码量最小,并能够获得编码效率的提高。
下面,对本实施方式5的效果,以对于B画面的编码是将其他的B画面用作参照候补画面来进行的情况为例,同时对现有技术存在的问题点具体地进行说明。
例如,假设运动画面的画面排列为图29(a)所示,作为对于对象画面进行编码时的前向参照候补画面使用4张P画面和1张B画面的情况进行说明。
图30表示此情况下的参照画面存储器中的画面的管理例。此外,在该存储器中,候补画面按编码顺序来存储。
在画面P15编码时,在参照画面存储器中按照逻辑存储器编号的升序作为候补画面存储有画面B11、P12、P9、P6、P3。另外,对这些候补画面,分别赋予参照画面索引[0]、[1]、[2、[3]、[4]。从而,对在P画面被编码时不会用作参照画面的B画面(在这里是画面B11),赋予有参照画面索引。因此,产生不会被使用的参照画面索引,会引起编码效率的劣化。
另外,在画面B13编码时,在参照画面存储器中,按逻辑存储器索引顺序存储有画面P15、B11、P12、P9、P6、P3。对画面P15赋予表示作为后向参照画面使用的符号[b],对剩余的画面,分别赋予参照画面索引[0]、[1]、[2、[3]、[4]。从而,对距离画面B13(对象画面)在时间上远的画面B11,比距该画面B13在时间上近的画面P12,赋予值还要小的参照画面索引。一般在运动检测的情况下,由于概率上距离对象画面在时间上近的候补画面被用作参照画面的情况多,所以当在时间上远的画面B11的参照画面索引的值成为比在时间上近的画面P12的参照画面索引还要小的值时,会引起编码效率的劣化。
进而,在画面B14被编码时,在参照画面存储器中,按逻辑存储器索引顺序存储有画面B13、P15、B11、P12、P9、P6。对画面B13赋予表示作为后向参照画面使用的符号[b],对剩余的画面,分别赋予参照画面索引[0]、[1]、[2、[3]、[4]。从而,原本应被用作画面B14的后向参照画面的画面P15,却被用作前向参照的候补画面。而且,原本应被用作画面B14的前向参照的候补的画面B13,却被用作后向参照候补画面。结果,正确地进行编码就变得困难。另外,在画面B14编码时,作为不被用作参照画面的画面的画面B11则存在于参照画面存储器内。
另一方面,在本发明的实施方式5中,如图28所示,由于在参照画面存储器中,按显示顺序存储对象画面的参照候补画面,在前向参照的候补画面中,其显示时间越迟的就赋予值越小的参照画面索引,所以在候补画面中作为参照画面最容易被选择的画面,就赋予更小的参照画面索引。由此,就能够使对于参照画面索引的代码量最小,能够获得编码效率的提高。
另外,在P画面编码时,由于对B画面不进行参照画面索引的赋予,所以就能够避免不会被使用的参照画面索引的产生,进一步提高编码效率。
另外,在B画面编码时,由于对存储在对应值最小的逻辑存储器编号的存储区域中的画面,不赋予参照用画面索引,并将此画面作为后向参照画面使用。所以,在B画面的预测编码时,就能够避免应后向参照的P画面却被用作前向参照画面的情况。
另外,在从参照画面存储器删除成为不被用作参照画面的画面时,在位流中记述表示进行了删除的信息。所以,就能够在解码侧检测出从参照画面存储器删除了在解码对象画面及其以后的画面的解码处理中不被用作参照画面的画面。
此外,在上述实施方式5中,运动补偿以由水平16个像素×垂直16像素组成的图像空间(宏块)为单位,预测误差图像的编码以由水平8个像素×垂直8像素组成的图像空间(子块)为单位进行处理。但作为运动补偿(预测误差图像的编码)的单位的宏块或者子块的像素数,可以与上述不同。
另外,在上述实施方式5中,连续的B画面的张数为2张,但上述连续的B画面的张数也可以为3个或更多。
另外,在上述实施方式5中,对在P画面被编码时前向参照的候补画面的数量为4,但它也可以是4以外的别的值。
另外,在上述实施方式5中,对B画面编码时前向参照的候补画面为4个P画面和1个B画面,但B画面的前向参照的候补画面并不限于这些画面。
另外,在上述实施方式5中,成为编码对象的、构成运动画面的各画面,在对该各画面以后的其他画面进行编码时被用作参照画面。但构成运动画面的多个画面也可以包含不被用作参照画面的画面。在此情况下,通过在参照画面存储器中不存储不被用作参照画面的画面,就取得与上述实施方式5同样的效果。
另外,在上述实施方式5中,对于B画面的编码是将其他的B画面用作参照候补画面来进行的,但对于B画面的编码也可以不参照其他的B画面来进行。在此情况下,在参照画面存储器中不存储B画面。或者即使在这样的情况下也按照画面的显示时间顺序来赋予参照画面索引,就能够取得与上述实施方式5同样的效果。
另外,在上述实施方式5中,是赋予1个系统的参照画面索引,但也可以分别对前向、后向赋予不同系统的参照画面索引。
另外,在此实施方式5中,在前向参照的候补画面中,其显示时间越迟的就赋予值越小的参照画面索引,但如果是在候补画面中作为参照画面最容易被选择的画面,就赋予值更小的参照画面索引,则并不限于上述的说明。
此外,图31是表示对应于赋予了参照画面索引的画面的位流的结构(编码图像信号的格式)的概念图。
等效于1个画面的编码信号Pt包含有在画面开头中所包含的标题信息Hp,和继此之后的数据部Dp。在标题信息Hp中包含有控制信号(RPSL)。另外在数据部Dp中包含有对应各块的编码数据(位流)。
例如,位流BLx是以画面内编码方式编码的块的位流,并且位流BLy是以画面内编码方式以外的画面间预测编码方式编码的块的位流。
在块的位流BLx中包含有标题信息Hbx、关于编码方式的信息Prx、和被编码的图像信息Dbx。在块的位流BLy中包含有标题信息Hby、关于编码方式的信息Pry、第1参照画面索引Rld1、第2参照画面索引Rld2、第1运动矢量MV1、第2运动矢量MV2、和被编码的图像信息Dby。能够通过与编码方式有关的信息Pry来判断是使用第1、第2的参照画面索引Rld1、Rld2中的哪一个。
首先,使前向参照候补画面相对后向参照候补画面优先地来进行赋予参照画面索引Rld1。使后向参照候补画面相对前向参照候补画面优先地来进行赋予参照画面索引Rld2。
[实施方式6]
图32是说明利用本发明的实施方式6的运动画面解码装置60用的框图。
此实施方式6的运动画面解码装置60,对从上述实施方式5的运动画面编码装置50输出的位流Bs进行解码。
此实施方式6的运动画面解码装置60,在对P画面和B画面进行解码时进行前向参照的候补画面,以及B画面的编码方式与上述实施方式2的运动画面解码装置20不同。
也就是,此实施方式6的运动画面解码装置60,取代实施方式2的存储器控制单元204和方式解码单元223,具有进行与它们不同的动作的存储器控制单元264和方式解码单元263。
具体来讲,实施方式6的运动画面解码装置60的存储器控制单元264,对参照画面存储器207进行控制以使,在P画面被解码时,位于该P画面前方的4个画面(I或者P画面)被用作前向参照的候补画面,在B画面被解码时,位于该B画面前方的4个画面(I或者P画面)、位于该B画面最接近的1个前向B画面以及后方的1个I或者P画面被用作候补画面。
另外,实施方式6的运动画面解码装置60的方式解码单元263,在P画面的块(对象块)解码时,作为对象块的编码方式,从画面内解码、使用运动矢量的画面间预测解码、和不使用运动矢量(将运动作为0来进行处理)的画面间预测解码中选择一个。在B画面的块(对象块)解码时,作为对象块的解码方式,从画面内解码、使用前向运动矢量的画面间预测解码、使用后向运动矢量的画面间预测解码、以及使用前向运动矢量和后向运动矢量的画面间预测解码中选择一个。
也就是,此实施方式6的运动画面解码装置60的方式解码单元263,与实施方式2的运动画面解码装置20的方式解码单元223,仅在不使用对应直接方式的解码处理这一点上不同,从而,此运动画面解码装置60,不具有运动画面解码装置20的运动矢量存储单元226。
另外,实施方式6的运动画面解码装置60,除了存储器控制单元264和方式解码单元263以外,与实施方式2的运动画面解码装置20相同。
接着,对运动画面编码装置60的动作进行说明。
在图32所示的运动画面解码装置60中输入从实施方式5的运动画面编码装置50输出的位流Bs。在此位流Bs中,对于每个P画面是将在时间上处于其前方的近旁的4个I或者P画面用作参照候补画面来进行画面间预测编码的。另外,每个B画面是将在时间上处于其最接近的前方的4个P画面、1个前向B画面、以及在时间上处于其后方的最接近的I或者P画面用作参照候补画面来进行编码的。
在此情况下,位流中的画面的顺序如图29(b)所示。
下面,对画面P15、B13、B14的解码处理按此顺序进行说明。
<画面P15的解码处理>
画面P15的位流,被输入到位流分析单元201。位流分析单元201从所输入位流抽取各种数据。各种数据是编码方式和运动矢量等的信息。所抽取的方式选择的信息(编码方式)Ms被输出到方式解码单元263。另外,所抽取的运动矢量MV被输出到运动补偿解码单元205。进而,将预测误差编码数据Ed向预测误差解码单元202输出。
方式解码单元263,参照从位流所抽取的编码方式Ms,进行开关209和210的控制。在编码方式为画面内编码的情况下,对开关209进行控制以使输入端子Te连接到输出端子Tf1,对开关210进行控制以使输出端子Th连接到输入端子Tg1。另一方面,在编码方式为画面间预测编码的情况下,对开关209进行控制以使输入端子Te连接到输出端子Tf2,对开关210进行控制以使输出端子Th连接到输入端子Tg2。
另外,方式解码单元263,将编码方式Ms也输出到运动补偿解码单元205。
下面,对编码方式为画面间预测编码的情况进行说明。
预测误差解码单元202,对输入的编码数据Ed进行解码,生成预测误差数据PDd。所生成的预测误差数据PDd输出到开关209。由于开关209的输入端子Te连接到输出端子Tf1,所以预测误差数据PDd输出到加法运算单元208。
运动补偿解码单元205,根据所输入的运动矢量的信息等,生成运动补偿图像。输入到运动补偿解码单元205的信息,为运动矢量MV和参照画面索引Rp。运动补偿解码单元205,基于这些信息,从参照画面存储器207取得运动补偿图像(预测图像)。画面P15,是将画面P12、P9、P6、P3作为参照画面的候补来进行编码的,这些画面已经被解码并存储于参照画面存储器207。
图28表示在参照画面存储器207中所存储的画面。如图28所示,在画面P15被解码时,在参照画面存储器207中存储有画面P12、B11、P9、P6、P3。
存储器控制单元264,对在参照画面存储器207中所存储的参照候补画面进行参照画面索引的赋予。此参照画面索引的赋予,基于画面的显示时间顺序进行以使最新的画面被赋予值小的参照画面索引。在P画面被解码时,对B画面不进行参照画面索引的赋予。从而,对应于画面P12、P9、P6、P3的参照画面索引分别为[0]、[1]、[2]、[3],而对画面B11不赋予参照画面索引。
运动补偿解码单元205,根据参照画面索引,来确定在对象块被编码时是参照画面P12、P9、P6、P3的哪一个画面。然后,运动补偿解码单元205基于所确定的参照画面和运动矢量,从参照画面存储器207,取得预测图像(预测数据Pd)并生成运动补偿图像(预测图像)。这样生成的运动补偿图像被输出到加法运算单元208。
加法运算单元208,将所输入的预测误差图像和运动补偿图像相加来生成解码图像(数据Ad)。所生成的解码图像通过开关210输出到参照画面存储器207。
当画面P15的全部宏块被解码时,存储器控制单元264,进行对应于在参照画面存储器207中所存储的画面的逻辑存储器编号和参照画面索引的更新。
此时,由于画面P15,按时间顺序比在参照画面存储器207中所存储的任一个画面都要新,所以画面P15就存储到被设定逻辑存储器编号(0)的存储区域。然后,将对应存储有其他的候补画面的存储区域的逻辑存储器编号递增1。
另外,由于下一个解码对象画面是画面B13,故对画面B11进行参照画面索引的赋予。由此,在被设定逻辑存储器编号(0)~(5)的存储区域中,分别存储画面P15、P12、B11、P9、P6、P3,对画面P12、B11、P9、P6、P3分别赋予参照画面索引[0]、[1]、[2]、[3]、[4]。
<画面B13的解码处理>
由于位流分析单元201、方式解码单元203以及预测误差解码单元202的动作,与画面P15的解码处理时的相同,故它们的动作说明省略。
运动补偿解码单元205,从所输入的运动矢量等的信息生成运动补偿数据。输入到运动补偿解码单元205的信息是运动矢量和参照画面索引。画面B11将画面P12、B11、P9、P6、P3用作前向参照的候补画面,将画面P15用作后向参照的候补画面来进行编码。在画面B13的解码时刻,这些候补画面已经被解码并存储于参照画面存储器207。
在编码方式为前向预测或者双向预测的情况下,运动补偿解码单元205,根据参照画面索引,来确定在画面B13被编码时,用画面P12、B11、P9、P6、P3的哪一个候补画面进行前向参照。然后,运动补偿解码单元205,基于所确定的参照画面和前向运动矢量从参照画面存储器207取得前向运动补偿图像。在编码方式为双向预测的画面预测编码或者后向预测编码的情况下,运动补偿解码单元205,基于所确定的参照画面和后向运动矢量从参照画面存储器207取得后向运动补偿图像。然后,运动补偿解码单元205,使用前向运动补偿图像和后向运动补偿图像,生成运动补偿图像(预测画面)。
这样所生成的运动补偿图像被输出到加法运算单元208。加法运算单元208,将所输入的预测误差图像和运动补偿图像相加生成解码图像。所生成的解码图像通过开关210,输出到参照画面存储器207。
当画面B13的全部块被解码时,存储器控制单元264,进行对应于在参照画面存储器207中所存储的画面的逻辑存储器编号和参照画面索引的更新。由于画面B13,按显示时间顺序比在参照画面存储器207中所存储的画面P15还靠前,比在参照画面存储器207中所存储的画面P12还要靠后,所以画面B13就存储到被设定逻辑存储器编号(1)的存储区域。
另外,由于在位流中,记述有表示将画面B11从参照画面存储器删除的信息,故存储器控制单元264对参照画面存储器进行控制以使画面B11从参照画面存储器207被删除。
另外,将存储有其他的参照候补画面P12的存储区域的逻辑存储器编号递增1。由此,在被设定逻辑存储器编号(0)~(5)的存储区域中,分别存储画面P15、B13、P12、P9、P6、P3,对画面B13、P12、P9、P6、P3分别赋予参照画面索引[0]、[1]、[2]、[3]、[4]。
<画面B14的解码处理>
由于位流分析单元201、方式解码单元203以及预测误差解码单元202的动作,与画面P15的解码处理时的相同,故它们的动作说明省略。
运动补偿解码单元205,从所输入的运动矢量等的信息生成运动补偿数据。输入到运动补偿解码单元205的信息是运动矢量和参照画面索引。画面B14是将画面B13、P12、P9、P6、P3用作前向参照的候补画面,将画面P15用作后向参照的候补画面来进行编码的,在画面B14的解码时刻,这些候补画面已经被解码并存储于参照画面存储器207。
在编码方式为前向预测编码或者双向预测编码时,运动补偿解码单元205,根据参照画面索引,来确定在画面B14被编码时,画面B13、P12、P9、P6、P3的哪一个画面被前向参照。然后,运动补偿解码单元205,基于所确定的参照画面和前向运动矢量从参照画面存储器207取得前向运动补偿图像。在编码方式为双向预测或者后向预测的画面预测编码的情况下,运动补偿解码单元205,基于所确定的参照画面和后向运动矢量从参照画面存储器207取得后向运动补偿图像。然后,运动补偿解码单元205,使用前向运动补偿图像和后向运动补偿图像,生成运动补偿图像。
这样生成的运动补偿图像输出到加法运算单元208。由加法运算单元208,将所输入的预测误差图像和运动补偿图像相加生成解码图像。所生成的解码图像通过开关210,输出到参照画面存储器207。
当画面B14中的全部块的处理结束时,由存储器控制单元264,进行对应于在参照画面存储器207中所存储的画面的逻辑存储器编号和参照画面索引的更新。由于画面B14,按显示时间顺序比在参照画面存储器207中所存储的画面P15还靠前,比在参照画面存储器207中所存储的画面B13还靠后,所以画面B14就存储到被设定逻辑存储器编号(1)的存储区域。另外,由于在位流中,记述有表示将画面B13从参照画面存储器删除的信息,故存储器控制单元264对该存储器进行控制以使画面B13从参照画面存储器207删除。
由于下一个解码对象画面是作为P画面的画面P18,对B画面以外的画面赋予参照画面索引。由此,在被设定逻辑存储器编号(0)~(5)的存储区域中,分别存储画面P15、B14、P12、P9、P6、P3,并且对画面P15、P12、P9、P6分别赋予参照画面索引[0]、[1]、[2]、[3]和[4]。
另外,从参照画面存储器207,按显示时间顺序将所解码的画面作为输出图像进行输出。
下面,其后的各画面通过与画面类型相应的类似的处理来进行解码。
如上所述,在本实施方式6中,在对应于解码对象画面的前向参照的多个候补画面中,其显示时间越迟的就赋予值越小的参照画面索引(也就是用于识别对象块的前向运动矢量是参照哪一个候补画面所得到的信息),并基于在对象画面的位流中所包含的参照画面索引,从上述多个候补画面中确定参照画面。所以,在候补画面中作为参照画面最容易被选择的画面,就赋予值更小的参照画面索引。由此,就能够使参照画面索引的代码量最小,并能够对由编码效率高的编码方法所得到的位流正确地进行解码。
另外,在P画面解码时,由于对B画面不进行参照画面索引的赋予,所以就能够避免不会被使用的参照画面索引的产生,并能够对由编码效率高的编码方法所得到的位流正确地进行解码。
另外,由于在B画面解码时,将在被设定值最小的逻辑存储器编号的存储区域中所存储的画面,作为后向参照画面来进行处理,对该画面不进行参照画面索引的赋予,所以在B画面的预测编码时,就能够避免P画面被用作前向参照画面的情况,并能够对由编码效率高的编码方法所得到的位流正确地进行解码。
此外,在从参照画面存储器删除成为不被用作参照画面的画面的信息被记述于位流的情况下,基于该信息从参照画面存储器删除参照画面,所以就能够有效地利用参照画面存储器。
此外,在上述实施方式6中,作为构成运动画面的多个画面的排列,示出2张B画面位于邻接的P画面之间的画面的排列。但位于邻接的P画面之间的B画面的张数,也可以是别的值,例如,3或4。
另外,在上述实施方式6中,对于P画面的前向参照的候补画面的数量为4,但它也可以是别的值。
在上述实施方式6中,对于B画面的前向参照的候补画面,为4个P画面和1个B画面,但作为对于B画面的前向参照的候补画面,并不限于此。
另外,在上述实施方式6中,构成运动画面的各画面在该各画面以后的其他画面被解码时被用作参照画面,但运动画面的多个画面也可以包含不被用作参照画面的画面。在此情况下,通过在参照画面存储器中不存储不被用作参照画面的画面,就可取得与上述实施方式6同样的效果。
另外,在上述实施方式6中,B画面的解码是将其他的B画面用作参照候补画面来进行的,但对于B画面的解码也可以不参照其他的B画面来进行。在此情况下,在参照画面存储器中不存储B画面。也是在此情况下,按照画面的显示时间顺序来赋予参照画面索引,就能够取得与上述实施方式6同样的效果。
在上述实施方式6中,为了简化说明,对用于管理参照候补画面的存储器,和用于将已解码画面按显示顺序改排并输出的存储器不加区别地作为1个参照画面存储器进行了说明,但运动画面解码装置60,也可以分别具有用于管理参照候补画面的管理存储器,和用于将已解码画面按显示顺序改排并输出的改排存储器。
在此情况下,管理存储器由存储器控制单元264所控制,将参照候补画面输出到运动补偿解码单元205。另外,改排存储器将按解码顺序所排列的已解码的画面图像,按显示顺序改排并依次输出。
另外,在上述实施方式6中,示出了按1个规则对候补画面赋予参照画面索引的情况,也就是参照画面索引为1个系统,但作为参照画面索引,也可以如实施方式5中所说明那样,使用2个系统的参照画面索引。
[实施方式7]
图33是说明利用本发明的实施方式7的运动画面编码装置70用的框图。
此运动画面编码装置70,在P画面和B画面被编码时进行前向参照的候补画面,以及对于B画面的编码方式上与上述实施方式1的运动画面编码装置10不同。
也就是,此运动画面编码装置70,取代实施方式1的编码控制单元110和方式选择单元109,具有进行与它们不同的动作的编码控制单元170和方式选择单元179。
具体来讲,实施方式7的编码控制单元170,对参照画面存储器117进行控制以使,在P画面编码时,位于该P画面前方的3个画面(I或者P画面)被用作前向参照的候补画面,并且在B画面编码时,位于该B画面前方的2个画面(I或者P画面)、位于该B画面最接近的1个前向B画面以及后方的1个I或者P画面被用作候补画面。但是,位于相对对象画面在最接近的前方的I或者P画面的更前方的B画面不被参照。
上述编码控制单元170,根据控制信号Cd对位流生成单元104进行控制以使表示对象画面在对于该对象画面以后的画面的编码处理时是否被参照的标志插入到对应于对象画面的位流中。具体来讲,就是位流生成单元104由控制信号Cd所控制以使表示在解码时应将对象画面的数据存储到参照画面存储器117中的信息,以及表示其应存储的期间的信息附加到位流中。
另外,实施方式7的方式选择单元179,在P画面的块(对象块)编码时,作为对象块的编码方式,从画面内编码、使用运动矢量的画面间预测编码、和不使用运动矢量(将运动设为0来进行处理)的画面间预测编码中选择一个,在B画面的块编码时,作为对象块的编码方式,从画面内编码、使用前向运动矢量的画面间预测编码、使用后向运动矢量的画面间预测编码、以及使用前向运动矢量和后向运动矢量的画面间预测编码中选择一个。也就是,此实施方式7的运动画面编码装置70的方式选择单元179,与实施方式1的运动画面编码装置10的方式选择单元109,仅在不使用直接方式这一点上不同,从而,此运动画面编码装置70,不具有运动画面编码装置10的运动矢量存储单元116。实施方式7的运动画面编码装置70的其他组件,都与实施方式1的运动画面编码装置10中的相同。
此实施方式7的运动画面编码装置70,与实施方式5的运动画面编码装置50,在编码控制单元170对位流生成单元104进行控制以使表示对象画面在对于该对象画面以后的画面的编码处理时是否被参照的标志插入到位流中这一点上不同。具体说来,利用控制信号Cd对编码生成单元104进行控制,以使表示对象画面在对于该对象画面以后的画面的编码处理时是否被参照的标志插入到对应于对象画面的位流中。另外,运动画面编码装置70,在P画面和B画面被编码时所参照的候补画面上也与运动画面编码装置50不同。除了上述差别之外,此运动画面编码装置70中的其他各点,都与运动画面编码装置50相同。
接着,对运动画面编码装置70的动作进行说明。
输入图像数据Id按时间顺序以画面单位输入到输入画面存储器101。
图34(a)表示在输入画面存储器101中所输入的画面的顺序。
在输入画面存储器101中,如图34(a)所示,各画面从画面P1开始按顺序进行输入。在图34(a)中,画面P1、P4、P7、P10、P13、P16、P19、P22是P画面,画面B2、B3、B5、B6、B8、B9、B11、B12、B14、B15、B17、B18、B20、B21是B画面。
在P画面编码时,相对该P画面在时间上处于前方的近旁的3个画面(I或者P画面)被用作参照画面的候补。另外,在B画面被编码时,相对该B画面在时间上处于其近旁的前方的2个画面(I或者P画面)、处于前方的最接近的1个B画面以及后方的最接近的I或者P画面被用作参照画面的候补。但是,在B画面编码时,位于在最接近的前方的I或者P画面的更前方的B画面不被参照。此外,在I画面被编码时,不参照其他的画面。
在输入画面存储器101中所输入的各画面的数据Id,按编码顺序进行改排。以下将每个画面的数据就简称为画面。
就是说,将画面的顺序从输入顺序改排成编码顺序的改排处理,是基于画面间预测编码处理中的参照关系来进行。在该改排处理中,对各画面进行改排以使在第1画面编码时被用作参照画面的候补的第2画面,比第1画面还在先进行编码。
具体来讲,从画面P10~P13的各画面和参照候补画面之间的对应关系,如图34(a)中的箭头所示。也就是,在P画面P10被编码时,画面P1、P4、P7被参照,在P画面P13被编码时,画面P4、P7、P10被参照。另外,在B画面B11被编码时,画面P7、P10、P13被参照,在B画面B12被编码时,画面P7、P10、B11、P13被参照。
图34(b)表示对从图34(a)所示的画面B2到P22的画面进行了改排后的画面的顺序。改排后,各画面按P4、B2、B3、P7、B5、B6、P10、B8、B9、P13、B11、B12、P16、B14、B15、P19、B17、B18、P22的顺序进行排列。
在输入画面存储器101中进行了改排的各画面,对每个预定的数据处理单元,按照编码时间顺序被读出。在此实施方式7中,数据处理单元是进行运动补偿的数据单元,更具体说,是一个在水平方向和垂直方向都排列了16个像素的矩形图像空间(宏块)。在下面的说明中,将宏块简称为块。
下面,对画面P13、B11、B12的编码处理按顺序进行说明。
<画面P13的编码处理>
由于画面P13是P画面,所以作为画面P13的编码处理使用前向参照的画面间预测编码。在此情况下,参照候补画面为相对对象画面位于前方的3个I或者P画面,具体来讲就是画面P4、P7、P10。这些参照候补画面,编码处理已经结束,对应于解码图像的数据Dd被存储于参照画面存储器117。
在P画面被编码的过程中,编码控制单元170,对各开关进行控制以使开关113、114、115变成接通。
与从输入画面存储器101所读出的画面P13的块相对应的数据Md,输入到运动矢量检测单元108、方式选择单元179、差分运算单元102。
运动矢量检测单元108,利用存储于参照画面存储器117中的画面P4、P7、P10的解码图像数据Rd,进行画面P13的块的运动矢量MV的检测。在此情况下,从画面P4、P7、P10中选择最适当的参照画面,并且运动矢量的检测,通过参照所选择的画面进行。之后,所检测出的运动矢量MV,被输出到方式选择单元179和位流生成单元104。另外,表示参照画面P4、P7、P10中的哪一个在检测运动矢量MV时受到参照之类的信息(参照画面信息),也被输出到方式选择单元179。
在方式选择单元179中,使用由运动矢量检测单元108所检测出的运动矢量,确定画面P13的块的编码方式。
具体来讲,就是在P画面编码的情况下,从画面内编码、使用运动矢量的画面间预测编码、不使用运动矢量(将运动设为0来进行处理)的画面间预测编码中,确定使用哪一个方法来进行编码。在编码方式的确定中,一般是选择使在将预定的数量的位作为代码量给予块的情况下编码误差为最小的方法。
由方式选择单元179所确定的编码方式Ms,被输出到位流生成单元104。另外,在所确定的编码方式Ms为进行前向参照的编码方式的情况下,表示在前向运动矢量检测时参照画面P4、P7、P10的哪一个的信息(参照画面信息),也向位流生成单元104输出。
之后,从与方式选择单元179所确定的编码方式Ms相应的参照画面所得到的预测图像数据Pd,被输出到差分运算单元102和加法运算单元106。但是,在选择了画面内编码的情况下,不输出上述预测图像数据Pd。另外,选择了画面内编码的情况下的开关111和112的控制与实施方式5中的相同。
下面,就由方式选择单元179作为编码方式选择了画面间预测编码的情况进行说明。
差分运算单元102、预测误差编码单元103、位流生成单元104、和预测误差解码单元105以及编码控制单元170的动作,与实施方式5中的相同。
但是,在此实施方式7中,作为画面P13的标题信息,附加表示画面P13将前方的3个I或者P画面作为参照候补画面进行编码的信息。另外,由于画面P13在其他画面被编码时将被参照,所以表示在解码时应将对应画面P13的解码数据Dd存储到参照画面存储器117中的信息(标志),也作为画面P13的标题信息得以附加。进而,把表示应将画面P13存储到参照画面存储器117中的期间直到完成画面P22被解码的信息,也作为画面P13的标题信息进行附加。
作为表示画面13的上述存储期间的方法,有根据画面P22的时间信息(例如,基于时间的位置信息,如画面索引、解码时间信息、或显示时间信息等)进行表示的方法,根据从画面P13到画面P22的期间信息(例如画面数等)进行表示的方法等。上述标题信息,可以作为以画面为单位的标题信息,也就是作为对每个对象画面的标题信息,进行记述。也可以作为序列整体的标题信息或以帧为单位(例如MPEG方式中的GOP单位)的标题信息来进行记述。
在对于画面P13的各块的编码方式,为进行前向参照的编码方式的情况下,表示在检测前向运动矢量时是参照画面P4、P7、P10中的哪一个的信息(参照画面信息)也被附加到位流中。例如,在运动矢量为参照画面P10而得到的情况下,表示编码对象画面的紧前方的P画面为参照画面的信息(参照画面索引)就附加到位流中。在运动矢量为参照画面P7而得到的情况下,表示编码对象画面的2张前的P画面为参照画面的信息(参照画面索引)就附加到位流中。在运动矢量为参照画面P4所得到的情况下,表示编码对象画面的3张前的P画面为参照画面的信息(参照画面索引)就附加到位流中。例如,可以由参照画面索引[0]表示对象画面的紧前方的画面为参照画面,由参照画面索引[1]表示对象画面的2张前的画面为参照画面,由参照画面索引[2]表示对象画面的3张前的画面为参照画面。
另外,作为标题信息,记述表示P画面使用3个参照候补画面进行画面间预测编码的信息。
通过与上述相同的处理,来进行对于画面P13的剩余的宏块的编码处理。当对于画面P13的全部的宏块的编码处理结束时,接着进行画面B11的编码处理。
<画面B11的编码处理>
由于画面B11是B画面,所以作为画面B11的编码处理进行使用双向参照的画面间预测编码。在此情况下,作为前向参照的候补画面使用距对象画面(画面B11)在时间上接近的2个画面(I或者P画面)和在时间上最接近的1个B画面,作为后向参照的候补画面使用距编码对象画面在时间上最接近的I或者P画面。但不参照超过对象画面的其最接近的I或者P画面的B画面。
从而,作为画面B11的前向参照画面使用画面P7、P10,作为画面B11的后向参照画面使用画面P13。在连续的2张B画面的第1张B画面的处理中,由于此第1张的B画面在另一B画面被编码时被用作参照画面,所以编码控制单元170,对各开关进行控制以使开关113、114、115变成接通。因此,与从输入画面存储器101所读出的画面B11的块对应的图像数据Md,被输入到运动矢量检测单元108、方式选择单元179、差分运算单元102。
运动矢量检测单元108,将存储于参照画面存储器117的画面P7、P10作为前向参照的候补画面使用,将存储于参照画面存储器117的画面P13作为后向参照画面使用,进行与画面B11的块相对应的前向运动矢量和后向运动矢量的检测。在此情况下,前向运动矢量的检测,通过从画面P7、P10中选择最适当的参照画面来进行。所检测出的运动矢量,向方式选择单元179和位流生成单元104输出。另外,前向运动矢量为参照画面P7、P10的哪一个所检测出的运动矢量之类的信息(参照画面信息),也对方式选择单元179输出。
方式选择单元179,使用由运动矢量检测单元108所检测出的运动矢量,确定与画面B11的块对应的编码方式。作为B画面的编码方式,例如从画面内编码方式、使用前向运动矢量的画面间预测编码方式、使用后向运动矢量的画面间预测编码方式、以及使用双向运动矢量的画面间预测编码方式来进行选择。在此编码方式的选择中,也如上述那样,选择使在将预定的位的数量作为代码量来给予块的情况下编码误差为最小的一般方法(方式)。
由方式选择单元179所确定的编码方式,被输出到位流生成单元104。另外,从与方式选择单元179所确定的编码方式Ms相应的参照画面所得到的预测图像数据Pd,被输出到差分运算单元102和加法运算单元106。但是,在选择了画面内编码的情况下,不输出预测图像数据Pd。另外,在由方式选择单元179选择了画面内编码的情况下,对开关111和112,进行与上述画面P13编码时同样的控制。
下面,对由方式选择单元179选择了画面间预测编码的情况进行说明。
在此情况下,差分运算单元102、预测误差编码单元103、位流生成单元104、和预测误差解码单元105以及编码控制单元170的动作,与实施方式5中的相同。
在编码方式为进行前向参照的编码方式的情况下,将表示检测前向运动矢量时参照的是画面P7、P10中的哪一个的信息(参照画面信息)也被附加于位流中。例如,在参照的是画面P10的情况下,就是表示编码对象画面的紧前方的候补画面为参照画面的参照画面信息,在参照画面P7的情况下,就是表示编码对象画面的2张前的候补画面为参照画面的参照画面信息。例如,可以由参照画面索引[0]表示对象画面的紧前方的候补画面为参照画面,由参照画面索引[1]表示对象画面的紧前方的候补画面为参照画面。
另外,在此情况下,表示编码对象的B画面是将前方的B画面也用作参照画面来实施画面间预测编码处理的信息,不作为标题信息进附加。另外,表示编码对象的B画面的前方的参照候补画面为2个I或者P画面和1个B画面的信息,作为标题信息进行附加。进而,表示不参照比相对编码对象B画面最接近的前方的I或者P画面更加位于前方的B画面的信息,作为标题信息进附加。
由此,在对由本实施方式7的运动画面编码装置70所生成的位流Bs进行解码时,就能够知道需要具有何种存储容量的参照画面存储器。上述这些标题信息,可以作为以画面为单位的标题信息,也就是作为对每个对象画面的标题信息,进行记述。也可以作为序列整体的标题信息或以数个画面为单位(例如MPEG方式中的GOP等)的标题信息来进行记述。
另外,由于画面B11在对其后方的画面编码时被用作参照画面,所以在解码时应将对应于该画面B11的解码图像数据Dd存储到参照画面存储器117之类的信息,以及表示在参照画面存储器117中应存储此数据Dd的期间为直到画面B12的解码结束时的信息,分别作为标题信息进行附加。
当对于画面B11的剩余的块的编码处理结束时,接着进行画面B12的编码处理。
<画面B12的编码处理>
由于画面B12是B画面,所以作为画面B12的编码处理使用双向参照的画面间预测编码。在此情况下,作为前向参照的候补画面使用距编码对象画面B12在时间上接近的2个I或者P画面,距该编码对象画面B12在时间上最接近的B画面。另外,作为后向参照的候补画面使用距该对象画面B12在时间上处于最接近的I或者P画面。具体来讲,对于画面B12的前向参照的候补画面为画面P7、P10、B11,对于画面B12的后向参照画面为画面P13。
由于在对其他画面编码时画面B12不用作参照画面,所以编码控制单元170,根据控制信号Cs1对各开关进行控制以使开关113变成接通,而开关114、115变成断开。因此,与从输入画面存储器101所读出的画面B12的块对应的图像数据Md,被输入到运动矢量检测单元108、方式选择单元179、差分运算单元102。
运动矢量检测单元108,将存储于参照画面存储器117的画面P7、P10、B11用作前向参照画面,将存储于参照画面存储器117的画面P13用作后向参照画面,进行与画面B12的块对应的前向运动矢量和后向运动矢量的检测。
在此情况下,前向运动矢量的检测,通过从画面P7、P10、B11中选择最适当的参照画面来进行。所检测出的运动矢量被输出到方式选择单元179和位流生成单元104。另外,前向运动矢量为参照画面P7、P10、B11的哪一个所检测出的运动矢量之类的信息(参照画面信息),也向方式选择单元179输出。
方式选择单元179,使用由运动矢量检测单元108所检测出的运动矢量,确定应用于画面B12的块的编码方式。作为B画面的编码方式,从画面内编码方式、使用前向运动矢量的画面间预测编码方式、使用后向运动矢量的画面间预测编码方式、以及使用双向运动矢量的画面间预测编码方式之中来进行选择。
由方式选择单元179所确定的编码方式Ms,向位流生成单元104输出。另外,从与方式选择单元179所确定的编码方式相应的参照画面所得到的预测图像数据Pd,被输出到差分运算单元102和加法运算单元106。但是,在选择画面内编码的情况下,不输出预测图像数据Pd。
另外,在由方式选择单元179选择画面内编码的情况下,开关111和112,与上述画面P13被编码时的控制方式相同。
下面,对由方式选择单元179选择了画面间预测编码的情况进行说明。
在此情况下,差分运算单元102、预测误差编码单元103、位流生成单元104、和预测误差解码单元105以及编码控制单元170的动作,与实施方式5中的相同。
在编码方式为进行前向参照的编码方式的情况下,前向运动矢量为参照画面P7、P10、B11的哪一个所检测出的运动矢量之类的信息(参照画面信息)也被附加于位流中。
另外,作为标题信息,表示编码对象B画面B12是将其前方的B画面B11也作为参照画面的候补来实施画面间预测编码处理的信息,以及表示前向参照的候补画面为2个I或者P画面和1个B画面的信息也予以记述。
此外,作为标题信息,对表示画面B12在其后方的画面的编码处理时不用作参照画面的信息予以附加。
由此,就能够容易地判断对应画面B12的解码图像数据Dd在解码时不需要存储到参照画面存储器,从而使参照画面存储器的管理变得简易。
上述这些标题信息,可以以画面单位作为标题信息,进行记述,也就是作为每个待编码的对象画面的标题信息进行记述。此外,也可以作为序列整体的标题信息或以数个画面单位(例如MPEG方式中的GOP等)的标题信息来进行记述。
通过同样的处理,进行画面B12的剩余的块的编码处理。
然后,与上述画面B12以后的各画面对应的图像数据,通过与画面类型相应的,与上述同样的处理来进行编码。例如,P画面与画面P13同样地进行处理,连续的B画面的第1张的B画面(画面B14、B17等)与画面B11同样进行处理。另外连续的B画面的第2张的B画面(画面B15、B18等)与画面B12同样地进行处理。
这样,在本实施方式7的运动画面编码装置70中,在作为对象画面对B画面进行编码时,由于作为前向参照的候补画面,在P画面以外也使用B画面,所以作为前向参照画面,就可以利用位于编码对象画面的最接近的前向参照画面。由此,就能够提高对于B画面的运动补偿的预测精度,能够获得编码效率的提高。
而且,在作为对象画面对B画面进行编码时,作为标题信息,附加表示该对象画面在其他画面编码时(解码时),是否被用作参照画面的信息。进而,作为标题信息,附加表示在该对象画面在其他画面编码时(解码时)被用作参照画面的信息的情况下,应将该编码对象画面存储到参照画面存储器的期间的信息。所以在对从本运动画面编码装置70输出的位流Bs进行解码时,就能够很容易地了解到在解码时在画面存储器中存储什么画面,或者该存储期间多长,从而能够使解码时的参照画面存储器管理简化。
在此实施方式7中,在对象B画面将其他的B画面用作参照画面来实施编码处理的情况下,将此情况作为编码对象的B画面的标题信息来进行记述。但该标题信息,并不一定需要以画面单位进行记述。也可以作为序列整体的标题信息或以数个画面单位(例如MPEG方式中的GOP等)的标题信息来进行记述。
在本实施方式7中,运动补偿是以由16像素(水平方向)×16像素(垂直方向)组成的宏块为单位来进行的,预测误差图像数据的编码处理是以由4像素(水平方向)×4像素(垂直方向)组成的块为单位,或者以由8像素(水平方向)×8像素(垂直方向)组成的块为单位来进行处理的。但运动补偿和预测误差图像数据的编码处理,也可以以与这些单位不同的个数的像素组成的图像空间为单位来进行。
另外,在本实施方式7中,P画面的编码方式是从画面内编码方式、使用运动矢量的画面间预测编码方式、以及不使用运动矢量的画面间预测编码方式中选择1个编码方式,B画面的编码方式是从画面内编码方式、使用前向运动矢量的画面间预测编码方式、使用后向运动矢量的画面间预测编码方式、使用双向运动矢量的画面间预测编码方式中选择1个编码方式。但选择P画面和B画面的编码方式的方法,并不限于上述的实施方式7。
另外,在本实施方式7中,采用在I画面和P画面之间,以及在邻接的P画面之间插入2张B画面的图像序列。但在图像序列中在I画面和P画面之间,以及邻接的P画面之间插入的B画面的张数也可不是2,比如,是3或4。
另外,尽管在本实施方式7中,对在P画面编码时被用作前向参照的候补画面的画面数为3,但它也可以是别的值。
另外,尽管在本实施方式7中,在B画面编码时作为前向参照的候补画面,使用2个P画面和1个B画面,但作为在B画面的码时的前向参照的候补画面,也可以不限于此。例如,作为对于B画面的前向参照的候补画面,可以使用1个P画面和2个B画面、2个P画面和2个B画面、或者与画面类型没有关系地在时间上位置最接近对象画面的3个画面。
在B画面编码时,仅将位置最接近该B画面的1个画面用作参照画面,表示块是参照哪一个画面来进行编码之类的信息(参照画面信息)就不需要记述在位流中。
另外,在本实施方式7中,在B画面编码时,比位置最接近该B画面的前向I或者P画面更加位于前方的B画面,不用作参照画面。但在B画面编码时,也可以将比位于该B画面的最接近的前向P画面更加位于前方的B画面,用作参照画面。
[实施方式8]
图35是说明利用本发明的实施方式8的运动画面解码装置80用的框图。
此实施方式8的运动画面解码装置80,对从上述实施方式7的运动画面编码装置70输出的位流Bs进行解码。
此运动画面解码装置80,在P画面和B画面解码时进行前向参照的候补画面上,以及对于B画面的解码方式上与上述实施方式2的运动画面解码装置20不同。
也就是,此运动画面解码装置80,取代实施方式2的存储器控制单元204和方式解码单元223,具有进行与它们不同的动作的存储器控制单元284和方式解码单元283。
具体来讲,实施方式8的存储器控制单元284,对参照画面存储器287进行控制以使在P画面解码时,位于该P画面前方的3个画面(I或者P画面)被用作前向参照的候补画面,在B画面解码时,位于该B画面前方的2个画面(I或者P画面)、位于该B画面最接近的1个前向B画面以及后方的1个I或者P画面被用作候补画面。但是设位于相对对象画面在其最接近的前方的I或者P画面的更靠前方的B画面不进行参照。
上述存储器控制单元284,基于在对应于对象画面的位流中所插入的、表示该对象画面是否在对于该对象画面以后的画面的编码处理时进行参照的标志,利用控制信号Cm对参照用画面存储器207进行控制。
具体来讲,在对应于对象画面的位流中,包含表示在解码时应将对象画面的数据存储到参照画面存储器207的信息(标志),以及表示其应存储的期间的信息。
另外,实施方式8的方式解码单元283,在P画面的块解码时,作为对象块的解码方式,从画面内解码、使用运动矢量的画面间预测解码、和不使用运动矢量(将运动设为0来进行处理)的画面间预测解码之中选择一个。在B画面的块解码时,作为对象块的解码方式,从画面内解码、使用前向运动矢量的画面间预测解码、使用后向运动矢量的画面间预测解码、以及使用前向运动矢量和后向运动矢量的画面间预测解码之中选择一个。也就是,此实施方式8的运动画面解码装置80的方式解码单元283,与实施方式2的运动画面解码装置20的方式解码单元223,仅在不使用直接方式这一点上不同,从而,此运动画面解码装置80,不具有运动画面解码装置20的运动矢量存储单元226。并且,实施方式8的运动画面解码装置80的其他组件,与实施方式2的运动画面解码装置20中的相同。
此外,此实施方式8的运动画面解码装置80,与实施方式6的运动画面解码装置60,在存储器控制单元284对位流生成单元104进行控制以使表示在对于对象画面以后的画面的编码处理时该对象画面是否被参照的标志插入到对应于该对象画面的位流中这一点上不同。另外,在运动画面解码装置80中,在P画面和B画面解码时所参照的候补画面也与上述实施方式6的运动画面解码装置60不同。此实施方式8的运动画面解码装置80中的其他组件,与实施方式6的运动画面解码装置60的相同。
接着,对运动画面编码装置80动作进行说明。
在此实施方式8的运动画面解码装置80中,输入由上述实施方式7的运动画面编码装置70所生成的位流Bs。
在此实施方式8中,在P画面解码时,将相对该P画面在时间上处于前方的接近的3个画面(I或者P画面)作为参照画面的候补使用。另一方面,在B画面解码时,将相对该B画面在时间上处于接近的前方的2个画面(I或者P画面)、处于前方的最接近的1个B画面、以及后方的1个I或者P画面作为参照画面的候补使用。但是,在对B画面进行解码时,对位于在时间上处于最接近的前方的I或者P画面的更靠前方的B画面不进行参照。此外,在I画面解码时,不参照其他的画面。
另外,表示在对P画面或B画面解码时、在候补画面中哪一个画面被作为参照画面的信息被作为位流Bs的标题信息Ih进行记述,并且该标题信息,由位流分析单元201抽取。
该标题信息Ih,被输出到存储器控制单元284。该标题信息,可作为序列整体的标题信息、以数个画面为单位(例如MPEF方式中的GOP等)的标题信息、画面单位的标题信息来进行记述。
输入到此运动画面解码装置80的位流Bs中的画面的顺序,如图36(a)所示,为画面的解码顺序。下面,对画面P13、B11、B12的解码处理按顺序具体地进行说明。
<画面P13的解码处理>
当对应画面P13的位流被输入到位流分析单元201时,位流分析单元201从输入的位流中抽取各种数据。各种数据是与方式选择有关的信息(编码方式)Ms、运动矢量MV的信息以及上述标题信息Ih等等。所抽取的编码方式Ms被输出到方式解码单元283。另外,所抽取的运动矢量MV被输出到运动补偿解码单元205。进而,由位流分析单元201所抽取的编码数据Ed被输出到预测误差解码单元202。
方式解码单元283,参照从位流抽取的方式选择的信息(编码方式)Ms,对开关209和210进行控制。在编码方式Ms为画面内编码方式,以及在编码方式Ms为画面间预测编码方式时对209和210的控制,与上述实施方式6的相同。
另外,方式解码单元283,将编码方式Ms输出到运动补偿解码单元205。
下面,对选择方式为画面间预测编码方式的情况进行说明。
由于预测误差解码单元202、运动补偿解码单元205、加法运算单元208的动作,与实施方式6中的相同,所以其说明省略。
图37表示由参照画面存储器207存储着数据的画面随时间变化的情形。
当画面P13的解码开始时,在参照画面存储器207的区域R1、R2、R3中存储有画面B8、P7、P10。对画面P13,将画面P7、P10用作参照画面的候补来实施解码处理,并且在存储了画面B8的存储区域R1中存储画面P13。这样的参照画面存储器中各画面的图像数据的改写是基于在位流中所附加的各画面的标题信息来进行的。此标题信息是表示在参照画面存储器207中,一直到画面P13的解码处理完成都应存储画面P7,一直到画面P16的解码处理完成都应存储画面P10,一直到画面B9的解码处理完成都应存储画面B8的信息。
换言之,由于能够判断画面B8在画面P13以后的画面被解码的过程中不再需要,所以存储画面B8的参照画面存储区域R1,由画面P13所改写。
另外,由于作为画面P13的标题信息,记述着表示画面P13一直到画面P19的解码完成都应存储于参照画面存储器中的信息,所以至少到该时为止被存储在参照画面存储器中。
如上所述,画面P13中的块按顺序进行解码。当对应于画面P13的块的编码数据全部被解码时,就开始对于画面B11的解码处理。
<画面B11的解码处理>
由于位流分析单元201、方式解码单元203以及预测误差解码单元202的动作与画面P13的解码处理中的相同,故对它们的动作说明省略。
运动补偿解码单元205,根据所输入的信息,如运动矢量的信息等,生成运动补偿图像数据Pd。也就是,输入到运动补偿解码单元205的信息是与对应于上述画面B11的运动矢量MV和参照画面索引有关的信息。画面B11将画面P10作为前向参照画面进行参照,并将画面P13作为后向参照画面进行参照来实施编码处理。从而,在画面B11解码时,这些候补画面P10、P13已经经过解码,并且对应的解码图像数据DId被存储于参照画面存储器207。
在编码方式为双向预测的画面预测编码方式的情况下,运动补偿解码单元205,基于表示前向运动矢量的信息,从参照画面存储器207取得前向参照图像,基于表示后向运动矢量的信息,从参照画面存储器207取得后向参照图像。然后,运动补偿解码单元205通过对前向参照图像和后向参照图像进行加法平均,生成运动补偿图像。这样所生成的运动补偿图像的数据Pd被输出到加法运算单元208。
加法运算单元208,将所输入的预测误差图像数据PDd和运动补偿图像数据Pd相加,输出加法图像数据Ad。如此生成的加法图像数据Ad,作为解码图像数据DId通过开关210输出到参照画面存储器207。
参照画面存储器控制单元284,基于作为位流的标题信息的,表示P画面和B画面是参照哪一候补画面来实施编码处理的信息,进行参照画面存储器207的控制。
图37表示参照画面存储器207中的画面的存储状态随时间变化的情形。
当画面B11的解码开始时,在参照画面存储器207中存储有画面P13、P7、P10。画面B11,将画面P10、P13用作参照画面来实施解码处理,在存储了画面P7的存储区域R2中存储画面B11。这样的参照画面存储器中各画面的图像数据的改写,是基于在位流中所附加的各画面的标题信息进行的。此标题信息是表示在参照画面存储器207中,画面P7一直到画面P13的解码处理完成时都应进行存储,画面P10一直到画面P16的解码处理完成时都应进行存储,画面P13一直到画面P19的解码处理完成时都应进行存储的信息。
换言之,由于能够判断画面P7在画面P13以后的画面被解码时不再需要,所以就在存储画面P7的参照画面存储区域R2中,存储画面B11。
另外,由于作为画面B11的标题信息,记述有表示画面B11一直到画面B12的解码完成时都应存储于参照画面存储器207中的信息,所以至少到该时为止,画面B11被存储在参照画面存储器207中。
如上所述,对应于画面B11的块的编码数据按顺序进行解码。当对应于画面B11的块的编码数据全部被解码时,进行画面B12的解码。
<画面B12的解码处理>
由于上述位流分析单元201、方式解码单元203以及预测误差解码单元202的动作,与画面P13解码处理时的动作相同,故它们的动作说明省略。
运动补偿解码单元205,根据所输入的运动矢量的信息等,生成运动补偿图像数据Pd。也就是,输入到运动补偿解码单元205的信息是对应于画面B12的运动矢量和参照画面索引。画面B12将画面P10和B11作为前向参照画面的候补使用,将画面P13作为后向参照画面进行参照来实施编码处理。这些候补画面P10、B11、P13已经经过解码,对应的解码图像数据被存储于参照画面存储器207。
在编码方式为双向预测编码方式的情况下,运动补偿解码单元205,根据参照画面索引来确定画面B12将画面P10、B11的哪一个画面用作前向参照画面来实施编码处理,然后,基于表示前向运动矢量的信息,从参照画面存储器207取得前向参照图像。另外,运动补偿解码单元205,基于表示后向运动矢量的信息,从参照画面存储器207取得后向参照图像。然后,通过对前向参照图像和后向参照图像进行加法平均,生成运动补偿图像。如此生成的运动补偿图像的数据Pd向加法运算单元208输出。
加法运算单元208,将输入的预测误差图像数据PDd和运动补偿图像数据Pd相加,输出加法图像数据Ad。如此生成的加法图像数据Ad,作为解码图像数据DId通过开关210输出到参照画面存储器207。
存储器控制单元284,基于从位流的标题信息所抽取的,P画面和B画面是使用哪些参照画面来实施编码处理之类的信息,进行参照画面存储器207的控制。
图37表示参照画面存储器207中的画面的存储状态随时间上变化的情形。当画面B12的解码处理开始时,在参照画面存储器207中存储有画面P13、B11、P10。画面B12,将画面P13、B11、P10用作参照候补画面来实施解码处理。由于表示画面B12在其他画面被解码时不用作参照画面之类的信息被作为标题信息进行记述,所以画面B12的解码数据就不存储在参照画面存储器207中,而作为输出图像数据Od输出。
如上所述,对应于画面B12的块的编码数据按顺序进行解码。存储于参照画面存储器207中的各画面的解码图像数据,以及未存储于参照画面存储器中的解码图像数据,如图36(b)所示,按显示时间顺序实施重排处理,作为输出图像数据Od进行输出。
其后,各与各画面相应的编码数据依照画面类型,通过与上述同样的处理,实施解码处理。
具体说来,对P画面与画面P13同样地实施对编码数据进行解码的处理,对连续的B画面的第1张B画面(画面B14、B17等等)实施与画面B11同样的解码处理。另外,对连续的B画面的第2张B画面(画面B15、B18等)实施与画面B12同样的解码处理。
如上所述,在本实施方式8的运动画面解码装置80中,由于在解码B画面时,将B画面用作参照候补画面,所以,就能够在编码B画面时,对通过作为前向参照的候补画面,除P画面外还使用B画面的编码处理所得到的位流正确地进行解码。另外,由于使用从位流得到的表示P画面和B画面是使用哪些参照画面来实施编码处理之类的信息,进行参照画面存储器的控制,所以参照画面存储器的有效利用就成为可能。也就是,通过预先使在以后的解码处理时被用作参照画面的画面的图像数据,保持在参照画面存储器中,并按顺序删除在以后的解码处理时不被用作参照画面的画面的图像数据,就能够有效地利用参照画面存储器。
本实施方式8,使用相应于在邻接的P画面之间插入2张B画面的图像序列的位流,但位于邻接的P画面之间的B画面的张数,并不限于2,例如也可以是3或4。
另外,在本实施方式8中,在P画面的解码处理时,作为前向参照的候补画面使用2张画面,但在P画面的解码处理时进行参照的前向候补画面的数量也可以是2以外的数量。
另外,在本实施方式8中,在B画面解码时,作为前向参照的候补画面,是使用1个P画面和1个B画面,且比相对解码对象B画面在时间上位置最接近的I或者P画面更加位于前方的B画面不用作参照画面,但在B画面的解码处理时作为参照候补画面使用的画面,也可以与上述实施方式8中所示的不同。另外,在B画面的解码处理时,比相对解码对象B画面在时间上位置最接近的I或者P画面更加位于前方的B画面也可以用作参照画面。
另外,在本实施方式8中,在其他画面解码时不被用作参照画面的画面的解码图像数据,不存储于参照画面存储器,但解码图像数据可以存储在此存储器中。
例如,在使各画面的解码图像数据的输出比各画面的解码略有延迟时,就需要将各画面的解码图像数据存储到参照画面存储器。在此情况下,在参照画面存储器上,设置与作为参照候补画面的解码图像数据进行存储的存储区域不同的区域,并在该区域中存储不用作参照画面的画面的解码图像数据。在此情况下,虽然参照画面存储器的存储容量增加,参照画面存储器的管理方法与上述实施方式8的相同,因此能够很容易实现参照画面存储器的管理。
尽管在上述的实施方式2、4、6、8中,全部画面都是用作参照候补画面,但不一定要全部画面都被用作参照候补画面。
简言之,通常,运动画面解码装置,不管已解码的画面是用作还是不用作参照候补画面,一旦被存储到解码缓冲存储器(解码帧存储器)之后,该已解码画面就从该解码缓冲存储器被依次读出并进行显示。
在本发明的实施方式2、4、6、8中,全部画面被用作参照候补画面,从而,已解码画面全部被存储到存储用作参照候补画面的参照画面存储器,之后,已解码画面从参照画面存储器被依次读出并进行显示。
但是,如上所述,并非已解码画面全部被用作参照候补画面。从而,也可以使已解码画面,一旦被存储到不仅保存不用作参照候补画面的画面,而且还保存用作参照候补画面的画面的解码缓冲存储器(解码帧存储器)之后,该已解码画面就从该解码缓冲存储器被依次读出并进行显示。
在上述各实施方式中,示出由硬件实现运动画面编码装置或者运动画面解码装置,但这些装置也可以由软件实现。在此情况下,通过预先将用于进行上述各实施方式中所示的编码处理或者解码处理的程序记录到软磁盘等的数据存储介质,在独立的计算机系统中就可以很容易地实现上述运动画面编码装置或者运动画面解码装置。
图38(a)-38(c)是用于说明执行实施方式1、3、5、7的任何一个的运动画面编码处理和实施方式2、4、6、8的任何一个的运动画面解码处理的计算机系统的图。
图38(a)表示包含在计算机系统中使用的程序的存储介质的软磁盘FD的正视图、其剖视图以及软磁盘主体D。图38(b)表示软磁盘主体D的物理格式的例子。
软磁盘FD将上述磁盘主体D内置于外壳F内,在该磁盘主体D的表面上,以同心圆形状从外周向内周形成多个磁道Tr,各磁道沿角度方向被分成为16个扇区Se。从而,在存储了上述程序的软磁盘FD中,用于进行上述运动画面编码处理或者运动画面解码处理的程序就被记录于在上述磁盘主体D上所赋予的存储区域(扇区)中。
另外,图38(c)表示用于在软磁盘FD中进行上述程序的记录或再现的结构。在将上述程序记录于软磁盘FD中时,通过软磁盘驱动器FDD从计算机系统Csys将上述程序写入到软磁盘FD。在利用记录于软磁盘FD内的程序在计算机系统中构筑上述运动画面编码装置或者运动画面解码装置时,通过软磁盘驱动器FDD将上述程序从软磁盘FD读出并传送到计算机系统Csys。
尽管在上述说明中,作为记录介质是以软磁盘为例进行举例,但使用光盘也能够与使用上述软磁盘的情况同样地进行利用软件的运动画面编码处理或者运动画面解码处理。另外,记录介质并不限于此,也可以是CD-ROM、存储卡、ROM盒式磁带等,只要能够记录程序即可。在使用这些数据记录介质的情况下也能够与使用上述软磁盘的情况同样地由计算机系统进行运动画面编码处理或者运动画面解码处理。
下面,对上述实施方式中所示的运动画面编码方法和运动画面解码方法的应用实例以及使用它的系统进行说明。
图39是表示实现内容配送服务的内容供给系统1100的整体结构的框图。
通信服务的提供区被分成为所希望大小的区域(小区),在各小区内分别设置有作为固定无线电台的基站1107~1110。
在此内容供给系统1100中,例如,通过因特网服务提供商1102、电话网1104、以及基站1107~1110,计算机1111、PDA(个人数字助理)1112、照相机1113、便携电话1114、带照相机的便携电话1200等各设备被连接到因特网1101。
但是,内容供给系统1100并不限定要包含所有图39所示的多个设备,也可以包含图39所示的多个设备的一部分。另外,各设备也可以不通过作为固定无线电台的基站1107~1110而直接连接到电话网1104。
照相机1113是类似数字摄相机的可对物体进行运动画面摄影的设备。另外,便携电话是PDC(Personal Digital Communication)方式、CDMA(Code Division Multiple Access)方式、或者GSM(Global System for Mobile Communications)方式的便携电话机,或者也可以为PHS(Personal Handyphone System)等,任意一种方式。
流服务器1103,通过基站1109,电话网1104与照相机1113连接。在此系统中,使用照相机1113可进行基于用户发送的已编码处理的数据的现场配送。所拍摄的数据的编码处理既可以由照相机1113,也可以由进行数据的发送处理的服务器等进行。由照相机1116对运动画面进行拍摄所得到的运动画面数据也可以通过计算机1111发送给流服务器1103。照相机1116是等能够拍摄物体的静止画面或运动画面的设备,如数字照相机。在此情况下,运动画面数据的编码由照相机1116、计算机1111的哪一个进行均可。另外,编码处理由计算机1111和照相机1116具有的LSI1117进行。
图像编码/解码用的软件可以存储在作为可由计算机1111等读取的记录介质的存储介质(CD-ROM、软磁盘、硬磁盘等)中。进而,运动画面数据也可以由带照相机的便携电话1200进行发送。此运动画面数据是由便携电话1200具有的LSI进行编码处理的数据。
在此内容供给系统1100中,用户通过照相机1113或照相机1116等拍摄的内容(例如,拍摄音乐会的视频实况等),与上述实施方式同样地进行编码处理后从照相机发送给流服务器1103。从流服务器1103,对提出请求的客户机将上述内容数据进行流配送。
作为客户机,有可以对上述编码处理的数据进行解码的计算机1111、PDA1112、照相机1113、便携电话1114等。
在这样的内容供给系统1100中,能够在客户机侧接收并再现经过编码的数据,进而通过在客户机侧实时地进行接收和解码,并进行再现,就还能够实现私人播放。
在构成此系统的各设备的编码、解码中使用上述各实施方式所示的运动画面编码装置或者运动画面解码装置。
作为运动画面编码或解码装置的一例,对便携电话进行说明。
图40是表示使用上述任意一个实施方式中所说明的运动画面编码方法和运动画面解码方法的便携电话1200的图。
此便携电话1200具有,用于与基站1110之间收发电波的天线1201,可拍摄物体的视频图象或静止画面的照相机单元1203,如CCD照相机,显示由照相机单元1203所拍摄的视频图象、由天线1201所接收的视频图象等的数据的液晶显示器等的显示单元1202。
便携电话1200具有,安装有多个操作键的主体单元1204,用于进行语音输出的扬声器等的语音输出单元1208,用于进行语音输入的麦克风等的语音输入单元1205,用于保留所拍摄的运动画面或静止画面的数据、所接收的邮件的数据、运动画面的数据或者静止画面的数据等、所编码的数据或者所解码的数据的记录介质1207,用于可将记录介质1207安装到便携电话1200的插槽单元1206。
记录介质1207在塑料外壳内具有作为电可可擦写非易失性存储器的EEPROM(Electrically Erasable Programmable Read OnlyMemory)的一种闪速存储器元件,如SD卡。
下面使用图41对便携电话1200更详细地进行说明。
便携电话1200,具有对配置有显示单元1202和操作键1204的主体单元的各部件总括地进行控制的主控制单元1241。
便携电话1200,还具有电源电路单元1240、操作输入控制单元1234、图像编码单元1242、照相机接口单元1233、LCD(LiquidCrystal Display)控制单元1232、图像解码单元1239、多路化/分解单元1238、记录/再现单元1237、调制解调电路单元1236以及语音处理单元1235。便携电话1200的各部件,通过同步总线1250相互连接。
电源电路单元1240,当由用户操作将呼叫端/电源供电键变成为接通状态时,通过由电池组对各部件供电,启动带照相机的便携电话1200为可动作状态。
在便携电话1200中,通过由CPU、ROM以及RAM等组成的主控制单元1241的控制控制各部件动作。具体言之,在便携电话1200中,在语音通话方式时通过向语音输入单元1205的语音输入所得到的语音信号,由语音处理单元1235变换成数字语音数据。数字语音数据由调制解调电路单元1236实施扩频处理,进而由收发电路单元1231实施数字模拟变换处理和频率变换处理,通过天线1201进行发送。
在此便携电话1200中,在语音通话方式时由天线1201所接收的接收信号被放大并实施频率变换处理和模拟数字变换处理。接收信号再由调制解调电路1236实施逆扩频处理,由语音处理单元1235变换成模拟语音信号,此信号通过语音输出单元1208输出。
在便携电话1200在数据通信方式时发送电子邮件的情况下,通过主体单元的操作键1204的操作所输入的电子邮件的文本数据,通过操作输入控制单元1234发送到主控制单元1241。主控制单元1241,对各部件进行控制以使由调制解调电路1236对文本数据实施扩频处理,在由收发电路单元1231实施数字模拟变换处理和频率变换处理之后通过天线1201向基站1110发送。
在便携电话1200在数据通信方式下发送图像数据时,由照相机单元1203所拍摄的图像数据通过照相机接口单元1233供给到图像编码单元1242。在便携电话1200中,在不发送图像数据的情况下,也可以通过照相机接口单元1233和LCD控制单元1232将由照相机单元1203拍摄所得到的图像数据直接显示于显示单元1202。
图像编码单元1242配置有上述各实施方式中任意一个中所说明的运动画面编码装置。此图像编码单元1242,通过由上述实施方式中任意一个的运动画面编码方法对从照相机单元1203所供给的图像数据进行压缩编码而变换成编码图像数据,发送给多路化/分解单元1238。另外,同时,便携电话1200将由照相机单元1203在摄影中输入到语音输入单元1205的语音通过语音处理单元1235作为数字的语音数据发送给多路化/分解单元1238。
多路化/分解单元1238,以预定的方式对从图像编码单元1242供给的编码图像数据和从语音处理单元1235供给的语音数据进行多路化。其结果所得到的多路化数据由调制解调电路1236实施扩频处理,进而由收发电路单元1231实施数字模拟变换处理和频率变换处理,通过天线1201进行发送。
便携电话1200,在数据通信方式下接收在主页等中所链接的运动画面文件的数据时,通过天线1201从基站1110接收到的接收信号,由调制解调电路1236实施逆扩频处理,其结果所得到多路化数据发送给多路化/分解单元1238。
在对通过天线1201所接收的多路化数据进行解码时,多路化/分解单元1238,通过对多路化数据进行分解而分成图像数据的编码位流和语音数据的编码位流,通过同步总线1250将该编码图像数据供给图像解码单元1239,同时将该语音数据供给语音处理单元1235。
图像解码单元1239,配置有利用本发明的实施方式中任何一个的运动画面解码装置。图像解码单元1239,通过以对应于上述实施方式中的任何一个的编码方法的解码方法,对图像数据的编码位流进行解码来生成再现运动画面数据,并通过LCD控制单元1223将其供给显示单元1202。由此,来进行在例如主页所链接的运动画面文件中所包含的运动画面数据的显示。与此同时,音频处理单元1235,在将音频数据变换成模拟音频信号之后将其供给语音输出单元1208。由此,来进行在例如主页所链接的运动画面文件中所包含的音频数据的再现。
此处,可应用上述实施方式中的任何一个的运动画面编码方法和运动画面解码方法的系统,并于限于上述内容供给系统的例子。
最近,利用卫星或地面波的数字广播成为热门话题,上述实施方式的图像编码装置和图像解码装置,也可以如图42所示那样应用于数字广播用系统。
更具体来讲,相应于视频信息的编码位流通过无线通信从广播电台1409发送到通信卫星或者广播卫星等卫星1410。当广播卫星1410接收到上述视频图象信息的编码位流时,输出广播用的电波,此电波由拥有卫星广播接收设备的家庭的天线1406接收。例如,在电视机(接收机)1401或者机顶盒(STB)1407等的装置中,对编码位流进行解码,而再现视频信息。
另外,在读取记录于作为记录介质的CD和DVD等的存储介质1402的编码位流并进行解码的再现装置上,也可以安装上述实施方式中任何一个所示的运动画面解码装置。
在此情况下,再现的视频信号显示于监视器1404上。也可在连接到电缆电视用的电缆1405或者卫星/地面波广播的天线1406的机顶盒1407内安装运动画面解码装置,由电视机的监视器1408对该运动画面解码装置的输出进行再现。在此情况下,运动画面解码装置,也可以不装在机顶盒,而是装在电视机内。另外,也可以在具有天线1411的汽车1412中,从卫星1410或者基站1107等接收信号,在搭载于汽车1412中的汽车导航1413等显示装置上对运动画面进行再现。
进而,也可以由上述实施方式中任何一个中所示的运动画面编码装置对图像信号进行编码,并记录到记录介质。
在具体例子的记录装置是记录器1420,如将图像信号记录到DVD盘1421的DVD记录器,和将图像信号记录到硬磁盘的磁盘记录器等。图像信号,也可以记录到SD卡1422。另外,如果记录器1420具备上述实施方式中任何一个中所示的运动画面解码装置,则能够通过记录器1420,对在DVD盘1421和SD卡1422中所记录的图像信号进行再现,由监视器1408进行显示。
此处,作为汽车导航1413的结构,可包括在图41所示的便携电话的结构中的照相机单元1203、照相机接口单元1233、图像编码单元1242以外的部分,对计算机1111和电视机(接收机)1401等也同样。
另外,作为便携电话1114的终端,可安装:具有编码器/解码器两者的收发式终端,仅具有编码器的发送终端和仅具有解码器的接收终端等3种。
如上所述,在上述的任何设备/系统中都可以使用上述实施方式中任何一个所示的运动画面编码方法或者运动画面解码方法,通过这样处理就能够取得在上述实施方式中所说明的效果。
此外,无需赘言,本发明的实施方式及其应用实例,并不限于本说明书中所示。
如上所述,根据本发明运动画面编码方法和运动画面解码方法,在成为编码或者解码对象的对象画面为B画面时,作为对于对象画面的参照画面,可以使用位于该对象画面的最接近的前向画面,能够提高B画面的运动补偿的预测精度,并获得编码效率的提高。特别是,这些方法在传送或者存储运动画面数据的数据处理中很有用。