3G 手機語(yǔ)音識別應用中DSP的選擇策略
成本、性能和效率的折衷
DSP的速度越快,就越便于利用現代的HMM技術(shù),如信道匹配和聲域匹配技術(shù),因此,理論上講,DSP速度越快,ASR系統的性能就越好。然而,并行處理方法在提高ASR系統吞吐量中也扮演著(zhù)重要角色。例如,一個(gè)具有4 ALU(算術(shù)邏輯單元)的200MHz DSP比只有1 ALU但運行于400MHz的DSP具有更高的吞吐量。根據具體應用的不同,2到3個(gè)單ALU DSP提供的性能與一個(gè)具有4 ALU的DSP相仿。相對一個(gè)具有4 ALU的DSP處理器方案來(lái)說(shuō),多個(gè)單ALU的DSP會(huì )提高手機的成本,因此對于適銷(xiāo)對路產(chǎn)品要充分權衡成本與性能之間的折衷。
總之,當比較一個(gè)600MHz的單ALU DSP和一個(gè)300MHz但有4 ALU的DSP時(shí),設計工程師始終應把握的最終目標是高效的運算吞吐量,具有多個(gè)ALU的DSP也許是最好的解決方案。
性能與功耗
頂級性能的DSP采用并行結構來(lái)獲得最佳的性能空間。有個(gè)著(zhù)名的平衡型并行結構StarCore SC140就采用了指令級并行結構,它具有4個(gè)并行ALU以及一個(gè)稱(chēng)為變長(cháng)執行集(VLES)的改進(jìn)型甚長(cháng)指令字模型。VLES的優(yōu)點(diǎn)在于它支持在內存中完成高效的指令調度、執行和打包。它能通過(guò)一個(gè)指令隊列對前端提供反饋,并通過(guò)調度器控制后端,因此除非需要執行計算,VLES處理一般不消耗功率。
在并行VLES結構中,一些特殊指令需要成組以避免空操作(Nop),由于減少了時(shí)鐘周期,處理時(shí)間也相應減少了。比較而言,在甚長(cháng)指令字計算中,所有執行步驟都必須按順序排列,因此在一個(gè)8字節的執行集甚至是1字節數據時(shí),系統就需要7個(gè)占位符(placeholder)或Nop。
由于VLES結構不需要Nop,VLES設計中的復雜性從硬件或編程器轉移到了編譯器。由于每個(gè)周期都充滿(mǎn)了數據,因此每個(gè)周期就具有更高的效率,從而也提高了電源與內存的使用效率。
電源管理
由于A(yíng)SR系統需要連續處理語(yǔ)音數據,會(huì )使DSP成為消耗電能的主要部件,因此高效利用電源對設備成功走向市場(chǎng)至關(guān)重要。
在高性能DSP中,選擇16位指令集而非32位指令集能提高代碼密度,進(jìn)一步減少對內存、功耗和體積的需求,一部分原因是由于更短的16位指令集可以減少寄存器和數據線(xiàn)數量。例如在A(yíng)SR應用中,存儲的詞匯量可能達到2.5MB(對于1024簇的三音素狀態(tài),5個(gè)合成和39個(gè)參數來(lái)說(shuō),聲學(xué)HMM狀態(tài)模型是400KB;一本有1萬(wàn)個(gè)三態(tài)三音素代碼本是60KB;三音素狀態(tài)轉移概率矩陣是500KB;一個(gè)具有40個(gè)雜亂態(tài)2萬(wàn)字的雙字母組是1.6MB)。如果DSP具有高的代碼密度,能為ASR系統提供固定數量的存儲器,那么就可以獲得更好更大的聲學(xué)和語(yǔ)言模型。
片上和片外存儲器
對于A(yíng)SR系統中使用的DSP來(lái)說(shuō),有效地利用片上和片外存儲器是另外一個(gè)重要的課題。由于A(yíng)SR系統需要大量的存儲空間用于詞匯與模式識別數據的存儲,一個(gè)靈活的存儲結構在這里將顯得特別重要。例如,一個(gè)具備統一尋址存儲器的DSP能使設計工程師很好地平衡程序和數據,還能平衡系統算法的復雜性與聲學(xué)和語(yǔ)言模型的大小以獲得最優(yōu)化的性能。
例如,如果具有100條命令的識別系統模型只有100kB的片上系統內存,總共內存空間需求是240kB,那么采用二次識別方法能更有效地利用片上快速存儲器。
第一次(原始識別階段)只使用39個(gè)參數中的13個(gè)MFCC,因此模型大小為80kB,可以載入片上內存。原始識別階段的候選命令數量要比原來(lái)的100個(gè)少,比方說(shuō)是33個(gè)命令,但可信度高達99.9%。
第二次(精確識別階段)把33個(gè)候選命令的39個(gè)參數作為模型使用,大小是80kB,因此又可以把該模型裝載入片上內存。這種二次識別方法會(huì )引入一些延時(shí),但延時(shí)非常小,大約只有10ms,說(shuō)話(huà)人一般不會(huì )覺(jué)察到。
統一尋址存儲器能夠支持較大的詞匯庫或命令集,還能支持較大的HMM模型或神經(jīng)網(wǎng)絡(luò )系數,因此能簡(jiǎn)單化實(shí)時(shí)任務(wù)。例如為ASR系統的程序和數據準備100kB的存儲器,設計工程師就能平衡好算法復雜性與詞匯量或命令集大小之間的關(guān)系。如果程序要占50kB,那么數據只能是50kB。如果允許降低識別精度而將程序代碼壓縮到20kB,那么命令集就能用到80kB,也就是增加了詞匯庫容量。
在A(yíng)SR系統中,高度并行化、高代碼密度和有效利用存儲器等優(yōu)點(diǎn)還能使DSP完成語(yǔ)音識別以外的任務(wù)。在大多數情況下,設計工程師可以將部分計算資源分配給語(yǔ)音識別之用,而將剩余資源用來(lái)執行信道處理系統中所需的其它任務(wù)。
評論