基于WLAN的移动视频监控系统
扫描二维码
随时随地手机看文章
基于WLAN的移动视频监控系统
介绍基于WLAN的移动视频监控系统,描述了视频捕获、视频再现、无线视频传输等组成模块的原理和工作过程。附录中讨论了解决无线视频传输QoS的带宽自适应流量控制、环形缓冲区处理、守护线程等三种方法。
关键词:移动视频监控系统;视频通信;QoS?
Keywords: mobile video survcilance system; video communication; QoS 手持移动终端通过无线网络调看远程数字视频图像可广泛用于工业控制、小区安全防范,以及新闻媒体服务等场合。文中给出符合IEEE802.11b的基于无线局域网WLAN并以Intel XScale架构的移动终端为表现形式的移动视频监控系统技术方案。?1.1系统架构
移动视频监控系统框架如图1所示,位于多处的网络摄像机通过LAN或VPN提供IP视频源,移动视频终端通过WLAN,经视频发布服务器的认证后,控制摄像机并调看实时图像。
系统支持基于一点到多点IP组播协议(Multicast)。网络中,可定义224.0.0.0到239.255.255.255范围的多点IP组播地址。多点组播的优点在于满足网络规模较大时,可同时向众多终端用户同时提供多路图像。但须注意视频源负担的降低是以增加路由器负担为代价的,这可由视频发布服务器加以限定。? 视频监控系统采用主从(Client/Server)模式。主机端为视频流发布源,基于Windows操作系统,完成原始视频图像的采集、压缩编码和网络数据发送;从机端为播放移动终端,基于嵌入式Linux操作系统,完成网络数据接收、反向流量控制、云台远程控制、上层用户界面、视频解码与再现等功能。主要技术有:
(1)选用Osprey-100图像采集卡,实现多路视频捕获。在编码器性能允许条件下,可实现多路视频传输。(2)视频编解码采用MPEG4编码标准,并协同网络对QoS进行处理。(3)视频流经基于IEEE802.11b的WLAN,通过UDP通道传输;由于WLAN无线信道特性,须加以必要的流量控制和QoS处理。(4)TCP反馈控制及其他数据交互通过TCP通道交互。
图2系统由视频源端、WLAN、嵌入式移动终端组成。其中视频源端可分为:视频捕获、MPEG4编码、无线网络传输三模块;嵌入式移动终端可分为:嵌入式移动终端、MPEG4解码、视频再现三模块;WLAN与双方无线网络传输模块实现信息的交互。? 2.1视频捕获模块概述
该模块完成从模拟视频采集到捕获YUV数字视频流的功能。图像采集卡用YUV12格式将多路监控摄像机的模拟视频转换为多种格式的数字视频信号。?2.2IPP优化视频编解码
IPP(Integrated Performance Primitive)是Intel个人互联网用户架构中的重要组成部分,它在操作系统之上向应用程序提供功能调用,同时又直接立足于硬件,穿越了操作系统。IPP的最大优势在于对各个函数进行了汇编级上的优化;根据CPU的流水线和总线特性采取措施,可提高访问速度和处理速度。
IPP库函数具有多层处理功能。对功能较弱的,可选择IPP库的底层函数;对于较强功能,可选用一个合适的高层IPP函数;用底层“原子”函数的组合也可替代高层函数,应算法要求还能作出改动,这使得对编解码算法优化有着很大的灵活性。
该系统对编解码的具体优化过程见图3,按照MPEG4编码规范,在Micro Block层和Block层,用IPP作出算法优化,达到了大幅度提高编解码效率和提升系统实时性的目的。? 视频再现指移动终端LCD显示屏对解压视频信号的实时播放。要求播放器尽可能快的与显示缓存交互。帧缓冲是Linux嵌入式系统中显存,它是一个提供显示内存和显示芯片寄存器从物理内存映射到进程地址空间中的部件。宜采用DMA通道不断地刷新LCD缓冲区数据。其实现流程如图4所示:将帧缓冲映射到进程地址空间之后,就可以直接进行读写操作,而写操作可立即反应在LCD屏幕上。具体实现是,打开/dev/fb0设备,并通过mmap系统调用进行地址映射,即可通过改写缓冲达到视频的实时播放。采用帧缓冲技术的优点在于高度的移植性、较低的系统资源占用率,以及稳定性,以满足实时播放视频的需要。
4.1无线网络搭建
该模块借助CF无线网卡,通过基于IEEE802.11b标准的无线局域网(WLAN),与固定的无线AP(Access Point接入点),架构多点到多点的模式,完成实时视频的数据传输。该标准采用ISM(Industrial Scientific Medical)无线广播2.45GHz频段,最大速率为11Mbps,采用直接序列扩频(DSSS)传输技术,AP的覆盖半径为100~500m的微蜂窝区域。
4.2CF无线网卡驱动
该工作重点在无线网卡驱动的改写与移植上,可选用基于Intersil Prism芯片组(Version3.0)的ET?CWB1000无线CF网卡,采用Linux Spectum24 PCMCIA驱动。如图5,Linux网络驱动程序结构可划分为四层:设备驱动/网络设备层、网络协议层、用户应用层。CF卡与PCMCIA兼容,PCMCIA控制器将卡连接到系统总线,将卡内存映射到主I/O和内存窗口,并将卡产生的中断路由到自由处理器中断线。
1带宽自适应的流量控制
宽带视频的实时传输需要一定的网络带宽。尤其当有多个用户同时访问同一视频发布服务器的时候,容易产生并发拥塞瓶颈。这时输出码流需动态调整,以适应网络状况的变化。图1所示为基于带宽自适应的传输网络结构,在流发布服务端和浏览用户端之间构造闭环的负反馈系统,发布服务端通过实时的探测网络传输状况,根据相关的控制策略实时的调整输出流码率,从而实现系统对带宽的动态自适应。其具体作法:目的端根据接收的视频流缓冲区的状况,实时管理环形缓冲区,力图使输出节奏均匀,并实时反馈相应的信息;发送端根据来自目的端的反馈信息调整发送的数据流量,调节媒体流的带宽。
码率控制是基于网络可用带宽确定视频通信发送码率的技术。在系统自适应网络传输过程中,用户端不断检测码流传输质量因素,已发送的数据包的数量、丢失的数据包的数量等统计资料,经其处理后将信息交决策控制器;决策控制器根据相应策略控制相关组件,完成该发送码流的动态整合,并交发送端UDP发送组件,完成多媒体流的传输;浏览用户端UDP接收多媒体数据并交后续的网络播放器进行解码播放。
为实现基于带宽自适应的传输,首先需要进行网络带宽的动态探测和评估,然后采用合适的调整策略来整合码流。网络状态的评估中,质量因素可以是丢包率、包延迟、缓冲区空间等参数。该系统采用数据包丢失率指标。接收用户终端不断测量丢包率,并通过TCP传回发送端,决策控制器通过丢包率与规定的阈值进行比较,来确定是增加还是减少码率。当丢包率大于上限阈值时,则减少码流速率;当丢包率小于阈值下限时,则增加码流速率。? 基于环形缓冲区的多线程技术如图2所示,较好的达到了视频连续、平滑码流、节约内存空间的目的。此外,借助这里的环形缓冲区和互斥锁,可以完全解决线程的同步问题。
在内存区采用地址线性映射,开辟连续的内存块,保证了线程的访问速度,有效提高了解码效率。?
在移动终端程序中,特地引入守护线程负责流量管理,它不属视频程序的核心部分,而是独立地、周期性地在后台为视频各个线程执行监视任务。守护线程的原理类似于单片机的看门狗,定时检测运行情况,并作出分析,判断各个缓冲和线程运行状态;发现异常情况即时处理,避免线程崩溃,画面停滞。具体作法是,以轮询间隔(Poll Interval,PI)来确定轮询时需要等待的时间,这里PI设定值为1秒,负责监视环形缓冲的容量及各个线程的运行情况。当侦测缓冲量超过阈值或某一线程崩溃时,将根据各个线程的运行情况维持或重启线程。