CN103828324B - 用于自适应比特率管理的方法、设备和系统 - Google Patents

用于自适应比特率管理的方法、设备和系统 Download PDF

Info

Publication number
CN103828324B
CN103828324B CN201280038961.0A CN201280038961A CN103828324B CN 103828324 B CN103828324 B CN 103828324B CN 201280038961 A CN201280038961 A CN 201280038961A CN 103828324 B CN103828324 B CN 103828324B
Authority
CN
China
Prior art keywords
media
data path
network
data
congestion
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
CN201280038961.0A
Other languages
English (en)
Other versions
CN103828324A (zh
Inventor
A.彭纳
F.库普曼斯
R.基德
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.)
Beite Mobile Network Innovation Co ltd
Original Assignee
Citrix Systems Inc
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 Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN103828324A publication Critical patent/CN103828324A/zh
Application granted granted Critical
Publication of CN103828324B publication Critical patent/CN103828324B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/11Identifying congestion
    • 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/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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/752Media network packet handling adapting media to network capabilities
    • 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/765Media network packet handling intermediate
    • 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • H04N21/6379Control signals issued by the client directed to the server or network components directed to server directed to encoder, e.g. for requesting a lower encoding rate

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)

Abstract

一种用于获取要通过媒体网络被传送到终端的媒体数据并从该终端接收接收机报告以及使用来自接收机报告的信息估计网络状况的系统和方法。根据媒体网络是否拥塞来确定数据路径,其中,如果媒体网络是拥塞的,则数据路径是压缩数据路径,或者如果媒体网络是不拥塞的,则数据路径是直通数据路径;并且通过所确定的数据路径来提供媒体数据。

Description

