摘要:本文针对3G 移动视频监控系统面临实时性高、运算量大、带宽低的要求,提出了一种基于DaVinci 技术和3G 网络传输为基础的解决方案。该方案完成了系统硬件详细设计和软件模块化详细设计,实现了OSD 字幕的前端添加功能,并解决了在3G 无线带宽抖动下采用自适应帧码率和QoS 机制,使视频图像流畅稳定。本设计的测试结果表明,能够在3G 低带宽下流畅地进行移动视频监控。
0 引言
在数字化视频监控技术飞速发展的今天,数字化视频监控系统正迅速的深入到各行业,如企业、煤矿、学校、公共场所,为人们的工作和生活带来了一次大变革。由于能够在达芬奇平台中实现数字视频、音频、语音与话音技术,因此达芬奇技术可以为数字化视频监控系统的当前变革打下基础。
与此同时,随着3G 网络的开通,更为高清移动数字化监控系统提供了实现的可能。
本文中要设计的3G移动视频监控系统是一种能提供视频采集、视频数据压缩、联动报警、卫星定位及网络传输功能于一体的一种移动实时视频监控系统。其主要技术瓶颈就在于:①其系统耗时是否能保证其实时性要求,关键为H.264压缩算法耗时。由于嵌入式环境资源的限制,在视频数据的实时性传输和图像质量方面,尤其是多路的情况下,其一直都得不到保证。但是随着达芬奇技术的成熟,其ARM 926EJ-S与DSP C64x+ 的双核架构,H.264 压缩算法独立运行在DSP的 Codec Server 端,解决了系统耗时保证其实时性要求。②其3G 无线网络传输能否保证视频质量及实时性。在保证视频质量及传输实时性要求上,可以从两个方面入手:①缩短视频数据的传输时间,使用当前最高效的H.264 编码技术缩小传输的信息量,采用动态自适应调整视频数据的帧码率来减少传输的信息量,以适应无线带宽及抖动。②实现视频数据传输的QoS 机制,自己设计实现了3G 无线传输的QoS 机制,选用实时传输控制协议RTCP 和RTP 配合使用,能以有效的反馈和最小的开销实现传输效率最佳化,因此保证了视频质量及其实时性。
1 系统架构及工作原理
本系统采用的是由达芬奇处理器(TMS320DM6446)、DDR2SDRAM(MT47H64M16)、NAND FLASH(K9F1208X0C)、视频解码器TVP5150、3G 芯片(中兴MC8360)、GPS 卫星定位芯片加上外围接口芯片的方案。CCD 摄像机采集模拟视频信号传入视频解码器内,进行模/ 数转换, 输出符合ITU-BT.656标准的数字视频信号,然后将数字视频信号传到视频处理子系统的前端进行预处理,将数字视频信号通过本人设计的OSD字幕添加算法加入白底黑边字幕后,经过Codec Engine 编码后通过USB2.0 总线端口送入3G 传输芯片,无线传输到远程视频监控中心;达芬奇处理器检测进行卫星定位命令,通过串口接收GPS 卫星定位信息,然后将GPS 卫星定位信息传入到3G 传输芯片,无线传输到远程视频监控中心,在地图上标定其坐标点及其移动轨迹。DM6446 上的DSP 端主要负责视频编解码工作,ARM 端做为控制视频解码芯片、3G 传输芯片、GPS 定位芯片和外围接口芯片的控制器。系统硬件结构框图如图1 所示。
图1 系统硬件结构框图
2 硬件方案设计
2.1 视频采集与解码设计
本设计中选用TI 公司的视频解码芯片TVP5150 完成视频图像的模/ 数转换。TVP5150 是超低功耗、支持NTSC/PAL/S E C A M 等格式的高性能视频解码器,它正常工作时功耗仅115mW,并具有32 脚TQFP 超小封装。它可以接收两路CVBS或一路S-Video 信号,通过I2C 总线设置其内部寄存器,可以输出8位4:2:2的ITU BT.656信号。
TVP5150 芯片采用14.31818 MHz 晶振做为输入时钟,数字和模拟输入电压为1.8V,IO 口电压为3.3V;信号输入有AIP1A 和AIP1B 两路,并且都进行阻抗匹配设计,防止对输入信号的反射;YOUT[0:7]输出8 路YcbCr 信号,行场同步信号选择引脚HSYNC 和VSYNC 输出;SCLK 引脚向DM6446 芯片输出27MHz 时钟信号,用来同步数据采集。
2.2 DDR2 SDRAM 内存接口设计
内存主要用来缓存视频输入图像数据,存储ARM 和DSP代码等。DDR2 内存是一种新型高速、大容量的双速率同步存储器,相对于DDR,DDR2 具有更高的频宽、更低的功耗、更好的高速效能。
本设计选用Micron 公司的MT47H64M16BT 型号DDR2芯片,该芯片单片容量为1Gb,提供16 位字长数据总线接口,芯片采用1.8V 做为输入电压,其内存支持差分锁存信号,可以保证电路在高速情况下准确的锁存总线上的数据,使系统更加稳定可靠。为提高系统内存容量并最大限度利用DDR2控制器的32 数据总线,设计选用两片MT47H64M16BT,分别作为数据总线的高低16 位,组成32 位数据总线、大小为256Mbyte 的内存系统。将两片16 位DDR2 芯片与32 位总线的DDR2 控制器连接时,把数据总线和相应的数据选通信号及字节使能信号与相应DDR2 芯片分别连接,其它信号两片DDR2 芯片公用。此时,32 位数据总线的DDR2 控制器可同时访问两片DDR2 芯片。
2.3 电源设计
本设计选用TI 公司的TPS75003 和TPS62040 电源管理芯片,T P S 7 5 0 0 3 具有两路最大提供3 A 的拓扑电源和一路300mA LDO 电源,每个Buck 输出电压范围在1.2V 至6.5V 之间,LDO 输出电压范围在0.9V 至6.5V 之间,输入电压范围在2.2V 至6.5V 之间。TPS62040 是高效异步开关DC/DC 转换电源,其转换效率达到95%,输入电压范围在2.5V 至6.0V,输出电压在0.7V 至6.0V,因此都可通过主电源+5V 供电。
系统电源分为+5V、+3.3V、+1.8V、+1.2V 四种,系统主供电电源为+5V,其余均由+5V 电源供给。因此,采用一片TPS75003 和一片TPS62040 完成系统四种电源的转换。设计用TPS75003 的SW1 引脚经过SI2323 续流整形后输出1.2V 电压用于DM6446 内核供电,IS1 引脚连接参考电压,FB1 引脚接输出1.2V 电压作为反馈,SW2 引脚输出3.3V 电压用于DM6446 外设接口供电。TPS62040 的SW1 和SW2 引脚短接后输出1.8V 电压用于DM6446 存储器接口供电,FB 引脚连接1.8V 作为反馈输入。这样,用一片TPS75003 和TPS62040 电源管理芯片就可以满足本系统供电。TPS75003 和TPS62040电源转换电路如图2 所示。
图2 TPS75003 和TPS62040 电源转换电路图
3 软件方案设计
本系统选用嵌入式MontaVista Linux操作系统平台,其具有安全、稳定、高效率、高实时性等特点。本文系统软件采用模块化设计,从功能角度,其软件体系结构主要划分为以下五部分:采集模块、编码模块、3G 传输模块、GPS 卫星定位模块、设备监测模块。由于3G无线传输受到其带宽的限制,如何能保证视频图像质量和实时性尤为关键,因此,3G 传输模块是系统软件的核心部分。
3.1 采集模块
本模块主要完成视频的采集、图像格式转换。采用V4L2接口采集摄像头的视频数据,V4L2 是Linux 下开发视频采集设备驱动程序的一套规范,这套规范使用分层的方法给驱动程序开发提供了清晰的模型和一致的接口。应用程序处于最上层,V4L2 处于中间层,而硬件设备处于下层,从而通过驱动程序,应用程序对设备的操作如同一个文件一样,屏蔽了硬件设备的具体操作。
TVP5150 驱动程序以包含在Linux内核中,本设计是基于该驱动程序实现视频采集的,视频采集程序基本流程如图3所示。
图3 视频采集程序基本流程图
3.2 编码模块
本模块主要完成了OSD 字幕信息添加及图像的压缩编码。
设计中充分利用了Davinci 编解码引擎接口进行应用程序编程,对采集到的视频数据进行YUV 格式转换后,通过自己设计的OSD 字幕算法加入OSD 字幕信息,采用优化的TI 公司H.264 压缩算法,对完成处理的YUV4:2:0 格式数据进行帧间编码压缩。
OSD 字幕算法实现了在YUV 图像上面添加中英文字幕信息,并可设置字体的字和边界为两种颜色,以在不同背景色下清晰显示字体。其基本原理为根据字符的ASCII 从点阵字库中读入其点阵数据,进行一次外围边界像素点扩展,这样就可以判断每位数据中为1 的相邻8 个像素点对应位的值,为0则表示该点是字符的边框,为1 则表示该点是字符边框内的背景色。
3.3 3G传输模块
本部分主要完成视频数据及系统数据的3G 无线网络传输,用于支持视频监控及系统控制通讯等功能。设计中采用RTP/RTCP 协议配合使用,由于无线网络的不稳定性,加入了自适应帧码率处理机制及QoS 处理机制,保证了视频图像质量和实时性要求。其基本过程是压缩编码完成后,进行视频预存缓冲处理,对编码数据进行RTP 封包处理,然后经过USB总线传输到3G 模块中,通过无线网络进行发送;接收数据完成后,进行命令解析处理,判断是否有自适应或重传控制命令,实现动态调整帧码率以降低无线网络传输负载,或者通过预存缓冲机制提取出丢失视频数据,完成重传数据传输。
其3G 传输程序基本流程如图4 所示。
图4 3G 传输程序基本流程图
3.4 GPS卫星定位模块
设计中使用GPS统一标准的NMEA(National Marine ElectronicsAssociation)协议完成通讯解析,其主要实现了对GPS卫星定位数据的解析处理,并实时传输到远程服务器软件上,以对本3G 无线移动监控系统平台实现其位置信息、速度信息、方向信息、可用卫星数及状态信息等进行实时监控显示,从而在地图上标定出移动平台的地理坐标、移动轨迹及其状态信息等。
3.5 设备监测模块
本部分主要完成系统控制命令解析及其响应,以实现对云台、镜头等设备的控制;各种报警事件的检测与处理,如视频丢失、视频遮挡、移动侦测报警等功能;系统运行状态检测处理,以实现系统运行出错或崩溃的自动重启、系统程序的自动升级、系统程序的恢复出厂设置等功能;系统运行权限及规则的检测处理,以实现对使用者的权限分级管理和操作规则的合法化。
4 结论
基于3G无线移动视频监控系统已经进入内部测试阶段并且功能强大,性能稳定,扩展性强,能够很好的在3G 无线带宽抖动中进行视频监控,为移动视频监控应用打下了坚实的基础,如移动警车监控系统等。本文提出一种基于TI DM6446 的3G 移动视频监控系统设计方案,并进行了系统硬件详细设计和软件模块化详细设计。该系统很好的解决了在视频监控前段OSD 字幕信息添加和无线带宽抖动的问题,从而使视频监控流畅稳定。