亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

語音識別系統(tǒng)及用于語音識別系統(tǒng)的特征矢量集的壓縮方法

文檔序號:2836109閱讀:249來源:國知局
專利名稱:語音識別系統(tǒng)及用于語音識別系統(tǒng)的特征矢量集的壓縮方法
技術領域
本發(fā)明涉及一種語音識別系統(tǒng)及一種用于語音識別系統(tǒng)的特征矢量集的壓縮方法。


圖1所示是一種已知語音識別系統(tǒng)的結構框圖,模擬語音經(jīng)過模數(shù)變換單元11后變換為計算機可處理的數(shù)字信號,然后利用特征提取單元12對該數(shù)字信號進行分幀處理,通常幀長為20ms,幀移為10ms,提取每一幀語音的MFCC參數(shù),得到MFCC矢量序列,解碼運算單元14根據(jù)輸入語音的特征矢量序列、聲學模型13及語言模型15,采用一定的搜索策略,如深度優(yōu)先搜索(Viterbi算法)或廣度優(yōu)先搜索,得到識別的結果,其中語言模型在進行大詞表連續(xù)語音識別時,用于將語言層的知識應用到語音識別系統(tǒng)中,提高系統(tǒng)的識別精度。
隨著微電子技術和通訊技術的高速發(fā)展,手機等嵌入式通訊裝置幾乎已成為人們工作生活必備的物品,而人們對其功能的要求也越來越高,這使得將語音技術應用于此類裝置成為研究的熱點,現(xiàn)有手機的語音功能需預先對特定人的語音建模,只能識別有限的語音指令,而不能真正實現(xiàn)大詞表語音識別,例如漢語全音節(jié)的識別和錄入。其原因主要在于此類裝置的資源有限,不具有運行漢語非特定人單音節(jié)語音識別系統(tǒng)所需的存儲空間和運算能力,因此如何在保證識別性能的同時,降低現(xiàn)有語音識別系統(tǒng)所需的存儲空間,減少其所需的運算量,是急待解決的技術問題。
通常在當今流行的語音識別系統(tǒng)中,聲學模型都是用隱含馬爾可夫模型(HMM)來描述,由于基于連續(xù)概率密度的隱含馬爾可夫模型(CDHMM)與基于離散概率密度的HMM相比,更能精確地描述人的發(fā)音,因此大多數(shù)語音識別系統(tǒng)中聲學模型都采用CDHMM。但CDHMM的聲學模型需占用大量的存儲空間,以現(xiàn)有的非特定人漢語單單音節(jié)語音識別系統(tǒng)為例,其聲學模型占據(jù)了4M字節(jié)的存貯空間,這在資源有限的嵌入式硬件平臺(如手機、PDA等)上幾乎不可實現(xiàn)。
一種降低存儲量的辦法是減少CDHMM的狀態(tài)數(shù)或每個狀態(tài)的高斯分布個數(shù),但這會大大降低系統(tǒng)的識別性能。
另一種方法是對聲學模型進行矢量量化以壓縮數(shù)據(jù)生成碼本,其最常用的算法是K-means聚類算法,先將該特征矢集劃分為若干子空間,再對每個子空間的所有矢量進行聚類得到一碼本,各子空間碼本生成的步驟如圖4所示令k=0,將子空間劃分為一個子集合,計算該子集合的中心矢量,得到初始化碼本,步驟200;如果k=K,那么就已經(jīng)得到K-bits的碼本,聚類結束,否則執(zhí)行步驟220,步驟210;令k=k+1,將所有子集合一分為二,生成新的中心矢量,合成該子空間的新碼本,步驟220;將該子空間各矢量分配到與其距離度量最小的中心矢量對應的子集合中,步驟230;計算該子空間所有矢量的總距離度量變化率,步驟240;將該變化率與一預設變化率的門限值比較,若該變化率小于或等于該門限值,回到步驟210;若該變化率大于該門限值,則執(zhí)行步驟250;根據(jù)各子集合分配的所有矢量重新計算該子集合的中心矢量,形成新碼本并回到步驟230,步驟260。
在上述聚類的過程中,常常出現(xiàn)某些子集合所包含的矢量數(shù)很少,導致聚類后集合中矢量與其對應的碼字的距離度量總和仍然偏大,這在給定碼本大小的情況下會影響聚類的效果。而將用該方法壓縮后的聲學模型用于語音識別系統(tǒng)時,會降低語音識別的準確率。而將該算法應用于語音特征集的壓縮,可得到的特征碼本,如果某些碼字包含的矢量太少,在給定碼本大小的條件下,特征碼本的精度會降低,在對輸入的語音特征序列量化編碼時會影響編碼的精度,從而會導致語音識別系統(tǒng)的識別性能下降。
此外,在CDHMM中,在某一狀態(tài)下特征矢量的概率分布函數(shù)是用多個高斯分布函數(shù)的加權和來描述,這樣能比較精確地描述特征矢量空間分布。然而在大詞表語音識別系統(tǒng)中如果采用CDHMM,那么在解碼運算單元進行解碼時需要多次計算高斯概率,通常在解碼過程中所需要的計算量都集中在高斯概率計算上,這需要大量的計算量。在手機等資源有限的嵌入式硬件平臺上進行大詞表語音識別時,會導致語音識別系統(tǒng)反應速度很慢,無法滿足實際使用的需要。
為了達到上述目的,本發(fā)明提供一種用于語音識別系統(tǒng)的特征矢量集的壓縮方法,先將該特征矢集劃分為若干子空間,再對每個子空間的所有矢量進行聚類得到一碼本,各子空間碼本生成的步驟包括(a)將該子空間所有矢量劃分到子集合中,計算該子集合的中心矢量,得到初始化碼本;(b)將所有子集合一分為二,生成新的中心矢量以合成該子空間的新碼本;(c)分別找到與該子空間各矢量距離度量最小的中心矢量,將各矢量分配到與其距離度量最小的中心矢量對應的子集合中;(d)計算出該子空間所有矢量的總距離度量變化率;(e)將該變化率與一預設變化率的門限值比較;若該變化率小于或小于等于該門限值,再判斷是否已獲得預定比特數(shù)的碼本,若是,則結束,若否,則執(zhí)行步驟(b);若該變化率大于等于或等于該門限值,則執(zhí)行步騾(f);
(f)基于各子集合中的矢量個數(shù)和平均距離度量,對某些子集合進行合并和分裂;以及(g)將分裂得到的子集合的中心矢量作為代表該子集合的碼字,得到該子空間的新碼本,并回到步驟(c)。
上述方案中,其特點是所述步驟(b)又可分為以下步驟計算出該子集合所有矢量相對于其中心矢量的平均方差值;將各該中心矢量加上其對應的平均方差值的一半,得到一個新的中心矢量,再將各該中心矢量減去其對應的平均方差值的一半,得到另一個新的中心矢量;以及將該子空間新生成的中心矢量合在一起得到新的碼本。
上述方案中,其特點是所述子空間所有矢量的總距離度量變化率按以下方法計算計算所述子空間各矢量與離其距離度量最小的中心矢量之間的距離的總和,得到新的總距離度量;將原總距離度量減去新的總距離度量得到一差值;再將該差值的絕對值除以原總距離度量即得到該總距離度量變化率。
上述方案中,其特點是所述步驟(e)中,在判斷是否已獲得預定比特數(shù)的碼本前,還有一將新的總距離度量值賦與原總距離度量值的步驟;且在所述步驟(g)中,在回到步驟(c)之前,還有一將新的總距離度量值賦與原總距離度量值的步驟。
上述方案中,其特點是所述的合并是指將包含矢量個數(shù)小于某一預設值的各子集合的中心矢量從碼本中刪除。
上述方案中,其特點是所述的分裂是指一個子集合被合并后,先計算各子集合中所有矢量與該子集合中心矢量的距離之和,再計算該和與該子集合的矢量個數(shù)的比值,將所得比值最大的子集合分為二個子集合,同時生成兩個新的中心矢量。
上述方案中,其特點是所述的特征矢量為LPC系數(shù)、倒譜系數(shù)、濾波器組系數(shù)或MFCC系數(shù)。
上述方案中,其特點是該特征矢量集為一聲學模型或一語音特征集,該聲學模型壓縮后得到一高斯碼本,該語音特征集壓縮后得到一特征碼本。
由上可知,本發(fā)明方法在對語音特征矢量集聚類得到碼本的過程中,增加了根據(jù)子集合中矢量數(shù)及矢量的總距離度量來動態(tài)合并和分裂子集合的步驟,減小了聚類后集合中矢量與其對應的碼字的距離度量總和,提高了聚類算法的精度,將本發(fā)明方法壓縮后的碼本應用于語音識別系統(tǒng)中,可在保證語音系統(tǒng)識別性能的同時,大大降低了系統(tǒng)的存儲量。
本發(fā)明要解決的另一技術問題是提供一種語音識別系統(tǒng),可在保證語音系統(tǒng)識別性能的前提下,降低系統(tǒng)的存儲量。
為了達到上述目的,本發(fā)明提供一種語音識別系統(tǒng),至少包括一模數(shù)變換單元、一特征提取單元、一解碼運算單元及一聲學模型,用于接收語音輸入信號并得到相匹配的識別結果,其中該模數(shù)變換單元將該語音輸入信號轉換為一數(shù)字信號;該特征提取單元將該數(shù)字信號進行分幀處理,提取語音特征參數(shù)得到輸入語音的特征矢量序列;該解碼運算單元對該特征矢量序列進行解碼運算得到識別結果。該聲學模型為采用本發(fā)明壓縮方法得到的高斯碼本。上述系統(tǒng)中,其特點是還包括一語言模型。
由于上述識別系統(tǒng)采用了本發(fā)明的壓縮方法得到的壓縮模型,因此可在保證語音系統(tǒng)識別性能的前提下,大大降低了系統(tǒng)的存儲量。
本發(fā)明要解決的又一技術問題是提供一種語音識別系統(tǒng),可在保證語音系統(tǒng)識別性能的前提下,提高系統(tǒng)的識別速度。
為了達到上述目的,本發(fā)明提供一種語音識別系統(tǒng),至少包括模數(shù)變換單元,將輸入語音的模擬信號變換為數(shù)字信號;特征提取單元,對該數(shù)字信號進行分幀處理,提取每一幀語音的特征參數(shù),得到其特征矢量序列;特征碼本,由一定數(shù)量的碼字組成;量化編碼單元,根據(jù)特征碼本將輸入語音的特征矢量序列轉換為特征碼字序列;概率表,存儲了特征碼本中每個碼字對應高斯碼本中每個碼字的概率值;以及解碼運算單元,對該特征碼字序列進行解碼運算得到識別結果,運算中對該特征碼字序列中的各個碼字,從概率表中直接查找與其具有最大匹配概率的高斯碼字。
上述方案中,其特點是還包括一語言模型,上述方案中,其特點是所述量化編碼單元根據(jù)以下步驟將輸入語音的特征矢量序列轉換為特征碼字序列將所述特征矢量序列劃分為與所述特征碼本相同數(shù)量的子空間,每一子空間對應于一個碼本;計算各子空間中所有特征矢量與相應碼本中的各碼字之間的距離度量,將與該特征矢量具有最小距離度量的碼字作為所述特征碼字序列中對應該特征矢量的碼字;將所述特征矢量序列各個子空間所有矢量所對應的碼字按原矢量順序組合起來,即得到對應的特征碼本碼字序列。
上述方案中,其特點是所述概率表是通過以下步驟生成的計算高斯碼本中各碼字對應的均值矢量和方差矢量;利用上述均值矢量和方差矢量,計算所述特征碼本中各個碼字與高斯碼本中各個碼字相匹配的對數(shù)概率值;將特征碼本中的所有碼字與高斯碼本中的所有碼字相匹配的概率值儲存起來即可得到概率表。
由上可見,應用本發(fā)明上述的識別系統(tǒng)及方法,在解碼的過程中不需要計算高斯概率,只須從預先存儲的概率表中查找出所需的概率值,大大減少了解碼運算量,因而可極大地提高系統(tǒng)的識別速度。
本發(fā)明要解決的再一技術問題是提供一種語音識別系統(tǒng),可在保證語音系統(tǒng)識別性能的前提下,降低系統(tǒng)的存儲量,并且提高系統(tǒng)的識別速度。
為了達到上述目的,本發(fā)明提供一種語音識別系統(tǒng),至少包括模數(shù)變換單元,將輸入語音的模擬信號變換為數(shù)字信號;特征提取單元,對該數(shù)字信號進行分幀處理,提取每一幀語音的特征參數(shù),得到其特征矢量序列;特征碼本,采用本發(fā)明壓縮方法得到的特征碼本;量化編碼單元,根據(jù)特征碼本將輸入語音的特征矢量序列轉換為特征碼字序列;概率表,存儲了該特征碼本中每個碼字對應高斯碼本中每個碼字的概率值,該高斯碼本為采用本發(fā)明壓縮方法的高斯碼本;以及解碼運算單元,對該特征碼字序列進行解碼運算得到識別結果,運算中對該特征碼字序列中的各個碼字,從概率表中直接查找與其具有最大匹配概率的高斯碼字。
上述系統(tǒng)的聲學模型用特征碼本和概率表替代,從而大大降低了系統(tǒng)所需的存儲空間,而且還能保證系統(tǒng)的識別精度僅有微小的下降。同時,由于概率表的使用大大減少了系統(tǒng)的計算量,根據(jù)實驗結果,與已有語音識別系統(tǒng)相比,本發(fā)明識別系統(tǒng)的識別速度可以提高50%以上。
本發(fā)明要解決的再一技術問題,是提供一種讀音識別方法,能提高識別速度。
為了達到上述目的,本發(fā)明提供一種語音識別方法,包括以下步驟將輸入的語音模擬信號變換為數(shù)字信號;對該數(shù)字信號進行分幀處理,提取每一幀語音的特征參數(shù),得到輸入語音的特征矢量序列;利用特征碼本對所述特征矢量序列進行量化編碼,得到相應的特征碼字序列;進行解碼運算得到識別結果,運算中對該特征碼字序列中的各個碼字,從概率表中直接查到與其具有最大匹配概率的高斯碼字。
上述方法中,其特點是所述的特征碼本是通過本發(fā)明上述的壓縮方法得到的,所述的概率表是通過以下步驟生成的計算高斯碼本中各碼字對應的均值矢量和方差矢量;利用上述均值矢量和方差矢量,計算所述特征碼本中各個碼字與高斯碼本中各個碼字相匹配的對數(shù)概率值;將特征碼本中的所有碼字與高斯碼本中的所有碼字相匹配的概率值儲存起來即可得到概率表。
其中的高斯碼本也是通過本發(fā)明上述的壓縮方法得到的。
采用上述識別方法,可在保證語音系統(tǒng)識別性能的前提下,降低系統(tǒng)的存儲量,并且提高系統(tǒng)的識別速度。
圖2是子空間劃分和聚類的示意圖。
圖3是本發(fā)明改進的K-means聚類算法的流程圖。
圖4是已知的K-means聚類算法的流程圖。
圖5是本發(fā)明實施例的語音識別系統(tǒng)的識別流程圖。
圖6是本發(fā)明實施例的語音識別系統(tǒng)的結構框圖。
語音特征有多種,如LPC系數(shù)、倒譜系數(shù)、濾波器組系數(shù)、Mel頻域倒譜系數(shù)(Mel filter frequency coefficients,MFCC)等,常用的特征參數(shù)為MFCC,這里我們并不關心采用何種參數(shù),本發(fā)明可適用于任何一種特征參數(shù)。為了理解方便,以下以MFCC系數(shù)為例說明本發(fā)明用于語音識別系統(tǒng)的特征矢量集的壓縮方法。
假設每一幀語音用L個MFCC參數(shù),L個一階差分MFCC參數(shù)和L個二階差分MFCC參數(shù)合并成3*L=X維矢量作為特征參數(shù),構成一X維的語音特征集,相應地聲學模型中高斯正態(tài)分布的維數(shù)也是X維,如圖2所示,首先將X維語音特征集或聲學模型21中的矢量劃分到Y個子空間22,每個子空間22的維數(shù)是X/Y=M維,分別對Y個M維的特征子空間22和Y個M維的高斯子空間的所有矢量用改進的K-Means聚類算法23進行聚類,每個特征子空間和每個高斯子空間分別獲得包含設定個數(shù)碼字的碼本24,那么我們就將所有的特征碼本組合在一起來代表特征空間,將所有的高斯碼本組合在一起來代表聲學模型的高斯空間。
下面具體說明如何用改進的K-Means聚類方法從M維子空間得到表述該空間的碼本。假設該M維的子空間為M={m1,...,mN},該空間共有N個矢量,我們要將這N個矢量聚類到K比特碼本,K值可預先設定,最終得到的碼本包含2K個碼字,每個碼字由M維的中心矢量構成,現(xiàn)參照圖3中的流程對該方法說明如下步驟100令k=0bit,將該子空間所有矢量劃分為一個子集合,計算該子集合的中心矢量cjj=1,...,2k,得到初始化碼本,子集合中心矢量的計算方法如下cj=1NjΣi=1Njmji,]]>其中Nj是子集合 中的矢量個數(shù);步驟110如果k=K,那么就已經(jīng)得到K-bits的碼本,聚類結束。否則執(zhí)行步驟120;步驟120令k=k+1,將所有子集合一分為二,拆分的方法如下第一分步驟對每一子集合中的所有矢量,計算出其相對于該子集合中心矢量cj的平均方差值,記為δj第二分步驟按以下公式生成兩個新的中心矢量cj1=cj+0.5·δj]]>cj2=cj-0.5·δj]]>第三分步驟將所有中心矢量合在一起生成k-bits碼本 步驟130找到與該子空間各矢量距離度量最小的中心矢量,將各矢量分配到該中心矢量對應的子集合中,具體方法如下
第一分步驟對于該子空間中的每一個矢量m1∈M,l=1,...,N,計算出與它距離度量最小的中心矢量cn(l),使得n(l)=argminj=1,...,2kd(ml,cj)]]>這里d(ml,cj)是ml和cj之間的距離;第二分步驟將該矢量分配到該中心矢量對應的子集合中;步驟140計算出該子空間所有矢量的總距離度量變化率,總距離度量的初始化值為D1=le-20;對該子空間中的所有矢量計算總距離D2=Σl=1Nd(ml,cn(l))]]>該總距離度量的變化率η=|D1-D2|/D1;步驟150將該變化率η與一預設的總距離度量變化率門限值θ作比較,如果η小于等于θ,令D1=D2,并回到步驟110;如果η大于θ,則執(zhí)行步驟160。
步驟160子集合的分裂和合并基于每一個子集合中的矢量個數(shù)Nj和每一子集合的總距離度量DTj,通過以下步驟進行子集合的分裂和合并每一分步驟合并如果Nl<φ,那么子集合CLj就將被合并,其中心矢量將會從碼本中刪除,這里j=1,...,2k,φ是預先定義的矢量個數(shù)門限值。
第二分步驟分裂如果有一個子集合被合并,那么需要選擇一個子集合做分裂,選擇的準則如下m=argmaxj=1,...,2kDTj/Nj,]]>其中DTj=Σi=1N1d(mj1,cj),]]> 是該子集合中的矢量。
即根據(jù)子集合中所有矢量與中心矢量的總距離度量除以該子集合包含的矢量數(shù),得到每一子集合的平均距離度量,再將平均距離度量最大的子集合CLm進行分裂;步驟170按步驟120的第一和第二分步驟計算出分裂得到的新的子集合的中心矢量,與原有的中心矢量一起構成新的碼本,并設置D1=D2,回到步驟130。
通過上述聚類算法即可得到該子空間的碼本,在我們的實驗結果中,聚類算法的精度比原算法提高了18.5%。將所有特征子空間的碼本組合在一起就得到特征碼本,將所有高斯子空間的碼本組合在一起就得到高斯碼本,用本發(fā)明上述壓縮方法得到的聲學模型及語音特征集可應用于各種語音識別系統(tǒng)中,大大減少原聲學模型占據(jù)的存儲空間,并具有良好的識別性能。
以下舉例說明該壓縮方法在已知語音識別系統(tǒng)聲學模型上的應用。
以非特定人漢語單音節(jié)語音識別系統(tǒng)采用的聲學模型為例。該系統(tǒng)的語音特征采用12階MFCC,12個一階差分MFCC和12個二階差分MFCC共36個參數(shù),聲學模型采用CDHMM,模型所占存儲空間為4Mbytes。首先將聲學模型的高斯空間分為12個子空間,每個子空間是3維,然后用前述的改進的K-Means聚類算法對高斯空間的每個子空間聚類,生成7bits,128個碼字的高斯碼本,由于每個高斯碼字由一個均值矢量和一個方差矢量組成,因此每個高斯碼字所占的字節(jié)數(shù)為高斯子空間維數(shù)*2*4bytes同時為了從高斯碼本中恢復出原來的聲學模型,需要一張索引表,因此高斯碼本大小可計算如下子空間個數(shù)*高斯碼本碼字數(shù)*每個碼字所占的字節(jié)數(shù)+索引表=12*128*6*4+216000=252864bytes系統(tǒng)的存儲空間從4M字節(jié)降低到了約252K字節(jié),由于本發(fā)明壓縮方法的聚類精度很高,因此采用此算法得到的高斯碼本作為聲學模型的語音識別系統(tǒng),除大大降低了系統(tǒng)所需的存儲空間外,實驗結果證明系統(tǒng)的識別精度僅有微小的下降,從而可應用于手機等嵌入式裝置中。
圖5所示是本發(fā)明實施例語音識別系統(tǒng)的識別流程圖,其識別的步驟如下。
步驟300將輸入的語音模擬信號變換為數(shù)字信號;步驟310對該數(shù)字信號進行分幀處理,提取每一幀語音的特征參數(shù),得到輸入語音的特征矢量序列
步驟320利用特征碼本對所述特征矢量序列進行量化編碼,得到相應的特征碼字序列;步驟330進行解碼運算得到識別結果,運算中對該特征碼字序列中的各個碼字,只需從概率表中直接查找即可找到與其具有最大匹配概率的高斯碼字。
其對應的系統(tǒng)框圖如圖6所示,該語音識別系統(tǒng)由模數(shù)變換單元61、特征提取單元62、特征碼本63、量化編碼單元64、概率表65、解碼運算單元66及語言模型67組成,當然,如果只應用于漢語單音節(jié)的語音識別,則不需要語言模型67。其中模數(shù)變換單元61,用于將輸入語音的模擬信號變換為數(shù)字信號;特征提取單元62,對該數(shù)字信號進行分幀處理,提取每一幀語音的特征參數(shù),得到其特征矢量序列;特征碼本63,可用本發(fā)明上述的壓縮方法對語音特征集壓縮得到,也可以采用其它已知的壓縮方法得到;量化編碼單元64,根據(jù)特征碼本63對輸入語音的特征矢量序列進行量化編碼,將其轉換為特征碼字序列。假設輸入語音的特征矢量序列為{A1,A2,...,AT},其維數(shù)為X,特征碼本63中的子空間個數(shù)為Y,其維數(shù)為X/Y=M,首先將特征矢量序列也劃分為Y個子空間,每一子空間對應于一個碼本,其在第i個特征子空間的矢量序列為{Oi1,Oi2,…,OiT},1≤i≤Y,對序列{Oi1,Oi2,...,OiT}量化編碼就是要從相應的特征碼本{Fi1,F(xiàn)i2,....FiL}中找出相應的具有最小距離度量的碼字序列,L為碼本中的碼字數(shù),其步驟如下首先,計算特征矢量Oil與相應碼本中的碼字Fij之間的距離度量Ditj=Σm=1M(Oit(m)-Fij(m))2,---1≤t≤T,1≤i≤Y,1≤j≤L]]>其中Oi1(m)和Fij(m)分別是Oil和Fij的第m個分量,然后,求Oi1最小度量距離的碼字索引nit=argminDitj1≤i≤L-----1≤t≤T,1≤i≤Y]]>那么Oi1經(jīng)過量化編碼后對應的碼字為 對特征矢量序列的各個子空間分別進行量化編碼,就得到了該特征矢量序列的特征碼字序列。
概率表65,存儲了特征碼本63中每個碼字對應高斯碼本(該高斯空間的碼本集可用本發(fā)明上述的壓縮方法對聲學模型壓縮得到,也可以采用其它的壓縮方法得到)中每個碼字的概率值,該概率表的生成過程如下假設第i個特征子空間的碼本為{Fi1,F(xiàn)i2,....FiL},L為該碼本的碼字個數(shù),那么X維特征空間的Y個M維子空間的碼本集為{Fi1,F(xiàn)i2,....FiL,.....,F(xiàn)Y1,F(xiàn)Y2,...,F(xiàn)YL}假設第i個高斯子空間的碼本為{Gi1,Gi2,....GiL},L為該碼本的碼字個數(shù),那么X維高斯空間的Y個M維子空間的碼本集為{Gl1,Gl2,....GlL,.....,GY1,GY2,...,GYL},假設高斯碼字Glk對應的均值和方差矢量分別為mlk,σlk,通常在解碼算法中用到的概率值都是對數(shù)概率值,因此特征碼本中某個碼字Fij與高斯碼本中某個碼字Glk相匹配的對數(shù)概率值可用下式計算ln(12πσlk2exp(-(Fij-mlk)·(Fij-mlk)/σlk2)]]>計算所有特征碼本中的碼字與高斯碼本中的所有碼字相匹配的概率值,儲存起來即可得到概率表。
解碼運算單元66,進行解碼運算得到識別結果,運算中對該特征碼字序列中的各個碼字,只需從概率表中直接查找即可找到與其具有最大匹配概率的高斯碼字。
及語言模型67,在進行連續(xù)語音輸入時,可借助語言層的知識應用提高系統(tǒng)的識別精度。
上述的模數(shù)變換單元61可用一模數(shù)變換芯片來執(zhí)行,特征提取單元62、量化編碼單元64及解碼運算單元66的功能可由CPU來完成,而概率表65、特征碼本63及語言模型67均存儲在存儲器中。
由上可見,應用本發(fā)明上述的識別系統(tǒng)及方法,在解碼的過程中不需要計算高斯概率,只須從預先存儲的概率表中查找出所需的概率值,大大減少了解碼運算量,因而可極大地提高系統(tǒng)的識別速度。
下面通過一具體實施例,說明本發(fā)明公開的語音識別系統(tǒng)采用了本發(fā)明壓縮方法得到的特征碼本和概率表時,在減少存儲空間和提高運算速度上的突出效果。
還以非特定人漢語單音節(jié)語音識別系統(tǒng)為例進行說明。在該系統(tǒng)中,語音特征采用12階MFCC,12個一階差分MFCC和12個二階差分MFCC共36個參數(shù),聲學模型采用CDHMM,模型所占存儲空間為4Mbytes。我們將語音特征集中的特征空間36維矢量分為12個子空間,每個子空間為3維,相應地聲學模型的高斯空間也分為12個子空間,每個子空間也是3維,然后用前述的改進的K-Means聚類算法分別對特征空間的每個子空間聚類,生成7bits,128個碼字的特征碼本,同樣對高斯空間的每個子空間聚類,生成7bits,128個碼字的高斯碼本。然后計算出特征碼本中每個碼字與高斯碼本中每個碼字的概率值存儲在概率表中,特征碼本和概率表的大小計算如下特征碼本大小子空間個數(shù)*碼本碼字數(shù)*子空間的維數(shù)*每維占用的字節(jié)數(shù)=12*128*3*4=18432字節(jié)。
概率表大小子空間個數(shù)*特征子空間碼本碼字數(shù)*高斯子空間碼本碼字數(shù)*每個概率占用的字節(jié)數(shù)=12*128*128*2=393216字節(jié)。
系統(tǒng)的聲學模型可用特征碼本和概率表替代,因此系統(tǒng)的存儲從4M字節(jié)降低到了約412K字節(jié),從而大大降低了系統(tǒng)所需的存儲空間,而且還能保證系統(tǒng)的識別精度僅有微小的下降。同時,由于概率表的使用大大減少了系統(tǒng)的計算量,根據(jù)實驗結果,與已有語音識別系統(tǒng)相比,本發(fā)明識別系統(tǒng)的識別速度可以提高50%以上。
本發(fā)明識別系統(tǒng)在存儲空間和運算速度等性能上的大幅提升,使?jié)h語全音節(jié)的語音識別在手機等嵌入式設備上的應用成為可能,將其應用于其它裝置上也能在優(yōu)化系統(tǒng)的性能,提高系統(tǒng)的反應速度。
權利要求
1.一種用于語音識別系統(tǒng)的特征矢量集的壓縮方法,先將該特征矢集劃分為若干子空間,再對每個子空間的所有矢量進行聚類得到一碼本,各子空間碼本生成的步驟包括(a)將該子空間所有矢量劃分到子集合中,計算該子集合的中心矢量,得到初始化碼本;(b)將所有子集合一分為二,生成新的中心矢量以合成該子空間的新碼本;(c)分別找到與該子空間各矢量距離度量最小的中心矢量,將各矢量分配到與其距離度量最小的中心矢量對應的子集合中;(d)計算出該子空間所有矢量的總距離度量變化率;(e)將該變化率與一預設變化率的門限值比較;若該變化率小于或小于等于該門限值,再判斷是否已獲得預定比特數(shù)的碼本,若是,則結束,若否,則執(zhí)行步驟(b);若該變化率大于等于或等于該門限值,則執(zhí)行步驟(f);(f)基于各子集合中的矢量個數(shù)和平均距離度量,對某些子集合進行合并和分裂;以及(g)將分裂得到的子集合的中心矢量作為代表該子集合的碼字,得到該子空間的新碼本,并回到步驟(c)。
2.如權利要求1所述的用于語音識別系統(tǒng)的特征矢量集的壓縮方法,其特征在于所述步驟(b)又可分為以下步驟計算出該子集合所有矢量相對于其中心矢量的平均方差值;將各該中心矢量加上其對應的平均方差值的一半,得到一個新的中心矢量,再將各該中心矢量減去其對應的平均方差值的一半,得到另一個新的中心矢量;以及將該子空間新生成的中心矢量合在一起得到新的碼本。
3.如權利要求1所述的用于語音識別系統(tǒng)的特征矢量集的壓縮方法,其特征在于所述子空間所有矢量的總距離度量變化率按以下方法計算計算所述子空間各矢量與離其距離度量最小的中心矢量之間的距離的總和,得到新的總距離度量;將原總距離度量減去新的總距離度量得到一差值;再將該差值的絕對值除以原總距離度量即得到該總距離度量變化率。
4.如權利要求1所述的用于語音識別系統(tǒng)的特征矢量集的壓縮方法,其特征在于所述步驟(e)中,在判斷是否已獲得預定比特數(shù)的碼本前,還有一將新的總距離度量值賦與原總距離度量值的步驟;且在所述步驟(g)中,在回到步驟(e)之前,還有一將新的總距離度量值賦與原總距離度量值的步驟。
5.如權利要求1所述的用于語音識別系統(tǒng)的特征矢量集的壓縮方法,其特征在于所述的合并是指將包含矢量個數(shù)小于某一預設值的各子集合的中心矢量從碼本中刪除。
6.如權利要求5所述的用于語音識別系統(tǒng)的特征矢量集的壓縮方法,其特征在于所述的分裂是指一個子集合被合并后,先計算各子集合中所有矢量與該子集合中心矢量的距離之和,再計算該和與該子集合的矢量個數(shù)的比值,將所得比值最大的子集合分為二個子集合,同時生成兩個新的中心矢量。
7.如權利要求1所述的用于語音識別系統(tǒng)的特征矢量集的壓縮方法,其特征在于所述的特征矢量為LPC系數(shù)、倒譜系數(shù)、濾波器組系數(shù)或MFCC系數(shù)。
8.如權利要求1至7任一權利要求所述的用于語音識別系統(tǒng)的特征矢量集的壓縮方法,其特征在于該特征矢量集為一聲學模型或一語音特征集,該聲學模型壓縮后得到一高斯碼本,該語音特征集壓縮后得到一特征碼本。
9.一種語音識別系統(tǒng),至少包括一模數(shù)變換單元、一特征提取單元、一解碼運算單元及一聲學模型,用于接收語音輸入信號得到相匹配的識別結果,其中該模數(shù)變換單元將該語音輸入信號轉換為一數(shù)字信號;該特征提取單元將該數(shù)字信號進行分幀處理,提取語音特征參數(shù)得到輸入語音的特征矢量序列;該解碼運算單元對該特征矢量序列進行解碼運算得到識別結果。該聲學模型為權利要求8中所述的高斯碼本。
10.如權利要求9所述的語音識別系統(tǒng),其特征在于還包括一語言模型。
11.一種語音識別系統(tǒng),用于接收語音輸入信號并得到相匹配的識別結果,至少包括模數(shù)變換單元,將輸入語音的模擬信號變換為數(shù)字信號;特征提取單元,對該數(shù)字信號進行分幀處理,提取每一幀語音的特征參數(shù),得到其特征矢量序列;特征碼本,為如權利要求8中所述的特征碼本;量化編碼單元,根據(jù)該特征碼本將輸入語音的特征矢量序列轉換為特征碼字序列;概率表,存儲了該特征碼本中每個碼字對應高斯碼本中每個碼字的概率值,該高斯碼本為如權利要求8中所述的高斯碼本;以及解碼運算單元,對該特征碼字序列進行解碼運算得到識別結果,運算中對該特征碼字序列中的各個碼字,從概率表中直接查找與其具有最大匹配概率的高斯碼字。
12.如權利要求11所述的語音識別系統(tǒng),其特征在于還包括一語言模型。
13.如權利要求11所述的語音識別系統(tǒng),其特征在于所述該量化編碼單元根據(jù)以下步驟將輸入語音的特征矢量序列轉換為特征碼字序列將所述特征矢量序列劃分為與所述特征碼本相同數(shù)量的子空間,每一子空間對應于一個碼本;計算各子空間中所有特征矢量與相應碼本中的各碼字之間的距離度量,將與該特征矢量具有最小距離度量的碼字作為所述特征碼字序列中對應該特征矢量的碼字;將所述特征矢量序列各個子空間所有矢量所對應的碼字按原矢量順序組合起來,即得到對應的特征碼本碼字序列。
14.如權利要求11所述的語音識別系統(tǒng),其特征在于所述概率表是通過以下步驟生成的計算高斯碼本中各碼字對應的均值和方差矢量;利用上述均值和方差矢量,計算所述特征碼本中各個碼字與高斯碼本中各個碼字相匹配的對數(shù)概率值;將特征碼本中的所有碼字與高斯碼本中的所有碼字相匹配的概率值儲存起來即可得到概率表。
全文摘要
本發(fā)明公開一種用于語音識別系統(tǒng)的特征矢量集的壓縮方法,在對語音特征矢量集聚類得到碼本的過程中,增加了根據(jù)子集合中矢量數(shù)及矢量的總距離度量來動態(tài)合并和分裂子集合的步驟,減小了聚類后集合中矢量與其對應的碼字的距離度量總和,提高了聚類算法的精度,將本發(fā)明方法壓縮后的碼本應用于語音識別系統(tǒng)中,可在保證語音系統(tǒng)識別性能的同時,大大降低了系統(tǒng)的存儲量。本發(fā)明還公開一種語音識別系統(tǒng),用特征碼本和概率表代替聲學模型,在解碼的過程中不需要計算高斯概率,只須從預先存儲的概率表中查找出所需的概率值,大大減少了解碼運算量,因而可極大地提高系統(tǒng)的識別速度。
文檔編號G10L15/02GK1455388SQ0214868
公開日2003年11月12日 申請日期2002年11月15日 優(yōu)先權日2002年9月30日
發(fā)明者潘接林, 韓疆, 劉建, 顏永紅, 庹凌云, 張建平 申請人:中國科學院聲學研究所, 北京中科信利技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1