CN1725844A - 数字媒体流的反向表示 - Google Patents

数字媒体流的反向表示 Download PDF

Info

Publication number
CN1725844A
CN1725844A CNA2005100922397A CN200510092239A CN1725844A CN 1725844 A CN1725844 A CN 1725844A CN A2005100922397 A CNA2005100922397 A CN A2005100922397A CN 200510092239 A CN200510092239 A CN 200510092239A CN 1725844 A CN1725844 A CN 1725844A
Authority
CN
China
Prior art keywords
frame
bof
sequence
expressed
medium
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.)
Pending
Application number
CNA2005100922397A
Other languages
English (en)
Inventor
G·J·沙利文
G·F·伊文斯
R·C·B·斯彼得
S·C·罗佛
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1725844A publication Critical patent/CN1725844A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/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
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • 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
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • 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
    • 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/806Transformation 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 with processing of the sound signal
    • H04N9/8063Transformation 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 with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • 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/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal

Landscapes

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

Abstract

此处公开了一种方便已编码的数字媒体流的反向表示的实施例。摘要本身并不限制本发明的范围。本发明的范围在后附的权利要求中指出。

Description

数字媒体流的反向表示
技术领域
本发明通常涉及一种数字多媒体技术。
背景技术
随着处理和存储技术的持续改进,如今许多个人计算系统(例如,个人计算机、机顶盒等)已经可以接收、处理并再现多媒体对象。该对象具有多媒体内容,包括音频、图形和/或视频内容的组合。可以用多种方式中的任意一种将该多媒体内容传送至计算系统,例如包括在致密盘只读存储器(CD-ROM)、数字通用盘只读存储器(DVD-ROM)、经由通信连接的数据网络(例如,因特网)等方式。
由于精确再现这样的多媒体内容所需的数据量的原因,通常以编码、压缩的形式将数据传送至计算系统。为了再现用于显示的原始内容,必须在显示该多媒体内容之前将其解压缩和解码。此处,显示包括将该多媒体内容传送至显示器和/或音频设备。
已经开发出了多个多媒体标准,出于分配的目的定义了已编码的多媒体内容的格式和含意。例如,由国际标准化组织(ISO)和国际电工委员会(IEC)支持的运动图像专家组(MPEG),以及由国际电信同盟(ITU)支持的视频编码专家组(VCEG)的组织已经开发出了多种多媒体编码标准(例如,MPEG-1、MPEG-2、MPEG4、H.261、H.263等)。
简单地说,编码处理从媒体内容中消除了空间和时间的冗余,由此减小了显示该媒体内容所需的数据量,并因此降低了用于存储和/或传送该媒体内容的带宽负担。编码处理的例子包括熵解码、运动补偿预测、反量化(inversequantization)、逆变换,以及产生预测的附加逆变换。
相反地,简单的说,解码处理通常是编码处理的逆过程。
再现通常包括另外的数字—模拟变换的步骤(经过滤波)。其产生了接近原始的模拟媒体信号的显示。
此处,“媒体流”是按照通常可用于此处理的机制被压缩和编码的多媒体对象(含有音频和/或视频内容)。而且,希望该媒体流按照通常可用于此处理的机制被解码和再现。
在没有一般性损失的情况下,同样的技术可应用于任何具有可减小时间或空间冗余的相似结构的媒体流。例如,许多音频压缩格式具有跟随修改数据的关键帧(keyframe)以重建接近原始的未压缩流。
存在许多不同的视频流数据格式。例如,H.263、MPEG-1、MPEG-2、MPEG-4Visual、H.264/AVC和DV格式。
存在许多不同的音频流数据格式。例如,DTS音频或MLP音频。
MPEG-2/H.262
最主要的数字视频压缩和传输格式来自被称为基于块的运动补偿混合视频信号编码器的家族,如由IS/IEC MPEG-X(运动图像专家组)和ITU-T VCEGH.26X(视频编码专家组)标准所代表的。该族的标准用于以数字压缩格式编码音频—视频信息(例如,电影、视频、音乐等)。
为了方便说明,此处一般讨论和说明MPEG-2视频流(也可以是已知的H.262视频流),因为其具有传统视频编码方法的典型结构。但是,本领域技术人员应当了解和意识到,也可以存在并使用其它这样的数字视频压缩和传输格式。
通常可将MPEG-2格式称为“正向解码”格式。图1的10一般性地示出了MPEG格式的示例性显示。每个视频序列由通常被称为图像组(或“GOP”)的帧序列构成。一个GOP由图像或帧的序列构成。GOP数据被压缩为I-、P-和B-帧的序列,其中:
·I-帧(即,内部帧)是独立开始图像(以类似于JPEG图像格式压缩的)。I-帧或“关键帧”(例如I-帧12)不参考任何过去或未来的帧而被作为单个图像编码。I-帧被认为是MPEG-2中的“参考帧”,因为其内容可以用于按照解码顺序针对一个随后的P-帧或多个随后的B-帧的解码处理。
·P-帧(即,前向预测帧)可以通过围绕来自先前的I-帧或P-帧的矩形(宏块)移动,然后(假如由编码器表示的话)施加称为剩余的“校正”而被计算。随后的P-帧(例如P-帧18)相对于过去的参考帧(例如先前的I-帧或P-帧)被编码。P-帧也可以被视为“δ帧”,它们含有相对于它们的参考帧的变化。P-帧在MPEG-2中也被视为“参考帧”,因为其内容可以用于按照解码顺序针对一个随后的P-帧或多个随后的B-帧的解码处理。
·零个或多个B-帧(即,双向预测帧,例如帧14和16)由来自于其后跟随(假如由编码器表示的话)校正扇区的相邻的I-帧或P-帧的矩形组合而形成。几个B-帧可以位于一对参考帧(或是I-帧或是P-帧)之间。在MPEG-2中,B-帧不被称为参考帧,因为它们不能用作按照解码顺序解码随后帧的参考。
GOP结构旨在帮助在该流中随机存取。GOP通常是可独立解码的单元,其可以是只要由I-帧开始的任何大小。
与MPEG-2格式相关的一个问题属于可以以正常播放顺序的相反顺序重放该数据。正向播放数据通常不是问题,因为其本身格式是正向解码的,这意味着通常必须首先解码I-帧,然后移动到GOP中的其它帧上。但是,以相反顺序重放该数据更具有挑战性,因为GOP固有地抵制直接反向解码。
类似的挑战也存在于被压缩为开始扇区值(即,每音频信道一个)的音频数据,该开始扇区值跟随在δ帧后。
DVD
通常地,当图像记录在例如DVD的光盘上时,其内容实际上被分成小的单元,该小单元覆盖预先确定的时间周期(通常大约为1/2秒单元或视频对象基本单元(“VOBUs”))。这种格式的优点是在播放视频时,可以一个接一个的逐步通过视频单元。如果想跳到任意的视频片断,则可以简单的跳到感兴趣的视频单元,并且该视频和音频将被同步。所有流被同步的位置称为“净化点”。因此,当视频和音频单元被压缩时,它们被压缩成一个可以在精确的相同时间再现的单元,即音频和视频之间没有不对称。
当在MPEG-2背景下讨论时,I-帧的所有参考可以是其它数据格式的关键帧。当在MPEG-2背景之外讨论时,术语I-帧与关键帧具有相同意思。
典型的媒体流再现系统
图2示出了典型的系统200,其可以从媒体流源(如DVD)再现数据。系统200包括与源组件204通信的应用程序202,源组件204从DVD 206中读出数据。从DVD中读出的数据包括已经被编码和复用在一起的音频和视频数据。
当源组件从DVD中读出数据时,其从数据包提取时间标记,该时间标记随后被用于重现时对该数据包进行同步和确定时间。然后将该数据包提供至信号分离器(或“demux”)208,该信号分离器将数据包分成不同的组成部分——音频、视频和子图像包(如果存在的话)。
然后通过信号分离器将该数据包提供至相关的解码器,例如视频解码器210(用于解码视频包)、音频解码器212(用于解码音频包)和子图像解码器214(用于解码子图像包)。每一个包都具有相关的时间信息,该时间信息定义了假设该包的内容将被再现的时间。这些包可以是一个GOP(如上关于MPEG所述的)。
然后解码器解压缩它们相关的包,并将各个数据样本或包(包括数据包的时间标记)发送至适当的再现器,例如视频再现器216和音频再现器218。通常每一个这些再现器都具有高速缓存,用于临时存储已解码的数据包(或其部分)。通常,高速缓存至少足够大,以便容纳来自其它帧的帧解码参考数据。
系统200通常也包括共用时钟220,其被各种再现器使用,以确定何时再现一定的数据样本,其中该数据样本的时间标记与共用时钟所示的时间一致。
反向重放
现在假设用户通过应用程序202指示她希望以相反的顺序浏览内容。这可被称作“反向重放”,“后退播放”,“倒回”,“后退扫描”,“反向特技播放”或“反向扫描”。
GOP的帧被设计成通常以相同的方向被解码和显示,其在此被称为“正向”方向。这是与GOP的帧被编码方向相同的方向。但是,GOP帧通常被编码的实际特定顺序不同于其显示的实际特定顺序。
为了解码B-帧(例如图1中的帧14和16),必须已经存在先前的I-帧/P-帧和下面的I-帧/P-帧。例如,GOP可以以I1B2B3P4B5P6的顺序存在,但是其将以I1P4B2B3P6B5的顺序被编码。注意,P4必须在B2和B3产生之前解码。P4必须被解码以产生P6
因此,简单的颠倒解码顺序不足以产生GOP的反向重放。在上述的例子中,P6取决于如果出现反向解码时还没有被解码的先前的P4帧。而且,P4取决于如果出现反向解码时还没有被解码的先前的I1帧。此外,B-帧取决于一个或多个在反向解码时还没有被解码的帧。
由此看来,一种用于GOP的“反向重放”的传统方法包括反向表示GOP中的帧,以使在显示每个帧之前,解码当前帧之前的所有帧(或至少所有的参考帧)。例如,对于标记为ABCDE的帧,传统的方法解码帧ABCDE,然后显示帧E。接下来,解码ABCD,然后显示帧D。接下来,解码ABC,然后显示C,依此类推。
该传统的方法非常浪费时间并且效率非常低,因为系统重复地解码一些相同的帧。其对计算的要求非常高,而对存储器的要求相对较低。
另一种用于GOP的“反向重放”的传统方法按照正常进行正向解码,但是临时存储GOP的所有已解码且当前未压缩的帧。一旦全部的GOP被解码和存储,就将已解码的帧以反向顺序发送到再现器。因此,以反向顺序简单的显示了存储的输出帧。
通过此方法,对计算的要求相对较低,但是对存储器的要求相对较高。该传统的方法要求:
·大量的高速缓存存储器,以高速存储GOP的已解码帧的未压缩的图像。即使对于例如DVD的通用格式或标准清晰度的TV,也需要10MB或更大的高速缓存存储器。更高的HDTV分辨率通常要求50MB的存储器。
·高速缓存存储器通常位于解码器单元可存取的高速存储器中。随机矩形提取产生了对高速缓存非常不利的存取图形。通常,该存储器需要是昂贵的,并且限制在视频卡的本地视频存储器(VRAM)上。
·由于GOP通常需要使用至少两个高速缓存的流水线处理,以确保恒定的输出速度,因此对高速缓存存储器的要求通常是双倍的。尽管对于一块的全部反向解码速度等于以相同速度正向播放的速度,但是解码器必须几乎立即解码该块,然后以正常速度反向播放该块。通过在存储器中具有全部解码的GOP,解码器单元与GOP显示时间等值的去解码下一个GOP。
此外,处理过的内容(例如解除隔行扫描、缩放、滤波、音频间距修正等)可以要求额外的计算功耗和临时的处理高速缓存。
为了绕过反向重放中含有的难点,一些传统的方法只简单的解码并显示来自每个GOP的关键帧(例如,I-帧)。这使出现在视频流中的静态图像产生了不均匀的类似放映幻灯片的反向表示。尽管直接,但是该简单化的方法在视频流的视频内容模拟反向运动时不优美且完全失败。
发明内容
此处公开了一种实施方式,可以促进已编码的数字媒体流的反向表示。
此发明内容本身并不意味着限制本专利申请的范围。而且,该专利申请的名称并不意味着限制本专利申请的范围。为了更好的理解本发明,请结合附图阅读下面的详细说明和后附的权利要求书。本发明的范围由权利要求指出。
附图说明
所有附图中使用的相同数字标志类似的元件和特征。
图1显示了可用于按照此处所述实施例的图像组(GOP)的方块图;
图2是按照此处所述实施例的系统图;
图3是显示此处所述的方法实施例的流程图;
图4是显示此处所述的方法实施例的流程图;
图5显示了可用于按照此处所述实施例的复杂的图像组(GOP)的方块图;
图6是显示此处所述的方法实施例的流程图;
图7显示了可采用此处所述实施例的典型环境;
图8显示了示例的显示设备、电视以及与显示设备交互的各种输入设备;
图9显示了图7和8所示的显示设备示例的组件的方块图;
图10是计算操作环境的示例,该计算操作环境可以(整体或部分地)实施至少一个此处所述的实施例。
具体实施方式
在下面的说明中,出于说明的目的,阐述了具体的数字、材料和配置,以便提供对本发明的整体理解。但是,本领域技术人员应当清楚,可不通过具体的示例性细节来实施本发明。在其它例中,为了使本发明典型实施例的说明清楚,而删除或简化了公知的特点,由此更好的解释了本发明。此外,为了容易理解,某些方法步骤被作为分开的步骤进行描述;但是,这些分开描述的步骤不应当解释为它们性能所依赖的必要顺序。
下面的说明结合了后附权利要求书中所引用的元件,阐述了一种或多种反向表示数字媒体流的典型实施例。为了满足法定的撰写说明、授权和最佳模式的要求,具体化说明了这些实施例。但是,该说明本身并不意味着限制该专利申请的范围。
发明人旨在将这些典型实施例作为示例。发明人并不想要用这些典型实施例限制本发明所要保护的范围。而且,发明人已经构想,可以结合其它现存的或未来的技术以其它方式来体现和实施所要保护的本发明。
数字媒体流的反向表示的典型实施例被称为“典型反向表示器(presenter)”。
介绍
可通过媒体流再现系统200、显示设备708、和/或类似于图10中所示的部分计算环境来实施(整体或部分)此处所述的本所要保护的发明的一个或多个典型实施例。
典型的反向表示器方便了压缩的数字媒体流的反向重放。大多数的媒体流格式使用含有帧序列的独立可解码块进行压缩。为了方便,这样的块在此被称为帧块(BOF)。在MPEG中,图像组(GOP)即是这样的BOF的示例。注意,在某些情况下(例如,在MPEG2中的开放GOP),BOF可与相邻的BOF分享帧(即,交迭)。
此处,“帧”是指媒体数据(通常是音频和/或视频数据)的压缩单元。全部的编码处理减少了BOF帧的媒体数据内的时间或空间冗余。当帧被解码(或未压缩)时,其媒体数据被完全显示而没有任何压缩(由于时间或空间冗余减少)。
每个BOF通常包括至少一个关键帧(例如,I-帧)或参考扇区,其后跟随几个δ帧。类似的过程可用于解码各种媒体流,例如使用类似的结构被压缩的音频。
传统的用于反向重放媒体流的方法通常按照正常的“正向”方向解码BOF,但是高速缓存全部BOF的所有已解码和当前未压缩的帧。一旦全部BOF被解码和高速缓存,则以反向顺序表示已解码的帧。
此传统和直接的方法针对大小相对较小的未压缩帧和长度较短的BOF工作。但是,当未压缩的帧大小增加时,例如在解码HDTV图像的情况下,对临时存储器要求变得非常高。
对于具有1/2秒长度BOF的交错1920×1080像素的图像,需要超过300MB的存储器存储该帧。更坏的情况是,高速缓存的图像必须位于解码器的本地存储器中(而不是主存储器)。用于将解压缩的图像复制到主存储器所需的存储器带宽经常超过系统内部总线的带宽。
简单地添加更多的本地高速缓存存储器,因为其只是增加组件的成本而并不经济。在某些方面,这种强力解决方案(增加更多的存储器)将由于成本原因而不可行。
典型的反向表示器通过执行更有效的媒体流的BOF反向解码,促进了流的反向表示的改善。其也平衡了对计算能力和存储器要求,因此如果存储器或计算资源有限也仍然可以反向解码该内容。
典型的反向表示器
通过图2的媒体流再现系统200、图7和9的显示设备708、和/或如图10中所示的部分计算环境可以实施(整体或部分的)典型的反向表示器。
典型的反向表示器的流解码功能可出现在解码单元,该解码单元具有接受压缩的视频和音频流的多媒体数据的有限存储器。解码单元包括解码控制器(例如图9的控制器940)和硬件解码器(例如图2的解码器210、212和214或图6的解码器930)。
解码器控制器(例如图9的控制器940)控制解码处理。其由该解码器安排要解码的帧的时间顺序。解码器控制器可以用软件、硬件或其组合形式执行。其可以是显示设备708和/或如图10所示的部分计算环境上的程序模块。
解码器(例如图2的解码器210、212和214或图6的解码器930)是专用的解压缩/解码硬件、执行同等操作的软件组件、或其二者的组合。由于解码通常是由专用硬件处理,所以解码(或重新解码帧)经常可以比将被表示的帧所必要的速度更快。
此处,术语“帧缓冲器”是指用于存储一个未压缩的帧的存储器存储位置。在此,“高速缓存”是存储器存储。高速缓存可以含有帧缓冲器。
参考和非参考帧
“参考帧”是一种具有用作参考以产生从此独立的帧的数据的帧的类型。通常必须在参考帧的数据被参考之前解码该参考帧。关键帧一直是参考帧。但是,依赖于关键帧、但是也具有一个或多个从此独立的帧的中间帧也被分类为参考帧。在MPEG领域,I-帧和P-帧均被分类为参考帧。
“非参考帧”是一种不含有被其它帧参考的数据的帧的类型。除了包含在非参考帧中的数据以外,帧中的全部解码图像的产生还取决于其解码的参考帧的数据。在MPEG领域,B-帧被分类为非参考帧,因为没有帧依赖于它们,但是它们依赖于两个参考帧(I-帧或P-帧)。非参考帧通常被解码,然后被丢弃,且不需要为了解码其它帧而被临时存储。
典型的反向表示器的方面
下面(关于标题部分:“解码参考帧,但是高速缓存编码的非参考帧”)所述的典型的反向表示器的方面,关注相对于参考帧(例如,I-/P-帧)的非参考帧(例如,B-帧)的改进的处理。如此处理,提供了反向重放媒体流的改进的方法。
相反地,下面(关于标题部分:“解码且高速缓存选择的参考帧”)所述的典型的反向表示器的另一个方面,关注于参考帧(例如,I-/P-帧)的改进的处理,以产生用于流的反向重放的改进方法。此方面提供的改进不基于对非参考帧(例如,B-帧)的处理。但是,可一起采用典型的反向表示器的两个方面。并且实际上希望同时利用这两个方面,以进一步提高整体的反向重放功能。
解码参考帧,但是高速缓存编码的非参考帧
典型的反向表示器的这个方面,通过正向解码BOF的一些或所有的参考帧(例如,I-帧或P-帧),同时高速缓存仍被编码(因此仍被压缩)的非参考帧(例如,B-帧),获得了BOF(例如GOP)的改进的反向重放。
因为典型的反向表示器以反向顺序表示了BOF的帧,所以显示了已经解码的参考帧,但是在显示该非参考帧之前,其基于它们已经解码的参考帧来解码高速缓存中的仍被编码的非参考帧。
I-帧独立于先前或未来的帧信息而被解码。P-帧是先前的I-帧或P-帧的正向修改。因为B-帧只依赖于与I-/P-帧相邻的帧,所以随后通过交换相邻帧的帧索引并正向解码它们,可以向后解码B-帧。
例如,假设B-帧中的合成的宏块MB是来自先前P-帧的宏块MP1和来自下一个P-帧的宏块MP2的函数。如果B-帧被正向解码,则MB=函数1(MP1,MP2)。但是,当交换B-帧的索引时,现在的解码如下:MB=函数2(MP2,MP1),其中函数2是通过交换其操作数的函数1。
因此,可通过颠倒相邻帧的解码顺序并施加相同的剩余纠正,来产生B-帧的已解码宏块。
典型的反向表示器高速缓存压缩格式的非参考帧(例如B-帧)。当以反向顺序表示BOF帧时,高速缓存的已压缩的非参考帧随后被解码。当需要再现非参考帧的数据时,解决了对解码非参考帧的相关性,优于先前技术。
非参考帧可存储在主系统存储器中、可提高存取速度的本地存储器中(例如VRAM)、或者解码器单元容易存储的系统存储器中(例如AGP存储器)。此处可将任何一种存储器一般性地称为高速缓存。
例如,如果使用IBBPBBPBBPBBI(其中最后一个I与相邻的BOF共用)的典型的BOF重放结构,则反向重放对存储器的要求大约是传统方法中高速缓存所有BOF的已解码帧的所需要的三分之一。在此示例中,典型的反向表示器只高速缓存十帧中的四帧的已解码版本,而不是全部的十帧。特别地,其高速缓存I-帧和P-帧的已解码版本。
在此示例中,典型的反向表示器存储压缩格式的六个B-帧。三种类型(I-、P-和B-帧)中,B-帧表示最大压缩类型的帧,因为它们依赖于其它两种帧。避免B-帧的解压缩数据的临时存储表示在高速缓存BOF的所有已解码帧的传统方法中对存储器的要求明显降低。
对于典型的反向表示器的这个方面,具体地BOF结构是IBBPBBPBBP的典型的BOF结构。这是通用的BOF结构,但是本领域技术人员应当了解和意识到,其它的BOF结构也是可能的,还应当理解和意识到这个方面如何被应用到其它可能的结构中。
用于保持(或有效地“高速缓存”)压缩格式的非参考帧的其它方式是简单的将其留在视频数据所到达的无论什么存储介质上。例如,帧可以留在DVD或硬盘驱动器上,并且在希望时可读取它们的位置。
典型的反向表示器的方法实施例
图3显示了用于反向重放包括已解码参考帧的典型的反向表示器的方法实施例,但是高速缓存编码的非参考帧。这种方法实施例可以以软件、硬件或其组合的方式来执行。
在图3的310,典型的反向表示器接收BOF,并且该接收的BOF的指示将被反向表示(即,反向重放)。
在312,典型的反向表示器正向解码接收到的BOF的参考帧。
在314,典型的反向表示器存储解码的BOF的参考帧和仍被编码的非参考帧。
在316,对于每个非参考帧,交换相邻帧的帧索引。因此其颠倒了对非参考帧的相关性。
在图3的318,典型的反向表示器显示将被表示的BOF最后的参考帧。
在320,典型的反向表示器产生将被表示的BOF最后的非参考帧。基于其对高速缓存中已经解码的参考帧的相关性,解码该刚产生的非参考帧。
在322,其显示刚产生的非参考帧,并优选的释放用于存储该刚产生的非参考帧的帧缓冲器。由于对于显示或对于任何其它帧的进一步解码都不再需要该刚产生的非参考帧,所以为了其它的使用可以释放保持该刚产生的非参考帧的存储器。其也有利于下一帧(在相反方向上)。
在324,如果下一个帧是非参考帧,则其重复步骤320和322,以相反顺序出现每个非参考帧。如果不是,则进入到步骤326。
在326,如果下一个帧是参考帧,则其确定是否是BOF的最后的帧(在反向方向上,但其也是正向方向上的第一帧)。如果是,则进入到步骤328。如果不是,则下一个帧只是其他的参考帧,过程进行到步骤318。
在图3的328,典型的反向表示器显示与此BOF有关的最后的帧(在反向方向上,但其也是正向方向上的第一帧),该过程结束。
典型的操作
为了按照图3的方法实施例以反向顺序播放BOF,典型的反向表示器接收由I1B2B3P4B5B6PBB9P10构成的示例的BOF。其也接收将以反向顺序播放该BOF的指示。
典型的反向表示器正向解码该参考帧,并将它们临时存储在高速缓存中。在此示例中,其正向解码并高速缓存这些参考帧I1P4P7P10
除了临时存储参考的未压缩版本之外,典型的反向表示器也在高速缓存中存储压缩格式的非参考帧,即,B2B3,B5B6和B8B9。其也交换非参考帧的帧索引,以交换它们的帧相关性。这么处理使得使用相邻帧的反向解码顺序同时仍施加相同的剩余纠正,而产生B-帧的已解码宏块。
典型的反向表示器安排被存储和解码的P10用于显示(例如,再现和显示)的时间顺序。
其基于P7和P10产生B9。该产生是以依赖于P7和P10的B9为基础的解码或解压缩。
其安排该存储和正被解码的B9的显示时间,优选的将分配给B9的存储器返回成自由共享。
由于下一个帧(当反向进行时)是另一个非参考帧(是B8),所以对B8重复上述的两种动作(B-帧的产生和显示)。
在B9和B8被解码和显示之后,则不再需要P10(因为其已经被表示,并且不再被用于相关性解码)。因此,可以释放用于P10的存储器。
对于下一组(当反向进行时):P4B5B6P7重复上述对组P7B8B9P10操作的动作。
对于下一组(当反向进行时):I1B2B3P4现在重复上述对组P7B8B9P10操作的动作。
最后,典型的反向表示器安排被存储和解码的I1的显示时间。由于I1是最后的帧(反向顺序),所以它的显示完成了由帧I1B2B3P4B5B6P7B8B9P10构成的示例BOF的反向重放。
而且,典型的反向表示器通过在每次解码先前BOF的下一个参考帧时为当前BOF释放参考帧缓冲器,可以使CPU使用平稳。这种方式使得当前一个刚完成就解码下一个BOF。
选择的参考帧的解码和高速缓存
此部分所述的典型的反向表示器的另一方面关注于参考帧(例如,I-/P-帧)的改进处理,以产生用于流的反向重放的改进方法。由这方面提供的改进没有基于其非参考帧(例如,B-帧)的处理。但是,这个方面可与上述的一个方面组合,以进一步改善整体的反向重放功能。
通过典型的反向表示器的这个方面,其选择地维持未压缩的参考帧(例如,I-/P-帧)并重新产生其它帧。通过如此处理,降低了BOF序列的反向重放所需的临时存储器(例如高速缓存)的容量。通过此方面,可仅使用高速缓存中提供的少量帧缓冲器来执行反向重放。此处,“帧缓冲器”是配置用于存储一个未压缩帧的存储器存储位置。
尽管精确的策略可根据BOF序列的精确结构改变,但是为了使论述和说明清楚,在这部分中假设每个BOF具有单个关键帧(例如,I-帧),并由此帧开始。还假设关键帧后跟随其它的参考帧(例如,P-帧)和非参考帧(例如,B-帧)。
为了选择最好的解码策略,可通过完全预先扫描BOF以发现BOF中帧的数量来改善这些策略。
对于典型的MPEG-2视频流,三分之一的帧是I-或P-帧,并且BOF的大小大约是500ms。这映射到15帧,并产生具有5个参考帧的BOF。
存在一些具有多个关键帧(例如,I-帧)的更复杂的BOF结构。当反向重放时,这些结构被解压缩成BOF子块,每个子块具有一个关键帧。此主题更多的论述见下面标题为“延伸至含有B-帧的BOF”的部分。
所采用的具体策略将根据BOF序列的具体BOF结构(例如,其I-、P-和B-帧位置和顺序)而改变,具体的BOF结构是典型的反向表示器的一个主题。由于可根据局部参考帧生成非参考帧,所以参考帧的相对结构受这方面影响最大。
对于典型的反向表示器的这个方面,可以忽略非参考帧(例如,B-帧)。因此,此方面关注于参考帧。此处讨论的参考帧的具体BOF结构包括单个I-帧,后面跟随n-1个P-帧。因此,数量n是BOF结构中参考帧的数量。
这是公用的BOF结构,但是本领域技术人员应当理解和意识到其它的BOF结构也是可能的,还应当理解和意识到将如何对其它可能的结构应用该方面。
一些BOF结构可以从下一个BOF要求I-帧,以解码最后的B-帧(例如,MPEG2“开放GOP”)。为了简化说明而不尚失一般性,当前的BOF的定义倾向于包括下一个BOF的下一个I-帧。结尾的I-帧在当前的BOF结束处被称作“P-帧”。
典型的反向表示器或者确定参考帧的数量n,或者为其设定上限。为了确定数量n,典型的反向表示器可以高速缓存并分析BOF的压缩格式。或者,其可以使用时间间隔和BOF结构限制来估计参考帧的最大数量。
对于此论述,m表示可用于临时存储已解码参考帧的帧缓冲器的数量,而n表示BOF序列中参考帧的数量。
对于n=1(则只有单个I-帧)的平常情况,只需要一个帧缓冲器。另一个平常情况是n=2。在此情况下,需要两个帧缓冲器。这两个平常情况假设存在一个(对于n=1的例子)或两个(对于n=2的例子)帧缓冲器的情况。
如果n>2,则至少一个帧缓冲器用于第一个I-帧图像,而至少一个帧缓冲器用于最后的将被表示的P-帧图像。其余的帧缓冲器(它们中的1至n-2个)可用于其它将被表示的P-帧图像。此处,参考的帧“图像”意味着帧的内容被完全解码(例如,未压缩的)。
如果n≤m,则存在足够多的帧缓冲器,以正向解码所有的参考帧然后以反向顺序表示它们。
因此,典型的反向表示器的这个方面在具有多于两个参考帧(n>2)且帧缓冲器少于参考帧(m>n)时特别有用。
使用选择策略(例如此处论述的二元细分或其它的策略),典型的反向表示器在将被表示的参考帧中选择,以将其解码并存入帧缓冲器。
如果还没有解码和存储,则正向解码所有的参考帧需要解码所选择的参考帧。当如此解码时,其临时存储解码的BOF的参考帧,该参考帧在最后的将被表示的参考帧之前。如果已解码的帧不是一个所选择的帧,则丢弃该帧并释放帧缓冲器。
典型的反向表示器将所选择的帧存入帧缓冲器。其显示最后一个存储的将被表示的帧,然后释放其使用的帧缓冲器。该缓冲器可以返回到空闲缓冲器的可用状态,用于高速缓存解码处理中随后的帧。此观察资料是提议的算法与二元细分之间的关键区别。其允许提议的算法明显降低计算成本。
典型的反向表示器再次使用其选择策略来选择没有被解码和存储在帧缓冲器中的另一个参考帧。重复上述的选择、解码、存储和显示功能,直到其显示了BOF的所有参考帧。
如此处理,典型的反向表示器可以不止一次的很好的解码一些参考帧。通常,解码器具有比其显示数据更快的解码数据的能力。典型的反向表示器的这个方面利用了可用的空闲时间来根据需要重新产生未压缩的帧,而不是在其需要之前高速缓存未压缩的帧。
出于在存储器资源与计算资源之间寻求平衡的目的,典型的反向表示器在高速缓存与重新产生帧之间做出决定。
典型的反向表示器的方法实施例
图4显示了典型的反向表示器用于反向重放的方法实施例,典型的反向表示器选择的解码和高速缓存参考帧。该方法实施例可以由软件、硬件或其组合的形式执行。
由于此方面关注于参考帧,所以下面所述的方法实施例忽略对非参考帧的任何操作。但是,下面所述的方法实施例可以与其它的对非参考帧(例如参照图3所述的一个实施例)操作的实施例组合。
在图4的410,典型的反向表示器接收BOF并反向表示(即,反向重放)该接收的BOF的指示。
在412,典型的反向表示器确定用于参考帧的数量n的值,其中n表示BOF中参考帧的实际数量,或参考帧的上限。为了确定此数量,典型的反向表示器可以高速缓存并分析BOF的压缩格式,以识别和计算参考帧。或者,其可以使用时间间隔和BOF结构限制来估计参考帧的最大数量。
在414,典型的反向表示器确定m的值,其中m表示可用于临时存储已解码的参考帧的帧缓冲器的数量。其可以通过存储器跟踪技术来实现此确定,存储器跟踪技术跟踪帧缓冲器的具体数量以及存储器系统中可用的存储器位置。其也可以从这样的存储器跟踪系统中接收此信息。
在416,其确定是否存在多于两个的参考帧(n>2)并且帧缓冲器是否少于参考帧(m<n)。如果是,则过程进入到步骤418。否则,在430结束过程。
在图4的418,典型的反向表示器选择BOF的n个参考帧的m(或更小)大小的子集。如果任何的参考帧都已经被表示,则该参考帧不包括在该子集中。通常,这种选择至少包括I-帧和最后将被表示的P-帧(其中“最后的”是以BOF的正向顺序看的)。当具有两个以上的帧缓冲器时,也选择m-2个额外的P-帧(在I-帧和第一个将被表示的P-帧之间)。
可以采用多种选择策略。一种策略是使用二元细分法从剩余的参考帧中选择。根据参考帧(n)的数量,典型的反向表示器可配置成采用下面标题为“用于小n的帧缓冲器选择策略”、“用于中间n的帧缓冲器选择策略”以及“用于大n的帧缓冲器选择策略”的子部分所述的两种选择策略的一种。
在420,典型的反向表示器正向解码所有的参考帧需要解码所有已选择的参考帧。如果已经存储了对于解码所选择的参考帧必须的帧,则不必再解码它。换言之,如果已选择的参考帧已经被解码并存储在帧缓冲器中,则对其不用做任何事情。
当进行此解码时,临时存储BOF的在最后将被表示的参考帧之前的每个已解码的参考帧。如果已解码的帧不是所选帧中的一个,则将其放弃,并且释放其帧缓冲器以便存储所选参考帧的一个。
将所选帧存储在帧缓冲器中。在此运行的结束处,帧缓冲器存储了所选的参考帧。
在422,显示存储在帧缓冲器中的最后将被表示的参考帧(例如,I-/P-帧)。由于这是BOF的反向重放,所以显示最后将被表示的参考帧的过程产生了BOF的参考帧的反向表示。
此外,在参考帧的表示之间,典型的反向表示器也可以反向表示任何插入的非参考帧(例如,B-帧)。
在424,典型的反向表示器释放其中存储了刚被表示的参考帧的帧缓冲器。由于刚被表示的参考帧不再需要用于显示或用于解码任何其它帧,所以可以释放保持它的存储器用于其它的使用。
在426,如果刚被表示的参考帧是BOF的第一帧(例如,I-帧),则关于此BOF的过程结束。否则,过程回到步骤418来重复步骤418至426。通过对帧缓冲器的释放,向上,在返回到步骤418时可以选择新的参考帧。
用于小n的帧缓冲器选择策略
尽管选择用于划分“小”n、“中间”n、“大”n的临界值整体上不是任意的,但是临界值的选择通常包括试探的阶段。其很大程度依赖于典型的反向表示器的实际实施例的计算能力。例如,“小”与“中间”之间的临界值可以大约是8,而“中间”与“大”之间的临界值可以大约是500-1000。但是,可以利用此处所述的概念来调整临界值,以满足具体的实施需要。
因此,对于小数量(n)的参考帧(其中n≤8且m<n),典型的反向表示器的这种帧缓冲器利用下面显示的表选择策略。可以在上述图3的步骤3 18中和周围的运行中采用这种策略。这些表是通过最佳的小n算法的输出产生的。
这些表假设BOF结构是I1P2P3...Pn且I帧的相对解码成本类似于P帧。
两个帧缓冲器(m=2)
如果只有两个帧缓冲器(m=2),则典型的反向表示器开始产生第一帧(例如,I1),并递归地产生最后将被表示的帧。可以丢弃I帧,有利于高速缓存后面的P帧以降低第一运行的长度。
下表显示了对具有n=3至8的每个参考帧执行的解码数量:
n I1 P2 P3 P4 P5 P6 P7 P8 P9
    3     2     1     1     n/a     n/a     n/a     n/a     n/a     n/a     4
    4     2     2     1     1     n/a     n/a     n/a     n/a     n/a     6
    5     2     2     1     2     1     n/a     n/a     n/a     n/a     8
    6     3     2     2     1     2     1     n/a     n/a     n/a     11
    7     3     3     2     2     1     2     1     n/a     n/a     14
    8     3     3     2     3     2     1     2     1     n/a     17
    9     3     3     3     3     2     1     2     2     1     20
