(2)编码模块,主要完成对采集的图像的压缩编码。对采集到的图像数据进行压缩可以有两种方案,一种是用硬件来压缩,它可以有专用系统和通用系统两种形式,其中,专用系统使用专用芯片实现图像的硬件压缩,通用系统则利用通用芯片实现数据压缩。相对于通
用系统,用专用芯片对图像用硬件进行压缩可以快速进行图象压缩,减少处理器的开销等点。第二种压缩方法就是用软件来实现,这种方法对机器的硬件配置要求较高,但运用起来灵活,考虑到现在硬件技术已经比较成熟,故我们采用第二种方案,对采集到的图像数据进行软压缩,此处利用H.264标准进行压缩。H.264压缩标准是一种新的编码方法。与其他压缩编码方式比较,利用H.264标准可以获得更高的压缩比及更好的图象质量。H.264编码器都是开源的,可以从网上下载,此处用的是t264,对采集到的YUV格式的数据进行逐帧压缩。
(3)网络传输模块,完成现场多媒体数据及历史多媒体数据的网络的传输,用于支持浏览端的现场预览和记录回放功能。其基本过程是码流经码率控制部分进行码率调整,然后由RTP组件传送到网络中。传输启动之初,组播控制器根据多用户代理提供浏览端的组播策略来协商组播策略;传输过程中,RTCP组件实时监测网络状况并反馈給决策控制器,决策控制器控制分离器、视频抽帧器和码流复合器组件,完成码流的动态整合。其传输体系结构如图3所示:
图3视频流传输体系结构
(4)存储模块,多个摄像头采集的多路视频数据经编码压缩后形成复合媒体流,通过存储组件,存为H.264文件,同时向数据库中写相应的文件信息。
(5)设备控制模块,设备控制器接收用户界面发出的或网络传送来的控制命令,控制解码器,完成对云台、镜头等设备的控制。
4 客户端软件设计
客户端主要完成视频数据的接收,解码和显示工作,同时还可以动态设置编码器的数。从功能角度,客户端的软件体系结构可划分为3个模块:设备控制模块,网络的接收与反馈模块,显示模块。其体系结构如图4所示:
(1)设备控制模块,根据用户输入的命令((例如改变视频窗口大小、接收路数,图象分辨率、开始/停止远程监控等), 产生控制命令并通过一个TCP连接发送到服务器端,服务器端设备控制器接收这些控制命令,并完成对云台、镜头等设备的远程控制。
(2)网络的接收与反馈部分,根据用户的基本带宽情况(局域网还是非局域网)及请求的任务类型(现场预览还是历史回放),确定该接收码流是否基于组播策略接收。RTP组件完成码流的接收,RTCP组件检测码流的丢包率并反馈给服务器端。
图4 客户端软件体系结构
(3)显示模块,同步源过滤器从RTP组件得到码流,在控制器的协调下,完成解码及同
步的视频播放。此处我们采用的是Microsoft DirectShow[6]架构来完成H.264 码流的实时解码和图像显示工作。
试验证明,对于包含有视频服务器、多监控客户中心的嵌入式视频监控系统,上述网络传输部分能够很好地完成视频数据的实时传输,网络自适应能力良好。
5 结束语
本文创新点是提出了一种多路嵌入式H.264视频服务器的设计方案,并给出了系统硬件组成和软件的体系结构框架,该系统与传统的Motion2JPG和MPEG21相比,采用H.264标准压缩图像,降低了带宽占用率。对于四路QCIF和一路D1分辨率的高清晰度实时视频监控,只需占用65K和250K的网络带宽即可满足传输需求。