倪业鹏,杨成
(中国传媒大学,北京100024)
异构家庭网络中基于环境感知的流媒体自适应分发系统
倪业鹏,杨成
(中国传媒大学,北京100024)
摘要:随着无线网络与智能终端的普及,移动流媒体业务量正在逐级攀升。在异构家庭网络中,有线网络的带宽变化、抖动和丢包,无线网络的带宽变化以及多种样式的用户终端,都对可靠QoS保证的流媒体分发带来了很大程度的挑战。在充分考虑上述可能影响流媒体分发的因素后,文章提出了一种基于环境感知的流媒体自适应分发系统,实现了有线网络感知,无线网络感知,终端感知以及策略分析模块,分别感知有线无线网络参数和终端参数,并对现有的流媒体QoS模型进行了优化,最终实现系统基于环境变化的流媒体自适应分发。在论文的测试阶段,笔者设计了12种测试环境分别对系统各个模块和整体性能进行了测试。通过测试结果可知,文章提出的系统可以根据不断变化的用户环境(网络参数和终端性能等)来动态调整服务策略,为用户提供可靠QoS保证的流媒体分发服务。
关键词:环境感知;流媒体;策略分析;QoS
中图分类号:TN915.41
文献标识码::A
文章编号::1673-4793(2015)01-0026-12
Abstract:With the popularity of wireless networks and smart terminals,mobile streaming traffic is progressively rising. In a heterogeneous home network,the QoS guarantees streaming is adversely affected by variation of bandwidth,network jitter,packet loss in wire or wireless network and varied user terminals. Considering the influencing factors to streaming which were mentioned above seriously,we propose a context-aware adaptive streaming system basing on the awareness of environment. We realized the perception of network parameters and terminal parameters,and optimized the existing streaming QoS model,and ultimately implemented the adaptive streaming system. In our experiment stage,we designed 12 kinds of the testing environment to respectively test each module of the system and the whole system performance. According to the experimental results,the system we proposed can be dynamically adjusted service policy based on variation of user environment (network parameters and terminal performance parameters,etc),provide users with reliable QoS guarantees streaming services.
Keywords:context-aware;streaming;policy analysis;QoS
收稿日期:2014-11-04
项目基金:国家科技支撑计划项目(2012BAH02B03)
作者简介:倪业鹏(1984- ),男(汉族),宁夏银川人,中国传媒大学网络中心工程师.E-mail:nyp2010@cuc.edu.cn
Context-Aware Adaptive Streaming System
for Heterogeneous Home Network
NI Ye-peng,YANG Cheng
(Communication University of China,Beijing 100024)
1介绍
计算机技术的发展与宽带网络的快速普及使人们对于互联网应用的需求在不断发生着改变。据有关机构的调研资料显示,互联网流量正在从web应用向音视频流媒体业务迁移。
音视频流媒体的应用具有高带宽、低时延以及可靠QoS保障等要求,而Internet网络本质是一种尽力而为的服务网络,网络可用资源不足、网络资源分布不均匀等因素会导致链路的实时可用带宽、传输时延和丢包率随着时间而变化,这种变化会严重影响流媒体的传输质量,引起用户体验下降。因此Internet上的音视频流媒体应用能否满足用户需求很大程度上依赖于该应用是否具有良好的QoS保证。
与此同时随着便携式电子产品越来越流行,越来越多样化,家庭无线网络呈现出异构化与复杂化。在这种复杂的无线网络环境下实现有QoS保证的流媒体交付是非常困难的,多个终端的应用程序对带宽的争用必将引起网络拥塞,进而引起数据包丢失和较高的网络延迟,这将大大降低用户对流媒体的体验质量。
而且由于家庭终端的异构性,显然给所有终端设备提供同样QoS的流媒体是不合理的,因为各个终端设备的硬件状态都不尽相同,例如网络接入条件、CPU处理能力、内存大小、屏幕大小等,应该按照终端需求来提供合适的流媒体码流。此外,用户对流媒体服务的需求也不尽相同,为所有用户提供统一的服务不仅不能让用户满意,还失去了提供增值服务的机会,因此应当为用户提供分级的服务(例如会员机制)。
为了能够适应变化的网络状态和复杂的异构终端环境,我们提出了一种基于环境感知的自适应流媒体分发机制,用这种方法可以实现网络感知、终端感知和用户感知,并利用感知得到的数据分析出最适合用户当前环境的流媒体QoS的方法,起到指导流媒体服务器分发行为的作用。
环境感知概念的起源要追溯到最初的普适计算思想。普适计算的思想是由Markweiser在1988首先提出的[1]。普适计算中提出的环境感知计算系统能够利用感知到的信息去推断周围环境的状态,并通过改变自己的行为去主动调节和适应用户的需求或工作的变化。与此相关的研究项目主要有欧洲的IST-CONTEXT项目、卡耐基梅隆大学的Aura 项目等[2]。这些研究仅局限于计算领域,没有涉及通信领域,并且研究的环境局限为用户和终端设备环境。而在融合通信网络中,不仅用户和终端设备的环境会发生变化,网络环境也会不断变化。
在本文中,我们设计了一种基于环境感知的自适应流媒体分发系统(Context-Aware Adaptive Streaming System,CAASS)配合多源内容在异构网络环境中提供流媒体服务。系统对用户设备、网络状态和用户级别进行全方位感知。在网络状态感知中将分为两个模块,第一个模块为从内容源服务器端到家庭网关端的有线网络的感知,第二个模块是针对家庭内部无线网络使用情况的感知。为了精确测量有线网络可用带宽、丢包和抖动,我们采用了基于包序列算法的pathchirp软件,并在原算法基础上进行了优化,在无线网络测量时我们利用802.11n的传输机制设计了一种应用层上的可用带宽测量方法。同时,CAASS包含了QoS策略模块,该模块将以感知得到的数据为基础分析出最适合当前用户环境的流媒体QoS。文章的试验阶段说明CAASS能够在流媒体分发是合理利用带宽,较好的保证了流媒体QoS,从而达到了提高用户感受的目的。
本文的结构安排如下:第二节介绍了网络测量和802.11n相关部分背景知识。第三节介绍了系统总体架构,并详细介绍了CAASS机制的实现方法。第四节实现CAASS原型系统进行仿真实验,并对实验结果进行了分析比较。最后一节对本文提出的方法做了总结,并展望了未来的研究方向。
2网络感知相关背景介绍
网络感知也就是对网络状态的变化进行感知,具体的做法是通过网络测量来实现的。网络感知是CAASS的重点,也是本文的主要描述的一个模块。为了读者能够更好地理解的第三节中提出的CAASS,笔者在这里先对有线网络可用带宽测量和802.11n的MAC层传输机制进行介绍。
在网络测量中最重要的参数就是可利用带宽,尤其本文最终要解决的问题是如何在异构环境下进行合理的流媒体分发。文献[3]中Jain给出了在(t0,t0-τ)端到端可用带宽的定义
(1)
可用带宽测量有许多经典的方法,但近些年比较成功的测量软件都是以自拥塞理论为基础的。自拥塞方法的目的是找到最小的能够在路径上引起拥塞的探测速率,它发送一组探测报文,并根据接收到的探测报文速率来推测带宽属性。如果探测报文发送速率高于可用带宽,则探测报文必将在某些路由器上排队,导致延时增加,反之则延时不会增加。因此,可以利用延时的趋向性来测量链路可用带宽。
一般情况端到端的可用带宽测量都利用测量单向时延(One Way Delay,OWD)的趋向性实现。OWD由四部分组成:处理时延,排队时延,传输时延和传播时延。其中处理时延和传播时延在同一链路上可以认为是固定的。传输时延是报文的第一个比特到最后一个比特的传输时间,如果报文大小是固定的,这个时延就也是固定的。因此排队时延是唯一的随着网络状态而改变的变量。OWD可以按公式(2)计算:
(2)
(3)
(4)
其中Rk代表探测包发送速率,A为给定路由的可用带宽。(4)式可以理解为如果探测包速率小于该条路由的可用带宽,则在接收端探测包的到达速率将与发送速率相匹配,相邻发包的时延差值为0。反之,如果探测包速率大于可用带宽,则包组会在该路由上排队情况增加,包到达发生时延。通过观察OWD的时延趋势,许多算法如Pathload[4],PathChirp[5],和SLoPS[2]都以寻找发生时延的临界点来估计可用带宽。
除了可用带宽,流媒体的QoS对抖动和丢包率也很敏感。笔者在第三节提出了优化的pathChirp算法,不仅减少了带宽消耗,提高了测量结果的准确性,还在不改变原有测试方法的情况下获得了抖动和丢包率,这将对流媒体分发行为提供更全面的参考。
现在家庭无线娱乐系统允许消费者使用智能设备连接到内容服务器、个人视频录像机、有线/卫星接收机和PC而无需使用电缆。广泛应用的无线局域网络(WLan)为流媒体提供了方便和有效的解决方案。然而,由于无线网络通信和MAC层的天然共享特性,例如无线网络物理层的重传以及动态速率适配等等,使得流媒体分发在最后一跳为WLan更具挑战。
在WLan中按照链路可用带宽来动态调整流媒体发送速率是一种有效提高流媒体QoS的方法,但是无线信道的不稳定性导致无线网络容量与可用带宽不断发生变化,而当前适用与有线网络可用带宽测量的方法[4-5]在IEEE802.11n的无线网络条件下不仅无法准确测量可用带宽还会对其正常流量传输产生不利影响。
IEEE802.11n的其中一个特性可以解决上述问题,即块确认机制(Block-ACK,BA)。与传统MAC层的普通ACK消息确认每个数据包不同,BA消息用来确认包含多个数据包的一帧的接受。IEEE 802.11n的BA机制旨在通过减少ACK开销的方式增加带宽利用率。这个特性非常适合诸如流媒体等会产生突发流量的应用。图1给出了BA机制原理图。
BA机制允许一定数量的协议数据单元(MPDUs)在专用传输时机(TXOPs)上进行发送,这些MPDUs在发送时以短帧间距(SIFS)作为分界。当发送方完成MPDUs的发送,它会发出一个BA请求帧(Block-ACK Request,BAR)到接收端通知其数据已送出,要求接收端回复。一旦接受端收到BAR,它将发送BA来确认收到MPDUs。在发送BA后,接收端MAC层将本次收到的所有正序数据包交付到上层。
图1 BA机制
为了解决流媒体丢包等待的问题,IEEE802.11n引入了包存活时间限制(Packet Lifetime Limit,PLL)参数。这个参数限制了每个数据包可以导致的最大延迟时间,也可以理解为是流媒体数据在缓存中的最长持续时间。当出现丢包时,在一个TXOP中接受到的其他数据包需要缓存等待丢包恢复才会交付至上层。但如果等待时间到达了预先设定的PLL,发送方将放弃该数据包并将该包的序列号从BAR中移除。这样接收方就得知了已到PLL上限并转发缓存中的数据包到上层。因为在接受端有缓存和批量包转发的到上层的时间延迟,所以数据包的到达间隔时间无法反映无线信道的带宽,上一节中提到的有线带宽测试方法也就无法适用于无线带宽测试。在下一节我们将介绍利用BA机制在应用层设计一种测试无线带宽的方法。
3自适应环境感知服务设计与实现
图2给出了CAASS的架构。系统由两部分组成,分别是内容服务端和无线网络家庭端。系统运行方式如下:在无线网络家庭端中用户设备通过无线家庭网关接入Internet,并对感兴趣的流媒体内容发起请求。环境感知模块通过无线家庭网关感知终端信息;无线网关将用户请求传达给前端出口。环境感知模块此时已有了终端感知信息,接着环境感知模块将主动感知用户服务模块与无线家庭网关之间有线路由的网络状态,并根据所有感知信息进行分发策略分析,对多源内容服务器进行指导,待多媒体内容传输到无线家庭网关上后,无线可用带宽感知模块开始工作,对家庭内部无线网络可用带宽情况进行估计,无线家庭网关把无线可用带宽信息反馈给环境感知模块,最后由策略分析模块对新的反馈信息进行分析,根据需要调整当前的分发策略,实现自适应的流媒体环境感知服务。在CAASS系统中,环境感知模块与QoS策略分析模块是指导多源内容服务器的重点,下面将对主要介绍这两个模块的设计与实现过程。
环境感知模块由三部分组成,包括有线网络感知、终端感知和延伸至无线家庭网关中的无线可用带宽感知。
图2 CAASS架构图
有线网络感知负责感知用户服务模块与无线家庭网关之间的网络链路状态。经过对多种主动测量软件进行测试,笔者选择了PathChirp来实现有线网络感知。PathChirp分别部署在环境感知模块,前端出口和无线家庭网关上。其中用户服务模块作为发送端,无线家庭网关作为接收端,环境感知模块作为控制端。
PathChirp主要是对链路可用带宽进行测量,其基本思想是用一组指数型递增的包序列作为探测序列,在接收端观察OWD的变化趋势来划分离群区间,根据离群区间的不同分别计算出每个包的即时发送速率,在对这些包的发送速率做加权平均,从而得到一组包序列期间的链路可用带宽。具体算法可见文献[5]。
在现有的主动测量软件中,PathChirp具有带宽消耗少,收敛快等优点,但在流媒体分发应用中,它还是有一些需要优化的地方。首先,虽然PathChirp相比较Pathload和Iperf等在消耗方面已经大大减少,但是由于流媒体分发服务是面向处于不同物理位置多用户的,每个用户都需要对各自的链路状态进行感知,因此还是需要进一步降低其消耗,尽可能减少网络感知对正常流量的干扰;其次,PathChirp只给出了链路可用带宽,没有给出抖动、丢包等其它对流媒体服务质量影响较大的网络参数。
针对以上不足,笔者在PathChirp的基础上做了两点改动,一是提出了包序列自适应算法(Packet Train Adaptive,PTA),进一步减少网络感知时的带宽消耗;二是改动程序部分算法从而得到了链路抖动和丢包率。
PTA算法的主要思想是不固定探测包序列的数量,通过观察OWD的变化趋势来动态调整探测包序列数量。具体算法如下:设包个数的动态调整范围为2到N,其中N由测量链路的上限值来确定。按照发包顺序依次计算相邻包的OWD差值,设在发m个包时出现相邻包OWD差值大于0,且满足PathChirp对离群区间的定义,则继续发一组m个包的序列完成测量;若在m个包的探测期间相邻包OWD差值等于0,则以指数方式递增探测包个数为2m个;若在m个包的探测期间相邻包OWD差值出现大于0的情况但为满足PathChirp对离群区间的定义,则以线性方式递增探测包个数为(m+1)个。图3为PTA算法示意图。
图3 PTA算法示意图
为了获得链路抖动和丢包率,笔者对PathChirp进行了以下几处改动。首先,在原有程序中PathChirp对于发生丢包的探测组直接丢弃,因此一旦有丢包发生,OWD的变化趋势就无法真实反映链路可用带宽的情况。对此,笔者在发送端和接受端分别加入了一个计数器,在一次定时测量中分别计算发包个数和正常获得包的个数,在测量完成时根据差值除以总发包数获得丢包率。
无线网络感知的主要作用是测量无线家庭网关与用户设备间的无线网络可用带宽。在之前介绍的IEEE802.11n中,由于无线信道的不稳定性(丢包率相较有线网络较高),以及在接收端MAC层对包的缓存和批量转发,因此相邻包OWD差值变化趋势将无法正确反映链路可用带宽,原有的有线网络感知方法无法适用于无线网络中。
为了解决上述问题,笔者针对IEEE802.11n的BA机制提出了一种线上带宽估计算法(On-line Available Bandwidth Estimate,OLABE)。算法部署在流媒体的发送端,通过计算应用层在一个发送接收时隙内(Transmit Receive Time Slot,TRTS)的成功发包数估计无线网络可用带宽。OLABE算法不会为本来就紧张的无线网络资源增加负担,它只利用流媒体数据包自身的发送接收行为来估计可用带宽。OLABE算法的关键是确定TRTS的开始时间点与结束时间点,合理的TRTS将最大程度的减少MAC层机制引起的等待时间,从而可以准确评估无线网络的可用带宽。具体算法如图4所示:
图4 OLABE算法示意图
ti为发送端发包开始时间,ri为包组达到接收端的时间,此处假设一次突发包组最大容量为3,ACKi为接收端的反馈信息,包含了最后一个收到包的序列号。TRTS的起点定义如下:在所有包均已达到接收端且返回发送端最后一个包的ACK后,下一个包的发送时间点被定义为TRTS的起点。在这种情况下,包不会被MAC层缓存,而是直接被发送出去。图4中的t0和t2分别为两个TRTS的起始点,由于在t1时刻还有未确认的发包,因此不属于TRTS的起始点。接收端ACK的到达时刻为TRTS的结束点,即时带宽将在ACK到达发送端时进行计算,多个TRTS可能有相同的起始点,但是有各自的终结点。根据以上定义可以得到:
TRTSi=ACKi-STi
(5)
其中STi为TRTS的开始时刻。以图4为例,在i= 0,1,2的情况下,STi=t0,在i=3,4的情况下,STi=t2。TRTS期间的发包个数由最后的ACK确认包序列号(ACKseqi)和TRTS起始时刻包序列号(STPseqi)计算得出。TRSR期间发包数据量为:
TDi=(ACKseqi-STPseqi-PLNi+1)×PS
(6)
其中在i = 0,1,2的情况下,STPseqi=seq0,在i=3,4的情况下,STPseqi=seq2,seq0和seq2分别代表t0和t2时刻的发包序号。PLNi代表在第i个TRTS期间的丢包数,PS代表包的大小。由此,一个TRTS期间的即时带宽为:
BWTRTSi=TDi/TRTSi
(7)
为了获得更平稳的带宽估计,平滑带宽BWs可以通过指数加权移动平均算法(EWMA)得到:
(8)
权重k将决定测得即时带宽BWTRTSi在BWs中所占的比例,设k=8,则有:w1,w2,w3,w4=1;w5=0.8,w6=0.6,w7=0.4,w8=0.2。
终端感知模块(Terminal Perception,TP)通过无线网关与用户终端进行信息交互,感知用户终端资源信息,主要包括:屏幕尺寸、分辨率、CPU、电池余量等等。这些用户信息会按照XML模式提交给终端感知模块,具体参见表1。XML是一种允许用户对自己的标记语言进行定义的源语言,可以用来标记数据、定义数据类型,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。由于没有固定的模式,因此任何设备第一次接入系统时都需要生成一个XML文件交付给终端感知模块,具体的生成方式有两种,一是通过Web访问时由脚本调用系统信息或由用户自主选择,二是通过开发不同版本的应用程序在用户接入时通过一次终端信息测试实现。考虑到Web页面脚本可能会引起用户终端的安全性问题,我们采用在开发的应用程序中嵌入一个终端交互模块来实现终端资源信息获取。终端资源信息的准确感知将大大提高策略分析模块的工作效率,使提供给用户的QoS等级最匹配当前用户所使用的终端。
表1 终端感知参数
策略分析模块(Policy Analysis,PA)将环境感知模块得到的网络性能信息和终端资源信息经过一定的策略生成算法,生成相应的服务策略,并将该策略传递给多源内容服务器进行策略的实施。策略分析模块设计的关键是策略生成算法的设计。在该模块的设计中,QoS 策略算法的输入参数有来自终端感知模块的终端资源信息参数如CPU、分辨率、显卡规格等,还有通过网络感知模块得到的有线和无线网络性能的相关参数信息,包括丢包率、延迟和抖动等。因此在策略分析模块中,要综合考虑这几个参数对最终输出的影响,即让输出的QoS 等级信息真实地反映以上代表服务环境的参数变化情况。
在介绍策略分析模块前,先简要说明一下多源内容服务机制,因为QoS策略分析的结果最终体现在多源内容服务器的分发内容上。在动态环境下提供可管理的流媒体内容是一个比较复杂的问题。现阶段主要有两种方法解决这一问题,一个是多源内容服务机制,另一个是采用转码机制。多源内容服务机制对同一个流媒体文件提供多种分辨率与码率的格式,让用户可以依据其所处环境做出多种选择。这种方式应用简单,几乎没有对流媒体的处理时间,本文将采取这种多源内容服务机制来验证自适应环境感知服务的性能。转码机制虽然可以在对用户环境的适应性上的得到很大的提高,但现有转码算法在实时性上很难做到保证,也不是本文研究的重点内容。
考虑到流媒体源采用多源内容服务机制来实现,在QoS策略分析时可以通过把网络感知参数和终端感知参数分开讨论,降低策略分析复杂度。
首先从网络性能参数的评估上出发。网络参数中最优先需要考虑的是可用带宽,可用带宽也是有线网络感知和无线网络感知都可以获得的网络参数。相对于抖动和丢包来说,可用带宽作为流媒体分发参考指标更具有直观性和可靠性。因此,如果有线可用带宽大于无线可用带宽,则以无线可用带宽做为优先参考,选择流媒体源内容;反之,则以有线网络参数作为参考。
目前,对有线网络的性能参数进行模型化以评估网络的实时状态已经有了较多的研究和比较成熟的评估算法,本文以ITU-T G.1070 中用来测试IPTV 等不同类型流媒体业务质量的算法为基础并加以改进来进行评估[6]。ITU-T G.1070 中模型的数学表达见公式(9):
(9)
其中:Vq代表媒体质量;Icoding代表受编码对流媒体质量的影响,不同的编解码算法代表的值不同;Pplv是媒体报文的丢包率;Dpplv指的是视频受损的健壮性,该参数与视频编解码,自动修复等有关。可以看出,该模型在网络性能参数上只引入了丢包率对媒体质量的影响,对抖动并没有考虑进去。因此可以有:
(10)
其中Dj代表网络抖动对媒体质量的影响,它与丢包引起的媒体质量下降是相对独立的,其数学表达式如(11)所示:
(11)
其中AV_BW代表可用带宽,jitter为测得的抖动值,Bufmac为MAC层的缓存大小。根据不同的网络参数,可以计算出相应的Vq值,由[7]可知,当Vq≥0.85时,网络性能对媒体分发的影响不会引起人主观视觉变化。
在充分考虑网络性能参数后,接下来要对终端资源信息的参数进行考虑。在表1中可以看到终端感知模块可以提供五种类型的终端参数。其中最主要的参数是分辨率和CPU,根据这两个参数可以对终端服务级别进行分类如下:
表2 终端服务等级
按照现下主流的用户终端类型(iPhone、 Android Pad、iPad、PC),表2把对用户终端的服务级别(Ts)定义为四类,相应的在源内容服务器中也存储了四种码率(Ri)的流媒体文件。
整个策略分析模块的工作流程可以用以下伪代码来表示。其中R0代表从多源内容服务器输出的码率,AV_BWwireless代表无线网络可用带宽,AV_BWwire代表有线网络可用带宽。
策略模块工作流程伪代码:
在策略分析模块的指导下,多源内容服务器将发送码率最适合当前终端环境的流媒体内容给用户,从而实现基于环境感知的自适应流媒体分发。
4原型系统实现与测试分析
为了验证本文提出系统的可行性,我们实现了一个包括全部功能模块的原型系统,并在该原型系统上进行了一系列流媒体分发的仿真实验,从而对系统在不同环境下的性能做出测评。
实现的原型系统如图5所示。系统采用IBM HX5刀片服务器作为多源内容服务器,其中预先存储了表2里四种分辨率的流媒体文件,并在服务器上集成了环境感知模块、策略分析模块以及前端出口。多源内容服务器通过一条10Mbps专线与家庭网关相连。家庭网关除了具备支持150Mbps速度标准的802.11n Wi-Fi功能,还集成了FTP服务器、本地视频点播等功能。用户终端我们选择了比较流行的设备,一台iPhone5,一台iPad mini以及一台联想14寸笔记本电脑,都可以支持到802.11n,与家庭网关建立无线连接。同时为了测试有线网络环境下网络感知的性能情况,系统以百兆有线局域网的方式接入了一台测试机在家庭网关测,并在家庭网关上移植了Network Emulator for Windows Toolkit(NEWT)。NEWT可以在可靠的物理链路上仿真出丢包、延时等状况,为系统测试提供性能可变的网络环境。
图5 原型系统示意图
本节将对系统的各个功能模块及整体性能制定相应的测试方案并对测试结果进行分析。
(1)有线网络感知性能测试
有线网络感知模块通过优化的PathChirp对有线网络进行测量得到的网络实时的信息参数,包括可用带宽、丢包率、抖动等等,并将这些网络参数传递给策略分析模块,由策略分析模块为具体的网络状况进行QoS评级,指定多源内容服务器提供相应的流媒体文件。有线网络感知性能测试环境如表3所示。
表3 有线网络感知性能测试
在测试环境①的进行过程中,家庭网关将向多源内容服务器发出FTP文件传输请求,进行文件下载,速度设定在8Mbps,突发增加家庭网关与多源内容服务器之间专线上的负载,测试环境由①过渡至②。以上两种测试环境下流媒体服务对比如图6所示:
(a) (b)图6 环境①与环境②测试效果图
图6上部分为测试机播放流媒体的截图,下部分为媒体分析软件对当前流媒体文件的分析结果,其中重要参数用红框标出。(a)为测试环境①下的流媒体服务效果图,可以看出测试机播放的流媒体文件分辨率为1280×800,码流码率为2441Kbps。当速度为8Mbps的FTP文件传输服务在10Mbps专线上启动后,有线网络可用带宽降至2Mbps以下,已经无法为测试机提供级别4的流媒体服务。在网络感知模块感知到有线网络的变化后,策略分析模块根据新的网络性能调整流媒体服务级别,使流媒体质量适应当前的网络状态。上图(b)为测试环境②下的流媒体服务效果图,可以看出当前服务级别降为3级,流媒体文件分辨率为1024×768,码流码率为1465Kbps。
为了进一步测试有线网络感知模块性能,我们设计了测试环境③,在测试环境②的基础上添加了NEWT仿真丢包与抖动,按照(10)计算,在引入1/100的丢包和50ms的抖动时,低于其最低限度0.85,此时的网络状态会降低流媒体质量从而引起人眼可以察觉到的变化。
(a) (b)图7 环境②与环境③测试效果图
图7为环境②与③的测试机流媒体服务截图。(a)为环境②时的截图与流媒体文件信息,(b)为环境③时的截图与流媒体文件信息。除了人眼可以观察到的视频质量下降外,可以看到流媒体文件的分辨率降至800×480,码率降至977Kbps,流媒体服务级别降为1级。
由以上测试分析可知,在流媒体服务的网络环境变化时,系统的有线网络感知模块能够及时感知网络状态的变化情况,并将该变化情况转换为QoS服务等级的改变,从而使系统为用户提供的流媒体服务QoS能适应当前网络的状态,从而合理和有效地利用网络资源。
(2)无线网络感知性能测试
考虑到现有家庭异构网络架构,无线网络的可用带宽测试将限定在整个传输链路的最后一跳上,因此降低了无线网络感知的难度。无线网络感知性能主要体现在对无线网络可用带宽测试的准确性与实时性上。
针对家庭异构网络架构,本文提出了一种面向应用层的无线网络可用带宽测试算法OLABE。OLABE算法部署在无线家庭网关与用户终端应用程序中,当用户请求的流媒体数据到达无线家庭网关时,终端应用程序会配合无线家庭网关利用IEEE802.11n的DBA机制及包反馈机制测算出无线可用带宽,并将可用带宽信息提交给环境感知模块。
在测试无线网络感知性能前,首先需要测试原型系统环境下的最大可达无线传输速率,通过在用户终端与无线家庭网关之间并发文件传输,可以得到150Mbps速度标准的IEEE802.11n工作在2.4Ghz时,最大传输速率约为60Mbps。接下来我们按表4所示的测试环境进行无线网络感知模块性能测试。
为了比较本文提出的OLABE算法,我们采用三种方法对无线网络可用带宽进行测量,在环境④中我们采用一款专业带宽测量软件CHARIOT对无线网络可用带宽进行测量,以测量结果作为真实带宽参照;在环境⑤与环境⑥中分别采用PathChirp和OLABE进行无线带宽测量。测试时间起点为通过笔记本点播无线家庭网关的本地视频,在播放5秒视频后,开始利用iPad请求无线家庭网关的FTP服务,速率设置在30Mbps,整个测试持续10秒。三种方法测试得到的无线带宽变化情况如图8所示:
表3 无线网络感知性能测试
图8 IEEE802.11n可用带宽测量方法比较结果
参照CHARIOT软件的测量结果可以看出,由于IEEE802.11n的MAC缓存与批量转发机制,类似PathChirp这种以包间隔探测法为核心的算法不
能真实反映无线可用带宽的变化情况;而我们提出的OLABE算法是部署在应用层上,通过计算实际发包来测算带宽,并利用EWMA算法对测量的带宽进行加权平均,从而得到了更加准确、稳定与平滑的带宽值。
终端感知是系统通过客户端或Web页面与用户终端类型进行信息感知,从而获取到用户终端屏幕尺寸、分辨率及CPU等参数的过程。这些终端信息将传递给策略分析模块,由策略分析模块对其进行充分考虑,使提供给用户的QoS等级最匹配当前用户所使用的终端。
终端感知性能测试环境如表4所示:
表4 终端感知性能测试
为了测试终端感知性能,测试环境⑦与⑧都在无其他网络业务流量的状态下进行,保证网络环境不影响流媒体分发质量。终端采取iPhone5与iPad各一台分别请求同一流媒体服务。测试结果如图9所示。
从图9明显看出两种不同类型的终端获得了不同分辨率的流媒体服务。由此可知,在不同类型终端请求流媒体服务时,系统的终端感知模块能够正确感知终端相关参数,并通过策略分析模块为用户适配相应的QoS服务等级,使当前系统提供的流媒体服务最佳匹配终端的媒体参数和处理能力,提升和改善流媒体分发服务的QoS,也提高了整个流媒体服务系统的资源利用率。
(a) (b)图9 终端感知性能测试结果
模块性能测试完毕后,将把所用功能模块集成为系统单独测试。主要测试系统在变化的网络环境中为不同终端类型提供流媒体服务的QoS变化情况,具体指标通过对不同环境下流媒体服务内容的峰值信噪比(PSNR)[8]计算得到。PSNR是用于最大可能信号功率和背景噪音之间比率的一个工程术语,其定义如下:
(12)
其中Vpeak=2n-1,n代表色彩深度的比特位数,MSE(ID,IS)代表原始图片与目标图片的均方误差。
系统集成测试环境设计如表5所示。
表5 系统集成测试
图10 不同测试环境下PSNR比较图
图10中可以看出我们提出的系统相比较其他算法与部分功能模块的结合,PSNR值得到了一定程度的提高。为了更客观明确的比较四种测试环境下的图像质量,我们给出了表6。
表6中为100帧视频时间段内四种测试环境下的PSNR均值与PSNR标准差值。从测试环境⑨到可以看到PSNR标准差值在不断减小,这表示视频质量的变化范围更小,更不易引起人的主观不适。
表6 视频质量比较
参考文献PSNR均值也在测试环境⑨到下不断得以增加,除了客观评价,按照[9]得知PSNR均值可以映射到平均主观得分(Mean Opinion Score,MOS),具体映射方式如表7所示。
表7 PSNR与MOS转换
由此结合表6与表7可知,在没有任何系统部署的情况下,流媒体质量的MOS评分为1,即主观不可接受;在测试环境⑩与下,流媒体质量的MOS评分都为3,属于主观可以接受的情况;在全系统开启的环境下,MOS评分可达到4分,属于较好的观看体验。
通过一系列测试分析可知,我们提出的系统各个功能模块性能良好,整体测试中可以实现以环境感知为基础的自适应流媒体服务,在比较其他算法时得到的PSNR均值和MOS主观评分都有了一定程度的提高。
5结论
家庭异构网络中如何在不同的网络环境下对各种异构终端提供自适应的流媒体分发服务是一个非常值得研究的课题。本文提出的异构家庭网络中基于环境感知的流媒体自适应分发系统,实现了有线网络感知、无线网络感知、终端感知以及策略分析模块。为了减少带宽消耗加快收敛速度并获取更多网络参数,我们优化了PathChirp算法,在探测发包时采取PTA算法实现探测包序列的动态变化,并改动部分程序,实现了对网络抖动和丢包等参数的精确感知。为了获得准确的无线网络参数,针对IEEE802.11n的MAC层传输特征,我们提出了OLABE算法,实现了无线网络可用带宽的感知。为了对异构终端提供分级服务,我们设计了终端感知模块并按主流终端设备对流媒体服务业务进行分级。为了充分考虑环境感知模块获取的所有参数,在策略分析模块中我们对现有的流媒体QoS模型进行了优化,实现系统基于环境的流媒体自适应分发。本课题的未来研究方向将集中在如何为用户提供低延时高可靠性的全码率转码服务上,并与本文提出的自适应流媒体分发系统相结合,实现基于环境感知的全码率自适应流媒体服务。
[1]Mark Weiser. The Computer for the 21st Century[D]. Scientific American,1998.
[2]Yoosoo Oh,Jonghyun Han,Woontack Woo. A Context management architecture for large-scale smart environment [J]. IEEE Communications Magazine,Mar 2010:118-126.
[3]M Jain,C Dovrolis. End-to-end available bandwidth:measurement methodology,dynamics,and relation with TCP throughput [J]. Tech Rep,University of Delaware,Feb,2002.
[4]M Jain,C Dovrolis. Pathload:a measurement tool for end-toend available bandwidth [J]. Proc of Passive Active Measurements Workshop,March,2002:14-25.
[5]V Ribeiro,R Riedi,R Baraniuk,J Navratil,L Cottrell. PathChirp:efficient available bandwidth estimation for network paths [J]. Proc of Passive Active Measurements Workshop,April,2003:1-11.
[6]ITU-T Recommendation G1070.Opinion model for video-telephony applications [S]. 2007.
[7]刘露.异构/融合网络中端到端服务质量控制与管理的研究[D].北京邮电大学,2010,6.
[8] S Winkler,P Mohandas. The Evolution of Video Quality Measurement:From PSNR to Hybrid Metrics[J].IEEE Trans Broadcasting,2008,54(3):660-668.
[9]J Gross,J Klaue,H Karl,A Wolisz. Cross-layer optimization of OFDM transmission systems for MPEG-4 video streaming [J]. Computer Communications,2004,27(11):1044-1055.
(责任编辑:宋金宝)