再现设备、数据处理系统、再现方法、程序以及存储介质的制作方法

文档序号:7627570阅读:85来源:国知局
专利名称:再现设备、数据处理系统、再现方法、程序以及存储介质的制作方法
技术领域
本发明涉及用于对再现数据进行再现的再现设备、数据处理系统、再现方法、程序以及存储介质。
背景技术
例如,存在着一种再现设备,用于对由MPEG(运动图像专家组)方案编码的再现数据进行解码和再现。这种再现设备,例如,以这样一种顺序对形成再现数据的I、P和B画面数据进行解码,其中该顺序与画面数据和再现方向的参考关系相对应,并且再现设备将解码结果以按照用于再现和输出的再现方向的显示顺序进行输出。在这种再现设备中,例如,当接收到用于反向再现方向的反向(reserval)命令时,将到此时为止所产生的解码结果全部清除,以按照反向的再现方向的顺序开始解码,并且将这些解码结果以按照反向的再现方向的显示顺序进行再现并输出。可参考日本专利公开(A)2003-101967。
然而,在现有技术的这种再现设备中,由于直到接收到该反向命令时所产生的解码结果全都被清除,并且在反向该再现方向之后,立即按照反向的再现方向对画面数据解码,这就使得从接收到反向命令到获得反向之后的再现和输出要花费一段较长的时间,因此存在着响应不好的缺点。

发明内容
本发明的一个目的是要提供一种再现设备、数据处理系统、再现方法、程序和存储介质,与现有技术相比,它们能够在连续地解码并再现多个画面数据时,缩短从接收到反向再现方向的命令到获得反向之后的再现和输出所花费的时间。
根据本发明的第一方面,提供了一种再现设备,用于连续解码并再现多个画面数据,它包括再现存储器和解码器,该解码器用于以按照指定的再现方向的次序连续地解码多个画面数据,将解码结果写入再现存储器中,并对从该再现存储器中读取的解码结果进行再现和输出,该解码器甚至在存储在再现存储器中的解码结果在按所指定的再现方向继续再现时不再被使用之后,仍在再现存储器中保持对解码结果的存储,并且当接收到再现方向的反向命令作为输入时,使用在输入反向命令之前已经存储在再存储器中的解码结果来执行再现和输出。
本发明的第一方面的操作模式如下解码器以按照指定的再现方向的次序连续地解码多个画面数据,将解码结果写入再现存储器中,并对从该再现存储器中读取的解码结果进行再现和输出。这时,解码器甚至在再存储器中存储的解码结果在按所指定的再现方向继续再现时不再被使用之后,仍在再现存储器中保持对解码结果的存储。当接收到再现方向的反向命令作为输入时,使用在输入反向命令之前已经存储在再现存储器中的解码结果来执行再现和输出。
根据本发明的第二方面,提供了一种数据处理系统,其包括一个数据处理设备和一个再现设备,其中该数据处理设备用于将形成再现数据的多个画面数据输出给再现设备,而该再现设备用于对从该数据处理设备的多个画面数据进行连续再现,该再现设备包括再现存储器和解码器,该解码器用于以按照指定的再现方向的次序连续地解码多个画面数据,将解码结果写入再现存储器中,并对从该再现存储器中读取的解码结果进行再现和输出,该解码器甚至在再现存储器中存储的解码结果在按所指定的再现方向继续再现时不再被使用之后,仍在再现存储器中保持对解码结果的存储,并且当接收到再现方向的反向命令作为输入时,使用在输入反向命令之前已经存储在再存储器中的解码结果来执行再现和输出。
根据本发明的第三方面,提供了一种连续地解码多个画面数据的再现方法,包括第一步骤,以按照指定的再现方向的次序连续地解码多个画面数据,并将解码结果写入再现存储器中;第二步骤,读取在第一步骤中写入该再现存储器中的解码结果,并对其进行再现和输出,该第一步骤甚至在再现存储器中存储的解码结果在按所指定的再现方向继续再现时不被再使用之后,仍使再现存储器保持对解码结果的存储,并且当接收到再现方向的反向命令作为输入时,第二步骤使用在输入反向命令之前已经存储在再现存储器中的解码结果来执行再现和输出。
根据本发明的第四方面,提供了一种由再现设备执行的程序,用于连续地解码多个画面数据,该程序包括第一例程,以按照指定的再现方向的次序连续地解码多个画面数据,并将解码结果写入再现存储器中;第二例程,读取在第一例程中写入该再现存储器中的解码结果,并对其进行再现和输出,该第一例程甚至在再现存储器中存储的解码结果在按所指定的再现方向继续再现时不再被使用之后,仍使再现存储器保持对解码结果的存储,并且当接收到再现方向的反向命令作为输入时,第二例程使用在输入反向命令之前已经存储在现存储器中的解码结果来执行再现和输出。
根据本发明的第五方面,提供了一种用于存储由再现设备执行的程序的存储介质,该程序用于连续地解码多个画面数据,该程序包括第一例程,以按照指定的再现方向的次序连续地解码多个画面数据,将解码结果写入再现存储器中;第二例程,读取在第一例程中写入该再现存储器中的解码结果,并对其进行再现和输出,该第一例程甚至在再现存储器中存储的解码结果在按所指定的再现方向继续再现时不再被使用之后,仍使再现存储器保持对解码结果的存储,并且当接收到再现方向的反向命令作为输入时,第二例程使用在输入反向命令之前已经存储在再现存储器中的解码结果来执行再现输出。
根据本发明的第六方面,提供了一种数据处理设备,包括一个数据处理装置和一个再现装置,其中该数据处理装置用于将形成再现数据的多个画面数据输出给再现装置,而该再现装置用于对从该数据处理装置输入的多个画面数据进行连续地解码和再现,该再现装置包括再现存储器和解码器,该解码器用于以按照指定的再现方向的次序连续地解码多个画面数据,将解码结果写入再现存储器中,并对从该再现存储器中读取的解码结果进行再现和输出,该解码器甚至在再现存储器中存储的解码结果在按所指定的再现方向继续再现时不再被使用之后,仍在再现存储器中保持对解码结果的存储,并且当接收到再现方向的反向命令作为输入时,使用在输入反向命令之前已经存储在再现存储器中的解码结果来执行再现和输出。
根据本发明,可以提供一种再现设备、数据处理系统、再现方法、程序以及存储介质,与现有技术相比,它们能够在连续地解码多个画面数据的情况下,减少从接收到反向再现方向的命令到获得反向之后的再现和输出所花费的时间。