表1
三个帧缓冲器(m=3)
如果只有三个帧缓冲器(m=3),则典型的反向表示器产生第一帧,大约保持P帧一半,并使用最后两个帧缓冲器递归地产生最后将被表示的帧。将它们存储在三个帧缓冲器中的两个。选择剩余参考帧的一个,并存储在一个剩余的帧缓冲器中。
通过选择(用于选择被存储的参考帧)、产生和显示运行的每次递归,选择了新的最后将被表示的帧,并且第一帧与新的最后将被表示的帧之间的新的参考帧被存储在帧缓冲器中。
下表显示了对具有n=4至8的每个参考帧执行的解码数量:
当m=3时,全部的解码数量=2n-3。
典型的BOF结构具有5个参考帧(n=5)。因此,当m=3时,对于典型的BOF结构通常进行8次解码。
四个帧缓冲器(m=4)
如果有四个帧缓冲器(m=4),则可利用一个额外的帧缓冲器(当与m=3的情况相比时)来降低参考帧的重复解码时间长度。此策略选择在将被表示的帧序列中位于大约一半位置的帧。如此处理有助于将BOF分成两半,其中解码每一半。
  n     I1  P2  P3   P4   P5   P6   P7   P8     共
    5     1  1或2  2或1   1   1   n/a   n/a   n/a     6
    6     1  2  1或2   2或1   2   1   n/a   n/a     8
    7     1  2  1或2   3、2或1   2或1   1   1   n/a     10
    8     2  2  2   2   1   1   1   1     12
