專利名稱:線性預(yù)測分析合成的編碼方法和編碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種線性預(yù)測分析合成(LPAS)的編碼方法和編碼器。
本發(fā)明
背景技術(shù):
蜂窩式應(yīng)用中主要的編碼器模型為代碼受激線性預(yù)測(CELP)技術(shù)。眾所周知,這種波形匹配過程在至少8kb/s或更大的位速率情況下能很好運(yùn)行。然而,當(dāng)位速率降低時(shí),就會(huì)由于每個(gè)參數(shù)可用的位數(shù)降低而使編碼效率下降,從而使量化準(zhǔn)確性受到影響。
和[2]表明對與若干子幀信息有關(guān)的增益參數(shù)進(jìn)行集體向量量化的方法。然而,這些方法沒有考慮編碼器和譯碼器內(nèi)部狀態(tài)。結(jié)果會(huì)使譯碼器中的譯碼信號(hào)與編碼器中的最佳合成信號(hào)不同。
本發(fā)明概述本發(fā)明的目的是提供基于線性預(yù)測分析合成(LPAS)CELP的編碼方法和編碼器,它在低位速率尤其是低于8kb/s的位速率情況下很有效,并能使它的內(nèi)部狀態(tài)和譯碼器的內(nèi)部狀態(tài)同步。
這個(gè)目的依據(jù)附加權(quán)利要求來實(shí)現(xiàn)。
簡要來說,本發(fā)明通過向量量化若干子幀的最佳增益參數(shù)而增加了編碼效率。因此,就可以利用向量量化增益來更新內(nèi)部編碼器狀態(tài)。這會(huì)減少在保持編碼器和譯碼器的內(nèi)部狀態(tài)同步的同時(shí),對一幀進(jìn)行編碼所需要的位數(shù)。
附圖簡要說明參考下面的描述和附圖,本發(fā)明及其更多的目的和優(yōu)點(diǎn)將會(huì)更好理解,其中
圖1為典型的現(xiàn)有技術(shù)LPAS編碼器框圖;圖2是依據(jù)本發(fā)明的方法流程圖;圖3是依據(jù)本發(fā)明的一個(gè)LPAS編碼器實(shí)施例框圖。
最佳實(shí)施例的詳細(xì)描述為了更好地理解本發(fā)明,詳細(xì)說明將從典型LPAS編碼器的簡短描述開始。
圖1是一種典型現(xiàn)有技術(shù)中LPAS編碼器的框圖。編碼器包含一個(gè)分析部分和一個(gè)合成部分。
在分析部分中,線性預(yù)測器10接收語音幀s(通常在8000Hz下取樣20ms語音),并在量化器12中進(jìn)行量化之后確定控制合成濾波器14(通常為一個(gè)10級(jí)的全極濾波器)的濾波系數(shù)。非量化的濾波系數(shù)還可用來控制一個(gè)加權(quán)濾波器16。
在合成部分,來自自適應(yīng)代碼薄18和固定代碼薄20的碼向量分別在縮放單元22和24中進(jìn)行縮放,縮放后的向量在加法器中進(jìn)行相加從而形成一個(gè)激勵(lì)向量來激發(fā)合成濾波器14。這會(huì)形成一個(gè)合成的語音信號(hào)s^]]>。反饋線28用新的激勵(lì)向量來更新自適應(yīng)代碼薄18。
加法器30形成一個(gè)實(shí)際的語音信號(hào)s和合成語音信號(hào)s^]]>之間的差值e。然后在加權(quán)濾波器16中對誤差信號(hào)e進(jìn)行加權(quán),并將加權(quán)后的誤差信號(hào)ew送至搜索算法塊32。搜索算法塊32通過最小化幀上的距離尺寸D=||ew||2=||W·(s-s^)||=||W·s-W·H·(ga·ca+gf·cf)||2(1)]]>來確定分別在控制線34、36、38和40上的來自代碼薄18和20的代碼向量ca和cf和在縮放單元22和24中的增益ga和gf的最佳組合。其中W表示一個(gè)加權(quán)濾波矩陣,H表示一個(gè)合成濾波矩陣。
搜索算法可概括如下對每一幀來說1.利用線性預(yù)測對合成濾波器14進(jìn)行估算,并量化濾波器系數(shù)。
2.在當(dāng)前幀和前一幀之間(在某些領(lǐng)域內(nèi),如線狀頻譜頻率)內(nèi)插線性預(yù)測系數(shù),以獲得每一子幀的線性預(yù)測系數(shù)(通常在8000Hz時(shí)5ms的語音取樣,即40個(gè)取樣)。加權(quán)濾波器16根據(jù)線性預(yù)測濾波器系數(shù)進(jìn)行計(jì)算。
對上述幀中的每一子幀來說1.假定gf為0,ga等于最優(yōu)(未量化的)值,通過搜索自適應(yīng)對代碼薄18來查找代碼向量ca。
2.假定增益gf等于(未量化的)最優(yōu)值,通過搜索固定代碼薄20和使用在上一步找到的代碼向量ca和增益ga來查找代碼向量cf。
3.對增益系數(shù)ga和gf進(jìn)行量化。量化的方法可能是標(biāo)量或是向量量化。
4.用由ca、cf,以及ga、gf的量化數(shù)值產(chǎn)生的激勵(lì)信號(hào)對自適應(yīng)代碼薄18進(jìn)行更新。對合成和加權(quán)濾波器狀態(tài)進(jìn)行更新。
在所述結(jié)構(gòu)中,每一子幀分別進(jìn)行編碼。這樣容易使編碼器和譯碼器同步,而這是LPAS編碼的本質(zhì)特征。由于子幀的分別編碼,在譯碼期間對譯碼器中與編碼器合成部分相對應(yīng)的內(nèi)部狀態(tài)進(jìn)行更新時(shí),其方式與編碼期間編碼器內(nèi)部狀態(tài)的更新方式相同。這使編碼器和譯碼器的內(nèi)部狀態(tài)同步。然而,由于公知這種方法能在低位速率情況下進(jìn)行準(zhǔn)確的編碼,所以還希望盡可能地增加向量量化的應(yīng)用。就象下面描述的這樣,依據(jù)本發(fā)明,就可能同時(shí)在若干子幀中對增益進(jìn)行矢量量化,并仍能在編碼器和譯碼器之間保持同步。
下面將結(jié)合附圖2和3對本發(fā)明進(jìn)行描述。
圖2為依據(jù)本發(fā)明的方法的流程圖??梢杂孟旅娴乃惴▽?個(gè)連續(xù)子幀進(jìn)行編碼(假定已經(jīng)依據(jù)現(xiàn)有技術(shù)執(zhí)行了線性預(yù)測分析、量化和內(nèi)插)S1.通過最小化子幀1的加權(quán)誤差DA1=||sw1-s~w1||2=||W1·s1-W1·H1·ga1·ca1||2(2)]]>查找子幀1最優(yōu)自適應(yīng)代碼薄向量ca1(子幀長度)。在等式(2)中“1”表示子幀1。而且假定在計(jì)算每一個(gè)可能的向量ca1時(shí),使用的是ga1的最優(yōu)值(未量化)。
S2.通過最小化加權(quán)誤差DF1=||sw1-s~w1||2=||W1·s1-W1·H1·(ga1·ca1+gf1·cf1)||2(3)]]>查找子幀1的最優(yōu)固定代碼薄向量cf1。在計(jì)算每一個(gè)可能的向量cf1時(shí),假定使用的是gf1的最優(yōu)值。在本步中,使用了由步驟S1確定的ca1向量和最優(yōu)值ga1。
S3.存儲(chǔ)一個(gè)當(dāng)前自適應(yīng)代碼薄狀態(tài),當(dāng)前合成濾波器狀態(tài)和當(dāng)前加權(quán)濾波器狀態(tài)的復(fù)份。自適應(yīng)代碼薄為一個(gè)FIFO(先進(jìn)先出)單元。該單元的狀態(tài)由當(dāng)前在FIFO內(nèi)的值來表示。濾波器是延遲單元,縮放單元和加法器的組合。濾波器的狀態(tài)由延遲單元的當(dāng)前輸入信號(hào)和縮放值(濾波系數(shù))來表示。
S4.使用在步驟S1和S2中子幀1的臨時(shí)激勵(lì)向量x~1=ga1·ca1+gf1·cf1]]>來更新自適應(yīng)代碼薄狀態(tài),合成濾波器狀態(tài)以及加權(quán)濾波器的狀態(tài)。這樣該向量移入到自適應(yīng)代碼簿中(在另一端,相同長度的一個(gè)向量移出該自適應(yīng)代碼簿)。通過用他們的內(nèi)插值來更新相應(yīng)的濾波器系數(shù),在合成濾波器中饋入該激勵(lì)向量,在加權(quán)濾波器中產(chǎn)生的誤差向量來更新合成濾波器的狀態(tài)和加權(quán)濾波器的狀態(tài)。
S5.通過最小化子幀2的加權(quán)誤差DA2=||sw2-s~w2||2=||W2·s2-W2·H2·ga2·ca2||2(4)]]>來查找子幀2的最優(yōu)自適應(yīng)代碼簿向量ca2,在等式(4)中“2”表示子幀2。而且假定在計(jì)算每一個(gè)可能的向量ca2時(shí),使用的是ga2的最優(yōu)值(未量化)。
S6.通過最小化加權(quán)誤差DF2=||sw2-s~w2||2=||W2·s2-W2·H2·(ga2·ca2+gf2·cf2)||2(5)]]>查找子幀2的最優(yōu)固定代碼薄向量cf2。在計(jì)算每一個(gè)可能的向量cf2時(shí),假定使用的是gf2的最優(yōu)值。在本步中,使用了由步驟S5確定的ca2向量和最優(yōu)值ga2。
S7.向量量化所有的增益ga1,gf1,ga2和gf2。通過向量量化器,相應(yīng)的量化向量[g^a1g^a2g^a3g^a4]]]>從增益代碼簿獲得。該代碼簿可以表示為[g^a1g^f1g^a2g^f2]T∈{[ci(0)ci(1)ci(2)ci(3)]T}i=0N-1(6)]]>其中ci(0),ci(1),ci(2),ci(3)為增益可以被量化成特定的值。這樣,能從0到N-1之間變化某個(gè)索引Ⅰ可被選擇用來表示所有的4增益,向量量化器的任務(wù)就是查找該索引。這可以通過最小化下面的表達(dá)式而獲得DG=α·DG1+β·DG2(7)其中α,β為常數(shù)。第一子幀和第二子幀的增益量化準(zhǔn)則由下面給出DG1=||sw1-s~w1||2=||W1·s1-W1·H1·(ci(0)·ca1+ci(1)·cf1)||2(8)]]>DG2=||sw2-s~w2||2=||W2·s2-W2·H2·(ci(2)·ca2+ci(3)·cf2)||2(9)]]>因此j=argmini∈{0,N-1}{α·DG1+β·DG2}(10)]]>
以及[g^a1g^f1g^a2g^f2]T=[cj(0)cj(1)cj(2)cj(3)]T(11)]]>S8.恢復(fù)在步驟S3內(nèi)保存的自適應(yīng)代碼簿狀態(tài),合成濾波器狀態(tài)和加權(quán)濾波器狀態(tài)。
S9.使用第一子幀的最終激勵(lì)值更新自適應(yīng)代碼簿狀態(tài),合成濾波器狀態(tài)和加權(quán)濾波器狀態(tài)。此時(shí)使用量化增益,如x^1=g^a1·ca1+g^f1·cf1]]>S10.使用第二子幀的最終激勵(lì)值更新自適應(yīng)代碼簿狀態(tài),合成濾波器狀態(tài)和加權(quán)濾波器狀態(tài)。此時(shí)使用量化增益,如x^2=g^a2·ca2+g^f2·cf2]]>到此為止兩個(gè)子幀的編碼過程就完成了。接下來對下2個(gè)子幀重復(fù)步驟S1~S10,或者是若已經(jīng)到達(dá)一幀的結(jié)束,就開始一個(gè)新的、下一幀的線性預(yù)測編碼循環(huán)。
存儲(chǔ)和恢復(fù)自適應(yīng)代碼薄、合成濾波器和加權(quán)濾波器的狀態(tài)的理由是為了在步驟S4中用未量化的(最優(yōu))增益來更新這些元件。然而,這些增益在譯碼器中是無法使用的,因?yàn)樗鼈兪菑膶?shí)際語音信號(hào)s計(jì)算得到的。相反,僅量化增益在譯碼器可利用,這就是說正確的內(nèi)部狀態(tài)必須是在增益量化后在編碼器中重新生成的。否則,編碼器和譯碼器將不會(huì)有相同的內(nèi)部狀態(tài),這將導(dǎo)致在對同一語音參數(shù)編碼器和譯碼器中的語音信號(hào)不同步。
等式(7)和(10)中包含的加權(quán)系數(shù)α、β了說明第一和第二子幀的相對重要性。它們可方便地由能量參數(shù)確定,即高能量子幀能夠比低邏輯子幀獲得一個(gè)較低的權(quán)值。這會(huì)改善開始(講話開始)和結(jié)束(講話結(jié)束)處的性能。其它的加權(quán)功能,例如在非開始或結(jié)束部分以發(fā)聲為基礎(chǔ)的功能,也是可行的。加權(quán)過程中適用的算法可以概括為如果子幀2的能量>子幀1能量的兩倍,那么就使α=2β如果子幀2的能量<子幀1能量的0.25倍,那么就使α=0.5β否則,使α=β圖3為依據(jù)本發(fā)明的一個(gè)LPAS編碼器實(shí)施例的方框圖。單元10~40與圖1中的相似單元相對應(yīng)。然而,搜索算法塊32已經(jīng)被一個(gè)搜索算法塊50所代替,并分別在控制線60、62、64和66上增加了代碼薄和縮放單元的控制存儲(chǔ)塊52、54、56和一個(gè)向量量化器58。存儲(chǔ)塊52、54、56分別用來存儲(chǔ)和恢復(fù)自適應(yīng)代碼薄18、合成濾波器14和加權(quán)濾波器16的狀態(tài)。向量量化器58從增益代碼薄68中查找最優(yōu)增益量化向量。
例如,搜索算法塊50和向量量化器58的功能是在若干微處理器或者微/信號(hào)處理器組合上實(shí)現(xiàn)的。
在以上的描述中,假定2個(gè)子幀的增益是量化向量。如果復(fù)雜性的增加是可以接受的,可以通過擴(kuò)展該想法將一語音幀的所有子幀的增益進(jìn)行向量量化來使性能進(jìn)一步提高。為了在增益向量量化之后獲得編碼器中準(zhǔn)確的最后內(nèi)部狀態(tài),需要將若干子幀沿原樣返回。
因此,不影響編碼器和譯碼器之間的同步,就可能對子幀邊界的增益進(jìn)行向量量化。這會(huì)在相當(dāng)大程度上提高壓縮性能,并允許相當(dāng)大的位速率存儲(chǔ)。例如已經(jīng)發(fā)現(xiàn),當(dāng)用6位對每一子幀增益進(jìn)行2維向量量化時(shí),在品質(zhì)沒有下降的情況下可用8位來對2個(gè)子幀增益進(jìn)行4維向量量化。因此每一子幀會(huì)存儲(chǔ)2位(1/2(2*6-8))。這對應(yīng)于5ms子幀的0.4kb/s,在低位速率(如低于8kb/s)時(shí)一個(gè)相當(dāng)大的存儲(chǔ)。
值得注意的是,沒有引入額外的算法延時(shí),是因?yàn)樘幚磉^程僅僅對子幀級(jí)而不是幀級(jí)進(jìn)行改變,此外,這個(gè)改變過程僅僅是與復(fù)雜性的一小小的增加有關(guān)聯(lián)。
包含子幀(α,β)之間的誤差加權(quán)的最佳實(shí)施例會(huì)導(dǎo)致語音品質(zhì)的提高。
對本領(lǐng)域技術(shù)人員來說,在沒有背離附加權(quán)利要求所定義的范圍之內(nèi),可以對本發(fā)明進(jìn)行各種修改和變化。
參考資料[1]EP0764939(AT&T),第6頁,段落A-第7頁[2]EP0684705(Nippon Telegraph&Telephone),第39列第17行-第40列第4行
權(quán)利要求
1.一種線性預(yù)測分析綜合編碼方法,其特征在于確定多個(gè)子幀的最優(yōu)增益;對上述最優(yōu)增益進(jìn)行向量量化;以及用上述向量量化后的增益來更新內(nèi)部編碼器狀態(tài)。
2.如權(quán)利要求1所述的方法,其特征在于在用最優(yōu)增益對一子幀進(jìn)行編碼后,存儲(chǔ)一個(gè)內(nèi)部編碼器狀態(tài);在對若干子幀的增益向量量化之后,恢復(fù)上述內(nèi)部編碼器狀態(tài);用確定的代碼薄向量和上述向量量化后的增益來更新上述內(nèi)部編碼器狀態(tài)。
3.如權(quán)利要求2所述的方法,其特征在于上述內(nèi)部編碼器狀態(tài)包括一自適應(yīng)代碼薄狀態(tài)、一合成濾波器狀態(tài)和一加權(quán)濾波器狀態(tài)。
4.如權(quán)利要求1、2或3所述的方法,其特征在于對2個(gè)子幀的增益進(jìn)行向量量化。
5.如權(quán)利要求1、2或3所述的方法,其特征在于對上述幀的所有子幀的增益進(jìn)行向量量化。
6.如權(quán)利要求1所述的方法,其特征在于用加權(quán)系數(shù)對不同子幀的誤差分量進(jìn)行加權(quán);以及使加權(quán)誤差分量的和最小。
7.如權(quán)利要求6所述的方法,其特征在于每一加權(quán)系數(shù)都取決于相應(yīng)子幀的能量。
8.一種線性預(yù)測分析綜合編碼器,其特征在于一個(gè)搜索算法塊(50),用于確定多個(gè)子幀的最優(yōu)增益;一個(gè)向量量化器(58),用于對上述最優(yōu)增益進(jìn)行向量量化;以及用上述向量量化增益來更新內(nèi)部編碼器狀態(tài)的裝置(50、52、54、56)。
9.如權(quán)利要求8所述的編碼器,其特征在于裝置(52、54、56),用于在用最優(yōu)增益對一子幀進(jìn)行編碼后存儲(chǔ)一內(nèi)部編碼器狀態(tài);裝置(50),用于在對若干子幀的增益進(jìn)行向量量化后恢復(fù)上述內(nèi)部編碼器狀態(tài);以及裝置(50),用于利用確定的代碼薄向量和上述向量量化增益來更新上述內(nèi)部編碼器狀態(tài)。
10.如權(quán)利要求9所述的編碼器,其特征在于上述用于存儲(chǔ)內(nèi)部編碼器狀態(tài)的裝置包括一自適應(yīng)代碼薄狀態(tài)存儲(chǔ)裝置(52)、一合成濾波器狀態(tài)存儲(chǔ)裝置(54)和一加權(quán)濾波器狀態(tài)存儲(chǔ)裝置(56)。
11.如權(quán)利要求8、9或10所述的編碼器,其特征在于裝置對兩個(gè)子幀的增益進(jìn)行向量量化。
12.如權(quán)利要求8、9或10所述的編碼器,其特征在于裝置對一語音幀所有子幀的增益進(jìn)行向量量化。
13.如權(quán)利要求8所述的編碼器,其特征在于裝置(58)利用加權(quán)系數(shù)對不同子幀的誤差分量進(jìn)行加權(quán),并使加權(quán)誤差分量的和最小化。
14.如權(quán)利要求13所述的編碼器,其特征在于裝置(58)確定加權(quán)系數(shù)取決于相應(yīng)子幀的能量。
全文摘要
一個(gè)線性預(yù)測分析合成編碼器包含一個(gè)搜索算法塊(50)和一個(gè)向量量化器(58),用于對一幀的多個(gè)子幀最優(yōu)增益向量量化。利用(50,52,54,56)對增益進(jìn)行向量量化來更新內(nèi)部編碼器狀態(tài)。
文檔編號(hào)G10L19/083GK1318190SQ9981100
公開日2001年10月17日 申請日期1999年8月24日 優(yōu)先權(quán)日1998年9月16日
發(fā)明者E·埃庫登, R·哈根 申請人:艾利森電話股份有限公司