APP下载

基于模糊逻辑控制的VoIP 抖动缓冲控制算法

2015-12-15杨霄鹏杨朝阳张衡阳

关键词:缓冲区控制算法时延

李 腾,杨霄鹏,杨朝阳,张衡阳,倪 娟

(1.空军工程大学 信息与导航学院,陕西 西安710077;2.解放军94303部队,山东 潍坊261100)

0 引言

随着互联网技术与语音编码技术的发展与成熟,基于IP的语音传输(voice over internet protocol,VoIP)技术以其低廉的价格、更高的效率、优越的灵活性和多样的业务性,在当今通信领域中得到广泛应用[1]。然而网络传输中的时延、抖动和丢包等客观因素严重影响着VoIP的语音质量,制约其应用与发展。

为消除时延抖动的影响,通常采取在接收端设置抖动缓冲区的方法来平滑抖动。然而,抖动缓冲区的大小同时影响着传输的总时延与丢包率。一个小的缓冲区能够降低端到端的时延,但更可能导致迟到的语音包被丢弃,使语音的清晰度下降;相反,增大缓冲区虽然能减小丢包率,但引入了更多的缓冲时延,降低了通信的实时性。因此,设计抖动缓冲控制算法的关键在于取得时延与丢包之间的平衡。

文献[2]提出了4种抖动缓冲控制算法:指数平均(exponent-average)、快速指数平均(fast-exponent-average)、最小时延(minimun-delay)和突发检测(spike-detected),但在算法参数设置上采用固定参数,不能适应所有的网络状况;文献[3]在此基础上研究了参数a在不同网络状况下的性能表现,并提出了根据网络状况自适应调节a的a-adaptive算法,但对于时延和抖动都变化的网络环境,算法跟踪性能不理想;文献[4-5]采用帕累托(pareto)分布函数为时延建模,通过预测语音质量的方法来设置抖动缓冲区,取得了较高的语音质量,但算法性能受数据窗大小影响,窗较小时,时延模型不精确,较大时,算法灵敏性低;文献[6]对此提出了自适应加窗算法,提高了算法对于网络突发的灵敏性,但在突发结束后,算法收敛速度慢,引入了不必要的时延;文献[7]根据网络流量的自相似特性,提出网络流量预测的抖动缓冲控制算法,但算法中流量与时延的关系为经验值,不能适用于所有网络;本文采用模糊逻辑控制原理,通过监测缓冲时延的长-短时变化,设置合适的调节参数,自适应调节缓冲区大小,既减小了的缓冲时延又避免了丢包发生,有效地提高了VoIP语音质量。

1 抖动缓冲算法原理

抖动缓冲区大小可以是固定的,也可以是动态调节的。一个固定的缓冲区不能很好地适应网络时延条件的变化,容易引起传输的高时延和丢包,导致语音质量的下降。自适应抖动缓冲控制算法可以根据网络时延、丢包等参数,动态调节缓冲区大小,保证传输的低时延和丢包,提高语音质量。抖动缓冲自适应算法的时延关系如图1所示。

图1 抖动缓冲自适应算法的时延关系Fig.1 Timing relationship for adaptive scheduling

传统的抖动缓冲算法中,抖动缓冲区的设置是在一次通话或语音会话峰(talkspurt)的开始阶段,第1个语音包的播出时延为其传输时延加缓冲区最大值,即,随后语音包的播出时间为,对于期间内的所有语音包都具有相同的最大播出时延。文献[8]提出了一种基于波形相似叠加(waveform similarity overlap-add,WSOLA)的时间坐标修正方法,缩放或延长独立的语音包,动态调节语音包的播出间隔Ti,为每个语音包设置合适的最大播出时延,实现了抖动缓冲区语音包级的自适应调整。通过语音质量的主观评价证明,语音包在缩放或延长50%—200%时,不会引起语音质量的退化[9]。

2 模糊自适应算法

模糊逻辑控制(fuzzy logic control,FLC)是一种模仿人脑对不确定性判断的智能控制方法,能应对系统中的各种不利因素影响,如系统非线性性、参数不确定性、测量和建模的不精确性等,提高设计系统的鲁棒性[10]。实际中,模糊逻辑控制已广泛应用于家用电器和工业进程控制中,并在控制性能的准确性、鲁棒性和稳定性上展现出卓越优势[11-12]。

2.1 抖动缓冲模糊控制模型

抖动缓冲区模糊控制模型如图2所示。

