CN102449977A - 用于通过分组网络对媒体进行流传送的自适应比特率管理 - Google Patents

用于通过分组网络对媒体进行流传送的自适应比特率管理 Download PDF

Info

Publication number
CN102449977A
CN102449977A CN2010800236387A CN201080023638A CN102449977A CN 102449977 A CN102449977 A CN 102449977A CN 2010800236387 A CN2010800236387 A CN 2010800236387A CN 201080023638 A CN201080023638 A CN 201080023638A CN 102449977 A CN102449977 A CN 102449977A
Authority
CN
China
Prior art keywords
bit rate
video
network
data
terminal
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
CN2010800236387A
Other languages
English (en)
Inventor
M.A.梅利尼克
N.J.斯塔夫拉科斯
A.彭纳
J.泰德曼
F.布勒格
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.)
Citrix Systems Inc
Original Assignee
Bytemobile 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=42666360&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN102449977(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Bytemobile Inc filed Critical Bytemobile Inc
Publication of CN102449977A publication Critical patent/CN102449977A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • 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/2385Channel allocation; Bandwidth allocation
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6583Acknowledgement

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种方法包括:将伪流传送媒体数据提供给终端;从所述终端接收传输控制协议(TCP)肯定应答;至少部分地基于所述TCP肯定应答,估计网络的一个或多个网络状况;基于所估计出的一个或多个网络状况,确定最优会话比特率;以及基于所述最优会话比特率,将伪流传送媒体数据提供给所述终端。

Description

用于通过分组网络对媒体进行流传送的自适应比特率管理
相关专利的交叉引用
本申请要求保护于2009年3月31日提交的美国申请No. 12/416,085, “Adaptive Bitrate Management For Streaming Media Over Packet Networks”的优先权,该美国申请No. 12/416,085是于2008年7月9日提交的美国申请No. 12/170,347, “Adaptive Bitrate Management for Streaming Media over Packet Networks”的部分继续,该美国申请No. 12/170,347要求保护于2007年7月10日提交的美国临时申请No. 60/948,917, “Adaptive Bitrate Management for Streaming Media over Packet Networks” 的权益,所有申请都并入此处以供参考。
背景技术
对于通过分组网络的媒体流传送来说,速率控制是必不可少的。在容量有限的共享链路上递送诸如多媒体之类的带宽密集内容的挑战在于:通过调整比特率和媒体编码方案来迅速响应网络状况的改变,以便优化用户的观看和收听体验。具体地,当在不能提供必要吞吐量的连接上传送媒体流时,会发生多种不期望的效应。例如,网络缓冲器可能溢出,导致分组丢失,从而造成错乱的视频或音频重放,或者,媒体播放器缓冲器可能下溢,导致重放拖延。
存在多种不同的机制以实现通过分组网络的多媒体传输。第一类媒体网络传输是流传送协议,例如实时协议(RTP)。流传送协议被具体设计为传输具有显式定时信息的多媒体信息,并且,一般期望在有效载荷中的(一个或多个)媒体帧到期时发送分组。
另一类是伪流传送。用于伪流传送的最常使用的传输协议是传输控制协议(TCP),其最初被设计用于成批数据传送。因而,TCP并不明显地指示有效载荷中的媒体的定时信息。TCP用于仅传送媒体剪辑(诸如,例如,.flv或.mp4文件)。媒体时间信息是在媒体剪辑格式内隐含发送的,并且,播放器仅在下载剪辑的部分时重放剪辑。HTTP常用作TCP上的下载协议。
在流传送协议传输的情况下,标准团体推荐了协议或协议的扩展以解决传输流控制和比特率管理算法实现的问题。互联网工程任务组(IETF)在RFC 3550中规定了作为对RTP的伴随的实时传输控制协议(RTCP)以及基本构建块,以实现RTP流传送媒体中的比特率/分组速率控制。RTCP的适于高容量网络的多个扩展遵循该原始推荐。其他专有协议(例如实时消息传送协议(RTMP))表征了类似的机制。
另一方面,伪流传送传输通常不需要用于流控制的附加协议。TCP自身使用其本机端点反馈以执行对其连接的流控制。TCP分组由分组序列号标识,该分组序列号是经由肯定应答(ACK)分组在相反方向上肯定应答的。ACK不知道有效载荷的类型和属性,从而使得难以实现用于伪流传送的比特率管理算法。
在通过分组无线网络递送多媒体会话时会遇到多个挑战。这些挑战可以包括:
· 对额定传输速率的突然调整:由于干扰、衰落等,3+G网络即时协商物理层参数。额定传输比特率可以以因子10改变。在伪流传送和流传送会话二者中,由于缓冲器耗尽,最直接的影响是重放拖延。
· 分组丢失:由链路传输误差或由网络拥塞造成。
· 有效带宽的减小:无线链路是层2处的共享资源,具有MAC(媒体接入控制)机制和调度。这意味着由相同扇区中的其他无线终端呈现的增大的负载可以减小终端将看到的有效带宽或容量。
· 有限容量:可用的容量典型地可能是在传统有线互联网接入技术中获得的容量的一部分,在传统有线互联网接入技术中,目前容量不是问题。典型地,视频门户中的固定互联网媒体会话可以提供250 kbps与800 kbps之间的网络负载。尽管目前的3G蜂窝网络可以维持500 kbps及以上的吞吐量,但是典型地将蜂窝电话无线多媒体会话的总比特率预算保持在150 kbps以下以确保可扩缩性。
上述问题可以影响流传送和伪流传送会话,从而使自适应比特率管理对于实现良好用户体验来说必不可少。
对于具有RTP或类似流传送协议的无线移动电话,该自适应比特率管理的实现是富有挑战性的,这是由于:
· 不常见且不完整的网络状态信息。典型的无线媒体播放器支持如在RFC 3550中定义的RTCP接收方报告,并且,报告生成频率是固定的。因此,在发送方端处获得的网络状态信息是有限且偶发的。在其分组流传送服务规范中,3GPP推荐了基本IETF RTCP接收方报告的多个扩展(即,RTCP扩展报告或XR)。不幸的是,非常少的手机实现这些增强。
· 不同媒体流是分别处理的。尽管音频流和视频流二者均在相同网络链路上传送,但是它们二者由RTCP分别处理。这两个RTCP报告提供了与相同网络有关的状态信息,从而提供联合分析;以及
· 典型地使用低媒体比特率。无线多媒体会话的比特率预算通常非常低(在150 kbps以下)。减小音频或视频比特率的任何尝试可以对会话具有较大的感知影响。
在伪流传送会话的情况下,TCP通过请求重传来处理丢失的分组。因此,不存在诸如由于丢弃的媒体分组而引起的质量下降之类的问题,尽管系统层中分组丢失的实际发生导致数据流中的等待时间增大,从而增大由于空缓冲器而引起的媒体播放器拖延的概率。发生以下值得注意的问题:
· 由TCP的ACK分组提供的反馈完全不知道正在传送的媒体时间。
· TCP上的HTTP下载将尽可能地且尽可能快地发送尽可能多的媒体文件。
· 在接收方处可能需要附加组件来应对TCP的内部状态不直接可用于媒体应用的事实。
附图说明
图1是示例性系统的框图。
图2是图示图1的示例性系统的实施例的框图。
图3A是图示图2的示例性系统中的示例性通信流程的功能图。
图3B是图示根据伪流传送实施例的自适应比特率管理的示例性功能图。
图4是表示用于处理RTCP分组或TCP ACK的示例性方法的流程图。
图5是表示用于处理最优会话比特率数据的示例性方法的流程图。
具体实施方式
现在将详细地参照符合本发明的示例性实施例,其示例在附图中图示。在任何可能的地方,在全部附图中将使用相同的参考标记来指代相同或相似的部分。
根据瞬时网络容量调整流传送媒体会话的比特率可以是在无线分组网络上递送流传送媒体所需的关键功能。自适应比特率管理是一种综合的框架和方法,其使得能够将自调整流传送或伪流传送会话递送至媒体播放器(例如,诸如符合标准3GPP的媒体播放器或用于web嵌入式视频的Flash插件)。除了别的之外,自适应比特率管理还包括自适应比特率控制器和可变比特率编码器,所述自适应比特率控制器和可变比特率编码器二者均允许自适应比特率管理具有同时实现对音频、视频和/或其他流的联合会话比特率管理的能力。在伪流传送会话的情况下,自适应比特率控制器还可以包括:媒体复用器,其用于通过将由可变比特率编码器生成的音频和视频帧连同指示重放时刻所必需的时间戳复用在一起来组装媒体剪辑。
自适应比特率管理可以适用于可用于媒体传送并提供传输进度报告机制的所有媒体传输(或协议套)。传输进度报告可以应用于作为整体的多媒体会话或者单独多媒体流(音频、视频、文本等)。自适应比特率管理器可以包括向发送方提供将媒体时间信息映射至由接收方接收的字节的方式的能力,这如在RTCP的情况下那样是明显地或者如在TCP情况下是通过ACK分组是隐含地。
图1是示例性系统的框图。示例性系统100可以是通过网络传输数据分组的任何类型的系统。例如,示例性系统可以包括通过互联网从内容服务器访问流传送媒体数据的移动终端。除了别的之外,示例性系统还可以包括终端102、网关104、一个或多个网络106、110、自适应比特率管理器108和一个或多个内容服务器112至114。
终端102是包括软件应用的硬件组件,这些软件应用允许终端102传送和接收与流传送媒体相对应的分组。终端102提供了用于向终端102的用户显示流传送媒体的显示器和一个或多个软件应用(如媒体播放器)。此外,终端102具有从互联网请求和接收数据分组(诸如流传送媒体的数据分组)的能力。例如,终端102可以通过其URL针对网页的特定文件或对象数据向内容服务器112至114发送请求数据,并且,网页的内容服务器可以在数据库中查询对象数据并向终端102发送对应的响应数据。在一些实施例中,可以将响应数据路由通过自适应比特率管理器108。
尽管终端102可以是有线终端,但是本发明的一些实施例可能优选使用移动终端,这是由于移动终端更可能处于从自适应比特率管理器更多获益的网络中。与有线网络连接相比,该网络连接倾向于更不稳定,这是由于例如移动终端的改变位置,在这些改变位置处移动终端与网络之间的数据速率传输可以波动,在某些情况下相当显著地波动。
网关104是将在一种类型的网络中提供的格式化数据转换为另一种类型的网络所需的特定格式的设备。例如,网关106可以是服务器、路由器、防火墙服务器、主机或代理服务器。网关104具有以下能力:将从终端102接收到的信号变换为网络106可理解的信号,并且反之亦然。网关104可能能够单独地或以任何组合方式处理音频、视频和T.120传输,并能够进行全双工媒体转换。
网络106和110可以包括广域网(WAN)、局域网(LAN)或者适于分组类型通信(如互联网通信)的无线网络的任何组合。此外,网络106和110可以包括用于在将分组传输至它们的预期目的地之前存储该分组的缓冲器。
自适应比特率管理器108是提供网关104与内容服务器112至114之间的通信的服务器。自适应比特率管理器108可以通过根据自适应比特率管理器108与终端102之间的连接(即,媒体网络)调整流传送媒体比特率来优化性能。自适应比特率管理器108可以包括优化技术,以下进一步描述。
内容服务器112至114是如下服务器:其从终端102接收请求数据,相应地处理请求数据,并在一些实施例中通过自适应比特率管理器108将响应数据返回到终端102。例如,内容服务器112至114可以是web服务器、企业服务器或任何其他类型的服务器。内容服务器112至114可以是负责从终端102和服务终端102接受关于流传送媒体的请求(例如HTTP、RTSP或者可发起媒体会话的其他协议)的计算机或计算机程序。
图2是图示图1的示例性系统的实施例的框图。除了别的之外,终端102还可以包括媒体播放器202和缓冲器204。除了别的之外,自适应比特率管理器108还可以包括自适应比特率控制器210、缓冲器212、可变比特率编码器214、媒体分组化216和媒体复用器218。
媒体播放器202是用于播放包括视频和/或音频媒体文件的多媒体文件(例如流传送媒体)的计算机软件。媒体播放器202的这种普遍示例可以包括Microsoft Windows Media Player、Apple Quicktime Player、RealOne Player以及用于web嵌入式视频的Adobe Flash 插件。在一些实施例中,媒体播放器202使用编解码器来对流传送视频或音频进行解压缩并在终端102的显示器上对其进行重放。媒体播放器202可以用作独立应用或者被嵌入网页中以创建与HTML内容交互的视频应用。此外,媒体播放器202可以以媒体接收方报告的形式向自适应比特率管理器108提供关于媒体接收的反馈。媒体接收方报告可以包括用于RTP流传送会话的RTCP分组或用于伪流传送会话的TCP ACK。
缓冲器204(也称作终端缓冲器204)是在向媒体播放器202提供多媒体分组之前临时存储多媒体分组的软件程序和/或硬件设备。在一些实施例中,缓冲器204经由网络106从自适应比特率管理器108接收多媒体分组。在一些实施例中,缓冲器204从除自适应比特率管理器108以外的设备接收多媒体分组。一旦缓冲器204接收到多媒体分组(或者在伪流传送的情况下接收到媒体剪辑的部分),缓冲器204就可以向媒体播放器202提供所存储的多媒体分组。尽管图2图示终端缓冲器204和媒体播放器202是分离的组件,但是本领域普通技术人员将认识到,终端缓冲器204可以是媒体播放器202的一部分。此外,尽管图2仅图示了单个缓冲器,但是本领域普通技术人员将认识到,可以存在多个缓冲器,例如,用于音频媒体分组的一个或多个缓冲器和用于视频媒体分组的一个或多个缓冲器。
自适应比特率管理器108的自适应比特率控制器210是如下软件程序和/或硬件设备:其周期性地从终端102接收媒体接收方报告(例如诸如RTCP接收方报告或TCP ACK)并提供要在下一周期期间被用于对要发送至终端102的多媒体数据进行编码的最优会话比特率(或编码参数)。在一些实施例中,自适应比特率控制器210包括用于存储当前和先前媒体接收方报告的缓冲器。为了计算最优会话比特率或编码参数,自适应比特率控制器210使用一个或多个网络状态估计器,用于估计流传送媒体网络的状态并计算要在下一报告间隔中使用的最优会话比特率。例如,这些网络状态估计器可以估计运输中媒体时间(MTT,media time in transit)、在终端102处接收的比特率、往返行程时间估计(RTTE)和分组丢失计数。自适应比特率控制器210可以使用估计器的历史和统计来实现不同控制算法以计算最优会话比特率。此外,自适应比特率控制器210可以通过确定流传送媒体网络的稳定性来更新最优会话比特率。这可以通过检验最新计算的估计器与一个或多个稳定性准则相符合而进行。通过使用估计和稳定性准则,自适应比特率控制器210可以确定是调整输出比特率还是将当前输出比特率保持不变持续下一周期。在该确定之后,自适应比特率控制器210向可变比特率编码器214提供最优会话比特率值。
自适应比特率管理器108的缓冲器212是在向可变比特率编码器214提供媒体数据之前临时存储媒体数据的软件程序和/或硬件设备。在一些实施例中,缓冲器212经由网络110从一个或多个内容服务器112至114接收媒体数据。在一些实施例中,缓冲器212从除内容服务器112至114以外的设备接收媒体数据。在一些伪流传送实施例中,缓冲器212可以包括:解复用器(例如,图3B所示的解复用器350),以便在将媒体中继至可变比特率编码器214之前分离音频和视频轨道。
自适应比特率管理器108的可变比特率编码器214是如下软件程序和/或硬件设备:其从自适应比特率控制器210接收最优会话比特率数据或编码参数,并向媒体分组化216提供以与由自适应比特率控制器210提供的最优会话比特率相匹配的比特率编码的音频和/或视频数据。对于伪流传送会话,可变比特率编码器214可以作为代替向媒体复用器218提供音频和视频帧。除了别的之外,可变比特率编码器还可以包括比特率分割器220、音频编码器222、视频编码器224以及对于一些实施例的帧丢弃器226。
比特率分割器220是如下软件程序和/或硬件设备:其从自适应比特率控制器210接收最优会话比特率数据并分配要在下一间隔期间对音频和视频媒体数据进行编码时使用的最优比特率。该分配使得在组合时所有轨道的比特率之和可以基本上等于由自适应比特率控制器210指定的最优会话比特率。例如,该分配可以基于预定分配、用户偏好、最优性能数据、相比于其他将更高的特权给予一种类型的数据、要提供的音频和视频数据量和/或以上各项的任何组合。例如,比特率分割器220可以以下述方式将特权给予音频质量,所述方式为如果指定了减小的比特率则比特率分割器220将首先减小视频比特率并尽可能多地推迟减小音频比特率。
音频编码器222和视频编码器224是如下软件程序和/或硬件设备:其可以从比特率分割器220(或者直接从自适应比特率控制器210)接收它们的相应比特率分配,并提供输出媒体数据,该输出媒体数据被编码以与用于下一报告间隔的它们的相应比特率分配的比特率相匹配。音频编码器222和视频编码器224二者均可以从缓冲器212接收它们的相应媒体数据,并根据来自比特率分割器220的其相应比特率分配来输出该媒体数据。在已经针对音频和视频二者确定比特率之后,每个编码器的责任就是在对应的媒体轨道中递送最大质量。例如,音频编码器222可以通过调整频谱量化和截止频率来生成可变比特率。此外,视频编码器224可以例如通过调整离散余弦变换(DCT)系数量化或通过引入帧丢弃来生成可变比特率。在需要时,该帧丢弃可以由帧丢弃器226执行。
帧丢弃器226是可在所期望的比特率小于质量阈值时被触发的软件程序和/或硬件设备。该阈值可以是编解码器相关的,并表示比特率值,低于该比特率值,对较粗糙的量化的使用会导致图像中不可容忍的伪影。帧丢弃器226可以基于所期望的视频比特率和视频编码器224正在生成的比特率来动态确定帧丢弃率。为了补偿编码器的输出端处视频比特率的固有比特率波动,帧丢弃器226可以通过使用覆盖最近编码帧的字节大小历史的滑动窗口来动态更新丢弃率。
媒体分组化216是如下软件程序和/或硬件设备:其从音频编码器222和视频编码器224接收音频和视频媒体数据,并将该数据转换为分组格式,以递送流传送会话。媒体分组化216可以创建针对视频和音频数据分离的要通过分离网络信道传送的分组,或将音频和视频组合在单个媒体流中。除了承载音频和媒体数据以外,媒体分组除了别的之外还可以包括用于标识内容类型的有效载荷类型标识符、分组序列号、用于允许同步和抖动计算的时间戳以及递送监视数据。当自适应比特率控制器210从终端102接收到对应的媒体接收方报告时,这种类型的数据随后可以帮助自适应比特率控制器210确定由网络提供的服务质量。在将该数据转换为分组格式后,媒体分组化216通过网络106的网络缓冲器230将数据传输至终端102的终端缓冲器204。此外,自适应比特率管理器108将所发送的媒体分组的历史保存在音频和视频轨道中。除了别的之外,该历史数据还可以包括发送每个分组的时刻、序列号以及每个媒体分组的大小。
在一些实施例(例如,其中涉及伪流传送的实施例)中,媒体复用器218可以替换媒体分组化216。媒体复用器218是如下软件程序和/或硬件设备:其直接或间接地从音频编码器222和视频编码器224接收单独的音频和视频媒体数据,并将该数据组合为媒体剪辑文件格式,以递送伪流传送会话。媒体复用器218使用TCP作为传输协议并且在一些实施例中使用HTTP作为TCP上的下载协议,向媒体播放器202发送即时组装的媒体文件的后续片段。媒体复用器218可以与并入此处以供参考的名称为“Method for Controlling Download Rate of Real-Time Streaming as Needed by Media Player”的美国申请No. 12/368,260中公开的复用器相对应,从而添加会话定时功能以提高自适应比特率管理在伪流传送会话中的有效性。对于伪流传送会话,如播放器所需的那样,自适应比特率管理器108(例如,如以下在图3B中描述的那样)可以以根据流实时的速率提供伪流传送媒体数据。
图3A是图示图2的系统中的示例性通信流程的功能图。为了说明该示例性实施例的目的,假定终端102已经接收到所请求的媒体数据分组的媒体数据中的至少一些。此外,假定媒体数据分组包括音频和视频媒体数据二者。在接收到分组之后,媒体播放器202向自适应比特率管理器108传输(302)媒体接收方报告。
例如,媒体接收方报告可以是RTCP接收方报告或者在伪流传送的情况下是TCP ACK。RTCP是用于针对RTP流(例如,由自适应比特率管理器108的媒体分组化216提供的传输)提供质量控制信息的协议。更具体地,在多媒体数据的分组和递送中,RTCP可以与自适应比特率管理器108的媒体分组化216成为搭档。在一些实施例中,媒体播放器202周期性地传输RTCP接收方报告。RTCP接收方报告可以提供对由媒体分组化216正在提供的服务的质量的反馈。
互联网上最广泛使用的针对流传送媒体的方法是由传输控制协议(TCP)承载的基于HTTP的伪流传送。TCP实现其自身的通用(非媒体专用)分组化协议。TCP内部使用ACK来提供对所接收的TCP分组的反馈,并从而提供传输流控制。在伪流传送的情况下,TCP ACK分组被用于更新先前描述的关键网络估计器。最值得注意的添加是:将TCP序列号(如在以上参考的美国申请No. 12/368,260中描述的那样)映射至所存储的媒体时间索引和字节,以估计运输中媒体时间。
尽管TCP和RTP/RTCP被用作示例性实施例以说明自适应比特率控制方法,但是本领域普通技术人员可以认识到,该自适应比特率控制方法适用于实现具有定序和定时信息的媒体传输和具有与所接收的分组有关的信息(覆盖定序、定时、丢失率等)的媒体传输反馈的功能的任何协议。
此外,在一些流传送实施例中,媒体接收方报告可以是具有音频和视频报告数据(当将音频和视频复用至单个流中时)二者的单个报告,或者,媒体接收方报告可以被分为多个报告(例如,诸如在其中RTP在分离的流中承载音频和视频的RTCP情况下),例如,诸如用于音频报告数据的接收方报告和用于视频报告数据的另一接收方报告。除了别的之外,媒体接收方报告数据还可以包括与在终端102处最近接收的媒体分组的序列号、在媒体接收方报告中报告的由终端102接收的最后分组的时间戳、从该报告发送的比特的数目、往返行程时间以及丢失分组的数目有关的数据。
在接收到接收方报告之后,自适应比特率控制器210可以估计网络的状态以确定是否更新下一周期的会话比特率。自适应比特率控制器210可以将新接收的接收方报告保存在累积历史中并记录接收到分组的时间。为了估计网络的状态,自适应比特率控制器210可以将来自所接收的媒体接收方报告的数据、由自适应比特率管理器108存储的先前接收的接收方报告和由自适应比特率管理器108存储的所发送的媒体分组的历史进行组合。自适应比特率控制器可以通过使用网络状态估计器,针对流传送和伪流传送会话二者估计以下示例性数据:
· 运输中媒体时间(MTT),被计算为最近发送的媒体分组的时间戳与在接收方报告中报告的由播放器接收到的最后媒体分组的时间戳之间的差异。对于伪流传送会话,自适应比特率管理器108进行附加步骤以计算MTT。例如,自适应比特率管理器108将序列号和时间戳的表维持在被发送至播放器的媒体剪辑中。当接收到ACK时,自适应比特率管理器108可以在ACK中检索与字节序列号相对应的时间戳。使用该时间戳,自适应比特率管理器可以计算MTT。
· 接收的比特率,被计算为在当前和先前接收的接收方报告之间接收的比特除以这两个接收方报告之间经过的时间。接收方报告之间接收的比特是通过将接收方报告中的序列号与在自适应比特率管理器108处存储的所发送的字节的历史进行交叉引用来计算的。
· 往返行程时间估计(RTTE)可以是通过对在自适应比特率管理器108处存储的多个较低MTT值求平均来获得的。例如,RTTE可以是通过对该流传送媒体网络的所有存储的MTT值当中最低的3个MTT值求平均来计算的。此外,自适应比特率管理器108可以根据(RTCP)发送方报告内的数据来计算RTTE。尽管图示了这些示例性实施例,但是可以使用任何方法来估计流传送媒体网络的往返行程时间。
· 分组丢失计数,直接从媒体接收方报告中捕获。
自适应比特率控制器210可以使用这些估计来实现多个不同控制算法。例如,可以使用流传送媒体稳定性准则来计算下一间隔的会话比特率。
自适应比特率控制器210使用稳定性准则来确定流传送媒体网络的稳定性。尽管可以使用任何数目的算法来确定稳定性,但是一个示例性实施例将所估计出的MTT与RTTE进行比较。如果MTT和RTTE保持接近,则自适应比特率控制器210可以确定流传送媒体网络可以合适地支持当前比特率。此外,通过将接收的比特率与当前比特率会话进行比较,自适应比特率控制器210可以确定该网络可以应对由自适应比特率管理器108施加的负载。
自适应比特率控制器210使用估计和稳定性准则来实现用于发现网络容量并相应调整会话比特率的控制算法。自适应比特率控制器210可以定义控制算法的变型以操作于两种不同模式:(1)获取模式和(2)正常模式。尽管在该示例性实施例中图示了两种模式,但是本领域普通技术人员将认识到,可以定义多种操作模式。
在正常模式中,自适应比特率控制器210操作于稳态状况,从而指示网络维持或递增地增大系统所看到的有效容量。在一些实施例中,在操作于正常模式的情况下,在MTT不增大并且接收的比特率保持与当前会话比特率接近时,控制算法可以增大会话比特率。
自适应比特率控制器210通常在其检测到高分组丢失、MTT的突然增大和/或比阈值(MTT阈值)更高的MTT的值时触发获取模式,其中所述阈值可以是固定值或者可以是针对自适应控制机制而动态获得的。一旦被触发,获取模式就将最优会话比特率设置为一个值,例如接收的比特率或者接收的比特率的一部分。由于接收的比特率可以是网络可在时间上的该特定点处支持的实际比特率的最佳估计,因此自适应比特率管理器108应当迅速返回到稳定状况。在一些实施例中,新的会话比特率仅被设置为当前会话比特率的一部分。
在该实施例中,尽管仅图示了用于与自适应比特率管理器108进行通信的终端102,但是本领域普通技术人员将认识到,多个终端可以与自适应比特率管理器108进行通信,其中,每个终端可以位于实质上不同的网络环境中。这些环境可以显著不同,因为可以使用不同的潜在无线技术和固定的网络拓扑。因此,对于一些实施例,期望可以事先发现网络环境的特性以使得自动调整框架中的关键参数。例如,自适应比特率控制器210可以在多媒体会话的开始时将MTT阈值设置为与RTTE相关的值。这样,系统可以尝试遵循由自适应比特率控制器210提供的一般稳定性准则。如上所指示的那样,该稳定性准则可以基于MTT与RTTE之间的比较,而与网络环境(先前未知)无关,这在给定很少被先验确定的实际网络基础结构类型的情况下非常有利。在一些实施例中,最优会话比特率可以是通过确定MTT与RTTE之间的差异并根据该差异调整会话比特率来更新的。例如,差异越大,则从当前会话比特率至最优会话比特率的调整越大。在一些实施例中,用于该确定的MTT可以基于MTT的一个或多个历史值。
通过如上所述使用控制算法来计算会话比特率更新,自适应比特率控制器210确定将媒体数据传输至终端102的最优会话比特率。自适应比特率控制器210将最优会话比特率数据提供(304)给可变比特率编码器214的比特率分割器220。在接收到最优会话比特率数据后,比特率分割器220在音频流和视频流之间分配最优会话比特率。例如,该分配可以基于预定分配、用户偏好最优性能数据、相比于其他将更高的特权给予一种类型的数据、要提供的音频和视频数据量和/或以上的任何组合。例如,比特率分割器220可以以下述方式将特权给予音频质量,所述方式为如果指定了减小的比特率则比特率分割器220将首先减小视频比特率并尽可能多地推迟减小音频比特率。
在将最优会话比特率分割为最优音频比特率和最优视频比特率之后,比特率分割器将最优音频比特率提供(306)给音频编码器222,并将最优视频比特率提供(308)给视频编码器224。在接收到它们相应的比特率后,音频编码器222和视频编码器224二者均从缓冲器212接收它们的相应媒体数据,并根据来自比特率分割器220的相应比特率分配来输出它们相应的音频媒体数据和视频媒体数据。在针对音频和视频二者均确定了比特率之后,每个编码器的责任就是通过维持所请求的比特率直到下一间隔为止来在对应的媒体轨道中递送最大质量。例如,音频编码器222可以通过调整量化和截止频率来生成可变比特率。此外,视频编码器224可以例如通过调整离散余弦变换(DCT)系数量化或通过引入帧丢弃来生成可变比特率。在需要时,该帧丢弃可以由帧丢弃器226执行。在一些实施例中,在编码器从比特率分割器220接收到最优比特率数据为止不修改编码器的编码参数,这将在后续间隔中提供,这是由于编码器222、224是比特率分割器220的从设备。
在其中优选帧丢弃的一些实施例中,当最优会话比特率小于质量阈值时,视频编码器224可以将视频媒体数据提供(310)给帧丢弃器226。该阈值可以是编解码器相关的,并表示比特率值,低于该比特率值,对较粗糙的量化的使用会导致图像中不可容忍的伪影。当触发帧丢弃时,帧丢弃器226可以基于所期望的视频比特率和视频编码器224正在生成的比特率来动态确定帧丢弃率。为了补偿视频编码器224的输出端处视频比特率的固有比特率波动,帧丢弃器226可以通过使用覆盖最近编码的帧的字节大小历史的滑动窗口来动态更新丢弃率。帧丢弃器226可以相应地丢弃帧以递送最优会话比特率。此外,在一些实施例中,视频编码器224可以利用自适应比特率控制器210的网络状态估计器,以更具恢复性的方式对视频进行编码。在一些实施例中,视频编码器224可以结合MTT使用分组丢失信息,以确定是否应当减小图像组(GOP)值,从而增加在视频流中发送的每秒帧数。在一些实施例中,如果不需要帧丢弃,则视频编码器224可以仅将视频媒体数据提供给媒体分组化216或媒体复用器218(图3B所示)。音频编码器222和对于该实施例的帧丢弃器226将音频媒体数据和视频媒体数据分别提供(312、314)给媒体分组化216或媒体复用器218(图3B所示)。
在接收到音频媒体数据和视频媒体数据后,媒体分组化216将该数据转换为分组格式。RTP定义了用于通过互联网递送音频和视频的标准化分组格式,而TCP执行用于通用数据的相同功能。在将该数据转换为分组格式后,媒体分组化216将音频和视频媒体分组传输(316)至网络106的网络缓冲器230。类似地,在伪流传送的情况下,在从可变比特率编码器214接收到音频和视频数据后,媒体复用器218创建媒体剪辑文件的新部分并且使用TCP并可能地使用HTTP将其发送至播放器,以下在图3B中进一步描述这些。尽管仅示出了一个传输,但是本领域普通技术人员将认识到,传输316可以包括用于一个或多个音频媒体分组的分离传输和用于一个或多个视频媒体分组的另一分离传输。此外,本领域普通技术人员将认识到,网络106可以包括多个网络,其中每一个具有它们自身的一个或多个缓冲器。除了承载音频和媒体数据以外,这些分组除了别的之外还可以包括有效载荷类型标识符、分组序列号、时间戳和递送监视数据。当自适应比特率控制器210从终端102接收到媒体接收方报告时,这种类型的数据随后可以帮助自适应比特率控制器210确定由网络提供的服务质量。此外,自适应比特率管理器108还可以存储所发送的媒体分组的历史,使得其随后可以相应地调整比特率。
在接收到分组后,网络106的网络缓冲器230可以存储分组,直到轮到这些分组要被提供给终端102为止。尽管仅图示了缓冲器230,但是本领域普通技术人员将认识到,针对音频媒体分组和视频媒体分组中的每一个可以存在一个或多个分离的缓冲器。当轮到这些分组时,网络缓冲器230将这些分组传输(318)至终端缓冲器204。
在接收到分组后,终端102的终端缓冲器204可以存储分组,直到轮到这些分组要被提供给媒体播放器202为止。尽管仅图示了缓冲器230,但是本领域普通技术人员将认识到,针对音频媒体分组和视频媒体分组中的每一个可以存在一个或多个分离的缓冲器。当轮到这些分组时,缓冲器204将这些分组提供(320)给媒体播放器202。进而,媒体播放器202可以从分组中提取相关数据并在后续接收方报告中将该数据提供给自适应比特率管理器108。
图3B是图示了根据伪流传送实施例的自适应比特率管理的示例性功能图。该实施例结合了在美国申请No. 12/368,260中描述的用于提供对伪流传送通信的自适应比特率管理的方法和系统。此外,这里提供的解复用器350、流控制模块352、帧调度器354和媒体数据库356与在已并入此处以供参考的美国申请No. 12/368,260中描述的那些类似。此外,自适应比特率控制器210和可变比特率控制器214与以上在图3A中描述的那些类似地进行操作,并且这里将不详细描述。
解复用器350可以是如下软件程序和/或硬件设备:其拦截并解析输入媒体下载并检索媒体的信息,例如以下说明的剪辑定时信息。
流控制模块352可以是应用下载速率模式的软件程序和/或硬件设备,并且可以对媒体数据成帧并相应地对帧调度器354进行编程。
帧调度器354可以是如下软件程序和/或硬件设备:其根据由流控制模块352、可变比特率编码器214和/或自适应比特率控制器210指定的定时来触发帧传输。
媒体数据库356可以是成帧流传送媒体的记录或数据的结构化收集。该结构可以被组织为结构化文件、关系数据库、面向对象的数据库或其他适当数据库。利用诸如数据库管理系统之类的计算机软件来管理和提供对媒体数据库356的访问。媒体数据库356可以存储和提供成帧流传送媒体。其可以与网络元件110的其他组件(例如帧调度器354或媒体复用器218)进行组合。其还可以处于自适应比特率管理器108的外部。媒体数据库356提供缓冲以存储媒体数据。
在从内容服务器114接收到(380)流传送媒体数据之后,解复用器350解析流传送媒体并获得流传送媒体的信息。例如,除了别的之外,解复用器350还可以检索流传送媒体的定时信息,该定时信息可以是终端102处的媒体播放器上的实时重放速率。然后,解复用器350向流控制模块352传送(382)解析后的流传送媒体和用于控制下载速率的信息。
基于包括定时信息的流传送媒体的信息,流控制模块352应用下载速率模式并对解析后的流传送媒体成帧。成帧流传送媒体可以与终端102处的媒体播放器上的实时重放速率相对应。然后,流控制模块352将成帧流传送媒体存储(384)在媒体数据库356处以用于传输,并根据定时信息和下载模式来调度(388)帧调度器354以触发对帧流传送媒体的传输。
帧调度器354触发(390)媒体复用器218以根据由流控制模块352指定的定时调度来传输成帧流传送媒体。在触发(390)后以及在检索到由于被发送(392)而存储的媒体之后,媒体复用器218根据定时调度将成帧流传送媒体提供(394)给终端102。提供步骤394可以包括:将成帧流传送媒体提供给一个或多个网络缓冲器,如以上在图3A中描述的那样,然后,该成帧流传送媒体将被提供给终端102。终端102处理与以上在图3A中描述的类似的流传送媒体。该递送是与终端102处的媒体播放器上的实时重放速率相对应的受流控制的下载。
在接收到流传送媒体的部分之后,终端102可以将如上所述的媒体接收方报告提供(302)给自适应比特率控制器210。自适应比特率控制器210可以将序列号和时间戳的表保存在被发送至播放器的媒体剪辑中,该媒体剪辑可以被存储在媒体数据库356中。当接收到TCP ACK时,自适应比特率控制器210可以在ACK中检索与字节序列号相对应的时间戳,并且然后计算MTT、RTTE以及其他网络估计器,该其他网络估计器可以用于实现针对流传送媒体实施例如先前在图3A中描述的比特率控制算法和稳定性准则。在已经检测到网络段中的改变(例如,网络段中的带宽的降级或改进)之后,自适应比特率控制器210可以指示(304)可变比特率编码器214在将媒体数据库356中的流传送媒体发送至终端102之前执行对该流传送媒体的数据优化。这可以基于终端102所处的网络段的改变来实现动态数据优化,以提供动态减小大小的流传送媒体。可变比特率编码器214可以与流控制模块352进行交互(386),以将下载速率控制与媒体数据优化进行组合。通过数据优化(例如媒体比特率减小技术),可变比特率编码器214可以修改媒体数据库356中的每个媒体帧的大小。然后,流控制模块352可以基于流传送媒体的定时信息来对动态减小大小的流传送媒体的流速率成帧。
图4是表示用于处理媒体接收方报告的示例性方法的流程图。参照图4,本领域普通技术人员将容易地认识到,可以更改所示的过程以删除步骤或进一步包括附加步骤。针对该示例性方法,假定接收方报告包括涉及音频和视频媒体数据二者的数据。如果是伪流传送会话,则对TCP ACK进行处理以获得关于媒体传输进度的信息。尽管两种类型都存在,但是本领域普通技术人员将认识到,接收方报告数据可以包括音频或视频数据。在初始的开始步骤400之后,自适应比特率管理器获得(402)接收方报告数据,该接收方报告数据可以包括一个或多个接收方报告。该接收方报告数据可以与在终端的媒体播放器处接收到的音频和视频媒体分组的质量和数量相关,这些音频和视频媒体分组是直接由媒体复用器创建的媒体剪辑内的媒体分组化发送的。除了别的之外,接收方报告数据还可以包括由终端接收到的最后分组的序列号、与这种分组相对应的时间戳、所发送的比特的数目、往返行程时间和在从自适应比特率管理器至终端的传输期间丢失的分组的数目。接收方报告数据可以是通过从终端接收媒体接收方报告以及通过将最后接收的媒体接收方报告的内容与在自适应比特率管理器处存储的媒体分组的历史进行交叉相关来获得的。
尽管RTP和RTCP是对多媒体应用可直接访问的用户级协议,但是典型地,以应用可能不具有其内部状态的可见性的方式在内核空间中实现TCP。为了克服这一点,可以实现简单的内核级代理,以生成应用级接收方报告并在于内核空间中接收到ACK分组后将这些应用级接收方报告发送至自适应比特率管理器。
在接收到接收方报告数据之后,自适应比特率管理器估计(404)流传送媒体网络的网络状况。为了估计网络的状态,自适应比特率管理器可以将来自步骤402的所接收的接收方报告数据的数据和由自适应比特率管理器存储的先前接收的接收方报告数据进行组合。自适应比特率管理器可以估计MTT、接收的比特率、RTTE和分组丢失。在伪流传送会话中,需要额外步骤来计算MTT。自适应比特率管理器可以将序列号和时间戳的表维持在被发送至媒体播放器的媒体剪辑中。当接收到TCP ACK时,自适应比特率管理器可以在ACK中检索与字节序列号相对应的时间戳,并且然后计算MTT。自适应比特率管理器可以使用这些估计来实现多种不同控制算法。
在估计网络状况之后,自适应比特率管理器应用(406)稳定性准则以确定流传送媒体网络的稳定性。如果需要,稳定性准则可以帮助调整比特率以尝试稳定化流传送媒体网络,例如,诸如避免网络中的缓冲器溢出和终端处的下溢。尽管可以使用任何数目的算法来确定稳定性准则,但是一个示例性实施例将所估计出的MTT与所估计出的RTTE进行比较,这两者都是在步骤404中估计的。如果MTT和RTTE保持接近,则自适应比特率管理器可以使用该比较来确定流传送媒体网络可以合适地支持当前比特率。此外,通过将接收的比特率与当前比特率会话进行比较,自适应比特率管理器可以确定流传送媒体网络可以应对负载。
在建立稳定性准则之后,自适应比特率管理器基于估计步骤404和/或稳定性准则建立步骤406来确定(408)对于当前比特流来说网络是否是稳定的。如果网络是稳定的,则自适应比特率管理器通过维持或递增地增加当前比特率来操作(410)于稳态状况。在一些实施例中,最优会话比特率可以是通过确定MTT与RTTE之间的差异并根据该差异调整会话比特率来计算的。例如,如果当前会话比特率小于设置的目标会话比特率,那么在MTT和RTTE的值可比较的情况下,自适应比特率管理器可以递增地增加最优会话比特率。然后,自适应比特率管理器将用于传输媒体数据的最优会话比特率提供(416)给终端。在提供步骤416之后,该方法可以继续至结束418。
如果确定了网络不稳定,则自适应比特率管理器调整(412)比特率,以使得自适应比特率管理器可以达到稳定状况。例如,在一些实施例中,自适应比特率管理器可以使用从步骤404接收的所估计出的比特率,这是由于在一些实施例中,接收的比特率可以是网络可在时间上的该特定点处支持的实际比特率的最佳估计。然后,自适应比特率管理器将用于传输媒体数据的最优会话比特率提供(416)给终端。在提供步骤416之后,该方法可以继续至结束418。
图5是表示用于处理最优会话比特率数据的示例性方法的流程图。参照图5,本领域普通技术人员将容易地认识到,可以更改所示的过程以删除步骤或进一步包括附加步骤。针对该示例性方法,假定音频和视频媒体数据二者都存在。尽管两种类型都存在,但是本领域普通技术人员将认识到,可以存在音频或视频数据。在初始的开始步骤500之后,自适应比特率管理器获得(502)将媒体数据传输至终端的最优会话比特率数据。
在接收到最优会话比特率数据后,自适应比特率管理器在音频和视频流之间分配(504)最优会话比特率,以产生最优音频比特率和最优视频比特率。例如,该分配可以基于预定分配、用户偏好、最优性能数据、相比于其他将更高的特权给予一种类型的数据、要提供的音频和视频数据量和/或以上各项的任何组合。例如,自适应比特率管理器可以以下述方式将特权给予音频质量,所述方式为如果指定了减小的比特率,则自适应比特率管理器可以首先减小视频比特率并尽可能多地推迟减小音频比特率。
自适应比特率管理器获得(506)音频和视频媒体数据。在一些实施例中,获得步骤506可以在分配步骤504或获得步骤502之前发生。在分配步骤504和获得步骤506之后,自适应比特率管理器根据在步骤504处指定的它们相应分配的比特率来对音频和视频媒体数据进行编码(508)。
在根据所分配的比特率来对音频和视频流进行编码之后,自适应比特率管理器将用于传输的编码后的音频和视频媒体数据提供(510)至终端。在一些实施例中,媒体分组化接收编码后的音频和视频媒体数据,并将该数据转换为分组格式。在其他实施例中,该数据由媒体复用器接收,以创建要通过TCP发送至播放器的媒体剪辑文件。RTP定义了用于通过互联网递送音频和视频的标准化分组格式,而TCP提供其自身的用于通用数据的分组化协议,其还可以用于媒体流。在将该数据转换为分组格式后,媒体分组化然后可以将音频和视频媒体分组传输至终端。在提供编码后的音频和视频媒体数据之后,该方法可以继续至结束512。
这里公开的方法可以被实现为计算机程序产品,即,有形体现在信息载体中(例如,有形体现在机器可读存储器件或传播信号中)以便由数据处理设备(例如可编程处理器、计算机或多个计算机)执行或者以便控制所述数据处理设备的操作)的计算机程序。计算机程序可以是以任何形式的编程语言编写的,该编程语言包括编译或解译后的语言,并且,计算机程序可以是以任何形式布置的,该形式包括作为独立程序或作为模块、组件、子例程或适于用在计算环境中的其他单元。计算机程序可以被布置为在一个计算机上执行或者在处于一个站点处或分布在多个站点上且由通信网络互连的多个计算机上执行。
在以上说明书中,已参照具体示例性实施例描述了本发明。然而,显而易见的是在不脱离跟随的权利要求中阐述的本发明的更宽精神和范围的情况下,可以进行各种修改和改变。说明书和附图相应地被视为说明性的而非限制性的。在考虑了这里公开的本发明的说明书和实行的情况下,本发明的其他实施例对于本领域技术人员来说是显而易见的。

