有理由相信2007年将是最后突破可视电话进入大众市场障碍的一年。做出这样预测是基于以下的因素:宽带在家庭中广泛采用,现在在亚洲、欧洲和北美的某些区域渗透率超过50%;摩尔定律不断地向前推动处理器处理能力的发展,使得处理器能支持复杂运算的媒体处理算法,这些算法是实现可靠、高质量的全运动视频所需要的;电池技术以及电源管理的发展使得基于Wi-Fi的设备的待机时间和通话时间可以分别用天和小时来计算,而不是分钟;最后一点值得注意的是,产业标准的不断成熟以及基于IP越来越成熟的语音和视频软件解决方案(简称为V2IP)使得这些得以实现。
尽管可视电话发展时间很久,价格和性能依然是提供大众市场解决方案的绊脚石。即使我们从模拟可视电话转换到数字IP,有限的网络和缺乏处理能力导致的性价比依然不能适合于大众市场。随着有线和无线网络的普及,以及像飞思卡尔公司、瑞萨、TI和其他的芯片厂商提供的高性能的语音/视频处理技术,这些问题很快地得到了解决。因此,我们将关注点转移到上面谈到的第四点,即软件。当与IP连接的设备不能正常工作时,我们可以将问题和关注点放在这种软件解决方案上。并且在大多数情况下是能正常工作的。
基于IP软件平台的语音+视频设计
无论是电话或任何个人通信和多媒体设备都必须提供具有吸引力、可靠的用户体验,才能成功地产生一个主流的市场。因此,无线传输的质量和可靠性对于Wi-Fi可视电话来说非常重要。庆幸的是,IEEE802.11无线局域网标准不断地发展,在数据速率、范围和安全性上不断地改善,因此我们不再需要关心这个方面问题。
消费电子市场感受到真正稳定可靠的VoIP产品的时间才刚过去18~24个月。然而,设计、开发和生产支持Wi-Fi的语音视频(V2IP)电话需要大量的资源用于软件开发、集成和确认。我们将整个解决方案划分成四个关键部分,然后对每个部分进行研究:
1. 操作系统和硅片平台;
2. 基于IP架构的嵌入式语音+视频;
3. 应用服务层;
4. 图形用户界面(GUI)。
操作系统和芯片平台
我们正在看到越来越多的制造商使用嵌入式Linux作为VoIP电话产品的基础。其优势很多,包括开发者比较熟悉、丰富的软件开发环境等,但是最重要的可能是能帮助制造商降低总的材料成本。有很多提供商(例如MontaVista)他们能提供非常稳定、得到很好支持的,用于低功耗消费设备的Linux版本。
看看第一代可视电话所采用的架构,我们可以发现采用了不同的处理器分别用于语音、视频和系统控制功能。因为处理需要,一般采用针对密集媒体处理运算(数字信号处理或DSP)优化的处理器。例如:一个DSP用来处理语音处理功能,包括语音编码/解码、音调发生和检测、回声消除以及噪声消减;一个DSP或专用协处理器来处理视频编码和解码;一个应用处理器管理VoIP通话控制协议以及用户界面(见图1)。这种方式需要多个编程模型和开发工具链,这反过来会导致需要更大的开发团队,增加培训和额外的成本。
图1:第一代的可视电话需要3个处理器。
自从第一代的IP可视电话推出以来,通用应用处理器的处理能力已经提高到能将所有通常用DSP实现的语音处理器任务由应用处理器实现。特别对于Wi-Fi可视电话市场来说,这是一个非常重要的进步,因为无线连接的设备基本的需求是降低功耗,最大化电池寿命。
如果通过代码汇编和手动软件优化,VoIP编解码器(G.711、G.729AB、G.723.1、iLBC)、音频处理(DTMF以及通话进行音调检测/产生)语音质量增强(线路和声学回声消除和抖动缓冲等)以及其他相似的功能现在都能有效地在应用处理器上实现。越来越多的应用处理器集成了硬件加速功能,我们可以利用硬件加速来处理视频编码和解码(见图2)。
图2:设计可视电话的新范例
当今应用处理器的处理能力的增加使得我们能使用先进的操作系统环境,例如嵌入式Linux来有效地将V2IP系统中需要的控制和媒体处理进行划分。这反过来又使得使用单一处理器和工具链的软件开发更加简单,由于减少了一个或更多的昂贵DSP而降低了成本。
可视电话将利用下面的压缩算法中的一种或几种:H.263、H.264或MPEG-4。其中,在提供最低码率、高质量的实时视频方面,H.264(也称为MPEG-4 AVC)最优,其缺点是H.264需要比H.263更高的处理能力。在进入2007年后,具有足够能力处理H.264的具有经济成本效益的处理器将很常见。
基于IP的嵌入式语音+视频
V2IP设计的核心是嵌入式语音和视频处理,以及控制和管理系统(架构)数据流的软件单元。OEM和原始设计制造商(ODM)在开发V2IP架构上有三种选择:
1. 从零建立完整的V2IP软件架构;
2. 获得器件和软件堆栈授权,提供集成、确认、硅片移植和互用性测试;
3. 从第三方获得预集成和经验证的第三方架构。
除非IP和联网软件开发是你所在组织的核心优势,最快速、最低风险和最具成本效益的选择是获得第三方架构的授权。高度优化的解决方案将以能快速集成到终端产品设计中的形式出现。寻找到能提供所有的媒体处理算法和VoIP通话控制,并结合灵活架构的技术,能使终端产品开发商专注于设计一种高性能增值设备。因为IP流的实时特性,一个紧密集成的V2IP架构对于确保可靠、稳定的语音和视频通信非常重要。从广泛的媒体处理库到一系列的服务质量(QoS)以及联网客户,V2IP软件架构将最终决定语音/视频通信的质量和性能。
OEM应该注意确保他们实现的是一个具有弹性的VoIP架构。某种架构需要具有在指定的媒体通道内,在运行中对适当的VoIP编解码器进行选择和配置,以及媒体处理单元动态配置。架构及其相关的调度器(scheduler)组件必须确保对于指定通道定义所要求的所有算法在允许的时间段内执行。尽管在一个单通道系统中,这些算法的调度任务不过就是对适当算法按顺序的一连串调用,而多通道系统提供了更复杂的情形,在这种情形下,每个通道可能要求不同的VoIP编解码器,以及某些通道需要回声消除而其他通道不需要。可视电话通常是单通道系统,尽管一般都可以支持3方音频/视频通话。
别说是设计Wi-Fi可视电话,就是设计当前一个VoIP电话也需要产品差异化,并支持下一代的业务和功能。传统的VoIP电话提供了基本的“一般质量”的语音编解码器,例如G.711和使用H.263标准的视频压缩功能。在我们进一步讨论之前,需要说明的是这些编解码器都100%能实现个人视频会议通话,并且已经成功实现了多年。
然而,在当前的高保真和高分辨率的时代,要想获得大众的欢迎,下一代的可视电话必须支持宽带的音频和先进的视频压缩技术。像AMR-WB(G.722.2)音频技术和H.264视频压缩技术都大大地改善了通信体验,在双方之间提供了一个更具现场感的通信。
除了宽带、音频和更高分辨率的视频,还有很多技术能改善IP通信的可靠性、性能和语音及视频质量,使终端用户受益。更进一步地,下面的特性需要更具竞争性的VoIP和V2IP解决方案。
音频协议/语音质量增强:
1. G.711、G.723、G.726、G.729AB、G.723.1、iLBC;
2. 音频回放与记录;
3. 带本地音频混合的三方通话;
4. G.168线路回声消除;
5. 全双工的声学回声消除(免提通话);
6. 特定国家的通话过程音调产生/检测;
7. 通用的音调发生器;
8. 增益控制-自动和手动模式;
9. DTMF检测/发生/中继;
10. 8、16和24kHz的过/欠采样。
视频协议:1. H.263;2. MPEG-4简单类;3. H.264;4. 视频回放和记录支持。
NAT穿越(Traversal):1. STUN客户;2. TURN(STUN中继)客户;3. ICE。
高保真VoIP与多媒体支持:1. G.722.2(AMR-WB)编解码;2. 宽带AEC/AES;3. MP3解码;4. SP-MIDI解码;5. RTSP流媒体客户。
应用和GUI的无缝集成
一旦系统设计师选择了一个性能强大的架构来负责语音视频处理、通话建立和NAT穿越,设计的关键就转移到通过设计和实现用户体验来使产品与市场上其他V2IP设备进行差异化。
当前,用户体验是很多因素的反映,从用于构建设备的关键组件的质量(例如麦克风、喇叭、摄像机和显示器的质量)到难以量化的用户界面的易用性。实时个人通信设备采用更好的显示技术,GUI对于用户体验来说越来越重要了。当前,即使最基本的VoIP电话也提供了全彩显示GUI,并提供像活泼的菜单、通话者照片显示和即时消息。
GUI与嵌入式V2IP架构集成并不简单。大多数开发者面临的最大障碍在GUI和V2IP架构中处理的类型本质上不一样:V2IP架构着重于快速响应、面向媒体的实时处理;GUI则反映迅速、面用用户的事件驱动处理。
一个设计很好的V2IP架构将提供一个强大的应用编程接口(API),这个API需要很少的GUI交互作用。特别是,API通常只需对用户或网络产生的事件做出响应。这种分割避免了不舒服的事件驱动和实时媒体处理单元的联合,能实现简单的集成,允许开发者专注于增值的直觉GUI开发。