程序、解码装置、解码方法以及记录介质的制作方法

文档序号:7959828阅读:100来源:国知局
专利名称:程序、解码装置、解码方法以及记录介质的制作方法
技术领域
本发明涉及程序、解码装置、解码方法以及记录介质,特别涉及适合用于进行随机重放的情况下的程序、解码装置、解码方法以及记录介质。
背景技术
在用MPEG方式编码(encode)影像数据的情况下,有以下的技术不只生成压缩数据,还通过生成索引数据等子数据(subdata),而在解码压缩数据进行重放时,使得能够执行从规定的画面开始进行重放的特殊重放(例如专利文献1)。
专利文献1日本特开平11-341437号公报使用图1说明能够使用索引数据对用MPEG2 LongGOP形式被编码的流数据进行解码的现有的重放装置1。
操作输入取得部件21取得用户的操作输入。操作输入取得部件21从用户接受解码对象流的选择、重放开始位置的指定,并提供给流解码位置检测处理部件22。流解码位置检测处理部件22根据从操作输入取得部件21提供的解码对象流的选择、重放开始位置的指定,求出重放的流的流编号(Stream No.)、重放开始位置的帧编号(Frame No.)并提供给流提供控制部件23。
流提供控制部件23根据重放的流的流编号、重放开始位置的帧编号,取得存储在索引管理部件24中的对应的流的解码所需要的各种信息,检测对指定的重放开始位置的帧进行解码所需要的参照图像帧。然后,流提供控制部件23向流存储控制部件25要求解码所需要的流数据,并经由流存储控制部件25向解码器28提供从流用存储器26提供的流数据。另外,流提供控制部件23将输出的帧的帧编号提供给后述的基带信号处理部件32。
流存储控制部件25对流用存储器26的存储进行控制,从流用存储器26读出从流提供控制部件23要求的流数据,并输出到流提供控制部件23。
流用存储器26分别存储流数据,并根据流存储控制部件25的控制输出规定的流数据。
解码器28在其内部具有存储控制部件41,由存储控制部件41控制参照基带图像用存储器29,对从流提供控制部件23提供的流数据进行解码,将解码后的基带图像数据提供给基带图像数据用存储控制部件30。
具体地说,解码器28在所提供的压缩流是通过帧间参照而压缩的压缩流的情况下,通过存储控制部件41的处理使参照基带图像用存储器29保存后面解码所需要的参照图像,对压缩流进行解码。
基带图像数据用存储控制部件30将从解码器28提供的解码后的基带图像数据提供给基带图像数据用存储器31,同时从基带图像数据用存储器31读出由从基带信号处理部件32要求了的流编号和帧编号所示的帧的基带图像数据并提供给基带信号处理部件32。
基带信号处理部件32针对所提供的基带图像数据,例如进行颜色修正、大小修正、慢放时的字段控制等各种修正,使得正确地重放输出解码后的图像,并输出所生成的输出基带图像数据。
接着,参照图2的流程图,说明在图1的重放装置1中执行的现有的重放处理。
在步骤S1中,流解码位置检测处理部件22通过操作输入取得部件21接受重放位置的指定(流编号、帧编号)的输入,并提供给流提供控制部件23。
在步骤S2中,流提供控制部件23从索引管理部件24取得与所提供的流编号对应的索引表。
在步骤S3中,流提供控制部件23从索引表中抽出作为解码所需要的信息的例如图像类型、与参照图像有关的信息、数据长度等信息。
在步骤S4中,流提供控制部件23取得为了解码指定的帧编号的帧而作为参照图像所需要的帧(在被指定为解码的帧的帧不是I图像的情况下,是至少包含之前的I图像的一个帧)的帧编号、用于解码它们的信息。
在步骤S5中,流提供控制部件23向流存储控制部件25要求作为参照图像和解码的图像所需要的帧。流存储控制部件25从流用存储器26按照顺序的方向读出作为参照图像和解码的图像所必需的帧,并提供给流提供控制部件23。
在步骤S6中,流提供控制部件23将所提供的帧数据提供给解码器28。解码器28对所提供的数据进行解码。具体地说,解码器28在对后面的解码所需要的参照图像进行解码时,通过存储控制部件41的处理使参照基带图像用存储器29保存解码生成的基带图像数据,通过将其作为参照图像使用,而对压缩流进行解码。这时,解码器28在接收到不需要的B帧的提供时(如果不进行所提供的B图像的解码,也能够解码需要的帧),跳过B图像的解码。
然后,在步骤S7中,解码器28将解码了的基带图像数据提供给基带图像数据用存储控制部件30。基带图像数据用存储控制部件30将从解码器28提供的解码后的基带图像数据提供给基带图像数据用存储器31,同时从基带图像数据用存储器31读出由从基带信号处理部件32要求了的流编号和帧编号所示的帧的基带图像数据,并提供给基带信号处理部件32。基带信号处理部件32针对所提供的基带图像数据,例如进行颜色修正、大小修正、慢放时的字段控制等各种修正,使得正确地重放输出解码后的图像,并输出所生成的输出基带图像数据。
使用图3,以在用图1和图2说明了的重放装置1中顺序地输出B13和B3帧的情况为例,说明重放用户所指定的希望的帧的扰乱(scramble)重放(也称为随机重放)。
流解码位置检测处理部件22通过操作输入取得部件21接受解码对象的流的流编号、被指定为重放输出的帧的B13和B3的帧编号的输入,并提供给流提供控制部件23。
流提供控制部件23首先向流存储控制部件25要求包含作为为了解码在第一张中输出的B13而作为参照图像所需要的帧的I2、P5、P8、P11和P14、作为重放输出的帧的B13的时间顺序的流,并提供给解码器28。
解码器28顺序地解码所提供的数据(可以根据需要跳过B图像的解码),通过存储控制部件41的处理对参照基带图像用存储器29设置P11和P14,并将它们作为参照图像而解码B13。解码器28将与解码了的B13对应的基带图像数据提供给基带图像数据用存储控制部件30,并保存到基带图像数据用存储器31(存储器复制)。然后,在基带信号处理部件32中进行各种修正(基带处理)而输出输出基带图像数据。
然后,流提供控制部件23接着向流存储控制部件25要求作为为了解码在第二张中输出的B3而作为参照图像所需要的帧的I2和P5、作为重放输出的帧的B3,向解码器28提供包含它们的时间顺序的流。
解码器28顺序地解码所提供的数据,通过存储控制部件41的处理对参照基带图像用存储器29设置I2和P5,并将它们作为参照图像而解码B3。解码器28将与解码了的B3对应的基带图像数据提供给基带图像数据用存储控制部件30,并保存到基带图像数据用存储器31中(存储器复制)。然后,在基带信号处理部件32中进行各种修正(基带处理)而输出输出基带图像数据。
通过这样的处理,在现有的重放装置1中,进行扰乱重放。
在使用图1说明了的重放装置1中,按照时间顺序向解码器28提供压缩流而进行解码,并输出解码生成的基带图像数据。解码器28在所提供的压缩流是通过帧间参照而压缩的压缩流的情况下,通过存储控制部件41的处理使参照基带图像用存储器29保存后面的解码所需要的参照图像,从而解码压缩流。
具体地说,解码器28在以MPEG2 LongGOP形式对所提供的压缩流进行编码的情况下,解码I图像并保存在参照基带图像用存储器29中,参照该I图像来解码P图像并保存在参照基带图像用存储器29中,参照所保存的I图像或P图像而解码B图像。另外,在所参照的帧的解码结束后,废弃保存在参照基带图像用存储器29中的参照图像数据。
即,参照基带图像用存储器29由解码器28的存储控制部件41控制,在解码器28的解码处理中,只用于暂时存储对进行帧间参照的压缩数据进行解码时的参照图像数据。
在这样的方式中,高速地进行时间上随机的图像的解码是困难的。例如在希望将前任意帧的解码后的图像用作参照图像的情况下,如果在参照基带图像用存储器29中不存在解码器28能够参照的图像,则必须再次向解码器28提供作为参照图像所必需的基带图像帧而进行解码,并且设置到参照基带图像用存储器29中。然后,可以使得由解码器28对重放输出的基带图像帧进行解码,因此难以高速地进行时间上随机的图像的解码。
因此,在现有的解码方法中,针对扰乱重放(随机重放)的指令,难以高速地跟踪重放输出。另外,难以高速地进行随机位置的帧的重放是指例如针对帧格播放中的与操作量(例如在操作输入设备是拨号盘(dial)的情况下,是拨号盘的旋转量等)成正比的帧数的作业(job)重放、搜索(search)的在与操作量成正比的速度下进行重放的浏览(shuttle)重放等、倒放、暂时停止、帧格播放、帧格回倒等各种重放、可变速重放或倒放等的特技(trick)重放等各种重放处理的指令,难以高速地跟踪重放输出。

发明内容
本发明就是鉴于这样的状况而提出的,针对扰乱重放(随机重放)的指令,能够高速地跟踪重放输出。
本发明的一个方面的程序使计算机执行包含以下步骤的处理接受表示编码流的重放状态的重放信息的输入的重放信息输入步骤;根据通过重放信息输入步骤的处理输入的重放信息,取得表示对编码流的对象图像进行解码处理所需要的参照图像的参照图像信息的参照图像信息取得步骤;根据通过参照图像信息取得步骤的处理取得的参照图像信息,判断参照图像是否存储在规定的存储区域中的判断步骤;在通过判断步骤的处理判断出参照图像没有存储在存储区域中的情况下,从编码流中取得没有存储在存储区域中的参照图像进行解码处理,控制向存储区域中存储的参照图像解码步骤;利用存储在存储区域中的参照图像,通过对编码流的对象图像进行解码处理而生成图像数据,控制向存储区域中存储的解码步骤。
在参照图像解码步骤和解码步骤的处理中,还可以包含通过多个解码方法执行解码处理,根据通过重放信息输入步骤的处理输入的重放信息,决定编码流的解码顺序和解码方法的第一决定步骤,在参照图像解码步骤和解码步骤的处理中,根据由第一决定步骤的处理决定了的解码顺序和解码方法执行解码处理。
在判断步骤的处理中,可以判断在通过第一决定步骤的处理决定的解码方法中解码了的参照图像是否存储在存储区域中。
在参照图像解码步骤和解码步骤的处理中,可以根据基于第一决定步骤的处理的决定,执行分辨率不同的多个解码处理中的任意一个。
在参照图像解码步骤和解码步骤的处理中,可以根据基于第一决定步骤的决定,执行与多个编码方式对应的解码处理中的任意一个。
在编码流中可以包含I图像、P图像和B图像,在解码步骤的处理中,在编码流的对象图像是B图像的情况下,可以使得解码相对于对象图像在时间上存在于近旁的I图像或P图像。
在编码流中可以包含帧内编码了的图像和帧间预测编码了的图像,在解码步骤的处理中,在编码流的对象图像是帧间预测编码了的图像的情况下,可以使得解码相对于对象图像在时间上存在于近旁的帧内编码了的图像。
还可以包含以下步骤根据包含在参照图像信息中的过去侧的参照帧数和在与1帧对应的图像的显示内能够执行解码处理的帧数,决定编码流的解码方法的第二决定步骤。
还可以包含以下步骤计算出能够在与1帧对应的图像的显示时间内执行解码处理的帧数的计算步骤。
还可以包含以下步骤计算出包含在参照图像信息中的过去侧的参照帧数的计算步骤。
本发明的一个方面的解码装置包含接受表示编码流的重放状态的重放信息的输入的重放信息输入装置;管理表示对编码流的对象图像进行解码处理所需要的参照图像的参照图像信息的参照图像信息管理装置;对编码流进行解码处理而生成图像数据的解码装置;存储由解码装置生成的图像数据的存储装置;管理由存储装置存储的图像数据的存储状态的存储管理装置;通过参照由参照图像信息管理装置管理的参照图像信息和由存储管理装置管理的存储状态,来控制解码装置的解码处理的解码控制装置,其中解码装置将由存储装置存储的图像数据中的任意一个作为参照图像对编码流进行解码处理,并将解码后的对象图像提供给存储装置进行存储。
本发明的一个方面的解码方法包含接受表示编码流的重放状态的重放信息的输入的重放信息输入步骤;根据通过重放信息输入步骤的处理输入的重放信息,取得表示对编码流的对象图像进行解码处理所需要的参照图像的参照图像信息的参照图像信息取得步骤;根据通过参照图像信息取得步骤的处理而取得的参照图像信息,判断参照图像是否存储在存储区域中的判断步骤;在通过判断步骤的处理判断出参照图像没有存储在存储区域中的情况下,从编码流中取得没有存储在存储区域中的参照图像进行解码处理,控制向存储区域中存储的参照图像解码步骤;利用存储在存储区域中的参照图像,通过对编码流的对象图像进行解码处理而生成图像数据,控制向存储区域中存储的解码步骤。
在本发明的一个方面中,接受表示编码流的重放状态的重放信息的输入,根据重放信息取得表示解码对象图像所需要的参照图像的参照图像信息,基于参照图像是否存储在规定的存储区域中的判断,根据需要从编码流中取得与参照图像对应的编码了的图像进行解码,将所生成的参照图像存储到规定的存储区域中,同时根据存储在规定的存储区域中的参照图像,解码对象图像并记录到规定的存储区域中。
根据本发明的一个方面,解码流图像数据,特别地将参照帧和解码后的重放输出的帧存储在同一存储区域中,因此能够高速地进行扰乱重放。