模型采用双输入-单输出模式,以缓冲时延为抖动缓冲区的控制调节标准,当tb>0时,缓冲区较大,应适当减小缓冲区大小,降低语音包缓冲时延;当tb<0时,缓冲区较小,应适当增大缓冲区大小,避免语音包迟到被丢弃,减小丢包概率。模糊控制器同时监测语音包的即时缓冲时延和长时缓冲时延,以保证缓冲算法的灵敏性和稳定性。输入参数分别为当前语音包的缓冲时延和前N个语音包的最小缓冲时延,通过模糊控制器输出缓冲区调节参数y(t),并更新缓冲区大小。当下一个语音包到达后,计算新的缓冲时延和调节参数,完成闭环控制。

图2 模糊自适应闭环控制模型Fig.2 Fuzzy-adaptive closed-loop model

2.2 模糊语言和规则库

模糊规则库如表1所示,对于控制模型的输入tb,g(tb)和输出y(t),分别定义N=7个模糊集,输入的模糊集为,其中,i=1为tb,i=2为g(tb),分别为“负-非常大=“负-大(NL)”“负-小(NS)“,=“零(ZR)”,=“正-小(PS)”,=“正-大(PL)”“正-非常大(PV)”,i=1,2;输出的模糊集为,分别为:“增大很多(EL)”,=“增大(ET)”,=“增大一点(ES)”,=“略微增大(EA)”,=“零(ZR)”,=“略微减小(DA)”,=“减小(DC)”。

表1 模糊规则库Tab.1 Rules base for fuzzy-adaptive

表1中,模糊规则库定义了输入-输出“if-then”规则形式的映射关系,例如“if tbis NV(负-非常大),g(tb)is NV(负-非常大)then y(t)is EL(增大很多)”。模糊系统将tb和g(tb)的模糊输入,通过模糊规则库进行推理,得出y(t)的模糊输出。

2.3 模糊隶属度函数

模糊隶属度函数是用于计算元素隶属度的函数,常用的有三角函数、梯形函数和正态函数等。本文采用等腰三角函数作为输入-输出的隶属度函数。输入tb,g(tb)和输出y(t)的隶属度函数,如图3,图4所示。

图3 输入变量的隶属度函数Fig.3.Membership functions for input

图4 输出变量的隶属度函数Fig.4 Membership functions for output

对于输入函数tb和g(tb),定义其论域为(-50,50),并考虑到系统调节的稳定性,将中间和两边的集合区域设置较大,而其余集合的区间设置较小,增强了系统调节的灵敏性和精确性。对于输出函数y(t),其调节范围为语音包内语音长度的50%—200%,故定义其论域为(-0.5×fs,fs),fs为当前语音包内的语音长度。

2.4 模糊化和反模糊化

输入函数tb和g(tb)采用单值模糊法,将确定参数tb和g(tb)分别映射为模糊集和;输出模糊集采用中心面积法,将模糊集映射为一个确定的参数其中,k表示模糊集个数表示模糊隶属度函数的三角形中心,Sj为隶属度函数三角形去除顶部后下半部分面积,即

2.5 模糊自适应算法流程

抖动缓冲算法依据当前语音包缓冲时延和前N个历史数据窗内的最小缓冲时延作为系统输入,通过模糊控制器来制定缓冲区大小的调节方案,其主要流程如下。

1)初始化阶段,设置抖动缓冲区为50 ms。

3)将输入参数tb和g(tb)进行单值模糊为和,通过模糊规则库得到模糊输出,再将模糊输出反模糊化,得到缓冲区调节参数y(t)。

4)根据调节参数y(t)调节缓冲区大小。

6)由新的缓冲时延参数和缓冲时延数据窗重新制定调节方案,转至第2)步。

3 仿真与分析

仿真采用NISTNET2.1.0网络仿真软件默认的帕累托(pareto)分布模型产生时延序列,模型参数如表2所示,变化周期为每100个语音包。

表2 网络时延Trace的参数Tab.2 Parameters of time-delay trace

在研究本算法的同时,另选取Spike-Det[2]和Pareto-Based[4]2种算法做比较分析,其中,Spike-Det算法的参数a=0.875,Pareto-Based算法的数据窗长N=30。为兼顾长时稳定性和短时灵敏性,本文Fuzzy-Adaptive算法的数据窗设置为N=10。语音编码采用G.729窄带编码,分别统计4种Trace下的平均时延和丢包率,并通过E-Model[13]估算传输的平均语音质量。3种抖动缓冲算法在Trace1—Trace 3下的一段语音包播出时延与网络传输时延的关系分别如图5—图7所示。

图5中,此时网络状况比较平稳,最小传输时延为150 ms,时延抖动在50 ms以内,3种算法都取得了较好的效果。Spike-Det算法对时延变化敏感性较强,在连续2个语音包的抖动较大时易产生时延突峰;Pareto-Based算法以历史数据窗内的语音包时延数据为时延序列建模,通过客观语音评价E-Model方法,预测播出的语音质量,寻找最优的播出时间,在时延和丢包上都取得了较好的效果;本文的Fuzzy-Adaptive算法在缓冲时延上,明显小于以上2种算法,并且对于时延抖动的短时变化具有较好的跟踪自适应性,尽管在丢包率上略高于Pareto-Based算法,但总丢包率小于1%以下,在应用丢包恢复技术的情况下,对于VoIP通信来说是可以接受的[14]。因此,本文算法在网络状况平稳时,具有最小平均时延的优势。

