推广 热搜: 电机  PLC  变频器  服务机器人  培训  变送器  危化品安全,爆炸  西门子PLC  触摸屏  阀门 

基于DM642的视频监控系统的设计

   日期:2013-03-23     来源:工控之家网    作者:工控之家    浏览:8    评论:0    
摘  要:针对传统的基于PC机的视频监控系统的局限性,提出了基于DM642的新型嵌入式远程视频监控系统的设计方案与实现方法,介绍了整个系统的总体结构,并详细阐述了现场端嵌入式系统的硬件设计和监控中心软件的实现。与传统的视频监控系统相比较 , 该方案具有成本低、体积小、稳定性好、可靠度高等优点。

关键字:视频监控 TMS320DM642 DirectShow以太网

Design of The Video Monitor-Control System Based on DM642
Lu Gen_feng,Luan Chun_xu,Wang Miao,Xiong Lie_bin

Abstract: Due to the limitation of the traditional video system based on PC, we gave the design and implementation of the new video monitor-control embedded system based on DM642 hardware platform,introduced the general framework of the system,explained detail design of local embedded hardware system and monitor center software based on MS DirectShow. The scheme features low cost, small volume and high stabilization by comparing with the traditional video system.

Keywords: Video monitor DirectShow TMS320DM642 Ethernet

一 引言

  随着计算机网络、通讯技术、嵌入式处理器的发展,基于嵌入式的远程视频监控系统应运而生。目前市场主流仍然是基于PC的视频监控系统终端,它虽然便于现场操作,但稳定性不好,视频前端较复杂,可靠性不高,而基于嵌入式的网络视频监控系统终端就能弥补以上的弊端,嵌入式视频编码器具备视频编码处理、网络通信强大功能,直接支持网络视频传输,视频压缩等功能集中到一个体积很小的设备内,直接连入局域网或广域网,系统的体积小、成本低、稳定性高、实时性好[1],非常适合于各种监控场所,具备广阔的发展前景和市场空间。

  本文提出了基于以太网的嵌入视频监控系统的设计与实现。他主要包括前端嵌入式视频终端和远程监控中心。选用TI公司的DSP构建一个嵌入式视频采集压缩与传输体系,该嵌入式视频处理平台具备着视频采集、编码处理、网络通信强大功能,支持网络视频传输和网络管理,还具有视频保存回放功能。视频监控远程终端软件的开发采用微软的DirectShow技术来完成,在远程监视系统中,视频的数据量非常庞大,以视频图像大小 352×288大小为例,如果每秒传输30帧真彩色视频图像 就需要约的55Mbps带宽,而这在网络上几乎不可能实现,所以本设计还在系统上实现了视频数据的H264的压缩与解压,这大大缓解了网络传输压力。

二 系统总体设计方案

  2.1系统整体框架

  本系统主要由前端嵌入式监控模块和远程PC机监控中心组成。前端系统主要将现场采集的视频数据经过相关压缩处理变成数字信号,然后通过以太网传输至远程视频监控系统终端,远程中心解码播放接收到的视频流,远程监控端还可以通过界面控制云台的转动、调整摄像头的参数,以改变监控区域。其系统框图如图1


图1 视频监控系统整体框图

  2.2前端网络监控模块硬件设计

  前端嵌入式网络监控模块主要采用TI推出的专门针对于视频应用的TMS320DM642芯片。DM642内含6个算术逻辑单元,在每个时钟周期内都可执行2个16位或4个8位的加减、比较、移动等运算。在600MHz的时钟频率下, DM642 每秒可以进行24 亿次16 位的乘累加或48 亿次8 位的乘累加[4]。使得DM642在多视频处理和图像处理方面有着强大的优势。DM642还在C64x 的基础上增加了很多外围设备和接口。

  系统的硬件框图如图2 ,该最小系统是由DM642、SDRAM(4M64b)和FLASH(4M*8b)等组成。前端接入三路CCD摄像头,视频解码芯片采用TI公司的TVP5150,DM642的视频端(VP)通过视频解码芯片TVP5150能方便地实现和CCD摄像机的无缝连接,CCD摄像机输出的模拟视频信号经TVP5150模数转换后,形成BT.656格式的数字视频信号,从DM642的VP口输入;DM642通过EDMA方式从VP口将采集到的YUV格式的数字信号搬运至系统存储单元中,再对视频数据用H264压缩算法进行压缩处理编码压缩,生成的视频码流数据经EMAC的MII接口到片外PHY(LXT971)芯片后,通过以太网传到远程监控中心主机,通过PC机的监控软件接收播放视频数据,完成网络视频监控的功能。


