在iPhone和智能电话中实现出色的IP语音及视频

本文作者:admin       点击: 2009-01-08 00:00
前言:

引言

苹果iPhone已经实现了创建一个全新多媒体移动通信终端用户体验的承诺,特别是今年iPhone 3G的面世,掀起了全球对移动语音及网络视频应用的一波狂热兴趣。但另一方面,移动网络存在延时和丢包问题,加上CPU能力有限的设备很容易导致严重回声,这些都为开发高质VoIP及视频应用带来了诸多挑战,即使是经验丰富的媒体处理专家也会感到棘手。明白到与移动 IP 通信有关的困难,那么移动 VoIP 应用的成功关键就在于开发者必需充分了解如何才能最好地解决网络和设备的限制问题,而这些问题有可能影响通话质量,甚至最终让通话无法正常进行。

本文对上述问题进行了探讨,并阐释了如何利用iPhone等这类智能电话的独特能力让应用实现 VoIP功能。文中讨论了移动IP网络存在的一些固有困难,以及移动设备独有的回声和操作系统优化等问题。最后,我们还会介绍如何克服这些障碍,提供高质量的终端用户体验。

移动VoIP 

在上世纪90年代,互联网开始普及,为IP网络用于通信创造了巨大商机。VoIP起步之初就被视为电话的替代品,提供一种替代传统PSTN通信的低成本方案。不过,当时大多数音频编解码器都是为已有的TDM网络而设计的,而视频编解码器更是只是处于萌芽阶段,因此语音及视频通信不稳定,几乎无法使用。但随着技术的进步,专门针对 IP 网络的语音处理解决方案成功面世,音质得到了显着改善,结果令采用宽带编解码器等技术的PC应用 (如Skype 和 Google Talk等) 爆炸性地流行起来。这些应用既可获得比PSTN更好的质量,同时还能提供免费或低价的通话服务。其后,视频技术领域的类似发展再进一步增强了业界对这类应用的兴趣,因为IP网络可以带来丰富的多媒体通信体验。

虽然PC是公认适用的IP通信平台,但移动设备的普及性和便利性却使其非常适合于提供下一代IP语音/视频应用。移动VoIP最初是由Pocket PC设备 (比如iPaq) 实现的,这些设备运行Windows CE,并经由WiFi接入IP网络。随着IP通信需求增长,传统移动电话也能够接入IP网络,并内置应用操作系统,这就是所谓的智能电话。这些智能电话一般运行Symbian 或 Windows Mobile,提供“双模式”功能,除了WiFi 网络接入之外,还可以接入传统的移动网络。智能电话为移动VoIP市场的增长带来了最具前景的商机,尤其是iPhone 和 Google的 Android平台等解决方案的面市,更有推波助澜之势。

尽管智能电话提供了这样的机会,但移动设备VoIP的实现仍是一大技术挑战。首先,移动电话乃小型设备,处理能力有限,而且价钱可能会比较昂贵,电池的使用寿命也很短。因此,VoIP处理软件在内存使用和计算复杂性方面必须非常高效。处理器通常需要一定程度的优化,且大多数器件需要信号处理算法的定点执行。这些任务的要求非常严格,不仅需要编程技巧,还要求信号处理领域的专业知识。

除了设备的限制之外,网络连接的质量也是移动VoIP应用开发面对的独特挑战。所谓移动设备,自然是指通过无线网络工作的器件。VoIP通话采用的无线接入方法一般是WiFi、3G 或Edge 封包数据连接等。对于这些无线连接而言,许多因素都可能会干扰无线信号的传输。例如,当设备远离无线基站或接入点时,信号强度便会降低,而背景噪声电平变大,因此可能导致很低的信噪比。导致接收质量降低的另一主因,是在相同或相邻频率上通信的其他用户所造成的干扰,这可能导致比特误差而出现丢包情况。此外,要使 VoIP这类实时通信变得高效,延时必须被减到最小,避免因需要重发而丢包。为了对移动VoIP进行高级别的丢包补偿,接收器端软件必需采用丢包隐藏 (packet loss concealment, PLC) 技术来补偿输出信号中的错误。对移动解决方案而言,PLC方法必须能够处理可能高达30% 的高峰值丢包率。

此外,开发应用时需要考虑的另一个方面是目前无线VoIP中常见的瓶颈问题。过多用户共享同一个频带或接入点 (尤其是WiFi),会导致吞吐量和传输时间的变化。这种现象称为抖动,常见于当接收器接收数据包的间隔时间不规则时。图1所示为WiFi信道抖动测量的实例。

对付抖动的最好方法是在接收端增加一个缓冲器来消除延时变化。缓冲量应该是自适应(adaptive) 的,并大致符合抖动曲线的包迹。最佳也最具自适应能力的解决方案,应该能够把延时减至最小,并同时可消除抖动,提供最清晰和连贯的通话效果。

iPhone作为VoIP平台

