2.1 硬件结构
视频监控终端(客户端)硬件结构如图2所示。考虑到监控终端对视频压缩能力、无线移动特性和低功耗的要求,采用华恒公司的专用Freescale处理器iMx21作为主控芯片。它集成了支持H.264标准的硬件编解码器和ARM9核,功耗仅为200 mW。复合视频信号经SAA7113的模拟端子输入,经过模数转换、滤波和缩放后,生成BT.656格式的视频,输出到iMx21。它对视频进行H.264格式的压缩编码,将数据流经USB控制器扩展的USB2.O接口输出到VT6656模块。VT6656模块包含一个集成了MAC和基带处理器的芯片和一个集成了功率放大器和天线的芯片,支持IEEE 802.11b/g无线传输。
2.2 软件结构
视频监控终端软件框图如图3所示。
(1)Linux操作系统
Linux操作系统采用成熟稳定的2.6.23内核。配置时根据硬件资源选择Flash和SRAM的大小,在网络子项中选择对TCP/IP和IEEE 802.1l协议的支持,同时去除不支持的选项以缩减内核体积,执行编译后得到Linux的内核映像文件。
(2)底层设备驱动
Linux操作系统通过调用驱动程序的接口函数实现硬件访问请求。SAA7113和VT6656的驱动程序分别控制相应芯片完成视频采集,USB接口控制和网络传输控制功能,采用中断触发/响应机制协调工作。
(3)上层应用程序
应用程序包括视频采集、视频压缩、网络传输和网络访问控制模块。监控终端通过网络访问控制程序接收来自主机的控制命令,并同步更新至配置文件保存。为保证指令的可靠传输,采用面向连接的TCP/IP协议在主机和终端间建立一个端到端的虚拟连接,并通过套接字编程实现。视频采集程序负责启动SAA7113的视频采集和模数转换,产生BT.656格式的视频数据。视频压缩程序根据配置文件设定视频压缩格式(D1/VGA/CIF/QVGA/QCIF)、编码方式(CAVLC/CABAC)、码流(CBR/VBR)和码率(最大10 Mb/s),以此为参数调用QPixe|提供的API,完成H.264视频压缩。网络传输程序完成数据包的封装,再经AR5005传送到邻近的无线AP。为保证视频流的实时性,采用UDP/IP和RTP/RTCP协议对压缩数据进行封装,使用IEEE 802.11b标准(最大ll Mb/s的数据传输率,室外500 m的通信距离)完成数据包的无线传输。