标题：H.323音视频协议
H.323的体系结构
为了能在不保证QoS的分组交换网络上展开多媒体会议，由ITU的第15研究组SG-15于1996年通过H.323建议的第一版，并在1998年提出了H.323的第二版。H.323制定了无QoS（服务质量）保证的分组网络PBN（packet Based Networks）上的多媒体通信系统标准，这些分组网络主宰了当今的桌面网络系统，包括基于TCP/IP、IPX分组交换的以太网、快速以太网、令牌网、FDDI技术。因此，H.323标准为LAN、WAN、Internet、因特网上的多媒体通信应用提供了技术基础和保障。 
H.323是ITU多媒体通信系列标准H.32x的一部份，该系列标准使得在现有通信网络上进行视频会议成为可能，其中，H.320是在N-ISDN上进行多媒体通信的标准：H.321是在B-ISDN上进行多媒体通信的标准：H.322是在有服务质量保证的LAN上进行多媒体通信的标准：H.324是在GSTN和无线网络上进行多媒体通信的标准。H.323为现有的分组网络PBN（如IP网络）提供多媒体通信标准。若和其它的IP技术如IETF的资源预留协议RSVP相结合，就可以实现IP网络的多媒体通信。基于IP的LAN正变得越来越强大，如IP over SDH/SONET、IP over ATM技术正在快速发展以及LAN 宽带正在不断的提高。由于能提供设备与设备、应用与应用、供应商与供应商之间的互操作能力，因此，H.323能够保证所有H.323兼容设备的互操作性。更高速率的处理器、日益增强的图形器件和强大的多媒体加速芯片使提PC成为一个越来越强大的多媒体平台。H.323可提供PBN与别的网络之间进行多媒体通信的互连互通标准。许多计算机、网络通信公司，如Inter、Microsoft和Netscape都支持H.323标准。H.323标准包括在无QoS保证的分组网络中进行多媒体通信所需的技术要求。这些分组网络包括LAN、WAN、Internet/因特网以及使用PPP等分组协议通过GSTN或ISDN的拨号连接或点对点连接。 
从整体上来说，H.323是一个框架性建设，它涉及到终端设备、视频、音频和数据传输、通信控制、网络接口方面的内容，还包括了组成多点会议的多点控制单元（MCU）、多点控制器（MC）、多点处理器（MP）、网关以及关守等设备。它的基本组成单元是"域"，在H.323系统中，所谓域是指一个由关守管理的网关、多点控制单元（MCU）、多点控制器（MC）、多点处理器（MP）和所有终端组成的集合。一个域最少包含一个终端，而且必须有且只有一个关守。H.323系统中各个逻辑组成部份称为H.323的实体，其种类有：终端、网关、多点控制单元（MCU）、多点控制器（MC）、多点处理器（MP）。其中终端、网关、多点控制单元（MCU）是H.323中的终端设备，是网络中的逻辑单元。终端设备是可呼叫的和被呼叫的，而有些实体是不通被呼叫的，如关守。H.323包括了H.323终端与其它终端之间的、通过不同网络的、端到端的连接。 
  体系结构[1]
H.323终端的组成
H.323为基于网络的通信系统定义了四个主要的组件：终端（Terminal）、网关（Gateway）、关守（Gatekeeper）、多点控制单元（MCU）。终端是分组网络中能提供实时、双向通信的节点设备，也是一种终端用户设备，可以和网关、多点接入控制单元通信。所有终端都必须支持语音通信，视频和数据通信可选。H.323规定了不同的音频、视频或数据终端协同工作所需的操作模式。它将是下一代因特网电话、音频会议终端和视频会议技术的主要标准。图为H.323终端的组成框图，在发端，从输入设备获取的视频和音频信号，经编码器压缩后，按照一定格式打包，通过网络发送出去，在收端，来自网络的数据包首先被解包，获得的视频、音频压缩数据经解码后送入输出设备，用户数据和控制数据也得到了相应的处理。它所包含的各个功能单元及其标准备或协议分别是： 
视频编解码（H.263/ H.261）：完成对视频码流的冗余压缩编码。 
音频编解码（H.723.1等）：完成语音信号的编解码，并在接收端可选择地加入缓冲延迟以保证语音的连续性。所采用的标准为ITU-T的H.723.1，它提供5.3kbit/s和6.3kbit/s两种码率，采用线性预测综合分析编码方法，分别使用代数码本激励线性预测和多脉冲最大似然量化，从而各自获得编码复杂度和质量的优化。 
各种数据应用：包括电子白板、静止图像传输、文件交换、数据库共存、数据会议、运程设备控制等，可用的标准为T.120、T.84、T.434等。 
控制单元（H.245）：提供端到端信令，以保证H.323终端的正常通信。所采用的协议为H.245（多媒体通信控制协议），它定义了请求、应答、信令和指示四种信息，通过各种终端间进行通信能力协商，打开/关闭逻辑信道，发送命令或指示等操作，完成对通信的控制。 
H.225层：将视频、音频、控制等数据格式化并发送，同时从网络接收数据。另外，还负责处理一些诸如逻辑分帧、加序列号、错误检测等功能。 
  H.323终端[2]
