專利名稱::一種可分級(jí)矢量量化編解碼方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及音頻信號(hào)編解碼
技術(shù)領(lǐng)域:
,尤其是涉及一種可分級(jí)矢量量化編解碼方法。
背景技術(shù):
:音頻編碼技術(shù)涉及矢量量化技術(shù),目前較為常用的量化技術(shù)是格型矢量量化技術(shù),在低碼率的情況下用得相當(dāng)普及。在3GPP(第三代合作伙伴)組織推薦的AMR-WB+(自適應(yīng)多速率寬帶)音頻編碼標(biāo)準(zhǔn)中TCX(變換碼激勵(lì)編碼)部分所運(yùn)用的量化技術(shù)就是建立在8維高斯格點(diǎn)上的多位率格型矢量量化技術(shù)。它作用于預(yù)整形后的頻譜數(shù)裙,以八個(gè)數(shù)為一組,根據(jù)就近原則將這八個(gè)數(shù)量化為8維格集合上的點(diǎn)。之后選取不同的碼本,輸出對(duì)應(yīng)的基本碼本標(biāo)識(shí)位,基本碼本索引和擴(kuò)展碼本的值。經(jīng)過對(duì)現(xiàn)有及技術(shù)文獻(xiàn)的檢索發(fā)現(xiàn),美國(guó)專利US2005/0285764《Methodandsystemformulti-ratelatticevectorquantizationofasignal》(多碼率格型矢量量化方法和裝置)中提出的Voronoi擴(kuò)展(最近鄰擴(kuò)展)方法已經(jīng)在AMR-WB+標(biāo)準(zhǔn)總采用,即編碼器通過Voronoi擴(kuò)展裝置來(lái)量化大值的矢量,即在矢量量化中遇到較大矢量值的時(shí)候,使用Voronoi擴(kuò)展裝置將基礎(chǔ)碼本按指數(shù)擴(kuò)大,直到碼本達(dá)到能將大矢量值包含進(jìn)來(lái)。求Voronoi擴(kuò)展碼本值時(shí),需要首先對(duì)輸入的樣點(diǎn)和生成矩陣做乘法運(yùn)算得到矢量v,然后再通過公式y(tǒng)=mc+v(其中y為待量化矢量,c為其對(duì)應(yīng)的基礎(chǔ)碼本中的碼字,m為基礎(chǔ)碼本的放大倍數(shù),v為其對(duì)應(yīng)的Voronoi碼本的碼字)球的擴(kuò)展后的碼本c,并判斷c是否位于基礎(chǔ)碼本中。但這種方法大量使用了乘法和加法操作,從而導(dǎo)致計(jì)算復(fù)雜度大增。檢索中還發(fā)現(xiàn),中國(guó)專利200810038192.x《基于變長(zhǎng)分裂表的矢量量化高階碼本擴(kuò)展編碼及解碼系統(tǒng)》采用的是變長(zhǎng)分裂表實(shí)現(xiàn)高階碼本擴(kuò)展編碼和解碼。該系統(tǒng)采用將大值分裂為低階核心值和高階分裂量之和的策略,低階核心值采用格型矢量量化,高階分裂量采用了基于變長(zhǎng)分裂表的兩級(jí)擴(kuò)展方法,該方法避免了大量乘法運(yùn)算。但隨著擴(kuò)展級(jí)數(shù)的增加,擴(kuò)展分裂表的存儲(chǔ)量也將隨之成指數(shù)增加,將較大程度上消耗存儲(chǔ)空間。
發(fā)明內(nèi)容本發(fā)明針對(duì)上述現(xiàn)有技術(shù)的不足,提出了一種可分級(jí)矢量量化編解碼方法。本發(fā)明的編碼技術(shù)方案包括以下步驟步驟l.l,提取表示源信號(hào)的幀的點(diǎn)陣矢量I;步驟1.2,對(duì)點(diǎn)陣矢量^進(jìn)行點(diǎn)陣壓縮得到格點(diǎn)矢量y;步驟i.3,判斷目標(biāo)矢量r是否包括在基礎(chǔ)碼本c中;如果目標(biāo)矢量F包括在基礎(chǔ)碼本C中,對(duì)目標(biāo)矢量F在基礎(chǔ)碼本C中進(jìn)行矢量量化索引査找,得到基礎(chǔ)碼本量化索引I并編碼輸出;如果目標(biāo)矢量y不包括在基礎(chǔ)碼本C中,分裂目標(biāo)矢量r得到基礎(chǔ)部分矢量6me—r和擴(kuò)展部分矢量extend—r,所述擴(kuò)展部分矢量extend—7按照擴(kuò)展層數(shù)"分裂為各層擴(kuò)展部份矢量extend—K,1《Kn;對(duì)基礎(chǔ)部分矢量kwe—r在基礎(chǔ)碼本C中進(jìn)行矢量量化索引査找,得到基礎(chǔ)碼本量化索引I,對(duì)各層擴(kuò)展部份矢量extend一《分別在擴(kuò)展碼本E中進(jìn)行矢量量化索引查找,得到相應(yīng)各層擴(kuò)展量化索引extend—/,,1《/《";最后將所得基礎(chǔ)碼本量化索引I、各層擴(kuò)展量化索引extend—和擴(kuò)展層數(shù)"編碼輸出;所述擴(kuò)展部分矢量extend一y按照擴(kuò)展層數(shù)"分裂為各層擴(kuò)展部份矢量extend_",具體方式如下,(1)計(jì)算擴(kuò)展部分矢量extend—:T的擴(kuò)展層數(shù)""=L!ogz(max(extend一_y,,extendj2,…,extendj》/+1其中,L,」表示上限取整,R為基礎(chǔ)碼本球殼半徑,z為擴(kuò)展碼本球殼半徑,extend—少,表示擴(kuò)展部分矢量extend—y的第々維元素,A取1K,K為總維數(shù);(2)根據(jù)擴(kuò)展層數(shù)n計(jì)算得到每層擴(kuò)展部份矢量{extend_K,extend—72,…,extend—7n}其中,第一層的擴(kuò)展部份矢量extend—K計(jì)算如下,extend一K=mod((extend—r/Z)其中,第二層及以上的擴(kuò)展部份矢量extend—^計(jì)算如下,i-lextend—y=mod(((extend—)7/i)-^ZJextend—"),Z')其中2^z^",且i為整數(shù)。本發(fā)明的相應(yīng)解碼技術(shù)方案包括以下步驟步驟2.1,從編碼碼流中提取基礎(chǔ)碼本量化索引I以及擴(kuò)展層數(shù)";步驟2.2,根據(jù)擴(kuò)展層數(shù)"解碼量化索引,方式如下;如果11=0,使用基礎(chǔ)碼本C解碼基礎(chǔ)碼本量化索引I,得到目標(biāo)矢量y;如果nx),根據(jù)基礎(chǔ)碼本解碼索引i得到基礎(chǔ)部分矢量^;^一:r,根據(jù)各層擴(kuò)展量化索引extend—/,合成擴(kuò)展部分矢量extend—:r,1^/2";合成基礎(chǔ)部分矢量^we一:r和擴(kuò)展部分矢量extend—r,得到目標(biāo)矢量y;所述根據(jù)各層擴(kuò)展量化索引extend—/,合成擴(kuò)展部分矢量extend一:r,具體方式如下,(1)根據(jù)擴(kuò)展層數(shù)",讀入extend—/^extend—/.."extend—/(2)根據(jù)各層擴(kuò)展量化索引extend—/,査找得到各層擴(kuò)展部份矢量extencL;^,,1《",擴(kuò)展部分矢量extend一r由各層擴(kuò)展部份矢量extend一i;合成,其合成公式extend—;r^i^Z"extend—兀,R為基礎(chǔ)碼本球殼半徑,Z為擴(kuò)展碼本球殼半徑。本發(fā)明采用多層擴(kuò)展部份矢量量化編碼,根據(jù)實(shí)際矢量球殼半徑大小分配最少的比特?cái)?shù),實(shí)現(xiàn)多級(jí)矢量量化。并且提供了相應(yīng)的解碼方案。因?yàn)椴捎镁?xì)的分級(jí)粒度進(jìn)行高階碼本擴(kuò)展,既避免隨著級(jí)數(shù)增加造成的存儲(chǔ)空間耗損,又節(jié)省了對(duì)較小碼字進(jìn)行矢量量化時(shí)開銷的比特?cái)?shù),同時(shí)降低了編解碼量化算法的復(fù)雜度,因此本發(fā)明技術(shù)方案能適用于不同網(wǎng)絡(luò)帶寬。圖l本發(fā)明實(shí)施例的可分級(jí)矢量量化編碼流程圖;圖2本發(fā)明實(shí)施例的可分級(jí)矢量量化解碼流程圖;圖3本發(fā)明的基礎(chǔ)碼本索引分配示意圖。具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明的實(shí)施例做詳細(xì)說(shuō)明。本實(shí)施例在本發(fā)明方法前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式與具體的操作過程,但本發(fā)明的實(shí)施例不限于下述的實(shí)施例。音頻領(lǐng)域上一般涉及4,8,16維,本實(shí)施例中選取的是8維浮點(diǎn)矢量輸入,實(shí)現(xiàn)基礎(chǔ)碼本和多層擴(kuò)展編碼過程,但本發(fā)明技術(shù)方案對(duì)其它數(shù)目維也適用。在比特?cái)?shù)充足的情況下,實(shí)施例實(shí)現(xiàn)了叫格點(diǎn)到編碼輸出的無(wú)損編碼;在比特?cái)?shù)不充分或者是網(wǎng)絡(luò)帶寬限制的情況下,根據(jù)調(diào)整擴(kuò)展層數(shù),實(shí)現(xiàn)M格點(diǎn)的粗編碼。為了降低碼率,實(shí)施例還在本發(fā)明技術(shù)方案基礎(chǔ)上進(jìn)行了全零校驗(yàn)和奇偶變換。參見附圖l,可分級(jí)矢量量化編碼流程如下歩驟IOI,提取表示源信號(hào)的幀的點(diǎn)陣矢量i,將輸入的每幀源信號(hào)切斷為N維矢量Z,本實(shí)施例選取的維數(shù)1^=8。歩驟102,對(duì)輸入浮點(diǎn)8維矢量壓縮為i^8格點(diǎn),即格點(diǎn)矢量F。步驟102具體實(shí)施時(shí),/^8格型結(jié)構(gòu)的格點(diǎn)具有兩個(gè)特性,特性一是i^;格點(diǎn)8維矢量的分量和為4的倍數(shù);特性二是iA格點(diǎn)8維矢量分量全部為奇數(shù)或者全部為偶數(shù)。i^8格點(diǎn)的定義如下碼=2Z^U+(U,1,1,U,1,1)〉,其中£>8=((X,…,X8)eZ81;q,…,X8為偶數(shù)l;根據(jù)朋8格點(diǎn)定義,將輸入浮點(diǎn)8維矢量壓縮為朋8格點(diǎn),7={力,少2,...,3^。A為Y的第H隹值,A取1K,總維數(shù)K二8。步驟103,實(shí)施例對(duì)朋8格點(diǎn)做全零矢量判定。步驟103具體實(shí)施時(shí),對(duì)1^0^,h,…,W作全零判定,如果對(duì)于任意"{1,2,...,8},均冇力=0,那么r為全零矢量,全零標(biāo)志位^ra—ykg=l,直接轉(zhuǎn)到步驟110;否則為非全零矢量,全零標(biāo)志位zera一y^g-0。這樣即可實(shí)現(xiàn)對(duì)格點(diǎn)矢量y進(jìn)行全零校驗(yàn)。步驟104,對(duì)非全零的及£8格點(diǎn)進(jìn)行全奇全偶判定,計(jì)算奇偶標(biāo)記位o必—y/"g。步驟104具體實(shí)施時(shí),根據(jù)7^8格點(diǎn)的第二特性,/^8格點(diǎn)y的每維矢量將全部是奇數(shù)或者全部是偶數(shù),奇偶校驗(yàn)位o^/—y/flg為,ocW一^/7ag二」Y為全奇格點(diǎn);j)Y為全偶格點(diǎn);步驟105,根據(jù)奇偶標(biāo)記位o^^一y"g對(duì)非全零的i^8格點(diǎn)進(jìn)行奇偶算法變換。步驟105具體實(shí)施時(shí),具體的奇偶變換算法如下,得到變換后輸出8維格點(diǎn)矢量y,0^,^,…,少Jodd—flag=l;l+",^,…,yjodd—flag=0;步驟106,根據(jù)矢量半徑,確定是否進(jìn)行多層擴(kuò)展編碼。步驟106具體實(shí)施時(shí),在基礎(chǔ)矢量量化編碼中選擇的碼本矢量半徑限制在一定的范圍內(nèi),通過8維格點(diǎn)矢量F半徑的判定,確定是否基礎(chǔ)碼本能完全覆蓋編碼格點(diǎn)矢量r。本發(fā)明實(shí)施例設(shè)置的基礎(chǔ)碼本C的半徑為R=4,即如果^<4,r^max(l少」,l少2l,…,l;;81),那么格點(diǎn)矢量7在基礎(chǔ)碼本c之內(nèi),基礎(chǔ)部份矢量6"^—:r-:r,并設(shè)置擴(kuò)展層數(shù)"=0,進(jìn)入步驟ios。否則格點(diǎn)矢量r不在基礎(chǔ)碼本C之內(nèi),則進(jìn)入步驟107。步驟107,確定進(jìn)行多層擴(kuò)展,作8維矢量分裂,分裂為8維基礎(chǔ)部分矢量和8維擴(kuò)展部份矢量。步驟107具體實(shí)施時(shí),將8維格點(diǎn)矢量y分裂成基礎(chǔ)部份矢量Z)"se—:r和擴(kuò)展部份矢量extend—r,其中基礎(chǔ)部份矢量6"化—r轉(zhuǎn)入步驟108,擴(kuò)展部份矢量extend一F轉(zhuǎn)入步驟109,具體的分裂算法如下,可見y由基礎(chǔ)部份矢量^we一;r和擴(kuò)展部份矢量extend—y合成,其分解算法為Zw化—:r=mod(7,4)和extend一7=|7-mod(J,4)|。例如,如果8維矢量1^{-7,-5,-3,-1,1,3,5,7},由—F=mod(7,4)得,基礎(chǔ)部份矢量&"—y={-3,-1,-3,-1,1,3,1,3},根據(jù)公式extend—]7-}"—mod(y,4),J廣展咅卩傷、矢量extend—F={4,4,0,0,0,0,4}。步驟108,對(duì)基礎(chǔ)部份矢量^se一;r或是不需擴(kuò)展編碼的s維格點(diǎn)矢量y進(jìn)行格式矢量量化索引編碼。步驟108具體實(shí)施時(shí),本發(fā)明實(shí)施例設(shè)置的基礎(chǔ)碼本最大球殼半徑為R=4,艮卩(kwe一力,k^U2,…,6ose一7j中|kzse_j^|<4,卜asuj表示基礎(chǔ)部份矢量Zwwe—y的第A維元素,A取l8。本發(fā)明實(shí)施例的基礎(chǔ)碼本C分為Q1,Q2,Q3三個(gè)碼本,一共有N=9個(gè)絕對(duì)引導(dǎo)項(xiàng),絕對(duì)引導(dǎo)項(xiàng)包括半徑從1一4的所有奇數(shù)引導(dǎo)項(xiàng)。絕對(duì)引導(dǎo)項(xiàng)每維矢量均為非負(fù)整數(shù),而且按照從大至小的順序進(jìn)行排列?;A(chǔ)碼本C的4個(gè)子碼本,所對(duì)應(yīng)的絕對(duì)引導(dǎo)項(xiàng)如表1所示,其中X表示絕對(duì)引導(dǎo)項(xiàng)在碼本Q1,Q2,Q3之一選中表l絕對(duì)引導(dǎo)項(xiàng)表<table>tableseeoriginaldocumentpage10</column></row><table>基礎(chǔ)碼本的矢量量化索引方式采用了三級(jí)索引,絕對(duì)引導(dǎo)項(xiàng)索引,符號(hào)引導(dǎo)項(xiàng)索引和全局索引表。如附圖3,第一層是符號(hào)變化,第二層是矢量的排列變化,因此對(duì)于任意一個(gè)在基礎(chǔ)碼本之中的輸入矢量,可以先求取其絕對(duì)引導(dǎo)項(xiàng),與絕對(duì)引導(dǎo)項(xiàng)表中的第一項(xiàng)、第二項(xiàng)...第N項(xiàng)絕對(duì)引導(dǎo)項(xiàng)進(jìn)行對(duì)比,找出索引表的起始點(diǎn)絕對(duì)引導(dǎo)項(xiàng);然后確定符號(hào)變化信息,找到符號(hào)引導(dǎo)項(xiàng)的第二層入口地址,即在絕對(duì)引導(dǎo)項(xiàng)的基礎(chǔ)上增加符號(hào)后的符號(hào)引導(dǎo)項(xiàng);最后經(jīng)過矢量的軼,即增加排列變化,來(lái)找到矢量的索引值,將該索引值作為基礎(chǔ)碼本量化索引/值轉(zhuǎn)入步驟109。舉例說(shuō)明三級(jí)索引的具體步驟,如果輸入矢量為{-3,1,3,1,-1,3,1,3},那么一級(jí)索引得到第五項(xiàng)絕對(duì)引導(dǎo)項(xiàng),即{3,3,3,3,1,1,1,1};符號(hào)變化后的二級(jí)索引是將符號(hào)引導(dǎo)項(xiàng){3,3,3,-3,1,1,1,-1}對(duì)應(yīng)絕對(duì)引導(dǎo)項(xiàng){3,3,3,3,1,1,1,1},即査表得到索引號(hào);三級(jí)索引是將{3,3,3,-3,1,1,1,-1}進(jìn)行排列計(jì)算得到全局索引表中的索引值,此時(shí)實(shí)現(xiàn)了矢量{-3,1,3,1,-1,3,1,3}的索引值査找。步驟109,對(duì)8維擴(kuò)展部份矢量進(jìn)行分級(jí)量化得到分級(jí)層數(shù)n和每層索引值。步驟109具體實(shí)施時(shí),擴(kuò)展部份矢量extend—r采用多級(jí)擴(kuò)展的矢量量化方法,對(duì)基礎(chǔ)碼本不能覆蓋的部分進(jìn)行擴(kuò)展編碼,設(shè)置擴(kuò)展部份矢量量化的半徑為Z=2,具體的可分級(jí)擴(kuò)展方法如下,計(jì)算擴(kuò)展部份矢量extend一y的擴(kuò)展層數(shù)"<formula>formulaseeoriginaldocumentpage11</formula>其中,L,」表示上限取整,如果矢量球殼半徑越大,擴(kuò)展層數(shù)"越大。如表2所示,所謂矢量球殼半徑即為max(extend—x,extend—y2,.."extend—少8)<table>tableseeoriginaldocumentpage11</column></row><table>n=04n=l8n=216n=332n=464n-5128n=6256512…計(jì)算得到每層擴(kuò)展部份矢量{extend—,extend—&,…,extend_i;}第一層的擴(kuò)展部份矢量extend一i;計(jì)算如下,extend—K=mod((extend—F/4),2)第二層以上的擴(kuò)展部份矢量extend_計(jì)算如下,i一lextend—"=mod(((extend—7/i)—^"extend—),Zj)其中2SK",且/為整數(shù);中間變量j用于標(biāo)識(shí)已經(jīng)算出來(lái)的數(shù)層擴(kuò)展部分矢量,以便基于這個(gè)基礎(chǔ)之上計(jì)算下一層的擴(kuò)展部分矢量。本發(fā)明對(duì)每層擴(kuò)展部份矢量采用矢量量化編碼方法,每層編碼耗費(fèi)8bitS,W層擴(kuò)展部份矢量耗費(fèi)比特?cái)?shù)為8X";每層擴(kuò)展部份矢量量化索引值extend—/,為,extend—=S2k"extend—>^hi,其中1^'S",且f為整數(shù)。本發(fā)明以一級(jí)擴(kuò)展碼本的碼本矢量為例,一級(jí)擴(kuò)展碼本共有256項(xiàng)矢量,需要8比特進(jìn)行編碼。選取一級(jí)擴(kuò)展碼本的碼本矢量和基礎(chǔ)碼本,能夠覆蓋所有的球殼半徑不大于8的矢量。對(duì)于目標(biāo)矢量1^(^,_F2,...,A},|^|||<-8,而基礎(chǔ)碼本可以查找所有球殼半徑不大于4的矢量,因此基礎(chǔ)碼本可生成的矢量為6a"—r,kwe—&||<=4,由于擴(kuò)展碼本中extend—h取值有兩種,分別是0和4。例如,F(xiàn)={-7,-5,-3,-1,1,3,5,7},由歩驟107得到的擴(kuò)展部份矢量為{4,4,0,0,0,0,0,4},用w=log2(max(extend一j,,extend—少2,...,extend一y8)/4)+1,i十算f尋至ij擴(kuò)展層數(shù)"=1,第一層擴(kuò)展部份矢量為extend—K={1,1,0,0,0,0,0,1},根據(jù)擴(kuò)展碼本E的球殼半徑Z=2,矢量量化索引計(jì)算公式為extend—/,.=^2k"extend—&,搜索計(jì)算得到第一層擴(kuò)展量化索引為extend—/=131,艮卩f取l;為便于理解本發(fā)明技術(shù)方案,另以二級(jí)擴(kuò)展碼本的碼本矢量為例,對(duì)于目標(biāo)矢量7={^,72,…,少8},叫<=16。以7={-15,-13,-11,-9,9,11,13,15}為例,基礎(chǔ)碼本可以查找所有球殼半徑不大于4的矢量,艮卩6""—f={-3,-1,-3,-1,1,3,1,3},用w=log2(max(extend一^,extend—>>2,…,extend一;v8),4)」+1,計(jì)算得至ij擴(kuò)展層數(shù)"=2,擴(kuò)展部分矢量為extend—7={12,12,8,8,8,8,12,12},第一層擴(kuò)展部份矢量extend—]^={1,1,0,0,0,0,1,1},第二層擴(kuò)展部份矢量extend—72={1,l,1,1,1,1,1,1}。擴(kuò)展碼本E的球殼半徑Z=2,矢量量化索引計(jì)算公式為extend—/,=Z2k—、xtendj,t,量化后的索引為extend—A=195,extend—/2=255,艮P/分別取1、2。步驟IIO,編碼端輸出,包括奇偶校驗(yàn)位oc^—yZag、全零標(biāo)志位zero—yag、索引值、分級(jí)層數(shù)n打包輸出。所謂索引值分兩種情況如果目標(biāo)矢量y包括在基礎(chǔ)碼本C中,未進(jìn)行擴(kuò)展,直接將基礎(chǔ)碼本量化索引I編碼輸出。否則對(duì)應(yīng)擴(kuò)展的情況,則是將所得基礎(chǔ)碼本量化索引I、各層擴(kuò)展量化索引extend—/,和擴(kuò)展層數(shù)"編碼輸出。針對(duì)按照以上方式生成的量化編碼結(jié)果,本發(fā)明實(shí)施例的可分級(jí)矢量量化解碼流程參見附圖2:步驟201,將編碼端傳輸過來(lái)的數(shù)據(jù)解包得到各個(gè)參數(shù)。步驟201具體實(shí)施時(shí),將編碼端傳送來(lái)的打包作為輸入,解包得到全零標(biāo)志位^ra—y"g,奇偶校驗(yàn)位o必一/唯,基礎(chǔ)碼本索引I值,擴(kuò)展層數(shù)"。步驟202,判定輸出全零標(biāo)志位zwo—/7%值。步驟202具體實(shí)施時(shí),如果zm—y/"g為1,輸出8維矢量7為{0,0,0,0,0,0,0,0},直接進(jìn)入步驟208結(jié)束該8維矢量解碼,進(jìn)入下一8維矢量解碼;如果zero—y。g為0,那么進(jìn)行后續(xù)步驟。步驟203,判定編碼端是否進(jìn)行了擴(kuò)展編碼。步驟203具體實(shí)施時(shí),如果進(jìn)行了擴(kuò)展編碼,將進(jìn)行歩驟204和步驟205,否則只進(jìn)行步驟204,具體判定方法如下,如果"=0,那么判定為該編碼輸入端作了基礎(chǔ)編碼,如果">0,那么該解碼輸入端作了基礎(chǔ)編碼和擴(kuò)展編碼兩部分。步驟204,根據(jù)基礎(chǔ)碼本量化索引I査找基礎(chǔ)碼本C到/t^格點(diǎn)的基礎(chǔ)部份14矢量&化—7。步驟204實(shí)現(xiàn)基礎(chǔ)部分解碼具體實(shí)施時(shí),根據(jù)基礎(chǔ)碼本量化索引I的索引值査找格型矢量量化索引到i^8格點(diǎn)的基礎(chǔ)部份矢量^"—r,索引碼本是半徑為R=4的基礎(chǔ)碼本C,和編碼端所用碼本一致。步驟205,從編碼碼流提取每層擴(kuò)展編碼輸出的各層擴(kuò)展量化索引extend_/;,l&^";根據(jù)擴(kuò)展層數(shù)"和各層擴(kuò)展部份矢量extend—};得到擴(kuò)展部分矢量extend一;r,1S/S"。步驟205擴(kuò)展部分解碼具體實(shí)施時(shí),根據(jù)擴(kuò)展層數(shù)",讀入extend/={extend—/,extend—/2,...,extend—/}利用逆擴(kuò)展算法得到各層擴(kuò)展部份矢量extend—K,具體算法如下,8extend一《=Z2M((extend—/a)JM)(2卜1》"i,總的擴(kuò)展部份矢量extend—r由各層擴(kuò)展部份矢量extend—j;合成,其合成算法為,extend—F"f2"extend一《'■=i步驟206,由基礎(chǔ)部份矢量^化—y和擴(kuò)展部分矢量extend—y合成8維格點(diǎn)矢量r。步驟206具體實(shí)施時(shí),8維格點(diǎn)矢量F-extend—F+kwe—y。步驟207,根據(jù)輸出奇偶標(biāo)志位o^/—刀"g值,對(duì)輸出8維格點(diǎn)矢量r作奇偶校驗(yàn)。步驟207具體實(shí)施時(shí),根據(jù)輸出奇偶標(biāo)志位oc^Ly"g值,對(duì)輸出8維格點(diǎn)矢量r作奇偶校驗(yàn),具體奇偶變換算法如下,7=7+|認(rèn)jag-1|步驟20S,將解碼結(jié)果輸出,輸出結(jié)果為格點(diǎn)矢量:r。步驟208具體實(shí)施時(shí),將解碼結(jié)果輸出,輸出的格點(diǎn)矢量y為8維矢量。權(quán)利要求1.一種可分級(jí)矢量量化編碼方法,其特征在于包括以下步驟,步驟1.1,提取表示源信號(hào)的幀的點(diǎn)陣矢量X;步驟1.2,對(duì)點(diǎn)陣矢量X進(jìn)行點(diǎn)陣壓縮得到格點(diǎn)矢量Y;步驟1.3,判斷目標(biāo)矢量Y是否包括在基礎(chǔ)碼本C中;如果目標(biāo)矢量Y包括在基礎(chǔ)碼本C中,對(duì)目標(biāo)矢量Y在基礎(chǔ)碼本C中進(jìn)行矢量量化索引查找,得到基礎(chǔ)碼本量化索引I并編碼輸出;如果目標(biāo)矢量Y不包括在基礎(chǔ)碼本C中,分裂目標(biāo)矢量Y得到基礎(chǔ)部分矢量base_Y和擴(kuò)展部分矢量extend_Y,所述擴(kuò)展部分矢量extend_Y按照擴(kuò)展層數(shù)n分裂為各層擴(kuò)展部份矢量extend_Yi,1≤i≤n;對(duì)基礎(chǔ)部分矢量base_Y在基礎(chǔ)碼本C中進(jìn)行矢量量化索引查找,得到基礎(chǔ)碼本量化索引I,對(duì)各層擴(kuò)展部份矢量extend_Yi分別在擴(kuò)展碼本E中進(jìn)行矢量量化索引查找,得到相應(yīng)各層擴(kuò)展量化索引extend_Ii,1≤i≤n;最后將所得基礎(chǔ)碼本量化索引I、各層擴(kuò)展量化索引extend_Ii和擴(kuò)展層數(shù)n編碼輸出;所述擴(kuò)展部分矢量extend_Y按照擴(kuò)展層數(shù)n分裂為各層擴(kuò)展部份矢量extend_Yi,具體方式如下,(1)計(jì)算擴(kuò)展部分矢量extend_Y的擴(kuò)展層數(shù)n其中,id="icf0002"file="A2009100631710002C2.tif"wi="5"he="5"top="217"left="43"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/>表示上限取整,R為基礎(chǔ)碼本球殼半徑,Z為擴(kuò)展碼本球殼半徑,extend_yk表示擴(kuò)展部分矢量extend_Y的第k維元素,k取1~K,K為總維數(shù);(2)根據(jù)擴(kuò)展層數(shù)n計(jì)算得到每層擴(kuò)展部份矢量{extend_Y1,extend_Y2,...,extend_Yn}其中,第一層的擴(kuò)展部份矢量extend_Y1計(jì)算如下,extend_Y1=mod((extend_Y/R),Z)其中,第二層及以上的擴(kuò)展部份矢量extend_Yi計(jì)算如下,<mathsid="math0001"num="0001"><math><![CDATA[<mrow><msub><mrow><mi>extend</mi><mo>_</mo><mi>Y</mi></mrow><mi>i</mi></msub><mo>=</mo><mi>mod</mi><mrow><mo>(</mo><mrow><mo>(</mo><mrow><mo>(</mo><mi>extend</mi><mo>_</mo><mi>Y</mi><mo>/</mo><mi>R</mi><mo>)</mo></mrow><mo>-</mo><munderover><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mi>Z</mi><mi>j</mi></msup><msub><mrow><mi>extend</mi><mo>_</mo><mi>Y</mi></mrow><mi>j</mi></msub><mo>)</mo></mrow><mo>,</mo><msup><mi>Z</mi><mi>i</mi></msup><mo>)</mo></mrow></mrow>]]></math></maths>其中2≤i≤n,且i為整數(shù)。2.—種可分級(jí)矢量量化解碼方法,其特征在于包括以下步驟,步驟2.1,從編碼碼流中提取基礎(chǔ)碼本量化索引I以及擴(kuò)展層數(shù)";步驟2.2,根據(jù)擴(kuò)展層數(shù)"解碼量化索引,方式如下;如果r^0,使用基礎(chǔ)碼本C解碼基礎(chǔ)碼本量化索引I,得到目標(biāo)矢量r;如果nX),根據(jù)基礎(chǔ)碼本解碼索引i得到基礎(chǔ)部分矢量6""一r,根據(jù)各層擴(kuò)展量化索引extend—/,合成擴(kuò)展部分矢量extend一r,1SK";合成基礎(chǔ)部分矢量6"化—F和擴(kuò)展部分矢量extencL;r,得到目標(biāo)矢量F;所述根據(jù)各層擴(kuò)展量化索引extend—,.合成擴(kuò)展部分矢量extend—y,具體方式如下,(1)根據(jù)擴(kuò)展層數(shù)",讀入extend—extend—/"."extend—/"(2)根據(jù)各層擴(kuò)展量化索引extend—/,査找得到各層擴(kuò)展部份矢量extend—K,,1,擴(kuò)展部分矢量extend一:r由各層擴(kuò)展部份矢量extend—"合成,其合成公式extend—l^W^Zi-Extend—《,R為基礎(chǔ)碼本球殼半徑,Z為擴(kuò)展碼本球殼半徑。全文摘要本發(fā)明提出了一種可分級(jí)矢量量化編解碼方法。編碼時(shí),提取表示源信號(hào)的幀的點(diǎn)陣矢量X;對(duì)點(diǎn)陣矢量X進(jìn)行點(diǎn)陣壓縮得到格點(diǎn)矢量Y;判斷目標(biāo)矢量Y是否包括在基礎(chǔ)碼本C中,根據(jù)判斷結(jié)果進(jìn)行多級(jí)擴(kuò)展。解碼時(shí),從編碼碼流中提取基礎(chǔ)碼本量化索引I以及擴(kuò)展層數(shù)n;根據(jù)擴(kuò)展層數(shù)n解碼量化索引。本發(fā)明根據(jù)具體的碼本半徑,確定擴(kuò)展層數(shù),實(shí)現(xiàn)了精細(xì)的可分級(jí)矢量量化。文檔編號(hào)G10L19/00GK101599273SQ20091006317公開日2009年12月9日申請(qǐng)日期2009年7月14日優(yōu)先權(quán)日2009年7月14日發(fā)明者劉元元,成周,希杜,楊玉紅,胡瑞敏,昭謝申請(qǐng)人:武漢大學(xué)