专利名称:译码设备和方法、编码设备和方法、图像处理系统和方法
技术领域:
本发明涉及一种译码设备、一种译码方法、一种编码设备、一种编码方法、一种图像处理系统和一种图像处理方法。所有这些都被用于再次对图像数据进行编码的系统中。特别是,本发明涉及泽码比特流产生图像数据和对图像数据再编码的编码参数的译码设备和方法,利用译码设备提供的编码参数编码从译码设备提供的编码图像数据的编码设备和方法,译码比特流产生图像数据并产生图像数据再编码的编码参数和利用从译码设备提供的编码参数编码从译码设备提供的图像数据的图像处理系统和方法。
背景技术:
当一个常规的系统对由使用MPEG(运动图像专家组)系统编码的图像信号进行再编码时,所述再编码的图像信号在图像质量方面会产生恶化。引起这种恶化的原因之一是在已经编码的信号和再编码的信号之间的某些参数、例如图像类型、运动矢量方面等存在某些差别。
下面将解释由于图像类型变化所导致的图像质量变差的一个例子。假设存在用于一个GOP(图像组)的输入译码图像的图像类型。所述GOP可以由例如9个图像组成(N=9)B0,B1,I2,B3,B4,P5,B6,B7和P8。
这些图像组是以MPEG系统为基础的。更具体地说,所述GOP由一个I(帧内)图像、多个P(预测)图像和多个B(双向预测)图像组成。每三个图像(M=3)构成从后面跟随有一个I图像或P图像的I图像或P图像开始的子组。如下面所示,为了从相位上锁定这个GOP,包含在输入译码图像中的所述I图像被用做没有进行任何修改的基准图像。
B0,B1,I2,B3,B4,P5,B6,B7,P8考虑用于没有被相位锁定的随后GOP的输入译码图像的图像类型B0,I1,B2,B3,P4,B5,B6,P7在这个GOP中,第三个图像(B2)、即在图像质量方面可能会产生很大失真的一个B图像在对图像信号再次编码的处理中被用做基准图像,这样,再编码的精度将降低,从而导致图像质量的极大失真。
在常规的译码器中,在所述图像信号被再次编码之后,不仅是图像类型,而且还有例如运动矢量等的其它编码参数都可以保持不变。如果是这样的话,所述图像质量的恶化比起使用在对所述图像信号进行再编码处理中计算的编码参数值的情况要小。在常规的编码器中,包括图像类型和运动矢量在内的所有编码参数在所述图像被再次编码之后都保持不变,借此,使由再编码图像信号表示的图像质量几乎没有失真。
误差可能被加到传输路径中的比特流上。已经对原来比特流进行编码的所述编码器可以使用不依据所述MPOEG标准的编码参数。在这种情况下,所述译码器已经接收的比特流可能具有在某种情况下存在的语法误差。
如果所述语法误差存在于所述比特流中,那么,所述译码器从比特流中发生误差的位置搜索下一个开始码(32比特同步码),借此以消除误差。所述译码器不能对包括在误差发生位置的起点和误差恢复位置的起点之间延伸的一个比特流的一部分中的信号译码。因此,代替已经丢失的图像信号,所述译码器使用已经被译码删除由于语法误差而丢失的图像信号导致的误差的图像数据。
如上所述,所述常规的编码器可以在根据图像类型或运动矢量识别在再编码之前提供的编码参数和在再编码之后提供的编码参数的情况下对已经译码的图像信号进行再编码。当所述译码器接收一个具有语法误差的比特流时,它隐蔽所述误差并输出被隐蔽了的图像数据给所述再编码器。然后,所述再编码器从所述译码器中接收未编码参数,或接收具有误差的编码参数。如果所述编码器使用由所述译码器提供的错误编码参数对图像信号编码,则由所述编码图信号表示的图像将具有很大的质量失真。
如上面所指示的,迄今为止,所述编码器在大多数情况下使用由译码器提供的编码参数对比特流进行编码,而不考虑在输入给所述译码器的所述比特流中是否发生了语法误差。由于它使用错误的编码参数对所述比特流进行编码,所以,所述编码器不能以正常方式处理所述比特流信号。
发明内容
本发明是从前述角度出发而做出的。本发明的一个目的是提供一种能够产生指示在一个比特流中已经发生误差的数据的译码装置和方法、一种即使是在比特流中已经发生了误差也能够执行良好数据编码的编码设备和方法以及一种图像处理系统和方法。
根据本发明被设计成能够实现上述目的的译码设备包括译码装置,用于对输入比特流译码以产生图像数据;参数产生装置,用于产生将被用于对所述图像信号进行再编码的每层的编码参数,这些参数是由所述译码器产生的;和误差标记产生装置,用于产生用于指示由所述参数产生装置产生的用于每层的编码参数是否能够有效地对所述图像数据进行再编码的误差标记。
根据本发明的译码方法包括对输入的比特流译码以产生图像数据;产生将被用于对所述图像数据进行再编码的用于每层的编码参数;和产生用于指示为每层产生的编码参数是否能够有效地对所述图像数据进行再编码的误差标记。
根据本发明的编码设备包括参数估计装置,用于根据指示所述编码参数是否能够被有效使用的误差标记来确定已经从译码设备输入的用于每层的编码参数是否能够被有效地用于对从所述译码装置输入的图像数据编码;参数计算装置,用于根据由所述参数估计装置提供并指示所述编码参数无效的数据计算与从所述译码装置提供的图像数据相关的编码参数;编码装置,用于当所述参数估计装置确定由所述译码装置提供的编码参数有效时使用从所述译码设备输入的编码参数对图像数据编码,而当所述参数估计装置确定由所述译码设备提供的编码参数无效时使用由所述参数计算装置产生的编码参数对图像数据编码。
根据本发明的另一种编码设备包括计数装置,用于对一个规定图像类型的图像数据被连续从译码设备输入的次数进行计数;图像类型变化装置,用于根据由所述计数装置提供的数据产生编码参数并指示所述计数装置的计数已经到达一个预定值从而可以将所述图像数据编码成不同图像类型的图像数据;和编码装置,用于使用从所述图像类型变化装置提供的编码参数编码所述图像数据。
根据本发明的再一种编码方法包括确定从译码设备输入并用于每层的编码参数是否能够根据指示所述编码参数能够被有效使用的误差标记有效地用于对从所述译码设备输入的图像数据编码的处理;根据指示由所述译码设备提供的编码参数是无效的数据,计算与从所述译码装置提供的图像数据相关的编码参数的处理;和当由所述译码设备提供的编码参数被确定为有效时使用从所述译码设备输入的编码参数对所述图像数据编码和当从所述译码设备提供的编码参数被确定为无效时,使用在计算编码参数处理中产生的编码参数对所述图像数据编码的处理。
根据本发明的另一种编码方法包括对连续从译码设备输入的规定图像类型的图像数据的次数计数;根据由所述计数装置提供并指示所述计数装置的计数已经达到一个预定值从而可以将所述图像数据编码成不同类型图像数据的数据产生编码数据;和使用从所述图像类型变化装置提供的编码参数对图像数据编码。
根据本发明的图像处理系统包括一个译码设备和一个编码设备。所述译码设备包括用于对输入比特流译码以产生图像数据的译码装置;用于产生将被用于对已经由所述译码装置产生的图像数据再编码的用于每层的编码参数的参数产生装置;和用于产生指示由所述参数产生装置产生的用于每层的编码参数是否能够被有效地用于对图像数据再编码的误差标记的误差标记产生装置。所述编码设备包括用于根据指示所述编码参数是否能够被有效使用的误差标记确定已经从所述译码设备输入的用于每层的编码参数是否能够被有效地用于对从所述译码设备输入的图像数据编码的参数估计装置;用于根据从所述参数计算装置提供并指示所述编码参数无效的数据计算与从所述译码装置提供的图像数据相关的编码参数的参数计算装置;和用于当所述参数估计装置确定由所述译码装置提供的编码参数有效时使用由所述译码设备提供的编码参数对图像数据编码和当所述参数估计装置确定由所述译码设备提供的编码参数无效时使用由所述参数计算装置产生的编码装置对图像数据编码的编码装置。
根据本发明的另一种图像处理系统包括用于对输入的比特流译码以产生图像数据的译码装置;用于对由所述译码装置提供的图像数据执行逆量化借此以产生DCT系数的逆量化装置;用于对由所述逆量化装置提供的DCT系数执行量化借此以产生图像数据的量化装置;用于产生将被用于对由所述译码装置译码的图像数据编码并用于每层的编码参数的参数产生装置;用于产生指示由所述参数产生装置为每层产生的编码参数是否能够被有效地用于对所述图像数据再编码的误差标记的误差产生装置;用于根据从所述误差产生装置提供的所述误差标记计算编码参数的计算装置;用于使用由所述参数产生装置或计算装置提供的编码参数对从所述量化装置提供的图像数据编码的编码装置;和用于当根据由所述误差产生装置产生的误差标记确定所述编码参数有效时使用由所述参数产生装置产生的编码参数编码所述图像数据和当根据由所述误差标记产生装置产生的误差标记确定由所述参数产生装置产生的编码参数无效时使用由所述计算装置产生的编码参数编码图像数据的编码控制装置。
根据本发明的再一种图像处理方法包括对输入的比特流译码以产生图像数据的处理;产生将被用于对图像数据再编码的用于每层的编码参数的处理;和产生指示为每层产生的编码参数是否能够被有效用于再次对图像数据编码的误差标记的处理;对从所述译码装置提供的图像数据执行逆量化处理借此产生DCT系数的处理;对从所述逆量化装置提供的DCT系数执行量化借此以产生图像数据的处理;根据所述误差标记计算编码参数的处理;和用于当根据所述误差标记确定所述编码参数有效时使用在译码输入比特流处理中产生的编码参数译码所述图像数据和当根据所述误差标记确定所述编码参数无效时使用在计算编码参数处理中产生的编码参数译码图像数据的处理。
在根据本发明的译码设备和译码方法中,可以产生指示用于每层的编码参数是否能够被有效地用于对图像数据再编码的误差标记。因此,在它们被译码之后,可以控制在对图像数据再编码中使用的编码参数。因此,当被译码的编码参数无效时,它们不能被使用,使用由所述编码器产生的编码参数,借此精确地对所述图像数据再编码。
在根据本发明的编码设备和方法中,当从所述译码设备提供的编码参数被确定为有效时,使用从所述译码装置输入的编码参数和当从所述译码装置提供的编码参数被确定为无效时使用由计算编码参数处理产生的编码参数编码图像数据。由此,当从所述译码装置提供的编码参数有效时,使用与所述图像数据相关的复制参数对输入图像再编码。当从所述译码装置提供的编码参数无效时,使用在编码设备或方法中产生的编码参数对图像数据再编码。因此,所述编码设备和方法不使用由所述误差标记规定的编码参数,因此能够精确地再编码所述图像数据。结果,被如此再编码的图像数据呈现为一个高质量图像。
在根据本发明的其它编码设备和编码方法中,对从所述译码设备连续输入的规定图像类型的图像数据的次数计数,和所述图像数据的图像类型根据从计数装置提供并指示所述计数装置的计数已经达到一个预定值的数据变化到另一种图像类型。使用产生来用于改变所述图像类型的编码参数,借此以对所述图像数据编码。因此,即使是从所述译码设备输入的编码参数是一些在所述编码设备中不能编码的编码参数,也可以改变所述编码参数从而对所述图像数据再编码。因此,被如此再编码的图像数据能够呈示出高质量的图像。
根据本发明的图像处理系统包括一个译码设备和一个编码设备。所述译码设备包括用于产生指示由所述参数产生装置产生并用于每层的编码参数是否能够被有效用于对所述图像数据再编码的误差标记的误差标记产生装置。所述编码设备包括用于根据指示所述编码参数是否能够被有效使用的误差标记来确定已经从所述译码设备输入并用于每层的编码参数是否能够有效地被用于译码从所述译码设备输入的图像数据的参数估计装置;用于根据从所述参数估计装置提供并指示所述编码参数无效的数据计算与从所述译码设备提供的图像数据相关的编码参数的参数计算装置;和用于当所述参数估计装置确定由所述译码装置提供的编码参数有效时使用从所述译码设备提供的编码参数编码所述图像数据和当所述参数估计装置确定从所述译码设备提供的编码参数无效时使用由所述参数计算装置产生的编码参数编码所述图像数据的编码装置。因此,当从所述译码设备提供的编码参数有效时使用从所述译码设备输入的编码参数对所述图像数据再编码和当从所述译码设备提供的编码参数无效时使用由所述参数计算装置产生的编码参数对图像数据再编码。因此,所述编码设备和方法不使用由所述误差标记规定的编码参数,并因此能够精确地对图像数据再编码。被如此再编码的图像数据因此可以显示一个高质量的图像。
根据本发明的另一种图像处理系统和图像处理方法,执行一种译码处理,其中,输入的比特流被译码成图像数据并产生误差标记,该误差标记指示为每层产生的编码参数是否能够被有效地用于对所述图像数据再编码。所述系统和方法还执行一种编码处理,其中,根据所述误差标记计算编码参数,当根据所述误差标记确定所述编码参数有效时使用在对输入比特流译码处理中产生的编码参数对图像数据编码,当根据所述误差标记确定所述编码参数无效时使用在计算编码参数处理中产生的编码参数编码所述图像数据。由此,当从所述译码设备提供的编码参数有效时使用从所述译码设备输入的编码参数对图像数据再编码,和当从所述译码装置提供的编码参数无效时使用由所述参数计算装置产生的编码参数对图像数据再编码。因此,所述图像处理系统和图像处理方法不使用由误差标记规定的编码参数,因此能够精确地对所述图像数据再编码。被如此再编码的图像数据因此能够呈示一个高质量的图像。
图1的框图表示出根据本发明的一种图像处理系统;图2A表示出水平尺寸为x、垂直尺寸为y的一个图像数据;图2B用于解释将一个伪误差加到图像数据上的处理;图2C用于解释从所述图像数据中删除所述伪误差的处理;图3的时序图表示出在根据本发明的图像处理系统中从所述译码器输入给所述编码器的参数估计数据等的输入定时;图4的时序图表示出在根据本发明的图像处理系统中从所述译码器到所述编码输入MB参数等的输入定时;图5的时序图表示出在根据本发明的图像处理系统中在从译码器输入的编码参数无效的情况下所执行处理的定时;图6的时序图用于解释涉及到将被显示的按照图像顺序输入给所述编码器的MB参数picture_coding_type的处理定时,以便通过根据一个计数值将一定数量的B图像改变成一定数量的P图像来改变实现编码;和图7的框图表示出根据本发明的一种图像处理系统。
具体实施例方式
下面结合附图描述本发明的实施例。
本发明被应用于例如图1所示类型的图像处理系统。
图像处理系统1包括级连的译码器10和编码器30。译码器10从一个外部设备接收一个比特流。所述比特流是一个根据MPEG2标准编码的比特流。编码器30对由译码器10译码的图像数据编码,或对所述图像数据再编码,然后以比特流的形式向一个外部设备输出图像数据。
译码器10包括用于接收根据MPEG2标准编码并从所述外部设备提供的一个比特流的缓冲器11。缓冲器11暂存所述比特流然后将该比特流输出到可变长度译码(VLD)部分12。
可变长度译码部分12以例如宏数据块(MB)为单位对所述比特流执行可变长度译码,获得一个量化系数和一个运动矢量。如此获得的量化系数和运动矢量被输出给逆量化(IQ)部分14。
可变长度译码部分12不仅执行所述可变长度译码,而且还检测加到每个MB层上的编码参数(此后称之为“MB参数”)。所述MB参数被输出给存储器13。此外,可变长度译码部分12检测一个图像层的编码参数(sequence_GOP_picture_parameters)并产生指示所述图像层数据的编码参数和MB参数是否有效的一个数据(picture_mb_parameterts_valid)。这个数据被输出给连接到可变长度译码部分12输出端的控制部分41。
所述sequence_GOP_picture_parameters包括在MPEG2标准中规定的下述参数。
输入给可变长度译码部分12的比特流包含一个紧跟在序列标题之后安排的序列扩展(sequence_extension)、序列显示扩展(sequence_display_extension)和序列可伸缩的扩展(sequence_scalable_extension)。在这些扩展之后加上一个GOP标题(group_of_picture_header)。
另外,所述比特流包括一个用于保持与I(Intra)图像(即帧内编码图像)、P(预测)图像(即帧间、正向预测编码的图像)和B(双向预测)图像(即双向预测编码的图像)相关的数据的图像标题(picture_header)。所述比特流还包含诸如图像编码扩展(picture_coding_extension)、量化矩阵扩展(quant_matrix_extension)、图像显示扩展(picture_display_extension)等的其它扩展。
所述图像层的编码参数还包括诸如horizontal_size、vertual_size、picture_coding_type、top_field_first、repeat_first_field等的参数。
上面描述的MB参数是所述MB层的编码参数。它们包括在MPEG2标准中规定的下述参数。
即、所述MB层包含一个宏数据块地址、一个表示量化台阶尺寸的量化标度、一个指示所述量化标度是否有效的标记(当所述MB是一个空MB或者是一个没有编码的MB时设置为“0”),表示所述DCT是处于帧模式、场模式还是双模式的DCT类型、指示在所述帧模式、场模式或双模式下实现运动补偿的运动补偿类型、表示在正向预测、反向预测和双向预测情况下执行的运动预测的MB模式、一个运动矢量、一个用于场运动矢量的基准场和一个用于双主(dual prime)的辅助矢量。
如果将被检测的宏数据块是一个“未编码的MB”,即如果所述宏数据块是一个除帧内MB以外的宏数据块并不具有coded_block_pattern,则可变长度译码部分12将所述DCT类型设置为帧模式。
如果所述宏数据块是个空MB,那么,可变长度译码部分12将所述DCT类型和运动补偿类型分别设置为帧模式和帧预测。部分12将所述MB模式设置为用于P图像的正向预测模式,从直接在前的MB开始将所述MB模式设置为用于B图像的预测模式,并将所述运动矢量设置为用于P图像的0(零)和用于B图像的与直接在前MB相同的值。
如上所述,可变长度译码部分12输出用于序列层、GOP层、图像层和MB层的各种编码参数。此外,部分12产生参数估计数据。所述参数估计数据是一个两比特标记。如表1所示,在这两个比特当中,一个用于指示所述图像层的编码参数是否是有效的,而另一个用于指示所述MB参数是否是有效的。
表1
更具体地说,当所述图像层和MB层的编码参数有误差或它们是无效的时,可变长度译码部分12将所述标记设置为“00”,当所述图像层的编码参数没有误差或它是有效的时,将所述标记设置为“10”,和当所述图像层的编码参数和所述MB层的编码参数中的一个具有误差时,将所述标记设置为“11”。如此产生的参数估计数据从部分12被输出给控制部分41。
如果例如在译码器10的可变长度译码部分12执行译码的同时在所述比特流中发生一个误差,那么,所述图像层的参数可能包含一个误差。在这种情况下,通过检测下一个GOP的标题借助于隐藏的不具有picture_coding_type的数据恢复在该误差之前从所述译码器10输出的图像数据。因此,所述图像层的编码参数包含一个误差。后面将要描述的控制部分41将确定这个编码参数是无效的。
当所检测的图像在所述比特流中包含一个误差时,所述MB参数可能是无效的。在这种情况下,所述MB参数包含一个误差和控制部分41(后面将要描述)确定所述MB参数是无效的。
另外,译码部分12向控制部分41输出top_field_first和repeat_first_field。输入给部分41的场图像是一个将被经过转换部分21输出给编码器30的图像数据表示场图像。编码器30因此能够对输入给转换部分3 1的所述场图像编码并且输出与输入的场图像相同的一个场图像。
上面所描述的top_field_first是一个标记,用于指示在一个隔行图像中的帧结构图像的顶场和底场中的哪一个将被首先显示。上述repeat_first_field是一个标记,用于指示在显示帧结构图像的处理中是否应当再次显示在下一个显示的场之后首先显示的场。
所述MB参数是从可变长度译码部分12输入给存储器13的。控制部分41根据编码器30的处理定时控制规定图像时间(后述)的延时。
逆量化部分14对包含已经从可变长度译码部分12提供的量化系数在内的图像数据进行量化。具体地说,部分14以例如每个包含8×8个象素的象素块为单位量化所述图像数据。逆量化部分14读对所述图数据执行逆量化,其中,所述图像数据被所述量化台阶多路复用,借此以产生一个DC系数。被如此量化的图像数据被输出给逆离散余弦变换(IDCT)部分15。
逆DCT部分15以例如8×8象素块为单位对从逆量化部分14提供的象素数据执行逆量化离散余弦变换。逆DCT部分15计算每个8×8象素块的象素值(亮度和色差)。由所述逆变换产生的象素值组成的图像数据被从逆DCT部分15输出给加法器16。
加法器16将从逆DCT部分15输出的图像数据加到从运动补偿部分18提供的图像数据上。这两个图像数据的和被输出给控制部分17。
运动补偿(MC)部分18具有一个用于存储其中的每一个项在时间顺序上位于另一项之前或之后的多个图像数据项的帧存储器(FM)。部分18从所述帧存储器中读出已经在运动矢量基础上预测的每个图像类型的图像数据。所述图像数据被提供给加法器16。加法器16将这个图像数据加到从逆DCT部分15中输出的图像数据上,借此以实现运动补偿。
控制部分17改变从加法器16提供的帧并以其被译码的顺序安排,从而产生由以它们将被译码的顺序安排的帧组成的帧图像序列。被如此产生的帧图像序列被输出给图像处理部分19。
如果连接到部分19的输出的编码器30通过改变所述图像尺寸再次对所述图像编码,那么,图像处理部分19改变由从控制部分17输入的图像数据表示的图像的尺寸。图像处理部分19以表示由352象素×480象素组成的一个图像数据S30的形式输出例如由720象素×480象素组成的一个图像给转换部分21。
图像处理部分19在由从控制部分17提供的图像数据组成每个图像中内插以垂直方向和水平方向安置的象素。即部分19执行一个向上汇编处理,借此,每个图像具有当它被输入给图像处理部分19使所具有的较高的分辨率。
图像处理部分19根据都被加到所述图像的图像标题上的top_field_first和repeat_first_field将组成一个帧图像的输入比特流的每个图像转换成一个隔行图像。
图像处理部分19转换表示所述图像的亮度信号、色差信号Cb和色差信号Cr之间比值的每个图像的亮度-色度差格式。更具体地说,图像处理部分19将所述亮度-色度差格式从表示比值为4∶2∶0的一个转换为表示4∶2∶2的另一个。比值4∶2∶0指示所述色彩数据已经在水平和垂直方向上被减少到用于所述图像的一半。比值4∶2∶2指示所述色彩数据仅仅在水平方向上被减少到用于所述图像的一半。
图像处理部分19经过转换部分21向编码器30输出图像数据S30。应当说明,这个图像数据S30已经经过了上述向上取样处理、重写图像标题以改变到一个场图像的帧图像的处理以及转换亮度-色度格式的处理。
编码器30可以在不改变所述图像尺寸的情况下对该图像数据再编码。如果是这种情况,伪数据添加部分20将伪数据加到例如具有如图2A所示水平方向尺寸和垂直方向尺寸分别为x和y的图像数据上,借此产生图2B所示的图像数据S20。被如此产生的图像数据S20经过转换部分21输出给编码器30。
如果确定图像数据S10任一图像的尺寸小于720象素×480象素或720象素×576象素,那么,伪数据添加部分20将伪数据加到从控制部分17提供的图像数据S10上。借此部分20产生由720象素×480象素或720象素×576象素组成的图像数据。具体地说,如果从控制部分17提供的图像数据S10小于720象素×480象素图像或720象素×576象素图像,那么,伪数据添加部分20将两个伪数据项加到图像数据上。第一伪数据由用于由所述图像数据表示的所述图像的水平方向的(720-x)×480象素或(720-x)×576象素组成。第二伪数据由用于所述图像垂直方向的(720-y)×480象素或(720-y)×576象素组成。
转换部分21根据由连接到它的控制部分41提供的控制信号关闭或打开。当转换部分21被连接到伪数据添加部分20的输出端时,所述图像数据S20从部分20输出到编码器30。相反,当转换部分21被连接到图像处理部分19的输出端时,图像数据S30从部分19输出给编码器30。
控制部分41从可变长度译码部分12接收所述图像层的编码参数(Sequence_GOP_Picture_Parameters)并向编码器30输出sequenc_parameters、GOP_parameter和picture_parameters。控制部分41也从可变长度译码部分12接收参数估计数据。(所述参数估计数据已经结合表1进行了解释。)控制部分41将所述编码参数和参数估计数据存储到存储器42中。
控制部分41向转换部分21输出控制信号。它也向转换部分37输出控制信号。这些控制信号控制转换部分21、31和37的打开/关闭定时以控制译码器10和编码器30的处理定时。此时,控制部分41参考所述参数估计数据,借此确定所述图像层的编码参数是否有效以及所述MB参数是否有效。在已经确定的基础上,控制部分41产生由于打开或关闭所述转换部分37的控制信号。为了产生所述控制信号,控制部分41将所述参数存储到用做工作存储器的存储器42中。
编码器30包括转换部分31,来自转换部分21的图像数据S20或图像数据S30被输入给转换部分31。
转换部分31根据由控制部分41提供的控制信号打开或关闭。当转换部分31被连接到伪数据消除部分32的输出端a时,从译码器10输出的图像数据S20被输入给伪数据消除部分32。当转换部分31被连接到图像处理部分33的输出端b时,从内译码器输出的图像数据S30被输入给图像处理部分33。
如图2所示,伪数据消除部分32从由转换部分31提供的图像数据中消除所述伪数据,并输出所述图像数据给运动估计部分34。换言之,伪数据消除部分消除被加到从译码器10提供的图像数据S20(图2B)的伪数据,由此产生不包含伪数据的图像数据。
图像处理部分33对从转换部分输入的图像数据S31进行处理,产生其图像尺寸不同于由图像处理部分19改变的图像尺寸的图像数据S40。图像数据S40被输出给运动估计部分34。图像处理部分33输出例如表示720×480象素图像的图像数据,而不是输出表示352×480象素图像的图像数据。在这种情况下,表示720×480象素图像的图像数据被输出给运动估计部分34。
另外,图像处理部分33对图像数据S31执行2-3下拉处理。即,部分33将例如由每秒24个图像组成的电影图像转换成由每秒30帧组成的图像数据。
图像处理部分33从由图像数据S31组成的每个图像中提取某些在水平和垂直方向安排的象素。换言之,部分33执行向下取样,产生分辨率低于从转换部分31输入给它的图像分辨率的图像。
此外,图像处理部分33根据被加到每个图像的图像标题上的top_field_first和repeat_first_field将由输入给它的比特流组成的每个图像从一个隔行图像转换成一个帧图像。
再有,图像处理部分33转换表示在所述图像的亮度信号、色差信号Cb和色差信号Cr之间的比值的每个图像的亮度-色差格式。更详细地说,图像处理部分33将来自表示比值4∶2∶2中一个的亮度-色差格式转换成表示比值4∶2∶0的另一个。比值4∶2∶2指示在水平方向上所述色度数据被减小到用于所述图像的一半。比值4∶2∶0指示所述色度数据在水平和垂直方向上都被减小了一半。
图像处理部分33向运动估计部分34输出图像数据S40。应当说明,这个图像数据S40已经被进行了上述2-3下拉处理、下取样处理、重写所述图像标题以将帧图像改变成场图像的处理和转换亮度-色差格式的处理。
运动估计部分34根据由转换部分31或伪数据消除部分32提供的图像数据S40以MB为单位计算运动矢量。运动估计部分34执行正向估计、逆向估计和双向估计。在所述正向估计的情况下,根据在过去显示的图像对运动进行估计。在逆向估计的情况下,根据将来将被显示的图像对运动进行估计。在双向估计的情况下,根据过去被显示和将来将被显示的图像对运动进行估计。如此计算的运动矢量被与表示所述MB的图像数据一起输出给控制部分35和MB参数计算部分36。
控制部分35转换由运动估计部分34提供并由按照将被显示顺序安排的多个帧组成的帧图像序列,由此产生由将被按照译码顺序安排的帧组成的帧图像序列。如此产生的帧图像序列被输入给编码部分38。
MB参数计算部分36根据已经从运动估计部分34提供给它的所述MB的运动矢量产生MB参数。部分36向转换部分37输出这些MB参数。
转换部分37根据由控制部分41提供的控制信号打开或关闭。当转换部分37被连接到MB参数计算部分36的输出端a时,由部分36计算的MB参数被提供给编码部分38。当转换部分37被连接到译码器10的输出端b时,在译码器10中产生的MB参数被提供给编码部分38。
编码部分38包括加法器51、DCT部分52、量化(Q)部分53、逆量化(IQ)部分54、逆DCT(IDCT)部分55、加法器56、帧存储器(FM)57a、和运动补偿(MC)部分57b。加法器51从控制部分35以MB为单位接收图像数据。DCT部分52以MB为单位对从加法器51提供的图像数据执行逆离散余弦变换。量化部分53对由从DCT部分52提供的图像数据组成的DCT系数执行量化。
运动补偿(MC)部分57b具有一个帧存储器(FM),用于存储多个图像数据项,其中的每一项在时间顺序上超前或滞后另一项。部分57b从这个帧存储器中读出在所述运动矢量的基础上已经进行了预测的图像数据。所述图像数据被提供给加法器51和56。加法器51和56执行加法,借此以实现运动补偿。
利用上述结构,编码部分38以MB为单位编码所述图像数据,借此产生由符合MPEG标准的I图像、P图像和B图像组成的图像数据。如此产生的图像数据被输出给可变长度编码部分39。
可变长度编码部分39对从编码部分38提供并由其中的每一个都包含一个量化系数的多个MB组成的图像数据进行可变长度编码。具体地说,可变长度编码部分39利用霍夫曼编码执行可变长度压缩,然后将所述图像数据转换成一个比特流。所述比特流被输出给缓冲器40。
缓冲器40暂存从可变长度编码部分39提供的比特流。通过对所述图像数据再编码获得的比特流被输出给一个外部设备。
下面将参照图3所示时序描述在上述的图像处理系统中译码器10是如何将用于所述图像层的编码参数、参数估计数据等输入给编码器30的。
首先,如图3(a)所示,在定时t1到t6处,由按照上述顺序安排的图像I2、B0、B1、P5和B4组成的一个比特流被分别输入给译码器10的缓冲器11。
如图3(c)所示,可变长度译码部分12在和定时t1到t6处分别将所述比特流输入给缓冲器1的同时检测用于图像I2、B0、B1、P5、B3和B4的图像层的sequence_GOP_picture_parameters。被如此检测的sequence_GOP_picture_parameters被输出给控制部分41。
可变长度译码部分12在每当所述图像被进行可变长度译码时产生picture_mb_parameters_vaild。所述部分12借此相对向缓冲器11输入所述比特流的定时延迟一个图像时间,如图3(a)所示。可变长度译码部分12分别在时间t1到t7处向控制部分41输出用于图像I2、B0、B1、P5、B3和B4的参数估计数据。
如图3(b)所示,译码器10的转换部分21将经过图像处理部分19或伪数据添加部分20处理的图像数据相对向缓冲器11输入所述比特流的定时延迟应该图像时间。借此,图像B0、B1、I2、B3、B4和P5在时间t2到t7处被分别按照它们被描述的顺序输出给编码器30。
在译码器10如图3(d)所示对所述图像数据进处理的同时,构成所述图像数据的图像B0、B1、I2、B3、B4和P5在时间t2到t7被分别陆续输入给编码器30,如图3(e)所示。相对于从译码器10输出图像数据的定时(示于图3(b)),这些图像B0、B1、I2、B3、B4和P5没有被延迟。
如图3(f)所示,图像层的编码参数(即sequence_GOP_picture_parameters)从译码器10经过控制部分41被连续输入给编码器30用于图像I2、B0、B1、P5、B3和B4。这些编码参数相对于从可变长度译码部分12输出sequence_GOP_picture_parameters的定时没有延迟,见图3(c)。
用于从译码器10的可变长度译码部分12提供的图像I2、B0、B1、P5、B3和B4的参数估计数据项以图3(g)所示顺序在没有延迟的情况下输入给编码器30。这些参数估计数据项从译码器10经过控制部分41在时间t2到t7处分别输入给编码器30。
在编码器30中,所述比特流在图像时间t5到t10处从缓冲器40输出,如图3(h)所示。时间t5到t10,即其中M=3的对GOP的图像数据编码的定时比图3(e)所示输入图像数据的定时分别延迟了3个图像时间。此时,图像B0、B1、P5、B3和B4按照它们被描述的顺序从译码器10输出。
必须将所述图像层的编码参数存储在存储器42中长达编码器30对所述图像数据编码所需的图像时间。在本实施例中,控制部分41控制所述编码器30以使存储器42存储所述编码参数长达4个图像时间,以便根据MPEG标准输出由其中M=3的GOP组成的比特流。由此,编码器30能够输出被编码并包含所述编码参数的比特流。
下面将结合图4的定时描述在上述图像处理系统中从译码器10到编码器30的MB参数等的定时。
在译码器10中,由按照所述顺序安排的图像I2、B0、P5、B3和B4组成的比特流被输入给缓冲器11长达时间t1到t6的周期,如图4(a)所示。
译码器10的可变长度译码部分12在相对于将所述比特流输入给所述缓冲器的定时、即从时间t0到t7的周期没有延迟地译码所述输入的比特流。借此部分12逐一产生用于图像I2、B0、B1、P5、B3和B4的MB参数(MB_parameters),如图4所示。
译码器10的可变长度部分12输出具有4个图像时间延迟的在图4(c)的定时处产生的MB参数。即,部分12分别在时间t5到t10出输出图像I2、B0、B1、P5、B3和B4的MB参数。
如果GOP具有3的M值(M=3),控制部分41在所述MB参数被输出给编码器30之前使存储器13存储用于4个图像时间(即4-帧图像时间)的MB参数。
如图4(b)所示,译码器10将所述图像数据相对于所述比特流延迟一个图像时间,并按照上述顺序分别在时间t2到t7向编码器30输出所述图像数据的图像B0、B1、I2、B3、B4和P5。
当如图4(a)到(d)所示译码器10处理所述图像数据时,编码器30在时间t2到t7一个跟一个地接收所述图像数据的图像B0、B1、I2、B3、B4和P5。图4(b)示出了相对于输出定时没有被延迟的图像。
图像I2、B0、B1、P5、B3和B4的MB参数在时间t5到t10在相对于输出它们的定时没有被延迟的情况下分别被输入给编码器30,如图4(d)所示。
另外,编码器30在图4(g)所示的定时处使用所述MB参数。具体地说,编码部分38使用所述MB参数,将所述图像数据编码成由图像I2、B0、B1、P5、B3和B4组成的比特流,如图4(f)所示,图像B0、B1、P5、B3和B4相对于图4(e)所示将所述图像数据输入给编码器30的定时被延迟3个图像时间。I2、B0、B1、P5、B3和B4然后在时间t5到t10分别按照上述顺序从编码器30输出。
在编码器30中,所述图像层的编码参数必须被存储在存储器42中长达对所输入的比特流编码所需的图像时间。在这个实施例中,如果所述比特流是由M=3的一个GOP组成的,那么,控制部分41控制编码器30使所述比特流相对于输入所述图像数据的定时延迟3个图像时间地被输出达一个周期(t1到t4)。
下面将描述在所述图像处理系统中如何在由译码器10提供的参数估计数据的基础上对所述图像数据进行处理的。
在图像处理系统1中,可变长度译码部分12产生参数估计数据,控制部分41根据所述参数估计数据确定一个图像层的编码参数和MB参数是否是有效的。控制部分41选择编码参数,以使编码器30被用于对输入图像数据编码。
更具体地说,控制部分41根据从可变长度译码部分12提供的参数估计数据检测一个标记。如果所述标记指示所述图像层的编码参数和MB参数是有效的,不存在误差,则编码器30通过使用与被输入到译码器10的所述比特流上的编码参数相同的编码参数对从所述译码器10输入的图像数据编码。
为了减小所述比特速率,控制部分41控制所述编码器30以便使编码器30仅仅改变表示量化标度的编码参数和执行编码。至于其它编码参数,控制部分41使用加到输入给译码器10的所述比特流上的编码参数控制编码器30执行编码。
控制部分41使编码器30仅仅使用所述图像层的编码参数执行编码,借此改变所述图像的尺寸。在此时,控制部分41控制编码器30以使将被用于实现这个编码的编码参数与加到输入给译码器10的所述比特流的编码参数、至少是picture_coding_type、top_field_first和repeat_first_field相同。另外,控制部分41使从可变长度译码部分12提供的MB参数无效。然后它控制转换部分37以使编码部分38可以使用由MB参数计算部分36计算的MB的所有编码参数对图像数据编码。
在上述的图像处理系统1中,控制部分41可以根据从可变长度译码器部分12提供的参数估计数据检测表示所述图像层的编码参数和MB参数有效、包含误差的一个标记。如果是这种情况下,使用在编码器30中提供的MB参数计算部分36计算的编码参数执行编码。下面将参照图5所示的定时图描述当编码参数有效时执行的处理。
如图5的时序图中的(a)所示,由按照下述顺序排列的图像I2、B0、B1、P5、B3、B4、P8、B6、B7、I2、B0和B1组成的比特流在从时间t1到t12的周期内被输出给译码器10的缓冲器11。
如图5的(c)所示,在译码器10中提供的可变长度译码部分12以和输入所述比特流相同的定时译码MB参数。在时间t1到t12处分别译码图像I2、B0、B1、P5、B3、B4、P8、B6、B7、I2、B0和B1的MB参数。
如图5的(d)所示,在用于图像P5的MB层中在时间t4可能发生一个语法误差。在这种情况下,可变长度译码部分12将包含在所述参数估计数据(mb_parameters_valid)中用于所述MB层的一个比特标记设置为“0”,如图5的(c)所示。然后,可变长度译码部分12恢复在图像P5之后的开始码中的所述误差。
如果在包含在参数估计数据中的MB层中在图像时间t1到t3和t5到t12中没有发生误差,可变长度译码部分12将用于所述MB层的一个比特设置为“1”。
在译码器10中,存储器13暂存由可变长度译码部分12产生的MB参数,如图5的(f)所示。在控制部分41的控制下,图像I2、B0、B1、P5、B3、B4、P8、B6、B7、I2、B0和B1相对于输入所述比特流的定时被延迟4个图像时间。被如此延迟的MB参数分别在时间t5到t16被陆续输出给编码器30。
另外,译码器10将所述图像数据相对于所述比特流的定时延迟一个图像时间,如图5的(b)所示。图像B0、B1、I2、B3、B4、P5、B6、B7、P8、B0、B1和I2分别在时间t2到t13被陆续输出给编码器30。
当译码器10如图5的(a)到(f)所示处理图像数据时,编码器30分别在时间t2到t10按照下述顺序接收组成所述图像数据的图像B0、B1、I2、B3、B4、P5、B6、B7和P8,如图5的(g)所示。输入给编码器30的图像数据相对于图5的(b)所示的数据输出定时没有延迟。
如图5的(h)所示,用于图像I2、B0、P5、B3、B4、P8、B6、B7、I2和B1的MB参数在时间t5到t16被分别输入给编码器30。这些参数相对于图5的(f)所示的输出所述MB参数的定时没有延迟。
如图5的(i)所示,控制部分41根据从可变长度译码部分12提供的参数估计数据确定在与图5的(h)所示的所述MB参数输入定时相同的定时处所述MB参数是无效的还是有效的。在图5的(i)中,“1”指示控制部分41确定所述MB参数是有效的,而“0”指示控制部分41确定所述MB参数是无效的。
控制部分41接收表示用于图像P5的MB参数在图5的(d)处示出的t4处包含一个误差的参数估计数据。控制部分41根据所述参数估计数据确定图像P5是一个由误差隐蔽导致的图像数据项。控制部分41使用于已经在图像P5基础上预测的图像B3、B4、P8、B6和B7的MB参数无效。控制部分41根据没有使用图像P5已经产生的图像I2确定所述MB参数是有效的。即,控制部分41确定用于图像I2、B0和B1的MB参数和用于分别在图像时间t14到t16输入的图像I2、B0和B1的MB参数是有效的,和用于分别在图像时间t8到t18输入的图像P5、B3、B4、P8、B6和B7的MB参数是无效的。
如图5的(i)所示,控制部分41控制转换部分37,借此使转换部分37被连接到译码器10的输出端。这使得译码部分38能够使用输入给转换部分37的MB参数执行诸如运动矢量预测的处理以对所述图像数据编码。
至于如图5的(i)所示其MB参数已经被确定为无效的图像P5、B3、B4、P8、B6和B7,控制部分41控制转换部分37,并将它连接到MB计算部分36的输出端。在这种情况下,不使用在可变长度译码部分12中产生的MB参数。而是使用由部分36计算的MB参数,借此执行诸如运动矢量预测的处理以便对所述图像数据编码。
编码器30输出已经由编码部分38通过执行编码等产生的比特流。具体地说,编码器30在时间t5到t16分别输出图5的(j)所示的图像I2、B0、B1、P5、B3、B4、P6、B6、B7、I2和B1。这些图像相对于接收所述图像数据的定时已经被延迟了3个图像时间,如图5的(g)所示。
在编码器30中,需要被存储在存储器42中所述图像时间的图像层的编码参数被用于对图像数据编码。在当前的实施例中,控制部分41控制存储器42,从而使其中M=3的由多个GOP组成的比特流可以被输出并相对于接收所述图像数据的定时延迟3个图像时间(t2到t4)。
在被如此构成的图像处理系统1中,在译码器10中提供的可变长度译码部分12产生指示在图像层的编码参数和MB参数中已经产生误差的参数估计数据。根据所述参数估计数据,控制部分41能够控制在编码器30中使用的编码参数。因此,利用所述图像处理系统1,可以使用由编码器30计算的编码参数、而不使用无效编码参数很容易地对图像数据再编。
更具体地说,当如图5的(d)所示在MB参数中发生误差时,由在译码器10中提供的可变长度译码部分12产生的MB参数根本没有被利用。代替的是编码部分38使用由MB参数计算部分36计算的MB参数。由此,避免了所述图像数据使用无效编码参数被再编码。
在已经结合图3到图5进行解释的用于处理图像数据的图像处理系统1中提供的编码器30被设计成对由多个GOP组成的图像数据进行编码,其中,每个子组由三个或更少的图像组成并从一个I图像或一个P图像开始。如果由其中每个子组由3个以上(M>3)的图像组成的多个GOP组成的图像数据被输入给编码器30,则控制部分41将所述图像数据转换为其中每个子组都由3个或更少(M≤3)图像组成的图像数据。经过如此转换所产生的图像数据被编码。
例如,表示将被按照所述顺序显示的图像I0、B1、B2、B3、B4和B5的图像数据可以被输入给编码器30。在这种情况下,控制部分41对图像B3到图像P3进行转换,输出表示按照它们被描述顺序显示的图像I0、B1、B2、B3、B4和B5的图像数据。即,控制部分41将由其中M=5的一个GOP组成的图像数据转换为由其中M=3的一个GOP和其中M=2的一个GOP组成的图像数据。
如上所述,控制部分41通过参考按照将被显示的图像顺序输入给编码器30的图像参数picture_coding_type改变值M,对连续输入的B图像计数和将每个B图像转换为P图像,借此,产生新的编码参数。编码器30使用所述新的编码参数对图像数据再编码。
下面将参照图6的时序进一步描述上述用于处理图像数据的图像处理系统1。
如图6的时序所示,译码器10的缓冲器11接收一个比特流。所述比特流由分别在时间t1到t14输入给缓冲器11的图像I2、B0、B2、P5、B3、B4、Pa、B6、B7、B8、B9、Pd、Bb和Bc组成。
通过检测在规定的I图像之后输入的I图像的数量或在规定的P图像之后输入的P图像的数量可以获得输入给译码器10的比特流的值M。如图6的(b)所示,被检测图像的数量是用于图像I2、B0和B1的“3”,用于图像P5、B3和B4的“3”,用于图像Pa、B6、B7、B8和B9的“5”和用于图像Pd、Bb和Bc的“3”。
如图6的(a)所示,在译码器10中提供的可变长度译码部分12在与和接收所述比特流的定时相同的定时处译码用于所述图像的MB参数。即,部分12分别在图6的(d)所示的定时处按照它们被描述的顺序译码用于图像I2、B0、B1、P5、B3、B4、Pa、B6、B7、B8、B9、Pd、Bb和Bc的MB参数。
由可变长度译码器12产生的MB参数被存储在存储器13中并暂时保存它们。在控制部分41的控制下,从存储器13中读出所述MB参数,并相对接收所述比特流的定时延迟4个图像时间。用于图像I2、B0、B1、P5、B3、B4、P8、B6、B7、I2、B0和B1的MB参数按照它们被描述的顺序分别在时间t5到t16被输出给编码器30,如图6的(e)所示。
译码器10将图像B0、B1、I2、B3、B4、P5、B6、B7、B8、B9、Pa、Bb、Bc和Pd相对于接收所述比特流的定时延迟一个图像时间,如图6的(c)所示。被如此延迟的这些图像按照它们被描述的顺序输出给编码器30。
图像B0、B1、I2、B3、B4、P5、B6、B7、B8、B9、Pa、Bb、Bc和Pd在与从译码器10接收比特流的定时(如图6的(c)所示)相同的定时处被输入给编码器30,如图6的(f)所示。具体地说,图像B0、B1、I2、B3、P5、B6、B7、B8、B9、Pa、Bb、Bc和Pd分别在时间t2到t15按照它们被描述的顺序输入给编码器30。
如图6的(g)所示,控制部分41对在将图像数据输入给编码器30的定时(如图6的(f)所示)处连续输入给编码器30的B图像计数。当一个I图像或一个P图像被输入给编码器30或当所述计数值达到“3”时,控制部分41将所述计数复位到“0”。
换言之,控制部分41获取计数1、2、0、1、2、0、1、2、3、1、0、1和0,这些计数对应于由输入给编码器30的图像数据表示的各个图像,如图6的(f)所示。
控制部分41根据图6(g)所示的计数确定所述图像数据的值M是否应当改变。更具体地说,如果任何一个计数变成了“3”,控制部分41确定所述值M应当改变。控制部分41将在图像时间T10处计数为“3”的图像B8变成图6(h)所示的一个P图像,借此改变所述值M。
在这个例子中,为了将一个B图像变成一个P图像,控制部分41在图6(g)所示计数的基础上确定用于每个图像的picture+coding_type,如图6(i)所示。在这个例子中,控制部分41将在图像时间t10处的图像B8变成一个P图像,借此,将图6(f)所示的图像类型变成P图像类型。
控制部分41控制编码部分38,并使编码部分38根据在所述计数基础上确定的图像类型编码图像数据,而不必考虑从译码器10输入给编码器30的MB的参数。
如图6(j)所示,用于图像I2、B0、B1、P5、B3、B4、Pa、B6、B7、B9、Pd、Bb和Bc的MB参数在图像时间t5到t18在相对于输出所述MB参数的定时(如图6(e)所示)没有延迟的情况下输入给编码器30。
如图6(k)所示,控制部分41在与图6(j)所示输入所述MB参数相同的定时处在从部分12提供的参数估计数据的基础上确定从可变长度译码部分12提供的MB参数是否有效。在图6(k)中,“1”表示控制部分41确定所述MB参数是有效的,而“0”则表示控制部分41确定所述MB参数是无效的。
假设如图6(i)所示,在图像时间t10处图像B变成一个P图像。然后,控制部分41根据紧跟在已经被改变的所述B图像之后的所述B图像确定用于在时间顺序上在所述B图像之后和在所述P图像之前的一个图像的MB参数(例如运动矢量等)是无效的。
即,控制部分41确定当用于图像B8的计数是3时用于图像M8的MB参数、用于跟在图像B8之后的图像B6、B7、B9和Pa的MB参数是无效的,和用于所有其它图像的MB参数是有效的。
控制部分41使用由MB参数计算部分36计算的MB参数控制编码部分38对图像数据再编码,用于与已经被确定为无效的MB参数对应的图像,并使用由译码器10提供的MB参数对图像数据再编码,用于与已经被确定为有效的MB参数对应的图像。
具体地说,控制部分41控制转换部分37,将该转换部分37连接到MB参数计算部分37的输出端以用于已经从译码器10输入了所述MB参数并且被确定为无效的图像B6到Pa。部分41不使用由可变长度译码部分12产生并输入给编码器30的MB参数。而是部分41使用由MB参数计算部分36计算的MB参数(picture_coding_type)控制转换部分37。被如此控制的转换部分38执行诸如运动图像预测、图像数据编码等的处理。
控制部分41将从可变长度译码部分37输入给转换部分37的MB参数施加到已经从译码器10输入的图像上。编码部分38使用这些MB参数执行诸如运动矢量预测、图像数据编码之类的处理。
在编码器30中,编码部分38延迟已经在诸如编码的处理中产生的比特流。详细地说,编码部分38将所述比特流相对于图6(f)所示图像数据输入定时延迟3个图像时间。借此,图像I2、B0、B1、P5、B3、B4、P8、B7、Pa、B9、Pd、Bb和Bc分别在图像时间t5到t18被输出,如图6(1)所示。
需要将所述图像层的编码参数存储在在译码器10中提供的存储器42中长达对图像数据编码所需的图像时间。在本实施例中,控制部分41执行一个控制以使得由其中M=3的多个GOP组成的比特流被输出并相对于输入所述图像数据的定时延迟3个图像时间(t2到t4)。
在执行上述处理的图像处理系统1中,编码器30是一个被设计成对表示其中M=3或更少的GOP的图像数据编码的编码器。如果表示其中M=3的GOP的图像数据是从译码器10输入给编码器30的,那么,所述B图像被改变成一个P图像,然后将所述图像数据转换为表示其中M=3的GOP的一个图像。在这种情况下,编码器30能够使用由MB参数计算部分36计算的编码参数对所述图像数据再编码。
这样,利用所述图像处理系统,即使是已经从译码器10输入的编码参数是一个不能在编码器30中被编码的参数,也可以使用由MB参数计算部分计算的编码参数改变所述编码参数以便对所述图像数据再编码。
即使是使用一个平均量化标度对从译码器10输入的某些MB参数进行再编码,编码器30也要计算用于每个由编码部分38编码的图像的平均量化标度。此时,编码器30检测指示所述量化标度是否有效的一个标记并仅仅使用有效和没有误差的量化标度计算用于每个图像的平均量化标度。因此计算的平均量化标度将被利用按照速率控制确定可变长度编码部分39编码图像的难易程度。当处理模式被从其中使用从译码器10输入的量化标度对图像数据编码的模式改变为其中使用由MB参数计算部分36计算的量化标度对图像数据编码的模式时,根据如上计算的平均量化标度确定的难易程度可以被用在速率控制中。
如上所述,在根据本发明的图像数据处理系统1中,可变长度译码部分12产生用于所述图像层和用于所述MB层的参数估计数据。尽管如此,部分12可以根据MPEG标准产生用于诸如GOP层和片层的其它层。在图像处理系统1中,控制部分41参考与每层对应的参数估计数据,借此确定是使用从译码器10提供的编码参数还是使用由MB参数计算部分36产生的编码参数对编码器30中的图像数据进行再编码。因此,编码器30能够精确地对所述图像数据编码。
此外,在本发明的图像处理系统1中,可变长度译码部分12产生参数估计数据并输出该数据给控制部分41。本发明不局限于这个实施例。另外,所述参数估计数据可以被写成诸如图像数据的消隐部分或宏信号的LSB(最低有效比特)的一个不影响图像数据的信号部分并可以从译码器10输入给编码器30。在这种情况下,它被如下设计,即所述可变长度译码部分12应当不仅仅能够写参数估计数据,而且能够在除有效部分以外的图像数据部分中写所述图像层的编码参数和所述MB参数。
下面将描述根据本发明的另一个图像处理系统100。这个图像处理系统被设计成不译码输入给所述图像数据的比特流,而是首先译码输入给编码数据的比特流然后再对被编码的数据进一步编码。
如图7所示,图像处理系统100包括缓冲器102、可变长度译码部分103、转换部分104、逆量化部分105、量化部分106、量化控制部分107、参数产生部分108、延迟部分109、转换部分110、可变长度编码部分111和缓冲器112。缓冲器112接收经过输入端101输入的一个比特流。可变长度译码部分103对从缓冲器102提供的比特流执行可变长度译码,产生由量化DCT系数组成的图像数据。转换部分104被提供用来将由可变长度译码部分103产生的图像数据S52提供给逆量化部分105,并将除图像数据S52以外的数据S53提供给延迟部分109。逆量化部分105对从转换部分104提供的图像数据执行逆量化,借此产生由量化DCT系数组成的图像数据。量化部分106对从逆量化部分105提供的图像数据执行量化,借此产生由量化DCT系数组成的图像数据S54。量化控制部分107根据从可变长度译码部分103提供的量化参数控制量化部分106。参数产生部分108根据从可变长度译码部分103提供的参数估计数据产生编码参数。延迟部分109从转换部分104接收除图像数据S52以外的图像数据S53。转换部分110被设计成输出从量化部分106提供的图像数据S54、被延迟部分109延迟的数据S53和由参数产生部分108产生的编码参数。可变长度编码部分111对从转换部分110提供的图像数据执行可变长度编码,借此产生比特流S55。缓冲器112被用于暂存从可变长度编码部分111提供的所述比特流,并将该比特流输出给输出端113。所述比特流从输出端113输出给一个外部设备。
在如此构成的图像处理系统100中,可变长度译码部分103执行与上述可变长度译码部分12相同的处理。具体地说,部分103以例如宏数据块(MB)为单位对所述比特流执行可变长度译码,获得由量化系数组成的图像数据。如此获得的图像数据被输出给转换部分104。
可变长度译码部分103不仅仅执行可变长度译码,还检测加到每个MB层上的编码参数(MB_parameters)和一个图像层的编码参数(Sequence_GOP_picture_parameters)。所述MB参数和编码参数被输出给转换部分104。另外,可变长度译码部分103产生指示所述图像层的编码参数和MB参数是否有效的参数估计数据(picture_mb_paramenter_valid)。这个数据被输出给参数产生部分108和转换部分104。
转换部分104响应从控制部分(未示出)提供的一个控制信号工作。当转换部分104被连接到逆量化部分105的输出端A时,从可变长度译码部分103向逆量化部分105提供图像数据。当转换部分194被连接到延迟部分109的输入端B时,从可变长度译码部分103向延迟部分109提供编码参数。
逆量化部分105对由多个量化DCT系数组成并从转换部分104提供的图像数据以例如其中的每一个由8×8个象素组成的象素块为单位执行逆量化。具体地说,逆量化部分105对所述图像数据执行逆量化处理,其中所述图像数据被量化台阶相乘从而产生DCT系数。被如此量化的图像数据被输出给量化部分106。
量化部分106对从逆量化部分105提供并由多个DCT系数组成的图像数据进行量化,借此产生由多个量化DCT系数组成的图像数据S54。图像数据S54被输出给转换部分110。
延迟部分109把将所述编码参数输入给转换部分110的定时延迟逆量化部分105和量化部分106执行各自功能所需的时间。如此延迟的编码参数被输出给转换部分110。
量化控制部分107根据从可变长度译码部分103提供的量化参数计算数据比特在缓冲器112中占据存储区域的百分率。部分107根据比特占据存储区域的百分率产生量化控制信号。这个控制信号指定将被量化部分106用来量化从逆量化部分105提供的图像数据的量化标度,从而可以使比特流S55以等于或低于预先规定的比特率从输出端112输出。
希望量化控制部分107能够控制所述量化标度从而减轻比特流S55的匹配误差。所述匹配误差是由在对图像数据编码或译码过程中执行图像的运动补偿导致的。
参数产生部分108根据从可变长度译码部分103提供的参数估计数据产生编码参数。即参数产生部分108根据所述参数估计数据产生其中已经发生误差的所述层的编码参数。被如此产生的编码参数被输出给转换部分110。
根据从可变长度译码部分103提供的参数估计数据和从控制部分(未示出)提供的控制信号,转换部分110被连接到量化部分106的输出端A、延迟部分109的输出端B或参数产生部分108的输出端C。当根据所述参数估计数据确定由可变长度译码部分103产生的编码参数有效时,转换部分110被连接到输出端B以输出从延迟部分109提供的编码数据。当根据所述参数估计数据确定由可变长度译码部分103产生的编码参数无效时,转换部分110被连接到端C,从而使所述编码参数可以从参数部分108提供给可变长度编码部分111。
可变长度编码部分111对从转换部分110提供的图像数据执行可变长度编码,产生一个比特流。如此产生的比特流被输出给缓冲器112。这个比特流以所希望的速率经过输出端113从系统10输出。
下面将描述当输入给输入端101的比特流没有语法误差时所述图像处理系统100是如何工作的。
如能够从表1清楚看出的,可变长度译码部分103此时产生的用于所述参数估计数据的标记是“11”。这意味着已经由可变长度译码部分103处理的比特流的图像层和MB参数没有误差发生,因此是有效的。在这种情况下,可变长度编码部分111使用由可变长度译码部分103产生的编码参数,借此对图像数据再次执行可变长度编码。由此,部分11产生不同比特率的比特流S55。
下面将解释当输入给输入端101的比特流有语法误差时图像处理系统100如何工作。
当在输入比特流中发生语法误差时,可变长度译码部分103将用于参数估计数据的标记设置为“00”或“10”。此时,如果所述误差发生在一个I图像或一个P图像中,那么,参数产生部分108输出P图像的标题。在这种情况下,部分108向转换部分110输出一个指定跳跃宏数据块的MB参数。
所述误差可能是在B图像中发生的一个误差。如果是这种情况,参数产生部分108向转换部分110输出所述B图像的标题并输出一个MB参数。所述MB参数指示运动矢量为“0”并不具有DCT系数。转换部分111根据所述参数估计数据将输入给端A的编码参数与输入给端C的编码参数一起输出给可变长度编码部分111。因此,可变长度编码器111编码所述图像数据、改变所述比特率。由此,部分111产生比特率S55。
下面将描述如果一个MB的语法误差发生在输入给输入端101的比特流中图像处理系统100是如何工作的。
参数估计数据可以表示所述MB层的误差可能发生在图像处理系统100的I图像中。如果是这样的话,参数产生部分108向转换部分110输出紧跟在具有误差的宏数据块后面的宏数据块的编码参数作为具有误差的所述宏数据块的编码参数。
如果误差发生在一个P图像中,参数产生部分108输出一个MB参数给转换部分110。这个MB参数指定一个跳跃宏数据块。
误差可能发生在B图像中,在这种情况下,参数产生部分108输出一个MB参数给转换部分110。这个MB参数指示所述运动矢量是“0”并且没有DCT系数。根据所述参数估计数据,转换部分110将输入给所述端A的编码参数与输入给所述端C的编码参数一起输出给变长编码部分111。变长编码部分111对所述图像数据再编码,产生一具有不同比特率的比特流。
在被如此构成的图像处理系统100中,即使是所输入的比特流具有语法误差,参数产生部分108也能够根据由可变长度译码部分103产生的参数估计数据产生一个图像层和MB参数。因此,所述图像数据能够被再编码,从而产生一个没有语法误差的比特流。所述比特流被从系统100经过输出端113输出。
权利要求
1.一种编码设备,包括误差标记产生装置,用于产生误差标记,该误差标记表示是否能够有效使用已经从译码设备输入的每层的编码参数;参数估计装置,用于根据该误差标记确定编码参数是否能够被有效地用来对从所述译码设备输入的图像数据编码;参数计算装置,用于根据从所述参数估计装置提供并指示所述编码参数无效的数据,从由所述译码设备提供的图像数据计算编码参数;和编码装置,用于当所述参数估计装置确定由所述译码设备提供的编码参数有效时使用从所述译码设备输入的编码参数、和当所述参数估计装置确定从所述译码设备提供的编码参数无效时使用由所述参数计算装置产生的编码参数对所述图像数据编码。
2.根据权利要求1所述的编码设备,其中该误差标记是图像层和宏数据块层的编码参数,该图像层和该宏数据块层均符合MPEG2标准。
3.根据权利要求1所述的编码设备,其中还包括图像类型确定装置,用于确定代表被添加了从译码设备提供的误差标记的图像的图像数据的类型,和所述参数估计装置基于从图像类型确定装置提供的数据和代表误差标志已被添加的图像数据的图像类型,确定代表已被添加误差标记的图像数据产生的图像的编码参数是无效的。
4.一种编码设备,包括计数装置,用于对从译码设备连续输入的规定图像类型的图像数据进行多次计数,并提供表示该计数装置的计数已经达到预定值的数据;图像类型变化装置,用于根据从所述计数装置提供的数据产生编码参数,从而使所述图像数据可以被编码成不同图像类型的图像数据;和编码装置,用于使用从所述图像类型变化装置提供的编码参数对所述图像数据编码。
5.一种编码方法,包括用于根据指示所述编码参数是否能够被有效使用的一个误差标记确定用于每层并已经从译码设备输入的编码参数是否能够被有效地对从所述译码设备输入的图像数据编码的处理;根据指示从所述译码设备提供的编码参数是无效的数据,从所述译码设备提供的图像数据中计算编码参数的处理;和当从所述译码设备提供的编码参数被确定为有效时使用从所述译码设备输入的编码参数和当从所述译码设备提供的编码参数被确定为无效时使用在计算编码参数的处理中产生的编码参数对图像数据编码的处理。
6.根据权利要求5所述的方法,其特征是所述误差标记是用于两者都根据MPEG 2标准的图像层和宏数据块层的误差标记。
7.根据权利要求5所述的编码方法,其特征是还包括用于确定表示被添加有从所述译码装置提供的所述误差标记的图像的图像数据类型的处理,在所述确定处理中,在从所述图像类型确定装置提供并表示被添加有所述误差标记的图像数据的图像类型的数据的基础上确定用于表示从所述图像产生并被附加有所述误差标记的图像的图像数据的编码参数是无效的。
8.一种编码方法,包括对从译码设备连续输入的规定图像类型的图像数据进行多次计数,并提供表示计数装置的计数已经达到预定值的数据;根据从所述计数装置提供的数据产生编码参数,从而使所述图像数据可以被编码成不同图像类型的图像数据;和使用从图像类型变化装置提供的编码参数对所述图像数据进行编码。
全文摘要
一种图像处理系统,包括译码器和编码器。译码器包括用于译码比特流以产生图像数据、产生每层的编码参数、和产生指示编码参数是否能够被有效使用的误差标记的可变长度译码部分。编码器包括控制部分、MB计算部分、编码部分和可变长度编码部分。控制部分根据误差标记确定编码参数是否能够被有效使用。当可变长度译码部分产生的编码参数无效时,MB计算部分计算编码参数。当这些参数有效时,编码部分和可变长度编码部分使用可变长度译码部分产生的编码参数编码图像数据,当可变长度译码部分产生的编码参数无效时,使用MB计算部分产生的编码参数编码图像数据。
文档编号H04N7/50GK1520184SQ200410002078
公开日2004年8月11日 申请日期2000年5月24日 优先权日1999年5月24日
发明者加藤元树, 史, 小幡功史, 伊木信弥, 弥, 之, 成田秀之 申请人:索尼公司