表2
此策略出于使一个或多个必须被解码(或重复解码)的帧跨度的大小最小化的目的来选择帧。在此处理中,对于剩余的将被表示的帧的全部解码(和需要重复解码)操作被递归地分成两个子操作。每个子操作可以具有较少的帧缓冲器,并且可以使用具有可用帧缓冲器m较少的n较小的情况来解决。
例如,如果n=8(I1P2P3P4P5P6P7P8)并且我们选择高速缓存帧4,则从P4...P8的第二解码操作可以被视为具有5个帧和3个缓冲器的子问题(n=5,m=3,见前面的m=3表中n=5项)。在解码第二子问题之后,剩余的解码I1P2P3P4的问题成为前面具有m=4个缓冲器的n=4的子情况。该选择策略仍与n=4和b=4的情况相同,但是因为帧I1和P4被高速缓存,所以只有2个额外的参考帧必须被解码。
五个帧缓冲器(m=5)
如果m=5以及n=6,则只有一个帧(例如,帧P2)需要解码。这使得总共有7个解码。
如果m=5以及n=7,则只有2个帧(例如,帧P2P3)需要解码。这使得总共有9个解码。
如果m=5以及n=8,则只有3个帧(例如,帧P2、P3和P4)需要解码。这使得总共有11个解码。
  N   I1     P2     P3     P4     P5     P6   P7   P8   共
  6   1     2     1     1     1     1   n/a   n/a   7
  7   1     2*     2*     1*     1*     1*   1   n/a   9
  8   1     2**     2**     2**     1**     1**   1**   1   11
