專利名稱:基于小波變換的圖像壓縮方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息技術(shù)領(lǐng)域,具體涉及一種基于小波變換的數(shù)字圖像壓縮編碼方法。
背景技術(shù):
目前,小波變換的數(shù)字圖像壓縮編碼方法皆采用JPEG2000標準編碼方法,JPEG2000標準中的EBCOT編碼流程如下如圖1所示,它是將原始圖像經(jīng)過多級小波變換后得到小波系數(shù),然后將各個子帶的小波系數(shù)分割成一個個的系數(shù)塊(JPEG2000建議分成64×64或32×32為好),每個塊先進行重要性優(yōu)先編碼(EBC),再實現(xiàn)全局優(yōu)化截斷(OT)。為了實現(xiàn)重要性優(yōu)先編碼,將每一塊小波系數(shù)使用原碼表示后,最高位是符號位(0為正,1為負),其他位為系數(shù)的絕對值。系數(shù)絕對值中的同一位的集合稱為位面(如圖2所示),編碼過程中從絕對值高位面向低位面逐個位面掃描。對塊內(nèi)的每個系數(shù),如果它在位面k中的值是1,而且在比k更高的位面中都是0,則稱該系數(shù)在位面k..0中是顯著的。每個位面編碼時掃描三次,第一次掃描對周圍有已經(jīng)在比當前位面高的位面顯著的系數(shù)進行編碼,稱為顯著性擴散(Significance propagation),第二次掃描是輸出顯著的系數(shù)的當前位面值,稱為細化(Magnitude refinement),第三次掃描是對第一次掃描沒有檢測到的顯著系數(shù)進行掃描,稱為清理(Cleanup)。這樣,被認為重要的信息小波系數(shù)信息就優(yōu)先輸出,而且碼流中的每個位面的每個掃描過程輸出的信息都是可以截斷的,該編碼特征稱為“嵌入式編碼”。
JPEG2000具體的編碼過程如圖3所示,每個系數(shù)塊編碼完成后,再將每個系數(shù)塊的編碼結(jié)果通過優(yōu)化截斷(OT)組合在一起,構(gòu)成所謂的質(zhì)量層,這樣可以實現(xiàn)整個圖像的重要性優(yōu)先編碼。但是這樣做大大增加了編碼所需要的時鐘周期數(shù),而且使用全局性的OT增加了編碼系統(tǒng)的理論延遲,另外,這種做法雖然可以精確控制每一個單獨圖像的碼率,但是沒有有效的方法對多個圖像構(gòu)成的圖像序列質(zhì)量進行穩(wěn)定的控制。
EBCOT編碼器是JPEG2000編碼器的核心,由于對每個位面逐層編碼,而且每一個位面需要三次掃描,導致了編碼過程非常耗時,特別是在硬件實現(xiàn)過程中,占用的始終周期數(shù)特別多,遠遠超過了小波變換部分和算術(shù)編碼部分,成為整個JPEG2000編碼系統(tǒng)的瓶頸。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是克服上述現(xiàn)有技術(shù)的缺陷,提供一種可減少編碼所需要的時鐘周期數(shù),同時可對碼率和質(zhì)量進行控制且可實現(xiàn)較高的像素速率之小波變換的數(shù)字圖像壓縮編碼方法。
本發(fā)明是通過下面的技術(shù)方案解決上述技術(shù)問題的。它包括下述步驟1)對數(shù)字圖像進行小波變換得到小波系數(shù);2)對每個小波系數(shù)除以一個量化系數(shù),該量化系數(shù)在1.0到1000.0之間;3)將小波系數(shù)按照所在的子帶位置進行分塊;4)每個系數(shù)塊按位面進行掃描,位面掃描過程中將每個小波系數(shù)按照周圍小波系數(shù)的顯著性、小波系數(shù)符號、細化和通用輸出分為13類,其中顯著性分為6類,分類號為0-5,小波系數(shù)符號分為5類,分類號為6-10,細化之分類號為11,通用輸出分類號為12,然后根據(jù)類型按照不同的分布模型使用算術(shù)編碼器進行編碼。所述步驟3)是將小波系數(shù)分為不超過32×32大小的系數(shù)塊,系數(shù)塊的邊界不跨子帶,每個32×32系數(shù)塊再分成16×16的系數(shù)子塊,且每個系數(shù)塊根據(jù)所在的子帶位置分為LL、LH、HL和HH四種類型;所述步驟4)為①使用分類號12計算系數(shù)塊的最高有效位面號并輸出;②使用分類號12對每個16×16的系數(shù)子塊計算其最高有效位面號并輸出;③從最高有效位面開始到最低位面對系數(shù)塊進行掃描,掃描過程中跳過超過最高有效位面號的系數(shù)子塊;④在掃描過程中根據(jù)周圍系數(shù)的顯著性情況對當前位面不顯著的系數(shù)的顯著性特征分布進行分類,然后將系數(shù)的顯著性按照分類結(jié)果送到算術(shù)編碼器編碼輸出。在掃描過程中對不顯著系數(shù)根據(jù)周圍小波系數(shù)的顯著性情況進行分類包括下述步驟①先根據(jù)系數(shù)周圍的顯著性情況,計算該系數(shù)的權(quán)值,如果顯著,則根據(jù)LL、LH、HL和HH類型塊的加權(quán)表加上該權(quán)值;②對權(quán)值進行調(diào)整得到6種顯著性分類號;③對已經(jīng)顯著的系數(shù),按照分類號11輸出該系數(shù)在當前位面的值;④對未知顯著性的系數(shù),根據(jù)顯著性分類號將系數(shù)的實際顯著性按得到的分類號輸出;如果該系數(shù)確實顯著,輸出系數(shù)的符號位。
本發(fā)明具有下列技術(shù)效果1)本發(fā)明提出了一種一個位面一次掃描的編碼方法,該方法在壓縮性能上比EBCOT好,在可實現(xiàn)性方面比EBCOT簡單,取消了OT過程,在硬件實現(xiàn)時可以大大減少操作所需要的周期數(shù),并可以實現(xiàn)硬件流水線作業(yè),減少了編碼系統(tǒng)的延遲。
2)本發(fā)明在進行系數(shù)分類時采用相關(guān)區(qū)域更大的數(shù)學模型,對每個系數(shù)根據(jù)其周圍24個系數(shù)的狀態(tài)進行分類,比JPEG2000根據(jù)周圍8個系數(shù)的方案更充分地考慮了小波系數(shù)的遠程相關(guān)性。這樣處理,可保證在一次掃描下壓縮性能不低于JPEG2000。
3)本發(fā)明采用了系數(shù)子塊的概念,進一步減少了編碼符號數(shù),大大減輕了二元算術(shù)編碼器的壓力,使得符號數(shù)與圖象樣本數(shù)的比在典型質(zhì)量情況下達到1.5∶1,在一套邏輯工作的情況下可以實現(xiàn)較高的像素速率。
4)本發(fā)明通過對小波系數(shù)進行標量量化,可實現(xiàn)質(zhì)量控制和碼率的控制,保證了圖像序列在編碼過程中圖像質(zhì)量的相對穩(wěn)定性,避免了圖像質(zhì)量大起大落的現(xiàn)象,特別適合于質(zhì)量優(yōu)先的數(shù)字視頻的編碼。
圖1為小波系數(shù)分塊示意圖;圖2為小波系數(shù)塊的位面;圖3為現(xiàn)有技術(shù)JPEG2000的圖像編碼過程示意圖;圖4為本發(fā)明的圖像編碼過程示意圖;圖5為本發(fā)明小波系數(shù)塊分成小波系數(shù)子塊示意圖;圖6為本發(fā)明小波系數(shù)子塊內(nèi)同一位面的掃描順序;圖7為本發(fā)明編碼流程圖。
具體實施例方式本申請人經(jīng)過研究和使用發(fā)現(xiàn),現(xiàn)有技術(shù)中JPEG2000為了實現(xiàn)嵌入式編碼,在對小波系數(shù)編碼過程中采用了逐個位面掃描,每個位面又進行三次掃描的辦法進行塊編碼(EBC),全部系數(shù)塊編碼完成后再在圖像塊的范圍內(nèi)對編碼后的系數(shù)塊進行優(yōu)化截斷(OT),這種方法會大大增加編碼所需要的時鐘周期數(shù),而且對編碼后的系數(shù)塊進行優(yōu)化截斷(OT)增加了編碼系統(tǒng)的理論延遲,另外,這種做法雖然可以精確控制每一個單獨圖像的碼率,但是沒有有效的方法對多個圖像構(gòu)成的圖像序列質(zhì)量進行穩(wěn)定的控制。
本發(fā)明針對上述缺陷,提出了一種一個位面一次掃描的編碼方法,該方法可取消OT過程,在硬件實現(xiàn)時可以大大減少操作所需要的周期數(shù),減少了編碼系統(tǒng)的延遲,通過將小波系數(shù)進行標量量化,同樣可以精確控制碼率,同時還可保證圖像序列在編碼過程中圖像質(zhì)量的相對穩(wěn)定性,將量化后的小波系數(shù)進行分塊后再進行子分塊,可減少編碼符號數(shù),大大減輕了二元算術(shù)編碼器的壓力。
下面詳述本發(fā)明。
本發(fā)明的具體實施步驟如下1、將原始圖像進行多級二維離散小波變換,使用現(xiàn)有技術(shù)中W97-2小波濾波器,如圖1所示,可得到各個子帶的小波系數(shù),按照位置分為LL,LH,HL和HH四種類型,分解級數(shù)為N時,子帶數(shù)是3N+1個;
2、通過小波變換得到小波系數(shù)后,對小波系數(shù)進行標量量化,即對每個小波系數(shù)除以一個量化系數(shù),該量化系數(shù)一般在1.0到1000.0之間,量化系數(shù)越大,圖像損失越大,輸出的碼流就越小。該標量量化可根據(jù)應(yīng)用系統(tǒng)的要求對不同的子帶指定不同的量化系數(shù),也可以只指定統(tǒng)一的量化系數(shù)。量化系數(shù)記錄在輸出碼流中,供解碼使用;3、量化后的小波系數(shù)按照圖1所示的方法進行分塊,注意塊不跨子帶邊界,塊大小為32×32,如果不夠32×32,則按照實際大小定義小波系數(shù)塊。每個系數(shù)塊根據(jù)所在的子帶位置分為LL、LH、HL和HH四種類型。小波系數(shù)塊的處理順序是按照分辨率從LL到最外圍的高頻分辨率,同一分辨率內(nèi)按照LH,HL,HH子帶的順序,同一子帶內(nèi)按照從左到右,再從上到下的分割方式;4、每個系數(shù)塊按位面進行掃描,位面掃描過程中將每個小波系數(shù)按照周圍小波系數(shù)的顯著性、小波系數(shù)符號、細化和通用輸出分為13類,其中顯著性分為6類,分類號為0-5,小波系數(shù)符號分為5類,分類號為6-10,細化之分類號為11,通用輸出分類號為12,然后根據(jù)類型按照不同的分布模型使用算術(shù)編碼器進行編碼。本發(fā)明在進行小波系數(shù)分類時采用了相關(guān)區(qū)域更大的數(shù)學模型,通過對大量圖像的小波系數(shù)進行相關(guān)性統(tǒng)計,我們發(fā)現(xiàn)小波系數(shù)的相關(guān)性是比較遠的,所以本發(fā)明對每個系數(shù)根據(jù)其周圍24個系數(shù)的狀態(tài)進行分類,比JPEG2000根據(jù)周圍8個系數(shù)的方案更充分地考慮了小波系數(shù)的遠程相關(guān)性。這樣處理,可保證在一次掃描下壓縮性能不低于JPEG2000。具體的分類準則設(shè)計則充分考慮了小波系數(shù)的分布特征,又考慮了實現(xiàn)的復(fù)雜性,根據(jù)大量圖像的實際壓縮結(jié)果統(tǒng)計而得出。
如圖5所示,本發(fā)明對小波系數(shù)塊按分類號12計算最高有效位面號,再將每個小波系數(shù)塊分成4個16×16的小波系數(shù)子塊,對4個小波系數(shù)子塊計算子塊內(nèi)的最高有效位面號。然后將小波系數(shù)塊的最高有效位面號(0..15)按分類號12輸出到算術(shù)編碼器中(從MSB到LSB共4位),其中15表示該小波系數(shù)塊沒有非零小波系數(shù)。如果該塊沒有非零小波系數(shù),則直接進入下一個小波系數(shù)塊。每個小波系數(shù)子塊使用分類號12輸出子塊的最高有效位面號;5、從最高有效位面開始到最低位面對小波系數(shù)塊進行逐個位面掃描,同一個位面的掃描順序是按照小波系數(shù)子塊編號進行的。在小波系數(shù)子塊內(nèi)部按照圖6所述的掃描順序進行掃描,根據(jù)該小波系數(shù)子塊的最高有效位面號決定是否跳過該子塊。掃描過程中各個小波系數(shù)塊是獨立編碼的,但是一個小波系數(shù)塊的4個小波系數(shù)子塊之間是共享顯著性的;
6、在掃描過程中,對在較高位面已經(jīng)顯著的小波系數(shù),按照分類號11輸出該小波系數(shù)在該位面的值到算術(shù)編碼器中;對在較高位面中還沒有顯著的小波系數(shù),按照周圍系數(shù)的已知顯著情況進行分類,然后按照分類號輸出該小波系數(shù)的在該位面的顯著性(0-不顯著,1-顯著),其具體的分類辦法如下a.先根據(jù)系數(shù)周圍的顯著性情況,計算該系數(shù)的權(quán)值,根據(jù)下面的加權(quán)表,如果顯著,則加上該權(quán)值LL和LH類型塊的權(quán)值表如下
HL類型塊的權(quán)值表是LH權(quán)值表的轉(zhuǎn)置;HH類型塊的權(quán)值表
其中,“X”表示當前系數(shù)所在位置。注意計算過程中邊界上的點只計算塊內(nèi)狀態(tài)(塊外均認為不顯著)。
b.對權(quán)值進行調(diào)整得到分類號按下表進行調(diào)整得到分類號
對掃描過程中的未顯著系數(shù),如果在該位面中顯著,則輸出該小波系數(shù)的符號,算法與JPEG2000中的SC算法相同。具體的算法描述如下
符號位是根據(jù)系數(shù)周圍的4個系數(shù)的情況預(yù)測的,將符號位分為5類。
系數(shù)的符號被認為與周圍8個系數(shù)中的水平鄰居和垂直鄰居共計四個系數(shù)相關(guān)。每一個相鄰系數(shù)可能有三種狀態(tài)顯著為負,顯著為正,不顯著,所以共有81種組合。為了減少組合數(shù),我們先根據(jù)對稱性,對兩個水平相鄰系數(shù)和兩個垂直相鄰系數(shù)根據(jù)下表計算水平貢獻和垂直貢獻
然后共有9種組合,再根據(jù)下表壓縮為5種組合,每一種組合作為一個符號的分類號
輸出符號時,如果是正則記符號位為0,如果是負則記符號位為1,然后輸出(符號位)xor(XORbit)即可。
7、根據(jù)小波系數(shù)分類按不同分布模型使用算術(shù)編碼器進行編碼。該算術(shù)編碼器與JPEG2000中使用的算術(shù)編碼器相同(邏輯符號見圖7),具體的算法流程和具體使用的分布概率參數(shù)與ISO/IEC FCD15444-1附錄C之算術(shù)熵編碼相同。但本發(fā)明中使用分布模型的初始化狀態(tài)參數(shù)與JPEG2000不一樣。這13個分布模型的有關(guān)參數(shù)匯總?cè)缦?
<性能比較>
下面的表格是本發(fā)明的編碼方法與JPEG2000使用CDF97小波濾波器時的比較。
1、測試辦法對若干幅國際通行的測試圖像,用此典型碼率參數(shù)使用本發(fā)明的軟件實現(xiàn)和JPEG組織發(fā)布的JPEG2000編碼程序(JPEG發(fā)布的標準測試程序VM6.1)進行編碼,兩種算法編碼的圖像解碼后,使用JPEG組織建議的信噪比計算程序(imgcmp,ISO/IEC N2415 JasPer V1.700.0)與原圖進行PSNR計算,得到PSNR結(jié)果。
2、測試結(jié)果表1 JPEG2000與本發(fā)明的PSNR結(jié)果比較
權(quán)利要求
1.一種基于小波變換的圖像壓縮方法,它包括下述步驟1)對數(shù)字圖像進行小波變換得到小波系數(shù);2)對每個小波系數(shù)除以一個量化系數(shù),該量化系數(shù)在1.0到1000.0之間;3)將小波系數(shù)按照所在的子帶位置進行分塊;4)每個系數(shù)塊按位面進行掃描,位面掃描過程中將每個小波系數(shù)按照周圍小波系數(shù)的顯著性、小波系數(shù)符號、細化和通用輸出分為13類,其中顯著性分為6類,分類號為0-5,小波系數(shù)符號分為5類,分類號為6-10,細化之分類號為11,通用輸出分類號為12,然后根據(jù)類型按照不同的分布模型使用算術(shù)編碼器進行編碼。
2.根據(jù)權(quán)利要求1所述的基于小波變換的圖像壓縮方法,其特征在于所述步驟3)是將小波系數(shù)分為不超過32×32大小的系數(shù)塊,系數(shù)塊的邊界不跨子帶,每個32×32系數(shù)塊再分成16×16的系數(shù)子塊,且每個系數(shù)塊根據(jù)所在的子帶位置分為LL、LH、HL和HH四種類型。
3.根據(jù)權(quán)利要求1所述的基于小波變換的圖像壓縮方法,其特征在于所述步驟4)為①使用分類號12計算系數(shù)塊的最高有效位面號并輸出;②使用分類號12對每個16×16的系數(shù)子塊計算其最高有效位面號并輸出;③從最高有效位面開始到最低位面對系數(shù)塊進行掃描,掃描過程中跳過超過最高有效位面號的系數(shù)子塊;④在掃描過程中根據(jù)周圍系數(shù)的顯著性情況對當前位面不顯著的系數(shù)的顯著性特征分布進行分類,然后將系數(shù)的顯著性按照分類結(jié)果送到算術(shù)編碼器編碼輸出。
4.根據(jù)權(quán)利要求3中所述的基于小波變換的圖像壓縮方法,其特征在于在掃描過程中對不顯著系數(shù)根據(jù)周圍小波系數(shù)的顯著性情況進行分類包括下述步驟①先根據(jù)系數(shù)周圍的顯著性情況,計算該系數(shù)的權(quán)值,如果顯著,則根據(jù)LL、LH、HL和HH類型塊的加權(quán)表加上該權(quán)值;②對權(quán)值進行調(diào)整得到6種顯著性分類號;③對已經(jīng)顯著的系數(shù),按照分類號11輸出該系數(shù)在當前位面的值;④對未知顯著性的系數(shù),根據(jù)顯著性分類號將系數(shù)的實際顯著性按得到的分類號輸出;如果該系數(shù)確實顯著,輸出系數(shù)的符號位。
全文摘要
一種基于小波變換的圖像壓縮方法,包括下述步驟1)對數(shù)字圖像進行小波變換得到小波系數(shù);2)對每個小波系數(shù)除以一個量化系數(shù);3)將小波系數(shù)按照所在的子帶位置進行分塊;4)每個系數(shù)塊按位面進行掃描,位面掃描過程中將每個小波系數(shù)按照周圍小波系數(shù)的顯著性、小波系數(shù)符號、細化和通用輸出分為13類,然后根據(jù)類型按照不同的分布模型使用算術(shù)編碼器進行編碼。本發(fā)明采用一個位面一次掃描的編碼方法,可取消OT過程,大大減少操作所需要的周期數(shù)和編碼系統(tǒng)的延遲,將小波系數(shù)進行標量量化,可保證圖像序列在編碼過程中圖像質(zhì)量的相對穩(wěn)定性,量化后的小波系數(shù)分塊后再進行子分塊,可減少編碼符號數(shù),大大減輕了二元算術(shù)編碼器的壓力。
文檔編號G06T9/00GK1595453SQ20041002332
公開日2005年3月16日 申請日期2004年6月18日 優(yōu)先權(quán)日2004年6月18日
發(fā)明者王國秋 申請人:湖南中芯數(shù)字技術(shù)有限公司