CN1606302A - 存在网络阻塞点时用于免打嗝快速信道改变的媒体流调度 - Google Patents

存在网络阻塞点时用于免打嗝快速信道改变的媒体流调度 Download PDF

Info

Publication number
CN1606302A
CN1606302A CNA2004100856051A CN200410085605A CN1606302A CN 1606302 A CN1606302 A CN 1606302A CN A2004100856051 A CNA2004100856051 A CN A2004100856051A CN 200410085605 A CN200410085605 A CN 200410085605A CN 1606302 A CN1606302 A CN 1606302A
Authority
CN
China
Prior art keywords
media stream
data
display device
time
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004100856051A
Other languages
English (en)
Other versions
CN1606302B (zh
Inventor
D·L·格林
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 Technology Licensing LLC
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 CN1606302A publication Critical patent/CN1606302A/zh
Application granted granted Critical
Publication of CN1606302B publication Critical patent/CN1606302B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Television Systems (AREA)

Abstract

本发明的实现,如在此所述促进新媒体流的快速启动,而同时避免新媒体流呈现的时间中断(即“打嗝”)。在此说明的至少一个实施例协调媒体流网络上多个并发媒体流的递送。其协调解决带宽限制阻塞点的遍历;快速停止来自流集合的一个或多个媒体流的递送;快速初始化先前不在该集合中的一个或多个新媒体流的递送和呈现(如“信道改变”);以及产生该集合中所有流的流畅回放,而不管它们不同的时间线。摘要本身并不限制本专利的范围。本发明的范围是在后附的权利要求书中指出的。

Description

存在网络阻塞点时用于免打嗝 快速信道改变的媒体流调度
技术领域
本发明主要涉及数据信号传输技术。
背景技术
随着(诸如那些使用单播、多播和广播的)数字媒体流技术的出现,当正从媒体服务器接收数据时,用户能够或多或少地看见并听见数字媒体。
在此,“媒体流”是根据现在或将来可用的机制压缩并编码的(包含音频和/或可视化内容,诸如视频的)多媒体对象。此外,应根据通常可用的机制解码和呈现这样的媒体流。
在不失一般性的前提下,可将相同的技术应用于任何具有类似结构的媒体流,这样能减少时间或空间冗余。例如,诸如AC3这样的许多音频压缩格式具有后面跟随有修正数据的关键帧,以重新产生原始未压缩流的近似。
多媒体分发格式标准
由于准确代表这样的多媒体内容所需的数据量,通常以编码、压缩的形式将其递送到计算设备。为再现用于呈现的原始内容,通常多媒体内容进行解压并在呈现它之前解码。
已经开发了许多定义用于分发的已编码多媒体内容的格式和意义的多媒体标准。诸如由国际标准化组织(ISO)和国际电工技术委员会(IEC)支持的运动图象专家组这样的组织,以及由国际电信联盟(ITU)支持的视频编码专家组(VCEG),已经开发了许多多媒体编码标准(如MPEG-1、MPEG-2、MPEG-4、H.261、H.263以及类似的标准)。
有许多不同的标准化视频流数据格式。例如,MPEG、H.263、MPEG-1、MPEG-2、MPEG-4可视化、H.264/AVC以及DV格式。同样地,有许多不同的标准化音频流数据格式。如:MPEG音频、AC3音频、DTS音频,或者MLP音频。
占主导优势的数据视频压缩和传输格式来自称作基于块的运动补偿混合视频编码器家族,例如ISO/IEC MPEG-x(运动图象专家组)和ITU-T VCEG H.26x(视频编码专家组)标准。这个标准家族用于以数字压缩格式对音频可视信息(如电影、视频、音乐和诸如此类的)进行编码。
为了便于解释,这里主要讨论并说明MPEG-2媒体流(也已知为H.262媒体流),这是因为其具有传统视频编码方法的典型结构。然而,那些本领域的熟练技术人员理解并认识到存在其他这样的数字媒体压缩和传输格式并可以使用它们。
典型的MPEG-2视频序列由通常称作图像组(或“GOP”)的帧序列组成。GOP由图像或帧的序列组成。GOP数据被压缩为I-、P-和B-帧序列。
I-帧(即,内帧)是独立启动图像-(以与JPEG图像类似的格式压缩)。I-帧或“关键帧”被编码为单个图像,不引用任何过去的或将来的帧。有时候其被称作随机访问点(RAP)。
那些本领域的一般熟练技术人员熟悉I-、P-和B-帧之间的关系。
媒体流的传输
为实用起见,携带来自媒体流编码器的音频或视频的连续媒体流通常被分解为多个用于传输的包。这些分包流通常称作分包基本码流(PES)。这些包由包含用于同步PES包的时间戳的首部来定义。
传输流通常携带许多不同的媒体流。媒体流解码器必须能够从一个媒体流改变到另一个并正确地选择新近选择的媒体流的适当音频和数据信道。由于每个媒体流可被视作“信道”,所以从一个媒体流改变到另一个的动作通常可被称作“改变信道”。而且,在之前没有接收到任何媒体流时,启动媒体流的动作也可被称作“改变信道”。
时间戳
在压缩之后,由于双向编码,媒体流编码器通常发送失序的帧。这样的帧需要可变量的数据,并且由于多路复用和传输,这样的帧受限于可变延迟。由于多种原因(包括如同步音频和视频流),周期性地将时间戳合并到媒体流中。
时间戳表明特定GOP在时间上的位置。当解码器接收到PES包时,对每个帧进行解码和缓冲。当时间线计数(timeline count)达到时间戳的数值时,读取出缓冲器中的帧。
PTS/DTS
当使用双向编码时,可能必须在呈现帧之前对其解码,以使其可充当另一个帧的数据源。然而,例如,可以用IBBP的顺序来呈现图像,它们将以IPBB的顺序发送。因此,存在两种类型的时间戳。解码时间戳(DTS)表明何时必须解码图像的时间,然而呈现时间戳(PTS)表明必须何时将其呈现到解码器输出。
PTS仅表明帧的第一个离散呈现部分的呈现时间,而不是后续呈现部分(如,视频帧的后续区域,或音频帧的后续样本)的呈现时间。
由于这里关注的是最快进行的流呈现,所以这里的讨论将忽略DTS,而参考PTS。
PCR
在传输流中,每个信道可源于不同的地理位置;并且因此不太可能被同步化。结果,传输流通常对每个信道提供单独的同步方法。此同步使用节目时钟参考(PCR)时间戳,且重建稳定参考时钟。
某些媒体流编码器对每个帧提供显式PCR。其它媒体流编码器对某些帧提供PCR;因此,这就要隐含确定其他帧的PCR。在此,我们假定每个包都具有显式PCR或者可以隐含确定的PCR。
通常,媒体流编码器产生遵从特定位速率和时间选择限制的流。这是编码器的义务。
某些编码器产生的流是真实CBR(常量位速率)流。对真实CBR而言,可推断出PCR与DTS相等或对DTS有小的负偏移。
某些编码器产生VBR(可变位速率)流,它仍旧遵从可指明的最大位速率限制。对VBR流而言,编码器可能在每个包上都给出显式PCR,它可能给出显式PCR,但是仅对某些包给出,或者可能在任何包上都不给出显式PCR。
下溢
当接收单元用完要解码的(或呈现的)数据时,称其为“下溢”。当接收单元即将对下一帧进行解码(或呈现)但是其还没有接收到(或解码)该帧的所有数据时出现下溢。
下溢的实际和明显的表现形式是呈现运动视频中的时间中断(如“打嗝”或“结巴”)而非所需的流畅播放运动视频的效果。例如,经历下溢的接收单元可能在显示下一个或较晚帧之前显示视频流的帧而后面跟随有明显的延迟,而不是以固定频率显示运动视频(如15帧每秒)。这将继续几秒或几分钟。
当接收单元改变信道时,下溢的条件成熟。若接收单元一接收到帧就立即呈现帧并对新的引入媒体流进行解码,则下溢条件很可能出现。
然而,对多媒体内容而言,在某些定义点处呈现给用户是常见的(如当缓冲器足够满或在从接收起定义的延迟之后)。当播放多媒体内容时,接收设备清空保存在其缓冲器中的数据。然而,当接收设备正播放已保存的多媒体时,更多的数据被下载以重新填充缓冲器。只要至少以从不完全清空缓冲器的方式回放数据的速度下载,文件将被平稳播放。
通常,媒体流编码器产生遵从特定位速率和时间选择限制的流。每个由编码器产生的传输包具有显式的或隐含的PCR(节目时钟参考)。编码器保证若以由每个包的PCR指示的次数来发送传输包,则流总体上将遵从位速率、时间选择,以及流的因果性限制。
例如,若在5秒窗口之上进行测量时位速率限制是媒体流不超过一兆位每秒(如1Mb/s),时间选择限制是PCR到PTS延迟将决不超过3秒,并且因果性限制是PCR小于或等于DTS且PCR小于或等于PTS,则编码器必须对该流产生当聚集到一起并根据每个包的PCR发送时遵从这些限制的传输包连同PCR和PTS以及DTS(每个或者是显式的或者是隐含的)。
上述这些被设计用来防止下溢的传统技术产生了恼人的副作用:“信道启动延迟”。
发明内容
这里说明的实现促进新媒体流的快速启动,而避免新媒体流呈现的时间中断(如“打嗝”)。这里说明的至少一个实现调整媒体流网络上的多个同时媒体流的递送。其调整解决限制带宽的阻塞点的遍历;快速地停止来自流集合的一个或多个媒体流的递送;快速地初始化一个或多个先前没有在集合中的媒体流的递送和呈现(即“信道改变”);并且在集合中产生所有流的流畅回放,而不管它们的不同时间线。
此摘要本身不限制本专利的范围。而且,本专利的标题不限制本专利的范围。为更好理解本发明,请结合附图,查看下面的详细说明和后附的权利要求书。本发明的范围在后附的权利要求书中指出。
附图说明
在所有附图中,相同的编号用于引用类似的元素和特性。
图1是阐明能够(完全或部分地)实现这里说明的至少一个实施例的范例媒体流网络拓扑的示意图;
图2是示出这里说明的方法实现的状态图;及
图3是示出这里说明的方法实现的流程图。
具体实施方式
在下面的说明中,为解释起见,为提供对本发明的详尽理解,阐明特定的数字、材料和配置。然而,本领域的熟练技术人员应理解,不用特定的范例细节也可实施本发明。在其他的实例中,熟知的特征被省略或简化以阐明本发明范例实现的说明,并且因此以更好地解释本发明。此外,为便于理解,特定的方法步骤被描述为单独的步骤;然而,这些单独描述的步骤不应被解释为在顺序上依赖于它们的执行。
下面的说明阐明用于出现网络阻塞点时的免打嗝快速信道改变的媒体流调度的一个或多个范例实现,它包含在后附的权利要求书中陈述的元件。具体地说明这些实现以符合法定书面说明、授权,以及最佳模式需求。然而,说明本身不限制本专利的范围。
这里说明的这些范例实现是例子。这些范例实现不限制本发明所请求的范围;而是本发明也可结合其他当前或将来的技术而以其他方式具体化和实现。
用于出现网络阻塞点时的免打嗝快速信道改变的媒体流调度的实施例范例也可被称作“范例媒体流调度程序”。
虽然范例媒体流调度程序的多数讨论是根据数字压缩和传输格式的MPEG家族进行的,但是本领域中那些普通水平的熟练技术人员应理解这里讨论的与MPEG有关联的概念是如何应用到其他诸如H.264这样的格式的。
在此,“呈现”包括将媒体内容传送到显示器和/或音频设备。它也包括将媒体内容保存到存储器中,将这样的内容传送到另一个设备或组件,和/或通过信号传输媒体来发送内容。
介绍
使用范例媒体流调度程序,“信道启动延迟”时间显著减少。使用现有的方法,信道改变初始化同完全和流畅的运动视频呈现之间的时间量级为一秒或多秒。使用范例媒体流调度程序,相同动作的时间量级为一秒的一部分(如100毫秒)。
在现有方法中,避免“下溢”的需要(通过使视频播放出现结巴或打嗝现象而表明)是造成较长的信道启动延迟的主要因素。媒体流编码器通常对帮助定义信道启动延迟的(正在接收流的)媒体呈现设备提供指导。
为提供指导,编码器发送具有时间戳(具有PCR)的流中的一个或多个包的传输调度信息,以指定呈现设备何时能够安全地开始播放流(无下溢)。当进行此项工作的时候,编码器通常假定呈现设备的特定数据速率(诸如1Mbs)并假设时间选择限制。
然而,范例媒体流调度程序引入新的方法,该方法使用媒体流调度程序和呈现设备之间可用带宽的实际知识。范例媒体流调度程序具有网络带宽可用性的实际知识和进入的媒体流的实际知识,而不是假设或强加的限制。
媒体流网络拓扑
图1阐明范例媒体流网络拓扑100,在其中可以(部分或全部地)实现技术、系统和其他在此说明的方面。范例拓扑100是促进多媒体分发的电视娱乐系统。
范例拓扑100包括一个或多个媒体流编码器110、其他内容提供者112(如一视频点播)、(具有零个或更多阻塞点的)网络120、调度程序130,以及内容分发系统140。
媒体流编码器110和其他内容提供者112提供诸如电影、电视节目、商业、音乐和类似音频和/或视频内容这样的媒体内容。它们以网络120上的媒体流的形式将此内容提供到内容分发系统140并最终将内容提供到呈现设备(如160和162)。
内容分发系统140代表将多媒体内容提供到多个订户的头端服务。一个或多个传输子系统与内容分发系统140连接,如在150和152处所示。仅有在这里阐明两个传输子系统,但是,当然,可能有更多的传输子系统。
一个或多个媒体呈现设备与每个子系统连接,如在160和162处所示的分组。所示的每个子系统具有3个呈现设备分组,但是,当然,每个子系统可能有任何数量的呈现设备。
编码器110和内容提供者112通过内容分发系统140和网络120将媒体流发送到呈现设备。
呈现设备(诸如那些在160和162处以分组阐明的)能以多种方法来实现。呈现设备可为“机顶”盒。呈现设备可与电视连接,用于呈现由呈现设备接收到的内容(如音频数据和视频数据),以及图形用户界面。可以实现特别的呈现设备来显示或呈现内容。
网路拓扑和单播
范例拓扑100可为广播、多播和/或单播的混合。然而,范例拓扑100的接收端-在阻塞点和呈现设备之间-为单播。
虽然在阻塞点拓扑中可能存在阻塞点的任意集合,正被追踪的媒体流沿着从它们到呈现设备的路径上仅通过每个阻塞点最多一次。内容分发系统140是典型带宽限制阻塞点的例子。此外,网络120具有零个或多个带宽限制阻塞点。范例媒体流调度程序支持任意的阻塞点拓扑,其中通过该一个或多个阻塞点到一个或多个呈现设备的通信是单播的。换言之,这可以说明媒体流网络拓扑中的一个或多个单播阻塞点。
范例拓扑100(包括网络120)可包括有线电视网络、无线电、微波、卫星,和/或数据网络,如国际互联网,并且也可包括使用任何多播格式或多播协议的有线或无线通信媒体。另外,范例拓扑100可使用任何类型的网络拓扑和任何网络通信协议,并可被表示为或实现为两个或多个网络的组合。
每个呈现设备与网络拓扑中的零个或多个带宽限制阻塞点相关联。在概念上,递送到呈现设备的数据经过与其相关联的阻塞点。
对每个阻塞点而言,该阻塞点的猝发容量定义为该阻塞点的容量减去与该阻塞点相关联的呈现设备的保留位速率之和。
现有方法:静态供给带宽
使用现有的情况,每个下游呈现设备(诸如162a)在它和传输子系统(诸如152)之间具有定义量的静态供给的带宽(如1Mbs)。它从不具有更多的带宽,并且从不具有更少的带宽。在现有的情况中,呈现设备一直具有静态保证的带宽(无论需要与否)。
然而,有时候,诸如当改变信道时,以较快的速度接收数据将是有利的;这样,将需要更多的带宽。然而,在现有的情况中,呈现设备从不以较快的速度接收数据,这是因为其带宽是静态供给的。
通常,子系统和呈现设备之间的链接与在传统情况中静态供给的相比,能够显著具有更多的带宽。例如,典型DSL链接能够具有4Mbs,但是通常静态供给1Mbs或更少。因此,每条线的完全4Mbs没有被利用上。
使流遵从整体位速率限制的目的在于这能够保证可能通过具有总是大于或等于流的位速率限制的位速率的连接而播放该流。通信信道通常具有固定的位速率的原因或者是由于技术限制(不能再快了),或者是由于信道被限制为特定的速率,这样以使得对更高的位速率收取更多的费用。
现有的方法是假定只有等于流的位速率限制的位速率将到达接收器。当确定何时初始化回放时,通常假定将来仅有最小需要的位速率是可用的,并且为不下溢,该流将连续地需要整个最小量。当通过单播发送流到接收器时,通常假定到接收器的可用位速率的量是未知的,但假定比流的位速率限制大,这即使在实际可用位速率比流的位速率限制高的情况下也是成立的。
新方法:保留但可动态分配的带宽
使用范例媒体流调度程序,不静态供给带宽。呈现设备具有与它们相关联的保留位速率。然而,在对当前时隙进行调度时,该保留位速率可被动态赋予其他呈现设备。因此,不对其他呈现设备在将来时间进行保留。
使用范例媒体流调度程序,每个呈现设备的最大猝发带宽仅由网络通信链接(包括沿着该路径的阻塞点)的内在限制而限制。使用范例媒体流调度程序,带宽不必人工地限制得小于其完全容量。
几个流可被同时发送到相同的呈现设备。然而,被发送到呈现设备的流的名义位速率必须合计起来小于该呈现设备的保留位速率。
调度程序
范例媒体流调度程序可通过范例媒体流网络拓扑100的调度程序130(完全或部分地)实现。如由图1中的箭头所示,媒体流编码器110和其他内容提供者112向调度程序130提供有关它们的输出媒体流的调度信息。
调度程序不必接收正被发送到呈现设备的实际媒体流(尽管它可以)。相反,它至少需要知道当前正由呈现设备接收到的流的每个帧的调度信息(如大小、PCR以及DTS)。当呈现设备执行信道改变时,它也可知道关于新近初始化流的调度信息。它也知道每帧的大小以及每帧的解码时间。
范例媒体流调度程序使用某种形式的网络通用时钟同步来分发媒体流网络上的主时基,如网络时间协议(NTP)。这个网络时间可与诸如通用协调时间(“UTC时间”)这样的通用时间保持系统保持同步。
尽管每个流上时间戳的速率可轻微变化,但是每个流却偶尔包括在网络通用时钟的时基中的时间戳以及在该流的时基中的相应时间戳。通过该方式,所有网络系统和流都根据网络通用时钟来调度和同步。
可见性窗口
调度程序使用“可见性窗口”。这个窗口允许调度程序有效的“预测”媒体流中的指定时间量。由于它不能实际预测,所以媒体流延迟指定的时间量,以模拟在该“可见性窗口”阶段在即将来临的时间表处的预测。不断更新可见性窗口,以使其保持固定的“预测”可见性窗口大小。
虽然可见性窗口的长度可为可定制的参数,但是十秒的窗口被用于在此所述的至少一个实施例。因此,这里关于这个10秒可见性窗口的参考仅是窗口长度的一个例子。当然,其他的实施例可使用较短或较长的窗口长度。
窗口被分割为多个时隙。时隙的实际长度可以是可定制的参数。时隙的长度可能是,例如,1秒、半秒、100毫秒、等于一个帧的呈现时间,或者一个包的期望传输时间。
对在此说明的至少一个实现,时间被分割为相等大小的时隙。在时隙之间发生的所有事件可被认为是如在时隙的初始时刻发生的一样。
根据主时基(“网络通用时钟”时基)而定义每个时隙的开始时间,并且根据时间线的共同性对流进行分组。相同信道的视频和音频流与相同的时间线关联。
可能出现的情况是某些正被发送到呈现设备的流将和一个或多个正被发送到呈现设备的其他流共享相同的时间线。具有给定时间线的一个流正被发送的事实不需要来自给定时间线的所有流被发送。来自正被发送到呈现设备的给定时间线的流集合可被称作“输出流集合”。
容量时间线
可根据位速率或根据数据量来表示使用和未使用的容量。表示使用和未使用容量的两种方法是等效的,并且它们在这个说明中可以互换使用。
网络中的每个阻塞点都具有位速率限制。这将被称作该阻塞点的带宽容量。呈现设备的接收容量被认为是为用于配置阻塞点的网络部分。若呈现设备仅能以比呈现设备和数据发送器之间的最低位速率阻塞点小的最大位速率接收数据,那么,代表呈现设备接收能力的阻塞点被用来将数据的发送限制在呈现设备能力内。唯一能经过接收能力阻塞点的数据是有关该呈现设备的数据。
对每个阻塞点而言,调度程序130追踪对每个时隙分配以经过该阻塞点的数据量对每个时隙分配以经过该阻塞点的猝发数据量。对每个时隙分配以经过该阻塞点的猝发数据量被定义为每个流在超过该流的名义位速率的相同时隙中发送到每个和该阻塞点关联的呈现设备的数据之和。
它使用“容量时间线”进行追踪。在每个时隙中,阻塞点的未分配猝发容量可分配到正被发送到任何呈现设备的任何流。当第一时隙的时间到达时,在第一时隙处的每个阻塞点的未分配带宽(不仅仅是未分配的猝发带宽)可用于将来自将来时隙的数据发送到一个或多个呈现设备。
使用这样的时间线,调度程序知道每个阻塞点对每个时隙的最大带宽容量。
范例媒体流调度程序根据对每个阻塞点的每个时隙基于每个时隙跟踪已使用的位。它也根据对每个阻塞点的每个时隙基于每个时隙跟踪已使用的猝发位。
对容量时间线,范例媒体流调度程序对到给定呈现设备的给定输出流而指定给出的时隙,并对给出的阻塞点(或多个阻塞点),指定可最多包含在该时隙处或在该时隙之前从那个输出流发送出的数据量的时隙。
该指定量等于该流的名义位速率乘以“时隙宽度”,加上限制程度最高的阻塞点的猝发容量的任何未由该时隙中的其他流使用的部分。该时隙宽度以时间单位衡量(如秒、毫秒等等)。
该指定的最大量是通过所有与呈现设备相关联的阻塞点确定的,这样以使限制程度最高的阻塞点是确定指定量的那一个。指定最大量是保留用于在该时隙处或该时隙之前从输出流发送到调度程序允许时隙包含的给出呈现设备的最多数据。
注意,通过附加或移除相关联的呈现设备而增加或减少阻塞点的整体猝发容量不仅仅需要对每个时隙进行每时隙每阻塞点使用的猝发位或每时隙每阻塞点使用的位的任何更新。到呈现设备的输出流在时隙中以被定义为零和该时隙中由该流到该呈现设备的流使用的位的最大值减去媒体流的名义每时隙位的量使用猝发容量。媒体流的名义每时隙位通过媒体流乘以时隙宽度的名义位速率来计算。
容量时间线可比可见性窗口短。然而,就实际情况而言(以及关于在此说明的实施例),容量时间线和可见性窗口是相同大小的。例如,若可见性窗口是10秒长,且被分为100个时隙,则容量时隙也是10秒长且其被分为100个时隙。
最终期限时间表
对每个正被发送的流和对每个时隙而言,调度程序130追踪在该时隙中被分配到该流的数据量,并可追踪在该时隙中被分配到该流的指定数据的调度信息(DTS、PCR、帧大小),若存在话。在时隙中被分配到流的数据必须在该时隙时间处或该时隙时间之前输出。换言之,分配到时隙的数据输出的最终期限是该时隙的时间。
调度程序130保持向将来走几个时隙的时间表。该时间表可被视为“最终期限时间表”。系统中的每个输出流具有最终期限时间表。
对最终期限时间表,被安排在给出时隙中输出的包必须在该时隙前输出。虽然他们可能较早输出,但是它们必须在它们的指定时隙前输出。该包是在该指定时隙中的,这是因为那是它们必须输出的最终期限。
对给定流的数据必须总是在时间表中的时隙上符合流次序。数据可在被发送或丢弃时被从该时间表中移除,当初始化调度时附加到时间表,及在该时间表中移动,但是较晚的时隙与较早的时隙相比,总是保持流中较后的数据(基于每输出流)。只要保留数据的顺序仍旧符合流次序,那么若数据被从时间表的中间发送,则可从时间表的中部移除该数据。
根据时间线的共同性在最终期限时间表中对流进行分组。若视频流和音频流是关于相同信道的,则它们与相同的时间线相关联。来自某些内容提供者(如CNN)的时间线与关于其他(如MSNBC)的时间线相比能以稍微不同的实际速率来运行。它们与主时间线相比均能以稍微不同的实际速率来运行。然而,可以偶尔将它们“固定”到具有一对时间戳的主时基上,一个来自主时基,且另一个来自由内容提供者提供的时间线。
这样,通过在可能时使用内插并在内插不可能时使用外插,在来自内容提供者的慢或快(相对名义上而言)时间线上的时间戳可被转换为主时基或从主时基转换。内容提供者时间线相对于其接收的延迟可通过简单的移动通过主时基上延迟量的对应部分来获取。
最终期限时间表集中于调度何时发送正由呈现设备消耗的(或很快要被消耗的)多媒体流的媒体流数据包。
当范例媒体流调度程序将位调度到时隙中时,这以特定的粒度来进行。此粒度可为部分位、位、字节、等大小包、非等大小包等等。这里将用调度“位”来说明,但是应当认识到相同的说明可应用到调度部分位或任何其他的粒度。
某些实现可调度等大小包且其他实现可调度可变大小包。
最终期限时间表可能比可见性窗口短。然而,实际情况是(且对在此说明的实施例),最终期限时间表和可见性窗口是同等大小的。例如,若可见性窗口是10秒长,且被分割为100个时隙,则最终期限时间表也是10秒长且被分割为100个时隙。
范例媒体流调度程序的操作状态
图2基于每个流的阐明范例媒体流调度程序实现的状态图200。通常,此实现由调度程序130(图1中阐明)或媒体流网络拓扑中等效的一个或多个设备来(完全或部分地)执行。此实现的某些部分也可由呈现设备来执行。可以用软件、硬件或其组合的方式来执行此实现。
图2的状态图200是基于每输出流集合的。换言之,每个输出流集合的当前状态可由其自身独立的状态图(像图2那样)来追踪。那些本领域普通熟练的技术人员应理解这里讨论的管理特定输出流集合状态的范例媒体流调度程序可被应用于管理多个呈现设备的多个并发输出流集合的独立状态。
每个输出流集合可为空闲210、开始220,或者已开始230。空闲和开始状态之间的区别是呈现设备是否已经请求了输出流集合(由状态图200表示)。开始和已开始状态之间的区别是输出流集合是否已经实际上开始被呈现。
一旦最高优先级流已经从开始转变为已开始,除了输出流集合中的最高优先级流之外的流可直接从空闲转变为已开始。从空闲直接转变为已开始出现的原因是输出流集合已经开始了,且除了最高优先级流之外的流必须加入这个已经开始的输出流集合。任何流可在任何时候加入已经开始的输出流集合,且这样的加入发生的任何时候,加入流直接从空闲转变为已开始。当数据被加到关于正加入流的最终期限时间表时,尽可能晚地附加它,而不违反调度限制,这是通过在最终期限时间表末端开始且向后处理到当前时隙来实现的。
照这样,找出了正加入的流的最早可递送并可播放的随机访问点,并随后及时递送以进行播放。而且,在任何时候都可从输出流集合移除流,而不中断输出流集合中其他流的正进行的回放。而且,可在任何时候将流附加到输出流,而不影响输出流集合中的其他流正在进行的回放。尽管处于开始或已开始状态中的输出流集合也可能处于暂停状态,但是为简单起见,没有在此展示和考虑暂停状态。
图2的空闲状态210代表特定输出流集合的范例媒体流调度程序的空闲状态条件。在其等待信道改变请求时其保持在这个状态。
在其等待时,范例媒体流调度程序准备这样的请求。它接收每个正在媒体流网络上发送的流的调度信息的“可见性窗口”,该窗口包括在特定输出流集合中的特定流,该流是状态图200的焦点。使用此窗口,调度程序知道必须递送什么包且在该窗口的时间帧内的何时之前将这些包递送到每个呈现设备。
范例媒体流调度程序对所有的流和所有阻塞点(包括状态图200的特定输出流集合的特定流)在窗口中所有的时隙中追踪下面的“现场”信息:
●正由网络上每个呈现设备使用的流的递送最终期限时间表;以及
●网络中每个阻塞点的动态带宽利用时间线,该网络包括对应于呈现设备接收位速率能力的那些阻塞点(如果需要的话)。
它也知道每个流遍历以到达每个呈现设备的阻塞点路径。因此,它可以确定保留和对每个时隙的每个输出流(流到每个设备)保留的带宽量。
基于正进行的情况,它保持保留的带宽量,并保持快速确定每个流和每个时隙保留的带宽所需的数据。保留的和可能保留的带宽量是由流在该最终期限时间表中必须通过的一个或多个带宽限制阻塞点和其他设备的需要确定的。范例媒体流调度程序使用动态带宽容量时间线来保持并更新此数据。特别地,保持且基于每时隙每输出流而保持最新的数据由下面组成:
●在这个时隙处或在这个时隙之前什么数据需要对这个流输出的指示,此后称“最终期限位计数”。
●在这个时隙处或在这个时隙之前有多少数据被保留以对这个流输出的指示。这个量可大于或等于指示的具体数据量。若大于,则这样的保留数据量必须来自较晚的时隙,此后称“保留位计数”。
●隐含值(不需要实际保存该值,因为可以容易并快速地通过可用值得到),它等于最终期限位计数及保留位计数中的较大者,此后称“有效位计数”。
●隐含值,其等于有效位计数减去流的每时隙名义位计数,此后称“有效猝发位计数”。
保持并基于每时隙每阻塞点保持最新的数据由下面组成:
●对这个阻塞点和这个时隙而使用的阻塞点容量的量,此后称“已使用位计数”。已使用位计数是在这个时隙中通过这个阻塞点的所有流上的有效位计数之和。
●对这个阻塞点和这个时隙而使用的阻塞点猝发容量的量,此后称“已使用猝发位计数”。这个值必须小于或等于已使用位计数值。已使用猝发位计数是在这个时隙中通过这个阻塞点的所有流上的有效猝发位计数之和。
若范例媒体流调度程序接收输出流集合的信道改变请求(诸如状态图200所述的那个),则该特定的新输出流集合的处理就进入开始状态220。处于此状态的范例媒体流调度程序的动作在图3中阐明。
在开始状态220中,范例媒体流调度程序调度特定信道(如新的流)的已请求信道变化,使其具有最小启动延迟并同时避免下溢。
作为特定输出流集合开始状态的部分,它将“启动基本资料”发送到新的输出流集合的接收器(即,呈现设备)。启动基本资料指定接收器必须具有多少数据才能够以不同次数启动特定集合。若接收器在那时根据启动基本资料在具有足够数据的给出时间处开始,则晚些不会出现下溢。后面在标题为“启动基本资料”的部分中更详细地讨论了启动基本资料。
此外,媒体流调度程序(或其他内容提供者)开始提供输出流集合中刚刚请求的媒体流(如“新的信道”)。对输出流集合中初始发送的每个流而言,首先发送的数据是随机访问点(RAP)帧。例如,它可以为MPEG流中的I-帧。可在接收到并解码时被立即显示这个RAP。然而,一旦确保由于满足启动基本资料而没出现下溢,则呈现设备将仅显示完全动作视频。这就避免在新信道启动期间的“打嗝”。媒体流调度程序可初始地仅提供在输出流集合中的流的子集,或可初始地提供输出流集合中的所有流。
若不是初始地提供输出流集合中的所有流,则可在满足启动基本资料之后提供余下的流。当提供余下的流时,以启动附加到已经启动的输出流集合的新近附加的流相同的方式启动它们。初始提供少于输出流集合中所有流的原因是使初始提供的流比初始提供输出流集合中的所有流更快速地启动。例如,可以在提供音频之前提供视频。直到满足启动基本资料之后才提供音频。
图2的已开始状态230代表在其已经完全开始(并正呈现特定流时特定输出流集合的状态。在这个状态中,呈现设备已经接收到足够的数据来满足启动基本资料。它提供信道并通知媒体流调度程序(或其他内容提供者)它正在这样做。呈现设备可以实际上顺次启动呈现帧,也可以不这样,这取决于该呈现是否暂停,但是呈现设备在满足启动基本资料之后,可随意在任何时候顺次开始呈现帧。
已开始状态中特定输出流集合的范例媒体流调度程序的操作
图3示出在开始状态220中特定输出流的范例媒体流调度程序的方法实现。
此实现通常由调度程序130(图1中阐明)或媒体流拓扑中的一个或多个等效设备(完全或部分地)执行。此实现的某些部分也可由呈现设备来执行。这个方法实现能以软件、硬件,或者其组合来执行。
图3中阐明的和在此说明的动作基于每个输出流集合执行。范例媒体流调度程序对开始状态220中的每个新信道执行这些动作。一旦范例媒体流调度程序已经从请求呈现设备接收到信道变化请求,则执行这个方法实现的动作。该设备已经请求了新的信道。
在310处,范例媒体流调度程序快速停止从流集合到老信道设备的递送。呈现设备(及其新的信道)除任何其他调度程序能够分配到新信道的带宽外现在还可以使用从前分配到老信道的带宽。
当停止流时,简单地从最终期限时间表中移除该流的数据,且与呈现设备相关联的阻塞点的阻塞点使用适当减少。
在312处,范例媒体流调度程序重新计算每个流和每个时隙的最大数据速率,且它这样做还考虑新信道的最高优先级流,它是通过请求设备请求的新信道的主要流。最高优先级的流可以为例如视频流,以使得视频尽快开始,即使意味着若视频和音频均是相同的优先级,音频也会比视频开始得稍微晚一点。最高优先级流可为输出流集合中流的子集合(直到所有)的多路复用,该多路复用使来自子集合的帧根据那些帧的DTS(解码时间戳)来安排。
在314处,将新信道的最高优先级流(其自身可以是来自输出流集合流的子集合的多路复用)插入到正被发送到共享一个或多个共用阻塞点的呈现设备的流的最终期限时间表中。由于新的流相对于已经在最终期限时间表中的流通常会在最后期限时间表的开始处具有更多的数据,所以当媒体流调度程序正选择以与最终期限时间表中由该数据位置所需要的相比而言较早发送的数据时,新的流通常优先于先前存在的流。
在使用最终期限时间表时为维持因果性,已经在最终期限时间表中的数据仅可被随后移动到时间表中,从不较早。若不强制这个限制,则我们可将数据移动到过去的时隙中。这个最终期限也许不可能满足,这是因为它已经过去了。此外,已经处于最终期限时间表中的数据可在时间上移动,但进行重排序。
通常,调度程序将数据“尽可能晚”的填塞到最终期限时间表中,同时避免任何呈现设备的下溢,且从不保留将影响不同客户的每客户保留位速率的数据量。换言之,在给定时隙中分配到给定流的数据量永不可能超过流的名义位速率加上任何可用的猝发位速率(其中可用的猝发位速率是不可分配到任何其他流的猝发位速率)。
在此,“尽可能晚”是正好优先于其PCR时隙的时隙中的时间上最后知道的数据,(PCR时隙是当PCR(流时基中)转换为该时隙驻留的共用时基时,包的PCR落入的时隙),正好优先于时间上最后数据的PCR时隙的时隙仅包含具有相同PCR时隙的包(以确认存在用于具有相同PCR时隙的所有将来数据的空间),并且所有时间上优先的数据必须不迟于正好优先于它们DTS时隙的时隙。
通过从具有不大于时间表中最新时隙的PCR时隙的时间上最新的数据开始,并且如由可用阻塞点容量允许的那样填塞数据进行向后工作而不违反任何上述的约束,可有效地获取此效果。若违反了任何上述约束,则计算没有违反限制的先前时隙,且填塞从那里继续。
由于任何正在进行的流通常在最终期限时间表到达他们的设备之前发送,所以在接收流中的短的暂停不会干扰未中断的流呈现。当然,在由最终期限表明的时隙之后,这些正在进行流的数据包不会被递送,这是因为这将导致下溢条件。
因此,在正被从最终期限时间表较早发送数据的正在进行流的发送中的这个暂时中断受到避免具有正在进行流的设备上的下溢条件的需要的限制。在发送特定正在进行流中的中断只可以持续到关于最终期限时间表中的那个流的第一个非空时隙。该时隙的到达表明已经到达该数据的发送最终期限,所以其必须在该时隙到达时或该时隙到达之前发送。
为最小化“信道变化启动延迟”而仍旧避免下溢,若一旦已经准备在当前时隙中输出最终期限时间表中的当前时隙中的数据时存在任何剩余的位速率,则附加数据准备在刚处于必须在当前时隙之前输出的数据之上和之前的当前时隙中输出。
这个附加位速率可整体分配给还没有开始回放的流,只要给定阻塞点数据的“最大可允许数据速率”的那些流必须通过以到达目标客户。由于从不对该流保留附加位速率,所以不必保持它从不超过该流的名义速率加上猝发位速率的未使用部分的限制。
附加位速率可为通过有关阻塞点的所有剩余可用位速率。这就将启动延迟大大减少到100ms量级(而不是现有的1-2秒),这是因为一旦接收器已经满足启动基本资料,则接收器就可开始流的回放,而且当在当前时隙中赋予流这个额外位速率时将更快地满足启动基本资料。
注意,由于这个额外位速率没有被保留,所以请求信道变化的任何其他的接收器将仍旧在刚好下一个时隙以及所有的后续时隙处至少具有可用的每客户保留位速率。任何未使用的猝发位速率部分也可由其他接收器保留,但是猝发速率可能不存在任何未使用部分。
虽然呈现设备具有与它们相关联的保留位速率,但是在调度当前时隙时,它们的保留位速率可被给出到其他的呈现设备。
在316处,范例媒体流调度程序产生预测的“启动基本资料”,以辅助何时实际上开始尽可能快的启动新信道的呈现同时防止下溢的决定。后面将在标题为“启动基本资料”的部分中更详细地讨论该启动基本资料。
通常,启动基本资料考虑到在一个或多个范围阶段将及时需要多少保留数据之外的额外数据,这是为了流能够在该时间范围内开始呈现,并且保证即使该流仅接收保留的数据(保留位速率,后续时隙中的“保留位计数”)也不在较晚时间下溢,其在该流的呈现已经开始之后前进。
现有方法使用一个或多个指定的时间戳(诸如PCR和DTS),来表明呈现设备何时应开始呈现,而同时避免下溢。不像那样,范例媒体流调度程序产生启动基本资料,而开始呈现的触发器基于网络阻塞点的实际知识、随着时间过去的那些网络阻塞点的利用,以及实际的流时间表。
启动基本资料中的开始呈现触发器可基于当前时隙的条件。启动指定呈现设备已经由每个时隙接收的位数量(或者可以为包或某些其他单位)。若其已经在当前时隙中接收到指定的位数量(或更多),则它可能开始呈现该流而不担心在较晚时间时的下溢。
范例媒体流调度程序将启动基本资料发送到请求呈现设备。请求设备对其进行检查以了解当前时隙是什么,然其检查以了解已经接收到了新信道的多少个最高优先级流的包。若接收到的包数量达到或超过启动基本资料中对当前时隙指定的数量,则呈现设备可开始呈现新的流(并保证将不出现下溢)。换言之,若实际接收到的包数量大于或等于基本资料数量(对于当前时隙),则可以开始呈现进入的流。若呈现设备已暂停,则可能不立即实际开始呈现进入的流,但是一旦获取了启动基本资料,则呈现设备能自由地在任何后续时间处开始呈现。
范例媒体流调度程序可能作为选择地分析启动基本资料本身并将应当(或可能)何时开始播放新信道的消息发送到呈现设备,而不是将启动基本资料发送到设备。
在请求呈现设备已经开始新信道的呈现之后,它可能被配置为通知网络上的一个或多个单元它确切地在何时开始播放帧。所通知的单元可以包括内容分发系统、调度程序,以及/或者媒体流编码器。
当通过呈现设备报告开始播放第一帧,或者通过范例媒体流调度程序确定已经发送足够的额外数据来满足启动基本资料而确定了呈现设备已经开始播放第一帧时,信道启动完成。该特定信道可被考虑处于已开始状态230。
此外,范例媒体流调度程序可确定该流的时间线偏移。流时间线偏移可能最有效地表示为共同时基单元中的时间差。
以另一种方式阐述,范例媒体流调度程序从来自具有一个或多个带宽限制阻塞点的媒体流网络上的媒体流呈现设备接收开始新的媒体流的请求。
然后它基于时间计算通过网络到呈现设备的可用数据速率保留,其中可用数据速率受到网络中的一个或多个阻塞点以及它们已经保留的时间相关的数据速率使用的限制。
之后,范例媒体流调度程序将新媒体流数据的递送最终期限插入到正通过网络发送的输出媒体流的递送最终期限时间表中,其中被调度到大约在新流开始处的数据将以等于或大于计算可用数据速率的数据速率通过到呈现设备的网络递送,,其中递送最终期限时间表确定最小位速率和最终期限,通过这个,来自输出数据流的数据将通过网络递送。
范例媒体流调度程序进行基于位速率的调度,直到赶上由于对后续帧给出现在开始时间而保证没有下溢的范围为止且在该点处,范例媒体流调度程序切换到通过最终期限而不是位速率来调度。
接近开始(Proximate to A Start)
调度程序将位速率分配到接近当前时间(以及当前时隙),以使得数据将在分配位速率每时隙处或之前进行递送。
调度程序进一步从当前时间外分配数据递送最终期限,以使得数据将在分配时间之前递送。
这样确定两种形式分配之间的界线,以使得即使呈现设备开始在当前时隙处播放数据,当达到界线,也没有下溢的危险,即使呈现设备仅接收到分配位速率也没关系,而且只要在界线之后根据分配最终时间线继续发送数据就不再发生。
注意,“当前时隙”不为上述解释而移动-所述调度在“当前时间”和“当前时隙”处都发生得非常快。
启动基本资料
当请求信道变化时,范例媒体流调度程序对新的时间线调度最高优先级流。这个最高优先级流实际上可以是正常分离的帧的多路复用(“混合”)。对每个时隙而言,在第一个时隙处开始,确定对启动输出流保留的位数量。
对给定的时隙而言,这确定为和呈现设备关联的所有阻塞点上对此输出流的每时隙名义位数量的最小值,加上该阻塞点可用的未使用猝发位。现在,对每个时隙,由于时隙已知,范例媒体流调度程序可以保证到该时隙中的输出流的位数量。
尽管每个时隙具有进入呈现设备的位的保证数量,仍可以向呈现设备发送更多的位。然而,在任何时候,正被发送到呈现设备的每时隙位数量会正好下降回到保留的每时隙位数量。
对每个时隙,范例媒体流调度程序计算在该时隙中需要多少“额外的”位,以使得呈现设备能够在该时隙处开始,并确保晚些不会发生下溢。
“启动基本资料”是每个时隙使呈现设备开始呈现并且保证不下溢所需的“额外”位的计算结果,,加上每个时隙的保证位。换言之,“启动基本资料”是在呈现设备在该时隙中开始呈现并保证不下溢所需的每时隙位数量总数。
由于当额外位被赋予先前时隙中的呈现设备中时,在给定时隙处的额外位的数量不改变,且当额外位被赋予先前时隙中的呈现设备时,在给定时隙处的保留位数量不改变,所以范例媒体流调度程序可基于每时隙预先计算需要的全部需要位的数量,以使得随后呈现设备(或范例媒体流调度程序本身)可决定在特定时间处启动是安全的。
所需的每时隙的“额外”位数量可直接表示,或者可以包括在所需的位数量总数中。
当根据每个时隙中的全部所需位数量查看启动基本资料时,它不必随时间严格地增加并且不必随时间严格地减少。那就是使用启动基本资料而不仅是固定的启动数量或某些较不确切的表示的原因。启动表示越精确,接收器就可更快地满足启动基本资料的递送表示。
启动基本资料不指定简介中每个时隙的实际开始时间。那可从该简介的开始时间和“时隙宽度”推断出。
网络延时和抖动
为考虑网络延时和抖动,可以修改启动基本资料以将附加因素(如“min_latency(最小延时)”)加到启动基本资料的开始时间。对启动基本资料的每个时隙而言,确定了相对于保证量的“额外”量,然后将该额外量加到时隙处的保证量,它是将来的max_latency-min_latency,它相对于当前正被修改的时隙,且该值替换关于当前正被修改的时隙的启动基本资料中的内容。
照这样,范例媒体流调度程序确保即使正好接收到的数据以min_latency通过网络,也保证将有足够的额外数据,以使得即使所有的剩余数据以max_latency通过,也将有足够的数据没有下溢。
获取此效果的另一个方法是对部分或全部数据加上具有某种形式绝对或相对的时间戳,时间戳确切表明它将何时发送,以使得有关该包的延时可被显式地决定。若进行了这项工作,则呈现设备可直接确保它满足启动基本资料,即使假设所有的后续数据都以max_latency到达。
具有已经运行的时间线的输出流启动
若将在其上播放新的流的时间线已经运行,则所有的流,不管新的还是旧的,都应该符合已经运行的时间线。例如,从一个口语音频流切换到另一个(如从英文切换到西班牙文)将不会造成视频中的任何中断,且新的音频道(如西班牙文)开始时其应该已经正确同步且保持同步和免打嗝。
在这个实施例中,范例媒体流调度程序将附着在加入正在进行的时间线的新流的现有时间线上,但是,像关于所有的流那样,它将尽可能晚地在最终期限时间表中调度新的流。在最终期限时间表中尽可能晚地调度新的流对新流具有附加的益处,即将新流的较早部分尽可能多地固定到时间表中。比固定在最终期限中的新流的最早数据早的新流数据将不被发送,且因此不能由呈现设备呈现。照这样,范例媒体流调度程序与现有方法相比能获取更短的流加入时间。
将关于新流的数据尽可能晚地放进最终期限时间表中不意味着其将迟于其他正进行的流来发送。相反的情况通常是因为新流通常是(但不总是)具有呈现在最终期限时间表中的最早数据的流,所以当对当前时隙而言需要较早的数据时,它将通常被优先使用。
当将新的流调度到已经运行的时间线中时,调度程序确保关于被输入到时间表中的新流的最后数据正好在该数据的PCR时隙之前输入到空隙中,并且正好在PCR时隙之前的空隙仅包含具有相同PCR时隙的数据,且所有的先前数据被这样放置,以使其适合可基于每时隙关于流而保留的位速率,并且所有的先前数据处于数据的DTS时隙之前的时隙处或在数据的DTS时隙之前的时隙之前。新流的数据(以及其他的调度流)以最终期限时间表和媒体流中的媒体流次序或反媒体流次序通过而不必放置在最终期限时间表中,但是这样做使实施所有上述的限制变得容易了,且通常是这样做的。无论如何,所需的是最终期限时间表中的所有流的数据应当符合最终期限时间表中的媒体流次序,而不管它们是否以媒体流次序、反媒体流次序或任何顺序通过而对媒体流起作用而被放置在那里。
其他实施例注解
范例媒体流调度程序选择附加数据,以在对当前时隙进行调度时填充阻塞点。它选择还没有首先满足它们的启动基本资料的流,后面跟着已经首先满足它们启动基本资料的流。
在每个组中,范例媒体流调度程序选择具有第一个数据的流,第一个数据在具有较晚最终期限的第一个数据流上具有最早最终期限。重试与任何其他的附加数据相比而言具有较高优先级。
阻塞点的猝发位速率的总量是该阻塞点的总位数率减去其下游数据必须经过该阻塞点的所有呈现设备的每客户保留位速率,而使用猝发位速率的量是正被递送到超过那些流的名义位速率的那些呈现设备的流的使用量在所有这样的呈现设备上之和。这样在所有的阻塞点和所有的时隙中存在到该呈现设备的另一个流的空间(不必从猝发位速率的总量中分流),这只要该附加流的名义速率适合每客户保留位速率减去所有已经向该客户提出的流的名义位速率。
计算环境
在此说明的一个或多个实施例,可用许多其他的通用或专用计算系统环境或配置来实施。可适用的已知计算系统、环境,和/或配置的例子包括,但不局限于,个人计算机、服务器计算机、瘦客户、胖客户、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、包括任何上面系统或设备的分布计算环境,以及类似的装置。
在此说明的一个或多个实施例,也可在分布计算机环境中实施,那里任务由通过通信网络链接的远程处理设备来执行。在分布计算环境中,程序模块既可位于包括存储器存储设备的本地计算机存储媒体中,也可位于包括存储器存储设备的远程计算机存储媒体中。
在此说明的一个或多个实施例,可在诸如正由处理器或计算机执行的程序模块这样的处理器可执行指令的通用上下文中说明。通常,程序模块包括执行特定任务或实现特定的抽象数据类型和函数的例程、程序、对象、构件、数据结构等等。通常,程序模块的功能性可根据在不同实施例的需要来组合或分布。
结论
尽管已经用特别对结构特征和/或方法步骤的语言说明了本发明,但是应理解在后附的权利要求书中定义的本发明不必局限于所说明的特定特征或步骤。相反,特定的特征和步骤作为实现根据权利要求的发明的较佳形式而说明。

Claims (51)

1.包含处理器可执行指令的计算机可读媒体,所述可执行指令在由处理器执行时,执行方法,其特征在于,所述方法包括:
接收开始来自具有一个或多个带宽限制阻塞点的媒体流网络上的媒体流呈现设备的新媒体流的请求,;
以时间相关的方式计算从网络到呈现设备可用的数据速率保留,其中所述可用数据速率由所述网络中的所述一个或多个阻塞点和它们已经保留的时间相关数据速率使用限制;及
将所述新媒体流数据的递送最终期限插入到正通过所述网络发送的输出媒体流的递送最终期限时间表中,其中对被调度接近所述新流开始的数据进行调度,以通过所述网络以等于或大于所述计算出的可用数据速率的数据速率来递送到所述呈现设备,其中所述递送最终期限时间表确定最小位速率和最终期限,在所述最终期限之前,将通过所述网络递送来自所述输出媒体流的数据。
2.如权利要求1所述的媒体,其特征在于,所述插入进一步包括调度不接近所述新流所述开始的数据,使其在该数据的指定解码时间之前递送。
3.如权利要求1所述的媒体,其特征在于,所述方法进一步包括促进确定所述呈现设备应在何时开始呈现所述新媒体流。
4.如权利要求1所述的媒体,其特征在于,所述方法进一步包括促进所述呈现设备应在何时开始呈现所述新的媒体流的决定,其特征在于,其中所述促进包括:
确定代表在启动之前将需要多少额外数据的值,以避免在特定时间由特定帧回放引起的下溢;
确定促使所述特定帧在所述特定时间播放所需的开始时间;
确定表示为了避免由所有已知帧和开始时间的所述可能范围引起的下溢需要多少额外数据的所述确定值的开始时间的几个可能范围中的每一个的单独最大值。
5.如权利要求1所述的媒体,其特征在于,所述方法进一步包括促进确定所述呈现设备应何时开始呈现所述新媒体流,其中这样的促进包括对开始时间的每个范围,将开始时间的所述范围启动所需的所述额外数据量附加到所述保留位速率数据量和已经在开始时间的所述范围的开始处递送的最终期限数据,以获得需要在开始时间所述范围内的时间处开始的总数据量,而没有由回放所有已知帧引起而晚些产生下溢的危险。
6.如权利要求1所述的媒体,其特征在于,所述方法进一步包括促进确定所述呈现设备应何时开始呈现所述新媒体流,其中这样的促进包括确定保证所述最后知道的帧将在所述最后知道帧的所述最后数据的PCR(节目时钟参考,或者编码器指定递送时间)之前递送的最小开始时间,且其中所述最小开始时间至少与当前时间相等。
7.如权利要求1所述的媒体,其特征在于,所述方法进一步包括:
接收关于从一个或多个媒体流编码器或提供者那里通过所述网络正被递送的一个或多个媒体流的初始媒体流递送和回放时间表信息;及
延迟呈现设备对媒体流的回放至少达相对于所述接收到的回放时间表的定义时间量。
8.如权利要求1所述的媒体,其特征在于,所述方法进一步包括确定在定义时间量上的一个或多个阻塞点的动态带宽容量。
9.如权利要求1所述的媒体,其特征在于,所述插入进一步包括调节所述递送最终期限时间表,以使得向所述新流的所述数据给出尽可能多的保留位速率用于通过所述网络递送,假定所述网络中的所述一个或多个阻塞点以及先前存在的递送最终期限和位速率已经调度好。
10.如权利要求1所述的媒体,其特征在于,所述插入进一步包括使所述新流的所述数据的所述递送最终期限在所述最终期限递送时间表中尽可能晚而同时仍避免所述呈现设备处的新流产生下溢。
11.如权利要求1所述的媒体,其特征在于,所述方法进一步包括确定在定义时间量上的一个或多个阻塞点分配的动态带宽容量。
12.如权利要求1所述的媒体,其特征在于,所述方法进一步包括促进确定所述呈现设备应何时开始呈现所述新的媒体流,其中这样的促进包括提供基于时间的测试,看所述设备是否已经接收到足够的数据以在指定时间间隔期间开始回放。
13.如权利要求1所述的媒体,其特征在于,所述方法进一步包括促进确定所述呈现设备应何时开始呈现所述新的媒体流,其中这样的促进包括提供指示所述条件的启动基本资料,在该条件下,所述呈现设备应开始呈现新的媒体流。
14.如权利要求1所述的媒体,其特征在于,所述网络至少部分是单播的。
15.计算机设备,其特征在于,所述计算机设备包括如权利要求1所述的媒体。
16.促进新媒体流快速启动的方法,其特征在于,所述方法包括:
接收开始来自具有一个或多个带宽限制阻塞点的媒体流网络上的媒体流呈现设备的新媒体流的请求;
以时间相关的方式计算从网络到呈现设备可用的数据速率保留,其中所述可用数据速率由所述网络中的所述一个或多个阻塞点和它们已经保留的时间相关数据速率使用限制;
将所述新媒体流数据的递送最终期限插入到正通过所述网络发送的输出媒体流的递送最终期限时间表中,其中对被调度接近所述新流开始的数据进行调度,以通过所述网络以等于或大于所述计算出的可用数据速率的数据速率来递送到所述呈现设备,其中所述递送最终期限时间表确定最小位速率和最终期限,在所述最终期限之前,将通过所述网络递送来自所述输出媒体流的数据。
17.如权利要求16所述的方法,其特征在于,所述插入进一步包括调度不接近所述新流所述开始的数据,使其在该数据的指定解码时间之前递送。
18.如权利要求16所述的方法,其特征在于,所述方法进一步包括促进确定所述呈现设备应在何时开始呈现所述新媒体流。
19.如权利要求16所述的方法,其特征在于,所述方法进一步包括促进所述呈现设备应在何时开始呈现所述新的媒体流的决定,其特征在于,其中所述促进包括:
确定代表在启动之前将需要多少额外数据的值,以避免在特定时间由特定帧回放引起的下溢;
确定促使所述特定帧在所述特定时间播放所需的开始时间;
确定表示为了避免由所有已知帧和开始时间的所述可能范围引起的下溢需要多少额外数据的所述确定值的开始时间的几个可能范围中的每一个的单独最大值。
20.如权利要求16所述的方法,其特征在于,所述方法进一步包括促进确定所述呈现设备应何时开始呈现所述新媒体流,其中这样的促进包括对开始时间的每个范围,将开始时间的所述范围启动所需的所述额外数据量附加到所述保留位速率数据量和已经在开始时间的所述范围的开始处递送的最终期限数据,以获得需要在开始时间所述范围内的时间处开始的总数据量,而没有由回放所有已知帧引起而晚些产生下溢的危险。
21.如权利要求16所述的方法,其特征在于,所述方法进一步包括促进确定所述呈现设备应何时开始呈现所述新媒体流,其中这样的促进包括确定保证所述最后知道的帧将在所述最后知道帧的所述最后数据的PCR(节目时钟参考,或者编码器指定递送时间)之前递送的最小开始时间,且其中所述最小开始时间至少与当前时间相等。
22.如权利要求16所述的方法,其特征在于,所述方法进一步包括:
接收关于从一个或多个媒体流编码器或提供者那里通过所述网络正被递送的一个或多个媒体流的初始媒体流递送和回放时间表信息;及
延迟呈现设备对媒体流的回放至少达相对于所述接收到的回放时间表的定义时间量。
23.如权利要求16所述的方法,其特征在于,所述方法进一步包括确定在定义时间量上的一个或多个阻塞点的动态带宽容量。
24.如权利要求16所述的方法,其特征在于,所述插入进一步包括调节所述递送最终期限时间表,以使得向所述新流的所述数据给出尽可能多的保留位速率用于通过所述网络递送,假定所述网络中的所述一个或多个阻塞点以及先前存在的递送最终期限和位速率已经调度好。
25.如权利要求16所述的方法,其特征在于,所述插入进一步包括使所述新流的所述数据的所述递送最终期限在所述最终期限递送时间表中尽可能晚而同时仍避免所述呈现设备处的新流产生下溢。
26.如权利要求16所述的方法,其特征在于,所述方法进一步包括确定在定义时间量上的一个或多个阻塞点分配的动态带宽容量。
27.如权利要求16所述的方法,其特征在于,所述方法进一步包括促进确定所述呈现设备应何时开始呈现所述新的媒体流,其中这样的促进包括提供基于时间的测试,看所述设备是否已经接收到足够的数据以在指定时间间隔期间开始回放。
28.如权利要求16所述的方法,其特征在于,所述方法进一步包括促进确定所述呈现设备应何时开始呈现所述新的媒体流,其中这样的促进包括提供指示所述条件的启动基本资料,在该条件下,所述呈现设备应开始呈现新的媒体流。
29.如权利要求16所述的方法,其特征在于,所述网络至少部分是单播的。
30.包含处理器可执行指令的计算机可读媒体,当由处理器执行时,执行这样的方法,其特征在于,所述方法包括提供指定所述最终期限的媒体流递送最终期限时间表,在该最终期限之前在媒体流网络上正在发送的一个或多个媒体流的数据必须发送到媒体流呈现设备。
31.如权利要求30所述的媒体,其特征在于,所述媒体流递送最终期限时间表也指定最小位速率,正通过媒体流网络正被发送的所述一个或多个媒体流的数据必须以这个速率发送到媒体流呈现设备,这是以这样的方式进行的:以时间相关的方式指定一个或多个媒体流的数据必须按此发送的指定最小位速率。
32.如权利要求30所述的媒体,其特征在于,所述方法进一步包括:
选择在当前时间发送什么数据,其中这样的选择包括:
选择其最终期限时在当前时间处或在当前时间之前的数据;
从在当前时间处或在当前时间之前具有未满足最小位速率的其他流中选择足够的数据,放进所述最终期限时间表,以使得获取指定的所述最小位速率;及
从将合计到适合阻塞点的量的任何流中选择其他数据。
33.如权利要求32所述的媒体,其特征在于来自任何流的所述其他数据是来自适合所述阻塞点的所述最终期限时间表中的任何流的最早数据。
34.如权利要求30所述的媒体,其特征在于,所述方法进一步包括:
接收开始来自具有一个或多个带宽限制阻塞点的媒体流网络上的媒体流呈现设备的新媒体流的请求;
计算通过网络到呈现设备的可用数据速率,其中所述可用数据速率由所述网络中的所述一个或多个阻塞点限制。
35.如权利要求30所述的媒体,其特征在于,所述方法进一步包括:
接收开始来自具有一个或多个带宽限制阻塞点的媒体流网络上的媒体流呈现设备的新媒体流的请求;
以时间相关的方式计算从网络到呈现设备可用的数据速率保留,其中所述可用数据速率由所述网络中的所述一个或多个阻塞点和它们已经保留的时间相关数据速率使用限制;
将所述新媒体流数据的递送最终期限插入到正通过所述网络发送的输出媒体流的递送最终期限时间表中,其中对被调度接近所述新流开始的数据进行调度,以通过所述网络以等于或大于所述计算出的可用数据速率的数据速率来递送到所述呈现设备,其中所述递送最终期限时间表确定最小位速率和最终期限,在所述最终期限之前,将通过所述网络递送来自所述输出媒体流的数据。
36.包含保存于其上的媒体流递送最终期限时间表数据结构的计算机可读媒体,其特征在于,所述计算机媒体包括表示关于一个或多个媒体流的定义时间间隔的连续时隙的多个数据字段,每个字段包含指定所述最终期限值,在该最终期限之前,必须将正在媒体流网络上发送的一个或多个媒体流数据发送到媒体流呈现设备。
37.如权利要求36所述的媒体,其特征在于,进一步代表一个或多个媒体流的定义时间间隔的连续时隙的所述多个数据字段也包含指定所述最小位速率的数值,必须以该速率将正在媒体流网络上发送到一个或多个媒体流的数据发送到媒体流呈现设备。
38.包含处理器可执行指令的计算机可读媒体,当由处理器执行时,执行这样的方法,其特征在于,所述分发包括确定媒体流网络的一个或多个阻塞点在定义时间间隔上的带宽容量。
39.如权利要求38所述的媒体,其特征在于,所述方法进一步包括:
接收开始来自具有一个或多个带宽限制阻塞点的媒体流网络上的媒体流呈现设备的新媒体流的请求;及
以时间相关的方式计算从网络到呈现设备可用的数据速率保留,其中所述可用数据速率由所述网络中的所述一个或多个阻塞点和它们已经保留的时间相关数据速率使用限制。
40.如权利要求38所述的媒体,其特征在于,所述方法进一步包括:
接收开始来自具有一个或多个带宽限制阻塞点的媒体流网络上的媒体流呈现设备的新媒体流的请求;
以时间相关的方式计算从网络到呈现设备可用的数据速率保留,其中所述可用数据速率由所述网络中的所述一个或多个阻塞点和它们已经保留的时间相关数据速率使用限制;及
将所述新媒体流数据的递送最终期限插入到正通过所述网络发送的输出媒体流的递送最终期限时间表中,其中对被调度接近所述新流开始的数据进行调度,以通过所述网络以等于或大于所述计算出的可用数据速率的数据速率来递送到所述呈现设备,其中所述递送最终期限时间表确定最小位速率和最终期限,在所述最终期限之前,将通过所述网络递送来自所述输出媒体流的数据。
41.包含保存于其上的阻塞点带宽能力数据结构的计算机可读媒体,其特征在于,所述数据结构包括表示一个或多个媒体流的定义时间间隔的连续时隙的多个数据字段,每个字段包含促进确定通过时间间隔的媒体流网络的一个或多个阻塞点的带宽能力的值。
42.计算机可读媒体,其具有处理器可执行指令,当其由处理器执行时,执行方法包含:
接收开始来自具有一个或多个带宽限制阻塞点的媒体流网络上的媒体流呈现设备的新媒体流的请求;
产生指示所述条件的启动基本资料,在所述条件下,呈现设备可开始呈现所述新的媒体流而不下溢,其中所述条件提供基于时间的测试,看所述设备是否已经接收到了足够的数据以避免当其开始回放时产生下溢。
43.如权利要求42所述媒体,其特征在于,所述方法进一步包括将所述启动基本资料发送到所述呈现设备,以使得所述设备可执行所述基于时间的测试。
44.如权利要求42所述媒体,其特征在于,所述方法进一步包括当所述基于时间的测试表明可以开始所述新媒体流的呈现时,将开始呈现通知发送到所述呈现设备。
45.包含处理器可执行指令计算机可读媒体,,所述可执行指令在由处理器执行时,执行方法,其特征在于,所述分发包括:
发送开始从具有一个或多个带宽限制阻塞点的媒体流网络上的媒体流呈现设备的新媒体流的请求;
接收指示所述条件的启动基本资料,在所述条件下,呈现设备可开始呈现所述新的媒体流而不下溢,其中所述条件提供基于时间的测试,看所述设备是否已经接收到了足够的数据以避免当其开始回放时产生下溢。
46.包含保存于其上的启动基本资料数据结构的计算机可读媒体,其特征在于,所述数据结构包括表示用于定义时间间隔的连续时隙的多个数据字段,每个字段包含促进确定媒体流呈现设备是否接收足够的数据以避免当其开始回放时产生下溢的指定数值。
47.调度程序系统,其特征在于,所述系统包括:
配置为接收开始来自具有一个或多个带宽限制阻塞点的媒体流网络上的媒体流呈现设备的新媒体流的请求的接收单元;
配置为以时间相关的方式计算从网络到呈现设备可用的数据速率保留,其中所述可用数据速率由所述网络中的所述一个或多个阻塞点和它们已经保留的时间相关数据速率使用限制的带宽容量计算器;及
配置为将所述新媒体流数据的递送最终期限插入到正通过所述网络发送的输出媒体流的递送最终期限时间表中,其中对被调度接近所述新流开始的数据进行调度,以通过所述网络以等于或大于所述计算出的可用数据速率的数据速率来递送到所述呈现设备,其中所述递送最终期限时间表确定最小位速率和最终期限,在所述最终期限之前,将通过所述网络递送来自所述输出媒体流的数据的调度子系统。
48.如权利要求47所述的系统,其特征在于,所述接收单元进一步配置接收为在正通过来自一个或多个媒体流编码器或提供者的所述网络上递送的一个或多个媒体流的初始媒体流递送时间表信息。
49.如权利要求47所述的系统,其特征在于,所述带宽能力计算器进一步配置为在定义的时间量上确定所述一个或多个阻塞点的动态带宽容量。
50.如权利要求47所述的系统,其特征在于,所述网络至少部分是单播的。
51.媒体流呈现器,其特征在于,所述流媒体呈现器包括:
配置为发送开始从具有一个或多个带宽限制阻塞点的媒体流网络上的媒体流呈现设备的新媒体流的请求的传输子系统;
配置为接收指示所述条件的启动基本资料,在所述条件下,呈现设备可开始呈现所述新的媒体流而不下溢,其中所述条件提供基于时间的测试,看所述设备是否已经接收到了足够的数据以避免当其开始回放时产生下溢的接收单元。
CN2004100856051A 2003-10-10 2004-10-09 存在网络阻塞点时用于免打嗝快速信道改变的媒体流调度 Expired - Fee Related CN1606302B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/683,132 2003-10-10
US10/683,132 US7444419B2 (en) 2003-10-10 2003-10-10 Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints

Publications (2)

Publication Number Publication Date
CN1606302A true CN1606302A (zh) 2005-04-13
CN1606302B CN1606302B (zh) 2012-05-23

Family

ID=34314153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004100856051A Expired - Fee Related CN1606302B (zh) 2003-10-10 2004-10-09 存在网络阻塞点时用于免打嗝快速信道改变的媒体流调度

Country Status (4)

Country Link
US (6) US7444419B2 (zh)
EP (1) EP1523171A1 (zh)
CN (1) CN1606302B (zh)
CA (3) CA2793005C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100382549C (zh) * 2006-04-13 2008-04-16 中山大学 一种实现多数据源流媒体在线浏览的系统
CN101164055B (zh) * 2005-04-20 2010-07-21 微软公司 媒体时间线排序
CN101228788B (zh) * 2005-07-29 2010-09-22 汤姆森许可贸易公司 用于数字影院多重剧场的智能化灾难恢复
CN102282550A (zh) * 2009-01-30 2011-12-14 莫维克网络公司 应用和使用以及无线链路感知传输网络调度程序
CN101809906B (zh) * 2007-08-30 2014-02-19 晶像股份有限公司 同步互连网络中的相关数据流
US8755405B2 (en) 2009-11-09 2014-06-17 Movik Networks, Inc. Burst packet scheduler for improved ran efficiency in UMTS/HSPA networks
CN107079013A (zh) * 2014-10-14 2017-08-18 皇家Kpn公司 管理媒体流的并发流式传输

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002045372A2 (en) 2000-11-29 2002-06-06 British Telecommunications Public Limited Company Transmitting and receiving real-time data
US7945688B1 (en) 2001-06-12 2011-05-17 Netapp, Inc. Methods and apparatus for reducing streaming media data traffic bursts
EP1359722A1 (en) 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
US7523482B2 (en) * 2002-08-13 2009-04-21 Microsoft Corporation Seamless digital channel changing
US8397269B2 (en) 2002-08-13 2013-03-12 Microsoft Corporation Fast digital channel changing
US7991905B1 (en) 2003-02-12 2011-08-02 Netapp, Inc. Adaptively selecting timeouts for streaming media
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
US7444419B2 (en) * 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US7562375B2 (en) * 2003-10-10 2009-07-14 Microsoft Corporation Fast channel change
US7430222B2 (en) 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
US20070110074A1 (en) * 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US8443038B2 (en) 2004-06-04 2013-05-14 Apple Inc. Network media device
US8797926B2 (en) 2004-06-04 2014-08-05 Apple Inc. Networked media station
US10972536B2 (en) 2004-06-04 2021-04-06 Apple Inc. System and method for synchronizing media presentation at multiple recipients
JP2006033763A (ja) * 2004-07-21 2006-02-02 Toshiba Corp 電子機器及び通信制御方法
CN101010959B (zh) * 2004-07-23 2012-01-25 海滩无极限有限公司 传送数据流的方法和系统
KR100640338B1 (ko) * 2004-09-20 2006-10-30 삼성전자주식회사 채널 전환 시 화면의 끊어짐이 없는 디지털 멀티미디어방송 수신 방법과 장치
US7640352B2 (en) * 2004-09-24 2009-12-29 Microsoft Corporation Methods and systems for presentation of media obtained from a media stream
US7752325B1 (en) * 2004-10-26 2010-07-06 Netapp, Inc. Method and apparatus to efficiently transmit streaming media
KR100685992B1 (ko) * 2004-11-10 2007-02-23 엘지전자 주식회사 디지털 방송 수신기에서 채널 전환시 정보 출력 방법
SE0402876D0 (sv) * 2004-11-25 2004-11-25 Ericsson Telefon Ab L M TV-like standards-compliant unicast streaming over IP
US7477653B2 (en) * 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments
EP1856911A4 (en) * 2005-03-07 2010-02-24 Ericsson Telefon Ab L M SWITCHING MULTIMEDIA CHANNELS
US8966111B2 (en) * 2005-03-10 2015-02-24 Qualcomm Incorporated Methods and apparatus for service planning and analysis
US8842666B2 (en) * 2005-05-13 2014-09-23 Qualcomm Incorporated Methods and apparatus for packetization of content for transmission over a network
US7676591B2 (en) * 2005-09-22 2010-03-09 Packet Video Corporation System and method for transferring multiple data channels
WO2007056842A1 (en) 2005-11-17 2007-05-24 Research In Motion Limited System and method for communication record logging
US7613739B2 (en) * 2005-11-17 2009-11-03 Research In Motion Limited Method and apparatus for synchronizing databases connected by wireless interface
US8135040B2 (en) * 2005-11-30 2012-03-13 Microsoft Corporation Accelerated channel change
US8340098B2 (en) * 2005-12-07 2012-12-25 General Instrument Corporation Method and apparatus for delivering compressed video to subscriber terminals
US8028319B2 (en) 2006-05-31 2011-09-27 At&T Intellectual Property I, L.P. Passive video caching for edge aggregation devices
US7768936B2 (en) 2006-06-23 2010-08-03 At&T Intellectual Property I, L.P. Method and apparatus for transporting deterministic traffic in a gigabit passive optical network
US8238882B2 (en) * 2006-10-19 2012-08-07 Research In Motion Limited System and method for storage of electronic mail
US8046479B2 (en) * 2006-11-07 2011-10-25 Telefonaktiebolaget Lm Ericsson (Publ) Media channel management
CN100550999C (zh) * 2006-11-22 2009-10-14 华为技术有限公司 一种数字频道快速切换方法和系统以及辅助频道生成设备
US20080181256A1 (en) * 2006-11-22 2008-07-31 General Instrument Corporation Switched Digital Video Distribution Infrastructure and Method of Operation
US7761902B2 (en) 2007-05-11 2010-07-20 At&T Intellectual Property I, L.P. System and method of providing video content
CN101102312B (zh) * 2007-06-11 2010-06-02 华为技术有限公司 一种网络通信数据处理方法、网络通信系统及客户端
US8209728B2 (en) 2007-08-31 2012-06-26 At&T Intellectual Property I, L.P. System and method of delivering video content
US7817576B1 (en) * 2007-11-13 2010-10-19 Sprint Communications Company L.P. Transitioning between multiple data streams of a media channel based on client conditions
US8700792B2 (en) 2008-01-31 2014-04-15 General Instrument Corporation Method and apparatus for expediting delivery of programming content over a broadband network
EP2088751B1 (en) * 2008-02-08 2013-07-03 Accenture Global Services Limited Streaming media interruption and resumption system
EP2093951B1 (en) * 2008-02-21 2012-12-19 Nokia Siemens Networks Oy Method and device for processing multimedia data and communication system comprising such device
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7860996B2 (en) * 2008-05-30 2010-12-28 Microsoft Corporation Media streaming with seamless ad insertion
US8752092B2 (en) 2008-06-27 2014-06-10 General Instrument Corporation Method and apparatus for providing low resolution images in a broadcast system
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US20100115566A1 (en) * 2008-10-30 2010-05-06 Raziel Haimi-Cohen Fast Channel Change Request Processing
US8332528B2 (en) * 2008-11-18 2012-12-11 Agere Systems Llc Personal broadcast and content delivery engine
US9336178B2 (en) * 2008-12-19 2016-05-10 Velocee Ltd. Optimizing content and communication in multiaccess mobile device exhibiting communication functionalities responsive of tempo spatial parameters
WO2010078489A2 (en) * 2008-12-31 2010-07-08 Akamai Technologies, Inc. Enforcing single stream per sign-on from a content delivery network (cdn) media server
US8978077B2 (en) * 2009-02-23 2015-03-10 Qualcomm Incorporated Video content presentation
US20100246685A1 (en) * 2009-03-31 2010-09-30 Alcatel-Lucent Usa Inc. Compressed video decoding delay reducer
KR20110037590A (ko) * 2009-10-07 2011-04-13 삼성전자주식회사 P2p 네트워크 시스템 및 그 데이터 송수신 방법
TWI419519B (zh) * 2009-12-22 2013-12-11 Ind Tech Res Inst 適用於多媒體串流的網路封包傳送系統與方法
US8375132B2 (en) * 2010-03-01 2013-02-12 Cisco Technology, Inc. Schedulable transport for contribution services
US8626621B2 (en) * 2010-03-02 2014-01-07 Microsoft Corporation Content stream management
US9357244B2 (en) 2010-03-11 2016-05-31 Arris Enterprises, Inc. Method and system for inhibiting audio-video synchronization delay
WO2011115965A1 (en) 2010-03-15 2011-09-22 Movik Networks Adaptive chunked and content-aware pacing of multi-media delivery over http transport and network controlled bit rate selection
US20110293021A1 (en) * 2010-05-28 2011-12-01 Jayant Kotalwar Prevent audio loss in the spliced content generated by the packet level video splicer
US8689269B2 (en) * 2011-01-27 2014-04-01 Netflix, Inc. Insertion points for streaming video autoplay
GB2490659A (en) 2011-05-04 2012-11-14 Nds Ltd Fast channel change using channel packs comprising independently decodable frame segments having differing qualities
JP5963540B2 (ja) * 2012-05-30 2016-08-03 キヤノン株式会社 情報処理装置、プログラム及び制御方法
US20170085931A1 (en) * 2015-09-22 2017-03-23 Samsung Electronics Co., Ltd. Electronic apparatus and method for providing content thereof
US10783929B2 (en) 2018-03-30 2020-09-22 Apple Inc. Managing playback groups
US10993274B2 (en) 2018-03-30 2021-04-27 Apple Inc. Pairing devices by proxy
US11297369B2 (en) 2018-03-30 2022-04-05 Apple Inc. Remotely controlling playback devices
US10614857B2 (en) 2018-07-02 2020-04-07 Apple Inc. Calibrating media playback channels for synchronized presentation
CN112640479B (zh) * 2018-11-08 2024-02-20 Sk电信有限公司 用于切换媒体服务频道的方法和装置
US10754689B1 (en) * 2019-02-13 2020-08-25 GM Global Technology Operations LLC Architecture and device for multi-stream vision processing on shared devices
US20210152491A1 (en) * 2019-11-14 2021-05-20 International Business Machines Corporation Prioritization and intelligent adjustment of priority of tuples

Family Cites Families (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7064749B1 (en) 1992-11-09 2006-06-20 Adc Technology Inc. Portable communicator
IL107642A0 (en) * 1992-11-20 1994-02-27 Amgen Inc Progenitor b cell stimulating factor
CA2127347A1 (en) 1993-07-07 1995-01-08 Donald F. Hooper Segmented video on-demand system
US5473362A (en) 1993-11-30 1995-12-05 Microsoft Corporation Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling
CA2135681C (en) 1993-12-30 2000-01-18 Srinivas V. Makam System and method for directly accessing long-term memory devices
CA2140850C (en) * 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5461415A (en) 1994-03-15 1995-10-24 International Business Machines Corporation Look-ahead scheduling to support video-on-demand applications
US5583868A (en) 1994-07-25 1996-12-10 Microsoft Corporation Method and system for combining data from multiple servers into a single continuous data stream using a switch
JPH0879685A (ja) 1994-08-31 1996-03-22 Sony Corp ニア・ビデオ・オン・デマンドシステムにおけるプログラム再生装置
JP3855282B2 (ja) 1995-02-06 2006-12-06 ソニー株式会社 受信装置および受信方法
US5742892A (en) 1995-04-18 1998-04-21 Sun Microsystems, Inc. Decoder for a software-implemented end-to-end scalable video delivery system
US5724646A (en) 1995-06-15 1998-03-03 International Business Machines Corporation Fixed video-on-demand
US6138147A (en) 1995-07-14 2000-10-24 Oracle Corporation Method and apparatus for implementing seamless playback of continuous media feeds
US5732217A (en) 1995-12-01 1998-03-24 Matsushita Electric Industrial Co., Ltd. Video-on-demand system capable of performing a high-speed playback at a correct speed
US5936659A (en) 1996-01-31 1999-08-10 Telcordia Technologies, Inc. Method for video delivery using pyramid broadcasting
US5631694A (en) 1996-02-01 1997-05-20 Ibm Corporation Maximum factor selection policy for batching VOD requests
US6058114A (en) * 1996-05-20 2000-05-02 Cisco Systems, Inc. Unified network cell scheduler and flow controller
US6222886B1 (en) 1996-06-24 2001-04-24 Kabushiki Kaisha Toshiba Compression based reduced memory video decoder
US6721952B1 (en) 1996-08-06 2004-04-13 Roxio, Inc. Method and system for encoding movies, panoramas and large images for on-line interactive viewing and gazing
US6564262B1 (en) 1996-09-16 2003-05-13 Microsoft Corporation Multiple multicasting of multimedia streams
US6028843A (en) 1997-03-25 2000-02-22 International Business Machines Corporation Earliest deadline first communications cell scheduler and scheduling method for transmitting earliest deadline cells first
US6047317A (en) 1997-03-28 2000-04-04 International Business Machines Corporation System and method for enabling a user to rapidly access images in cyclically transmitted image streams
US5963202A (en) 1997-04-14 1999-10-05 Instant Video Technologies, Inc. System and method for distributing and managing digital video information in a video distribution network
US5892915A (en) 1997-04-25 1999-04-06 Emc Corporation System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list
US6728965B1 (en) 1997-08-20 2004-04-27 Next Level Communications, Inc. Channel changer for use in a switched digital video system
US6310886B1 (en) * 1997-08-28 2001-10-30 Tivo, Inc. Method and apparatus implementing a multimedia digital network
US6078594A (en) 1997-09-26 2000-06-20 International Business Machines Corporation Protocol and procedure for automated channel change in an MPEG-2 compliant datastream
US6118498A (en) 1997-09-26 2000-09-12 Sarnoff Corporation Channel scanning and channel change latency reduction in an ATSC television receiver
US6359883B1 (en) * 1998-06-23 2002-03-19 The Kohl Group, Inc. Reducing the variability of the data rates of high-rate data streams in order to communicate such streams over a low-rate channel of fixed capacity
AU5551299A (en) 1998-08-13 2000-03-06 Trustees Of The University Of Pennsylvania, The Method of identifying proteins
US6298071B1 (en) 1998-09-03 2001-10-02 Diva Systems Corporation Method and apparatus for processing variable bit rate information in an information distribution system
US7334044B1 (en) * 1998-11-17 2008-02-19 Burst.Com Method for connection acceptance control and optimal multi-media content delivery over networks
US6272566B1 (en) * 1998-11-18 2001-08-07 International Business Machines Corporation System for maintaining proper buffering within video play list
US20020087973A1 (en) 2000-12-28 2002-07-04 Hamilton Jeffrey S. Inserting local signals during MPEG channel changes
US6637031B1 (en) 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6233226B1 (en) * 1998-12-14 2001-05-15 Verizon Laboratories Inc. System and method for analyzing and transmitting video over a switched network
US6611872B1 (en) * 1999-01-11 2003-08-26 Fastforward Networks, Inc. Performing multicast communication in computer networks by using overlay routing
BR0007828A (pt) 1999-01-28 2002-01-15 Msk Verpackung Syst Gmbh Dispositivo para a retração de uma folha retrátil a quente
US6330288B1 (en) * 1999-01-28 2001-12-11 Lucent Technologies Inc. Coding/modulation scheme selection technique
US6222482B1 (en) 1999-01-29 2001-04-24 International Business Machines Corporation Hand-held device providing a closest feature location in a three-dimensional geometry database
US6842724B1 (en) 1999-04-08 2005-01-11 Lucent Technologies Inc. Method and apparatus for reducing start-up delay in data packet-based network streaming applications
US6609149B1 (en) 1999-04-12 2003-08-19 International Business Machines Corporation Method and apparatus for prioritizing video frame retrieval in a shared disk cluster
US6763519B1 (en) * 1999-05-05 2004-07-13 Sychron Inc. Multiprogrammed multiprocessor system with lobally controlled communication and signature controlled scheduling
US6505106B1 (en) 1999-05-06 2003-01-07 International Business Machines Corporation Analysis and profiling of vehicle fleet data
US6418473B1 (en) 1999-05-20 2002-07-09 Nortel Networks Limited Multimedia clent and server
US6876668B1 (en) * 1999-05-24 2005-04-05 Cisco Technology, Inc. Apparatus and methods for dynamic bandwidth allocation
US6330286B1 (en) 1999-06-09 2001-12-11 Sarnoff Corporation Flow control, latency control, and bitrate conversions in a timing correction and frame synchronization apparatus
US7992163B1 (en) 1999-06-11 2011-08-02 Jerding Dean F Video-on-demand navigational system
SE521181C2 (sv) 1999-07-01 2003-10-07 Telia Ab Förfarande och system för policystyrd distribution av strömmande media i ett IP-nät
US6633540B1 (en) * 1999-07-02 2003-10-14 Nokia Internet Communications, Inc. Real-time traffic shaper with keep-alive property for best-effort traffic
EP1069736B1 (en) 1999-07-15 2012-09-05 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Scheduling and admission control of packet data traffic
KR100381803B1 (ko) 1999-09-02 2003-04-26 마츠시타 덴끼 산교 가부시키가이샤 기록 장치 및 부호화 장치
US6782193B1 (en) 1999-09-20 2004-08-24 Matsushita Electric Industrial Co., Ltd. Optical disc recording apparatus, optical disc reproduction apparatus, and optical disc recording method that are all suitable for seamless reproduction
US6430547B1 (en) 1999-09-22 2002-08-06 International Business Machines Corporation Method and system for integrating spatial analysis and data mining analysis to ascertain relationships between collected samples and geology with remotely sensed data
US6728253B1 (en) * 1999-09-24 2004-04-27 International Business Machines Corporation Mixed queue scheduler
WO2001026271A2 (en) 1999-10-07 2001-04-12 World Multicast.Com, Inc. Multiple buffered channel ip multicast
US7191462B1 (en) 1999-11-08 2007-03-13 Kendyl A. Román System for transmitting video images over a computer network to a remote receiver
IL132859A (en) 1999-11-10 2008-07-08 Nds Ltd Data stream processing system
US6985188B1 (en) 1999-11-30 2006-01-10 Thomson Licensing Video decoding and channel acquisition system
EP1236357A2 (en) 1999-12-09 2002-09-04 Liberate Technologies, MoreCom Division, Inc. Method and apparatus for two-way internet access over a catv network with channel tracking
CA2395605C (en) 1999-12-22 2011-04-05 General Instrument Corporation Video compression for multicast environments using spatial scalability and simulcast coding
WO2001056285A1 (en) 2000-01-27 2001-08-02 Berberet Suzanne M System and method for providing broadcast programming, a virtual vcr, and a video scrapbook to programming subscribers
WO2001057667A1 (en) * 2000-02-03 2001-08-09 Bandwiz, Inc. Data streaming
GB2359209A (en) 2000-02-09 2001-08-15 Motorola Ltd Apparatus and methods for video distribution via networks
BRPI0001810B1 (pt) * 2000-03-28 2015-06-23 Coppe Ufrj Coordenação Dos Programas De Pós Graduação De Engenharia Da Universidade Fed Do Rio De Ja Memória cooperativa distribuída para sistema de vod interativo e escalável
DE10021502A1 (de) * 2000-05-03 2001-11-08 Siemens Ag Verfahren zum Sichern der Dienstgüte von Verbindungen zwischen Teilbereichen eines paketorientierten Netzes mit einem Ressourcemanager
US6751713B1 (en) * 2000-06-05 2004-06-15 Sony Corporation Method and system for scheduled activation of system information tables in digital transport streams
US7003794B2 (en) 2000-06-27 2006-02-21 Bamboo Mediacasting, Inc. Multicasting transmission of multimedia information
US6496814B1 (en) 2000-07-19 2002-12-17 International Business Machines Corporation Method and system for integrating spatial analysis, and scheduling to efficiently schedule and monitor infrastructure maintenance
DE60119461T2 (de) 2000-08-25 2006-09-21 Alcatel Verfahren zur Bereitstellung einer bidirektionellen Verbindung in einem Netz für die Mehrfachübertragung von Datenströmen mit Verwendung vom Internetprotokoll und Netz für die Anwendung des Verfahrens
US7103668B1 (en) 2000-08-29 2006-09-05 Inetcam, Inc. Method and apparatus for distributing multimedia to remote clients
US7107606B2 (en) 2000-08-30 2006-09-12 The Chinese University Of Hong Kong System and method for highly scalable video on demand
JP3631123B2 (ja) 2000-10-03 2005-03-23 三洋電機株式会社 デジタル放送受信装置
US7095945B1 (en) * 2000-11-06 2006-08-22 Ati Technologies, Inc. System for digital time shifting and method thereof
US7240358B2 (en) 2000-12-08 2007-07-03 Digital Fountain, Inc. Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
AU2001218757A1 (en) 2000-12-13 2002-06-24 Kwong Wing Raymond Chan Method and system for delivering media selections through a network
US8458754B2 (en) 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US6859840B2 (en) * 2001-01-29 2005-02-22 Kasenna, Inc. Prefix caching for media objects
SE521190C2 (sv) 2001-02-16 2003-10-07 Ericsson Telefon Ab L M Metod system och anordning för att styra bandbreddsanvändningen i ett datakommunikationsnät
US20050039214A1 (en) 2001-02-21 2005-02-17 Lorenz Kim E. System and method for providing direct, context-sensitive customer support in an interactive television system
US6615133B2 (en) 2001-02-27 2003-09-02 International Business Machines Corporation Apparatus, system, method and computer program product for determining an optimum route based on historical information
US6973667B2 (en) 2001-03-01 2005-12-06 Minerva Networks, Inc. Method and system for providing time-shifted delivery of live media programs
US20020170067A1 (en) 2001-03-23 2002-11-14 Anders Norstrom Method and apparatus for broadcasting streaming video
US20020144276A1 (en) 2001-03-30 2002-10-03 Jim Radford Method for streamed data delivery over a communications network
US20020147991A1 (en) 2001-04-10 2002-10-10 Furlan John L. W. Transmission of panoramic video via existing video infrastructure
US20060117343A1 (en) 2001-04-17 2006-06-01 Digeo, Inc. Apparatus and methods for advertising in a sequential manner and based upon user preference
US20020161911A1 (en) 2001-04-19 2002-10-31 Thomas Pinckney Systems and methods for efficient memory allocation for streaming of multimedia files
US6751626B2 (en) 2001-05-03 2004-06-15 International Business Machines Corporation Method, system, and program for mining data in a personal information manager database
US6616133B1 (en) * 2001-07-18 2003-09-09 Norgren Automotive, Inc. Linear actuator having an adjustable piston rod
US7072299B2 (en) * 2001-08-20 2006-07-04 International Business Machines Corporation Credit-based receiver using selected transmit rates and storage thresholds for preventing under flow and over flow-methods, apparatus and program products
DE60226456D1 (de) 2001-09-06 2008-06-19 Spacenet Inc Doppelkanal-zweiwege-satellitenkommunikation
US20030048808A1 (en) 2001-09-12 2003-03-13 Stahl Thomas Anthony Method and apparatus for changing received streaming content channels
US6738980B2 (en) 2001-11-15 2004-05-18 Industrial Technology Research Institute Methods and systems for video streaming with VCR functionality
US7236177B2 (en) 2001-12-04 2007-06-26 Qualcomm Incorporated Processing digital video data
AU2003215292A1 (en) 2002-02-15 2004-03-11 Visible World, Inc. System and method for seamless switching through buffering
US20030159143A1 (en) 2002-02-21 2003-08-21 Peter Chan Systems and methods for generating a real-time video program guide through video access of multiple channels
US6766245B2 (en) 2002-03-14 2004-07-20 Microsoft Corporation Landmark-based location of users
SI1486065T1 (sl) 2002-03-15 2016-05-31 Nokia Technologies Oy Postopek kodiranja gibanja v video sekvenci
US7406034B1 (en) 2002-04-01 2008-07-29 Cisco Technology, Inc. Methods and apparatus for fibre channel frame delivery
KR100975967B1 (ko) 2002-04-08 2010-08-16 톰슨 라이센싱 채널 변경 지연을 감소시키기 위해 데이터 캐싱하기 위한 장치 및 방법, 및 디지털 통신 장치
US7248781B2 (en) 2002-04-24 2007-07-24 Thomson Licensing Live picture presentation while digital video recording
US7042946B2 (en) * 2002-04-29 2006-05-09 Koninklijke Philips Electronics N.V. Wavelet based coding using motion compensated filtering based on both single and multiple reference frames
US6751129B1 (en) 2002-05-21 2004-06-15 Sandisk Corporation Efficient read, write methods for multi-state memory
US8745689B2 (en) 2002-07-01 2014-06-03 J. Carl Cooper Channel surfing compressed television sign method and television receiver
US7203706B2 (en) * 2002-08-01 2007-04-10 Oracle International Corporation Buffered message queue architecture for database management systems with memory optimizations and “zero copy” buffered message queue
US7523482B2 (en) 2002-08-13 2009-04-21 Microsoft Corporation Seamless digital channel changing
US8397269B2 (en) 2002-08-13 2013-03-12 Microsoft Corporation Fast digital channel changing
CN100596092C (zh) * 2002-11-27 2010-03-24 Rgb网络有限公司 用于数据包的动态通道映射与最优化调度的设备与方法
US20040128694A1 (en) 2002-12-30 2004-07-01 International Business Machines Corporation Fast selection of media streams
GB0300361D0 (en) 2003-01-07 2003-02-05 Koninkl Philips Electronics Nv Audio-visual content transmission
US20040160974A1 (en) 2003-02-13 2004-08-19 Read Christopher Jensen Method and system for rapid channel change within a transport stream
US7606928B2 (en) 2003-03-21 2009-10-20 Nokia Corporation Method and device for controlling receiver buffer fullness level in multimedia streaming
US6871161B2 (en) * 2003-04-04 2005-03-22 Avid Technology, Inc. Predicting performance of a set of video processing devices
US7076717B2 (en) 2003-06-13 2006-07-11 Microsoft Corporation Time-aware best-effort hole-filling retry method and system for network communications
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
US7027299B2 (en) 2003-08-19 2006-04-11 Sun Microsystems, Inc. Electronics assembly with arrangement for air cooling
US7142255B2 (en) 2003-10-08 2006-11-28 Silicon Laboratories Inc. Transport stream and channel selection system for digital video receiver systems and associated method
US7444419B2 (en) 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US7562375B2 (en) 2003-10-10 2009-07-14 Microsoft Corporation Fast channel change
US7443791B2 (en) 2003-10-10 2008-10-28 Microsoft Corporation Priority mechanism for distributed sending of media data
US7516232B2 (en) 2003-10-10 2009-04-07 Microsoft Corporation Media organization for distributed sending of media data
US7545812B2 (en) 2003-10-10 2009-06-09 Microsoft Corporation Scheduling scheme for distributed sending of media data
US7398547B2 (en) 2004-01-13 2008-07-08 Pace Plc. High-bandwidth digital content protection during rapid channel changing
US7009795B2 (en) * 2004-02-26 2006-03-07 Hitachi Global Storage Technologies Netherlands, B.V. System and method for correcting for head tilt in HDD
US7430222B2 (en) 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
US7477653B2 (en) 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101164055B (zh) * 2005-04-20 2010-07-21 微软公司 媒体时间线排序
CN101228788B (zh) * 2005-07-29 2010-09-22 汤姆森许可贸易公司 用于数字影院多重剧场的智能化灾难恢复
CN100382549C (zh) * 2006-04-13 2008-04-16 中山大学 一种实现多数据源流媒体在线浏览的系统
CN101809906B (zh) * 2007-08-30 2014-02-19 晶像股份有限公司 同步互连网络中的相关数据流
CN102282550A (zh) * 2009-01-30 2011-12-14 莫维克网络公司 应用和使用以及无线链路感知传输网络调度程序
US8755405B2 (en) 2009-11-09 2014-06-17 Movik Networks, Inc. Burst packet scheduler for improved ran efficiency in UMTS/HSPA networks
CN107079013A (zh) * 2014-10-14 2017-08-18 皇家Kpn公司 管理媒体流的并发流式传输
CN107079013B (zh) * 2014-10-14 2020-07-10 皇家Kpn公司 管理媒体流的并发流式传输

Also Published As

Publication number Publication date
US20150163275A1 (en) 2015-06-11
US8606951B2 (en) 2013-12-10
CA2793005C (en) 2015-09-01
US7444419B2 (en) 2008-10-28
CN1606302B (zh) 2012-05-23
EP1523171A1 (en) 2005-04-13
US20050080904A1 (en) 2005-04-14
US9363302B2 (en) 2016-06-07
CA2793116A1 (en) 2005-04-10
US20090013080A1 (en) 2009-01-08
CA2793116C (en) 2016-08-16
US20090006631A1 (en) 2009-01-01
CA2480909C (en) 2016-08-23
CA2793005A1 (en) 2005-04-10
US20080189425A1 (en) 2008-08-07
US20080189755A1 (en) 2008-08-07
CA2480909A1 (en) 2005-04-10

Similar Documents

Publication Publication Date Title
CN1606302A (zh) 存在网络阻塞点时用于免打嗝快速信道改变的媒体流调度
US8625607B2 (en) Generation, distribution and use of content metadata in a network
CN1146159C (zh) 数据多路复用器和数据多路复用方法
CN1125543C (zh) 数字信号的多路复用方法和设备以及数字信号的记录介质
CN1254971C (zh) 用以经由网络传送数据的方法
CN1161989C (zh) 编辑装置、编辑方法、接续装置、接续方法、编码装置和编码方法
CN1212737C (zh) 用于活动图像专家组(mpeg)传输流的程序时钟基准数据的再生
US7433946B2 (en) Mechanism for transmitting elementary streams in a broadcast environment
CN1117479C (zh) 编码视频图像序列数据以及从若干视频源传送数据的方法
CN101036389A (zh) 内容接收器、视频-音频输出定时控制方法和内容提供系统
CN1830164A (zh) 面向携带终端的传输方法以及装置
CN1178497C (zh) 数据再生传输设备和数据再生传输方法
CN1315118A (zh) 压缩与未经压缩的数字视频信号的统计式多路转接的动态位分配
CN1655619A (zh) 执行代码转换前后保持定时参数的代码转换系统和方法
CN1751518A (zh) 图像编码方法
CN1476248A (zh) 压缩图像数据从发送端传输到接收端的视频数据收发系统
CN1212577A (zh) 广播系统用的控制信息生成装置
CN1366775A (zh) 压缩视频的代码转换方法
CN1275289A (zh) 叠接数字视频流的装置和方法
CN1311958A (zh) 数字视频记录器用的特技播放信号的产生
CN1255022A (zh) 预先不了解画面类型情况下mpeg代码转换器的比率控制系统
CN1595985A (zh) 内容提供装置和方法以及记录介质
CN1744592A (zh) 多源流媒体传输QoS控制方法
CN1906909A (zh) 数据接收装置
CN1949880A (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150515

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150515

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120523

Termination date: 20191009