减少视频数据的通信延迟的制作方法

文档序号:7739205阅读:255来源:国知局
专利名称:减少视频数据的通信延迟的制作方法
减少视频数据的通信延迟
背景技术
很多人正在购买高密度电视(HDTV)并正在其HDTV上观看高密度(HD)视频。当通过具有宽带宽的很好地提供的网络来传送HD视频数据时,个人能够具有良好的HD视频的观看体验,所述宽带宽能够容易地适应与HD视频数据相关联的高比特率。然而,越来越需要通过受约束网络来传送HD视频,例如,该受约束网络通常与家、小型办公室或卫星办公室相关联。通过受约束网络来传送HD视频的延迟能够到达约一秒。在过去,一个解决方案是预先获取先前记录的HD视频。然而,用户正在开始通过受约束网络来实时地请求HD视频。由于实时地请求HD视频,所以预先获取HD视频不是选择。此外,一秒左右的延迟在两个端点交互地相互传送HD视频(在本文中也称为“会议”)时是不可接受的。


被结合到具体实施方式
中并构成其一部分的附图举例说明本发明的各种实施例并连同说明一起用于解释以下讨论的原理
图1描绘根据一个实施例的用于减少视频数据的通信延迟的系统的方框图。图2描绘根据一个实施例的用于减少视频数据的通信延迟的另一系统的方框图, 其中调制解调器缓冲器从路由器接收数据。图3描绘根据一个实施例的用于减少视频数据的通信延迟的设备的方框图。图4描绘根据一个实施例的减少视频数据的通信延迟的方法的流程图。图5描绘使用视频会议的根据一个实施例的用于减少视频的通信延迟的系统。不应将在本简要说明中所提及的附图理解为按比例绘制,除非具体地说明。
具体实施例方式现在将对本主题的各种实施例更详细地进行参考,在附图中举例说明了本主题的示例。虽然在本文中讨论了各种实施例,但应理解的是其并不意图局限于这些实施例。相反,提出的实施例意图覆盖替换、修改和等价物,所述替换、修改和等价物可以被包括在由所附权利要求定义的各种实施例的精神和范围内。此外,在实施例的以下说明中,阐述许多特定细节是为了提供本主题的实施例的透彻理解。然而,可以在没有这些特定细节的情况下实施实施例。在其它情况中,未详细地描述众所周知的方法、程序、组件和电路以免不必要地使所述实施例的方面含糊难懂。如从以下讨论显而易见的,除非具体地另外说明,应认识到遍及本具体实施方式
, 利用诸如“监视”、“估计”、“调整”、“提供”、“计算”、“确定”、“通信”、“传送”、“接收”、“去除”、 “存储”、“设置”、“初始化”等等的术语的讨论指的是计算机系统或电子计算设备的动作和过程。计算机系统或类似电子计算设备操纵被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并将其变换成类似地被表示为计算机系统存储器或寄存器或其它此类信息存储、传输或显示设备内的物理量的其它数据。本主题的某些实施例还非常适合于使用诸如例如光学和虚拟计算机的其它计算机系统。
各种研究已表明,递送HD视频方面的约束的主要来源之一是由于将视频数据递送到视频接收机的数据路径中的调制解调器缓冲器而引起的分组延迟和溢出损失。调制解调器缓冲器通常用来减少分组丢弃并改善网络利用率;然而,调制解调器缓冲器能够甚至在不存在溢出的情况下引入相当大的延迟,例如,大约一秒。虽然在调制解调器缓冲器的上下文中描述了本文的许多实施例,但可以将任何的一个或多个实施例与能够引入延迟或能够溢出或其组合的任何类型的网络缓冲器一起使用。图1描绘根据一个实施例的用于减少视频数据的通信延迟的系统的方框图。系统 100描绘了视频传送机110、调制解调器缓冲器130、网络145以及视频接收机150。视频传送机110和视频接收机150可以是电子设备,诸如膝上型计算机、台式计算机或个人数字助理(PDA)。根据一个实施例,电子设备可以是视频传送机110和视频接收机150两者。具有传送机110和接收机150的两个电子设备能够相互传送和接收视频数据。例如,这两个电子设备可以是彼此相交互的Skype "<或Google 聊天端点。视频接收机150可以具有HD显不器。根据一个实施例,调制解调器缓冲器130和视频接收机150与诸如通常在家中或小型企业中使用的网络的受约束网络相关联。可以通过受约束网络从调制解调器缓冲器 130向视频接收机150传送视频数据。调制解调器包括缓冲器130 (也称为“调制解调器缓冲器”),接收到的数据能够被临时地存储在其中,直至以先进先出方式从调制解调器缓冲器130去除该数据并将其传送到视频接收机150。特别地,电缆、数字订户线路(DSL)或微波存取全球互通(WiMax)可以提供调制解调器缓冲器130与视频接收机150之间的连接性。根据一个实施例,调制解调器缓冲器130大得足以对于给定的调制解调器排出速率(drain rate)140而保证高利用率。例如,当调制解调器缓冲器130的占用率是低的时, 能够实现低延迟,但是当调制解调器缓冲器130的占用率是高的时,延迟能够达到一秒的水平。按照惯例,视频传送机和视频接收机都不具有关于调制解调器缓冲器的占用率或排出速率的信息。因此,根据一个实施例,基于从调制解调器缓冲器130去除数据的速率140 (也称为“调制解调器排出速率”)的估计来调整数据被传送到调制解调器缓冲器130的速率 120 (也称为“传输速率”)使得传输速率120不超过调制解调器排出速率140。根据一个实施例,基于在少量视频帧周期中传送的许多分组的平均值来计算传输速率120。根据另一实施例,基于调制解调器缓冲器130的占用率(也称为“调制解调器缓冲器占用率”)的估计来调整数据被传送到调制解调器缓冲器130的速率120,以减少调制解调器缓冲器累积的概率。因此,根据各种实施例,能够控制视频数据的传输速率120以减少视频数据的通信延迟。各种研究已表明,递送HD视频方面的约束的主要来源之一是由于将视频数据递送到视频接收机的数据路径中的网络缓冲器而引起的分组延迟和溢出损失。网络缓冲器通常用来减少分组丢弃并改善网络利用率;然而,网络缓冲器能够甚至在不存在溢出的情况下引入相当大的延迟,例如,大约一秒。网络缓冲器的示例特别地包括调制解调器缓冲器、 路由器缓冲器和“业务成形”缓冲器。路由器缓冲器可以存在于网络路由器中。“业务成形” 缓冲器可以以软件方式存在,诸如Linux 联网堆栈。虽然在调制解调器缓冲器的上下文中描述了本文的许多实施例,但可以将任何的一个或多个实施例与能够引入延迟或能够溢出或其组合的任何类型的网络缓冲器一起使用。
图1描绘从一个视频传送机110接收数据的调制解调器缓冲器130。然而,调制解调器缓冲器130可以从不止一个源接收数据。图2描绘根据一个实施例的用于减少视频数据的通信延迟的另一系统200的方框图,其中,调制解调器缓冲器230从路由器260接收数据。系统200描绘了视频传送机210、数据源270、路由器沈0、调制解调器缓冲器230、网络对5、视频接收机250以及数据接收机四0。数据源270和数据接收机290是可选的。根据一个实施例,路由器260是服务质量(QOS)路由器沈0。根据一个实施例,路由器260从多个源210、270接收数据。视频传送机210、数据源270、视频接收机250和数据接收机290可以是电子设备,诸如膝上型计算机、台式计算机或PDA。视频接收机250可以具有HD显示器。根据一个实施例,视频传送机210、数据源270、路由器沈0以及调制解调器缓冲器230与受约束网络相关联,所述受约束网络诸如通常在家中或小型企业中使用的网络。特别地,电缆、DSL或WiMax可以提供调制解调器缓冲器230和接收机250、290之间的连接性。来自两个源210、270的数据通过路由器沈0、调制解调器缓冲器230和网络245被传送到接收机250J90。视频传送机210将视频数据传送到视频接收机250。数据源270 将可以是也可以不是视频数据的数据传送到数据接收机四0。例如,数据源270可以将网页上传至作为web服务器的数据接收机四0。视频传送机210以一个传输速率220来传送视频数据且数据源270以另一传输速率280来传送数据。来自视频传送机210的视频数据被传送至视频接收机250且来自数据源270的数据被传送至数据接收机四0。根据一个实施例,调制解调器排出速率240是从调制解调器缓冲器230接收数据的总速率。例如,调制解调器排出速率240可以包括从调制解调器缓冲器230去除数据(无论哪个源210、270将其传送)的速率。按照惯例,诸如视频传送机、数据源、路由器、视频接收机和数据接收机的电子设备不具有关于调制解调器缓冲器的占用率或排出速率的信息。如本文中所述,诸如视频传送机或数据源的数据源、视频接收机、路由器和调制解调器缓冲器按照惯例不知道调制解调器缓冲器的占用率或排出速率。因此,参考图1和2, 根据一个实施例,估计调制解调器排出速率140J40,并调整向调制解调器缓冲器130、230 传送视频数据的速率120、220以便不超过调制解调器排出速率140、240的估计从而减少视频数据的通信延迟。根据一个实施例,如将变得更加显而易见的,将视频数据的传输速率 120,220调整为不超过基于调制解调器排出速率140J40的估计所计算的允许传输速率。 如将变得更加显而易见的,可以将各种方法用于估计调制解调器排出速率140440。能够在各个时间点估计调制解调器排出速率140J40,并且能够调整传输速率 120、220。例如,能够周期性地估计调制解调器排出速率140、240并调整传输速率120、220。 在特定示例中,在视频数据的传输期间能够至少两次执行估计和调整。在另一示例中,能够连续地执行估计和调整。更具体地,能够例如使用诸如移动平均值的统计分析连续地监视关于调制解调器排出速率140、240的信息。如果统计分析指示调制解调器排出速率的当前估计与调制解调器排出速率140340的新估计之间的差在统计上是显著的,则能够基于调制解调器排出速率140440的新估计来调整传输速率120、220。此外,根据一个实施例,可以将调制解调器排出速率140440的估计用于确定用于调整传输速率120、220的程度。例如,如果与20%比较调制解调器排出速率140J40的估计增加了 50%,则传输速率120、220增加更多。在另一示例中,如果与50%比较调制解调器排出速率140 J40的估计减少了 75%,则传输速率120、220减少更多。各种实施例被用于估计调制解调器排出速率140440。例如,特别地,如将变得更加显而易见的,可以将诸如时间戳的分组分散(dispersion)或定时数据用于估计调制解调器排出速率140J40。如本文所述,根据一个实施例,分组分散用来估计调制解调器排出速率140440 (在本文中称为“分散实施例”)。例如,仍参考图1和2,能够使用数据的量除以时间来估计调制解调器排出速率140440。根据一个实施例,如将变得更加显而易见的,在计算分组分散时使用每个视频分组突发生成的不止一个分组。更具体地,假设视频数据的帧导致七个分组的突发,并且那七个分组在调制解调器缓冲器130、230中。根据一个实施例,分组分散是被从调制解调器缓冲器130、230连续地去除的分组之间的时间量。例如,如果在时间tl去除第一分组,在时间t2去除第二分组并在时间t3去除第三分组,则第一和第二分组之间的分散是时间t2和时间tl之间的差dl 且第二和第三分组之间的分散是时间t3和时间t2之间的差d2。在用于视频帧的七个分组的突发的示例中,在从调制解调器缓冲器130、230去除七个分组的七个时间tl t7之间将存在六个差dl d6。根据一个实施例,能够通过用平均分散除以平均分组大小来估计调制解调器排出速率140J40。在这种情况下,可以通过用时间tl t7之间的差dl d6 的平均值除以七个分组的平均大小来估计调制解调器排出速率140、对0。通常,接收机150、250不直接观察时间tl t7。然而,接收机150、250能够使用各分组的接收时间来近似时间tl t7。使用各分组的接收时间来近似时间tl t7 —般地是准确的,因为附加的显著分散是不太可能的。此外,在的确发生附加的显著分散的罕见情况下,能够统计地控制附加分散。在一个实施例中,视频传送机110、210生成视频分组并记录每个视频分组的序号和以字节为单位的大小。视频传送机110、210还记录指示分组突发的序号范围。根据一个实施例,特别地,将实时传输协议(RTCP)报告用于确定分组接收时间、序号范围和视频分组大小。例如,视频接收机150、250向视频传送机110、210发回包括每个接收到的视频分组的接收状态和时间的扩展RTCP分组。视频传送机110、210然后使用接收状态来确定接收到的分组的突发,以及使用接收时间来估计例如本文所述的时间tl t7。在另一实施例中,路由器260监视视频分组流并针对每个视频分组例如在本地存储器中记录实时传输协议(RTP)序号和以字节为单位的大小。路由器260还记录指示被发送到调制解调器缓冲器230的分组突发的序号范围。视频接收机250向视频传送机210发回包括接收状态和接收到每个视频分组的时间的扩展RTCP分组。路由器260使用接收状态及其存储的突发信息来确定接收到的分组的突发,连同存储的分组大小和接收时间一起来估计例如本文所述的时间tl t7。在另一实施例中,特别地,标准的而不是扩展的RTP控制协议(RTCP)报告用于确定分组接收时间、序号范围和分组大小。例如,视频传送机210或路由器260记录指示分组突发的序号范围以及每个视频分组的RTP序号和以字节为单位的大小。视频接收机250向视频传送机210发回标准RTCP报告。视频传送机210或路由器沈0确定“部分丢失”字段是否指示没有分组丢失,并且RTCP报告是否覆盖单个突发中的分组。如果是这样,则可以由路由器260或视频传送机110、210上的本地存储的量来确定所发送的业务的量。由“NTP 时间戳”字段来估计用于七分组突发的结尾的时间“t7”,并由前一 RTCP报告的“NTP时间戳”字段来估计用于七分组突发的开始的时间“tl”。如能够看到的,各种实施例使用每个视频分组突发生成的不止一个RTCP分组作为确定分组分散的一部分。因此,如能够看到的, 能够将分组分散信息用于估计调制解调器排出速率140、240。根据一个实施例,使用“定时数据”作为估计调制解调器排出速率140440的一部分。例如,使关于何时传送或接收视频数据的信息与分组时间戳或协议报告或其组合相关联。协议报告的示例包括但不限于RTCP或RTP业务或报告。例如,根据一个实施例,使用往返时间来估计任一调制解调器排出速率140440。 更具体地,视频传送机110、210向视频接收机150、250传送分组。传送分组的时间将被称为分组传输时间。视频接收机150、250接收分组。视频接收机150、250接收到传送的分组的时间将被称为分组接收时间。视频接收机150、250在其接收到分组时对视频传送机110、 210做出响应。例如,视频接收机150、250可以在其接收到分组时立即对视频传送机110、 210进行响应。在另一示例中,视频接收机150、250使用捎带法(piggy lacking)进行响应。视频传送机110、210接收视频接收机150、250的响应。该响应包括视频传送机110、 210向视频接收机150、250传送分组的分组传输时间。视频传送机110、210接收到响应的时间将被称为“响应接收时间”。根据一个实施例,可以通过从分组传输时间减去响应接收时间来计算往返时间。根据一个实施例,使用单向延迟的变化来计算缓冲器占用率。例如,每个分组通常带有与何时传送分组相对应的分组传输时间戳。对于使用RTP传输的实时会议应用而言, 能够用媒体重放时间戳来近似分组传输时间戳。接收机150、250能够计算每个分组的分组接收时间与其分组传输时间戳之间的差以获得单向延迟估计。根据一个实施例,具有显著幅值的单向延迟的变化能够用来管理缓冲器占用率。根据一个实施例,例如使用来自在路由器260处接收到的传输控制协议确认(TCP ACK)的信息来计算往返时间。例如,假设使用以及时的方式自动地生成ACK分组的TCP实施方式,路由器260能够从视频传送机210、270接收TCP ACK0可以通过从接收ACK时间减去最后TCP分组传输时间来估计往返时间。接收ACK时间是“响应接收时间”的示例。最后TCP分组传输时间是分组传输时间的示例。根据另一实施例,使用来自双向实时传输协议(RTCP)业务的信息来计算往返时间。例如,存在于路由器260或视频传送机110、210处的逻辑可以监视标准RTP或RTCP信息或其组合,以估计调制解调器排出速率140、240或调制解调器缓冲器占用率。更具体地, 可以将传送RTP视频分组的时间存储在例如视频传送机110、210或路由器260上的本地存储器中。继续本示例,路由器260能够接收视频接收机150、250在接收到分组之后立即传送的RTCP反馈。RTCP反馈将包括在RTCP报告中的“接收的扩展序号”字段中指定的RTP 序号。根据一个实施例,可以使用来自于来自RTCP报告的“接收的扩展序号”字段的值和传送RTP视频分组的时间来确定往返时间。传送RTP视频分组的时间和来自“接收的扩展序号”字段的值分别是分组传输时间和分组接收时间的示例。特别地,分组传输时间、分组接收时间、响应接收时间、分组的大小是能够在确定调制解调器排出速率时使用的定时数据信息的示例。如本文所述,分组可以是RTCP分组或
8TCP分组。如本文所述,特别地,可以从标准RTCP报告、扩展RTCP报告或从TCP分组获得特别地诸如分组传输时间、分组接收时间、响应接收时间、分组大小的信息,如本文所述。可以单独地或相互组合地使用定时数据实施例和分散实施例。例如,定时数据实施例或分散实施例能够提供足够的信息来估计调制解调器排出速率或调制解调器缓冲器占用率。特别地,例如出于对结果进行交叉检查的目的,可以相互结合地使用定时数据实施例和分散实施例二者。类似地,特别地,例如出于对结果进行交叉检查的目的,可以一起使用调制解调器排出速率或调制解调器缓冲器占用率实施例。因此,可以使用本文所述的“定时数据”作为估计调制解调器排出速率140440的一部分。根据一个实施例,可以使用调制解调器缓冲器占用率作为调整传输速率的一部分。根据一个实施例,如将变得更加显而易见的,可以使用调制解调器缓冲器占用率作为计算允许已调整传输速率(ATR)的一部分。参考图1和2,根据一个实施例,调制解调器缓冲器占用率等于被注入到调制解调器缓冲器130、230中的数据的总量减去被排出和丢失的数据的量。因此,根据一个实施例,调制解调器缓冲器占用率能够用来直接确定视频通信的延迟。在一个实施例中,如将变得更加显而易见的,使用缓冲器占用率来确定是否将调整传输速率120、220。在一个实施例中,如本文所述,通过调制解调器排出速率估计来间接地估计缓冲器占用率。根据一个实施例,可以使用如本文所述的定时数据或分组分散或其组合作为估计缓冲器的占用率的一部分。根据一个实施例,计算初始调制解调器排出速率。例如,参考图1和2,将近传送视频数据流的开始和在调制解调器缓冲器130、230包含足够量的数据之后,可以使用分散实施例或定时数据实施例来确定调制解调器排出速率的初始估计。更具体地,由于调制解调器130、230的输入速率通常比调制解调器130、230的输出速率大得多,所以诸如视频传送机110、210或数据源270的数据源可以在分组突发中传送与数据的一个切片或一个帧相关联的连续分组。可以例如在视频接收机150、250处测量与突发相关联的分组的分散以估计初始调制解调器排出速率。根据一个实施例,假设调制解调器排出速率140440的初始估计为实际调制解调器排出速率140J40。根据一个实施例,使用调制解调器排出速率140 J40的该初始估计作为调制解调器排出速率140340的未来估计的上界。根据一个实施例,如果调制解调器排出速率140 J40的未来估计高于调制解调器排出速率140 J40的初始估计,则调制解调器排出速率140、240的更高未来估计替换调制解调器排出速率140、240的初始估计作为上界。根据一个实施例,使用调制解调器排出速率140440的估计作为调整视频数据被传送到调制解调器缓冲器130、230的传输速率120、220的一部分。例如,可以使用调制解调器排出速率140340的估计作为确定允许传输速率(ATR)的一部分。将传输速率120、220 调整为不超过允许传输速率(ATR)。例如,根据一个实施例,调整传输速率120、220,使得其不超过且保持少量地低于调制解调器排出速率140440的估计。通过保持传输速率120、 220在已调整传输速率以下,如将变得更加显而易见的,允许调制解调器缓冲器积压随着时间的推移而完全排出。根据一个实施例,例如使用诸如下述算法1的算法来逐渐地调整用于各传输速率120、220的允许传输速率,从而不对关于调制解调器排出速率的新监视信息反映过度。参考算法1,NATR代表从调整得到的新的允许传输速率,CATR代表当前允许传输速率,EMDR代表调制解调器排出速率的估计,以及beta被设置为使得缓冲器累积能够随着时间的推移而排出的值。根据一个实施例,alpha是0.1与0.9之间的数。根据一个实施例,alpha是0. 2。根据一个实施例,beta是0. 95至0. 98之间的常数。NATR = (1 -alpha) XCATR+ ( EMDR *beta) Xalpha 算法 1
根据一个实施例,算法1提供利用率(beta接近于1)与快速排出速率(beta<<l)之间的权衡。根据一个实施例,使用调制解调器缓冲器占用率作为调整传输速率120、220的一部分。例如,可以通过将常数beta改变为缓冲器占用率的函数来采用调制解调器缓冲器占用率的估计,从而自适应地在调制解调器缓冲器占用率低时实现较高的调制解调器缓冲器利用率,并在调制解调器缓冲器占用率高时增加调制解调器排出速率。例如,如果如用“b” 表示的调制解调器缓冲器占用率的估计可能潜在地在W 1]的范围内,其中,用于估计的调制解调器缓冲器占用率“b”的0的值指示调制解调器缓冲器是空的且用于估计的调制解调器缓冲器占用率“b”的1的值指示调制解调器缓冲器是满的或溢出,则可以使用下述算法2来自适应地在调制解调器缓冲器占用率低时增加调制解调器缓冲器利用率并在调制解调器缓冲器占用率高时增加调制解调器排出速率。NATR = (1 -alpha) XCATR + alphaX (EMDR*beta(b)) 算法 2
如算法2所描绘的,beta(b)是估计的调制解调器缓冲器占用率b的单调减函数。根据一个实施例,beta(b)是使用如下所述的算法3实现的 beta(b) = 1- b 算法 3
对于算法3而言,当估计的调制解调器缓冲器占用率“b”是小的时,beta(b)将导致 1的值以提供高调制解调器缓冲器利用率,并且当估计的调制解调器缓冲器占用率“b”接近于1时,beta(b)将促使调制解调器排出速率增加。还可以使用其它单调函数来计算 beta (b),诸如下述算法4
beta(b) = 0. 89 (1- sqrt (b)) +0.1 算法 4
根据用于算法4的一个实施例,beta(0)的计算提供0.99的值且beta(1)的计算提供 0. 1的值。根据一个实施例,可以将如在算法4中描绘的平方根函数用于比在算法3中描绘的线性函数更具侵略性地调整beta。根据一个实施例,算法1和2使用一阶自动侵略实施方式来提供平滑滤波器。可以使用其它形式的平滑滤波器,诸如由以下算法5提供的窗口化。NATR (n) = 1/3 X ( EMDR (η) + EMDR (n_l) + EMDR (n_2)) 算法 5
参考图2,如本文所述,根据一个实施例,调制解调器缓冲器230能够从两个数据源 210、270接收数据。可以以不同的传输速率220、280来传送来自这两个数据源210、270的数据。特别地,可以基于数据的类型或提供传送的数据的数据源210、270的类型来将传送的数据排列优先级。例如,可以为来自视频传送机210的视频数据提供比来自另一数据源 270的非视频数据更高的优先级。路由器260能够使用分配的优先级来确定各数据被传送到调制解调器缓冲器230的顺序。能够基于优先级来单独地调整传输速率220J80。例如, 根据一个实施例,调整传输速率220J80,使得由路由器260从这两个数据源210、270接收到的数据的传输速率220、280的总和不超过总的允许传输速率(ATR)。根据一个实施例,使用算法1、2或5中的任何一个计算的允许传输速率(ATR)被用作总允许传输速率(TATR)。
1
根据一个实施例,为用于视频数据的传输速率220提供比用于非视频数据的传输速率280更高百分比的总允许传输速率(ATR)。例如,可以将用于非视频数据的传输速率 280调整为小delta (微量),并且可以将用于视频数据的传输速率220 (TRVD)调整为不超过总允许传输速率(TATR)减去该小delta,如在以下算法6中所描绘的
TRVD = TATR - delta算法 6。因此,各种实施例非常适合于协作地调整用于多个数据源210、270的多个传输速率220J80。例如,如本文所述,自适应地调整传输速率220J80,使得传输速率220J80的总和不超过总允许传输速率(TATR)。根据一个实施例,当不在接收视频数据时,为用于非视频数据的传输速率280提供高百分比的调制解调器排出速率MO的估计。例如,当调制解调器缓冲器230不在接收任何视频数据时,可以将用于非视频数据的传输速率280调整为总允许传输速率(TATR)减去小delta之间的差。然而,当调制解调器缓冲器230正在从视频传送机210接收视频数据时,如本文所述,使用算法2来调整传输速率220和观0。根据各种实施例,数据源270能够传送数据,因为数据源270的传输速率280被分配小的delta,而同时,能够为视频传送机210的用户提供高质量观看体验,因为视频传送机210的传输速率220被基于总允许传输速率(TATR)减去小delta之间的差自适应地调離
iF. ο根据一个实施例,使用常规QoS限制机制作为调整用于非视频数据的传输速率 280的一部分以减少通信延迟。例如,如果数据源270以比由算法2中描绘的delta所分派的更高的速率来传送非视频数据,则根据一个实施例,路由器260将丢弃来自非视频数据的分组。假设数据源270正使用现代TCP实施方式,标准TCP控制机制将通过减小非视频数据的传输速率280来对路由器沈0的分组丢弃作出反应。然而,由于分组丢弃对于视频数据而言是不可接受的,所以各种实施例允许调整视频数据的传输速率220以降低丢弃视频分组的概率。例如,如本文所述,基于调制解调器排出速率240的估计来确定新的已调整传输速率(ATR)。视频传送机210基于新的已调整传输速率(ATR)来调整传输速率220以降低视频分组被丢弃的概率。虽然在仅一个视频传送机传送视频数据的上下文中描述了各种实施例,但各种实施例非常适合于协作地调整用于多个视频传送机的多个传输速率。能够基于调制解调器排出速率的估计来调整多个视频传送机的传输速率。如本文所述,可以将如在算法1、2、5中描绘的允许传输速率(ATR)或如在算法6中描绘的视频数据的传送(TRVD)用于调整传输速率120、220、观0。例如当没有一个数据源正在传送非视频数据时,可以使用ATR。当任何数据源正在传送非视频数据时,可以使用TRVD和delta。例如,根据任何数据源是否正在传送非视频数据,可以将来自多个视频传送机的视频数据的传输速率调整为如在算法1、2、5中描绘的允许传输速率(ATR)的相等比例,或如在算法6中描绘的视频数据的传输(TVRD)的相等比例。在另一示例中,两个不同的视频数据流可以具有不同的优先级。在这种情况下, 可以将两个视频数据流的传输速率调整为不超过允许传输速率(ATR)的不同比例。例如, 可以将用于一个视频流的传输速率A调整为不超过允许传输速率(ATR)的40%,而可以将用于第二视频流的传输速率B调整为不超过允许传输速率(ATR)的60%。通过基于调制解调器排出速率的估计来自适应地调整传输速率,例如使用允许传输速率(ATR),可以控制传输速率以降低调制解调器缓冲器将溢出从而引起视频业务的延迟的概率。类似地,可以类似地将用于视频数据的传输速率(TRVD)的各部分和delta的各部分分派给与例如路由器沈0 通信的多个视频数据源和多个非视频数据源。可以使用被用于调整传输速率120、220的各种实施例中的任何一个或多个作为调整传输速率观0的一部分。在一个示例中,基于使用算法1、2或5基于调制解调器排出速率140340的估计计算的允许传输速率(ATR)来调整传输速率120、220。可以将传输速率280调整为使用算法6基于调制解调器排出速率MO的估计计算的允许传输速率(ATR) 的小delta。图3描绘根据一个实施例的用于减少视频数据的通信延迟的设备300的方框图。 可以与如所示的不同地布置图3中的表示特征的方框,并且其能够与本文所述的相比实现附加或更少的特征。此外,可以以各种方式将由图3中的方框表示的特征组合。可以使用硬件、硬件和软件、硬件和固件或其组合来实现设备300。设备300包括监视信息接收机310 (也称为“接收机”)、网络缓冲器排出速率估计器320 (也称为“估计器320”)、允许传输速率计算器322 (在本文中也称为“计算器322”)、 允许传输速率提供器330 (也称为“提供器”)以及可选地调制解调器缓冲器占用率估计器 325 (也称为“估计器325”)。根据一个实施例,设备300包括调制解调器排出速率估计器320,但不包括调制解调器缓冲器占用率估计器325。根据另一实施例,设备300包括调制解调器缓冲器占用率估计器325,但不包括调制解调器排出速率估计器320。根据另一实施例,设备300包括两个估计器320和325。将在图1的上下文中描述设备300。监视信息接收机310被配置为用于接收关于网络缓冲器130的网络缓冲器排出速率140的监视信息。网络缓冲器排出速率140是从网络缓冲器130去除视频数据的速率。网络缓冲器排出速率估计器320被配置为用于基于监视信息来估计网络缓冲器排出速率140。允许传输速率计算器322被配置为用于基于网络缓冲器排出速率140的估计来计算允许传输速率(ATR)。允许传输速率提供器330被配置为用于向视频传送机110提供允许传输速率(ATR)以将未来视频数据的传输速率调整为不超过允许传输速率(ATR)。在设备300包括调制解调器缓冲器占用率估计器325的情况下, 调制解调器缓冲器占用率估计器325能够使用由接收机310接收到的诸如分组分散或定时数据或其组合的信息来估计调制解调器缓冲器占用率。允许传输速率计算器322能够使用诸如算法2的算法使用估计的调制解调器排出速率和估计的调制解调器缓冲器占用率来计算允许传输速率,其中,特别地,在算法2中描绘的beta(b)是使用算法3或4计算的。参考图1和2,特别地,在图3上描绘的设备300能够存在于视频传送机110、210、 数据源270 (其可以也可以不传送视频数据)、视频接收机150、250、数据接收机四0 (其可以也可以不接收视频数据)或路由器260处。图4描绘根据一个实施例的减少视频数据的通信延迟的方法的流程图。虽然在流程图400中公开了特定操作,但此类操作是示例性的。也就是说,本发明的实施例非常适合于执行各种其它操作或在流程图400中叙述的操作的变化。应认识到可以按照与给出的不同的顺序来执行流程图400中的操作,并且可以执行流程图400中的所有操作的一部分。在410处,该方法开始。在420处,调制解调器缓冲器从视频传送机接收当前视频数据。例如,参考图1,假设视频传送机110向调制解调器缓冲器130传送视频数据。调制解调器缓冲器130从视频传送机110接收视频数据。在430处,监视关于调制解调器缓冲器的调制解调器排出速率的信息。调制解调器排出速率140是从调制解调器缓冲器130去除视频数据的速率。例如,仍参考图1,假设视频数据帧导致七个分组的突发且那七个分组在调制解调器缓冲器130中。根据一个实施例,分组分散是被从调制解调器缓冲器130连续地去除的分组之间的时间量。例如,如果在时间tl去除第一分组,在时间t2去除第二分组并在时间t3去除第三分组,则第一和第二分组之间的分散是时间t2和时间tl之间的差dl且第二和第三分组之间的分散是时间t3 和时间t2之间的差d2。在用于帧的七个分组的示例中,将存在用于从调制解调器缓冲器去除七个分组的七个时间tl t7的六个差dl d6。差dl d6和七个分组的大小是关于调制解调器排出速率140的信息的示例。虽然在七个分组的上下文中描述了各种实施例, 但实施例非常适合于使用很少的分组,诸如六个分组。如本文所讨论的,可以使用关于RTCP的实施例作为确定分组分散的一部分。监视信息可以包括如本文所述的标准RTP信息、RTCP信息、其扩展、TCP信息或其组合以及用于获得用于估计调制解调器排出速率MO的信息的反馈中的任何一个或多个。在440处,基于监视信息来估计调制解调器排出速率。例如,参考图1,存在于视频接收机140处或视频传送机110处的设备300可以接收在操作430中监视的关于调制解调器排出速率140的信息。设备300可以使用接收到的监视信息来估计调制解调器排出速率 140。根据一个实施例,能够通过用平均分散除以平均分组大小来估计调制解调器排出速率 140。在这种情况下,可以通过用时间tl t7之间的差dl d6的平均值除以七个分组的平均大小来估计调制解调器排出速率140。虽然在七个分组的上下文中描述了各种实施例, 但实施例非常适合于使用更多或更少的分组。例如,可以使用六个分组而不是七个分组。在450处,将视频传送机传送未来视频数据的传输速率调整为不超过基于调制解调器排出速率的估计计算的允许传输速率(ATR)。继续本示例并参考图1,设备300可以使用在操作440中确定的调制解调器排出速率140的估计来使用算法1计算允许传输速率 (ATR)0设备300可以使用诸如算法1 6的算法来计算允许传输速率(ATR)。设备300可以促使传输速率120被调整,使得传输速率120不超过允许传输速率(ATR)。例如,如果允许传输速率(ATR)是由视频接收机150确定的,则视频接收机150能够将允许传输速率(ATR) 传送至视频传送机110。视频传送机110能够基于接收到的允许传输速率(ATR)来调整传输速率120。替换地,存在于视频传送机110处的设备300可以计算允许传输速率(ATR)。 在这种情况下,视频传送机110可以将传输速率120调整为不超过允许传输速率(ATR)。在460处,该方法结束。如本文所述,各种实施例允许在视频数据的传输期间继续监视关于调制解调器排出速率140的信息,估计调制解调器排出速率140并基于允许传输速率(ATR)来调整传输速率120。各种实施例允许接收机150与视频传送机110之间的通信环。例如,可以将关于调制解调器排出速率140的信息从视频接收机150传送至视频传送机110。视频传送机110 可以基于接收到的信息来估计调制解调器排出速率140,基于调制解调器排出速率的估计来确定允许传输速率(ATR)并以被调整为不超过ATR的传输速率120来传送视频数据。替换地,视频接收机150能够估计调制解调器排出速率140并基于新的调制解调器排出速率 140的估计来确定ATR且将ATR传送至视频传送机110。视频传送机110能够以被调整为不超过其接收到的接收到的ATR的传输速率120来传送视频数据。虽然在单个数据源一视频传送机110 (图1) 一的上下文中描述了以上示例,但如在图2中描绘的,实施例非常适合于具有多个数据源210、270的系统200。例如,在家中的一个人能够促使视频被从视频传送机210传送,而同一家中的另一个人可以促使网页被从位于同一家中的另一数据源270上传至诸如网站的数据接收机四0。将在流程图300的上下文中描述如在图2中描绘的具有多个数据源210、270的实施例。为了说明假设设备300 存在于路由器260处。在410处,该方法开始。在420处,调制解调器缓冲器从视频传送机接收当前视频数据。例如,假设视频传送机210通过路由器沈0向调制解调器缓冲器230传送高清晰度视频。调制解调器缓冲器 230从视频传送机260接收高清晰度视频数据。在430处,监视关于调制解调器缓冲器的调制解调器排出速率的信息。调制解调器排出速率240是从调制解调器缓冲器230去除数据的速率。例如,根据一个实施例,存在于路由器260处的路由器逻辑可以监视如本文所述的标准RTP信息、RTCP信息、其扩展、 TCP信息或其组合以及如本文所述的用于获得用于估计调制解调器排出速率MO的信息的反馈中的任何一个或多个。例如,并且如在本文中更详细地描述的,路由器逻辑可以存储路由器沈0向调制解调器缓冲器230传送分组的分组传输时间。路由器260将接收与传送的分组对应的反馈,其包括视频接收机250接收到分组的分组接收时间。分组传送时间和分组接收时间是关于调制解调器排出速率MO的信息的示例。在本说明中,路由器逻辑和设备300存在于路由器260处。监视信息的路由器逻辑可以是也可以不是设备300的一部分。例如,路由器逻辑可以存在于路由器260处,但不是设备300的一部分。替换地,路由器逻辑可以是设备300的一部分。在440处,基于监视信息来估计调制解调器排出速率。继续本示例,参考图2,存在于路由器260处的设备300可以接收在操作430处监视的关于调制解调器排出速率240的信息。设备300可以使用接收到的监视信息来估计调制解调器排出速率M0。根据一个实施例,能够通过用平均分散除以平均分组大小来估计调制解调器排出速率M0。在这种情况下,可以通过用时间tl t7之间的差dl d6的平均值除以七个分组的平均大小来估计调制解调器排出速率M0。虽然在七个分组的上下文中描述了各种实施例,但实施例非常适合于使用更多或更少的分组。例如,可以使用六个分组而不是七个分组。在450处,将视频传送机传送未来视频数据的传输速率调整为不超过基于调制解调器排出速率的估计计算的允许传输速率(ATR)。假设设备300存在于路由器260上,设备 300可以使用诸如算法1 6的算法基于调制解调器排出速率MO的估计来计算允许传输速率(ATR)。参考算法6,路由器260处的设备300可以使用本文所述的算法6来计算用于数据源270的第一允许传输速率和用于视频传送机210的第二允许传输速率。例如,特别地,用算法1、2或5中的任何一个或多个来确定总允许传输速率(ATR)。可以将算法6用于计算第一允许传输速率和第二允许传输速率。可以将第一允许传输速率设置为delta。 可以将第二允许传输速率设置为用于视频数据的传输速率(TRVD),其为总允许传输速率(TATR)与delta之间的差。路由器260可以将相应的第一和第二允许传输速率传送至数据源270和视频传送机210。视频传送机210能够将视频数据的传输速率220调整为不超过第二允许传输速率。根据一个实施例,如本文所述,使用常规QoS限制机制作为将非视频数据的传输速率280调整为不超过第一允许传输速率的一部分。在460处,该方法结束。虽然流程图400的第二说明假设设备300存在于路由器260处,但在流程图400 的第二说明中讨论的各种实施例还非常适合于存在于其它位置上的设备300,特别地,诸如存在于视频传送机210、视频接收机250上。例如,可以将关于调制解调器排出速率MO的信息传送至设备300或在设备300处获得,所述设备300存在于视频传送机210和数据源 270处。在另一示例中,可以将关于调制解调器排出速率240的信息传送至视频接收机250 或在视频接收机250处获得。如本文所述,各种实施例允许在视频数据的传输期间继续监视关于调制解调器排出速率MO的信息,估计调制解调器排出速率240并调整传输速率220。图5描绘根据一个实施例的用于减少视频数据的通信延迟的系统500。根据一个实施例,图5描绘用于特别地使用Skype "<或Google 聊天的两个电子设备510和520之间的视频会议的系统500。系统500包括两个电子设备510和520,电子设备510和520两者分别包括传送机210A、210B和接收机250A、250B。该系统还包括路由器^0A、260B、调制解调器缓冲器230A、230B、网络530、数据源270和数据接收机四0。数据源270、电子设备510、 路由器^OA和调制解调器缓冲器230A在网络530的一侧,而电子设备520、路由器^OB和调制解调器缓冲器230A在网络530的另一侧。调制解调器缓冲器230A、230B包括用于数据流的两个方向的两个部分。例如,调制解调器缓冲器230A的第一部分被用于接收dl和 vl并传送dl和v2。调制解调器缓冲器230A的第二部分被用于接收v2和传送v2。路由器 260A.260B包括相应的设备300A、300B。根据一个实施例,设备300A、300B是设备300 (图 3)的示例。视频传送机210A、210B和视频接收机250A、250B分别是在图2中描绘的视频传送机210和视频接收机250的示例。调制解调器缓冲器230A、230B是在图2中描绘的调制解调器缓冲器230的示例。电子设备510和520能够通过其相应的路由器^0A、260B、调制解调器缓冲器 230A、230B和网络530来相互传送和发送数据V1、V2。例如,电子设备510能够向电子设备 520传送视频vl且电子设备520能够向电子设备510传送视频v2。根据一个实施例,可选数据源270通过路由器^OA和缓冲器230A将可选非视频数据dl传送至可选数据接收机 2900视频vl是以传输速率220A传送的,可选数据dl是以传输速率280传送的,并且视频 v2是以传输速率220B传送的。本文所述的各种实施例被用于减少视频数据的通信延迟。例如,假设数据源270 不在传送数据dl,路由器^K)A、260B上的设备300A、300B能够接收分组分散信息或时间数据信息或其组合,如本文所述,并估计相应调制解调器缓冲器230A、230B的相应的调制解调器排出速率M0A、240B或调制解调器缓冲器占用率。特别地,设备300A、300B能够使用诸如算法1、2或5的算法基于调制解调器排出速率240AJ40B的估计来计算允许传输速率 (ATR)。如本文所述,如果数据源270正在传送数据dl,则使用算法1、2或5计算的ATR可以用作总ATR,并且设备300A可以使用算法6来计算第一和第二允许传输速率。例如,设备 300A能够将用于数据源270的第一允许传输速率设置为等于delta并将用于电子设备510 的第二允许传输速率设置为等于如在算法6中描绘的TVRD。如本文所述,路由器^OA能够使用常规QoS限制机制将数据源270的数据dl的传输速率280调整为不超过第一允许传输速率。路由器^OA能够将第二允许传输速率传送至电子设备510的传送机210A。视频传送机210A能够将其传输速率220A调整为不超过第二允许传输速率。虽然在路由器^0A、260B上描绘了设备300A、300B,其可以在其它地方。例如,特别地,接收机250A可以将诸如时间数据信息或分组分散信息的信息传送至存在于电子设备520上而不是路由器^OB上的设备300。可以使用计算机可读存储介质和存在于例如计算机系统或类似设备的计算机可读存储介质中的计算机可执行指令来实现本文所述的实施例中的任何一个或多个。计算机可读存储介质可以是能够在上面存储指令的任何种类的存储器。计算机可读存储介质的示例包括但不限于盘、紧致盘(⑶)、数字多功能设备(DVD)、只读存储器(ROM)、闪存等。如上所述,在一个实施例中,将本发明的实施例的某些过程和操作实现为一系列指令(例如软件程序),所述指令存在于计算机系统的计算机可读存储介质内且被计算机系统的处理器执行。在被执行时,指令促使计算机系统实现本发明的实施例的功能。根据一个实施例,计算机可读存储介质具有存储在其上面的用于促使计算机系统执行减少视频数据的通信延迟的方法的计算机可读程序指令,其中,该方法包括在网络缓冲器130处从第一传送机110接收420视频数据;监视430关于网络缓冲器排出速率140和关于网络缓冲器占用率的信息,其中,网络缓冲器排出速率140是视频数据被从网络缓冲器130去除的速率,并且其中,网络缓冲器占用率是存在于网络缓冲器130中的数据的量; 以及通过向设备300提供监视信息来降低网络缓冲器130中网络缓冲器累积的概率,设备 300基于监视信息来计算用于第一传送机110的允许传输速率。各种实施例允许在传送高质量视频的同时监视并控制通信延迟。RTCP的常规使用提供关于统计损失和粗粒延迟测量的信息。常规实施方式是仅根据损失率来调整比特率,这不保证低延迟。替代地,许多实施方式适合于通过反应性地延迟重放时间线来增加延迟,导致高延迟的延长时段。扩展RTCP提供关于损失数据的更细粒的报告,但不提供避免延迟累积的机制。常规方法等到HD视频数据的分组丢失,但是那时就太迟而不能提供高质量观看体验。各种实施例甚至在其它并发业务(诸如大型文件传输)的情况下允许使用一般可用宽带接入方法(诸如电缆或DSL)的低延迟高比特率视频会议。根据一个实施例,设备300降低调制解调器溢出和高延迟的可能性。根据一个实施例,调整用于被调制解调器缓冲器接收到的数据的一个或多个传输速率主动地使调制解调器缓冲器溢出最小化并提供低延迟。各种实施例允许根据可观察条件基于组件的清楚响应来直接检测违反行为。如本文所述,特别地,清楚响应的示例包括TCP ACKS、双向RTCP业务以及监视的分散。如本文所述,特别地,可观察条件的示例包括关于调制解调器排出速率的信息。各种实施例允许在不跟踪或分配与任何实体相关联的存储器地址的情况下减少由于调制解调器缓冲器累积或溢出而引起的视频数据的通信延迟,所述任何实体诸如传送
16机、接收机、路由器或调制解调器缓冲器。例如,各种实施例允许基于调制解调器排出速率的估计来调整传输速率,其中,在不要求关于存储器地址的信息的情况下估计调制解调器排出速率。各种实施例允许降低调制解调器缓冲器溢出的概率并因此减少通信延迟而不要求关于调制解调器缓冲器的大小的信息。已以各种组合描述了各种实施例。然而,可以将任何两个或更多实施例组合。此夕卜,可以与任何其它实施例分开地使用任何实施例。因此描述了主题的示例实施例。虽然已经以专用于结构特征和/或方法动作的语言描述了本主题的各种实施例,但应理解的是所附权利要求不一定局限于上述特定特征或动作。相反,上述特性特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种用于减少视频数据的通信延迟的方法(400),该方法(400)包括在网络缓冲器(130)处从视频传送机(110)接收(420)视频数据;监视(430)关于网络缓冲器(130)的网络缓冲器排出速率(140)的信息,其中,网络缓冲器排出速率(140)是从网络缓冲器(130)去除视频数据的速率;基于监视信息来估计(440)网络缓冲器排出速率(140);以及将视频传送机(110)传送未来视频数据的传输速率(120)调整(450)为不超过基于网络缓冲器排出速率(140)的估计计算的允许传输速率(ATR)。
2.根据上述权利要求中的任一项所述的方法(400),其中信息的监视(430)还包括监视从网络缓冲器(130)接收到的视频数据的量和与视频数据相关联的分组之间的时间量;以及调制解调器排出速率(140)的估计(440)还包括至少部分地基于视频数据的量和分组之间的时间量来估计调制解调器排出速率(140 )。
3.根据上述权利要求中的任一项所述的方法(400),其中信息的监视(430)还包括至少监视通过网络缓冲器(130)来传送视频数据的分组所花费的时间量;以及调制解调器排出速率(140)的估计(440)还包括至少部分地基于估计所述时间量的变化来估计调制解调器排出速率(140 )。
4.根据上述权利要求中的任一项所述的方法(400),其中信息的监视(430)还包括监视与接收到的视频数据的分组相关联的往返时间;以及调制解调器数据速率(140)的估计(440)还包括至少部分地基于估计往返时间的变化来估计调制解调器排出速率(140 )。
5.一种用于减少视频数据的通信延迟的设备(300),该设备包括处理器;监视信息接收机(310),其被配置为用于接收关于网络缓冲器(130)的网络缓冲器排出速率(140)的监视信息,其中,网络缓冲器排出速率(140)是从网络缓冲器(130)去除视频数据的速率;网络缓冲器排出速率估计器(320),其被配置为基于监视信息来估计网络缓冲器排出速率(140);允许传输速率计算器(322),其被配置为基于网络缓冲器排出速率(140)的估计来计算允许传输速率(ATR);以及允许传输速率提供器(330),其被配置为用于向视频传送机(110)提供允许传输速率 (ATR)以将未来视频数据的传输速率调整为不超过允许传输速率(ATR)。
6.根据上述权利要求中的任一项所述的设备(300),其中,设备(300)位于选自由视频传送机(110、210)、视频接收机(150、250)和路由器(260)组成的组中的电子设备处。
7.根据上述权利要求中的任一项所述的设备(300),其中,设备(300)位于作为服务质量(QOS)路由器的路由器(260)处。
8.根据上述权利要求中的任一项所述的设备(300),其中,所计算的允许传输速率 (ATR)是总允许传输速率(ATR),并且其中,允许传输速率提供器(330)进一步被配置为用于提供用于多个数据源(210、270)的多个新允许传输速率,其中,所述多个新允许传输速率(220,280)的总和不超过总允许传输速率(ATR)。
9.根据上述权利要求中的任一项所述的设备(300),其中,设备(300)还包括网络缓冲器占用率估计器(325),其被配置为用于估计作为存在于网络缓冲器(130)中的数据的量的网络缓冲器占用率,并且其中,允许传输速率提供器(330)还被配置为通过将基于估计的网络缓冲器占用率和调制解调器排出速率(140)的估计的允许传输速率提供给视频传送机 (110)来引起网络缓冲器占用率累积的概率的降低。
10.根据上述权利要求中的任一项所述的设备(300),其中监视信息接收机(310)还被配置为用于监视从网络缓冲器(230)接收到的视频数据的量和与视频数据相关联的分组之间的时间量;以及调制解调器排出速率估计器(320)还被配置为用于至少部分地基于视频数据的量和分组之间的时间量来估计调制解调器排出速率(240 )。
11.一种计算机可读存储介质,其具有存储在其上的用于促使计算机系统执行减少视频数据的通信延迟的方法的计算机可读程序指令,该方法包括在网络缓冲器(130)处从第一传送机(110)接收(420)视频数据;监视(430)关于网络缓冲器排出速率(140)和关于网络缓冲器占用率的信息,其中,网络缓冲器排出速率(140)是从网络缓冲器(130)去除视频数据的速率,并且其中,网络缓冲器占用率是存在于网络缓冲器(130)中的数据的量;以及通过向设备(300)提供监视信息来减少网络缓冲器(130)中的网络缓冲器累积的概率,所述设备(300)基于监视信息来计算用于第一传送机(110)的允许传输速率。
12.根据上述权利要求中的任一项所述的计算机可读存储介质,其中,视频数据的接收 (420)还包括从服务质量(QOS)路由器(260)接收(420)视频数据。
13.根据上述权利要求中的任一项所述的计算机可读存储介质其中,所述方法还包括在网络缓冲器(230 )处从第二传送机(270 )接收第二数据;以及其中,存在于路由器(260)处的设备(300)将作为允许传输速率(ATR)的小微量的第二传输速率(280 )提供给第二传送机(270 ),并将被调整为允许传输速率(ATR)与所述小微量之间的差的第一传输速率(220)提供给第一传送机(110)。
14.根据上述权利要求中的任一项所述的计算机可读存储介质,其中,视频数据的接收还包括实时地接收视频数据。
15.根据上述权利要求中的任一项所述的计算机可读存储介质,其中信息的监视还包括监视从网络缓冲器(130)接收到的视频数据的量和与该视频数据相关联的分组之间的时间量;以及网络缓冲器占用率的估计还包括通过至少部分地基于视频数据的量和分组之间的时间量估计网络缓冲器占用率来确定分组分散。
全文摘要
根据一个实施例,在网络缓冲器(130)处接收(420)来自视频传送机(110)的视频数据。监视(430)关于网络缓冲器(103)的网络缓冲器排出速率(14)的信息。网络缓冲器排出速率(140)是从网络缓冲器(130)去除视频数据的速率。基于监视信息来估计(440)网络缓冲器排出速率(140)。将视频传送机(110)传送未来视频数据的传输速率(120)调整(450)为不超过基于网络缓冲器排出速率(140)的估计计算的允许传输速率(ATR)。
文档编号H04N7/015GK102484695SQ200980161181
公开日2012年5月30日 申请日期2009年8月31日 优先权日2009年8月31日
发明者J. 帕蒂 A., 谭 W-T. 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1