针对传统视频监控系统监控功能单一的不足,本文以TMS320DM8168为核心处理器,设计了一套智能监控系统,实现了从摄像头到TMS320DM8168的数据传输、进行算法处理并将数据通过RTP打包经网络传输到Android客户端显示的整个通路,为后续智能监控的有效实施搭建了良好的平台。经测试,该智能监控系统平台有较好的实时性与可实施性。 To overcome the single functional deficiency of traditional video monitoring systems, we design an intelligent monitoring system with the core processor of TMS320DM8168. The system realizes the function of data transfers from camera to TMS320DM8168, data processing with algorithms, data packed by RTP, and data transferring from TMS320DM8168 to Android client via Internet, which builds a valuable platform for effectively subsequent intelligent monitoring. Tests show that this intelligent monitoring system performs well in real-time and is easy to be realized.
冯丹,庞殊杨,余艳梅*,何小海
四川大学电子信息学院,图像信息研究所,四川 成都
收稿日期:2016年4月1日;录用日期:2016年4月19日;发布日期:2016年4月22日
针对传统视频监控系统监控功能单一的不足,本文以TMS320DM8168为核心处理器,设计了一套智能监控系统,实现了从摄像头到TMS320DM8168的数据传输、进行算法处理并将数据通过RTP打包经网络传输到Android客户端显示的整个通路,为后续智能监控的有效实施搭建了良好的平台。经测试,该智能监控系统平台有较好的实时性与可实施性。
关键词 :DM8168,智能监控,Android,RTSP
随着科学技术的不断进步,视频监控也从早期的以摄像头、电视机(监视器)为主的模拟视频监控发展为现如今的网络数字视频监控。而随着高清摄像头的普及,视频数据也越来越大,对于智能监控而言,需要处理的数据也就越多,这就增加了处理难度。本世纪初,随着国内外芯片公司(如TI,Philips等)推出高性能的DSP产品,使得处理大数据量的音视频成为了可能。
2010年,TI公司推出了一款达芬奇数字媒体处理器TMS320DM8168 [
目前而言,视频监控在实际应用中主要是以摄像头单纯的记录输出为主,配合监督人员实时查看,或者是发生异常情况(如遇盗窃)后查看记录,真正实现智能监控的还比较少。而随着高性能DSP、网络以及智能移动终端设备的普及,智能监控的应用也将越来越广泛,如银行、家庭、停车场等等。文献 [
本文采用TMS320DM8168 (以下简称DM8168)作为系统的核心处理器,该系统将实现视频的采集显示通路,并且同时将智能监控算法加入其中,然后将处理后的数据通过RTP打包发送至网络,用户在智能移动终端上可以进行实时查看。考虑到手机存储空间有限,该系统在DM8168端还实现了数据的采集存储与加入算法后的存储,方便用户在事后查看监控记录。总体框图如图1所示。
摄像头将采集到PAL或者NTSC制式的视频数据传入该系统,先经过解码芯片转换成YUV格式的数据,然后送入DM8168进行相应的处理。首先,M3VPSS协处理器可以对相应视频数据进行显示,用户可以直观的看到摄像头面对的场景,或是保存在SATA硬盘中,以便于日后调用查看监控记录。框图中的DSP算法模块含有一个DM8168集成的C674x浮点DSP内核,频率为1GHz,通过MCFW软件框架可以直接将YUV视频数据流从M3 VPSS核引入DSP核进行算法处理,这里的算法处理只需要将不同的智能监控算法在相关接口函数编写实现即可。算法处理后的数据通过M3 VIDEO协处理器编码成H264码流传入A8核,此时也可以将算法处理后的数据保存下来。在进行RTP打包时,从A8
图1. 系统方案框图
处取得H264码流,按照RTP协议对码流进行封包并发送至网络。最后,用户在智能移动终端联网即可查看。
本文采用了TI公司提供给开发者的多通道视频处理软件框架(Multi channel framework, MCFW)方案,并将RTSP服务器方案移植到该框架内,并且加入算法以及算法处理后的保存数据链路,再通过RTP打包发送至网络,在智能移动终端可以实时查看。
TI公司推出达芬奇数字媒体处理器TMS320DM8168时,为了提高开发者的效率,提供了DVR RDK开发包,该开发套件最重要的一点是采用了多通道视频处理软件框架(MCFW),其已经将底层封装好,直接提供上层的节点(link)接口供开发者使用 [
Link的主要功能是将视频数据流串起来,可以分别送至不同的核里进行处理。如能够送入M3核进行采集显示或H264编解码,或是送入DSP核进行算法处理。例如在M3 VIDEO核里,开发者只需要将H264编码的link与编码前后的link链接起来,并且配置好H264编码的相关参数,M3 VIDEO将自己完成H264编码工作,开发者无需关心link以及编码的具体实现,只需要将相关的link按规则配置链接起来即可 [
本文在MCFW框架下实现了RTSP服务器方案。通过MCFW的link链接,首先将采集到的模拟视频数据解码为YUV格式的数据,经过去噪(NFS)、去隔行(DEI)等相关link链接实现对视频数据的预处理。然后经过H264编码发送至Cortex A8端,当有RTSP客户端请求时,RTSP服务器即可进行RTP打包发送。
当DM8168将采集的视频数据通过M3 VIDEO协处理器编码成H264码流后,将通过Cortex A8放
入事先开辟的缓存中。在此RTSP服务器中,因为涉及到RTSP会话交互以及RTP打包发送 [
本文的目标是实现智能监控,若DM8168将采集到的视频数据经过一系列预处理后进行H264编码后发送至网络,这其实和早期的监控没有多大的区别,并没有实现智能监控。所以,本文在H264编码前加入了算法链路,如图3所示,其中ALG link将视频数据引入C674x+DSP核上进行算法处理 [
图2. 多通道软件框架 [
图3. link链路流程图
同时,在M3 VIDEO→Host A8的过程中,实现了将数据保存在SATA硬盘上,以便事后用户查看记录。本文作为前期的探讨实验阶段,目的是打通整个智能监控系统的通路,只加入了简单的图像处理算法(如二值化)验证整个通路的可行性,后续只需要将AlgLink_algProcessData()函数中的数据算法处理部分修改为相应的算法即可。在AlgLink_algProcessData()函数中,首先从缓存里取出YUV格式的视频帧数据,然后对YUV数据进行算法处理,处理完成后交给M3 VIDEO核进行H264编码并进行下一步处理。
社会在不断进步的同时,人们的安全意识也在不断增强,使得大多数安防等特殊人员抑或是普通居家居民希望能够时刻掌握自己安装在某处摄像头下的实时情况。而随着智能移动终端与4G网络的普及,只需要在终端上安装一款针对该摄像头开发的对应APP后,联网即可查看摄像头对应的场景。本文实现了基于Android的针对本文智能监控系统的一款RTSP客户端APP。
Android是Google公司于2007年发布的一款基于Linux平台的智能移动终端操作系统。由于其开源性,一经推出便受到广泛欢迎。最新统计数据表明,Android系统市场占有率高达63.8%,成为使用最广泛的智能移动终端操作系统 [
Android开发使用的集成开发环境大致有两种,一种是eclipse,里面集成有ADT插件,第二种是Google于2013年5月新推出并且大力提倡使用的开发环境Android Studio。现在,Google将Android Studio作为官方的Android开发环境,其相比eclipse而言,优化了编程效率以及增加了一些新的功能。
本文的RTSP客户端是基于Android系统开发的手机端APP。首先,在布局文件中定义VideoView组件,用它可以显示视频内容,并且定义一个输入框,用以输入URL,再定义一个播放按钮,当用户需要查看监控内容时,点击该按钮即可。这时程序将根据输入的URL链接到服务器端获取视频数据,该程序运行流程如图4所示。
当客户端获取数据后,将进行RTP拆包,并且进行解码显示。现在的Android版本基本上都支持RTSP协议,RTP拆包与解码显示,只需要在Activity里直接调用相关的库函数即可完成。
本文设计的智能监控系统服务器端运行在DM8168上,显示客户端运行在Android手机上,当用户点击播放按钮时,服务器与客户端进行交互,然后客户端从服务器端获取RTP封包,并进行拆包解码显示。图5所示的是Android RTSP客户端通过联网显示由DM8168经网络发过来的视频数据,其中(a)图是没有加入算法直接看到的场景,(b)图是加入二值化算法后呈现的效果。通过实验可以看出,该算法通路已经可行。
要做智能监控,有一个重要的条件必须考虑,那就是延时,若是延时太大,用户不能及时发现意外情况,这会直接导致损失。所以,延时的大小直接决定整个系统的优劣性。而造成延迟的主要因素有:视频编解码时间、整个链路传输时间以及客户端缓冲时间等。本系统测试了不加算法直接在客户端显示的延时以及加入二值化算法后的延时,测试结果如表1所示。
可以看出,延迟时间能有效控制在能接受的范围。
图4. RTSP客户端运行流程图
图5. Android RTSP客户端显示图
不做算法处理 | 二值化算法 | |
---|---|---|
延迟时间 | 1.7s | 1.9s |
表1. Android RTSP客户端延时测试
本文设计了基于TMS320DM8168的智能监控系统,完成了整个智能监控系统的服务器与基于Android的RTSP客户端的通路,并且加入了算法链路接口,后续只需要在该算法接口上加入特定的智能监控算法即可完成相应的智能监控功能。测试结果表明该系统有较强的可行性与实时性,且有一定的可拓展性与实用价值。
冯 丹,庞殊杨,余艳梅,何小海. 基于TMS320DM8168的智能监控系统设计及实现Design and Realization of Intelligent Monitoring System Based on TMS320DM8168[J]. 软件工程与应用, 2016, 05(02): 164-170. http://dx.doi.org/10.12677/SEA.2016.52018