《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 基于硬件加速模块的嵌入式语音识别系统解决方案

基于硬件加速模块的嵌入式语音识别系统解决方案

2009-02-02
作者:智 强1,3,李 鹏1,3,

  摘  要: 在基于CHMM模型的语音识别原理的基础上,设计了一个以MCU和自行设计的语音识别加速模块(ASIC模块)为核心的低成本、高性能的嵌入式语音识别系统。该系统配合外围电路,能够独立完成语音识别工作,并且有大幅度的性能提升,从而使嵌入式语音识别更加方便简洁。以ARM7作为系统的控制内核,语音识别加速模块负责完成隐含马尔可夫模型识别算法中运算量最大的Mahalanobis距离运算部分。该系统具有低成本、高性能、高通用性、可裁剪性强等特点。

  关键词: 嵌入式语音识别;MCU+ASIC;Mahalanobis距离

  

  近年来,新型智能化嵌入式设备已大量走入人们的工作和生活,作为人与智能化终端之间自然快捷的交互控制方式之一,语音识别技术已经逐步进入实用阶段。语音识别系统的实用化,尤其是在ARM等嵌入式平台上实现高性能的语音识别技术一直是近年来语音识别应用领域的一个重点。

  在汽车电子设备方面,当前的车载设备不断增多。在大中型城市中,通过全球卫星定位GPRS系统、无线通信技术和无线网络接入等技术获取丰富信息已经成为汽车信息化的要求,而驾驶者的眼睛和双手在行驶过程中的交互压力将变大。通过高性能的语音交互系统进行车载电子设备的控制已成为汽车电子发展的必要。在以手机为代表的手持移动消费类电子设备中,占有国内国际市场最大份额的诺基亚、三星、摩托罗拉等公司的多款手机已经引入了语音识别功能。随着人们对手机娱乐性和智能化的不断追求,高性能、非特定人语音识别将成为手机行业乃至消费类电子的潮流。另外,以普通话学习机为代表的教育电子产品领域中,语音识别技术的应用也日趋重要。随着中国经济的快速发展,普通话学习人群已经扩展到全球。嵌入式语音识别技术成为语言学习机与学生交互并对学生发音等状况作出评价和反馈的关键。目前,基于嵌入式的语音识别算法中,CHMM算法的性能较其他算法更为突出[1-2]。因此,基于CHMM算法的高性能、低功耗、低成本、通用性强的语音识别系统的研发越来越成为必要。

  当前,实现嵌入式语音识别的硬件架构主要有单MCU模式、MCU+DSP模式两种。本文结合CHMM语音识别算法特点提出将占总运算量比例最高的Mahalanobis距离部分映射为语音识别加速ASIC模块,配合主控MCU完成语音识别的MCU+ASIC方案。由于硬件方式实现算法的关键部分速度很快,MCU可在较低时钟频率下完成语音识别处理的功能,从而大大降低嵌入式语音识别的成本和功耗,并使之具有一定的通用性。三种方式的优缺点比较如表1。

 

 

1 语音识别算法优化关键

  为了获得较好的识别性能,目前的非特定人语音识别主要采用识别率较高的连续隐含马尔科夫模型CHMM(Continuous Hidden Markov Model)算法。基于CHMM模型的嵌入式语音识别算法,根据其功能,通常包括语音特征提取、输出概率计算(分数计算)和词条网络搜索(Viterbi搜索)三个部分[5],其中,输出概率计算包括Mahalanobis距离和对数域加法两部分,CHMM算法结构如图1。

 

 

  在基于DSP实现该算法并针对DSP进行良好汇编优化的系统中发现,输出概率计算部分占到了总运算量的80%。其中,Mahalanobis距离计算部分占到整个运算的55%。而在针对DSP优化前,Mahalanobis距离计算占到了整个运算量的80%[6]

  将该算法移植到S3C44BOX(ARM7)硬件平台上并对算法进行代码优化后各部分计算所占的比例见表2。测试条件为8kHz采样率、16bit量化语音输入下得到的数据,候选识别词条数为100条。

 

 

  由表2可以看出,Mahalanobis距离计算部分的效率仍然是整个识别系统性能的瓶颈。因此,将Mahalanobis距离模块映射成为硬件加速模块实现,则可以大大优化整个系统的性能,从而可以在较低的主MCU时钟频率下完成语音识别处理。

  下面介绍Mahalanobis距离算法的原理。

  在嵌入式语音识别系统中,一般采用多高斯混合概率密度函数作为CHMM模型的状态输出概率密度分布函数,如式(1):

  

