專利名稱:基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種針對靜止圖像的嵌入式小波圖像壓縮方法,尤其涉及一種基于快速逐次逼近量化和二進制描述游程的游程編碼技術(shù)。
背景技術(shù):
隨著信息化時代的到來,數(shù)字化圖像的數(shù)據(jù)量是相當大的,圖像信息的海量存儲、處理和傳輸便成為其硬件和軟件技術(shù)最大的難題之一。以數(shù)字電視為例,如果是SIF(Source InputFormat)格式,NTSC制、彩色、4∶4∶4采樣的數(shù)字電視圖像,那么每幀的數(shù)據(jù)量為2028Kb,每秒的數(shù)據(jù)流量可達60.8MB,一片650MB的CD-ROM一共只能存放325幀圖像,可播放的節(jié)目時間也只有10.7秒。從這個簡單的例子可以看出,數(shù)字化以后的圖像信息量是何其之龐大。如果單純采用擴大存儲器容量、增加通信干線的傳輸率的辦法顯然是不現(xiàn)實的。而對海量數(shù)據(jù)進行壓縮,以壓縮形式存儲和傳輸是解決這一問題的一個行之有效的辦法。
在圖像壓縮發(fā)展的歷史上,基于離散余弦變換的圖像編碼方法一度占了統(tǒng)治地位。不過,由于小波變換的多分辨率特性非常適于圖像壓縮,因此近年來小波圖像編碼技術(shù)便在圖像壓縮領(lǐng)域取得了巨大的成功,并已經(jīng)在JPEG2000中得到了具體應(yīng)用。其中,最經(jīng)典的嵌入式小波圖像壓縮技術(shù)莫過于Shapiro于1993年提出的嵌入式零樹量化壓縮方法EZW(EmbededZerotree Wavelet)了。EZW是一種非常成功的圖像壓縮方法,其基本思想是對小波變換系數(shù)的編碼分為兩個部分一是對用來表明系數(shù)特性的系數(shù)重要性圖進行編碼;二是對重要系數(shù)的幅度進行編碼。利用不同尺度的小波系數(shù)幅度間存在較強的相關(guān)性,將多數(shù)的零系數(shù)組織成一種樹形結(jié)構(gòu),從而提高了整體編碼效率。這種方法得到的比特流中的比特是按重要程度排序的,可方便的實現(xiàn)分級編碼和傳輸。使用這種編碼方法,編碼者能夠在任意一點結(jié)束算法,允許達到一個目標比特率或目標失真,而這時仍能較確切的恢復(fù)原來的圖像。
在EZW之后,Said和Pearlman于1996年提出了基于分層樹集合分割排序的SPIHT圖像壓縮方法(Set Partitioning Hierarchical Trees),SPIHT是EZW的改進,它將某一樹節(jié)點及其所有后繼節(jié)點歸結(jié)為同一集合,集合分割過程是不斷地將重要集合分成四個子集,再分別對每一個子集進行重要性測試,由于小波變換系數(shù)在空間方向樹結(jié)構(gòu)中的相似性,使得采用這種集合分割后的排序技術(shù)具有高效性的特點。
盡管上述的EZW和SPIHT零樹小波圖像壓縮方法取得了不錯的壓縮性能,但仍然存在一些不足之處,具體表現(xiàn)在在逐次逼近量化過程中,針對小于閥值的小波系數(shù),為了確定該系數(shù)是零樹根還是孤立零,EZW編碼算法必須掃描其所有后代,這必然大大影響其編碼速度,因此,時間耗費很大;兩種算法都是利用零樹這種數(shù)據(jù)結(jié)構(gòu)對一組數(shù)據(jù)的重要性進行判斷,將大量不重要系數(shù)用整個集合的重要性表示,整個非重要系數(shù)集合都可以不必傳送到解碼端,大大減少了排序信息,從而提高了編碼效率,但是生成零樹卻需要對整個變換進行多次掃描,所以復(fù)雜度較高。
相對于上述零樹小波圖像壓縮方法的復(fù)雜,一種標量量化方法SR(Stack-Run)就簡單高效多了。SR圖像壓縮方法利用類似游程編碼的方法記錄連續(xù)出現(xiàn)的非重要系數(shù)個數(shù),對重要系數(shù)進行均勻量化,也與EZW有相當?shù)男阅?,但缺點是不能形成嵌入式的碼流。
在上述圖像壓縮的背景下,本發(fā)明提出一種基于游程編碼實現(xiàn)嵌入式圖像壓縮的新方法,不僅簡單高效,而且能夠生成嵌入式的碼流。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)存在的缺陷和不足,本發(fā)明的目的就是要提出一種簡單高效的基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法,在不降低小波圖像編碼器的編碼性能的基礎(chǔ)上,簡化小波圖像壓縮方法的復(fù)雜度,減少編解碼圖像時系統(tǒng)所需的內(nèi)存和時間,同時,隨著接收比特的增多,漸進的恢復(fù)圖像,使之能夠適合應(yīng)用于網(wǎng)絡(luò)、無線傳輸,圖像瀏覽,特別是容易發(fā)生誤差的環(huán)境。
為達到上述目的,本發(fā)明采用以下技術(shù)方案一種基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法,包括如下步驟 步驟A,將欲處理的圖像進行小波變換產(chǎn)生若干不同頻率的子帶,根據(jù)得到的子帶中小波系數(shù)的絕對值確定初始量化門限; 步驟B,以當前量化門限為標準對所述子帶的小波系述進行量化; 步驟C,對重要圖進行二進制描述游程的游程編碼,并將編碼結(jié)果和量化為0的系數(shù)送至自適應(yīng)算術(shù)編碼器; 步驟D,判斷是否達到指定比特率; 步驟E,如果沒有達到指定比特率,所述當前量化門限縮小一半,執(zhí)行步驟B; 步驟F,如果已達到指定比特率,則終止編碼。
優(yōu)選的在所述基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法中,所述步驟A具體為 步驟A1,對欲處理的圖像進行N級小波分解,得到3N+1個子帶; 步驟A2,將第k個子帶中小波系數(shù)的最大絕對值記為Xk,并稱之為第k個子帶峰值的最大絕對值(1≤n≤N),X3n+1表示低頻子帶LLN中小波系數(shù)的最大絕對值; 步驟A3,對所述子帶按如下順序掃描LLN,HLN,LHN,HHN,HLN-1,LHN-1,HHN-1,….,HL1,LH1,HH1; 步驟A4,統(tǒng)計圖像的最大峰值為 XM=|max{X1,X2,.....,X3N,X3N+1}| (1) 步驟A5,初始量化門限滿足的條件為T0>XM/2 優(yōu)選的在所述基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法中,所述LLN表示第N級的低頻子帶;所述HLN表示第N級分解在水平方向上的子帶;所述LHN表示第N級分解在垂直方向上的子帶;所述HHN表示第N級分解在對角線方向上的子帶。
優(yōu)選的在所述基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法中,所述步驟B具體為大于等于當前量化門限的小波系數(shù)稱為關(guān)于當前量化門限的重要系數(shù),量化為1,小于當前量化門限的小波系數(shù)稱為關(guān)于當前量化門限的不重要系數(shù),量化為0。
優(yōu)選的在所述基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法中,所述步驟C包括 步驟C1,每次量化后都產(chǎn)生一個二值決策圖,Level表示為非0的小波系數(shù)1,Run表示為兩個重要系數(shù)之間的零的個數(shù)。
步驟C2,將Run值轉(zhuǎn)換為二進制,可表示為bkbk-1...b1b0(k∈N),其中bk是最有意義的比特,b0是最沒有意義的比特。
本發(fā)明基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法,具有以下顯著的優(yōu)點 1)通過建立子帶峰值的概念,量化部分采用了快速逐次逼近量化。由此可以大大減少逼近量化所需的時間,提高了圖像編碼器的性能。
2)采用簡單的游程編碼技術(shù)編碼小波變換系數(shù)的快速逐次逼近量化重要圖,有效降低了圖像壓縮方法實現(xiàn)的復(fù)雜度,并且能夠取得較好的壓縮性能。
圖1是本發(fā)明所提出的基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法的系統(tǒng)方案組成示意圖; 圖2是本發(fā)明所提出的基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法中的三級小波分解示意圖; 圖3是本發(fā)明所提出的基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法的流程實現(xiàn)框圖。
具體實施例方式 下面結(jié)合附圖和具體實施例對本發(fā)明做進一步詳細說明。
如圖1所示,本發(fā)明所提出的小波圖像壓縮方法,總體上由線性變換、量化、排序編碼和熵編碼四部分構(gòu)成。線性變換部分采用9/7雙正交小波變換。量化部分采用快速逐次逼近量化。排序編碼部分采用二進制描述游程的游程編碼。熵編碼部分采用自適應(yīng)算術(shù)編碼。
本圖像壓縮發(fā)明方法的編碼流程如圖3所示,具體步驟見如下詳細說明 1)原始圖像輸入; 2)對原始圖像進行小波變換; 小波變換具體可以采用9/7雙正交小波變換,分解5層,使用對稱延拓,小波分解后的子帶分布示意圖如圖2所示; 3)初始化量化門限; 為了說明初始化量化門限是如何確定的,下面將首先解釋一下逐次逼近量化的概念,然后對本發(fā)明中采用的快速逐次逼近量化及初始量化門限值的選取作詳細的說明。
所謂逐次逼近量化就是要通過依次使用閥值序列T0,T1,T2,…,TN-1中的Ti來決定小波系數(shù)的重要性,其中Ti的選取須滿足迭代式Ti=Ti-1/2,而初始閥值T0須滿足條件對于所有要量化的小波系數(shù)x,有|x|<2T0。整個逐次逼近量化過程需要不斷地等分前一次量化的閥值作為當前閥值,直至達到目標比特率要求為止。
下面對快速逐次逼近量化作一下詳細的說明 假設(shè)對圖像進行N級小波分解,則共有3N+1個子帶。將第k個子帶中小波系數(shù)的最大絕對值記為Xk,并稱之為第k個子帶峰值(k=1,2,….,3N,3N+1)。相應(yīng)地,X3n-2,X3n-1和X3n分別表示子帶HHn、LHn和HLn中小波系數(shù)的最大絕對值(1≤n≤ N),X3n+1表示低頻子帶LLN中小波系數(shù)的最大絕對值,掃描順序按LLN,HLN,LHN,HHN,HLN-1,LHN-1,HHN-1,….,HL1,LH1,HH1子帶的排列順序進行如圖2箭頭所示的Z字型掃描。進一步,我們記圖像的最大峰值為 XM=|max{X1,X2,.....,X3N,X3N+1}| (1) 則對于快速逐次逼近量化的初始閥值T0的選取只須滿足條件2T0>XM即可。
為敘述方便,將滿足條件Xk≥Ti的子帶稱為關(guān)于閥值Ti的重要子帶,而將滿足條件Xk<Ti子帶稱為關(guān)于閥值Ti的不重要子帶。當每一次逼近量化結(jié)束時,都會得到一個相對于當前閥值的重要圖,其中必然存在一些所有小波系數(shù)均為0的子帶(特別是最初的幾次量化過程)和滿足條件Xk<Ti的不重要子帶,所以在進行第i次迭代時,就無需掃描此類不重要子帶。這無疑會大大減少逼近量化的時間,加快編碼速度。
同理,解碼器也需要確定某個子帶相對于閥值是否重要,故也應(yīng)將子帶峰值信息傳遞給解碼器。應(yīng)用中都是通過傳遞nk(其中nk=log2Xk)來替代Xk,以充分減少因傳遞峰值信息所帶來的額外代價。
4)以當前量化門限對小波變換的系數(shù)進行量化; 以當前閥值Ti對小波變換的系數(shù)進行量化,大于等于當前閥值的小波系數(shù)量化為1,小于當前閥值的小波系數(shù)量化為0。
5)對重要圖進行二進制描述游程的游程編碼,并將編碼結(jié)果和有意義的系數(shù)送至自適應(yīng)算術(shù)編碼器; 這里對本發(fā)明中編碼重要圖的二進制描述游程的游程編碼作一下詳細說明。
利用游程編碼對圖像數(shù)據(jù)壓縮是比較傳統(tǒng)的一種方法,帶有壓縮的BMP文件就是游程編碼的最簡單應(yīng)用,JPEG也使用游程編碼加哈夫曼編碼對DCT變換后的數(shù)據(jù)進行進一步的壓縮。傳統(tǒng)的游程編碼方法是將一個數(shù)據(jù)序列用Run/Level表示,其中Run表示序列中兩個非零值之間零值的個數(shù),Level表示下一個非零系數(shù)的值,然后對Run/Level符號序列進行熵編碼。在本發(fā)明中,經(jīng)過快速逐次逼近量化后,小波系數(shù)x相對于門限T來說被定義了兩種可能,重要系數(shù)(用1進行編碼)、不重要系數(shù)(用0進行編碼)。每一次的量化都會產(chǎn)生一個重要圖,重要圖是一個二值決策圖,用來表明對應(yīng)位置的小波系數(shù)是否量化為零,是否在當前量化中表現(xiàn)的重要。這樣,在量化后的編碼過程中,就只需對重要圖進行不同于傳統(tǒng)零樹結(jié)構(gòu)的游程編碼,對有意義的系數(shù)進行自適應(yīng)算術(shù)編碼處理。重要圖中兩個重要性系數(shù)之間的零的個數(shù)就是游程值,由于采用快速逐次逼近量化,非零系數(shù)一定是1,所以這里不需要對Level編碼,而只需編碼游程值Run,解碼方通過對游程值的解碼,就可以得知重要系數(shù)出現(xiàn)的位置。從而將一個二值的比特平面編、解碼轉(zhuǎn)化為若干個游程的編、解碼。任意一個游程值,大小隨機變化,根本無法事先確定。然而如果將其轉(zhuǎn)換為二進制表示,則可以看成是由有限的0和1組成。將游程值轉(zhuǎn)換為二進制可表示為bkbk-1...b1b0(k∈N),其中bk是最有意義的比特(MSB),b0是最沒有意義的比特(LSB)。這樣就用0、1組成的二進制序列方式編碼游程值,代替對原始游程值十進制的編碼。在實際編碼時,只需要編碼對應(yīng)的二進制值0或者1即可。
6)當前量化門限縮小一倍,轉(zhuǎn)至步驟4)執(zhí)行; 在自適應(yīng)算術(shù)編碼過程中,若已達到指定的比特率則隨時終止編碼過程。
解碼過程是編碼的逆過程,這里就不再贅述了。
本發(fā)明提出的一種基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法,充分利用了小波變換系數(shù)的特點,在各種先驗信息的指導(dǎo)下,能夠形成簡單高效的嵌入式碼流,編碼性能非常良好,相對于傳統(tǒng)的零樹小波圖像壓縮方法來說,由于二進制描述游程的游程編碼技術(shù)的使用,本發(fā)明方法大大降低了圖像編碼器的復(fù)雜性??偟膩碚f,本圖像壓縮發(fā)明方法是一種性能非常良好的方法,可以廣泛應(yīng)用于各種需要嵌入式編碼的場合,應(yīng)用前景十分廣闊。
權(quán)利要求
1.一種基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法,包括如下步驟
步驟A,將欲處理的圖像進行小波變換產(chǎn)生若干不同頻率的子帶,根據(jù)得到的子帶中小波系數(shù)的絕對值確定初始量化門限;
步驟B,以當前量化門限為標準對所述子帶的小波系述進行量化;
步驟C,對重要圖進行二進制描述游程的游程編碼,并將編碼結(jié)果和量化為0的系數(shù)送至自適應(yīng)算術(shù)編碼器;
步驟D,判斷是否達到指定比特率;
步驟E,如果沒有達到指定比特率,所述當前量化門限縮小一半,執(zhí)行步驟B;
步驟F,如果已達到指定比特率,則終止編碼。
2.根據(jù)權(quán)利要求1所述的基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法,其特征在于,所述步驟A具體為
步驟A1,對欲處理的圖像進行N級小波分解,得到3N+1個子帶;
步驟A2,將第k個子帶中小波系數(shù)的最大絕對值記為Xk,并稱之為第k個子帶峰值(k=1,2,….,3N,3N+1);相應(yīng)地,X3n-2,X3n-1和X3n分別表示子帶HHn、LHn和HLn中小波系數(shù)的最大絕對值(1≤n≤N),X3n+1表示低頻子帶LLN中小波系數(shù)的最大絕對值;
步驟A3,對所述子帶按如下順序掃描LLN,HLN,LHN,HHN,HLN-1,LHN-1,HHN-1,….,HL1,LH1,HH1;
步驟A4,統(tǒng)計圖像的最大峰值為
XM=|max{X1,X2,.....,X3N,X3N+1}|(1)
步驟A5,初始量化門限滿足的條件為T0>XM/2。
3.根據(jù)權(quán)利要求2所述的基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法,其特征在于,所述LLN表示第N級的低頻子帶;所述HLN表示第N級分解在水平方向上的子帶;所述LHN表示第N級分解在垂直方向上的子帶;所述HHN表示第N級分解在對角線方向上的子帶。
4.根據(jù)權(quán)利要求1所述的基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法,其特征在于,所述步驟B具體為大于等于當前量化門限的小波系數(shù)稱為關(guān)于當前量化門限的重要系數(shù),量化為1,小于當前量化門限的小波系數(shù)稱為關(guān)于當前量化門限的不重要系數(shù),量化為0。
5.根據(jù)權(quán)利要求1、2或4所述的基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法,其特征在于,所述步驟C包括
步驟C1,每次量化后都產(chǎn)生一個二值決策圖,Level表示為非0的小波系數(shù)1,Run表示為兩個重要系數(shù)之間的零的個數(shù);
步驟C2,將Run值轉(zhuǎn)換為二進制,可表示為bkbk-1...b1b0(k∈N),其中bk是最有意義的比特,b0是最沒有意義的比特。
全文摘要
本發(fā)明公開了一種基于游程編碼實現(xiàn)嵌入式圖像壓縮的方法,解決了現(xiàn)有壓縮方法復(fù)雜,編碼速度慢的問題。包括輸入圖像、小波變換、快速逐次逼近量化、基于二進制描述游程的游程編碼、熵編碼和輸出壓縮圖像。其中快速逐次逼近量化通過建立子帶峰值的概念,對小波變換后的圖像系數(shù)進行快速量化,減少了逐次逼近量化所需的時間,提高了小波圖像壓縮方法的性能;基于二進制描述游程的游程編碼方法對快速逐次逼近量化后的小波系數(shù)重要圖進行編碼,相比以零樹結(jié)構(gòu)為特征的許多小波圖像壓縮方法來說,極大地降低了圖像壓縮方法的復(fù)雜度。
文檔編號G06T9/00GK101132530SQ200610109899
公開日2008年2月27日 申請日期2006年8月22日 優(yōu)先權(quán)日2006年8月22日
發(fā)明者劉利章, 薛寶林, 王云峰 申請人:中興通訊股份有限公司