表3
*在P2至P5范围内的任何两个帧,选择头两个对于解码效率(高速缓存交叠)是有利的。
**在P2至P6范围内的任何三个帧,选择头三个对于解码效率(高速缓存交叠)是有利的。
六个帧缓冲器(m=6)
如果m=6以及n=7,则只有一个帧(例如,帧P4)需要解码。这使得总共有8个解码。
如果m=6以及n=8,则只有2个帧需要解码。这使得总共有10个解码。
    N     I1     P2     P3     P4   P5   P6   P7   P8     共
    7     1     2*     1*     1*   1*   1*   1   n/a     8
    8     1     2**     2**     1**   1**   1**   1**   1     10
表4
*在P2至P5范围内的任何帧,选择第一个对于解码效率(高速缓存交叠)是有利的。
**在P2至P6范围内的任何两个帧,选择头两个对于解码效率(高速缓存交叠)是有利的。
七个帧缓冲器(m=7)
如果m=7以及n=8,则只有一个帧(例如,帧P2)需要解码。这使得总共有9个解码。
    N     I1     P2     P3     P4     P5     P6     P7     P8     共
    8     1     2*     1*     1*     1*     1*     1*     1     9
表5
*在P2至P5范围内的任何帧,选择第一个对于解码效率(高速缓存交叠)是有利的。
全部解码的总结
  N   M=3   M=4   M=5   M=6   M=7
    4     5     -     -     -    -
    5     7     6     -     -    -
    6     9     8     7     -    -
    7     11     10     9     8    -
    8     13     12     11     10    9
表6
典型的反向表示器的选择策略可以明显地降低重复解码的数量,同时也消除了对大量缓存(传统的方法所需要的)的需要。
此处的可选实施例可以不使已解码的I-帧保持为可用的。实际上,可以丢弃它,并在后面再次解码。
用于中间n的帧缓冲器选择策略
因此,对于中间数量(n)的参考帧,典型的反向表示器的这种帧缓冲器利用下面所述的策略选择策略(其中n约大于8且m<n)。可以在上述图3的步骤318中和周围的运行中采用这种策略。
此选择策略也可以被称作“记忆化(memoization)”策略。通常,“记忆化”是保存(即,记忆)稍后再次使用计算的结果而不是在相同条件下再次重复计算该结果的算法技术。
其焦点是递归地将BOF分成越来越小的跨度。跨度是所选帧(用于高速缓存)之间的帧。跨度长度是以跨度中有多少帧为基础的。此选择策略连续的将跨度分成更小的跨度,直到已知的跨度组合与已知的帧和缓冲器的组合匹配为止。
为了使用m个缓冲器以反向顺序解码和显示n个帧,典型的反向表示器这种帧缓冲器选择策略定义了“用于保持的第一帧”F(m,n)。在解码之后,该第一帧不使其缓冲器立即释放。帧在其中解码的该缓冲器直到该帧实际已经被表示后才被释放。任意地,第一帧的数量被选择为1。
此选择策略定义需要解码的数量,以便使用D(m,n)的此算法的m个缓冲器以反向顺序解码和显示n个帧。现在递归地计算F(m,n)和D(m,n)。注意,如果m≥n,则D(m,n)=n,F(m,n)=1。
如果m<n,通过找到用于所保持的第一帧的所有敏感值所需的最小解码数量来执行递归,由此作为附带推导出F(m,n)和D(m,n):
假设用于保持的第一帧是x,则所需的解码数量分解为:
   解码直到且包括帧x的帧     X
   解码和显示x之后的帧的解码数量     D(m-1,n-x)
   显示帧x     0
   解码和显示直到x-1的帧     D(m,x-1)