图1是表示现有的重放装置的结构的框图。
图2是用于说明现有的解码处理的流程图。
图3是用于说明现有的重放装置中的扰乱重放的图。
图4是表示适用了本发明的重放装置的结构的框图。
图5是用于说明编辑画面的图。
图6是用于说明索引表的图。
图7是用于说明图4的重放装置中的扰乱重放的图。
图8是用于说明图4的基带存储管理部件所管理的信息的图。
图9是表示个人计算机的结构的框图。
图10是用于说明在图9的个人计算机中实现的功能的功能框图。
图11是用于说明解码处理1的流程图。
图12是用于说明深度信息计算处理的流程图。
图13是用于说明解码处理2的流程图。
图14是用于说明解码切换决定处理的流程图。
图15是用于说明能够解码帧数计算处理的流程图。
图16是表示变换装置的结构的框图。
图17是用于说明索引文件的图。
图18是用于说明使I图像的比特率固定的情况的图。
图19是用于说明使I图像的比特率变动的情况的图。
图20是用于说明随机重放P图像的情况的图。
图21是用于说明随机重放B图像的情况的图。
图22是用于说明在图9的个人计算机中实现的功能的功能框图。
图23是用于说明代理文件生成处理1的流程图。
图24是用于说明变更了PI变换数的情况的图。
图25是用于说明最小解码数的图。
图26是用于说明最小解码数的图。
图27是用于说明最小解码数的图。
图28是用于说明最小解码数的图。
图29是用于说明最小解码数的图。
图30是用于说明变换的P图像的设置处理的流程图。
图31是用于说明变换的P图像的设置的图。
图32是用于说明代理文件生成处理2的流程图。
具体实施例方式
以下说明本发明的实施例,如果示例本发明的结构要素与说明书或附图所记载的实施例的对应关系,则如下。该记载用于确认支持本发明的实施例已经被记载在说明书或附图中。因此,虽然在说明书或附图中有记载,但作为与本发明的结构要素对应的实施例,即使是在此没有记载的实施例,该实施例也并不意味着不与该结构要素对应。相反,即使是作为与结构要素对应的要素而在此有记载的实施例,也并不意味着该实施例不与该结构要素以外的结构要素对应。
本发明的一个方面的程序或解码方法使计算机执行包含以下步骤的处理接受表示编码流的重放状态的重放信息(例如重放的帧的指定、重放速度或重放模式)的输入的重放信息输入步骤(例如图11的步骤S41的处理);根据通过重放信息输入步骤的处理输入的重放信息,取得表示对编码流的对象图像进行解码处理所需要的参照图像的参照图像信息的参照图像信息取得步骤(例如图11的步骤S46的处理);根据通过参照图像信息取得步骤的处理而取得的参照图像信息,判断参照图像是否存储在规定的存储区域(例如图10的RAM223的基带图像数据用存储器223)中的判断步骤(例如图11的步骤S47的处理);在通过判断步骤的处理判断出参照图像没有存储在存储区域中的情况下,从编码流中取得没有存储在存储区域中的参照图像进行解码处理,控制向存储区域中存储的参照图像解码步骤(例如图11的步骤S48的处理);利用存储在存储区域中的参照图像,通过对编码流的对象图像进行解码处理而生成图像数据,控制向存储区域中存储的解码步骤(例如图11的步骤S49的处理)。
在参照图像解码步骤和解码步骤的处理中,还可以包含能够通过多个解码方法执行解码处理,根据通过重放信息输入步骤的处理输入的重放信息,决定编码流的解码顺序和解码方法的第一决定步骤(例如图11的步骤S44的处理),在参照图像解码步骤和解码步骤的处理中,能够根据由第一决定步骤的处理决定了的解码顺序和解码方法执行解码处理。
在参照图像解码步骤和解码步骤的处理中,可以根据基于第一决定步骤的决定,执行与多个编码方式对应的解码处理(例如规定的图像类型专用的解码处理或MPEG以外的解码处理)中的任意一个。
在编码流中可以包含帧内编码了的图像(例如I图像)和帧间预测编码了的图像(例如P图像或B图像),在解码步骤的处理中,在编码流的对象图像是帧间预测编码了的图像的情况下,可以解码相对于对象图像在时间上存在于近旁的帧内编码了的图像。
还可以包含以下步骤根据包含在参照图像信息中的过去侧的参照帧数(例如与深度信息对应的值)和在与1帧对应的图像的显示内能够执行解码处理的帧数(例如能够解码帧数),决定编码流的解码方法的第二决定步骤(例如图13的步骤S127的处理,即图14所示的处理)。
还可以包含以下步骤计算出能够在与1帧对应的图像的显示时间内执行解码处理的帧数(例如能够解码帧数)的计算步骤(例如图14的步骤S164的处理)。
还可以包含以下步骤计算出包含在参照图像信息中的过去侧的参照帧数(例如与深度信息对应的值)的计算步骤(例如用图12说明的处理)。
本发明的一个方面的解码装置(例如图4的重放装置或图9的个人计算机201)包含接受表示编码流的重放状态的重放信息(例如重放的帧的指定、重放速度或重放模式)的输入的重放信息输入装置(例如图4的操作输入取得部件21);管理表示对编码流的对象图像进行解码处理所需要的参照图像的参照图像信息的参照图像信息管理装置(例如图4的索引管理部件24);对编码流进行解码处理而生成图像数据的解码装置(例如图4的解码处理部件76);存储由解码装置生成的图像数据的存储装置(例如图4的基带图像数据用存储器31);管理由存储装置存储的图像数据的存储状态的存储管理装置(例如图4的基带存储管理部件73);通过参照由参照图像信息管理装置管理的参照图像信息和由存储管理装置管理的存储状态,来控制解码装置的解码处理的解码控制装置(例如图4的解码控制部件72),其中解码装置将由存储装置存储的图像数据中的任意一个作为参照图像对编码流进行解码处理,并将解码后的对象图像提供给存储装置进行存储。
以下,参照

