CN102484695A - 减少视频数据的通信延迟 - Google Patents

减少视频数据的通信延迟 Download PDF

Info

Publication number
CN102484695A
CN102484695A CN2009801611813A CN200980161181A CN102484695A CN 102484695 A CN102484695 A CN 102484695A CN 2009801611813 A CN2009801611813 A CN 2009801611813A CN 200980161181 A CN200980161181 A CN 200980161181A CN 102484695 A CN102484695 A CN 102484695A
Authority
CN
China
Prior art keywords
rate
discharge
video
transmission rate
video data
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.)
Pending
Application number
CN2009801611813A
Other languages
English (en)
Inventor
W-T.谭
A.J.帕蒂
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN102484695A publication Critical patent/CN102484695A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/1066Session management
    • H04L65/1083In-session procedures
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server

Abstract

根据一个实施例,在网络缓冲器(130)处接收(420)来自视频传送机(110)的视频数据。监视(430)关于网络缓冲器(103)的网络缓冲器排出速率(14)的信息。网络缓冲器排出速率(140)是从网络缓冲器(130)去除视频数据的速率。基于监视信息来估计(440)网络缓冲器排出速率(140)。将视频传送机(110)传送未来视频数据的传输速率(120)调整(450)为不超过基于网络缓冲器排出速率(140)的估计计算的允许传输速率(ATR)。

Description

