通过独立解码器时钟来减少媒体流延迟的系统和方法

文档序号:7941730阅读:402来源:国知局
专利名称:通过独立解码器时钟来减少媒体流延迟的系统和方法
技术领域
本公开涉及数字媒体传送,并更具体地,涉及减少媒体流延迟的系统和方法。
背景技术
现今,越来越多的消费者在其家中具有对因特网的高速或宽带连接。这些宽带连 接所提供的增加的带宽允许向用户居住地(例如,家庭消费者)传送数字电视、视频以及多 媒体服务。这些服务以媒体流的形式在网络上传输。在用户居住地,数字媒体接收机对一 个或多个媒体流解码。数字媒体接收机还生成用于由电视或监控器显示的图像信号。切换 至不同的媒体流将导致在新的流可被解码和显示前的有限量延迟。一定量的延迟对于数字 流是不可避免的,但是消费者更偏好相对较少的延迟。


通过参考下列附图可更好地理解本公开的多个方面。附图中的组件并不一定按比 例绘制。重点放在清晰阐释本公开的原则。图1是用于同步媒体流的系统和方法的一个实施例所在环境的框图。图2是示出在图1中的数字媒体接收机的音频和视频帧接收和处理的框图。图3是图1中的数字媒体接收机中的所选组件的框图。图4A到4D示出了在不同时间点图3中的视频和音频解码器的内容,并示出了在 图3中的ASTC和VSTC响应于缓冲器中多个帧的到达如何被调整。图5示出了在由图1中的数字媒体接收机中的两个不同解码器时钟所导致的播出 行为。图6是示出了在图1中的独立解码器时钟产生逻辑的状态图。图7是图1中的数字媒体接收机的一个实施例的框图。
具体实施例方式鍵这里公开的实施例提供了减少节目流中的视频延迟的系统、设备和方法的实施 例,该节目流包括视频和音频流。一个这样的实施例是一种方法,该方法包括基于作为音 频流中的第一可解码帧的帧的呈现时间戳(presentation timestamp)将音频参考时钟设 置为初始值;基于作为视频流中的第一可解码帧的帧的呈现时间戳将视频参考时钟设置为 初始值;响应于最小缓冲器填充延迟和作为视频流中第一完整可解码帧的帧的接收中的较晚者(later),启动音频和视频参考时钟;根据音频参考时钟对音频流解码;以及根据视频 参考时钟对视频流解码。一个这样的数字媒体回放设备包括音频参考时钟,被配置用于存储音频流中的 接收帧的音频解码器缓冲器;被配置用于基于每个帧的时间戳与音频参考时钟当前值的对 比来对音频解码器缓冲器中的帧解码的音频解码器;视频参考时钟;被配置用于存储视频 流中的接收帧的视频解码器缓冲器,视频流和音频流组成一个节目流;被配置用于基于每 个帧的时间戳与视频参考时钟的当前值的对比来对视频解码器缓冲器中的帧解码的视频 解码器;独立解码器时钟产生逻辑。独立解码时钟产生逻辑被配置用于基于作为音频流 中的第一可解码帧的帧的呈现时间戳将音频参考时钟设置为初始值;基于作为视频流中的 第一可解码帧的帧的呈现时间戳将视频参考时钟设置为初始值;响应于最小缓冲器填充延 迟和作为视频流中第一完整可解码帧的帧的接收中的较晚者,启动音频和视频参考时钟。另一个这样的数字媒体回放设备包括用于生成音频参考时钟的装置;用于缓冲 接收的音频流中的帧的装置;用于根据音频参考时钟对音频解码器缓冲器中的帧解码的装 置;用于生成视频参考时钟的装置;用于缓冲接收的视频流中的帧的装置,视频流和音频 流组成一个节目流;用于根据视频参考时钟对视频解码器缓冲器中的帧解码的装置;用于 基于作为音频流中的第一可解码帧的帧的接收设置音频参考时钟的初始值的装置;用于基 于作为视频流中的第一可解码帧的帧的接收设置视频参考时钟的初始值的装置;以及用于 响应于最小缓冲器填充延迟和视频流中第一完整可解码帧的接收中的较晚者,启动音频和 视频参考时钟的装置。示例性实施例图1是用于同步媒体流的系统和方法的一个实施例所在环境的框图。系统100向 订户传送多个数字服务,该数字服务可包括电视编程、视频点播、按次计费、音乐、因特网接 入、购物和电话。这些服务通过使用媒体流被传送,该媒体流可被提供自多个源。一个诸如 此类的源是媒体源110,该媒体源对来自诸如电缆网络或空中电视基站的媒体源的内容编 码。由媒体源110生成的流被捕获并由频道变更服务器120缓存一段时间,以便(在一些 实施例中)提供错误恢复和加速的频道改变能力。本领域技术人员应当熟悉其他媒体流的源,并且其他媒体流的源意欲在本公开的 范围内。多个媒体流源可位于称为“头端”的设备,该“头端”由服务提供商(例如,电缆电 视公司)运营。但是,这些组件并不限于位于该位置。普通的媒体流编码格式包括MPEG-2、 MPEG-4和VC-1,但是其他编码格式也被考虑在本公开的范围内。在一些环境中,已编码的 媒体流代表单个用户节目,因此包括被复用在一起成为单个节目传输流(SPTS)的视频基 本流和音频基本流。媒体流被经由网络130传送到一个或多个数字媒体接收机140。在图1的示例性 环境中,网络130包括核心/分发网络150和接入网络160。多个媒体流被组合并分组到一 个媒体分组流,该媒体分组流具有适合在核心/分发网络150上传输的形式。承载多个目 的地为多个不同订户的用户节目的媒体分组流在核心/分布网络150上传输,并被传送到 多个位于网络边界的交换机170。每个交换机170为特定订户选择承载在媒体分组流中的 节目子集,并且向那些与交换机170连接的订户产生经由订户连接180传送的流。在一些 实施例中,经传送的流使用多播地址,但在其他实施例中,可使用单播地址。
数字媒体接收机140通过订户连接180接收承载所选节目的媒体分组流。数字媒 体接收机140将媒体分组的流转换成模拟或数字视频信号,该信号被提供给显示器(例如, 电视或计算机监视器)以被用户观看。数字媒体接收机140的一些实施例还提供交互特性, 诸如,电子节目指南(EPG)、网页浏览器或DVR(数字视频记录器)功能。在一些实施例中, 数字媒体接收机140使用机顶盒的形式。在其他实施例中,数字媒体接收机140由个人计 算机(PC)实现。术语“数字媒体接收机”可延伸到其他包含接收和处理压缩的数字视频流 的能力的其他类型的接收机。其他类型的接收机的示例包括与承载媒体分组流的传输频 道相耦合的手持和/或移动接收机;具有视频服务能力的接收机(VSER);以及其他诸如媒 体播放器的电子设备。如前所述,节目流的子集由交换机170选择以传送至特定订户位置。这些节目流 中的每一个可被看作承载于不同的逻辑频道。数字媒体接收机140与频道变更服务器120 通信以请求特定的节目流或逻辑频道被包括在由订户接收的媒体分组流中。例如,数字媒 体接收机140响应于将要观看FOX网络的用户请求向频道变更服务120请求频道变更,并 以FOX作为目标频道。在一些实施例中,在数字媒体接收机140中的频道变更逻辑与频道 变更服务器120和数字媒体接收器140中的解码器交互以从一个流切换到另一个。虽然此处使用了术语“频道变更”,但该术语不限于用户请求。该术语还意欲覆盖 非用户发起的请求(例如,在特定时间变更到一逻辑频道以进行记录或观看的自动变更)。 术语“频道”并不限于传统的电视频道,而是包括任何与特定媒体内容示例或服务相关联的 流。频道变更(或其他流转换事件)使得数字媒体接收机140开始对不同的流解码。 作为其结果,在新的流可被解码和显示之前,会发生一定量的延迟。数字媒体接收机140包 括独立解码器时钟逻辑190,该时钟逻辑实现用于通过独立解码器时钟来减少媒体流延迟 的系统和/或方法。现在将呈现时间戳和时钟产生(clocking)的简要概述,并且将参考图 2、图3、图4A到4D、图5、图6和图7进一步描述逻辑190。节目流一般包括视频流和相应的音频流。这两种流在系统中经历不同量的延迟或 等待时间。与视频和音频流中的时间戳相组合的所发送参考时钟允许在数字媒体接收机 140处对两个流进行同步。媒体源110生成参考时钟,并周期性地以节目时钟参考(PCR)或 系统时钟参考(SCR)的形式向所发送的流插入时间戳。数字媒体接收机140通过使用本地 振荡器恢复时钟参考,该本地振荡器由接收自媒体源110的时钟参考(PCR/SCR)校正。恢 复的时钟可称为系统时间时钟(STC)。媒体源110还向视频和音频流中插入解码和呈现时 间戳(DTS/PTS)。解码时间戳(DTS)判定该帧何时将被提供给解码器用以解码,而呈现时间 戳(PTS)判定解码器何时输出该帧以用以显示。在本公开中,术语“时间戳”可指DTS、PTS 或二者。现在将参照图2描述利用独立解码器时钟逻辑190来减少媒体流延迟的技术。通 过参照时间线200将阐释在数字媒体接收机140处的音频和视频接收和处理。虽然刻度不 需要是线性的,但是最早的时间点出现在时间线200的左端。因为视频处理通常比音频处 理占用时间长,所以数字媒体接收机140通常需要缓冲比音频时间长的视频。作为此要求 的结果,媒体源110在相应的或相匹配的音频帧220之前发送第一参考视频帧210。但是, 视频帧210和音频帧220在同时被呈现,因为它们具有相同的PTS值(并因此被同步)。这意味着开始与第一视频帧210同时被接收的第一音频帧230具有比第一视频帧210小的 PTS值-在音频帧220之前接收的所有音频帧(未示出)也如此。换句话说,那些音频帧相 对于第一视频帧210是晚的。因此,当使用传统解码器时钟产生技术时,该超前/延迟将导 致用于视频帧的PTS与用于音频帧的PTS之间的初始差(D,PTS)。与传统系统相比,这里公 开的系统和方法通过在数字媒体接收机140中为视频和音频解码器使用单独的参考时钟 来减小D,PTS。时钟产生的细节将参考图3、图4A到4D、图5和图6描述,但总体方案将参考 图2中的时间线200来描述。当接收到第一节目时钟参考240时,数字媒体接收机140中的视频和音频解码器 时钟并未启动(这与传统时钟产生方案不同)。相反,当接收到用于第一可解码音频帧250 的PTS时,音频系统时间时钟(ASTC)被初始化-但未启动。当接收到可用于第一可解码视 频帧260的PTS时,视频STC (VSTC)被初始化-但未启动。当满足两个条件时,ASTC和VSTC 二者均被启动。首先,最小所需音频缓冲延迟04已自流缓冲的开始传递。该延迟Da允许音 频解码器缓冲器水平建立至合适的欠载运行(imderrim)阙值,其中,Da的值依赖于内容和 网络的多个特征(例如,压缩度、网络抖动,等等)。ASTC和VSTC启动运行所需的第二个条 件是已经过了延迟Dkef,该延迟开始于VSTC被初始化的时间点。该延迟等同于完整接收第 一可解码视频帧到视频解码器缓冲器中的时间。在一些实施例中,该延迟是依赖于数据的, 并且,当整个I-帧被接收到解码器缓冲器中或者从解码器缓冲器取得时,向独立解码器时 钟产生逻辑190告知。在其他实施例中,逻辑190依赖于基于一组图片的典型大小的预计 算延迟。当满足这些条件时,两个解码器时钟被同时启动,其中VSTC以低于ASTC的速率运 行。在一些实施例中,VSTC以ASTC大约80%的速率运行,但是其他比例也是可能的。当 ASTC跟上VSTC时,VSTC速率被调整以与ASTC匹配。如果在经过时间Dkef时,Da也已经过, 则ASTC的初始值被递增过冲音频延迟D,a(Da经过时间与Dkef经过时间之差)。因为在该 情况下,最小音频缓冲延时Da已被满足,该递增通过自开始丢弃 ΔΑ量的音频缓冲而防止了 音频被缓冲超过所需的时间。该增量还最小化了 VSTC和ASTC的初始值的差异,从而允许 ASTC更快地赶上VSTC。应注意到,因为两个STC没有等待D,PTS (即,用于与第一视频帧210 匹配的音频帧220到达数字媒体接收机140)就在同时启动,所以与传统解码器相比,独立 解码器时钟产生逻辑190减少了初始视频缓冲延迟,减少量为D,pts-D,a(当 ΔΑ为零时,其 等同于D综上所述,数字媒体接收机140为视频和音频解码器使用单独的参考时钟。视频 和音频帧随即以其各自参考时钟确定的速率从其各自的缓冲器中被消耗,其中,这两个速 率不同。视频解码器在代表比音频解码器初始时间值晚的时间值被初始化,并且两个时钟 被同时启动。因此,视频时钟在音频时钟之前的位置启动,这意味着视频呈现开始于音频展 示之前的位置。但是,视频时钟速率被设置为比音频时钟速率慢,因此,音频流在某一点“赶 上”视频流。在该点处,视频解码器时钟速度被增加以匹配音频解码器时钟速度,并且二者 以同一速率运行。图3是数字媒体接收机140中所选组件的框图。包括不同流类型的数字媒体传输 流305被提供给传输流解复用器/解析器310。解复用器310通过承载在流305内的节目 标识符(PID)来识别音频和视频流。来自流305的视频帧315被存储在视频解码器缓冲器320中,然后被视频解码器325解码。来自流305的音频帧330被存储在音频解码器缓冲器 335中,然后被音频解码器340解码。在解码后,音频数据345被作为输出提供给扬声器,并 且视频数据350被作为输出提供给显示器。在图3的实施例中,数据通过转换器355被转 换成模拟数据,但此转换是可选的。在解码器流水线中的多个组件的操作可通过控制处理 器360被协调。解复用器/解析器310还执行解析功能,即从传输流分组抽取节目时钟参考 (PCR),并从分组化基本流(PES)分组中抽取时间戳(DTS和/或PTS)。接收机时钟365被 本地振荡器(未示出)所控制,并且PCR值370被用于校正相对于发射机时钟的相位错误。 独立解码器时钟产生逻辑190还接收多个来自解复用器310的控制信号375,该控制信号指 示多个类型帧的到达并驱动逻辑190的行为(如上结合图2所述)-例如,新的流、第一PCR、 第一音频PTS、第一音频帧、第一视频PTS、第一可解码视频帧的启动、第一可解码视频帧的 结束,等等。与适当的控制信号375 —起,逻辑190还从解复用器310接收时间戳380 (DTS 和/或PTS)。音频解码器340由自ASTC寄存器385拉出的音频时钟值驱动,并且视频解码 器325由自VSTC寄存器390拉出的视频时钟值驱动,其中,那些寄存器被初始化并且启动 计数,如先前结合图2所述。逻辑190还包括多个参数(例如,相对音频延迟04、过冲音频 延迟 ΔΑ、VSTC速率和ASTC速率(未示出))。现在将描述数字媒体接收机140的操作。图4A到4D示出了在不同时间点视频解 码器缓冲器320和音频解码器缓冲器335的内容,并示出了响应于缓冲器中多个帧的到达、 在ASTC 385和VSTC 390中的值如何被调整。图5示出了由两个不同解码器时钟所得的播 出行为。在图4A到4D和图5中,示出了具有同样PTS值(S卩,那些对观看者显示为“已同 步的”(lip sync' ed)值)的音频帧和视频帧,并用一直线连接两个帧。图4A描述了在新的流刚被获取后(例如,作为频道变更的结果)的数字媒体流。 ASTC 385和VSTC 390还未被初始化,并且不在运行。(在一些实施例中,时钟先前运行以 对前一流解码,在检测到新流后,两个时钟被停止。)在该流刚被获取后,第一音频帧到达 音频解码器缓冲器335。带有PTS(Al)的第一可解码音频帧的到达触发了 ASTC 385的初 始化,该ASTC 385被设置到PTS。因此,在此示例中,ASTC 385被设置为Al的PTS。虽然 ASTC 385已被初始化,但时钟还未被启动。(下面将描述启动ASTC 385的条件)。应当注 意的是,在大多数编码方案中,所有音频帧都是可解码的,但是这里描述的技术还覆盖允许 不可解码音频帧的编码方案。接下来,接收到另一音频帧A2。在此时,音频解码器缓冲器 335包括Al和A2,而视频解码器缓冲器320是空的。图4B描述了在较晚时间点的数字媒体流,此时第一参考视频帧开始到达视频解 码器缓冲器320。到此时,音频解码器缓冲器335包括Al至A5,并且视频解码器缓冲器320 包括完整的帧Vl和V2 (B-帧)、V3 (P-帧)和V4 (I-帧)的开始。V4是I-帧,即第一可解 码视频帧,并且用于该第一可解码视频帧的PTS的到达通过独立解码器时钟产生逻辑190 触发了 VSTC 390的初始化。VSTC 390被设置为所接收的第一可解码视频帧的PTS。在此示 例中,VSTC 390被设置为I-帧V4的PTS。虽然VSTC390已被初始化,但是时钟并未启动。 (下面将描述启动VSTC 390的条件)。应当注意的是,在音频帧Al和任意视频帧或音频帧A2和任意视频帧间没有连线。 虽然Al和A2与Vl和V2同时存在缓冲器中,但是并不意味着Al和A2与Vl和V2被同时呈现。这是一个典型行为同时回放的视频和音频一般并不同时出现在已接收的数据流中。 相反,视频帧一般出现在所接收的数据流中早于那些具有相同PTS的音频帧的位置,因为 视频需要更长的时间来缓冲。图4C描述了在较晚时间点的数字媒体流,这时音频解码器缓冲器335被以最小水 平填充(由PCR和音频PTS间的偏移决定)。该偏移是固定值,一般在100毫秒的数量级, 因此最小值可以是任何比该固定值大的值。当音频缓冲器达到此最小值,独立解码器时钟 产生逻辑190确定第一可解码视频帧是否已被完全接收到视频解码器缓冲器320中。在图 4C的示例情景中,第一可解码视频帧V4仅被部分接收(由V4左侧边界的虚线表示)。因 此,独立解码器时钟产生逻辑190并不启动ASTC 385和VSTC 390。但是,如果视频帧已被 完全接收,则逻辑190将同时使能ASTC 385和VSTC 390。如果第一可解码视频帧未被完全接收,则逻辑190等待额外量 ΔΑ,直到第一可解 码视频帧被完全接收为止,并且使ASTC 385递增此额外等待量以保持原始音频缓冲量。然 后,逻辑190同时使能ASTC 385和VSTC 390。图4D描述了在较晚时间点的数字媒体流,此时第一可解码视频流已被完全接 收。音频解码器缓冲器现在包括Al到Α10。视频解码器缓冲器包括完整帧Vl (B-帧)、 V2 (B-帧)、V3 (P-帧)和V4 (I-帧)。因为第一可解码视频帧被完全接收,所以独立解码器时 钟产生逻辑190将ASTC 385提前 ΔΑ(以保持原始最小音频缓冲量),并随即启动ASTC385 和VSTC 390。因为ASTC 385在图4Α中被首先初始化为Al. PTS,所以在此情形下,ASTC自 A1.PTS+D,a的初始值开始计数(即,周期性递增),其等同于A3.PTS。VSTC 390自初始值 V4. PTS开始计数(即,周期性递增)。如前所述,独立解码器时钟产生逻辑190首先配置VSTC 390以比ASTC 385低的 速率运行,以允许音频流(相对于视频流其启动滞后)可赶上视频流。逻辑190的一些实 现方式使用两个由来自单个物理计时器的中断所递增的虚拟寄存器来部分地以软件实现 VSTC 390和ASTC 385。这些寄存器被分别用作VSTC 390和ASTC 385的源。通过调整发 生在每个计时器中断的递增量,VSTC 390和ASTC 385的速率可相对彼此发生变更。其他 实现方式使用两个硬件计时器,该计时器可从公用时钟得到。现在将通过图5描述两个流的播出行为。音频帧的呈现时间与运行的ASTC 385 一起被示出。视频帧的呈现时间与运行的VSTC 390 —起被示出。在此图中,最早的时间点 在右侧。如前所述,与ASTC 385相比,VSTC 390以降低的速率运行,因此,VSTC 390的时钟 周期比ASTC 385的时钟周期长。 要呈现的第一视频帧是V4 (帧Vl到V3被接收,但是不能在参考帧之前被呈现)。 同时,音频帧A3和A4被呈现。(帧Al和A2不能被呈现,因为ASTC已经被提前超过了这 两帧的PTS)。但是,对应于V4的音频帧是A9和A10。(该对应关系已在先前的图4C中示 出,并且在图4D中再次用一直线连接A9到V4,并用另一直线连接AlO到V4。)因此,当看 到V4并听到A3时,用户感受到帧是非同步的。随着接下来几个视频帧被从缓冲器中呈现, 用户还是感觉到帧是非同步的,并且,音频滞后于视频。但是,因为视频帧被以比音频帧低 的速率呈现,所以音频流直到V8被呈现的时候赶上视频流。该行为通过V8和A18间的垂 线于图5示出。 独立解码器时钟产生逻辑190追踪VSTC和ASTC值间的差异。当二者相等时,逻
10辑190调整VSTC 390的速率以与ASTC 385的速率匹配。在那之后,两个解码器时钟以相 同的速率运行。如果发生另一频道变更,则逻辑190被再次调用以停止解码器时钟的运行, 基于接收自解码器缓冲器的帧来重新初始化时钟,并基于接收帧再次启动时钟。因此,独立解码器时钟产生逻辑190的总体效果可被概括如下。在初始缓冲延迟 后,视频和音频流开始在同一时间播放。因为编码器首先发送视频(相对于其对应的音 频),所以音频最初滞后于视频,并且观看者经历不同步的音频和视频。但是,因为视频以更 低的速率播出,所以,音频在某点处赶上视频,并且用户经历同步流。一旦此同步被建立,则 音频和视频保持同步,因而频道变更的影响消失了。该方法通过大约等同于音频和视频时间差的量来改善初始视频缓冲时间。另外, 该缓冲时间在慢回放阶段被反向获得,因为在视频缓冲器中的数据水平逐渐增长。因此,一 旦音频和视频流间的同步被建立且视频回放速率增加到正常速率(即,与音频速率相同), 在视频解码器缓冲器320中的水平就达到其视频回放先前未启动时应达到的水平。图6是示出独立解码器时钟产生逻辑190的状态图。在接收到新流的开始时(事 件602),逻辑190移动到初始状态605。自初始状态605,当接收到用于第一可解码音频帧 的PTS时(事件615),逻辑190转换到状态610并初始化ASTC 385。自状态610,当接收到 用于第一可解码视频帧的PTS时(事件625),逻辑190转换到状态620并初始化VSTC 390。 可替换地,当在初始状态605中接收到用于第一可解码视频帧的PTS时(625),逻辑190转 换到状态630并初始化VSTC 390,然后,当接收到用于第一可解码音频帧的PTS时(事件 615),逻辑190转换到状态635并初始化ASTC 385。从状态620或状态635,独立解码器时钟产生逻辑190无条件地转换到状态640。 最小音频缓冲器填充延迟的期满(事件645)导致从状态640转换到状态650。自状态650, 当接收到第一完整可解码视频帧时(事件660),逻辑190转换到状态655并启动ASTC 385 和VSTC 390 二者。可替换地,如果在状态640中接收到第一完整可解码视频帧(事件660), 则逻辑190转换到状态665,并当最小音频缓冲器填充延迟期满时(事件645)从状态665 转换到状态655 (其中ASTC 385和VSTC 390被启动)。逻辑190无条件地从状态655移动 到状态670,在670解码开始。最后,当新流开始时(事件602),逻辑190返回到初始状态 605。独立解码器时钟产生逻辑190可被应用于任何接收已编码的视频流和相应的已 编码音频流的数字媒体接收机中。此设备的示例包括机顶盒、个人视频记录器、家庭媒体 中心、居住地网关、与传输信道耦合的手持和/或移动接收机、具有视频服务能力的接收机 (VSER)、以及诸如媒体播放器的其他电子设备。图7是数字媒体接收机140的实施例的框图。数字媒体接收机140包括多个在计 算机领域已知的组件,包括处理器710、存储器720、网络接口 730、外围输入输出(I/O)接口 740、解码器750、以及输出子系统760。一些实施例还包括存储设备770 (例如,非易失性存 储器或磁盘驱动器)。这些组件通过总线780耦合。图7中忽略了多个在说明数字媒体接 收机140的操作时并不必需的常规组件。外围I/O接口 740提供输入和输出信号,例如,来自遥控器或前端面板按钮或键盘 的用户输入,以及在前端面板上的诸如LED或LCD的输出。网络接口 730接收流。解码器 750将进入的视频流解码为已解码的视频流,并将进入的音频流解码为已解码的音频流。输出子系统760将已解码的视频帧转换为用于计算机监视器或电视显示的视频信号,并将已 解码的音频帧转换为通过扬声器播放的音频信号。如前所述,数字媒体接收机140经由网络接口 730接收数字视频流。在一些实施 例中,这是本地局域网(LAN)接口或诸如因特网的广域网(WAN)接口。在其他实施例中,网 络接口 730连接到射频(RF)网络,并且在此实施例中,数字媒体接收机140可包括处理接 收自RF网络的数字信号的调谐器/解调器(未示出)。如图7所示,独立解码器时钟产生逻辑190可以硬件实现,或者可以作为指令驻 留在存储器720中,该指令在被处理器710执行时实现通过独立解码器时钟来减少媒体流 延迟的系统和方法。硬件实现方式包括(但不限于)可编程逻辑设备(PLD)、可编程门阵 列(PGA)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、片上系统(SoC)、以及封装系统 (SiP) 0另外,独立解码器时钟产生逻辑190可以硬件逻辑和处理器可执行指令(软件)的 结合来实现。独立解码器时钟产生逻辑190可实现在任意计算机可读介质中,以供指令执行系 统、装置或设备使用或者连接到指令执行系统、装置或设备。这样的指令执行系统包括任意 基于计算机的系统、包括处理器的系统、或者其他可从指令执行系统获取并执行指令的系 统。在本公开的上下文中,“计算机可读介质”可以是任何可包含、存储、通信、传播或传输程 序的装置,该装置被指令执行系统使用或与之连接。例如,计算机可读介质可以是(但不限 于)基于电子、磁、光学、电磁、红外或半导体技术的系统。使用电子技术的计算机可读介质的具体示例包括(但不限于)下述随即存取存 储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPR0M或闪存)。使用磁技术的 具体示例包括(但不限于)便携式计算机磁盘。使用光技术的具体示例包括(但不限于) 致密盘(⑶)和数字视频盘(DVD)。此处示出的任意软件组件是被选择用于示出在此处公开的独立解码器时钟产生 逻辑190中功能是如何在各组件间分配的抽象物。其他功能划分也是可能的,并且这些其 他可能意欲在本公开的范围内。另外,就具体数字结构(例如,阵列、表、标识、指针、集合 等)描述的软件组件而言,也可使用其他提供相似功能的数字结构。此处包括的任意软件组件以代码和数据的方式描述,而不是参考执行该代码的特 定硬件设备。另外,就以面向对象的术语描述的系统和方法而言,并不一定要求系统和方法 以面向对象的语言实现。相反,系统和方法可以任何编程语言实现,并在任意硬件平台上执 行。此处指的任意软件组件包括被封装的可执行代码,例如,作为独立可执行文件、 库、共享库、可载入模块、驱动器、或集群、以及已封装的解释码(例如作为一类)。一般而 言,系统和方法所使用的用于减少媒体流延迟的组件在此处以代码和数据方面进行描述, 而非参考执行该代码的特定硬件设备。另外,系统和方法可以任意编程语言实现,并在任意 硬件平台上被执行。根据此处公开的实施例,此处的流程图、消息图、状态图和/或数据流图提供了通 过独立解码器时钟来减少媒体流延迟的系统和方法的操作的示例。可替换地,这些图可被 看作是描述了由独立解码器时钟产生逻辑190实现的方法的示例性动作。这些图中的框代 表流程、功能、模块或部分代码,该代码包括一个或多个用于实现处理中逻辑功能或步骤的可执行指令。可替换实现方式也包含在本公开的范围内。在这些可替换实现方式中,功能 可被以与示出的或讨论的颠倒的次序执行,包括实质同时或以相反次序进行,这依赖于所 涉及的功能。前述描述出于说明和描述目的已被呈现。并不意欲穷尽或限制本公开于所公 开的精确形式。根据上述教导,可以进行明显的变更或改变。但是,所讨论的实现方式被选 择和描述以示出本公开的原则和其实际应用,从而使本领域技术人员可在多个实现方式和 更改(适于所考虑的特定用途)中利用本公开。所有此类更改和改变在由权利要求确定的 根据其公平合法地赋予权力而解释的本公开的范围内。
权利要求
一种减少节目流中的视频延迟的方法,该节目流包括视频流和音频流,该方法包括,基于作为所述音频流中的第一可解码帧的帧的呈现时间戳将音频参考时钟设置为初始值;基于作为所述视频流中的第一可解码帧的帧的呈现时间戳将视频参考时钟设置为初始值;响应于最小缓冲器填充延迟和作为所述视频流中第一完整可解码帧的帧的接收中的较晚者,启动音频和视频参考时钟;根据所述音频参考时钟对所述音频流解码;以及根据所述视频参考时钟对所述视频流解码。
2.如权利要求1所述的方法,还包括最初设置所述视频参考时钟的速率慢于所述音频参考时钟的速率。
3.如权利要求1所述的系统,还包括响应于所述视频参考时钟的当前值与所述音频参考时钟的当前值相同,设置所述视频 参考时钟的速率等于所述音频参考时钟的速率。
4.如权利要求1所述的方法,其中,所述音频参考时钟的初始值等于所述音频流中的 第一可解码帧的呈现时间戳值。
5.如权利要求1所述的方法,其中,所述视频参考时钟的初始值等于所述视频流中的 第一可解码帧的呈现时间戳值。
6.如权利要求1所述的方法,其中,设置所述视频参考时钟的步骤响应于所述视频流 中的第一可解码帧的呈现时间戳的接收。
7.如权利要求1所述的方法,其中,设置所述音频参考时钟的步骤响应于所述音频流 中的第一可解码帧的呈现时间戳的接收。
8.如权利要求1所述的方法,还包括在延迟Dkef期满后,如果已经过了延迟Da,则以过冲音频延迟 ΔΑ递增所述音频参考时 钟的初始值,其中,所述过冲音频延迟 ΔΑ是Da经过时间与Dkef经过时间之差, 其中,Deef是所述视频参考时钟的设置值与完全接收作为所述第一可解码视频帧的帧 到视频解码器缓冲器中所需的时间之差,并且 其中,Da是最小音频缓冲延迟。
9.一种数字媒体回放设备,包括 音频参考时钟;音频解码器缓冲器,被配置用于存储音频流中的接收帧;音频解码器,被配置用于基于每个帧的时间戳与所述音频参考时钟的当前值的对比来 不时地对所述音频解码器缓冲器中的帧解码; 视频参考时钟;视频解码器缓冲器,被配置用于存储视频流中的接收帧,所述视频流和所述音频流组 成一个节目流;视频解码器,被配置用于基于每个帧的时间戳与所述视频参考时钟的当前值的对比来 不时地对所述视频解码器缓冲器中的帧解码;独立解码器时钟产生逻辑,被配置用于基于作为所述音频流中的第一可解码帧的帧的呈现时间戳将所述音频参考时钟设置 为初始值;基于作为所述视频流中的第一可解码帧的帧的呈现时间戳将所述视频参考时钟设置 为初始值;以及响应于最小缓冲器填充延迟和作为所述视频流中第一完整可解码帧的帧的接收中的 较晚者,启动所述音频和视频参考时钟。
10.如权利要求9所述的设备,还包括频道变更请求逻辑,其中,设置所述音频和视频 参考时钟的步骤是响应于所述频道变更请求逻辑的。
11.如权利要求9所述的设备,还包括用于最初设置所述视频参考时钟的速率慢于所述音频参考时钟的速率的逻辑。
12.如权利要求9所述的设备,还包括用于响应于所述视频参考时钟的当前值与所述音频参考时钟的当前值相同而设置所 述视频参考时钟的速率等于所述音频参考时钟的速率的逻辑。
13.如权利要求9所述的设备,其中,所述音频参考时钟的初始值是所述音频流中的第 一可解码帧的呈现时间戳值。
14.如权利要求9所述的设备,其中,所述视频参考时钟的初始值等于所述视频流中的 第一可解码帧的呈现时间戳值。
15.如权利要求9所述的设备,其中,被配置用于设置所述视频参考时钟的逻辑响应于 所述视频流中的第一可解码帧的呈现时间戳的接收。
16.如权利要求9所述的设备,其中,被配置用于设置所述音频参考时钟的逻辑响应于 所述音频流中的第一可解码帧的呈现时间戳的接收。
17.一种数字媒体回放设备,包括用于生成音频参考时钟的装置;用于缓冲接收的音频流中的帧的装置;用于根据所述音频参考时钟对音频解码器缓冲器中的帧解码的装置;用于生成视频参考时钟的装置;用于缓冲接收的视频流中的帧的装置,所述视频流和所述音频流组成一个节目流;用于根据所述视频参考时钟对视频解码器缓冲器中的帧解码的装置;用于基于作为所述音频流中的第一可解码帧的帧的接收设置所述音频参考时钟的初 始值的装置;用于基于作为所述视频流中的第一可解码帧的帧的接收设置所述视频参考时钟的初 始值的装置;以及用于响应于最小缓冲器填充延迟和所述视频流中第一完整可解码帧的接收中的较晚 者,启动所述音频和视频参考时钟的装置。
18.如权利要求17所述的设备,还包括用于最初将所述视频参考时钟的速率设置为慢于所述音频参考时钟的速率的装置。
19.如权利要求17所述的设备,还包括用于响应于所述视频参考时钟的当前值与所述音频参考时钟的当前值相同而设置所述视频参考时钟的速率等于所述音频参考时钟的速率的装置。
20.如权利要求17所述的设备,其中,用于生成音频参考时钟的装置响应于接收的音频流中的时间戳,并且, 用于生成视频参考时钟的装置响应于接收的视频流中的时间戳。
全文摘要
在一个实施例中,一种减少节目流中的视频延迟的方法,包括基于作为音频流中的第一可解码帧的帧的呈现时间戳将音频参考时钟设置为初始值;基于作为视频流中的第一可解码帧的帧的呈现时间戳将视频参考时钟设置为初始值;响应于最小缓冲器填充延迟和作为视频流中第一完整可解码帧的帧的接收中的较晚者,启动音频和视频参考时钟;根据音频参考时钟解码音频流;根据视频参考时钟解码视频流;最初设置视频参考时钟的速率慢于音频参考时钟的速率;响应于视频参考时钟的当前值与音频参考时钟的当前值相同,设置视频参考时钟的速率等于音频参考时钟的速率。
文档编号H04N7/26GK101889451SQ200880119372
公开日2010年11月17日 申请日期2008年12月5日 优先权日2007年12月5日
发明者坦库特·阿珂古尔 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1