重放设备、重放方法以及重放程序的制作方法

文档序号:7958168阅读:274来源:国知局
专利名称:重放设备、重放方法以及重放程序的制作方法
技术领域
本发明涉及一种重放设备、重放方法以及重放程序,其允许在向前方向或向后方向中具有可变重放速度的改进图像品质的图像重放。
背景技术
存在用于在记录介质上或从记录介质中记录或播放数字视频信号和数字音频信号的数据记录和重放设备。作为用于记录数字视频信号和数字音频信号的记录介质、至今仍经常使用例如磁带的串行存取记录介质。最近,如光盘、硬盘、或半导体存储器的随机存取介质正被经常用于数字音频信号的记录和重放。
因为其大的数据容量,在被记录在记录介质之前,数字视频信号经常根据预定系统为了压缩而被编码。最近,MPEG2(运动图象专家组2)被用作为了压缩而编码的标准系统。根据MPEG2,通过DCT(离散余弦变换)和运动补偿,为了压缩来编码数字视频信号,并且利用可变长度代码来提高数字压缩率。
现在,将描述MPEG2数据流结构的总的看法。MPEG2是基于具有运动补偿的预测编码和通过DCT的用于压缩的编码的组合。根据MPEG2的数据结构形成包括模块层、宏模块层、片断(slice)层、图像层、GOP层和顺序层的层次,其从底部以这种顺序排列。模块层包括作为执行DCT单元的DCT模块。宏模块层包括多个DCT模块。片断层包括报头和一个或多个宏模块。图像层包括报头和一个或多个片断。图像对应于一个屏幕。
GOP层包括报头、是基于内部帧编码的图像的内部编码图像(I图像)、和预测编码图像(P图像)以及双向预测编码图像(B图像),这两个图像是基于预测编码的图像。利用其自身单独信息能够解码I图像。P和B图像并不单独被解码,并且在前图像或在前和在后图像被用作为用于解码的参考图像。例如,利用作为参考图像的暂时在前I图像或P图像解码P图像。利用作为参考图像的两个在前和在后I或P图像解码B图像。包括至少一个I图像并且不取决于该组之外的任何图像的组被称为GOP(图像组),该GOP包括MPEG流中独立访问的最小单元。
GOP包括一个或多个图像。在下面的描述中,仅包括一个I图像的GOP被称为单一GOP,以及包括具有I图像和P和/或B图像的多个图像的GOP被称为长GOP。在单一GOP情况下,GOP仅包括一个I图像,使得在一帧接一帧的基础上编辑是简单的。此外,由于不执行帧间预测编码,因此可以得到改进的图像品质。相反,在长GOP情况下,执行帧间预测编码,使得压缩效率较高。
长GOP可分为两种类型,即,闭合GOP,其具有闭合结构,使得允许全部的解码在GOP内,以及开放GOP,其中编码顺序中紧接在前GOP的信息被用在解码的时候。当与闭合GOP比较时,利用将得到的更多信息解码开放GOP,使得可以得到高图像品质,并且该开放GOP通常被使用。在下文中,“GOP”代表开放GOP,除非另外的描述。
在25Mbps(每秒百万位)比特率的SD(标准清晰度)格式被认为是视频信号格式。特别地,广播站或相似的站中使用的视频设备中,SD格式中的视频信号被用在上述单一GOP中,使得能够得到高图像品质和允许精确编辑的环境。SD格式中的视频信号具有固定比特率,也就是,各个帧的比特率是相同的。
近来,随着诸如数字高清晰度广播的技术变成实用,具有比SD格式的分辩率高的分辩率的HD(高清晰度)格式正变得可用。根据高分辩率,HD格式具有较高的比特率,使得在单一GOP情况下不允许记录上的用于长周期的记录。因此,HD格式中的视频信号被用在上述长GOP中。在长GOP情况下,由于执行基于预测编码的帧间压缩,因此比特率是可变的,也就是,比特率在各个帧之中变化。
当编辑视频信号时,为了定义编辑点,例如,IN点和OUT点,执行单独帧的搜索。为了这个目的,向前方向和向后方向中正常速度内的可变速度重放应当是允许的。当单一GOP被用作SD格式情况下时,单独地解码各个帧是可能的,使得考虑正常速度内可变速度重放的问题不是特别地发生。即,在单一GOP情况下,其足以至少解码将要被显示的帧。
另一方面,当长GOP被用作HD格式情况下时,与上述SD格式情况相反,不可能单独地解码各个帧。现在,将通过参考图16A到16C描述长GOP情况下的解码。这里假设GOP包括总共15个图像,即,一个I图像,四个P图像和十个B图像。例如,如图16A所示,在GOP中的I、P和B图像的显示顺序是“B0B1I2B3B4P5B6B7P8B9B10P11B12B13P14”。索引表示显示顺序。
在该例子中,最早的两个B0图像和B1图像是利用紧接在前GOP中最后P14图像和当前GOP中I2图像被预测和解码的图像。当前GOP中的第一个P5图像是利用I2图像被预测和解码的图像。其他的P8图像、P11图像和P14图像是利用它们各自紧接在前P图像被预测和解码的图像。跟着I图像的每一个B图像是利用在前和在后I和/或P图像被预测和解码的图像。
由于B图像利用暂时在前和在后I或P图像被预测和解码,因此应当考虑由解码器解码的顺序来确定在流中或记录介质上的I、P和B图像的顺序。即,该顺序应当使得用于解码B图像的I和/或P图像在B图像之前被解码。
在上述举例中,如图16B所示的例子,在流中或记录介质上的图像顺序是“I2B0B1P5B3B4P8B6B7P11B9B10P14B12B13”,并且图像以上述顺序被输入到解码器。索引表示显示的顺序,对应于图16A的那些。
在通过解码器的解码中,如图16C所示,I2图像被首先解码。然后,B0图像和B1图像利用紧接在前GOP中的所解码I2图像和最后P14图像(显示顺序)被预测和解码。B0图像和B1图像以解码顺序从解码器中顺序地输出,然后I2图像被输出。当B1图像被输出时,那么P5图像利用I2图像被预测和解码。然后,B3图像和B4图像利用I2图像和P5图像被预测和解码。然后,B3图像和B4图像以解码顺序从解码器中顺序地被输出,然后,P5图像被输出。
随后,在解码B图像之前解码用于预测B图像的P或I图像,B图像利用解码的P或I图像被预测和解码,解码的B图像被输出,然后,输出用于解码B图像的P或I图像。重复该过程。如图16B所示,记录介质上或流中的图像排列常常被使用,其中,具有对应于四帧大小的帧存储器被用于解码。
利用用于视频信号的长GOP的向前方向的正常速度重放可以利用解码器(正常速度解码器)获得,该解码器能够得到在对应于一帧的时间中的一帧图像的解码结果。

