新型嵌入式网络视频监控系统的设计
2010-08-23林立忠张惠涛段丽英
林立忠,张惠涛,段丽英
LIN Li-zhong, ZHANG Hui-tao, DUAN Li-ying
(石家庄学院 计算机系,石家庄 050301)
0 引言
视频监控技术是一门集计算机技术、网络技术和数字视频技术于一体的综合技术。计算机技术和多媒体技术的迅速发展,以及自动控制和多媒体技术也融入到视频监控系统中,监控技术也得到了迅速发展。过去的视频监控系统多数以模拟图象信息为主,由于对图象的处理和传送均采用模拟技术,不仅图象质量低,而且系统资源浪费严重,不易组成复杂的网络结构,监控功能可扩展性差。该嵌入式网络视频监控系统结合了嵌入式、网络、图像处理与数字视频技术于一体,意义明显,不但有助于我们解决传统监控系统的缺点,提高监控系统功能,而且更是有实际意义,例如,国际反恐形势、2008奥运、国内城镇化与城市建设、部分应用领域安全事故频发等,这些方面都需要有新一代的监控系统保证。
1 系统设计方案
因为要实现网络远程视频监控功能,系统软件结构模型采用了典型的两层结构的客户机—服务器(Client-Server)模型,这种形式的C/S结构分为两层:第一层是在客户机系统上结合了用户界面与业务逻辑;第二层是通过网络结合了数据服务器。这种C/S结构中,客户机直接向服务器提出访问请求,服务器根据请求结果做出相应的反应,并将结果返回给客户机。在这种C/S模型结构中,服务端从一开机就启动服务程序并处于等待状态,这样能保证服务器随时都能接受客户端的请求[1]。
如图1所示,本文设计的嵌入式视频监控系统采用C/S结构模型。服务器采用稳定的Linux2.6.14作为软件开发平台。根据系统要求移植了相应的驱动程序,裁剪了内核中其他无用的功能模块,这样减少了操作系统的大小,节省了空间,提高了稳定性以及运行的速度。
图1 嵌入式监控系统软件模型图
在传输协议方面,采用RTP/RPFCP传输视频数据,采用TCP传输控制指令。
在显示方面,采用浏览器显示,非常方便,实现了客户端与平台无关。
在Linux操作系统之上的是应用程序模块,主要包括,视频服务器管理模块,图像采集模块,编码模块,控制模块,网络传送模块,视频存储模块[2]。
2 视频监控系统的实现
2.1 网络视频监控系统的硬件架构
图2 系统硬件结构图
由图2可见其主要分为以下几个部分:
核心处理器:MCU时钟频率需要高于400MHz,它作为系统的中央处理器完成主要的逻辑运算,并提供了基本的外围接口电路和外围设备控制器。
存储设备:存储设备主要包括了SDRAM、NANDFLASH和NORFLASH。SDRAM相当于PC机的内存,操作系统需要加载到SDRAM后才能正常运行,FLASH相当于ROM,用来存贮Bootioader和操作系统。
网卡接口:采用DM9000网络控制芯片,为远程网络控制提供支持。
USB Host接口:用于和USB接口的摄像头实现连接。
调试模块:JTAG用来下载Bootfoader和在线调试程序,RS232接口用来输出打印信息。
2.2 软件平台的设计
网络视频监控的具体实现,启动嵌入式系统上的服务程序,服务程序等待客户端的连接,如果有客户端连接请求,服务端不断的将从摄像头采集的实时视频数据压缩处理,然后通过基于JRTPLIB库的RTP/RTCP协议传输到一组播地址,客户端加入该组播,不断获取视频数据,解码显示出来从而实现实时监控。其流程如图3所示:
图3 网络视频监控实现流程
根据上面的流程分析可知,加上以后维护及扩展性的考虑,应用程序模块主要包括如图4所示:
各功能模块说明如下:
1)网络通信模块:主要是接收和发送数据,并进行解包和封装,网络通信模块对于控制指令及数据指令采用不同的方式进行管理。控制指令采用TCP/IP传输协议,数据传送为了保证实时性采用RTP/RTCP传输协议[3]。
图4 视频监控系统功能模块
2)管理模块:主要是对各种各个模块都需要的资源进行管理,同时还对各模块之间提供相应的数据交换接口。
3)视频采集模块,主要任务是:
(1)初始化USB摄像头,启动采集线程程序,采集到图像数据后放到一环行缓冲区,以供视频压缩模块使用。
(2)接受控制管理指令,例如改变采样速率、分辨率大小,颜色等等。
4)视频压缩编码模块:主要的任务是接受视频采集模块的数据,进行相应编码压缩,压缩后的视频数据也存放在该模块的环形缓冲区。
5)视频显示模块:在浏览器采用Java Applet应用程序显示视频,主要代码有:
6)控制模块:主要任务是管理控制指令,例如定期发送“心跳信号”查询在线客户端情况、改变采用的颜色等等指令。
7)视频文件存储模块,主要任务是:
(1)保存视频文件到USB硬盘,如果没有磁盘空间就不保存,启动线程删除过期的视频文件。
(2)设置定时器,定期检查硬盘空间使用情况,删除过期视频文件。
8)日志管理模块:对各种操作、程序的状态、各种异常情况进行日志一记录。以方便后来查询。由于篇幅原因,不详细介绍每个模块的实现过程,详细介绍视频采集模块、网络通信模块、视频显示模块以及视频文件保存模块的实现[4]。
3 结论
采用C/S结构方案的优点在于每一个网络摄像机都有一个独立的嵌入式Web服务器,因此每一个网络摄像机都具有独立的IP地址,可以被上层系统通过网络任意访问。而且每个摄像机都是独立工作,独立传输,它们之间不存在任何的隶属关系,各个单元都能独立完成各自的任务而不受其它单元的干预,同时,各个单元之间也能较好的保证在线扩展、在线维护和容错,可靠性高,符合网络测控的要求。实验结果表明该系统具有先进性、可靠性、安全性、可维护性、可扩展性等优点,这种视频监控系统除应用于远程网络实验系统中,也可以应用在其它如交通监管,医院病床监护等各种设备之间距离较大的情况,具有广泛的发展空间。
[1]何腆举,陈明,段磊强,等.基于嵌人式Web服务器的远程视频监控系统[J].测控技术,2004,23(6).
[2]赵方鹏,杨建华,赵忠,等.基于嵌入式Linux的网络视频监控系统[J].测控技术,2007,26(5):55-57.
[3]康宗明,谢时根,谢攀,等.基于网络的嵌入式远程图像监控系统分析与设计[J].电视技术, 2002(8): 79-81.
[4]吕丽刚,谢晓竹.远程视频监控中的目标检测和多播传输[J].微计算机信息,2007,24(5-3):306-307.