家居视频监控及无线传输系统设计

2016-05-11 07:24郭家虎安徽理工大学电气与信息工程学院安徽淮南232001
现代建筑电气 2016年3期
关键词:线程过滤器嵌入式

张 超,郭家虎(安徽理工大学电气与信息工程学院,安徽淮南 232001)



家居视频监控及无线传输系统设计

张超,郭家虎
(安徽理工大学电气与信息工程学院,安徽淮南232001)

张超(1990—),男,硕士研究生,研究方向为嵌入式技术、计算机控制等。

摘要:提出了一种基于4G的实时视频监控及无线传输系统,核心采用S3C2440嵌入式微处理器,内部集成的CAMIF摄像头接口无需外扩其他摄像头接口,ME3760传输模块可实现高速视频无线传输。实时视频监控及无线传输系统具有体积小、稳定性强、成本低等优点,能够实现视频的采集、编码和传输,用户在移动设备上可实时对家居安全进行监控。

关键词:嵌入式系统;视频采集;无线传输; 4G; MPEG-4

郭家虎(1974—),男,教授,硕士生导师,研究方向为电力变换、无线传感网络等。

0 引言

随着生活水平的提高,人们对家居安全越来越重视。传统视频监控及传输系统通过以太网传输进行视频监控,缺点是功能不完善,系统资源浪费,成本太高且大多选用USB摄像头。随着手持设备的普遍使用及4G网络的高速发展,在移动设备(智能手机)上进行无线视频监控将成为一种发展趋势。本文提出了一种嵌入式视频监控及传输系统,利用微处理器和4G网络技术,实现对家居安全的实时监控。

1 系统总体设计

实时视频监控及无线传输系统采用嵌入式技术、4G网络技术和MPEG-4图像压缩编码技术。嵌入式芯片选用S3C2440微处理器[1-2],具有ARM920T内核及UART、USB等各种丰富接口,使其可以扩展更多功能。S3C2440芯片中的CAMIF摄像头接口无需外扩摄像头接口,大大降低了系统成本和简化了系统设计。无线传输模块选用4G ME3760模块,能够快速、无线传输[3]音频、图像及视频等信息。

CMOS图像传感器OV9650摄像头首先采集图像信息,然后由S3C2440进行编码压缩处理,最后经ME3760无线传输到用户移动设备(如智能手机)。

系统总体设计框架如图1所示。

图1 系统总体设计框架

2 硬件设计

2.1摄像头接口电路设计

CAMIF支持ITU-R BT.601/656 YCbCr 8位标准,支持最大无缩放4 096×4 096像素输入、最大4 096×4 096像素输出给编码通道、最大640×480像素输出给预览通道,并且支持图像镜像和旋转。OV9650摄像头的接口为CAMIF接口,各个引脚对应相接可完成电路连接。摄像头接口电路原理图如图2所示。

图2 摄像头接口电路原理图

图2中,CAMPCLK为像素时钟引脚,CAMVSYNC为帧同步引脚,CAMHREF为水平同步引脚,CAMDATA[7: 0]为像素数据引脚,均由摄像头处理器驱动。CAMCLKOUT为摄像头处理器提供主时钟信号,CAMRESET为摄像头处理器软件复位或掉电引脚。由图2可知,摄像头接口电路简单,易于连接。

2.24G模块接口电路设计

ME3760芯片具有USB2.0高速总线接口,用于与嵌入式处理器S3C2440的USB HOST接口互连,进行高速数据通信。4G模块电路原理如图3所示。

图3 4G模块电路原理

ME3760芯片主要引脚信号有GND信号、Vaux信号(电源接口)、SIM卡信号组、USB总线接口,支持Windows CE操作系统[4],可用于视频无线传输应用程序的开发。ME3760模块侧SIM DATA没有上拉电阻,电路设计时应在系统板侧加上拉电阻,以便USB总线设计时满足对地等效电容和阻抗匹配。

3 软件设计

3.1摄像头驱动程序设计

摄像头的主要功能是与S3C2440嵌入式处理器之间进行数据的收发和传输,所以宜采用流接口驱动方式开发驱动程序。流接口驱动程序使用的是同一组流接口函数,系统摄像头流接口函数命名为CAMIF_Init()、CAMIF_IoControl()、CAMIF_Open()、CAMIF_Read()。

CAMIF_Init()函数用于初始化摄像头,需要由设备管理器调用,当调用API函数Activate DeviceEx时,CAMIF_Init()函数被相应调用。该函数用于配置CAMIF相关寄存器,如源帧寄存器CISRCFMT、窗口选择寄存器CIWDOFST、全局控制寄存器CIGCTRL、编码目标格式寄存器CICOTRGFMT、编码DMA控制寄存器CICOCTRL及与CAMIF接口相关的寄存器,使其能够正常初始化。

CAMIF_IoControl()函数用于向摄像头发送命令,当调用API函数DeviceIoControl时使用CAMIF_IoControl()驱动函数。该函数的具体功能是对摄像头进行控制,实现打开或关闭C通道或P通道,改变参数配置,控制图像输出的缩小和放大等功能。

CAMIF_Open()函数用于在对摄像头发送控制命令或读取摄像头视频信息之前打开摄像头设备,当应用程序调用API函数CreateFile时调用CAMIF_Open()驱动函数。

CAMIF_Read()函数用于S3C2440嵌入式处理器读取摄像头采集到视频信息,当应用程序调用API函数ReadFile时调用CAMIF_Read()驱动程序。

3.2系统应用程序设计

嵌入式家居视频监控及无线传输系统的应用程序设计包括视频采集、视频编码压缩和视频4G无线传输三个部分。系统应用程序设计的总体方案是创建视频采集和视频无线传输两个线程。为了使这两个线程之间协调运行,不发生线程冲突和线程死锁现象,在创建线程的同时创建事件对象,采集事件CEvent和无线传输事件4GEvent;除了这两个线程以外,创建视频编码压缩动态链接库dll,减少系统应用程序的代码量,增加程序的可移植性。视频编码压缩动态链接库在视频采集线程工作完毕后调用,最后将编码压缩后的视频通过4G无线传输模块ME3760线程发送至用户智能手机,实现对家居安全的实时无线监控。系统应用程序流程如图4所示。

图4 系统应用程序流程

3.2.1视频采集

视频采集使用DirectShow技术,将摄像头采集到的视频监控信息进行相应处理,也可以存储到文件中用于回放或发送。DirectShow通过底层设备驱动程序、高层应用程序从摄像头设备上获取视频监控信息,且在显示器上进行回放。

DirectShow[5-6]以COM形式存在,使应用软件开发具有结构性,其技术核心是过滤器,执行特定任务都需要这些过滤器。过滤器分为有源过滤器、变换过滤器和渲染过滤器。有源过滤器从OV9650上获取视频信息;变换过滤器用于转换视频数据格式;渲染过滤器将视频中的声音、图像数据分别传送给声卡和显卡,也可输出到文件存储。该系统视频采集主要采用有源过滤器,通过直接操作有源过滤器实现对视频信息的采集。主要步骤如下:

(1)创建IGraphBuilder接口。

(2)利用IGraphBuilder渲染视频文件。

(3)获得媒体播放控制接口、媒体播放位置搜索接口、Filter Graph媒体事件接口。

(4)得到视频播放窗口接口,设置视频播放窗口句柄,设置视频窗口格式。

(5)得到基础视频流接口和基础音频流接口。

通过枚举所有系统硬件设备,获得视频采集设备,将视频采集设备与有源过滤器绑定,最后将摄像头采集到的视频信息传入S3C2440嵌入式处理器中进行下一步编码压缩处理,也可把视频信息存储到嵌入式处理芯片外扩的存储器中用于保存和回放。

3.2.2MPEG-4

摄像头采集到的视频信息是原始数据信息,数据量庞大,所以系统设计时采用国际标准视频编码压缩MPEG-4[7],以降低无线传输的成本和缩小传输所需要的时间。MPEG-4可以根据不同的视频对象选用不同的编码算法,其编码算法有零树小波算法、文理编码、形状编码等,也可根据对象的重要程度来分配码率,以便在低码率的情况下获得较好的编码效果,其目标编码率为4~64 Mb/s。