图2 系统硬件框图

  2.3前端网络监控模块软件设计

  DSP软件程序采用RF-5框架来整合H264的编码库H264lib。在进入DSP/BIOS的调度程序之前,程序需要初始化多个要使用的模块。包括:(1)DM642和系统板的初始化;(2)RF-5模块初始化;(3)建立捕获通道。在完成初始化工作之后,系统进入DSP/BIOS调度程序管理下的4个线程和1个通道。其中taskVideoCap, taskH264Encode和taskNetwork的优先级为高, taskControl的优先级最底。taskVideoCap, taskH264Encode,taskNetwork和taskControl线程是系统的核心线程,不断地完成从底层视频驱动获取视频信号,将视频信号进行H264编码,再通过网络传给远程用户进行显示。taskVideoCap,taskH264Encode和taskNetwork线程之间通过同步通信模块(SCOM)进行同步和通信,taskControl线程和taskH264Encode线程之间通过邮箱(MBX)进行通信。系统软件总体流程图如图3


图3 嵌入式系统软件总体流程图

三 远程监控中心软件实现

  3.1DirectShow技术

  整个系统以Microsoft公司的DirectShow技术为基础, DirectShow属于DirectX家族的一员,他为在Windows平台处理各种格式的媒体文件的回放,音视频采集等高性能要求的多媒体应用,提供了完整的解决方案[2]。在DirectShow系统之上,应用程序要按照一定的意图建立起相应的Filter Graph,然后通过Filter Graph Manager来控制整个的数据处理过程,DirectShow的体系结构如图所示。DirectShow能在Filter Graph运行的时候接收到各种事件,并通过消息的方式发送到应用程序。这样,就实现了应用程序与DirectShow之间的交互。


图4 DirectShow的体系结构如图

  Directshow是基于模块化,每个特定的功能模块都采取COM组件方式,称为Filter。Directshow提供了一系列的标准的模块可用于应用开发,开发者也可以开发自己的功能filter来扩展Directshow的应用。每个filter都在FilterGraph的模型的管理下参与数据的处理,各个filter在FilterGraph中按特定的顺序链接来完成用户制定的功能。filter 一般分为下面几种类型(1)源过滤器(sourcefilter):源过滤器引入数据到过滤器图表中,数据来源可以是文件、网络、照相机等。(2)变换过滤器(transform filter):变换过滤器的工作是获取输入流,处理数据,并生成输出流。变换过滤器对数据的处理包括编解码、格式转换、压缩解压缩等。(3)提交过滤器(renderer filter):提交过滤器在过滤器图表里处于最后一级,它们接收数据并把数据提交给外设[2]。

  3.2采用Directshow实现对网络视频流的实时播放

  本系统软件分别对各个功能Filter进行了开发,并将他们连接成一个完整的链路,如图5