iPhone的面市为移动领域带来了突破性的设计和多媒体能力。iPhone的音频和视频处理能力让它成为极具吸引力的实时IP通信平台。这种电话的开放式API和灵活设计,意味着任何熟悉Mac OS操作系统的开发人员都能够实现高质量语音通话功能,而且未来还有可能增加实时视频功能。IP网络接入方式包括WiFi 和 3G/Edge,故实际上能够在任何位置进行VoIP通话,使得离IP通信普适性的目标又迈进了一步。

然而,上述提到的能力不错是很令人振奋,但iPhone这类设备也增加了VoIP应用设计的复杂性。譬如,除了移动设备惯常存在的抖动问题之外,当终端用户需要同步执行几项任务时,iPhone等智能电话还会引入额外的抖动。举例说明,iPhone可能在通话期间查收电邮,结果便会使VoIP通话的处理受到延迟。VoIP软件所受到的影响与网络抖动相同,这时一个可靠的抖动缓冲器就更显必要。另外,用户在通话时往往需要访问iPhone屏幕,因此免提通话是常见的使用情况。不过,用户离麦克风越远,扬声器音量越大,声学回声也越多,这进一步增加了对大部分移动设备来说已经很高的高效声学回声消除 (Acoustic Echo Cancellation, AEC) 通话要求。AEC是大多数平台所面临的一大难题,在处理能力有限的移动设备上尤甚。

这些独特的要求正是高质的语音和视频处理能力如此重要的原因所在。由于iPhone应用开发人员一般都并非音频/视频专家,故 Global IP Solutions的目标就是为iPhone开发社群提供实时IP多媒体通信功能。

针对iPhone开发的Global IP Solutions解决方案

Global IP Solutions公司自1999年以来就致力于语音处理解决方案的开发,在移动VoIP方面拥有丰富的经验。公司的创建宗旨是IP网络需要独特的解决方案来解决丢包、延时和抖动等问题。为了解决这些问题并提供尽可能好的音质,Global IP Solutions开发出了一系列创新解决方案,比如 iLBC (一种IETF标准) 和 iSAC 编解码器,以及NetEQ 抖动缓冲器。2002年,公司发表了语音处理软件包的首个版本 VoiceEngine。VoiceEngine 最初是针对PC和Windows推出的,包含了一个完整的VoIP声音处理软件包,能够帮助应用开发人员处理所有的语音处理复杂问题。

随后不久,公司开发出首个针对 iPaq 上Windows CE的VoiceEngine Mobile原型。这是一项突破性的进步,因为它能够让移动设备获得极高质量的WiFi VoIP通信。VoiceEngine自此成为广泛流行的产品,并推动了Skype、Google Talk 和Yahoo Messenger等应用。它是一个独立于平台的产品,并已在Mac OS上应用多年。鉴于VoiceEngine在移动领域的长期口碑,以及Global IP Solutions公司在MAC方面拥有的丰富体验,下一步很自然就是把VoiceEngine移植到iPhone上。Global IP Solutions还提供VideoEngine Mobile产品,加上随着 iPhone API变得开放,开发人员很快就能够为iPhone创建实时的语音和视频解决方案。

智能电话 (尤其是iPhone) 的独特要求,意味着VoiceEngine处理网络损害和设备限制的能力对移动环境而言更加重要。独立于平台的代码库,结合了专为iPhone所用ARM处理器而优化的代码组件库,能让开发人员面向iPhone迅速推出极高效率的高性能软件包,而不必再担心CPU的能力限制。此外,VoiceEngine还包含了被称为Net EQ的高自适应性抖动缓冲器,用于管理网络损害和由智能电话引入的额外抖动。NetEQ采用了新颖的抖动处理方法和丢包隐藏技术,能够迅速根据具体情况对抖动问题进行处理,并同时把缓冲延时减至最小。最后,VoiceEngine还使用了先进的AEC和噪声抑制解决方案,可把移动环境中极为常见的回声效应和背景噪声降至最小。所有这些能力都专门针对iPhone而优化,使得VoiceEngine成为移动VoIP应用开发人员的理想解决方案。

针对iPhone开发的VoiceEngine Mobile还提供了丰富的API,便于开发人员在自己的目标应用中整合极高质量的VoIP,并能够灵活调整各种参数,比如回声消除。

iPhone 的移动语音引擎

主要特性包括:
● 语音编解码器的选择
● 回声消除
● NetEQ先进抖动缓冲器
● 降噪
● 自动增益控制(AGC)

小结

随着移动设备实时语音和视频通信市场不断增长,开发人员必需认识到移动设备应用开发的独特需求。他们必需考虑到抖动、延时、声学回声和CPU限制等因素,以便获得高质量的语音及视频体验。

Global IP Solutions拥有独特的商业定位,致力于开发及提供最高效率且具有互操作性的产品系列,以帮助开发人员为客户提供先进的应用。