图像及信息处理的装置和方法、程序、记录媒体及系统的制作方法

文档序号:6754498阅读:106来源:国知局
专利名称:图像及信息处理的装置和方法、程序、记录媒体及系统的制作方法
技术领域
本发明涉及图像处理装置和方法、信息处理装置和方法、程序、记录媒体以及信息处理系统。更具体地说,本发明涉及一种图像处理装置和方法、一种信息处理装置和方法、程序、记录媒体、以及一种信息处理系统,其中,能够通过使用信息来执行重新编码,所述信息涉及先前在相应数据上执行的编码。
背景技术
在将运动图像信号传输到远程地点的系统中,例如,在视频会议系统或电视电话系统中,为了有效地利用传输信道,图像信号是通过根据行相关或帧内相关的压缩而编码的。
当压缩图像信号时,图像信号被编码,以便将被生成的位流具有预定的位率。然而在实际应用中,由于传输信道的状态,有必要改变位流的位率。
当在广播台编辑传输的图像信号时,编辑是以帧为单位执行,因此,涉及图像信号的每一帧信息应该与涉及该图像信号其它帧的信息相独立。一个由大量以低位率(例如,3到9Mbps)传输的帧组成的长图像组(GOP)可以转换为一个由少量以高位率(18到50Mbps)传输的帧组成的短GOP,反之亦然。在长GOP中,信息是密切相关的,这样,即使以低位率传输,图像质量也不会劣化。
参考图1,现描述一种系统,其中,在经由传输信道发送和接收的由长GOP组成的流数据被重新编码为具有短GOP的全内部流数据之后,可以编辑各帧。
当接收到非压缩原始图像时,编码装置1就根据MPEG方法将它编码为长GOP,并且经由传输信道11将流数据传输到代码转换器2中。在传输信道11中,由长GOP组成、并适于传输的流数据被传输。
在代码转换器2中,经由传输信道11提供的MPEG长GOP流数据在解码器21中经解码后,在编码器22中其被重新编码为全内部流帧,并且编码的全内部流数据(串行数据输送接口内容包(SDTI CP)流)输出到SDTI CP接口的帧编辑装置3中。
在帧编辑装置3中编辑的流数据提供给代码转换器4。在代码转换器4中,提供的全内部流数据在解码器31中解码后,在编码器32中其重新编码为MPEG长GOP,并且编码的MPEG长GOP流数据经由传输信道11输出到预定的数据接收器。
参考图2,现在描述一种系统,该系统用于将输入图像编码为具有高位率的MPEG长GOP,并且用于解码MPEG长GOP,以及将其重新编码为低位率MPEG长GOP。
编码装置1将非压缩输入图像编码为高位率MPEG长GOP并输出编码的MPEG长GOP流数据。在解码器71中,代码转换器51解码高位率MPEG长GOP,然后在编码器72中将它们重新编码为低位率MPEG长GOP。然后,代码转换器51将编码的低位率MPEG长GOP经由传输信道11输出到预定的数据接收器。
以这种模式,当重复地编码和解码图像信息时,如果执行编码时每次都改变编码参数,图像质量就会变低。为了克服这种缺陷,例如,日本的未审查专利申请公报第2000-059788号公开了一种技术,该技术用于抑制由于使用编码历史信息来重新编码所造成的图像质量的劣化,所述信息是插入到位流图像层的用户数据区的信息。
例如,在一种MPEG长GOP能够转换为短GOP、并且该短GOP能够以帧为单位编辑的系统中,通过使用编码历史信息来执行重新编码。下面将参考附图3来描述这种系统的结构。在图3中,相当于图1中的元件由类似的附图标记来注明,因此,在此省略其解释说明。
代码转换器101经由传输信道11接收来自编码装置1的MPEG长GOP。
一种MPEG长GOP包括三种具有不同特征的图像类型,即内部编码(I)图像、预测编码(P)图像和双向预测编码(B)图像。因此,从这样的MPEG长GOP中解码的视频数据也包括I图像、P图像和B图像。这样当将视频数据重新编码为MPEG长GOP时,如果视频数据的I图像、P图像和B图像重新编码为不同类型的图像时,图像质量可能会降低。例如,如果比I图像或P图像更容易失真的B图像重新编码为I图像,先前的或即将出现的图像从该失真的I图像中获得预测(prediction),从而劣化了图像质量。
为防止由重新编码所引起图像质量的劣化,当经由传输信道11接收到先前在另一个代码转换器或编码装置中编码的流数据时,代码转换器101执行下面的操作。在解码器111中解码所提供的MPEG长GOP流数据后,当在编码器112中重新编码经解码的MPEG长GOP流数据为全内部流帧时,代码转换器101将提供给解码器111的经编码的流的参数添加到全内部编码的流,作为电影与电视工程师学会(SMPTE)328M历史信息,所述参数例如是图像类型和量化级别,并且提供全内部编码的流到帧编辑装置3中。
在帧编辑装置3中编辑的流数据提供给代码转换器102。在解码器121中代码转换器102解码具有历史信息的全内部流数据。编码器122通过使用参数重新编码全内部流数据为长GOP,所述参数例如是包括在解码历史信息中的图像类型和量化级别。
存在一种系统,其中,非压缩数据编码为具有高位率的MPEG长GOP,然后解码MPEG长GOP,然后解码的数据重新编码为低位率的MPEG长GOP。在这种系统中,由重新编码所引起图像质量的劣化得到抑制。这种系统的结构参考图4描述如下。在图4中,相当于图2中的元件具有类似的附图标记,在此省略其解释说明。
当接收到编码装置1中编码的MPEG长GOP流时,当在解码器141中解码高位率MPEG长GOP时,代码转换器131获得所需编码参数,并向编码器142提供解码的视频数据和获得的编码参数。编码器142通过使用提供的编码参数重新编码视频数据为低位率MPEG长GOP,并且输出编码的低位率MPEG长GOP流。
当使用历史信息和在解码操作期间所获得的编码参数以便防止图像质量劣化的时候,在帧编辑装置3中编辑的编码的流的图像数据变得不连续,从而使得指示帧之间相关性的信息毫无意义。因此,当使用历史信息和编码参数时,必须检测流数据的编辑点,并且在该编辑点,必须不使用历史信息和编码参数来执行重新编码。
以下技术是在日本未审查专利申请公报第2003-143607号中公开的。以GOP为单位的编辑代码序列中,图像类型(I、P、B)是根据将被编辑的输入代码序列A和B的首标(header)确定的,指示编辑点的代码(标志)根据输入代码序列A和B的图像类型和外部输入的编辑信息被插入或者重写,从而指示流数据的编辑点。
在日本未审查的专利申请公报第2001-169278号公开的以下技术也是可以利用的。指示计数数目的信息被添加到流数据中,所述计数数目用于计数帧或场。当重新编码图像时,由拼接(splice)、插入和移动图像所生成的图像的间断点是根据计数数目是否连续来检测的。
如上所述,通过重新使用先前的编码信息来执行重新编码,能够保持图像的质量,所述编码信息例如是历史信息或编码参数(被插入图像层和宏块层中的参数,例如图像类型,运动矢量和量化级别)。然而,例如,在编辑期间,具有不同于上述编码中所使用的位率、图像帧或色度格式的流可以代替被用于先前编码的流而被设置或插入。在这种情况下,在上述的编码中使用的参数信息不能再用于执行重新编码。
正如上面所论述的,有一种技术,在该技术中,插入指示编辑点的代码(标志),用于检测编辑点。在这种情况下,在用于发送和接收编码的流的整个系统中,所有的编辑装置应该能够插入指示编辑点的预定的代码(标志),并且所有的编码装置能够检测这样的代码(标志)。在该系统中,如果有一个编辑装置不具有插入指示编辑点的代码(标志)的功能,编码的流可以包括不具有预定的代码(标志)的编辑点。
正如上面所论述的,有另外一项技术,其中,指示用于计数帧或场的计数数目的信息被添加到流数据中。用这种技术,在该系统中即使有一个编辑装置不具有插入指示编辑点的代码(标志)的功能,该编辑点也能够从计数数目的连续性中检测出来。然而,因为计数器不能无限地计数,在编辑点计数数目可以变得连续。另外,当大量摄像机用来开始成像并且图像是通过切换摄像机按时间顺序编辑时,计数数目在编辑点变得连续。更具体地说,例如,使用大量摄像机转播一场棒球比赛时,如果挡球网上的摄像机A和露天看台上的摄像机B同时开始成像,并且如果由摄像机A成像的投手和由摄像机B成像的击球手按时间顺序切换,则这样的切换点变成编辑点。然而,包含在帧或场中的计数数目变得连续。

发明内容
因此,鉴于上述背景,本发明的一个目的是当执行重新编码时检测图像数据的编辑点。
为了达到上述目的,根据本发明的一个方面,提供一种图像处理装置,包括计数器,用于计数图像数据预定单元的数目;存储装置,用于存储识别信息,所述识别信息用于唯一地识别图像处理装置;数据转换装置,用于在图像数据上执行至少部分编码处理;和输出装置,用于输出图像数据的每一预定单元,所述单元经受由数据转换装置执行的至少部分编码处理,以便该单元与存储在存储装置中的识别信息相关联。
根据本发明的另一方面,提供一种图像处理装置,包括数据转换装置,用于在图像数据上执行至少部分编码处理;和输出装置,用于获得指示由数据转换装置开始图像数据编码处理的时间的时间信息,并且用于输出图像数据的每一预定单元,所述单元经受由数据转换装置执行的至少部分编码处理,以便该单元与时间信息相关联。
根据本发明的另一方面,提供一种图像处理方法,包括计数步骤,计数图像数据预定单元的数目;数据转换步骤,在图像数据上执行至少部分编码处理;和输出步骤,输出图像数据的每一预定单元,所述单元经受在数据转换步骤执行的至少部分编码处理,以便该单元与唯一地识别图像处理装置的识别信息相关联。
根据本发明的另一方面,提供一种图像处理方法,包括获取步骤,获取指示图像数据编码处理开始的时间的时间信息;数据转换步骤,在图像数据上执行至少部分编码处理;和输出步骤,输出图像数据的每一预定单元,所述单元经受在数据转换步骤执行的至少部分编码处理,以便该单元与获取步骤中获取的时间信息相关联。
根据本发明的另一方面,提供一种信息处理装置,包括获取装置,用于获取涉及对图像数据执行的先前编码处理的信息;和检测装置,用于检测编辑点。当检测时,基于由获取装置所获取的与先前编码处理有关的信息,在图像数据上执行先前编码处理的图像处理装置在形成图像数据的相邻预定单元之间是不同的,所述检测装置将在所述相邻单元之间检测的图像数据点设置为编辑点。
根据本发明的另一方面,提供一种信息处理装置,包括获取装置,用于获取涉及图像数据上执行的先前编码处理的信息;和检测装置,用于检测编辑点。当检测时,基于由获取装置所获取的与先前编码处理有关的信息,在图像数据上执行的先前编码处理开始的开始点在形成图像数据的预定单元之间是不同的,所述检测装置将在所述单元之间检测的图像数据点设置为编辑点。
根据本发明的另一方面,提供一种信息处理方法,包括获取步骤,获取涉及图像数据上执行的先前编码处理的信息;和检测步骤,当检测时,基于获取步骤中所获取的与先前编码处理有关的信息,在图像数据上执行先前编码处理的图像处理装置在形成图像数据的相邻预定单元之间是不同的,设置在所述相邻单元之间检测的图像数据点为编辑点。
根据本发明的另一方面,提供一种图像处理方法,包括获取步骤,获取涉及图像数据上执行的先前编码处理的信息;和检测步骤,当检测时,基于获取步骤中所获取的与先前编码处理有关的信息,在图像数据上执行的先前编码处理开始的开始点在形成图像数据的预定单元之间是不同的,设置在所述单元之间检测到的图像数据点为编辑点。
根据本发明的另一方面,提供一种信息处理系统,包括图像处理装置,用于在图像数据上执行至少部分编码处理;和信息处理装置,用于检测图像数据的编辑点。图像处理装置包括存储装置,用于存储唯一地识别图像处理装置的识别信息;数据转换装置,用于在图像数据上执行至少部分编码处理;和输出装置,用于输出图像数据的每一预定单元,所述单元经受由数据转换装置执行的至少部分编码处理,以便该单元与存储在存储装置中的识别信息相关联。信息处理装置包括获取装置,用于获取涉及图像数据上执行的先前编码处理的信息;和检测装置,用于检测编辑点。当检测时,基于由获取装置所获取的与先前编码处理有关的信息中包含的识别信息,在图像数据上执行先前编码处理的图像处理装置在形成图像数据的相邻预定单元之间是不同的,所述检测装置将在所述相邻单元之间检测的图像数据点设置为编辑点。
根据本发明的另一方面,提供一种信息处理系统,包括图像处理装置,用于在图像数据上执行至少部分编码处理;和信息处理装置,用于检测图像数据的编辑点。图像处理装置包括数据转换装置,用于在图像数据上执行至少部分编码处理;和输出装置,用于获得指示由数据转换装置开始图像数据编码处理的时间的时间信息,并且用于输出图像数据的每一预定单元,所述单元经受由数据转换装置执行的至少部分编码处理,以便该单元与时间信息相关联。信息处理装置包括获取装置,用于获取涉及图像数据上执行的先前编码处理的信息,和检测装置,用于检测编辑点。当检测时,基于由获取装置所获取的与先前编码处理有关的信息,在图像数据上执行的先前编码处理开始的开始点在形成图像数据的预定单元之间是不同的,所述检测装置将在所述单元之间检测的图像数据点设置为编辑点。
本发明提供以下优点。
能够执行至少部分编码处理。具体上,能够生成包含用于唯一地识别编码装置的信息的信息,然后经受至少部分编码处理的图像数据与此信息结合输出。因此,接收此编码数据的装置能够检测编辑点。
编辑点能够被检测,具体上,根据包含用于唯一地识别编码装置的信息的信息来进行检测。
能够执行至少部分编码处理,然后编辑点能够从该编码数据中检测出来。具体上,经受至少部分编码处理的图像数据能够与用于唯一地识别编码装置的信息结合输出。因此,根据包含这样的信息的信息,编辑点能够被检测出来,即,该信息包含在该编码数据中,用于唯一地识别编码装置,所述编码装置以连续的预定单元(即帧)编码所述数据。
能够执行至少部分编码处理。具体上,能够生成指示编码处理开始的开始点的信息,经受至少部分编码处理的图像数据的每一预定单元(即帧)能够与此信息结合输出。因此,接收此编码数据的装置能够检测编辑点。
具体上,根据指示编码处理开始的开始时间的信息,编辑点能够检测出来。
能够执行至少部分编码处理,编辑点能够从该编码数据中检测出来。具体上,经受至少部分编码处理的图像数据的每一预定单元(即帧)能够与指示编码处理开始的开始时间的信息结合输出。因此,根据此信息能够检测编辑点。


