李 和,莫金旺,赵 利
(桂林电子科技大学 信息科技学院,广西 桂林 541004)
视频监控系统是信息社会的重要基础设施之一,无线化、网络化、智能化和数字化是其重要发展方向。近年来,一种新一代无线通信网——无线Mesh网WMN(Wireless Mesh Network)技术引起业界的重视和研究。由于它具备组网迅速、结构灵活、传输速率大、可靠性强、成本低等突出的优点,满足了市场对网络视频监控的新需求,势必会拓宽视频监控的应用范围[1]。因此,在视频监控系统中引入WMN技术后将具有如下特点:
(1)高效和灵活的网络覆盖方式。相对于传统的有线网络,采用无线网络可以在原来不便或无法部署有线网络的区域实现无线监控。
(2)施工容易,建设成本低。WMN仅需少量的网络布线,基本不用建设新的网络基础设施,结合整体规划可最大限度降低建设成本。
(3)部署快捷,扩展灵活。WMN具有自组网和自管理能力,视频监控点建成即接入监控网,自动地建立与监控中心最佳的传输路由,并且视频监控点可随时插入和删除。
(4)具有链路故障自愈能力,通信可靠性高。由于采用无线网状网(Mesh)结构,多跳路由方式,可以利用迂回路由避开故障节点,保证系统具有较好的健壮性。
WMN作为移动Ad Hoc网络(MANET)的一种特殊形态,融合了WLAN和Ad Hoc网络的优点,成为一种新型的宽带无线网络。其核心思想是让网络中的每个节点都可以发送和接收信号,使得传统的WLAN中一直存在的可伸缩性低和健壮性差等诸多问题迎刃而解[2]。与传统无线网络技术相比,WMN更能适应网络视频监控的发展。
考虑到业务功能的灵活性,本文构建了一种较为通用的视频监控网络平台,由单个Mesh终端节点构搭建WMN如图1所示,视频监控系统主要有监控节点(终端)和监控中心两部分组成。在监控现场,多个具有路由转发功能的终端节点互联构成无线Mesh网络骨干网,视频监控终端具有视频服务器功能,负责完成监控现场视频采集、压缩、无线路由及收发数据等功能,并以无线方式将视频流传输到与监控中心相连的Mesh网关;监控中心具有浏览器功能,接收来自监控终端的视频数据流,并进行解压、播放、存储等处理,同时可通过Internet完成视频转发和各种视频遥控功能。
图1 基于WMN的视频监控系统方案
视频监控终端硬件结构如图2所示。考虑到监控终端对视频压缩能力、无线移动特性和低功耗的要求,采用华恒公司的专用Freescale处理器i.MX21作为主控芯片。它集成了支持MPEG-4标准的硬件编解码器和ARM9内核,功耗仅为200 mW。复合视频信号经SAA7l13的模拟端输入,经过模数转换、滤波和缩放后,生成BT.656格式的视频,输出到i.MX21。i.MX21对视频进行MPEG-4格式的压缩编码,将数据流经USB控制器扩展的USB2.0接口输出到VT6656模块。VT6656模块包含一个集成了MAC和基带处理器的芯片以及一个集成了功率放大器和天线的芯片,其支持IEEE 802.11b/g无线传输。
图2 视频监控终端硬件结构
视频监控系统软件结构如图3所示。视频监控终端(服务器)采用基于Linux操作系统的ARM9嵌入式系统作为视频监控节点的软硬件平台,视频监控中心采用基于DirectShow的客户端软件进行开发设计,整个系统软件采用模块化结构设计。
图3 视频监控系统软件结构
Linux操作系统采用成熟稳定的2.6.23内核。配置时根据硬件资源选择Flash和SRAM的大小,在网络子项中选择对TCP/IP和IEEE 802.1l协议的支持,同时去除不支持的选项以缩减内核体积,执行编译后得到Linux的内核映像文件。
Linux操作系统通过调用驱动程序的接口函数实现硬件访问请求。SAA7113和VT6656的驱动程序分别控制相应芯片完成视频采集、USB接口控制和网络传输控制功能,采用中断触发/响应机制协调工作。
上层应用程序包括视频采集、视频压缩、网络传输和网络访问控制模块。监控终端通过网络访问控制程序接收来自主机的控制命令,并同步更新至配置文件保存。为保证指令的可靠传输,采用面向连接的TCP/IP协议在主机和终端间建立一个端到端的虚拟连接,并通过套接字编程实现[3]。视频采集程序负责启动SAA7113的视频采集和模数转换,产生BT.656格式的视频数据。视频压缩程序根据配置文件设定视频压缩格式(D1/VGA/CIF/QVGA/QCIF)、编码方式(CAVLC/CABAC)、码流(CBR/VBR)和码率(最大 10 Mb/s),以此为参数完成 MPEG-4视频压缩。网络传输程序完成数据包的封装,再经VT6656传送到邻近的无线AP。为保证视频流的实时性,采用RTP/RTCP协议对压缩数据进行封装[4],使用IEEE802.11b标准 (最大数据传输率为11 Mb/s,室外通信距离为500 m)完成数据包的无线传输。
AODV路由协议是一种按需路由协议,实际上是DSR和DSDV协议的综合,以DSDV为基础,采用DSR中的按需路由思想进行改进[5]。AODV使用广播式路由发现机制,当源节点想与另一节点进行通信,而它的路由表中又没有到达目的节点的路由条目时,就广播一个路由请求(RREQ)报文,源地址和广播ID标识了一个唯一的路由请求。中间节点在收到RREQ报文时,首先比较本节点和目的节点的IP地址,如果自己是目的节点,就向源节点回复路由响应(RREP)报文;如果自己不是目的节点,则根据RREQ报文中的源IP地址和广播ID判断是否收到过该RREQ报文,如果收到过,则丢弃该RREQ报文,若没有则记录相关信息,用来形成反向路由。记录的信息主要包括目的地址、源地址、广播ID、源序列号、反向路由超时时长,同时将RREQ报文中的跳数字段值加1,并向邻居节点转发RREQ报文。当中继节点或目的节点沿着反向路径回复RREP报文时,这条路径上的节点建立前向路由。当RREP报文到达源节点后,源节点就可以使用已经建立的路由发送数据报文。
AODV程序从逻辑上可分为系统接口和AODV算法模块两个部分。系统接口部分的主要功能是用Linux系统提供的各种接口,为实现AODV路由协议提供所需的各种信息和服务。本系统的AODV程序用到的系统接口主要包括可加载模块的管理、网络过滤器(Netfilter)的使用、路由线程的产生、内核路由表的修改以及定时器机制等,这部分是AODV程序与Linux系统交互的主要途径。AODV算法模块主要是执行AODV协议逻辑,总的来说包括路由建立、路由维护和路由删除三个模块。该算法模块的目标是根据通信的需求建立正确的路由,通过接收和处理AODV控制分组来建立或改变路由。
DirectShow是微软公司推出的新一代基于COM技术的流媒体处理的开发包,为流媒体的捕捉、回放等处理提供了强大的支持[6]。本系统利用DirectShow技术设计基于无线Mesh网络视频监控客户端软件。软件设计采用C/S模式,基于VC平台的MFC框架。客户端和远程终端通过Socket编程实现在整个网络上通信。
客户端软件包括视频浏览器和视频监控终端控制器软件,主要由视频接收、视频解码播放及远程控制命令发送模块组成,模块之间采用共享内存进行通信。为了能同时接收到来自终端的多路图像,在程序中采用Windows界面设计和多线程技术,每个线程创建一个界面窗口,负责一路视频流的接收和播放。由于系统中的视频压缩格式为MPEG-4标准,因此选用Xvid Codec作为MPEG-4的核心解码库,其源代码是开放的,通过调用Xvid的MPEG-4解码核心代码可完成视频数据的解压缩。实现远程控制就是在监控中心通过客户端软件,利用计算机鼠标或键盘的相应操作来向终端服务器发送命令,以实现对监控点的摄像机的参数及云台进行控制。由于控制命令准确性要求较高,数据量较小,因此采用了提供可靠连接传输协议TCP/IP进行传输,用户可以根据监控场合、用途和功能的不同对串口采取不同的配置,在程序运行后也可随时对串口的参数设置进行更改。
用5台嵌入式监控终端组成无线Mesh网络,各监控点之间的距离约为200 m,嵌入式终端操作系统Linux的内核为2.6.23。监控主机通过IEEE 802.11b/g标准的无线网卡接入Mesh网络,从任一监控终端获取Xvid-MPEG-4格式的视频流,采用基于DirectShow的客户端解码播放软件完成终端设置、视频解码和实时播放功能。测试结果表明,画面播放流畅,实时性较好。在进行主动丢包测试时,当丢包率为10%时,图像会出现少量的马赛克,但播放依然流畅,完全可以满足当前视频监控市场的要求。
新一代的无线Mesh网络利用网状拓扑、多跳链路和先进的路由协议,通过融合IEEE 802.1la/b/g等无线通信技术实现组网,其具有组网迅速、结构灵活、传输率高、移动性好、可靠性强和成本低等优点,可极大的拓宽网络视频监控的应用范围。因此,与其他无线视频监控系统相比,基于无线Mesh网的视频监控系统具有较高的性价比。随着无线Mesh网络技术的进一步发展和完善,其必将在包括视频监控在内的多种领域有广阔的应用前景。
[1]F1RETIDE, Inc. An introduction to wireless mesh networking[EB /OL].[2007-10-07].http://www.firetide.com.
[2]AKYILDIZ I F, Wang Xudong.A survey on wireless mesh networks[J].IEEE Communications Magazine, 2005,43(9):23-30.
[3]王枫,罗家融.Linux下多线程 Socket通讯的研究与应用[J].计算机工程与应用,2004(16):106-109.
[4]潘鹏,杜旭,叶婷,等.RTP/RTCP实时传输协议的研究与 Linux 实现[J].计算机工程与应用,2005(24):105-108.
[5]RAJIV M, MANDALC R.Performancecomparisonof AODV/DSR on-demand routing protocols for ad hoc networks in constrained situation[C].IEEE International Conference,2005:86-89.
[6]陆其明.DirectShow开发指南[M].北京:清华大学出版社,2003.