CN106537856A - 数据流控制方法和系统 - Google Patents
数据流控制方法和系统 Download PDFInfo
- Publication number
- CN106537856A CN106537856A CN201580029503.4A CN201580029503A CN106537856A CN 106537856 A CN106537856 A CN 106537856A CN 201580029503 A CN201580029503 A CN 201580029503A CN 106537856 A CN106537856 A CN 106537856A
- Authority
- CN
- China
- Prior art keywords
- data
- network
- receiving node
- bit rate
- node
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0014—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
- H04L1/0019—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy in which mode-switching is based on a statistical approach
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2401—Monitoring of the client buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8543—Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Communication Control (AREA)
Abstract
一种用于管理通过通信网络从发送节点到接收节点的媒体数据的流动的数据流控制方法,所述接收节点能够播放所述媒体数据,其中发送到所述接收节点的数据是以多个不同数据速率编码的数据段的序列,以及其中所述数据流控制方法由所述接收节点实现,用于控制所述数据从所述发送节点到所述接收节点的流动,所述方法还包括:识别所述发送节点和所述接收节点之间的通信网络的状况;识别所述接收节点处的数据缓冲器的状况;以及基于所识别的所述通信网络的状况和所识别的所述接收节点的状况来调整通过所述通信网络的媒体数据流。
Description
1.技术领域
本申请涉及一种用于将媒体数据从流传输服务器传输到一个或多个客户端设备的数据传输协议。更具体地,本发明提供了一种可以与诸如HTTP直播流(也称为HLS)之类的现有流传输协议结合使用的增强型数据流控制方法。根据本发明的方法考虑网络状况和客户端设备状况,诸如客户端设备的数据缓冲器,并且在客户端设备处应用一种或多种数据流控制方法或模式以提高用于互联网协议电视(IPTV)应用的媒体数据传输的速度和质量。
2.背景技术
视频业务目前占据通信网络(例如,互联网或当今的任何类似的无线通信网络,例如LAN、WLAN等)的超过60%的世界带宽使用。如何将这样的数据注入到网络中对通过网络的总体数据流具有强烈的影响。对网络的不受控数据注入会导致拥塞影响,例如缓慢的总业务流、分组延迟、分组丢失、分组乱序、分组重传、网络设备(路由器、交换机等)的洪泛/崩溃以及不可控流量的洪泛。这些类型的事件导致网络流量减慢,并且如果正在使用的交换和路由网络设备不能处理流量需求,则有时完全停止。此外,非管理数据注入将对诸如VoIP(IP语音)、媒体事件的实况广播、实时视频会议和其他时间敏感应用之类的依赖于实时通信的应用具有负面影响。
HTTP直播流(在下文中被称为HLS)是目前正在实现的基于HTTP的媒体流通信协议。HLS的功能是将整个数据流分解成一系列基于HTTP的小文件下载;每个下载加载整个潜在无界的传输流的一个短部分或块。当播放流时,可以是机顶盒或智能媒体播放器的客户端播放器或客户端设备可以从包含相同材料但以多个不同数据速率编码的多个不同流中选择,允许流会话适应可用的数据速率。在流会话开始时,客户端设备被配置为下载扩展的M3U(m3u8)播放列表,即,用于指定包含可用的各种子流的元数据的一个或多个媒体文件的位置。由于基于HLS的请求使用标准HTTP交互,因此与诸如实时传输协议(RTP)之类的基于用户数据报协议(UDP)的协议不同,HLS能够穿过允许通过标准HTTP业务的任何防火墙或代理服务器。这还允许在广泛可用的内容传送网络(CDN)上传送内容。
HLS还指定使用高级加密标准(AES)的标准加密机制以及使用具有设备特定登录或HTTP cookie(例如,会话密钥)的HTTPS进行安全密钥分发的方法,它们一起可提供简单的数字版权管理(DRM)系统。
HLS还支持自适应比特率技术,其由客户端侧设备基于可用的下载带宽控制。更具体地,如在今天使用的实现方式中,自适应比特率流传输是一种通过HTTP进行视频流传输的方法,其中源内容以多个比特率被编码。然后将每个不同的比特率流分割成小的多秒部分(multi-second part)。使流传输客户端知晓不同比特率的可用流以及根据清单文件的流的片段。当开始时,客户端请求来自最低比特率流的片段。如果客户端发现下载速度大于所下载的片段的比特率,则它将请求下一更高比特率的片段。稍后,如果客户端发现片段的下载速度低于片段的比特率,并且因此网络吞吐量已经劣化,则它将请求更低比特率的片段。片段大小可以根据具体实现而变化,但是它们通常在两秒到十秒之间。
传统的HLS在客户端设备(即,播放器侧)上暴露出许多缺陷,这会影响带宽使用和用户观看体验。这些缺点可以包括以下项中的所有或任何一个:不可控视频质量;传输流(TS)片段之间的不良带宽使用;无法与其他HLS客户端智能地共存;无法实现快速视频获取;无法与其他业务积极竞争;无法避免拥塞网络;无法最小化公共网络上的视频缓冲;无法优先考虑其他业务,以及无法回收数据。
因此,存在对用于通过通信网络进行数据分组传输的新的数据流控制方法或协议的需要,其克服传统HLS的缺点并且可以与为HLS建立的现有系统结合工作。
3.发明内容
在一个方面,本发明提供了一种用于管理通过通信网络从发送节点到接收节点的媒体数据的流动的数据流控制方法,所述接收节点能够播放所述媒体数据,其中发送到所述接收节点的数据是以多个不同数据速率编码的数据段的序列,以及其中所述数据流控制方法由所述接收节点实现,用于控制所述数据从所述发送节点到所述接收节点的流动,所述方法还包括:
识别所述发送节点和所述接收节点之间的通信网络的状况;
识别所述接收节点处的数据缓冲器的状况;
以及基于所识别的所述通信网络的状况和所识别的所述接收节点的状况来调整通过所述通信网络的媒体数据流。
4.附图说明
图1a示出了传统HLS系统中使用的下载机制。
图1b示出了根据第一实施例的在加速模式下的本发明的数据流控制方法的重叠-下载机制。
图2示出了根据第一实施例的本发明的数据流控制方法的加速、回退和涓流模式的交互。
图3示出了用于获得TS片段的大小的首部内容范围请求。
图4是示出了本发明的数据流控制方法的动态多链路模式的操作的流程图。
图5示出了HLS系统中拥塞发生的两种类型。
图6是示出了根据第二实施例的本发明的数据流控制方法的质量-贪婪(quality-greedy)模式的操作的流程图。
5.具体实施方式
本发明提供了一种克服上面在背景技术部分中阐述的传统HLS的缺点的数据流控制协议或方法。根据本发明的数据流控制方法作为模块或“插件”在客户端设备或媒体播放器上实现或部署,并且包括多个智能数据流传输流控制协议和算法,例如在英国专利No.2477515和2477640以及英国专利申请号1406048.7中从基于TCP/IP、UDP和RTSP描述的流控制技术采用的协议和算法。
根据本发明,所有数据流控制在客户端上实现,客户端可以是多媒体用户终端,例如媒体播放器或机顶盒或用于从流传输服务器接收多媒体数据的移动终端,以提供增强的解决方案,而不需要对已经部署并且用于传统HLS传输的现有HLS服务器系统做出任何改变。因此,根据本发明的数据流控制方法可以结合任何现有HLS系统和各种各样的内容传送网络(CDN)来部署。根据本发明的数据流控制方法为客户端播放器提供了以下能力:智能地通过繁忙和拥塞的通信网络(例如,互联网),最佳利用可用网络带宽,智能地适应现有网络连接和资源,并向用户提供增强和改进的IPTV体验。
在一个方面,本发明的数据流控制方法的实施例处理OSI模型的应用层上的数据流管理。尽管本发明涉及媒体数据,特别是用于IPTV服务的视频数据,但是本领域技术人员将容易理解,本发明能够用于管理可通过诸如互联网之类的通信网络传输的任何类型的数据和信息的流。
根据本发明的第一实施例的数据流控制方法基于监控一个或多个网络状况以及一个或多个接收节点或客户端侧状况(客户端设备,诸如播放器或用于接收数据的机顶盒)。用于实现HLS流传输应用的数据流控制的模块仅部署在客户端,并且不对服务器侧设备进行修改或改变。基于在可以实现数据流控制的客户端设备处检测到的状况,根据第一实施例的流控制方法能够计算和预测网络环境,并因此相应地修改客户端设备处的设置或接收器状况,以提供使用现有HLS系统的增强数据流传输协议,其中,数据流被分解为基于HTTP的小文件下载的序列并被发送,客户端播放器被配置为下载这些单独的片段以下载传输流。
当在客户端检测到网络状况时,根据本发明的流控制方法能够应用一种或多种数据流模式(在下面详细解释这些模式),以确保高质量多媒体视频数据可以通过通信网络被流传输。
数据流控制方法能够实现驻留在客户端侧终端上的一个或多个模块。配备有用于实现这种流控制的模块的客户端设备用于预测网络流,调整数据流,增强视频质量,通过各种网络路由导航,以维持诸如TCP、UDP或HLS之类的传统数据传输协议不能提供的良好的IPTV用户体验。
在第二实施例中,本发明的数据流控制方法包含了质量控制模式或机制和协议,以提供高视频质量传送并保持任何网络上视频回放的流畅。
快速响应时间、带宽的有效使用、平滑数据流和数据质量之间的平衡是本申请的一些目标。根据本发明的应用层数据流控制方法包括数据流控制方法和视频质量控制方法。在本发明中,从实现用于数据流控制方法的模块和协议的客户端或终端用户接收节点/播放器检测网络状况和缓冲器状况,以达到这些改变。不对服务器或原始源节点或中间节点进行改变。
5.1第一实施例
根据本发明的数据流控制方法的第一实施例,基于在客户端设备处检测到的网络状况和缓冲器状况,在客户端设备处应用多个数据流控制模式。第一实施例的数据流控制方法定义了用于在客户端设备处下载HLS系统中的TS片段的技术。这些模式进行协作以针对基于HLS的系统产生改进的媒体流性能并且透明地适应任何IP网络。这些模式如下:
1.加速
2.回退
3.涓流(Trickle)
4.动态多链路
5.智能自动路由
6.并发多路径
根据第一实施例的数据流控制的前三种模式,即加速、回退和涓流,是客户端播放器接收HLS数据所使用的数据下载机制的重要组成部分。在一个方面,这些模式彼此结合操作。其他模式,即动态多链路、智能自动路由和并发多路径优选模式,提供对前三种下载模式的辅助或补充。在优选实施例中,这些模式动态地交互以向HLS播放器即客户端提供智能。第一实施例的数据流控制模式的实现使得互联网服务提供商(ISP)能够增加订户现有基础设施,减少网络需求并改善用户体验,同时与HLS标准和服务器完全兼容。
除了上述模式之外,根据第一实施例的数据流控制方法还提供了用于实现数据共享和回收的模式:
7.授权数据回收和共享模式
除了使用上面阐述的六种模式中的一种或多种来管理数据流控制之外,还提供了这一点。在另一方面,用于数据回收或共享的模式还可以被提供为数据流控制的单独模式,而没有上述六种模式中的一种或多种。
5.1.1加速:
在客户端播放器上实现的加速模式使得客户端能够在结合以下其他辅助模式工作时尽可能快地下载传入数据:动态多链路、智能自动路由和并发多路径。该数据流模式被配置为在每个播放会话开始时变为活跃并且保持活跃,直到客户端处的本地缓冲器达到满载的大约80%,或者直到达到对于客户端的预定或设置的接收限制。例如,这是为了确保缓冲器总是保持在合理的水平,以防止流畅回放的中断,同时避免由于用户过早地和故意地结束会话而丢弃太多数据。
传统的HLS服务器通常是标准的HTTP服务器,并且被编程为向客户端设备授权HTTP访问,客户端设备进而被配置为以尽可能快的方式从服务器获得数据。发送或传输速度仅由网络状况确定,并且服务器和客户端都不具有对网络速度或视频质量的任何控制。由于没有对实现传统HLS的现有服务器侧系统进行改变,因此本实施例的所有数据流控制模式仅在客户端处执行以改进传统HLS并控制TS片段的传输。
根据本发明的数据流控制的第一实施例的加速模式利用四个附加机制或策略,以使得与传统HLS系统相比其能够从服务器拉取更多数据。
5.1.1.1重叠-下载
传统HLS系统和协议将仅在先前的TS片段已被完全下载的情况下才开始下载下一TS片段。该动作引入了其中存在非常少数据传输或没有数据传输的短、空带宽窗口。在图1a中示出了与传统HLS相关的该窗口。该窗口或带宽空洞(bandwidth hole)导致带宽和时间的浪费。为了解决这种带宽/时间浪费问题,本发明的加速模式并入了在此被称为重叠-下载机制的机制。在图1b中示出了这种机制。
通过使用这种机制,客户端设备可以利用空的带宽间隙(bandwidth slot),如图1b所示。本实施例的重叠-下载机制提出了一种方法或算法,其被配置为使得实现根据本发明的数据流控制的客户端设备能够正常地开始下载接收到的第一TS片段,而当第一TS片段进度达到80%时开始第二TS片段下载。通过更早地开始第二TS片段,其允许先前下载过程的重叠,这利用先前所概述的所有可用带宽间隙。推荐的TS片段时间的示例是大约10秒,但是这也可以减小到更小的值,例如(2-10秒)。使用更小的TS片段引起了更多未使用的带宽间隙,但作为权衡提供了更快的启动时间。
加速模式的重叠-下载机制提供了更好地利用网络带宽和提高网络性能。
5.1.1.2加速与动态多链路结合:
第一实施例的加速模式还包括用于在实现根据本发明的数据流控制的客户端播放器与HLS服务器之间建立多个TCP连接或链路的机制。在该机制中,客户端被配置为使得每个TCP链路下载TS片段的一部分。在本文的5.1.4部分中详细地解释动态多链路。与单个TCP链路连接相比,多个TCP链路的这种使用具有显著改善下载性能并减少在客户端播放的总下载时间的效果。例如,当1个TCP链路用于以1Mbps下载一个TS片段时,需要3秒来下载数据的前30%,并且总共需要10秒来完成下载。然而,当以1.5Mbps使用5个链路在客户端设备进行下载时,客户端可能需要5秒来下载数据的前30%,但是然后仅需要6.67秒左右来完全下载整个TS片段。
5.1.1.3自动路由
第一实施例的加速数据流控制模式包括自动路由机制以改进客户端侧的现有HLS系统。该机制利用域名系统(DNS),并且通过该机制,客户端播放器被配置为能够基于DNS解析的IP列表来检测HLS服务器位置,即IP地址。客户端设备被配置为针对HLS http服务、http错误和网络(RTT)响应时间来探测网络,并计算服务器与其自身(即客户端)之间的距离。通过提前提供该信息,客户端播放器能够在必要时使用替代退守策略来确定最佳退守路由表。
本实施例的自动路由机制操作为使得在遇到拥塞状况时,客户端播放器具有随机延迟时间窗口,其允许客户端在放弃其当前数据提供者(即,当前HLS服务器)并自动路由到下一理想服务器之前确认任何错误。自动路由退守机制无缝地发生,使得终端用户不会经历或注意到对视频质量或传输性能的任何负面影响。
这种数据流控制机制具有增强从服务器到客户端的整个HLS传送系统的效果,并且还用于最小化通过非管理网络进行视频缓冲的机会。
5.1.1.4并发多路径
第一实施例的加速数据流控制模式还利用实现到多个数据提供者的并发路径的机制。该机制使用类似于第5.1.1.3节中的自动路由机制所使用的方法,但客户端播放器被配置为在无法通过单个HLS服务器获得维持流畅流传输所需的数据时使用该机制,而不管已建立的TCP链路的数量或已尝试多少路由。通过使用DNS IP解析和服务协议探测(HTTP服务可用性、网络RTT以及服务器与客户端之间的距离),本发明的并发多路径机制被配置为例如建立到退守路由表上的三个优选HLS服务器中的每一个的两个TCP链路。因此,总共将有6个链路向客户端提供数据,其中,从每个服务器有两个链路。链路的最佳数量是6,但是可以具有超过6个的到客户端的链路,如果可以在不破坏网络最佳状况的情况下这样做。这些服务器可以根据每次探测更新来动态地改变优先级位置。探测优选地发生在预编程的定时器上,并且根据最近的改变来更新内部路由表。
加速数据流模式的这种机制确保了目标HLS服务器可以处理新请求,并且在需要时允许在活动服务器之间执行“负载平衡”。并发多路径机制具有最小化视频缓冲的效果。
5.1.2回退
第一实施例的数据流控制方法的这种回退机制可以在客户端设备处检测到匹配预设回退准则的网络拥塞/状况时被触发。缓解IPTV分组数据传输的拥塞的最佳方式是使用一个或多个不同路径进行回退或导航,以避免对现有网络拥塞和业务的贡献。当检测到拥塞时触发根据本发明的数据流控制方法的回退模式。
有两种逻辑方法来改善网络拥塞:一种方法是实现回退机制以向其他业务产生带宽或者通过不成为其中的一部分而避免对拥塞作出贡献。第一实施例的回退模式是在应用层上运行的流控制协议或方法,以与在数据提供者(服务器)和数据接收者(客户端)之间的相同管道或通信信道中流动的其他业务共存。
当检测到通过TCP层的网络拥塞时,触发这种模式。如果存在拥塞,则将针对客户端的预设下载速度与TS片段当前下载速度进行比较。仅当客户端设备处的本地缓冲器水平高于80%时才采用该模式。当这发生时,在客户端上实现的本发明的数据流控制机制被配置为将客户端处的数据接收速率降低到接近零,即足以保持TCP会话活动的水平。当接收缓冲器已满时,发送方将无法发送更多数据。同时,如果客户端播放器上的接收速度被限制为低水平,则HLS服务器只能以客户端被限制到的相同速率发送数据,即,对接收速率的阻扼或上限。
在没有上述回退模式的情况下,HLS系统将消耗与网络可以提供的带宽一样多的带宽,并且在其他业务可能迫切地需要带宽资源时占用不必要的带宽。
回退时间段,即客户端设备实现回退模式的时间,优选地是当前本地缓冲器回放持续时间的20%。当该时间段到期时,根据HLS服务器上可用的总TS片段,第一实施例的数据流控制方法切换到涓流模式(在5.1.3节中阐述)或加速模式(5.1.1节)。
例如,如果会话是所有TS片段已经在服务器上的电影,则根据数据下载需求,本实施例的数据流控制机制将转换到涓流模式或加速模式。如果会话是电视直播(Live TV),其中服务器仅在短时间内生成有限数量的新TS片段,则数据流控制机制将直接切换到加速模式。
本发明的回退模式被编程为仅使用1个TCP链路来请求TS片段。在该时间期间,回退模式操作为使得针对每次传输仅请求TS片段数据的10%。该10%是防止整个TS片段被锁定到一个TCP链路中的预防措施。如果网络状况改变并且这被客户端设备检测到,则本发明的数据流控制方法将切换到其他模式并使用来自单个或多个HLS服务器的多链路以有效地下载TS片段的其余部分。
5.1.3涓流模式
当客户端终端上的高速缓存器处于安全级别(缓冲器的80%或更多)时,触发或应用根据第一实施例的数据流控制方法的涓流模式。在涓流模式中,第一实施例的数据流控制方法被配置为将客户端设备的接收速度限制为与视频比特率相同的速度。当本地缓冲器为80%或更高时,该模式触发,并应用该模式,使得在所有连接的TCP链路上动态地限制总速度上限,而不管这些TCP链路是来自一个还是多个HLS服务器。
在涓流模式期间,仅维持两个活动TCP链路,并且客户端被配置为以需要实时回放的速率那样接收数据。当在该模式中两个活动TCP链路用于数据传送时,每个链路请求新TS片段的数据的一部分。由每个链路请求的份额或部分pPartPerLink可以是例如新TS片段的数据的25%份额(25%×2)。在该示例中,另外50%在第一部分已被下载时开始。在一些情况下,可能已经建立了到服务器的多于两个的TCP链路,在这种情况下,数据流控制方法将用于维持其他链路并将它们保持为备用链路,备用链路随后可以用于冗余或紧急目的。
涓流模式下的过程被如下阐述:
1.将备用观察时间窗口标记为sObserveTime秒,其被表示为等于EXT-X-TARGETDURATION(如在已知HLS“Pantos”规范中定义的)。EXT-X-TARGETDURATION标签指定最大媒体片段持续时间。该标签在媒体播放列表文件中出现一次,并应用于整个播放列表文件。
2.如果数据流控制模式在sObservTime时间之后仍处于涓流模式,则本发明的数据流控制方法将把1个活动TCP链路置于备用。
3.系统将继续测量每个sObservTime时间窗口的流传输模式。如果涓流模式可以持续,则数据流控制方法将以每sObservTime时间窗口一个的速率继续减少活动TCP链路。
4.如果总的活动TCP链路等于2,则数据流控制方法将停止缩减。
5.总的TCP链路被视为对一个或多个HLS服务器进行的TCP连接。
图2中示出了客户端设备的加速下载模式、回退下载模式和涓流下载模式之间的转换过程和交互。在电影回放会话期间,第一实施例的数据流控制方法使用客户端设备缓冲器水平来确定不同模式之间的转换。如果本地缓冲器的水平大于80%并且网络拥塞,则流控制将切换为回退模式。如果本地缓冲器大于80%并且网络未拥塞,则流控制方法将切换为涓流模式。如果在涓流模式期间缓冲器水平低于60%,则流控制方法将切换为加速模式。图2示出了这些模式的共存。
在电视直播回放会话期间,可以在m3u8索引文件中使用本地缓冲器和TS片段计数,以确定这些模式之间的转换。在HLS Live TV流传输中,m3u8索引文件中没有终点,并且在给定时间段内只有特定数量的TS片段可用。当客户端播放器下载m3u8索引文件上列出的所有可用TS片段时,数据流控制方法将切换到涓流模式,以随着m3u8索引文件增长开始下一实时片段的下载。
5.1.4根据文件偏移的动态多链路机制
多个TCP链路在用于HLS的本实施例的数据流控制方法中起非常重要的作用。多个TCP链路实现额外的TCP资源,并加速HLS服务器和客户端播放器之间的数据传输。在一个方面,本发明的流控制方法提出了动态多链路操作模式,其在任何给定时间调整TCP链路的数量以最佳地适合当前网络状况。太多的TCP链路可能会产生更多的开销,并且会在受限的网络中自我竞争。太少的TCP链路对并发进程没有好处,并且可能导致不期望的结果。对于本发明的数据流控制方法,TCP链路的优选最大数目被限制为6。然而,可以有多于6个的链路。
现有HLS服务器只知道标准HTTP请求,并且只会对有效http请求授权访问,假定TCP会话的任务是确保数据在客户端侧对齐。因此,使用多个链路的主要挑战之一是处理通常不以连续顺序接收的数据。实时处理该挑战为客户端播放器添加了新的复杂度水平。本实施例的数据流控制方法包括能够保证特定数据将来自特定TCP链路的机制。该机制通过利用HTTP请求首部Content-Range来实现,如附图中的图3所示。
尽管可以通过利用特定HTTP请求首部来获得数据的不同部分,但是需要在可创建多个TCP链路之前提前获得TS片段的总大小。本发明的数据流控制方法的动态多链路机制利用HTTP HEAD请求特征,其使得流控制机制能够通过向HLS(HTTP)服务器询问关于所请求的资源(TS片段媒体信息)的元信息来收集信息。HEAD响应包括Content-Length,其是向客户端通知TS片段的总大小的首部字段。HEAD响应不包括消息主体(TS片段本身),这节省了网络带宽,同时在可启动下载之前向客户端播放器提供总数据大小。HEAD请求对于用于HLS系统的流控制方法的动态多链路操作模式是必要的,没有HEAD请求,多个链路的实现将是不切实际的。HTTP HEAD请求在HTTP 1.0和HTTP 1.1标准中都得到支持。
新标签EXT-X-BYTERANGE(在HLS“Pantos”规范中定义,以指示媒体片段是由其媒体URI标识的资源的子范围)可以被用于视频点播和直播电视回放两者的HTTP HEAD替换,如果它存在于m3u8索引文件上。该新标签向客户端播放器通知应该从HLS服务器请求新的TS片段的哪个部分。因此,使用HTTP HEAD是为了解决HLS向后兼容性问题,其中旧的HLS版本不支持EXT-X-BYTERANGE。
在本实施例的动态多链路模式中还提出了从HLS服务器获得TS片段大小信息的另一种方法。一个TS包通常为188字节,因此一个TS片段的最小值为188字节。在请求余下的数据之前,本发明的数据流控制方法包括从目标TS片段请求前188个字节。根据HTTP标准,当HLS服务器发送对我们的188字节数据请求的响应时,它将返回目标TS片段的总长度。这也是通过Content-Range响应首部实现的。
根据第一实施例的数据流控制方法的动态多链路模式通过以下算法定义:
定义:
开放TCP链路:TCP连接已建立。该链路可以具有数据流或不具有数据流。
活动TCP链路:其上具有数据流的开放TCP链路。
备用TCP链路:其上不具有数据流的开放TCP链路。
该算法还在附图中的图4中示出,其示出了以下步骤中的一些:
S4-1.将总的最大开放TCP链路数目nMaxOpenTCPLinks设置为6。6是由HLS服务器支持的HTTP并发持续连接的数目的良好假设和优选值,并且也由大多数当前web浏览器预配置。
每个TS片段的开放TCP链路的最大数目是从EXT-X-TARGETDURATION的值导出的。2个TCP开放链路中的最小值用于保证可以安全地采用重叠-下载策略。
S4-2.基于开放TCP链路的最大数目nMaxOpenTCPLinks,可以获得每活动TCP链路一个TS片段的最佳下载百分比。
S4-3.将可用带宽测量持续时间设置为3秒。3秒用作测量当前可用带宽的合理持续时间。产生任何新TCP链路或将现有TCP链路置于备用的动作基于针对该持续时间观察到的结果。
S4-4.对于第一片段,一个活动TCP链路用于下载数据的前50%。一旦先前下载过程完成了80%(等于TS片段数据的40%),这在开始下载数据的底50%之前提供了足够的时间来测量可用带宽资源。这还被叫做重叠-下载。如果带宽足以支持当前比特率水平,则当第一TCP链路完成其下载任务时,将不被重新使用,直到下一重叠-下载时间窗口。现在存在两个开放TCP链路,但是只有一个活动TCP链路。
S4-5.备选地,如果带宽不充足,则在第一开放TCP链路完成其当前下载任务之后,其将立即被再次重新使用,以下载下一新TS片段。这通过利用两个活动TCP链路提供了获取更多带宽的机会。如果存在利用两个活动TCP链路的充足带宽,则本发明的数据流控制方法将保持它们为开放和活动的。
S4-6.如果两个活动TCP链路不能获得充足的网络带宽来及时获得数据(通过两个链路的下载速度小于当前TS片段的比特率),则本发明的数据流控制方法创建用于下一个新TS片段或当前TS片段的余下部分的两个新的TCP链路,从而有四个活动TCP链路来下载数据。如果通过四个TCP链路的下载速度大于当前TS片段的比特率,则动态多链路流控制方法将保持它们全部为活动的,直到选择了上述模式中的涓流或回退流控制模式。
S4-7.备选地,本发明的数据流控制方法包括再创建2个新的TCP链路,使得六个活动TCP链路可用于下载数据。如果所有当前活动TCP链路上没有足够的带宽资源,则流控制方法将继续增加新的TCP链路,而且还确保不会超过最大TCP开放链路的限制,而不管所获取的带宽对TCP链路是否是足够的。如果活动TCP链路的最大数目不能提供足够的网络速度,则假设沿着网络路径存在一些物理限制,并且流控制方法使用多路由机制和自动故障转移来搜索到其他理想HLS服务器的替代物理网络路径。
S4-8.在上述情况下,数据流控制方法将保持打开多个TCP链路,直到选择了涓流或回退模式。
S4-9.在涓流模式中,数据流控制方法监控在将活动TCP链路置于备用之前所消耗的网络带宽,并且如果所有可用TCP链路上的速度大于TS片段变量的带宽值,则流控制模式将把每可用带宽测量持续时间时段的两个活动TCP链路置于备用。如果速度不够,则数据流控制方法将使链路活动,直到满足上述状况。在该模式期间,该方法将始终保持至少两个链路活动。
S4-10.在回退模式下,数据流控制方法仅保持一个活动TCP链路。其他链路被设置为备用,以为快速模式改变做准备,从而在需要时重新建立新链路。
5.1.5自动路由模式(通过DNS解析技术)
本发明的数据流控制方法的自动路由模式是在到第一HLS服务器的流传输会话遇到技术问题的情况下智能地引导客户端播放器回退或故障转移到不同HLS服务器的技术。该功能需要使用DNS系统。该功能在第5.1.1.4节中在加速模式中被简要介绍,作为进入加速模式的可用机制之一。
标准HLS格式包括通过m3u8索引文件(播放列表)的流传输引导。在该文件的内容中存在指示TS片段的资源标识符的URI。这些URI要么作为绝对URI提供,要么是基于m3u8文件本身的URL的相对URI。通常使用FQDN(完全限定域名)将URI格式化,但某些HLS部署使用IP地址。当使用FQDN时,客户端播放器将需要在连接到HLS(HTTP)服务器之前将它解析为IP地址。
最初,本发明的自动路由模式使用标准DNS查询来获得所有可用的“A”型资源记录(RR)作为IP列表。系统配置的前提条件是每个URI包含主机IP列表,并且所有主机HLS服务器必须保证它们的内容是相同的。通过提前配备有此信息,流控制机制现在可以管理从DNS查询获得的多个主机。
自动路由模式可以出于以下两个目的之一被激活:在当前HLS服务器不能提供服务或者过载(服务器问题)时实现无缝重新路由(回退);或者,如果本发明的数据流控制方法检测到至当前服务器的路径拥塞(网络问题),则从可能在不同物理网络路径上的其他主机获得数据。
无缝重新路由通过简单地将连接从当前服务器切换到具有被解析为相同目标域名的不同IP的另一服务器来实现。因此,如果当前服务器关闭,连接超时或由于类似错误不能提供所请求的资源(m3u8/TS片段),则数据流控制方法(即,自动路由模式)将切换服务器并把请求重新发送到新服务器。数据流控制方法的自动路由模式将在执行服务器切换之前准确地知道需要数据的哪部分,因此该模式可以通过利用HTTP请求首部“Content-Range”来请求数据的下一部分。该过程对客户端播放器是无缝的,并且对视频质量或连续流畅回放没有任何影响。
其第二目的是结合前面在第5.1.4节和图4中描述的上述动态多链路模式来工作。当处于加速模式时,数据流控制方法尝试尽可能快地获得数据以填充本地缓冲器,但是存在动态多链路模式可能不能产生良好结果的两种场景:
场景1-服务器侧发生拥塞,并且无论打开多少个TCP链路,动态多链路模式可能不能获得足够的带宽来提供流畅回放(服务器带宽和服务器I/O性能问题)。
场景2-在不提供替代路由的当前网络路径上的网络设备中发生拥塞。
附图中的图5示出了两种类型的拥塞场景。
在上述场景中,并参照图5,假设用户A从HLS服务器C获取数据,用户B从HLS服务器D获取数据。拥塞点A是网络路径拥塞,而拥塞点B是服务器侧拥塞。如果点A拥塞,则用户A应当从HLS服务器A或B获得新数据,以避免回放失败或者在点A处对当前路径引入甚至更多的拥塞。而用户B仅可以从HLS服务器D切换到HLS服务器C,以避免HLS服务器D的过载,使得他/她可以从HLS服务器C获得平滑数据。
如果没有与HLS服务器的一些必要信息交换,就不可能识别出发生了哪种类型的拥塞。标准HLS服务器不与客户端交换关于网络/主机的任何信息,所以无论发生了什么类型的拥塞,客户端设备或播放器都需要找到另一个服务器。
本发明的数据流控制机制的特征是向客户端设备提供知道是否存在拥塞的能力。这通过使用测量的带宽和动态多链路模式在以下状况下识别当前网络路径上存在的拥塞状况来实现:
1.自启动以来已经过了30秒。
2.开放TCP链路的最大数目,即nMaxOpenTCPLinks,已对当前HLS服务器开放。
3.通过在从5到15秒的用于观察窗口的随机时隙内利用开放TCP链路,仍然不能获得足够的带宽资源来填充本地缓冲器。
如果识别到拥塞,则流控制方法的自动路由模式能够无缝地将客户端播放器切换到另一HLS主机。该模式为每个连接的客户端播放器引入随机延迟(等待)时间窗口,以允许它们探测带宽改进。该方法还防止所有客户端在检测到拥塞的同时离开服务器,这可能简单地在其他地方造成拥塞。
然而,还存在播放器不能从单个HLS服务器获得足够带宽的可能性,在这种情况下,数据流控制机制将切换到下面在5.1.6节中描述的并发多路径模式,以从多个HLS服务器同时获取数据。
本发明策略的自动路由模式在上述5.1.1节中设置的加速模式中最有效。在涓流模式和回退模式中,根据本发明的数据流控制方法将减少可能在不同网络路径上的活动TCP链路。
5.1.6并发多路径模式
数据流控制方法的并发多路径模式操作如下:
并发服务器的最大数目等于nMaxOpenTCPLinks
所有活动并发服务器的最大总TCP链路也是nMaxOpenTCPLinks
来自服务器的最小下载单位百分比等于100×(1/nMaxOpenTCPLinks)%
这是因为HLS TS片段下载的本质是选择性的,这意味着数据的特定部分必须来自特定服务器/链路。以下过程示出了如何使用本实施例的并发多路径模式同时下载多条路径。
1.将标记IPnr设置为解析到相同目标域名的IP的数量
2.如果IPnr<2,则不能使用该模式。
3.否则如果IPnr<3,则将最大数目的开放TCP链路分配给2个主机。即,对于每个主机,有3个活动TCP链路。
4.备选地,将最大数目的开放活动TCP链路分配到IP列表上的前3个主机。即,对于每个主机,有2个活动TCP链路。前3个主机由以下条件确定:
-在IP列表中的所有主机之中更小的往返时间值。这可以通过使用用于获得资源元数据信息的HTTP HEAD命令来测试。
-短地理位置距离。通过利用一个世界IP-Geo-Location数据库来获取地理位置信息。如果客户端被预配置为仅在授权区域中使用,则该数据库可以是基于网络的或基于本地的。
-所请求的资源通常在包括HTTP服务的主机上可操作。这也通过利用HTTP HEAD命令来检测。
来自服务器的下载单位百分比等于:100×1/nMaxOpenTCPLinks%
基于预定义的定时器动态地更新IP列表中前3个主机。本发明的数据流控制方法的并发多路径模式使用10分钟作为探测间隔。
如果只有一个IP被解析为目标域名,或者m3u8/TS片段由IP而不是域名标识,则不能在本发明的数据流控制方法中使用并发多路径模式。
5.1.7授权数据回收和共享
数据回收是可以在本发明的第一实施例的数据流控制方法中包括的特征,用于允许用户尽可能多地重复使用先前下载的数据,并将其在相同家庭或可信网络内的授权设备之间共享。如今,媒体流传输设备通常具有大型SSD内部存储(8GB到250GB)。通过应用接口,用户可以预先决定是否保留HLS数据流所需的存储空间,或者通过将存储设置为0GB来简单地关闭该功能。
一旦设置了存储限制,则流量控制方法收集已经通过客户端播放器的数据,并且按照其被接收的顺序将其与用于进一步共享目的的DRM信息一起保存。数据收集过程在旧数据上覆写新数据,使得保留的存储空间从不用完。用于数据回收和共享的流控制方法配备有索引文件以跟踪存储在本地存储器(即客户端)上的TS片段,以便于查询。该功能仅适用于电影或电视重播(Replay TV),并且如果在本地设备上找到内容,则可以提供即时电影开始。所存储的数据信息还可以在于本地网络上找到的相同类型的授权设备中的类似应用之间共享或更新,使得其他授权用户可以在不消耗任何其他WAN数据的情况下在另一授权设备上查看相同内容。
5.2.第二实施例
本发明的数据流控制方法的第二实施例包括用于视频质量控制的模式和机制,以确保向IPTV终端用户提供最高质量的视频数据。这些机制解释如下:
5.2.1用于高质量视频的自适应比特率流传输
第二实施例中的自适应流传输是用于通过实时检测用户的带宽和CPU容量并相应地调整视频流的质量来通过计算机网络和功能流传输多媒体的技术。传统HLS支持自适应比特率质量控制。标准方法是基于当前监控的带宽调整请求比特率。该方法确保对特定TS片段的请求具有比监控的带宽低的比特率。因此,即使在网络路径上存在足够的头部空间,HLS也不使用该可用的更高比特率用于TS请求。这是标准HLS播放器的缺点之一,并且将通过根据第二实施例的本发明的数据流控制方法来解决。
自适应比特率流传输需要使用能够以多个比特率对单个源视频进行编码的编码器。播放器客户端根据可用资源在流传输不同编码之间进行切换。这导致对高端和低端连接两者的极少的缓冲、快速的启动时间和良好的体验。这种公知的方法被大多数已知的流传输技术采用并且被广泛部署。本实施例中的自适应比特率流传输使用相同的方法,但是用稍微不同的切换状况概念来增强所述方法。
传统HLS播放器切换到比当前下载速度稍低的比特率。如果网络是不友好和有尖刺的(spiky),则这可能导致视频质量的快速波动。例如-考虑用户试图观看以5种不同比特率(500kbps、1Mbps、1.5Mbps、2.0Mbps和2.5Mbps)编码的电影,并且客户端播放器目前以2.5Mbps流传输。如果在30秒内互联网波动,并且只产生650kbps的速度,则标准HLS播放器将通过播放500Kbps使流降级,这表示视频质量的巨大差异,从而导致差的用户观看体验。
在本发明中,数据流控制方法的自适应比特率模式顺序地,即以逐步的方式向上或向下切换比特率,而不在单个步骤中上升或下降到可能的最高或最低比特率,从而能够提供比特率的更平滑的切换并且保持相似的用户体验,除非客户端播放器的缓冲器不能处理网络状况。在这种情况下,自适应比特率模式将退守到标准方法,但提供对流畅回放的优先级。比特率的逐步上升或下降是根据在接收节点处接收到的数据的不同编码速率。
5.2.2质量贪婪模式
流畅性和视频质量是高质量用户体验的最重要因素。虽然在5.2.2节中本实施例的自适应比特率模式试图解决流畅性问题,但是根据本发明的数据流控制方法的质量贪婪模式试图从自适应比特率应用的不同方面解决质量问题。该模式的效果是请求更高比特率水平的TS片段,只要能保证流畅回放。因此,该模式不仅考虑网络状况,而且还在下一新的TS片段被请求之前评估流畅回放。
如图6所示的质量贪婪算法阐述如下:
S6-1.假设当前下载比特率水平为cTSSegKbps,下一最高比特率为nHigherTSKbps,并且先前最低比特率为pLowerTSKbps
S6-2.可以从主m3u8索引文件获得比特率值。这样我们可以形成以下比特率关系:
cTSSegKbps=x*pLowerTSKbps
nHigherTSKbps=y*cTSSegKbps
S6-3.在回放会话期间,可用带宽被连续监控并被标记为abwKbps,当前本地缓冲器高速缓存的TS片段号被标记为nCacheTSSeg,并且当前缓冲器数据的回放持续时间被标记为tCacheTS秒。
S6-4.流控制方法仅基于HLS原生限制来切换下一新TS片段的比特率水平,其中,在所述HLS原生限制中,无法在TS片段的中间获知用于不同比特率水平的对齐IDR(即时解码器刷新)帧的文件偏移,而不实际下载它并解析它。
S6-5.如果发生以下情况:
nCacheTSSeg<=1以及tCacheTS<=10以及abwKbps<cTSSegKbps*1.5
本发明的数据流控制方法将为下一次TS下载立即切换到最低比特率水平。这是针对视频流畅性是第一优先级的紧急情况。
S6-6.如果发生以下情况:
nCacheTSSeg>=3以及tCacheTS>=20,
本实施例的数据流控制方法将进入质量贪婪以使得客户端设备能够:
a)只要网络状况良好,就请求更高的比特率水平;
b)保持当前比特率水平,尽管网络状况不太好;
c)请求更高的比特率水平而不是建议的比特率水平,尽管网络变坏
S6-7.如果abwKbps>=nHigherTSKbps,则Q-FLOW HLS将以遵循正常常规HLS策略的比特率nHigherTSKbps请求下一TS片段。质量贪婪模式还允许数据流控制方法以nHighherTSKbps比特率请求下一TS片段,只要满足以下条件中的任一个:
a)abwKbps>=cTSSegKbps如果y<=2
b)abwKbps>=cTSSegKbps*(y-1)如果y>2
带宽和新比特率质量之间的上述关系可以保证在新的TS片段被完全下载之后在本地缓冲器中存在至少1个片段。
S6-8.否则质量贪婪模式允许保持当前比特率
(cTSSegKbps),只要满足以下条件中的任一个:
a)abwKbps>pLowerKbps如果x<=2
b)abwKbps>cTSSegKbps/2并且x>2
这种关系保证下一TS片段可以在EXT-X-TARGETDURATION×2时间窗口内被完全下载,使得在本地缓冲器高速缓存中仍然存在至少1个片段。
S6-9.否则,数据流控制方法意识到网络状况变为足够差以致切换到更低比特率。质量-贪婪模式不是简单地切换到低于abwKbps的建议比特率,而是检查是否可以下载在EXT-X-TARGETDURATION×2时间窗口中比建议比特率高一级的比特率。
如果可以,则由客户端播放器下载更高的比特率而不是建议比特率。如果不可以,则使用建议比特率。
S6-10.否则,如果如果nCacheTSSeg<3或tCacheTS<20,则数据流控制方法将退出质量贪婪模式并进入传统HLS自适应比特率切换策略,以确定我们是否应当请求更高的比特率水平或请求更低的比特率。
5.2.3智能预缓冲模式以获得前10秒的TS片段
根据本发明的数据流控制方法提供智能预缓冲模式以改善客户端设备处的回放启动时间。传统HLS播放器将在其获得TS片段之后立即回放该内容。然而,在本模式中,流控制方法将其分为两个阶段-首先将数据下载到播放器,然后其次回放数据并下载下一条数据。
在第一阶段期间,数据流控制方法下载数据但不回放,而不管我们如何快速地接收数据。这提供了控制何时进入第一阶段的机会。例如,在电影回放会话期间,可以在用户选择电影海报之后但在他/她点击“播放”按钮之前进入第一阶段。这可以在其次回放阶段之前提供2秒或3秒来下载数据。
如上所述的第二阶段实际上是回放。在用户选择“播放”按钮之后,如果在第一预缓冲阶段中下载了足够数据,则数据流控制方法可以立即开始回放。这为用户提供了视频回放的即时启动。即使第一预缓冲阶段没有下载足够数据以立即开始回放,它仍然可以获得比正常回放处理更多的数据。
对于带宽消耗考虑,预缓冲模式可以限制在第一预缓冲阶段中可以下载多少数据,或者决定是否应当允许该功能在无线移动网络上使用。该功能提供了对新发布的前10秒进行预缓冲,或者甚至对用户想要观看和预缓冲哪种电影进行一些预测。一旦电影被预缓冲并被置于本地高速缓存中,则实际上在小于200ms内实现瞬时启动。
5.2.4起始比特率选择模式
本发明的数据流控制机制提出了用于选择起始比特率的选择模式。有两种标准方法来选择启动比特率。第一种是选择最低水平,另一种是选择最高水平。
最低的一个选项可以产生最流畅的回放体验,因为这将使得数据流控制方法能够通过监控下载过程来了解网络状况。当网络状况允许时,该选择模式仅选择更高的比特率。然而,终端用户承受启动过程的低视频质量。
最高的一个选项选择要启动的最高比特率。如果数据流控制方法识别出网络不能支持它,则该选择模式将切换到更低的比特率。这可以导致启动过程的最佳视频质量,但只是在网络足够好时。但是,如果使用公共互联网,则该选项可能通过缓冲和长时间加载/启动时间问题而遭受差的用户体验。
因此,起始比特率选择模式采用中间的方式。结合数据回收策略,如果客户端设备已经缓存了第一TS片段,则本发明提出的选择模式以第二最高比特率请求第二TS片段,该第二最高比特率比最低比特率水平高一级。如果没有本地高速缓存,则本发明的选择模式将请求最低比特率作为第一下载TS片段。
5.2.5快速动作画面优先策略
视频编码可以具有不同的模式和滤波器,以提高视频质量。根据本发明的数据流控制方法提供了用于处理高动态画面帧以增强观看体验,提供最高观看质量和有效管理网络资源的机制或策略。
为了获得更好的视频质量,编码器增加用于快速或高运动视频的比特率,这被称为可变比特率编码或(VBR)。类似地,更低的比特率用于缓慢运动或静态视频。如果不考虑这一点,则快速运动视频可能增大主播放列表文件中的预定带宽参数。使用VBR编码,带宽值可以远高于平均带宽值。传统HLS播放器仅请求具有小于当前网络的可用带宽的带宽值的TS片段。这会在有限带宽下对终端用户造成差的观看体验。
因此,本发明的数据流控制机制实现快速运动视频第一模式或快速运动视频优先模式,以在有限的网络状况下获得更好的观看体验。对于给定的带宽值,如果数据的一部分的比特率为带宽值的80%或更高的百分比,则数据的该部分被认为是快速运动视频。缓慢运动画面部分是与带宽值相比以50%的更低比特率百分比的部分。
对于HLS,数据的该部分是TS片段,使得如果当前流具有x kbps的预定带宽,并且如果一个TS片段的平均比特率大于80%×xkbps,则流控制方法将该TS片段识别为包含快速动作视频。备选地,如果一个TS片段的平均比特率小于50%×xkbps,则该TS片段包含缓慢运动画面。
TS片段的平均比特率可以通过使用其文件大小和持续时间来获得:
avgBR=TSSize/TSDuration*8/1000kbps.
如果服务器提供,则可以从m3u8索引文件获得文件大小,但是如果它不在索引文件中,则可以通过使用HTTP HEAD请求来获取该值以获得它。然后可以从EXT-INF标签(在HLS“Pantos”规范中定义,以指定媒体片段的持续时间)接收TS持续时间。
快速运动视频模式的优点是通过切换到更低的比特率来节省带宽资源,以便获得更高比特率的TS片段(如果该片段包含快速运动视频)。基本假设是,如果画面是缓慢运动,则一步更低的比特率数据也可以给予用户可接受的质量。
当数据流控制在5.1.1节中的加速模式下运行时,该模式最有效。该模式的操作步骤可以描述为:
1.假设当前下载比特率水平为cVideoKbps;该比特率水平中的下一新TS片段具有nAvgTSKbps的平均比特率,并且在该比特率水平中的该下一TS片段之后的下一TS片段具有nnAvgTSKbps的平均比特率。当前可用带宽可以被标记为abwKbps。
2.如果nAvgTSKbps<50%×cVideoKbps并且abwKbps<nnAvgTSKbps,则快速运动画面模式将切换到下一新TS片段的更低一级的比特率。在下载TS之后,数据流控制方法将把下载比特率恢复为cVideoKbps,使得我们可以用比特率nnAvgTSKbps下载TS片段。
3.但是如果nAvgTSKbps<50%×cVideoKbps并且abwKbps>=nnAvgTSKbps,则数据流控制方法将不切换到更低的比特率水平,因为可以下载没有网络带宽问题的高运动画面TS片段。
4.否则,如果下一TS片段不是缓慢运动画面,则数据流控制方法将不应用切换。
高运动视频第一模式仅对VBR(可变比特率)或ABR(平均比特率)有效,而可能对CBR(恒定比特率)没有帮助,因为当与数据的其他部分相比时CBR模式中的快速运动数据不具有更大的比特率。
5.2.7重新分割模式
TS片段持续时间影响两个方面:一个是对于电视直播回放的信号延迟;另一个是回放启动时间。推荐的TS片段持续时间为10秒,并且根据HLS“Pantos”标准,客户端播放器不应当从播放列表文件的结尾开始少于三个目标持续时间的播放。这些状况导致电视直播的更多延迟以及在回放会话的启动之前的更多加载时间。
根据本发明的数据流控制方法提出了用于将10秒TS片段重新分割为更小的TS片段以允许快速启动和低延迟视频回放的重新分割机制。如果部署已经被设置为具有小的TS片段持续时间(例如,小于或等于3秒),则数据流控制方法将不会再次对其进行重新分割。
本实施例的重新分割处理要求在一个单个TS片段中存在多个GoP(图片组),使得它可以在GoP的开始点将整个TS重新分割为更小的TS片段。小片段TS持续时间被设置为大于2秒。该设置允许重新分割模式具有一些时间在播放器被触发以使用高速缓存TS数据之前评估带宽状况。如果带宽足够好,则数据流控制方法将在接收到3个小TS片段之后立即播放数据,这可以是6秒。否则,播放器必须等待更多时间以在播放之前下载新的TS片段。
通过使用更小的TS片段,重新分割模式能够通过在开始播放之前缓存更少的TS片段来减少电视直播延迟。更小的TS片段还提供了细粒度的自适应比特率切换控制,如第5.2.2节所述。
尽管已经描述了特定实施例,然而这些实施例仅表示为示例性的,而不是为了限制本发明的范围。的确,本文中描述的新设备、方法和产品可以实施为各种其他形式;此外,可以在不脱离本发明的精神和范围的前提下,对本文所描述的方法和系统的形式进行各种省略、替换和改变。所附权利要求及其等同物旨在覆盖落入实施例的范围内的这种形式或修改。
Claims (23)
1.一种用于管理通过通信网络从发送节点到接收节点的媒体数据的流动的数据流控制方法,所述接收节点能够播放所述媒体数据,其中发送到所述接收节点的数据是以多个不同数据速率编码的数据段的序列,以及其中所述数据流控制方法由所述接收节点实现,用于控制所述数据从所述发送节点到所述接收节点的流动,所述方法还包括:
识别所述发送节点和所述接收节点之间的通信网络的状况;
识别所述接收节点处的数据缓冲器的状况;
以及基于所识别的所述通信网络的状况和所识别的所述接收节点的状况来调整通过所述通信网络的媒体数据流。
2.根据权利要求1所述的方法,其中,所述接收节点能够解码所述数据段并且从所述数据段回放所述媒体数据。
3.根据权利要求2所述的方法,其中,识别网络的状况的步骤包括:由所述接收节点检测网络流量的水平,以及基于检测到的网络流量的水平来确定所述发送节点和所述接收节点之间的网络是处于正常状态还是处于拥塞状态;以及
-其中,识别数据缓冲器的状况的步骤包括:根据所述接收节点的所述数据缓冲器中存在的数据的量来确定所述接收节点处的数据缓冲器水平。
4.根据权利要求3所述的方法,还包括:如果网络状况被识别为正常并且缓冲器水平的状况小于80%,则所述接收节点被配置为连续地接收数据,直到缓冲器水平达到80%或直到达到所述接收节点处的预定数据限制或直到网络状况变为拥塞。
5.根据权利要求3或4所述的方法,还包括:当网络状况被识别为正常并且缓冲器水平的状况小于80%时,所述接收节点被配置为首先下载接收到的第一数据段,并且仅当第一数据段的下载进度达到80%时开始下载所述序列中的第二数据段。
6.根据权利要求3或4所述的方法,还包括:如果网络状况被识别为正常并且缓冲器水平的状况小于80%,则所述接收节点被配置为实现所述接收节点和所述发送节点之间的一个或多个附加网络路径或TCP链路,每个TCP链路能够下载数据段的一部分。
7.根据权利要求3或4所述的方法,还包括:如果网络状况被识别为正常并且缓冲器水平的状况小于80%,则所述方法还包括:
检测能够将所需媒体数据流传输到所述接收节点的多个发送节点的位置;
计算所述多个发送节点中的每一个与所述接收节点之间的距离;以及
确定从所述接收节点到所述多个发送节点中的至少两个发送节点的并发路径。
8.根据权利要求6或7所述的方法,其中,在给定时间在所述发送节点和所述接收节点之间实现最多六个并发路径或TCP链路。
9.根据权利要求3所述的方法,其中,如果缓冲器水平大于80%并且网络状况被识别为正常,则所述方法包括:调整接收装置接收数据的速率,使其等于在接收数据的回放期间缓冲器的消耗速率。
10.根据权利要求9所述的方法,包括:使用最多两个活动TCP链路或活动网络路径来接收数据,使得在每个链路上请求数据段的数据的预定量或预定部分或份额。
11.根据权利要求10所述的方法,其中,所请求的所述预定量或预定部分或份额是在每个链路上接收到的数据段的25%。
12.根据权利要求3所述的方法,其中,如果缓冲器水平大于80%并且网络状况被识别为拥塞,则所述方法包括:
-将接收数据流的速率降低到接近零或计算的低速率,或者完全中止从所述发送节点接收数据,直到网络状况变为正常。
13.根据权利要求12所述的方法,包括:使用单个活动网络路径或TCP链路来接收数据,使得在所述单个链路上请求数据段的数据的小的预定量。
14.根据权利要求13所述的方法,其中,所述小的预定量是数据段的数据的10%。
15.根据权利要求6至8中任一项所述的方法,其中,所述方法还包括:通过利用每个数据部分的首部部分中的顺序的标识符,对通过多个网络路径或TCP链路在所述接收节点处不按顺序到达的数据段的数据部分进行重新排序。
16.根据前述权利要求中任一项所述的方法,其中,所述接收节点能够通过逐步向上或向下调整当前比特率,以比当前比特率高的比特率或比网络的监控带宽低的比特率自适应地请求特定数据段,直到达到网络的带宽容量。
17.根据权利要求16所述的方法,其中,调整带宽的步骤包括:将比特率逐步增加或降低到在所述接收节点处接收到的数据的不同比特率中的下一最高或最低比特率,直到网络状况变为拥塞或者达到带宽限制。
18.根据权利要求16或17中任一项所述的方法,包括:如果网络状况正常,则由所述接收节点请求数据段的更高比特率水平;如果网络状况不正常或者拥塞,则维持当前比特率水平;或者如果网络拥塞,则请求更高比特率水平而不是建议的比特率水平。
19.根据前述权利要求中任一项所述的方法,包括:选择用于在所述接收节点处接收数据的起始比特率,其中,如果所述接收节点具有本地高速缓存,则所述选择步骤包括:高速缓存所接收的数据的第一数据段,并以比最低比特率水平高一级的比特率请求第二数据段;以及如果不存在本地高速缓存,则所述选择步骤包括:由所述接收节点请求最低比特率作为第一下载TS片段。
20.根据前述权利要求中任一项所述的方法,包括以下步骤:
-识别所述网络的当前带宽值;
-其中,如果当前数据段的当前接收数据比特率小于或等于当前带宽的50%,并且如果下一数据段的平均比特率小于或等于当前带宽的50%,则所述方法还包括:针对所述下一数据段,切换到比当前接收比特率更低的用于接收数据的比特率。
21.根据前述权利要求中任一项所述的方法,包括以下步骤:通过将定义持续时间的接收数据段重新分割为更小的数据段来减少在所述接收节点处数据段的回放持续时间,每个更小的段具有比所述数据段更短的持续时间。
22.一种用于实现根据前述权利要求中任一项所述的方法的系统,包括:能够通过通信网络通信的发送节点和接收节点,其中,所述接收节点能够实现前述权利要求中任一项所述的方法。
23.根据权利要求23所述的系统,其中,所述接收节点是能够将从所述发送节点接收的数据进行多媒体回放的客户端设备或用户终端或机顶盒。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1406048.7 | 2014-04-03 | ||
GB1406048.7A GB2524958A (en) | 2014-04-03 | 2014-04-03 | Data flow control method |
GB1418455.0 | 2014-10-17 | ||
GB1418455.0A GB2524855B (en) | 2014-04-03 | 2014-10-17 | Data Flow Control Method and System |
PCT/GB2015/051026 WO2015150812A1 (en) | 2014-04-03 | 2015-04-01 | Data flow control method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106537856A true CN106537856A (zh) | 2017-03-22 |
CN106537856B CN106537856B (zh) | 2020-03-27 |
Family
ID=50776796
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580029507.2A Pending CN106664255A (zh) | 2014-04-03 | 2015-04-01 | 数据流控制方法 |
CN201580029503.4A Expired - Fee Related CN106537856B (zh) | 2014-04-03 | 2015-04-01 | 数据流控制方法和系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580029507.2A Pending CN106664255A (zh) | 2014-04-03 | 2015-04-01 | 数据流控制方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US20170041238A1 (zh) |
EP (2) | EP3138250A1 (zh) |
CN (2) | CN106664255A (zh) |
CA (2) | CA2981646A1 (zh) |
GB (2) | GB2524958A (zh) |
PH (2) | PH12016501946A1 (zh) |
WO (2) | WO2015150814A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881931A (zh) * | 2017-05-16 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种数据缓冲方法及网络设备 |
CN109218762A (zh) * | 2018-09-06 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 多媒体资源播放方法、装置、计算机设备及存储介质 |
CN110365551A (zh) * | 2019-07-04 | 2019-10-22 | 杭州吉讯汇通科技有限公司 | 网络信息采集方法、装置、设备及介质 |
CN110647071A (zh) * | 2019-09-05 | 2020-01-03 | 华为技术有限公司 | 一种控制数据传输的方法、装置及存储介质 |
CN111093110A (zh) * | 2019-12-03 | 2020-05-01 | 华为技术有限公司 | 一种http请求传输方法及设备 |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106572367A (zh) * | 2015-10-08 | 2017-04-19 | 中移(杭州)信息技术有限公司 | 一种多媒体文件的获取方法、装置及系统 |
US9397973B1 (en) * | 2015-10-16 | 2016-07-19 | Machine Zone, Inc. | Systems and methods for transferring message data |
EP3387767B1 (en) * | 2015-12-07 | 2023-03-01 | Livestreaming Sweden AB | Adaptive bitrate (abr) adjustments for live over the top (ott) distribution |
CN105611328B (zh) * | 2015-12-25 | 2019-01-01 | 深圳Tcl新技术有限公司 | 基于hls流媒体的视频数据加速下载方法及装置 |
JP2017157903A (ja) * | 2016-02-29 | 2017-09-07 | 富士ゼロックス株式会社 | 情報処理装置 |
US10182020B2 (en) * | 2016-05-31 | 2019-01-15 | Anchorfree Inc. | System and method for improving an aggregated throughput of simultaneous connections |
US10897652B1 (en) * | 2016-07-29 | 2021-01-19 | Rockwell Collins, Inc. | In-flight entertainment systems and methods |
US20180069909A1 (en) * | 2016-09-08 | 2018-03-08 | Sonic Ip, Inc. | Systems and Methods for Adaptive Buffering for Digital Video Streaming |
WO2018116298A1 (en) | 2016-12-19 | 2018-06-28 | Telicomm City Connect, Ltd. | Predictive network management for real-time video with varying video and network conditions |
FR3060925B1 (fr) * | 2016-12-21 | 2020-02-21 | Orange | Serveur et client adaptes pour ameliorer le temps d'aller-retour d'une requete http |
US10334055B2 (en) | 2017-02-01 | 2019-06-25 | International Business Machines Corporation | Communication layer with dynamic multi-session management |
EP3622684B1 (en) * | 2017-05-19 | 2022-05-11 | Huawei Technologies Co., Ltd. | Apparatus and method for traffic profiling of mobile video streaming |
CN107317655A (zh) * | 2017-06-06 | 2017-11-03 | 努比亚技术有限公司 | 屏幕投影的传输控制方法、系统及可读存储介质 |
TWI826387B (zh) * | 2017-09-08 | 2023-12-21 | 美商開放電視股份有限公司 | 用於內容呈現之位元率及管線保留技術 |
US11736406B2 (en) * | 2017-11-30 | 2023-08-22 | Comcast Cable Communications, Llc | Assured related packet transmission, delivery and processing |
US10764650B2 (en) * | 2017-12-07 | 2020-09-01 | At&T Intellectual Property I, L.P. | Video optimization proxy system and method |
US10728140B2 (en) | 2017-12-18 | 2020-07-28 | At&T Intellectual Property I, L.P. | Deadlock-free traffic rerouting in software-deifned networking networks |
CN109995664B (zh) | 2017-12-29 | 2022-04-05 | 华为技术有限公司 | 一种发送数据流的方法、设备和系统 |
US10686861B2 (en) * | 2018-10-02 | 2020-06-16 | Google Llc | Live stream connector |
US10880354B2 (en) * | 2018-11-28 | 2020-12-29 | Netflix, Inc. | Techniques for encoding a media title while constraining quality variations |
CN111245773B (zh) * | 2018-11-29 | 2023-04-18 | 厦门雅迅网络股份有限公司 | 一种汽车以太网流量监控方法、终端设备及存储介质 |
US10826649B1 (en) * | 2018-12-19 | 2020-11-03 | Marvell Asia Pte, Ltd. | WiFi receiver architecture |
US10728138B2 (en) | 2018-12-21 | 2020-07-28 | At&T Intellectual Property I, L.P. | Analytics enabled radio access network (RAN)- aware content optimization using mobile edge computing |
US11336942B2 (en) * | 2018-12-28 | 2022-05-17 | Dish Network L.L.C. | Methods and systems for management of a processing offloader |
US11956665B2 (en) * | 2019-02-01 | 2024-04-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Detecting congestion at an intermediate IAB node |
KR20200100387A (ko) * | 2019-02-18 | 2020-08-26 | 삼성전자주식회사 | 실시간 비트레이트 제어 방법 및 이를 위한 전자 장치 |
CN110061925B (zh) * | 2019-04-22 | 2022-06-07 | 深圳市瑞云科技有限公司 | 一种基于云服务器的影像避免拥塞及加速传输方法 |
US11019127B1 (en) * | 2019-07-25 | 2021-05-25 | Amazon Technologies, Inc. | Adaptive media fragment backfilling |
DE102019218827B3 (de) * | 2019-12-04 | 2021-04-29 | Wago Verwaltungsgesellschaft Mbh | Verfahren, vorrichtung und system zum optimieren einer datenübertragung zwischen steuerungsvorrichtungen und cloud-systemen |
US11076188B1 (en) * | 2019-12-09 | 2021-07-27 | Twitch Interactive, Inc. | Size comparison-based segment cancellation |
FR3106029A1 (fr) | 2020-01-02 | 2021-07-09 | Orange | Procédé de gestion d’un téléchargement progressif et adaptatif d’un contenu numérique par un terminal lecteur de flux multimédia connecté à un réseau de communication, dispositif de gestion, terminal lecteur de flux multimédia et programme d’ordinateur correspondants. |
RU2723908C1 (ru) * | 2020-02-14 | 2020-06-18 | Общество с ограниченной ответственностью «Кодмастер» | Система управления потоками данных |
CN113453024B (zh) * | 2020-03-25 | 2022-06-14 | 华为技术有限公司 | 监控业务的方法、装置和系统 |
CN111416830A (zh) * | 2020-03-27 | 2020-07-14 | 北京云端智度科技有限公司 | 一种自适应的p2p流媒体数据调度算法 |
CN111417031B (zh) * | 2020-04-28 | 2022-05-31 | 北京金山云网络技术有限公司 | 文件传输方法、装置以及电子设备 |
US11153581B1 (en) | 2020-05-19 | 2021-10-19 | Twitch Interactive, Inc. | Intra-segment video upswitching with dual decoding |
CN112188218B (zh) * | 2020-09-24 | 2022-08-30 | 陈旻 | 基于分布式信源码的节能视频传输系统 |
CN112469006B (zh) * | 2020-11-17 | 2022-07-12 | 浙江大华技术股份有限公司 | 基于cpe系统的数据传输方法、终端及计算机可读存储介质 |
CN113852866B (zh) * | 2021-09-16 | 2022-08-02 | 珠海格力电器股份有限公司 | 媒体流的处理方法、装置及系统 |
US20230345075A1 (en) * | 2022-04-25 | 2023-10-26 | Avago Technologies International Sales Pte. Limited | Rebuffering reduction in adaptive bit-rate video streaming |
CN114598428A (zh) * | 2022-05-10 | 2022-06-07 | 北京中科大洋科技发展股份有限公司 | 一种基于srt协议的冗余推流方法 |
CN114650446B (zh) * | 2022-05-24 | 2022-08-19 | 苏州华兴源创科技股份有限公司 | 多通道视频数据自适应传输方法、装置、计算机设备 |
US11736552B1 (en) * | 2022-09-21 | 2023-08-22 | Microsoft Technology Licensing, Llc | Sender based adaptive bit rate control |
CN116193202B (zh) * | 2022-12-05 | 2023-07-18 | 百鸟数据科技(北京)有限责任公司 | 一种用于野外观测的多通路视频观测系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060109856A1 (en) * | 2004-11-24 | 2006-05-25 | Sharp Laboratories Of America, Inc. | Method and apparatus for adaptive buffering |
WO2009149100A1 (en) * | 2008-06-06 | 2009-12-10 | Amazon Technologies, Inc. | Client side stream switching |
CN101662676A (zh) * | 2009-09-30 | 2010-03-03 | 四川长虹电器股份有限公司 | 流媒体缓冲的处理方法 |
EP2308200A1 (en) * | 2008-07-28 | 2011-04-13 | Vantrix Corporation | Data streaming through time-varying transport media |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997004584A2 (en) * | 1995-07-21 | 1997-02-06 | Philips Electronics N.V. | Method of receiving compressed video signals |
US6543053B1 (en) * | 1996-11-27 | 2003-04-01 | University Of Hong Kong | Interactive video-on-demand system |
US7240359B1 (en) * | 1999-10-13 | 2007-07-03 | Starz Entertainment, Llc | Programming distribution system |
WO2001089160A1 (en) * | 2000-05-18 | 2001-11-22 | British Telecommunications Public Limited Company | Communications network |
GB0018119D0 (en) * | 2000-07-24 | 2000-09-13 | Nokia Networks Oy | Flow control |
US7274661B2 (en) * | 2001-09-17 | 2007-09-25 | Altera Corporation | Flow control method for quality streaming of audio/video/media over packet networks |
US7218610B2 (en) | 2001-09-27 | 2007-05-15 | Eg Technology, Inc. | Communication system and techniques for transmission from source to destination |
US20030074456A1 (en) * | 2001-10-12 | 2003-04-17 | Peter Yeung | System and a method relating to access control |
US8200747B2 (en) * | 2002-07-12 | 2012-06-12 | Hewlett-Packard Development Company, L.P. | Session handoff of segmented media data |
US7047310B2 (en) * | 2003-02-25 | 2006-05-16 | Motorola, Inc. | Flow control in a packet data communication system |
US20150341812A1 (en) * | 2003-08-29 | 2015-11-26 | Ineoquest Technologies, Inc. | Video quality monitoring |
US7096741B2 (en) * | 2004-07-14 | 2006-08-29 | Jds Uniphase Corporation | Method and system for reducing operational shock sensitivity of MEMS devices |
US8934533B2 (en) | 2004-11-12 | 2015-01-13 | Pelco, Inc. | Method and apparatus for controlling a video surveillance display |
US20060150225A1 (en) * | 2005-01-05 | 2006-07-06 | Microsoft Corporation | Methods and systems for retaining and displaying pause buffer indicia across channel changes |
AU2006280105B9 (en) * | 2005-08-12 | 2011-08-18 | Nokia Solutions And Networks Gmbh & Co. Kg | A multi-source and resilient video on demand streaming system for a peer-to-peer subscriber community |
US7512700B2 (en) * | 2005-09-30 | 2009-03-31 | International Business Machines Corporation | Real-time mining and reduction of streamed data |
US20070171830A1 (en) | 2006-01-26 | 2007-07-26 | Nokia Corporation | Apparatus, method and computer program product providing radio network controller internal dynamic HSDPA flow control using one of fixed or calculated scaling factors |
US8806045B2 (en) * | 2006-09-01 | 2014-08-12 | Microsoft Corporation | Predictive popular content replication |
CN100589440C (zh) * | 2006-10-18 | 2010-02-10 | 中国科学院自动化研究所 | 一种应用于互联网的网络拥塞控制系统及方法 |
US7733808B2 (en) * | 2006-11-10 | 2010-06-08 | Microsoft Corporation | Peer-to-peer aided live video sharing system |
WO2009005747A1 (en) * | 2007-06-28 | 2009-01-08 | The Trustees Of Columbia University In The City Of New York | Set-top box peer-assisted video-on-demand |
US7991904B2 (en) * | 2007-07-10 | 2011-08-02 | Bytemobile, Inc. | Adaptive bitrate management for streaming media over packet networks |
US8346959B2 (en) * | 2007-09-28 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Client-controlled adaptive streaming |
US7975282B2 (en) * | 2007-11-01 | 2011-07-05 | Sharp Laboratories Of America, Inc. | Distributed cache algorithms and system for time-shifted, and live, peer-to-peer video streaming |
EP2056247A1 (en) * | 2007-11-02 | 2009-05-06 | Alcatel Lucent | Guaranteed quality multimedia service over managed peer-to-peer network or NGN |
US8917598B2 (en) * | 2007-12-21 | 2014-12-23 | Qualcomm Incorporated | Downlink flow control |
US9047236B2 (en) * | 2008-06-06 | 2015-06-02 | Amazon Technologies, Inc. | Client side stream switching |
US20130290492A1 (en) * | 2009-06-12 | 2013-10-31 | Cygnus Broadband, Inc. | State management for video streaming quality of experience degradation control and recovery using a video quality metric |
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 |
CN101588595B (zh) * | 2009-07-07 | 2012-01-25 | 董志 | 一种无线应用服务系统动态调整数据传输速率的方法 |
US8719879B2 (en) * | 2010-06-11 | 2014-05-06 | Kuautli Media Investment Zrt. | Method and apparatus for content delivery |
US8667166B2 (en) * | 2010-11-02 | 2014-03-04 | Net Power And Light, Inc. | Method and system for resource-aware dynamic bandwidth control |
US8687491B2 (en) * | 2011-04-05 | 2014-04-01 | Vss Monitoring, Inc. | Systems, apparatus, and methods for managing an overflow of data packets received by a switch |
US9344494B2 (en) * | 2011-08-30 | 2016-05-17 | Oracle International Corporation | Failover data replication with colocation of session state data |
WO2013087793A1 (en) | 2011-12-14 | 2013-06-20 | Tp Vision Holding B.V. | Streaming video data having adaptable bit rate |
US9386058B2 (en) | 2012-02-27 | 2016-07-05 | Qualcomm Incorporated | DASH client and receiver with playback rate selection |
EP2665239B1 (en) * | 2012-05-14 | 2016-08-31 | Alcatel Lucent | An adaptive streaming aware networks node, client and method with priority marking |
US9629025B2 (en) * | 2013-05-03 | 2017-04-18 | Blackberry Limited | Controlling data offload in response to feedback information |
US9386308B2 (en) | 2013-07-16 | 2016-07-05 | Cisco Technology, Inc. | Quality optimization with buffer and horizon constraints in adaptive streaming |
US9124947B2 (en) * | 2013-09-04 | 2015-09-01 | Arris Enterprises, Inc. | Averting ad skipping in adaptive bit rate systems |
US9813470B2 (en) * | 2014-04-07 | 2017-11-07 | Ericsson Ab | Unicast ABR streaming |
-
2014
- 2014-04-03 GB GB1406048.7A patent/GB2524958A/en not_active Withdrawn
- 2014-10-17 GB GB1418455.0A patent/GB2524855B/en not_active Expired - Fee Related
-
2015
- 2015-04-01 US US15/301,602 patent/US20170041238A1/en not_active Abandoned
- 2015-04-01 CN CN201580029507.2A patent/CN106664255A/zh active Pending
- 2015-04-01 CN CN201580029503.4A patent/CN106537856B/zh not_active Expired - Fee Related
- 2015-04-01 CA CA2981646A patent/CA2981646A1/en not_active Abandoned
- 2015-04-01 US US15/301,589 patent/US10547883B2/en not_active Expired - Fee Related
- 2015-04-01 EP EP15718255.1A patent/EP3138250A1/en not_active Withdrawn
- 2015-04-01 WO PCT/GB2015/051028 patent/WO2015150814A1/en active Application Filing
- 2015-04-01 WO PCT/GB2015/051026 patent/WO2015150812A1/en active Application Filing
- 2015-04-01 EP EP15718256.9A patent/EP3149904A1/en not_active Withdrawn
- 2015-04-01 CA CA2981638A patent/CA2981638A1/en not_active Abandoned
-
2016
- 2016-10-03 PH PH12016501946A patent/PH12016501946A1/en unknown
- 2016-10-03 PH PH12016501948A patent/PH12016501948A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060109856A1 (en) * | 2004-11-24 | 2006-05-25 | Sharp Laboratories Of America, Inc. | Method and apparatus for adaptive buffering |
WO2009149100A1 (en) * | 2008-06-06 | 2009-12-10 | Amazon Technologies, Inc. | Client side stream switching |
EP2308200A1 (en) * | 2008-07-28 | 2011-04-13 | Vantrix Corporation | Data streaming through time-varying transport media |
CN101662676A (zh) * | 2009-09-30 | 2010-03-03 | 四川长虹电器股份有限公司 | 流媒体缓冲的处理方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881931A (zh) * | 2017-05-16 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种数据缓冲方法及网络设备 |
US11146606B2 (en) | 2017-05-16 | 2021-10-12 | Tencent Technology (Shenzhen) Company Limited | Data buffering method, network device, and storage medium |
CN109218762A (zh) * | 2018-09-06 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 多媒体资源播放方法、装置、计算机设备及存储介质 |
CN109218762B (zh) * | 2018-09-06 | 2019-11-26 | 百度在线网络技术(北京)有限公司 | 多媒体资源播放方法、装置、计算机设备及存储介质 |
CN110365551A (zh) * | 2019-07-04 | 2019-10-22 | 杭州吉讯汇通科技有限公司 | 网络信息采集方法、装置、设备及介质 |
CN110647071A (zh) * | 2019-09-05 | 2020-01-03 | 华为技术有限公司 | 一种控制数据传输的方法、装置及存储介质 |
CN111093110A (zh) * | 2019-12-03 | 2020-05-01 | 华为技术有限公司 | 一种http请求传输方法及设备 |
CN111093110B (zh) * | 2019-12-03 | 2021-02-12 | 华为技术有限公司 | 一种http请求传输方法及设备 |
CN112969089A (zh) * | 2019-12-03 | 2021-06-15 | 华为技术有限公司 | 一种http请求传输方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2015150812A1 (en) | 2015-10-08 |
GB2524958A (en) | 2015-10-14 |
US10547883B2 (en) | 2020-01-28 |
PH12016501946A1 (en) | 2017-02-06 |
GB2524855B (en) | 2017-03-29 |
GB2524855A (en) | 2015-10-07 |
CN106664255A (zh) | 2017-05-10 |
EP3138250A1 (en) | 2017-03-08 |
EP3149904A1 (en) | 2017-04-05 |
US20170041238A1 (en) | 2017-02-09 |
GB201418455D0 (en) | 2014-12-03 |
CA2981638A1 (en) | 2015-10-08 |
PH12016501948A1 (en) | 2017-07-24 |
CN106537856B (zh) | 2020-03-27 |
CA2981646A1 (en) | 2015-10-08 |
US20170188056A1 (en) | 2017-06-29 |
WO2015150814A1 (en) | 2015-10-08 |
GB201406048D0 (en) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106537856A (zh) | 数据流控制方法和系统 | |
US20210352125A1 (en) | Devices, systems, and methods for converting or translating dynamic adaptive streaming over http (dash) to http live streaming (hls) | |
Kleinrouweler et al. | Delivering stable high-quality video: An SDN architecture with DASH assisting network elements | |
Huysegems et al. | HTTP/2-based methods to improve the live experience of adaptive streaming | |
US9191322B2 (en) | Methods, apparatus and computer readable medium for managed adaptive bit rate for bandwidth reclamation | |
US9118814B2 (en) | Set-top box peer-assisted video-on-demand | |
KR101699656B1 (ko) | 적응형 스트리밍 트래픽을 관리 및 조절하기 위한 장치, 시스템, 및 방법 | |
CN104137505B (zh) | 实现对分段内容流式传输的网络发起的控制的方法和装置 | |
Van Der Hooft et al. | An HTTP/2 push-based approach for low-latency live streaming with super-short segments | |
US7885286B2 (en) | Method and arrangements in an IP network | |
Thomas et al. | Enhancing MPEG DASH performance via server and network assistance | |
KR101982290B1 (ko) | 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법 | |
JP7256881B2 (ja) | メディア・ストリーム送信方法、装置、デバイス | |
CN102594774A (zh) | 流媒体传输方法与系统 | |
KR101922552B1 (ko) | 멀티미디어 컨텐트 전송 시스템에서 적응적 스트리밍을 이용한 트래픽 제어 방법 및 장치 | |
Hwang et al. | HAVS: Hybrid adaptive video streaming for mobile devices | |
CN105049862A (zh) | 用于传输编码媒体数据的方法和设备 | |
JP7259056B2 (ja) | メディアストリーム送信方法、装置、システム、およびデバイス | |
Gama et al. | Video streaming analysis in multi-tier edge-cloud networks | |
GB2539335A (en) | Data flow control method and system | |
Clayman et al. | In-network scalable video adaption using big packet protocol | |
EP2873247A1 (en) | A method of and apparatus for determining a composite video services stream | |
Abdelsalam et al. | Evaluation of DASH algorithms on dynamic satellite-enhanced hybrid networks | |
CA2657444A1 (en) | Multi-tiered scalable media streaming systems and methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200713 Address after: England Patentee after: Alfa sage Limited Address before: Totola, Virgin Islands Patentee before: Orbital Multi Media Holdings Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200327 Termination date: 20210401 |