本发明的这些和其它目的和特征将从下面参考附图对优选实施例的描述中变得更加清楚,其中图1是根据本发明第一实施例的数据处理系统的整体配置的视图;图2是用于解释要由图1所示的数据处理系统解码的再现数据ENC的视图;图3是在前向再现如图2所示的再现数据ENC的情况下由解码器34_1、34_2和34_3进行的解码、再现存储器36_1至36_3的存储状态以及再现和输出的视图;图4是接着图3的、在前向再现如图2所示的再现数据ENC的情况下由解码器34_1、34_2和34_3进行的解码、再现存储器36_1至36_3的存储状态以及再现和输出的视图;图5是解释如图1所示的数据处理系统的整体操作实例的流程图;图6是接着图5的、解释如图1所示的数据处理系统的整体操作实例的流程图;图7是解释在瞬变(transient)命令恰好出现在如图3和4所示的以前向再现来再现及输出GOP(N)的B0画面数据之后的情况下再现设备的操作的视图;图8是接着图7的、解释在瞬变命令恰好出现在如图3和4所示的以前向再现来再现及输出GOP(N)的B0画面数据之后的情况下再现设备的操作的视图;图9是解释在瞬变命令恰好出现在如图3和4所示的以前向再现来再现及输出GOP(N)的B1画面数据之后的情况下再现设备的操作的视图;图10是解释在瞬变命令恰好出现在如图3和4所示的以前向再现来再现及输出GOP(N)的I2画面数据之后的情况下再设备的操作的视图;图11是解释在瞬变命令恰好出现在如图3和4所示的以前向再现来再现及输出GOP(N)的B3画面数据之后的情况下操作的视图;图12是解释在瞬变命令恰好出现在如图3和4所示的以前向再现来再现及输出GOP(N)的B4画面数据之后的情况下再现设备的操作的视图;图13是解释在瞬变命令恰好出现在如图3和4所示的以前向再现来再现及输出GOP(N)的P5画面数据之后的情况下再现设备的操作的视图;图14是解释在瞬变命令恰好出现在如图3和4所示的以前向再现来再现及输出GOP(N)的B6画面数据之后的情况下,再现设备的操作的视图;
图15是解释在瞬变命令恰好出现在如图3和4所示的以前向再现来再现及输出GOP(N)的B9画面数据之后的情况下再现设备的操作的视图;图16是解释在瞬变命令恰好出现在如图3和4所示的以前向再现来再现及输出GOP(N)的B13画面数据之后的情况下再现设备的操作的视图;图17是解释在瞬变命令恰好出现在如图3和4所示的以前向再现来再现及输出GOP(N)的P14画面数据之后的情况下再现设备的操作的视图;图18是在反向再现该再现数据ENC的情况下由解码器34_1、34_2和34_3进行的解码、再现存储器36_1至36_3的存储状态以及再现和输出的视图;图19是接着图18的、在反向再现该再现数据ENC的情况下由解码器34_1、34_2和34_3进行的解码、再现存储器36_1至36_3的存储状态以及再现和输出的视图;图20是解释在瞬变命令恰好出现在以反向再现来再现及输出GOP(N+1)的P5画面数据之后的情况下再现设备的操作的视图;图21是接着图20的、解释在瞬变命令恰好出现在以反向再现来再现及输出GOP(N+1)的P5画面数据之后的情况下现设备的操作的视图;图22是解释在瞬变命令恰好出现在以反向再现来再现及输出GOP(N+1)的I2画面数据之后的情况下再现设备的操作的视图;图23是解释在瞬变命令恰好出现在以反向再现来再来及输出GOP(N+1)的B1画面数据之后的情况下再现设备的操作的视图;图24是解释在瞬变命令恰好出现在以反向再现来再现及输出GOP(N+1)的B0画面数据之后的情况下再现设备的操作的视图;图25是解释在瞬变命令恰好出现在以反向再现来再现及输出GOP(N)的P14画面数据之后的情况下再现设备的操作的视图;图26是解释在瞬变命令恰好出现在以反向再现来再现及输出GOP(N)的B13画面数据之后的情况下再现设备的操作的视图;图27是解释在瞬变命令恰好出现在以反向再现来再现及输出GOP(N)的B12画面数据之后的情况下再现设备的操作的视图;图28是解释在瞬变命令恰好出现在以反向再现来再现及输出GOP(N)的P11画面数据之后的情况下再现设备的视图;图29是解释当只使用如图1所示的解码器34_1和34_2时,在瞬变命令出现在通过前向再现对B13画面数据进行再现及输出之后的情况下再现设备的操作的视图;图30是解释当只使用如图1所示的解码器34_1和34_2时,在瞬变命令出现在通过前向再现对B13画面数据进行再现及输出之后的情况下再现设备操作的视图;图31是根据本发明第二实施例的数据处理系统的整体配置的视图;图32是解释如图31所示的调度缓冲器的视图;图33是解释在本发明第二实施例中的画面属性数据的格式的视图;图34是解释如图31所示的数据处理系统的操作实例的流程图;图35是接着图34的、解释如图31所示的数据处理系统的操作实例的流程图;图36是接着图35的、解释如图31所示的数据处理系统的操作实例的流程图;图37是接着图35的、解释如图31所示的数据处理系统的操作实例的流程图;图38是解释在如图31所示的再现设备进行前向1X速度再现的同时出现瞬变命令的情况下调度缓冲器的使用方法的视图;图39是接着图38的、解释在如图31所示的再现设备进行前向1X速度再现的同时出现瞬变命令的情况下调度缓冲器的使用方法的视图;图40是接着图39的、解释在如图31所示的再现设备进行前向1X速度再现的同时出现瞬变命令的情况下调度缓冲器的使用方法的视图;图41是解释在如图31所示的再现设备进行前向2X速度再现的同时出现瞬变命令的情况下调度缓冲器的使用方法的视图;图42是接着图41的、解释在如图31所示的再现设备进行前向2X速度再现的同时出现瞬变命令的情况下调度缓冲器的使用方法的视图;图43是接着图42的、解释在如图31所示的再现设备进行前向2X速度再现的同时出现瞬变命令的情况下调度缓冲器的使用方法的视图;图44是解释在如图31所示的再现设备进行前向3X速度再现的同时出现瞬变命令的情况下调度缓冲器的使用方法的视图;图45是接着图44的、解释在如图31所示的再现设备进行前向3X速度再现的同时出现瞬变命令的情况下调度缓冲器的使用方法的视图;图46是接着图45的、解释在如图31所示的再现设备进行前向3X速度再现的同时出现瞬变命令的情况下调度缓冲器的使用方法的视图;
图47是解释在如图31所示的再现设备进行前向1X速度再现的同时出现瞬变命令的情况下调度缓冲器的另一种使用方法的视图;图48是接着图47的、解释在如图31所示的再现设备进行前向1X速度再现的同时出现瞬变命令的情况下调度缓冲器的另一种使用方法的视图;图49是接着图48的、解释在如图31所示的再现设备进行前向1X速度再现的同时出现瞬变命令的情况下调度缓冲器的另一种使用方法的视图。
具体实施例方式
下面,将解释根据本发明的实施例的数据处理系统。
<第一实施例>
图1是根据本发明一个实施例的数据处理系统1的整体配置的视图。如图1所示,数据处理系统1例如具有计算机2和再现设备4。
如图1所示,计算机2具有一个HDD 12、桥接器14、在储器16、桥接器18、操作设备19和CPU 20。HDD 12例如存储由MPEG方案编码的再现数据ENC。如图2所示,再现数据ENC是由多个在再现设备4中按顺序连续解码的GOP(画面组)组成的。在如图2所示的实例中,按照GOP(N-1)、(N)、(N+1)、(N+2)的顺序进行解码。每个GOP都包括I、P和B画面数据,也就是3种类型的画面数据(帧数据)。而且,每个GOP包括单个I画面数据。在该实施例中,例如使用在GOP中具有相对较大量的画面数据的所谓的“长GOP”。注意到,在本申请的附图中,属于GOP(N-1)的画面数据在左上方没有给出任何标记,属于GOP(N)的画面数据在左上方标星号,属于GOP(N+1)的画面数据在左上方标注“+”号,属于GOP(N+2)的画面数据在左上方标注“-”号,属于GOP(N-2)的画面数据在左上方标注“#”号,以及属于GOP(N-3)的画面数据在左上方标注“′”号。此外,在附图中,在“I”、“P”和“B”的右侧或底部附加的数字示出了再现及输出画面数据的解码结果的顺序。
I画面数据是一种内(帧内)编码图像的画面数据,并独立于其它画面数据来解码。并且,P画面数据是前向预测编码的帧的画面数据,并参考时间上在前(先前显示顺序)的I或P画面数据进行解码。注意到,“I和P画面数据”也被称为“锚(anchor)画面数据”。并且,B画面数据是在两个方向上预测编码的帧的画面数据,并在参考时间上在前或在后(显示顺序在前或在后)的I或P画面数据的同时进行解码。注意到,HDD 12的读取速度比再现设备4的最大再现速度慢。
桥接器14提供了桥接器18的扩展功能,并具有PCI扩展插槽或IDE(集成驱动电路)插槽等。桥接器14基本上具有与桥接器18相同的功能,但是它具有比桥接器18窄的带宽,并且连接到其上的设备的访问速度比连接到桥接器18上的设备的访问速度慢。
存储器16是例如一种半导体存储器,存储用于由CPU 20进行处理的程序和数据。操作设备19是键盘、鼠标或其它操作装置,并且将与用户操作相对应的操作信号输出到CPU 20。操作设备19接收到一种指定再现数据ENC的再现点的操作、一个发布指定再现点的再现开始命令的操作、以及一个根据用户的基于未示出的操作屏幕的操作的瞬变命令操作,并且将表示该操作的操作信号输出给CPU20。桥接器18具有连接于其上的桥接器14、存储器16、PCI总线6和CPU 20,并对数据进行转换以及经由CPU 20地址总线和数据总线进行传输。
CPU 20例如执行从存储器16中读取的程序,以便集中地控制计算机2的操作。当CPU 20从操作设备19中接收到表示用于指定再现点的操作的操作信号作为输入时,它从HDD 12中读取包括所指定的再现点的画面数据的GOP,并通过桥接器18和PCI总线6将其输出到再现设备4。而且,当CPU 20从操作设备19中接收到表示再现开始命令操作的操作信号为输入时,它通过桥接器18和PCI总线6将指定再现点的再现开始命令输出到再现设备4。而且,当CPU 20从操作设备19中接收到表示瞬变命令操作的操作信号作为输入时,它通过桥接器18和PCI总线6将瞬变命令输出给再现设备4。而且,CPU 20将GOP输出给再现设备4,以便将再现数据ENC中的多个GOP中的、在显示顺序上位于包括再现设备4中的再现点的画面数据的GOP之前一个位置的GOP和在显示顺序上位于其之后一个位置的GOP存存储在再设备4的输入存储器32中。
如图1所示,再现设备4例如具有PCI桥接器30、输入存储器32、解码器34_1至34_3、再现存储器36_1至36_3、选择器38、控制存储器40、CPU 42和控制总线46。注意到,控制存储器40存储一个预定的程序(本发明中的程序),并且CPU 42读取并执行该程序以便执行下列处理。该预定程序可以存储在半导体存储器中或其它控制存储器40中,也可以存储在HDD、光盘或其它存储介质中。
PCI桥接器30具有用于缓冲从计算机2经由PCI总线6输入的GOP以及命令的存储器。而且,桥接器18具有动态存储器访问(DMA)传输功能。输入存储器32是SDRAM或其它半导体存储器,并且用于临时存储经由PCI桥接器30输入的GOP。
解码器341按照CPU 42的控制,通过PCI桥接器30接收到从输入存储器32读取的再现数据ENC作为输入,根据MPEG方案对其进行解码,并将结果写入再现存储器361中。特别地,解码器34_1在CPU 42的控制下,无需参考其它画面数据的解码结果就可以对从输入存储器32中读取的I画面数据进行解码。而且,解码器34_1在CPU 42的控制下,通过参考时间上位于过去的I或P画面数据的解码结果以及已经具有的存储在相应再现存储器36_1中的解码结果,对从输入存储器32中读取的P画面数据进行解码。
图3和图4是示出前向再现该现现数据ENC时由解码器34_1、34_2和34_3进行的解码、再现存储器36_1至36_3的存储状态、以及再现和输出的视图。在图3、图4以及随后描述的对应附图中,被示出为与解码器34_1相联系的存储体区域“0”至“7”是在再现存储器36_1中定义的存储体区域,被示出为与解码器34_2相联系的存储体区域“0”至“7”是在再现存储器36_2中定义的存储体区域,以及被示出为与解码器34_3相联系的存储体区域“0”至“7”是在现存储器36_3中定义的存储体区域。而且,“out0”、“out1”和“out2”示出了从解码器34_1、34_2和34_3输出到选择器38的解码结果。而且,最下面的“再现和输出”表示来自选择器38的再现和输出。而且,在图3、图4以及随后描述的对应附图中,粗体线所包围的部分示出了由解码器34_1、34_2和34_3进行的解码。
如图3和图4所示,解码器电路34_1在再现存储器36_1中保持存储在继续按照从CPU 42指定的再现方向进行再现的情况下不再被用于再现和输出的I和P画面数据的解码结果,其中该再现方向是按照来自CPU 42的解码命令指定的。例如,解码器34_1甚至在结束GOP(N-1)的再现和输出之后仍然保持12、P5、P8、P11、P14、*I2的解码结果。正因为如此,如下所述,当出现瞬变命令时,能够通过使用保存在再现存储器36_1中的解码结果来执行瞬变之后的再现和输出,而不需要再次对其进行解码。也就是,当出现瞬变命令时,解码器34_1可以使用发布瞬变命令之前已经存储在再存储器36_1中的I和P画面数据的解码结果以便进行再现和输出。特别地,对于I和P画面数据,解码器34_1在瞬变命令之后,按照来自CPU 42的显示命令读取已经存储在现存储器36_1中的I和P画面数据的解码结果并且对其进行再现和输出。而且,对于B画面数据,解码器34_1在瞬变命令之后,按照来自CPU 42的解码命令,参考已经存储在再现存储器36_1中的、形成这个B画面数据的锚画面数据的I和P画面数据的解码结果进行解码,并按照来自CPU 42的显示命令再现和输出解码结果。
而且,如图3所示,解码器34_1按照来自CPU 42的解码命令,对在B画面数据之前解码的GOP中的I和P画面数据进行解码,并将解码结果写入再现存储器36_1中。
解码器34_2和34_3具有与解码器34_1相同的配置。它们根据MPEG方案对经由PCI桥接器30输入的图像数据进行解码,并将结果写入它们各自的再现存储器36_2和36_3中。
下面,将描述通过解码器34_1、34_2和34_3将解码结果写入再现存储器36_1、36_2和36_3中的方法。如图3和图4所示,再现存储器36_1、36_2和36_3中的每一个都具有8个存储体区域“0”至“7”。在该实施例中,如图3和4所示,在每个再现存储器36_1、36_2和36_3处所提供的8个存储体区域当中,有6个存储体区域“0”至“5”被固定作为用于专门存储I和P画面数据的解码结果的存储区,而2个存储体区域“6”和“7”被固定作为用于存储B画面数据的解码结果的存储区。也就是,再现存储器36_1至36_3同时存储在各个解码器34_1、34_2和34_3中解码的全部I和P画面数据的解码结果。这种存储一直保持到向向这些解码器中写入下一个要解码的GOP的I和P画面数据的解码结果为止。
当解码如图2所示的再现数据ENC时,例如如图3所示的,解码器34_1将GOP(N-1)中的I2、P5、P8、P11和P14画面数据以及GOP(N)中的I2画面数据写入再现存储器36_1的存储体区域“0”至“5”中。而且,例如如图3和图4所示的,解码器34_2将GOP(N)中的I2、P5、P8、P11和P14画面数据和GOP(N+1)中的I2画面数据写入再现存储器36_2的存储体区域“0”至“5”中。此外,例如如图3所示的,解码器34_3将GOP(N+1)中的I2、P5、P8、P11和P14画面数据和GOP(N+2)中的I2画面数据写入再现存储器36_3的存储体区域“0”至“5”中。
并且,当解码GOP(N-1)中的B画面数据时,解码器34_1参考存储在再现存储器36_1的存储体区域“0”至“5”中的I和P画面数据的解码结果。而且,当解码GOP(N)中的B画面数据时,解码器34_2参考存储在再现存储器36_2的存储体区域“0”至“5”中的I和P画面数据的解码结果。而且,当解码GOP(N+1)中的B画面数据时,解码器34_3参考存储在再现存储器36_3的存储体区域“0”至“5”中的I和P画面数据的解码结果。注意到,解码器34_1、34_2和34_3用在再现存储器36_1至36_3的存储体“6”和“7”所存储的B画面数据之后3个画面的B画面数据的解码结果,连续地对所存储的B画面数据的解码结果进行改写。为此,不需要提供与GOP中的所有B画面数据相对应的存储体区域,因此可以使再现存储器36_1至36_3的尺寸很小。
选择器38在CPU 42的控制下,切换并选择性地再现及输出从再现存储器36_1、36_2和36_3中读取的解码结果。
CPU 42基于存储在控制存存储器40中的程序和数据执行下列处理,并集中控制再现设备4的操作。CPU42将从计算机2输入的GOP(再现数据ENC)写入输入存储器32中。而且,CPU 42执行调度处理,以便确定以GOP为单位解码GOP中的画面数据的顺序。CPU 42使解码器34_1、34_2和34_3基于调度处理的结果执行下面的解码。CPU 42从输入存储器32中读取画面数据,并将其输出到解码器34_1、34_2和34_3,以便使属于同一GOP的I和P画面数据以及参考I和P画面数据的解码结果的B画面数据可由相同的解码器34_1、34_2和34_3进行解码。CPU 42例如经由PCI桥接器30从输入存储器32读取GOP(N-1)中的I和P画面数据、以及参考该I和P画面数据的解码结果进行解码的GOP(N)中的B画面数据,并将它们输出给解码器34_1。这里,在本实施例中,B画面数据参考一个参考不同GOP的I和P画面数据的解码结果而进行解码的开放(open)GOP。特别地,例如,如图2所示的GOP(N)中的B0和B1画面数据是参考GOP(N-1)中的I和P画面数据的解码结果进行解码的。因此,CPU 42将GOP(N)中的B0和B1画面数据输出给解码器34_1。而且,CPU 42例如经由PCI桥接器30从输入存储器32读取GOP(N)中的I和P画面数据,以及参考该I和P画面数据的解码结果进行解码的GOP(N+1)中的B画面数据,并将它们输出给解码器34_2。此外,CPU 42例如经由PCI桥接器30从输入存储器32读取GOP(N+1)中的I和P画面数据,以及参考该I和P画面数据的解码结果进行解码的GOP(N+2)中的B画面数据,并将它们输出给解码器34_3。例如,CPU 42在从计算机2的CPU 20接收到再现开始命令作为输入时,使解码器34_1、34_2和34_3对包括再现点在内的多个GOP进行解码。此时,CPU42控制解码器34_1、34_2和34_3对B画面数据的解码、从解码器34_1、34_2和34_3到选择器38的读取操作以及选择器38的选择操作,以便从该再现点处按照所指定的方向以指定的速率执行再现和输出。
下面,将描述图1所示的数据处理系统1的操作的实例。
下面将解释从当计算机2对要再现的图像数据进行指定时到当在再现设备4处执行再现和输出时的操作实例。图5和图6是解释该操作实例的流程图。
步骤ST1计算机2的CPU 20判断是否已经从操作设备19输入了这样一个操作信号,该操作信号表示在再现数据ENC中指定再现点的操作。当判断已经指定了时,前进到步骤ST2,而当判断为还没指定时,重复步骤ST1的处理。
步骤ST2计算机2的CPU 20从HDD 12中读取包括在步骤ST1中指定的再现点的画面数据的GOP,以及周围的GOP,或总共3个(多个)GOP。
步骤ST3计算机2的CPU 20通过桥接器18和PCI总线6将在步骤ST2中读取的多个GOP输出到再现设备4。再现设备4的CPU 42将从计算机2输入的GOP通过PCI桥接器30写入输入存储器32中。
步骤ST4计算机2的CPU 20将传输完成通知输出给再现设备4的CPU 42。这个传输完成通过示出了在步骤ST3中从计算机2向再现设备4输出(传输)的GOP的标识数据,在输入存储器32写入GOP的地址,以及GOP的数据的大小。此外,该传输完成通知示出了在输出的GOP中的每个画面数据的标识数据、在输入存储器32中已经写入画面数据的地址、以及画面数据的大小。CPU 42将该传输完成通知写入存储器40中。
步骤ST5在完成步骤ST4的处理之后,再现设备4的CPU 42将准备完成通知输出给计算机2的CPU 20。
步骤ST6计算机2的CPU 20判断是否已经从操作设备19输入了这样一个操作信号,该操作信号表示指定再现点的再现开始命令操作。当判断该操作信号已经输入时,前进到步骤ST7,而当判断为还没输入时,重复步骤ST6的处理。
步骤ST7当判断输入了时,计算机2的CPU 20将指定再现点的再现开始命令输出给再现设备4的CPU 42。
步骤ST8再现设备4的CPU 42执行调度处理,以便根据画面数据和再现方向之间的互相参考关系,确定对存储在输入存储器32中的、包括由步骤ST7中输入的再现开始命令所指示的再现点的画面数据的GOP中的画面数据进行解码的顺序。
步骤ST9再现设备4的CPU 42基于在步骤ST8或随后解释的步骤ST16中的调度结果,把指示下一个要解码的画面数据的解码命令输出到解码器34_1、34_2和34_3。要注意的是,由于下一个要再现和输出的I和P画面数据的解码结果已经存储在再现存储器36_1至36_3中了,所以CPU 42不会输出I和P画面数据的解码命令,而是在瞬变命令之后的几个画面数据的处理时间期间,在步骤ST12中仅输出显示命令。注意到,对于B画面数据,CPU 42只在解码结果没有存储在再现存储器36_1至36_3中的情况下才输出解码命令。
步骤ST10解码器34_1、34_2和34_3从输入存储器32中读取由步骤ST9中输入的解码命令指示的画面数据,对其进行解码并将解码结果写入再现存储器36_1至36_3中。
步骤ST11再现设备4的CPU 42基于所指定的再现方向和调度结果,标识接下来要再现和输出的解码结果,产生指示解码结果的显示命令以及选择器38的用于执行所期望的再现和输出的切换命令,并且将其写入控制存储器40中。
步骤ST12再现设备4的CPU42向解码器34_1、34_2和34_3输出在步骤ST11中产生的显示命令,并将切换命令输出给选择器38。
步骤ST13解码器34_1、34_2和34_3从再现存储器36_1至36_3中读取由步骤ST12中输入的显示命令所表示的解码结果,并将它输出到选择器38。而且,选择器38基于步骤ST12中输入的切换命令,切换并选择性地再现及输出来自解码器34_1、34_2和34_3的解码结果。
步骤ST14当判断出从操作设备19输入了指示瞬变命令操作的操作信号时,计算机2的CPU 20就前进到步骤ST15,否则,前进到步骤ST17。
步骤ST15计算机2的CPU20向再现设备4的CPU42输出瞬变命令(再现方向切换命令)。在产生瞬变命令之后,CPU 20和CPU 42基于切换之后的再现方向执行处理。再现设备4以画面数据为单位执行行上面解释过的步骤ST9至ST15中的处理。
步骤ST17CPU 20和CPU 42判断在执行上述步骤ST9至步骤ST15中的处理之后的画面数据是否是GOP中的最后的画面数据,在判断为是最后的画面数据时,前进到步骤ST18,否则就返回到步骤ST9并对下一画面数据执行处理。
步骤ST18CPU 20和CPU 42判断处理过的画面数据所属的GOP是否是再现数据ENC中的最后一个GOP。如果判断是最后一个GOP,则结束该处理,否则它们就前进到步骤ST19。
步骤ST19计算机2的CPU 20按照再现方向从HDD 12中读取下一GOP。
步骤ST20计算机2的CPU 20通过桥接器18和PCI总线6向再现设备4输出在步骤ST19中读取的GOP。再现设备4的CPU 42将从计算机2输入的GOP通过PCI桥接器30写入输入存储器32中。
步骤ST21计算机2的CPU 20向再现设备4的CPU 42输出在步骤ST20中输出的GOP的传输完成通知。CPU 42将该传输完成通知写入到控制存储器40中。
步骤ST22再现设备4的CPU 42在结束步骤ST21中的处理之后,向计算机2的CPU 20输出一个准备完成通知。
步骤ST23例如,再现设备4的CPU 42判断GOP的调度是否已经结束(也就是判断该调度是否是要求的),其中该GOP包括根据再现方向的下一个再现点的画面数据。当判断调度还未结束时,前进到步骤ST8,否则就前进到步骤ST9。
在该操作实例中,将详细解释图5所示的步骤ST10中的解码。例如,再现设备4的CPU42基于调度的结果,如上面利用图3和图4所解释的那样,读取存储在输入存储器32中的GOP中包含画面数据,并将其输出到解码器34_1、34_2和34_3。然后,解码器34_1、34_2和34_3按上述解释的那样执行解码,并将解码结果写入再现存储器36_1、36_2和36_3中。
如图3和图4所示,在B画面数据之前,再现设备4在解码器34_1、34_2和34_3中对每个GOP中的I和P画面数据进行解码,并将结果写入再现存储器36_1、36_2和36_3中的固定的存储体区域中。这样,如果在该写操作之后有用来解码该数据的1个画面(1个帧)的时间,那么正在处理的GOP中的任意画面数据都能被再现和输出。也就是,当在如图6所示的步骤ST14中产生瞬变命令时,能快速执行接下来在步骤ST9到步骤ST13中按照切换之后的再现方向再现和输出画面数据。例如,当解码、再现并输出如图3所示的GOP(N-1)中的B9画面数据时,需要GOP(N-1)中的P8和P11画面数据的解码结果。而且,为了解码P8画面数据,需要P5画面数据的解码结果,并且为了解码P5画面数据,需要I2画面数据的解码结果。因此,为了解码P9画面数据,需要I2、P5、P8和P11画面数据的解码结果。根据再现设备4,如图3所示,通过将I和P画面数据存储在再现存储器36_1中,如果解码器34_1接收了GOP(N-1)中的B9画面数据作为输入,则解码器34_1能通过使用已存储在再现存储器36_1中的存储体区域“2”和“3”中的P8和P11画面数据,快速地执行B9画面数据的解码、再现和输出处理。为此,能够无延时地执行瞬变再现。
下面,将解释在前向(FWD)再现方向中产生瞬变命令的操作实例。图7和图8是解释在恰好在如图3和图4所示以前向再现来再现及输出GOP(N)中的B0画面数据之后产生瞬变命令的情况下再现设备4的操作的图。在解码器34_1再现并输出GOP(N)中的B0画面数据的解码结果之后,从再现存储器36_1中读取GOP(N-1)中的P14画面数据的解码结果,并对其进行再现及输出。而且,解码器34_1与P14画面数据的再现和输出相并行地,从输入存储器32中读取B13画面数据,对其进行解码并将解码结果写入再现存储器36_1中。为此,解码器34_1能够在再现并输出P14画面数据的解码结果之后,再现并输出B13画面数据的解码结果,并且能够无延时地执行瞬变再现。接着,解码器34_1从再现存储器36_1中读取GOP(N-1)中的B13画面数据的解码结果,并将它们输出到选择器38。此外,再现设备4在瞬变之后在如图6所示的步骤ST19中从计算机2接收到GOP(N-2)作为输入,并将其写入输入存储器32中,执行步骤ST8中的调度,然后使解码器34_3对其进行解码。
图9是解释在恰好在如图3和图4所示以前向再现来再现及输出GOP(N)中的BI画面数据之后产生瞬变命令的情况下再现设备4的操作的图。解码器34_1在再现并输出GOP(N)中的B1画面数据的解码结果之后,从再现存储器36_1中读取GOP(N)中的B0画面数据的解码结果,并再现和输出它们。为此,在再现并输出GOP(N)中的B1画面数据的解码结果之后,能够再现并输出对应于瞬变再现的GOP(N)中的B0画面数据的解码结果。此后,解码器34_1解码GOP(N-1)中的B13画面数据,并在这时,从解码器34_1中读取GOP(N-1)中的P14画面数据并对其进行再现及输出。
图10是解释在恰好在如图3和图4所示以前向再现来再现及输出GOP(N)中的I2画面数据之后产生瞬变命令的情况下再现设备4的操作的图。在解码器34_2再现并输出GOP(N)中的I2画面数据的解码结果之后,解码器34_1从再现存储器36_1中读取GOP(N)中的B1画面数据的解码结果,并对其进行再现及输出。为此,能够无延时地执行瞬变再现。此后,解码器34_1从再现存储器36_1中读取GOP(N)中的B0画面数据的解码结果,并对其进行再现及输出。
图11是解释在恰好在如图3和图4所示以前向再现来再现及输出GOP(N)中的B3画面数据之后产生瞬变命令的情况下再现设备4的操作的图。解码器34_2在再现和输出GOP(N)中的B3画面数据的解码结果之后,从再现存储器36_2中读取GOP(N)中的I2画面数据的解码结果,并对其进行再现及输出。为此,可以无延时地执行瞬变再现。此后,解码器34_1从再现存储器36_1中读取GOP(N)中的B1画面数据的解码结果,并对其进行再现及输出。
图12是解释在恰好如图3和图4所示以前向再来再现及输出GOP(N)中的B4画面数据之后产生瞬变命令的情况下再现设备4的操作的图。解码器34_2在再现和输出GOP(N)中的B4画面数据的解码结果之后,从再现存储器36_2中读取GOP(N)中的B3画面数据的解码结果,并对其进行再现及输出。为此,可以无延时地执行瞬变再现。此后,解码器34_2从再现存储器36_2中读取GOP(N)中的I2画面数据的解码结果,并对其进行再现及输出。接着,解码器34_1从再现存储器36_1中读取B1画面数据的解码结果,并对其进行再现及输出。
图13是解释在恰好在如图3和图4所示以前向再现来再现及输出GOP(N)中的P5画面数据之后产生瞬变命令的情况下再现设备4的操作的图。解码器34_2在再现和输出GOP(N)中的P5画面数据的解码结果之后,从再现存储器36_2中读取GOP(N)中的B4画面数据的解码结果,并对其进行再现及输出。此外,解码器34_2与再现处理相并行地对从存储器32读取的B3画面数据进行解码,并将解码结果写入再现存储器36_2中。为此,可以无延时地执行瞬变再现。此后,解码器34_2从再现存储器36_2中读取GOP(N)中的B3画面数据的解码结果,并对其进行再现及输出。
图14是解释在恰好在如图3和图4所示以前向再现来再现及输出GOP(N)中的B6画面数据之后产生瞬变命令的情况下再现设备4的操作的图。解码器34_2在再现和输出GOP(N)中的B6画面数据的解码结果之后,从再现存储器36_2中读取GOP(N)中的P5画面数据的解码结果,并对其进行再现及输出。此外,解码器34_2与再现处理并行地对从存储器32读取的GOP(N)中的B4画面数据进行解码,并将解码结果写入再现存储器36_2中。为此,可以无延时地执行瞬瞬变再现。此后,解码器34_2从再现存储器36_2中读取GOP(N)中的B4画面数据的解码结果,并对其进行再现及输出。
图15是解释在恰好在如图3和图4所示以前向再现来再现及输出GOP(N)中的B9画面数据之后产生瞬变命令的情况下再现设备4的操作的图。解码器34_2在再现和输出GOP(N)中的B9画面数据的解码结果之后,从再现存储器36_2中读取GOP(N)中的B10画面数据的解码结果,并对其进行再现及输出。此外,解码器34_2与再现处理并行地对从存储器32读取的B7画面数据进行解码,并将解码结果写入再现存储器36_2中。为此,可以无延时地执行瞬变再现。此后,解码器34_2从再现存储器36_2中读取GOP(N)中的B9画面数据的解码结果,并对其进行再现及输出。
图16是解释在恰好在如图3和图4所示以前向再现来再现及输出GOP(N)中的B13画面数据之后产生瞬变命令的情况下再现设备4的操作的图。解码器34_2在再现和输出GOP(N)中的B13画面数据的解码结果之后,从再现存储器36_2中读取GOP(N)中的B12画面数据的解码结果,并对其进行再现及输出。为此,可以无延时地执行瞬变再现。接着,解码器34_2从再现存储器36_2中读取P11画面数据的解码结果,并对其进行再现及输出。解码器34_2与再现和输出相并行地读取GOP(N)中的B10画面数据的解码结果,并对其进行再现及输出。
图17是解释在恰好在图3和图4所示以前向再现来再现及输出GOP(N)中的P14画面数据之后产生瞬变命令的情况下再现设备4的操作的图。解码器34_2在再现和输出GOP(N)中的P14画面数据的解码结果之后,从再现存储器36_2中读取GOP(N)中的B13画面数据的解码结果,并对其进行再现及输出。为此,可以无延时地执行瞬变再现。接着,解码器34_2从再现存储器36_2中读取B12画面数据的解码结果,并对其进行再现及输出。
如上所示,根据再现设备4,甚至当恰好在再现及输出GOP(N)中的任意画面数据之后产生瞬变命令时,也能够无延进地执行瞬变再现。
在这个操作实例中,将解释再现设备4执行反向(REV)再现的情况。图18和图19是在反向(REV)再现所述再现数据ENC的情况下由解码器34_1、34_2和34_3进行的解码、再现存储器36_1至36_3的存储状态以及再现和输出的视图。如图18和图19所示,解码器34_1首先解码执行了反向再现的GOP(N+2)中的I和P画面数据以及GOP(N+3)中的I2画面数据,并将解码结果写入解码器34_1的存储体区域“0”至“5”中。其后,解码器341连续地解码GOP(N+3)中的B1和B0画面数据以及GOP(N+2)中的B13、B12、B10、B9、B7、B6、B4和B3画面数据。然后,解码器34_1连续地再现及输出GOP(N+3)中的B1和B0画面数据的解码结果以及GOP(N+2)中的P14、B13、B12、P11、B10、B9、P8、B7、B6、P5、B4、B3和I2画面数据的解码结果。此外,除了GOP(N)和GOP(N+1)是在图18和图19所示的时序处解码的之外,解码器34_2和34_3执行与解码器34_1相同的处理。
下面,将解释按照反向(REV)再现方向产生瞬变命令的再现设备4的操作实例。图20和图21是解释在恰好在以反向再现来再现及输出GOP(N+1)中的P5画面数据之后产生瞬变命令的情况下再现设备4的操作的图。解码器34_1在再现和输出GOP(N+1)中的P5画面数据的解码果之后,从再现存储器36_1中读取GOP(N+1)中的B6画面数据的解码结果,并对其进行再现及输出。为此,可以无延进地执行瞬变再现。与此相并行地,解码器34_1参考存储在存储器36_1中的I和P画面数据,对存储在输入存储器32中的GOP(N+1)中的B7画面数据进行解码,并将其写入再现存储器36_1中。此外,再现设备4在瞬变之后在如图6所示的步骤ST19中从计算机2接收GOP(N+2)作为为输入,并将其写入输入存储器32中,执行步骤ST8中的调度,然后使解码器342对其进行解码。
图22是解释在恰好在以反向再现来再现及输出GOP(N+1)中的I2画面数据之后产生瞬变命令的情况下再现设备4的操作的图。解码器341在再现和输出GOP(N+1)中的I2画面数据的解码结果之后,从再现存储器36_1中读取GOP(N+1)中的B3画面数据的解码结果,并对其进行再现及输出。为此,可以无延时地执行瞬变再现。
图23是解释在恰好在以反向再现来及输出GOP(N+1)中的B1画面数据之后产生瞬变命令的情况下再现设备4的操作的图。在解码器34_3再现和输出GOP(N+1)中的B1画面数据的解码结果之后,解码器34_1从再现存储器36_1中读取GOP(N+1)中的I2画面数据的解码结果,并对其进行再现及输出。为此,可以无延时地执行瞬变再现。
图24是解释在恰好在以反向再现来再现及输出GOP(N+1)中的B0画面数据之后产生瞬变命令的情况下再现设备4的操作的图。在解码器34_3再现和输出GOP(N+1)中的B0画面数据的解码结果之后,解码器34_3从再现存储器36_3中读取GOP(N+1)的B1画面数据的解码结果,并对其进行再现及输出。为此,可以无延时地执行瞬变再现。
图25是解释在恰好在以反向再现来再现及输出GOP(N)的P14画面数据之后产生瞬变命令的情况下现设备4的操作的图。在解码器34_3再现和输出GOP(N)的P14画面数据的解码结果之后,解码器34_3从再现存储器36_3中读取GOP(N+1)的B0画面数据的解码结果,并对其进行再现及输出。为此,可以无延时地执行瞬变再现。
图26是解释在恰好在以反向再现来再现及输出GOP(N)的B13画面数据之后产生瞬变命令的情况下再现设备4的操作的图。在解码器34_3再现和输出GOP(N)的B13画面数据的解码结果之后,解码器34_3从再现存储器36_3中读取GOP(N)的P14画面数据的解码结果,并对其进行再及输出。为此,可以无延时地执行瞬变再现。
图27是解释在恰好在以反向再现来再现及输出GOP(N)的B12画面数据之后产生瞬变命令的情况下再现设备4的操作的图。在解码器34_3再现和输出GOP(N)的B12画面数据的解码结果之后,解码器34_3从再现存储器36_3中读取GOP(N)的B13画面数据的解码结果,并对其进行再现及输出。为此,可以无延时地执行瞬变再现。
图28是解释在恰好在以反向再现来再现及输出GOP(N)的P11画面数据之后产生瞬变命令的情况下再现设备4的操作的图。在解码器34_3再现和输出GOP(N)的P11画面数据的解码结果之后,解码器34_3从再现存储器36_3中读取GOP(N)的B12画面数据的解码结果,并对其进行再现及输出。为此,可以无延时地执行瞬变再现。解码器34_3与再现和输出相并行地对从输入存储器32中读取的GOP(N)的B13画面数据进行解码,并将解码结果写入再现存储器36_3中。
下面将解释在只使用图1中所示的解码器34_1和34_2的情况下在前向再现期间产生瞬变命令时再现设备4的操作的实例。图29和图30是解释当只使用如图1所示的解码器34_1和34_2时在以前向再现对B13画面数据进行再现及输出之后产生瞬变命令的情况下再现设备4的操作的图。如图29和图30所示,在该操作实例中,在解码器342再现并输出GOP(N)的B13画面数据之后产生瞬变命令。解码器34_2从再现存储器36_2中读取GOP(N)的B12画面数据的解码结果,并对其进行再现及输出。
如上所述,根据数据处理系统1,在再现设备4中,如图3和图4所示,甚至当存储在再现存储器36_1至36_3中的解码结果在按指定的再现方向继续再现的时候不再被使用时,解码电路34_1至34_3仍使再现存储器36_1至36_3保持对解码结果的存储,并且当输入瞬变命令时,如使用图7至图30所解释的那样,解码电路34_1至34_3通过使用在输入瞬变命令之前已经存储在再现存储器36_1至36_3中的解码结果来执行解码、再现和输出。也就是说,通过利用存储在再现存储器36_1至36_3中的解码结果,而不是在一产生瞬变命令之后就将其清除,能够在一产生瞬变命令之后就执行反向之后的再现和输出,而不需要从计算机2向再现设备4重新传输画面数据(GOP)。此外,根据数据处理系统1,为了在瞬变命令之后立即执行反向后的再现及输出,不需要提供一个大的缓冲存储器用于存储再现之后的解码结果。这种系统能够以小规模的配置来实现。
在数据量大的时候,例如画面数据是HD(高清晰度)图像,并且在与普通GOP相比使用在1个GOP中具有大量画面数据的长GOP的情况下,上述效果特别显著。也就是说,当画面数据是HD图像时,由于瞬变的产生,从计算机2向再现设备4重新传输生的恶化就会很大。根据数据处理系统1,如上所述,当产生瞬变时,再现设备保持在瞬变之后待再现和输出的画面数据,因此不需要从计算机2向再现设备4重新传输画面数据。而且,在使用I、P、B等参考结构的画面数据中,在将通过瞬变接下来要进行解码所需的所有画面数据都安排好之前,要花费很长的时间。特别是在采用长GOP的时候,这种倾向变得更强烈。在该实施例中,如上所述,通过在再现设备4中保持在瞬变之后立即成为必需的多个画面数据,不需要从计算机2向再现设备传输瞬变之后的画面数据。
此外,在数据处理系统1中,再现设备4将I和P画面数据的解码结果写入再现存储器36_1至36_3的固定存储体区域中,继续保持上述解码结果,并相继对B画面数据的解码结果进行重写。为此,可在短时间内执行反向后的再现和输出,而不需大量增加再现存储器36_1至36_3的存储容量。
此外,在数据处理系统1中,再现设备4如图5中的步骤ST8所解释的那样,以GOP为单位执行解码调度,但是以画面数据为单位执行如步骤ST9至ST13所示的画面数据的解码、再现和输出。为此,在产生瞬变命令之后,可以以画面数据为单位快速地执行反向后的再现和输出。
此外,在数据处理系统1中,再现设备4将参考相同的I和P画面数据的解码结果而解码的画面数据的解码处理,指定给解码器34_1、34_2和34_3之中的相同解码器。为此,可以有效地参考解码结果。
<第二实施例>
图31是根据本发明一个实施例的数据处理系统1a的整体配置的视图。如图31所示,例如,数据处理系统1a具有计算机2和再现设备4a。在再现设备4a中的数据处理系统1a的特征在于,通过使用调度缓冲器45对要在解码器34_1至34_3中解码的画面数据执行调度处理。
如图31所示,计算机2具有HDD 12、桥接器14、存储器16、桥接器18、操作设备19和CPU 20。计算机2与第一实施例中所解释的计算机2相同。
如图31所示,例如,再现设备4a具有PCI桥接器30、输入存储器32、解码器34_1至34_3、再现存储器36_1至36_3、选择器38、控制存储器40、CPU 42a、调度缓冲器45以及控制总线46。再现设备4a的特征在于CPU 42a和调度缓冲器45。在再现设备4a中,具有与图1中相同附图标记的PCI桥接器30、输入存储器32、解码器34_1至34_3、再现存储器36_1至36_3、选择器38和控制存储器40基本上与第一实施例中所解释的那些相同。要注意的是,控制存储器40存储预定的程序(本发明中的程序),并且CPU42读取并执行该程序,以实现下述处理。该预定的程序可以存储半导体存储器或其它控制存储器40中,或者也可以存储在HDD、光盘或其它存储介质中。
图32是解释调度缓冲器45的图。如图32所示,调度缓冲器45例如具有3个调度缓冲器45_1、45_2和45_3。调度缓冲器45_1用于管理要在图31所示的解码器34_1中解码的画面数据,并且具有前向调度缓冲器71_1、反向调度缓冲器72_1和临时缓冲器73_1。调度缓冲器45_2用于管理要在图31所示的解码器34_2中解码的画面数据,并且具有前向调度缓冲器71_2、反向调度缓冲器72_2和临时缓冲器73_2。调度缓冲器45_3用于管理要在图31所示的解码器34_3中解码的画面数据,并且具有前向调度缓冲器71_3、反向调度缓冲器72_3和临时缓冲器73_3。这里,前向调度缓冲器71_1、71_2和71_3中的每一个都是本发明中的第一控制存储装置的实例,而反向调度缓冲器72_1、72_2和72_3中的每一个都是本发明中的第二控制存储装置的实例。
前向调度缓冲器71_1、71_2和71_3以及反向调度缓冲器72_1、72_2和72_3中的每一个都存储画面属性数据PP,它是与存储在输入存储器32中的并且要按解码顺序输出给解码器34_1至34_3中的每一个的画面数据有关的。前向调度缓冲器71_1、71_2和71_3例如具有一个FIFO(先进先出)结构,并且在调度的时候,画面属性数据PP的写入顺序和读取顺序上是相同的。例如,按照与写入画面属性数据PP的顺序相反的顺序从反向调度缓冲器72_1、72_2和72_3读取画面属性数据PP。例如,在图38的实例中,CPU 42a 控照从画面数据“B0”的画面属性数据PP到画面数据“P14”的画面属性数据PP的顺序,将画面属性数据PP写入前向调度缓冲器71_1、71_2和71_3以及反向调度缓冲器72_1、72_2和72_3中。然后,对于前向调度缓冲器71_1、71_2和71_3,CPU 42a在调度时,按照从画面数据“B0”的画面属性数据PP到画面数据“P14”的画面属性数据PP的顺序,读取画面属性数据PP。此外,对于反向调度缓冲器72_1、72_2和72_3,CPU42a在调度时,按照从画面数据“P14”的画面属性数据PP到画面数据“BO”的画面属性数据PP的顺序,读取画面属性数据PP。
临时缓冲器73_1至73_3是深度为2的缓冲存储器。
图33是解释画面属性数据PP的格式的视图。如图33所示,画面属性数据PP具有一个指向再现存储器36_1至36_3的下述存储体的指针数据(cur_p),其中该存储体用于写入与其相对应的画面数据的解码结果;一个指向再现存储器36_1至36_3的下述存储体的指针数据(fore_p),其中该存储体用来存储用于解码的前向预测图像(画面数据);一个指向再现存储器36_1至36_3的下述存储体的指针数据(back_p),其中该存储体用来存储用于解码的反向预测图像(画面数据);作为解码目标的GOP的数量;开始解码(再现)的时间;以及表示出现/不出现解码的有效性标记数据(“valid”)。
图34至图37是解释如图31所示的数据处理系统1a的操作实例的流程图。CPU 42a利用如图34至图37所示的例程,基于存储在图32中的调度缓冲器45_1、45_2和45_3中的画面属性数据PP的有效性标记数据“valid”,确定从输入存储器32中读取并且在解码器34_1至34_3中解码的画面数据。
图38至图49是解释再现设备4a的CPU42a通过使用调度缓冲器45_1至45_3执行调度而确定要在解码器34_1至34_3中解码的画面数据的方法的图。图38至图46是解释其中再现设备4a使用能够按照与写入顺序相反的顺序读取数据的反向调度缓冲器72_1、72_2和72_3的情况的图。另一方面,在图47至图49所示的技术中,将对只能够按照一个方向读取数据的反向调度缓冲器72_1、72_2和72_3的情况进行解释。
首先,将解释图38至图46中的技术。图38至图40是解释在再现设备4a以1X的速度进行前向再现期间产生瞬变命令的情况下调度缓冲器45_1至45_3的使用方法的图。要注意的是,在图38至图49中,在前向调度缓冲器71_1、71_2和71_3以及反向调度缓冲器72_1、72_2和72_3之中,由实线表示的缓冲器是按照再现方向来选择的缓冲器。而且,由粗体实线和粗体虚线包围的画面属性据PP的有效数性标记数据“valid”表示有效,而由细实线和细虚线包围的画面属性数据PP的有效性标记数据“valid”表示无效。
CPU 42a使解码器34_1至34_3解码与由画面属性数据PP之中的有效性标记数据“valid”表示有效的画面数据相对应的画面数据,其中该画面属性性数据PP是按前向再现以在前向调度缓冲器71_1、71_2和71_3的图中从左侧开始的顺序读取的。CPU 42a使解码器34_1至34_3解码与由画面属性数据PP之中的有效性标记数据“valid”表示有效的画面数据相应的画面数据,其中该画面属性数据PP是按反向再现以在反向调度缓冲器72_1、72_2和72_3的图中从左至右的顺序读取的。
下面,将简要解释图38至图40中的前向调度缓冲器71_1、71_2和71_3以及反向调度缓冲器72_1、72_2和72_3的方法。随后将使用图34至图37来进行详细解释。在图38至图40中,再现设备4a的CPU 42a基于存储在前向调度缓冲器71_1、71_2和71_3中的画面属性数据PP的有效性标记数据“valid”,从图38所示的初始状态以1X速度执行前向再现,并在图39所示的画面数据“+P5”的再现期间接收到瞬变命令作为输入。然后,CPU 42a切换至反向再现,并如图40所示,基于存储在反向调度缓冲器72_1、72_2和72_3中的画面属性数据PP的有效性标记数据“valid”,以1X速度执行反向再现。在图38至图40中,由于是1X速度再现,所以前向调度缓冲器71_1、71_2和71_3以及反向调度缓冲器72_1、72_2和72_3中的每一个的再现方向一侧上存储的所有画面属性数据PP的有效性标记数据“valid”都表示有效。
在图41至图43中,再现设备4a的CPU 42a基于存储在前向调度缓冲器71_1、71_2和71_3中的画面属性数据PP的有效性标记数据“valid”,从图41所示的初始状态以2X速度执行前向再现,并在图42所示的画面数据“+B6”的再现期间接收到瞬变命令作为输入。然后,CPU 42a切换到反向再现,并如图43所示,基于存储在反向调度缓冲器72_1、72_2和72_3中的画面属性数据PP的有效性标记数据“valid”,以2X速度执行反向再现。在图41至图43中,由于是2X速度再现,所以在对应于前向调度缓冲器71_1、71_2和71_3以及反向调度缓冲器72_1、72_2和72_3中的每一个的再现方向一侧上存储的画面属性数据PP的每隔一个的有效性标记数据“valid”表示有效。
在图44至图46中,再现设备4a的CPU 42a基于存储向调度缓冲器71_1、71_2和71_3中的画面属性数据PP的有效性标记数据“valid”,从图44所示的初始状态以3X速度执行前再现,并在图45所示的画面数据“+B6”的再现期间接收到瞬变命令作为输入。然后,CPU 42a切换到反向再现,并如图46所示,基于存储在反向调度缓冲器72_1、72_2和72_3中的画面属性数据PP的有效性标记数据“valid”,以3X速度执行反向再现。在图44至图46中,由于是3X速度再现,所以前向调度缓冲器71_1、71_2和71_3以及反向调度缓冲器72_1、72_2和72_3中的每一个的再现方向一侧上存储的画面属性数据PP的每隔两个的有效性标记数据“valid”表示有效。
下面,将解释图31所示的数据处理系统1a的操作实例。图34至图37是解释如图31所示的数据处理系统1a的操作实例的流程图。
步骤ST51计算机2的CPU 20判断是否已从操作设备19中输入了表示在再现数据ENC中指定再现点的操作的操作信号。当判断已经指定了时,前进到步骤ST52,而当判断还没有指定时,重复步骤ST51的处理。
步骤ST52计算机2的CPU 20从HDD 12中读取包括在步骤ST51中指定的再现点的画面数据的GOP以及周围的GOP或总共3个(多个)GOP。
步骤ST53计算机2的CPU 20通过桥接器18和PCI总线6将在步骤ST52中读取的多个GOP输出到再现设备4a。再现设备4a的CPU 42将从计算机2输入的GOP通过PCI桥接器30写入输入存储器32中。
步骤ST54计算机2的CPU20向再现设备4a的CPU42a输出一个传输完成通知。该传输完成通知示出了在步骤ST53中从计算机2向再现设备4a输出的GOP的标识数据,在输入存储器32中写入GOP的地址,以及GOP数据的大小。另外,该传输完成通知还示出了在输出GOP中的每个画面数据的标识数据,在输入存储器32中已经写入了画面数据的地址,以及画面数据的大小。CPU 42a将该传输完成通知写入到控制存储器40中。
步骤ST55
在完成步骤ST54的处理之后,再现设备4a的CPU 42a向计算机2的CPU 20输出一个准备完成通知。
步骤ST56计算机2的CPU 20判断是否已从操作设备19输入了表示指定再现点的再现开始命令操作信号。当判断已输入了时,前进到步骤ST57,而当判断还没有输入时,重复步骤ST56的处理。
步骤ST57当判断为已输入时,计算机2的CPU 20向再现设备4a的CPU 42a输出一个指定再现点的再现开始命令。
步骤ST58再现设备4a的CPU 42a重新调度画面数据的1个GOP的解码顺序,并按调度后的顺序,将画面数据的画面性数据PP写入图32所示的前向调度缓冲器71_1、71_2和71_3以及反向调度缓冲器72_1、72_2和72_3中。然后,如图38所示,所有存储在再现方向(在图38中的情况下,为前向)一侧上的调度缓冲器(在图38中的情况下,为前向调度缓冲器71_1、71_2和71_3)中的画面属性数据PP的有效性标记数据“valid”都被设为有效。
步骤ST59再现设备4a的CPU 42a将存储在与再现方向相反的方向(在图38中的情况下,为反向)一侧上的调度缓冲器(在图38中的情况下,为反向调度缓冲器72_1、72_2和72_3)中的画面属性数据PP的所有有效标记数据“valid”都设置为无效。
步骤ST60再现设备4a的CPU 42a判断所指定的再现速度是否为1X速度或是更高。如果判断为是1X速度或更高,则前进到步骤ST61,如果不是,则前进到步骤ST63。
步骤ST61再现设备4a的CPU 42a基于根据需要(当发布速度改变命令等时)指定的再现速度,将存储在再现方向(在图38、图41和图44中的情况下,为前向)一侧的调度缓冲器(在图38、图41和图44中的情况下,为前向调度缓冲器71_1、71_2和71_3)中的画面属性数据PP的有效性标记数据“valid”的一部分设置为无效。例如,当指定2X速度再现时,如图41所示,将存储在前向调度缓冲器71中的画面属性数据的每隔一个的有效性标数据“valid”设置为无效。另外,当指定3X速度再现时,如图44所示,将存储在前向调度缓冲器71中的每隔二个数据的画面属性数据的有效性标记数据“valid”设置为无效。
步骤ST62再现设备4a的CPU 42a判断存储在再现方向调度缓冲器中的画面属性数据PP当中的、具有表示有效的有效性标记数据“valid”的画面属性数据的再现(解码)开始时间,并将其设定为画面属性数据PP的再现开始时间“time(时间)”。CPU42a基于下面的等式(1)更新每个GOP的“time_base(时间基准)”。CPU42a基于该“time_base”确定再现开始时间“time”。
time_base=time_base+(存储在调度缓冲器中的具有表示有效的有效性标记数据“valid”的画面属性数据的数量)-(循环GOP结构的偏差)+(通过重新调度而增加/减少的画面数量) …(1)此外,当处理瞬变以及再现速度时,CPU 42a基于下面的等式(2)确定time_base。
time_base=(先前再现的画面数据的时间)+(在调度缓冲器中的具有表示有效的有效性标记数据“valid”的画面属性数据的数量)+1-(循环GOP结构的偏差) …(2)步骤ST63再现设备4a的CPU 42a按照需要(当有速度改变命令等时),基于所指定的再现速度,使得在存储在再现方向(在图38、图41和图44中的情况下,为前向)一侧的调度缓冲器(在图38、图41和图44中的情况下,为前向调度缓冲器71_1、71_2和71_3)中的画面属性数据PP中的、在先前再现的画面数据之后的所有画面数据的画面属性数据PP的有效性标记数据“valid”为有效。
步骤ST64再现设备4a的CPU 42a计算在以小于1X的速度(慢动作再现)进行再现时正在显示的画面数据的下一个更新时序。
步骤ST65当再现设备4a的CPU 42a判断由再现设备4a中所具有的一个未示出的计时器所表示的时序已经到达步骤ST64中所计算的更新时序时,前进到步骤ST66,而当没有到达时,前进到步骤ST76。
步骤ST66再现设备4a的CPU 42a按照先进先出方案(前向再现的情况)读取存储在再现方向上的调度缓冲器(在图38、图41和图44所示的情况下,为前向调度缓冲器71_1、71_2和71_3)中的画面属性数据PP,并且在读取的画面属性数据PP的有效性标记数据“valid”表示有效的情况下,向解码器34_1至34_3输出与其对应的画面数据的解码命令。另一方面,在反向再现的情况下,CPU 42a按照从最后的写入开始的次序读取存储在反向调度缓冲器72_1、72_2和72_3中的画面属性数据PP,并在读取的画面属性数据PP的有效性标记数据“valid”表示有效的情况下,向解码器34_1至34_3输出与其对应的画面数据的解码命令。要注意的是,由于接下来要再现及输出的I和P画面数据的解码结果在处理瞬变命令之后的几个画面数据的时间期间已经存储在再现存储器36_1至36_3中了,因此CPU42a不会输出I和P画面数据的解码命令,而只输出步骤ST69的显示命令。要注意的是,对于B画面数据,CPU 42a只在解码结果没有存储在再现存储器36_1至36_3中的情况下才输出解码命令。
步骤ST67解码器34_1和34_2以及34_3从输入存储器32中读取由在步骤ST66中输入的解码命令所指示的画面数据,对其进行解码,并将解码结果写入到再现存储器36_1至36_3中。
步骤ST68再现设备4a的CPU 42a基于指定的再现方向和调度结果,标识接下来要再现及输出的解码结果,产生示出该解码结果的显示命令、以及选择器38的用于执行期望的再现及输出的切换命令,并将其写入到控制存储器40中。
步骤ST69再现设备4a的CPU 42a向解码器34_1、34_2和34_3输出在步骤ST68中产生的显示命令,并将切换命令令输出给选择器38。
步骤ST70解码器34_1、34_2和34_3从再现存储器36_1至36_3中读取由输入的显示命令所指示的解码结果,并将它们输出到选择器38。此外,选择器38通过基于在步骤ST12中输入的切换命令进行切换,对从解码器34_1、34_2和34_3输入的解码结果进行选择,并再现和输出它们。
步骤ST71再现设备4a的CPU 42a判断画面属性数据PP在再现时是否已存储在调度缓冲器45_1至45_3中的临时缓冲器73_1至73_3中了。当判断已经存储了时,前进到步骤ST72,而当判断还没有存储时,前进到步骤ST74。
步骤ST72再现设备4a的CPU 42a取回在与再现方向相反的一侧上的调度缓冲器(在图39、图40、图42、图43、图45和图46中的情况下,为反向调度缓冲器72_1、72_2和73_3)中的、与再现时存储在调度缓冲器45_1至45_3中的临时缓冲器73_1至73_3中的画面属性数据PP相对应的存储位置。
步骤ST73再现设备4a的CPU 42a将存储在与再现方向相反的一侧的调度缓冲器(在图39、图40、图42、图43、图45和图46中的情况下,为反向调度缓冲器72_1、72_2和73_3)中的存储位置上的画面属性数据PP的有效性标记数据“valid”设置为有效。
步骤ST74再现设备4a的CPU 42a从再现方向上的调度缓冲器(在图39、图40、图42、图43、图45和图46中的情况下,为前向调度缓冲器71_1、71_2和71_3)中读取完成再现的画面数据的画面属性数据,并将其写入临时缓冲器73_1至73_3中。在图39的的情况下,将存储在前向调度缓冲器71_3中的画面数据P5的画面属性数据PP写入临时时缓冲器73_1中。
步骤ST75再现设备4a的CPU 42a将再现方向上的调度缓冲器(在图39、图40、图42、图43、图45和图46中的情况下,为前向调度缓冲器71_1、71_2和71_3)中的再现画面数据的画面属性数据PP的有效性标记数据“valid”设置为无效。在图39的情况下,将存储在前向调度缓冲器71_3中的画面数据P5的画面属性数数据PP的有效性标记数据“valid”设置为无效。
步骤ST76CPU 20和CPU 42a判断上面处理的画面数据是否是GOP中的最后的画面数据,当判断为是最后的画面数据时,就前进到步骤ST77,否则,前进到步骤ST83并且执行下一个画面数据的处理。
步骤ST77CPU 20和CPU 42a判断所处理的画面数据所属的GOP是否是再现数据EN中的最后的GOP。当判断为是最后的GOP时,就结束处理,否则就前进到步骤ST78。
步骤ST78计算机2的CPU 20按照再现方向从HDD 12中读取下一个GOP。
步骤ST79计算机2的CPU20通过桥接器18和PCI总线6将在步骤ST78中读取的GOP输出给再现设备4a。再现设备4a的CPU 42a将从计算机2输入的GOP通过PCI桥接器30写入输入存储器32中。
步骤ST80计算机2的CPU 20将GOP的传输完成通知输出给再现设备4a的CPU 42a。CPU 42a将该传输完成通知写入控制存储器40中。
步骤ST81再现设备4a的CPU 42a将一个准备完成通知输出给计算机2的CPU 20。
步骤ST82例如,再现设备4a的CPU 42a判断是否已完成了包括按再现方向的下一个再现点的画面数据的GOP调度(也就是,判断是否需要调度)。当判断调度没有完成时,前进到步骤ST58,否则前进到步骤ST83。
步骤ST83再现设备4a的CPU 42a判断是否已输入了瞬变命令。如果已经输入了,则前进到步骤ST84,否则前进到步骤ST60。
步骤ST84再现设备4a的CPU 42a基于保持在存储器40中的先前的显示信息,标识出现瞬变时的画面数据。
步骤ST85再现设备4a的CPU 42a切换再现方向。为此,CPU 42a切换用于在前向调度缓冲器71_1、71_2和71_3与反向调度缓冲器72_1、72_2和72_3之间进行调度的调度缓冲器。

