首页 » 智能 » 基于DM365的双码流视频监控设备的设计与实现_视频_数据

基于DM365的双码流视频监控设备的设计与实现_视频_数据

神尊大人 2024-12-23 15:32:58 0

扫一扫用手机浏览

文章目录 [+]

0 弁言

随着网络技能、视频编解码技能、信息处理技能在安防领域中的运用日趋成熟,视频监控系统的发展也从最初的仿照视频监控系统发展到了如今的网络数字视频监控系统[1]。
以往视频图像处理算法紧张由DSP处理,但是随着算法繁芜度的增加及视频分辨率的提高,传统DSP逐渐无法胜任这方面的事情[2]。
为此,须要新的处理器架构来提高视频算法的并行性与带宽。
当前TI公司已经推出干系的异构处理器与多核DSP;英伟达公司推出了最新的SoC芯片Tegra4,其内含4个Cortex.A15和72个GeForceGPU[3-4]。
最新的SoC制程也已经达到28 nm,险些取得了相称于PC的频率带宽。
由于视频的数据量大,占用带宽多,这不仅对网络是个不小的包袱,对图像本地存储备份的能力也有很大的影响,以是就须要采纳一种高效的压缩算法对视频进行编码,以降落其所占用的网络带宽和存储空间[5]。
近年来,H.264、MJPGE等算法的研究使得网络较实时传输和本地存储备份成为了可能。
最新的H.265压缩算法的涌现大大提高了视频传输效率,但这须要相应的处理器能力的提高[6]。

基于DM365的双码流视频监控设备的设计与实现_视频_数据 基于DM365的双码流视频监控设备的设计与实现_视频_数据 智能

本文所设计的多路数据流视频监控终端设备基于TI公司的TMS320DM365芯片,支持双路不同分辨率大小的数据流,分别实现两种不同的功能,第一起数据流实现D1(720×576)分辨率大小H.264编码数据确当地存储备份,第二路数据流实现QVGA(320×240)分辨率大小原始数据的实时显示。

基于DM365的双码流视频监控设备的设计与实现_视频_数据 基于DM365的双码流视频监控设备的设计与实现_视频_数据 智能
(图片来自网络侵删)

1 系统总体设计框架

本文采取视频采集芯片+多核芯片(ARM核+DSP核或编解码协处理器组成)的方案来设计视频监控终端设备,这种方案将视频采集芯片得到的数据接入到多核芯片中,再交由DSP核或编解码协处理器完成视频数据的编码,终极通过ARM核对系统进行掌握,完成数据流的精确通报和其他必要操作。
这种方案本钱较低,性价比较高。

硬件框架方面,选用了TI公司的基于DaVinci技能的TMS320DM365芯片作为处理器芯片,以及同为TI公司出品的TVP5151芯片作为视频前端采集芯片来搭建嵌入式视频监控设备。

系统硬件框架设计图如图1所示。

软件框架方面,采取多线程合营事情的方案进行设计,多线程编程相较于多进程编程,它不仅在资源利用率方面有较大的上风,同时也大大降落了程序员编程的难度,加快了项目软件的开拓。

2 视频处理子系统模块

TMS320DM365芯片上供应了一个视频处理子系统(VPSS),用于视频数据的实时采集、播放等功能。
VPSS内部集成了一个视频处理前端模块(VPFE)和一个视频处理后端模块(VPBE),VPFE用来掌握接入的外部图像采集设备,如图像传感器、视频解码器等,本系统接入了TVP5151视频解码器。
VPBE则用来掌握接入的显示设备,如标清的仿照电视显示器、数字的LCD液晶显示屏等,本系统接入了RGB565LCD液晶显示屏。
此外,VPSS还集成了内存缓存区和DMA(直接内存访问)掌握器,用来担保有效地利用DDR2或mDDR,掌握突发带宽。

2.1 驱动配置

2.1.1 VPFE采集驱动的配置

VPFE采集驱动通过标准的V4L2接口将底层硬件的功能暴露给了上层运用程序,这样,运用程序就能通过掌握V4L2设备(/dev/Video0)来获取由连接到VPFE的视频解码器(如TVP5151)采集到的一帧原始数据。
VPFE硬件模块支持以下两种不同的数据管道[7],如图2所示。

(1)输入接口通过IPIPE接入到SDRAM,所有型号的SoC都支持这个通道。