图5 Trace 1中的网络时延与播出时延Fig.5 Network delay and playout delay in Trace 1

图6 Trace 2中的网络时延与播出时延Fig.6 Network delay and playout delay in Trace 2

图6中,此时网络状况趋于良好,时延抖动从50 ms下降到10 ms,3种算法在抖动减小后,都能自适应地减小播出时延,有效地降低了语音包的缓冲时延。Spike-Det算法在抖动减小后,自适应地切换到普通模式,在抖动较小时对于时延的跟踪性最好,具有最小的缓冲时延;Pareto-Based算法因受历史数据影响,在抖动减小后,收敛速度最慢,并且对于短时时延变化不敏感,短时跟踪性最弱;本文的Fuzzy-Adaptive算法在对时延抖动变化的跟踪性上明显优于以上2种算法,在抖动较小后能迅速调节缓冲区大小,具有最快的收敛速度,但在抖动较小(10 ms以下)时,算法跟踪性能减弱,主要是因为在设置模糊控制规则时,最小的监测变化值为5 ms,对于时延变化在5 ms以内时,没有设置相应的调节规则,所以缓冲区不做调整。虽然本文算法对于低抖动时的调节精度较差,但是所产生的缓冲时延都在10 ms以内,相对于语音包的总体传输时延来说,不会对语音质量造成明显影响。

图7 Trace 3中的网络时延与播出时延Fig.7 Network delay and playout delay in Trace 3

图7中,此时在网络中会经常出现突发(spike),即网络时延突然增大,尤其常见于无线网络环境[9]。3种算法对于突发都具有一定的跟踪性能,在突发开始阶段增大缓冲区大小,以适应网络时延抖动的加剧,当突发结束后,自适应减小缓冲区大小,降低了语音包的缓冲时延。Spike-Det算法设置了突发模式,在遇到突发时能迅速增大缓冲区,但易造成时延突峰,增大了语音包缓冲时延;Pareto-Based算法在平稳阶段具有较好的控制效果,但是在网络突发前后都产生了较大的时延突峰,主要是因为在突发前后数据窗内的时延数据变化剧烈,导致时延模型的误差较大,引起了算法性能的下降。本文的Fuzzy-Adaptive算法在对短时时延变化的调节和长时整体突发的跟踪上都具有较好效果,虽然在突发前后也具有一定的时延突峰,但峰值更小,收敛速度更快,效果优于以上2种算法。3种算法在4种不同网络Trace下平均传输时延和丢包率的统计结果,并通过客观语音评价方法E-Model计算出传输过程的平均语音质量(mean opinion score,MOS),如表3所示。

表3 抖动缓冲算法性能比较Tab.3 Performance comparison of different algorithms

从表3结果来看,本文算法在传输时延上远远小于其他2种算法,尽管在网络状况平稳时(Trace 1和Trace 3)的平均丢包率略高于Pareto-Based算法,但丢包率是在实时语音通信的可接受范围内;综合考虑时延与丢包对VoIP语音质量的影响,本文算法在4种网络Trace下都取得了最佳的平均MOS值,其整体效果优于Spike-Det算法和Pareto-Based算法。

总的来说,Spike-Det算法虽然设定了2种运行模式,以应对网络时延的突发状况,但是算法参数主要依赖于经验且固定,不能很好地适应不同网络状况的变化。在低抖动时具有较好控制效果,而在高抖动和突发时算法稳定性较差,易产生时延突峰;Pareto-Based算法以帕累托(pareto)分布模型为一段时间内收集的时延数据建模,并通过客观语音评价E-Model的方法预测播出的语音质量,有效地平衡了时延与丢包的关系,使语音质量最大化,但时延模型的精确性决定了算法性能的好坏,尤其在网络突发前后,时延数据变化剧烈,导致算法性能大大下降,造成了高时延和丢包;本文的Fuzzy-Adaptive算法以缓冲时延的长-短时变化来确定缓冲区调节参数,即保证了长时的平稳性又提高了短时的自适应跟踪特性,相比以上2种算法,具有最小的抖动缓冲时延,并且对于不同的网络状况都具有较强的自适应性。

4 总结与展望

