摘? 要: 在基于CHMM模型的語音識(shí)別原理的基礎(chǔ)上,設(shè)計(jì)了一個(gè)以MCU和自行設(shè)計(jì)的語音識(shí)別加速模塊(ASIC模塊)為核心的低成本、高性能的嵌入式語音識(shí)別系統(tǒng)。該系統(tǒng)配合外圍電路,能夠獨(dú)立完成語音識(shí)別工作,并且有大幅度的性能提升,從而使嵌入式語音識(shí)別更加方便簡潔。以ARM7作為系統(tǒng)的控制內(nèi)核,語音識(shí)別加速模塊負(fù)責(zé)完成隱含馬爾可夫模型識(shí)別算法中運(yùn)算量最大的Mahalanobis距離運(yùn)算部分。該系統(tǒng)具有低成本、高性能、高通用性、可裁剪性強(qiáng)等特點(diǎn)。
關(guān)鍵詞: 嵌入式語音識(shí)別;MCU+ASIC;Mahalanobis距離
近年來,新型智能化嵌入式設(shè)備已大量走入人們的工作和生活,作為人與智能化終端之間自然快捷的交互控制方式之一,語音識(shí)別技術(shù)已經(jīng)逐步進(jìn)入實(shí)用階段。語音識(shí)別系統(tǒng)的實(shí)用化,尤其是在ARM等嵌入式平臺(tái)上實(shí)現(xiàn)高性能的語音識(shí)別技術(shù)一直是近年來語音識(shí)別應(yīng)用領(lǐng)域的一個(gè)重點(diǎn)。
在汽車電子設(shè)備方面,當(dāng)前的車載設(shè)備不斷增多。在大中型城市中,通過全球衛(wèi)星定位GPRS系統(tǒng)、無線通信技術(shù)和無線網(wǎng)絡(luò)接入等技術(shù)獲取豐富信息已經(jīng)成為汽車信息化的要求,而駕駛者的眼睛和雙手在行駛過程中的交互壓力將變大。通過高性能的語音交互系統(tǒng)進(jìn)行車載電子設(shè)備的控制已成為汽車電子發(fā)展的必要。在以手機(jī)為代表的手持移動(dòng)消費(fèi)類電子設(shè)備中,占有國內(nèi)國際市場(chǎng)最大份額的諾基亞、三星、摩托羅拉等公司的多款手機(jī)已經(jīng)引入了語音識(shí)別功能。隨著人們對(duì)手機(jī)娛樂性和智能化的不斷追求,高性能、非特定人語音識(shí)別將成為手機(jī)行業(yè)乃至消費(fèi)類電子的潮流。另外,以普通話學(xué)習(xí)機(jī)為代表的教育電子產(chǎn)品領(lǐng)域中,語音識(shí)別技術(shù)的應(yīng)用也日趨重要。隨著中國經(jīng)濟(jì)的快速發(fā)展,普通話學(xué)習(xí)人群已經(jīng)擴(kuò)展到全球。嵌入式語音識(shí)別技術(shù)成為語言學(xué)習(xí)機(jī)與學(xué)生交互并對(duì)學(xué)生發(fā)音等狀況作出評(píng)價(jià)和反饋的關(guān)鍵。目前,基于嵌入式的語音識(shí)別算法中,CHMM算法的性能較其他算法更為突出[1-2]。因此,基于CHMM算法的高性能、低功耗、低成本、通用性強(qiáng)的語音識(shí)別系統(tǒng)的研發(fā)越來越成為必要。
當(dāng)前,實(shí)現(xiàn)嵌入式語音識(shí)別的硬件架構(gòu)主要有單MCU模式、MCU+DSP模式兩種。本文結(jié)合CHMM語音識(shí)別算法特點(diǎn)提出將占總運(yùn)算量比例最高的Mahalanobis距離部分映射為語音識(shí)別加速ASIC模塊,配合主控MCU完成語音識(shí)別的MCU+ASIC方案。由于硬件方式實(shí)現(xiàn)算法的關(guān)鍵部分速度很快,MCU可在較低時(shí)鐘頻率下完成語音識(shí)別處理的功能,從而大大降低嵌入式語音識(shí)別的成本和功耗,并使之具有一定的通用性。三種方式的優(yōu)缺點(diǎn)比較如表1。
?
?
1 語音識(shí)別算法優(yōu)化關(guān)鍵
為了獲得較好的識(shí)別性能,目前的非特定人語音識(shí)別主要采用識(shí)別率較高的連續(xù)隱含馬爾科夫模型CHMM(Continuous Hidden Markov Model)算法?;贑HMM模型的嵌入式語音識(shí)別算法,根據(jù)其功能,通常包括語音特征提取、輸出概率計(jì)算(分?jǐn)?shù)計(jì)算)和詞條網(wǎng)絡(luò)搜索(Viterbi搜索)三個(gè)部分[5],其中,輸出概率計(jì)算包括Mahalanobis距離和對(duì)數(shù)域加法兩部分,CHMM算法結(jié)構(gòu)如圖1。
?
?
在基于DSP實(shí)現(xiàn)該算法并針對(duì)DSP進(jìn)行良好匯編優(yōu)化的系統(tǒng)中發(fā)現(xiàn),輸出概率計(jì)算部分占到了總運(yùn)算量的80%。其中,Mahalanobis距離計(jì)算部分占到整個(gè)運(yùn)算的55%。而在針對(duì)DSP優(yōu)化前,Mahalanobis距離計(jì)算占到了整個(gè)運(yùn)算量的80%[6]。
將該算法移植到S3C44BOX(ARM7)硬件平臺(tái)上并對(duì)算法進(jìn)行代碼優(yōu)化后各部分計(jì)算所占的比例見表2。測(cè)試條件為8kHz采樣率、16bit量化語音輸入下得到的數(shù)據(jù),候選識(shí)別詞條數(shù)為100條。
?
?
由表2可以看出,Mahalanobis距離計(jì)算部分的效率仍然是整個(gè)識(shí)別系統(tǒng)性能的瓶頸。因此,將Mahalanobis距離模塊映射成為硬件加速模塊實(shí)現(xiàn),則可以大大優(yōu)化整個(gè)系統(tǒng)的性能,從而可以在較低的主MCU時(shí)鐘頻率下完成語音識(shí)別處理。
下面介紹Mahalanobis距離算法的原理。
在嵌入式語音識(shí)別系統(tǒng)中,一般采用多高斯混合概率密度函數(shù)作為CHMM模型的狀態(tài)輸出概率密度分布函數(shù),如式(1):
2 系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)
在ARM+ASIC模式下,主控ARM7與語音識(shí)別加速ASIC模塊之間的通訊通常有三種模式。
(1)語音識(shí)別加速模塊通過ARM的協(xié)處理器端口與ARM進(jìn)行通訊。這種方式下加速模塊的數(shù)據(jù)需要通過主控ARM進(jìn)行寄存器操作將數(shù)據(jù)傳遞給加速模塊,語音識(shí)別加速模塊與主處理器的配合要求高、難度大,同時(shí),主處理器先得到數(shù)據(jù)再傳遞給加速模塊會(huì)導(dǎo)致指令效率變低。另外,ARM公司的協(xié)處理器端口和協(xié)議未開放,成本較高。
(2)ARM主控制器與語音識(shí)別加速模塊通過一塊內(nèi)嵌在ASIC中的SRAM進(jìn)行通訊。加速模塊的外特性如同一塊SRAM,ARM通過通用外總線與加速模塊進(jìn)行通訊,適合于單器件的外加速模塊設(shè)計(jì)。這種總線通訊方式不能達(dá)到很高的通訊速率,速度瓶頸主要存在于SRAM的數(shù)據(jù)讀寫處,但加速模塊的通用性和可裁剪性變強(qiáng),支持更高版本的ARM和其他MCU,同時(shí),加速模塊設(shè)計(jì)相對(duì)獨(dú)立,設(shè)計(jì)實(shí)現(xiàn)相對(duì)容易。
(3)語音識(shí)別加速模塊通過ARM的AHB(Advanced High performance Bus)總線進(jìn)行通訊,而加速模塊作為第二主設(shè)備可以奪取ARM的總線控制權(quán)進(jìn)行與主存的數(shù)據(jù)交換[7]。這種模式下需要符合AMBA總線規(guī)范,可以高效地進(jìn)行數(shù)據(jù)讀取和運(yùn)算。另一方面,這種模式在電路時(shí)序等方面設(shè)計(jì)的較復(fù)雜,適用于開發(fā)加速IP模塊[8],并且僅針對(duì)ARM的AHB總線規(guī)范。
????通過以上三種方式的對(duì)比,考慮到設(shè)計(jì)目標(biāo)要求的低工作頻率,本文采用第二種方式實(shí)現(xiàn)系統(tǒng)的硬件架構(gòu)。系統(tǒng)的硬件架構(gòu)如圖2,系統(tǒng)以ARM內(nèi)核與自行設(shè)計(jì)的Mahalanobis距離加速模塊為核心,配合外圍電路完成識(shí)別功能。
?
圖3是Mahalanobis距離加速模塊的整體結(jié)構(gòu)。其中數(shù)據(jù)通路包括絕對(duì)值運(yùn)算單元和乘乘加運(yùn)算單元兩個(gè)子模塊,通過內(nèi)置的SRAM與外界進(jìn)行通訊。
?
?
Mahalanobis距離的核心運(yùn)算主要是絕對(duì)值、乘法(平方)累加運(yùn)算。這些運(yùn)算單元將構(gòu)成Mahalanobis距離計(jì)算模塊的基本數(shù)據(jù)通路。采用SRAM作為與主控MCU的數(shù)據(jù)通訊接口,用于存儲(chǔ)說話人語音特征和模型狀態(tài)特征,并將計(jì)算結(jié)果返回給主控MCU。模塊內(nèi)部通過一個(gè)地址產(chǎn)生單元來對(duì)存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行選擇。通過控制電路對(duì)數(shù)據(jù)通路和地址產(chǎn)生單元的時(shí)序進(jìn)行調(diào)度,使其能高效工作。圖3是Mahalanobis距離計(jì)算模塊的整體結(jié)構(gòu)圖,其中數(shù)據(jù)通路包括絕對(duì)值運(yùn)算單元和乘乘加運(yùn)算單元兩個(gè)子模塊,并采用流水線結(jié)構(gòu)完成公式(2)中的所有運(yùn)算。
絕對(duì)值運(yùn)算單元的結(jié)構(gòu)如圖4所示。輸入A和B均為2個(gè)有符號(hào)16位數(shù),輸出C=|A-B|。
?
?
乘平方累加運(yùn)算單元的結(jié)構(gòu)如圖5所示。
?
3 驗(yàn)證系統(tǒng)工作原理及實(shí)驗(yàn)結(jié)果
系統(tǒng)由主控端和FPGA端構(gòu)成。主控端由三星公司的S3C44B0X處理器配合A/D和D/A電路、控制電路、JTAG調(diào)試電路、FPGA板接口、存儲(chǔ)器擴(kuò)展、揚(yáng)聲器及話筒等硬件資源構(gòu)成。S3C44B0X硬件平臺(tái)系統(tǒng)結(jié)構(gòu)如圖6。
?
?
????FPGA端以Xilinx VertexII系列的XC2V2000為主芯片,配合存儲(chǔ)器、JTAG調(diào)試電路、ARM板接口電路構(gòu)成,系統(tǒng)結(jié)構(gòu)如圖7。
?
?
經(jīng)過上述測(cè)試平臺(tái)驗(yàn)證,以同表2的測(cè)試條件下得到的數(shù)據(jù)如表3。
?
?
由表3中結(jié)果可以看出,經(jīng)過硬件優(yōu)化后,ARM上的Mahalanobis距離部分的運(yùn)算優(yōu)化為原來的35.60%,這部分運(yùn)算來自于對(duì)加速模塊的指令操作以及數(shù)據(jù)讀寫和等待。而識(shí)別全過程的計(jì)算量優(yōu)化為計(jì)算前的48.58%。大大優(yōu)化了整個(gè)系統(tǒng)的識(shí)別性能。
本文提出了一種基于ARM和ASIC硬件加速模塊的嵌入式語音識(shí)別系統(tǒng)解決方案,并在ARM+FPGA平臺(tái)上得以驗(yàn)證。此方案大大提高了嵌入式語音識(shí)別系統(tǒng)的性能,降低了成本。該系統(tǒng)架構(gòu)具有較強(qiáng)的通用性和擴(kuò)展性,可以應(yīng)用于以更高端的ARM內(nèi)核或其他MCU為主控內(nèi)核的系統(tǒng)中。由于ASIC硬件加速模塊采用通用總線通訊模式,因此也可以作為單獨(dú)的硬件模塊運(yùn)用于許多實(shí)時(shí)語音識(shí)別平臺(tái)。
?
參考文獻(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í)別技術(shù)及發(fā)展[J].電信科學(xué),1996,12(10):54-57.
[3] 楊之佐,董明,劉加,等.語音識(shí)別SoC UniLite的系統(tǒng)設(shè)計(jì)[J].計(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] 朱璇.基于子詞的嵌入式語音識(shí)別系統(tǒng)[D].清華大學(xué)博士論文,2003.
[6] 董明,劉加,劉潤生.高性能漢語數(shù)碼語音識(shí)別芯片系統(tǒng)[J].清華大學(xué)學(xué)報(bào)(自然科學(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.