混合缓冲器管理的制作方法

文档序号:6456522阅读:105来源:国知局
专利名称:混合缓冲器管理的制作方法
混合缓冲器管理
相关申请的交叉引用
本申请要求于2006年11月21日提交的题为"流媒体缓冲器延时 管理(STREAMING MEADIA BUFFER LATENCY MANAGEMENT)" 的,申请号为60/860,278的美国临时专利申请的优先权。
背景信息
流媒体通常指的是在从诸如媒体服务器之类的源下载媒体内容的 同时经由或至少可以经由重放软件或重放设备来播放媒体内容。可以 根据多种标准和格式来提供例如视频和音频内容这样的流媒体内容。 例如,众所周知的有诸如Quick Time和RealMedia这样的视频标准及 由运动图像专家组(MPEG)公布的标准等等。
设计诸如MPEG流内容传递这样的许多用于流媒体内容的许多标 准时具有两个目的(1)维持网络带宽和(2)保持视频质量。然而, 设计MPEG和其它种类的流媒体时,并不具有例如减少延时之类的及 时传递内容的目的。例如,目前,诸如机顶盒(STB)之类的内容处理 设备通常使用MPEG并被设计为以延时为代价来传递完整的视频流。
到达STB的诸如MPEG流之类的到达STB的媒体流可能面临网 络抖动(jitter),其能够引起例如视频帧之类的媒体帧在STB中的缓 冲器中的过量存储。在显示所有先前的帧之前,不显示STB接收到的 帧。然而,在某些情况中,例如,诸如游戏之类的交互式应用中,用 户期望响应于键按压而及时地在其视频显示器上进行更新。目前,由 抖动引起的延时常常留给用户在多种情况中不能令人满意地支持应用 的视频流。联机游戏是媒体流延时可以导致不满意的用户体验的一种情况。 例如,当通过诸如机顶盒(STB)等内容处理设备来提供游戏时,通过
分组交换网络将游戏会话(session)从视频中心局(VHO)中的游戏 服务器作为MPEG视频流等传递到客户端中的STB。也就是说,在游 戏服务器上进行游戏会话,但是该游戏会话由STB来通过MPEG流来 呈现。因此,将游戏会话编码为MPEG流并通过网络流式传送到STB。 由STB解码MPEG流并将其显示在诸如电视或视频监视器之类的媒体 重放设备上。通过诸如射频(RF)或红外遥控、通用串行总线(USB) 游戏手柄等输入设备将收集用户对游戏的输入。然后,通过分组交换 网络将用户输入送回游戏服务器。该游戏服务器接收用户输入并将其 提供给游戏会话以进行处理,从而基于该输入而适当地修改输出视频 流。MPEG流中的延时可以引起用户输入不及时和/或无效,因此造成 令用户不满意的游戏体验。
因此,诸如MPEG流内容传递之类的用于提供流媒体的许多标准 被设计为具有(a)维持网络带宽和(2)保持视频质量的传统目的。然 而,与许多媒体流的情况一样,MPEG视频流没有被设计为不具有例 如减少延时之类的及时传递内容的目的。例如,目前,诸如机顶盒(STB) 之类的内容处理设备被设计为以延时为代价来传递不中断的视频流。


