專利名稱:用于執(zhí)行觀察概率計算的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于語音識別的觀察概率計算。
背景技術(shù):
預(yù)計使用語音識別應(yīng)用的領(lǐng)域擴展到我們?nèi)粘I钪型ǔJ褂玫拇蠖鄶?shù)電子產(chǎn)品。IBM是首先提出利用語音識別的技術(shù)的一個,它通過對語音識別應(yīng)用隱藏馬爾可夫模型算法證明隱藏馬爾可夫模型的有效性,如美國專利號5,636,291所描述的那樣。
‘291專利公開一種應(yīng)用隱藏馬爾可夫模型算法的字符識別系統(tǒng)?!?91專利把隱藏馬爾可夫模型算法組織成通用處理器執(zhí)行的程序。
‘291專利公開的語音識別系統(tǒng)粗略包括三個部分預(yù)處理器,前端部分,和建模部分。在預(yù)處理器中識別關(guān)心的所有字符的語義。在前端部分,從識別的語義中抽取相互比較的特征值或參數(shù)。在建模部分執(zhí)行培訓(xùn)階段一個修整相位以產(chǎn)生一個模型。這個模型被作為一個標(biāo)準(zhǔn),根據(jù)抽取的特征值或參數(shù)來精確的判斷識別的字符。另外,根據(jù)識別的語義,建模部分決定在預(yù)先分配的字符中選擇哪一個作為識別的字符。
IBM也已經(jīng)公布了一種使用廣泛應(yīng)用的隱藏馬爾可夫模型算法的語音識別系統(tǒng)和方法。美國專利號5,799,278公開了一種語音識別系統(tǒng)和方法,其中使用一種隱藏馬爾可夫模型算法識別單獨的發(fā)聲的字。這種語音識別系統(tǒng)和方法被培訓(xùn)來識別發(fā)音上不同的字,并適合于識別大批量的字。
如上所述的語音識別系統(tǒng)需要大量的處理時間以執(zhí)行語音識別所必需的計算。一種用于這種系統(tǒng)的觀察概率計算大約占用使用一種隱藏馬爾可夫模型算法的語音識別裝置所需的計算總量的62%。
發(fā)明內(nèi)容
本發(fā)明的一個優(yōu)選的實施例直接針對于為了執(zhí)行口語字的語音識別而計算觀察概率的一種裝置。該裝置包括一個第一操作單元,從一個輸入語音信號的第二參數(shù)中減去輸入語音信號的第一多個參數(shù)的平均值,并乘以相減的結(jié)果以得到一個第一輸出。第一輸出結(jié)果在在第二操作單元中被平方并累加N次以得到一個第二輸出。第三操作單元從第二輸出中減去一個給定的加權(quán)值以得到一個第三輸出,為了抽取這里的L輸出,一個比較器存儲第三輸出,并根據(jù)抽取的L輸出的大小順序存儲L抽取的輸出。
本發(fā)明的另一個優(yōu)選的實施例直接針對于計算觀察概率的一種方法,其中從輸入的語音信號中抽取的第二參數(shù)中減去輸入語音信號的第一多個參數(shù)的平均值以得到一個結(jié)果。相乘這一結(jié)果以得到第一輸出。第一輸出被平方和累加以得到一個觀察概率值。
本發(fā)明的另一個優(yōu)選的實施例直接針對于一種識別語音信號的方法,其中從輸入語音信號中抽取的第二參數(shù)中減去輸入語音信號的第一多個參數(shù)的平均值以得到一個結(jié)果。相乘這一結(jié)果以得到第一輸出。第一輸出被平方和累加以得到一個第二輸出。從第二輸出中減去一個給定的加權(quán)值得到一個第三輸出。從第三輸出,抽取L輸出,和一個或多個具有最高大小順序的L輸出,被選擇作為對應(yīng)于識別的語音信號。
通過優(yōu)選實施例的詳細(xì)描述,其中參考附圖,本發(fā)明的優(yōu)選的實施例的如上所述的和其他的特征和優(yōu)點將變的更加明顯,其中圖1是一個普通的語音識別系統(tǒng)的結(jié)構(gòu)圖;圖2說明得到一個音素的狀態(tài)順序的方法;圖3說明一個字識別處理;圖4說明依據(jù)本發(fā)明的優(yōu)選實施例的執(zhí)行語音識別所需的計算的數(shù)量;圖5依據(jù)本發(fā)明的優(yōu)選實施例的觀察概率計算裝置的結(jié)構(gòu)圖;圖6說明位分辨率的選擇;圖7依據(jù)本發(fā)明的優(yōu)選實施例的語音識別裝置的結(jié)構(gòu)圖;圖8是說明在圖7的語音識別裝置中接收控制命令和數(shù)據(jù)的過程的結(jié)構(gòu)圖;圖9是是說明在圖7的語音識別裝置中接收控制命令和數(shù)據(jù)過程的時序圖;圖10是顯示對于隱藏馬爾可夫模型算法所必需的每個功能的計算數(shù)量的表格;圖11顯示了包括在方程8中的第一表達式的算法;和圖12是依據(jù)本發(fā)明的優(yōu)選實施例的觀察概率計算裝置的結(jié)構(gòu)圖。
具體實施例方式
本發(fā)明的優(yōu)選的實施例直接針對于一種觀察概率計算裝置和計算用于語音識別的觀察概率的方法。這種方法和裝置使用隱藏馬爾可夫模型算法有效的執(zhí)行一個觀察概率計算。觀察概率計算裝置可以提高語音識別執(zhí)行的速度。與在先技術(shù)相比,觀察概率計算裝置可以減少指令數(shù)量大約50%或更多。因此,操作可以在潛在地比現(xiàn)有技術(shù)更低的時鐘速率下處理,并能量消耗可以減少到在先技術(shù)的一半。
進一步,觀察概率計算裝置可以包括專用的硬件來執(zhí)行觀察概率計算。觀察概率計算代表性的占用隱藏馬爾可夫模型算法的最大數(shù)量。因此,包括觀察概率計算裝置的語音識別裝置的處理速度將增加,以求減少功率消耗。
圖1是一個普通的語音識別系統(tǒng)的結(jié)構(gòu)圖。在圖1的普通語音識別系統(tǒng)100中,模擬到數(shù)字轉(zhuǎn)換器(ADC)101可以把連續(xù)的(模擬)語音信號轉(zhuǎn)換成數(shù)字語音信號。為了加重清楚的區(qū)別的發(fā)音,預(yù)加重單元可以加重數(shù)字語音信號的高頻分量。在采樣的給定數(shù)量的單元中,數(shù)字語音信號可以被分離和采樣。數(shù)字語音信號可以在例如240采樣(30ms)單元被分離。
由于倒頻譜(它是應(yīng)用于隱藏馬爾可夫模型算法的參數(shù))和從頻譜產(chǎn)生的能量通常用作隱藏馬爾可夫模型中的特征向量能量計算器103計算倒頻譜和能量。為了得到能量,能量計算器103在時域中使用能量計算公式持續(xù)計算瞬時的能量30ms。能量計算公式,其中“Y(i)”表示能量,在方程1中示出Y(i)=Σj=0239(X(W_RATE·i+j))2W_SIZE,0≤i≤29--(1)]]>其中W_SIZE=240W_RATE=80
在方程1中,“i”是幀的數(shù)量(方程1計算30幀),“X”表示數(shù)字化的語音數(shù)據(jù),“j”是一幀的數(shù)據(jù)的指標(biāo),W_SIZE意味著每一幀由240數(shù)據(jù)組成,和W_RATE是重疊數(shù)據(jù)的數(shù)量。方程1計算的能量值可以確定當(dāng)前輸入的信號是語音信號或噪音。為了計算頻域中的頻譜,可以使用快速傅里葉變換(FFT)。例如,可以使用256點復(fù)數(shù)FFT操作計算頻域中的頻譜。256點復(fù)數(shù)FFT操作可以用方程2表示如下X(k)=Σn=0255[x(n)cos(2πkn256)+y(n)sin(2πkn256)]+]]>j·Σn=0255[y(n)cos(2πkn256)-x(n)sin(2πkn256)]--(2)]]>在方程2中,X(k)是在k進行快速傅里葉變換(FFT)的結(jié)果,“k”是0到255之間的值。項x(n)和y(n)是在FFT中使用的實數(shù)。如果能量計算結(jié)果根據(jù)能量計算結(jié)果指示當(dāng)前輸入的信號是語音信號,在尋端點單元(FindEndPoint)單元104中確定輸入的語音信號的起始端和末端。用這種方法,如果輸入語音信號的起始端和末端定義的有效的字被確定,只有對應(yīng)被確定的有效的字的頻譜數(shù)據(jù)被存儲在緩沖器105中。換句話說,緩沖器105中僅存儲通過從說話人所說的字中去除噪音后得到的有效的語音信號。
mel濾波器106執(zhí)行mel濾波,它是用于從通過從32頻帶的帶寬單元中濾波的頻譜中得到倒頻譜的預(yù)處理步驟。因此,可以使用mel濾波計算32頻帶的頻譜。通過把在頻域中的計算的頻譜變換成時域,可以得到倒頻譜,它是應(yīng)用于隱藏馬爾可夫模型算法中使用的參數(shù)。頻域轉(zhuǎn)換成時域可以在IDCT單元107中使用反離散余弦變換(IDCT)來實現(xiàn)。
由于得到的頻譜和能量值(即,在應(yīng)用隱藏馬爾可夫模型的搜索中使用的值)之間可能存在實際的差值(即,大約102),因此得到的頻譜和能量值需要調(diào)整。這些調(diào)整在計數(shù)器108中可以使用對數(shù)函數(shù)來執(zhí)行。
頻譜窗口單元109從mel頻譜值中分離周期和能量,并使用方程3改善噪音特征曲線以確定新的倒頻譜值Y[i][j]Y[i][j]=Sin_TABLE[j]·X([i][j+1])這里,0≤i<NoFrame,0≤j≤7(3)其中NoFrames表示幀的數(shù)量。Sin_TABLE可以通過使用方程4得到Sin_TABLE[j]=i+4·Sin(π·(j+1)8),0≤j≤7--(4)]]>在方程3和4中,“i”表示幀的數(shù)量“j”表示倒頻譜的數(shù)量。規(guī)范器110將包含在每一幀中(例如在每一幀的第九位置)的能量值,規(guī)范為存在于給定范圍內(nèi)的值。為達到標(biāo)準(zhǔn)化,最大能量值最初可以使用方程5在每一幀的第九數(shù)據(jù)中搜索MaxEnergy=0≤i≤NoFrameMaxWind Cepstrum[i][8]--(5)]]>這樣,規(guī)范化的能量(‘NECepstrum’)可以通過從所有幀的第九能量數(shù)據(jù)中減去最大能量值而得到,如方程6所示NECepstrum[i][8]=(WindCepstrum[i][8]-MaxEnergy)·WEIGHT_FACTOR其中0≤i≤NorRam (6)在方程5和6中,“i”表示幀的數(shù)量;“NoFrame”是幀的最大數(shù)目;“WindCepstrum”是通過使用Sin_Table得到的一個值,‘WEIGHT_FACTOR’是加權(quán)值。語音信號的識別率通常通過增加參數(shù)(特征值)的類型而得以提高。為此,每一幀的特征值可以被看作第一類型特征,幀的特征值之間的差值可以被看作第二型特征,稱作delta倒頻譜。
動態(tài)特征單元111可以計算delta頻譜Rcep(i),或特征值之間的差,并作為使用方程7的第二特征值。
Rcep(i)=F(i)=-1/10(2·Scep[i+4][j]+1·Scep[i=3][j]+0·Scep[i+2][j]-1·Scep[i+1][j]-2·Scep[i][j]),]]>其中0≤i≤NoFrame+1,和0≤j≤9.(7)在方程7中,“i”表示幀的數(shù)量,“j”表示倒頻譜的數(shù)量,F(xiàn)(i)表示一個特征值的縮寫,Scep是規(guī)范的能量NECepstrum。每個操作一般在兩個鄰近的幀中執(zhí)行。使用方程7可以得到多個等于被計算的倒頻譜的數(shù)量的delta頻譜。這樣,在隱藏馬爾可夫模型處理的一個字搜索中用作比較的特征值可以被抽取。
根據(jù)抽取的特征值,可以執(zhí)行使用給定的隱藏馬爾可夫模型的字搜索。在觀察概率計算器112中執(zhí)行第一步驟。字搜索和字確定都根據(jù)概率,即,搜索和確定具有最高概率值的字節(jié)。
概率的類型可以包括觀察概率和轉(zhuǎn)移概率。這些概率可以被累加,并具有最高概率值的字節(jié)的順序可以被選擇作為識別的語音。觀察概率o-prob[m]可以使用方程8得到y(tǒng)=Σi=01Σj=012var[i][j](Feature[i][j]-Mean[i][j])2]]>dbx=y+Gconst]]>o_prob[m]=0≤i≤mixtureMax{dbx[i]}--(8)]]>在方程(8)中,dbx表示從輸入語音信號中抽取的參考平均值(Mean)和特征值(Feature)之間的概率距離。由于概率距離變小,觀察概率增加。Feature表示從輸入語音信號中抽取的參數(shù),Mean表示從輸入語音信號的代表性的音素中抽取的多個參數(shù)的平均值,var表示分布度(Precision)/2,這里,Precision是一個分布度(一個方差,1/σ2)。Gconst是加權(quán)值,“i”表示代表性的音素類型的“混合物”。
許多人的代表性的音素值提高聲音識別的精確性并分類成幾個組,每個具有相同的音素類型。參數(shù)“i”表示每組表示的代表性的值的系數(shù),“j”表示參數(shù)的數(shù)量。幀的數(shù)量可以根據(jù)字的類型變化,根據(jù)人們的字的發(fā)音的類型混合物(即,“i”)可以分類成多種組。
計算的觀察概率指示可以觀察預(yù)選擇的字的音素。每個音素具有不同的觀察概率值。在為每個音素確定一個觀察概率值之后,一個狀態(tài)機113可以處理該被確定的觀察概率值以得到最為合適的音素的順序。在使用來識別一個單個的字的隱藏馬爾可夫模型中,狀態(tài)機113可以理解為要識別的每個說出字的音素的特征值的順序。
圖2說明了一種得到一個代表性的音素“k”的狀態(tài)順序的方法。例如,在圖2中,如果音素“k”包括三個連續(xù)的狀態(tài)S1,S2和S3,一個狀態(tài)從起始狀態(tài)S0開始,經(jīng)過狀態(tài)S1和S2,到達狀態(tài)S3。在圖2中,在相同的狀態(tài)水平的一個右向移動表示一個延遲。這一延遲可以根據(jù)特定的講話者。換句話說,音素“k”可以發(fā)充分短的時間周期的音,也可以發(fā)相對長時間周期的音。當(dāng)音素的發(fā)音延長時,每個狀態(tài)水平上的延遲延長。因此,音素“k”可以在多個狀態(tài)順序中表示,如圖2所示,并且可以在每個狀態(tài)順序中執(zhí)行概率計算用于輸入語音信號的每個音素。
在每個音素的單個的狀態(tài)順序上的概率計算完成以后,每個音素的計算的概率值被存儲在狀態(tài)機113中。當(dāng)選擇最大的分支或最大的概率時,狀態(tài)電平可以通過得到被稱為“Alpha”的值,或每個狀態(tài)的概率而改進。在圖2中,術(shù)語“Sil”表示不發(fā)音的音。
依據(jù)方程9,Alpha值可以通過使用優(yōu)先觀察概率值(其實際上是觀察概率值的累加),和使用通過在先試驗得到的音素間轉(zhuǎn)移概率值而得到State[i].Alpha=0≤i≤277MaxState[i].Alpha_prev+State[i].trans_prob
,]]>State[i-1].Alpha_prev+State[i].trans_prob[1]+*(State[i].o_prob)--(9)]]>在方程9中,State.Alpha表示累加到前一概率值的最新計算的概率值,State.Alpha-prev表示前一概率值,它是先前概率值的累加,state.trans-prob
表示狀態(tài)Sn過渡到狀態(tài)Sn(即,S0→S0)的概率,state.trans-prob[1]表示狀態(tài)Sn過渡到狀態(tài)Sn+1(即,S0→S1)的概率,state.o-prob表示在當(dāng)前狀態(tài)計算的觀察概率。
一個最大似然查找器114根據(jù)單個的音素的最終累加概率值選擇一個識別的字,就像在方程9中計算的那樣。可以選擇具有最大概率的字作為識別的字。
現(xiàn)在將描述識別一個說出的字“KBS”的過程以說明具有最大概率的字如何可能被選擇作為識別的字。發(fā)音字“KBS”包括對應(yīng)于“kej”,“bi”和“es”的三個音節(jié)。音節(jié)“kej”包括對應(yīng)于“k”,“e”和“j”的三個音素,音節(jié)“bi”包括對應(yīng)于“b”和“i”的兩個音素,音節(jié)“es”包括對應(yīng)于“e”和“s”的兩個音素。
發(fā)音字“KBS”包括七(7)個音素的“k”,“e”,“j”,“b”,“i”,“e”和“s”,并根據(jù)用于七(7)個音素每個的觀察概率值和音素間轉(zhuǎn)移概率值識別發(fā)音字“KBS”。即,為了識別發(fā)音字“KBS”,七個音素盡可能準(zhǔn)確的識別,并準(zhǔn)確識別的音素的順序必須選擇作為與字“KBS”最相似的字。
最初,對于一個輸入語音信號(KBS)的每個音素計算其觀察概率。為此,計算輸入語音信號的每個音素和存儲在數(shù)據(jù)庫中的代表性的音素之間的相似度(即,概率),并且代表性的音素的最大概率確定為每個音素的觀察概率。例如,音素“k”與存儲在數(shù)據(jù)庫中的每一個代表性的音素相比較,并選擇具有最大概率的代表性的音素“k”。
觀察概率計算后,輸入語音信號可以應(yīng)用到包含確定的代表性的音素的狀態(tài)機。因此可以確定音素的最適當(dāng)?shù)捻樞颉?br>
狀態(tài)機包括七個音素“k”,“e”,“j”,“b”,“i”,“e”和“s”,根據(jù)具有最高觀察概率的音素選擇字“KBS”,并其中最大限度的選擇觀察概率的累加。七個音素的每一個可以包括三種狀態(tài)。
圖3說明字識別處理。為了識別字“KBS”,觀察概率計算器112計算七個音素“k”,“e”,“j”,“b”,“i”,“e”和“s”的每一個的觀察概率,狀態(tài)機113選擇每個音素中具有最大觀察概率和觀察概率的最大累加的字“KBS”。
在許多已經(jīng)存在的語音識別產(chǎn)品中,如上所述的操作一般用軟件(C/C++語言)或通過通用處理器執(zhí)行的匯編碼設(shè)計。換句話說,上述操作也可以通過專用硬件執(zhí)行,即,特定用途集成電路(ASIC)。軟件執(zhí)行可能需要比硬件更長的計算時間,但更靈活,以至于更容易改變操作。ASIC可以提高處理速度和消耗比軟件更少的功率。但是,因為ASIC不靈活,所以操作不會象在軟件操作中那樣容易改變。因此,適合于依據(jù)本發(fā)明的優(yōu)選實施例的聲音識別產(chǎn)品的觀察概率計算裝置使用軟件加速數(shù)據(jù)處理。
圖4說明依據(jù)本發(fā)明的優(yōu)選實施例的執(zhí)行語音識別所需的計算的數(shù)量。例如,在通過通用處理器執(zhí)行軟件的情況下,例如數(shù)字信號處理器或英特爾奔騰微處理器,圖4示出了執(zhí)行一般的聲音識別的每個必需的功能所需要的計算的數(shù)量。在圖4中,計算的數(shù)量不是指令的數(shù)量,而是計算的次數(shù)(即,迭代)的數(shù)量,例如乘,加,對數(shù)操作,指數(shù)操作等。從圖4中可以看出,一般的聲音識別所必需的計算總量大約是100,000,其中,大約88.8%是專用于觀察概率計算。
表1示出了當(dāng)使用ARM處理器執(zhí)行一般的聲音識別時所使用的指令的數(shù)量。
表1
參照圖1,需要總數(shù)近似36百萬指令用于執(zhí)行聲音識別。大約22百萬或62%指令用于隱藏馬爾可夫模型(HMM)搜索,即,觀察概率計算。如表1所示,指令的周期循環(huán)數(shù)量不是指令的數(shù)量而是計算的次數(shù)的數(shù)量,例如乘,加,對數(shù)操作,指數(shù)操作等。
可以構(gòu)建硬件裝置執(zhí)行使用最大指令數(shù)量的觀察概率計算,從而提高計算速度和減少功率消耗。本發(fā)明的優(yōu)選實施例同時也提供一種專用于使用少量的指令,即,少量的周期循環(huán)的計算觀察概率的觀察概率計算裝置。
概率距離計算,其占用大部分的觀察概率計算,在方程10中表示dx0[i]=lw-Σj=08p[i][j]·(m[i][j]-Feature[k]
[j]2)2]]>dx1[i]=lw-Σj=08p[i][j]·(m[i][j]-Feature[k]
[j]2)2--(10)]]>在方程10中,m表示參數(shù)的平均值,F(xiàn)eature表示從輸入信號中抽取的參數(shù),p表示Precision值,分布度(方差,1/σ2)的精確值,1w表示“對數(shù)加權(quán)”是一個加權(quán)值,i是音素的發(fā)音類型的“混合物”,j是倒頻的數(shù)量。當(dāng)在線性域中的加權(quán)值計算變成在對數(shù)域中的加權(quán)值計算時對數(shù)加權(quán)減弱。
為了提高觀察概率計算的效率,為了僅使用一個指令表示概率距離計算,本發(fā)明也提供了一種計算方程9和10的裝置,如方程11所示p[i][j]·(mean[i][j]-feature[k][j])22--(11)]]>在方程11中,p[i][j]表示表示分布度(方差,1/σ2)的精確值,mean[i][j]表示音素的平均值,feature[k][j]表示音素的參數(shù),即,能量或倒頻譜。在方程(11)中,mean[i][j]-feature[k][j]表示輸入音素的參數(shù)和預(yù)定義的代表性的參數(shù)之間的概率差值(距離)。mean[i][j]-feature[k][j]的結(jié)果被平方以計算絕對概率距離。方差乘以mean[i][j]-feature[k][j]的平方以預(yù)報輸入音素參數(shù)和預(yù)定義的代表性的參數(shù)之間的客觀的真實距離。這里,代表性的音素參數(shù)是根據(jù)經(jīng)驗從多個語音數(shù)據(jù)中取得的。由于從多個人群中得到的語音數(shù)據(jù)采樣值的數(shù)量增加,識別率得以提高。
然而本發(fā)明可以通過執(zhí)行例如方程12的操作最大化識別率。方程12說明硬件的限制性的特征曲線,即,數(shù)據(jù)的寬度的特征曲線一般可以限制在16位{P[i][j]·(mean[i][j]-feature[k][j]}2(12)在方程(12)中,p[i][j]表示分布度1/σ2,其不同于方程11中的方差1/σ2。下面說明為什么用分布度1/σ2代替方差1/σ2的原因。
在方程(11)中,mean[i][j]-feature[k][j]被平方,p[i][j]乘mean[i][j]-feature[k][j]的平方。然而,在方程(12)中,p[i][j]乘mean[i][j]-feature[k][j],再平方這個相乘的結(jié)果。同樣的,在方程(11)中,需要用高位分辨率(和mean[i][j]-feature[k][j]的平方一樣多)來表示p[i][j]。然而,在方程(12)中,僅需要一個mean[i][j]-feature[k][j]的位分辨率。換句話說,為了保持一個16位的分辨率,方程11需要32位以表示p[i][j],而這時方程(12)僅需要16位以表示p[i][j]。在方程(12)中,由于P[i][j](mean[i][j]-feature[k][j])的結(jié)果被平方,可以得到使用1/σ2計算方程(9)的相同的效果。
圖5是觀察概率計算裝置的結(jié)構(gòu)圖。觀察概率計算裝置500包括減法器505,乘法器506,平方器507和加法器508。參考數(shù)字502,503,504和509是寄存器。
例如可以作為數(shù)據(jù)庫使用的外部存儲器501,存儲精確度,平均值和每個代表性的音素的特征。這里精度表示分布度(1/σ2),平均值表示每個代表性的音素的參數(shù)(能量和倒頻)的平均值,feature[k][j]表示每個音素的參數(shù)(能量和倒頻)。
最初,在觀察概率計算裝置500中,減法器505計算平均值和特征值之間的差值,然后,乘法器506用分布度(1/σ2)乘這個差值以得到平均值和特征值之間的真正距離。接下來,平方器507平方相乘的結(jié)果以得到平均值和特征值之間的絕對差值(即,一個真正的差值)。此后,加法器508把平方值加到前一參數(shù)中。也就是說,通過乘法器506得到方程12的結(jié)果,通過加法器508得到在方程9中的計算結(jié)果。
外部存儲器501將p[i][j],mean[i][j]和feature[k][j]以給定的順序存儲在寄存器502,503和504中。這個給定的順序?qū)?yīng)i和j連續(xù)增加的順序。當(dāng)改變i和j,p[i][j],mean[i][j]和feature[k][j]被順序的提供到存儲器502,503和504中。寄存器509得到最終累加觀察概率。
根據(jù)這個概率累加計算,一個最概率相似于輸入音素的表示性音素具有最大概率。位于觀察概率計算裝置500的前端和后端的寄存器502,503,504和509可以用來穩(wěn)定數(shù)據(jù)。
在觀察概率計算裝置500中,根據(jù)處理器的結(jié)構(gòu),數(shù)據(jù)的位分辨率可以變化。當(dāng)位的數(shù)量的增加,可以計算更精確的結(jié)果。然而,由于位分辨率與觀察概率計算裝置500的容量有關(guān),鑒于識別率必須選擇合適的分辨率。
為了更好的理解位分辨率的選擇,圖6示出了使用16位分辨率的處理器內(nèi)部的位分辨率。這里,圖6中示出的每個步驟的切割處理根據(jù)限制到16位的數(shù)據(jù)寬度的特征曲線進行。偶爾也將參考圖5。切割處理對應(yīng)于防止性能降低的選擇處理。當(dāng)使用觀察概率計算裝置500時,與當(dāng)僅使用通用處理器的情況相比較,處理速度可以得到充分提高。
特征值和平均值每個可以由4位整數(shù)和12位小數(shù)組成。在減法器505中,從特征值中減去平均值以得到由4位整數(shù)和12位小數(shù)組成的值。精確值可以由7位整數(shù)和9位小數(shù)組成。在乘法器506中,減法器505的輸出乘以精確值以得到一個由10位整數(shù)和6位小數(shù)組成的值。再在平方器507中,乘法器506的輸出被平方以得到由20位整數(shù)和12位小數(shù)組成的值。在加法器中,這個值和優(yōu)先值相加,并換算這個和以得到由21位整數(shù)和11位小數(shù)組成的值。
表2示出了根據(jù)通用ARM系列處理器執(zhí)行廣泛使用的隱藏馬爾可夫模型的聲音識別算法和使用依據(jù)本發(fā)明的優(yōu)選實施例的采用觀察概率計算裝置的專用處理器執(zhí)行聲音識別HMM算法之間的比較結(jié)果。
表2
如表2所示,通用ARM處理器執(zhí)行聲音識別大約36百萬周期循環(huán),而專用處理器執(zhí)行聲音識別大約15百萬周期循環(huán),或大約通用ARM處理器迭代周期循環(huán)數(shù)量的一半。這樣,實時聲音識別就幾乎有可能。換句話說,專用處理器具有和通用處理器相同的性能甚至在實際上低的時鐘頻率情況下。因此,可以最大的減少功率消耗。
作為參考,消耗的功率和時鐘頻率之間的關(guān)系可以通過方程(13)表示p=12·C·f·V--(13)]]>其中,P表示消耗功率,C是電路元件的電容,f表示在電路中信號的整個轉(zhuǎn)移的程度。變換程度根據(jù)了時鐘速度。V表示提供的電壓。因此,如果時鐘速度減半,消耗的功率也減半,即,時鐘速度與功率消耗成比例。
在觀察概率計算裝置500中,外部存儲器501存儲平均值,轉(zhuǎn)移概率,從輸入語音信號中和憑經(jīng)驗得到的代表性的音素的分布度中抽取的參數(shù),根據(jù)單個的人的發(fā)音類型是不同的。由于外部數(shù)據(jù)中的變化,這些數(shù)據(jù)最初存儲在寄存器502,503和504中以在信號中最小化變化。數(shù)據(jù)的存儲密切有關(guān)功率的消耗。從存儲于內(nèi)部存儲器502,503和504中的數(shù)據(jù)中,通過減法器505得到從輸入語音信號中抽取的參數(shù)(特征)和預(yù)存儲的平均值之間的差值。
在乘法器506中,該差值乘一個表示分布度(1/σ2)的精確值。在平方器507中,這個相乘的結(jié)果被平方以得到真正的概率距離。由于在多個形成一個字的聲音參數(shù)幀中真正的概率距離僅對應(yīng)一個臨時的當(dāng)前參數(shù),在加法器508中真正的概率距離加先前概率距離以累加概率距離值。存儲于寄存器509中的數(shù)據(jù)被反饋到加法器508以執(zhí)行這個累加,因此,數(shù)據(jù)被用于下面的計算。
寄存器509不僅用于累加,而且用于最小化信號轉(zhuǎn)移。累加可以平等的應(yīng)用于預(yù)確定的代表性的音素,對于不同的音素或狀態(tài)合成的累加值可以存儲在不同的存儲位置。在關(guān)于輸入語音信號的全部參數(shù)累加完成之后,每個音素的最大累加值可以作為與輸入音素最概率相似的音素識別。最終識別的字可以使用現(xiàn)有的處理器中的累加值確定。
圖7采用觀察概率計算裝置的聲音識別裝置的結(jié)構(gòu)圖。例如,聲音識別裝置700可以采用3總線系統(tǒng)作為專用處理器用于單獨說話者的聲音識別。觀察概率計算裝置可以被安放在HMM模型728中,具有對于3數(shù)據(jù)總線(兩個16位讀總線和一個16位寫總線)共享兩個8位運算碼總線的組成模型。這僅是一個優(yōu)選結(jié)構(gòu),因為在總線結(jié)構(gòu)中可以使用其它的結(jié)構(gòu),因為對本領(lǐng)域的技術(shù)人員已經(jīng)是顯而易見的。
參照圖7,控制單元(CTRL)702可以具體位通用處理器。REG文件單元704表示用于執(zhí)行寄存器文件編排操作的模型。算術(shù)邏輯單元(ALU)706表示用于執(zhí)行算術(shù)邏輯的模型。相乘和累加單元(MAC)708是用于執(zhí)行MAC的模型。桶形(B)移位器710表示用于執(zhí)行桶形移位操作的模型??焖俑盗⑷~變換單元(FFT)712可以執(zhí)行傅立葉計算。平方根(SQRT)計算器714可以執(zhí)行平方根計算操作。計時器716建立計時器功能,時鐘發(fā)生器(CLKGEN)718產(chǎn)生時鐘信號。CLKGEN718從圖5的觀察概率計算裝置500中接收內(nèi)部或外部產(chǎn)生的時鐘信號并產(chǎn)生時鐘信號輸入到觀察概率計算裝置500的元件。特別的,為了達到低的功率消耗,CLKGEN718控制時鐘速度。
聲音識別裝置700可以進一步包括程序存儲模型(PMEM)720,程序存儲接口模型(PMIF)722。外部接口模型(EXIF)724,存儲接口模型(MEMIF)726,隱藏馬爾可夫計算模型(HMM)728,(例如,其可以是觀察概率計算裝置500),同步串行接口模型(SIF)730和通用的異步接收機/發(fā)射機模型(UART)732。進一步,聲音識別裝置700可以包括通用輸入/輸出模型(GPIO)734,編解碼器接口模型(CODECIF)736和用于執(zhí)行CODEC操作(CODEC)的模型740。HMM728可以通過使用基于特征值的隱藏馬爾可夫模型執(zhí)行字搜索,外部總線752和外部存儲器例如可以支持動態(tài)存儲器存取(DMA)的EXIF724連接數(shù)據(jù)。
控制器(解碼器)圖7中未示出,可以在每個組成模型中建立,以通過專用命令總線(操作碼)748和750接收命令??刂破饕步獯a接收到的命令。即,建立在HMM中的控制器通過控制操作碼總線748和750接收命令,解碼命令并控制觀察概率計算裝置500以執(zhí)行觀察概率計算。例如,數(shù)據(jù)可以通過兩個讀出總線742和744提供,并通過一個寫入總線746輸出。在PMEM720中可以通過EXIF724載入程序。
HMM728通過控制操作碼總線748和750從控制單元702接收控制命令。HMM728中的內(nèi)部控制器(未示出)解碼控制命令并控制觀察概率計算裝置500以執(zhí)行觀察概率計算。
圖8是說明在聲音識別裝置700中接收控制命令和數(shù)據(jù)的處理的結(jié)構(gòu)圖??刂茊卧?02可以直接解碼控制命令并控制組成模型以執(zhí)行在控制命令中指明的操作。選擇的,控制單元702通過操作碼總線0和1(操作碼總線748和750)傳遞控制命令到組成模型并間接控制每個組成模型的操作。組成模型共享操作碼總線1和2及讀出總線A和B。
例如,為了直接控制操作的執(zhí)行,控制單元702從PMEM720中取出控制命令,解碼控制命令,讀出對于在控制命令中指明的操作所必需的操作碼(操作的數(shù)據(jù)),并存儲讀出的數(shù)據(jù)到REG文件單元704。此后,如果指明的操作是控制邏輯操作,它在ALU706中執(zhí)行。如果指明的操作是相乘和累加,它在MAC單元708中執(zhí)行。如果指明的操作是桶形偏移操作,它在B移相器710中執(zhí)行。如果指明的操作是平方根抽取,其在SQRT抽取器714中執(zhí)行。指明的操作的結(jié)果被存儲在REG文件單元704中。
為了間接的控制操作的執(zhí)行,控制單元702可以使用操作碼總線0(748)和1(750)??刂茊卧?02連續(xù)的應(yīng)用從PMEM720中取出的控制命令到操作碼總線0(748)和1(750)并不解碼取出控制命令。
這個控制命令最開始應(yīng)用到操作碼總線0(748),然后再應(yīng)用到操作碼總線1(750),在控制命令的第一應(yīng)用之后時鐘周期循環(huán)。如果控制命令應(yīng)用到操作碼總線0(748),這個組成模型確定是否這個應(yīng)用的控制命令在那里指明的。如果組成模型接收到對應(yīng)那里的控制命令,該模型使用內(nèi)置的解碼器解碼這個控制命令并使用備用狀態(tài)用來執(zhí)行控制命令中設(shè)計的操作。如果控制命令也應(yīng)用到操作碼總線1(750)在應(yīng)用到操作碼總線0(748)后時鐘周期循環(huán),在第一時間執(zhí)行控制命令中指明的操作。分配RT和ET信號線(為了清楚在圖8中示出)以表示是否允許控制碼應(yīng)用到操作碼總線0(748)和1(750)。
圖9是一個說明在圖7的聲音識別裝置中接收控制命令和數(shù)據(jù)的過程的定時圖。參考圖9,頂端信號是時鐘信號CLK,跟隨其后的是應(yīng)用到操作碼總線0(操作碼748)的控制命令,應(yīng)用到操作碼總線1(操作碼750)的控制命令,RT信號,ET信號,應(yīng)用到讀出總線A的數(shù)據(jù)和應(yīng)用到讀出總線B的數(shù)據(jù)。
如果通過RT信號,控制命令應(yīng)用到操作碼總線0(748)和允許操作碼,總線0,圖7中的一個組成模型的識別和解碼該控制命令,進入備用狀態(tài)。此后,如果相同的控制命令應(yīng)用到操作碼總線1(操作碼總線750)和通過ET信號允許操作碼總線1(750),關(guān)心的組成模型執(zhí)行在控制命令中指明的操作。換句話說,關(guān)心的組成模型從讀出總線A和B接收數(shù)據(jù),執(zhí)行在控制命令中指明的操作,并通過寫入總線輸出操作的結(jié)果。
圖10是顯示在隱藏馬爾可夫模型算法的執(zhí)行過程中每一個功能中執(zhí)行的計算的圖表。參照圖10,隱藏馬爾可夫模型(HMM)算法使用多個計算功能來執(zhí)行。gauss-outP(高斯)功能需要最大數(shù)量的計算。因此依據(jù)本發(fā)明的優(yōu)選實施例的硬件裝置可以構(gòu)造來處理gauss-outP(高斯)功能,這樣可以提高處理的速度。
現(xiàn)在參照方程8,gauss-outP算法包括減法,平方,乘法和這些操作的組合。于是對于處理gaus8-outP算法的通用處理器,需要實際上大量的時間。
圖11說明方程8的第一表達式(y)的算法。圖11的算法用C語言表示,執(zhí)行從x中減去平均值,減的結(jié)果被平方,var乘以平方的結(jié)果的計算。這個計算可以重復(fù)13次,例如,每次重復(fù)的結(jié)果可以被累加。在圖11中,x表示在方程8的第一表達式中示出的Feature。
方程8的第二表達式(dbx)加上加權(quán)值Gconst到第一表達式的結(jié)果中。然而由于加權(quán)值最初是負(fù)值,dbx計算導(dǎo)致了從第一表達式的結(jié)果(y)的凈減法。
方程8的第三表達式(o-prob[m])表示一個操作,其中執(zhí)行第二表達式給定次數(shù),第二表達式給定次數(shù)的迭代之后得到的dbx值與每一個其它的dbx值相比較以確定三個最大dbx值。
圖12是依據(jù)本發(fā)明的另一個優(yōu)選實施例的觀察概率計算裝置的結(jié)構(gòu)圖。參照圖12,觀察概率計算裝置1200包括第一到第三操作單元1210,1220,1230和比較器1240。
第一操作單元1210從一個參數(shù)(Feature)中減去值(Mean)并用精確值(分布度,方差)乘相減的結(jié)果。因此第一操作單元1210可以包括減法器和乘法器(未示出)。
這里,參數(shù)Feature表示用于從輸入語音信號中抽取的音素的能量和對數(shù)倒頻譜。值Mean表示從代表性的音素中抽取的Feature參數(shù)的平均值,分布度Precision是值Mean的方差值。
應(yīng)用到第一操作單元1200的Feature參數(shù)和值Mean由m位組成。為了得到Feature值和Mean值之間的真實距離,用Precision乘以Feature和Mean相減的結(jié)果。第一操作單元1210的輸出不直接應(yīng)用到第二操作單元1220,而是存儲在第一操作電阻1250中,然后與時鐘信號同步應(yīng)用到第二操作單元1220。因此,第一操作單元1210輸出到第二操作單元1220的延時應(yīng)用可以防止時鐘信號的周期循環(huán)被與在執(zhí)行第一和第二操作單元1210和1220中的操作所需要的時間相等的時間所限制。時鐘信號的周期循環(huán)限制是由于第一操作單元1210的輸出直接應(yīng)用到第二操作單元1220。
第二操作單元1220平方第一操作單元的輸出并累加N次平方結(jié)果,其可以連續(xù)的輸出。因此第二操作單元1220包括平方器和累加器(未示出)。
第二操作單元1220的輸出不直接應(yīng)用到第三操作單元1230,而是存儲在第二操作電阻1255中,然后與時鐘信號同步應(yīng)用到第三操作單元1230。第二操作寄存器1255反饋N平方結(jié)果,其可以一個接一個的輸出,到第二操作單元1220。用這種方法,N次累加可以實施,例如,N=13。
第一和第二操作單元1210和1220執(zhí)行方程8的第一表達式(y)的計算,方程8是用于隱藏馬爾可夫模型(HMM)算法的觀察概率計算。在方程8的第一表達式中,i表示音素的代表性的類型,j表示參數(shù)(Feature)的數(shù)量,var表示分布度的一半(即,Precision/2)。
在方程8的第一表達式中,F(xiàn)eature和Mean之間的差值被平方,平方的差乘以var。然而,為了提高操作速度,第一和第二操作單元1210和1220用Precision乘以Feature和Mean之間的差值,并平方這個差值。
因此,第一操作單元1210接收到的分布度(Precision)是 在這種情況下,盡管第二操作單元1220執(zhí)行平方操作,這個結(jié)果與方程8的第一表達式的相同。因此,從第二操作單元1220的輸出得到計算∑(在方程8的第一表達式中表示)的結(jié)果。
觀察概率計算裝置1200不需要參數(shù)和/或值Feature、Mean、Precision和Gconst存儲在外部存儲裝置(未示出)并回叫計算。觀察概率計算裝置1200可以包括寄存器1275、1280、1285和1290分別用來存儲Feature、Mean、Precision和Gconst。這樣可以提高計算速度。
第三操作單元1230從第二操作單元1220的輸出中減去Gconst。因此,第三操作單元1230可以包括減法器(未示出)。第三操作單元1230執(zhí)行方程8的第二表達式(dbx)的計算。最初,Gconst是負(fù)值,但正Gconst存儲在寄存器1290中以至于第三操作單元1230的減法器可以執(zhí)行方程8的第二表達式。第三操作單元1230的輸出是從輸入語音信號中抽取的Mean和Feature之間的概率距離。第三操作單元的輸出不直接應(yīng)用到比較器1240,而是存儲在第三操作寄存器1260中,與時鐘信號同步應(yīng)用到比較器1240。
比較器1240存儲第三操作單元1230的輸出,依據(jù)抽取的L輸出的大小順序從第三操作單元的多個輸出中抽取L輸出,并存儲抽取的L輸出。比較器1240執(zhí)行方程8的第三表達式(o-prob[m])計算,盡管可以抽取許多L輸出,例如,L可以設(shè)置為三(3)。
比較器1240可以包括第一到第L的寄存器MAX1,MAX2和MAX3,它們以大小順序存儲第三輸出單元1230的L輸出。比較器1240也可以包括第一到第L的變址寄存器IND1,IND2和IND3,例如,它們輸出產(chǎn)生的順序存儲第三輸出單元的L輸出。
最初可以為從第三操作單元1230輸出的最小值設(shè)置寄存器MAX1,MAX2和MAX3。例如,第三操作單元1230的輸出(最初輸入到比較器1240中)可以與存儲在第二寄存器MAX2中的值相比較。
如果第三操作單元1230的輸出大于存儲在第二寄存器MAX2中的值,則輸出與存儲在第一寄存器MAX1中的值相比較。如果第三操作單元1230的輸出大于存儲在第一寄存器MAX1中的值,則輸出存儲在第一寄存器MAX1中。最初存儲在第一寄存器MAX1中的值可以被存儲在第二寄存器MAX2中,最初存放在第二寄存器MAX2中的值可以被存儲在第三寄存器MAX3中。換句話說,根據(jù)與從第三操作單元1230的輸出比較,存儲值可以在MAX1,MAX2和MAX3之間移動。
第三操作單元1230的下一個(或新的)輸出被輸入到比較器1240并與存儲在第二寄存器MAX2中的值相比較。如果新的輸出大于存儲在第二寄存器MAX2中的值,新的輸出與存儲在第一寄存器MAX1中的值相比較。相似的,如果新的輸出大于存儲在第一寄存器MAX1中的值,新的輸出存儲在第一寄存器MAX1中。于是第三操作單元1230(存儲在第一寄存器MAX1中)的前一輸出存儲在第二寄存器MAX2中,存儲在第二寄存器MAX2中的值被存儲在第三寄存器MAX3中,如上所述。
通過重復(fù)這個過程,第三操作單元1230的輸出可以以大小的順序存儲在第一到第三寄存器MAX1,MAX2和MAX3中。第三操作單元1230的輸出產(chǎn)生的順序可以存儲在第一到第三變址寄存器(IND1,IND2和IND3)中。因此,通過包括第三操作單元1230和比較器1240在觀察概率計算裝置中,從語音信號中抽取的倒頻譜和delta倒頻譜的概率值可以幾乎在概率值計算出來之后立即被比較和選擇。
根據(jù)本發(fā)明的觀察概率計算裝置1200可以允許簡化計算的數(shù)量以以求提高操作速度。使用隱藏馬爾可夫模型(HMM)算法查找最大dbx值的操作(即,方程8的第三表達式(in))通常需要大量的計算。
例如,如果方程8的第二表達式產(chǎn)生100dbx值,dbx值必須從外部存儲器中迭代100次,并為了尋找三個最大dbx值,必須執(zhí)行至少100次減法。然而,依據(jù)本發(fā)明的優(yōu)選實施例,第三操作單元1230和比較器1240的減法和比較與觀察概率計算同時執(zhí)行。這樣,不必要的周期循環(huán)可以減少和/或盡可能的排除。
總而言之,得到100dbx值大約需要1500匯編指令,大約需要1900指令執(zhí)行減法操作以及比較和選擇操作。由于聲音識別裝置應(yīng)該使用實時處理產(chǎn)生結(jié)果,處理速度很重要。依據(jù)本發(fā)明的優(yōu)選實施例,第三操作單元1230和比較器1240能夠執(zhí)行減法以及選擇和比較操作以求大量的減少不必要的操作的數(shù)量。因此,適合實時處理的執(zhí)行速度就有可能。
另外,可以降低功率消耗。在使用電池的移動產(chǎn)品中,電池的耐久性很重要。電池的耐久性與操作時間有關(guān)。因為操作時間延長,功率連續(xù)的被不必要的操作消耗。例如,由于時鐘信號被輸入到所有操作裝置,該時鐘信號必須被應(yīng)用到所有的操作裝置直到必要的操作完成。因此,本發(fā)明的優(yōu)選實施例可以允許減少計算的數(shù)量以求降低功率消耗。
進一步的,可以減少使用的存儲器的數(shù)量。在不包括比較器1240的情況下,所有的100dbx值必須存儲在存儲器中。需要3200位存儲器來存儲100個32位數(shù)據(jù)。因為包括聲音識別裝置的芯片內(nèi)存的容量的限制,代表性的存儲器必須表面上依附于集成電路。
新存儲器的安裝可以嚴(yán)重影響聲音識別裝置的功率消耗和處理速度。設(shè)計依據(jù)本發(fā)明的觀察概率計算裝置使得在觀察概率計算后一個周期循環(huán)中,三個最大概率值被存儲在寄存器MAX1,MAX2和MAX3中。
此外,聲音識別裝置的大小不能大大增加。比較器1240具有1627門電路,其甚至還占不到聲音識別裝置使用的19300門電路的10%。然而,如果包括新存儲器,新存儲器可以占用聲音識別裝置的整個區(qū)域的很大部分。因此,依據(jù)本發(fā)明的優(yōu)選實施例的聲音識別系統(tǒng)沒有充分的增大,甚至當(dāng)采用這里所描述的觀察概率計算裝置。
當(dāng)參照這里的優(yōu)選實施例,本發(fā)明已經(jīng)特別描述和顯示,對于本領(lǐng)域的技術(shù)人員可以理解其中作出的本發(fā)明的形式和細(xì)節(jié)的變化都不背離本發(fā)明的精神和范圍,正如以下的權(quán)利要求所定義的。
優(yōu)先權(quán)本申請要求在韓國知識產(chǎn)權(quán)局于2002年6月28日申請的韓國專利申請?zhí)朜o.2002-37052和于2003年2月28日申請的韓國專利申請?zhí)朜o.2003-12810的優(yōu)先權(quán),每個申請所公開的內(nèi)容結(jié)合起來作為參考。
權(quán)利要求
1.一種觀察概率計算裝置,包括第一操作單元,從輸入語音信號中抽取的參數(shù)中減去從代表性的音素中抽取的參數(shù)的平均值,并用平均值的分布度(方差)乘以該相減的結(jié)果以得到第一輸出,其中,分布度(方差)稱作Precision;第二操作單元,平方第一操作單元的第一輸出并將平方的結(jié)果累加N次以得到第二輸出;第三操作單元,從第二操作單元的第二輸出中減去預(yù)定的加權(quán)值以得到第三輸出;和比較器,存儲第三操作單元的第三輸出,從第三操作單元的輸出中抽取L輸出,并以大小順序存儲該抽取的L輸出。
2.如權(quán)利要求1所述的裝置,其中,比較器包括第一到第L寄存器,按照大小順序存儲該抽取的L輸出;和第一到第L變址寄存器,存儲在第一到第L寄存器中的抽取的L輸出產(chǎn)生的順序。
3.如權(quán)利要求2所述的裝置,其中,L為3。
4.如權(quán)利要求1所述的裝置,進一步包括第一操作寄存器,存儲第一輸出并輸出存儲的第一輸出到第二操作單元;第二操作寄存器,存儲第二輸出并輸出存儲的第二輸出到第三操作單元;和第三操作寄存器,存儲第三輸出并輸出存儲的第三輸出到比較器。
5.如權(quán)利要求1所述的裝置,進一步包括多個寄存器,存儲參數(shù)、平均值、分布度和加權(quán)值。
6.如權(quán)利要求1所述的裝置,其中第一和第二操作單元在隱藏馬爾可夫模型算法中執(zhí)行觀察概率計算(y)依據(jù)y=Σi=01Σj=012var[i][j](Feature[i][j]-Mean[i][j])2]]>其中,i是表示音素的類型的系數(shù),j表示參數(shù)的數(shù)量,var表示平均值的分布度。
7.如權(quán)利要求6所述的裝置,其中分布度是
8.如權(quán)利要求1所述的裝置,其中第三輸出是從輸入語音信號中抽取的平均值和參數(shù)之間的概率距離。
9.如權(quán)利要求1所述的裝置,其中從輸入語音信號中抽取的參數(shù)由m位組成,平均值由m位組成。
10.如權(quán)利要求1所述的裝置,其中N是13。
11.一種計算觀察概率的方法,包括從輸入語音信號中抽取的第二參數(shù)中減去輸入語音信號的第一多個參數(shù)的平均值以得到結(jié)果;乘以該結(jié)果以得到第一輸出;平方該第一輸出;和累加該被平方的第一輸出以得到觀察概率值。
12.如權(quán)利要求11所述的方法,其中乘包括用分布度乘以該結(jié)果以得到第一輸出。
13.如權(quán)利要求11所述的方法,其中第一多個參數(shù)是來自輸入語音信號的代表性的音素。
14.如權(quán)利要求12所述的方法,進一步包括從觀察概率值中減去給定的加權(quán)值以得到第三輸出,其中第三輸出的值與觀察概率值成反比例。
15.如權(quán)利要求14所述的方法,其中第三輸出是平均值和抽取的第二參數(shù)之間的概率差值,和當(dāng)概率差值的減少時,觀察概率值增加。
16.如權(quán)利要求14所述的方法,進一步包括從第三輸出中抽取L輸出;和選擇具有最高大小順序的L輸出作為修改的觀察概率值。
17.如權(quán)利要求16所述的方法,其中修改的觀察概率值是音節(jié)序列被識別為輸入語音信號的最大概率。
18.如權(quán)利要求11所述的方法,其中觀察概率值是概率的累加,每個概率表示音節(jié)序列。
19.一種識別語音信號的方法,包括從輸入語音信號中抽取的第二參數(shù)中減去輸入語音信號的第一多個參數(shù)的平均值以得到結(jié)果;乘以該結(jié)果以得到第一輸出;平方該第一輸出;累加該被平方的第一輸出以得到第二輸出;從第二輸出中減去給定的加權(quán)值以得到第三輸出;從第三輸出中抽取L輸出;和選擇具有最高大小順序的L輸出,該選擇的L輸出對應(yīng)識別出的語音信號。
20.一種聲音識別裝置,依據(jù)權(quán)利要求19所述的方法識別語音信號。
21.一種聲音識別裝置,包括權(quán)利要求1所述的觀察概率計算裝置。
22.一種觀察概率計算裝置,依據(jù)權(quán)利要求11所述的方法計算觀察概率值。
全文摘要
一種用于計算觀察概率的方法和裝置,包括第一操作單元,其從輸入語音信號中的第二參數(shù)中減去輸入語音信號的第一多個參數(shù)的平均值,并乘該相減的結(jié)果以得到第一輸出,在第二操作單元,第一輸出被平方并累加N次以得到第二輸出。第三操作單元從第二輸出中減去給定的加權(quán)值以得到第三輸出;和比較器,為了從其中抽取L輸出,比較器存儲第三輸出,并根據(jù)抽取的L輸出的大小順序存儲抽取的L輸出。
文檔編號G10L15/28GK1487433SQ03154618
公開日2004年4月7日 申請日期2003年6月28日 優(yōu)先權(quán)日2002年6月28日
發(fā)明者閔丙昊, 金泰洙, 樸賢宇, 張虎郎, 洪根哲, 金性在 申請人:三星電子株式會社