首页 / 专利库 / 广播 / 帧内预测 / 图像处理设备和方法、程序以及记录介质

图像处理设备和方法、程序以及记录介质

阅读:550发布:2024-02-12

专利汇可以提供图像处理设备和方法、程序以及记录介质专利检索,专利查询,专利分析的服务。并且在本 发明 中,一历史-信息/参数-再度使用禁止周期被设定,其开始于在时间上位于编辑点之前的一个P图像,直到编辑点后的经过预定数量n(例如,n=8)个图像的图像之后的第一个I图像。如果第一I图像位于靠近编辑点只差几个图像,则不从该I图像开始参数或历史信息的再度使用,而是从编辑点后的经过预定数量n(例如,n=8)个图像的图像之后的I图像开始。本发明可应用于编码装置或代码转换器。,下面是图像处理设备和方法、程序以及记录介质专利的具体信息内容。

1.一种图像处理设备,用于对图像数据执行至少部分编码处理,包括:数据转换装置,用于对图像数据执行至少部分编码处理;检测装置,用于检测图像数据的编辑点;和控制装置,用于根据检测装置检测到的编辑点确定再度使用禁止周期,在该周期中,当数据转换装置执行至少部分编码处理时,和图像数据执行的先前编码处理相关的信息是不可再度使用的。
2.根据权利要求1所述的图像处理设备,其中所述检测装置根据指示包含在图像数据中的编辑点的标记信息检测编辑点。
3.根据权利要求1所述的图像处理设备,还包括获取装置,用于从图像数据获得和图像数据执行的先前编码处理相关的信息,其中所述检测装置根据由获取装置获得的和先前编码处理相关的信息来检测编辑点。
4.根据权利要求3所述的图像处理设备,其中,当根据由获取装置获得的和先前编码处理相关的信息检测到下列中的至少一个时:加入到形成图像数据的预定单元的计数不是连续的;开始执行先前编码处理的开始点在形成图像数据的单元之间是不同的;和执行先前编码处理的编码装置在形成图像数据的单元之间是不同的,检测装置将在各单元之间检测到的图像数据的一个点设定为编辑点。
5.根据权利要求3所述的图像处理设备,其中,当检测到添加到形成图像数据的单元的计数不是连续的时,检测装置将在各单元之间检测到的图像数据的一个点设定为编辑点。
6.根据权利要求3所述的图像处理设备,其中,当检测到开始先前编码处理的开始点在形成图像数据的单元之间是不同的时,所述检测装置将在各单元之间检测到的图像数据的一个点设定为编辑点。
7.根据权利要求3所述的图像处理设备,其中,当检测到执行先前编码处理的编码装置在形成图像数据的单元之间是不同的时,所述检测装置将在各单元之间检测到的图像数据的一个点设定为编辑点。
8.根据权利要求1所述的图像处理设备,还包括获取装置,用于分别地从图像数据获取和所述图像数据执行的先前编码相关的信息,其中所述检测装置根据由所述获取装置获得的和先前编码处理相关的信息来检测编辑点。
9.根据权利要求8所述的图像处理设备,其中,当根据由获取装置获得的和先前编码处理相关的信息检测到下列中的至少一个时:添加到形成图像数据的预定单元的计数不是连续的;开始先前编码处理的开始点在形成图像数据的单元之间是不同的;和执行先前编码处理的编码装置在形成图像数据的单元之间是不同的,检测装置将在各单元之间检测到的图像数据的一个点设定为编辑点。
10.根据权利要求8所述的图像处理设备,其中,当检测到添加到形成图像数据的预定单元的计数不是连续的时,检测装置将在各单元之间检测到的图像数据的一个点设定为编辑点。
11.根据权利要求8所述的图像处理设备,其中,当检测到开始先前编码处理的开始点在形成图像数据的预定单元之间是不同的时,所述检测装置将在各单元之间检测到的图像数据的一个点设定为编辑点。
12.根据权利要求8所述的图像处理设备,其中,当检测到执行先前编码处理的编码装置在形成图像数据的预定单元之间是不同的时,所述检测装置将在各单元之间检测到的图像数据的一个点设定为编辑点。
13.根据权利要求4所述的图像处理设备,其中所述单元包括、场、或相同图像编码类型或GOP的邻近帧。
14.根据权利要求1所述的图像处理设备,其中所述控制装置控制在时间上位于紧挨在检测装置检测到的编辑点处的帧之前的图像数据的前向预测编码帧作为再度使用禁止周期的开始位置
15.根据权利要求1所述的图像处理设备,其中所述控制装置检测与在时间上位于检测装置检测到的编辑点处的帧经过预定数量的帧之后的一个帧相应的第一图像数据,并控制与位于第一图像数据的帧之后且与之最接近的内编码帧之前一个帧的帧相应的第二图像数据作为再度使用禁止周期的结束位置。
16.根据权利要求1所述的图像处理设备,其中所述控制装置检测与在时间上位于检测装置检测到的编辑点处的帧经过预定数量的帧之后的一个前向预测编码帧相应的第一图像数据,并控制与相应于第一图像数据的帧之前一个帧相应的第二图像数据作为再度使用禁止周期的结束位置。
17.根据权利要求1所述的图像处理设备,其中所述控制装置检测与在时间上位于检测装置检测到的编辑点处的帧经过预定数量的帧之后的一个前向预测编码帧相应的第一图像数据,同时还检测与在时间上位于第一图像数据经过预定数量的帧以后的一个帧相应的第二图像数据,并控制与位于相应于第二图像数据的帧之后且与之最接近的内编码帧之前一个帧相应的第三图像数据作为再度使用禁止周期的结束位置。
18.根据权利要求1所述的图像处理设备,其中所述控制装置根据检测装置检测到的编辑点确定一再度使用允许周期,在该周期中,当所述数据转换装置执行至少部分编码处理时,和图像数据执行的先前编码处理相关的部分信息是可用的;所述控制装置控制在时间上位于紧挨检测装置检测到的编辑点处的帧之前的图像数据的前向预测编码帧作为再度使用禁止周期的开始位置,并检测和在时间上位于检测装置检测到的编辑点处的帧经过预定数量的帧之后的一个前向预测编码帧相应的第一图像数据,并控制与第一图像数据之前一个帧的帧相应的第二图像数据作为再度使用禁止周期的结束位置;所述控制装置控制所述第一图像数据作为所述再度使用允许周期的开始位置,并检测和在时间上位于相应于第一图像数据的帧经过预定数量的帧之后的一个帧相应的第三图像数据,并控制与位于相应于第三图像数据的帧之后且与之最接近的内编码帧之前一个帧的帧相应的第四图像数据作为再度使用允许周期的结束位置。
19.根据权利要求1所述的图像处理设备,其中所述控制装置根据所述再度使用禁止周期控制通过所述数据转换装置对所述图像数据执行的至少一部分编码处理。
20.根据权利要求1所述的图像处理设备,其中所述控制装置根据检测装置检测到的编辑点确定一再度使用允许周期,在该周期中,当所述数据转换装置执行至少部分编码处理时,与先前编码处理相关的部分信息是可用的;和所述控制装置根据所述再度使用禁止周期和再度使用允许周期控制由所述数据转换装置执行的至少部分编码处理。
21.根据权利要求1所述的图像处理设备,还包括产生装置,用于产生与由所述数据转换装置执行的部分编码处理相关的历史信息,其中所述产生装置产生包含与由所述控制装置确定的再度使用禁止周期相关的信息的历史信息。
22.根据权利要求1所述的图像处理设备,还包括产生装置,用于产生与由所述数据转换装置执行的部分编码处理相关的历史信息,其中所述控制装置根据检测装置检测到的编辑点还确定一再度使用允许周期,在该周期中,当所述数据转换装置执行至少一部分编码处理时,与先前编码处理相关的部分信息是可再度使用的;和所述产生装置产生包含与由所述控制装置确定的再度使用禁止周期和再度使用允许周期相关的信息的历史信息。
23.一种用于图像处理设备的图像处理方法,用于对图像数据执行至少一部分编码处理,所述图像处理方法包括:检测步骤,用于检测图像数据的编辑点;和控制步骤,用于根据在检测步骤中检测的编辑点确定一再度使用禁止周期,在该周期中,当执行至少一部分编码处理时,与先前编码处理相关的信息是不可再度使用的。
24.一种允许计算机执行用于对图像数据执行至少一部分编码处理的图像处理方法的程序,所述图像处理方法包括:检测步骤,用于检测图像数据的编辑点;和控制步骤,用于根据在检测步骤中检测到的编辑点确定一再度使用禁止周期,在该周期中,当执行至少一部分编码处理时,与先前编码处理相关的信息是不可再度使用的。
25.一种在其中存储程序的记录介质,所述程序允许计算机执行用于对图像数据执行至少一部分编码处理的图像处理方法,所述图像处理方法包括:检测步骤,用于检测图像数据的编辑点;和控制步骤,用于根据在检测步骤中检测到的编辑点确定一再度使用禁止周期,在该周期中,当执行至少一部分编码处理时,和先前编码处理相关的信息是不可再度使用的。

