用DSP应对3G手机的语音识别应用
数据速率高达2Mb/s的3G手机将可以支持包括数据业务和互联网连接在内的多媒体应用。由此,人们希望大多数3G手机的屏幕更大,键盘更小。为避免小键盘带来的不便,借助自动语音识别技术(ASR)实现语音拨号成为3G手机普遍看好的特性。如果ASR能够担当起这一重任并使消费者满意,那么它将最终完全取代小键盘而用在3G手机上。
从设计的角度来看,ASR在实时操作以及语音格式的清晰程度与快速识别等功能性的实现方面,需要依靠高性能数字信号处理器技术来完成所需的复杂算法。幸运的是,现代DSP技术已取得了很大进展,它已经实现了比以往更强大的计算能力、更低的功耗和更小的体积,可以将更复杂和更精确的ASR功能加到3G手机上。将高效、功能强大的DSP核与其它元件及技术组合在一起,可望实现3G手机所要求的通道处理方案。
目前来看,ASR的基本应用按功能可分为三类:语音转文本(语音‘键入’)、讲话人识别和语音命令控制。
这三种类型的功能涵盖了3G设备要用到的多种ASR特性。语音转文本的应用包括语音拨号和电子邮件口述。讲话人识别功能可实现对个人存储数据及讲话人身份资料的安全语音访问,能够用于诸如信用*购物及银行业务等安全用途的访问。语音命令控制功能涉及对语音扩展标记语言(VXML)网站内容如理财服务、目录帮助等的语音接口应用等。(VXML目前正在成为网站内容的标准化语音标签)。
从实施方案看,3G手机ASR应用可分为以终端为中心和采用客户机/服务器结构两种类型。如图1所示,以终端为中心的应用方案中,由3G手机完成整个语音识别过程并送出识别结果。在客户机/服务器方案中,终端设备完成预处理和特征提取,然后通过防差错数据通道将所得参数发给中心服务器完成识别过程。采用客户机/服务器结构,3G手机须通过数据通道而非移动通道把语音传给服务器进行识别,这是因为移动通道的语音编码速率较低,会严重影响识别性能。
ASR系统按语汇量的不同有很大差异。简单的网络应用具有最基本的16个字语汇功能就够用了,但对于3G手机应用,则需要更大量的专用语汇。这种语汇可以是与讲话人有关的(按用户的声音进行语训)或无关的(任何人的声音都可以)。语汇量以及语训数据的增加,对DSP计算载荷量的要求就变大。
例如,我们来考察一种典型的基于隐式马可夫模型(HMM)的与讲话人无关、100条指令识别量的应用。假定HMM模型从左到右无遗漏;有6种状态,5种混合高斯型分布,具有对角线协方差;并有39种特性(频率倒频谱系数或MFCC为13mel,及其第一级、第二级差值),16位精度,那么声学HMM模型的大小将为100x6x5x(39+2)x2= 240kB。
进行包括输入语音采样的细分、开窗、MFCC提取、概率计算和Viterbi搜寻等实时操作,对DSP的运算量要求一般为1000万次乘法累加循环(MAC)。对于连续语音的识别,数千个三话音模型(triphone model)和各种语法模型,要求更大的存储空间,以及更高的DSP处理速度。
由此,ASR系统在手机上应用的成败在很大程度上将取决于DSP的功能和设计。第三代移动通信系统要求使用比以往更高性能的DSP,而ASR功能的加入对DSP就提出了更高的要求。从构建系统架构的角度看,实现好的DSP性能需要具有高处理速度,低功耗和高编码密度。
高速DSP是关键
由于语音识别系统要对声音进行“实时”处理和采样,因此它要进行大量的运算。下面的数字和运算量是以终端中心方案为前提的。如果DSP20%的计算资源分配用于1000万次MAC语音识别应用,那么要同时具有这种功能,并仍有余力完成3G手机所要求的诸如‘软猫’(Soft modem)处理能力等其它DSP任务,则要求DSP提供5000万次MAC。采用速度较慢的DSP,如运算速度为2500万次MAC,会使语汇量中指令数目减半或使HMM参数变得很少,导致系统总体性能下降。
DSP速度对语音识别应用系统的复杂性和性能起着决定作用。例如,假定一个与讲话人无关的连续语音应用要求1亿次MAC,而DSP计算资源的50%要为3G手机中的其它DSP应用所占用,那么要求DSP所具有的处理速度就为2亿次MAC。
效率至关重要
高速DSP的实现可引入通道自适应和声域自适应等现代HMM技术。从理论上讲,DSP越快,ASR应用的性能就越好。但并行处理性能对ASR的吞吐量来说也是一个重要指标。例如,工作频率为200MHz、具有四个运算逻辑单元的DSP,其吞吐量就远高于工作频率为400MHz的单ALU DSP。根据具体应用的不同,使用2到3个单ALU DSP可达到与一个四ALU DSP相同的性能。与单个四ALU处理器方案相比,使用多个单ALU DSP会增大手机成本,因此从产品的适销性考虑,必须权衡成本和性能。
概言之,设计师在对一个600MHz单ALU DSP 和一个300-MHz四ALU DSP进行比较选择时,头脑中要谨记一个最终目标:有效的吞吐量。具有并行处理能力的多ALU DSP可成为取得好产品的最佳方案。
性能与功率
高处理能力的DSP采用并行架构以留有性能余量。人所共知平均衡式并行架构(StarCore SC140)采用的是具有四个并行ALU和一种被称为可变长度执行集(VLES)的极长指令字模型的指令级并行处理架构。VLES的优势在于它能有效地支持存储器内指令的调度、执行和打包。通过把指令队列馈给前端并由调度程序控制后端,使得除了运算所需之外没有其它处理功耗。
在并行VLES架构中,为避免出现空操作(Nops),把特殊指令归为一组。其结果是,因所用时钟周期数变少,从而缩短了处理时间。相反,在极长指令字的计算中,所有的操作步骤都要一个挨一个排列。因此,对于一个8字节的操作集来说,即使处理1字节的数据,系统也要占用7个占位符或Nops。
VLES架构无需Nops。VLES设计的复杂性在转向编译器,而非硬件或程序设计器。由于每个周期都满载数据,每个周期的效用就更高。这样,电源和存储器就可以得到有效地利用。
电源管理
为提高电池使用寿命,在3G应用中,电源的有效使用很重要。由于语音数据需要进行连续处理,ASR就成为DSP电池的主要能耗源。这样,电源的有效利用对应用方案的成功来说便显得尤为关键。
对于高性能DSP来说,选用16位指令集而非32位指令集,可以改进编码密度,从而进一步降低对存储器、电源和体积等的整体要求。个中原因部分是因为短的16位指令集意味着更少的寄存器和数据线。例如,在ASR应用中,存储的语汇量可能多达2.5M字节。(实现1024簇三音态、5种混合和39种参数等性能,所用声学HMM状态模型需占400kB;10000个三态三话音编码簿占用60kB;三音态转移概率矩阵占有500kB;有40种模糊态的20000字的双字母组需要1.6MB。)如果DSP具有高的编码密度,ASR应用所需的存储量一定,那么可以实现更好更大的声学和语音学模型。
在ASR应用中,片内和片外存储器的有效利用是DSP要考虑的另一个重要方面。由于语汇量和模型识别可能会要求大的存储量,因此采用具有灵活性的存储结构对ASR系统是十分有益的。例如,采用带一体化存储器的DSP可使设计师很好地谋求程序与数据的平衡。通过均衡考虑系统运算的复杂性和声学语音学模型的大小,以求达到最佳性能。
如果片上系统内存中只有100kB可用于具有100个指令的识别应用模型,而其需求总量为240kB,那么采用两遍(two-pass)识别方法可实现快速片上内存更加有效地利用。第一遍(粗略识别阶段)只用13个MFCC而非39个参数。这样,模型的大小为80kB,可由片上内存来承载。粗略识别阶段,给出的候选话语数量将比原有的100个要少,可以是具有99.99%极高置信度的33个话音。第二遍(精细识别阶段)用39个参数对33个候选话音建立模型,内存占用80kB。这种模型同样可由片上内存来承载。由于第二遍操作只有等到整个指令完成发出以后才能动作,因此两遍方法将引入部分等待时间,但这一时间非常短,大约为10ms,不会引起讲话人的注意。
一体化内存可实现大的语汇量或指令集,以及大的HMM模型或神经网络系数,从而简化实时任务的完成。如有一个100kB的内存,ASR应用中的程序和数据都要用,这时开发人员便可以在运算复杂程度以及语汇量或指令集大小之间进行均衡处理。如果程序应用占50kB,数据就只能用50kB。偿若识别精度可略微降低,使程序代码的内存占用降为20kB,那么用于指令集的内存量便可达80kB,语汇量便可扩大。
在ASR应用中,DSP器件所具有的高并行处理能力、良好的编码密度以及内存的高效利用等优点,这一切将使之除用于语音识别处理外还有更多的其它作为。大多数情况下,设计师只会对语音识别功能分配一部分带宽,而将剩余带宽用以完成通道处理系统所需的其它处理任务。
DSP芯核以外的问题
在最佳的DSP选定后,要实现ASR所要求的高性能SoC尚需数种附加功能。例如,为实现ASR系统的实时操作,需要加上快速缓存或快速指令/数据获取,以及实时操作系统的运行等功能。多任务RTOS可使系统同时运行多个应用,诸如要求具有更强功能性的两通道语音识别应用等。
从事诸如通道处理系统等复杂SoC应用的设计师将受益于采用了高效高级语言编译器的DSP和SoC,他们允许用C或C++等语言开展工作。通过使用增强型片上仿真与调试功能,还可在设计时间上大为改善。
除实时性能和设计过程得到简化外,电源管理控制功能在3G手机应用的元件及系统设计的各个层面上都起着重要作用。对于SoC设计来说,选择具有可调节功率要求的芯核是有利的。例如,如果移动用户正在讲话,那么这时需要DSP全速运行,如300MHz。如果ASR功能没在使用,那么SoC电源管理电路便可停到一个较低的时钟速率上,如100 MHz,低的电流消耗带来低功耗。
由于不同的ASR系统在单字识别或连续语音识别、语汇量以及相对于发话人的关联性等性能方面差异很大,因此目前正在探讨可支持广泛的复杂ASR功能性要求的通道处理系统。
SoC很适合作基础构件使用,因此它是客户/服务器系统的理想器件。目前SoC的功能性太强,还不大适合用在以终端为中心的方案的用户端。但是,伴随ASR应用的日趋成熟和3G手机对更综合业务以及更复杂ASR的支持,这种功能强大的SoC同样可以成功地应用于此。
在SoC上使用多个DSP,使系统能轻松地在实施语音识别功能的同时,对其它任务进行操作。例如有三个芯片,其一可专供多通道服务器ASR使用,而另二个处理语音通道及互联网数据处理等业务。将来,如果移动电话的小键盘不复存在,ASR便会成为用户和手机之间的惟一接口,这种功能将成为常规使用功能。
多个DSP核的使用还能提供强大的计算能力,进而可实现对诸如口述电子邮件的连续语音识别、口令+发话人验证的安全交易和VXML等复杂ASR任务的处理。当结合大容量的一体化片上内存使用时,多DSP可缩短发话人相关训练过程,因为训练过程的计算负载量比ASR统计识别过程要大很多。
3G和ASR
尽管这种可使3G手机赢得市场的特性和方案设计仍有待观察,但很清楚,这类系统将需要高性能的数字信号处理平台来对所规划的多媒体业务进行操作。伴随ASR应用的不断普及,3G手机将需要依靠强大的DSP SoC解决方案来运行多任务操作。一种经济、高效的方法是把ASR的功能实现指派给通道处理SoC,因为它可纳入多个DSP,在不对3G手机添加额外元件的情况下提供专门的计算能力。
|