《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于硬件加速模塊的嵌入式語音識別系統(tǒng)解決方案

基于硬件加速模塊的嵌入式語音識別系統(tǒng)解決方案

2009-02-02
作者:智 強1,3,李 鵬1,,3,

  摘? 要: 在基于CHMM模型的語音識別原理的基礎(chǔ)上,,設(shè)計了一個以MCU和自行設(shè)計的語音識別加速模塊(ASIC模塊)為核心的低成本、高性能的嵌入式語音識別系統(tǒng),。該系統(tǒng)配合外圍電路,,能夠獨立完成語音識別工作,并且有大幅度的性能提升,,從而使嵌入式語音識別更加方便簡潔,。以ARM7作為系統(tǒng)的控制內(nèi)核,語音識別加速模塊負(fù)責(zé)完成隱含馬爾可夫模型識別算法中運算量最大的Mahalanobis距離運算部分,。該系統(tǒng)具有低成本,、高性能、高通用性,、可裁剪性強等特點,。

  關(guān)鍵詞: 嵌入式語音識別;MCU+ASIC;Mahalanobis距離

  

  近年來,新型智能化嵌入式設(shè)備已大量走入人們的工作和生活,,作為人與智能化終端之間自然快捷的交互控制方式之一,,語音識別技術(shù)已經(jīng)逐步進(jìn)入實用階段。語音識別系統(tǒng)的實用化,,尤其是在ARM等嵌入式平臺上實現(xiàn)高性能的語音識別技術(shù)一直是近年來語音識別應(yīng)用領(lǐng)域的一個重點,。

  在汽車電子設(shè)備方面,當(dāng)前的車載設(shè)備不斷增多,。在大中型城市中,,通過全球衛(wèi)星定位GPRS系統(tǒng)、無線通信技術(shù)和無線網(wǎng)絡(luò)接入等技術(shù)獲取豐富信息已經(jīng)成為汽車信息化的要求,,而駕駛者的眼睛和雙手在行駛過程中的交互壓力將變大,。通過高性能的語音交互系統(tǒng)進(jìn)行車載電子設(shè)備的控制已成為汽車電子發(fā)展的必要。在以手機(jī)為代表的手持移動消費類電子設(shè)備中,,占有國內(nèi)國際市場最大份額的諾基亞,、三星、摩托羅拉等公司的多款手機(jī)已經(jīng)引入了語音識別功能,。隨著人們對手機(jī)娛樂性和智能化的不斷追求,,高性能、非特定人語音識別將成為手機(jī)行業(yè)乃至消費類電子的潮流,。另外,,以普通話學(xué)習(xí)機(jī)為代表的教育電子產(chǎn)品領(lǐng)域中,語音識別技術(shù)的應(yīng)用也日趨重要,。隨著中國經(jīng)濟(jì)的快速發(fā)展,,普通話學(xué)習(xí)人群已經(jīng)擴(kuò)展到全球。嵌入式語音識別技術(shù)成為語言學(xué)習(xí)機(jī)與學(xué)生交互并對學(xué)生發(fā)音等狀況作出評價和反饋的關(guān)鍵。目前,,基于嵌入式的語音識別算法中,,CHMM算法的性能較其他算法更為突出[1-2]。因此,,基于CHMM算法的高性能,、低功耗、低成本,、通用性強的語音識別系統(tǒng)的研發(fā)越來越成為必要,。

  當(dāng)前,實現(xiàn)嵌入式語音識別的硬件架構(gòu)主要有單MCU模式,、MCU+DSP模式兩種,。本文結(jié)合CHMM語音識別算法特點提出將占總運算量比例最高的Mahalanobis距離部分映射為語音識別加速ASIC模塊,配合主控MCU完成語音識別的MCU+ASIC方案,。由于硬件方式實現(xiàn)算法的關(guān)鍵部分速度很快,,MCU可在較低時鐘頻率下完成語音識別處理的功能,從而大大降低嵌入式語音識別的成本和功耗,,并使之具有一定的通用性,。三種方式的優(yōu)缺點比較如表1。

?

?

