基于ARM和FPGA的智能网络摄像头的分析系统及分析方法与流程

文档序号:12038191阅读:778来源:国知局
基于ARM和FPGA的智能网络摄像头的分析系统及分析方法与流程

本发明涉及流媒体传输领域,具体涉及一种基于arm和fpga的智能网络摄像头的分析系统及分析方法。



背景技术:

网络摄像头简称webcam,英文全称为webcamera,是一种结合传统摄像机与网络技术所产生的新一代摄像机,它可以将影像透过网络传至地球另一端,且远端的浏览者不需用任何专业软件,只要标准的网络浏览器(如"microsoftie或netscape),即可监视其影像。

网络摄像头是传统摄像机与网络视频技术相结合的新一代产品,除了具备一般传统摄像机所有的图像捕捉功能外,机内还内置了数字化压缩控制器和基于web的操作系统,使得视频数据经压缩加密后,通过局域网,internet或无线网络送至终端用户。而远端用户可在pc上使用标准的网络浏览器,根据网络摄像机的ip地址,对网络摄像机进行访问,实时监控目标现场的情况,并可对图像资料实时编辑和存储,同时还可以控制摄像机的云台和镜头,进行全方位地监控。

目前,网络摄像头的普及与逐步完善,如何在现有环境中结合同样也在近年快速发展的图像模式识别,打造智能化的网络监控系统成了重中之重。但由于模式识别的大运算量,实时性本身十分依赖硬件,当需要识别的图像来源为网络摄像头时,对实时性的考验就更大了。这里实时性的提高有包括两个方面,一个是视频流信号的采集与解码,另一个对图像识别的速度。目前这两方面都严重依赖硬件的支持,现有的硬件支持不是成本过高,就是对已经搭建的ipc网络接入难度过大。



技术实现要素:

本发明的目的在于提供一种基于arm和fpga的智能网络摄像头的分析系统,其解决了目前网络摄像头难接入图像识别处理模块的问题,运行于arm端的极低延迟的rtsp流媒体客户端作为网络摄像头的接入口,进行同时多路视频流的采集与解码工作,再将解码后的图像通过pcie回传到fpga中,使用fpga的cnn硬件加速器对图像进行实时识别目标。

本发明的技术方案是:一种基于arm和fpga的智能网络摄像头的分析系统,包括流媒体捕获模块、流媒体解码模块以及图像识别处理模块,所述流媒体捕获模块采用rtsp流媒体客户端,所述流媒体解码模块采用基于解码arm的硬件解码器,所述rtsp流媒体客户端运行于所述解码arm的系统中并分别与网络摄像头和所述硬件解码器连接,所述图像识别处理模块配置有基于fpga的硬件加速器,所述解码arm与所述fpga之间通过pcle高速总线相连接,所述流媒体解码模块与所述图像识别处理模块的数据格式相同,所述rtsp流媒体客户端对多路ipc流媒体进行高速并行捕获,所述硬件解码器对多路ipc流媒体进行同时解码,并且实时抓取解码后图像进行输出,所述硬件加速器对图像进行实时目标识别。

解码arm为解码arm芯片,fpga为fpga开发板。

进一步的,所述解码arm采用hi3536芯片。

进一步的,所述硬件加速器为sobel边缘检测加速器。

进一步的,所述硬件加速器为cnn硬件加速器,所述cnn硬件加速器采用加法树和二进制数移位的方式完成并行的卷积计算。

进一步的,所述网络摄像头、所述硬件解码器以及所述图像识别处理模块分别通过网线电连接交换机。

进一步的,所述交换机为通用千兆交换机。

进一步的,所述硬件加速器通过pcie高速串行计算机扩展总线连接所述图像识别处理模块。

进一步的,所述图像识别处理模块通过hdmi高清连接线连接显示器。

本发明还提供另外一个技术方案:一种基于arm和fpga的智能网络摄像头系统的分析方法,包括流媒体捕获过程和流媒体解码过程,

所述流媒体捕获过程包括如下步骤:

s1-1、实例化rtsp流媒体客户端的句柄,进入s1-2;

s1-2、初始化一个或多个rtsp流媒体客户端,进入s1-3;

s1-3、打开每个所述rtsp流媒体客户端的rtsp流,进入s1-4;

s1-4、使用rtsp流媒体客户端中的数据回调函数获取rtsp流媒体数据,进入s1-5;

s1-5、删除每个所述rtsp流媒体客户端;

所述流媒体解码过程包括如下步骤:

s2-1、初始化硬件解码器,进入s2-2;

s2-2、配置所述硬件解码器的vb视频缓存池参数,进入s2-3;

s2-3、配置所述硬件解码器的vdec解码模块参数、vpss处理模块参数以及vo输出模块参数,使所述vdec解码模块的通道与所述rtsp流媒体客户端一一对应,所述vpss处理模块的组与所述vdec解码模块的通道一一对应,所述vo输出模块的通道与所述vpss处理模块的组一一对应,进入s2-4;

s2-4、使能所述vdec解码模块的通道、所述vo输出模块通道的通道以及所述vpss处理模块的组,进入s2-5;

s2-5、绑定对应的rtsp流媒体客户端、vdec解码模块的通道、vpss处理模块的组以及vo输出模块通道的通道,进入s2-7;

s2-6、一个或多个所述rtsp流媒体客户端送出一路或多路rtsp流媒体数据,进入s2-7;

s2-7、所述硬件解码器通过所述数据回调函数的使用,获取所述一路或多路rtsp流媒体数据,进入s2-8;

s2-8、在每个回调函数中,发送流媒体数据到与其对应的vdec解码模块的通道中,进入s2-9;

s2-9、从每个vdec解码模块的通道中取出解码后的图像数据,发送到与其对应的vpss处理模块进行缩放操作,进入s2-10;

s2-10、从每个vdec解码模块的通道中取出解码后的图像数据,发送到与其对应的vo输出模块的通道中。

进一步的,当流媒体为1080p@60fps时,vdec解码模块的个数不大于16。每个硬件解码器可与16路网络摄像头连接。

借由上述方案,本发明至少具有以下优点:

(1)本发明中的rtsp流媒体客户端运行于解码arm的系统中,其与网络摄像头和硬件解码器接口对接,实现极低延迟的ipc视频流抓取和解码;

(2)本发明中的流媒体解码模块和图像识别处理模块的数据格式相同,使得网络摄像头的数据能够很好的接入图像识别处理模块。

解码arm采用hi3536芯片,利用h.264的并发解码能力,实现极低延迟的ipc视频流抓取和解码,其中,rtsp的极低延迟由其高性能的并发处理能力和零缓存技术提供支持,现有rtsp客户端都存在缓存控制,来达到视频流的流畅播放的目的,但是这种缓存将造成不可控的延迟。而高性能的并发处理,将使得本rtsp客户端理论上可以同时处理无上限的rtsp视频流(受限与搭载的硬件)。随后的实时图像识别技术由基于fpga的cnn硬件加速器提供支持。本fpga的cnn硬件加速器能够做到数据驱动的运行效率,即传入数据的速度直接决定了最后的输出速度,输入数据停止,本cnn加速器也将暂停工作。所以本cnn硬件加速器的图像处理能够达到真正的实时,对单张图像的识别速度不会低于pcie总线的数据传输速度。由于采用上述方案,可以将图像与图像识别端到端的延迟压缩在300ms以内,以60帧的视频流为例,即延迟仅仅20帧不到。且架构简单,更易于接入已有的ipc网络中。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。

附图说明

图1是本发明公开的基于arm和fpga的智能网络摄像头的分析系统的组成示意图;

图2是本发明公开的rtsp流媒体客户端的处理流程图;

图3是本发明公开的硬件解码器的处理流程图。

其中:10、前端采集模块;20、服务器;30、网络摄像头;40、显示器;50、交换机。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

参见图1至图3,如其中的图例所示,一种基于arm和fpga的智能网络摄像头的分析系统,包括前端采集模块10和服务器20,前端采集模块10包流媒体捕获模块和流媒体解码模块,流媒体捕获模块采用rtsp流媒体客户端,流媒体解码模块采用基于解码arm的硬件解码器,上述rtsp流媒体客户端运行于解码arm的系统中并分别与网络摄像头30和上述硬件解码器连接,上述服务器20设有图像识别处理模块,上述图像识别处理模块与显示器40连接,上述图像识别处理模块配置有基于fpga的硬件加速器,解码arm与fpga之间通过pcle高速总线相连接,上述流媒体解码模块与上述图像识别处理模块的数据格式相同,上述rtsp流媒体客户端对多路ipc流媒体进行高速并行捕获,硬件解码器对多路ipc流媒体进行同时解码,并且实时抓取解码后图像进行输出,硬件加速器对图像进行实时目标识别。

一种实施方式中,解码arm采用hi3536芯片。

一种实施方式中,硬件加速器为sobel边缘检测加速器。

一种实施方式中,硬件加速器为cnn硬件加速器,该cnn硬件加速器采用加法树和二进制数移位的方式完成并行的卷积计算。

一种实施方式中,网络摄像头30、硬件解码器以及图像识别处理模块分别通过网线电连接交换机50。

一种实施方式中,交换机50为通用千兆交换机。

一种实施方式中,硬件加速器通过pcie高速串行计算机扩展总线连接所述图像识别处理模块。

一种实施方式中,上述图像识别处理模块通过hdmi高清连接线连接显示器40。

下面介绍上述基于arm和fpga的智能网络摄像头的分析方法,包括流媒体捕获过程和流媒体解码过程,

上述流媒体捕获过程包括如下步骤:

s1-1、实例化rtsp流媒体客户端的句柄,进入s1-2;

s1-2、初始化一个或多个rtsp流媒体客户端,进入s1-3;

s1-3、打开每个rtsp流媒体客户端的rtsp流,进入s1-4;

s1-4、使用rtsp流媒体客户端中的数据回调函数获取rtsp流数据,进入s1-5;

s1-5、删除每个rtsp流媒体客户端;

上述流媒体解码过程包括如下步骤:

s2-1、初始化硬件解码器,进入s2-2;

s2-2、配置硬件解码器的vb视频缓存池参数,进入s2-3;

s2-3、配置硬件解码器的vdec解码模块参数、vpss处理模块参数以及vo输出模块参数,使vdec解码模块的通道与rtsp流媒体客户端一一对应,vpss处理模块的组与vdec解码模块的通道一一对应,vo输出模块的通道与vpss处理模块的组一一对应,进入s2-4;

s2-4、使能vdec解码模块的通道、vo输出模块通道的通道以及vpss处理模块的组,进入s2-5;

s2-5、绑定对应的rtsp流媒体客户端、vdec解码模块的通道、vpss处理模块的组以及vo输出模块通道的通道,进入s2-7;

s2-6、一个或多个rtsp流媒体客户端送出一路或多路rtsp流媒体数据,进入s2-7;

s2-7、硬件解码器通过所述数据回调函数的使用,获取一路或多路rtsp流媒体数据,进入s2-8;

s2-8、在每个回调函数中,发送流媒体数据到与其对应的vdec解码模块的通道中,进入s2-9;

s2-9、从每个vdec解码模块的通道中取出解码后的图像数据,发送到与其对应的vpss处理模块进行缩放操作,进入s2-10;

s2-10、从每个vdec解码模块的通道中取出解码后的图像数据,发送到与其对应的vo输出模块的通道中。

当流媒体为1080p@60fps时,vdec解码模块的个数不大于16,分辨率为720p时,vdec解码模块的个数不大于32个,vpss处理模块始终为128,vo输出模块始终是64。

以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1