Windows CE 视频监控系统的设计
扫描二维码
随时随地手机看文章
摘要:本文主要是在S3C2410处理器上移植嵌入式WindowsCE操作系统、USB摄像头驱动,在ARM9处理器上完成视频采集,压缩,通过以太网接口连入局域网,随时可供授权用户在线访问,当有物体闯入监控范围内时,将抓拍下画面并通过GPRS模块发送短信至用户手机。本文详细介绍了硬件电路的设计和主要软件的编程实现。
1引言计算机智能视频监控是计算机视觉领域一个新兴的应用方向和备受关注的前沿课题。伴随网络技术和数字视频技术的飞速发展,监控技术正向着智能化、网络化方向不断前进。监控系统功能日益强大,但是依然需要工作人员不间断地分析监视场景内的活动,日夜值守,工作量繁重。因此计算机视觉和应用研究学者适时提出新一代监控视频监控的概念。视频监控在不需要人为干预情况下,利用计算机视觉和视频分析的方法对摄像机拍录的图像序列进行自动分析,实现对动态场景中目标的定位、识别和跟踪,并在此基础上分析和判断目标的行为,从而既能完成日常管理又能在异常情况发生时及时做出反应。计算机视频监控系统不仅符合信息产业的未来发展趋势,而且代表了监控行业的未来发展方向。
嵌入式系统是指以应用为中心,以计算机技术为基础、软硬件可裁剪、适应于特定应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统,由于嵌入式系统的实时性等特点,监控计算机逐渐向嵌入式方向发展。但是目前大多数嵌入式系统还孤立于Internet之外,随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。本文所研究的基于WindowsCE的视频系统结合了嵌入式、网络、智能监控等特点,用于远程自动监控场所。
2系统总体结构在嵌入式处理器上移植嵌入式操作系统,不仅提高了开发效率,还可以大大提升视频监控的灵活度和扩展性,使得视频监控系统的后续应用程序开发便于实现。本视频监控系统总体结构如图1所示。
前端USB摄像头负责视频采集;带有嵌入式操作系统的ARM9控制模块控制USB摄像头的视频采集和传输(通过以太网和中国移动无线网络两个途径);Ethernet接口和GPRS模块作为网络传输模块。
3系统硬件设计数字视频监控系统的硬件核心ARM微处理器S3C2410X是韩国的三星公司生产的32位RISC微处理器。含ARM920T内核[1]、CPU主频203MHz、板载64MBSDRAM、64MBFLASH。系统的核心硬件设计组成如图2所示。主要包括USB摄像头,采用CMOS35万象素感光芯片,处理器通过USB接口读取USB摄像头的视频图像数据;以太网卡采用了10M以太网卡芯片DM9000;GPRS模块采用华为GTM900无线模块,插入SIM手机卡后通过AT命令发送短信到用户手机上。
4系统的软件模块设计软件部分包括WindowsCE。NET开发板具备良好支持的板级支持包,可快速定制一个基于标准PC硬件结构的嵌入式平台,实现基于Windows平台软件的重用和移植,能较好地满足嵌入式PC视频监控系统的开发和应用需求。
4。1嵌入式系统平台设计NK。BIN是系统配置文件和定制的OS核心模块合并后经编译形成的一个二进制文件,NK。BIN的构建就是对构成OS的模块进行配置、链接、定址以生成可启动OS镜像的过程,在嵌入式平台创建过程中完成。根据视频监控功能需求,主要是选择BSP以及对OS各模块特性进行定制。
(1)选择BSP。针对本系统的ARM920T硬件平台,我们选择了硬件厂商附带的BSP作为嵌入式平台的底板支持。此BSP提供了对相关设备驱动(ARM920T芯片驱动、网卡、USB像头等)的软件实现和支持,以及WindowsCE。NETOS的核心特性的支持。
(2)应用程序和服务特性。选择COM组件特性,以提供对DirectX基于COM对象的函数和方法的接口支持。
(3)通信和网络特性。网络设备/驱动器接口规范,TCP/IP协议栈及其它网络API,包括WindowsNetworkingAPI、RTCClientAPI等网络模块,以实现向网络服务器发送视频数据的能力。
(4)文件系统和数据存储特性。对内置文件系统选取ROM&RAMFileSystem模块,用于OS镜像的存放和运行。外围存储设备的文件系统由存储管理器负责管理,选取StorageManager模块,以实现对FAT文件系统的存储管理。
(5)编译、链接、装配OS各定制模块,生成NK。BIN文件。建造CE操作系统后,应创建为平台上其他应用程序的开发提供支持的软件开发工具包SDK(包括WindowsCE。NET操作系统组件,硬件驱动程序等)。可以利用EmbeddedVisualC++4。0提供的工具来创建、测试和修改应用程序。利用Platform。Builder4。0创建SDK并导入到MicrosoftEmbeddedVisualC++4。0,然后从环境列表中选择所定制的平台,进行应用程序的开发、调试和运行。
4。2应用程序开发系统主要模块包括:视频采集模块,视频压缩传输模块,图像动态检测及GPRS报警模块。
1,视频采集本系统所用的是基于OV511芯片的网眼2000USB摄像头。WindowsCE下的设备驱动程序分为两类:本机驱动程序和流接口驱动程序。本机设备驱动程序,也称为“内置驱动程序”,这些设备驱动程序是一些硬件所必需的,是由原始设备制造商创建的,用以驱动如键盘、触摸屏、音频等设备,往往在设备售出后就不会再更换。流接口驱动程序是运行在用户级别的动态链接库,用来实现一组称为流接口函数的固定函数,这些流接口函数使得应用程序可以通过文件系统中的特殊文件与设备进行交互。
每个流接口驱动程序必须实现一组标准的函数:XXX_Close,XXX_Deinit,XXX_Init,XXX_IOControl,XXX_Open,XXX_Powerdown,XXX_powerUp,XXX_read,XXX_Seek,XXX_Write用来完成标准的文件I/O函数和电源管理函数,这些函数提供给WindowsCE。NET操作系统的内核使用。这些函数通常也叫做流接口驱动程序的DLL接口。
流接口USB驱动主要分为下面几步:1)建立一个WCEDynamic-LinkLibrary;2)书写一个Exportdef文件输出各个驱动需要的函数符号;3)依据USB驱动加载的流程,添加完成USBInstallDriver,USBDeviceAttach,USBUnInstallDriver,CAM_Init,CAM_Deinit各个函数,并进行测试;这些函数正确填写之后,驱动程序就可以加载了。[!--empirenews.page--]
由于在WindowsCE。Net系统中,设备的配置信息都是存储在系统注册表中,因此一个具体的USB流接口程序跟注册表肯定是分不开的。我们希望驱动程序在系统启动的时候能够自动运行,所以必须正确设置HKEY_LOCAL_MACHINEDriversUSBLoadClients键,这样当将设备附加到总线上时,USBD模块可以自动加载该设备的合适的驱动程序。
2,视频压缩及传输为了在局域网上有效的、高质量的传输视频流,需要多种技术的支持,其中包括视频的压缩、编码技术,应用层质量控制技术等等。
网络的带宽是有限的,所以需要压缩传输视频图像,MPEG-4被广泛的应用于网络环境下的实时视频传输,因为MPEG-4具有:可以达到很高的压缩比;具有灵活的编码和解码复杂性;基于对象的编码方式,允许视频、音频对象的交互;具有很强的容错能力等优点。为了达到视频传输的实时性,总的思想是最少的发送冗余信息,最大程度上发送最新的视频。局域网实时视频传输采用服务器/客户机模式,利用EVC实现。其工作流程如图3所示。视频采集采用从视频采集卡捕获视频图像,得到的是位图型式的视频帧,然后用Divx编码器进行压缩,通过Winsock实现压缩后的视频数据在局域网中的实时传输,接收完的数据交给Divx解码器解压,最后实现视频显示。
3,图像动态检测及GPRS报警模块差影法是常用的运动目标检测方法之一。它的基本思想是输入图像与背景模型进行比较,通过判定灰度等特征的变化,或用直方图等统计信息的变化来判断异常情况的发生和分割运动目标。
考虑到本系统为固定区域视频监控,视频背景图像干扰因素较小,而且,差影法运算量相对不大,更适合于在ARM9嵌入式处理器上进行运算,因而选用背景差法作为运动检测的算法。首先循环采集两帧视频图像数据,将图像转换为二值灰度图像,然后分别提取两幅图像的亮度并做差,得出差影图像,通过比较差影图像的亮度阂值做出判断,如果超过设定的阐值,则发出报警短消息,同时把当时所抓拍的图像保存下来。
结束语本文在总结分析前人研究成果的基础上,提出了切实可行的嵌入式网络视频监控系统的解决方案,通过合理完善的系统设计,实现了具有实用价值的网络视频监控系统。系统采用先进的基于ARMS3C2410微处理器的硬件平台,采用最新的WindowsCE作为服务器软件的开发平台;利用软件实现性能优良、适合网络传输的MPEG-4视频编码标准,能使监控系统在较小的网络带宽下,获得较好的视频质量。
本文作者创新点:采用当今主流的RAM嵌入式处理器设计监控系统,通过以太网传输,使得监控不受距离的限制,并通过手机GPRS网络及时通知用户,达到监控的智能性。