发明内容
特别在编辑操作或相似的操作中,希望有可能改变正常速度内的重放速度和在向前方向和向后方向之间灵活地转换重放方向。现在,将考虑长GOP被用于视频信号和在向前方向与向后方向中以正常速度内的重放速度执行可变速度重放的情况。
当单一GOP被用于视频信号时,如前所述,有可能独立地解码将要被显示的帧。因此,即使当执行向前方向和向后方向中的正常速度内的可变速度重放或在向前方向和向后方向之间重放方向的转换时,问题也不会特别地发生。
当长GOP被用于视频信号时,如前所述,一个或多个暂时在前和/或在后图像被用来解码将要被显示的帧。利用上述提及的正常速度解码器,通过停止根据重放速度的输入速度来避免更新帧存储器和通过重复地从帧存储器中读取输出视频信号,能够获得向前方向的正常速度内的重放速度的重放。
当长GOP被用于视频信号并且执行向后方向的重放时,与向前方向的重放情况相比,大量图像通常被用来显示一帧的图像。
例如,当具有图16A所示显示顺序的视频流以向后方向播放时,P14图像被首先输出。如前所述,为了解码P14图像,应该解码I2图像、P5图像、P8图像、和P11图像。因此,当以图16B所示顺序输入流时,就产生对应于至少四帧解码的延迟。因此,由于I2图像、P5图像、P8图像、和P11图像被用于解码B图像,因此这些图像被存储在存储器中。
而且,使用当前GOP中的I2图像和在通常重放方向中紧接在前GOP中的即在向后方向重放情况中的紧接在后GOP中的P14图像,预测和解码将在GOP末端输出的B1图像和B0图像。因此,在解码当前GOP期间,应该解码向后方向重放中的显示顺序的紧接在后GOP。
现在,将考虑从向前方向到向后方向或者从向后方向到向前方向的重放方向的转换。这对应于下面的情况,例如,假设一种编辑设备等,在其中,利用振动刻度盘或相似物能够控制重放速度和重放方向,在参考对应于0重放速度的点转换重放速度和重复方向的同时,搜索所希望的帧。
例如,当在向前方向中的重放期间显示任意帧以及重放方向被转换到向后方向时,如果在帧存储器中保持帧的帧图像,该帧紧接在从向前方向到向后方向转换重放方向之前紧接的帧,则能够利用保持在帧存储器中的帧图像来显示在转换重放方向到向后方向之后的第一帧。
然而,例如,当紧接在转换重放方向到向后方向之前的帧为在GOP末端显示的P14图像时,则在转换重放方向到向后方向之后紧接着将要被显示的帧为GOP的B13图像。为了解码B13图像,使用P14图像和P11图像。此外,为了解码P11图像,使用GOP中的I2图像、P5图像、和P8图像。
因此,在这种情况中,在将重放方向从向前方向转换到向后方向的时刻,产生对应于用于至少四个图像(I2图像、P5图像、P8图像、和P11图像)的解码时间的延迟。特别地,当在向前方向和向后方向之间的转换频繁发生时,这种延迟导致操作费力的感觉。
即,为了利用用于编辑操作等的记录和重放操作,与由上层系统例如编辑设备请求的命令相关,应该输出具有恒定延迟的重放结果。如果在重放方向从向前方向转换到向后方向时发生延迟,则编辑操作的应用是不适当的。
为了克服这个问题,已经提出一些方法。根据第一种方法,使用具有比正常速度快的解码速度的解码器。当应用第一种方法到上述举例中时,例如,使用能够在一帧周期内解码四个或多个帧的图像的解码器。然而,具有高解码速度的解码器与正常速度解码器相比比较贵,使得花费增加。
根据第二种方法,减少用于特定显示时刻的时间中不解码的图像,即,不解码或不显示这种图像,使得重放显而易见地连续。然而,这种方法导致显示品质问题。
根据第三种方法,在编码时刻,在记录介质上产生并记录能够被重放并且输出具有恒定延迟的数据,例如与最初视频信号相比具有所减小分辨率的低分辨率的数据。在重放时刻,当最初视频信号不被解码时,低分辨率的数据被用于显示。然而,根据这种方法,在显示中低分辨率图像与最初视频信号的图像相混合,使得显示品质问题产生。
根据第四种方法,在由上层系统请求的命令速度被确定之后解码所使用的图像,并且当在帧存储器中已经存储了足够用于平滑重放的图像数量时,实际启动重放。然而,根据这种方法,延迟产生在由上层系统的命令速度的请求到重放的开始。从而,上述问题并未解决。
希望提供一种重放设备、重放方法、和重放程序,其当利用正常速度解码器重放已经通过预测编码帧间压缩了的视频信号时,允许具有恒定延迟的在向前方向的正常速度重放到向后方向的正常速度重放的范围内的可变速度重放。
根据本发明实施例,提供一种重放设备,其能够在从向后方向的正常速度到向前方向的正常速度范围的可变速度上重放视频数据,该视频数据已经基于预测编码通过帧间压缩被编码压缩并记录在允许随机访问的记录介质上。重放设备包括帧缓冲器,其被设置为暂时存储多帧的视频数据;对象模式产生器,其被设置为产生用于随后将要被重放的对象重放帧的帧缓冲器的对象模式;比较器,其被设置为将帧缓冲器的当前状态与对象模式相比较;以及帧缓冲控制器,其被设置为基于比较器的比较结果,提取将要被新解码的帧和提取在帧缓冲器的当前状态中不再使用的帧。
根据本发明其他实施例,提供一种重放方法,用于在从向后方向的正常速度到向前方向的正常速度范围的可变速度上重放视频数据,该视频数据已经基于预测编码通过帧间压缩来编码压缩并记录在允许随机访问的记录介质上。该重放方法包括产生帧缓冲器的对象模式的步骤,该帧缓冲器能够暂时存储多个帧的视频数据,该对象模式与将要下一此被重放的对象重放帧相关联;比较帧缓冲器的当前状态和对象模式的步骤;以及基于比较结果,提取将要被新解码的帧和提取在帧缓冲器的当前状态中不再使用的帧的步骤。
根据本发明其他实施例,提供一种重放程序,用于允许计算机执行用于在从向后方向的正常速度到向前方向的正常速度范围的可变速度上重放视频数据的重放方法,该视频数据已经基于预测编码通过帧间压缩被编码压缩并记录在允许随机访问的记录介质上。该重放方法包括产生帧缓冲器的对象模式的步骤,该帧缓冲器能够暂时存储多个帧的视频数据,该对象模式与将要被下一此重放的对象重放帧相关联;比较帧缓冲器的当前状态和对象模式的步骤;以及基于比较结果,提取将要被新解码的帧以及提取在帧缓冲器的当前状态中不再使用的帧的步骤。
如上所述,根据本发明这些实施例,产生了能够暂时存储多个帧的视频数据的帧缓冲器的对象模式,该对象模式与下一次将要被重放的对象重放帧相关联;帧缓冲器的当前状态与对象模式相比较;以及基于比较结果,提取将要被新解码的帧和在帧缓冲器的当前状态中不再使用的帧。因此,在向前方向的正常速度重放到向后方向的正常速度重放的范围中的重放期间,将要在帧缓冲器中被更新的帧的数目是恒定的一个。此外,从帧输入到解码的延迟是恒定的。因此,利用具有恒定延迟和不具有减少帧的正常速度解码器,能够得到在向前方向的正常速度重放到向后方向的正常速度重放的范围中的可变速度重放。
根据本发明这些实施例,产生了用于下一次将要被重放的对象重放帧的帧缓冲器的对象模式;将帧缓冲器的当前状态与对象模式进行比较;以及基于比较结果,提取将要被新解码的帧和在帧缓冲器的当前状态中不再使用的帧。因此,在向前方向的正常速度重放到向后方向的正常速度重放的范围中的重放期间,在帧缓冲器中将要被更新的帧的数目是恒定的一个。此外,从帧输入到解码的延迟是恒定的。
因此,利用具有恒定延迟和不具有减少帧的正常速度解码器,能够得到在向前方向的正常速度重放到向后方向的正常速度重放的范围中的可变速度重放。


