经过多年的发展,网络电话(VoIP)最终实现了它一直未竟的诺言,其市场终于开始腾飞。特别是在企业专用交换机(PBX)市场中,绝大部分新安装的系统都是基于VoIP技术的。在电信服务商市场,VoIP的使用最近也取得了显著增长;而且,随着宽带因特网逐渐普及,许多消费者都采用了某些VoIP解决方案取代他们既有的公共交换电话网络(PSTN)服务,或两者同时使用。
VoIP的上市是作为一种透过互联网拨打语音电话的廉价方法,最初由于音质和连通性都极有限,因此被大多数商业应用所排斥,仅为一些家庭用户所接受。但今天,VoIP技术已经得到极佳的发展,相关标准也已开发出来,能够实现可靠的通话联机和高音质的IP通话。
现在,VoIP已准备就绪作为主流应用,当然主要原因之一与成本相关。对一家机构而言,购买和安装PSTN PBX的费用比采用VoIP技术的成本要高得多,而后者不仅具有电话功能,还可通过把语音和数据集成在单一网络中来提高灵活性。此外,VoIP也使操作和管理成本得以降低,并为公司日后的通信方式(比如视频电话)打下基础。此外,VoIP更具有易于集成实时通信(Instant Messaging)、状态信息(presence information)、信息检索(information retrieval)及其它增值服务的优势,因此能提供更大的价值。
近来无线局域网(wireless LAN, WLAN)这一通信领域的发展似乎较VoIP更迅速。现今市场对行动性和一直连机(always-on connectivity)的需求已推动着基于IEEE 802.11的WLAN之发展,其成长速度是几年前预料不到的。VoIP和WLAN的结合无疑是一种完美的搭配,随着消费者逐渐了解到透过其携带型设备连接到WLAN可为实现“随时随地”接入网络提供必需的环境,这种结合引起了市场相当大的兴趣。然而,当VoIP进入无线世界时,由于有线和无线网络的特性不同,各种性能问题也随之出现。其中最主要的问题是网络拥塞以及WLAN支持多媒体通信的能力较差。
本文将探讨那些阻碍WLAN VoIP推行的最主要问题,并提出即使在恶劣的网络条件下也能获得高质量VoIP的解决方案,尤其关注在无线设备本身的设计中应该考虑到的一些问题。
无线VoIP
事实上,WLAN技术的存在已远不止于10年,不过它的使用主要局限在如仓库里的条形码阅读器(bar-code reader)等行业应用方面。但近来WLAN的推行愈来愈多,这引发了在这类网络上实现VoIP的广泛兴趣。事实上,很多类型的无线网络都有潜力用作无线VoIP,比如蓝牙、2.5G和3G。在本文中,我们主要讨论VoIP在迄今最流行的网络类型,即基于802.11系列标准的无线网络中的推行,不过,文中大部分内容其实也直接适用于其它类型的无线数据网络。
无线VoIP的典型应用包括企业用的无线电话、能连接到WLAN以便在需要时使用更高带宽的双模手机,以及具备VoIP功能的PDA。这些设备的共同点是外形尺寸都很小,对功率的耗用敏感,而且最初可能并非是为无线VoIP而设计的。
● 可感语音质量受制于IP网络稳定性
与IP网络相关的3大因素对VoIP可感语音质量(perceived speech quality)有重大影响:延迟、抖动和数据包丢失。
延迟可引起若干问题,其一是通话重叠(talker overlap),即通话双方很容易同时发话,故很难维持一种良好的双向通话。回声的存在也对延迟的敏感程度有显著影响。不过,只要这种滞后(latency)处于合理范围内,回声消除算法可以除去大部分的回声效应。国际电信联盟(ITU)的标准G.114建议,单向延迟应该低于150ms以确保通话质量可以接受。造成延迟的主要原因有算法延迟、处理延迟、网络延迟和硬件接口引起的延迟。
IP网络的延迟是由传输线路上的实体(physical)延迟、路由器中的缓冲器、抖动缓冲器等造成的,并随时间而变化。传输延迟分为两部分;恒定的或变化缓慢的网络延迟,以及被称作抖动(jitter)的快速变化。数据包网络中出现的抖动使接收设备中的解碼过程变得复杂化,因为解码器要求及时地获得数据包。通常抖动缓冲器是用来确保在需要时能获得数据包,但这却导致了随抖动幅度变大而令延迟加长了。
在网络路由器掉包(drop a packet)或数据包太迟到达而无法为解码器所处理时,都会出现数据包丢失现象。借着在抖动缓冲器中允许长时间延迟,后一种的资料包丢失情况基本上可以完全消除,但代价却是增加了系统延迟。
在WLAN上推行VoIP的挑战主要与接入点拥塞及各种影响链路质量的问题相关。最终的影响是,WLAN的延迟、网络抖动和数据包丢失较一般有线LAN都显著增加。
● 拥塞和链路质量不佳导致系统效率下降
作为使用最广泛的标准,802.11b/g的成功也暴露了它的局限性。当几个用户同时连接到同一个接入点时,便很容易出现拥塞。结果是抖动非常明显,特别是当多个大型数据包被送入同一个网络时更为严重。随着用户数目增加,系统的效率便会急速下降。
业界有一个非正规的测试,结果表明由于接入点的拥塞,VoIP的带宽利用因子(bandwidth utilization factor)可低至4%。相当有趣的是,使用压缩率更高的语音编解码器并不会增加可处理的通道数目。接入点是否拥塞一般取决于接入点必须处理之数据包数量,而非实际的带宽。语音数据包通常很小,而且发送极频繁,这就解释了语音数据包的低吞吐量的原因所在。
对拥塞的敏感程度仅仅是802.11网络的局限之一。多种原因可以导致链路质量下降以至可用带宽减少。802.11b/g工作在非授权2.4GHz频率范围内,和其它无线技术如蓝牙和无线电话共享该频谱,彼此干扰,可能引起严重的性能下降。链路质量差劣的结果是选择了低于最大值11/54 Mbps的连接速度。此外,链路质量不良还会造成重新传输的情况增加,直接影响延迟和抖动。在覆盖区域内漫游时,链路质量会快速变化,而且非常不稳定。这是一个重大的缺点,因为引入WLAN的目的就是为了增加移动性,而无线VoIP用户又往往需要在覆盖区域内漫游。因此,把VoIP引入到WLAN环境中对网络规划的要求较全数据(all-data) WLAN的更高。
由于接入点拥塞和链路质量不佳而引起的极高延迟,其最终结果是数据包常常太迟到达而变得没用。所以,对于无线LAN,抖动缓冲器之后的有效数据包丢失率一般较有线LAN的高得多。
实施服务质量(quality of service, QoS)机制是提高WLAN VoIP性能的一种有效方案。其目的是在现行已经考虑了常规数据流量和时间敏感语音流量的不同要求之标准以外引入新准则。现有标准的开发一直相当缓慢,而且还需要很长时间才可望看到WLAN VoIP大规模推行。事实上,即使执行QoS机制,WLAN显然仍会不断提出比一般有线LAN多得多的挑战。因此,QoS必须和其它技术相结合才能获得可接受的语音质量。
器件设计应考虑的问题
上文指出,使WLAN的环境较之有线LAN恶劣得多的原因很多。例如,在802.11b/g网络中,抖动标准偏差达50 ms~100 ms是很常见的,而在企业LAN里却极少有超过几毫秒的抖动。因此,在设计用于WLAN的携带型VoIP设备时,最重要的是必须考虑到WLAN的特性。要获得最佳的整体质量,还需要正确考虑软件和硬件问题。
在WLAN环境中,抖动缓冲器对滞后的影响比任何端接点(end-point)语音处理功能都要大。为了尽量减少延迟,抖动缓冲器算法必须能迅速适应不断变化的网络条件。因此,目前最常用的是能够进行动态大小分配的抖动缓冲器,即所谓的自适应抖动缓冲器(adaptive jitter buffer)。实现这一适应性的方法,是把数据包插入到缓冲器中以增加延迟,以及丢弃数据包来减少延迟。数据包插入通常就是重复之前的数据包,但这会导致听得见的失真。因此在改变延迟时,自适应抖动缓冲器算法的使用是非常谨慎的。这种传统数据包缓冲器方案的“适应粒度”(adaptation granularity,编按:粒度是表现一个物体或活动特征的相对大小、比例、细节等级或穿透深度),一般受数据包大小所限制。
业界出现了一种将先进的自适应抖动缓冲器控制和错误隐蔽(error concealment)结合在一起的解决方案。这种独特的算法把自适应抖动缓冲器控制和数据包丢失隐蔽整合在一个单元里,能够在毫秒之内改变缓冲器的大小。该方案能够迅速适应不断变化的网络条件,并确保具有最短延迟的最佳语音质量。实验显示,在典型的802.11b/g环境中,采用这种方案可使单向延迟减小约30 ms~80 ms。
如前所述,WLAN中数据包丢失的数量一般远比有线LAN的多,因此WLAN也需要更佳的数据包丢失处理能力。当数据包丢失时,必须采用一些机制来填补失去了的语音信号。这种解决方案一般被称为数据包丢失隐蔽(packet loss concealment)算法。一些简单的方法如重复以前的数据包,并不能为无线应用提供足够好的质量。另一方面,一种复杂的算法可以处理10%的数据包丢失而不会引起明显的性能降低。处理数据包丢失的另一种方案是推行一种专门为数据包丢失处理而设计的语音编码技术,但目前尚没有任何一种语音编码标准(如ITU编解码器)采用这种方法设计,故它们均对数据包丢失很敏感。不过,在传统的语音编码标准机构之外,一些功能强大的新编解码器正逐渐获得采纳。例如因特网工程工作小组(Internet Engineering Task Force, IETF)已经把iLBC语音编解码器纳入标准之内。
另一项主要挑战是在无线设备的硬件接口中完成对音频的正确处理。这些设备往往体积很小,或者原本是为其它应用(如PDA)而设计的,因此要获得良好的语音质量和低延迟便需要克服许多困难,必须在实施过程的每一个元件中把滞后减至最小,这一点非常重要。
携带型设备设计的许多因素均对语音质量造成影响。话筒、扬声器和模拟/数字转换器都是很明显的例子。像语音编解码器、滤波和回声消除等多种信号处理组件也对质量有重大影响。这些问题都非常类似于无线电话设备设计中众所周知而且了解的挑战。
还有一个与设备相关、可能会严重影响延迟和语音质量的问题是时钟偏移(clock drift)的处理。传统的解决方法是在接收器推行一个时钟同步装置,把接收到的RTP数据包的时间卷标(time stamp)和本地时钟进行比较,来校正时钟偏移。这些解决方案的问题与传统数据包缓冲器的类似:它们都基于不频繁的大幅度调节,因此每一次调节都非常明显。此外,由于数据包速率低而且存在抖动,所以在VoIP中难以进行可靠的时钟偏移估计。前面提到的结合了抖动缓冲器控制和错误隐蔽的技术就可以提供解决方案,因为它能自动校正时钟偏移,却不会引入任何可听噪声或额外的延迟。
要让PDA或其它原本不是专为执行实时语音而设计的设备能够进行语音操作存在很多新的挑战,包括在一个非实时操作系统中如何和其它应用共享资源。为节约成本,这些设备常常配备低质量的声卡,结果可能令数字信号的质量很差,而且为了避免采样失真,不得不采用数字重采样滤波器。
膝上型计算机可能是在可见未来最多地用作VoIP的携带型设备。一般的VoIP客户机软件可如在台式计算机一般,很容易地用于连接了WLAN的膝上型计算机上。然而,必须考虑到无线网络的不完美性,而且在以电池供电时,限制功率耗用是最重要的。因此,膝上型计算机的挑战非常类似于PDA。不过,鉴于膝上型计算机常常使用交流电源,因此让信号处理软件随着功率状态而变化其复杂性──即CPU的使用──是很合理的。例如,可使用具有较高位率(bit-rate)但复杂度较低的语音编解码器,也可利用一个简单的声音开关来代替全双工回声消除器。
结 语
基于802.11技术的无线电话已面世多年,但仍然没有获得大规模的采用。传统上,这类电话借用了手机设计的许多概念,语音处理技术则源自有线VoIP。结果是这种手持式装置对话的音频质量是可以接受,但处理WLAN环境中数据包丢失和抖动的能力却有限。
随着VoIP向无线方向发展,由于有线和无线网络的特性不同,性能问题变得越发重要。特别是延迟、网络抖动、数据包丢失以及对小型无线设备的特殊要求,都向无线VoIP设备的设计提出了种种挑战。不过,通过正确的硬件设计,以及采用先进的语音处理技术,在WLAN VoIP的实现过程中所遇到的大部分困难都是能够克服的,有助推动这项技术更容易和更快速地广泛使用。