该系统使用源代码开放的JPEG库进行视频编码压缩。为了减少应用程序的代码量、执行效率及节省系统资源,将移植好的JPEG-4代码设计编写为动态链接库,即JPEG-4.dll。当应用程序的视频采集线程采集一定的视频信息后,系统动态调用JPEG-4.dll,完成视频信息的编码压缩。视频编码压缩完成后,系统将其移出内存,以减少对内存的要求和节省系统资源。

3.2.3视频4G无线传输

嵌入式S3C2440处理器通过与4G模块ME3760之间的USB接口将编码压缩过的视频数据传入ME3760中,再使4GEvent处于有信号状态,即函数SetEvent(4GEvent)触发4G无线传输线程开始工作,用户的智能手机就可以收到系统的监控画面,并能够随时查阅。

嵌入式S3C2440处理器与4G模块ME3760之间采用AT指令进行数据交互。AT指令采用一问一答的方式,开始时S3C2440发送AT指令给ME3760,ME3760回复AT指令给S3C2440,然后判断回复的指令是否正确,如果不正确,则返回到上一个正确的AT指令处继续发送;如果正确,则继续发送下一条AT指令。系统应用程序中的无线传输线程主要是ME3760通信初始化和联网,以便进行视频数据传输。

在无线传输过程中,为了保证视频的连续性(不发生抖动现象),设计了环形缓冲区。在内存中开辟5个连续的缓冲区,视频采集线程采集的视频数据填满一个缓冲区后,采集指针指向下一个缓冲区,继续采集视频数据,而发送指针指向填满数据的缓冲区,无线发送线程发送发送指针指向的缓冲区中的视频数据。

4 结语

本文提出了嵌入式视频监控及无线传输系统,模块化的设计方案能提高系统的扩展性,代码能够重复利用,通过使用4G网络技术实现视频数据的无线高速传输,用户能够在移动设备(如智能手机)上方便、实时地对家居安全进行监控。

参考文献

[1]王建新,张凯,王秀.基于S3C2440的视频采集及传输系统设计[J].电子器件,2013,36(3):367-370.

[2]谭云福,张建忠.基于S3C2440微控制器的视频采集系统设计[J].电子器件,2008,31(4):1237-1240.

[3]任守华,王胜华,刘士雷,等.基于3G和H.264技术的无线视频监控系统[J].计算机应用研究,2010,27(4):1554-1556.

[4]黄焱.Windows CE嵌入式开发标准教程[M].修订版.北京:人民邮电出版社,2010.

[5]戴立诚,朱桂林.基于DirectShow的视频采集系统的设计与实现[J].计算机工程,2005,31(14):187-189.

[6]罗智勇,张会汀.基于DirectShow与DMO的视频采集与编码实现[J].计算机工程,2005,31(14): 193-195.

[7]王晓明.一种MPEG-4视频采集与传输系统的研究与实现[J].计算机测量与控制,2005,13(8):869-871.

[8]张海翔,张华熊,陆斌.基于GM8128的嵌入式4G无线音视频传输系统设计与实现[J].2015,28 (1):67-69.

Design of Home Video Surveillance System and Wireless Transmission System

ZHANG Chao,GUO Jiahu
(College of Electrical and Information Engineering,Anhui University of Science and Technology,Huainan 232001,China)

Abstract:The paper proposed a real-time video surveillance and wireless transmission systems based on 4G.The system selected S3C2440 microprocessor core,and the camera interface was the internal integration CAMIF of S3C2440,which need not external expansion to other camera interface.Transmission module ME3760 can achieve the high-speed wireless transmission of video.The real-time video surveillance and wireless transmission system has advantages of small size,strong stability and low cost,and realizes the capture,encoding and transmission of video.User can concern the home security at any time by APP of video surveillance on smartphone.

Key words:embedded system; video capture; wireless transmission; 4G; MPEG-4

收稿日期:2015-09-10

DOI:10.16618/j.cnki.1674-8417.2016.03.005

中图分类号:TU 856

文献标志码:A

文章编号:1674-8417(2016)03-0020-04

猜你喜欢
线程过滤器嵌入式
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
基于C#线程实验探究
基于国产化环境的线程池模型研究与实现
线程池调度对服务器性能影响的研究*
TS系列红外传感器在嵌入式控制系统中的应用
更 正
声音过滤器
搭建基于Qt的嵌入式开发平台
基于LOGO!的空气过滤器自洁控制系统
倍福 CX8091嵌入式控制器