国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種建立增益碼書的方法

      文檔序號(hào):2829389閱讀:764來(lái)源:國(guó)知局
      專利名稱:一種建立增益碼書的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及移動(dòng)通信領(lǐng)域的語(yǔ)音編碼技術(shù),具體來(lái)說(shuō),涉及一種建立增益碼書的方法。
      背景技術(shù)
      隨著信息社會(huì)和通信技術(shù)的高速發(fā)展,語(yǔ)音編碼逐漸成為人們生活中一項(xiàng)必不可少的技術(shù)。語(yǔ)音編碼即壓縮語(yǔ)音信號(hào)的數(shù)字表示而使表達(dá)這些信號(hào)所需的比特需求最小。語(yǔ)音編碼目前主要分為三類,即波形編碼、參數(shù)編碼和混合編碼。波形編碼具有適應(yīng)能力強(qiáng)、話音質(zhì)量高等優(yōu)點(diǎn),但所需要的比特率較高。而參數(shù)編碼的比特率一般很低,但是其編碼質(zhì)量較差,合成出的語(yǔ)音自然度較低?;旌暇幋a克服了波形編碼和參數(shù)編碼的弱點(diǎn),同時(shí)又結(jié)合了它們各自的長(zhǎng)處,在4-16kb/s速率上可以得到高質(zhì)量的合成語(yǔ)音。代數(shù)碼激勵(lì)線性預(yù)測(cè)(ACELP)語(yǔ)音編碼作為一種非常成功的混合語(yǔ)音編碼方法,在ITU的許多語(yǔ)音編碼標(biāo)準(zhǔn)中得到了應(yīng)用,如G.722.2、G.723.1、G.729等。
      現(xiàn)有技術(shù)中,采用矢量量化碼書的建立方法有很多。在大多數(shù)ACELP類語(yǔ)音編碼中,自適應(yīng)碼書和固定碼書的增益均采用矢量量化的方法,但并沒有一種具有一般意義的增益碼書的建立方法。在矢量量化技術(shù)中,若要得到較好的量化效果,就要充分利用量化對(duì)象的各種性質(zhì),只有這樣才能得到高質(zhì)量的矢量碼書。因此,對(duì)于不同的量化對(duì)象,其矢量碼書的建立方法中的關(guān)鍵技術(shù)是完全不同的。在ACELP語(yǔ)音編碼中,自適應(yīng)碼書增益和固定碼書增益是兩個(gè)重要的量化對(duì)象,人們通常根據(jù)相鄰幀固定碼書增益之間的相關(guān)性,采用預(yù)測(cè)矢量量化方法來(lái)量化碼書增益,以達(dá)到降低比特?cái)?shù)的目的。但由于不同速率的ACELP語(yǔ)音編碼器的激勵(lì)幀長(zhǎng)度不同,導(dǎo)致相鄰幀間碼書增益不同,相鄰幀間碼書增益的關(guān)聯(lián)性不強(qiáng),致使很難建立一種具有一般意義的增益碼書方法。因此,人們希望找到一種具有一般意義的增益碼書建立方法,使之適用于不同的語(yǔ)音編碼系統(tǒng),得到高質(zhì)量的增益碼書。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種建立增益碼書的方法,解決現(xiàn)有技術(shù)中不能在ACELP語(yǔ)音編碼中建立一般意義增益碼書的問(wèn)題。
      為實(shí)現(xiàn)上述目的,本發(fā)明采用如下的技術(shù)方案一種建立增益碼書的方法,該方法應(yīng)用于語(yǔ)音編碼系統(tǒng)中,并對(duì)訓(xùn)練集中的數(shù)字語(yǔ)音信號(hào)進(jìn)行預(yù)處理后生成隨機(jī)激勵(lì)信號(hào),所述的每個(gè)隨機(jī)激勵(lì)信號(hào)由多個(gè)激勵(lì)子幀組成,其特征在于,包括如下步驟A、預(yù)編碼訓(xùn)練集中的數(shù)字語(yǔ)音信號(hào),生成包含有對(duì)數(shù)能量矢量的訓(xùn)練矢量序列并以數(shù)據(jù)文件的形式保存,所述每一個(gè)激勵(lì)子幀對(duì)應(yīng)有一所述的訓(xùn)練矢量序列;B、從所述數(shù)據(jù)文件中取出所述每一個(gè)子幀的訓(xùn)練矢量序列中的對(duì)數(shù)能量矢量,根據(jù)所述對(duì)數(shù)能量矢量求出所述隨機(jī)激勵(lì)信號(hào)的平均對(duì)數(shù)能量及所述平均對(duì)數(shù)能量的預(yù)測(cè)系數(shù);C、根據(jù)所述訓(xùn)練矢量序列、平均對(duì)數(shù)能量及其預(yù)測(cè)系數(shù)計(jì)算感知加權(quán)平方誤差,并迭代查找最小的感知加權(quán)平方誤差來(lái)確定增益碼書。
      所述訓(xùn)練矢量序列除了所述隨機(jī)激勵(lì)信號(hào)的對(duì)數(shù)能量E,還包括每一激勵(lì)子幀的自適應(yīng)碼書增益ga、固定碼書增益gs、隨機(jī)代數(shù)碼矢量的能量Ea、目標(biāo)矢量的能量Rx0x0、自適應(yīng)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的能量Rxx、隨機(jī)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的能量Rtt、目標(biāo)矢量與自適應(yīng)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的內(nèi)積Rx0x、目標(biāo)矢量與隨機(jī)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的內(nèi)積Rx0t和隨機(jī)碼矢量與自適應(yīng)碼矢量分別經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的內(nèi)積Rxt,所述訓(xùn)練矢量序列構(gòu)成了增益碼書訓(xùn)練集合中的一個(gè)10維矢量,所述矢量按順序保存于在一個(gè)二進(jìn)制文件中。
      所述步驟B具體包括以下步驟B1,從存儲(chǔ)的數(shù)據(jù)文件中提取所述訓(xùn)練矢量序列中的每一子幀的隨機(jī)激勵(lì)信號(hào)的對(duì)數(shù)能量E,并求出它們的平均值E;B2,取出每一子幀的隨機(jī)激勵(lì)信號(hào)的對(duì)數(shù)能量E,將所述對(duì)數(shù)能量減去所述平均值E,獲得所述對(duì)應(yīng)子幀的隨機(jī)激勵(lì)信號(hào)的無(wú)偏對(duì)數(shù)能量 B3、利用所述無(wú)偏對(duì)數(shù)能量 得到隨機(jī)激勵(lì)信號(hào)無(wú)偏對(duì)數(shù)能量 的線性預(yù)測(cè)系數(shù)。
      所述步驟C具體包括C1、設(shè)置停止門限ε和碼書NB,初始化質(zhì)心并獲取當(dāng)前碼書;C2、將當(dāng)前碼書的體積與設(shè)置碼書NB進(jìn)行比較,若當(dāng)前碼書的體積大于等于設(shè)置碼書則轉(zhuǎn)到步驟C3執(zhí)行,否則轉(zhuǎn)到步驟C5;C3、獲取當(dāng)前碼書的最佳劃分,提取最佳劃分中的當(dāng)前狀態(tài)下的第k次迭代累計(jì)失真DK和第k-1次迭代累計(jì)失真DK-1,若|DK-DK-1|/DK小于所述停止門限ε,則轉(zhuǎn)到步驟C4執(zhí)行,否則求出新的形心及對(duì)應(yīng)的當(dāng)前碼書,再迭代執(zhí)行步驟C3;C4、判斷有無(wú)典型胞腔,若最大胞腔的矢量數(shù)與最小胞腔的矢量數(shù)之比大于等于所述訓(xùn)練矢量序列的個(gè)數(shù),則轉(zhuǎn)到步驟C2執(zhí)行,否則獲取新的質(zhì)心,即將最大胞腔的碼字與擾動(dòng)因子相乘得到新的碼字來(lái)代替原有最大和最小胞腔的碼字,轉(zhuǎn)到步驟C3執(zhí)行;C5、當(dāng)當(dāng)前碼書體積小于NB時(shí),完成碼書的建立,確定增益碼書。
      所述步驟B3包括B31、設(shè)置所述訓(xùn)練矢量序列中第n個(gè)子幀的無(wú)偏對(duì)數(shù)能量預(yù)測(cè)誤差en,所述en=Etn-E%n,]]>其中 為第n個(gè)子幀無(wú)偏對(duì)數(shù)能量的預(yù)測(cè)值;B32、由所述無(wú)偏對(duì)數(shù)能量預(yù)測(cè)誤差得到所有誤差的平方和ERR,并根據(jù)所述平方和ERR微分求出所述隨機(jī)激勵(lì)信號(hào)無(wú)偏對(duì)數(shù)能量 的線性預(yù)測(cè)系數(shù)。
      所述步驟B3具體包括令 為第n子幀無(wú)偏對(duì)數(shù)能量的預(yù)測(cè)值,即E%n=&Sigma;i=1pbiEtn-i]]>上式bi為預(yù)測(cè)器系數(shù),p為預(yù)測(cè)器階數(shù)。p的取值與編碼器的子幀長(zhǎng)度有關(guān),令en=Etn-E%n]]>為增益碼書訓(xùn)練矢量集合中第n子幀的無(wú)偏對(duì)數(shù)能量預(yù)測(cè)誤差。則所有訓(xùn)練數(shù)據(jù)誤差的平方和為ERR=&Sigma;n=3Nfen2=&Sigma;n=3Nf(Etn-E%n)2=&Sigma;n=3Nf(Etn-&Sigma;i=1pbiEtn-i)2]]>其中,Nf為訓(xùn)練碼矢?jìng)€(gè)數(shù),令ERR/bi=0,可以得到一個(gè)p元一次線性方程組&Sigma;n=3NfEtnEtn-1-b1&Sigma;n=3NfEtn-12-b2&Sigma;n=3NfEtn-2Etn-1=0&Sigma;n=3NfEtnEtn-2-b1&Sigma;n=3NfEtn-1Etn-2-b2&Sigma;n=3NfEtn-22=0]]>其中p=2,得出b1=&phi;02&phi;12-&phi;01&phi;22&phi;122-&phi;11&phi;22,]]>b2=&phi;01&phi;12-&phi;11&phi;02&phi;122-&phi;11&phi;22,]]>其中,&phi;ij=&Sigma;n=3NfEtn-iEtn-j.]]>所述步驟C2中,比較當(dāng)前碼書的體積大于等于設(shè)置碼書時(shí),先將當(dāng)前碼書進(jìn)行分裂,把所述碼書中的每個(gè)碼字乘以2個(gè)擾動(dòng)因子ρ1、ρ2,得到2個(gè)新碼字,其中ρ1=0.99、ρ2=1.01。
      所述步驟C3執(zhí)行前,先初始化迭代查找步驟,設(shè)置迭代次數(shù)k=1、初始失真D0=∞,所述步驟C3中,獲取當(dāng)前碼書的最佳劃分需要,設(shè)置總的失真為零并讀入所述訓(xùn)練矢量序列中的一個(gè)訓(xùn)練矢量,求出所述訓(xùn)練矢量的固定碼書增益的預(yù)測(cè)值;在第k次迭代的碼書中找到與當(dāng)前輸入矢量距離最小的碼字 并計(jì)算當(dāng)前輸入矢量狀態(tài)下的第k次迭代累積失真Dk;
      依次讀入所述訓(xùn)練矢量序列中的每一個(gè)訓(xùn)練矢量,直到所有的訓(xùn)練矢量都按照上述步驟執(zhí)行完成。
      所述步驟C3執(zhí)行前,先初始化迭代查找步驟,設(shè)置迭代次數(shù)k=1、初始失真D0=∞,所述步驟C3中,獲取當(dāng)前碼書的最佳劃分需要,設(shè)定總失真Dk=0;讀入一個(gè)訓(xùn)練矢量,對(duì)于第n個(gè)訓(xùn)練矢量,利用如下的關(guān)系求出固定碼書增益的預(yù)測(cè)值g%s=10(E%n+E&OverBar;)/10Ea/N]]>其中,E%n=&Sigma;i=1pbiE^n-i,]]> 為第n-i子幀中 的量化值。當(dāng)n-i<0時(shí),E^n-i=0;]]>基于下式最近相鄰準(zhǔn)則,e=Rx0x0+g^a2Rxx+&gamma;^2g%s2Rtt-2g^aRx0x-2&gamma;^g%sRx0t+2g^a&gamma;^g%sRxt]]>在第k次迭代的碼書中找到與當(dāng)前輸入矢量距離最小的碼字 其最小距離為emin,則在當(dāng)前輸入矢量狀態(tài)下的第k次迭代累積失真Dk為Dk=Dk+|emin|;]]>根據(jù)下式解出 供下一個(gè)訓(xùn)練矢量使用,E^n=101g[(g^s2&Sigma;i=0N-1(cn(j&prime;))2)/N]-E&OverBar;]]>其中,g^s=&gamma;^g%s;]]>判斷是否處理完所有的訓(xùn)練矢量。若否,則再讀入一個(gè)訓(xùn)練矢量知道處理完所有訓(xùn)練序列中的矢量。
      所述步驟C3中,求出新的當(dāng)前質(zhì)心的步驟為設(shè){ga(i),γ(i)},i=1,2,L,M為第k次迭代時(shí)得到的碼書的第i個(gè)碼字(碼書大小為M),Qi為群聚在第i個(gè)碼字周圍的訓(xùn)練矢量的個(gè)數(shù)(第i個(gè)胞腔),根據(jù)最近相鄰準(zhǔn)則,第i個(gè)胞腔的累積最小平方誤差為
      Emin(i)=&Sigma;j=1Qiej2]]>其中, 上式中上標(biāo)(j)表示落入第i個(gè)胞腔的訓(xùn)練參數(shù), 和 是要求的第i個(gè)胞腔的質(zhì)心,分別令Emin(i)對(duì) 的偏導(dǎo)數(shù)為0,可以得到一個(gè)關(guān)于 和 的方程組,解該方程組可以得到第i個(gè)胞腔質(zhì)心為 通過(guò)采用上述技術(shù)方案,本發(fā)明帶來(lái)了如下的有益效果本發(fā)明建立了一種具有一般意義的代數(shù)碼激勵(lì)線性預(yù)測(cè)語(yǔ)音編碼器的增益碼書;該建立的增益碼書需要判斷非典型胞腔是否存在,在判斷結(jié)果為否的基礎(chǔ)上獲取增益碼書,保證了所建立的增益碼書中無(wú)非典型碼字;而且,該方法不受編碼比特率的限制,為碼書增益建立了簡(jiǎn)單方便的方法,可應(yīng)用于各種不同的ACELP語(yǔ)音編碼系統(tǒng),并得到高質(zhì)量的增益碼書,將該方法應(yīng)用于4kb/s的DP-CELP語(yǔ)音編碼器中,其試驗(yàn)結(jié)果表明,使用本發(fā)明所建立的6比特碼書,對(duì)自適應(yīng)碼書增益和固定碼書增益進(jìn)行矢量量化,可以得到8比特標(biāo)量量化時(shí)的合成語(yǔ)音質(zhì)量。


      圖1是增益碼書建立流程圖;圖2是不同比特碼書的平均失真圖。
      具體實(shí)施例方式
      下面結(jié)合附圖和具體實(shí)施例對(duì)發(fā)明所述的技術(shù)方案進(jìn)行詳細(xì)的說(shuō)明。
      在ACELP語(yǔ)音編碼中,人們通常采用預(yù)測(cè)式矢量量化技術(shù)對(duì)自適應(yīng)碼書增益和固定碼書增益進(jìn)行量化。增益碼書的選擇直接影響著增益的量化質(zhì)量,從而間接地影響整個(gè)編碼質(zhì)量。然而,在不同的編碼速率下,編解碼器中所需的增益碼書是不同的。因此,人們希望找到一種具有一般意義的增益碼書建立方法,使之適用于不同的語(yǔ)音編碼系統(tǒng),得到高質(zhì)量的增益碼書。本發(fā)明的目的就是構(gòu)建一種具有一般意義的增益碼書建立方法,這種方法可應(yīng)用于各種不同的ACELP語(yǔ)音編碼系統(tǒng),并得到高質(zhì)量的增益碼書。
      本發(fā)明通過(guò)計(jì)算機(jī)對(duì)大量的數(shù)字語(yǔ)音信號(hào)進(jìn)行處理,提取獲取碼書所需的信息,再根據(jù)這些信息得到代數(shù)碼激勵(lì)線性預(yù)測(cè)(ACELP)語(yǔ)音編碼中所需的增益碼書。本發(fā)明所建立的碼書中,所有碼字均為2維矢量,形如{ga,i,γi},i=1,2,L,NB。這里,ga,i為自適應(yīng)碼書增益,γi為固定碼書增益gs的修正因子,NB為碼書大小。在實(shí)際編碼過(guò)程中,需要在增益碼書{ga,i,γi)中搜索出使下式e最小的碼字{ga,γ}e=&Sigma;n=0N-1[x0(n)-gaxu&prime;(n)-&gamma;g%stj&prime;(n)]2]]>這是一個(gè)閉環(huán)搜索過(guò)程,即通過(guò)使輸入語(yǔ)音和合成濾波器輸出之間的感知加權(quán)平方誤差最小來(lái)確定碼書增益。上式中,N為激勵(lì)矢量長(zhǎng)度,x0(n)為感知加權(quán)輸入語(yǔ)音減去合成濾波器零輸入響應(yīng)的目標(biāo)矢量,xu’(n)和tj’(n)分別為自適應(yīng)碼矢量和固定隨機(jī)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器的零狀態(tài)響應(yīng), 為固定碼書增益gs的預(yù)測(cè)值。
      令Rx0x0=&Sigma;n=0N-1x02(n),]]>Rxx=&Sigma;n=0N-1xu&prime;2(n),]]>Rtt&Sigma;n=0N-1tj&prime;2(n),]]>Rx0x=&Sigma;n=0N-1x0(n)xu&prime;(n),]]>Rx0t=&Sigma;n=0N-1x0(n)tj&prime;(n),]]>Rxt=&Sigma;n=0N-1xu&prime;(n)tj&prime;(n),]]>則上式可展開為
      e=Rx0x0+ga2Rxx+&gamma;2g%s2Rtt-2gaRx0x-2&gamma;g%sRx0t+2ga&gamma;g%sRxt]]>本發(fā)明中建立增益碼書的具體實(shí)施方式
      見圖1所示。首先,提取訓(xùn)練增益碼書所需的參數(shù),其次,求出隨機(jī)激勵(lì)信號(hào)的平均對(duì)數(shù)能量及其預(yù)測(cè)器系數(shù),最后,根據(jù)平均對(duì)數(shù)能量及其預(yù)測(cè)器系數(shù)和其它參數(shù),利用LBG算法訓(xùn)練出增益碼書。具體步驟如下1.提取訓(xùn)練增益碼書所需的參數(shù),通過(guò)對(duì)訓(xùn)練集內(nèi)的數(shù)字語(yǔ)音信號(hào)預(yù)編碼,分別求出每一激勵(lì)子幀的自適應(yīng)碼書增益ga、固定碼書增益gs、隨機(jī)代數(shù)碼矢量的能量Ea、隨機(jī)激勵(lì)信號(hào)的對(duì)數(shù)能量E、目標(biāo)矢量的能量Rx0x0、自適應(yīng)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的能量Rxx、隨機(jī)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的能量Rtt、目標(biāo)矢量與自適應(yīng)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的內(nèi)積Rx0x、目標(biāo)矢量與隨機(jī)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的內(nèi)積Rx0t、隨機(jī)碼矢量與自適應(yīng)碼矢量分別經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的內(nèi)積Rxt,這10個(gè)參數(shù)構(gòu)成了增益碼書訓(xùn)練集合中的一個(gè)10維矢量,按順序?qū)⑺麄儽4嬖谝粋€(gè)二進(jìn)制文件中。
      2.求解隨機(jī)激勵(lì)信號(hào)的平均對(duì)數(shù)能量及其預(yù)測(cè)器系數(shù),第一步,從增益碼書訓(xùn)練矢量中取出每一子幀的隨機(jī)激勵(lì)信號(hào)的對(duì)數(shù)能量E,并求出它們的平均值E;第二步,求增益碼書訓(xùn)練矢量集中第n子幀的隨機(jī)激勵(lì)信號(hào)的無(wú)偏對(duì)數(shù)能量 Etn=En-E&OverBar;]]>其中,En為增益碼書訓(xùn)練矢量集合中第n子幀的隨機(jī)激勵(lì)信號(hào)的對(duì)數(shù)能量;第三步,求隨機(jī)激勵(lì)信號(hào)無(wú)偏對(duì)數(shù)能量 的線性預(yù)測(cè)系數(shù)。令 為第n子幀無(wú)偏對(duì)數(shù)能量的預(yù)測(cè)值,即
      E%n=&Sigma;i=1pbiEtn-i]]>上式中bi為預(yù)測(cè)器系數(shù),p為預(yù)測(cè)器階數(shù)。p的取值與編碼器的子幀長(zhǎng)度有關(guān),對(duì)于8kHz采樣率,當(dāng)激勵(lì)子幀長(zhǎng)度為5毫秒時(shí),取p=4,當(dāng)激勵(lì)子幀長(zhǎng)度為10毫秒時(shí),取p=2。bi的具體求解方法如下令en=Etn-E%n]]>為增益碼書訓(xùn)練矢量集合中第n子幀的無(wú)偏對(duì)數(shù)能量預(yù)測(cè)誤差。則所有訓(xùn)練數(shù)據(jù)誤差的平方和為ERR=&Sigma;n=3Nfen2=&Sigma;n=3Nf(Etn-E%n)2=&Sigma;n=3Nt(Etn-&Sigma;i=1pbiEtn-i)2]]>其中,Nf為訓(xùn)練碼矢?jìng)€(gè)數(shù)。令ERR/bi=0,可以得到一個(gè)p元一次線性方程組,例如p=2時(shí),線性方程組為&Sigma;n=3NfEtnEtn-1-b1&Sigma;n=3NfEtn-12-b2&Sigma;n=3NfEtn-2Etn-1=0&Sigma;n=3NfEtnEtn-2-b1&Sigma;n=3NfEtn-1Etn-2-b2&Sigma;n=3NfEtn-22=0]]>解出b1=&phi;02&phi;12-&phi;01&phi;22&phi;122-&phi;11&phi;22,]]>b2=&phi;01&phi;12-&phi;11&phi;02&phi;122-&phi;11&phi;22.]]>其中,&phi;ij=&Sigma;n=3NfEtn-iEtn-j.]]>3.訓(xùn)練增益碼書,第一步,設(shè)定停止門限ε=0.005,碼書大小為NB;第二步,利用下式得到0比特初始碼書 即當(dāng)前碼書體積為1,以求得所有訓(xùn)練序列的質(zhì)心;
      式中,上標(biāo)(j)表示第j個(gè)訓(xùn)練參數(shù),Nf為訓(xùn)練碼矢?jìng)€(gè)數(shù);第三步,判斷當(dāng)前碼書大小是否小于NB,若否,則轉(zhuǎn)到第七步;若是,則對(duì)當(dāng)前碼書進(jìn)行分裂,即分別將碼書中的每個(gè)碼字乘以2個(gè)擾動(dòng)因子ρ1、ρ2分裂為2個(gè)碼字ρ1=0.99、σ2=1.01;第四步,設(shè)定迭代次數(shù)k=1、初始失真D0=∞;第五步,求當(dāng)前碼書的最佳劃分,(1)設(shè)定總失真Dk=0;(2)讀入一個(gè)訓(xùn)練矢量。對(duì)于第n個(gè)訓(xùn)練矢量,利用如下的關(guān)系求出固定碼書增益的預(yù)測(cè)值g%s=10(E%n+E&OverBar;)/10Ea/N]]>這里,E%n=&Sigma;i=1pbiE^n-i,]]> 為第n-i子幀中 的量化值。當(dāng)n-i<0時(shí),E^n-i=0;]]>(3)基于下式最近相鄰準(zhǔn)則e=Rx0x0+g^a2Rxx+&gamma;^2g%s2Rtt-2g^aRx0x-2&gamma;^g%sRx0t+2g^a&gamma;^g%sRxt]]>在第k次迭代的碼書中找到與當(dāng)前輸入矢量距離最小的碼字 其最小距離為emin,則在當(dāng)前輸入矢量狀態(tài)下的第k次迭代累積失真Dk為Dk=Dk+|emin|;]]>(4)根據(jù)下式解出 供下一個(gè)訓(xùn)練矢量使用;E^n=101g[(g^s2&Sigma;i=0N-1(cn(j&prime;))2)/N]-E&OverBar;]]>其中,g^s=&gamma;^g%s.]]>(5)判斷是否處理完所有的訓(xùn)練矢量。若否,則轉(zhuǎn)到(2);若是,則第五步結(jié)束。
      第六步,若|Dk-1-Dk|/Dk<ε,則判斷有無(wú)非典型胞腔,若有則處理非典型胞腔,相對(duì)失真沒有滿足要求,進(jìn)行下一次迭代k=k+1,并轉(zhuǎn)到第五步;若無(wú),則轉(zhuǎn)到第三步。
      判斷非典型胞腔的方法是令Nmax為最大胞腔cmax中包含的矢量個(gè)數(shù),Nmin為最小胞腔cmin中包含的矢量個(gè)數(shù),若Nmax/Nmin≥10,則認(rèn)為cmin為非典型胞腔。處理非典型胞腔的方法是將cmax中的碼字乘以2個(gè)擾動(dòng)因子ρ1、ρ2,用所得到的兩個(gè)碼字分別代替原cmax、cmin中的碼字。
      若|Dk-1-Dk|/Dk≥ε,則求出新形心,得到新碼書,k=k+1,并轉(zhuǎn)到第五步。求新形心的方法是設(shè){ga(i),γ(i)},i=1,2,L,M為第k次迭代時(shí)得到的碼書的第i個(gè)碼字(碼書大小為M),Qi為群聚在第i個(gè)碼字周圍的訓(xùn)練矢量的個(gè)數(shù)(第i個(gè)胞腔),根據(jù)最近相鄰準(zhǔn)則,第i個(gè)胞腔的累積最小平方誤差為Emin(i)=&Sigma;j=1Qiej2]]>這里 上式中上標(biāo)(j)表示落入第i個(gè)胞腔的訓(xùn)練參數(shù), 和 是要求的第i個(gè)胞腔的形心。分別令Emin(i)對(duì) 的偏導(dǎo)數(shù)為0,可以得到一個(gè)關(guān)于 和 的方程組,解該方程組可以得到第i個(gè)胞腔形心為
      第二步的初始形心也是利用上述方法得到,區(qū)別是胞腔個(gè)數(shù)為1,胞腔大小為Nf;第七步,訓(xùn)練完成,得到最終增益碼書。
      為了檢測(cè)效果,將本發(fā)明應(yīng)用到了4kb/s DP-CELP語(yǔ)音編碼器的碼書增益量化中。輸入語(yǔ)音為8kHz采樣的線性PCM信號(hào),分析幀長(zhǎng)為20毫秒,能量預(yù)測(cè)器階數(shù)為2。
      在實(shí)驗(yàn)中,根據(jù)圖1所示的增益碼書建立流程,建立了1到7個(gè)比特的增益碼書,分別代替原編碼器中的8比特標(biāo)量量化碼書,其失真曲線如圖2所示。平均失真測(cè)度計(jì)算公式為D=1N&Sigma;j=1N|ej|]]>其中ej2=Rx0x0(j)+(g^a(j))2Rxx(j)+(&gamma;^(j))2(g%s(j))2Rtt(j)-2g^a(j)Rx0x(j)]]>-2&gamma;^(j)g%s(j)Rx0t(j)+2g^a(j)&gamma;^(j)g%s(j)Rxt(j)]]>上式中上標(biāo)(j)表示第j子幀的輸入?yún)?shù),N為子幀數(shù), 為第j子幀量化的自適應(yīng)碼書增益, 為第j子幀量化的固定碼書增益的修正因子, 為第j子幀固定碼書增益的預(yù)測(cè)值。從圖2中可以看到,比特?cái)?shù)為5時(shí)的平均失真已經(jīng)小于8比特標(biāo)量量化時(shí)的平均失真,當(dāng)比特?cái)?shù)為6時(shí),其失真曲線趨于收斂。
      為了評(píng)價(jià)代數(shù)碼激勵(lì)線性預(yù)測(cè)語(yǔ)音編碼中增益碼書的建立方法,進(jìn)行了一個(gè)客觀評(píng)測(cè),評(píng)測(cè)軟件為ITU的P.861客觀評(píng)測(cè)標(biāo)準(zhǔn)PESQ。用本發(fā)明方法產(chǎn)生了一個(gè)6比特增益碼書,代替原DP-CELP算法中的增益量化方法,與原方法進(jìn)行比較。漢語(yǔ)語(yǔ)音由16個(gè)句子組成,其中8句來(lái)自男性講話,另外8句來(lái)自女性講話。測(cè)試結(jié)果如表l所示。測(cè)試結(jié)果證明,用本發(fā)明方法產(chǎn)生的增益碼書,在比特?cái)?shù)為6時(shí),與標(biāo)量量化8比特時(shí)的效果相同,但節(jié)省了2個(gè)比特。PESQ客觀評(píng)測(cè)結(jié)果如下表

      本發(fā)明所建立的代數(shù)碼激勵(lì)線性預(yù)測(cè)語(yǔ)音編碼器的增益碼書,無(wú)非典型碼字,而且,該方法不受編碼比特率的限制。將該方法應(yīng)用于4kb/s的DP-CELP語(yǔ)音編碼器中,其試驗(yàn)結(jié)果表明,使用本發(fā)明所建立的6比特碼書,對(duì)自適應(yīng)碼書增益和固定碼書增益進(jìn)行矢量量化,可以得到8比特標(biāo)量量化時(shí)的合成語(yǔ)音質(zhì)量。本發(fā)明也可以為其它ACELP語(yǔ)音編碼器建立增益碼書。
      以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
      ,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
      權(quán)利要求
      1.一種建立增益碼書的方法,該方法應(yīng)用于語(yǔ)音編碼系統(tǒng)中,并對(duì)訓(xùn)練集中的數(shù)字語(yǔ)音信號(hào)進(jìn)行預(yù)處理后生成隨機(jī)激勵(lì)信號(hào),所述的每個(gè)隨機(jī)激勵(lì)信號(hào)由多個(gè)激勵(lì)子幀組成,其特征在于,包括如下步驟A、預(yù)編碼訓(xùn)練集中的數(shù)字語(yǔ)音信號(hào),生成包含有對(duì)數(shù)能量矢量的訓(xùn)練矢量序列并以數(shù)據(jù)文件的形式保存,所述每一個(gè)激勵(lì)子幀對(duì)應(yīng)有一所述的訓(xùn)練矢量序列;B、從所述數(shù)據(jù)文件中取出所述每一個(gè)子幀的訓(xùn)練矢量序列中的對(duì)數(shù)能量矢量,根據(jù)所述對(duì)數(shù)能量矢量求出所述隨機(jī)激勵(lì)信號(hào)的平均對(duì)數(shù)能量及所述平均對(duì)數(shù)能量的預(yù)測(cè)系數(shù);C、根據(jù)所述訓(xùn)練矢量序列、平均對(duì)數(shù)能量及其預(yù)測(cè)系數(shù)計(jì)算感知加權(quán)平方誤差,并迭代查找最小的感知加權(quán)平方誤差來(lái)確定增益碼書。
      2.根據(jù)權(quán)利要求1所述一種建立增益碼書的方法,其特征在于所述訓(xùn)練矢量序列除了所述隨機(jī)激勵(lì)信號(hào)的對(duì)數(shù)能量E,還包括每一激勵(lì)子幀的自適應(yīng)碼書增益ga、固定碼書增益gs、隨機(jī)代數(shù)碼矢量的能量Ea、目標(biāo)矢量的能量Rx0x0、自適應(yīng)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的能量Rxx、隨機(jī)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的能量Rtt、目標(biāo)矢量與自適應(yīng)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的內(nèi)積Rx0x、目標(biāo)矢量與隨機(jī)碼矢量經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的內(nèi)積Rx0t和隨機(jī)碼矢量與自適應(yīng)碼矢量分別經(jīng)過(guò)感覺加權(quán)合成濾波器零狀態(tài)響應(yīng)的內(nèi)積Rxt,所述訓(xùn)練矢量序列構(gòu)成了增益碼書訓(xùn)練集合中的一個(gè)10維矢量,所述矢量按順序保存于在一個(gè)二進(jìn)制文件中。
      3.根據(jù)權(quán)利要求2所述一種建立增益碼書的方法,其特征在于所述步驟B具體包括以下步驟B1,從存儲(chǔ)的數(shù)據(jù)文件中提取所述訓(xùn)練矢量序列中的每一子幀的隨機(jī)激勵(lì)信號(hào)的對(duì)數(shù)能量E,并求出它們的平均值E;B2,取出每一子幀的隨機(jī)激勵(lì)信號(hào)的對(duì)數(shù)能量E,將所述對(duì)數(shù)能量減去所述平均值E,獲得所述對(duì)應(yīng)子幀的隨機(jī)激勵(lì)信號(hào)的無(wú)偏對(duì)數(shù)能量 B3、利用所述無(wú)偏對(duì)數(shù)能量 得到隨機(jī)激勵(lì)信號(hào)無(wú)偏對(duì)數(shù)能量 的線性預(yù)測(cè)系數(shù)。
      4.根據(jù)權(quán)利要求3所述的一種建立增益碼書的方法,其特征在于所述步驟C具體包括C1、設(shè)置停止門限ε和碼書NB,初始化質(zhì)心并獲取當(dāng)前碼書;C2、將當(dāng)前碼書的體積與設(shè)置碼書NB進(jìn)行比較,若當(dāng)前碼書的體積大于等于設(shè)置碼書則轉(zhuǎn)到步驟C3執(zhí)行,否則轉(zhuǎn)到步驟C5;C3、獲取當(dāng)前碼書的最佳劃分,提取最佳劃分中的當(dāng)前狀態(tài)下的第k次迭代累計(jì)失真DK和第k-1次迭代累計(jì)失真DK-1,若|DK-DK-1|/DK小于所述停止門限ε,則轉(zhuǎn)到步驟C4執(zhí)行,否則求出新的形心及對(duì)應(yīng)的當(dāng)前碼書,再迭代執(zhí)行步驟C3;C4、判斷有無(wú)典型胞腔,若最大胞腔的矢量數(shù)與最小胞腔的矢量數(shù)之比大于等于所述訓(xùn)練矢量序列的個(gè)數(shù),則轉(zhuǎn)到步驟C2執(zhí)行,否則獲取新的質(zhì)心,即將最大胞腔的碼字與擾動(dòng)因子相乘得到新的碼字來(lái)代替原有最大和最小胞腔的碼字,轉(zhuǎn)到步驟C3執(zhí)行;C5、當(dāng)當(dāng)前碼書體積小于NB時(shí),完成碼書的建立,確定增益碼書。
      5.根據(jù)權(quán)利要求3所述的一種建立增益碼書的方法,其特征在于所述步驟B3包括B31、設(shè)置所述訓(xùn)練矢量序列中第n個(gè)子幀的無(wú)偏對(duì)數(shù)能量預(yù)測(cè)誤差en,所述en=Etn-En%]]>,其中En%為第n個(gè)子幀無(wú)偏對(duì)數(shù)能量的預(yù)測(cè)值;B32、由所述無(wú)偏對(duì)數(shù)能量預(yù)測(cè)誤差得到所有誤差的平方和ERR,并根據(jù)所述平方和ERR微分求出所述隨機(jī)激勵(lì)信號(hào)無(wú)偏對(duì)數(shù)能量 的線性預(yù)測(cè)系數(shù)。
      6.根據(jù)權(quán)利要求3所述的一種建立增益碼書的方法,其特征在于所述步驟B3具體包括令En%為第n子幀無(wú)偏對(duì)數(shù)能量的預(yù)測(cè)值,即En%=&Sigma;i=1pbiEtn-i]]>上式中bi為預(yù)測(cè)器系數(shù),p為預(yù)測(cè)器階數(shù)。p的取值與編碼器的子幀長(zhǎng)度有關(guān),令en=Etn=En%]]>為增益碼書訓(xùn)練矢量集合中第n子幀的無(wú)偏對(duì)數(shù)能量預(yù)測(cè)誤差。則所有訓(xùn)練數(shù)據(jù)誤差的平方和為ERR=&Sigma;n=3Nfen2=&Sigma;n=3Nf(Etn-En%)2=&Sigma;n=3Nf(Etn-&Sigma;i=1pbiEtn-i)2]]>其中,Nf為訓(xùn)練碼矢?jìng)€(gè)數(shù),令ERR/bi=0,可以得到一個(gè)p元一次線性方程組&Sigma;n=3NfEtnEtn-1-b1&Sigma;n=3NfEtn-12-b2&Sigma;n=3NfEtn-2Etn-1=0&Sigma;n=3NfEtnEtn-2-b1&Sigma;n=3NfEtn-1Etn-2-b2&Sigma;n=3NfEtn-22=0]]>其中p=2,得出b1=&phi;02&phi;12-&phi;01&phi;22&phi;122-&phi;11&phi;22,]]>b2=&phi;01&phi;12-&phi;11&phi;02&phi;122-&phi;11&phi;22,]]>其中,&phi;ij=&Sigma;n=3NfEtn-iEtn-j.]]>
      7.根據(jù)權(quán)利要求4所述的一種建立增益碼書的方法,其特征在于所述步驟C2中,比較當(dāng)前碼書的體積大于等于設(shè)置碼書時(shí),先將當(dāng)前碼書進(jìn)行分裂,把所述碼書中的每個(gè)碼字乘以2個(gè)擾動(dòng)因子ρ1、ρ2,得到2個(gè)新碼字,其中ρ1=0.99、ρ2=1.01。
      8.根據(jù)權(quán)利要求7所述的一種建立增益碼書的方法,其特征在于所述步驟C3執(zhí)行前,先初始化迭代查找步驟,設(shè)置迭代次數(shù)k=1、初始失真D0=∞,所述步驟C3中,獲取當(dāng)前碼書的最佳劃分需要,設(shè)置總的失真為零并讀入所述訓(xùn)練矢量序列中的一個(gè)訓(xùn)練矢量,求出所述訓(xùn)練矢量的固定碼書增益的預(yù)測(cè)值;在第k次迭代的碼書中找到與當(dāng)前輸入矢量距離最小的碼字 并計(jì)算當(dāng)前輸入矢量狀態(tài)下的第k次迭代累積失真Dk;依次讀入所述訓(xùn)練矢量序列中的每一個(gè)訓(xùn)練矢量,直到所有的訓(xùn)練矢量都按照上述步驟執(zhí)行完成。
      9.根據(jù)權(quán)利要求7所述一種建立增益碼書的方法,其特征在于所述步驟C3執(zhí)行前,先初始化迭代查找步驟,設(shè)置迭代次數(shù)k=1、初始失真D0=∞,所述步驟C3中,獲取當(dāng)前碼書的最佳劃分需要,設(shè)定總失真Dk=0;讀入一個(gè)訓(xùn)練矢量,對(duì)于第n個(gè)訓(xùn)練矢量,利用如下的關(guān)系求出固定碼書增益的預(yù)測(cè)值gs%=10(En%+E&OverBar;)/10Ea/N]]>其中,En%=&Sigma;i=1pbiE^n-i,]]> 為第n-i子幀中En-i%的量化值。當(dāng)n-i<0時(shí),E^n-i=0;]]>基于下式最近相鄰準(zhǔn)則,e=Rx0x0+g^a2Rxx+&gamma;^2gs2%Rtt-2g^aRx0x-2&gamma;^gs%Rx0t+2g^a&gamma;^gs%Rxt]]>在第k次迭代的碼書中找到與當(dāng)前輸入矢量距離最小的碼字 其最小距離為emin,則在當(dāng)前輸入矢量狀態(tài)下的第k次迭代累積失真Dk為Dk=Dk+|emin|;]]>根據(jù)下式解出 ,供下一個(gè)訓(xùn)練矢量使用,E^n=10lg[(g^s2&Sigma;i=0N-1(cn(j&prime;))2)/N]-E&OverBar;]]>其中,g^s=&gamma;^gs%;]]>判斷是否處理完所有的訓(xùn)練矢量。若否,則再讀入一個(gè)訓(xùn)練矢量知道處理完所有訓(xùn)練序列中的矢量。
      10.根據(jù)權(quán)利要求8所述一種建立增益碼書的方法,其特征在于所述步驟C3中,求出新的當(dāng)前質(zhì)心的步驟為設(shè){ga(i),γ(i)},i=1,2,L,M為第k次迭代時(shí)得到的碼書的第i個(gè)碼字(碼書大小為M),Qi為群聚在第i個(gè)碼字周圍的訓(xùn)練矢量的個(gè)數(shù)(第i個(gè)胞腔),根據(jù)最近相鄰準(zhǔn)則,第i個(gè)胞腔的累積最小平方誤差為Emin(i)=&Sigma;j=1Qiej2]]>其中, 上式中上標(biāo)(j)表示落入第i個(gè)胞腔的訓(xùn)練參數(shù),ga&amp;和γ&amp;是要求的第i個(gè)胞腔的質(zhì)心,分別令Emin(i)對(duì)ga&amp;、γ&amp;的偏導(dǎo)數(shù)為0,可以得到一個(gè)關(guān)于ga&amp;和γ&amp;的方程組,解該方程組可以得到第i個(gè)胞腔質(zhì)心為
      全文摘要
      本發(fā)明公開了一種建立增益碼書的方法,通過(guò)預(yù)編碼訓(xùn)練集中的數(shù)字語(yǔ)音信號(hào),生成包含有對(duì)數(shù)能量矢量的訓(xùn)練矢量序列并以數(shù)據(jù)文件的形式保存,所述每一個(gè)激勵(lì)子幀對(duì)應(yīng)有一所述的訓(xùn)練矢量序列;從所述數(shù)據(jù)文件中取出所述每一個(gè)子幀的訓(xùn)練矢量序列中的對(duì)數(shù)能量矢量,根據(jù)所述對(duì)數(shù)能量矢量求出所述隨機(jī)激勵(lì)信號(hào)的平均對(duì)數(shù)能量及所述平均對(duì)數(shù)能量的預(yù)測(cè)系數(shù);根據(jù)所述訓(xùn)練矢量序列、平均對(duì)數(shù)能量及其預(yù)測(cè)系數(shù)計(jì)算感知加權(quán)平方誤差,并迭代查找最小的感知加權(quán)平方誤差來(lái)確定增益碼書。解決現(xiàn)有技術(shù)中沒有關(guān)于ACELP語(yǔ)音編碼算法中增益碼書的建立方法的問(wèn)題。
      文檔編號(hào)G10L19/00GK101030378SQ20061003414
      公開日2007年9月5日 申請(qǐng)日期2006年3月3日 優(yōu)先權(quán)日2006年3月3日
      發(fā)明者鮑長(zhǎng)春, 竇庚欣, 范睿, 朱恒, 李立雄 申請(qǐng)人:北京工業(yè)大學(xué), 華為技術(shù)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1