信息处理设备和方法

文档序号:6758892阅读:103来源:国知局
专利名称:信息处理设备和方法
技术领域
本发明涉及信息处理装置和方法、记录媒体、和程序。更确切地说,本发明涉及其中可以重放压縮编码的视频数据而无需执行复杂的组存储器控制的信息处理装置和方法、记录媒体、和程序。
背景技术
作为视频压縮技术,广泛地使用运动图像编码组/运动图像专家组(MPEG)标准。通过解码用MPEG方法编码的流数据来执行的重放操作不仅包括正常重放操作,而且包括快速重放操作或者反向重放操作。 例如,在MPEG长图像组(GOP)中,每个GOP包括15幅图像,通过在将其输入到解码器中之前双向地省略预测编码的(B)图像,可以以X-3至lj X3(符号"-"在速度中表示以反向执行重放操作,并且在以下描述中也如此应用)来执行快速重放操作(例如,参见日本未审专利申请公开No. 8-98142)。此外,为各个重放速度提供表示要显示的图像信息的表,以便能够以如该表所示的同一序号的不同的速度执行重放操作。 在日本未审专利申请公开No. 8-56334中公开了另一种重放技术。在该技术中,以5帧的间隔间歇地获得10帧压縮编码信号。在解调所有10帧压縮编码信号之后,将其交替地供给两个解码器,每个解码器五帧,并将其解码然后写入存储器。存储器读取每隔一个的帧以便能够输出X2重放信号。 MPEG流最适合于正向的重放操作。例如,在MPEG长GOP中,15幅图像的编码顺序,即,形成一个GOP的内编码的(I)图像,预测编码的(P)图像,和B图像,是I(2)、B(0)、B(l) 、P(5) 、B(3) 、B(4) 、P(8) 、B(6) 、B(7) 、P(11) 、B(9) 、B(10) 、P(14) 、B(12)禾口 B(13)(括号内的数字表示当GOP图像根据编码顺序在显示顺序中重新排列时的顺序)。P图像根据一个在前的I图像或P图像进行预测,而B图像根据一个在前的I图像或P图像以及以编码顺序的两个在前的I图像或P图像进行预测。因此,通过保留两组参考图像存储器,能够对P图像和B图像两个进行解码,从而提高存储器的使用效率。 为了以反向重放最适合正向重放操作的MPEG流,在日本未审专利申请公开No. 10-150635中提出了以下技术。多个解码器用于执行解码处理,以及在将要解码的GOP之前直接增加了 G0P,并且将两个GOP提供给解码器。这使得即使在反向重放操作中也能够正确使用将重放的图像的参考图像。
在日本未审专利申请公开No. 8-98142公开的技术中,尽管可以通过在将其输入到解码器之前省略B图像来实现以X-3至X3快速重放操作,但是图像的显示间隔变得不规律,从而使得显示图像不自然。 其中使用多个用于执行解码处理的解码器芯片的技术能够与省略在输入阶段不将显示的B图像的处理相合并。通过这种合并,能够实现规律间隔的快速重放操作(例如,利用两个解码器芯片实现X2,利用三个解码器芯片实现X4,利用四个解码器芯片实现X5,以及利用五个解码器芯片实现X7)。然而在这种情况下,在输出处理的期间需要I图像或P图像的省略,这增加了基带存储器的控制操作或者用于从已解码数据选择要显示的数据的处理的复杂性。因此,通过使用公知技术来动态改变重放速度以执行显示操作是困难的。 如上所述,通过提供表示各个重放速度的将要显示的图像信息的表格,就能够实现如同表格上一样的同一序号的不同速度的重放操作。然而在这种处理中,在表格单元中切换重放速度,并且当切换速度时需要复杂的控制来平稳地显示图像。
如上所述,MPEG流最适于正向重放操作。在以MPEG流的输入顺序的反向重放操作中,当解码一个GOP之后执行反向重放操作时,需要存储至少一个GOP(例如,15帧)的帧存储器,并且应当预留许多参考图像数据组,从而需要大的存储器容量。 鉴于这种背景技术,需要通过解码经压縮编码的视频数据完成快速重放操作、反向重放操作、和反向快速重放操作,而无需执行复杂的组存储器控制。 根据本发明实施例,提供一种信息处理装置,包括至少一个解码装置,用于解码经压縮编码的视频数据;供给控制装置,用于控制将经压縮编码的视频数据供给解码装置;以及控制装置,用于控制由供给控制装置和解码装置执行的处理。控制装置确定由解码装置执行的解码处理的顺序,以便在包含于用于由解码装置执行的解码处理的解码处理单元的图像之中,在B图像之前解码I图像和P图像。根据重放速度指令装置提供的重放速度指令,控制装置从包含在解码处理单元的图像之中选择将从解码装置输出的图像。
解码装置可以包括解码处理执行装置,用于执行解码处理;以及图像供给控制装置,用于控制将图像供给解码处理执行装置。图像供给控制装置可以在控制装置的控制下,在包含在解码处理单元的图像之中,将要选择其作为从解码装置输出图像的I图像和P图像、以及B图像供给至解码处理执行装置。解码处理执行装置可以解码从图像供给控制装置供给的图像,也可以在控制装置的控制下输出作为要从解码装置输出的图像而选择的图像。 可以提供多个解码装置。信息处理装置还可以包括输出切换装置,用于接收从多个解码装置输出的未压縮数据,并用于选择性地输出所接收的未压縮数据。控制装置还可以控制由输出切换装置执行的处理。 解码装置可以包括用于存储已解码图像的组存储器,该组存储器具有少于包含在解码处理单元中的图像数目的组。解码装置可以通过使用存储在组存储器中经解码的图像作为参考图像,根据需要执行解码处理。 组存储器能够存储的图像数目比包含在解码处理单元中的I图像和P图像的数目
发明内容大2。 解码装置的数目可以为三,并且各个解码装置可以包括能够存储8幅图像的组存储器。 控制装置可以控制解码装置以便在对于组存储器的I图像和P图像的固定位置存储I图像和P图像。
当解码处理单元的首部的图像是从解码装置输出的解码图像之中的I图像或P图像时,控制装置控制解码装置以便解码装置开始解码的解码开始定时和解码装置开始输出解码图像的显示示出定时彼此相偏移第一预先确定数目的图像。
第一预先确定数目可以比I图像和P图像的总数大1。
当在解码处理单元首部的图像是从解码装置输出的解码图像之中的B图像时,控制装置可以控制解码装置以便解码装置开始解码的解码开始定时和解码装置开始输出解码图像的显示输出定时彼此相偏移第二预先确定数目的图像。
第二预先确定的数目可以比I图像和P图像的总数大2。 当重放速度指令装置指示的重放速度和重放方向分别是正常和正向时,控制装置
控制解码装置以便解码装置开始解码的解码开始定时和解码装置开始输出解码图像的显
示输出定时彼此相偏移第一预先确定数目的图像。 第一预先确定的数目可以比I图像和P图像的总数大1。 当重放速度指令装置指示的重放速度和重放方向分别是正常和反向时,控制装置
控制解码装置以便解码装置开始解码的解码开始定时和解码装置开始输出解码图像的显
示输出定时彼此相偏移第二预先确定数目的图像。 第二预先确定数目可以比I图像和P图像的总数要大2。 控制装置可以确定解码装置执行解码处理的定时以便解码装置解码B图像的定时比比输出经解码的B图像的定时要早一幅图像。 经压縮编码的视频数据包括GOP。当接收包括I图像或P图像的GOP时,所述图像组的数目大于从组存储器的组数目减去3所获得的值,控制装置将图像组分成解码处理单元,每个解码处理单元包括具有比通过从组存储器的组数目减去2所获得的值的数目更少的I图像或P图像,并控制供给控制装置以将解码处理单元的经压縮编码的视频数据供给解码装置。 控制装置可以形成解码处理单元以便包含在划分解码处理单元中的I图像或P图像的总数不会变得比包含在图像的时间上在先的组或者时间上在先的解码处理单元中的I图像或P图像的总数大预先确定的数目或者更多。 经压縮编码的视频数据可以包括GOP。当接收包括I图像或P图像的第一G0P时,所述图像的数目小于从组存储器的组数目减去3所获得的值,控制装置检测时间上连续于第一 G0P的第二 G0P的结构,并且,如果包含在第一 G0P和第二 G0P中的I图像或P图像的总数小于通过从组存储器的组数目减去2获得的值,那么控制装置合并第一 G0P和第二 G0P以形成解码处理单元,并控制供给控制装置以便将解码处理单元的压縮编码的视频数据供给解码装置。 控制装置可以形成解码处理单元,以便包含在合并解码处理单元中的I图像或P图像的总数不会变得比包含在图像的时间上在先的组中的I图像或P图像的总数大预先确定的数目或更多。 经压縮编码的视频数据可以包括G0P。控制装置可以检测第一 GOP的结构和时间上连续于第一 GOP的第二 GOP的结构,并且如果包含在第一 GOP和第二 GOP中的I图像或P图像的总数小于通过从组存储器的组数目中减去3获得的值的二倍,那么控制装置合并第一 GOP和第二 GOP,然后划分所合并的GOP以形成第一解码处理单元和第二解码处理单元,每个解码处理单元包括小于从组存储器的组数减去2所获得的值的I图像或P图像,并且控制装置控制供给控制装置以分别地将第一解码处理单元的经压縮编码视频数据和第二解码处理单元的经压縮编码视频数据供给解码装置。 控制装置可以形成第一解码处理单元和第二解码处理单元,以便在第一解码处理单元和第二解码处理单元中的I图像或P图像的总数不变得比时间上在先的解码处理单元或者时间上在先的图像组的I图像或P图像的总数大预先确定的数目或更多。
根据本发明另一个实施例,提供一种信息处理方法、记录在记录媒体上的程序和程序,包括以下步骤获得重放速度指令;确定包含在用于执行解码处理的解码处理单元中的图像的解码处理顺序,以便在B图像之前解码I图像和P图像;根据所获得的重放速度指令,从包含在解码处理单元的图像中选择要输出的图像;控制将从包含在解码处理单元中的图像中选择的I图像和P图像、以及选择作为要输出图像的B图像供给解码器;解码供给解码器的图像;以及控制图像的输出,所述图像从解码图像中选择作为要输出的图像。
根据上述信息处理装置、信息处理方法、记录在记录媒体上的程序、一种程序,获得重放速度指令,确定图像的解码处理的顺序,其中所述图像包含在用于执行解码处理的解码处理单元中,以便在B图像之前解码I图像和P图像,根据所获得的重放速度指令,从包含在解码处理单元中的图像之中选择要输出的图像,根据获得的重放速度指令,从包含在解码处理单元中的图像之中选择要输出的图像,以及解码供给解码器的图像,以及输出从要解码的图像之中选择作为要输出图像的图像。 根据本发明另一个实施例,提供一种信息处理装置,包括存储装置,用于存储经压縮编码的视频数据;读出装置,用于读出经压縮编码的视频数据;解码装置,用于解码经压縮编码的是视频数据;供给控制装置,用于控制从读出装置读出的经压縮编码的视频数据的供给至解码装置;控制装置,用于控制游供给控制装置和解码装置执行的处理;以及重放速度指令装置,用于将重放速度指令供给控制装置。控制装置确定包含在解码处理单元中的图像的解码处理的顺序以便由解码装置执行解码处理,从而在B图像之前解码I图像和P图像。控制装置根据由重放速度指令装置提供的重放速度指令,从包含在解码处理单元的图像中选择要从解码装置输出的图像。控制装置控制供给控制装置来控制作为要从解码装置输出的图像而在包含在解码处理单元中包含的图像中选择的I图像和P图像,以及B图像的供给至解码装置。控制装置控制解码装置以在供给控制装置的控制下解码供给解码装置的图像,并控制作为要从解码装置输出的图像而选择的图像的输出。
根据本发明另一个实施例,提供一种信息处理方法,记录在记录媒体上的程序,和程序,包括以下步骤读出存储在存储单元中的经压縮编码的视频数据;供给重放速度指令;获得所供给的重放速度指令;确定包含在用于执行解码处理的解码处理单元中的图像解码处理的顺序,以便在B图像之前解码I图像和P图像;根据所获得的重放速度指令,从包含在解码处理单元的图像中选择要输出的图像;控制作为要输出的图像而从包含在读取经压縮编码的视频数据的解码处理单元中的图像所选择的I图像和P图像和B图像的供给至解码器;解码供给解码器的图像;以及控制从解码的图像中选择作为要输出图像的图像的输出。 根据以上信息处理装置,信息处理方法,和记录在记录媒体上的程序,以及程序,读出所存储的经压縮编码的视频数据,提供并获得重放速度指令,确定包含在用于执行解码处理的解码处理单元中的图像的解码处理的顺序,以便在B图像之前解码I图像和P图像,根据所获得的重放速度指令,从包含在解码处理单元的图像中选择要输出的图像,控制I图像和P图像,以及作为要输出图像而从包含在读取经压縮编码的视频数据的解码处理单元中选择的B图像的供给至解码器,解码供给解码器的图像,以及输出从解码的图像中选择作为要输出图像的图像的输出。 根据本发明另一个实施例,提供一种信息处理装置,包括解码装置,用于解码经压縮编码的视频数据;供给控制装置,用于控制经压縮编码的视频数据的供给至解码装置;以及控制装置,用于控制由供给控制装置和解码装置执行的处理。控制装置确定包含在用于执行解码装置执行的解码处理的解码处理单元中的图像的解码处理的顺序,以便在B图像之前解码I图像和P图像。控制装置根据重放速度指令装置提供的重放速度指令,在包含在解码处理单元的图像中选择要从解码装置输出的图像。控制装置控制供给控制装置,以控制在包含在解码处理单元中的图像中、1图像和P图像,和作为从解码装置输出的图像而选择的B图像的供给至解码装置。控制装置在供给控制装置的控制下,控制解码装置解码供给解码装置的图像,并控制作为要从解码装置输出而选择的图像的图像输出。
信息处理装置还包含组存储器,用于存储解码装置解码的图像,组存储器具有比包含在解码处理单元中的图像数目更少的组数。解码装置可以通过使用存储在组存储器中的解码图像根据需要作为参考图像来执行解码处理。 组存储器能够存储比包含在解码处理单元中的I图像和P图像的数目大2的图像数。 组存储器能够存储8幅图像。 I图像和P图像可存储在组存储器I图像和P图像的固定位置。
当解码处理单元的首部图像是从解码装置输出的解码图像中的I图像或P图像
时,控制装置控制解码装置以便解码装置开始解码的解码开始定时和解码装置开始示出解
码的图像的显示输出定时彼此偏移第一预先确定数目的图像。 第一预先确定数目可比I图像和P图像的总数大1。
当解码处理单元的首部图像是从解码装置输出的解码图像之间的B图像时,控制装置控制解码装置以便解码装置开始解码的解码开始定时和解码装置开始输出解码的图像的显示示出定时彼此偏移第二预先确定数目的图像。
第二预先确定数目可比I图像和P图像的总数大2。 当重放速度指示装置指示的重放速度和重放方向分别是正常和正向时,控制装置
控制解码装置以便解码装置开始解码的解码开始定时和解码装置开始输出经解码图像的
显示输出定时彼此偏移第一预先确定数目的图像。 第一预先确定的数目可比I图像和P图像的总数大1。 当重放速度指示装置指示的重放速度和重放方向分别是正常和反向时,控制装置控制解码装置以便解码装置开始解码的解码开始定时和解码装置开始输出解码的图像的
显示示出定时彼此偏移第二预先确定数目的图像。 第二预先确定的数目可比I图像和P图像的总数大2。 控制装置可确定解码装置执行解码处理的定时,以便解码装置解码B图像的定时比输出解码的B图像的定时要早一个图像。 经压縮编码的视频数据可以包括GOP。当接收包括I图像和P图像、具有比通过从组存储器的组数目减去3获得的值更大数目的图像组时,控制装置将图像组划分成解码处理单元,每个解码处理单元包括具有通过从组存储器的组数减去2所获得值更少的I图像和P图像,并控制供给控制装置以将解码处理单元的经压縮的编码视频数据供给解码装置。 控制装置可以形成解码处理单元以便包含在划分的解码处理单元中的I图像或P图像的总数不会变得比包含在时间上在先的图像组或者时间上在先的解码处理单元中的I图像或P图像的总数大预先确定的数目或者更多。 经压縮的编码视频数据可以包括GOP。当接收包括I图像和P图像、具有比通过从组存储器的组数目减去3获得的值更小数目的图像组时,控制装置检测时间上连续于第一图像组的第二图像组的结构,并且如果包含在第一图像组和第二图像组中的I图像或P图像的总数小于通过从组存储器的组数目中减去3所获得的值,那么控制装置合并第一图像组和第二图像组以形成解码处理单元,并控制供给控制装置以将解码处理单元的经压縮编码的视频数据供给解码装置。 控制装置可以形成解码处理单元以便包含在合并的解码处理单元中的I图像和P图像的总数不会变得比包含在时间上在先的GOP中的I图像和P图像的总数要大预先确定的数或者更多。 经压縮的编码视频数据可以包括G0P。控制装置可以检测第一 GOP的结构和时间上连续于第一图像组的第二GOP的结构,并且如果包含在第一GOP和第二GOP中的I图像或P图像的总数小于通过从组存储器的组数目中减去3所获得的值的二倍,那么控制装置合并第一GOP和第二GOP,并且然后划分所合并的GOP以形成第一解码处理单元和第二解码处理单元,每个解码处理单元包括少于通过从组存储器的组数减去2所获得的值的I图像和P图像,并且所述控制装置控制供给控制装置以分别地将第一解码处理单元的经压縮编码的视频数据和第二解码处理单元的经压縮编码的视频数据供给解码装置。
控制装置可以形成第一解码处理单元和第二解码处理单元,以便第一解码处理单元和第二解码处理单元中包括的I图像或P图像的总数不会变得比时间上在先的解码处理单元或者时间上在先的图像组的I图像或P图像的总数大预先确定数目或者更多。
根据上述信息处理装置,确定包含在用于执行解码器执行的解码处理的解码处理单元中的图像的解码处理的顺序,以便在B图像之前解码I图像和P图像,根据所获得的重放速度,在包含在解码处理单元中的图像之中选择要从解码器输出的图像,将在包含在解码处理单元的图像之中、1图像和P图像,以及作为要从解码输出的图像而选择的B图像供给至解码器,解码供给解码装置的图像,并且输出作为要从解码装置输出的图像而选择的图像。 如上所述,根据本发明实施例,可以对经压縮编码的数据执行快速重放操作、反向
9重放操作、或快速反向重放操作。具体来讲,对I图像和P图像,以及作为要输出的图像而选择的B图像进行解码,并且仅仅输出从已解码的图像之中选择的作为要输出的图像。因此能够对经压縮编码的视频数据执行快速重放操作、反向重放操作、或快速反向重放操作,而无需执行复杂的组存储器控制操作。


