具体实施方式
下面,对本发明的实施形式进行说明。
(实施形式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所检测的运动矢量MV、由方式选择单元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。
接着对动作进行说明。
此外,在下面的各实施形式的说明中,显示时间比成为编码对象的画面(对象画面)要早的画面(前向画面)是指相对对象画面在时间上位于前方的画面,或者也简单地叫做位于对象画面的前方的画面。另外,显示时间比对象画面要迟的画面(后向画面)是指相对对象画面在时间上位于后方的画面,或者也简单地叫做位于对象画面的后方的画面。另外,在下面的各实施形式的说明中“时间上”这样的表达,只要没有事先做特别说明则表示“按显示时间顺序”的含义。
在实施形式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,相当于图43所示的画面F(k+3)~F(k+18)[k=-2],按显示顺序,也就是沿显示时间轴从显示时间早的开始按顺序进行排列。
在帧存储器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中。
在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。
此时,在编码方式为进行前方参照的编码方式的情况下,前向运动矢量是参照画面P4、P7、P10的哪个所检测出的运动矢量之类的信息(参照画面信息)Rp也被附加到代码序列中。
接着,对帧存储器的管理方法,和表示候补画面中的参照画面的信息(参照画面信息)进行说明。
图3表示在参照画面用存储器(帧存储器)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以后(包含画面P13)的编码时被用作参照画面的候补画面,画面B8,在画面P13以后的编码时不会被用作参照画面。此外,在图3中,圆形记号所示的画面,是在对象画面的编码完成了的时刻,最后被积蓄于帧存储器117的画面(对象画面)。
接着,对作为参照画面的信息将具体的参照画面编号分配给候补画面的方法进行说明。
此参照画面编号,是表示在各块的编码时,在参照画面的候补画面中哪个画面被用作参照画面的信息。换言之,上述参照画面编号,是表示成为编码对象的对象画面(画面P13)的对象块的运动矢量,表示参照作为参照画面候补的画面P4、P7、P10的哪个所检测出的运动矢量的信息。并且,在参照画面编号的分配中,使用从距对象画面在时间上最近的候补画面开始按顺序分配编号的方法。
具体来讲就是,当在对象画面P13的块的编码时,画面P10被指定成参照画面的情况下,则在对象画面P13的代码序列中附加,表示对象画面P13的1张前的候补画面被指定成参照画面的信息(参照画面编号[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画面的编码方式,例如,从画面内编码、使用了前向运动矢量的画面间预测编码、使用了后向运动矢量的画面间预测编码、使用了双向运动矢量的画面间预测编码,以及直接方式中进行选择。这里在编码方式为使用了前向运动矢量的画面间预测编码的情况下,从画面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×TRF/TRD ...(公式1)
MVB=(TRB-TRD)×MVR/TRD ...(公式2)
这里,设MVF、MVB分别表达运动矢量的水平成分、垂直成分。
另外,MVR是,运动矢量MVc1的大小(由正负符号表示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×TRB/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。在这里,此块通过双向预测编码处理被编码,表示运动矢量的信息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]作为表示参照了对象画面1张前的候补画面的信息被记述于对于对象块的代码序列中。同样地,在参照了画面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画面的编码方式,例如,从画面内编码、使用了前向运动矢量的画面间预测编码、使用了后向运动矢量的画面间预测编码、使用了双向运动矢量的画面间预测编码,以及直接方式中进行选择。这里在编码方式为使用了前向运动矢量的画面间预测编码的情况下,从画面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。运动矢量MVf6是块BLb6被编码时所使用的运动矢量,被存储在运动矢量存储单元116中。运动矢量MVf6,表示画面P7的对应块BLb6的区域CRf6。在块BLa6中使用与运动矢量MVf6平行的运动矢量,基于作为参照画面的画面B11和画面P13实施双向预测编码处理。在此情况下,对块BLa6进行编码时使用的运动矢量MVg6、及MVh6是表示画面B11的对应块BLa6的区域CRg6的运动矢量,及表示画面P13的对应块BLa6的区域CRh6的运动矢量。此情况下的运动矢量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进行编码时使用的运动矢量MVd7、MVe7是,表示画面P7的对应块BLa7的区域CRd7的运动矢量,及表示画面P13的对应块BLa7的区域CRe7的运动矢量。
上述运动矢量MVd7及MVe7的大小MVF、MVB,可分别由上述(公式2)、(公式3)求出。
这里,当在块BLb7的编码时所参照的画面已经从帧存储器117删除的情况下,将在时间上最近旁的前向参照画面P10用作直接方式中的前向参照画面即可。此情况下的直接方式中的处理,与直接方式的第1例相同。
这样由于在图8(a)所示的直接方式下的处理中,对在对象块的编码时所后向参照的画面的,位于与该对象块相对地相同的位置的块BLb7的运动矢量MVc7进行定标,求出对于对象块的前向运动矢量MVd7和后向运动矢量MVe7,所以在直接方式被选择的情况下,就不需要发送对象块的运动矢量的信息。
[直接方式编码的第4例]
接着,说明使用直接方式的编码处理的第4例。
图8(b)表示以直接方式对画面(对象画面)B12的块(对象块)BLa8进行编码的处理的第4例。
在此情况下,在对象块BLa8中,基于作为前向参照画面所选择的最近旁的画面P10和作为后向参照画面的画面P13,实施将运动矢量设为0的双向预测处理。即,此情况下对块BLa8进行编码时使用的运动矢量MVf8、MVh8是,表示画面P10的与对象块BLa8相对地相同位置的区域(块)CRf8的运动矢量,及表示画面P13的与对象块BLa8相对地相同位置的区域(块)CRg8的运动矢量。
这样在图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画面用作参照画面,由本实施形式所取得的其他的效果也不会改变。
另外,在实施形式1中,由于将对于B画面的前向参照的候补画面设为2张P画面和1张B画面,所以当与现有将对于B画面的前向参照的候补设为3张P画面的情况比较时,就能够在对于B画面的前向参照的候补画面的数量上没有变化地,回避由于在对于B画面的前向参照的候补画面中包含B画面而导致的,积蓄参照候补画面的帧存储器的容量增大和运动检测的处理量的增大。
另外,在本实施形式中,通过把表示对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画面之间,或者邻接的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 ofpictures)、由多个块组成的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进行说明。
关于存储器管理,由于与图11所示的第1例相同故省略其说明。
在此情况下,作为参照画面信息的附加方法,使用使保存在P画面用存储区域中的画面优先进行编号附加的方法。但由于在画面P13的编码中,B画面不被用作参照画面,故不对B画面进行编号附加。从而,对画面P10赋予参照画面编号[0],对画面P7赋予参照画面编号[1],对画面P4赋予参照画面编号[2]。
接着,对将作为参照画面所使用的全部画面分割成P画面的B画面进行管理的情况下的第3例,使用图13进行说明。
关于存储器管理,由于与图11所示的第1例相同故省略其说明。
在此情况下,作为参照画面信息的附加方法,使用使保存在B画面用存储区域中的画面优先进行编号附加的方法。但由于在画面P13的编码中,B画面不被用作参照画面,故不对B画面进行编号附加。从而,对画面P10赋予参照画面编号[0],对画面P7赋予参照画面编号[1],对画面P4赋予参照画面编号[2]。
接着,对将作为参照画面所使用的全部画面分割成P画面的B画面进行管理的情况下的第4例,使用图14进行说明。
关于存储器管理,由于与图11所示的第1例相同故省略其说明。
在此情况下,作为参照画面信息的附加方法,使用对进行编码的每个画面,决定是使在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画面进行管理的方法)进行说明。
首先,对将参照候补画面分割成P画面的B画面进行管理的第1例,使用图11进行说明。
当画面B11的编码开始时,在帧存储器117中,画面P4、P7、P10、P13被保持于P画面用存储区域,B8、B9被保持于B画面用存储区域。然后画面B11将画面P7、B9、P10用作前向参照的候补画面,将画面P13用作后向参照的候补画面来进行编码。已编码的画面B11,保持于保持了画面P8的存储区域。这是因为画面B8在画面B11以后的画面的编码中,不作为参照画面进行使用。
在此情况下,作为将参照画面信息,也就是用于识别前向运动矢量是参照画面P7、B9、P10的哪个参照候补画面所得到的运动矢量的信息分配给各画面的方法,与图3所示的分配方法的例子同样地,使用从在时间上距对象画面最近的开始按顺序对参照候补画面赋予编号的方法。
也就是,对对象画面(画面B11)1张前的候补画面(画面P10)赋予参照画面编号[0],对对象画面2张前的候补画面(画面B9)赋予参照画面编号[1]。对对象画面3张前的候补画面(画面P7)赋予参照画面编号[2]。
接着,对在画面B11的编码时,将参照候补画面分割成P画面的B画面进行管理的第2例,使用图12进行说明。
在此例中,关于存储器管理,由于与图11中所说明的第1例相同故省略说明。
在此情况下,作为参照画面信息的附加方法,使用使保存在P画面用存储区域中的画面优先进行编号附加的方法。从而,对画面P10赋予参照画面编号[0],对画面P7赋予参照画面编号[1],对画面B9赋予参照画面编号[2]。
接着,对在画面B11的编码时,将参照候补画面分割成P画面的B画面进行管理的第3例,使用图13进行说明。
在此第3例中,关于存储器管理,由于与图11中所说明的第1例相同故省略说明。
在此情况下,作为参照画面信息的附加方法,使用使保存在B画面用存储区域中的画面优先进行编号附加的方法。从而,对画面B9赋予参照画面编号[0],对画面P10赋予参照画面编号[1],对画面P7赋予参照画面编号[2]。
接着,对在画面B11的编码时,将参照候补画面分割成P画面的B画面进行管理的第4例,使用图14进行说明。
在此第4例中,关于存储器管理,由于与图11中所说明的第1例相同故省略说明。
在此情况下,作为参照画面信息的附加方法,使用对进行编码的每个画面,决定是使在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例相同故省略说明。
在此情况下,作为将参照画面信息,也就是用于识别前向运动矢量是参照画面P7、P10、B11的哪个参照候补画面所得到的运动矢量的信息分配给各画面的方法,使用对进行编码的每个画面,决定是使在P画面用存储区域和B画面用存储区域的哪个区域中所保存的候补画面优先的方法。
具体来讲例如,在画面B12的编码中,根据距对象画面在时间上最靠近的参照画面的种类,来决定是使哪个存储区域的候补画面优先进行编号附加。
由于在画面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的运动图像解码装置用的框图。
此实施形式2的运动图像解码装置20,对从上述实施形式1的运动图像编码装置10输出的代码序列Bs进行解码。
也就是,此运动图像解码装置20具有,分析上述代码序列Bs进行各种数据的抽取的代码序列分析单元201,对从该代码序列分析单元201输出的编码数据Ed进行解码并输出预测误差数据PDd的预测误差解码单元202,和基于与由该代码序列分析单元201所抽取的方式选择有关的方式信息(编码方式)Ms输出开关控制信号Cs,同时输出该方式信息(编码方式)Ms的方式解码单元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。
接着对动作进行说明。
此外,在下面的说明中,相对成为解码对象的对象画面在显示时间轴上位于前方或者后方的画面,是指相对对象画面在时间上处于前方或者后方的画面,或者也简单地叫做前向或者后向画面。
在图15所示的运动图像解码装置20中,输入由实施形式1的运动图像编码装置10所生成的代码序列Bs。在这里,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,根据参照帧编号Rp,来决定上述画面P13的对象块,是将上述画面P4、P7、P10的哪个画面用作参照画面进行编码的。然后,运动补偿解码单元205基于运动矢量,从参照画面用存储器207,将对应参照画面中的对象块的区域的图像作为运动补偿图像来进行取得。
使用图3来说明由参照画面用存储器207保持的画面的时间变化的情形,以及参照画面的决定方法。
参照画面用存储器207的控制,由存储器控制单元204,基于从代码序列的标题信息所抽取的,表示P画面和B画面是进行怎样的参照所得到的信息(参照画面信息)来进行。
如图3所示那样,参照画面用存储器207具有5个画面量的存储区域(#1)~(#5)。当画面P13的解码开始时,在参照画面用存储器中保持有画面B8、P4、P7、P10、B9。然后画面P13将画面P4、P7、P10用作参照画面的候补来进行解码,在保持了画面B8的存储区域中,保持所解码的画面P13。这是因为,画面P4、P7、P10,在对于画面P13以后(包含画面P13)的画面的解码时被用作参照画面的候补,画面B8,在对于画面P13以后(包含画面P13)的画面的解码时不被用作参照画面。
此外,在图3中,圆形记号所示的画面,是在对象画面的解码完成了的时刻,最后被积蓄于参照画面用存储器207的画面(对象画面)。
在此情况下,画面P13的对象块的运动矢量是参照哪个画面而得到,就能够根据附加于运动矢量的参照画面信息来进行决定。
在这里,参照画面信息具体来讲就是参照画面编号。并且,对对于画面P13的参照候补画面赋予参照画面编号。此时,对参照候补画面所分配的参照画面编号成为,参照候补画面距对象画面(画面P13)在时间上越近,值就越小的编号。
也就是,当在对画面P13的对象块进行编码时参照了画面P10的情况下,表示对象画面的1张前的候补画面(画面P10)被用作参照画面的信息(例如参照画面编号[0])就记述在对象块的代码序列中。另外,当在对对象块进行编码时参照了画面P7的情况下,表示对象画面的2张前的候补画面被用作参照画面的信息(例如参照画面编号[1]),在参照了画面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的是运动矢量和参照画面编号。画面B11通过将画面P7、B9和P10用作前向参照的候补画面,且将画面P13用作后向参照的候补画面的预测编码处理而得到。这些参照候补画面在对象画面的解码时刻已经被实施解码处理并积蓄到参照画面用存储器207。
下面,使用图3来说明由参照画面用存储器207保持的画面的时间变化的情形,以及参照画面的决定方法。
参照画面用存储器207的控制,由存储器控制单元204,基于从代码序列的标题信息所抽取的,P画面和B画面是进行怎样的参照被编码之类的信息Ih来进行。
当画面B11的解码开始时,如图3所示那样,在参照画面用存储器中保持有画面P13、P4、P7、P10、B9。然后在画面B11中,将画面P7、B9、P10用作前向参照的候补画面,将画面P13用作后向参照画面来实施解码处理,在保持了画面P4的存储区域中,保持所解码的画面B11。这是因为,画面P4在画面B11以后的画面的解码时不被用作参照画面的候补。
在此情况下,前向运动矢量是参照哪个候补画面而得到,就能够根据附加于运动矢量的参照画面信息来进行决定。
也就是,当在对画面B11的对象块进行编码时参照了画面P10的情况下,表示对象画面的1张前的候补画面(画面P10)被用作参照画面的信息(例如参照画面编号[0])就记述在对象块的代码序列中。另外,当在对对象块进行编码时参照了画面B9的情况下,表示对象画面的2张前的候补画面被用作参照画面的信息(例如参照画面编号[1]),在参照了画面P7的情况下,表示对象画面的3张前的候补画面被用作参照画面的信息(例如参照画面编号[2]),就附加在对象块的代码序列中。
从而,根据此参照画面编号,就能够得知在对象块的编码时哪个候补画面被用作参照画面。
运动补偿解码单元205,在方式选择为双向预测的画面预测编码的情况下,根据参照画面编号,来决定对画面P7、B9和P10的哪个画面进行前向参照。然后,基于前向运动矢量从参照画面用存储器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和在该后向参照画面(基准画面)的块(基准块)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),由上述(公式1)、(公式2)求出。
此外,这里,当在块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)作为跳跃块来进行处理的情况下,在运动图像解码装置20中,当由代码序列分析单元201检测出代码序列Bs中的跳跃标识符Sf,该跳跃标识符Sf被输入到方式解码单元223时,方式解码单元223对运动补偿解码单元发出指令使其以直接方式进行运动补偿。
于是,在运动补偿解码单元205中,如上述那样,基于作为前向参照图像的前向参照画面P10的,与作为跳跃块的块相同位置的块的图像,和作为后向参照图像的,与作为跳跃块来处理的块相同位置的块的图像,取得块MB(r+1)和MB(r+2)的预测图像,并将预测图像的数据输出到加法运算单元208。另外,预测误差解码单元202,作为被处理为跳跃块的块的差分数据,输出值为0的数据。在加法运算单元中,由于作为跳跃块来处理的块的差分数据为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),由上述(公式1)、(公式2)求出。
此外,这里,当在块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画面的解码对象块以直接方式进行编码的情况下,基于已解码的P画面的,与该解码对象块相同位置的块的运动矢量,来计算解码对象块的运动矢量,所以就没有必要在解码侧从编码侧取得以直接方式所编码的块的运动矢量的信息。
另外,由于在运动图像解码装置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的情况进行了说明,但它也可以是别的值。
另外,尽管在本实施形式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同样的处理。
下面,具体地进行说明。
此实施形式3的运动图像编码装置30,取代实施形式1的运动图像编码装置10中的编码控制单元110,置备根据来自外部的控制信号Cont,将对候补画面分配参照画面编号的方法,切换成按照被初始设定的规则对候补画面分配参照画面编号的方法(缺省分配方法),和包含利用缺省分配方法对候补画面分配参照画面编号的第1步骤,与对利用缺省分配方法而分配给候补画面的参照画面编号适应地进行变更的第2步骤的方法(适应分配方法)的任何一个的编码控制单元130。
另外,编码控制单元130具有,按每个编码对象画面对多个参照候补画面,分别检测用作参照画面情况下的编码效率的检测单元(未图示),依照由该检测单元所检测出的编码效率,来变更对于利用缺省分配方法所设定的各候补画面的参照画面编号。
具体来讲,编码控制单元130对利用缺省分配方法所设定的各候补画面的参照画面编号的值,以使在对于对象画面的多个参照候补画面中,用作参照画面情况下的对象画面的编码效率越高,参照画面编号的值越小。
然后,方式选择单元139,在直接方式中,作为对于对象块的前向参照画面,将被赋予参照画面编号[0]的画面选择为前向参照画面。此外,方式选择单元139,在直接方式以外的预测编码方式,例如双向预测方式中,依照编码效率进行从多个候补画面选择参照画面的处理。
此实施形式3的运动图像编码装置30的其他的结构,与实施形式1的运动图像编码装置10中的相同。
接着对动作进行说明。
在此运动图像编码装置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)所示那样不解码预定的画面地进行处理。
进而如本实施形式3那样不管在P画面间有2张B画面的情况如何,如图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的运动图像解码装置的框图。
此实施形式4的运动图像解码装置40,接收来自实施形式3的运动图像编码装置30的代码序列,基于在该代码序列中所包含的,表示以上述缺省分配方法和上述适应分配方法的哪个进行参照画面编号的分配的信息(分配方法指示信息),进行各画面的解码处理。
也就是,此实施形式4的运动图像解码装置40的一个动作形式为实施形式2的运动图像解码装置20的动作,换言之,实施形式4的运动图像解码装置40,在作为参照画面编号的分配方法使用缺省分配方法的情况下,则运动图像解码装置40的动作,与实施形式2的运动图像解码装置20相同。
下面,具体地进行说明。
此实施形式4的运动图像解码装置40,取代实施形式2的运动图像解码装置20中的存储器控制单元204,置备基于在代码序列中作为标题信息所包含的分配方法指示信息,进行与上述缺省分配方法和适应分配方法的任何一个相应的存储器的管理的存储器控制单元244。
此实施形式4的运动图像解码装置40的其他的结构,与实施形式2的运动图像解码装置20中的相同。
接着对动作进行说明。
此运动图像解码装置40,进行与在来自运动图像编码装置30的代码序列中作为标题信息所包含的分配方法指示信息相应的动作。
也就是,此运动图像解码装置40,当在编码侧缺省分配方法被选择为参照画面编号的分配方法的情况下,也就是,在代码序列中包含表示缺省分配方法被选择的信息的情况下,与实施形式2的运动图像解码装置20的同样地进行动作。
另外,此运动图像解码装置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)所示那样不解码预定的画面地进行处理。
进而如本实施形式4那样不管在P画面间有2张B画面的情况如何,如图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的运动图像编码装置用的框图。
此实施形式5的运动图像编码装置50,在P画面和B画面的编码时进行前向参照的候补画面,以及对于B画面的编码方式与上述实施形式1的运动图像编码装置10不同。
也就是,此实施形式5的运动图像编码装置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的运动图像编码装置50的方式选择单元159,在P画面的块的编码时,作为对象块的编码方式,从画面内编码、使用运动矢量的画面间预测编码、和不使用运动矢量(将运动设为0来进行处理)的画面间预测编码中选择一个,在B画面的块的编码时,作为对象块的编码方式,从画面内编码、使用前向运动矢量的画面间预测编码、使用后向运动矢量的画面间预测编码、以及使用前向运动矢量和后向运动矢量的画面间预测编码中选择一个。也就是,此实施形式5的运动图像编码装置50的方式选择单元159,与实施形式1的运动图像编码装置10的方式选择单元109,仅在不使用直接方式这一点上不同,从而,此运动图像编码装置50,不具有运动图像编码装置10的运动矢量存储单元116。
另外,此实施形式5的运动图像编码装置50的,编码控制单元150和方式选择单元159以外的部分,与实施形式1的运动图像编码装置10中的相同。
接着对动作进行说明。
输入画面按显示时间顺序以画面单位被输入到输入画面用存储器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画面先进行编码。
在这里,在P画面的编码时,在时间上处于其前方的近旁的4个画面(I或者P画面)被用作参照画面的候补。另外,在B画面的编码时,在时间上处于其近旁的前方的4个画面(I或者P画面)、在时间上处于其前方的最近旁的1个B画面以及处于后方的最近旁的I或者P画面被用作参照画面的候补。
在输入画面用存储器101中进行了改排的各画面,按每个运动补偿的单位被读出。在这里,运动补偿的单位,为水平16×垂直16像素大小的,也就是将像素排列成矩阵状的矩形区域,水平方向的像素数和垂直方向的像素数均为16像素的区域(宏块)。但在下面的说明中,宏块简称为块。
下面,对画面P15、B13、B14的编码处理按顺序进行说明。
<画面P15的编码处理>
由于画面P15是P画面,所以对此画面实施使用前向参照的画面间预测编码。另外,在P画面的编码中,B画面不用作参照画面。
图28表示参照画面用存储器117中的画面管理的情形。
例如,在画面P15的编码开始时刻,在参照画面用存储器117中,在分配了逻辑存储器编号的存储区域上,从逻辑存储器编号的值小的开始按顺序,积蓄有画面P12、B11、P9、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连接到输出端子Tb1,开关112其输出端子Td连接到输入端子Tc1。在选择了画面间预测编码的情况下,进行控制以使开关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、B14、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画面的张数也可以为其他的张数。
另外,尽管在上述实施形式5中,对在P画面的编码时所前向参照的候补画面的数量为4的情况进行了说明,但它也可以是别的值。
另外,尽管在上述实施形式5中,对在B画面的编码时所前向参照的候补画面,为4个P画面和1个B画面的情况进行了说明,但对于B画面的前向参照的候补画面并不限于这些画面。
另外,尽管在上述实施形式5中,对成为编码对象的,构成运动图像的各画面在该各画面以后的其他画面的编码时被用作参照画面的情况进行了说明,但成为编码对象的,运动图像的多个画面也可以包含不被用作参照画面的画面。在此情况下,通过在参照画面用存储器中不积蓄不被用作参照画面的画面,就取得与上述实施形式5同样的效果。
另外,尽管在上述实施形式5中,说明了对于B画面的编码是将其他的B画面用作参照候补画面来进行情况,但对于B画面的编码也可以不参照其他的B画面来进行。在此情况下,通过在参照画面用存储器中不积蓄B画面,或者即使在这样的情况下也按照画面的显示时间顺序来分配参照画面编号,就能够取得与上述实施形式5同样的效果。
另外,尽管在上述实施形式5中,就分配1个系统的参照画面编号的情况进行了说明,但也可以分别对前方向、后方向分配不同系统的参照画面编号。
另外,尽管在前向参照的候补画面中,其显示时间越迟的就分配值越小的参照画面编号,但如果是在候补画面中作为参照画面最容易被选择的画面,就分配值更小的参照画面编号的方法,则并不限于在上述实施形式中所说明的情况。
此外,图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的运动图像解码装置用的框图。
此实施形式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中的相同。
接着对动作进行说明。
设在图32所示的运动图像解码装置60中,输入从实施形式5的运动图像编码装置50输出的代码序列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连接到输出端子Tf2,所以预测误差数据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]。
另外,从参照画面用存储器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画面的前向参照的候补画面,也可以是4个前向P画面和1个前向B画面以外的画面。
另外,尽管在上述实施形式6中,对成为解码对象的,构成运动图像的各画面在该各画面以后的其他画面的解码时被用作参照画面的情况进行了说明,但成为解码对象的,运动图像的多个画面也可以包含不被用作参照画面的画面。在此情况下,通过在参照画面用存储器中不积蓄不被用作参照画面的画面,就取得与上述实施形式6同样的效果。
另外,尽管在上述实施形式6中,说明了B画面的解码是将其他的B画面用作参照候补画面来进行情况,但对于B画面的解码也可以不参照其他的B画面来进行。在此情况下,通过在参照画面用存储器中不积蓄B画面,或者即使在这样的情况下也按照画面的显示时间顺序来分配参照画面编号,就能够取得与上述实施形式6同样的效果。
进而,尽管在上述实施形式6中,为了简化说明,对用于管理参照候补画面的存储器,和用于将已解码画面按显示顺序改排并输出的存储器不加区别地作为1个参照画面用存储器进行了说明,但运动图像解码装置60,也可以分别具有用于管理参照候补画面的管理存储器,和用于将已解码画面按显示顺序改排并输出的改排存储器。
在此情况下,管理存储器由存储器控制单元264所控制,将参照候补画面输出到运动补偿解码单元205。另外,改排存储器将按解码顺序所排列的已解码的画面图像,按显示顺序改排并依次输出。
另外,尽管在上述实施形式6中,示出了按1个规则赋予对于候补画面的参照画面编号的分配的情况,也就是参照画面编号为1个系统的情况,但作为参照画面编号,也可以如实施形式5中所说明那样,使用2个系统的参照画面编号。
(实施形式7)
图33是说明利用本发明的实施形式7的运动图像编码装置用的框图。
此实施形式7的运动图像编码装置70,在P画面和B画面的编码时进行前向参照的候补画面,以及对于B画面的编码方式与上述实施形式1的运动图像编码装置10不同。
也就是,此实施形式7的运动图像编码装置70,取代实施形式1的编码控制单元110和方式选择单元109,具有进行与它们不同的动作的编码控制单元170和方式选择单元179。
具体来讲,实施形式7的运动图像编码装置70的编码控制单元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的运动图像编码装置70的方式选择单元179,在P画面的块的编码时,作为对象块的编码方式,从画面内编码、使用运动矢量的画面间预测编码、和不使用运动矢量(将运动设为0来进行处理)的画面间预测编码中选择一个,在B画面的块的编码时,作为对象块的编码方式,从画面内编码、使用前向运动矢量的画面间预测编码、使用后向运动矢量的画面间预测编码、以及使用前向运动矢量和后向运动矢量的画面间预测编码中选择一个。也就是,此实施形式7的运动图像编码装置70的方式选择单元179,与实施形式1的运动图像编码装置10的方式选择单元109,仅在不使用直接方式这一点上不同,从而,此运动图像编码装置70,不具有运动图像编码装置10的运动矢量存储单元116。并且,实施形式7的运动图像编码装置70的其他结构,都与实施形式1的运动图像编码装置10中的相同。
此外,此实施形式7的运动图像编码装置70,与实施形式5的运动图像编码装置50,在对代码序列生成单元104进行控制以使,表示对象画面在对于该对象画面以后的画面的编码处理时是否被参照的标志插入到对应对象画面的代码序列中这一点上不同。另外,实施形式7的运动图像编码装置70,在P画面和B画面的编码时所参照的候补画面也与上述实施形式5的运动图像编码装置50不同。并且,此实施形式7的运动图像编码装置70中其他点,都与实施形式5的运动图像编码装置50相同。
接着对动作进行说明。
输入图像数据Id按时间顺序以画面单位被输入到输入画面用存储器101。
图34(a)表示在输入画面用存储器101中所输入的画面的顺序。
在输入画面用存储器101中如图34(a)所示那样,各画面从画面P1开始按顺序进行输入。这里,画面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画面被用作参照画面的候补。但是,设位于在最近旁的前方的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中进行了改排的各画面,按作为一定的数据处理单位的,进行运动补偿的数据单位被读出。在这里,设进行运动补偿的数据单位为,与在水平方向和垂直方向都排列了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。另外,运动矢量MV为参照画面P4、P7、P10的哪个所检测出的运动矢量之类的信息(参照画面信息),也被输出到方式选择单元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的标题信息进行附加。
此外,作为表示上述应进行积蓄的期间的方法,有根据画面P22的时间信息(例如,画面编号等的时间上的位置信息、解码时间信息、显示时间信息等)进行表示的方法,根据从画面P13到画面P22的期间信息(例如画面数等)进行表示的方法等。这些标题信息,除画面单位的标题信息,也就是作为编码对象画面的标题信息进行记述以外,也可以作为序列整体的标题信息和数帧单位(例如MPEG方式中的Group of pictures等)的标题信息来进行记述。
另外,在对于画面P13的各块的编码方式,为进行前向参照的编码方式的情况下,前向运动矢量为参照画面P4、P7、P10的哪个参照候补画面所检测出的运动矢量之类的信息(参照画面信息)也被附加到代码序列中。例如,在运动矢量为参照画面P10所得到的情况下,表示编码对象画面的1张前的P画面为参照画面的信息(参照画面编号)就附加到代码序列中。在运动矢量为参照画面P7所得到的情况下,表示编码对象画面的2张前的P画面为参照画面的信息(参照画面编号)就附加到代码序列中。在运动矢量为参照画面P4所得到的情况下,表示编码对象画面的3张前的P画面为参照画面的信息(参照画面编号)就附加到代码序列中。例如,能够由参照画面编号[0]表示对象画面的1张前的画面为参照画面,由参照画面编号[1]表示对象画面的2张前的画面为参照画面,由参照画面编号[2]表示对象画面的3张前的画面为参照画面。
另外,作为标题信息,记述表示P画面使用3个参照候补画面进行画面间预测编码的信息。
通过同样的处理,来进行对于画面P13的剩余的宏块的编码处理。然后,当对于画面P13的全部的宏块的编码处理结束时,接着进行画面B11的编码处理。
<画面B11的编码处理>
由于画面B11是B画面,所以作为画面B11的编码处理进行使用双向参照的画面间预测编码。此情况下的参照图像,作为前向参照的候补画面使用距编码对象画面在时间上接近的2个画面(I或者P画面),在时间上最接近的1个B画面,作为后向参照的候补画面使用距编码对象画面在时间上最接近的I或者P画面。但不进行参照相对编码对象画面位于超过其最近旁的I或者P画面的B画面的处理。
从而,作为对于画面B11的前向参照画面使用画面P7、P10,作为后向参照画面使用画面P13。由于在连续的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所决定的编码方式相应的参照画面所得到的预测图像数据Pd,被输出到差分运算单元102和加法运算单元106。但是,在选择了画面内编码的情况下,不输出预测图像数据Pd。另外,在由方式选择单元179选择了画面内编码的情况下,开关111和112,与上述画面P13的编码时同样地进行控制。
下面,对由方式选择单元179选择了画面间预测编码的情况进行说明。
在此情况下,差分运算单元102、预测误差编码单元103、代码序列生成单元104、和预测误差解码单元105以及编码控制单元170的动作,与实施形式5同样地进行。
此时,在编码方式为进行前向参照的编码方式的情况下,前向运动矢量为参照画面P7、P10的哪个所检测出的运动矢量之类的信息(参照画面信息)也被附加于代码序列中。例如,在参照画面P10的情况下,就是表示编码对象画面的1张前的候补画面为参照画面的参照画面信息,在参照画面P7的情况下,就是表示编码对象画面的2张前的候补画面为参照画面的参照画面信息。例如,能够由参照画面编号[0]表示对象画面的1张前的候补画面为参照画面,由参照画面编号[1]表示对象画面的1张前的候补画面为参照画面。
另外,在此情况下,表示编码对象的B画面是将前方的B画面也用作参照画面来实施画面间预测编码处理的信息,不作为标题信息进附加。另外,表示编码对象的B画面的前方的参照候补画面为2个I或者P画面和1个B画面的信息,作为标题信息进行附加。进而,表示不参照比相对编码对象B画面最近旁的前方的I或者P画面更加位于前方的B画面的信息,作为标题信息进附加。
由此,在对由本实施形式的运动图像编码装置70所生成的代码序列Bs进行解码时,就能够知道需要具有何种程度的存储容量的参照画面用存储器。这些标题信息,除画面单位的标题信息,也就是作为编码对象画面的标题信息进行记述以外,也可以作为序列整体的标题信息和数帧单位(例如MPEG方式中的Group of pictures等)的标题信息来进行记述。
进而由于画面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中选择最适当的参照画面来进行。所检测出的运动矢量MV,被输出到方式选择单元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方式中的Group of pictures等)的标题信息来进行记述。
通过同样的处理,进行画面B12的剩余的块的编码处理。
然后,与上述画面B12以后的各画面对应的图像数据,通过与画面类型相应的,与上述同样的处理来进行编码。例如,P画面与画面P13同样地进行处理,连续的B画面的第1张的B画面(画面B14、B17等)与画面B11同样地进行处理。另外连续的B画面的第2张的B画面(画面B15、B18等)与画面B12同样地进行处理。
这样,在本实施形式7的运动图像编码装置70中,由于在作为编码对象画面对B画面进行编码时,作为前向参照的候补画面,在P画面以外也使用B画面,所以作为前向参照画面,就可以利用位于编码对象画面的最近旁的前向参照画面。由此,就能够提高对于B画面的运动补偿的预测精度,能够谋求编码效率的提高。
而且,由于在作为编码对象画面对B画面进行编码时,作为标题信息,附加表示该编码对象画面在其他画面的编码时(解码时),是否被用作参照画面的信息,进而,作为标题信息,附加表示在该编码对象画面在其他画面的编码时(解码时)被用作参照画面的信息的情况下,应将该编码对象画面积蓄到参照画面用存储器的期间的信息,所以在对从本实施形式7的运动图像编码装置输出的代码序列Bs进行解码时,就能够简单地知道在解码时在画面用存储器中积蓄什么画面,或者该积蓄期间到何时为止,能够使解码时的参照画面用存储器管理简化。
此外,尽管在上述实施形式7中,在编码对象的B画面将其他的B画面用作参照画面来实施编码处理的情况下,将此情况作为编码对象的B画面的标题信息来进行记述,但该标题信息,除作为画面单位的标题信息进行记述以外,也可以作为序列整体的标题信息和数个画面单位(例如MPEG方式中的Group of pictures等)的标题信息来进行记述。
另外,尽管在本实施形式7中,说明了运动补偿是以由16像素(水平方向)×16像素(垂直方向)组成的宏块为单位来进行,预测误差图像数据的编码处理是以由4像素(水平方向)×4像素(垂直方向)组成的块为单位,或者以由8像素(水平方向)×8像素(垂直方向)组成的块为单位来进行处理的情况,但运动补偿和预测误差图像数据的编码处理,也可以以与这些单位不同的个数的像素组成的图像空间为单位来进行。
另外,尽管在本实施形式7中,以P画面的编码方式是从画面内编码方式、使用运动矢量的画面间预测编码方式、以及不使用运动矢量的画面间预测编码方式选择1个编码方式,B画面的编码方式是从画面内编码方式、使用前向运动矢量的画面间预测编码方式、使用后向运动矢量的画面间预测编码方式、使用双向运动矢量的画面间预测编码方式选择1个编码方式的情况为例进行了说明,但选择P画面和B画面的编码方式的方法,并不限于实施形式7。
另外,尽管在本实施形式7中,示出在I画面和P画面之间,以及邻接的P画面之间插入2张B画面的图像序列,但图像序列也可以在I画面和P画面之间,以及邻接的P画面之间插入2张以外的张数,例如3张或4张的B画面。
另外,尽管在本实施形式7中,对在P画面的编码时被用作前向参照的候补画面的画面数为3的情况进行了说明,但它也可以是别的值。
另外,尽管在本实施形式7中,对在B画面的编码时作为前向参照的候补画面,使用2个P画面和1个B画面的情况进行了说明,但作为在B画面的编码时的前向参照的候补画面,也可以使用与上述实施形式7不同张数的P画面和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)
接着对本发明的实施形式8进行说明。
图35是说明利用本发明的实施形式8的运动图像解码装置用的框图。
此实施形式8的运动图像解码装置80,对从上述实施形式7的运动图像编码装置70输出的代码序列Bs进行解码。
此实施形式8的运动图像解码装置80,在P画面和B画面的解码时进行前向参照的候补画面,以及对于B画面的编码方式与上述实施形式2的运动图像解码装置20不同。
也就是,此实施形式8的运动图像解码装置80,取代实施形式2的存储器控制单元204和方式解码单元223,具有进行与它们不同的动作的存储器控制单元284和方式解码单元283。
具体来讲,实施形式8的运动图像解码装置80的存储器控制单元284,对参照画面用存储器207进行控制以使,在P画面的解码时,位于该P画面前方的3个画面(I或者P画面)被用作前向参照的候补画面,在B画面的解码时,位于该B画面前方的2个画面(I或者P画面)、位于该B画面最近旁的1个前向B画面以及后方的1个I或者P画面被用作候补画面。但是设位于相对解码对象在其最近旁的前方的I或者P画面的更靠前方的B画面不进行参照。
上述存储器控制单元284,基于在对应对象画面的代码序列中所插入的,表示该对象画面是否在对于该对象画面以后的画面的编码处理时进行参照的标志,根据控制信号Cm对参照用画面存储器207进行控制。
具体来讲,在应对象画面的代码序列中,包含表示在解码时应将对象画面的数据积蓄到参照画面用存储器207的信息(标志),以及表示其应进行积蓄的期间的信息。
另外,实施形式8的运动图像解码装置80的方式解码单元283,在P画面的块的解码时,作为对象块的编码方式,从画面内解码、使用运动矢量的画面间预测解码、和不使用运动矢量(将运动设为0来进行处理)的画面间预测解码中选择一个,在B画面的块的解码时,作为对象块的编码方式,从画面内解码、使用前向运动矢量的画面间预测解码、使用后向运动矢量的画面间预测解码、以及使用前向运动矢量和后向运动矢量的画面间预测解码中选择一个。也就是,此实施形式8的运动图像解码装置80的方式解码单元283,与实施形式2的运动图像解码装置20的方式解码单元223,仅在不使用对应直接方式的解码处理这一点上不同,从而,此运动图像解码装置80,不具有运动图像解码装置20的运动矢量存储单元226。并且,实施形式8的运动图像解码装置80的其他结构,与实施形式2的运动图像解码装置20中的相同。
此外,此实施形式8的运动图像解码装置80,与实施形式6的运动图像解码装置60,在存储器控制单元284对代码序列生成单元104进行控制以使,表示在对于对象画面以后的画面的编码处理时该对象画面是否被参照的标志插入到对应该对象画面的代码序列中这一点上不同。另外在实施形式8的运动图像解码装置80中,在P画面和B画面的解码时所参照的候补画面也与上述实施形式6的运动图像解码装置60不同。并且,此实施形式8的运动图像解码装置80中的其他结构,与实施形式6的运动图像解码装置60相同。
接着对动作进行说明。
设在此实施形式8的运动图像解码装置80中,输入由上述实施形式7的运动图像编码装置70所生成的代码序列Bs。
在这里,在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方式中的Group of pictures等)的标题信息、画面单位的标题信息来进行记述。
输入到此实施形式8的运动图像解码装置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中,画面P7直到画面P13的解码处理完成时都应进行保持,画面P10直到画面P16的解码处理完成时都应进行保持,画面B8直到画面B9的解码处理完成时都应进行保持的信息。
换言之,由于能够判断画面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是用于说明进行上述实施形式1、3、5、7的运动图像编码处理或者实施形式2、4、6、8的运动图像解码处理的计算机系统的图。
图38(a)表示在计算机系统中使用的作为程序的存储介质的软磁盘的,从正面所看到的外观、截面结构以及软磁盘主体,图38(b)表示软磁盘主体的物理格式的例子。
软磁盘FD将上述磁盘主体D内置于外壳F内,在该磁盘主体D的表面上,同心圆状地从外周向内周形成多个磁道Tr,各磁道沿角度方向被分割成16个扇区Se。从而,在保存了上述程序的软磁盘FD中,用于进行上述运动图像编码处理或者运动图像解码处理的程序就被记录于在上述磁盘主体D上所分配的存储区域中。
另外,图38(c)表示用于在软磁盘FD中进行上述程序的记录再现的结构。在将上述程序记录于软磁盘FD中的情况下,通过软磁盘启动器从计算机系统Csys将上述程序写入到软磁盘FD。另外,在利用记录于软磁盘FD内的程序在计算机系统中构筑上述运动图像编码装置或者运动图像解码装置的情况下,通过软磁盘驱动器FDD将上述程序从软磁盘FD读出并传送到计算机系统Csys。
此外,尽管在上述说明中,作为记录介质以软磁盘为例进行列举,但使用光盘也能够与使用上述软磁盘的情况同样地进行利用软件的运动图像编码处理或者运动图像解码处理。另外,记录介质并不限于此,也可以是CD-ROM、存储卡、ROM盒式磁带等,只要能够记录程序即可,在使用这些数据记录介质的情况下也能够与使用上述软磁盘的情况同样地由计算机系统进行运动图像编码处理或者运动图像解码处理。
进而在下面,对上述实施形式中所示的运动图像编码方法和运动图像解码方法的应用实例以及使用它的系统进行说明。
图39是表示实现内容配送服务的内容供给系统1100的整体结构的框图。
通信服务的提供区被分割成所希望大小的区域(单元),在各单元内分别设置有作为固定无线电台的基站1107~1110。
在此内容供给系统1100中,例如,通过互联网服务供应商1102、电话网1104、以及基站1107~1110,计算机1111、PDA(personal digital assistant)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,CCD照相机等可拍摄视频图象、静止画面的照相机单元1203,显示由照相机单元1203所拍摄的视频图象、由天线1201所接收的视频图象等的数据的液晶显示器等的显示单元1202。
另外,便携电话1200具有,安装有多个操作键的主体单元1204,用于进行语音输出的扬声器等的语音输出单元1208,用于进行语音输入的麦克风等的语音输入单元1205,用于保存所拍摄的运动画面或者静止画面的数据、所接收的邮件的数据、运动画面的数据或者静止画面的数据等、所编码的数据或者所解码的数据的记录介质1207,用于可将记录介质1207安装到便携电话1200的插槽单元1206。
这里,记录介质1207在SD卡等的塑料外壳内保存了作为电可改写和可擦的非易失性存储器的EEPROM(Electrically ErasableProgrammable Read Only Memory)一种的闪速存储器元件。
进而,使用图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等显示装置上对运动画面进行再现。
进而,也可以由上述实施形式中所示的运动图像编码装置对图像信号进行编码,并记录到记录介质。
在具体例子的记录装置中,有将图像信号记录到DVD盘1421的DVD记录器,和将图像信号记录到硬磁盘的磁盘记录器等的记录器1420。进而图像信号,也可以记录到SD卡1422。另外,如果记录器1420置备上述实施形式中所示的运动图像解码装置,则能够通过记录器1420,对在DVD盘1421和SD卡1422中所记录的图像信号进行再现,由监视器1408进行显示。
此外,作为汽车导航1413的结构,考虑例在图41所示的便携电话的结构中,具有照相机单元1203、照相机接口单元1233、图像编码单元1242以外的部分,对计算机1111和电视机(接收机)1401等考虑同样的情况。
另外,在上述便携电话1114等的终端中,考虑除具有编码器·解码器两者的收发式终端之外,仅具有编码器的发送终端、仅具有解码器的接收终端的3种安装形式。
这样,在上述的任何设备·系统中都可以使用上述实施形式中所示的运动图像编码方法或者运动图像解码方法,通过这样处理就能够取得在上述实施形式中所说明的效果。
进而,无需赘言,本发明的实施形式及其应用实例,并不限于本说明书中所示。