2 系统硬件结构设计

  在ARM+ASIC模式下,主控ARM7与语音识别加速ASIC模块之间的通讯通常有三种模式。

  (1)语音识别加速模块通过ARM的协处理器端口与ARM进行通讯。这种方式下加速模块的数据需要通过主控ARM进行寄存器操作将数据传递给加速模块,语音识别加速模块与主处理器的配合要求高、难度大,同时,主处理器先得到数据再传递给加速模块会导致指令效率变低。另外,ARM公司的协处理器端口和协议未开放,成本较高。

  (2)ARM主控制器与语音识别加速模块通过一块内嵌在ASIC中的SRAM进行通讯。加速模块的外特性如同一块SRAM,ARM通过通用外总线与加速模块进行通讯,适合于单器件的外加速模块设计。这种总线通讯方式不能达到很高的通讯速率,速度瓶颈主要存在于SRAM的数据读写处,但加速模块的通用性和可裁剪性变强,支持更高版本的ARM和其他MCU,同时,加速模块设计相对独立,设计实现相对容易。

  (3)语音识别加速模块通过ARM的AHB(Advanced High performance Bus)总线进行通讯,而加速模块作为第二主设备可以夺取ARM的总线控制权进行与主存的数据交换[7]。这种模式下需要符合AMBA总线规范,可以高效地进行数据读取和运算。另一方面,这种模式在电路时序等方面设计的较复杂,适用于开发加速IP模块[8],并且仅针对ARM的AHB总线规范。

    通过以上三种方式的对比,考虑到设计目标要求的低工作频率,本文采用第二种方式实现系统的硬件架构。系统的硬件架构如图2,系统以ARM内核与自行设计的Mahalanobis距离加速模块为核心,配合外围电路完成识别功能。

 

  图3是Mahalanobis距离加速模块的整体结构。其中数据通路包括绝对值运算单元和乘乘加运算单元两个子模块,通过内置的SRAM与外界进行通讯。

 

 

  Mahalanobis距离的核心运算主要是绝对值、乘法(平方)累加运算。这些运算单元将构成Mahalanobis距离计算模块的基本数据通路。采用SRAM作为与主控MCU的数据通讯接口,用于存储说话人语音特征和模型状态特征,并将计算结果返回给主控MCU。模块内部通过一个地址产生单元来对存储单元中的数据进行选择。通过控制电路对数据通路和地址产生单元的时序进行调度,使其能高效工作。图3是Mahalanobis距离计算模块的整体结构图,其中数据通路包括绝对值运算单元和乘乘加运算单元两个子模块,并采用流水线结构完成公式(2)中的所有运算。

  绝对值运算单元的结构如图4所示。输入A和B均为2个有符号16位数,输出C=|A-B|。

 

 

  乘平方累加运算单元的结构如图5所示。

 

3 验证系统工作原理及实验结果

  系统由主控端和FPGA端构成。主控端由三星公司的S3C44B0X处理器配合A/D和D/A电路、控制电路、JTAG调试电路、FPGA板接口、存储器扩展、扬声器及话筒等硬件资源构成。S3C44B0X硬件平台系统结构如图6。

 

 

    FPGA端以Xilinx VertexII系列的XC2V2000为主芯片,配合存储器、JTAG调试电路、ARM板接口电路构成,系统结构如图7。

 

 

  经过上述测试平台验证,以同表2的测试条件下得到的数据如表3。

 

 

  由表3中结果可以看出,经过硬件优化后,ARM上的Mahalanobis距离部分的运算优化为原来的35.60%,这部分运算来自于对加速模块的指令操作以及数据读写和等待。而识别全过程的计算量优化为计算前的48.58%。大大优化了整个系统的识别性能。

  本文提出了一种基于ARM和ASIC硬件加速模块的嵌入式语音识别系统解决方案,并在ARM+FPGA平台上得以验证。此方案大大提高了嵌入式语音识别系统的性能,降低了成本。该系统架构具有较强的通用性和扩展性,可以应用于以更高端的ARM内核或其他MCU为主控内核的系统中。由于ASIC硬件加速模块采用通用总线通讯模式,因此也可以作为单独的硬件模块运用于许多实时语音识别平台。

 

参考文献

[1] RABINER L R.A tutorial on hidden markov models and selected applications in speech recognition[J].IEEE transactions,Speech Audio Processing,1989,77(2):257-285.

[2] 陈方,高升.语音识别技术及发展[J].电信科学,1996,12(10):54-57.

[3] 杨之佐,董明,刘加,等.语音识别SoC UniLite的系统设计[J].计算机工程,2006,32(21):197-199.

[4] DONG Ming,LIU Jia,LIU Runsheng.Speech interface ASIC of SOC architecture for embedded application[C].ICSP′02,Piscataway,2002,402-405.

[5] 朱璇.基于子词的嵌入式语音识别系统[D].清华大学博士论文,2003.

[6] 董明,刘加,刘润生.高性能汉语数码语音识别芯片系统[J].清华大学学报(自然科学版),2003,43(9):1257-1260.

[7] HAN Ke,DENG Zhong Liang,SHU Qiong.Verification of AMBA Bus Model Using SystemVerilog[C].Electronic Measurement and Instruments,2007.ICEMI′07.8th International Conference,Aug.16-July 18,2007,1-776-1-780.

[8] LIN Shun Chieh,WANG Jia Ching,WANG Jhing Fa.An ARM-Based System on a Programmable Chip Architecture for Spoken Language Translation[J].Circuits and Systems II:Express Briefs,IEEE Transactions,2007,54(9):765-769.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。