新闻中心

EEPW首页>嵌入式系统>设计应用> 基于关键帧提取技术的网络视频监控系统

基于关键帧提取技术的网络视频监控系统

作者: 时间:2016-09-12 来源:网络 收藏

CAM即内容可寻址存储器。CAM这种存储器在其每个存储单元都包含了一个内嵌的比较逻辑,CAM基于内容寻址,通过硬件电路并行查找,实现快速匹配。一般来说在一个时钟周期内,写入CAM的待比较数据和其内部存储的每一个数据进行比较,并返回与端口数据相同的内部数据存储的地址和是否匹配的标识符。CAM的这种并行处理特性使得它在数据分选领域倍受青睐,被广泛应用在以太网网址搜寻、路由器中的地址交换表、高速数据处理等方面。

基于CAM在模式匹配方面的良好特性,我们将的匹配单元在中实现。由于Spartan 3E的BRAM资源有限,所以系统存储的数据不会很多。将匹配图像的颜色直方图和形状轮廓信息存储在CAM中后,提取的颜色直方图和形状轮廓信息进行匹配。用这种方法可以提高关键帧匹配的速率,避免了系统的瓶颈。

关键帧匹配规则库

视频关键帧匹配规则库的更新是提高视频监测准确性的关键。因此,视频匹配规则库良好的接口设计是用户交互的重要方面,在本系统中,我们将关键帧信息存储在CAM中,当用户根据自己的需求,提取出自定义图像的颜色直方图和形状轮廓特征信息后,可在线写入CAM中,作为新的匹配规则。

告警响应处理单元

鉴于当前网络攻击方式的多种多样和系统本身的处理能力有限,我们建议将此系统和其它网络安全设备相结合构成网络安全保障体系结构。综合各种安全监测设备自身的优点和不足,合理利用有限的资源,全方位保障内部网络的安全。

在此系统中,我们可以提取出视频源的IP地址和端口号,如果确定当前视频含有垃圾信息,系统将其IP地址和端口号传输到体系中的防火墙等设备,由防火墙截断其数据包的传输,并将其列入黑名单重点监测。同时,提取出的关键帧还将由病毒扫描系统等安全审计设备进行检查,防止视频中捆绑有病毒和木马等攻击信息。

图5   硬件实现示意图

图5 硬件实现示意图

II.软件实现

系统网络接口

Lwip是瑞士计算机科学院(Swedish Institute of Computer Science)的Adam Dunkels等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。Lwip既可以移植到操作系统上,又可以在无操作系统的情况下独立运行.

LwIP的特性如下:

(1) 支持多网络接口下的IP转发;

(2) 支持ICMP协议 ;

(4) 包括阻塞控制,RTT估算和快速恢复和快速转发的TCP协议;

(5) 提供专门的内部回调接口(Raw API)用于提高应用程序性能;

(6) 可选择的Berkeley接口API(多线程情况下);

(7) 在最新的版本中支持PPP;

(8) 新版本中增加了的IP fragment的支持;

(9) 支持DHCP协议,动态分配ip地址。

在Xilinx公司提供的ISE 10.1开发套件中,EDK开发软件支持Lwip的应用,同时软件自身包含Lwip的库。因此,系统中的网络接口我们全部基于Lwip的RAW IP模式开发。

关键帧提取

FFmpeg是用于制作和转化流媒体音频和视频的完整解决方案, 包括 libavcodec ,一套先进的的音视频编解码类库。FFmpeg 在Linux上开发,当可以在大多数操作系统下编译,包括Windows。

Ffmpeg开源项目由以下几部分组成:

FFmpeg 视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件;

FFserver 基于HTTP(RTSP正在开发中)用于实时广播的多媒体服务器.也支持时间平移;

FFplay 用 SDL和FFmpeg库开发的一个简单的媒体播放器;

libavcodec 一个包含了所有FFmpeg音视频编解码器的库.为了保证最优性能和高可复用性,大多数编解码器从头开发的;

libavformat 一个包含了所有的普通音视格式的解析器和产生器的库.

在系统中的网络视频解码和关键帧提取单元,解码器的实现是在开源音视频解码器库libavccodec的开发上实现的。

RS232串口通信

1K Xmodem文件传输协议为基于点对点连接的服务与客户端间的通信,提供了一种固定包长度的简单的连续文件传输协议。每一个包都包含1024字节的文件数据,并且都单独的被接收客户端响应。每次只能传输一个文件,并且失败后只能从新开始传输。

图 6 文件数据包格式

图 6

文件数据包格式1K Xmodem文件传输协议并不需要向接收客户端发送待发送文件的名称 ,该文件将会被接收方授予一个局部有效的文件名。 要开始文件传输的过程,首先接收方向发送方发送一个轮询字符,来提示发送方客户端已经准备好了。如果接收方支持check-sum (CRC)校验,则轮询字符可以用0x43 (ASCII 字母 C);如果接收方只支持旧的checksum (求总和)校验,则轮询字符可以用0x15 (NACK线控制字符)。发送方响应接收方的启动字符,开始发送文件数据包,每个包都是1024字节的固定长度。如果最后一个文件数据包不足1024字节,则利用NACK(0x1A)填充到1024字节。接收方通过ACK(正常接收)或者NACK(非正接收)来响应每一个包。如果发送方收到ACK,则发送下一个包知道文件传输完成;如果发送方收到NACK,则重新发送上一个包。当发送方发送完成后,发送EOT通知接收方文件传输结束,接收方发送ACK来响应,发送方收到ACK后则文件传输完成。在系统中,eBox-4300通过1K Xmodem文件传输协议和Spartan 3E的RS232串口进行关键帧的传输。同时,系统也可以通过串口和系统管理主机进行通信。

图 7 软件实现流程图

图 7 软件实现流程图

1.捕获分析:用户可根据实际情况,调整视频数据包捕获的标志字段,来截取当前网络中的视频数据包; 2.灵活的解码系统:由于当前流媒体文件格式多样,我们在此系统中只进行了ASF格式流媒体文件的解码,但用户可以自己编译自定义的解码器并添加到当前系统中; 3.匹配规则更新:匹配规则的更新是系统高效工作的前提,系统良好的用户交互界面,将帮助用户轻松添加新的匹配规则到当前系统中; 4.协调功能:系统架构初期充分考虑到目前的网络安全设备已经多种多样,为了充分利用网络中已有安全设备的资源,对一些常见的防御功能不再设计。因此,本系统可以很好地和其他安全设备交互网络信息,协调工作功能,从而保障网络各方面的安全。



评论


相关推荐

技术专区

关闭