说明书全文

图像处理设备和方法、程序以及记录介质

技术领域

发明涉及图像处理设备和方法、程序以及记录介质。更加具体的说,本发明涉及一种图像处理设备和方法、程序以及记录介质,其中重新编码是通过使用与先前对应的数据执行的编码相关的信息来执行的。

背景技术

在用于向远方传送运动图像信号的系统中,例如在视频会议系统或视频电话系统中,图像信号是通过根据行相关或间相关进行压缩来进行编码的,以便有效利用传输通道。
当压缩图像信号时,图像信号被编码以使将要产生的位流具有预定的位速率。然而,在实际应用中,由于传输通道的情形不同,可能需要改变位流的位速率。
当在广播电台中对传输的图像信号进行编辑时,以帧为单位来执行编辑,因此,与图像信号的每个帧相关的信息应该不依赖于涉及该图像信号的其它帧的信息。由将以低位速率(例如3到9Mbps)传送的大量帧构成的一长组图象(GOP)应该可以转变成由将以高位速率(18到50Mbps)传送的少量帧构成的一短GOP,反之亦然。在长GOP中,信息被近似相关,使得即使在以低位速率传输时,图像质量也不会恶化。
参照图1,现在将描述这样的一个系统:其中通过传输通道发送和接收的长GOP构成的流数据被重新编码成具有短GOP的完全流内数据之后可以对帧进行编辑。
当接收到非压缩原始图象时,编码装置1根据MPEG方法将它编码成长GOP,并通过传输通道11将流数据传送给代码转换器2。在传输通道11中,适于传送的由长GOP构成的流数据被传送。
在代码转换器2中,在解码器21中对通过传输通道11提供的MPEG长GOP流数据解码之后,所述流数据在编码器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流数据输出。代码转换器51在解码器71中对高位速率MPEG长GOP进行解码,然后在编码器72中将它们重新编码成低位速率MPEG长GOP。然后代码转换器51经由传输通道11将编码的低位速率MPEG长GOP输出给预定的数据接收器。
以这种方式,当对图像信息进行重复编码和解码时,如果每次执行编码都改变编码参数,则图象质量变得较低。为了克服这个缺陷,例如在日本未审定专利申请公开文本第2000-059788号中披露了通过使用编码历史信息用于抑制由重新编码引起的图像质量恶化的技术,所述历史信息被插入到位流图象层的用户数据区中。
例如,在MPEG长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图像获得预测,从而降低了图像质量。
为了防止由重新编码引起的图像质量的恶化,当通过传输通道11接收到先前在另一个代码转换器或编码装置中编码的流数据时,代码转换器101执行下列操作。在解码器111中对提供的MPEG长GOP流数据进行解码之后,当在编码器112中将解码的MPEG长GOP流数据重新编码成所有流内帧时,代码转换器101将提供给解码器111的编码流的参数例如图像类型和量化等级添加到完全内编码流作为运动图像和电视工程协会(SMPTE)328M历史信息,并将所有内编码流提供给帧编辑装置3。
在帧编辑装置3中编辑的流数据被提供给代码转换器102。代码转换器102在解码器121中用历史信息对所有流内数据进行解码。编码器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为单元对代码序列进行编辑的过程中,通过将被编辑的输入代码序列A和B的首标确定图像类型(I、P、B),根据输入码序列A和B的图像类型插入或重写指示编辑点的代码(标记),并且从外部输入的编辑信息由此表示流数据的编辑点。
下列在日本未审定专利申请公开文本第2001-169278号中披露的技术也是可用的。表示用于对帧或场进行计数的计算数量的信息被添加到流数据。当重新编码图像时,根据所述计数是否为连续的来检测通过拼接、插入或除去图像所产生的图像中断点。
如上所述,通过再度使用先前的编码信息,例如历史信息或编码参数(插入到图像层和宏层中的参数,例如图像类型、运动向量和量化等级)来执行重新编码而能够保持图像质量。然而,例如,在编辑期间,具有不同于在先前编码中使用的位速率、图像帧和色度格式的数据流可代替先前编码中使用的数据流被布置或插入。在该情况下,在先前编码中使用的参数信息不能再次用于执行重新编码。
如上所述,有这样一种技术,其中指示编辑点的代码(标记)被插入用于检测编辑点。在该情况下,在用于发送和接收编码流的整个系统中,所有编辑装置应该能够插入预定的指示编辑点的代码(标记),并且所有编码装置应该能够检测这种代码(标记)。如果在该系统中有一个不具有插入指示编辑点的代码(标记)的功能的编辑装置,则编码流可以包括没有预定代码(标记)的编辑点。
如上所述,有另外一种技术,其中表示用于对帧或场进行计数的计算数量的信息被加入到流数据。使用该技术,即使在所述系统中存在不具有插入指示编辑点的代码(标记)的功能的编辑装置,但通过计数的连续性也可检测到编辑点。然而,由于计数器不能无限的计算数量,所以计数在编辑点处可以变得连续。另外,当多个照相机被用于开始成像并且通过切换照相机按照时序编辑图像时,计数在编辑点处变得连续。更加具体的,例如,在使用多个照相机广播棒球比赛中,如果在挡网处的照相机A和在露天看台处的照相机B同时开始成像并且如果由照相机A成像的投手和由照相机B成像的击球手按照时序进行切换,则这样一个切换点就变为编辑点。然而,一个帧或场中包含的计数变得连贯。

发明内容