表7
使这些量的和最小的x的值是F(m,n)。使这个和最小的x的最大值可以任意地选择以避免模糊。
在计算递归过程中,D(i,j)和F(i,j)的值被集中在大小为m×n的阵列中。所以当值已经被计算一次时,不再需要上述的进一步搜索。
接下来,使用F(i,j)的值重构解码序列。
用于大n的帧缓冲器选择策略
如此,对于大数量(n)的参考帧,典型的反向表示器的这种帧缓冲器利用下面所述的策略选择策略(其中n约大于8且m<n)。可以在上述图3的步骤318中和周围的运行中采用这种策略。
此选择策略也可以被称作“标准化算术跨度宽度序列”策略。其焦点是跨度长度。跨度是所选帧(用于高速缓存)之间的帧。跨度长度是以跨度中有多少个帧为基础的。此选择策略尝试使最长的多个跨度的多个重复解码的长度最小化。
通常,帧缓冲器被重复解码的次数与所选帧(被高速缓存在帧缓冲器中)之间的跨度成正比。当帧被表示时,它们的帧缓冲器是不再需要的,并且可以被重复用于高速缓存重复解码的帧。
随着n的大小的增加,选择策略的置换最优化并不是与帧解码的相对数量一样有意义。选择策略尽力使每个“重复解码”块的跨度长度最小化,同时当BOF被解码时计算帧缓冲器的增加数量。
从最后将被解码的帧开始,跨度长度与1、2、3、4、5、...、m-2(即,在帧索引顺序中相对跨度宽度是m-2、m-1、...、3、2、1)成比例。对于第一帧、第n帧和与第n帧相邻的一帧(即,在n-1),需要至少一个帧缓冲器以解码最后的区间。在最后的区间被解码之后,释放缓冲器直到解码下一个最后的间隔。因此具有m-3个缓冲器放置在n-2个帧的区间上。由此,用于在从2到n-1范围内均匀展开它们的缩放因子通过下面的因子给出:
k=(n-2)/求和(sum)(1...m-2)
=(n-2)/((m-2)×(m-1)/2)
=2(n-2)/((m-2)×(m-1))
按照循环,所选帧的位置是:
·f(m)=n
·f(m-1)=n-1
·f(m-1-i)=f(m-i)-取整(round)(k×i),对于i=1...m-3
·f(1)=1
例如,如果m=10个帧缓冲器用于n=100个帧,留下-个缓冲器用于解码区间,则9个缓冲器是可用的,所以k=2×98/(8×9)=2.7。将选择下面的帧f(1...m)用于高速缓存在帧缓冲器中:
f(10)=100
f(9)=f(10)-1=99
f(9-i)=f(10-i)-k×(i),对于i=1...7
f(8)=f(9)-k×1=99-3=96
f(7)=f(8)-k×2=96-5=91
f(6)=f(7)-k×3=91-8=83
f(5)=f(6)-k×4=83-11=72
f(4)=f(5)-k×5=72-14=58
f(3)=f(4)-k×6=58-16=42
f(2)=f(3)-k×7=42-19=21
f(1)=1
(注意:如果i=8,则f(1)=f(2)-k×8=21-22=-1,约等于1)。
所以,帧1、21、42、58、72、83、91、96、99和100将被选择用于高速缓存。
在解码跨度之后,该算法递归地应用到上一个跨度。
在解码过程中,帧1至100将首先被解码一次(以产生高速缓存点),然后重复解码的帧之间的间隔将只有2帧。这产生了对于给定帧的最多为3的最大重复解码数。例如,为了解码91...96,具有2个自由帧(99和100),所以94和95将被高速缓存(重复解码92、93、94和95)。则2个帧对于解码91和93(从95和96释放)是可用的。类似的对于1...21,将有8个帧是可用的(应用相同的算术间隔算法,帧将是2倍的重复解码成本)。
总的解码成本大约是200(大约是2倍),但是对存储器的需求降低了10倍。
这种选择策略逐步增加了每个跨度的长度(相对于最后的帧)。
相反,二元细分算法将选择帧1、50、75、87、93、96、99和100。平均起来,每个帧将被解码ln(g)次,总的来说大约是700解码成本。二元细分算法不利于任何超过“m”的可用的缓冲器,因此浪费了m-1n(g)=10-7=3个缓冲器。我们的第一种算法使用额外的缓冲器来将第一跨度减少至21的长度而不是50的长度。
含有B-帧的BOF的扩展部分
如果BOF含有B-帧,则包括使用比BOF中具有的非参考帧更少的缓冲器的上述方案要求使用额外的缓冲器。该缓冲器用于保存最后解码的参考帧,直到参考它的非参考帧被表示。
平滑计算负载
期望尽可能相等的在每个帧显示之间平衡解码帧的成本。使每个帧显示之间需要的解码最大数量的最小化对于帧的平滑反向重放是最重要的因素。
在此情况下,包括使用比BOF中具有的非参考帧更少的缓冲器的上述用于反向重放的方案可以被修改以满足此目的。一种在此方面改进该方案的方式是,当仍然有空闲缓冲器可以用于继续解码时,可延迟显示一些已解码的参考帧。这在靠近反向重放1个BOF的结束以及开始显示前一个BOF时尤其重要。在此情况下,假设m帧是可用的,当还有m帧要被表示时,每个帧缓冲器将含有BOF中头m帧中的一个。在此情况下,例如,当第m帧一被表示时,我们就释放一个缓冲器,使其达到最好的负载平衡,使用该空闲的缓冲器可以解码前一个BOF的多个帧。可以很容易地意识到,可以用于解码前一个BOF的另外的缓冲器,当它们变成空闲时如何可以被使用。
也可以设计具体地被设计用于使最大解码数量最小化或使用于解码的最大时间最小化的算法。
分解成只具有一个I-帧的BOF
上面的讨论和解释的典型的反向表示器,假设每个BOF具有单个关键帧(例如,I-帧)并由此开始。也假设了关键帧之后跟随了其它的参考帧(例如,P-帧)和/或非参考帧(例如,B-帧)。
但是,存在更复杂的BOF结构。这些结构具有多个关键帧(例如,I-帧)。这些结构在反向重放时可以被分解成每个都具有一个关键帧的子BOF组,。例如,DVD的VOBU可以被视为由许多子BOF组构成的大的BOF。
如果BOF含有多个I-帧,则其可以被分解成多个子BOF组,每个组具有单个I-帧,且每个子BOF组由从一个I-帧至下一个I-帧的帧跨度而形成。
典型的反向表示器执行子BOF组的块级反向表示。因此,每个子BOF组的帧在解码时反向。每个子BOF组的第一帧可以被高速缓存,用于下一个子BOF组的解码。
例如,假设输入BOF为I1B2B3P4B5B6I7B8B9P10B11I12B13I14。从I-帧至I-帧的有效的子BOF是:
BOF1=I1B2B3P4B5B6I7
BOF2=I7B8B9P10B11I12
BOF3=I12B13I14
在BOF3被解码之后,当产生B11帧同时表示BOF2时,帧I12可以被保持。
因此,可以在图3的步骤310或图4的步骤410中期间执行此运行。在那些步骤的操作期间,接收的BOF被分解成多个子BOF组。其余的每个过程对子BOF组进行操作,当完成时它们返回到开始处,以便对下一个子BOF进行操作。
具有复杂BOF结构的其它格式的扩展部分
在最普通的视频流格式中,B-帧是专用的非参考帧。但是,存在其它的复杂格式,例如H.264标准。这些格式具有更复杂的BOF结构,例如具有分级的参考帧的BOF。在这些复杂的格式中,B-帧可以用作其它B-帧的参考帧。
例如,假设存在序列I1B2B3B4B5B6I7B8B9B10B11B12I13B14I15的BOF结构,如图5的BOF 500所示。
在此示例中,BOF 500包括参考帧510和非参考帧520。这些参考帧中的一些帧(特别是B2B4B6B8B11B14)是B-帧,并且通常只作为非参考帧。但是,在这些具有分级参考帧的复杂BOF结构中,这些B-帧是参考帧,因为其它的帧(特别是B3B5B9B10B12B14)依赖于它们。其可以被分解成三个子BOF,530、532和534。
典型的反向表示器执行块反向分解(如上所述),该分解可以被应用到参考帧之间的每个区间(例如每个子BOF)。例如,图5的子BOF 3(534)可以被反向并被表示。帧I13可以被高速缓存并用于反向和播放子BOF 2(532)。类似地,帧I7可以被高速缓存并用于反向和播放子BOF 1(530)。块反向也可以用于伪参考帧515之间的子BOF。例如,B2...B6的子BOF 530可被分别分解成由B4...B6和B2...B4构成的两个子子BOF。每个子子BOF可被单独的反向。
或者,典型的反向表示器可以用其它的方式分解BOF,例如当其知道“区间参考帧”之间的参考帧的数量时。此处,区间参考帧是划分每个间隔的I-帧,例如图5中的I1、I7、I13和I15。子BOF1(530)的区间具有五个参考和伪参考帧(I1B2B4B6I7)和两个非参考帧(B3B5)。
通过使用深度第一横贯(traversavl)使BOF层级线性化,典型的反向表示器可以分配关键帧的高速缓存位置。这将大量的帧缓冲器分配给含有大量需要被重复解码的帧的分支。
有效的区间宽度等于区间内参考帧的数量。分支中参考帧的数量有助于分配区间的权重。分支的权重是该区间及其所有子区间所需的帧缓冲器的最小数量。
具有部分帧解码相关性的其它格式的扩展部分
在最普通的视频流格式中,产生的帧是完全由其它帧产生的。例如,B-帧可由两个相邻的关键帧重构。但是,也存在其它的更复杂的格式,例如H.264,其中帧可以被细分成更小的区域。帧可以被分成片(16像素高带),片可以被分成宏块(16×16像素块),宏块可以被分成子宏块(四分之一或二分之一宏块)等等。
通过用其它帧的一部分和修正因子来只替换帧的一部分从而执行修改,帧可以被编码为先前帧的副本。
这些复杂因素并不影响典型的反向表示器的方法。非参考帧仍被定义为不用于产生其它帧的帧,而如果其仍被要求用于产生其它帧,则该帧为参考帧。
对于给定的GOP,典型的反向表示器创建直接的非循环相关性图,类似于图5所示。
典型的反向解码器的方法实施例
图6显示了由媒体流再现系统200(或其一部分)执行的典型的反向表示器的方法实施例。这个方法实施例可以由软件、硬件或其组合来执行。
在图6的610,典型的反向表示器将复杂的BOF分成多个区间,每个区间至少具有一个参考帧。
在612,典型的反向表示器对每个区间执行块反向分解。
在614,将每个区间分成子区间,每个子区间具有至少一个伪参考帧。
在616,典型的反向表示器对每个子区间执行块反向分解。
对子区间的每个级层重复步骤614和616。
计算解码的成本
通过此处所述的至少一种实施例,假设解码参考帧(例如,I-/P-帧)的成本。更具体地,可以假设I-帧和P-帧的相对成本。
除了假设这些相对解码成本,此处所述的方法实施例还可以计算解码I-帧和P-帧的相对成本。
典型的环境
图7显示了典型的环境700,在其中可以实施(部分或整体)此处所述的技术、系统和其它方面。典型的反向表示器700是电视娱乐系统,其促进了多媒体的分配。典型的数字视频广播(DVB)网络是这种环境的一个示例。
环境700包括一个或多个多媒体内容提供者702、内容分配系统706和一个或多个显示设备708(1)、708(2)、...、708(N),其经过广播网络710连接到内容分配系统706。
多媒体内容提供者702包括内容服务器712和存储的内容714,例如电影、电视节目、商业广告、音乐和类似的音频和/或视频内容。内容服务器712控制存储的内容714从内容提供者702到内容分配系统706的分配。此外,内容服务器702控制实时内容(例如,没有事先存储的内容,例如实况转播提供的)和/或存储在其它位置的内容到内容分配系统706的分配。
内容分配系统706可以连接到网络720,例如经过内联网或因特网。内容分配系统706包括广播发射器728和一个或多个内容处理器730。广播发射器728经过广播网络710发射信号,例如有线电视信号。
内容分配系统706表示数据转发服务,其向多个用户提供多媒体内容。
广播网络710可以包括有线电视网络、RF、微波、卫星、和/或例如因特网的数据网,也可以包括使用任何广播制式或广播协议的有线或无线媒体。此外,广播网络710可以是使用任何类型的网络拓扑结构和任何网络通信协议的任何类型的网络,可以被表示或以其它方式实施为两种或多种网络的组合。
在经过广播网络708传送该内容之前,内容处理器730处理从内容提供者702接收的内容。特别的内容处理器730可以编码,或以其它方式将接收的内容处理成可被连接到广播网络710的多个显示设备708(1)、708(2)、...、708(N)识别的格式。
显示设备708可以多种方式来实施。例如,显示设备708(1)从基于卫星的发射器经过卫星天线734接收广播内容。显示设备708(1)也被称作机顶盒或卫星接收设备。显示设备708(1)连接到电视736(1)以及图形用户接口,用于显示由显示设备接收的内容(例如,音频数据和视频数据)。特别的显示设备708可以连接到任何数量的电视736和/或类似的可以用于显示或以其它方式再现内容的设备。类似地,任何数量的显示设备708可以连接到单个电视736。
显示设备708(2)也被连接用于从广播网络710接收广播内容,并将接收的内容提供到相关的电视736(2)。显示设备708(N)是电视738和集成的机顶盒740的组合的一个例子。在此示例中,机顶盒的各种部件和功能被结合在电视中,而不是使用两个分开的设备。结合在电视中的机顶盒可以经过卫星天线(类似于卫星天线734)和/或经过广播网络710接收广播信号,在可选的实施例中,显示设备706可以经过因特网或任何其它的广播媒体接收广播信号。
典型的环境700也包括存储的点播内容742,例如视频点播(VOD)电影内容。可通过屏幕上的电影指南由显示设备708来浏览存储的点播内容,例如,浏览者可以输入指令将特定的电影或其它的存储内容下载到对应的显示设备708。
迄今为止,已经根据数字视频广播(DVB)环境说明了该典型的环境700。实际上,这是一个典型的环境。但是,在其没有整个DVB环境的情况下也可以实施该典型的反向表示器。替代的,其可以通过例如设备708(X)所示的单机显示设备来实施。
单机显示设备708(X)从存储介质744(例如DVD盘)中存取数字视频。其将内容从介质提供到相关的电视739。这样的单机显示设备的例子包括DVD播放器、个人视频记录机等。
典型的显示设备
图8显示了显示设备708的典型实施例800,如连接到电视736的单机单元所示。显示设备708可以以任何数量的实施例来实施,包括作为机顶盒、卫星接收机、具有硬盘的TV记录机、游戏控制台、信息装置、DVD播放器、个人视频记录机以及前述的设备。
显示设备708包括无线接收端口802,例如红外(IR)或蓝牙无线端口,用于从遥控器804、手持输入设备806或例如无线键盘的任何其它的无线设备接收无线通信。手持输入设备806可以是个人数字助手(PDA)、手持计算机、无绳电话等。此外,无线键盘808被连接用于与显示设备708通信。在可选的实施例中,遥控器804、手持设备806和/或键盘808可以使用RF通信链接或其它方式发射,以便与显示设备708通信。
显示设备708可以具有存储介质读取器809,用于读取内容存储介质,例如DVD盘。单机或非单机显示设备708可以包括存储介质读取器809。
显示设备708可以从一个或多个广播源(例如从卫星或从广播网络)接收一个或多个广播信号810。显示设备708包括硬件和/或软件,用于接收和解码广播信号810,例如NTSC、PAL、SECAM或其它TV系统视频信号。
显示设备708也包括硬件和/或软件,用于为用户提供图形用户接口,例如通过该接口用户可以访问各种网络服务,配置显示设备708以及执行其它的功能。
显示设备708可以经过一个或多个连接与其它的设备通信,连接包括电话链接812、ISDN链接814、电缆链接816、以太网链接818、DSL链接820等。显示设备708可以在特定的时刻使用一个或多个各种通信链接812-820,以便与任何数量的其它设备通信。
显示设备708产生视频信号820和音频信号822,两者都被传到电视736。视频信号和音频信号可以经过RF(射频)链接、S-视频链接、复合视频链接、组合视频链接或其它通信链接从显示设备708传到电视736。
尽管图8中没有显示,但是显示设备708可以包括一个或多个用于识别设备当前状态的发光体和其它的指示器。此外,显示设备可以包括一个或多个控制按钮、开关或其它用于控制设备的操作的可选控制。
图9显示了图7和8中所示的显示设备708的所选部件。显示设备708包括第一调谐器900和可选的第二调谐器902。这些调谐器可被称作接收单元。调谐器900和902表示一个或多个带内调谐器,其调谐各种频率和信道以接收电视信号,也表示用于调谐广播信道的带外调谐器,其中其它内容可以在广播信道上发射到显示设备708。
显示设备708也包括一个或多个处理器304和一个或多个存储器部件。可能的存储器部件的例子包括随机存取存储器(RAM)906、盘驱动器908、大容量存储部件910和非易失性存储器912(例如,ROM、闪存、EPROM、EEPROM等)。
显示设备708的可选实施例可以包括一定范围的处理和存储器容量,并且可以包括比图9所示的更多或更少类型的存储器部件。
处理器904处理各种指令,以便控制显示设备708的操作,以及与其它电子和计算设备通信。存储部件(例如,RAM 906、盘驱动器908、存储媒体910和非易失性存储器912)存储各种信息和/或数据,例如多媒体数据、电子程序数据、网页内容数据、显示设备708的配置信息、和/或图形用户接口信息。设备可以将数据高速缓存到这些存储部件的任何一种内。
操作系统914和一个或多个应用程序916可以存储在非易失性存储器912中,并在处理器904上运行,以便提供运行时间环境。运行时间环境通过允许定义各种接口,反过来允许应用程序916与显示设备708交互,从而促进了显示设备708的扩展性。
可以在显示设备708上实施的应用程序916可以包括电子程序指南(EPG)、方便电子邮件的电子邮件程序等。
显示设备708也可以包括电视娱乐系统固有的其它部件,出于简单的目的在此例子中没有显示。例如,显示设备708可以包括用户接口应用程序和用户接口发光体、按钮、控制等,以方便浏览者与设备交互。
显示设备708也包括解码器920,以解码广播视频信号,例如NTSC、PAL、SECAM或其它的TV系统视频信号。其也可以是用于解码数字压缩视频流(例如,按照MPEG形成的)的解码器。这可以是与图2的解码器210、212和214相同类型的解码器。
显示设备708还包括无线接口922、网络接口924、串行和/或并行接口926以及调制解调器928。无线接口922允许显示设备708从用户操作的输入单元,例如从远程控制设备或从其它的IR、蓝牙或类似的RF输入设备中接收输入指令和其它的信息。
网络接口924和串行和/或并行接口926允许显示设备708经过各种通信链接与其它的电子和计算设备交互和通信。尽管没有显示,显示设备708也可以包括其它类型的数据通信接口,以便与其它的设备通信。调制解调器928方便显示设备708经过传统的电话线与其它的电子和计算设备通信。
显示设备708也包括视频/音频输出930,其将信号提供给电视或处理和/或显示或以其它方式再现视频和音频数据的其它设备。此输出可被称作显示器。
显示设备708也可以包括解码控制器940,其部分和整体实施该典型的反向表示器。其可以是应用程序或硬件部件(或二者的组合)。
尽管分开的显示,但是显示设备708的一些组件可以实施在特定用途集成电路(ASIC)中。此外,系统总线(没有显示)通常连接显示设备708内的各种部件。
典型的计算系统和环境
图10显示了适当的计算环境1000的例子,在该环境内可以实施(或者全部或者部分)如此处所述的典型的反向表示器。计算环境1000可以被用于此处所述的计算机和网络结构中。
典型的计算系统1000只是计算系统的一个例子,并不意味着对计算和网络结构的使用范围或功能施加任何限制。计算系统1000或者应当被解释为具有任何相关性,或者是要求涉及典型的计算环境1000中所示的任何一个部件或部件的组合。
典型的反向表示器可以通过多种其它一般目的或具体目的的计算系统环境或配置来实施。已知的计算系统、环境、和/或配置的例子可以适用于使用包括(但不限于)个人计算机、服务器计算机、薄的客户端、厚的客户端、手持或台式设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微机、大型计算机、包括任何上述的系统或设备的分配式计算环境等。
典型的反向表示器可以以计算机可执行指令的一般背景来说明,计算机可执行指令例如通过计算机运行的程序模块。通常,程序模块包括例行程序、程序、对象、要素、数据结构等,用于执行特定任务或实施特定摘要数据类型。典型的反向表示器也可以以分配式计算环境来实施,其中通过经由通信网络链接的远程处理设备来执行任务。在分配式计算环境中,程序模块可以位于本地和远程计算机的包括存储器存储设备的存储媒体上。
计算环境1000包括计算机1002形式的通用计算设备,其可以是显示设备708的另一个例子。计算机1002的部件可以包括(但不限于)一个或多个处理器或处理单元1004、系统存储器1006和系统总线1008,其将包括处理器1004的各种系统部件连接到系统存储器1006。
系统总线1008表示使用任何各种总线结构的一种或多种的任何几种类型的总线结构,包括使用任何的各种总线结构的存储器总线或存储器控制器、外围总线、图形加速接口或本地总线。作为示例,这样的结构可以包括卡总线(CardBus)、个人计算机存储卡国际协会(PCMCIA)、加速图形接口(AGP)、小型计算机系统接口(SCSI)、通用串行总线(USB)、IEEE 1394、视频电子标准协会(VESA)本地总线,以及也被称作夹层总线(Mezzanine bus)的周边元件扩展接口(PCI)总线。
计算机1002通常包括各种计算机可读媒体。这样的媒体可以是任何可用的媒体,其可通过计算机1002存取,并包括易失性和非易失性媒体,以及可移动和不可移动的媒体。
系统存储器1006包括易失性存储器形式的计算机可读媒体,例如随机存取存储器(RAM)1010,和/或非易失性存储器,例如只读存储器(ROM)1012。含有基本例了程序的基本输入/输出系统(BIOS)1014被存储在ROM 1012中,基本例行程序例如在启动期间有助于在计算机1002内的元件之间传递信息的。RAM1010通常包括数据和/或程序模块,通过处理单元1004可立即存取这些模块和/或立即对其操作。
计算机1002也可以包括其它的可移动/不可移动的、易失性/非易失性的计算机存储媒体。作为示例,图10显示了用于读取和写入不可移动的、非易失性磁媒体(没有显示)的硬盘驱动器1016,用于读取和写入可移动的、非易失性磁盘1020(例如,软盘)的磁盘驱动器1018,以及用于读取和/或写入可移动的、非易失性光盘1024(例如,CD-ROM、DVD-ROM或其它光学媒体)的光盘驱动器1022。硬盘驱动器1016、磁盘驱动器1018和光盘驱动器1022,每个都通过一个或多个数据媒体接口1 026连接到系统总线1008。或者,硬盘驱动器1016、磁盘驱动器1018和光盘驱动器1022可以通过一个或多个接口(没有显示)连接到系统总线1008。
盘驱动器和与它们相关的计算机可读媒体提供非易失性存储的计算机可读指令、数据结构、程序模块和计算机1002的其它数据。尽管示例显示了硬盘1016、可移动的磁盘1020和可移动的光盘1024,但是应当意识到,其它类型的可以存储由计算机存取的数据的计算机可读媒体也可以用于实施该典型的计算系统和环境,例如,盒式磁带或其它的磁存储设备、闪存卡、CD-ROM、数字通用盘(DVD)或其它的光学存储器、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)等。
任何数量的程序模块可以存储在硬盘1016、磁盘1020、光盘1024、ROM1012、和/或RAM1010上,作为示例,程序模块包括操作系统1026、一个或多个应用程序1028以及程序数据1032。
用户可以经过输入设备,例如键盘1034和定点设备1036(例如“鼠标”)将指令和信息输入到计算机1002中。其它的输入设备1038(没有具体显示)可以包括麦克风、操纵杆、游戏键盘、卫星天线、串口、扫描仪和/或类似设备。这些和其它的输入设备经过连接到系统总线1008的输入/输出接口1040而连接到处理单元1004,但是也可以通过其它的接口和总线结构来连接,例如并口、游戏端口或通用串行总线(USB)。
监视器1042或其它类型的显示设备可以经过接口,例如视频适配器1044连接到系统总线1008。除了监视器1042之外,其它的输出外围设备可以包括例如扬声器(没有显示)和打印机1046的部件,其可以经过输入/输出接口1040连接到计算机1002。
计算机1002可以工作在网络环境中,网络环境使用逻辑连接到一个或多个远程计算机,例如远程计算设备1048。作为示例,远程计算设备1048可以是个人计算机、便携式计算机、服务器、路由器、网络计算机、同等设备或其它公用网络节点等。远程计算设备1048被示例显示为便携式计算机,其可以包括此处所述的有关于计算机1002的许多或全部的元件和特征。
计算机1002与远程计算机1048之间的逻辑连接被表示为局域网(LAN)1050,和一般的广域网(WAN)1052。这样的网络环境在办公室、企业宽的计算机网络、内联网和因特网中是很平常的。
当以LAN网络环境实施时,计算机1002经过网络接口或适配器1054连接到本地网络1050。当在WAN网络环境中实施时,计算机1002通常包括调制解调器1056或其它用于在广域网1052上建立通信的装置。调制解调器1056可以是计算机1002的内部或外部设备,其可以经过输入/输出接口1040或其它适当的机构连接到系统总线1008。应当意识到,示例的网络连接是典型的,也可以采用在计算机1002与1048之间建立通信链接的其它装置。
在网络环境中,例如示例的计算环境1000,程序模块相对于计算机1002被描述,或其部分可以存储在远程存储器存储设备上。作为示例,远程应用程序1058位于远程计算机1048的存储设备中。
出于示例的目的,应用程序和其它的可执行程序部件,例如操作系统,在此作为分开的块被表示,尽管如此,应该意识到这样的程序和部件存在于各个时期的计算设备1002的不同存储部件中,并且通过计算机的数据处理器来运行。
计算机可执行指令
可以以计算机可执行指令的一般背景来说明典型的反向表示器的实施例,计算机可执行指令例如是由一个或多个计算机或其它设备运行的程序模块。通常,程序模块包括例行程序、程序、对象、要素、数据结构等,其执行特定的任务或实施特定的摘要数据类型。通常,可以按照各个实施例所期望的来组合或分配程序模块的功能。
计算机可读媒体
典型的反向表示器的实施例可以存储在一些形式的计算机可读媒体上或经过一些形式的计算机可读媒体来传输。计算机可读媒体可以是任何可通过计算机存取的可用媒体。作为示例(没有限制性),计算机可读媒体可以包括“计算机存储媒体”和“通信媒体”。
“计算机存储媒体”包括以任何方法和技术实施的易失性和非易失性的、可移动和不可移动的媒体,用于存储信息,例如计算机可读指令、数据结构、程序模块或其它数据。计算机存储媒体包括(但不限于)RAM、ROM、EEPROM、闪存或其它的存储器技术、CD-ROM、数字通用盘(DVD)或其它的光学存储器、盒式磁带、磁带、磁盘存储器或其它的磁存储设备,或任何其它可用于存储想要的信息且可由计算机存取的介质。
“通信媒体”通常包括计算机可读指令、数据结构、程序模块、或以调制的数据信号形式的其它数据、例如载波或其它传输机制。通信媒体也包括任何信息传递媒体。
术语“调制的数据信号”意为具有一个或多个特征集的或以可将信息编码在信号中的方式被改变的信号。作为示例(没有限制性),通信媒体包括有线媒体,例如有线网络或直接有限连接,还包括无线媒体,例如声学的、RF、红外和其它无线媒体。上述方式的任何组合也包含在计算机可读媒体的范围内。
结论
尽管已经以专用于结构特征和/或方法步骤的语言说明了本发明,但是应当理解,权利要求中定义的本发明并不限于所述的具体特征或步骤。确切的是,具体的特征和步骤作为实施所要求保护的本发明的优选形式来说明。

