0 引言
视频监控技术经历了3 个主要的发展阶段:第1代是以磁带存储为主要特征的本地模拟视频监控系统(VTR 时代);第2代是以ISDN 网络为基础、并综合应用数字压缩、时隙交换和数字硬盘录像机的数字视频监控系统(DVR时代);第3代是基于IP网络的视频监控系统。伴随网络技术数字视频技术和图像技术的飞速发展,视频监控正向智能化的方向发展,即智能视频监控。与非智能化得视频监控相比,智能视觉监控能实现主动监控,采用智能算法对监控到的画面进行智能分析,进而进行相应的动作。
智能视频监控有基于PC 机的智能视频监控系统和嵌入式的智能视频监控系统。两者相比,嵌入式的智能视频监控系统具有便携、低功耗、应用领域广泛等优势,随着嵌入式智能视频监控系统的大量应用、批量生产,其成本优势也将得到体现。嵌入式智能监控产品已是监控市场发展趋势。
本文设计并实现了一种基于达芬奇DM6446[5-6]平台的嵌入式网络智能视频监控系统,提出了一种新型的嵌入式网络智能视频监控系统构架方案,该方案由视频分析单元、视频服务器、一级客户端、二级客户端组成的,文中系统地分析了各个部分的关键技术并给出了具体的设计、实现方案。多级客户端的结构可以提供对多个嵌入式智能视频监控器的系统管理,并可以实现对多个监控场景的全面、无缝监控。本系统基于davicnTMS320DM6446芯片实现,实验表明该系统安全可靠,可扩充性强,应用灵活。
1 系统体系结构
如图1所示,整个系统由视频采集、视频服务、智能视频分析、智能客户端、网络存储、电视墙等组成。视频服务器负责整个系统的控制与协调;智能视频分析单元负责实现视频数据的智能分析;智能客户端作为一级客户端主要是实现流媒体的实时播放,与监控管理相关的各种控制操作,与智能视频分析相关的规则设置、分析软件的更新等;网络存储和电视墙作为二级客户端分别用于视频回放,实时视频监视。
图1 系统体系结构
2 软硬件实现
本系统基于TMS320DM6446的实现。TMS320-DM6446是TI C6000系列中速度达到4 800MIPS的双核处理器,集成了高速C64x + DSP 处理器和ARM926EJ2S处理器。针对DSP核具有高速的数据处理能力和ARM 核优于对外设进行控制的特点,该系统中ARM 主要负责内部数据传输控制、外设控制,即ARM 作为视频服务器,DSP作为智能视频分析单元。
本系统的软件分为3个部分:视频服务器部分采用monta vista linux嵌入式操作系统;智能视频分析单元运行汇编语言编写的视频分析算法,无单独操作系统,由视频服务器Linux来调度执行;智能客户端在PC上VC++ 实现,智能客户端和视频服务器间的通信通过Socket实现。
3 功能模块实现方案
3.1 视频采集
系统采用TI公司的视频解码芯片TVP5146[7]实现A/D转换,由DM6446的I2C对其控制,数字信号经过电平转换后送至DM6446的VPFE模块。
3.2 视频服务器
视频服务器由ARM 子系统、控制子系统、VPSS、视频自动环出、外围设置及控制电路组成,负责系统的控制与协调,视频处理等。
视频处理模块VPSS(VPEE和VPBE)包括视频的编解码、视频输入输出、视频放大。DM6446中集成了VPSS.视频信号输入到视频处理前端(VPEE)后直接通过EDMA 方式送至DDR 中指定的空间存储。当VP5146转换完一帧图像,产生EDMA中断信号,并在EDMA 中断服务程序中由DSP子系统完成智能视频分析的任务。视频数字信号经处理后通过视频后端(VPBE)放大经网络传出,或者转换成NTSL/PAL制式的电视信号传输到电视墙。
为了保证系统的鲁棒性,本系统设计了视频自动环出功能。在视频服务器或智能视频分析单元出现故障的情况下,视频自动环出能控制视频双通道切换,直接输出前端的复合视频信号。在故障的情况下不影响视频信号的传输,保证信号的连续性,保证系统的鲁棒性。
另外视频服务器中还包含网络接口模块、存储模块、电源管理与复位模块、串口模块等。
3.3 智能视频分析单元
智能视频分析单元负责对视频图像进行编解码、分析,得到对监控场景的理解,智能视频分析系统的性能很大程度上依赖于其中智能视频分析算法的精度和效率,所以算法的合理设计至关重要。目前智能视频分析算法有很多种,但各自有其局限性,为某一应用选择合适的算法,往往从速度、精度还有应用范围等方面做综合权衡[7].本系统主要针对禁区入侵智能监控的应用,为该应用设计了一套快速实用的智能视频分析算法,其视频分析过程如图2所示。
图2 智能视频分析算法流程图
本系统中的智能视频分析单元由DM6446的DSP内核运行智能视频分析算法来实现。
3.4 智能客户端
智能客户端作为监控者与视频服务器的人机交互在智能监控系统中扮演着重要作用,本系统在PC机Windows VC++6.0环境下实现,智能客户端与视频服务器之间采用C-S的模式构建,客户端程序采用了2个类对象分别来实现人机界面功能、网络通信功能,其与视频服务器之间的数据流图如图3所示。
图3 智能客户端与视频服务器的数据流
智能客户端能自动搜索局域网中所有的设备(嵌入式智能视频监控器),并对搜索到的设备提供身份验证、实时视频场景监控,用户权限管理、日期时间管理、设备信息管理、报警规则设置、报警任务设置,报警信息查询、固件升级等服务。
智能客户端本身不存在有数据的存取,其每一个操作都必须与视频服务器通信,多个操作可能会同时发生(例如:固件升级和报警产生同时发生),本系统中采用多线程的方式来实现多个任务的并行或串行,分别为自动搜索设备线程、配置数据通信线程、视频场景监控线程、固件升级线程,其流程图如图4所示。
图4 智能客户端多任务运行流程图。
客户端系统启动后,进入到自动搜索界面,创建自动搜索设备线程,在该线程中与视频服务器通信,采用TCP/IP协议,确认对方设备在工作状态后,显示所有正常工作的设备,创建配置数据通信线程、视频场景监控线程,并销毁自动搜索设备线程。
配置数据通信线程负责显示视频服务器端发送过来的数据,发送用户的配置数据给视频服务器,网络通信采用TCP/IP协议。
视频场景监控线程实现解码视频图像并显示,网络通信采用UDP协议,在该线程中使用了CXIMAGE类对象来解码和显示视频图像。配置数据通讯线程和视频场景监控线程在客户端程序运行时一直存在。
固件升级线程只有在用户进行了"版本升级"操作时才启用,其中的网络通信采用FTP协议,当固件升级完毕,销毁该线程。
3.5 二级客户端
二级客户端包括网络存储单元和电视墙。
网络监控存储单元通过DM6446的ATA接口,存储经过智能视频分析后的视频数据,以供监控视频回放。由于存放的是处理后的视频数据,可以实现智能搜索,从海量的视频数据中迅速定位,大大提高系统的使用效率。智能客户端(一级客户端)本身没有存储功能,只提供实时监控功能,网络监控存储单元作为智能记忆单元,为一级客户端提供时间上的补充。
智能客户端主要的功能在于配置管理视频服务器,在监控功能上只能提供一个场景点的监控。电视墙可同时监控多个场景,给系统提供更加全面完善的监控,为一级客户端提供空间上的补充。
4 系统测试
本文提出的构架方案和实现方案已通过测试。
图5~图7为某场景禁区入侵测试报警效果截图。其中图5为某室内场景图,图6中为该场景设置了禁区规则,图中的黑色粗实线就是通过客户端设置的禁区绊线,从线上通过则会触发报警,图7为规则触犯后报警图,线框部分为检测到的入侵目标。
图5 场景图
图6 设置了规则的场景图
图7 规则触犯后报警图
5 结 语
提出了一种新型的嵌入式网络智能视频监控的构架方案,并给出了具体的实现方案,该方案实现的系统采用集中式统一管理,多点分布式布控,可以应用于多场景、多点监控。系统采用多级客户端结构,一级客户端提供集中式统一管理,二级客户端提供对多个监控场景的全面、无缝监控。可扩展性强,系统中可以随时加入新的布控点,智能客户端通过重新搜索功能就可实现对新布控点的控制和管理。智能视频分析算法可以通过网络更新;针对不同的场景、监控的不同要求,可以采用不同的智能视频分析算法,提供个性化的视频智能分析服务,这些都给系统的应用带来极大的灵活性。