基于TMS320DM8168的智能监控系统设计及实现
Design and Realization of Intelligent Monitoring System Based on TMS320DM8168
DOI:10.12677/SEA.2016.52018,PDF,HTML,XML,下载: 2,102浏览: 6,879
作者:冯 丹,庞殊杨,余艳梅*,何小海:四川大学电子信息学院,图像信息研究所,四川 成都
关键词:DM8168智能监控AndroidRTSPDM8168Intelligent MonitoringAndroidRTSP
摘要: 针对传统视频监控系统监控功能单一的不足,本文以TMS320DM8168为核心处理器,设计了一套智能监控系统,实现了从摄像头到TMS320DM8168的数据传输、进行算法处理并将数据通过RTP打包经网络传输到Android客户端显示的整个通路,为后续智能监控的有效实施搭建了良好的平台。经测试,该智能监控系统平台有较好的实时性与可实施性。
Abstract: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.
文章引用:冯丹, 庞殊杨, 余艳梅, 何小海. 基于TMS320DM8168的智能监控系统设计及实现[J]. 软件工程与应用, 2016, 5(2): 164-170. http://dx.doi.org/10.12677/SEA.2016.52018

1. 引言

随着科学技术的不断进步,视频监控也从早期的以摄像头、电视机(监视器)为主的模拟视频监控发展为现如今的网络数字视频监控。而随着高清摄像头的普及,视频数据也越来越大,对于智能监控而言,需要处理的数据也就越多,这就增加了处理难度。本世纪初,随着国内外芯片公司(如TI,Philips等)推出高性能的DSP产品,使得处理大数据量的音视频成为了可能。

2010年,TI公司推出了一款达芬奇数字媒体处理器TMS320DM8168 [1] ,该处理器集成了两个高清视频协处理器M3、一个C674x浮点DSP内核、一个ARM A8的CPU,为高清视频监控提供了强大的解决方案。

目前而言,视频监控在实际应用中主要是以摄像头单纯的记录输出为主,配合监督人员实时查看,或者是发生异常情况(如遇盗窃)后查看记录,真正实现智能监控的还比较少。而随着高性能DSP、网络以及智能移动终端设备的普及,智能监控的应用也将越来越广泛,如银行、家庭、停车场等等。文献 [2] 实现了在TMS320DM8168下的视频监控,并且通过RTSP协议能够将视频数据发送至网络,但是没有实现加入算法的功能。为此,本文主要实现了基于TMS320DM8168智能监控系统的通路,通过摄像头采集视频,并进行相应的算法处理,经RTP打包发送至网络,并在智能移动终端上能够实时查看。

2. 系统方案

本文采用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

Figure 1. The framework of system

图1. 系统方案框图

处取得H264码流,按照RTP协议对码流进行封包并发送至网络。最后,用户在智能移动终端联网即可查看。

3. 系统软件设计

本文采用了TI公司提供给开发者的多通道视频处理软件框架(Multi channel framework, MCFW)方案,并将RTSP服务器方案移植到该框架内,并且加入算法以及算法处理后的保存数据链路,再通过RTP打包发送至网络,在智能移动终端可以实时查看。

3.1. 多通道视频处理软件框架

TI公司推出达芬奇数字媒体处理器TMS320DM8168时,为了提高开发者的效率,提供了DVR RDK开发包,该开发套件最重要的一点是采用了多通道视频处理软件框架(MCFW),其已经将底层封装好,直接提供上层的节点(link)接口供开发者使用 [3] ,大大简化了开发流程。图2为DVRRDK中针对多通道视频通信的软件框架。

Link的主要功能是将视频数据流串起来,可以分别送至不同的核里进行处理。如能够送入M3核进行采集显示或H264编解码,或是送入DSP核进行算法处理。例如在M3 VIDEO核里,开发者只需要将H264编码的link与编码前后的link链接起来,并且配置好H264编码的相关参数,M3 VIDEO将自己完成H264编码工作,开发者无需关心link以及编码的具体实现,只需要将相关的link按规则配置链接起来即可 [5] 。

3.2. 基于DM8168实现RTSP服务器

本文在MCFW框架下实现了RTSP服务器方案。通过MCFW的link链接,首先将采集到的模拟视频数据解码为YUV格式的数据,经过去噪(NFS)、去隔行(DEI)等相关link链接实现对视频数据的预处理。然后经过H264编码发送至Cortex A8端,当有RTSP客户端请求时,RTSP服务器即可进行RTP打包发送。

3.2.1. RTSP服务器实现

当DM8168将采集的视频数据通过M3 VIDEO协处理器编码成H264码流后,将通过Cortex A8放

入事先开辟的缓存中。在此RTSP服务器中,因为涉及到RTSP会话交互以及RTP打包发送 [6] ,将使用多线程设计程序。首先,服务器开启一个子线程从A8端获取H264码流并进行RTP打包且发送至网络,另外,服务器还需要开启另一个子线程,该线程主要负责与RTSP客户端进行会话。RTSP会话主要包括OPTIONS、DESCRIBE、SETUP、TEARDOWN、PLAY、PAUSE、GET_PARAMETER和SET_PARAMETER [7] ,当服务器收到客户端发来的PLAY请求后,服务器就会按照交互约定的协议进行RTP发送。

3.2.2. RTSP服务器实现算法链路

本文的目标是实现智能监控,若DM8168将采集到的视频数据经过一系列预处理后进行H264编码后发送至网络,这其实和早期的监控没有多大的区别,并没有实现智能监控。所以,本文在H264编码前加入了算法链路,如图3所示,其中ALG link将视频数据引入C674x+DSP核上进行算法处理 [8] 。处理器之间的流程也就是将M3 VPSS→M3 VIDEO→Host A8变成M3 VPSS→DSP→M3 VIDEO→Host A8。

