王萌,王翾
(中国传媒大学 广播电视数字化教育部工程研究中心 北京100024)
网络抖动实时测量方法的实现与对比
王萌,王翾
(中国传媒大学 广播电视数字化教育部工程研究中心 北京100024)
带有时间戳的延迟因子算法(TS_DF)是用来衡量视频流和音频流在应用过程中的网络抖动及其累积效应的工具。该算法适用于MPEG传输流、声频传输流以及未压缩的视频传输流,解决了视频传输质量指标中对于可变比特媒体流(VBR)的延迟因素测量。MDI:DF是MDI标准中对于视频传输质量中延迟因素的测量方法。本文对两种算法进行了实现和对比分析。实验证明TS_DF算法适用于带有时间戳的媒体流,突破了传统测量方法中需要区分恒定比特率流(CBR)和可变比特率流的局限性,同时具有更高的精确度和稳定性。
网络抖动;RTP流;MDI:DF;时间戳延迟因子
随着网络协议电视(IPTV)和网络电话(Voice Over IP)的广泛应用,越来越多的视频和语音流量进入了IP网络。为了有效利用和高效管理这些服务,网络运营商和服务提供商对于网络质量的了解具有重要的意义。
目前,主流网络传输质量的衡量指标有时延、抖动和丢包率等。为了准确的了解网络传输质量,需要对这些衡量指标进行测量。现有的视频传输质量测量及评估算法中比较通用的方法分别是由RFC3550[1]、RFC4445[2]、EBU-TECH3337提出的。
在实际应用中,2006年发布的RFC4445标准中提出的MDI:DF,局限于恒定比特流的网络传输。而现实中,越来越多的网络传输媒体,尤其是视频传输为了节约带宽提高其利用率,多采用可变比特流模式进行传输。2010年在EBU-TECH3337中提出的TS_DF[3],相对于传统的UDP测量该测量方法同时适用于CBR和VBR,具有测量结果更加准确的显著优势。
本文首先分析了网络传输对IPTV视频质量的影响,然后对比分析现有的网络抖动测量方法[4],详细介绍了MDI:DF和TS_DF计算原理。通过广域网模拟器(WAN_emulator简称WANem)配置网络环境对两种方法进行了仿真分析,证明TS_DF算法适用于带有时间戳的媒体流,突破了传统测量方法中需要区分恒定比特率流和可变比特率流的局限性,同时具有更高的精确度和稳定性。
网络传输过程中的时延、抖动、数据包丢失、发送和接收到的数据包的顺序不一致而引起的混乱等都会对视频造成损伤[5]。数据包丢失和顺序混乱所引起的视频质量下降,在解码器端引入相应的补偿机制就可以解决。而网络传输过程中的时延、抖动对视频所造成的损伤是需要提前测量有关的时延、抖动幅度进而设置适应大小的缓冲区来解决。若在网络传输过程中存在时延而时延又是恒定的话,那么这将会导致视频播放的推迟。但若在传输过程中存在抖动,这将会影响到视频的质量,使画面停滞或者丢失。所以,为了能消除因网络抖动所带来的视频质量的下降,视频播放时解码器需要缓存一定的数据,即解码器要有一定的缓冲区。
抖动越大,需要消除抖动的缓冲器就越大。但在采用较大缓冲器解决抖动的同时,也带来了更大的延迟。相反,若缓冲器过小,那么较大的抖动就会导致缓冲器上溢或下溢,从而导致IP包的丢失,用户的体验就会变差。所以需要寻找一种准确稳定的测量方法来对网络抖动进行测量,解决上述问题。
3.1RFC3550抖动计算
在IP网络的实时传输媒体(通常包括多播、单播和广播形式)中,一种传统的抖动测量方法是由RFC3550定义的。该方法是基于RTP报头中的时间戳时间和IP包到达时间的关系实现的。
实时传输协议(RTP)[6]通常与实时传输控制协议(RTSP)配套使用。在实时传输协议(RTP)中,发送数据包的源设备完成对每个包的编号和时间戳。在RFC3550中定义的抖动测量算法正是基于RTP协议,应用时间戳字段,通过连续数据包间相对传输时间(Relative Transmit Time)的概念实现的。
如果用D(i-1,i)表示连续两个包的相对传输时间,则抖动的计算方法可定义如下。
J(i)=J(i-1)+(|D(i-1,i)|-J(i-1))/16
(3-1)
值得注意的是,式中对于D(i-1,i)的运算使用的是绝对值,原因在于两个包的延迟到达和提前到达都会造成媒体传输的抖动。在实际应用中,由于数据包的延迟到达和提前到达具有相反的影响,因此相对传输时间对于缓冲区分析具有重要的意义。所以该算法取绝对值的运算具有一定的缺陷。
另外,式(3-1)中增益系数1/16有效的实现了低通滤波功能,消除了高频抖动变化所产生的高峰值。在测量网络抖动的累积效应及其缓冲影响时高峰值是同等重要的,因此这种算法不能有效监测到解码器遇到的缓冲区上溢或下溢的情况。
3.2MDI:DF
流媒体应用具有实时性的特点。在流媒体通过IP网络传输的同时,终端解码器在消耗已接收到的媒体流信息。IP网络传输媒体流出现抖动表现为同一媒体流的IP封包传输的间隔不均匀。RFC4445提出了视频传输质量指标中的延迟因素的测量方法,即MDI:DF。该方法具有独立协议的优势。它是基于测量名义媒体速率和到达速率之间的流动不平衡性这一参数实现的,这个参数是对累积抖动的估计。
RFC4445提出的延迟因素(DF)算法是在每个媒体流封包结束处观察到的,到达的媒体数据和流出的媒体数据之间的最大差值。即计算时间间隔期间流动速率不平衡的最大观测值。
DF计算方法如下:
VB(i,pre)=sum(Sj)-MR*Ti(j=1,2…i)
(3-2)
VB(i,post)=VB(i,pre)+Si
(3-3)
DF=[VB(max)-VB(min)]/MR
(3-4)
式中定义VB(Virtual Buffer)为一个虚拟缓冲区,用来缓冲一个流的接收封包。在一个计算间隔期间,当一个封包P(i)到达时,计算两个VB的值,即VB(i,pre)和VB(i,post)。分别代表P(i)包到达前和到达后的缓冲区大小。Sj是第j个封包的媒体负载大小,Ti是在此计算间隔中封包i到达的相对时间;MR是媒体码率。
MDI:DF描述的延迟因素计算方法,可以测量瞬时和长期行为网络流媒体的视频传输质量,即被测视频流的延迟和抖动状况。该算法仅适用于恒定比特流的网络传输,默认为所有的IP传输包缓冲区是相同的。而在实际中,越来越多的网络媒体,尤其是视频传输为了节约带宽提高其利用率,多采用可变比特流模式进行传输。因此MDI:DF算法具有一定的局限性。
3.3TS_DF
2010年提出了带有时间戳的延迟因子即TS_DF算法。时间戳延迟因子的计算是基于网络数据包的实际到达时间与RTP包头中的时间戳字段间的关系实现的。对于典型的1Mbit/s的媒体流,一秒时间可以接收足够的数据包进行抖动的测量,因此通常选用测量周期为1秒。在该算法中,测量周期内第一个到达的数据包设定为参考包,假设该数据包没有延迟。对于测量周期内随后到达的数据包i,其相对于参考数据包的相对传输时间计算如下:
D(i,0)=(R(i)-R(0))-(S(i)-S(0))
(3-5)
式中R(i)、S(i)分别代表封装包i的RTP字段时间戳时间和实际到达时间。
最后取相对传输时间D的最大值和最小值进行如式(3-6)计算,求得TS_DF。
TS_DF=D(Max)-D(Min)
(3-6)
该算法突破了传统方法需要区分VBR和CBR的局限性,仅需要计量数据包的相对传输时间,适用于所有包含时间戳字段的数据包传输。
3.4算法流程图
经过对MDI:DF和TS_DF两种测量算法的分析,在Python平台对两种算法进行实现,算法流程图如图1、图2所示。
图1 MDI:DF算法流程图
图2 TS_DF算法流程图
广域网模拟器[7](WAN_emulator简称WANem)可以模拟各种网络状况,如带宽、延迟、丢包等。该模拟器能够完成开发者的单元测试、性能测试与服务器端的链接仿真、多个地点的用户性能测试等功能。为了测试两种算法的准确性,需要通过WANem预先设定网络传输过程的延迟和抖动,应用不同算法进行测量,进而分析测试结果的准确度。同时由于视频传输质量的延迟测量过程对网络环境具有较高要求,网络的拥塞、不稳定等诸多因素均会导致传输数据包的延迟或抖动,因此实验过程需要搭建单独的网络环境。
4.1网络环境搭建
实验过程中,为了排除其他网络因素的干扰,需要搭建单独局域网,模拟同一网段内的网络状况。将三台主机连接于同一交换机,搭建网络环境如图3所示。
图3 局域网搭建环境
如图所示,ServePC、WANemPC、ClientPC 通过交换机连接形成一个局域网。其IP分别配置为192.168.185.1、192.168.185.2、192.168.185.3。定义ServerPC为数据发送端,ClientPC为测量端。ServerPC完成向ClientPC的数据传输,WANemPC 在两台主机通信过程中加入延迟和抖动,ClientPC接收数据并进行视频质量测量。
4.2WANem网络仿真
ServePC完成向ClientPC的数据包传送。在正常情况下,两主机间的通信数据流通过图3所示虚线1传输。为了对发送的数据包加入延迟和抖动,ServePC和ClientPC间的通信需要经过WANemPC,即实现数据流经过虚线2进行传输。为了实现这一性能,需要对两台通信主机进行路由配置。路由配置方法如下:
发送端:route add 192.168.185.3 mask 255.255.255.255 192.168.185.2
测量端:route add 192.168.185.3 mask 255.255.255.255 192.168.185.2
路由配置完成后,在WANemPC端高级模式下添加实验控制量Jitter值的大小。在WANem高级模式界面下Delay time 和Jitter栏设置相应数值后单击Apply setting 即可对两主机间的数据通信加入设定的延迟和抖动。Jitter值即为算法测量值。
VLC多媒体播放器支持众多音频与视频解码器及文件格式。本文应用VLC的串流解码功能,将解码的TS流重新封装打包发送到指定网络。在ServePC端,通过VLC向ClientPC端发送RTP流。在VLC上添加实验视频后模拟出TS流的发送过程,将TS流以单播的形式发送到ClientPC。通过VLC播放器在串流目标位置中输入目标IP后,即可完成ServerPC端向ClientPC端的串流传输。
应用Python语言对两种算法进行实现。为了对算法测量结果进行对比,在WANemPC端设置不同的传输环境完成对传输数据包抖动和延迟的添加。实验中,在WANemPC端分别设置抖动(Jitter)值为1到20毫秒。设置ServerPC端的流媒体服务器连续进行数据发送。在每种Jitter值的网络情况下,数据包在传送过程中通过WANemPC加入延迟和抖动处理,在ClientPC端分别应用MDI:DF和TS_DF两种算法接收数据并进行视频质量测试。每个Jitter值传输过程分别取三百组测量数据。
测试完成后,对两种测量算法的测量结果取均值,计算结果数据如图4所示。
图4 测量平均值
通过测量值与WANem预先设定了抖动值大小相对比,观察到测量值具有上下波动性,则对两组测量结果的累加误差和方差进行计算,结果如图5、图6所示。
图5 累加测量误差
图6 测量值方差
理论上,测量值应等于WANem设置的Jitter值。图5“--”线为设置Jitter值大小。测量结果图5表明MDI:DF算法测量值具有较大的波动性,测量结果与WANem设定的抖动大小相比较具有较大误差。TS_DF算法的测量结果与WANem设定的抖动大小基本一致。两种算法测量数据均存在一定的波动性,图5所示TS_DF算法在多次测量后的累加误差明显小于MDI:DF算法,同时随着设置抖动值的增大,TS_DF算法累加误差逐渐减小并趋于平稳。图6所示的测量值方差表明对于不同的Jitter值网络情况的多次测量中,MDI:DF算法的测量结果波动性较大,因此TS_DF算法的测量结果具有更好的稳定性。
本文分析了MDI:DF测量方法和TS_DF测量方法两种延迟测量算法并通过Python语言进行了实现。应用广域网模拟器模拟不同抖动情况下的网络环境,对两台主机间的网络通信人为加入已知大小的延迟和抖动。对不同网络环境下的抖动值大小应用两种测量方法进行测试。测试结果分析显示MDI:DF算法具有较大的波动性,TS_DF算法具有较高的精确度和较稳定的测量结果。
[1]RFC 3550-RTP:A Transport Protocol for Real-Time Applications[S].
[2]RFC 4445-A Proposed Media Delivery Index(MDI).
[3]Geneva. A Proposed Time-Stamped Delay Factor(TS-DF)algorithm for measuring Network Jitter on RTP Streams[S]. Jan,2010.
[4]王飞超 .网络抖动的测量技术的分析与实现[J].2012.
[5]黎致斌.视频质量测试指标选择 IneoQuest公司[OL].
[6]ColinPerkins.RTP-Audio and Video for the Internet[S].ISBN 0-672-32249-8.
[7]WANem 2.0 Wide Area Network Emulator Performance Engineering Research Centre[R].11thNov,2008.
[8]Guo CX,Zheng SR. Analysis and evaluation of the TCP/IP protocol stack of LINUX[J].In Proc of the IEEE ICCT 2000.
(责任编辑:马玉凤)
Implementation and Comparison of Two Standardized Jitter Measurement Methods
WANG Meng,WANG Xuan
(ECDAV,Communication University of China,Beijing 10024)
Time-stamped delay factor(TS-DF)algorithm can be used as a tool to measure IP network jitter and its cumulative effect for applications such as video and audio streaming. This algorithm is suitable for measuring IP network jitter in MPEG Transport streams over IP,voice over IP,as well as uncompressed video over IP. The delay factor of media delivery index raised in RFC4445 proposes another method.It defines the Delay Factor as the maximum difference,observed at the end of each media stream packet,between the arrival of media data and the drain of media data. In this paper,we try to conduct the two algorithms and prove that the TS_DF algorithm is more advanced with high precision.
jitter;RTP;MDI:DF;time-stamped delay factor
2015-08-03
王萌(1990-),女(汉族),内蒙古赤峰人,中国传媒大学硕士生.E-mail:358934973@qq.com,
TP391
A
1673-4793(2016)01-0027-05