如上所述,在图47至图49所示的技术中,将对把只能在一个方向上读取数据的缓冲器用作反向调度缓冲器72_1a、72_2a和72_3a的情况进行解释。在这种情况下,如图47所示,使反向调度缓冲器72_1a、72_2a和72_3a预先按照反向再现方向存储画面属性数据PP。也就是说,CPU 42a按照前向再现方向的顺序接收到画面属性数据PP作为输入,并将其按顺序写入前向调度缓冲器71_1、71_2和71_3中。另一方面,CPU 42a对按照前向再现方向的顺序输入的画面属性数据PP进行重新排列,然后按照反向再现方向的顺序将其按顺序写入反向调度缓冲器72_1a、72_2a和72_3a中。然后,按照与前向调度缓冲器71_1、71_2和71_3相同的方式,从如图47至49所示出的图中的左侧开始从反向调度缓冲器72_1a、72_2a和72_3a中读取画面属性数据PP的读取操作。
如上所述,根据数据处理系统1a,按照与第一实施例中的数据处理系统1相同的方式,在再现设备4a中,解码电路34_1至34_3甚至是在再现存储器36_1至36_3中存储的解码结果在按照指定的再现方向继续再现时不再被使用之后,仍在再现存储器36_1至36_3保持对解码结果的存储。当接收到瞬变命令作为输入时,通过使用在输入该瞬变命令之前已经存储在再现存储器36_1至36_3中的解码结果来执行解码、再现和输出。也就是说,通过利用存储在再现存储器36_1至36_3中的解码结果,而不是在一产生瞬变命令之后就将其清除,可以在一产生瞬变命令之后就立即执行反向后的再现和输出,而不需从计算机2向再现设备4a重新传输画面数据(GOP)。为此,具有短延时的平滑的瞬变操作就成为可能。
此外,在数据处理系统1a的再现设备4a中,如上所述,不管再现方向和再现速度如何,都在前向调度缓冲器71_1、71_2和71_3以及反向调度缓冲器72_1、72_2和72_3中保持存储画面属性数据PP,并且按照画面属性数据的有效性标记数据“valid”的设置来执行画面数据的解码调度。为此,当发布改变再现方向或再现速度的命令时,再现设备4a在前向调度缓冲器71_1、71_2和71_3以及反向调度缓冲器72_1、72_2和72_3之间切换所使用的调度缓冲器,并改写有效性标记数据“valid”的设置,因此就可以在短时间内处理该命令。这种效果在作为调度对象的画面数据的数量非常大时、例如采用长GOP时特别显著。
本发明不局限于上面的实施例。也就是说,本领域的技术人员可以在本发明的技术范围和它们的等同含义范围内做出各种改变,以形成实施例的组合或子组合,或替代实施例中的组成部分。在上面的实施例中,更进一步地,以MPEG画面数据作为多个画面数据进行了举例说明,但是本发明也可以应用于音频画面数据,只要它是按顺序解码的即可。
此外,在上面的实施例中,举例说明了采用多个解码器的情况,但本发明也可应用于使用单个解码器的情况。而且,在上面的实施例中,以MPEG作为编码方案进行了举例说明,但本发明能够以相同的方式应用于如H.264/AVC(高级视频编码)中那样、数据包括第一类型画面数据和第二类型画面数据作为组成部分的情况,其中该第一类型画面数据具有被其它画面数据的解码进行参考的解码结果,而第二类型画面数据具有不会被其它画面数据的解码参考的解码结果。另外,上述实施例可以在解码调度中产生GOP中的全部画面数据的调度结果、以及属性数据(标记数据),并在画面数据的解码和再现过程中依据此时所指定的再现速度来更新该属性数据,其中在所有画面数据中为每个画面数据按照再现速度设置该属性数数据为有效或无效。然后,在解码和再现画面数据的过程中,基于所更新的属性数据执行画面数据的解码、再现和输出。
在上述实施例中,对在HDD 12中存储经压缩的画面数据的情况进行了解释,但本发明不局限于此,例如,本发明也可以应用于通过输入/输出接口等在光盘、磁光盘、半导体存储器、磁盘或其它各种存储介质中进行的存储。此外,连接的模式也不局限于通过电缆等的连接。例如,通过诸如从外部的有线或无线连接之类的其它类型的连接模式进行的连接也是可以的。
此外,在上面的实施例中,对通过具有某些功能的硬件来执行一系列处理的情况进行了解释,但是本发明不局限于此。为此而使用软件也是可以的。此时,当通过软件来执行一系列处理的时候,通过将各种程序安装到计算机中来实现各种类型的功能,这里构成软件的程序被内置到专用硬件中。例如,将程序从例如存储介质中安装到通用个人计算机等中。另外,存储介质例如包括光盘、磁光盘、半导体存储器、磁盘或其它各种存储介质,这是不言而喻的。此外,例如也可以通过因特网或其它网络下载各种程序,而将它们安装到通用个人计算机等之中。
此外,在上面的实施例中,描述存储在储中的程序的步骤当然可以按所描述的顺序按时间顺序执行,但是本发明不局限制该时间顺序。并行或独立地执行也是可以的。
另外,在上面的实施例中,没有特别限制再现速度。本发明可以广泛地应用于以任意可变速度进行再现操作的再现设备的特定处理中。
另外,实施例中的块配置是块配置的实例。本发明不局限于所示的实例。
还有,通过适当地提供一组对于存储在HDD 12中的经压缩和编码的数据表示从HDD 12中读取的数据是否有效的读取标记、一组表示在解码调度时的有效性的解码标记、一组为显示解码数据表示调度时的有效性的显示标记等作为元数据,并按照再现速度和方向自动更新这一系列标记组,可以管理调度。此时,在可变速度再现处理中使用的过去的一系列调度以及标记组的更新信息,可以作为单独的调度元数据(历史信息)来管理。这可以按照需要描述为压缩和编码数据的语法或可以单独地存储在诸如HDD 12之类的存储介质中。
此外,解码器的数量、存储体的数量、解码器ID等也可以作为元数据(组成部分历史信息)来管理。另外,再现速度、再现方向等也可以作为元数据(再现历史信息)来管理。此时,如果需要的话,元数据可以描述为压缩和编码数据的语法或者可以单独地存储在诸如HDD 12之类的存储介质中。通过参考这种元数据(历史信息),可以重新使用过去所执行的调度,并进一步更快更准确地执行调度。要注意的是,还可以包含这种元数据,以便在诸如数据库的外部设备中对其进行管理。
要注意的是,在上述实施例中,本发明也可以应用于当解码器34_1至34_3没有对存储在HDD 12上的经压缩和编码的数据进行完全解码(将其解码至中间阶段)时的情况。特别地,例如,本发明也可以应用于解码器34_1至34_3只执行用于可变长度编码的解码和逆量化而不执行逆DCT的情况,以及执行逆量化但不执行用于可变长度编码的解码的情况等。在这种情况下,例如,解码器34_1至34_3可以产生历史信息并与不完全解码的数据相联系地输出该信息,其中历史信息表示例如解码器所执行的处理直到编码和解码的什么阶段(例如,逆量化的阶段)。
此外,在上述实施例中,HDD 12存储不完全编码的数据(例如,执行了DCT和量化但没有执行可变长度编码的数据),以及按照需要存储编码和解码的历史信息,但是本发明也可以应用于解码器34_1至34_3能在CPU 20的控制下对所提供的不完全编码的数据进行解码并将其转换为基带信号的情况。特别地,本发明也可以应用于例如解码器34_1至34_3对已经应用了DCT和量化但没有应用可变长度编码的数据执行逆DCT和逆量化、并且不执行用于可变长度编码的解码的情况。此外,例如,在这种情况下,CPU 20可以获取与不完全编码的数据相联系的、存储在HDD 12中的编码和解码的历史信息,并基于该信息对解码器34_1至34_3的解码进行调度。
此外,在上述实施例中,HDD 12存储不完全编码的数据,并且按照需要存储编码和解码的历史信息,但是本发明也可以应用于解码器34_1至34_3在CPU 20的控制下不对所提供的不完全编码的数据进行完全解码(只将其解码到中间阶段)的情况。而且,在这种情况下,同样,例如CPU 20可以获取与不完全编码的数据相联系的、存储在HDD 12中的编码和解码的历史数据,并基于该信息对解码器34_1至34_3的解码进行调度。而且,在这种情况下,同样,解码器34_1至34_3可以按据需要产生编码的历史信息,并与该不完全编码的数据相联系地输出该信息。换言之,本发明也可以应用于解码器34_1至34_3在CPU20的控制下执行部分解码(执行解码步骤中的一部分步骤)的情况下。CPU 20可以获取与不完全编码的数据相联系的、存储在HDD 12中的编码和解码的历史数据,并基于该信息对解码器34_1至34_3的解码进行调度。解码器34_1至34_3也可以按照需要产生编码和解码的历史信息,并与该不完全编码的数据相联系地输出该信息。
另外,HDD 12还可以存储关于与经压缩和编码的流数据相联系的编码和解码处理历史的信息,并且CPU 20可以基于关于编码处理和解码处理的历史的信息对经压缩和编码的流数据的解码进行调度。另外,即使当解码器34_1至34_3在CPU20的控制下可以对经压缩和编码的流数据进行解码并将其转换为基带信号时,也可以按照需要产生关于编码和解码的历史的信息,并允许与该基带信号相联系地输出该信息。
要注意到,在上述实施例中,再现设备4被解释为具有多个解码器,但是本发明也可以应用于单个解码器的情况。此时,该单个解码器不仅可以接收、解码以及显示或输出经压缩和编码的数据,而且还可以以与上述相同的方式,接收经压缩和编码的数据、将其部分地解码到中间阶段、并将其编码和解码的历史信息一起输出到外部,接收部分编码的数据、对其进行解码并且将其转换为基带信号以便输出到外部,或者接收部分编码的数据、将其部分地解码为中间阶段并将其与编码和解码的历史信息一起输出到外部。
此外,在上述实施例中,CPU 20和CPU 42及42a是分开配置的,但是本发明不局限于此。例如,也可以想到,由作为整体控制现设备4的单个CPU来配置CPU 20和CPU 42及42a。另外,即使在CPU 20和CPU 42及42a是独立配置的时候,CPU 20和CPU 42及42a也可以形成在单个芯片上。
此外,当CPU 20和CPU 42及42a是独立设置的时候,也可以使在上面实施例中由CPU 20所执行的处理的至少一部分由CPU 42和42a例如通过时间划分来执行,或者使由CPU 42和42a所执行的处理的至少一部分例如由CPU 20通过时间划分来执行。也就是说,CPU 20和CPU 42及42a也可以使用能够执行分散处理的处理器来实现。
此外,例如,再现设备4可以被配置为能够链接到网络,并且在上述实施例中,由CPU 20和CPU 42及42a执行的处理的至少一部分可以在通过网络连接的另一设备的CPU中执行。相似地,在上述实施例中,存储器32、40等是分开配置的,但是本发明不局限于此。可以想到,这些存储器也可以由再现设备4和4a中的单个存储器来配置。
另外,在上述实施例中,解释了HDD 12、解码器34_1至34_3和选择器38通过桥接器和总线连接并且集成为再现设备的情况,但是本发明不局限于此。例如,本发明也可以应用于这些组成部分中的一部分是从外部通过有线或无线来连接的情况,以及这些组成部分以其它各种连接模式互相连接的情况。
此外,在上面的实施例中,解释了经压缩的流数据存储在HDD中的情况,但是本发明不局限于此。例如,本发明也可以应用于对存储在光盘、磁光盘、半导体存储器、磁盘或其它存储介质上的流数据进行再现处理的情况。
此外,在上面的实施例中,CPU 42、42a、存储器32、存储器40、解码器34_1至34_3以及选择器38安装在同一扩展卡(例如,PCI卡或PCI加速(PCI-Express)卡)上,但是本发明不局限于此。例如,当在卡之间的传输速度高时,可以使用PCI加速或其它技术将这些组成部分安装在单独的扩展卡上。
此外,在说明书中,“系统”指的是多个设备的逻辑集合。它与具有不同配置的设备是否在同一个外壳中无关。
本发明可以应用于对再现数据进行再现的系统中。
本领域的技术人员可以理解,在所附权利要求或其等价含义的范围内,可以根据设计需要或其它因素进行各种修改、组合、子组合和改变。
权利要求
1.一种用于连续地解码和再现多个画面数据的再现设备,包括再现存储器,和解码器,该解码器用于以按照指定的再现方向的顺序连续地解码所述多个画面数据,将解码结果写入所述再现存储器中,并时从所述再现存储器中读取的所述解码结果进行再现和输出,所述解码器甚至在存储在所述再现存储器中的所述解码结果在按照所述指定的再现方向继续再现时不再被使用之后,仍在所述再现存储器中保持对所述解码结果的存储,并且,当接收到所述再现方向的反向命令作为输入时,使用在输入所述反向命令之前已经存储在所述再现存储器中的所述解码结果来执行所述再现及输出。
2.如权利要求1的再现设备,其中所述解码器以所述画面数据为单位对再现数据进行解码,该再现数据包括第一类型画面数据和第二类型画面数据,其中,在第一类型画面数据中,解码结果要在其它画面数据的解码过程中被参考,而在第二类型画面数据中,解码结果不会在其它画面数据的解码过程中被参考,在所述再现存储器中保持对所述第一类型的所述画面数据的所述解码结果的存储,并且当输入所述反向命令时,在参考在输入所述反向命令之前已经存储在所述再现存储器中的所述第一类型画面数据的解码结果的同时,对所述第二类型画面数据进行解码、再现及输出。
3.如权利要求2的再现设备,其中所述解码器在参考所述第一类型画面数据的解码结果而解码的第二类型画面数据之前,对形成所述再现数据的所述多个画面数据中的所述第一类型画面数据进行解码。
4.如权利要求2的再现设备,所述设备具作为为所述第一类型画面数据的I画面数据和P画面数据,其中I画面数据不需要参考其它画面数据的解码结果来解码,而P画面数据是参考其它画面数据的解码结果来解码的,所述第二类型画面数据是B画面数据,它是参考其它画面数据的解码结果来解码的,并且所述解码器同时在所述再现存储器的第一存储区域中存储并保持所述P画面数据的解码结果以及第一I画面数据的解码结果,其中所述P画面数据位于具有存储在所述存储器中的解码结果的第一I画面数据与在所述多个I画面数据中相对于所述第一I画面数据而言按照所述再现方向上位于下一个的第二I画面数据之间。
5.如权利要求4的再现设备,其中,所述再现存储器具有与所述第一存储区域分离的第二存储区域,用于存储所述B画面数据,以及所述解码器将所述再现及输出的B画面数据的解码结果按顺序覆盖在其它B画面数据的解码结果上,直到完成对位于所述第一I画面数据和所述第二I画面数据之间的所有B画面数据的解码为止。
6.如权利要求2的再现设备,还包括多个所述解码器,用于并行地处理所述再现数据,对应于所述多个解码器提供的多个所述再现存储器,以及处理电路,用于使所述解码器解码所述画面数据,以便使参考同一第一类型画面数据的解码结果的所述第二类型画面数据可以由同一解码器进行解码,并且使包括在所述画面数据组中的所述第一类型画面数据可以由同一解码器进行解码。
7.如权利要求8的再现设备,其中所述处理电路使所述多个解码器对多个画面数据组进行解码,其中每一个画面数据组都包括由不同解码电路连续再现并输出的多个画面数据。
8.如权利要求7的再现设备,其中所述解码器将第一画面数据组中的所述第一类型画面数据的解码结果覆盖在恰好在存储在所述再现存储器中的所述第一画面数据组之前由所述解码器解码的第二画面数据组的所述第一类型画面数据的解码结果上。
9.如权利要求1的再现设备,所述设备为每个所述画面数据定义了表示是否解码所述画面数据的画面属性数据,并且包括一个控制存储装置,用于存储所述多个画面数据的所述画面属性数据,以及所述解码器基于从所述控制存储装置读取的所述画面属性数据,确定是否对与所述画面属性数据相对应的所述画面数据进行解码。
10.如权利要求9的再现设备,其中所述解码器按照指定的再现速度,更新存储在所述控制存储装置中的所述画面属性数据。
11.如权利要求9的再现设备,还包括第一控制存储装置,用于允许按照沿前向解码所述多个画面数据的顺序读出所述画面数据的所述画面属性数据,以及第二控制存储装置,用于允许按照沿反向解码所述多个画面数据的顺序读出所述画面数据的所述画面属性数据,并且所述解码器当沿前向解码所述画面数据时,确定是否基于从所述第一控制存储装置中读取的所述画面属性数据对与所述画面属性数据相对应的所述画面数据进行解码,以及当沿反向解码所述画面数据时,确定是否基于从所述第二控制存储装置中读取的所述画面属性数据对与所述画面属性数据相对应的所述画面数据进行解码。
12.如权利要求11的再现设备,其中所述解码器在沿前向解码所述画面数据时,将完成解码的所述画面数据的、存储在所述第一控制存储装置中的所述画面属性数据设置为“不解码”,并且将完成解码的所述画面数据的、存储在所述第二控制存储装置中的所述画面属性数据设置为“解码”,以及在沿反向解码所述画面数据时,将完成解码的所述画面数据的、存储在所述第二控制存储装置中的所述画面属性数据设置为“不解码”,并且将完成解码的所述画面数据的、存储在所述第一控制存储装置中的所述画面属性数据设置为“解码”。
13.如权利要求12的再现设备,其中所述解码器在沿前向解码所述画面数据时,完成所述解码,然后将完成解码的所述画面数据的、存储在所述第二控制存储装置中的所述画面属性数据设置为“解码”,并且在沿反向解码所述画面数据时,完成所述解码,然后将完成解码的所述画面数据的、存储在所述第一控制存储装置中的所述画面属性数据设置为“解码”。
14.一种数据处理系统,包括数据处理设备和再现设备,所述数据处理设备用于将形成再现数据的多个画面数据输出到再现设备,以及所述再现设备用于对从所述数据处理设备输入的多个画面数据进行连续再现,所述再现设备包括再现存储器,和解码器,用于以按照指定的再现方向的顺序按顺序地连续解码所述多个画面数据,将解码结果写入所述再现存储器中,并对从所述再现存储器中读取的所述解码结果进行再现和输出,以及所述解码器甚至在存储在所述再现存储器中的解码结果在按所述指定的再现方向继续再现时不再被使用之后,仍在所述再现存储器中保持对所述解码结果的存储,并且,当接收到所述再现方向的反向命令作为输入时,使用在输入所述反向命令之前已经存储在所述再现存储器中的所述解码结果来执行所述再现及输出。
15.一种连续解码多个画面数据的再现方法,包括第一步骤,以按照指定的再现方向的顺序连续地解码所述多个画面数据,并将解码结果写入再现存储器中;第二步骤,对在第一步骤中写入到所述再现存储器中的所述解码结果进行读取、再现及输出,所述第一步骤甚至在存储在所述再现存储器中的所述解码结果在按所述指定的再现方向继续再现时不再被使用之后,仍使所述再现存储器保持对所述解码结果的存储,并且所述第二步骤当接收到所述再现方向的反向命令作为输入时,使用在输入所述反向命令之前已经存储在所述再现存储器中的所述解码结果来执行再现和输出。
16.如权利要求15的再现方法,其中所述第一步骤基于每个画面数据的表示是否解码所述画面数据、并存储在所述控制存储装置中的画面属性数据,确定是否解码所述画面数据。
17.一种由连续解码多个画面数据的再现设备所执行的程序,包括第一例程,以按照指定的再现方向的顺序连续地解码所述多个画面数据,并将解码结果写入再现存储器中;以及第二例程,对在所述第一例程中写入所述再现存储器中的所述解码结果进行读取、再现及输出,所述第一例程甚至在存储在所述再现存储器中的所述解码结果在按所述指定的再现方向继续再现时不再被使用之后,仍使所述再现存储器保持对所述解码结果的存储,并且所述第二例程在接收到所述再现方向的反向命令作为输入时,使用在输入所述反向命令之前已经存储在所述再现存储器中的所述解码结果来执行再现和输出。
18.一种存储介质,用于存储由连续解码多个画面数据的再现设备所执行的程序,所述程序包括第一例程,以按照指定的再现方向的顺序连续地解码所述多个画面数据,并将解码结果写入再现存储器中;以及第二例程,对在所述第一例程中写入所述再现存储器中的所述解码结果进行读取、再现及输出,所述第一例程甚至在存储在所述再现存储器中的所述解码结果在按所述指定的再现方向继续再现时不再被使用之后,仍使所述再现存储器保持对所述解码结果的存储,并且所述第二例程当接收到所述再现方向的反向命令作为输入时,使用在输入所述反向命令之前已经存储在所述再现存储器中的所述解码结果来执行再现和输出。
19.一种数据处理设备,包括数据处理装置和再现设备,所述数据处理装置用于将形成再现数据的多个画面数据输出给所述再现装置,而所述再现装置用于对从所述数据处理装置输入的所述多个画面数据进行连续解码及再现,所述再现装置包括再现存储器,和解码器,用于以按照指定的再现方向的顺序按顺序连续解码所述多个画面数据,将解码结果写入所述再现存储器中,并对从所述再现存储器中读取的所述解码结果进行再现和输出,以及所述解码器甚至在存储在所述再现存储器中的所述解码结果在按所述指定的再现方向继续再现时不再被使用之后,仍在再现存储器中保持对所述解码结果的存储,并且当接收到所述再现方向的反向命令作为输入时,使用在输入所述反向命令之前已经存储在所述再现存储器中的所述解码结果来执行所述再现及输出。
全文摘要
一种用于连续解码并再现多个画面数据的再现设备,包括再现存储器和解码器,该解码器用于以按照指定的再现方向的顺序连续地解码多个画面数据,将解码结果写入该再现存储器中,并对从该再现存储器中读取的解码结果进行再现和输出,该解码器甚至当存储在再现存储器中的解码结果在按所指定的再现方向继续再现时不再使用之后,仍在再现存储器中保持对解码结果的存储,并且当接收到再现方向的反向命令作为输入时,使用在输入反向命令之前已经存储在再现存储器中的解码结果来执行再现和输出。
文档编号H04N5/93GK1819642SQ200510121709
公开日2006年8月16日 申请日期2005年10月26日 优先权日2004年10月26日
发明者纲岛修二, 柴田正二郎, 高村元嗣, 小薮恭平, 柿田新次郎 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1