999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TMS320C6678的語種識別并行算法設計與實現*

2012-06-03 09:15:08吉立新劉偉偉李邵梅
電子技術應用 2012年10期
關鍵詞:優化模型系統

吉立新,劉偉偉,李邵梅

(國家數字交換系統工程技術研究中心,河南 鄭州450002)

語種識別是計算機通過分析處理一個語音片段,判別其所屬語言種類的過程[1]。語種識別的任務在于快速準確地識別出語言的種類,自上世紀90年代以來,已經成為通信和信息領域一個新的學科增長點,在多語種信息服務、機器翻譯及軍事安全等領域都有著廣泛的應用前景[2]。語種識別走向實用化,不僅要有令人滿意的識別性能,其實時處理的效率也是必須要考慮的因素。因此,設計能夠實現多路實時處理的語種識別系統是語種識別邁出實用化的關鍵一步。

本文針對語種識別系統算法的特點,設計了一種基于TI多核處理器TMS320C6678的語種識別并行實現方法,實現了任務級的并行流水處理和核間的高效通信。

1 平臺介紹

TMS320C6678是基于TI公司最新DSP系列器件TMS320C66x、采用8個1.25 GHz DSP內核構建而成的業界首款10 GHz DSP,可在10 W功耗下實現160 GFLOP(Giga-Floating Point Operations per Second)浮點計算性能[3]。不僅能整合多個 DSP以縮小板級空間并降低成本,同時還能減少整體的功耗要求,充分滿足現代數字信號處理日益增長的需求。

本文語種識別系統的開發在TI公司的最新DSP集成開發環境CCSv5(Code Composer Studio)中基于浮點運算設計完成。

2 基于TMS320C6678的語種識別算法優化

2.1 語種識別算法分解

本文的語種識別系統是基于區分性Model Pushing算法[4]進行構建的,并且對特征參數進行了fDWNAP[5-6]處理,因此系統的測試階段由特征提取模塊、fDWNAP模塊及對數似然得分模塊3個模塊構成,如圖1所示。

(1)特征提取模塊

圖1 語種識別測試過程系統構成圖

特征提取模塊的任務包括語音信號預處理、MFCC提取、RASTA濾波、SDC擴展、VAD檢測、CMS處理、高斯化等過程,該模塊結束即輸出56維的特征參數,其需要存儲的參數包括漢明窗和梅爾濾波器組總共不到2 KB。

(2)fDWNAP模塊

該模塊的工作是對所提取的56維特征參數進行處理,以去除與語種無關的各種干擾信息,達到凈化語種特征參數的目的。如參考文獻[6]介紹,該模塊首先將特征參數映射至SVM的高維空間,然后利用訓練得到的投影矩陣計算映射后的參數中所包含的干擾信息,再將干擾信息映射至特征空間,從而進行去除。該模塊中事先訓練得到的投影矩陣 P=I-wwT,wwT是對稱矩陣,因此存儲wwT需要7 MB的存儲空間。另外,K-L變換矩陣D是對角矩陣,需要112 KB的存儲空間。

(3)對數似然得分模塊

[4]所述,本模塊主要任務是利用訓練得到的各語種GMM模型對語音特征參數計算對數似然得分進行輸出的判決。

本模塊需要存儲訓練階段得到的各目標語種的GMM模型及非目標語種的GMM模型,即針對每個語種需要存儲2個GMM模型。所有的GMM模型只是均值矢量不同,高斯混元權重及協方差矩陣都是共享UBM模型的。以L個語種為例,需要存儲2L個均值矢量,即需要224L KB的存儲空間,共享的高斯混元權重需要2 KB的存儲空間,協方差矩陣由于是對角化的只需要112 KB的存儲空間。

2.2 算法實時性分析

首先對各模塊的運算實時性進行分析。以30 s的語音(8 000 Hz采樣,幀長 25 ms,幀移 10 ms)為例,后端模型使用單個語種模型,利用CCSv5的環境進行軟件仿真得到各模塊處理所花的時鐘周期數,然后按照TMS320-C6678芯片的單個內核的工作主頻(1.25 GHz)計算得到處理時間,結果如表1所示。

表1 語種識別測試過程各模塊未經算法優化的耗時

由表1可知,整個語種識別系統測試階段,在算法代碼未經任何優化的情況下,一段30 s的語音在單個TMS320C66x CPU內核上的處理時間約為22.3 s,結果非常不理想,并且特征提取模塊和對數似然得分模塊耗時較多。

為此,本文從兩個方面對代碼進行了優化:一是算法本身的約減,二是算法基于TMS320C6678平臺的優化。

2.3 算法優化

(1)算法約減

計算過程的優化主要對語種識別系統中對數似然得分模塊的算法做約減。對數似然得分過程就是利用已經訓練好的各語種GMM模型對輸入的語音特征進行似然得分的計算,語種數越多,則該模塊的耗時越多。利用Top n的方法,對每個模型選取得分最高的10個高斯用來計算對數似然得分。由于區分性Model Pushing模型是由SVM訓練得到的支持向量重構而來,而支持向量由GMM-UBM模型自適應得到,因此,區分性Model Pushing模型與GMM-UBM模型的各高斯分量之間有著很強的對應關系。

上述介紹說明,區分性Model Pushing模型與GMMUBM模型有著很強的對應關系,可近似認為對同一個特征向量它們得分最大的高斯混元一致[7]。針對擁有512個高斯混元的GMM,似然得分的計算結果必定僅僅集中于很少的幾個高斯混元,大部分的高斯混元得分都會非常小以致可以忽略。因此,考慮將得分小的高斯混元結果忽略不計,只計算得分大的高斯混元。鑒于fDWNAP模塊包含特征向量對GMM-UBM計算后驗概率的部分,可利用該部分的結果選取Top 10的高斯混元用于后端對數似然得分的計算。

(2)基于TMS320C6678平臺的算法優化

基于平臺的優化主要是通過選擇CCSv5提供的編譯優化參數來實現。通過不斷的參數選擇、搭配,獲得最理想的參數優化方式,提高代碼中循環運算的性能,使用軟件流水調度技術提高代碼的并行執行效率。

除此之外,特征提取階段的FFT和fDWNAP的矩陣運算等算法采用DSPlib中優化的庫函數進行替代,利用優化的庫函數可以極大地提升代碼的運行速度。

(3)算法優化前后識別性能對比

首先檢驗Top 10算法對系統識別性能的影響。在測試集中模型使用Top 10的區分性Model Pushing,前端特征參數保持不變,在VC++2010的環境下測試系統性能。實驗所用語料庫為實驗室采集的電話信道通話語音,含漢語普通話、日語和英語3個語種,測試集包含漢語1 000段、日語450段及英語 750段,共 2 200段30 s的語音和3 000段 10 s的語音(各語種1 000段)。系統性能用等錯誤率EER(Equal Error Rate)[2]衡量,實驗結果如表2所示。

表2 Top 10得分模型與全高斯得分模型系統EER (%)

由表2可以看出,相對于全高斯得分模型,Top 10得分模型系統性能有所下降,主要因為舍棄了其他得分低的高斯成分,而其中必定包含部分語種區分信息,但舍棄掉的這一部分所含的語種信息有限,所以性能下降在可接受范圍之內(相對下降小于5%)。該優化方法下模塊的運算量下降是顯而易見的,同樣耗時也會大幅下降。

(4)算法優化前后系統實時性對比

對經算法優化的系統耗時做如下測試,同樣以30 s的語音(8 000 Hz采樣,幀長 25 ms,幀移 10 ms)為例,用CCSv5的環境進行軟件仿真得到各模塊處理所花的時鐘周期數,然后按照TMS320C6678芯片的單個內核的工作主頻(1.25 GHz)計算得到處理時間,結果如表3所示。

表3 語種識別測試過程算法優化前后各模塊耗時對比

由以上分析可以看到,算法優化后的系統耗時由22.3 s減少至1.36 s,下降非常明顯,其中下降最多的是fDWNAP模塊和對數似然得分模塊。在整個系統中,經過算法優化,fDWNAP模塊耗時所占比例依舊最大,因此在多核任務并行設計時,需要將該模塊的任務進行分解。

3 基于TMS320C6678的語種識別算法并行設計

3.1 模塊間通信分析

根據語種識別的系統結構,測試過程分為3個模塊,各模塊的算法都已經進行了相應的優化。這些模塊相互配合,通過控制信號完成數據流的交互。任務的控制流程主要是模塊的執行次序,任務分配在不同核上的模塊之間以傳遞消息的方式實現同步。模塊間數據的傳遞會造成相應的時間延遲,因此,控制流程的設計準則為最大化系統的處理能力。模塊間的數據流程主要是數據的傳輸方向,描述模塊與外部數據間的相互關系。相反,最小化模塊間的數據通信量則是數據流程的設計準則。

