專利名稱:一種代數(shù)碼本的搜索方法、裝置及語音編碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于語音編碼領(lǐng)域,尤其涉及語音編碼中代數(shù)碼本的搜索方法、裝置以及語音編碼器。
背景技術(shù):
語音編碼是壓縮語音信號的數(shù)字表示而使表達這些信號所需的比特需求最小的算法,目前主要分為波形編碼、參數(shù)編碼和混合編碼三類。波形編碼具有適應(yīng)能力強、話音質(zhì)量高等優(yōu)點,但所需要的比特率較高。參數(shù)編碼的比特率一般很低,但其編碼質(zhì)量較差,合成出的語音自然度較低。混合編碼克服了波形編碼和參數(shù)編碼的缺點,同時又結(jié)合了兩者的長處,在4-16kb/s速率上可以得到高質(zhì)量的合成語音。代數(shù)碼激勵線性預(yù)測(Algebraic Code-excited LinearPrediction,ACELP)語音編碼作為一種混合語音編碼方法,在國際電信聯(lián)盟(International Telecommunications Union,ITU)的許多語音編碼標準如G.722.2、G.723.1、G.729等中得到了應(yīng)用。
隨機激勵信號是碼激勵線性預(yù)測(Code-excited Linear Prediction,CELP)語音編碼模型的一個主要組成部分。ACELP語音編碼算法采用一個包含若干非零脈沖的隨機碼矢量來描述隨機激勵信號。非零脈沖的幅度只能是+1或-1,其位置由代數(shù)碼本進行描述。代數(shù)碼本中存放的是隨機激勵矢量非零脈沖可能出現(xiàn)的位置。當編碼速率小于8kb/s時,ACELP語音編碼算法通常采用代數(shù)多子碼本結(jié)構(gòu),每個子碼本的不同之處在于碼本中非零脈沖可能出現(xiàn)的位置不同。綜合權(quán)衡比特數(shù)與編碼質(zhì)量,每個代數(shù)子碼本通常包含4個軌道,每個軌道存放某一個或幾個非零脈沖可能出現(xiàn)的位置。一個子碼本的具體形式如下表所示,其中,每個子碼本都有2種模式,占用1個比特,每個子碼本包含4個軌道,即表中m0、m1、m2、m3可能出現(xiàn)的位置,在低速率條件下,每個軌道一般占用3-4比特,即有8或16個候選位置。
在大多數(shù)ACELP語音編碼算法中,代數(shù)碼本多采用全搜索算法,即遍歷4個軌道中所有的位置組合,使得通過隨機碼矢量所合成的語音質(zhì)量最高。如圖1所示,在編碼中,由基音周期選擇某一個子碼本,每個碼本包含4個軌道,循環(huán)控制4個軌道中四個脈沖的位置,將四個脈沖相加后得到隨機激勵矢量,將隨機激勵矢量輸入到感覺加權(quán)濾波器得到感覺加權(quán)的合成語音信號,根據(jù)使殘差目標矢量與合成語音信號的加權(quán)誤差最小的原則選取四個脈沖位置,即使下式e最大可求得四個脈沖位置,至此得到由基音周期選擇的某個代數(shù)子碼本索引im
式中,r(i),i=0,1,…,Nc-1為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,殘差目標矢量x′0為加權(quán)輸入語音減去感覺加權(quán)合成濾波器的零輸入響應(yīng)與自適應(yīng)碼本貢獻后的矢量,_(i,j),i,j=0,1,…,Nc-1為h(n)的協(xié)方差矩陣;Nc為隨機激勵矢量中非零脈沖的個數(shù);mi為非零脈沖可能出現(xiàn)的位置;si,脈沖幅度,這里只能為+1或-1。
感覺加權(quán)合成濾波器的表達式如下 其中,αi為線性預(yù)測系數(shù)、γ為展寬因子,通常為0.8~0.9之間,p為濾波器階數(shù)。
由于代數(shù)碼本全搜索的時間復(fù)雜度與代數(shù)碼本所占用的比特數(shù)成指數(shù)關(guān)系,當代數(shù)碼本所占用的比特數(shù)增加時,代數(shù)碼本全搜索算法的復(fù)雜度會迅速增加并導(dǎo)致語音編碼算法難以實時實現(xiàn),從而影響算法的應(yīng)用價值。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種代數(shù)碼本的搜索方法,旨在解決現(xiàn)有技術(shù)中存在的代數(shù)碼本全搜索的時間復(fù)雜度較高,當代數(shù)碼本所占用的比特數(shù)增加時,導(dǎo)致語音編碼算法難以實時實現(xiàn),從而影響算法的應(yīng)用價值的問題。
本發(fā)明的另一目的在于提供一種代數(shù)碼本的搜索裝置。
本發(fā)明的另一目的在于提供一種語音編碼器。
本發(fā)明是這樣實現(xiàn)的,一種代數(shù)碼本的搜索方法,其中,每個代數(shù)碼本包含多個子碼本,每個子碼本包含多個軌道,每個軌道存放一個或者多個非零脈沖可能出現(xiàn)的位置,所述方法包括 A.將每個子碼本所包含的多個軌道分解為多條路徑,所述多條路徑組成待搜索路徑組,每條路徑包含多個非零脈沖可能出現(xiàn)的位置; B.根據(jù)非零脈沖在路徑中的軌道位置確定所述待搜索路徑組中各條路徑的最優(yōu)索引; C.從所述待搜索路徑組中選取固定路徑和至少一條動態(tài)路徑,對所有固定路徑和動態(tài)路徑組合循環(huán)搜索,獲取動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引,并將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引。
所述路徑的最優(yōu)索引為滿足以下條件的路徑索引 其中,Ix為路徑x的最優(yōu)索引,p(j)為對應(yīng)于索引j的軌道位置,r′(n)為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,sx為路徑x的非零脈沖幅度,為+1或者-1。
所述動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引為在對所有固定路徑和動態(tài)路徑組合進行循環(huán)搜索過程中,使下式e最大的代數(shù)碼本索引im
其中,r′(i),i=0,1,…,Nc-1為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,_(i,j),i,j=0,1,…,Nc-1為h(n)的協(xié)方差矩陣,Nc為隨機激勵矢量中非零脈沖的個數(shù),mi為動態(tài)路徑中非零脈沖可能出現(xiàn)的位置,si為脈沖幅度。
在對軌道進行分解時,根據(jù)軌道長度將一個軌道分解為一條或者兩條路徑。
當一個軌道分解為兩條路徑時,所述軌道中的偶數(shù)項位置為一條路徑,奇數(shù)項位置為一條路徑。
在將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引時,當一個軌道只含有1條路徑時,路徑索引即為軌道索引; 當一個軌道含有2條路徑時,由下式將路徑索引轉(zhuǎn)換為軌道索引
其中,ci為軌道i的索引,Ii為路徑i的索引,a路徑為軌道的偶數(shù)項,b路徑為軌道的奇數(shù)項。
一種代數(shù)碼本的搜索裝置,其中,每個代數(shù)碼本包含多個子碼本,每個子碼本包含多個軌道,每個軌道存放一個或者多個非零脈沖可能出現(xiàn)的位置,所述裝置包括 軌道路徑分解模塊,用于將每個子碼本所包含的多個軌道分解為多條路徑,所述多條路徑組成待搜索路徑組,每條路徑包含多個非零脈沖可能出現(xiàn)的位置; 最優(yōu)索引搜索模塊,用于根據(jù)非零脈沖在路徑中的軌道位置確定所述待搜索路徑組中各條路徑的最優(yōu)索引;以及 路徑循環(huán)搜索模塊,用于從所述待搜索路徑組中選取固定路徑和至少一條動態(tài)路徑,對所有固定路徑和動態(tài)路徑組合循環(huán)搜索,獲取動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引,并將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引。
所述路徑的最優(yōu)索引為滿足以下條件的路徑索引 其中,Ix為路徑x的最優(yōu)索引,p(j)為對應(yīng)于索引j的軌道位置,r′(n)為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,sx為路徑x的非零脈沖幅度,為+1或者-1。
所述動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引為在對所有固定路徑和動態(tài)路徑組合進行循環(huán)搜索過程中,使下式e最大的代數(shù)碼本索引im:
其中,r′(i),i=0,1,…,Nc-1為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,_(i,j)i,j=0,1,…,Nc-1為h(n)的協(xié)方差矩陣,Nc為隨機激勵矢量中非零脈沖的個數(shù),mi為動態(tài)路徑中非零脈沖可能出現(xiàn)的位置,si為脈沖幅度。
在對軌道進行分解時,根據(jù)軌道長度將一個軌道分解為一條或者兩條路徑。
當一個軌道分解為兩條路徑時,所述軌道中的偶數(shù)項位置為一條路徑,奇數(shù)項位置為一條路徑。
在將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引時,當一個軌道只含有1條路徑時,路徑索引即為軌道索引; 當一個軌道含有2條路徑時,由下式將路徑索引轉(zhuǎn)換為軌道索引
其中,ci軌道i的索引,Ii為路徑i的索引,a路徑為軌道的偶數(shù)項,b路徑為軌道的奇數(shù)項。
一種語音編碼器,包括 碼本搜索裝置,用于搜索碼本中使殘差目標矢量與合成語音信號的加權(quán)誤差最小的脈沖位置; 第一加法器,用于將根據(jù)碼本搜索裝置搜索的非零脈沖的位置對應(yīng)的脈沖相加,輸出隨機激勵矢量; 感覺加權(quán)合成濾波器,用于將所述隨機激勵矢量進行感覺加權(quán)合成處理,輸出感覺加權(quán)的合成語音信號;以及 第二加法器,用于將殘差目標矢量與合成語音信號相減,輸出加權(quán)誤差信號; 其中,每個代數(shù)碼本包含多個子碼本,每個子碼本包含多個軌道,每個軌道存放一個或者多個非零脈沖可能出現(xiàn)的位置; 其特征在于,所述碼本搜索裝置包括 軌道路徑分解模塊,用于將每個子碼本所包含的多個軌道分解為多條路徑,所述多條路徑組成待搜索路徑組,每條路徑包含多個非零脈沖可能出現(xiàn)的位置; 最優(yōu)索引搜索模塊,用于根據(jù)非零脈沖在路徑中的軌道位置確定所述待搜索路徑組中各條路徑的最優(yōu)索引;以及 路徑循環(huán)搜索模塊,用于從所述待搜索路徑組中選取固定路徑和至少一條動態(tài)路徑,對所有固定路徑和動態(tài)路徑組合循環(huán)搜索,獲取動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引,并將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引。
所述路徑的最優(yōu)索引為滿足以下條件的路徑索引 其中,Ix為路徑x的最優(yōu)索引,p(j)為對應(yīng)于索引j的軌道位置,r′(n)為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,sx為路徑x的非零脈沖幅度。
所述動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引為在對所有固定路徑和動態(tài)路徑組合進行循環(huán)搜索過程中,使下式e最大的代數(shù)碼本索引im
其中,r′(i),i=0,1,…,Nc-1為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,_(i,j),i,j=0,1,…,Nc-1為h(n)的協(xié)方差矩陣,Nc為隨機激勵矢量中非零脈沖的個數(shù),mi為動態(tài)路徑中非零脈沖可能出現(xiàn)的位置,si為脈沖幅度。
在對軌道進行分解時,根據(jù)軌道長度將一個軌道分解為一條或者兩條路徑。
當一個軌道分解為兩條路徑時,所述軌道中的偶數(shù)項位置為一條路徑,奇數(shù)項位置為一條路徑。
在將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引時,當一個軌道只含有1條路徑時,路徑索引即為軌道索引; 當一個軌道含有2條路徑時,由下式將路徑索引轉(zhuǎn)換為軌道索引
其中,ci為軌道i的索引,Ii為路徑i的索引,a路徑為軌道的偶數(shù)項,b路徑為軌道的奇數(shù)項。
本發(fā)明將代數(shù)子碼本的軌道分解為多個路徑,通過固定路徑和動態(tài)路徑組合搜索最終的碼本索引,在保證編碼質(zhì)量的同時,有效地降低了碼本搜索的實現(xiàn)復(fù)雜度,提高了編碼算法的應(yīng)用價值。
圖1是現(xiàn)有技術(shù)中提供的語音編碼中碼本搜索的實現(xiàn)原理圖; 圖2是本發(fā)明提供的語音編碼中碼本搜索的實現(xiàn)原理圖; 圖3是本發(fā)明提供的語音編碼器中碼本搜索裝置的結(jié)構(gòu)圖。
具體實施例方式 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明將代數(shù)子碼本軌道分解為多個路徑,通過固定路徑和動態(tài)路徑組合搜索最終的碼本索引,在保證編碼質(zhì)量的同時,有效地降低了碼本搜索的實現(xiàn)復(fù)雜度。
在語音編碼中,輸入語音信號經(jīng)過預(yù)處理和線性預(yù)測分析得到感覺加權(quán)合成濾波器和目標矢量x0,對x0進行自適應(yīng)碼本搜索后可得到殘差目標矢量X′0 x′0(n)=X0(n)-gaxu(n) 式中,ga為自適應(yīng)碼本增益,x0(n)為加權(quán)輸入語音減去感覺加權(quán)合成濾波器零輸入響應(yīng)后的信號,xu(n)為自適應(yīng)碼本作用于感覺加權(quán)合成濾波器的零狀態(tài)響應(yīng)。代數(shù)碼本分為多個子碼本,子碼本的選擇由每子幀的基音周期決定,無需傳送附加信息。根據(jù)實驗結(jié)果,在4kb/s ACELP語音編碼算法中,子碼本個數(shù)通常為3。
如圖2所示,在本發(fā)明中,語音編碼時首先通過基音周期從3個子碼本中選取一個作為待搜索碼本。為了提高搜索精度,本發(fā)明將碼本中的4個軌道分解為若干條路徑,每條路徑包含8個非零脈沖可能出現(xiàn)的位置。軌道分解的路徑數(shù)目越多,算法的復(fù)雜度越高,作為本發(fā)明的一個實施例,當軌道中的非零脈沖位置由3個比特表示(軌道長度為8)時,一個軌道就是一條路徑。當軌道中的非零脈沖位置由4個比特表示(軌道長度為16)時,將一個軌道分解為2條路徑。作為本發(fā)明的一個優(yōu)選實施例,路徑的具體分解方法為軌道i的a路徑為軌道i的偶數(shù)項,軌道i的b路徑為軌道i的奇數(shù)項。例如當每個軌道所分配的比特數(shù)分別為3、4、4、4(即軌道長度分別為8、16、16、16)時,將該4個軌道分解為路徑0、路徑1a、路徑1b、路徑2a、路徑2b、路徑3a和路徑3b共7條路徑,所有這些路徑的集合組成待搜索路徑組。這種路徑分解方法可以使得每條路徑都具有良好的軌道覆蓋效果,當然,也可以有其他分解方法,例如將軌道中的前8個位置和后8個位置分別劃分為一條路徑,但是由于每條路徑不能全部覆蓋整個軌道,影響編碼質(zhì)量。
在待搜索路徑組確定后,分別對各路徑進行預(yù)搜索,找到各路徑的最優(yōu)索引,路徑的最優(yōu)索引就是滿足下式的Ix 式中,Ix為路徑x的最優(yōu)索引;p(j)為對應(yīng)于索引j的軌道位置;r′(n)為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積;sx為路徑x的非零脈沖幅度,為+1或者-1。
最終的碼本搜索在各路徑的最優(yōu)索引確定之后進行。碼本搜索通過循環(huán)控制完成。作為本發(fā)明的一個實施例,每次循環(huán)時,從待搜索路徑組中選擇3條固定路徑和1條動態(tài)路徑,若某2條路徑屬于同一軌道,則只能選其中1條。
在實現(xiàn)時,算法的復(fù)雜度會隨著動態(tài)路徑的增多而快速增加,但是編碼質(zhì)量不會有明顯的改善,因此從待搜索路徑組中選取的動態(tài)路徑的數(shù)目不能太多。
在搜索時,固定路徑的路徑索引使用預(yù)搜索得到的各路徑最優(yōu)索引,在搜索過程中,固定路徑的索引是固定的。對于3條固定路徑(設(shè)其最優(yōu)索引分別為Ia、Ib、Ic),使用其最優(yōu)索引計算殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積r′(i)和h(n)的協(xié)方差矩陣_′(ij)
i=0,1,…,N-1;j=i,…,N-1 其中,N為子幀長,h(n)為感覺加權(quán)合成濾波器的沖激響應(yīng),其中i,j∈{Ia,Ib,Ic}。
對于動態(tài)路徑,遍歷其每個可選位置計算r′(i)和_′(i,j),并找到使下式e最大的代數(shù)碼本索引im:
式中,r(i),i=0,1,…,Nc-1為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積;_(i,j),i,j=0,1,…,Nc-1為h(n)的協(xié)方差矩陣;Nc為隨機激勵矢量中非零脈沖的個數(shù);mi為非零脈沖可能出現(xiàn)的位置;si為脈沖幅度,這里只能為+1或-1。若該最大值emax大于前面路徑循環(huán)搜索中所出現(xiàn)過的最大值Emax,則用emax代替Emax,并記錄{Ia,Ib,Ic,im}。在對所有可能的固定路徑和動態(tài)路徑組合進行搜索之后,將最后記錄的路徑索引{Ia,Ib,Ic,im}轉(zhuǎn)換為軌道索引{c0,c1,c2,c3},即完成了固定碼本的搜索。在轉(zhuǎn)換時,當某個軌道只含有1條路徑時,路徑索引即為軌道索引。當某個軌道只含有2條路徑時,由下式將路徑索引轉(zhuǎn)換為軌道索引
式中,ci為軌道i的索引;Ii為路徑i的索引。
固定碼本搜索完成后,將搜索出的四個脈沖相加后得到隨機激勵矢量,將隨機激勵矢量輸入到感覺加權(quán)濾波器得到感覺加權(quán)的合成語音信號,根據(jù)使殘差目標矢量與合成語音信號的加權(quán)誤差最小的原則選取四個脈沖位置,即使下式e最大可求得四個脈沖位置,至此得到由基音周期選擇的某個代數(shù)子碼本索引i
式中,r(i),i=0,1,…,Nc-1為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,殘差目標矢量x′0為加權(quán)輸入語音減去感覺加權(quán)合成濾波器的零輸入響應(yīng)與自適應(yīng)碼本貢獻后的矢量,_(i,j),i,j=0,1,…,Nc-1為h(n)的協(xié)方差矩陣;Nc為隨機激勵矢量中非零脈沖的個數(shù);mi為非零脈沖可能出現(xiàn)的位置;si為脈沖幅度,為+1或-1。
圖3示出了本發(fā)明提供的語音編碼器中碼本搜索裝置的結(jié)構(gòu),通過碼本搜索裝置12搜索碼本中使殘差目標矢量與合成語音信號的加權(quán)誤差最小的脈沖位置,其中 軌道路徑分解模塊122將每個子碼本所包含的多個軌道分解為多條路徑,該多條路徑組成待搜索路徑組,每條路徑包含多個非零脈沖可能出現(xiàn)的位置,最優(yōu)索引搜索模塊124根據(jù)非零脈沖在路徑中的軌道位置確定待搜索路徑組中各條路徑的最優(yōu)索引,路徑循環(huán)搜索模塊126從待搜索路徑組中選取固定路徑和至少一條動態(tài)路徑,對所有固定路徑和動態(tài)路徑組合循環(huán)搜索,獲取動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引,并將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引。軌道路徑分解、路徑最優(yōu)索引的判斷搜索以及軌道索引轉(zhuǎn)換等具體實現(xiàn)如上所述,不再贅述。
加法器14將根據(jù)碼本搜索裝置12搜索的非零脈沖的位置對應(yīng)的脈沖相加,輸出隨機激勵矢量。感覺加權(quán)合成濾波器16將隨機激勵矢量進行感覺加權(quán)合成處理,輸出感覺加權(quán)的合成語音信號。加法器18將殘差目標矢量與合成語音信號相減,輸出加權(quán)誤差信號。
以本發(fā)明在4kb/s散布脈沖碼激勵線性預(yù)測(Dispersed-pulse Code-excitedLinear Prediction DP-CELP)語音編碼算法中的應(yīng)用為例,輸入語音為8kHz采樣的線性脈沖編碼調(diào)制(Pulse Code Modulation,PCM)信號,分析幀長為20毫秒,代數(shù)碼本分為4個軌道,每個軌道所占用的比特數(shù)分別為3、4、4、4,即軌道長度分別為8、16、16、16。代數(shù)碼本全搜索算法采用多重循環(huán)嵌套的方法,每子幀共需65536次循環(huán),代數(shù)碼本搜索部分的計算復(fù)雜度為85.2MOPS(Million Operations Per Second,每秒百萬次操作)。本發(fā)明避免了全搜索的多重嵌套循環(huán),在對代數(shù)碼本進行搜索時,每子幀僅需512次循環(huán)。由于循環(huán)體內(nèi)部與全搜索方法完全相同,因此,使用本發(fā)明后,代數(shù)數(shù)碼本搜索部分的計算復(fù)雜度僅為0.67MOPS,約為全搜索方法的1/128。
以下使用平均失真測度D檢驗本發(fā)明對編碼質(zhì)量的影響 其中,M為測試語句包含的子幀數(shù)。ei由下式給出 式中,上標(i)表示第i子幀的輸入?yún)?shù);N為子幀長度;x0(n)為感覺加權(quán)語音減去加權(quán)合成濾波器零輸入響應(yīng)后的剩余信號;xu′(n)、tj′(n)分別為自適應(yīng)碼本輸出的最佳矢量和代數(shù)碼本輸出的最佳隨機碼矢量通過感覺加權(quán)合成濾波器的零狀態(tài)響應(yīng);
為第i子幀量化的自適應(yīng)碼本增益;
為第i子幀量化后的固定碼本增益。
對大量語句作測試后的平均失真統(tǒng)計見下表。從表中可見,本發(fā)明的平均失真只比全搜索提高了0.4%,可以忽略不計。從這個角度看,本發(fā)明并未造成語音編碼質(zhì)量的任何下降。
為了進一步檢驗本發(fā)明的編碼性能,對全搜索算法和本發(fā)明進行語音質(zhì)量客觀評測,評測軟件為ITU-T的P.862客觀評測標準語音質(zhì)量的感知評價(Perceptual Evaluation of Speech Quality,PESQ)。漢語語音由16個句子組成,其中8句來自男性講話,另外8句來自女性講話。測試結(jié)果下表。從表中可以看出,本發(fā)明的平均意見分(Mean Opinion Score,MOS)僅比一般搜索算法降低了0.005,這在主觀上是感覺不到的,與上表所表現(xiàn)的實驗結(jié)果相一致。
綜合上述檢測結(jié)果可以看出,本發(fā)明幾乎不會對編碼語音質(zhì)量產(chǎn)生影響,其復(fù)雜度僅為全搜索算法的1/128。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種代數(shù)碼本的搜索方法,其中,每個代數(shù)碼本包含多個子碼本,每個子碼本包含多個軌道,每個軌道存放一個或者多個非零脈沖可能出現(xiàn)的位置,其特征在于,所述方法包括
A.將每個子碼本所包含的多個軌道分解為多條路徑,所述多條路徑組成待搜索路徑組,每條路徑包含多個非零脈沖可能出現(xiàn)的位置;
B.根據(jù)非零脈沖在路徑中的軌道位置確定所述待搜索路徑組中各條路徑的最優(yōu)索引;
C.從所述待搜索路徑組中選取固定路徑和至少一條動態(tài)路徑,對所有固定路徑和動態(tài)路徑組合循環(huán)搜索,獲取動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引,并將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引。
2.如權(quán)利要求1所述的代數(shù)碼本的搜索方法,其特征在于,所述路徑的最優(yōu)索引為滿足以下條件的路徑索引
其中,Ix為路徑x的最優(yōu)索引,p(j)為對應(yīng)于索引j的軌道位置,r′(n)為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,sx為路徑x的非零脈沖幅度,為+1或者-1。
3.如權(quán)利要求1所述的代數(shù)碼本的搜索方法,其特征在于,所述動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引為在對所有固定路徑和動態(tài)路徑組合進行循環(huán)搜索過程中,使下式e最大的代數(shù)碼本索引im
其中,r′(i),i=0,1,…,Nc-1為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,_(i,j),i,j=0,1,…,Nc-1為h(n)的協(xié)方差矩陣,Nc為隨機激勵矢量中非零脈沖的個數(shù),mi為動態(tài)路徑中非零脈沖可能出現(xiàn)的位置,si為脈沖幅度。
4.如權(quán)利要求1、2或3所述的代數(shù)碼本的搜索方法,其特征在于,在對軌道進行分解時,根據(jù)軌道長度將一個軌道分解為一條或者兩條路徑。
5.如權(quán)利要求4所述的代數(shù)碼本的搜索方法,其特征在于,當一個軌道分解為兩條路徑時,所述軌道中的偶數(shù)項位置為一條路徑,奇數(shù)項位置為一條路徑。
6.如權(quán)利要求5所述的代數(shù)碼本的搜索方法,其特征在于,在將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引時,當一個軌道只含有1條路徑時,路徑索引即為軌道索引;
當一個軌道含有2條路徑時,由下式將路徑索引轉(zhuǎn)換為軌道索引
其中,ci為軌道i的索引,Ii為路徑i的索引,a路徑為軌道的偶數(shù)項,b路徑為軌道的奇數(shù)項。
7.一種代數(shù)碼本的搜索裝置,其中,每個代數(shù)碼本包含多個子碼本,每個子碼本包含多個軌道,每個軌道存放一個或者多個非零脈沖可能出現(xiàn)的位置,其特征在于,所述裝置包括
軌道路徑分解模塊,用于將每個子碼本所包含的多個軌道分解為多條路徑,所述多條路徑組成待搜索路徑組,每條路徑包含多個非零脈沖可能出現(xiàn)的位置;
最優(yōu)索引搜索模塊,用于根據(jù)非零脈沖在路徑中的軌道位置確定所述待搜索路徑組中各條路徑的最優(yōu)索引;以及
路徑循環(huán)搜索模塊,用于從所述待搜索路徑組中選取固定路徑和至少一條動態(tài)路徑,對所有固定路徑和動態(tài)路徑組合循環(huán)搜索,獲取動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引,并將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引。
8.如權(quán)利要求7所述的代數(shù)碼本的搜索裝置,其特征在于,所述路徑的最優(yōu)索引為滿足以下條件的路徑索引
其中,Ix為路徑x的最優(yōu)索引,p(j)為對應(yīng)于索引j的軌道位置,r′(n)為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,sx為路徑x的非零脈沖幅度,為+1或者-1。
9.如權(quán)利要求7所述的代數(shù)碼本的搜索裝置,其特征在于,所述動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引為在對所有固定路徑和動態(tài)路徑組合進行循環(huán)搜索過程中,使下式e最大的代數(shù)碼本索引im
其中,r′(i),i=0,1,…,Nc-1為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,_(i,j),i,j=0,1,…,Nc-1為h(n)的協(xié)方差矩陣,Nc為隨機激勵矢量中非零脈沖的個數(shù),mi為動態(tài)路徑中非零脈沖可能出現(xiàn)的位置,si為脈沖幅度。
10.如權(quán)利要求7、8或9所述的代數(shù)碼本的搜索裝置,其特征在于,在對軌道進行分解時,根據(jù)軌道長度將一個軌道分解為一條或者兩條路徑。
11.如權(quán)利要求10所述的代數(shù)碼本的搜索裝置,其特征在于,當一個軌道分解為兩條路徑時,所述軌道中的偶數(shù)項位置為一條路徑,奇數(shù)項位置為一條路徑。
12.如權(quán)利要求11所述的代數(shù)碼本的搜索裝置,其特征在于,在將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引時,當一個軌道只含有1條路徑時,路徑索引即為軌道索引;
當一個軌道含有2條路徑時,由下式將路徑索引轉(zhuǎn)換為軌道索引
其中,ci為軌道i的索引,Ii為路徑i的索引,a路徑為軌道的偶數(shù)項,b路徑為軌道的奇數(shù)項。
13.一種語音編碼器,包括
碼本搜索裝置,用于搜索碼本中使殘差目標矢量與合成語音信號的加權(quán)誤差最小的脈沖位置;
第一加法器,用于將根據(jù)碼本搜索裝置搜索的非零脈沖的位置對應(yīng)的脈沖相加,輸出隨機激勵矢量;
感覺加權(quán)合成濾波器,用于將所述隨機激勵矢量進行感覺加權(quán)合成處理,輸出感覺加權(quán)的合成語音信號;以及
第二加法器,用于將殘差目標矢量與合成語音信號相減,輸出加權(quán)誤差信號;
其中,每個代數(shù)碼本包含多個子碼本,每個子碼本包含多個軌道,每個軌道存放一個或者多個非零脈沖可能出現(xiàn)的位置;
其特征在于,所述碼本搜索裝置包括
軌道路徑分解模塊,用于將每個子碼本所包含的多個軌道分解為多條路徑,所述多條路徑組成待搜索路徑組,每條路徑包含多個非零脈沖可能出現(xiàn)的位置;
最優(yōu)索引搜索模塊,用于根據(jù)非零脈沖在路徑中的軌道位置確定所述待搜索路徑組中各條路徑的最優(yōu)索引;以及
路徑循環(huán)搜索模塊,用于從所述待搜索路徑組中選取固定路徑和至少一條動態(tài)路徑,對所有固定路徑和動態(tài)路徑組合循環(huán)搜索,獲取動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引,并將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引。
14.如權(quán)利要求13所述的語音編碼器,其特征在于,所述路徑的最優(yōu)索引為滿足以下條件的路徑索引
其中,Ix為路徑x的最優(yōu)索引,p(j)為對應(yīng)于索引j的軌道位置,r′(n)為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,sx為路徑x的非零脈沖幅度,為+1或者-1。
15.如權(quán)利要求13所述的語音編碼器,其特征在于,所述動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引為在對所有固定路徑和動態(tài)路徑組合進行循環(huán)搜索過程中,使下式e最大的代數(shù)碼本索引im
其中,r′(i),i=0,1,…,Nc-1為殘差目標矢量x′0與感覺加權(quán)合成濾波器沖擊響應(yīng)h(n)的卷積,_(i,j),i,j=0,1,…,Nc-1為h(n)的協(xié)方差矩陣,Nc為隨機激勵矢量中非零脈沖的個數(shù),mi為動態(tài)路徑中非零脈沖可能出現(xiàn)的位置,si為脈沖幅度。
16.如權(quán)利要求13、14或15所述的語音編碼器,其特征在于,在對軌道進行分解時,根據(jù)軌道長度將一個軌道分解為一條或者兩條路徑。
17.如權(quán)利要求16所述的語音編碼器,其特征在于,當一個軌道分解為兩條路徑時,所述軌道中的偶數(shù)項位置為一條路徑,奇數(shù)項位置為一條路徑。
18.如權(quán)利要求17所述的語音編碼器,其特征在于,在將搜索出的固定路徑的最優(yōu)索引和動態(tài)路徑對應(yīng)的最優(yōu)代數(shù)子碼本索引轉(zhuǎn)換為對應(yīng)的軌道索引時,當一個軌道只含有1條路徑時,路徑索引即為軌道索引;
當一個軌道含有2條路徑時,由下式將路徑索引轉(zhuǎn)換為軌道索引
其中,ci為軌道i的索引,Ii為路徑i的索引,a路徑為軌道的偶數(shù)項,b路徑為軌道的奇數(shù)項。
全文摘要
本發(fā)明適用于語音編碼領(lǐng)域,提供了一種代數(shù)碼本的搜索方法、裝置及編碼器,其中,每個代數(shù)碼本包含多個子碼本,每個子碼本包含多個軌道,每個軌道存放一個或者多個非零脈沖可能出現(xiàn)的位置,所述方法將每個子碼本所包含的多個軌道分解為多條路徑,然后根據(jù)非零脈沖在路徑中的軌道位置確定各條路徑的最優(yōu)索引,選取固定路徑和動態(tài)路徑,對所有固定路徑和動態(tài)路徑組合循環(huán)搜索獲取對應(yīng)的軌道索引。本發(fā)明將代數(shù)子碼本的軌道分解為多個路徑,通過固定路徑和動態(tài)路徑組合搜索最終的碼本索引,在保證編碼質(zhì)量的同時,有效地降低了碼本搜索的實現(xiàn)復(fù)雜度,提高了編碼算法的應(yīng)用價值。
文檔編號G10L19/14GK101118748SQ20061006200
公開日2008年2月6日 申請日期2006年8月4日 優(yōu)先權(quán)日2006年8月4日
發(fā)明者鮑長春, 竇庚欣, 睿 范, 劉澤新, 李立雄 申請人:北京工業(yè)大學(xué), 華為技術(shù)有限公司