本发明的实施例。
图4是表示适用了本发明的重放装置61的结构例子的框图。
另外,对与现有技术对应的部分附加同一符号,并适当地省略其说明。
即,图4的重放装置61代替流提供控制部件23而设置有流提供控制部件74,代替解码器28而设置有解码处理部件76,代替基带图像数据用存储控制部件30而设置有基带图像数据用存储控制部件77,并省略了参照基带图像用存储器29,而新设置GUI显示控制部件71、解码控制部件72、基带存储管理部件73和参照图像指示部件75,除此以外,具有与用图1说明了的重放装置1基本一样的结构。
GUI显示控制部件71向用户提供催促操作输入的GUI(图形用户界面),或者控制用于显示输出处理结果的画面的显示,例如控制图5所示那样的编辑画面的显示。
图5所示的编辑画面101提供用于执行以下处理的各种GUI,例如随机地重放多个流数据并检测希望的编辑点,在希望的编辑点处,执行将不同的流数据连接起来等的编辑处理。
例如由用户选择出的流数据在解码处理部件76中被解码(decode),经由基带图像数据用存储控制部件77存储到基带图像数据用存储器31中,在基带信号处理部件32中进行了规定的处理后,通过GUI显示控制部件71的处理,在重放窗口111中显示。即,将在基带信号处理部件32中处理了的重放用的输出基带图像数据提供给GUI显示控制部件71,显示在由GUI显示控制部件71进行显示控制的编辑画面101的重放窗口111中。
通过根据用户的操作输入,使设置在重放窗口111的下部中的扰乱条(scramble bar)121的指针(pointer)122的位置移动,来设置流数据的重放位置。另外,在时间线(time line)窗口112中,也设置例如向用户通知视频流或音频流中的时间轴中的重放位置或用户能够指示重放位置那样的时间线131,根据用户的操作输入,使时间线131的指针132的位置移动,从而能够设置重放位置。
操作输入取得部件21取得用户参照用图5说明了的编辑画面101进行的操作输入。操作输入取得部件21从用户接受解码对象流的选择、重放开始位置的指定,即扰乱条121的指针122或时间线131的指针132的操作,同时接受重放模式或重放速度等的指令,并提供给流解码位置检测处理部件22。流解码位置检测处理部件22根据从操作输入取得部件21提供的解码对象流的选择、重放开始位置的指定,求出重放的流的流编号、重放开始位置的帧编号并与重放速度等的指令一起提供给解码控制部件72。
重放模式例如有从规定的重放位置开始的通常重放、快放、倒回、正反方向的帧格播放、静止图像的显示等,也可以分别设置快放、倒回等的速度、帧格播放的帧格间隔等。
解码控制部件72根据从流解码位置检测处理部件22提供的重放的流的流编号、重放开始位置的帧编号和重放速度、重放模式等的指示内容,取得存储在索引管理部件24中的记载有对应的流的解码所需要的各种信息的索引表(图6),进而取得由基带存储管理部件73管理的存储在基带图像数据用存储器31中的基带图像数据的信息。另外,解码控制部件72根据这些信息,决定用于解码的解码器和解码顺序。
图6表示存储在索引管理部件24中的索引表的一个例子。
在图6所示的索引表中记载有显示顺序(Display Order)中的图像的排列顺序、流顺序(Stream Order)中的图像的排列顺序、用于从显示顺序向流顺序变换图像的排列的图像的偏移量(TemporalOffset)。另外,在索引表中还记载有表示流顺序中的序列头(Sequence Header)的位置的信息,在图中将有序列记载为1,将没有记载为0,还记载有表示向前方向或后方向的参照图像的有无的信息(Forward/Backward Prediction(Picture Type))。
另外,在本例子中,对于表示向前方向或后方向的参照图像的有无的信息,在所提供的比特流是OpenGOP形式的情况下,将前方向预测编码帧(即P图像)记载为“10”,将两方向预测编码帧(即B图像)记载为“11”,另外将帧内编码帧(即I图像)记载为“00”。另外,在所提供的比特流是ClosedGOP形式的情况下,接着帧内编码数据(即I图像)后面的2张B图像由于只参照后方向,所以记载为“01”。
另外,在索引表中记载有各个图像的图像大小(Picture Size)、图像的流内或记录区域中的地址(Address)。另外,在索引表中,记载有表示该图像与成为关键字(key)帧的图像(在此是进行帧内编码处理的I图像)的距离的信息(Key Frame Offset(十进制数))、用90KHz时钟的时间表示解码器的假想输入缓存器的存储量的Vbv延迟(VBVVideo Buffer Verifier)。进而,在索引表中,还记载有表示与解码该图像所需要的前方向图像中的离重放帧最远的帧之间的帧数(深度)的深度信息(Depth of Past Frames forDecoding)。
即,解码控制部件72根据索引表,检索解码指定的重放开始位置的帧所需要的I帧(关键字帧)的位置、存储在流用存储器26中的流的地址或图像大小等。另外,解码控制部件72根据由用户指示的重放速度等信息,决定解码所需要的质量。
具体地说,解码控制部件72例如与重放装置61内的各部分的处理速度、处理的流的数据速率等对应地,为了保持最终输出的显示帧的显示质量、显示帧格数等,而通过以下的(1)~(3)所示的任意的方法控制解码顺序。
(1)顺序地对被指示为要重放的帧进行解码,使得等待时间(Latency)为最短。(2)在被指示为要重放的帧的图像类型是B图像的情况下,对近旁的I图像或P图像进行解码并输出。(3)只对被指示为要重放的帧的近旁的I图像进行解码输出。
具体地说,解码控制部件72也可以例如在能够通过(1)的方法控制解码顺序的情况下,采取(1)所示的方法,指示某种程度的快放或倒回等,在通过(1)所示的方法无法确保最终输出的显示帧的显示帧格数的情况下,通过(2)所示的方法控制解码顺序,在通过(2)所示的方法也无法确保最终输出的显示帧的显示帧格数的情况下,通过(3)所示的方法控制解码顺序。
另外,解码控制部件72与所指示的重放模式、重放装置61内的各部分的处理速度和所处理的流的数据速率等对应地,为了保持最终输出的显示帧的显示质量和显示帧格数等,可以将包含在解码处理部件76中的多个解码中的最适合的解码器选择作为执行解码处理的解码器。
具体地说,解码控制部件72例如可以在通过上述(1)的方法控制解码顺序的情况下,在使显示速度减慢为一定程度以上,或显示静止图像时,即在能够由用户充分识别出所显示的图像的分辨率的重放模式时,选择高分辨率的解码器,或者在通过(1)的方法控制解码顺序的情况下,在将显示速度加快到一定程度以上的情况等的由用户难以确认所显示的图像的分辨率的重放模式时,选择低分辨率的解码器。
另外,解码控制部件72即使指示了在同一速度下进行重放,例如在通过(1)的方法控制解码顺序的情况下,也选择低分辨率的解码器使得能够确保最终输出的显示帧的显示帧格数,另一方面,在通过(2)的方法控制解码顺序的情况下,由于能够充分确保最终输出的显示帧的显示帧格数,所以可以选择高分辨率的解码器。
进而,解码控制部件72也可以例如在通过(3)的方法控制解码顺序的情况等下,选择特定的图像类型专用的解码器(在此为I图像专用的解码器)。
另外,解码控制部件72可以具备能够对用MPEG以外的压缩方法压缩的流进行解码的解码器,例如在提供了用MPEG以外的压缩方法压缩了的压缩流的情况下,选择能够对该压缩流进行解码的解码器,执行解码处理。
解码控制部件72也可以对每个流或帧切换解码顺序和解码器的选择。
另外,解码控制部件72根据索引数据,决定解码指定的帧所需要的参照帧,并根据从基带存储管理部件73取得的存储在基带图像数据用存储器31中的基带图像数据的信息,判断必需的参照帧是否已经被解码。然后,解码控制部件72根据该判断结果,决定需要进行解码的帧的解码顺序和实施解码的解码器。然后,解码控制部件72向流提供控制部件74提供解码的流的流编号和解码的帧的帧编号,向参照图像指示部件75提供解码的流的流编号、作为参照图像从基带图像数据用存储器31读出的必需的帧(对于1张重放帧是0~2张的帧)的帧编号,向解码处理部件76提供用于处理的解码器的选择结果、用于控制解码处理的控制信号。
基带存储管理部件73经由基带图像数据用存储控制部件77监视保存在基带图像数据用存储器31中的基带图像数据,并将保存在基带图像数据用存储器31中的基带图像数据的帧信息提供给解码控制部件72。
流提供控制部件74根据从解码控制部件72提供的重放的流的流编号、解码的帧的帧编号,向流存储控制部件25要求解码所需要的流数据,向解码处理部件76提供从流存储控制部件25提供的流数据。
流存储控制部件25控制流用存储器26的流数据的存储,从流用存储器26读出从流提供控制部件74要求的流数据,并输出到流提供控制部件74。
流用存储器26分别存储流数据,根据流存储控制部件25的控制,输出规定的流数据。
参照图像指示部件75根据从解码控制部件72提供的解码的流的流编号、作为参照图像从基带图像数据用存储器31读出的必需的帧的帧编号,向基带图像数据用存储控制部件77要求将作为参照图像从基带图像数据用存储器31读出的必需的帧提供给解码处理部件76,将作为参照图像使用的基带图像数据提供给解码处理部件76。
解码处理部件76由多个解码器(解码器0~解码器n)构成,根据解码控制部件72的控制,通过适合的解码器对从流提供控制部件74提供的流数据进行解码,并将解码后的基带图像数据提供给基带图像数据用存储控制部件77。
具体地说,解码处理部件76例如包含高分辨率解码器、低分辨率解码器、特定的图像专用的解码器、或能够对通过MPEG以外的压缩方法压缩的流数据进行解码的解码器等,通过根据解码控制部件72的控制选择出的解码器,将根据需要从基带图像数据用存储控制部件77提供的基带图像数据作为参照图像进行参照,对从流提供控制部件74提供的压缩了的流数据进行解码。
基带图像数据用存储控制部件77将从解码处理部件76提供的解码后的基带图像数据提供给基带图像数据用存储器31,同时从参照图像指示部件75接受作为参照图像从基带图像数据用存储器31读出的必要的帧的供给,从基带图像数据用存储器31读出指定的参照图像,提供给解码处理部件76。
另外,基带图像数据用存储控制部件77从基带图像数据用存储器31读出由从基带信号处理部件32要求的流编号和帧编号表示的帧的基带图像数据,提供给基带信号处理部件32。基带图像数据用存储控制部件77例如在指示了作业重放等变速重放的情况下,也可以从基带图像数据用存储器31读出基于用户的操作输入的规定的帧,提供给基带信号处理部件32进行重放输出。
基带信号处理部件32针对所提供的基带图像数据,例如进行颜色修正、大小修正、慢放时的字段控制等各种修正,使得正确地重放输出解码了的图像,将所生成的输出基带图像数据输出到GUI显示控制部件71。
如上所说明的那样,在适用了本发明的重放装置61中,通过解码处理部件76中的任意一个解码器解码了的基带图像数据全部被存储在基带图像数据用存储器31中,也从基带图像数据用存储器31读出参照图像。用图1说明了的重放装置1的参照基带图像用存储器29只由解码器28的存储控制部件41进行控制,只收发解码器28的数据,用图1说明了的重放装置1的基带图像数据用存储器31根据基带图像数据用存储控制部件30的控制,将从解码器28提供的基带图像数据提供给基带信号处理部件32。与此相对,适用了本发明的重放装置61的基带图像数据用存储器31根据基带图像数据用存储控制部件77的控制,与解码处理部件76收发参照图像数据,同时与现有技术一样地,向基带信号处理部件32提供基带图像数据。
在适用了本发明的重放装置61中,在基带图像数据用存储器31中存储有能够作为参照图像数据利用的基带图像数据时,作为参照图像,使用存储在基带图像数据用存储器31中的基带图像数据,因此不向解码处理部件76提供新的用于生成参照图像的帧。即,向解码处理部件76提供的帧也可以不是如通常的帧那样的顺序。
或者,在适用了本发明的重放装置61中,在基带图像数据用存储器31中存储有能够作为参照图像数据利用的基带图像数据时,作为参照图像,使用存储在基带图像数据用存储器31中的基带图像数据,因此解码处理部件76也有不依照该顺序对所提供的时间顺序的比特流进行解码(在有参照图像的情况下,不对对应的帧进行解码而跳过)的情况。
因此,在适用了本发明的重放装置61中,设置有监视存储在基带图像数据用存储器31中的基带图像数据的基带存储管理部件73,并设置有根据基带存储器的状态进行解码的顺序和解码器的选择的解码控制部件72,还设置有向基带图像数据用存储控制部件77提供向解码处理部件76提供参照图像的指示的参照图像指示部件75。
接着,使用图7,以顺序地输出B13帧和B3帧的情况为例子,说明重放用户所指定的希望的帧的扰乱重放。
流解码位置检测处理部件22通过操作输入取得部件21接受解码对象的流的流编号、被指定为重放输出的帧的B13和B3的帧编号的输入,同时接受重放速度、重放模式等的指示,并提供给解码控制部件72。
解码控制部件72根据从流解码位置检测处理部件22提供的重放的流的流编号、被指定为重放输出的帧的B13和B3的帧编号、以及重放速度和重放模式等的指示内容,取得存储在索引管理部件24中的用图6说明了的索引表,得到解码对应的流所需要的各种信息,进而取得由基带存储管理部件73管理的存储在基带图像数据用存储器31中的基带图像数据的信息。在此,说明在基带图像数据用存储器31中没有保存有解码被指定为重放输出的B13和B3所需要的参照图像所对应的帧的情况。
解码控制部件72根据这些信息,决定用于解码的解码器和解码顺序。即,解码控制部件72例如在重放模式是对这2张的帧的静止图像进行连续重放的情况下,决定为从解码处理部件76选择高分辨率的解码器,对为了解码B13而作为参照图像所需要的帧的I2、P5、P8、P11和P14进行解码,使用参照图像P11和P14解码B13,接着,为了解码B13,而使用已经解码的保存在基带图像数据用存储器31中的I2和P5来解码B3。
解码控制部件72与流编号一起将需要提供给解码处理部件76的帧的帧编号,即为了解码在第一张中输出的B13而作为参照图像所必需的帧的I2、P5、P8、P11和P14、以及作为重放输出的帧的B13和B3的帧的帧编号,提供给流提供控制部件74。
流提供控制部件74首先向流存储控制部件25要求为了解码在第一张中输出的B13而作为参照图像所必需的帧的I2、P5、P8、P11和P14、以及作为重放输出的帧的B13和B3,并顺序地提供给解码处理部件76。
解码处理部件76中的由解码控制部件72选择出的解码器根据解码控制部件72的控制,根据I2图像对所提供的数据进行解码,将解码生成的基带图像数据提供给基带图像数据用存储控制部件77,并保存在基带图像数据用存储器31中,同时以后在解码P5、P8、P11和P14时,经由基带图像数据用存储控制部件77接受保存在基带图像数据用存储器31中的基带图像数据中的与参照图像对应的帧的基带图像数据的供给,根据它执行解码。
然后,解码处理部件76中的由解码控制部件72选择出的解码器在根据解码控制部件72的控制对B13进行解码时,接受与P11和P14对应的基带图像数据的供给,将它们作为参照图像而解码B13,在经由基带图像数据用存储控制部件77将与解码了的B13对应的基带图像数据存储在基带图像数据用存储器31中后,提供给基带信号处理部件32。然后,在基带信号处理部件32中,进行各种修正(基带处理),输出输出基带图像数据。
然后,解码处理部件76中的由解码控制部件72选择出的解码器在接着对B3进行解码时,根据解码控制部件72的控制,接受与已经存储在基带图像数据用存储器31中的I2和P5对应的基带图像信号的供给,将它们作为参照图像,对B3进行解码,在经由基带图像数据用存储控制部件77将与解码了的B3对应的基带图像数据保存到基带图像数据用存储器31中后,提供给基带信号处理部件32。然后,在基带信号处理部件32中,进行各种修正(基带处理),输出输出基带图像数据。
这样,在一个存储器中进行解码后的基带图像数据的保存、参照图像的保存,因此不需要为了输出处理的存储器复制的动作,另外在扰乱重放中,不需要为了生成参照图像而重复对同一帧进行解码,因此能够高速地对重放帧进行解码。
另外,使进行参照图像的保存的存储器与解码器分离,从解码器以外的部分进行控制,因此增加了解码顺序的控制的自由度,另外可以对每个帧切换输入流,对每个帧切换解码器,因此能够对应各种各样的解码算法。
为了进行用图7说明了的处理,基带存储管理部件73对图8所示那样的信息进行管理。即,基带存储管理部件73对表示各个帧在解码后是否存在于基带图像数据用存储器31中的标志(Exist1表示解码后存在于基带图像数据用存储器31中)、以及表示这些解码后的帧是由解码处理部件76中的哪个解码器解码的值(解码器类型(Decoder Type)例如在图8所示的情况下,高分辨率解码器为1,低分辨率解码器为2等)进行管理。
解码控制部件72在使用高分辨率的解码器执行解码的情况下,为了防止图像的恶化,即使在低分辨率下对用作参照图像的基带图像数据进行了解码并保存在基带图像数据用存储器31中,也不使用该参照图像数据,而可以用高分辨率的解码器对对应的压缩图像帧进行解码并用作参照图像。
另外,基带存储管理部件73也可以对每个帧管理水平大小(Horizontal Size)、垂直大小(Vertical Size)、色度格式(Chroma Format)等,基带信号处理部件32根据这些信息,并根据输出格式,对所提供的基带图像数据调整大小。
可以通过硬件执行上述一连串的处理,也可以通过软件执行。在该情况下,例如重放装置61由图9所示那样的个人计算机201构成。
在图9中,CPU(中央处理单元)221依照存储在ROM(只读存储器)222中的程序、或者从HDD226装载到RAM(随机访问存储器)223中的程序,执行各种处理。在RAM223中,还适当地存储在CPU221执行各种处理时所需要的数据等。
CPU221、ROM222、RAM223经由总线224相互连接。该总线224还与接口(I/F)225-1~225-3、HDD(硬盘驱动器)226、影像特殊效果声音混合处理部件227和信号处理部件228连接。
接口225-1与键盘202、鼠标203等输入设备连接。接口225-2与存储装置204连接,能够收发信息。另外,接口225-3与外部影像记录重放装置205-1~205-m连接,能够收发信息。HDD226对硬盘进行驱动,能够存储各种信息。
影像特殊效果声音混合处理部件227还与信号处理部件228、存储装置204和影像记录重放装置205-1~205-m连接,对从存储装置204和影像记录重放装置205-1~205-m的任意一个提供、或经由总线224从HDD226提供的影像信号实施特殊效果,或对声音进行混频等并提供给信号处理部件228输出,或者提供给存储装置204和影像记录重放装置205-1~205-m中的任意一个进行保存。
信号处理部件228还与显示器229和扬声器230连接,例如将从影像特殊效果声音混合处理部件227等提供的影像信号提供给显示器229进行显示,或者将声音信号提供给扬声器230进行声音输出。
显示器229例如由CRT(阴极射线管)、LCD(液晶显示器)等构成,显示从信号处理部件228提供的影像。扬声器对从信号处理部件228提供的声音进行重放输出。
总线224还根据需要与驱动器231连接,适当地安装磁盘、光盘、光磁盘或半导体存储器等可移动介质206,根据需要将从它们读出的计算机程序安装到HDD226中。
图10表示了用于说明在使用图9说明了的个人计算机201中,通过软件执行适用了本发明的处理的情况下的功能的一个例子的功能框图。
另外,对与图4或图9的情况对应的部分附加同一符号,并适当地省略其说明。
通过由CPU221执行规定的程序,个人计算机201具有具有与图4的操作输入取得部件21、GUI显示控制部件71基本一样的功能的GUI控制部件251、具有与图4的流提供控制部件74和流存储控制部件25基本一样的功能的流提供控制部件252、具有与图4的参照图像指示部件75和基带图像数据用存储控制部件77基本一样的功能的参照图像指示部件253的功能,并且具有与用图4说明了的流解码位置检测处理部件22、解码控制部件72、解码处理部件76、基带信号处理部件32一样的功能。
CPU221根据通过鼠标202或键盘203等输入设备输入的用户的操作,参照记录在存储装置204、外部影像记录重放装置205或HDD226中的索引表,同时将RAM223中的规定的存储区域用作基带图像数据用存储器31,参照存储在基带图像数据用存储器31中的基带图像数据,决定存储在存储装置204、外部影像记录重放装置205或HDD226中的流数据中的包含在由用户指定的流中的帧的解码的顺序、解码的方法。
CPU221将RAM223中的规定的存储区域作为基带图像数据用存储器31利用,因此将解码了的基带图像数据提供给RAM223而存储,同时将存储在RAM223中的基带图像数据作为参照图像而在解码中利用。另外,CPU221读出存储在RAM223中的基带图像数据,例如进行颜色修正、大小修正、慢放时的字段控制等各种修正,使得正确地重放输出解码后的图像,并将所生成的输出基带图像数据提供给显示器229进行显示。
即,CPU221将RAM223中的规定的存储区域作为基带图像数据用存储器31利用,不对参照图像用和输出信号用进行区别地存储解码后的基带图像数据,并将这些基带图像数据作为参照图像和输出信号而利用。
接着,参照图11的流程图,说明通过用图4说明了的重放装置61或用图9和图10说明了的个人计算机201执行的解码处理1。
在步骤S41中,流解码位置检测处理部件22(CPU221的流解码位置检测处理部件22)通过操作输入取得部件21(CPU221的GUI控制部件251)接受重放位置的指定(流编号、帧编号)的输入,并提供给解码控制部件72(CPU221的解码控制部件72)。
在步骤S42中,解码控制部件72(CPU221的解码控制部件72)从索引管理部件24(存储装置204、外部影像记录重放装置205或HDD226)取得与提供的流编号对应的索引表。
在步骤S43中,解码控制部件72(CPU221的解码控制部件72)从索引表中抽出作为解码所需要的信息的例如图像类型、与参照图像有关的信息、数据长度、或存储器内的地址等信息。
在步骤S44中,解码控制部件72(CPU221的解码控制部件72)根据来自用户的指令,决定重放输出的帧的解码顺序和解码器(解码的方法)。
具体地说,例如在由用户指示了低速的重放的情况下,解码控制部件72(CPU221的解码控制部件72)可以使得顺序地使用高分辨率的解码器对被指示了重放的帧进行解码,使得等待时间最短。但是,在指示了某种程度的高速的快放或倒回等的情况下,解码控制部件72(CPU221的解码控制部件72)通过顺序地使用高分辨率的解码器对重放的帧进行解码的方法,是无法确保最终输出的显示帧的显示帧格数的,因此可以使得对被指示了重放的帧的近旁的I图像或P图像进行解码输出,或者使用低分辨率的解码器进行解码。另外,进而在高速下不要求画质的重放模式中,可以使得用I图像专用的解码器只对被指示重放的帧的近旁的I图像进行解码并输出。
在步骤S45中,解码控制部件72(CPU221的解码控制部件72)参照记载在索引表中的信息,检索出与解码所需要的前方向图像中的离重放帧最远的帧之间的帧数(深度)(Depth of Past Framesfor Decoding)。
在步骤S46中,解码控制部件72(CPU221的解码控制部件72)参照记载在索引表中的信息,取得为了对指定的帧编号的帧进行解码而作为参照图像所必需的帧(在被指定为解码的帧的帧不是I图像的情况下,是包含之前的I图像的至少一个帧)的帧编号。解码控制部件72(CPU221的解码控制部件72)例如如用图7所说明的那样,在指示了B13帧的重放输出的情况下,得到作为参照图像需要I2、P5、P8、P11和P14的情况,在指示了B3帧的重放输出的情况下,得到作为参照图像需要I2和P5的情况。
在步骤S47中,解码控制部件72(CPU221的解码控制部件72)参照由基带存储管理部件73管理的存储在基带图像数据用存储器31中的基带图像数据(即参照存储在RAM223的被作为基带图像数据用存储器31利用的存储区域中的基带图像数据),判断在基带图像数据用存储器31中是否以必要的品质存在全部必要的参照图像。
在步骤S47中判断出在基带图像数据用存储器31中没有以必要的品质存在全部必要的参照图像的情况下,换一种说法,在判断出在基带图像数据用存储器31中存在必要的参照图像中的不是必要的品质的图像的情况下,在步骤S48中,解码控制部件72(CPU221的解码控制部件72)通过对应的解码器(解码方法)对没有存在于基带图像数据用存储器31中的参照图像进行解码。
即,解码控制部件72(CPU221的解码控制部件72)使流提供控制部件74经由流存储器25从流用存储器26读出与不存在于基带图像数据用存储器31中的参照图像对应的压缩图像帧,并提供给解码处理部件76进行解码,经由基带图像数据用存储控制部件77提供给基带图像数据用存储器31进行保存(使CPU221的流提供控制部件252读出存储在存储装置204、外部影像记录重放装置205或HDD226中的流数据,提供给解码处理部件76进行解码,并提供给RAM223的作为基带图像数据用存储器31利用的存储区域进行保存),返回步骤S47,重复进行以后的处理。
在步骤S47中,在判断出在基带图像数据用存储器31中以必要的品质存在全部必要的参照图像的情况下,在步骤S49中,解码处理部件76(CPU221的解码处理部件76)根据解码控制部件72的控制,利用存储在基带图像数据用存储器31(RAM223的作为基带图像数据用存储器31利用的存储区域)中的参照图像,通过对应的解码器(解码方法)对重放的帧进行解码,并提供给基带图像数据用存储器31(RAM223的作为基带图像数据用存储器31利用的存储区域)。
在步骤S50中,基带信号处理部件32(CPU221的基带信号处理部件32)取得通过解码控制部件72进行了解码并由基带图像数据用存储器31(RAM223的作为基带图像数据用存储器31利用的存储区域)存储的基带图像数据,实施各种修正(基带处理),输出所生成的输出基带图像数据帧,通过GUI显示控制部件71的处理进行显示(通过CPU221的GUI控制部件251的处理输出到显示器229进行显示),结束处理。
通过这样的处理,在扰乱重放中,不需要为了生成参照图像而重复对同一帧进行解码,因此能够高速地解码重放帧。
即,如上所述那样,通过控制解码顺序,能够缩短例如扰乱重放(随机重放)等从特定位置开始的重放时、所谓特技重放的等待时间,能够延迟时间最短地重放输出希望的帧。
进而,通过使参照图像用的存储器与输出图像用的存储器成为一个,能够减少装置全体的存储器个数,能够减少到输出解码后的数据为止的存储器复制次数,因此能够缩短等待时间。
另外,使得进行参照图像的保存的存储器从解码器分离,从解码器以外的部分进行控制,因此增加了解码顺序的控制的自由度,能够对每个帧切换输入流,或对每个帧切换解码器,因此能够对应各种各样的解码算法。
另外,通过这样的结构,能够与装置的处理能力、重放速度或所要求的画质对应地选择解码器、解码方法。例如,通常根据重放输出的顺序进行高分辨率的解码,而与此相对,可以根据需要进行低分辨率的解码,或者不进行B图像的解码而只对I图像或P图像进行解码,进而或者只对I图像等特定的图像类型进行解码(帧内压缩方式的帧),使得与重放输出的速度或必要的画质对应。
因此,针对在现有的重放装置中无法高速地跟踪重放输出的扰乱重放等复杂的重放指示,能够考虑到重放输出的图像的画质和解码时间的平衡性地,选择最适合的解码算法、解码器(解码方法),能够实现没有浪费的最短延迟的解码。
进而,通过这样的结构,例如可以使得分别具有能够对通过MPEG方式压缩了的流进行解码的解码器和能够对通过除此以外的方式压缩了的流进行解码的解码器,能够适当切换地进行解码。
另外,在适用了本发明的情况下,不区别参照图像用和输出用地存储通过多个解码器或解码方法解码后的基带图像数据,因此对通过哪个解码方法对解码后的基带图像数据进行了解码的信息进行管理。通过哪个解码方法进行了解码的信息例如是用图8说明了的解码器类型(Decoder Type)的标志信息。
例如在执行低速重放、静止画显示等高分辨率的解码的情况下,为了防止图像的恶化,通过参照通过哪个解码方法对解码后的基带图像数据进行了解码的信息,不将在低分辨率下解码了的基带图像数据作为参照图像数据使用,而只将在高分辨率下解码了的基带图像数据作为参照图像使用。
另外,在此,主要说明了由I图像、P图像和B图像构成的MPEG2 LongGOP的情况,但本发明也可以适用于对通过帧间参照而解码了的压缩编码数据进行重放的情况。
这样,例如在扰乱重放等时,根据需要进行低分辨率的解码,或者不进行B图像的解码而只对I图像或P图像进行解码,进而或者只对I图像等特定的图像类型进行解码(帧内压缩方式的解码),使得与重放输出的速度、必要的画质对应等,从而考虑到重放输出的图像的画质和解码时间的平衡性地,选择最适合的解码算法、解码器(解码方法),能够实现没有浪费的最短延迟的解码。
另外,能够利用用图6说明了的索引表的解码深度信息(Depthof Past Frames for Decoding),进而能够进行图像画质尽量高的延迟最短的解码处理。
接着,具体地说明在图4或图10的解码控制部件72中执行的解码处理的控制中利用索引表的解码深度信息(Depth of Past Framesfor Decoding)的方法。
用图6说明了的索引表的解码深度信息(Depth of Past Framesfor Decoding)如上所述,表示为了得到过去侧的参照帧所必需的解码的次数。参照未来侧的帧的只有B图像,但B图像的未来侧的参照帧数是1帧。即,为了得到用于得到B图像的全部参照帧所必需的解码次数,可以设置为“过去侧的解码次数+1”。因此,作为索引表,只具有过去的解码的深度就足够了。
即,由于为了解码GOP的先头的I图像,不需要过去侧的参照帧,所以深度的值为0。另外,各个P图像的深度的值为从GOP的先头开始数而每次出现P图像就加1的值,另外,由于为了对流的先头或ClosedGOP先头的2张B图像进行解码,不需要过去侧的参照帧,所以深度的值为0,而OpenGOP的不是流先头的I图像之后的2张B图像的深度的值为I图像之前的P图像的深度的值加1,除此以外的B图像的深度的值与之前的P图像的深度的值相等。
在图4或图10的解码控制部件72中,可以利用用图6说明了的索引表的解码深度信息(Depth of Past Frames for Decoding)进行解码处理的控制。
参照图12的流程图,说明从先头开始检索(pass)流而作成深度信息的深度信息计算处理。
另外,例如在用图4说明了的重放装置61中执行重放处理的情况下,深度信息计算处理也可以在存储索引表的索引管理部件24中执行,还可以在重放装置61以外的装置(例如一般的个人计算机,具体地说,包含不具有用图10说明了的功能框图所示的功能的计算机的个人计算机201等)中执行,并将生成的索引表提供给重放装置61,存储在索引管理部件24中。
另外,在用图9和图10说明了的个人计算机201中执行重放处理的情况下,深度信息计算处理可以在CPU221(其中,使用用图10说明了的功能框图所没有表示的功能执行处理)中执行,还可以在个人计算机201以外的装置(例如一般的个人计算机,具体地说,包含不具有用图10说明了的功能框图所示的功能的计算机的个人计算机等)中执行,并将生成的索引表提供给个人计算机201,存储在HDD226中,还可以将生成的索引表存储在存储装置204或外部影像记录重放装置205中,提供给个人计算机201。
在图12的流程图中,说明了深度信息计算处理在个人计算机201的CPU221(其中使用用图10说明了的功能框图所没有表示的功能执行处理)中执行的情况,但如上所述,也可以在个人计算机201的CPU221以外中执行。
在步骤S81中,个人计算机201的CPU221接受生成索引表的流的流顺序(Stream Order)的输入。
在步骤S82中,CPU221判断下一个图像的图像类型是否是I图像。在步骤S82中判断出下一个图像的图像类型不是I图像的情况下,处理前进到后述的步骤S85。
在步骤S82中判断出下一个图像的图像类型是I图像的情况下,在步骤S83中,CPU221将作为用于计算解码深度的第一计数器的depth的值设置为depth=depth+1,进而将作为用于计算解码深度的第二计数器的prev_depth的值设置为prev_depth=depth。
在此,作为用于计算解码深度的第一计数器的depth是用于计算出GOP内的P图像和GOP先头的2张B图像以外的B图像的解码深度的计数器,作为用于计算解码深度的第二计数器的prev_depth是用于计算GOP先头的2张B图像的解码深度的计数器。
在步骤S84中,CPU221将作为第一计数器的depth的值设置为depth=0,处理前进到后述的步骤S89。
在步骤S82中判断出下一个图像的图像类型不是I图像的情况下,在步骤S85中,CPU221判断下一个图像的图像类型是否是P图像。在步骤S85中判断出下一个图像的图像类型不是P图像的情况下,处理前进到后述的步骤S88。
在步骤S85中判断出下一个图像的图像类型是P图像的情况下,在步骤S86中,CPU221对作为用于计算解码深度的第二计数器的prev_depth的值进行复位,设置为prev_depth=0。
在步骤S87中,CPU221将作为用于计算解码深度的第一计数器的depth的值设置为depth=depth+1,处理前进到后述的步骤S89。
在步骤S85中判断出下一个图像的图像类型不是P图像,即是B图像的情况下,在步骤S88中,CPU221判断是否是depth=0,换一种说法,是否是GOP先头的2张B图像。
在步骤S84或步骤S87的处理结束后,或者在步骤S88中判断出不是depth=0的情况下,在步骤S89中,CPU221将解码深度(Depth of Past Frames for Decoding)的值设置为解码深度=depth,处理前进到后述的步骤S93。
具体地说,在图像类型是I图像的情况下,在步骤S84中,作为用于计算解码深度的第一计数器的depth的值为depth=0,因此I图像的解码深度(Depth of Past Frames for Decoding)的值为0,在图像类型是P图像的情况下,在步骤S87中,作为用于计算解码深度的第一计数器的depth的值为逐次加1,因此P图像的解码深度(Depth of Past Frames for Decoding)的值为分别从GOP先头(I图像)算起而每次出现P图像则加1的值,在图像类型是B图像,并且是GOP先头的2张B图像以外的B图像的情况下,解码深度(Depth of Past Frames for Decoding)的值与之前的P图像相等。
在步骤S88中判断出depth=0,即是GOP先头的2张B图像的情况下,在步骤S90中,CPU221针对该B图像,判断是否不存在过去参照图像,换一种说法,该B图像是否是流的先头或ClosedGOP先头的2张B图像中的任意一个。
在步骤S90中判断出不存在过去参照图像,即该B图像是流的先头或ClosedGOP先头的2张B图像中的任意一个的情况下,在步骤S91中,CPU221将解码深度(Depth of Past Frames for Decoding)的值设置为解码深度=0,处理前进到所述的步骤S93。
在步骤S90中判断出存在过去参照图像的情况下,即该B图像是与流的先头或ClosedGOP不同的GOP先头的2张B图像中的任意一个的情况下,在步骤S92中,CPU221将解码深度(Depth of PastFrames for Decoding)的值设置为解码深度=prev_depth,处理前进到后述的步骤S93。
具体地说,在步骤S86中,即出现P图像时,对prev_depth的值进行复位(reset),在步骤S83中,即出现I图像时,将prev_depth的值设置为depth+1,因此对于是GOP先头并且是流的先头或不是ColsedGOP的GOP的B图像,成为对之前的P图像的解码深度(Depth of Past Frames for Decoding)的值加1的值。
在步骤S89、步骤S91或步骤S92的处理结束后,在步骤S93中,CPU221判断流是否结束了。在步骤S93中判断出流还没有结束的情况下,处理返回到步骤S82,重复进行其后的处理。在步骤S93中判断出流结束了的情况下,结束处理。
通过这样的处理,计算出用图6说明了的索引表的解码深度(Depth of Past Frames for Decoding)的值,并用于解码处理的控制。
接着,参照图13的流程图,说明使用通过图12的深度信息计算处理计算出的解码深度(Depth of Past Frames for Decoding)的值,通过用图4说明了的重放装置61或用图9和图10说明了的个人计算机201执行的解码处理2。
在步骤S121~步骤S126中,执行与图11的步骤S41~步骤S46基本一样的处理。
即,流解码位置检测处理部件22(CPU221的流解码位置检测处理部件22)通过操作输入取得部件21(CPU221的GUI控制部件251)接受重放位置的指定(流编号、帧编号)的输入,提供给解码控制部件72(CPU221的解码控制部件72)。解码控制部件72(CPU221的解码控制部件72)从索引管理部件24(存储装置204、外部影像记录重放装置205或HDD226)取得与所提供的流编号对应的索引表。
解码控制部件72(CPU221的解码控制部件72)从索引表中抽出作为解码所需要的信息的例如图像类型、与参照图像有关的信息、数据长度或存储器内的地址等信息,根据来自用户的指令,决定重放输出的帧的解码顺序和解码器(解码的方法)。
然后,解码控制部件72(CPU221的解码控制部件72)参照记载在索引表中的信息,检测出与解码所需要的前方向图像中的离重放帧最远的帧之间的帧数(深度Depth of Past Frames forDecoding),参照记载在索引表中的信息,取得为了对指定的帧编号的帧进行解码而作为参照图像所必需的帧(在被指定为解码的帧的帧不是I图像的情况下,是包含之前的I图像的至少一个帧)的帧编号。
然后,在步骤S127中,执行用图14在后面说明的解码切换决定处理。
即,在通常重放模式的情况或即使是扰乱重放但在基带图像数据用存储器31中已经存在参照帧的情况下,由于能够预测为此后的解码处理短,所以不进行使用了深度信息的处理,而进行通常的解码处理(步骤S130~步骤S133的处理)。另一方面,在扰乱模式中没有过去参照图像的情况下,即在随机重放过程中没有对周围的帧进行解码的情况下,利用记载在索引表中的深度信息,判断是否来得及进行通常解码的处理,来将解码处理决定为是通常解码处理(步骤S130~步骤S133的处理)还是代替的处理(步骤S129的处理)。
在步骤S128中,解码控制部件72(CPU221的解码控制部件72)判断在步骤S127中执行的解码切换决定处理中,是否决定为执行代替显示。
在步骤S128中判断出决定为执行代替显示的情况下,在步骤S129中,解码控制部件72(CPU221的解码控制部件72)执行使用了低分辨率图像或近旁图像的代替显示,结束处理。
具体地说,作为代替的方法,例如不进行B图像的解码,而只对I图像或P图像进行解码,或者只对I图像等特定的图像类型进行解码(帧内压缩方式的解码),或者以高速地处理解码自身为目的地进行低分辨率的解码等,从而根据需要考虑到重放输出的图像的画质和解码时间的平衡性地,选择最适合的解码算法和解码器(解码方法)。
进而,作为代替的方法,例如可以作为代理文件(proxy file),暂时对P图像和B图像、或P图像中的至少任意一个帧进行解码并另外准备再编码为I图像的图像,使用该I图像显示图像。将在后面详细说明代理文件。
在步骤S128中判断出决定为不执行代替显示的情况下,在步骤S130~步骤S133中,执行与图11的步骤S47~步骤S50一样的处理,结束处理。
即,解码控制部件72(CPU221的解码控制部件72)参照由基带存储管理部件73管理的存储在基带图像数据用存储器31中的基带图像数据(即参照存储在RAM223的被作为基带图像数据用存储器31而利用的存储区域中的基带图像数据),判断在基带图像数据用存储器31中是否以必要的品质存在全部必要的参照图像。
在判断出在基带图像数据用存储器31中没有以必要的品质存在全部必要的参照图像的情况下,换一种说法,在判断出在基带图像数据用存储器31中存在必要的参照图像中的不是必要的品质的图像的情况下,通过对应的解码器(解码方法)对没有存在于基带图像数据用存储器31中的参照图像进行解码,处理返回到步骤S130,重复进行以后的处理。
另外,在判断出在基带图像数据用存储器31中以必要的品质存在全部必要的参照图像的情况下,根据解码控制部件72的控制,利用存储在基带图像数据用存储器31(RAM223的作为基带图像数据用存储器31利用的存储区域)中的参照图像,通过对应的解码器(解码方法)对重放的帧进行解码,并提供给基带图像数据用存储器31(RAM223的作为基带图像数据用存储器31利用的存储区域)。
然后,基带信号处理部件32(CPU221的基带信号处理部件32)取得通过解码控制部件72进行了解码并由基带图像数据用存储器31(RAM223的作为基带图像数据用存储器31利用的存储区域)存储的基带图像数据,实施各种修正(基带处理),输出所生成的输出基带图像数据帧,通过GUI显示控制部件71的处理进行显示(通过CPU221的GUI控制部件251的处理输出到显示器229进行显示),结束处理。
通过这样的处理,在扰乱重放中,不需要为了生成参照图像而重复对同一帧进行解码,因此能够高速地解码重放帧,同时通过后述的解码切换处理,例如在扰乱模式下也没有过去参照图像的情况下,即在随机重放中没有对周围的帧进行解码的情况等下,利用记载在索引表中的深度信息,判断是否来得及进行通常解码的处理,判断是否切换解码而进行代替显示,并根据需要进行代替显示。
即,如上所述那样,通过控制解码顺序,能够缩短例如扰乱重放(随机重放)等从特定位置开始的重放时、所谓特技重放的等待时间,能够延迟时间最短地重放输出希望的帧,除此以外,在来不及进行通常解码的处理的情况下,切换解码而执行代替显示。
接着,参照图14的流程图,说明在图13的步骤S127中执行的解码切换决定处理。
在步骤S161中,解码控制部件72(CPU221的解码控制部件72)判断现在的重放模式是否是扰乱模式。在步骤S161中判断出不是扰乱模式的情况下,处理前进到后述的步骤S170。
在步骤S161中判断出是扰乱模式的情况下,在步骤S162中,解码控制部件72(CPU221的解码控制部件72)判断在基带图像数据用存储器31中是否存在过去参照帧。在步骤S162中判断出存在过去参照帧的情况下,处理前进到后述的步骤S170。
在步骤S162中判断出不存在过去参照帧的情况下,在步骤S163中,解码控制部件72(CPU221的解码控制部件72)根据是否预先决定了能够解码帧数、或是否从上位应用程序指定等的条件设置,判断是否需要计算能够解码帧数。
具体地说,能够解码帧数例如可以预先设置(直接指定帧数),也可以由上位应用程序指定。例如,还可以根据用于解码处理的解码器、CPU的个数或时钟频率来设置能够解码帧数。在这样的情况下,不需要计算能够解码帧数,可以取得指定的能够解码帧数。
与此相对,例如在只指定了能够从上位应用程序提供给解码处理的时间分配T(例如20ms)的情况下,需要计算能够解码帧数。
在步骤S163中判断出需要计算能够解码帧数的情况下,在步骤S164中,执行用图15在后面说明的能够解码帧数计算处理。
在步骤S163中判断出不需要计算能够解码帧数的情况下,在步骤S165中,解码控制部件72(CPU221的解码控制部件72)取得由上位应用程序指定或预先设置的能够解码帧数。
在步骤S164或步骤S165的处理结束后,在步骤S166中,解码控制部件72(CPU221的解码控制部件72)判断所处理的帧是否是B图像。
在步骤S166中判断出是B图像的情况下,在步骤S167中,解码控制部件72(CPU221的解码控制部件72)参照索引表的深度信息(Depth of Past Frames for Decoding),判断是否是过去参照帧数(深度)+2>能够解码帧数。
在此,过去参照帧数(深度)+2在完全不存在参照图像帧的情况下是为了解码对应的B图像所需要的解码次数。具体地说,为了解码对应的B图像所需要的解码次数是过去的参照图像的帧数(Depth of Past Frames for Decoding的值)、未来侧(时间上是后面的帧)的参照帧数的1、自身的解码的1次的合计。
在步骤S167中判断出过去参照帧数(深度)+2>能够解码帧数的情况下,处理前进到后述的步骤S169,在判断出不是过去参照帧数(深度)+2>能够解码帧数的情况下,处理前进到后述的步骤S170。
在步骤S166中判断出不是B图像的情况下,在步骤S168中,解码控制部件72(CPU221的解码控制部件72)参照索引表的深度信息(Depth of Past Frames for Decoding的值),判断是否是过去参照帧数(深度)+1>能够解码帧数。
在此,过去参照帧数(深度)+1在完全不存在参照图像帧的情况下是为了解码对应的P图像或I图像所需要的解码次数。具体地说,为了解码对应的P图像或I图像所需要的解码次数是将过去的参照图像的帧数(Depth of Past Frames for Decoding的值)加上自身的解码的一次的次数。由于I图像的过去参照帧数(深度)是0,所以为了解码I图像所需要的解码次数当然是1次。
在步骤S168中判断出过去参照帧数(深度)+1>能够解码帧数的情况下,处理前进到后述的步骤S169,在判断出不是过去参照帧数(深度)+1>能够解码帧数的情况下,处理前进到后述的步骤S170。
在步骤S167中判断出过去参照帧数(深度)+2>能够解码帧数的情况下,或者在步骤S168中判断出过去参照帧数(深度)+1>能够解码帧数的情况下,在步骤S169中,解码控制部件72(CPU221的解码控制部件72)决定为进行代替显示,处理返回到图13的步骤S127,前进到步骤S128。
在此,具体地说,代替显示是指例如如上所述,不进行B图像的解码,而只对I图像或P图像进行解码,或者只对I图像等特定的图像类型进行解码(帧内压缩方式的解码),或者以高速地处理解码自身为目的地进行低分辨率的解码等,除此以外,还通过作为代理文件(proxy file),暂时对P图像和B图像、或P图像中的至少任意一个帧进行解码并另外准备再编码为I图像的图像,使用该I图像显示图像,由此与不进行代替显示的情况相比,能够高速地显示希望的图像。将在后面说明代理文件的详细。作为代替显示,除了这些显示方法以外,还可以根据需要考虑到重放输出的图像的画质和解码时间的平衡性地,选择最适合的解码算法、解码器(解码方法)。
在步骤S167中判断出不是过去参照帧数(深度)+2>能够解码帧数的情况下,或者在步骤S168中判断出不是过去参照帧数(深度)+1>能够解码帧数的情况下,在步骤S170中,解码控制部件72(CPU221的解码控制部件72)决定为不进行代替显示,处理返回到图13的步骤S127,前进到步骤S128。
通过这样的处理,利用记载在索引文件中的深度信息,判断是否来得及进行通常解码的处理,判断是否切换解码而进行代替显示,并根据需要进行代替显示。
接着,参照图15的流程图,说明在图14的步骤S164中执行的能够解码帧数计算处理。
在步骤S201中,解码控制部件72(CPU221的解码控制部件72)例如设置1秒钟30帧或1秒钟15帧等的单位时间的显示帧数。
在步骤S202中,解码控制部件72(CPU221的解码控制部件72)从1帧显示周期中减去用于其他处理的时间,设置对1帧显示进行解码处理的时间T。
具体地说,例如如果在解码以外的处理中每帧都使用了13ms,则在1秒钟30帧显示的情况下,成为1/30=33ms,33-13=20ms,将20ms设置为对1帧显示进行解码处理的时间T,在1秒钟15帧显示的情况下,成为1/15=66ms,66-13=53ms,将53ms设置为对1帧显示进行解码处理的时间T。
在步骤S203中,解码控制部件72(CPU221的解码控制部件72)对大于等于1GOP的解码对象流进行解码,测量平均1帧解码时间A。
另外,在步骤S204中,解码控制部件72(CPU221的解码控制部件72)计算T÷A,将小于等于T÷A的整数的最大值作为能够解码帧数X,处理返回到图14的步骤S164,前进到步骤S166。
通过这样的处理,计算出能够解码帧数X,通过与记载在索引文件中的深度信息进行比较,来判断是否来得及进行通常解码的处理,判断是否切换解码而进行代替显示,并根据需要进行代替显示。
这样,通过适用本发明,使用深度信息能够决定是否进行解码切换。即,在通常重放模式的情况、即使是扰乱重放也存在已经解码的参照帧的情况下,能够预测为其后的解码处理短,因此不进行使用了深度信息的处理,而进行通常的解码处理。另一方面,在是扰乱模式并且没有过去参照图像的情况下,即在随机重放过程中没有对周围的帧进行解码的情况下,判断是否预测出来不及进行通常解码的处理而无法进行显示,因此取得或计算出能够解码帧数X,通过与记载在索引表中的深度信息进行比较,来决定是否进行解码切换。
能够解码帧数可以指定帧数,也可以指定解码时间最大值,根据它进行计算。在指定帧数的情况下,例如可以由上位应用程序直接指定最大解码帧数,也可以根据CPU等的处理能力(推测数字、处理时钟速度等处理的速度并量化的信息),组合若干个要素参数进行决定(例如如果是DualCoreCPU的3.6GHz则能够解码帧数是5帧,如果是SingleCoreCPU的2GHz则能够解码帧数是2帧那样)。另一方面,在指定时间的情况下,根据应用程序能够对解码处理提供的时间T和1帧的平均解码时间A,求出T/A的值,计算能够解码帧数。
另外,例如在代替显示中,使用近旁的I图像和P图像或只使用I图像执行解码处理那样的情况下,可以有效地利用能够解码帧数。即,能够用于限制选择进行解码处理的近旁图像帧时的代替对象。例如,在能够解码帧数是4帧,1GOP为15帧(在显示顺序中,为B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......P14)的情况下,对I2、P5、P8、P11进行解码,通过即使P14是P图像也将其从解码对象中除去,而能够在扰乱重放等中高速地进行解码处理。
这样,在适用本发明的情况下,在扰乱重放等特殊重放中,通过与解码的难度对应地自动地切换解码方法,能够直到GOP后半部分的帧为止都流畅地进行显示。另外,可以与解码的能力对应地灵活地切换解码方式,在使用能力低的解码器时,也能够维持高扰乱显示性能。
另外,在执行代替显示的情况下,例如如上所述,不进行B图像的解码,而只对I图像或P图像进行解码,或者只对I图像等特定的图像类型进行解码(帧内压缩方式的解码),或者以高速地处理解码自身为目的地进行低分辨率的解码等,除此以外,还通过作为代理文件(proxy file),暂时对P图像和B图像、或P图像中的至少任意一个帧进行解码并另外准备再编码为I图像的图像,使用该I图像显示图像等,由此可以根据需要考虑到重放输出的图像的画质和解码时间的平衡性地,选择最适合的解码算法、解码器(解码方法)。
接着,作为代替显示的一个例子,说明上述的代理文件。
代理文件可以由重放装置61或个人计算机201生成,也可以由与这些装置独立地构成的变换装置311生成。
变换装置311例如接受MPEG2 LongGOP流等通过帧间参照编码而编码了的比特流(由I图像(帧内编码帧)、P图像(前方向预测编码帧)、B图像(两方向预测编码帧)构成的比特流)的供给,通过对所提供的比特流中的P图像进行编码(encode)而变换为I图像,而能够生成在图13的步骤S129中执行代替显示时所利用的代理文件。
图16是表示变换装置311的结构例子的框图。
比特流取得部件331接受包含I图像、P图像和B图像的比特流的供给,并提供给比特流分析部件332。
比特流分析部件332接受包含I图像、P图像和B图像的比特流的供给,将其中的I图像和P图像提供给解码器334。另外,比特流分析部件332对解码器334、编码器336和代理文件存储部件337进行控制。
另外,比特流分析部件332可以对所供给的比特流进行分析,同时对由编码器336执行的处理的结果进行分析,生成用图6说明的索引(index)文件,并提供给索引文件存储部件333。
进而,适合的是在索引文件中,根据由后述的代理索引存储部件338存储的信息,除了用图6说明了的信息以外,例如如图17所示那样,作为包含在代理文件中的与原始流中的P图像对应的帧,即与由编码器336编码了的I图像有关的编码信息,记载有图像大小(Proxy File Picture Size)、这些帧的地址(Proxy File Address)。这些信息由编码器336存储在后述的代理索引存储部件338中。
索引文件存储部件333存储从比特流分析部件332提供的用图17所说明的索引文件。
解码器334对从比特流分析部件332提供的I图像和P图像进行解码,生成非压缩基带图像,将与P图像对应的非压缩基带图像数据提供给编码器336。这时,解码器334在作为其后解码的帧的参照图像而需要所生成了的非压缩基带图像的情况下,将所生成了的非压缩基带图像也提供给参照图像用存储器335而存储,在解码P图像的情况下,适当地参照存储在参照图像用存储器335中的参照用图像。
编码器336通过帧内编码将与所提供的P图像对应的非压缩基带图像数据编码为I图像,并将所生成的I图像提供给代理文件存储部件337。作为压缩处理时(生成I图像时)的参数,编码器336例如可以设置压缩率等。
参考图18,说明将从编码器336输出的I图像的比特率设置为固定的情况。
编码器336在使输出的I图像的比特率固定的情况下,例如生成I图像使得成为与代理文件存储部件337的存储容量等对应的规定的比特率。一般,利用前方参照的P图像的信息量比I图像的信息量少,因此对于对P图像进行再压缩而编码为I图像时的比特率,如果设置为比变换前(P图像)大的比特率,则容易维持画质,是适合的。另外,也可以由用户设置该比特率。
接着,参照图19,说明将从编码器336输出的I图像的比特率设置为变动的情况。
编码器336从比特流分析部件332或解码器334取得原始的比特流的I图像(以GOP为单位的先头的I图像)的速率,生成I图像使得成为与该值对应的比特率。一般,原始的压缩流的I图像的比特率反映了该GOP中的影像的复杂度。因此,通过与反映了GOP中的影像的复杂度的先头的I图像的比特率对应地,使从P图像变换而生成的I图像的比特率变动,能够防止画质的恶化。
所以,代理文件存储部件337根据从编码器336提供的用图18或图19说明那样地生成的从编码器336提供的I图像的数据,生成代理文件(proxy,即代理数据文件)并存储。
代理索引存储部件338每次通过帧内编码将与所提供的P图像对应的非压缩基带图像数据编码为I图像而生成I图像时,作为与所生成的I图像有关的编码信息从编码器336取得图像大小(Proxy FilePicture Size)、这些帧的地址(Proxy File Address)并作为代理索引进行存储,提供给比特流分析部件332。
接着,参照图20,说明在原始的比特流中对P图像进行解码的情况。
例如,在MPEG2 LongGOP的比特流中,重放输出P11帧的情况下,在现有技术中,能够如图20A所示,对作为包含P11的GOP的先头的I图像的I2帧进行解码,接着,在对P5、P8的帧进行解码生成了参照帧图像数据后,对目标的P11帧进行解码。
与此相对,在利用代理文件重放输出P11帧的情况下,可以如图20B所示,从代理文件中抽出作为与P11帧对应的帧内压缩了的I图像的I11帧进行解码,并重放输出。
因此,在利用代理文件重放输出P11帧的情况下,与现有的解码次数为4次相比,解码次数只有一次,能够高速地重放输出指定的帧。
接着,参照图21,说明在原始的比特流中对B图像进行解码的情况。
例如,在MPEG2 LongGOP的比特流中重放输出B12帧的情况下,在现有技术中,能够如图21A所示,对作为包含B12的GOP的先头的I图像的I2帧进行解码,接着,在对P5、P8、P11、P14帧进行解码生成了参照帧图像数据后,对目标的B12帧进行解码。
与此相对,在利用代理文件重放输出B12帧的情况下,可以如图21B所示,对与作为B12帧的参照图像而必需的P11帧和P14帧对应的作为帧内压缩了的I图像的I11帧和I14帧进行解码,将它们作为参照图像对目标的B12帧进行解码而重放输出。
因此,在利用代理文件重放输出B12帧的情况下,与现有的解码次数为6次相比,解码次数为3次,能够高速地重放输出指定的帧。
可以通过硬件执行上述一连串的处理,也可以通过软件执行。在该情况下,例如可以由用图9说明的个人计算机201实现与变换装置311一样的功能。
图22表示了用于说明在用图9说明了的个人计算机201中,通过软件实现与变换装置311一样的功能的情况下的功能的一个例子的功能框图。
另外,对与图16或图9的情况对应的部分附加同一符号,并适当地省略其说明。
通过由CPU221执行规定的程序,个人计算机201具有与图16的比特流分析部件332、解码器334和编码器336一样的功能。
CPU221根据通过鼠标202或键盘203等输入设备输入的用户的操作,利用与参照图像用存储器335对应的RAM223的区域,对记录在存储装置204、外部影像记录重放装置205或与HDD226中的任意的区域对应的比特流存储部件281中的比特流中的I图像和P图像进行解码,只将P图像编码为I图像,由此生成代理文件,并存储到存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的代理文件存储部件337中。
进而,CPU221在每次通过帧内编码将与P图像对应的非压缩基带图像数据编码为I图像而生成I图像时,作为与所生成的I图像有关的编码信息,将图像大小(Proxy File Picture Size)、这些帧的地址(Proxy File Address)作为代理索引保存到与代理索引存储部件338对应的RAM223的区域中,同时对比特流进行分析,取得保存在代理索引存储部件338中的代理索引,生成索引文件,并存储到存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的索引文件存储部件333中。
重放装置61的解码控制部件72经由规定的传送介质,取得记录在存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的索引文件存储部件333中的索引文件。另外,解码控制部件72或解码处理部件76在图13的步骤S129中利用代理文件执行代替显示的情况下,经由规定的传送介质,取得存储在存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的代理文件存储部件337中的代理文件,执行解码处理。
另外,例如在用图9说明的个人计算机201在图22所示的功能的基础上还具有用图10说明的执行解码处理的功能的情况下,图10的个人计算机201的解码控制部件72从存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的索引文件存储部件333中取得索引文件。另外,解码控制部件72或解码处理部件76在图13的步骤S129中利用代理文件执行代替显示的情况下,从存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的代理文件存储部件337中取得代理文件,执行解码处理。
接着,参照图23的流程图,说明在用图16说明的变换装置311、或用图9和图22说明了的个人计算机的CPU221中执行的代理文件生成处理1。
在步骤S221中,比特流取得部件331(CPU221)取得原始的比特流,提供给比特流分析部件332(CPU221的比特流分析部件332)。
在步骤S222中,比特流分析部件332(CPU221的比特流分析部件332)读入所提供的原始的比特流中的一个图像。
在步骤S223中,比特流分析部件332(CPU221的比特流分析部件332)对读入了的图像进行分析。即,比特流分析部件332取得用图17说明了的索引文件中的对应的图像的信息。
在步骤S224中,比特流分析部件332(CPU221的比特流分析部件332)判断读入了的图像是I图像还是P图像。在步骤S224中判断出不是I图像或P图像,即是B图像的情况下,处理前进到后述的步骤S230。
在步骤S224中判断出是I图像或P图像的情况下,在步骤S225中,比特流分析部件332(CPU221的比特流分析部件332)将读入了的I图像或P图像提供给解码器334。解码器334对所提供的I图像或P图像进行解码,并存储在参照图像用存储器335中。
在步骤S226中,解码器334(CPU221的解码器334)判断解码了的图像是否是P图像。在步骤S226中,在判断出解码了的图像不是P图像,即是I图像的情况下,处理前进到后述的步骤S230。
在步骤S226中判断出解码了的图像是P图像的情况下,在步骤S227中,解码器334(CPU221的解码器334)将与解码了的P图像对应的非压缩图像帧提供给编码器336(CPU221的编码器336)。编码器336将所提供的非压缩图像帧编码为I图像,提供给代理文件存储部件337(存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的代理文件存储部件337)。
在步骤S228中,代理文件存储部件337(存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的代理文件存储部件337)存储由解码生成的I图像构成的代理文件。
在步骤S229中,作为与所生成的I图像有关的编码信息,编码器336将图像大小(Proxy File Picture Size)、这些帧的地址(Proxy File Address)的索引信息,即代理索引提供给代理索引存储部件338。代理索引存储部件338存储该图像的代理索引。
在步骤S224中判断出读入的图像不是I图像或P图像,即是B图像的情况下,在步骤S226中判断出解码了的图像不是P图像,即是I图像的情况下,或者在步骤S229的处理结束后,在步骤S230中,比特流分析部件332(CPU221)判断全部的图像的处理是否结束了。在步骤S230中判断出全部的图像的处理还没有结束的情况下,处理返回到步骤S222,重复进行以后处理。
在步骤S230中判断出全部的图像的处理结束了的情况下,在步骤S231中,比特流分析部件332(CPU221的比特流分析部件332)根据各个图像的分析结果、存储在代理索引存储部件338中的由编码器336编码为I图像的帧,即从P图像变换为I图像的帧的图像大小(Proxy File Picture Size)和地址(Proxy File Address),生成用图17说明了的索引文件,并提供给索引文件存储部件333(存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的索引文件存储部件333)进行存储,结束处理。
通过这样的处理,在对原始的比特流中的P图像进行了解码后,生成记载有通过编码为I图像而生成的I图像的代理文件、与包含在原始比特流和代理文件中的I图像(在原始的比特流中是P图像)有关的信息的索引文件。
这样,变换装置311接受压缩了的比特流的供给,分析它而生成索引文件,同时将P图像变换为I图像生成代理文件。
另外,适用了本发明的个人计算机201可以通过执行规定的程序而具有与变换装置311一样的功能。
在变换装置311中,根据所提供的原始的比特流,只对I图像和P图像进行解码,并再次将与P图像对应的帧编码为I图像,由此生成代理文件。
这时,生成的代理文件的I图像的数据速率可以是固定速率,也可以与原始的比特流的对应的GOP的先头的I图像的帧速率对应地变动(可变速率)。
另外,在变换装置311中生成的索引文件中,不只是原始的比特流的解码所需要的信息,还包含代理文件中所包含的I图像,即与将在原始的比特流中是P图像的帧编码为I图像的帧有关的图像大小和地址等的信息。
通过在流的解码中利用代理文件,能够缩短随机生成的解码时间。
另外,如上所述,进行将P图像变换为I图像的PI变换,并一边切换变换前的流和变换后的部分一边用于解码处理,由此能够缩短解码时间提高随机访问性能。但是,在进行编辑和重放之前,将原始的流中的P图像的部分变换为I图像的处理需要花费时间。例如如果1GOP为15帧的流中的P图像是5帧,则需要花费用于对全部该5帧进行解码变换为I图像(解码后的再次编码)的时间。
因此,图16的比特流分析部件332在进行PI变换时,也可以控制解码器334、编码器336、代理文件存储部件337,使得不将全部的P图像变换为I图像,而是根据需要只将一部分的P图像变换为I图像生成代理文件并存储。
进行PI变换的处理时间依赖于变换为I图像(解码后的再次编码)的P图像的个数,因此如果减少变换的图像的张数,则能够缩短处理时间(代理文件的生成时间)。理想的是比特流分析部件332将解码变换后的流所需要的最长帧数没有超过解码器的能力,作为用于决定变换的图像张数的判断基准。解码变换后的流所需要的最长帧数(以下,也称为能够解码帧数)例如也根据重放模式是扰乱重放还是通常重放而不同。
具体地说,能够解码帧数例如可以预先设置(直接指定帧数),也可以是通过上位应用程序指定。例如,可以根据用于解码处理的解码器或CPU的个数、时钟频率来设置能够解码帧数。在这样的情况下,比特流分析部件332不需要计算出能够解码帧数,而可以取得指定的能够解码帧数。
与此相对,例如在只指定了能够从上位应用程序提供给解码处理的时间分配T(例如20ms)的情况下,比特流分析部件332必须计算出能够解码帧数。
另外,这时,比特流分析部件332如果选择变换为I图像的P图像使得变换的P图像尽量不连续,则与能够解码帧数对应的变换为I图像的P图像的个数变少,是适合的。
参照图24,说明1GOP为15帧,P图像的个数N=4的情况(IBBPBBPBBPBBPBB)下的PI变换的变形。
例如在不进行PI变换的情况下,有效的序列(除了B图像以外的I图像和P图像的5帧的图像类型)是IPPPP,最长解码时间是在是Open GOP并且不是流的先头的GOP的情况下对在流顺序中接着I图像后面的2张B图像(例如图20、图21中的B0B1)进行解码时的7帧的解码时间。
另外,如上所述,在对4张P图像的全部进行PI变换的情况下,有效序列是IIIII,最长解码时间是对任意的B图像进行解码的情况下的3帧的解码时间。
与此相对,通过不对变换对象的P图像的全部进行变换,而是减少为一定个数,则随机解码的最长解码时间如图24所示那样变动。即,在只对4张P图像中的1张进行PI变换的情况下,通过选择变换为I图像的P图像使得变换的P图像尽量不连续,有效序列成为IPIPP或IPPIP,最长解码时间成为5帧的解码时间。另外,在只对4张P图像中的2张进行PI变换的情况下,通过选择变换为I图像的P图像使得变换的P图像尽量不连续,有效序列成为IPIIP、IIPIP或IPIPI,最长解码时间成为4帧的解码时间。
另外,在只对4张P图像中的1张进行PI变换的情况下,以及在只对4张P图像中的2张进行PI变换的情况下,最长解码时间缩短的只有选择变换为I图像的P图像使得变换的P图像尽量不连续的情况,即图24所示的有效序列的情况,例如如果是对2个图像进行PI变换的情况,则是选择变换的P图像使得在变换后的序列中P图像不连续有2张的情况,如果是对1个图像进行PI变换的情况,则是选择变换的P图像使得在变换后的序列中P图像不连续有3张的情况。
接着,参照图25~图29,说明不对变换的对象的P图像的全部进行变换,而减少为一定个数的情况的具体解码处理。
参照图25,说明只对4张P图像中的1张进行PI变换而有效序列为IPIPP的情况的解码处理。
如图25A所示,在显示顺序中,将包含在排列为B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......的15张的帧中的4张P图像中的P8图像变换为I图像,作为代理文件准备I8图像的情况下,解码时间最长的是对B0或B1进行解码的情况,这时需要进行解码的是如图25B所示,在作为参照图像的I8、P11、P14、I2的基础上,还有B0或B1(在图25B中,图示为B0)的5个图像。
接着,参照图26,说明同样只对4张P图像中的1张进行PI变换,有效序列为IPPIP的情况下的解码处理。
如图26A所示,在显示顺序中,将包含在排列为B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......的15张的帧中的4张P图像中的P11图像变换为I图像,作为代理文件准备I11图像的情况下,解码时间最长的是对B9或B10进行解码的情况,这时需要进行解码的是如图26B所示,在作为参照图像的I2、P5、P8、I11的基础上,还有B9或B10(在图26B中,图示为B9)的5个图像。
另外,在只对4张P图像中的1张进行PI变换的全部情况下,最长解码时间不应该是5张。即,最长解码时间为5张的是如图25和图26所示,只有变换后的P图像不连续有3张的情况。在除此以外的情况下,例如变换后的序列为IIPPP的情况或IPPPI的情况等下,产生了最长解码时间为需要6张的情况,减少了PI变换的效果。
接着,参照图27,说明对4张P图像中的2张进行PI变换,有效序列为IPIIP的情况下的解码处理。
如图27A所示,在显示顺序中,将包含在排列为B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......的15张的帧中的4张P图像中的P8图像和P11图像变换为I图像,作为代理文件准备I8图像和I11图像的情况下,解码时间最长的是对B6或B7、或者B0或B1进行解码的情况,这时需要进行解码的是如图27B所示,在作为参照图像的I2、P5、I8的基础上,还有B6或B7(在图27B中,图示为B6)的4个图像,或者在作为参照图像的I11、P14、I2的基础上,还有B0或B1(在图27B中,图示为B0)的4个图像。
同样,图28是用于说明对4张P图像中的2张进行PI变换,有效序列为IIPIP的情况下的解码处理的图,图29是用于说明对4张P图像中的2张进行PI变换,有效序列为IPIPI的情况下的解码处理的图。
如图28A所示,在显示顺序中,将包含在排列为B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......的15张的帧中的4张P图像中的P5图像和P11图像变换为I图像,作为代理文件准备I5图像和I11图像的情况下,解码时间最长的是对B9或B10、或者B0或B1进行解码的情况,这时需要进行解码的是如图28B所示,在作为参照图像的I5、P8、I11的基础上,还有B9或B10(在图28B中,图示为B9)的4个图像,或者在作为参照图像的I11、P14、I2的基础上,还有B0或B1(在图28B中,图示为B0)的4个图像。
另外,如图29A所示,在显示顺序中,将包含在排列为B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......的15张的帧中的4张P图像中的P8图像和P14图像变换为I图像,作为代理文件准备I8图像和I14图像的情况下,解码时间最长的是对B6或B7、或者B12或B13进行解码的情况,这时需要进行解码的是如图29B所示,在作为参照图像的I2、P5、I8的基础上,还有B6或B7(在图29B中,图示为B6)的4个图像,或者在作为参照图像的I8、P11、I14的基础上,还有B12或B13(在图29B中,图示为B12)的4个图像。
另外,在该情况下,同样地在对4张P图像中的2张进行PI变换的全部情况下最长解码时间不应该是4张图像。即,最长解码时间为4张的是如图27~图29所示,只有变换后的P图像不连续有2张的情况。在除此以外的情况下,例如在变换后的序列为IIPPI的情况或IPPII的情况等下,减少了PI变换的效果。
另外,在图25~图29中,说明了I图像或P图像之间的B图像的个数分别是2个的情况,但即使I图像或P图像之间的B图像的个数为2张以上的若干个,由于连续的B图像的解码所需要的参照图像的张数是一样的,所以各个情况下的最长解码时间当然是一样的。
接着,参照图30的流程图,说明变换的P图像的设置处理。
在步骤S281中,执行与用图15说明的情况一样的能够解码帧数计算处理,求出能够解码帧数。
另外,变换装置311的比特流分析部件332例如在预先确定了能够解码帧数,或者从上位应用程序指定的情况下,在步骤S281中不执行能够解码帧数计算处理,可以取得预先确定或从上位应用程序指定的能够解码帧数。
假设由比特流取得部件331取得的比特流的1GOP中的P图像的个数为N,能够解码帧数为X,则在步骤S282中,变换装置311的比特流分析部件332判断是否是N+3>X。
在步骤S282中判断出不是N+3>X的情况下,在步骤S283中,比特流分析部件332不进行PI变换,结束处理。
在是N+3≤X的情况下,在不进行PI变换的比特流中解码时间最长的帧的解码处理所需要的时间比对能够解码帧数X进行解码所需要的时间还短。即,在这样的情况下,不需要进行PI变换。
在步骤S282中判断出是N+3>X的情况下,换一种说法,在判断出在不进行PI变换的比特流中解码时间最长的帧的解码处理所需要的时间比对能够解码帧数X进行解码所需要的时间长的情况下,在步骤S284中,比特流分析部件332将PI变换后的序列中来得及进行解码处理的P图像的最大连续数的PI跳过(skip)数S假设为X-3。
在步骤S285中,比特流分析部件332在S=X-3的情况下,判断是否是N/S>1。
在步骤S285中判断出是N/S>1的情况下,在步骤S286中,比特流分析部件332将PI跳过数S设置为X-3。
在步骤S285中判断出不是N/S>1的情况下,在步骤S287中,比特流分析部件332将PI跳过数S设置为N/2(其中在不是整数的情况下为接近值的整数)。
在步骤S286或步骤S287的处理结束后,在步骤S288中,比特流分析部件332根据PI跳过数S设置变换的P图像,结束处理。
通过这样的处理,根据能够解码帧数和1GOP中的P图像的个数,求出在PI变换后的序列中来得及进行解码处理的P图像的最大连续数的PI跳过数,根据它设置变换为I图像的P图像。这样,在尽量减少PI变换的P图像的个数的情况下,与全部将P图像复原为I图像的情况相比,能够削减用于生成代理文件的时间。
使用图31,说明变换为I图像的P图像的具体设置的例子,即包含在1GOP中的P图像的个数N是N=11的情况下的能够解码帧数X与PI跳过数S的关系、以及变换为I图像的P图像的设置。
例如在X=4,S=1的情况下,由于PI变换后的P图像不连续存在,所以PI变换后的序列为IPIPIPIPIPIP。另外,例如在X=5,S=2的情况下,由于PI变换后的P图像只会连续存在2张,所以PI变换后的序列为IPPIPPIPPIPP。另外,例如在X=6,S=3的情况下,由于PI变换后的P图像只会最多连续存在3张,所以PI变换后的序列为IPPPIPPPIPPP。
另外,例如在X=7,S=4的情况下,由于PI变换后的P图像最多可以连续存在4张,所以PI变换后的序列可以单纯地为IPPPPIPPPPIP,如果P图像的连续数小于等于4张,并且变换为I图像的个数小于等于2张,则也可以是除此以外的序列(例如IPPPPIPPPIPP等)。其中,连续的P图像的个数理想的是尽量少,因此在X=7,S=4的情况下,与X=6,S=3的情况一样,有效序列为IPPPIPPPIPPP的情况使得PI变换的图像数是一样的,能够进一步缩短最长解码时间,是适合的。
另外,例如在X=8,S=5的情况下,由于PI变换后的P图像最多可以连续存在5张,所以PI变换后的序列为IPPPPPIPPPPP,进而,例如在X=9,S=5的情况下,在上述步骤S285中判断为N/S>1,因此,比特流分析部件332根据N/2(其中在不是整数的情况下,是接近值的整数),将PI跳过数S设置为S=5。另外,在14(=N+3)>X≥10的情况下,在上述步骤S285中判断为N/S>1,因此比特流分析部件332将PI跳过数S设置为S=5。这时,PI变换后的序列为IPPPPPIPPPPP。
另外,在X≥14(=N+3)的情况下,判断为不需要进行PI变换。
接着,参照图32的流程图,说明在用图16说明的变换装置311、或用图9和图22说明的个人计算机的CPU221中执行的代理文件生成处理2。
在步骤S331~步骤S336中,执行与用图23说明了的步骤221~步骤S226一样的处理。
即,比特流取得部件331(CPU221)取得原始的比特流,提供给比特流分析部件332(CPU221的比特流分析部件332)。比特流分析部件332(CPU221的比特流分析部件332)读入所提供的原始的比特流中的1个图像进行分析。即,比特流分析部件332取得用图17说明了的索引文件中的对应的图像的信息。
然后,比特流分析部件332(CPU221的比特流分析部件332)判断读入的图像是I图像还是P图像。在判断出不是I图像或P图像,即是B图像的情况下,处理前进到后述的步骤S341。
在判断出是I图像或P图像的情况下,比特流分析部件332(CPU221的比特流分析部件332)将读入的I图像或P图像提供给解码器334。解码器334对提供的I图像或P图像进行解码,存储在参照图像用存储器335中。
然后,解码器334(CPU221的解码器334)判断解码了的图像是否是P图像。在判断出解码了的图像不是P图像,即是I图像的情况下,处理前进到后述的步骤S341。在步骤S336中判断出解码了的图像是P图像的情况下,在步骤S337中,解码器334(CPU221的解码器334)根据比特流分析部件332的控制,判断该P图像是否是上述的在变换的P图像的设置处理中被设置为变换为I图像的需要进行变换的P图像。在步骤S337中判断出不是需要进行变换的P图像的情况下,处理前进到后述的步骤S341。
在步骤S337中判断出是需要进行变换的P图像的情况下,在步骤S338中,解码器334(CPU221的解码器334)将与解码后的P图像对应的非压缩图像帧提供给编码器336(CPU221的编码器336)。编码器336将所提供的非压缩图像帧编码为I图像,并提供给代理文件存储部件337(存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的代理文件存储部件337)。
在步骤S339中,代理文件存储部件337(存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的代理文件存储部件337)存储由编码生成的I图像构成的代理文件。
在步骤S340中,作为与生成的I图像有关的编码信息,编码器336将图像大小(Proxy File Picture Size)、这些帧的地址(ProxyFile Address)的索引信息,即代理索引提供给代理索引存储部件338。代理索引存储部件338存储该图像的代理索引。
在步骤S334中判断出读入的图像不是I图像或P图像,即是B图像的情况下,在步骤S336中判断出解码了的图像不是P图像,即是I图像的情况下,在步骤S337中判断出不是需要进行变换的P图像的情况下,或者在步骤S340的处理结束后,在步骤S341中,比特流分析部件332(CPU221)判断全部的图像的处理是否结束了。在步骤S341中判断出全部的图像的处理还没有结束的情况下,处理返回到步骤S332,重复进行以后的处理。
在步骤S341中判断出全部的图像的处理结束了的情况下,在步骤S342中,比特流分析部件332(CPU221的比特流分析部件332)根据各个图像的分析结果、存储在代理索引存储部件338中的由编码器336编码为I图像的帧,即从P图像变换为I图像的帧的图像大小(Proxy File Picture Size)和地址(Proxy File Address),生成用图17说明了的索引文件,并提供给索引文件存储部件333(存储装置204、外部影像记录重放装置205或与HDD226中的任意区域对应的索引文件存储部件333)进行存储,结束处理。
通过这样的处理,在对原始的比特流中的P图像中的被设置为变换为I图像的P图像进行了解码后,生成了记载有通过编码为I图像而生成的I图像的代理文件、与包含在原始比特流和代理文件中的I图像(在原始的比特流中是P图像)有关的信息的索引文件。
另外,在此说明了在图13的步骤S129的处理中执行代替显示的情况下能够利用代理文件,但例如在图11的步骤S44或图13的步骤S124的处理中,决定为使用近旁的I图像和P图像或只使用I图像执行解码处理的情况下,当然也能够利用代理文件。进而,在不执行代替显示,而执行参照图像的解码,重放输出希望的帧的情况下,通过适当地利用代理文件,能够缩短解码的时间,在扰乱重放等中进行高速的解码处理。
另外,在此,主要说明了由I图像、P图像和B图像构成的MPEG2 LongGOP的情况,但本发明也可以适用于对通过帧间参照而解码了的压缩编码数据进行重放的情况。
可以如上所述通过硬件执行上述一连串的处理,也可以通过软件执行。
在通过软件执行一连串的处理的情况下,可以从网络或记录介质将构成该软件的程序安装到组装在专用的硬件中的计算机、或通过安装各种程序而能够执行各种功能的例如通用的个人计算机等中。
该记录介质如图9所示,不只可以由与装置本体分开的用于向用户提供程序而发布的记录有程序的磁盘(包含软盘)、光盘(CD-ROM)、DVD(包含数字通用盘(Digital Versatile Disk))、光磁盘(包含MD(Mini-Disk))或半导体存储器等构成的可移动介质206构成,还可以由在预先安装在装置本体中的状态下向用户提供的记录有程序的ROM222、包含在HDD226中的硬盘等构成。
另外,在本说明书中,记述记录在记录介质中的程序的步骤包含沿着所记载的顺序以时间顺序进行的处理,当然还包含不必须按照时间顺序进行处理而并列或分别执行的处理。
另外,在本说明书中,系统是指由多个装置构成的装置全体。
另外,本发明的实施例并不只限于上述的实施例,在不脱离本发明的宗旨的范围中,能够进行各种变形。
权利要求
1.一种程序,使计算机执行包含以下步骤的处理接受表示编码流的重放状态的重放信息的输入的重放信息输入步骤;根据通过上述重放信息输入步骤的处理输入的上述重放信息,取得表示对上述编码流的对象图像进行解码处理所需要的参照图像的参照图像信息的参照图像信息取得步骤;根据通过上述参照图像信息取得步骤的处理取得的上述参照图像信息,判断上述参照图像是否存储在规定的存储区域中的判断步骤;在通过上述判断步骤的处理判断出上述参照图像没有存储在上述存储区域中的情况下,从上述编码流中取得没有存储在上述存储区域中的上述参照图像进行解码处理,控制向上述存储区域中存储的参照图像解码步骤;利用存储在上述存储区域中的上述参照图像,通过对上述编码流的对象图像进行解码处理而生成图像数据,控制向上述存储区域中存储的解码步骤。
2.根据权利要求1记载的程序,其特征在于在上述参照图像解码步骤和上述解码步骤的处理中,通过多个解码方法执行解码处理,还包含根据通过上述重放信息输入步骤的处理输入的上述重放信息,决定上述编码流的解码顺序和解码方法的第一决定步骤,其中根据由上述第一决定步骤的处理决定了的上述解码顺序和上述解码方法执行上述参照图像解码步骤和上述解码步骤的处理。
3.根据权利要求2记载的程序,其特征在于在上述判断步骤的处理中,判断在通过上述第一决定步骤的处理决定的上述解码方法中解码了的上述参照图像是否存储在上述存储区域中。
4.根据权利要求2记载的程序,其特征在于在上述参照图像解码步骤和上述解码步骤的处理中,可以根据基于上述第一决定步骤的处理的决定,执行分辨率不同的多个解码处理中的任意一个。
5.根据权利要求2记载的程序,其特征在于在上述参照图像解码步骤和上述解码步骤的处理中,可以根据基于上述第一决定步骤的处理的决定,执行与多个编码方式对应的解码处理中的任意一个。
6.根据权利要求2记载的程序,其特征在于在上述编码流中包含I图像、P图像和B图像,在上述解码步骤的处理中,在上述编码流的对象图像是B图像的情况下,对相对于上述对象图像在时间上存在于近旁的I图像或P图像进行解码。
7.根据权利要求2记载的程序,其特征在于在上述编码流中包含帧内编码了的图像和帧间预测编码了的图像,在上述解码步骤的处理中,在上述编码流的对象图像是帧间预测编码了的图像的情况下,对相对于上述对象图像在时间上存在于近旁的帧内编码了的图像进行解码。
8.根据权利要求2记载的程序,其特征在于还包含以下步骤根据包含在上述参照图像信息中的过去侧的参照帧数和在与1帧对应的图像的显示内能够执行解码处理的帧数,决定上述编码流的解码方法的第二决定步骤。
9.根据权利要求8记载的程序,其特征在于还包含以下步骤计算出能够在与1帧对应的图像的显示时间内执行解码处理的帧数的计算步骤。
10.根据权利要求8记载的程序,其特征在于还包含以下步骤计算出包含在上述参照图像信息中的过去侧的参照帧数的计算步骤。
11.一种解码装置,对编码流进行解码处理,其特征在于包括接受表示上述编码流的重放状态的重放信息的输入的重放信息输入装置;管理表示对上述编码流的对象图像进行解码处理所需要的参照图像的参照图像信息的参照图像信息管理装置;对上述编码流进行解码处理而生成图像数据的解码装置;存储由上述解码装置生成的上述图像数据的存储装置;管理由上述存储装置存储的上述图像数据的存储状态的存储管理装置;通过参照由上述参照图像信息管理装置管理的上述参照图像信息和由上述存储管理装置管理的上述存储状态,来控制上述解码装置的解码处理的解码控制装置,其中上述解码装置将由上述存储装置存储的上述图像数据中的任意一个作为参照图像对上述编码流进行解码处理,并将解码后的上述对象图像提供给上述存储装置进行存储。
12.一种解码方法,是将图像数据存储在规定的存储区域中,并利用上述存储区域对编码流进行解码的解码装置的解码方法,其特征在于包括接受表示上述编码流的重放状态的重放信息的输入的重放信息输入步骤;根据通过上述重放信息输入步骤的处理输入的上述重放信息,取得表示对上述编码流的对象图像进行解码处理所需要的参照图像的参照图像信息的参照图像信息取得步骤;根据通过上述参照图像信息取得步骤的处理取得的上述参照图像信息,判断上述参照图像是否存储在上述存储区域中的判断步骤;在通过上述判断步骤的处理判断出上述参照图像没有存储在上述存储区域中的情况下,从上述编码流中取得没有存储在上述存储区域中的上述参照图像进行解码处理,控制向上述存储区域中存储的参照图像解码步骤;利用存储在上述存储区域中的上述参照图像,通过对上述编码流的对象图像进行解码处理而生成图像数据,控制向上述存储区域中存储的解码步骤。
13.一种记录介质,记录有权利要求1记载的程序。
全文摘要
本发明的程序、解码装置不重复地对参照图像进行解码就能够实现扰乱重放。解码控制部件接受重放的流和重放输出的帧(B13)、(B3)以及重放速度和重放模式等的指令,根据存储在索引表和基带图像数据用存储器中的基带图像数据的信息,决定用于解码的解码器和解码顺序,并顺序地提供给解码处理部件。解码器根据(I2)图像对所提供的数据进行解码,将解码生成的基带图像数据保存到基带图像数据用存储器中,同时在(P5)、(P8)、(P11)和(P14)的解码时,从保存在基带图像数据用存储器中的基带图像数据接受参照图像的供给,并根据它执行解码。本发明可以适用于重放装置或个人计算机。
文档编号H04N7/32GK1913641SQ20061007439
公开日2007年2月14日 申请日期2006年4月14日 优先权日2005年4月15日
发明者荻窪纯一, 柴田三代子, 志潟太郎 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1