Claims (24)

1.一种方法,包括:
将伪流传送媒体数据提供给终端;
从所述终端接收传输控制协议(TCP)肯定应答;
至少部分地基于所述TCP肯定应答,估计网络的一个或多个网络状况;
基于所估计出的一个或多个网络状况,确定最优会话比特率;以及
根据所述最优会话比特率,将伪流传送媒体数据提供给所述终端。
2.根据权利要求1所述的方法,其中,确定所述最优会话比特率还包括:
基于所估计出的一个或多个网络状况,建立稳定性准则;
确定所述网络的稳定性;以及
基于稳定性确定,提供所述最优会话比特率。
3.根据权利要求2所述的方法,其中,建立稳定性准则还包括:将运输中媒体时间和往返行程时间估计进行比较,以帮助稳定性确定。
4.根据权利要求2所述的方法,其中,建立稳定性准则还包括:将接收的比特率与当前比特率会话进行比较。
5.根据权利要求2所述的方法,还包括:当所述网络的稳定性被认为是正常的时,维持或递增地增加当前比特率。
6.根据权利要求2所述的方法,还包括:当所述网络的稳定性不正常时,调整当前比特率。
7.根据权利要求1所述的方法,还包括:在音频媒体数据与视频媒体数据之间分配所述最优会话比特率,以产生最优音频比特率和最优视频比特率;以及根据所述最优音频比特率和所述最优视频比特率来对音频和视频媒体数据进行编码。
8.根据权利要求7所述的方法,其中,将媒体数据提供给所述终端包括:基于所述最优音频比特率和所述最优视频比特率,提供编码后的音频媒体数据和编码后的视频媒体数据。
9.一种方法,包括:
基于终端接收伪流传送媒体数据,从所述终端接收传输控制协议(TCP)肯定应答;
至少部分地基于所述TCP肯定应答,估计网络的一个或多个网络状况;
基于所述估计来确定所述网络的稳定性;
基于所述确定来控制比特率;以及
将所述比特率提供给编码器,以根据所提供的比特率来传输伪流传送媒体数据。
10.根据权利要求9所述的方法,其中,确定所述网络的稳定性基于建立稳定性准则。
11.根据权利要求10所述的方法,其中,建立稳定性准则还包括:将运输中媒体时间和往返行程时间估计进行比较,以帮助稳定性确定。
12.根据权利要求10所述的方法,其中,建立稳定性准则还包括:将接收的比特率与当前比特率会话进行比较。
13.根据权利要求9所述的方法,其中,控制比特率包括:当所述网络的稳定性被认为是正常的时,维持或递增地增加当前比特率。
14.根据权利要求9所述的方法,其中,控制比特率包括:当所述网络的稳定性被认为是不正常的时,调整当前比特率。
15.一种方法,包括:
基于由传输控制协议(TCP)肯定应答提供的信息,接收最优会话比特率;
在音频和视频媒体之间分配所述最优会话比特率,以产生最优音频比特率和最优视频比特率;
根据所述最优音频比特率和所述最优视频比特率来对音频和视频媒体数据进行编码;
将编码后的音频和视频媒体数据进行复用;以及
将用于传输的复用的音频和视频数据提供至终端。
16.根据权利要求15所述的方法,还包括:丢弃编码后的视频数据的帧。
17.根据权利要求15所述的方法,其中,在音频和视频媒体之间分配最优会话比特率基于相比于其他将更高的特权给予音频媒体或视频媒体。
18.一种系统,包括:
具有媒体播放器的终端,其被配置为接收伪流传送媒体数据并基于所接收的伪流传送媒体数据来提供传输控制协议(TCP)肯定应答;
自适应比特率管理器,其被配置为接收所述TCP肯定应答,至少部分地基于所述TCP肯定应答来估计一个或多个网络状况,基于所估计出的一个或多个网络状况来确定最优会话比特率,并基于所述最优会话比特率将伪流传送媒体数据提供给所述终端。
19.根据权利要求18所述的系统,其中,所述自适应比特率管理器还包括自适应比特率控制器,其用于接收接收方报告并计算最优会话比特率。
20.根据权利要求19所述的系统,其中,所述自适应比特率管理器还包括编码器,其用于获得所述最优会话比特率,在音频和视频媒体之间分配所述最优会话比特率以产生最优音频比特率和最优视频比特率,根据所述最优音频比特率和所述最优视频比特率来对音频和视频数据进行编码,并将用于传输的编码后的音频和视频数据提供至所述终端。
21.一种存储指令的计算机可读存储介质,所述指令在由计算机执行时使得所述计算机执行用于处理传输控制协议(TCP)肯定应答的方法,所述方法包括:
将伪流传送媒体数据提供给终端;
从所述终端接收所述TCP肯定应答;
至少部分地基于所述TCP肯定应答,估计网络的一个或多个网络状况;
基于所估计出的一个或多个网络状况,确定最优会话比特率;以及
根据所述最优会话比特率,将伪流传送媒体数据提供给所述终端。
22.一种存储指令的计算机可读存储介质,所述指令在由计算机执行时使得所述计算机执行用于处理传输控制协议(TCP)肯定应答的方法,所述方法包括:
基于终端接收伪流传送媒体数据,从所述终端接收传输控制协议(TCP)肯定应答;
至少部分地基于所述TCP肯定应答,估计网络的一个或多个网络状况;
基于所述估计来确定所述网络的稳定性;
基于所述确定来控制比特率;以及
将所述比特率提供给编码器,以根据所提供的比特率来传输伪流传送媒体数据。
23.一种存储指令的计算机可读存储介质,所述指令在由计算机执行时使得所述计算机执行用于处理最优会话比特率的方法,所述方法包括:
基于由传输控制协议(TCP)肯定应答提供的信息,接收所述最优会话比特率;
在音频和视频媒体之间分配所述最优会话比特率,以产生最优音频比特率和最优视频比特率;
根据所述最优音频比特率和所述最优视频比特率来对音频和视频媒体数据进行编码;
将编码后的音频和视频媒体数据进行复用;以及
将用于传输的复用的音频和视频数据提供至终端。
24.一种终端,包括:
缓冲器,其接收由自适应比特率管理器通过网络传输的伪流传送媒体数据分组,以及
媒体播放器,其接收所述伪流传送媒体数据分组并将传输控制协议(TCP)肯定应答提供给所述自适应比特率管理器,所述自适应比特率管理器接收所述传输控制协议(TCP)肯定应答,至少部分地基于接收方报告来估计所述网络的一个或多个网络状况,基于所估计出的一个或多个网络状况来确定最优会话比特率,并根据所述最优会话比特率将伪流传送媒体数据提供给所述缓冲器。
CN2010800236387A 2009-03-31 2010-03-30 用于通过分组网络对媒体进行流传送的自适应比特率管理 Pending CN102449977A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/416,085 US7991904B2 (en) 2007-07-10 2009-03-31 Adaptive bitrate management for streaming media over packet networks
US12/416085 2009-03-31
PCT/US2010/000959 WO2010114603A1 (en) 2009-03-31 2010-03-30 Adaptive bitrate management for streaming media over packet networks

