CN106255149B - 一种媒体数据传输方法及装置 - Google Patents
一种媒体数据传输方法及装置 Download PDFInfo
- Publication number
- CN106255149B CN106255149B CN201610653712.2A CN201610653712A CN106255149B CN 106255149 B CN106255149 B CN 106255149B CN 201610653712 A CN201610653712 A CN 201610653712A CN 106255149 B CN106255149 B CN 106255149B
- Authority
- CN
- China
- Prior art keywords
- packet loss
- current network
- parameter
- network
- determining
- 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 58
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000001174 ascending effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 description 17
- 238000001514 detection method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000000630 rising effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 238000005067 remediation Methods 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/0273—Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1864—ARQ related signaling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及网络技术领域,公开了一种媒体数据传输方法及装置。其中,该方法包括:获取用于表示当前网络状态的网络参数;根据所述网络参数确定当前网络的丢包类型,所述丢包类型包括拥塞丢包或者随机链路丢包;基于所述丢包类型,调整当前网络流媒体数据的传输方式。采用本发明,可针对不同的丢包类型进行不同的流媒体数据传输方式调整,保证较高的数据吞吐率,提高流媒体数据的传输质量。
Description
技术领域
本发明涉及网络技术领域,具体涉及一种媒体数据传输方法及装置。
背景技术
近年来计算机网络的爆炸式发展,特别是大量多媒体实时业务的广泛应用,对传统的以传输控制协议(Transmission Control Protocol,TCP)为主的传输层协议提出了新的挑战。大部分多媒体应用对时延很敏感,但却具有一定的容错机制,能够容忍少量的报文丢失。此类应用要求传输协议开销小、响应快,并且不必保证传输完全可靠。此外,抖动也是对多媒体应用有较大影响的问题,而TCP拥塞控制使用的加性增加乘性减少(AdditiveIncreaseMultiplicative Decrease,AIMD)策略,会引起发送速率很大的抖动。目前多媒体实时应用多采用UDP协议来传输,但由于UDP协议缺乏拥塞控制机制,当基于TCP、UDP的应用共享网络带宽时,TCP流因具有拥塞退避机制而导致“饥饿”,而UDP将不公平地获得大量带宽,同时可能导致网络拥塞,影响Internet的鲁棒性,因此随着UDP协议的应用在Internet所占的比例的增加,其不足之处逐渐暴露。
针对这个问题,TCP友好速率控制算法(TCP Friendly Rate Control,TFRC)应运而生。TFRC是一种适合于多媒体传输,并具有拥塞退避机制,能够与TCP协议公平分享带宽的传输协议。在同等条件下,TFRC流具有与TCP流近似相同的吞吐量,因此,可以“公平地”与TCP共享网络带宽。另一方面,TFRC吞吐量变化稳定、抖动较小,因此更加适合电话、流媒体等对传输速率的平滑性要求较高的应用。
TFRC是一种基于接收端的机制,其基本思想是在接收端检测网络的拥塞信号丢包事件频率,并将信号反馈给发送端。而发送端利用以丢包事件频率为变量的吞吐率公式来调整发送速率,以适应网络拥塞的状况,同时保证协议的友好性和发送速率的平滑性。
现有基于TFRC的UDP网络传输框架通过检测丢包事件频率来估计网络可用带宽,其丢包事件频率计算方法将所有丢包事件都归咎于网络拥塞,但是在实际应用中,即使没有出现网络拥塞,流媒体数据的传输也不可能百分之百的精确完成。特别在移动网络条件下,链路多径衰弱、外源干扰、移动切换等原因,都有可能导致出现随机链路丢包,这样的丢包会导致TFRC协议盲目减小发送速率,影响传输协议的吞吐率。
发明内容
本发明实施例公开了一种媒体数据传输方法及装置,可针对不同的丢包类型进行不同的流媒体数据传输方式调整,保证较高的数据吞吐率,提高流媒体数据的传输质量。
本发明实施例第一方面公开一种媒体数据传输方法,包括:
获取用于表示当前网络状态的网络参数;
根据所述网络参数确定当前网络的丢包类型,所述丢包类型包括拥塞丢包或者随机链路丢包;
基于所述丢包类型,调整当前网络流媒体数据的传输方式。
本发明实施例第二方面公开一种媒体数据传输装置,包括:
获取模块,用于获取用于表示当前网络状态的网络参数;
确定模块,用于根据所述网络参数确定当前网络的丢包类型,所述丢包类型包括拥塞丢包或者随机链路丢包;
调整模块,用于基于所述丢包类型,调整当前网络流媒体数据的传输方式。
本发明实施例中,获取用于表示当前网络状态的网络参数,根据网络参数确定当前网络的丢包类型,该丢包类型包括拥塞丢包或者随机链路丢包,基于该丢包类型,调整当前网络流媒体数据的传输方式,通过这种方式,可针对不同的丢包类型进行不同的流媒体数据传输方式调整,保证较高的数据吞吐率,提高流媒体数据的传输质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种媒体数据传输方法的流程图;
图2是本发明实施例公开的一种拥塞丢包和随机链路丢包对比图;
图3是本发明实施例提供的一种丢包对抗方案框架图;
图4是本发明实施例公开的一种媒体数据传输装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种媒体数据传输方法及装置可以应用于基于TFRC的UDP网络传输框架中,TFRC是一种基于接收端的机制,其基本思想是在接收端检测网络的拥塞信号丢包事件频率,并将信号反馈给发送端。而发送端利用以丢包事件频率和往返时延及重传超时时间为变量的吞吐率公式来调整发送速率,以适应网络拥塞的状况,同时保证协议的友好性和发送速率的平滑性。协议使用的吞吐量方程如下:
其中,RTT为往返时延,RTO为重传超时时间,p为丢包事件频率。在计算发送速率前,必须首先得到以上参数。其中,由于接收端并不对每个收到的数据包发送应答,因此丢包事件频率必须由接收端统计。而RTT和RTO既可以在发送端测量也可以在接收端测量。目前TFRC协议的实现是由发送端测量RTT和RTO,接收端统计丢包事件频率并反馈给发送端,发送端根据以上参数计算合理的发送速率。
现有的TFRC协议是基于一个基本假设,那就是所有丢包事件都由网络拥塞造成的路由排队造成。但在实际应用,特别是无线移动网络环境下,受限于网络服务提供商和信道质量,许多丢包与网络拥塞没有直接关系,而这种非拥塞丢包可以使用重传或者冗余编码等策略进行补救。但是在这种环境下,TFRC算法中计算出来的丢包事件频率会非常大,从而导致发送速率迅速下降,严重影响流媒体网络传输吞吐率,进而破坏产品体验。
针对这个问题,本发明实施例提出了一种针对TFRC流媒体传输协议的随机链路丢包以及拥塞丢包检测策略。通过这个方法,我们可以在TFRC的丢包事件频率计算环节剔除随机链路丢包,只留下由网络拥塞造成的丢包进行计算。从而排除不必要的环境干扰,有效提升流媒体系统在高丢包环境下的传输能力。并且在检测到是随机链路丢包时,进一步采取对应的补救措施进行补救,提高网络吞吐率。
请参阅图1,图1是本发明实施例公开的一种媒体数据传输方法的流程图。如图1所示,该方法可以包括以下步骤。
S100、获取用于表示当前网络状态的网络参数;
本发明实施例中,发送设备获取用于表示当前网络状态的网络参数,以确定当前网络丢包是随机链路丢包或者拥塞丢包,对于不是拥塞丢包导致的丢包事件,予以剔除,不用于丢包事件频率计算,从而不会盲目减少发送设备的发送速率。
可选的,所述网络参数包括当前网络时延参数、当前网络丢包率变化趋势参数以及当前网络丢包率参数中的至少一种。依据香农定理,信源的发送速率必须小于或等于信道容量。因此,当信源带宽远大于链路带宽形成带宽瓶颈时,路由器处理数据包时在瓶颈网络节点排队等待,造成网络拥塞。网络出现拥塞一般表现为数据丢失,时延增加,吞吐量下降,严重时甚至会导致“拥塞崩溃”,直观反应为发送设备到接收设备往返时延和丢包率上升。而往返时延和丢包率的上升幅度和速率又取决于瓶颈链路带宽、路由队列平均长度、路由丢包策略及网络结构等因素,没有一个固定的模式。
如图2所示,图中左、右图分别为拥塞丢包和随机链路丢包的表现,第一行为发送速率变化趋势图,第二行为往返时延(Round-Trip Time,RTT)变化趋势图,第三行为丢包率大小的变化趋势图。从图中可以看出拥塞丢包出现的时候往往伴随着较大的RTT和剧烈的丢包率变化,而随机链路丢包发生时,RTT和丢包率都相对而言较平稳。在本发明实施例中,使用上述当前网络RTT、当前网络丢包率变化趋势参数以及当前网络丢包率参数作为判断是否处于拥塞状态的依据。
S101、根据所述网络参数确定当前网络的丢包类型,所述丢包类型包括拥塞丢包或者随机链路丢包;
本发明实施例中,根据上述当前网络时延参数、当前网络丢包率变化趋势参数以及当前网络丢包率参数中的至少一种网络参数确定当前网络的丢包类型,该丢包类型包括拥塞丢包或者随机链路丢包,若为随机链路丢包,则不会将该丢包事件作为TFRC中丢包频率计算过程中。
可选的,若网络参数包括当前网络时延参数;
所述根据所述网络参数确定当前网络的丢包类型,包括:
若所述当前网络时延参数大于第一阈值,则确定当前网络的丢包类型为拥塞丢包;
若所述当前网络时延参数小于或者等于所述第一阈值,则确定当前网络的丢包类型为随机链路丢包。
本发明实施例中,网络时延参数可以包括单向时延或者RTT,这里以RTT为例进行说明,当RTT升高到第一阈值以上时,认为当前系统处于拥塞状态,即是当前网络的丢包类型为拥塞丢包,若RTT小于或者等于第一阈值,则确定当前网络丢包类型为随机链路丢包。
为了排除网络物理延时的干扰,系统在每一次传输中维护一个最小时延变量rtt_min,在每个数据包的确认(Acknowledgement,ACK)字符反馈到发送设备的时候,记录其RTT,若RTT小于rtt_min,则rtt_min=RTT。若当前RTT>rtt_min+δ,则认为当前网络处于拥塞状态。
阈值δ由网络瓶颈带宽、路由队列长度和数据包大小共同决定,设路由平均队列长度为L_q,带宽为bw,包大小为s,则RTT能够上升的最大幅度为rtt_inc=(L_q×s)/bw。一般而言,在出现拥塞的场景中,接收设备的接收速率recv_rate≈网络可用带宽bw,故RTT上升最大幅度为rtt_inc≈(L_q×s)/(recv_rate),以此可以设置阈值δ=(L_q×s)/(2recv_rate)。
在真实系统中,我们难以得知路由队列长度,可以保守估计队列长度为50,根据Bigo Live流媒体传输系统中的最大码率和平均包大小,我们设置δ=300ms作为一个保守的阈值,对RTT异常增大的行为进行判断。
可选的,若网络参数包括当前网络丢包率变化趋势参数;
所述根据所述网络参数确定当前网络的丢包类型,包括:
若当前网络丢包率变化趋势为上升趋势,则确定当前网络的丢包类型为拥塞丢包;
若当前网络丢包率变化趋势为下降趋势或者平稳趋势,则确定当前网络的丢包类型为随机链路丢包。
本发明实施例中,网络参数可以包括当前网络丢包率变化趋势参数,如图2所示,图2的第三行的图即是拥塞丢包和随机链路丢包的丢包率变化趋势图,如图所示,拥塞丢包的丢包率变化趋势图是剧烈变化,而随机链路丢包的丢包率变化趋势图是平稳变化。
具体可选的,系统维护近200ms或近20个数据包的丢包率信息,并实时检测其是否处于上升状态。若检测到丢包率处于上升状态,则认为当前网络处于拥塞状态,当前的丢包事件为拥塞丢包;若检测到丢包率处于平稳状态,则认为当前网络是随机链路丢包。为了排除丢包率抖动带来的影响,我们先对丢包率进行时域低通滤波,滤波方式为:
pktLoss=0.05×pktLoss_t+0.95×pktLoss
设pktLoss(n)=A×pktLoss(n-1)+w(n),其中pktLoss(n)为n时刻的pktLoss值,A为状态转移参量,w(n)为过程噪声,w(n)服从N(0,Q)的高斯分布。由此设计卡尔曼滤波器估计每一步中w(n)的值,当w(n)>阈值σ,认为pktLoss处于上升状态,判断为网络拥塞,即是拥塞丢包;反之若w(n)<-σ,则认为pktLoss处于下降过程,网络没有出现拥塞,丢包为随机链路丢包;若w(n)∈(-σ,σ),则可以认为pktLoss处于平稳状态,网络没有出现拥塞,丢包为随机链路丢包。需要说明的是,卡尔曼(Kalman)滤波是一种高效率的递归滤波器(自回归滤波器),它能够从一系列的不完全包含噪声的测量中,估计动态系统的状态。
在不同的网络环境下,丢包率波动的幅度和速率也会有所不同,Kalman滤波器的阈值σ需要针对网络环境做自适应调整。调整策略可被归纳为“快升慢降”:若w(n)∈(-σ,σ),则σ以较慢的速度下降,否则σ以较快的速度上升。这样的处理方式是让滤波器在不同的网络环境下都能够有效检测出pktLoss的上升/下降过程。
可选的,若网络参数包括当前网络丢包率参数;
所述根据所述网络参数确定当前网络的丢包类型,包括:
若所述当前网络丢包率大于第二阈值,则确定当前网络丢包的丢包类型为拥塞丢包;
若所述当前网络丢包率小于或者等于所述第二阈值,则确定当前网络丢包的丢包类型为随机链路丢包。
本发明实施例中,对于流媒体网络传输系统而言,少量的随机链路丢包可以通过丢包重传或者冗余编码进行较好恢复,不会严重影响流媒体对端播放质量。但是在非常严重丢包的网络链路下,现有技术很难解决高丢包造成的丢帧、超时等问题。所以本发明实施例在实际的流媒体传输系统中没有办法,也没有必要保证极高丢包率下的传输效果。设丢包率阈值(即第二阈值)为θ_p,当检测到丢包率大小pktLoss>θ_p时,则有必要降低当前发送速率,这时候出现的丢包事件也被认为是拥塞丢包,被计入丢包事件频率计算。优选的,参考Bigo Live的重传和冗余编码策略,系统中θ_p设为50%。若当前网络丢包率大于该第二阈值时,则确定当前网络丢包为拥塞丢包,并被计入丢包事件频率计算,若当前网络丢包率小于或者等于该第二阈值时,则确定当前网络丢包为随机链路丢包。
需要说明的是,可以根据上述三种网络参数(当前网络时延参数、当前网络丢包率变化趋势参数以及当前网络丢包率参数)中至少一种确定丢包类型,比如可以根据其中一个网络参数进行确定丢包类型,也可以根据三个网络参数中的两两组合确定丢包类型,或者也可以根据三个网络参数确定丢包类型。
如图3所示,即是本发明实施例提供的一种丢包类型检测流程图,需要说明的是,图中的检测流程仅为其中一种检测流程,不构成对本发明的限定,如图所示,丢包事件检测模块首先检测RTT是否正常,即是检测RTT是否大于第一阈值,若大于丢包第一阈值,即是RTT表现不正常,则将丢包事件计入丢包事件频率计算模块进行丢包事件频率计算,从而调整发送速率;若RTT小于或者等于第一阈值,则判断丢包率是否平稳,若丢包率不平稳,则说明是拥塞丢包,将丢包事件计入丢包事件频率计算模块进行丢包事件频率计算,从而调整发送速率;若丢包频率平稳,则继续检测丢包率是否较低,若丢包率比较大,大于第二阈值,则将其确定为拥塞丢包,计入丢包事件频率计算模块进行丢包事件频率计算,从而调整发送速率;若丢包率比较小,则直接将其确定为随机链路丢包,丢弃丢包事件,并按照随机链路丢包进行后续处理。
S102,基于所述丢包类型,调整当前网络流媒体数据的传输方式。
可选的,基于不同的丢包类型,调整当前网络流媒体数据传输方式包括:
若所述丢包类型为拥塞丢包,则调整当前网络流媒体数据的发送速率;
若所述丢包类型为随机链路丢包,则采用冗余编码策略对当前网络流媒体数据进行编码。
本发明实施例中,若丢包类型为拥塞丢包,则根据TFRC协议的如下计算公式调整发送设备的发送速率。
若丢包类型为随机链路丢包,则采用冗余编码策略对当前网络流媒体数据进行编码,从而减小因链路影响带来的丢包。
本发明实施例中,获取用于表示当前网络状态的网络参数,根据网络参数确定当前网络的丢包类型,该丢包类型包括拥塞丢包或者随机链路丢包,基于该丢包类型,调整当前网络流媒体数据的传输方式,通过这种方式,可针对不同的丢包类型进行不同的流媒体数据传输方式调整,保证较高的数据吞吐率,提高流媒体数据的传输质量。
请参阅图4,图4是本发明实施例公开的一种数据传输装置的结构图。
如图4所示,该数据传输装置包括:
获取模块100,用于获取用于表示当前网络状态的网络参数;
本发明实施例中,发送设备获取用于表示当前网络状态的网络参数,以确定当前网络丢包是随机链路丢包或者拥塞丢包,对于不是拥塞丢包导致的丢包事件,予以剔除,不用于丢包事件频率计算,从而不会盲目减少发送设备的发送速率。
可选的,所述网络参数包括当前网络时延参数、当前网络丢包率变化趋势参数以及当前网络丢包率参数中的至少一种。依据香农定理,信源的发送速率必须小于或等于信道容量。因此,当信源带宽远大于链路带宽形成带宽瓶颈时,路由器处理数据包时在瓶颈网络节点排队等待,造成网络拥塞。网络出现拥塞一般表现为数据丢失,时延增加,吞吐量下降,严重时甚至会导致“拥塞崩溃”,直观反应为发送设备到接收设备往返时延和丢包率上升。而往返时延和丢包率的上升幅度和速率又取决于瓶颈链路带宽、路由队列平均长度、路由丢包策略及网络结构等因素,没有一个固定的模式。
如图2所示,图中左、右图分别为拥塞丢包和随机链路丢包的表现,第一行为发送速率变化趋势图,第二行为往返时延(Round-Trip Time,RTT)变化趋势图,第三行为丢包率大小的变化趋势图。从图中可以看出拥塞丢包出现的时候往往伴随着较大的RTT和剧烈的丢包率变化,而随机链路丢包发生时,RTT和丢包率都相对而言较平稳。在本发明实施例中,使用上述当前网络RTT、当前网络丢包率变化趋势参数以及当前网络丢包率参数作为判断是否处于拥塞状态的依据。
确定模块101,用于根据所述网络参数确定当前网络的丢包类型,所述丢包类型包括拥塞丢包或者随机链路丢包;
本发明实施例中,根据上述当前网络时延参数、当前网络丢包率变化趋势参数以及当前网络丢包率参数中的至少一种网络参数确定当前网络的丢包类型,该丢包类型包括拥塞丢包或者随机链路丢包,若为随机链路丢包,则不会将该丢包事件作为TFRC中丢包频率计算过程中。
可选的,所述网络参数包括当前网络时延参数;所述确定模块101具体用于:
若所述当前网络时延参数大于第一阈值,则确定当前网络的丢包类型为拥塞丢包;
若所述当前网络时延参数小于或者等于所述第一阈值,则确定当前网络的丢包类型为随机链路丢包。
本发明实施例中,网络时延参数可以包括单向时延或者RTT,这里以RTT为例进行说明,当RTT升高到第一阈值以上时,认为当前系统处于拥塞状态,即是当前网络的丢包类型为拥塞丢包,若RTT小于或者等于第一阈值,则确定当前网络丢包类型为随机链路丢包。
为了排除网络物理延时的干扰,系统在每一次传输中维护一个最小时延变量rtt_min,在每个数据包的确认(Acknowledgement,ACK)字符反馈到发送设备的时候,记录其RTT,若RTT小于rtt_min,则rtt_min=RTT。若当前RTT>rtt_min+δ,则认为当前网络处于拥塞状态。
阈值δ由网络瓶颈带宽、路由队列长度和数据包大小共同决定,设路由平均队列长度为L_q,带宽为bw,包大小为s,则RTT能够上升的最大幅度为rtt_inc=(L_q×s)/bw。一般而言,在出现拥塞的场景中,接收设备的接收速率recv_rate≈网络可用带宽bw,故RTT上升最大幅度为rtt_inc≈(L_q×s)/(recv_rate),以此可以设置阈值δ=(L_q×s)/(2recv_rate)。
在真实系统中,我们难以得知路由队列长度,可以保守估计队列长度为50,根据Bigo Live流媒体传输系统中的最大码率和平均包大小,我们设置δ=300ms作为一个保守的阈值,对RTT异常增大的行为进行判断。
可选的,所述网络参数包括当前网络丢包率变化趋势参数;所述确定模块101具体用于:
若当前网络丢包率变化趋势为上升趋势,则确定当前网络的丢包类型为拥塞丢包;
若当前网络丢包率变化趋势为下降趋势或者平稳趋势,则确定当前网络的丢包类型为随机链路丢包。
本发明实施例中,网络参数可以包括当前网络丢包率变化趋势参数,如图2所示,图2的第三行的图即是拥塞丢包和随机链路丢包的丢包率变化趋势图,如图所示,拥塞丢包的丢包率变化趋势图是剧烈变化,而随机链路丢包的丢包率变化趋势图是平稳变化。
具体可选的,系统维护近200ms或近20个数据包的丢包率信息,并实时检测其是否处于上升状态。若检测到丢包率处于上升状态,则认为当前网络处于拥塞状态,当前的丢包事件为拥塞丢包;若检测到丢包率处于平稳状态,则认为当前网络是随机链路丢包。为了排除丢包率抖动带来的影响,我们先对丢包率进行时域低通滤波,滤波方式为:
pktLoss=0.05×pktLoss_t+0.95×pktLoss
设pktLoss(n)=A×pktLoss(n-1)+w(n),其中pktLoss(n)为n时刻的pktLoss值,A为状态转移参量,w(n)为过程噪声,w(n)服从N(0,Q)的高斯分布。由此设计卡尔曼滤波器估计每一步中w(n)的值,当w(n)>阈值σ,认为pktLoss处于上升状态,判断为网络拥塞,即是拥塞丢包;反之若w(n)<-σ,则认为pktLoss处于下降过程,网络没有出现拥塞,丢包为随机链路丢包;若w(n)∈(-σ,σ),则可以认为pktLoss处于平稳状态,网络没有出现拥塞,丢包为随机链路丢包。需要说明的是,卡尔曼(Kalman)滤波是一种高效率的递归滤波器(自回归滤波器),它能够从一系列的不完全包含噪声的测量中,估计动态系统的状态。
在不同的网络环境下,丢包率波动的幅度和速率也会有所不同,Kalman滤波器的阈值σ需要针对网络环境做自适应调整。调整策略可被归纳为“快升慢降”:若w(n)∈(-σ,σ),则σ以较慢的速度下降,否则σ以较快的速度上升。这样的处理方式是让滤波器在不同的网络环境下都能够有效检测出pktLoss的上升/下降过程。
可选的,所述网络参数包括当前网络丢包率参数;所述确定模块101具体用于:
若所述当前网络丢包率大于第二阈值,则确定当前网络丢包的丢包类型为拥塞丢包;
若所述当前网络丢包率小于或者等于所述第二阈值,则确定当前网络丢包的丢包类型为随机链路丢包。
本发明实施例中,对于流媒体网络传输系统而言,少量的随机链路丢包可以通过丢包重传或者冗余编码进行较好恢复,不会严重影响流媒体对端播放质量。但是在非常严重丢包的网络链路下,现有技术很难解决高丢包造成的丢帧、超时等问题。所以本发明实施例在实际的流媒体传输系统中没有办法,也没有必要保证极高丢包率下的传输效果。设丢包率阈值(即第二阈值)为θ_p,当检测到丢包率大小pktLoss>θ_p时,则有必要降低当前发送速率,这时候出现的丢包事件也被认为是拥塞丢包,被计入丢包事件频率计算。优选的,参考Bigo Live的重传和冗余编码策略,系统中θ_p设为50%。若当前网络丢包率大于该第二阈值时,则确定当前网络丢包为拥塞丢包,并被计入丢包事件频率计算,若当前网络丢包率小于或者等于该第二阈值时,则确定当前网络丢包为随机链路丢包。
需要说明的是,可以根据上述三种网络参数(当前网络时延参数、当前网络丢包率变化趋势参数以及当前网络丢包率参数)中至少一种确定丢包类型,比如可以根据其中一个网络参数进行确定丢包类型,也可以根据三个网络参数中的两两组合确定丢包类型,或者也可以根据三个网络参数确定丢包类型。
如图3所示,即是本发明实施例提供的一种丢包类型检测流程图,需要说明的是,图中的检测流程仅为其中一种检测流程,不构成对本发明的限定,如图所示,丢包事件检测模块首先检测RTT是否正常,即是检测RTT是否大于第一阈值,若大于丢包第一阈值,即是RTT表现不正常,则将丢包事件计入丢包事件频率计算模块进行丢包事件频率计算,从而调整发送速率;若RTT小于或者等于第一阈值,则判断丢包率是否平稳,若丢包率不平稳,则说明是拥塞丢包,将丢包事件计入丢包事件频率计算模块进行丢包事件频率计算,从而调整发送速率;若丢包频率平稳,则继续检测丢包率是否较低,若丢包率比较大,大于第二阈值,则将其确定为拥塞丢包,计入丢包事件频率计算模块进行丢包事件频率计算,从而调整发送速率;若丢包率比较小,则直接将其确定为随机链路丢包,丢弃丢包事件,并按照随机链路丢包进行后续处理。
调整模块102,用于基于所述丢包类型,调整当前网络流媒体数据的传输方式。
可选的,所述调整模块102具体用于:
若所述丢包类型为拥塞丢包,则调整当前网络流媒体数据的发送速率;
若所述丢包类型为随机链路丢包,则采用冗余编码策略对当前网络流媒体数据进行编码。
本发明实施例中,若丢包类型为拥塞丢包,则根据TFRC协议的如下计算公式调整发送设备的发送速率。
若丢包类型为随机链路丢包,则采用冗余编码策略对当前网络流媒体数据进行编码,从而减小因链路影响带来的丢包。
本发明实施例中,获取用于表示当前网络状态的网络参数,根据网络参数确定当前网络的丢包类型,该丢包类型包括拥塞丢包或者随机链路丢包,基于该丢包类型,调整当前网络流媒体数据的传输方式,通过这种方式,可针对不同的丢包类型进行不同的流媒体数据传输方式调整,保证较高的数据吞吐率,提高流媒体数据的传输质量。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例公开的一种客户端播放控制方法及客户端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种媒体数据传输方法,其特征在于,包括:
获取用于表示当前网络状态的网络参数,所述网络参数包括当前网络时延参数、当前网络丢包率变化趋势参数以及当前网络丢包率参数中的至少一种;
根据所述网络参数确定当前网络丢包事件的丢包类型,所述丢包类型包括拥塞丢包或者随机链路丢包;
若所述丢包类型为拥塞丢包,则保留由所述拥塞丢包导致的丢包事件;
若所述丢包类型为随机链路丢包,则剔除由所述随机链路丢包导致的丢包事件;
根据所有保留的由所述拥塞丢包导致的丢包事件,计算丢包事件频率,所述丢包事件频率用于计算发送设备的发送速率。
2.如权利要求1所述的方法,其特征在于,所述网络参数包括当前网络时延参数;
所述根据所述网络参数确定当前网络丢包事件的丢包类型,包括:
若所述当前网络时延参数大于第一阈值,则确定当前网络丢包事件的丢包类型为拥塞丢包;
若所述当前网络时延参数小于或者等于所述第一阈值,则确定当前网络丢包事件的丢包类型为随机链路丢包。
3.如权利要求1所述的方法,其特征在于,所述网络参数包括当前网络丢包率变化趋势参数;
所述根据所述网络参数确定当前网络丢包事件的丢包类型,包括:
若当前网络丢包率变化趋势为上升趋势,则确定当前网络丢包事件的丢包类型为拥塞丢包;
若当前网络丢包率变化趋势为下降趋势或者平稳趋势,则确定当前网络丢包事件的丢包类型为随机链路丢包。
4.如权利要求1所述的方法,其特征在于,所述网络参数包括当前网络丢包率参数;
所述根据所述网络参数确定当前网络丢包事件的丢包类型,包括:
若所述当前网络丢包率大于第二阈值,则确定当前网络丢包事件的丢包类型为拥塞丢包;
若所述当前网络丢包率小于或者等于所述第二阈值,则确定当前网络丢包事件的丢包类型为随机链路丢包。
5.如权利要求1所述的方法,其特征在于,所述网络参数包括当前网络时延参数、当前网络丢包率变化趋势参数以及当前网络丢包率参数;
所述根据所述网络参数确定当前网络丢包事件的丢包类型,所述丢包类型包括拥塞丢包或者随机链路丢包;包括:
若所述网络时延参数大于第一阈值,确定当前网络丢包事件的丢包类型为拥塞丢包;
若所述网络时延参数小于或者等于第一阈值,判断所述丢包率趋势参数是否平稳,若不平稳,确定当前网络丢包事件的丢包类型为拥塞丢包;
若所述丢包率趋势参数平稳,检测所述当前网络丢包率参数是否大于第二阈值,若是,则确定当前网络丢包事件的丢包类型为拥塞丢包;若否,则确定当前网络丢包事件的丢包类型为随机链路丢包。
6.一种媒体数据传输装置,其特征在于,包括:
获取模块,用于获取用于表示当前网络状态的网络参数,所述网络参数包括当前网络时延参数、当前网络丢包率变化趋势参数以及当前网络丢包率参数中的至少一种;
确定模块,用于根据所述网络参数确定当前网络丢包事件的丢包类型,所述丢包类型包括拥塞丢包或者随机链路丢包;
调整模块,用于若所述丢包类型为拥塞丢包,则保留由所述拥塞丢包导致的丢包事件;
若所述丢包类型为随机链路丢包,则剔除由所述随机链路丢包导致的丢包事件;
根据所有保留的由所述拥塞丢包导致的丢包事件,计算丢包事件频率,所述丢包事件频率用于计算发送设备的发送速率。
7.如权利要求6所述的装置,其特征在于,所述网络参数包括当前网络时延参数;所述确定模块具体用于:
若所述当前网络时延参数大于第一阈值,则确定当前网络丢包事件的丢包类型为拥塞丢包;
若所述当前网络时延参数小于或者等于所述第一阈值,则确定当前网络丢包事件的丢包类型为随机链路丢包。
8.如权利要求6所述的装置,其特征在于,所述网络参数包括当前网络丢包率变化趋势参数;所述确定模块具体用于:
若当前网络丢包率变化趋势为上升趋势,则确定当前网络丢包事件的丢包类型为拥塞丢包;
若当前网络丢包率变化趋势为下降趋势或者平稳趋势,则确定当前网络丢包事件的丢包类型为随机链路丢包。
9.如权利要求6所述的装置,其特征在于,所述网络参数包括当前网络丢包率参数;所述确定模块具体用于:
若所述当前网络丢包率大于第二阈值,则确定当前网络丢包丢包事件的丢包类型为拥塞丢包;
若所述当前网络丢包率小于或者等于所述第二阈值,则确定当前网络丢包事件丢包的丢包类型为随机链路丢包。
10.如权利要求6所述的装置,其特征在于,所述网络参数包括当前网络时延参数、当前网络丢包率变化趋势参数以及当前网络丢包率参数;
所述确定模块具体用于:
若所述网络时延参数大于第一阈值,确定当前网络丢包事件的丢包类型为拥塞丢包;
若所述网络时延参数小于或者等于第一阈值,判断所述丢包率趋势参数是否平稳,若不平稳,确定当前网络丢包事件的丢包类型为拥塞丢包;
若所述丢包率趋势参数平稳,检测所述当前网络丢包率参数是否大于第二阈值,若是,则确定当前网络丢包事件的丢包类型为拥塞丢包;若否,则确定当前网络丢包事件的丢包类型为随机链路丢包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610653712.2A CN106255149B (zh) | 2016-08-10 | 2016-08-10 | 一种媒体数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610653712.2A CN106255149B (zh) | 2016-08-10 | 2016-08-10 | 一种媒体数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106255149A CN106255149A (zh) | 2016-12-21 |
CN106255149B true CN106255149B (zh) | 2019-12-24 |
Family
ID=58078099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610653712.2A Active CN106255149B (zh) | 2016-08-10 | 2016-08-10 | 一种媒体数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106255149B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965058B (zh) * | 2018-07-26 | 2021-03-02 | 北京奇艺世纪科技有限公司 | 一种终端网络性能探测方法及系统 |
CN109688064B (zh) * | 2018-12-19 | 2022-11-11 | 北京达佳互联信息技术有限公司 | 数据传输方法、装置、电子设备和存储介质 |
CN109474538B (zh) * | 2018-12-29 | 2021-07-30 | 北京达佳互联信息技术有限公司 | 一种数据传输方法、装置、终端设备及存储介质 |
CN110391956B (zh) * | 2019-07-23 | 2021-08-13 | 中国工商银行股份有限公司 | 网络服务进程状态的识别监控方法及装置 |
CN110677355A (zh) * | 2019-10-08 | 2020-01-10 | 香港乐蜜有限公司 | 一种丢包应对方法、装置、电子设备及存储介质 |
CN111629281B (zh) * | 2020-04-13 | 2021-02-02 | 北京创享苑科技文化有限公司 | 一种视频传输中基于网络丢包率分布的在线连续检验方法 |
CN112953847B (zh) * | 2021-01-27 | 2022-11-11 | 北京字跳网络技术有限公司 | 网络的拥塞控制方法、装置、电子设备及存储介质 |
CN112954414B (zh) * | 2021-02-09 | 2022-12-06 | 睿云联(厦门)网络通讯技术有限公司 | 一种流媒体传输优化方法及系统 |
CN116192767A (zh) * | 2021-11-29 | 2023-05-30 | 华为技术有限公司 | 一种丢包管理方法及相关装置 |
CN114268416B (zh) * | 2021-12-16 | 2023-10-24 | 无锡联云世纪科技股份有限公司 | 数据传输方法、装置及电子设备 |
CN114650260B (zh) * | 2022-03-14 | 2024-03-12 | 清华大学 | 网络丢包类型识别方法、装置及电子设备 |
CN115086200B (zh) * | 2022-05-06 | 2023-09-01 | 北京达佳互联信息技术有限公司 | 丢包类型确定方法、装置、电子设备及存储介质 |
CN115378832B (zh) * | 2022-07-29 | 2024-03-26 | 北京奇艺世纪科技有限公司 | 拥塞检测方法、装置及流媒体传输系统、电子设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100545655B1 (ko) * | 2003-12-11 | 2006-01-24 | 엘지전자 주식회사 | 아이피망 특성에 따라 음성압축방식을 선택하는 인터넷폰시스템 및 그 선택 방법 |
CN101677405A (zh) * | 2008-09-19 | 2010-03-24 | 香港科技大学 | 针对压缩视频的基于转码的鲁棒性流媒体技术和系统 |
CN101938770A (zh) * | 2010-09-20 | 2011-01-05 | 南京邮电大学 | 基于网络信道状态的无线网络最大重传次数的优化方法 |
CN104159166A (zh) * | 2014-08-07 | 2014-11-19 | 西安交通大学 | 基于移动网络丢包状态的直播视频数据传输差错控制方法 |
-
2016
- 2016-08-10 CN CN201610653712.2A patent/CN106255149B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100545655B1 (ko) * | 2003-12-11 | 2006-01-24 | 엘지전자 주식회사 | 아이피망 특성에 따라 음성압축방식을 선택하는 인터넷폰시스템 및 그 선택 방법 |
CN101677405A (zh) * | 2008-09-19 | 2010-03-24 | 香港科技大学 | 针对压缩视频的基于转码的鲁棒性流媒体技术和系统 |
CN101938770A (zh) * | 2010-09-20 | 2011-01-05 | 南京邮电大学 | 基于网络信道状态的无线网络最大重传次数的优化方法 |
CN104159166A (zh) * | 2014-08-07 | 2014-11-19 | 西安交通大学 | 基于移动网络丢包状态的直播视频数据传输差错控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106255149A (zh) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106255149B (zh) | 一种媒体数据传输方法及装置 | |
CN106301684B (zh) | 一种媒体数据传输方法及装置 | |
US10666535B2 (en) | Systems and methods for dynamically setting a rate limit for a computing device | |
KR101046105B1 (ko) | 컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템 | |
US7239611B2 (en) | Controlling admission of data streams onto a network based on end-to-end measurements | |
US7821937B1 (en) | Network protocol with damage loss resilient congestion control algorithm | |
US8873385B2 (en) | Incast congestion control in a network | |
US10193779B2 (en) | Apparatus and method for controlling downlink throughput in communication system | |
CN107624233B (zh) | 一种vpn传输隧道调度方法、装置以及vpn客户端服务器 | |
CN106878192B (zh) | 一种自适应mptcp的数据调度方法 | |
JP6274113B2 (ja) | データ送信装置、データ送信方法、及びそのプログラム | |
WO2015069944A1 (en) | Systems and methods for proactive congestion detection in radio access networks | |
Wang et al. | TCP congestion control algorithm for heterogeneous Internet | |
CN104683259A (zh) | Tcp拥塞控制方法及装置 | |
JP2011176693A (ja) | 移動体無線通信装置、tcpフロー制御装置及びその方法 | |
Kato et al. | Congestion control avoiding excessive rate reduction in named data network | |
Han et al. | A QoS‐Based Fairness‐Aware BBR Congestion Control Algorithm Using QUIC | |
Muhammad et al. | Study on performance of AQM schemes over TCP variants in different network environments | |
CN117676695A (zh) | Tcp传输方法、装置和系统 | |
JPWO2014171543A1 (ja) | データ送信装置、データ送信方法、及びそのプログラム | |
CN113542215A (zh) | 一种提升流媒体传输性能的方法及相关装置 | |
WO2021013260A1 (zh) | 一种网络传输控制方法及装置 | |
Ullah et al. | Improving network efficiency by selecting and modifying congestion control constraints | |
JP6897769B2 (ja) | データ送信装置、方法およびプログラム | |
CN115665058A (zh) | 一种数据发送速度控制方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211126 Address after: 31a, 15 / F, building 30, maple mall, bangrang Road, Brazil, Singapore Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd. Address before: 511449 29 / F, building B-1, Wanda Plaza, Wanbo business district, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU BAIGUOYUAN NETWORK TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |