邓中亮 陈海群
北京邮电大学电子工程学院 北京 100876
视频监控系统是安全防范系统的组成部分,它是一种防范能力较强的综合系统。视频监控以其直观、方便、信息内容丰富而广泛应用于电信、电力、交通、银行、水利、智能大厦等许多场所。近年来,随着计算机、网络以及图像处理、传输技术的飞速发展,视频监控技术也正在朝着数字化和网络化的方向发展。
网络视频监视系统是指基于网络(INTERNET)在PC机或其它嵌入式系统中运行以C/S或B/S等结构为基础的实时单向传输视频数据的应用系统,随着IP网络的实时视频通讯技术的长足发展,在此基础上,出现了许多视频压缩通讯标准,如MPEG-1、MPEG-2、H263、H264、H.323和T.120等标准。
Openh323是为开发使用H.323协议在IP网上进行多媒体通信的应用程序而专门设计的全功能协议栈。
Openh323计划极好地遵循了ITU H.323 v4标准,基于POSIX1.l(可移植操作系统工业标准)调用建立了一套完整的H.323协议栈。该项目还尝试性的开发了一套包括PSTN网关、网守、客户端在内的应用程序包,能够非常好地在各种Unix类操作系统、Windows(win32)系列操作系统下运行。Openh323协议栈是在PWLib(Portable Windows Library)基础之上开发的。PWLIb是一个开放源代码的函数库,封装了I/O、GUI、多线程和网络功能属性,目标是支持既适用于Microsoft Windows又能用于Unix操作系统的应用程序的开发。
Openh323类库结构清晰、功能完善,非常适合于开发多级网络视频监视系统时移植和借用。需要说明的是,应用开发中涉及到与存储管理和系统传输相关的基本目标对象类可直接从PWLib中调用或继承使用。PWLib使用底层操作平台的API,从基础上实现容器类(如列表、堆栈等)、I/O信道类、套接字类、GUI模式类、进程线程类等。
基于Openh.323 的网络视频会议系统主要由MCU(多点控制单元)、H.323 Terminal(终端)、Gatekeeper(网闸或关守)、Gateway(网关)四部分组成,如图1所示。
图1 单个MCU结构图
MCU 是多点视频监控系统的关键设备,作用相当于一个交换机的作用。它将来自各监控场点的信息流,经过同步分离后,抽取出视频、数据等信息送入同一种处理模块,完成相应的视频混合或切换、控制等过程,最后将各视频监控场点所需的各种信息重新组合起来。
MCU 主要处理如下两种类别的信号,分别是:视频信号,主要由视频处理器完成;数据信号,主要由数据处理器完成。此外,MCU 结构中的网络接口模块和控制处理器也是必不可少的。控制处理器主要负责决定正确的路由选择,混合或切换视频、数据信号,并对监控终端进行控制。
H.323 终端是提供双向实时通信的客户端,具有对视频信号的编码功能,还具有传送静止图像、接收并执行上级MCU所发送的指令等数据通信功能。H.323 终端允许不对称的视频传输,即通信双方可以以不同的图像格式、帧频和速率进行传输,这给参会者带来了很大的灵活性。
H.323 终端由视频编解码器、控制单元、多路复用和分解、网络接口等模块组成。视频编码器负责对从视频源(如摄像机)来的视频信号进行传输和编码,常用的视频编解码标准为H.261、H.263 和H.264。系统控制单元通过端到网络信令进行网络存取,通过端到端信令进行端到端控制,建立公共操作和信令模式。
Gatekeeper 是H.323 系统的一个可选组件,一般简写为GK,其功能是向H.323 节点提供呼叫控制服务。本区域内的所有H.323 节点必须在本域内的网守上登记注册,GK 提供的基本服务有:地址翻译、带宽管理、许可控制、区域管理。多个GK 组网可形成网状网结构或主从结构。网状网结构中每个GK 地位平等,分别管理所连接MCU 的地址解析、区域管理等功能。主从结构GK 组网由一个顶级GK 和多个域GK 构成树型结构,便于对网络进行升级扩容。顶级GK 负责域GK的解析,域GK 负责所连接的MCU 解析、区域管理等,但此方式集中管理,稳定性较差。
Gateway(网关)是H.323 会议系统的一个可选组件。网关提供很多服务,其中包含H.323 会议节点设备与其它ITU标准相兼容的终端之间的转换功能。这种功能包括传输格式和通信规程的转换。另外,在分组网络端和电路交换网络端之间,网关还执行语音和图像编解码器转换工作,以及呼叫建立和拆除工作。终端使用H.245 和H.225.0 协议与网关进行通信。
一个基于Openh.323 的视频监控系统的组网结构因MCU与MCU 通信结构不同主要分为“星型网络结构”和“层次化网络结构”两种。
在“星型网络结构”中,MCU 与MCU 是互连平等关系,通信只能在相邻MCU 间进行,没有跨MCU 节点传递关系。在“层次化网络结构”中,MCU 与MCU 的连接形成树根等级关系。在每一根系中,通信可以沿根系进行穿越MCU节点传递,所有MCU 通信都是通过根部的MCU 传递来完成。
对于单个MCU 组成的监控系统,这两种结构并无本质区别,但是在大型的监控场所,多个楼群,甚至是不同社区之间的监控系统,通常需要的是多个MCU协同工作。在由多个MCU 组织多点监控时,MCU 与MCU间的数据通信就有着本质的区别,即“星型网络结构”中,MCU 与MCU 间没有级连关系,而在“层次化网络结构”中,MCU 与MCU间有级连关系。
本文给出视频会议系统的层次化组网结构示意如图2所示。
一级MCU主要负责对下级转发的视频监控数据进行解码显示、混合视频等便于工作人员在显示器上查看,工作人员对各个监控终端的操作可以直接通过操作此级的MCU便可完成如选择某一路或几路视频图像的单独或混合,调整某一路视频图像的清晰度,焦距等命令。如果有特殊的需要也可以选择把各个监控的终端所采集到的视频存储在一级MCU上,这样做出于安全的考虑。二、三级MCU可以看做是上级MCU的终端,为上级服务,除了本身将连接的监控终端所采集到的视频数据向上级传送外,还需负责转发上级所发布的对某个或某几个监控终端的控制命令,也可以选择所连接的监控终端采集到的视频数据存放到本地,便于事后查看。
图2 多级MCU级联示意
随着计算机科学技术、多媒体技术和通信网络技术的飞速发展,网络化已经成为视频监控行业的必然趋势。远程监控和管理的需求快速增长,“平安城市”等项目的建设,监控系统规模庞大、地理位置分散,数据存储量巨大,传统硬盘存储满足不了系统需求。数字化监控模式在向网络化监控模式发展已成必然。而目前的清晰度难以满足银行、机场、道路监控等高端行业的要求。所以能够满足定制化需求、提供一体化解决方案必将成为市场需求热点。 传统H323协议栈将例如H264等视频的编解码库固化到程序当中,不便于动态的修改、更新,而Openh323协议栈采用动态链接库编解码库的调用更符合未来的发展趋势。
[1] ITU-T Recommendation H.323.PACKET-Base Multimedia Communications Systems.
[2] 朱勇,高素青.NetMeeting SDK的网络视频监视系统[J].电脑编程技巧与维护.2004.
[3] 桂卫红.视频通信系统实用指南[M].北京:电子工业出版社.2007.
[4] 毕厚杰.新一代视频压缩编码标准—H.264/AVC[M].北京:人民邮电出版社.2005.
[5] 卢政.如何成功运行OPENH323来开发商业的H.323协议栈.2002.
[6] 李春林.OPENH323源码分析 http://www.withlin.net/tech 2004.
[7] http://www.openh323.org.
[8] 欧建平. 网络与多媒体通信技术[M].北京:人民邮电出版社.2002.
[9] 陶智勇. 视频会议系统及其应用[M].北京邮电大学出版社.2002.