3G手機語音識別應用中DSP的選擇策略
隨著DSP技術的進步,計算能力更強、功耗更低和體積更小的DSP已經出現,使3G手機上植入更精確更復雜的自動語音識別(ASR)功能成為可能。目前,基本ASR應用可以分成三大類:1. 語音-文本轉換(語音輸入);2. 講者識別;3. 語音命令控制(語音控制)。
這三類功能包含了3G所需的眾多ASR性能。語音-文本轉換的典型實例是語音撥號和電子郵件聽寫。講者識別功能可以通過語音識別安全地讀出存儲器中的個人數據,從而滿足信用卡定購和銀行服務等保密性高的應用需要。語音命令控制功能包括連接語音擴展標記語言(VXML)網站內容的語音接口,它支持財經服務與目錄助理等業務。目前VXML被用于規范網站內容的語音標簽。
語音識別的兩種方法
3G手機的ASR應用設計可分為兩類,即以終端為中心和以客戶/服務器為中心的應用。如圖1所示為以終端為中心的設計方法,3G手機(終端)執行整個語音識別過程并送出識別結果。在圖2所示的客戶/服務器方法中,終端只是執行預處理特征提取,然后通過一個誤碼受保護的數據信道將這些參數發送給中心服務器,中心服務器最終完成語音識別。如果采用以客戶/服務器為中心的設計方法,3G手機應使用數據信道而非移動信道來將語音發送給服務器進行識別,因為移動信道所用的低速率語音編碼會嚴重影響語音識別的性能。
各種ASR系統的差異主要體現在詞匯量上。一個簡單的網絡設備可能只需要16字的詞庫就能實現所要求的語音識別功能,而3G移動手機則需要更大的專業詞庫。這些詞匯可以跟講者相關(訓練語音識別設備使之熟悉用戶的聲音特征)或跟講者無關(語音識別設備可以識別任何人的聲音),DSP的計算負荷就隨著詞匯量和訓練數據的增加而增大。
例如,根據隱性馬爾可夫模型(HMM)可以分析一個典型的跟講者無關的100條命令識別的應用實例。假設HMM模型從左到右沒有跳躍地順序擺放,共有6個狀態、5個具有對角協方差的混合高斯分布,包含39個特征(13嘜-頻率對數系數或MFCC,及其一階和二階差分),具有16位精度,那么,HMM聲學模型的大小就是100×5×5×(39+2)×2=240kB。
為了實現輸入語音樣本差分、窗口截獲、MFCC抽取、概率計算和維特比搜索等運算的實時性,典型情況下需要消耗DSP的1千萬個乘法-累加周期(MMAC)。對于連續語音識別來說,上千個三音素模型和多種語法模型需要更多的存儲空間,也需要更快的DSP處理速度。
因此,移動電話中ASR系統的成敗很大程度上取決于DSP的功能和設計。第三代系統本身就需要比第二代系統更強性能的DSP,而增加ASR功能就對DSP提出了更高的要求。從結構角度看,對DSP性能的要求是處理速度快、功耗低和代碼密度高。
采用高速DSP是關鍵
由于系統要實時對語音進行處理和取樣,因此語音識別系統需要具有巨大的計算能力。下面的數字和計算假設采用的是圍繞終端的設計方法。如果將DSP計算資源的20%分配給一個10MMAC的語音識別系統使用,那么就需要一個具有50MMAC的DSP才能滿足這一功能需要,并可提供足夠的空間執行3G手機所需的其它DSP任務,如處理軟貓。如果采用較慢的DSP,如25MMAC的DSP,那么詞匯表中的命令數量就要減半,或減少HMM參數,這樣會降低整個系統性能。
DSP的速度決定了語音識別系統的復雜性和性能。舉例來說,如果一個基本的跟講者無關的連續語音識別系統需要100MMAC,DSP計算資源的50%用于滿足3G手機的其它DSP任務的需求,那么DSP的處理速度就需要達到200MMAC。
成本、性能和效率的折衷
DSP的速度越快,就越便于利用現代的HMM技術,如信道匹配和聲域匹配技術,因此,理論上講,DSP速度越快,ASR系統的性能就越好。然而,并行處理方法在提高ASR系統吞吐量中也扮演著重要角色。例如,一個具有4 ALU(算術邏輯單元)的200MHz DSP比只有1 ALU但運行于400MHz的DSP具有更高的吞吐量。根據具體應用的不同,2到3個單ALU DSP提供的性能與一個具有4 ALU的DSP相仿。相對一個具有4 ALU的DSP處理器方案來說,多個單ALU的DSP會提高手機的成本,因此對于適銷對路產品要充分權衡成本與性能之間的折衷。
總之,當比較一個600MHz的單ALU DSP和一個300MHz但有4 ALU的DSP時,設計工程師始終應把握的最終目標是高效的運算吞吐量,具有多個ALU的DSP也許是最好的解決方案。
性能與功耗
頂級性能的DSP采用并行結構來獲得最佳的性能空間。有個著名的平衡型并行結構StarCore SC140就采用了指令級并行結構,它具有4個并行ALU以及一個稱為變長執行集(VLES)的改進型甚長指令字模型。VLES的優點在于它支持在內存中完成高效的指令調度、執行和打包。它能通過一個指令隊列對前端提供反饋,并通過調度器控制后端,因此除非需要執行計算,VLES處理一般不消耗功率。
在并行VLES結構中,一些特殊指令需要成組以避免空操作(Nop),由于減少了時鐘周期,處理時間也相應減少了。比較而言,在甚長指令字計算中,所有執行步驟都必須按順序排列,因此在一個8字節的執行集甚至是1字節數據時,系統就需要7個占位符(placeholder)或Nop。
由于VLES結構不需要Nop,VLES設計中的復雜性從硬件或編程器轉移到了編譯器。由于每個周期都充滿了數據,因此每個周期就具有更高的效率,從而也提高了電源與內存的使用效率。
電源管理
由于ASR系統需要連續處理語音數據,會使DSP成為消耗電能的主要部件,因此高效利用電源對設備成功走向市場至關重要。
在高性能DSP中,選擇16位指令集而非32位指令集能提高代碼密度,進一步減少對內存、功耗和體積的需求,一部分原因是由于更短的16位指令集可以減少寄存器和數據線數量。例如在ASR應用中,存儲的詞匯量可能達到2.5MB(對于1024簇的三音素狀態,5個合成和39個參數來說,聲學HMM狀態模型是400KB;一本有1萬個三態三音素代碼本是60KB;三音素狀態轉移概率矩陣是500KB;一個具有40個雜亂態2萬字的雙字母組是1.6MB)。如果DSP具有高的代碼密度,能為ASR系統提供固定數量的存儲器,那么就可以獲得更好更大的聲學和語言模型。
片上和片外存儲器
對于ASR系統中使用的DSP來說,有效地利用片上和片外存儲器是另外一個重要的課題。由于ASR系統需要大量的存儲空間用于詞匯與模式識別數據的存儲,一個靈活的存儲結構在這里將顯得特別重要。例如,一個具備統一尋址存儲器的DSP能使設計工程師很好地平衡程序和數據,還能平衡系統算法的復雜性與聲學和語言模型的大小以獲得最優化的性能。
例如,如果具有100條命令的識別系統模型只有100kB的片上系統內存,總共內存空間需求是240kB,那么采用二次識別方法能更有效地利用片上快速存儲器。
第一次(原始識別階段)只使用39個參數中的13個MFCC,因此模型大小為80kB,可以載入片上內存。原始識別階段的候選命令數量要比原來的100個少,比方說是33個命令,但可信度高達99.9%。
第二次(精確識別階段)把33個候選命令的39個參數作為模型使用,大小是80kB,因此又可以把該模型裝載入片上內存。這種二次識別方法會引入一些延時,但延時非常小,大約只有10ms,說話人一般不會覺察到。
統一尋址存儲器能夠支持較大的詞匯庫或命令集,還能支持較大的HMM模型或神經網絡系數,因此能簡單化實時任務。例如為ASR系統的程序和數據準備100kB的存儲器,設計工程師就能平衡好算法復雜性與詞匯量或命令集大小之間的關系。如果程序要占50kB,那么數據只能是50kB。如果允許降低識別精度而將程序代碼壓縮到20kB,那么命令集就能用到80kB,也就是增加了詞匯庫容量。
在ASR系統中,高度并行化、高代碼密度和有效利用存儲器等優點還能使DSP完成語音識別以外的任務。在大多數情況下,設計工程師可以將部分計算資源分配給語音識別之用,而將剩余資源用來執行信道處理系統中所需的其它任務。
除了DSP內核以外的其他要求
在選中最優化的DSP后,要想獲得高性能的ASR用系統級芯片還需要增加一些功能,例如快速緩存或快速指令/數據存取以及實時操作系統(RTOS)才能使ASR系統真正完成實時性能。多任務RTOS能使系統同時運行多個應用如雙通道語音識別,因此能極大地提高系統性能。
復雜SoC應用(如信道處理系統)設計工程師能從使用高效的高級語言編譯器的DSP和SoC中獲益,因為這些編譯器允許設計工程師使用C或C++語言進行編程。采用增強的片上仿真和調試功能還可以進一步縮短設計時間。對于3G移動手機應用中各層次的元器件與系統設計來說,除了實時性能和簡化設計流程外,功率管理控制同樣非常重要。在設計SoC時,選擇具有可調功率功能的內核將獲益非淺。例如當移動用戶在說話時,DSP需要全速運行(如300MHz)。當未使用ASR功能時,SoC電源管理電路可以逐步降低到較低的時鐘速度(如100MHz),從而有效地降低漏電和功耗。
由于ASR系統對計算速度的需求會根據識別特征的差異產生很大變化,例如孤字識別或連續語音識別、詞匯量和跟講者無關的語音識別等,因此,能支持ASR功能的信道處理系統的復雜性變化也很大。
SoC非常適合于構造芯片的基礎架構,因此在以客戶/服務器系統為中心的設計中是非常理想的選擇,但SoC器件由于功能太強大,因此并不非常適合于用戶端以終端為中心的設計。然而,隨著ASR系統的逐漸成熟以及3G手機支持越來越復雜的應用和復雜ASR,這類功能強大的SoC也能成功地運用到用戶端。
在SoC上使用多個DSP能使系統在完成語音識別的同時更容易地執行其它任務。例如三個內核中的一個可以專門指定用來完成多信道的服務器端ASR,而其它二個內核用于執行像語音信道和互聯網數據處理這樣的任務。將來如果手機鍵盤不復存在的話,ASR將成為用戶與手機之間的唯一接口,到時這一功能將占用大部分的工作時間。
采用多個DSP內核還能提供強大的計算能力,從而使執行非常復雜的ASR任務成為可能,如電子郵件聽寫中的連續語音識別、安全交易和VXML中的“口令+講者驗證”等。多個DSP再加上統一的大型片上存儲器可以極大地縮短跟講者無關的訓練過程,因為在統計型ASR中訓練過程的計算負載比識別處理過程的負載重得多。
本文小結
盡管3G手機要想贏得市場,人們對其功能和設計仍將拭目以待,但這些系統需要高性能的信號處理平臺以滿足多媒體任務需求是不容置疑的,而隨著ASR系統的不斷普及,3G手機肯定需要具備運行多任務能力的多DSP SoC作為解決方案。