×

浅谈手机语音识别应用中选择DSP的策略

消耗积分:1 | 格式:rar | 大小:0.4 MB | 2017-11-06

分享资料个

随着DSP技术的进步,计算能力更强、功耗更低和体积更小的DSP已经出现,使3G手机上植入更精确更复杂的自动语音识别(ASR)功能成为可能。目前,基本ASR应用可以分成三大类:1. 语音-文本转换(语音输入);2. 讲者识别;3. 语音命令控制(语音控制)。
  这三类功能包含了3G所需的众多ASR性能。语音-文本转换的典型实例是语音拨号和电子邮件听写。讲者识别功能可以通过语音识别安全地读出存储器中的个人数据,从而满足信用卡定购和银行服务等保密性高的应用需要。语音命令控制功能包括连接语音扩展标记语言(VXML)网站内容的语音接口,它支持财经服务与目录助理等业务。目前VXML被用于规范网站内容的语音标签。
  语音识别的两种方法
  3G手机的ASR应用设计可分为两类,即以终端为中心和以客户/服务器为中心的应用。如图1所示为以终端为中心的设计方法,3G手机(终端)执行整个语音识别过程并送出识别结果。在图2所示的客户/服务器方法中,终端只是执行预处理特征提取,然后通过一个误码受保护的数据信道将这些参数发送给中心服务器,中心服务器最终完成语音识别。如果采用以客户/服务器为中心的设计方法,3G手机应使用数据信道而非移动信道来将语音发送给服务器进行识别,因为移动信道所用的低速率语音编码会严重影响语音识别的性能。
  各种ASR系统的差异主要体现在词汇量上。一个简单的网络设备可能只需要16字的词库就能实现所要求的语音识别功能,而3G移动手机则需要更大的专业词库。这些词汇可以跟讲者相关(训练语音识别设备使之熟悉用户的声音特征)或跟讲者无关(语音识别设备可以识别任何人的声音),DSP的计算负荷就随着词汇量和训练数据的增加而增大。
  例如,根据隐性马尔可夫模型(HMM)可以分析一个典型的跟讲者无关的100条命令识别的应用实例。假设HMM模型从左到右没有跳跃地顺序摆放,共有6个状态、5个具有对角协方差的混合高斯分布,包含39个特征(13唛-频率对数系数或MFCC,及其一阶和二阶差分),具有16位精度,那么,HMM声学模型的大小就是100×5×5×(39+2)×2=240kB。
  为了实现输入语音样本差分、窗口截获、MFCC抽取、概率计算和维特比搜索等运算的实时性,典型情况下需要消耗DSP的1千万个乘法-累加周期(MMAC)。对于连续语音识别来说,上千个三音素模型和多种语法模型需要更多的存储空间,也需要更快的DSP处理速度。
  因此,移动电话中ASR系统的成败很大程度上取决于DSP的功能和设计。第三代系统本身就需要比第二代系统更强性能的DSP,而增加ASR功能就对DSP提出了更高的要求。从结构角度看,对DSP性能的要求是处理速度快、功耗低和代码密度高。
  采用高速DSP是关键
  由于系统要实时对语音进行处理和取样,因此语音识别系统需要具有巨大的计算能力。下面的数字和计算假设采用的是围绕终端的设计方法。如果将DSP计算资源的20%分配给一个10MMAC的语音识别系统使用,那么就需要一个具有50MMAC的DSP才能满足这一功能需要,并可提供足够的空间执行3G手机所需的其它DSP任务,如处理软猫。如果采用较慢的DSP,如25MMAC的DSP,那么词汇表中的命令数量就要减半,或减少HMM参数,这样会降低整个系统性能。
  DSP的速度决定了语音识别系统的复杂性和性能。举例来说,如果一个基本的跟讲者无关的连续语音识别系统需要100MMAC,DSP计算资源的50%用于满足3G手机的其它DSP任务的需求,那么DSP的处理速度就需要达到200MMAC。
  成本、性能和效率的折衷
  DSP的速度越快,就越便于利用现代的HMM技术,如信道匹配和声域匹配技术,因此,理论上讲,DSP速度越快,ASR系统的性能就越好。然而,并行处理方法在提高ASR系统吞吐量中也扮演着重要角色。例如,一个具有4 ALU(算术逻辑单元)的200MHz DSP比只有1 ALU但运行于400MHz的DSP具有更高的吞吐量。根据具体应用的不同,2到3个单ALU DSP提供的性能与一个具有4 ALU的DSP相仿。相对一个具有4 ALU的DSP处理器方案来说,多个单ALU的DSP会提高手机的成本,因此对于适销对路产品要充分权衡成本与性能之间的折衷。
  总之,当比较一个600MHz的单ALU DSP和一个300MHz但有4 ALU的DSP时,设计工程师始终应把握的最终目标是高效的运算吞吐量,具有多个ALU的DSP也许是最好的解决方案。
  性能与功耗
  顶级性能的DSP采用并行结构来获得最佳的性能空间。有个著名的平衡型并行结构StarCore SC140就采用了指令级并行结构,它具有4个并行ALU以及一个称为变长执行集(VLES)的改进型甚长指令字模型。VLES的优点在于它支持在内存中完成高效的指令调度、执行和打包。它能通过一个指令队列对前端提供反馈,并通过调度器控制后端,因此除非需要执行计算,VLES处理一般不消耗功率。
  在并行VLES结构中,一些特殊指令需要成组以避免空操作(Nop),由于减少了时钟周期,处理时间也相应减少了。比较而言,在甚长指令字计算中,所有执行步骤都必须按顺序排列,因此在一个8字节的执行集甚至是1字节数据时,系统就需要7个占位符(placeholder)或Nop。
  由于VLES结构不需要Nop,VLES设计中的复杂性从硬件或编程器转移到了编译器。由于每个周期都充满了数据,因此每个周期就具有更高的效率,从而也提高了电源与内存的使用效率。
  电源管理
  由于ASR系统需要连续处理语音数据,会使DSP成为消耗电能的主要部件,因此高效利用电源对设备成功走向市场至关重要。
  在高性能DSP中,选择16位指令集而非32位指令集能提高代码密度,进一步减少对内存、功耗和体积的需求,一部分原因是由于更短的16位指令集可以减少寄存器和数据线数量。例如在ASR应用中,存储的词汇量可能达到2.5MB(对于1024簇的三音素状态,5个合成和39个参数来说,声学HMM状态模型是400KB;一本有1万个三态三音素代码本是60KB;三音素状态转移概率矩阵是500KB;一个具有40个杂乱态2万字的双字母组是1.6MB)。如果DSP具有高的代码密度,能为ASR系统提供固定数量的存储器,那么就可以获得更好更大的声学和语言模型。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !