用于自动转码编码的视频图象数据的方法和设备 发明背景
【发明领域】
本发明涉及视频图象信息压缩和传输技术,具体地,涉及用于把编码视频图象数据转换成遵从不同数据速率的编码视频图象数据的自动转码方法和自动转码设备。
背景技术
多媒体把不同类型的信息,诸如文本,图象,音频和视频等表示为数字数据,以及把这些媒介组合在一起来处理它们,近年来已经得到很大的注意。作为支持多媒体的音频-视频编码格式,有ISO/IEC的MPEG(活动图象专家组)-1等等,并且已经提供了遵从这些编码格式的各种视频图象编码和传输系统。
图24A和24B显示了对于这类视频图象编码和传输系统的一般结构,图24A是显示发射端编码器的结构的方框图以及图24B是显示接收端译码器地结构的方框图。
如图24A所示,发射端编码器包括减法器101,DCT(离散余弦变换)部分102,量化器103,去量化器104,逆DCT部分105,运动预测与补偿部分106,可变长度编码器107和108,以及复接装置109。
如图24B所示,接收端译码器包括分接装置201A,可变长度译码器201和206,去量化器202,逆DCT部分203,加法器204,以及运动补偿部分205。上述的编码器和译码器的各个部件可由专用的硬件构建,或由执行预定的程序的DSP(数字信号处理器)等构成。
在图24A和24B显示的结构中,由预定数目的帧组成的图象组的图象信息被顺序提供给编码器。编码器编码在这些图象组的单元中的图象信息。在每个图象组中必须包含一个I帧,除此之外,可以包括一个或多个P帧或B帧。这里,I帧是作为所谓的帧内编码的目标的一个帧。另外,P帧是其中通过参照该帧之前的一个帧的图象而执行编码与译码的一个帧,以及B帧是其中通过参照该帧之前和之后的帧而执行编码与译码的一个帧。
图25显示了在构成图象组的帧被顺序地提供的情况下,编码器运行的例子。在图25上,为了说明简明起见,给出了一个例子,其中I帧和P帧是以P1帧和P2帧跟随在I帧后面的方式被输入到编码器的。下面将参照图25说明编码器的运行。
首先,当相应于I帧的图象信息被输入时,没有通过图24A上的编码器的各个组成单元进行处理,而是借助于编码算法执行当前图象(I帧)的图象信息的帧内编码,以及结果的编码的数据被发送到接收端。另外,在编码器中,I帧的图象信息按照相应于上述的编码算法的译码算法从编码的数据中被译码,以及作为参考图象被存储在运动预测与补偿部分106的存储器(未示出)中。
接着,当P1帧被输入时,当前图象(P1帧)在编码器中被分成多个宏块MBij(i=1-M,j=1-N)。这里,每个宏块包括2×2=4块,每块包括8×8=64象素。然后,在编码器中,宏块MBij以以下方式被处理。
首先,运动预测与补偿部分106从参考图象中(在这种情况下,是I帧)搜索与当前图象的宏决MBij相同尺寸的参考宏块Mbij’。假定这个参考宏块MBij’已移动而形成宏块Mbij。运动预测与补偿部分106输出运动信息V,它表示其空间距离和运动方向。这里,运动信息V被可变长度编码器206变换成可变长度代码。
减法器101从宏块Mbij的图象信息中减去参考宏块Mbij’的图象信息,以确定图象之间的差值,以及DCT部分102执行DCT,这是对这个差值的一种正交变换。
量化器103量化从DCT部分102得到的差值图象的DCT系数,以及可变长度编码器107把从该量化得到的数据变换成可变长度代码。
量化的DCT系数的可变长度代码和上述的运动信息V的可变长度代码被复接装置109复接,以及作为相应于宏块Mbij的编码的数据被发送到接收端。
另一方面,来自量化器103的输出数据由去量化器104进行去量化,然后去量化器104的输出数据被输入到逆DCT部分105。结果,从逆I)CT部分105输出差值图象△。虽然这个差值图象△是相应于在当前图象(P1帧)的宏块MBij与参考宏块MBij’之间的差值的图象信息,但它通过DCT的处理、量化、去量化、和逆DCT而被产生,这样它包括与此有关的错误。
运动预测与补偿部分106借助于诸如把从逆DCT部分105得到的差值图象△与参考宏块MBij’相加那样的方法而恢复当前图象(帧P1)中的宏块MBij的图象信息,然后这个信息作为参考图象被存储在存储器中,作为用于编码随后的帧的参考。
上述的处理是对于构成当前图象(帧P1)的所有的宏块MBij(i=1-M,j=1-N)执行的。
然后,当下一个帧P2被输入时,参考被存储在运动预测与补偿部分106的存储器中的参考图象(帧P1的图象),以便执行类似于上述的编码处理。同样的操作加到帧P2以后的所有的帧。
图26给出了在接收如上述的从编码器发送的I帧、P1帧、P2帧,…。的编码的数据以后译码器运行的例子。下面将参照图12说明译码器的运行。
首先,当接收I帧的帧内编码数据时,图24B的译码器不通过各个组成的元件进行处理,而按照相应于编码器侧的帧内编码算法译码算法译码帧内编码数据。结果,与被存储在编码器侧的运动预测和标出部分106的存储器中的相同的I帧图象信息被译码,并把它作为参考图象存储在译码器中的运动补偿部分205的存储器(未示出)中。
接着,P1帧的编码数据被输入到译码器。这个编码数据包含以下的相应于通过划分P1帧的图象而得到的多个宏块MBij(i=1-M,j=1-N)的每个宏块的信息。
a.由DCT对于在相关的宏块MBij和在参考图象(I帧)中类似于它的参考宏块MBij’之间的差值进行量化和可变长度编码得到的可变长度代码。
b.表示从参考宏块MBij’到相关的宏块MBij的运动矢量的运动信息V的可变长度代码。
在译码器中,以上提到的a和b的可变长度代码由分接装置201A分开,以及通过可变长度译码器201和206被复原到实际的数字数值。然后,按照这个信息,对于每个宏块MBij执行以下的处理。
首先,从以上提到的a的可变长度代码得到的实际的数字数值,通过去量化器202和逆DCT部分203恢复在宏块MBij和在参考图象(I帧)中的参考宏块MBij’之间的差值图象△。
此外,在运动补偿部分205中,按照在以上的b中描述的运动信息V确定在参考图象(I帧)中相应于相关的宏块MBij的参考宏块MBij’的位置,并且从存储器(未示出)读出这个参考宏块MBij’的图象信息。然后,由加法器204把参考宏块MBij’的信息和上述的差值图象△相加,以及恢复宏块MBij的图象信息。
以上的程序在所有的宏块MBij(i=1-M,j=1-N)中被执行,以恢复帧P1的整个图象。被恢复的整个帧P1的图象作为参考图象被存储在运动补偿部分205存储器中。
然后,当接收相应于下一个帧P2的编码的数据时,在进行与上述相同的译码处理时,参考被存储在运动补偿部分205的存储器中的参考图象(帧P1的图象)。对于接收相应于在帧P2以后的其它的帧的编码数据的情形,采用同样的处理。
最近,已经考虑了在各种类型的通信系统中的视频图象的编码传输。为此,编码的视频图象数据是在假定以一定的传输速率进行传输的条件下被产生的,但可能有这样的情况,即编码的数据必须以不同于原先的计划的传输速率被发送。
在这一类情况下,每个图象组的帧数必须减小,以降低编码数据的数据速率。作为用于达到这一点技术,可以采用自动转码,它是编码数据的格式的转换。图27A显示了用于自动转码的方法,以及图27B是显示用于自动转码的传统的自动转码设备的结构的方框图。
如图27B所示,传统的自动转码装置具有一种结构,把译码器100和与图24B所示的相同的结构相组合,以及把把编码器200和与图24A所示的相同的结构相组合。
通过整个自动转码设备,如图27A所示,由第一编码方法产生的编码数据被译码器100译码,以及通过这种译码得到的图象由编码器200按照第二编码方法被编码。通过这样地重新编码,有可能产生具有不同于原先的编码数据的数据速率的编码数据。
然而,由于上述的传统的自动转码方法从编码数据译码出原先的图象,以及通过重新编码这个图象产生具有不同的数据速率的编码数据,这在处理上是很繁重和不经济的,以及由于存在与编码数据的译码和重新编码有关的转换错误,有图象质量下降的问题。
发明概要
鉴于上面说明的情形,作出了本发明,本发明的目的在于提供自动转码方法和自动转码设备,它能够把编码数据以较少的计算步骤转换成具有其它公式的编码数据。
本发明提供了自动转码方法,用于把从构成视频图象的多个帧通过编码算法(包括带有运动补偿的帧内预测编码算法)得出的第一编码数据转换成具有不同的结构的第二编码数据,自动转码方法的特征在于包括帧内预测编码数据重新编辑步骤,把进行过帧内预测编码和被包括在构成视频图象的多个帧中的一部分帧取作为处理目标帧,以及至少从相应于处理目标帧的第一编码数据中,产生相应于在参照第二参考帧对于处理目标帧执行帧内预测编码时得到的编码数据的第二编码数据,第二参考帧是不同于在对于处理目标帧进行帧内预测编码时所参考的第一参考帧的;所述帧内预测编码数据的重新编辑步骤包括运动信息计算步骤:通过使用至少的被包含在所述处理目标数据中的运动信息来计算被包括在所述第二编码数据中的运动信息。
附图简述
图1是显示在本发明的第一实施例中执行的自动转码的例子的图。
图2是显示按照同一个实施例的自动转码设备的方框图。
图3是显示在同一个实施例的运动信息计算电路中的处理过程的例子的图。
图4是显示在同一个实施例的DCT系数计算电路中的处理过程的图。
图5是用于说明与传统的自动转码设备相比较时,同一个实施例的效果的图。
图6是用于说明运动信息计算电路中的处理过程的另一个例子的图。
图7A和7B是用于说明运动信息计算电路中的处理过程的另一个例子的图。
图8是显示在同一个实施例的修改方案中场的概念的图。
图9是显示按照同一个实施例的修改方案的运动信息计算电路的处理过程的图。
图10A-10C是显示在本发明的第二优选实施例中执行的自动转码的例子的图。
图11是显示按照同一个实施例的自动转码设备的图。
图12-14是显示同一个优选实施例的运动信息计算部分的处理过程的图。
图15是显示运动信息计算部分的运动信息计算算法的例子的图。
图16是显示同一个优选实施例中的运动信息校正部分的处理的流程图。
图17-19是用于说明同一个优选实施例中的运动信息校正部分的运动信息搜索处理过程的图。
图20-22是显示同一个优选实施例中带有帧丢失的自动转码的运行的例子的图。
图23是显示按照本发明的第三实施例的自动转码设备的方框图。
图24A和24B是显示视频图象编码和发送系统中的编码器和译码器的一般结构的方框图。
图25是显示上述的编码器的运行的例子的图。
图26是显示上述的译码器的运行的例子的图。
图27A和27B是显示传统的自动转码方法和自动转码设备的图。
本发明的优选实施例
下面,将参照附图描述本发明的实施例。
A.第一优选实施例
A-1.自动转码
图1是显示在本发明的第一实施例中执行的自动转码的例子的图。图1显示由I帧和P1-P4帧组成的图象组。在本实施例中,具有低数据速率的编码数据是通过从这些帧中略去P1帧和P3帧而产生的。这里,P2帧参考被丢弃的P1帧,以及P4帧参考被丢弃的P3帧。因此,通过略去相应于P1帧和P3帧的编码数据,不可能从剩余的编码数据来译码P2帧和P4帧的图象。
在本实施例中,要被丢弃的帧被取为第一参考帧(在本例中,是P1帧和P3帧),通过参考第一参考帧对其执行帧内预测编码的帧被取为处理目标帧(在本例中,是P2帧和P4帧),以及被参考用来对于第一参考帧执行帧内预测编码的帧被取为第二参考帧(在本例中,是I帧和P2帧)。然后根据相应于处理目标帧的编码数据和相应于第一参考帧的编码数据,来计算第二编码数据。第二编码数据相应于在执行处理目标帧的帧内预测编码时通过参考第二参考帧得出的编码数据。上述的这个处理是帧内预测编码数据重新编辑处理。
A-2.自动转码设备
图2是显示用于执行本发明的自动转码方法的自动转码设备的结构的方框图。在图2上,分接装置1把相应于除I帧以外的帧的编码数据分开成运动信息的可变长度代码和通过帧内预测编码得出的量化的DCT系数的可变长度代码。
可变长度译码器21A把运动信息的可变长度代码恢复成实际的数字数值。
运动信息计算电路2是用于执行作为帧内预测编码数据重新编辑处理过程的一部分的运动信息计算的电路。更具体地,运动信息计算电路2从可变长度译码器21A接收相应于处理目标帧的运动信息,相应于第一参考帧的运动信息,相应于第二参考帧的运动信息,和相应于其它帧的运动信息。当运动信息计算电路2接收相应于处理目标帧的运动信息时,它根据相应于处理目标帧的运动信息和相应于第一参考帧的运动信息,来计算新的运动信息,以及输出新的运动信息代替原先的运动信息。新的运动信息相应于在对于处理目标帧执行帧内预测编码时参照第二参考消息得到的运动信息。相应于第一参考帧的运动信息被丢弃。相应于其它帧的运动信息传送通过运动信息计算电路2。
可变长度编码器2B是用于把从运动信息计算电路2输出的运动信息变换成可变长度代码的电路。
可变长度译码器3是用于译码从分接装置1输出的可变长度代码的DCT系数的量化的数据的电路。此外,去量化器4是用于对这个量化的数据进行去量化和输出DCT系数的装置。
DCT系数计算电路5是用于执行作为帧内预测编码数据重新编辑处理的一部分的DCT系数计算的电路。更具体地,DCT系数计算电路5从可变长度译码器3接收相应于处理目标帧的DCT系数,相应于第一参考帧的DCT系数,相应于第二参考帧的DCT系数,和相应于其它帧的DCT系数。当DCT系数计算电路5接收相应于处理目标帧的DCT系数时,它根据相应于处理目标帧的DCT系数和相应于第一参考帧的DCT系数,来计算新的DCT系数,以及输出新的DCT系数代替原先的DCT系数。新的DCT系数相应于在对于处理目标帧执行帧内预测编码时参照第二参考消息得到的DCT系数。相应于第一参考帧的DCT系数被丢弃。相应于其它帧的DCT系数传送通过DCT系数计算电路5。
量化器6是用于量化从DCT系数计算电路5输出的DCT系数和输出量化的数据的装置。可变长度编码器7是用进行于可变长度编码和输出量化的数据的装置。
复接器8是用于复接和输出从可变长度编码器22得到的帧的运动信息的可变长度代码和相应于从可变长度编码器7得到的帧的DCT系数的可变长度代码的装置。
接着,将详细地描述运动信息处理电路2的处理。例如,将考虑其中图3的P3帧被丢弃的事例。在本事例中,P3帧是第一参考帧,P4帧是处理目标帧,和P2帧是第二参考帧。这里,相应于处理目标帧(P4帧)的编码数据包含对于在同一帧中的每个宏块的运动信息,但这个运动信息代表从第一参考帧(P3帧)的状态的运动。因此,当第一参考帧(P3帧)被丢弃时,必须找到在处理目标帧(P4帧)中的每个宏块在第二参考帧(P2帧)中所占有的区域,以及确定相应于从每个区域到处理目标帧中的每个宏块的位置的运动的新的运动信息(被称为P2-P4运动信息)。所以,在本实施例的运动信息计算电路2中,P2-P4运动信息通过以下方法进行计算。
在图3上,处理目标MB是构成处理目标帧(P4帧)的宏块之一。这里,当类似于处理目标MB的图象的一个宏块(此后,被称为第一参考MB)被包含在P3帧时,相应于来自第一参考MB的运动的运动信息V0被包含在处理目标帧(P4帧)的编码数据中。因此,有可能从在第一参考帧中的处理目标MB的位置和运动信息V0确定第一参考MB在第一参考帧中的位置。
然而,即使类似于第一参考MB的图象(此后被称为第二参考MB)被包括在第二参考帧(P2帧),也不可能直接从在第一参考帧(P3帧)的运动信息中确定图象的位置。其理由如下。
一般地,第一参考MB与由第一参考帧(P3帧)划分出的任何宏块不匹配,以及与图上所示的四个宏块重叠。这里,运动信息是对于构成帧的每个宏块所确定的信息,以及运动信息V1-V4是对于由第一参考MB重叠的四个宏块的每个宏块确定。然而,这些宏块中的九个宏块与第一参考MB匹配。这样,相应于第一参考MB的运动信息对于第一参考帧(P3帧)的编码数据并不存在,因此,使得直接从运动信息中确定第二参考MB在第二参考帧(P2帧)中的位置成为不可能。
所以,在这个运动信息计算电路2中,相应于从第二参考MB到处理目标的运动的运动信息如下地进行计算。
步骤S1:首先,运动信息计算电路2从第一参考MB所重叠的四个宏块中间,选择相应于带有与第一参考MB重叠的最大面积的宏块的运动信息。在图3所示的例子中,宏块b4是四个宏块中与第一参考MB重叠的部分的面积是最大的宏块,以及选择相应于这个宏块b4的运动信息V4。
步骤S2:接着,运动信息计算电路2通过使用相应于处理目标MB的运动信息V0和在以上步骤S1找到的运动信息V4执行以下操作,确定相应于从第二参考MB到处理目标MB的运动的计算的运动信息值Vnew。
Vnew=V4+V0 (1)
运动信息计算电路2以处理目标帧(P4帧)中的每个宏块作为处理目标MB执行以上的处理,以及对于每个宏块,确定相应于从第二参考MB(相应于每个宏块)到处理目标帧(P4帧)中的相关宏块的运动的计算的运动信息值Vnew。
另外,当有多个丢弃的帧(如图1上的例子所显示的)时,运动信息计算电路2通过类似于以上的程序过程确定在被参考的丢弃的帧与参考丢弃帧的帧之间的计算的运动信息值。
接着将详细地说明DCT系数计算电路5的处理。图4显示了被包含在处理目标帧(P4帧)中的处理目标MB之一。每个处理目标MB由四个块组成,如图所示。在本实施例假定的帧内预测编码方法中,帧内差值图象的DCT是以这些块为单位执行的。下面,用图显示了用于校正相应于处理目标MB中的一个块(此后称为处理目标块)的差值图象的DCT系数的处理过程。
首先,图4显示了从第一参考帧(P3帧)中被分出的一个MB,这个MB包含类似于处理目标帧(P4帧)的处理目标块的图象的块b’。下面,为方便起见,把这个块b’称为第一参考块。
如果从第一参考帧的编码数据得出相应于这个第一参考块b’的、在第二参考帧(P2帧)与第一参考帧(P3帧)之间的差值图象的DCT系数,则相应于处理目标块的DCT系数可以通过把这个DCT系数加到相应于处理目标帧(P4帧)处理目标决的DCT系数而被校正到参考第二参考帧(P2帧)的结果。然而,从去量化器4提供给DCT系数计算电路5的DCT系数是相应于从其中没有相应于第一参考块b’的DCT系数的每个帧中分出的块的DCT系数。所以,相应于第一参考块b’的DCT系数是在本实施例的DCT系数计算电路5中用以下方式被计算的。
首先,在图4上,第一参考块b’覆盖第一参考帧中的四个块b1-b4。DCT系数计算电路5分别确定第一参考块b’进入到块b1中的部分的水平长度w1和垂直长度h1,第一参考块b’进入到块b2中的部分的水平长度w2和垂直长度h2,第一参考块b’进入到块b3中的部分的水平长度w3和垂直长度h3,以及第一参考块b’进入到块b4中的部分的水平长度w4和垂直长度h2。
接着,在把相应于每个块bi(i=1-4)的DCT系数的矩阵取为Bi(i=1-4)后,DCT系数计算电路5确定相应于第一参考块b’的、计算的DCT系数值的矩阵B’为如下。 Bi=Σi=14HHi·Bi·Hwi------(2)]]>
这里,HHi是hhi的DCT系数,Hwi是hwi的DCT系数,以及hhi是hwi被给出为如下。
在以上的每个方程中,使用Ihi和Iwi的矩阵的意义为如下。即,如果例如hi=4,则上式可以被重新写为如下。
DCT系数计算电路5计算在第二参考帧(P2帧)与相应于第一参考块b’的第一参考帧(P3帧)之间的差值图象的DCT系数,把这个DCT系数加到处理目标块的DCT系数上,以及得出在第二参考帧(P2帧)与处理目标帧(P4帧)之间的差值图象的DCT系数。
然后,DCT系数计算电路5对于处理目标帧(P4帧)内的其它块执行以上同样类型的处理,以及校正处理目标帧(P4帧)内的所有块的DCT系数。
虽然上面说明了省略去P3帧事例的例子,但相同的处理也将应用于省略其它帧的事例。
这完成了按照本实施例的自动转码设备的细节。
图5显示按照本实施例的自动转码设备的结构,显示出已经被消除的、按照传统技术的自动转码设备的部分。按照本实施例,带有被丢弃的特定的帧的编码数据是通过不从编码数据译码出图象而处理编码数据产生的,这样,用于译码图象的逆DCT、用于记录译码的图象的DCT、去量化、逆DCT、运动预测和补偿都是不必要的。因此,由于这些不必要的变换而发生的错误被消除,与自动转码有关的图象质量的恶化可被减小,以及对于自动转码所需要的处理量和处理时间大大地减小。另外,由于图象没有从编码数据被译码,所以不需要用于存储译码的图象的存储器,以及自动转码设备的硬件可做得更小。
A-3.运动信息计算算法的其它例子
在本发明的第一优选实施例中,揭示了由运动信息计算电路2(见图2)执行的运动信息计算的例子。然而,还有可由运动信息计算电路2执行的运动信息计算算法的其它例子。
A-3-1.例-1
图6显示了由运动信息计算电路2(见图2)执行的运动信息计算算法的另一个例子。这个算法提供了能够用MPEG-4或H.263的块执行运动补偿的、用于产生编码数据的自动转码方法和自动转码设备。下面,将描述运动信息计算算法,考虑其中丢弃了在P2帧和P4帧之间的P3帧的事例作为一个例子。
在本算法中,通过以下处理过程计算运动信息。
步骤S1:首先,从处理目标帧(P4帧)中选择相应于相关的处理目标MB的运动信息V0,并从这个运动信息V0确定相应于第一参考帧(P3帧)中的处理目标MB的第一参考Mb。
步骤S2:接着,对于从第一参考帧(P3帧)中的第一参考MB分出的每个第一参考块,确定相应于在第一参考帧(P3帧)的宏块中间与第一参考块重叠的部分的面积最大的宏块的运动信息。在图6的例子中,对于左上的第一参考块,与左上的宏块重叠的面积是最大的,这样,从第一参考帧(P3帧)的编码数据中间选择相应于这个左上的宏块的运动信息V1。另外,对于右上的第一参考块,与右上的宏块重叠的面积是最大的,这样,从第一参考帧(P3帧)的编码数据中间选择相应于这个右上的宏块的运动信息V2。此外,对于左下的第一参考块,与左下的宏块重叠的面积是最大的,这样,从第一参考帧(P3帧)的编码数据中间选择相应于这个左下的宏块的运动信息V3。最后,对于右下的第一参考块,与右下的宏决重叠的面积是最大的,这样,从第一参考帧(P3帧)的编码数据中间选择相应于这个右下的宏块的运动信息V4。
步骤S3:从上述的步骤S1的运动信息V0和在步骤S2对于每个第一参考块选择的运动信息V1-V4,确定从处理目标宏块分出的四个处理目标块的运动信息V1new-V4new,来补偿从第二参考帧(P2帧)到处理目标帧(P4帧)的运动。
V1new=V1+V0
V2new=V2+V0
V3new=V3+V0
V4new=V4+V0 (9)
按照本算法,关于参考图象的运动信息是对于从处理目标宏块分出的每个块得出的,因此使得有可能执行用于产生编码数据的自动转码,其中该编码数据是对于有可能对每个块进行运动补偿的编码方法来说最佳的。
A-3-2.例-2
图7A和7B显示了由运动信息计算电路2(见图2)执行的运动信息计算算法的另一个例子。下面,将描述运动信息计算算法,考虑其中丢弃在P2帧和P4帧之间的P3帧的事例作为一个例子。
在本算法中,通过以下处理过程计算运动信息。
步骤S1:首先,如图7A所示,从处理目标帧(P4帧)的编码数据中选择相应于处理目标MB的运动信息V0,并从这个运动信息V0,确定相应于第一参考帧(P3帧)中的处理目标MB的第一参考MB。
步骤S2:接着,从第一参考帧(P3帧)的宏块中间,确定与第一参考MB重叠的宏块b1-b4,以及从这四个宏块b1-b4中间,确定相应于与第一参考MB重叠的部分的面积最大的宏块的运动信息。在图7A的例子中,在所显示的四个宏块b1-b4中间,在第一参考MB和图上显示在右下方的宏块b4之间重叠部分的面积最大,这样,从第一参考帧(P3帧)的编码数据中间,选择了相应于这个宏块b4的运动信息V4。
步骤S3:接着,确定从第一参考MB的中心到宏块b4(宏块b4与这个第一参考MB重叠的部分的面积是在第一参考帧(P3帧)中最大的)的中心的运动信息△V4(见图7B)。
步骤S4:从上述的步骤S1的运动信息V0、在步骤S2确定的运动信息V4和在步骤S3确定的运动信息△V4,确定从第二参考帧(P2帧)到处理目标帧(P4帧)的处理目标MB的运动信息Vnew。
Vnew=V4+V0-△V4 (10)
A-4.DCT系数计算算法的另一个例子
接着,将描述本实施例中DCT系数计算电路的DCT系数计算算法的另一个例子,取作为图7A和7B所示的事例的一个例子。在本例中,通过以下处理过程计算在省略去第一参考帧(P3帧)以后相应于处理目标MB的DCT系数。
步骤S1:首先,来自处理目标帧(P4帧)的编码数据确定相应于处理目标MB的DCT系数(即,在处理目标MB与第一参考MB之间的差值的DCT系数)。
步骤S2:接着,确定相应于在与第一参考帧的第一参考MB重叠的宏块b1-b4中间的、与第一参考MB重叠的部分是最大的宏块b4的DCT系数(即,在宏块b4与第二参考MB之间的差值的DCT系数)。
步骤S3:接着,把在步骤S1确定的、相应于处理目标MB的DCT系数和在步骤S2确定的、相应于宏块b4的DCT系数相加,以及把相加的结果取为在丢弃第一参考帧(P3帧)以后相应于处理目标MB的DCT系数。
在这个算法中,相应于处理目标MB的DCT系数可以通过只相加DCT系数就被得出,不需要执行诸如在上述的优选实施例中的式(2)的运算,因此,具有能够减小处理量的优点。
A-5.修改例-1
在上述的实施例中,使用了图象组中帧的概念,但本发明并不限于适用于帧,而是可应用于处理场的编码格式,例如MPEG-2。例如,如图8所示,在电视信号的情况下,单个帧由两个场组成。然后,帧内预测编码是在相邻帧的奇场之间和偶场之间进行的。在通过诸如这样的帧内预测编码得到的编码数据的自动转码的情况下,有可能通过与对于上述的实施例列出的相同的程序过程计算运动信息和DCT系数。也就是,只要取帧中的每个场作为处理目标帧以及如上述的实施例那样地计算运动信息和计算DCT系数就足够了。
A-6.修改例-2
在上述的实施例中,丢弃了图象组中的P帧。与此相反,在本实施例中,在具有IBBP结构的图象组中丢弃B帧,以及修改在本事例中剩余的B帧的编码数据的运动信息和DCT系数,以减小数据量。
下面,将参照图9描述按照修改例的自动转码方法。在图9所示的图象组中,在I帧与P帧之间有两个B帧。这些B帧通过参考I帧和P帧产生各自的编码数据。这里,在这些B帧中,在P帧之前的B帧将被丢弃。当执行这种丢弃时,跟随在I帧后面的B帧保持,但这个B帧包含以下三种类型的宏块。
a.通过前向预测模式进行预测编码的宏块。也就是,其中编码数据包含只参照先前的帧(在本例中是I帧)的运动信息的宏块。
b.通过双向预测模式进行预测编码的宏块。也就是,其中编码数据包含参照先前的帧(在本例中是I帧)的运动信息和参照随后的帧(在本例中是P帧)的运动信息的宏块。
c.通过后向预测模式进行预测编码的宏块。也就是,其中编码数据包含只参照随后的帧(在本例中是P帧)的运动信息的宏块。
在修改例中,这三种类型的宏块a-c的编码数据如下地被处理。
<宏块a的编码数据的处理>
对于这个宏块的编码数据,运动信息(前向)Vforward(B)和DCT系数被留下。
<宏块b的编码数据的处理>
对于这个宏块的编码数据,只有参考先前的帧的运动信息(前向)Vforward(B)和DCT系数被留下,以及参考随后的帧的运动信息(后向)Vbackward(B)和DCT系数被去除。另外,在运动补偿后的差值图象的DCT系数被留下。
<宏块c的编码数据的处理>
对于这个宏块的编码数据,这个宏块被取为处理目标宏块,随后的帧(P帧)被取为第一参考帧,先前的帧(I帧)被取为第二参考帧,以及相应于这个宏决的DCT系数被改变到参考第二参考帧的内容。图9显示了其中在上述的实施例中揭示的运动信息计算方法被应用到这个修改例的例子.也就是,在图9所示的例子中,对于这个宏块的参考第二参考帧的运动信息通过以下所述的处理过程得出。
a.从编码数据确定相应于该处理目标MB的运动信息Vbackward(B)。
b.从运动信息Vbackward(B)确定相应于第一参考帧(P帧)的处理目标宏块的第一参考宏块。
c.确定相应于在第一参考帧(P帧)中的MB中间的、与第一参考MB重叠部分的面积是最大的MB的运动信息Vforward(P)。
d.从在上述的a-c中的运动信息,计算用于补偿在被用来产生第一参考帧(P帧)的编码数据的第二参考帧(I帧)和处理目标MB之间的运动的运动信息Vnew。
Vnew=Vforward(P)+Vbackward(B) (11)
这完成了本实施例中用于计算运动信息的处理的详细说明。
正如在以上的运动信息的事例中那样,相应于B帧的DCT系数的改变可通过使用上述的第一实施例而被执行。
通过仿照上述的处理,在丢弃后留下的B帧变成为只参考先前的帧(在本例中是I帧)的P帧。
虽然以上的例子是其中使用按照第一实施例的用于计算运动信息和DCT系数的方法的事例,但当然有可能应用作为其它例子或第一实施例的修改例而被揭示的应用计算运动信息和DCT系数的方法。
另外,虽然对于以上的例子说明了其中从IBBP结构中丢弃B帧的事例,但本实施例适用于其中从IBBPBBP结构中丢弃在两个P帧之间的两个B帧中的一个B帧的事例。
B.第二优选实施例
B-1.自动转码的例子
图10A-10C是显示在按照本发明的第二优选实施例中执行的自动转码的例子的图。首先,在图10A显示的例子中,自动转码被执行来把相应于由一个I帧、两个B帧和一个P帧组成的图象组的编码数据变换成相应于由一个I帧和三个P帧组成的图象组的编码数据。
在本例中,相应于自动转码以前的B帧的编码数据是通过参考先前的I帧的图象数据和随后的P帧的图象数据而产生的,它包括用于执行对于I帧(前向预测)的运动补偿和对于P帧(后向预测)的运动补偿的运动信息。
在图10B所示的例子中,相应于B帧(是图10B所示的例子中的两个B帧中的后一个B帧)的编码数据被丢弃,相应于紧接在I帧后的B帧的编码数据被变换成只参考I帧的P帧的编码数据,以及相应于图象组中最后的P帧的编码数据被变换,以便参考这个P帧。
接着,在图10C所示的例子中,当相应于由一个I帧和三个P帧组成的图象组的编码数据被给定时,三个P帧中的一个P帧被丢弃,以及该编码数据被变换成相应于由一个I帧和两个P帧组成的图象组的编码数据。
B-2.自动转码设备
图11是显示按照本发明的第二实施例的自动转码设备的结构的方框图。如图11所示,这个自动转码设备包括译码器10、编码器20、运动信息计算部分40和运动信息校正部分50。
在这些部件中,译码器10是用于接收按照一定的编码算法编码的编码数据的装置,它包括分接器11、可变长度译码器12和13、去量化器14、加法器16、帧存储器17和运动补偿部分18。
这里,分接装置11是用来把相应于I帧旁边的帧的编码数据分成代表通过帧内预测编码得到的不同图象的DCT系数的可变长度代码和运动信息的可变长度代码的装置。可变长度译码器12和13是用于把由分接装置11分开的DCT系数的可变长度代码和运动信息的可变长度代码分别复原为DCT系数和运动信息的量化的数据的装置。去量化器14是用于将从可变长度编码器12得出的DCT系数的量化数据进行去量化和输出DCT系数的装置。逆DCT部分15是用于对从去量化器14得到的DCT系数执行逆DCT,和确定由带有运动补偿的帧内预测编码得出的预测错误的装置。这个预测错误相应于一个差值图象,这个差值图象是通过将相应于编码数据的图象与在产生作为处理目标的编码数据期间执行运动补偿时被参考来产生编码数据的帧(第一参考帧)的图象进行相减而得出的。帧存储器17是用于存储译码图象数据的存储器。当相应于某个处理目标帧的预测错误(差值图象)从逆DCT部分15输出到加法器16时,运动信息补偿部分18读出在来自帧存储器17的这个处理目标帧的编码数据产生时被参考的第一参考帧的图象数据,以及响应于此,通过使用来自可变长度译码器13的运动信息执行运动补偿,以及把结果输出到加法器16。加法器16把运动补偿的参考帧的图象数据与来自逆DCT部分15的预测错误进行相加,以及输出相加的结果作为图象数据。如上所述的译码器10的结构和运行正如参照图24B和图26所说明的那样。
接着,编码器20包括减法器21、DCT部分22、量化器23、去量化器24、逆DCT部分25、加法器26、帧存储器27、运动补偿部分28、可变长度编码器29和30、以及复接器31。
这里,减法器21是用于计算相应于从译码器1侧提供的处理目标帧的图象数据和预测错误的装置,该预测错误是相对于从运动补偿部分28提供的运动补偿图象数据的差值。下面,将描述参考图象数据。DCT部分22是用于相对于从减法器21得出的预测错误执行DCT的装置,而量化器23是用于将从DCT部分22得出的DCT系数进行量化、以及输出量化的数据的装置。去量化器24是用于将从量化器23输出的量化数据进行去量化、以及输出DCT系数的装置,而逆DCT部分25是用于对从去量化器24输出的DCT系数执行逆DCT,以恢复预测错误的装置。帧存储器27是用于存储参考帧的图象数据的存储器。当相应于某个处理目标帧的图象数据从译码器1侧被提供到减法器21时,运动补偿部分28读出相应于在编码被存储在帧存储器27中的相关的处理目标帧时被参考的参考帧的图象数据,以及通过使用从运动信息校正部分50提供的运动信息对于这个图象数据执行运动补偿,这将在以后说明。然后,由这个运动补偿得出的参考图象被加到减法器21和加法器26。加法器26把运动补偿的参考图象数据与从逆DCT部分25得出的预测错误进行相加,以及输出相应于处理目标帧的原先图象数据的图象数据。这个图象数据被写入帧存储器,作为在以后的帧进行编码时被参考的参考帧的图象数据。
在上述的编码器20与已经描述的传统自动转码设备中的编码器之间有很大的差别。也就是,传统自动转码设备的编码器具有预测与补偿部分205(见图24A),这个运动预测与补偿部分205搜索相应于从参考点到处理目标帧的运动的运动信息。相反地,本实施例的编码器20没有这样的搜索运动信息的装置。本实施例的编码器20通过使用从运动信息校正部分50发送的运动信息来执行第二参考帧的图象数据的运动补偿。本实施例的特征实际上在于,这个运动信息是用比传统设备中的处理少得多的处理得出的。在本实施例中,这个运动信息由图11上的运动信息计算部分40和运动信息校正部分50得出。
运动信息计算部分40相应于按照本发明的第一优选实施例的自动转码设备的运动信息计算电路2(见图2)。运动信息计算电路40是用于通过使用从译码器10的可变长度译码器13得到的运动信息执行运动信息计算算法而计算在自动转码后被包括在编码数据中的运动信息的装置。例如,当执行图10A所示的自动转码时,取紧接在I帧后的B帧作为处理目标帧,相应于这个处理目标帧的编码数据是通过参考I帧和P帧(第一参考帧)的图象数据而产生的,它包括相应于从I帧到处理目标帧的运动的运动信息和相应于从P帧到处理目标帧的运动的运动信息。然后,自动转码把这个参考目标帧的编码数据转换成只参考I帧(第二参考帧)的编码数据。为了得到只参考这个I帧(第二参考帧)的编码数据,运动信息计算部分40至少使用被包含在处理目标帧的编码数据中的运动信息,来计算相应于从I帧(第二目标帧)到处理目标帧的运动的运动信息。在第一实施例中,揭示了多个适当类型的这种用于运动信息的计算算法。
接着,将描述运动信息校正部分50。从运动信息计算部分40得到的运动信息不是通过搜索运动,而是通过对于现有的运动信息进行运算得到的。所以,有一些情形,其中得到的运动信息不是非常精确。所以,在本实施例中,判断从运动信息计算部分40得到的运动信息是否能认为是精确的,以及如果认为是精确的,则运动信息被发送到编码器20。相反,当发现从运动信息计算部分40得到的运动信息是不精确时,从被存储在帧存储器17中的第二参考帧的图象数据中间找到接近于处理目标帧的图象数据的图象数据,以及确定相应于从第二参考帧到处理目标帧的运动的运动信息。运动信息校正部分50是用于操纵这种类型的功能的装置。为了避免说明的冗余,将在有关本实施例运行的部分中说明用于判断从运动信息计算部分40得到的运动信息是否精确的处理过程的技术说明以及用于通过搜索寻找运动信息的处理过程的细节。
下面,将通过给出对于如图10A所示的自动转码的事例的例子来描述本实施例的运行。按照本实施例的自动转码设备不同于传统的自动转码设备在于,包括运动信息计算部分40和运动信息校正部分50,以及使用在编码器20侧由此得到的运动信息。因此,以下将主要描述运动信息计算部分40和运动信息校正部分50的运行。
(1)运动信息计算部分40的运行
首先,参照图12-14,将对于如10A图所示执行自动转码的情形说明运动信息计算部分40的运行。
在图12-14上,两个B帧在自动转码之前被插入到I帧和P帧之间。运动信息计算部分40执行对于把这些B帧(处理目标帧)做成只参考紧接在前面的帧(第二参考帧)的P帧所必须的运动信息计算处理过程和对于把最后的P帧(处理目标帧)做成只参考紧接在前面的P帧(它原先是B帧)的P帧所必须的运动信息计算处理过程。
<相应于紧接在I帧后的B帧的处理>
在本实施例中,处理被包含在B帧中的以下三种类型的宏块。
a.通过前向预测模式进行帧内预测编码的宏块。也就是,在参考编码数据中包含只参考先前的帧(在本例中是I帧)的运动信息的宏块。
b.通过双向预测模式进行帧内预测编码的宏块。也就是,在编码数据中包含参考先前的帧(在本例中是I帧)和参考随后的帧(在本例中是P帧)的运动信息的宏块。
c.通过后向预测模式进行帧内预测编码的宏块。也就是,在编码数据中包含只参照随后的帧(在本例中是P帧)的运动信息的宏块。
这不单应用到紧接在I帧后的帧,也应用到第二B帧。
运动信息计算部分40对于紧接在I帧后的B帧计算相应于三种类型的宏块a-c的在自动转码后的运动信息。
首先,对于宏块a,从该宏块的编码数据中分出的运动信息(前向)Vforward(B)被取为自动转码后的运动信息。接着,对于宏块b,在从该宏块的编码数据中分出的运动信息中,只有参考先前的帧的运动信息(前向)Vforward(B)被取为自动转码后的运动信息,以及参考随后的帧的运动信息(后向)Vbackward(B)被丢弃。
接着,对于宏块c,相应于这个宏块的编码数据只包含用于相对于P帧(第一参考帧)的运动补偿的运动信息(后向)Vbackward(B),而不包含用于相对于作为在自动转码后的参考目标的I帧(第二参考帧)的运动补偿的运动信息。另一方面,构成P帧(第一参考帧)的宏块的编码数据包含用于相对于I帧(第二参考帧)的运动补偿的运动信息(前向)Vforward(P)。所以,运动信息计算部分40通过使用运动信息Vbackward(B)和运动信息Vforward(P)的运算,确定在宏块c与I帧(第二参考帧)之间的用于运动补偿的运动信息的预测值。这里,将参照图15给出用于计算这个运动信息的预测值的方法的例子。
步骤1:首先,得出从作为处理目标的宏块c的编码数据中分出的运动信息Vbackward(B)。这个运动信息Vbackward(B)相应于从相应于被包含在P帧(第一参考帧)内的处理目标宏块c的宏块(第一参考宏块)到处理目标宏块c的运动。
步骤2:从运动信息Vbackward(B)确定相应于P帧(第一参考帧)内的宏块c的第一参考宏块。
步骤3:确定相应于在P帧(第一参考帧)的宏块中、与第一参考宏块重叠部分的面积最大的宏块的运动信息Vforward(P)。在图15所示的例子中,第一参考宏块覆盖宏块b1-b4,其中与宏块b4的重叠部分的面积最大。所以,选择相应于这个宏块b4的运动信息V4作为运动信息Vforward(P)。
步骤4:从上述的运动信息Vbackward(B)和Vforward(P),计算在宏块c自动转码后的预测的运动信息Vbackward(B)。
预测的Vbackward(B)
=Vbackward(B)+Vbackward(P) (12)
以上给出了有关相应于紧接在I帧后面的B帧的自动转码后运动信息计算方法的细节。
<相应于第二B帧的处理>
接着,将参照图13描述用于第二B帧的处理过程。这个第二B帧,像紧接在I帧后面的B帧一样,也包括三种类型的宏块a-c。另外,当把在作为处理目标帧的第二B帧与作为在其自动转码前的参考的第一参考帧(I帧)之间的时间差值和在该处理目标帧与作为在其自动转码后的参考的第二参考帧(紧接在I帧后面的B帧)之间的时间差值进行比较时,后者是前者的1/2。所以,运动信息计算部分40通过线性插值以以下的方式计算相应于三种类型的宏块a-c的自动转码后运动信息。
首先,对于宏块a,获取从该宏决的编码数据中分出的运动信息(前向)Vforward(B),以及把Vforward(B)/2取为自动转码后的运动信息。接着,对于宏块b,在从该宏块的编码数据中分出的运动信息中,获取参考先前的帧的运动信息(前向)Vforward(B),以及把Vforward(B)/2取为自动转码后的运动信息。接着,对于宏块c,确定用于在宏块c和相应的宏块之间的运动补偿的预测的运动信息Vforward(B),以及把Vforward(B)/2取为自动转码后的运动信息。以上是用于计算相应于第二B帧的自动转码后运动信息的方法。当图象的运动相当平滑时,可以相信有可能甚至通过这种线性插值得到相当接近于由运动信息搜索得到的运动信息的对于运动信息的预测值。
<相应于最后的P帧的处理>
接着,将参照图14说明用于最后P帧的处理过程。对于构成这个P帧的宏块,所有的编码数据是通过参考前面的I帧(第一参考帧)产生的。另外,当把在作为处理目标帧的P帧与作为在其自动转码前的参考的第一参考帧(I帧)之间的时间差值和在该处理目标帧与作为在其自动转码后的参考的第二参考帧(第二B帧)之间的时间差值进行比较时,后者是前者的1/3。所以,运动信息计算部分40通过线性插值以以下的方式计算相应于三种类型的宏块a-c的自动转码后运动信息。也就是,对于每个宏块,获取从该宏块的编码数据中分出的运动信息(前向)Vforward(P),以及把Vforward(P)/3取为自动转码后的运动信息。以上是用于计算对于最后P帧的自动转码后运动信息的方法。
(2)运动信息校正部分50的运行
由于从运动信息计算部分40得到的运动信息重新使用如上所述的已经现有的运动信息或对于已经现有的运动信息执行预定的操作,所以有一些情形,其中得到的运动信息是不太精确的。运动信息校正部分50判断通过运动信息计算部分40得到的运动信息是否能认为是精确的,如果发现是不精确的,则运动信息校正部分50产生运动信息来代替被提供给编码器20的运动信息。图16是显示这个运动信息校正部分50的运行的流程图。运动信息校正部分50执行在这个流程图上显示的、对于构成处理目标帧的每个处理目标宏块的处理过程。
首先,运动信息校正部分50使用通过运动信息计算部分40计算的运动信息(此后,被称为运动信息MEnew),以确定相应于处理目标宏块的第二参考宏块在该帧内的位置,以及从帧存储器17中读出相应于这个第二宏块的图象数据。接着,运动信息校正部分50从由加法器16得出的处理目标宏块的图象数据中减去相应于第二参考宏块的图象数据,以及计算预测的误差(此后,称为第二预测误差)(这完成步骤S1)。
接着,运动信息校正部分50获取相应于从逆DCT部分15输出的处理目标宏块的预测误差(在处理目标宏块与第一参考宏块之间的差值图象),以及判断以下方程式的条件是否满足(步骤S2)。
第一预测误差+α≥第二预测误差 (13)
这里,α是预定的常数。
如果以上方程式(13)的条件被满足,则运动信息校正部分50假定运动信息MEnew是精确的运动信息,以及把运动信息Menew发送到编码器2,作为相应于从第二参考宏块到处理目标块的运动的运动信息(步骤S5)。
另一方面,如果以上方程式(13)表示的条件不满足,则运动信息校正部分50假定运动信息MEnew是不精确的运动信息,根据运动信息Menew决定运动信息的搜索范围(步骤S3),以及搜索精确的运动信息,以代替在这个搜索范围内的运动信息Menew(步骤S4)。
下面,将参照图17-19描述这些处理过程。
首先,图17是用于说明当被包含在紧接在I帧后面的B帧内的宏块是在执行如图10A所示的自动转码时的处理目标宏决时用来决定运动信息的搜索范围的方法。
这里,在紧接在I帧后面的B帧的情形下,作为在自动转码后被参考的第二参考帧变成为I帧。所以,运动信息校正部分50使用由运动信息计算部分40计算的运动信息(图17上的Vforward(B)),以确定相应于处理目标宏块的第二参考宏块的位置。在图17上,这个第二参考宏块在表示I帧的方块内用虚线表示。运动信息校正部分50从构成作为第二参考帧的I帧的宏块中间找到四个宏决具有与第二参考宏块重叠的部分。这四个宏块是相应于处理目标宏块的运动信息的搜索范围。
当运动信息的搜索范围这样地被确定时,运动信息校正部分50在其中对于处理目标宏块的图象的预测误差是最小的搜索范围内,在相应于第二参考帧(I帧)的图象中间进行搜索。
接着,图18是用于说明当被包含在第二B帧内的宏块是在执行如图10A所示的自动转码时的处理目标宏块时用来决定运动信息的搜索范围的方法。另外,图19是用于说明当被包含在最后的P帧内的宏块是处理目标宏块时用来决定运动信息的搜索范围的方法。在这些情况下运动信息校正部分50的运行类似于上面所述的紧接在I帧后面的B帧的情况。也就是,运动信息校正部分50从构成紧接在处理目标帧以前的第二参考帧的宏块中间找到与第二参考宏块重叠的宏块,以及用这些宏块作为搜索范围,进行运动信息搜索。
以上是相应于图16上的步骤S3和S4的运动信息校正部分50的运动信息的处理过程。运动信息校正部分50把这样地得到的运动信息发送到编码器20作为相应于从第二参考宏块到处理目标块的运动的运动信息(步骤S5)。
(3)编码器20的运行
编码器20被提供以从译码器10输出的处理目标帧的宏块(处理目标宏块)的图象数据以及相应于由运动信息校正部分50输出的处理目标宏块的运动信息。然后,编码器10中的运动补偿部分28使用从运动信息校正部分接收的、相应于处理目标宏块的运动信息,以确定相应于处理目标宏块的各个第二参考宏块的位置。然后,它从帧存储器27读出相应于处理目标宏决的这些第二参考宏块的图象数据,以及把它们发送到减法器21。
减法器21从各个相应的处理目标宏块的图象数据中减去第二参考宏块的图象数据,以及输出结果作为预测误差。这些预测误差由DCT部分22被变换成DCT系数,以及由量化器23被形成为量化的数据。量化的数据通过传送经过去量化器24和逆DCT部分25被恢复成预测误差。加法器26把从运动补偿部分28输出的第二参考宏块的图象数据和预测误差相加,以及把结果写入帧存储器27作为相应于的图象数据。
另一方面,从量化器23输出的量化的数据由可变长度编码器29进行可变长度编码。另外,来自运动信息校正部分50的运动信息由可变长度编码器30进行可变长度编码。这些可变长度代码被复接器31复接,以及被输出作为相应于处理目标帧的自动转码后的编码数据。
因此,按照本实施例,运动信息搜索不是在编码器2侧执行的,以及在自动转码期间搜索运动信息的处理量被减小,这样,使得自动转码的效率大大地增加。
B-3.对于其它类型的自动转码的运行例子
在上述的实施例中,给出了如图10A所示的自动转码的情况的例子,但这里,将描述其中执行其它类型的自动转码的情况的运行例子。
首先,将参照图20描述对于其中如图10B所示地执行自动转码情况的运动信息计算部分40的运行。在图20上,如上述的实施例中那样地说明用于计算紧接在I帧后面的B帧的自动转码后运动信息的方法。接着在自动转码中丢弃图20中的第二B帧。
然后,按以下的方式确定图象组的最后P帧的自动转码后运动信息。首先,如图20所示,在自动转码之前取I帧作为参考帧的P帧变成为在自动转码后参考紧接在I帧后的P帧(以前的B帧)的帧。这里,当把在I帧与P帧之间的时间差值和在紧接在I帧后面的P帧与在自动转码前最后的P帧之间的时间差值进行比较时,后者是前者的2/3。所以,运动信息计算部分40获取相应于最后的P帧的宏块的运动信息V(P),以及取2V(P)/3为自动转码后的运动信息。
接着,将参照图21描述对于其中如图10C所示地执行自动转码情况的运动信息计算部分40的运行。在图21上,紧接在I帧后面的P帧在自动转码前和自动转码后并不改变它参考的帧。所以,这个P帧并不由运动信息计算部分40处理。第二P帧在自动转码期间被丢弃。因之,第二P帧也不由运动信息计算部分40处理。
接着,在自动转码前被参考的第一参考帧中的、但在自动转码后被参考的第二参考帧中的、图象组的最后P帧是紧接在I帧后面的第一P帧。所以,运动信息计算部分40按照以下程序对于每个构成作为处理目标帧的最后P帧的处理目标宏块计算相应于在第二参考帧与处理目标帧之间的运动的预测值Vforward(P)。
步骤1:首先,通过使用相应于在最后P帧中的处理目标宏块的运动信息Vforward(P),确定相应于在第一参考帧(第二P帧)中的处理目标宏块的第一参考宏块。
步骤2:接着,确定相应于在第一参考帧的宏块中、与第一参考宏块重叠部分的面积最大的宏块的运动信息Vforward(P),以及把这个运动信息Vforward(P)和在上述的步骤1中确定的运动信息Vforward(P)相加。结果,得出相应于在第二参考帧(第一P帧)与处理目标帧之间的运动的运动信息的预测值Vforward(P)。
以上给出了运动信息计算部分40在图10B和10C中通过例子显示的带有帧丢弃的自动转码的情形下的运行。运动信息校正部分50的运行和其它的运行,与上述的实施例中的情形没有不同。图22显示了对于图1C所示的自动转码的情况,当由运动信息计算部分40计算的相应于在最后P帧中的处理目标宏块的运动信息是不精确的以及运动信息校正部分50搜索运动信息时,决定搜索范围的方法。如图所示,运动信息校正部分50通过使用由运动信息计算部分40计算的运动信息确定在第二参考帧(第一P帧)中的第二参考宏块,以及通过把与这个第二参考宏块重叠的第二参考帧中的宏块取为搜索范围,进行运动信息搜索。
B-4.修改例
在上述的实施例中,使用了图象组中的帧的概念,但本发明并不限于结合帧一起使用,也完全一样可应用于诸如处理场的MPEG-2的编码格式。例如,在电视信号的情形下,如图8所示,一个单个帧由两个场组成。然后,在相邻帧的奇场之间和偶场之间执行帧内预测编码。在由这样的帧内预测编码得到的编码数据的自动转码的情况下,有可能通过与对于上述的实施例列出的相同的基本程序来计算和校正运动信息。也就是,只要取一个帧的每个场作为处理目标帧,以及如上述的实施例一样计算和校正运动信息。
C.第三优选实施例
图23是显示按照本发明的第三优选实施例的自动转码设备的结构的方框图。
如图23所示,自动转码设备具有输入部分61、缓存器62、切换控制部分63、切换部分64、第一自动转码部分70和第二自动转码部分80。
输入部分61具有分接器61A、可变长度译码器61B和61C,以及去量化器61D。
这里,分接器61A是用来把相应于I帧旁边的帧的编码数据分成代表通过帧内预测编码得到的不同图象的DCT系数的可变长度代码和运动信息的可变长度代码的装置。可变长度译码器61B和61C是用于把由分接装置11分开的DCT系数的可变长度代码和运动信息的可变长度代码分别复原为DCT系数和运动信息的量化的数据的装置。去量化器61D是用于将从可变长度译码器61B得出的DCT系数的量化数据进行去量化和输出DCT系数的装置。
缓存器62接收来自可变长度译码器61C的运动信息和来自去量化器61D的DCT系数,以及存储相应于预定的数目的最近的帧的运动信息和DCT系数。预定的数目的最近的帧例如是图象组。当已经完成相应于图象组的运动信息和DCT系数的存储时,这样被存储的运动信息和DCT系数然后从缓存器62中被读出,并且相应于下一个图象组的运动信息和DCT系数的存储开始进行。
切换控制部分63监视被存储在缓存器62中的运动信息,以及根据该运动信息判断视频图象的运动是否很快,和根据该判断来控制切换部分64。
切换部分64在切换控制部分63的控制下,把相应于预定数目的帧的DCT系数和运动信息从缓存器62发送到第一自动转码部分70或第二自动转码部分70。
第一自动转码部分70是用于按照在第一优选实施例中揭示的方法执行自动转码的装置。所以,第一自动转码部分70具有在按照第一优选实施例的自动转码设备中所包括的元件(见图2)。
第二自动转码部分80是用于按照在第二优选实施例中揭示的方法执行自动转码的装置。所以,第二自动转码部分80具有在按照第二优选实施例的自动转码设备中所包括的元件(见图11)。
接着,将描述本实施例的运行。
视频图象的帧的编码数据顺序地被提供到自动转码设备,以及相应于预定数目的最近的帧的DCT系数和运动信息被存储在缓存器62中。
当被存储在缓存器62中的运动信息少于预定的门限时(这表示视频图象的运动较慢),切换控制部分63这样地控制切换部分64,以使得DCT系数和运动信息从缓存器62被发送到第一自动转码部分70中的DCT系数计算电路5和运动信息计算电路2。结果,对于视频图象的DCT系数和运动信息以小的计算量执行在第一优选实施例中所揭示的自动转码。
相反地,当被存储在缓存器62中的运动信息多于门限值时(这表示视频图象的运动很快),运动信息计算电路很难计算精确的运动信息,以及带来一个缺点,由自动转码得出的编码数据量增加。在这种情况下,所以,切换控制部分63这样地控制切换部分64,以使得DCT系数和运动信息从缓存器62被发送到第二自动转码部分80中的逆DCT部分15和运动信息计算部分40。结果,对于视频图象的DCT系数和运动信息执行在第二优选实施例中所揭示的自动转码。
在上述的第三优选实施例中,切换部分64的切换控制是以预定数目的帧(诸如图象组)为单位执行的。然而,切换控制的方法并不限于上述的方式。对其进行切换控制的帧的数目不一定是常数。
D.修改例
在上述的实施例中,使用了具有预定数目的帧的图象组的概念,但本发明并不限于结合图象组一起使用,而也完全一样可应用于诸如没有图象组的概念的MPEG-4的编码格式。