3G网络在车载视频监控系统的应用

来源:网络

点击:1359

A+ A-

所属频道:新闻中心

关键词: 3G,车载终端,视频监控,图像压缩

      引言

     

      车辆不按既定线路运载、沿途加载旅客、司机疲劳驾驶、车厢内人员滋事等问题,使得已经连带出的一系列安全隐患、犯罪事件等衍生问题不断困扰着人们和社会。针对此种情况,本文提出了基于3G网络的车辆定位和视频监控系统,减少上述事件的发生,给车辆以及车乘人员更安全的保障。此系统采用了先进的H.264视频压缩编码技术,在不影响质量效果的前提下大大减少了所要传输的数据量,并且以3G无线宽带网络为传输媒介,既可以克服传统固定网络有线方式对地理位置变化或处于运动中的监控不能实现的问题,提供更加灵活组网方式,满足不能架设线路的监控点的监控需求,还可以提供比GPRS和CDMA更宽的数据传输带宽,满足了移动视频监控的要求。

     

      1 关键技术分析

     

      1.1 3G技术

      第三代移动通信技术(3G),是指支持高速数据传输的蜂窝移动通讯技术。CDMA系统以其频率规划简单、系统容量大、频率复用系数高、抗多径能力强、通信质量好、软容量、软切换等特点显示出巨大的发展潜力,也因此成为第三代移动通信系统的技术基础。目前在我国3G存在3种标准:CDMA2000,WCDMA,TD-SCDMA。CDMA2000从IS-95平滑升级,技术成熟性最高,有明确的提高频谱利用率的演进路线,在国外有预商用试验网,W-CDMA来源于IS-95CDMA技术,有较高的扩频增益,发展空间较大,在欧洲成为优选。TD-SCDMA已成为国际电联和3GPP标准,目前处于与欧洲TDD标准的融合阶段,技术成熟性一般,有较高的频谱利用率。3G可以提供室内、室外和行车环境中分别支持2Mbps、384kbps和144kbps的传输速度。

      1.2 图像压缩技术

      为了适应移动设备,同时也为了提高数据传输速度、降低网络数据流量、保证监控的实时性,有必要对车载端摄像头采集的数据进行编码压缩。文中采用H.264标准将摄像头采集的图像系列压缩编码成流媒体。H.264的编解码流程主要包括5个部分:帧间和帧内预测、变换和反变换、量化和反量化、环路滤波、熵编码。通过该流程,使得H.264具有极高的视频压缩比。在同等图像质量条件下,H.264的压缩比是MPEG-4的1.5~2倍。以下简要分析H.264/AvC编解码原理。

      H.264/Avc编解码器包括2个数据流通道:前向通道(从左向右)和重构通道(从右向左)。其编码器的基本结构如图1所示。输入帧Fn用来进行编码,该帧在宏块(宏块指的是在原始图像中16×l6点阵)单元中进行处理。一个预测宏块P被基于重构的帧所构建。在内部模式中,P从当前己经编码过、解码过和重构的帧Fn的采样所获得。在中间模式中,P通过源自一个和多个参考帧的运动补偿预测中形成。

     

      

     

      在图1中,参考帧表示为先前编码帧F‘n-1,预测P被从当前宏块中减去以产生一个残余的或者有差异的宏块Dn。通过转换(使用块传输)和量化以给出X(量化转换系数集)。这些系数被重新排列并且进行嫡编码。嫡编码的系数,随同用来解码宏块的信息(诸如宏块的预测模式,量化步数大小,运动矢量信息)形成压缩的比特流。该比特流传送给网络抽象层(NAL)用来传输或者存储。为了实现下一宏块或下一个图像的预测,编码器包含一个解码器,对量化变换系数(图中标注为X)进行与解码器解码相同的反量化和反变换过程,导出解码预测残差(图中标注为D’n,这与原来的残差块Dn并不完全相同,因为量化和反量化的过程中产生了信息的耗损),解码预测残余D‘n与预测P相加,得到重建的宏块uF’n,送到去块效应滤波器,得到当前重建帧F‘n,同时将其存储以供将来做后续帧的帧间预测模式的参考帧。

      目前主要使用的视频格式有QCIF(176*144/dpi)、CIF(352*288/dpi)、4CIF(704*576/dpi)。

      这里基于实际的需求选择CIF格式。则每帧图像的大小为352×288×24=2433024bit,即2433024/1024=2376kbit,这里选择H.264的250:1的压缩比例的话,压缩后的图像大小就为2376/250=9.5kbit,那么按照3G网络在车辆运动中的速度要求144kbit/s,这样每秒可传帧的数量为15~16帧,这样就能实现较为满意的监控效果(影像播放达不到15帧/s时将产生明显跳跃感)。

     

      2 车载终端设计

     

      2.1 车载终端硬件设计

      车载模块终端如图2所示,主要由4部分组成:

     

      

     

      ARM处理器、GPS模块、3G无线数据发送模块、USB摄像头。ARM处理器是整个终端的CPU,负责调配和控制各个模块的工作,其主要功能是通过GPS获取车辆当前的位置信息,通过USB摄像头获取车辆内情况和司机驾驶状况,把这些视频或图像数据信息以H.246标准格式压缩,并整合成能由串口发送出去的特定格式,最后由3G无线模块发送到无线网络,最终通过INTERNET或PSTN(公共陆地网络)网络传回监控中心主机。下面简单介绍各个模块性能:

      模块终端主控芯片采用ARM处理器,相对于以8位/16位单片机作为中央处理器的终端而言,无论是功能上,还是人机接口都有显着提高,是微处理器技术的重要发展。这里选用Atmel公司的ARM920T处理器为主控制器。该内核属于专门用于工业控制的ARM芯片,有较好的工业参数,同时集成了丰富的系统应用外设及标准接口,在200MHz主频下处理速度大大提高,此外它还有丰富的外部设备和优越的数据传输特性。

      定位信息接收模块选用Trimble公司的Copernicus-GPS接收机。该模块支持NMEA0183协议的数据格式。这是一款高灵敏度、高精度、低功耗的微型GPS接收机。能在复杂的条件下也能准确的实施定位功能。

      无线通信模块采用SIMCOM公司的SIM5218模块,SIM5218是一款3G/HSDPA/EDGE模块解决方案,在HSDPA解决方案下支持下行速率达7.2Mbps和上行速率为5.76Mbps的数据传输服务,这对视频和图像等数据量相对较大的信号传输而言是非常理想的选择。在费用方面,3G因为是借助分包交换的技术,所以,网络使用的费用不是以接入的时间计算,而是以消费者的数据传输量来定。

      2.2 车载终端程序设计

      车载端是一个基于ARM的Linux系统平台,其任务主要包括获取GPS定位数据和视频采集数据,图像或者视频的压缩编码,将定位数据和视频、图像数据通过串口输送到3G模块缓冲区,最后通过无线网络发送出去。

      首先,要根据CPU与外围设备的具体引脚连接重新裁剪的编译linux内核驱动,主要包括摄像头的USB模块、GPS和3G无线通信的串口模块等驱动等。

      其次,调用linux内核中关于视频设备的API接口(即Video4Linux)编写摄像头采集数据的应用程序。并且,Video4Linux还专门为USB摄像头定义了数据结构:

      structvideo_capabilitygrab_cap;包含摄像头的基本信息;structvideo_picturegrab_pic;包含设备采集图像的各种属性;structvideo_mmapgrab_buf;用于内存映射;structvideo_mbufgrab_vm;利用mmap进行映射的帧信息;由于外设都被当成设备文件,所以如需对设备进行操作时,内核将调用file_operations结构中的open、close、read、write等函数进行操作。采集程序实现过程:

      ①打开视频设备,摄像头在系统中对应的设备文件为/dev/video0,采用系统调用函数grab_fd=open(“/dev/video0”,O_RDWR),grab_fd是设备打开后返回的文件描述符。

      ②利用ioctl(grab_fd,VIDIOCGCAP,&grab_cap)函数读取structvideo_capability中有关摄像头的信息。

      ③使用ioctl(grab_fd,VIDIOCGMBUF,&grab_vm)函数获得摄像头存储缓冲区的帧信息。

      ④接着把摄像头对应的设备文件映射到内存区,具体使用grab_data=(unsignedchar*)mmap(0,grab_vm.size,PROT_READ|PROT_WRITE,MAP_SHARED,grad_fd,0)操作。

     

      

      图3图像采集流程图

     

      再次,在该视频采集与压缩程序设计中,将修改X264程序的输入方式,使它直接从内存获得视频数据源。程序首先从USB端口采集摄像头的视频原始数据,存放在系统内存中,然后由X264进行压缩,以文件的形式输出,保存在根文件系统中。

      最后,3G无线网络的通信部分主要涉及到的是AT指令的应用。在选择可靠性强的TCP方式连接。

      下面简单叙述一下所用到的AT指令:

      AT+NETOPEN=“TCP”,《portnumber》激活一个特定的SocketPDP上下文,同时创建一个Socket连接。

      AT+TCPCONNECT=“IPaddress”,《portnumber》

      尝试建立一个固定IP地址的TCP服务器连接。

      AT+TCPWRITE=《datalength》告知服务器要发送的数据长度,在得到确认后发送相应的数据。

      AT+NETCLOSE关闭与服务器的连接,并注销原来激活的SocketPDP上下文。

      此外车载终端的程序流程如图4所示。

     

      

      图4车载终端程序流程图

     

      3 终端测试效果

     

      该监控终端安装在试验车辆上,通过3G无线网络与监控中心互联,监控中心配有视频解码服务器,以及由C#语言和MapXtreme2005组件(MapXtreme产品是用于创建GIS应用的一套组件)编程设计的监控服务系统,服务系统中用到Socket接口,Socket接口函数是TCP/IP的API(应用程序接口),用来向终端提供无线网络通路。

      经过实验车辆运行测试后,得到如图5所示效果。在监控界面左边地图上显示车辆当前运行所在位子,在右边视频窗口查看车内监控视频。从得到的结果看,地图信息能准确定位,图像质量基本上能满足监控要求,待系统完善后应该能得到更理想的效果。

     

      

      图5系统测试效果图

     

      4 结语

     

      本文设计的系统将视频监控和地理信息系统有机结合在一起,以3G宽带无线网络为媒介,提供了一套车辆视频监控和定位的解决方案。随着我国3G网络的普及和蔓延,带宽限制的问题已将不再成为困扰人们的难题,此外H.264编/解码器软硬件实现,使得质量高、价格便宜的移动视频监控成为市场新宠儿。

    (审核编辑: 智汇小新)

    声明:除特别说明之外,新闻内容及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。