1 語音識別算法優(yōu)化關(guān)鍵

  為了獲得較好的識別性能,,目前的非特定人語音識別主要采用識別率較高的連續(xù)隱含馬爾科夫模型CHMM(Continuous Hidden Markov Model)算法,。基于CHMM模型的嵌入式語音識別算法,,根據(jù)其功能,,通常包括語音特征提取、輸出概率計算(分?jǐn)?shù)計算)和詞條網(wǎng)絡(luò)搜索(Viterbi搜索)三個部分[5],,其中,,輸出概率計算包括Mahalanobis距離和對數(shù)域加法兩部分,CHMM算法結(jié)構(gòu)如圖1,。

?

?

  在基于DSP實現(xiàn)該算法并針對DSP進(jìn)行良好匯編優(yōu)化的系統(tǒng)中發(fā)現(xiàn),,輸出概率計算部分占到了總運算量的80%。其中,,Mahalanobis距離計算部分占到整個運算的55%,。而在針對DSP優(yōu)化前,,Mahalanobis距離計算占到了整個運算量的80%[6],。

  將該算法移植到S3C44BOX(ARM7)硬件平臺上并對算法進(jìn)行代碼優(yōu)化后各部分計算所占的比例見表2。測試條件為8kHz采樣率,、16bit量化語音輸入下得到的數(shù)據(jù),,候選識別詞條數(shù)為100條。

?

?

  由表2可以看出,Mahalanobis距離計算部分的效率仍然是整個識別系統(tǒng)性能的瓶頸,。因此,,將Mahalanobis距離模塊映射成為硬件加速模塊實現(xiàn),則可以大大優(yōu)化整個系統(tǒng)的性能,,從而可以在較低的主MCU時鐘頻率下完成語音識別處理,。

  下面介紹Mahalanobis距離算法的原理。

  在嵌入式語音識別系統(tǒng)中,,一般采用多高斯混合概率密度函數(shù)作為CHMM模型的狀態(tài)輸出概率密度分布函數(shù),,如式(1):

  

2 系統(tǒng)硬件結(jié)構(gòu)設(shè)計

  在ARM+ASIC模式下,主控ARM7與語音識別加速ASIC模塊之間的通訊通常有三種模式,。

  (1)語音識別加速模塊通過ARM的協(xié)處理器端口與ARM進(jìn)行通訊,。這種方式下加速模塊的數(shù)據(jù)需要通過主控ARM進(jìn)行寄存器操作將數(shù)據(jù)傳遞給加速模塊,語音識別加速模塊與主處理器的配合要求高,、難度大,,同時,主處理器先得到數(shù)據(jù)再傳遞給加速模塊會導(dǎo)致指令效率變低,。另外,,ARM公司的協(xié)處理器端口和協(xié)議未開放,成本較高,。

  (2)ARM主控制器與語音識別加速模塊通過一塊內(nèi)嵌在ASIC中的SRAM進(jìn)行通訊,。加速模塊的外特性如同一塊SRAM,ARM通過通用外總線與加速模塊進(jìn)行通訊,,適合于單器件的外加速模塊設(shè)計,。這種總線通訊方式不能達(dá)到很高的通訊速率,速度瓶頸主要存在于SRAM的數(shù)據(jù)讀寫處,,但加速模塊的通用性和可裁剪性變強,,支持更高版本的ARM和其他MCU,同時,,加速模塊設(shè)計相對獨立,,設(shè)計實現(xiàn)相對容易。

  (3)語音識別加速模塊通過ARM的AHB(Advanced High performance Bus)總線進(jìn)行通訊,,而加速模塊作為第二主設(shè)備可以奪取ARM的總線控制權(quán)進(jìn)行與主存的數(shù)據(jù)交換[7],。這種模式下需要符合AMBA總線規(guī)范,可以高效地進(jìn)行數(shù)據(jù)讀取和運算,。另一方面,,這種模式在電路時序等方面設(shè)計的較復(fù)雜,適用于開發(fā)加速IP模塊[8],,并且僅針對ARM的AHB總線規(guī)范,。

????通過以上三種方式的對比,考慮到設(shè)計目標(biāo)要求的低工作頻率,本文采用第二種方式實現(xiàn)系統(tǒng)的硬件架構(gòu),。系統(tǒng)的硬件架構(gòu)如圖2,,系統(tǒng)以ARM內(nèi)核與自行設(shè)計的Mahalanobis距離加速模塊為核心,配合外圍電路完成識別功能,。

