现在的位置: 首页 > 自动控制 > 科技·视野 > 正文

张倩倩:基于3G网络的嵌入式无线视频监控系统设计

2015-12-27 06:15 科技·视野 ⁄ 共 3234字 ⁄ 字号 暂无评论

一、引言

现代视频监控已经进入网络化和数字化时代。随着无线传输技术的发展,配合不断完善的视频压缩技术,为在地形复杂、布线困难的现场进行远程视频监控带来更大的方便。特别是近些年来,不断在各地普及的3G无线网络,具有比以前以GPRS为代表的2.5G技术和以CDMA1X为代表的2.75G技术更令人满意的传输速度和带宽,3G网络的普及,为远程无线视频监控提供了强有力的保证[1]。虽然3G技术已经非常成熟,但资费过高,依然是其在视频监控领域普及的瓶颈。视频图像携带的信息量大,如果进行不间断的监控,需要耗费巨大的流量,使众多用户望而却步。针对这些问题,本文提出一个在无人看守的目标区域进行物体检测决定是否触发视频传输的方法(节流模式),从而达到节省流量的目的,来降低用户成本。

在嵌入式领域,ARM9处理器在高性能和低功耗方面提供了最佳的性能[2]

,因此采用三星公司的S3C2440嵌入式处理器实现了一个远程视频无线监控系统。通过USB摄像头采集的图像,经过物体检测模块的触发后,通过3G通信模块及Internet互联网,将数据传至客户端。

二、视频监控系统的框架

本系统在整体上由前端采集模块、无线传输链路、远程终端三部分组成,如图1所示。

1.前端机。它是整个视频监控系统的核心,当它在目标区域检测到非法人员闯入时,就会把摄像头采集的视频信号经过压缩编码以后,由3G无线通讯模块传至3G无线网络。

2.无线传输链路。本文是经过3G无线网络与Internet传送至远程终端。

3.远程终端。视频数据经过解码以后,用户可以通过浏览器或者手持设备对目标区域进行实时监测。

嵌入式无线视频监控系统可划为硬件和软件两个系统。硬件系统主要包括嵌入式微处理器、USB摄像头、3G通信模块等。软件系统包括环境的搭建和软件的设计。

三、系统的硬件设计

(一)系统体系结构

本系统采用以S3C2440作为处理器的MINI2440开发板。S3C2440使用ARM920T内核,主频是400MHz,采用16/32位RISC指令集。S3C2440集成了通用的串口控制器,USB主机接口,USB设备接口,A/D转换器,GPIO等[3]。MINI2440开发板上有128M

SDRAM,其时钟频率高达100MHz;2片Flash存储,Nor Flash 和 Nand Flash。256M的Nand

Flash,用来存储和读写用户数据。2M的Nor

Flash,用来存储bootloader,内核映像文件,只读文件等。该处理器可以加载运行嵌入式Linux操作(Linux2.6.32.2)。

此操作系统需要进行相应的配置和扩展。需要配置USB驱动,添加3G驱动,摄像头驱动等。USB主机接口用于连接3G无线网卡设备和摄像头。

(二) USB 3G上网卡

中兴的AC581无线宽带上网卡是基于CDMA2000

1X/EVOD网络的数据卡产品。它采用USB接口进行连接。其传输速率为上行最高到1.8Mbps,下行最高3.1Mbps,工作频段为CDMA800MHz。网卡可以直接通过S3C2440集成了的USB

HOST控制器介入,不需要附加额外的芯片,非常方便。

四、系统的软件环境搭建

嵌入式Linux系统是把日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。它被广泛应用在嵌入式领域,它具有内核小、代码开放的优点[2]。本系统所有软件设计都是基于嵌入式Linux操作系统。

(一)交叉编译环境

建立交叉编译环境,即在宿主机上开发调试程序,然后通过编译器生成可以在目标机上运行的目标代码,再通过串口或网口下载到目标机上运行。交叉编译对嵌入式研究是非常重要的。

在此系统中,我们选用的是arm-linux-gcc 4.3.2编译器。在进行嵌入式开发前,我们需要先正确安装交叉编译工具。

