郑 靖,王 锋
(1.武汉邮电科学研究院光纤通信技术与网络国家重点实验室,湖北 武汉 430074;2.武汉虹信通信技术有限责任公司,湖北 武汉 430074)
无线视频质量衡量的重要指标是流畅性和实时性。无线网络传输的上行带宽有限,传输的视频图像往往容易出现马赛克和延迟等现象[1]。由于视频监控应用场合的特殊性,某些视频监控点未必都能采用有线来传输,譬如车载移动视频监控、山区林地火情灾害监测、高速公路沿线监视、油田无人区巡视、边防岸线监控等常规布线方式难以实现,或布线成本过高的地区,就能最大限度地发挥无线视频监控的优势。由于无线带宽的限制和不稳定性,难以保证设备在无线链路上传输视频的实时性和流畅性。若没有合适的处理方法,视频在无线传输过程中很容易丢包,造成马赛克或视频画面较大延时。
本文针对无线网络带宽不稳定性的问题,通过高性能的ARM9芯片控制无线模块,提出了无线视频传输带宽的自适应算法,在很大程度上避免了无线视频传输过程中出现的马赛克和视频画面延时,基本能保证视频的流畅性和实时性。
系统从结构上可以划分为前端设备、无线通信网络、平台服务器和客户端4部分。前端设备主要完成视频信号的采集、编码和相应的云台控制等。无线通信网络包括TD-SCDMA、WCDMA和CDMA2000无线网络等。平台服务器负责无线视频设备的信令的转发、视频流的转发、硬盘存储等功能。客户端主要完成视频流的解码显示。
本方案采用TI的DaVinciTM系列TMS320DM368处理器。该处理器集成了一个ARM926EJ-S内核,一个H.264高清解码协处理器HDVICP和一个MPEG-4/JPEG高清编解码协处理器MJCP,能支持H.264/MPEG-4的高清编解码。本方案通过ARM9的USB连接无线模块[2],系统硬件框图如图1所示。
图1 系统硬件框图
本方案基于Linux嵌入式操作系统,采用模块化的程序设计。其中无线模块初始化程序和无线模块状态维护程序与无线模块相关。无线模块的初始化工作主要完成无线模块的搜索和状态设置的工作[3]。设备上电时,对多个无线模块进行初始化,根据AT命令的应答模式判定模块是否工作正常,从而设定无线模块状态(可操作或不可操作)。如图2所示,无线模块状态为不可操作时,控制无线模块的电源开关,使该模块断电,这样有利于降低整个设备的功耗;无线模块状态为可操作时,设定相应运营商的拨号,接入Internet网络的系统参数,然后启动无线模块状态维护服务。
图2 无线模块初始化流程
在无线模块状态维护服务中,系统自动检测无线模块网络注册是否成功,若成功,则根据初始化过程中设定好的参数,对无线模块进行PPP拨号,并由此获取与无线模块一一对应的IP地址,而后建立指向接收视频数据服务器的目的IP地址的网络链接,并添加该链接到路由表,设定无线模块状态为在线,如图3所示。
相关函数说明为:
自适应算法就是根据网络带宽的情况,针对当前无线网络状况,动态调整发送码流(包括帧率,关键帧间隔等)以提高无线视频传输QoS的方法。
图3 模块注册流程图
本方案中,自适应算法采用的是码率自适应切换。实时统计传输信道在单位时间内(一般为3 min)的平均数据传输速率和RTCP反馈回来的丢包率信息,作为编码器产生实时视频数据的编码参数,统计得到自适应控制的阈值。
丢包率计算方法:由于RTP包在分包时,对于同一帧数据时间戳是一样的,对于每一RTP小包,帧序号是连续的。因此在接收方,根据这些序列号来判断丢包的情况。
可以用如下式子计算丢包率
式(1)表示在一段时间里对网络状况的统计,L表示在当前时间里的丢包率,NLoss表示传输过程中丢失的分组数,NSend表示发送的总包数。
统计算法采用的是概率统计的方式,通过在一段时间内,根据不用的丢包等级,来获得丢包率的情况。比如,在Ti时间内,丢包Li级共占多少时间,由此得到Ti时间内,丢包率为Li级的概率,即P(Li/Ti)。
用丢包率的概率
式(2)表示Ti时间内丢包的概率。其中c表示阈值,将很长时间分为若干小段,也可以统计在很长一段时间(Time)内丢包发生的数学期望。
用Time内丢包发生概率的数学期望E(Loss_Data )=,表示无线网络的流畅度。E(Loss_Data)越小,说明此时的网络状况越好。反之亦然。
通过分析不同时间段的丢包率期望和方差的值,能够得到几个理想的丢包等级的阈值L。本文L的值最佳阈值设置为 0.3[4]。
如果丢包率低于阈值时,表明当前网络状况好,采用增码控制处理,即一开始发送码流成指数速率快速爬升,当到达阈值后,线性增加发送码率。如果当前丢包率高于阈值时,表明当前网络拥塞,采用阻塞控制处理,即进行清空缓冲区操作,丢去I帧和其中所有P帧,直到下一个I帧的到来。
通过上述算法,使得码率的调整能真正适应网络的变化,从而客户端能够得到清晰的图像。自适应算法流程图如图4所示。
图4 自适应算法流程
测试环境无线设备放在户外,通过公共移动通信网络接入到视频服务器平台。在接收端显示视频图像。主要测量参数有:视频图像马赛克现象、视频从前端设备到客户端延时的时间和视频质量好坏。测试结果如表1。
表1 测试数据
对比自适应算法和传统方法,得到的试验结果如图5、图6、图7 和图8。
从表1可以看到,当传输视频格式为CIF时,此时带宽在300~700 bit/s范围内,系统延迟稳定在200 ms左右。视频流畅清晰,没有马赛克现象。从图5可以看到,视频清晰度明显高于图6。图7输出的波形是标准的视频信号的波形,而图8输出的波形,视频信号的正程和消隐信号明显变形。
分析以上试验数据可知,采用自适应算法时,在接收端得到的视频输出波形正程和消隐信号未出现变形,充分证明了此时视频数据丢包率比较低,视频数据帧得到正常显示。
因此自适应算法很好地解决了无线视频丢包率较高的问题,系统也基本实现了无线视频传输的实时性(延时只有200 ms),加上系统丢包率低,从而实现了监控与传输控制的可靠性,系统运行良好。
本文采用TI公司的DM368芯片[5],针对网络丢包率比较大,运用传输带宽的自适应算法,能很大程度地避免无线视频传输过程中出现的丢包和视频画面延时等问题,基本能保证视频的流畅性和实时性。该模型可以用于任何面向IP网络的无线视频传输系统,并获得良好的效果。
[1]胡栋,刘峰,朱秀昌.实时多模式无线视频传输原型系统的实现[J].通信学报,2006,27(10):106-112.
[2]孙天泽,袁文菊,张海峰.嵌入式设计及Linux驱动开发指南——基于ARM9处理器[M].北京:电子工业出版社,2005.
[3]尤盈盈.基于嵌入式系统的无线多媒体传输系统终端的研究[D].杭州:浙江工业大学,2005.
[4]翁睿.基于GPRS网络的自适应码率视频传输[D].上海:复旦大学,2008.
[5]吴长树.一种基于公共移动通信的视频包多链路接收和播放方法:中国,200910241583.6[P].2010-05-12.