为提高VoIP通信的语音质量,降低抖动缓冲区对传输语音质量的损伤,本文提出了一种基于模糊逻辑控制的抖动缓冲控制算法,在监测缓冲时延长-短时变化的基础上,制定了缓冲时延与缓冲区调节值的模糊控制规则,自适应调节缓冲区大小,使缓冲时延最小化。仿真结果表明,该算法能有效降低VoIP缓冲时延,且算法性能不会随网络状况的变化而下降,具有较强的稳定性和跟踪性,能适应不同网络状况的突发变化,但算法还需设置更加复杂的模糊规则来提高算法的精确性。基于语音包级的抖动缓冲控制算法需要时标修正技术的支撑,接下来将结合该技术在实践中的应用来完善本文算法。

[1]乔荔,宋军.VoWLAN企业级应用模式及解决方案[J].中兴通讯技术,2007,18(6):51-53.QIAO Li,SONG Jun.Enterprise-level Application Modes of VoWLAN and Its Solutions[J].ZTE TECHNOLOGY JOURNAL,2007,18(6):51-53.

[2]RAMJEE R,KUROSE J,TOWSLEY D,et al.Adaptive playout mechanisms for packetized audio applications in wide-area networks[C]//IEEE.INFOCOM'94.Networking for Global Communications,13th Proceedings IEEE.Toronto:IEEE Press,1994:680-688.

[3]NARBUTT M,MURPHY L.VoIP playout buffer adjustment using adaptive estimation of network delays[J].Teletraffic Science and Engineering,2003,5(7):1171-1180.

[4]HUANG S F,WU E H K,CHANG P C.Adaptive VoIP smoothing of pareto traffic based on optimal e-model quality[M].Berlin Heidelberg:Springer,2005:747-758.

[5]蔡铁,龙志军,伍星.基于语音质量预测的VoIP自适应抖动缓冲算法[J].计算机工程与应用,2011,47(10):63-66.

CAI Tie,LONG Zhijun,WU Xing.Adaptive Jitter buffer algorithm of VoIP based on speech quality prediction[J].Computer Engineering and Applications,2011,47(10):63-66.

[6]YU R,YUAN J,XIAO Y,et al.Quality-based jitter bufferalgorithmusingadaptivevariable-sizewindow[C]//IEEE.Computer Science and Network Technology(ICCSNT),2012 2ndInternationalConferenceon.Changchun:IEEE Press,2012:151-157.

[7]赵国栋,李栓红,黄国策,等.基于网络流量预测的抖动缓冲控制算法[J].计算机工程,2012,38(7):80-82.

ZHAO Guodong,LI Shuanhong,HUANG Guoce,et al.Jitter Buffering Control Algorithm Based on Network Flux Prediction[J].Computer Engineering,2012,38(7):80-82.

[8]LIANG Y J,FARBER N,GIROD B.Adaptive playout scheduling using time-scale modification in packet voice communications[C]//IEEE.Acoustics,Speech,and Signal Processing,2001,Proceedings,(ICASSP'01),2001 IEEE International Conference on.Salt Lake City,UT:IEEE Press,2001:1445-1448.

[9]MCNEILL K M,LIU M,RODRIGUEZ J J.An adaptive jitter buffer play-out scheme to improve VoIP quality in wireless networks[C]//IEEE.Military Communications Conference,2006,MILCOM 2006,IEEE.Washington,DC:IEEE Press,2006:1-5.

[10]JAMMEH E A,FLEURY M,WAGNER C,et al.Interval type-2 fuzzy logic congestion control for video streaming across IP networks[J].Fuzzy Systems,IEEE Transactions on,2009,17(5):1123-1142.

[11]HUIMING L,SHUO L.The network fuzzy PID control of power steam temperatures process[C]//IEEE.Control Conference(CCC),2010 29th Chinese.Beijing:IEEE Press,2010:3571-3575.

[12]POKHREL J,WEHBI B,MORAIS A,et al.Estimation of QoE of video traffic using a fuzzy expert system[C]//IEEE.Consumer Communications and Networking Conference(CCNC),2013 IEEE.Las Vegas,NV:IEEE Press,2013:224-229.

[13]ITU-T Recommendation.G.107-2005,The E-model,a Computational Model for Use in Transmission Planning[S].Geneva Switzerland:International Telecommunication Union,2005.

[14]KIM H G,LEE J H.Enhancing VoIP speech quality using combined playout control and signal reconstruction[J].Consumer Electronics,IEEE Transactions on,2012,58(2):562-569.

猜你喜欢

缓冲区控制算法时延
5G承载网部署满足uRLLC业务时延要求的研究
基于GCC-nearest时延估计的室内声源定位
VoLTE呼叫端到端接通时延分布分析
基于ARC的闪存数据库缓冲区算法①
基于ARM+FPGA的模块化同步控制算法研究
高精度位置跟踪自适应增益调度滑模控制算法
简化的基于时延线性拟合的宽带测向算法
一类装配支线缓冲区配置的两阶段求解方法研究
基于航迹差和航向差的航迹自动控制算法
初涉缓冲区