1 引言
随着无线网络技术的飞速发展,无线多媒体通信的业务量将远远超过传统业务。视频业务,特别是实时视频业务将是未来无线网络业务的主体,因此面向无线网络的视频QoS保障问题成为新的研究热点。在QoS保障机制的研究过程中,由于网络的复杂性和经济条件的制约,网络仿真技术非常重要。网络仿真技术通过建立网络设备和网络链路的统计模型,并模拟网络流量的传输,从而获取网络设计或优化所需的网络性能数据。
2 网络视频的QoS研究
Jirka Klaue给出统一评价视频传输质量的框架和工具集一EvalVid。EvalVid具有模块化结构,可在所用的的视频编码策略下,通过trace文件实现网络之间的交互作用,很容易在任何网络环境下使用。EvalVid评估框架如图1所示。
(1)信源视频信源可能是QCIF(176×144)或CIF(352×288)格式的YUV视频信息。
(2)视频编码器和解码器用来对YUV视频进行编解码以适应网络的传输,编码策略可采用MPEG,H.261等。
(3)视频发送器 VS从编码的视频文件中产生trace文件,即视频trace文件和发送trace文件。VS读取视频编码器输出的视频压缩文件,将大视频帧分成较小的分段以在网络环境中经UDP分组传输。发送trace文件记录每个传输的UDP分组时间戳,分组id和分组负载大小。视频trace文件记录视频文件中每个帧的信息。视频trace文件和发送trace文件在随后的视频质量评估中使用。
(4)评价trace利用原始编码视频文件、视频trace文件、发送trace文件和接收trace文件中记录的分组时间戳、分组id和分组载荷大小等信息,ET产生一个帧/分组丢失、帧/分组延时抖动报告和一个重建的视频文件。
(5)重建视频数字视频质量的评价通过逐帧比较实现。如果选用的编解码器不能处理丢失的帧,则通过插入最近成功解码的帧代替每一个丢失的帧的错误隐藏技术处理。
(6)主观和客观质量评价(PSNR、MOS)主观质量评价直接反映人眼的感觉,是相对较为准确的图像质量评价方法。常用的指标是基于5级质量制或5级损伤制的平均意见分(MOS分)。视频图像质量的客观评价通过某些数学准则衡量,常用峰一峰信噪比(PSNR)。其定义如下:
式中,M和N是视频帧的宽度和高度的维数;x(i,j)和x'(i,j)是原始像素和重构像素在(i,j)点的亮度或色度值。
Chih-Heng Ke等将EvalVid和NS-2结合,给出视频流质量评估的新工具集。NS-2和EvalVid的结合通过3个连接模拟代理实现,即MyTrafficTrace,MyUDP和MyUDPSink。设计这些接口既要读取视频trace文件,又要产生视频传输质量评估用的数据。
MyTrafficTrace代理从VS的输出文件中提取视频trace文件的帧类型和帧大小。此外该代理将视频帧分割成小的分段,并在适当的时间发送这些分段至低层UDP,发送时间由用户在模拟描述文件中设定。
MyUDP是UDP代理的延伸。此新代理允许用户指定发送trace的输出文件名。它记录每个传输分组的时间戳,分组id和分组大小。
MyUDP代理的任务对应于在真实网络环境中的cp-dump或win-dump工具的任务。MyUDPSink是接收代理,接收MyUDP发送的视频帧分组,此代理也在用户指定的文件中记录每个接收分组的时间戳、分组id和负载大小。在此基础上扩展,提出一种适合无线视频传输的质量评价体系。
3 基于NS-2的无线网络视频QoS平台实现
3.1 NS-2中的无线模块
NS中的无线模块最初由CMU的Monarch 工作组引入到NS。由CMU/Monarch引入的无线模块可进行纯无线网络仿真,扩展后的无线模块还支持无线和有线网络联合仿真以及移动IP。还有一些其他无线模块可在NS-2中使用,包括Blueware,Blue2Hoc,Mobiwan,GPRS,CIMS等。无线模块以MobileNode为基本核心,并通过一些附加特性以支持多跳Adhoc网络和无线局域网仿真。MobileNode由基本Node增加无线和移动节点所需功能,可在OTCL中设定其各种网络构件,如链路层(LL)、连接到LL上的ARP模块、接口队列(ifql、ifqlen)MAC层和网络接口等。移动节点通过网络接口连接到无线信道上。目前MobileNode支持的ad-hoc路由协议包括DSVD、DSR、TORA和AODV。
3.2 无线网络视频仿真的过程
由于在视频传输的仿真中,需在网络中传输真实的视频码流,凶此必须扩展并修改NS-2,添加视频传输仿真过程所需的网络元素,包括代理,即MyTrafficTrace、MyUDP和MyUDPSink。如果研究者要验证其提出的传输策略,则需使用C++和OTcl对网络元素编程,将其提出的策略加到网络元素中,然后重新编译NS。在完成对NS-2的扩展后,就可利用NS进行仿真。过程如下:
(1)利用选定的视频编码器对原始视频编码,并从中提取视频分组的相关信息,编写程序产生传输用的trace文件。trace文件的格式为<分组序号,时间戳,分组大小>。 (2)根据所研究的真实网络的特性,设置物理层(MAC层)的基本属性;建立各种节点并配置其参数,设定节点的运动特性;配置网络拓朴结构,确定链路的基本特性,如延迟、带宽和选择策略等。
(3)建立协议代理,将协议代理绑定到相应的节点上,建立代理之间的连接;确定网络上的业务量分布,将视频业务量和各种背景业务量绑定到相应的协议代理上。
(4)设置Trace对象。Trace对象把仿真过程中发生的特定类型事件记录在trace文件中。NS-2通过trace文件保存整个仿真过程。仿真完成后,可以分析研究trace文件。
(5)编写其他辅助过程,设定仿真结束时间,至此OTcl脚本编写完成。用NS-2解释执行已编写的OTcl脚本。
(6)分析trace文件,得出所需的数据。也可用Nam等工具观看网络仿真运行过程。根据trace文件判断编码产生的压缩视频分组流中哪些分组要在传输过程中丢失。基于该方法,可以从压缩视频文件中丢弃传输丢失的分组,从而产生新的传输后的视频压缩文件。
(7)利用视频解码器对传输后的视频压缩文件进行解码,从主观和客观上可观察视频的传输质量。
4 应用分析
图2是进行实例分析的视频传输系统结构示意图,视频摄像产生视频文件,通过发送节点传输到接收节点,中间通过无线接入点AP1和AP2;发送节点还带有一个CBR流发生器,经中间节点AP1和AP2向接收节点发送,作为影响视频传输的背景流。设置CBR流使用UDP协议,速率为512 Kb/s。AP1和AP2之间的带宽为0.5 Kb/s。AP和移动节点之间的链路为1 Mb/s的IEEE802.11b。使用100帧的图像测试序列foreman_cif.yuv,利用MPEG4编解码器编写仿真脚本文件,在NS中运行仿真,产生一个trace文件。
利用视频压缩文件和trace文件编写分析程序,从视频压缩文件中将由于丢包所丢失的分组去掉,得到新的压缩视频文件,解码后可从主观和客观评价视频质量。在无线网络中,视频流的传输受CBR流的影响,产生丢包现象,造成视频图像失真,图3中的b2.dat和n2.dat分别展示有无CBR背景流存在的情况下视频序列的PSNR,表明CBR流的存在使视频质量急剧恶化。
图4从主观角度对比两种情况下第74帧视频的质量,右边帧为没有CBR背景流的情况,图像质量基本正常,左边帧出现马赛克表明图像出现失真。
5 结论
本文选取NS-2网络模拟器作为仿真环境,设计并实现一个无线视频QoS分析的试验平台。提出视频QoS分析对于试验平台的需求,分析全部的实现过程后。通过实例进行论证。对于需要在NS中加入新的视频传输协议模块的仿真试验,可以应用该实验平台,分析和验证协议的有效性。通过试验证明,所提出的方案完全可行。根据结果视频文件直观评价网络性能,便捷反映实际网络的运行状态,可大大增强仿真结果的可靠性,对于复杂网络拓扑及相关协议设计与研究具有重要意义。