CN115378832B - 拥塞检测方法、装置及流媒体传输系统、电子设备和介质 - Google Patents
拥塞检测方法、装置及流媒体传输系统、电子设备和介质 Download PDFInfo
- Publication number
- CN115378832B CN115378832B CN202210908240.6A CN202210908240A CN115378832B CN 115378832 B CN115378832 B CN 115378832B CN 202210908240 A CN202210908240 A CN 202210908240A CN 115378832 B CN115378832 B CN 115378832B
- Authority
- CN
- China
- Prior art keywords
- code rate
- packet loss
- real
- streaming media
- media data
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 166
- 238000001514 detection method Methods 0.000 title claims abstract description 27
- 238000011156 evaluation Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000630 rising effect Effects 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 description 12
- 230000007423 decrease Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 101100465000 Mus musculus Prag1 gene Proteins 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241000352333 Amegilla alpha Species 0.000 description 1
- 208000032369 Primary transmission Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- 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
-
- 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/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- 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/0852—Delays
- H04L43/0864—Round trip delays
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了拥塞检测方法、装置、流媒体传输系统、电子设备和介质,所述方法应用于发送设备,发送设备与接收设备之间建立有传输链路,方法包括:在向接收设备发送流媒体数据时,获取接收设备反馈的网络特征信息;网络特征信息包括实时丢包率、重传率和往返时延;基于往返时延和预设时延上限值计算针对流媒体数据的预期传输次数;获取与预期传输次数匹配的评估阈值;依据实时丢包率与重传率之和与评估阈值的差异,检测传输链路的是否处于拥塞状态。本发明实施例可以实现接收设备能够结合实时丢包率、重传率、往返时延等维度判定其与接收设备的传输链路是否处于拥塞状态,提高传输链路拥塞状态判定准确性。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种拥塞检测方法、拥塞检测装置、流媒体传输系统、电子设备及可读存储介质。
背景技术
WebRTC(Web Real-Time Communication,网页实时通信)是一个支持网页浏览器进行实时语音对话或视频对话的应用程序编程接口。
基于WebRTC的低延时音视频流技术,适用于在线视频会议、在线教学、音频和视频直播互动等场景。WebRTC使用标准的RTP(Real-time Transport Protocol,实时传输协议)/RTCP(Real-time Control Protocol,实时传输控制协议)封装流媒体,并基于UDP(User Datagram Protocol,用户数据报协议)传输流媒体,RTCP本身提供保证传输可靠性的机制,例如:基于GCC(Google Congestion Control,谷歌拥塞控制)码率估算算法的拥塞控制机制。GCC算法主要分成两个部分,一个是基于丢包的拥塞控制,一个是基于延迟的拥塞控制。在早期的实现当中,这两个拥塞控制算法分别是在发送设备和接收设备实现的,接收设备的基于延迟的拥塞控制算法所计算出的估计带宽,会通过RTCP的REMB(ReceiverEstimated Max Bitrate,接收设备估计最大比特率)反馈到发送设备,发送设备综合两个控制算法的结果得到一个最终的发送码率,并以此最终的发送码率发送数据包。
GCC码率估算算法存在的问题是仅仅基于丢包率判断发送设备与接收设备的传输链路是否发生拥塞,而传输链路是否拥塞又不仅仅取决于丢包率,使得GCC码率估算算法对传输链路的拥塞状态判定不够准确。
发明内容
本发明实施例的目的在于提供一种拥塞检测方法,以实现检测不同设备之间传输链路的拥塞状态的稳定性和可靠性,减少设备之间传输数据的码率的波动。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种拥塞检测方法,所述方法应用于发送设备,所述发送设备与接收设备之间建立有传输链路,所述方法包括:
在向所述接收设备发送流媒体数据时,获取所述接收设备反馈的网络特征信息;所述网络特征信息包括实时丢包率、重传率和往返时延;
基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数;
获取与所述预期传输次数匹配的评估阈值;
依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,检测所述传输链路的是否处于拥塞状态。
在本发明实施的第二方面,还提供了一种拥塞检测装置,应用于发送设备,所述发送设备与接收设备之间建立有传输链路,所述装置包括:
特征信息获取模块,用于在向所述接收设备发送流媒体数据时,获取所述接收设备反馈的网络特征信息;所述网络特征信息包括实时丢包率、重传率和往返时延;
预期传输次数确定模块,用于基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数;
评估阈值获取模块,用于获取与所述预期传输次数匹配的评估阈值;
拥塞状态检测模块,用于依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,检测所述传输链路的是否处于拥塞状态。
在本发明实施的第三方面,还提供了一种流媒体传输系统,包括流媒体数据的发送设备以及接收设备,所述发送设备与所述接收设备之间建立有传输链路;
所述接收设备包括用于在接收到所述发送设备发送的流媒体数据时,生成与所述流媒体数据对应的网络特征信息;
所述发送设备包括用于在向所述接收设备发送流媒体数据时,获取所述接收设备反馈的网络特征信息;所述网络特征信息包括实时丢包率、重传率和往返时延;
基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数;
获取与所述预期传输次数匹配的评估阈值;
依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,确定所述传输链路的拥塞状态。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如上所述的拥塞检测方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上所述的拥塞检测方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的拥塞检测方法。
本发明实施例提供的拥塞检测方法,通过在向接收设备发送流媒体数据时,获取接收设备反馈包括实时丢包率、重传率和往返时延的网络特征信息;基于往返时延和预设时延上限值计算针对流媒体数据的预期传输次数;获取与预期传输次数匹配的评估阈值;依据实时丢包率与重传率之和与评估阈值的差异,检测传输链路的是否处于拥塞状态,从而使得接收设备能够结合实时丢包率、重传率、往返时延等多维度判定其与接收设备的传输链路是否处于拥塞状态,提高了传输链路拥塞状态判定准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有技术中的一种码率调节示意图;
图2为本发明实施例提供的一种码率信息调节示意图;
图3为本发明实施例中的一种拥塞检测方法实施例一的步骤流程图;
图4为本发明实施例中的一种拥塞检测方法实施例二的步骤流程图;
图5是本发明实施例中的一种拥塞检测装置实施例的结构框图;
图6是本发明实施例中的一种流媒体传输系统实施例的结构框图;
图7为本发明实施例中的一种电子设备实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参照图1,示出了现有技术中的一种码率调节示意图,涉及通过传输链路连接的发送设备100和接收设备200。发送设备100按照GCC算法调节流媒体数据的码率,具体的,发送设备100的丢包率控制模块101用于基于丢包率估算码率,并将估算码率与接收设备200基于RTCP协议反馈的REMB码率进行对比,两者中的较小值为目标码率。编码器102用于按照目标码率输出流媒体数据。定速模块103用于控制数据包的发送速率。FEC(Forward ErrorCorrection,前向纠错)是指将编码后数据包一部分作为冗余数据加入到需要传输的数据包中。前后纠错模块104用于在编码后的数据包中加入冗余数据,发送设备100基于RTP协议将加入冗余数据后的流媒体数据封装成数据包,经过传输链路发送至与接收设备200。
接收设备200的到达滤波模块201用于在接收到数据包后,对数据包到达时间的间隔波动进行滤波得到延迟时间,自适应阈值模块202用于按照延迟时间以及预设规则得到自适应阈值,过载检测模块203用于根据延迟时间和自适应阈值判断接收流媒体数据时间间隔波动是否过载,远程码率控制模块204根据过载检测结果形成估算的RMEB码率,RMEB处理模块205用于通过RTCP协议将估算的REMB码率反馈给发送设备100。
具体的GCC算法如下:
fl(tk)为丢包率,当丢包率大于10%时则认为网络有拥塞,此时根据丢包率降低带宽,丢包率越高带宽降的越多;当丢包率小于2%时,则认为网络状况很好,此时向上提高5%的带宽以探测是否有更多带宽可用;2%到10%之间的丢包率,则会保持当前码率不变,由于其仅基于传输链路中的丢包率调整数据包的传输码率,使得码率变化容易发生波动,看干扰度较低。
参照图2,示出了本发明实施例提供的一种码率信息调节示意图,对比于图1所示现有技术,本发明实施例发送设备100的拥塞控制算法模块110结合接收设备200反馈的实时丢包率、重传率和往返时延判断其与接收设备200的传输链路是否处于拥塞状态,并在当前码率信息的基础上计算得到目标码率信息。如果目标码率信息与当前码率信息不相同,则将目标码率信息发送给编码器102,编码器102按照目标码率信息动态调整其输出的流媒体输数据的码率,使得发送音视频包的带宽尽可能自动适应网络波动。例如:在移动终端的操作系统中调用编码器的系统接口实时修改编码器的码率(譬如:在部署有ios操作系统的手机端,能调用编码器object-c语言的系统接口VTSessionSetProperty实时修改编码器的码率),降低码率能够降低发送音视频链路所需的带宽、减少网络拥塞,提高码率能够提高音视频的清晰度、提高带宽利用率、在弱网环境可能造成网络拥塞。
参照图3,示出了本发明的一种拥塞检测方法流程示意图;本发明实施例应用于发送设备,所述发送设备与接收设备之间建立有传输链路。
发送设备可以与一个或多个接收设备之间预先基于用户数据包协议建立传输链路,进而构成UDP网络。发送设备可以通过该传输链路向接收设备传输流媒体数据。流媒体数据可以包括音频流、视频流、文本流、图像流等中的一种或多种。
发送设备可以是终端或者服务器,终端可以包括但不限于智能手机、平板电脑、个人计算机、可穿戴设备中的一种或多种。
相似的,接收设备可以是终端或设备,在此不再赘述,参考发送设备描述即可。
本发明实施例具体可以包括如下步骤:
步骤301,在向所述接收设备发送流媒体数据时,获取所述接收设备反馈的网络特征信息;所述网络特征信息包括实时丢包率、重传率和往返时延;
在发送设备向接收设备发送流媒体数据时,接收设备可以针对传输链路生成对应的网络特征信息,并确定传输网络特性信息的反馈时间间隔,按照反馈时间间隔采用上述传输链路将网络特征信息发送至发送设备,网络特征信息可以包括丢包率、重传率和往返时延(RTT,Round-Trip Time)。在实际应用中,可以根据传输链路的带宽确定反馈频率,避免网络特征信息占用过多的带宽,例如:按照网络特性信息占用带宽上限为5%确定反馈时间间隔。在此基础上,可以设置反馈时间间隔的范围,例如:150毫秒~250毫秒,也可以将反馈时间间隔设定为固定值。在传输流媒体数据时,可以将流媒体数据划分成多个数据包后向接收设备传输。
其中,重传率为经过重传后接收设备收到的数据包占发送设备发出的数据包的比例;丢包率为发送设备向接收设备发送流媒体数据时,丢失(接收设备未能接收)的数据包占发送设备已发出的数据包的比例,具体的,数据包划分有媒体包和FEC包,FEC包中包含有冗余编码,丢包率指通过数据包重传和冗余编码传输等手段,接收设备依然不能正确收到的数据包比例,是真实发生的丢包,直接影响数据完整性、导致画面花屏、音频清晰度下降;接收设备在收到发送设备发送的数据包时,会向发送设备反馈一个针对该数据包的确认消息,往返时延为发送设备发出数据包至接收到针对该数据包的确认消息之间的时间。
在实际中,可以按照预设的单位时间计算上述实时丢包率、重传率、往返时延。
步骤302,基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数;
预设时延上限值可以是指接收设备接收任一数据包失败,直至准确接收到该数据包的容时。
可以根据延时上限值和往返时延,计算发送设备向接收设备发出单一数据包的预期传输次数。预期传输次数为在当前时延上限值和往返时延下,在不影响接收设备使用者体验的情况下,允许的传输次数。
步骤303,获取与所述预期传输次数匹配的评估阈值;
可以预先确定并保存多个不同预期传输次数对应的评估阈值,在通过步骤302得到当前的预期传输次数时,从该保存的多个评估阈值中确定与当前的预期传输次数匹配的一个。
在一具体示例中,发送设备中可以存储有一预设列表,该预设列表记录有不同评估阈值,以及各个评估阈值对应的传输次数。可以从预设列表中获取与上述计算得到的预期传输次数匹配的评估阈值。
步骤304,依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,检测所述传输链路的是否处于拥塞状态。
计算实时丢包率与重传率之和,得到实时丢包率与重传率的和值,并对该比和值与评估阈值的大小,基于该和值与评估阈值的大小关系确定传输链路是否处于拥塞状态。
由于评估阈值与预期传输次数匹配,当实时丢包率与重传率的和值小于或等于评估阈值时,则反映出发送设备能够在当前的实时丢包率和重传率情况下传输流媒体数据包时,能够在不多于预期传输次数成功将某个流媒体数据包发送至接收设备,并且接收设备成功接收该流媒体数据(即发送设备能够在采用不多于评估阈值匹配的预期传输次数传输某数据包时,成功将该数据包发送至接收设备),所以能够确定传输链路没有处于拥塞状态。反之当实时丢包率与重传率的和值大于评估阈值时,则反映出发送设备能够在当前的实时丢包率和重传率情况下传输流媒体数据包时,无法在不多于预期传输次数成功将流媒体数据包发送至接收设备,并且接收设备成功接收该流媒体数据(也即发送设备无法在采用不多于评估阈值匹配的预期传输次数传输某数据包时,成功将该数据包发送至接收设备),所以能够确定传输链路处于拥塞状态,从而可以在得到预期传输次数匹配的评估阈值后,基于实时丢包率和重传率的和值与评估阈值的大小关系以检测传输链路是否处于拥塞状态。
在本申请实施例中,通过在向接收设备发送流媒体数据时,获取接收设备反馈包括实时丢包率、重传率和往返时延的网络特征信息;基于往返时延和预设时延上限值计算针对流媒体数据的预期传输次数;获取与预期传输次数匹配的评估阈值;依据实时丢包率与重传率之和与评估阈值的差异,检测传输链路的是否处于拥塞状态,从而使得接收设备能够结合实时丢包率、重传率、往返时延等多维度判定其与接收设备的传输链路是否处于拥塞状态,提高了传输链路拥塞状态判定准确性。
参照图4,示出了本发明的一种拥塞检测方法流程示意图;本发明实施例应用于发送设备,所述发送设备与接收设备之间建立有传输链路。
本发明实施例具体可以包括如下步骤:
步骤401,在向所述接收设备发送流媒体数据时,获取所述接收设备反馈的网络特征信息;所述网络特征信息包括实时丢包率、重传率和往返时延;
在本申请的一种可选实施例中,步骤401具体包括:按照指定时间间隔获取所述接收设备反馈的网络特征信息;所述指定时间间隔大于100毫秒且小于300毫秒。
在实际应用中,接收设备默认反馈包含实时丢包率、重传率的网络特征信息的实际间隔过小(譬如小于50毫秒),会出现实时丢包率、重传率的波动过大,导致数据失真。基于上述公式(2)会导致经常被误判为网络拥塞。接收设备反馈网络特征信息的间隔过大,就会出现灵敏度下降。将100~300毫秒作为指定时间间隔,接收设备判断网络出现明显波动时提前反馈,在灵敏度和准确性获取较好的平衡。
步骤402,基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数;
在本申请的一种可选实施例中,步骤302具体包括:计算预设延时上限值与所述往返时延的商值的二倍值,以作为预期传输次数。
假设当发送设备向接收设备发送数据时,实时丢包率(lost)和每次的实时重传率(nack)均为0.2,经过若干次重传后单一数据包的总丢包率为0.002,可以得到传输该数据包次数n与初次的丢包率和每次的重传率均为0.2的关系(公式1)如下:
0.2n≤0.002
依据公式1得到的n=3.86,即需要4次传输(1次初次传输以及3次重传),总丢包率就能降到0.2%以下。
依据公式1可以得到公式2:
(nack+lost)n≤0.002
发送设备与接收设备不处于拥塞状态的判定条件确定为,当n为预期传输次数时,上述公式2成立,即当n为预期传输次数时,nack与lost之和存在上限值,才能将传输链路判定为不处于拥塞状态,基于该上限值得到不同预期传输次数对应的评估阈值,使得后续只需要在确定预期传输次数对应的评估阈值后,对比实时丢包率与所述重传率之和与评估阈值即可检测传输链路拥塞状态。
在实际应用中,网络一般会存在一定的延时,当该延时较小时,接收设备的用户不容易感知到网络的延时情况,当延迟较大时,接收设备的用户能够容易感知到网络的延时情况。可以先设定延迟上限值,通过对比网络实时延时值和延时上限值的大小,以确定接收设备的用户是否感知到网络的延时情况。基于该延时上限值,以及往返时延可以得到在延时上限值对应的时间内,数据包的预期传输次数与时延上限值、往返时延的关系(公式3)如下:
n=delay/(RTT/2)
其中,n为预期传输次数,delay为时延上限值,RTT为往返时延。
所述预设延时上限值通过如下方法确定:识别与所述流媒体数据匹配的当前场景类型;读取预先设置的与所述当前场景类型匹配的延时上限值。
不同的场景中,接收设备对网络的延时感知可能不同,例如:云游戏要求延时<100毫秒,视频会议要求的会话延时400~500毫秒。云游戏业务的延时上限值较低,使其能够尽可能通过冗余编码的传输来解决数据丢包问题。而视频通话业务通常可以允许200毫秒左右的延时上限值,用户不容易感知到200毫秒内的数据重传。
在预先针对不同的场景类型设定对应的延时上限值,在需要判定网络的拥塞状态时,确定当前传输流媒体数据的场景类型,进而确定与该类型对应的延时上限值,由于不同场景类型的延时上限值不同,进而预期传输次数也不同,使得网络拥塞状态的判定能够与不同场景类型适配,拥塞状态判定更加精准。
步骤403,获取与所述预期传输次数匹配的评估阈值;
在本申请的一种可选实施例中,步骤303包括:读取预先设置的预期丢包率;以所述预期丢包率为底数且所述预期传输次数的倒数为指数,确定评估阈值。
结合上述公式2和公式3,可以得到计算评估阈值的公式4如下:
其中,C为预期丢包率,K为评估阈值。
在一示例中,预期丢包率为0.002,此时评估阈值
步骤404,依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,检测所述传输链路的是否处于拥塞状态;
可以通过对比实时丢包率与重传率之和与评估阈值的大小关系,以判断传输链路是否处于拥塞状态,具体的,步骤304包括:判断所述实时丢包率与所述重传率之和是否大于所述评估阈值;若所述实时丢包率与所述重传率之和大于所述评估阈值,则确定所述传输链路处于拥塞状态;若所述实时丢包率与所述重传率之和不大于所述评估阈值,则确定所述传输链路处于非拥塞状态。在实际应用中,可以通过判断实时丢包率、重传率、评估阈值之间的关系是否满足公式5以确定是否处于拥塞状态,公式5如下:
在实际应用中,可以将上述评估阈值计算,简化为查表获取不同预期传输次数对应的所容许的阈值上限(实时丢包率与所述重传率之和)。例如:以重传0.5次作为最小精度,根据公式2算出下面的阈值上限列表(表1),即:可获取到不同传输次数所对应的阈值上限,例如:根据(公式2)计算预期传输次数为3次,对应0.126阈值上限。
表1
步骤405,获取所述流媒体数据对应的当前码率信息;
发送设备能够按照一定码率向接收设备发送流媒体数据,当前码率信息为发送设备当前发送流媒体数据的码率,即发送设备当前向发送设备单位时间内传输数据位数,例如:1500Kbit/s(kilo bit per second,千位每秒),
步骤406,计算所述实时丢包率与所述重传率之和与所述评估阈值之间的差值;
计算实时丢包率与重传率的和值,并计算该和值与评估阈值之间的差值,如果差值越大则代表传输链路拥塞程度越严重;差值越小则说明传输链路有足够的带宽冗余,能够采用更大的码率传输流媒体数据。
步骤407,按照所述差值将所述当前码率信息调整为目标码率信息;
可以根据差值大小确定目标码率信息,例如:在发送设备设置有大于零的第一预设阈值,以及小于零的第二预设阈值。当该差值大于第一预设阈值时,相当于实时丢包率与重传率的和值大于评估阈值,由于评估阈值与预期传输次数匹配,则反映出发送设备能够在当前的实时丢包率和重传率情况下传输流媒体数据包时,无法在不多于预期传输次数成功将流媒体数据包发送至接收设备,并且接收设备成功接收该流媒体数据,当前传输链路处于拥塞状态,需要降低当前码率信息得到目标码率信息,从而减少接收设备发生丢包情况;当该差值小于第二预设阈值时,即当实时丢包率与重传率的和值小于评估阈值时,则反映出发送设备能够在当前的实时丢包率和重传率情况下传输流媒体数据包时,能够在不多于预期传输次数成功将某个流媒体数据包发送至接收设备,并且接收设备成功接收该流媒体数据,进而确定传输链路没有处于拥塞状态,通过逐渐升高当前码率信息得到目标码率信息,从而充分利用传输链路中的带宽资源。当该差值不大于第一预设阈值且不小于第二预设阈值时,则不对当前码率信息进行调整;其中,所述第一预设大于所述第二预设阈值。
需要说明的是,由于传输链路的带宽可能会存在波动情况,故将第一预设阈值和第二预设阈值设置为非零数,防止对当前码率信息频繁调整,造成接收设备输出流媒体数据时持续出现跳变(例如:流媒体视频的清晰度持续变化)。
在本发明的一种可选实施例中,述接收设备设置有数据表;所述数据表记录多个档别,以及各个档别对应的阈值上限和传输次数;可以根据针对上述表1中的各个阈值上限划分多个档别,得到档别-阈值上限-传输次数的对应关系,基于该对应关系构建如表2所示的数据表。在确定需要减低当前码率信息时,结合表2计算降低后的目标码率信息,表2如下所示:
表2
所述降低所述当前码率信息得到目标码率信息的步骤包括:基于所述数据表确定所述预期传输次数对应的第一档别G1;基于所述数据表确定与所述实时丢包率与重传率之和对应第二档别G2;第二档别为阈值上限小于所述实时丢包率与重传率之和中的最高档别;依据预先设置的下降步长α、所述第一档别G1、所述第二档别G2、当前码率信息A,计算降低后的目标码率信息Adown;其中,(公式6),α为小于1的正数。
譬如:发送设备在确定需要降低当前码率信息时,依据往返时延RTT值50和预设延时上限值为200毫秒,计算得到的预期传输次数为200/(50/2)=8次,通过表格2得到对应的的第一档别G1为13。发送设备当前接收到的实时丢包率与重传率之和为0.5,由表2中得到实时丢包率与重传率之和对应的第二档别G2为15。第二档别G2比第一档别G1高出两档。按上述公式(6)来计算目标码率信息,且降低后的目标码率信息为A*α(15-13),即A*α2。若α=0.9,则降低后的目标码率信息为0.81A。
在本发明的一种可选实施例中,所述升高所述当前码率信息得到目标码率信息的步骤包括:依据预先设置的上升步长β和当前码率信息A,计算升高后的目标码率信息Aup;其中,Aup=A*β(公式8),β为小于1的正数。
上升步长可以预先设置到发送设备中。在实际应用中,上升步长设置为5%~10%,采用陡降缓升策略,避免上升过块造成拥塞网络。
在具体应用中,当往返时延波动较大时,表示传输链路也处于不稳定状态,此时如果直接升高当前码率信息,可能导致接收设备接收流媒体数据包更加不稳定,所以在将当前码率信息进行升高的条件不仅需要满足公式(5),同时将最近几秒的若干个RTT值保存在预先构建的队列中,计算均值和标准差d,
其中,RTTi为该队列中不同RTT的值,标准差d用于评估传输稳定性。
其中,在公式(7)中引入一个常量f(取值30~50毫秒),用于避免RTT很小的时候,算出来的RTT均值很小。
发送设备在确定当前网络特征信息满足上述公式(5)以及公式(7)后,按照如下公式(8)增大当前码率信息。
步骤408,按照所述目标码率信息将所述流媒体数据发送至所述接收设备。
按照调整后目标码率信息将将流媒体数据发送至接收设备,使得流媒体数据的码率适配当前网络拥塞情况。
在本申请的一种可选实施例中,所述网络特征信息还包括预期码率信息;在步骤408之前,所述方法还包括:判断所述预期码率信息是否小于所述目标码率信息;若所述预期码率信息小于所述目标码率信息,则按照所述预期码率信息将所述流媒体数据发送至所述接收设备;若所述预期码率信息不小于所述目标码率信息,则执行步骤408。
预期码率信息为接收设备在所需要的码率。在不同的场景下接收设备的预期信息不同,例如:视频会议相较于语音会议的预期码率信息较高。为避免带宽资源浪费,若预期码率信息小于目标码率信息时,则发送设备按照预期码率信息向接收设备发送流媒体数据;若预期码率信息不小于目标码率信息时,表示发送设备当前传输流媒体数据的码率信息要小于接收设备在当前场景下所需要的码率,则执行步骤308,以增大发送设备输出流媒体数据的码率。
具体的,如上所述的720P分辨率25帧的视频会议场景中预期码率为2Mbit/S。如果按照本发明实施例得到的目标码率信息为3Mbit/S,由于预期码率信息小于目标码率信息,为避免带宽资源浪费,则发送设备按照2Mbit/S码率信息向接收设备传输流媒体数据。如果按照本发明实施例得到的目标码率信息为1Mbit/S,由于预期码率信息不小于目标码率信息,表示发送设备当前传输流媒体数据的码率信息要小于接收设备在当前场景下所需要的码率但是当前能达到的目标码率信息为1Mbit/S,则发送设备按照1Mbit/S码率信息向接收设备传输流媒体数据。
在本发明实施例中,通过在向接收设备发送流媒体数据时,获取接收设备反馈包括实时丢包率、重传率和往返时延的网络特征信息;基于往返时延和预设时延上限值计算针对流媒体数据的预期传输次数;获取与预期传输次数匹配的评估阈值;计算实时丢包率与重传率之和与评估阈值的差值,基于该差值检测传输链路的是否处于拥塞状态,从而使得接收设备能够结合实时丢包率、重传率、往返时延等多维度判定其与接收设备的传输链路是否处于拥塞状态,提高了传输链路拥塞状态判定准确性。同时,当传输链路处于拥塞状态时,能够结合实时丢包率、重传率、往返时延、预设的下降步长和当前码率信息计算目标码率信息;当传输链路处于非拥塞状态,能够依据预设的上升步长和当前码率信息计算目标码率信息,从而实现在当前码率信息的基础上确定需要降低至的目标码率信息或者升高至的码率信息,实现发送设备传输流媒体数据的码率信息的动态调整。进一步的,按照将降低当前码率信息得到的目标码率信息传输流媒体数据,能够减少接收设备的卡顿情况,或者按照将升高当前码率信息得到的目标码率信息传输流媒体数据,能够提高接收设备展示流媒体数据的质量(例如:视频画质、语音清晰度等)。
作为一种实际应用,可以将接收设备设置在城市A,将发送设备设置在城市B,通过发送前端不断提高实时丢包率,监测实时丢包率上升所导致的两种音视频质量边界:
边界1:音视频质量开始出现轻微下降、或清晰度有波动,持续几分钟尚可恢复正常;边界2:音视频显著下降后,画面模糊,带宽和画面质量无法恢复正常。
示例(1)公网RTT为25毫秒,测试结果如下:
采用本发明实施例提供的码率信息调节方式,实时丢包率升到20%时,带宽和清晰度开始波动对应于边界1,实时丢包率上升到28%画面模糊对应于边界2。
采用现有技术提供的码率信息调节方式(如图1所示),实时丢包率升到5%开始有清晰度下降对应于边界1,实时丢包率上升到8%画面模糊对应于边界2。
示例(2)公网RTT为36毫秒,测试结果如下:
采用本发明实施例提供的码率信息调节方式,实时丢包率升到15%时,带宽和清晰度开始波动对应于边界1,实时丢包率上升到20%画面模糊对应于边界2。
采用现有技术提供的码率信息调节方式,实时丢包率升到3%开始有清晰度下降对应于边界1,实时丢包率上升到7%画面模糊对应于边界2。
由上述可见,当按照本发明实施例提供的码率信息调节方式确定发送设备发送流媒体数据时,会在更高的实时丢包率时才会触发。而在实际应用中,实时丢包率往往是动态变化的,例如:在某一场景下,实时丢包率的变化范围为1%~10%,由上述示例(1)和示例(2)可知,以边界1对应的音视频质量开始出现轻微下降情况为例:如果采用本发明实施例的方式调节码率信息,发送设备无需调整或者只需要较小变化地调整,使得接收设备并不会触发音视频质量开始出现轻微下降、或清晰度有波动。而在相同变化范围下,如果按照现有技术调节码率信息,则使得当实时丢包率为1%~3%(不包括3%)时,接收设备不会触发音视频质量开始出现轻微下降,而当实时丢包率为3%~10%时,由于发送设备调整了码率信息,使得接收设备就已经出现音视频质量开始出现轻微下降。具体的,当不同时刻得到的实时丢包率为1%、4%、3%、2%、5%时,如果按照本发明实施例的码率调节方式,接收设备均不会触发音视频质量开始出现轻微下降的情况,而如果采用现有技术调节码率信息,则当码率信息从1%变为4%,以及由2%变为5%时,接收设备均会触发音视频质量开始出现轻微下降的情况。而接收设备出现音视频质量开始出现轻微下降的情况,是发送设备明显降低码率信息的表现,由此可知,本发明实施例提供的码率信息调节方式相对于现有技术更为稳定,避免接收设备接收码率信息频繁波动。
作为一种具体应用,在一个300位粉丝的同时实时连线并采用屏幕进行展示的场景中,将音视频流发送端(相当于上述的发送设备)和接收端(相当于上述的接收设备)收集到的往返时延、实时丢包率、重传率等数据传递到大数据后台,然后对比实时丢包率、重传率之和与基于往返时延计算出来的评估阈值,即可判断出该粉丝的终端网络链路是否发生拥塞,并可以针对该终端给出明确的好、中等、差等信号之一,形成由红(代表差信号)、黄(代表中等信号)、绿(代表好信号)等三种颜色组成的红绿灯,并显示在数百人的现场连线屏幕上,实时给现场嘉宾和工作人员呈现每个备选粉丝的网络是否拥塞,判断出每个备选粉丝的网络接入质量是否能满足实时互动,结合该用户发送端收集到的视频编码qp(Quantization Parameter,量化参数)值(H264/VP8/VP9等编码算法的量化参数,决定画面清晰度,例如:H264编码中,若qp值小于28认为质量正常,若qp值大于34认为质量较差),还能判断出该用户的画面是否清晰。
参照图5,示出了本发明实施例中的一种拥塞检测装置实施例的结构框图,应用于发送设备,所述发送设备与接收设备之间建立有传输链路,所述装置包括:
特征信息获取模块501,用于在向所述接收设备发送流媒体数据时,获取所述接收设备反馈的网络特征信息;所述网络特征信息包括实时丢包率、重传率和往返时延;
预期传输次数确定模块502,用于基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数;
评估阈值获取模块503,用于获取与所述预期传输次数匹配的评估阈值;
拥塞状态确定模块504,用于依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,确定所述传输链路的拥塞状态。
在本发明的一种可选实施例中,所述预期传输次数确定模块502,用于计算预设延时上限值与所述往返时延的商值的二倍值,以作为预期传输次数。
在本发明的一种可选实施例中,所述预设延时上限值通过如下模块确定:
场景类型识别模块,用于识别与所述流媒体数据匹配的当前场景类型;
延时上限值确定模块,用于读取预先设置的与所述当前场景类型匹配的延时上限值。
在本发明的一种可选实施例中,所述评估阈值获取模块503包括:
预期丢包率获取子模块,用于读取预先设置的预期丢包率;
评估阈值确定子模块,用于以所述预期丢包率为底数且所述预期传输次数的倒数为指数,确定评估阈值。
在本发明的一种可选实施例中,特征信息获取模块501包括:
定时子模块,用于按照指定时间间隔获取所述接收设备反馈的网络特征信息;所述指定时间间隔大于100毫秒且小于300毫秒。
在本发明的一种可选实施例中,所述装置还包括:
当前码率信息获取模块,用于获取所述流媒体数据对应的当前码率信息;
差值计算模块,用于计算所述实时丢包率与所述重传率之和与所述评估阈值之间的差值;
目标码率信息调节模块,用于按照所述差值将所述当前码率信息调整为目标码率信息;
发送模块,用于按照所述目标码率信息将所述流媒体数据发送至所述接收设备。
在本发明的一种可选实施例中,所述目标码率信息调节模块包括:
降低码率子模块,用于当所述差值大于第一预设阈值时,降低所述当前码率信息得到目标码率信息;
升高码率子模块,用于当所述差值小于第二预设阈值时,升高当前码率信息得到目标码率信息;
维持码率子模块,用于当所述差值不大于第一预设阈值且不小于第二预设阈值时,则不对当前码率信息进行调整;
其中,所述第一预设大于所述第二预设阈值。
在本发明的一种可选实施例中,所述接收设备设置有数据表;所述数据表记录多个档别,以及各个档别对应的阈值上限和传输次数;所述降低码率子模块包括:
第一档别确定单元,用于基于所述数据表确定所述预期传输次数对应的第一档别G1;
第二档别确定单元,用于基于所述数据表确定与所述实时丢包率与重传率之和对应第二档别G2;第二档别为阈值上限小于所述实时丢包率与重传率之和中的最高档别;
降低码率单元,用于依据预先设置的下降步长α、所述第一档别G1、所述第二档别G2、当前码率信息A,计算降低后的目标码率信息Adown;
其中,α为小于1的正数。
在本发明的一种可选实施例中,所述升高码率子模块,用于依据预先设置的上升步长β和所述当前码率信息A,计算升高后的目标码率信息Aup;
其中,Aup=A*β,β为小于1的正数。
在本发明的一种可选实施例中,所述网络特征信息还包括预期码率信息;所述装置还包括:
码率信息判断模块,用于判断所述预期码率信息是否小于所述目标码率信息;若是,则按照所述预期码率信息将所述流媒体数据发送至所述接收设备;若否,则执行所述按照所述目标码率信息将所述流媒体数据发送至所述接收设备。
在本发明的一种可选实施例中,所述拥塞状态确定模块504用于判断所述实时丢包率与所述重传率之和是否大于所述评估阈值;若所述实时丢包率与所述重传率之和大于所述评估阈值,则确定所述传输链路处于拥塞状态;若所述实时丢包率与所述重传率之和不大于所述评估阈值,则确定所述传输链路处于非拥塞状态。
参照图6,示出了本发明实施例中的一种流媒体传输系统实施例的结构框图;流媒体传输系统包括流媒体数据的发送设备601以及接收设备602,所述发送设备601与所述接收设备602之间建立有传输链路;
所述接收设备602用于在接收到所述发送设备发送的流媒体数据时,生成与所述流媒体数据对应的网络特征信息;
所述发送设备601用于在向所述接收设备发送流媒体数据时,获取所述接收设备反馈的网络特征信息;所述网络特征信息包括实时丢包率、重传率和往返时延;基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数;获取与所述预期传输次数匹配的评估阈值;依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,确定所述传输链路的拥塞状态。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,所述电子设备位于发送设备,所述发送设备与接收设备之间建立有传输链路,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
在向所述接收设备发送流媒体数据时,获取所述接收设备反馈的网络特征信息;所述网络特征信息包括实时丢包率、重传率和往返时延;
基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数;
获取与所述预期传输次数匹配的评估阈值;
依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,确定所述传输链路的拥塞状态。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的拥塞检测方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的拥塞检测方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (15)
1.一种拥塞检测方法,其特征在于,应用于发送设备,所述发送设备与接收设备之间建立有传输链路,所述方法包括:
在向所述接收设备发送流媒体数据时,获取所述接收设备反馈的网络特征信息;所述网络特征信息包括实时丢包率、重传率和往返时延;
基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数;
获取与所述预期传输次数匹配的评估阈值;
依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,检测所述传输链路的是否处于拥塞状态。
2.根据权利要求1所述的方法,其特征在于,所述基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数的步骤包括:
计算预设延时上限值与所述往返时延的商值的二倍值,以作为预期传输次数。
3.根据权利要求2所述的方法,其特征在于,所述预设延时上限值通过如下方法确定:
识别与所述流媒体数据匹配的当前场景类型;
读取预先设置的与所述当前场景类型匹配的延时上限值。
4.根据权利要求2或3所述的方法,其特征在于,所述获取与所述预期传输次数匹配的评估阈值的步骤包括:
读取预先设置的预期丢包率;
以所述预期丢包率为底数且所述预期传输次数的倒数为指数,确定评估阈值。
5.根据权利要求1-3任一项所述的方法,其特征在于,获取所述接收设备反馈的网络特征信息的步骤包括:
按照指定时间间隔获取所述接收设备反馈的网络特征信息;所述指定时间间隔大于100毫秒且小于300毫秒。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取所述流媒体数据对应的当前码率信息;
计算所述实时丢包率与所述重传率之和与所述评估阈值之间的差值;
按照所述差值将所述当前码率信息调整为目标码率信息;
按照所述目标码率信息将所述流媒体数据发送至所述接收设备。
7.根据权利要求6所述的方法,其特征在于,所述按照所述差值将所述当前码率信息调整为目标码率信息的步骤包括:
当所述差值大于第一预设阈值时,降低所述当前码率信息得到目标码率信息;
当所述差值小于第二预设阈值时,升高当前码率信息得到目标码率信息;
当所述差值不大于第一预设阈值且不小于第二预设阈值时,则不对当前码率信息进行调整;
其中,所述第一预设大于所述第二预设阈值。
8.根据权利要求7所述的方法,其特征在于,所述接收设备设置有数据表;所述数据表记录多个档别,以及各个档别对应的阈值上限和传输次数;所述降低所述当前码率信息得到目标码率信息的步骤包括:
基于所述数据表确定所述预期传输次数对应的第一档别G1;
基于所述数据表确定与所述实时丢包率与重传率之和对应第二档别G2;第二档别为阈值上限小于所述实时丢包率与重传率之和中的最高档别;
依据预先设置的下降步长α、所述第一档别G1、所述第二档别G2、所述当前码率信息A,计算降低后的目标码率信息Adown;
其中,α为小于1的正数。
9.根据权利要求8所述的方法,其特征在于,所述升高所述当前码率信息得到目标码率信息的步骤包括:
依据预先设置的上升步长β和所述当前码率信息A,计算升高后的目标码率信息Aup;
其中,Aup=A*β,β为小于1的正数。
10.根据权利要求6所述的方法,其特征在于,所述网络特征信息还包括预期码率信息;在所述按照所述目标码率信息将所述流媒体数据发送至所述接收设备之前,所述方法还包括:
判断所述预期码率信息是否小于所述目标码率信息;
若是,则按照所述预期码率信息将所述流媒体数据发送至所述接收设备;
若否,则执行所述按照所述目标码率信息将所述流媒体数据发送至所述接收设备。
11.根据权利要求1或2或3所述的方法,其特征在于,所述依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,检测所述传输链路的是否处于拥塞状态的步骤包括:
判断所述实时丢包率与所述重传率之和是否大于所述评估阈值;
若所述实时丢包率与所述重传率之和大于所述评估阈值,则确定所述传输链路处于拥塞状态;
若所述实时丢包率与所述重传率之和不大于所述评估阈值,则确定所述传输链路处于非拥塞状态。
12.一种拥塞检测装置,其特征在于,应用于发送设备,所述发送设备与接收设备之间建立有传输链路,所述装置包括:
特征信息获取模块,用于在向所述接收设备发送流媒体数据时,获取所述接收设备反馈的网络特征信息;所述网络特征信息包括实时丢包率、重传率和往返时延;
预期传输次数确定模块,用于基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数;
评估阈值获取模块,用于获取与所述预期传输次数匹配的评估阈值;
拥塞状态确定模块,用于依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,确定所述传输链路的拥塞状态。
13.一种流媒体传输系统,其特征在于,包括流媒体数据的发送设备以及接收设备,所述发送设备与所述接收设备之间建立有传输链路;
所述接收设备用于在接收到所述发送设备发送的流媒体数据时,生成与所述流媒体数据对应的网络特征信息;
所述发送设备用于在向所述接收设备发送流媒体数据时,获取所述接收设备反馈的网络特征信息;所述网络特征信息包括实时丢包率、重传率和往返时延;基于所述往返时延和预设时延上限值计算针对所述流媒体数据的预期传输次数;获取与所述预期传输次数匹配的评估阈值;依据所述实时丢包率与所述重传率之和与所述评估阈值的差异,确定所述传输链路的拥塞状态。
14.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-11任一所述的拥塞检测方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-11中任一所述的拥塞检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210908240.6A CN115378832B (zh) | 2022-07-29 | 2022-07-29 | 拥塞检测方法、装置及流媒体传输系统、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210908240.6A CN115378832B (zh) | 2022-07-29 | 2022-07-29 | 拥塞检测方法、装置及流媒体传输系统、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115378832A CN115378832A (zh) | 2022-11-22 |
CN115378832B true CN115378832B (zh) | 2024-03-26 |
Family
ID=84063254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210908240.6A Active CN115378832B (zh) | 2022-07-29 | 2022-07-29 | 拥塞检测方法、装置及流媒体传输系统、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115378832B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116546191B (zh) * | 2023-07-05 | 2023-09-29 | 杭州海康威视数字技术股份有限公司 | 视频链路质量检测方法、装置及设备 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904015B1 (en) * | 2000-09-01 | 2005-06-07 | Force10 Networks, Inc. | Congestion avoidance profiles in a packet switching system |
JP2007150859A (ja) * | 2005-11-29 | 2007-06-14 | Sharp Corp | 受信装置、送信装置、通信システム、受信装置の制御プログラム、および受信装置の制御プログラムを記録した記録媒体 |
CN102394858A (zh) * | 2011-06-30 | 2012-03-28 | 北京邮电大学 | 一种信息传输方法和装置 |
CN102664717A (zh) * | 2012-04-25 | 2012-09-12 | 北京中科晶上科技有限公司 | Arq反馈通信系统中丢包处理的方法 |
CN102843257A (zh) * | 2012-08-15 | 2012-12-26 | 无锡北邮感知技术产业研究院有限公司 | 一种路径评估方法及装置 |
CN104270724A (zh) * | 2014-09-19 | 2015-01-07 | 杭州华三通信技术有限公司 | 组播物理发送速率的调整方法及装置 |
CN106255149A (zh) * | 2016-08-10 | 2016-12-21 | 广州市百果园网络科技有限公司 | 一种媒体数据传输方法及装置 |
CN106713161A (zh) * | 2015-11-13 | 2017-05-24 | 中国移动通信集团公司 | 传递网络出口拥塞状态方法、网络出口选择方法及路由器 |
FR3059185A1 (fr) * | 2016-11-24 | 2018-05-25 | Belledonne Communications | Procede et circuit de dectection de congestion |
CN108540395A (zh) * | 2018-04-18 | 2018-09-14 | 清华大学 | 无丢失网络中的拥塞判断方法 |
CN109167734A (zh) * | 2018-08-06 | 2019-01-08 | 华为技术有限公司 | 识别传输控制协议状态的方法和装置 |
CN109688064A (zh) * | 2018-12-19 | 2019-04-26 | 北京达佳互联信息技术有限公司 | 数据传输方法、装置、电子设备和存储介质 |
WO2019080022A1 (zh) * | 2017-10-26 | 2019-05-02 | 天彩电子(深圳)有限公司 | 网络视频流传输拥塞控制方法及装置 |
CN110417669A (zh) * | 2018-07-09 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 数据包重传控制、网络拥塞检测方法和装置 |
WO2020143180A1 (zh) * | 2019-01-11 | 2020-07-16 | 深圳市网心科技有限公司 | 基于网络拥塞探测的智能限速方法、装置及存储介质 |
CN113111127A (zh) * | 2021-04-15 | 2021-07-13 | 深圳市腾讯网络信息技术有限公司 | 数据存储的方法、装置、电子设备和可读介质 |
CN113364698A (zh) * | 2021-06-08 | 2021-09-07 | 北京汇钧科技有限公司 | 带宽估计方法、系统、电子设备与存储介质 |
CN113595830A (zh) * | 2021-07-30 | 2021-11-02 | 百果园技术(新加坡)有限公司 | 一种网络丢包状态的检测方法、装置、设备及存储介质 |
CN113783775A (zh) * | 2021-03-09 | 2021-12-10 | 北京京东尚科信息技术有限公司 | 数据传输的方法和装置 |
WO2022111724A1 (zh) * | 2020-11-30 | 2022-06-02 | 苏州盛科通信股份有限公司 | 网络拥塞检测方法及装置 |
CN114666831A (zh) * | 2022-03-25 | 2022-06-24 | 南通先进通信技术研究院有限公司 | 一种基于流编码和带宽估计驱动的分组传输方法及其系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011122999A1 (en) * | 2010-03-30 | 2011-10-06 | Telefonaktiebolaget L M Ericsson (Publ) | A method of congestion detection in a cellular radio system |
KR102102254B1 (ko) * | 2014-01-15 | 2020-04-20 | 삼성전자주식회사 | 통신 시스템에서 무선 네트워크의 혼잡 검출 장치 및 방법 |
US11234159B2 (en) * | 2019-10-04 | 2022-01-25 | Verizon Patent And Licensing Inc. | Systems and methods for congestion control on mobile edge networks |
-
2022
- 2022-07-29 CN CN202210908240.6A patent/CN115378832B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904015B1 (en) * | 2000-09-01 | 2005-06-07 | Force10 Networks, Inc. | Congestion avoidance profiles in a packet switching system |
JP2007150859A (ja) * | 2005-11-29 | 2007-06-14 | Sharp Corp | 受信装置、送信装置、通信システム、受信装置の制御プログラム、および受信装置の制御プログラムを記録した記録媒体 |
CN102394858A (zh) * | 2011-06-30 | 2012-03-28 | 北京邮电大学 | 一种信息传输方法和装置 |
CN102664717A (zh) * | 2012-04-25 | 2012-09-12 | 北京中科晶上科技有限公司 | Arq反馈通信系统中丢包处理的方法 |
CN102843257A (zh) * | 2012-08-15 | 2012-12-26 | 无锡北邮感知技术产业研究院有限公司 | 一种路径评估方法及装置 |
CN104270724A (zh) * | 2014-09-19 | 2015-01-07 | 杭州华三通信技术有限公司 | 组播物理发送速率的调整方法及装置 |
CN106713161A (zh) * | 2015-11-13 | 2017-05-24 | 中国移动通信集团公司 | 传递网络出口拥塞状态方法、网络出口选择方法及路由器 |
CN106255149A (zh) * | 2016-08-10 | 2016-12-21 | 广州市百果园网络科技有限公司 | 一种媒体数据传输方法及装置 |
FR3059185A1 (fr) * | 2016-11-24 | 2018-05-25 | Belledonne Communications | Procede et circuit de dectection de congestion |
WO2019080022A1 (zh) * | 2017-10-26 | 2019-05-02 | 天彩电子(深圳)有限公司 | 网络视频流传输拥塞控制方法及装置 |
CN108540395A (zh) * | 2018-04-18 | 2018-09-14 | 清华大学 | 无丢失网络中的拥塞判断方法 |
CN110417669A (zh) * | 2018-07-09 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 数据包重传控制、网络拥塞检测方法和装置 |
CN109167734A (zh) * | 2018-08-06 | 2019-01-08 | 华为技术有限公司 | 识别传输控制协议状态的方法和装置 |
CN109688064A (zh) * | 2018-12-19 | 2019-04-26 | 北京达佳互联信息技术有限公司 | 数据传输方法、装置、电子设备和存储介质 |
WO2020143180A1 (zh) * | 2019-01-11 | 2020-07-16 | 深圳市网心科技有限公司 | 基于网络拥塞探测的智能限速方法、装置及存储介质 |
WO2022111724A1 (zh) * | 2020-11-30 | 2022-06-02 | 苏州盛科通信股份有限公司 | 网络拥塞检测方法及装置 |
CN113783775A (zh) * | 2021-03-09 | 2021-12-10 | 北京京东尚科信息技术有限公司 | 数据传输的方法和装置 |
CN113111127A (zh) * | 2021-04-15 | 2021-07-13 | 深圳市腾讯网络信息技术有限公司 | 数据存储的方法、装置、电子设备和可读介质 |
CN113364698A (zh) * | 2021-06-08 | 2021-09-07 | 北京汇钧科技有限公司 | 带宽估计方法、系统、电子设备与存储介质 |
CN113595830A (zh) * | 2021-07-30 | 2021-11-02 | 百果园技术(新加坡)有限公司 | 一种网络丢包状态的检测方法、装置、设备及存储介质 |
CN114666831A (zh) * | 2022-03-25 | 2022-06-24 | 南通先进通信技术研究院有限公司 | 一种基于流编码和带宽估计驱动的分组传输方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115378832A (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11349900B2 (en) | Voice encoding and sending method and apparatus | |
CN111836079B (zh) | 一种视频码流的传输方法及装置 | |
US8964115B2 (en) | Transmission capacity probing using adaptive redundancy adjustment | |
CN106330761B (zh) | 基于队列时延的拥塞控制方法及装置 | |
US20190035383A1 (en) | Artificially generated speech for a communication session | |
US10148598B2 (en) | Efficient packet processing at video receiver in multimedia communications over packet networks | |
US20100274920A1 (en) | Adjustment of Transmission Data Rate Based on Data Errors and/or Latency | |
US9014028B2 (en) | Identifying and transitioning to an improved VOIP session | |
EP2178261B1 (en) | Communication apparatus, communication method for communication apparatsu, and computer-readable medium storing communication control program for communication apparatus | |
CN108833930B (zh) | 直播数据传输控制方法、装置、直播设备及存储介质 | |
US9660767B2 (en) | Communication control apparatus, communication control method, and computer-readable non-transitory recording medium | |
US10116715B2 (en) | Adapting encoded bandwidth | |
US8340126B2 (en) | Method and apparatus for congestion control | |
CN108401128A (zh) | 一种视频通话中的拥塞控制方法 | |
EP3403379A1 (en) | Real-time transport protocol congestion control techniques in video telephony | |
CN115378832B (zh) | 拥塞检测方法、装置及流媒体传输系统、电子设备和介质 | |
CN110191060A (zh) | 一种调整数据包发送码率的方法、装置、设备及系统 | |
US20180035135A1 (en) | Video encoder | |
US20090113048A1 (en) | Method and program for managing the quantity of data transmitted by a transmission device over a telecommunication network | |
CN113612649B (zh) | 往返估计 | |
CN114866763A (zh) | 一种视频质量的评估方法、装置、终端设备和存储介质 | |
KR101384125B1 (ko) | 통신 시스템에서 맥 계층의 서비스 품질 파라미터 생성장치 및 방법 | |
WO2014087764A1 (ja) | 端末および通信システム | |
KR20050049019A (ko) | 멀티미디어 데이터 전송을 위한 전송율 조절 방법 및장치 | |
CN107154913B (zh) | 一种ip电话终端通信方法 |
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 |