(2)输入接口通过IPIPE接入到Previewer,并终极从Resizer输出两种不同分辨率大小的视频数据到SDRAM,从RSZ-A输出的是原始分辨率大小的图像,用于后续的数据编码,从RSZ-B输出的是分辨率较小的图像,用于后续的实时显示。

为了实现前文所述的视频实时显示功能,通过VPFE驱动将VPFE硬件模块配置成第二种数据流利道的采集办法。

2.1.2 VPBE显示驱动的配置

VPBE显示驱动由更底层的V4L2(Video for Linux 2)驱动和FB(Frame Buffer)驱动构成,当内核加载V4L2驱动时,它会向内核注册/dev/Video2和/dev/Video3两个设备,而当内核加载FB驱动时,它会向内核注册/dev/fb/0、/dev/fb/1、/dev/fb/2、/dev/fb/3 4个设备,注册的设备都对应了它们所能掌握的图层[8],对应关系如表1所示。

可以通过设置系统启动参数来决定VPBE驱动被加载时会向内核注册的设备,以此决定开启的图层以及图层开启后受何种设备掌握[9],例如,注册/dev/fb/3设备,VID1图层将被开启且只受/dev/fb/3设备掌握。
在实际方案中,启动参数指定VPBE向内核注册/dev/Video2设备和/dev/fb/0设备,分别开启了VID0图层和OSD0图层,个中VID0图层受/dev/Video2设备掌握,用于显示采集到的视频数据,而OSD0图层受/dev/fb/0设备掌握,用于显示QT等UI交互界面,别的图层默认保持关闭状态。

VID0图层的数据和VID1图层的数据会依次经由VPBE硬件模块中的OSD部件和ENC部件,终极由DAC模块输出仿照旗子暗记或者由LCD掌握器输出数字旗子暗记[10],数据管道如图3所示。

在前文中已提到,LCD液晶屏被接入到了VPBE模块,以是VPBE驱动将VPBE硬件模块配置成视频数据由VID0图层输入,并终极通过LCD掌握器输出到LCD液晶屏上。

2.2 运用程序设计

在VPFE驱动将VPFE硬件模块配置为双分辨率数据流的条件下,将运用层程序设计为一起数据流用于视频实时显示,其余一起数据流用于视频编码,Capture线程数据流程图如图4所示。

(1)第一起数据流

hCapture-->hCapBuf-->hDstBuf(D1:720x576)-->hOutFifo,用于视频编码存储。

(2)第二路数据流

hCapture-->hCapBuf-->hRzbBuf-->hDisBuf(QVGA:320x240)-->hDisplay,用于视频实时显示。

hCapBuf缓存用于存放VPFE采集驱动采集到的原始视频数据,存放着736×576大小的数据,hDstBuf缓存中的数据用于供后续视频编码存储,存放着D1:720×576大小的数据,hDisBuf缓存中的数据用于供后续视频显示回放,存放着QVGA:320×240大小的数据,hRzbBuf缓存中的数据用于供后续视频编码上传。

3 视频编码模块

原始视频数据的编解码须要用到达芬奇软件框架的Codec Engine(编解码引擎)技能来实现。
Codec Engine定义了一组VISA(Video Image Speech Audio)APIs接口供运用程序调用。
DM365的高清视频协处理器(HDVICP)封装了相应的编解码算法,ARM处理器中的运用程序可以通过VISA-APIs接口对编解码算法进行调用。
ARM处理器卖力实行运用程序,视频协处理器卖力实行编解码算法,这样不仅大大降落了ARM处理器的CPU占用率,还能提高编解码的效率。
本文采取H.264编码标准进行编码,须要调用相应的H.264算法实例。

3.1视频编码接口

H.264是一种高性能的视频编解码标准,继续了H.263和MPEG1/2/4视频编码器的优点。
H.264标准中定义了两个层次:视频编码层(VCL)和网络抽象层(NAL),VCL卖力高效的数字视频数据压缩,NAL供应适当的接口对数据进行打包和传送。

为了得到H.264格式的视频流,须要配置alg_server.cfg文件来实现对已经编译算法的调用,文件配置如下:

var H264ENC=xdc.useModule(′ti.sdo.codecs.h264enc.ce.H264ENC′);//指定调用的算法