Claims (52)

1.一种具有计算机可执行指令的计算机可读介质,当计算机运行该指令时,其执行一种促进媒体流的帧块(BOF)的反向表示的方法,该BOF是具有已定义正向表示顺序的帧的序列,每个帧被分类为参考帧或非参考帧,参考帧是具有BOF中至少一个其它帧用作对其固有已编码数据解码的参考的数据的帧,而非参考帧是具有不被BOF中另一帧所参考的已编码数据的帧,该方法包括:
获得媒体流的BOF;
正向解码和存储BOF的一个或多个已解码的参考帧;
存储BOF的非参考帧,而其数据仍被编码;
以从序列的最后帧开始的序列的反向顺序,对于含有非参考帧和至少一个相邻参考帧的每个子序列重复下面过程,并持续该重复过程直到达到第一帧为止:
●如果反向顺序中下一个将被表示的帧是参考帧,则表示BOF中该参考帧;
●产生BOF中的非参考帧的下一个将被表示的子序列;
●以序列的反向顺序表示一个或多个刚产生的非参考帧;
●释放存储了刚被表示的非参考帧的存储器;以及
●如果反向顺序中下一个将被表示的帧是参考帧,则表示BOF中的该参考帧;
表示序列的第一参考帧。
2.如权利要求1所述的介质,其中对每个刚产生的非参考帧的表示发生在下一个将被表示的子序列的每个非参考帧产生之后。
3.如权利要求1所述的介质,其中释放发生在刚表示的非参考帧参考的所有参考帧表示之后。
4.如权利要求1所述的介质,进一步包括释放存储了一个或多个刚表示的参考帧的存储器。
5.如权利要求1所述的介质,其中该方法进一步包括:
接收由序列中多个BOF构成的超级BOF,其中每个BOF具有一个关键帧,其不依赖于其它的帧而解码;
将该超级BOF分解成多个BOF;
重复权利要求1所述的步骤,其中多个BOF中不同的一个以该超级BOF中的BOF序列的反向顺序被提供给获得步骤。
6.如权利要求1所述的介质,其中该方法进一步包括:
接收由序列中多个BOF构成的超级BOF,其中每个BOF具有一个在序列开始处的不依赖于其它帧而解码的关键帧,以及一个在序列结束处的不依赖于其它帧而解码但是是下一个逻辑BOF的一部分的关键帧;
将该超级BOF分解成多个BOF;
重复权利要求1所述的步骤,其中多个BOF中不同的一个以该超级BOF中的BOF序列的反向顺序被提供给获得步骤。
7.一种计算设备,包括:
一个输入设备,配置用于接收媒体流;
一个显示设备,配置用于显示所要表示的帧;
一个如权利要求1所述的介质。
8.一种具有计算机可执行指令的计算机可读介质,当计算机运行该指令时,其执行一种促进媒体流的帧块(BOF)的反向表示的方法,该BOF是具有已定义正向表示顺序的帧的序列,每个帧被分类为参考帧或非参考帧,参考帧是具有至少一个其它帧用作对其固有已编码数据解码的参考的数据的帧,而非参考帧是具有不被BOF中另一帧所参考的已编码数据的帧,该方法包括:
获得媒体流的BOF;
正向解码BOF的一个或多个参考帧;
存储BOF的已解码的参考帧;
存储BOF的其数据仍被编码的非参考帧;
以序列的反向顺序,选择地解码非参考帧;
以反向顺序表示该序列;
释放存储了已经表示的非参考帧的存储器。
9.如权利要求8所述的介质,其中该方法还包括以序列的反向顺序选择地解码参考帧。
10.如权利要求8所述的介质,其中在以反向顺序表示BOF的任何帧之前,少于所有的非参考帧被解码。
11.如权利要求8所述的介质,其中释放进一步包括,在参考刚被表示的参考帧的所有非参考帧被表示之后,释放存储了刚被表示的非参考帧的存储器。
12.如权利要求8所述的介质,其中释放进一步包括,在参考刚被表示的参考帧的所有非参考帧被表示之后,释放存储了刚被表示的非参考帧的存储器,其中该方法进一步包括使用这样的存储器以便有助于解码将被表示的帧的子序列。
13.如权利要求8所述的介质,其中该方法进一步包括:
接收由序列中多个BOF构成的超级BOF,其中每个BOF具有一个关键帧,其不依赖于其它的帧而解码;
将该超级BOF分解成多个BOF;
重复权利要求8所述的步骤,其中多个BOF中不同的一个以该超级BOF中的BOF序列的反向顺序被提供给获得步骤。
14.一种计算设备,包括:
一个输入设备,配置用于接收媒体流;
一个显示设备,配置用于显示所要表示的帧;
一个如权利要求8所述的介质。
15.一种具有计算机可执行指令的计算机可读介质,当计算机运行该指令时,其执行一种促进媒体流的帧块(BOF)的反向表示的方法,该BOF是具有已定义正向表示顺序的帧的序列,包括其后跟随多个已编码帧的关键帧,已编码帧逐步依赖于在其之前用于产生的序列中的一个或多个帧,该方法包括:
获得媒体流的BOF;
在BOF的结束处开始,对BOF表示的所有非关键帧,重复以下过程:
选择将被表示的这些帧的一个或多个帧;
以反向顺序,确定哪个帧是下一个将被表示的帧;
如果下一个将被表示的帧已经产生,并且存储在存储器中,则表示该下一个将被表示的帧,否则:
●产生在下一个将被表示的帧之前的、对于产生下一个将被表示的帧是必要的帧,但是仅产生没有存储在该存储器中的帧;
●在产生期间,存储通过选择步骤选择的该产生的帧;
●进一步产生下一个将被表示的帧;
●表示下一个将被表示的帧;
作为条件的优点,重复选择、确定的动作,以及如果、则、否则等条件动作,直到BOF的关键帧被表示为止。
16.如权利要求15所述的介质,其中产生步骤和进一步产生步骤包括基于其拥有的数据以及基于BOF中其它帧的数据解码帧。
17.如权利要求15所述的介质,其中存储步骤包括只存储通过选择步骤选择的该产生的帧。
18.如权利要求15所述的介质,其中在表示之后,该方法进一步包括释放存储了刚被表示的帧的存储器。
19.如权利要求15所述的介质,其中该方法进一步包括:
存储BOF的其数据仍被编码的非参考帧,非参考帧是具有已编码数据的帧,该已编码的数据不被BOF中其它帧所参考;
以序列的反向顺序,选择地解码非参考帧。
20.如权利要求15所述的介质,其中该方法进一步包括:
存储BOF的其数据仍被编码的非参考帧,非参考帧是具有已编码数据的帧,该已编码的数据不被BOF中其它帧所参考;
以序列的反向顺序,选择地解码参考帧和非参考帧。
21.如权利要求15所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的帧;
映射序列中剩余的将被表示的帧的相对位置;
执行二元细分以基本上识别用于选择的大约m帧。
22.如权利要求15所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的参考帧;
映射序列中剩余的将被表示的帧的相对位置;
执行二元细分以基本上识别用于选择的大约m帧。
23.如权利要求15所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的帧;
映射序列中剩余的将被表示的帧的相对位置;
执行二元细分以基本上识别用于选择的m或更少的帧。
24.如权利要求15所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的参考帧;
映射序列中剩余的将被表示的帧的相对位置;
执行二元细分以基本上识别用于选择的m或更少的帧。
25.如权利要求15所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的帧;
映射序列中剩余的将被表示的帧的相对位置;
执行递归细分以基本上识别用于选择的大约m帧,其中帧的选择在朝向序列中剩余的将被表示的帧的结束处被更重的加权。
26.如权利要求15所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的参考帧;
映射序列中剩余的将被表示的帧的相对位置;
执行递归细分以基本上识别用于选择的大约m帧,其中帧的选择在朝向序列中剩余的将被表示的帧的结束处被更重的加权。
27.如权利要求15所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的帧;
映射序列中剩余的将被表示的帧的相对位置;
执行递归细分以基本上识别用于选择的大约m帧,其中帧的选择在朝向序列中剩余的将被表示的帧的结束处被更重的加权,并且帧的选择产生与反向的算术序列成比例的间隔。
28.如权利要求15所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的帧;
映射序列中剩余的将被表示的帧;
参考存储在存储器中的一个或多个选择表以识别用于选择的m或更少的帧。
29.如权利要求15所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的参考帧;
映射序列中剩余的将被表示的帧;
参考存储在存储器中的一个或多个选择表以识别用于选择的m或更少的帧。
30.如权利要求15所述的介质,其中该方法进一步包括:
接收由序列中多个BOF构成的超级BOF,其中每个BOF具有一个不依赖于其它的帧而解码的关键帧;
将该超级BOF分解成多个BOF;
重复权利要求15所述的步骤,其中多个BOF中不同的一个以该超级BOF中的BOF序列的反向顺序被提供给获得步骤。
31.如权利要求15所述的介质,进一步包括计算解码帧的成本。
32.如权利要求15所述的介质,进一步包括计算关键帧和BOF的一组中的逐步相关帧的成本。
33.一种计算设备,包括:
一个输入设备,配置用于接收媒体流;
一个显示设备,配置用于显示所要表示的帧;
一个如权利要求15所述的介质。
34.一种具有计算机可执行指令的计算机可读介质,当计算机运行该指令时,其执行一种促进媒体流的帧块(BOF)的反向表示的方法,该BOF是具有已定义正向表示顺序的帧的序列,包括其后跟随多个已编码帧的关键帧,已编码帧逐步依赖于在其之前用于解码的序列中的一个或多个帧,该方法包括:
获得媒体流的BOF;
在BOF的结束处开始,对BOF表示的所有非关键帧,重复以下过程:
●以反向顺序,表示下一个将被表示的帧;
●在表示下一个将被表示的帧之前,正向解码在下一个将被表示的帧之前的、对于解码下一个将被表示的帧是必要的帧;
●选择哪一个已解码的帧存储在存储器中,其中该选择的产生的帧少于BOF的所有帧;
●存储该选择的已解码的帧;
进一步表示该关键帧。
35.如权利要求34所述的介质,其中选择的解码帧是参考帧。
36.如权利要求34所述的介质,其中已经被解码和存储在该存储器中的帧被排除在正向解码之外。
37.如权利要求34所述的介质,其中已经被解码和存储在该存储器中的帧被排除在正向解码之外,这些被排除的帧在通过选择步骤选择的帧之中。
38.如权利要求34所述的介质,其中在表示之后,该方法进一步包括释放存储了刚被表示的帧的存储器。
39.如权利要求34所述的介质,其中该存储器进一步用于帮助解码帧。
40.如权利要求34所述的介质,其中该方法进一步包括:
存储BOF的其数据仍被编码的非参考帧,非参考帧是具有已编码数据的帧,该已编码的数据不被BOF中其它帧所参考;
以序列的反向顺序,选择地解码非参考帧。
41.如权利要求34所述的介质,其中选择的已解码帧是参考帧,且其中该方法进一步包括:
存储BOF的其数据仍被编码的非参考帧,非参考帧是具有已编码数据的帧,该已编码的数据不被BOF中其它帧所参考;
以序列的反向顺序,选择地解码非参考帧。
42.如权利要求34所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的帧;
映射序列中剩余的将被表示的帧的相对位置;
执行递归细分以基本上识别用于选择的大约m帧。
43.如权利要求34所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的参考帧;
映射序列中剩余的将被表示的帧的相对位置;
执行递归细分以识别用于选择的m或更少的帧。
44.如权利要求34所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的帧;
映射序列中剩余的将被表示的帧的相对位置;
执行递归细分以基本上识别用于选择的大约m帧,其中帧的选择在朝向序列中剩余的将被表示的帧的结束处被更重的加权。
45.如权利要求34所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的帧;
映射序列中剩余的将被表示的帧的相对位置;
执行递归细分以基本上识别用于选择的大约m帧,其中帧的选择在朝向序列中剩余的将被表示的帧的结束处被更重的加权,并且帧的选择产生与反向的算术序列成比例的间隔。
46.如权利要求34所述的介质,其中选择步骤包括:
确定存储器的可用帧缓冲器的数量m,每个帧缓冲器可以存储已解码的帧;
映射序列中剩余的将被表示的帧;
参考存储在存储器中的一个或多个选择表以识别用于选择的m或更少的帧。
47.如权利要求34所述的介质,其中选择步骤包括:
接收由序列中多个BOF构成的超级BOF,其中每个BOF具有一个关键帧;
将该超级BOF分解成多个BOF;
重复权利要求34所述的步骤,其中多个BOF中不同的一个以该超级BOF中的BOF序列的反向顺序被提供给获得步骤。
48.一种计算设备,包括:
一个输入设备,配置用于接收媒体流;
一个显示设备,配置用于显示要表示的帧;
一个如权利要求34所述的介质。
49.如权利要求34所述的介质,其中选择步骤包括:
接收一组帧,其中解码对其它帧的片段具有相关性的帧;
确定存储器的可用帧缓冲器或帧缓冲器片段的数量m,每个帧缓冲器片段可以存储部分的已解码的帧;
映射序列中剩余完成的将被表示的帧片段;
参考存储在存储器中的一个或多个选择表或使用选择策略以识别用于选择的m或更少的帧片段。
50.如权利要求49所述的介质,其中该方法进一步包括:
帧片段包括片、宏块、子宏块或子宏块的片段。
51.如权利要求49所述的介质,其中在显示之后,该方法进一步包括释放存储了刚被表示的帧的存储器。
52.如权利要求34所述的介质,进一步包括计算解码帧的成本。
CNA2005100922397A 2004-05-17 2005-05-17 数字媒体流的反向表示 Pending CN1725844A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/847,273 US7627227B2 (en) 2004-05-17 2004-05-17 Reverse presentation of digital media streams
US10/847,273 2004-05-17

