CN108476176A - 在视频电话中的实时传输协议拥塞控制技术 - Google Patents
在视频电话中的实时传输协议拥塞控制技术 Download PDFInfo
- Publication number
- CN108476176A CN108476176A CN201780006669.3A CN201780006669A CN108476176A CN 108476176 A CN108476176 A CN 108476176A CN 201780006669 A CN201780006669 A CN 201780006669A CN 108476176 A CN108476176 A CN 108476176A
- Authority
- CN
- China
- Prior art keywords
- congestion
- receiving device
- bit rate
- filtering sampling
- sampling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000000007 visual effect Effects 0.000 title description 11
- 238000011160 research Methods 0.000 title description 2
- 230000005540 biological transmission Effects 0.000 claims abstract description 42
- 238000004891 communication Methods 0.000 claims abstract description 38
- 238000005070 sampling Methods 0.000 claims description 77
- 238000001914 filtration Methods 0.000 claims description 64
- 230000015654 memory Effects 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 17
- 238000009825 accumulation Methods 0.000 claims description 5
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 5
- 238000009499 grossing Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 31
- 230000006978 adaptation Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000009467 reduction Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 239000000872 buffer Substances 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 239000000523 sample Substances 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000008929 regeneration Effects 0.000 description 3
- 238000011069 regeneration method Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 230000008649 adaptation response Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0284—Traffic management, e.g. flow control or congestion control detecting congestion or overload during communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- 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/11—Identifying 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/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/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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- 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/28—Flow control; Congestion control in relation to timing considerations
-
- 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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- 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/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开内容描述了用于在无线通信中进行拥塞控制的方法、装置和计算机可读介质。例如,示例性方法可以包括确定多个图像传输差量,其中图像传输差量是在两个连续的图像的传输时间之间的差。示例性方法还包括基于图像传输差量抖动来确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞,基于当前最大比特速率和关于存在拥塞的确定来确定新的最大比特速率,以及向发送设备发送所述新的最大比特速率。
Description
要求优先权
本专利申请要求享受于2017年1月12日提交的、标题为“Real-Time TransportProtocol Congestion Control Techniques in Video Telephony”的美国非临时专利申请第15/405,022号和于2016年1月15日提交的、标题为“Real-Time Transport Protocol(RTP)Congestion Control(RCC)Techniques in Video Telephony”的美国临时专利申请第62/279,602号的优先权,这两份申请已经转让给本申请的受让人,以及据此以引用方式将其全部内容明确地并入本文。
技术领域
概括地说,本公开内容的方面涉及电信,更具体地说,本公开内容的方面涉及用于与对视频数据的传输有关的拥塞控制的技术。
背景技术
视频电话(VT)涉及携带着音频数据和视频数据的分组的实时通信。VT设备包括视频编码器,所述视频编码器从诸如视频照相机或视频存档之类的视频捕获设备获得视频以及生成视频分组。类似地,VT设备中的音频编码器从诸如麦克风或语音合成器之类的音频捕获设备获得音频以及生成音频分组。视频分组和音频分组被放置在无线链路协议(RLP)队列中。介质访问控制(MAC)层单元根据RLP队列的内容来生成介质访问控制(MAC)层分组。MAC层分组被转换为物理(PHY)层分组用于跨越通信信道向另一个VT设备进行传输。
在移动VT应用中,VT设备,例如接收设备,经由从基站(例如,eNB)到作为无线终端的VT设备(例如,用户设备,UE)的无线前向链路(FL)(或“下行链路”)接收物理层分组。VT设备经由无线反向链路(RL)(或“上行链路”)向基站发送PHY层分组。每个VT设备包括PHY和MAC层,以转换接收到的PHY和MAC层分组以及将分组有效载荷重新组合成音频分组和视频分组。在VT设备内的视频解码器解码视频数据用于经由显示设备向用户进行展示。在VT设备内的音频解码器解码音频数据用于经由音频扬声器来输出。
然而,作为无线通信链路,例如LTE链路具有变化的信道容量,接收设备可能因为各种原因遇到拥塞问题。因此,期望在接收设备处有合适的拥塞控制以使得用户体验得以提升和/或优化,例如通过避免引入分组丢失和图像定格(播出)。
附图说明
图1是示出用于视频电话(VT)应用的音频/视频编码和解码系统的方块图。
图2是示出与本公开内容的技术一致的可以实现视频接收方速率适配的视频编码系统的方块图。
图3是根据本公开内容的方面示出可以实现视频接收方速率适配的视频解码系统的方块图。
图4是概念性地示出针对采用根据本公开内容的方面来配置的处理系统的装置的示例性硬件实现方式的方块图。
图5是根据本公开内容的各个方面示出在无线通信中进行拥塞控制的示例的示例性流程图。
图6是根据本公开内容的各个方面示出在无线通信中进行拥塞控制的方面的示例性流程图。
图7是根据本公开内容的各个方面示出用于在无线通信中进行拥塞控制的示例性方法的流程图。
发明内容
下文给出对一个或多个方面的简要概述,以便提供对这样的方面的基本理解。该概述不是对全部预期方面的全面的概括,也不旨在标识全部方面的关键或重要元素或者描述任意或全部方面的范围。其目的仅是作为后文所提供的更详细描述的序言,以简化形式提出一个或多个方面的一些概念。
根据一个示例,提供了用于在无线通信中在接收设备处进行拥塞控制的方法。该示例性方法包括:在接收设备处确定多个图像传输差量,其中图像传输差量是在两个连续的图像的传输时间之间的差;在接收设备处基于图像传输差量抖动来确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞;在接收设备处基于当前最大比特速率和关于存在拥塞的确定来确定新的最大比特速率;以及从接收设备向发送设备发送新的最大比特速率。
在另一个示例中,提供了用于在无线通信中进行拥塞控制的装置(例如,接收设备/用户设备)。该装置包括:用于在接收设备处确定多个图像传输差量的单元,其中图像传输差量是在两个连续的图像的传输时间之间的差;用于在接收设备处基于图像传输差量抖动来确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞的单元;用于在接收设备处基于当前最大比特速率和关于存在拥塞的确定来确定新的最大比特速率的单元;以及用于从接收设备向发送设备发送新的最大比特速率的单元。
在进一步的示例中,提供了存储用于在无线通信中进行拥塞控制的计算机可执行代码的计算机可读介质。该计算机介质包括:用于在接收设备处确定多个图像传输差量的代码,其中图像传输差量是在两个连续的图像的传输时间之间的差;用于在接收设备处基于图像传输差量抖动来确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞的代码;用于在接收设备处基于当前最大比特速率和关于存在拥塞的确定来确定新的最大比特速率的代码;以及用于从接收设备向发送设备发送新的最大比特速率的代码。
或者,在另一个示例中,提供了用于在无线通信中进行拥塞控制的装置(例如,接收设备/用户设备)。该装置包括:被配置为存储数据的存储器;以及与该存储器通信地耦合的一个或多个处理器,其中所述一个或多个处理器和所述存储器被配置为:在接收设备处确定多个图像传输差量,其中图像传输差量是在两个连续的图像的传输时间之间的差;在接收设备处基于图像传输差量抖动来确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞;在接收设备处基于当前最大比特速率和关于存在拥塞的确定来确定新的最大比特速率;以及从接收设备向发送设备发送新的最大比特速率。
为实现前述目的和相关目的,一个或多个方面包括下文中充分描述的特征以及在权利要求书中特别指出的特征。下文的描述和附图详细阐述了一个或多个方面的某些说明性的特征。但是,这些特征仅仅是可以使用各方面的原理的各种方式中的一些方式的指示性特征,以及本说明书旨在于包括全部这样的方面和它们的等效物。
具体实施方式
视频电话(VT)设备可以是经由用于进行VT会话(例如,在VT设备之间对音频和/或视频数据的传输)的有线或无线网络来连接的。处理音频和/或视频数据用于向另一个VT设备进行传输的VT设备可以被称作发送方设备。同样地,处理接收到的音频和/或视频数据(例如,用于向VT设备的用户进行展示)的VT设备可以被称作接收方设备。
发送方设备可以以特定速率(其在本文中可以互换地称为比特速率)编码音频和/或视频数据。发送方设备可以基于网络状况来选择速率。例如,发送方设备可以基于由在用于VT会话的网络支持的最大(或接近最大)比特速率来选择速率。以这种方式,发送方设备可以准备要在不超出网络的限制的情况下使用由网络支持的相对最高的质量来发送的数据。然而,网络状况可能影响由网络支持的最大比特速率。
在一些实例中,本文描述的技术可以是由用于IP多媒体子系统(IMS)的多媒体电话服务(MTSI)设备来执行的,例如,接收设备和/或发送设备。例如,MTSI设备可以使用本文描述的技术来执行比特速率适配和/或拥塞控制,例如,用于对输入信号的处理、抖动自适应定门限和/或速率调整。
图1是示出编码和解码系统100的方块图。如在图1中所示,系统100包括例如发送设备的编码器系统112,所述编码器系统112可以是eNB或用户设备(UE),以及例如接收设备的解码器系统114,所述解码器系统114可以是UE或eNB,所述编码器系统112和所述解码器系统114由是无线/有线信道的传输信道116相连。在图1的示例中,编码器系统112可以与例如eNB的第一视频通信设备相关联,以及编码器系统112包括音频源117、视频源118、视频编码器120、音频编码器122、实时传输协议(RTP)/实时传输协议(RTCP)/用户数据报协议(UDP)/互联网协议(IP)/点对点协议(PPP)转换单元126、无线链路协议(RLP)队列128、MAC层单元130和/或物理(PHY)层单元132。解码器系统114可以与例如UE的另一个视频通信设备相关联,以及包括PHY层单元134、MAC层单元136、RLP队列138、RTP/RTCP/UDP/IP/PPP转换单元140、视频解码器142、音频解码器144、音频输出设备146和/或视频输出设备148。应该注意的是,网络设备和UE两者均可以是发送设备或者接收设备,以及此图示不意在作为网络图,同样地,信道也不意在限定于无线信道。
如下文更详细地描述的,编码器系统112和/或解码器系统114可以使用本公开内容的技术以基于网络状况来修改编码速率。例如,视频编码器120可以至少部分地根据信道116的带宽/质量来控制视频源编码速率。特别地,视频编码器120可以响应于在网络链路速率上的降低,来降低视频和/或音频数据的编码速率。同样地,视频编码器120可以响应于对未充分利用网络链路速率的指示,来提高视频和/或音频数据的编码速率。
系统100可以提供双向的视频和音频传输,例如,用于经由传输信道116的视频电话。因此,通常可以在信道116的相对两端提供互易的编码、解码和转换单元。在一些实现方式中,编码器系统112和解码器系统114可以体现在诸如为了视频流、视频电话或两者来配备的无线移动终端的视频通信设备内。移动终端可以根据诸如RTP、RTCP、UDP、IP或PPP的分组交换标准来支持VT。
例如,在编码器系统112处,RTP/RTCP/UDP/IP/PPP转换单元126将合适的RTP/RTCP/UDP/IP/PPP报头数据添加至从视频编码器120和音频编码器122接收的音频和视频数据,以及将数据放置在RLP队列128中。示例性比特流可以包括MAC报头、IP报头、UDP报头、RTCP报头以及有效载荷数据。在一些示例中,RTP/RTCP在UDP之上运行,而UDP在IP之上运行,以及IP在PPP之上运行。在一些示例中,如本文所描述的,RTP/RTCP/UDP/IP/PPP转换单元126符合特定的标准,诸如由H.Schulzrinne等人于2003年7月提出的“RFC 3550:RTP:ATransport Protocol for Real-Time Applications(用于实时应用的传输协议)”、由S.Wenger等人于2008年2月提出的“RFC 5104:Codec Control Messages in the RTPAudio-Visual Provide with Feedback(AVPF)(在带反馈的RTP音频-视觉提供(AVPF)中的编解码控制消息)”(在下文中简称为RFC 5104),和/或用于实时或准实时的数据传输的其它适用标准。MAC层单元130由RLP队列128的内容生成MAC RLP分组。PHY层单元132将MACRLP分组转换成PHY层分组用于在信道116上传输。
解码器系统114的PHY层单元134和MAC层单元136以互易的方式来操作。PHY层单元134将从信道116接收的PHY层分组转换为MAC RLP分组。MAC层单元136将MAC RLP分组放置到RLP队列138中。RTP/RTCP/UDP/IP/PPP转换单元140从RLP队列138中的数据剥离报头信息,以及重新组合视频和音频数据用于分别递送至视频解码器142和音频解码器144。
系统100可以被设计为支持一个或多个无线通信技术,诸如码分多址(CDMA)、频分多址(FDMA)、时分多址(TDMA)、或正交频分多址(OFDMA)或其它适合的无线技术。上述无线通信技术可以是根据各种无线接入技术中的任何一种无线接入技术来实现的。例如,可以根据cdma2000或宽带CDMA(WCDMA)标准来实现CDMA。可以根据全球移动通信系统(GSM)标准来实现TDMA。通用移动电信系统(UMTS)标准允许GSM或WCDMA操作。通常,为了VT应用,系统100可以被设计为支持高数据速率(HDR)技术。
视频编码器120根据诸如MPEG-4、高效视频编码(HEVC)或另外的视频编码标准之类的视频压缩方式来生成编码的视频数据。其它视频压缩方式包括国际电信联盟(ITU)H.263、ITU H.264或MPEG-2方法。音频编码器122编码音频数据以伴随视频数据。视频源118可以是视频捕获设备,诸如一个或多个视频照相机、一个或多个视频存档或视频照相机和视频存档的组合。
可以根据诸如自适应多速率窄带(AMR-NB)或其它技术之类的音频压缩方法来对音频数据进行编码。音频源117可以是音频捕获设备,诸如麦克风或者语音合成器设备。针对VT应用,视频将允许看到VT会议的参与者,以及音频将允许该参与者的说话声音被听到。
在操作中,RTP/RTCP/UDP/IP/PPP转换单元126从视频编码器120和音频编码器122获得视频和音频数据分组。如前文提到的,RTP/RTCP/UDP/IP/PPP转换单元126将适当的报头信息添加至音频分组,以及将结果数据插入到RLP队列128之内。同样地,RTP/RTCP/UDP/IP/PPP转换单元126将适当的报头信息添加至视频分组,以及将结果数据插入到RLP队列128之内。MAC层单元130从RLP队列128取回数据,以及形成MAC层分组。每个MAC层分组携带RTP/RTCP/UDP/IP/PPP报头信息以及被包括在RLP队列128之内的音频或视频分组数据。可以独立于视频分组将音频分组插入到RLP队列128之中。
在一些情况下,从RLP队列128的内容生成的MAC层分组将仅携带报头信息和视频分组数据。在其它情况下,MAC层分组将仅携带报头信息和音频分组数据。在许多情况下,MAC层分组将取决于RLP队列128的内容来携带报头信息、音频分组数据和视频分组数据。MAC层分组可以是根据无线链路协议(RLP)来配置的,以及可以被称为MAC RLP分组。PHY层单元132将MAC RLP音频-视频分组转换成PHY层分组用于跨越信道116的传输。
信道116将PHY层分组携带至解码器系统114。信道116可以是在编码器系统112和解码器系统114之间的任何物理连接。例如,信道116可以是有线连接,诸如局域网或广域有线网络。或者,如本文所描述的,信道116可以是无线连接,诸如蜂窝、卫星或光学的连接。信道状况对于有线和无线信道来说可能是关注的事,但是对于在无线信道16上执行的移动VT应用来说可能特别相关,在所述无线信道中的信道状况可能遭受衰落或拥塞。信道116可以支持特定的网络链路速率(例如,特定带宽),其可以是根据信道状况而波动的。例如,信道116可以以具有根据信道状况而变化的吞吐量的反向链路(RL)为特征。
通常,解码器系统114的PHY层单元134从PHY层分组中识别MAC层分组,以及将内容重新组合成MAC RLP分组。MAC层单元136然后重新组合MAC RLP分组的内容以提供视频和音频分组用于插入到RLP队列138内。RTP/RCTP/UDP/IP/PPP单元140除去附带的报头信息,以及提供视频分组至视频解码器142,以及提供音频分组至音频解码器144。视频解码器142将视频数据帧解码以产生视频数据流用于在驱动显示设备中使用。音频解码器144解码音频数据以产生音频信息用于例如经由音频扬声器向用户呈现。
如上文所述,系统100可以提供双向视频和音频传输,例如为了经由传输信道116的视频电话。在一些示例中,当信道116的网络链路速率变化时,可能出现问题,问题可能随着Wi-Fi、蜂窝或其它网络链路而发生。如下文相对于图2更详细地描述的,在网络设备中可以包括一个或多个缓冲器以应对速率波动以及潜在地执行队列管理。
例如,具有某发送速率(例如,由视频编码器120使用的编码速率)的VT流可能遇到链路速率上的突然下降,这可能对于该流造成瓶颈。由于在编码器系统112处对于此链路速率下降的反应延迟(例如,所述反应延迟可能是由接收方拥塞控制反馈延迟、在从接收方到发送方的返回路径上的延迟、速率适配反应延迟等等导致的),在一段时间内发送速率可能持续显著高于链路速率。这可能导致在瓶颈链路处增加缓冲程度,以及因此增加在编码器系统112和解码器系统114之间的端到端延迟(或甚至分组丢失),其可能不利地影响VT会话的质量体验。
在编码器系统112降低了在信道116上发送数据的比特速率之后(例如,降低发送速率),累积的延迟可能持续一段时间。例如,在一些实例中,累积的延迟所持续的时间长度可能取决于在发送速率与降低的链路速率(例如,导致瓶颈的链路速率)之间的差。如果在发送速率上的降低太小,则累积的延迟将减小得相对慢,这可能影响在解码器系统114处的用户体验。保守的发送速率方法是始终以显著低于估计的链路速率的速率来发送。然而,此方法可能导致在信道116处链路的未充分使用以及整体上降低的视频质量体验。
根据在本公开内容中描述的技术,视频编码器120可以基于信道116的状况来对来自视频源118的视频进行编码。特别地,视频编码器120可以基于在信道116处带宽的减小来降低编码速率(在本文中也被称为发送速率)。降低编码速率在本文中可以称作下转换。在检测到信道116处链路速率上的显著下降之后,例如在编码器系统112处已经接收到由解码器系统114生成的接收端拥塞控制反馈消息之后,编码器系统112可以临时地降低在视频编码器120处编码的数据的发送速率。
在一个示例中,根据本公开内容的方面,编码器系统112最初可以以第一比特速率通过信道116发送数据。编码器系统112可以识别出在信道116处的网络链路速率从第一网络链路速率降低到第二网络链路速率。在一些示例中,编码器系统112可以基于从解码器系统14接收到的一个或多个报告来识别网络链路速率上的降低。
根据本公开内容的方面,编码器系统112可以响应于识别出网络链路速率上的降低,来确定以此速率通过信道116发送数据的恢复比特速率,其中恢复比特速率小于第二网络链路速率。编码器系统112还可以确定缓冲持续时间,所述缓冲持续时间包括在所识别到网络链路速率发生降低的时间与网络链路速率发生降低的估计的实际时间之差。例如,如上文所述,可以有一些与识别延迟和调整视频编码器120编码数据的速率相关联的反应时间。编码器系统112可以以初始网络链路速率或接近(高于)初始网络链路速率来缓冲由视频编码器120编码的数据,直到视频编码器120有时间识别和调整编码速率至较低的速率。
编码器系统112可以基于恢复比特速率和缓冲持续时间来确定恢复速率持续时间,在所述恢复速率持续时间期间以恢复比特速率来发送数据。编码器系统然后可以在所确定的恢复速率持续时间内,以恢复比特速率来发送数据。以这种方式,该技术可以相对快地降低累积的端到端延迟,以及可以通过在端到端延迟已经降低之后使用可用的链路速率来保护用户体验的质量(例如,相对于在延长的时间段内保持发送速率在降低的速率上)。虽然出于举例的目的相对于编码器系统112进行了描述,但是应该理解的是上述技术中的某些技术可以额外地或替代地由解码器系统114来执行。
还有,本公开内容的其它技术包括用于基于网络状况来上转换(例如,增加)对数据进行编码的速率的技术。例如,在2014年6月24日的关于E2EMTSI-S4,S4-AHM215的端到端视频速率适配的SA4MTSI SWG第4号电话会议“关于上转换原则的讨论(Discussion onUpswitch Principals)”(“AHM215”)的表述中,确认了关于上转换的若干问题。如在TdocS4(14)0768“Report from SA4MTSI SWG Conference Call No.4on End-to-End VideoRate Adaptation of E2EMTSI-S4(June 24,2014)(关于E2EMTSI-S4的端到端视频速率适配的SA4MTSI SWG第4号电话会议的报告(2014年6月24日))”中记录的,认为在对上转换的原则达成一致之前需要进一步的论述以研究新的观点。
通常,在AHM215中提出的模型依赖于斜升探测模型,所述斜升探测模型在以下方面具有缺点:当探针不匹配信道状况时,探测可能将延迟引入系统中。更稳健的模型是允许诸如解码器系统114的接收机被动地测量信道116的状态,以确定在系统中是否可能有过量容量。基于此,解码器系统114可以对系统的可持续速率进行更准确的估计。
在AHM215中提出的模型还建议了两阶段方法,据此方法,编码器系统112首先探测信道以查看是否可能有更多的容量。如果探测阶段是成功的,视频编码器120可以在“斜升阶段”期间更积极地增加其速率。这样的模型会将相对大的量的拥塞带入至系统中,这是因为关于数据速率上小量增加的成功探测不意味着系统可以处理随后的更大的增加。事实上,当增加视频编码器120的速率以匹配系统容量时,更稳健的方法是首先将速率提高一相对大的量,然后较小步地变化使得速率收敛至由信道116支持的可持续的速率。
在以上文描述的方式收敛至可持续的速率的潜在地更稳健的方法之后,驱动适配的实体(例如,发送方(编码器系统112)或接收方(解码器系统114))必须具有对系统的可持续速率进行的估计。尽管有因RTCP报告导致的一些测量延迟,发送方仍可以依赖于RTCP接收机报告来检测端到端信道状况以及可以计算净吞吐量。接收方可以既计算净吞吐量,又计算对于供分组的调度的播出而到达解码器系统114还不算太晚的、可以接受的额外的延迟的量。因此,如果在接收方处计算出的相关的度量被直接发送给发送方,则实现了接收机驱动的适配模型,以及该模型可以更稳健以及应该用来确定最小适配性能。
根据本公开内容的方面,解码器系统114可以在确定信道116处的带宽正处于未充分使用状态时实现接收机驱动的速率上转换技术。例如,根据本公开内容的方面,解码器系统114可以将促使视频编码器120增加编码速率的数据提供给编码器系统112。
在一些示例中,根据本公开内容的方面,解码器系统114可以基于在解码器系统114接收数据的时间与接收到的数据被调度播出的时间之差,来确定可允许的过量的延迟参数。可允许的过量的延迟参数可以指示由信道116可支持的、在用户体验受到影响(例如,数据到达得太晚了以致不能在恰当的时间解码和播出)之前的延迟的量。解码器系统114还可以基于所确定的可允许的过量的延迟参数来确定发送方比特速率增加,用于增加将数据从编码器系统112发送给解码器系统114的比特速率。解码器系统114还可以将对发送方比特速率增加的指示发送给编码器系统112。
以这种方式,解码器系统114可以以受控的方式控制视频流的平均比特速率,以在不在网络中引入拥塞的情况下改善用户体验。该技术可以避免显著增加端到端延迟,所述端到端延迟可能导致分组丢失。
图2是根据本公开内容的技术示出可以实现视频接收机速率适配的编码器系统112的方块图200。如在图2中所示,视频编码器120包括视频编码引擎150、视频缓冲器152和视频速率控制器154。视频编码器120还接收可以由解码器系统114准备的(如下文参照图3更详细地描述的)最大目标比特速率156。
视频编码引擎150从视频源118获得视频数据,以及以由视频速率控制器154控制的速率来对视频数据进行编码。然后视频编码引擎150将所编码的视频放置在视频缓冲器152(例如,存储器152)中。视频速率控制器154,例如处理器154,可以监测视频缓冲器152的充满度,以及至少部分地基于充满度来控制由视频编码引擎150应用的视频编码速率。另外,如下文更详细地描述的,视频速率控制器154可以基于网络链路速率信息156和/或与信道116(图1)的状况相关联的其它数据来控制速率。
在一个示例中,可以从接收方设备经由临时最大媒体流比特速率请求(TMMBR)消息来接收具有针对前向信道的估计的最大比特速率的最大比特速率156,以指示在编码数据速率上的减少(或增加)。通常,如在上文所述的RFC 5104中描述的,接收机、转换器或混合器可以使用TMMBR(被称为“timber”)来请求发送方将针对媒体流的最大比特速率限制至提供的值,或低于提供的值。临时最大媒体流比特速率通知(TMMBN)包括媒体发送方的、TMMBR定义的限制中最具限制性子集的当前视角,其中媒体发送方已经接收到所述限制以帮助参与者抑制可能不会进一步限制媒体发送方的TMMBR。
应该理解的是,尽管图2的技术被描述为由图2的特定组件(例如,诸如视频速率控制器154)来实施,但是这样的技术可以额外地或替代地由视频电话设备的一个或多个其它组件来执行。作为示例,MTSI设备可以实施上文描述的某些技术以执行速率适配和/或拥塞控制。在此示例中,MTSI设备然后可以提供数据至视频速率控制器54,用于在视频编码器处实现适当的速率控制。
图3是示出可以根据本公开内容的技术实现视频接收机速率适配的视频解码器系统114的方块图。如在图3中所示,视频解码器142接收编码的数据和网络链路速率信息160,以及包括视频解码引擎162、播出确定单元164、和/或生成速率控制数据168(还被称为最大比特速率168)的拥塞控制模块166(还被称为速率控制单元)。
视频解码引擎162接收编码的数据和网络链路速率信息160,以及对视频数据进行解码。在一些示例中,视频解码引擎162可以符合一个或多个视频编码标准。如上文所述,示例视频编码标准包括HEVC,MPEG4,ITU H.263or ITU H.264。接收视频数据的速率可以由拥塞控制模块166控制,在下文参照图5详细描述的。根据本公开内容的方面,拥塞控制模块166可以确定和发送最大比特速率168至视频编码器120供在调整编码速率时使用。
在一个示例中,拥塞控制模块166可以生成具有针对前向信道的估计的最大比特速率的临时最大媒体流比特速率请求(TMMBR)消息给发送方设备,以指示在网络链路速率上的减少。通常,如在上文所述的RFC 5104中描述的,接收机、转换器或混合器可以使用TMMBR(被称为“timber”)来请求发送方将针对媒体流的最大比特速率限制至提供的值,或低于提供的值。临时最大媒体流比特速率通知(TMMBN)包括媒体发送方的、TMMBR定义的限制中的最具限制性子集的当前视角,其中媒体发送方已经接收到所述限制以帮助参与者抑制可能不会进一步限制媒体发送方的TMMBR。
参照图4,在一种实现方式中,包括拥塞控制模块166的解码器系统或接收设备114可以是被专门编程或配置的计算机设备或者可以包括被专门编程或配置的计算机设备,以执行本文描述的功能。在实现方式的一个方面中,拥塞控制模块166可以包括以下组件中的一个或多个组件:接收组件412、滤波采样生成组件414、拥塞确定组件416、比特速率确定组件418和/或发送组件420用于拥塞控制。另外,例如如通过虚线表示的,拥塞控制模块166可以在处理器402、存储器404、通信组件406和/或数据存储408中的一者或其任意组合中实现,或者使用处理器402、存储器404、通信组件406和/或数据存储408中的一者或其任意组合来执行。例如,拥塞控制模块166可以在一个或多个处理器402上被执行。进一步地,例如,拥塞控制模块166可以作为在存储器404和/或数据存储408中存储、以及由处理器402执行的计算机可读介质来定义。此外,例如,与拥塞控制模块166的操作有关的输入和输出可以由通信组件406来提供或支持,所述通信组件406可以提供在计算机设备400的组件之间的总线,或者提供用于与外部的设备或组件进行通信的接口。
接收设备114的处理器402可以被专门配置为执行与本文描述的组件和功能中的一个或多个组件和功能相关联的处理功能。处理器402可以包括处理器的单个或多个集合或多核处理器。此外,处理器402可以被实现为集成处理系统和/或分布式处理系统。
接收设备114的处理器404可以被用于存储本文使用的数据和/或应用的本地版本和/或正在被处理器402执行的指令或代码,这样以便执行本文描述的分别的实体的各自的功能。存储器404可以包括可由计算机使用的任意类型的存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、磁带、磁盘、光盘、易失性存储器、非易失性存储器以及其任意组合。
通信组件406为建立和保持与使用本文描述的硬件、软件和服务的一方或多方的通信做准备。通信组件406可以运送在接收设备114或发送设备112的组件之间的通信,以及在用户与外部设备(诸如位于跨越通信网络的位置的设备和/或与接收设备114相串行连接或本地连接的设备)之间的通信。例如,通信组件406可以包括一个或多个总线,以及可以进一步包括与可操作用于与外部设备相连接的发射机和接收机分别相关联、或收发机相关联的发送链组件和接收链组件。
数据存储408,其可以是为结合本文描述的方面使用的信息、数据库和程序提供大容量存储的硬件和/或软件的任意适当的组合。例如,数据存储408可以是用于当前未被处理器402执行的应用的数据仓库。
另外,接收设备114可以包括用户接口组件410,所述用户接口组件410是可操作的以从接收设备114的用户接收输入,以及是进一步可操作的以生成输出用于向用户进行展示。用户接口组件410可以包括一个或多个输入设备,包括但不限于键盘、数字键盘、鼠标、触摸感应显示器、导航键、功能键、麦克风、声音识别组件、能够从用户接收输入的任何其它机构、或其任意组合。此外,用户接口组件410可以包括一个或多个输出设备,包括但不限于显示器、扬声器、触觉反馈机构、打印机、能够将输出呈现给用户的任何其它机构、或其任意组合。
可以跨越广泛的各种电信系统、网络架构和通信标准来实现贯穿本公开内容提出的各种概念。
图5是用于根据本公开内容的各种实现方式在设备或发送设备(例如,接收设备114或发送设备112,其可以是用户设备)处进行拥塞控制的流程图500。尽管下文描述的操作是以特定的顺序展示的和/或是被示例性组件执行的,但是应该理解的是取决于实现方式,动作的顺序和执行动作的组件可以是不同的。
流程图500示出了例如在接收设备114处的示例性RCC算法。在一种实现方式中,在方块510处,拥塞控制模块166可以确定图像传输时间差量di。图像传输差量可以被定义为在两个连续的图像的传输时间之间的差。
在方块520处,拥塞控制模块166可以对传输时间差量di应用递归滤波器,以生成滤波采样fi。在一种实现方式中,递归滤波器可以是具有适应性权重wi的平滑滤波器,其中wi的值取决于估计的采样抖动。
在方块530处,拥塞控制模块166可以分析滤波采样fi以检测是否存在拥塞或拥塞消除(decongestion)状况。例如,如下文参照图6详细描述的,拥塞控制模块166可以增加最大比特速率、保持最大比特速率不变、或减小最大比特速率。
在方块540处,基于是否存在拥塞或拥塞消除状况,拥塞控制模块166可以确定新的最大比特速率,以及在方块550处,在TMMBR消息中向发送设备发送新的最大比特速率。
图6是根据本公开内容的各种实现方式,用于在设备(例如接收设备114或发送设备112)处进行拥塞控制的示例性方法600的流程图,所述设备可以是用户设备。尽管下文描述的操作是以特定的顺序展示的和/或是被示例性组件执行的,但是应该理解的是取决于实现方式,动作的顺序和执行动作的组件可以是不同的。
在方块610处,拥塞控制模块166可以确定滤波采样(例如,fi)的绝对值是否大于门限(例如,ji)。例如,门限ji可以是可以取决于估计的背景抖动的适应性门限。在一种实现方式中,可以基于图像传输时间差量抖动(例如,σd)来估计背景抖动。
在一种实现方式中,适应性门限ji可以是取决于与图像传输时间差量di相关联的抖动的。这是要在良好的信道状况期间(例如,在探测阶段期间当速率在增加以及没有检测到拥塞/拥塞消除时,可以确认良好的信道状况)通过仔细地选择di采样来估计信道的背景抖动。门限ji,还可以通过变量k来取决于适应性滤波器权重wi,以补偿递归滤波器的平滑强度。在一种实现方式中,可以为了利用指数平均来使门限ji平滑而执行对ji的剪切(例如,在出现意外情况的情况下)。
在一种实现方式中,可以分别基于di采样的标准偏差和fi采样差量(例如,fi-fi-1)的标准偏差来估计σd和σf。可以使用指数移动平均值来估计标准偏差,所述指数移动平均值使用权重β,β可以取决于例如帧周期估计τ和常数值α。在一方面中,权重β可以随着帧周期估计τ的增加而减小。或者,为了获得可靠的背景抖动估计,传输信道116的质量必须处于良好的状况中。
例如,在确定标准偏差σd之前,必须满足条件|fi|<0.25*ji-1)。同样地,如果条件|fi-1|<0.5*ji-1)为真,则确定标准偏差σf。此外,在确定标准偏差之前可以将采样异常值剪切至±3*σ。使用(di–fi-1)采样对σr进行估计与对σf进行估计是相同的。如下示出了用于抖动估计的非限定性示例,包括为变量Y的采样yi估计标准偏差σ(σ2=方差),其中yi代表di或者(fi-fi-1):
平均值(Y):avgi=β*avgi-1+(1-β)*yi
方差(Y):vari=β*vari-1+(1-β)*(yi-avgi)*(yi-avgi)
其中β=(1-α)0.03τ;τ:帧周期估计[ms];σd:α=0.015;以及
σf:α=0.002
方法600可以基于确定滤波采样的绝对值不满足门限或者不大于门限,来行进至方块612。也就是说,当拥塞控制模块166确定滤波采样的绝对值小于或等于门限(例如,fi<=ji)时,方法600可以行进至方块612,方块612还被称为速率增加或探测阶段。这可以指示没有在排队延迟上的显著变化,例如没有显著的排队延迟累计,这可能是由于例如在接收设备114处的良好的信道状况。方法然后可以行进至方块614,以及拥塞控制模块166可以增加最大目标比特速率,所述最大目标比特速率还被称为最大比特速率或目标比特速率。在一种实现方式中,拥塞控制模块166可以通过应用速率增量因子(例如,incFactor)将最大目标比特速率从当前最大目标比特速率(例如,curBR)来增加。例如,新的比特速率(例如,newBR)=incFactor×curBR。
在一种实现方式中,可以在增加或探测阶段(例如,方块612)期间使用速率增量因子incFactor,以基于当前最大目标比特速率来确定新的最大目标比特速率。针对incFactor的公式取决于往返时间(RTT)和差采样(di-fi-1)的方差σr 2。引入这些相关性以当RTT或抖动高的时候有更保守的incFactor。在另一种实现方式中,在较大的RTT的情况下,接收设备114检测到拥塞的开始可能花费更长时间,因此,可能需要更保守的incFactor。或者,可以通过(例如,在抖动大的情况下)更缓慢地增加速率来改善RCC的稳健性。
此外,例如,可以基于估计的进来的比特速率和RTT来确定最大速率步长(例如,max_rate_step)。当前最大目标比特速率和max_rate_step之和被用作针对新的最大目标比特速率的最大值。当前最大目标比特速率可以利用1秒间隔来增加。然而,在一种实现方式中,在检测到拥塞的开始的情况下,最大目标比特速率的降低可以是即时的。如下示出了用于确定新的最大目标比特速率的非限定性示例:
newBR=incFactor x curBR(速率增加/探测阶段)
在一种实现方式中,可以以如下方式确定incFactor:
或者,在来自方块610的另一个选项中,方法600可以基于确定滤波采样的绝对值大于门限或满足门限,来行进至方块620。也就是说,当拥塞控制模块166确定滤波采样的绝对值大于门限(例如,fi>ji)时,方法600可以行进至方块620。这可以指示检测到在排队延迟上的显著变化(例如,减小或增加)。
在方块620处,拥塞控制模块166可以确定滤波采样fi的符号。方法600可以基于确定滤波采样fi的符号是负的,来行进至方块622。也就是说,当拥塞控制模块166确定滤波采样fi的符号是负的(例如,fi<=0)时,方法600可以行进至方块622。这可以指示检测到拥塞消除阶段或者排队延迟正在减小。在一种实现方式中,在方块622处,拥塞控制模块166可以保持最大目标比特速率不变,例如newBR=curBR。
或者,在来自方块620的另一个选项中,方法600可以基于确定滤波采样fi的符号是正的(例如,fi>0),来行进至方块630。这可以指示排队延迟很可能正在增加,这可能意味着接收设备正在进入拥塞阶段。换句话说,拥塞控制模块166可以确定在接收设备114处拥塞正在开始。在这样的场景中,拥塞控制模块166可以检查一个或多个额外的条件以提高RCC的稳健性。例如,在一种实现方式中,在方块630处,每当拥塞控制模块166执行检查以确定拥塞持续时间是否满足拥塞检测时间门限,拥塞控制模块166可以使计数器递增。在一种实现方式中,拥塞检测时间门限可以被设定为100毫秒的值。或者,拥塞控制模块166可以检查计数器的值是否满足计数器门限(例如,3),和/或滤波采样fi是否比最近的前一个滤波采样大了滤波采样门限,例如采样fi是否比前一个采样fi-1大了多于两倍标准偏差2σf的量,以将滤波采样的变化考虑在内。
当拥塞控制模块166确定在方块630处的一个或多个条件满足时,方法600可以行进至方块632,例如,拥塞阶段。在方块634,基于确定接收设备处于拥塞阶段,拥塞控制模块166可以减小新的最大目标比特速率。在一种实现方式中,拥塞控制模块116可以通过应用增量因子(例如,incFactor)来将新的最大目标比特速率从当前最大目标比特速率(例如,curBR)减小。例如,新的比特速率(例如,newBR)=0.9x curBR。也就是说,新的最大目标比特速率从当前最大目标比特速率减小了。或者,在来自方块630的另一个选项中,方法600可以基于确定至少一个或多个条件不满足,来行进至方块610。在这样的场景中,拥塞控制模块可以行进至方块610,以及重复上文描述的过程600。
在一种实现方式中,在新的最大目标比特速率是基于上文描述的RCC算法来可用的之后,检查分组丢失率。如果丢失多于可配置的门限,例如10.1%(例如,>26/256),则利用最大值来剪切新的最大目标比特速率,所述最大值等于进来的比特速率乘以因子0.98。这在信道状况的情况下使用。
如此一来,拥塞控制模块166可以在用于VT的接收设备114处控制拥塞。
参照图7,例如诸如UE的接收设备114或发送设备112可以包括一个或多个处理器以执行方法700的方面,用于在与VT有关的无线通信中进行拥塞控制。虽然出于使解释简化的目的,方法被示出和描述为一系列的动作,要理解和领会的是,方法不被动作的顺序所限制,如同根据一个或多个实施例,一些动作可以与本文示出和描述的其它动作以不同的顺序发生和/或同时发生。例如,应该领会的是,方法可以替代地表示为一系列互相关联的状态或事件,诸如在状态图中。此外,根据本文描述的一个或多个特征,可以不需要所有的示出的动作来实现方法。
在方块710处,方法700包括在接收设备处确定多个图像传输差量,其中图像传输差量是在两个连续的图像的传输时间之间的差。例如,在一方面中,接收设备114和/或拥塞控制模块166可以包括接收组件412,诸如专门编程的处理器模块或者执行存储在存储器中的专门编程的代码的处理器,以在接收设备114处接收多个图像传输差量(例如,多个di值)。在一种实现方式中,图像传输时间差量可以被确定为具有索引i和i-1的在两个连续的图像的传输时间之间的时间差。
在一些方面中,在方块720处,方法700可以可选地包括在接收设备处通过对多个图像传输差量应用递归滤波器来生成与多个图像传输差量相对应的多个滤波采样,其中递归滤波器是基于图像传输差量抖动的。例如,在一方面中,接收设备114和/或拥塞控制模块166可以包括滤波采样生成组件414,诸如专门编程的处理器模块或者执行存储在存储器中的专门编程的代码的处理器,以生成多个图像传输差量。在一种实现方式中,拥塞控制模块166可以对图像传输差量使用递归滤波器来生成(或产生)滤波采样。在另一种实现方式中,递归滤波器可以是平滑滤波器。
在方块730处,方法700包括在接收设备处基于图像传输差量抖动来确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞。例如,在一方面中,接收设备114和/或拥塞控制模块166可以包括拥塞确定组件416,诸如专门编程的处理器模块或者执行存储在存储器中的专门编程的代码的处理器,以基于图像传输差量抖动(例如,多个滤波采样是基于其的)来确定是否存在与对RTP分组(例如,VT的RTP分组)的接收相关联的拥塞。
在方块740处,方法700包括在接收设备处基于当前最大比特速率和关于存在拥塞的确定来确定新的最大比特速率。例如,在一方面中,接收设备114和/或拥塞控制模块166可以包括比特速率确定组件418,诸如专门编程的处理器模块或者执行存储在存储器中的专门编程的代码的处理器,以基于当前最大比特速率(CurBR)以及确定存在拥塞来确定新的最大比特速率(newBR)。
在方块750处,方法700包括从接收设备向发送设备发送新的最大比特速率。例如,在一方面中,接收设备114和/或拥塞控制模块166可以包括比特速率确定组件418,诸如专门编程的处理器模块或者执行存储在存储器中的专门编程的代码的处理器,以向发送设备112发送新的最大比特速率(newBR)。在额外的实现方式中,拥塞控制模块166在TMMBR消息中向发送设备发送新的最大比特速率。
虽然已经相对于特定的视角(例如,由“发送设备”或者“接收设备”执行)来描述了本文描述的某些示例,但是应该理解的是本公开内容的技术不限定于这种方式。例如,如上文所述,VT经常是双向的通信流。因此,可以在前向和反向两者上均应用相似的技术。此外,虽然出于说明的目的相对于某视角展示和描述了某些设备,但是应该理解的是本文所描述的设备可以具有比示出的那些组件要多或要少的组件。作为示例,发送设备可以合并视频编码器120(图2)和视频解码器142(图3)两者,以及可以执行其中所描述的技术中的每种技术。
在一个或多个示例中,描述的功能可以是在硬件、软件、固件或其任何组合中实现的。如果在软件中实现,则功能可以作为一个或多个指令或代码存储于计算机可读介质上,或在计算机可读介质上作为一个或多个指令或代码进行传输,并且由基于硬件的处理单元来执行。计算机可读介质可以包括计算机存储介质或通信介质,所述计算机可读存储介质与诸如数据储存介质的有形介质相对应,所述通信介质包括促进计算机程序从一个地方转移到另一个地方(例如,根据通信协议)的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质(2)诸如信号或载波的通信介质。数据存储介质可以是能由一个或多个计算机或一个或多个处理器接入以取回用于在本公开内容中描述的技术的实现方式的指令、代码和/或数据结构的任何可用的介质。计算机程序产品可以包括计算机可读介质。
通过举例而非限制性的方式,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、闪速存储器、或者可以用于以指令或数据结构的形式存储期望的程序代码以及可以由计算机来存取的任何其它的介质。此外,任何连接适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或诸如红外线、无线电和微波的无线技术从网站、服务器或其它远程源发送指令,则同轴电缆、光纤光缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术包括在介质的定义中。然而应该理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它瞬变介质,而是指向非瞬变的、有形的存储介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或其它等效的集成的或分立的逻辑电路。因此,如本文所使用的术语“处理器”可以指前述结构中的任何结构或者适合用于实现本文所描述的技术的任何其它结构。此外,在一些方面,本文所描述的功能可以在被配置用于编码和解码的专用硬件和/或软件单元或模块内提供,或者合并在组合的编解码器中。此外,所述技术可以在一个或多个电路或逻辑元件中充分地实现。
本公开内容的技术可以在广泛的多种设备或装置中实现,包括无线手机、集成电路(IC)或IC的集合(例如,芯片集)。在本公开内容中描述各种组件、模块或单元以强调被配置为执行公开的技术的设备的功能性方面,但不必需要由不同的硬件单元来实现。而是,如上文描述的各种单元可以组合在编解码器硬件单元中,或者是由一些互操作的硬件单元(包括如上文描述的一个或多个处理器)与合适的软件和/或固件结合来提供的。
已经描述了各种示例。这些示例和其它示例在所附的权利要求书的范围内。
Claims (30)
1.一种在无线通信中的拥塞控制的方法,包括:
在接收设备处确定多个图像传输差量,其中,图像传输差量是在两个连续的图像的传输时间之间的差;
在所述接收设备处基于图像传输差量抖动来确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞;
在所述接收设备处基于当前最大比特速率和关于存在拥塞的确定来确定新的最大比特速率;以及
从所述接收设备向发送设备发送所述新的最大比特速率。
2.根据权利要求1所述的方法,其中,所述新的最大比特速率是在临时最大媒体比特速率请求(TMMBR)中向所述发送设备发送的。
3.根据权利要求1所述的方法,其中,图像的传输时间在所述接收设备处被确定为在所述图像的最后的实时传输协议(RTP)分组的接收时间与所述图像的第一个RTP分组的发送时间之间的时间差。
4.根据权利要求1所述的方法,还包括:
在所述接收设备处通过对所述多个图像传输差量应用递归滤波器来生成与所述多个图像传输差量相对应的多个滤波采样,其中,所述递归滤波器是基于所述图像传输差量抖动的,以及
其中,在所述接收设备处确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞还是基于所述多个滤波采样的。
5.根据权利要求4所述的方法,还包括:
在所述接收设备处估计采样抖动;以及
基于所估计的采样抖动来确定平滑滤波器的适应性权重。
6.根据权利要求5所述的方法,其中,所述适应性权重是与所估计的采样抖动成反比例的。
7.根据权利要求5所述的方法,其中,估计所述采样抖动是基于一个或多个图像传输差量的。
8.根据权利要求4所述的方法,其中,基于所述多个滤波采样来确定是否存在与接收RTP分组相关联的所述拥塞还包括:
确定所述多个滤波采样中的滤波采样的绝对值是否不满足适应性门限;以及
响应于确定所述多个采样中的所述滤波采样的所述绝对值不满足所述适应性门限,基于没有排队延迟变化来确定不存在拥塞。
9.根据权利要求8所述的方法,还包括:
将所述新的最大比特速率确定为增量因子与所述当前最大比特速率的乘积,其中,所述增量因子大于1。
10.根据权利要求8所述的方法,其中,所述排队延迟变化包括排队延迟累积。
11.根据权利要求4所述的方法,其中,基于所述多个滤波采样来确定是否存在与接收RTP分组相关联的所述拥塞还包括:
确定所述多个滤波采样中的滤波采样的绝对值是否满足适应性门限;以及
响应于确定所述多个滤波采样中的所述滤波采样的所述绝对值满足所述适应性门限,确定存在排队延迟变化。
12.根据权利要求11所述的方法,还包括:
确定所述滤波采样的所述绝对值的符号是负的还是正的;
响应于确定所述滤波采样的所述绝对值的所述符号是负的,确定所述接收设备正在经历拥塞消除阶段;以及
响应于确定所述接收设备正在经历所述拥塞消除阶段,将所述当前最大比特速率配置为所述新的最大比特速率。
13.根据权利要求11所述的方法,还包括:
确定所述滤波采样的所述绝对值的符号是负的还是正的;
响应于确定所述滤波采样的所述绝对值的所述符号是正的,确定所述接收设备正在经历拥塞阶段;以及
响应于确定所述接收设备正在经历所述拥塞阶段,将新的最大比特速率配置为降低了因子的进来的比特速率。
14.根据权利要求13所述的方法,其中,确定所述接收设备正在经历所述拥塞阶段还包括:
确定拥塞持续时间满足拥塞检测时间门限;
响应于确定所述拥塞持续时间满足所述拥塞检测时间门限,使计数器递增;
确定所述计数器的值满足计数器门限;以及
确定所述滤波采样比最近的前一个滤波采样大了滤波采样门限值。
15.根据权利要求13所述的方法,其中,确定所述接收设备正在经历所述拥塞阶段还包括以下两者中的至少一者:确定所述拥塞持续时间一次或多次地满足所述拥塞检测时间门限,或确定所述滤波采样比所述最近的前一个滤波采样大了所述滤波采样门限值。
16.根据权利要求14所述的方法,其中,所述拥塞检测时间门限、所述计数器门限、或所述滤波采样门限值中的至少一者是在所述接收设备处能配置的。
17.一种用于在无线通信中进行拥塞控制的装置,包括:
用于在接收设备处确定多个图像传输差量的单元,其中,图像传输差量是在两个连续的图像的传输时间之间的差;
用于在所述接收设备处基于图像传输差量抖动来确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞的单元;
用于在所述接收设备处基于当前最大比特速率和关于存在拥塞的确定来确定新的最大比特速率的单元;以及
用于从所述接收设备向发送设备发送所述新的最大比特速率的单元。
18.一种存储用于在无线通信中进行拥塞控制的计算机可执行代码的计算机可读介质,包括:
用于在接收设备处确定多个图像传输差量的代码,其中,图像传输差量是在两个连续的图像的传输时间之间的差;
用于在所述接收设备处基于图像传输差量抖动来确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞的代码;
用于在所述接收设备处基于当前最大比特速率和关于存在拥塞的确定来确定新的最大比特速率的代码;以及
用于从所述接收设备向发送设备发送新的最大比特速率的代码。
19.一种用于在无线通信中进行拥塞控制的装置,包括:
被配置为存储数据的存储器;以及
与所述存储器通信地耦合的一个或多个处理器,其中,所述一个或多个处理器和所述存储器被配置为:
在接收设备处确定多个图像传输差量,其中,图像传输差量是在两个连续的图像的传输时间之间的差;
在所述接收设备处基于图像传输差量抖动来确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞;
在所述接收设备处基于当前最大比特速率和关于存在拥塞的确定来确定新的最大比特速率;以及
从所述接收设备向发送设备发送所述新的最大比特速率。
20.根据权利要求19所述的装置,其中,所述一个或多个处理器和所述存储器还被配置为:
在所述接收设备处通过对所述多个图像传输差量应用递归滤波器来生成与所述多个图像传输差量相对应的多个滤波采样,其中,所述递归滤波器是基于所述图像传输差量抖动的;以及
其中,在所述接收设备处确定是否存在与接收实时传输协议(RTP)分组相关联的拥塞还是基于所述多个滤波采样的。
21.根据权利要求19所述的装置,其中,在所述接收设备处图像的传输时间被确定为在所述图像的最后的实时传输协议(RTP)分组的接收时间与所述图像的第一个RTP分组的发送时间之间的时间差。
22.根据权利要求20所述的装置,其中,所述递归滤波器是平滑滤波器,并且其中,所述一个或多个处理器和所述存储器还被配置为:
在所述接收设备处估计采样抖动;以及
基于所估计的采样抖动来确定所述平滑滤波器的适应性权重。
23.根据权利要求20所述的装置,其中,所述一个或多个处理器和所述存储器还基于下述内容来被配置为基于所述多个滤波采样来确定是否存在与接收RTP分组相关联的所述拥塞:
确定所述多个滤波采样中的滤波采样的绝对值是否不满足适应性门限;以及
响应于确定所述多个采样中的所述滤波采样的所述绝对值不满足所述适应性门限,基于没有排队延迟变化来确定不存在拥塞。
24.根据权利要求23所述的装置,其中,所述一个或多个处理器和所述存储器还被配置为:
将所述新的最大比特速率确定为增量因子与所述当前最大比特速率的乘积,其中,所述增量因子大于1。
25.根据权利要求23所述的装置,其中,所述排队延迟变化包括排队延迟累积。
26.根据权利要求20所述的装置,其中,所述一个或多个处理器和所述存储器还基于下述内容来被配置为基于所述多个滤波采样来确定是否存在与接收RTP分组相关联的所述拥塞:
确定所述多个滤波采样中的滤波采样的绝对值是否满足适应性门限;以及
响应于确定所述多个采样中的所述滤波采样的所述绝对值满足所述适应性门限,确定存在排队延迟变化。
27.根据权利要求26所述的装置,其中,所述一个或多个处理器和所述存储器还被配置为:
确定所述滤波采样的所述绝对值的符号是负的还是正的;
响应于确定所述滤波采样的所述绝对值的所述符号是负的,确定所述接收设备正在经历拥塞消除阶段;以及
响应于确定所述接收设备正在经历所述拥塞消除阶段,将所述当前最大比特速率配置为所述新的最大比特速率。
28.根据权利要求26所述的装置,其中,所述一个或多个处理器和所述存储器还被配置为:
确定所述滤波采样的所述绝对值的符号是负的还是正的;
响应于确定所述滤波采样的所述绝对值的所述符号是正的,确定所述接收设备正在经历拥塞阶段;以及
响应于确定所述接收设备正在经历所述拥塞阶段,将新的最大比特速率配置为降低了因子的进来的比特速率。
29.根据权利要求28所述的装置,其中,所述一个或多个处理器和所述存储器还基于下述内容来被配置为基于所述多个滤波采样来确定是否存在与接收RTP分组相关联的所述拥塞:
确定拥塞持续时间满足拥塞检测时间门限;
响应于所述拥塞持续时间满足所述拥塞检测时间门限,使计数器递增;
确定所述计数器的值满足计数器门限;以及
确定所述滤波采样比最近的前一个滤波采样大了滤波采样门限值。
30.根据权利要求28所述的装置,其中,所述一个或多个处理器和所述存储器还基于下述两者中的至少一者来被配置为基于所述多个滤波采样来确定是否存在与接收RTP分组相关联的所述拥塞:确定所述拥塞持续时间一次或多次地满足所述拥塞检测时间门限,或确定所述滤波采样比所述最近的前一个滤波采样大了所述滤波采样门限值。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662279602P | 2016-01-15 | 2016-01-15 | |
US62/279,602 | 2016-01-15 | ||
US15/405,022 | 2017-01-12 | ||
US15/405,022 US10492085B2 (en) | 2016-01-15 | 2017-01-12 | Real-time transport protocol congestion control techniques in video telephony |
PCT/US2017/013462 WO2017123962A1 (en) | 2016-01-15 | 2017-01-13 | Real-time transport protocol congestion control techniques in video telephony |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108476176A true CN108476176A (zh) | 2018-08-31 |
Family
ID=57985031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780006669.3A Pending CN108476176A (zh) | 2016-01-15 | 2017-01-13 | 在视频电话中的实时传输协议拥塞控制技术 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10492085B2 (zh) |
EP (1) | EP3403379A1 (zh) |
CN (1) | CN108476176A (zh) |
AU (1) | AU2017207978A1 (zh) |
BR (1) | BR112018014417A2 (zh) |
WO (1) | WO2017123962A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109905326A (zh) * | 2019-03-26 | 2019-06-18 | 武汉大学 | 一种基于拥塞程度因子的速率下降参数优化方法 |
CN110351648A (zh) * | 2019-07-31 | 2019-10-18 | 广州笙达电器有限公司 | 信号检测电路及spdif光纤信号的检测方法 |
CN113300971A (zh) * | 2021-02-05 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理系统及方法 |
CN117135682A (zh) * | 2023-02-09 | 2023-11-28 | 荣耀终端有限公司 | 获取发送速率的方法、第一电子设备及存储介质 |
CN117135682B (zh) * | 2023-02-09 | 2024-05-14 | 荣耀终端有限公司 | 获取发送速率的方法、第一电子设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11115308B2 (en) * | 2020-01-07 | 2021-09-07 | Alibaba Group Holding Limited | System and method for congestion control using time difference congestion notification |
US20230038198A1 (en) * | 2021-08-03 | 2023-02-09 | At&T Intellectual Property I, L.P. | Dynamic wireless network throughput adjustment |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1363165A (zh) * | 2000-02-15 | 2002-08-07 | 三菱电机株式会社 | 通信系统和通信方法以及发送终端和接收终端 |
US20030152032A1 (en) * | 2002-02-14 | 2003-08-14 | Kddi Corporation | Video information transmission system, and apparatus and program used for video information transmission system |
CN101909060A (zh) * | 2010-08-05 | 2010-12-08 | 浙江工业大学 | 一种适用于移动视频实时流媒体传输的Qos控制方法 |
CN101971629A (zh) * | 2008-03-12 | 2011-02-09 | 艾利森电话股份有限公司 | 用于适配视频信号的目标速率的设备和方法 |
US20130159495A1 (en) * | 2011-12-15 | 2013-06-20 | Cisco Technology, Inc. | Controlling Bit-Rates for Media Streaming Sessions |
CN104584495A (zh) * | 2012-08-27 | 2015-04-29 | 高通股份有限公司 | 用于无线网络上的自适应速率多媒体通信的装置和方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7797723B2 (en) * | 2004-10-30 | 2010-09-14 | Sharp Laboratories Of America, Inc. | Packet scheduling for video transmission with sender queue control |
US9544602B2 (en) | 2005-12-30 | 2017-01-10 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
ES2383365T3 (es) * | 2007-03-02 | 2012-06-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Post-filtro no causal |
US8923128B2 (en) * | 2010-06-22 | 2014-12-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for detecting congestion in a communications network |
US20130235931A1 (en) * | 2012-03-06 | 2013-09-12 | Apple Inc. | Masking video artifacts with comfort noise |
WO2013159209A1 (en) | 2012-04-27 | 2013-10-31 | Magor Communications Corp. | Network congestion prediction |
US9456383B2 (en) * | 2012-08-27 | 2016-09-27 | Qualcomm Incorporated | Device and method for adaptive rate multimedia communications on a wireless network |
US9426418B2 (en) | 2014-07-29 | 2016-08-23 | Qualcomm Incorporated | Reducing delay in video telephony |
-
2017
- 2017-01-12 US US15/405,022 patent/US10492085B2/en active Active
- 2017-01-13 CN CN201780006669.3A patent/CN108476176A/zh active Pending
- 2017-01-13 BR BR112018014417A patent/BR112018014417A2/pt not_active IP Right Cessation
- 2017-01-13 AU AU2017207978A patent/AU2017207978A1/en not_active Abandoned
- 2017-01-13 EP EP17703838.7A patent/EP3403379A1/en not_active Withdrawn
- 2017-01-13 WO PCT/US2017/013462 patent/WO2017123962A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1363165A (zh) * | 2000-02-15 | 2002-08-07 | 三菱电机株式会社 | 通信系统和通信方法以及发送终端和接收终端 |
US20030152032A1 (en) * | 2002-02-14 | 2003-08-14 | Kddi Corporation | Video information transmission system, and apparatus and program used for video information transmission system |
CN101971629A (zh) * | 2008-03-12 | 2011-02-09 | 艾利森电话股份有限公司 | 用于适配视频信号的目标速率的设备和方法 |
CN101909060A (zh) * | 2010-08-05 | 2010-12-08 | 浙江工业大学 | 一种适用于移动视频实时流媒体传输的Qos控制方法 |
US20130159495A1 (en) * | 2011-12-15 | 2013-06-20 | Cisco Technology, Inc. | Controlling Bit-Rates for Media Streaming Sessions |
CN104584495A (zh) * | 2012-08-27 | 2015-04-29 | 高通股份有限公司 | 用于无线网络上的自适应速率多媒体通信的装置和方法 |
Non-Patent Citations (2)
Title |
---|
H.LUNDIN,ET AL.: "A Google Congestion Control Algorithm for Real-Time Communication on the World Wide Web draft-alvestrand-rtcweb-congestion-03", 《NETWORK WORKING GROUP INTERNET-DRAFT》 * |
刘吉成 等: "基于TFRC协议的视频自适应传输机制及仿真实验", 《计算机应用研究》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109905326A (zh) * | 2019-03-26 | 2019-06-18 | 武汉大学 | 一种基于拥塞程度因子的速率下降参数优化方法 |
CN110351648A (zh) * | 2019-07-31 | 2019-10-18 | 广州笙达电器有限公司 | 信号检测电路及spdif光纤信号的检测方法 |
CN113300971A (zh) * | 2021-02-05 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理系统及方法 |
CN117135682A (zh) * | 2023-02-09 | 2023-11-28 | 荣耀终端有限公司 | 获取发送速率的方法、第一电子设备及存储介质 |
CN117135682B (zh) * | 2023-02-09 | 2024-05-14 | 荣耀终端有限公司 | 获取发送速率的方法、第一电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
BR112018014417A2 (pt) | 2018-12-11 |
WO2017123962A1 (en) | 2017-07-20 |
AU2017207978A1 (en) | 2018-06-28 |
EP3403379A1 (en) | 2018-11-21 |
US10492085B2 (en) | 2019-11-26 |
US20170208485A1 (en) | 2017-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11349900B2 (en) | Voice encoding and sending method and apparatus | |
AU2015296540B2 (en) | Receiver driven up-switching in video telephony | |
CN108476176A (zh) | 在视频电话中的实时传输协议拥塞控制技术 | |
EP3335341B1 (en) | Sender side video telephony downgrade method | |
JP4504429B2 (ja) | 端末間のボイスオーバインターネットプロトコルのメディアの待ち時間を管理する方法および装置 | |
CN103828324A (zh) | 用于分组网络上的流媒体的按需自适应比特率管理 | |
EP3016395B1 (en) | Video encoding device and video encoding method | |
JP2012231467A (ja) | マルチメディア電話のためのコンテンツ依存およびリンク依存のコード化適応 | |
EP3025496B1 (en) | Video pause indication in video telephony | |
US9313508B1 (en) | Feeding intra-coded video frame after port reconfiguration in video telephony | |
US10798141B2 (en) | Multiplexing data |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180831 |