减少视频数据的通信延迟
背景技术
很多人正在购买高密度电视(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、路由器260、调制解调器缓冲器230、网络245、视频接收机250以及数据接收机290。数据源270和数据接收机290是可选的。
根据一个实施例,路由器260是服务质量(QOS)路由器260。根据一个实施例,路由器260从多个源210、270接收数据。视频传送机210、数据源270、视频接收机250和数据接收机290可以是电子设备,诸如膝上型计算机、台式计算机或PDA。视频接收机250可以具有HD显示器。根据一个实施例,视频传送机210、数据源270、路由器260以及调制解调器缓冲器230与受约束网络相关联,所述受约束网络诸如通常在家中或小型企业中使用的网络。特别地,电缆、DSL或WiMax可以提供调制解调器缓冲器230和接收机250、290之间的连接性。
来自两个源210、270的数据通过路由器260、调制解调器缓冲器230和网络245被传送到接收机250、290。视频传送机210将视频数据传送到视频接收机250。数据源270将可以是也可以不是视频数据的数据传送到数据接收机290。例如,数据源270可以将网页上传至作为web服务器的数据接收机290。
视频传送机210以一个传输速率220来传送视频数据且数据源270以另一传输速率280来传送数据。来自视频传送机210的视频数据被传送至视频接收机250且来自数据源270的数据被传送至数据接收机290。根据一个实施例,调制解调器排出速率240是从调制解调器缓冲器230接收数据的总速率。例如,调制解调器排出速率240可以包括从调制解调器缓冲器230去除数据(无论哪个源210、270将其传送)的速率。按照惯例,诸如视频传送机、数据源、路由器、视频接收机和数据接收机的电子设备不具有关于调制解调器缓冲器的占用率或排出速率的信息。
如本文中所述,诸如视频传送机或数据源的数据源、视频接收机、路由器和调制解调器缓冲器按照惯例不知道调制解调器缓冲器的占用率或排出速率。因此,参考图1和2,根据一个实施例,估计调制解调器排出速率140、240,并调整向调制解调器缓冲器130、230传送视频数据的速率120、220以便不超过调制解调器排出速率140、240的估计从而减少视频数据的通信延迟。根据一个实施例,如将变得更加显而易见的,将视频数据的传输速率120、220调整为不超过基于调制解调器排出速率140、240的估计所计算的允许传输速率。如将变得更加显而易见的,可以将各种方法用于估计调制解调器排出速率140、240。
能够在各个时间点估计调制解调器排出速率140、240,并且能够调整传输速率120、220。例如,能够周期性地估计调制解调器排出速率140、240并调整传输速率120、220。在特定示例中,在视频数据的传输期间能够至少两次执行估计和调整。在另一示例中,能够连续地执行估计和调整。更具体地,能够例如使用诸如移动平均值的统计分析连续地监视关于调制解调器排出速率140、240的信息。如果统计分析指示调制解调器排出速率的当前估计与调制解调器排出速率140、240的新估计之间的差在统计上是显著的,则能够基于调制解调器排出速率140、240的新估计来调整传输速率120、220。
此外,根据一个实施例,可以将调制解调器排出速率140、240的估计用于确定用于调整传输速率120、220的程度。例如,如果与20%比较调制解调器排出速率140、240的估计增加了50%,则传输速率120、220增加更多。在另一示例中,如果与50%比较调制解调器排出速率140、240的估计减少了75%,则传输速率120、220减少更多。
各种实施例被用于估计调制解调器排出速率140、240。例如,特别地,如将变得更加显而易见的,可以将诸如时间戳的分组分散(dispersion)或定时数据用于估计调制解调器排出速率140、240。
如本文所述,根据一个实施例,分组分散用来估计调制解调器排出速率140、240(在本文中称为“分散实施例”)。例如,仍参考图1和2,能够使用数据的量除以时间来估计调制解调器排出速率140、240。根据一个实施例,如将变得更加显而易见的,在计算分组分散时使用每个视频分组突发生成的不止一个分组。
更具体地,假设视频数据的帧导致七个分组的突发,并且那七个分组在调制解调器缓冲器130、230中。根据一个实施例,分组分散是被从调制解调器缓冲器130、230连续地去除的分组之间的时间量。例如,如果在时间t1去除第一分组,在时间t2去除第二分组并在时间t3去除第三分组,则第一和第二分组之间的分散是时间t2和时间t1之间的差d1且第二和第三分组之间的分散是时间t3和时间t2之间的差d2。在用于视频帧的七个分组的突发的示例中,在从调制解调器缓冲器130、230去除七个分组的七个时间t1~t7之间将存在六个差d1~d6。根据一个实施例,能够通过用平均分散除以平均分组大小来估计调制解调器排出速率140、240。在这种情况下,可以通过用时间t1~t7之间的差d1~d6的平均值除以七个分组的平均大小来估计调制解调器排出速率140、240。
通常,接收机150、250不直接观察时间t1~t7。然而,接收机150、250能够使用各分组的接收时间来近似时间t1~t7。使用各分组的接收时间来近似时间t1~t7一般地是准确的,因为附加的显著分散是不太可能的。此外,在的确发生附加的显著分散的罕见情况下,能够统计地控制附加分散。
在一个实施例中,视频传送机110、210生成视频分组并记录每个视频分组的序号和以字节为单位的大小。视频传送机110、210还记录指示分组突发的序号范围。根据一个实施例,特别地,将实时传输协议(RTCP)报告用于确定分组接收时间、序号范围和视频分组大小。例如,视频接收机150、250向视频传送机110、210发回包括每个接收到的视频分组的接收状态和时间的扩展RTCP分组。视频传送机110、210然后使用接收状态来确定接收到的分组的突发,以及使用接收时间来估计例如本文所述的时间t1~t7。
在另一实施例中,路由器260监视视频分组流并针对每个视频分组例如在本地存储器中记录实时传输协议(RTP)序号和以字节为单位的大小。路由器260还记录指示被发送到调制解调器缓冲器230的分组突发的序号范围。视频接收机250向视频传送机210发回包括接收状态和接收到每个视频分组的时间的扩展RTCP分组。路由器260使用接收状态及其存储的突发信息来确定接收到的分组的突发,连同存储的分组大小和接收时间一起来估计例如本文所述的时间t1~t7。
在另一实施例中,特别地,标准的而不是扩展的RTP控制协议(RTCP)报告用于确定分组接收时间、序号范围和分组大小。例如,视频传送机210或路由器260记录指示分组突发的序号范围以及每个视频分组的RTP序号和以字节为单位的大小。视频接收机250向视频传送机210发回标准RTCP报告。视频传送机210或路由器260确定“部分丢失”字段是否指示没有分组丢失,并且RTCP报告是否覆盖单个突发中的分组。如果是这样,则可以由路由器260或视频传送机110、210上的本地存储的量来确定所发送的业务的量。由“NTP时间戳”字段来估计用于七分组突发的结尾的时间“t7”,并由前一RTCP报告的“NTP时间戳”字段来估计用于七分组突发的开始的时间“t1”。如能够看到的,各种实施例使用每个视频分组突发生成的不止一个RTCP分组作为确定分组分散的一部分。因此,如能够看到的,能够将分组分散信息用于估计调制解调器排出速率140、240。
根据一个实施例,使用“定时数据”作为估计调制解调器排出速率140、240的一部分。例如,使关于何时传送或接收视频数据的信息与分组时间戳或协议报告或其组合相关联。协议报告的示例包括但不限于RTCP或RTP业务或报告。
例如,根据一个实施例,使用往返时间来估计任一调制解调器排出速率140、240。更具体地,视频传送机110、210向视频接收机150、250传送分组。传送分组的时间将被称为分组传输时间。视频接收机150、250接收分组。视频接收机150、250接收到传送的分组的时间将被称为分组接收时间。视频接收机150、250在其接收到分组时对视频传送机110、210做出响应。例如,视频接收机150、250可以在其接收到分组时立即对视频传送机110、210进行响应。在另一示例中,视频接收机150、250使用捎带法(piggy backing)进行响应。视频传送机110、210接收视频接收机150、250的响应。该响应包括视频传送机110、210向视频接收机150、250传送分组的分组传输时间。视频传送机110、210接收到响应的时间将被称为“响应接收时间”。根据一个实施例,可以通过从分组传输时间减去响应接收时间来计算往返时间。
根据一个实施例,使用单向延迟的变化来计算缓冲器占用率。例如,每个分组通常带有与何时传送分组相对应的分组传输时间戳。对于使用RTP传输的实时会议应用而言,能够用媒体重放时间戳来近似分组传输时间戳。接收机150、250能够计算每个分组的分组接收时间与其分组传输时间戳之间的差以获得单向延迟估计。根据一个实施例,具有显著幅值的单向延迟的变化能够用来管理缓冲器占用率。
根据一个实施例,例如使用来自在路由器260处接收到的传输控制协议确认(TCP ACK)的信息来计算往返时间。例如,假设使用以及时的方式自动地生成ACK分组的TCP实施方式,路由器260能够从视频传送机210、270接收TCP ACK。可以通过从接收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分组或TCP分组。如本文所述,特别地,可以从标准RTCP报告、扩展RTCP报告或从TCP分组获得特别地诸如分组传输时间、分组接收时间、响应接收时间、分组大小的信息,如本文所述。可以单独地或相互组合地使用定时数据实施例和分散实施例。例如,定时数据实施例或分散实施例能够提供足够的信息来估计调制解调器排出速率或调制解调器缓冲器占用率。特别地,例如出于对结果进行交叉检查的目的,可以相互结合地使用定时数据实施例和分散实施例二者。类似地,特别地,例如出于对结果进行交叉检查的目的,可以一起使用调制解调器排出速率或调制解调器缓冲器占用率实施例。因此,可以使用本文所述的“定时数据”作为估计调制解调器排出速率140、240的一部分。
根据一个实施例,可以使用调制解调器缓冲器占用率作为调整传输速率的一部分。根据一个实施例,如将变得更加显而易见的,可以使用调制解调器缓冲器占用率作为计算允许已调整传输速率(ATR)的一部分。参考图1和2,根据一个实施例,调制解调器缓冲器占用率等于被注入到调制解调器缓冲器130、230中的数据的总量减去被排出和丢失的数据的量。因此,根据一个实施例,调制解调器缓冲器占用率能够用来直接确定视频通信的延迟。在一个实施例中,如将变得更加显而易见的,使用缓冲器占用率来确定是否将调整传输速率120、220。在一个实施例中,如本文所述,通过调制解调器排出速率估计来间接地估计缓冲器占用率。根据一个实施例,可以使用如本文所述的定时数据或分组分散或其组合作为估计缓冲器的占用率的一部分。
根据一个实施例,计算初始调制解调器排出速率。例如,参考图1和2,将近传送视频数据流的开始和在调制解调器缓冲器130、230包含足够量的数据之后,可以使用分散实施例或定时数据实施例来确定调制解调器排出速率的初始估计。更具体地,由于调制解调器130、230的输入速率通常比调制解调器130、230的输出速率大得多,所以诸如视频传送机110、210或数据源270的数据源可以在分组突发中传送与数据的一个切片或一个帧相关联的连续分组。可以例如在视频接收机150、250处测量与突发相关联的分组的分散以估计初始调制解调器排出速率。
根据一个实施例,假设调制解调器排出速率140、240的初始估计为实际调制解调器排出速率140、240。根据一个实施例,使用调制解调器排出速率140、240的该初始估计作为调制解调器排出速率140、240的未来估计的上界。根据一个实施例,如果调制解调器排出速率140、240的未来估计高于调制解调器排出速率140、240的初始估计,则调制解调器排出速率140、240的更高未来估计替换调制解调器排出速率140、240的初始估计作为上界。
根据一个实施例,使用调制解调器排出速率140、240的估计作为调整视频数据被传送到调制解调器缓冲器130、230的传输速率120、220的一部分。例如,可以使用调制解调器排出速率140、240的估计作为确定允许传输速率(ATR)的一部分。将传输速率120、220调整为不超过允许传输速率(ATR)。例如,根据一个实施例,调整传输速率120、220,使得其不超过且保持少量地低于调制解调器排出速率140、240的估计。通过保持传输速率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)×CATR+( EMDR *beta)×alpha      算法1
根据一个实施例,算法1提供利用率(beta接近于1)与快速排出速率(beta<<1)之间的权衡。
根据一个实施例,使用调制解调器缓冲器占用率作为调整传输速率120、220的一部分。例如,可以通过将常数beta改变为缓冲器占用率的函数来采用调制解调器缓冲器占用率的估计,从而自适应地在调制解调器缓冲器占用率低时实现较高的调制解调器缓冲器利用率,并在调制解调器缓冲器占用率高时增加调制解调器排出速率。例如,如果如用“b”表示的调制解调器缓冲器占用率的估计可能潜在地在[0 1]的范围内,其中,用于估计的调制解调器缓冲器占用率“b”的0的值指示调制解调器缓冲器是空的且用于估计的调制解调器缓冲器占用率“b”的1的值指示调制解调器缓冲器是满的或溢出,则可以使用下述算法2来自适应地在调制解调器缓冲器占用率低时增加调制解调器缓冲器利用率并在调制解调器缓冲器占用率高时增加调制解调器排出速率。
NATR=(1 -alpha)×CATR + alpha×(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×( EMDR(n) + EMDR(n-1) + EMDR(n-2))    算法5
参考图2,如本文所述,根据一个实施例,调制解调器缓冲器230能够从两个数据源210、270接收数据。可以以不同的传输速率220、280来传送来自这两个数据源210、270的数据。特别地,可以基于数据的类型或提供传送的数据的数据源210、270的类型来将传送的数据排列优先级。例如,可以为来自视频传送机210的视频数据提供比来自另一数据源270的非视频数据更高的优先级。路由器260能够使用分配的优先级来确定各数据被传送到调制解调器缓冲器230的顺序。能够基于优先级来单独地调整传输速率220、280。例如,根据一个实施例,调整传输速率220、280,使得由路由器260从这两个数据源210、270接收到的数据的传输速率220、280的总和不超过总的允许传输速率(ATR)。根据一个实施例,使用算法1、2或5中的任何一个计算的允许传输速率(ATR)被用作总允许传输速率(TATR)。
根据一个实施例,为用于视频数据的传输速率220提供比用于非视频数据的传输速率280更高百分比的总允许传输速率(ATR)。例如,可以将用于非视频数据的传输速率280调整为小delta(微量),并且可以将用于视频数据的传输速率220(TRVD)调整为不超过总允许传输速率(TATR)减去该小delta,如在以下算法6中所描绘的:
TRVD = TATR – delta               算法6。
因此,各种实施例非常适合于协作地调整用于多个数据源210、270的多个传输速率220、280。例如,如本文所述,自适应地调整传输速率220、280,使得传输速率220、280的总和不超过总允许传输速率(TATR)。根据一个实施例,当不在接收视频数据时,为用于非视频数据的传输速率280提供高百分比的调制解调器排出速率240的估计。例如,当调制解调器缓冲器230不在接收任何视频数据时,可以将用于非视频数据的传输速率280调整为总允许传输速率(TATR)减去小delta之间的差。然而,当调制解调器缓冲器230正在从视频传送机210接收视频数据时,如本文所述,使用算法2来调整传输速率220和280。
根据各种实施例,数据源270能够传送数据,因为数据源270的传输速率280被分配小的delta,而同时,能够为视频传送机210的用户提供高质量观看体验,因为视频传送机210的传输速率220被基于总允许传输速率(TATR)减去小delta之间的差自适应地调整。
根据一个实施例,使用常规QoS限制机制作为调整用于非视频数据的传输速率280的一部分以减少通信延迟。例如,如果数据源270以比由算法2中描绘的delta所分派的更高的速率来传送非视频数据,则根据一个实施例,路由器260将丢弃来自非视频数据的分组。假设数据源270正使用现代TCP实施方式,标准TCP控制机制将通过减小非视频数据的传输速率280来对路由器260的分组丢弃作出反应。然而,由于分组丢弃对于视频数据而言是不可接受的,所以各种实施例允许调整视频数据的传输速率220以降低丢弃视频分组的概率。例如,如本文所述,基于调制解调器排出速率240的估计来确定新的已调整传输速率(ATR)。视频传送机210基于新的已调整传输速率(ATR)来调整传输速率220以降低视频分组被丢弃的概率。
虽然在仅一个视频传送机传送视频数据的上下文中描述了各种实施例,但各种实施例非常适合于协作地调整用于多个视频传送机的多个传输速率。能够基于调制解调器排出速率的估计来调整多个视频传送机的传输速率。如本文所述,可以将如在算法1、2、5中描绘的允许传输速率(ATR)或如在算法6中描绘的视频数据的传送(TRVD)用于调整传输速率120、220、280。例如当没有一个数据源正在传送非视频数据时,可以使用ATR。当任何数据源正在传送非视频数据时,可以使用TRVD和delta。例如,根据任何数据源是否正在传送非视频数据,可以将来自多个视频传送机的视频数据的传输速率调整为如在算法1、2、5中描绘的允许传输速率(ATR)的相等比例,或如在算法6中描绘的视频数据的传输(TVRD)的相等比例。在另一示例中,两个不同的视频数据流可以具有不同的优先级。在这种情况下,可以将两个视频数据流的传输速率调整为不超过允许传输速率(ATR)的不同比例。例如,可以将用于一个视频流的传输速率A调整为不超过允许传输速率(ATR)的40%,而可以将用于第二视频流的传输速率B调整为不超过允许传输速率(ATR)的60%。通过基于调制解调器排出速率的估计来自适应地调整传输速率,例如使用允许传输速率(ATR),可以控制传输速率以降低调制解调器缓冲器将溢出从而引起视频业务的延迟的概率。类似地,可以类似地将用于视频数据的传输速率(TRVD)的各部分和delta的各部分分派给与例如路由器260通信的多个视频数据源和多个非视频数据源。
可以使用被用于调整传输速率120、220的各种实施例中的任何一个或多个作为调整传输速率280的一部分。在一个示例中,基于使用算法1、2或5基于调制解调器排出速率140、240的估计计算的允许传输速率(ATR)来调整传输速率120、220。可以将传输速率280调整为使用算法6基于调制解调器排出速率240的估计计算的允许传输速率(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、数据接收机290(其可以也可以不接收视频数据)或路由器260处。
图4描绘根据一个实施例的减少视频数据的通信延迟的方法的流程图。虽然在流程图400中公开了特定操作,但此类操作是示例性的。也就是说,本发明的实施例非常适合于执行各种其它操作或在流程图400中叙述的操作的变化。应认识到可以按照与给出的不同的顺序来执行流程图400中的操作,并且可以执行流程图400中的所有操作的一部分。
在410处,该方法开始。
在420处,调制解调器缓冲器从视频传送机接收当前视频数据。例如,参考图1,假设视频传送机110向调制解调器缓冲器130传送视频数据。调制解调器缓冲器130从视频传送机110接收视频数据。
在430处,监视关于调制解调器缓冲器的调制解调器排出速率的信息。调制解调器排出速率140是从调制解调器缓冲器130去除视频数据的速率。例如,仍参考图1,假设视频数据帧导致七个分组的突发且那七个分组在调制解调器缓冲器130中。根据一个实施例,分组分散是被从调制解调器缓冲器130连续地去除的分组之间的时间量。例如,如果在时间t1去除第一分组,在时间t2去除第二分组并在时间t3去除第三分组,则第一和第二分组之间的分散是时间t2和时间t1之间的差d1且第二和第三分组之间的分散是时间t3和时间t2之间的差d2。在用于帧的七个分组的示例中,将存在用于从调制解调器缓冲器去除七个分组的七个时间t1~t7的六个差d1~d6。差d1~d6和七个分组的大小是关于调制解调器排出速率140的信息的示例。虽然在七个分组的上下文中描述了各种实施例,但实施例非常适合于使用很少的分组,诸如六个分组。
如本文所讨论的,可以使用关于RTCP的实施例作为确定分组分散的一部分。监视信息可以包括如本文所述的标准RTP信息、RTCP信息、其扩展、TCP信息或其组合以及用于获得用于估计调制解调器排出速率240的信息的反馈中的任何一个或多个。
在440处,基于监视信息来估计调制解调器排出速率。例如,参考图1,存在于视频接收机140处或视频传送机110处的设备300可以接收在操作430中监视的关于调制解调器排出速率140的信息。设备300可以使用接收到的监视信息来估计调制解调器排出速率140。根据一个实施例,能够通过用平均分散除以平均分组大小来估计调制解调器排出速率140。在这种情况下,可以通过用时间t1~t7之间的差d1~d6的平均值除以七个分组的平均大小来估计调制解调器排出速率140。虽然在七个分组的上下文中描述了各种实施例,但实施例非常适合于使用更多或更少的分组。例如,可以使用六个分组而不是七个分组。
在450处,将视频传送机传送未来视频数据的传输速率调整为不超过基于调制解调器排出速率的估计计算的允许传输速率(ATR)。继续本示例并参考图1,设备300可以使用在操作440中确定的调制解调器排出速率140的估计来使用算法1计算允许传输速率(ATR)。设备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上传至诸如网站的数据接收机290。将在流程图300的上下文中描述如在图2中描绘的具有多个数据源210、270的实施例。为了说明假设设备300存在于路由器260处。
在410处,该方法开始。
在420处,调制解调器缓冲器从视频传送机接收当前视频数据。例如,假设视频传送机210通过路由器260向调制解调器缓冲器230传送高清晰度视频。调制解调器缓冲器230从视频传送机260接收高清晰度视频数据。
在430处,监视关于调制解调器缓冲器的调制解调器排出速率的信息。调制解调器排出速率240是从调制解调器缓冲器230去除数据的速率。例如,根据一个实施例,存在于路由器260处的路由器逻辑可以监视如本文所述的标准RTP信息、RTCP信息、其扩展、TCP信息或其组合以及如本文所述的用于获得用于估计调制解调器排出速率240的信息的反馈中的任何一个或多个。例如,并且如在本文中更详细地描述的,路由器逻辑可以存储路由器260向调制解调器缓冲器230传送分组的分组传输时间。路由器260将接收与传送的分组对应的反馈,其包括视频接收机250接收到分组的分组接收时间。分组传送时间和分组接收时间是关于调制解调器排出速率240的信息的示例。
在本说明中,路由器逻辑和设备300存在于路由器260处。监视信息的路由器逻辑可以是也可以不是设备300的一部分。例如,路由器逻辑可以存在于路由器260处,但不是设备300的一部分。替换地,路由器逻辑可以是设备300的一部分。
在440处,基于监视信息来估计调制解调器排出速率。继续本示例,参考图2,存在于路由器260处的设备300可以接收在操作430处监视的关于调制解调器排出速率240的信息。设备300可以使用接收到的监视信息来估计调制解调器排出速率240。根据一个实施例,能够通过用平均分散除以平均分组大小来估计调制解调器排出速率240。在这种情况下,可以通过用时间t1~t7之间的差d1~d6的平均值除以七个分组的平均大小来估计调制解调器排出速率240。虽然在七个分组的上下文中描述了各种实施例,但实施例非常适合于使用更多或更少的分组。例如,可以使用六个分组而不是七个分组。
在450处,将视频传送机传送未来视频数据的传输速率调整为不超过基于调制解调器排出速率的估计计算的允许传输速率(ATR)。假设设备300存在于路由器260上,设备300可以使用诸如算法1~6的算法基于调制解调器排出速率240的估计来计算允许传输速率(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上。例如,可以将关于调制解调器排出速率240的信息传送至设备300或在设备300处获得,所述设备300存在于视频传送机210和数据源270处。在另一示例中,可以将关于调制解调器排出速率240的信息传送至视频接收机250或在视频接收机250处获得。
如本文所述,各种实施例允许在视频数据的传输期间继续监视关于调制解调器排出速率240的信息,估计调制解调器排出速率240并调整传输速率220。
图5描绘根据一个实施例的用于减少视频数据的通信延迟的系统500。根据一个实施例,图5描绘用于特别地使用Skype?或Google?聊天的两个电子设备510和520之间的视频会议的系统500。系统500包括两个电子设备510和520,电子设备510和520两者分别包括传送机210A、210B和接收机250A、250B。该系统还包括路由器260A、260B、调制解调器缓冲器230A、230B、网络530、数据源270和数据接收机290。数据源270、电子设备510、路由器260A和调制解调器缓冲器230A在网络530的一侧,而电子设备520、路由器260B和调制解调器缓冲器230A在网络530的另一侧。调制解调器缓冲器230A、230B包括用于数据流的两个方向的两个部分。例如,调制解调器缓冲器230A的第一部分被用于接收d1和v1并传送d1和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能够通过其相应的路由器260A、260B、调制解调器缓冲器230A、230B和网络530来相互传送和发送数据V1、V2。例如,电子设备510能够向电子设备520传送视频v1且电子设备520能够向电子设备510传送视频v2。根据一个实施例,可选数据源270通过路由器260A和缓冲器230A将可选非视频数据d1传送至可选数据接收机290。视频v1是以传输速率220A传送的,可选数据d1是以传输速率280传送的,并且视频v2是以传输速率220B传送的。
本文所述的各种实施例被用于减少视频数据的通信延迟。例如,假设数据源270不在传送数据d1,路由器260A、260B上的设备300A、300B能够接收分组分散信息或时间数据信息或其组合,如本文所述,并估计相应调制解调器缓冲器230A、230B的相应的调制解调器排出速率240A、240B或调制解调器缓冲器占用率。特别地,设备300A、300B能够使用诸如算法1、2或5的算法基于调制解调器排出速率240A、240B的估计来计算允许传输速率(ATR)。
如本文所述,如果数据源270正在传送数据d1,则使用算法1、2或5计算的ATR可以用作总ATR,并且设备300A可以使用算法6来计算第一和第二允许传输速率。例如,设备300A能够将用于数据源270的第一允许传输速率设置为等于delta并将用于电子设备510的第二允许传输速率设置为等于如在算法6中描绘的TVRD。如本文所述,路由器260A能够使用常规QoS限制机制将数据源270的数据d1的传输速率280调整为不超过第一允许传输速率。路由器260A能够将第二允许传输速率传送至电子设备510的传送机210A。视频传送机210A能够将其传输速率220A调整为不超过第二允许传输速率。
虽然在路由器260A、260B上描绘了设备300A、300B,其可以在其它地方。例如,特别地,接收机250A可以将诸如时间数据信息或分组分散信息的信息传送至存在于电子设备520上而不是路由器260B上的设备300。
可以使用计算机可读存储介质和存在于例如计算机系统或类似设备的计算机可读存储介质中的计算机可执行指令来实现本文所述的实施例中的任何一个或多个。计算机可读存储介质可以是能够在上面存储指令的任何种类的存储器。计算机可读存储介质的示例包括但不限于盘、紧致盘(CD)、数字多功能设备(DVD)、只读存储器(ROM)、闪存等。如上所述,在一个实施例中,将本发明的实施例的某些过程和操作实现为一系列指令(例如软件程序),所述指令存在于计算机系统的计算机可读存储介质内且被计算机系统的处理器执行。在被执行时,指令促使计算机系统实现本发明的实施例的功能。
根据一个实施例,计算机可读存储介质具有存储在其上面的用于促使计算机系统执行减少视频数据的通信延迟的方法的计算机可读程序指令,其中,该方法包括在网络缓冲器130处从第一传送机110接收420视频数据;监视430关于网络缓冲器排出速率140和关于网络缓冲器占用率的信息,其中,网络缓冲器排出速率140是视频数据被从网络缓冲器130去除的速率,并且其中,网络缓冲器占用率是存在于网络缓冲器130中的数据的量;以及通过向设备300提供监视信息来降低网络缓冲器130中网络缓冲器累积的概率,设备300基于监视信息来计算用于第一传送机110的允许传输速率。
各种实施例允许在传送高质量视频的同时监视并控制通信延迟。
RTCP的常规使用提供关于统计损失和粗粒延迟测量的信息。常规实施方式是仅根据损失率来调整比特率,这不保证低延迟。替代地,许多实施方式适合于通过反应性地延迟重放时间线来增加延迟,导致高延迟的延长时段。扩展RTCP提供关于损失数据的更细粒的报告,但不提供避免延迟累积的机制。常规方法等到HD视频数据的分组丢失,但是那时就太迟而不能提供高质量观看体验。
各种实施例甚至在其它并发业务(诸如大型文件传输)的情况下允许使用一般可用宽带接入方法(诸如电缆或DSL)的低延迟高比特率视频会议。
根据一个实施例,设备300降低调制解调器溢出和高延迟的可能性。根据一个实施例,调整用于被调制解调器缓冲器接收到的数据的一个或多个传输速率主动地使调制解调器缓冲器溢出最小化并提供低延迟。
各种实施例允许根据可观察条件基于组件的清楚响应来直接检测违反行为。如本文所述,特别地,清楚响应的示例包括TCP ACKS、双向RTCP业务以及监视的分散。如本文所述,特别地,可观察条件的示例包括关于调制解调器排出速率的信息。
各种实施例允许在不跟踪或分配与任何实体相关联的存储器地址的情况下减少由于调制解调器缓冲器累积或溢出而引起的视频数据的通信延迟,所述任何实体诸如传送机、接收机、路由器或调制解调器缓冲器。例如,各种实施例允许基于调制解调器排出速率的估计来调整传输速率,其中,在不要求关于存储器地址的信息的情况下估计调制解调器排出速率。
各种实施例允许降低调制解调器缓冲器溢出的概率并因此减少通信延迟而不要求关于调制解调器缓冲器的大小的信息。
已以各种组合描述了各种实施例。然而,可以将任何两个或更多实施例组合。此外,可以与任何其它实施例分开地使用任何实施例。
因此描述了主题的示例实施例。虽然已经以专用于结构特征和/或方法动作的语言描述了本主题的各种实施例,但应理解的是所附权利要求不一定局限于上述特定特征或动作。相反,上述特性特征和动作是作为实现权利要求的示例形式公开的。

Claims (15)

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)接收到的视频数据的量和与该视频数据相关联的分组之间的时间量;以及
网络缓冲器占用率的估计还包括通过至少部分地基于视频数据的量和分组之间的时间量估计网络缓冲器占用率来确定分组分散。
CN2009801611813A 2009-08-31 2009-08-31 减少视频数据的通信延迟 Pending CN102484695A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2009/055508 WO2011025502A1 (en) 2009-08-31 2009-08-31 Reducing communication delay of video data

Publications (1)

Publication Number Publication Date
CN102484695A true CN102484695A (zh) 2012-05-30

Family

ID=43628291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801611813A Pending CN102484695A (zh) 2009-08-31 2009-08-31 减少视频数据的通信延迟

Country Status (4)

Country Link
US (1) US8634300B2 (zh)
EP (1) EP2474160A4 (zh)
CN (1) CN102484695A (zh)
WO (1) WO2011025502A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104350741A (zh) * 2012-06-29 2015-02-11 国际商业机器公司 用于传送的视频的递增准备

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9276832B2 (en) * 2011-03-20 2016-03-01 King Abdullah University Of Science And Technology Buffer sizing for multi-hop networks
US9088453B2 (en) 2011-06-01 2015-07-21 Echostar Technologies L.L.C. Apparatus, systems and methods for monitoring the transmission of media content events
US9037742B2 (en) 2011-11-15 2015-05-19 International Business Machines Corporation Optimizing streaming of a group of videos
US9112820B2 (en) 2012-07-31 2015-08-18 Hewlett-Packard Development Company, L.P. Delay queues based on delay remaining
US9456383B2 (en) * 2012-08-27 2016-09-27 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
US9699103B2 (en) * 2012-09-05 2017-07-04 Flash Networks, Ltd Method and system for flow controlling
CN106170950B (zh) * 2014-12-12 2019-06-07 华为技术有限公司 一种节点的运行状态检测方法及装置
US11276082B1 (en) * 2014-12-31 2022-03-15 Groupon, Inc. Methods and systems for managing transmission of electronic marketing communications
WO2020245883A1 (ja) * 2019-06-03 2020-12-10 日本電信電話株式会社 信号転送装置及び信号転送方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1262021A (zh) * 1997-04-18 2000-08-02 艾利森电话股份有限公司 可变比特率数据源的资源估价
CN1436428A (zh) * 2000-04-19 2003-08-13 通用仪器公司 恒定速率信道可变位速率视频节目的速率控制与缓存保护
CN1557072A (zh) * 2001-09-21 2004-12-22 ���˹���Ѷ��� 使用缓冲器大小计算用于拥塞控制的传输速率的数据通信方法和系统
CN1764973A (zh) * 2003-04-02 2006-04-26 汤姆森许可贸易公司 用于缓冲从存储介质中所读取数据的方法
US20060095942A1 (en) * 2004-10-30 2006-05-04 Van Beek Petrus J Wireless video transmission system
CN1787422A (zh) * 2004-12-10 2006-06-14 微软公司 用于控制流媒体数据的编码比特率的系统和过程
US20080117930A1 (en) * 2005-07-20 2008-05-22 Jacob Chakareski System and method for the control of the transmission rate in packet-based digital communications
US20080271069A1 (en) * 2005-09-29 2008-10-30 Hanaromedia Co., Ltd. System and Method for the Provision of Advertisement Coupled to Treatment of Video on Demand Through Set Top Box
CN101414957A (zh) * 2007-10-17 2009-04-22 北京中电华大电子设计有限责任公司 一种用于无线局域网的缓冲队列管理方法
US20090185625A1 (en) * 2008-01-17 2009-07-23 Samsung Electronics Co., Ltd. Transmitter and receiver of video transmission system and method for controlling buffers in transmitter and receiver

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023296A (en) 1997-07-10 2000-02-08 Sarnoff Corporation Apparatus and method for object based rate control in a coding system
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
US6782132B1 (en) 1998-08-12 2004-08-24 Pixonics, Inc. Video coding and reconstruction apparatus and methods
US7218610B2 (en) * 2001-09-27 2007-05-15 Eg Technology, Inc. Communication system and techniques for transmission from source to destination
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
JPWO2005125259A1 (ja) * 2004-06-17 2008-04-17 株式会社エヌ・ティ・ティ・ドコモ 伝送速度制御方法、送信電力制御方法、送信電力比制御方法、移動通信システム、移動局及び無線基地局
US7508990B2 (en) 2004-07-30 2009-03-24 Euclid Discoveries, Llc Apparatus and method for processing video data
KR100686635B1 (ko) * 2004-11-24 2007-02-23 한국전자통신연구원 버퍼 용량을 고려한 비디오 데이터 전송 방법
JP4643330B2 (ja) 2005-03-28 2011-03-02 ソニー株式会社 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム
US7830794B2 (en) * 2006-03-29 2010-11-09 Intel Corporation Method and apparatus for improved isochronous data delivery over non-isochronous communication fabric

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1262021A (zh) * 1997-04-18 2000-08-02 艾利森电话股份有限公司 可变比特率数据源的资源估价
CN1436428A (zh) * 2000-04-19 2003-08-13 通用仪器公司 恒定速率信道可变位速率视频节目的速率控制与缓存保护
CN1557072A (zh) * 2001-09-21 2004-12-22 ���˹���Ѷ��� 使用缓冲器大小计算用于拥塞控制的传输速率的数据通信方法和系统
CN1764973A (zh) * 2003-04-02 2006-04-26 汤姆森许可贸易公司 用于缓冲从存储介质中所读取数据的方法
US20060095942A1 (en) * 2004-10-30 2006-05-04 Van Beek Petrus J Wireless video transmission system
CN1787422A (zh) * 2004-12-10 2006-06-14 微软公司 用于控制流媒体数据的编码比特率的系统和过程
US20080117930A1 (en) * 2005-07-20 2008-05-22 Jacob Chakareski System and method for the control of the transmission rate in packet-based digital communications
US20080271069A1 (en) * 2005-09-29 2008-10-30 Hanaromedia Co., Ltd. System and Method for the Provision of Advertisement Coupled to Treatment of Video on Demand Through Set Top Box
CN101414957A (zh) * 2007-10-17 2009-04-22 北京中电华大电子设计有限责任公司 一种用于无线局域网的缓冲队列管理方法
US20090185625A1 (en) * 2008-01-17 2009-07-23 Samsung Electronics Co., Ltd. Transmitter and receiver of video transmission system and method for controlling buffers in transmitter and receiver

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NICIKA BALDOL,ETC.: "RTPC FEEDBACK TRANSMISSION RATE CONTROL FOR 3G WIRELESS MULTIMEDIA STREAMING", 《PIMRC 2004 15TH IEEE INTERNATIONAL SYMPOSIUM》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104350741A (zh) * 2012-06-29 2015-02-11 国际商业机器公司 用于传送的视频的递增准备

Also Published As

Publication number Publication date
WO2011025502A1 (en) 2011-03-03
EP2474160A4 (en) 2013-08-21
EP2474160A1 (en) 2012-07-11
US8634300B2 (en) 2014-01-21
US20120120254A1 (en) 2012-05-17

Similar Documents

Publication Publication Date Title
CN102484695A (zh) 减少视频数据的通信延迟
CA2842098C (en) A system and method for transmission of data signals over a wireless network
US8259570B2 (en) Systems and methods for controlling packet transmission from a transmitter to a receiver via a channel that employs packet queuing when overloaded
KR101503073B1 (ko) 멀티플렉싱 및 대역폭 제어 기능을 갖는 신뢰가능한 이벤트브로드캐스터
EP3637848B1 (en) Device and method for characterization and optimization of multiple simultaneous real-time data connections
US8588093B2 (en) Streaming communication device, streaming communication method, and streaming communication system
US20080107173A1 (en) Multi-stream pro-active rate adaptation for robust video transmission
US9307298B2 (en) System and method for video statistical multiplexing adapting to internet protocol networks
CN101218807B (zh) 用于估计实时内容分发的客户端的输入缓冲器的填充率的设备及方法
US20080084821A1 (en) Method and devices for adapting the transmission rate of a data stream when there is interference
WO2009139983A4 (en) Statistical multiplexing of compressed video streams
CN103828324A (zh) 用于分组网络上的流媒体的按需自适应比特率管理
US20160142317A1 (en) Management of an over-subscribed shared buffer
US7764717B1 (en) Rapid datarate estimation for a data stream multiplexer
US20160337091A1 (en) Method and device for retransmitting packet of mmt service, and retransmission request method and device
CN102318312A (zh) 控制带宽共享
US7684336B2 (en) Real-time video packet monitoring and processing for enhanced quality of service
EP3560152B1 (en) Determining the bandwidth of a communication link
US8315164B2 (en) Controlling packet transmission
JP4761078B2 (ja) マルチキャストノード装置とマルチキャスト転送方法ならびにプログラム
US20160127944A1 (en) Adaptive quality of service for wide area network transport
CN113612649B (zh) 往返估计
CN113489745B (zh) 视频数据发送方法、装置、设备和存储介质
CN115883872A (zh) 视频流调度方法、装置、设备及计算机可读存储介质
CN113162869A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120530