图5 网络播放FilterGraph

  其中NetRecv Filter为网络接收源过滤器Filter(sourcefilter),它由CBaseFilter继承而来,CBaseFilter已经具备了Filter的基本特征和框架,采用推模式将网络接收来的数据推向下一级filter,程序将socket相关操作都放在应用层,如socket创建、侦听、连接等,到时候只要将连接好的socket句柄通过filter接口设置给NetRecv Filter,在接受filter内部实现时,只需使用外部设置进来的socket进行数据的接受工作。

  由于从远程嵌入式终端传输过来的视频数据为H264压缩码流,所以要对其实现实时播放还需要一个transform filter 即H264解码filter (H264 Decode Filter),它由CTransformFilter继承而来,它主要是由T264代码为核心的解码filter,T264是中国的视频编码自由组织合力开发的264编解码程序,他将完成从NetRecv Filter上接受H264码流,再对其进行解码变成YUV视频格式,通过输出PIN送至render filter进行播放。

  整个实现过程如下

  (1)首先构建视频播放FilterGraph对象m_VideoGraph;

  (2)创建NetRecv Filter、H264 Decode Filter和Renderer Filter,并将这三个filter加入到m_VideoGraph中;

  (3)将负责视频数据接收的socket设置给NetRecv Filter进行网络视频流数据的接收工作;

  (4)根据第一次接受的数据格式重新设定视频的各个参数,例如:

  mPreferredMt.SetSubtype(&MEDIASUBTYPE_YUY2);//设定媒体类型为YUV4:2:0格式;

  info.AvgTimePerFrame = 400000; //帧速率为25帧/S;

  info.bmiHeader.biWidth =n_Width;//设定图像的宽度;

  info.bmiHeader.biHeight = n_Height;//设定图像的高度;

  info.bmiHeader.biSizeImage=n_Width* _Height *2; //图像的大小;

  info.bmiHeader.biCompression= mmioFOURCC(‘Y‘,‘U‘,‘Y‘,‘2‘);

  (5)设定完视频格式后,通知应用完成全部filter的连接工作,然后调用mVideoGraph->Run()运行。

  (4)当网络接受到超过一定的数据量时,通知事件窗体要进行视频的播放。

  3.3 网络视频传输策略

  网络部分采用WinSock进行编程,socket 提供两种不同的传输方式,TCP是面向连接的协议, 通过握手协议, 能够提供可靠的数据传输, 但是速度慢, 系统负载大。UDP不提供连接, 依靠网络自身来保证传输的可靠, 不能保证图像不丢失, 但是简单快速[3]。视频图像传输有自身的特点:关键的压缩图像信息(H264的压缩信息)等一旦丢失将造成系统的瘫痪,其他的控制信息的部分丢失不会对系统产生太大的影响。本系统针对视频图像传输的特点采用如下的传输机制:视频图像传输方面采用TCP的连接方式,保证核心的信息实现无差错连接,而控制中心和远程终端的交互信息则采用UDP 的方式。

  系统采用流式的数据接受方案,TCP和UDP传输包都有自己的结构,传输视频数据的TCP数据包格式如下

  当监控中心接受到一个TCP包时首先判断它的数据类型,数据类型我们这里把它定义了两种,一种是格式数据,还有就是视频数据。格式数据主要包含了前端系统的配置情况如像素设置,图像大小,压缩类型等,中心根据这个数据来配置自身的程序运行状态和运行参数的设置。负载数据就是数据包的实体部分,包含着具体的格式数据或者具体的媒体数据,这些数据将会被做相应的处理。最后采用CRC-16进行校验。

  UDP数据包的格式如下

  UDP主要用来传输控制命令,程序首先接收命令类型例如:远程终端要求连接、远程端的系统配置信息、云台控制信息等,数据参数主要是以上这些控制命令的具体控制要求如:控制云台旋转的具体的角度等,这样就能够做到现场端和远程端的信息命令的实时交互。

测试结果

  在局域网环境内,采用一路点对点的传播方式对监控系统进行测试,设定图像的的大小为352*288,测试结果表明,该系统对平过度视频图像的压缩率为100倍左右,网络延时约为3s,占用的网络传输带宽小于2M,根据实际效果来看,该系统具有较为流畅的传输性能,实时传输时系统延迟小,能够较好完成视频监控的目的,能够满足目前大多数视频监控的需要。

结论

  本文主要给出了基于DM642的嵌入式视频监控前端和基于DirectShow的远程监控中心软件的完整实现方案。经测试表明,该系统具有性能稳定,占用带宽小,易扩展和升级,可用于环境较恶劣的监控场所,有着广阔的应用前景。

参考文献

  【1】陈文详,孟利民.新型嵌入式视频监控系统的设计[J].电子元器件应用,2008第10卷2期.

  【2】陆其明编著. DirectShow开发指南[M.]北京:清华大学出版社,2003.

  【3】宋坤,刘锐宁,马文强编著.Visual C++视频技术方案宝典[M].北京:人民邮电出版社,2008.

  【4】郝宏伟,王淑敏,李渊.基于DM642的嵌入式视频监控系统的设计与优化[J].微计算机应用,2008第39卷3期.

 
打赏
 
更多>同类环保知识
0相关评论

推荐图文
推荐环保知识
点击排行
网站首页  |  免责声明  |  联系我们  |  关于我们  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅  |  违规举报  |  鲁ICP备12015736号-1
Powered By DESTOON