CN102484741B - 用于规划媒体数据的传输时间的装置和方法 - Google Patents

用于规划媒体数据的传输时间的装置和方法 Download PDF

Info

Publication number
CN102484741B
CN102484741B CN201080037273.3A CN201080037273A CN102484741B CN 102484741 B CN102484741 B CN 102484741B CN 201080037273 A CN201080037273 A CN 201080037273A CN 102484741 B CN102484741 B CN 102484741B
Authority
CN
China
Prior art keywords
media data
time
data units
rate
transmission
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
Application number
CN201080037273.3A
Other languages
English (en)
Other versions
CN102484741A (zh
Inventor
李耀斌
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.)
Chinese University of Hong Kong CUHK
Original Assignee
Chinese University of Hong Kong CUHK
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 Chinese University of Hong Kong CUHK filed Critical Chinese University of Hong Kong CUHK
Publication of CN102484741A publication Critical patent/CN102484741A/zh
Application granted granted Critical
Publication of CN102484741B publication Critical patent/CN102484741B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • 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
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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
    • 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/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

公开了用于规划媒体数据的传输时间的方法和装置。媒体数据包括多个媒体数据单元。在一个实施方式中,该装置包括:第一确定单元,确定传输每个所述媒体数据单元的最迟时间;第二确定单元,确定传输每个所述媒体数据单元的最早时间和绝对最早时间;以及规划单元,为每个所述媒体数据单元规划其传输时间,其中,如果为媒体数据单元之一所确定出的最迟时间不少于为其确定出的最早时间,则所述规划单元从所确定出的最早时间以及最初用于向传输装置传送该媒体数据单元的时间中选择较大的时间,作为传输该媒体数据单元的传输时间;否则,所述规划单元在所确定的绝对最早时间点规划所述传输时间。

Description

