APP下载

基于达芬奇技术的嵌入式可定位视频的研究与应用

2016-07-09余翔秦少鹏

广东通信技术 2016年4期
关键词:达芬奇线程分包

[余翔 秦少鹏]



基于达芬奇技术的嵌入式可定位视频的研究与应用

[余翔秦少鹏]

摘要随着GIS技术的发展和应用,视频多媒体信息在GIS系统中的应用也越来越广泛,提出在嵌入式系统下,基于达芬奇技术,将视频信息与GPS定位信息相融合形成可定位视频的方法。通过在视频帧分包处理中加入GPS定位信息分包,将视频和GPS定位信息有机融合,并通过线性内插的方法解决在采集过程中GPS信息接收频率与视频采集频率不一致的问题,最后在达芬奇技术平台TMS320DM3730上实现可定位视频的采集和传输。

关键词:可定位视频 TMS320DM3730 GPS 视频 达芬奇技术

余翔

重庆邮电大学,1999年于电子科技大学取得博士学位,教授。主要研究方向为宽带无线通信。

秦少鹏

重庆邮电大学,硕士生,主要研究方向为应急通信系统。

引言

定位技术和视频监控技术在日常生产、生活中已经被广泛应用,同时随着无线通信技术的日益发展,人们对实时无线视频传输的需求日益增长。伴随着智能移动终端的发展,基于GPS定位服务的相关应用在生产、生活中的各个领域也被广泛应用。在抢险救灾、治安防护、移动指挥等应急情况下,视频传输与定位信息对处理应急事件都有重要作用,因此,将视频与定位信息融合形成可定位视频有着重要应用价值。目前,视频与空间定位信息融合已成为研究的热点问题,文献[1]提出了视频地图系统,在视频的一个声道中记录空间位置和时间数据,并提出了实际应用方案。文献[2]主持的VideoGIS项目中,将视频与空间信息相结合,建立视频片段的地理索引,生成能在地理环境中调用的超视频(hypervideo)。但是以上方案不能满足视频实时传输需求。

针对以上不足,本文提出了一种嵌入式系统下,基于达芬奇技术的视频和GPS定位信息采集、融合、传输的应用方案。随着DSP芯片技术的高速发展,TI公司推出了达芬奇技术,它为实现实时、高要求的音视频信号处理提供了可能性,再加上高效的低码率视频编码标准H.264的成熟应用与算法的不断改进,为实时视频的高质量传输提供了数字视频信号处理平台和算法指导[3]。

本文采用TI公司推出的TMS320DM3730(以下简称DM3730)处理器,基于达芬奇技术的嵌入式系统,通过多线程结构,实现视频与GPS定位信息同步采集、视频编解码、视频帧与GPS定位信息融合以及可定位视频的无线传输,同时通过线性内插的方法使视频帧与GPS定位信息形成一一对应的关系,最终实现了可定位视频采集融合和实时无线传输。

1 系统软件架构设计

1.1系统整体架构

如图1所示,该系统以DM3730达芬奇嵌入式视频采集系统为核心,主要由视频采集模块、GPS信息采集模块、DM3730系统处理模块、无线网络传输模块以及硬盘储存模块五部分组成。

图 1 可定位视频系统结构图

功能模块说明:

(1)CUP处理器模块:本文选用的是德州仪器(TI)推出的达芬奇系列TMS320DM3730处理器。该处理器集成了1GHz的ARM Cortex – A8内核及800MHz的高级数字信号处理的DSP核[4]。达芬奇技术平台的ARM+DSP的双核结构即拥有DSP对数字信号的高速处理能力,又具有ARM对外围设备的强大的管理能力。

(2)视频采集模块:摄像头选用奥尼国际推出的酷睿高清版HD1080P摄像头。该摄像头具有业内首创30f/ s(帧/秒)的采集速率,并支持多种分辨率,并通过高速USB2.0接口连接到板卡。

(3)无线网络传输模块:本文采用华为公司推出的TD-LTE无线上网模块—E392U-92,该模块是多模数据卡,支持LTE TDD /FDD/ UMTS/GSM/CDMA等多种网络制式,并通过USB2.0接口连接到板卡。

(4)GPS信息采集模块:本文选用基于ublox公司推出的GPS定位芯片的NEO-6M高性能GPS定位模块。该模块同外部设备的通信接口采用UART(串口)方式,串口波特率为9600BPS。

系统工作原理如下:通过摄像头进行视频采集,将采集到的模拟视频数据经过TVP5150转换成数字信号,通过USB接口输出到DM3730系统处理模块;同时GPS信息采集模块将接收到的GPS数据通过RS232串口转USB传送至DM3730系统处理模块;DM3730系统处理模块对接收到的视频数据进行压缩编码,然后对编码后视频帧进行UDP分包处理,同时提取GPS信息中需要的相关参数,将提取出的定位信息参数加入UDP分包中;通过信息内插的方法,将视频帧数据同GPS定位信息进行匹配,形成可定位视频,再进行无线传输至监控指挥中心与地图信息匹配,同时对可定位视频进行本地储存并可以实时播放。

1.2系统软件设计

本文的系统软件设计从嵌入式终端达芬奇平台双核架构出发,采用基于POSIX(Portable Operating System Interface)接口的多线程的程序设计架构。在使用多线程时需要处理线程的调度和线程的同步,本文采用基于实时的SCHED _FIFO(先进先出)调度策略解决线程的调度问题,而线程的同步则使用Rendezvou模块来处理。

如图2所示,嵌入式终端设备运行,首先进行系统初始化,然后主线程开始创建各个子线程。当所有子线程都结束时,各个子线程释放占用的系统资源,主线程再释放占用的系统资源,退出关闭。其中各个子线程的优先级先后关系如排列所示:视频采集回显和GPS采集解析线程、视频帧编码线程、视频储存和视频帧与GPS定位信息匹配融合线程、可定位视频传输线程。各个子线程在执行一段时间后都会阻塞、等待其他线程,从而避免高优先级的线程一直占用内存资源,而优先级低的线程不去执行的情况。

图 2 可定位视频系统软件架构关系图

2 系统设计中的关键技术

2.1GPS信息提取

GPS接收模块根据NMEA-1083协议,提供了多条语句,每个语句均以“$”开头,然后是两个字母的“标示符”和三个字母的“语句名”,接着以逗号分割的数据体,语句末尾为校验和,整条语句以回车换行符结束。其中$GPGGA:输出GPS的定位信息;$GPGLL:输出大地坐标信息;$GPZDA:输出UTC时间信息;$GPGSV:输出可见的卫星信息;$GPGST:输出定位标准差信息;$GPGSA:输出卫星DOP值信息;$GPALM:输出卫星星历信息;$GPRMC:输出GPS推荐的最短数据信息等。然而在实际的开发应用中,通常只利用其中的几个参数,在本研究中,主要提取经度、纬度、高程以及方向这些参数信息。上述几个参数主要存在于$GPGGA、$GPRMC两条语句中,因此,从接收到的信息中提取出这两条语句并进行解析即可,如图3所示。

2.2视频采集

本文视频采集是基于Linux系统的V4L2 (Video4Linux2)设备驱动程序框架实现的。系统首先使用FifoUtil_open()打开线程的读写通道,以便线程间进行通信,然后创建视频采集回显线程,最后采用V4L2设备驱动程序框架进行视频采集:打开设备文件并获取设备属性,再设置视频采集格式;申请帧缓冲并入队列开始采集,将采集到的视频数据出队列并存入视频图像数据编码线程的缓冲区;最后帧缓冲重新入队列实现循环采集。

图 3 GPS信息采集提取流程图

2.3视频编码

视频的编解码是通过调用编解码引擎(Codec Engine)来实现的。首先打开编码引擎,创建H.264编码器,然后通过调用FifoUtil_get()读管道获取已采集的视频数据并读入缓冲区,进行一帧数据的编码,同时调用FifoUtil_ put()将编码后的数据传入视频储存线程和视频帧与GPS定位信息匹配融合线程,最后将帧缓冲返回给编码线程实现循环编码。

2.4视频帧与GPS定位信息匹配融合

在进行信息采集时,视频的采集频率一般是15~30 帧/s,而GPS接收的频率是1s/次,视频采集速率与GPS信息采集速率不匹配,因此视频帧无法直接与GPS定位信息一一对应,因此本文采用内插的方式进行视频帧与GPS定位信息的匹配,并通过分包处理视频帧加入GPS定位信息,最终形成可以无线传输的可定位视频,如图4所示。

2.4.1视频帧与GPS定位信息融合

首先线程调用FifoUtil_get()获取视频编码线程后编码的帧缓存,然后对这个缓存进行分包处理,将要插入的定位信息放入一帧数据的最后一个分包,对每个分包加上帧头,放入UDP队列中,等待发送。

图 4视频帧分包处理流程图

在处理H.264编码后的视频帧时,根据当前的视频帧是I帧还是P帧,对此视频帧进行不同的分包处理。当检查到是I帧时,每次取出此帧2K的图像数据加入分包,并对取出的分包添加帧头,当剩下的数据不足2K时,则将剩下的数据一次性加帧头,放入UDP队列,最后在图像数据分包后面添加一个分包,此分包包含要添加的定位信息。图5通过UDP队列,将视频帧与定位信息相融合。

图 5可定位视频帧分包结构图

对P帧的操作与I帧一样,只是每个分包的大小变为1K。

2.4.2视频帧与GPS定位信息匹配

由于视频采集频率与GPS接收频率不一致,一秒时间内视频图像的帧数远远多于GPS信息接收的次数,这将导致视频每一帧图像无法与GPS定位信息一一对应。因此本文基于内插的方式对GPS定位信息与视频帧图像进行匹配。过程如图6所示。

图 6视频帧与GPS定位信息匹配流程图