图1是示出了以帧为单位编辑数据后执行重新编码的公知系统的方框图;图2是示出通过改变MPEG长GOP的位率来执行重新编码的公知系统的方框图;图3是示出图1示出的公知系统的方框图,该系统使用编码历史信息;图4是图2示出的公知系统方框图,其中使用编码历史信息;
图5是示出根据本发明以帧为单位编辑数据后执行重新编码的系统的方框图;图6是示出图5示出的系统中编码装置的结构的方框图;图7是说明用于生成包括附加编码信息的编码数据的处理1的流程图;图8是说明用于生成包括附加编码信息的编码数据的处理2的流程图;图9是说明用于生成包括附加编码信息的编码数据的处理3的流程图;图10示出了在SMPTE 329M中定义的句法compressed_stream_format_of_MPEG_2_re_coding_set();图11示出了在extension_and_user_data(2)的user_data(2)中指示的信息;图12是示出在图5示出的系统中的编码器的结构的方框图;图13示出了编辑点的检测;图14示出了重新使用禁止期间的开始点;图15示出了当在重新使用禁止期间内编辑点再次被检测时的重新使用禁止期间;图16是示出根据本发明的系统的结构的方框图,其中通过改变MPEG长GQP的位率来执行重新编码;图17是示出在图16示出的系统中编码器的结构的方框图;图18是示出编辑点检测处理1的流程图;图19是示出编辑点检测处理2的流程图;图20是示出编辑点检测处理3的流程图;图21是示出编码处理1的流程图;图22是示出重新使用重新开始确定处理1的流程图;图23示出了当执行重新使用重新开始确定处理1时的重新使用禁止期间;图24是示出重新使用重新开始确定处理2的流程图;图25示出了当执行重新使用重新开始确定处理2时的重新使用禁止期间;图26是示出重新使用重新开始确定处理3的流程图;图27示出了当执行重新使用重新开始确定处理3时的重新使用禁止期间;
图28是示出参数重新使用编码处理的流程图;图29是示出编码处理2的流程图;图30是示出部分/整体重新使用重新开始确定处理的流程图;图31示出了当执行图30示出的部分/整体的重新使用重新开始确定处理时重新使用禁止的期间和部分重新使用许可的期间;图32是示出参数部分重新使用编码处理1的流程图;图33是示出参数部分重新使用编码处理2的流程图;图34示出本发明能够实施的系统的另一形式装置的方框图;以及图35是示出个人计算机结构的方框图。
具体实施例方式
本说明书中公开的本发明和本发明的优选实施例间的关系将在下面描述。随后实施例的描述是为了支持本发明。但是参考当前认为的优选实施例来描述本发明,可以理解的是,本发明并不局限于所公开的实施例。相反地,本发明意欲用来覆盖其他的实施例。反之,在本说明书中公开的实施例不是局限于本发明,还可以应用到其他的发明。
这里的描述不局限于本发明。换句话说,这里的描述包括在说明书中而不是在本申请的权利要求中公开的本发明的许多方面,那就是说,本发明的许多方面在以后可以分案申请,或者通过修改来添加。
以下通过示出优选实施例,并结合附图来详细描述本发明。
以下结合附图5来描述一种系统,该系统中MPEG长GOP能够转换为短GOP,其使用编码历史信息以帧为单位编辑。
在图5中,相当于图3中的元件标识以类似的附图标记。图5示出的系统结构基本上类似于在图3中示出的系统结构,除了提供了编码装置151和代码转换器152分别代替了编码装置1和代码转换器102。代码转换器152包括编码器161,所述编码器161能够选择历史信息,所述历史信息根据提供的流的情况可以重新使用。编码器161的结构类似于在图3中代码转换器102的编码器122,除了不仅解码的信号从解码器121输出,而且输入到解码器121的流数据也提供给编码器161。
编码装置151接收非压缩原始图像并且将其编码。编码装置151生成附加编码信息并且将它添加到编码的流中,以便在帧编辑装置3中编辑图像数据后,代码转换器152的编码器161能够检测编辑点。
图6是示出编码装置151结构的方框图。当输入原始图像时,帧计数器181检测帧同步,并且计数每一个帧的计数数目,为的是将计数数目提供给附加编码信息生成器182。帧计数器181具有预定上限,例如65535,这样,当计数数目达到这个上限时就从0重新开始计数。也就是说,在如下所述的处理中,当执行重新编码时,上限和0被认为是连续的帧。
在本实施例中,帧计数器181每次以1为单位递增计数或递减计数。或者,它可以对于每一个帧以预定数字,例如2,为单位递增计数或递减计数,并且输出计数数目到附加编码信息生成器182。
存储器184中存储了Encoder_ID(编码器ID)和Encoder_Serial_Number(编码器序号),所述Encoder_ID指示编码装置151的类型,所述Encoder_Serial_Number指示该编码器的序号。换句话说,Encoder_ID和Encoder_Serial_Number是唯一地识别编码装置151的识别信息。
附加编码信息生成器182设置从帧计数器181提供的计数数目作为Continuity_Counter(连续计数器),并从存储器184中读取Encoder_ID和Encoder_Serial_Number。然后,附加编码信息生成器182将Encoder_ID和Encoder_Serial_Number连同Continuity_Counter提供给以帧为单位的编码器185。
编码器185通过公知编码方法将例如串行数字接口(SDI)格式的原始图像编码为MPEG长GOP,并添加从附加编码信息生成器182提供的指示Continuity_Counter、Encoder_ID和Encoder_Serial_Number的信息到长GOP的每个帧,作为附加编码信息。
也就是说,由编码器185添加到编码的流中的附加编码信息指示了Continuity_Counter、Encoder_ID和Encoder_Serial_Number。因此,即使在编辑点计数数目变得连续或指示连续帧,在重新编码处理期间可以发现不同的编码装置根据Encoder_ID或Encoder_Serial_Number编码了该帧,从而检测编辑点的存在。
为指定编码装置151,使用Encoder_ID和Encoder_Serial_Number,所述Encoder_ID是指示编码装置类型的信息,所述Encoder_Serial_Number指示序号。通常,序号由若干数字表示,如有必要由若干字母表示。如果指示编码装置类型的字母没有被添加到序号中,则有可能存在多于一个具有相同序号的不同类型的编码装置。因此,为指定编码装置151,Encoder_ID和Encoder_Serial_Number两者最好都使用,所述Encoder_ID指示编码装置的类型,所述Encoder_Serial_Number指示序号,以便具有相同序号的不同类型的编码装置不被认为是同一个编码装置。然而,如果指示编码装置类型的若干字母包含在序号中,不可能其它不同类型的编码装置具有相同序号,换言之,仅仅由序号就能指定编码装置。在这种情况下,仅仅指示序号的Encoder_Serial_Number可以存储在存储器184中,作为指定编码装置151的信息,并且被添加到由编码器185编码的流中作为附加编码信息。
即使Continuity_Counter没有包含在附加编码信息中,仍可以发现,如果添加了Encoder_ID和Encoder_Serial_Number,不同的编码装置会编码一个流。因此,编辑点可以被检测出来。
代替指定编码装置151的信息,可以使用这样的信息作为附加编码信息,即,该信息用于指示编码装置151开始编码的时间点。
当接收到从帧计数器181提供的帧计数数目的输入后,附加编码信息生成器182从计时器183获得当前的时间或当前时间和日期,作为指示第一帧的开始时间的时间信息,并且将这样的信息提供给存储器184。存储器184接收从附加编码信息生成器182提供的指示编码开始时间或编码开始时间和日期的信息,并且存储这些信息作为Encoding_Start_Time_Code(编码开始时间代码)。
在Encoding_Start_Time_Code中,包括指示开始时间或开始时间和日期的信息作为指示编码开始时间的信息。这种信息可以是以下的组合″秒,分,小时,日,月,年″、″秒,分,小时,日,月″、″秒,分,小时,日″、″秒,分,小时″或″分和小时″。或者,这些信息可以是″秒,分,小时,日,月和年″中的一项。只要发现,如果一个数据流的Encoding_Start_Time_Code不同于另一个数据流的,它们不是在同一个时间点开始编码的一系列编码流,则可以使用任何这样的信息项。
附加编码信息生成器182设置从帧计数器提供的计数数目作为Continuity_Counter,并从存储器184读取Encoding_Start_Time_Code,以便针对每一个帧将它们提供给编码器185。
编码器185通过公知编码方法将例如SDI格式的原始图像编码为MPEG长GOP,并添加Continuity_Counter和Encoding_Start_Time_Code信息作为附加编码信息给MPEG长GOP的每个帧,所述Continuity_Counter和Encoding_Start_Time_Code信息从附加编码信息生成器182提供,并且输出所生成的MPEG长GOP。
在这种结构中,即使在编辑点计数数目变得连续,如果数据流间编码开始的时间和日期不同,那么通过检查Encoding_Start_Time_Code,编辑点就可以被检测出来。因此,即使计数数目变得连续编辑点也可以可靠地检测出来。
即使Continuity_Counter没有包含在附加编码信息中,仍可以发现,如果添加了Encoding_Start_Time_Code,则数据流间编码开始的时间和日期是不同的。因此编辑点是可以被检测出来的。
在编码装置151中,被加到编码的流中的附加编码信息可以包含Continuity_Counter、Encoding_Start_Time_Code、Encoder_ID和Encoder_Serial_Number。
更具体地说,当接收到从帧计数器181提供的帧计数数目的输入时,附加编码信息生成器182获得来自计时器183的指示当前的时间和日期的信息,作为第一帧编码开始的时间信息,并提供该信息给存储器184。存储器184也接收从附加编码信息生成器182提供的指示编码开始时间的信息,并且存储其作为Encoding_Start_Time_Code。
存储器184也存储Encoder_ID和Encoder_Serial_Number,所述Encoder_ID指示编码装置151的类型,所述Encoder_Serial_Number指示编码装置151的序号。附加编码信息生成器182设置从存储器184提供的计数数目作为Continuity_Counter,并从存储器184中读取Encoding_Start_Time_Code、Encoder_ID和Encoder_Serial_Number,以便针对每一帧将它们提供给编码器185。
编码器185通过公知编码方法将例如SDI格式的原始图像编码为MPEG长GOP,并添加Continuity_Counter、Encoding_Start_Time_Code、Encoder_ID和Encoder_Serial_Number信息给MPEG长GOP的每个帧,所述信息是从附加编码信息生成器182提供的附加编码信息。
在图6示出的编码装置151中,由附加编码信息生成器182生成的附加编码信息被添加到编码的流的每个帧,作为结果的编码的流被输出。然而,如果附加编码信息正确地关联到编码的流的每个帧,编码的流和附加编码信息可以分别地被输出。如上所述,编码的流和附加编码信息经由传输信道11被传输到代码转换器101。或者,它们可以记录在记录媒体上,并提供给代码转换器101。在这种情况下,如果附加编码信息正确地关联到编码的流的每个帧,编码的流和附加编码信息可以记录在不同的记录媒体中并且被提供。
参考图7,给出了处理1的描述,处理1用于生成包括编码信息的编码的数据。在下面处理中,现在假定用于指定编码装置151的信息已经存储在存储器184中。
在步骤S1中,编码装置151接收非压缩图像数据并将其提供给编码器185。
在步骤S2中,帧计数器181检测提供给编码器185的非压缩数据的帧同步,并计数帧数目。
在步骤S3中,编码器185编码提供的非压缩图像数据。
在步骤S4中,附加编码信息生成器182获得存储在存储器184中的用于指定编码装置的信息(即,Encoder_ID和Encoder_Serial_Number),以及由帧计数器181计数的帧计数数目(Continuity_Counter)。如果编码装置151仅仅由Encoder_Serial_Number指定,仅仅Encoder_Serial_Number存储在存储器184中并由附加编码信息生成器182获得就足够了。
在步骤S5中,根据用于指定编码装置的信息(Encoder_ID和Encoder_Serial_Number)和帧计数数目(Continuity_Counter),附加编码信息生成器182生成附加编码信息,并将附加编码信息提供给编码器185。
在步骤S6中,编码器185结合附加编码信息和编码的数据,并且输出作为结果的数据。
在步骤S7中,编码器185确定非压缩图像数据的供应是否完成。如果没有完成,处理返回到步骤S2,并重复步骤S2和后面的步骤。如果确定非压缩图像数据的供应完成,该处理结束。
根据这种处理,用于指定编码装置的信息(Encoder_ID和Encoder_Serial_Number)以及帧计数数目(Continuity_Counter)被添加到编码的数据,作为附加编码信息。因此,当重新编码的编码的数据时,编辑点可以被检测。
参考图8的流程图,现在描述处理2,该处理用于生成包含编码信息的编码的数据。在此处理中,用于指定编码装置151的信息预先存储在存储器184中是不必要的。
在步骤S21中,编码装置151接收非压缩图像数据并将其提供给编码器185。
在步骤S22中,附加编码信息生成器182通过检查计时器183获得指示当前时间的当前时间信息,当前时间例如秒、分、小时、日、月和年,并在存储器184中存储当前时间信息,作为编码开始时间(Encoding_Start_Time_Code)。
步骤S23和S24分别类似于图7中的步骤S2和S3。即,在步骤S23中,提供的非压缩图像数据的帧数目被计数,然后在步骤S24执行编码。
在步骤S25中,附加编码信息生成器182获得存储在存储器184中的编码开始时间(Encoding_Start_Time_Code)和由帧计数器181计数的帧计数数目(Continuity_Counter)。
在步骤S26中,根据获得的编码开始时间(Encoding_Start_Time_Code)和帧计数数目(Continuity_Counter),附加编码信息生成器182生成附加编码信息,并且提供生成的附加编码信息给编码器185。
步骤S27和S28分别类似于图7中的步骤S6和S7。即,在步骤S27中,附加编码信息与编码数据结合,并且在步骤S28中确定非压缩图像数据的供应是否完成。如果没有完成,处理返回到步骤S23,并重复步骤S23和后面的步骤。如果在步骤S28中确定非压缩图像数据的供应完成,该处理结束。
根据这种处理,编码开始时间(Encoding_Start_Time_Code)和帧计数数目(Continuity_Counter)被添加到编码数据,作为附加编码信息。因此,在下面描述的重新编码处理中,编辑点可以被检测出来。
参考图9的流程图,现在描述处理3,该处理用于生成包含编码信息的编码数据。在这个处理中,用于指定编码装置151的信息预先存储在存储器184中。
在步骤S41中,编码装置151接收非压缩图像数据并且将其提供给编码器185。
在步骤S42,附加编码信息生成器182通过检查定时器183获得当前时间信息,并且将其存储在存储器184中作为编码开始时间(Encoding_Start_Time_Code)。
步骤S43和S44分别类似于图7的步骤S2和S3。即,在步骤S43中,非压缩图像数据的帧数目被计数,并在步骤S44中,执行编码处理。
在步骤S45中,附加编码信息生成器182获得存储在存储器184中的用于指定编码装置的信息(即Encoder_ID和Encoder_Serial_Number)和编码开始时间(Encoding_Start_Time_Code),以及由帧计数器181计数的帧计数数目(Continuity_Counter)。如果编码装置151能够仅仅由Encoder_Serial_Number指定,仅仅将Encoder_Serial_Number存储在存储器184并且通过附加编码信息生成器182获得就足够了。
在步骤S46中,根据用于指定编码装置的信息(即Encoder_ID和Encoder_Serial_Number)、编码开始时间(Encoding_Start_Time_Code)和帧计数数目(Continuity_Counter),附加编码信息生成器182生成附加编码信息,并且提供生成的附加编码信息给编码器185。
步骤S47和S48分别类似于图7的S6和S7。即,在步骤S47中,附加编码信息添加到编码数据,并输出作为结果的数据。在步骤S48中,确定非压缩图像数据的供应是否完成,如果没有完成,处理返回到步骤S43,并重复步骤S43和后面的步骤。如果在步骤S48中确定非压缩图像数据的供应完成,结束该处理。
根据这种处理,用于指定编码装置的信息(即Encoder_ID和Encoder_Serial_Number)、编码开始时间(Encoding_Start_Time_Code)和帧计数数目(Continuity_Counter)添加到编码数据作为附加编码信息。因此,在以下论述的重新编码处理中,编辑点能够以比参考图7或图8描述的处理更高的精度被检测出来。
当创建流数据的数据库或形成流数据为一个库时,由参考图7、8或9描述的处理所生成的附加编码信息可以用作为ID或密钥号码。附加编码信息也可以被使用,不仅用于确定重新编码操作期间历史数据或编码参数不能重新使用的期间,还可以用于定位回放操作期间帧的开始(例如,诸如在DVD中段(chapter)的开始点和结束点,以及重复回放操作的开始点和结束点),或用于检测场景的变化。通过检测场景变化,能够最佳地控制编码期间的量化级别。当涉及商业广告的流数据包含在,例如电视广播的节目流中的时候,插入商业广告的部分能够检测出来。当使用流数据自动地生成微缩的图像并提供给用户时,能够确定数据流的切分位置。
参考图5,代码转换器101经由传输信道11接收具有附加编码信息的MPEG长GOP。
MPEG长GOP是由三种类型的图像(I图像、P图像和B图像)组成。在代码转换器101中,解码器111解码MPEG长GOP。然后,当编码器112编码MPEG长GOP为全内部流帧,用于编码装置中的编码参数(插入到图像层或宏块层中的参数,例如用于先前编码的图像类型、运动矢量和量化级别)添加到该全内部流(SDTI CP流)中,作为定义在该SMPTE(SMPTE 328M或SMPTE 329M)中的历史信息,所述的编码装置经由传输信道11传输MPEG长GOP流给代码转换器101。通过添加编码参数给该全内部流,当流数据在随后的处理中重新编码为长GOP时,能够阻止视频数据的I图像、P图像和B图像重新编码成不同类型的图像。编码器112然后给SDTI CP接口的编辑装置3提供编码数据。
compressed_stream_format_of_MPEG_2_re_coding_set()(MPEG 2重新编码的压缩流格式集)的句法(SMPTE 329M)参考图10描述如下。
SMPTE 329M的compressed_stream_format_of_MPEG_2_re_coding_set()包括为以下函数所定义的数据元素next_start_code()(下一开始代码)函数、sequence_header()(序列首标)函数、sequence_extension()(序列扩展)函数、extension_and_user_data(0)(扩展及用户数据(0))函数、group_of_picture_header()(图像组首标)函数、extension_and_user_data(1)(扩展及用户数据(1))函数、picture_header()(图像首标)函数、picture_coding_extension()(图像编码扩展)函数、re_coding_stream_info()(重新编码流信息)函数、extension_and_user_data(2)(扩展及用户数据(2))函数和picture_data()(图像数据)函数。
next_start_code()函数是用于查找包含在位流中的开始代码的函数。由sequence_header()函数定义的数据元素包括horizontal_size_value(水平尺寸值)、vertical_size_value(垂直尺寸值)和VBV_buffer_size_value(VBV缓冲尺寸值),所述horizontal_size_value指示在水平方向图像像素数目的低12位,所述vertical_size_value指示在垂直方向上图像线数目的低12位,所述VBV_buffer_size_value指示用于确定虚拟缓冲器(视频缓冲器校验器(VBV))的大小的低10位,所述虚拟缓冲器用于控制将被生成的代码的数量。由sequence_extension()函数定义的数据元素包括progressive_sequence(顺序)、chroma_format(色度格式)和low_delay(低延迟),所述progressive_sequence指示视频数据是顺序扫描的,所述chrorna_format用于指定视频数据的色度格式,而所述low_delay指示该视频数据不包含B图像。
对于extension_and_user_data(i)函数,当i不是2时,由extension_data()函数定义的数据元素不被指示,而且仅仅由user_data()(用户数据)函数定义的数据元素被指示为历史流。因此,对于extension_and_user_data(0)函数,仅仅由user_data()函数定义的数据元素被指示为历史流。然后,只有当表示GOP层开始代码的group_start_code(组开始代码)被指示在历史流中时,由group_of_picture_header()函数定义的数据元素和由extension_and_user_data(1)函数定义的数据元素才被指示。
由picture_header()函数定义的数据元素包括picture_start_code和temporal_reference(时间参考),所述picture_start_code表示图像层的开始同步化代码,所述temporal_reference表示图像的显示次序并重新设置在GOP的首标。由picture_coding_extension()函数定义的数据元素包括picture_structure(图像结构),其指示该数据具有帧结构或场结构,并指示如果该数据具有场结构则该场是高(upper)场还是低(lower)场。由picture_coding_extension()函数定义的数据元素还包括top_field_first(顶端场第一),其指示,如果该数据具有帧结构则第一场是高场还是低场,q_scale_type(量化比例类型)指示使用线性量化比例还是非线性的量化比例,并且当执行23下拉(pull-down)时使用repeat_firt_field(重复第一场)。
由re_coding_stream_info()(重新编码流信息)函数定义的数据元素是由SMPTE 327M所定义。下文将参考图11论述extension_and_user_data(2)函数。picture_data()函数定义的数据元素由slice()(切分)函数所定义。slice()函数定义macroblock()(宏块),并且motion_vectors(运动矢量)信息指示在该macroblock()中。
以下参考图11论述有关信息,该信息指示在user_data(2)中,user_data(2)在参考图10描述的compressed_stream_format_of_MPEG_2_re_coding_set()的extension_and_user_data(2)中。
Stream_Information_Header(流信息首标)是32位数据,包括16位Stream_Information_Header、8-位长度(Length)和marker_bits(制造商位),所述Stream_Information_Header中指示了用于识别picture_layer(图像层)的user_data的首标编号,所述8-位长度指示Stream_Information()(流信息)的字节长度。
Encoder_Serial_Number是16位信息,指示编码器(编码器或编码装置)唯一的号码(序号)。Encoder_ID是15位信息,指示编码器类型的ID。
随后的Encoding_Start_Time_Code是8字节信息,指示该流开始生成的时间,并且每一字节的MSB(最高有效位)设置为marker_bit=1。在这种情况下,8字节中的6字节被使用,指示流数据生成开始的年(Time_Year)、月(Time_Month)、日(Time_Day)、小时(Time_Hour)、分(Time_Minute)和秒(Time_Second)。在一个流中,这些值成为常量。
Encoder_Serial_Number、Encoder_ID或Encoding_Start_Time_Code还可以被用作ID和密钥号码,用于创建流数据的数据库或形成流数据为一个库。
Generation_Counter(GenC)(生成计数)是4位信息,指示表示编码生成的计数数目。当SDI数据编码为异步串行接口(ASI)数据(最先生成)时开始编码生成的计数,而当ASI数据重新编码成ASI数据或当SDTI CP数据重新编码成ASI数据时,计数数目递增。
SDTI CP是国际标准,由Pro-MPEG论坛推荐的SMPTE 326M标准化,并用于实时传输(同步地传输)MPEG数据。当数据是全内部帧时,SDTI CP是一种传输方法。SDI是一种用于传输非压缩数字视频/音频数据的点对点传输方法,并在ANSI/SMPTE 259M中定义。ASI是用于传输编码的MPEG长GOP流数据的传输方法。
Continuity_Counter是以帧为单位递增的计数器。当该计数器达到最大值时,从0开始重新计数。必要时,除帧数目外,Continuity_Counter还可以计数场数目或图像数目、具有相同图像编码类型(即I图像、B图像或P图像)的相邻帧单元的数目,或GOP数目。
Continuity_Counter还可以被用作ID或密钥号码,用于创建流数据的数据库或用于形成流数据为一个库。
当数据在解码器(解码装置)中解码时,下列信息项将从生成的参数中提取并被插入。因此,在这种信息项插入之前仅它们的区域被保留。
Picture_coding_type(图像编码类型)是兼容MPEG2标准的3位信息,指示图像编码的类型,例如该图像是I图像、B图像或P图像。temporal_reference是兼容MPEG2标准的10位信息,指示GOP图像的顺序。该信息对每一个图像增加计数。
reuse_level(重新使用级别)是用于定义参数重新使用的7位信息。error_flag(错误标志)是用于通知不同错误的标志。
header_presentflag(A)(首标当前标志(A))是2位标志信息,由序列首标当前标志和GOP首标预置标志组成。
extension_start_code_flags(扩展开始代码标志)是在SMPTE 327M中定义的16位标志信息,指示是否包含了不同的扩展ID。如果extension_start_code_flags指示0,就表示不包含扩展ID。如果extension_start_code_flags指示1,就表示包含扩展的ID。扩展ID包括序列扩展ID、序列显示扩展ID、量子矩阵扩展ID、版权扩展ID、序列可伸缩(scalable)扩展ID、图像显示扩展ID、图像编码扩展ID、图像空间可伸缩扩展ID和图像时间可伸缩扩展ID。
other_start_codes(其它开始代码)(由图11中的″其它″所指示)是5位标志信息,指示哪一层包含用户数据的开始代码、或是否包含序列误差代码或序列结束代码。
图11中B是表示reduced_bandwidth_flag(B)(减小的带宽标志(B))的1位信息,而C是表示reduced_bandwidth_indicator(C)(减小的带宽指示器(C))的2位信息。num_of_picture_bytes(图像数目字节)是指示生成的图像数目的22位信息,并用于速率控制。
bit_rate_extension(位率扩展)是涉及位率的12位扩展信息区域。bit_rate_value(位率值)是18位信息。在SMPTE定义的格式中,由于涉及位率的信息经受统计式多路复用,其经常由特定值(例如″ff″)表示,并且不能用来重新编码。相比较而言,bit_rate_extension是指示先前编码的实际位率的区域,所以它能被用于重新编码。
参考图10和11描述的,由图5示出的代码转换器101中的编码器112提供的具有历史数据的全内部编码流在帧编辑装置3中以帧为单位被编辑。这些具有历史信息的全内部编码流数据然后提供给代码转换器152。在代码转换器152中,解码器121解码具有历史信息的全内部流数据。如有必要,通过使用插入到图像层和宏块层中的参数,例如图像类型、运动矢量、以及量化级别,编码器161重新编码由解码器121解码的信息为长GOP,所述参数用于先前编码并包含在解码历史信息中。
图12是示出编码器161结构的方框图。
历史提取单元201从由解码器121解码的全内部流中提取历史信息,并且提供所提取的历史信息给控制器216并提供视频流给缓冲器202。由历史提取单元201提取的历史信息指定为由SMPTE 329M定义的compressed_stream_format_of_MPEG_2_re_coding_set()的格式,如参考图10和11所论述的,并且包括关于先前编码的信息,例如图像类型、量化级别、运动矢量或量化矩阵。缓冲器202于预定期间(至少比P图像间隔长的期间)缓冲所提供的流数据,然后向图像重新安排单元203提供视频流。
根据提供给编码器161的流数据或由历史提取单元201提取的历史信息,编辑点检测器217检测编辑点。也就是说,编辑点检测器217在内置的存储器中存储先前帧的附加编码信息(例如,Encoding_Start_Time_Code、Encoder_Serial_Number、Encoder_ID以及Continuity_Counter分别作为Prev_Encoding_Start_Time_Code(先前编码开始时间代码)、Prev_Encoder_Serial_Number(先前编码器序号)、Prev_Encoder_ID(先前编码器ID)以及Prev_Continuity_Counter(先前连续计数器))。如图13所示,编辑点检测器217比较这种信息和当前帧的附加编码信息,并根据是否存在与当前帧不连续的信息项来检测编辑点。代替附加编码信息,编辑点检测器217可以通过检查标志信息来检测编辑点,所述标志信息指示被添加到流数据中的编辑点。
当接收到指示编辑点已经从编辑点检测器217中检测出来的信号时,控制器216设置参数重新使用禁止期间,所述期间从编辑点之前的P图像开始到编辑点之后的预定图像,如图14所示,并且不使用包含在历史信息中并从历史提取单元201中提取的先前编码参数,来控制图像重新安排单元203、运动矢量检测器205,或量化级别确定单元208来执行编码。以下给出参数重新使用禁止期间的细节。参考图14来论述,在除了参数重新使用禁止期间以外的期间,根据先前编码参数,控制器216也控制图像重新安排单元203、运动矢量检测器205或量化级别确定单元208来执行编码,所述先前编码参数包含在历史信息中并且由历史提取单元201提取。
当设置参数重新使用禁止期间后,控制器216将设置信息提供给历史信息生成器218。历史信息生成器218生成历史信息,所述历史信息包含涉及从控制器216提供的参数重新使用禁止期间的设置信息,并且添加这些历史信息给将在可变长度代码(VLC)单元209中编码的流数据。
向控制器216提供了内置寄存器中的编辑点检测标志和重新使用停止标志。因此,如图15所示,即使在参数重新使用禁止期间,控制器216接收信号,所述信号指示已经从编辑点检测器217检测出编辑点,它能够根据第二编辑点的位置设置该参数重新使用禁止期间的结束点。当编辑点被检测出来,编辑点检测标志变为ON,然后,指示编辑点紧前的重新使用禁止期间开始的P图像被检测出来,并且重新使用停止标志变为ON。然后,用于设置重新使用禁止期间的图像数目或P图像数目的计数开始,并且编辑点检测标志变为OFF。当重新使用停止标志为ON时,如果编辑点再次被检测出来,则编辑点检测标志变为ON,并且当重新使用停止标志保持为ON时,用于设置重新使用禁止期间的图像数目或P图像的数目的计数被重新设置,然后重新开始。
接收参考图10和11,当从历史提取单元201接收到历史信息时,在除了参数重新使用禁止期间以外的期间,根据历史信息是否符合预定条件,控制器216控制图像重新安排单元203、运动矢量检测器205、量化级别确定单元208和流开关(switch)219的整体或部分处理。
更具体地说,在除了参数重新使用禁止期间以外的期间,控制器216确定先前编码的延迟模式、图像结构和下拉模式是否与当前的编码一致。如果发现先前编码参数不同于当前编码参数,控制器216确定执行下面论述的正常编码,而不重新使用先前参数。延迟模式是指示在SMPTE 329M中sequence_extension()函数的low_delay中的信息,而图像结构和下拉模式是指示在SMPTE 329M的picture_coding_extension()函数的picture_structure、top_field_first和repeat_firt_field的每一个中信息。
如果先前编码的延迟模式、图像结构和下拉模式与当前编码一致,则控制器216确定将随后被编码的图像帧是否与指示在历史信息中的图像帧一致。如果发现这些图像帧是不同的,仅仅重新使用涉及图像类型(在参考图11描述的extension_and_user_data(2)的user_data(2)中指示的picture_coding_type)的信息。关于图像帧是否彼此一致的确定能够这样作出,即通过比较指示在SMPTE 329M的sequence_header()函数中的SMPTE 329M的horizontal_size_value和vertical_size_value以及SMPTE 329M的v_phase(垂直相)和h_phase(水平相)来进行。
当确定在先前编码中使用的图像类型重新使用时,根据从控制器216提供的控制信号,图像重新安排单元203基于包含在历史信息中的图像类型重新安排图像。
如果发现图像帧是相同的,控制器216确定先前编码的位率是否小于当前编码的位率,先前编码的色度格式是否大于或等于当前编码的色度格式。如果任何一个条件不满足,则除了图像类型,还重新使用运动矢量信息(指示在picture_data()函数的slice()函数中的motion_vectors信息)。位率信息指定在user_data(2)中的bit_rate_value中,所述user_data(2)在SMPTE329M的extension_and_user_data(2)中。色度格式信息指示在SMPTE 329M的sequence_header()函数的chroma_format中。
基于从控制器216提供的控制信号,运动矢量检测器205重新使用先前编码的运动矢量信息作为运动矢量。
如果先前编码的位率小于当前编码的位率并且如果先前编码的色度格式大于或等于当前编码的色度格式,则除了图像类型和运动矢量外,控制器216还重新使用量化比例(q_scale)。
必要时,根据从控制器216提供的控制信号,量化级别确定单元208提供将被重新使用的量化级别给量化器207,并且控制量化器207执行量化。
在控制器216的控制下,如果必要,图像重新安排单元203重新安排顺序地输入的图像数据的每一帧图像。图像重新安排单元203也生成由宏块组成的宏块数据,每个宏块由对应于该亮度信号的16×16亮度信号或色度信号组成,并且提供该宏块数据给运算单元204和运动矢量检测器205。
当接收到输入的宏块数据时,在控制器216的控制下,根据存储在帧存储器214中的宏块数据和参考图像数据,运动矢量检测器205计算每一宏块的运动矢量,并将计算的运动矢量提供给运动补偿器213作为运动矢量数据,或重新使用从控制器216提供的先前编码的运动矢量,并将它们提供给运动补偿器213。
根据每一宏块的图像类型,运算单元204对从图像重新安排单元203提供的宏块数据执行运动补偿。更具体地说,运算单元204,在I图像上以内部模式,在P图像上以向前(forward)预测模式,在B图像上以双向预测模式执行运动补偿。
在内部模式中,将被编码的帧图像直接地设置为传输数据。在向前预测模式中,将被编码帧图像和先前参考图像之间的预测残差设置为传输数据。在双向预测模式中,在将被编码的帧图像与先前参考图像和即将出现的参考图像的每一个之间的预测残差被设置为传输数据。
当宏块数据是I图像时,处理以内部模式进行。更具体地说,运算单元204发送输入的宏块数据给离散余弦变换(DCT)单元206作为运算数据。DCT单元206对输入的运算数据执行DCT,并发送作为结果的数据给量化器207作为DCT系数数据。
根据从量化级别确定单元208提供的量化级别Q,量化器207量化输入的DCT系数数据,并给VLC单元209和反量化器(dequantizer)210提供作为结果的数据,作为量化的DCT系数数据。在这种情况下,根据从量化级别确定单元208提供的量化级别Q,通过调整量化处理中的量化步长(step)大小,量化器207控制将被生成的代码的数量。
提供给反量化器210的量化DCT系数数据经受反量化器处理,此处理具有与在量化器207中的量化处理中所使用的步长大小相同的步长大小,并提供给反(inverse)DCT单元211,作为DCT系数数据。反DCT单元211对提供的DCT系数数据执行反DCT处理,并给运算单元212提供生成的运算数据。运算数据然后存储在帧存储器214中作为参考图像数据。
当宏块数据是P图像时,运算单元204对宏块数据以向前预测模式执行运动补偿。当宏块数据是B图像时,运算单元204对宏块数据以双向预测模式执行运动补偿。
根据运动矢量,运动补偿器213对存储在帧存储器214中的参考图像数据执行运动补偿,以便计算向前预测图像数据或双向预测图像数据。通过使用从运动补偿器213提供的向前预测图像数据或双向预测图像数据,运算单元204对宏块数据执行减法处理。
更具体地说,在向前预测模式中,根据运动矢量数据,运动补偿器213移动帧存储器214中的读出地址,以便读取参考图像数据,并将其提供给运算单元204和运算单元212,作为向前预测图像数据。运算单元204从提供的宏块数据中减去向前预测图像数据,以便获得差分数据作为预测残差。运算单元204然后给DOT单元206提供差分数据。
向前预测图像数据从运动补偿器213提供给运算单元212。运算单元212将向前预测图像数据添加到从反DCT单元211提供的运算数据,以便局部地回放参考图像数据,并且给帧存储器214输出参考图像数据并存储之。
在双向预测模式中,根据运动矢量数据,运动补偿器213移动帧存储器214中的读出的地址,以便读取参考图像数据,并且将其提供给运算单元204和运算单元212,作为双向预测图像数据。运算单元204从提供的宏块数据中减去双向预测图像数据,以便获得差分数据作为预测残差数据。运算单元204然后给DCT单元206输出差分数据。
双向预测图像数据从运动补偿器213提供给运算单元212。运算单元212将双向预测图像数据添加到从反DCT单元211提供的运算数据,以便局部地回放参考图像数据,并且输出之到帧存储器214并存储起来。
如上所述,输入到编码器161中的图像数据经受运动补偿预测处理、DCT处理和量化处理,并且被提供给VLC单元209作为量化的DCT系数数据。根据预定的转换表,VLC单元209对量化的DCT系数数据执行可变长度编码,并且输出作为结果的可变长度编码数据到缓冲器215中。缓冲器215缓冲提供的可变长度编码数据,然后输出其到流开关219中。
在控制器216的控制下,流开关219输出从缓冲器215提供的可变长度编码数据。
量化级别确定单元208一直监视缓冲器215中的可变长度编码数据的存储状态。在控制器216的控制下,量化级别确定单元208根据缓冲器占用信息或量化级别Q确定量化步长,所述缓冲器占用信息指示可变长度编码数据的存储状态,而量化级别Q包含在从控制器216提供的先前编码参数中。
如上所述,量化级别确定单元208从控制器216接收包含在先前编码参数中的量化级别Q,如果先前编码的量化级别能够被重新使用,则量化级别确定单元208根据量化级别Q就能够确定量化步长。
如果根据历史信息没有确定量化步长大小,当宏块代码的数量大于代码的目标数量时,量化级别确定单元208增加量化步长大小来减少代码的数量。相反地,如果代码的数量小于代码的目标数量,则量化级别确定单元208减少量化步长大小来增加代码的数量。
也就是说,通过假定为解码器提供的VBV缓冲器中可变长度编码数据的存储状态,量化级别确定单元208确定虚拟缓冲器中占用的可变长度编码数据,以便计算量化级别Q,并且将其提供给量化器207。
虚拟缓冲器中占用的第j个宏块代码的数量d(j)由下面的公式(1)表示d(j)=d(0)+B(j-1)-(T×(j-1)/MBcnt)...(1)其中d(0)指示最初的缓冲器容量,B(j)表示生成的第j个宏块的位的数目,MBcnt表示图像中宏块的数目,而T表示每一图像中将生成的代码的目标数量。
虚拟缓冲器中占用的第(j+1)个宏块的代码的数量d(j+1)由下面的公式(2)表示d(j+1)=d(0)+B(j)-(T×j)/MBcnt...(2)从公式(1)减去公式(2),虚拟缓冲器中占用的第(j+1)个宏块的代码的数量d(j+1)由下面公式(3)表示d(j+1)=d(j)+(B(j)-B(j1))-T/MBcnt...(3)如果图像中宏块包含内部片(slice)宏块和中间(inter)片宏块,那么量化级别确定单元208分别地设置代码Tpi和Tpp的目标数量,所述Tpi和Tpp分别分配给内部片宏块和中间片宏块。
于是,量化级别确定单元208将缓冲器中占用的代码d(j+1)的数量和公式(4)中指示的常数r代入公式(5)中,以便计算宏块(j+1)的量化索引数据Q(j+1),并且将其提供给量化器207。
r=(2×br)/pr...(4)其中br表示位率,而pr表示图像速率。
Q(j+1)=d(j+1)×(31/r)...(5)量化器207根据量化级别Q在随后的宏块中确定量化步长大小,并且根据确定的量化步长大小量化DCT系数数据。
因此,量化器207能够以量化步长大小量化DCT系数数据,该量化步长大小根据先前图像代码的实际数量已经计算出来,并且对于随后图像的代码的目标数量是理想的。
因此,根据缓冲器215中占用的数据数量,量化器207能够生成量化的DCT系数数据,其不会导致缓冲器215溢出或下溢,也不会导致为解码器提供的VBV缓冲器的溢出或下溢。
尽管已经给出了这种情况的描述,即以图像为单位执行编码处理,但是它可以以片或宏块为单位来执行。
本发明还可以实施于图4所示的系统。该系统中,输入图像编码为具有高位率的MPEG长GOP,并且MPEG长GOP被解码,解码的MPEG长GOP然后重新编码为低位率长GOP。由重新编码所引起的图像质量的劣化得以抑制。图16是示出符合本发明的系统结构的方框图,其中输入图像编码为具有高位率的MPEG长GOP,该MPEG长GOP被解码,而解码的MPEG长GOP然后重新编码为低位率MPEG长GOP。当重新编码该MPEG长GOP时,图像质量的劣化能够抑制,同时防止VBV缓冲器的溢出或下溢。对应于图4和5中的元件的元件具有类似的附图标记,这里不在加以解释。
在图16所示的系统中,代替编码装置1,提供图5和6所示的编码装置151,提供了代码转换器231代替代码转换器131。在该代码转换器231中,设置了编码器241代替编码器142。在该编码器241中,根据供应的流的条件,这样的历史信息(参数信息)能够被选中,并用于编码,所述历史信息能够在除了编辑点附近的预定重新使用禁止期间外的其它期间被重新使用。代码转换器231的配置类似于代码转换器131,除了编码器241不但接收由解码器141解码的信号,而且还接收输入到解码器141的流数据。
当接收到由编码装置151编码的MPEG长GOP流(ASI流)时,当在该解码器141中解码高位率MPEG长GOP时,代码转换器231获得所需的编码参数,并且将该解码的视频数据和获得的编码参数提供给该编码器241。通过使用编码参数,编码器241编码视频数据为低位率MPEG长GOP,并且输出低位率MPEG长GOP流(ASI流)。
图17是示出编码器241结构的方框图。在图17中,对应于图12所示的编码器161的元件的元件用类似的附图标记表示,因此不再加以解释说明。
编码器241的配置类似于图12所示的编码器161的配置,除了省去历史提取单元201和历史信息生成器218,并提供了参数输入单元251,其用于接收从解码器141提供的参数,并且将它们输出给控制器216。
根据提供给编码器161的流数据或由参数输入单元251获得的参数信息,编辑点检测器217检测编辑点。也就是说,编辑点检测器217在内置存储器中存储先前帧的附加编码信息(例如,Encoding_Start_Time_Code、Encoder_Serial_Number、Encoder_ID和Continuity_Counter分别作为Prev_Encoding_Start_Time_Code、Prev_Encoder_Serial_Number、Prev_Encoder_ID和Prev_Continuity_Counter)。如图13所示,编辑点检测器217比较这种信息和当前帧的附加编码信息,并且根据是否存在指示先前帧和当前帧之间间断性的因子来检测编辑点。编辑点检测器217可以通过检查标志信息而不是附加编码信息来检测编辑点,所述标志信息指示编辑点被添加到流数据中。
当接收到指示编辑点已经从编辑点检测器217中检测出来的信号后,如图14所示,控制器216设置参数重新使用禁止期间,并且控制图像重新安排单元203、运动矢量检测器205或量化级别确定单元208执行编码,而不使用包含在由参数输入单元251提取的编码参数信息中的先前编码参数。在参数重新使用禁止期间外的其它期间,控制器216接收来自参数输入单元251的参数信息,所述信息包含类似于图10和11论述的历史信息,控制器216并且根据指示于参数信息的因子是否与预定条件一致,控制图像重新安排单元203、运动矢量检测器205、量化级别确定单元208和流开关219的整体或部分的处理。
更具体地说,在除了参数重新使用禁止期间外的期间,控制器216确定先前编码的延迟模式、图像结构和下拉模式是否与当前编码一致。如果发现先前编码参数不同于当前编码的参数,控制器216确定执行以下论述的正常编码而不重新使用先前参数。延迟模式是以类似于SMPTE 329M的sequence_extension()函数中的low_delay的方式指示于参数信息中的信息,而图像结构和下拉模式是以类似于SMPTE 329M的picture_coding_extension()函数中的picture_structure、top_field_first和repeat_firt_field中的每一个的方式指示于参数信息中的信息。
如果先前编码的延迟模式、图像结构和下拉模式与当前编码的延迟模式、图像结构和下拉模式一致,控制器216确定将随后编码的图像帧是否与指示于该参数信息中的图像帧一致。如果发现图像帧是不同的,则仅仅重新使用关于图像类型的信息(以类似于参考图11描述的extension_and_user_data(2)的user_data(2)中指示的picture_coding_type方式指示于参数信息中的信息)。关于图像帧是否彼此一致的确定可以这样作出,即以类似于指示于SMPTE 329M的sequence_header()函数中的SMPTE 329M的horizontal_size_value和vertical_size_value、与SMPTE 329M的v_phase和h_phase的方式,比较指示于参数信息中的项。
如果确定重新使用先前编码的图像类型,则根据从控制器216提供的控制信号,基于包含在参数信息中的图像类型,图像重新安排单元203重新安排图像。
如果发现图像帧是相同的,则控制器216确定先前编码的位率是否小于当前编码的位率,以及先前编码的色度格式是否大于或等于当前编码的色度格式。如果任何一个条件都不满足,则除了图像类型,还重新使用运动矢量信息(以类似于指示在picture_data()函数的slice()函数中的motion_vectors信息的方式指示于参数信息中的项)。位率信息以类似于SMPTE 329M的extension_and_user_data(2)的user_data(2)中的bit_rate_value的方式表示于该参数信息中。色度格式信息以类似于SMPTE 329M的sequence_header()函数的chroma_format的方式指示于该参数信息中。
运动矢量检测器205从控制器216接收先前编码的运动矢量信息,并且重新使用它作为运动矢量。
如果先前编码的位率小于当前编码的位率,以及如果先前编码的色度格式大于或等于当前编码的色度格式,则控制器216确定参数信息指示的色度格式是否与当前编码一致。如果发现色度格式不同于当前编码的色度格式,则除了图像类型和运动矢量外控制器216还重新使用量化级别(q_scale)。
必要时,基于从控制器216提供的控制信号,量化级别确定单元208将用于先前编码的量化级别提供给量化器207,并且控制量化器207来执行量化。
如果发现先前编码的色度格式与当前编码的色度格式相同,控制器216控制流开关219,以输出输入到解码器141中的流数据。
在图17所示的编码器241中,正常编码处理类似于图12所示的编码器161中的正常编码处理,除了控制器216的处理确定是否重新使用关于包含在参数信息中的先前编码的信息,因此,在此不再加以详细解释。
在图12所示的编码器161或图17所示的编码器241中,如果没有重新使用历史信息或参数信息,则执行正常编码。如果重新使用图像类型,则重新使用包含在历史信息中的SMPTE 329M中的picture_coding_type或包含在该参数信息中的类似信息项。如果重新使用运动矢量,则重新使用这样的信息,该信息是从包含在历史信息中的red_bw_indicator=0或包含在参数信息中的类似信息项中减去q_scale_code而获得的信息。如果重新使用量化级别,则重新使用包含在历史信息中的red_bw_indicator=0或包含在参数信息中的类似信息项。如果输入到编码器161或241中的流被输出,则流开关219被控制以输出输入到该解码器141中的流数据。
参考图18的流程图,下面给出处理1的描述,处理1用于由图12所示的编码器161或图17所示的编码器241的编辑点检测器217通过使用被添加到编码流数据中的附加编码信息检测编辑点。
在此处理中,编码流数据的编辑点被检测出来,所述编码流数据包含在参考图7论述的编码数据生成处理1中生成的附加编码信息。
在步骤S61中,图12所示的编码器161或图17所示的编码器241获得编码流的一个帧。
在步骤S62中,图12所示编码器161或图17所示编码器241的编辑点检测器217分别获得历史信息或参数信息,所述历史信息由历史提取部分201提取,所述参数信息通过参数输入单元251获得。
在步骤S63中,编辑点检测器217从历史信息或参数信息中获得Encoder_Serial_Number、Encoder_ID和Continuity_Counter。
在步骤S64中,编辑点检测器217确定获得的帧是否是编码流的第一个帧。
如果步骤S64的结果是YES(是),处理进行到步骤S65。在步骤S65中,编辑点检测器217将获得的Encoder_Serial_Number、Encoder_ID和Continuity_Counter存储在内置存储器中,分别作为Prev_Encoder_Serial_Number、Prev_Encoder_ID和Prev_Continuity_Counter。然后处理返回到步骤S61,并且重复后面的步骤。
如果在步骤S64中确定获得的帧不是编码流的第一个帧,处理进行到步骤S66。在步骤S66中,编辑点检测器217分别将在步骤S63中获得的Encoder_Serial_Number、Encoder_ID和Continuity_Counter与存储在内置存储器中的Prev_Encoder_Serial_Number、Prev_Encoder_ID和Prev_Continuity_Counter进行比较。
在步骤S67中,编辑点检测器217根据步骤S66中的比较结果确定先前帧和当前帧之间是否存在指示间断性的因子。更具体地说,编辑点检测器217确定Encoder_Serial_Number是否不同于Prev_Encoder_Serial_Number,Encoder_ID是否不同于Prev_Encoder_ID、或Continuity_Counter是否和Prev_Continuity_Counter不是连续的。
如果步骤S67的结果是YES,编辑点217在步骤S68确定编辑点已经检测出来,并且向控制器216报告编辑点的检测。
如果在步骤S67确定没有指示先前帧和当前帧之间没有连续性的因子,或在步骤S68之后,处理进行到步骤S69。在步骤S69中,编辑点检测器217在内置存储器中存储获得的Encoder_Serial_Number、Encoder_ID和Continuity_Counter,分别作为Prev_Encoder_Serial_Number、Prev_Encoder_ID和Prev_Continuity_Counter。然后处理返回到步骤S61,并且重复后面的步骤。
根据这种处理,根据帧计数数目是否是连续的、以及编码先前帧的编码装置是否与编码当前帧的编码装置相同,就能够确定是否存在编辑点。
参考图19,现在给出处理2的描述,处理2通过使用添加到编码流数据的附加编码信息,由图12所示编码器161或图17所示编码器241的编辑点检测器217检测编辑点。
在此处理中,编码流数据的编辑点被检测出来,所述编码流数据包含由参考图8论述的编码数据生成处理生成的附加编码信息。
在步骤S81中,图12所示的编码器161或图17所示的编码器241获得编码流的一个帧。
在步骤S82中,图12所示的编码器161或图17所示的编码器241的编辑点检测器217分别获得历史信息或参数信息,所述历史信息由历史提取部分201提取,所述参数信息通过参数输入单元251获得。
在步骤S83中,编辑点检测器217从历史信息或参数信息中获得Continuity_Counter或Encoding_Start_Time_Code。
在步骤S84中,编辑点检测器217确定获得的帧是否是编码流的第一个帧。
如果步骤S84的结果是YES,处理进行到步骤S85。在步骤S85中,编辑点检测器217在内置存储器中存储获得的Continuity_Counter和Encoding_Start_Time_Code分别作为Prev_Continuity_Counter和Prev_Encoding_Start_Time_Code。然后处理返回到步骤S81,并且重复后面的步骤。
如果在步骤S84中确定获得的帧不是编码流的第一个帧,处理进行到步骤S86。在步骤S86中,编辑点检测器217将在步骤S83中获得的Continuity_Counter和Encoding_Start_Time_Code分别与存储在内置存储器中的Prev_Continuity_Counter和Prev_Encoding_Start_Time_Code进行比较。
在步骤S87中,编辑点检测器217根据步骤S86中的比较结果确定是否存在指示先前帧和当前帧之间间断性的因子。更具体地说,编辑点检测器217确定Continuity_Counter是否和Prev_Continuity_Counter不是连续的,或Encoding_Start_Time_Code是否不同于Prev_Encoding_Start_Time_Code。
如果步骤S87的结果是YES,编辑点217在步骤S88中确定编辑点已经检测出来并且向控制器216报告编辑点的检测。
如果在步骤S87中确定没有指示先前帧和当前帧之间没有连续性的因子,或步骤S88之后,处理进行到步骤S89。在步骤S89中,编辑点检测器217在内置存储器中存储获得的Continuity_Counter和Encoding_Start_Time_Code分别作为Prev_Continuity_Counter和Prev_Encoding_Start_Time_Code。然后该处理返回到步骤S81,并且重复后面的步骤。
根据此处理,根据帧计数数目是否是连续的,和先前帧的编码开始时间是否不同于当前帧,就能够确定是否存在编辑点。
参考图20的流程图,现在给出处理3的描述,处理3用于通过使用被添加到编码流数据的附加编码信息,由图12所示的编码器161或图17所示的编码器241的编辑点检测器217检测编辑点。
在此处理中,编码流数据的编辑点被检测出来,所述编码流数据包含参考图9论述的编码数据生成处理3中生成的附加编码信息。
在步骤S101中,图12所示的编码器161或图17所示的编码器241获得编码流的一个帧。
在步骤S102中,图12所示的编码器161或图17所示的编码器241的编辑点检测器217分别获得历史信息或参数信息,所述历史信息由历史提取部分201提取,所述参数信息通过参数输入单元251获得。
在步骤S103中,编辑点检测器217从历史信息或参数信息中获得Encoder_Serial_Number、Encoder_ID、Encoder_Start_Time_Code和ContinuityCounter。
在步骤S104中,编辑点检测器217确定获得的帧是否是编码流的第一个帧。
如果步骤S104的结果是YES,处理进行到步骤S105。在步骤S105中,编辑点检测器217在内置存储器中存储获得的Encoder_Serial_Number、Encoder_ID、Encoder_Start_Time_Code和Continuity_Counter,分别作为Prev_Encoder_Serial_Number、Prev_Encoder_ID、Prev_Encoder_Start_Time_Code和Prev_Continuity_Counter。然后该处理返回到步骤S101,并且重复后面的步骤。
如果在步骤S104中确定获得的帧不是编码流的第一个帧,处理进行到步骤S106。在步骤S106中,编辑点检测器217将在步骤S103中获得的Encoder_Serial_Number、Encoder_ID、Encoder_Start_Time_Code和Continuity_Counter分别与存储在内置存储器中的Prev_Encoder_Serial_Number、Prev_Encoder_ID、Prev_Encoder_Start_Time_Code和Prev_Continuity_Counter进行比较。
在步骤S107中,编辑点检测器217根据步骤S106中的比较结果确定是否存在指示先前帧和当前帧之间间断性的因子。更具体地说,编辑点检测器217确定Encoder_Serial_Number是否不同于Prev_Encoder_Serial_Number,Encoder_ID是否不同于Prev_Encoder_ID,Encoder_Start_Time_Code是否不同于Prev_Encoder_Start_Time_Code,或Continuity_Counter是否不连续于Prev_Continuity_Counter。
如果步骤S107的结果是YES,编辑点217在步骤S108中确定编辑点已经检测出来,并且向控制器216报告编辑点的检测。
如果在步骤S107中确定没有指示先前帧和当前帧间不存在连续性的因子,或步骤S108之后,该处理进行到步骤S109。在步骤S109中,编辑点检测器217在内置存储器中存储获得的Encoder_Serial_Number、Encoder_ID、Encoder_Stan_Time_Code和Continuity_Counter分别作为Prev_Encoder_Serial_Number、Prev_Encoder_ID、Prev_Encoder_Start_Time_Code和Prev_Continuity_Counter。然后处理返回到步骤S101,并且重复后面的步骤。
根据这种处理,根据帧计数数目是否是连续的、编码先前帧的编码装置是否与编码当前帧的编码装置相同、和先前帧的编码开始时间是否与当前帧的相同,就能够更高精度地确定是否存在编辑点。
使用通过参考图18、19、或20描述的处理所检测的编辑点,不仅用于在编码处理期间设置重新使用禁止期间,而且用于在回放操作期间检测帧的首标或场景变化。
参考图21的流程图,下面给出编码处理1的描述,根据由图12所示的编码器161或图17所示的编码器241检测的编辑点,处理1用于在编辑点前后(编辑点前后预定数目帧的区间)预定期间,即,在重新使用禁止期间,不使用历史信息或参数信息而执行编码。
在步骤S131中,图12所示的编码器161或图17所示的编码器241获得帧图像数据和附加信息,即历史信息或参数信息。
在步骤S132中,编码器161或编码器241的控制器216根据从编辑点检测器217提供的信号确定编辑点是否已经检测出来。
如果步骤S132的结果是YES,控制器216在步骤S133中将编辑点检测标志变为ON。
如果在步骤S132中确定编辑点没有检测出来,或在步骤S133之后,控制器216通过检查内置寄存器,在步骤S134中确定编辑点检测标志是否是OFF。
如果步骤S134的结果是NO,处理进行到步骤S135。在步骤S135中,控制器216从存储在缓冲器202中的流数据中检测编辑点紧前的P图像,并且设置一个期间作为重新使用禁止期间,该期间是从此P图像到此图像之前的某图像,该P图像确定作为在如下所述处理中重新使用许可(able)期间的开始。
例如,如果具有指示B图像的编码信息的图像是编辑点,则通常,该B图像参考在该B图像之前和之后的P图像。因此,如果重新使用历史信息或参数信息来编码一个范围,该范围从编辑点紧前的P图像到编辑点的图像,则可能生成VBV缓冲器的溢出或下溢。类似地,由于一些图像即使在编辑点之后也可以参考相邻图像,则必要的是,在受编辑点处间断性影响的期间,历史信息或参数信息应不被使用。
在步骤S136中,控制器216将内置寄存器中的重新使用停止标志变为ON并将编辑点检测标志变为OFF。
在步骤S137中,控制器216在该内置寄存器中重新设置变量Pic_cont和变量P_Pic_cont为0,所述变量Pic_cont用于计数图像数目,而变量P_Pic_cont用于计数P图像数目。
在步骤S138中,缓冲器202在预定的期间(至少比P图像间隔长的期间)缓冲提供的图像,然后输出它们。
在步骤S139中,控制器216控制图12所示的编码器161或图17所示的编码器241的元件,以不重新使用历史信息或参数信息而执行编码。然后该处理返回到步骤S132,并重复后面的步骤。
如果在步骤S134确定编辑点检测标志是OFF,控制器216在步骤S140中通过检查内置寄存器确定重新使用停止标志是否是OFF,即该帧是否在除了重新使用禁止期间之外的期间内。如果在步骤S140中确定重新使用停止标志是OFF,即,该帧是在除了重新使用禁止期间之外的期间,则处理进行到步骤S144。
如果在步骤S140中确定重新使用停止标志不是OFF,即该帧是在重新使用禁止期间,则在步骤S141中执行参考图22、24、或26如下文所述的重新使用重新开始确定处理。
如果执行以下参考图22论述的重新使用重新开始确定处理1,则在步骤S141中总是执行相同类型的处理。如果执行以下参考图24论述的重新使用重新开始确定处理2,则在步骤S141中总是执行相同类型处理。如果执行以下参考图26论述的重新使用重新开始确定处理3,在步骤S141中总是执行相同类型处理。或者,如果执行重新使用重新开始确定处理1,则在步骤S141中就不执行重新使用重新开始确定处理2或重新使用重新开始确定处理3。
作为在步骤S141中重新使用重新开始确定处理的结果,控制器216在步骤S142确定是否重新开始历史信息或参数信息的重新使用。如果步骤S142的结果是NO,处理进行到步骤S138,并重复步骤S138及其后面的步骤。
如果在步骤S142中确定重新开始历史信息或参数信息的重新使用,控制器216在步骤S143中将内置寄存器中的重新使用停止标志变为OFF。
如果在步骤S140中确定重新使用停止标志是OFF,即该帧在除了重新使用禁止期间外的期间,或步骤S143之后,处理进行到步骤S144。在步骤S144中,缓冲器202在预定期间(至少比P图像间隔长的期间)缓冲提供的图像,然后输出它们。
在步骤S145中,执行参考图28描述的参数重新使用编码处理。然后该处理返回到步骤S132,并重复步骤S132及其后面的步骤。
然而,即使确定重新使用停止标志是OFF,即,该帧在除了重新使用禁止期间外的期间,或确定开始历史信息或参数信息的重新使用,则如果对于随后的若干图像检测出编辑点,则重新使用禁止期间可以在步骤S135中设置。因此,如果在步骤S140中确定该重新使用停止标志是OFF,即该帧在重新使用禁止期间外的期间,或步骤S143之后,确定在重新使用禁止期间外的期间中的图像在预定期间暂时缓冲在缓冲器202中。然后,在步骤S145中,只有当对于随后的若干图像没有编辑点检测出来时,从缓冲器202输出的图像经受参数重新使用编码处理,其参考图28如下所述。
根据上述处理,根据该帧是否是在重新使用禁止期间内,能够确定历史信息或参数信息是否重新使用在编码处理中。
在图21的步骤S141中的重新使用重新开始确定处理1参考图22的流程图加以论述。
在步骤S161中,控制器216设置用于计数图像数目的变量Pic_cont为Pic_cont+1。
在步骤S162中,控制器216确定变量Pic_cont是否大于预定值n(例如,n=8)。
如果步骤S162的结果是YES,则控制器216在步骤S163中确定图21中在步骤S139或S145中将被编码的图像是否是I图像。
如果在步骤S163中确定该将被编码图像是I图像,则控制器216在步骤S164中确定从此图像重新开始历史信息或编码参数的重新使用。然后该处理返回到图21的步骤S142。
如果执行步骤S164,在步骤S142确定可以重新开始历史信息或参数的重新使用。因此,重新使用停止标志变为OFF,在步骤S145中执行参数重新使用编码处理。
如果在步骤S162中确定变量Pic_cont小于或等于预定值n,或在步骤S163中确定将被编码的图像不是I图像,则处理进行到步骤S165。在步骤S165中,控制器216确定从此图像不能重新开始历史信息或编码参数的重新使用,处理返回到图21的步骤S142。
如果执行步骤S165,则在步骤S142中确定不重新开始历史信息或参数的重新使用。因此,重新使用停止标志保持为ON,在步骤S145中不执行参数重新使用编码处理。
根据这种处理,能够确定重新开始历史信息或参数的重新使用的图像。例如,如图23所示,重新使用禁止期间A从时间上在编辑点A之前的一个P图像开始,到编辑点A之后预定数目n(例如,n=8)个图像后的第一个I图像结束。作为编辑点B,如果第一个I图像位于与编辑点仅仅相隔几个图像的位置,则历史信息或参数的重新使用不是从这个I图像重新开始,而是重新开始于位于编辑点B后预定数目n个(例如,n=8)图像后的I图像。
如果在步骤S164中确定可以重新开始先前编码信息的重新使用,则编码器161向历史信息生成器218提供涉及重新使用禁止期间的信息,而历史信息生成器218添加此信息到将被生成的历史信息。因此,不能检测编辑点或设置重新使用禁止期间的编码装置能够不重新使用历史信息而执行编码,从而防止VBV缓冲器的溢出或下溢,或图像质量的劣化。
现在参考图24的流程图论述图21的步骤S141中执行的重新使用重新开始确定处理2。
在步骤S181中,控制器216确定图21的步骤S139或S145中将被编码的图像是否是P图像或I图像。
如果步骤S181的结果是YES,该处理进行到步骤S182,其中控制器216设置用于计数P图像数目的变量P_Pic_cont为P_Pic_cont+1。然后,在步骤S183中,控制器216确定P_Pic_cont是否大于预定值m(例如,m=3)。
如果步骤S183的结果是YES,处理进行到步骤S184。在步骤S184,控制器216确定从此图像可以重新开始历史信息或编码参数的重新使用,并且该处理返回到图21的步骤S142。
如果执行步骤S184,则在步骤S142确定重新开始历史信息或参数的重新使用。因此,重新使用停止标志变为OFF,并且执行参数重新使用编码处理。
如果在步骤S181确定该将被编码图像不是P图像或I图像,或如果在步骤S183中确定P_Pic_cont小于或等于预定值m,处理进行到步骤S185。在步骤S185,控制器216确定从此图像不应该重新开始历史信息或编码参数的重新使用。然后该处理返回到图21的步骤S142。
如果执行步骤S185,则在步骤S142确定不重新开始历史信息或参数的重新使用。因此,重新使用停止标志保持为ON,并且不执行参数重新使用编码处理。
根据这种处理,能够确定重新开始历史信息或参数的重新使用的图像。例如,如图25所示,重新使用禁止期间从时间上位于编辑点之前的一个P图像开始,到编辑点后预定数目m(例如,m=3)个帧之后的I图像或P图像。
在此处理中,如果在步骤S184中确定可以重新开始先前编码信息的重新使用,则控制器216提供涉及重新使用禁止期间的信息给历史信息生成器218,并且历史信息生成器218添加此信息到将被生成的历史信息中。因此,不能检测编辑点或设置重新使用禁止期间的编码装置,能够不重新使用历史信息而执行编码,从而防止VBV缓冲器的溢出或下溢,或图像质量的劣化。
现在参考图26的流程图论述图21的步骤S141中执行的重新使用重新开始确定处理3。
在步骤S201,控制器216确定在图21的步骤S139或S145中的将被编码图像是否是P图像或I图像。
如果步骤S201的结果是YES,处理进行到步骤S202,其中控制器216将用于计数P图像数目的变量P_Pic_cont设置为P_Pic_cont+1。
如果在步骤S201确定将被编码图像不是P图像或I图像,或步骤S202后,控制器216在步骤S203中确定P_Pic_cont是否大于预定值m(例如,m=3)。
如果步骤S203的结果是YES,处理进行到步骤S204,其中控制器216设置用于计数图像数目的变量Pic_cont为Pic_cont+1。
然后,在步骤S205中,控制器216确定变量Pic_cont是否大于预定值n(例如,n=8)。
如果步骤S205的结果是YES,控制器216在步骤S206中确定在图21的步骤S139或步骤S145中将被编码图像是否是I图像。
如果在步骤S206中确定将被编码图像是I图像,该处理进行到步骤S207。在步骤S207中,控制器216确定从此图像可以重新开始历史信息或编码参数的重新使用,并且该处理返回到图21的步骤S142。
如果执行步骤S207,则在步骤S142中确定可以重新开始历史信息或参数的重新使用。因此,重新使用停止标志变为OFF,并且执行参数重新使用编码处理。
如果在步骤S203确定P_Pic_cont小于或等于预定值m,或如果在步骤S205中确定Pic_cont小于或等于该预定值n,或如果在步骤S206中确定该将被编码图像不是I图像,则处理进行到步骤S208。在步骤S208,控制器216确定从此图像不能重新开始历史信息或参数的重新使用,并且该处理返回到图21的步骤S142。
如果执行步骤S208,则在步骤S142确定不能重新开始历史信息或参数的重新使用。因此,重新使用停止标志保持为ON,并且不执行该参数重新使用编码处理。
根据这种处理,能够确定重新开始历史信息或参数的重新使用的图像。例如,如图27所示,重新使用禁止期间从时间上在编辑点之前的一个P图像开始,到从编辑点之后预定数目m(例如,m=3)个I图像或P图像开始计数的预定数目n(例如,n=8)个图像之后的I图像。
如果在步骤S207确定可以重新开始先前编码信息的重新使用,则编码器161提供涉及重新使用禁止期间的信息给历史信息生成器218,并且该历史信息生成器218可添加此信息到将被生成的历史信息中。因此,不能检测编辑点或设置重新使用禁止期间的编码装置能够不重新使用历史信息而执行编码,从而防止VBV缓冲器的溢出或者下溢,或者图像质量的劣化。
参考图28的流程图,下文描述在图21的步骤S145中的参数重新使用编码处理,所述处理由图12所示的编码器161或图17所示的编码器241来执行。
在步骤S221中,控制器216接收来自历史信息提取单元171的历史信息或来自参数输入单元251的参数信息,通过检查包含在历史信息中的SMPTE329M的sequence_extension()函数的low_delay和picture_coding_extension()函数的picture_structure、top_field_first和repeat_firt_field,或包含在参数信息中的类似的信息项,确定先前编码的延迟模式、图像结构和下拉模式是否与当前编码一致。
如果在步骤S221中确定先前编码的延迟模式、图像结构和下拉模式与当前编码不一致,则处理进行到步骤S222。在步骤S222中,控制器216控制编码器161或编码器241的单个元件,以不重新使用历史信息或参数来执行编码,然后该处理终止。
如果在步骤S221中确定先前编码的延迟模式、图像结构和下拉模式与当前编码一致,处理进行到步骤S223。在步骤S223中,通过检查指示在SMPTE329M的sequence_header()函数中的horizontal_size_value和vertical_size_value、以及SMPTE 329M的v_phase和h_phase、以及包含在参数信息中的类似信息项,控制器216确定先前编码的图像帧的位置和大小两者是否与当前编码中一致。
如果在步骤S223确定先前编码的图像帧的位置和大小中至少一个不同于当前编码,处理进行到步骤S224。在步骤S224,控制器216通过重新使用关于图像类型(picture_coding_type)的信息确定执行编码,并通过重新使用图像类型信息以控制图像重新安排单元203来重新安排该图像,并控制其它元件执行编码。然后,处理结束。
如果在步骤S223中确定先前编码的图像帧的位置和大小两者与当前编码的相同,处理进行到步骤S225。在步骤S225中,控制器216通过检查包含在历史信息中的SMPTE 329M的extension_and_user_data(2)中的user_data(2)的bit_rate_value、以及sequence_header()函数中的chroma_format、和包含在参数信息中的类似的信息项,确定先前编码的位率是否小于当前编码的位率,以及先前编码的色度格式是否大于或等于当前编码。
如果在步骤S225中确定先前编码的位率大于或等于当前编码,或先前编码的色度格式小于当前编码,则处理进行到步骤S226。在步骤S226中,控制器216通过重新使用图像类型和运动矢量(motion_vectors信息)确定执行编码,并且通过重新使用图像类型信息控制图像重新安排单元203来重新安排图像,并控制运动矢量检测器205来重新使用先前编码的运动矢量信息,以及控制其它元件执行编码。然后处理结束。
如果在步骤S225中确定先前编码的位率小于当前编码、而且先前编码的色度格式大于或等于当前编码,则处理进行到步骤S227。在步骤S227,控制器216确定参数是否从解码器141提供(也就是说,通过重新使用该参数信息而不是历史信息来执行编码),并且通过检查类似于SMPTE 329M的sequence_header()函数的chroma_format的信息,确定参数的色度格式是否与当前编码一致。也就是说,例如,如果包含编码器241的代码转换器231转换4:2:0格式为4:2:2格式,则确定两个色度格式不是相同的。
如果在步骤S227中确定历史信息从解码器161提供,而不是参数来自于解码器141,或参数信息的色度格式与当前编码的色度格式不一致,则处理进行到步骤S228。在步骤S228中,控制器216通过重新使用图像类型、运动矢量和量化级别(q_scale)确定执行编码。更具体地说,控制器216通过重新使用图像类型信息控制图像重新安排单元203来重新安排图像,运动矢量检测器205重新使用先前编码的运动矢量信息,以及控制量化级别确定单元208提供量化级别给量化器207以及允许量化器207执行量化,所述量化级别包含在历史信息或参数信息中,以及控制其它元件执行编码。然后该处理结束。
如果在步骤S227中确定参数从解码器141提供而且参数信息的色度格式与当前编码是相同的,则处理进行到步骤S229。在步骤S229中,控制器216控制流开关219输出输入到解码器141中的流数据,然后处理结束。
根据这种处理,在比较先前编码和当前编码的因子以后,根据是否满足一定的条件,可以选择能够重新使用的编码信息的项。具有这种安排,即使重复地执行解码以及编码,图像质量仍然得以保持。
根据参考图28的流程图论述的处理,通过比较先前编码的编码参数与当前编码的编码参数,在步骤S221、S223、S225和S227中确定是否满足预定条件。然而,如果在一个数据传输系统中,固定一些参数,则可以省去上述参数的确定处理。
也就是说,在数据传输系统中,如果满足预定条件,例如,固定许多参数,则不在诸如步骤S221、S223、S225或S227中执行确定处理,通过重新使用涉及先前编码的信息,即历史信息或参数信息,就可以执行重新编码。
在参考图21到28描述的处理中,关于历史信息或参数是否能够重新使用的确定是通过确定帧是否处于重新使用禁止期间而作出的。然而,除重新使用禁止期间之外,还可以提供部分重新使用许可期间。更具体的说,在重新使用禁止期间之后,可以提供部分历史信息或参数可重新使用的期间,然后,编码处理能够通过重新使用这些历史信息或参数来执行。在这种情况下,代替重新使用停止标志,控制器216在内置寄存器内具有重新使用整体停止标志和重新使用部分停止标志。
通过使用部分重新使用许可期间执行的编码处理参考图29的流程图描述如下。
步骤S241到S245分别类似于图21的步骤S131到S135。
更具体地说,在步骤S241中,获得帧图像数据及其附加信息。然后在步骤S242确定编辑点是否已经检测出来。如果发现编辑点已经检测出来,在步骤S243中编辑点检测标志变为ON。如果发现编辑点没有检测出来或在步骤S243之后,在步骤S244检查内置寄存器来确定编辑点检测标志是否是OFF。如果发现编辑点检测标志不是OFF,则从存储在缓冲器202中的流数据检测编辑点紧前的P图像,并且从此P图像设置重新使用禁止期间。
在步骤S246,控制器216把重新使用整体停止标志变为ON并把重新使用部分停止标志变为ON,并且把内置寄存器中编辑点检测标志变为OFF。
步骤S247到S249分别类似于图21的步骤S137到S139。
更具体地说,在步骤S247中,用于计数图像数目的变量Pic_cont和用于计数P图像数目的变量P_Pic_cont设置为0。然后,在步骤S248,提供的图像缓冲预定的期间(至少比P图像间隔长的期间),然后输出。在步骤S249,不重新使用历史信息或参数而执行编码。然后该处理返回到步骤S242,并且重复步骤S242及其后面的步骤。
如果在步骤S244中确定编辑点检测标志是OFF,在步骤S250中控制器216确定内置寄存器中的重新使用整体停止标志和重新使用部分停止标志是否是OFF。如果步骤S250的结果是YES,处理进行到步骤S258。
如果在步骤S250中,确定重新使用整体停止标志或重新使用部分停止标志中至少一个不是OFF,则在步骤S251执行参考图30如下所述的整体/部分重新使用重新开始确定处理。
在步骤S252,控制器216根据在步骤S251中部分/整体重新使用重新开始确定处理的结果,确定是否重新开始整体重新使用参数或历史信息。如果步骤S252的结果是YES,处理进行到步骤S257。
如果在步骤S252中确定不重新开始参数或历史信息的整体重新使用,根据在步骤S251中的部分/整体重新使用重新开始确定处理的结果,控制器216在步骤S253中确定是否重新开始参数或历史信息的部分重新使用。如果步骤S253的结果是NO,处理进行到步骤S248。
如果在步骤S253中确定重新开始参数或历史信息的部分重新使用,则控制器216在步骤S254把重新使用部分停止标志变为OFF。
然后,在步骤S255中,缓冲器202缓冲提供的图像预定的期间(至少比P图像间隔长的期间),然后输出它们。然而,参数或历史信息能够部分地重新使用的图像在缓冲器202缓冲预定的期间,并且仅当对于几个图像没有检测到编辑点时,处理进行到步骤S256。
在步骤S256中,执行参考图32或33如下所述的参数部分重新使用重新开始编码处理。然后处理返回到步骤S242,并且重复步骤S242及其后面的步骤。
如果在步骤S252中确定重新开始参数或历史信息的整体重新使用,在步骤S257控制器216把内置寄存器中的重新使用整体停止标志变为OFF。
如果S250中确定重新使用整体停止标志和重新使用部分停止标志是OFF,或步骤S257之后,处理进行到步骤S258。在步骤S258,提供的图像在缓冲器202中缓冲预定的期间(至少比P图像间隔长的期间),然后输出。然而,能够整体地重新使用参数或历史信息的图像在缓冲器202缓冲预定的期间,并且只有当编辑点在若干图像中没有被检测出来时,处理进行到步骤S259。
然后,在步骤S259中,执行参考图28描述的参数重新使用编码处理。然后处理返回到步骤S242并重复步骤S242及其后面的步骤。
根据这种处理,根据帧是否是在重新使用禁止期间或部分重新使用许可期间,确定参数或历史信息的重新使用是否能够整体或部分地重新开始。
参考图30的流程图,现在给出在图29的步骤S251中的部分/整体重新使用重新开始确定处理的描述。
在步骤S271中,控制器216确定图29的步骤S249、S256或S259中将被编码的图像是否是P图像或I图像。
如果步骤S271的结果是YES,处理进行到步骤S272,其中控制器216设置用于计数P图像数目的变量P_Pic_cont为P_Pic_cont+1。
如果在步骤S271确定将被编码的图像不是P图像或I图像,或步骤S272之后,控制器216在步骤S273中确定P_Pic_cont是否大于一预定值m(例如,m=3)。
如果步骤S273的结果是YES,处理进行到步骤S274。在步骤S274,控制器216确定对于此图像能够重新开始历史信息或参数的部分重新使用,然后处理返回到图29的步骤S252。
如果执行步骤S274,则在图29的步骤S252中确定不重新开始参数或历史信息的整体重新使用,但是在步骤S253中确定重新开始参数或历史信息的部分重新使用。因此,至少重新使用部分停止标志变为OFF,并且执行参数部分重新使用编码处理。
如果在步骤S273中确定P_Pic_cont小于或等于该预定值m,处理进行到步骤S275。在步骤S275,控制器216确定从此图像不能整体或部分地重新开始历史信息或参数的重新使用。处理返回到图29的步骤S252。
如果执行步骤S275,则在图29的步骤S252中确定不能重新开始参数或历史信息的整体重新使用,然后在步骤S253确定不能重新开始参数或历史信息的部分重新使用。因此,在步骤S249,不重新使用参数或历史信息而执行编码。
在步骤S276,控制器216设置用于计数图像数目的变量Pic_cont为Pic_cont+1。
然后,在步骤S277,控制器216确定变量Pic_cont是否大于一预定值n(例如,n=8)。
如果步骤S277的结果是YES,控制器216在步骤S278中确定图29的步骤S249、S256或S259中将被编码的图像是否是I图像。
如果在步骤S278中确定将被编码图像是I图像,控制器216在步骤S279中确定能够从此图像重新开始参数或历史信息的整体重新使用。然后处理返回到图29的步骤S252。
如果执行步骤S279,则在图29的步骤S252中确定能够重新开始参数或历史信息的整体重新使用。因此,重新使用整体停止标志变为OFF,并且执行参数重新使用编码处理。
如果在步骤S277中确定变量Pic_cont小于或等于预定值n,或如果在步骤S278中确定将被编码图像不是I图像,则处理进行到步骤S280。在步骤S280,控制器216确定不能重新开始历史信息或参数的整体重新使用,并且处理返回到图29的步骤S252。
如果执行步骤S280,则在图29的步骤S252确定不能重新开始参数或历史信息的整体重新使用,并且然后在步骤S253中确定能够重新开始参数或历史信息的部分重新使用。因此,重新使用部分停止标志变为OFF,并且执行参数部分重新使用编码处理。
根据这种处理,能够部分地重新开始参数或历史信息的图像和能够整体地重新开始参数或历史信息的图像能够被确定。例如,如图31所示,重新使用禁止期间从时间上在编辑点之前的一个P图像开始,到编辑点后第预定数目m(例如,m=3)个I图像或P图像。在这期间,不参考历史信息或参数执行编码。然后,部分重新使用许可期间从紧接着重新使用禁止期间之后的图像开始,到重新使用禁止期间结束后的预定数目n(例如,n=8)个图像之后的第一个I图像。在部分重新使用许可期间,通过重新使用部分的先前编码参数执行编码处理,其参考图32或33论述。
编码器161的控制器216向历史信息生成器218提供涉及重新使用禁止期间和部分重新使用许可期间信息,所述信息是由图30所示的处理设置的,然后历史信息生成器218添加此信息到将被生成的历史信息中。利用这种安排,在重新使用禁止期间,不能检测编辑点、或设置重新使用禁止期间或部分重新使用许可期间的编码装置不重新使用历史信息就能够执行编码,并且在部分重新使用许可期间,通过重新使用部分的历史信息就能够执行编码。因此,能够防止VBV缓冲器的溢出或下溢和图像质量的劣化。
在图29的步骤S256中的参数部分重新使用编码处理中,通过重新使用部分的编码参数执行编码,所述编码参数在参数重新使用编码处理中能够重新使用。有两类型处理参数部分重新使用编码处理1,其中根据条件重新使用图像类型和运动矢量;参数部分重新使用编码处理2,其中根据条件仅仅重新使用图像类型。
图29的步骤S256中的参数部分重新使用编码处理1参考图32的流程图描述如下。
在步骤S301,控制器216接收来自历史信息提取单元171的历史信息或来自参数输入单元251的参数信息,然后通过检查包含在历史信息中的SMPTE 329M的sequence_extension()函数中low_delay和picture_coding_extension()函数中的picture_structure、top_field_first和repeat_firt_field、或包含在参数信息中的类似信息项,确定先前编码的延迟模式、图像结构和下拉模式是否与当前编码一致。
如果在步骤S301中确定先前编码的延迟模式、图像结构和下拉模式与当前编码不一致,则处理进行到步骤S302。在步骤S302,控制器216控制编码器161或编码器241的单个元件执行编码,而不重新使用历史信息或参数,然后处理返回到图29的步骤S242。
如果在步骤S301中确定先前编码的延迟模式、图像结构和下拉模式与当前编码一致,则处理进行到步骤S303。在步骤S303,控制器216通过检查指示在SMPTE 329M的sequence_header()函数中的horizontal_size_value和vertical_size_value和SMPTE 329M的v_phase和h_phase、或包含在参数信息中的类似的信息项,确定先前编码的图像帧的位置和大小两者是否都与当前重新编码一致。
如果在步骤S303中确定先前编码的图像帧的位置和大小中至少一个不同于当前的重新编码,处理进行到步骤S304。在步骤S304,控制器216确定通过重新使用关于图像类型(picture_coding_type)的信息来执行编码,控制图像重新安排单元203通过重新使用图像类型的信息来重新安排图像,并且控制其它元件执行编码。然后处理返回到图29的步骤S242。
如果在步骤S303中确定先前编码的图像帧的位置和大小两者与当前重新编码的相同,处理进行到步骤S305。在步骤S305中,控制器216确定通过重新使用涉及图像类型(picture_coding_type)和运动矢量(motion_vectors信息)的信息来执行编码。控制器216然后控制图像重新安排单元203通过重新使用图像类型的信息来重新安排图像,并控制运动矢量检测器205来重新使用先前编码的运动矢量信息,以及控制其它元件执行编码。然后该处理返回到图29的步骤S242。
根据这种处理,比较先前编码和当前编码的因子之后,根据是否满足一定的条件,能够部分地选择编码信息的项,所述编码信息能够重新使用。利用这种安排,即使解码和编码重复地执行,图像质量也能够保持。
根据参考图32的流程图论述的处理,通过比较先前编码的编码参数和当前编码的编码参数,在步骤S301和S303中确定是否满足预定条件。然而,如果在数据传输系统中固定一些参数,则可以省去这种参数的确定处理。
图29的步骤S256中参数部分重新使用编码处理2参考图33的流程图描述如下。
在步骤S321,控制器216接收来自历史信息提取单元171的历史信息或来自参数输入单元251的参数信息,然后通过检查包含在历史信息中的SMPTE 329M的sequence_extension()函数的low_delay和picture_coding_extension()函数中的picture_structure、top_field_first和repeat_firt_field、或包含在参数信息中的类似信息项,确定先前编码的延迟模式、图像结构和下拉模式是否与当前编码一致。
如果在步骤S321中确定先前编码的延迟模式、图像结构和下拉模式与当前编码不一致,处理进行到步骤S322。在步骤S322中,控制器216控制编码器161或编码器241的单个元件来执行编码,而不重新使用历史信息或参数,然后该处理返回到图29的步骤S242。
如果在步骤S321中确定先前编码的延迟模式、图像结构和下拉模式与当前编码一致,处理进行到步骤S323。在步骤S323,控制器216确定通过重新使用涉及图像类型(picture_coding_type)的信息来执行编码,并且控制图像重新安排单元203通过重新使用图像类型的信息来重新安排图像,并控制其它元件执行编码。然后处理返回到图29的步骤S242。
根据这种处理,比较先前编码和当前编码的因子之后,如果满足一定的条件,仅仅选择图像类型作为能够重新使用的编码信息。利用这种安排,即使解码和编码重复地执行,图像质量也能够保持。
根据参考图33的流程图论述的处理,在步骤S321通过比较先前编码的编码参数和当前编码,确定是否满足预定条件。然而,如果在数据传输系统中固定一些参数,可以省略这种参数的确定处理。
本发明适用于低迟延编码,其不要求重新排序处理。在低迟延编码中,仅仅使用P图像,而不使用导致重新排序延迟的B图像和生成大量代码的I图像,P图像被分成若干数量的内部片和剩余数量的中间片。
在低迟延编码中,仅仅P图像用于每一帧图像,并且例如,在大小为24×45宏块的图像帧中,从该图像顶端的2列宏块和45行宏块分配给一个内部片,而其它的宏块分配给中间片。本发明能够应用于这类低迟延编码。在这种情况下,内部片可以不同于如上所述的大小;例如,一列宏块和45行宏块可以分配给该内部片。
当图像通过内部帧压缩来编码的时候,本发明也可以使用。
尽管上述描述的实施例中,编码器161或241压缩图像是通过MPEG方法,但是也可以使用其它类型图像压缩方法。
在前述实施例中,用于转换流数据的每一代码转换器包括解码器和编码器。然而,在本发明中,解码器和编码器可以分别单独地形成为独立的解码装置和编码装置。
更具体地说,尽管上述描述的实施例中,每一代码转换器转换流数据,如图34所示,解码装置271和编码装置272可以单独地形成,所述解码装置271用于解码流数据为基带信号,所述编码装置272用于编码基带信号成为流数据。或者,解码装置271不必整体地解码提供的流数据,在这样情况下,编码装置272仅仅编码所解码的数据。
例如,如果解码装置271解码VLC代码并执行反量化,而不进行反DCT处理,则编码装置272执行量化和VLC处理,但是不进行DCT处理。本发明能用于确定是否重新使用量化处理中的量化级别,所述量化处理由执行部分编码的编码装置272执行。
或者,当解码装置271整体地解码流数据为基带信号时,编码装置272部分地编码该基带信号(例如,编码装置272执行DCT处理和量化,而不进行VLC处理)。当解码装置271仅仅执行部分解码(例如,解码装置271仅仅解码VLC代码并执行反量化,而不执行反DCT处理)时,编码装置272对解码数据执行部分编码(例如,编码装置272执行量化,而不执行VLC处理)。
本发明适用于包括解码装置271和编码装置272的代码转换器281,所述解码装置271用于执行部分解码(执行部分的解码处理步骤),所述编码装置272用于执行部分编码(执行部分的编码处理步骤)。代码转换器281能和用于执行编辑,例如拼接,的编辑装置282一起使用。
上述一系列处理可以由硬件或软件执行。在这种情况下,代码转换器152或231能够形成例如图35所示的个人计算机301。
在图35中,根据存储在只读存储器(ROM)312中的程序或从存储单元318加载到随机存取存储器(RAM)313中的程序,中央处理单元(CPU)311执行各种不同类型的处理。在RAM 313中,还存储了由CPU 311执行各种不同类型处理所需要的数据。
CPU 311、ROM 312和RAM 313经由总线314彼此连接。输入/输出接口315也连接到总线314。
输入/输出接口315还连接到输入单元316、输出单元317、存储单元318和通信单元319,所述输入单元316包括键盘和鼠标,所述输出单元317包括显示器和扬声器,所述存储单元318包括硬盘,所述通信单元319包括调制解调器和终端适配器。通信单元319经由网络,例如因特网,执行通信处理。
驱动器320还连接到输入/输出接口315,磁盘331、光盘332、磁光盘333、或半导体存储器334安装在驱动器320上,从这种记录媒体中读取的计算机程序安装在存储单元318中。
如果使用软件执行上述系列处理,相应的软件程序就从记录媒体或经由网络安装到内置了专用硬件的计算机或通用计算机中来执行各种类型功能,所述通用计算机能够安装各种类型的程序。
此记录媒体可以由其中存储程序的封装媒体形成,所述程序各自从装置配送,以向用户提供程序,所述媒体例如,磁盘331(包括软盘)、光盘332(包括光盘只读存储器(CD-ROM)和数字化多功能盘(DVD))、磁光盘333(包括小型盘(MD)(商标))或半导体存储器334。记录媒体可以由存储程序的ROM 312、或包含在存储单元318中的硬盘形成,其是以集成为装置的状态提供给用户的。
附加编码信息除可添加到每一个帧之外,还可以被添加到一个场、具有相同图像类型的相邻帧、或GOP。另外,除以帧为单位之外,编辑点还可以以场为单位检测。或者,一个帧可以从具有相同图像类型的相邻的帧或GOP中选出,以便在具有相同图像类型的相邻帧中或在GOP中检测编辑点。
在此说明书中,形成存储在存储媒体中的程序的步骤,可按本说明书描述的时间顺序执行。或者,这些步骤可以同时或分别地执行。
在此说明书中,表示整体装置的系统由多个装置组成。
权利要求
1.一种图像处理装置,用于对图像数据执行至少部分编码处理,包括存储装置,用于存储识别信息,所述识别信息用于唯一地识别图像处理装置;数据转换装置,用于对图像数据执行至少部分编码处理;和输出装置,用于输出图像数据的每一预定单元,所述每一预定单元经受所述由数据转换装置执行的至少部分编码处理,以便该单元与存储在存储装置中的识别信息相关联。
2.一种图像处理装置,用于对图像数据执行至少部分编码处理,包括数据转换装置,用于对图像数据执行至少部分编码处理;和输出装置,用于获得指示这样的时间的时间信息,即在该时间由数据转换装置开始图像数据的编码处理;并且用于输出图像数据的每一预定单元,所述每一预定单元经受所述由数据转换装置执行的至少部分编码处理,以便该单元与时间信息相关联。
3.根据权利要求1所述的图像处理装置,其中存储在存储装置中的识别信息包括序号。
4.根据权利要求1所述的图像处理装置,其中存储在存储装置中的识别信息包括装置ID。
5.根据权利要求1所述的图像处理装置,还包括计数装置,用于改变图像数据的所述每一单元的计数数目,其中,输出装置输出图像数据的单元,所述单元经受所述由数据转换装置执行的至少部分编码处理,以便该单元与存储在存储装置中的识别信息和由计数装置改变的计数数目相关联。
6.根据权利要求1所述的图像处理装置,其中输出装置经由传输信道输出图像数据的所述每一单元,以便该单元与存储在存储装置中的识别信息相关联。
7.根据权利要求1所述的图像处理装置,其中输出装置输出图像数据的所述每一单元,以便该单元与存储在存储装置中的识别信息相关联,并在记录媒体中记录图像数据的所述每一单元。
8.根据权利要求1所述的图像处理装置,其中该单元包括帧、场、或图像或GOP的相同编码类型的相邻的帧。
9.根据权利要求2所述的图像处理装置,还包括计数装置,用于改变图像数据的所述每一单元的计数数目,其中,输出装置输出图像数据的所述每一单元,所述每一单元经受所述由数据转换装置执行的至少部分编码处理,以便该单元与时间信息和由计数装置改变的计数数目相关联。
10.根据权利要求2所述的图像处理装置,其中输出装置经由传输信道输出图像数据的所述每一单元,以便该单元与时间信息相关联。
11.根据权利要求2所述的图像处理装置,其中输出装置输出图像数据的所述每一单元,以便该单元与时间信息相关联,并在记录媒体中记录图像数据的所述每一单元。
12.根据权利要求2所述的图像处理装置,还包括存储装置,用于存储用来唯一地识别图像处理装置的识别信息,其中输出装置输出图像数据的所述每一单元,所述每一单元经受所述由数据转换装置执行的至少部分编码处理,以便该单元与时间信息和识别信息相关联。
13.根据权利要求12所述的图像处理装置,其中存储在存储装置中的识别信息包括序号。
14.根据权利要求12所述的图像处理装置,其中存储在存储装置中的识别信息包括装置ID。
15.根据权利要求12所述的图像处理装置,其中该单元包括帧、场、或图像或GOP的相同编码类型的相邻帧。
16.根据权利要求12所述的图像处理装置,还包括计数装置,用于改变图像数据的所述每一单元的计数数目,其中,输出装置输出图像数据的所述每一单元,所述每一单元经受所述由数据转换装置执行的至少部分编码处理,以便该单元与时间信息、识别信息、和由计数装置改变的计数数目相关联。
17.一种图像处理方法,用于对图像数据执行至少部分编码处理的图像处理装置,该图像处理方法包括数据转换步骤,对图像数据执行至少部分编码处理;和输出步骤,输出图像数据的每一预定单元,所述每一预定单元经受所述在数据转换步骤中执行的至少部分编码处理,以便该单元与唯一地识别图像处理装置的识别信息相关联。
18.一种图像处理方法,用于对图像数据执行至少部分编码处理的图像处理装置,该图像处理方法包括获取步骤,获取指示开始图像数据的编码处理的时间的时间信息;数据转换步骤,对图像数据执行至少部分编码处理;和输出步骤,输出图像数据的每一预定单元,所述每一预定单元经受所述在数据转换步骤中执行的至少部分编码处理,以便该单元与在获取步骤中获取的时间信息相关联。
19.根据权利要求17所述的图像处理方法,其中识别信息包括序号。
20.根据权利要求17所述的图像处理方法,其中识别信息包括装置ID。
21.根据权利要求17所述的图像处理方法,还包括计数步骤,改变图像数据的所述每一单元的计数数目,其中,输出步骤输出图像数据的所述每一单元,所述每一单元经受所述在数据转换步骤执行的至少部分编码处理,以便该单元与识别信息和在计数步骤中改变的计数数目相关联。
22.根据权利要求17所述的图像处理方法,其中输出步骤经由传输信道输出图像数据的所述每一单元,以便该单元与识别信息相关联。
23.根据权利要求17所述的图像处理方法,其中输出步骤输出图像数据的所述每一单元,以便该单元与识别信息相关联,并且在记录媒体中记录图像数据的所述每一单元。
24.根据权利要求18所述的图像处理方法,还包括计数步骤,用于改变图像数据的所述每一单元的计数数目,其中,输出步骤输出图像数据的所述每一单元,所述每一单元经受所述在数据转换步骤执行的至少部分编码处理,以便该单元与时间信息和在计数步骤改变的计数数目相关联。
25.根据权利要求18所述的图像处理方法,其中输出步骤经由传输信道输出图像数据的所述每一单元,以便该单元与时间信息相关联。
26.根据权利要求18所述的图像处理方法,其中输出步骤输出图像数据的所述每一单元,以便该单元与时间信息相关联,并且在记录媒体中记录图像数据的所述每一单元。
27.根据权利要求18所述的图像处理方法,其中输出步骤输出图像数据的所述每一单元,所述每一单元经受所述在数据转换步骤中执行的至少部分编码处理,以便该单元与时间信息和用于唯一地识别图像处理装置的识别信息相关联。
28.根据权利要求27所述的图像处理方法,其中识别信息包括序号。
29.根据权利要求27所述的图像处理方法,其中识别信息包括装置ID。
30.根据权利要求27所述的图像处理方法,还包括计数步骤,改变图像数据的所述每一单元的计数数目,其中输出步骤输出图像数据的所述每一单元,所述每一单元经受所述在数据转换步骤中执行的至少部分编码处理,以便该单元与时间信息、识别信息、和在计数步骤中改变的计数数目相关联。
31.一种程序,用于允许计算机执行图像处理方法,所述方法用于对图像数据执行至少部分编码处理,该图像处理方法包括数据转换步骤,对图像数据执行至少部分编码处理;和输出步骤,输出图像数据的每一预定单元,所述每一预定单元经受所述在数据转换步骤执行的至少部分编码处理,以便该单元与唯一地识别计算机的识别信息相关联。
32.一种程序,用于允许计算机执行图像处理方法,所述方法用于对图像数据执行至少部分编码处理,该图像处理方法包括获取步骤,获取指示开始图像数据的编码处理的时间的时间信息;数据转换步骤,对图像数据执行至少部分编码处理;和输出步骤,输出图像数据的每一预定单元,所述每一预定单元经受所述在数据转换步骤执行的至少部分编码处理,以便该单元与在获取步骤中获取的时间信息相关联。
33.一种记录媒体,其中存储用于允许计算机执行图像处理方法的程序,所述方法用于对图像数据执行至少部分编码处理,该图像处理方法包括数据转换步骤,对图像数据执行至少部分编码处理;和输出步骤,输出图像数据的每一预定单元,所述每一预定单元经受所述在数据转换步骤执行的至少部分编码处理,以便该单元与唯一地识别计算机的识别信息相关联。
34.一种记录媒体,其中存储用于允许计算机执行图像处理方法的程序,所述方法用于对图像数据执行至少部分编码处理,该图像处理方法包括获取步骤,获取指示开始图像数据的编码处理的时间的时间信息;数据转换步骤,对图像数据执行至少部分编码处理;和输出步骤,输出图像数据的每一预定单元,所述每一预定单元经受所述在数据转换步骤执行的至少部分编码处理,以便该单元与获取步骤中获取的时间信息相关联。
35.一种信息处理装置,用于检测图像数据的编辑点,包括获取装置,用于获取与对图像数据执行的先前编码处理有关的信息;和检测装置,用于检测编辑点,其中,当基于由获取装置所获取的与先前编码处理有关的信息,检测到对图像数据执行先前编码处理的图像处理装置在形成图像数据的相邻预定单元之间是不同的时,所述检测装置将在所述相邻单元之间检测到的图像数据的点设置为编辑点。
36.一种信息处理装置,用于检测图像数据的编辑点,包括获取装置,用于获取与对图像数据执行的先前编码处理有关的信息;和检测装置,用于检测编辑点,其中,当基于由获取装置所获取的与先前编码处理有关的信息,检测到先前编码处理开始的开始点在形成图像数据的预定单元之间是不同的时,所述检测装置将在所述单元之间检测到的图像数据的点设置为编辑点。
37.根据权利要求35所述的信息处理装置,其中,当根据由获取装置获取的与对图像数据执行的先前编码处理有关的信息,检测到被添加到形成图像数据的单元的计数数目不连续的时候,检测装置将在单元之间检测到的图像数据的点设置为编辑点。
38.一种信息处理方法,用于检测图像数据的编辑点的信息处理装置,该信息处理方法包括获取步骤,获取与对图像数据执行的先前编码处理有关的信息;和检测步骤,当基于在获取步骤所获取的与先前编码处理有关的信息,检测到对图像数据执行先前编码处理的图像处理装置在形成图像数据的相邻预定单元之间不同时,设置在所述相邻单元之间检测到的图像数据的点为编辑点。
39.一种信息处理方法,用于检测图像数据的编辑点的信息处理装置,该信息处理方法包括获取步骤,获取与对图像数据执行的先前编码处理有关的信息;和检测步骤,当基于在获取步骤所获取的与先前编码处理有关的信息,检测到先前编码处理开始的开始点在形成图像数据的预定单元之间不同时,设置在所述单元之间检测到的图像数据的点为编辑点。
40.根据权利要求38所述的信息处理方法,其中,当根据在获取步骤获取的与对图像数据执行的先前编码处理有关的信息,检测到被添加到形成图像数据的单元的计数数目不连续的时候,检测步骤将在单元间检测到的图像数据的点设置为编辑点。
41.一种程序,用于允许计算机执行检测图像数据的编辑点的方法,该方法包括获取步骤,获取与对图像数据执行的先前编码处理有关的信息;和检测步骤,当基于在获取步骤所获取的与先前编码处理有关的信息,检测到执行先前编码处理的图像处理装置在形成图像数据的相邻预定单元之间不同时,设置在所述相邻单元之间检测到的图像数据的点为编辑点。
42.一种程序,用于允许计算机执行检测图像数据的编辑点的方法,该方法包括获取步骤,获取与对图像数据执行的先前编码处理有关的信息;和检测步骤,当基于在获取步骤所获取的与先前编码处理有关的信息,检测到先前编码处理开始的开始点在形成图像数据的预定单元之间不同时,设置在所述单元之间检测到的图像数据的点为编辑点。
43.一种记录媒体,其中存储了一种程序,所述程序用于允许计算机执行检测图像数据的编辑点的方法,该方法包括获取步骤,获取与对图像数据执行的先前编码处理有关的信息;和检测步骤,当基于在获取步骤所获取的与先前编码处理有关的信息,检测到执行先前编码处理的图像处理装置在形成图像数据的相邻预定单元之间不同时,设置在所述相邻单元之间检测的图像数据的点为编辑点。
44.一种记录媒体,其中存储了一种程序,所述程序用于允许计算机执行检测图像数据的编辑点的方法,该方法包括获取步骤,获取与对图像数据执行的先前编码处理有关的信息;和检测步骤,当基于在获取步骤所获取的与先前编码处理有关的信息,检测到先前编码处理开始的开始点在形成图像数据的预定单元之间不同时,设置在所述单元之间检测到的图像数据的点为编辑点。
45.一种信息处理系统,包括图像处理装置,用于对图像数据执行至少部分编码处理;和信息处理装置,用于检测图像数据的编辑点,所述图像处理装置,包括存储装置,用于存储唯一地识别图像处理装置的识别信息;数据转换装置,用于对图像数据执行至少部分编码处理;和输出装置,用于输出图像数据的每一预定单元,所述每一预定单元经受所述由数据转换装置执行的至少部分编码处理,以便该单元与存储在存储装置中的识别信息相关联;所述信息处理装置,包括获取装置,用于获取与对图像数据执行的先前编码处理有关的信息;和检测装置,用于检测编辑点,其中,当基于由获取装置所获取的与先前编码处理有关的信息中包含的识别信息,检测到对图像数据执行先前编码处理的图像处理装置在形成图像数据的相邻单元之间不同时,该检测装置设置在所述相邻单元之间检测到的图像数据的点为编辑点。
46.一种信息处理系统,包括图像处理装置,用于对图像数据执行至少部分编码处理;和信息处理装置,用于检测图像数据的编辑点,所述图像处理装置,包括数据转换装置,用于对图像数据执行至少部分编码处理;和输出装置,用于获得指示由数据转换装置开始图像数据的编码处理的时间的时间信息,并且用于输出图像数据的每一预定单元,所述每一预定单元经受所述由数据转换装置执行的至少部分编码处理,以便该单元与时间信息相关联;所述信息处理装置,包括获取装置,用于获取与对图像数据执行的先前编码处理有关的信息;和检测装置,用于检测编辑点,其中,当基于由获取装置所获取的与先前编码处理有关的信息,检测到先前编码处理开始的开始点在形成图像数据的单元之间不同时,该检测装置设置在所述单元之间检测到的图像数据的点为编辑点。
全文摘要
为生成包括附加编码信息的编码数据,首先提供非压缩图像数据。计数该非压缩图像数据的预定单元(即帧)的数目。对提供的非压缩图像数据执行编码。获得存储在存储器中的指定编码装置的信息和单元计数数目,并予以合并以生成附加编码信息。附加编码信息添加到编码数据中,然后输出作为结果的数据。预先确定非压缩图像数据的提供是否结束。如果没有结束,则计数帧的数目,然后重复后面的步骤。如果非压缩图像数据的提供结束,则处理结束。
文档编号G11B27/031GK1642277SQ20041010336
公开日2005年7月20日 申请日期2004年9月20日 优先权日2003年9月19日
发明者加藤吾郎, 柴田正二郎, 上野弘道 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1