Publications (1)

Publication Number Publication Date
CN1725844A true CN1725844A (zh) 2006-01-25

Family

ID=34939833

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005100922397A Pending CN1725844A (zh) 2004-05-17 2005-05-17 数字媒体流的反向表示

Country Status (5)

Country Link
US (1) US7627227B2 (zh)
EP (1) EP1599048A2 (zh)
JP (1) JP2006025401A (zh)
KR (1) KR20060047952A (zh)
CN (1) CN1725844A (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100916274B1 (ko) 2004-06-07 2009-09-10 슬링 미디어 인코퍼레이티드 퍼스널 미디어 브로드캐스팅 시스템
EP1633129B1 (en) * 2004-09-02 2015-06-24 Thomson Licensing Method and apparatus for decoding encoded groups of pictures of a video sequence and presenting said video sequence and said groups of pictures in temporally backward direction
US8453148B1 (en) 2005-04-06 2013-05-28 Teradici Corporation Method and system for image sequence transfer scheduling and restricting the image sequence generation
US8766993B1 (en) * 2005-04-06 2014-07-01 Teradici Corporation Methods and apparatus for enabling multiple remote displays
WO2007015047A2 (en) * 2005-08-04 2007-02-08 Nds Limited Advanced digital tv system
US8787737B2 (en) 2005-08-15 2014-07-22 Cisco Technology Inc. Video trick mode system
US7809057B1 (en) * 2005-09-27 2010-10-05 Ambarella, Inc. Methods for intra beating reduction in video compression
US7716551B2 (en) * 2005-12-07 2010-05-11 Microsoft Corporation Feedback and frame synchronization between media encoders and decoders
CN101518091B (zh) * 2006-09-26 2011-09-28 松下电器产业株式会社 解码装置、解码方法、解码程序以及集成电路
US8270819B2 (en) * 2006-10-31 2012-09-18 Tivo Inc. Performing trick play functions in a digital video recorder with efficient use of resources
KR20080090934A (ko) * 2007-04-06 2008-10-09 삼성전자주식회사 정속 역 재생 방법 및 장치
US8350921B2 (en) * 2007-05-10 2013-01-08 Freescale Semiconductor, Inc. Video processing system, integrated circuit, system for displaying video, system for generating video, method for configuring a video processing system, and computer program product
US8612643B2 (en) 2007-06-30 2013-12-17 Microsoft Corporation Interfaces for digital media processing
US8179976B2 (en) * 2008-01-11 2012-05-15 Apple Inc. Control of video decoder for reverse playback operation
EP2086236A1 (en) * 2008-01-31 2009-08-05 Hewlett-Packard Development Company, L.P. Method and system for accessing applications
KR101518829B1 (ko) * 2008-06-17 2015-05-11 삼성전자주식회사 위치 정보를 포함하는 동영상 녹화 및 재생 방법 및 장치
US8073990B1 (en) 2008-09-23 2011-12-06 Teradici Corporation System and method for transferring updates from virtual frame buffers
US8224885B1 (en) 2009-01-26 2012-07-17 Teradici Corporation Method and system for remote computing session management
US8209730B2 (en) * 2009-06-22 2012-06-26 Sony Corporation Speculative video on demand
US8532472B2 (en) * 2009-08-10 2013-09-10 Sling Media Pvt Ltd Methods and apparatus for fast seeking within a media stream buffer
WO2012050832A1 (en) * 2010-09-28 2012-04-19 Google Inc. Systems and methods utilizing efficient video compression techniques for providing static image data
KR20120050725A (ko) * 2010-11-11 2012-05-21 삼성전자주식회사 데이터 재생 방법 및 장치
US10536726B2 (en) 2012-02-24 2020-01-14 Apple Inc. Pixel patch collection for prediction in video coding system
US9451288B2 (en) * 2012-06-08 2016-09-20 Apple Inc. Inferred key frames for fast initiation of video coding sessions
GB2507764C (en) 2012-11-08 2017-08-16 Nds Ltd Review buffer
CN105517674B (zh) * 2015-07-14 2019-03-08 深圳市锐明技术股份有限公司 一种监控数据的处理方法及系统
US11005620B2 (en) * 2017-06-16 2021-05-11 Qualcomm Incorporated Uplink reference signal sequence design in 5G new radio
US10805663B2 (en) * 2018-07-13 2020-10-13 Comcast Cable Communications, Llc Audio video synchronization
NO346123B1 (en) * 2020-02-05 2022-03-07 Movi Tech As Video decoding method and device enabling improved user interaction with video content
CN117793367B (zh) * 2024-02-26 2024-06-04 此芯科技(上海)有限公司 一种图像编码方法及系统

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4661862A (en) 1984-04-27 1987-04-28 Rca Corporation Differential PCM video transmission system employing horizontally offset five pixel groups and delta signals having plural non-linear encoding functions
GB2164480B (en) 1984-09-18 1988-01-13 Sony Corp Reproducing digital audio signals
JP2520160B2 (ja) 1988-10-20 1996-07-31 富士通株式会社 図形処理用lsi回路
US5193004A (en) 1990-12-03 1993-03-09 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
US5621578A (en) 1992-02-06 1997-04-15 Matsushita Electric Industrial Co., Ltd. Method of transmitting digital video and audio signals between bit rate reduction encoded signal recording and reproducing systems
US5341474A (en) * 1992-05-15 1994-08-23 Bell Communications Research, Inc. Communications architecture and buffer for distributing information services
US5298992A (en) 1992-10-08 1994-03-29 International Business Machines Corporation System and method for frame-differencing based video compression/decompression with forward and reverse playback capability
US5377051A (en) 1993-01-13 1994-12-27 Hitachi America, Ltd. Digital video recorder compatible receiver with trick play image enhancement
US5535008A (en) 1993-03-16 1996-07-09 Victor Company Of Japan, Ltd. Method for jump-reproducing video data of moving picture coded with high efficiency
US5414455A (en) * 1993-07-07 1995-05-09 Digital Equipment Corporation Segmented video on demand system
US6101070A (en) 1993-09-30 2000-08-08 Sony Corporation Method and apparatus for determining information and a cassette for use therewith
JP3471401B2 (ja) 1993-12-28 2003-12-02 松下電器産業株式会社 蓄積av情報通信装置
JP3312074B2 (ja) 1994-01-24 2002-08-05 シャープ株式会社 映像信号のディジタル記録及び再生装置
JPH07226917A (ja) 1994-02-14 1995-08-22 Toshiba Corp 画像再生方式及び装置
JP3607315B2 (ja) * 1994-03-23 2005-01-05 パイオニア株式会社 動画像復号化装置
US5892882A (en) * 1994-03-23 1999-04-06 Pioneer Electronic Corporation Moving picture decoding device having a compressed picture data memory
US5521630A (en) 1994-04-04 1996-05-28 International Business Machines Corporation Frame sampling scheme for video scanning in a video-on-demand system
JPH08102913A (ja) * 1994-09-29 1996-04-16 Victor Co Of Japan Ltd 圧縮動画像データの逆方向再生方法
JP3034173B2 (ja) * 1994-10-31 2000-04-17 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 画像信号処理装置
JP3491366B2 (ja) * 1995-01-31 2004-01-26 ソニー株式会社 符号化データの特殊再生方法および特殊再生装置
JP3663661B2 (ja) * 1995-04-07 2005-06-22 ソニー株式会社 映像信号再生装置、映像信号復号化装置及び方法
JPH09282166A (ja) 1996-04-09 1997-10-31 Hitachi Ltd パイプライン演算装置
US6014706A (en) 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
US6201927B1 (en) 1997-02-18 2001-03-13 Mary Lafuze Comer Trick play reproduction of MPEG encoded signals
US6167083A (en) 1997-04-04 2000-12-26 Avid Technology, Inc. Computer system and process for capture editing and playback of motion video compressed using interframe and intraframe techniques
JP3510769B2 (ja) 1997-07-17 2004-03-29 三洋電機株式会社 誤り訂正装置および誤り訂正方法
US6247072B1 (en) 1998-01-27 2001-06-12 Cisco Technology, Inc. Real-time data rate matching across a medium
US6327421B1 (en) 1998-03-10 2001-12-04 International Business Machines Corporation Multiple speed fast forward/rewind compressed video delivery system
US6269117B1 (en) 1998-06-29 2001-07-31 Sony Corporation System and method for enhancing downsampling operations
WO2000025515A1 (en) * 1998-10-26 2000-05-04 Sony Electronics Inc. Management of trick playback of digital video data
US6654539B1 (en) * 1998-10-26 2003-11-25 Sony Corporation Trick playback of digital video data
JP4282201B2 (ja) 2000-03-06 2009-06-17 株式会社東芝 符号化データ記録装置
US7333711B2 (en) 2000-06-14 2008-02-19 Sony Corporation Data distribution apparatus and method, and data distribution system
JP2002010213A (ja) 2000-06-27 2002-01-11 Mitsubishi Electric Corp 符号化データの再生方法および符号化データの再生装置
US7706445B2 (en) * 2001-05-31 2010-04-27 Sanyo Electric Co., Ltd. Image processing employing picture type conversion
JP3515565B2 (ja) * 2001-05-31 2004-04-05 三洋電機株式会社 画像処理方法とこの方法を利用可能な画像処理装置およびテレビジョン受像機
US6738980B2 (en) * 2001-11-15 2004-05-18 Industrial Technology Research Institute Methods and systems for video streaming with VCR functionality
US7327784B2 (en) 2003-02-24 2008-02-05 Vixs Systems, Inc. Method and system for transcoding video data

Also Published As

Publication number Publication date
US20050257239A1 (en) 2005-11-17
JP2006025401A (ja) 2006-01-26
KR20060047952A (ko) 2006-05-18
US7627227B2 (en) 2009-12-01
EP1599048A2 (en) 2005-11-23

Similar Documents

Publication Publication Date Title
CN1725844A (zh) 数字媒体流的反向表示
CN1254111C (zh) 画面编码和解码装置及其方法
CN1186944C (zh) 图像编码器及其编码方法、图像译码器及其译码方法
CN1251518C (zh) 数字信号转换方法和数字信号转换装置
CN1190081C (zh) 发送和接收动态图像数据的方法及其设备
CN1926576A (zh) 用于数字编码3d立体视频图像的方法和系统
CN1719905A (zh) 编码装置、编码方法、编码方法程序及相应的记录媒体
CN1090455A (zh) 动态图象的编码/解码方法、装置及其存储介质
CN1277770A (zh) 数据发送控制方法、数据发送方法和设备以及接收设备
CN1943246A (zh) 图像解码方法
CN1090115A (zh) 图象信号编码方法和装置和图象信号解码方法和装置
CN100341318C (zh) 存储型接收装置
CN1767650A (zh) 用于在数字广播接收机中处理图像信号的设备和方法
CN1848941A (zh) 图像再现、处理装置和方法以及具有该装置的电视接收机
CN1756357A (zh) 信息处理设备以及其中使用的程序
CN1123231C (zh) 对编辑信息数据进行编码和解码的装置和方法
CN1231050C (zh) 图像再现、处理装置和方法以及具有该装置的电视接收机
CN1263420A (zh) 数字广播用录放装置及方法
CN1182727C (zh) 动图象译码方法,动图象译码装置
CN1102292A (zh) 图像信号编译码方法和装置及其记录媒体
CN1642277A (zh) 图像及信息处理的装置和方法、程序、记录媒体及系统
CN1722843A (zh) 数字信号转换方法
CN1941890A (zh) 发送和接收动态图像数据的方法及其设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20060125

C20 Patent right or utility model deemed to be abandoned or is abandoned