H.323标准协议簇
H.323是国际电信联盟（ITU）的一个标准协议栈，该协议栈是一个有机的整体，根据功能可以将其分为四类协议，也就是说该协议从系统的总体框架（H.323）、视频编解码（H.263）、音频编解码（H.723.1）、系统控制（H.245）、数据流的复用（H.225）等各方 面作了比较祥细的规定。为网络电话和可视电话会议系统的进一步发展和系统的兼容性提供了良好的条件。其中系统控制协议包括H.323、H.245、和H.225.0，Q.931和RTP/RTCP是H.225.0的主要组成部份。系统控制是H.323终端的核心。整个系统控制由H.245控制信道、H.225.0呼叫信令信道和RAS（注册、许可、状态）信道提供，音频编解码协议包括G.711协议（必选）、G.722、G.723.1、G.728、G.729等协议。编码器使用的音频标准必须由H.245协议协商确定。H.323终端应由对本身所具有的音频编解码能力进行非对称操作。如以G.711发送，以G.729接收。视频编解码协议主要包括H.261协议（必选）和H.263协议。H.323系统中视频功能是可选的。数据会议功能也是可选的，其标准是多媒体会议数据协议T.120。
  H.323协议簇
H.323通信原理
在H.323多媒体通信系统中，控制信令和数据流的传送利用了面向连接的传输机制。在IP游戏栈中，IP与TCP协作，共同完成面向连接的传输。可靠的传输保证了数据数据包传输时的流量控制、连续性以及正确性，但也可能引起传输时延以及占用网络宽带。H.323将可靠的TCP用于H.245控制信道、T.120数据信道，呼叫信令信道。而视频和音频信息采用不可靠的、面向非连接的传输方式，即利用用户数据协议UDP（User Datagram Protocol）。UDP无法提供很好的QoS，只提供最少的控制信息，因此传输时延较TCP小。 在有多个视频流和音频流的多媒体通信系统中，基于UDP和不可靠传输利用IP多点广播和由IETF实时传输协议RTP处理视频和音频信息。IP多播是以UDP方式进行不可靠多点广播传输的协议。RTP工作于IP多播的顶层，用于处理IP网上的视频和音频流，每个UDP包均加上一个包含时间戳和序号的报头。若接收端配以适当的缓冲，那么它就可以种用时间戳和序号信息"复原，再生"数据包、记录失序包、同步语音、图像和数据以及改善边接重放效果。实时控制协议RTCP用于RTP的控制。RTCP监视服务质量以及网上传送的信息，并定期将包含服务质量信息的控制信息包发分给所有通信节点。 
在大型分组网络如因特网中，为一个多媒体呼叫保留点足够的宽带是很重要的，也是很困难的。另一个IETF协议--资源预流协议RSVP允许接收端为某一特殊的数据流申请一定数量的宽带，并得到一个答复，确认申请是否被许可。虽然RSVP不是H.323标准的正式组成部份，但大多数H.323产品都必须支持他，因为宽带的预流对IP网络上多媒体通信的成功至关重要，RSVP需要得到终端、网关、装有多点处理器的MCU以及中间路由器或交换机的支持。 
H.225.0适用于不同类型的网络，其中包括以太网、令牌环网等。H.225.0被定义在诸如TCP/IP，SPX/IPX传输层。H.225.0通信的范围是在H.323网关之间，并且是在同一个网上，使用同一种传输协议。如果在整个因特网上使用H.323协议，通信性能将会下降。H.323试图把H.320扩展到无质量保证的局域网中，通过使用强大的认可控制会议控制，使一个专门会议的参加者从几人到几千人。 
H.225.0建立了一个呼叫模型，在这个模型中，呼叫建立和性能协商没有使用RTP传输地址，呼叫建立之后才建立若干个RTP/RTCP连接。呼叫建立之前，终端可以向某个关守（Gatekeeper）注册。如果终端要向某个关守注册，它必须知道这个关守的年限（Vintage）。正因为如此，发现（discovery）和注册(registion)结构都包含了一个H.245类型的对象标志，它提供了H.323应用版本的年限。这些结构还包含了可选择的非标准消息，它允许终端建立非标准关系。在这些结构的末尾，还包括了版本号的非标准状态。其中：版本号是必须的，非标准信息是可选的。非标准信息用来在两个终端之间相通知其年限及非标准状态。虽然所有的Q.931消息在用户到用户信息中具有可选的非标准信息，但在所有的RAS通道信息中还是具有可选的非标准信息。另外，在任何时候都能发送一个非标准RAS消息。进行注册、认可和状态通信的不可靠通道称为RAS通道。开始一个呼叫一般必须首先发送一个认可请求消息，接着发送一个初始建立消息，这个过程以收到连接消息为结束。 
当可靠的H.245控制通道建立之后，音频、视频以及数据的传输通道都可以相应建立。多媒体会议的有关设置也可以在这里设置。当使用可靠的H.245控制通道传送消息后，H.225终端可以通过不可靠通道发送音频、视频数据。错误隐藏和其它一些信息是用来处理发生丢包的情况。一般情况下，音频、视频数据包不会重发，因为重发将引起网络网络上的延时。假设底层已经处理了对位出错的检测，而且错误的包不会传给H.225。音频、视频数据和呼叫信号不会在同一个通道里传输，并且不使用同样的消息结构。H.225.0有能力使用不同的传输地址，在不同的RTP实例当中发送和接收音频、视频数据，以确保不同媒体帧的序列号和每种媒体的服务质量。现在ITU正在研究如何把音频、视频数据包混合在同一个传输地址中同一帧中，虽然音频、视频数据能够凭错传输层服务访问点标识来共享同一个网络地址，但是制造商还是选择使用不同的网络地址来分别传输音频、视频数据。在网关、多点控制单元和关守中可以使用动态传输层服务访问点标识来代替固定传输层服务访问点标识。 
一个可靠的传输地址用于终端与终端之间的呼叫建立，也可以用于关守之间，可靠的呼叫信号连接必须按照下例规则进行。在终端与终端的呼叫信号传输中，每个终端都可以打开或关闭可靠呼叫信号通道。对于关守的呼叫信号传输，终端必须保证在整个过程中打开可靠端口。虽然关守能够选择是否关闭信号通道，但是对于网关正在使用的呼叫通道，关守必须保证它打开。诸如显示信息等Q.931信息可以在端到端之间传输。如果由于传输层的某个原因使得可靠的连接被断开，这个连接必须重建，此次呼叫不认为是失败。除非H.245通道被关闭。呼叫状态和呼叫参考值不受关闭可靠连接的影响。同一时间可以打开多个H.245通道，因此同一个终端可以同时参加多个会议。在一个会议中，一个终端甚至可以同时打开多种类型的通道，例如，同时打开两个音频通道来得到立体声效果。但是在一个点对点的呼叫中只能打开一个H.245控制通道。 
H.245协议定义了主从判别功能，当在一个呼叫中的两个终端同时初始化一个相同的事件时，就产生了冲突。例如，资源只能被一个事件使用。为了解决这个问题，终端必须判断谁是主终端，谁是从终端，主从叛别过程用来判断哪个终端是主终端，哪个是从终端。终端的状态一旦决定，在整个呼叫过程期间都不会改变。性能交换过程用来保证传输的媒体信号是能够被接收端接收的，也就是接收端必须能够解码接收数据。这要求每一个终端的接收和解码能力必须被对方终端知道。终端不需具备所有的能力，对于不能理解的要求可以不予理睬。终端通过发送它的性能集使对方知道自己的接收和解码能力。接收性能描述了终端接收和处理信息流的能力。发送必须确保所发送的性能集的内容是自己能够做到的。发送性能给接收方提供了操作方式的选择集，接收方可以从中选择某种方式。如果缺省了发送性能集，这说明了发送方没有给接收方选择，但这并不说明发送方不会向接收方发送数据。这些性能集使得终端可以同时提供多种媒体流的处理。例如，一个终端可以同时接收两路不同的H.262视频信号和两路不同的H.722音频信号。性能消息描述的不仅仅是终端具有的固有能力，还描述了它可以同时具有哪些模型。它也可能表示了发送性能和接收性能之间的一种折中。终端可以使用非标准参数结构来发送非标准性能和控制消息。非标准消息是制造商或其它组织定义的，用来表明其终端所具有的特殊能力。 
逻辑通道信号过程确保在逻辑通道打开时，终端就具有接收和解码数据的能力。打开逻辑通道消息包含了关于传送数据的描述。逻辑通道必须在终端有能力同时接收所有打开通道的数据时才通被打开。一个逻辑通道由传送方打开。接收方可以向传送方请求关闭逻辑通道，传送方可以接受请求，也可以拒绝请求。当性能交换结束时，双方终端通过交换的性能描述符都知道了对方的性能。终端不需要知道描述符中所有性通，只要知道它使用的性能即可。终端知道自己与对方终端的环型延时是很有用的。环型延时判别就是用来测试环型延时的，它还可以用来测试远方终端是否存在。命令和说明可以用来传送一些特殊的数据。命令和说明不会得到远程终端的响应消息。命令用于强迫远程终端执行一个动作，说明用于提供信息。 
H.323协议规定，音频和视频分组必须被封装在实时协议RTP中，并通过发送端和接收端的一个UDP的Socket对来进行承载。而实时控制协议RTCP用来评估会话和连接质量，以及在通信方之间提供反馈信息。相应的数据及其支持性的分组可以通过TCP或UDP进行操作。H.323协议还规定，所有的H.323终端都必须带一个语音编码器，最低要求是必须支持G.711建议。  H.323通信