?

  圖3是Mahalanobis距離加速模塊的整體結(jié)構(gòu),。其中數(shù)據(jù)通路包括絕對值運算單元和乘乘加運算單元兩個子模塊,通過內(nèi)置的SRAM與外界進(jìn)行通訊,。

?

?

  Mahalanobis距離的核心運算主要是絕對值,、乘法(平方)累加運算。這些運算單元將構(gòu)成Mahalanobis距離計算模塊的基本數(shù)據(jù)通路,。采用SRAM作為與主控MCU的數(shù)據(jù)通訊接口,,用于存儲說話人語音特征和模型狀態(tài)特征,并將計算結(jié)果返回給主控MCU,。模塊內(nèi)部通過一個地址產(chǎn)生單元來對存儲單元中的數(shù)據(jù)進(jìn)行選擇,。通過控制電路對數(shù)據(jù)通路和地址產(chǎn)生單元的時序進(jìn)行調(diào)度,使其能高效工作,。圖3是Mahalanobis距離計算模塊的整體結(jié)構(gòu)圖,,其中數(shù)據(jù)通路包括絕對值運算單元和乘乘加運算單元兩個子模塊,并采用流水線結(jié)構(gòu)完成公式(2)中的所有運算,。

  絕對值運算單元的結(jié)構(gòu)如圖4所示,。輸入A和B均為2個有符號16位數(shù),輸出C=|A-B|,。

?

?

  乘平方累加運算單元的結(jié)構(gòu)如圖5所示,。

?

3 驗證系統(tǒng)工作原理及實驗結(jié)果

  系統(tǒng)由主控端和FPGA端構(gòu)成。主控端由三星公司的S3C44B0X處理器配合A/D和D/A電路,、控制電路,、JTAG調(diào)試電路、FPGA板接口,、存儲器擴(kuò)展,、揚聲器及話筒等硬件資源構(gòu)成。S3C44B0X硬件平臺系統(tǒng)結(jié)構(gòu)如圖6,。

?

?

????FPGA端以Xilinx VertexII系列的XC2V2000為主芯片,,配合存儲器、JTAG調(diào)試電路,、ARM板接口電路構(gòu)成,,系統(tǒng)結(jié)構(gòu)如圖7。

?

?

  經(jīng)過上述測試平臺驗證,,以同表2的測試條件下得到的數(shù)據(jù)如表3,。

?

?

  由表3中結(jié)果可以看出,經(jīng)過硬件優(yōu)化后,,ARM上的Mahalanobis距離部分的運算優(yōu)化為原來的35.60%,,這部分運算來自于對加速模塊的指令操作以及數(shù)據(jù)讀寫和等待。而識別全過程的計算量優(yōu)化為計算前的48.58%,。大大優(yōu)化了整個系統(tǒng)的識別性能,。

  本文提出了一種基于ARM和ASIC硬件加速模塊的嵌入式語音識別系統(tǒng)解決方案,并在ARM+FPGA平臺上得以驗證,。此方案大大提高了嵌入式語音識別系統(tǒng)的性能,,降低了成本。該系統(tǒng)架構(gòu)具有較強的通用性和擴(kuò)展性,,可以應(yīng)用于以更高端的ARM內(nèi)核或其他MCU為主控內(nèi)核的系統(tǒng)中,。由于ASIC硬件加速模塊采用通用總線通訊模式,因此也可以作為單獨的硬件模塊運用于許多實時語音識別平臺,。

?

參考文獻(xiàn)

[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] 陳方,,高升.語音識別技術(shù)及發(fā)展[J].電信科學(xué),1996,,12(10):54-57.

[3] 楊之佐,,董明,劉加,,等.語音識別SoC UniLite的系統(tǒng)設(shè)計[J].計算機(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] 朱璇.基于子詞的嵌入式語音識別系統(tǒng)[D].清華大學(xué)博士論文,2003.

[6] 董明,,劉加,,劉潤生.高性能漢語數(shù)碼語音識別芯片系統(tǒng)[J].清華大學(xué)學(xué)報(自然科學(xué)版),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.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com,。