Publications (1)

Publication Number Publication Date
CN102449977A true CN102449977A (zh) 2012-05-09

Family

ID=42666360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800236387A Pending CN102449977A (zh) 2009-03-31 2010-03-30 用于通过分组网络对媒体进行流传送的自适应比特率管理

Country Status (4)

Country Link
US (3) US7991904B2 (zh)
EP (1) EP2415234B1 (zh)
CN (1) CN102449977A (zh)
WO (1) WO2010114603A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104871551A (zh) * 2012-05-18 2015-08-26 摩托罗拉移动有限责任公司 自适应比特率视频内容传递中特技播放禁用的实施
CN106664255A (zh) * 2014-04-03 2017-05-10 奥比特多媒体控股公司 数据流控制方法
WO2019242620A1 (zh) * 2018-06-21 2019-12-26 深圳市道通智能航空技术有限公司 数据传输控制方法、信息发送端、接收端及飞行器图传系统

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1999883A4 (en) 2006-03-14 2013-03-06 Divx Llc FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS
US7991904B2 (en) 2007-07-10 2011-08-02 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US7987285B2 (en) 2007-07-10 2011-07-26 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US8782274B2 (en) 2007-10-19 2014-07-15 Voxer Ip Llc Method and system for progressively transmitting a voice message from sender to recipients across a distributed services communication network
US8559319B2 (en) 2007-10-19 2013-10-15 Voxer Ip Llc Method and system for real-time synchronization across a distributed services communication network
US8699383B2 (en) 2007-10-19 2014-04-15 Voxer Ip Llc Method and apparatus for real-time synchronization of voice communications
US8250181B2 (en) 2007-10-19 2012-08-21 Voxer Ip Llc Method and apparatus for near real-time synchronization of voice communications
US8099512B2 (en) * 2007-10-19 2012-01-17 Voxer Ip Llc Method and system for real-time synchronization across a distributed services communication network
US8190760B2 (en) 2008-01-15 2012-05-29 Echostar Advanced Technologies L.L.C. System and method of managing multiple video players
US9832442B2 (en) 2008-01-15 2017-11-28 Echostar Technologies Llc System and method of managing multiple video players executing on multiple devices
US8639830B2 (en) * 2008-07-22 2014-01-28 Control4 Corporation System and method for streaming audio
US8510303B2 (en) 2009-01-07 2013-08-13 Divx, Llc Singular, collective and automated creation of a media guide for online content
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
US20100272162A1 (en) * 2009-04-27 2010-10-28 Broadcom Corporation Synchronous serial programmable interface
US20100287402A1 (en) * 2009-05-11 2010-11-11 Electronics And Telecommunications Research Institute Timestamping apparatus and method
WO2010141460A1 (en) * 2009-06-01 2010-12-09 Swarmcast, Inc. Data retrieval based on bandwidth cost and delay
FR2946820B1 (fr) * 2009-06-16 2012-05-11 Canon Kk Procede de transmission de donnees et dispositif associe.
JP2011009904A (ja) * 2009-06-24 2011-01-13 Hitachi Ltd 無線映像配信システム、コンテンツビットレート制御方法及びコンテンツビットレート制御プログラムを記憶したコンピュータ読み取り可能な記録媒体
EP2302845B1 (en) 2009-09-23 2012-06-20 Google, Inc. Method and device for determining a jitter buffer level
US8527647B2 (en) * 2009-10-06 2013-09-03 Unwired Planet, Inc. Managing network traffic using intermediate flow control
US8767552B2 (en) * 2009-10-20 2014-07-01 Wisconsin Alumni Research Foundation Wireless communication system controlling transmission parameters of data units according to data usefulness
US20110105130A1 (en) * 2009-10-30 2011-05-05 Openwave Systems, Inc. Back-channeled packeted data
WO2011054281A1 (zh) 2009-11-09 2011-05-12 华为技术有限公司 实现基于http的流媒体业务的方法、系统和网络设备
US10003851B2 (en) * 2009-11-24 2018-06-19 Imagine Communications Corp. Managed multiplexing of video in an adaptive bit rate environment
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US9294526B2 (en) * 2009-12-28 2016-03-22 Microsoft Technology Licensing, Llc Managing multiple dynamic media streams
CN102143367B (zh) * 2010-01-30 2013-01-30 华为技术有限公司 一种纠错校验方法、设备和系统
EP2553900B1 (fr) * 2010-03-31 2020-12-30 Orange Transmission de flux de données adaptable
WO2011139305A1 (en) * 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
US8340126B2 (en) 2010-06-07 2012-12-25 Lockheed Martin Corporation Method and apparatus for congestion control
US20110307935A1 (en) * 2010-06-09 2011-12-15 Verizon Patent And Licensing Inc. Video content delivery optimization over mobile wireless networks
US20120054045A1 (en) 2010-08-26 2012-03-01 Cbs Interactive, Inc. Managing Media Playback
US9185054B2 (en) * 2010-09-15 2015-11-10 Oracle International Corporation System and method for providing zero buffer copying in a middleware machine environment
US8756329B2 (en) 2010-09-15 2014-06-17 Oracle International Corporation System and method for parallel multiplexing between servers in a cluster
EP2638682A4 (en) * 2010-11-12 2014-07-23 Realnetworks Inc TRAFFIC MANAGEMENT IN ADAPTIVE STREAMING PROTOCOLS
US9264664B2 (en) * 2010-12-03 2016-02-16 Intouch Technologies, Inc. Systems and methods for dynamic bandwidth allocation
WO2012082029A1 (en) * 2010-12-14 2012-06-21 Telefonaktiebolaget L M Ericsson (Publ) Method and device for storing a compression ratio indication in a pixel value buffer in tile encoding
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US8892680B2 (en) 2011-01-25 2014-11-18 Openwave Mobility, Inc. System and method for caching content elements with dynamic URLs
US8898718B2 (en) * 2011-01-27 2014-11-25 International Business Machines Corporation Systems and methods for managed video services at edge-of-the-network
US9407543B2 (en) 2011-02-22 2016-08-02 Theatrolabs, Inc. Observation platform for using structured communications with cloud computing
US9462019B1 (en) * 2011-03-31 2016-10-04 Amazon Technologies, Inc. Adjusting network operations based on user feedback
US8681866B1 (en) 2011-04-28 2014-03-25 Google Inc. Method and apparatus for encoding video by downsampling frame resolution
US8516144B2 (en) * 2011-04-29 2013-08-20 Cbs Interactive Inc. Startup bitrate in adaptive bitrate streaming
US9106787B1 (en) 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
US9071841B2 (en) 2011-05-17 2015-06-30 Microsoft Technology Licensing, Llc Video transcoding with dynamically modifiable spatial resolution
US9288251B2 (en) 2011-06-10 2016-03-15 Citrix Systems, Inc. Adaptive bitrate management on progressive download with indexed media files
US9473406B2 (en) 2011-06-10 2016-10-18 Citrix Systems, Inc. On-demand adaptive bitrate management for streaming media over packet networks
US8732191B2 (en) 2011-06-27 2014-05-20 Oracle International Corporation System and method for improving application connectivity in a clustered database environment
US9621629B2 (en) * 2011-07-05 2017-04-11 Rakuten, Inc. Content distribution system, cache server, and content distribution method
JP5720786B2 (ja) * 2011-07-05 2015-05-20 日本電気株式会社 コンテンツ配信システムおよびコンテンツ配信方法
US10121110B2 (en) * 2011-07-27 2018-11-06 Salesforce.Com, Inc. System, method and computer program product for progressive rendering of report results
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US9378045B2 (en) 2013-02-28 2016-06-28 Oracle International Corporation System and method for supporting cooperative concurrency in a middleware machine environment
US10095562B2 (en) 2013-02-28 2018-10-09 Oracle International Corporation System and method for transforming a queue from non-blocking to blocking
US8689237B2 (en) 2011-09-22 2014-04-01 Oracle International Corporation Multi-lane concurrent bag for facilitating inter-thread communication
US9110715B2 (en) 2013-02-28 2015-08-18 Oracle International Corporation System and method for using a sequencer in a concurrent priority queue
US20130094518A1 (en) * 2011-10-13 2013-04-18 Electronics And Telecommunications Research Institute Method for configuring and transmitting mmt payload
EP2587824A1 (en) * 2011-10-27 2013-05-01 Thomson Licensing Method and apparatus to manage the operation of an adaptive streaming client
US9037742B2 (en) * 2011-11-15 2015-05-19 International Business Machines Corporation Optimizing streaming of a group of videos
US20130160058A1 (en) * 2011-12-19 2013-06-20 Nokia Siemens Networks Oy Video EPOCH Coordination And Modification
CN102523296B (zh) * 2011-12-21 2014-11-05 华为技术有限公司 无线网页浏览资源优化方法、装置及系统
US9166864B1 (en) * 2012-01-18 2015-10-20 Google Inc. Adaptive streaming for legacy media frameworks
US9252916B2 (en) 2012-02-13 2016-02-02 Affirmed Networks, Inc. Mobile video delivery
US9276989B2 (en) * 2012-03-30 2016-03-01 Adobe Systems Incorporated Buffering in HTTP streaming client
US20130282868A1 (en) * 2012-04-23 2013-10-24 Jae Chung Integral Controller Based Pacing for HTTP Pseudo-streaming
WO2013162506A1 (en) 2012-04-23 2013-10-31 Affirmed Networks, Inc. Integral controller based pacing for http pseudo-streaming
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
US9560392B2 (en) 2012-09-07 2017-01-31 Google Inc. Dynamic bit rate encoding
US9860106B2 (en) * 2012-09-11 2018-01-02 Raytheon Company Multi-source sensor stream virtualization
US8495237B1 (en) 2012-09-27 2013-07-23 Google Inc. Techniques for providing a media stream to a mobile computing device based on a predicted route of the mobile computing device
US9100698B2 (en) 2012-10-26 2015-08-04 Motorola Solutions, Inc. Systems and methods for sharing bandwidth across multiple video streams
US9015470B2 (en) * 2012-11-08 2015-04-21 Morega Systems, Inc Adaptive video server with fast initialization and methods for use therewith
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9172740B1 (en) 2013-01-15 2015-10-27 Google Inc. Adjustable buffer remote access
US9311692B1 (en) 2013-01-25 2016-04-12 Google Inc. Scalable buffer remote access
US9225979B1 (en) 2013-01-30 2015-12-29 Google Inc. Remote access encoding
US10129785B2 (en) 2013-03-08 2018-11-13 Samsung Electronics Co., Ltd. Method and apparatus for processing media traffic in mobile communication system
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9154431B2 (en) * 2013-05-08 2015-10-06 Sandvine Incorporated Ulc System and method for managing bitrate on networks
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US10326805B2 (en) * 2013-05-31 2019-06-18 Avago Technologies International Sales Pte. Limited Distributed adaptive bit rate proxy system
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
FR3009153B1 (fr) * 2013-07-24 2015-08-21 France Brevets Systeme et procede pour la transmission de donnees et de flux contenant des donnees video dvideo dans un canal a debit donne
US9661106B2 (en) * 2013-12-04 2017-05-23 Facebook, Inc. Uploading and transcoding media files
US20150256600A1 (en) 2014-03-05 2015-09-10 Citrix Systems, Inc. Systems and methods for media format substitution
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US10178203B1 (en) * 2014-09-23 2019-01-08 Vecima Networks Inc. Methods and systems for adaptively directing client requests to device specific resource locators
US9936040B2 (en) 2014-12-19 2018-04-03 Citrix Systems, Inc. Systems and methods for partial video caching
US9961004B2 (en) 2015-02-18 2018-05-01 Viasat, Inc. Popularity-aware bitrate adaptation of linear programming for mobile communications
US10334316B2 (en) * 2015-09-18 2019-06-25 At&T Intellectual Property I, L.P. Determining a quality of experience metric based on uniform resource locator data
US9888052B2 (en) 2015-09-21 2018-02-06 Imagine Communications Corp. ABR allocation for statistical multiplexing
CN107493482B (zh) * 2016-06-12 2020-02-04 杭州海康威视数字技术股份有限公司 一种视频回放方法及装置
US10574718B2 (en) * 2016-08-25 2020-02-25 Comcast Cable Communications, Llc Packaging content for delivery
KR102454470B1 (ko) 2016-10-06 2022-10-14 삼성전자주식회사 스트리밍 서비스를 지원하는 방법 및 장치
US10187681B2 (en) 2016-12-01 2019-01-22 The Directv Group, Inc. Enhanced streaming source change
US10148990B2 (en) * 2016-12-22 2018-12-04 Cisco Technology, Inc. Video streaming resource optimization
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US10491645B2 (en) 2017-03-01 2019-11-26 At&T Intellectual Property I, L.P. System and method for switching between adaptive bit rate and fixed rate streams
US10645437B2 (en) 2017-04-03 2020-05-05 Sling Media Pvt Ltd Systems and methods for achieving optimal network bitrate
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
US11240283B2 (en) * 2017-08-14 2022-02-01 British Telecommunications Public Limited Company Methods and apparatus for the encoding of audio and/or video data
TW202415077A (zh) * 2017-09-08 2024-04-01 美商開放電視股份有限公司 用於內容呈現之位元率及管線保留技術
GB2573484B (en) * 2017-10-09 2022-08-03 Displaylink Uk Ltd Compensating for interruptions in a wireless connection
GB2568037B (en) 2017-10-27 2022-08-03 Displaylink Uk Ltd Compensating for interruptions in a wireless connection
EP3747174B1 (en) 2018-02-02 2023-06-07 Microsoft Technology Licensing, LLC Estimating bandwidth savings for adaptive bit rate streaming
US20220132177A1 (en) * 2018-05-03 2022-04-28 Arris Enterprises Llc Multichannel video programming distributor stream controller
US11252455B2 (en) * 2018-05-03 2022-02-15 Arris Enterprises Llc Multichannel video programming distributor stream controller
CN108718311A (zh) * 2018-05-18 2018-10-30 深圳市腾讯网络信息技术有限公司 移动终端的网页直播方法、装置及系统
KR102080147B1 (ko) * 2018-06-20 2020-02-24 네이버 주식회사 적응형 데이터 전송을 위한 방법 및 시스템
CN113475052B (zh) 2019-01-31 2023-06-06 英国电讯有限公司 对音频数据和/或视频数据进行编码的方法和装置
US11792472B2 (en) * 2019-09-18 2023-10-17 Wayne Fueling Systems Llc Schedule-based uninterrupted buffering and streaming
JP7377352B2 (ja) * 2020-01-16 2023-11-09 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 複数メンバーでのインスタントメッセージング方法、システム、装置及び電子機器、並びにコンピュータプログラム
US10958947B1 (en) * 2020-03-12 2021-03-23 Amazon Technologies, Inc. Content delivery of live streams with playback-conditions-adaptive encoding
US11146839B1 (en) * 2020-07-06 2021-10-12 Comcast Cable Communications, Llc Adaptive bitrate streaming
CN114205344B (zh) * 2020-08-31 2023-02-28 华为技术有限公司 媒体文件传输的方法及装置
US20220321930A1 (en) * 2021-03-31 2022-10-06 Arris Enterprises Llc Content insertion into a content stream

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010938A1 (en) * 2000-05-31 2002-01-24 Qian Zhang Resource allocation in multi-stream IP network for optimized quality of service
WO2005022845A1 (en) * 2003-08-29 2005-03-10 Dharma Holdings S.A. Rate based congestion control for packet networks
CN1835482A (zh) * 2005-12-29 2006-09-20 上海贝豪通讯电子有限公司 一种无线流媒体服务解决的方法
CN101123606A (zh) * 2007-07-13 2008-02-13 上海广电(集团)有限公司中央研究院 基于实时传输协议或实时控制协议的avs传输控制方法

