H.323协议定义了各种VoIP设备,主要包括终端和网关,可以统称为终端节点。这类设备完成相似的功能:给一个呼叫标记发送和接收的IP端口。在某种情况下,即配置了相应软件的多媒体PC相互呼叫,可看成两个H.323终端间的通信。另一种情况下,即电话与电话间呼叫,则要经过PSTN到IP网络再到PSTN的转接。上述两种情况均需描述端节点处IP语音数据的流入与流出,H.323协议中称其为信息流。
VoIP信息流的主体是语音信息,H.323协议允许采用各种编码方案但为了照顾兼容性,所有H.323终端和网关必须有ITU-TG.711编解码器,即64kbit/sPCM编解妈器,尽管效率不高,但PCM至少保证了不同设备最低程度的兼容性。另外,H.323协议还定义了其他一些语音编码方案:
VoIP信息流的主体是语音信息,H.323协议允许采用各种编码方案但为了照顾兼容性,所有H.323终端和网关必须有ITU-TG.711编解码器,即64kbit/sPCM编解妈器,尽管效率不高,但PCM至少保证了不同设备最低程度的兼容性。另外,H.323协议还定义了其他一些语音编码方案:
(1)G.728
ITU-T定义的16kbiu/s编码标准,采用低时延的代数编码激励-线性预测(LD-ACELP)数据压缩算法。
(2)G.729和G.729a
ITU-T制订的8kbit/s编码方案,采用共瓶结构一代数编码激励线性预测(CS-ACELP)数据压缩算法。G.729a比G.729算法复杂度小,执行时间短,所以该算法得到了大多数网关厂商的青睐。
(3)G.723.1
该标准定义了5.3kbit/s和6.4kbit/s两种速率。对应的分组长为20字节和24字节,每30ms可选择一次变速率切换。发端空闲时,G.723.1规定发送4字节的空闲数据分组。与G.729相比,G.723.1能更好地处理双音多频(DTMF)信令,也就是更好地利用了带内语音信令。
(2)G.729和G.729a
ITU-T制订的8kbit/s编码方案,采用共瓶结构一代数编码激励线性预测(CS-ACELP)数据压缩算法。G.729a比G.729算法复杂度小,执行时间短,所以该算法得到了大多数网关厂商的青睐。
(3)G.723.1
该标准定义了5.3kbit/s和6.4kbit/s两种速率。对应的分组长为20字节和24字节,每30ms可选择一次变速率切换。发端空闲时,G.723.1规定发送4字节的空闲数据分组。与G.729相比,G.723.1能更好地处理双音多频(DTMF)信令,也就是更好地利用了带内语音信令。
这些编码技术由于采用的数学模型不同,所以编码的效果也不同。人们用三个技术指标来衡量这些编码技术是否适用于VoIP系统:输出数据速率、算法执行时延、编码语音信号的可懂度。
研究表明,语音质量与压缩速率成反比。例如,以64kbit/sPCM的语音质量为标准、则换用其他低速率算法后,主观评判的语音质量均有所下降。
起初,语音质量的量化指标很难测试,现在,人们主要采用两类评估指标,时延与平均主观得分(MOS)。数据速率、时延、与MOS关系如图7-6所示。
图7-6 数据速率时延MOS的关系图
一般而言,算法复杂度越高,压缩效率就越高,但时延也越大。尽管网关与终端厂商试图采用专用集成电路芯片(ASIC)或现场可编程器件缩短处理时延,但并不能改变这一关系。
时延过长是极其不利的。例如,在海底光缆普及以前,经由同步卫星转接的越洋电话常常由于时延大而造成令人不可容忍的回波干扰。尽管打过这种电话的人士认为0.5~1s的时延会使通话困难,但实际上大多数人对高于0.2s的时延已无法忍受。
时延过长是极其不利的。例如,在海底光缆普及以前,经由同步卫星转接的越洋电话常常由于时延大而造成令人不可容忍的回波干扰。尽管打过这种电话的人士认为0.5~1s的时延会使通话困难,但实际上大多数人对高于0.2s的时延已无法忍受。
如果从发送到接收的时延仅限于算法处理的话,情况还不算太糟。但实际上,网络处理节点(路由器、交换机等)将引入更大的时延。由于上述原因,迫使编译码器设计者要以尽可能短的数据流发送尽可能高质量的语音,而且要尽量快。
时延指标固然重要,但平均主观得分(MOS)指标也许更重要。MOS是语音是否失真的主观判据,由一组试听者打分给出。或许语音编码器最诱人之处就在于能以8%的带宽提供80%的保真度。
事实上有些厂商并不愿意采用上述标准。他们夸11说自己的声码器比G.7xx的更好。但主流厂商对此持否定态度,因为这样会导致设备的不兼容。