用于规划媒体数据的传输时间的装置和方法
相关申请
本申请要求于2009年8月21曰提交的、题为“用于规划媒体数据的传输时间的***和方法”的第61/235,987号美国临时专利申请的优先权。第61/235,987号美国临时专利申请的全部内容通过引用并入本文。
技术领域
本申请涉及用于规划媒体数据的传输时间的装置和方法。
背景技术
在媒体流应用中,数据流包括将要按照规定数据速率(或以可变比特率编码的媒体数据的数据速率分布)输送至接收器的数据段序列,接收器可在开始回放所接收的数据段的同时接收下一数据段。只要数据段可在其规定回放时间之前被输送至接收器,接收器就能支持连续的媒体回放而没有任何中断。
媒体数据的输送通过传输协议来完成。有专门为流媒体设计的传输协议,例如RTSP/RTP。然而,如今越来越多的媒体内容使用标准HTTP协议进行输送,并进而使用TCP将数据从服务器传送至客户端。由于HTTP和TCP起初均不是为媒体流应用设计的,所以这产生了新的问题。
具体地,TCP具有内置式拥塞控制机制,该机制执行两个任务。首先,该机制递增地增加了传输速率以探查从发送器到接收器的路径中的可用带宽。其次,该机制通过监测丢包来探测网络拥塞,以降低受拥塞窗口控制的传输速率从而缓解网络拥塞。在典型的TCP流中,传输速率递增地增加直至超过网络带宽限制,然后导致丢包,并因此触发拥塞控制机制来降低传输速率。
然而,这种拥塞控制机制在下列情况中会产生不必要的丢包:(a)媒体流已知带宽需求;以及(b)网络具有足够带宽来满足媒体流的带宽需求。出于说明的目的,下面假设媒体流以200kbps的数据速率编码而网络具有足够用于媒体流的500kbps可用带宽,媒体流使用服务器例如网络服务器进行输送,网络服务器尝试使用HTTP协议将媒体流数据发送至接收器,然后依次使用TCP进行实际数据输送。
在会话开始阶段,服务器仅以低数据速率进行发送,但传输速率将随着TCP增长其拥塞窗口而渐增地增加。最终,传输速率将超过500kbps的网络带宽限制并导致丢包。TCP未意识到拥塞实际上是自己引发自引发的。这触发了TCP的拥塞控制机制以显著降低传输速率从而克服网络拥塞。在传输速率可能再次上升之前需要一段时间,因此所实现的全部吞吐量基本低于网络带宽(500kbps),在某些情况下,甚至低于媒体流数据速率(200kbps)。在后一情况下,会导致回放中断。
图1通过对250kbps的媒体流在3G移动网络上使用HTTP的TCP吞吐量随时间的变化进行测绘来示出这个问题。应注意,当TCP继续探查额外的带宽时,传输速率持续增加至约500kbps。图2中的深凹部为自引发的拥塞,在整个流持续时间内自引发的拥塞重复发生。在这个实验中,虽然网络可维持直至为250kbps媒体流的数据速率两倍的500kbps,但所实现的整个平均吞吐量实际上少于250kbps。所以,在整个流持续时间内回放会重复停止,这将导致非常差的服务质量。
发明内容
根据本申请的一方面,公开了用于规划媒体数据的传输时间的装置,所述媒体数据包括多个媒体数据单元。所述装置包括:
第一确定单元,确定传输每个所述媒体数据单元的最迟时间;
第二确定单元,确定传输每个所述媒体数据单元的最早时间和绝对最早时间;以及
规划单元,为每个所述媒体数据单元规划其传输时间,其中,如果为媒体数据单元之一所确定出的最迟时间不少于为其确定出的最早时间,则所述规划单元从所确定出的最早时间以及最初用于向传输装置传送该媒体数据单元的时间中选择较大的时间,作为传输该媒体数据单元的传输时间;否则,所述规划单元在所确定的绝对最早时间点规划所述传输时间。
根据本申请的另一方面,公开了用于规划媒体数据的接收时间的装置,所述媒体数据包括多个媒体数据单元。所述装置包括:
获取单元,为所述媒体数据单元获取最大传输速率;
第一确定单元,根据所述媒体数据单元在过去的时间间隔中的最大传输速率和短期数据吞吐量来确定接收每个媒体数据单元的最早时间;
第二确定单元,根据所确定出的短期数据吞吐量确定接收每个媒体数据单元的最迟时间;以及
规划单元,在所确定出的最早时间与所确定出的最迟时间的范围内优化每个媒体数据单元的接收时间。
根据本申请的另一方面,公开了用于规划媒体数据的接收时间的装置,该装置包括:
最早时间确定单元,计算媒体数据经过传输周期的短期数据吞吐量,并根据计算出的短期数据吞吐量确定用于接收媒体数据的媒体数据单元的最早时间;以及
规划单元,将用于接收每个媒体数据单元的时间规划为不迟于计算出的最早时间。
根据本申请的另一方面,公开了一种用于规划媒体数据的传输时间的方法,所述媒体数据包括多个媒体数据单元,所述方法包括:
确定用于传输每个媒体数据单元的最迟时间;
确定用于传输每个媒体数据单元的最早时间和绝对最早时间;以及
规划每个媒体数据单元的传输时间,其中,该步骤还包括:
如果为媒体数据单元之一的所确定出的最迟时间不少于为其所确定出的最早时间,则从所确定出的最早时间以及最初用于传送该媒体数据单元的时间中选择较大的时间,作为该媒体数据单元的传输时间;
否则,在所确定的绝对最早时间规划所述传输时间。
根据本申请的另一方面,公开了一种用于规划媒体数据的接收时间的方法,包括:
接收所述媒体数据的多个媒体数据单元;
获取每个媒体数据单元被规划解码用于回放的时间,以及所述媒体数据单元的最大传输速率;
根据所述媒体数据单元在过去时间间隔中的最大传输速率和短期数据吞吐量来确定接收每个媒体数据单元的最早时间;
根据所确定出的时间确定接收每个媒体数据单元的最迟时间;
在所确定出的最早时间与所确定出的最迟时间的范围内优化每个媒体数据单元的接收时间。
附图说明
图1示出了现有技术中在3G移动网络上的TCP吞吐量随时间的变化。
图2示出基于服务器的、应用层的解决方案的两种设计模型。
图3为示出根据本申请一个实施方式的规划器的方块图。
图4为示出根据本申请另一实施方式的规划器的方块图。
图5示出适当的媒体数据速率估计的解决方案。
图6为示出根据本申请另一实施方式的规划器的方块图。
图7为示出根据本申请另一实施方式的规划器的方块图。
图8为示出根据本申请另一实施方式的规划器的方块图。
图9为示出根据本申请另一实施方式的规划器的方块图。
图10(a)示出在服务器侧(a)执行的基于网络的解决方案。
图10(b)示出在客户端侧(b)执行的基于网络的解决方案。
图11为示出根据本申请的一个实施方式的、用于规划媒体数据的传输时间的流程图。
图12为示出根据本申请的另一实施方式的、用于规划媒体数据的传输时间的流程图。
具体实施方式
在下文中将参照附图对本申请的示例性实施方式进行讨论。
在即将讨论的实施方式中,可能位于服务器或客户端中的规划器对数据流或媒体流进行处理。在说明书中,规划器位于服务器中的解决方案被称为基于服务器的解决方案,规划器位于客户端中的解决方案被称为基于客户端的解决方案。此外,也将对基于网络的解决方案进行讨论。
I 基于服务器的解决方案
基于服务器的解决方案可作为输送媒体流数据的服务器的一部分来执行,也可以作为应用服务器的一部分或与应用服务器合作运行的互补***模块来执行,如图2所示的那样。基于服务器的解决方案的关键部分是服务应用层与网络传输层之间的传输规划器接口。该接口的功能是控制从应用层至网络传输层的数据流,从而间接地控制所传输的数据的传输速率。
图3示出根据本申请的一个实施方式的规划器100。传输规划器100可操作两个输入参数:(a)最小数据速率Rmin;以及(b)最大传输速率Rmax。设ti和si为最初将第i个媒体数据单元提交至传输规划器用于输送的时间和大小(单位为字节),其中i=0,1,...。设ui为当第i个媒体数据单元被提交至传输协议用于输送时的实际时间——被规划的传输时间。传输规划器的目的是:给定{ti,si},确定{ui},从而使(a)长期平均数据吞吐量不低于Rmin,以及(b)短期数据速率不超过Rmax
如图3所示,传输规划器100包括最迟时间确定单元101、最早时间确定单元102、规划单元203和比较单元104。
作为通用规则,媒体数据单元i=0总是被立即传输,即u0=t0,然后,随后的媒体数据单元(即i>0)的所规划的传输时间由单元101至104来确定,下面将分别对单元101至104进行讨论。
1.1示例1——恒速的媒体数据
1)最迟时间确定单元101
在该示例中,运行最迟时间确定单元101以确定用于传输媒体数据单元的第i个媒体数据单元的最迟时间vi。特别地,最迟时间确定单元101首先从以下等式确定整个平均数据吞吐量:
C ( t ) = Σ ∀ i ∈ { t > u i ≥ max { u 0 , ( t - T L ) } } s i min { T L , t - u 0 } - - - ( 2.1 )
其中,TL为可配置参数,其用于调整长期平均窗口持续时间,t为当前时间。应注意,通过设TL=∞,平均窗口将覆盖整个媒体会话并等于总的平均数据吞吐量。接下来,最迟时间确定单元101从以下等式确定最迟时间vi来传输第i个媒体数据单元:
v i = max { max { t | ( C ( t ) min { T L , ( t - u 0 ) } + s i ) min { T L , ( t - u 0 ) } > R min } , t i } - - - ( 2.2 )
从而使总的数据吞吐量可维持在最小速率Rmin之上。
2)最早时间确定单元102
最早时间确定单元102确定过去TS秒的短期数据吞吐量,由C(TS,t)表示,其中TS为可配置参数,其用于调整平均窗口持续时间,t为当前时间:
C ( T S , t ) = Σ ∀ i ∈ { t > u i ≥ max { u 0 , ( t - T S ) } } s i min { T S , t - u 0 } - - - ( 2.3 )
类似地,运行最早时间确定单元102以从以下等式确定最早时间来传输第i个媒体数据单元:
w i = max { min { t | ( C ( T S , t ) min { T S , t - u 0 } + s i ) min { T S , t - u 0 } ≤ ρR max } , t i } - - - ( 2.4 )
其中ρ∈[Rmin/Rmax,1]为可配置参数,其用于调整媒体流的目标短期数据吞吐量。一般而言,由于不能保证媒体数据单元会在提交至传输层后被立即传输,所以设目标数据吞吐量为Rmin是不可取的。例如,如果TCP触发了拥塞控制,拥塞控制显著降低了拥塞窗口,则不能传输新提交的媒体数据直至其拥塞窗口恢复。额外的延迟将因此增加wi使其超过所规划的时间,所以数据吞吐量变得低于预期。因此,可取的是将目标设定为高于Rmin的数据吞吐量,从而使足够的媒体数据可提前被传输以吸收上述额外的延迟。
另一方面,由于Rmax可被选择表示网络的最大带宽容量,所以设目标数据吞吐量为Rmax是不可取的。在大多数网络中,最大带宽容量没有得到保证,并依赖于其它因素例如信号质量、竞争的通信量等,因此会不时地发生变化。Rmax的目的是确保短期传输速率不会超过网络的最大容量,这是硬限制,如果超过该限制则会导致拥塞。因此,通过选择低于Rmax但高于Rmin的目标数据吞吐量,***能够提前传输媒体数据而不触发自引发的网络拥塞。
3)规划单元103
通过已确定的最迟传输时间vi和最早传输时间wi,规划单元103为每个媒体数据单元规划其传输时间。特别地,规划单元103将所规划的每个媒体数据的传输时间与当前时间t进行比较,如果所规划的传输时间ui不大于当前时间t,则立即传输每个媒体数据单元;如果所规划的传输时间ui大于当前时间t,则等待与(t-ui)相等的时间,然后传输第i个媒体数据单元。在一个实施方式中,规划单元103将所规划的传输时间设置为wi,如果vi≥wi,即
ui=max{wi,ti}如果vi≥wi    (2.5)
否则,vi<wi则意味着即使第i个媒体数据单元在最早传输时间wi被传输,总数据吞吐量也已经低于最小速率Rmin。在这种情况下,因为规划单元103已经不能维持最小速率Rmin,所以其应立即传输媒体数据单元。然而,根据当前的短期数据速率,这并不是最优的,因为以超过Rmax的速率传输可能导致自引发的网络拥塞,这将会进一步显著降低传送可实现的数据吞吐量。
因此,在vi<wi的情况下,规划单元103在最早时间规划待传输的媒体数据,使得短期最大速率没有被超过:
u i = max { min { t | ( C ( T s , t ) min { T s , t - u 0 } + s i ) min { T s , t - u 0 } ≤ R max } , t i } , 如果vi<wi  (2.6)
4)比较单元104
最终,比较单元104将所规划的传输时间ui与当前时间t进行比较。如果所规划的传输时间ui不大于当前时间t,则比较单元104立即传输第i个媒体数据单元;否则,如果所规划的传输时间ui大于当前时间t,则比较单元104等待与(t-ui)相等的时间,然后传输第i个媒体数据单元。
1.2示例2——VBR编码媒体流
在示例1中,媒体数据速率被假设为常数,使得最小速率限制Rmin可配置为与媒体数据速率匹配。如果流速率分布已知的话,则传输规划器100可扩展到支持可变比特率(VBR)编码的媒体流的流扩展。
设pi为第i个媒体数据单元的规定回放时间。如果先给出{pi}集,则规划器可将该集纳入示例1中描述的规划方法。具体地,由于长期平均数据吞吐量对于VBR编码媒体流是无用的,所以最小速率限制Rmin被修改。长期平均数据吞吐量由短期可变最小速率限制Rmin(t)替代,短期可变最小速率限制Rmin(t)为媒体回放时间相依函数。在该示例中,规划器100还可包括Rmin(t)确定单元105,确定单元105用于从以下等式确定短期可变最小速率限制Rmin(t):
R min ( t ) = α Σ ∀ i ∈ { t > p i ≥ max { 0 , ( t - T L ) } } s i min { T L , t } - - - ( 2.7 )
其中t为媒体流的回放时间,si为第i个媒体数据单元的大小,α(α≥1)为对最小速率限制进行细微调整的缩放因子。
确定Rmin(t)之后,规划器100规划媒体数据单元以进行如下传输。首先,媒体数据单元i=0始终被立即传输。其次,用于随后的媒体数据单元(即i>0)的所规划的传输时间从下列处理中确定,该处理将参照单元101至104分别进行讨论。
最迟时间确定单元101从等式(2.1)确定总平均数据吞吐量C(t)。接下来,最迟时间确定单元101从以下等式确定最迟时间以传输媒体数据单元i:
v i = max { max { t | ( C ( t ) min { T L , ( t - u 0 ) } + s i ) min { T L , ( t - u 0 ) } > R min ( t - u 0 ) } , t i } - - - ( 2.8 )
使得短期数据吞吐量可能保持在最小速率Rmin(t)之上。
接下来,最早时间确定单元102从等式(2.3)确定短期数据吞吐量C(TS,t),然后使用短期数据吞吐量C(TS,t)来确定最早时间wi以通过等式(2.4)传输媒体数据i。
通过已确定的最迟传输时间vi和最早传输时间wi,规划单元103为每个媒体数据单元规划传输时间。特别地,规划单元103将所规划的传输时间ui设置为wi,如果vi≥wi,即
ui=max{wi,ti},如果vi≥wi    (2.9)
否则,vi<wi意味着即使第i个媒体数据单元在最早传输时间wi被传输,总数据吞吐量也已经低于最小速率Rmin(t)。在这种情况下,规划单元103在最早时间规划待传输的媒体数据,使得短期最大速率Rmax没有被超过:
u i = max { min { t | ( C ( T s , t ) min { T s , t - u 0 } + s i ) min { T s , t - u 0 } ≤ R max } , t i } , 如果vi<wi(2.10)
最终,比较单元104将ui与当前时间t进行比较。如果ui≤t,则所规划的传输时间已通过并且规划器立即将媒体数据单元提交至网络传输层以进行输送;否则,如果ui>t,则比较单元104等待与(t-ui)相等的时间,然后将媒体数据单元提交至网络传输层进行输送。
1.3示例3——对媒体数据速率估计的扩展
在一些应用(例如直播流)中,精确的媒体数据速率不会事先已知。该示例通过从监测数据生成过程来估计媒体数据速率解决了这个问题。图5示出***中的数据流。外部媒体编码器生成未知数据速率的编码媒体数据单元,然后(例如通过网络或共享存储装置)将其传输至服务器从而流至客户端。虽然编码数据速率是未知的,但是在该速率下生成了媒体数据单元。因此,通过测量生成媒体数据单元的速率,传输规划器可估计并修改Rmin(t)。
具体地,在该示例中,规划器100还可包括估计单元106,估计单元106用于估计短期最小速率限制Rmin(t),如图6所示的那样。设gi为第i个媒体数据单元的生成时间。然后,由估计单元106从以下等式估计出短期最小速率限制Rmin(t):
R min ( t ) = α Σ ∀ i ∈ { t > ( g i - g 0 ) ≥ max { 0 , ( t - T L ) } } s i min { T L , t } - - - ( 2.11 )
其中,t为媒体流的回放时间,si为第i个媒体数据单元的大小,T为平均窗口持续时间,以及α(α≥1)为对最小速率限制进行细微调整的缩放因子。
通过单元101至104进行的其余规划处理与示例2中参照等式(2.8)至(2.10)所讨论的相同。
当媒体编码器输出的媒体数据单元显著大于传输数据单元时,在这种模型中会出现一个潜在问题。例如,传输规划器可规划以KB为单位进行传输的数据,但媒体编码器可输出以MB为单位的大量媒体数据。这产生了两个问题。首先,规划器100不能向用于输送的传输协议提交大媒体数据单元作为完整单元。在这种情况下,将大媒体数据单元分成用于输送的较小单元是必要的。其次,在生成媒体数据单元时立即对媒体流数据速率进行估计,大媒体数据单元会导致估计出的数据速率显著波动,例如,当生成新的媒体数据单元并传输至规划器100时速率会急剧增加。
为了改善这两个问题,规划器100可将大的输入媒体数据单元分成通过传输层输送的多个较小的媒体数据单元。此外,数据生成时间gi将被修正,从而通过更改输入媒体数据单元的数据生成时间来表示细分的媒体数据单元的数据生成时间。例如,假设每个输入大媒体数据单元被分成用于输送的k个较小的媒体数据单元,则被修正的媒体数据单元生成时间将按照以下等式更改:
Figure BPA00001514849400111
其中,Gi为输入第i个大媒体数据单元的实际生成时间。类似的更改方法还可在可变尺寸的输入媒体数据单元、可变分配因子k和可变尺寸的输出媒体数据单元的情况下被改进。
1.4示例4——对可变网络带宽的扩展
规划器100的进一步扩展是用于网络可用带宽量是可变的或事先未知的情况。在这种情况下,Rmax不再是已知常数,需要另外的方法来对其进行估计。
在该示例中,规划器100还可包括Rmax(t)估计单元107,估计单元107用于估计最大网络带宽容量Rmax(t)。然后,用于单元101至104的传输规划处理可通过用Rmax(t)在等式(2.4)和(2.6)中替代Rmax来被修正。用于单元101和102的其余处理不变,这里不再重复。
1.5示例5——对多段媒体流的扩展
规划器100的进一步扩展是用于由客户端单独请求的多段组成的媒体流。例如,媒体流可分成固定大小或固定持续时间的段,客户端将发送独立的请求(例如HTTP GET请求)来单独请求输送各个段。关键差别在于媒体段不能被传输直至由客户端请求,因此对规划器增加了另外的限制。
容纳多段媒体流的一种方式是仅在从客户端接收请求时执行规划器。在这种情况下,规划器确定并规划在所请求的媒体段中包含的所有媒体数据单元,然后等待下一客户端请求。这种方法适合媒体数据速率和网络带宽容量均事先已知的情况。
更通用的方法是独立于客户端请求但减缓用于媒体数据单元的所规划的传输时间来执行规划处理,直至媒体数据单元的相关段请求从客户端到达。其余规划处理不变,所以这里忽略细节。
1.6示例6——组合扩展
在示例2至5中描述的三种扩展可进一步联合以通过将处理从所需扩展结合来匹配目标网络/应用的特性。结合处理是简单的,因此这里不再重复。
II 基于客户端的解决方案
基于客户端的解决方案设计为在客户端装置内部执行,例如,作为客户端应用软件、操作***、固件的一部分,或作为与客户端应用软件并行执行的互补软件。
图8为示出根据本申请一个实施方式的接收规划器200的方块图。接收规划器200可操作两个输入参数:(a)当第i个媒体数据单元被解码用于回放时,被定义媒体流的开始的时间集{pi};以及(b)最大传输速率Rmax。设ti和si为从网络传输层接收的第i个媒体数据单元的时间和大小(单位为字节),其中i=0,1,...。接收规划器的目的是:确定集合{ti},从而使(a)媒体数据单元在回放时间前到达,以及(b)短期数据速率不超过Rmax
规划器200的处理原理为:接收器/客户端可通过控制从网络传输层接收数据来间接控制随后来自发送器的媒体数据。例如,如果TCP被用作传输协议,则TCP的流控制将确保发送器/服务器绝不传输多于接收器可用缓冲的数据。这通过使接收器将可用缓冲作为确认包中的信息发回发送器而实现。假设接收器报告其还有x字节的缓冲空间,则发送器将限制其自身发送不超过x字节的数据,即使有更多的数据等待被传输。
因此,如果接收器自身暂停从网络传输层接收数据,则传输内部缓冲区最终将装满,导致发送器也停止发送数据。通过采取这种流控制机制,接收器可通过在接收来自网络传输层的数据过程中控制其本身的时机来间接控制发送器的数据流。
具体地,如图8所示,规划器200包括获取单元201、最早时间确定单元202、最迟时间确定单元203和规划单元204。获取单元201获取第i个媒体数据单元被规划用于解码回放的时间pi,以及用于媒体数据单元的最大传输速率Rmax。最早时间确定单元202确定最早时间wi,最早时间wi用于接收具有最大传输速率Rmax的第i个媒体数据单元和过去一定时间间隔的短期数据吞吐量。最迟时间确定单元203确定用于从所确定的时间pi接收媒体数据单元的媒体数据单元第i个的最迟时间vi。规划单元204用于优化在wi至vi范围内的第i个媒体数据单元的接收时间。
在短期数据速率被阻止超过Rmax的情况下,最早时间确定单元202首先为在过去TS秒中所接收的媒体数据确定短期数据吞吐量,由C(TS,t)表示,其中TS为可配置参数来调整平均窗口持续时间,t为当前时间:
C ( T S , t ) = Σ ∀ i { t > t i ≥ max { t 0 , ( t - T S ) } } s i max { T S , t - t 0 } - - - ( 3.1 )
然后,最早时间确定单元202可从以下等式确定接收媒体数据单元i的最早时间wi
wi=min{t|(C(TS,t)min{TS,t-t0}+si)/min{TS,t-t0}≤ρRmax}(3.2)
其中ρ∈[Rmin/Rmax,1]为可配置参数,用于调整媒体流的目标短期数据吞吐量。
最迟时间确定单元203确定接收第i个媒体数据单元的最迟时间vi。当第i个媒体数据单元被规划解码用于在回放时间pi回放时,规划器必须在不晚于以下的时间接收第i个媒体数据单元,即
vi≤t0+pi+Δ(3.3)
其中Δ为从t0(接收第一个媒体数据单元的时间)至媒体回放开始的时间,在许多媒体播放器中,这表现为预取缓冲时间。
现在,在wi至vi的范围内,规划单元204可用于根据其它参数或对象进一步优化接收时间。例如,客户端可能具有受限的媒体数据缓冲大小(以B字节来计算),以在所接收的媒体数据被解码用于回放之前将其暂时存储。在这种情况下,接收时间可能需要被规划为不晚于wi,从而阻止媒体数据缓冲溢出。可替换地,客户端更倾向于以低于最大速率Rmax的速率来接收数据,从而减少丢包的可能性或使带宽可用于其它数据流等。在这种情况下,需要通过规划单元204将接收时间规划为在wi时间之后。
此外,规划器200还包括比较单元205,比较单元205用于比较vi与当前时间t。如果vi≤t,则所规划的接收时间已通过并且比较单元205立即接收来自网络传输层的媒体数据单元。否则,如果vi>t,则比较单元205等待与(t-vi)相等的时间,然后接收来自网络传输层的媒体数据单元。
如上所述,规划器200的基于客户端的接收规划支持VBR编码媒体流。{pi}集完全描述了媒体流的比特率分布,因此其时机需求已并入接收规划器。
规划器200的扩展用于网络可用带宽量是可变的或是事先未知的的情况。在这种情况下,Rmax不再是已知常数,需要另外的方法来对其进行估计。在这种情况下,规划器200还可包括最大速率估计单元206,估计单元206用于估计最大网络带宽容量Rmax(t),如图9所示的那样。然后,用于单元201至204的接收规划处理可通过用Rmax(t)在等式(3.2)中替代Rmax来被修正。用于单元201至205的其余处理与上述相同,这里不再重复。
III 基于网络的解决方案
基于网络的解决方案作为网络结构的一部分执行,无需修改服务器或客户端。图10中示出执行基于网络的解决方案的两种方式。在服务器与客户端之间引入网关,服务器与客户端之间的所有数据交通都将经过网关。这可通过在网络节点之间物理***网关或逻辑地将数据交通导向网关来进行。
如果服务器与网关之间的网络路径不是障碍,则网关执行传输规划器100以将从服务器接收的媒体数据单元传输至客户端。在本申请中,ti表示从服务器接收第i个媒体数据单元的时间。受到自身的缓冲和其它限制影响,网关尽可能迅速地从服务器简单地接收媒体数据单元。
否则,如果服务器与网关之间的网络路径是障碍,则网关执行接收规划器200以将从服务器接收的媒体数据单元规划。在本申请中,ti表示将从网络传输层接收的第i个媒体数据单元连接至服务器的时间。受到其自身的其它限制影响(如果存在的话),网关尽可能迅速地简单地将媒体数据单元发送至客户端。
在上文中对根据本申请的用于规划媒体数据的传输时间的装置进行了讨论。在下文中,将对根据本申请的用于规划媒体数据的传输时间的方法进行讨论。
图11是示出根据本申请一个实施方式的规划媒体数据的传输时间的流程图,其中,媒体数据包括多个媒体数据单元。如图11所示,在步骤S1101中,确定了用于传输媒体数据单元的第i个媒体数据单元的最迟时间vi,例如,通过上述传输规划器100。最迟时间vi可通过多个媒体数据单元的总平均数据吞吐量C(t)和最小数据速率Rmin来确定,从而将总数据吞吐量保持在最小数据速率Rmin之上。特别地,步骤S1101可根据等式(2.1)-(2.2)或(2.8)中所列规则执行。
在步骤S1102中,确定了用于传输每个媒体数据单元的最早时间wi。最早时间wi可通过媒体数据单元的短期数据吞吐量C(TS,t)和经过传输周期的短期最大速率Rmax来确定。特别地,步骤S1102可根据等式(2.3)-(2.3)中所列规则执行。
在步骤S1101中,第i个媒体数据单元的传输时间ui通过以下规则根据最迟时间vi或最早时间wi来规划:
如果vi≥wi,ui=max{wi,ti},其中ti表示用于第i个媒体数据单元的预定传输时间,以及
如果vi<wi,在最早时间wi规划传输时间ui,使得媒体数据单元的短期最大速率Rmax不会被超过。
最终,在步骤S1104中,比较所规划的传输时间ui与当前时间t。如果所规划的传输时间ui不大于当前时间t,则立即传输第i个媒体数据单元;否则,需要等待与(t-ui)相等的时间,然后传输第i个媒体数据单元。
在一个实施方式中,媒体数据速率被假设为常数,从而使最小速率限制Rmin可配置为与媒体数据速率匹配。在另一实施方式中,如果已知比特率分布,则如图11所示的传输方法可被扩展来支持VBR编码媒体流的流动,与等式(2.7)至(2.10)中的内容相同。
在一些应用(例如直播流)中,精确的媒体数据速率可能不是事先已知的。上述方法通过从监测数据生成过程估计媒体数据速率解决了这个问题。例如,可根据媒体数据单元产生的速率或时间估计短期最小速率限制Rmin(t)。
上述方法可在服务器主机的服务应用层与网络传输层之间执行,或在位于服务器主机一侧的网关中执行。
图12是示出根据本发明另一实施方式的规划媒体数据的传输时间的流程图。如图12所示,在步骤S1201中,接收了媒体数据的多个媒体数据单元。在步骤S1202中,获取在时间pi被规划解码用于回放的第i个媒体数据单元,以及获取用于媒体数据单元的最大传输速率Rmax。如果事先给出{pi}集,则该集可并入图11所示的规划方法。具体地,因为长期平均数据吞吐量对于VBR编码媒体流无用,所以需要修正最小速率限制Rmin。最小速率限制Rmin由短期可变最小速率限制Rmin(t)替代,最小速率限制Rmin(t)为从等式(2.7)中计算的媒体回放时间相依函数。
然后,在步骤S1203中,用于接收第i个媒体数据单元的最早时间wi通过参照等式(3.1)-(3.2)中所述媒体数据单元的最大传输速率Rmax和经过的时间间隔的短期数据吞吐量来确定。
在步骤1204中,用于接收媒体数据单元的第i个媒体数据单元的最迟时间vi从已确定的时间pi通过等式(3.3)中所列的规则来确定。然后,第i个媒体数据单元的接收时间将在步骤S1205中在wi至vi的范围内被优化。例如,客户端可能具有受限的媒体数据缓冲大小(以B为字节计算),从而在所接收的媒体数据被解码以回放之前暂时存储。在这种情况下,接收时间可能需要被规划为不晚于wi,从而阻止媒体数据缓冲溢出。可替换地,客户端更倾向于以低于最大速率Rmax的速率来接收数据,从而减少丢包的可能性或使带宽可用于其它数据流。在这种情况下,需要将接收时间规划为在wi时间之后。
在步骤S1206中,所规划的接收时间ti与当前时间t进行比较。如果所规划的接收时间ti不大于当前时间t,则立即接收第i个媒体数据单元;否则,需要等待与(t-ti)相等的时间,然后接收第i个媒体数据单元。
图12所示的方法的扩展是用于网络可用带宽量是可变的或是事先未知的情况。在这种情况下,Rmax不再是已知常数,需要另外的方法来对其进行估计。设Rmax(t)为估计的网络带宽容量。然后,规划处理可通过用Rmax(t)在等式(3.2)中替代Rmax来被修正。其余处理不变,这里不再重复。
参照附图对根据本申请的实施方式进行了描述,但本发明不限于此。本领域技术人员可根据本文公开的内容进行多种修改和变化,这些应落入本发明的范围内。