語種識別系統算法各模塊間控制流程和數據流程的通信示意圖如圖2所示。該圖由數據層和控制層兩部分構成,控制信號的傳輸由虛線箭頭表示,數據的傳輸由實線箭頭表示。

圖2 語種識別系統算法各模塊間通信示意圖

3.2 模塊任務的核映射

為了充分利用所有內核CPU的計算資源以最大限度地提高系統處理速度,根據算法優化前后的系統實時性測試結果及各模塊運算量分析,將fDWNAP模塊的矩陣乘法任務分配到多個核并行執行。

因本文的語種識別系統適合于數據流模式的任務并行方式,將整個系統的運算任務適當地分配給各個內核,實現任務級的并行流水。由于fDWNAP模塊計算復雜度大,制約了整個系統任務級流水的處理速度。為了充分發揮TMS320C6678的性能優勢,將該模塊任務映射到多個核進行處理。該模塊首先需要計算特征矢量對應的自適應GSV;然后通過投影矩陣計算SVM特征域的干擾空間,這一部分的大矩陣乘法占據了整個模塊的絕大部分運算量;最后還需要將干擾空間返回映射到特征域,并在特征域去除干擾。整個模塊80%以上的運算量都集中在大矩陣的乘法上,故采用將大矩陣拆為小矩陣分配到多個核上并行運算,將其他任務集中在一個核上進行處理。在該模塊內還是一個任務級的流水處理方式,矩陣相乘部分是核級相同的并行流水處理方式。

4 基于TMS320C6678的語種識別算法實現

4.1 語種識別算法在TMS320C6678中的實現

根據設計思路,將本文提出的語種識別算法在CCSv5上進行軟件仿真。其中,利用SYS/BIOS[8]提供核間任務調度,利用IPC[9]實現核間同步和通信。

啟動系統,完成所有核的初始化后,首先調用IPC_start函數讓各核進入同步等待狀態,然后各核上的程序才能開始執行。從共享存儲器劃出MSM_IN和MSM_OUT 2塊存儲區,MSM_IN存儲K-L變換矩陣和各語種GMM模型,MSM_OUT存儲判決輸出結果。投影矩陣數據存儲在外接DDR3存儲器中的位置信息事先存在Core1中。Core1將投影矩陣數據分成5份,通過Notify_sendEvent函數將5份數據的地址發送到Core2、Core3、Core4、Core5 和 Core6。Core2、Core3、Core4、Core5 和Core6上的子矩陣乘法任務一直處于懸掛狀態,直到Core1發送過來數據地址,矩陣乘法任務才開始并行執行。各核分別根據數據地址從外接DDR3讀取數據與Core1傳遞的數據計算干擾因子向量,計算完畢再利用MessageQ_put函數將干擾因子向量數據的Message寫入到Core1建立的消息隊列上。Core1利用MessageQ_get函數從消息隊列讀取Message,從Message中獲取干擾因子向量數據;然后計算補償后的特征向量;接著Core1利用MessageQ_put函數將補償的特征向量數據的Message寫入到Core7建立的消息隊列上,Core7上的判決任務開始執行,最后將執行結果的數據寫入MSM_OUT。

4.2 實驗及結果分析

根據本文語種識別算法的TMS320C6678任務并行設計方案,本節將給出CCSv5平臺下浮點算法的軟件仿真結果,并進行分析驗證。

按照3.2節的描述,將fDWNAP模塊設計為并行處理,同樣以30 s的語音為例,采用3個語種的模型測試整個系統在TMS320C6678上的實時性能。3個部分的運算處理時間結果如表4所示。

表4 各部分運算處理時間

由表4可以看出,三個模塊中fDWNAP模塊耗時(0.227 s)最多,因此估算該系統的實時倍率至少為132(30/0.227)。

為了驗證基于TMS320C6678平臺的語種識別系統性能,將采用Top 10優化后的算法與在VC++2010平臺中的識別性能進行對比。實驗語料保持不變,表5給出了基于兩種不同平臺的系統EER。

表5 基于VC++2010平臺與TMS320C6678平臺的語種識別系統EER(%)

實驗結果表明,基于TMS320C6678平臺的浮點軟件仿真結果和VC++2010平臺下的浮點計算結果完全一致,從而驗證了TMS320C6678平臺實現語種識別系統的正確性。

