CN101771843A - 信息处理设备和方法 - Google Patents

信息处理设备和方法 Download PDF

Info

Publication number
CN101771843A
CN101771843A CN200910263737A CN200910263737A CN101771843A CN 101771843 A CN101771843 A CN 101771843A CN 200910263737 A CN200910263737 A CN 200910263737A CN 200910263737 A CN200910263737 A CN 200910263737A CN 101771843 A CN101771843 A CN 101771843A
Authority
CN
China
Prior art keywords
image
decoding
gop
frame
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910263737A
Other languages
English (en)
Other versions
CN101771843B (zh
Inventor
柴田正二郎
纲岛修二
小薮恭平
高村元嗣
柿田新次郎
金子光久
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN101771843A publication Critical patent/CN101771843A/zh
Application granted granted Critical
Publication of CN101771843B publication Critical patent/CN101771843B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • H04N5/937Regeneration of the television signal or of selected parts thereof by assembling picture element blocks in an intermediate store
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明涉及信息处理装置和方法、记录媒体和程序。一种用于解码经压缩编码的视频数据的信息处理装置包括用于解码经压缩编码的视频数据的至少一个解码装置,用于控制将经压缩编码的视频数据供给解码装置的供给控制装置,以及用于控制由供给控制装置和解码装置执行的处理的控制器。所述控制器确定由解码装置执行的解码处理的顺序,以便在包含于用于由解码装置执行的解码处理的解码处理单元的图像之中,在B图像之前解码I图像和P图像。根据重放速度指令装置提供的重放速度指令,所述控制器从包含在解码处理单元中的图像之中选择要从解码装置输出的图像。

Description

信息处理设备和方法
本申请是于2005年10月26日提出的、题为“信息处理装置和方法、记录媒体和程序”的中国专利申请No.200510121796.7的分案申请
相关申请的交叉参考
本发明包含涉及于2004年10月26日在日本专利局提交的日本专利申请JP 2004-311521以及于2005年8月24日在日本专利局提交的日本专利申请JP 2005-242161的主题,将其全部内容在此引入以作为参考。
技术领域
本发明涉及信息处理装置和方法、记录媒体、和程序。更确切地说,本发明涉及其中可以重放压缩编码的视频数据而无需执行复杂的组存储器控制的信息处理装置和方法、记录媒体、和程序。
背景技术
作为视频压缩技术,广泛地使用运动图像编码组/运动图像专家组(MPEG)标准。通过解码用MPEG方法编码的流数据来执行的重放操作不仅包括正常重放操作,而且包括快速重放操作或者反向重放操作。
例如,在MPEG长图像组(GOP)中,每个GOP包括15幅图像,通过在将其输入到解码器中之前双向地省略预测编码的(B)图像,可以以×-3到×3(符号“-”在速度中表示以反向执行重放操作,并且在以下描述中也如此应用)来执行快速重放操作(例如,参见日本未审专利申请公开No.8-98142)。此外,为各个重放速度提供表示要显示的图像信息的表,以便能够以如该表所示的同一序号的不同的速度执行重放操作。
在日本未审专利申请公开No.8-56334中公开了另一种重放技术。在该技术中,以5帧的间隔间歇地获得10帧压缩编码信号。在解调所有10帧压缩编码信号之后,将其交替地供给两个解码器,每个解码器五帧,并将其解码然后写入存储器。存储器读取每隔一个的帧以便能够输出×2重放信号。
MPEG流最适合于正向的重放操作。例如,在MPEG长GOP中,15幅图像的编码顺序,即,形成一个GOP的内编码的(I)图像,预测编码的(P)图像,和B图像,是I(2)、B(0)、B(1)、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之前直接增加了GOP,并且将两个GOP提供给解码器。这使得即使在反向重放操作中也能够正确使用将重放的图像的参考图像。
在日本未审专利申请公开No.8-98142公开的技术中,尽管可以通过在将其输入到解码器之前省略B图像来实现以×-3至×3快速重放操作,但是图像的显示间隔变得不规律,从而使得显示图像不自然。
其中使用多个用于执行解码处理的解码器芯片的技术能够与省略在输入阶段不将显示的B图像的处理相合并。通过这种合并,能够实现规律间隔的快速重放操作(例如,利用两个解码器芯片实现×2,利用三个解码器芯片实现×4,利用四个解码器芯片实现×5,以及利用五个解码器芯片实现×7)。然而在这种情况下,在输出处理的期间需要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图像的第一GOP时,所述图像的数目小于从组存储器的组数目减去3所获得的值,控制装置检测时间上连续于第一GOP的第二GOP的结构,并且,如果包含在第一GOP和第二GOP中的I图像或P图像的总数小于通过从组存储器的组数目减去2获得的值,那么控制装置合并第一GOP和第二GOP以形成解码处理单元,并控制供给控制装置以便将解码处理单元的压缩编码的视频数据供给解码装置。
控制装置可以形成解码处理单元,以便包含在合并解码处理单元中的I图像或P图像的总数不会变得比包含在图像的时间上在先的组中的I图像或P图像的总数大预先确定的数目或更多。
经压缩编码的视频数据可以包括GOP。控制装置可以检测第一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图像。控制装置根据重放速度指令装置提供的重放速度指令,在包含在解码处理单元的图像中选择要从解码装置输出的图像。控制装置控制供给控制装置,以控制在包含在解码处理单元中的图像中、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图像、具有比通过从组存储器的组数目减去3获得的值更大数目的图像组时,控制装置将图像组划分成解码处理单元,每个解码处理单元包括具有通过从组存储器的组数减去2所获得值更少的I图像和P图像,并控制供给控制装置以将解码处理单元的经压缩的编码视频数据供给解码装置。
控制装置可以形成解码处理单元以便包含在划分的解码处理单元中的I图像或P图像的总数不会变得比包含在时间上在先的图像组或者时间上在先的解码处理单元中的I图像或P图像的总数大预先确定的数目或者更多。
经压缩的编码视频数据可以包括GOP。当接收包括I图像和P图像、具有比通过从组存储器的组数目减去3获得的值更小数目的图像组时,控制装置检测时间上连续于第一图像组的第二图像组的结构,并且如果包含在第一图像组和第二图像组中的I图像或P图像的总数小于通过从组存储器的组数目中减去3所获得的值,那么控制装置合并第一图像组和第二图像组以形成解码处理单元,并控制供给控制装置以将解码处理单元的经压缩编码的视频数据供给解码装置。
控制装置可以形成解码处理单元以便包含在合并的解码处理单元中的I图像和P图像的总数不会变得比包含在时间上在先的GOP中的I图像和P图像的总数要大预先确定的数或者更多。
经压缩的编码视频数据可以包括GOP。控制装置可以检测第一GOP的结构和时间上连续于第一图像组的第二GOP的结构,并且如果包含在第一GOP和第二GOP中的I图像或P图像的总数小于通过从组存储器的组数目中减去3所获得的值的二倍,那么控制装置合并第一GOP和第二GOP,并且然后划分所合并的GOP以形成第一解码处理单元和第二解码处理单元,每个解码处理单元包括少于通过从组存储器的组数减去2所获得的值的I图像和P图像,并且所述控制装置控制供给控制装置以分别地将第一解码处理单元的经压缩编码的视频数据和第二解码处理单元的经压缩编码的视频数据供给解码装置。
控制装置可以形成第一解码处理单元和第二解码处理单元,以便第一解码处理单元和第二解码处理单元中包括的I图像或P图像的总数不会变得比时间上在先的解码处理单元或者时间上在先的图像组的I图像或P图像的总数大预先确定数目或者更多。
根据上述信息处理装置,确定包含在用于执行解码器执行的解码处理的解码处理单元中的图像的解码处理的顺序,以便在B图像之前解码I图像和P图像,根据所获得的重放速度,在包含在解码处理单元中的图像之中选择要从解码器输出的图像,将在包含在解码处理单元的图像之中、I图像和P图像,以及作为要从解码输出的图像而选择的B图像供给至解码器,解码供给解码装置的图像,并且输出作为要从解码装置输出的图像而选择的图像。
如上所述,根据本发明实施例,可以对经压缩编码的数据执行快速重放操作、反向重放操作、或快速反向重放操作。具体来讲,对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举例说明在×2重放操作中,在执行图像的省略之前和之后的解码和显示计划;
图26举例说明在×-2重放操作中,在执行图像的省略之前和之后的解码和显示计划;
图27举例说明在×4重放操作中,在执行图像的省略之前和之后的解码和显示计划;
图28举例说明在×-4重放操作中,在执行图像的省略之前和之后的解码和显示计划;
图29举例说明在×5重放操作中,在执行图像的省略之前和之后的解码和显示计划;
图30举例说明在×-5重放操作中,在执行图像的省略之前和之后的解码和显示计划;
图31举例说明在×1重放操作中的组控制;
图32举例说明在×2重放操作中的组控制;
图33举例说明在×-1重放操作中的组控制;
图34举例说明在×-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)包括:至少一个解码装置(例如,图1所示解码器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)以便控制由供给控制装置和解码装置执行的处理;以及重放速度指令装置(例如图1所示CPU11)以便将重放速度指令提供给控制装置。控制装置确定包含在解码处理单元终端哦图像的解码处理的顺序(例如,在正向重放操作中,包括第一GOP中除了前两个B图像之外的13幅图像和在编码顺序中紧随第一GOP的第二GOP的前三个I图像、B图像、B图像的总共16幅图像,并且在反向重放操作中,包括第二GOP中除了前两个B图像之外的13幅图像和先于第二GOP的第三GOP的前三个I图像、B图像、B图像的总共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的前三个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)包括:解码装置(例如,图2所示解码处理器77),用于解码经压缩编码的视频数据;供给控制装置(例如,图2所示基本流地址确定单元73),用于控制经压缩编码的视频数据的供给至解码装置;以及控制装置(例如,图1所示CPU20),用于控制由供给控制装置和解码装置执行的处理。控制装置确定包含在用于执行解码装置执行的解码处理的解码处理单元中的图像的解码处理的顺序(例如,在正向重放操作中,包括第一GOP中除了前两个B图像之外的13幅图像和在编码顺序中紧随第一GOP的第二GOP的前三个I图像、B图像和B图像的总共16幅图像,并且在反向重放操作中,包括第二GOP中除了前两个B图像之外的13幅图像和先于第二GOP的第三GOP的前三个I图像、B图像和B图像的总共16幅图像),以便在B图像之前解码I图像和P图像。控制装置根据重放速度指令装置提供的重放速度指令,在包含在解码处理单元的图像中选择要从解码装置输出的图像。控制装置控制供给控制装置,以控制在包含在解码处理单元中的图像中、I图像和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读取到CPU11。
存储器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-express卡)或扩展板中提供PCI总线14、PCI桥17、存储器18、控制总线19、CPU20、存储器21、解码器22、23和24、选择器25的功能。然后,该扩展卡插入个人计算机中,从而实现重放装置1的功能。上述元素可以包含在多数设备中以形成重放装置1。
以下描述上述结构的重放装置1的操作。
在HDD16中,存储了利用MPEG长GOP方法压缩的视频数据。
CPU11控制南桥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执行的控制处理。
在步骤S1中,CPU11控制北桥12和南桥15来从HDD16读出用户指定的将解码和输出的压缩编码流数据的多个GOP。
在步骤S2中,CPU11经由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中,CPU11经由操作输入单元(未示出)从用户接收指令以开始重放输出处理,并经由北桥12和PCI总线14发送解码开始命令至命令缓冲器31,并导致解码器22,23或24开始解码处理。解码开始命令包括显示速度信息。
在步骤S6中,CPU11经由北桥12和PCI总线14发送显示开始命令至命令缓冲器31。在步骤S7中,CPU11开始显示由对应解码器解码的SDI信号的一个GOP,即,基带图像信号。
在步骤S8中,CPU11检测到已经显示了一个GOP。更确切地说,CPU11通过经由PCI总线14和北桥12读取结果来检测哪一个图像已经显示了,以响应从CPU20经由控制总线19供给结果缓冲器32的显示开始命令,即以下所讨论的在图18中步骤S194中由CPU20写入结果缓冲器32的显示完成消息,其表示各个帧都已经显示过了。
在步骤S9中,CPU11确定所显示的GOP是否为流数据的最后一个GOP。如果发现所显示的GOP是最后的GOP,那么处理结束。
如果在步骤S9中确定,所显示的GOP不是最后的GOP,那么处理前进到步骤S10,以根据从操作输入单元(未示出)供给的信号来确定是否已经由用户输入指令来改变输入流状态(例如来完成重放流数据),改变正在重放的流数据,或者改变重放速度或方向。
如果在步骤S10中发现改变输入流状态的指令,那么处理前进到步骤S11,其中CPU11经由北桥12和PCI总线14发送对应于用户操作的命令至命令缓冲器31。
如果在步骤S10发现还没有输入改变输入流状态的指令,或者在步骤S11之后,那么处理前进到步骤S12以确定在HDD16中是否存在要显示的任何流数据。如果在步骤S12中确定,不存在要显示的流数据,那么处理返回到步骤S7以处理发送到存储器18的流数据。
如果在步骤S12中确定,存在要显示的流数据,那么处理前进到步骤S13,其中CPU11控制北桥12和南桥15从HDD16中读出流数据的随后GOP。
在步骤S14中,CPU11经由PCI总线14将读取的GOP供给PCI桥17,并将GOP传送到存储器18。也就是说,基本上在存储器18中,除当存储了要重放的流数据的尾部时之外,存储了预先确定数目的GOP。
在步骤S15中,通过经由北桥12和PCI总线14将数据传送完成消息和图像信息供给命令缓冲器31,CPU11发送涉及包含在要传送给存储器18的GOP中的图像的数据传送完成消息和图像信息至CPU20。图像信息包括例如各个图像的类型和尺寸。
在步骤S16中,CPU11从CPU20和存储器18接收就绪消息。更确切地说,CPU11经由PCI总线14和北桥12读取结果,以响应从CPU20经由控制总线19供给结果缓冲器32的数据传送完成消息和图像信息,CPU11也接收表示GOP流数据已经从存储器18经由PCI桥17、PCI总线14、和北桥12存储的消息。
在步骤S16之后,处理前进到步骤S7,并且执行随后处理。
根据上述处理,通过供给命令至CPU20,并接收结果以响应所供给的命令,CPU11能够控制流数据的编码和解码的数据的显示。
在该处理中,在GOP单元中显示解码的数据。当输出由对应解码器解码的SDI信号至外源时,CPU11能够执行类似于上述处理的处理。因此,通过将命令供给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)队列,其中根据解码定时计划或者解码/显示控制目的,可以以预先确定的深度来存储从CPU11供给的命令、与图像类型信息相关的图像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的前三幅图像,而且第二解码器接收第一GOP的除了前两幅B图像的13幅图像和第二GOP的前三幅图像。
在输入图像队列中,设置了要为其进行解码计划的输入图像的图像ID和用于安排计划所需的图像。也就是说,在输入图像队列中,存储了总共18幅图像的图像ID,即MEPG长GOP流数据的一个GOP的15幅图像和先前或随后GOP的前三幅IBB图像的图像ID。
图9A举例说明了存储在输入图像队列中的MPEG长GOP流数据的第一GOP的15幅图像和紧随其后的第二GOP的前三幅IBB图像的图像ID,以执行正向重放操作。图9B举例说明了存储在输入图像队列中的MPEG长GOP流数据的第二GOP的15幅图像、和先于第二GOP的的第三GOP的前三幅IBB图像的图像ID,以执行反向重放操作。
如果在步骤S71确定,输入图像队列不为空,那么处理返回到图4的步骤S32。也就是说,在解码计划处理中,总共16幅图像,即,从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所讨论的、以图10A所示的显示顺序重新排列的设置在输入图像队列中的图像ID被设置在显示顺序信息队列中。如果重放方向是反向,那么正如参考图9B所讨论的、以图10B所示的显示顺序重新排列的设置在输入图像队列中的图像ID被设置在显示顺序信息队列中。
当在步骤S74执行重排序处理以在显示顺序信息队列中设置图像ID时,输出在输入图像队列中排列的所有图像ID,并且输入图像队列变为空。也就是说,如果在步骤S71中确定,输入图像队列为空,那么意味着重新排序了在输入图像队列中排列的图像ID。如果在步骤S71中确定,输入图像队列不为空,那么意味着由于对应于接收随后数据的解码器的时间信息显示顺序设置队列在执行先前解码计划处理中的步骤S72中的输入处理1之后不为空,因而没有执行步骤S74中的重排序处理。
在步骤S75中,CPU20参考在步骤S74中设置的显示顺序信息队列,并设置在I/P图像解码队列中以解码顺序要解码的GOP的I图像和P图像的图像ID。I/P图像解码队列是这样的队列,其中以解码顺序来设置先于B图像的要解码的I图像和P图像的图像ID。
图11A和11B分别举例说明了当执行快速正向重放操作和反向重放操作时的I/P图像解码队列。在I/P图像解码队列中,当执行正向重放操作时,如图11A所示,设置对应于在图10A所示显示顺序信息队列中设置的图像ID的I图像和P图像的6幅图像的图像ID。在I/P图像解码队列中,当执行反向重放操作时,如图11B所示,设置对应于在图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所示以显示顺序来设置在图10A中所示显示顺序信息队列中排列的18幅图像ID,除了前两幅B图像和最后I图像,也就是,15幅图像ID,即,图8A所示供给解码器22、23和24之一的16幅图像ID,除了最后的I图像。
在显示顺序设置队列中,当执行反向重放操作时,如图12B所示以显示顺序来设置在图10B中所示显示顺序信息队列中排列的18幅图像ID,除了前两幅B图像和最后I图像,也就是,15幅图像ID,即,图8B所示供给解码器22、23和24之一的16幅图像ID,除了最后的I图像。
当在步骤S78中设置显示顺序设置队列时,将显示顺序信息队列中排列的图像ID全部输出,并且显示顺序信息队列变为空。
在步骤S79中,执行以下参考图16讨论的显示阶段确定处理。在显示阶段确定处理中,确定处理单元中解码开始定时和显示开始定时之间的偏移(displacement),其等于一个包括15帧的GOP和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中存储所获得的信息。如果速度设置值为正,那么重放方向为正向,并且如果速度设置值为负,那么重放方向为反向。
如下确定速度设置值。如果速度设置值为1,那么执行正常重放操作。如果速度设置值大于1,那么执行快速重放操作。如果速度设置值小于1,那么执行低速重放操作。如果速度设置值为-1,那么执行正常速度的反向重放操作。如果速度设置值小于-1,那么执行快速反向重放操作。如果速度设置值是绝对值小于1的负值,那么执行低速反向重放操作。
然后,根据在步骤S101中获得的速度设置值是正或负,CPU11在步骤S102中确定要执行的处理是正向重放操作或者是反向重放操作。
在步骤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发送流传送完成消息给CPU11。然后处理返回到图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确定,当计算正常速度正向或反向重放操作中的阶段偏移时,重放方向是正向或者反向。在执行以下要描述的省略处理1之后,即使设置在显示顺序设置队列首部的图像ID的图像类型是B图像,根据重放速度,重放方向可以是正向或者反向。
如果在步骤S133中发现在显示顺序设置队列首部的图像ID的图像类型是B图像,那么处理前进到步骤S134。在步骤S134中,CPU20设置通过将要解码的I图像和P图像的总数增加1而获得的数目,作为相对于在I/P图像解码队列中设置的图像ID的I图像和P图像的解码开始定时、在显示顺序设置队列中设置的图像ID的图像的显示开始定时的时间阶段偏移disp_phase。
例如,当重放速度是×-1时,如图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。
例如,当重放速度是×1时,如图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是不是显示起始GOP(包括其中主题GOP位于在重放速度改变之后重新开始重放操作的位置的情况)。
如果在步骤S137中确定,主题GOP不是显示起始GOP,那么处理前进到步骤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是显示起始GOP,那么处理前进到步骤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中确定主题GOP是第一解码处理单元,或者如果在步骤S164中确定在执行图像省略之后第一图像还没有从B图像改变为I图像或P图像,那么处理前进到步骤S166,其中CPU20将阶段调整值设置为0。
在步骤S163、S165、或S166之后,处理前进到步骤S167。在步骤S167,如以下等式(1)所示,通过使用先前解码处理单元的解码开始时间信息prev_time_base、阶段偏移校正值disp_zero、在省略处理1(将在下文描述)中计算得到的时间信息调整值added_count以及在步骤S161至S166的步骤中确定的阶段调整值,CPU20计算解码开始时间信息time_base,其表示16幅图像的第一帧(这是解码处理单元)在解码器22、23、和24之一中解码的时间:
解码开始时间信息time_base=先前GOP的解码开始时间信息prev_time_base-阶段偏移校正值disp_zero+时间信息调整值added_count+阶段调整值...(1)
为了通过使用等式(1)计算显示起始GOP的解码开始时间信息,将先前GOP的解码开始时间信息prev_time_base和在用于先前GOP的省略处理1中计算的时间信息调整值added_count设置为0。
在步骤S168中,CPU20为接收后续数据的解码器设置时间信息I/P图像解码队列。
在时间信息I/P图像解码队列中,将要首先解码的图像的解码开始时间信息time_base和用于计数每帧的时间计数器的计数值设置成与设置在图11A和11B所示的I/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图像解码定时的参考时间信息,所述阶段偏移disp_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发送的显示开始命令。这使CPU11能通过参考存储在结果缓冲器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的图像数据,并以将读取的图像数据供给解码处理器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举例说明了当重放速度分别是×1和×-1时的解码定时和显示定时。在快速重放操作中,通过如下所述的省略处理1来改变时间信息显示顺序设置队列的设置,并且在省略处理1之后,根据时间信息显示顺序设置队列的改变的设置来在随后处理例行程序中执行解码。在快速重放操作中,并不解码所有的B图像,但是解码所有的I图像和P图像。
以下参考图23的流程图来描述在图18的步骤S196中执行的省略处理1。
在步骤S271中,CPU20根据设置在参考图5的输入流状态改变处理中设置的输入流状态来确定用户设置的重放速度是不是快速重放操作。如果在步骤S271中确定,重放速度不是快速,那么处理返回到图18的步骤S196,并且前进到图4中步骤S36。
如果在步骤S271中确定执行了快速重放操作,那么处理前进到步骤S272,以确定在改变速度设置后主题帧是不是第一GOP的第一帧。
如果在步骤S272中发现主题帧是第一GOP的第一帧,那么处理前进到步骤S273,其中CPU20根据速度设置值来确定省略周期,并将所确定的省略周期设置在寄存器中。
更确切地说,如果重放速度是×2或×-2,那么CPU20将省略周期设置为1/2,并将其存储在寄存器中。如果重放速度是×3或×-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将帧计数器递增1。
然后在步骤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,并且重复对应的处理。
根据省略处理1,从时间信息显示顺序设置队列中删除不显示的帧的图像ID,或者将不显示标记设置在时间信息显示顺序设置队列中的对应的图像ID中。通过参考时间信息显示顺序设置队列来执行B图像显示处理和一帧延迟显示设置处理(以下讨论)。由于响应于快速重放操作,更新了时间信息显示顺序设置队列的设置,因而在该处理例行程序之后,仅仅解码要显示的B图像,换句话说,不将要省略的B图像供给解码处理器77。尽管对要省略的I图像和P图像进行了解码,但不显示它们。
独立于GOP地不断地将帧计数器值递增,而无需重置,直至改变了速度设置,即,直至改变了输入流状态。由于省略周期的分母是无法整除形成一个GOP的帧的数目的值,例如当一个GOP包括15帧并且重放速度是×2、×4、×-2、或×-4时,不显示的图像的位置有时根据GOP而改变。即使在这种情况下,通过使用表示在输入流中的帧顺序的帧计数器值,也能够根据省略周期轻易地确定是否显示主题帧。
照此,在将B图像输入解码器之前将其省略,并且以规律间隔省略I图像和P图像,而无需在将其解码后进行显示,从而通过跟随速度的动态改变来实现快速重放操作。由于在解码期间I图像和P图像可以用作其它图像的参考图像,因而该方法在通过在存储器中用最小数目的组以规律间隔省略图像而执行快速重放操作中是有效的。
根据省略处理1,当以规律间隔省略图像时,如果使用两个解码器,那么可以将速度设置为从×-3到×3的范围之间,并且如果使用三个解码器,那么可以将速度设置为从×-6到×6的范围之间。通过使用两个或更多解码器,可以执行类似于上述省略处理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来执行存储在信息队列中的信息。
例如,在×2快速重放操作中,如图25所示,省略图像之后在解码单元中要显示的图像的改变数目是-7,并且因此时间信息调整值added_count变为-7。然后,由于在随后解码单元中第一图像的图像类型从I图像改变为B图像,因而阶段调整值变为-1。因此,如果阶段偏移校正值disp_zero为0,那么time_base所调整的量就是-8。由于第二GOP的第一图像是B图像,因而第二GOP的显示开始定时就比I图像的解码开始定时晚了7帧。
例如,在×-2快速重放操作中,如图26所示,省略图像之后在解码单元中要显示的图像的改变数目是-7,并且因此时间信息调整值added_count变为-7。然后,由于在随后解码单元中第一图像的图像类型保留与B图像相同,因而阶段调整值变为0。因此,如果阶段偏移校正值disp_zero为0,那么time_base所调整的量就是-7。由于第二GOP的第一图像是B图像,因而第二GOP的显示开始定时就比I图像的解码开始定时晚了7帧。
例如,在×4快速重放操作中,如图27所示,省略图像之后在解码单元中要显示的图像的改变数目是-11,并且因此时间信息调整值added_count变为-11。然后,由于在随后解码单元中第一图像的图像类型从I图像改变为B图像,因而阶段调整值变为-1。因此,如果阶段偏移校正值disp_zero为0,那么time_base所调整的量就是-12。由于第二GOP的第一图像是B图像,因而第二GOP的显示开始定时就比I图像的解码开始定时晚了7帧。
例如,在×-4快速重放操作中,如图28所示,省略图像之后在解码单元中要显示的图像的改变数目是-11,并且因此时间信息调整值added_count变为-11。然后,由于在随后解码单元中第一图像的图像类型保留与B图像相同,因而阶段调整值变为0。因此,如果阶段偏移校正值disp_zero为0,那么time_base所调整的量就是-11。由于第二GOP的第一图像是B图像,因而第二GOP的显示开始定时就比I图像的解码开始定时晚了7帧。
例如,在×5快速重放操作中,如图29所示,省略图像之后在解码单元中要显示的图像的改变数目是-12,并且因此时间信息调整值added_count变为-12。然后,由于在随后解码单元中第一图像的图像类型保留与I图像相同,因而阶段调整值变为0。因此,如果阶段偏移校正值disp_zero为0,那么time_base所调整的量就是-12。由于第二GOP的第一图像是I图像,因而第二GOP的显示开始定时就比I图像的解码开始定时晚了6帧。
例如,在×-5快速重放操作中,如图30所示,省略图像之后在解码单元中要显示的图像的改变数目是-12,并且因此时间信息调整值added_count变为-12。然后,由于在随后解码单元中第一图像的图像类型保留与B图像相同,因而阶段调整值变为0。因此,如果阶段偏移校正值disp_zero为0,那么time_base所调整的量就是-12。由于第二GOP的第一图像是B图像,因而第二GOP的显示开始定时就比I图像的解码开始定时晚了7帧。
然后,在随后要重复的图17的时间信息计划确定处理的步骤S167中,如图25至30所示,根据等式(1)来计算解码开始时间信息time_base。然后,根据所计算的解码开始时间信息time_base来计算对应于在时间信息I/P图像解码队列中设置的图像ID的I图像和P图像的解码开始定时,并且然后根据所计算的解码开始时间信息time_base和时间信息显示顺序设置队列(从该队列中删除了不显示的帧),来确定执行省略处理1之后的B图像的解码和显示计划。
例如,现在假设,当N为15(N是一个GOP中的帧的数目)而M为3(M是I图像、P图像或I图像与P图像之间的间隔)时,重放装置1解码MPEG长GOP流。在这种情况下,在图2所示视频组存储器82的8个组中,将锚帧I、P、P、P、P、I不改变地存储在组No.0至No.5中,并且B图像交替地存储在组No.6和No.7中,以便比进行显示旱一帧对它们进行解码。利用这种配置,尽管视频组存储器82中的组的数目是8,但是可以在根据解码器数目(该实施方式的重放装置1中有3个解码器)设置的速度范围内(正向和反向)执行显示操作。
以下参考图31至34来描述视频组存储器82的设置。
图31举例说明当执行×1重放操作时存储在图2所示视频组存储器82中的8个组中的图像。
在由I图像和P图像占据的组No.0至No.5中,解码的I图像和P图像以解码顺序连续地存储。当显示第一I2图像时,B3图像同时存储在组No.6中,并且当显示B3图像时,B4图像同时存储在组No.7中。当显示B3图像时,释放存储已经显示的B3图像的组No.6和存储已经用作参考图像的I2图像的组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举例说明当执行×2重放操作时图2所示视频组存储器82的8个组中存储的图像。
在由I图像和P图像占据的组No.0至No.5中,解码的I图像和P图像以解码顺序连续地存储。当显示第一I2图像时,B4图像同时存储在组No.6中,并且当显示B4图像时,B6图像同时存储在组No.7中。然后,当显示B6图像时,释放存储已经显示的B4图像的组No.6和存储已经用作参考图像的I2图像的组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举例说明当执行×-1重放操作时图2所示视频组存储器82的8个组中存储的图像。
在由I图像和P图像占据的组No.0至No.5中,解码的I图像和P图像以解码顺序连续地存储。在将I2图像存储在组No.5中之后,B1图像存储在组No.6中,并且当显示B1图像时,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中的I2图像,直至该GOP的显示结束以后才释放组No.0。
图34举例说明当执行×-2重放操作时,存储在图2所示视频组存储器82中的8个组中的图像。
在由I图像和P图像占据的组No.0至No.5中,解码的I图像和P图像以解码顺序连续地存储。在将I2图像存储在组No.5之后,B1图像存储在组No.6中,并且在显示了B1图像之后,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中的I2图像,直至该GOP的显示结束以后才释放组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所执行的×-5重放操作中下溢不发生时,关于时间计数器的解码定时和显示定时。在图36中,通过举例的方式,GOP的I图像的解码开始定时的时间计数器表示7。
例如,如果下溢发生了两个帧的量,那么时间计数器延迟两个帧,如图37所示,并且通过参考调整的时间计数器来重启处理,从而允许随后不延迟地进行计划、解码、和显示控制。
根据该处理,即使流的供给由于例如当执行快速重放操作时HDD16的减少的吞吐量而延迟,可以检测到由于流的供给延迟而导致的下溢,并且将时间信息的计数延迟下溢发生的时间,从而不受中断地重启重放处理。
如果在图4中步骤S36中确定,不是所有的帧都处理了,那么处理前进到步骤S37,其中递增时间计数器。然后处理返回到步骤S31,并且重复相应的处理。
对于第七或者随后的帧,由于在步骤S33中确定,主题帧不是第一至第六帧之一,所以在步骤S34中执行一帧延迟显示设置处理。
参考图38的流程图,给出在图4中步骤S34中执行的一帧延迟显示设置处理的描述。
在步骤S361中,CPU20根据存储在显示队列中的信息经由控制总线19发送显示指令至相应解码器22、23或24,以便显示处理变得比解码处理晚一帧,并且从显示队列中删除相应的图像ID。在这种情况下,相应解码器22、23或24的输出地址确定单元80经由控制总线76从CPU20接收控制信号,并控制存储器控制器80从视频组存储器82读出相应的图像并将读取的图像供给选择器25。
在步骤S362中,CPU20根据表示接收随后数据的解码器的寄存器值,控制选择器25输出解码的帧,所述寄存器值在图6中步骤S81中设置。然后处理返回到图4中步骤S34。
例如,如果重放速度是×1,如图21所示,如下执行显示控制。以时间信息显示顺序设置队列中图像的顺序显示图像,以便根据在时间信息显示顺序设置队列中设置的时间信息,B图像的显示定时变得比B图像的解码定时要晚。
如果重放速度是×-1,如图22所示,那么如下执行显示控制。以时间信息显示顺序设置队列中设置的图像顺序显示图像,以便根据在时间信息显示顺序设置队列中设置的时间信息,B图像的显示定时变得比B图像的解码定时要晚。
这同样应用于图25所示的×2重放操作,图26中示出的以×-2速度的重放操作,图27示出的以×4速度重放操作,图28示出的以×-4的速度重放操作,图29示出的以×5速度的重放操作,和图30示出的以×-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幅图像,其结果是B图像的显示定时要比B图像的解码定时晚一帧。
在步骤S482中,切换接收随后数据的解码器的设置。然后,处理返回到图39中步骤S432。
根据解码计划2来计划解码定时和显示定时。
以下参考图41中的流程图讨论在图40的步骤S479中执行的省略处理2。
在步骤S501中,CPU20根据在参考图5所述的输入流状态改变处理中设置的输入流状态确定,用户指示的重放速度是否快速。如果在步骤S501中确定重放速度不是快速,那么处理前进到以下讨论的步骤S510。
如果在步骤S501中发现重放速度是快速,那么处理前进到步骤S502,以确定在改变了速度设置之后主题帧是否是第一GOP的第一帧。
如果在步骤S502中发现主题帧是第一GOP的第一帧,那么处理前进到步骤S503,其中CPU20根据速度设置值GOP_Speed确定省略周期并且将所确定的省略周期存储在寄存器中。
更确切地说,如果重放速度是×2或者×-2,那么CPU20将省略周期设置为1/2并将其存储在寄存器中。如果重放速度是×3或者×-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)大于在显示顺序设置队列中设置的GOP_speed,即如果speed/GOP_speed>1保持为真的,CPU20确定重放速度变得更快。如果在步骤S571中确定重放速度不比同一方向先前省略处理中的速度快,即重放速度保留相同或者更慢,或者重放方向是反向,那么处理返回到图42的步骤S546中,并前进到图39中步骤S436中。
如果在步骤S571中确定,当前速度变得比同一方向先前省略处理中的速度要快,那么处理前进到步骤S572。在步骤S572中,CPU20根据当前速度设置值和在先前省略处理2中的速度设置值来确定省略周期,并存储所确定的省略周期。
更确切地说,CPU20根据speed/GOP_speed的绝对值的倒数来设置省略周期。例如,如果当前速度从先前速度×2改变到×4,那么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中计算的时间信息增加值added_count是当速度从先前省略处理改变时由在步骤S576和S577中的省略处理改变的图像数。
如果在步骤S576中确定,要显示在帧计数器中表示的帧,或者在步骤S578之后,处理前进到步骤S579。在步骤S579中,CPU20在时间信息显示顺序设置队列中在帧计数器中表示的帧的图像ID中设置检查标记。然后处理返回到步骤S574并且重复相应的处理。
根据省略处理3,如果速度改变得比在同一方向省略处理2中的速度还快,那么从时间信息显示顺序设置队列中删除不显示的帧的图像ID,或者在时间信息显示顺序设置队列中的相应图像ID中设置不显示标记。通过参考重置的时间信息显示顺序设置队列来执行B图像显示处理和一帧延迟显示设置处理。如果速度变得比在同一方向的省略处理2中的速度还快,那么根据设置速度来改变时间信息显示顺序设置队列中的设置。因此,在该处理例行程序之后,仅仅解码了要显示的B图像,换句话说,要省略的B图像不提供给解码处理器77。尽管解码了要省略的I图像和P图像,但是也不对其进行显示。
因此,即使在完成解码计划之后,为各个帧确定是否改变了速度设置。如果速度改变得比在同一方向的省略处理2中的速度还快,那么重置时间信息显示顺序设置队列,从而执行解码计划以便能够通过迅速响应速度改变而重放流数据。
当一个GOP包括15幅图像时,上述已经描述了解码处理。以下参考图44至64描述了这样的情况,其中包含在一个GOP中的锚帧(I图像和P图像)的数目是6或者更多或者4或更少。
如果以类似于如图1所示重放装置1为包括15幅图像的各个GOP执行的解码处理的方式,为包括许多锚帧的各个GOP执行解码,如图44和45所示,一些图像不解码或者延迟一些图像的解码。
现在参考图44给出这种情况的描述,其中通过一个解码器(解码器22、23和24中的一个)以类似于为包括15幅图像的一个GOP执行的解码处理的方式解码一个GOP,以×1的速度来正向重放包括由从B0至P14的15幅图像形成的GOP(0)、由从B0至P20的21幅图像形成的GOP(1)、由从B0至P14的15幅图像形成的GOP(2)的流。
利用先前GOP来解码在各个GOP的首部的B图像。由于在GOP(1)中存储7幅锚帧,在视频组存储器82中的8个组中用于解码锚帧的6个组就由I2至P17所占据,并且没有空间给GOP(1)的接下来的锚帧P20和GOP(2)的I2。因此,在解码GOP(1)的解码器中,在解码期间,GOP(1)的锚帧P20和GOP(2)的I2不能用作参考图像,从而无法解码GOP(1)的P17和随后帧以及GOP(2)的B0和B1。
现在参考图45给出以下情况的描述,其中通过一个解码器(解码器22、23和24之一)以类似于为包括15幅图像的一个GOP而执行的解码处理的方式解码一个GOP,来以×-1的速度反向重放包括由从B0至P14的15幅图像构成的GOP(0)、由从B0至P20的21幅图像构成的GOP(1)、和由从B0至P14的15幅图像构成的GOP(2)的流。
利用随后的GOP来解码在各个GOP首部的B图像。由于如图44所示,GOP(1)中有7个锚帧,在视频组存储器82中的8个组中,由I2至P17占据用于解码锚帧的6个组,并且没有空间给GOP(1)的接下来的锚帧P20和先前GOP(2)的I2。因此,在解码GOP(1)的解码器中,在解码期间,GOP(1)的锚帧P20和先前GOP(2)的I2不能用作参考图像,从而无法解码GOP(1)的P17和随后帧以及GOP(2)的B0和B1。
正如以上所讨论的,由于形成一个GOP的图像的大量锚帧,如果以类似于由图1所示重放装置1为包括15幅图像的每个GOP而执行的方式执行解码处理,那么不解码一些帧。
以下参考图46和47讨论这样的情况,其中对一个具有4个或者更少锚帧的GOP和具有5个或更多锚帧的GOP不断执行快速重放操作。
现在参考图46给出以下情况的描述,其中通过由一个解码器(解码器22、23和24之一)以类似于在包括15幅图像的一个GOP上执行的解码处理的方式解码一个GOP,以×2的速度正向重放包括GOP(0)、GOP(1)和GOP(2)(其中每个是由3幅图像B0、B1、和I2形成)以及包括由从B0到P14的15幅图像构成的GOP(3)和GOP(4)的流。
利用先前GOP来解码各个GOP首部的B图像。在GOP(0)、GOP(1)和GOP(2)中仅仅有一个锚帧,并且在随后GOP(3)中有5个锚帧。在GOP(0)的B0和B1之间,在解码器2中利用先前帧解码要显示的B0,然后,在解码器0中解码GOP(0)的I2和GOP(1)中要显示的B1,并且然后,在解码器1中解码GOP(1)的I2和GOP(2)中要显示的B0。在各个解码器中,不开始随后解码处理直至输出在先前解码处理中的所有图像。
也就是说,由于解码器0在输出GOP(1)的B1之后开始解码GOP(3)的锚帧,因而延迟发生在解码处理中。因此,由解码器2解码的GOP(3)的B1保留输出直至在解码GOP(3)的锚帧之后结束B3(首先显示的)的解码。
现在参考图47给出这种情况的描述,其中通过由一个解码器(解码器22、23、和24之一)以类似于在包括15幅图像的一个GOP上执行的解码处理的方式解码一个GOP,以×-2速度来反向重放包括GOP(4)、GOP(3)和GOP(2)(其中每个是由3幅图像B0,B1,I2构成的)并包括由从B0至P14的15幅图像构成的GOP(1)和GOP(0)的流。
利用先前GOP来解码各个GOP首部的B图像。在GOP(4)、GOP(3)和GOP(2)中仅仅有一个锚帧,并且在随后GOP(1)中有5个锚帧。在先于GOP(4)的GOP的B0和B1之间,在解码器1中利用GOP(4)的I2来解码要显示的B0,然后,在GOP(4)的B0和B1之间,在解码器0中与GOP(3)的I2一起来解码要显示的B1。并且然后,在GOP(3)的B0和B1之间,在解码器2中与GOP(2)的I2一起解码要显示的B1。然后,在GOP(2)的B0和B1之间,在解码器1中与GOP(1)一起解码要显示的B0。在各个解码器中,不开始随后解码处理直至输出先前解码处理中所有图像。
也就是说,由于解码器1在输出GOP(4)的I2之后开始解码GOP(1)的锚帧,因而延迟发生在解码处理中。因此,由解码器2解码的GOP(3)的I2保留输出直至在解码GOP(1)的锚帧之后结束GOP(2)的首先显示的B0的解码。
照此,如果对包括少数锚帧的GOP和包括多数锚帧的GOP执行类似于由图1所示重放装置1对包括15幅图像的一个GOP执行的解码处理,那么需要耗费时间来解码锚帧,从而导致在解码处理中的延迟。
为了应付这样的情况,如参考图44至47所描述的,其中在GOP中图像的数目不是图1所示重放装置1中的15幅,那么可以采取以下措施。在检测了各个GOP的结构之后,可以通过划分或者合并GOP来重建其用作解码处理单元的解码单元,包括对应于解码器22、23或24的视频组存储器82的组数的锚帧。
以下参考图48至50B来讨论划分包含30帧的GOP和解码所划分的GOP。
GOP(0)是由GOP(1)之前的30帧构成的,如图48所示,即B0至P29。在各个解码处理单元中,与先前GOP一起解码前两个B图像。
在视频组存储器82的8个组之中,可以将6个组分配给锚帧。由于在GOP(0)中有10个锚帧,因而不是所有的帧都可以通过与在包括15幅图像的各个GOP上执行的相同的解码处理来解码。因此,如图48的底部所示,将GOP(0)划分为两个解码处理单元,以便锚帧的数目变为6或者更少,并且然后,执行解码以便也解码用于解码包含在划分的GOP中的所有的P图像和B图像所需的锚帧。
GOP(0)被划分为两个解码处理单元,如图49A和49B所示,GOP(0-0)包括I2至P17,并且GOP(0-1)包括B18至P29和B0和B1,并且由不同的解码器来解码GOP(0-0)和GOP(0-1)。需要GOP(0-0)的最后锚帧P17用于解码在GOP(0-1)首部的两个B图像B18和B19。也就是说,P17也用作GOP(0-1)的锚帧。需要GOP(0-0)的锚帧用于解码GOP(0-1)的锚帧。因此,在通过使用6个解码锚帧的组来解码GOP(0-0)的锚帧之后,通过使用这6个组(通过重写组)来解码GOP(0-1)的锚帧和随后GOP的第一I图像。
因而,在用于解码GOP(0-0)或者GOP(0-1)的解码器中,在固定组中解码锚帧,并且无论重放方向是正向还是反向或者无论重放速度是正常还是快速,都不改变锚帧的解码顺序。相反,在GOP(0-0)和GOP(0-1)中,B图像的解码顺序是根据重放方向或者重放速度而不同的。在图49A和49B中,示出了在×1和×-1正向和反向重放速度的解码顺序。
在×1重放操作中,如图50A所示,在一个解码器中,在解码GOP(0-0)的锚帧I2至P17之后,解码GOP(0-0)的B图像B3至B16。同时,在另一个解码器中,在解码锚帧I2至P14之后,通过使用锚帧I2至P14作为参考图像来解码GOP(0-1)的锚帧P17至P29和GOP(1)的第一I2图像,并且然后,解码GOP(0-1)的B图像B18至B28以及GOP(1)的B0至B1。
在×-1重放操作中,如图50B所示,在一个解码器中,在解码锚帧I2至P14之后,通过使用锚帧I2至P14作为参考图像来解码GOP(0-1)的锚帧P17至P29和GOP(1)的第一I2帧,并且然后,解码GOP(1)的B1与B0和GOP(0-1)的B图像B28至B18。在另一个解码器中,在解码GOP(0-0)的锚帧I2至P17之后,解码GOP(0-0)的B图像B16至B3。
接下来,参考图51至图53B描述当各GOP(各个包括4或者更少的锚帧)连续时解码处理单元的设置和解码处理。
如图51所示,GOP(0)是由6帧B0至P5形成的,而GOP(1)是由9帧B0至P8形成,随后是GOP(2)。在各个解码处理单元中,与先前GOP一起解码前两个B图像。
在视频组存储器82的8个组之间,将6组分配给锚帧。在GOP(0)中有两个锚帧并且在GOP(1)中有三个锚帧。因此,如在图51底部所示,合并GOP(0)和GOP(1),以便锚帧的数目变为6或者更少。
在这种情况下,与先前GOP一起解码GOP(0)的前两个B帧B0和B1,并且作为同一解码处理单元GOP(0-0)解码GOP(0)的I2至P5、GOP(1)、以及GOP(2)的前两个B图像B0和B1。在固定组中解码锚帧,并且锚帧的解码顺序未改变,如图52所示,无论重放方向是正向还是反向或者无论重放速度是正常还是快速。相反地,B图像的解码顺序根据重放方向或者重放速度而不同。在图52中,示出在×1或者×-1正向或者反向重放速度的解码顺序。
在×1正向重放操作中,如图53A所示,在任一个解码器中,解码GOP(0-0)的锚帧和GOP(2)的第一I2帧,并且然后解码GOP(0-0)的B图像。然后,在×-1反向重放操作中,如图53B所示,在无论哪一个解码器中,为执行反向重放操作,解码GOP(0-0)的锚帧和GOP(2)的第一I2帧,并且然后,解码GOP(0-0)的B图像。
可能存在这样的情况,其中连续包括6或更多锚帧的GOP和具有4或者更少锚帧的GOP。在这种情况下,以下参考图54至56B来描述通过合并这种GOP然后重新划分它们来均等地分配负荷至解码器的解码处理单元的设置。
如图54所示,GOP(0)包括21帧B0至P20,并且GOP(1)包括9帧B0至P8,随后是GOP(2)。在各个解码处理单元中,与先前GOP一起解码前两个B图像。
在视频组存储器82的8个组之中,可将6组分配给锚帧。然而,由于在GOP(0)中有7个锚帧,因而如果对GOP(0)以类似于当一个GOP包括15幅图像的方式执行解码,那么错误发生。在这种情况下,GOP(0)可以划分为两个解码处理单元以便锚帧的数目变为6或者更少。然而,由于随后GOP的帧的数目小,因而如图54底部所示合并并重新划分GOP(0)和GOP(1),以便从GOP(0)和GOP(1)生成两个解码处理单元GOP(0-0)和GOP(0-1),然后根据这些解码处理单元来执行解码。
在合并GOP(0)和GOP(1)之后,如图55A所示,将GOP(0)的I2至P17设置为第一解码处理单元GOP(0-0),并且如图55B所示,将GOP(0)的B18至P20、整个GOP(1)、和GOP(2)的B1和B2设置为第二解码处理单元GOP(0-1),并且在不同的解码器中解码第一和第二解码处理单元。GOP(0-0)的最后锚帧P17是用于解码GOP(0-1)的前两个B图像B18和B19所需的。也就是说,P17也用作GOP(0-1)的锚帧。需要GOP(0-0)的锚帧用于解码GOP(0-1)的锚帧。因此,在使用解码锚帧的6组来解码GOP(0-0)的锚帧之后,通过使用这6组(通过重写这6个组)来解码GOP(0-1)的锚帧和随后GOP的第一I图像。
因此,在用于解码GOP(0-0)或者解码GOP(0-1)的解码器中,在固定组中解码锚帧,并且不管重放方向是正向还是反向或者无论重放速度是正常还是快速,锚帧的解码顺序都不改变。相反地,在GOP(0-0)和GOP(0-1)中,B图像的解码顺序根据重放方向或者重放速度而不同。在图55A和55B中示出了在×1或×-1正向或者反向重放速度的解码顺序。
更确切地说,在×1正向重放操作中,如图56A所示,在一个解码器中,在解码GOP(0)的I2至P17(其是GOP(0-0)的锚帧)之后,解码GOP(0)的B3至B16(其是GOP(0-0)的B图像)。在另一个解码器中,在解码GOP(0-0)的锚帧I2至P14之后,通过使用I2至P14作为参考图像来解码GOP(0)的P17和P20与GOP(1)的I2、P5和P8(其是GOP(0-1)的锚帧)以及GOP(2)的第一I2,然后,解码GOP(0)的B18和B19与GOP(1)的B0至B7(其是GOP(0-1)的B图像)、以及GOP(2)的B0和B1。
在×-1反向重放操作中,如图56B所示,在一个解码器中,在解码GOP(0-0)的锚帧I2至P14之后,通过使用I2至P14作为参考图像来解码GOP(0)的P14和P20与GOP(1)的I2、P5和P8(其是GOP(0-1)的锚帧)、以及GOP(2)的第一I2。然后,解码GOP(2)的B1和B0以及GOP(1)的B7至B0与GOP(0)的B19和B18(其是GOP(0-1)的B图像)。在另一个解码器中,在解码I2至P17(其是GOP(0-0)的锚帧)之后,解码GOP(0)的B16至B3(其是GOP(0-0)的B图像)。
可能存在这样的情况,其中连续包括4或更少锚帧的GOP和具有6个或者更多锚帧的GOP。在这种情况下,以下参考图57至59B来描述通过合并这些GOP然后重新划分它们以便均等地将负荷分配给解码器的解码处理单元的设置。
如图57所示,GOP(0)包括9帧B0至P8,并且GOP(1)包括21帧B0至P20,随后是GOP(2)。在各个解码处理单元中,与先前GOP一起解码前两个B图像。
在视频组存储器82的8个组之中,可以将6组分配给锚帧。尽管在GOP(0)中只有三个锚帧,在GOP(1)中有7个锚帧,并且因此合并并重新划分了GOP(0)和GOP(1),如图57的底部所示,以便从GOP(0)和GOP(1)生成两个解码处理单元GOP(0-0)和GOP(0-1),然后根据这些解码处理单元来执行解码。
在合并GOP(0)和GOP(1)之后,如图58A所示,将GOP(0)的I2至GOP(1)的P8设置为第一解码处理单元GOP(0-0),并且如图58B所示,将GOP(1)的B9至P20和GOP(2)的B1和B2设置为第二解码处理单元GOP(0-1),并且在不同解码器中解码第一和第二解码处理单元。GOP(0-0)的最后锚帧P8是用于解码GOP(0-1)的前两个B图像B9和B10所需的。也就是说,P8也用作GOP(0-1)的锚帧。在GOP(0-0)的锚帧中,需要GOP(1)的锚帧I2和P5用于解码GOP(0-1)的锚帧。因此,在使用解码锚帧的6组中的一组来解码GOP(1)的I2和P5之后,通过使用这6组(通过重写这6个组)来解码GOP(0-1)的锚帧和随后GOP的第一I图像。
因此,在用于解码GOP(0-0)或者解码GOP(0-1)的解码器中,在固定组中解码锚帧,并且不管重放方向是正向还是反向或者无论重放速度是正常还是快速,锚帧的解码顺序都不改变。相反地,在GOP(0-0)和GOP(0-1)中,B图像的解码顺序根据重放方向或者重放速度而不同。在图58A和58B中示出了在×1和×-1正向和反向重放速度的解码顺序。
更确切地说,在×1正向重放操作中,如图59A所示,在一个解码器中,在解码GOP(0)的I2至P8以及GOP(1)的I2至P8(其是GOP(0-0)的锚帧)之后,解码GOP(0)的B3至B7和GOP(1)的B0至B7(其是GOP(0-0)的B图像)。在另一个解码器中,在解码GOP(1)的锚帧I2至P5(其是GOP(0-0)的锚帧)之后,通过使用I2至P5作为参考图像来解码GOP(1)的P8至P20(其是GOP(0-1)的锚帧)以及GOP(2)的第一I2,然后,解码GOP(1)的B9至B19(其是GOP(0-1)的B图像)和GOP(2)的B0和B1。
在×-1反向重放操作中,如图59B所示,在一个解码器中,在解码GOP(1)的锚帧I2和P5(其是GOP(0-0)的锚帧)之后,通过使用I2和P5作为参考图像来解码GOP(1)的P8至P20(其是GOP(0-1)的锚帧)以及GOP(2)的第一I2。然后,解码GOP(2)的B1和B0以及GOP(1)的B19至B9(其是GOP(0-1)的B图像)。在另一个解码器中,在解码GOP(0)的I2至P8和GOP(1)的I2至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所讨论的在GOP(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的流程图描述当形成GOP的图像数目不同于15时的GOP划分/合并处理。
在步骤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个或者更多锚帧的长GOP,并且如果视频组存储器具有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所示,可以没有问题地在×1重放操作中对图44所示包括21帧的GOP执行解码处理。
更确切地说,将包括21帧的GOP(1)划分为然后由解码器1和2解码的两个解码单元,即,第一解码单元和第二解码单元。在这种情况下,在解码未从解码器2输出的第一解码单元的锚帧以便解码第二解码单元的锚帧之后,通过使用为锚帧而固定的组(根据需要通过重写第一解码单元的锚帧)来解码第二解码单元的锚帧。
类似地,如图62所示,可以没有任何问题地在×-1重放操作中对图45所示包括21帧的GOP执行解码处理。
更确切地说,将包括21帧的GOP(1)划分为两个解码单元,即,第一解码单元和第二解码单元,其随后由解码器2和解码器1解码。在这种情况下,在解码未从解码器2输出的第一解码单元的锚帧以便解码第二解码单元的锚帧之后,通过使用为锚帧而固定的组(根据需要通过重写第一解码单元的锚帧)来解码第二解码单元的锚帧。
类似地,如图63所示,在×2重放操作中,当如图46所示连续具有少数锚帧的GOP和具有多数锚帧的GOP时,可以没有问题地执行解码处理。
更确切地说,将各包括B0、B1、和I2的GOP(0)与GOP(1)合并到一个解码单元中,并且将包括B0、B1、和I2的GOP(2)和包括从B0至P14的15帧的GOP(3)合并然后重新划分。
在GOP(0)和GOP(1)的合并的解码单元的B0和B1(GOP(0)的B0和B1)之间,在解码器2中与先前GOP或者先前解码单元一起解码要显示的B(0)、和用于解码B(0)所需的参考图像I2。在GOP(2)和GOP(3)第一半的合并解码单元的B0和B1(GOP(2)的B0和B1)之间,在解码器0中与GOP(0)和GOP(1)的合并解码单元一起解码要显示的B(0)、和用于解码B(0)所需的参考图像I2。在解码器1中与GOP(2)和GOP(3)的第一半的合并解码单元一起解码B(7),其是GOP(3)的第二半的解码单元的要显示的B图像的首部。在GOP(4)的B0和B1之间,在解码器2中与GOP(3)的第二半的解码单元一起解码要显示的B0和I2(其作为解码B0所需的参考图像)。在解码器0中解码I2和GOP(4)的随后图像。
类似地,在×-2重放操作中,当如图47所示连续具有少数锚帧的GOP和具有多数锚帧的GOP时,如图64所示,可以没有任何问题地执行解码处理。
更确切地说,将GOP(4)和GOP(3)(各包括B0、B1和I2)合并到一个解码单元中,并且将包括B0、B1和I2的GOP(2)和包括从B0至P14的15帧的GOP(1)合并然后重新划分。
在解码器1中解码GOP(4)和GOP(3)的合并解码单元的除了B0和B1(GOP(3)的B0和B1)之外的图像、在先前解码单元中两个B图像之间的要显示的B图像(在图64中的B0)、以及I2(其是用于解码B(0)所需的参考图像)。在GOP(4)和GOP(3)的合并解码单元的B0和B1(GOP(3)的B0和B1)之间,在解码器0中与GOP(2)和GOP(1)的第二半的合并解码单元一起解码要显示的B(0)、和I2(其是解码B(0)所需的参考图像)。在GOP(2)和GOP(1)的第二半的合并解码单元的B9和B10(GOP(1)的B9和B10)之间,在解码器2中与随后解码单元即GOP(1)的第一半一起解码要显示的B9以及P8和P11(其是解码B9所需的参考图像)。在解码器1中与GOP(0)一起解码B(1),其是GOP(1)的第一半的解码单元的要显示的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+1帧。
在上述描述中,将一个解码单元中包含的锚帧的数目设置为与用于解码锚帧的固定组数目相同或者更少。更优选地,通过将主题解码单元的锚帧的数目与先前解码单元的锚帧数目相比较来设置锚帧的数目以便它不会比先前解码单元的锚帧数目大m帧(m是大于1的整数,这可以通过试验或经验来设置,并且更优选地是2至4)。
例如,如果连续具有一个锚帧的GOP和具有10幅锚帧的GOP,那么两个GOP的锚帧总数就是11,并且难于从这两个GOP形成两个解码单元。因此,进行解码以便“1个锚帧+1”、“5个锚帧+1”和“5个锚帧+1”,从而导致在解码处理中的延迟。
因而,通过将解码单元的锚帧数目与先前解码单元的锚帧数目相比较来设置锚帧的数目以便它不比先前解码单元的锚帧数目大2或者更多。在这种情况下,当两个GOP的锚帧总数是11时,进行解码以便“1个锚帧+1”、“3个锚帧+1”、“3个锚帧+1”和“4个锚帧+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,或者即使CPU11和CPU20是分离构造的,但是也可以将其集成到一个芯片上。
如果CPU11和CPU20是分离提供的,那么前述实施例中由CPU11执行的至少部分处理可以由CPU20以分时方式来执行。可选地,由CPU20执行的部分处理可以由CPU11以分时方式来执行。也就是说,能够执行分布式处理的处理器可以用作CPU11和CPU20。
可选地,重放装置1可以构成为与网络相连,并且在上述实施例中至少部分由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、ROM212和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。可选地,记录媒体可以是ROM212或者包含在其中存储了程序的存储单元218中的硬盘,其中当构建在装置中时将其提供给用户。
在本说明书中,形成记录在记录媒体中的程序的步骤包括如说明书所述以时间次序执行的处理,并且也可以包括并行或者单独执行的处理。
本领域技术人员应当理解的是,只要在所附权利要求及其等效物的范围内,都可以根据设计需要和其它因素进行各种修改、合并、子合并、和变换。

Claims (14)

1.一种信息处理设备,用于解码经压缩编码的视频数据,包括:
至少一个解码装置(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图像。
CN2009102637371A 2004-10-26 2005-10-26 信息处理设备和方法 Expired - Fee Related CN101771843B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004-311521 2004-10-26
JP2004311521 2004-10-26
JP2005-242161 2005-08-24
JP2005242161A JP4375305B2 (ja) 2004-10-26 2005-08-24 情報処理装置および情報処理方法、記録媒体、並びに、プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN200510121796A Division CN100592777C (zh) 2004-10-26 2005-10-26 信息处理装置和方法

Publications (2)

Publication Number Publication Date
CN101771843A true CN101771843A (zh) 2010-07-07
CN101771843B CN101771843B (zh) 2013-08-21

Family

ID=35841826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102637371A Expired - Fee Related CN101771843B (zh) 2004-10-26 2005-10-26 信息处理设备和方法

Country Status (7)

Country Link
US (2) US7653128B2 (zh)
EP (2) EP1653470B1 (zh)
JP (1) JP4375305B2 (zh)
KR (1) KR101160967B1 (zh)
CN (1) CN101771843B (zh)
DE (2) DE602005025551D1 (zh)
TW (1) TWI294743B (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7885338B1 (en) * 2005-04-25 2011-02-08 Apple Inc. Decoding interdependent frames of a video for display
US7809057B1 (en) * 2005-09-27 2010-10-05 Ambarella, Inc. Methods for intra beating reduction in video compression
JP4297122B2 (ja) * 2006-03-01 2009-07-15 ソニー株式会社 再生装置および再生方法
JP4297121B2 (ja) * 2006-03-01 2009-07-15 ソニー株式会社 再生装置および再生方法
JP4720543B2 (ja) * 2006-03-01 2011-07-13 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、記録媒体、ならびに、再生装置、再生方法および再生プログラム
JP4264582B2 (ja) 2006-06-13 2009-05-20 ソニー株式会社 情報処理装置および情報処理方法、プログラム、並びに記録媒体
JP4207981B2 (ja) * 2006-06-13 2009-01-14 ソニー株式会社 情報処理装置および情報処理方法、プログラム、並びに記録媒体
KR100794798B1 (ko) * 2006-09-01 2008-01-15 삼성전자주식회사 시간지연을 완화하면서 역재생하는 영상기기 및 그제어방법
US8411734B2 (en) 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8265144B2 (en) * 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
JP4591549B2 (ja) * 2008-06-05 2010-12-01 ソニー株式会社 再生処理装置、および再生処理方法、並びにプログラム
US20100008642A1 (en) * 2008-07-14 2010-01-14 Mediatek Inc. Video apparatus and method thereof
CN102272842A (zh) * 2009-03-12 2011-12-07 松下电器产业株式会社 再现装置、再现方法、记录介质、应用、以及创作装置
US8490099B2 (en) 2010-08-16 2013-07-16 Clear Channel Management Services, Inc. Method and system for controlling a scheduling order per daypart category in a music scheduling system
US10908794B2 (en) 2010-08-16 2021-02-02 Iheartmedia Management Services, Inc. Automated scheduling of multimedia content avoiding adjacency conflicts
US9898499B2 (en) 2010-08-16 2018-02-20 Iheartmedia Management Services, Inc. Multimedia scheduling for airplay with alternate category support
US8418182B2 (en) * 2010-08-16 2013-04-09 Clear Channel Managment Services, Inc. Method and system for controlling a scheduling order per category in a music scheduling system
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
CN102547300B (zh) * 2010-12-17 2015-01-21 华为技术有限公司 帧类型的检测方法和装置
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
PL3136727T3 (pl) 2011-04-12 2018-11-30 Sun Patent Trust Sposób kodowania ruchomych obrazów i urządzenie do kodowania ruchomych obrazów
CA2833893C (en) 2011-05-24 2024-02-27 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
EP3410718B8 (en) 2011-05-27 2020-04-01 Sun Patent Trust Image coding method and image coding apparatus,
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
US8989271B2 (en) 2011-05-31 2015-03-24 Panasonic Intellectual Property Corporation Of America Decoding method and apparatus with candidate motion vectors
BR112013030469B1 (pt) 2011-06-23 2022-07-26 Sun Patent Trust Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, aparelho de codificação de imagem, e aparelho de codificação e decodificação de imagem
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
US9106919B2 (en) 2011-06-24 2015-08-11 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
EP3407610B1 (en) 2011-06-24 2019-09-04 Sun Patent Trust Coding method and coding apparatus
EP4270950A3 (en) 2011-06-27 2024-02-14 Sun Patent Trust Encoding apparatus and decoding apparatus
EP2728867A4 (en) 2011-06-28 2014-12-03 Panasonic Ip Corp America IMAGE DECODING METHOD, IMAGE ENCODING METHOD, IMAGE DECODING DEVICE, IMAGE ENCODING DEVICE, AND IMAGE ENCODING / DECODING DEVICE
KR102006032B1 (ko) 2011-06-29 2019-07-31 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
EP2727341B1 (en) 2011-06-30 2020-04-08 Microsoft Technology Licensing, LLC Reducing latency in video encoding and decoding
KR101900986B1 (ko) 2011-06-30 2018-09-20 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 및, 화상 부호화 복호 장치
KR102007047B1 (ko) 2011-06-30 2019-08-02 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
WO2013001769A1 (ja) 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
RU2714371C2 (ru) 2011-07-11 2020-02-14 Сан Пэтент Траст Способ декодирования изображений, способ кодирования изображений, устройство декодирования изображений, устройство кодирования изображений и устройство кодирования и декодирования изображений
CN103718558B (zh) 2011-08-03 2017-04-19 太阳专利托管公司 运动图像编码方法及装置、解码方法及装置和编解码装置
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
MY180182A (en) 2011-10-19 2020-11-24 Sun Patent Trust Picture coding method,picture coding apparatus,picture decoding method,and picture decoding apparatus
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
TWI513285B (zh) * 2014-03-26 2015-12-11 Vivotek Inc 影像倒播方法及電腦可讀取媒體
TWI548266B (zh) * 2014-06-24 2016-09-01 愛爾達科技股份有限公司 多媒體檔案儲存系統與相關裝置
US10630989B2 (en) 2016-03-28 2020-04-21 Sony Corporation Image processing apparatus and image processing method
US10819951B2 (en) * 2016-11-30 2020-10-27 Microsoft Technology Licensing, Llc Recording video from a bitstream
EP3404913B1 (en) * 2017-05-16 2019-11-06 Axis AB A system comprising a video camera and a client device and a method performed by the same
EP3591972A1 (en) * 2018-07-02 2020-01-08 Axis AB Method and system for encoding video with overlay

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2553813B2 (ja) 1993-02-03 1996-11-13 松下電器産業株式会社 映像信号符号化装置および映像信号復号化再生装置
JP3564745B2 (ja) 1994-08-12 2004-09-15 ソニー株式会社 ビデオ信号再生装置
JPH0898142A (ja) 1994-09-29 1996-04-12 Sony Corp 画像再生装置
JP2942497B2 (ja) * 1996-03-22 1999-08-30 ローム株式会社 画像データ復号表示方法および装置
JPH1023375A (ja) * 1996-07-04 1998-01-23 Matsushita Electric Ind Co Ltd 順次ディジタルビデオ復号化装置
JPH10150635A (ja) 1996-11-19 1998-06-02 Sony Corp 映像信号再生装置及び映像信号の再生方法
GB2333656B (en) * 1998-01-22 2002-08-14 British Broadcasting Corp Compressed signals
JP4296461B2 (ja) * 2000-09-07 2009-07-15 ソニー株式会社 記録再生システム、サーバ装置、端末装置、映像データ提供方法、再生方法及びコンピュータ読取可能な記録媒体
KR20020069255A (ko) * 2000-11-21 2002-08-29 코닌클리케 필립스 일렉트로닉스 엔.브이. 멀티-속도 재생모드에서 압축 데이터의 재생을 위한 재생장치
KR100399932B1 (ko) * 2001-05-07 2003-09-29 주식회사 하이닉스반도체 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템
JP2003244643A (ja) 2002-02-18 2003-08-29 Hitachi Ltd 情報再生装置、情報再生方法
JP3825719B2 (ja) 2002-06-13 2006-09-27 三洋電機株式会社 画像再生方法、画像再生装置、および画像記録装置
JP3982354B2 (ja) * 2002-07-15 2007-09-26 ソニー株式会社 画像データ再生装置及び方法
JP2004311521A (ja) 2003-04-02 2004-11-04 Hitachi Cable Ltd 放熱材内蔵電子装置
JP2005242161A (ja) 2004-02-27 2005-09-08 Seiko Epson Corp 電気光学装置、電子機器、及び、電気光学装置の製造方法
JP4867235B2 (ja) * 2004-10-26 2012-02-01 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP2006128830A (ja) * 2004-10-26 2006-05-18 Sony Corp 再生装置、データ処理システム、再生方法、プログラムおよび記録媒体
JP4281720B2 (ja) * 2004-10-26 2009-06-17 ソニー株式会社 データ処理装置、データ処理方法、データ処理システム、プログラムおよび記録媒体
JP4244974B2 (ja) * 2004-10-26 2009-03-25 ソニー株式会社 データ処理システム、再生装置、データ処理装置、再生方法、データ処理方法、プログラムおよび記録媒体
JP4281721B2 (ja) * 2004-10-26 2009-06-17 ソニー株式会社 データ処理装置、データ処理方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
KR101160967B1 (ko) 2012-06-29
US20060088286A1 (en) 2006-04-27
CN101771843B (zh) 2013-08-21
US20100208793A1 (en) 2010-08-19
EP2093766A1 (en) 2009-08-26
EP1653470A1 (en) 2006-05-03
US8401072B2 (en) 2013-03-19
EP1653470B1 (en) 2009-10-07
EP2093766B1 (en) 2010-12-22
US7653128B2 (en) 2010-01-26
TWI294743B (en) 2008-03-11
DE602005025551D1 (de) 2011-02-03
JP2006157868A (ja) 2006-06-15
JP4375305B2 (ja) 2009-12-02
DE602005017001D1 (de) 2009-11-19
KR20060049391A (ko) 2006-05-18
TW200629920A (en) 2006-08-16

Similar Documents

Publication Publication Date Title
CN101771843B (zh) 信息处理设备和方法
US5621464A (en) Method of reordering a decoded video picture sequence
US8270800B2 (en) Information processing apparatus and method, recording medium, and program
CN100508585C (zh) 用于控制数字视频比特流逆向播放的装置和方法
CN102595240B (zh) 视讯/影像解码系统与相应的视讯/影像解码方法
KR101241968B1 (ko) 재생장치, 데이터처리시스템, 재생방법, 프로그램 및기록매체
US7515761B2 (en) Encoding device and method
RU2265879C2 (ru) Устройство и способ для извлечения данных из буфера и загрузки их в буфер
CN100592777C (zh) 信息处理装置和方法
JP4244974B2 (ja) データ処理システム、再生装置、データ処理装置、再生方法、データ処理方法、プログラムおよび記録媒体
US7457516B2 (en) Video editing system and method of computer system
CN101090489B (zh) 信息处理设备和信息处理方法
CN100499784C (zh) 信息处理装置和方法
JP4730593B2 (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US7627232B2 (en) Reproduction apparatus, data processing system, reproduction method, program, and storage medium
TW200840233A (en) Variable length decoding device and method for improving variable length decoding performance
KR100846406B1 (ko) 인코드 중에 추출 화상을 외부에 송신하는 비디오 인코더
CN100515066C (zh) 数据处理系统、再现装置、计算机、再现方法
TW446888B (en) Animation display process method
JP2006157871A (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JPH05191801A (ja) 動画像復号化装置のフレームメモリ制御方式
JPH0326177A (ja) 画像データの圧縮伸張コントローラ
JP2010219796A (ja) 映像データ表示装置及び映像データ表示方法
JPH09179884A (ja) データ表示装置
JPH03288273A (ja) 画像情報処理方法および装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130821

Termination date: 20151026

EXPY Termination of patent right or utility model