kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于达芬奇技术的视频监控系统设计
基于达芬奇技术的视频监控系统设计
2015年电子技术应用第1期
邓 娜,田增山,袁正午
重庆邮电大学 无线定位与空间测量研究所,重庆400065
摘要:结合实际应用及多媒体技术的发展趋势,设计了一套以TMS320DM6467为核心的硬件平台,并借助嵌入式Linux为软件核心的多通道视频监控系统。系统采用TVP5158实现对4通道模拟视频信号采集,通过达芬奇技术实现基于H.264的4通道实时视频压缩,利用UDP协议将采集端的视频数据通过局域网发送至监控中心,用户可通过监控中心控制软件对相应区域进行实时监控。系统在单芯片上实现多通道视频监控系统,具有低成本、高性能的特点,可应用于交通、厂区防盗、智能家居监控、视频会议等领域。
中图分类号:TN762;P715.7
文献标识码:A
文章编号: 0258-7998(2015)01-0025-03
Design of video transmission system based on DaVinci technology
Deng Na,Tian Zengshan,Yuan Zhengwu
Institute of Wireless Location and Space Measurement,Chongqing University of Posts and Telecommunications, Chongqing 400065,China
Abstract:Combined with practical application and development trends of multimedia technology, a set of multi-channel video surveillance system is designed with TMS320DM6467 and embedded Linux software. The system adopts TVP5158 to realize the video signal acquisition of 4 channels, through DaVinci technology to realize the 4 channels real-time video compression based on H.264. Then the data is sent to the monitoring center through a local network with UDP protocol. The user can monitor the region by controlling the monitoring center software. System is implemented on a single chip with low-cost and high-performance features, it can be used in transportation, factory security, smart home monitoring, video conferencing and so on.
Key words :DaVinci;H.264;video surveillance system;DM6467

0 引言

  随着互联网、多媒体及自动控制技术的飞速发展,视频应用的需求也越来越大。近几年来,图像处理技术已在智能楼宇、交通监控、智能家居、汽车电子以及航空航天等诸多领域得到了广泛的应用。芯片技术的发展及嵌入式技术的日趋成熟,使得视频监控系统越来越小型化、集成化和网络化[1]。

  目前,视频监控仍存在一些问题。诸如监控区域太窄,一套系统无法完成对多个区域的同时监测;非网络化,大多数监控系统仍然采用模拟信号传输,导致系统布线复杂,无法轻易扩容,成本高。诸多问题无法满足实际需求[2]。

  本文立足于解决实际问题,设计了一套集嵌入式技术、网络技术及TI达芬奇技术为一体的多通道视频监控系统。利用该系统,可实现对多个关键区域的实时远程视频监控。系统采用单芯片完成了多通道实时图像采集、压缩处理和网络传输,节省成本,管理方便。

1 系统总体设计

  系统以DM6467为核心,嵌入式Linux作为操作系统平台,通过TVP5158采集多路视频数据并进行压缩处理,采用TCP/IP协议将压缩处理后的视频数据发送至监控中心。监控中心接收网络数据并实时解析,通过H.264解码后实时显示。系统总体方案如图1所示。

001.jpg

  本系统主要由视频处理前端与监控中心构成。视频处理前端由处理器、摄像头及TVP5158组成。监控中心由PC构成。系统运行后,监控中心可实时配置视频处理前端信号参数,如图像分辨率、通道数等。为了满足系统需求,在不影响视觉观看下的指标设计如下:

  (1)1-4通道图像实时采集和压缩处理(基于H.264协议),图像制式包括PAL(720×576)和NTSC(720×480);

  (2)实时传输帧率不小于15帧/s;

  (3)系统时延不大于0.5 s。

2 系统硬件设计

  系统主要分为信号采集平台和监控中心两大部分。监控中心在PC上完成。信号采集平台主控芯片采用TI公司达芬奇处理器TMS320DM6467,同时还包括SRAM、Nand Flash、TVP5158以及多种外围接口。Flash中存放有一级引导文件ubl、U-boot、Linux内核、文件系统、驱动程序以及应用程序等。SRAM作为系统运行内存,TVP5158完成对多通道模拟信号的采集。外围接口中,串口负责应用程序调试;以太网接口完成对视频信号和控制信息的传输;主控制器通过I2C接口对TVP5158进行参数配置,同时通过VPIF接口接收TVP5158传回的视频信号[3]。

  信号采集平台主要实现对1~4通道视频图像的采集、实时图像压缩、网络传输、心跳检测、参数接收等功能。采集平台硬件结构如图2所示。

002.jpg

3 系统软件设计