根据视频采集时的运动速率,匹配方式分为两种模式,一种是步行模式,一种是行车模式。步行模式主要包括固定静止时、步行时等低速行进的过程中的视频采集方式,在此模式下,每秒时间间隔内的空间位置的位移变化量很小或处于静止不变状态,因此对每秒间隔时间内所采集的视频帧图像可以采用同一GPS定位信息。行车模式是指车载视频时,高速行进过程中的视频采集模式,由于设备处于高速行车状态,此状态下两次接收的GPS定位信息的时间间隔内位置变化比较大,如果继续采用步行模式的方法进行匹配,将导致内插的视频帧的空间位置出现较大的误差,不能反映真实的位置情况,因此对行车模式采用式(1)对定位信息和视频帧进行线性匹配。其中,Latc是当前视频帧的纬度坐标,Lonc是当前视频帧的经度坐标,Framec是当前视频帧在两次GPS信息接收间隔时间内,处在采集的所有视频帧中的位置,Frame是视频帧率,Lati+1和Loni+1分别是第i+1次接收到的纬度、经度坐标值,Lati和Loni是第i次接收到的纬度、经度坐标值。

2.5可定位视频的无线传输

可定位视频的传输是基于UDP协议的网络传输完成的。首先创建一个UDP Socket并进行本地IP的绑定和相关的配置,同时设置监控指挥中心的IP地址和端口号等相关属性,然后读取UDP传输循环链表进行发送,缓冲发送到监控指挥中心。为了保障传输视频图像的质量和传输的可靠性,设置对编码后的视频帧的关键帧I帧进行监听,确保关键帧I帧被监控指挥中心接收,当监控指挥中心收到I帧时,返回给终端传输线程一个回复信息,如果没有收到回复,则循环发送I帧数据直到收到监控指挥中心的回复为止。

3 应用实例

可定位视频采集终端设备选用天漠科技有限公司推出的基于德州仪器(TI)DM3730处理器的Devkit8500D评估套件,图7是可定位视频采集终端设备。监控指挥中心是PC机Windows 7系统下基于MFC的Web GIS程序,该程序结合百度地图,视频播放器功能,对接收到的可定位视频进行解码回放和GPS定位显示。携带可定位视频采集终端设备在校园内进行可定位视频的采集,并通过TD-LTE网络将数据发送至监控指挥中心,在监控指挥中心的PC上实时显示视频和位置移动。

图 7采集终端实物图

图 8监控指挥中心可定位视频界面图

图8为可定位视频播放界面,左上角实时播放终端设备采集的视频图像,右边在百度地图上显示终端在采集视频时的具体位置。

4 结束语

本文应用达芬奇技术平台,介绍了嵌入式终端上可定位视频的采集传输方法,实现了视频帧与GPS定位信息一一对应以及融合传输。随着无线网络技术的发展,无线环境下对数据传输质量的要求越来越高,人们对实时信息的需求也越来越精确。可定位视频作为一种将实时视频多媒体信息与GPS空间地理信息相结合新型媒体,通过地理信息系统技术支撑,在监控指挥、应急救援、信息采集等领域有广泛的应用价值。

参考文献

1BERRY JK . Capture “Where” and “When” on Video . Based GIS [J]. GEOWORLD,2000,(9)

2NAVARRETE T, BLATJ. VideoGIS: Segmenting and Indexing Video Based on Geographic Information [C]// 5thAGILE Conference on Geograp- hic Information Science. Palma Spain.2002

3TI Application report (SPRS283D) TMS320 DM6446 digital media system-on-chip [R]. Dallas: Texas Instruments, 2005:1-212

4BERRY JK . Capture “Where” and “When” on Video . Based GIS [J]. GEOWORLD,2000,(9)

5NAVARRETE T, BLATJ. VideoGIS: Segmenting and Indexing Video Based on Geographic Information [C]// 5thAGILE Conference on Geograp- hic Information Science. Palma Spain.2002

6TI Application report (SPRS283D) TMS320 DM6446 digital media system-on-chip [R]. Dallas: Texas Instruments, 2005:1-212

7向海波, 李波, 闫忠江. 基于TMS320DM373 -0的H.264编码器移植与优化方法[J]. 电子设计工程,2012(20): 180-183

8吴勇, 刘学军, 丰江帆. 具有定位信息的移动视频采集系统[J].测绘通报, 2009(07)

9吴勇, 刘学军, 赵华,等. 可定位视频采集方法研究[J]. 测绘通报, 2010,(1):24-27

DOI:10.3969/j.issn.1006-6403.2016.04.013

收稿日期:(2016-01-20)

猜你喜欢

达芬奇线程分包
轻松做完大手术——聊聊达芬奇手术机器人
基于C#线程实验探究
基于国产化环境的线程池模型研究与实现
线程池调度对服务器性能影响的研究*
如何加强施工分包安全管理
达芬奇想飞
手术室的“阿尔法狗”:达芬奇机器人
建筑业劳务分包制研究:现状及其展望
网站前台设计分包合同中应注意的问题
论施工企业分包管理