CN101160848B - 用于动态控制数据分组传输的方法和设备 - Google Patents

用于动态控制数据分组传输的方法和设备 Download PDF

Info

Publication number
CN101160848B
CN101160848B CN2005800494354A CN200580049435A CN101160848B CN 101160848 B CN101160848 B CN 101160848B CN 2005800494354 A CN2005800494354 A CN 2005800494354A CN 200580049435 A CN200580049435 A CN 200580049435A CN 101160848 B CN101160848 B CN 101160848B
Authority
CN
China
Prior art keywords
client buffer
bit rate
client
buffer
current
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.)
Active
Application number
CN2005800494354A
Other languages
English (en)
Other versions
CN101160848A (zh
Inventor
M·坎普曼
C·普卢姆
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN101160848A publication Critical patent/CN101160848A/zh
Application granted granted Critical
Publication of CN101160848B publication Critical patent/CN101160848B/zh
Active 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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/70Media network packetisation
    • 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/80Responding to QoS
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

本发明公开了一种用于根据等待模式和动态模式来控制从服务器向具有客户端缓冲器的客户端传输数据分组的技术。在包含以当前比特率进行编码的数据的分组到达客户端缓冲器之前执行等待模式;否则执行动态模式。在等待模式中,允许到更低比特率的下切换,但禁止到更高比特率的上切换。在动态模式中,既允许上切换也允许下切换,其中分组的比特率的调整部分地基于当包含以当前比特率进行编码的数据的分组首次到达客户端缓冲器时客户端缓冲器内所包含的数据量来控制。这两种模式有助于避免不必要的速率切换。

Description

用于动态控制数据分组传输的方法和设备
技术领域
本发明涉及数据通信,更具体而言,涉及一种用于控制流数据分组传输的技术。 
背景技术
通过诸如基于分组的因特网协议(IP)网络之类的通信基础设施,从服务器向客户端传输的数据量日益增长。一种日益流行的特定应用是多媒体流。然而,在广泛采用这样的服务之前,在提供可靠的数据流方面必须进行改进。例如,由于IP网络与用户的客户端设备之间的数据传输链路速率易于波动,所以在对用户的数据传送中的任何干扰都可能会导致向最终用户的播放的严重恶化,即用户观看到的媒体的质量的恶化。特别地,重要的是在客户端设备处存在数据分组的充足供应以便由多媒体应用取得来进行播放(即多媒体应用或播放器对多媒体文件的显示)。 
在许多情况下,分组传输速率不能被改变,这是因为该速率取决于通信链路的带宽(或者说改变分组传输速率至少是不切实际的)。然而,常常必须改变向用户的输出设备馈送数据的速率。通常,对于流应用而言,使用“流切换”来实现这种调整。利用流切换,相同的媒体内容(例如特定的视频序列)以不同的比特率进行预编码并被存储在服务器上。因此,可以得到相同流的不同版本。在传输期间,基于网络中的当前可用带宽,并基于客户端缓冲器的状态,服务器选择具有最适当的数据比特率的特定版本。服务器所使用的切换逻辑判定是否以及何时切换到该流的另一版本。在所谓的“下切换”的情况下,将流切换到具有更低编码比特率的版本。在“上切换”的情况下,切换到具有更高编码比特率的版本。在许多实施方式中,用于切换的标准使用关于客户端缓冲器状态所定义的预定义阈值。在一个例子中,阈值基于缓冲器填充水平,所述缓冲器填充水平表示客户端缓冲器内以字节为单位的数据量。在另一例子中,阈值基于在客户端缓冲器内所存储媒体的播放长度(PT),所述播放长度表示要向用户播放已经在客户端缓冲器内的数据将花费的 以秒为单位的时间量。在此对涉及播放长度的例子进行描述,尽管也可以替代地使用缓冲器填充水平或其他适当的参数。 
用于确定客户端缓冲器的状态的一些常规技术使用在实时传输控制协议(RTCP)接收机报告(RR)内的信息。在RR中包含关于下一序列号(NSN)或客户端缓冲器内最早缓冲的序列号(OBSN)和客户端缓冲器内所接收的最高序列号(HRSN)的信息,并且该信息被用来确定所消耗的缓冲器空间,因为在从HRSN到NSN/OBSN的范围内每个分组的大小是已知的。如果客户端缓冲器内的自由空间低于优选的客户端缓冲器填充水平,那么选择该流的不同版本。例如,如果缓冲器播放长度(PT)降到预定最小阈值(PTDOWN)以下,则会出现缓冲器耗尽的风险,即客户端缓冲器变空,以致于没有用于流向用户的数据。这造成播放冻结,其中向用户显示的最后的图像通常是冻结的,直到可以向客户端缓冲器添加充足数量的附加数据以便重新启动向用户所用的输出设备的流,即要求客户端缓冲器的“重新缓冲”。从用户的观点来看重新缓冲可能是非常令人烦恼的。 
为了避免由于客户端缓冲器耗尽而可能带来的重新缓冲,服务器检测客户端缓冲器内的播放长度(PT)何时降到阈值PTDOWN以下,从而调整比特率(即选择具有不同比特率的流版本)以试图防止客户端缓冲器变得完全耗尽。更具体而言,服务器执行下切换,即向更低的比特率流的切换。执行下切换而不是上切换的原因在于,客户端缓冲器被耗尽最可能的原因是服务器和客户端缓冲器之间的链路速率低于预期,即有效带宽低于当前所使用比特率的需要。因此,客户端缓冲器不能以客户端缓冲器向用户的输出设备馈送数据的相同速率来接收数据。因而,应当将数据填充保持得很好的客户端缓冲器变得耗尽。通过切换到更低比特率,客户端缓冲器以更低速率向显示单元馈送数据,由此允许更多时间来从服务器接收数据,并由此防止客户端缓冲器变得完全耗尽。从用户的观点来看,媒体流的质量由于下切换而降级,例如视频流所显示图像的尺寸变得更小,图像的分辨率变得更低,或者在图像中看到更高的失真。然而,这与在重新缓冲期间发生的前述播放冻结相比是优选的。 
另一方面,如果缓冲器播放(PT)长度超出了预定的最大阈值(PTUP),则会出现缓冲器溢出的风险,即客户端缓冲器变满,从而没有用于附加分组的空间。服务器通常不重新发送由客户端缓冲器接收的 但并未存储在其中的任何分组,因此简单地不向用户的输出设备转发这些分组的数据。一旦客户端缓冲器再次能够存储分组,数据流就从新的分组重新开始。因此,从用户的观点来看,由于流简单地向前跳过,所以存在内容的突然丢失。在影片或电影的情况下,对话可能会丢失,从而干扰了用户理解故事的能力。在音乐的情况下,歌曲简单地向前跳过。将会认识到,从用户的观点来看这可能也是非常令人烦恼的。 
为了避免由于客户端缓冲器溢出而造成的流中断并且同时为了提高媒体质量,服务器检测客户端缓冲器内的播放长度(PT)何时超出阈值PTUP,从而执行上切换,即切换到更高的比特率流。执行上切换而不是下切换的原因在于,客户端缓冲器变满最可能的原因是服务器和客户端缓冲器之间的链路速率大于预期,即有效带宽大于当前所使用比特率的需要。因此,客户端缓冲器以比客户端缓冲器向用户的输出设备馈送数据更高的速率来接收数据。因而,客户端缓冲器溢出。通过切换到更高的比特率,客户端缓冲器以更高的速率向输出设备馈送数据,由此避免客户端缓冲器溢出。从用户的观点来看,媒体流的质量由于上切换而得到提高,例如视频流所显示图像的尺寸变得更大,或者图像的分辨率变得更高。因此,上切换有助于防止流的中断,并且提高媒体质量,这二者都有益于用户。 
用于执行上切换和下切换的简单逻辑可以被表示如下: 
If PT>PTUP then 
执行上切换 
else if PT<PTDOWN
执行下切换 
end if。 
这些阈值的恰当选择对于用户总的媒体印象来说是至关重要的。在执行下切换太晚的情况下,将会发生重新缓冲事件。在执行上切换太晚的情况下,用户接收在必需情况下的低质量媒体,并且如所述,由于缓冲器溢出而可能会出现数据流的中断。同样,如果下切换早于必需而执行,则用户接收比必需情况下质量更低的媒体。如果上切换早于必需而执行,可能很快就需要进行下切换,从而导致媒体质量发生令人烦恼的波动。为了避免这些问题,有可能使用多个下切换阈值和多个上切换阈值。当播放长度朝着缓冲器耗尽降低时,越过一系列的下切换阈值,每 一个下切换阈值触发一个下切换。相反,当播放长度朝着缓冲器溢出而增长时,越过一系列的上切换阈值,每一个上切换阈值触发一个上切换。 
然而,在切换已经发生并且具有新比特率的流已被发送之后,在切换对客户端缓冲器的播放长度具有任何影响之前需要花费一些时间。首先,在包含以新速率编码的数据的第一分组到达客户端缓冲器之前存在一个传输延迟。在此时段期间,客户端缓冲器中所存储媒体的播放长度不受新速率的影响。因此,如果播放长度朝着可能的缓冲器溢出而增长,它将很可能继续增长。相反,如果播放长度朝着可能的缓冲器耗尽而降低,它将很可能继续降低。同样,即使在第一分组以新比特率到达之后,播放长度最初也可能仅仅缓慢地改变。例如,可能仍然有客户端缓冲器还未收到的、以先前比特率的数据发送的一些分组。因此,切换条件常常仍然有效,并且在第一切换之后然后进行若干切换,它们往往是不必要的。在第一下切换的情况下,可能执行若干进一步的下切换,从而导致比必需低得多的流比特率。通常,下切换直到选择了最低流比特率才会停止。该特性导致了对于用户不必要的低媒体流质量。在上切换的情况下,可能会发生若干进一步的上切换,从而导致过高的流比特率,往往达到可能的最高速率。这导致流比特率与当前可用的网络带宽相比过高,从而触发一系列的下切换。 
结果,流质量的频繁且令人烦恼的变化被用户看到。而且,如果选择了过高的比特率,往往不能足够快地执行后续的下切换,这导致令人烦恼的重新缓冲事件和播放冻结。同样,如果选择了过低的比特率,往往不能足够快地执行后续的上切换,从而导致令人烦恼的缓冲器溢出和数据的相关丢失。甚至对于只有单个上切换阈值和单个下切换阈值,这类问题也可能会发生,尤其是当这些阈值被设置得过于接近在一起时。 
因此,需要一种用于控制流切换的改进技术,以便向用户提供更稳定和更可靠的内容,并且本发明正是主要为此目的。 
发明内容
本发明可以体现为一种用于控制从服务器向具有客户端缓冲器的客户端传输分组的方法,其中服务器可基于客户端缓冲器的状态来选择分组内要传输的数据的比特率。根据该方法,一开始传输包含以当前比 特率进行编码的数据的分组。监视客户端缓冲器以检测参考值(PTCH),该参考值表示在后续时间点客户端缓冲器内的数据量。还跟踪表示客户端缓冲器内的当前数据量的值(PT)。从而基于表示客户端缓冲器内的当前数据量的值(PT)并且基于参考值(PTCH),根据动态模式来控制所传输数据的比特率的调整。通过考虑所述参考值(PTCH)以及所述值(PT),当控制比特率的调整时,可以基本上避免不必要的比特率调整。 
在一种实施方式中,检测表示在后续时间点客户端缓冲器内的数据量的参考值(PTCH)的步骤包括以下步骤:监视客户端缓冲器(115)以检测包含以当前比特率进行编码的数据的分组何时首次到达客户端缓冲器(202);并检测参考值(PTCH),该参考值表示在包含以当前比特率进行编码的数据的分组首次到达客户端缓冲器时的时间点客户端缓冲器内的数据量(204)。可选择地,可以在开始传输包含以当前(新)比特率进行编码的数据的分组之后紧接的时间点和/或在这两个时间点之间的任何时间,检测该参考值(PTCH)。 
在动态模式的上切换例子中,如果客户端缓冲器内的当前数据量(PT)超出了部分基于参考值(PTCH)而设置的可调整上切换阈值(PTUP-ADJ),则通过切换到更高的比特率来执行控制比特率调整的步骤。可调整上切换阈值(PTUP-ADJ)可以被设置为等于预定的安全(S)界限乘以参考值(PTCH)。预定的安全界限通常被设置为大于或等于1.0,并且在一个特定例子中被设置为1.2。同样,在该例子中,只有在客户端缓冲器内的当前数据量(PT)也超出了预定最小阈值时,才执行动态模式中切换到更高比特率的步骤,该预定最小阈值可以是固定的下切换阈值(PTDOWN)。 
在动态模式的下切换例子中,如果客户端缓冲器内的当前数据量(PT)降到了部分基于参考值(PTCH)而设置的可调整下切换阈值(PTDOWN-ADJ)以下,则通过切换到更低的比特率来执行控制分组的比特率调整的步骤。可调整下切换阈值(PTDOWN-ADJ)可以被设置为在预定最小阈值(PTDOWN)和参考值(PTCH)之间的近似中间值(midway)。同样,在该例子中,如果客户端缓冲器内的当前数据量(PT)降到了预定最小阈值以下,才执行动态模式中切换到更低比特率的步骤,该预定最小阈值可以是固定的下切换阈值(PTDOWN)。 
优选地,只有在包含以当前比特率进行编码的数据的分组到达客户 端缓冲器之后,才执行根据动态模式来控制分组的比特率调整的步骤。在速率调整之后但在包含以调整后的比特率进行编码的数据的分组到达客户端缓冲器之前的时段期间,代之以根据等待模式来控制调整。在等待模式中,如果客户端缓冲器内的当前数据量(PT)降到下切换阈值(PTDOWN)以下,则执行比特率的降低。然而,比特率的增大在等待模式中是禁止的。 
在各种实施方式中,表示客户端缓冲器内的数据量的值表示数据的播放长度(PT)或缓冲器填充水平。 
取决于实施方式,客户端可以是诸如移动电话之类的移动通信终端,并且另外地或替代地,服务器可以被集成到移动通信终端中,从而服务器和网络之间的链路可以是无线的。另外,该方法可以由布置在服务器和客户端之间的一个或多个中间网络节点(例如代理)来执行。该方法还可以在具有由客户端缓冲器(或者多个客户端缓冲器,这取决于客户端的配置)进行缓冲的多个数据流的架构中使用。 
本发明还可以体现为一种计算机程序产品,该计算机程序产品可以被存储在计算机可读记录介质上,包括当在计算机系统上运行该计算机程序产品时用于执行上述方法的任一步骤的程序代码部分。 
本发明还可以包括一种装置,该装置包括计算机处理器以及与该处理器耦合的存储器,其中该存储器利用可以执行上述方法的任一步骤的一个或多个程序进行编码。 
在又一实施例中,本发明涉及一种用于控制从服务器向具有客户端缓冲器的客户端传输分组的装置,其中服务器可基于客户端缓冲器的当前状态来调整从服务器到客户端的分组的比特率。该装置包括:比特率控制器,用于开始以当前比特率传输分组中的数据;客户端缓冲器监视器,用于监视客户端缓冲器以检测参考值,该参考值表示在后续时间点客户端缓冲器内的数据量;跟踪单元,用于跟踪表示客户端缓冲器内的当前数据量的值;以及动态模式控制器,用于基于表示客户端缓冲器内的当前数据量的值并且基于参考值来控制分组的比特率的调整。 
在一种实施方式中,该装置还包括等待模式控制器,用于根据等待模式来控制分组的比特率的调整。 
所述装置可以被配置为固定或移动的网络部件,例如网络服务器和/或无线终端。另外,所述装置可以由中间网络节点例如代理构成。 
附图说明
在下文中将参考附图中所示的示例性实施例来描述本发明,其中: 
图1是对理解和实施本发明有用的通信系统的示意图; 
图2是提供本发明的动态模式方法实施例的概观的过程流程图; 
图3是提供本发明的等待模式方法实施例的概观的过程流程图; 
图4是提供动态模式与等待模式之间相互关系的概观的状态图; 
图5是说明本发明的动态模式逻辑的一种示例性实施方式的过程流程图; 
图6是示例性客户端缓冲器的方框图,尤其说明了本发明所使用的各种阈值; 
图7是说明本发明的等待模式逻辑的一种示例性实施方式的过程流程图;以及 
图8是说明本发明的服务器部件的示例性装置实施方式的方框图。 
具体实施方式
在下列描述中,出于解释而非限制的目的,陈述了特定细节,例如步骤的特定序列和各种配置,以便提供对本发明的全面理解。本领域技术人员将认识到,可以在脱离这些特定细节的其他实施例中实行本发明。而且,本领域技术人员将认识到,在下文所解释的功能可以使用软件功能连同程控微处理器或通用计算机一起、和/或使用专用集成电路(ASIC)来实施。还将认识到,尽管本发明被主要描述为一种方法,但是它还可以体现为一种计算机程序产品以及一种系统或装置,所述系统或装置包括计算机处理器以及与该处理器耦合的存储器,其中该存储器利用可以执行在此所公开的方法的一个或多个程序进行编码。 
图1说明了可以结合本发明使用的样本架构100,其包括可以通过诸如IP网络110之类的通信路径耦合至客户端115的服务器105。该服务器包括媒体内容模块120,该媒体内容模块使用诸如UDP上的RTP(实时传输协议)或用于管理多媒体数据的实时传输的其他数据传输协议(具有传输层协议,例如用户数据报协议UDP)之类的流标准,通过RTP/UDP模块125接入和传送某些媒体内容(例如多媒体数据文件)。分组被传送给公用网络130(例如因特网,然而当服务器被直接耦合至 运营商网络135时不需要外部公用网络),该公用网络130将分组传送给与其耦合的运营商网络135,例如移动通信运营商“有线”网络。 
运营商网络135包括提供服务器105与客户端115之间的通信链路的核心网络140。可选地可能具有缓冲器的核心网络140提供从RTP/UDP模块125接收的分组,以便在无线发射机150发射这些分组之前,在无线接入网络(RAN)145内的缓冲器(例如SGSN或RNC中的缓冲器)中进行缓冲。核心网络140(如果使用缓冲的话)和RAN 145的缓冲器被串联布置并构成网络缓冲器。 
客户端115在客户端缓冲器155中接收无线发射机150所发送的分组。从客户端缓冲器155向RTP/UDP模块160传输这些分组,以便递送给媒体应用模块165(或多媒体播放器)并由其使用。为了该应用的目的,短语“分组传输速率”将是指从服务器105向IP网络110传输分组的速率,短语“链路速率”将是指从IP网络110向客户端115传输分组的速率,而短语“比特率”应当是指从客户端缓冲器115向媒体应用模块165传输数据以便由媒体应用模块165播放的速率。这有时也被称作“内容速率”。 
参考图2,其中说明了可以由例如图1的系统来执行的、本发明的方法实施例200。图2的方法表示本发明处理的动态模式,其可以单独实施或者与图3所示的等待模式相结合来实施。该方法优选由服务器实施,例如图1的服务器105,但是也可以由任何其他适当的网络部件来实施。在下列描述中,将假定服务器实施本发明的步骤。从步骤202开始,服务器开始传输以当前比特率进行编码的多媒体流的分组并监视客户端缓冲器155(图1)。举例来说,可以通过选择具有特定比特率的预编码的流版本来设置当前的比特率。在步骤204,服务器接着存储参考值,该参考值表示在后续时间点客户端缓冲器内的数据量,例如当包含以当前比特率进行编码的数据的分组首次到达客户端缓冲器时。为了检测包含以当前比特率进行编码的数据的分组何时首次到达客户端缓冲器,服务器对从客户端缓冲器接收的信号进行处理。在一个例子中,如果客户端缓冲器是根据RTCP协议来实施的,那么服务器接收来自客户端缓冲器的反馈,该反馈包括NSN或HRSN数据字段。利用这些数据字段中的信息,服务器由此可以(至少近似地)检测包含以当前比特率进行编码的数据的分组何时首次到达客户端缓冲器。如所述,客户端 缓冲器中的数据量可以按照例如播放长度(PT)、客户端缓冲器填充水平、或其他适当值来表示。在下列描述中,将使用播放长度来描述这些例子。当使用播放长度时,在步骤204所检测到的参考值被称作PTCH。 
在步骤206,服务器跟踪表示客户端缓冲器内的当前数据量的值,即PT。这也可以根据别的常规技术来执行,例如使用NSN和HRSN数据字段中的信息。 
在步骤208,服务器接着基于表示客户端缓冲器内的当前数据量的值(在步骤206检测到的)并基于参考值(在步骤204检测到的)来控制比特率的调整。换句话说,服务器既基于PT又基于PTCH来控制比特率的调整。通过除PT之外还考虑PTCH,服务器能够避免在仅使用固定速率切换阈值的常规系统中出现的许多不必要的速率切换。例如,PTCH 可以被用来设置可调整的上切换和下切换阈值,它们将不必要的速率切换减少到最低限度。优选地,设置可调整阈值,从而在前一上切换之后,只有当客户端缓冲器播放长度依然增长时才执行进一步的上切换。因此,避免了即使当客户端缓冲器播放长度已经下降时仍可能执行的任何进一步上切换。在前一下切换之后,只有当缓冲器播放长度依然下降时才执行进一步的下切换。因此,避免了即使当客户端缓冲器播放长度已经增长时仍可能执行的任何进一步下切换。以下参考图5的优选实施方式对此进行更详细的描述。 
最后关于图2,在步骤210,一旦在步骤208对比特率进行了任何调整,服务器就切换到等待模式300,现在将参考图3对等待模式进行概述。如以下将讨论的,等待模式也可以被单独实施,即独立于参考图2所示的动态模式来实施。 
在图3的步骤302,服务器再次跟踪表示客户端缓冲器内的当前数据量的值,即播放长度(PT)。在步骤304,服务器监视客户端缓冲器以检测具有以调整后比特率进行编码的数据的分组何时首次到达客户端缓冲器。步骤304中提到的调整后速率是由在图2的步骤208(它已经触发了从动态模式向等待模式的切换)所执行的比特率调整所得到的新比特率。通过检查NSN和HRSN数据字段中的数据,可以执行以特定比特率进行编码的分组是否已经到达客户端缓冲器的判定。在步骤306,只要具有以调整后比特率进行编码的数据的分组还没有达到客户端缓冲器,服务器就通过在禁止任何比特率升高的同时,基于表示客户 端缓冲器内的当前数据量的值(PT)执行速率降低,从而控制比特率的任何进一步调整。在步骤308,一旦具有以最近调整后比特率进行编码的数据的分组已经到达了客户端缓冲器,服务器就切换回到图2的动态模式。换句话说,仅仅在前一速率调整(即上切换或下切换)与包含以调整后比特率进行编码的数据的分组首次到达客户端缓冲器的时间点之间的时段期间执行步骤306。在此时段期间,禁止速率升高。因此,不管客户端缓冲器的状态如何,都不执行上切换。然而,仍然可以执行下切换。下切换也可以根据别的常规技术来执行,其中比较PT与固定的PTDOWN阈值,并且如果PT降到了PTDOWN以下就执行下切换。一旦具有以调整后比特率进行编码的数据的分组到达了客户端缓冲器,就再次执行动态模式处理过程,其中既允许上切换又允许下切换。 
因此,一旦进行了比特率调整(无论是向上还是向下),在客户端缓冲器接收到包含以调整后比特率进行编码的数据的分组之前,都禁止上切换。这就防止在前一速率调整有机会生效之前,基于客户端缓冲器播放长度的干扰(intervening)变化而执行任何进一步的上切换。如上面在发明内容部分所解释的,可能会出现这样的情况,其中在前一比特率调整有机会生效之前,客户端缓冲器的播放长度会发生变化。这样的变化有时会触发额外的上切换,这常常是不必要的并且起相反作用。实际上,比特率常常增长到需要进行一系列下切换的点,这些下切换往往不能被足够快地执行以防止缓冲器溢出。另一方面,在等待模式中,仍然可以执行下切换。为了防止重新缓冲事件出现的可能性而允许进一步的下切换,这是因为由于重新缓冲事件通常在最终用户内引发严重的烦恼而在所有情况下都应当避免这种事件。 
注意,在客户端缓冲器最终接收到包含以调整后比特率(即在图1的步骤208设置的速率)进行编码的数据的分组之前,可以在步骤306执行一系列的下切换,从而触发回到动态模式的切换。在一个例子中,当服务器切换回到动态模式时,动态模式逻辑所使用的新“当前”速率是与最后的即最近的下切换相关的速率。在该例子中,如果在等待模式期间执行一系列的下切换,则因此服务器直到客户端缓冲器最终接收到按照最后一次下切换所发送的分组才更新PTCH。在另一例子中,当服务器切换回到动态模式时,动态模式逻辑所使用的新“当前”速率代之以是与等待模式中所进行的第一次下切换相关的速率。在该第二个例子 中,如果在等待模式期间执行一系列的下切换,则因此客户端缓冲器一接收到按照第一次下切换所发送的分组,服务器就更新PTCH。 
因此,图2和图3概述了本发明的动态模式和等待模式。在该优选实施方式中,如所述,服务器能够实施这两种模式,并且基于何时执行比特率调整以及具有以当前比特率进行编码的数据的分组何时到达客户端缓冲器,在这两种模式之间来回切换。 
图4提供了概述这两种操作模式的状态图。在执行速率调整310(无论是向上还是向下)(这将触发到等待模式的转换)之前,服务器保持在动态模式200。之后,在包含以当前比特率进行编码的数据的分组到达客户端缓冲器312(这将触发回到动态模式的转换)之前,服务器保持在等待模式。以这种方式,服务器总是操作在最佳模式,以便将不必要的速率切换减少到最低限度,同时致力于防止缓冲器溢出,并且最重要的是致力于防止重新缓冲事件。 
然而,在其他实施方式中,服务器可以被配置为仅实施动态模式或仅实施等待模式。如果仅实施动态模式,那么优选地,服务器被配置为总是保持在动态模式。换句话说,对比特率的调整(例如在图2的步骤208所触发的)不会触发到任何其他模式的转换。更确切地说,处理简单地在动态模式内继续,并且服务器监视客户端缓冲器以检测包含以调整后比特率进行编码的数据的分组何时到达客户端缓冲器,然后相应地更新PTCH。然而,如果仅实施等待模式,服务器优选地并不总是保持在等待模式(例如防止任何上切换被执行)。更确切地说,服务器优选地在等待模式与正常操作模式之间来回切换,其中正常模式可以是另外一种常规操作模式,其中固定的上切换和下切换阈值与播放长度或客户端缓冲器填充水平相结合来使用。除了图5的阈值机制以外,或者作为其替代方案,正常模式还可以使用本领域众所周知的速率估计机制。换句话说,该系统可以根据与图4类似的状态图来实施,只是用正常模式来代替动态模式而已。 
现在转到图5,将描述图2的步骤208使用的动态模式逻辑的示例性实施方式。在该示例性实施方式中,参考值PTCH表示在以当前速率发送的分组首次到达客户端缓冲器时的时间点客户端缓冲器内的数据量。在其他例子中,代之以使用不同的参考时间点来检测参考值PTCH,例如在速率切换与以新速率发送的分组首次到达客户端缓冲器时的点 之间定义的参考点,以及在以新速率发送的分组到达客户端缓冲器之后定义的点。从步骤400开始,服务器输入PTUP、PTDOWN、PTCH的值和安全值S。分别预先确定PTUP和PTDOWN,即固定的上切换和下切换阈值,它们也可以根据另外的常规技术来设置。PTCH是在图2的步骤204确定的值,其表示当包含以当前比特率进行编码的数据的分组首次到达客户端缓冲器时客户端缓冲器内的数据量。S是安全值,其被设置为大于1.0,并且在一个例子中被说成1.2。在步骤402,服务器设置等于PTCH 乘以安全值S的可调整上切换阈值(PTUP-ADJ)。在步骤404,服务器设置等于PTCH和PTDOWN加起来再除以二的可调整下切换阈值(PTDOWN-ADJ),即PTDOWN-ADJ被设置在PTCH和PTDOWN的中间。通常,PTDOWN-ADJ可以被设置为PTCH和PTDOWN之间的任何点。 
在图6中说明了这些阈值,图6提供了表示图1的客户端缓冲器155的方框图。在图6的例子中,服务器发现PTCH大于PTUP。因此,设置在PTCH和PTDOWN中间的PTDOWN-ADJ大于PTDOWN。相反,如果发现PTCH小于PTDOWN,那么PTDOWN-ADJ同样将小于PTDOWN。与此同时,在图6的例子中,等于PTCH *S的PTUP-ADJ大于PTUP。在其他例子中,如果PTCH代之以明显地小于PTUP,那么PTUP-ADJ可能小于PTUP。这取决于PTCH的确切值以及用于安全因子S的值。因此,取决于PTCH及其他因子的值,PTUP和PTDOWN的可调整版本可以大于也可以小于它们的固定副本。还要注意,可能会发生这样的情况,其中PTCH *S可能大于客户端缓冲器的最大值(MAX)。如果出现了这种情况,那么将PTUP-ADJ 简单地设置为等于MAX或某一其他更小的默认值。 
返回到图5,在步骤406,服务器开始输入PT的值,即在图2的步骤206处跟踪的、客户端缓冲器内已经包含的数据的当前播放长度。如果在判定步骤408,PT大于PTDOWN并且PT也大于PTUP-ADJ,那么在步骤410触发上切换。不然的话,则执行判定步骤412,其中如果PT小于PTDOWN或PT小于PTDOWN-ADJ,则在步骤414触发下切换。 
判定步骤408和412的逻辑可以被表示如下: 
If PT>PTDOWN并且PT>PTUP-ADJ then 
执行上切换 
else if PT<PTDOWN或PT<PTDOWN-ADJ
执行下切换 
end if。 
其中如所述, 
PTUP-ADJ=PTCH *S,以及 
PTDOWN-ADJ=(PTCH+PTDOWN)/2。 
因此,如果客户端缓冲器的当前播放长度(PT)超出了调整后上切换阈值(PTUP-ADJ),则触发上切换,假定PT也超出了PTDOWN的话。后一种情况防止了在下切换可能更适当的情况下进行不适当的上切换。通过基于调整后上切换阈值而不是基于固定的上切换阈值来触发上切换,服务器由此考虑到客户端缓冲器的当前状态(用PT表示),同时还考虑到客户端缓冲器状态的动态变化(通过调整上切换阈值)。这有助于防止其他不适当的上切换。 
考虑这样一个例子,其中可调整上切换阈值最初被设置为正好等于固定的上切换阈值。因此,如果客户端缓冲器的播放长度超出了该阈值水平,则执行上切换。如果播放长度在以更高比特率发送的第一分组到达客户端缓冲器之前增长了,则可调整上切换阈值将大于固定阈值。在这种情况下,只有当播放长度超出了新的更高的阈值时,才将执行进一步的上切换。换句话说,由于必须超出更高的阈值,触发上切换将变得更加困难,从而在准许这种延迟的情况下延迟了进一步的上切换。如果代之以再次使用固定的上切换阈值,那么客户端缓冲器的播放长度的增长将造成新的PT值,它将再次超出该固定值,由此触发另一上切换。通过基于首次接收到分组时的播放长度来重新设置该阈值,只有播放长度的更进一步增长才可以触发另一上切换。提供前述安全因子以便确保在触发另一上切换之前,必须出现与PTCH相关的播放长度的不寻常增长。因此,在第一次上切换之后,如果缓冲器播放长度仍然在增长,将会执行进一步的上切换,由此避免了不必要的上切换。 
现在考虑这样一个例子,其中可调整上切换阈值最初再次被设置为等于固定的上切换阈值,但是其中在以更高比特率发送的第一分组到达客户端缓冲器之前,客户端缓冲器的播放长度显著地下降。在这种情况下,可调整上切换阈值将低于固定阈值。在这种情况下,如果播放长度超出了该新的更低的阈值(假定它也超出了固定的PTDOWN阈值),将会执行进一步的上切换。换句话说,触发上切换将变得更加容易,从而在准许的情况下加速进一步的上切换。 
现在转到下切换,如果客户端缓冲器的当前播放长度(PT)降到固定阈值PTDOWN或可调整下切换阈值(PTDOWN-ADJ)以下,则触发下切换。换句话说,如果PT降到这两个下切换阈值中较大的一个以下,则触发下切换。固定阈值仍然被用来触发下切换,以便防止下切换被延迟,从而有助于防止重新缓冲事件。然而,下切换可能会被加速,这在PT降到调整后的下切换阈值以下时会出现。如上所述,调整后的下切换阈值原来可能高于或低于固定的下切换阈值。如果它低于固定阈值,那么它是多余的,因为无论如何固定阈值被用来直接触发下切换。然而,如果可调整下切换阈值超出了固定下切换阈值,该可调整下切换阈值可以触发加速的下切换,即在使用常规切换逻辑时不会出现下切换的情况下出现的下切换。如所述,如果播放长度降到可调整下切换阈值以下,则发生加速的下切换。 
如果判定步骤408和412的条件均不为真,那么处理过程返回到步骤406,其中输入最近的PT值以便应用于各种阈值。然而,假设触发了上切换或下切换,则执行步骤416,其中服务器切换到等待模式,以下将参考图7来描述其逻辑。 
为了简要地概括,图5的动态模式判定逻辑提供了一种用于控制分组的比特率调整的手段,以便如果客户端缓冲器内的当前数据量超出了基于表示当包含以当前比特率进行编码的数据的分组首次到达客户端缓冲器时客户端缓冲器内的数据量的值所设置的调整后上切换阈值,则切换到增高的比特率。然而,只有当客户端缓冲器内的当前数据量也超出了最小阈值时,才执行到更高比特率的切换。该动态模式判定逻辑还提供一种用于控制比特率调整的手段,以便如果客户端缓冲器内的当前数据量降到基于表示当包含以当前比特率进行编码的数据的分组首次到达客户端缓冲器时客户端缓冲器内的数据量的值所设置的调整后下切换阈值,则切换到更低的比特率。 
现在转到图7,将描述图3的步骤306所使用的等待模式逻辑的优选实施方式。从步骤500开始,服务器输入PTUP和PTDOWN的值,它们是结合图6所使用的相同固定阈值。在步骤502,服务器开始输入PT的值,即在图2的步骤206跟踪的、客户端缓冲器内已经包含的数据的当前播放长度。在判定步骤504,如果播放长度(PT)降到PTDOWN以下,则在步骤506触发下切换。不然的话,那么在判定步骤508,服务 器判定以最近调整后比特率发送的分组是否已经到达客户端缓冲器。如果是这样的话,在步骤510处理过程直接返回动态模式。否则,处理过程返回到步骤502,其中输入播放长度的更新值,以便在步骤504与固定下切换阈值进行比较。关于图7的逻辑特别值得注意的是,不进行与上切换阈值的任何比较,也不执行任何上切换。正如已经解释的,在等待模式期间禁止上切换,以防止任何不应有的上切换。下切换由固定下切换阈值触发,以确保执行下切换,从而避免可能的重新缓冲事件。在等待模式中,不使用可调整阈值。 
因此,对于通过增高或降低分组内编码的数据的比特率来调整基于分组的系统中数据的总传输速率的技术,已经描述了一种示例性方法实施方式。该分组传输速率通常不会发生变化,因为它取决于通信链路的带宽。然而,在其他实施方式中,也可以使用例如自适应技术来调整分组传输速率。 
尽管主要参考方法实施方式对本发明进行了描述,但是装置实施方式也是本发明的一部分。图8以高层说明了一种示例性装置实施方式。简要地,可以作为图1的服务器105的一部分的网络部件600包括:比特率控制器602,用于开始以当前比特率传输分组中的数据;以及客户端缓冲器监视器604,用于监视客户端缓冲器以检测参考值,该参考值表示在后续时间点客户端缓冲器内的数据量,例如当包含以当前比特率进行编码的数据的分组首次到达客户端缓冲器时。跟踪单元606跟踪表示客户端缓冲器内的当前数据量的值。提供动态模式控制器608,以便基于表示客户端缓冲器内的当前数据量的值并且基于参考值来控制分组的比特率的调整。该装置还可以包括等待模式控制器610,用于根据等待模式来控制分组的比特率调整。在一个例子中,动态模式控制器608实施图5的动态模式逻辑;而等待模式控制器610实施图7的等待模式逻辑。还可以提供不包含动态模式控制器608或不包含等待模式控制器610的其他实施方式。 
正如本领域技术人员可以认识到的那样,本发明和与其相关的技术通过避免客户端缓冲器溢出和耗尽来对于诸如多媒体流之类的应用提供增强的最终用户感觉体验。 
此外,熟练技术人员还将认识到,存在许多不同的技术可以用来确定客户端缓冲器填充水平,包括基于RR和发送器报告内数据的估计, 并且本发明可以与在一个或多个网络缓冲器中同时缓冲以便向一个或多个客户端传输的多个数据分组流并行地实施。同样,除了上述的上切换以外还可以使用传输速率控制机制以避免缓冲器溢出。本领域技术人员还将认识到,本发明可以在各种类型的网络部件中实施,以及由各种类型的网络部件来实施,例如网络终端、网络节点等等。特别是,本发明可以由移动终端、代理(它可以分割传输路径)和固定终端来实行。 
尽管已经相对于特定实施例对本发明进行了描述,但是本领域技术人员将认识到,本发明不限于在此所描述和说明的特定实施例。因此,尽管已经关于其优选实施例对本发明进行了描述,但是应当理解本公开仅仅是说明性的。因此,本发明打算仅仅由在此所附的权利要求书的范围来限定。 

Claims (11)

1.一种用于控制从服务器(105)向具有客户端缓冲器(155)的客户端(115)传输分组的方法,其中服务器可基于客户端缓冲器的状态来选择分组内要传输的数据的比特率,该方法包括以下步骤:
开始传输包含以当前比特率进行编码的数据的分组(202);
监视客户端缓冲器(155)以检测包含以当前比特率进行编码的数据的分组何时首次到达客户端缓冲器(202);
检测参考值(PTCH)(204),该参考值表示当包含以当前比特率进行编码的数据的分组首次到达客户端缓冲器时客户端缓冲器(155)内的数据量;
跟踪表示客户端缓冲器内的当前数据量的值(206);并且
基于表示客户端缓冲器(155)内的当前数据量的值并且基于参考值(PTCH),根据动态模式(200)来控制所传输数据的比特率的调整(208),
其中根据动态模式来控制调整(208)的步骤包括以下步骤中的至少一个:
如果客户端缓冲器内的当前数据量超出了基于参考值(PTCH)所设置的可调整上切换阈值(PTUP-ADJ),则切换到更高的比特率(410),以及
如果客户端缓冲器内的当前数据量降到了基于参考值(PTCH)所设置的可调整下切换阈值(PTADJ-DOWN)以下,或者如果客户端缓冲器内的当前数据量降到了预定最小阈值(PTDOWN)以下,则切换到更低的比特率(414)。
2.权利要求1所述的方法,其中可调整上切换阈值(PTUP-ADJ)被设置为等于预定的安全界限(S)乘以参考值(PTCH)。
3.权利要求1和2中任何一项所述的方法,其中只有在客户端缓冲器内的当前数据量也超出了最小阈值时(408),才执行动态模式中切换到更高比特率的步骤。
4.权利要求1所述的方法,其中可调整下切换阈值(PTADJ-DOWN)被设置(404)为在预定最小阈值(PTDOWN)和参考值(PTCH)之间的近似中间值。
5.权利要求4所述的方法,其中所述预定最小阈值(PTDOWN)是固定的下切换阈值(400)。
6.权利要求1-2,4中任何一项所述的方法,其中只有在包含以当前比特率进行编码的数据的被发送分组到达客户端缓冲器(312)之后,才执行根据动态模式(200)来控制分组的比特率的调整(208)的步骤。
7.权利要求6所述的方法,还包括根据等待模式(300)来控制数据的比特率的进一步调整(306)的步骤,在等待模式中比特率的增大被禁止。
8.权利要求7所述的方法,其中只有在速率调整之后并在包含以新近调整后比特率进行编码的数据的被发送分组到达客户端缓冲器(310)之前,才执行根据等待模式(300)来控制数据的比特率的进一步调整(306)的步骤。
9.权利要求8所述的方法,其中根据等待模式(300)来控制分组的比特率的进一步调整(306)的步骤包括以下步骤:
如果客户端缓冲器内的当前数据量降到预定最小阈值(PTDOWN)以下,则切换到更低的比特率(506)。
10.权利要求1-2,4以及8-9中任何一项所述的方法,其中表示客户端缓冲器内的数据量的值表示数据的播放长度或缓冲器填充水平。
11.一种用于控制从服务器(105)向具有客户端缓冲器(155)的客户端(115)传输分组的装置(600),其中服务器可基于客户端缓冲器的当前状态来调整从服务器到客户端的分组的比特率,该装置包括:
比特率控制器(602),用于开始以当前比特率传输分组中的数据;
客户端缓冲器监视器(604),用于监视客户端缓冲器(155)以检测包含以当前比特率进行编码的数据的分组何时首次到达客户端缓冲器(202),以及用于检测参考值(PTCH)(204),该参考值表示当包含以当前比特率进行编码的数据的分组首次到达客户端缓冲器时客户端缓冲器(155)内的数据量;
跟踪单元(606),用于跟踪表示客户端缓冲器(155)内的当前数据量的值;以及
动态模式控制器(608),用于基于表示客户端缓冲器内的当前数据量的值并基于参考值通过下述中的至少一个来控制分组的比特率的调整:
如果客户端缓冲器内的当前数据量超出了基于参考值(PTCH)所设置的可调整上切换阈值(PTUP-ADJ),则切换到更高的比特率(410),以及
如果客户端缓冲器内的当前数据量降到了基于参考值(PTCH)所设置的可调整下切换阈值(PTADJ-DOWN)以下,则切换到更低的比特率(414)。
CN2005800494354A 2005-04-11 2005-04-11 用于动态控制数据分组传输的方法和设备 Active CN101160848B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2005/003785 WO2006108434A1 (en) 2005-04-11 2005-04-11 Technique for dynamically controlling data packet transmissions

Publications (2)

Publication Number Publication Date
CN101160848A CN101160848A (zh) 2008-04-09
CN101160848B true CN101160848B (zh) 2013-02-06

Family

ID=35124355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800494354A Active CN101160848B (zh) 2005-04-11 2005-04-11 用于动态控制数据分组传输的方法和设备

Country Status (7)

Country Link
US (1) US8804515B2 (zh)
EP (1) EP1872537B1 (zh)
JP (1) JP4681044B2 (zh)
CN (1) CN101160848B (zh)
AT (1) ATE406022T1 (zh)
DE (1) DE602005009264D1 (zh)
WO (1) WO2006108434A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8218657B2 (en) * 2005-09-02 2012-07-10 Netgear, Inc. System and method for automatic adjustment of streaming video bit rate
US8484335B2 (en) * 2006-11-06 2013-07-09 At&T Intellectual Property I, L.P. Methods, systems, and computer products for download status notification
US7952998B2 (en) * 2007-01-10 2011-05-31 International Business Machines Corporation InfiniBand credit-less flow control for long distance links
US8023482B2 (en) * 2007-03-15 2011-09-20 Cisco Technology, Inc. Dynamic rate limiting in wireless mesh networks
US8472325B2 (en) * 2007-05-10 2013-06-25 Futurewei Technologies, Inc. Network availability enhancement technique for packet transport networks
US8438301B2 (en) * 2007-09-24 2013-05-07 Microsoft Corporation Automatic bit rate detection and throttling
US9003051B2 (en) 2008-04-11 2015-04-07 Mobitv, Inc. Content server media stream management
US9015335B1 (en) * 2009-06-17 2015-04-21 Amazon Technologies, Inc. Server side stream switching
US8527649B2 (en) * 2010-03-09 2013-09-03 Mobixell Networks Ltd. Multi-stream bit rate adaptation
US8688074B2 (en) 2011-02-28 2014-04-01 Moisixell Networks Ltd. Service classification of web traffic
US8769144B2 (en) * 2011-05-19 2014-07-01 Mobitv, Inc. Contextually aware client buffer thresholds
CN103002272A (zh) * 2011-09-15 2013-03-27 上海聚力传媒技术有限公司 一种切换音视频信息的码率的方法、装置和设备
FR2980936A1 (fr) * 2011-09-30 2013-04-05 France Telecom Technique de distribution d'un contenu dans un reseau de communication
US10051519B2 (en) 2012-08-27 2018-08-14 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US9247448B2 (en) 2012-08-27 2016-01-26 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US9131251B2 (en) * 2012-09-20 2015-09-08 Google Technology Holdings LLC Use of a receive-window size advertised by a client to a content server to change a video stream bitrate streamed by the content server
CN105393583B (zh) * 2013-02-22 2019-07-05 瑞典爱立信有限公司 具有媒体突发传送能力的媒体分发网络
US9462032B2 (en) 2013-07-24 2016-10-04 Google Inc. Streaming media content
US9756112B2 (en) 2015-02-11 2017-09-05 At&T Intellectual Property I, L.P. Method and system for managing service quality according to network status predictions
US10334287B2 (en) * 2017-04-17 2019-06-25 Plex, Inc. Digital data streaming using server driven adaptive bitrate
US10965749B2 (en) 2018-04-10 2021-03-30 Ie Limited Dynamic data batching
US10693575B2 (en) 2018-08-31 2020-06-23 At&T Intellectual Property I, L.P. System and method for throughput prediction for cellular networks
US10868726B2 (en) 2018-12-07 2020-12-15 At&T Intellectual Property I, L.P. Apparatus and method for selecting a bandwidth prediction source
US11490149B2 (en) 2019-03-15 2022-11-01 At&T Intellectual Property I, L.P. Cap-based client-network interaction for improved streaming experience
US11420647B2 (en) * 2020-08-13 2022-08-23 Argo AI, LLC Enhanced static object classification using lidar
US20230345075A1 (en) * 2022-04-25 2023-10-26 Avago Technologies International Sales Pte. Limited Rebuffering reduction in adaptive bit-rate video streaming

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1416244A (zh) * 2001-10-31 2003-05-07 三星电子株式会社 网络自适应实时多媒体流传输方式的系统和方法
WO2004039034A1 (en) * 2002-10-24 2004-05-06 Telefonaktiebolaget Lm Ericsson (Publ) System and method for reducing initial buffering time for a streaming application

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4203140B2 (ja) * 1997-03-25 2008-12-24 パナソニック株式会社 ストリームデータ転送方法およびシステム
US7003794B2 (en) * 2000-06-27 2006-02-21 Bamboo Mediacasting, Inc. Multicasting transmission of multimedia information
JP2003188731A (ja) * 2001-12-18 2003-07-04 Yrp Mobile Telecommunications Key Tech Res Lab Co Ltd 可変レート符号化方法、符号化装置および復号装置
US6996173B2 (en) * 2002-01-25 2006-02-07 Microsoft Corporation Seamless switching of scalable video bitstreams
US20030151753A1 (en) * 2002-02-08 2003-08-14 Shipeng Li Methods and apparatuses for use in switching between streaming video bitstreams
JP2003289380A (ja) * 2002-03-28 2003-10-10 Nec Corp 音声符号化方式の変更方法、通信システム、通信網および通信端末
JP3943980B2 (ja) 2002-04-09 2007-07-11 富士通株式会社 符号分割多元接続通信システムならびに符号分割多元接続通信システムにおける基地局制御装置および基地局
SG111978A1 (en) * 2002-11-20 2005-06-29 Victor Company Of Japan An mpeg-4 live unicast video streaming system in wireless network with end-to-end bitrate-based congestion control
JP2005020056A (ja) * 2003-06-23 2005-01-20 Matsushita Electric Ind Co Ltd データ符号化装置及びデータ符号化制御方法
US7542435B2 (en) * 2004-05-12 2009-06-02 Nokia Corporation Buffer level signaling for rate adaptation in multimedia streaming
US7536469B2 (en) * 2004-12-10 2009-05-19 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1416244A (zh) * 2001-10-31 2003-05-07 三星电子株式会社 网络自适应实时多媒体流传输方式的系统和方法
WO2004039034A1 (en) * 2002-10-24 2004-05-06 Telefonaktiebolaget Lm Ericsson (Publ) System and method for reducing initial buffering time for a streaming application

Also Published As

Publication number Publication date
JP4681044B2 (ja) 2011-05-11
DE602005009264D1 (de) 2008-10-02
US20080186849A1 (en) 2008-08-07
US8804515B2 (en) 2014-08-12
JP2008536389A (ja) 2008-09-04
ATE406022T1 (de) 2008-09-15
EP1872537A1 (en) 2008-01-02
WO2006108434A1 (en) 2006-10-19
CN101160848A (zh) 2008-04-09
EP1872537B1 (en) 2008-08-20

Similar Documents

Publication Publication Date Title
CN101160848B (zh) 用于动态控制数据分组传输的方法和设备
CN101156388B (zh) 用于控制可变位速率数据的数据包传输的产品和方法
EP1730899B1 (en) Packet scheduling for data stream transmission
KR100843073B1 (ko) 오류 정정 패킷을 이용한 전송률 제어 방법 및 이를 이용한통신 장치
KR101185200B1 (ko) 무선 네트워크들에서 실시간 정보의 적응적인 인코딩을 위한 방법 및 시스템
US8995268B2 (en) Method for controlling a flow in a packet switching network
KR20040053145A (ko) 소스로부터 목적지까지의 전송을 위한 통신 시스템 및 기술
WO2008005272A2 (en) Reducing packet loss for a packet data service during congestion in a transport network
EP2562979B1 (en) Method of adapting the data rate during transmission of variable bit-rate data streams
US10637903B2 (en) Failure detection manager
EP1733331B1 (en) Codec-assisted capacity enhancement of wireless voip
KR100652574B1 (ko) 스트리밍 시스템 및 적응적 대역 할당 방법
JPH10336626A (ja) 映像データの転送方法および転送装置
US7477598B2 (en) Adaptive stream switching with minimized switching delay
Li et al. Joint power/playout control schemes for media streaming over wireless links
KR20060035934A (ko) 스트리밍 서비스 제공 방법 및 그 장치
Chan et al. Receiver-based optimization for video delivery over wireless links
RU2378781C2 (ru) Методика для динамического управления пакетными передачами данных
Razavi et al. Fuzzy control of adaptive timeout for video streaming over a Bluetooth interconnect
KR20090108958A (ko) 프로그레시브 멀티미디어 스트리밍 서비스를 위한 초기버퍼링 시간 결정 방법 및 시스템

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