用于自适应比特率管理的方法、设备和系统
相关申请的交叉引用
本申请要求通过引用结合到本文中的2011年6月10日提交的美国临时申请No.61/495,949“On-demand Adaptive Bitrate Management for Streaming Media over PacketNetworks”的权益。
技术领域
本发明涉及用于自适应比特率管理的方法、设备和系统。
背景技术
对于分组网络上的流媒体而言,速率控制是必需的。在通过容量受限的共享链路(比如通过蜂窝网络)来输送类似于多媒体这样的带宽密集型内容方面的挑战是通过用比特率(bitrate)管理器来调整比特率和媒体编码方案而对网络状况(condition)的变化进行快速响应以优化用户的观看和收听体验。特别地,当通过不能提供必要吞吐量的连接来传输媒体流时,会出现一些不期望效果。例如,网络缓冲器可溢出(overflow),导致引起乱码(garbled)视频或音频重放(playback)的分组丢失,或者媒体播放器缓冲器可下溢(underflow),导致重放停顿(stall)。因此,常常将媒体压缩以适应减小的连接带宽。
传统比特率管理器改变每个视频帧,以使得编码过程的输出适合于可用于传输的带宽。在此类系统中,由“压缩”数据路径来处理所有媒体帧。由于视频编码的有状态(stateful)性质而需要压缩数据路径。也就是说,为了将输出帧编码,无论比特率如何,编码器需要与正被使用的编解码器(codec)算法相对应的处理状态的活(live)历史。该方法存在的问题是需要连续处理视频(解码、再编码),即使不存在网络退化。
发明内容
根据本发明的一种用于自适应比特率管理的方法,包括:在服务器处获取要通过媒体网络被传送到终端的媒体数据;从所述终端接收接收机报告;根据接收机报告来估计网络拥塞水平;根据指示媒体网络是否拥塞的所估计水平来在存在的压缩数据路径与存在的直通数据路径之间确定所述服务器中的数据路径,其中,如果媒体网络是拥塞的,则数据路径是压缩数据路径,如果媒体网络是不拥塞的,则数据路径是直通数据路径;以及通过所述服务器中的所确定的数据路径来提供媒体数据,其中,所述压缩数据路径包括编码器装置,以及所述直通数据路径绕过所述压缩数据路径的所述编码器装置。
根据所述的方法的改进,媒体数据包括关键帧,并且从该关键帧开始通过所确定的路径来提供媒体数据。所述的方法还包括:根据接收机报告来确定网络状态估计量。所述网络状态估计量是以下各项中之一:媒体渡越时间;接收到的比特率;往返时间估计;以及分组丢失计数。估计网络拥塞水平包括:将网络状态估计量与状态阈值进行比较。所述状态阈值由服务器自动确定。
根据本发明的一种用于自适应比特率管理的设备,所述设备包括:用于在服务器处获取要通过媒体网络被传送到终端的媒体数据的装置;用于从所述终端接收接收机报告的装置;用于根据接收机报告来估计网络拥塞水平的装置;用于根据指示媒体网络是否拥塞的所估计水平来在存在的压缩数据路径与存在的直通数据路径之间确定所述服务器中的数据路径的装置,其中,如果媒体网络是拥塞的,则数据路径是压缩数据路径,如果媒体网络是不拥塞的,则数据路径是直通数据路径;以及用于通过所述服务器中的所确定的数据路径来提供媒体数据的装置,其中,所述压缩数据路径包括编码器装置,以及所述直通数据路径绕过所述压缩数据路径的所述编码器装置。
根据所述的设备的改进,媒体数据包括关键帧,并且从该关键帧开始通过所确定的路径来提供媒体数据。所述的设备还包括用于根据接收机报告来确定网络状态估计量的装置。所述网络状态估计量是以下各项中之一:媒体渡越时间;接收到的比特率;往返时间估计;以及分组丢失计数。用于估计网络拥塞的装置包括:用于将网络状态估计量与状态阈值进行比较的装置。所述状态阈值由服务器自动确定。
根据本发明的一种用于自适应比特率管理的系统,包括:具有存储器和一个或多个处理器的自适应比特率管理器,被配置成:在服务器处获取要通过媒体网络被传送到具有媒体播放器的终端的媒体数据;从所述终端接收接收机报告;根据接收机报告来估计网络拥塞水平;根据指示媒体网络是否拥塞的所估计水平来在压缩数据路径与直通数据路径之间确定所述服务器中的数据路径,其中,如果媒体网络是拥塞的,则数据路径是压缩数据路径,如果媒体网络是不拥塞的,则数据路径是直通数据路径;以及通过所述服务器中的所确定的数据路径来提供媒体数据,其中,所述压缩数据路径包括编码器装置,以及所述直通数据路径绕过所述压缩数据路径的所述编码器装置。
根据所述的系统的改进,媒体数据包括关键帧,并且从该关键帧开始通过所确定的路径来提供媒体数据。所述一个或多个处理器还被配置成:根据接收机报告来确定网络状态估计量。所述网络状态估计量是以下各项中之一:媒体渡越时间;接收到的比特率;往返时间估计;以及分组丢失计数。所述一个或多个处理器被配置成:将网络状态估计量与状态阈值进行比较以估计网络拥塞。所述一个或多个处理器被配置成:自动确定状态阈值。
附图说明
图1是示例性系统的框图。
图2是例示图1的示例性系统的实施例的框图。
图3是例示图2的示例性系统中的示例性通信流的功能图。
图4A例示指示其中将帧序列中的媒体数据从直通(pass-through)数据路径切换至压缩数据路径的示例性帧序列。
图4B例示指示其中将帧序列中的媒体数据从压缩数据路径切换至直通数据路径的示例性帧序列。
图5是表示用于选择对于媒体数据的数据路径的示例性方法的流程图。
具体实施方式
现在将对示例性实施例进行详细参考,并在附图中例示其示例。在尽可能的情况下,贯穿附图将使用相同的附图标记来指代相同或类似部件。
根据即时网络容量来调整流媒体会话的比特率能够是通过无线分组网络来输送流媒体所需的关键功能。自适应(adaptive)比特率管理是使得能够向终端的媒体播放器输送自调整(self-adjusting)流或伪流会话到的综合框架和方法。自适应比特率管理特别包括自适应比特率控制器,其主动监视自适应比特率管理器与终端之间的当前网络拥塞水平。如果网络是拥塞的,则自适应比特率管理器使用压缩数据路径来处理数据。经由压缩数据路径切换的媒体数据的比特率被降低至用以当在移动设备的媒体播放器上播放媒体时避免停顿的水平。
另外,如果网络是不拥塞的,则自适应比特率管理器经由直通数据路径来切换媒体数据。经由直通数据路径切换的媒体数据未被压缩,由此相对于经由压缩数据路径切换的数据而言要求系统资源的最小限度的使用。直通数据路径还因为其不在媒体流中产生任何知觉伪像(perceptual artifact)而是有利的。
能够将自适应比特率管理应用于能够被用于媒体传输并提供传输进度报告机制的所有媒体传输(或协议套(protocol suite))。传输进度报告能够作为整体被应用于多媒体会话或单独的多媒体流(音频、视频、文本等)。自适应比特率管理器能够包括这样的能力:向发送者提供将媒体时间信息映射到由接收器接收到的字节的方式,如在RTCP的情况下明示的那样或者如在通过ACK分组的TCP情况下暗示的那样。
图1是示例性系统的框图。示例性系统100能够是通过网络传送数据分组的任何类型的系统。例如,示例性系统能够包括通过因特网访问来自内容服务器的流媒体数据的移动终端。示例性系统能够特别包括终端102、网关104、一个或多个网络106和110、自适应比特率管理器108以及一个或多个内容服务器112-114。
终端102是硬件部件,其包括允许终端102传送和接收与流媒体相对应的分组的软件应用。终端102提供显示器和一个或多个软件应用,诸如媒体播放器,以便向终端102的用户显示流媒体。此外,终端102具有从因特网请求和接收诸如流媒体的数据分组之类的数据分组的能力。例如,终端102能够用向内容服务器112-114发送请求数据以用于根据网页的URL获取其特定文件或对象数据,并且网页的内容服务器能够查询数据库中的对象数据并将相应的响应数据发送到终端102。在一些实施例中,可通过自适应比特率管理器108来路由响应数据。
尽管终端102能够是有线终端,但一些实施例可优选使用移动终端,因为移动终端更可能在将更多地受益于自适应比特率管理器的网络中。该网络连接与有线网络连接相比趋向于不那么稳定,这是因为比如移动终端的位置变化,在其中移动终端与网络之间的数据速率传输能够波动,且一些情况下这种波动相当剧烈。
网关104是将在一类型的网络中提供的格式化数据转换成另一类型的网络所需的特定格式的设备。网关104例如可以是服务器、路由器、防火墙服务器、主机或代理服务器。网关104具有这样的能力:将从终端102接收到的信号变换成网络106能够理解的信号,且反之亦然。网关104可以能够处理音频、视频以及T.120单独或以任何组合形式的传输,并且能够全双工媒体转换(translation)。
网络106和110能够包括广域网(WAN)、局域网(LAN)或适合于诸如因特网通信这样的分组型通信的无线网络的任何组合。此外,网络106和110能够包括用于在将分组传送到其预定目的地之前存储该分组的缓冲器。
自适应比特率管理器108是提供网关104与内容服务器112-114之间的通信的服务器。自适应比特率管理器108能够通过根据自适应比特率管理器108与终端102之间的连接,即媒体网络,来调整流媒体比特率,从而优化性能。自适应比特率管理器108包括压缩路径和直通路径两者。当网络106拥塞时,使用压缩路径。自适应比特率管理器108如何确定网络106是否拥塞在以下会详细论述。否则,直通数据路径被用来在不压缩的情况下传输接收到的媒体。在一些实施例中,被提供给直通数据路径的数据可经受无损压缩。例如,可应用无损压缩来将媒体流调整至一重放速率。以下会详细论述压缩路径和直通路径。
自适应比特率管理器108能够具有一个或多个处理器和用于存储程序指令的至少一个存储器。处理器能够是单个或多个微处理器、现场可编程门阵列(FPGA)或能够执行特定指令集的数字信号处理器(DSP)。能够将计算机可读指令存储在有形非瞬时性计算机可读介质上,诸如软盘、硬盘、CD-ROM(压缩盘-只读存储器)以及MO(磁光盘)、DVD-ROM(数字多功能盘-只读存储器)、DVD RAM(数字多功能盘-随机存取存储器)或半导体存储器。备选地,能够用硬件部件或硬件与软件的组合来实现所述方法,例如,比如ASIC、专用计算机或通用计算机。
内容服务器112-114是这样的服务器:其从终端102接收请求数据,相应地处理该请求数据并在一些实施例中通过自适应比特率管理器108向终端102返回响应数据。例如,内容服务器112-114能够是web服务器、企业服务器或任何其他类型的服务器。内容服务器112-114能够是负责从终端102接受请求(例如,HTTP、RTSP或能够发起媒体会话的其他协议)并用流媒体来服务终端102的计算机或计算机程序。
图2是例示图1的示例性系统的实施例的框图。终端102可特别包括媒体播放器202和缓冲器204。自适应比特率管理器108能够特别地包括自适应比特率控制器206、缓冲器208、压缩数据路径210、媒体分组化(packetization)模块212、直通数据路径214以及媒体去分组化(de-packetization)模块216。
媒体播放器202是用于播放包括视频和/或音频媒体文件的多媒体文件(诸如流媒体)的计算机软件。媒体播放器202的此类流行示例能够包括Microsoft Windows媒体播放器、Apple Quicktime播放器、RealOne播放器以及用于web嵌入式视频的Adobe Flash插件。在一些实施例中,媒体播放器202使用编解码器将流视频或音频解压缩并将其在终端102的显示器上重放。能够将媒体播放器202用作独立应用或嵌入网页中以创建与HTML内容相交互的视频应用。此外,媒体播放器202能够以媒体接收器报告的形式向自适应比特率管理器108提供关于媒体接收的反馈。媒体接收器报告能够包括关于用于RTP流会话的RTCP分组的信息以及关于用于伪流会话的TCPACK的信息。
缓冲器204(也称为终端缓冲器204)是在将多媒体分组提供给媒体播放器202之前临时存储该多媒体分组的软件程序和/或硬件设备。在一些实施例中,缓冲器204经由网络106从自适应比特率管理器108接收多媒体分组。在一些实施例中,缓冲器204从除自适应比特率管理器108之外的设备接收多媒体分组。在接收多媒体分组(或者媒体剪辑(mediaclip)的部分,如果是伪流的话)之后,缓冲器204能够将存储的多媒体分组提供给媒体播放器202。尽管图2例示终端缓冲器204和媒体播放器202是分立部件,但本领域技术人员将领会到终端缓冲器204能够是媒体播放器202的一部分。此外,尽管图2仅例示单个缓冲器,但本领域技术人员将领会到能够存在多个缓冲器,例如用于音频媒体分组的一个或多个缓冲器和用于视频媒体分组的一个或多个缓冲器。
直通数据路径214是将媒体去分组化模块216耦合到媒体分组化模块212的传输通道。被切换到直通数据路径214的媒体数据在不经受任何压缩的情况下被直接传递至媒体分组化模块212。可将媒体数据从媒体分组化模块212切换到直通数据路径214。在一些实施例中,可将媒体数据从高速缓存器(未示出)切换到直通数据路径214。
另外,在未示出的一些实施例中,当未检测到网络拥塞时,可将媒体数据直接从缓冲器208传输至直通数据路径214,并且然后传送到终端102。在本实施例中,当不存在网络拥塞时,可将自适应比特率管理器108配置成使媒体数据绕过(bypass)媒体去分组化模块216和媒体分组化模块212。但是一旦检测到网络拥塞,就可将自适应比特率管理器108配置成通过媒体去分组化模块216和媒体分组化模块212来提供媒体数据。
压缩数据路径210包括音频解码器218、视频解码器220以及可变比特率编码器222。当媒体数据的比特率高于网络106的可用带宽时,选择压缩数据路径210。压缩数据路径210改变媒体数据的比特率,以使得其与由自适应比特率控制器206提供的最佳会话比特率匹配。压缩数据路径210被配置成将媒体数据以最佳会话比特率提供给媒体分组化模块212。可将媒体数据从媒体去分组化模块216切换到压缩数据路径210。另外,在一些实施例中,可将媒体数据从高速缓存器(未示出)切换至压缩数据路径210。
自适应比特率控制器206是从终端102周期性地接收诸如RTCP接收器报告或TCPACK之类的媒体接收器报告的软件程序和/或硬件设备。自适应比特率控制器206被配置成控制是经由直通数据路径214还是压缩数据路径210来切换数据。在自适应比特率控制器206进行路径确定之后,其被配置成指令媒体去分组化模块216将媒体数据切换至适当的数据路径。如下面详细地论述的,自适应比特率控制器206被配置成计算可在路径确定过程中使用的一个或多个网络状态估计量(estimator)。
自适应比特率控制器206被配置成提供要在下一时段期间用于对待发送给终端102的多媒体数据进行编码的最佳会话比特率。如果自适应比特率控制器206确定应经由压缩数据路径210来切换媒体数据,则将自适应比特率控制器206配置成提供最佳会话比特率和编码参数以供在压缩数据路径210中使用。在一些实施例中,自适应比特率控制器206包括用于存储当前和先前媒体接收器报告的缓冲器。为了计算最佳会话比特率,自适应比特率控制器206使用一个或多个网络状态估计量以便估计流媒体网络的状态并计算要在下一报告间隔中使用的最佳会话比特率。例如,这些网络状态估计量能够估计媒体渡越时间(time intransit:MTT)、在终端102处接收到的比特率、往返时间估计(RTTE)以及分组丢失计数。自适应比特率控制器206能够使用估计量的历史和统计来实现不同的控制算法以计算最佳会话比特率。
网络状态估计量能够提供用于估计在任何时间点网络有多拥塞的信息。如下面参考图3所论述的,网络状态估计量可被自适应比特率控制器206用来确定是应经由压缩数据路径210还是直通数据路径214来切换媒体数据。能够使用用于感测网络拥塞的其他方法来判定何时在这些数据路径之间进行切换。在一些实施例中,还可将自适应比特率控制器206配置成在确定将选择哪个数据路径时考虑网络估计量随时间推移的变化。
缓冲器208是在将媒体数据提供给媒体去分组化模块216之前临时存储该媒体数据的软件程序和/或硬件设备。在一些实施例中,缓冲器208经由网络110从一个或多个内容服务器112-114接收媒体数据。在一些实施例中,缓冲器208从除内容服务器112-114之外的设备接收媒体数据。在一些实施例中,缓冲器208能够包括多路分配器(未示出)以在将媒体中继到可变比特率编码器222之前分离音频和视频轨道(track)。
多媒体去分组化模块216是从缓冲器208接收媒体数据的软件程序和/或硬件设备。媒体去分组化模块216被配置成将与以分组形式被接收到的媒体数据相关联的分组以适当顺序聚合。媒体去分组化模块216被配置成根据从自适应比特率控制器206接收到的控制指令将媒体数据输出到压缩数据路径210或直通数据路径214。在一些实施例中,媒体去分组化模块216被配置成监视媒体数据的帧类型。并且接收将媒体数据切换至不同的数据路径的命令之后,在关键帧(例如,帧内编码帧(Intra Frame))自动切换媒体数据,如以下详细论述的那样。
可变比特率编码器222是从自适应比特率控制器206接收最佳会话比特率数据、编码参数或两者并向媒体分组化模块212提供被以与由自适应比特率控制器206提供的最佳会话比特率相匹配的比特率进行编码的音频和/或视频数据的软件程序和/或硬件设备。可变比特率编码器能够特别地包括比特率分离器(splitter)224、音频编码器226、视频编码8以及对于一些实施例而言还包括帧丢弃器(dropper)230。
比特率分离器224是从自适应比特率控制器206接收最佳会话比特率数据并分配当在下一间隔期间对音频和视频媒体数据进行编码时要被使用的最佳比特率的软件程序和/或硬件设备。该分配使得用于所有轨道的比特率的总和在被组合时能够基本上等于由自适应比特率控制器206所指定的最佳会话比特率。例如,该分配可基于预定分配、用户偏好、最佳性能数据、相比于另一数据类型而言为一数据类型赋予特权(privileging)、要提供的音频和视频数据的量和/或上述各项的任何组合。例如,比特率分离器224可以如下方式对音频质量赋予特权:如果指定了减小的比特率,则比特率分离器224能够首先减小视频比特率并尽可能多地推迟减小音频比特率。
音频编码器226和视频编码器228是能够从比特率分离器224(或直接地从自适应比特率控制器206)接收其各自的比特率分配并提供被编码成在下一报告间隔与其各自的比特率分配的比特率相匹配的输出(outgoing)媒体数据的软件程序和/或硬件设备。音频编码器226和视频编码器228都能够从缓冲器208接收其各自的媒体数据并根据来自比特率分离器224的其各自比特率分配来输出该媒体数据。在已针对音频和视频两者确定比特率之后,每个编码器的责任是在相应的媒体轨道中输送最大质量。例如,音频编码器226能够通过调整谱量化和截止频率来产生可变比特率。此外,视频编码器228能够例如通过调整离散余弦变换(DCT)系数量化或通过引入帧丢弃来产生可变比特率。在必要时,能够由帧丢弃器230来执行该帧丢弃。
帧丢弃器230是能够在确定期望比特率小于质量阈值之后被触发的软件程序和/或硬件设备。该阈值能够是编解码器相关的,并且表示在其以下较粗量化的使用会导致图像中的不可容忍伪像的比特率值。帧丢弃器230能够基于期望视频比特率和正在由视频编码器228产生的比特率来动态地确定帧丢弃率。为了补偿编码器输出端处的视频比特率的固有比特率波动,帧丢弃器230能够通过使用覆盖最近编码帧的字节大小历史的滑动窗口来动态地更新丢弃率。
媒体分组化模块212是从压缩数据路径210或直通数据路径214接收媒体数据并将此数据转换成分组格式以输送流会话的软件程序和/或硬件设备。媒体分组化模块212能够为将通过单独网络信道来传输的视频和音频数据创建单独的分组,或者在单个媒体流中将音频和视频组合。除载送音频和媒体数据之外,媒体分组还能够特别地包括用于标识内容类型的有效载荷型标识符、分组序列号、用于允许同步化和抖动(jitter)计算的时间戳以及输送监视数据。此类数据稍后能够在自适应比特率控制器206从终端102接收相应的媒体接收器报告时帮助自适应比特率控制器206确定由网络提供的服务质量。当将此媒体数据转换成分组格式时,媒体分组化216通过网络106的网络缓冲器232将媒体数据传送到终端102的终端缓冲器204。另外,自适应比特率管理器108将已发送媒体分组的历史保存在音频和视频轨道中。该历史数据能够特别地包括每个分组被发送的时间、序列号以及每个媒体分组的大小。
图3是例示图2的系统中的示例性通信流的功能图。出于解释该示例性实施例的目的,假设终端102已接收到所请求媒体数据分组的媒体数据中的至少一些。此外,假设媒体数据分组包括音频和视频媒体数据两者。在接收分组之后,媒体播放器202向自适应比特率管理器108传送(305)媒体接收器报告。
媒体接收器报告能够是例如RTCP接收器报告或者在伪流的情况下是TCP ACK。RTCP是用于提供对于RTP流的质量控制信息的协议,诸如由自适应比特率管理器108的媒体分组化216提供的传输。更具体地,RTCP能够在多媒体数据的输送和封装方面与自适应比特率管理器108的媒体分组化模块212合作。在一些实施例中,媒体播放器202周期性地传送RTCP接收器报告。RTCP接收器报告能够提供关于正在由媒体分组化216提供的服务质量的反馈。
用于因特网上的流媒体的最广泛使用的方法是由传输控制协议(TCP)载送的基于HTTP的伪流。TCP实现其自己的一般(非媒体特定)分组化协议。TCP在内部使用ACK来提供关于接收到的TCP分组的反馈并因此提供传输流控制。在伪流的情况下,使用TPCACK分组来更新先前所述的关键网络估计量。
尽管使用TCP和RTP/RTCP作为示例性实施例来解释自适应比特率控制方法,但本领域技术人员会领会到这种自适应比特率控制方法可应用于实现具有排序和定时信息的媒体传输和具有关于接收到的分组的信息(覆盖排序、定时、丢失率等)的媒体传输反馈的功能的任何协议。
此外,在一些流实施例中,媒体接收器报告能够是具有音频和视频报告数据两者的单个报告(当将音频和视频复用成单个流时),或者能够被分离成多个报告(例如,诸如在其中RTP在单独的流中载送音频和视频的RTCP情况下),例如,诸如用于音频报告数据的接收器报告和用于视频报告数据的另一接收器报告。媒体接收器报告数据能够特别地包括关于终端102处最近接收到的媒体分组的序列号的数据、在媒体接收器报告中报告的由终端102接收的最后分组的时间戳、从该报告发送的比特数、往返时间以及丢失分组的数目。
在接收一个或多个接收器报告之后,自适应比特率控制器206能够估计网络的状态以便确定是否在下一时段内更新会话比特率。自适应比特率控制器206能够将新接收的接收器报告保存在累积历史中并记录一个或多个分组被接收的时间。为了估计网络的状态,自适应比特率控制器206能够将来自接收到的媒体接收器报告的数据、由自适应比特率管理器108存储的先前接收到的接收器报告以及由自适应比特率管理器108存储的已发送媒体分组的历史进行组合。自适应比特率控制器206能够通过使用网络状态估计量针对流和伪流会话两者估计以下示例性数据:
·媒体渡越时间(MTT),被计算为最近被发送媒体分组的时间戳与由在接收器报告中报告的播放器接收到的最后媒体分组的时间戳之间的差。对于伪流会话,自适应比特率管理器108执行附加步骤以计算MTT。例如,自适应比特率管理器108保持发送到播放器的媒体剪辑中的序列号和时间戳的表格。当接收到ACK时,自适应比特率管理器108能够检索对应于ACK中的字节序列号的时间戳。使用该时间戳,自适应比特率管理器能够计算MTT;
·接收到的比特率(“BRR”),被计算为:在当前和先前接收到的接收器报告之间接收到的比特,除以在这两个接收器报告之间经历的时间。通过对接收器报告中的序列号和存储于自适应比特率管理器108处的已发送字节的历史进行交叉参考来计算在接收器报告之间接收到的比特;
·往返时间估计(“RTTE”),其能够通过对存储于自适应比特率管理器108处的多个较低MTT值求平均来获得。例如,可以通过对用于该流媒体网络的所有存储MTT值之中最低的3个MTT值求平均来计算RTTE。此外,自适应比特率管理器108能够根据RTCP发送者报告内的数据来计算RTTE。尽管例示了这些示例性实施例,但能够使用任何方法来估计对于流媒体网络的往返时间;
·分组丢失计数(“PLC”),直接从媒体接收器报告捕捉。
自适应比特率控制器206能够使用这些一个或多个网络状态估计量来确定用于下一间隔的所估计的网络拥塞水平和会话比特率。如果网络具有可忽略或低水平的网络拥塞,则将自适应比特率控制器206配置成指令媒体去分组化模块216经由直通数据路径214来切换媒体数据。同样地,如果网络是拥塞的,则将自适应比特率控制器206配置成指令去分组化模块经由压缩数据路径210来切换媒体数据。
自适应比特率控制器206被配置成允许从下一关键帧开始在压缩数据路径210与直通数据路径214之间切换媒体数据,或者反之亦然。关键帧是在该处将解码器或编码器的状态重置的特定类型的媒体帧。该关键帧(帧内编码帧)是存储全图像的媒体帧。数据流中的其他帧可包括例如预测帧。预测帧存储从一个帧到下一个发生的变化,因此大大地减少所存储的信息量。
在非关键帧(例如,预测帧)处将媒体数据切换至不同的数据路径可导致媒体数据的破坏。因此,自适应比特率控制器206被配置成监视原始媒体数据流(例如,从内容服务器112-114到达的)的帧类型。
备选地,媒体去分组化模块216或一些其他模块被配置成监视原始媒体流的帧类型。在接收到将媒体数据切换至不同数据路径的命令之后,媒体去分组化模块216在下一关键帧处自动地切换媒体数据。
图4A例示指示其中将媒体数据从直通数据路径214切换至压缩数据路径210的示例性帧序列。帧序列示出关键帧I1及其相关联的预测帧P2-P7以及关键帧I8及其相关联的预测帧P9-P14。自适应比特率控制器206在P4处检测到网络拥塞,然而,由于下一帧不是关键帧,所以直至I8之前不会经由压缩数据路径210来切换媒体数据。同样地,图4B例示指示其中将媒体数据从压缩数据路径210切换至直通数据路径214的示例性帧序列。自适应比特率控制器206在P4处检测到网络拥塞已清除,然而,由于下一帧不是关键帧,所以直至I8之前不会经由直通数据路径214来切换媒体数据。
返回参考图3,自适应比特率控制器206通过将一个或多个网络状态估计量与相应的状态阈值相比较来估计网络拥塞以及因此媒体路径选择。该状态阈值值间接地确定自适应比特率控制器206何时指令媒体去分组化模块(310)经由压缩数据路径210来切换媒体(315)或经由直通数据路径214来切换数据(320)。可由管理员来设定状态阈值的值。在一些实施例中,可由自适应比特率控制器206来自动地确定状态阈值的值。当与其相应的网络状态阈值相比较时,每个网络状态估计量都可用来确定经由哪个数据路径来切换媒体数据。例如,可将MTT与MTT状态阈值相比较,并且如果MTT在MTT状态阈值以下,则可将自适应比特率控制器206配置成指令媒体去分组化模块216从下一关键帧开始经由直通数据路径214来切换要被传送到终端102的媒体数据。如果MTT在MTT状态阈值以上,则可将自适应比特率控制器206配置成指令媒体去分组化模块216从下一关键帧开始经由压缩数据路径210来切换媒体数据。类似地,RTTE、PLC以及BRR网络状态估计量具有各自的RTTE、BRR以及PLC状态阈值,其可用来确定是经由压缩数据路径210还是经由直通数据路径214来切换媒体。
在一些实施例中,自适应比特率控制器206在确定网络拥塞时考虑网络状态估计量如何随时间而变。例如,能够将自适应比特率控制器206配置成:如果MTT值已随时间推移而减小,则指令去分组化模块221将媒体数据从下一关键帧开始切换至直通数据路径214。类似地,能够将自适应比特率控制器206配置成:如果MTT值已随时间推移而增加,则指令去分组化模块221将媒体数据从下一关键帧开始切换至压缩数据路径226。
在一些实施例中,自适应比特率控制器206基于一个或多个网络状态估计量随时间推移的变化和一个或多个网络状态阈值而指令媒体去分组化模块216。例如,能够将自适应比特率控制器206配置成:如果MTT值已随时间推移而减小且MTT值在MTT状态阈值以下,则指令去分组化模块221从下一关键帧开始将媒体数据切换至直通数据路径214。类似地,能够将自适应比特率控制器206配置成:如果MTT值已随时间推移而增加且MTT值在MTT状态阈值以上,则指令去分组化模块221将媒体数据从下一关键帧开始切换至压缩数据路径226。
在一些实施例中,自适应比特率控制器206可在压缩数据路径210与直通数据路径214之间进行选择,无论媒体去分组化模块216从哪里接收媒体数据。例如,媒体去分组化模块216能够直接从诸如内容服务器112-114之类的HTTP服务器接收媒体。备选地,媒体去分组化模块216能够从高速缓存器读取媒体数据,其中,正被接收的媒体数据已被外部过程压缩。在这种情况下,可将自适应比特率管理器108配置成在最小的资源利用情况下经由直通数据路径214将已压缩媒体数据输送至媒体播放器。如果网络状况退化,则自适应比特率控制器206能够在适当的时间切换至压缩数据路径210以进一步降低媒体比特率并避免重放停顿。因此,可根据需要使用用来压缩视频的资源来抵消退化的网络状况。
当通过压缩数据路径210来切换数据时,可使用在例如美国专利No.7,991,904、美国专利申请公开No.2011/0283012、美国专利No.7,987,285或美国专利申请公开No.2011/0283015中描述的方法对媒体数据进行编码,上述专利文献全部通过引用而被结合入本文。然后将已编码数据传递(325)至媒体分组化模块212,其将已编码数据转换成分组格式以输送流会话(330)。
在经由直通数据路径214来切换媒体数据之后,在没有任何压缩的情况下将媒体数据直接传递至媒体分组化模块212(335)。媒体分组化模块212将媒体数据转换成分组格式以输送流会话(330)。
另外,在未示出的一些实施例中,当未检测到网络拥塞时,自适应比特率管理器可将媒体数据从缓冲器208传输至直通数据路径214,并且然后将该媒体数据传送到终端102。因此,当不存在网络拥塞时,媒体数据绕过媒体去分组化模块216和媒体分组化模块212。但是一旦检测到网络拥塞,自适应比特率管理器就被配置成通过媒体去分组化模块216和媒体分组化模块212来提供媒体数据。
图5是表示用于选择对于媒体数据的数据路径的示例性方法的流程图。参考图5,本领域技术人员将很容易领会到能够改变所示的规程以删除步骤或进一步包括附加步骤。针对本示例性方法假设接收器报告包括关于音频和视频媒体数据两者的数据。如果是伪流会话,则处理TCP ACK以获得关于媒体传输进度的信息。当两个类型都存在时,本领域技术人员将领会到接收器报告数据能够包括音频或视频数据。在初始开始步骤之后,自适应比特率管理器(例如,自适应比特率管理器108)获取(510)接收器报告数据,其能够包括一个或多个接收器报告。该接收器报告数据能够与在终端的媒体播放器处接收到的音频和视频媒体分组的质量和数量相关。接收器报告数据能够特别地包括由终端接收到的最后分组的序列号、对应于此类分组的时间戳、发送的比特数、往返时间以及在从自适应比特率管理器到终端的传输期间丢失的分组数目。能够通过从终端接收媒体接收器报告并通过使最后接收的媒体接收器报告的内容与存储于自适应比特率管理器处的媒体分组的历史互相关来获取接收器报告数据。
尽管RTP和RTCP是多媒体应用可直接访问的用户级协议,但TCP通常是以应用可不具有其内部状态的可见性的方式在内核空间(kernel space)中实现。为了克服这一点,能够实现简单内核级代理以生成应用级接收器报告并当在内核空间中接收到ACK分组时将其发送到自适应比特率管理器。
在获取接收器报告数据之后,自适应比特率管理器确定一个或多个网络状态估计量(520)。在一些实施例中,为了确定一个或多个网络状态估计量,自适应比特率管理器能够将来自从步骤505接收到的接收器报告数据的数据和由自适应比特率管理器存储的先前接收到的接收器报告数据组合。所确定的一个或多个网络状态估计量能够包括MTT、BRR、RTTE、PLC或其某个组合。在伪流会话中,要求额外步骤以计算MTT。自适应比特率管理器能够保持被发送到媒体播放器的媒体剪辑中的序列号和时间戳的表格。在接收到TCPACK之后,自适应比特率管理器能够检索对应于ACK中的字节序列号的时间戳,并且然后计算MTT。
在步骤530,自适应比特率管理器估计网络是否是拥塞的。自适应比特率管理器通过将一个或多个网络状态估计量与相应的状态阈值相比较来估计网络拥塞。在一些实施例中,自适应比特率管理器还部分地基于一个或多个网络状态估计量随时间推移的变化来估计网络拥塞。
在步骤540中,自适应比特率管理器确定正确数据路径(540)。根据存在的网络拥塞的水平,自适应比特率管理器确定是应经由压缩数据路径(例如,压缩数据路径210)还是直通数据路径(例如,直通数据路径214)来提供媒体数据。如果网络是拥塞的,则自适应比特率管理器指示应经由压缩数据路径来提供媒体数据。同样地,如果网络是不拥塞的,则自适应比特率管理器指示应经由直通数据路径来提供媒体数据。
在步骤550中,自适应比特率管理器将正确数据路径与媒体数据正被传递的当前数据路径相比较。如果正确数据路径等于当前数据路径,则不需要改变数据路径。自适应比特率管理器然后继续经由当前数据路径来发送媒体直至其不再与指示的数据路径匹配或者不存在要被传送到终端的附加媒体。
如果当前数据路径不同于正确数据路径,则在步骤560中,自适应比特率管理器确定正被传送的下一帧是否是关键帧。如果该帧不是关键帧,则自适应比特率管理器继续使用当前数据路径来发送媒体数据。如果下一帧是关键帧,则在步骤580中,自适应比特率管理器将当前数据路径设置为用于下一帧的正确数据路径,并且然后从关键帧开始使用新数据路径来发送媒体数据(步骤590)。
可将本文公开的方法实现为计算机程序产品,即在诸如在机器可读存储设备或在传播信号之类的信息载体中有形地实施以便由诸如可编程处理器、计算机或多个计算机之类的数据处理装置执行或控制这些数据处理装置的操作的计算机程序。计算机程序能够以包括编译或解释语言的任何形式的编程语言来编写,并且其能够以任何形式来部署,包括作为独立程序或作为模块、部件、子例程或适合于在计算环境中使用的其他单元。计算机程序能被部署成在一个计算机上或在一个站点处或跨多个站点分布并被通信网络互连的多个计算机上被执行。
在前述说明中,已参考特定示例性实施例描述了本公开。然而将显而易见的是,可在不脱离如在随后的权利要求中阐述的本公开的更宽精神和范围的情况下做出各种修改和变化。因此本说明和附图被认为是例示性而非限制性的。根据考虑本文公开的说明和实践,本公开的其他实施例对于本领域技术人员而言可显而易见。