Claims (35)

1.用于确定媒体数据的传输时间的装置,所述媒体数据包括多个媒体数据单元,所述装置包括: 
第一确定单元,根据所述媒体数据单元的总平均数据吞吐量和最小数据速率来确定能够用来传输各个媒体数据单元的最迟时间vi,使得所述媒体数据单元的总数据吞吐量保持在最小速率之上; 
第二确定单元,根据所述媒体数据单元的短期数据吞吐量和所述媒体数据单元经过传输周期的短期最大速率来确定能够用来传输每个所述媒体数据单元的最早时间wi; 
规划单元,为每个所述媒体数据单元规划其传输时间ui, 
其中,如果vi≥wi,则所述规划单元从所确定出的最早时间以及最初用于向传输装置传送该媒体数据单元的时间中选择较大的时间,作为ui;否则, 
所述规划单元根据以下规则确定ui: 
Figure FDA0000387139070000011
其中 
t为当前时间; 
C(t)表示所述媒体数据在时间间隔Ts中的长期数据吞吐量; 
u0表示第一媒体数据单元的传输时间; 
si表示第i个媒体数据单元的大小; 
ti表示最初用于将第i个媒体数据单元提交至所述装置进行传输的时间。 
2.根据权利要求1所述的装置,还包括比较单元,所述比较单元将为每个媒体数据单元规划的传输时间与当前时间进行比较, 
其中,如果所规划的传输时间不大于所述当前时间,则所述比较单元立即传输每个媒体数据单元;以及 
如果所规划的传输时间大于所述当前时间,则所述比较单元等待与所述当前时间和所规划的传输时间之间的差值相等的时间,然后传输每个媒体数据单元。 
3.根据权利要求1所述的装置,其中,传输所述媒体数据的速率是恒定的。 
4.根据权利要求2所述的装置,其中,所述媒体数据包括VBR编码媒体流,以及其中,所述最小数据速率为短期可变最小速率限制,并依赖于所述媒体数据的媒体回放时间。 
5.根据权利要求1所述的装置,其中,所述媒体数据包括直播流,所述最小数据速率为短期最小速率限制,所述装置还包括估计单元,所述估计单元测量生成媒体数据单元的速率或时间,并根据所生成的速率估计所述短期最小速率限制。 
6.根据权利要求1所述的装置,其中,所述装置布置在服务器主机中的服务应用层与网络传输层之间。 
7.根据权利要求1所述的装置,其中,所述装置布置在位于服务器主机一侧的网关中。 
8.根据权利要求1所述的装置,其中,vi通过第一规则计算: 
Figure FDA0000387139070000021
其中 
t为当前时间; 
C(t)表示所述媒体数据在时间间隔TL中的长期数据吞吐量; 
u0表示第一媒体数据单元的传输时间; 
si表示第i个媒体数据单元的大小; 
ti表示最初用于将第i个媒体数据单元提交至所述装置进行传输的时间; 
Rmin表示能允许的最小传输速率。 
9.根据权利要求1所述的装置,其中,wi过第二规则计算: 
Figure FDA0000387139070000031
其中 
t为当前时间; 
ρ∈[Rmin/Rmax,1]为可配置参数; 
C(TS,t)表示所述媒体数据在时间间隔TS中的短期数据吞吐量; 
u0表示第一媒体数据单元的传输时间; 
si表示第i个媒体数据单元的大小; 
ti表示最初用于将第i个媒体数据单元提交至所述装置进行传输的时间; 
Rmax表示最大允许传输速率;以及 
Rmin表示最小允许传输速率。 
10.用于规划媒体数据的接收时间的装置,所述媒体数据包括多个媒体数据单元,所述装置包括: 
获取单元,为所述媒体数据单元获取最大传输速率; 
第一确定单元,根据所述媒体数据单元在过去的时间间隔中的最大传输速率和短期数据吞吐量来确定能够用来接收每个媒体数据单元的最早时间; 
第二确定单元,根据所确定出的短期数据吞吐量和所述媒体数据单元经过传输周期的短期最大速率来确定能够用来接收每个媒体数据单元的最迟时间;以及 
规划单元,在所确定出的最早时间与所确定出的最迟时间的范围 内优化每个媒体数据单元的接收时间,其中,所述规划单元还在每个媒体数据单元被解码回放之前将其暂时存储;并为所存储的媒体数据单元将所述接收时间规划为不晚于所确定出的最早时间。 
11.根据权利要求10所述的装置,还包括比较单元,所述比较单元将所规划的接收时间与当前时间进行比较,其中,如果所规划的传输时间不大于所述当前时间,则所述比较单元立即接收每个媒体数据单元;如果所规划的传输时间大于所述当前时间,则所述比较单元等待与所规划的传输时间和所述当前时间之间的差值相等的时间,然后接收所述每个媒体数据单元。 
12.根据权利要求10所述的装置,还包括用于估计所述最大传输速率的估计单元。 
13.根据权利要求10所述的装置,其中,所述装置布置在客户端主机的服务应用层与网络传输层之间。 
14.根据权利要求10所述的装置,其中,所述装置布置在位于客户端主机一侧的网关中。 
15.根据权利要求10所述的装置,其中,时间t的所述短期数据吞吐量由Rmin(t)表示,Rmin(t)从以下等式中估计出: 
Figure FDA0000387139070000041
其中t为所述媒体数据的回放时间,si为媒体数据单元i的大小,TL为平均时间间隔,α 为缩放因子, α≥ 1。 
16.根据权利要求10所述的装置,其中,所述第一确定单元通过以下规则确定所述最早时间wi: 
wi=min{t|(C(Ts,t)min{Ts,t-t0}+si)/min{Ts,t-t0}≤ρRmax
其中 
t为当前时间; 
ρ∈[Rmin/Rmax,1]为可配置参数; 
C(TS,t)表示所述媒体数据在时间间隔TS中的短期数据吞吐量; 
t0表示第一媒体数据单元的接收时间; 
ti表示为第i个媒体数据单元的规划的接收时间; 
Rmax表示最大允许传输速率;以及 
Rmin表示最小允许传输速率。 
17.根据权利要求10所述的装置,其中,所述第二确定单元通过以下规则确定所述最迟时间vi
vi≤t0+pi+Δ 
其中,pi为用于回放媒体数据单元i的解码时间;Δ为从t0至媒体回放开始的时间;t0表示所述媒体数据单元的第一媒体数据单元的接收时间。 
18.一种用于规划媒体数据的传输时间的方法,所述媒体数据包括多个媒体数据单元,所述方法包括: 
根据所述媒体数据单元的总平均数据吞吐量和最小数据速率来确定能够传输各个所述媒体数据单元的最迟时间vi,使得所述媒体数据单元的总数据吞吐量保持在最小速率之上; 
根据所述媒体数据单元的短期数据吞吐量和所述媒体数据单元经过传输周期的短期最大速率来确定能够用于传输每个媒体数据单元的最早时间wi;以及 
规划每个媒体数据单元的传输时间ui,其中,该步骤还包括: 
如果vi≥wi,则从所确定出的最早时间以及最初用于传送该媒体数据单元的时间中选择较大的时间,作为该媒体数据 单元的传输时间ui; 
否则,根据以下规则确定ui: 
Figure FDA0000387139070000061
其中 
t为当前时间; 
C(t)表示所述媒体数据在时间间隔Ts中的长期数据吞吐量; 
u0表示第一媒体数据单元的传输时间; 
si表示第i个媒体数据单元的大小; 
ti表示最初用于将第i个媒体数据单元提交至传输装置进行传输的时间。 
19.根据权利要求18所述的方法,其中,由vi表示的第i个媒体数据单元的所述最迟时间通过第一规则确定: 
Figure FDA0000387139070000062
其中 
t为当前时间; 
C(t)表示所述媒体数据在时间间隔TL中的长期数据吞吐量; 
u0表示第一媒体数据单元的传输时间; 
si表示第i个媒体数据单元的大小; 
ti表示最初用于将第i个媒体数据单元提交至所述传输装置进行传输的时间; 
Rmin表示能允许的最小传输速率。 
20.根据权利要求19所述的方法,其中,由wi表示的第i个媒体数据单元的最早时间通过第二规则确定: 
Figure FDA0000387139070000071
其中 
t为当前时间; 
ρ∈[Rmin/Rmax,1]为能配置参数; 
C(TS,t)表示所述媒体数据在时间间隔TS中的短期数据吞吐量; 
u0表示第一媒体数据单元的传输时间; 
si表示第i个媒体数据单元的大小; 
ti表示最初将第i个媒体数据单元提交至传输装置的时间; 
Rmax表示能允许的最大传输速率;以及 
Rmin表示能允许的最小传输速率。 
21.根据权利要求18所述的方法,还包括: 
比较所规划的传输时间与当前时间; 
如果所规划的传输时间不大于所述当前时间,则立即传输每个媒体数据单元;以及 
如果所规划的传输时间大于所述当前时间,则等待与所规划的接收时间和所述当前时间之间的差值相等的时间,然后传输所述每个媒体数据单元。 
22.根据权利要求18所述的方法,其中,用于传输所述媒体数据的速率为恒定的。 
23.根据权利要求18所述的方法,其中,所述媒体数据包括VBR编码媒体流,所述最小数据速率为短期可变最小速率限制,并依赖于所述媒体数据的媒体回放时间。 
24.根据权利要求18所述的方法,其中,所述媒体数据包括直播流,所述最小数据速率为短期最小速率限制,所述方法还包括: 
测量生成媒体数据单元的速率或时间;以及 
根据所生成的速率估计所述短期最小速率限制。 
25.根据权利要求18所述的方法,其中,所述方法在服务器主机中的服务应用层与网络传输层之间执行。 
26.根据权利要求18所述的方法,其中,所述方法在服务器主机一侧的网关中执行。 
27.一种用于规划媒体数据的接收时间的方法,包括: 
接收所述媒体数据的多个媒体数据单元; 
获取每个媒体数据单元被规划的解码回放时间,以及所述媒体数据单元的最大传输速率; 
根据所述媒体数据单元在过去时间间隔中的最大传输速率和短期数据吞吐量来确定能够用来接收每个媒体数据单元的最早时间; 
根据所确定出的时间确定能够用来接收每个媒体数据单元的最迟时间; 
在所确定出的最早时间与所确定出的最迟时间的范围内优化每个媒体数据单元的接收时间,所述优化的步骤还包括: 
在所述媒体数据被解码回放之前将其暂时存储;以及 
为所存储的媒体数据单元将所述接收时间规划为不晚于所确定的最早时间。 
28.根据权利要求27所述的方法,其中,通过以下规则确定由wi表示的所述最早时间: 
wi=min{t|(C(Ts,t)min{Ts,t-t0}+si)/min{Ts,t-t0}≤ρRmax
其中 
t为当前时间; 
ρ∈[Rmin/Rmax,1]为能配置参数; 
C(TS,t)表示所述媒体数据在时间间隔TS中的短期数据吞吐量; 
t0表示第一媒体数据单元的接收时间; 
ti表示为第i个媒体数据单元规划的接收时间; 
Rmax表示能允许的最大传输速率;以及 
Rmin表示能允许的最小传输速率。 
29.根据权利要求27所述的方法,其中,通过以下规则确定由vi表示的所述最迟时间: 
vi≤t0+pi+Δ 
其中,pi为用于回放媒体数据单元i的解码时间;Δ为从t0至媒体回放开始的时间;t0表示所述媒体数据单元的第一媒体数据单元的接收时间。 
30.根据权利要求27所述的方法,还包括: 
比较所规划的接收时间与当前时间; 
如果所规划的传输时间不大于所述当前时间,则立即接收每个媒体数据单元;如果所规划的传输时间大于所述当前时间,则等待与所规划的传输时间和所述当前时间之间的差值相等的时间,然后接收所述每个媒体数据单元。 
31.根据权利要求30所述的方法,还包括: 
估计所述最大传输速率。 
32.根据权利要求30所述的方法,其中,所述方法在客户端主机的服务应用层与网络传输层之间执行。 
33.根据权利要求30所述的方法,其中,所述方法在位于客户端主机一侧的网关中执行。 
34.根据权利要求30所述的方法,其中,在时间t的所述短期数 据吞吐量由Rmin(t)表示,Rmin(t)从以下等式中估计出: 
Figure FDA0000387139070000101
其中t为所述媒体数据的回放时间,si为第i个媒体数据单元的大小,TL为平均时间间隔,α为缩放因子, α≥1。 
35.用于通过TCP提高流媒体的性能的***,包括如权利要求1所述的装置和权利要求10所述的装置,其中,如权利要求1所述的装置部署在服务器侧,而权利要求10所述的装置部署在客户端侧。 
CN201080037273.3A 2009-08-21 2010-08-19 用于规划媒体数据的传输时间的装置和方法 Expired - Fee Related CN102484741B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US23598709P 2009-08-21 2009-08-21
US61/235,987 2009-08-21
PCT/CN2010/076129 WO2011020437A1 (en) 2009-08-21 2010-08-19 Devices and methods for scheduling transmission time of media data

Publications (2)

Publication Number Publication Date
CN102484741A CN102484741A (zh) 2012-05-30
CN102484741B true CN102484741B (zh) 2014-04-02

Family

ID=43606658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080037273.3A Expired - Fee Related CN102484741B (zh) 2009-08-21 2010-08-19 用于规划媒体数据的传输时间的装置和方法

Country Status (5)

Country Link
US (1) US8719435B2 (zh)
JP (1) JP5588001B2 (zh)
CN (1) CN102484741B (zh)
GB (1) GB2487140B (zh)
WO (1) WO2011020437A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9301315B1 (en) * 2011-03-09 2016-03-29 Amdocs Software Systems Limited System, method, and computer program for transmitting network communications at a point in time automatically determined based on communication rates
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
CN103023794A (zh) * 2012-12-06 2013-04-03 苏州阔地网络科技有限公司 一种数据流控制的方法及***
GB2510556A (en) * 2012-12-12 2014-08-13 Microsoft Corp Aggregating data prior to transmission using timer events
US20160164943A1 (en) * 2014-12-05 2016-06-09 Qualcomm Incorporated Transport interface for multimedia and file transport

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002001344A3 (en) * 2000-06-27 2002-08-01 Koninkl Philips Electronics Nv Method of determining a schedule, scheduler and system
CN1812575A (zh) * 2006-02-24 2006-08-02 清华大学 流媒体数据的并行传输调度方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141270A (ja) * 1993-11-19 1995-06-02 Hitachi Ltd データ送信管理システム
US5956321A (en) * 1995-03-16 1999-09-21 Kabushiki Kaisha Toshiba Stream scheduling system for real time stream server
US5729540A (en) * 1995-10-19 1998-03-17 Qualcomm Incorporated System and method for scheduling messages on a common channel
US7334044B1 (en) * 1998-11-17 2008-02-19 Burst.Com Method for connection acceptance control and optimal multi-media content delivery over networks
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
ES2557892T3 (es) * 1999-07-15 2016-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Control de admisión y planificación de tráfico de datos por paquetes
US6438630B1 (en) * 1999-10-06 2002-08-20 Sun Microsystems, Inc. Scheduling storage accesses for multiple continuous media streams
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
US7065586B2 (en) * 2000-12-22 2006-06-20 Radiance Technologies, Inc. System and method for scheduling and executing data transfers over a network
US7230923B2 (en) * 2001-03-09 2007-06-12 Vitesse Semiconductor Corporation Time based packet scheduling and sorting system
JP2002330164A (ja) * 2001-05-02 2002-11-15 Matsushita Electric Ind Co Ltd フレームスケジューリング装置及び方法
US20030037133A1 (en) * 2001-08-15 2003-02-20 Thomas Owens Method and system for implementing redundant servers
US20030198184A1 (en) * 2001-08-31 2003-10-23 Joe Huang Method of dynamically determining real-time multimedia streaming rate over a communications networks
US7093256B2 (en) * 2002-12-13 2006-08-15 Equator Technologies, Inc. Method and apparatus for scheduling real-time and non-real-time access to a shared resource
JP4042696B2 (ja) * 2004-01-08 2008-02-06 日本電気株式会社 通信システム、通信端末及び通信プログラム
US7433946B2 (en) * 2004-08-12 2008-10-07 Microsoft Corporation Mechanism for transmitting elementary streams in a broadcast environment
US7743398B2 (en) * 2004-08-13 2010-06-22 Microsoft Corporation Video recording conflict management and user interface
US20070016530A1 (en) * 2005-07-15 2007-01-18 Christopher Stasi Multi-media file distribution system and method
US7693128B2 (en) * 2006-02-23 2010-04-06 Freescale Semiconductor, Inc. Managing packets for transmission in a communication system
JP2007318470A (ja) * 2006-05-26 2007-12-06 Sony Corp サーバ装置、送信順序決定方法およびコンテンツ配信システム
DE602007012288D1 (de) * 2006-11-14 2011-03-10 Koninkl Philips Electronics Nv Verfahren und empfangseinheit zum schnellen wechsel von diensten
JP2008252514A (ja) * 2007-03-30 2008-10-16 Kddi Corp 無線パケット制御装置、無線パケット制御方法、および無線通信装置
US8014393B1 (en) * 2008-08-05 2011-09-06 Cisco Technology, Inc. Bandwidth optimized rapid channel change in IP-TV network
US8578272B2 (en) * 2008-12-31 2013-11-05 Apple Inc. Real-time or near real-time streaming
US20100254462A1 (en) * 2009-04-07 2010-10-07 Cisco Technology, Inc. Method for reducing memory usage with accelerated channel changes
US9122537B2 (en) * 2009-10-30 2015-09-01 Cisco Technology, Inc. Balancing server load according to availability of physical resources based on the detection of out-of-sequence packets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002001344A3 (en) * 2000-06-27 2002-08-01 Koninkl Philips Electronics Nv Method of determining a schedule, scheduler and system
CN1812575A (zh) * 2006-02-24 2006-08-02 清华大学 流媒体数据的并行传输调度方法

Also Published As

Publication number Publication date
GB2487140B (en) 2016-06-22
CN102484741A (zh) 2012-05-30
GB2487140A (en) 2012-07-11
JP5588001B2 (ja) 2014-09-10
GB201202340D0 (en) 2012-03-28
JP2013502781A (ja) 2013-01-24
US20110066742A1 (en) 2011-03-17
WO2011020437A1 (en) 2011-02-24
US8719435B2 (en) 2014-05-06

Similar Documents

Publication Publication Date Title
US8046486B2 (en) Active client buffer management
US6910079B2 (en) Multi-threshold smoothing
CN101785275B (zh) 通过代理反馈控制的帧传输为媒体服务器选择内容速率
CN102484741B (zh) 用于规划媒体数据的传输时间的装置和方法
RU2367011C2 (ru) Устройство и способ передачи сигналов с упреждающей адаптацией скорости
EP2612495B1 (en) Adaptive streaming of video at different quality levels
JP5768292B2 (ja) 経時変化するトランスポートメディアによるデータのストリーミング
CN100502349C (zh) 用于增加数据分组的接收器发起的发送速率的方法
US11159834B2 (en) Managing congestion response during content delivery
US9781474B2 (en) Content playback information estimation apparatus and method and program
EP2589223B1 (en) Video streaming
US20130219440A1 (en) Apparatus and method for simulcast over a variable bandwidth channel
CN105191334A (zh) 用于自适应比特率视频回放的基于调度器的网络虚拟播放器
KR20150045346A (ko) 이동 통신 시스템에서 멀티미디어 데이터 송수신 방법 및 장치
Song et al. Multipath based adaptive concurrent transfer for real-time video streaming over 5G multi-RAT systems
CN104022845A (zh) 调整数据块比特率的方法、装置和***
CN109039541B (zh) 一种基于aos通信***丢包率最小化的链路自适应优化方法
US8107500B2 (en) Communication control apparatus, communication control method, and computer program
US10911804B2 (en) Bitrate instruction device, bitrate instruction method, and non-transitory recording medium
JP6724517B2 (ja) ビットレート指示装置、ビットレート指示方法、及び、ビットレート指示プログラム
Dräxler et al. Anticipatory download scheduling in wireless video streaming with uncertain data rate prediction
Hadar et al. EPCRTT-based smoothing and multiplexing of VBR video traffic
JP4068540B2 (ja) 符号化データ伝送装置,符号化データ復号装置,符号化データ伝送方法および符号化データ復号方法
CN106713316B (zh) 一种基于接收缓冲的流媒体业务传输资源需求获取方法
WO2009084083A1 (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140402

Termination date: 20200819