CN106487779A - 带宽管理 - Google Patents
带宽管理 Download PDFInfo
- Publication number
- CN106487779A CN106487779A CN201610740201.4A CN201610740201A CN106487779A CN 106487779 A CN106487779 A CN 106487779A CN 201610740201 A CN201610740201 A CN 201610740201A CN 106487779 A CN106487779 A CN 106487779A
- Authority
- CN
- China
- Prior art keywords
- network
- bandwidth
- stream
- bit rate
- audio
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- 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/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- 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
- 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/0894—Packet rate
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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
- 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/1066—Session management
- H04L65/1083—In-session procedures
-
- 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/70—Media network packetisation
-
- 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
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
-
- 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/233—Processing of audio elementary streams
- H04N21/2335—Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
-
- 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 or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
-
- 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/236—Assembling 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/2368—Multiplexing of audio and video streams
-
- 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/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/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- 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/26208—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 the scheduling operation being performed under constraints
- H04N21/26216—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 the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- 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/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64723—Monitoring of network processes or resources, e.g. monitoring of network load
- H04N21/64738—Monitoring network characteristics, e.g. bandwidth, congestion level
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Environmental & Geological Engineering (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
带宽管理。一种在网络上从发送装置向接收装置发送视频包流的方法,该方法包括以下步骤:向该接收装置发送音频包流;根据与在该接收装置处接收该音频包流关联的一个或更多个度量确定网络带宽的测度;并且根据所确定的测度启用视频包流。
Description
技术领域
本发明涉及用于管理媒体流在可变网络情况下的发送的装置和方法。
背景技术
多媒体内容在互联网上的实时流式传输近年来已变成越来越常见的应用。大范围的多媒体应用(诸如点播TV、直播TV观看、视频会议、网络会议、视频电话、互联网协议电话(VoIP)以及许多其他应用)依靠端对端流式传输解决方案。不像可以首先被“非实时”获取再稍后观看或播放的“下载的”媒体文件,流式传输媒体应用需要媒体源对媒体信号编码并且在网络上向媒体接收器发送媒体信号,该媒体接收器必须实时解码并播放媒体信号。
互联网协议语音和视频(VVoIP)电话特别需要以及时的方式接收并解码VVoIP包,使得可以以最小的延迟播放语音和视频。然而,差带宽可用性会导致VVoIP包迟到,这引起播放语音和视频中的不期望延迟或丢失。在这种情况下,会降低语音和视频多媒体的质量,使得VVoIP电话使用更少的网络带宽,这可以帮助包更快速地穿过网络。
可用的网络带宽会根据两个呼叫者之间的路径而变化。例如,如果VVoIP电话正在已连接到移动网络的移动装置上进行,则可用带宽将根据移动网络覆盖范围、移动小区中的用户数量、离基站的距离等而变化。类似地。连接到WiFi网络的装置还会由于连接到接入点的用户数量、WiFi信号强度等而经历可变的带宽可用性。一些装置还可以在移动网络与WiFi之间切换它们的网络连接。由此,可用于VVoIP电话的带宽会变化。
可用带宽的减少可能使得VVoIP电话的质量劣化。带宽可能在VVoIP期间减少,这会使得VVoIP包在网络中的某点处排队。如上所述,这可能在由接收者接收这些包时导致延迟并由此引起这些包中的音频和视频媒体的播出的不期望延迟。网络中的包的大积聚可能最终导致掉话。由此,期望调整VVoIP电话的传输特性(诸如比特率)使得可以在存在可用带宽减少时维持电话。
当存在可用带宽的增大时,期望调整VVoIP电话的传输特性使得以最佳音频和视频质量进行呼叫,这会提高用户的电话体验。
估计网络的可用带宽的一种方法是将探测包发送到网络中且测量在接收装置处接收这些包时的延迟。Ribeiro等人在“pathChirp:Efficient Available BandwidthEstimation for Network Paths”(2003年)详细说明了一种这样的探测方法。用这种传统探测方法的问题是通过使网络劣化来检测网络带宽。探测包本身使用网络带宽,由此探测会使VVoIP电话的质量劣化,特别是在可用网络带宽已有限时。
因此,需要一种估计网络的可用带宽且有效调整VVoIP流(或任何其他类型的媒体流)的传输特性以提供具有可能的最佳质量的流的更有效的方法。
发明内容
根据公开的第一方面,提供了一种在网络上从发送装置向接收装置发送视频包流的方法,所述方法包括以下步骤:向所述接收装置发送音频包流;根据与在所述接收装置处接收所述音频包流关联的一个或更多个度量确定网络带宽的测度;以及根据所确定的测度启用视频包流。
启用步骤可以包括根据所述测度确定所述网络的所述带宽是否足以支持所述视频包流,以及如果是,则启用所述视频包流。
所述视频包流可以以可用于所述发送装置的最低视频质量来启用。
所述方法还可以包括以下步骤:根据所确定的测度调整所述视频包流的传输比特率。
所述方法还可以包括以下步骤:如果所述测度指示足够的可用网络带宽,则提高所述音频包流的所述传输比特率;以及继提高所述音频流的所述比特率之后重新确定所述测度,并且如果所述测度指示足够的可用网络带宽,则执行所述启用。
所述方法还可以包括以下步骤:重新确定所述测度;以及如果重新确定的测度指示所述音频流和视频流的所述传输比特率大于所述网络带宽,则仅降低所述视频流的所述传输比特率。
所述方法还可以包括以下步骤:根据所述测度确定过载带宽;以及使所述视频流的所述传输比特率降低所述过载带宽。
所述方法还可以包括以下步骤:确定网络带宽与音频流和视频流的传输比特率之间的差,其中,将视频流的传输比特率降低所述差。
所述方法还可以包括以下步骤:重新确定所述测度;以及如果重新确定的测度指示所述音频流和视频流的所述传输比特率大于所述网络带宽,则仅停用所述视频流的所述传输。
所述一个或更多个度量可以包括网络延迟的测度,所述延迟包括从所述发送装置在所述接收装置处接收第一音频包花费的第一时间。
延迟还可以包括从所述接收装置在所述发送装置处接收第二音频包花费的第二时间。
所述方法还可以包括以下步骤:在接收装置处:从发送装置接收音频包流;确定与接收音频包流关联的一个或更多个度量;以及向发送装置发送所确定的度量。
所述方法还可以包括以下步骤:发送用于测试所述网络的所述可用带宽的一个或更多个探测包,其中,所述探测包包括从所述音频包流复制的数据。
所述方法还可以包括以下步骤:根据所确定的测度将所述网络分类为良好、差或正常状态。
所述方法还可以包括以下步骤:如果所述网络状态被分类为良好,则提高所述视频包流的传输比特率或启用所述视频包流,或者如果所述网络状态被分类为差,则降低所述视频包流的所述传输比特率或停用所述视频包流。
所述方法还可以包括以下步骤:在启用所述视频包流的所述步骤之前且如果所述网络被分类为良好,则增大所述音频包流的所述传输比特率的提高率;以及以所述提高率提高所述音频包流的所述传输比特率。
根据公开的第二方面,提供了一种估计用于包括发送装置和接收装置的网络的可用带宽的方法,方法包括以下步骤:在网络上向接收装置传输媒体包流,媒体包包括用于在接收装置处流式传输媒体的媒体数据;在网络上传输一个或更多个探测包,以测试网络的可用带宽,其中,探测包包括媒体包流的复制数据;以及在探测包的传输期间根据与在接收装置处接收媒体包流关联的一个或更多个度量确定网络带宽可用性的测度。
探测包可以为来自媒体包流的包的复制。
所述方法还可以包括以下步骤:如果测度指示足以劣化媒体流的质量的可用带宽的减少,则停止探测包的传输。
所述方法还可以包括以下步骤:如果测度指示足够的可用带宽,则提高用于媒体流的传输比特率。
传输比特率的所述提高可以包括启用视频流。
探测包可以以规律时间间隔来传输,其中,如果测度指示足以劣化媒体流的质量的网络带宽的减少,则减少时间间隔之间的时间量。
根据公开的第三方面,提供了一种用于在网络上向接收装置传输视频包流的发送装置,所述发送装置包括:收发器,该收发器被构造成向所述接收装置发送音频包流;带宽估计器,该带宽估计器被构造成根据与在所述接收装置处接收所述音频包流关联的一个或更多个度量确定网络带宽的测度;以及控制器,该控制器被构造成根据所确定的测度启用音频包流的传输。
所述控制器还可以被构造成根据所述测度确定所述网络的所述带宽是否足以支持所述视频包流,并且如果足以,则启用所述视频包流。
所述控制器还可以被构造成以可用于所述发送装置的最低视频质量来启用。
所述控制器还可以被构造成根据所确定的测度调整所述视频包流的传输比特率。
所述控制器还可以被构造成如果所述测度指示足够的可用网络带宽,则提高所述音频包流的所述传输比特率;并且所述带宽估计器被构造成继提高所述音频流的所述比特率之后重新确定所述测度,并且如果所述测度指示足够的可用网络带宽,则启用所述视频包流。
所述带宽估计器可以被构造成重新确定所述测度;并且所述控制器可以被构造成如果所述所重新确定的测度指示所述音频流和视频流的所述传输比特率大于所述网络带宽,则仅停用所述视频流的所述传输。
所述控制器可以被构造成确定网络带宽与音频流和视频流的传输比特率之间的差;并且将视频流的传输比特率降低所述差。
所述控制器可以被构造成根据所述测度确定过载带宽;并且使所述视频流的所述传输比特率降低所述过载带宽。
带宽估计器可以被构造成重新确定所述测度;并且如果重新确定的测度指示所述音频流和视频流的所述传输比特率大于所述网络带宽,则仅停用所述视频流的所述传输。
所述一个或更多个度量可以包括网络延迟的测度,所述延迟包括从所述发送装置在所述接收装置处接收第一音频包花费的第一时间。
延迟还可以包括从所述接收装置在所述发送装置处接收第二音频包花费的第二时间。
收发器还可以被构造成从接收装置接收度量。
所述收发器还可以被构造成传输用于测试所述网络的所述可用带宽的一个或更多个探测包,其中,所述探测包包括从所述音频包流复制的数据。
控制器可以被构造成根据所确定的测度将所述网络分类为良好、差或正常状态。
控制器可以被构造成如果所述网络状态被分类为良好,则提高所述视频包流的传输比特率或启用所述视频包流,或者如果所述网络状态被分类为差,则降低所述视频包流的所述传输比特率或停用所述视频包流。
控制器可以被构造成在启用所述视频包流的所述步骤之前且如果所述网络被分类为良好,则增大所述音频包流的所述传输比特率的提高率;以及以所述提高率提高所述音频包流的所述传输比特率。
根据公开的第四方面,提供了一种估计用于包括发送装置和接收装置的网络的可用带宽的发送装置,装置包括:收发器,该收发器被构造成在网络上向接收装置传输媒体包流,媒体包包括用于在接收装置处流式传输媒体的媒体数据;控制器,该控制器被构造成使得收发器在网络上传输一个或更多个探测包,以测试网络的可用带宽,其中,探测包包括媒体包流的复制数据;以及带宽估计器,该带宽估计器被构造成在探测包的传输期间根据与在接收装置处接收媒体包流关联的一个或更多个度量确定网络带宽可用性的测度。
探测包可以为来自媒体包流的包的复制。
控制器可以被构造成如果探测包的传输期间测度指示足以劣化媒体流的质量的可用带宽的减少,则停止探测包的传输。
控制器可以被构造成如果探测包的传输期间测度指示足够的可用带宽,则提高用于媒体流的传输比特率。
传输比特率的所述提高可以包括启用视频流。
探测包可以以规律时间间隔来传输,并且控制器可以被构造成如果在探测包的传输期间测度指示足以劣化媒体流的质量的网络带宽的减少,则减少时间间隔之间的时间量。
根据公开的第五方面,提供了一种定义上述装置的计算机程序代码,借此可以制造装置。
根据公开的第六方面,提供了一种非暂时计算机可读存储介质,该非暂时计算机可读存储介质上面存储有计算机可读指令,当该计算机可读指令在用于生成集成电路的表现的计算机系统处处理时,使得所述计算机系统生成上述装置的显示。
根据公开的第七方面,提供了一种用于执行上述方法的计算机程序代码。
根据公开的第八方面,提供了一种非暂时计算机可读存储介质,该非暂时计算机可读存储介质上面存储有计算机可读指令,当该计算机可读指令在计算机系统处执行时,使得所述计算机系统执行上述方法。
附图说明
现在将参照附图以示例的方式来描述本发明,在附图中:
图1示出了发送装置和接收装置的示例;
图2描绘了估计网络延迟的处理;以及
图3a-图3b示出了调整VVoIP流的示例流程图。
具体实施方式
提出以下描述,以使得本领域任意技术人员能够进行并使用本发明,并且以下描述在特定应用的场境中提供。对所公开实施方式的各种修改将对本领域技术人员容易地清晰。
这里所定义的一般原理可以在不偏离本发明的精神和范围的情况下应用于其他实施方式和应用。由此,本发明不旨在限于所示的实施方式,而是符合与这里所公开的原理和特征一致的最宽范围。
图1描绘了发送装置10,该发送装置10可以为能够生成基于包的数据的任何合适装置,诸如计算机、智能电话、IP电话等。发送装置10包括用于连接到通信网络12(诸如互联网或其他基于包的网络)的收发器11。发送装置10可以经由收发器11向通信网络12发送数据包和/或从通信网络12接收数据包。发送装置10包括用于对要在通信网络12上发送到接收装置20的媒体进行编码的编码器13。例如,编码器13可以根据OPUS WB编解码器对音频数据编码并根据h.264编解码器对视频数据编码。可以使用其他音频和视频编解码器。经编码的媒体可以在封包器16处封包。媒体可以根据例如实时传输协议(RTP)标准来封包。可以使用其他包格式。然后,封包后的媒体可以提供给收发器11,以在网络12上发送给接收装置20。
接收装置20包括用于从网络12接收包的收发器21。包被提供给缓冲器22,该缓冲器22可以为能够根据包中的媒体数据的播出顺序对包进行排序的抖动缓冲器。该顺序可以由各包中所含有的序号或时间戳来指示。解码器23按由缓冲器22提供给解码器23的顺序解码包,以形成媒体流。解码器23根据由编码器13使用的编解码器对包解码。媒体消费方24接收解码后的媒体流以播放。
发送装置10包括用于估计网络12的可用带宽的带宽估计器14。所估计的带宽可以用于从发送装置10到接收装置20的路径、从接收装置20到发送装置10的路径或这两个路径。质量控制器15可以根据所估计的网络12的带宽调整用于媒体流的参数。例如,基于来自带宽估计器14的带宽估计,质量控制器15可以使用用于在编码器13处编码媒体的参数(例如,编解码器、编解码器模式、像素分辨率、帧率、音频比特率等)。在另一个示例中,还可以调整用于在封包器16处封包编码后媒体的参数(例如,包尺寸、包结构等)。可以改变编码器13和封包器16参数,以使得改变媒体流的传输比特率。由此,可以通过选择用于编码器13和封包器16的合适参数来控制媒体流的传输比特率。
接收装置20也可包括带宽估计器25,该带宽估计器25可以具有与发送装置10的带宽估计器14类似的功能。带宽估计器14和带宽估计器25可以在它们之间共享信息(诸如下面描述的测度)以确定网络带宽的估计。
在优选实施方式中,装置10和装置20为VVoIP电话的参与方,并且要编码、封包并发送的媒体可以为音频和/或视频媒体数据。媒体流可以由两个包流组成:(i)用于音频数据的流和(ii)用于视频数据的流。质量控制器15可以选择性地启用/停用流并调整流的质量,使得可以维持VVoIP,并且以可能的最佳质量来维持。例如,如果网络带宽低,则质量控制器15可以停用视频流,使得可以维持音频流。在VVoIP电话期间,可以给予维持流中的一个超过其他流(例如,音频超过视频)的优先权,以维持该电话。
带宽估计器14可以基于源于流中的一个(音频或视频)的度量估计网络12的带宽。优选地,因为音频流使用比视频流少的带宽且因为音频流可能对于维持电话比视频流更必要(即,音频流可以具有比视频流高的优先权),所以基于音频流来估计带宽。如下面更详细提及的,可以基于使用音频流估计的网络带宽来调整视频流的传输。例如,如果根据音频流确定有低带宽可用,则可以临时暂停视频流。当根据音频流确定更大的带宽可用性时,然后可以重新启用视频流。下面是可以如何使用音频流估计网络的带宽的一些示例。还可以使用利用来自音频流的包估计网络带宽的其他方法。
带宽估计器14可以使用与从发送装置10到接收装置20的音频流的包关联的特定参数来确定网络带宽的估计。还可以使用从接收装置20到发送装置10的音频流。例如,网络带宽可以使用以下测度中的一个或组合来估计:
1)网络延迟。高网络延迟值可以指示大量包可以积累在网络中的装置或装置网络驱动器中。这可以是例如因为发送装置10以可能导致包的积压的高于网络12可用带宽的比特率发送包。网络延迟值指示包从发送装置10行进到接收装置20和/或从接收装置20到发送装置10花费的时间。
图2描绘了可以如何测量网络延迟的一个示例。包240和包241可以为用于在发送装置10与接收装置20之间发送音频的包(例如,RTP包)。包240和包241可以含有以下信息中的一个或更多个:本地包生成时间(LPGT)和/或远程包生成时间(RPGT)和/或包空闲时间(PIT)。
当装置10和装置20在通信时,例如在VVoIP电话期间,对于电话发送的各音频包可以包含LPGT信息,该信息对于包240为T0。当在装置20处接收包240时,测量接收的时间点(T1),并且当装置20发送下一包241时,在接收到最后一个包240的时间与当前包241的发送时间(T2)之间经过的时间并入包241中作为PIT(即,在图2中所示的示例中PIT=T2-T1)。最后接收的包240在装置10处的包生成时间(即,T0)被包括在包241中。然后,装置10可以根据包241中的信息将往返旅行的网络延迟估计为:
网络延迟=包241接收的时间(T3)-RPGT(T0)-PIT(T2-T1)
因此,网络延迟=(T1-T0)+(T3-T2),该延迟为在往返行程内网络上传输花费的时间。
网络延迟值可能受诸如装置10与装置20之间的网络中的网络网关的数量的因素影响。这些网关对网络延迟的影响通常可以为恒定的。为了考虑由网关引起的延迟,可以采取若干网络延迟测量(例如,在75至125之间,并且优选地为大约100),然后可以确定若干最小延迟值(例如,四个最低值)的平均值。所确定的值可以提供由两个方向上的网关引起的平均往返行程延迟。该平均值的一半可以用于估计由单个方向(假定延迟同样沿两个方向)上的网关引起的延迟。由此,对于随后测量的网络延迟值,减半的平均值可以用作从随后测量的网络延迟值减去的固定值,以考虑由网关引起的延迟。
2)包接收间隙。包接收间隙可以指示连续的包流在网络中丢失或卡住的时间。这可能打断例如VVoIP电话,如果包接收间隙值高,则该电话可能掉话。无论何时包接收间隙高时都维持VVoIP电话的一种方式是使发送装置降低传输比特率,使得包可以到达接收装置,并且可以维持电话。
在音频流期间,接收装置20可以期望在某些时候接收包作为流的一部分。例如,包可以含有应以特定顺序和/或在特定时间在接收装置20处播放的音频的一部分。期望接收包与实际接收该包之间经过的时间可以指示包接收间隙。
另选地,包接收间隙可以通过计数接收装置20处的音频播放器(该音频播放器可以以规则间隔需要音频包)在实际接收到音频包之前请求用于播放音频的包的次数来指示。当使用该方法时,可以加强接收间隙估计,以考虑可变包尺寸的影响以及从抖动缓冲器播出的丢失包的冲击。例如,如果来自音频播放器的播出请求为每20ms一次(因为,例如期望的基础/默认包尺寸为20ms)且接收含有100ms音频数据的大包,那么在100ms持续时间内五个播出请求还可以发生,这将引起五的错误包接收间隙。包接收间隙的更准确测度可以通过将播出请求的数量除以包尺寸且将所获得的值乘以播出请求之间的时间量(在上述示例中为20ms)来提供。
还可以通过将丢失的包的比例考虑在内来增强包接收间隙测度。例如,可以根据预定持续时间(例如,一秒)内未从抖动缓冲器播出的包的比例来确定丢失的包的比例。比例值(在该值加一之后)可以乘以准确的包接收间隙,以提供包接收间隙的更加准确的测度。
该包接收间隙可以基于接收的包的类型来确定。例如,在一些语音通信系统中,可以在静寂时段期间定期(例如,每160ms)发送静寂包(例如,静寂描述符(SID)包)。由此,静寂可能不适于在网络情况快速变化时测量包接收间隙。由此,在一些场景中,可以对于仅含有音频数据的包估计包接收间隙。
3)包丢失。该测度指示指定时间段期间网络中包的丢失百分比。
4)网络抖动。该测度指示接收连续包之间的时间变化。变化可能由网络拥塞、时间漂移、路径变化等来引起。网络抖动的告知指示接收到较混乱的包。
5)突发丢失。该测度指示包的丢失与预定数量的良好包的连续接收的开始之间的时间段中的包的数量。
测度1-5中的每个可以基于音频流的包由发送装置10和/或接收装置20整体或部分测量。发送装置10可以从网络统计报告接收或导出用于测度1-5中的一个或更多个的值,该报告可以编译且从接收装置20(例如,由带宽估计器25)发送。由带宽估计器14确定的带宽估计可以使用上述测度1至5中的一个或任意组合。当组合测度时,各测度可以被不同的加权,以反映网络带宽如何显著地影响该测度。例如,网络带宽可以对网络延迟测度具有比其他测度更显著的效果,因此网络延迟测度可以提供有更高的权重。由此,在确定组合测度时适当地加权各测度可以提供网络带宽的更快且更准确的反映,并且允许质量控制器15快速调整媒体流的传输参数。
各测度(或测度的组合)的值可以提供网络带宽的估计。当网络的带宽增大或减小时,各值(或值的组合)可以对应地变化,以指示网络的带宽的增大或减小。
在优选示例中,带宽估计器14根据上述测度1)-5):网络延迟、包接收间隙、包丢失、网络抖动以及突发丢失导出网络带宽的测度。该导出的测度可以称为带宽因子(BWF)。BWF可以基于测度1)至5)的加权和。各个测度可以具有不同的权重。表1中示出如何加权各测度的一个示例。其他权重是可能的。
测度(Pi) | 权重因子(Wi) |
1)网络延迟(P0) | 0.70 |
2)包接收间隙(P1) | 0.10 |
3)包丢失(P2) | 0.05 |
4)网络抖动(P3) | 0.10 |
5)突发丢失(P4) | 0.05 |
表1
以下算式是如何使用测度1)-5)和权重因子计算BWF的示例:
其中,n为测量编号,k为测度的数量,Wi为第i个测度的权重因子,并且Pi(n)为用于第i个测度的值。BWF可以以其他合适的方式来计算。
Pi(n)可以为用于第i个测度的量化值。各测度可以被不同地量化为反映所测量值在估计网络的带宽中的意义。例如,当提供用于网络延迟的值时,如果测量到短的延迟值,则因为网络的带宽被认为良好,所以零量化可以应用于与该短延迟时间关联的值。然而,如果测量到长的延迟时间(这指示网络的带宽变差),那么可以向与该长延迟时间关联的值提供大量化,以提供差网络条件的夸大表达。这可以允许系统对带宽劣化更快进行反应并调整。
可用带宽可以根据测度而被分类为不同的状态。例如,低BWF值(例如,在第一阈值以下的值)可以指示网络12中有大量额外带宽可用于支持具有比当前媒体流高的传输比特率。由此,网络带宽的状态可以由于低BWF值而被分类为良好。高BWF值(例如,在第二阈值以上的值)可以指示网络中对于当前媒体流不具有足够的带宽。网络带宽的状态可以由于高BWF值而被分类为差。在高值与低值之间的BWF值(例如,第一阈值与第二阈值之间的值)可以指示带宽对于当前媒体流是足够的。网络带宽的状态可以由于这种BWF值而被分类为正常。在示例中,BWF值可以在从最小值0至最大值1000范围内。如果BWF值小于100,那么网络可以被分类为良好。如果BWF值大于200,那么网络可以被分类为差。如果BWF值在100至200之间,那么网络可以被分类为正常。可以使用其他合适的值和范围。
基于网络的状态(即,带宽),质量控制器15可以调整VVoIP流的传输。例如,如果网络状态为良好,那么质量控制器15可以提高VVoIP传输的比特率。如果网络状态差,那么质量控制器可以降低VVoIP传输的比特率。如果网络的状态正常,则质量控制器15可以不执行任何调整。
在差状态下,可以降低VVoIP的传输比特率,使得网络的状态至少为正常。这可以通过估计传输比特率大于网络带宽的带宽量(这里还称为过载带宽)并使VVoIP流的传输比特率降低过载带宽来实现。优选地,减小视频流(如果启用)的带宽,而不是减小音频流的带宽。在一个示例中,可以根据BWF值和视频流的当前带宽来估计过载带宽。可以通过将视频带宽乘以BWF/BWF_Max来估计过载带宽,其中,BWF_Max为最大BWF值(例如,在上述示例值中为1000)。然后,可以使视频带宽减小所估计的过载带宽。
在良好状态下,可以通过提高流的质量来提高VVoIP的传输比特率。例如,如果当前媒体流仅包括音频流,那么音频流的质量可以被提高到最佳可用音频质量。如果网络在音频质量提高之后仍然处于良好状态(即,BWF在第一阈值以下),那么可以以视频流的最低可用质量来启用视频流。如果网络仍然处于良好状态,则可以逐渐提高视频流的质量,直到状态变为正常或差。如下面更详细描述的,可以使用探测频繁测试并验证网络的状态。
通常在监测BWF值的同时提高传输比特率允许在未不利地影响VVoIP电话的情况下,比特率提高到对于网络的可用带宽足够的水平。相反,如果传输比特率提高太快,那么可能结果是在带宽估计器14能够确定网络带宽对于较高传输比特率是否足够之前传输比特率大于网络带宽。由此,传输比特率的逐渐提高可以是有利的。然而,逐渐提高传输比特率是缓慢的过程,因此装置10无法足够快地反应以适当适应于网络带宽的变化,适当适应使得可以快速且适当调整VVoIP流。下面讨论通过有效使用探测包来确定网络中多少带宽可用的方法。
在传统系统中,发送探测包以测试可用带宽涉及发送包括垃圾数据或不需要数据的探测包。然而,在本公开中,探测包可以为来自媒体(音频和/或视频)流的复制包。网络12可以为有损耗的,因此来自媒体流的一些包可能在网络12中丢失且永不到达接收装置20。这可能引起要在接收装置20处播放的媒体的质量劣化。由此,当探测时,优选的是探测包为来自媒体流的包的复制包。探测包还可以为用于媒体包的前向纠错(FEC)包。通过发送复制媒体或FEC包,接收装置20可以接收有用数据而不是垃圾或不需要的数据。当接收装置10接收到复制包时,其可以检查之前是否通过媒体流接收到相同的包。如果之前接收了相同的包,则可以丢弃复制包。如果之前未经由媒体流接收相同的包(即,因为该包已丢失或延迟),那么复制包被置于抖动缓冲器中以代替丢失的包。由此,通过将复制包或FEC包用作探测包,可以减轻网络中的包丢失并提高要播放的媒体的质量。
质量控制器15可以发起探针包发送。宽带估计器14可以在发送期间监测网络12的带宽。如果在探测期间检测到的带宽有足够的劣化,则可以停止探测。宽带的劣化指示网络带宽对于媒体流的当前传输比特率是足够的但没有太多可用于提高传输比特率的额外带宽,因此不调整媒体流。如果探测期间带宽没有足够的劣化,那么质量控制器15可以提高媒体流的质量。这可以涉及提高媒体流的质量或如果媒体流停用则可以启用媒体流或如果已启用媒体流则提高媒体流的质量。
探测包的传输比特率指示在没有媒体流的显著劣化的情况下可以使用多少带宽。由此,媒体流的传输速率可以在不影响媒体流的质量的情况下被安全地增大多达与探测包的传输比特率相同的量。探测包的传输比特率可以基于之前的探测而自身调整。例如,如果一个或更多个之前探测未指示网络带宽的任何显著劣化,那么可以提高用于探测包的传输比特率,这可以允许更快速地提高媒体流的传输比特率。然而,如果之前探测指示网络带宽的劣化,用于随后探测传输的传输比特率可以降低或重置为默认最小值。
探测包的传输可以以规律的时间间隔来进行。如果在探测期间检测到带宽的足够劣化,则可以增加到下一探测为止的时间。因为发送探测包需要网络带宽,所以媒体流的质量可能每次执行探测时受影响(即使探测可以有助于减轻包丢失)。由此,通过延长检测带宽劣化时探测间隔之间的时间,可以减小媒体流的质量的波动。
图3a-图3b是详细说明了如何响应于所检测带宽来调整媒体流(包括音频流和视频流)且如何利用探测来调整带宽的示例的流程图。
在步骤301处,估计网络的带宽。可以例如通过确定BWF(如上所述)来估计带宽。在步骤302处,根据所估计的带宽对网络的状态进行分类(如上所述)。如果状态被分类为良好,则处理移到步骤303。如果状态本分类为正常,那么不执行调整或探测,并且处理移回步骤301。如果状态被分类为差,那么处理移至图3b的步骤321。
在步骤303处,确定视频流是否适于最佳可用质量。如果不,那么处理移至步骤304,在步骤304处,提高音频流的质量。然后,处理移回步骤301。音频的质量可以经由步骤301、步骤302、步骤303以及步骤304的循环逐渐提高到最佳质量。另选地,可以快速而不是逐渐提高音频流的质量,使得音频流的质量立即或在一个或两个循环之后提高到最佳可用质量。如果紧接快速提高音频流的质量之后网络的状态变为正常或差,那么质量的提高率可以切换回逐渐提高(图3a中未示出该步骤)。
如果/当音频流适应于最佳可用质量,那么处理移至步骤305。当音频流适于最佳可用质量时,开启探测定时器(附图中未示出该步骤)。当探测定时器上的时间到达探测击发阈值FT时,探测开始。探测击发阈值FT最初可以为预定值,然后被调整(如下面进一步描述的)。
在步骤305处,递增探测定时器PF。在该示例中,将探测定时器递增自从最后通过步骤305起经过的时间量。然而,探测时间可以基于时间(例如,每秒)或以每播放请求计数(如上面关于包接收间隙描述的)或以任何其他合适的时间测度来递增。
在步骤306处,检查探测定时器,以探测定时器是否达到探测击发阈值FT。击发阈值FT=ηt,其中,t为预定的时间大致数(例如,六秒),并且η为最初可以被设置为一的击发系数。例如,如果t=6s且η=1,那么FT=6s,并且探测将为从开始探测定时器开始或从最末探测结束时开始的6秒。如果PF未达到FT,那么处理回到步骤301。如果PF达到FT,那么处理移至步骤307。
在步骤307处,开始探测包的发送或如果已开始探测包的发送则该发送继续。探测包在预定持续时间PDT(例如,六秒)内传输。探测包以预定初始带宽来发送。初始探测带宽BWP可以等于以最低可接受质量MIN_V_BW发送视频流所需的带宽。
在步骤308处,确定PT是否大于FT+PDT。如果否,那么探测仍然在进行中,并且处理移回步骤301。如果是,那么在预定持续时间内的探测已结束,并且处理移至步骤309。如果处理到达该步骤,那么网络的状态(参见步骤302)在探测持续时间PDT期间不变差。由此,这指示网络具有足够带宽以较高比特率发送媒体流。
在步骤309处,将击发系数η重置为它的初始值(因为如下所述,如果处理在某时移至步骤323,则击发系数η可能已变化)。
在步骤310处,检查是否启用了视频流。如果未启用视频流,则处理移至步骤311,在步骤311处,开启视频流。在开启视频流之后,处理移回步骤301。优选地,视频流video_bw的初始传输比特率与探测带宽BWp相同。如果启用了视频流,那么处理移至步骤312,在步骤312处,提高视频流的质量。优选地,提高视频流的质量,使得传输比特率video_bw提高了与探测带宽BWp相同的量。
在步骤313处,BWp预定比特率值被递增。由此,如果网络状态对于下一带宽估计仍然良好,则用于下一探测的传输比特率将较高。BWp可以增大至最大探测带宽,该最大探测带宽可以等于可用于媒体流的最大传输比特率。可以根据以下算式来增大BWp:
BWp(n)=BWp(n-1)+预定比特率,其中,n为测量编号。
然后,处理返回到步骤301。
图3b示出了从步骤303(该步骤为网络的状态被分类为差)开始的处理。当网络被分类为差时,用于探测包的传输比特率可以被重置于最小BWp值(附图中未示出该步骤)。
在步骤321处,确定探测包的发送当前是否在进行中。如果否,则处理移至步骤324。如果是,则处理移至步骤322,在步骤322处,停止探测包的发送。在步骤323处,使击发系数η递增预定值y(例如,y=0.3)。每次未完成探测持续时间时(即,在探测期间网络的状态被分类为差),将η递增y。由此,在步骤323处,η被设置为η(n)=η(n-1)+y,其中,n为测量编号。这具有在网络的状态在连续探测传输期间被检测为差时延长探测传输之间的间隔的效果。然后,处理返回到步骤301。
在步骤324处,确定是否启用了视频流。如果是,那么处理移至步骤326。如果否,那么处理移至步骤325,在步骤325处,将音频流的质量降低预定减少量,以降低音频流的传输比特率。然后,处理移回步骤301。处理可以依次通过步骤301、302、321、324以及325,以降低音频流的质量,直到网络状况被分类为正常或良好为止。
在步骤326处,确定(步骤301处估计的)网络带宽是否大于以最低质量(MIN_V-BW)保持视频流而且以最高可用质量保持音频流所需的最小带宽。如果否,那么处理移至步骤327,在步骤327处,停止视频流。如果是,那么处理移至步骤328,在步骤328处,使视频流的质量降低音频流和视频流的当前传输比特率与所确定的网络带宽之间的差。例如,可以如上所述使视频流的带宽减小所估计的过载带宽。处理在步骤327和328之后移回步骤301。
如上所述,带宽优选地使用源于媒体流的传输的测度(诸如BWF)来估计。当媒体流仅包括音频流(即,视频流关闭)时,带宽使用作为音频流的一部分发送的包来估计。然后,该所估计的带宽用于确定是否应启动视频流(即,是否应从零提高视频流的传输比特率)。由此,可以根据已在音频流上发送的包确定网络带宽是否还将适于发送视频流。因此,不需要发送用于确定网络的带宽是否适于支持视频流的单独或额外包。因此,更有效地使用网络带宽。
网络带宽的可用性还可以通过发送探测包来确定,该探测包包括媒体数据或FEC数据或可以为已发送的包的复制。因为探测包内的数据可以用于接收装置,所以这提供了一种使用带宽来探测(而不是发送具有垃圾数据的探测包)的更有效方式。由此,与发送具有垃圾数据的探测包相比,在接收装置处播放的媒体的质量可以通过发送具有复制数据或FEC数据的探测包而更高。图1的装置被示出为包括若干功能块。这仅是示意性的且不旨在定义这种实体的不同逻辑元件之间的严格划分。各功能块可以以任意合适的方式来提供。
通常,上述功能、方法、技术或部件中的任意一个可以在软件、固件、硬件(例如,固定逻辑电路)或其任意组合中实施。术语“模块”、“功能”、“部件”、“元件”、“单元”、“块”以及“逻辑”在这里可以用于总体表示软件、固件、硬件或其任意组合。在软件实施的情况下,模块、功能、部件、元件、单元、块或逻辑表示在处理器上执行时执行指定任务的程序代码。这里所述的算法和方法可以由执行使得处理器执行算法/方法的代码的一个或更多个处理器来执行。计算机可读存储介质的示例包括随机存储存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器以及可以将磁、光以及其他技术用于存储指令或可以由机器访问的其他数据的其他存储装置。
如这里所用的术语计算机程序代码和计算可读质量提及用于处理器的任意类型的可执行代码,该代码包括以机器语言、解释语言或脚本语言表达的代码。可执行代码包括二进制代码、机器代码、字节代码、定义集成电路的代码(诸如硬件描述语言或网络列表)以及以编程语言代码(诸如C、Java或OpenCL)表达的代码。可执行代码例如可以为任意类型的软件、固件、脚本、模块或库,它们在被在虚拟器或其他软件环境处适当执行、处理、解释、编译并执行时,使得支持可执行代码的计算机系统的处理器执行由代码执行的任务。
处理器、计算机或计算机系统可以为具有处理能力使得可以执行指令的任意种类的装置、机器或专用电路或其聚集或部分。处理器可以为任意种类的通用或专用处理器,诸如CPU、GPU、片上系统、状态机、媒体处理器、专用集成电路(ASIC)、可编程逻辑阵列、现场可编程门阵列(FPGA)等。计算机或计算机系统可以包括一个或更多个处理器。
定义集成电路的代码可以以任意方式(包括作为网络列表、用于构造可编程芯片的代码以及作为定义任意级的集成电路的硬件描述语言(包括作为寄存器传送级(RTL)代码、作为高级电路表示(诸如Verilog或VHDL)以及作为低级电路表示(诸如OASIS和GDSII)))来定义集成电路。当在被构造成生成集成电路的显示的适当装配的计算机系统处处理时,定义集成电路的代码可以使得计算机系统生成由代码表达的集成电路的显示。这种计算机系统可以使得例如通过提供用于控制被构造成制造集成电路或制造集成电路的中间表达(诸如光刻掩膜)的输出来生成集成电路的显示。
逻辑上定义集成电路的更高级表示(诸如RTL)可以在计算机系统处处理,该计算机系统被构造成在为了生成由表示这样定义的集成电路的显示而包括电路元件的定义和用于组合这些元件的规则的软件环境的场境中生成集成电路的显示。
与通常软件在计算机系统处执行以便定义机器的情况相同,为了使被构造成生成集成电路的显示的计算机系统执行定义集成电路的代码以便生成该集成电路的显示,可以需要一个或更多个中间用户步骤(例如,提供命令、变量等)。
申请人在此孤立地公开了这里所述的各独立特征和两个或更多个这种特征的任意组合,达到这种特征或组合能够鉴于本领域技术人员的普通常识整体基于本规范而进行的程度,不管这种特征或特征的组合是否解决这里所公开的任何问题。鉴于上述描述,对本领域技术人员将显然的是,可以在本发明的范围内进行各种修改。
Claims (20)
1.一种在网络上从发送装置向接收装置发送视频包流的方法,所述方法包括以下步骤:
向所述接收装置发送音频包流;
根据与在所述接收装置处接收所述音频包流关联的一个或更多个度量确定网络带宽的测度;并且
根据所确定的测度启用视频包流。
2.根据权利要求1所述的方法,其中,所述启用的步骤包括根据所述测度确定所述网络的所述带宽是否足以支持所述视频包流,并且如果是,则启用所述视频包流。
3.根据权利要求1或2所述的方法,其中,所述视频包流以可用于所述发送装置的最低视频质量来启用。
4.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:继启用所述视频包流之后,根据所确定的测度调整所述视频包流的传输比特率。
5.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:
如果所述测度指示足够的可用网络带宽,则提高所述音频包流的所述传输比特率;以及
继提高所述音频流的所述比特率之后重新确定所述测度,并且如果所述测度指示足够的可用网络带宽,则执行所述启用。
6.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:继启用所述视频包流之后:
重新确定所述测度;并且如果重新确定的测度指示音频流和视频流的所述传输比特率大于所述网络带宽,则仅降低所述视频流的所述传输比特率。
7.根据权利要求6所述的方法,所述方法还包括以下步骤:根据所述测度确定过载带宽;以及使所述视频流的所述传输比特率降低所述过载带宽。
8.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:重新确定所述测度;并且如果重新确定的测度指示音频流和视频流的所述传输比特率大于所述网络带宽,则仅停用所述视频流的发送。
9.根据前述权利要求中任一项所述的方法,其中,所述一个或更多个度量包括网络延迟的测度,所述延迟包括:
在所述接收装置处从所述发送装置接收第一音频包花费的第一时间;以及
在所述发送装置处从所述接收装置接收第二音频包花费的第二时间。
10.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:发送用于测试所述网络的可用带宽的一个或更多个探测包,其中,所述探测包包括从所述音频包流复制的数据。
11.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:根据所确定的测度将所述网络分类为良好、差或正常状态;以及如果所述网络状态被分类为良好,则提高所述视频包流的传输比特率或启用所述视频包流,或者如果所述网络状态被分类为差,则降低所述视频包流的所述传输比特率或停用所述视频包流。
12.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:根据所确定的测度将所述网络分类为良好、差或正常状态;在启用所述视频包流的所述步骤之前并且如果所述网络被分类为良好,则增大所述音频包流的所述传输比特率的提高率;以及以所述提高率提高所述音频包流的所述传输比特率。
13.一种用于在网络上向接收装置发送视频包流的发送装置,所述发送装置包括:
收发器,该收发器被构造成向所述接收装置发送音频包流;
带宽估计器,该带宽估计器被构造成根据与在所述接收装置处接收所述音频包流关联的一个或更多个度量确定网络带宽的测度;以及
控制器,该控制器被构造成根据所确定的测度启用音频包流的传输。
14.根据权利要求13所述的装置,其中,所述控制器还被构造成根据所述测度确定所述网络的所述带宽是否足以支持所述视频包流,并且如果是,则启用所述视频包流。
15.根据权利要求13或14所述的装置,其中,
所述控制器被构造成如果所述测度指示足够的可用网络带宽,则提高所述音频包流的传输比特率;并且
所述带宽估计器被构造成继提高所述音频流的所述比特率之后重新确定所述测度,并且如果所述测度指示足够的可用网络带宽,则启用所述视频包流。
16.根据权利要求13至15中任一项所述的装置,其中:
所述带宽估计器被构造成重新确定所述测度;并且
所述控制器被构造成如果所述所重新确定的测度指示所述音频流和所述视频流的所述传输比特率大于所述网络带宽,则仅停用所述视频流的所述传输。
17.根据权利要求13至16中任一项所述的装置,其中,所述收发器还被构造成传输用于测试所述网络的所述可用带宽的一个或更多个探测包,其中,所述探测包包括从所述音频包流复制的数据。
18.根据权利要求13至17中任一项所述的装置,其中,所述控制器还被构造成:根据所确定的测度将所述网络分类为良好、差或正常状态;并且如果所述网络状态被分类为良好,则提高所述视频包流的传输比特率或启用所述视频包流,或者如果所述网络状态被分类为差,则降低所述视频包流的所述传输比特率或停用所述视频包流。
19.根据权利要求13至17中任一项所述的装置,其中,所述控制器还被构造成:根据所确定的测度将所述网络分类为良好、差或正常状态;在启用所述视频包流的所述步骤之前且如果所述网络被分类为良好,则增大所述音频包流的所述传输比特率的提高率;并且以所述提高率提高所述音频包流的所述传输比特率。
20.一种非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质上存储有计算机可读指令,当这些计算机可读指令在计算机系统处执行时,使得所述计算机系统执行根据权利要求1至12中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1515343.0A GB2541733B (en) | 2015-08-28 | 2015-08-28 | Bandwidth Management |
GB1515343.0 | 2015-08-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106487779A true CN106487779A (zh) | 2017-03-08 |
CN106487779B CN106487779B (zh) | 2021-02-26 |
Family
ID=54326503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610740201.4A Active CN106487779B (zh) | 2015-08-28 | 2016-08-26 | 发送视频包流的方法和发送装置 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10587523B2 (zh) |
EP (1) | EP3136742B1 (zh) |
CN (1) | CN106487779B (zh) |
GB (1) | GB2541733B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018228323A1 (zh) * | 2017-06-13 | 2018-12-20 | 广东神马搜索科技有限公司 | 在线服务系统的服务级别控制方法与系统、可读存储介质 |
CN109495326A (zh) * | 2018-12-28 | 2019-03-19 | 北京东土科技股份有限公司 | 网络带宽分配方法和系统 |
CN110603778A (zh) * | 2017-05-05 | 2019-12-20 | 英特尔Ip公司 | 用于新无线电(nr)宽带用户设备(ue)的带宽部分配置和操作 |
CN110870356A (zh) * | 2017-09-27 | 2020-03-06 | Oppo广东移动通信有限公司 | 一种切换带宽部分的方法、终端设备及计算机存储介质 |
CN111373789A (zh) * | 2017-11-16 | 2020-07-03 | 三星电子株式会社 | 无线通信系统中的通信方法和装置 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10332534B2 (en) * | 2016-01-07 | 2019-06-25 | Microsoft Technology Licensing, Llc | Encoding an audio stream |
US10944664B2 (en) * | 2016-09-01 | 2021-03-09 | Nokia Of America Corporation | Estimating bandwidth in a heterogeneous wireless communication system |
EP3648421A4 (en) * | 2017-06-29 | 2020-09-09 | Sony Corporation | COMMUNICATION SYSTEM AND TRANSMISSION DEVICE |
SE545267C2 (en) * | 2018-01-26 | 2023-06-13 | Livestreaming Sweden Ab | Adaptive bitrate adjustments of media streams for live over the top distribution |
KR102415156B1 (ko) * | 2018-04-11 | 2022-06-29 | 삼성에스디에스 주식회사 | Qos 관리 방법 및 이를 수행하기 위한 수신 장치 |
KR102460538B1 (ko) * | 2018-05-28 | 2022-10-28 | 삼성에스디에스 주식회사 | 영상 품질 조정 방법과 이를 수행하기 위한 단말 및 중계 서버 |
US11388464B2 (en) * | 2018-09-25 | 2022-07-12 | Microsoft Technology Licensing, Llc | Increasing video bit rates while maintaining video quality |
US11094346B2 (en) * | 2018-11-12 | 2021-08-17 | Netflix, Inc. | Systems and methods for adaptive streaming of multimedia content |
CN110958415B (zh) * | 2019-11-28 | 2021-06-11 | 武汉兴图新科电子股份有限公司 | 基于单平台网络监测动态调整媒体传输的方法 |
US11277461B2 (en) * | 2019-12-18 | 2022-03-15 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor streaming media |
CN111225254B (zh) * | 2020-01-20 | 2023-04-18 | 视联动力信息技术股份有限公司 | 一种视频传输方法、装置、终端设备及存储介质 |
EP3907943B1 (en) * | 2020-05-05 | 2022-04-27 | Axis AB | Round-trip estimation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1386015A (zh) * | 2001-05-11 | 2002-12-18 | 丽台科技股份有限公司 | 实时音频/视频调整方法 |
US20100005186A1 (en) * | 2008-07-04 | 2010-01-07 | Kddi Corporation | Adaptive control of layer count of layered media stream |
KR20110034895A (ko) * | 2009-09-29 | 2011-04-06 | 한국전자통신연구원 | 네트워크 가용대역폭 고속 측정 방법 및 전송지연추세 측정장치 |
CN104639866A (zh) * | 2013-11-14 | 2015-05-20 | 中兴通讯股份有限公司 | 一种调节会议终端通话质量的方法及装置 |
CN104704814A (zh) * | 2012-07-30 | 2015-06-10 | 摩托罗拉移动技术公司 | 视频会议中的视频带宽分配 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6373855B1 (en) * | 1998-03-05 | 2002-04-16 | Intel Corporation | System and method for using audio performance to control video bandwidth |
NL1015844C2 (nl) | 2000-07-31 | 2002-02-01 | Stoep Cornelis J Van Der | Plaatvormige drager voor bloemen. |
US20020016937A1 (en) * | 2000-08-02 | 2002-02-07 | Henry Houh | Method and apparatus for utilizing a network processor as part of a test system |
US20020144276A1 (en) * | 2001-03-30 | 2002-10-03 | Jim Radford | Method for streamed data delivery over a communications network |
KR100410973B1 (ko) * | 2001-04-18 | 2003-12-18 | 엘지전자 주식회사 | 주문형 비디오 시스템에서 동영상의 스트리밍 방법 |
GB0306296D0 (en) * | 2003-03-19 | 2003-04-23 | British Telecomm | Data transmission |
KR100556861B1 (ko) * | 2003-06-24 | 2006-03-10 | 엘지전자 주식회사 | 휴대 단말기 영상 통화 중 선택적 영상 전송 방법 |
US7571246B2 (en) * | 2004-07-29 | 2009-08-04 | Microsoft Corporation | Media transrating over a bandwidth-limited network |
US8972929B2 (en) | 2005-03-31 | 2015-03-03 | International Business Machines Corporation | Generic user input for GUI framework |
CN101047845A (zh) * | 2006-03-29 | 2007-10-03 | 腾讯科技(深圳)有限公司 | 一种调节视频通讯数据码率的装置和方法 |
US9390698B2 (en) * | 2006-04-05 | 2016-07-12 | Lawrence G. Ryckman | Audio remastering system |
US9324375B1 (en) * | 2009-03-13 | 2016-04-26 | Tata Communications (America) Inc. | Dynamically adjusting stream quality level |
WO2011086571A1 (en) | 2010-01-13 | 2011-07-21 | Tata Consultancy Services Limited | A computationally efficient system for developing configurable, extensible business application product lines using model-driven techniques |
US8977693B2 (en) | 2010-04-27 | 2015-03-10 | Mindware, Inc. | Browser based application development framework |
US20120213272A1 (en) * | 2011-02-22 | 2012-08-23 | Compal Electronics, Inc. | Method and system for adjusting video and audio quality of video stream |
WO2012142042A1 (en) * | 2011-04-10 | 2012-10-18 | Enveloping Prospects Inc. | Satellite telecommunications using a computer system adapted for harsh environments |
US8745641B1 (en) | 2011-07-14 | 2014-06-03 | Google Inc. | Automatic verification and anomaly detection in a representational state transfer (REST) application programming interface |
EP2737741A4 (en) | 2011-07-27 | 2015-01-21 | Seven Networks Inc | SURVEILLANCE OF MOBILE APPLICATION ACTIVITIES IN SEARCH OF MALICIOUS TRAFFIC ON A MOBILE DEVICE |
WO2013065165A1 (ja) | 2011-11-04 | 2013-05-10 | 株式会社メディアシーク | アプリケーションソフトウェアを生成するシステム |
US8954732B1 (en) | 2012-06-27 | 2015-02-10 | Juniper Networks, Inc. | Authenticating third-party programs for platforms |
US8949776B2 (en) | 2012-08-23 | 2015-02-03 | Sap Se | Gateway consumption framework |
US8955081B2 (en) | 2012-12-27 | 2015-02-10 | Motorola Solutions, Inc. | Method and apparatus for single sign-on collaboraton among mobile devices |
US9047404B1 (en) | 2013-03-13 | 2015-06-02 | Amazon Technologies, Inc. | Bridge to connect an extended development capability device to a target device |
US10110647B2 (en) * | 2013-03-28 | 2018-10-23 | Qualcomm Incorporated | Method and apparatus for altering bandwidth consumption |
US9035992B1 (en) * | 2013-04-08 | 2015-05-19 | Google Inc. | Bandwidth modulation system and method |
US9106887B1 (en) * | 2014-03-13 | 2015-08-11 | Wowza Media Systems, LLC | Adjusting encoding parameters at a mobile device based on a change in available network bandwidth |
US10749918B2 (en) * | 2014-11-10 | 2020-08-18 | Avago Technologies International Sales Pte. Limited | Adaptive streaming with early client indication |
US20170301203A1 (en) * | 2016-04-15 | 2017-10-19 | Vivint, Inc. | Reducing bandwidth via voice detection |
-
2015
- 2015-08-28 GB GB1515343.0A patent/GB2541733B/en not_active Expired - Fee Related
-
2016
- 2016-08-09 EP EP16183326.4A patent/EP3136742B1/en active Active
- 2016-08-26 CN CN201610740201.4A patent/CN106487779B/zh active Active
- 2016-08-29 US US15/249,612 patent/US10587523B2/en active Active
-
2020
- 2020-01-28 US US16/774,158 patent/US10965603B2/en not_active Expired - Fee Related
-
2021
- 2021-03-17 US US17/204,061 patent/US11489781B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1386015A (zh) * | 2001-05-11 | 2002-12-18 | 丽台科技股份有限公司 | 实时音频/视频调整方法 |
US20100005186A1 (en) * | 2008-07-04 | 2010-01-07 | Kddi Corporation | Adaptive control of layer count of layered media stream |
KR20110034895A (ko) * | 2009-09-29 | 2011-04-06 | 한국전자통신연구원 | 네트워크 가용대역폭 고속 측정 방법 및 전송지연추세 측정장치 |
CN104704814A (zh) * | 2012-07-30 | 2015-06-10 | 摩托罗拉移动技术公司 | 视频会议中的视频带宽分配 |
CN104639866A (zh) * | 2013-11-14 | 2015-05-20 | 中兴通讯股份有限公司 | 一种调节会议终端通话质量的方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110603778A (zh) * | 2017-05-05 | 2019-12-20 | 英特尔Ip公司 | 用于新无线电(nr)宽带用户设备(ue)的带宽部分配置和操作 |
US11310861B2 (en) | 2017-05-05 | 2022-04-19 | Apple Inc. | Bandwidth part configuration and operation for new radio (NR) wideband user equipment (UE) |
WO2018228323A1 (zh) * | 2017-06-13 | 2018-12-20 | 广东神马搜索科技有限公司 | 在线服务系统的服务级别控制方法与系统、可读存储介质 |
CN110870356A (zh) * | 2017-09-27 | 2020-03-06 | Oppo广东移动通信有限公司 | 一种切换带宽部分的方法、终端设备及计算机存储介质 |
CN110870356B (zh) * | 2017-09-27 | 2024-05-10 | Oppo广东移动通信有限公司 | 一种切换带宽部分的方法、终端设备及计算机存储介质 |
CN111373789A (zh) * | 2017-11-16 | 2020-07-03 | 三星电子株式会社 | 无线通信系统中的通信方法和装置 |
CN111373789B (zh) * | 2017-11-16 | 2023-10-20 | 三星电子株式会社 | 无线通信系统中的通信方法和装置 |
CN109495326A (zh) * | 2018-12-28 | 2019-03-19 | 北京东土科技股份有限公司 | 网络带宽分配方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3136742A1 (en) | 2017-03-01 |
EP3136742B1 (en) | 2020-05-20 |
GB2541733A (en) | 2017-03-01 |
GB2541733B (en) | 2019-02-13 |
US10965603B2 (en) | 2021-03-30 |
US20210203607A1 (en) | 2021-07-01 |
CN106487779B (zh) | 2021-02-26 |
GB201515343D0 (en) | 2015-10-14 |
US11489781B2 (en) | 2022-11-01 |
US20200162392A1 (en) | 2020-05-21 |
US20170063702A1 (en) | 2017-03-02 |
US10587523B2 (en) | 2020-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11489781B2 (en) | Bandwidth management | |
US11916798B2 (en) | Estimating network bandwidth using probe packets | |
US10805196B2 (en) | Packet loss and bandwidth coordination | |
US20230171301A1 (en) | Monitoring Network Conditions | |
AU2014252266B2 (en) | Voip bandwidth management | |
US10348627B2 (en) | Estimating processor load using frame encoding times | |
CN109889398B (zh) | 一种检测媒体流业务质量的方法及装置、设备、存储介质 | |
US9736077B2 (en) | Enhanced media quality management | |
US10587518B2 (en) | Identifying network conditions |
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 |