Claims (18)

1.一种用于自适应比特率管理的方法,包括:
在服务器处获取要通过媒体网络被传送到终端的媒体数据;
从所述终端接收接收机报告;
根据接收机报告来估计网络拥塞水平;
根据指示媒体网络是否拥塞的所估计水平来在存在的压缩数据路径与存在的直通数据路径之间确定所述服务器中的数据路径,其中,如果媒体网络是拥塞的,则数据路径是压缩数据路径,如果媒体网络是不拥塞的,则数据路径是直通数据路径;以及
通过所述服务器中的所确定的数据路径来提供媒体数据,
其中,
所述压缩数据路径包括编码器装置,以及
所述直通数据路径绕过所述压缩数据路径的所述编码器装置。
2.根据权利要求1所述的方法,其中,媒体数据包括关键帧,并且从该关键帧开始通过所确定的路径来提供媒体数据。
3.根据权利要求1所述的方法,还包括:根据接收机报告来确定网络状态估计量。
4.根据权利要求3所述的方法,其中,所述网络状态估计量是以下各项中之一:
媒体渡越时间;
接收到的比特率;
往返时间估计;以及
分组丢失计数。
5.根据权利要求3所述的方法,其中,估计网络拥塞水平包括:将网络状态估计量与状态阈值进行比较。
6.根据权利要求5所述的方法,其中,所述状态阈值由服务器自动确定。
7.一种用于自适应比特率管理的设备,所述设备包括:
用于在服务器处获取要通过媒体网络被传送到终端的媒体数据的装置;
用于从所述终端接收接收机报告的装置;
用于根据接收机报告来估计网络拥塞水平的装置;
用于根据指示媒体网络是否拥塞的所估计水平来在存在的压缩数据路径与存在的直通数据路径之间确定所述服务器中的数据路径的装置,其中,如果媒体网络是拥塞的,则数据路径是压缩数据路径,如果媒体网络是不拥塞的,则数据路径是直通数据路径;以及
用于通过所述服务器中的所确定的数据路径来提供媒体数据的装置,
其中,
所述压缩数据路径包括编码器装置,以及
所述直通数据路径绕过所述压缩数据路径的所述编码器装置。
8.根据权利要求7所述的设备,其中,媒体数据包括关键帧,并且从该关键帧开始通过所确定的路径来提供媒体数据。
9.根据权利要求7所述的设备,还包括用于根据接收机报告来确定网络状态估计量的装置。
10.根据权利要求9所述的设备,其中,所述网络状态估计量是以下各项中之一:
媒体渡越时间;
接收到的比特率;
往返时间估计;以及
分组丢失计数。
11.根据权利要求9所述的设备,其中,用于估计网络拥塞的装置包括:用于将网络状态估计量与状态阈值进行比较的装置。
12.根据权利要求11所述的设备,其中,所述状态阈值由服务器自动确定。
13.一种用于自适应比特率管理的系统,包括:
具有存储器和一个或多个处理器的自适应比特率管理器,被配置成:
在服务器处获取要通过媒体网络被传送到具有媒体播放器的终端的媒体数据;
从所述终端接收接收机报告;
根据接收机报告来估计网络拥塞水平;
根据指示媒体网络是否拥塞的所估计水平来在压缩数据路径与直通数据路径之间确定所述服务器中的数据路径,其中,如果媒体网络是拥塞的,则数据路径是压缩数据路径,如果媒体网络是不拥塞的,则数据路径是直通数据路径;以及
通过所述服务器中的所确定的数据路径来提供媒体数据,
其中,
所述压缩数据路径包括编码器装置,以及
所述直通数据路径绕过所述压缩数据路径的所述编码器装置。
14.根据权利要求13所述的系统,其中,媒体数据包括关键帧,并且从该关键帧开始通过所确定的路径来提供媒体数据。
15.根据权利要求13所述的系统,其中,所述一个或多个处理器还被配置成:根据接收机报告来确定网络状态估计量。
16.根据权利要求15所述的系统,其中,所述网络状态估计量是以下各项中之一:
媒体渡越时间;
接收到的比特率;
往返时间估计;以及
分组丢失计数。
17.根据权利要求15所述的系统,其中,所述一个或多个处理器被配置成:将网络状态估计量与状态阈值进行比较以估计网络拥塞。
18.根据权利要求17所述的系统,其中,所述一个或多个处理器被配置成:自动确定状态阈值。
CN201280038961.0A 2011-06-10 2012-06-08 用于自适应比特率管理的方法、设备和系统 Active CN103828324B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161495949P 2011-06-10 2011-06-10
US61/495949 2011-06-10
PCT/US2012/041706 WO2012170920A1 (en) 2011-06-10 2012-06-08 On-demand adaptive bitrate management for streaming media over packet networks