因此,考虑到上述背景,本发明的目的是检测图像数据的编辑点和根据包括检测的编辑点的图像数据的状态选择能被再度使用的信息项。
为了获得上述目的,根据本发明的一个方面,提供有一种图像处理设备,包括:数据转换器,用于对图像数据执行至少一部分编码处理;检测器,用于检测图像数据的编辑点;和控制器,用于根据检测器检测的编辑点确定再度使用禁止周期,在该周期中,当数据转换器执行至少一部分编码处理时,与对图像数据执行的先前编码处理相关的信息是不可再度使用的。
根据本发明的另一个方面,提供有一种图像处理方法,包括:检测步骤,用于检测图像数据的编辑点;和控制步骤,用于根据在检测步骤中检测的编辑点确定一再度使用禁止周期,在该周期中,当执行至少一部分编码处理时,与先前编码处理相关的信息是不可再度使用的。
根据本发明的又一个方面,提供有一种允许计算机执行图像处理方法的程序,所述图像处理方法包括:检测步骤,用于检测图像数据的编辑点;和控制步骤,用于根据在检测步骤中检测的编辑点确定一再度使用禁止周期,在该周期中,当执行至少一部分编码处理时,与先前编码处理相关的信息是不可再度使用的。
根据本发明的再一个方面,提供有一种在其中存储程序的记录介质,所述程序允许计算机执行图像处理方法,所述图像处理方法包括:检测步骤,用于检测图像数据的编辑点;和控制步骤,用于根据在检测步骤中检测的编辑点确定一再度使用禁止周期,在该周期中,当执行至少一部分编码处理时,与先前编码处理相关的信息是不可再度使用的。
根据本发明的图像处理设备和方法、程序和记录介质,图像数据的编辑点能被检测到。根据该编辑点,其中当执行至少一部分编码处理时,与对图像数据执行的先前编码处理相关的信息不能被再度使用的再度使用禁止周期被确定。
使用这种[配置,可防止VBV缓冲器的溢出或下溢和图像质量的恶化。

附图说明

图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长GOP的位速率而能够执行重新编码的系统的配置的方框图;图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的系统,所述MPEG长GOP能够以帧为单元进行编辑。
在图5中,与图3中的那些元件相应的元件以相同的附图标记来表示。图5中所示的系统的结构与图3中所示的基本相似,除了提供编码装置151和代码转换器152来分别代替编码装置1和代码转换器102。代码转换器152包括能选择历史信息的编码器161,所述历史信息根据所提供的流的条件可被再次使用。编码器161的结构与图3中的代码转换器102的编码器122相似,除了:不但从解码器121输出解码信号,而且输入到解码器121中的流数据也被提供给编码器161。
编码设备151接收非压缩原始图像并对它进行编码。编码信息151产生附加的编码信息并将它添加到编码流中以便在帧编辑装置3中对图像数据进行编辑之后代码转换器152的编码器161能够检测编辑点。
图6为说明编码装置151的配置的方框图。当输入原始图像时,帧计数器181检测帧同步,并把每个帧的计数加起来以便将所述计数提供给附加编码信息产生器182。帧计数器181具有预定的上限,例如65535,因此当计数到达上限时,它从0重新开始。也就是,在下述的处理中,当执行重新编码时,上限和0被识别为连续的帧。
在本实施例中,帧计数器181以一为单位递增或递减。或者,它可以以预定的数量,例如对于每个帧以2进行递增或递减,并将计数输出给附加编码信息产生器182。
存储器184中,存储有表示编码装置151的类型的Encoder_ID和表示该编码器序列号的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。通常,由若干个数字表示所述序列号,并且如果需要,则由若干个字母表示。如果表示编码装置类型的字母未被添加到所述序号中,则可能存在一个以上具有相同序号的不同类型的编码装置。因此,为了指定编码装置151,优选的使用了表示编码装置类型的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,并且还将作为附加编码信息的从附加编码信息产生器182提供的Continuity_Counter和Encoding_Start_Time_Code的信息添加到MPEG长GOP的每个帧中,并输出结果得到的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还存储有指示编码装置151类型信息的Encoder_ID和表示编码装置151序号的Encoder_Serial_Number。附加编码信息产生器182将从存储器184提供的计数设置为Continuity_Counter,并从存储器184读取Encoding_Start_Time_Code、Encoder_ID和Encoder_Serial_Number,以便为每个帧将它们提供给编码器185。
编码器185通过已知的编码方法将例如SDI格式的原始图像编码成MPEG长GOP并且将为从附加编码信息产生器182提供的附加编码信息的Continuity_Counter、Encoding_Start_Time_Code、Encoder_ID和Encoder_Serial_Number的信息添加到MPEG长GOP的每个帧。
在图6所示的编码装置151中,由附加编码信息产生器182产生的附加编码信息被添加到编码流的每个帧,并将结果得到的编码流输出。然而,如果附加的编码信息被正确的连接到编码流的每个帧,则可分开输出编码流和附加编码信息。如上所述,编码序列和附加编码信息经过传送通道11被传送到代码转换器101。或者,它们可以记录在记录介质上并提供给代码转换器101。在该情况下,如果附加编码信息被正确的连接到编码流的每个帧,则编码流和附加编码信息可被记录在不同的记录介质上并被提供。
参照图7,下面将描述用于产生包括编码信息的编码数据的处理1。在下述处理中,现在假设用于指定编码装置151的信息已经被存储在存储器184中。
在步骤S1,编码装置151接收非压缩图像数据并将它提供给编码器185。
在步骤S2,帧计数器181检测提供给编码器185的非压缩数据的帧同步并对帧的数量进行计数。
在步骤S3,编码器185对提供的非压缩图像数据进行编码。
在步骤S4,附加编码信息产生器182获得存储在存储器184中的用于指定编码装置的信息(即,Encoder_ID和Encoder_Serial_Number)和由帧计数器181计数的帧计数(Continuity_Counter)。如果只能通过Encoder_Serial_Number指定编码装置151,则仅将Encoder_Serial_Number存储在存储器184中,并且由附加编码信息产生器182获得就足够了。
在步骤S5,附加编码信息产生器182根据用于指定编码装置的信息(Encoder_ID和Encoder_Serial_Number)和帧计数(Continuity_Counter)产生附加编码信息,并将该附加编码信息提供给编码器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中的编码开始时间(Encoder_Start_Time_code)和由帧计数器181计数的帧计数(Continuity_Counter)。
在步骤S26,附加编码信息产生器182根据获得的编码开始时间(Encoder_Start_Code)和帧计数(Continuity_Counter)产生附加编码信息,并将该产生的附加编码信息提供给编码器185。
步骤S27和步骤S28分别与图7中的步骤S6和S7类似。也就是,在步骤S27,附加编码信息与编码数据进行结合,并在步骤S28确定非压缩图像数据的供给是否完成。如果未完成,则所述处理返回到步骤S23,且重复步骤S23和随后的步骤。如果确定非压缩图像数据的供给完成了,则完成所述处理。
根据该处理,编码开始时间(Encoder_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)和编码开始时间(Encoder_Start_Time_code)和由帧计数器181计数的帧计数(Continuity_Counter)。如果只能通过Encoder_Serial_Number指定编码装置151,则仅将Encoder_Serial_Number存储在存储器184中并且可由附加编码信息产生器182获得就足够了。
在步骤S46,附加编码信息产生器182根据用于指定编码装置的信息(即,Encoder_ID和Encoder_Serial_Number)、编码开始时间(Encoder_Start_Time_Code)和帧计数(Continuity_Counter)产生附加编码信息,并将该产生的附加编码信息提供给编码器185。
步骤S47和步骤S48分别与图7中的步骤S6和S7类似。也就是,在步骤S47,附加编码信息被添加到编码数据并输出结果得到的数据。在步骤S48确定非压缩图像数据的供给是否完成,如果未完成,则所述处理返回到步骤S43,且重复步骤S43和随后的步骤。如果在步骤S48确定非压缩图像数据的供给完成了,则完成所述处理。
根据该处理,用于指定编码装置的信息(即,Encoder_ID和Encoder_Serial_Number)、编码开始时间(Encoder_Start_Time_Code)和帧计数(Continuity_Counter)被添加到编码数据作为附加编码信息。因此,在下述的重新编码处理中,能够以比参照图7或8所述的处理更高的精度检测编辑点。
当创建流数据的数据库或将流数据形成为库时,通过参照图7、8或9所述的处理产生的附加编码信息可被用作ID或密钥数字。附加编码信息不但还可以用于确定在重新编码操作期间不能再度使用历史数据或编码参数的周期,而且还可以用于在重放操作期间确定帧开始的位置(例如,DVD中的章节的开始点和结束点和用于重复播放操作的开始点和结束点)或用于检测场面变化。通过检测场面变化,可最佳控制编码期间的量化等级。当在例如电视广播的程序流中包含有关商业广告的流数据时,其中插入有商业广告节目的部分能被检测到。当使用流数据自动产生缩略图像并将其提供给用户时,流数据的分区位置能被检测到。
再回头参照图5,代码转换器101通过传输通道11接收带有附加编码信息的MPEG长GOP。
MPEG长GOP由三种类型的图像(I图像、P图像和B图像)形成。在代码转换器101中,解码器111对MPEG长GOP进行解码。然后,当编码器112将MPEG长GOP编码成所有流内帧时,在通过传输通道11已经将MPEG长GOP传送给代码转换器101的编码装置中使用的编码参数(插入到图像层或宏块层中的参数,例如用于先前编码的图像类型、运动向量和量化等级)被添加到所有内流(SDTI CP流)作为在SMPTE(SMPTE328M或SMPET329M)中定义的历史信息。通过将编码参数添加到所有内流,当在随后的处理中将流数据重新编码成长GOP时,可防止使用不同类型的图像来重新编码视频数据的I图像、P图像和B图像。然后编码器112将编码的数据提供给SDTI CP接口的编辑装置3。
下面将参照图10描述compressed_stream_format_of_MPEG_2_re_coding_set()的语法。
SMPTE 329M的compressed_stream_format_of_MPEG_2_re_coding_set()包括由next_start_code()函数、sequence_header()函数、sequence_extension()函数、extension_and_user_data(0)函数、group_of_picture_header()函数、extension_and_user_data(1)函数、picture_header()函数、picture_coding_extension()函数、re_coding_stream_info()函数、extension_and_user_data(2)函数和picture_data()函数定义的数据元。
next_start_code()函数为用于搜索位流中包含的开始代码的函数。由sequence_header()函数定义的数据元包括表示图像的象素数在平方向中的低12比特的horizontal_size_value、表示图像的线数在垂直方向中的低12比特的vertical_size_value、表示用于确定虚拟缓冲器(视频缓冲器校对程序(VBV))的容量的低10比特的VBV_buffer_size_value,其用于控制将要产生的代码数量。由sequence_extension()函数定义的数据元包括表示视频数据是连续扫描的progressive_sequence、用于指定视频数据的色度格式的chroma_format、和表示视频数据不包含B图像的low_delay。
对于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和表示图像的显示顺序并且在GOP的头部被复位的temporal_reference。由picture_coding_extension()函数定义的数据元包括picture_structure,其表示数据是否具有帧结构或场结构,并且如果所述数据具有场结构还表示该场是否为高级或低级场。由由picture_coding_extension()函数定义的数据元还包括top_field_first,如果所述数据具有帧结构,则top_field_first指出第一场是否为较高或较低场,所述数据元还包括表示是否使用了线性量化标度(scale)和非线性量化标度的q_scale_type和在执行2-3下拉(pull-down)时使用repeat_first_field。
由re_coding_stream_info()函数定义的数据元是由SMPTE 327M定义的。稍后参照图11讨论extension_and_user_data(2)函数。由picture_data()函数定义的数据元由slice()函数定义。slice()函数定义macroblock(),在macroblock()中指出motion_vector信息。
下面参照图11讨论在参照图10所述的compressed_stream_format_of_MPEG_2_re_coding_set()的extension_and_user_data(2)中的user_data(2)中表示的信息。
Stream_Information_Header为32位数据,其包括指出用于识别picture_layer的user_data的首标数的16位Stream_Information_Header、指示Stream_Information()的字节长度的8位长度、和marker_bits。
Encoder_Serial_Number为指示对于编码器(编码器或编码装置)是唯一的数(序号)的16位信息。Encoder_ID为表示编码器类型的ID的15位信息。
随后的Encoding_Start_Time_Code为指示开始产生这个流和每个字节的MSB被设置为marker_bit=1的时间的8字节信息。在该情况下,使用了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数据时,对计数进行加1。
SDTI CP是由Pro-MPEG论坛推荐的SMPTE 326标准化的世界标准,并且被用于实时传送(同步传输)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为遵循MPGE2标准的3位信息,其表示图像的编码类型,例如所述图像是否为I图像图像或P图像。Temporal_reference为遵循MPEG2标准的10位信息,其表示GOP的图像的顺序。该信息对每个图像进行递增计数。
reuse_level为用于定义参数的再度使用情况的7位信息。error_flag为用于通知各种错误的标记。
header_present_flag(A)为由序列首标预置标记和GOP首标预置标记构成的2位标记信息。
extension_start_code_flags为在SMPTE 327M中定义的16位标记信息,其指示是否包含各种扩展ID。如果extension_start_code_flags表示0,则意味着不包含扩展ID。如果extension_start_code_flags表示1,则意味着包含扩展ID。扩展ID包括序列扩展ID、序列显示扩展ID、量子(quant)矩阵扩展ID、版权扩展ID、序列可升级扩展ID、图像显示扩展ID、图像编码扩展ID、图像空间可升级扩展ID和图像时间可升级扩展ID。
other_start_codes(在图11中由“其它(other)”表示)为5位标记信息,其指示用户数据的开始码包含在那一层中,或者指示是否包含顺序错误码或顺序结束码。
图11中的B为表示reduced_bandwidth_flag(B)的1位信息,C为表示reduced_bandwidth_indicator(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。如参照图10和11所讨论的由SMPTE 329M定义的compressed_stream_format_of_MPEG_2_re_coding_set()的格式中指明由历史提取单元201提取的历史信息,该历史信息包括关于先前编码的信息,例如图像类型、量化等级、运动向量或量化矩阵。缓冲器202对提供的流数据缓冲一个预定的周期(至少是比P图像间隔长的周期),然后将视频流提供给图像重新布置单元203。
编辑点检测器217根据提供给编码器161的流数据或由历史提取单元201提取的历史信息检测编辑点。也就是,编辑点检测器217在内置的存储器中存储先前帧的附加编码信息(例如,分别作为Prev_Encoding_Start_Time_Code,Prev_Encoder_Serial_Number,Prev_Encoder_ID和Prev_Continuity_Counter的Encoding_Start_Time_Code,Encoder_Serial_Number,Encoder_ID和Continuity_Counter)。编辑点检测器217将这种信息与当前帧的附加编码信息进行比较,如图13所示,同时根据是否存在不与当前帧连续的信息项来检测编辑点。代替附加编码信息,编辑点检测器217通过检测添加到流数据中的指示编辑点的标记信息而可以检测编辑点。
当接收到表示已经从编辑点检测器217检测到编辑点的信号时,控制器216设置参数再度使用禁止周期,该周期从编辑点之前的P图像开始到编辑点之后的预定图像结束,如图14所示,同时所述控制器控制图像重新布置单元203、运动向量检测器205或量化等级确定单元208,以在没有使用所述历史信息中包含的和通过历史提取单元201提取的先前编码参数的情况下执行编码。下面给出参数再度使用禁止周期的细节。控制器216还控制图像重新布置单元203、运动向量检测器205、或量化等级确定单元208,以根据历史信息中包含的和通过历史提取单元201提取的先前编码参数在参照图14所论述的参数再度使用禁止周期以外的周期执行编码。
当参数再度使用禁止周期被设定时,控制器216将设定信息提供给历史信息产生器218。历史信息产生器218产生包含有关从控制器216提供的参数再度使用禁止周期的设置信息的历史信息,并将历史信息添加到将在可变长度编码(VLC)单元209中编码的流数据。
控制器216在内置寄存器中提供有编辑点检测标记和再度使用停止标记。因此,即使在参数再度使用禁止周期期间,控制器216接收到表示已经从编辑点检测器217检测到编辑点的信号,如图15所示,也能够根据第二编辑点的位置设置参数再度使用禁止周期的结束点。当检测到编辑点时,编辑点检测标记被开启,然后,紧贴在编辑点之前的表示再度使用禁止周期的开始的P图像被检测到,并且再度使用停止标记被开启。然后,开始用于设置再度使用禁止周期的对图像数或P图像数的计数过程,而且编辑点检测标记也被关闭。如果在再度使用停止标记为开启状态时再次检测到一个编辑点,则编辑点检测标记被开启,在再度使用停止标记保持开启的同时,用于设置再度使用禁止周期的对图像数或P图像数的计数过程被重设,并且然后被重新启动。
当从历史提取单元201接收到参照图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_first_field中的每一个指示的信息。
如果先前编码的延迟模式、图像配置、和下拉模式与当前编码的相符,则控制器216确定随后将要编码的图像帧是否与历史信息中指示的图像帧相符。如果发现图像帧是不同的,则只有与图像类型(在参照图11所述的extension_and_user_data(2)的user_data(2)中指出的picture_coding_type)相关的信息被再度使用。可通过比较SMPTE 329M的horizontal_size_value和vertical_size_value与在SMPTE 329M的sequence_header()函数中指出的SMPTE 329M的v_phase和h_phase来作出关于图像帧是否彼此相符的确定。
当确定在先前编码中使用的图像类型被再度使用时,图像重新布置单元203基于历史信息中包含的图像类型,根据从控制器216提供的控制信号重新布置图像。
如果发现图像帧是相同的,则控制器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还再度使用量化等级(q_scale)。
如果需要,量化等级确定单元208根据从控制器216提供的控制信号把将被再度使用的量化等级提供给量化器207,并控制量化器207以执行量化。
如果需要,在控制器216的控制下,图像重新布置单元203对随后输入的图像数据的每帧图像进行重新布置。图像重新布置单元203还产生由宏块组成的宏块数据,每个宏块由16×16亮度信号或与亮度信号对应的色度信号组成,并将所述宏块数据提供给计算单元204和运动向量检测器205。
当接收到宏块数据的输入时,在控制器216的控制下,运动向量检测器205根据宏块数据和存储在帧存储器214中的参考图像数据计算每个宏块的运动向量,并将计算的运动向量提供给运动补偿器213作为运动向量数据,或者再度使用从控制器216提供的先前编码的运动向量并将它们提供给运动补偿器213。
计算单元204根据每个宏块的图像类型对从图像重新布置单元203提供的宏块数据执行运动补偿。更加具体地说,计算单元204对内模式下的I图像、前向预测模式下的P图像、双向预测模式下的B图像执行运动补偿。
在内模式中,将被编码的帧图像被直接设置为传送数据。在前向预测模式中,将被编码的帧图像和在先参考图像之间的预测余差(residual)被设为传送数据。在双向预测模式中,将被编码的帧图像与在先参考图像和随后的参考图像中的每一个之间的预测余差被设置为传送数据。
当宏块数据为I图像时,在内模式下进行处理。更加具体地说,计算单元204将输入的宏块数据发送给离散余弦变换(DCT)单元206作为计算数据。DCT单元206对输入的计算数据执行DCT并将结果得到的数据发送给量化器207作为DCT系数数据。
量化器207根据从量化等级确定单元208提供的量化等级对输入DCT系数数据进行量化,并将结果得到的数据提供给VLC单元209和去量化器210作为量化DCT系数数据。在这种情况下,量化器207通过在量化处理中根据从量化等级确定单元208提供的量化等级Q调节量化步长来控制将要产生的代码量。
通过与在量化器207的量化处理中使用的相同的步长对提供给去量化器210的量化DCT系数数据经受去量化处理,并将其作为DCT系数数据提供给反向DCT单元211。反向DCT单元211对提供的DCT系数数据执行反向DCT处理,并将产生的计算数据提供给计算单元212。然后计算数据被存储在帧存储器214中作为参考图像数据。
当宏块数据为P图像时,计算单元204在前向预测模式下对宏块数据执行运动补偿。当宏块数据为B图像时,计算单元在双向预测模式下对宏块数据执行运动补偿。
运动补偿器213根据运动向量对存储在帧存储器214中的参考图像数据执行运动补偿,以便计算前向预测图像数据或双向预测图像数据。计算单元204通过使用从运动补偿器213提供的前向预测图像数据或双向预测图像数据对宏块数据执行减法运算。
更加具体地说,在前向预测模式中,运动补偿器213根据运动向量数据移位帧存储器214中的读取地址,以便读取参考图像数据,并将它作为前向预测图像数据提供给计算单元204和计算单元212。计算单元204将前向预测图像数据从提供的宏块数据中减去,以便获得作为预测余差的差数据。然后计算单元204将差数据提供给DCT单元206。
从运动补偿器213将前向预测图像数据提供给计算单元212。计算单元212将前向预测图像数据加到从反向DCT单元211提供的计算数据上,以便在本地重放参考图像数据,并将参考图像数据输出给帧存储器214和对它进行存储。
在双向预测模式中,运动补偿器213根据运动向量数据位移帧存储器214中的读取地址以便读取参考图像数据,并将它作为双向预测图像数据提供给计算单元204和计算单元212。计算单元204将双向预测图像数据从所提供的宏块数据中减去,以便获得作为预测余差数据的差数据。然后计算单元204将差数据输出给DCT单元206从运动补偿器213将双向预测图像数据提供给计算单元212。计算单元212将双向预测图像数据加到从反向DCT单元211提供的计算数据上以便在本地重放参考图像数据,并将参考图像数据输出给帧存储器214和对它进行存储。
如上所述,输入到编码器161中的图像数据经受了运动补偿预测处理、DCT处理、和量化处理,并作为量化DCT系数数据被提供给VLC单元209。VLC单元209根据预定的转换表对量化DCT系数数据执行可变长度编码,并将结果得到的可变长度编码数据输出给缓冲器215。缓冲器215对提供的可变长度编码数据进行缓冲,然后将它输出给流切换装置219。
流切换装置219在控制器216的控制下输出从缓冲器215提供的可变长度编码数据。
量化等级确定单元208一直监视着可变长度编码数据在缓冲器215中的存储状态。在控制器216的控制下,量化等级确定单元208根据表示可变长度编码数据的存储状态的缓冲器占用信息或从控制器216提供的先前编码参数中包含的量化等级Q确定量化步长。
如上所述,量化等级确定单元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(j-1)}-T/MBcnt                        (3)如果图像中的宏块包含片内宏块和片间宏块,则量化等级确定单元208分开设置目标代码量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被重新编码成低位速率长GOP。当重新编码MPEG长GOP时,能够抑制图像质量恶化,同时能够防止在VBV缓冲器中发生溢出或下溢。与图4和5中相应的那些元件被标以相同的附图标记,并因此省略其说明。
在图16所示的系统中,取代编码装置1,图5和6中所示的编码装置151被提供,代替代码转换器131,代码转换器231被提供。在代码转换器231中,取代编码器142,布置有编码器241。在编码器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,而提供有用于接收从解码器141提供的参数和将它们输出给控制器216的参数输入单元251。
编辑点检测器217根据提供给编码器161的流数据或由参数输入单元251获得的参数信息检测编辑点。也就是,编辑点检测器217在内置的存储器中存储先前帧的附加编码信息(例如,分别作为Prev_Encoding_Start_Time_Code、Prev_Encoder_Serial_Number、Prev_Encoder_ID和Prev_Continuity_Counter的Encoding_Start_Time_Code、Encoder_Serial_Number、Encoder_ID和Continuity_Counter)。编辑点检测器217将这种信息与当前帧的附加编码信息进行比较,如图13所示,同时根据是否存在指示先前帧和当前帧之间的中断的因数来检测编辑点。代替附加编码信息,编辑点检测器217通过检测添加到流数据中的指示编辑点的标记信息而可以检测编辑点。
当从编辑点检测器217接收到表示已经检测到编辑点的信号时,控制器216设置参数再度使用禁止周期,如图14所示,同时所述控制器控制图像重新布置单元203、运动向量检测器205或量化等级确定单元208,以在没有使用所述编码参数信息中包含的先前编码参数的情况下执行编码,所述先前编码参数是通过参数输入单元251提取的。控制器216在参数再度使用禁止周期之外的周期中从参数输入单元251接收参数信息,该参数信息包含与参照图10和11所述的历史信息类似的信息,并根据参数信息中表示的因数是否与预定的条件相符来控制图像重新布置单元203、运动向量检测器205、量化等级确定单元208和流切换装置219的整个或部分处理。
更加具体地说,控制器216在参数再度使用禁止周期之外的周期中确定先前编码中的延迟模式、图像配置、和下拉模式是否与当前编码中的相符。如果先前编码的参数被发现与当前编码的参数不同,则控制器216确定在没有再度使用先前参数的情况下进行正常编码(将在下面讨论)。延迟模式为以与SMPTE 329M的sequence_extension()函数的low_delay相似的方式在参数信息中指示的信息,图像配置和下拉模式为以与SMPTE 329M的picture-coding_extension()函数的picture_structure、top_field_first和repeat_first_field中的每一个相似的方式在参数信息中指示的信息。
如果先前编码的延迟模式、图像配置、和下拉模式与当前编码的相符,则控制器216确定随后将要编码的图像帧是否与参数信息中指示的图像帧相符。如果发现图像帧是不同的,则只有与图像类型(以与在参照图11所述的extension_and_user_data(2)的user_data(2)中指出的picture_coding_type相似的方式在参数信息中指示的信息)相关的信息被再度使用。可通过比较以与SMPTE 329M的horizontal_size_value和vertical_size_value与在SMPTE 329M的sequence_header()函数中指出的SMPTE 329M的v_phase和h_phase相似的方式在参数信息中指示的项来作出关于图像帧是否彼此相符的确定。
如果确定先前编码中的图像类型被再度使用,则图像重新布置单元203基于参数信息中包含的图像类型根据从控制器216提供的控制信号重新布置图像。
如果发现图像帧是相同的,则控制器216确定先前编码的位速率是否小于当前编码的位速率和先前编码的色度格式是否大于或等于当前编码的色度格式。如果所述条件的任何一个都不满足,则除了图像类型之外,运动向量信息(以与在picture_data()函数的slice()函数中指出的motion_vectors信息相似的方式在参数信息中指示的项))被再度使用。位速率信息以与在SMPTE329M的extension_and_user_data(2)中的user_data(2)的bit_rate_value相似的方式在参数信息中指明。色度格式信息以与在SMPTE 329M的sequence_header()函数的chroma_format相似的方式在参数信息中指明。
运动向量检测器205从控制器216接收先前编码的运动向量信息并作为运动向量再度使用。
如果先前编码的位速率小于当前编码的位速率和如果先前编码的色度格式大于或等于当前编码的色度格式,则控制器216确定参数信息中指出的色度格式是否与当前编码中的色度格式相符。如果发现色度格式与当前编码的不同,则除了图像类型和运动向量之外,控制器216还再度使用量化等级(q_scale)。
如果需要,量化等级确定单元208根据从控制器216提供的控制信号把在先前编码中使用的量化等级提供给量化器207,并控制量化器207执行量化。
如果发现先前编码的色度格式与当前编码的相同,则控制器216控制流切换装置219输出输入到解码器141中的流数据。
在图17所示的编码器241中,除了控制器216的用于确定参数信息中包含的与先前编码相关的信息是否将被再度使用的处理之外,正常的编码处理与图12中所示的编码器161的编码处理相似,并因此省略其详细说明。
在图12所示的编码器161或图17所示的编码器241中,如果不再度使用历史信息或参数信息,则执行正常的编码。如果图像类型被再度使用,则历史信息中包含的329M的picture_coding_type或参数信息中包含的类似信息项被再度使用。如果运动向量被再度使用,则将从历史信息中包含的red_bw_indicator=0或参数信息中包含的类似信息项减去q_scale_code所获得的信息被再度使用。如果量化等级被再度使用,则历史信息中包含的red_bw_indicator=0或参数信息中包含的类似信息项被再度使用。如果输入到编码器161或241中的流被输出,则流转换装置219被控制以将输入到解码器141中的流数据输出。
参照图18的流程图,下面将描述用于借助图12所示的编码器161或图17所示的编码器241的编辑点检测器217通过使用加入到编码流数据中的附加编码信息来检测编辑点的处理1。
在该处理中,包含在参照图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在一内置存储器中存储获得的分别作为Prev_Encoder_Serial_Number,Prev_Encoder_ID和Prev_Continuity_Counter的Encoder_Serial_Number,Encoder_ID和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的结果为“是”,则编辑点检测器217在步骤S68确定编辑点已经被检测到,并向控制器216报告已经检测到编辑点。
如果在步骤S67中确定没有指示在先前帧和当前帧之间存在有中断的因数,或者在步骤S68之后,所述处理进入步骤S69。在步骤S69中,编辑点检测器217在内置存储器中存储分别作为Prev_Encoder_Serial_Number、Prev_Encoder_ID和Prev_Continuity_Counter的Encoder_Serial_Number、Encoder_ID和Continuity_Counter。然后所述处理返回步骤S61,并重复随后的步骤。
按照该处理,根据帧计数是否为连续的和已经对先前帧进行编码的编码装置是否与已经对当前帧进行编码的编码装置相同而能够确定是否存在编辑点。
参照图19,现在将描述用于借助图12所示的编码器161或图17所示的编码器241的编辑点检测器217通过使用加入到编码流数据中的附加编码信息来检测编辑点的处理2。
在该处理中,包含通过参照图8所述的编码数据产生处理2产生的附加编码信息的编码流数据的编辑点被检测。
在步骤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在一内置存储器中存储获得的分别作为Prev_Continuity_Counter和Prev_Encoding_Start_Time_Code的Continuity_Counter和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的结果为“是”,则编辑点检测器217在步骤S88确定编辑点已经被检测到,并向控制器216报告已经检测到编辑点。
如果在步骤S87中确定没有指示在先前帧和当前帧之间存在有中断的因数,或者在步骤S88之后,所述处理进入步骤S89。在步骤S89中,编辑点检测器217在内置存储器中存储分别作为Prev_Continuity_Counter和Prev_Encoding_Start_Time_Code的Continuity_Counter和Encoding_Start_Time_Code。然后所述处理返回步骤S81,并重复随后的步骤。
按照该处理,根据帧计数是否为连续的和先前帧的编码开始时间是否与当前帧的编码开始时间不同而能够确定是否存在编辑点。
参照图20的流程图,现在将描述用于借助图12所示的编码器161或图17所示的编码器241的编辑点检测器217通过使用加入到编码流数据中的附加编码信息来检测编辑点的处理3。
在该处理中,包含在参照图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和Continuity_Counter。
在步骤S104,编辑点检测器217确定获得的帧是否为编码流的第一个帧。
如果步骤S104的结果为“是(YES)”,则所述处理进入步骤S105。在步骤S105,编辑点检测器217在一内置存储器中存储获得的分别作为Prev_Encoder_Serial_Number、Prev_Encoder_ID、Prev_Encoder_Start_Time_Code和Prev_Continuity_Counter的Encoder_Serial_Number、Encoder_ID、Encoder_Start_Time_Code和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的结果为“是”,则编辑点检测器217在步骤S108确定编辑点已经被检测到,并向控制器216报告已经检测到编辑点。
如果在步骤S107中确定没有指示在先前帧和当前帧之间存在有中断的因数,或者在步骤S108之后,所述处理进入步骤S109。在步骤S109中,编辑点检测器217在内置存储器中存储分别作为Prev_Encoder_Serial_Number、Prev_Encoder_ID、Prev_Encoder_Start_Time_Code和Prev_Continuity_Counter的Encoder_Serial_Number、Encoder_ID、Encoder_Start_Time_Code和Continuity_Counter。然后所述处理返回步骤S101,并重复随后的步骤。
按照该处理,根据帧计数是否为连续的、已经对先前帧进行编码的编码装置是否与已经对当前帧进行编码的编码装置相同、和先前帧的编码开始时间是否与当前帧的编码开始时间相同而能够以高精度确定是否存在编辑点。
通过参照图18、19或20所述的处理检测的编辑点不但能够用于在编码处理期间设置再度使用禁止周期,而且能够用于在重放操作期间检测帧的首标或场景变换。
参照图21的流程图,下面将描述用于在编辑点之前和之后的预定周期期间(对于预定数量的帧的编辑点之前和之后的区域),即在再度使用禁止周期期间在没有使用历史信息或参数信息的情况下,根据通过图12所示的编码器161或图17所示的编码器241检测的编辑点来执行编码的编码处理1。
在步骤S131,图12所示的编码器161或图17所示的编码器241获得帧图像数据和附随信息,即历史信息或参数信息。
在步骤S132,编码器161或编码器241的控制器216根据从编辑点217提供的信号确定是否已经检测到编辑点。
如果步骤S132的结果为“是”,则控制器216在步骤S133开启编辑点检测标记。
如果在步骤S132确定还没有检测到编辑点或在步骤S133之后,控制器216在步骤S134通过检测内置寄存器而确定编辑点检测标记是否为“OFF”。
如果步骤S134的结果为“否”,则所述处理进入步骤S135。在步骤S135,控制器216从缓冲器202中存储的流数据检测紧贴编辑点之前的P图像,并将从该P图像到在下述的处理中将被确定是开始作为再度使用允许周期的图像之前的一个图像的周期设置为再度使用禁止周期。
例如,如果具有指示B图像的编码信息的图像是编码点,则通常B图像与B图像之前和之后的P图像有关。因此,如果再度使用历史信息或参数信息对从编辑点之前的P图像到位于编辑点处的图像的一个范围进行编码,则VBV缓冲器可能发生溢出或下溢。类似的,由于即使在编辑点之后的某些图像可能与邻近的图像有关,所以需要在可能受编辑点处的中断影响的周期期间不应使用历史信息或参数信息。
在步骤S136,控制器216开启内置寄存器中的再度使用停止标记并关闭其中的编辑点检测标记。
在步骤S137,控制器216在内置寄存器中将用于计算图像数量的变量Pic_cont和用于计算P图像数量的变量P_Pic_cont重置为0。
在步骤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的结果为“否”,则所述处理进入步骤S138并且重复步骤S138及其随后的步骤。
如果在步骤S142确定历史信息或参数信息的再度使用被再次重新启动,则控制器216在步骤S143关闭内置寄存器中的再度使用停止标记。
如果在步骤S140确定再度使用停止标记为“OFF”,即所述帧处在再度使用禁止周期之外的周期期间,或在步骤S143之后,所述处理进入到步骤S144。在步骤S144,缓冲器202在一预定的周期期间(至少长于P图像间隔的周期)对提供的图像进行缓冲,然后将它们输出。
在步骤S145,参照图28所述的参数再度使用编码处理被执行。然后所述处理返回到步骤S132,并重复步骤S132及其随后的步骤。
然而,即使确定再度使用停止标记为OFF,即所述帧处于再度使用禁止周期之外的周期期间,或者历史信息或参数信息的再度使用被启动,如果对于随后的几个图像检测到编辑点,则可以在步骤S135中设置再度使用禁止周期。因此,如果在步骤S140确定再度使用停止标记为“OFF”,即所述帧处于再度使用禁止周期之外的期间,或者在步骤S143之后,被确定处于再度使用禁止周期之外的周期中的图像在缓冲器202中被暂时缓冲一个预定的周期。那么,只有当对于随后的若干个图像没有检测到编辑点时,从缓冲器202输出的图像在步骤S145才经受参数再度使用编码处理(下面参照图28对其进行说明)。
根据上述处理,能够根据帧是否处于再度使用禁止周期期间确定历史信息或参数信息在编码处理中是否被再度使用。
下面参照图22的流程图论述图21的步骤S141中的再度使用重新启动确定处理1。
在步骤S161,控制器216将用于对图像数量进行计数的变量Pic_cont设置为Pic_cont+1。
在步骤S162,控制器216确定变量Pic_cont是否大于预定的值n(例如,n=8)。
如果步骤S162的结果为“是(YES)”,则控制器216在步骤S163确定在图21的步骤S139或步骤S163中将被编码的图像是否为I图像。
如果在步骤S163确定将被编码的图像是I图像,则控制器216在步骤S164确定是否从该图像重新启动再次使用历史信息或编码参数。然后所述处理返回到图21的步骤S142。
如果执行步骤S164,则在步骤S142确定历史信息或编码参数的再度使用能被重新启动。因此,再度使用停止标记被关闭,并且执行步骤S145中的参数再度使用编码处理。
如果在步骤S162确定变量Pic_cont小于或等于预定值n,或者如果在步骤S163确定将被编码的图像不是I图像,则所述处理进入到步骤S165。在步骤S165,控制器216确定不能从该图像重新启动再次使用历史信息或编码参数,并且所述处理返回到图21的步骤S142。
如果执行步骤S165,则在步骤S142确定历史信息或编码参数的再度使用未被重新启动。因此,再度使用停止标记保持开启,并且不执行步骤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的结果为“是”,则控所述处理进入到步骤S182,其中控制器216将用于对P图像进行计数的变量P_Pic_cont设置为P_Pic_cont+1。
然后,在步骤S183,控制器216确定P_Pic_cont是否大于预定的值m(例如,m=3)。
如果步骤S183的结果为“是”,则所述处理进入到步骤S184。在步骤S184,控制器216确定可以从该图像重新启动再次使用历史信息或编码参数,并且所述处理返回到图21的步骤S142。
如果执行步骤S184,则在步骤S142确定历史信息或编码参数的再度使用能被重新启动。因此,再度使用停止标记被关闭,并且执行所述参数再度使用编码处理。
如果在步骤S181确定将被编码的图像不是P图像或I图像,或者如果在步骤S183确定P_Pic_cont小于或等于预定值m,则所述处理进入到步骤S185。在步骤S185,控制器216确定不能从该图像重新启动再次使用历史信息或编码参数。然后所述处理返回到图21的步骤S142。
如果执行步骤S185,则在步骤S142确定历史信息或编码参数的再度使用未被重新启动。因此,再度使用停止标记保持开启,并且不执行所述参数再度使用编码处理。
根据该处理,历史信息或参数的再度使用被重新启动的图像能被确定。例如,如图25所示,再度使用禁止周期从在时间上位于编辑点之前的一个图像的P图像开始,直到编辑点后的经过预定数量m(例如,m=3)个帧的I图像或P图像。
在该处理中,如果在步骤S184确定先前编码信息的再度使用能被重新启动,则控制器216可以将与再度使用禁止周期相关的信息提供给历史信息产生器218,并且历史信息产生器218可以将该信息添加到将被产生的历史信息。因此,不能检测编辑点或设置再度使用禁止周期的编码装置能在没有再度使用历史信息的情况下执行编码,因而防止了VBV缓冲器的溢出或下溢或图像质量的恶化。
现在参照图26的流程图论述在图21的步骤S141中执行的再度使用重新启动确定处理3。
在步骤S201,控制器216确定在图21的步骤S139或S145中将被编码的图像是否是P图像或I图像。
如果步骤S201的结果为“是”,则所述处理进入到步骤S202,其中控制器216将用于对P图像的数量进行计数的变量P_Pic_cont设置为P_Pic_cont+1。
如果在步骤S201确定将被编码的图像不是P图像或I图像,或在步骤S202之后,控制器216在步骤S203确定P_Pic_cont是否大于预定的值m(例如,m=3)。
如果步骤S203的结果为“是”,则所述处理进入到步骤S204,其中控制器216将用于对图像数量进行计数的变量Pic_cont设置为Pic_cont+1。
然后,在步骤S205,控制器216确定变量Pic_cont是否大于预定的值n(例如,n=8)。
如果步骤S205的结果为“是”,则控制器216在步骤S206确定在图21的步骤S139或S145中将被编码的图像是否是I图像。
如果在步骤S206确定将被编码的图像是I图像,则所述处理进入到步骤S207。在步骤S207,控制器216确定能够从该图像重新开始再次使用历史信息或编码参数,并且所述处理返回到图21的步骤S142。
如果执行步骤S207,则在步骤S142确定历史信息或编码参数的再度使用能被重新启动。因此,再度使用停止标记被关闭,并且执行所述参数再度使用编码处理。
如果在步骤S203确定P_Pic_cont小于或等于预定值m,或如果在步骤S205确定Pic_cont小于或等于预定值n,或者如果在步骤S206确定将被编码的图像不是I图像,则所述处理进入到步骤S208。在步骤S208,控制器216确定不能从该图像重新开始再次使用历史信息或编码参数,并且所述处理返回到图21的步骤S142。
如果执行步骤S208,则在步骤S142确定历史信息或编码参数的再度使用未被重新启动。因此,再度使用停止标记保持开启,并且不执行所述参数再度使用编码处理。
根据该处理,历史信息或参数的再度使用被重新启动的图像能被确定。例如,如图27所示,再度使用禁止周期从在时间上位于编辑点之前的一个图像的P图像开始,直到从该编辑点后经过预定数量m(例如,m=3)个图像之后的I图像或P图像开始计数经过预定数量n(例如,n=8)个图像的I图像。
如果在步骤S207确定先前编码信息的再度使用能被重新启动,则编码器161可以将与再度使用禁止周期相关的信息提供给历史信息产生器218,并且历史信息产生器218可以将该信息加入到将被产生的历史信息。因此,不能检测编辑点或设置再度使用禁止周期的编码装置能在没有再度使用历史信息的情况下执行编码,因而防止了VBV缓冲器的溢出或下溢或图像质量的恶化。
参照图28的流程图,下面将描述由图12所示的编码器161或图17所示的编码器241执行的图21的步骤S145中的参数再度使用编码处理。
在步骤S221,控制器216从历史信息提取单元171接收历史信息或从参数输入单元251接收参数信息,并通过检测包含在历史信息中的SMPTE329M的sequence_extension()函数的low_delay和包含在历史信息中的SMPTE329M的picture_coding_extension()函数的picture_structure、top_field_first、和repeat_first_field、或包含在参数信息中的类似信息项来确定先前编码的延迟模式、图像配置和下拉模式是否与当前编码的相符。
如果在步骤S221确定先前编码的延迟模式、图像配置和下拉模式与当前编码的不相符,则所述处理进入到步骤S222。在步骤S222,控制器216控制编码器161或编码器241的各个元件以在没有再度使用历史信息或参数的情况下执行编码,然后所述处理终止。
如果在步骤S221确定先前编码的延迟模式、图像配置和下拉模式与当前编码的相符,则所述处理进入到步骤S223。在步骤S223,控制器216通过检测SMPTE 329M的sequence_header()函数中指出的horizontal_size_value和vertical_size_value和SMPTE 329M的v_phase和h_phase以及参数信息中包含的类似信息项来确定先前编码的图像帧的位置和尺寸是否与当前编码的相一致。
如果在步骤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提供了参数(也就是,通过再度使用参数信息而不是历史信息来执行编码),并通过检测与SMPTE329M的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开启编辑点检测标记。如果发现还没有检测到编辑点或在步骤S243之后,则在步骤S244检测内置寄存器以确定编辑点检测标记是否为“OFF”。如果发现编辑点检测标记不是“OFF”,则从缓冲器202中存储的流数据检测紧贴编辑点之前的P图像,并从该P图像设置再度使用禁止周期。
在步骤S246,控制器216在内置寄存器中开启再度使用完全停止标记,还开启再度使用部分停止标记,和关闭编辑点检测标记。
步骤S247到S249分别与图21的步骤S137至S139类似。
更加具体地说,在步骤S247,将用于计算图像数量的变量Pic_cont和用于计算P图像数量的变量P_Pic_cont设置为0。然后,在步骤S248,对提供的图像缓冲一个预定的时期(至少大于P图像间隔的周期),然后将它们输出。在步骤S249,在没有再度使用历史信息或参数的情况下执行编码。然后所述处理返回到步骤S242,并重复步骤S242及其随后的步骤。
如果在步骤S244确定编辑点检测标记为“关闭(OFF)”,则控制器216在步骤S250确定内置寄存器中的再度使用完全停止标记和再度使用部分停止标记是否为“OFF”。如果步骤S250的结果为“是”,则所述处理进入到步骤S258。
如果在步骤S250确定再度使用完全停止标记或再度使用部分停止标记中的至少一个不是“OFF”,则在步骤S251执行下面参照图30所述的部分/完全再度使用重新启动确定处理。
在步骤S252,控制器216作为步骤S251中的部分/完全再度使用重新启动确定处理的结果确定参数或历史信息的完全再度使用是否被重新启动。如果步骤S252的结果为“是”,则所述处理进入到步骤S257。
如果在步骤S252确定参数或历史信息的完全再度使用未被重新启动,则控制器216在步骤S253中作为步骤S251中的部分/完全再度使用重新启动确定处理的结果确定参数或历史信息的部分再度使用是否被重新启动。如果步骤S253的结果为“否”,则所述处理进入到步骤S248。
如果在步骤S253确定参数或历史信息的部分再度使用被重新启动,则控制器216在步骤S254中关闭再度使用部分停止标记。
然后,在步骤S255,缓冲器202对提供的图像缓冲一个预定的周期(至少长于P图像间隔的周期),然后将它们输出。然而,参数或历史信息能被部分再度使用的图像在缓冲器202中被缓冲一个预定的周期,只有当对于若干个图像未检测到编辑点时,所述处理才进入到步骤S256。
在步骤S256,下面参照图32或33所述的参数部分再度使用重新启动编码处理被执行。然后所述处理返回到步骤S242,并重复步骤S242及其随后的步骤。
如果在步骤S252确定参数或历史信息的完全再度使用被重新启动,则控制器216在步骤S257关闭内置寄存器中的再度使用完全停止标记。
如果在步骤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的结果为“是”,则所述处理进入到步骤S272,在该步骤中控制器216将用于对P图像的数量进行计数的变量P_Pic_cont设置为P_Pic_cont+1。
如果在步骤S271确定将被编码的图像不是P图像或I图像,或在步骤S272之后,控制器216在步骤S273确定P_Pic_cont是否大于一预定的值m(例如,m=3)。
如果步骤S273的结果为“是”,则所述处理进入到步骤S274。在步骤S274,控制器216确定能够对于该图像重新启动历史信息或参数的部分再度使用,然后所述处理返回到图29的步骤S252。
如果执行步骤S274,则在图29的步骤S252确定参数或历史信息的完全再度使用未被重新启动,但在步骤S253确定能够重新启动参数或历史信息的部分再度使用。因此,至少再度使用部分停止标记被关闭,并且执行参数部分再度使用编码处理。
如果在步骤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的结果为“是”,则控制器216在步骤S278确定在图29的步骤S249、S256或S259中将被编码的图像是否为I图像。
如果在步骤S278确定将被编码的图像是I图像,则控制器216在步骤S279确定能从该图像重新启动历史信息或参数的完全再度使用。然后所述处理返回到图29的步骤S252。
如果执行步骤S279,则在图29的步骤S252能够确定参数或历史信息的完全再度使用能被重新启动。因此,再度使用完全停止标记被关闭,并且执行参数再度使用编码处理。
如果在步骤S277确定变量Pic_cont小于或等于预定值n,或者如果在步骤S278确定将被编码的图像不是I图像,则所述处理进入到步骤S280。在步骤S280,控制器216确定历史信息或参数的完全再度使用不能被重新启动,所述处理返回到图29的步骤S252。
如果执行步骤S280,则在图29的步骤S252确定参数或历史信息的完全再度使用不能被重新启动,然后在步骤S253确定参数或历史信息的部分再度使用能被重新启动。因此,再度使用部分停止标记被关闭,并执行参数部分再度使用编码处理。
根据该处理,能够确定参数或历史信息能被部分重新启动的图像和参数或历史信息能被完全重新启动的图像。例如,如图31所示,再度使用禁止周期开始于在时间上为编辑点之前的一个图像的P图像,直到编辑点之后的经过预定数量m(例如m=3)个图像的I图像或P图像。在该周期过程中,在没有参照历史信息或参数的情况下执行编码。那么,部分再度使用允许周期开始于紧接再度使用禁止周期之后的第一个图像,直到再度使用禁止周期的结束点之后的经过预定数量n(例如,n=8)个图像的图像之后的第一个I图像。在部分再度使用允许周期期间,通过再度使用部分先前编码参数来执行编码处理,下面将参照图32或33对其进行讨论。
编码器161的控制器216可以将关于通过图30中所示的处理设置的再度使用禁止周期和部分再度使用允许周期的信息提供给历史信息产生器218,并且历史信息产生器218可以将该信息添加到将被产生的历史信息。通过这种布置,不能检测编辑点或设置再度使用禁止周期或部分再度使用允许周期的编码装置在再度使用禁止周期期间,能够在没有再度使用历史信息的情况下执行编码,并且在部分再度使用允许周期期间能够通过再度使用部分历史信息执行编码。因此,能够防止VBV缓冲器的溢出或下溢和图像质量的恶化。
在图29的步骤S256中的参数部分再度使用编码处理中,通过再度使用部分编码参数来执行编码,在所述参数再度使用编码处理中能够再度使用所述编码参数。有两种类型的处理:其中根据条件可以再度使用图像类型和运动向量的参数部分再度使用编码处理1;其中根据条件只能再度使用图像类型的参数部分再度使用编码处理2。
下面参照图32的流程图描述图29的步骤S256中的参数部分再度使用编码处理1。
在步骤S301,控制器216从历史信息提取单元171接收历史信息或从参数输入单元251接收参数信息,并通过检测包含在历史信息中的SMPTE329M的sequence_extension()函数的low_delay和包含在历史信息中的SMPTE329M的picture_coding_extension()函数的picture_structure、top_field_first、和repeat_first_field、或包含在参数信息中的类似信息项来确定先前编码的延迟模式、图像配置和下拉模式是否与当前编码的相符。
如果在步骤S301确定先前编码的延迟模式、图像配置和下拉模式与当前编码的不相符,则所述处理进入到步骤S302。在步骤S302,控制器216控制编码器161或编码器241的各个元件以在没有再度使用历史信息或参数的情况下执行编码,然后所述处理返回到图29的步骤S242。
如果在步骤S301确定先前编码的延迟模式、图像配置和下拉模式与当前编码的相符,则所述处理进入到步骤S303。在步骤S303,控制器216通过检测SMPTE 329M的sequence_header()函数中指出的horizontal_size_value和vertical_size_value和SMPTE 329的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通过将先前编码的编码参数与当前编码的编码参数进行比较确定是否满足预订的条件。然而,如果在数据传输系统中,某些参数是固定的,则对于这种参数的确定处理可以被省略。
下面参照图33的流程图描述在图29的步骤S256中的参数部分再度使用编码处理2。
在步骤S321,控制器216从历史信息提取单元171接收历史信息或从参数输入单元251接收参数信息,并通过检测包含在历史信息中的SMPTE329M的sequence_extension()函数的low_delay和包含在历史信息中的SMPTE329M的picture_coding_extension()函数的picture_structure、top_field_first、和repeat_first_field、以及包含在参数信息中的类似信息项来确定先前编码的延迟模式、图像配置和下拉模式是否与当前编码的相符。
如果在步骤S321确定先前编码的延迟模式、图像配置和下拉模式与当前编码的不相符,则所述处理进入到步骤S322。在步骤S322,控制器216控制编码器161或编码器241的各个元件以在没有再度使用历史信息或参数的情况下执行编码,然后所述处理返回到图29的步骤S242。
如果在步骤S321确定先前编码的延迟模式、图像配置和下拉模式与当前编码的相符,则所述处理进入到步骤S323。在步骤S323,控制器216确定通过再度使用与图像类型(picture_coding_type)相关的信息来执行编码,并通过再度使用图像类型的信息控制图像重新布置单元203对图像进行重新布置,并控制其它元件执行编码。然后所述处理返回到图29的步骤S242。
根据该处理,在将先前编码的因数与当前编码的进行比较之后,如果满足预订的条件,则只有图像类型被选作为能被再度使用的编码信息。通过这种布置,即使重复执行解码和编码,图像质量也能够得到保持。
根据参照图33中的流程图所述的处理,在步骤S321通过将先前编码的编码参数与当前编码的编码参数进行比较确定是否满足预订的条件。然而,如果在数据传输系统中,某些参数是固定的,则用于这种参数的确定处理可以被省略。
本发明可应用于不需要重新排序处理的低延迟编码。在低延迟编码中,在没有使用产生重新排序延迟的B图像和产生大量编码的I图像的情况下只使用了P图像,并且P图像被分割成若干个内片和剩余数量的间片。
在低延迟编码中,只有P图像被用于每帧图像,例如在大小为24×45宏块的图像帧中,从图像顶部起的2列宏块和45行宏块被分配给一个内片,而其它的宏块被分配给间片。本发明能够应用于这种类型的低延迟编码。在该情况下,内片可以具有上述以外的尺寸;例如,一列宏块和45行宏块可被分配给内片。
当通过帧内压缩对图像进行编码时也能使用本发明。
虽然在上述的实施例中编码器161或241通过MPEG方法对图像进行压缩,但也可以使用其他类型的图像压缩方法。
在前述的实施例中,用于转换流数据的每个代码转换器都包括一个解码器和一个编码器。然而,在本发明中,解码器和编码器可分别单独的形成为独立的解码装置和编码装置。
更加具体地说,虽然在上述实施例中,每个代码转换器都是对流数据进行转换,但用于将流数据解码成基带信号的解码装置271和用于将基带信号编码成流数据的编码装置272可单独形成,如图34所示。或者,解码装置271不需要对提供的流数据进行完全解码,在该情况下,编码装置272只对解码的数据进行编码。
例如如果解码装置271在没有进行反向DCT处理的情况下对VLC进行解码并执行去量化,则编码装置272执行量化和VLC处理,但并不进行DCT处理。本发明能够用于确定由执行部分编码的编码装置272执行的量化处理中的量化等级是否能够被再度使用。
或者,当解码装置271将流数据完全解码成基带信号时,编码装置272可对基带信息进行部分编码(例如,编码装置272在没有进行VLC处理的情况下执行DCT处理和量化)。当解码装置271仅执行部分解码时(例如,解码装置271在没有执行反向DCT处理的情况下只对VLC码进行解码并执行去量化),编码装置272对解码的数据执行部分编码(例如,编码装置272在没有执行VLC处理的情况下执行量化)。
本发明可应用于包括用于执行部分解码(执行解码处理步骤的一部分)的解码装置271和用于执行部分编码(执行编码处理步骤的一部分)的编码装置272的代码转换器281。代码转换器281能与用于执行编辑例如拼接的编辑装置282一起使用。
上述的一系列处理可通过硬件软件来执行。在这种情况下,代码转换器152或231可由一个人计算机301形成,例如图35所示。
在图35中,中央处理单元(CPU)311根据存储在只读存储器(ROM)311中的程序或从存储单元318装载到随机存取存储器(RAM)313中的程序执行各种类型的处理。在RAM313中,还存储有CPU311执行各种类型的处理所需的数据。
CPU 311、ROM 312和RAM 313通过总线314彼此连接。一输入/输出接口315也被连接到总线314上。
输入/输出接口315还被连接到包括键盘鼠标的输入单元316、包括显示器和扬声器的输出单元317、包括硬盘的存储单元318、和包括调制解调器和终端适配器的通信单元319。通信单元319通过网络例如因特网执行通信处理。
驱动器320也被连接到输入/输出接口315,在驱动器320中可安装磁盘331、光盘332、磁光盘333或半导体存储器334,从这样一个记录介质读取的计算机程序可安装到存储单元318中。
如果使用软件来执行上述系列处理,则从记录介质或通过网络将相应的软件程序安装到嵌入到专用硬件中的计算机或通用计算机,其可将各种类型的计算机程序安装到其中以执行各种类型的功能。
该记录介质可由其中存储程序的封装介质形成,这样的介质可与所述设备分开地分布以向用户提供程序,例如,磁盘331(包括软盘)、光盘332(包括光盘只读存储器(CD-ROM)和数字万用盘(DVD))、磁光盘333(包括迷你盘(MD)(商标))、或半导体存储器334。记录介质可由存储程序的ROM312或存储单元318中包含的硬盘形成,所述硬盘被提供给用户,同时被集成到设备中。
附加编码信息可被添加到场、具有相同图像类型的邻近帧、或GOP,而不是每个帧。另外,除了帧之外,可以以场为单元检测编辑点。或者,可从具有相同图像类型的邻近帧或GOP中选择一个帧,以便在具有相同图像类型的邻近帧中或在GOP中检测编辑点。
在本说明书中,形成存储在存储介质中的程序的步骤可按照说明中所述的年月日的次序执行。或者,可同时或单独执行所述各步骤。
在本说明书中,所述系统指的是包括多个装置的整个设备。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