蒋 维,孟利民
(浙江工业大学信息工程学院,浙江杭州310023)
视频监控系统发展了短短20余年时间,发生了翻天覆地变化。从最早模拟监控到前些年火热数字监控,再到现在方兴未艾的网络视频监控。视频监控系统发展划分为第一代模拟视频监控系统(CCTV),到第二代基于“PC+多媒体卡”的数字视频监控系统(DVR),到第三代完全基于IP网络视频监控系统(IPVS)[1]。传统的有线网络监控由于网线的限制,一旦设施铺设完成,就很难再进行改动,而且不利于紧急情况下的快速铺设。3G网络的普及使得这种情况得到了解决。在监控设备上搭载3G上网设备,设备就能在任何具有3G信号的场所摆放安装。但是,由于3G网络的带宽问题一直没有解决,平均下载速率在100kB/s左右。TD-SCDMA平均下载速度仅为77kB/s,与标称值358kB/s相去甚远[2]。传输一路CIF格式的视频数据流平均每小时容量在180 250MB之间,通常情况下取值200MB,也就是56kB/s,再加上一些RTP包头、TCP包头以及各类控制信息,其值已经达到了3G网络的平均下载速率,任何的网络带宽波动都会造成实时视频数据的马赛克现象,这是使用者所不愿意看到的。因此,采用算法减小CIF格式的数据也就成为了必然。
本移动视频监控系统主要由带3G无线传输模块的网络摄像机、集群媒体处理服务器、基于PC的客户端、3G智能手机组成。视频通过网络摄像机实时采集和压缩,然后将实时视频数据通过3G无线传输模块传输至集群媒体处理服务器,然后再转发给基于PC的客户端或3G智能手机当中,经过对压缩数据的解码还原成原始的数字多媒体数据,在客户端进行实时回放。同时客户端还可以存储视频数据,以便以后检索和回放,达到视频监控的目的[3]。其基本框架如图1所示:
(1)带3G无线传输模块的网络摄像机是一个基于linux的嵌入式双核实时处理系统。该系统主要负责把摄像机采集到的模拟视频信号进行量化、压缩编码,然后打包成适合3G无线网络传输的数据包传输至集群媒体处理服务器当中。同时该系统接收客户端的控制并执行该控制命令。因为移动视频监控系统对视频的实时性要求较高,但是无线网络相比有线网络其传输速率具有不稳定性。因此要求视频采集芯片能改变其采集帧率以适应码率的要求;
图1 网络视频监控系统总体设计框架
(2)集群媒体处理服务器是一个linux服务器系统,该系统主要负责网络摄像机的设备管理、用户客户端的管理、实时流媒体的转发等功能。任何网络摄像机启动之后都需要向服务器进行设备注册,这样客户端就可以根据服务器上的网络摄像机信息进行设备访问。同时客户端登录之后,服务器都要对其用户权限进行鉴别,根据其用户权限开通不同的服务。服务器要保证多媒体信息实时转发到客户端当中,所以对服务器的实时性和稳定性要求都比较高;
(3)PC的客户端是一个基于Windows的客户端处理软件,主要负责视频的实时回放,监控视频的存储,监控系统和客户的交互等功能。因为该客户端处理软件是一个多画面的视频监控软件,需要支持多路的视频解码播放,因此需要较高的CPU、内存和快速的解码算法[4]。
设备端的硬件结构主要由两个部分组成:
(1)TW2835主要负责4路视频数据从模拟信号到数字信号的转换,同时将该数字信号处理之后,使得4路CIF大小的视频数据组合成为1路D1大小的视频数据;
图2 设备硬件框架
(2)GM8180芯片主要负责同时捕捉两路D1大小的视频流,将其压缩成为H.264标准大小的视频数据。同时具有将GPS信息叠加到视频图像,以及3G网络传输和本地存储的功能。设备端的硬件框架如图2所示。
该系统使用TW2835+GM8180两块主要芯片来实现视频数据的实时采集,压缩编码和传输。其中TW2835是视频数据输入、输出的场所,GM8180则是捕获BT656数据之后,将其编码压缩成为H.264视频数据的场所。
经过摄像头采集后的数据,在内存中是以4:2:0的YUV数据格式存放的,其数据格式不同于往常的YUV420。
3.1.1 Y 分量数据
Y数据以16×16的块存放,从指针ptr到ptr+16×16为第一个块内象素的Y分量,依次类推到720×576。如图3所示。
3.1.2 UV 分量数据
UV数据以8×8数据块交叉排列,如图4所示。
图3 Y数据分量
图4 UV数据分量
图5 抽取前视频的位置
从tw2835中可以获得4路的完整数据,抽取前各路视频的位置如图5所示。其中II III IV 3路视频数据大小为360×288,可以直接压缩成CIF数据保存到本地硬盘。由于tw2835中最小的视频数据大小为360×144,为了获取QCIF大小的数据,需要将第一路获取的视频数据变换成180×144格式大小。
3.2.1 Y 分量的抽取
由于象素间的关联性和数据排列的格式决定,需要在第一个16×16数据块第一行的16个点中取8个点作为新数据的前8个点,然后在第二个16×16数据块第一行的16个点中取8个点作为新数据的后8个点,然后是第一个数据块的第二行和第二个数据块的第二行。依次类推,总的来说就是用第一和第二个数据块抽取新数据的第一个数据块。抽取完成之后将数据填回I1路数据中,该过程的流程图如图6所示。
图6 Y分量抽取流程图
3.2.2 UV 分量的抽取
UV分量的抽取和Y分量类似,但要注意的是第一个U分量需要在第一个U数据块和第二个U数据块中抽取,V分量同理。抽取完成之后将数据填回I1路数据中。
视频数据处理完成之后,各路视频数据的位置如图7所示。
图7 抽取后视频的位置
通过对3G网络性能的分析得知该网络能够顺利地传输QCIF格式大小的H.264视频数据。针对该实际情况,本文设计了基于3G网络传输的H.264视频监控系统总体构架及系统结构,采用特定的算法,使用TW2835以及GM8180芯片将一路CIF数据抽取成QCIF大小的数据进行3G上传,其余3路的CIF视频数据进行本地存储。实验表明,抽取为QCIF后的RTP数据包经过3G网络传输的丢包率为8%,而未经抽取的CIF格式数据经过相同3G网络传输的丢包率为15%,在丢包率上QoS性能提升明显。本方案通过牺牲图像质量为代价(从CIF降到QCIF),降低了图像传输过程中的丢包现象,从而保证了图像的流畅性。接收后的RTP数据通过客户端进行播放,QCIF格式数据经过网络传输后播放结果如图8所示,该视频图像清晰度尚可,且能流畅播放,几乎没有出现马赛克和停顿的现象。
图8 实验结果
后续的工作是在当前研究的基础上,加上视频差错恢复技术,在低码流的情况下恢复出高质量的图像,使得该系统能够传输CIF格式的视频流数据。
[1] 吕金刚,杨建全,文代明,等.智能视频监控技术的应用与发展[J].通信电源技术,2006,23(5):62-67.
[2] ugmbbc.TD 平均下载速度77KB/s与理论值相去甚远[EB/OL].http://www.cnbeta.com/articles/81328.htm,2009-04-08.
[3] 郝继辉.网络视频监控技术的发展和展望[J].中国科技信息,2007,(7):97-99.
[4] 张翔,张宁.基于IP视频监控应用的H.264视频压缩[J].工业控制计算机,2003,16(12):28-30.
[5] 李海昕.IP视频监控城市公共安全的“火眼金睛”[J].中国安防,2009,(1):126-131.