CN101107849B - 用于数字视频服务器的视频播放器 - Google Patents
用于数字视频服务器的视频播放器 Download PDFInfo
- Publication number
- CN101107849B CN101107849B CN2005800471244A CN200580047124A CN101107849B CN 101107849 B CN101107849 B CN 101107849B CN 2005800471244 A CN2005800471244 A CN 2005800471244A CN 200580047124 A CN200580047124 A CN 200580047124A CN 101107849 B CN101107849 B CN 101107849B
- Authority
- CN
- China
- Prior art keywords
- picture
- module
- video
- decoder
- input cache
- 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.)
- Expired - Fee Related
Links
- 239000000872 buffer Substances 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000001133 acceleration Effects 0.000 claims description 16
- 238000013500 data storage Methods 0.000 claims description 8
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 4
- 230000015654 memory Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 150000001875 compounds Chemical class 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000007799 cork Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/782—Television signal recording using magnetic recording on tape
- H04N5/783—Adaptations for reproducing at a rate different from the recording rate
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/005—Reproducing at a different information rate from the information rate of recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/781—Television signal recording using magnetic recording on disks or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/84—Television signal recording using optical recording
- H04N5/85—Television signal recording using optical recording on discs or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation 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/8042—Transformation 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)
- Databases & Information Systems (AREA)
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
一种以变化的回放速度播放数字视频的系统可以包括:获取器模块,配置用于从数据存储器中获取编码后的画面;以及分配器模块,配置用于从输入高速缓冲器中选择性地删除编码后的画面。该系统还可以包括解码器模块和输出高速缓存器模块。解码器模块可以对从输入高速缓存器中接收的画面进行解码。输出高速缓存器模块可以存储多个解码后的画面,并提供所选画面作为输出。在每个模块中,根据与每个画面相对应的优先级来处理各个画面。
Description
技术领域
本发明通常涉及一种与数字视频服务器和其它视频播放器使用的视频回放系统。
背景技术
传统地,常规数字视频系统缺乏足够的存储器对数字视频解码器输出处的多个未压缩视频帧进行缓冲。输出缓冲器容量的缺乏导致了将诸如数据获取、对如场(field)或帧(frame)的画面进行解码、以及显示帧之类的功能全部紧密集成、并调度以产生适合的视频回放质量。因此,视频回放系统设计中的基本驱动器已成为使正确画面或画面实时并以正确的显示顺序出现在解码器输出处所必需的。
可以相对轻松地在现代视频回放系统中实现具有规则回放速度(称为1x)的数字视频回放。然而,较难以实现可变速度回放,如,反向、慢动作、快进、快进并反向(梭动)、以及逐帧移动(微动)。视频回放系统需要更加复杂的事务来响应视频回放期间微动和/或梭动控制的实时用户操作。数字视频系统不但必须提供前述每个回放模式内的平滑回放,而且必须响应如经由视频回放系统的微动或梭动控制接收到的那些用户请求,从一个模式平滑转换至另一模式。
例如,产生慢动作效果的一种方法是通过在解码器的输出处与解码同步执行的场内插实现的。该技术可能难于以响应微动或梭动控制的方式来实现。响应微动和梭动控制的另一情况可能具有与用于双轨电影中的效果有关的问题。典型地,双轨电影包括诸如两个或多个视频轨道之间的衰落或转换之类的效果。产生这种效果的同时以响应微动和/或梭动控制的方式回放视频是非常困难的。
如果数字视频系统是要播放长画面组(GOP)格式的视频,则甚 至更加难以提供良好的性能。长GOP指视频压缩格式(如MPEG-2长GOP)、或者使用帧间的前向和/或后向运动预测的任何其它视频解码过程。许多这种视频解码器的共同缺陷在于,在系统对诸如梭动速度中的改变之类的干扰起反应时,回放暂停并重复帧。
另一示例是反向长GOP格式视频的播放。由于传统解码器仅对帧中的一些进行解码,所以反向播放长GOP尤其麻烦。在输出处,按照所需要填充的来重复这些帧。根据在对有关的P和B帧解码之前对I和P(“锚定(anchor)”)进行解码的需要,产生了奇偶校验解码。此外,大多数解码器芯片仅在GOP内进行前向解码,导致了在改变回放速度时诸如跳跃或不平稳回放和暂停之类的可见人为现象(artifact)。
尽管该列举并不意欲具有全面性,但是它示出了在各种回放模式中提供平滑和响应视频回放所涉及到的复杂情况。然而,当编辑视频时,具有对于梭动和微动控制的快速、平滑、精确的响应尤其重要。这会显著地影响视频编辑器例如定位电影剪辑中的线索点(这通常是重复的视频编辑任务)所需的时间量。以上描述的问题示出了传统地,在视频编辑系统中避免长GOP的原因。
过去的设计在解码之前从盘中读取画面。该画面在被解码和显示之前,缓冲于存储器一段时间。尽管这提供了获取和解码之间的某种程度的独立性,但是当改变回放速率时,系统需要从盘中获取不同的画面。必须将不同的画面存储于释放存储器中。数字视频系统必须确定要从输入缓冲器中释放或移除哪些画面。视频回放系统的操作通常是前端驱动并且实时调度的。
因此,需要一种数字视频回放系统,提供了对于整个视频解码过程中加载、处理并提供的画面的增强的控制。
发明内容
本发明涉及一种处理数字视频的系统。本发明的一方面是以变化的回放速度播放数字视频的系统。该系统可以包括获取器模块、分配器模块、解码器模块和输出高速缓存模块。获取器模块可以配置用于 从数据存储器中获取编码后的画面。分配器模块可以配置用于将所获取的编码后的画面添加至输入高速缓存器,并从输入高速缓冲器中选择性地删除编码后的画面。解码器模块可以对从输入高速缓存器中接收的画面进行解码。输出高速缓存器模块可以存储多个解码后的画面,并提供所选画面作为输出。在上述每个模块中,可以根据与每个画面相对应的优先级来处理各个画面。
在一个实施例中,优先级可以指示视频时间线内画面的位置和目标点之间的距离。目标点可以规定取决于视频回放位置、速率和/或加速度中的至少一个的、视频时间线内的目标位置。视频回放系统中的每个模块可以利用视频时间线内的不同目标点。可以通过将视频回放速率和视频回放加速度乘以至少一个调谐系数,并将其结果与视频时间线中的当前位置求和,来确定目标点。
获取器可以从数据存储器中获取具有最高优先级的编码后的画面。系统还可以包括上层控制层,用于将视频回放加速度限制为预定最大加速度。还可以包括输入高速缓存器,用于在解码器解码之前,存储从数据存储器中获取的编码后的画面。在一方面,分配器可以仅在输入高速缓存器不具有用于存储从数据存储器中新近获取的画面的可用空间时进行操作。
在一个实施例中,解码器模块可以包括至少两个解码器。在另一实施例中,解码器模块可以包括至少一个解码器和至少一个画面先进先出标签(FIFO)。每个解码器可以与画面FIFO相对应。解码器模块可以对输入高速缓存器中的编码后的画面进行评估,并从输入高速缓存器中选择至少一个画面用于解码。所选择的画面具有基于与解码器模块相对应的目标点的最高优先级。
输出高速缓存器模块可以包括写入控制器,配置用于以较高优先级画面来覆写最低优先级画面。输出高速缓存器模块可以包括多个输出高速缓存缓冲器。因此,写入控制器可以在写入每个解码后的画面之前,从多个输出高速缓存缓冲器中选择输出高速缓存缓冲器之一。
输出高速缓存器模块还可以包括读取控制器,配置用于从多个输出高速缓存器中选择最靠近视频时间线内当前位置的至少一个场,用于在每个场时间内进行显示。读取控制器FIFO还可以包括在输出高速缓存器模块中。读取控制器FIFO可以对用于读取控制器的位置命令延迟可调整的量。
附图说明
参照附图,以下将对本发明的优选实施例进行更加详细地描述:
图1是示出了根据本发明实施例的数字视频回放系统的示意图;以及
图2是示出了根据本发明另一实施例的用于回放数字视频的方法的流程图。
具体实施方式
本发明提供了一种用于数字视频服务器和其它视频播放器的数字视频回放系统。不依据前端驱动、实时调度结构,本发明允许数字视频回放系统内的每个模块对将要处理哪些画面或对哪些画面起作用进行调度或选择。根据这里所公开的本发明的设置,视频回放系统的每个模块可以根据优先级方案,确定在任何给定时间处的画面处理优先级。
如这里所使用的,时间线指视频回放系统正在播放的画面或电影的时间顺序序列。电影可以包括一个或多个独立的视频文件和/或可以组合为较大的复杂电影的画面。因此,必须以要播放的特定顺序来播放视频文件和/或画面。如这里所使用的,画面可以指视频场和/或视频帧。
图1是示出了根据本发明一个实施例的数字视频回放系统100的示意图。视频回放系统100可以对数字视频内容进行解码和播放。如图所示,视频回放系统100包括文件系统接口105、获取器模块175、分配器模块180、输入高速缓存器185、解码器模块110、以及输出高速缓存器模块115.可以使用诸如现场可编程门阵列(FPGA)之类的集成电路(IC)的存储器、控制器、处理器、离散组件、在主机处理器或控制器内执行的适合的软件或计算机程序、或以上的任意 组合。
视频回放系统100还可以包括海量存储器120。海量存储器120可以是磁硬盘驱动、光盘、存储器等。模块105-115,175-185和海量存储器120可以经由通信总线或所示其它适合的电路互连。在任何情况下,获取器模块175、分配器模块180、解码器模块110和输出高速缓存器模块115的每个均可以独立操作以基于优先级方案来选择要处理的特定画面。在一个实施例中,优先级方案可以基于目标点,这将进一步描述。
还包括了上层控制层125。可以将上层控制层125实现为中央处理器和/或信令系统。这样,上层控制层125将每个模块初始化,并例如通过向视频回放系统100的相应模块中的每个提供定时信息,管理数字视频回放的整个开始和停止。因此,上层控制层125可以提供与数字视频流内的每个画面有关的位置130。根据位置信息130,微分器135可以确定与数字视频流有关的速率140和加速度145。可以通过从当前画面的位置中减去先前画面的位置来确定速率140。可以通过从当前画面的速率中减去先前画面的速率来确定加速度145。
在一个实施例中,上层控制层125可以向获取器模块175、分配器模块180、解码器模块110和输出高速缓存器模块115中的每个提供位置130、速率140、和/或加速度145信息。每个单独的模块均可以计算它的目标点。在另一实施例中,每个模块可以具有来自上层控制层125的,目标点。在任何情况下,在任何时间点处由每个模块所使用的目标点可以与其它模块所使用的那些目标点不同。这种信息可以随着每个模块将对数字视频时间线内的不同画面进行处理而从一个模块改变至下一模块。
为每个模块所确定的速度和加速度信息可以乘以一个或多个调谐系数。速率和加速度可以乘以不同的调谐系数。此外,不同的调谐系数可以用于每个模块,以考虑视频处理链中每个相应模块的位置。一旦速率和加速度信息乘以了预定调谐系数,便可以将结果添加至数字视频时间线内的当前位置,这可以从一个模块改变至下一模块。其 结果是沿移动方向在视频时间线内当前位置之前的目标点。因此,在实时的给定时间点处,例如,获取器模块175的目标点将比解码器模块110的目标点在数字视频时间线上更靠前。
A&B轨道信息155指示在时间线内的给定位置处是否存在一个或两个轨道的视频。A&B轨道信息155还指示哪些视频文件与这些轨道以及由A/B混合百分比150所反映的两个轨道之间的混合百分比相对应。
在存在两个或多个轨道的视频的情况下,A/B混合百分比150指示要在视频回放系统100的输出处播放、或者要驱动诸如特定类型的擦除效果之类的“混合效果”的每个轨道的百分比。这种信息指示如何处理从一个轨道至另一轨道的转换。上层控制层125还提供了使获取器模块175、分配器模块180、解码器模块110和输出高速缓存器模块115执行的垂直中断160。每个模块可以每个中断执行一次,以对至少一个画面进行处理。
上层控制层125的另一功能是创建和管理一个或多个画面列表165。画面列表165是当前存储在输入或输出高速缓存器或系统一些部件的过程中的画面列表。每个画面可以与画面列表内的软件对象170相关联。软件对象170(可以称为标签)规定了可以包括但不限于数字视频时间线内的画面位置的信息、与画面相对应的轨道、视频回放系统100内画面的当前位置、文件画面位置、编码类型(即,I、P、B、DV等)、发散/聚集列表等。尽管示出了一个标签,但是每个画面均可以与自己的标签相关联。
在一个实施例中,可以在整个视频回放系统100上使用单个画面列表165。该画面列表165可以存储于可由视频回放系统100的每个模块访问的存储器中。然而,在另一实施例中,每个模块可以包括和/或保持自己的画面列表。
上层控制层125或另一控制处理器可以实施总体上与系统100有关的加速度限制。这种限制提供了更加平滑的视频回放,使得对于用户来说更为简单地理解用户位于视频时间线的哪里。例如,可以实施±5X/秒或5帧每秒平方。这等效于防止速率每画面增加或减少多于5 个画面。例如,在读取梭进速度控制按钮的上下文中,这种功能可以实现为软件特征。
文件系统接口105用作海量存储器120的中间物。这样,文件系统接口105可以配置用于读取存储于海量存储器105中的特定格式的数据,并进一步将这种数据传送至获取器模块175。获取器模块175配置用于通过文件系统接口105来获取在海量存储器120内存储的编码后的画面。获取器模块175读取海量存储器120,并选择还未载入输入高速缓存器185内的最高优先级画面。画面的优先级指对与数字视频时间线内的时间点有关的画面的逼近。如可以在解码过程期间要求的,视频回放系统100内的每个模块可以确定一个或多个画面的优先级信息。由于每个画面占据了数字视频时间线内的特定位置,所以可以确定来自预定模块(在本例中是获取器模块175)目标点的该画面的距离。画面与目标点之间的距离越小,画面的优先级越高。
在获取器模块175内,预测器192执行预测算法。该算法取决于根据上层控制层125确定的当前的回放速率140和目标点。因此,预测器192选择一组理想画面,即从海量存储器120中获取的一组高优先级画面。
分配器模块180在获取器模块175需要获取一个或多个较高优先级画面的情况下,释放或重新使用由最低优先级画面所占据的输入高速缓存器185的存储器。例如,分配器模块180可以在输入高速缓存器185对于新近获取的画面不具有足够的存储器空间时进行操作。分配器模块180可以从输入高速缓存器185中删除画面、覆写画面等。可以使用从输入高速缓存器185中释放存储器的任何技术。在获取器模块175从海量存储器120中获取画面之后,分配器模块180将那些画面放置在输入高速缓存器185中。输入高速缓存器185在解码器模块110解码之前存储编码后的或压缩后的画面。
解码器模块110可以包括解码器190和画面FIFO 195。在一个实施例中,解码器190可以包括允许解码器190来执行一般的视频解码功能的操作软件。例如,软件可以指示解码器190开始解码、停止解码、以及执行重置。然而,解码器190还可以实现 为在处理器内执行的基于软件的解码器而非专用的基于硬件的解码器。
在任何情况下,结合解码器190工作的软件可以配置或重新配置解码器190用于对特定视频格式和/或介质类型进行解码。在没有可用于解码的视频数据或画面时,软件还可以项解码器190馈入空白画面。空白画面指标记用于在输出高速缓存器模块115处删除、以及这样便不会播放的画面。可以将这种画面示为意欲保持占有解码器190的填充画面。画面FIFO 195将诸如表示过程中画面的标签之类的信息存储在实际解码器190中。画面FIFO 195在解码器190的输出处正确地识别画面。
在一个实施例中,如图1所示,解码器190可以包括两个解码器和两个信道(以下共称为“解码器”),用于容纳双视频流。这样,尽管这两个解码器均可以对相同类型的数字视频进行解码,但是每个解码器还可以配置用于对各种不同的数字视频进行解码。然而,应当理解,可以包括多于两个解码器。每个解码器可以与它自己的画面标签FIFO相关联,以识别该解码器的输出。然而,本发明可以应用于单流和/或多流解码器,包括操作比实时更快的解码器。
解码器190仅对从海量存储器120中读取、以及存储于输入高速缓存器185内的画面进行处理。解码器模块110通常选择位于输入高速缓存器185内、不在输出高速缓存器模块115、或在解码器190内解码的两个最高优先级画面。在使用多于一个解码器,即来处理多于一个数字视频流的情况下,将每个画面提供给特定解码器,以容纳与视频数据格式化有关的限制,如视频流是否是MPEG流、数字视频(DV)、和/或GOP格式。因此,解码器模块110编程以在处理长GOP格式的相关画面之前,做出支持GOP(GOP-aware)的决策以满足所需的锚定帧。
对于长画面组(GOP)格式,获取器模块175和解码器模块110可以如所需地做出支持GOP的决策。这种机制可以确保在诸如MPEGP和B编码画面之类的相关画面之前获取诸如MPEG I和P编码画面之类的锚定帧。
输出高速缓存器模块115可以包括写入控制器200、多个输出高 速缓存缓冲器205、读取控制器210、以及可调整FIFO 215。写入控制器200选择解码器190输出所至的多个输出高速缓存缓冲器(如果有)中的哪一个将写入解码后的画面。写入控制器200利用较高优先级画面来丢弃即覆写最低优先级画面。输出高速缓存缓冲器205是临时存储由解码器190所写入的未压缩画面的存储器。输出高速缓存缓存器205的个数可以根据设计偏好而改变,以及该个数不需要与所处理的视频流个数联系或相关。
读取控制器210分析输出高速缓存缓冲器205的内容,并选择与视频时间线内的当前位置相比最近的画面。例如,读取控制器210可以选择两个场以在每个场时间内在A和B输出上显示。
可调整FIFO 215对从上层控制层125至读取控制器210的位置命令进行延时。延时功能可以向系统100提供更多的时间来将所需画面提供为视频输出。可以调整可调整FIFO 215来提供延时的改变量,从而允许视频回放系统100进行调整以获得更好的性能。然而,在一个实施例中,可以将设可调整FIFO 215为零延时,或者从系统100中将它排除。
尽管已将可调整FIFO 215描述为输出高速缓存器模块115的部件,但是在另一实施例中,可调整FIFO 215可以并入上层控制层125。因此,本发明并不受此限制。
图2是示出了根据本发明另一实施例的用于回放数字视频的方法300的流程图。方法300可以在步骤305中开始,在步骤305,获取器模块175获得指示视频时间线内的当前位置的目标点。应注意,对于根据用于改变或变化视频时间线内位置的用户控制进行解释的速率和加速度,目标点是正确的。
在步骤310,分配器模块180确定输入高速缓存器是否具有足够的空间来存储所获取的画面。如果有,则方法可以进行至步骤320。如果没有,则在步骤315中,分配器模块180从输入高速缓存器中移除、覆写或删除一个或多个画面,以留下足够的空间来存储所请求或所获取的画面。分配器模块180可选择地移除具有比所获取的画面低的优先级的画面。然而,分配器模块180可以确定先前存储的画面具有较高优先级,并拒绝为新画面提供空间,因而在那时临时暂停获取。为了增加输入高速缓存器内可用的空间量,典型地,在编码期间对这里所存储的画面进行压缩。即,仍对存储于输入高速缓存器中的画面进行编码,从而节省了存储器空间。
在一个实施例中,分配器模块180可以去除在存储于输入高速缓存器内的所有画面中具有最低优先级的画面。分配器模块180还可以获取目标点,目标点可以用于评估要从输入高速缓存器中移除哪些画面。
使用目标点和预测器192,获取器模块175在步骤320中,从海量存储器中获取一个或多个画面。预测器192可以计算用于允许获取器模块175选择和获取适合画面的画面优先级信息。可以选择具有最高优先级的画面,即基于视频时间线内画面的位置而最靠近目标点的那些画面。获取器模块175可以访问画面列表以确定已经从海量存储器中获取了哪些画面、以及哪些画面位于输入高速缓存器内。应注意,获取器模块175可以作出GOP获知决策(GOP-aware decision)。因此,如果相关画面比相应的锚定画面更加靠近于目标点,则获取器模块175可以在相关画面之前选择锚定画面以正确地对画面进行解码。
在步骤325,获取器模块175可以更新在所获取画面的标签内所规定的信息。即,获取器模块175可以设置指示了所获取的画面现在、或很快要位于输入高速缓存器内的位置标记。在步骤330,将所获取的画面存储于输入高速缓存器内。
在步骤335,解码器模块110获取目标点。在步骤340,解码器模块110从输入高速缓存器选择一个或多个画面。从输入高速缓存器中选择的画面可以是具有由解码器模块110使用视频时间线内画面的目标点和位置来计算的最高优先级的画面。在步骤345,将所选画面载入解码器模块110、或者由解码器模块110来处理。在步骤350,解码器模块110对与所加载的画面相对应的标签,以指示画面当前位于解码器内。可以由画面标签FIFO来指示从解码器输出可用的画面。
在步骤355,解码器190可以将解码后的画面写入由写入控制器200选择的输出高速缓存缓冲器。应注意,写入控制器200选择解码 后的画面要写入哪个输出高速缓存缓冲器。在可以解码多于一个视频流的情况下,将来自第一流的解码后的画面存储于为该帧或画面所选的输出高速缓存缓冲器内。将与第二流相对应的解码后的画面存储于为该帧所选的输出高速缓存缓冲器内,依此类推。因此,将画面以解码后或未压缩的格式存储于输出高速缓存缓冲器内。
写入控制器200可以覆写和/或丢弃较低优先级画面以为较高优先级画面腾出空间。为了做出该确定,写入控制器200可以获取目标点,并将该目标点与视频时间线内的画面位置进行比较。因此,写入控制器200可以计算要用于将画面写入输出高速缓存缓冲器的优先级信息。写入控制器200还可以决定不覆写任何存储画面,并作为替代来丢弃任何特定解码器流的输出。
在步骤360,读取控制器200选择与视频时间线内的当前位置相关的最近的画面或场以用于显示。因此,如果读取控制器200对两个视频流进行解码,则读取控制器200可以选择四个场,每个视频流两个。在双流解码器的情况下,在输出A和B上提供所选画面。混合百分比信号指示要显示或呈现的每个数据流的百分比。
对于隔行视频输出格式,为第一视频场时间内的视频输出所选的源缓冲器可以与在第二输出场时间内使用的源缓冲器不同。这在结合这里所示出的双流解码器结构来高速播放视频时尤其有用。在这种情况下,可以从单个轨道中每秒解码60个全帧,以及读取控制器200可以从这些帧的每个中选出一个场。这导致了利用传统设计的大约两倍平滑的回放。
这里所公开的本发明的设置利用了使用优先级来驱动画面选择、以及不是前端驱动解码而是实时调度解码的系统。可以根据视频时间线内画面与目标点的距离来确定其特性,其中,目标点是为速率和加速度调整的视频时间线内的当前位置。还利用了与未压缩高速缓存器结合的后端选择过程。因此,视频回放结构使解码器不必严格的实时工作。例如,这允许了GOP中的前向解码(如解码硬件所需的),同时反向播放。此外,可以隐藏海量存储器和解码机制的时延是基于硬件还是基于软件,从而允许对于用户控制的快速响应。本发明利用了 典型的双解码器硬件的解码器来实现对于单个轨道的高速梭进回放的解码的改善。
本发明可以以硬件、软件或硬件和软件的组合来实现。本发明可以以一个计算机系统内的集中化方式、或者在不同元件在多个互连计算机系统上分布的情况下以分布式方式实现。任何种类的计算机系统或适于执行这里所描述的方法的其它设备都是合适的。硬件和软件的典型组合可以是具有计算机程序的通用计算机系统,在载入并执行该计算机程序时,控制计算机系统,从而使它可以执行这里所描述的方法。
本发明的方面还可以具体化为计算机程序产品,这包括使这里所描述的方法能够实现的所有特征,以及在将该计算机程序产品载入计算机系统中时,能够执行这些方法。在本上下文中的计算机程序表示以意欲使具有信息处理能力的系统直接或在以下的任一或全部之后执行特定功能任何语言、代码或符号的任何表达:a)转换为另一语言、代码或符号;b)以不同介质材料的形式再现。
本发明在不偏离其精神和实质属性的情况下可以具体化为其它形式。因此,应当以指示了本发明范围的权利要求作为参考,而不是以说明书作为参考。
Claims (17)
1.一种以可变回放速度播放数字视频的系统,所述系统包括:
获取器模块,配置用于从数据存储器中获取编码后的画面;
分配器模块,配置用于将所获取的编码后的画面有选择地添加至输入高速缓存器,并从输入高速缓存器中有选择地删除编码后的画面;
解码器模块,配置用于对从所述输入高速缓存器中接收的画面进行解码;以及
输出高速缓存器模块,配置用于存储多个解码后的画面,并提供所选画面作为输出;
其中,在每个所述模块中,根据与每个画面相对应的优先级来处理各个画面,所述优先级指示画面在视频时间线内的位置到目标点之间的距离。
2.如权利要求1所述的系统,其中,所述目标点规定了取决于视频回放位置、速率和加速度这三者中的至少一个的、视频时间线内的目标位置。
3.如权利要求2所述的系统,其中,每个所述模块利用了视频时间线内的不同目标点。
4.如权利要求1所述的系统,其中,所述获取器从数据存储器中获取具有最高优先级的编码后的画面。
5.如权利要求1所述的系统,还包括上层控制层,配置用于将视频回放加速度限制为预定最大加速度。
6.如权利要求1所述的系统,还包括输入高速缓存器,配置用于在所述解码器模块解码之前,存储从数据存储器中获取的编码后的画面。
7.如权利要求6所述的系统,其中,所述分配器仅在所述输入高速缓存器不具有用于存储从数据存储器中新近获取的画面的可用空间时进行操作。
8.如权利要求1所述的系统,其中,所述解码器模块包括至少两个解码器。
9.如权利要求1所述的系统,其中,所述解码器模块包括至少一个解码器和与所述至少一个解码器相对应的至少一个画面先进先出标签(FIFO)。
10.如权利要求1所述的系统,其中,所述解码器模块对所述输入高速缓存器中的编码后的画面进行评估,并从所述输入高速缓存器中选择至少一个画面用于解码,其中,所选择的至少一个画面具有基于与所述解码器模块相对应的目标点的最高优先级。
11.如权利要求1所述的系统,其中,所述输出高速缓存器模块还包括写入控制器,配置用于以较高优先级画面来覆写最低优先级画面。
12.如权利要求11所述的系统,其中,所述输出高速缓存器模块包括多个输出高速缓存缓冲器,所述写入控制器在写入每个解码后的画面之前,从所述多个输出高速缓存缓冲器中选择所述输出高速缓存缓冲器之一。
13.如权利要求12所述的系统,其中,所述输出高速缓存器模块还包括读取控制器,配置用于从所述多个输出高速缓存缓冲器中选择最靠近视频时间线内当前位置的至少一个场,用于在每个场时间内进行显示。
14.如权利要求13所述的系统,其中,所述输出高速缓存器模块还包括读取控制器先进先出(FIFO),配置用于将用于所述读取控制器的位置命令延时可调整量。
15.一种以可变回放速度播放数字视频的方法,所述方法包括步骤:
确定视频时间线内的目标点;
传递至少一个编码后的画面,用于在输入高速缓存器内存储;
根据目标点,从输入高速缓存器中选择至少一个画面;
对所述至少一个所选画面进行解码;
将解码后的画面写入输出高速缓存器;以及
从输出高速缓存器中读取最靠近视频时间线内的当前位置的至少一个画面。
16.如权利要求15所述的方法,还包括从输入高速缓存器中选择性地删除编码后的画面的步骤。
17.如权利要求15所述的方法,其中,所述选择步骤还包括步骤:
对所述输入高速缓存器中的编码后的画面进行评估;以及
从所述输入高速缓存器中选择至少一个画面用于解码,其中,所选择的至少一个画面具有基于解码目标点的最高优先级。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2005/003041 WO2006080925A1 (en) | 2005-01-27 | 2005-01-27 | Video player for digital video server |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101107849A CN101107849A (zh) | 2008-01-16 |
CN101107849B true CN101107849B (zh) | 2010-12-29 |
Family
ID=34978658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800471244A Expired - Fee Related CN101107849B (zh) | 2005-01-27 | 2005-01-27 | 用于数字视频服务器的视频播放器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8315509B2 (zh) |
EP (1) | EP1842368B1 (zh) |
JP (1) | JP2008529405A (zh) |
CN (1) | CN101107849B (zh) |
CA (1) | CA2594887C (zh) |
WO (1) | WO2006080925A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4901389B2 (ja) * | 2006-09-20 | 2012-03-21 | 株式会社東芝 | ビデオサーバ及び素材出力方法 |
JP4901390B2 (ja) * | 2006-09-20 | 2012-03-21 | 株式会社東芝 | ビデオサーバ及び素材出力方法 |
US8256005B2 (en) * | 2007-01-08 | 2012-08-28 | Apple Inc. | Protection of audio or video data in a playback device |
WO2016203539A1 (ja) * | 2015-06-16 | 2016-12-22 | 三菱電機株式会社 | 画像符号化方式変換装置及び画像符号化方式変換方法 |
US20180069909A1 (en) * | 2016-09-08 | 2018-03-08 | Sonic Ip, Inc. | Systems and Methods for Adaptive Buffering for Digital Video Streaming |
CN114830678A (zh) * | 2020-07-22 | 2022-07-29 | 谷歌有限责任公司 | 自适应音频回放速度的蓝牙耳机 |
AU2021201595B1 (en) * | 2021-03-12 | 2022-03-31 | The Cawthron Institute Trust Board | Improved method of producing oysters |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154603A (en) * | 1997-02-18 | 2000-11-28 | Thomson Licensing S.A. | Picture decoding for trick mode operation |
JP2004153630A (ja) * | 2002-10-31 | 2004-05-27 | Sanyo Electric Co Ltd | デジタル記録再生装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2145363C (en) * | 1994-03-24 | 1999-07-13 | Anthony Mark Jones | Ram interface |
US5884323A (en) * | 1995-10-13 | 1999-03-16 | 3Com Corporation | Extendible method and apparatus for synchronizing files on two different computer systems |
JPH09186966A (ja) | 1995-12-25 | 1997-07-15 | Texas Instr Inc <Ti> | ビデオ再生方法及び再生システム |
KR100188701B1 (ko) | 1996-01-08 | 1999-06-01 | 윤종용 | 가변속 고속 재생기능을 갖는 가변 비트율 동화상복호화장치 |
US6012137A (en) | 1997-05-30 | 2000-01-04 | Sony Corporation | Special purpose processor for digital audio/video decoding |
IT1297984B1 (it) * | 1997-09-30 | 1999-12-20 | Veloservice S R L | Stazione automatica di servizio per telefonia cellulare |
DE19813784A1 (de) | 1998-03-27 | 1999-09-30 | Nokia Deutschland Gmbh | Verfahren zum Erhöhen der Speicherkapazität für Serviceinformation in einem Empfänger für digitale TV-Sendungen |
JP3093724B2 (ja) * | 1998-04-27 | 2000-10-03 | 日本電気アイシーマイコンシステム株式会社 | 動画像データ再生装置及び動画像データの逆再生方法 |
US6542693B2 (en) | 1998-05-29 | 2003-04-01 | Lucent Technologies Inc. | Digital video playback with trick play features |
US6243140B1 (en) | 1998-08-24 | 2001-06-05 | Hitachi America, Ltd | Methods and apparatus for reducing the amount of buffer memory required for decoding MPEG data and for performing scan conversion |
US6470051B1 (en) | 1999-01-25 | 2002-10-22 | International Business Machines Corporation | MPEG video decoder with integrated scaling and display functions |
WO2000049617A1 (en) * | 1999-02-17 | 2000-08-24 | Matsushita Electric Industrial Co., Ltd. | Information recording medium, apparatus and method for performing after-recording on the recording medium |
US6658056B1 (en) * | 1999-03-30 | 2003-12-02 | Sony Corporation | Digital video decoding, buffering and frame-rate converting method and apparatus |
JP2000341696A (ja) | 1999-05-28 | 2000-12-08 | Nec Microcomputer Technology Ltd | 画像復号化装置およびその方法 |
JP2003046960A (ja) | 2001-08-03 | 2003-02-14 | Sony Corp | 再生装置および方法、記録媒体、並びにプログラム |
JP4610195B2 (ja) | 2001-12-17 | 2011-01-12 | マイクロソフト コーポレーション | スキップマクロブロックコード化 |
KR20030057690A (ko) | 2001-12-29 | 2003-07-07 | 엘지전자 주식회사 | 비디오 디코딩 시스템 |
US7729421B2 (en) | 2002-02-20 | 2010-06-01 | International Business Machines Corporation | Low latency video decoder with high-quality, variable scaling and minimal frame buffer memory |
JP2003339019A (ja) * | 2002-05-20 | 2003-11-28 | Mitsubishi Electric Corp | 記録再生装置および記録再生方法 |
KR100447200B1 (ko) | 2002-07-30 | 2004-09-04 | 엘지전자 주식회사 | Pvr 지원 비디오 디코딩 시스템 |
US7116828B2 (en) | 2002-09-25 | 2006-10-03 | Lsi Logic Corporation | Integrated video decoding system with spatial/temporal video processing |
JP4078545B2 (ja) * | 2003-04-04 | 2008-04-23 | ソニー株式会社 | 再生装置および方法、記録媒体、並びにプログラム |
JP2004350152A (ja) * | 2003-05-23 | 2004-12-09 | Matsushita Electric Ind Co Ltd | 映像再生装置および映像再生方法 |
-
2005
- 2005-01-27 CA CA2594887A patent/CA2594887C/en not_active Expired - Fee Related
- 2005-01-27 JP JP2007553075A patent/JP2008529405A/ja active Pending
- 2005-01-27 EP EP05712474.5A patent/EP1842368B1/en not_active Expired - Fee Related
- 2005-01-27 US US11/883,147 patent/US8315509B2/en active Active
- 2005-01-27 WO PCT/US2005/003041 patent/WO2006080925A1/en active Application Filing
- 2005-01-27 CN CN2005800471244A patent/CN101107849B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154603A (en) * | 1997-02-18 | 2000-11-28 | Thomson Licensing S.A. | Picture decoding for trick mode operation |
JP2004153630A (ja) * | 2002-10-31 | 2004-05-27 | Sanyo Electric Co Ltd | デジタル記録再生装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1842368B1 (en) | 2017-10-18 |
CN101107849A (zh) | 2008-01-16 |
CA2594887C (en) | 2013-07-09 |
US8315509B2 (en) | 2012-11-20 |
EP1842368A1 (en) | 2007-10-10 |
JP2008529405A (ja) | 2008-07-31 |
CA2594887A1 (en) | 2006-08-03 |
US20080247728A1 (en) | 2008-10-09 |
WO2006080925A1 (en) | 2006-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101107849B (zh) | 用于数字视频服务器的视频播放器 | |
JP4867235B2 (ja) | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム | |
CN1147151C (zh) | 在反转重放操作中重放编码数据的重放方法和装置 | |
JP4375305B2 (ja) | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム | |
CN100508585C (zh) | 用于控制数字视频比特流逆向播放的装置和方法 | |
US8437408B2 (en) | Decoding with reference image stored in image memory for random playback | |
EP0700220B1 (en) | Reproduction of data | |
US6009231A (en) | Reproduction of information using a ring buffer with read and write pointers separated from each other by substantially half of the total ring buffer capacity | |
US9531983B2 (en) | Decoding interdependent frames of a video for display | |
CN106303379B (zh) | 一种视频文件逆序播放方法及系统 | |
US6414972B1 (en) | Signal decoding method, signal decoding apparatus, signal multiplexing method, signal multiplexing apparatus, and recording medium | |
JP2000513898A (ja) | ビデオ画像を記録し及び再生する方法及び装置 | |
KR100950540B1 (ko) | 사용자 선택가능한 가변 트릭 모드 속도 | |
US7433288B2 (en) | Recording device and method, recording medium and program | |
JP3344607B2 (ja) | 光ディスク、再生装置および再生方法 | |
JP2006270405A (ja) | 映像処理装置,映像処理方法,およびコンピュータプログラム | |
US20050002645A1 (en) | Reproducing device and method, recording medium and program | |
US8149679B2 (en) | Recording/reproducing device and method, recording medium, and program | |
JP5110791B2 (ja) | 映像処理装置及びコンピュータプログラム | |
AU711638B2 (en) | Data reproducing method and data reproducing apparatus | |
JPH0946640A (ja) | 画像データの蓄積方法 | |
JP4730593B2 (ja) | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム | |
JP2001069464A (ja) | 映像信号再生装置 | |
JP2006157869A (ja) | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム | |
JPH06292187A (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: 20101229 Termination date: 20180127 |
|
CF01 | Termination of patent right due to non-payment of annual fee |