Family Cites Families (72)

* 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
US6349286B2 (en) * 1998-09-03 2002-02-19 Siemens Information And Communications Network, Inc. System and method for automatic synchronization for multimedia presentations
US6441754B1 (en) * 1999-08-17 2002-08-27 General Instrument Corporation Apparatus and methods for transcoder-based adaptive quantization
US8055894B2 (en) * 1999-11-09 2011-11-08 Google Inc. Process and streaming server for encrypting a data stream with bandwidth based variation
JP2004511032A (ja) * 2000-07-14 2004-04-08 インフィニット ブロードキャスト コーポレイション マルチメディア・プレーヤおよびブラウザ・システム
US6738427B2 (en) * 2000-09-15 2004-05-18 International Business Machines Corporation System and method of processing MPEG streams for timecode packet insertion
JP3699910B2 (ja) 2000-10-31 2005-09-28 株式会社東芝 データ伝送装置、データ伝送方法及びプログラム
US20030172160A9 (en) * 2001-01-10 2003-09-11 Widegren Ina B. Method and apparatus for coordinating end-to-end quality of service requirements for media flows in a multimedia session
US20020131496A1 (en) * 2001-01-18 2002-09-19 Vinod Vasudevan System and method for adjusting bit rate and cost of delivery of digital data
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
US7454527B2 (en) * 2001-05-02 2008-11-18 Microsoft Corporation Architecture and related methods for streaming media content through heterogeneous networks
US7012893B2 (en) * 2001-06-12 2006-03-14 Smartpackets, Inc. Adaptive control of data packet size in networks
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
KR20040041170A (ko) 2001-09-21 2004-05-14 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 혼잡 제어를 위한 전송률을 계산하기 위해 수신 버퍼 크기를 사용하는 데이터 통신 방법 및 시스템
EP1315389A1 (en) * 2001-11-16 2003-05-28 Telefonaktiebolaget Lm Ericsson Method for the determination of a receiver for location information
KR100441604B1 (ko) * 2002-03-19 2004-07-23 삼성전자주식회사 멀티미디어 스트리밍 서비스를 위한 패킷 전송장치 및 그방법
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
JP2004112113A (ja) * 2002-09-13 2004-04-08 Matsushita Electric Ind Co Ltd リアルタイム通信の適応制御方法、受信報告パケットの連続消失に対する対策方法、受信報告パケットの送出間隔の動的決定装置、リアルタイム通信の適応制御装置、データ受信装置およびデータ配信装置
US6798755B2 (en) * 2002-12-31 2004-09-28 Motorola, Inc. Apparatus and method for controlling and managing individual directed sessions in a communications system
DE602004011194T2 (de) * 2003-01-10 2008-12-24 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren zum senden eines Datenstroms über ein drahtloses Medium über ein drahtloses Netzwerk und drahtloses Netzwerk
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
US6993073B2 (en) * 2003-03-26 2006-01-31 James Foong Optimization software module and method for video compression under MPEG
US7239617B2 (en) * 2003-05-07 2007-07-03 Lucent Technologies Inc. Per call interactive high speed packet data activation
FR2857183B1 (fr) 2003-07-01 2005-09-23 Cit Alcatel Procede et serveur de controle des flux de donnees dans un reseau de telecommunications
US7430654B2 (en) * 2003-07-09 2008-09-30 Via Technologies, Inc. Dynamic instruction dependency monitor and control system
KR100505699B1 (ko) 2003-08-12 2005-08-03 삼성전자주식회사 실시간 가변 비트율 제어로 화질을 개선시키는 비디오인코더의 인코딩율 제어기, 이를 구비한 비디오 데이터전송 시스템 및 그 방법
US8838772B2 (en) * 2003-08-29 2014-09-16 Ineoquest Technologies, Inc. System and method for analyzing the performance of multiple transportation streams of streaming media in packet-based networks
US7453938B2 (en) * 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
JP4464707B2 (ja) * 2004-02-24 2010-05-19 パナソニック株式会社 通信装置
KR20050092874A (ko) * 2004-03-17 2005-09-23 삼성전자주식회사 고속 순방향 패킷 접속 방식을 사용하는이동통신시스템에서 기지국제어기와 기지국간의 패킷데이터를 전송하기 위한 흐름 제어를 효율적으로 수행하는방법
JP4337591B2 (ja) * 2004-03-19 2009-09-30 株式会社日立製作所 情報処理装置、ネットワークシステムおよびネットワークシステムの制御方法
CN1813251A (zh) * 2004-03-22 2006-08-02 网飞亚技术公司 基于流的内容分发网络系统、以及用于分割、合并和检索文件的方法
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 삼성전자주식회사 무선 채널에 의한 무선 통신 시스템 및 그의 무선 통신 방법
US8484308B2 (en) * 2004-07-02 2013-07-09 MatrixStream Technologies, Inc. System and method for transferring content via a network
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
US20060143678A1 (en) * 2004-12-10 2006-06-29 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model
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
KR100739172B1 (ko) * 2005-03-03 2007-07-13 엘지전자 주식회사 의사 스트리밍 기술을 이용한 이동 단말기의 동영상 전송방법
JP4487810B2 (ja) 2005-03-14 2010-06-23 株式会社日立製作所 セッション中継装置
WO2006130959A1 (en) * 2005-06-06 2006-12-14 Mobidia, Inc. System and method of providing service information to a carrier
CN101198743A (zh) * 2005-06-17 2008-06-11 可乐丽股份有限公司 绒头片材及其制造方法
US20070011343A1 (en) * 2005-06-28 2007-01-11 Microsoft Corporation Reducing startup latencies in IP-based A/V stream distribution
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
US20070091926A1 (en) * 2005-10-21 2007-04-26 Apostolopoulos John G Method for optimizing portions of data from a plurality of data streams at a transcoding node
WO2007059301A2 (en) * 2005-11-16 2007-05-24 Integrated Equine Technologies Llc Automated video system for context-appropriate object tracking
US7835904B2 (en) * 2006-03-03 2010-11-16 Microsoft Corp. Perceptual, scalable audio compression
US8612619B2 (en) * 2006-03-31 2013-12-17 Alcatel Lucent Method and apparatus for improved multicast streaming in wireless networks
US7653055B2 (en) * 2006-03-31 2010-01-26 Alcatel-Lucent Usa Inc. Method and apparatus for improved multicast streaming in wireless networks
US7783773B2 (en) * 2006-07-24 2010-08-24 Microsoft Corporation Glitch-free media streaming
US7743161B2 (en) * 2006-10-10 2010-06-22 Ortiva Wireless, Inc. Digital content buffer for adaptive streaming
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 株式会社ソニー・コンピュータエンタテインメント 符号化処理装置および符号化処理方法
KR100790902B1 (ko) * 2007-01-08 2008-01-03 삼성전자주식회사 영상 디스플레이에 사용되는 레이저 다이오드 구동장치
US8914529B2 (en) * 2007-01-22 2014-12-16 Microsoft Corporation Dynamically adapting media content streaming and playback parameters for existing streaming and playback conditions
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010938A1 (en) * 2000-05-31 2002-01-24 Qian Zhang Resource allocation in multi-stream IP network for optimized quality of service
WO2005022845A1 (en) * 2003-08-29 2005-03-10 Dharma Holdings S.A. Rate based congestion control for packet networks
CN1835482A (zh) * 2005-12-29 2006-09-20 上海贝豪通讯电子有限公司 一种无线流媒体服务解决的方法
CN101123606A (zh) * 2007-07-13 2008-02-13 上海广电(集团)有限公司中央研究院 基于实时传输协议或实时控制协议的avs传输控制方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104871551A (zh) * 2012-05-18 2015-08-26 摩托罗拉移动有限责任公司 自适应比特率视频内容传递中特技播放禁用的实施
CN104871551B (zh) * 2012-05-18 2018-11-02 摩托罗拉移动有限责任公司 自适应比特率视频内容传递中特技播放禁用的实施
CN106664255A (zh) * 2014-04-03 2017-05-10 奥比特多媒体控股公司 数据流控制方法
WO2019242620A1 (zh) * 2018-06-21 2019-12-26 深圳市道通智能航空技术有限公司 数据传输控制方法、信息发送端、接收端及飞行器图传系统
US11785148B2 (en) 2018-06-21 2023-10-10 Autel Robotics Co., Ltd. Data transmission control method, information sending end and receiving end and aerial vehicle image transmission system