003.jpg

  系统软件主要包括采集端和监控中心解码软件。系统软件结构如图3所示,采集端包括信号采集子程序、图像压缩子程序、网络传输子程序、心跳探测及参数配置子程序。监控中心包括网络接收子程序、图像解码子程序、实时显示子程序、心跳探测及参数配置子程序。

 3.1 视频采集模块设计

  采集端基于Montavista公司Linux-2.6.10操作系统,采用V4L2进行视频数据采集。TVP5158与DM6467间采用VPIF接口无缝传输。为了让数据采集更加便捷,对V4L2驱动与I2C驱动进行二次封装。同时,为了提高数据传输效率,减少CPU开销,将底层EDMA驱动也封装在其中。面向应用层,3个接口被抽象为一个MCVIP接口[4-5]。MCVIP驱动框架如图4所示。

  采用MCVIP驱动完成视频信号采集流程如图5所示。其步骤如下:

  (1)打开设备。连接各模块,开启设备电源,通过open()函数依次打开dev_i2c、video0和video1 3个设备描述符。

  (2)参数初始化。初始化主要包括对TVP5158、图像制式、通道数、内存区域等进行设置。

  (3)图像采集。MCVIP底层采用V4L2获取图像数据。采用如下方式可完成图像数据的采集。

  调用二次封装后的V4L2函数接口MCVIP_v4l2GetBuf(hndl, &v4l2Buf),抓取一帧图像,并存放在v4l2Buf起始的内存区域中。

  由于TVP5158将多通道数据打包为BT.656格式,需要MCVIP_demuxRun()函数对该格式进行解析,获取各通道数据。

  抓取处理完成后,通过MCVIP_ v4l2PutBuf()函数释放本次读取数据所用的缓冲区,以便循环利用。

 3.2 视频压缩模块设计

  视频压缩模块采用一组压缩线程来完成。系统为4个通道分别开辟一个压缩线程,并采用达芬奇技术提供的DVSDK开发包完成H.264图像压缩。

  Codec Engine(CE)是达芬奇技术的核心,负责完成ARM与DSP之间的通信及管理工作。在各个压缩线程中,调用Engine_open()函数创建各自的CE。

  创建图像压缩任务,通过Venc1_create(hEngine, H264ENC_NAME, & params, &dynParams)函数告知DSP需要执行哪一段代码。其中,params与dynParams结构体分别存储有图像的分辨率、图像数据大小等参数。DSP Server收到指令后,对参数进行解析,并创建一个process()实现压缩任务。

  在压缩任务创建完成后,即可从队列中获取一帧原始图像数据,并进行色彩转换,最终调用Venc1_process()函数完成一帧图像的压缩[6]。

  压缩后的图像数据将送到压缩线程与网络发送线程之间的缓冲队列中,供网络模块调用及数据发送[6]。压缩线程处理流程如图6所示。

006.jpg

3.3 传输模块设计

  数据传输主要在局域网中进行。为了提高传输效率,图像数据采用面向无连接的UDP协议进行传输。心跳信息及控制信息采用TCP协议传输,保障了心跳及控制信息传输的可靠性。传输模块流程图如图7所示。

007.jpg

  基于Linux和Windows的网络传输主要依靠socket套接字完成。发送端通过sendto()将图像数据发送到监控中心,接收端对协商好的端口进行监听,并调用recvfrom()函数接收网络数据。

  为了让监控中心实时掌握采集端运行状态,采集端设计心跳包,定时向监控中心报告呼吸状态。若监控中心连续2 min没有收到心跳信息,则断定网络出现故障或采集端发生异常,并报警告知用户。

  由于压缩线程与传输线程之间需要访问同一个缓冲队列,为了线程安全,采用互斥量对该临界区进行控制。压缩线程需要将数据送入到队列中时,使用pthread_mutex_ lock函数对该临界区加锁,访问完成后调用pthread_mutex_unlock函数释放该区域供传输模块访问[7]。传输模块访问该区域时处理流程同上。通过互斥量,使得同一时间只有一个线程在访问该段内存空间,保障了内存访问的安全性。

 3.4 显示模块设计

  本系统中,显示模块采用的集成开发环境是Microsoft Visual C++6.0,实现4路视频数据的接收和实时显示。显示模块软件由两个子模块组成:ActiveX控件模块和实时播放模块,ActiveX控件模块作为软件的核心部分,是集图像解码、图像播放为一体的功能模块。主程序调用ActiveX控件提供的接口函数将视频数据传入控件中,控件使用ffmpeg对视频数据进行解码,然后显示。实时播放模块由4个ActiveX控件和两个按钮组成,两个按钮的功能分别为开启和停止。点击开启按钮,准备接收数据,当网络中有数据时,接收并解码和显示。显示模块的工作流程如图8所示。

008.jpg

4 系统测试

  系统测试环境包括信号采集板、监控中心PC、4路安防摄像头、电源、网线等。

  将串口线、网线及电源等接口连接好,启动开发板。运行监控中心显示软件,设定通道数、图像制式等信息。参数配置完成后,点击开始后采集端开始采集并传输视频信号。

009.jpg

  图9是监控中心实时解码显示效果图。经过长时间测试,图像时延约为0.3~0.5秒,监控中心可实时播放1~4路视频信号,图像帧率最差为每通道22帧/s。测试表明,在多通道同时工作时,传输帧率和系统时延均满足预期设计指标。

5 结束语

  本文设计了一种基于达芬奇技术的视频监控系统,实现了1~4通道实时视频采集、压缩、网络传输及图像解码和显示。经长时间和多次测试,系统运行稳定,能够连续对多个区域进行监控。同时,可针对不同应用领域,稍加改进便可投入使用,具有一定的应用价值。

参考文献

  [1] 信师国,刘庆磊,刘全宾.网络视频监控系统现状和发展趋势[J].信息技术与信息化,2010(1):23-25.

  [2] 陈宗成,邓华秋.基于ARM11的嵌入式视频传输系统的实现[J].电视技术,2013,37(9):210-213.

  [3] 姚春莲,郭克友,阮秋琦,等.基于DM6467的视频处理软件设计与优化[J].北京交通大学学报:自然科学版,2013,37(5):162-167.

  [4] 卢俊.基于Davinci平台的视频服务器软件系统的设计与实现[D].武汉:华中科技大学,2013.

  [5] 文武,吴勇,张杰.基于TMS320DM6467的视频采集系统设计[J].电视技术,2011,35(17):39-41.

  [6] 施现伟.基于ARM11的远程视频监控系统设计[D].哈尔滨:哈尔滨理工大学,2013.

  [7] 陈荣军,余祥云,谭洪舟.基于S3C6410的远程无线环境监测系统设计[J].电子技术应用,2014,40(5):143-146.


此内容为AET网站原创,未经授权禁止转载。
Baidu
map