引言
近年来嵌入式技术与Internet技术的结合, 使嵌入式技术在远程控制、智能交通、电视会议、安防等领域占有越来越重要的地位。随着人们生活水平的提高及个人财富的积累, 汽车逐渐变成了人们出行旅游的普遍的交通工具, 同时汽车被盗案例也屡见不鲜。因此如何保证个人或者集体汽车就成为迫切需要解决的问题。这就促使我们开发一种更低成本、更方便的视频监控设备—车载安防系统来满足有车大众的需要。
1 系统硬件设计
汽车安全与防御系统主要由视频采集及处理模块、3G无线上网卡、嵌入式Web Server、GSM模块及客户端浏览器组成。嵌入式Web Server由Samsung公司的ARM处理器S3c2440 和网络芯片构成。其摄像头首先将采集到的图像数据传给视频处理器, 由视频处理器进行压缩编码, 然后传递给ARM处理器, ARM处理器再将这帧数据与前一帧数据进行比较, 如果相同, 即表明无移动物体, 则丢弃该帧, 以节省存储空间; 如果不相同则表明有移动的物体, 处理器会把这帧数据存储起来, 并启动GSM模块发送报警短信。客户端如果想及时了解车中的情况, 可以通过浏览器访问到嵌入式的Web服务器来查看实时视频。
系统硬件主要有SAMSung公司的ARM处理器S3c2440, 3G无线上网卡, 16/32位的ARM处理器实现了MMU、AMBA BUS 和Harvard高速缓存体系结构, 具有独立的16KB指令Cache和16K B数据Cache。网络芯片采用比较常用的Cs8900。
SDRAM 选用两片HY57 V561620 (32M) 。NORFLASH 选用AM29LV 160DB 。NAND FLASH选用32M的K9F 1208 芯片。视频处理部分, 采用硬件的H.264编解码器, 具体采用美国Q pixel公司的QL202B, 它是低功耗实时单片半双工H.264/AVC编码器。系统硬件结构图如图1所示。
图1 系统硬件结构框图
2 软件设计
本系统的软件设计包括: 嵌入式Linux操作系统的移植、视频采集程序和动态检测程序的编写、嵌入式Web Server的实现以及相关驱动程序的编写与移植。
2.1 视频采集的动态检测
视频采集及动态监测的原理如图2所示。设定摄像头视频采集循环的周期为T, 系统初始化以后, 获得的第一帧图像就保存为背景图像, 接下来每隔时间T采集一帧, 利用背景减除法进行运动目标检测。这种检测方法是从视频流中实时提取目标, 检测出图像序列中与运动的三维物体相关的点, 滤除图像中与运动对象无关的信息。
该软件使用QT/E的图像处理类库QImage process开发。首先循环采集两帧图像数据, 进行二值化处理后, 分别提取两幅图像的亮度作差。得到背景差分图像后, 与设定的亮度阈值进行比较, 如果未超过阀值则丢弃该帧。超过该值则触发报警, 启动GSM模块发送报警信息, 同时告知ARM处理器, 以便ARM处理器进行后续的工作。
图2 视频采集流程图