var myEngine=Engine.create(\"大众alg_server\"大众,[{name:\"大众h264enc\"大众,mod:H264ENC,local:true,groupId:1}]);

//创建引擎实例

在运用程序中能调用的接口函数有:VIDENC1_create、VIDENC1_control、VIDENC1_process和VIDENC1_delete,它们分别卖力编码实例的创建、掌握、运行以及终极的打消。

3.2 运用程序设计

所设计的Video线程基于Capture线程,Capture线程向Video线程输入一起D1:720×576大小的数据流,Video线程如图5所示。

4 测试结果

测试环境搭建方法如下:

(1)LCD液晶屏连接在以TMS320DM365为主芯片的产品板上,TMS320DM365主芯片的CPU频率为216 MHz,板载Flash为1 GB,板载DDR2为128 MB。

(2)本地备份的视频数据文件存储在SD卡中,文件格式为H.264,文件大小为6.2 MB,总时长为1 min,利用VLC播放器播放。

经测试,视频监控终端设备能实时地显示摄像头采集到的视频画面,显示画面大小为QVGA(320×240),如图7(a)所示。
SD卡里存储备份的视频数据也成功记录了一段韶光内的视频画面,分辨率大小为D1(720× 576),如图7(b)所示。

5 结论

本文设计实现了基于TMS320DM365硬件平台的视频监控终端设备,该视频监控终端设备不仅具有数据采集功能,而且还集成了本地存储备份以及原始数据实时显示等核心功能。
采取TMS320DM365的ARM+DSP双核模式,提高了编码效率以及传输效率,通过测试创造,实时图像清晰流畅,ARM资源霸占率低,可扩展性大,知足系统实时性和稳定性的哀求。

参考文献

[1] 张伟.视频监控技能的发展进程和方向[J].中国交通信息家当,2007(6):139-142.

[2] 郑磊.基于嵌入式Linux的网络视频监控系统研究[D].武汉:武汉理工大学,2011.

[3] 刘继超.基于DM355的嵌入式网络视频监控系统设计[D].青岛:青岛科技大学,2012.

[4] 望重.嵌入式网络视频监控系统的研究与实现[D].镇江:江苏大学,2010.

[5] 胡攀.基于Linux的网络视频监控系统设计[D].武汉:武汉理工大学,2012.

[6] 项昌晨,王磊.基于TMS320DM365的网络视频监控系统设计[J].机电一体化,2011,17(12):58-63.

[7] Texas Instruments. Davinci Linux VPFE Capture Driver[EB/OL].[2014-12-15].http://www.ti.com/lit/an/sprs566a/sprs566a.pdf.

[8] Texas Instruments, Video Processing Back End(VPBE)[EB/OL].[2014-12-15].http://www.ti.com.cn/cn/lit/ug/sprufg9c/sprufg9c.pdf.

[9] Texas Instruments, LSP 2.10 DaVinci Linux VPBE Frame Buffer Driver[EB/OL]. [2014-12-15]. http://www.ti.com/lit/ug/spruek9/spruek9.pdf.

[10] Texas Instruments, LSP 2.10 DaVinci Linux V4L2 Display Driver[EB/OL]. [2014-12-15]. http://www.ti.com/lit/ug/spruel3/spruel3.pdf.

标签:

相关文章

IT视觉部门在新时代下的挑战与机遇

随着信息技术的飞速发展,视觉技术在各个领域的应用日益广泛,IT视觉部门作为企业信息化建设的重要一环,肩负着推动企业数字化转型、提升...

智能 2024-12-25 阅读0 评论0

IT设备借用,高效协作的数字化桥梁

随着信息技术的飞速发展,IT设备已经成为企业日常办公和日常生活的必需品。在许多情况下,IT设备借用成为企业提高工作效率、降低成本、...

智能 2024-12-25 阅读0 评论0

IT设计专业,未来职场的关键驱动力

随着科技的飞速发展,IT设计专业已经成为当今社会最为热门的学科之一。从互联网、大数据、人工智能到物联网,IT设计专业涉及的技术领域...

智能 2024-12-25 阅读0 评论0

IT行政助理,企业信息化发展的重要推手

随着信息技术的飞速发展,企业信息化建设已成为提高企业竞争力、实现转型升级的关键。IT行政助理作为企业信息化建设的重要参与者,承担着...

智能 2024-12-25 阅读0 评论0

IT衣服客服,智慧时代下的贴心服务

随着科技的发展,互联网的普及,IT行业在人们的生活中扮演着越来越重要的角色。在这个信息爆炸的时代,IT衣服客服作为连接企业与用户的...

智能 2024-12-25 阅读0 评论0