以文本方式查看主题 - 曙海教育集团论坛 (http://sun4.cn/bbs/index.asp) -- DSP系统和硬件开发讨论区 (http://sun4.cn/bbs/list.asp?boardid=5) ---- DSP VoIP和硬件技术设计低成本可视电话 (http://sun4.cn/bbs/dispbbs.asp?boardid=5&id=1321) |
-- 作者:wangxinxin -- 发布时间:2010-11-13 13:33:36 -- DSP VoIP和硬件技术设计低成本可视电话 利用快速增长的VoIP基础架构进入大众市场的机会已经来临,一些新技术和新产品已经使高性价比的可视电话成为可能。本文介绍了可视电话的成本现状和音频、视频功能实现的技术方法,并介绍了软件DSP(soft-DSP)VoIP技术和硬件加速视频编码技术。 在1964年世界展览会(World\'\'\'\'s Fair)上推出的AT&T Picturephone每分钟的语音加视频业务费用为16到24美元(考虑通货膨胀因素,相当于今天的78到118美元),如此之高的价格很自然难以普及。之后,人们不断尝试推出面向大众市场的可视电话,然而设备的价格一直在五百到上千美元之间徘徊,视频帧速率范围在每秒1帧到10帧之间,因此可视电话一直备受住宅用户的冷落。 而现在情况出现了转机,可视电话所面临的技术挑战被逐一克服,日益成熟的VoIP方案已解决了大部分的问题。宽带因特网接入已经普及,因此家庭具有了足够的带宽。一些新创企业和老牌运营商正在联合提供基于包的电话服务,这些服务形成了可视电话的良好基础。更重要的是,摩尔定律再一次发挥了它的魔力,现在已经有能够非常高效地处理全动态视频的处理器。通过恰当地使用软件VoIP设计技术和硬件加速视频处理技术,可视电话已经达到大众化产品所需的关键成本点。 图1:传统的多芯片可视电话架构。 可视电话的成本现状 要得到普及,可视电话的价格必须达到合适的水平。99美元的“魔力”消费价格点是许多提供商要面对的住宅可视电话市场的目标价格。虽然对于当前的技术来说这仍具有相当的挑战性,但很多VoIP服务提供商一年前就开始在交换机中部署可视电话了,有的更是承诺提供更多更好的服务。如果服务提供商的优惠促销,目前可视电话的零售价在800美元以上,因此对服务提供商来说是一项沉重的负担,很可能会抑制他们开展这种业务的兴趣。 目前具有VoIP功能的可视电话设计成本决定于众多必需的专业器件。传统的IP视频和语音(V2IP)设计至少包含三个独立的处理器:一个用于语音处理的DSP,一个视频编解码处理器(一个专用视频处理器,或者是一个能够处理视频编解码的通用DSP)和一个处理VoIP呼叫信令、用户接口和设备一般性控制的应用处理器。这些处理器加上其它一些必要的电子器件(如摄像头、LCD和音频编解码器),总的电子材料成本将达到500美元以上,这还没算软件、封装或制造所需的成本。 幸运的是,新的技术可以将可视电话的元器件成本至少砍掉一半。通过使用高度集成的应用处理器和软件DSP技术(如Trinity Convergence公司的VeriCall Edge嵌入式VoIP通信软件)实现VoIP处理,就可以用一个器件代替前面所述的多个处理器,从而极大地节省成本、功耗,并减小设备体积。 音频功能的实现 在传统的可视电话设备中,一个DSP用来实现分组语音处理(语音编解码、音调产生和检测、回波消除、噪声抑制等),另外一个独立的DSP或专用协处理器处理视频编解码,还有一个应用处理器用于管理VoIP呼叫控制协议和用户接口,如图1所示。 在这种多器件架构中,任务被分配给系统中的不同器件完成,因此协调和管理整个系统的任务量也有所增加。器件数量的增加不仅会增加设备的体积,还会增加电路板的总体复杂性。在多个器件情况下,由于每个器件有不同的电源要求,系统内的供电设计也会变得非常复杂,需要采用多电压转换器产生不同的电压值。 使用几个分离的处理器来分别实现语音、视频和系统控制的传统架构还要求多种编程模式和开发工具链,因此常常需要较大的开发团队,从而增加开发工具方面的培训和其它额外成本。基于ARM和MIPS架构的通用应用处理器现在已经增强了其处理能力,通过优化的“DSP类”指令,可以将原本用DSP实现的音频处理任务交给应用处理器来完成。如果仔细地采用汇编编码和手工优化过的软件,同时在视频编解码方面适当地采用某种形式的硬件加速器来实现的话,那么VoIP编解码(G.711、G.729AB、G.723.1、iLBC)、音频处理(DTMF(双音多频)和呼叫过程音调检测/产生)、语音质量增强(线路和声学回波消除、抖动缓冲等)和其它类似功能都可以在应用处理器上高效运行。 在典型的可视电话设计中,硬件音频编解码器(如AC97编解码器)提供麦克风/扬声器与通用处理器之间的物理接口。由通用应用处理器上运行的软件完成音频数据的收发和必要的VoIP处理,例如接收来自麦克风的输入音频数据,通过G.723.1之类的语音编解码模块进行处理后,再以分组数据流的形式向外发送,或者让扬声器播放产生的DTMF音调(通过硬件音频编解码器)。 设计工程师需要有关处理器架构和VoIP音频处理算法方面的详细知识,才能有效地实现这些处理器密切相关的算法。虽然针对适当的应用处理器架构实现这些语音处理模块需要付出很大的精力,但最终获得的好处可以证明在这方面的投入是很值得的。由于VoIP业务的实时特性,以及为了提供广泛的VoIP编解码器支持以确保设备间互操作性的需要,应该通过灵活的架构实现对正确VoIP编解码器的在线选择和配置,并对指定媒体通道中使用的媒体处理单元实现动态配置。采用的架构及相关调度模块必须能确保指定通道定义所要求的所有算法能在允许的时间周期内执行完成。 在单通道系统中调度这些算法的任务有点类似于按顺序对相关算法进行的一系列连续调用,多通道系统则要复杂得多,每个通道可能需要不同的VoIP编解码器,而且有些通道可能需要回波消除,有些通道则不需要。可视电话一般是“单通道”系统,不过也经常会有三方音频呼叫需求,此时可视电话应具有本地音频混合的能力,目前对支持多通道的需求正在不断增多。 图2:基于软VoIP的可视电话架构。 为了简化设备设计工程师的工作,可以利用VeriCall Edge这样的软件平台。这些平台提供了高度优化和集成的解决方案,可以快速集成到最终的产品设计中。在针对基于ARM9、ARM9E和MIPS32的器件集成的灵活架构内,提供必要的媒体处理算法以及基于SIP或H.323的VoIP呼叫控制,从而让可视电话开发商专注于开发设备上的增殖业务。通过将分组语音处理合并到通用处理器上,只要一个器件就可以处理可视电话中与VoIP相关的所有任务,VoIP呼叫控制、用户接口和一般的电话控制应用都在这个通用应用处理器上完成。由于其它一些任务没有相似的严格时间要求,因此可以用‘C’实现,不需要最优化的汇编代码。将媒体处理和呼叫控制/系统管理合并到单个应用处理器可以进一步简化设计,减少器件数量、成本和体积。另外,合并后还可以取消VoIP媒体处理和系统控制原本所需的各项单独开发工作和单独开发工具链。 为了进一步增加系统集成度,并获得更低功耗、更小体积和总体更低的系统成本,可以使用内含通用处理器和专用视频协处理器或DSP的系统级芯片(SoC)。飞思卡尔的i.MX21多媒体应用处理器就是这样的器件,它包含一个基于ARM9E的通用处理器和一个专门用于H.263和MPEG4编码/解码的硬件加速引擎,该引擎在CIF分辨率情况下可达到每秒30帧的视频处理速率。VeriCall Edge解决方案也充分利用了这种架构的优势,可以在ARM9E通用处理器上完成所有的VoIP媒体处理任务,同时可利用VeriCall Edge软件框架配置和管理基于硬件的视频加速模块来控制H.263或MPEG4视频流。 图像功能的实现 可视电话中最繁重的处理任务是对视频的处理。所需要的具体处理量变化相当大,取决于发送和接收图像的大小以及采用的特别编码方案。可视电话中最常用的是H.263、MPEG4和H.264标准。H.264传送一幅与H.263相当质量的视频图像所需带宽要比H.263小,但需要更强的处理能力来实现更高的压缩率。满足最大帧速率和分辨率范围的特定视频压缩方案将为器件中的视频处理选取“合适”的解决方案。 系统设计工程师可以有多种选择,可以在通用处理器或DSP上通过软件实现,也可以使用提供特殊视频流编解码的专用硅器件。只有在非常低的帧速率和分辨率条件下,才可全部利用运行于通用处理器上的软件实现视频流的编解码。对视频流的编码要比解码耗费更多的处理资源,因此合理的方案应该是在通用处理器上完成视频解码,利用某种形式的硬件加速电路完成视频编码。随着最新通用应用处理器(如基于ARM11和MIPS24K内核的处理器)的推出,处理器将拥有更强的处理能力,因此软件解码和硬件支持下的编码可能是下一代可视电话采用的最理想解决方案。 为了在CIF或更高分辨率下获得完全运动(30fps)的视频,当前的VoIP可视电话肯定需要某种形式的硬件加速电路。这种加速电路可以是某种形式的SoC,比如一个通用处理器处理语音,一个专用视频编码器件或更通用的DSP处理视频。专用视频编码器件的优势在于可以简化编程模型,与嵌入在SoC中的DSP相比,它在功耗和硅电路门数方面更有效率。然而,DSP可以为系统设计工程师提供更好的灵活性,通过DSP软件升级可以支持新的视频编解码格式(假设所用DSP具有处理新的视频编解码标准的足够能力)。总之,系统设计工程师必须决定所需的工作特性,充分考虑所需支持的视频格式,以及器件可提供的处理能力、功耗预算和尺寸。 图3:采用软VoIP方法的V2IP系统级芯片架构。 音频和视频功能集成 在明确语音和视频系统的设计要点后,也许最重要就是将这两个独立的子系统集成。在基于VoIP的可视电话中,音频和视频是作为两个独立的分组数据流进行收发的,这两个数据流必须在接收侧取得关联性和同步。不能正确地同步音频和视频流将导致类似于电影中演员的话音一直不能与图像相配合的后果。 可视电话设计时还需要考虑抖动缓冲。要想使产品可以实用,必须认真对待抖动缓冲的问题。虽然音频和视频数据流都包含有可用来关联数据的时间标签(timestamp),但系统还必须能够正确处理网络中可能会发生的数据包丢失和网络抖动。设计时必须考虑缓存和同步这两个数据流的方法,同时还不能给系统带来不必要的时延。某些可视电话允许用户修改视频和音频流之间的时延或偏移来取得基本的同步,虽然这种方法可以同步音频和视频流,但用户每次呼叫或通话期间网络状态改变导致流失步时都需要进行人工修正。VeriCall Edge V2IP解决方案则提供了更先进的音视频自动同步技术,不再需要用户手动去同步数据流,而且照样能适应网络状态的改变。VeriCall Edge可以通过主动地监视和管理输入的音视频数据流来适应某个数据流中包的延时或丢失,从而确保用户能在多种网络环境下取得高质量的视频效果。 本文小结 虽然四十多年来可视电话经历了很多坎坷,但目前的新技术和新产品已经使高性价比的可视电话成为可能,利用快速增长的VoIP基础架构进入大众市场的机会已经来临。软件DSP VoIP技术和硬件加速视频编码技术的有机结合,能使可视电话所需的电子材料成本减少一半之多。这种产品成本的大幅降低将促使可视电话迅速普及,而象VeriCall Edge等高度集成的软件架构可以帮助系统开发人员以更短的时间和最小的风险开发出创新性产品。 |