大家好,阿林来为大家解答以上问题,无线视频监控系统设计,无线视频监控设备很多人还不知道,现在让我们一起来看看吧!
根据网络视频监控设备的实际应用需求,结合视频压缩和嵌入式系统无线通信等新技术,设计并实现了基于3G技术的H.264无线视频监控系统。由于H.264标准中的码率控制策略过于强调通用性,没有考虑到嵌入式终端误码率高、抖动大、处理能力有限的因素。该系统在实现H.264标准码率控制策略的基础上进行优化,增强了系统的稳定性。
1视频监控系统的总体结构
视频监控系统由视频拍摄节点、视频采集控制模块、网络代理模块和观看终端组成。其中,拍摄节点是高精度摄像机,负责采集原始视频;视频采集控制模块由采集卡和控制软件组成。采集卡安装在嵌入式主板上,将摄像头采集的原始视频数据压缩成H.264格式码流,回调到系统进行处理。控制软件运行在嵌入式Linux系统上,通过采集卡的驱动程序获取压缩后的H.264码流,控制与网络代理模块的连接,以及数据和命令的传输和响应,比如将压缩后的码流传输给网络代理,通过串口向摄像头发送控制命令;网络代理模块负责管理与视频观看终端的网络连接以及控制命令和视频数据的传输;用主流终端观看基于Symbian操作系统的智能手机。
2系统硬件结构和主要模块
手机视频监控系统的硬件环境由摄像头、采集卡、嵌入式主板和智能手机组成。摄像头为sonyfcb 2 ex 480 CP;嵌入式主板是VIA EPIANR系列Nano2ITX嵌入式主板,型号为EPIANR10000EG智能手机用的是诺基亚N95,目前主流的基于Symbian操作系统的手机。系统框图如图1所示,拍摄节点为可控摄像机。下面主要介绍视频采集控制模块和网络代理模块的功能和组成。
2.1视频捕捉控制
视频采集控制模块主要负责视频采集、压缩和响应控制命令。在采集视频时,主要负责采集卡的启动、初始化和各种控制操作,以及一些与摄像头相关的控制操作。具体的软件架构如图2所示。其中,NCCMain模块负责管理所有子模块,打开Socket监听端口7020,当有网络代理模块的连接请求时响应并接收数据;数据处理模块负责处理各种命令(如视频启动和焦距调整命令)并发送确认消息响应这些命令;RS2232串口控制模块通过RS2232串口控制摄像头的拍摄焦距,响应焦距调整命令;板卡的采集管理模块主要负责板卡的初始化,采集通道的开启,H.264各种参数(I,P帧间距,量化参数,编码格式(CIF,QCIF等)的设置。),回调函数的设置,以及与代理的连接,将视频流发送给代理。该模块基于采集卡的开发工具包,通过接口调用厂商提供的驱动程序,实现各种功能。
该模块的工作流程如下:
a)调用制造商提供的驱动程序来设置视频捕获的初始参数;
b)启动网管程序,打开socket监听端口7020,收到连接请求时响应连接请求并接收命令,收到命令后调用命令处理模块根据不同的命令进行不同的处理;
c)当接收到视频开始命令时,向代理发送连接请求,响应请求后建立连接,通过连接向代理发送视频数据,并将连接描述符存储在转发表中;
d)当接收到视频关闭命令时,关闭与代理的视频传输连接,清除转发表对应的表项;
e)在接收到焦点a之后
a)连接请求监控模块。作为一个单独的线程,这个模块监听端口9000,如果收到手持设备的代理信息请求命令,就发回一个确认消息。
b)控制命令处理模块。负责处理手持设备发送的各种命令,并将相应的处理命令发送给视频采集控制模块;接收视频采集控制模块的命令响应,并对手持设备的命令做出相应的响应。
c)视频数据收发器模块。当从视频采集控制模块接收到H.264视频码流时,视频数据流将被传输到发出点播命令的手持设备。网络代理模块的结构关系如图3所示。
2.3视频监控系统的通信流程
无线视频监控系统的整体流程如下:
a)手持设备访问网络。手持设备穿越移动网关通过3G无线网络接入有线网络,与视频业务网络代理交互,注册自己的信息,从代理节点获取网络中采集的设备信息。
b)执行视频浏览操作。手持设备连接网络后,可以根据需要浏览视频。用户选择要浏览的节点和摄像机,向其发送控制命令,开启摄像机进行采集,获得的视频数据通过视频服务网络代理通过3G网络传输到手持设备,在手持设备上可以观看。
c)执行视频控制操作。手持设备获取拍摄节点的视频后,可以根据需要控制拍摄节点,以获取更感兴趣的视频区域。如果用户对距离拍摄节点较远的场景感兴趣,它可以发送放大指令,使采集视频的摄像头放大到远处;用户也可以根据自己的需求向代理发送摄像机或节点切换指令,代理根据用户的需求响应并启动相应的摄像机。
3速率控制优化算法
在H.264标准中,码率控制是通过根据当前带宽和缓冲区使用情况动态调整量化参数和其他系数来实现的。考虑到移动终端处理能力的巨大差异
3.1 移动终端反馈信息优化
H.264标准中,码率控制根据式(1)计算第i个z帧组的第j帧配比特数:
其中:u(ni,j)表示编码第i组第j帧时信道可获带宽;Fr表示预定帧率;Tbl(ni,j)表示第i个帧组编码第j帧时目标缓冲区的使用量;Bc(ni,j)表示编码完第j-1帧时缓冲区的占用量。
式(1)强调通用性而没有对无线环境以及嵌入式设备进行相关处理。本文结合无线网络误码率高以及移动终端处理能力弱的特点对标准中算法进行了优化。首先移动终端统计误码率和丢包率,分别记为Ei,j和Li,j,并设定一个值Mi,j表示移动终端反馈的其缓冲使用度。移动终端定时把几项数据反馈给网络代理模块,网络代理根据移动终端的反馈信息重新对网络带宽可用度进行评估并对原算法公式进行调整
其中:BWij表示根据移动终端反馈信息获取的当前带宽可用度;γi,j表示移动终端承载能力因子;β1、β2、β3和β4为加权系数。在帧组层码率控制计算第j帧分配的码字时把原算法的式(1)调整为式(4)。
3.2 跳帧
为了避免溢出,当缓存区内比特数超过缓存区空间的85%时,跳过当前帧而不对其进行编码,直到其低于临界值后再进行编码。在H.264码率控制算法的第二步中,根据目标缓存使用量、帧率、可用带宽和实际缓存占用度以及当前编码图像的复杂度,可以由下式计算得到第i个帧组第j帧的目标比特数,计算式如下:
其中:。f(ni,j)表示考虑剩余比特数和图像复杂度后应该增加的比特数;γ为一常数,一般取值0.5,当没有B帧的情况下取值0.25;.f(ni,j)与式(1)的意义相同。本文利用该公式结果进行码率控制的同时,优化跳帧策略,即当预测的码率加上当前缓冲区使用量大于预定阈值Kmax(目前定位为95%)时,可进行主动丢帧处理,即如果不是i帧,就将其丢掉,不作编码处理。
当收到移动终端的反馈值M大于85%时,同样采取跳帧策略,避免造成移动终端缓冲区不够的丢帧现象发生,因为丢帧丢的如果是i帧,会影响后续视频帧的重建。该策略可以通过跳过一些复杂度较低、对于整个序列而言并不重要的图像来为后面复杂度较高、不能丢失的图像留出缓存区空间。
4 测试结果
针对本文的无线视频系统和优化算法,主要测试系统总体性能和码率控制优化的效果,码率控制的结果主要以传输比特数和PSNR值来衡量。在接收端程序中加入了iBufSizeTotal变量,用来统计发送的数据大小的总和;在拍摄端加入了编码启动时间iTimeStart和编码结束时间iTimeEnd,并加入了变量iFrameCount来统计共编码了多少帧。针对计算码率控制的效果,计算码率控制算法优化前和优化后平均每秒的输出比特数(码率),计算式如下:
针对编码优化的效果计算出编码器优化前后编码的平均每秒编码帧数(帧率)
在进行系统的测试时,将拍摄节点放置在以下四种背景环境中:
a)纹理简单,运动缓慢;
b)纹理比较丰富,运动平缓;
c)纹理丰富,运动中等;
d)纹理复杂,运动剧烈。拍摄的摄像头采样模式均设为YUV的4∶2∶0格式。
表2给出了标准中原码率控制算法和本文提出的算法对于六种标准序列在不同目标码率和帧率下的实际编码码率和平均重建图像的峰值信噪比PSNR值的测试结果;表3给出了原标准算法和本文算法对应的比特率偏移与平均PSNR值差值比较。
本文提出的算法可以更为合理地控制码率,六个序列中四个的峰值信噪比原算法有一定提高,表明本文提出的图像复杂度因子是合理有效的。
为了进一步对比改进算法的效果,本文将视频序列每帧的PSNR值通过坐标图的形式给出,图中横坐标为帧的编号,纵坐标为对应的PSNR值。本文中给出了具有mobile(码率限制较高比特128kbps)的视频序列PSNR图,如图4所示,即限定码率分别为32kbps、64kbps和128kbps的典型视频。从图4中可以看出,改进算法的PSNR值波动相对较小,从而在视觉上不会感觉到明显的图像质量变化,这就保证了图像质量的平稳过渡,具有较高的主观视觉质量。
5 结语
本文设计并实现了基于3G和H.264技术的无线实时监控系统,并结合无线传输以及智能手机处理能力弱的特点,对H.264标准中码率控制策略进行了优化。
本文到此结束,希望对大家有所帮助。