图1图示了用于提供联机游戏的示例性系统。 图2图示了示例性缓冲器管理过程。
图3图示了用来根据从服务器接收到的指令来清除(flush)缓冲 器的示例性过程。
图4图示了用于在达到预定的应用程序专用的缓冲器容量限制时 清除缓冲器的示例性过程。
图5示出了用于本地控制缓冲器的过程以及用于从服务器触发缓 冲器的清除的过程的混合的示例性过程。
具体实施例方式
图1示出了用于向客户住所101提供联机游戏的示例性系统100,
6所述客户住所101用于由用户102通过内容处理设备IIO和媒体播放
器115来访问。客户住所101可以是住家、企业、或包括内容处理设 备110的任何其它位置,并可以包括多个内容处理设备110。
内容处理设备110通常是例如机顶盒(STB)或类似设备之类的 的专用设备,用于经由网络145而从头端155接收媒体内容150并将 媒体内容150提供给媒体播放器115。可以将媒体内容150例如作为模 拟信号或作为数字信号来提供,其中模拟或数字视频信号包括媒体流。 内容处理设备110通常包括处理器和存储器,并可以提供有私有或专 用操作系统。例如,内容处理设备110可以是提供有诸如已知的实时 操作系统(RTOS)的STB。然而,应理解的是,本文中通常归于内容 处理设备110的角色可以由诸如计算机118、 119之类的计算设备或诸 如蜂窝电话121之类的移动设备来代替担任,只要该设备是能够从网 络145接收媒体内容150和/或通过网络125接收媒体流127并能够存 储和执行诸如可以存储在计算机可读介质上的程序指令。此外,如图1 中的设备119和121的布置所说明的,不需要将此类计算设备设置在 客户住所101中,而是通常可以将其设置在其可以接入分组交换网络 125的任何地方。
内容处理设备110可以包括游戏应用111。游戏应用111可以包 括特别是用于接收媒体流127的程序指令。游戏应用111通常还包括 用于通过媒体播放器115向用户102提供媒体流127并用于例如经由 控制器116来接收来自用户102的指令和输入的程序指令,此类指令 和输入将被提供给游戏应用服务器140。为了促进通过媒体播放器115 来提供媒体流127,内容处理设备110通常包括例如已知的帧缓冲器 112、流解码器113,例如视频编码器/解码器(编解码器)、和音频编 码器/解码器(编解码器)。当在内容处理设备110中接收到媒体流127 的单元(例如帧)时,通常将其存储在缓冲器112中以等待解码器113 进行处理。应理解的是解码器113可以是例如已知的诸如用于MPEG-2 或MPEG-4标准的MPEG编解码器。内容处理设备110内的其它程序指令用于使媒体流127中的音频与视频同步,适当地縮放视频等等。
媒体播放器115从内容处理设备110接收媒体内容150并播放此 类媒体内容150使得它可以被用户感知。媒体播放器115可以是例如 已知的电视接收机,包括电视或高清电视(HDTV)。媒体播放器115 还可以用来提供由内容处理设备110提供的某些功能和菜单的用户界 面。例如,电视可以用来显示图形用户界面以访问STB内的各种菜单。 此外,可以并且在许多情况下可能完全或几乎全部地由计算设备118、 119、 121等中的一个来执行本文中归于内容处理设备110和媒体播放 器115的操作,由此可以从系统100中省去媒体播放器115禾口/或内容 处理设备110。
用户102可以利用控制器116来操纵内容处理设备110。控制器 116通常是可以通过包括红外(IR)和射频(RF)通信在内的已知无 线通信来选择性地与内容处理设备110通信的遥控器。控制器116可 以包括数字键、箭头按钮、特定功能键、方向键等等,而且还可以包 括字母数字键。控制器116还可以是例如已知的有线或无线键盘或游 戏手柄或另一种人机接口设备(HID)。用户102可以利用控制器116 来选择媒体内容频道、访问各种菜单和选项设置、进行选择和请求、 以及输入数据,诸如用于包括在内容处理设备110内的游戏客户端应 用111的用户指令或用户输入。控制器116通常有利于访问由或通过 内容处理设备110提供的各种功能和菜单,而且还可以用来控制其它 设备,包括媒体播放器115。除执行本文中归于媒体播放器115和/或 内容处理设备110的操作之外,计算设备118、 119、 121等中的一个 还可以包括键、按钮、触垫等以执行本文中参照控制器116所描述的 操作,由此可以从系统100中省去控制器116。
内容处理设备110经由宽带家用路由器(BHR) 117而选择性地 与各种设备通信,所述宽带家用路由器(BHR) 117包括用户102可以 访问的计算机118。 BHR 117可以是通常已知用于路由网络业务的一个或多个设备。BHR 117促进通过一个或多个网络进行的数据传输,所
述网络包括分组交换网络125和媒体分发网络145。
已知BHR 117用于向客户住所101内的诸如内容处理设备110这 样的设备分发音频、视频、以及数据。例如,BHR 117可以是来自加 利福尼亚州桑尼维尔市的迈智微电子公司的宽带家用路由器或无线宽 带家用路由器。BHR 117还可以提供有线或无线局域网(LAN),从 而提供客户住所101内的各种设备之间的选择性通信。例如,计算机 118可以利用BHR 117来与内容处理设备110通信。计算机118可以 是计算机工作站、台式计算机、笔记本计算机、膝上型计算机、手持 计算机、个人数字助理(PDA)、移动电话、智能电话、或利用硬件 和软件来与内容处理设备110通信的某些其它计算设备。
内容处理设备110可以使用BHR 117来向分组交换网络125发送 信息和从分组交换网络125接收信息。BHR 117可以通过网关路由器 120来接入分组交换网络125。
内容处理设备110还可以经由分组交换网络125来接收媒体流 127。视频中心局(VHO) 135内的各种源可以提供媒体流127,包括 游戏应用服务器140。可以根据诸如MPEG等许多已知标准中的任何 一个来提供媒体流127。已知游戏服务器140用于向用户102提供各种 交互式游戏应用,此类应用提供媒体流127。
媒体分发网络145是例如已知的用于提供媒体内容150的网络。 例如,网络145可以包括用于经由同轴线缆和/或光纤线缆来提供视频 信号的硬件和软件。如已知的,通常从头端155将媒体内容150提供 给媒体分发网络145。
分组交换网络125通常可以是利用网际协议族中通常存在的已知 协议的网际协议(IP)网络。例如,网络125可以使用诸如用户数据报协议(UDP)、传输控制协议(TCP)、超文本传输协议(HTTP)等 协议。此外,网络125可以包括多种网络,诸如广域网(WAN),例 如因特网、局域网(LAN)、光纤网络等等。如已知的,可以用分组 交换网络125来传送多种数据,包括多媒体数据,诸如音频和视频。 因此,应理解的是,可以有这样的实施例,其中实际上将网络125和 145组合成一个网络,或者其中简单地省去媒体分发网络145,由此使 用分组交换网络125来向内容处理设备110、计算机118等提供媒体内 容150。
已知网关路由器120用于在分组交换网络125中路由数据分组。 网关路由器120允许内容处理设备110接入分组交换网络125。通过与 路由器120通信,内容处理设备110能够获得诸如网际协议(IP)地址 等网络地址,从而使得内容处理设备110能够向应用服务器140等进 行请求或从应用服务器140等接收数据。
诸如内容处理设备110、客户端计算机118、游戏应用服务器140、 以及类似设备之类的计算设备可以采用许多已知计算机操作系统中的 任何一种。例如,此类设备可以使用Microsoft Windows操作系统;Unix 操作系统(例如,由加利福尼亚州Menlo Park的Sun Microsystems发 布的Solaris操作系统);由纽约州阿蒙克的国际商业机器公司发布的 AIXUNIX操作系统;以及由伊利诺斯州绍姆堡的摩托罗拉公司发布的 Linux操作系统和Vortex操作系统的任何已知版本和/或种类。计算设 备可以包括已知的许多计算设备中的任何一种,包括但不限于计算机 工作站、台式计算机、笔记本计算机、膝上型计算机、手持计算机、 STB、或某些其它计算设备。
诸如内容处理设备110和本文提及的其它设备之类的计算设备通 常能够执行存储在计算机可读介质上的指令,诸如包括在应用111中 的指令。可以使用多种已知的编程语言和/或技术创作的计算机程序编 译或解释计算机可执行指令,所述已知的编程语言和/或技术单独地或者组合地包括,但不限于,Java、 C、 C++、 Visual Basic、 Java Script、 Perl等等。通常,处理器(例如微处理器)接收来自例如存储器、计算 机可读介质等的指令并执行这些指令,从而执行一个或多个过程,包 括本文所述的一个或多个过程。可以将使用多种已知的计算机可读介 质来存储和发送此类指令和其它数据。
计算机可读介质包括参与提供数据(例如指令)的任何介质,其 可以由计算设备来读取。此类介质可以采取许多种形式,包括但不限 于非易失性介质、易失性介质、以及传输介质。非易失性介质包括例 如光盘或磁盘和其它永久性存储器。易失性介质包括通常构成主存储 器的动态随机存取存储器(DRAM)。传输介质包括同轴线缆、铜线 和光纤,包括包含耦合到处理器的系统总线的导线。传输介质可以包 括或传送声波、光波和电磁发射,诸如在射频(RF)或红外(IR)数 据通信期间生成的那些。计算机可读介质的一般形式包括例如软盘、 软磁盘、硬盘、磁带、任何其它磁性介质、CD-ROM、 DVD、任何其 它光学介质、穿孔卡、纸带、具有孔图案的任何其它物理介质、RAM、 PROM、 EPROM、 FLASH-EEPROM、任何其它存储芯片或盒、如下文 中所述的载波、计算机可以从其进行读取的任何其它介质。
图2示出了示例性缓冲器管理过程200,其有效地使用经调整的 缓冲器容量、即从用户设备118、 119、 121等的角度来限制例如视频 帧之类的媒体单元允许经历的最大延迟,并且如果预期将超过该限制, 则从缓冲器112中删去该帧。过程200有利地消耗内容处理设备110 上的最少资源。过程200还提供消耗诸如服务器140之类的应用服务 器上的最少资源的优点。应看到,过程200引起媒体流127中的最新 单元(例如视频帧)的移除。
在步骤205中,应用111设立缓冲器112的容量,例如来自可以 存储在缓冲器112中的媒体流127的单元(例如帧)的最大数目。可 以根据应用111中的程序指令来预先确定或者可以根据来自服务器140的消息来确定在步骤205中设立的缓冲器112的容量。可以在包括流 初始化的任何时间以及在流式发送期间设立或修改缓冲器112的容量。 根据来自服务器140的消息或指令来确定缓冲器112的容量提供了在 通过应用111对服务器140提供的不同种类的媒体流127(例如不同种 类的游戏)有效地提供不同的时间延迟中的灵活性。此外,游戏可能 被将容许不同水平的延时的不同媒体应用(例如广告)中断。通常, 不同的媒体流127可以容许比其它媒体流更多或更少的延时。应理解 的是,限制缓冲器112的容量通过在缓冲器112充满时删去媒体流127 的单元(例如一个或多个数据分组)而有效地提供媒体流127的单元 可以在缓冲器112中花费的最大时间延迟。也就是说,当缓冲器112 充满时,可以删去而不是在延迟的基础上提供媒体流127的单元。
接下来,在步骤210中,内容处理设备110通常通过如上所述的 网络125根据应用111中的指令来接收来自应用服务器140的媒体流 127中的单元。
接下来,在步骤215,内容处理设备IIO根据应用111中的指令 来确定缓冲器112是否充满。如果缓冲器112未充满,则接下来执行 步骤220。否则,接下来执行步骤225。
在步骤220中,应用111将来自在步骤210中接收到的媒体流127 的单元(例如视频帧)存储在缓冲器112中。
在步骤225中,删去在步骤210中接收到的单元,其中应用111 已在上述步骤215中确定缓冲器112充满。
接下来,在步骤230中,应用111确定媒体流127是已终止还是 正在继续,即是否存在要处理的其它帧。如果是,则过程200返回到 步骤210。否则,过程200结束。关于过程200及本文所述的其它过程,应理解的是,通常以基本
连续的形式来提供已经开始的媒体流127,并且即使在执行过程200(或
其它过程,如果适用的话)中的其它步骤时,通常也如上文参照步骤
210所阐述的那样继续提供媒体流127。应理解的是,对于媒体流127 中的不同帧,可以同时执行过程200的各种步骤。也就是说,在对第 二帧开始处理之前,用于第一帧的步骤215至240的过程可能未完成。 因此,图2关于媒体流127中的一个帧示出了过程200,但并不意图掩 饰其中同时或并发地处理媒体流127中的多个帧的真实世界示例。例 如,在步骤215中存储第一帧之后,可以甚至在关于第一帧执行步骤 230之前如步骤215所述地存储第二帧。此外,虽然关于过程200未提 及从缓冲器112中移除帧,但应理解的是即使当正在由游戏应用111 从缓冲器112中去除单元(例如帧)时,缓冲器112也可以变满或接 近阈值。
图3示出了用来根据从服务器140接收到的指令来清除缓冲器112 的示例性过程300。过程300提供消耗内容处理设备110中的最少资源 的优点,而且相对容易在客户端设备中实现。此外,当根据过程300 来清除时,缓冲器112有利地保留最新且最"重要的"视频帧。
在步骤305中,内容处理设备110通常通过如上所述的网络125 而根据应用111中的指令来接收来自应用服务器140的媒体流127。
接下来,在步骤310中,应用111确定其是否已在媒体流127中 检测到清除缓冲器112的指令。例如,当从网络125接收到媒体流127 时,媒体流127是包括报头和其它已知字段的分组的流。此类分组可 以包括音频信息、视频信息等作为媒体流127的一部分。然而,此类 分组还可以包括向应用111提供指令的信息。例如,服务器140可以 根据程序指令来提供指令,所述程序指令确定将被存储在缓冲器112 中的特定的帧或帧集合是特别重要的,因此应删去目前在缓冲器112 中的帧以容纳此类即将到来的帧或帧集合。因此,可以命令应用111说明书第10/13页
清除缓冲器112。例如,可以以已知的方式将此类指令包括在MPEG
传送流中。或者,可以以已知的方式将此类指令包括在独立的控制流
中。有利地,可以使此类指令适用于正在由服务器140提供的特定应 用,例如特定的游戏。在任何情况下,如果在步骤310中从服务器140 接收到清除缓冲器112的指令,则接下来执行步骤315。否则,接下来 执行步骤320。
接下来,在步骤315中,应用111促使缓冲器112被清除。因此, 缓冲器112将是空闲的,可用于到来的媒体流127中的帧,并且将由 编解码器113和编解码器114立即从缓冲器112处理此类到来的帧。
接下来,在步骤320中,应用111确定媒体流127是否已到达其 终点。如果是,则过程300结束。否则,过程300返回到步骤305。
图4示出了用于在达到预定的应用专用缓冲器容量限制时清除缓 冲器112的示例性过程400。重要的是要注意到,由缓冲器112内的条 件而不是由服务器140来触发根据过程400的缓冲器112清除。过程 400的方法具有在游戏会话期间提供动态的缓冲器限制调整以补偿诸 如网络125、服务器140等其它系统100元件中的延迟并且保留最新的 帧的优点。此外,过程400需要诸如游戏供应商等应用供应商的实现 以测量端到端延时并适当地清除缓冲器,即为缓冲器112设立适合应 用的容量限制。
在步骤405中,设立缓冲器112的容量限制。应理解的是,如上 所述,可以在接收媒体流127的过程中修改此容量限制。例如,服务 器140可以向应用111发送指令以基于用户102所请求的应用(例如 游戏)来设置缓冲器112的容量限制。
接下来,在步骤410中,内容处理设备110通常通过如上所述的 网络125而根据应用111中的指令来接收来自应用服务器140的媒体流127。
接下来,在步骤415中,应用111确定是否已达到在步骤405中 设立的缓冲器112的容量限制。如果已达到该容量限制,则接下来执 行步骤420。否则,接下来执行步骤425。
在步骤420中,清除缓冲器112。请注意,可以通过部分地而不 是完全清除缓冲器112来执行过程400,特别是步骤420。在部分地清 除缓冲器112的情况下,清除的帧是缓冲器中最早的帧,这是理想的, 因为保留缓冲器112中的最新接收到的帧通常是理想的。与例如在步 骤420中可能执行的缓冲器112完全清除的情况一样,缓冲器112部 分清除可以在游戏会话期间提供动态的缓冲器限制调整以补偿诸如网 络125、服务器140等其它系统IOO元件中的延迟,并且缓冲器112部 分清除保留最新的帧。此外,与缓冲器112完全清除的情况一样,缓 冲器112部分清除利用诸如游戏供应商等应用供应商的实现来测量端 到端延时并适当地清除缓冲器,即为缓冲器112设立适合应用的容量 限制。
在步骤425中,应用111确定媒体流127是否已到达其终点。如 果是,则过程400结束。否则,过程400返回到步骤410。
图5示出了示例性过程500,其为用于本地控制缓冲器112的过 程与用于从服务器140触发缓冲器112清除的过程的混合。
步骤505类似于上述步骤205,不同的是步骤505另外包括同样 在此步骤中设立的与缓冲器112的容量有关的警报水平的设立。在此 步骤505中设立的警报水平通常可以表示为缓冲器112的容量的某个 分数(fraction)。此外,应理解的是,可以在运行中、即在接收媒体 流127的同时修改缓冲器112的警报水平和容量两者。如将在下文中 看到的,在此步骤中设立的警报水平的目的是提供用于向服务器140发送缓冲器112很快可以被充满的警告的机制。也就是说,可以将警 报水平视为用于提供有关缓冲器112状态的警报的阈值。
接下来,以与上文对步骤210过程200所述的方式类似的方式来 执行步骤510。
接下来,在步骤515中,内容处理设备110确定是否己达到在步 骤505中设立的警报水平,即,是否已将缓冲器112充满至或超过警 报水平(即阈值)。如果没有,则过程500返回到步骤510。否贝U,接 下来执行步骤520。
在步骤520中,内容处理设备IIO通常根据应用111中的程序指 令来向服务器140发送消息以告知服务器140已达到缓冲器112的警 报水平。
接下来,在步骤525中,服务器140发送且内容处理设备IIO接 收清除缓冲器112的消息。
接下来,在步骤530中,内容处理设备IIO通常根据应用111和 程序指令促使缓冲器112被清除。
接下来,在步骤535中,服务器140发送且内容处理设备IIO接 收允许流解码器113从如上文关于步骤530所述地形成的缓冲器112 的清除中恢复的信息。例如,在MPEG流中,已知解码器期望视频帧 依次到达,并进一步依赖于接收参考帧,该参考帧用来不仅将其本身 解码,而且将依赖于该参考帧的其它帧解码。因此,当缓冲器112被 清除时,可能需要向流解码器113重新提供参考帧信息以便允许在没 有对用户102的体验的严重、以至显著干扰的情况下继续将媒体流127 解码。接下来,应用111确定媒体流127是否已到达其终点。如果是,
则过程500结束。否则,过程500返回到步骤510。
本文所讨论的示例性实施例包括基于网络的流游戏服务,并在流 视频的情形中进一步讨论。然而,实施例可以并预期将扩展到除縮短 延时之外内容的及时传递也很有利的任何媒体流服务。例如,媒体流 127可以包括静止图像、数据或提供证券报价机信息的类似信息。
关于本文所述的过程、系统、方法、探试法(heuristics)等,应 理解的是,虽然已将此类过程的步骤等描述为根据一定的顺序发生, 但是可以用按照除本文所述顺序之外的其它顺序而执行的所述步骤来 实施此类过程。还应理解的是,可以同时执行某些步骤,可以添加其 它步骤,或者可以省略本文所述的某些步骤。换言之,本文中对过程 的说明是处于说明某些实施例的目的而提供的,绝不应将其理解为限 制权利要求所述的发明。
因此,应理解的是,上述说明意图是说明性而非限制性的。在阅 读上述说明时,除所提供示例之外的许多实施例和应用对于本领域的 技术人员来说是显而易见的。不应参照上述说明来确定本发明的范围, 而是应参照随附权利要求书、以及被授予此类权利要求的权利的等价 物的整个范围来确定本发明的范围。可以预期且意图是在本文所讨论 的技术中将发生进一步的发展,并且所公开的系统和方法将被并入此 类未来的实施例中。总之,应理解的是,本发明能够进行各种修改和 变更,并仅由以下权利要求来限定。
除非本文中进行相反的明确指示,否则权利要求书中所使用的所 有术语意图被赋予其最广泛的合理解释和本领域的技术人员所理解的 其普通意义。特别地,除非权利要求相反地陈述明确的限制,否则应 将诸如 一"、"该"、"所述"等词的使用阅读为引用一个或多个 所指示元素。
权利要求
1.一种方法,包括设立缓冲器的容量;设立所述缓冲器的警报阈值;将来自接收到的媒体流的帧存储在所述缓冲器中;在达到所述警报阈值时发送警报消息;以及响应于所述警报消息,连同恢复信息一起接收清除指令。
2. 根据权利要求l所述的方法,还包括 执行所述清除指令;以及在执行所述清除指令之后,使用所述恢复信息来将接收到的媒体 流解码。
3. 根据权利要求2所述的方法,还包括向媒体播放器提供已解码 的输出。
4. 根据权利要求l所述的方法,其中,所述警报阈值小于所述容
5. 根据权利要求l所述的方法,其中,向服务器发送所述警报消 息,并从所述服务器接收所述清除指令和所述恢复信息。
6. 根据权利要求1所述的方法,其中,根据运动图像专家组 (MPEG)的标准来将所述媒体流格式化。
7. 根据权利要求l所述的方法,其中,经由分组交换网络来接收 所述媒体流。
8. 根据权利要求l所述的方法,作为计算机可读指令被有形地包含在计算机可读介质上。
9. 一种系统,包括计算设备,其选择性地接收媒体流;缓冲器,其被包括在所述计算设备内,选择性地存储来自所述媒 体流的帧,所述缓冲器被配置为一定的容量;以及程序指令,其在所述计算设备内,用于在达到所述警报阈值时发 送警报消息并响应于所述警报消息而连同恢复信息一起接收清除指 令。
10. 根据权利要求9所述的系统,还包括 程序指令,其用于执行所述清除指令;以及解码器,其在执行所述清除指令之后使用所述恢复信息来将接收 到的媒体流解码。
11. 根据权利要求IO所述的系统,还包括选择性地从所述解码器 接收已解码的输出的媒体播放器。
12. 根据权利要求9所述的系统,其中,所述警报阈值小于所述
13. 根据权利要求9所述的系统,还包括接收所述警报消息并发 送所述清除指令和所述恢复信息的服务器。
14. 根据权利要求9所述的系统,其中,所述媒体流根据运动图 像专家组(MPEG)的标准而被格式化。
15. 根据权利要求9所述的系统,还包括传送所述媒体流的分组 交换网络。
16. —种方法,包括 设立缓冲器的容量;设立所述缓冲器的警报阈值,所述警报阈值小于所述容量; 将来自接收到的媒体流的帧存储在所述缓冲器中; 在达到所述警报阈值时发送警报消息; 响应于所述警报消息而连同恢复信息一起接收清除指令; 执行所述清除指令;以及在执行所述清除指令之后使用所述恢复信息来将接收到的媒体流 解码。
17. 根据权利要求16所述的方法,还包括向媒体播放器提供已解 码的输出。
18. 根据权利要求16所述的方法,其中,向服务器发送所述警报 消息,并从所述服务器接收所述清除指令和所述恢复信息。
19. 根据权利要求16所述的方法,其中,根据运动图像专家组 (MPEG)的标准来将所述媒体流格式化。
20. 根据权利要求16所述的方法,作为计算机可读指令被有形地 包含在计算机可读介质上。
全文摘要
一种计算设备选择性地接收媒体流。包括在该计算设备内的缓冲器选择性地存储来自所述媒体流的帧,该缓冲器被配置为一定的容量。所述计算设备内的程序指令是用于在达到阈值时发送警报消息并用于响应于该警报消息而连同恢复信息一起接收清除指令。
文档编号G06F3/00GK101611365SQ200780043185
公开日2009年12月23日 申请日期2007年11月12日 优先权日2006年11月21日
发明者劳尔·阿尔德雷, 哈尔帕·S·巴萨利, 莫舍万·明瓦拉, 马赛罗·D·莱希纳 申请人:威瑞森数据服务公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1