本文針對語種識別系統的實時性需求,在分析語種識別算法原理和多核DSP任務并行的基礎上,分析了系統各模塊的運算量,根據各模塊的運算量對算法進行了優化。針對優化后算法的特點,設計了基于TMS320C6678平臺的語種識別系統。最后從實時性和識別性能兩個方面對系統性能進行了測試,結果驗證了算法在TMS320C6678中實現的正確性及優化的有效性。

參考文獻

[1]WONG K Y E.Automatic spoken language identification utilizing acoustic and phonetic speech information[D].Queensland:Queensland University of Technology,2004.

[2]徐婷婷.語種識別中的若干問題研究[D].北京:北京郵電大學,2011.

[3]Texas Instrument.TMS320C6678 multicore fixed and floatingpoint digital signal processor[R].SPRS691C,2012.

[4]劉偉偉,吉立新,李邵梅.基于區分性 Model Pushing的語種識別方法[J].電子技術應用,2012,38(4):113-116.

[5]劉偉偉,吉立新,李邵梅.基于區分加權干擾屬性投影的語種識別方法[J].中文信息學報,[已錄用未發表].

[6]Liu Weiwei,Ji Lixin,Li Shaomei.Robust cepstral feature compensation for language recognition[C].Guangzhou:Proc.of BEMI,2012:119-122.

[7]徐穎.語種識別聲學建模方法研究[D].合肥:中國科學技術大學,2011.

[8]Texas Instrument.SYS/BIOS inter-processor communication(IPC)and I/O user’s guide[R].SPRUGO6C,2010.

[9]Texas Instrument.TI SYS/BIOS v6.33 real-time operating system user’s guide[R].SPRUEX3K,2011.

猜你喜歡
優化模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
主站蜘蛛池模板: 孕妇高潮太爽了在线观看免费| 91精品免费高清在线| 亚洲黄色视频在线观看一区| 亚洲有无码中文网| 丰满的少妇人妻无码区| Aⅴ无码专区在线观看| 99久久国产精品无码| 日本国产精品一区久久久| 一本一道波多野结衣av黑人在线| 亚洲一区二区三区国产精华液| 2021最新国产精品网站| 日韩午夜福利在线观看| 欧美日韩免费在线视频| 亚欧乱色视频网站大全| 97在线观看视频免费| 中文字幕乱码中文乱码51精品| 国产精品无码AV片在线观看播放| 成人在线不卡| 99热这里只有精品免费| 亚洲日产2021三区在线| 特级毛片免费视频| 日韩中文精品亚洲第三区| 亚洲精品国产成人7777| 亚洲精品视频免费| 日韩国产无码一区| 毛片卡一卡二| 国产人碰人摸人爱免费视频| 成人av手机在线观看| 久久不卡国产精品无码| 午夜免费小视频| 91黄视频在线观看| 亚洲成在人线av品善网好看| 在线免费观看AV| 欧美精品另类| 国产麻豆aⅴ精品无码| 最新亚洲人成网站在线观看| 人妻丰满熟妇αv无码| av在线人妻熟妇| 久久综合色天堂av| 亚洲日韩精品无码专区97| 99在线小视频| 四虎永久在线精品影院| 国产精品免费露脸视频| 日韩成人午夜| 亚洲首页国产精品丝袜| 免费一级成人毛片| 99久久精品国产麻豆婷婷| 亚洲日韩精品欧美中文字幕| 欧类av怡春院| 青草精品视频| 爽爽影院十八禁在线观看| 亚洲日韩高清在线亚洲专区| 国产chinese男男gay视频网| 精品91在线| 欧美精品v| 天天摸夜夜操| 色天天综合| 亚洲一级毛片在线播放| jizz在线观看| 欧亚日韩Av| 欧美日本视频在线观看| 欧美日韩亚洲国产主播第一区| 亚洲自拍另类| 亚洲国产精品久久久久秋霞影院| 亚洲无限乱码| 国产乱子伦精品视频| 国产日韩精品一区在线不卡| 国产精品视频a| 少妇极品熟妇人妻专区视频| 国产一区成人| 亚洲精品国偷自产在线91正片| 精品久久久久久久久久久| 国产福利免费视频| 久久综合色视频| 欧美第二区| 天天婬欲婬香婬色婬视频播放| 中国美女**毛片录像在线| 国产欧美视频在线观看| 国产精品99久久久| 国产欧美日韩91| 欧美日韩一区二区在线播放 | 欧美a在线看|