图1是框图,根据本发明实施方式举例说明重放装置的结构; 图2是框图,举例说明图1所示解码器的详细结构; 图3是流程图,举例说明控制处理; 图4是流程图,举例说明在各个帧上执行的帧处理1 ; 图5是流程图,举例说明输入流状态改变处理; 图6是流程图,举例说明解码计划处理1 ; 图7举例说明MPEG长GOP ; 图8A和8B举例说明解码处理单元,由一个解码器执行解码处理; 图9A和9B举例说明存储在输入图像队列中的信息; 图10A和10B举例说明存储在显示顺序信息队列中的信息; 图11A和11B举例说明存储在I/P图像解码队列中的信息; 图12A和12B举例说明存储在显示顺序设置队列中的信息; 图13和14举例说明解码定时和显示定时; 图15是举例说明输入处理的流程图; 图16是举例说明显示阶段确定处理的流程图; 图17是举例说明时间信息计划确定处理的流程图; 图18是举例说明帧控制处理1的流程图; 图19是举例说明I图像/P图像解码处理的流程图; 图20是举例说明B图像解码处理的流程图; 图21和22举例说明解码和显示计划; 图23是举例说明省略处理1的流程图; 图24是举例说明时间信息重置处理的流程图; 图25举例说明在X 2重放操作中,在执行图像的省略之前和之后的解码和显示计划; 图26举例说明在X-2重放操作中,在执行图像的省略之前和之后的解码和显示计划; 图27举例说明在X 4重放操作中,在执行图像的省略之前和之后的解码和显示计划; 图28举例说明在X-4重放操作中,在执行图像的省略之前和之后的解码和显示计划; 图29举例说明在X 5重放操作中,在执行图像的省略之前和之后的解码和显示计划; 图30举例说明在X-5重放操作中,在执行图像的省略之前和之后的解码和显示
10计划; 图31举例说明在X 1重放操作中的组控制;
图32举例说明在X 2重放操作中的组控制;
图33举例说明在X -1重放操作中的组控制;
图34举例说明在X -2重放操作中的组控制;
图35是举例说明下溢处理的流程图;
图36举例说明当下溢不发生时的时间计数器;
图37举例说明当下溢发生时的时间计数器的调整;
图38是举例说明一帧延迟处理的流程图;
图39是举例说明帧处理2的流程图;
图40是举例说明解码计划2的流程图;
图41是举例说明省略处理2的流程图;
图42是举例说明帧控制处理2的流程图;
图43是举例说明省略处理3的流程图; 图44和45举例说明对具有大量锚(anchor)帧的GOP进行解码;
图46和47举例说明对具有小量锚帧的GOP进行解码;
图48至50B举例说明通过划分GOP形成的解码单元;
图51至53B举例说明通过合并GOP形成的解码单元;
图54至59B举例说明通过合并和划分GOP形成的解码单元;
图60是举例说明GOP划分/合并处理的流程图; 图61和62举例说明由解码单元进行解码处理,所述解码单元由划分GOP形成;
图63和64举例说明由解码单元进行解码处理,所述解码单元由合并和划分GOP 形成; 图65是举例说明个人计算机的结构的框图。
具体实施例方式
在描述本发明实施方式之前,以下讨论权利要求中的特征与在本发明实施方式中 公开的特定元素之间的对应关系。该描述意图确保在该说明书中描述了支持所要求保护的 发明的实施方式。因此,即使以下实施方式中的元素不是涉及本发明某个特征来描述的,这 也不是必须意味着该元素不涉及权利要求的那个特征。相反,即使在此涉及权利要求的某 个特征描述了元素,那也不必意味着该元素不涉及权利要求的其它特征。 根据本发明实施方式的信息处理装置(例如,图1所示重放装置1)包括至少一 个解码装置(例如,图l所示解码器22,23或24),用于解码压縮编码的视频数据;供给控 制装置(例如,图1所示PCI桥17),用于控制将压縮编码视频数据的供给至解码装置;以 及控制装置(例如,图1所示CPU20),用于控制供给控制装置和解码装置执行的处理。控制 装置确定解码装置执行的解码处理的顺序以便在包含在解码处理单元的图像中(例如,在 正向重放操作中,包括第一GOP中的除了前两个B图像的13幅图像和以编码顺序紧随着第 一 GOP的第二 GOP的前三个I图像、B图像和B图像的总共16幅图像,而在反向重放操作 中,包括第二GOP中除前两个B图像之外的13幅图像和第二GOP之前的第三GOP的前三个I图像、B图像、和B图像的总共16幅图像)以便由解码装置执行解码处理,在B图像之前 解码I图像和P图像。根据重放速度指令装置提供的重放速度指令,控制装置从包含在解 码处理单元包含的图像中选择要从解码装置输出的图像。 解码装置可以包括解码处理执行装置(例如,图2所示解码处理器77),用于执 行解码处理,和图像供给控制装置(图2所示基本流地址确定单元73),用于控制图像的供 给至解码处理执行装置。图像供给控制装置可以在控制装置的控制下,在包含在解码处理 单元中的图像之间的、作为要从解码装置输出的图像而选择的I图像和P图像和B图像。解 码处理执行装置可以解码从图像提供控制装置供给的图像,并且可以在控制装置的控制下 输出作为要从解码装置输出的图像选择的图像。 可以提供多个解码装置。信息处理装置还可以包括输出切换装置(例如,图1所 示选择器25),用于接收从多个解码装置输出的未压縮数据,并用于选择性地输出所接收的 未压縮数据。控制装置还可以控制由输出切换装置执行的处理。 解码装置可以包括组存储器(例如,图2所示视频组存储器82),用于存储解码图 像,组存储器具有若干少于包含在解码处理单元中的图像数目的组。根据需要,通过使用存 储在组存储器中的解码图像作为参考图像,解码装置可以执行解码处理。
根据本发明另一个实施方式的一种信息处理方法,记录在记录媒体上的程序,和 程序包括以下步骤获得重放速度指令(例如,图15所示步骤S101);确定包含在解码处 理单元中的图像的解码处理的顺序(例如,在正向重放操作中,包括第一GOP中除前两个 B图像之外的13幅图像以及解码顺序中随后第一 GOP的第二 GOP的前三个I图像、B图像 和B图像的总共16幅图像;在反向重放操作中,包括第二GOP中除前两个B图像之外的13 幅图像以及第二 GOP之前的第三GOP前三个I图像、B图像和B图像的总共16幅图像), 以便执行解码处理以便在B图像之前解码I图像和P图像(例如,在图6中步骤S75、 S78 至S80);根据所获得的速度指令从包含在解码处理单元中的图像简选择要输出的图像(例 如,图23、41或43所示的处理);控制将从包含在解码处理单元中的图像之中选择作为要 输出的I图像和P图像、以及B图像供给解码器(例如,图2所示解码处理器77)(例如,在 图18的步骤S196之后的图15中的步骤S105);解码供给解码器的图像(例如,图18中步 骤S192或者S193);并且控制从要解码的图像之中选择的要输出的图像的输出(例如,在 图18的步骤S196或者在图42的步骤S546之后的图38中所示的处理)。
根据本发明另一实施例的一种信息处理装置(例如,图1所示重放装置1)包括 存储装置(例如,图1所示硬盘驱动器(HDD))以便存储经压縮编码的视频数据;读出装置 (例如,图1所示南桥15)以便从存储装置读出经压縮编码的视频数据;解码装置(例如,图 1所示解码器22、23或24)以便解码经压縮编码的视频数据;供给控制装置(例如,图1所 示PCI桥17)以便控制将由读出装置读出的压縮编码的视频数据供给解码装置;控制装置 (例如,图1所示CPU20)以便控制由供给控制装置和解码装置执行的处理;以及重放速度 指令装置(例如图l所示CPUll)以便将重放速度指令提供给控制装置。控制装置确定包 含在解码处理单元终端哦图像的解码处理的顺序(例如,在正向重放操作中,包括第一 GOP 中除了前两个B图像之外的13幅图像和在编码顺序中紧随第一 GOP的第二 GOP的前三个 I图像、B图像、B图像的总共16幅图像,并且在反向重放操作中,包括第二 GOP中除了前两 个B图像之外的13幅图像和先于第二 GOP的第三GOP的前三个I图像、B图像、B图像的
12总共16幅图像)以便执行由解码装置执行的解码处理以便在B图像之前解码I图像和P 图像。控制装置根据重放速度指令装置提供的重放速度指令在包含在解码处理单元的图像 之中选择要从解码装置中输出的图像。控制装置控制供给控制装置来控制在包含在解码处 理单元中的图像之中、作为从解码装置输出的I图像和P图像、以及B图像的供给至解码装 置。控制装置在供给控制装置的控制下,控制解码装置解码供给解码装置的图像,并且可以 控制作为要从解码装置输出的图像而选择的图像的输出。 根据本发明另一个实施例的一种信息处理方法,一种记录在记录媒体上的程序、 和一种程序包括以下步骤读出存储在存储单元中的经压縮编码的视频数据(例如,在图3 中所示的步骤S1);供给重放速度指令(例如,在图3中所示的步骤S5或S11);获得所供给 的重放速度指令(例如,在图5中所示的步骤S101);确定包含在用于执行解码处理的解码 处理单元中的图像解码处理的顺序(例如,在正向重放操作中,包括第一GOP中除了前两个 B图像之外的13幅图像和在编码顺序中紧随第一 GOP的第二 GOP的前三个I、 B、 B图像的 总共16幅图像,并且在反向重放操作中,包括第二GOP中除了前两个B图像之外的13幅图 像和先于第二 GOP的第三GOP的前三个1、B、B图像的总共16幅图像),以便在B图像之前 解码I图像和P图像(例如,图6中步骤S75、步骤S78至S80);根据所获得的重放速度指 令,从包含在解码处理单元的图像中选择要输出的图像(例如,图23、41或43中所示的处 理);控制作为要输出的图像而从包含在读取经压縮编码的视频数据的解码处理单元中的 图像所选择的I图像和P图像和B图像的供给至解码器(例如,图2中解码处理器77)(例 如,在图18中步骤S196之后的图15中步骤S105);以及解码供给解码器的图像(例如,图 18中步骤S192或S193);以及控制从解码的图像中选择作为要输出图像的图像的输出(例 如,在图18中步骤S196或者在图42中步骤S546之后的图38中所示的处理)。
根据本发明另一实施例的一种信息处理装置(例如,图1所示重放装置1)包括 解码装置(例如,图2所示解码处理器77),用于解码经压縮编码的视频数据;供给控制装 置(例如,图2所示基本流地址确定单元73),用于控制经压縮编码的视频数据的供给至解 码装置;以及控制装置(例如,图1所示CPU20),用于控制由供给控制装置和解码装置执行 的处理。控制装置确定包含在用于执行解码装置执行的解码处理的解码处理单元中的图像 的解码处理的顺序(例如,在正向重放操作中,包括第一G0P中除了前两个B图像之外的13 幅图像和在编码顺序中紧随第一 GOP的第二 GOP的前三个I图像、B图像和B图像的总共 16幅图像,并且在反向重放操作中,包括第二GOP中除了前两个B图像之外的13幅图像和 先于第二 GOP的第三GOP的前三个I图像、B图像和B图像的总共16幅图像),以便在B图 像之前解码I图像和P图像。控制装置根据重放速度指令装置提供的重放速度指令,在包 含在解码处理单元的图像中选择要从解码装置输出的图像。控制装置控制供给控制装置, 以控制在包含在解码处理单元中的图像中、1图像和P图像,和作为从解码装置输出的图像 而选择的B图像的供给至解码装置。控制装置在供给控制装置的控制下,控制解码装置解 码供给解码装置的图像,并控制作为要从解码装置输出而选择的图像的图像输出。
信息处理装置可还包含组存储器(例如,图2所示视频组存储器82),用于存储解 码装置解码的图像,组存储器具有比包含在解码处理单元中的图像数目更少的组数。解码 装置可以根据需要通过使用存储在组存储器中的解码图像作为参考图像来执行解码处理。
下面通过优选实施方式的举例说明,参考附图详细描述本发明。
图1是框图,根据本发明实施方式举例说明了重放装置1的硬件结构。
在重放装置1中,连接到北桥12的中央处理单元(CPU) 11控制存储在硬盘驱动器 (HDD) 16中的数据的读取,或者生成并输出命令以提供指令来由CPU20执行的开始、改变、 和完成处理,诸如控制解码计划、解码、和显示。连接到外围组件互连/接口 (PCI)总线14 的北桥12,在CPU11的控制下经由南桥15接收存储在HDD16中的数据,并将所接收的数据 经由PCI总线14和PCI总线17供给存储器18。北桥12也连接到存储器13并发送和接收 CPU11的处理所需的数据。 存储器13是快速访问存储设备,诸如双数据速率(DDR),其中可以存储CPU11执行 的处理所需的数据。南桥15控制从HDD16中的数据的读取和向HDD16的数据写入,HDD16 中存储了压縮编码的流数据。 PCI桥17具有内置的命令缓冲器31和结果缓冲器32,并且连接到存储器18,其 中缓冲在CPU11的控制下从HDD16读取的流数据。PCI桥17能够在CPU11的控制下将从 HDD16读取的流数据供给存储器18,并将流数据存储其中。PCI桥17在CPU20的控制下也 能够读取存储在存储器18中的流数据,并将流数据供给解码器22、23、和24。 PCI桥17也 经由PCI桥14或控制总线19,控制对应于命令或结果的控制信号的发送和接收。
命令缓冲器31经由北桥12和PCI总线14接收来自CPU11的命令,也将命令从命 令缓冲器31经由控制总线19读出到CPU20。结果缓冲器32接收来自CPU20的结果以经由 控制总线19响应命令,也将存储在结果缓冲器32中的结果经由PCI总线14和北桥12读 取到CPUll。 存储器18,其例如是同步动态随机访问存储器(SDRAM),在PCI桥17的控制下,存 储从HDD16读取的压縮代码的流数据。 CPU20经由控制总线19,读取由CPU11写入PCI桥17的命令缓冲器31的命令,并 根据读取命令控制由PCI桥17、解码器22至24、和选择器25执行的处理。存储器21存储 CPU20执行的处理所需的数据。 解码器22、23和24在CPU20的控制下解码所接收的压縮编码流数据,并输出未压 縮视频信号。解码器22、23和24分别具有内置存储器41、42和43,以根据需要存储所接 收的压縮编码的流数据和解码的视频信号。解码器22、23和24不必包含在重放装置1中。 也就是说,解码器22、23和24可以与重放装置1分离地提供。 选择器25可以切换从解码器22、23和24供给的、未压縮串行数字接口 (SDI)数 据的各个帧(图像)的输出。 图1所示的重放装置1可以形成为一个设备或多个设备。例如,CPU11、北桥12、 存储器13、南桥15、和HDD16可以提供作为个人计算机的组件,并可以在扩展卡(诸如PCI 卡或PCI-e邓ress卡)或扩展板中提供PCI总线14、 PCI桥17、存储器18、控制总线19、 CPU20、存储器21、解码器22、23和24、选择器25的功能。然后,该扩展卡插入个人计算机 中,从而实现重放装置1的功能。上述元素可以包含在多数设备中以形成重放装置1。
以下描述上述结构的重放装置1的操作。
在HDD16中,存储了利用MPEG长GOP方法压縮的视频数据。 CPUll控制南桥15以经由北桥12从HDD16读取压縮的编码数据流,以响应来自 用户从输入操作单元(未示出)的输入,并且以经由北桥12、 PCI总线14、和PCI桥17供给读取流数据至存储器18,并将读取数据存储到存储器18中。CPU11也将表示重放速度和 重放方向和解码开始命令或者显示开始命令的信息经由北桥12和PCI总线14写入PCI桥 17的命令缓冲器31中。 根据从CPU11供给、并存储在命令缓冲器31中的命令,CPU20为压縮编码的流数 据确定解码和显示计划。更确切地说,CPU20选择用于解码的解码器22、23或24,并确定输 入到所选择的解码器22、23或24的压縮编码的流数据的定时,各个帧的解码定时,参考图 像所存储的组位置的设置,解码处理中组存储器的分配,以及解码的图像的输出,即显示定 时。 然后CPU20控制PCI桥17将存储在存储器18中的压縮编码的流数据基于所确定 的计划供给所选择的解码器22、23和24。 CPU20控制解码器22、23或24以将所供给的压縮编码的流数据进行解码。然后解
码器22、23或24解码流数据以生成未压縮的SDI数据并将其输出到选择器25。然后CPU20控制选择器25来切换来自解码器22、23或24的未压縮SDI数据的输出。 图2是框图,举例说明解码器22、23和24的详细的结构。 输入处理器71将压縮代码的流数据从PCI桥17供给存储器控制器74,并将流数 据存储到输入缓冲器75中。输入处理器71也从供给的流数据获得每个图像的首部地址、 数据尺寸、图像首部信息、图像尺寸信息、和Q矩阵,并将所获得的信息供给地址管理表72。
地址管理表72将从输入处理器71供给的各个图像的上述信息存储为可由表ID 标识的表信息。 基本流地址确定单元73从表信息读取相应图像的首部地址和图像尺寸信息,所 述表信息由存储在地址管理表72中的预先确定的表ID来表示,并根据经由控制总线19从 CPU20供给的控制信号将所读取的首部地址和图像尺寸信息供给存储器控制器74,以便可 以将存储在输入缓冲器75中的流数据以图像单元供给解码处理器77。
存储器控制器74控制从/到输入缓冲器75的流数据的读取和写入。也就是说, 存储器控制器74将从输入处理器71供给的流数据写入输入缓冲器75,也根据从基本流地 址确定单元73供给的对应图像的首部地址和图像尺寸信息,将预先确定的图像读出到解 码处理器77。 输入缓冲器75对应于图1所示存储器41、42和43的部分记录区域,所述存储器 是SDRAM,并在存储器控制器74的控制下存储流数据。 控制总线76将经由控制总线19从CPU20接收的控制信号供给基本流地址确定 单元73、解码处理器77、写图像地址确定单元78、参考图像地址确定单元79以及输出地址 确定单元80,也将涉及在解码器22、23或24内执行的处理的信息经由控制总线19供给 CPU20。 根据需要通过参考从参考图像地址确定单元79供给的对应的参考图像,解码处 理器77在存储器控制器74的控制下解码从输入缓冲器75读取的MPEG视频流,并将解码 的基带(未压縮)视频信号供给写图像地址确定单元78。 写图像地址确定单元78经由控制总线76获得从CPU20经由控制总线19供给的 控制信号,并根据该控制信号确定记录位置,即,在视频组存储器82中从解码处理器77解码和供给的基带视频信号的存储组位置。然后写图像地址确定单元78经由存储器控制器 81在视频组存储器82的确定的组位置存储基带视频信号。 参考图像地址确定单元79经由控制总线76获得经由控制总线19从CPU20供给 的控制信号,并根据该控制信号控制存储器控制器81,以从视频组存储器82中读出存储在 指定为P图像的在先参考图像组的的组中的帧图像数据或者存储在指定为B图像的在先和 随后参考图像组的组中的帧图像数据,并将所读取的帧图像数据供给解码处理器77。
输出地址确定单元80经由控制总线76获得从CPU20经由控制总线19供给的控 制信号,并根据该控制信号从存储在视频组存储器82中的帧图像数据指定输入图像的组, 即,用于要显示的帧的组,并控制存储器控制器81来读出输入图像。 存储器控制器81控制从/到视频组存储器82的帧图像读取和写入。视频组存储 器82对应于图1所示存储器41、42和43的部分记录区域,所述存储器是SDRAM,并且视频 组存储器82是8组帧图像组存储器,用于在存储器控制器81的控制下将图像数据的各个 帧存储在之前描述的组中。 以下参考图3的流程图描述CPU11执行的控制处理。 在步骤SI中,CPUll控制北桥12和南桥15来从HDD16读出用户指定的将解码和 输出的压縮编码流数据的多个GOP。 在步骤S2中,CPUll经由PCI总线14将读取流数据供给PCI桥17,并将流数据传 送到存储器18。 在步骤S3中,通过经由北桥12和PCI总线14将数据传送完成消息和图像信息供 给PCI桥17的命令缓冲器31, CPU11将涉及包含在传送给存储器18的GOP中的图像的数 据传送结束消息和图像信息发送给CPU20。图像信息包括例如图像类型、涉及各个图像首部 的首部信息、和图像尺寸。 在步骤S4中,CPU11从CPU20和存储器18接收就绪消息。更确切地说,CPU11经 由PCI总线14和北桥12读取结果以响应从CPU20经由控制总线19供给结果缓冲器32的 数据传送完成消息和图像信息,也从存储器18经由PCI桥17、PCI总线14、和北桥12接收 表示GOP流数据已经存储的消息。 在步骤S5中,CPUll经由操作输入单元(未示出)从用户接收指令以开始重放输 出处理,并经由北桥12和PCI总线14发送解码开始命令至命令缓冲器31,并导致解码器 22, 23或24开始解码处理。解码开始命令包括显示速度信息。 在步骤S6中,CPUll经由北桥12和PCI总线14发送显示开始命令至命令缓冲器 31。在步骤S7中,CPU11开始显示由对应解码器解码的SDI信号的一个G0P,即,基带图像信号。 在步骤S8中,CPU11检测到已经显示了一个GOP。更确切地说,CPU11通过经由 PCI总线14和北桥12读取结果来检测哪一个图像已经显示了,以响应从CPU20经由控制总 线19供给结果缓冲器32的显示开始命令,即以下所讨论的在图18中步骤S194中由CPU20 写入结果缓冲器32的显示完成消息,其表示各个帧都已经显示过了。 在步骤S9中,CPU11确定所显示的G0P是否为流数据的最后一个G0P。如果发现 所显示的GOP是最后的GOP,那么处理结束。 如果在步骤S9中确定,所显示的GOP不 最后的GOP,那么处理前进到步骤SIO,以根据从操作输入单元(未示出)供给的信号来确定是否已经由用户输入指令来改变输入 流状态(例如来完成重放流数据),改变正在重放的流数据,或者改变重放速度或方向。
如果在步骤SIO中发现改变输入流状态的指令,那么处理前进到步骤S11,其中 CPU11经由北桥12和PCI总线14发送对应于用户操作的命令至命令缓冲器31。
如果在步骤S10发现还没有输入改变输入流状态的指令,或者在步骤Sll之后,那 么处理前进到步骤S12以确定在HDD16中是否存在要显示的任何流数据。如果在步骤S12 中确定,不存在要显示的流数据,那么处理返回到步骤S7以处理发送到存储器18的流数 据。 如果在步骤S12中确定,存在要显示的流数据,那么处理前进到步骤S13,其中 CPU11控制北桥12和南桥15从HDD16中读出流数据的随后G0P。 在步骤S14中,CPU11经由PCI总线14将读取的G0P供给PCI桥17,并将G0P传 送到存储器18。也就是说,基本上在存储器18中,除当存储了要重放的流数据的尾部时之 外,存储了预先确定数目的G0P。 在步骤S15中,通过经由北桥12和PCI总线14将数据传送完成消息和图像信息 供给命令缓冲器31,CPU11发送涉及包含在要传送给存储器18的GOP中的图像的数据传送 完成消息和图像信息至CPU20。图像信息包括例如各个图像的类型和尺寸。
在步骤S16中,CPUll从CPU20和存储器18接收就绪消息。更确切地说,CPUll经 由PCI总线14和北桥12读取结果,以响应从CPU20经由控制总线19供给结果缓冲器32 的数据传送完成消息和图像信息,CPU11也接收表示GOP流数据已经从存储器18经由PCI 桥17、PCI总线14、和北桥12存储的消息。 在步骤S16之后,处理前进到步骤S7,并且执行随后处理。 根据上述处理,通过供给命令至CPU20,并接收结果以响应所供给的命令,CPU11 能够控制流数据的编码和解码的数据的显示。 在该处理中,在GOP单元中显示解码的数据。当输出由对应解码器解码的SDI信 号至外源时,CPUll能够执行类似于上述处理的处理。因此,通过将命令供给CPU20并接收 结果以响应所供给的命令,CPU11能够控制流数据的编码和解码的数据至外源的输出。
然后根据从CPU11供给的命令,CPU20控制由多个解码器(图1中解码器22、23 和24)执行的解码处理。更确切地说,CPU20选择用于解码的解码器22、23或24,即供给 压縮编码的视频数据的解码器22、23或24。 CPU20也根据流数据至所选择的解码器的输入 定时、对于各个图像的解码定时、组中的参考图像位置的设置、在解码处理中组存储器的分 配、和解码图像的输出定时(即显示定时)来控制PCI桥17、解码器22、23和24,和选择器 25。以下参考图4至图38讨论了由CPU20执行的解码和显示输出控制操作。
存储器21具有多个寄存器和信息队列以便存储各种类型的信息,以允许CPU20控 制解码器22、23和24执行的解码处理,和从选择器25输出的SDI信号的选择处理。信息 队列是先进先出(FIFO)队列,其中根据解码定时计划或者解码/显示控制目的,可以以预 先确定的深度来存储从CPUll供给的命令、与图像类型信息相关的图像ID、和带有图像ID 的信息(例如,时间信息)。 CPU20通过使用存储在对应信息队列中的信息来控制解码和显示定时。也就是说, 替代存储器21中的队列图像,在CPU20的控制下图像ID存储在对应信息队列中,从而允许CPU20执行计算以便控制解码和显示定时。 存储各种类型信息并用于CPU20各种控制操作的信息队列包括命令队列,存储 经由控制总线19从命令缓冲器31获得的命令;输入图像队列,其中以编码顺序存储对应于 队列的输入图像的图像ID ;显示顺序信息队列,其中存储了以显示顺序重新排序的存储在 输入图像队列中的图像ID ;I/P图像解码队列,其中存储了从存储在显示顺序信息队列中 的图像ID提取的I图像和P图像,并以解码顺序重新排列;时间信息I/P图像解码队列,其 中除设置在I/P图像解码队列中的图像ID之外,存储了对应于图像ID的时间信息;显示顺 序设置队列,其中以显示顺序设置图像ID ;时间信息显示顺序设置队列,其中除设置在显 示顺序设置队列中的图像ID之外,还存储了与图像ID相关的时间信息;以及显示队列,存
储随后要显示的图像的图像ID。以下讨论存储在各个队列中的信息、队列的深度、以及通过 使用信息执行的处理的细节。 以下参考图4的流程图描述在各个帧上执行的帧处理1。为每个帧重复该处理例 行程序直至已经处理了要显示的流数据,或者直至提供了完成显示操作的指令。
在步骤S31中,执行以下参考图5详细描述的输入流状态改变处理。在输入流状 态改变处理中,CPU20检查从CPU11发出的新命令。 在步骤S32中,执行解码计划处理1,以下将参考图6详细描述该处理。在解码计 划处理1中,安排解码定时的计划。 在步骤S33中,CPU20参考表示一帧的处理时间的时间计数器来确定,主题帧是不 是以解码顺序要重放的流数据的第一至第六帧之一。 如果在步骤S33中确定,主题帧不是流数据的第一至第六帧之一,那么处理前进 到步骤S34,该步骤中执行一帧延迟显示设置处理,以下参考图38来描述该处理。在一帧延 迟显示设置处理中,设置在先前处理例行程序的步骤S35中帧控制处理1中解码和生成的 基带帧图像。 如果在步骤S33中确定,主题帧是流数据的第一至第六帧之一,或者在步骤S34之 后,处理前进到步骤S35,其中执行帧控制处理1,将参考图18讨论该处理。在帧控制处理 1中,解码要处理的帧。 在步骤S36中,CPU20确定是否所有的帧都处理了 。如果在步骤S36确定,不是所 有的帧都处理了 ,那么处理前进到步骤S37,其中CPU20以帧单元递增时间计数器。然后,处 理返回到步骤S31,然后重复随后的处理。 如果在步骤S36中确定所有帧都已经处理了,那么处理结束。 根据图4所示处理,CPU20为各个帧递增时间计数器,并根据用户指示的重放速度 安排解码处理的计划,并允许对应的解码器解码各个帧。 以下参考图5的流程图讨论图4的步骤S31中的输入流状态改变处理的细节。
在步骤S51中,CPU20检查存储来自命令缓冲器31的命令的命令队列。
在步骤S52中,CPU20判断改变输入流状态诸如改变重放速度和重放方向或者完 成重放操作的新命令是否存储在命令队列中。 如果在步骤S52中确定,存储了新命令,那么处理前进到步骤S53,其中CPU20根据 最早时间存储在命令队列中的命令来改变输入流状态,例如重放速度和重放方向。如果在 步骤S52中确定在命令队列中没有存储新的命令或者在步骤S53中之后,那么处理返回到图4中步骤S31。 根据该处理,检查最早时间存储在命令队列中的命令,所述命令队列存储从命令 缓冲器31获得的命令,并且根据该命令,改变输入流状态。 以下参考图6的流程图描述图4步骤S32中执行的解码计划处理1的细节。
在步骤S71中,CPU20参考输入图像队列来确定,输入图像队列是否为空。输入图 像队列是信息队列,所述信息队列在步骤S72中执行的输入处理中进行设置,其存储输入 图像的图像ID(要为所述输入图像进行解码计划)以及安排计划所需的图像。
现在假定,在重放装置1中处理的流数据是MPEG长GOP流数据,每个GOP包括15 幅图像,诸如图7所示。执行各组15幅图像的解码处理的每个解码器22、23和24接收一 个GOP的除显示顺序的前两幅B图像的13幅图像、和随后GOP的前三幅IBB图像(在正向 重放操作的情况下)或者先前GOP的前三幅IBB图像(在反向重放操作的情况下)总共16 幅图像。 以下参考图8A和8B讨论分配给解码器22, 23和24的解码单元。在图8A和8B 中,以显示顺序示出了供给解码器22, 23和24的图像的排列。在重放装置1中,具有15幅 图像的各个GOP在一个解码器22, 23和24中解码。如上所述,各个解码器22, 23和24接 收一个GOP的除显示顺序的前两幅B图像的13幅图像、和先前或随后GOP的前三幅图像总 共16幅图像。也就是说,如果重放方向是正向,如图8A所示,那么从解码器22、23和24选 择的第一解码器接收第一GOP的除了前两幅B图像的13幅图像和第二GOP的前三幅图像, 并且第二解码器接收第二GOP的除了显示顺序的前两幅B图像的13幅图像以及第三GOP 的前三幅图像。类似地,第三解码器接收第三GOP的除了前两幅图像的13幅图像以及第四 GOP的前三幅图像。如果播放方向是反向,如图8B所示,从解码器22、23和24选择的第一 解码器接收第二GOP的除了前两幅B图像的13幅图像和第三GOP的前三幅图像,而且第二 解码器接收第一 G0P的除了前两幅B图像的13幅图像和第二 G0P的前三幅图像。
在输入图像队列中,设置了要为其进行解码计划的输入图像的图像ID和用于安 排计划所需的图像。也就是说,在输入图像队列中,存储了总共18幅图像的图像ID,即MEPG 长G0P流数据的一个G0P的15幅图像和先前或随后G0P的前三幅IBB图像的图像ID。
图9A举例说明了存储在输入图像队列中的MPEG长G0P流数据的第一G0P的15 幅图像和紧随其后的第二GOP的前三幅IBB图像的图像ID,以执行正向重放操作。图9B举 例说明了存储在输入图像队列中的MPEG长GOP流数据的第二GOP的15幅图像、和先于第 二 GOP的的第三GOP的前三幅IBB图像的图像ID,以执行反向重放操作。
如果在步骤S71确定,输入图像队列不为空,那么处理返回到图4的步骤S32。也 就是说,在解码计划处理中,总共16幅图像,S卩,从GOP的第三幅图像至第15幅图像的13 幅图像、以及随后GOP的前三幅图像,作为处理单元来处理。 如果在步骤S71确定,输入图像队列为空,那么在步骤S72中执行输入处理,以下 将参考图15的流程图讨论所述处理。 在步骤S73中,CPU20根据表示接收随后数据的解码器的寄存器值,来确定时间信 息延迟顺序设置队列是否为空,所述时间信息延迟顺序设置队列是根据接收随后数据的解 码器设置的。时间信息显示顺序设置队列是在步骤S80的用于多个解码器(图1解码器22、 23和24)的时间信息计划确定处理中设置的队列。以下参考图17的流程图给出时间信息计划确定处理的细节。 如果在步骤S73中确定,对应于接收随后数据的解码器的时间信息显示顺序设置 队列不为空,也就是说,如果正对对安排计划的GOP的每帧图像执行解码处理或者显示处 理,那么处理返回到图4的步骤S32。 如果在步骤S73中确定,时间信息显示顺序设置队列为空,那么处理前进到步骤 S74,其中CPU20执行重排序处理。在重排序处理中,以编码顺序排列设置在输入图像队列 中的18幅图像的图像ID以显示顺序重新排列,并且设置在显示顺序信息队列中。
因此,如果重放方向是正向,那么正如参考图9A所讨论的、以图IOA所示的显示顺 序重新排列的设置在输入图像队列中的图像ID被设置在显示顺序信息队列中。如果重放 方向是反向,那么正如参考图9B所讨论的、以图IOB所示的显示顺序重新排列的设置在输 入图像队列中的图像ID被设置在显示顺序信息队列中。 当在步骤S74执行重排序处理以在显示顺序信息队列中设置图像ID时,输出在输 入图像队列中排列的所有图像ID,并且输入图像队列变为空。也就是说,如果在步骤S71中 确定,输入图像队列为空,那么意味着重新排序了在输入图像队列中排列的图像ID。如果在 步骤S71中确定,输入图像队列不为空,那么意味着由于对应于接收随后数据的解码器的 时间信息显示顺序设置队列在执行先前解码计划处理中的步骤S72中的输入处理1之后不 为空,因而没有执行步骤S74中的重排序处理。 在步骤S75中,CPU20参考在步骤S74中设置的显示顺序信息队列,并设置在I/P 图像解码队列中以解码顺序要解码的G0P的I图像和P图像的图像ID。 I/P图像解码队列 是这样的队列,其中以解码顺序来设置先于B图像的要解码的I图像和P图像的图像ID。
图11A和11B分别举例说明了当执行快速正向重放操作和反向重放操作时的I/P 图像解码队列。在I/P图像解码队列中,当执行正向重放操作时,如图IIA所示,设置对应 于在图10A所示显示顺序信息队列中设置的图像ID的I图像和P图像的6幅图像的图像 ID。在I/P图像解码队列中,当执行反向重放操作时,如图IIB所示,设置对应于在图10B 所示显示顺序信息队列中设置的图像ID的I图像和P图像的6幅图像的图像ID。
在步骤S76中,CPU20指定I图像和P图像存储的组位置,也指定用于解码P图像 的参考图像组。为I图像和P图像使用图2所示视频组存储器82中的8组的6个固定组。
通过首先解码I图像和P图像(也称作"锚帧")并且通过固定解码的I图像和P 图像存储的组位置,可以在正向重放操作中、在反向重放操作中、或者随机重放操作中从任 何图像重放流数据。通过首先解码6幅I图像和P图像,由于I图像和P图像的处理时间 较短,因而从用户给出开始重放操作或者改变重放速度或者重放方向的指令的时间到通过 反映该指令显示图像的时间可以减少,而不管GOP中显示开始帧的位置。另外,可以减少擦 除重放操作中显示期望图像的显示时间。结果,可以改善快速重放操作期间的性能。
在步骤S77中,CPU20指定参考图像组的位置,以便根据如在步骤S76所指定的存 储I图像和P图像的组位置来解码B图像。以下讨论在帧控制处理1中指定B图像所存储 的组位置。 在步骤S78中,CPU20设置显示顺序设置队列。 图12A和12B分别举例说明了在正向重放操作和反向重放操作中和中的显示顺序 设置队列。在显示顺序设置队列中,当执行正向重放操作时,如图12A所示以显示顺序来设
20置在图10A中所示显示顺序信息队列中排列的18幅图像ID,除了前两幅B图像和最后I图 像,也就是,15幅图像ID,艮卩,图8A所示供给解码器22、23和24之一的16幅图像ID,除了 最后的I图像。 在显示顺序设置队列中,当执行反向重放操作时,如图12B所示以显示顺序来设 置在图10B中所示显示顺序信息队列中排列的18幅图像ID,除了前两幅B图像和最后I图 像,也就是,15幅图像ID, S卩,图8B所示供给解码器22、23和24之一的16幅图像ID,除了 最后的I图像。 当在步骤S78中设置显示顺序设置队列时,将显示顺序信息队列中排列的图像ID 全部输出,并且显示顺序信息队列变为空。 在步骤S79中,执行以下参考图16讨论的显示阶段确定处理。在显示阶段确定处 理中,确定处理单元中解码开始定时和显示开始定时之间的偏移(displacement),其等于 一个包括15帧的G0P和1帧。 在步骤S80中,执行以下参考图17的流程图讨论的时间信息计划确定处理。在时 间信息计划确定处理中,为了控制各个帧的解码定时,进行解码计划,并且在与图像ID相 关的预先确定的信息队列中设置时间信息。 在步骤S79和S80中,安排解码定时和显示定时的计划。更确切地说,当显示图像 的首部是I图像或P图像时,意味着重放操作方向和重放速度是正向的和正常的。在这种 情况下,在B图像之前解码I图像和P图像,如图13所示,并且计划解码定时和显示定时以 便显示开始定时与解码开始定时偏移6幅图像,而导致B图像的显示定时与B图像的解码 定时偏移一个帧。当显示图像的首部为B图像时,意味着重放方向是反向,换句话说,速度 设置表示负值。在这种情况下,I图像和P图像在B图像之前解码,如图14所示,并且安排 解码定时和显示定时的计划以便显示开始定时与解码开始定时偏移7幅图像,而导致B图 像的显示定时与B图像的解码定时偏移一个帧。 在步骤S81中,CPU20切换接收随后数据的解码器。更确切地说,当表示接收随后 数据的解码器的寄存器值等于某个比解码器数(图1所示在重放装置1中3个)小1的值 (即,图1所示重放装置1中为2)时,CPU20设置寄存器值为0。当寄存器值比解码器数小 2或更多时,CPU20将寄存器值递增1。在步骤S81之后,处理返回到图4所示步骤S32。
根据上述处理,安排解码定时和显示定时的计划。 参考图15的流程图,给出图6中步骤S72中所执行的输入处理的描述。 在步骤S101中,CPU20获得包含在图3的步骤S5中由CPU11发送给命令缓冲器
31的解码开始命令中的显示速度信息,或者在图3步骤S11响应用户输入、由CPU11发送给
命令缓冲器31的命令获得速度设置值,并在存储器21中存储所获得的信息。如果速度设
置值为正,那么重放方向为正向,并且如果速度设置值为负,那么重放方向为反向。 如下确定速度设置值。如果速度设置值为l,那么执行正常重放操作。如果速度设
置值大于l,那么执行快速重放操作。如果速度设置值小于l,那么执行低速重放操作。如
果速度设置值为-l,那么执行正常速度的反向重放操作。如果速度设置值小于-l,那么执
行快速反向重放操作。如果速度设置值是绝对值小于l的负值,那么执行低速反向重放操作。 然后,根据在步骤SIOI中获得的速度设置值是正或负,CPU11在步骤S102中确定
21要执行的处理是正向重放操作或者是反向重放操作。 在步骤S102中如果发现重放方向是正向,那么处理前进到步骤S103。在步骤S103 中,CPU20在参考图9A讨论的输入图像队列中设置要解码的GOP的从首部起的13帧和随 后GOP的I图像、B图像、和B图像的图像ID。 如果在步骤S102中确定,重放方向不是正向,即重放方向是反向,处理前进到步 骤S104。在步骤S104中,CPU20在参考图9B讨论的输入图像队列中设置要解码的GOP的 从尾部起的13帧和先前GOP的I图像、B图像、和B图像的图像ID。 在步骤S103或S104之后,在步骤S105中,根据输入图像队列的设置和表示接收 随后数据的寄存器的寄存器值,CPU20控制PCI桥17以将存储在存储器18的流数据中的、 参考图8A和8B讨论的16帧压縮的图像数据传送到从解码器22、23和24中选择的预先确 定的解码器。在这种情况下,对于流数据的第一GOP,寄存器值是在初始设置中确定的值,并 且对于第二或随后GOP,寄存器值是在图6的步骤S81中确定的寄存器值。
在解码器22、23或24中,输入处理器71将16帧数据供给存储器控制器74,并将 数据存储在输入缓冲器75中。输入处理器71也将涉及例如各个图像的首部地址、数据尺 寸、图像尺寸信息、Q矩阵的信息供给地址管理表72,并将各个图像的信息存储为能够由表 ID来标识的表信息。 在步骤S106中,通过将表示一个GOP流已经传送到预先确定的解码器的结果经由 控制总线19供给PCI桥17的结果缓冲器32, CPU20发送流传送完成消息给CPUll。然后 处理返回到图6的步骤S72。 根据输入处理,如参考图8A和8B讨论的充当解码处理单元的16帧数据,提供给 解码器22、23或24。 以下参考图16的流程图描述在图6的步骤S79中执行的用于设置相对于解码开 始定时延迟显示开始定时的阶段的显示阶段确定处理。 在步骤S131中,CPU20在显示图像数目寄存器中存储关于图12A和12B所示显示 顺序设置队列中设置的要显示的图像数目的信息。由于在图12A和12B中的显示顺序设置 队列中设置了 15幅图像的图像ID,因而将15设置在显示图像数目寄存器中。
在步骤S132中,CPU20将存储在图11A和11B所示I/P图像解码队列中的要解码 的I图像和P图像的总数存储在I/P图像数目寄存器中。由于在图11A和11B所示的I/P 图像解码队列中设置了 6幅图像的图像ID,因而将6存储在I/P图像数目寄存器中。
在步骤S133中,CPU20确定,设置在显示顺序设置队列首部的图像ID的图像类型 是不是B图像。换句话说,在步骤S133确定,当计算正常速度正向或反向重放操作中的阶 段偏移时,重放方向是正向或者反向。在执行以下要描述的省略处理l之后,即使设置在显 示顺序设置队列首部的图像ID的图像类型是B图像,根据重放速度,重放方向可以是正向 或者反向。 如果在步骤S133中发现在显示顺序设置队列首部的图像ID的图像类型是B图 像,那么处理前进到步骤S134。在步骤S134中,CPU20设置通过将要解码的I图像和P图 像的总数增加1而获得的数目,作为相对于在I/P图像解码队列中设置的图像ID的I图像 和P图像的解码开始定时、在显示顺序设置队列中设置的图像ID的图像的显示开始定时的 时间阶段偏移disp_phaSe。
例如,当重放速度是X-l时,如图14所示,在显示顺序设置队列的首部的图像ID 的图像类型是B图像。在解码I图像和P图像之后,解码B图像以便B图像的显示定时与I 图像和P图像的解码定时偏移7幅图像,而导致B图像的显示定时与B图像的解码定时偏 移一个帧。 如果在步骤S133确定,在显示顺序设置队列首部的图像ID的图像类型不是B图 像,那么处理前进到步骤S135。在步骤S135, CPU20将要解码的I图像和P图像的总数设 置为相对于在I/P图像解码队列中设置的图像ID的I图像和P图像的解码开始定时、在显 示顺序设置队列中设置的图像ID的图像的显示开始定时的时间阶段偏移disp_phase。
例如,当重放速度是XI时,如图13所示,在显示顺序设置队列的首部的图像ID 的图像类型不是B图像而是I图像。在解码I图像和P图像之后,解码B图像以便I图像 的显示定时与I图像和I图像与P图像的解码定时偏移6幅图像,而导致B图像的显示定 时与B图像的解码定时偏移一个帧。 在步骤S134或S135之后,在步骤S136中,CPU20将在步骤S134或S135中确定 的显示阶段偏移disp_phaSe存储在内置寄存器中。 在步骤S137中,CPU20确定主题GOP是不是显示起始G0P(包括其中主题GOP位 于在重放速度改变之后重新开始重放操作的位置的情况)。 如果在步骤S137中确定,主题G0P不是显示起始G0P,那么处理前进到步骤S138。 在步骤S138中,CPU20从在步骤S134或S135中确定的显示阶段偏移disp_phase减去在 先前处理中的先前GOP中的阶段偏移prev_disp_phase,并将结果值作为偏移校正值disp_ zero存储在内置寄存器中。CPU20还将在步骤S134或S135中确定的显示阶段偏移disp_ phase代入在先前GOP中的显示阶段偏移preV_disp_phase。然后处理返回到图6中步骤 S79。 如果在步骤S137中确定,主题GOP是显示起始G0P,那么处理前进到步骤S139,其 中CPU20将初始值0作为偏移校正值disp_zero设置在内置寄存器中。然后处理返回到图 6的步骤S79。 根据显示阶段确定处理,可以确定相对于解码开始定时延迟显示开始定时的阶 段。 以下参考图17的流程图来描述图6的步骤S80中执行的时间信息计划确定处理。
在步骤S161中,CPU20确定主题GOP是不是改变输入流状态之后的对应于第一 GOP的解码处理单元。其图像类型在执行图像省略之后已经改变的解码处理单元不是第一 解码处理单元而是第二或随后的解码处理单元。因此,如果在步骤S161中确定,主题GOP 是对应于第一 GOP的解码处理单元,那么处理前进到步骤S166。 如果在步骤S161中确定,主题GOP不是对应于第一 GOP的解码处理单元,那么处 理前进到步骤S162以确定在执行图像的省略之后第一图像是否已经从I图像或P图像改 变为B图像。 如果在步骤S162中确定,在执行图像省略之后第一图像已经从I图像或P图像改 变为B图像,那么处理前进到步骤S163,其中CPU20将阶段调整值设置为1。处理前进到步 骤S167。 如果在步骤S162中确定,在执行图像省略之后第一图像还没有从I图像或P图像改变为B图像,那么处理前进到步骤S164以确定在执行图像省略之后第一图像是否从B图 像改变为I图像或P图像。 如果在步骤S164中确定,在执行图像省略之后第一图像已经从B图像改变为I图 像或P图像,那么处理前进到步骤S165,其中CPU20将阶段调整值设置为-1。然后处理前 进到步骤S167。 如果在步骤S161中确定主题G0P是第一解码处理单元,或者如果在步骤S164中 确定在执行图像省略之后第一图像还没有从B图像改变为I图像或P图像,那么处理前进 到步骤S166,其中CPU20将阶段调整值设置为0。 在步骤S163、 S165、或S166之后,处理前进到步骤S167。在步骤S167,如以下等 式(1)所示,通过使用先前解码处理单元的解码开始时间信息prev—time—base、阶段偏移 校正值disp—zero、在省略处理1 (将在下文描述)中计算得到的时间信息调整值addecL count以及在步骤S161至S166的步骤中确定的阶段调整值,CPU20计算解码开始时间信息 time—base,其表示16幅图像的第一帧(这是解码处理单元)在解码器22、23、和24之一中 解码的时间 解码开始时间信息time_base =先前GOP的解码开始时间信息prev_time_ base-阶段偏移校正值disp_Zer0+时间信息调整值added_COunt+阶段调整值...(1)
为了通过使用等式(1)计算显示起始GOP的解码开始时间信息,将先前GOP的解 码开始时间信息prev_time_base和在用于先前G0P的省略处理1中计算的时间信息调整 值added—count设置为0。 在步骤S168中,CPU20为接收后续数据的解码器设置时间信息I/P图像解码队列。
在时间信息I/P图像解码队列中,将要首先解码的图像的解码开始时间信息 timej3ase和用于计数每帧的时间计数器的计数值设置成与设置在图IIA和IIB所示的1/ P图像解码队列中的图像ID相关联。为每个解码器22、23和24提供时间信息I/P图像解 码队列。 更确切地说,通过参考表示接收随后数据的解码器的寄存器值,CPU20设置用于接 收随后数据的解码器的时间信息I/P图像解码队列。CPU20使用解码开始时间信息time_ base作为表示对应于解码排列在I/P图像解码队列中的图像ID的第一图像ID的帧的时间 的信息,并使用时间计数器的计数值作为表示解码对应于其它图像ID的帧的时间的信息。
当在步骤S168中设置时间信息I/P图像解码队列时,由于输出了排列在I/P图像 解码队列中的所有图像ID,因而I/P图像解码队列变为空。 在步骤S169中,CPU20为用于接收随后数据的解码器设置时间信息显示顺序设置 队列。 在时间信息显示顺序设置队列中,从要显示的第一图像的显示开始定时相对于解 码开始定时的阶段偏移减去1而获得的值以及时间计数器的计数值被设置为与参考图12A 和12B所讨论的显示顺序设置队列中设置的图像ID相关。为重放装置1的每个解码器22, 23和24提供时间信息显示顺序设置队列。 更确切地说,通过参考表示接收随后数据的解码器的寄存器值,CPU20设置用于 接收随后数据的解码器的时间信息显示顺序设置队列。CPU20使用通过从阶段偏移disp_ phase中减去1而获得的值作为调整到B图像解码定时的参考时间信息,所述阶段偏移
24disp_phaSe表示在显示阶段确定处理中确定的显示顺序中的第一帧的显示定时,并使用时 间计数器的计数值作为表示解码对应于其它图像ID的帧的时间的信息。
当在步骤S169中设置时间信息显示顺序设置队列时,由于输出了排列在显示顺 序设置队列中的所有图像ID,因而显示顺序设置队列变为空。 在步骤S170中,CPU20将通过把要显示的图像数(其在图16的步骤S131中存储 在显示图像数目寄存器中)加到解码开始时间信息time—base上而获得的值作为先前GOP 的解码开始时间信息prev—time—base,存储在寄存器中。然后处理返回到图6的步骤S80。
根据时间信息计划确定处理,设置16帧(为解码处理单元)的解码处理定时。
根据分别参考图16和17所讨论的显示阶段确定处理和时间信息计划确定处理, 基于I图像和P图像的数目、要显示的图像数、以及要显示的第一图像是不是B图像,将解 码阶段和显示阶段设置为时间信息。因此,通过根据在每个解码器中要解码和显示的图像 数的改变来动态地改变速度,可以不断地显示解码图像,当使用多个解码器执行快速正向 和反向重放操作时发生上述改变。即使响应于从某个图像开始改变重放速度的指令而改变 了省略周期,也能够通过增加或减少要显示地图像数目,在对应速度范围内为每个帧不断 地改变重放速度。 根据参考图6至17所讨论的处理,可以执行图4的步骤S32中的解码计划处理。
然后,如果在步骤S33中确定,主题帧是第一至第六帧之一,那么处理通过跳过步 骤S34中的一帧延迟显示设置处理而前进到步骤S35。在步骤S35中,执行帧控制处理1。
以下参考图18的流程图来讨论图4中步骤S35执行的帧控制处理1。
在步骤S191中,通过参考时间信息I/P图像解码队列和用于管理重放装置1中 执行的每个处理的定时的时间管理计数器,CPU20确定是否存在显示时间已经过去的任何 流数据。如果在步骤S191中确定,存在显示时间已经过去的流数据,那么处理前进到步骤 S197。 如果在步骤S191中确定,不存在显示时间已经过去的流数据,那么处理前进到步
骤S192,其中执行以下将参考图19讨论的I图像/P图像解码处理。 在步骤S193中,执行以下将参考图20讨论的B图像解码处理。 在步骤S194中,通过将显示图像信息经由控制总线19写入PCI桥17的结果缓冲
器32,CPU20发送显示图像信息至CPU11以响应图3中步骤S6从CPU11发送的显示开始命
令。这使CPUll能通过参考存储在结果缓冲器32中的显示图像信息明白要显示哪一个GOP
的哪一个图像。 在步骤S195中,CPU20递增时间管理计数器。 然后,在步骤S196中,执行以下参考图23描述的省略处理1,并且然后处理返回到 图4的步骤S35。 如果在步骤S191中确定,存在其显示时间已经经过的流数据,那么处理前进到步 骤S197,其中执行以下参考图35描述的下溢处理。然后处理返回到图4的步骤S36。
根据帧控制处理,如果不存在其显示时间已经经过的流数据,那么基于解码计划 解码一个帧,并且执行省略处理1。如果存在其显示时间已经经过的流数据,那么执行以下 描述的下溢处理。 现在参考图19的流程图给出图18中步骤S192中执行的I图像/P图像解码处理的描述。 在步骤S221中,CPU20确定时间管理计数器的值是否匹配于与要随后解码的图像 的图像ID相关、并设置在时间信息I/P图像解码队列中的时间信息。如果在步骤S221中 确定,时间管理计数器的值不匹配于时间信息,那么处理返回到图18中步骤S192。
如果在步骤S221中确定,时间管理计数器的值匹配于时间信息,那么处理前进到 步骤S222。在步骤S222中,CPU20经由控制总线19控制解码器22、23或24(指定为执行 解码的解码器),以解码I图像或P图像,并从时间信息I/P图像解码队列中删除解码图像 的图像ID。 更确切地说,CPU20参考表示接收随后数据的解码器的寄存器值,并控制相应解码 器的基本流地址确定单元73,以允许存储器控制器74从输入缓冲器75中读出对应于在时 间信息I/P图像解码队列中设置的图像ID的图像数据,并将读取数据供给解码处理器77。
如果要解码的图像是I图像,那么CPU20控制解码处理器77来解码从存储器控制 器74供给的I图像,也控制写图像地址确定单元78将解码的帧数据供给存储器控制器81 , 并将解码的I图像存储在图6步骤S76中指定为I图像存储组的组中。如果要解码的图像 是P图像,那么CPU20控制参考图像地址确定单元79以根据在图6中步骤S76中设置的P 图像参考组位置、在存储器控制器81的控制下读取存储在视频组存储器82中的参考图像, 并且将读取的参考图像供给解码处理器77,并且控制解码处理器77解码从存储器控制器 74供给的P图像。CPU20也控制写图像地址确定单元78以将解码的帧数据供给存储器控 制器81并将解码的P图像存储在图6的步骤S76中设置的指定为P图像存储组的组中。
在步骤S222之后,处理返回到图18的步骤S192。 根据I图像/P图像解码处理,可以基于规定的计划来解码I图像和P图像。
现在参考图20的流程图给出的在图18中的步骤S193中执行的B图像解码处理 的描述。 在步骤S241中,CPU20确定时间计数器的值是否与对应于时间信息显示顺序设置 队列中设置的第一图像ID的时间信息一致。设置在时间信息显示顺序设置队列中的时间 信息是通过从显示阶段确定处理中确定的表示以显示顺序的在15帧中第一帧的显示定时 的阶段偏移disp_phaSe减1获得的值(调整到B图像的解码定时的参考时间信息),或者 该时间信息是与不同于显示顺序中第一帧的帧的图像ID相关的时间计数器的计数值。如 果在步骤S241中确定,时间计数器的值不与对应于在时间信息显示顺序设置队列中设置 的第一图像ID的时间信息一致,那么处理返回到图18中步骤S193。 如果在步骤S241确定,时间计数器的值与在时间信息显示顺序设置队列中设置 的时间信息一致,那么处理前进到步骤S242,以确定其时间信息与时间管理计数器的值一 致的图像ID是不是B图像。 如果在步骤S242中确定,对应的图像ID是B图像,那么处理前进到步骤S243,其 中CPU20经由控制总线19控制解码器22、23或24 (其指定为执行解码的解码器),以解码 由对应图像ID表示的B图像。 更确切地说,CPU20参考存储在寄存器中、表示接收随后数据的解码器的值,并控 制对应解码器的基本流地址确定单元73以允许存储器控制器74从输入缓冲器75中读取 在时间信息显示顺序设置队列中设置的图像ID的图像数据,并以将读取的图像数据供给
26解码处理器77。然后CPU20控制参考图像地址确定单元79以允许存储器控制器81根据在 图6中步骤S77中设置的B图像的参考组位置来读取存储在视频组存储器82中的参考图 像,并将读取的参考图像供给解码处理器77。然后CPU20控制解码处理器77以解码从存储 器控制器74供给的B图像。 在步骤S244中,CPU20设置B图像存储的组位置。更确切地说,CPU20控制写图像 地址确定单元78以便在视频组存储器82中,将B图像交替地存储在未指定为I图像/P图 像存储组的两个组中。CPU20控制写图像地址确定单元78以将解码处理器77解码的帧数 据供给存储器控制器81,并且将解码的帧数据存储在视频组存储器82中设置的组位置中。
如果在步骤S242中确定,对应的图像ID不是B图像,或者在步骤S244之后,处理 前进到步骤S245。在步骤S245中,CPU20将设置在时间信息显示顺序设置队列中的第一图 像ID设置在显示队列中。显示队列是具有仅仅存储一个图像ID的深度的队列。
更确切地说,如果在步骤S242中确定,对应的图像ID不是B图像,那么在步骤 S245中,CPU20将在图19的步骤S222中已经解码的I图像或P图像的图像ID设置在显示 队列中。如果在步骤S242中确定,对应的图像ID是B图像,那么处理前进到步骤S243,其 中解码B图像。在这种情况下在步骤S245中,CPU20将设置在时间信息显示顺序设置队列 中的第一图像ID(艮卩,解码的B图像的图像ID)设置在显示队列中。 从时间信息显示顺序设置队列中输出设置在时间信息显示顺序设置队列中的第 一图像ID,并且将紧随在显示队列中设置的图像ID的图像的图像的图像ID设置在时间信 息显示顺序设置队列的首部,或者时间信息显示顺序设置队列变为空。在步骤S245之后, 处理返回到图18中步骤S193。 如上所述,根据设置在时间信息I/P图像解码队列和时间信息显示顺序设置队列 中的时间信息来执行解码。在正向重放操作中,正如图21中所示,根据设置在时间信息I/ P图像解码队列中的时间信息来解码I图像和P图像,并且根据设置在时间信息显示顺序设 置队列中的时间信息来解码B图像。在反向重放操作中,如图22所示,根据设置在时间信 息I/P图像解码队列中的时间信息来解码I图像和P图像,并且根据设置在时间信息显示 顺序设置队列中的时间信息来解码B图像。 如图21和22所示,通过执行以下所讨论的一帧延迟显示设置处理,设置B图像的 解码定时以便B图像的解码定时与B图像的显示定时偏移一个帧,而无论重放方向是正向 还是反向。 图21和22举例说明了当重放速度分别是Xl和X-l时的解码定时和显示定时。 在快速重放操作中,通过如下所述的省略处理1来改变时间信息显示顺序设置队列的设 置,并且在省略处理1之后,根据时间信息显示顺序设置队列的改变的设置来在随后处理 例行程序中执行解码。在快速重放操作中,并不解码所有的B图像,但是解码所有的I图像 和P图像。 以下参考图23的流程图来描述在图18的步骤S196中执行的省略处理1。
在步骤S271中,CPU20根据设置在参考图5的输入流状态改变处理中设置的输入 流状态来确定用户设置的重放速度是不是快速重放操作。如果在步骤S271中确定,重放速 度不是快速,那么处理返回到图18的步骤S196,并且前进到图4中步骤S36。
如果在步骤S271中确定执行了快速重放操作,那么处理前进到步骤S272,以确定
27在改变速度设置后主题帧是不是第一 GOP的第一帧。 如果在步骤S272中发现主题帧是第一 GOP的第一帧,那么处理前进到步骤S273, 其中CPU20根据速度设置值来确定省略周期,并将所确定的省略周期设置在寄存器中。
更确切地说,如果重放速度是X2或X-2,那么CPU20将省略周期设置为1/2,并 将其存储在寄存器中。如果重放速度是X3或X-3,那么CPU20将省略周期设置为1/3,并 将其存储在寄存器中。 在步骤S274中,CPU20重置用于计数帧数目的帧计数器,而不管在省略处理1中 的解码处理单元。 如果在步骤S272确定,主题帧不是改变输入流状态之后的第一 GOP的第一帧,或 在步骤S274之后,那么处理前进到步骤S275以确定是否关联存储在时间信息显示顺序设 置队列中的各个图像ID地设置了检查标记,从而确定是否已经全部检查了设置在时间信 息显示顺序设置队列中的图像ID。检查标记是在下文中将讨论的步骤S280中设置在时间 信息显示顺序设置队列中的标记。如果在步骤S275中确定已经检查了存储在时间信息显 示顺序设置队列中的所有的图像ID,那么处理返回到图18中的步骤S196,并且前进到图4 中步骤S36。 如果在步骤S275中确定,没有检查时间信息显示顺序设置队列中所有的图像ID, 换句话说,存在一些没有设置检查标记的图像ID,那么处理前进到步骤S276,其中CPU20将 帧计数器递增l。 然后在步骤S277中,CPU20参考在确定并存储在寄存器中的省略周期以及帧计数 器值,以确定是否要显示在帧计数器中表示的帧。更确切地说,当省略周期为1/2时如果帧 计数器表示2n (n是正整数),那么CPU20确定要显示主题帧,并且在其它情况下,CPU20确 定不显示主题帧。当省略周期为1/3时如果帧计数器表示3n (n是正整数),那么CPU20确 定要显示主题帧,并且在其它情况下,CPU20确定不显示主题帧。如果在步骤S277中确定 要显示主题帧,即,不省略该帧,那么处理前进到步骤S280。 如果在步骤S277中确定,不显示主题帧,即,省略该帧,那么处理前进到步骤 S278。在步骤S278中,CPU20从时间信息显示顺序设置队列中删除主题帧的图像ID,或者 在时间信息显示顺序设置队列中的图像ID中设置表示不显示该帧的标记(不显示标记)。
在步骤S279中,执行以下参考图24描述的时间信息重置处理。
如果在步骤S277中确定要显示在帧计数器中表示的帧,或者在步骤S279之后,那 么处理前进到步骤S280。在步骤S280中,CPU20在时间信息显示顺序设置队列中将检查标 记设置在帧计数器中表示的帧的图像ID中。处理返回到步骤S275,并且重复对应的处理。
根据省略处理l,从时间信息显示顺序设置队列中删除不显示的帧的图像ID,或 者将不显示标记设置在时间信息显示顺序设置队列中的对应的图像ID中。通过参考时间 信息显示顺序设置队列来执行B图像显示处理和一帧延迟显示设置处理(以下讨论)。由 于响应于快速重放操作,更新了时间信息显示顺序设置队列的设置,因而在该处理例行程 序之后,仅仅解码要显示的B图像,换句话说,不将要省略的B图像供给解码处理器77。尽 管对要省略的I图像和P图像进行了解码,但不显示它们。 独立于GOP地不断地将帧计数器值递增,而无需重置,直至改变了速度设置,即, 直至改变了输入流状态。由于省略周期的分母是无法整除形成一个GOP的帧的数目的值,例如当一个GOP包括15帧并且重放速度是X2、 X4、 X-2、或X-4时,不显示的图像的位 置有时根据G0P而改变。即使在这种情况下,通过使用表示在输入流中的帧顺序的帧计数 器值,也能够根据省略周期轻易地确定是否显示主题帧。 照此,在将B图像输入解码器之前将其省略,并且以规律间隔省略I图像和P图 像,而无需在将其解码后进行显示,从而通过跟随速度的动态改变来实现快速重放操作。由 于在解码期间I图像和P图像可以用作其它图像的参考图像,因而该方法在通过在存储器 中用最小数目的组以规律间隔省略图像而执行快速重放操作中是有效的。
根据省略处理l,当以规律间隔省略图像时,如果使用两个解码器,那么可以将速 度设置为从X-3到X3的范围之间,并且如果使用三个解码器,那么可以将速度设置为 从X-6到X6的范围之间。通过使用两个或更多解码器,可以执行类似于上述省略处理1 的省略处理,从而实现快速重放操作。 以下参考图24的流程图讨论在图23的步骤S279中执行的时间信息重置处理。
在步骤S301中,CPU20检测由于在速度设置值中的改变而执行省略处理1所增加 的或删除的图像的数目。 在步骤S302中,CPU20将要增加或删除的图像数目设置为时间信息调整值added_ count。 在步骤S303中,CPU20重置时间信息显示顺序设置队列中的时间信息,以便能够 不断排列时间信息。然后处理返回到图23中的步骤S279。 根据时间信息重置处理,根据重放速度来改变执行省略处理之后的时间信息显示 顺序设置队列中的设置。在随后处理例行程序中,根据改变的时间信息显示顺序设置队列 来控制B图像的解码定时和所有帧的显示定时。 以下参考图25至30来描述在省略处理1中的时间信息显示顺序设置队列中的设 置。图25至30的顶部举例说明了执行省略处理之前的计划情形,要省略的帧用虚线表示。 图25至30的底部举例说明了执行省略处理之后的计划情形。在图25至30中,括号中的 数字0、1或2表示存储在信息队列中的信息对应于哪一个解码器22、23或24,或者通过 哪一个解码器22、23或24来执行存储在信息队列中的信息。 例如,在X2快速重放操作中,如图25所示,省略图像之后在解码单元中要显示的 图像的改变数目是-7,并且因此时间信息调整值addecLco皿t变为-7。然后,由于在随后 解码单元中第一图像的图像类型从I图像改变为B图像,因而阶段调整值变为-1。因此,如 果阶段偏移校正值disp_zero为O,那么time_base所调整的量就是_8。由于第二 GOP的 第一图像是B图像,因而第二GOP的显示开始定时就比I图像的解码开始定时晚了 7帧。
例如,在X-2快速重放操作中,如图26所示,省略图像之后在解码单元中要显示 的图像的改变数目是-7,并且因此时间信息调整值addecLco皿t变为_7。然后,由于在随 后解码单元中第一图像的图像类型保留与B图像相同,因而阶段调整值变为O。因此,如果 阶段偏移校正值disp_zero为0,那么time_base所调整的量就是_7。由于第二 GOP的第 一图像是B图像,因而第二G0P的显示开始定时就比I图像的解码开始定时晚了 7帧。
例如,在X4快速重放操作中,如图27所示,省略图像之后在解码单元中要显示的 图像的改变数目是-ll,并且因此时间信息调整值addecLco皿t变为-ll。然后,由于在随 后解码单元中第一图像的图像类型从I图像改变为B图像,因而阶段调整值变为-1。因此,如果阶段偏移校正值disp_zero为O,那么time_base所调整的量就是_12。由于第二 GOP 的第一图像是B图像,因而第二GOP的显示开始定时就比I图像的解码开始定时晚了 7帧。
例如,在X-4快速重放操作中,如图28所示,省略图像之后在解码单元中要显示 的图像的改变数目是-ll,并且因此时间信息调整值addecLco皿t变为-ll。然后,由于在 随后解码单元中第一图像的图像类型保留与B图像相同,因而阶段调整值变为O。因此,如 果阶段偏移校正值disp_zero为O,那么time_base所调整的量就是_11。由于第二 GOP的 第一图像是B图像,因而第二GOP的显示开始定时就比I图像的解码开始定时晚了 7帧。
例如,在X5快速重放操作中,如图29所示,省略图像之后在解码单元中要显示的 图像的改变数目是-12,并且因此时间信息调整值addecLco皿t变为-12。然后,由于在随 后解码单元中第一图像的图像类型保留与I图像相同,因而阶段调整值变为O。因此,如果 阶段偏移校正值disp_zero为O,那么time_base所调整的量就是_12。由于第二 GOP的第 一图像是I图像,因而第二 GOP的显示开始定时就比I图像的解码开始定时晚了 6帧。
例如,在X-5快速重放操作中,如图30所示,省略图像之后在解码单元中要显示 的图像的改变数目是-12,并且因此时间信息调整值addecLco皿t变为-12。然后,由于在 随后解码单元中第一图像的图像类型保留与B图像相同,因而阶段调整值变为0。因此,如 果阶段偏移校正值disp_zero为O,那么time_base所调整的量就是_12。由于第二 GOP的 第一图像是B图像,因而第二G0P的显示开始定时就比I图像的解码开始定时晚了 7帧。
然后,在随后要重复的图17的时间信息计划确定处理的步骤S167中,如图25至 30所示,根据等式(1)来计算解码开始时间信息time—base。然后,根据所计算的解码开始 时间信息time—base来计算对应于在时间信息I/P图像解码队列中设置的图像ID的I图 像和P图像的解码开始定时,并且然后根据所计算的解码开始时间信息time—base和时间 信息显示顺序设置队列(从该队列中删除了不显示的帧),来确定执行省略处理1之后的B 图像的解码和显示计划。 例如,现在假设,当N为15(N是一个G0P中的帧的数目)而M为3(M是I图像、P 图像或I图像与P图像之间的间隔)时,重放装置1解码MPEG长GOP流。在这种情况下, 在图2所示视频组存储器82的8个组中,将锚帧1、P、P、P、P、 I不改变地存储在组No. 0至 No. 5中,并且B图像交替地存储在组No. 6和No. 7中,以便比进行显示旱一帧对它们进行解 码。利用这种配置,尽管视频组存储器82中的组的数目是8,但是可以在根据解码器数目 (该实施方式的重放装置1中有3个解码器)设置的速度范围内(正向和反向)执行显示 操作。 以下参考图31至34来描述视频组存储器82的设置。 图31举例说明当执行X 1重放操作时存储在图2所示视频组存储器82中的8个 组中的图像。 在由I图像和P图像占据的组No. O至No. 5中,解码的I图像和P图像以解码顺序 连续地存储。当显示第一 12图像时,B3图像同时存储在组No. 6中,并且当显示B3图像时, B4图像同时存储在组No. 7中。当显示B3图像时,释放存储已经显示的B3图像的组No. 6 和存储已经用作参考图像的12图像的组No. 0。其后,B图像交替地存储在组No. 6和No. 7 中,以便B图像的显示定时比B图像的解码定时晚一个帧,并且在已经显示了 B图像之后释 放组No. 6和No. 7。在所存储的P图像已经用作参考图像之后释放组No. 1至No. 5。也就是说,在已经显示所存储的图像之后并不释放组No. 0至No. 5,但是在所存储的图像已经用 作参考图像并且已经显示了这些图像之后释放组No. 0至No. 5。 图32举例说明当执行X2重放操作时图2所示视频组存储器82的8个组中存储 的图像。 在由I图像和P图像占据的组No. 0至No. 5中,解码的I图像和P图像以解码顺 序连续地存储。当显示第一 12图像时,B4图像同时存储在组No.6中,并且当显示B4图像 时,B6图像同时存储在组No.7中。然后,当显示B6图像时,释放存储已经显示的B4图像 的组No. 6和存储已经用作参考图像的12图像的组No. 0。其后,不省略的B图像交替地存 储在组No. 6和No. 7中,以便B图像的显示定时比B图像的解码定时晚一个帧,并且在已经 显示了 B图像之后释放组No. 6和No. 7。在已经显示所存储的图像之后并不释放组No. 0至 No.5,但是在所存储的图像已经用作参考图像并且已经显示了这些图像之后释放组No.0 至No. 5。因此在所存储的P图像和I图像已经用作参考图像之后并且已经显示了这些图像 之后释放组No. 1至No. 5。 图33举例说明当执行X-l重放操作时图2所示视频组存储器82的8个组中存 储的图像。 在由I图像和P图像占据的组No. 0至No. 5中,解码的I图像和P图像以解码顺 序连续地存储。在将12图像存储在组No. 5中之后,B1图像存储在组No. 6中,并且当显示 Bl图像时,B0图像同时存储在组No. 7中。当显示B1图像时,释放存储已经显示的B1图像 的组No. 6。其后,B图像交替地存储在组No. 6和No. 7中,以便B图像的显示定时比B图像 的解码定时晚一个帧,并且在已经显示了 B图像之后释放组No. 6和No. 7。在已经显示了所 存储的图像之后并且在已经使用所存储的图像作为参考图像之后释放组No. 0至No. 5。也 就是说,由于在图33所示实例中执行反向重放操作,最后一次显示首先存储在组No. 0中的 12图像,直至该GOP的显示结束以后才释放组No. 0。 图34举例说明当执行X-2重放操作时,存储在图2所示视频组存储器82中的8 个组中的图像。 在由I图像和P图像占据的组No. 0至No. 5中,解码的I图像和P图像以解码顺 序连续地存储。在将12图像存储在组No. 5之后,B1图像存储在组No. 6中,并且在显示了 Bl图像之后,B12图像存储在组No. 7中。然后,释放存储已经显示的B1图像的组No. 6。其 后,未省略的B图像交替地存储在组No. 6和No. 7中,以便B图像的显示定时比B图像的解 码定时晚一个帧,并且在已经显示了 B图像之后释放组No. 6和No. 7。在已经显示了所存储 的图像之后并且在已经使用所存储的图像作为参考图像之后释放组No. 0至No. 5。也就是 说,由于在图34所示实例中执行反向重放操作,最后一次显示首先存储在组No. 0中的12 图像,直至该G0P的显示结束以后才释放组No. 0。 如上所述,当对使用通常用于图像压縮方法的诸如MPEG的双向帧间预测压縮的
图像数据执行反向重放操作或者快速重放操作时,进行解码计划以便首先解码I图像和P 图像并且B图像的显示定时变得比B图像的解码定时要晚一个帧,并且因而I图像和P图
像可以存储在组中固定位置。因而,可以利用最小数量的组有效地执行反向重放操作或快 速反向重放操作,而不需要复杂组控制操作。 更确切地说,如果用于存储帧的组数是包含在解码处理单元中的I图像和P图像的数目与用于存储B图像的2个组之和,那么就足够了。在这种情况下,通过将I图像和P 图像(锚帧)存储在组中的固定位置,可以实现快速重放操作或者反向重放操作而无需复 杂组控制操作。 例如,在MPEG长GOP流中,当N是15 (N是在一个GOP中的帧的数目)并且M是
3(M是I图像、P图像、或者I图像与P图像之间的时间间隔)时,如该实施例,准备具有总
共8组的视频组存储器,即,5组用于I、 P、 P、 P、和P图像, 一组用于随后I图像,以及两组
用于B图像。利用这种结构,通过将I图像和P图像存储在组中的固定位置,可以实现快速
重放操作、反向重放操作、或者快速反向重放操作,而无需复杂组控制操作。 为了改善对来自用户的改变速度的指令的响应,B图像的解码或显示有时挂起以
便以帧单元改变速度。在这种情况下,尽管B图像的解码定时和显示定时是分开管理的,可
以简单地执行组控制。例如,当输入流转变时即使在通过参考其它图像预测图像中发生了
错误,它恢复正确帧(下面描述的下溢处理)。因而,速度可以帧单元改变。 以下参考图35的流程图描述在图18的步骤S197中执行的下溢处理。 在步骤S331中,通过参考时间管理计数器和时间计数器,CPU20确定流数据的供
给相对于显示处理是否延迟,例如,是否发生了下溢。如果在步骤S331中确定,没有发生下
溢,那么处理返回到图18的步骤S197中并且前进到图4的步骤S36中。 如果在步骤S331中确定已经发生了下溢,那么处理前进到步骤S332,其中CPU20
将时间计数器的值调整到在时间信息I/P图像队列的首部的时间。然后处理返回到图18
中步骤S197,并且前进到图4中步骤S36。 以下参考图36和37描述当下溢发生时时间计数器的调整。在图36和37中,在 括号中的数字0、1或2表示存储在信息队列中的信息对应于哪一个解码器22、23或24,或 者存储在信息队列中的信息是通过哪一个解码器22、23或24来执行的。
图36举例说明存储在信息队列中的信息和当如在图30所执行的X_5重放操作 中下溢不发生时,关于时间计数器的解码定时和显示定时。在图36中,通过举例的方式, GOP的I图像的解码开始定时的时间计数器表示7。 例如,如果下溢发生了两个帧的量,那么时间计数器延迟两个帧,如图37所示,并 且通过参考调整的时间计数器来重启处理,从而允许随后不延迟地进行计划、解码、和显示 控制。 根据该处理,即使流的供给由于例如当执行快速重放操作时HDD16的减少的吞吐 量而延迟,可以检测到由于流的供给延迟而导致的下溢,并且将时间信息的计数延迟下溢 发生的时间,从而不受中断地重启重放处理。 如果在图4中步骤S36中确定,不是所有的帧都处理了 ,那么处理前进到步骤S37, 其中递增时间计数器。然后处理返回到步骤S31,并且重复相应的处理。
对于第七或者随后的帧,由于在步骤S33中确定,主题帧不是第一至第六帧之一, 所以在步骤S34中执行一帧延迟显示设置处理。 参考图38的流程图,给出在图4中步骤S34中执行的一帧延迟显示设置处理的描 述。 在步骤S361中,CPU20根据存储在显示队列中的信息经由控制总线19发送显示 指令至相应解码器22、23或24,以便显示处理变得比解码处理晚一帧,并且从显示队列中
32删除相应的图像ID。在这种情况下,相应解码器22、23或24的输出地址确定单元80经由 控制总线76从CPU20接收控制信号,并控制存储器控制器80从视频组存储器82读出相应 的图像并将读取的图像供给选择器25。 在步骤S362中,CPU20根据表示接收随后数据的解码器的寄存器值,控制选择器 25输出解码的帧,所述寄存器值在图6中步骤S81中设置。然后处理返回到图4中步骤 S34。 例如,如果重放速度是Xl,如图21所示,如下执行显示控制。以时间信息显示顺 序设置队列中图像的顺序显示图像,以便根据在时间信息显示顺序设置队列中设置的时间 信息,B图像的显示定时变得比B图像的解码定时要晚。 如果重放速度是X-l,如图22所示,那么如下执行显示控制。以时间信息显示顺 序设置队列中设置的图像顺序显示图像,以便根据在时间信息显示顺序设置队列中设置的 时间信息,B图像的显示定时变得比B图像的解码定时要晚。 这同样应用于图25所示的X2重放操作,图26中示出的以X-2速度的重放操 作,图27示出的以X 4速度重放操作,图28示出的以X -4的速度重放操作,图29示出的 以X5速度的重放操作,和图30示出的以X-5速度的重放操作。 根据该处理,如果存储帧的组数目等于包含在解码处理单元中I图像和P图像的 数目与用于存储B图像的两个组之和,通过将I图像和P图像(其是锚帧)存储在组中固 定位置,可以实现快速重放操作、反向重放操作、或者快速反向重放操作,而无需复杂组控 制操作。 解码定时和显示定时之间的阶段偏移是根据包含在解码处理单元中的I图像和P 图像的数目来确定的。作为选择,解码定时和显示定时之间的阶段偏移可以根据包含在解 码处理单元中的帧之中的要显示的帧的数目来确定。 当执行快速正向或反向重放操作时,在用于第二和随后解码处理单元的解码计划 中,在确定要显示的帧和不要显示的帧之前,即在执行帧省略之前,可以提前检测道编码参 数,例如要在解码处理单元的首部显示的图像类型。 例如,在确定要显示的帧和不要显示的帧之前,提前检测到要在解码处理单元首 部显示的图像类型,例如,根据在先前解码处理单元的计划中计数的帧计数器和计算的省 略周期。 利用这种结构,可以更加精确和更加迅速地执行解码计划处理。 以下描述用于检测在要解码处理单元首部显示的图像的图像类型的处理的特定实例。 参考图39的流程图,给出了要在各个帧上执行的帧处理2的描述,其中可以在执
行计划之前检测到在解码处理单元的首部显示的图像的图像类型。为每个帧重复该处理例
行程序直至已经处理了要显示的流数据或者直至提供了完成显示操作的指令。 在步骤S431中,执行参考图5所讨论的输入流数据状态改变处理。 在步骤S432中,执行下面将参考图40描述的解码计划处理2。在解码计划处理2
中,计划了解码定时。在解码定时计划处理之前,检测在解码处理单元首部显示的图像的图
像类型。 然后,在步骤S433中,CPU20通过参考表示各个帧的处理时间的时间计数器,确定主题帧是不是要以解码顺序重放的流数据的第一至第六帧中的一帧。 如果在步骤S433中确定,主题帧不是第一至第六帧中的一帧,那么处理前进到步 骤S434,其中执行参考图38讨论的一帧延迟显示设置处理。 如果在步骤S433中确定,主题帧是要重放的流数据的第一至第六帧中的一帧,或 者在步骤S434之后,处理前进到步骤S435,其中执行以下参考图42讨论的帧控制处理2。 在帧控制处理2中,解码主题帧。 在步骤S436中CPU20确定是否已经处理了所有的帧。如果在步骤S436中确定, 不是所有的帧都经过了处理,那么处理前进到步骤S437,其中CPU20为各个帧递增时间计数器。 在步骤S437之后,处理返回到步骤S431,并且重复随后的处理。如果在步骤S436 中确定,所有的帧都已经经过了处理,那么结束处理。 如上所述,CPU20为各个帧递增时间计数器,根据用户指示的重放速度来执行解码 计划,并解码各个帧。在该处理中,在执行解码定时计划之前,检测在解码处理单元首部显 示的图像的图像类型。 以下参考图40中流程图来描述在图39中步骤S432中执行的解码计划处理2。
步骤S471至S478是基本上分别地类似于在图6中的步骤S71至S78的步骤。
在步骤S471中,CPU20通过参考输入队列确定输入队列是否为空。如果输入队列 不为空,那么处理返回到图39中步骤S432。如果在步骤S471中发现输入队列为空,那么处 理前进到步骤S472,其中执行参考图15讨论的输入处理。 然后在步骤S473中确定,为接收随后数据的解码器设置的时间信息显示顺序设
置队列是否为空。如果时间信息显示顺序设置队列不为空,也就是说,如果对计划的GOP的
各个帧正在执行解码处理或者显示处理,那么处理返回到图39中步骤S432。 如果在步骤S473中发现时间信息显示顺序设置队列为空,那么处理前进到步骤
S474,其中执行重排序处理。 在步骤S475中,在I/P图像解码队列中以解码顺序设置要解码的GOP的I图像和 P图像的图像ID。然后,在步骤S476中,指定存储I图像和P图像的组位置,和用于解码P 图像的参考图像组。在步骤S477中,根据用于存储I图像和P图像的组位置,指定用于解 码B图像的参考图像组的位置。然后,设置在图12A和12B中示出的显示顺序设置队列。
在步骤S479中,执行以下参考图41描述的省略处理2。在省略处理2中,在执行 解码定时计划处理之前检测要在解码处理单元首部显示的图像的图像类型。
步骤S480至S482基本上分别类似于图6中的步骤S79至S81。也就是说,在步骤 S480中,执行在图16中示出的显示阶段确定处理。在步骤S481中,执行在图17中示出的 时间信息计划确定处理以便计划解码定时和显示定时。 更确切地说,由于步骤S479中的省略处理2,能够在执行解码定时计划之前检测 到要在解码处理单元首部显示的图像的图像类型。因此,例如,如果显示的首部是I图像或 P图像,如图13所示,那么计划解码定时和显示定时以便在解码B图像之前解码I图像和P 图像,以便显示定时变得比解码定时要晚6幅图像,其结果是B图像的显示定时变得比B图 像的解码定时要晚一帧。如果显示首部是B图像,如图14所示,那么计划解码定时和显示 定时以便在解码B图像之前解码I图像和P图像,以便显示定时变得比解码定时要晚7幅
34图像,其结果是B图像的显示定时要比B图像的解码定时晚一帧。 在步骤S482中,切换接收随后数据的解码器的设置。然后,处理返回到图39中步 骤S432。 根据解码计划2来计划解码定时和显示定时。 以下参考图41中的流程图讨论在图40的步骤S479中执行的省略处理2。
在步骤S501中,CPU20根据在参考图5所述的输入流状态改变处理中设置的输入 流状态确定,用户指示的重放速度是否快速。如果在步骤S501中确定重放速度不是快速, 那么处理前进到以下讨论的步骤S510。 如果在步骤S501中发现重放速度是快速,那么处理前进到步骤S502,以确定在改 变了速度设置之后主题帧是否是第一 GOP的第一帧。 如果在步骤S502中发现主题帧是第一 GOP的第一帧,那么处理前进到步骤S503, 其中CPU20根据速度设置值G0P—Speed确定省略周期并且将所确定的省略周期存储在寄存 器中。 更确切地说,如果重放速度是X2或者X-2,那么CPU20将省略周期设置为1/2并 将其存储在寄存器中。如果重放速度是X 3或者X -3,那么CPU20将省略周期设置为1/3 并将其存储在寄存器中。 在步骤S504中,CPU20重置用于计数帧数目的帧计数器,而不管在省略处理2中 的解码处理单元。 如果在步骤S502中确定,在改变了输入流状态之后主题帧不是在第一GOP的第一 帧,或者在步骤S504之后,处理前进到步骤S505。在步骤S505中,通过确定是否已经设置 了与存储在显示顺序设置队列中的图像ID相关的检查标记,确定是否已经检查了存储在 显示顺序设置队列中存储的所有图像ID。检查标记是在下文中将讨论的步骤S509中在显 示顺序设置队列中设置的标记。如果在步骤S505中确定,已经检查了显示顺序设置队列中 的所有图像ID,那么处理前进到步骤S510。 如果在步骤S505中确定,不是所有的显示顺序设置队列中的图像ID都经过了检 查,换句话说,存在一些显示顺序设置队列中没有设置检查标记的图像ID,那么处理前进到 步骤S506,其中CPU20将帧计数器递增1。 然后在步骤S507中,CPU20参考所确定并存储在寄存器中的省略周期和帧计数器 值,来确定是否要显示在帧计数器中表示的帧。更确切地说,如果当省略周期是1/2时帧计 数器表示2n(n是正整数),那么CPU20确定要显示主题帧,在其它情况下,CPU20确定不显 示该主题帧。如果当省略周期是1/3时帧计数器表示3n (n是正整数),那么CPU20确定要 显示主题帧,在其它情况下,CPU20确定不显示该主题帧。如果在步骤S507中确定主题帧 是要显示的,即该帧不省略,那么处理前进到步骤S509中。 如果在步骤S507中确定,不显示该帧,即省略该帧,那么处理前进到步骤S508,其 中CPU20在显示顺序设置队列中在主题帧中设置删除标记。 如果在步骤S507中确定要显示该帧,或者在步骤S508之后,处理前进到步骤 S509。在步骤S509中,CPU20在对应于在帧计数器中表示的帧的图像ID中设置检查标记。 处理返回到步骤S505,并且重复相应的处理。 如果在步骤S501中确定,重放速度不是快速,或者在步骤S505中确定已经检查了显示顺序设置队列中的所有图像ID,那么处理前进到步骤S510。在步骤S510中,CPU20在 显示顺序设置队列中设置当执行省略处理2时的速度设置值GOP—Speed。处理返回到图40 的步骤S479。 根据省略处理2,在执行解码计划之前,在显示顺序设置队列中要省略的帧中设置
删除标记,并且当进行解码计划时能够检测到要在解码处理单元首部显示的图像的图像类
型。在该处理例行程序之后,仅仅解码了要显示的B图像,并且不将要省略的B图像提供给
解码处理器77。尽管解码了要省略的I图像或P图像,也不显示它们。 以下参考图42描述在图39中步骤S435中执行的帧控制处理2。 在步骤S541中,CPU20通过参考时间信息I/P图像解码队列和用于管理在重放装
置1中执行的各个处理的定时的时间管理计数器,确定是否存在其显示时间已经过去的任
何流数据。如果在步骤S541中确定存在其显示时间已经过去的流数据,那么处理前进到步
骤S547,其中执行参考图35讨论的下溢处理。然后处理返回到图39中步骤S435。 如果在步骤S541中确定没有其显示时间已经过去的流数据,那么执行步骤S542
至步骤S545,其基本上分别类似于图18中步骤S192至步骤S195。 更确切地说,在步骤S542中,执行以下参考图19讨论的I图像/P图像解码处理。 在步骤S543中,执行以下参考图20讨论的B图像解码处理。在步骤S544中,CPU20发送 显示图像信息至CPU11并递增时间管理计数器。对其中在图41中步骤S508中没有设置删 除标记的帧(没有省略的帧)执行步骤S542至步骤S544。 然后,在步骤S546中,执行以下参考图43描述的省略处理3,并且然后处理返回到 图39中步骤S435。 根据帧控制处理2,如果没有其显示时间已经经过的流数据,那么根据解码计划来 解码一帧,并且将显示图像信息发送到CPU11,并且执行省略处理3。如果存在其显示时间 已经经过的流数据,那么执行参考图35描述的下溢处理。 现在参考图43的流程图给出在图42中步骤S546中执行的省略处理3的描述。
在步骤S571中,CPU20确定重放速度是否比同一方向的先前省略处理(如果在 解码计划处理2中执行省略处理2,则为省略处理2)时要快。更确切地说,如果当前速度 (speed)大于在显示顺序设置队列中设置的G0P_speed,即如果speed/GOP—speed > 1保持 为真的,CPU20确定重放速度变得更快。如果在步骤S571中确定重放速度不比同一方向先 前省略处理中的速度快,即重放速度保留相同或者更慢,或者重放方向是反向,那么处理返 回到图42的步骤S546中,并前进到图39中步骤S436中。 如果在步骤S571中确定,当前速度变得比同一方向先前省略处理中的速度要快, 那么处理前进到步骤S572。在步骤S572中,CPU20根据当前速度设置值和在先前省略处理 2中的速度设置值来确定省略周期,并存储所确定的省略周期。 更确切地说,CPU20根据speed/GOP—speed的绝对值的倒数来设置省略周期。例 如,如果当前速度从先前速度X2改变到X4,那么CPU20就将省略周期设置为1/2,并将其 存储在寄存器中。 在步骤S573中,CPU20重置用于计数帧数目的帧计数器,而不管在省略处理3中 的解码处理单元。 在步骤S574中,确定检查标记是不 与存储在时 信息显示顺序设置队列中的各个图像ID而相关地设置,从而确定是否已经检查了在时间信息显示顺序设置队列中设 置的所有图像ID。检查标记是在下文中讨论的步骤S579中设置在时间信息显示顺序设置 队列中的标记。如果在步骤S574中发现已检查存储在时间信息显示顺序设置队列中的所 有图像ID,那么处理返回到图42中步骤S546,并前进到图39中步骤S436。
如果在步骤S574中确定,不是检查了在时间信息显示顺序设置队列中的所有图 像ID,即,存在一些还没有设置检查标记的图像ID,那么处理前进到步骤S575,其中CPU20 将帧计数器递增1。 然后,在步骤S576中,CPU20参考所确定的并存储在寄存器中的省略周期和帧计 数器值,以确定是否要显示在帧计数器中表示的帧。更确切地说,如果当省略周期是1/2时 帧计数器表示2n(n是正整数),那么CPU20就确定主题帧要显示,在其它情况下,CPU20确 定主题帧不显示。如果当省略周期是1/3时帧计数器表示3n(n是正整数),那么CPU20就 确定主题帧要显示,并且在其它情况下,CPU20确定主题帧不显示。如果在步骤S576确定, 主题帧要显示,即该帧不省略,那么处理前进到步骤S579。 如果在步骤S576中确定主题帧不显示,即该帧要省略,那么处理前进到步骤 S577。在步骤S577中,CPU20从时间信息显示顺序设置队列中删除主题帧的图像ID,或者 在时间信息显示顺序设置队列中的图像ID中设置标记以表示该帧不显示(不显示标记)。
在步骤S578中执行参考图24描述的时间信息重置处理。在这种情况下,在步 骤S302中计算的时间信息增加值addecLco皿t是当速度从先前省略处理改变时由在步骤 S576和S577中的省略处理改变的图像数。 如果在步骤S576中确定,要显示在帧计数器中表示的帧,或者在步骤S578之后, 处理前进到步骤S579。在步骤S579中,CPU20在时间信息显示顺序设置队列中在帧计数器 中表示的帧的图像ID中设置检查标记。然后处理返回到步骤S574并且重复相应的处理。
根据省略处理3,如果速度改变得比在同一方向省略处理2中的速度还快,那么从 时间信息显示顺序设置队列中删除不显示的帧的图像ID,或者在时间信息显示顺序设置队 列中的相应图像ID中设置不显示标记。通过参考重置的时间信息显示顺序设置队列来执 行B图像显示处理和一帧延迟显示设置处理。如果速度变得比在同一方向的省略处理2中 的速度还快,那么根据设置速度来改变时间信息显示顺序设置队列中的设置。因此,在该处 理例行程序之后,仅仅解码了要显示的B图像,换句话说,要省略的B图像不提供给解码处 理器77。尽管解码了要省略的I图像和P图像,但是也不对其进行显示。
因此,即使在完成解码计划之后,为各个帧确定是否改变了速度设置。如果速度改 变得比在同一方向的省略处理2中的速度还快,那么重置时间信息显示顺序设置队列,从 而执行解码计划以便能够通过迅速响应速度改变而重放流数据。 当一个G0P包括15幅图像时,上述已经描述了解码处理。以下参考图44至64描 述了这样的情况,其中包含在一个GOP中的锚帧(I图像和P图像)的数目是6或者更多或 者4或更少。 如果以类似于如图1所示重放装置1为包括15幅图像的各个GOP执行的解码处 理的方式,为包括许多锚帧的各个GOP执行解码,如图44和45所示, 一些图像不解码或者 延迟一些图像的解码。 现在参考图44给出这种情况的描述,其中通过一个解码器(解码器22、23和24中的一个)以类似于为包括15幅图像的一个G0P执行的解码处理的方式解码一个G0P,以XI 的速度来正向重放包括由从BO至P14的15幅图像形成的GOP(O)、由从BO至P20的21幅 图像形成的G0P(1)、由从B0至P14的15幅图像形成的G0P(2)的流。 利用先前GOP来解码在各个GOP的首部的B图像。由于在GOP(l)中存储7幅锚 帧,在视频组存储器82中的8个组中用于解码锚帧的6个组就由12至P17所占据,并且没 有空间给GOP(l)的接下来的锚帧P20和G0P(2)的12。因此,在解码GOP(l)的解码器中, 在解码期间,GOP(l)的锚帧P20和G0P(2)的I2不能用作参考图像,从而无法解码G0P(1) 的P17和随后帧以及G0P(2)的BO和Bl。 现在参考图45给出以下情况的描述,其中通过一个解码器(解码器22、23和24 之一 )以类似于为包括15幅图像的一个GOP而执行的解码处理的方式解码一个GOP,来 以X-l的速度反向重放包括由从BO至P14的15幅图像构成的GOP(O)、由从BO至P20的 21幅图像构成的GOP(l)、和由从BO至P14的15幅图像构成的G0P(2)的流。
利用随后的GOP来解码在各个GOP首部的B图像。由于如图44所示,GOP(l)中 有7个锚帧,在视频组存储器82中的8个组中,由12至P17占据用于解码锚帧的6个组, 并且没有空间给GOP(l)的接下来的锚帧P20和先前G0P(2)的12。因此,在解码GOP(l)的 解码器中,在解码期间,GOP(l)的锚帧P20和先前G0P(2)的I2不能用作参考图像,从而无 法解码GOP(l)的P17和随后帧以及G0P(2)的B0和B1。 正如以上所讨论的,由于形成一个G0P的图像的大量锚帧,如果以类似于由图1所 示重放装置1为包括15幅图像的每个GOP而执行的方式执行解码处理,那么不解码一些 帧。 以下参考图46和47讨论这样的情况,其中对一个具有4个或者更少锚帧的GOP 和具有5个或更多锚帧的GOP不断执行快速重放操作。 现在参考图46给出以下情况的描述,其中通过由一个解码器(解码器22、23和24 之一)以类似于在包括15幅图像的一个G0P上执行的解码处理的方式解码一个G0P,以X2 的速度正向重放包括GOP(O)、 GOP(l)和G0P(2)(其中每个是由3幅图像BO、 Bl、和12形 成)以及包括由从BO到P14的15幅图像构成的G0P(3)和G0P(4)的流。
利用先前GOP来解码各个GOP首部的B图像。在GOP (0) 、 GOP (1)和GOP (2)中仅 仅有一个锚帧,并且在随后GOP (3)中有5个锚帧。在GOP (0)的B0和Bl之间,在解码器2 中利用先前帧解码要显示的BO,然后,在解码器0中解码GOP(O)的12和GOP(l)中要显示 的B1,并且然后,在解码器1中解码GOP(l)的I2和G0P(2)中要显示的BO。在各个解码器 中,不开始随后解码处理直至输出在先前解码处理中的所有图像。 也就是说,由于解码器O在输出GOP(l)的B1之后开始解码G0P(3)的锚帧,因而延 迟发生在解码处理中。因此,由解码器2解码的G0P(3)的B1保留输出直至在解码G0P(3) 的锚帧之后结束B3(首先显示的)的解码。 现在参考图47给出这种情况的描述,其中通过由一个解码器(解码器22、23、和 24之一 )以类似于在包括15幅图像的一个GOP上执行的解码处理的方式解码一个G0P, 以X-2速度来反向重放包括G0P(4)、G0P(3)和G0P(2)(其中每个是由3幅图像B0,B1,12 构成的)并包括由从B0至P14的15幅图像构成的GOP(l)和GOP(O)的流。
利用先前GOP来解码各个GOP首部的B图像。在GOP (4) 、 GOP (3)和GOP (2)中仅仅有一个锚帧,并且在随后GOP (1)中有5个锚帧。在先于GOP (4)的GOP的BO和Bl之间, 在解码器1中利用GOP (4)的12来解码要显示的B0,然后,在GOP (4)的BO和Bl之间,在解 码器0中与G0P(3)的12 —起来解码要显示的Bl。并且然后,在G0P(3)的BO和Bl之间, 在解码器2中与G0P(2)的12—起解码要显示的B1。然后,在G0P(2)的B0和B1之间,在 解码器l中与GOP(l) —起解码要显示的BO。在各个解码器中,不开始随后解码处理直至输 出先前解码处理中所有图像。 也就是说,由于解码器1在输出GOP (4)的12之后开始解码GOP (1)的锚帧,因而延 迟发生在解码处理中。因此,由解码器2解码的G0P(3)的I2保留输出直至在解码G0P(1) 的锚帧之后结束G0P(2)的首先显示的BO的解码。 照此,如果对包括少数锚帧的G0P和包括多数锚帧的G0P执行类似于由图1所示 重放装置1对包括15幅图像的一个G0P执行的解码处理,那么需要耗费时间来解码锚帧, 从而导致在解码处理中的延迟。 为了应付这样的情况,如参考图44至47所描述的,其中在G0P中图像的数目不是 图l所示重放装置l中的15幅,那么可以采取以下措施。在检测了各个GOP的结构之后,可 以通过划分或者合并G0P来重建其用作解码处理单元的解码单元,包括对应于解码器22、 23或24的视频组存储器82的组数的锚帧。 以下参考图48至50B来讨论划分包含30帧的G0P和解码所划分的G0P。 G0P(0)是由GOP(l)之前的30帧构成的,如图48所示,即B0至P29。在各个解码
处理单元中,与先前G0P —起解码前两个B图像。 在视频组存储器82的8个组之中,可以将6个组分配给锚帧。由于在G0P(0)中 有10个锚帧,因而不是所有的帧都可以通过与在包括15幅图像的各个G0P上执行的相同 的解码处理来解码。因此,如图48的底部所示,将G0P(0)划分为两个解码处理单元,以便 锚帧的数目变为6或者更少,并且然后,执行解码以便也解码用于解码包含在划分的G0P中 的所有的P图像和B图像所需的锚帧。 G0P (0)被划分为两个解码处理单元,如图49A和49B所示,G0P (0-0)包括12至 P17,并且G0P(0-1)包括B18至P29和B0和Bl,并且由不同的解码器来解码G0P(0-0)和 G0P(0-1)。需要G0P(0-0)的最后锚帧P17用于解码在G0P(0-1)首部的两个B图像B18和 B19。也就是说,P17也用作G0P(0-1)的锚帧。需要G0P(0-0)的锚帧用于解码G0P(0-1)的 锚帧。因此,在通过使用6个解码锚帧的组来解码G0P(0-0)的锚帧之后,通过使用这6个 组(通过重写组)来解码G0P(0-1)的锚帧和随后G0P的第一 I图像。
因而,在用于解码G0P(0-0)或者G0P(0-1)的解码器中,在固定组中解码锚帧,并 且无论重放方向是正向还是反向或者无论重放速度是正常还是快速,都不改变锚帧的解码 顺序。相反,在G0P(0-0)和G0P(0-1)中,B图像的解码顺序是根据重放方向或者重放速度 而不同的。在图49A和49B中,示出了在XI和X-l正向和反向重放速度的解码顺序。
在XI重放操作中,如图50A所示,在一个解码器中,在解码G0P(0-0)的锚帧12 至P17之后,解码G0P(0-0)的B图像B3至B16。同时,在另一个解码器中,在解码锚帧12 至P14之后,通过使用锚帧12至P14作为参考图像来解码G0P(0-1)的锚帧P17至P29和 GOP(l)的第一 12图像,并且然后,解码G0P(0-1)的B图像B18至B28以及GOP(l)的B0至 Bl。
在X-1重放操作中,如图50B所示,在一个解码器中,在解码锚帧I2至P14之后, 通过使用锚帧I2至P14作为参考图像来解码G0P(0-1)的锚帧P17至P29和G0P(1)的第 一 12帧,并且然后,解码G0P(1)的B1与B0和G0P(0-1)的B图像B28至B18。在另一个解 码器中,在解码GOP(O-O)的锚帧12至P17之后,解码GOP(O-O)的B图像B16至B3。
接下来,参考图51至图53B描述当各GOP(各个包括4或者更少的锚帧)连续时 解码处理单元的设置和解码处理。 如图51所示,GOP(O)是由6帧B0至P5形成的,而G0P(1)是由9帧B0至P8形
成,随后是G0P(2)。在各个解码处理单元中,与先前GOP—起解码前两个B图像。 在视频组存储器82的8个组之间,将6组分配给锚帧。在GOP (0)中有两个锚帧
并且在GOP(l)中有三个锚帧。因此,如在图51底部所示,合并G0P(0)和G0P(1),以便锚帧
的数目变为6或者更少。 在这种情况下,与先前GOP—起解码GOP(O)的前两个B帧BO和Bl,并且作为同一 解码处理单元GOP (0-0)解码GOP (0)的12至P5、 GOP (1)、以及GOP (2)的前两个B图像BO 和B1。在固定组中解码锚帧,并且锚帧的解码顺序未改变,如图52所示,无论重放方向是正 向还是反向或者无论重放速度是正常还是快速。相反地,B图像的解码顺序根据重放方向 或者重放速度而不同。在图52中,示出在Xl或者X-l正向或者反向重放速度的解码顺 序。 在X 1正向重放操作中,如图53A所示,在任一个解码器中,解码GOP (0_0)的锚帧 和G0P(2)的第一 12帧,并且然后解码G0P(0-0)的B图像。然后,在X-l反向重放操作 中,如图53B所示,在无论哪一个解码器中,为执行反向重放操作,解码GOP(O-O)的锚帧和 GOP (2)的第一 12帧,并且然后,解码GOP (0-0)的B图像。 可能存在这样的情况,其中连续包括6或更多锚帧的GOP和具有4或者更少锚帧 的GOP。在这种情况下,以下参考图54至56B来描述通过合并这种GOP然后重新划分它们 来均等地分配负荷至解码器的解码处理单元的设置。 如图54所示,GOP(O)包括21帧BO至P20,并且GOP (1)包括9帧BO至P8,随后 是G0P(2)。在各个解码处理单元中,与先前GOP—起解码前两个B图像。
在视频组存储器82的8个组之中,可将6组分配给锚帧。然而,由于在GOP (0)中 有7个锚帧,因而如果对G0P(0)以类似于当一个G0P包括15幅图像的方式执行解码,那么 错误发生。在这种情况下,GOP(O)可以划分为两个解码处理单元以便锚帧的数目变为6或 者更少。然而,由于随后GOP的帧的数目小,因而如图54底部所示合并并重新划分GOP(O) 和GOP (1),以便从GOP (0)和GOP (1)生成两个解码处理单元GOP (0-0)和GOP (0-1),然后根 据这些解码处理单元来执行解码。 在合并GOP(O)和GOP(l)之后,如图55A所示,将GOP (0)的I2至P17设置为第 一解码处理单元GOP(O-O),并且如图55B所示,将G0P(0)的B18至P20、整个GOP (1)、和 GOP (2)的Bl和B2设置为第二解码处理单元GOP (0-1),并且在不同的解码器中解码第一和 第二解码处理单元。GOP(O-O)的最后锚帧P17是用于解码G0P(0-1)的前两个B图像B18 和B19所需的。也就是说,P17也用作G0P(0-1)的锚帧。需要GOP(O-O)的锚帧用于解码 G0P(0-1)的锚帧。因此,在使用解码锚帧的6组来解码G0P(0-0)的锚帧之后,通过使用这 6组(通过重写这6个组)来解码G0P(0-1)的锚帧和随后GOP的第一 I图像。
40
因此,在用于解码G0P(0-0)或者解码G0P(0-1)的解码器中,在固定组中解码锚 帧,并且不管重放方向是正向还是反向或者无论重放速度是正常还是快速,锚帧的解码顺 序都不改变。相反地,在G0P(0-0)和G0P(0-1)中,B图像的解码顺序根据重放方向或者重 放速度而不同。在图55A和55B中示出了在XI或X-l正向或者反向重放速度的解码顺 序。 更确切地说,在XI正向重放操作中,如图56A所示,在一个解码器中,在解码 GOP(O)的I2至P17(其是G0P(0-0)的锚帧)之后,解码GOP(O)的B3至B16 (其是G0P (0-0) 的B图像)。在另一个解码器中,在解码G0P(0-0)的锚帧12至P14之后,通过使用12至 P14作为参考图像来解码G0P(0)的P17和P20与G0P(1)的12、P5和P8 (其是GOP (0-1)的 锚帧)以及G0P(2)的第一I2,然后,解码G0P(0)的B18和B19与G0P(1)的B0至B7 (其是 GOP (0-1)的B图像)、以及GOP (2)的B0和Bl 。 在X-l反向重放操作中,如图56B所示,在一个解码器中,在解码GOP(0_0)的锚 帧12至P14之后,通过使用12至P14作为参考图像来解码GOP (0)的P14和P20与GOP (1) 的12、P5和P8(其是G0P(0-1)的锚帧)、以及G0P(2)的第一 12。然后,解码G0P(2)的Bl 和B0以及GOP (1)的B7至B0与GOP (0)的B19和B18 (其是GOP (0-1)的B图像)。在另一 个解码器中,在解码12至P17 (其是GOP (0-0)的锚帧)之后,解码GOP (0)的B16至B3 (其 是G0P(0-0)的B图像)。 可能存在这样的情况,其中连续包括4或更少锚帧的GOP和具有6个或者更多锚 帧的G0P。在这种情况下,以下参考图57至59B来描述通过合并这些GOP然后重新划分它 们以便均等地将负荷分配给解码器的解码处理单元的设置。 如图57所示,GOP(O)包括9帧B0至P8,并且GOP (1)包括21帧B0至P20,随后 是G0P(2)。在各个解码处理单元中,与先前GOP—起解码前两个B图像。
在视频组存储器82的8个组之中,可以将6组分配给锚帧。尽管在GOP(O)中只 有三个锚帧,在GOP(l)中有7个锚帧,并且因此合并并重新划分了G0P(0)和G0P(1),如图 57的底部所示,以便从GOP (0)和GOP (1)生成两个解码处理单元GOP (0-0)和GOP (0-1),然 后根据这些解码处理单元来执行解码。 在合并GOP (0)和GOP (1)之后,如图58A所示,将GOP (0)的12至GOP (1)的P8设 置为第一解码处理单元GOP (0-0),并且如图58B所示,将GOP (1)的B9至P20和GOP (2)的 Bl和B2设置为第二解码处理单元GOP (0-1),并且在不同解码器中解码第一和第二解码处 理单元。G0P(0-0)的最后锚帧P8是用于解码G0P(0-1)的前两个B图像B9和B10所需的。 也就是说,P8也用作G0P(0-1)的锚帧。在G0P(0-0)的锚帧中,需要GOP(l)的锚帧12和 P5用于解码G0P(0-1)的锚帧。因此,在使用解码锚帧的6组中的一组来解码G0P(1)的12 和P5之后,通过使用这6组(通过重写这6个组)来解码GOP (0-1)的锚帧和随后GOP的 第一 I图像。 因此,在用于解码GOP(0-0)或者解码G0P(0-1)的解码器中,在固定组中解码锚 帧,并且不管重放方向是正向还是反向或者无论重放速度是正常还是快速,锚帧的解码顺 序都不改变。相反地,在G0P(0-0)和G0P(0-1)中,B图像的解码顺序根据重放方向或者重 放速度而不同。在图58A和58B中示出了在XI和X-l正向和反向重放速度的解码顺序。
更确切地说,在XI正向重放操作中,如图59A所示,在一个解码器中,在解码GOP (0)的12至P8以及GOP (1)的12至P8 (其是GOP (0_0)的锚帧)之后,解码GOP (0)的 B3至B7和G0P(1)的BO至B7(其是G0P(0-0)的B图像)。在另一个解码器中,在解码 GOP(l)的锚帧I2至P5(其是G0P(0-0)的锚帧)之后,通过使用I2至P5作为参考图像来解 码GOP(l)的P8至P20(其是G0P(0-1)的锚帧)以及G0P(2)的第一 12,然后,解码GOP (1) 的B9至B19 (其是GOP (0-1)的B图像)和GOP (2)的BO和Bl 。 在X-l反向重放操作中,如图59B所示,在一个解码器中,在解码GOP(l)的锚帧 12和P5 (其是GOP (0-0)的锚帧)之后,通过使用12和P5作为参考图像来解码GOP (1)的 P8至P20 (其是GOP (0-1)的锚帧)以及GOP (2)的第一 12。然后,解码GOP (2)的Bl和B0 以及GOP(l)的B19至B9(其是GOP(0-l)的B图像)。在另一个解码器中,在解码GOP (0) 的12至P8和GOP (1)的12至P8 (其是GOP (0-0)的锚帧)之后,解码GOP (1)的B7至B0 和GOP (0)的B7至B3 (其是GOP (0-0)的B图像)。 正如参考图48至59B所述,构建解码单元用作解码处理单元。然后,为各个解码 单元进行解码计划。并且根据需要执行帧省略以便可以按指定重放方向和指定的重放速度 执行重放操作。然后,执行解码并重放并输出流。 更确切地说,在传送并存储在存储器18中的多个GOP间,CPU20读取要解码的GOP 和随后GOP的结构,然后通过基于锚帧的数目而划分和合并GOP构建解码单元,其用作解码 处理单元。然后CPU20发送控制命令至PCI桥17以控制PCI桥17从存储器18读取各个 解码单元的流数据,并且将读取的流数据提供给解码器22、23和24中的一个。
然后,CPU20如上所述执行计划。在这种情况下,如参考图48、54、或57所讨论的 在G0P(0-1)中的情况,为解码相应解码单元的锚帧,如果需要解码另一解码单元的至少部 分锚帧,则该解码单元的锚帧也被设置在输入图像队列中,从I/P图像解码队列的首部顺 序设置这些帧。然而,由于不显示用于解码另一解码单元的锚帧所需的锚帧,因而没有将其 设置在显示顺序设置队列中。 然后CPU20通过参考表示接收随后数据的解码器的寄存器值控制解码器22、23或 24以执行解码。解码器22、23或24的基本流地址确定单元73在控制器20的控制下允许 存储器控制器74从输入缓冲器75读取对应于在时间信息I/P图像解码队列中设置的图像 ID的图像数据,并将读取数据供给解码处理器77。 如果将要解码的图像是I图像,那么CPU20控制解码处理器77解码从存储器控制 器74供给的I图像,也控制写图像地址确定单元78将解码的帧数据供给存储器控制器81 并将其存储在视频组存储器82的为存储I图像所指定的组中。如果要解码的图像是P图 像,那么CPU20控制参考图像地址确定单元79以允许存储器控制器81根据P图像的参考 组位置读取存储在视频组存储器82中的参考图像,并将读取的参考图像提供给解码处理 器77,并控制解码处理器77解码从存储器控制器74供给的P图像。CPU20也控制写图像 地址确定单元78以将解码帧图像供给存储器控制器81并将其存储在视频组存储器82的 为存储P图像而指定的组中。如果要解码的图像是B图像,那么CPU20控制参考图像地址 确定单元79以允许存储器控制器81根据B图像的参考组位置来读取存储在视频组存储器 82中的参考图像,并将读取参考图像提供给解码处理器77,并控制解码处理器77以解码从 存储器控制器74提供的B图像。 以下参考图60的流程图描述当形成G0P的图像数目不同于15时的G0P划分/合并处理。 在步骤S601中,CPU20确定是否存在划分GOP之后还没有计划的解码单元。
如果在步骤S601中发现未计划的解码单元,那么处理前进到步骤S602,其中 CPU20通过执行图4所示帧处理1或者图39所示帧处理2来执行未计划的解码单元的计 划,并解码该解码单元。 如果在步骤S601中确定没有未计划的解码单元,那么处理前进到步骤S603,其中 CPU20检测随后GOP以及再下一个未计划的GOP的结构。 在步骤S604中,CPU20确定随后GOP是否大于可以由一个解码器解码的最大尺寸。 更确切地说,CPU20检查随后GOP的锚帧的数目并将锚帧的检查数与一个解码器中用于解 码锚帧的组数相比较,以确定随后GOP是否大于最大尺寸。 如果在步骤S604中确定,随后GOP大于可以由一个解码器解码的最大尺寸,那么 处理前进到步骤S605以确定随后GOP和再下一个GOP的合并尺寸是否是可以由两个解码 器解码的尺寸。更确切地说,如果视频组存储器82具有8个组,那么CPU20确定合并GOP 的锚帧的数目是否是10或者更少,即,通过从视频组存储器82中的组数减去3而获得的数 的两倍或者更少。 如果在步骤S605中确定合并的尺寸是可由两个解码器解码的适合尺寸(例如,当 如参考图54至56B所描述的,连续具有6个或者更多锚帧的长GOP和具有4个或者更少锚 帧的短GOP时),处理前进到步骤S610。 如果在步骤S605确定所合并的GOP不是可以由两个解码器解码的尺寸,那么处理 前进到步骤S606。在步骤S606,CPU20将随后GOP划分成多个可以由一个解码器解码的解 码单元,如在参考图48至50B所讨论的具有30幅图像的长GOP中。然后处理前进到步骤 S612。 如果在步骤S604中确定,随后GOP不大于可以由一个解码器解码的最大尺寸,那 么处理前进到步骤S607,以确定随后GOP以及再下一个GOP的合并尺寸是否是可以由一个 解码器解码的适合尺寸。 如果在步骤S607中确定,合并的尺寸是可以由一个解码器解码的尺寸,那么处理 前进到步骤S608。在步骤S608中,将随后GOP和再下一个GOP合并为一个解码单元,如连 续各个具有4个或者更少锚帧的GOP的情况,如参考图51至53B描述的。然后处理前进到 步骤S612。 如果在步骤S607中确定,合并的尺寸不能变成可以由一个解码器解码的尺寸,处 理前进到步骤S609以确定所合并的尺寸是不是可以由两个解码器解码的尺寸。更确切地 说,如参考图57至59B所讨论的,如果连续具有4个或者更少锚帧的短GOP和具有6个或 者更多锚帧的长G0P,并且如果视频组存储器具有8个组,那么CPU20确定合并的GOP的锚 帧数目是不是10帧或者更少,即,通过从视频组存储器82中的组数减去3而获得的数的两 倍或者更少。 如果在步骤S605或者S609中确定合并的尺寸变为可以由两个解码器解码的尺 寸,处理前进到步骤S610。在步骤S610中,CPU20合并两个GOP然后将其重新划分为两个 解码单元,如参考图54至56B或者图57至59B所讨论的。然后处理前进到步骤S612。
如果在步骤S609确定合并的尺寸不能变为可以由两个解码器解码的尺寸,处理前进到步骤S611,其中CPU20将随后GOP设置为一个解码单元。 在步骤S606、S608、S610、或者S611之后,处理前进到步骤S612,其中CPU20通过 执行图4所示帧处理1或者图39所示帧处理2来计划随后解码单元的解码,并且解码该解 码单元。 然后,在步骤S613中,如果存在未计划的划分的解码单元,那么CPU20将其存储在 等待列表中。然后完成处理。 根据上述GOP划分/合并处理,即使形成GOP的图像数不是15或者即使图像数目
根据GOP而不同,也能够执行GOP的划分或合并以达到快速解码处理。 在上述实例中,已经描述了当解码器22、23、或24的视频组存储器82具有8个组
时并且当8个组中6个组固定用于解码锚帧时,GOP的划分或合并以便达到有效计划。即
使要存储在视频组存储器82中的组(帧)的数目不是8或者即使用于解码锚帧的固定组
数目不是6,也可以根据视频组存储器82中的组数目或者用于解码锚帧的固定组数目来适
当地执行GOP的划分或合并。更确切的说,如果用于解码锚帧的固定组数目小于6,那么设
置解码单元以便包含在一个解码单元中的锚帧的数目变得小于6。相反地,如果用于解码锚
帧的固定组数目大于6,那么设置解码单元以便包含在一个解码单元中的锚帧的数目变得
小于组数目。 根据GOP划分/合并处理,如图61所示,可以没有问题地在X 1重放操作中对图 44所示包括21帧的GOP执行解码处理。 更确切地说,将包括21帧的GOP (1)划分为然后由解码器1和2解码的两个解码 单元,即,第一解码单元和第二解码单元。在这种情况下,在解码未从解码器2输出的第一 解码单元的锚帧以便解码第二解码单元的锚帧之后,通过使用为锚帧而固定的组(根据需 要通过重写第一解码单元的锚帧)来解码第二解码单元的锚帧。 类似地,如图62所示,可以没有任何问题地在X-l重放操作中对图45所示包括 21帧的GOP执行解码处理。 更确切地说,将包括21帧的GOP(l)划分为两个解码单元,即,第一解码单元和第
二解码单元,其随后由解码器2和解码器1解码。在这种情况下,在解码未从解码器2输
出的第一解码单元的锚帧以便解码第二解码单元的锚帧之后,通过使用为锚帧而固定的组
(根据需要通过重写第一解码单元的锚帧)来解码第二解码单元的锚帧。 类似地,如图63所示,在X2重放操作中,当如图46所示连续具有少数锚帧的G0P
和具有多数锚帧的GOP时,可以没有问题地执行解码处理。 更确切地说,将各包括B0、B1、和12的GOP(O)与GOP(l)合并到一个解码单元中, 并且将包括B0、B1、和12的G0P(2)和包括从B0至P14的15帧的G0P(3)合并然后重新划 分。 在GOP (0)和GOP (1)的合并的解码单元的B0和Bl (GOP (0)的B0和Bl)之间,在 解码器2中与先前GOP或者先前解码单元一起解码要显示的B (0)、和用于解码B (0)所需的 参考图像I2。在G0P(2)和G0P(3)第一半的合并解码单元的B0和B1(G0P(2)的B0和Bl) 之间,在解码器0中与GOP (0)和GOP (1)的合并解码单元一起解码要显示的B (0)、和用于解 码B(O)所需的参考图像I2。在解码器1中与G0P(2)和G0P(3)的第一半的合并解码单元 一起解码B(7),其是G0P(3)的第二半的解码单元的要显示的B图像的首部。在G0P(4)的
44BO和Bl之间,在解码器2中与GOP (3)的第二半的解码单元一起解码要显示的BO和12 (其 作为解码BO所需的参考图像)。在解码器0中解码I2和G0P(4)的随后图像。
类似地,在X-2重放操作中,当如图47所示连续具有少数锚帧的G0P和具有多数 锚帧的GOP时,如图64所示,可以没有任何问题地执行解码处理。 更确切地说,将GOP (4)和GOP (3)(各包括BO、 Bl和12)合并到一个解码单元中, 并且将包括BO、 Bl和12的GOP (2)和包括从BO至P14的15帧的GOP(l)合并然后重新划 分。 在解码器1中解码GOP (4)和GOP (3)的合并解码单元的除了 BO和Bl (GOP (3)的 B0和B1)之外的图像、在先前解码单元中两个B图像之间的要显示的B图像(在图64中的 B0)、以及I2(其是用于解码B(0)所需的参考图像)。在G0P(4)和G0P(3)的合并解码单元 的BO和Bl (GOP(3)的BO和Bl)之间,在解码器0中与GOP(2)和GOP(l)的第二半的合并 解码单元一起解码要显示的B(0)、和I2(其是解码B(0)所需的参考图像)。在G0P(2)和 GOP(l)的第二半的合并解码单元的B9和BIO (GOP (1)的B9和BIO)之间,在解码器2中与 随后解码单元即GOP(l)的第一半一起解码要显示的B9以及P8和Pll (其是解码B9所需 的参考图像)。在解码器l中与GOP(O) —起解码B(l),其是GOP(l)的第一半的解码单元 的要显示的B图像的首部。 如上所述,CPU20根据锚帧的数目适当地划分或者合并GOP以根据为解码器22、23 或24提供的视频组存储器82的组数形成具有若干锚帧的解码单元。然后CPU20控制PCI 桥17以将各个解码单元的流提供给解码器22、23或24,并执行各个解码单元的解码计划或 者显示计划,并且然后控制解码器22、23或24以执行解码。利用这种配置,即使锚帧的数 目根据GOP而不同,重放装置1也能够通过可靠地解码所有帧来执行快速解码处理,而不会 导致解码处理中任何延迟。 在划分GOP之后,在第二解码单元中,即,在具有应当在解码先前解码单元的锚帧 之后解码的锚帧的解码单元中,如果第二解码单元的锚帧数目为6,那么如果解码单元的首 部是I图像或P图像,相对于解码第二解码单元的锚帧的解码开始定时的显示开始定时的 偏移是6幅图像,并且如果首部是B图像,该偏移就是7幅图像。如果在第二解码单元中锚 帧的数目是n帧(n是5或者更少),那么相对于解码开始定时的显示开始定时的偏移根据 锚帧数而改变,即,如果首部是I图像或P图像那么就是n帧,如果首部是B图像那么就是 n+l帧。 在上述描述中,将一个解码单元中包含的锚帧的数目设置为与用于解码锚帧的固 定组数目相同或者更少。更优选地,通过将主题解码单元的锚帧的数目与先前解码单元的 锚帧数目相比较来设置锚帧的数目以便它不会比先前解码单元的锚帧数目大m帧(m是大 于1的整数,这可以通过试验或经验来设置,并且更优选地是2至4)。 例如,如果连续具有一个锚帧的GOP和具有10幅锚帧的GOP,那么两个GOP的锚 帧总数就是11 ,并且难于从这两个GOP形成两个解码单元。因此,进行解码以便"1个锚帧 +1 "、"5个锚帧+1"和"5个锚帧+1 ",从而导致在解码处理中的延迟。 因而,通过将解码单元的锚帧数目与先前解码单元的锚帧数目相比较来设置锚帧 的数目以便它不比先前解码单元的锚帧数目大2或者更多。在这种情况下,当两个GOP的 锚帧总数是11时,进行解码以便"l个锚帧+1"、"3个锚帧+1"、"3个锚帧+1"和"4个锚帧
45+ 1"。因而,在解码处理中不发生延迟。 另外,在上述处理中(无论是执行了上述两个省略处理例行程序还是执行了仅仅 一个省略例行程序),都可以将以下标记集提供作为存储在HDD16中的压縮编码的视频数 据所用的元数据。读取标记集表示存储在HDD16中的压縮编码的视频数据作为要从HDD16 读取的数据是否有效,解码标记集表示编码数据作为根据解码计划要解码的数据是否有 效,并且显示标记集表示经编码的数据作为根据显示计划要显示的数据是否有效。然后,根 据重放速度或重放方向自动更新标记集,从而提高计划的管理。 在这种情况下,一系列用于先前可变速度重放操作的计划和标记集可以分别地作 为元数据(登记信息)来管理。根据需要,可以在压縮编码的视频数据中嵌入该元数据作 为语法,或在诸如HDD16的记录媒体中记录它。 解码器的数目、组的数目、解码器ID等可以作为元数据(结构登记信息)来管理。 另外,重放速度和重放方向可以作为元数据(重放登记信息)来管理。在这种情况下,元 数据可以作为语法嵌入到压縮编码的视频数据中,或者可以记录到诸如HDD16的记录媒体 中。 通过参考元数据(登记信息),可以重新使用过去的计划处理,从而使得计划处理 更加迅速和更加精确。 可以在外设备中作为数据库管理上述元数据。 在上述实施例中,解码器22、23、或24不必要完全解码存储在HDD16中的经压縮编 码的视频数据。 更确切地说,在本发明实施例中,解码器22、23、或24可以仅仅解码和解量化可变 长度代码而无需执行反离散余弦变换(IDCT),或者解码器22、23、或24可以解量化可变长 度代码而无需将其解码。在这种情况下,解码器22、23、或24可以生成登记信息,其表示编 码或者解码处理已经执行到哪一个程度(例如,到解量化),并输出与不完全解码数据相关 的登记信息。 另外,在前述实施例中,可以将不完全编码数据(例如,经过DCT和量化而未经过 可变长度编码的数据)和涉及编码和解码处理的登记信息(如果需要)存储在HDD16中。 在这种情况下,解码器22、23、或24可以在CPU20的控制下解码不完全编码数据并将其转换 为基带信号。 更确切地说,解码器22、23、或24可以对不完全编码数据(其经过DCT变换和量化
而未经过可变长度编码)进行IDCT和解量化,而无需解码可变长度的代码。 在这种情况下,CPU20可以获得存储在HDD16中的、与不完全编码数据有关的、关
于编码和解码处理的登记信息,并根据所获得的登记信息进行解码计划。 在前述实施例中,不完全编码数据以及关于编码和解码处理的登记信息(根据需
要)可以存储在HDD16中,并且解码器22、23、或24不必要在CPU20的控制下完全解码该不
完全编码数据。 同样在这种情况下,例如,CPU20可以获得存储在HDD16中的、与不完全编码数据 有关的、关于编码和解码处理的登记信息,并根据所获得的登记信息进行解码计划。解码器 22、23、或24也可以生成关于编码和解码处理的登记信息,并将其与不完全解码数据相关 地输出。
换句话说,解码器22、23、或24可以在CPU20的控制下部分地进行解码(执行部分 解码处理步骤)。CPU20可以获得存储在HDD16中的、相关于不完全编码数据的、关于编码 和解码的处理的登记信息,并根据所获得的登记信息执行由解码器22、23或24进行的解码 的计划。根据需要,解码器22、23或24可以生成关于编码和解码处理的登记信息,并输出 与不完全解码数据有关的登记信息。 在HDD16中,关于编码和解码处理的登记信息也可以与压縮编码流数据相关地存 储,并且CPU20能够根据登记信息执行解码计划。即使当解码器22、23或24能够在CPU20 的控制下解码压縮编码流数据并将其转换为基带信号,也可以根据需要生成关于编码和解 码处理的登记信息,并相关基带信号地输出该信息。 尽管在上述实施例中,重放装置1包含多个解码器,但是也可以将解码器与重放 装置1分离地提供。 在这种情况下,各个独立的解码器能够接收和解码经压縮编码的视频数据,并显 示和输出结果数据。另外,如上所述,各个解码器可以接收和部分解码经压縮编码的视频数 据,并与关于编码和解码处理的登记信息一起输出经解码的数据至外源。可选地,各个解码 器可以接收和解码部分编码数据并将其转换为基带信号,并将其输出到外源。可选地,各个 解码器可以接收和部分解码部分压縮编码的视频数据并将解码数据与关于编码和解码处 理的登记信息一起输出到外源。 在上述实施例中,CPU11和CPU20是分开提供的。然而,CPU11和CPU20可以集成 到一个CPU中,以便控制整个重放装置1,或者即使CPUll和CPU20是分离构造的,但是也可 以将其集成到一个芯片上。 如果CPU11和CPU20是分离提供的,那么前述实施例中由CPU11执行的至少部分 处理可以由CPU20以分时方式来执行。可选地,由CPU20执行的部分处理可以由CPU11以 分时方式来执行。也就是说,能够执行分布式处理的处理器可以用作CPU11和CPU20。
可选地,重放装置l可以构成为与网络相连,并且在上述实施例中至少部分由 CPU11或者CPU20执行的处理可以由连接到网络的另一装置的CPU来执行。
类似地,尽管在上述实施例中,存储器13和存储器21是分离提供的,但是也可以 将其集成在重放装置1中的一个存储器中。 在上述实施例中,HDD16,解码器22、23和24和选择器25经由桥和总线彼此相连 以便将其集成到重放装置1中。然而,其中一些元件可以通过有线或者无线方式来外部地 连接,或者这些装置可以以另 一种连接方式彼此连接。 尽管在上述实施例中,经压縮的流数据存储在HDD16中,但是它也可以存储在另 一记录媒体中,诸如光盘、磁光盘、半导体存储器、或者磁盘。 CPU20、存储器21、存储器18、解码器22、23和24以及选择器25安装在同一扩展 卡上,例如,PCI卡或者PCI-express卡。然而,如果通过使用例如PCI-express技术卡之 间的传送速率很高,那么这些元件也可以分离地安装在不同扩展卡上。
可以使用不同于MPEG的例如H264/AVC的编码方法。 可以由硬件或者软件来执行一系列上述处理工作。如果使用软件,那么将相应软 件程序从记录媒体安装到构建在专用硬件中的计算机或诸如个人计算机的通过其中安装 各种程序能够执行各种功能的计算机中。在这种情况下,图1所示重放装置1能够由例如图65所示个人计算机201形成。 在图65所示个人计算机201中,中央处理单元(CPU)211根据存储在只读存储器 (ROM) 212中的程序或者从存储单元218装载到随机访问存储器(RAM) 213中的程序来执行 各种处理工作。在RAM213中也存储CPU211执行处理所需数据。 CPU211、 R0M212和RAM213经由总线214彼此互连。输入/输出接口 215也可以 连接到总线214上。 输入单元216,诸如键盘和鼠标,输出单元217,诸如显示器或者扬声器,存储单元 218,诸如硬盘,和通信单元219诸如调制解调器或者终端适配器都连接到输入/输出接口 215。通信单元219经由网络,诸如因特网,执行通信。 驱动器220也根据需要连接到输入/输出接口 215,磁盘231、光盘232、磁光盘 233、或者半导体存储器234根据需要安装在驱动器220中,并且从这种记录媒体读取的计 算机程序安装到存储单元218中。 如上所述,如果软件用于执行一系列处理工作,那么相应的软件程序可以经由网 络或从记录媒体安装到计算机中。 这种记录媒体可以是其中存储程序的封装媒体,分离于装置地分布式提供程序给 用户,诸如磁盘231 (包括软盘)、光盘232 (包括只读光盘存储器(CD-ROM)或者数字多能光 盘(DVD))、磁光盘233 (包括小型盘(MD)(注册商标)),或者半导体存储器234。可选地,记 录媒体可以是R0M212或者包含在其中存储了程序的存储单元218中的硬盘,其中当构建在 装置中时将其提供给用户。 在本说明书中,形成记录在记录媒体中的程序的步骤包括如说明书所述以时间次 序执行的处理,并且也可以包括并行或者单独执行的处理。 本领域技术人员应当理解的是,只要在所附权利要求及其等效物的范围内,都可 以根据设计需要和其它因素进行各种修改、合并、子合并、和变换。
48
权利要求
一种信息处理设备,用于解码经压缩编码的视频数据,包括至少一个解码装置(22,23,24),用于解码经压缩编码的视频数据;以及控制装置(20),用于控制由解码装置执行的处理,其中当在解码处理单元的首部的图像是在从解码装置输出的解码图像中的I图像和P图像时,控制装置控制解码装置,从而解码装置开始解码的解码开始定时和解码装置开始输出解码图像的显示输出定时彼此偏移第一预定数目的图像。
2. 根据权利要求1所述的信息处理设备,其中,当在解码处理单元的首部的图像是从解码装置输出的解码图像之中的B图像时,控制装置控制解码装置以便解码装置开始解码的解码开始定时和解码装置开始输出解码图像的显示输出定时彼此偏移第二预定数目的图像。
3. 根据权利要求2所述的信息处理设备,其中当重放速度指令装置指示的重放速度和重放方向分别是正常和正向时,控制装置控制解码装置以便解码装置开始解码的解码开始定时和解码装置开始输出解码图像的显示输出定时彼此偏移第三预定数目的图像。
4. 根据权利要求3所述的信息处理设备,其中当重放速度指令装置指示的重放速度和重放方向分别是正常和反向时,控制装置控制解码装置以便解码装置开始解码的解码开始定时和解码装置开始输出解码图像的显示输出定时彼此偏移第四预定数目的图像。
5. 根据权利要求4所述的信息处理设备,其中控制装置确定由解码装置执行的解码处理的顺序,以便在解码处理单元中包含的图像之中,在B图像之前解码I图像和P图像。
6. 根据权利要求4所述的信息处理设备,包括库存储器(82),所述库存储器具有的库的数量少于在解码处理单元中包含的图像的数量。
7. 根据权利要求4所述的信息处理设备,还包括存储装置,用于存储经压縮编码的视频数据;读出装置,用于从存储装置读出经压縮编码的视频数据;解码装置,用于解码经压縮编码的视频数据;供给控制装置,用于控制将经压縮编码的视频数据提供给解码装置。
8. 根据权利要求7所述的信息处理设备,其中提供多个解码装置,所述信息处理设备还包括输出开关装置(25),用于接收从多个解码装置输出的未压縮数据,并用于选择性地输出所接收的未压縮数据,其中控制装置还控制由输出开关装置执行的处理。
9. 根据权利要求1所述的信息处理设备,其中解码装置按照MPEG标准解码经压縮编码的视频数据。
10. —种信息处理方法,用于解码经压縮编码的视频数据,包括步骤解码经压縮编码的视频数据;以及其中当在解码处理单元的首部的图像是在解码图像中的I图像和P图像时,控制解码,从而开始解码的解码开始定时和解码开始输出解码图像的显示输出定时彼此偏移第一预定数目的图像。
11. 根据权利要求10所述的信息处理方法,其中,当在解码处理单元首部的图像是输出的解码图像之中的B图像时,控制解码,以便开始解码的解码开始定时和解码开始输出解码图像的显示输出定时彼此偏移第二预定数目的图像。
12. 根据权利要求11所述的信息处理方法,其中当重放速度指令装置指示的重放速度和重放方向分别是正常和正向时,控制解码,以便开始解码的解码开始定时和解码开始输出解码图像的显示输出定时彼此偏移第三预定数目的图像。
13. 根据权利要求12所述的信息处理方法,其中当重放速度和重放方向分别是正常和反向时,控制解码,以便开始解码的解码开始定时和解码开始输出解码图像的显示输出定时彼此偏移第四预定数目的图像。
14. 根据权利要求13所述的信息处理方法,包括确定由解码执行的解码处理的顺序,以便在解码处理单元中包含的图像之中,在B图像之前解码I图像和P图像。
全文摘要
本发明涉及信息处理装置和方法、记录媒体和程序。一种用于解码经压缩编码的视频数据的信息处理装置包括用于解码经压缩编码的视频数据的至少一个解码装置,用于控制将经压缩编码的视频数据供给解码装置的供给控制装置,以及用于控制由供给控制装置和解码装置执行的处理的控制器。所述控制器确定由解码装置执行的解码处理的顺序,以便在包含于用于由解码装置执行的解码处理的解码处理单元的图像之中,在B图像之前解码I图像和P图像。根据重放速度指令装置提供的重放速度指令,所述控制器从包含在解码处理单元中的图像之中选择要从解码装置输出的图像。
文档编号G11B27/10GK101771843SQ20091026373
公开日2010年7月7日 申请日期2005年10月26日 优先权日2004年10月26日
发明者小薮恭平, 柴田正二郎, 柿田新次郎, 纲岛修二, 金子光久, 高村元嗣 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1