用DSP應(yīng)對(duì)3G手機(jī)的語音識(shí)別應(yīng)用
從設(shè)計(jì)的角度來看,ASR在實(shí)時(shí)操作以及語音格式的清晰程度與快速識(shí)別等功能性的實(shí)現(xiàn)方面,需要依靠高性能數(shù)字信號(hào)處理器技術(shù)來完成所需的復(fù)雜算法。幸運(yùn)的是,現(xiàn)代DSP技術(shù)已取得了很大進(jìn)展,它已經(jīng)實(shí)現(xiàn)了比以往更強(qiáng)大的計(jì)算能力、更低的功耗和更小的體積,可以將更復(fù)雜和更精確的ASR功能加到3G手機(jī)上。將高效、功能強(qiáng)大的DSP核與其它元件及技術(shù)組合在一起,可望實(shí)現(xiàn)3G手機(jī)所要求的通道處理方案。
目前來看,ASR的基本應(yīng)用按功能可分為三類:語音轉(zhuǎn)文本(語音‘鍵入’)、講話人識(shí)別和語音命令控制。
圖1 3G手機(jī)ASR應(yīng)用的兩種結(jié)構(gòu)類型
這三種類型的功能涵蓋了3G設(shè)備要用到的多種ASR特性。語音轉(zhuǎn)文本的應(yīng)用包括語音撥號(hào)和電子郵件口述。講話人識(shí)別功能可實(shí)現(xiàn)對(duì)個(gè)人存儲(chǔ)數(shù)據(jù)及講話人身份資料的安全語音訪問,能夠用于諸如信用卡購物及銀行業(yè)務(wù)等安全用途的訪問。語音命令控制功能涉及對(duì)語音擴(kuò)展標(biāo)記語言(VXML)網(wǎng)站內(nèi)容如理財(cái)服務(wù)、目錄幫助等的語音接口應(yīng)用等。(VXML目前正在成為網(wǎng)站內(nèi)容的標(biāo)準(zhǔn)化語音標(biāo)簽)。
從實(shí)施方案看,3G手機(jī)ASR應(yīng)用可分為以終端為中心和采用客戶機(jī)/服務(wù)器結(jié)構(gòu)兩種類型。如圖1所示,以終端為中心的應(yīng)用方案中,由3G手機(jī)完成整個(gè)語音識(shí)別過程并送出識(shí)別結(jié)果。在客戶機(jī)/服務(wù)器方案中,終端設(shè)備完成預(yù)處理和特征提取,然后通過防差錯(cuò)數(shù)據(jù)通道將所得參數(shù)發(fā)給中心服務(wù)器完成識(shí)別過程。采用客戶機(jī)/服務(wù)器結(jié)構(gòu),3G手機(jī)須通過數(shù)據(jù)通道而非移動(dòng)通道把語音傳給服務(wù)器進(jìn)行識(shí)別,這是因?yàn)橐苿?dòng)通道的語音編碼速率較低,會(huì)嚴(yán)重影響識(shí)別性能。
ASR系統(tǒng)按語匯量的不同有很大差異。簡單的網(wǎng)絡(luò)應(yīng)用具有最基本的16個(gè)字語匯功能就夠用了,但對(duì)于3G手機(jī)應(yīng)用,則需要更大量的專用語匯。這種語匯可以是與講話人有關(guān)的(按用戶的聲音進(jìn)行語訓(xùn))或無關(guān)的(任何人的聲音都可以)。語匯量以及語訓(xùn)數(shù)據(jù)的增加,對(duì)DSP計(jì)算載荷量的要求就變大。
例如,我們來考察一種典型的基于隱式馬可夫模型(HMM)的與講話人無關(guān)、100條指令識(shí)別量的應(yīng)用。假定HMM模型從左到右無遺漏;有6種狀態(tài),5種混合高斯型分布,具有對(duì)角線協(xié)方差;并有39種特性(頻率倒頻譜系數(shù)或MFCC為13mel,及其第一級(jí)、第二級(jí)差值),16位精度,那么聲學(xué)HMM模型的大小將為100x6x5x(39+2)x2= 240kB。
進(jìn)行包括輸入語音采樣的細(xì)分、開窗、MFCC提取、概率計(jì)算和Viterbi搜尋等實(shí)時(shí)操作,對(duì)DSP的運(yùn)算量要求一般為1000萬次乘法累加循環(huán)(MAC)。對(duì)于連續(xù)語音的識(shí)別,數(shù)千個(gè)三話音模型(triphone model)和各種語法模型,要求更大的存儲(chǔ)空間,以及更高的DSP處理速度。
由此,ASR系統(tǒng)在手機(jī)上應(yīng)用的成敗在很大程度上將取決于DSP的功能和設(shè)計(jì)。第三代移動(dòng)通信系統(tǒng)要求使用比以往更高性能的DSP,而ASR功能的加入對(duì)DSP就提出了更高的要求。從構(gòu)建系統(tǒng)架構(gòu)的角度看,實(shí)現(xiàn)好的DSP性能需要具有高處理速度,低功耗和高編碼密度。
高速DSP是關(guān)鍵
由于語音識(shí)別系統(tǒng)要對(duì)聲音進(jìn)行“實(shí)時(shí)”處理和采樣,因此它要進(jìn)行大量的運(yùn)算。下面的數(shù)字和運(yùn)算量是以終端中心方案為前提的。如果DSP20%的計(jì)算資源分配用于1000萬次MAC語音識(shí)別應(yīng)用,那么要同時(shí)具有這種功能,并仍有余力完成3G手機(jī)所要求的諸如‘軟貓’(Soft modem)處理能力等其它DSP任務(wù),則要求DSP提供5000萬次MAC。采用速度較慢的DSP,如運(yùn)算速度為2500萬次MAC,會(huì)使語匯量中指令數(shù)目減半或使HMM參數(shù)變得很少,導(dǎo)致系統(tǒng)總體性能下降。
DSP速度對(duì)語音識(shí)別應(yīng)用系統(tǒng)的復(fù)雜性和性能起著決定作用。例如,假定一個(gè)與講話人無關(guān)的連續(xù)語音應(yīng)用要求1億次MAC,而DSP計(jì)算資源的50%要為3G手機(jī)中的其它DSP應(yīng)用所占用,那么要求DSP所具有的處理速度就為2億次MAC。
效率至關(guān)重要
高速DSP的實(shí)現(xiàn)可引入通道自適應(yīng)和聲域自適應(yīng)等現(xiàn)代HMM技術(shù)。從理論上講,DSP越快,ASR應(yīng)用的性能就越好。但并行處理性能對(duì)ASR的吞吐量來說也是一個(gè)重要指標(biāo)。例如,工作頻率為200MHz、具有四個(gè)運(yùn)算邏輯單元的DSP,其吞吐量就遠(yuǎn)高于工作頻率為400MHz的單ALU DSP。根據(jù)具體應(yīng)用的不同,使用2到3個(gè)單ALU DSP可達(dá)到與一個(gè)四ALU DSP相同的性能。與單個(gè)四ALU處理器方案相比,使用多個(gè)單ALU DSP會(huì)增大手機(jī)成本,因此從產(chǎn)品的適銷性考慮,必須權(quán)衡成本和性能。
概言之,設(shè)計(jì)師在對(duì)一個(gè)600MHz單ALU DSP 和一個(gè)300-MHz四ALU DSP進(jìn)行比較選擇時(shí),頭腦中要謹(jǐn)記一個(gè)最終目標(biāo):有效的吞吐量。具有并行處理能力的多ALU DSP可成為取得好產(chǎn)品的最佳方案。
性能與功率
高處理能力的DSP采用并行架構(gòu)以留有性能余量。人所共知平均衡式并行架構(gòu)(StarCore SC140)采用的是具有四個(gè)并行ALU和一種被稱為可變長度執(zhí)行集(VLES)的極長指令字模型的指令級(jí)并行處理架構(gòu)。VLES的優(yōu)勢在于它能有效地支持存儲(chǔ)器內(nèi)指令的調(diào)度、執(zhí)行和打包。通過把指令隊(duì)列饋給前端并由調(diào)度程序控制后端,使得除了運(yùn)算所需之外沒有其它處理功耗。
在并行VLES架構(gòu)中,為避免出現(xiàn)空操作(Nops),把特殊指令歸為一組。其結(jié)果是,因所用時(shí)鐘周期數(shù)變少,從而縮短了處理時(shí)間。相反,在極長指令字的計(jì)算中,所有的操作步驟都要一個(gè)挨一個(gè)排列。因此,對(duì)于一個(gè)8字節(jié)的操作集來說,即使處理1字節(jié)的數(shù)據(jù),系統(tǒng)也要占用7個(gè)占位符或Nops。
VLES架構(gòu)無需Nops。VLES設(shè)計(jì)的復(fù)雜性在轉(zhuǎn)向編譯器,而非硬件或程序設(shè)計(jì)器。由于每個(gè)周期都滿載數(shù)據(jù),每個(gè)周期的效用就更高。這樣,電源和存儲(chǔ)器就可以得到有效地利用。
電源管理
為提高電池使用壽命,在3G應(yīng)用中,電源的有效使用很重要。由于語音數(shù)據(jù)需要進(jìn)行連續(xù)處理,ASR就成為DSP電池的主要能耗源。這樣,電源的有效利用對(duì)應(yīng)用方案的成功來說便顯得尤為關(guān)鍵。
對(duì)于高性能DSP來說,選用16位指令集而非32位指令集,可以改進(jìn)編碼密度,從而進(jìn)一步降低對(duì)存儲(chǔ)器、電源和體積等的整體要求。個(gè)中原因部分是因?yàn)槎痰?6位指令集意味著更少的寄存器和數(shù)據(jù)線。例如,在ASR應(yīng)用中,存儲(chǔ)的語匯量可能多達(dá)2.5M字節(jié)。(實(shí)現(xiàn)1024簇三音態(tài)、5種混合和39種參數(shù)等性能,所用聲學(xué)HMM狀態(tài)模型需占400kB;10000個(gè)三態(tài)三話音編碼簿占用60kB;三音態(tài)轉(zhuǎn)移概率矩陣占有500kB;有40種模糊態(tài)的20000字的雙字母組需要1.6MB。)如果DSP具有高的編碼密度,ASR應(yīng)用所需的存儲(chǔ)量一定,那么可以實(shí)現(xiàn)更好更大的聲學(xué)和語音學(xué)模型。
在ASR應(yīng)用中,片內(nèi)和片外存儲(chǔ)器的有效利用是DSP要考慮的另一個(gè)重要方面。由于語匯量和模型識(shí)別可能會(huì)要求大的存儲(chǔ)量,因此采用具有靈活性的存儲(chǔ)結(jié)構(gòu)對(duì)ASR系統(tǒng)是十分有益的。例如,采用帶一體化存儲(chǔ)器的DSP可使設(shè)計(jì)師很好地謀求程序與數(shù)據(jù)的平衡。通過均衡考慮系統(tǒng)運(yùn)算的復(fù)雜性和聲學(xué)語音學(xué)模型的大小,以求達(dá)到最佳性能。
如果片上系統(tǒng)內(nèi)存中只有100kB可用于具有100個(gè)指令的識(shí)別應(yīng)用模型,而其需求總量為240kB,那么采用兩遍(two-pass)識(shí)別方法可實(shí)現(xiàn)快速片上內(nèi)存更加有效地利用。第一遍(粗略識(shí)別階段)只用13個(gè)MFCC而非39個(gè)參數(shù)。這樣,模型的大小為80kB,可由片上內(nèi)存來承載。粗略識(shí)別階段,給出的候選話語數(shù)量將比原有的100個(gè)要少,可以是具有99.99%極高置信度的33個(gè)話音。第二遍(精細(xì)識(shí)別階段)用39個(gè)參數(shù)對(duì)33個(gè)候選話音建立模型,內(nèi)存占用80kB。這種模型同樣可由片上內(nèi)存來承載。由于第二遍操作只有等到整個(gè)指令完成發(fā)出以后才能動(dòng)作,因此兩遍方法將引入部分等待時(shí)間,但這一時(shí)間非常短,大約為10ms,不會(huì)引起講話人的注意。
一體化內(nèi)存可實(shí)現(xiàn)大的語匯量或指令集,以及大的HMM模型或神經(jīng)網(wǎng)絡(luò)系數(shù),從而簡化實(shí)時(shí)任務(wù)的完成。如有一個(gè)100kB的內(nèi)存,ASR應(yīng)用中的程序和數(shù)據(jù)都要用,這時(shí)開發(fā)人員便可以在運(yùn)算復(fù)雜程度以及語匯量或指令集大小之間進(jìn)行均衡處理。如果程序應(yīng)用占50kB,數(shù)據(jù)就只能用50kB。償若識(shí)別精度可略微降低,使程序代碼的內(nèi)存占用降為20kB,那么用于指令集的內(nèi)存量便可達(dá)80kB,語匯量便可擴(kuò)大。
在ASR應(yīng)用中,DSP器件所具有的高并行處理能力、良好的編碼密度以及內(nèi)存的高效利用等優(yōu)點(diǎn),這一切將使之除用于語音識(shí)別處理外還有更多的其它作為。大多數(shù)情況下,設(shè)計(jì)師只會(huì)對(duì)語音識(shí)別功能分配一部分帶寬,而將剩余帶寬用以完成通道處理系統(tǒng)所需的其它處理任務(wù)。
DSP芯核以外的問題
在最佳的DSP選定后,要實(shí)現(xiàn)ASR所要求的高性能SoC尚需數(shù)種附加功能。例如,為實(shí)現(xiàn)ASR系統(tǒng)的實(shí)時(shí)操作,需要加上快速緩存或快速指令/數(shù)據(jù)獲取,以及實(shí)時(shí)操作系統(tǒng)的運(yùn)行等功能。多任務(wù)RTOS可使系統(tǒng)同時(shí)運(yùn)行多個(gè)應(yīng)用,諸如要求具有更強(qiáng)功能性的兩通道語音識(shí)別應(yīng)用等。
從事諸如通道處理系統(tǒng)等復(fù)雜SoC應(yīng)用的設(shè)計(jì)師將受益于采用了高效高級(jí)語言編譯器的DSP和SoC,他們?cè)试S用C或C++等語言開展工作。通過使用增強(qiáng)型片上仿真與調(diào)試功能,還可在設(shè)計(jì)時(shí)間上大為改善。
除實(shí)時(shí)性能和設(shè)計(jì)過程得到簡化外,電源管理控制功能在3G手機(jī)應(yīng)用的元件及系統(tǒng)設(shè)計(jì)的各個(gè)層面上都起著重要作用。對(duì)于SoC設(shè)計(jì)來說,選擇具有可調(diào)節(jié)功率要求的芯核是有利的。例如,如果移動(dòng)用戶正在講話,那么這時(shí)需要DSP全速運(yùn)行,如300MHz。如果ASR功能沒在使用,那么SoC電源管理電路便可停到一個(gè)較低的時(shí)鐘速率上,如100 MHz,低的電流消耗帶來低功耗。
由于不同的ASR系統(tǒng)在單字識(shí)別或連續(xù)語音識(shí)別、語匯量以及相對(duì)于發(fā)話人的關(guān)聯(lián)性等性能方面差異很大,因此目前正在探討可支持廣泛的復(fù)雜ASR功能性要求的通道處理系統(tǒng)。
SoC很適合作基礎(chǔ)構(gòu)件使用,因此它是客戶/服務(wù)器系統(tǒng)的理想器件。目前SoC的功能性太強(qiáng),還不大適合用在以終端為中心的方案的用戶端。但是,伴隨ASR應(yīng)用的日趨成熟和3G手機(jī)對(duì)更綜合業(yè)務(wù)以及更復(fù)雜ASR的支持,這種功能強(qiáng)大的SoC同樣可以成功地應(yīng)用于此。
在SoC上使用多個(gè)DSP,使系統(tǒng)能輕松地在實(shí)施語音識(shí)別功能的同時(shí),對(duì)其它任務(wù)進(jìn)行操作。例如有三個(gè)芯片,其一可專供多通道服務(wù)器ASR使用,而另二個(gè)處理語音通道及互聯(lián)網(wǎng)數(shù)據(jù)處理等業(yè)務(wù)。將來,如果移動(dòng)電話的小鍵盤不復(fù)存在,ASR便會(huì)成為用戶和手機(jī)之間的惟一接口,這種功能將成為常規(guī)使用功能。
多個(gè)DSP核的使用還能提供強(qiáng)大的計(jì)算能力,進(jìn)而可實(shí)現(xiàn)對(duì)諸如口述電子郵件的連續(xù)語音識(shí)別、口令+發(fā)話人驗(yàn)證的安全交易和VXML等復(fù)雜ASR任務(wù)的處理。當(dāng)結(jié)合大容量的一體化片上內(nèi)存使用時(shí),多DSP可縮短發(fā)話人相關(guān)訓(xùn)練過程,因?yàn)橛?xùn)練過程的計(jì)算負(fù)載量比ASR統(tǒng)計(jì)識(shí)別過程要大很多。
3G和ASR
盡管這種可使3G手機(jī)贏得市場的特性和方案設(shè)計(jì)仍有待觀察,但很清楚,這類系統(tǒng)將需要高性能的數(shù)字信號(hào)處理平臺(tái)來對(duì)所規(guī)劃的多媒體業(yè)務(wù)進(jìn)行操作。伴隨ASR應(yīng)用的不斷普及,3G手機(jī)將需要依靠強(qiáng)大的DSP SoC解決方案來運(yùn)行多任務(wù)操作。一種經(jīng)濟(jì)、高效的方法是把ASR的功能實(shí)現(xiàn)指派給通道處理SoC,因?yàn)樗杉{入多個(gè)DSP,在不對(duì)3G手機(jī)添加額外元件的情況下提供專門的計(jì)算能力。
評(píng)論