图1是示意性表示根据本发明实施例的重放控制处理的简图;图2是示意性表示能够在本发明实施例中使用的重放设备结构的例子的方框图;图3是示意性表示解码器结构的例子的方框图;图4是更具体地表示解码器结构的例子的方框图;图5是表示盘记录介质上数据配置的例子的简图;图6是用于解释剪辑(clip)的简图;图7是表示光盘上环形数据的例子的简图;图8是表示MPEG2中长GOP数据结构的例子的简图;图9是表示代表图像指示器信息的图像指示器表格的更具体例子的简图;图10A到10C是表示用于解码显示顺序中紧接当前帧的在后或在前的帧所使用的缓冲器数量的例子的简图;图11是表示本发明实施例中的对象帧缓冲器的更新模式的例子的简图;图12是表示产生对象帧缓冲器模式的例子的流程图;图13A到13F是表示产生对象帧缓冲器模式的例子的简图;图14A到14F是表示产生对象帧缓冲器模式的例子的简图;图15是示意性表示本发明实施例中的同步控制的简图;以及图16A到16C是用于解释长GOP解码的简图。
具体实施例方式
现在,将参考附图来描述本发明的实施例。图1示意地示出根据本发明实施例的重放控制处理。在步骤S1,指定将要下一个被重放的对象重放帧。例如,当重放速度处在向前方向或向后方向中的正常速度内时,则该对象重放帧处在以显示顺序接近在一帧前时刻确定的对象重放帧的帧范围内。例如,该对象重放帧由上层系统指定,并且在帧的每个时刻被提供。
在指定对象重放帧之后,在步骤S2,产生用于对象重放帧的对象帧缓冲器模式。对象帧缓冲器模式是下述帧的模式,这些帧将以解码的形式被存储在帧缓冲器中,目的是重放该对象重放帧以及在向后方向或向前方向中继续重放。然后,在步骤S3,已经产生的对象帧缓冲器模式与帧缓冲器的当前状态相比较。以该比较为基础,在步骤S4中提取考虑到帧缓冲器当前状态而将要被新解码的图像,以及在步骤S5中提取在帧缓冲器的当前状态中不再使用的图像。在步骤S4和S5的每一个中,提取一个图像。
通过上述过程,产生用于有效执行解码的对象。在该过程之后,有效控制解码器来启动解码。
例如,在步骤S6,访问记录介质以将基于步骤S4提取结果的图像流输入到解码器。在步骤S7,由解码器解码的图像被重写在用于步骤S5提取的图像的帧缓冲器的区域上,所提取的图像不再使用。当完成了一个图像的解码时,在步骤S8,输出解码结果作为解码输出帧图像。
图2示意性示出了在本发明实施例中能够使用的重放设备1的结构。重放设备1利用光盘10作为记录介质。中央处理单元(CPU)14连接到只读存储器(ROM)和随机存取存储器(RAM)(未示出),并且根据预先存储在ROM中的程序控制重放设备1的部件。RAM被用作用于CPU14的工作存储器。
由CPU14控制的盘驱动器11从装载在其上的光盘10的指定地址读取数据。已经读取的数据暂时存储在高速缓冲存储器12中。根据CPU14的指令,将视频流从高速缓冲存储器12提供给解码器13,并且解码器13解码输入的视频流,正如所要求的,利用帧存储器13A。输出所解码的流作为基带视频信号。
操作单元15包括多种操作元件,例如键和开关。操作单元15产生对应于利用操作元件执行的操作的控制信号,并且提供控制信号给CPU14。CPU14根据提供的控制信号发送指令给重放设备1的相应部件。例如,操作单元15包括振动刻度盘16。振动刻度盘16配置为输出对应于旋转角度的信号。例如,根据用户的操作,振动刻度盘16产生用于指定向前重放方向或相反重放方向的控制信号或者用于基本上实时命令重放速度的控制信号,并且提供这些信号给CPU14。
用于指定重放速度、重放方向等的指令不是必要由操作单元15的操作所输入。例如,命令重放速度或重放方向的命令通过确定的通信介质(未示出)从连接到重放设备1的其他设备例如编辑设备中发送到重放设备1。在这种情况下,发送命令到重放设备1的设备起相对于重放设备1的上层设备的作用。
由重放设备1处理的视频流是根据MPEG2(运动图像专家组2)标准被压缩编码的流,并且流中的GOP(图像组)为长GOP和开放GOP。
图3示意性示出解码器13的结构的举例。例如,从光盘10读取并且由盘驱动器11输出的流数据是MPEG-ES(MPEG基本流)。MPEG-ES被提供给流解码器20。流解码器20分析该输入MPEG-ES的信息包和报头信息,以提取用于解码的多种参数和被压缩编码及存储在信息包有效载荷中的图像数据。例如,提供参数给CPU14。所提取的图像数据以预定方式存储在流缓冲器21中。
MPEG解码器22请求流解码器20来提供存储在流缓冲器21中的图像数据,并且根据请求解码从流缓冲器21读取的图像数据和将所解码的图像数据写入到帧存储器13A中。MPEG解码器22也利用帧存储器13A中写入的图像数据解码其他图像数据(例如P图像或者B图像)。
正如稍后所描述的,帧存储器13A具有足够允许具有恒定延迟的向前方向的重放和向后方向的重放的容量。例如,帧存储器13A具有足够存储解码的图像的9个帧的容量。作为例子,帧存储器13A的存储区域被划分为9个存储体(bank),每个存储体能够存储一帧的数据,并且以存储体接存储体为基础控制存取。
输出数据控制器23管理输出的视频数据。例如,根据对应于操作单元15的操作的CPU14的指令,输出数据控制器23从帧存储器13A中读取将要被下一个显示的帧数据。已经读取的帧数据作为基带视频信号输出。
图4更具体地示出解码器13的结构的例子。图4中,对应于图3中所示部件的部件由相同的数字指定,并且其详细解释将省略。从盘驱动器11输出的MPEG-ES被提供给多路分配器(DMUX)30,其中分析信息包。MPEG-ES和从信息包提取的报头信息被存储到流缓冲器21中。信息包的报头信息也被提供给用户数据解码器31,其中提取多种参数。所提取的参数以预定方式存储在流缓冲器21中。
解码器32解码存储在流缓冲器21的报头信息和MPEG-ES。解码器32解码该报头信息来提取用于图像解码的参数。解码器32基于从报头信息提取的参数,对MPEG-ES执行可变长度编码的解码、去除量化(dequantization)和反向DCT,由此解码单独的图像。由解码器32解码的图像数据通过预侧重建器33写入到帧存储器13A中。
预侧重建器33通过利用被写入到帧存储器13A的图像数据来解码已经通过预侧编码被帧间压缩的图像。通过解码已经被帧间解压缩的图像被再次写入到帧存储器13A作为帧数据。
响应于用来指定重放方向和重放速度的振动刻度盘16的用户操作等,操作单元15以预定方式产生表示重放方向和重放速度的控制信号。控制信号被提供给CPU14。不受限于由操作单元15产生的控制信号,正如在前所述,控制信号可以通过确定通信装置(未示出)从上层设备作为命令提供给CPU14。
根据由操作单元15提供的控制信号,CPU14发出指令给视频输出单元23,由此指定将要被输出的帧。根据需要,RAM36被用作用于CPU14的工作存储器。视频输出单元23读取由来自帧存储器13A的指令指定的帧。
已经被读取的帧被提供给辅助数据重叠器34。在辅助数据重叠器34中,预定格式中的视频索引信息、辅助数据等以流缓冲器21中存储信息为基础被重叠,并且附着同步信号,由此输出视频信号被输出。
其次,将要描述本发明实施例中使用的记录介质。首先,参考图5描述盘记录介质上数据排列例子。图5所示例子中的数据排列是随机存取盘记录介质例如可记录光盘或硬盘中的典型数据排列。逻辑地址空间是能够记录并重放任意数据的区域。
在该实施例中,光盘被用作记录介质。然而,并不限于光盘,在本实施例中也可使用其他类型的记录介质。即,本实施例可适用于其他类型的随机存取记录介质,例如硬盘驱动器或半导体存储器。
在逻辑地址空间的开头和结束,布置文件系统FS。任意数据能够以预定格式被记录在逻辑地址空间中,通常被称为文件。主要基于文件来管理记录介质上的数据。文件系统FS中记录文件管理信息。记录和重放设备的系统控制器(下面描述)的文件系统层通过参考并操作文件系统FS中的信息来管理单一记录介质上的多种类型数据。例如,作为文件系统FS,使用通用磁盘格式(UDF),其中通过2kB的单元管理文件。
在逻辑地址空间外提供可选择区域。对于记录介质中的缺陷区域,其中物理上不允许读取和写入,该可选择区域能够被用作可选择的。例如,当缺陷区域在访问记录介质(特别地用于记录的访问)的时刻被识别到时,通常,用可选择区域中的地址取代缺陷区域的地址。
可选择区域使用的状态以缺陷列表的形式存储在预定区域中,并且通过记录和重放设备的驱动器控制器或系统控制器的较低层来使用该缺陷列表。即,即使当使用可选择区域时,稍后描述的驱动器控制器或系统控制器的较低层能够通过参考缺陷列表来访问适当区域,有时访问记录介质。通过利用如上所述的可选择区域,不用考虑记录介质上缺陷记录区域的存在或不存在、位置等,上层应用能够往记录介质上或从记录介质中记录和重放数据。
在盘记录介质的情况下,选择区域通常被提供在最里面或最外面。当以区域不变方式控制盘转动时,即,当盘的旋转速度在盘的半径方向以逐步(stepwise)方式被改变时,在某些情况下,在单独区域中提供选择区域。当记录介质为非盘记录介质例如为半导体存储器时,通常在最低物理地址一侧或最高物理地址一侧提供可选择区域。
在处理音频数据和视频数据(在下文中全部称为AV数据)的应用中,起单元作用的一组数据被称为剪辑,该单元是将要被连续地和同步地重放的单元,即是将要被实时重放的单元。例如,从由视频摄像机成像的开始至结束所获得的一组数据构成剪辑。该剪辑实际上由单一文件或多个文件构成。在这个实施例中,剪辑由多个文件构成。剪辑的详情将稍后描述。
在逻辑地址空间中,例如,在开始一侧,提供了其中能够记录除了剪辑的任意文件的非实时(NRT)区域,并且剪辑连续地随后被布置到NRT区域。避免光盘10的缺陷区域布置剪辑,使得在前描述的选择区域将不被使用。每个剪辑具有加在其上的报头(header)(H)和报尾(footer)(F)。在这个实施例中,报头和报尾被一起布置在剪辑结束的一侧。
在随后的描述中,首先记录在光盘10上的剪辑将被表示为剪辑#1,并且后来的剪辑将被表示为剪辑#2、剪辑#3,使用增加剪辑数目。
在逻辑地址空间中,其中没有记录数据的区域或者在过去已经记录数据但不再被使用的区域在文件系统FS中被管理作为不用区域。当重新在记录介质上记录文件时,以不用区域为基础分配记录区域。新文件的管理信息被添加给文件系统FS。
当可记录光盘用作记录介质时,在这个实施例中,以环形结构形式在记录介质上记录剪辑。参考图6和7,将描述该环形结构。图6的部分A示出在时间线上剪辑100的例子。在这个例子中,剪辑100包括7个文件,即,视频数据101、音频数据102A至102D、辅助AV数据103、和实时元数据104。
通过例如在50Mbps(每秒兆位)的高比特率下将用于压缩的基带视频数据编码来得到视频数据101。例如,用于压缩的编码是基于MPEG2(运动图象专家组2)标准。音频数据102A、102B、102C、和102D是每个具有2个信道的基带音频数据。并不限于上面所述,音频数据102A、102B、102C、和102D可以是在高比特率下通过将用于压缩的基带音频数据进行压缩所得到的音频数据。视频数据101和音频数据102A至102D为被实际传播或编辑的数据,并且称为主线(mainline)数据。
辅助AV数据103是通过在比主线视频数据和音频数据比特率低的比特率下压缩编码基带视频数据和音频数据所得到的多路复用数据。例如,用于压缩的编码是基于MPEG4标准。通过将用于压缩的主线AV数据编码产生辅助AV数据103,使得例如比特率被减小到几个Mbps。为了实现用于重放的快速检索,利用辅助AV数据103代表主线数据,并且也称为代理数据。
元数据为关于确定数据的更高级数据,并且起到用于表示多种类型数据内容的索引的作用。元数据可以分为两种类型,即,实时元数据104,其沿着上述主线AV数据的时间线而增加;以及非时间线元数据,其涉及诸如主线AV数据的单独情形(scene)而增加。非时间线元数据例如被记录在参考图5所描述的NRT区域中。
剪辑100被划分为预定重放周期(例如,2秒)的单元并在光盘上以环面结构的形式记录,如图6的部分B所示的例子那样。视频数据101、音频数据(A1至A4)102A至102D、辅助AV数据(P)103、和实时元数据(RM)104被划分为具有不小于一个轨道的数据大小的预定重放周期单元,使得具有对应的重放周期,并且顺序地排列和记录所划分成的单元,如图6的部分C中所示的例子那样。就是说,构成剪辑100并对应于预定周期单元的数据块(piece)以环面结构的形式通过预定周期单元来交叉(interleave)并且记录在光盘上。
形成环形的数据被称为环形数据。环形数据具有是记录在盘上最小单元整数倍的数据量。此外,记录环形,使得其中的分界线与盘上记录单元的块边界线相一致。
图7示出了光盘10上环形数据的举例。例如,如参考图6的部分B所述的,对应于被划分为预定重放周期单元的一个剪辑的段的环形数据#1、#2、#3从光盘10的内侧向外侧被顺序地记录。即,根据重放时间线,数据被连续地由光盘10的内侧到外侧排列。在图7所示的例子中,尽管未示出,在开始处,NRT区域被布置在比环形数据#1更内部的区域中。
在HD格式中,允许可变比特率的压缩编码。此外,当长GOP被使用时,由于基于预测编码的帧间压缩编码,使得数据大小在I图像、P图像、和B图像之中改变。因此,利用图像指示器文件来实现对期望位置的访问。
图像指示器(pointer)是剪辑中每个帧位置的补偿信息。例如,MPEG2允许可变比特率压缩,即,在单独帧之中数据压缩率是可变的。例如,在相当高的压缩率下,压缩编码表示相当单调屏幕(rather monotonouss creen)的帧,以及在相当低压缩率下,压缩编码表示相当粗略帧(rather roughframe)的帧。通过根据各个帧的特性来改变压缩率,有可能在相对低的比特率下传输并记录相对高分辨率的视频数据。此外,在MPEG2中,也可以执行基于可变长度编码的压缩编码。
如上述,在用可变比特率已经压缩编码的视频数据中,帧位置在各个帧中变化,并且GOP位置在各个GOP中变化,每个GOP位置包括足以允许重放的多个帧,使得例如跳到所希望的位置是困难的。因此,为了在可变比特率编码的情况下方便访问,表示在剪辑中各个帧位置的补偿信息的图像指示(points)被配置在表格中以形成非时间线元数据文件,并且与每个剪辑相关联来提供这种非时间线元数据文件。例如,通过当盘被装载在驱动器上时以预定方式读取该图像指示,有可能快速地访问剪辑中的期望位置。
现在,参考图8和9给出更详细的描述。图8示出MPEG2中长GOP数据结构的例子。例如,如图8中部分A所示,长GOP文件由一个剪辑构成。如图8部分B中所示,长GOP文件具有被称为视频MXF(材料交换格式)文件OP-Atom的结构。在长GOP文件中,从开始,报头分区包(HPP)和报头元数据被安排为构成报头信息,并且随后安排包括主视频数据的要素容器(essence container)。在文件末端,布置了报尾分区包(FPP)。
如图8部分C中所示,要素容器包括GOP阵列。如图8的部分D中所示,每个GOP包括一组图像。如图8的部分E中所示,每个图像包括在起始时的KL(密钥(key),长度)信息,随后为I、P、或B图像的主要数据,以及然后是KL信息。在图像末端,根据需要,提供填充符(filler)以实现字节对齐(byte alignment)。
在具有上述结构的MPEG2的长LOG中,每个图像的信息量,即图8部分E中所示的I、P、或B图像的大小是不固定的。从而,例如,当重放将从长GOP视频文件中的某个帧开始时,根据字节位置等不可能指定对应于长GOP视频文件中该帧的图像的起始位置。
因此,参考根据长GOP视频文件起始的字节数所表示的文件地址(参考图8的部分F),对于包括在长GOP视频文件中的每个图像,提供包括文件地址、大小、图像类型(I、P、或B)的图像指示器信息,和指示图像是否是GOP中的图像的信息。图像指示器信息是为每个长GOP视频文件提供的。
调节图8的部分E中所示的在图像末端的填充符,使得图像分界线的文件地址对应于预定字节数的整数倍,例如2048字节。例如,优选利用用于调节的填充符,使得图像分界线符合最小访问单元例如光盘10的扇区的分界线。这方便了以逐个图像为基础的访问。
图9示出了表示图像指示器信息的图像指示器表格的更特殊的举例。在该举例的图像指示器表格中,通过8字节的单元写入数据。在起始时的8字节包括图像指示器表格的保留区域和版本(version)信息。随后,8字节被分配给每个帧即每个图像,以及排列对应于包括在长GOP视频文件的图像数量的该8字节信息组的数量。以将要被显示的帧的顺序排列图像。
现在,将描述每个图像数据。起始的1比特是指示图像是否是GOP中第一图像的标志。例如,当GOP中包括多个I图像时,不可能单独识别具有I图像位置的GOP分界线。当不可能识别GOP分界线时,识别在MPEG2中所定义的序列报头的位置也是不可能的,使得序列报头不存在于输入到解码器的流的起始处。通过将表示图像是否是GOP中第一图像的标志分配给每个图像而可以避免这种情况。在重放时刻,基于该标志,流被输入到解码器中。
如图8的部分E中所示,随后的23比特对应于图像的大小信息。通过为大小信息分配23比特,可以表示达到8MB(兆字节)的数据大小,使得能够支持MPEG概况(profile)的422@H。
下一个2比特代表图像类型。在B图像的情况下,也包括表示参考方向的信息。例如,更具体地,以下面的方式表示图像类型00I图像10P图像01B图像,其是参考随后(未来)帧被重建的B图像,例如,在开放COP情况下,为长GOP视频文件中的第一B图像,或者在关闭GOP情况下,为每个GOP中的第一B图像。
11B图像,其是参考随后以及在前帧被重建的B图像。
下一个38比特表示长GOP视频文件中图像的文件地址。通过为文件地址分配38比特,可以支持达到256GB(十亿字节)大小的长GOP视频文件。例如,支持具有8层、每层具有27GB记录容量的光盘10是可能的。
图像指示器表格,作为图像指示器文件,与非时间线元数据一起例如被记录在记录介质的NRT区域中。当光盘10加载到盘驱动器11上时,盘驱动器11读取NRT区域中记录的非时间线元数据和图像指示器文件,并且光盘10被安装在重放设备1的系统中。已经被读取的非时间线元数据和图像指示器文件例如被存储在CPU14的RAM中。通过参考RAM中存储的图像指示器表格,CPU14可以访问在光盘10上所记录的剪辑中的任意图像。
下面,将更具体地描述根据本发明实施例的重放控制过程。首先,描述在图1所示的步骤S2中的对象帧缓冲器模式的产生。首先,计算用于重放任意对象重放帧及在前和随后帧的帧缓冲器大小,该前帧和随后帧在显示顺序中邻接对象重放帧。
图10A到10C示出了用于解码在显示顺序中的当前帧(例如,对象重放帧)的随后或在前帧的缓冲器数量的例子。在图10A到10C中,输出帧(当前帧)被表示为“0”,在相对于显示顺序中当前帧的向前方向中的帧即未来(随后)帧被表示为“+”,在相对于显示顺序中当前帧的向后方向中的帧即过去(在前)帧被表示为“-”。在图10A到10C中,“M”表示在B图像正在插入的情况下,从参考图像到下一个参考图像的图像移动的数量,“N”表示GOP中图像的数量。例如,当GOP由15个图像即“I2B0B1P5B3B4P8B6B7P11B9B10P14B12B13”构成时,M=3以及N=15。
图10A示出其中在向前方向中用一帧进行重放的例子。在该情况下,当M=3,并且对象重放帧是显示顺序中相邻B图像之中的随后B图像时,使用缓冲器的最大数量。在这种情况下,重放从对象重放帧进行到在下一个帧时刻的下一个B图像。
更具体地,在这种情况下,分别利用I3图像和P6图像解码B4图像和B5图像。直到B5图像的解码完成,其不允许抛开来自缓冲器的I3图像,并且在缓冲器中存储P6图像,因为下面将显示B5图像。因此,使用对应于M+1=4图像的缓冲器的数量。
图10B示出了其中在向后方向中用一帧进行(倒退)重放的举例。在具有M=3和N=15的通常开放GOP的情况下,当对象重放帧为I3’图像时,使用缓冲器的最大数量。在该情况下,重放从对象重放帧移动到在下一个帧时刻以显示顺序正在进行的B2’图像。
更具体地,在该情况下,为了解码B2’图像,使用I3’图像和在显示顺序中在B2’图像之前的P15图像来解码B2’图像,并且为了解码P15图像,使用P15图像所属于的GOP中的I3图像、P6图像、P9图像、和P12图像。因此,使用对应于N/M+2=7图像的缓冲器数量,其中N/M对应于包括在GOP中的I图像和P图像的数量。
图10C示出其中考虑在向前方向或向后方向中移动一帧的的例子。在具有M=3和N=15的通常开放GOP的情况下,当对象重放帧为I3’图像时,使用缓冲器的最大数量。在该情况下,重放移动到显示顺序中的B4’图像或I3’图像的随后或在前的B2’图像。
更具体地,该例子是图10A所示的例子与图10B所示的例子的组合。因此,为了解码显示顺序中作为对象重放帧的I3’图像随后的B4’图像,使用I3’图像和为在I3’图像之后出现的参考图像的P6图像。此外,为了解码显示顺序中I3’图像之前的B2’图像,使用该I3’图像和在该I3’图像所属于其中的GOP之前的GOP中的I3图像、P6图像、P9图像、P12图像和P15图像。因此,使用对应于N/M+M+I=9图像的缓冲器数量。
如上所述,当重放从对象重放帧移动到显示顺序中的在前和随后的相邻帧时,使用对应于9个图像的缓冲器数量。
根据该实施例,在帧缓冲器中,产生缓冲器更新模式,使得显示顺序中目标重放帧的在前和随后的相邻图像能够以恒量延迟被不变地显示。就是说,与已经解码并在缓冲器中存在的对象重放帧相关,显示顺序中在前和随后相邻帧以解码形式不变地存在于缓冲器中。此外,在向后方向中被用来继续重放的帧和在向前方向中被用来连续重放的帧以解码形式被不变地存储在缓冲器中。以逐个帧为基础,对于通过移动对象重放帧所形成的全部模式中的每一个模式,产生有关该缓冲器的这种模式。
在这种情况下,当对象重放帧被移动一帧和由此被更新时,将要被新解码的数据是对应于一帧的不变数据,而不管重放方向是向前或向后。因此,利用常规速度解码器,可以得到向前重放方向和向后重放方向中的常规速度内的可变速度重放。
此外,在这种情况下,通过向后方向中的常规速度重放和向前方向中的常规速度重放之间的命令速度,能够获得具有恒定延迟的重放输出。
图11表示根据上述方案所产生的对象帧缓冲器的更新模式的例子。图11所示的例子涉及具有N=15和M=3的长GOP情况。因为一个GOP包括15个图像(帧),因此定义15个模式。如图11的行中所表示的,当使用被存储在帧缓冲器中的对应于对象重放帧的帧,所述对象重放帧在任意方向上被逐帧移动时,足够仅仅更新一个帧。因此,利用常规速度解码器,可以得到向前方向和向后方向中的常规速度内的可变速度重放。
图11中,I、P和B分别表示基于I图像、P图像和B图像的帧,并且所附数字表示GOP中的显示顺序。没有标记被指定给基于属于参考GOP(当前GOP)的图像的帧。基于属于直接在当前GOP之前的GOP(称为GOP(-))的图像的帧被表示为减标记(-)。基于属于直接在当前GOP之后的GOP(称为GOP(+))的图像的帧被表示为加标记(+)。
在图11所示的更新模式中,向下方向对应于向前方向中的重放,并且向上方向对应于向后方向中的重放。即,图11中向下移动一行对应于向前一帧的对象重放帧,图11中向上移动一行对应于向后一帧的对象重放帧。图11所示的更新模式为圆形的,使得当对象重放帧从第一行向后一帧时,该移动导致帧缓冲器存储模式在第15行上。
在图11所示的帧-缓冲器更新模式中,第1行表示在对象重放帧为帧“I3”情况下的模式的例子。用于从对象重放帧“I3”在向前方向上前进一帧的帧是帧“B4”和“P6”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“B2”、“P15-”、“P12-”、“P9-”、“P6-”和“I3-”。
第2行表示在对象重放帧为帧“B4”的情况下的模式的例子。用于从对象重放帧“B4”在向前方向上前进一帧的帧是帧“B5”和“P6”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“I3”、“P15-”、“P12-”、“P9-”、“P6-”和“I3-”。
第3行示出了在对象重放帧为帧“B5”的情况下的模式的例子。用于从对象重放帧“B5”在向前方向上前进一帧的帧是帧“P6”和“P9”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“B4”、“I3”、“P12-”、“P9-”、“P6-”和“I3-”。
第4行示出了在对象重放帧为帧“P6”的情况下的模式的例子。用于从对象重放帧“P6”在向前方向上前进一帧的帧是帧“B7”和“P9”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“B5”、“I3”、“P12-”、“P9-”、“P6-”和“I3-”。
第5行示出了在对象重放帧为帧“B7”的情况下的模式的例子。用于从对象重放帧“B7”在向前方向上前进一帧的帧是帧“B8”和“P9”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“P6”、“I3”、“P12-”、“P9-”、“P6-”和“I3-”。
第6行示出了在对象重放帧为帧“B8”的情况下的模式的例子。用于从对象重放帧“B8”在向前方向上前进一帧的帧是帧“P9”和“P12”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“B7”、“P6”、“I3”、“P9-”、“P6-”和“I3-”。
第7行示出了在对象重放帧为帧“P9”的情况下的模式的例子。用于从对象重放帧“P9”在向前方向上前进一帧的帧是帧“B10”和“P12”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“P6”、“I3”、“P9-”、“P6-”和“I3-”。
第8行示出了在对象重放帧为帧“B10”的情况下的模式的例子。用于从对象重放帧“B10”在向前方向上前进一帧的帧是帧“B11”和“P12”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“P9”、“P6”、“I3”、“P9-”、“P6-”和“I3-”。
第9行示出了在对象重放帧为帧“B11”的情况下的模式的例子。用于从对象重放帧“B11”在向前方向上前进一帧的帧是帧“P12”和“P15”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“B10”、“P9”、“P6”、“I3”、“P6-”和“I3-”。
第10行示出了在对象重放帧为帧“P12”的情况下的模式的例子。用于从对象重放帧“P12”在向前方向上前进一帧的帧是帧“B13”和“P15”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“B11”、“P9”、“P6”、“I3”、“P6-”和“I3-”。
第11行示出了在对象重放帧为帧“B13”的情况下的模式的例子。用于从对象重放帧“B12”在向前方向上前进一帧的帧是帧“B14”和“P15”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“P12”、“P9”、“P6”、“I3”、“P6-”和“I3-”。
第12行示出了在对象重放帧为帧“B14”的情况下的模式的例子。用于从对象重放帧“B14”在向前方向上前进一帧的帧是帧“P15”和“I3+”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“B13”、“P12”、“P9”、“P6”、“I3”和“I3-”。
第13行示出了在对象重放帧为帧“P15”的情况下的模式的例子。用于从对象重放帧“P15”在向前方向前进一帧的帧是帧“B1+”和“I3+”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“B14”、“P12”、“P9”、“P6”、“I3”和“I3-”。
第14行示出了在对象重放帧为帧“B1+”的情况下的模式的例子。用于从对象重放帧“B1+”在向前方向上前进一帧的帧是帧“B2+”和“I3+”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“P15”、“P12”、“P9”、“P6”、“I3”和“I3-”。
第15行示出了在对象重放帧为帧“B2+”的情况下的模式的例子。用于从对象重放帧“B2+”在向前方向上前进一帧的帧是帧“I3+”和“P6+”。用于从对象重放帧在向后方向上倒退一帧的帧是帧“B1+”、“P15”、“P12”、“P9”、“P6”和“I3”。
如上所述,在图11所示的帧缓冲器更新模式的例子中,在与帧相关的每对邻近模式之间,仅仅对应于一帧的部分被更新。将通过一些例子来给出更详细的描述。
作为第一个例子,将描述对象重放帧为基于P图像的帧“P6”的情况。在这个情况中,在向前方向和向后方向之正常速度内的重放速度范围,在对象重放帧之后一帧的时刻能够是新对象重放帧的帧为帧“P6”以及显示顺序中邻近帧“P6”的在前和随后帧“B5”和“B7”。
当对象重放帧为帧“P6”时,在根据基于对象重放帧产生的对象帧缓冲器模式而已经解码的帧已经被存储在帧缓冲器中的状态下(参考图11第4行的模式),对象重放帧“P6”和在前及在后帧“B5”和“B7”已经以解码形式存储在帧缓冲器中。
当对象重放帧从这种状态移动到帧“B5”或“B7”时,基于用于新对象重放帧的新对象帧缓冲器模式,将要被新使用的帧以解码形式存储在帧缓冲器中。
在存储这些数据块的帧缓冲器的其他区域中,保持在紧接在前时刻的数据。在图11所示的例子中,如第4行上所表示的,当对象重放帧为帧“P6”时,在帧缓冲器中存储帧“P6”、属于与帧“P6”相同GOP的帧“I3”、“P9”、“B5”、和“B7”、以及属于在帧“P6”所属GOP之前的GOP中的帧“I3-”、“P6-”、“P9-”和“P12-”。
当对象重放帧为帧“P6”时,如果对象重放帧在向前方向中被移动一帧,则帧“B7”变为新的对象重放帧。在该新对象重放帧之前一帧的时刻能够为其他新的对象重放帧的帧是帧“B7”以及显示顺序中邻近帧“B7”的在前和随后帧“P6”和“B8”。
当重放速度在向前方向和向后方向中的正常速度之内时,相同的帧在两个帧的时刻被连续地输出是可能的。在这种情况下,即使当该帧时刻在下一个时刻之前时,该对象重放帧也不改变。
这些帧中,帧“P6”为当前对象重放帧,使得帧“P6”已经存在在帧缓冲器中。此外,为了解码帧“B8”,利用帧“P6”和“P9”。因为帧“P6”和“P9”被用来解码帧“B7”,所以帧“P6”和“P9”已经存在于帧缓冲器中。利用帧“P6”和“P9”解码帧“B8”。
当对象重放帧被移动到帧“B7”时,不再使用帧“B5”,结果抛弃帧“B5”,所述帧“B5”在显示顺序中已经邻近在向后方向上作为对象重放帧的帧“P6”。在所抛弃的帧“B5”的区域中,存储被新解码的帧“B8”,由此更新缓冲器。
当重放在向后方向被倒退一帧时,帧“B5”变为新的对象重放帧。在该新对象重放帧之前一帧的时刻能够作为其他新的对象重放帧的帧为帧“B5”、“B4”和“P6”。帧“P6”为当前对象重放帧,使得帧“P6”已经存在于帧缓冲器中。此外,为了解码帧“B4”,使用帧“I3”和“P6”,使得帧“I3”存储在帧缓冲器中。利用这些帧“I3”和“P6”解码帧“B4”。
当对象重放帧从帧“P6”移动到帧“B5”时,不再使用帧“B7”,该帧“B7”已经邻近帧“P6”作为向前方向的对象重放帧,使得抛弃帧“B7”。在用于所抛弃帧“B7”的帧缓冲器的区域中,存储被新解码的帧“B4”,从而更新该帧缓冲器。
如上所述,当对象重放帧从帧“P6”在向前方向上前进一帧时,帧的更新仅仅包括对应于一帧的部分,即,从帧“B5”更新到帧“B8”。同样,当对象重放帧从帧“P6”在向后方向上倒退一帧时,帧的更新仅包括对应于一帧的部分,即从帧“B7”更新到帧“B4”。
作为第二个例子,描述对象重放帧是基于B图像的帧“B7”的情况。在这个情况中,在向前方向和向后方向的正常速度之内的重放速度范围,在对象重放帧之后一帧的时刻能够为新对象重放帧的帧是帧“B7”以及显示顺序中邻近帧“B7”的在前和随后帧“P6”和“B8”。
当对象重放帧为“B7”时,在根据基于对象重放帧所产生的对象帧缓冲器模式而已经被解码的帧已经被存储在帧缓冲器中的状态下(参考图11第5行的模式),对象重放帧“B7”以及在前和在后帧“P6”和“B8”已经以解码形式被存储在帧缓冲器中。
当对象重放帧从这种状态移动到帧“P6”或“B8”时,基于用于该新对象重放帧的该新对象帧缓冲器模式,将要被新使用的帧以解码形式存储在帧缓冲器中。
在存储这些数据块的帧缓冲器的其他区域中,保持在该紧接在前时刻的数据。在图11所示的例子中,如第5行所表示,当对象重放帧为帧“B7”时,在帧缓冲器中存储帧“B7”、属于与帧“B7”相同的GOP的帧“I3”、“P9”、和“B8”、以及属于在帧“B7”所属GOP之前的GOP中的帧“I3-”、“P6-”、“P9-”和“P12-”。
当对象重放帧为帧“B7”时,如果对象重放帧在向前方向上被移动一帧,则帧“B8”变为新的对象重放帧。在该新对象重放帧之后一帧的时刻能够作为其他新对象重放帧的帧是帧“B8”以及显示顺序中邻近帧“B8”的在前和随后帧“B7”和“P9”。
在这些帧中,帧“B7”为当前对象重放帧,使得帧“B7”已经存在在帧缓冲器中。此外,为了解码帧“B8”,利用帧“P6”和“P9”。因为帧“P6”和“P9”被用来解码帧“B7”,帧“P6”和“P9”已经存在于帧缓冲器中。利用帧“P6”和“P9”解码帧“B8”。同样,帧“P9”已经在帧缓冲器中存在。
在这种情况下,帧“P6”被用于解码帧“B8”,该帧“P6”已经邻近于帧“B7”作为显示顺序中在向后方向中的对象重放帧,使得不抛弃帧“P6”。利用帧“P9”解码帧”P12”,当重放在向前方向上还前进一帧时利用该帧“P12”。此外,在属于存在于缓冲存储器中的最早GOP的帧中,抛弃帧“P12-”,该帧“P12-”是缓冲存储器中存在的最后帧,并且以解码形式存储帧“P12”。
当重放在向后方向上倒退一帧时,帧“P6”变为新对象重放帧。在该新对象重放帧之前一帧的时刻能够作为其他新对象重放帧的帧为帧“P6”、“B5”和“B7”。帧“B7”为当前对象重放帧,使得帧“B7”已经存在于帧缓冲器中。此外,为了解码帧“B5”,使用帧“I3”和“P6”,使得帧“I3”被存储在帧缓冲器中。利用这些帧“I3”和“P6”解码帧“B5”。
当对象重放帧从帧“B7”移动到帧“P6”时,不再使用帧“B8”,该帧“B8”已经邻近帧“B7”作为向前方向上的对象重放帧,使得抛弃帧“B8”。在用于所抛弃帧“B8”的帧缓冲器的区域中,存储被新解码的帧“B5”,从而更新帧缓冲器。
如上所述,当对象重放帧从帧“B7”在向前方向上前进一帧时,帧的更新仅仅包括对应于一帧的部分,即,从帧“P12-”更新到帧“P12”。同样,当对象重放帧从帧“B7”在向后方向上倒退一帧时,帧的更新仅包括对应于一帧的部分,即从帧“B8”更新到帧“B5”。
作为第三个例子,描述对象重放帧为基于I图像的帧“I3”的情况。在这个情况中,在向前方向和向后方向的正常速度之内的重放速度范围,在对象重放帧之后一帧时刻能够作为新对象重放帧的帧为帧“I3”以及显示顺序中邻近帧“I3”的在前和随后帧“B2”和“B4”。
当对象重放帧为“I3”时,在根据基于对象重放帧产生的对象帧缓冲器模式而已经被解码的帧已经被存储在帧缓冲器中的状态下(参考图11第1行的模式),对象重放帧“I3”以及在前和在后帧“B2”和“B4”已经以解码形式存储在帧缓冲器中。
当对象重放帧从这种状态移动到帧“B2”或“B4”时,基于用于该新对象重放帧的新对象帧缓冲器模式,将要被新使用的帧以解码形式存储在帧缓冲器中。
在存储这些数据块的帧缓冲器的其他区域中,保持在该紧接在前时刻的数据。在图11所示的例子中,如第1行所表示,当对象重放帧为帧“I3”,在帧缓冲器中存储帧“I3”、属于与帧“I3”相同GOP的帧“P6”、“B2”、和“B4”、以及属于在帧“I3”所属GOP之前的GOP中的帧“I3-”、“P6-”、“P9”、“P12-”和“P15”。
当对象重放帧为帧“I3”时,如果对象重放帧在向前方向被移动一帧,则帧“B4”变为新对象重放帧。在该新对象重放帧之前一帧的时刻能够作为其他新对象重放帧的帧为帧“B4”以及显示顺序中邻近帧“B4”的在前和随后帧“I3”和“B5”。
在这些帧中,帧“I3”为当前对象重放帧,使得帧“I3”已经存在在帧缓冲器中。此外,为了解码帧“B5”,利用帧“I3”和“P6”。因为帧“P6”被用来解码帧“B4”,帧“P6”已经存在于帧缓冲器中。利用帧“I3”和“P6”解码帧“B5”。
在这种情况下,不再使用帧“B2”,该帧“B2”已经邻近于作为在向后方向中的对象重放帧的帧“I3”,使得抛弃帧“B2”。在用于所抛弃帧“B2”的帧缓冲器的区域中,存储被新解码的帧“B5”,从而更新帧缓冲器。
当重放在向后方向上倒退一帧时,帧“B2”变为新对象重放帧。在该新对象重放帧之后一帧的时刻能够作为其他新的对象重放帧的帧为帧“B2”、“B1”和“I3”。帧“I3”为当前对象重放帧,使得帧“I3”已经存储在帧缓冲器中。此外,为了解码帧“B1”,使用属于帧“I3”所属GOP之在前GOP中的帧“I3”和“P15-”。利用这些帧“P15-”和“I3”解码帧“B1”。
当对象重放帧从帧“I3”移动到帧“B2”时,不再使用帧“B4”,该帧“B4”已经邻近作为向前方向中的对象重放帧的帧“I3”,使得抛弃帧“B4”。在所抛弃的帧“B4”的区域中,存储被新解码的帧“B1”,从而更新帧缓冲器。
如上所述,当对象重放帧从帧“I3”在向前方向前进一帧时,帧的更新仅仅包括对应于一帧的部分,即,从帧“B2”更新到帧“B5”。同样,当对象重放帧从帧“I3”在向后方向上倒退一帧时,帧的更新仅包括对应于一帧的部分,即从帧“B4”更新到帧“B1”。
如上所述,当对象重放帧转移到另一个帧时,抛弃在缓冲存储器中存储的一个帧,并且一个新的帧被解码和存储在所抛弃帧的区域中,从而更新缓冲存储器。在这时,根据下面的规则可以确定从缓冲存储器中抛弃的帧(1)抛弃基于除对象重放帧和在显示顺序中邻近对象重放帧的帧之外的B图像的帧。
(2)当不存在基于根据规则(1)将要被抛弃的B图像的帧时,抛弃基于存在于缓冲存储器并且满足下面(2a)或(2b)条件的I图像或者P图像的帧。
(2a)在向前方向上移动对象重放帧的情况中,为在向后方向上距包括对象重放帧的GOP最远的GOP的末端的I图像或P图像。
(2b)在向后方向移动对象重放帧的情况中,为在向前方向上距包括对象重放帧的GOP最远的GOP的末端的I图像或P图像。
如上所述,通过根据本发明实施例的缓冲存储器更新模式在缓冲存储器中存储数据,不管当前对象重放帧是否是基于I图像的帧,是否是基于P图像的帧,或者是否是基于B图像的帧,与在任意方向上移动一帧相关,仅更新在缓冲存储器上对应于一帧的数据就足够了。从而,利用正常速度解码器,可以得到具有恒定延迟的向前方向和向后方向的正常速度内的可变速度重放。
尽管在例子的上下文给出了上述描述,其中当前对象重放帧是分别基于GOP中I图像、P图像,和B图像的帧,也给出了其中当前对象重放帧是省略描述的任何其他帧的情况,相似地,与在任意方向上移动一帧相关,但仅更新在缓冲存储器中对应于一帧的数据。
下面,将参考图12所示的流程图描述用于产生对象帧缓冲模式的方法的例子。在下面描述中,假定对象帧(称为当前帧)是基于B图像的帧。
首先,在步骤S10,得到当前帧所属于当前GOP的I图像(I0)。在记录介质上在向后方向从对应于当前帧的图像中搜索I图像,如图13A所示的例子那样。在这个步骤中,已经确定没有对象帧缓冲模式的帧(参考图14A)。
当已经得到当前GOP中的第一I图像(I0)时,在步骤S11,在记录介质上在向前方向从对应于当前帧的图像中搜索在对应于距当前帧两帧之位置上或之后位置上的I图像或P图像(P0)(参考图13B)。在这个步骤中,已经确定没有对象帧缓冲模式的帧(参考图14B)。
在步骤S12中,从记录介质中搜索在上述步骤S10和S11中得到的图像(I0)和(P0)之间的I和/或P图像。例如,如在图13C所示的例子中,通过步骤S10中的搜索所发现的图像(I0)被确定作为用在对象帧缓冲模式中经的帧。此外,在记录介质上在向前方向从图像(I0)中搜索下一个P图像(P)。通过搜索发现的P图像被确定作为用在对象帧缓冲模式中的帧。如上所述,基于通过从记录介质中搜索所顺序发现的P或I图像,顺序地确定用在对象帧缓冲模式中的当前GOP的帧(参考图14C)。
当确定基于当前GOP的I图像和P图像的帧作为用在步骤S12中对象帧缓冲器模式中的帧时,在步骤S13中,在记录介质上在向后方向搜索在当前帧之前一帧的帧到在当前帧之后一帧的帧的范围内存在的B图像(参考图13D)。基于通过搜索发现的B图像的帧被确定为用在对象帧缓冲器模式中的当前GOP的帧(参考图14D)。
即,通过前述的步骤S11和S12,已经确定基于I和/或P图像的帧作为对象帧缓冲器模式中使用的帧,基于I和/或P图像的帧用于解码在当前帧之前一帧的帧到当前帧之后一帧的帧的范围中存在的B图像。在步骤S13中,确定基于B图像的帧作为在对象帧缓冲器模式中使用的帧,该B图像利用基于I和/或P图像的帧被解码。
当通过到达步骤S13的处理已经确定对象帧缓冲器模式中使用的当前GOP的全部帧时,在步骤S14中,搜索紧接在当前GOP之前的GOP中的第一I图像(I-1)(参考图13E)。例如,在相反方向在记录介质上从当前GOP中的第一I图像(I0)中搜索I图像,以及在向前方向在记录介质上基于由所述搜索发现的I图像(I-1)搜索P图像(参考图13F)。然后,确定由所述搜索发现的基于在紧接当前GOP之前的GOP中的I图像和/或P图像的帧作为对象帧缓冲器模式中使用的帧(参考图14F)。
重复上述步骤S14和S15的过程,直到缓冲存储器变为存满(步骤S16)。
通过参考图9所描述的图像指示器文件能够识别记录在记录介质上的图像的位置和类型(I、P、或B)。例如,当由系统或上层系统指令某个帧的重放时,CPU14将根据指令将要被重放的帧考虑作为对象重放帧,并且搜索将对象重放帧所属于GOP考虑作为当前GOP的图像指示器文件,从而得到当前GOP中的I图像的位置。如在前所述,图像指示器文件包括图像类型、表示图像是否时GOP中第一图像的标志、图像大小信息、和起始地址。从而,可以基于这些信息块来在记录介质上搜索所希望的图像。
当基于对象重放帧已经确定对象帧缓冲器模式以及根据对象帧缓冲器模式用解码的帧填充了帧缓冲器时,通过参考图11所描述的操作,根据重放指令,以恒定延迟实施向前方向和向后方向的正常速度之内的重放。
尽管在上下文举例中已经给出上述描述,其中,对象重放帧是基于B图像的帧,但是参考图12所示流程图描述的过程能够被类似地应用于其中当前帧是基于I图像或P图像的帧的情况。
例如,每次指令对象重放帧时,根据图12所示的流程图,执行用于产生根据来自系统或上层系统的指令而将要被重放的对象重放帧的对象帧缓冲器模式的过程。可选择地,基于对象重放帧的第一指令,对于GOP中的全部帧,可以产生对象帧缓冲器模式。已经产生的对象帧缓冲器模式被存储在例如RAM36中。
并不限于上面所描述的,当预先知道将要被重放的剪辑的GOP结构时,根据图12所示流程图的处理可以在GOP中的每个图像上被执行,以预先产生帧缓冲器更新模式,例如图11所示的一个。同样,当预先定义由重放设备1所支持的GOP的结构时,预先产生更新模式和将该更新模式存储到ROM35中是可能的。
响应于用于在向前方向正常速度或向后方向正常速度之内的重放的到操作单元15的指令,CPU14指令图像并且更新帧缓冲器,该图像是通过参考与输出帧相关的更新模式而在每个帧时刻将要从光盘10中读取的图像。
下面,将描述基于帧缓冲器更新模式的重放控制操作。控制重放来得到在每个帧的帧时刻处的同步。图15示意性示出本发明实施例中同步控制的例子。在图15所示的例子中,通过三个帧周期来解码每个帧的视频数据,并且帧缓冲器上的每个帧的视频数据以与解码同步被输出。
在第一帧中,在步骤S20中,基于从CPU14中得到的帧缓冲器信息,其表示帧缓冲器中当前存储的帧的信息、盘驱动器11的引导信息和对象速度信息,确定对象重放帧。引导信息是关于盘驱动器11的高速缓冲存储器12中存储的图像的信息,并且已经从光盘10中读取。对象速度信息是表示重放速度和方向的信息,其通过操作单元15的操作或来自上层应用等的命令被提供给CPU14。
当已经确定对象重放帧时,在步骤S21中,确定将要被传输给解码器22的图像。即,基于参考图11所描述的帧缓冲器更新模式来确定与对象重放帧的确定相关而将要被解码的图像。
例如,在图11的第4行上的举例中,当重放方向为向前方向时,与作为当前对象重放帧的帧“P6”相关,将帧“B7”或帧“P6”确定作为新对象重放帧。基于对象速度信息、指令时刻等,明确地确定帧“B7”或帧“P6”是否被确定作为新对象重放帧。在下面的描述中,假设帧“B7”被确定作为新对象重放帧。
此外,将第4行的帧缓冲器信息与作为对象重放帧的新对象重放帧相关联的帧缓冲器信息相比较,从而提取将要被新解码的帧和不再使用的帧。在该例子中,新对象重放帧是帧“B7”。通过比较第4行的帧缓冲器信息与第5行的帧缓冲器信息,可以理解帧“B5”是不再使用的以及帧“B8”将要被解码。
当在步骤S21中已经确定将要被传输的图像时,在步骤S22,在第二帧的时刻,图像被传输到解码器22。例如,CPU14请求盘驱动器11以从光盘10读取将要被传输的图像。响应于该请求,盘驱动器11从光盘10读取图像(在上面举例中对应于帧“B8”的图像)。已经被读取的图像被传输到解码器22。当将使用其他帧来解码图像时,将要使用的帧从帧缓冲器中读取并且被传输到解码器22中。
在该举例中,其中帧“B8”被解码,对应于帧“B8”的图像,和用于解码帧“B8”的帧“P6”和“P9”被传输到解码器22。
实际上,通过从高速缓冲存储器12到解码器22的DMA(直接存储器访问)传输,将要被传输的图像通过访问被传输到盘驱动器11的高速缓冲存储器,而不需CPU14在其之间起作用。
在步骤S22中,以与第二帧时刻同步,图像从盘驱动器11被传输到解码器22。此外,在步骤S23中,根据在步骤S21将要被传输的图像的确定,确定用于图像的解码信息。例如,从所传输图像的报头信息中提取的用于解码的参数以及关于用来解码的其他帧的信息被确定作为解码信息。已经确定的解码信息被传递到解码器22。
在步骤S24中,基于在步骤S23中传输的解码信息,与第三帧的时刻同步,解码器22开始对步骤S22中所传输的图像进行解码。解码的图像(帧)被写入到帧缓冲器的特定存储体(bank)中,从而更新帧缓冲器。在图11的第4行的举例中,被解码帧“B8”的数据被重写到存储体中,其中在缓冲存储器中已经写入帧“B5”(参考图11的第5行)。
当在前述的步骤S20中已经确定对象重放帧时,在步骤S25,确定输出视频数据的信息。在图11第4行的举例中,将帧“P6”确定作为输出视频数据。已经被确定的输出视频数据的信息被传送到输出数据控制器23。在步骤S26,基于所传送的信息,在第三帧开始时刻之前,输出数据控制器23执行视频输出的设置。然后,在步骤S27中,基于该设置,以与第三帧同步来输出帧“P6”。
例如,通过根据在前述步骤S20中从上层应用等中提供的重放速度信息来控制是否移动对象重放帧到下一个帧,允许在向前方向正常速度之内的重放。例如,在向前方向1/2速度的重放的情况中,被输出的帧在每两帧时刻以一帧的比率被更新。例如,通过在每两帧以一次(once)比率来更新对象重放帧,这也被允许。除非对象重放帧被更新,否则基于与紧接在前反复处理中的相同的帧缓冲器模式来执行处理,使得输出与紧接在前帧时刻相同的帧。在该时刻,优选地,停止用于通过重放设备1访问光盘10的操作、通过解码器22的解码操作,等等。
尽管上面已经描述了在向前重放方向情况中执行的处理,但是在向后重放方向情况中也相似地执行处理。在第一帧中,在步骤S20,基于帧缓冲器信息、引导信息、和对象速度信息来确定对象重放帧。当已经确定对象重放帧时,在步骤S21,确定将要被传输到解码器22的图像。在图11中第4行的举例中,因为重放方向是向后方向,所以将帧“B5”或帧“P6”确定作为对象重放帧。这里假设帧“B5”被确定作为对象重放帧。此外,将第4行的帧缓冲器信息与第3行的帧缓冲信息相比较,其中该输出帧为对象重放帧,从而可以理解帧“B7”不再使用以及帧“B4”将被解码。
当在步骤S21中已经确定将要被传输的图像时,在步骤S22,在第二帧的时刻,图像被传输到解码器22。在该时刻,当其他图像将被用于解码图像时,将要被使用的图像也从帧缓冲器中读取并被传输到解码器22。在该例子中,其中帧“B4”被解码,用来解码帧“B4”的帧“I3”和“P6”也被传输到解码器22。帧“I3”和“P6”已经存在于帧缓冲器中,如图11第4行上所示。
在步骤S23中,根据在步骤S21中将要被传输的图像的确定,确定用于该图像的解码信息。已经确定的解码信息被传送到解码器22。在步骤S24中,基于步骤S23中传输的解码信息,以与第三帧时刻同步,解码器22开始解码在步骤S22中传输的图像。被解码图像(帧)被写入到帧缓冲器的特定存储体中,从而更新帧缓冲器。在图11中第4行的举例中,被解码帧“B4”的数据被重新写入到存储体中,其中帧“B7”已经被写入在缓冲存储器中(参考图11的第3行)。
当在前述的步骤S20中已经确定对象重放帧时,在步骤S25中,确定输出视频数据的信息。在图11中第4行的举例中,确定帧“P6”作为输出视频数据。已经确定的输出视频数据的信息被传送到输出数据控制器23。在步骤S26中,基于被传送到的信息,在第三帧开始时刻之前,输出数据控制器23执行视频输出的设置。然后,在步骤S27中,基于该设置,以与第三帧同步来输出帧“P6”。
不管重放方向是否是向前方向或是向后方向,在每个帧时刻执行上述步骤S20到S27中的过程。例如,以与第一帧同步来在步骤S20中确定对象重放帧。然后,利用该对象重放帧作为新输出帧,以与第二帧同步来开始用于确定与该新输出帧相关联的新对象重放帧的过程。
将新对象重放帧以与第三帧同步从盘驱动器11传输到解码器22,使得传输不干涉在前过程。相似地,以与第四帧同步来执行通过解码器22的解码(未示出),使得解码不干涉在前过程。
如上所述,根据本发明实施例,在从向前方向正常速度重放到向后方向正常速度重放之范围内的可变速度重放中,利用正常速度解码器,响应于指令重放速度和重放方向的命令,有可能产生没有帧降低(frame dropping)以及具有恒定延迟的重放输出。
在参考图15上述的顺序中,关于在步骤S20中对象重放帧的确定到步骤S27中具有恒定延迟的对象重放帧的视频输出之间的周期,在平均1图像/帧周期内应该执行步骤S22中的数据传输和步骤S24中的解码的每一个。即,只要在平均1图像/帧周期内执行步骤S22中的数据传输和步骤S24中的解码的每一个,则数据传输和解码的每一个的处理时间不需要被固定到帧周期。
当正常速度解码器用于图像解码以及通过基于上述对象帧缓冲器模式的控制来获得具有恒定延迟的向前方向和向后方向之正常速度内的重放时,每次对象重放帧被移动时就解码一帧,并且抛弃缓冲存储器中的一个帧。因此,在1图像/帧周期期间,步骤S22中的数据传输和步骤S24中的解码的每一个趋向于集中处理,使得作为整体的处理集中于图15所示的在三个帧周期处的处理。
如上所述,根据本发明实施例,在向前方向正常速度重放到向后方向正常速度重放之范围内的可变速度重放中,利用正常速度解码器,响应于指令重放速度和重放方向的命令,产生没有帧降低和具有恒定延迟的重放输出是可能的。
在上述实施例中,光盘被用作记录介质,并且以环形结构形式记录剪辑。然而,本发明并不仅限于该实施例。例如,记录介质上的记录格式不限于环形结构,也可以是其他格式。同样,记录介质不限于光盘,也可以是硬盘驱动器或半导体存储器。此外,尽管在上述实施例中从记录介质中重放数据,但不限于该实施例,本发明可以被应用到解码在稳定提供流的情况下由外部提供的流数据的解码器。
此外,尽管上述实施例中重放设备1是用于重放记录在光盘10的视频数据的特定硬件,但不限于该实施例,例如,通用计算机(未示出),如个人电脑,也可以被用作重放设备1。在这种情况中,通过安装在计算机中的程序来实现重放设备1的功能。此外,在这种情况中,通过CPU以软件方式可以执行视频数据的解码,或者特定硬件可以被安装在计算机中。
本领域的技术人员可以理解,根据在所附权利要求或其等同物范围之内的设计需要和其它要素,可以做各种修改、组合、二次组合和改变。
相关申请的交叉参考本发明包括涉及2005年9月8日于日本专利局申请的日本专利申请JP2005-260742的主题,其全部内容通过引用而结合在这里。
权利要求
1.一种重放设备,其能够在从向后方向的正常速度到向前方向的正常速度为范围的可变速度上重放视频数据,该视频数据基于预测编码通过帧间压缩已经被压缩编码并被记录在允许随机存取的记录介质上,该重放设备包括帧缓冲器,设置为暂时存储多个帧的视频数据;对象模式产生器,设置为产生用于随后将要被重放的对象重放帧的帧缓冲器的对象模式;比较器,设置为将帧缓冲器的当前状态与对象模式相比较;以及帧缓冲器控制器,设置为基于比较器的比较结果,提取将要被新解码的帧和提取在帧缓冲器的当前状态中不再使用的帧。
2.根据权利要求1的重放设备,进一步包括解码控制器,设置为行使下述控制用于启动将要被新解码的帧的输入,所述帧已经通过帧缓冲器控制器提取,以及用于解码要被输入所启动的帧和将解码的帧存储在在帧缓冲器中不再被使用的帧的区域中;以及输出控制器,设置为从帧缓冲器所存储的多个帧之中设定输出帧。
3.根据权利要求1的重放设备,其中对象模式至少包括对象重放帧、暂时邻近对象重放帧的两个帧、和在邻近对象重放帧的两个帧的各自方向的每一个上用来进一步继续一帧重放的帧。
4.根据权利要求1的重放设备,其中随着视频数据被重放,对象模式对于每个帧被顺序地产生并被存储在存储介质中。
5.根据权利要求1的重放设备,其中对象模式被预先产生并存储在存储介质中。
6.一种重放方法,用于在从向后方向的正常速度到向前方向的正常速度为范围的可变速度上重放视频数据,该视频数据基于预测编码通过帧间压缩已经被压缩编码和记录在允许随机存取的记录介质上,该重放方法包括步骤产生帧缓冲器的对象模式的步骤,该帧缓冲器能够暂时存储多个帧的视频数据,该对象模式与随后将要被重放的对象重放帧相关联;比较帧缓冲器的当前状态和对象模式的步骤;以及基于比较结果,提取将要被新解码的帧和提取在帧缓冲器的当前状态中不再被使用的帧的步骤。
7.一种重放程序,用于允许计算机执行用于在从向后方向的正常速度到向前方向的正常速度为范围的可变速度上重放视频数据的重放方法,该视频数据基于预测编码通过帧间压缩已经被压缩编码并记录在允许随机存取的记录介质上,该重放方法包括步骤产生帧缓冲器的对象模式的步骤,该帧缓冲器能够暂时存储多个帧的视频数据,该对象模式与随后将要被重放的对象重放帧相关联;比较帧缓冲器的当前状态和对象模式的步骤;以及基于比较结果,提取将要被新解码的帧和提取在帧缓冲器的当前状态中不再被使用的帧的步骤。
全文摘要
一种重放设备,能够在从向前的正常速度到向后的正常速度为范围的可变速度上重放视频数据,该视频数据基于预测编码通过帧间压缩已经被压缩编码和记录在允许随机存取的记录介质上。重放设备包括设置为暂时存储多个帧的视频数据的帧缓冲器;设置为产生用于随后将要被重放的对象重放帧的帧缓冲器的对象模式的对象模式产生器;设置为将帧缓冲器的当前状态与对象模式相比较的比较器;以及设置为基于比较器的比较结果而提取将要被新解码的帧和在帧缓冲器的当前状态中不再使用的帧的帧缓冲器控制器。
文档编号H04N5/92GK1992869SQ200610064139
公开日2007年7月4日 申请日期2006年9月8日 优先权日2005年9月8日
发明者内藤仁志, 畠中学 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1