Publications (2)

Publication Number Publication Date
CN103828324A CN103828324A (zh) 2014-05-28
CN103828324B true CN103828324B (zh) 2017-11-28

Family

ID=46276071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280038961.0A Active CN103828324B (zh) 2011-06-10 2012-06-08 用于自适应比特率管理的方法、设备和系统

Country Status (4)

Country Link
US (1) US9473406B2 (zh)
EP (1) EP2719144B1 (zh)
CN (1) CN103828324B (zh)
WO (1) WO2012170920A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9380091B2 (en) 2012-06-12 2016-06-28 Wi-Lan Labs, Inc. Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
US9473406B2 (en) * 2011-06-10 2016-10-18 Citrix Systems, Inc. On-demand adaptive bitrate management for streaming media over packet networks
CN103024327B (zh) * 2011-09-28 2015-12-09 中磊电子(苏州)有限公司 视频录制方法及视频录制装置
US9276989B2 (en) * 2012-03-30 2016-03-01 Adobe Systems Incorporated Buffering in HTTP streaming client
US10063606B2 (en) 2012-06-12 2018-08-28 Taiwan Semiconductor Manufacturing Co., Ltd. Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
US8522130B1 (en) * 2012-07-12 2013-08-27 Chegg, Inc. Creating notes in a multilayered HTML document
US9560392B2 (en) * 2012-09-07 2017-01-31 Google Inc. Dynamic bit rate encoding
US10284908B2 (en) * 2013-02-26 2019-05-07 Comcast Cable Communications, Llc Providing multiple data transmissions
US10033658B2 (en) 2013-06-20 2018-07-24 Samsung Electronics Co., Ltd. Method and apparatus for rate adaptation in motion picture experts group media transport
US9253231B2 (en) * 2013-12-19 2016-02-02 Verizon Patent And Licensing Inc. Retrieving and caching adaptive bitrate stream segments based on network congestion
CN104065665B (zh) * 2014-07-02 2018-04-03 深圳深讯和科技有限公司 流媒体数据的处理方法和系统
CN104219229B (zh) * 2014-08-18 2018-01-12 国家电网公司 虚拟桌面数据的传输方法和装置
US9936040B2 (en) 2014-12-19 2018-04-03 Citrix Systems, Inc. Systems and methods for partial video caching
US10097379B2 (en) 2015-12-23 2018-10-09 Intel Corporation Managing communication congestion for internet of things devices
US9923821B2 (en) 2015-12-23 2018-03-20 Intel Corporation Managing communication congestion for internet of things devices
US10057150B2 (en) 2015-12-23 2018-08-21 Intel Corporation Managing communication congestion for internet of things devices
US10374964B2 (en) 2016-03-07 2019-08-06 Huawei Technologies Co., Ltd. Control channel compression upon congestion detection
CN106686358B (zh) * 2017-01-26 2019-05-03 江苏长天智远交通科技有限公司 基于rtsp协议的设备控制及通道限制方法、装置及系统
US10397286B2 (en) 2017-05-05 2019-08-27 At&T Intellectual Property I, L.P. Estimating network data streaming rate
US10382517B2 (en) 2017-06-09 2019-08-13 At&T Intellectual Property I, L.P. Estimating network data encoding rate
US10644961B2 (en) 2018-01-12 2020-05-05 Intel Corporation Self-adjusting data processing system
EP3633999A1 (en) 2018-10-05 2020-04-08 InterDigital CE Patent Holdings Method to be implemented at a device able to run one adaptive streaming session, and corresponding device
US11223667B2 (en) 2019-04-30 2022-01-11 Phantom Auto Inc. Low latency wireless communication system for teleoperated vehicle environments
US11223556B2 (en) 2019-06-04 2022-01-11 Phantom Auto Inc. Platform for redundant wireless communications optimization
US11343551B1 (en) 2019-07-23 2022-05-24 Amazon Technologies, Inc. Bandwidth estimation for video streams
US11463761B2 (en) * 2021-01-05 2022-10-04 Interwise Ltd. Method and apparatus for providing interactive applications with media content delivery services

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535485B1 (en) * 1999-10-01 2003-03-18 Telcordia Technologies, Inc. Methods and systems for an improved reliability packet network

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028088B1 (en) 1996-04-03 2006-04-11 Scientific-Atlanta, Inc. System and method for providing statistics for flexible billing in a cable environment
US20020154694A1 (en) 1997-03-21 2002-10-24 Christopher H. Birch Bit stream splicer with variable-rate output
US6434620B1 (en) 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US8055894B2 (en) 1999-11-09 2011-11-08 Google Inc. Process and streaming server for encrypting a data stream with bandwidth based variation
US7260826B2 (en) 2000-05-31 2007-08-21 Microsoft Corporation Resource allocation in multi-stream IP network for optimized quality of service
JP3699910B2 (ja) * 2000-10-31 2005-09-28 株式会社東芝 データ伝送装置、データ伝送方法及びプログラム
US20020103554A1 (en) 2001-01-29 2002-08-01 Hewlett-Packard Company Interactive audio system
US7747764B2 (en) 2001-04-20 2010-06-29 Rockwell Automation Technologies, Inc. Web access for non-TCP/IP control devices of an industrial control system
JP2002344497A (ja) * 2001-05-18 2002-11-29 Fujitsu Ltd メディアゲートウェイ装置間の接続ルート切替え制御方法及びコールエージェント装置
US6981032B2 (en) 2001-07-27 2005-12-27 International Business Machines Corporation Enhanced multicast-based web server
US20030048808A1 (en) 2001-09-12 2003-03-13 Stahl Thomas Anthony Method and apparatus for changing received streaming content channels
EP1315389A1 (en) 2001-11-16 2003-05-28 Telefonaktiebolaget Lm Ericsson Method for the determination of a receiver for location information
US7389533B2 (en) * 2002-01-28 2008-06-17 Hughes Network Systems, Llc Method and system for adaptively applying performance enhancing functions
WO2004002091A1 (en) 2002-06-21 2003-12-31 Thomson Licensing S.A. Ever-increasing quality for stored video streaming in a mobile wireless interworking environment
EP1526659A4 (en) * 2002-07-31 2010-12-01 Sharp Kk DATA COMMUNICATION DEVICE, ITS CONTINUOUS COMMUNICATION PROCEDURE, ITS PROCESSING PROGRAM, AND RECORDING MEDIUM ON WHICH THE PROGRAM IS RECORDED
JP2004112113A (ja) 2002-09-13 2004-04-08 Matsushita Electric Ind Co Ltd リアルタイム通信の適応制御方法、受信報告パケットの連続消失に対する対策方法、受信報告パケットの送出間隔の動的決定装置、リアルタイム通信の適応制御装置、データ受信装置およびデータ配信装置
EP1450514A1 (en) 2003-02-18 2004-08-25 Matsushita Electric Industrial Co., Ltd. Server-based rate control in a multimedia streaming environment
US20040170179A1 (en) 2003-02-27 2004-09-02 Klas Johansson Radio resource management with adaptive congestion control
FR2857183B1 (fr) 2003-07-01 2005-09-23 Cit Alcatel Procede et serveur de controle des flux de donnees dans un reseau de telecommunications
KR100505699B1 (ko) 2003-08-12 2005-08-03 삼성전자주식회사 실시간 가변 비트율 제어로 화질을 개선시키는 비디오인코더의 인코딩율 제어기, 이를 구비한 비디오 데이터전송 시스템 및 그 방법
ITBA20030039A1 (it) 2003-08-29 2005-02-28 Grieco Luigi Alfredo Controllo di congestione rate-based del traffico entrante
US7492820B2 (en) 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
US7453938B2 (en) 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
JP4464707B2 (ja) 2004-02-24 2010-05-19 パナソニック株式会社 通信装置
JP4337591B2 (ja) 2004-03-19 2009-09-30 株式会社日立製作所 情報処理装置、ネットワークシステムおよびネットワークシステムの制御方法
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US7720983B2 (en) 2004-05-03 2010-05-18 Microsoft Corporation Fast startup for streaming media
US8010652B2 (en) 2004-05-07 2011-08-30 Nokia Corporation Refined quality feedback in streaming services
KR20050121067A (ko) 2004-06-21 2005-12-26 삼성전자주식회사 무선 채널에 의한 무선 통신 시스템 및 그의 무선 통신 방법
US7616656B2 (en) 2004-10-20 2009-11-10 Electron Industries / Gauge Tech System and method for providing communication between intelligent electronic devices via an open channel
US7797723B2 (en) 2004-10-30 2010-09-14 Sharp Laboratories Of America, Inc. Packet scheduling for video transmission with sender queue control
US7729385B2 (en) 2004-11-01 2010-06-01 Nokia Corporation Techniques for utilization of spare bandwidth
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
US20060184688A1 (en) 2005-02-17 2006-08-17 Nec Laboratories America, Inc. System and Method for Parallel Indirect Streaming of Stored Media from Multiple Sources
JP4487810B2 (ja) 2005-03-14 2010-06-23 株式会社日立製作所 セッション中継装置
KR20080039892A (ko) 2005-08-04 2008-05-07 톰슨 라이센싱 적응성 비디오 전달을 위한 피드백 제어
US20070091920A1 (en) 2005-10-20 2007-04-26 Harris John M System and method for improving the capacity of a network
US7835904B2 (en) 2006-03-03 2010-11-16 Microsoft Corp. Perceptual, scalable audio compression
US7953880B2 (en) 2006-11-16 2011-05-31 Sharp Laboratories Of America, Inc. Content-aware adaptive packet transmission
JP4753204B2 (ja) 2006-11-17 2011-08-24 株式会社ソニー・コンピュータエンタテインメント 符号化処理装置および符号化処理方法
US8542705B2 (en) * 2007-01-23 2013-09-24 Mobitv, Inc. Key frame detection and synchronization
KR20090002809A (ko) 2007-07-04 2009-01-09 삼성전자주식회사 어플리케이션에서 생성된 데이터를 hdmi cec에 따라송수신하는 방법
US7987285B2 (en) 2007-07-10 2011-07-26 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US7991904B2 (en) 2007-07-10 2011-08-02 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US8085855B2 (en) 2008-09-24 2011-12-27 Broadcom Corporation Video quality adaptation based upon scenery
US8775665B2 (en) 2009-02-09 2014-07-08 Citrix Systems, Inc. Method for controlling download rate of real-time streaming as needed by media player
JP2011009904A (ja) * 2009-06-24 2011-01-13 Hitachi Ltd 無線映像配信システム、コンテンツビットレート制御方法及びコンテンツビットレート制御プログラムを記憶したコンピュータ読み取り可能な記録媒体
US9264341B2 (en) * 2009-07-24 2016-02-16 Broadcom Corporation Method and system for dynamic routing and/or switching in a network
US9473406B2 (en) * 2011-06-10 2016-10-18 Citrix Systems, Inc. On-demand adaptive bitrate management for streaming media over packet networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535485B1 (en) * 1999-10-01 2003-03-18 Telcordia Technologies, Inc. Methods and systems for an improved reliability packet network

