CN112771875B - 在保持视频质量的同时提高视频比特率 - Google Patents
在保持视频质量的同时提高视频比特率 Download PDFInfo
- Publication number
- CN112771875B CN112771875B CN201980063175.8A CN201980063175A CN112771875B CN 112771875 B CN112771875 B CN 112771875B CN 201980063175 A CN201980063175 A CN 201980063175A CN 112771875 B CN112771875 B CN 112771875B
- Authority
- CN
- China
- Prior art keywords
- bit rate
- video data
- streaming
- video
- quality
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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/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
- 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/1069—Session establishment or de-establishment
-
- 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
-
- 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/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/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/765—Media network packet handling intermediate
-
- 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
- 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
-
- 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/234381—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 by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- 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/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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
- H04N21/4383—Accessing a communication channel
-
- 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/643—Communication protocols
-
- 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/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
-
- 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
Abstract
用于在保持低等待时间的同时优化至端点的视频流的系统、方法和软件技术。在一个实现中,流服务接收视频数据以分发到多个端点。对于每个端点,服务以给定比特率向端点流传输视频数据。在视频被流传输时,服务以附加比特率向端点发送测试数据。服务还增加测试数据的附加比特率,直到视频数据质量发生阈值下降或直到视频数据和测试数据的总比特率达到视频数据的下一可用比特率为止。如果总比特率已达到下一可用比特率,则服务有条件地从给定比特率切换到下一可用比特率。
Description
背景技术
视频流服务允许用户在社交网络、游戏平台、企业设置等环境中向其他用户流传输实时视频。在一些情况下,对双向通信的支持允许视频的使用者与内容的发起者聊天或以其他方式进行交互。因此,等待时间是享受此类服务的重要因素,因为低等待时间允许用户近乎实时地进行通信,而相反的情况可能会导致通信延迟过长而不实用
等待时间受许多因素的影响,其范围从流服务及其最终用户之间的网络带宽到最终用户本地装备的容量。在没有解决任何这些因素的情况下,正被流传输的视频的比特率可能会对等待时间产生影响。一般而言,提高视频的比特率可能会增加其等待时间,而降低视频的比特率可能会降低其等待时间。但是,正如高比特率导致高分辨率视频(用户喜欢),较低比特率可能会导致较低分辨率馈送。
因此,在以低等待时间提供高分辨率视频之间存在折衷。一些流技术能够动态地提高或降低视频比特率以便保持等待时间。例如,HTTP实时流(HLS)将视频短片下载到客户端。接收片段的客户端维护给予其时间来尝试下载更高比特率版本的分段的缓冲区。如果成功,则客户端播放较高比特率的视频,而如果不成功,则客户端将取消下载而改用较低比特率的分段。不幸的是,所涉及的缓冲对实时流传输和双向通信的目的而言产生了太多的延迟。
一些明确的实时服务(诸如语音和视频呼叫服务)利用无连接且不可靠的协议来发送和接收数据。一个示例是用户数据报协议(UDP),其允许发送方向接收方传送分组,而不考虑数据分组是否到达其目的地或以什么顺序到达其目的地。尽管可能会发生抖动和数据分组丢失,但此类协议可提供低等待时间体验。
通过UDP接收视频的客户端可向发送方提供反馈以确保回放是流畅的。然后,发送方客户端可以上调或下调比特率以减轻此类流传输的任何不良影响。这些流传输中的一些可同时向多个客户端发送,但不能扩展超过有限数目的客户端。
概览
本文公开了用于在保持低等待时间的同时优化至端点的视频流的技术。在一个实现中,流服务接收视频数据以分发到多个端点。对于每个端点,服务以给定比特率向端点流传输视频数据。在视频被流传输时,服务以附加比特率向端点发送测试数据。服务还增加测试数据的附加比特率,直到视频数据质量发生阈值下降或直到视频数据和测试数据的总比特率达到视频数据的下一可用比特率为止。如果总比特率已达到下一可用比特率,则该服务有条件地从以给定比特率流传输视频数据切换到以下一可用比特率流传输视频。以此方式,视频的比特率可被安全地增加而不损害低等待时间体验。
提供本概览以便以简化形式介绍将在以下的技术公开中进一步描述的概念选择。可以理解,本概览并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图简述
参考以下附图可更好地理解本公开的许多方面。尽管结合这些附图描述了若干实现,但是本公开不局限于本文中所公开的这些实现。相反,意图是要覆盖所有的替换方案、修改和等价物。
图1解说了一实现中的操作环境。
图2例示了一实现中的流传输过程。
图3解说了一实现中的操作环境。
图4解说一实现中的操作情景。
图5解说一实现中的操作情景。
图6解说了一实现中的情景的可视化。
图7解说了一实现中的情景的可视化。
图8解说了一实现中的情景的可视化。
图9解说了适合于实现本文公开的号码供应技术(the number provisioningtechnology)的计算系统,包括在附图中解说并且在以下技术公开中讨论的任何架构、环境、元素、过程以及操作情景和序列。
技术公开
本文公开了增强视频流的技术。在各种实现中,流服务接收将被流传输到多个端点的视频数据。该服务以不同的比特率对视频进行编码,使得它可以根据需要在流传输之间切换以提供最佳流传输体验。但是,为了确定是否支持特定的比特率,服务首先向给定端点发送测试数据,同时仍以初始比特率向端点流传输视频。
随着视频被流传输,服务渐进地增加测试数据,直到测试数据的比特率和原始流的比特率达到或超过其他视频版本的下一可用比特率为止。如果此时原始流的质量尚未降低(或尚未降低太多),则流服务将切换到以下一可用比特率编码的视频流。如果在测试数据增加的同时质量下降达阈值量,则该服务将保持视频被流传输的当前比特率。
流传输的质量可使用诸如等待时间、分组丢失和抖动之类的多个度量中的一者或多者来评估。流服务内的元件(例如边缘服务器等)可基于由视频流的接收端上的客户端反馈给它的度量来作出此类确定。但是,流传输的质量也可由客户端应用来评估。客户端可因此向服务报告质量已经维持或下降,或者可选地,客户端可甚至请求更高的比特率流(假设质量随着测试数据的增加已经足够)。
视频比特率的降低也是可能的。例如,如果网络条件(等待时间、比特率、抖动等)指示质量下降,则流服务可切换到以较少比特率编码的视频版本,而与测试数据无关。即,即使没有设置任何测试数据,流传输的质量也可能会下降。该服务可响应地切换到与正发送的当前视频版本相比以较少比特率编码的各视频版本之一。
在一些实现中,流服务仅需要以各种比特率对视频进行编码一次。然后,采用不同比特率的视频的不同版本在服务内被分发到各服务器,这些服务器最终将视频传送至端点。以此方式,负责将视频发送到端点的各服务器不必负担以各种比特率对视频进行编码所需的处理开销。
从前面和下面的讨论中可以理解各种技术效果,包括在减轻对等待时间的不利影响的同时提高视频比特率的能力。这在对延迟敏感的体验的上下文中(诸如在玩家与他或她的粉丝之间的双向交互的“实时”游戏体验之类的上下文中)可能尤其有益。在另一示例中,用户可能希望经由社交网络向许多用户传送视频。在这两种情况下,低等待时间都允许用户以实时或近乎实时的方式进行双向通信,同时仍能享受高分辨率视频流带来的好处。
图1解说了一实现中的操作环境100。操作环境100包括流服务101和端点105、111、112和113。流服务101可以在被数据中心103代表的一个或多个数据中心(物理的或虚拟的)中以及在被图9中的计算系统901代表的一个或多个计算系统上实现。
流服务101从一个或多个端点接收视频(以及可选地其他内容),并向一个或多个其他端点传送视频(以及可选地其他内容)以供用户使用。端点105代表可向流服务101流传输视频的各种计算设备,而端点111、112和113代表流服务101可向其流传输视频数据的计算设备。各示例包括但不限于膝上型计算机和台式计算机、平板、移动电话、可穿戴设备、娱乐设备、游戏控制台、其他服务器计算机、物联网(IoT)设备或任何其他类型的设备。流服务101通过一个或多个通信网络(例如因特网)、网络组合或其变体与端点105、111、112和113进行通信。
流服务101在视频流之间接收、编码、发送和切换时采用流传输过程200。参照图2,流传输过程200可在部署在流服务101的各种元件(诸如服务器、交换机和路由器等)中的任何软件应用、模块、组件或其他此类编程元件的上下文中以程序指令来实现。程序指令引导一个或多个底层的物理或虚拟计算系统进行如下操作,并在图1的操作环境100的上下文中,附带地参照图2中的各步骤。
首先,端点105向流服务101传送视频数据131。流服务101接收视频流并以不同的比特率将该视频数据编码为多个流(步骤201)。即,一个视频馈送以给定比特率从端点105接收到,并被解码以提取正在流传输的视频数据。然后视频数据被重新编码多次以生成原始视频流的多个版本。视频流的多个版本中的每个版本以相对于视频流的多个版本中的其他各个版本不同的比特率进行编码。
接下来,流服务101向端点111、端点112和端点113传送视频流中的一者或多者(步骤203)。一个或多个视频流经由无连接且不可靠的传输协议(诸如UDP、定制或专有协议等)来发送。
尽管同一流可被发送到多个端点,但从给定端点的角度来看仅有一个流被发送到该端点。端点111、112和113接收视频流,并分别为用户121、122和123播放视频流。最终用户可任选地希望与用户125聊天或以其他方式参与。因此,返回内容135可被发送到流服务101以转发到端点105,尽管它可完全绕过流服务101。这可在例如由用户125主持的游戏会话的上下文中发生,该会话从端点105“广播”到其他参与端点(例如端点111、112和113)。
向给定端点发送的每个流以初始比特率从流服务101向端点流传输(步骤203)。这可以是与从端点105接收视频的比特率相同的比特率。但是,也可能是其他各个经编码的流之一—并因此—是其他比特率之一。视频被流传输到端点并且每个端点都解码并播放该视频。
对于给定的视频流和端点,流服务101继续在与视频流基本相同的时间以附加比特率向端点发送测试数据(步骤205)。测试数据可以是可能会被端点忽略并丢弃的“噪声”。在一些情况下,测试数据可以是视频流的副本,其可甚至在视频流的一些数据分组丢失的情况下提高传输的鲁棒性。在一些实现中,副本数据可以与用于指示其是视频流的副本的标志一起传送。例如,该标志可被设置在包括视频流的分组的报头部分中。此类标志或其他此类指示可允许回放视频的客户端丢弃或以其他方式忽略副本。
流服务101在测试数据被发送之时(或之后)监视视频流的质量以确定更高带宽的视频版本是否可被支持。服务确定是否响应于测试数据而在质量方面发生了阈值下降(步骤209)。阈值下降可根据一个或多个质量度量来定义,诸如等待时间的增加、分组丢失的增加、抖动的增加等。流服务101可从跟踪和报告度量的端点上的客户端获得此类度量。在一些实现中,客户端监视以寻找质量方面的阈值下降,并向流服务101报告该下降,而非(或而不是)报告各个度量。
如果阈值质量下降已经发生,则流服务101确定继续以其当前比特率来流传输视频。服务可任选地继续测试带宽,但是也可至少在一段时间内停止使用附加数据。然而,如果视频流的质量没有遭受阈值下降,则流服务101确定总比特率(附加比特率和当前比特率之和)是否等于、超过或接近视频数据被编码的下一可用比特率(步骤211)。例如,假设视频已以1mb/s、3mb/s和5mb/s被编码,并且当前正在以1mb/s被流传输。在此情况下,流服务101将确定测试数据和当前比特率(1mb/s)的总和是否满足、超过或接近3mb/s。
如果是,则流服务101将流传输切换到以下一可用比特率编码的视频数据(步骤213)。但是,如果在当前比特率和下一可用比特率之间仍有空间,则流服务增加测试数据的比特率(步骤207)并继续评估流传输的质量。测试数据的比特率可因此被渐进地增加,直到质量急剧下降或下一可用比特率被达到为止,此时流传输可被切换到以下一可用比特率编码的流传输。
图3解说了另一实现中的操作环境300。操作环境300包括流服务301,该流服务301在游戏会话、社交网络活动、视频会议等的上下文中向端点提供视频流服务。一般而言,端点向流服务301传送视频流,视频流然后被解码并编码为具有不同比特率的多个视频流。流服务301向端点发送各种视频流,并且在这样做时在较低和较高比特率之间切换以优化用户体验。
更具体地,流服务301包括一起作用以向端点提供流服务的各种元件。编码器302从端点接收各视频流,对它们进行解码,然后将它们重新编码为相对于彼此具有不同比特率的多个流。中继服务器304和305各自接收流传输的副本,并向边缘服务器306、307、308和309发送它们。在此实现中,边缘服务器306向端点311发送视频话务;边缘服务器307向端点313发送视频话务;边缘服务器308向端点317发送视频话务;以及边缘服务器309向端点317发送话务。
各个边缘服务器都实现控制将多个流中的哪个流发送到任一端点的流传输过程(例如,流传输过程200)。流传输过程200可在部署在每个边缘服务器(被图9中的计算系统901为代表的各个元件中的任何软件应用、模块、组件或其他此类编程元件的上下文中以程序指令来实现。
如图所示,每个边缘服务器接收要流传输的视频的多个版本,每个版本以图例310指示的相对于彼此不同的比特率进行编码。然后一次将一个版本流传输到任何单独的端点。测试数据也被传送到端点,从而允许边缘服务器确定视频流的更高比特率版本是否可被支持。如果是,则边缘服务器切换到更高比特率版本,但是如果否,则边缘服务器继续以当前比特率进行流传输。在一些情形中,边缘服务器可能会在流传输的质量下降的情况下降低比特率,这可能是独立发生的,并且与发送测试数据无关。
图4例示了参考图3中的操作环境300的实现中的操作情景。在操作中,端点321将本地体验的视频流传输到编码器302。本地体验可以是,例如,在端点321上正在赏玩的游戏体验、由端点321或外围设备捕捉的场景的实时视频馈送、视频会议或可以以视频捕捉的任何其他内容。
假设端点321已对视频进行了编码,则编码器302继续对视频进行解码,然后以多个比特率对其进行重新编码。编码器302将视频的多个版本发送到中继服务器304,中继服务器304然后将视频中继到一个或多个边缘服务器,在此示例情景中包括边缘服务器306。
边缘服务器306以各比特率之一将视频流传输到端点311A,并且还以相同或不同的比特率将视频流传输到端点311B。出于示例性目的,假定视频最初以1mb/s流传输出来。端点311A和311B接收其各自的视频流,并将它们播放给用户。一个或多个用户可通过用户输入(例如聊天消息)任选地与关联于端点321的用户接合,聊天消息可直接或间接地与端点321进行交换以促进游戏、社交网络或其他此类体验。
边缘服务器306采用流传输过程200来判断其与各端点之间的(诸)网络链路的鲁棒性,以便在可行的情况下增加相应视频流的比特率。为了实现此目标,边缘服务器306以递增的增量将测试数据发送到端点311A。端点311A在测试数据被接收到时测量视频流的性能,并将反馈提供给边缘服务器306。该反馈可指示例如视频的等待时间、分组丢失和/或抖动。代替这些度量或除这些度量之外的其他度量也可被包括在反馈中,诸如对关键帧丢失的指示、视频的感知质量等。
边缘服务器306接收反馈并确定视频流的质量是否满足质量标准量。质量标准量可以与反馈中的任何一个或多个性能度量有关。例如,质量标准量可以是等待时间、分组丢失或抖动的最小可接受量,或者是从任意两个或多个度量导出的复合值。测试数据在每个反馈集合被接收到之后都会递增,直到质量无法满足最小值,或者直到当前比特率和测试比特率一起达到下一可用比特率为止。出于示例性目的,假设达到了下一可用比特率,并因此3mb/s的视频馈送被流传输到端点311A。
边缘服务器306针对端点311B执行相同的过程。该过程可在与端点311A基本相同的时间针对端点311B执行,即使它们在图4中被示为顺序地发生。
边缘服务器306以递增的增量将测试数据发送到端点311B。端点311B在测试数据被接收到时测量视频流的性能,并将反馈提供给边缘服务器306。边缘服务器306接收反馈并确定视频流的质量是否满足质量标准量。测试数据在每个反馈集合被接收到之后都会递增,直到质量无法满足最小值,或者直到当前比特率和测试比特率一起达到下一可用比特率为止。出于示例性目的,假设达到了下一可用比特率,并因此3mb/s的视频馈送被流传输到端点311B。
由于视频的5mb/s比特率版本仍保留,因此边缘服务器306可继续针对端点311A和311B中的一者或两者采用流传输过程200。因此,边缘服务器306可以继续以渐进地增加的速率发送测试数据,接收反馈,并基于3mb/s的视频馈送对不断渐进的测试数据的质量响应来在允许的情况下切换到5mb/s的馈送。
图5例示了与图4相同的情景,但由端点311A作出是否升级到更高比特率的视频馈送的确定。在操作中,端点321将本地体验的视频流传输到编码器302。本地体验可以是,例如,在端点321上正在赏玩的游戏体验、由端点321或外围设备捕捉的场景的实时视频馈送、视频会议或可以以视频捕捉的任何其他内容。
编码器302继续对视频进行解码并然后以多个比特率对其进行重新编码。编码器302将视频的多个版本发送到中继服务器304,中继服务器304然后将视频中继到一个或多个边缘服务器,在此示例情景中包括边缘服务器306。
边缘服务器306以各比特率中的一者将视频流传输到端点311A,并且还以相同或不同的比特率将视频流传输到端点311B。出于示例性目的,假定视频最初以1mb/s流传输出来。端点311A和311B接收其各自的视频流,并将它们播放给用户。一个或多个用户可通过用户输入(例如聊天消息)任选地与关联于端点321的用户接合,聊天消息可直接或间接地与端点321进行交换以促进游戏、社交网络或其他此类体验。
端点311A接下来从边缘服务器306请求测试数据。替换地,边缘服务器306可被编程为自动地和/或周期性地将测试数据发送到端点311A。端点311A接收测试数据并评估初始视频馈送对测试数据的质量响应。如果视频馈送的质量保持令人满意,则端点311A向边缘服务器306发送增加测试数据的比特率的请求。
边缘服务器306服从该请求并向端点311A发送渐进的测试数据。端点311A再次接收测试数据并评估初始视频馈送的质量响应。假设质量保持高,并因此端点311A再次请求对测试数据的渐进增加。
边缘服务器306以进一步增加的比特率发送更多的测试数据。端点311A接收经增加的测试数据,并且响应于视频馈送的质量持续保持令人满意,请求边缘服务器306切换到下一可用比特率。因此,边缘服务器306将视频的3mb/s版本发送到端点311A。
可以理解,由于保留了视频的5mb/s版本,端点311A可继续进行此类过程。另外,端点311B还可以相对于其接收的视频馈送在本地采用相同的过程。
图6-8例示了各种操作情景以更好地解释本文公开的视频流技术的一些方面。在图6中,图表600包括相对于x轴(时间轴)绘制的两个y轴(比特率和质量)。在左y轴上,例示了在操作环境300中从编码器发送到端点的视频流的编码比特率。在右y轴上,根据质量的提高和质量的降低来例示视频流的质量。最后,三条线被绘制:主视频流的比特率;被发送的测试数据的比特率;以及主视频流的相对质量(其指示质量是在增加、减少还是保持不变)。
如图所示,视频流的比特率最初为3mb/s并且其质量被认为是高的。随着时间的推移,测试数据以1mb/s的速度被引入。流传输视频并发送数据的边缘服务器监视流传输的质量对测试数据的反应。在此,质量得以保持,并因此边缘服务器将流传输的附加比特率和当前比特率相加。由于总和为4mb/s,这小于下一可用比特率(5mb/s),因此在此示例中,边缘服务器将测试数据的比特率增加到11/2mb/s,尽管此增加可能会更大或更小。
一旦测试数据被增加,边缘服务器就会判断对经增加的话务的质量响应。在此,质量仍然很强。另外,附加比特率和当前比特率的总和仍然小于下一可用比特率。因此,边缘服务器将附加比特率增加到2mb/s。此时,质量仍然没有下降,并且由于附加比特率加上当前比特率等于下一可用比特率(5mb/s),所以边缘服务器将流传输切换到以5mb/s编码的版本。因此,较高比特率视频在历时内或任选地直到其质量下降到触发降低到较低比特率的点为止一直传输到终端。
在图7中,图表700包括相同的x和y轴。视频流的比特率最初为3mb/s并且其质量为高。随着时间的推移,测试数据以1mb/s的速度被引入。流传输视频并发送数据的边缘服务器监视流传输的质量对测试数据的反应。在此示例中,质量得以保持,并因此边缘服务器将流传输的附加比特率和当前比特率相加。由于总和为4mb/s,这小于下一可用比特率(5mb/s),因此在此示例中,边缘服务器将测试数据的比特率增加到11/2mb/s,尽管此增加可能会更大或更小。
在测试数据增加后,边缘服务器监视视频流针对该增加的质量。出于示例性目的,假设质量下降超过阈值量。质量下降指示更高的比特率不能被支持。测试数据停止,并且视频流在历时内或可选地一直保持其初始比特率,直到另一质量下降再次导致其比特率下降为止。测试数据可在稍后的时间被再次引入以判断将边缘服务器连接到端点的(诸)网络支持更高比特率的能力。
图8中的图表800还包含与图6-7相同的针对时间、比特率和质量的x和y轴。在操作中,边缘服务器以第一比特率(1mb/s)向端点传送视频流。边缘服务器继续以0.5mb/s的速度向端点发送测试数据,同时监视原始视频流的质量。由于质量没有发生下降,并且由于初始比特率和附加比特率的总和(1.5mb/s)未达到下一可用比特率(3mb/s),因此边缘服务器逐步增加测试数据。
随着测试数据增加到1.5mb/s,原始视频信号的质量下降。但是,此下降不足以停止对测试数据的渐进增加。相反,该质量被认为是可以接受的。因此,测试数据的比特率再次增加到2mb/s,使总比特率达到3mb/s。
此时,比特率的总和已达到下一可用比特率并且边缘服务器响应地将流传输切换为3mb/s的馈送。边缘服务器还继续发送测试数据以查明端点和/或端点之间的网络链路是否可以容适5mb/s的下一可用比特率。出于示例性目的,假定当附加比特率从1mb/s增加到2mb/s时候质量保持令人满意,此时边缘服务器将视频流切换为以5mb/s编码的数据。
图9例示了计算系统901,其代表可实现本文所公开的各种应用、服务、情景和过程的任何系统或系统的集合。计算系统901的示例包括但不限于服务器计算机、机架服务器、web服务器、云计算平台和数据中心装备,以及任何其他类型的物理或虚拟服务器机器、容器,以及其任何变体或组合。其他示例可以包括智能电话、膝上型计算机、平板计算机、台式计算机、混合计算机、游戏机、虚拟现实设备、智能电视、智能手表和其他可穿戴设备,,以及其任何变体或组合。
计算系统901可被实现为单个装置、系统或设备,或者可以以分布式方式被实现为多个装置、系统或设备。计算系统901包括但不限于处理系统902、存储系统903、软件905、通信接口系统907和用户接口系统909。处理系统902可操作地与存储系统903、通信接口系统907和用户接口系统909耦合。
处理系统902从存储系统903加载并执行软件905。软件905包括流传输过程906,其代表关于在先附图1-8所讨论的过程,包括流传输过程200。当由处理系统902执行以增强视频流时,软件905引导处理系统902至少如本文针对在前述实现中讨论的各种过程、操作场景和序列所描述的进行操作。计算系统901可任选地包括出于简化的目的而未被讨论的附加设备、特征或功能。
仍然参考图9,处理系统902可以包括从存储系统903中检索并执行软件905的微处理器以及其他电路系统。处理系统902可被实现在单个处理设备中,但也可以跨在执行程序指令时协作的多个处理设备或子系统分布。处理系统902的示例包括通用中央处理单元、专用处理器、和逻辑设备、以及任何其他类型的处理设备、其组合或变体。
存储系统903可包括可由处理系统902读取并能够存储软件905的任意计算机可读存储介质。存储系统903可包括易失性和非易失性、可移动和不可移动介质,它们以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据这样的信息的任意方法或技术来实现。存储介质的各示例包括随机存取存储器、只读存储器、磁盘、光盘、闪存、存储器、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘存储或其他磁存储设备或其他适当的存储介质,传播信号除外。在任何情况下,计算机可读存储介质都不是传播的信号。
除了计算机可读存储介质以外,在一些实现中,存储系统903还可包括至少一些软件905可通过其进行内部和外部通信的计算机可读通信介质。存储系统903可以被实现为单个存储设备,但也可以跨相对于彼此放置在一起或分布式的多个存储设备或子系统来实现。存储系统903可以包括能够与处理系统902或可能的其他系统通信的附加元件,诸如控制器。
软件905可用程序指令来实现,并且连同其他功能,当软件905被处理系统902执行时指示处理系统902如参考本文所例示的各种操作场景、序列和过程所述地那样操作。例如,软件905可包括用于实现流传输过程200的程序指令。
具体而言,程序指令可包括协作或以其他方式交互以执行如本文中所描述的各种过程和操作场景的各种组件或模块。各种组件或模块可被具体化在经编译或经解释的指令中,或被具体化在指令的某其他变体或组合中。各种组件或模块可以以同步或异步方式、串行或并行地、在单线程环境或多线程环境中、或根据任何其他合适的执行范例、变体或其组合来被执行。除了流传输过程906或包括流传输过程906之外,软件905可包括附加过程、程序或组件,诸如操作系统软件、虚拟机软件或其他应用软件。软件905还可包括可由处理系统902执行的固件或某一其他形式的机器可读处理指令。
一般而言,软件905可在被加载到处理系统902中并被执行时将合适的装置、系统或设备(其被计算系统901代表)整个从通用计算系统变换成被定制以用于流视频的专用计算系统。事实上,存储系统903上的编码软件905可变换存储系统903的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。此类因素的示例可包括但不仅限于,用于实现存储系统903的存储介质的技术以及计算机存储介质是被表征为主存储还是二级存储,以及其他因素。
例如,如果计算机可读存储介质被实现为基于半导体的存储器,则当在其中编码程序指令时软件905可以变换半导体存储器的物理状态,诸如通过变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。一种类似的变换可以相对于磁或光学介质发生。在没有偏离本说明书的范围的情况下,物理介质的其他变换也是可能的,前面提供的示例只是为了便于本讨论。
通信接口系统907可包括允许通过通信网络(未示出)与其他计算系统(未示出)进行通信的通信连接和设备。一起允许系统间通信的连接和设备的示例包括网络接口卡、天线、功率放大器、RF电路系统、收发机以及其他通信电路系统。连接和设备可通过通信介质通信以与其他计算系统或系统网络交换通信,诸如金属、玻璃、空气或任何其他合适的通信介质。上述介质、连接和设备是公知的且无需在此处详细讨论。
用户接口系统909是任选的且可包括:键盘、鼠标、语音输入设备、用于接收来自用户的触摸姿势的触摸输入设备、用于检测用户的非接触姿势和其他运动的运动输入设备,以及其他类似的输入设备以及能够接收来自用户的用户输入的相关联的处理元件。输出设备(诸如显示器、扬声器、触觉设备)和其他类型的输出设备也可以被包括在用户接口系统909中。在一些情况中,输入和输出设备可以被结合在单个设备中,诸如能够显示图像并接收触摸姿势的显示器。上述用户输入和输出设备在本领域中公知且无需在此处详细讨论。
用户接口系统909还可包括可由处理系统902执行的相关联的用户接口软件,以支持上文讨论的各种用户输入和输出设备。用户接口软件和用户接口设备分开地或彼此及与其他硬件和软件元件结合可支持图形用户界面、自然用户界面、或任何其他类型的用户界面。
计算系统901和其他计算系统(未示出)之间的通信可在通信网络或各网络上并根据各种通信协议、协议的组合或其变体发生。各示例包括内联网、互联网、因特网、局域网、广域网、无线网络、有线网络、虚拟网络、软件定义网络、数据中心总线、计算背板(computing backplane)、或任何其他类型的网络、网络的组合或其变体。上文提及的通信网络和协议是众所周知的且不需要在此详细讨论。
各附图中所提供的功能框图、操作场景及序列和流程图表示用于执行本公开的新颖方面的示例性系统、环境和方法。尽管出于解释简明的目的,本文中所包括的方法可以以功能图、操作场景或序列、或流程图形式示出并且可被描述为一系列动作,但是可以理解和领会,各方法不受这些动作的次序的限制,因为根据本发明,某些动作可以按与本文中所示出和描述的不同的次序和/或与其他动作并发地发生。例如,本领域的技术人员将明白并领会,方法可替换地被表示为一系列相互相关联的状态或事件,诸如以状态图的形式。此外,并非方法中所示出的所有动作都是新颖实现所必需的。
本文中所包括的说明和附图描绘了用于教导本领域的技术人员如何做出和使用最佳选项的特定实现。出于教导创造性原则的目的,一些传统的方面已被简化或忽略。本领域的技术人员将领会来自这些实现的变体也落入的本发明的范围内。本领域的技术人员还将领会以上所描述的各特征可以以各种方式被组合以形成多个实现。作为结果,本发明不局限于以上所描述的特定实现,而是仅由权利要求和它们的等价物来限定。
Claims (17)
1.一种操作流服务的方法,所述方法包括:
在编码器中:
接收以初始比特率编码的视频数据以分发到多个端点;
以多个不同的比特率对所述视频数据进行重新编码;
以所述多个不同的比特率将所述视频数据同时传送到中继服务器;
在所述中继服务器中,以所述多个不同的比特率将所述视频数据同时传送到边缘服务器;
在所述边缘服务器中,对于所述多个端点中的每个端点:
以给定比特率向所述端点流传输所述视频数据;
在以所述给定比特率流传输所述视频数据时以附加比特率向所述端点发送测试数据;
增加所述测试数据的所述附加比特率,直到所述视频数据和所述测试数据的总比特率达到所述视频数据的下一可用比特率,或直到所述视频数据的质量无法满足质量标准量为止;以及
如果所述总比特率已达到所述下一可用比特率,则有条件地从以所述给定比特率向所述端点流传输所述视频数据切换到以所述下一可用比特率流传输所述视频。
2.如权利要求1所述的方法,其特征在于,所述测试数据包括所述视频数据的至少一部分的副本,其中增加所述附加比特率包括以渐进方式增加所述附加比特率,其中所述视频数据的质量根据与流传输所述视频数据相关联的一个或多个性能度量来定义,并且其中所述方法进一步包括:
如果所述质量无法满足所述质量标准量,则避免发送任何更多的测试数据并继续以所述给定比特率流传输所述视频数据。
3.如权利要求2所述的方法,其特征在于,进一步包含生成所述视频数据的多个版本,其中所述视频数据的多个版本中的每个版本都以相对于所述视频数据的多个版本中的其他各个版本不同的比特率进行编码。
4.如权利要求3所述的方法,其特征在于,以所述给定比特率流传输所述视频数据包括流传输所述视频数据的多个版本中以所述给定比特率编码的一个版本。
5.如权利要求4所述的方法,其特征在于,以所述下一可用比特率流传输所述视频数据包括流传输所述视频数据的多个版本中以所述下一可用比特率编码的不同的一个版本。
6.如权利要求5所述的方法,其特征在于,与流传输所述视频数据相关联的所述一个或多个性能度量包括等待时间、抖动和分组丢失。
7.如权利要求1所述的方法,其特征在于,进一步包括响应于所述质量下降来从以所述给定比特率流传输所述视频数据切换到以较低的比特率流传输所述视频数据,而与发送所述测试数据无关。
8.如权利要求1所述的方法,其特征在于,以所述给定比特率和以所述下一可用比特率流传输所述视频数据包括根据无连接且不可靠的传输协议来流传输所述视频数据。
9.如权利要求1所述的方法,其特征在于,所述视频数据包括由始发端点捕捉以便向所述多个端点广播的游戏会话的视频。
10.一种计算装置,包括:
一个或多个计算机可读存储介质;
可操作地耦合至所述一个或多个计算机可读存储介质的处理系统;以及
存储在所述一个或多个计算机可读存储介质上用于操作流服务的程序指令,所述程序指令在被处理系统执行时引导所述计算装置至少:
在编码器中:
接收以初始比特率编码的视频数据以分发到多个端点;以及
以多个不同的比特率对所述视频数据进行重新编码;
以所述多个不同的比特率将所述视频数据同时传送到中继服务器;
在所述中继服务器中,以所述多个不同的比特率将所述视频数据同时传送到边缘服务器;
在所述边缘服务器中,对于所述多个端点中的每个端点,所述程序指令引导所述计算装置至少:
以给定比特率向所述端点流传输所述视频数据;
在以所述给定比特率流传输所述视频数据时以附加比特率向所述端点发送测试数据;
增加所述测试数据的所述附加比特率,直到所述视频数据和所述测试数据的总比特率达到所述视频数据的下一可用比特率,或直到所述视频数据的质量无法满足质量标准量为止;以及
如果所述视频数据的质量无法满足质量标准量,则有条件地从以所述给定比特率向所述端点流传输所述视频数据切换到以所述下一可用比特率流传输所述视频。
11.如权利要求10所述的计算装置,其特征在于,为了增加所述附加比特率,所述程序指令引导所述计算装置以渐进方式增加所述附加比特率,其中所述程序指令进一步引导所述计算装置以:
如果所述质量无法满足所述质量标准量,则避免发送任何更多的测试数据并继续以所述给定比特率流传输所述视频数据。
12.如权利要求11所述的计算装置,其特征在于,所述程序指令进一步引导所述计算装置生成所述视频数据的多个版本,其中所述视频数据的多个版本中的每个版本都以相对于所述视频数据的多个版本中的其他各个版本不同的比特率进行编码。
13.如权利要求12所述的计算装置,其特征在于,为了以所述给定比特率流传输所述视频数据,所述程序指令引导所述计算装置流传输所述视频数据的多个版本中以所述给定比特率编码的一个版本。
14.如权利要求13所述的计算装置,其特征在于,为了以所述下一可用比特率流传输所述视频数据,所述程序指令引导所述计算装置流传输所述视频数据的多个版本中以所述下一可用比特率编码的不同的一个版本。
15.如权利要求10所述的计算装置,其特征在于,所述程序指令进一步引导所述计算装置响应于所述质量下降来从以所述给定比特率流传输所述视频数据切换到以较低的比特率流传输所述视频数据,而与发送所述测试数据无关。
16.如权利要求10所述的计算装置,其特征在于,所述程序指令引导所述计算装置根据无连接且不可靠的传输协议来流传输所述视频数据。
17.如权利要求10所述的计算装置,其特征在于,所述测试数据包括所述视频数据的至少一部分的副本,并且其中与流传输所述视频数据相关联的一个或多个性能度量包括等待时间、抖动和分组丢失。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/141,653 | 2018-09-25 | ||
US16/141,653 US11388464B2 (en) | 2018-09-25 | 2018-09-25 | Increasing video bit rates while maintaining video quality |
PCT/US2019/039121 WO2020068218A1 (en) | 2018-09-25 | 2019-06-26 | Increasing video bit rates while maintaining video quality |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112771875A CN112771875A (zh) | 2021-05-07 |
CN112771875B true CN112771875B (zh) | 2023-05-26 |
Family
ID=67297309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980063175.8A Active CN112771875B (zh) | 2018-09-25 | 2019-06-26 | 在保持视频质量的同时提高视频比特率 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11388464B2 (zh) |
EP (1) | EP3857900A1 (zh) |
JP (1) | JP7420796B2 (zh) |
KR (1) | KR20210064222A (zh) |
CN (1) | CN112771875B (zh) |
WO (1) | WO2020068218A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11405142B2 (en) * | 2020-06-23 | 2022-08-02 | Itron Global Sarl | Use of different data rates for polling in a multi-rate network |
US11889128B2 (en) * | 2021-01-05 | 2024-01-30 | Qualcomm Incorporated | Call audio playback speed adjustment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143432B1 (en) * | 1999-10-01 | 2006-11-28 | Vidiator Enterprises Inc. | System for transforming streaming video data |
CN105007541A (zh) * | 2015-07-29 | 2015-10-28 | 上海交通大学 | 可伸缩视频流动态多码率组播优化传输方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9108107B2 (en) | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using streaming interactive video |
WO2007119236A2 (en) | 2006-04-13 | 2007-10-25 | Yosef Mizrachi | Method and apparatus for providing gaming services and for handling video content |
US8311102B2 (en) * | 2006-07-26 | 2012-11-13 | Microsoft Corporation | Bitstream switching in multiple bit-rate video streaming environments |
US8259735B2 (en) * | 2007-08-09 | 2012-09-04 | Imagine Communications Ltd. | Constant bit rate video stream |
US8875208B1 (en) * | 2007-11-21 | 2014-10-28 | Skype | High quality multimedia transmission from a mobile device for live and on-demand viewing |
US7856501B2 (en) * | 2007-12-04 | 2010-12-21 | Sony Computer Entertainment Inc. | Network traffic prioritization |
US10058778B2 (en) | 2007-12-05 | 2018-08-28 | Sony Interactive Entertainment America Llc | Video compression system and method for reducing the effects of packet loss over a communication channel |
US20100121974A1 (en) * | 2008-11-11 | 2010-05-13 | Einarsson Torbjoem | Stepwise probing for adaptive streaming in a packet communication network |
US8219711B2 (en) * | 2008-11-24 | 2012-07-10 | Juniper Networks, Inc. | Dynamic variable rate media delivery system |
US8380790B2 (en) * | 2008-12-15 | 2013-02-19 | Microsoft Corporation | Video conference rate matching |
US8396114B2 (en) * | 2009-01-29 | 2013-03-12 | Microsoft Corporation | Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming |
GB2454606C (en) | 2009-02-02 | 2017-01-25 | Skype Ltd | Method of transmitting data in a communication system |
US8499085B2 (en) | 2009-03-16 | 2013-07-30 | Avaya, Inc. | Advanced availability detection |
JP2011055286A (ja) | 2009-09-02 | 2011-03-17 | Toshiba Corp | 映像配信装置および映像配信方法 |
US9060207B2 (en) * | 2012-08-20 | 2015-06-16 | Google Inc. | Adaptive video streaming over a content delivery network |
US20150121437A1 (en) * | 2013-04-05 | 2015-04-30 | Google Inc. | Multi-perspective game broadcasting |
US10057014B2 (en) | 2013-05-22 | 2018-08-21 | Google Llc | System and method for streaming data |
US9179159B2 (en) | 2013-06-20 | 2015-11-03 | Wowza Media Systems, LLC | Distributed encoding of a video stream |
US9386067B2 (en) | 2013-12-30 | 2016-07-05 | Sonic Ip, Inc. | Systems and methods for playing adaptive bitrate streaming content by multicast |
US9635077B2 (en) | 2014-03-14 | 2017-04-25 | Adobe Systems Incorporated | Low latency live video streaming |
US9380097B2 (en) | 2014-04-01 | 2016-06-28 | Gamefly Israel Ltd. | Overcoming data loss in streaming video in IP networks |
EP3254470B8 (en) * | 2015-02-07 | 2022-06-08 | SSIMWAVE Inc. | Method and system for smart adaptive video streaming driven by perceptual quality-of-experience estimations |
US10102881B2 (en) * | 2015-04-24 | 2018-10-16 | Wowza Media Systems, LLC | Systems and methods of thumbnail generation |
GB2541733B (en) * | 2015-08-28 | 2019-02-13 | Imagination Tech Ltd | Bandwidth Management |
CN105338372B (zh) | 2015-10-30 | 2019-04-26 | 中山大学 | 一种应用于游戏直播平台的自适应视频串流转码方法 |
US10277669B1 (en) * | 2016-06-06 | 2019-04-30 | Amazon Technologies, Inc. | Communication channel between device and CDN during playback |
-
2018
- 2018-09-25 US US16/141,653 patent/US11388464B2/en active Active
-
2019
- 2019-06-26 JP JP2021516929A patent/JP7420796B2/ja active Active
- 2019-06-26 WO PCT/US2019/039121 patent/WO2020068218A1/en unknown
- 2019-06-26 EP EP19740161.5A patent/EP3857900A1/en active Pending
- 2019-06-26 CN CN201980063175.8A patent/CN112771875B/zh active Active
- 2019-06-26 KR KR1020217008801A patent/KR20210064222A/ko not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143432B1 (en) * | 1999-10-01 | 2006-11-28 | Vidiator Enterprises Inc. | System for transforming streaming video data |
CN105007541A (zh) * | 2015-07-29 | 2015-10-28 | 上海交通大学 | 可伸缩视频流动态多码率组播优化传输方法 |
Also Published As
Publication number | Publication date |
---|---|
US11388464B2 (en) | 2022-07-12 |
CN112771875A (zh) | 2021-05-07 |
JP2022501924A (ja) | 2022-01-06 |
US20200099972A1 (en) | 2020-03-26 |
KR20210064222A (ko) | 2021-06-02 |
WO2020068218A1 (en) | 2020-04-02 |
JP7420796B2 (ja) | 2024-01-23 |
EP3857900A1 (en) | 2021-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111135569B (zh) | 云游戏处理方法、装置、存储介质与电子设备 | |
JP7349743B2 (ja) | マルチティアドエンコーディングを有するデータを配信するためのシステム、デバイス、及び方法 | |
US9641559B2 (en) | Methods and systems for dynamic adjustment of session parameters for effective video collaboration among heterogeneous devices | |
CN107743698B (zh) | 用于多路径媒体传递的方法和装置 | |
US8117332B2 (en) | Network streaming over multiple physical interfaces | |
US9344218B1 (en) | Error resilience for interactive real-time multimedia applications | |
CN112104904A (zh) | 一种多用户同步观看视频和实时互动的方法和系统 | |
CN112771875B (zh) | 在保持视频质量的同时提高视频比特率 | |
GB2513345A (en) | Data communication system and method | |
US9838463B2 (en) | System and method for encoding control commands | |
CN112311784A (zh) | 一种投屏系统及投屏方法 | |
US10666381B2 (en) | Dynamically partitioning media streams | |
US20210069590A1 (en) | Method for playing back applications from a cloud, telecommunication network for streaming and for replaying applications (apps) via a specific telecommunication system, and use of a telecommunication network for streaming and replaying applications (apps) | |
US20200314384A1 (en) | System and method of dynamic playback variation for multimedia communication | |
US20220394212A1 (en) | Optimizing media experience in conferencing with diverse participants | |
CN114448588B (zh) | 音频传输方法、装置、电子设备及计算机可读存储介质 | |
KR102415156B1 (ko) | Qos 관리 방법 및 이를 수행하기 위한 수신 장치 | |
CN116684652A (zh) | 音视频拉取方法、装置、存储介质及计算机设备 | |
CN116962764A (zh) | 流媒体传输方法、装置、设备和存储介质 | |
EP3544370A1 (en) | Delivering content over muliple different networks using different transmission modes | |
CN115086280A (zh) | 音频传输方法、系统及装置 | |
CN116743954A (zh) | 视频会议的通讯方法及终端 | |
KR20210051271A (ko) | 전송 보장을 위한 데이터 전송 장치 및 방법 | |
Sandhu | Frame allocation for smart phone based games using clouds | |
JP2009094863A (ja) | 高信頼マルチキャストデータ配信システム,高信頼マルチキャストデータ配信方法および高信頼マルチキャストデータ配信プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |