我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 926|回复: 0

基于IPV6的嵌入式视频监控系统 - 工业/测控 - 电子工程师俱

[复制链接]

该用户从未签到

1万

主题

1292

回帖

2万

积分

管理员

积分
29577

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-30 00:43:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
<strong>引言</strong>

目前,嵌入式视频监控系统已成为国内外视频监控系统应用的主流,但是在 IPv4平台下存在地址不足、不能合理分配带宽、安全性能及移动性能差等诸多问题,而新一代IPv6协议不仅能很好的解决以上问题,而且还具有可以提高视频传输速度和传输质量等多方而的优点。如何使嵌入式视频监控系统与IPv6技术相结合是当前监控系统研究的一个重要方向。

<strong>1 视频监控系统总体设计</strong>

1.1系统结构

系统总体结构如图1所示。摄像头和视频服务器组合在一起称为视频服务端或网络摄像机,每个视频服务端分配一个独立IPv6后通过双绞线接入网络,客户端通过IP网络直接访问和控制视频服务端。摄像头和麦克风将采集的模拟音视频信号送入内部嵌入式Linux操作系统的视频服务器,并通过双绞线接入网络。模拟信号被送入编码器编码成MPEG-4的视频流和ADPCM的音频流,从编码器出来的音视频流再被分为两路,一路送入本地的视频监视器,另一路通过网络发送到客户端。客户端把服务器端传来音视频数据分为两路,一路进行客户端存储,另一路启动irectShow流水线,将视频信号和音频信号分离,分别送入各自的解码器(视频信号采用 MPEG-4解码器解码)。最后,解码后的音视频信号被送入对应的设备进行实时预览。


<ignore_js_op>





2010-4-14 11:04:46 上传
<strong>下载附件</strong> (8.51 KB)




</ignore_js_op>

图1 系统总体结构图

1.2系统设计思路

系统工作需要硬件和软件协调土作共同实现。摄像头采集视频、麦克风采集音频,由服务器端采集卡完成音视频的采集和压缩,通过调用驱动程序读取采集和压缩后的音视频数据到缓存。缓存区中的音视频数据发送传输都由服务器端软件实现。

服务器端软件读出缓冲区的数据,启动发送模块,发送时采用RTP协议打包,模块读取缓冲区中的视频流是以一帧为最小单位,由于按一帧打包时数据长度比较大小适合在网络中传输,所以需要在打包前将帧分割成几段以适合网络传输。按照RTP协议打包好的数据,通过UDP传输到客户端,如果是单用户采用单播,如果是多用户则采用多播。

客户端采用B/S模式接收服务器发送的音视频流,并解码播放。B/S模式下,播放视频在IE中实现,具体的实现需要ActiveX控件支持,由控件嵌入到WEB中实现,这样客户端只需要通过浏览器就可以观看现场视频。服务器采集音视频流并压缩,通过网络发送到客户端,客户端解码还原出清晰的图像是视频监控的基本功能。

<strong>2 视频监控硬件原理及设计</strong>

本系统是在 GX-ARM9-S3C2410核心模块上进行开发。该嵌入式监控视频服务器的设计主要是指根据系统要求实现的功能,选定主控制芯片和专用音视频压缩芯片,并确定其外围电路,实现声音图像采集、压缩、输出等功能。由于作者主要完成系统的软件部分,这里只对硬件部分做简要介绍。硬件模块结构设计如图2所示:


<ignore_js_op>





2010-4-14 11:04:46 上传
<strong>下载附件</strong> (9.37 KB)




</ignore_js_op>

图2 视服器硬件框图

2.1音视频压缩/解压缩模块

该模块的质量直接关系到系统的图像和声音以及传输质量,是系统硬件的重要部件之一。因此模块选用了VW2010,它是VWEB公司开发的实时MPEG4音视频压缩 /解压缩芯片((Encoder/Decoder),该芯片内集成有3个信号处理/控制单元,包括一个视频编码(压缩)器、一个视频解码(解压)器和一个片内CPU(内部扩展一个音频编码 DSP C Digital Signal Processors、一个音频解码DSP、一个多路复合单元和一个多路解复合单元 ):具有可编程、高性能和低功耗等特点。

2.2音视频采集、A/D模块

该模块将摄像头采集到的模拟视频信号发送到模块中的视频A/D转换芯片进行视频数字化处理,同时将麦克风采集到的模拟音频送入音频A/D转换芯片进行音频数字化处理。采用Philips的SAA7115H,它是9bit视频A/D转换器,支持 NTSC/PAL/SECAM制式,输出数字的视频信号符合ITU601和ITU-8656标准。系统的音频模块主要是以一块音频A/D转换芯片PCM 1800以及与之配套的模拟音频输入输出电路构成。PCM 1800芯片最高采样率可达到96KHz,可以满足绝大多数语音应用的要求。该芯片的数字音频输入输出接口采用I2S模式,直接和VW210芯片连接。

2.3网络传输模块

模块选用的网络接口芯片是Realte公司的RTL8201BL。它是具有lOM/100Mps自适应功能的以太网收发控制器,是目前应用最为广泛的一种网络接口芯片。系统将压缩后的音视频数据打包,通过网络接口发送到网络中,其电路图如图3所示。


<ignore_js_op>





2010-4-14 11:04:46 上传
<strong>下载附件</strong> (7.85 KB)




</ignore_js_op>

图3 以太网接口连接

<strong>3 软件总体结构与设计</strong>

系统软件设计包括服务器端和客户端软件设计。服务器端软件主要实现采集音视频、压缩编码、打包发送到网络。客户端软件主要实现接受服务器发送过来的音视频压缩包,然后对数据拼接解码、播放,如图4所示。


<ignore_js_op>





2010-4-14 11:04:46 上传
<strong>下载附件</strong> (10.39 KB)




</ignore_js_op>

图4 服务器端软件构架图

3.1 MPEG-4视频流的RTP组包处理

要通过RTP传输MPEG-4视频流,需要对其进行打包(Packetization)处理。加上时间、同步等信息。MPEG-4对每个voP (voP是 VO在某一时刻的对象,即某一帧 vo)独立进行编/解码。因此以VOP为单位进行打包,既提高了效率又充分利用了 MPEG-4的编码特性。为了不造成IP碎片,包长还须有一个限制,就是不能超过该网络路径的MTU(Maxium Transit Unit)。考虑到传输的高效性和丢包的鲁棒性,我们取包长为当前VOP大小与路径MTU值的较小值,采用如下组包机制:

1) VOP能放入单个RTP包,就把此VOP单独放入一个RTP包中;