Also Published As

Publication number Publication date
US20120317308A1 (en) 2012-12-13
US9473406B2 (en) 2016-10-18
CN103828324A (zh) 2014-05-28
EP2719144A1 (en) 2014-04-16
WO2012170920A1 (en) 2012-12-13
EP2719144B1 (en) 2018-08-08

Similar Documents

Publication Publication Date Title
CN103828324B (zh) 用于自适应比特率管理的方法、设备和系统
US10419502B2 (en) Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
KR101942208B1 (ko) Dlna http 스트리밍 클라이언트들을 위한 서버측 적응형 비트 레이트 제어
US9288251B2 (en) Adaptive bitrate management on progressive download with indexed media files
US7987285B2 (en) Adaptive bitrate management for streaming media over packet networks
US8718094B2 (en) Network optimized distribution
US20100312905A1 (en) Sustaining Live Interactive Streaming
US20160037176A1 (en) Automatic and adaptive selection of profiles for adaptive bit rate streaming
KR20150048775A (ko) 무선 네트워크 상의 적응적 레이트 멀티미디어 통신을 위한 디바이스 및 방법
CN102449977A (zh) 用于通过分组网络对媒体进行流传送的自适应比特率管理
KR20180031016A (ko) 전송기측 화상 전화 다운그레이드
JP4748729B2 (ja) データおよび対応するプロダクトを送信する準備のための装置と方法
CN103051978A (zh) 一种基于h264的实时移动视频服务控制方法
KR102118678B1 (ko) 부호화된 비디오 스트림 전송 장치 및 방법
Van Beek et al. Delay-constrained rate adaptation for robust video transmission over home networks
EP2308215B1 (en) Thinning of packet-switched video data
Dedu et al. A taxonomy of the parameters used by decision methods for adaptive video transmission
Jasevičiūtė et al. Dynamic adaptation of the jitter buffer for video streaming applications
US20090257447A1 (en) Bit rate control
Zhao Design and implementation of video surveillance system based on CDMA cellular wireless networks
Jammeh et al. Smoothing transcoded MPEG-1 video for efficient transmission over best-effort IP networks
Al-Jobouri et al. Simple packet scheduling method for data-partitioned video streaming over broadband wireless
Alsaeedi Scalable wireless video streaming over real-time publish subscribe middleware
LIN et al. AN IMPROVED RATE CONTROL SCHEME FOR ADAPTIVE MOBILE VIDEO STREAMING
LIN et al. MOBILE VIDEO STREAMING

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BYTEMOBILE INC.

Free format text: FORMER OWNER: CITRIX SYSTEMS INC

Effective date: 20150805

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

Effective date of registration: 20150805

Address after: American Florida

Applicant after: Bytemobile Inc.

Address before: American Florida

Applicant before: Citrix Systems Inc

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

Effective date of registration: 20160215

Address after: American Florida

Applicant after: Citrix Systems Inc

Address before: American Florida

Applicant before: Bytemobile Inc.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220531

Address after: North Carolina

Patentee after: Beite Mobile Network Innovation Co.,Ltd.

Address before: Fla

Patentee before: Citrix Systems, Inc.