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