(二) bootloader

嵌入式Linux系统包括内核,bootloader和根文件系统三部分。在嵌入式系统中,Bootloader的作用与PC机上的BIOS类似,通过Bootloader可以完成对系统板上的主要部件进行初始化,通过它可以分配内存空间的映射,从而使软硬件环境进入一个合适的状态。Bootloader是操作系统和应用程序运行前的一段必须运行的代码,具有初始化处理器、外围硬件设备、加载操作系统的功能。常见的Bootloader有四种:U-Boot,Blob,Redboot

和vivi,本系统采用vivi的方法。

(三)内核裁剪

Linux内核中,超过80%是由各种驱动程序组成。内核裁剪就是把一些不必要的驱动删除,以减小内核的空间。进行内核配置的命令有:make

config,make menuconfig和make xconfig,一般选用make

menuconfig命令在已有的内核基础上进行裁剪[4]。我们采用的内核是Linux-2.6.32.2。最新的Linux-2.6.32.2-mini2440内核不仅支持CMOS摄像头及多种USB摄像头,而且也支持3G上网,因此无需重新配置编译。

五、系统的软件设计

(一)软件设计流程

本文将系统分为两种模式:普通模式和节流模式。在普通模式中,系统将读取的视频信息,直接经过压缩处理,由3G模块进行传输。此模式耗费的流量大,成本高,不提倡采用。在节流模式中,视频信息先在前端机进行人体检测处理,当没有突发事件时(如非法人员闯入),系统不进行视频的3G传输;相反,当有事件发生时,系统立即向用户手机发送警报,同时停止人体检测并开始对视频进行压缩传输。之所以要先停止人体检测再传输,是要优先考虑到视频监测的实时性,降低ARM的运算时间,使视频传输更加实时。比起传统的依靠硬件红外触发的系统,采用物体检测的方法,更能从全局来把握是否有事件发生。

(二)物体检测方法

由于系统用到了背景相减的物体检测方法,需要在嵌入式arm-linux系统下安装OpenCV库。

从官方网站下载Opencv,解压后,编译安装开发包即可。

#./configure

#make CC=arm-linux-gcc

#make install

OpenCV程序中默认摄像头设备为/dev/video0

,在程序中调用cvCaptureFromCAM函数可以直接获取摄像头,并采集图像,用cvAbsDiff函数进行当前帧跟背景帧相减,从而得到检测的物体。然后系统向用户发出警报。

(三)视频图像压缩编码

摄像头采集到的模拟信号经数字化处理成YUV格式后,需要的带宽很大,以传输25fps的CIF格式(320*240,4:2:2)的图像信号为例,需要占用的带宽为:352*288*2*2*25=38.67Mbps,因此必须进行压缩编码。由ISO/IEC组织制定的MPEG系列和ITU-T联合制定的H.XXX系列标准,是目前压缩标准的主流。而H.264由于较高的压缩比率(相同视觉效果下,比MPEG-4节约大约50%比特率)和较好的网络适应性,成为业界的首选压缩编码标准。

S3C2440处理器没有提供硬件的图像压缩编码器,但因为它的主频较高,可以使用软件来进行图像压缩,H.264压缩编码技术可以适应无线信道带宽窄不停变化的特性[5],本系统选用的是H.264视频压缩编码技术,其高压缩比,也可以有效的减少流量的消耗。

六、结果图

在客户端的流媒体播放器上输入服务器的IP地址,即可实现对目标区域的远程视频监控。

七、总结

本文提出一个可节省流量的嵌入式无线视频监控系统的方案。它具有低功耗,结构简单,免布线等优点,更重要的是为用户提供了一个节约成本的方案,使3G无线视频监控在大众中普及成为可能。传统的监控系统过分依赖监控环境,移动性能不高。嵌入式视频监控系统可以以手机作为终端,只要有3G网络的地方,我们就可以随时随地对目标区域进行监控。随着3G网络和无线技术的发展、普及,以及4G网络的兴起迫使3G网络资费的进一步下调,必将为无线视频监控领域带来新的机遇。

给我留言

留言无头像?