Also Published As

Publication number Publication date
US8769141B2 (en) 2014-07-01
US20090254657A1 (en) 2009-10-08
WO2010114603A1 (en) 2010-10-07
US8255551B2 (en) 2012-08-28
EP2415234A1 (en) 2012-02-08
EP2415234B1 (en) 2016-10-19
US20110283012A1 (en) 2011-11-17
US7991904B2 (en) 2011-08-02
US20130086275A1 (en) 2013-04-04

Similar Documents

Publication Publication Date Title
CN102449977A (zh) 用于通过分组网络对媒体进行流传送的自适应比特率管理
CN101919212A (zh) 用于通过分组网络流传送媒体的自适应比特率管理
CN104956631B (zh) 用于执行链路感知自适应流传输的设备和方法
US10412461B2 (en) Media streaming with latency minimization
CN103828324A (zh) 用于分组网络上的流媒体的按需自适应比特率管理
US8718094B2 (en) Network optimized distribution
CN105075276B (zh) 在广播通信网络中操作客户端设备和服务器设备的技术
US8612620B2 (en) Client capability adjustment
US8990407B2 (en) Fast setup response prediction
US9596323B2 (en) Transport accelerator implementing client side transmission functionality
US9003050B2 (en) Distributed and scalable content streaming architecture
US20090257447A1 (en) Bit rate control

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1170605

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: CITRIX SYSTEMS INC

Free format text: FORMER OWNER: BYTEMOBILE INC.

Effective date: 20131225

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

Effective date of registration: 20131225

Address after: American Florida

Applicant after: Citrix Systems Inc

Address before: American California

Applicant before: Bytemobile Inc.

ASS Succession or assignment of patent right

Owner name: BYTEMOBILE INC.

Free format text: FORMER OWNER: CITRIX SYSTEMS INC

Effective date: 20150811

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

Effective date of registration: 20150811

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: 20160223

Address after: American Florida

Applicant after: Citrix Systems Inc

Address before: American Florida

Applicant before: Bytemobile Inc.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120509

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1170605

Country of ref document: HK