Figure 2. The multi channel software framework [4]

图2. 多通道软件框架 [4]

Figure 3. The flowchart of link layer

图3. link链路流程图

同时,在M3 VIDEO→Host A8的过程中,实现了将数据保存在SATA硬盘上,以便事后用户查看记录。本文作为前期的探讨实验阶段,目的是打通整个智能监控系统的通路,只加入了简单的图像处理算法(如二值化)验证整个通路的可行性,后续只需要将AlgLink_algProcessData()函数中的数据算法处理部分修改为相应的算法即可。在AlgLink_algProcessData()函数中,首先从缓存里取出YUV格式的视频帧数据,然后对YUV数据进行算法处理,处理完成后交给M3 VIDEO核进行H264编码并进行下一步处理。

4. Android RTSP客户端实现

社会在不断进步的同时,人们的安全意识也在不断增强,使得大多数安防等特殊人员抑或是普通居家居民希望能够时刻掌握自己安装在某处摄像头下的实时情况。而随着智能移动终端与4G网络的普及,只需要在终端上安装一款针对该摄像头开发的对应APP后,联网即可查看摄像头对应的场景。本文实现了基于Android的针对本文智能监控系统的一款RTSP客户端APP。

4.1. Android介绍

Android是Google公司于2007年发布的一款基于Linux平台的智能移动终端操作系统。由于其开源性,一经推出便受到广泛欢迎。最新统计数据表明,Android系统市场占有率高达63.8%,成为使用最广泛的智能移动终端操作系统 [9] 。正因为Android系统的高占有率,许多开发者乐于投身其中,目前也出现了许多优秀的开源项目和开源库。

Android开发使用的集成开发环境大致有两种,一种是eclipse,里面集成有ADT插件,第二种是Google于2013年5月新推出并且大力提倡使用的开发环境Android Studio。现在,Google将Android Studio作为官方的Android开发环境,其相比eclipse而言,优化了编程效率以及增加了一些新的功能。

4.2. Android RTSP客户端实现

本文的RTSP客户端是基于Android系统开发的手机端APP。首先,在布局文件中定义VideoView组件,用它可以显示视频内容,并且定义一个输入框,用以输入URL,再定义一个播放按钮,当用户需要查看监控内容时,点击该按钮即可。这时程序将根据输入的URL链接到服务器端获取视频数据,该程序运行流程如图4所示。

当客户端获取数据后,将进行RTP拆包,并且进行解码显示。现在的Android版本基本上都支持RTSP协议,RTP拆包与解码显示,只需要在Activity里直接调用相关的库函数即可完成。

5. 测试结果及数据分析

本文设计的智能监控系统服务器端运行在DM8168上,显示客户端运行在Android手机上,当用户点击播放按钮时,服务器与客户端进行交互,然后客户端从服务器端获取RTP封包,并进行拆包解码显示。图5所示的是Android RTSP客户端通过联网显示由DM8168经网络发过来的视频数据,其中(a)图是没有加入算法直接看到的场景,(b)图是加入二值化算法后呈现的效果。通过实验可以看出,该算法通路已经可行。

要做智能监控,有一个重要的条件必须考虑,那就是延时,若是延时太大,用户不能及时发现意外情况,这会直接导致损失。所以,延时的大小直接决定整个系统的优劣性。而造成延迟的主要因素有:视频编解码时间、整个链路传输时间以及客户端缓冲时间等。本系统测试了不加算法直接在客户端显示的延时以及加入二值化算法后的延时,测试结果如表1所示。

可以看出,延迟时间能有效控制在能接受的范围。

Figure 4. The flowchart of RTSP client

图4. RTSP客户端运行流程图

(a) (b)

Figure 5. The presentation of Android RTSP client

图5. Android RTSP客户端显示图

Table 1. The delays on Android RTSP client

表1. Android RTSP客户端延时测试

6. 总结

本文设计了基于TMS320DM8168的智能监控系统,完成了整个智能监控系统的服务器与基于Android的RTSP客户端的通路,并且加入了算法链路接口,后续只需要在该算法接口上加入特定的智能监控算法即可完成相应的智能监控功能。测试结果表明该系统有较强的可行性与实时性,且有一定的可拓展性与实用价值。

NOTES

*通讯作者。

参考文献

[1] Texas Instruments Insorporated,TMS320DM816xDaVinci Digital Media Processors Technical Reference Manual, 2011.
[2] 付雄, 卿粼波, 何小海, 等.基于TMS320DM8168的RTSP服务器系统设计及实现[J]. 电子技术应用, 2015, 41(12): 18-21.
[3] 王行行.基于TMS320DM8168的视频编码系统研究与实现[J]. 红外与激光工程, 2014(B12): 59-64.
[4] DVR RDK Multi Channel FrameWork Software User Guide.
[5] 苏莎莎.基于TMS320DM8168多核处理器的嵌入式高清视音频处理系统的研究与实现[D]: [硕士学位论文]. 南京: 南京邮电大学, 2014.
[6] 褚典, 江春华, 郝宗波, 等.基于SIP、RTP/RTCP 和 RTSP 协议的视频监控系统[J]. 计算机与现代化, 2013(11): 139-142.
[7] Rupalwala, S.S. (2015)ARM 11 Based Real-Time Video Streaming Server Using RTSP Protocol. International Conference on Electrical, Electronics, Signals, Communication and Optimization (EESCO).
[8] 朱海.基于DM8168的视频监控系统的实现[D]: [硕士学位论文]. 成都: 电子科技大学, 2013.
[9] 汪宇, 吕卫, 杨博菲, 等.基于Android平台的智能家居监控系统[J]. 电视技术, 2012, 36(2): 36-38.

为你推荐


Baidu
map