专利名称:图像编码器及其方法、图像译码器及其方法、和分配媒体的制作方法
技术领域:
本发明涉及一种图像编码器、图像编码方法、图像译码器、图像译码方法、和分配媒体。更详细地说,本发明涉及例如在视频会议系统、视频电话系统、广播设备、和多媒体数据库检索系统中适用的一种图像编码器、图像编码方法、图像译码器、图像译码方法、和分配媒体,在这种情况下动态图像数据被记录在诸如磁光盘、磁带等的存储媒体中,并且该记录的数据在一显示器中被再生和显示,或者在这种情况下的动态图像数据通过一传输通道从一发射机侧被传送到接收机侧,并且在该接收机侧将所接收的动态图像数据进行显示或编辑和记录。
例如,在视频会议系统和视频电话系统中,需要将动态图像数据传送到一远处,图像数据利用行相关和帧间相关而被压缩和编码以便有效利用传送通道的优点。
作为一种典型的高效动态图像编码系统,有一种基于运动图像专家组(MPEG)标准的用于存贮媒体的动态图像编码系统。这种MPEG标准是经国际标准化机构(ISO)-IEC/JTC1/SC2/WG11讨论并提出作为标准的建议。该MPEG标准采用了一利用运动补偿预测编码和离散余弦变换(DCT)编码的组合的混合系统。
该MPEG标准定义了某些轮廓(profile)和等级(level)以便支持一宽的应用和功能的范围。该MPEG标准主要依据于在主要等级上的主轮廓(MP@ML)。
图1示出了在该MPEG标准系统中的一MP@ML编码器的结构例子。
把要编码的图像数据输入到帧存储器31中并暂时地存储。运动矢量检测器32读出在该帧存储器31中存储的图像数据,例如,由16(16象素所构成的一宏块单元,并且检测该运动矢量。
这里,运动矢量检测器32处理内相关编码图像(I-图像)、正向预测编码图像(P-图像)、或双向预测编码图像(B-图像)中的任何一种图像的每一帧的图像数据。应注意的是,在序列中输入的帧图像如何是按照已预定的I-、P-、和B-图像处理的(即,图像以列举的顺序按照I-图像、B-图像、P-图像、B-图像、P-图像、…、B-图像、和P-图像而处理的)。
也就是,在该运动矢量检测器32中,利用在帧存储器31中所存储的图像数据中的一预定的参考帧作为参考,并且把在要编码的当前帧中的16象素(16行(宏块)的一小块与在该参考帧中的一组相同尺寸的块相匹配。利用块的匹配,该宏块的运动矢量被检测。
这里,在该MPEG标准中,用于一图像的预测模式包括有四种类型内相关编码、正向预测编码、反向预测编码、和双向预测编码。I-图像由内相关编码来编码。P-图像由内相关编码或正向预测编码中的任一种来编码。B-图像由内相关编码、正向预测编码、反向预测编码、或双向预测编码中的任一种来编码。
也就是,该运动矢量检测器32将内相关编码模式设置到I-图像作为一预测模式。在这种情况下,运动矢量检测器32将该预测模式(内相关编码模式)输出到一可变字长编码(VLC)单元36和一运动补偿器42而不检测该运动矢量。
运动矢量检测器32还执行用于P-图像的正向预测并且检测该运动矢量。另外,在运动矢量检测器中,由于执行正向预测所引起的一预测误差是与例如要编码的宏块(在P图像中的宏块)的离散相比较的。作为该比较的结果,当宏块的离散(dispersion)小于该预测误差时,运动矢量检测器32设置一内相关模式作为预测模式并且将它输出到VLC单元36和运动补偿器42。另外,如果由于执行正向预测所引起的预测误差较小时,运动矢量检测器32设置一正向预测编码模式作为预测模式。该正向预测编码模式与所检测的运动矢量一起被输出到VLC单元36和运动补偿器42。
运动矢量检测器32进一步对B-图像执行正向预测、反向预测、和双向预测并且检测各自的运动矢量。随后,运动矢量检测器32检测来自在正向预测、反向预测、和双向预测中的预测误差之中的最小误差(如有必要后面将其称之为最小预测误差),并且将该最小预测误差与例如要编码的宏块(在B-图像中的宏块)的离散相比较。作为比较的结果,当该宏块的离散小于最小预测误差时,运动矢量检测器32设置一内相关编码模式作为预测模式,并且将它输出到VLC单元36和运动补偿器42。另外,如果该最小预测误差较小时,运动矢量检测器32将该预测模式设置为在其中获得最小预测误差的预测模式。该预测模式连同相应的运动矢量一起被输出到VLC单元36和运动补偿器42。
如果运动补偿器42从运动矢量检测器32中接收了预测模式和运动矢量,则运动补偿器42根据所接收的预测模式和运动矢量读出存储在帧存储器41中被编码和先前局部地被译码的图像数据。该读出的图像数据作为被预测的图像数据而提供给算术单元33和40。
算术单元33从帧存储器31中读出与通过运动矢量检测器32从帧存储器31中读出的图像数据相同的宏块,并且计算该宏块和从运动补偿器42所提供的预测图像之间的差。这个差值被提供给DCT单元34。
另一方面,在从运动矢量检测器32仅接收预测模式的情况下,即,该预测模式是一内相关编码模式的情况时,运动补偿器42不输出一预测图像。在这种情况下,算术单元33(以及算术单元40)向DCT单元34输出从帧存储器31读出的宏块而不对其进行处理。
在DCT单元34中,算术单元33的输出数据提供DCT,并且所得的DCT系数提供到量化器35。在量化器35中,根据缓冲器37的数据存储数量(在缓冲器37中所存储的数据的数量)(缓冲器反馈)设置一量化级(量化规模)。在该量化级中,来自DCT 34的该DCT系数被量化。该被量化的DCT系数(如必要后面称之为量化的系数),连同所设置的量化级提供给VLC单元36。
在该VLC单元36,将由量化器35所提供的量化的系数变换为诸如霍夫曼(Huffman)代码之类的可变字长代码并输出到缓冲器37中。另外,在VLC单元36中,来自量化器35的量化级通过可变字长编码而编码,同样该预测模式(表明内相关编码(图像预测内相关编码)、正向预测编码、反向预测编码、或双向预测编码中的任一种编码)和编码来自运动矢量检测器32的运动矢量。所得的编码数据输出到缓冲器37。
缓冲器37暂时存储自VLC单元36所提供的编码的数据,从而平滑所存储的数据数量。例如,平滑的数据作为一编码位流输出到一传送通道或记录在一存储介质上。
缓冲器37还将所存储的数据量输出到量化器35。量化器35根据由缓冲器37输出的已存储的数据量而设置一量化级。也就是,当缓冲器37的容量可能溢出时,量化器35增加该量化级的尺寸,从而减小了量化系数的数据量。当缓冲器容量会导致下溢状态时,量化器35减小量化级的尺寸,从而增加了量化系数的数据量。按照这种方式,可以防止缓冲器37的溢出和下溢。
由量化器35输出的量化系数和量化级不仅提供到VLC单元36还提供到逆量化器38。在逆量化器38中,根据从量化器35提供的量化级把来自量化器35的量化系数逆量化,从而将量化系数变换为DCT系数。该DCT系数提供给逆DCT单元(IDCT单元)39。在IDCT单元39中,对该DCT系数提供逆DCT并且将结果数据提供给算术单元40。
除了IDCT单元39的输出数据之外,将与从运动补偿器42提供给算术单元33的预测图像相同的数据也提供给算术单元40。算术单元40将IDCT单元39的输出数据(预测余量(差分数据))和运动补偿器42的预测图像数据相加,从而译码局部的原始图像数据。局部译码图像数据被输出。(但是,在这种情况下预测模式是一种内相关编码模式,IDCT 39的输出数据通过算术单元40并作为局部译码图像数据提供给帧存储器41而不被处理)。应注意的是这种译码图像数据与在接收机侧所得到的译码图像数据相一致。
在算术单元40中所得到的译码的图像数据(局部译码图像数据)提供给帧存储器41并被存储。之后,该译码图像数据用作为对于所提供的内相关编码(正向预测编码、反向预测编码、或双向预测编码)的参考图像数据(参考帧)。
图2示出译码自图1的编码器输出的编码数据的MPEG标准系统中的一MP@ML译码器的结构例子。
通过一传送通道传送的编码位流(编码数据)由一接收机(未示出)接收,或在一存储介质上记录的编码位流(编码数据)由一再生器(未示出)再生。被接收或被再生的位流提供给缓冲器101并被存贮。
逆VLC单元(IVLC单元(可变字长译码器))102读出在缓冲器101中所存储的编码数据并执行可变长度字译码,从而在一宏块单元上将编码数据分成运动矢量、预测模式、量化级、和量化系数。在它们之中,运动矢量和预测模式提供给运动补偿器107,同时量化级和量化宏块系数提供给逆量化器103。
在逆量化器103中,从IVLC单元102提供的量化宏块系数根据从相同的IVLC 102提供的量化级而逆量化。形成的DCT系数提供给IDCT单元104。在IDCT 104中,对由逆量化器103所提供的宏块DCT系数进行逆DCT,并将结果数据提供给算术单元105。
除了IDCT单元104的输出数据之外,运动补偿器107的输出数据也提供给算术单元105。也就是,在运动补偿器107中,如在图1的运动补偿器42的情况下,根据从IVLC单元102所提供的运动矢量和预测模式读出在帧存储器106中所存储的上述译码图像数据并且作为预测图像数据将其提供给算术单元105。算术单元105将IDCT单元104的输出数据(预测剩余(差值))和运动补偿器107的预测图像数据相加,从而译码该原始图像数据。将这个译码图像数据提供给帧存储器106并且被存贮。应注意的是,在IDCT单元104的输出数据是内相关编码的情况下,该输出数据通过算术单元105而作为没有被处理的译码图像数据提供给帧存储器106。
在帧存储器106中存储的译码后的图像数据用作为下一个要译码的图像数据的参考图像数据。另外,该译码后的图像数据提供给例如显示器(未示出)并且作为输出重现图像而被显示。
应注意的是在MPEG-1标准和MPEG-2标准中,B-图像未被存储在编码器的帧存储器41(图1)和译码器的帧存储器106(图2)中,这是因为它不被用作参考图像数据。
如前所述在图1和图2中所示的编码器和译码器基于MPEG-1/2标准。通常用来对在构成图像的目标序列的视频目标(VO)的单元中的视频进行编码的系统如利用ISO-IEC/JTC1/SC29/WG11的MPEG-4标准而被标准化。
顺便提及,因为该MPEG4标准是在假定其主要用在通信领域的情况下被标准化的,所以并没有规定在MPEG 1/2标准下所规定的图像组(GOP)。因此,在该MPEG 4标准被用于存储媒体的情况下,高效的随机存取将是困难的。
鉴于这种情况,提供了本发明,因此本发明的目的是使高效的随机存取成为可行。
一种如权利要求1的图像编码器,其特征在于该图像编码器包括编码装置,用来将构成一图像的每一目标序列的一层或多层分割成多个组并且编码这些组。
一种如权利要求6的图像编码方法,其特征在于该图像编码方法包括
编码步骤,用来将构成一图像的每一目标序列的一层或多层分割成多个组并且编码所述组。
一种如权利要求11的图像译码器,其特征在于它包括译码装置,用来译码一编码位流,该编码位流是通过将构成一图像的每一目标序列的一层或多层分割为多个组并编码这些组而得到。
一种如权利要求16的图像译码方法,其特征在于它包括译码步骤,用来译码所述编码位流,该编码位流是通过将构成一图像的每一目标序列的一层或多层分割为多个组并编码这些组而得到。
一种如权利要求21的分配媒体,其特征在于该分配媒体分配所述编码位流,该编码位流是通过将构成一图像的每一目标序列的一层或多层分割成多个组并且编码所述组而得到。
一种如权利要求26的图像编码器,其特征在于该图像编码器包括秒精度时间信息产生装置,用来产生表明在1秒精度之内的时间的秒精度时间信息;详细时间信息产生装置,用来产生表明在所述I-VOP、P-VOP、或B-VOP的立即显示时间之前的所述秒精度时间信息和比1秒精度更精细的精度之内的显示时间之间的一时间周期的详细时间信息。
一种如权利要求29的图像编码方法,其特征在于该图像编码方法包括秒精度时间信息产生步骤,用来产生表明在1秒精度之内的时间的秒精度时间信息;和详细时间信息产生步骤,用来产生表明在所述I-VOP、P-VOP、或B-VOP的立即显示时间之前的所述秒精度信息和比1秒精度更精细的精度之内的显示时间之间的一时间周期的详细时间信息;和如权利要求32的图像译码器,其特征在于该图像译码器包括显示时间计算装置,用来根据所述秒精度时间信息和详细时间信息计算所述I-VOP、P-VOP、或B-VOP的显示时间。
如权利要求35的图像译码方法,其特征在于该图像译码方法包括显示时间计算步骤,根据所述秒精度信息和详细时间信息计算所述I-VOP、P-VOP、或B-VOP的显示时间。
一种如权利要求38的分配媒体,其特征在于该分配媒体分配编码位流该编码位流通过产生表明在1秒精度之内时间的秒精度时间信息;还通过产生表明在所述I-VOP、P-VOP、或B-VOP的立即显示时间之前的秒精度时间信息和比1秒精度更精细精度之内的显示时间之间的时间周期的详细时间信息而得到;和进一步将所述秒精度时间信息和详细时间信息相加到相应的I-VOP、P-VOP、或B-VOP作为表明所述I-VOP、P-VOP、或B-VOP的显示时间的信息。
在如权利要求1的该图像编码器中,该编码装置把构成图像的每一目标的一层或多层分割成多个组并且编码这些组。
在权利要求6的该图像编码方法中,把构成一图像的每一目标序列的一层或多层分割成多个组并且编码这些组。
在权利要求11的该图像译码器中,该译码装置对一编码位流进行译码,该编码位流是通过将构成一图像的每一目标序列的一层或多层分割成多个组并且还通过编码这些组而得到的。
在权利要求16的该图像译码方法中,译码编码位流该编码位流是通过将构成一图像的每一目标的一层或多层分割成多个组并且还通过编码这些组得到的。
在权利要求21的该分配媒体中,分配编码位流,该编码位流是通过将构成一图像的每一目标序列的一层或多层分割成多个组并且编码这些组而得到的。
在权利要求26的该图像编码器中,秒精度时间信息产生装置产生秒精度时间信息其表明在一秒精度之内的时间,和该详细时间信息产生装置产生详细时间信息其表明正好在I-VOP、P-VOP、或B-VOP的显示时间之前的秒精度时间信息和比一秒精度更为精细的范围内的显示时间之间的一时间周期。
在权利要求29的该图像编码方法中,产生表明在一秒精度之内的时间的秒精度时间信息,和产生表明正好在I-VOP、P-VOP、或B-VOP的显示时间之前的秒精度时间信息和比一秒精度更为精细的显示时间之间的一时间周期的详细时间信息。
在权利要求32的该图像译码器中,该显示时间计算装置根据秒精度时间信息和详细时间信息计算I-VOP、P-VOP、或B-VOP的显示时间。
在权利要求35的该图像译码方法中,根据秒精度时间信息和详细时间信息计算I-VOP、P-VOP、或B-VOP的显示时间。
在权利要求38的该分配媒体中,该媒体分配一编码位流,该编码位流是通过产生指明在一秒精度之内的时间的秒精度时间信息、还通过产生指明正好在I-VOP、P-VOP、或B-VOP的显示时间之前的秒精度时间信息和比一秒精度更为精细的显示时间之间的一时间周期的详细时间信息而得到的。通过将秒精度时间信息和详细时间信息相加到一相应的I-VOP、P-VOP、或B-VOP作为表明I-VOP、P-VOP、或B-VOP的显示时间的信息。
附图简要说明图1的框图示出了一种常规编码器的结构实例;图2的框图示出了一种常规译码器的结构实例;图3的框图示出了本发明所使用的一编码器的一实施例的结构实例;图4是用来说明随时间而变化的一视频目标(VO)的位置和尺寸的图;图5的框图示出了图3VOP编码部分31至3N的结构实例;图6是用来说明空间可量测性的图;图7是用来说明空间可量测性的图;图8是用来说明空间可量测性的图;图9是用来说明空间可量测性的图;图10是用来说明确定一视频目标平面(VOP)的尺寸数据和偏移数据的一种方法的图;图11是框图示出了图5的基本层编码部分25的结构实例;图12的框图示出了图5的增强层编码部分23的结构实例;图13是用来说明空间可量测性的图;图14是用来说明时间可量测性的图;图15的框图示出了本发明所使用的一译码器的一实施例的结构实例;图16的框图示出了图15的VOP译码部分721至72N的另一结构实例;图17的框图示出了图16的基本层译码部分95的结构实例;图18的框图示出了图16的增强层译码部分93的结构实例;图19是示出了通过可量测的(scalable)编码所得到的一位流的语法的图;图20是示出了VS的语法的图;图21是示出了VO的语法的图22是示出了VOL的语法的图;图23是示出了VOP的语法的图;图24是示出了modulo_time_base和VOP_time_increment之间的关系的图;图25是示出了根据本发明的一位流的语法的图;图26是示出了GOV的语法的图;图27是示出了time_code的结构的图;图28是示出了编码GOV层的time_code以及GOV的第一I-VOP的modulo_time_base和VOP_time_increment的方法的图;图29是示出了编码GOV层的time_code以及位于GOV的第一I-VOP之前的B-VOP的modulo_time_base和VOP_time_increment的方法的图;图30是示出了当该限定未变化时modulo_time_base和VOP_time_increment之间的关系;图31是示出了根据第一种方法编码该B-VOP的modulo_time_base和VOP_time_increment的过程的图;图32是流程图示出了根据第一种方法和第二种方法编码I/P-VOP的modulo_time_base和VOP_time_increment的过程;图33是流程图示出了根据第一种方法编码B-VOP的modulo_time_base和VOP_time_increment的过程;图34是流程图示出了通过第一和第二种方法译码I/P-VOP的modulo_time_base和VOP_time_increment的编码过程;图35是流程图示出了译码通过第一种方法编码的B-VOP的modulo_time_base和VOP_time_increment的译码过程;图36是示出了根据第二种方法编码该B-VOP的modulo_time_base和VOP_time_increment的过程的图;图37是流程图示出了根据第二种方法编码该B-VOP的modulo_time_base和VOP_time_increment的过程;图38是流程图示出了通过第二种方法译码该B-VOP的modulo_time_base和VOP_time_increment的过程;图39是说明该modulo_time_base的图;和图40的框图示出了本发明所使用的另一个编码器和译码器的实施例的结构实例。
用于实现本发明的最佳实施例。
本发明的实施例将参照附图在后面予以详细说明。在此之前,为了使在权利要求中所给出的本发明的每一装置和所跟随的实施例之间的对应关系更为清楚起见,在每一装置的后面的括号内将通过附加一相应的实例详细说明。相应的实例仅仅是一个例子。
一种用来编码一图像并输出产生的编码位流的图像编码器,该图像编码器包括用来接收该图像的接收装置(即,在图11或12等中所示的帧存储器31);和用来将构成该图像的每一目标的一层或多层分割为多个组并且编码该多个组的编码装置(即,在图11和12等中所示的VLC单元36)。
一种图像编码器,当假定由内相关编码所编码的目标是一内相关视频目标平面(I-VOP),由内相关编码或正向预测编码中的任一种编码所编码的目标是一预测VOP(P-VOP),和由内相关编码、正向预测编码、反向预测编码、或双向预测编码中的任一编码所编码的目标是一双向预测VOP(B-VOP)时,该图像编码器进一步包括秒精度时间信息产生装置,用来根据编码开始秒精度绝对时间产生表示在一秒精度之内的时间的秒精度时间信息(即在图32中所示的程序中的处理步骤S3至S7,在图37中所示程序中的处理步骤S43至S47等);详细时间信息产生装置,用来产生详细的时间信息表明包括正好在目标组中的I-VOP、P-VOP、或B-VOP显示时间之前的秒精度时间信息和比一秒精度可为精细显示时间之间的一时间周期(即,在图32中所示程序的处理步骤S8,在图37中所示的程序的处理步骤S48);和相加装置,用来将秒精度时间信息与详细时间信息相加,相应于I-VOP、P-VOP、或B-VOP作为表明I-VOP、P-VOP、或B-VOP显示时间的信息(即在图11或12中所示的VLC单元36)。
一种用来译码一图像的图像译码器,包括接收装置,用来接收编码位流,该编码位流是通过将构成图像的每一目标的一层或多个层分割成多个组并且编码这些组而得到的(即,在图17或18中所示的缓冲器101等);和译码装置,用来译码该编码位流(即,图17或18中所示的IVLC单元102等)。
在该图像译码器中一目标组包括编码开始秒精度绝对时间其是在开始编码一图像序列时刻的绝对时间并且还是在一秒精度之内的时间和该图像译码器进一步包括显示时间计算装置根据该编码开始秒精度绝对时间用来计算包括在该目标组中的一目标的显示时间(即,在图34中所示的程序中的处理步骤S22至S27,在图38中所示的程序中的处理步骤S52至S57等)。
一用来为构成该图像的每一目标的图像编码,和用于输出产生的编码位流的图像编码器,当假定由内相关编码的一目标是内相关视频目标平面(I-VOP),由内相关编码或正向预测编码中的任一编码所编码的目标是一预测-VOP(P-VOP),和由内相关编码、正向预测编码、反向预测编码、或双向预测编码中的任一编码所编码的一目标是双向预测VOP(B-VOP)时,该图像编码器包括秒精度时间信息产生装置,用来产生秒精度时间信息该信息表明在一秒精度之内的时间(即,在图32中所示的程序中的处理步骤S3至S7,在图37中所示的程序中的处理步骤S43至S47等);详细时间信息产生装置,用来产生详细时间信息,该信息表明正好在I-VOP、P-VOP、或B-VOP的显示时间之前的秒精度时间信息和比一秒精度更为精细的显示时间之间的时间周期(即,在图32所示程序中的处理步骤S8,在图37所示的程序中的处理步骤S48等);和相加装置,用来将秒精度时间信息与详细时间信息相加作为表明I-VOP、P-VOP、或B-VOP的显示时间的信息该信息相应于I-VOP、P-VOP、或B-VOP(即在图11或12中所示的VLC单元36等)。
一用来对通过编码由构成该图像的每一目标的图像所得到的一编码位流进行译码的图像译码器,当假定由内相关编码所编码的目标是一内相关视频目标平面(I-VOP),由内相关编码或正向预测编码中的任一编码所编码的目标是一预测VOP(P-VOP),和由内相关编码、正向预测编码、反向预测编码、或双向预测编码中的任一编码所编码的目标是一双向预测-VOP(B-VOP)并且当用来指明在一秒精度之内的时间的秒精度时间信息和用来指明正好在I-VOP、P-VOP、或B-VOP的显示时间之前的秒精度时间信息和比一秒精度更精细的显示时间之间的一时间周期的详细时间信息被加到一相应的I-VOP、P-VOP、或B-VOP作为指明显示时间的信息时,该图像译码器包括显示时间计算装置,用来根据秒精度时间信息和详细时间信息计算I-VOP、P-VOP、或B-VOP的显示时间(即在图34中所示的程序中的处理步骤S22至S27等);和译码装置,用来根据相应的显示时间来译码该I-VOP、P-VOP、或B-VOP(即,图17或18中所示的IVLC单元等)。
当然,应注意的是,这种说明并不意味着每一装置受到上述说明的限制。
图3示出本发明所使用的编码器的一实施例的结构实例。
将要编码的图像(动态图像)输入到视频目标(VO)结构部分1。在该VO结构部分1中,该图像由VO序列的每一目标所构成。VO序列输出到VOP结构部分21至2N。也就是,在该VO结构部分1中,在产生N个视频目标(VO#1至VO#N)的情况下,VO#1至VO#N被分别输出到该VOP结构部分21至2N中。
更详细地说,例如,当要编码的图像数据是由独自的背景F1和前景F2的一序列所构成时,该VO结构部分1输出前景F2到VOP结构部分21作为VO#1并且还输出背景F1到VOP结构部分22作为VO#2。
应注意的是,例如,在要编码的图像数据是一由背景F1和背景F2预先合成的一图像的情况下,VO结构部分1根据一预定的算法将该图像分割成背景F1和前景F2。该背景F1和前景F2被输出到相应的VOP结构部分2n(其中n=1,2,…,和N)。
该VOP结构部分2n从VO结构部分1的输出中产生VO平面(VOPS)。也就是,例如,从每一帧中提取一目标。例如,围绕该目标的最小矩形(根据所要求的,后面称之为最小矩形)被认为是该VOP。应注意的是,在这时,VOP结构部分2n产生该VOP使得水平象素的数和垂直象素的数均是16的一倍数。如果该VOP结构部分2n产生VOP,则VOP分别被输出到VOP编码部分3n。
另外,该VOP结构部分2n检测表明-VOP的尺寸(即,水平和垂直长度)的尺寸数据(VOP尺寸)和表明在一帧中的VOP的位置(即,一帧的左面最上方是该原点的坐标)的偏移数据(VOP偏移)。该尺寸数据和偏移数据还被提供给VOP编码部分3n。
该VOP编码部分3n例如利用基于MPEG标准或H.263标准的一方法编码VOP结构部分2n的输出。所得的位流被输出到一多路传送部分4,多路传送部分4多路传送从VOP编码部分31至3n得到的位流。作为结果的多路传送数据通过一地面波或通过一诸如卫星线路、CATV网络等之类的传送路径5而被传送。另外,该多路传送数据被记录在诸如一磁盘、磁光盘、光盘、磁带等之类的存储媒体6中。
这里,将对视频目标(VO)和视频目标平面(VOP)作一说明。
在合成图像的情况下,构成该合成图像的每一图像称之为VO,同时VOP意味着在一定时间处的一VO。也就是,例如,在一合成图像F3由图像F1和F2构成的情况下,当图像F1和F2是以一时间序列方式而被排列时,它们是VO。在一定时间处的图像F1或F2是-VOP。因此,可以说VO是在不同的时间处相同目标的一组VOP。
例如,假定图像F1是背景和图像F2是前景,则合成图像F3通过将图像F1和具有一用来提取该图像F2的键控信号的F2相合成而得到。图像F2的VOP在这种情况下假定除构成图像F2的图像数据(亮度信号和色差信号)之外包括有键控信号。
一图像帧在尺寸和位置方面没有变化,但存在着VO的尺寸或位置有变化的情况。也就是,即使在一VOP构成相同VO的情况下,也存在着尺寸或位置随时间而变化的情况。
具体地说,图4示出了由图像F1(背景)和图像F2(前景)所构成的合成图像。
例如,假定图像F1是对某一自然景色摄影而得到的图像和整个图像是一单个的VO(例如,VO#0)。还假定,图像F2是对一步行的人摄影而得到的图像和围绕这个人的最小矩形是一单个的VO(例如,VO#1)。
在这种情况下,因为VO#0是一景色的图像,如同在一正常图像帧中那样,位置和尺寸基本上不变化。另一方面,因为VO#1是一个人的图像,如果在图4中的这个人左右移动或朝向这侧或朝纵深侧移动,则位置或尺寸将会变化。因此,虽然图4在相同时间上示出了VO#0和VO#1,但也存在着VO的位置或尺寸随时间而变化的情况。
因此,图3的VOP编码部分3n的输出位流除了表明一编码VOP的数据之外还包括在一预定绝对坐标系统上的-VOP的位置(坐标)和尺寸的信息。应注意的是,在图4中在一定时间上表明VO#0(图像F1)的VOP位置的一矢量是由OSTO来表示的,而在一定时间上表明VO#1(图像F2)的VOP位置的一矢量是由OST1来表示的。
图5示出了图3中的VOP编码部分3n的结构实例用于实现可测量性。也就是,MPEG标准引进了一种实现可量测的编码方法。用不同图像尺寸和帧速率复制实现可测量性。在图5中所示的VOP编码部分3n的构成可以实现这种可测量性。
来自VOP结构部分2n的VOP(图像数据)、尺寸数据(VOP尺寸)、和偏移数据(VOP偏移)全部被提供给图像分层部分(image layering section)21。
图像分层部分21产生一层或多层来自VOP的图像数据(执行VOP的分层)。也就是,例如,在执行空间可量测性的编码的情况下,输入到该图像分层部分21的图像数据照原样作为图像数据的增强层(enhancement layer)而被输出。同时,构成该图像数据的象素数通过将象素变稀疏后输出而被减少,并且该象素数目中被减少的图像数据作为图像数据的基本层(base layer)而输出。
应注意的是一输入VOP可作为基本数据层使用而通过某些其它方法在象素数目(清晰度)中增加VOP可用作为一增强的数据层。
另外,虽然该层数可以是1,但这种情况并不能实现可量测性。在这种情况下,例如该VOP编码部分3n仅由一基本层编码部分25所构成。
此外,该层数可以是3或更多。但是,在本实施例中,为了简化起见将只说明具有二层的情况。
在执行瞬时的可量测性编码的情况下,该图像分层部分21输出图像数据,例如相应于时间交替地输出基本层数据或增强层数据。也就是,当假定构成一定的VO的VOP以VOP0、VOP1、VOP2、VOP3、…的顺序输入时,图像分层部分21输出VOP0、VOP2、VOP4、VOP6、…作为基本层数据和输出VOP1、VOP3、VOP5、VOP7、…作为增强层数据。应注意的是,在瞬时可量测性的情况下,VOP因此变稀疏仅作为基本层数据和增强层数据而输出并且不进行图像数据的放大和缩小(即,清晰度变换),(但是它可进行放大和缩小)。
另外,在进行信噪比(SNR)可量测性编码的情况时,输入到图像分层部分21的图像数据照样作为增强层数据或基本层数据而被输出。也就是,在这种情况时,基本层数据和增强层数据相互一致。
在执行对于每一VOP的编码操作的情况时对于空间可量测性(spatialscalability)存在例如有以下三种类型。
这就是,例如,如果现在假定如图4中的所示那样由图像F1和F2所构成的一合成图像作为-VOP而被输入,如图6所示,在第一空间可量测性中该输入的整个VOP(图6(A))可获取为一增强层,并且该整个VOP缩小(图6(B))后可获取为一基本层。
在第二空间可量测性中,如图7所示,一输入VOP的部分所构成的目标(图7(A)(相应于图像F2))被提取。所提取的目标可获取为一增强层,而缩小后的整个VOP(图7(B))可获取为基本层。(例如,以与该VOP结构部分2n的情况相同的方式执行这种提取。因此,所提取的目标还是一单个的VOP)。
另外,在第三可量测性中,如图8和9所示,构成一输入VOP的目标(VOP)被提取,并且产生对于每一目标的增强层和基本层。应注意的是,图8示出了从图4所示的VOP构成的背景(图像F1)中所产生的增强层和基本层,同时图9示出了从图4所示的VOP构成的前景(图像F2)中所产生的增强层和基本层。
使用了预定的上述可量测性。图像分层部分21执行一VOP的分层从而根据一预定的可量测性而执行编码。
另外,图像分层部分21从一输入VOP的尺寸数据和偏移数据(offset data)中计算(或确定)所产生的基本和增强层的尺寸数据和偏移数据(后面如有必分别称为初始尺寸数据和初始偏移数据)。该偏移数据表明在该VOP的一预定的绝对坐标系统中一基本或增强层的位置,而该尺寸数据表明该基本或增强层的尺寸。
这里,将说明在基本和增强层中确定VOP的偏移数据(位置信息)和尺寸数据的方法,例如,在执行上述第二可量测性(图7)的情况中所使用的该方法。
在这种情况下,例如,在图10(A)中所示的基本层的偏移数据,FPOS_B,被确定,这样当在基本层中的图像数据根据基本层的清晰度和增强层的清晰度之间的差而被放大(过取样)时,即,当在基本层中的图像按一放大率而被放大从而使该尺寸与在增强层中的图像的尺寸相一致时(作为在基本层中的该图像互易的衰减率(demagnification ratio)是通过缩小在增强层中的图像而产生的)(如有必要后面称之为放大率FR),在该绝对坐标系统中放大图像的偏移数据是与初始偏移数据相一致的。以类似的方式来确定基本层的尺寸数据,FSZ_B,从而当在基本层中的图像按放大率FR放大时所得到的放大图像的尺寸数据是与初始尺寸数据相一致的。也就是,偏移数据FPOS_B被确定从而它是本身的FR倍或与初始偏移数据相一致。另外,尺寸数据FSZ_B以相同的方式被确定。
另一方面,对于增强层的偏移数据FPOS_E,例如如图10(B)所示,根据初始偏移数据计算围绕从输入VOP所提取的目标的最小矩形(VOP)的左上角的坐标,和这个值被确定为偏移数据FPOS_E而被确定。另外,该增强层的尺寸数据FPOS_E被确定为围绕从输入VOP所提取的目标的最小矩形的水平和垂直长度。
因此,在这种情况下,基本层的偏移数据FPOS_B和尺寸数据FPOS_B根据放大率FR而首先被变换。(在变换后的偏移数据FPOS_B和尺寸数据FPOS_B分别称为变换的偏移数据FPOS_B和变换的尺寸数据FPOS_B)。然后,在相应于该绝对坐标系统中的被变换的偏移数据FPOS_B的位置上,考虑相应于变换的尺寸数据FSZ_B的尺寸的一图像帧。如果将基本层中的图像数据放大FR倍后使所得到的一放大图像安置在前述的相应位置(图10(A))和如果根据增强层的偏移数据FPOS_B和尺寸数据FPOS_E将增强层的图像同样地安置在绝对坐标系统(图10(B)),则构成放大图像的象素和构成在增强层中的图像的象素将被安置以使相应的象素相互地定位在相同位置上。也就是,例如,在图10中,把在增强层中的人和在放大图像中的人安置在相同位置上。
即使在第一可量测性和第三可量测性的情况下,偏移数据EPOS_B、偏移数据EPOS_E、和尺寸数据FSZ_B也类似地被确定,这样在基本层中构成的放大图像和在增强层中的图像的对应的象素相互地被定位在该绝对坐标系统中的相同位置上。
参见图5,在该图像分层部分21所产生的增强层中的图像数据、偏移数据FPOS_E和尺寸数据FSZ_E通过延迟电路22被延迟至后面要说明的基本层编码部分25的处理周期并且被提供给增强层编码部分23。另外,在基本层中的图像数据、偏移数据FPOS_B、和尺寸数据FSZ_B提供给基本层编码部分25。此外放大率FR通过延迟电路22提供给增强层编码部分23和清晰度变换部分24。
在基本层编码部分25中,在基本层中的图像数据被编码。所得的编码数据(位流)包括有偏移数据FPOS_B和尺寸数据FSZ_B并被提供给多路传送部分26。
另外,基本层编码部分25局部地译码该编码数据并将在基本层中的局部译码图像数据输出到清晰度变换部分24。在该清晰度变换部分24中,来自基本层编码部分25的基本层中的图像数据根据放大率FR通过放大(或缩小)该图像数据而被返回到原始尺寸。所得的放大图像输出到增强层编码部分23。
另一方面,在该增强层编码部分23中,该增强层中的图像数据被编码。所得的编码数据(位流)包括偏移数据FPOS_E和尺寸数据FSZ_E并且提供给多路传送部分26。应注意的是,在该增强层编码部分23中,通过把从清晰度变换部分24所提供的放大图像用作为一参考图像而执行增强层图像数据的编码。
多路传送部分26多路传送增强层编码部分23和基本层编码部分25的输出并且输出该多路传送的位流。
应注意的是,基本层的尺寸数据FSZ_B、偏移数据FPOS_B、运动矢量(MV)、特征位COD等从基本层编码部分25提供给增强层编码部分23,并且这样构成该增强层编码部分23使得它可执行处理如有必要参考提供的数据。后面将详细说明。
图11示出了图5中的基本层编码部分25的详细结构实例。在图11中,相应于图1的部分采用了与图1相同的标号。也就是,该基本层编码部分25的结构基本上与图1的编码器是相同的。
来自图像分层部分21(图5)的图像数据,即,如图1所示基本层中的VOP,被提供给帧存储器31并被储。在运动矢量检测器32中,按照一宏块单元检测该运动矢量。
但是,基本层VOP的尺寸数据FSZ_B和偏移数据FPOS_B提供给基本层编码部分25的运动矢量检测器32,根据所提供的尺寸数据FSZ_B和偏移数据FPOS_B依次检测一宏块的运动矢量。
也就是,如上所述,VOP的尺寸和位置随时间(帧)而变化。因此,在检测该运动矢量时,有必要设置一用于检测的参考坐标系统和检测在该坐标中的运动。因而,在该运动矢量检测器32中,上述绝对坐标系统用作为参考坐标系统,并且一被编码的VOP和一参考VOP根据该尺寸根据FSZ_B和偏移数据FPOS_B被安置在绝对坐标系统中,因而该运动矢量被检测。
应注意的是,检测的运动矢量(MV)连同该预测模式一起被提供给VLC单元36和运动补偿器42并且还提供给增强层编码部分23(图5)。
即使在执行运动补偿的情况下,也有必要如上所述来检测在一参考坐标系统中的运动。因此,尺寸数据FSZ_B和偏移数据FPOS_B提供给了运动补偿器42。
如同图1的情况其运动矢量已检测过的VOP被量化,并且该量化的系数提供给VLC单元36。另外,如图1所示,除了量化系数、量化级、运动矢量、和预测模式之外,尺寸数据FSZ_B和偏移数据FPOS_B也提供给VLC单元36。在该VLC单元36中,所提供的数据由可变字长编码来编码。
除了上述编码之外,其运动矢量已检测过的VOP如在图1的情况下被局部地译码并且储存在帧存储器41中。如前所述,这种译码的图像被用作为参考图像,并且输出到清晰度变换部分24(图5)。
应注意的是,与MPEG-1标准和MPEG-2标准不同,在MPEG-4标准中B图像(B-VOP)还用作为参考图像。为此原因,B图像还被局部地译码并储存在帧存储器41中。(但是,目前B图像仅在一增强层中作为参考图像使用)。
另一方面,如图1所示,VLC单元36确定I-图像、P-图像、或B-图像(I-VOP、P-VOP、或B-VOP)中的宏块是否是一空白宏块。该VLC单元36设置特征位COD和MODB指明该确定结果。特征位COD和MODB也由可变字长度编码所编码并被传送。而且,特征位COD提供给增强层编码部分23。
图12示出了图5中的增强层编码部分23的结构实例。在图12中,相应于图11或1的部分采用了与图11或图1相同的标号。也就是,除了帧存储器52是新提供的之外,增强层编码部分23基本上与图11的基本层编码部分25或图1的编码器的构成是相同的。
来自图像分层部分21(图5)的图像数据,即如在图1的情况下的增强层的VOP,提供给帧存储器31并被储存。在运动矢量检测器32中,按照一宏块单元检测运动矢量。即使在这种情况下,如在图11的情况,除了增强层的VOP等之外,尺寸数据FSZ_E和偏移数据FPOS-E提供给运动矢量检测器32。在该运动矢量检测器32中,如同在上述情况一样,根据尺寸数据FSZ_E和偏移数据FPOS_E来识别在绝对坐标系统中的增强层的VOP的安置位置,并且检测该宏块的运动矢量。
在增强层编码部分23和基本层编码部分25的运动矢量检测器32中,如图1所述那样,VOP根据一预定的序列而处理。例如,该序列被设置如下。
也就是,在空间可量测性的情况下,如图13(A)或13(B)所示,在增强层或基本层中的VOP例如是按P,B,B,B,…或I,P,P,P…的顺序处理的。
在这种情况下,通过例如把与P图像在相同时间处所出现的基本层的VOP(这里为,I-图像(I-VOP))作为参考图像,编码在增强层中的第一P-图像(P-VOP)。另外,例如通过使用正好在此之前的增强层中的图像和与B图像在相同时间所出现的在基本层中的VOP作为参考图像编码在增强层中的第二B-图像(B-VOP)。也就是,在这个例子中,在编码另外的VOP时在增强层中的B-图像,如同在基本层中的P-图像一样被用作为参考图像。
例如在MPEG-1标准、MPEG-2标准、或H.263标准的情况下,执行对该基本层的编码。
按照与上述空间可量测性相同的方式来处理该SNR的可量测性,因为在空间可量测性中放大率FR为1时它与空间可量测性是相同的。
在瞬时可量测性的情况下,即,例如,在-VO是由VOP0、VOP1、VOP2、VOP3、…所构成的情况下,并且VOP1、VOP3、VOP5、VOP7、…是在增强层中(图14(A))和VOP0、VOP2、VOP4、VOP6、…是在基本层中(图14(B)),如上所述,在增强层和基本层中的VOP分别按顺序B、B、B、…和顺序I、P、P、P…处理,如图14所示。
在这种情况下,例如通过使用在基本层中的VOP0(I-图像)和VOP2(P-图像)作为参考图像,编码增强层中的第一VOP1。例如通过将正好在此之前在增强层中的第一编码VOP1(B-图像)和在靠近VOP3的时间(帧)出现的基本层中的VOP4(P-图像)用作为参考图像,编码增强层中的第二VOP3(B-图像)。如同VOP3的编码一样,通过例如将正好在此之前在增强层中的第二编码VOP3(B-图像)和在基本层中靠近VOP5的时间(帧)上所出现的图像的VPO6(P-图像)用作为参考图像,编码增强层中的第三VOP5(B-图像)。
如上所述,在一个层(这里为,增强层)中的VOP、在另一层(可量测层)(这里为,基本层)中的VOP可作为用于编码P-图像和B-图像的参考图像。由此在一个层中的VOP通过将在另一层中的VOP用作为参考图像而编码时,即,如像本实施例,在基本层中的VOP用作参考图像编码预测的增强层中的VOP情况下来构成增强层编码部分23(图12)的运动矢量检测器32以便设置和输出特征位ref_layef_id。表明在基本层中的VOP是用于编码在预测的增强层中的VOP的(在3层或多层的情况下,特征位ref_layer_id表示属于一VOP的一层用作为参考图像)。
另外,增强层编码部分23的运动矢量检测器32被构成以便根据用于一VOP的特征位ret_layer_id设置和输出特征位ref_Select_Code(参考图像信息)。该特征位ref_Select_Code(参考图像信息)表明在该层中哪层和哪个VOP在执行正向预测编码或反向预测编码中被用作参考图像。
更详细地说,例如,在通过将正好在P-图像之前属于与被译码图像(局部译码)相同层的一VOP用作为参考图像而编码一增强层图像的情况下,特征位ref_Select_Code被置为00。另外,在通过将属于与在P-图像之前立即被显示的一图像不相同的一层(这里为,基本层(参考层))的一VOP作为参考图像两编码该P-图像的情况下,特征位ref_Select_Code被置为01。此外在通过将属于与在P图像之后立即被显示的一图像不同的一层的一VOP用作为参考图像两编码该P-图像的情况下,特征位ref_Select_Code被置为10。并且在通过将属于与P-图像在相同时间出现的一不同层的一VOP用作为参考图像而编码该P-图像的情况下,特征位ref_Select_Code被置为11。
另一方面,例如,在通过将属于与B-图像在相同时间出现的一不同层的一VOP用作为正向预测的参考图像和还通过将属于和在B-图像之前立即译码的图像相同层的一VOP用作为反向预测的参考图像而编码在增强层中的B-图像的情况时,特征位ref_Select_Code被置为00。另外在通过把属于与B图像相同层的-VOP用作为正向预测的参考图像和通过把属于与在B图像之前立即被显示的图像不同的一层的-VOP用作为反向预测的参考图像而编码在增强层的B-图像的情况时,特征位ref_Select_Code被置为01。另外,通过把属于与在B-图像之前立即被译码的图像的相同层的-VOP用作为正向预测的参考图像和通过把属于与在B图像之后立即显示的图像不同的一层的一VOP用作为反向预测的参考图像而编码在增强层中的B-图像的情况时,特征位ref_Select_Code被置为10。在通过把属于与在B-图像之前立即显示的图像不同的一层的-VOP用作为正向预测的参考图像和通过把属于与在B-图像之后立即显示的图像不同的一层的-VOP用作为仅向预测的参考图像而编码在增强层中的B-图像的情况时,特征位ref_Select_Code被置为11。
图13和14中所示的预测编码只是一单个的例子。因此,可以在上述范围之内来自由地设置使用哪层和使用在该层中的哪个VOP作为正向预测编码、反向预测编码、或双向预测编码的参考图像。
在上述情况下,当为了便于说明而使用了空间可量测性、瞬间可量测性、和SNR可量测性时,在通过特征位ref_Select_Code设置用于预测编码的参考图像的情况下则对空间可量测性、时间可量测性、和SNR可量测性难以相互分辨。也就是,反过来说,特征位ref_Select_Code的使用使得上述在可量测性之间的分辨变得没有必要。
如果上述可量测性和特征位ref_Select_Code是彼此相关的,则该相关如下所述。也就是,相对于P-图像,因为特征位ref_Select_Code是11的情况是这种情况,即,指由特征位ref_layer_id所指明的该层中的相同时间处的-VOP被用作为参考图像(用于正向预测)的情况,所以这种情况对应于空间可量测性或SNR可量测性。而除了特征位ref_Select_Code是11的情况之外的情况则对应于瞬间可量测性。
相对于B-图像,特征位ref_Select_Code是00的情况也是这种情况,即,指由特征位ref_layer_id所指明的该层中的相同时间处的-VOP是作为用于正向预测的参考图像的情况,所以这种情况相应于空间可量测性或SNR可量测性。而除特征位ref_Select_Code是00之外的情况对应于瞬间可量测性。
应注意的是,在为了编码一预测的增强层中-VOP的情况下,在一个层(这里为,基本层)中相同时间处的-VOP不同于被用作为参考图像的增强层时,在它们之间没有运动,所以运动矢量总是为0((0,0))。
参见图12,前面提及的特征位ref_layer_id和特征位ref_Select_Code被设置到增强层编码部分23的运动矢量检测器32并且提供给运动补偿器42和VLC单元36。
运动矢量检测器32根据特征位ref_layer_id和特征位ref_Select_Code来检测运动矢量不仅涉及帧存储器3l需要时还涉及帧存储器52。
在基本层中被局部地译码的放大图像从清晰度变换部分24(图5)提供给帧存储器52。也就是,在该清晰度变换部分24中,例如利用一所谓的插入滤波器等放大在基本层中被局部地译码的VOP。因此,产生一个是该VOP尺寸的FR倍的放大图像,即,产生一个对应于基本层中的VOP与在增强层中的VOP相同尺寸的放大图像。该产生的图像提供给增强层编码部分23。帧存储器52存储以这种方式从该清晰度变换部分24提供的放大图像。
因此,当放大率FR为1时,清晰度变换部分24不处理从基本层编码部分25提供的局部被译码的VOP。来自基本层编码部分25的局部译码的VOP提供给增强层编码部分23。
来自基本层编码部分25的尺寸数据FSZ_B和偏移数据FPOS_B提供给运动矢量检测器32,并且来自该延迟电路22(图5)的放大率FR也提供给运动矢量检测器32。在把存储在帧存储器52中的放大图像用作为参考图像的情况下,即,在为了编码一预测的增强层中的VOP,把在与增强层的VOP相同时间上的在基本层中的-VOP用作为参考图像的情况下(在这种情况下,特征位ref_Select_Code对于P-图像为11和对于B-图像为00),运动矢量检测器32将相应于被放大图像的尺寸数据FSZ_B和偏移数据FPOS_B乘以放大率FR。根据相乘的结果,运动矢量检测器32识别在绝对坐标系统中该被放大图像的位置,从而检测该运动矢量。
应注意的是,基本层中的运动矢量和预测模式被提供给运动矢量检测器32。这个数据被用于以下情况。也就是,在对于增强层中的B-图像该特征位ref_Select_Code是00的情况下,当放大率FR为1时,即,在SNR可量测性的情况下(在这种情况下,因为在增强层中的一VOP被用于编码预测的增强层,所以在这里所使用的SNR可量测性与在这方面MPEG-2标准中所规定的有所不同),在增强层和基本层中的图像是相同的。因此,照样,当执行在增强层中的B-图像的预测编码时,运动矢量检测器32可以使用在与B-图像相同时间所出现的基本层中的运动矢量和预测模式,在该情况下照样在运动矢量检测器32不处理增强层的B-图像,而它采用基本层的运动矢量和预测模式。
在这种情况下,在增强层编码部分23中,运动矢量和预测模式并不从运动矢量检测器32输出到VLC单元36。(因此,它们不被传送。)这是因为接收侧可以从基本层的译码结果来识别增强层的运动矢量和预测模式。
如上所述,运动矢量检测器32通过将在增强层中的-VOP和一放大的图像用作为参考图像来检测一运动矢量。另外,如图1所示,该运动矢量检测器32设置一用来使预测误差(或散离)最小的预测模式。另外,运动矢量检测器32设置并输出诸如特征位ref_Select_Code、特征位ref_layer_id等的必要的信息。
在图12中,特征位COD表明在基本层中构成I-图像或P-图像的一宏块是否是一空白宏块,并且该特征位COD从基本层编码部分25提供到运动矢量检测器32、VLC单元36、和运动补偿器42。
按照与上述情况相同的方式编码其运动矢量被检测的该宏块。该编码的结果,可使从VLC单元36中输出可变长度码。
增强层编码部分23的该VLC单元36,如同在基本层编码部分25的情况一样被构成以便设置和输出特征位COD和MODB。该特征位COD,如上所述,表明在I-图像或P-图像中的一宏块是否是一空白宏块,同时特征位MODB表示在B-图像中的宏块是否是一空白宏块。
量化系数、量化级、运动矢量、预测模式、放大率FR、特征位ref_Select_Code、特征位ref_layer_id、尺寸数据FSZ_E和偏移数据FPOS_E还提供给VLC单元36。在VLC单元36中,它们均由可变字长编码所编码并被输出。
另一方面,在其运动矢量被检测的宏块被编码之后,如上所述它还局部地被译码并且被存储在帧存储器41中。在该运动补偿器42中,如像在运动矢量检测器32中一样,通过把在帧存储器41中所存储的在增强层中局部译码的VOP和在帧存储器52中存储的在基本层中局部被译码和被放大的VOP用作为参考图像来执行运动补偿。利用这种补偿产生一预测的图像。
也就是,除了运动矢量和预测模式之外,特征位ref_Select_Code、特征位ref_layer_id、放大率、尺寸数据FSZ_B、尺寸数据FSZ_E、偏移数据FPOS_B和偏移数据FPOS_E均提供给运动补偿42。运动补偿器42根据特征位ref_Select_Code和ref_layer_id识别一被运动补偿过的参考图像。另外,在增强层中的一局部被译码的VOP或一被放大的图像被用作参考图像的情况下,运动补偿器42根据尺寸数据FSZ_E和偏移数据FPOS_E,或尺寸数据FSZ_B和偏移数据EPOS_B来识别在绝对坐标系统中的参考图像的位置和尺寸。运动补偿器42通过使用正如所需要的放大率FR产生被预测的图像。
图15示出了用来译码自图3的编码器所输出的位流的一译码器的实施例的构成例子。
该译码器接收由图3的编码器通过传送路径5或存储介质6所提供的位流。也就是,从图3的编码器输出并通过传送路径5所传送的位流由一接收机(未示出)所接收。另外,在存储介质上所记录的位流由一再生器(未示出)所再生。被接收或被再生的位流提供给逆多路传送部分(inverse multiplexingsection)71。
逆多路传送部分71接收输入其中的位流(后面所示的视频流(VS))。在逆多路传送部分71中,输入位流被分成位流VO#1、VO#2、….。这些位流分别提供给相应的VOP译码部分72n。在VOP译码部分72n中,来自从逆多路传送部分71所提供的位流的构成VO(图像数据)的VOP、尺寸数据(VOP尺寸)、和偏移数据(VOP偏移)被译码。被译码的数据提供给图像重构部分73。
图像重构部分73根据VOP译码部分721至72N的各个输出重构原始图像。这个被重构的图像例如提供给一监视器并被显示。
图16示出了实现可量测性的图15的VOP译码部分72N的构成例子。
从逆多路传送部分71(图15)提供的位流输入到逆多路传送部分91,在这里输入的位流被分成在增强层中的VOP的位流和在基本层中的VOP的位流。在增强层中的VOP的位流由延迟电路92延迟了在基本层译码部分95中处理的周期并提供给增强层译码部分93。在基本层中的VOP的位流提供给基本层译码部分95。
在基本层译码部分95中,基本层中的位流被译码,并且将所得到的在基本层中被译码的图像提供给清晰度变换部分94。另外,在基本层译码部分95中,通过对基本层的位流进行译码所得到的必要信息用于对增强层中的VOP进行译码,将该信息提供给增强层译码部分93。该必要的信息包括尺寸数据FSZ_B、偏移数据FPOS_B、运动矢量(MV)、预测模式、特征位COD等。
在增强层译码部分93中,通过延迟电路92提供的增强层中的位流正如所需的通过参考基本层译码部分95和清晰度变换部分94的输出而被译码。所得到的放大层中的译码图像、尺寸数据数FSZ_E、和偏移数据FPOS_E被输出。另外,在增强层译码部分93中,由译码在增强层中的位流所得到的放大率RF被输出到清晰度变换部分94中。在清晰度变换部分94中,如像在图5中的清晰度变换部分24的情况,利用从增强层译码部分93提供的放大率RF变换在基本层中的被译码图像。由这种变换所得到的被放大图像提供给增强层译码部分93。如上所述,该被放大图像用于译码增强层中的位流。
图17示出了图16的基本层译码部分95的构成例子。在图17中,相应于图2中译码器情况的部分采用相同标号。也就是,基本层译码部分95基本上按照与图2的译码器相同的方法构成。
来自逆多路传送部分91的基本层的位流提供给缓冲器101并暂时存储在那里。正如所需要的,相应于下面级的一块处理状态IVLC单元102读取来自缓冲器101的位流,该位流由可变字长译码所译码并且被分成量化系数、运动矢量、预测模式、量化级、尺寸数据FSZ_B、偏移数据FPOS_B、和特征位COD。量化系数和量化级提供给逆量化器103。运动矢量和预测模式提供给运动补偿器107和增强层译码部分93(图16)。尺寸数据FSZ_B和偏移数据FPOS_B提供给运动补偿器107、图像重构单元73(图15)、和增强层译码部分93,同时特征位COD提供给增强层译码部分93。
逆量化器103、IDCT单元104、算术单元105、帧存储器106、和运动补偿器107分别执行相应于图11的基本层编码部分25的逆量化器38、IDCT单元39、算术单元40、帧存储器41和运动补偿器41的相似的处理。因此,基本层的VOP被译码。该译码的VOP提供给图像重构部分73、增强层译码部分93、和清晰度变换部分94(图16)。
图18示出了图16的增强层译码部分93的构成例子。在图18中,相应于图2中的部分采用相同标号。也就是,除了帧存储器112是新提供之外,增强层译码部分93的构成基本上与图2是相同的。
来自逆多路变换部分91的增强层的位流通过缓冲器101提供给IVLC单元102。IVLC单元102利用可变字长译码来译码增强层的位流,从而将该位流分成量化系数、运动矢量、预测模式,量化级、尺寸数据FSZ_E、偏移数据FPOS_E、放大率FR、特征位ref_layer_id、特征位ref_Select_Code、特征位COD、和特征位MODB。如同在图17的情况一样,量化系数和量化级提供给逆量化器103。运动矢量和预测模式提供给运动补偿器107。另外,尺寸数据FSZ_E和偏移数据FPOS_E提供给运动补偿器和图像重构部分73(图15)。特征位COD、特征位MODB、特征位ref_layer_id、和特征位ref_Select_Code提供给运动补偿器107。另外,放大率FR提供给运动补偿器107和清晰度变换部分94(图16)。
应注意的是,除了上述数据之外,基本层中的运动矢量、特征位COD、尺寸数据FSZ_B、和偏移数据FPOS_B从基本层译码部分95(图16)被提供给运动补偿器107。另外,被放大后的图像从清晰度变换部分94提供给帧存储器112。
逆量化器103、IDCT单元104、算术单元105、帧存储器106、运动补偿器107、和帧存储器112分别执行相应于图12的增强层编码部分23的逆量化器38、IDCT单元39、算术单元40、帧存储器41、运动补偿器42、和帧存储器52的相似的处理。为此,增强层的VOP被译码。被译码后的VOP提供给图像重构部分73。
在具有如上所述构成的增强层译码部分93和基本层译码部分95的VOP译码部分72n中,得到在增强层中的译码图像、尺寸数据FSZ_E、和偏移数据FPOS_E(如有必要后面称之为增强层数据)和在基本层中的译码图像、尺寸数据FSZ_B、和偏移数据FPOS_B(如有必要在后面称之为基本层数据)。在图像重构部分73中,例如按下述方式重构来自增强层数据或基本层数据的图像。
也就是,例如,在执行第一空间可量测性(图6)的情况下(即,在整个输入VOP被形成为一增强层和被缩小的整个VOP形成为一基本层的情况下),当基本层数据和增强层数据译码时,图像重构部分73仅根据增强层数据在由偏移数据FPOS_E所指明的位置上安置增强层的被译码图像(VOP)其具有对应于尺寸数据FSZ_E的尺寸。另外,例如在增强层的位流中出现一错误,或者当监视器74仅处理一低清晰度的图像并且因此仅译码基本层数据时,该图像重构部分73仅根据基本层数据在由偏移数据FPOS_B所指明的位置上安置增强层的译码图像(VOP)其相应于尺寸数据FSZ_B的尺寸。
另外,例如,在执行第二空间可量测性(图7)的情况下(即,输入VOP的部分被形成为增强层而整个被缩小的VOP被形成为基本层的情况下),当基本层数据和增强层数据被译码时,图像重构部分73根据放大率FR放大相应于尺寸数据FSZ_B尺寸的基本层被译码图像并产生放大的图像。另外,图像重构部分73将偏移数据FPOS_B放大FR倍并且将放大的图像安置在相应于所得结果值的位置。并且图像重构部分73将相应于尺寸数据FSZ_E的尺寸的增强层译码图像安置在由偏移数据FPOS_E所指明的位置上。
在这种情况下,增强层的译码图像的部分用比其余部分更高的清晰度被显示出来。
应注意的是,在安置增强层的译码图像的情况下,被译码图像和被放大图像是相互合成的。
另外,虽然在图16(图15)中未示出,但除了上述数据之外放大率FR从增强层译码部分93(VOP译码部分72n)被提供给图像重构部分73。通过使用所提供的放大率FR该图像重构部分73产生一放大的图像。
另一方面,在执行第二空间可量测性的情况下,当仅仅译码基本层数据时,按照与上述执行第一空间可量测性情况相同方式来重构一图像。
另外,在执行第三空间可量测性(图8和9)的情况下(即,在输入VOP构成的每一个目标被形成增强层而排除VOP的这些目标被形成为基本层的情况下),按照与上述执行第二空间可量测性的情况相同方式来重构一图像。
如上所述,偏移数据FPOS_B和偏移数据FPOE_E的构成使相互对应于被安置在绝对坐标系统相同位置的象素构成基本层的放大图像和增强层的图像。因此,通过以上述方式重构一图像,可以得到一准确的图像(没有位置上的偏移)。
下面将说明由图3编码器输出的编码位流的语法,例如,按照MPEG-4标准(根据需要,后面称之为VM-6.0)的视频校验模式(6.0版)为例。
图19示出了在VM-6.0中一编码位流的语法。
该编码位流由视频对话等级(VSs)所构成。每一VS由一个或多个视频目标等级(VOs)所构成。每一VO由一个或多个视频目标层等级(VOLs)所构成。(当一图像未分层时,它由一单个VOL构成。在图像被分层的情况下,它由相应于层数的VOL所构成。)每一VOL由视频目标平面等级(VOP)所构成。
应注意的是,VS是一图像和等效物的序列,例如,一单个的节目或影片。
图20和21示出了一VS的语法和VO的语法。该VO是相应于一完整图像的位流或构成一图像的目标的序列。因此,VS是由一组这样的序列所构成的。(因而,VS是等效的,例如一单个的节目。)图22示出了VOL的语法。
该VOL是用于上述可量测性的一等级,并且用video_object_layer_id所表明的数来识别。例如,在基本层中用于-VOL的video_object_layer_id为0,同时在增强层中用于-VOL的video_object_layer_id为1。应注意的是,如上所述,可量测的层数不限于2,它可以是包括1、3、或更多的一任意数。
另外,由video_object_layer_shape来识别-VOL是一完整图像还是一图像的部分。这个video_object_layer_shape是用来表示-VOL的形状的特征位并且如下所述被设置。
当-VOL的形状是一矩形时,video_object_layer_shape例如为00。当-VOL是处于由一固定的关键码(hard key)分割出的一区域的形状时(具有0或1的一二进制信号),video_object_layershape例如是01。另外,当-VOL是处于由一自定义功能键分割的一区域的形状时(在0到1范围内可产生一连续值(灰度)的信号)(当由自定义功能键(soft key)合成时),video_object_layer_shape例如为10。
当video_object_layer_shape为00时,-VOP的形状为矩形并且在该绝对坐标系统中-VOL的位置和尺寸不随时间而变化,即,是恒定的。在这种情况下,该尺寸(水平长度和垂直长度)是由video_object_layer_width和video_object_layer_height所指明的。该video_object_ayer_width和video_object_layer_height是二个10位固定长度特征位。在video_object_layer_shape是00的情况下,它仅仅首次传送一次。(这是因为,在video_object_layer_shape是00的情况下,如上所述,在该绝对坐标系统中-VOL的尺寸是恒定的)。
-VOL是基本层还是增强层是由其为1位特征位的可量测性来指明的。当-VOL是基本层时,可量测性例如为1。在其它情况下,该可量测性例如为0。
另外,在-VOL使用了在VOL中除了它本身之外的图像作为一参考图像的情况下,如上所述,由ref_layer_id表示属于该VOL的参考图像。应注意的是仅仅当VOL是增强层时该ref_layer_id才被传送。
在图22中,hor_Sampling_factor_n和hor_Sampling_factor_m分别表明相应于在基本层中的VOP的水平长度和在增强层中的VOP的水平长度的值。增强层对基本层的水平长度(水平清晰度的放大率)由下述等式给出hor_Sampling_factor_n/hor_Sampling_factor_m。
在图22中,ver_Sampling_factor_n和ver_Sampling_factor_m分别表明相应于在基本层中的VOP的垂直长度和在增强层中的VOP的垂直长度的值。增强层对基本层的垂直长度(垂直清晰度的放大率)由下述等式给出ver_Sampling_factor_n/ver_Sampling_factor_m。
图23示出了-VOP的语法。
-VOP的尺寸(水平长度和垂直长度)例如由具有10位固定长度的VOP_width和VOP_heigh来表示。另外,在绝对坐标系统中的-VOP的位置例如由10位固定长度的VOP_horizontal_spatial_mc_ref和VOP_vertical_mc_ref来表示。VOP_width和VOP_height分别表示-VOP的水平长度和垂直长度。这些等效于如上所述的尺寸数据FSZ_B和尺寸数据FSZ_E。VOP_horizontal_spatial_mc_ref和VOP_vertical_mc_ref分别表示-VOP的水平和垂直坐标(x和y坐标)。这些等效于如上所述偏移数据FPOS_B和偏移数据FPOS_E。
该VOP_width、VOP_height、VOP_horizontal_mc_ref和VOP_veritical_mc_ref仅仅当video_object_layer_shape不是00时才被传送。也就是,当video_object_layer_shape为00时,如上所述,-VOP的尺寸和位置均为恒定的,这样就没有必要传送VOP_width、VOP_height、VOP_horizontal_spatioal_mc_ref和VOP_vertical_mc_ref。在这种情况下,在接收机侧-VOP被安置使得该左上角例如与绝对坐标系统的原点相一致。另外,从图22所示的Video_object_layer_width和video_object_layer_height识别该尺寸。
在图23中,如图19所示,ref_select_code表示一被用作为参考图像的图像,并且由-VOP的语法所规定。
顺便说及的是,在VM-6.0中每-VOP的显示时间(等效于一常规帧)是由如下所述的modulo_time_base和VOP_time_increment(图23)确定的也就是,modulo_time_base表示在1秒(1000毫秒)精度之内的该本地时基(local_time base)中的编码器时间。modulo_time_base表示在VOP标头中被传送的一标记(marker)并且由一所必须的1和0的数所构成。构成modulo_time_base的连续“1”的数后面跟随的“0”是来自由最后编码/译码modulo_time_base所标注的同步点的累积周期(在一秒精度之内的时间)。例如,当该modulo_time_base指明一0时,来自由最后编码码/译码modulo_time_base所标注的同步点的累积周期是0秒。另外,当modulo_time_base指明10时,来自由最后编码/译码modulo_time_base所标注的同步点的累积周期是1秒。另外,当modulo_time_base指明110时,来自由最后编码/译码modulo_time_base所标注的同步点的累积周期是2秒。因此,在modulo_time_base中的1的数是来自由最后编码/译码modulo_time_base所标注的同步点的秒数。
应注意的是,对于modulo_time_base,该VM-6.0规定为这个值表示在一秒清晰度单位(1000毫秒)上的本地时基。它表示在VOP标头中所传送的一标记。后面跟随有一“0”的连续“1”的数表明从由最后编码/译码modulo_time_base标注的同步点开始所经过的秒数。
VOP_time_increment表示在1ms精度内在本地时基中的编码器时间。在VM-6.0中,对于I-VOP和P-VOP该VOP_time_increment是从由最后编码/译码modulo_time_base所标注的同步点开始的时间。对于B-VOP该VOP_time_increment是从最后编码/译码I-或P-VOP开始的相对时间。
应注意的是,对于VOP_time_increment,该VM-6.0规定为这个值表示以毫秒为单位的本地时基。对于I-和P-VOP该值是从由最后modulo_time_base所标注的同步点开始的绝对VOP_time_increment。对于B-VOP该值是从最后编码/译码开始的相对VOP_time_increment。
并且该VM-6.0规定在该编码器中,以下的公式用来分别确定对于I/P-VOP和B-VOP的绝对和相对VOP_time_increment。
也就是,VM-6.0规定在该编码器中,对于I/P-VOP和B-VOP的显示时间分别由下式编码tGTB(n)=n×1000ms+tESTtAVTI=tETB(I/P)-tGTB(n)tRVTI=tETB(B)-tETB(I/P)…(1)其中tGTB(n)表示由第n次编码modulo_time_base所标注的同步点的时间(如上所述,一秒的精度),tEST表示在VO编码开始处的编码器时间(在VO编码开始处的绝对时间),tAVTI表示对于I-或P-VOP的VOP_time_increment,tETB(I/P)表示在I或P-VOP编码开始处的编码器时间(在VOP编码开始处的绝对时间),tRVTI表示对于B-VOP的VOP_time_increment,和tETB(B)表示在B-VOP编码的开始处的编码器时间。
应注意的是,对于在公式(1)中的tGTB(n)、tEST、tAVTI、tETB(I/P)、tRVTI和tETB(B),该VM-6.0规定tGTB(n)是由第n次编码modulo_time_base所标注的编码器时基,tEST是编码器时基开始时间,tAVTI是对于I或P-VOP的绝对VOP_time_increment,tETB(I/P)是I或P-VOP的编码开始处的编码器时基,tRVTI是对于B-VOP的相对VOP_time_increment,和tETB(B)是在B-VOP编码开始处的编码器时基。
另外,该VM-6.0规定在该译码器中,下面公式用来分别确定I/P-VOP和B-VOP的被恢复时基。
也就是,VM-6.0规定在译码器侧,用于I/P-VOP和B-VOP的显示时间分别由下式译码tGTB(n)=n×1000ms+tDSTtDTB(I/P)=tAVTI+tGTB(n)tDTB(B)=tRVTI+tDTB(I/P)…(2)这里tGTB(n)表示由第n次译码的modulo_time_base所标注的同步点的时间,tDST表示VO译码开始处的译码器时间(在VO开始译码处的绝对时间),tDTB(I/P)表示I-VOP或P-VOP译码开始处的译码器时间,tAVTI表示对于I-VOP或P-VOP的VOP_time_increment,tDTB(B)表示在B-VOP译码开始处的译码器时间(在VOP开始译码处的绝对时间),tRVTI表示对于B-VOP的VOP_time_increment。
应注意的是,对于在公式(2)中的tGTB(n)、tDST、tDTB(VP)、tAVTI、tDTB(B)、和tRVTI,该VM-6.0规定tGTB(n)是由第n次译码的modulo_time_base所标注的编码时基,tDST是译码时基开始时间,tDTB(I/P)是在I或P-VOP译码开始处的译码时基,tAVTI是对于I-或P-VOP的译码绝对VOP_time_increment,tDTB(B)是B-VOP译码开始处的译码时基,和tRVTI是对于B-VOP的译码相对VOP_time_increment。
图24示出了根据上述定义modulo_time_base和VOP_time_increment之间的关系。
在该图中,-VO由诸如I1(I-VOP)、B2(B-VOP)、B3、B4(P-VOP)、B5、P6等VOP序列所构成。现在,假定该VO的编码/译码开始时间(绝对时间)为to,则modulo_time_base将表示诸如to+1秒、to+2秒等时间(同步点),这是因为从开始时间to所经过的时间是在1秒的精度之内表示的。在图24中,虽然显示顺序是I1、B2、B3、P4、B5、P6等,但该编码/译码顺序是I1、P4、B2、B3、P6等。
在图24中,(如在后面对图28-31和图36所述),对于每一VOP的VOP_time_increment是由在一方框中所包围的一数字(以毫秒为单位)所指明。由modulo_time_base所指明的同步点的转换由标记所指出。因此,在图24中,对于I1、B2、B3、P4、B5和P6的VOP_time_increment是350mS、400mS、800mS、550mS、400mS、和350mS,并且在P4和P6处,该同步点被转换。
现在,在图24中对于I1该VOP_time_increment是350ms。因此,I1的编码/译码时间是在从由最后编码/译码modulo_time_base所标注的同步点开始的350mS之后的时间。应注意的是,在I1的编码/译码开始之后该开始时间(编码/译码开始时间)to立即变为一同步点。因此,I1的编码/译码时间将是从开始时间(编码/译码开始时间)to起350mS之后的时间to+350mS。
B2或B3的编码/译码时间是VOP_time_increment的时间,是从最后编码/译码I-VOP或P-VOP所经过的时间。在这种情况下,因为最后编码/译码I1的编码/译码时间是to+350ms,所以B2或B3的编码/译码时间是在400mS或800mS之后的时间to+750mS或to+1200mS。
对于P4,在P4处由modulo_time_base所指明的同步点被转换。因此,该同步点是时间to+1秒。其结果,P4的编码/译码时间是从时间to+1秒开始的550mS之后的时间(to+1)秒+550mS。
B5的编码/译码时间是从最后编码/译码I-VOP或P-VOP所经过的VOP_time_increment的时间。在这种情况下,因为最后编码/译码P4的编码/译码时间是(to+1)秒+550mS,所以B5的编码/译码时间是在400mS之后的时间(to+1)秒+950mS。
对于P6,在P6处由modulo_time base指明的同步点被转换。因此,该同步点是时间to+2秒。其结果,P6的编码/译码时间是从时间to+2秒开始的350mS之后的时间(to+2)秒+350mS。
应注意在VM-6.0中,由modulo_time_base所指明的同步点的转换仅允许用于I-VOP和P-VOP而不允许用于B-VOP。
另外该VM-6.0规定对于I-VOP和P-VOP该VOP_time_increment是从由最后编码/译码modulo_time_base所标注的同步点开始的时间,同时对于BVOP该VOP_time_increment是从由最后编码/译码I-VOP或P-VOP所标注的同步点开始的相对时间。这主要是由于如下的原因。也就是,一B-VOP通过将在显示顺序中跨过B-VOP而被安置的I-VOP或P-VOP用作为一参考图像而被预测编码。因此,到该I-VOP或P-VOP的时间距离被设置为用于B-VOP的VOP_time_increment,这样使得相对于在执行该预测编码中用作为一参考图像的I-VOP或P-VOP的加权(weight)根据跨过B-VOP而被安置的到I-VOP或P-VOP的瞬间距离由该B-VOP所确定。这是主要原因。
顺便说及,上述VM-6.0的VOP_time_increment的定义有一个缺点。也就是,在图24中,用于B-VOP的VOP_time_increment不是从B-VOP之前该I-VOP或P-VOP编码/译码立即开始的相对时间而是从最后被显示的I-VOP或P-VOP开始的相对时间。这是由于以下的原因。例如考虑B2或B3。从上述编码/译码顺序的观点来看,在B2或B3之前立即被编码/译码的I-VOP或P-VOP是P4。因此,当假定对于B-VOP的VOP_time_increment是从在B-VOP之前I-VOP或P-BOP立即被编码/译码起的相对时间,则对于B2或B3的VOP_time_increment是从P4的编码/译码时间起的相对时间并且变成一负值。
另一方面,在MPEG-4标准中该VOP_time_increment是10位。如果VOP_time_increment仅具有一等于或大于0的值,则它可以在0到1023的范围中表示一个值。因此,相邻同步点之间的位置可以用上述瞬间同步点(在图24中的左方)作为参考由毫秒单位来表示。
但是,如果该VOP_time_increment允许不仅具有一等于或大于0的值而且还允许一负值时,则相邻同步点之间的位置可以用上述瞬间同步点作为参考来表示,或者用下一个瞬间同步点作为参考来表示。为此原因,计算-VOP的编码时间或译码时间的过程变得复杂了。
因此,如上所述,对于VOP_time_increment该VM-6.0规定表示本地时基的值以毫秒为单位。对于I-和P-VOP这个值是从由最后modulo_time_base所标注的同步点开始的绝对VOP_time_increment。对于B-VOP这个值是从最后被编码/译码的I-或P-VOP开始的相对VOP_time_increment。
但是,最后一句“对于B-VOP这个值是从最后被编码/译码的I-或P-VOP起的相对VOP_time_increment”会改变为“对于B-VOP这个值是从最后被显示的I-或P-VOP起的相对VOP_time_increment”。为此,VOP_time_increment将不定义为从最后被编码/译码的I-或P-VOP开始的相对时间,而会定义为从最后显示的I-或P-VOP起的相对时间。
以这种方式所定义的VOP_time_increment,对于B-VOP该编码/译码时间的计算基数是具有先于B-VOP的显示时间的I/P-VOP(I-VOP或P-VOP)的显示时间。因此,只要对于B-VOP的参考图像不是在B-VOP之前被显示,则对于B-VOP的VOP_time_increment总是具有一正值。因此,在所有时间上对于I/P-VOP该VOP_time_increment具有一正值。
在图24中该VM-6.0的定义进一步被改变从而由modulo_time_base和VOP_time_increment所表示的时间不是-VOP的编码/译码时间而是-VOP的显示时间。也就是,在图24中,当在-VOP序列中的绝对时间被考虑时,则在公式(1)中的tEST(I/P)和在公式(2)中的tDTB(I/P)分别表示在一I-VOP或P-VOP序列中所出现的绝对时间,并且在公式(1)中的tEST(B)和在公式(2)中的tDTB(B)分别表示在一B-VOP的序列中出现的绝对时间。
在VM-6.0中公式(1)中的编码器时基开始时间tEST不被编码,而modulo_time_base和VOP_time_increment被编码为编码器时基开始时间tEST和每一VOP的显示时间之间的差分信息(表示在-VOP序列中出现的-VOP的位置的绝对时间)。为此原因,在译码器侧,VOP之间的相对时间可以通过使用modulo_time_base和VOP_time_increment来确定,而每一VOP的绝对显示时间,即,在VOP顺序中的每一VOP的位置不能被确定。因此,只有modulo_time_base和VOP_time_increment不能执行对一位流的存取,即随机存取。
另一方面,如果仅仅编码器时基开始时间tEST被编码,则该译码器通过使用被编码的tEST可以译码每一VOP的绝对时间。但是,通过从编码位流的开头,译码该编码器时基开始时间以及是每一VOP的相对时间信息的modulo_time_base和VOP_time_increment有必要去控制该累积绝对时间。这是令人讨厌的事情,从而不能执行有效的随机存取。
因此,在本发明的该实施例中,一用来编码在-VOP序列中所出现的绝对时间的层被引入该VM-6.0的该编码位流的分层结构中以便容易地执行有效的随机存取。(这个层不是实现可量测性的层(上述基本层或增强层)而是一被编码的位流层))。这个层是在一合适位置以及编码的位流的开头可插入的编码的位流层。
作为这种层,本实施例介绍了把例如以相同方式所规定的层作为在MPEG-1/2标准中使用的GOP(图像组)层。为此,与在MPEG-4标准中使用的原编码位流层的情况相比较可以提高MPEG-4标准和MPEG-1/2标准之间的兼容性。这种新插入层称之为GOV(或视频目标平面组(GVOP))。
图25示出引入用来对在VOP序列中所出现的绝对时间编码的-GOV层的编码位流的构成。
在VOL层和VOP层之间规定了GOV层使得它可插入在编码位流的任意位置以及插入在编码位流的开关。
为此,在一VOL#0是由诸如VOP#0、VOP#1、…、VOP#n、VOP#(n+1)、…、和VOP#m的VOP序列所构成的情况下,该GOV层例如可以直接地在VOP#(n+1)之前以及直接地在开头VOP#之前插入。因此,在该编码器中,该GOV层可以例如插入在执行随机存取的一编码位流的位置上。因此,通过插入该GOV层,构成确定VOL的VOP序列被分成多个组(根据需要后面称之为-GOV)并被编码。
该GOV层的语法定义为如图26中的示例。
如该图所示,该GOV层由按序列排列的group_start_code、time_code、closed_gop、broken_link、和next_start_code()所构成。
下面,将对GOV层的语义予以说明。GOV层的语义基本上与在MPEG-2标准中的GOP层语义相同。因而这里对这部分不予描述,请予见MPEG-2视频标准(ISO/IEC-13818-2)。
该guoup_start_code是000001B8(十六进制并且表明-GOV的开始部分。
如图27中所示,该time_code由1位drop_frame_flag、5位time_code_hourS、6位time_code_minutes、1位marker_bit、6位time_code_second和6位time_code_pictures所组成。因此,该time_code总共由25位所构成。
该time_code等效于在IEC标准公开461中所规定的“用于录相机的时间和控制码”。这里,MPEG-4标准没有视频的帧速率的概念。(因此,-VOP可在任意时间上被表示。)因而,本实施例不利用drop_frame_flag表明该time_code是否在drop_frame_mode中被描述过,并且该值是固定的例如为0。另外,本实施例不利用为相同原因的time_code_pictures,并且该值是固定的例如为0。因此,在这里该time_code用来通过表示时间的小时单位的time_code_hours、表示时间的分单位的time_code_minutes、和表示时间的秒单位的time_code_seconds来表示-GOV的开头的时间。其结果,在一GOV层中的time_code(编码开始秒精度绝对时间)表示该GOV的开头时间,即当开始GOV层编码时在-VOP序列上的绝对时间,是在1秒的精度之内。为此原因,本发明的实施例对于每一VOP设置了比1秒更精确的时间(这里是,毫秒)。
应注意的是,在该time_code中该marker_bit为1从而在一编码位流中23或更多的0不连续。
closed_gop意指在MPEG-2视频标准(ISO/IEC 13818-2)的close_gop定义中的I-、P-、和B-图像中的一个图像分别由I-VOP、P-VOP、和B-VOP来置换。因此,在-VOP中的B-VOP不仅表示构成该GOV的-VOP而且表明是否在另一GOV中用-VOP作为一参考图像编码该VOP。这里,对于在MPEG-2视频标准(ISO/IEC 13818-29)中定义的close_gop下面给出了执行上述置换的句子这是一个1位特征位,用于表明在平面标题组后面紧接着第一编码的I-VOP之后的第一连续B-VOP(如有的话)中所使用的预测性质。该closeg_gop置为1表示被编码的这些B-VOP仅用于反向预测或内相关编码。在编码之后所出现的任何编辑期间使用这个位。如果前面的图像通过编辑已被移动,则broke_link可被置为1以便一译码器可以避免显示跟随在平面标题组之后的第一I-VOP之后的这些B-VOP。但是,如果closed_gop位被置为1,当这些B-VOP可被正确地译码时则该编辑器可以不选择设置broken_link。
该broken_link还意指按照MPEG_2视频标准(ISO/IEC 139818-29)中该broken_link的定义执行该closed_gop的情况时的相同置换。因此,该broken_link表示-GOV的开头B-VOP是否可被正确地再生。这里,对于在MPEG-2视频标准(ISO/IEC 13818-2)中的该broken_link的定义在下面给出了执行上述置换的句子这是在编码期间将置为0的一位特征位。它被设置为1用于表明跟随平面标题组之后的紧挨着第一编码I-VOP之后的第一连续B-VOP(如有的话)不能被正确地译码,因为用于预测的参考帧不是有效的(由于编辑的影响)。一译码器可使用这个特征位以避免显示不能正确被译码的帧。
next_start_code()给出了下一个GOV开始的位置。
引入GOV层并且将也开始GOV层编码的GOV序列中的上述绝对时间(根据需要,后面称之为编码开始绝对时间)设置为该GOV的time_code。另外,如上所述,因为在该GOV层中的该time_code具有一秒之内的精度,所以本实施例将对用于每一VOP的-VOP序列中所出现的每一VOP的绝对时间设置一更为精细部分。
图28示出了在已引入的图26的GOV层的情况下time_code、modulo_time_base、和VOP_time_increment之间的关系。
在该图中,由I1、B2、B3、P4、B5和P6所构成的该GOV以从该开头开始的显示顺序被安置。
例如,现在假定该GOV的编码开始绝对时间是Oh:12m:35sec:350msec(0时12分35秒350毫秒),由于如上所述它的精度是在1秒范围内所以该GOV的time_code将被置为Oh:12m:35sec。(构成time_code的time_code_hours、time_code_minutes、和time_code_seconds将分别被置为0,12,和35。)另一方面,当在-VOP序列中的I1的绝对时间(在包含图28的GOV的-VS的编码之前(或译码之后)的-VOP序列的绝对时间)(因为这等效于当-VOP序列被显示时I1的显示时间,所以根据需要后面称之为显示时间)例如为Oh:12m:35sec:350msec的情况下,VOP_time_increment的语义被改变从而将比1秒精度更为精细的350mS设置为该I1的I-VOP的VOP_time_increment并且被编码(即,从而执行利用I1=350的VOP_time_increment的编码)。
也就是,在图28中,在显示顺序中-GOV的开头I-VOP(I1)的VOP_time_increment具有在该GOV的time_code和I-VOP的显示时间之间的一差值。因此,由time_code所表示的在1秒精度之内的时间是该GOV的第一同步点(这里,是表示在在1秒精度之内的时间的点)。
应注意的是,在图28中,对于是以秒或后面所安置的VOP的该GOV的B2、B3、P4、B5和P6的VOP_time_increment的语义与如图24中所示的已被改变的VM-6.0规定的语义是相同的。
因此,在图28中B2或B3的显示时间是当VOP_time_increment从最后显示的I-VOP或P-VOP的时间过去时的时间。在这种情况下,因为最后显示I1的显示时间是Oh:12m:35:350mS,所以B2或B3的显示时间是Oh:12m:35S:750mS或400mS或800mS之后的Oh:12m:36S:200mS。
接着,对于P4,在P4处由modulo_time_base所表明的同步点被转换。因此,该同步点的时间是自Oh:12m:35S起1秒之后的Oh:12m:36S。其结果,P4的显示时间是从Oh:12m:36S起550mS之后的Oh:12m:36S:550mS。
B5的显示时间是当VOP_time_increment从最后被显示的I-VOP或P-VOP起消逝过去的时间。在这种情况下,B5的显示时间是从最后显示的P4的显示时间Oh:12m:36S:550mS起400mS之后的Oh:12m:36S:950mS。
之后,对于P6,在P6处由modulo_time_base所表明的同步点被转换。因此,该同步点的时间是Oh:12m:35S+2sec,即Oh:12m:37S。其结果,P6的显示时间是从Oh:12m:37S起350mS之后的Oh:12m:37S:350mS。
图29示出了在在显示顺序中-GOV的开头VOP是一B-VOP的情况下time_code、modulo_time_base、和VOP_time_increment之间的关系。
在该图中,由B0、I1、B2、B3、P4、B5和P6所构成的GOV以从该开头开始的显示顺序被安置。也就是,在图29中该GOV由在图28中的I1之前增加的B0所构成。
在这种情况下,如果假定对于GOV的开头B0该VOP_time_increment是由该GOV的I/P-VOP的显示时间作为标准而确定的,即,例如,如果假定它是用I1的显示时间作为标准而确定的,则该值将是一页值,如上所述这是不利的。
因此,对于在该GOV中的I-VOP之前被显示的B-VOP(该B-VOP在首先被显示的GOV中的I-VOP之前被显示)该VOP_time_increment的语义如下所述被改变。
也就是,对于这种B-VOP该VOP_time_increment具有在GOV的time_code和B-VOP的显示时间之间的一差值。在这种情况下,如图29中所示,当B0的显示时间例如是Oh:12m:35S:200mS和当GOV的time_code例如是Oh:12m:35S时,对于B0该VOP_time_increment是350mS(=Oh:12m:35S:200mS-Oh:12m:35S)。如果以这种方式完成,VOP_time_increment将总是一正值。
利用上述在VOP_time_increment的语义中的的二种变化,-GOV的time_code和VOP的modulo_time_base及VOP_time_increment可以彼此相关。另外,利用它,可以规定每一VOP的绝对时间(显示时间)。
图30示出了在I-VOP的显示时间和从I-VOP预测的B-VOP的显示之间的间隔等于或大于1秒(确切地说为,1.023秒)的情况下-GOV的time_code和-VOP的modulo_time_base及VOP_time_base之间的关系。
在图30中,由I1、B2、B3、B4和P6所构成的该GOV以显示顺序所安置。B4是在从最后被显示的I1(I-VOP)的显示时间之后1秒的时间处被显示的。
在这种情况下,当B4的显示时间由上述的其语义已被改变的VOP_time_increment编码时,该VOP_time_increment如上所述是10位并且可仅表示直到1023的时间。为此原因,它不能表示大于1.023秒的时间。因而,该VOP_time_increment的语义进一步被改变并且modulo_time_base的语义也改变以便与这种情况相一致。
在本实施例中,例如,通过下面的第一种方法和第二种方法执行这种变化。
也就是,在第一种方法中,在一I/P-VOP的显示时间和从I/P-VOP预测的一B-VOP的显示时间之间的时间被检测为在1秒的精度之内。对于该时间,1秒的单位用modulo_time_base所表示,而1毫秒的单位用VOP_time_increment所表示。
图31示出了根据第一种方法在图30所示的情况下在modulo_time_base和VOP_time_increment已被编码的情况下对于-GOV的time_code和对于-VOP的modulo_time_base及VOP_time_increment之间的关系。
也就是,在第一种方法中,modulo_time_base的相加不仅对于I-VOP和P-VOP是允许的而且对于B-VOP也是允许的。该modulo_time_base被加到-B-VOP不表示同步点的转换而表示由最后显示的I/P-VOP的显示时间起所得到的一秒单位的进位。
另外,在该第一种方法中,由modulo_time_base加到B-VOP所指明的在从最后显示的I/P-VOP的显示时间所得到的一秒进位之后的时间被从B-VOP的显示时间中减去,并且将所产生的值设置为VOP_time_increment。
因此,根据第一种方法,在图30中,如果假定I1的显示时间是Oh:12m:35S:350mS和B4的显示时间是Oh:12m:36S:350mS,则I1和B4的显示时间之间的差是大于1秒的1200mS,因此该modulo_time_base(由在图31中的标记表示)指明如图31所示的把来自最后被显示的I1的显示时间的1秒单位的进位加到B4。更详细地说,加到B4的modulo_time_base是10表示1秒的进位,1秒是1200mS的1秒数位的值。对于B4该VOP_time_increment是200,200是由I1和B4之间的显示时间之间的差所得到的小于1秒的值(该值是从B4的显示时间中减去由B4的modulo_time_base所指明的最后显示的I/P-VOP的显示时间而得知1秒单位的进位之后的时间所得到的)。
上述根据第一种方法对于modulo_time_base和vop_time_increment的处理是在图11和12中所示的VLC单元36的编码器和在图17和18中所示的该IVLS单元102的译码器中被执行的。
因此,首先,对于由VLC单元36所执行的用于modulo_time_base和VOP_time_increment的处理将结合图32中的流程图来说明。
该VLC单元36将-VOP序列分成GOV并对每一GOV执行处理。应注意的是该GOV的结构使得包括至少有一个由内相关编码所编码的VOP。
如果-GOV被接收,该VLC单元36将接收时间设置为GOV的编码开始绝对时间并且GOV将被编码直到time_code的该编码开始绝对时间的秒精度(该编码开始绝对时间直到1秒的位被编码)。编码的time_code被包括在一编码位流中。每次接收构成GOV的-I/P-VOP,VLC单元36将I/P-VOP设置为一提示I/P-VOP,并根据图32的流程来计算该提示I/P-VOP的modulo_time_base和VOP_time_increment,并且执行编码。
也就是,在该VLC单元36中,首先,在步骤S1中,OB(这里B表示一二进制数)被设置到modulo_time_base并且0被设置到VOP_time_increment,从而使modulo_time_base和VOP_time_increment被复位。
在步骤S2中判断该提示I/P-VOP(attention I/P-VOP)是否被处理的GOV(后面称之为处理目标GOV)的第一I-VOP。在步骤S2中,在该提示VP-VOP判断为该处理目标GOV的第一I-VOP的情况下,步骤S2前进到步骤S4。在步骤S4中,计算该处理目标GOV的time code和提示I/P-VOP的秒精度之间的差(这里该第一I-VOP在处理目标GOV中),即,计算time_code和提示I/P-VOP的显示时间的该秒的数位之间的差并且设置为一变量D。然后步骤S4前进到步骤S5。
在步骤S2中,在判断该提示I/P-VOP不是处理目标GOV的第一I-VOP的情况下,步骤S2前进到步骤S3。在步骤S3中,计算该提示I/P-VOP的显示时间的该秒数位和最后显示的I/P-VOP的显示时间的该秒数位之间的差值(该最后显示的I/P-VOP是在构成处理目标GOV的VOP的提示I/P-VOP之前立即被显示的)并且将该差值设置为变量D。之后,步骤S3前进到步骤S5。
在步骤S5中,判断该变量D是否等于0。也就是,判断该time_code和提示I/P-VOP的显示时间的秒数位之间的差是否等于0,或者判断该提示I/P-VOP的显示时间的该秒数位和最后显示的显示时间的该秒数位之间的差值是否等于0。在步骤S5中,当判断该变量D不等于0的情况下,即,在该变量D等于或大于1的情况下,步骤S5前进到步骤S6,在步骤S6中,1作为modulo_time_base的最高有效位(MSB)而被加入。也就是,在这种情况下,当modulo_time_base例如是在复位之后立即为0B时,它被设置为10B。并且,当modulo_time_base是例如10B时,它被设置为110B。
步骤S6前进到步骤S7,在步骤S7中,变量D被递减1。然后,步骤S7返回到步骤S5。之后,步骤S5到S7被重复执行直至在步骤S5中判断变量D等于0。也就是,在该modulo_time_base中连续1的数是与相应于该time_code和提示I/P-VOP的显示时间的该秒数位之间的差或在提示I/P-VOP的显示时间的该秒数位和最后显示的I/P-VOP的显示时间的该秒数位之间的差值的秒数相同。在其最低有效位该modulo_time_base具有0。
在步骤S5,当判断变量D等于0的情况下,步骤S5前进到步骤S8,在步骤S8中将比提示I/P-VOP的显示时间的1秒精度更为精确的时间,即,毫秒单位的时间设置到VOP_time_increment,并且该处理结束。
在该VLC单元36中,将以上述方式所计算的提示I/P-VOP的modulo_time_base和VOP_time_increment加到该提示I/P-VOP。因此,它被包含在一编码位流中。
应注意的是,在VLC单元36中利用可变字长编码对modulo_time_base、VOP_time_increment、和time_code编码。
每一次接收一构成处理目标GOV的B-VOP,VLC单元36将B-VOP设置到一提示B-VOP,根据图33的流程计算该提示B-VOP的modulo_time_base和VOP_time_increment,并执行编码。
也就是,在VLC单元36中,在步骤S11,如同在图32的步骤S1的情况一样,modulo_time_base和VOP_time_increment被首先复位。
步骤S11前进到步骤S12,在步骤S12中判断该提示B-VOP是否在该处理目标GOV的第一I-VOP之前被显示。在步骤S12中,当判断提示B-VOP是在处理目标GOV的第一I-VOP之前被显示的情况下,步骤S12前进到步骤S13。在步骤S13中,计算在处理目标GOV的time_code和提示B-VOP的显示时间之间的差(这里,B-VOP在处理目标GOV的第一I-VOP之前被显示)并且设置一变量D。之后,步骤S13前进到步骤S15。因此,在图33中,将一毫秒精度之内的时间(直至1毫秒数位的时间)设置到该变量D(另一方面,如上所述,1秒精度之内的时间设置到在图32中的变量)。
在步骤S12中,当判断该提示B-VOP是处理目标GOV的第一I-VOP之后被显示的,步骤S12前进到步骤S14。在步骤S14,计算在提示B-VOP的显示时间和最后所显示的I/P-VOP(在构成该处理目标GOV的该VOP的提示B-VOP之前被立即显示的)的显示时间之间的差值并且该差值被设置为变量D。之后,步骤S13前进到步骤S15。
在步骤S15,判断变量D是否大于1。也就是,判断在time_code和提示B-VOP的显示时间之间的差值是否大于1,或者判断在提示B-VOP的显示时间和最后显示的I/P-VOP的显示时间之间的差值是否大于1。在步骤S15中,当判断变量D是大于1的情况下,步骤S15前进到步骤S16,在S16中将其加1作为modulo_time_base的最高有效位(MSB)。在步骤S17中变量D被递减1。然后,步骤S17返回到步骤S15。直至在步骤S15中它被判断为变量D不大于1为止。步骤S15至S17被重复执行。即,为此,在modulo_time_base中连续1的数是与相应于在time_code和提示B-VOP的显示时间之间的差或者在提示B-VOP的显示时间和最后显示的I/P-VOP的显示时间之间的差值的秒数是相同的。在其最低有效数位(LSD)处modulo_time_base具有0。
在步骤S15中,当判断为变量D不大于1的情况下,步骤S15前进到步骤S18,在步骤S18中当前变量D的值,即,在time_code和提示B-VOP的显示时间之间的差值,或在提示B-VOP的显示时间和最后显示的I/P-VOP的显示时间之间的差的秒数位的正确的毫秒数位被设置到VOP_time_increment,并且处理结束。
在VLC电路36中,以上述方式所计算的提示B-VOP的modulo_time_base和VOP_time_increment被加到提示B-VOP。为此,它被包含在一编码位流中。
接着,每次接收用于每一VOP的编码的数据,该IVLC单元102处理该VOP为一提示VOP。利用这种处理,IVLC单元102识别包含在编码位流中的VOP的显示时间该VLC单元36通过将一VOP序列分成GOV而输出一编码位流中的-VOP的显示时间并且还以上述方式来处理每一GOV。随后,该IVLC单元102执行可变字长编码从而在被识别的显示时间上显示该VOP。也就是,如果-GOV被接收,IVLC单元102将识别该GOV的time_code。每次接收构成该GOV的-I/P-VOP,该IVLC单元102将I/P-VOP设置到一提示I/P-VOP并且根据图34的流程图基于提示I/P-VOP的modulo_time_base和VOP_time_increment计算该提示I/P-VOP的显示时间。
也就是,在IVLC单元102中,首先,在步骤S21中判断该提示I/P-VOP是否处理目标GOV的第一I-VOP。在步骤S21中,当在提示I/P-VOP被判断为是处理目标GOV的第一I-VOP的情况下,步骤S21前进到步骤S23。在步骤S23中,处理目标GOV的time_code被设置为变量T,并且步骤S23前进到步骤S24。
在步骤S21中,当判断该提示I/P-VOP不是处理目标GOV的第一I-VOP的情况下,步骤S21前进到步骤S22。在步骤S22中,最后显示的I/P-VOP(是构成处理目标GOV的VOP中的一个)的显示时间的秒数位的值被设置为变量T,最后显示的I/P-VOP是在该提示I/P-VOP之前立即被显示的。然后步骤S22前进到步骤S24。
在步骤S24中,判断加到提示I/P-VOP的modulo_time_base是否等于0B。在步骤S24中,当判断加到该提示I/P-VOP的modulo_time_base为不等于0B的情况下,即,当加到提示I/P-VOP的modulo_time_base包括了1的情况下,步骤S24前进到步骤S25,在步骤S25中删除在modulo_time_base的MSB中的1。步骤S25前进到步骤S26,在S26中将该变量递增1。然后步骤S26返回到步骤S24。之后,重复步骤S24到S26直至在步骤S24判断出加到提示I/P-VOP的modulo_time_base是等于0B为止。为此,该变量T通过秒数而递增该秒数相应于加到提示I/P-VOP的第一modulo_timebase中的1的数量。
在步骤S24中,当加到提示VP-VOP的modulo_time_base等于0B的情况下,步骤S24前进到步骤S27,在步骤S27中,由VOP_time_increment所指明的在1毫秒精度之内的时间被加到变量T。该所加的值被识别为该提示I/P-VOP的显示时间,并且该处理结束。
接着,当接收构成处理目标GOV的B-VOP时,该IVLC单元102将B-VOP设置为一提示B-VOP并根据图35的流程图基于提示B-VOP的modulo_time_base和VOP_time_increment计算该提示B-VOP的显示时间。
也就是,在IVLC单元102中,首先,在步骤S31中判断该提示B-VOP是否在处理目标GOV的第一I-VOP之前被显示的在步骤S31中当判断该提示B-VOP是在处理目标GOV的第一I-VOP之前被显示的,步骤S31前进到步骤S33。之后,在步骤S33至S37中,如在图34的步骤S23至S27中的情况一样,执行一类似的处理,因而计算出提示B-VOP的显示时间。
另一方面,在步骤S31中,当判断出提示B-VOP是在处理目标GOV的第一I-VOP之后被显示的,步骤S31前进到步骤S32。因此,在步骤S32和S34至S37中,如像图34中的步骤S22和S24至S27中的情况一样,执行类似的计算,因而计算该提示B-VOP的显示时间。
接着在第二种方法中,计算在I-VOP的显示时间和从I-VOP所预测的B-VOP的显示时间之间的时间直至秒数位。该值由modulo_time_base表示并且由VOP_time_increment表示B-VOP的显示时间的毫秒精度。也就是,如上所述该VM-6.0,对于B-VOP到I-VOP或到P-VOP的暂时距离被设置为VOP_time_increment,从而在执行B-VOP的预测编码中用作一参考图像的有关I-VOP或P-VOP的加权(weight)根据越过B-VOP所安置的到I-VOP或P-VOP的暂时距离从B-VOP中来确定。为此原因,用于I-VOP或P-VOP的VOP_time_increment不同于由最后编码/译码的modulo_time_base所标注的该同步点的时间。但是,如果-B-VOP和越过该B-VOP被安置的I-VOP或P-VOP的显示时间被计算时,则它们之间的暂时距离可通过它们之间的差来计算。因此,几乎没有必要割开对I-VOP和P-VOP的VOP_time_increment的处理而仅对B-VOP的VOP_time_increment的处理。相反,为了有效地处理起见最好是以相同的方式对I-、B-、和P-VOP的所有VOP_time_increment(详细时间信息),此外还对modulo_time_bases(秒精度时间信息)进行处理。
因此,在第二种方法中,对于B-VOP的modulo_time_base和VOP_time_increment是与对I/P-VOP的modulo_time_base和VOP_time_increment相同的方式来处理的。
图36示出了根据第二种方法在modulo_time_base和VOP_time_increment已被编码的情况下,例如在图30所示的情况下用于GOV的该time_code和modulo_time_base及VOP_time_increment之间的关系。
也就是,即使在第二种方法中,modulo_time_base的加法不仅允许用于I-VOP和B-VOP还允许用于B-VOP。并且加到B-VOP的modulo_time_base,与加到I/P-VOP的modulo_time_base一样,表示同步点的转换。
另外,在第二种方法中,从B-VOP的显示时间中减去由modulo_time_base加到B-VOP所标注的同步点的时间,并将所得结果值作为该VOP_time_increment而设置。因此,根据第二种方法,在图30中,在GOV的第一同步点(是由GOV的time_code所表示的时间)和由time_code+1秒所标注的同步点之间所显示的用于I1和B2的modulo_time_base均为B0。并且低于I1和B2的显示时间的秒单位的毫秒单位值分别被设置于用于I1和B2的VOP_time_increment。在由time_code+1秒所标注的同步点和由time_code+2秒所标注的同步点之间所显示的用于B3和B4的modulo_time_base均为10B。并且低于B3和B4的显示时间的秒单位的毫秒单位值分别被设置为用于B3和B4的VOP_time_increment。另外,在由time_code+2秒所标注的同步点和由time_code+3秒所标注的同步点之间所显示的用于P5的modulo_time_base是110B。并且低于P5的显示时间的秒单位的毫秒单位值被设置为用于P5的VOP_timt_increment。
例如,在图30中,如果假定I1的显示时间是Oh:12m:35S:350mS和B4的显示时间是Oh:12m:36S:550mS,则如上所述那样,用于I1和B4的modulo_time_bases分别为0B和10B。用于I1和B4的VOP_time_increment分别为350mS和550mS(其是该显示时间的毫秒单位)。
如同在第一种方法中的情况一样,根据第二种方法用于modulo_time_base和VOP_time increment的上述处理是通过图11和12中所示的VLC单元36以及图17和18中所示的IVLC单元102来执行的。
也就是,VLC单元36以与图32中的情况相同的方式来计算用于I/P-VOP的modulo_time_Base和VOP_time_increment。
对于B-VOP,每次接收构成GOV的B-VOP,该VLC单元36将B-VOP设置为提示B-VOP并且根据图37的流程图计算modulo_time_base和VOP_time_increment。
也就是,在该VLC单元36中,首先,在步骤S41中modulo_time_base和VOP_time_increment以与图32中的步骤S1的情况中相同的方法被复位。
并且步骤S41前进到步骤S42,在步骤S42中判断提示B-VOP是否在被处理的GOV(一处理目标GOV)的第一I-VOP之前被显示的。在步骤S42中,当判断该提示B-VOP是在处理目标GOV的第一I-VOP之前被显示的,步骤S42前进到步骤S44。在步骤S44中,计算处理目标GOV的time_code和提示B-VOP的秒精度之间的差,即,计算time_code和提示B-VOP的显示时间的秒数位之间的差并且设置变量D。然后,步骤S44前进到步骤S45。
在步骤S42中,当判断出该提示B-VOP是在处理目标GOV的第一I-VOP之后被显示的,步骤S42前进到步骤S43。在步骤S43中,计算在提示B-VOP显示时间的秒数位和最后显示的I/P-VOP(是在提示B-VOP之前立即被显示的构成处理目标GOV的多个VOP中的一个)的显示时间的秒数位之间的差值并且将该差值设置为变量D。然后,步骤S43前进到步骤S45。
在步骤S45中,判断该变量D是否等于0。也就是,判断在time_code和提示B-VOP的显示时间的秒数位之间的差是否等于0,或者判断在提示B-VOP的显示时间的秒数位和最后显示的I/P-VOP的显示时间的秒数位之间的差值是否等于0秒。在步骤S45中,当判断出该变量D不等于0的情况下,即,在该变量D等于或大于1的情况下,步骤S45前进到步骤S46,在步骤S46中将其加1作为modulo_time_base的MSB。
步骤S46前进到步骤S47,在步骤S47中变量D被递增1。然后,步骤S47返回到步骤S45。之后,步骤S45到步骤S47被反复执行直至在步骤S45判断该变量等于0为止。也就是,为此,在该modulo_time_base中连续为1的数是与相应于在time_code和提示B-VOP的显示时间的秒数位之间的差或与相应于在提示B-VOP的显示时间的秒数位和最后显示的I/P-VOP的显示时间的秒数位之间的差值的秒数相同的。并且在其LSD中modulo_time_base具有0。
在步骤S45中,当判断该变量D等于0的情况下,步骤S45前进到步骤S48,在步骤S48中比该提示B-VOP的显示时间的秒精度更精细的时间即,1毫秒单位时间被设置于VOP_time_increment中,并且该处理结束。
另一方面,根据modulo_time_base和VOP_time_increment,对于I/P-VOP该IVLC单元102以与在图34中的上述情况中相同的方式计算I/P-VOP的显示时间。
另外,对于B-VOP,每次接收构成GOV的B-VOP,IVLC单元102将B-VOP设置到提示B-VOP中并且根据图38的流程图基于该提示B-VOP的modulo_time_base和VOP_time_increment计算该提示B-VOP的显示时间。
也就是,在该IVLC单元102中,首先,在步骤S51中判断提示B-VOP是否是在处理目标GOV的第一I-VOP之前被显示的。在步骤51中,当判断出该提示B-VOP是在处理目标GOV的第一I-VOP之前被显示的,步骤S51前进到步骤S52。在步骤S52中该处理目标GOV的time_code被设置为一变量T,并且步骤S52前进到步骤S54。
在步骤S51中,当判断出该提示B-VOP是在处理目标GOV的第一I-VOP之后被显示的,步骤S51前进到步骤S53。在步骤S53中,一直至最后显示的I/P-VOP(其是在提示B-VOP之前立即被显示的构成处理目标GOV的多个Gop中的一个)的显示时间的秒数位的值被设置为变量T。之后,步骤S53前进到步骤S54。
在步骤S54中,判断加到提示B-VOP的该modulo_time_base是否等于0B。在步骤S54中,当判断加到该提示B-VOP中的modulo_time_base不等于0B的情况下,即,当判断加到该提示B-VOP的modulo_time_base包括1的情况下,步骤S54前进到步骤S55,在步骤S55中删除在modulo_time_base的MSB中的1。步骤S55前进到步骤S56,在步骤S56中,变量T被递增1。然后,步骤S56返回到步骤S54。因此,步骤S54到步骤S56被反复执行,直至在步骤S54中它被判断为加到提示B-VOP的modulo_time_base等于0B为止。为此,变量T由相应于加到提示B-VOP的第一modulo_time_base中的1的数目的秒数而递增。
并且在步骤S54中,当加到提示B-VOP的modulo_time_base等于0B的情况下,步骤S54前进到步骤S57,在步骤S57中由VOP_time_increment所指明的在一毫秒精度之内的时间被加到变量T中。该相加后的值被识别为提示B-VOP的显示时间,并且该处理结束。
因此,在本发明的该实施例中,用于编码该编码开始绝对时间的GOV层被引入到一编码位流的分层结构(hierarchical constitution)中。这个GOV层可被插入在编码位流的一合适的位置以及插入在编码位流的开头。另外,在该VM-6.0中规定的modole_time_base和VOP_time_increment的定义如上所述已经产生变化。因此,它能够在所有的情况下来计算每一VOP的显示时间(绝对时间)而不管VOP的图像类型和相邻VOP之间的时间间隔的设置。
因此,在该编码器中,编码开始绝对时间以-GOV单元被编码并且每一VOP的modulo_time_base和VOP_time_increment被编码。该编码数据被包括在一编码位流中。为此,在该译码器中,编码开始绝对时间按照-GOV单元能够译码并且每一VOP的modulo_time_base和VOP_time_increment可被译码。并且每一VOP的显示时间可被译码,于是能够按照GOV单元执行有效地随机存取。
应注意的是如果被加到modulo_time_base的1的数目仅仅作为被转换的同步点而增加时,则它将达到很多的位数。例如,如果从由time_code所标注的时间开始经过了1小时(3600秒)(在这种情况下-GOV是由等效于这个时间的VOP所构成的),因为它是由3600位的1和1位的0所构成,所以modulo_time_base将达到3601位。
因此,在MPEG-4中规定了modulo_time_base使得在已经转换的同步点之后首先被显示的I/P-VOP处复位。
因而,例如在图39中所示,当-GOV是由在GOV的第一同步点(其是由GOV的time_code所表示的时间)和由time_code+1秒所标注的同步点之间所显示的I1和B2、由time_code+1秒所标注的同步点和由time_code+2秒所标注的同步点之间所显示的的B3和B4、由time_code+2秒所标注的同步点和由time_code+3秒所标注的同步点之间所显示的P5和B6、由time_code+3秒所标注的同步点和由time_code+4秒所标注的同步点之间所显示的B7、和由time_code+4秒所标注的同步点和由time_code+5秒所标注的同步点之间所显示的B8所构成的情况下,在GOV的第一同步点和由time_code+1秒所标注的同步点之间所显示的用于I1和B2的modulo_time_bases被设置为0B。
另外,在由time_code+1秒所标注的同步点和由time_code+2秒所标注的同步点之间所显示的用于B3和B4的modulo_time_bases被设置为10B。另外,在由time_code+2秒所标注的同步点和由time_code+3秒所标注的同步点之间所显示的用于P5的modulo_time_base被设置为110B。
因为P5是一在GOV的第一同步点转换至由time_code+1秒所标注的同步点之后首先显示的P-VOP,所以用于P5的modulo_time_base被设置为0B。对于在B5之后所显示的B6的modulo_time_base已设置在假定一参考同步点用于计算P5的显示时间,即,由time_code+2秒所标注的同步点,在这种情况下是GOV的第一同步点。因此,用于B6的modulo_time_base被设置为0B。
对于在由time_code+3秒所标注的同步点和由time_code+4秒所标注的同步点之间所显示的用于B7的modulo_time_base被设置为10B。对于在由time_code+4秒所标注的同步点和由time_code+5秒所标注的同步点之间所显示的用于B8的modulo_time_base被设置为110B。
该编码器(VLC单元36)中的处理由图32、33和37中所描述的流程来执行从而以上述方式来设置modulo_time_base。
在这种情况下,当在同步点转换之后第一I/P-VOP被检测时,在该译码器(IVLC单元102)中有必要将由用于I/P-VOP的modulo_time_base所表明的秒数加到time_code并且计算该显示时间。例如,在图39所示的情况下,I1到P5的显示时间可通过将相应于每一VOP的modulo_time_base和该VOP_time_increment的二个秒数加到time_code而计算。但是,计算在同步点的转换之后被首先显示的P5之后显示的B6至B8的显示时间需要通过将相应于对每一VOP的modulo_time_base和VOP_time_increment的秒数加到time_code,并且此外还要加上相应于对P5的modulo_time_base的2秒。为此原因,执行图34、35、和38所示的处理以便以前述方式计算显示时间。
另外,上述编码器和译码器还可通过专用硬件或通过使得一计算机为执行上述处理所执行的程序而实现。
图40示出了具有如图3所示的编码器或如图15所示的译码器的功能的一计算机的一实施例的结构例子。
只读存储器(ROM)201存储有一引导程序等。中央处理单元202通过执行存储在一随机存取存储器(RAM)203中的一硬盘(HD)206中的一程序而进行各种处理。RAM 203暂时存储由CPU 202所执行的程序或CPU 202处理所需要的数据。输入部分204由一键盘或一鼠标构成。当所需的指令或数据被输入时操作该输入部分204。输出部分205例如由一显示器构成并且根据CPU 202的控制显示数据。HD 206存储由CPU202所执行的程序、被编码的图像数据、编码数据(编码位流)、译码图像数据等。通信接口(I/F)207通过控制其和外部设备之间的通信而接收来自外部设备的一编码目标的图像数据或向外部设备发送一编码位流。另外,通信I/F207接收来自一外部单元的编码位流或向外部单元发送译码的图像数据。
通过这种结构的计算机的CPU 202执行一实施上述处理的程序,这种计算机运行作为如同图3的编码器或图15的译码器。
在本发明的实施例中,虽然VOP_time_increment表示以毫秒为单位的VOP的显示时间,但是该VOP_time_increment还可表示如下所述的情况。也就是,在一同步点和下一同步点之间的时间被分成N点,VOP_time_increment可被设置成表示被分成相应于-VOP的显示时间的点的第n个位置的值。在该VOP_time_increment是这样被规定的情况下,如果N=1000,则它表示以毫秒为单位的-VOP的显示时间。在这种情况下,虽然需要在两相邻同步点之间被分割的点数的信息,但被分割的点数可被预定或者包括在比VOP层要高的层中的被分割点数可被传送到一译码器中。
根据本发明的图像编码器和图像编码方法,构成一图像的每一目标序列的一层或多层被分割成多个组,并且这些组被编码。因此,它可按组为单位对该编码结果进行随机存取。
根据本发明的图像译码器和图像译码方法,可对通过将构成该图像的每一目标序列的一层或多层分割成多个组并且还通过编码这些组所得到的一编码位流进行译码。因此,它可按组为单位对该编码位流进行随机存取并且对该位流译码。
根据本发明的分配媒体,可对通过将构成该图像的每一目标序列的一层或多层分割成多个组并且还通过编码这些组所得到的一编码位流进行分配。因此,它可按组为单位对该编码位流进行随机存取。
根据本发明的图像编码器和图像编码方法,产生表明在秒精度之内的时间的秒精度时间信息和产生表明立即在I-VOP、P-VOP、或B-VOP的显示时间之前的秒精度时间信息和比秒精度更精细的显示时间之间的一时间周期的详细时间信息。因此,它能够依据秒精度时间信息和详细时间信息识别I-VOP、P-VOP、或B-VOP的显示时间并且根据该识别结果执行随机存取。
本发明的图像译码器和图像译码方法,依据该秒精度时间信息和详细时间信息计算I-VOP、P-VOP、或B-VOP的显示时间。因此,它能够根据显示时间执行随机存取。
根据本发明的分配媒体,分配一编码位流,该编码位流通过产生指明时间是在秒精度之内的秒精度时间信息,还通过产生指明在I-VOP、P-VOP、或B-VOP的显示时间之前的秒精度时间信息和比秒精度更精细的显示时间之间的时间周期的详细时间信息、和此外通过将秒精度时间信息和详细时间信息加到相应的I-VOP、P-VOP、或B-VOP作为表明所示I-VOP、P-VOP、或B-VOP的显示时间而得到。因此,它能够根据秒精度时间信息和详细时间信息识别I-VOP、P-VOP、或B-VOP的显示时间并且根据该识别结果来执行随机存取。
本发明可用于图像信息记录-再生单元中,在该单元中动态图像数据被记录在诸如磁光盘、磁带之类的存储介质中,并且该被记录数据被再生并在一显示器中被显示出来。本发明还可用于电视会议系统、电视电话系统、广播设备、和多媒体数据库检索系统中,其中动态图像数据通过一传送通道从一发送侧传送到一接收侧,并且在接收侧所接收的动态数据被显示或被编辑和记录。
权利要求
1.一种用来编码图像并且输出产生的编码位流的图像编码器,该图像编码器包括接收装置,用来接收所述图像;和编码装置,用来将构成所述图像的每一目标序列的一层或多层分割成多个组并且编码这些组。
2.如权利要求1的图像编码器,其中,当所述目标是内相关编码(intraencoded)或相互间相关编码(inter encoded)时,所述编码装置将所述目标的一个序列分割成组,该组包括至少有一个是内相关编码的目标。
3.如权利要求1的图像编码器,其中,所述编码装置包括在所述目标组中的编码开始秒精度绝对时间是在编码被开始的所述图像序列中的一绝对时间并且是在1秒精度之内的时间。
4.如权利要求1的图像编码器,其中,当假定由内相关编码所编码的一目标是一内相关视频目标平面(I-VOP),由或内相关编码或正向预测编码所编码的一目标是一预测-VOP(P-VOP),和由或内相关编码、正向预测编码、反向预测编码、或双向预测编码所编码的一目标是一双向预测-VOP(B-VOP)时,所述编码器进一步包括秒精度时间信息产生装置,用来根据所述编码开始秒精度绝对时间产生指明在1秒精度之内的时间的秒精度时间信息;详细时间信息产生装置,用来产生详细时间信息该详细时间信息指明一个在包含在所述目标组中的I-VOP、P-VOP、或B-VOP的立即显示时间之前的所述秒精度时间信息和比秒精度更精细的精度内的显示时间之间的时间周期;和相加装置,用来将所述秒精度时间信息和详细时间信息加到相应的I-VOP、P-VOP或B-VOP作为表明所述I-VOP、P-VOP、或B-VOP的显示时间的信息。
5.如权利要求4的图像编码器,其中,所述秒精度时间信息产生装置产生一个在编码开始秒精度绝对时间和表示在1秒精度内的所述预定目标的显示时间之间的时间,或一个在所述预定目标之前立即被显示的I-VOP或P-VOP的显示时间和表示在1秒精度之内的所述预定目标的显示时间之间的时间作为用于一预定目标的秒精度时间信息。
6.一种用来编码图像并且用来输出产生的编码位流的图像编码方法,该图像编码方法包括接收步骤,用来接收所述图像;和编码步骤,用来将构成所述图像的每一目标序列的一层或多层分割成多个组并且编码所述组。
7.如权利要求6的图像编码方法,其中,当所述目标序列是内相关编码(intra encoded)或相互间相关编码(inter encoded)时,在所述编码步骤将所述目标的一个序列分割成组该组包括至少有一个是内相关编码的目标。
8.如权利要求6的图像编码方法,其中,在所述编码步骤中包括在所述目标组中的编码开始秒精度绝对时间是编码在该时间被开始的所述图像序列中的一绝对时间并且是在1秒精度之内的时间。
9.如权利要求8的图像编码方法,其中,当假定由内相关编码所编码的一目标是一内相关视频目标平面(I-VOP),由或内相关编码或正向预测编码所编码的一目标是一预测-VOP(P-VOP),和由或内相关编码、正向预测编码、反向预测编码、或双向预测-VOP所编码的一目标是一双向预测一VOP(B-VOP)时,所述图像编码方法进一步包括秒精度时间信息产生步骤,根据所述编码开始秒精度绝对时间产生指明在1秒精度之内的时间的秒精度时间信息;详细时间信息产生步骤,产生详细时间信息该详细时间信息指明一个在包括在目标组中的I-VOP、P-VOP或B-VOP的立即显示时间之前的秒精度时间信息和比秒精度更精细精度内的显示时间之间的时间周期;和相加步骤,将秒精度时间信息和详细时间信息加到相应的I-VOP、P-VOP、或B-VOP作为表示所述I-VOP、P-VOP或B-VOP的显示时间的信息。
10.如权利要求9的图像编码方法,其中,所述秒精度时间信息产生步骤产生一个在所述编码开始秒精度绝对时间和表示在1秒精度内的预定目标的显示时间之间的时间,或一个在所述预定目标之前立即被显示的I-VOP或P-VOP的显示时间和表示在1秒精度之内的预定目标的显示时间之间的时间作为用于一预定目标的秒精度时间信息。
11.一种用来译码图像的图像译码器,包括接收装置,用来接收编码位流该编码位流通过将构成所述图像的每一目标序列的一层或多层分割为多个组并编码这些组而得到;和译码装置,用来译码所述编码位流。
12.如权利要求11的图像译码器,其中,当所述目标是内相关编码(intraencoded)或相互间相关编码(inter encoded)时,所述目标的一个序列被分割成组该组包括至少有一是内相关编码的目标。
13.如权利要求11的图像译码器,其中,所述目标组包括的编码开始秒精度绝对时间是在该时间开始编码的所述图像序列中的一绝对时间并且是在1秒精度之内的时间;并且进一步包括显示时间计算装置,用来根据所述编码开始秒精度绝对时间计算在所述目标组中包括的所述目标的显示时间。
14.如权利要求13的图像译码器,其中,当假定由内相关编码所编码的目标是一内相关视频目标平面(I-VOP),由或内相关编码或正向预测编码所编码的目标是一预测-VOP(P-VOP),和由或内相关编码、正向预测编码、反向预测编码、或双向预测-VOP所编码的目标是一双向预测-VOP(B-VOP)时,用来把所述编码开始秒精度绝对时间作为标准表明一个在1秒精度以内的时间的秒精度时间信息,和把表明一个在包括在所述目标组中的I-VOP、P-VOP、或B-VOP的立即显示时间之前的所述秒精度时间和比1秒精度更精细的精度之内的显示时间之间的一时间周期的详细时间信息相加到相应的I-VOP、P-VOP或B-VOP作为表明所述显示时间的信息,和所述显示时间计算装置,根据所述编码开始秒精度绝对时间、所述秒精度时间信息、和所述详细时间信息来计算所述I-VOP、P-VOP、或B-VOP的显示时间。
15.如权利要求14的图像译码器,其中,使用在所述编码开始秒精度绝对时间和被表示在1秒精度之内的预定目标的显示时间之间的时间,或在所述预定目标之前立即被显示的I-VOP或P-VOP的显示时间和被表示在1秒精度之内的预定目标的显示时间之间的时间,作为对于一预定的目标的秒精度时间信息。
16.一种译码图像的图像译码方法,包括接收步骤,接收一编码位流该编码位流通过将构成所述图像的每一目标序列的一层或多层分割为多个组并编码这些组而得到;和译码步骤,用来译码所述编码位流。
17.如权利要求16的图像译码方法,其中,当所述目标是内相关编码(intra-encoded)或相互间相关编码(inter encoded)时,所述目标的一个序列被分割成组该组中包括至少有是内相关编码的目标。
18.如权利要求16的图像译码方法,其中,所述目标组包括编码开始秒精度绝对时间它是在该时间开始编码的所述图像序列中的绝对时间并且是在1秒精度之内的时间;并且其进一步包括显示时间计算步骤,根据所述编码开始秒精度绝对时间计算所述目标组中包括的所述目标的显示时间。
19.如权利要求18的图像译码方法,其中,当假定一个由内相关编码所编码的目标是一内相关视频目标平面(I-VOP)、由或内相关编码或正向预测编码所编码的目标是一预测-VOP(P-VOP),和由或内相关编码、正向预测编码、反向预测编码、或双向预测-VOP所编码的目标是双向预测-VOP(B-VOP)时,用来把所述编码开始秒精度绝对时间作为标准表明一个在1秒精度之内的时间的秒精度时间信息,和把表明一个在所述目标组中包括的I-VOP、P-VOP、或B-VOP的立即显示时间之前的秒精度时间和比1秒精度更精细的精度之内的显示时间之间的时间周期的详细时间信息相加到相应的I-VOP、P-VOP、或B-VOP作为表明所述显示时间的信息;和所述显示时间计算步骤,根据所述编码开始秒精度绝对时间、所述秒精度时间信息、和所述详细时间信息来计算所述I-VOP、P-VOP、或B-VOP的显示时间。
20.如权利要求19的图像译码方法,其中,使用在所述编码开始秒精度绝对时间和被表示在1秒精度之内的所述预定目标的显示时间之间的时间,或在所述预定目标之前立即被显示的I-VOP或P-VOP的显示时间和被表示在1秒精度之内的预定目标的显示时间之间的时间,作为对于一预定目标的秒精度时间信息。
21.在用来分配通过编码图像所得到的编码位流的分配媒体中,该分配媒体包括接收所述图像;和分配所述编码位流,该编码位流通过将构成所述图像的每一目标序列的一层或多层分割成多个组并且编码所述组而得到。
22.如权利要求21的分配媒体,其中,当所述目标是内相关编码(intraencoded)或相互间相关编码(inter encoded)时,所述目标序列被分割成组该组包括至少有一个是内相关编码的目标。
23.如权利要求21的分配媒体,其中,所述目标组包括的编码开始秒精度绝对时间是在该时间编码开始的所述图像序列中的一绝对时间并且是在1秒精度之内的时间。
24.如权利要求23的分配媒体,其中,当假定由内相关编码的目标是一内相关视频目标平面(I-VOP),由或内相关编码或正向预测编码所编码的目标是一预测-VOP(P-VOP)和由或内相关编码、正向预测编码、反向预测编码、或双向预测-VOP所编码的目标是一双向预测-VOP(B-VOP)时,用来把所述编码开始秒精度绝对时间作为标准表明在1秒精度之内的时间的秒精度时间信息,和把表明一个在所述目标组中包括的I-VOP、P-VOP、或B-VOP的立即显示时间之前的所述秒精度时间信息和比1秒精度更精细的精度之内的显示时间之间的时间周期的详细时间信息相加到相应的I-VOP、P-VOP、或B-VOP作为表明所述显示时间的信息。
25.如权利要求24的分配媒体,其中,使用一个在所述编码开始秒精度绝对时间和被表示在1秒精度之内的预定目标的显示时间之间的时间,或使用一个在所述预定目标之前立即被显示的I-VOP或P-VOP的显示时间和被表示在1秒精度之内的所述预定目标的显示时间之间的时间,作为对于一预定的目标的秒精度时间信息。
26.在一种用来编码构成该图像的每一目标的图像并用来输出产生的编码位流的图像编码器中,当假定由内相关编码所编码的一目标是一内相关视频目标平面(I-VOP)、由或内相关编码或正向预测编码的目标是一预测-VOP(P-VOP)、和由或内相关编码、正向预测编码、反向预测编码、或双向预测-VOP所编码的目标是一双向-VOP(B-VOP)时,该图像编码器包括秒精度时间信息产生装置,用来产生表明在1秒精度之内的时间的秒精度时间信息;详细时间信息产生装置,用来产生表明在所述I-VOP、P-VOP、或B-VOP的立即显示时间之前的所述秒精度时间信息和比1秒精度更精细的精度之内的显示时间之间的一时间周期的详细时间信息;和相加装置,用来将所述秒精度时间信息和详细时间信息相加到相应的I-VOP、P-VOP、或B-VOP作为表示所述I-VOP、P-VOP、和B-VOP的显示时间的信息。
27.如权利要求26的图像编码器,其中,当所述目标被分割成一个或多个组并且被编码时,所述详细时间信息产生装置产生在1秒精度之内的时间作为所述秒精度时间信息,该1秒精度之内的时间是在该时间开始对该组的目标进行编码时刻在所述图像序列中的绝对时间并且还是基于所述编码开始秒精度绝对时间。
28.如权利要求27的图像编码器,其中,作为对于一预定目标的秒精度时间信息,所述秒精度时间信息产生装置产生一个在所述编码开始秒精度绝对时间和表示在1秒精度之内的所述预定目标的显示时间之间的时间,或一个在所述预定目标之前立即被显示的I-VOP或P-VOP的显示时间和表示在1秒精度之内的所述预定目标的显示时间之间的时间。
29.在一种用来对构成该图像的每一目标的图像进行编码并输出该产生的编码位流的图像编码方法中,当假定由内相关编码所编码的一目标是一内相关视频目标平面(I-VOP)、由或内相关编码或正向预测编码所编码的目标是一预测-VOP(P-VOP)、和由或内相关编码、正向预测编码、反向预测编码、或双向预测-VOP所编码的目标是一双向预测-VOP(B-VOP)时,该图像编码方法包括秒精度时间信息产生步骤,用来产生表明在1秒精度之内的时间的秒精度时间信息;详细时间信息产生步骤,用来产生表明在所述I-VOP、P-VOP、或B-VOP的立即显示时间之前的所述秒精度信息和比1秒精度更精细的精度之内的显示时间之间的一时间周期的详细时间信息;和相加步骤,用来将所述秒精度时间信息和详细时间信息相加到相应的I-VOP、P-VOP、或B-VOP作为表示所述I-VOP、P-VOP、和B-VOP的显示时间信息。
30.如权利要求29的图像编码方法,其中,当所述目标序列被分割成一个或多个组并且被编码时,所述秒精度时间信息产生步骤产生在1秒精度之内的时间作为所述秒精度时间信息,该1秒精度之内的时间是在该时间开始对该组的目标进行编码时刻在所述图像序列中的绝对时间并且还是基于所述编码开始秒精度绝对时间。
31.如权利要求30的图像编码方法,其中,作为对于一预定目标的秒精度时间信息,所述秒精度时间信息产生步骤产生一个在所述编码开始秒精度绝对时间和表示在1秒精度之内的所述预定目标的显示时间之间的时间,或一个在所述预定目标之前立即被显示的I-VOP或P-VOP的显示时间和表示在1秒精度之内的所述预定目标的显示时间之间的时间。
32.在一种用来对由构成该图像的每一目标的图像编码所得到的编码位流进行译码的图像译码器中,当假定由内相关编码所编码的目标是一内相关视频平面(I-VOP)、由或内相关编码或正向预测编码所编码的目标是一预测-VOP(P-VOP)、和由或内相关编码,正向预测编码、反向预测编码、或双向预测-VOP所编码的目标是一双向预测-VOP(B-VOP)时,和当表明在1秒精度之内的时间的秒精度时间信息和表明一个在I-VOP、P-VOP、或B-VOP的立即显示时间之前的秒精度时间信息和比1秒精度更精细精度之内的显示时间之间的时间周期的详细时间信息已被相加到相应的I-VOP、P-VOP、或B-VOP作为表明所述显示时间的信息时,该图像译码器包括显示时间计算装置,用来根据所述秒精度时间信息和详细时间信息计算所述I-VOP、P-VOP、或B-VOP的显示时间;和译码装置,用来根据相应的显示时间译码所述I-VOP、P-VOP、或B-VOP。
33.如权利要求32的图像译码器,其中,当所述目标序列被分割成一个或多个组并被编码时,所述秒精度时间信息是在1秒精度之内的时间,它是在该时间对该组的目标开始进行编码时刻在所述图像序列中的一绝对时间,并且利用编码开始秒精度绝对时间作为标准表示在1秒精度之内的时间。
34.如权利要求33的图像译码器,其中,使用一个在所述编码开始秒精度绝对时间和表示在1秒精度之内的所述预定目标的显示时间之间的时间,或一个在所述预定目标之前立即被显示的I-VOP或P-VOP的显示时间和表示在1秒精度之内的所述预定目标的显示时间之间的时间,作为用于预定目标的秒精度时间信息。
35.在一种用来对由构成该图像的每一目标的图像编码所得到的编码位流进行译码的图像译码方法中,当假定由内相关编码所编码的目标是一内相关视频目标平面(I-VOP),由或内相关编码或正向预测编码所编码的目标是一预测-VOP(P-VOP)、和由或内相关编码、正向预测编码、反向预测编码、或双向预测-VOP所编码的目标是一双向预测-VOP(B-VOP)时,和当表明在1秒精度之内的时间的秒精度时间信息和表明一个在I-VOP、P-VOP、或B-VOP的立即显示时间之前的所述秒精度时间信息和比1秒精度更精细精度之内的显示时间之间的时间周期的详细时间信息被相加到相应的I-VOP、P-VOP、或B-VOP作为表明所述显示时间的信息时,该图像译码方法包括显示时间计算步骤,根据所述秒精度信息和详细时间信息计算所述I-VOP、P-VOP、或B-VOP的显示时间;和译码步骤,根据相应的显示时间译码所述I-VOP、P-VOP、或B-VOP。
36.如权利要求35的图像译码方法,其中,当所述目标序列被分割成一个或多个组时,所述秒精度时间信息是在1秒精度之内的时间,它是在该时间对该组的目标开始进行编码时在所述图像序列中的一绝对时间,并且利用编码开始秒精度绝对时间作为标准表示在1秒精度之内的时间。
37.如权利要求36的图像译码方法,其中,使用一个在所述编码开始秒精度绝对时间和表示在1秒精度之内的所述预定目标的显示时间之间的时间,或一个在所述预定目标之前立即被显示的I-VOP或P-VOP的显示时间和表示在1秒精度之内的所述预定目标的显示时间之间的时间,作为用于预定目标的秒精度时间信息。
38.在一种用来对由构成该图像的每一目标的图像编码所得到的编码位流进行分配的分配媒体中,当假定由内相关编码所编码的目标是一内相关视频目标平面(I-VOP)、由或内相关编码或正向预测编码所编码的目标是一预测-VOP(P-VOP)、和由或内相关编码、正向预测编码、反向预测编码、或双向预测-VOP所编码的目标是一双向预测-VOP(B-VOP)时,该分配媒体其产生表明在1秒精度之内时间的秒精度时间信息;产生表明在所述I-VOP、P-VOP、或B-VOP的立即显示时间之前的秒精度时间信息和比1秒精度更精细精度之内的显示时间之间的时间周期的详细时间信息;和将所述秒精度时间信息和详细时间信息相加到相应的I-VOP、P-VOP、或B-VOP作为表明所述I-VOP、P-VOP、或B-VOP的显示时间的信息。
39.如权利要求38的分配媒体,其中,当所述目标序列被分割成一个或多个组并且被编码时,产生在1秒精度之内的时间作为所述秒精度时间信息,该1秒精度之内的时间是在该时间开始对该组的目标编码时刻在所述图像序列中的绝对时间并且还是基于所述编码开始秒精度绝对时间。
40.如权利要求39的分配媒体,其中,作为对于一预定目标的秒精度时间信息,产生在所述编码开始秒精度绝对时间和表示在1秒精度之内的所述预定目标的显示时间之间的时间,或一个在所述预定目标之前立即被显示的I-VOP或P-VOP的显示时间和表示在1秒精度之内的所述预定目标的显示时间之间的时间。
全文摘要
使有效的随机存取成为可行。将安排在1秒精度之内的编码开始绝对时间中的一组视频平面(GOV)层作为一编码位流的层提供,该GOV层可以不仅插入在该编码位流的开头而且可插入在该编码位流中任意位置,构成GOV层的每一视频目标平面(VOP)的显示时间用modulo-time-base表示,它表示用编码开始绝对时间作为标准以秒为单位的绝对时间和VOP-time-increment其表示以毫秒为单位由modulo-time-base所指明的时间起(同步点)所经过的时间。
文档编号H04N7/50GK1220804SQ98800376
公开日1999年6月23日 申请日期1998年3月31日 优先权日1997年4月1日
发明者矢崎阳一, 铃木辉彦 申请人:索尼公司