2) VOP分段,放入多个RTP包,此时须把VOP头部信息复制到每个RTP包,以去除包间的相关性,达到丢包的鲁棒性 :为减小包数,降低开销,一包中能放入多少宏块就尽可能多地放入多少宏块,但即使最后一个包中仍有剩余空间,也小能把另一VOP中的宏块放入此包中,算法流程如图5所示。


<ignore_js_op>





2010-4-14 11:04:46 上传
<strong>下载附件</strong> (6.52 KB)




</ignore_js_op>

图5 组包算法流程

3.2 服务器端视频发送和客户端视频接收

在基于DirectShow的视频发送端中,其过滤器图分别由Video Capture Filter,Video Codec和 RTP Video Renderer Filter按顺序连接成一条“流水线”协同工作,他们分别完成源过滤器、转换过滤器和呈现过滤器的工作。 Video Capture Filter负责视频数据采集,Video Codec负责视频数据的压缩,最后由 RTP Video RendererFilter将压缩的视频数据封装 RTP包发送到网络上。过滤器之间的数据发送采用推模式。


<ignore_js_op>





2010-4-14 11:04:47 上传
<strong>下载附件</strong> (4.17 KB)




</ignore_js_op>

图6 发送端软件流程图

视频发送实现过程如下:

1) 初始化COM组件,初始化DirectShow,包括建立GraphManager接口、建立 GraphBuilder接口(它的CLSID为CLSID_ FilterGraph)、建立BasicFilter接口,并将VWSource Filter (VW210), Sputter Filter(音视频分离过滤器)、Codec Filter(TopStepdVideo)和RTPVren}lter(RTP传输呈现过滤器)加到 GraphBuilder。

2) 通过系统设各列举接口找到系统中默认的视频捕获设备,并添加到GraphBuilder中,查询GraphBuilder获得媒体事件接口和媒体控制接口,连接各个过滤器,设置RTP Vrenflter参数。

3) 通过GraphManager的控制接口,运行过滤器图,捕获并发送图象。

4) 等待运行结束消息,释放各个接口,关闭COM组件。

视频发送实现过程中图像传输的实现最为关健,当视频发送端响应网络客户端发出的视频数据请求后,马上启动视频数据发送线程,开始采集MPEG视频数据并源源不断地写入到发送缓冲区中。它的实现原理是:位于源过滤器VWSource Filter(VW210卡)将从摄像头获取的模拟视频图像首先进行A/D转换,然后将采集到的视频数据交给下游的MPEG Stream Spatter filter,由它对获得的数据进行解析后转交给其下游的变换过滤器Video Coder filter进行 MPEG编码,然后将编码后的MPEG视频数据写入发送缓冲区,这部分都由VW210卡完成。如果选择本地存盘则过滤器图连接到此结束,将视频数据直接写入磁盘。视频接收端程序流程如下图7所示:


<ignore_js_op>





2010-4-14 11:04:47 上传
<strong>下载附件</strong> (3.68 KB)




</ignore_js_op>

图7 接收端软件流程图

<strong>4 结论</strong>

本文创新点:本视频监控系统是基于ARM嵌入式核心处理器的硬件平台,其中嵌入式系统中移植TCP/IPv6协议,在原有MPEG4视频编码基础上采用了新的运动估计优先估计矢量分布概率算法进行优化,同时对视频传输算法也作了相应的改进。系统结合了流媒体技术,IPv6技术,嵌入式技术等优点,实验证明该系统视频监控方而取得了良好效果。


作者:侯国平  来源:《微计算机信息》(嵌入式与SOC)2009年第8-2期
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

公告:服务器刚移机,
大家请不要下载东西。
会下载失败


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表