具体实施方式
参照附图来说明本发明的实施例。
(实施例1)
图3是表示使用本发明的动态图像编码方法的动态图像编码装 置一实施例的结构框图。
动态图像编码装置如图3所示,具备:替换用存储器101、差分运算部102、预测误差编码部103、码列生成部104、预测误差解码部105、加法运算部106、参照帧(参照帧)用存储器107、运动矢量检测部108、模式选择部109、编码控制部110、开关111-115和运动矢量存储部116。
替换用存储器101存储按显示时间顺序以帧单位输入的动态图像。编码控制部110按编码顺序替换存储在替换用存储器101中的各帧。另外,编码控制部110控制运动矢量向运动矢量存储部116的存储动作。
运动矢量检测部108将编码完的解码图像数据用作参照帧,在该帧内的搜索区域中检测表示预测为最佳位置的运动矢量。模式选择部109使用运动矢量检测部108检测到的运动矢量,确定宏块的编码模式,根据该编码模式生成预测图像数据。差分运算部102算出从替换用存储器101中读出的图像数据与从模式选择部109输入的预测图像数据之差,生成预测误差图像数据。
预测误差编码部103对输入的预测误差图像数据进行频率变换或量化等编码处理,生成编码数据。码列生成部104对输入的编码数据进行可变长编码等,并通过附加从模式选择部109输入的运动矢量的信息、编码模式的信息和其它关联信息等,生成码列。
预测误差解码部105对输入的编码数据进行去量化或逆频率变换等解码处理,生成解码差分图像数据。加法运算部106将从预测误差解码部105输入的解码差分图像数据和从模式选择部109输入的预测图像数据相加,生成解码图像数据。参照帧用存储器107存储生成的解码图像数据。
图4是帧与相对索引(指针)的说明图。相对索引用于唯一识别参照帧用存储器107中存储的参照帧,如图4所示,是对应附加于各 帧上的序号。另外,相对索引用于指示通过帧间预测编码块时使用的参照帧。
图5是基于动态图像编码装置的动态图像编码信号格式的原理图。1帧单位的编码信号Picture由帧开头中包含的头编码信号Header、基于直接模式的块的编码信号Block1、基于直接模式外的帧间预测的块的编码信号Block2等构成。另外,基于直接模式外的帧间预测的块的编码信号Block2顺序具有表示帧间预测中使用的两个参照帧用的第1相对索引Rldx1和第2相对索引Rldx2、第1运动矢量MV1、第2运动矢量MV2。另一方面,基于直接模式的编码信号Block1不具有第1相对索引Rldx1、第2相对索引Rldx2、第1运动矢量MV1、第2运动矢量MV2。可由预测种类PredType来判断使用第1相对索引Rldx1、第2相对索引Rldx2的哪一个。另外,第1相对索引Rldx1表示第1参照帧,第2相对索引Rldx2表示第2参照帧。即,是第1参照帧还是第2参照帧由码列中的数据位置来确定。
基于将显示时间顺序中位于前或后之一的、已编码完的帧用作第1参照帧单向参照进行帧间预测编码的帧是P帧,基于将显示时间顺序中位于前或后之一的、已编码完的帧用作第1参照帧和第2参照帧的双向参照进行帧间预测编码的帧是B帧,但本实施例中,将第1参照帧作为前向参照帧、将第2参照帧作为后向参照帧来进行说明。另外,将作为分别相对第1参照帧和第2参照帧的运动矢量的第1运动矢量、第2运动矢量分别作为前向运动矢量、后向运动矢量来进行说明。
下面,用图4(a)来说明第1相对索引、第2相对索引的附加方法。
在第1相对索引中,首先就表示显示顺序的信息而言,对编码对象块以前的参照帧,按接近编码对象帧的顺序分配从0开始的值。对所有编码对象以前的参照帧分配从0开始的值,接着,对编码对象块以后的参照帧,按接近编码对象帧的顺序分配随后的值。
在第2相对索引中,首先就表示显示顺序的信息而言,对编码对象块以后的参照帧,按接近编码对象帧的顺序分配从0开始的值。对所有编码对象以后的参照帧分配从0开始的值,接着,对编码对象块以前的参照帧,按接近编码对象帧的顺序分配随后的值。
例如,图4(a)中,在第1相对索引(指针)Rldx1为0、第2相对索引Rldx2为1的情况下,前向参照帧是帧序号为6的B帧,后向参照帧是帧序号为9的P帧。这里,帧序号是表示显示顺序的序号。
块中的相对索引由可变长码字来表现,值越小,则分配码长越短的代码。通常,选择距编码对象帧最近的帧作为帧间预测的参照帧,所以若如上所述按距编码对象帧(对象图片)近的顺序分配相对索引值,则编码效率提高。
另一方面,通过用编码信号中的缓冲器控制信号(图5所示Header内的RPSL)来明示指示,可任意变更参照帧(参照图片)对相对索引的分配。通过该分配变更,可将第2相对索引变为0的参照帧变为参照帧用存储器107内的任意参照帧,例如,如图4(b)所示,可变更相对索引相对帧的分配。
下面,说明上述构成的动态图像编码装置的动作。
图6是表示替换用存储器101中的帧顺序的说明图,(a)是表示输入顺序的说明图,(b)是表示替换顺序的说明图。其中,竖线表示帧,各帧右下所示记号中,第1文字的α头表示帧类型(I、P或B),第2文字以后的数字表示帧序号,该帧序号表示显示顺序。
输入图像例如图6(a)所示,按显示时间顺序以帧单位输入替换用存储器101。若向替换用存储器101输入帧,则编码控制部110将输入替换用存储器101内的各帧替换成进行编码的顺序。根据帧间预测编码中的参照关系进行向编码顺序的替换,用作参照帧的帧被替换,以使之在用作参照帧的帧之前先被编码。
这里,设P帧参照1个显示时间顺序上位于前方或后方的附近已 编码完的I或P帧。另外,设B帧参照两个显示时间顺序上位于前方或后方的附近已编码完的帧。
帧的编码顺序为在位于两个P帧之间的B帧(图6(a)的实例中为3个)中,从位于中央的帧开始编码,之后,对接近P帧的B帧进行编码。例如,对于帧B6-P9,按帧P9、B7、B6、B8的顺序进行编码。
此时,帧B6-P9的各帧中,图6(a)所示箭头的终点帧参照箭头起点的帧。即,帧B7参照帧P5、P9,帧B6参照帧P5、B7,帧B8参照帧B7、P9。另外,此时,编码控制部110将各帧替换成图6(b)所示进行编码的顺序。
下面,按运动补偿单位读出替换用存储器101中进行替换后的各帧。其中,将运动补偿单位称为宏块,将宏块设为水平16×垂直16象素的大小。下面,顺序说明图6(a)所示帧P9、B7、B6、B8的编码处理。
(帧P9的编码处理)
帧P9是P帧,所以参照显示时间顺序上位于前方或后方的已处理完的1个帧来进行帧间预测编码。在帧P9的编码中,如上所述,参照帧变为帧P5。帧P5编码终止后,将解码图像存储在参照帧用存储器107中。在P帧的编码中,编码控制部110控制各开关,使开关113、114、115变为导通。从而,从替换用存储器101中读出的帧P9的宏块首先被输入运动矢量检测部108、模式选择部109和差分运算部102。
运动矢量检测部108将参照帧用存储器107中存储的帧P5的解码图像数据用作参照帧,对帧P9的宏块检测运动矢量。另外,运动矢量检测部108向模式选择部109输出检测到的运动矢量。
模式选择部109使用运动矢量检测部108检测到的运动矢量,确定帧P9的宏块的编码模式。这里,所谓编码模式是表示用哪种方法来编码宏块。在P帧的情况下,例如从帧内编码、使用运动矢量的帧 间预测编码、不使用运动矢量(将移动处理为0)的帧间预测编码中,确定以某种方法来进行编码。在编码模式确定中,一般选择由少的比特量来进一步减小编码误差的方法。
模式选择部109向码列生成部104输出确定的编码模式。此时,模式选择部109确定的编码模式为帧间预测编码时,向码列生成部104输出该帧间预测编码中使用的运动矢量,并存储在运动矢量存储部116中。
模式选择部109根据确定的编码模式生成预测图像数据,并将该预测图像数据输出到差分运算部102和加法运算部106。但在模式选择部109选择帧内编码的情况下,不输出预测图像数据。另外,模式选择部109在选择帧内编码的情况下,控制开关111连接到a侧,控制开关112连接到c侧,并在选择帧间预测编码时,控制开关111连接到b侧,控制开关112连接到d侧。下面,说明由模式选择部109选择帧间预测编码的情况。
向差分运算部102输入从替换用存储器101中读出的帧P9的宏块的图像数据、和从模式选择部109输出的预测图像数据。差分运算部102运算帧P9的宏块的图像数据与预测图像数据之差,生成预测图像数据,输出到预测误差编码部103。
预测误差编码部103通过对输入的预测误差图像数据实施频率变换或量化等编码处理,生成编码数据,并输出到码列生成部104和预测误差解码部105。其中,设频率变换或量化处理例如以水平8×垂直8象素、或水平4×垂直4象素单位来进行。
码列生成部104对输入的编码数据实施可变长编码等,并通过附加运动矢量或编码模式等信息或头信息等,生成码列并输出。
另一方面,预测误差解码部105对输入的编码数据实施去量化或逆频率变换等解码处理,并生成解码差分图像数据后,输出到加法运算部106。加法运算部106通过将解码差分图像数据与从模式选择部 109输入的预测图像数据相加,生成解码图像数据,并存储在参照帧用存储器107中。
通过以上处理,完成帧P9的1个宏块的处理。通过同样处理,对帧P9的其余宏块也进行编码处理。另外,若对帧P9的所有宏块结束处理,则接着进行帧B7的编码处理。
(帧B7的编码处理)
帧B7的参照帧中,前向参照帧是帧P5,后向参照帧是P9。因为帧B7在其它帧编码时被用作参照帧,所以编码控制部110控制各开关,使开关113、114、115变为导通。从而,从替换用存储器101中读出的帧B7的宏块被输入运动矢量检测部108、模式选择部109和差分运算部102。
运动矢量检测部108将参照帧用存储器107中存储的帧P5的解码图像数据用作前向参照帧,将帧P9的解码图像数据用作后向参照帧,对帧B7的宏块检测前向运动矢量和后向运动矢量。另外,运动矢量检测部108向模式选择部109输出检测到的运动矢量。
模式选择部109使用运动矢量检测部108检测到的运动矢量,确定帧B7的宏块编码模式。这里,B帧的编码模式可从例如帧内编码、使用前向运动矢量的帧间预测编码、使用后向运动矢量的帧间预测编码、使用双向运动矢量的帧间预测编码、直接模式中进行选择。
用图7(a)来说明用直接模式来编码时的动作。图7(a)是表示直接模式下运动矢量的说明图,表示在直接模式下编码帧B7的块a的情况。该情况下,利用编码帧P9中、位置与块a相同的块b时使用的运动矢量c,帧P9作为位于帧B7之后的参照帧。运动矢量c存储在运动矢量存储部116中。块a使用利用运动矢量c求出的运动矢量,根据作为前向参照帧的帧P5与作为后向参照帧的帧P9,进行双向预测。例如,作为利用运动矢量c的方法,有生成平行于运动矢量c的矢量的方法。编码此时的块a时所用的运动矢量对于帧P5变为运动 矢量d,对于帧P9变为运动矢量e。
此时,若设作为前向运动矢量的运动矢量d的大小为MVF,设作为后向运动矢量的运动矢量e的大小为MVB,运动矢量c的大小为MV,当前帧(帧B7)的后向参照帧(帧P9)与其后向参照帧的块所参照的帧(帧P5)的时间距离为TRD,当前帧(帧B7)与前向参照帧(帧P5)的时间距离为TRF,则运动矢量d的大小MVF、运动矢量e的大小MVB分别由(式1)、(式2)求出。另外,可根据例如附加于各帧的表示显示顺序(位置)的信息或该信息差,确定各帧间的时间距离。
MVF=MV×TRF/TRD 式1
MVB=(TRF-TRD)×MV/TRD 式2
其中,MVF、MVB分别表现运动矢量的水平成分、垂直成分,正负符号表示运动矢量的方向。
在编码模式的选择中,通常选择由少的比特量来进一步减小编码误差的方法。模式选择部109向码列生成部104输出确定的编码模式。此时,模式选择部109确定的编码模式为帧间预测编码时,向码列生成部104输出该帧间预测编码中使用的运动矢量,并存储在运动矢量存储部116中。另外,在选择直接模式的情况下,将由(式1)、(式2)计算求出的、直接模式中使用的运动矢量存储在运动矢量存储部116中。
模式选择部109根据确定的编码模式生成预测图像数据,并将该预测图像数据输出到差分运算部102和加法运算部106。但在模式选择部109选择帧内编码的情况下,不输出预测图像数据。另外,模式选择部109在选择帧内编码的情况下,控制开关111连接到a侧,控制开关112连接到c侧,并在选择帧间预测编码或直接模式时,控制开关111连接到b侧,控制开关112连接到d侧。下面,说明由模式选择部109选择帧间预测编码或直接模式的情况。
向差分运算部102输入从替换用存储器101中读出的帧B7的宏 块的图像数据、和从模式选择部109输出的预测图像数据。差分运算部102运算帧B7的宏块的图像数据与预测图像数据之差,生成预测图像数据,输出到预测误差编码部103。
预测误差编码部103通过对输入的预测误差图像数据实施频率变换或量化等编码处理,生成编码数据,并输出到码列生成部104和预测误差解码部105。
码列生成部104对输入的编码数据实施可变长编码等,并通过附加运动矢量或编码模式等信息,生成码列并输出。
另一方面,预测误差解码部105对输入的编码数据实施去量化或逆频率变换等解码处理,并生成解码差分图像数据后,输出到加法运算部106。加法运算部106通过将解码差分图像数据与从模式选择部109输入的预测图像数据相加,生成解码图像数据,并存储在参照帧用存储器107中。
通过以上处理,完成帧B7的1个宏块的处理。通过同样处理,对帧B7的其余宏块也进行编码处理。另外,若对帧B7的所有宏块结束处理,则接着进行帧B6的编码处理。
(帧B6的编码处理)
因为帧B6是B帧,所以参照显示时间顺序上位于前方或后方的已处理完的两个帧来进行帧间预测编码。如上所述,帧B6的参照图像中,前向参照帧是帧P5,后向参照帧是B7。在进行其它帧的编码时,帧B6不被用作参照帧。从而,编码控制部110控制各开关,使开关113导通,开关114、115截止。由此,从替换用存储器101中读出的帧B6的宏块被输入运动矢量检测部108、模式选择部109和差分运算部102。
运动矢量检测部108将参照帧用存储器107中存储的帧P5的解码图像数据用作前向参照帧,将帧B7的解码图像数据用作后向参照帧,对帧B6的宏块检测前向运动矢量和后向运动矢量。另外,运动 矢量检测部108向模式选择部109输出检测到的运动矢量。
模式选择部109使用运动矢量检测部108检测到的运动矢量,确定帧B6的宏块编码模式。
这里,用图7(b)来说明对帧B6的宏块使用直接模式时动作的第一例。图7(b)是表示直接模式下运动矢量的说明图,表示在直接模式下编码帧B6的块a的情况。此时,利用编码帧B7中、位置与块a相同的块b时使用的运动矢量c,帧B7作为位于帧B6之后的参照帧。设块b仅由前向参照、或由双向参照进行编码,设该前向运动矢量为运动矢量c。设运动矢量c存储在运动矢量存储部116中。块a使用利用运动矢量c生成的运动矢量,根据作为前向参照帧的帧P5与作为后向参照帧的帧B7,进行双向预测。例如,若与上述帧B7的情况一样,使用生成平行于运动矢量c的运动矢量的方法,则编码块a时所用的运动矢量对于帧P5变为运动矢量d,对于帧B7变为运动矢量e。
此时,若设作为前向运动矢量的运动矢量d的大小为MVF,设作为后向运动矢量的运动矢量e的大小为MVB,运动矢量c的大小为MV,当前帧(帧B6)的后向参照帧(帧B7)与其后向参照帧的块B所参照的帧(帧P5)的时间距离为TRD,当前帧(帧B6)与前向参照帧(帧P5)的时间距离为TRF,则运动矢量d的大小MVF、运动矢量e的大小MVB分别由上述(式1)、(式2)求出。另外,可根据例如附加于各帧的表示显示顺序的信息或该信息差,确定各帧间的时间距离。
这样,在直接模式下,通过对作为后向参照帧的B帧的前向运动矢量进行换算,不必发送运动矢量的信息,并且可提高动作预测效率。由此,可提高编码效率。并且,通过将可利用的在显示时间顺序中最近的参照帧用作前向参照帧和后向参照帧,可提高编码效率。
下面,用图7(b)来说明使用直接模式时的第二例。此时,利用编码帧B7中、位置与块a相同的块b时使用的运动矢量,帧B7作为 位于帧B6之后的参照帧。在此,块b由直接模式进行编码,设此时实质上使用的前向运动矢量为运动矢量c。即,运动矢量c是通过换算(スケ—リング)在帧B7后向参照的帧P9内、对处于与块b相同位置的块i编码时使用的运动矢量而得到的运动矢量。运动矢量c使用运动矢量存储部116中存储的运动矢量,或从运动矢量存储部116中读出由直接模式编码块b时使用的帧P9内的块i的运动矢量后,计算求出。模式选择部109也可在由直接模式编码帧B7的块b时通过换算处理求出的运动矢量被存储在运动矢量存储部116中的情况下,仅存储前向运动矢量。块a使用利用运动矢量c生成的运动矢量,根据作为前向参照帧的帧P5与作为后向参照帧的帧B7,进行双向预测。例如,若与上述第一例的情况一样,使用生成平行于运动矢量c的运动矢量的方法,则编码块a时所用的运动矢量对于帧P5变为运动矢量d,对于帧B7变为运动矢量e。
此时,作为对块a的前向运动矢量的运动矢量d的大小MVF、与作为后向运动矢量的运动矢量e的大小MVB与直接模式的第一例一样,可使用(式1)、(式2)求出。
这样,在直接模式下,对作为后向参照帧的B帧在直接模式下实质上使用的前向运动矢量进行换算,所以不必发送运动矢量的信息,并且,即使在直接模式下编码后向参照帧内同一位置的块时,也可提高动作预测效率。由此,可提高编码效率。并且,通过将在显示时间顺序中可利用的最近的参照帧用作前向和后向参照帧,可提高编码效率。
下面,用图7(c)来说明用直接模式时的第三例。图7(c)是表示直接模式下运动矢量的说明图,表示在直接模式下编码帧B6的块a的情况。该情况下,利用编码帧B7中、位置与块a相同的块b时使用的运动矢量c,帧B7作为位于帧B6之后的参照帧。其中,设仅使用后向运动矢量来编码块b,并设该后向运动矢量为运动矢量f。设运 动矢量f存储在运动矢量存储部116中。块a使用利用运动矢量f生成的运动矢量,根据作为前向参照帧的帧P5与作为后向参照帧的帧B7,进行双向预测。例如,若与上述第一例的情况一样使用生成平行于运动矢量f的运动矢量的方法,则编码块a时所用的运动矢量对于帧P5变为运动矢量g,对于帧B7变为运动矢量h。
此时,若设作为前向运动矢量的运动矢量g的大小为MVF,设作为后向运动矢量的运动矢量h的大小为MVB,运动矢量f的大小为MV,当前帧(帧B6)的后向参照帧(帧B7)与其后向参照帧的块所参照的帧(帧P9)的时间距离为TRD,当前帧(帧B6)与前向参照帧(帧P5)的时间距离为TRF,当前帧(帧B6)与后向参照帧(帧B7)的时间距离为TRB,则运动矢量g的大小MVF、运动矢量h的大小MVB分别由(式3)、(式4)求出。
MVF=-TRF×MV/TRD 式3
MVB=TRB×MV/TRD 式4
这样,在直接模式下,对编码作为后向参照帧的B帧中同一位置上的块时使用的后向运动矢量进行换算,所以不必发送运动矢量的信息,并且,即使在后向参照帧内的同一位置上的块仅具有后向运动矢量时,也可提高预测效率。由此,可提高编码效率。并且,通过将在显示时间顺序中可利用的最近的参照帧用作前向和后向参照帧,可提高编码效率。
下面,用图7(d)来说明使用直接模式时的第四例。图7(d)是表示直接模式下运动矢量的说明图,表示在直接模式下编码帧B6的块a的情况。此时,利用编码帧B7中、位置与块a相同的块b时使用的运动矢量,帧B7作为位于帧B6之后的参照帧。设与第三例一样,仅使用后向运动矢量来编码块b,设该后向运动矢量为运动矢量f。设运动矢量f被存储在运动矢量存储部116中。块a使用利用运动矢量f生成的运动矢量,根据作为运动矢量f参照帧的帧P9与作为后 向参照帧的帧B7,进行双向预测。例如,若与上述第一例的情况一样,使用生成平行于运动矢量f的运动矢量的方法,则编码块a时所用的运动矢量对于帧P9变为运动矢量g,对于帧B7变为运动矢量h。
此时,若设作为前向运动矢量的运动矢量g的大小为MVF,设作为后向运动矢量的运动矢量h的大小为MVB,运动矢量f的大小为MV,当前帧(帧B6)的后向参照帧(帧B7)与其后向参照帧的块所参照的帧(帧P9)的时间距离为TRD,当前帧(帧B6)与后向参照帧(帧B7)的块所参照的帧(帧P9)的时间距离为TRF,则运动矢量g的大小MVF、运动矢量h的大小MVB分别由(式1)、(式2)求出。
这样,在直接模式下,对编码作为后向参照帧的B帧中同一位置的块时使用的后向运动矢量进行换算,从而不必发送运动矢量的信息,并且,即使在后向参照帧内同一位置的块仅具有后向运动矢量的情况下,也可提高预测效率。由此,可提高编码效率。并且,通过将后向运动矢量所参照的帧用作前向参照帧,将在显示时间顺序中可利用的最近的参照帧用作后向参照帧,可提高编码效率。
下面,用图8(a)来说明用直接模式时的第五例。图8(a)是表示直接模式下运动矢量的说明图,表示在直接模式下编码帧B6的块a的情况。该情况下,将运动矢量的大小用作0,将帧P5用作前向参照帧,将帧B7用作后向参照帧,通过进行双向参照,进行运动补偿。
这样,在直接模式下,通过将运动矢量强制设置为0,在选择直接模式的情况下,可不必发送运动矢量的信息,并且不必对运动矢量进行换算处理,可削减处理量。
下面,用图8(b)来说明用直接模式时的第六例。图8(b)是表示直接模式下运动矢量的说明图,表示在直接模式下编码帧B6的块a的情况。此时,利用编码帧P9中、位置与块a相同的块f时使用的运动矢量g,帧P9作为位于帧B6之后的P帧。运动矢量g存储在运动矢量存储部116中。块a使用利用运动矢量g生成的运动矢量,根据 作为前向参照帧的帧P5与作为后向参照帧的帧B7,进行双向预测。例如,若与上述第一例的情况一样使用生成平行于运动矢量g的运动矢量的方法,则编码块a时所用的运动矢量对于帧P5变为运动矢量h,对于帧B7变为运动矢量i。
此时,若设作为前向运动矢量的运动矢量h的大小为MVF,设作为后向运动矢量的运动矢量i的大小为MVB,运动矢量g的大小为MV,显示时间顺序上位于当前帧(帧B6)之后的P帧(帧P9)与该P帧的块f所参照的帧(帧P5)的时间距离为TRD,当前帧(帧B6)与前向参照帧(帧P5)的时间距离为TRF,当前帧(帧B6)与后向参照帧(帧B7)的时间距离为TRB,则运动矢量h的大小MVF、运动矢量i的大小MVB分别由(式1)、(式5)求出。
MVB=-TRB×MV/TRD 式5
这样,在直接模式下,对显示时间顺序上位于后方的P帧的运动矢量进行换算,在后向参照帧为B帧的情况下,不必存储该B帧的运动矢量,且不必发送运动矢量的信息。并且,通过将在显示时间顺序中最近的参照帧用作前向和后向参照帧,可提高编码效率。
下面,用图8(c)来说明使用直接模式时的第七例。图8(c)是表示直接模式下运动矢量的说明图,表示在直接模式下编码帧B6的块a的情况。该例是对上述说明的帧序号变更(再映射)相对索引的分配,后向参照帧变为帧P9的情况。此时,利用编码帧P9中、位置与块a相同的块f时使用的运动矢量g,帧P9作为帧B7的后向参照帧。运动矢量g被存储在运动矢量存储部116中。块a使用利用运动矢量g生成的运动矢量,根据作为前向参照帧的帧P5与作为后向参照帧的帧P9,进行双向预测。例如,若与上述第一例的情况一样,使用生成平行于运动矢量g的运动矢量的方法,则编码块a时所用的运动矢量对于帧P5变为运动矢量h,对于帧P9变为运动矢量i。
此时,若设作为前向运动矢量的运动矢量h的大小为MVF,设 作为后向运动矢量的运动矢量i的大小为MVB,运动矢量g的大小为MV,当前帧(帧B6)的后向参照帧(帧P9)与其后向参照帧的块所参照的帧(帧P5)的时间距离为TRD,当前帧(帧B6)与前向参照帧(帧P5)的时间距离为TRF,则运动矢量h的大小MVF、运动矢量i的大小MVB分别由(式1)、(式2)求出。
这样,在直接模式下,即使在对帧序号变更相对索引的分配时,也可对编码完的帧的运动矢量进行换算,并且在选择直接模式的情况下,不必发送运动矢量的信息。
另外,在由直接模式编码帧B6的块a时,仅由前向参照、双向参照或直接模式来编码帧B6的后向参照帧中位置与块a相同的块,在编码时使用前向运动矢量的情况下,对该前向运动矢量进行换算,如上述第一例、第二例或第七例那样,由直接模式编码块a。另一方面,仅由后向参照来编码位置与块a相同的块,在编码时使用后向运动矢量的情况下,对该后向运动矢量进行换算,如上述第三例或第四例那样,由直接模式编码块a。
上述直接模式不仅可适用于帧间的时间间隔恒定的情况,也可适用于可变帧间隔的情况。
模式选择部109向码列生成部104输出确定的编码模式。另外,模式选择部109根据确定的编码模式,生成预测图像数据,并将该预测图像数据输出到差分运算部102。但模式选择部109在选择帧内编码的情况下,不输出预测图像数据。另外,模式选择部109在选择帧内编码的情况下,控制开关111连接到a侧,控制开关112连接到c侧,并在选择帧间预测编码或直接模式时,控制开关111连接到b侧,控制开关112连接到d侧。另外,模式选择部109在确定的编码模式为帧间预测编码的情况下,向码列生成部104输出该帧间预测编码中使用的运动矢量。这里,因为帧B6在编码其它帧时不被用作参照帧,所以帧间预测编码中使用的运动矢量不必存储在运动矢量存储部116 中。下面,说明由模式选择部109选择帧间预测编码或直接模式的情况。
向差分运算部102输入从替换用存储器101中读出的帧B6的宏块的图像数据、和从模式选择部109输出的预测图像数据。差分运算部102运算帧B6的宏块的图像数据与预测图像数据之差,生成预测误差图像数据,输出到预测误差编码部103。预测误差编码部103通过对输入的预测误差图像数据实施频率变换或量化等编码处理,生成编码数据,并输出到码列生成部104。
码列生成部104对输入的编码数据实施可变长编码等,并通过附加运动矢量或编码模式等信息,生成码列并输出。
通过以上处理,完成帧B6的1个宏块的编码处理。通过对帧B6的其余宏块也进行同样处理,一旦完成处理,则进行帧B8的编码处理。
(帧B8的编码处理)
因为帧B8是B帧,所以参照显示时间顺序上位于前方或后方的已处理完的两个帧来进行帧间预测编码。如上所述,帧B8的参照图像中,前向参照帧是帧B7,后向参照帧是P9。在进行其它帧的编码时,帧B8不被用作参照帧,从而,编码控制部110控制各开关,使开关113导通,开关114、115截止。由此,从替换用存储器101中读出的帧,8的宏块被输入运动矢量检测部108、模式选择部109和差分运算部102。
运动矢量检测部108将参照帧用存储器107中存储的帧B7的解码图像数据用作前向参照帧,将帧P9的解码图像数据用作后向参照帧,对帧B8的宏块检测前向运动矢量和后向运动矢量。另外,运动矢量检测部108向模式选择部109输出检测到的运动矢量。
模式选择部109使用运动矢量检测部108检测到的运动矢量,确定帧B8的宏块编码模式。
这里,用图8(d)来说明对帧B8的宏块使用直接模式时的动作。图8(d)是表示直接模式下运动矢量的说明图,表示在直接模式下编码帧B8的块a的情况。此时,利用编码帧P9中、位置与块a相同的块b时使用的运动矢量,帧P9作为位于帧B8之后的参照帧。设块b仅由前向参照进行编码,设该前向运动矢量为运动矢量c。设运动矢量c存储在运动矢量存储部116中。块a使用利用运动矢量c生成的运动矢量,根据作为前向参照帧的帧B7与作为后向参照帧的帧P9,进行双向预测。例如,若与上述帧B7的情况一样,使用生成平行于运动矢量c的运动矢量的方法,则编码块a时所用的运动矢量对于帧B7变为运动矢量d,对于帧P9变为运动矢量e。
此时,若设作为前向运动矢量的运动矢量d的大小为MVF,设作为后向运动矢量的运动矢量e的大小为MVB,运动矢量c的大小为MV,当前帧(帧B8)的后向参照帧(帧P9)与其后向参照帧的块b所参照的帧(帧P5)的时间距离为TRD,当前帧(帧B8)与前向参照帧(帧B7)的时间距离为TRF,当前帧(帧B8)与后向参照帧(帧P9)的时间距离为TRB,则运动矢量d的大小MVF、运动矢量e的大小MVB分别由上述(式1)、(式5)求出。
这样,在直接模式下,通过对后向参照帧的前向运动矢量进行换算,不必发送运动矢量的信息,并且可提高预测效率。由此,可提高编码效率。并且,通过将可利用的在显示时间顺序中最近的参照帧用作前向参照帧和后向参照帧,可提高编码效率。
上述直接模式不仅可适用于帧间的时间间隔恒定的情况,也可适用于可变帧间隔的情况。
模式选择部109向码列生成部104输出确定的编码模式。另外,模式选择部109根据确定的编码模式,生成预测图像数据,并将该预测图像数据输出到差分运算部102。但模式选择部109在选择帧内编码的情况下,不输出预测图像数据。另外,模式选择部109在选择帧 内编码的情况下,控制开关111连接到a侧,控制开关112连接到c侧,并在选择帧间预测编码或直接模式时,控制开关111连接到b侧,控制开关112连接到d侧。另外,模式选择部109在确定的编码模式为帧间预测编码的情况下,向码列生成部104输出该帧间预测编码中使用的运动矢量。这里,因为帧B8在编码其它帧时不被用作参照帧,所以帧间预测编码中使用的运动矢量不必存储在运动矢量存储部116中。下面,说明由模式选择部109选择帧间预测编码或直接模式的情况。
向差分运算部102输入从替换用存储器101中读出的帧B8的宏块的图像数据、和从模式选择部109输出的预测图像数据。差分运算部102运算帧B8的宏块的图像数据与预测图像数据之差,生成预测误差图像数据,输出到预测误差编码部103。预测误差编码部103通过对输入的预测误差图像数据实施频率变换或量化等编码处理,生成编码数据,并输出到码列生成部104。
码列生成部104对输入的编码数据实施可变长编码等,并通过附加运动矢量或编码模式等信息,生成码列并输出。
通过以上处理,完成对帧B8的1个宏块的编码处理。对帧B8的其余宏块也进行同样处理。
下面,以对应于各帧的帧种类和帧显示时间顺序位置的编码方法,通过与帧P9、B7、B6、B8一样的方法来进行各帧的编码处理。
在以上实施例中,以使用图6(a)所示帧预测结构的情况为例,说明本发明的动态图像编码方法的动作。图12是分层表示此时的帧预测结构的说明图。图12中,箭头表示预测关系,表示位于箭头终点的帧参照位于起点的帧。在图6(a)所示帧预测结构中,在按显示时间顺序考虑的情况下,如图12所示,优先距已编码完的帧最远的帧来确定编码顺序。例如,距I或P帧最远的帧是位于连续的B帧中央的帧。因此,在例如帧P5、P9已编码完的状态下,帧B7变为下一编 码对象帧。在帧P5、B7、P9已编码完的状态下,帧B6、B8变为下一编码对象帧。
另外,即使在图6、图12所示的具有不同帧预测结构的情况下,也可使用与本发明的动态图像编码方法一样的方法,可实现本发明的效果。图9-图11示出其它帧预测结构实例。
图9表示夹在I或P帧间的B帧的个数为3个,作为编码B帧的顺序,从距已编码完的帧最近的帧开始选择编码的情况。图9(a)是表示按显示时间顺序表示的各帧的预测关系图,图9(b)是表示替换成编码顺序(码列顺序)的帧顺序的图。图13是对应于图9(a)的帧预测结构的分层图。在图9(a)所示帧预测结构中,在按显示时间顺序考虑的情况下,如图13所示,从距已编码完的帧最近的帧开始顺序编码。例如,在帧P5、P9已编码完的状态下,帧B6、B8变为下一编码对象帧。在帧P5、B6、B8、P9已编码完的状态下,帧B7变为下一编码对象帧。
图10表示夹在I或P帧间的B帧的个数为5个,优先编码B帧中距已编码完的帧最远的帧的情况。图10(a)是表示按显示时间顺序表示的各帧的预测关系图,图10(b)是表示替换成编码顺序(码列顺序)的帧顺序的图。图14是对应于图10(a)的帧预测结构的分层图。在图10(a)所示帧预测结构中,在按显示时间顺序考虑的情况下,如图14所示,优先距已编码完的帧最远的帧,确定编码顺序。例如,距I或P帧最远的帧为位于连续的B帧中央的帧。因此,例如在帧P7、P13已编码完的状态下,帧B10变为下一编码对象帧。在帧P7、B10、P13已编码完的状态下,帧B8、B9、B11、B12变为下一编码对象帧。
图11表示夹在I或P帧间的B帧的个数为5个,优先编码B帧中距已编码完的帧最近的帧的情况。图11(a)是表示按显示时间顺序表示的各帧的预测关系图,图11(b)是表示替换成编码顺序(码列顺序)的帧顺序的图。图15是对应于图11(a)的帧预测结构的分层图。在图 11(a)所示帧预测结构中,在按显示时间顺序考虑的情况下,如图15所示,从距已编码完的帧最近的帧开始顺序编码。例如,在帧P5、P9已编码完的状态下,帧B8、B12变为下一编码对象帧。在帧P5、B8、B12、P9已编码完的状态下,帧B9、B11变为下一编码对象帧。并且,在帧P5、B8、B9、B11、B12、P9已编码完的状态下,帧B10变为下一编码对象帧。
如上所述,在本发明的动态图像编码方法中,当使用双向预测来编码进行帧间预测编码处理的B帧时,按与显示时间顺序不同的顺序来编码夹在I或P帧间的多个B帧。此时,将显示时间顺序中位于最近的帧用作前向和后向参照帧。在B帧可利用的情况下,也可将B帧用作该参照帧。另外,当按与显示时间顺序不同的顺序来编码夹在I或P帧间的多个B帧时,从距已编码完的帧最远的帧开始顺序编码。另外,在按与显示时间顺序不同的顺序来编码夹在I或P帧间的多个B帧时,从距已编码完的帧最近的帧开始顺序编码。
通过这种动作,使用本发明的动态图像编码方法,从而在编码B帧时,可将在显示时间顺序中较近的帧用作参照帧,并由此可提高运动补偿时的预测效率,所以可提高编码效率。
另外,在本发明的动态图像编码方法中,参照编码为B帧的帧,作为后向参照帧,并由直接模式编码B帧内的块,此时,在由前向参照或双向参照来编码后向参照帧内同一位置的块时,将通过换算该前向运动矢量得到的运动矢量用作直接模式下的运动矢量。
这样,在直接模式下,通过对作为后向参照帧的B帧的前向运动矢量进行换算,不必发送运动矢量的信息,并可提高预测效率。并且,通过使用时间上最近的参照帧作为前向参照帧,可提高编码效率。
另外,在由直接模式编码作为后向参照帧的B帧中同一位置的块时,将通过换算直接模式下实质使用的前向运动矢量得到的运动矢量用作直接模式下的运动矢量。
这样,在直接模式下,通过对作为后向参照帧的B帧在直接模式下实质使用的前向运动矢量进行换算,不必发送运动矢量的信息,并且,即使在直接模式下编码后向参照帧内同一位置的块时,也可提高预测效率。并且,通过将时间上最近的参照帧作为前向参照帧,可提高编码效率。
另外,在通过后向参照来编码作为后向参照帧的B帧中同一位置的块时,将换算该后向运动矢量得到的运动矢量用作直接模式下的运动矢量。
这样,在直接模式下,通过对编码作为后向参照帧的B帧中同一位置的块时使用的后向运动矢量进行换算,不必发送运动矢量的信息,并且,即使在后向参照帧内同一位置的块仅具有后向运动矢量的情况下,也可提高预测效率。并且,通过将时间上最近的参照帧作为前向参照帧,可提高编码效率。
另外,在通过后向参照来编码作为后向参照帧的B帧中同一位置的块时,将此时使用的后向运动矢量中通过将该后向运动矢量所参照的帧与后向参照帧换算为参照帧所得到的运动矢量用作直接模式下的运动矢量。
这样,在直接模式下,通过对编码作为后向参照帧的B帧中同一位置的块时使用的后向运动矢量进行换算,不必发送运动矢量的信息,并且,即使在后向参照帧内同一位置的块仅具有后向运动矢量的情况下,也可提高预测效率。由此,可提高编码效率。并且,通过将后向运动矢量参照的帧用作前向参照帧,将显示时间顺序中可利用的最近的参照帧用作后向参照帧,可提高编码效率。
另外,在直接模式下,使用大小被强制设为0的运动矢量。
这样,通过将直接模式下的运动矢量强制设置为0,在选择直接模式的情况下,不必发送运动矢量的信息,并且,不需要运动矢量的换算处理,可削减处理量。
另外,在本发明的动态图像编码方法中,参照编码为B帧的帧作为后向参照帧,并用直接模式来编码B帧内的块时,将换算编码在后的P帧内同一位置上的时使用的前向运动矢量得到的运动矢量用作直接模式下的运动矢量。
这样,在直接模式下,通过对在后P帧的运动矢量进行换算,在后向参照帧是B帧的情况下,不必存储该B帧的运动矢量,并且,不必发送运动矢量的信息,可提高预测效率。并且,通过将时间上最近的参照帧作为前向参照帧,可提高编码效率。
另外,对帧序号变更相对索引的分配,由前向参照来编码后向参照帧内同一位置的块时,将换算该前向运动矢量得到的运动矢量用作直接模式下的运动矢量。
这样,在直接模式下,即使在对帧序号变更相对索引的分配时,也可对编码完的帧的运动矢量进行换算,并且不必发送运动矢量的信息。
在本实施例中,说明以水平16×垂直16象素单位来处理运动补偿、以水平8×垂直8象素单位或水平4×垂直4单位来处理预测误差图像编码的情况,但这些单位也可以是其它象素数。
另外,在本实施例中,举例说明连续的B帧个数为3个或5个的情况,但B帧的个数也可以是其它个数。
在本实施例中,举例说明P帧的编码模式从帧内编码、使用运动矢量的帧间预测编码、不使用运动矢量的帧间预测编码中进行选择,并且,B帧的编码模式从帧内编码、使用前向运动矢量的帧间预测编码、使用后向运动矢量的帧间预测编码、使用双向运动矢量的帧间预测编码、直接模式中进行选择的情况,但这些编码模式也可以是其它方法。
另外,在本实施例中,对直接模式说明了7个实例,但也可使用对每个宏块或块唯一确定的一个方法,也可从多个方法中对每个块或 宏块选择一个方法。在使用多个方法的情况下,将表示使用哪个直接模式的信息记录在码列中。
另外,在本实施例中,说明P帧参照1个显示时间顺序上位于前或后的已编码完的I或P帧进行编码、B帧参照两个显示时间顺序上位于前或后的附近已编码完的帧进行编码的情况,但在这些帧是P帧的情况下,将显示时间顺序中位于前或后的多个已编码完的I帧或P帧作为参照帧替补,并参照各块中最大的1个帧来编码,在为B帧的情况下,将显示时间顺序中位于前或后的附近多个已编码完的帧作为参照帧替补,并参照各块中最大的两个帧来编码。
另外,模式选择部109在将运动矢量存储在运动矢量存储部116中时,当由双向预测或直接模式来编码对象块时,可存储前向和后向两者的运动矢量,也可仅存储前向运动矢量。若仅存储前向运动矢量,则可削减运动矢量存储部116的存储器量。
(实施例2)
图16是表示使用本发明的动态图像编码方法的动态图像解码装置一实施例的结构框图。
动态图像解码装置如图16所示,具备:码列分析部1401、预测误差解码部1402、模式解码部1403、帧存储器控制部1404、运动补偿解码部1405、运动矢量存储部1406、帧存储器1407、加法运算部1408、和开关1409、1410。
码列分析部1401从输入的码列中抽出编码模式信息和运动矢量信息等各种数据。预测误差解码部1402解码从码列分析部1401输入的预测误差编码数据,生成预测误差图像数据。模式解码部1403参照从码列中抽出的编码模式信息,控制开关1409、1410。
帧存储器控制部1404根据从码列分析部1401输入的表示帧显示顺序的信息,输出帧存储器1407中存储的解码图像数据,作为输出图像。
运动补偿解码部1405进行参照帧序号与运动矢量信息的解码处理,根据解码后的参照帧序号与运动矢量,从帧存储器1407取得运动补偿图像数据。运动矢量存储部1406存储运动矢量。
加法运算部1408将从预测误差解码部1402输入的预测误差编码数据与从运动补偿解码部1405输入的运动补偿图像数据相加,生成解码图像数据。帧存储器1407存储生成的解码图像数据。
下面,说明上述构成的动态图像解码装置的动作。这里,设向动态图像解码装置输入上述动态图像编码装置中生成的码列。即,这里,设P帧参照1个显示时间顺序上位于前方或后方的附近已编码完的I或P帧。另外,设B帧参照两个显示时间顺序上位于前方或后方的已编码完的附近的帧。
此时的码列中的帧变为图6(b)所示顺序。下面,顺序说明帧P9、B7、B6、B8的解码处理。
(帧P9的解码处理)
将帧P9的码列输入码列分析部1401。码列分析部1401从输入的码列中抽出各种数据。这里,所谓各种数据是模式选择信息或运动矢量信息等。将抽出的模式选择信息输出到模式解码部1403。另外,将抽出的运动矢量信息输出到运动补偿解码部1405。并且,将预测误差编码数据输出到预测误差解码部1402。
模式解码部1403参照从码列中抽出的编码模式选择信息,控制开关1409、1410。在编码模式选择为帧内编码的情况下,模式解码部1403控制开关1409连接到a侧,控制开关1410连接到c侧。另外,在编码模式选择为帧间预测编码时,模式解码部1403控制开关1409连接到b侧,控制开关1410连接到d侧。
模式解码部1403还向运动补偿解码部1405输出编码模式选择信息。下面,说明编码模式选择为帧间预测编码的情况。预测误差解码部1402解码输入的预测误差编码数据,生成预测误差图像数据。预 测误差解码部1402向开关1409输出生成的预测误差图像数据。这里,因为开关1409连接于b侧,所以向加法运算部1408输出预测误差图像数据。
运动补偿解码部1405根据输入的运动矢量信息等,从帧存储器1407取得运动补偿图像数据。帧P9参照帧P5进行编码,帧P5被解码后,保持在帧存储器1407中。因此,运动补偿解码部1405根据运动矢量信息,从帧存储器1407中保持的帧P5的图像数据中取得运动补偿图像数据。将如此生成的运动补偿图像数据输出到加法运算部1408。
运动补偿解码部1405在解码P帧的情况下,将运动矢量的信息存储在运动矢量存储部1406中。
加法运算部1408将输入的预测误差图像数据与运动补偿图像数据相加,生成解码图像数据。生成的解码图像数据经开关1410输出到帧存储器1407。
如上所述,完成帧P9的1个宏块的处理。通过同样处理,顺序解码其余的宏块。若解码所有帧P9的宏块,则进行帧B7的解码。
(帧B7的解码处理)
码列分析部1401、模式解码部1403、和预测误差解码部1402中生成预测误差图像数据以前的动作与帧P9的解码处理时一样,所以省略说明。
运动补偿解码部1405根据输入的运动矢量信息等,生成运动补偿(运动补偿)图像数据。帧B7参照帧P5作为前向参照帧,参照P9作为后向参照帧,进行编码,这些帧被解码后,保持在帧存储器1407中。
在模式选择为双向预测的帧间预测编码时,运动补偿解码部1405根据前向运动矢量信息,从帧存储器1407中取得前向参照图像数据。另外,根据后向运动矢量信息,从帧存储器1407中取得后向参照图 像数据。运动补偿解码部1405通过加法平均前向参照图像数据与后向参照图像数据,生成运动补偿图像数据。
在模式选择为直接模式的情况下,运动补偿解码部1405取得运动矢量存储部1406中存储的帧P9的运动矢量。另外,运动补偿解码部1405使用该运动矢量,从帧存储器1407中取得前向参照图像数据和后向参照图像数据。运动补偿解码部1405通过加法平均前向参照图像数据和后向参照图像数据,生成运动补偿图像数据。
还用图7(a)来说明模式选择为直接模式的情况。其中,设解码帧B7的块a,并设与块a位于相同位置上的帧P9的块为块b。另外,块b的运动矢量为运动矢量c,该运动矢量c参照帧P5。此时,使用参照利用运动矢量c求出的帧P5的运动矢量d来作为前向运动矢量,使用参照利用运动矢量c求出的帧P9的运动矢量e作为后向运动矢量。例如,作为利用运动矢量c的方法,有生成平行于运动矢量c的运动矢量的方法。设加法平均根据这些运动矢量得到的前向参照数据与后向参照数据后的图像数据为运动补偿图像数据。
此时,若设作为前向运动矢量的运动矢量d的大小为MVF,设作为后向运动矢量的运动矢量e的大小为MVB,运动矢量c的大小为MV,当前帧(帧B7)的后向参照帧(帧P9)与其后向参照帧的块b所参照的帧(帧P5)的时间距离为TRD,当前帧(帧B7)与前向参照帧(帧P5)的时间距离为TRF,则运动矢量d的大小MVF、运动矢量e的大小MVB分别由(式1)、(式2)求出。其中,MVF、MVB分别表现运动矢量的水平成分、垂直成分。另外,例如可根据附加于各帧的表示显示顺序(位置)的信息或其信息差来确定各帧间的时间距离。
将如此生成的运动补偿图像数据输出到加法运算部1408。另外,运动补偿(运动补偿)解码部1405将运动矢量信息存储在运动矢量存储部1406中。
加法运算部1408将输入的预测误差图像数据与运动补偿图像数 据相加,生成解码图像数据。将生成的解码图像数据经开关1410输出到帧存储器1407。
如上所述,完成帧B7的1个宏块的处理。通过同样处理,顺序解码其余的宏块。若解码全部帧B7的宏块,则解码帧B6。
(帧B6的解码处理)
码列分析部1401、模式解码部1403、和预测误差解码部1402中生成预测误差图像数据以前的动作与帧P9的解码处理时一样,所以省略说明。
运动补偿解码部1405根据输入的运动矢量信息等,生成运动补偿图像数据。帧B6参照帧P5作为前向参照帧,参照B7作为后向参照帧,进行编码,这些帧被解码后,保持在帧存储器1407中。
在模式选择为双向预测的帧间预测编码时,运动补偿解码部1405根据前向运动矢量信息,从帧存储器1407中取得前向参照图像数据。另外,根据后向运动矢量信息,从帧存储器1407中取得后向参照图像数据。运动补偿解码部1405通过加法平均前向参照图像数据与后向参照图像数据,生成运动补偿图像数据。
在模式选择为直接模式的情况下,运动补偿解码部1405取得运动矢量存储部1406中存储的帧B7的运动矢量。运动补偿解码部1405使用该运动矢量,从帧存储器1407中取得前向参照图像数据和后向参照图像数据。运动补偿解码部1405通过加法平均前向参照图像数据和后向参照图像数据,生成运动补偿图像数据。
用图7(b)来说明模式选择为直接模式时的第一例。其中,设解码帧B6的块a,并设与块a位于相同位置上的帧B7的块为块b。另外,设基于前向参照的帧间预测编码或基于双向参照的帧间预测编码块b,并设块b的前向运动矢量为运动矢量c。该运动矢量c参照帧P5。此时,使用参照利用运动矢量c生成的帧P5的运动矢量d来作为对块a的前向运动矢量,使用参照利用运动矢量c生成的帧B7的运动 矢量e作为后向运动矢量。例如,作为利用运动矢量c的方法,有生成平行于运动矢量c的运动矢量的方法。设加法平均根据这些运动矢量得到的前向参照图像数据与后向参照图像数据后的图像数据为运动补偿图像数据。
此时,若设作为前向运动矢量的运动矢量d的大小为MVF,设作为后向运动矢量的运动矢量e的大小为MVB,运动矢量c的大小为MV,当前帧(帧B6)的后向参照帧(帧B7)与其后向参照帧的块b所参照的帧(帧P5)的时间距离为TRD,当前帧(帧B6)与前向参照帧(帧P5)的时间距离为TRF,则运动矢量d的大小MVF、运动矢量e的大小MVB分别由(式1)、(式2)求出。另外,例如可根据附加于各帧的表示显示顺序(位置)的信息或其信息差来确定各帧间的时间距离。另外,TRD、TRF的值也可使用对每个帧确定的规定值。该规定值也可作为头信息记录在码列中。
另外,用图7(b)来说明模式选择为直接模式情况下的第二例。
此时,利用解码帧B7中、位置与块a相同的块b时所用的运动矢量,帧B7是位于帧B6之后的参照帧。这里,设使用直接模式来编码块b,设此时实质上使用的前向运动矢量为运动矢量c。该运动矢量c使用运动矢量存储部1406中存储的运动矢量,或在从运动矢量存储部1406中读出由直接模式编码块b时所用的帧P9的运动矢量后,进行换算计算后求出。运动补偿解码部1405也可在将由直接模式解码帧B7的块b时通过换算处理求出的运动矢量存储在运动矢量存储部1406中时,仅存储前向运动矢量。
此时,使用参照利用运动矢量c生成的帧P5的运动矢量d来作为对块a的前向运动矢量,使用参照利用运动矢量c生成的帧B7的运动矢量e作为后向运动矢量。例如,作为利用运动矢量c的方法,有生成平行于运动矢量c的运动矢量的方法。设加法平均根据这些运动矢量得到的前向参照图像数据与后向参照图像数据后的图像数据 为运动补偿图像数据。
此时,作为前向运动矢量的运动矢量d的大小MVF、与作为后向运动矢量的运动矢量e的大小MVB与直接模式的第一例一样,可用(式1)、(式2)来求出。
下面,用图7(c)来说明模式选择为直接模式情况下的第三例。
这里,设解码帧B6的块a,并设位置与块a相同的帧B7的块为块b。设后向参照预测编码块b,并设块b的后向运动矢量为运动矢量f。该运动矢量f参照帧P9。此时,使用参照利用运动矢量f求出的帧P5的运动矢量g来作为对块a的前向运动矢量,使用参照利用运动矢量f求出的帧B7的运动矢量h作为后向运动矢量。例如,作为利用运动矢量f的方法,有生成平行于运动矢量f的运动矢量的方法。设加法平均根据这些运动矢量得到的前向参照图像数据与后向参照图像数据后的图像数据为运动补偿图像数据。
此时,若设作为前向运动矢量的运动矢量g的大小为MVF,设作为后向运动矢量的运动矢量h的大小为MVB,运动矢量f的大小为MV,当前帧(帧B6)的后向参照帧(帧B7)与其后向参照帧的块所参照的帧(帧P9)的时间距离为TRD,当前帧(帧B6)与前向参照帧(帧P5)的时间距离为TRF,当前帧(帧B6)与后向参照帧(帧B7)的时间距离为TRB,则运动矢量g的大小MVF、运动矢量h的大小MVB分别由(式3)、(式4)求出。
下面,用图7(d)来说明模式选择为直接模式情况下的第四例。
这里,设解码帧B6的块a,并设位置与块a相同的帧B7的块为块b。设与第三例一样后向参照预测编码块b,并设块b的后向运动矢量为运动矢量f。该运动矢量f参照帧P9。此时,使用参照利用运动矢量f求出的帧P9的运动矢量g来作为对块a的前向运动矢量,使用参照利用运动矢量f求出的帧B7的运动矢量h作为后向运动矢量。例如,作为利用运动矢量f的方法,有生成平行于运动矢量f的 运动矢量的方法。设加法平均根据这些运动矢量得到的前向参照图像数据与后向参照图像数据后的图像数据为运动补偿图像数据。
此时,若设作为前向运动矢量的运动矢量g的大小为MVF,设作为后向运动矢量的运动矢量h的大小为MVB,运动矢量f的大小为MV,当前帧(帧B6)的后向参照帧(帧B7)与其后向参照帧的块所参照的帧(帧P9)的时间距离为TRD,当前帧(帧B6)与后向参照帧(帧B7)的块所参照的帧(帧P9)的时间距离为TRF,则运动矢量g的大小MVF、运动矢量h的大小MVB分别由(式1)、(式2)求出。
另外,用图8(a)来说明模式选择为直接模式情况下的第五例。这里,设由直接模式来解码帧B6的块a。此时,设运动矢量的大小为0,将帧P5用作前向参照帧,将帧B7用作后向参照帧,通过进行双向参照,进行运动补偿。
下面,用图8(b)来说明模式选择为直接模式情况下的第六例。这里,设由直接模式解码帧B6的块a。这里,利用解码帧P9中位置与块a相同的块f时使用的运动矢量g,帧P9是位于帧B6之后的P帧。将运动矢量g存储在运动矢量存储部1406中。块a使用利用运动矢量g求出的运动矢量,根据作为前向参照帧的帧P5与作为后向参照帧的帧B7,进行双向预测。例如,若与上述第一例的情况一样使用生成平行于运动矢量g的运动矢量的方法,则用于得到块a的运动补偿图像数据的运动矢量相对帧P5变为运动矢量h,相对帧B7变为运动矢量i。
此时,若设作为前向运动矢量的运动矢量h的大小为MVF,设作为后向运动矢量的运动矢量I的大小为MVB,运动矢量g的大小为MV,位于当前帧(帧B6)之后的P帧(帧P9)与位于其后的帧的块f所参照的帧(帧P5)的时间距离为TRD,当前帧(帧B6)与前向参照帧(帧P5)的时间距离为TRF,当前帧(帧B6)与后向参照帧(帧B7)的时间距离为TRB,则运动矢量MVF、运动矢量MVB分别由(式1)、(式 5)求出。
下面,用图8(c)来说明模式选择为直接模式情况下的第七例。这里,设由直接模式来解码帧B6的块a。本例中,对上述说明的帧序号变更(再映射)相对索引的分配,后向参照帧变为帧P9。此时,利用编码帧P9中、位置与块a相同的块f时使用的运动矢量g,帧P9作为帧B6的后向参照帧。运动矢量g被存储在运动矢量存储部1406中。块a使用利用运动矢量g生成的运动矢量,根据作为前向参照帧的帧P5与作为后向参照帧的帧P9,进行双向预测。例如,若与上述第一例的情况一样,使用生成平行于运动矢量g的运动矢量的方法,则用于得到块a的运动补偿图像数据的运动矢量对于帧P5变为运动矢量h,对于帧P9变为运动矢量i。
此时,若设作为前向运动矢量的运动矢量h的大小为MVF,设作为后向运动矢量的运动矢量i的大小为MVB,运动矢量g的大小为MV,当前帧(帧B6)的后向参照帧(帧P9)与其后向参照帧的块所参照的帧(帧P5)的时间距离为TRD,当前帧(帧B6)与前向参照帧(帧P5)的时间距离为TRF,则运动矢量h的大小MVF、运动矢量i的大小MVB分别由(式1)、(式2)求出。
将如此生成的运动补偿图像数据输出到加法运算部1408。加法运算部1408将输入的预测误差图像数据与运动补偿图像数据相加,生成解码图像数据。生成的解码图像数据经开关1410输出到帧存储器1407。
如上所述,完成帧B6的一个宏块的处理。通过同样处理,顺序解码其余的宏块。若解码全部帧B6的宏块,则解码帧B8。
(帧B8的解码处理)
码列分析部1401、模式解码部1403、和预测误差解码部1402中生成预测误差图像数据以前的动作与帧P9的解码处理时一样,所以省略说明。
运动补偿解码部1405根据输入的运动矢量信息等,生成运动补偿图像数据。帧B8参照帧B7作为前向参照帧,参照P9作为后向参照帧,进行编码,这些帧被解码后,保持在帧存储器1407中。
在模式选择为双向预测的帧间预测编码时,运动补偿解码部1405根据前向运动矢量信息,从帧存储器1407中取得前向参照图像数据。另外,根据后向运动矢量信息,从帧存储器1407中取得后向参照图像数据。运动补偿解码部1405通过加法平均前向参照图像数据与后向参照图像数据,生成运动补偿图像数据。
在模式选择为直接模式的情况下,运动补偿解码部1405取得运动矢量存储部1406中存储的帧P9的运动矢量。运动补偿解码部1405使用该运动矢量,从帧存储器1407中取得前向参照图像数据和后向参照图像数据。运动补偿解码部1405通过加法平均前向参照图像数据和后向参照图像数据,生成运动补偿图像数据。
用图8(d)来说明模式选择为直接模式时的一例。其中,设解码帧B8的块a,并设为作为后向参照帧的帧P9中、与块a位于相同位置上的块b。另外,设块b的前向运动矢量为运动矢量c。该运动矢量c参照帧P5。此时,使用参照利用运动矢量c生成的帧B7的运动矢量d来作为对块a的前向运动矢量,使用参照利用运动矢量c生成的帧P9的运动矢量e作为后向运动矢量。例如,作为利用运动矢量c的方法,有生成平行于运动矢量c的运动矢量的方法。设加法平均根据这些运动矢量得到的前向参照图像数据与后向参照图像数据后的图像数据为运动补偿图像数据。
此时,若设作为前向运动矢量的运动矢量d的大小为MVF,设作为后向运动矢量的运动矢量e的大小为MVB,运动矢量c的大小为MV,当前帧(帧B8)的后向参照帧(帧P9)与其后向参照帧的块b所参照的帧(帧P5)的时间距离为TRD,当前帧(帧B8)与前向参照帧(帧B7)的时间距离为TRF,当前帧(帧B8)与后向参照帧(帧P9)的时间距 离为TRB,则运动矢量d的大小MVF、运动矢量e的大小MVB分别由(式1)、(式5)求出。
将如此生成的运动补偿图像数据输出到加法运算部1408。加法运算部1408将输入的预测误差图像数据与运动补偿图像数据相加,生成解码图像数据。生成的解码图像数据经开关1410输出到帧存储器1407。
如上所述,完成帧B8的一个宏块的处理。通过同样处理,顺序解码其余的宏块。下面,通过对应于帧种类的同样处理来解码各帧。
接着,帧存储器控制部1404如上所述将帧存储器1407中保持的各帧的图像数据如图6(a)所示按时间顺序替换后,作为输出图像输出。
如上所述,在本发明的动态图像解码方法中,当使用双向预测来解码进行帧间预测编码处理的B帧时,作为用作前向参照帧和后向参照帧的帧,使用已解码完的在显示时间顺序中位于附近的帧,进行解码。
另外,在B帧中选择直接模式作为编码模式的情况下,通过参照运动矢量存储部1406中保持的已解码完的后向参照帧的运动矢量,从已解码完的图像数据中取得参照图像数据,并得到运动补偿图像数据。
通过这种动作,在使用双向预测来编码进行帧间预测编码处理的B帧时,在解码使用显示时间顺序中位于附近的帧作为用作前向参照帧和后向参照帧的帧、并进行编码后生成的码列时,可正确进行解码处理。
另外,在本实施例中,对直接模式说明了7个实例,但例如也可使用通过后向参照帧的相同位置上的块的解码方法等、对每个宏块或块唯一确定的一个方法,也可以块或宏块单位来切换多个方法并使用。在使用多个方法的情况下,使用码列中记录的、表示使用哪个直 接模式的信息来进行解码。此时,运动补偿解码部1405的动作随该信息而变化。例如,在以运动补偿的块单位附加该信息的情况下,模式解码部确定使用哪个直接模式来进行编码,并将之传送给运动补偿解码部1405。另外,运动补偿解码部1405按照使用哪个直接模式,使用本实施例中说明的解码方法来进行解码处理。
另外,在本实施例中,说明在I或P帧间夹着3个B帧的帧结构情况,但该B帧的个数也可以是其它值,例如4个或5个。
另外,在本实施例中,说明解码P帧参照1个显示时间顺序上位于前或后的已编码完的I或P帧进行编码、B帧参照两个显示时间顺序上位于前或后的附近已编码完的帧进行编码的码列的情况,但在这些帧是P帧的情况下,可以是将显示时间顺序中位于前或后的多个已编码完的I帧或P帧作为参照帧替补、并参照各块中最大的1个帧来编码的码列,在为B帧的情况下,可以是将显示时间顺序中位于前或后的附近多个已编码完的帧作为参照帧替补,并参照各块中最大的两个帧来编码的码列。
运动补偿解码部1405在将运动矢量存储在运动矢量存储部1406中时,在由双向预测或直接模式来编码对象块的情况下,可存储前向和后向两者的运动矢量,也可仅存储前向运动矢量。若仅存储前向运动矢量,则可削减运动矢量存储部1406的存储器量。
(实施例3)
通过将实现上述各实施例中所示动态图像编码方法或动态图像解码方法结构用的程序记录在软盘等存储媒体中,可在独立的计算机系统中简单实施上述各实施例中所示的处理。
图17是使用存储了上述各实施例的动态图像编码方法和动态图像解码方法的软盘,通过计算机系统来实施情况下的说明图。
图17(b)表示从软盘的正面看到的外观、截面结构及软盘,图17(a)表示作为记录媒体主体的软盘的物理格式的实例。软盘FD内置于壳 体F内,在该盘的表面,从外向内以同心圆状形成多个轨道Tr,沿角度方向将各轨道分割成16个扇区Se。因此,在存储上述程序的软盘中,在上述软盘FD上分配的区域中,记录作为上述程序的动态图像编码方法。
另外,图17(c)表示在软盘FD上进行上述程序的记录再现用的结构。在将上述程序记录在软盘FD中的情况下,经软盘驱动器从计算机系统Cs写入作为上述程序的动态图像编码方法或动态图像解码方法。另外,在通过软盘内的程序在计算机系统中构筑上述动态图像编码方法的情况下,通过软盘驱动器从软盘中读出程序,并传送到计算机系统。
在上述说明中,将软盘用作记录媒体来进行说明,但即使使用光盘也一样进行。另外,记录媒体不限于此,IC卡、ROM盒等只要是可记录程序的媒体,都可同样实施。
这里,还说明上述实施例中所示动态图像编码方法或动态图像解码方法的应用实例及使用该应用实例的系统。
图18是表示实现实现内容配送服务的内容提供系统ex100的整体结构框图。将通信服务的提供区分割成所期望的大小,并在各小区内分别设置作为固定无线站的基站ex107-ex110。
内容提供系统ex100例如经因特网服务提供商ex102和电话网ex104及基站ex107-ex110,将计算机ex111、PDA(personal digitalassistant:个人数字助理)ex112、摄像机ex113、手机ex114、带摄像机的手机ex115等各设备于因特网ex101上。
但是,内容提供系统ex100不限于图18的组合,也可任意组合后连接。另外,也可不经作为固定基站的基站ex107-ex110而将各设备直接连接于电话网ex104上。
摄像机ex113是数字摄像机等可拍摄动态图像的设备。另外,手机是PDC(Personal Digital Communications:个人数字通信)方式、 CDMA(Code Division Multiple Access:码分多址)方式、W-CDMA(Wideband-Code Division Multiple Access:宽带码分多址)方式、或GSM(Global System for Mobile Communications:移动通信全球系统)方式的手机机,或PHS(Personal Handyphone System:个人手机系统)等,是哪种都无妨。
另外,流服务器ex103通过基站ex109、电话网ex104与摄像机ex113连接,使用摄像机ex113,可根据用户发送的编码处理后的数据来进行现场配送等。摄像数据的编码处理可由摄像机ex113进行,也可由进行数据发送处理的服务器等进行。另外,摄像机ex116拍摄的动态图像数据也可经计算机ex111发送到流服务器ex103。摄像机ex116是数字摄像机等可拍摄静止图像、动态图像的设备。由此,动态数据的编码由摄像机ex116还是由计算机ex111进行无关紧要。另外,编码处理变为在计算机ex111或摄像机ex116具有的LSIex117中进行处理。也可将动态图像编码、解码用软件装载在作为计算机ex111可读取的记录媒体的任一存储媒体(CD-ROM、软盘、硬盘等)中。并且,也可由带摄像机的手机ex115来发送动态图像数据。此时的动态图像数据是由手机ex115具有的LSI进行编码处理后的数据。
在该内容提供系统ex100中,用户与上述实施例一样编码处理由摄像机ex113、摄像机ex116等拍摄的内容(例如拍摄音乐现场的照片等),并发送到流服务器ex103,另一方面,流服务器ex103向有要求的客户机流配送上述内容数据。作为客户机,有可解码上述编码处理后数据的计算机ex111、PDAex112、摄像机ex113、手机ex114等。从而,内容提供系统ex100可由客户机接收并再现编码后的数据,并通过由客户机实时接收并解码、再现,还可实现个人广播。
在构成该系统的各设备的编码、解码中,也可使用上述各实施例中所示动态图像编码装置或动态图像解码装置。
作为一例,说明手机。
图19是表示使用上述实施例中说明的动态图像编码方法和动态图像解码方法的手机ex115的图。手机ex115具有:天线ex201,与基站ex110之间收发信电波;CCD摄像机等摄像部ex203,可拍摄照片、静止图像;液晶显示器等显示部ex202,显示解码摄像部ex203拍摄的照片、天线ex201接收的照片等的数据;主体部,由操作键ex204群构成;扬声器等声音输出部ex208,进行声音输出;麦克风等声音输入部ex205,进行声音输入;记录媒体ex207,保存拍摄的动态图像或静止图像的数据、接收到的邮件数据、动态图像数据或静止图像数据等编码数据或解码数据;开槽部ex206,可将记录媒体ex207安装在手机ex115上。记录媒体ex207在SD卡等塑料外壳内存储作为可电改写或擦除的非易失性存储的EEPROM(ElectricallyErasable and Programmable Read Only Memory:电可擦除只读存储器)之一的闪存元件。
用图20来说明手机ex115。手机ex115经同步总线ex313,对主控制部ex311彼此连接电源电路部ex310、操作输入控制部ex304、图像编码部ex312、摄像机接口部ex303、LCD(Liquid Crystal Display:液晶显示器)控制部ex302、图像解码部ex309、复用分离部ex308、记录再现部ex307、调制解调电路部ex306和声音处理部ex305,主控制部ex311统一控制具备显示部ex202及操作键ex204的主体部的各部。
电源电路部ex310若通过用户操作将结束通话及电源键变为接通状态,则从电池组向各部供电,由此,将带摄像机的数字手机ex115启动到可操作状态。
手机ex115根据由CPU、ROM及RAM等构成的主控制部ex311的控制,通过声音处理部ex305将声音通话模式时由声音输入部ex205收集的声音信号变换为数字声音信号,并由调制解调电路部ex306对该信号进行扩频处理,在由收发信电路部ex301实施数模变 换处理及频率变换处理后,经天线ex201进行发送。另外,手机机ex115放大声音通话模式时由天线ex201接收到的接收数据,实施频率变换处理及逆扩频处理,在由声音处理部ex305变换为模拟声音数据后,经声音输出部ex208输出。
在数据通信模式时发送电子邮件的情况下,经操作输入控制部ex304,将由主体部的操作键ex204的操作输入的电子邮件的文本数据发送到主控制部ex311。主控制部ex311通过调制解调电路ex306对文本数据进行扩频处理,并由收发信电路部ex301实施数模变换处理及频率变换处理后,经天线ex201发送到基站ex110。
在数据通信模式时发送图像数据的情况下,经摄像机接口部ex303,将由摄像部ex203拍摄的图像数据提供给图像编码部ex312。另外,在不发送图像数据的情况下,也可经摄像机接口部ex303及LCD控制部ex302,在显示部ex202中直接显示由摄像部ex203拍摄的图像数据。
图像编码部ex312具有本发明中说明的动态图像编码装置,通过由上述实施例所示动态图像编码装置中所用编码方法压缩编码从摄像部ex203提供的图像数据,变换为编码图像数据,并发送到复用分离部ex308。与此同时,手机机ex115将在摄像部ex203拍摄中由声音输入部ex205收集的声音作为数字声音数据,经声音处理部ex305发送到复用分离部ex308。
复用分离部ex308以规定方式复用从图像编码部ex312提供的编码图像数据和从声音处理部ex305提供的声音数据,并由调制解调电路ex306扩频处理结果得到的复用数据,在由收发信电路部ex301实施数模变换处理及频率变换处理后,经天线ex201发送。
在数据通信模式时接收链接到主页等上的动态图像文件数据的情况下,调制解调电路ex306逆扩频处理经天线ex201从基站ex110接收到的接收数据,并将结果得到的复用数据发送到复用分离部 ex308。
在解码经天线ex201接收到的复用数据中,复用分离部ex308通过分离复用数据,分成图像数据的位充和声音数据的位流,经同步总线ex313将该编码图像数据提供给图像解码部ex309,同时,将该声音数据提供给声音处理部ex305。
图像解码部ex309具有本发明中说明的动态图像解码装置,通过以对应于上述实施例中所示编码方法的解码方法来解码图像数据的位流,生成再现动态图像数据,并经LCD控制部ex302提供给显示部ex202,从而,显示链接于例如主页上的动态图像文件中包含的动态图像数据。与此同时,声音处理部ex305将声音数据变换为模拟声音数据后,将之提供给声音输出部ex208,由此再现链接于例如主页上的动态图像文件中包含的声音数据。
不限于上述系统的实例,最近,基于卫星、地面波的数字广播成为话题,如图21所示,数据广播用系统中也可装载上述实施例的至少动态图像编码装置或动态图像解码装置之一。具体而言,广播站ex409经电波将照片信息的位流传送到通信或广播卫星ex410。接收到位流的广播卫星ex410发出广播用电波,具有卫星广播接收设备的家用的天线ex406接收该电波,通过电视(接收机)ex401或机顶盒(STB)ex407等装置解码位流,进行再现。另外,读取、解码作为记录媒体的CD或DVD等存储媒体ex402中记录的位流的再现装置ex403中也可安装上述实施例中所示的动态图像解码装置。此时,再现的照片信号显示于监视器ex404中。另外,也可在连接于有线电视用电缆ex405或卫星/地面波广播的天线ex406上的机顶盒ex407内安装动态图像解码装置,并由电视的监视器ex408来进行再现。此时,也可不在机顶盒、而在电视机内装载动态图像解码装置。另外,具有天线ex411的汽车ex412也可从卫星ex410或从基站ex107等接收信号,并在汽车ex412具有的汽车导航装置ex413等显示装置中再现动 态图像。
另外,也可由上述实施例所示动态图像编码装置编码图像信号,并记录在记录媒体中。作为具体例,有在DVD盘ex412中记录图像信号的DVD记录器,或在硬盘中记录的盘记录器等记录器ex420。另外,也可记录在SD卡ex422中。若记录器ex420具备上述实施例所示动态图像解码装置,则可再现DVD盘ex421或SD卡ex422中记录的图像信号,并由监视器ex408进行显示。
汽车导航装置ex413的结构在例如图20所示结构中,考虑去除摄像部ex203与摄像机接口部ex303、图像编码部ex312后的结构,计算机ex111或电视机(接收机)ex401也可同样考虑。
上述手机ex114等的终端除具有编码器、解码器两者的收发信型终端外,还考虑仅具有编码器的发送终端、仅具有解码器的接收终端等3种安装形式。
这样,可将上述实施例中所示动态图像编码方法或动态图像解码方法用于上述任一设备、系统中,由此,可得到上述实施例中说明的效果。
另外,本发明不限于上述实施例,在不脱离本发明的范围内,可进行各种变形和更正。
如上所述,根据本发明的动态图像编码方法,在编码B帧时,可将显示时间顺序中较近的帧用作参照帧,由此,可提高运动补偿时的预测效率,故提高编码效率。
另外,在直接模式下,通过对第2参照帧的第1运动矢量进行换算,可不必发送运动矢量信息,且提高预测效率。
另外,在直接模式下,通过对第2参照帧在直接模式下实质上使用的第1运动矢量进行换算,可不必发送运动矢量信息,并且即使在直接模式下编码第2参照帧内同一位置的块时,也可提高预测效率。
另外,在直接模式下,通过对编码第2参照帧内同一位置的块时 使用的第2运动矢量进行换算,可不必发送运动矢量信息,并且即使在第2参照帧内同一位置的块仅具有第2运动矢量的情况下,也可提高预测效率。
另外,通过将直接模式下的运动矢量强制设置为0,在选择直接模式的情况下,可不必发送运动矢量信息,并可不必运动矢量的换算处理,削减处理量。
另外,在直接模式下,通过对在后P帧的运动矢量进行换算,在第2参照帧是B帧的情况下,不必存储该B帧的运动矢量。另外,不必发送运动矢量的信息,并可提高预测效率。
另外,在直接模式下,若第2参照帧具有第1运动矢量,则对第1运动矢量进行换算,另外,若第2参照帧不具有第1运动矢量而仅具有第2运动矢量,则对该第2运动矢量进行换算,所以不必向码列附加运动矢量信息,可提高预测效率。
另外,根据本发明的动态图像解码方法,在解码码列时,可正确进行解码处理,该码列通过使用显示时间顺序中位于附近的帧、作为使用双向预测来进行帧间预测编码处理时用作第1参照和第2参照的帧来编码而生成。