《數(shù)字圖像處理》課件-第9章_第1頁
《數(shù)字圖像處理》課件-第9章_第2頁
《數(shù)字圖像處理》課件-第9章_第3頁
《數(shù)字圖像處理》課件-第9章_第4頁
《數(shù)字圖像處理》課件-第9章_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第9章圖像編碼9.1圖像編碼概述9.2哈夫曼編碼9.3算術編碼9.4行程編碼9.5LZW編碼9.6JPEG2000編碼9.7編程實例

9.1圖像編碼概述

9.1.1圖像編碼基本原理與方法1.圖像數(shù)據(jù)冗余圖像數(shù)據(jù)通常包含大量冗余信息,它為圖像壓縮提供了依據(jù)。圖像壓縮又稱圖像編碼,其目的是充分利用圖像中存在的各種冗余信息,在圖像重建可以接受的前提下,通過編碼實現(xiàn)以盡量少的比特數(shù)來表示圖像。

(1)空間冗余是指圖像內(nèi)部相鄰像素之間存在較強的相關性而造成的冗余。在同一幅圖像中,規(guī)則物體或規(guī)則背景(所謂規(guī)則是指表面顏色分布有序而非雜亂無章)的表面物理

特征具有相關性,使得成像后的數(shù)字圖像結(jié)構趨于有序和平滑,表現(xiàn)為空間數(shù)據(jù)冗余。

(2)時間冗余是指圖像序列中的相鄰兩幀之間存在較強的相關性而造成的冗余。

(3)信息熵冗余也稱編碼冗余,是指用于表示信源符號的平均比特數(shù)大于其信息熵時所產(chǎn)生的冗余。對于由N個符號{x1,x2,…,xN}組成的離散信源,若符號xi出現(xiàn)的概率為pi,則其信息熵H定義如下:

(4)結(jié)構冗余是指圖像中存在較強的紋理結(jié)構或自相似性,如布紋圖像、墻紙圖案等。

(5)知識冗余是指圖像中包含與某些先驗知識有關的信息。如人臉圖像有固定的結(jié)構,嘴巴上方有鼻子,鼻子上方有眼睛,鼻子位于正臉圖像的中線上等。

(6)視覺冗余是指人眼不能感知或不敏感的那部分圖像信息。

2.圖像編碼方法

根據(jù)編碼過程中是否存在信息損耗可將圖像編碼方法分為有損編碼和無損編碼。無損編碼又稱無失真編碼、信息保持編碼或可逆編碼,解碼時能夠從壓縮數(shù)據(jù)無失真地恢復原始圖像。有損編碼又稱有失真編碼、保真度編碼或不可逆編碼,不能從壓縮數(shù)據(jù)無失真重建原始圖像,它存在一定程度的失真。無損編碼的壓縮比較低,主要應用于醫(yī)學圖像等數(shù)據(jù)質(zhì)量要求較高的場合。有損編碼允許在一定的保真度準則下,最大限度地壓縮圖像,可以實現(xiàn)較大的壓縮比,它主要用于數(shù)字電視技術、靜止圖像、通信和娛樂等方面。

根據(jù)編碼原理可將圖像編碼方法分為熵編碼、預測編碼、變換編碼和量化編碼等。

(1)熵編碼。熵編碼是一種基于信號統(tǒng)計特性的編碼技術,要求編碼過程中按熵原理不丟失任何信息,它是一種無損編碼。哈夫曼編碼、香農(nóng)范諾編碼和算術編碼為典型的熵編碼。

對于m階馬爾可夫信源,可以證明:

變長編碼定理:若一個離散無記憶信源的符號集具有r個符號,熵為H,則總可以找到一種無失真編碼,構成單義可譯碼,使其平均碼長L滿足:

(2)預測編碼。預測編碼是基于圖像數(shù)據(jù)的空間或時間冗余特性,它用相鄰的已知像素(或像素塊)來預測當前像素(或像素塊)的取值,然后再對預測誤差進行量化和編碼。預

測編碼可分為幀內(nèi)預測和幀間預測,常用的預測編碼有差分脈碼調(diào)制(DifferentialPulseCodeModulation,DPCM)和運動補償法。圖9-1和圖9-2分別給出了無損預測編碼和有損預測編碼系統(tǒng)的原理圖,均包括編碼器和解碼器,其中符號編碼器通常采用變長編碼。

圖9-1無損預測編碼系統(tǒng)

圖9-2有損預測編碼系統(tǒng)

(3)變換編碼。變換編碼通常是將空間域上的圖像經(jīng)過正交變換映射到另一變換域上,使變換后的系數(shù)之間的相關性降低。圖像變換本身并不能壓縮數(shù)據(jù),但變換后圖像的大部分能量只集中到少數(shù)的幾個變換系數(shù)上,采用適當?shù)牧炕挽鼐幋a就可以有效地壓縮圖像。變換編碼系統(tǒng)的原理如圖9-3所示。

圖9-3變換編碼系統(tǒng)

(4)量化編碼。量化編碼就是通過將動態(tài)范圍內(nèi)較大的輸入信號值映射到有限個離散值來實現(xiàn)數(shù)據(jù)壓縮,是個不可逆過程。量化方法分為標量量化和矢量量化,標量量化又可

以分為均勻量化、非均勻量化和自適應量化。

9.1.2圖像編碼新技術

(1)子帶編碼。子帶編碼是一種在頻率域中進行數(shù)據(jù)壓縮的方法。

(2)分形編碼。分形編碼是在波蘭美籍數(shù)學家B.B.Mandelbrot建立的分形幾何理論的基礎上發(fā)展起來的一種編碼方法。

(3)小波編碼。1989年,S.G.Mallat首次將小波變換用于圖像編碼。

(4)模型編碼。模型編碼是近年發(fā)展起來的一種低比特率編碼方法,其基本出發(fā)點是在編、解碼兩端分別建立起相同的模型,編碼時利用先驗模型抽取圖像中的主要信息并用

模型參數(shù)的形式表示,解碼時則利用所接收的模型參數(shù)重建圖像。

9.1.3圖像編碼評價

圖像編碼算法的優(yōu)劣主要從編碼效率、編碼質(zhì)量、算法復雜度及適用范圍等方面進行評判。由于同一壓縮算法對不同圖像的編碼效率和編碼質(zhì)量會有所不同,因此常借助于一些“標準圖像”來測試,如Lena、Barbara和Mandrill圖像。

(1)編碼效率。衡量圖像編碼效率的指標主要有平均碼字長度(L)、壓縮比(CR)和編碼效率(η)。設圖像編碼前每個像素的平均比特數(shù)為B,第i級灰度出現(xiàn)的概率為pi,編碼后對應的編碼長度為Li比特,則圖像的平均碼字長度L為

圖像的壓縮比CR為

編碼效率η為

平均碼字長度L越小、壓縮比CR越大或編碼效率η越大,則圖像壓縮效果越好。

(2)編碼質(zhì)量。圖像的編碼質(zhì)量是指解壓后的重建圖像與壓縮前的原始圖像之間的相似度,它可分為主觀質(zhì)量評價和客觀質(zhì)量評價。主觀質(zhì)量評價是指由一批觀察者對編碼圖

像進行觀察并打分,然后綜合所有人的評判結(jié)果,給出圖像的質(zhì)量評價。

(3)算法的復雜度。圖像編碼算法的復雜度是指完成圖像壓縮和解壓所需的運算量以及實現(xiàn)該算法的難易程度。

(4)算法的適用范圍。特定的圖像編碼算法具有其相應的適用范圍,并非對所有圖像都有效。

9.2哈夫曼編碼

哈夫曼編碼,又稱為最佳編碼,是Huffman于1952年依據(jù)變長最佳編碼定理提出的一種無損編碼方法。哈夫曼編碼是以信源概率分布為基礎,對頻繁出現(xiàn)的符號使用較短的碼字,而對出現(xiàn)次數(shù)較少符號的使用較長的碼字的方法。

哈夫曼編碼算法步驟如下:

(1)將信源符號按其出現(xiàn)概率從大到小排序;

(2)把最小的兩個概率相加合并成新的概率,形成新的概率集合;

(3)對新的概率集合重復第(2)步,直到相加的兩個概率和為1.0;

(4)對于每次相加的兩個概率,給大的賦“0”,小的賦“1”(或者相反);

(5)讀出由某符號到概率和為“1.0”路徑上所遇到的“0”和“1”,按最低位到最高位的順序排好,即為該符號的哈夫曼編碼。

例9-1設一幅灰度級為8的圖像,灰度S0、S1、S2、S3、S4、S5、S6、S7出現(xiàn)的概率分別為0.40、0.18、0.10、0.10、0.07、0.06、0.05、0.04。如果編碼之前采用等長編碼,由于有8種灰度級,則每種灰度級別至少需要3比特來表示。其哈夫曼編碼過程及結(jié)果如圖9-4所示。

圖9-4哈夫曼編碼過程示意圖

由此可見,哈夫曼編碼的編碼效率相當高,其冗余度只有2.2%。如果采用等長編碼,由于有8種灰度級,則每種灰度級至少需要3比特來表示,對于上例圖像而言,其編碼的平均碼長為3,編碼效率為85%。

對不同概率分布的信源,哈夫曼編碼的編碼效率有所差別。根據(jù)信息論中信源編碼理論,對于二進制編碼,當信源概率為2的負冪時,哈夫曼編碼的編碼效率可達100%,其平均碼字長度也很短,而當信源概率為均勻分布時,其壓縮效果明顯降低。在表9-1中,當概率分布為均勻分布的情況下,由于各符號概率也恰好是2的負冪次方,故其編碼效率η可以達到100%,但由于它服從均勻分布,其熵最大,平均編碼長度很大,因此其壓縮比最低。也就是說,在信源概率接近于均勻分布時,一般不使用哈夫曼編碼。

哈夫曼編碼還存在以下問題:

(1)雖然哈夫曼編碼的碼字可以識別,但是編碼并不唯一,這是因為概率相等的兩個符號的排序及其賦值“0”或“1”是隨機的。

(2)變長編碼導致硬件實現(xiàn)復雜,且抗誤碼能力弱,也很難隨意查找或調(diào)用壓縮數(shù)據(jù)中間的內(nèi)容。如果編碼傳輸中有錯誤,哪怕是1位錯誤,也會引起一連串的錯誤。

(3)編碼效率依賴于信源統(tǒng)計特性,需要有信源概率分布的先驗知識,這就限制了哈夫曼編碼的應用。

9.3算術編碼

算術編碼有兩種模式:一種是基于信源概率統(tǒng)計特性的固定編碼模式;另一種是針對未知信源概率模型的自適應模式。

固定模式的算術編碼步驟如下:

(1)將數(shù)據(jù)序列的編碼間隔[L,H)初始化為[0,1),按照信源符號Si的概率pi成比例將其映射為[0,1)上的子間隔[Li,Hi),子間隔之間互不重疊。

(2)從輸入序列中按序取走一個符號,依據(jù)該符號的出現(xiàn)概率更新間隔[L,H):

①計算間隔的長度:W=H-L;

②更新間隔的上界和下界:H←H+W*Hi,L←L+W*Li。

(3)重復第(2)步,直到輸入序列中沒有符號為止。

(4)最后從間隔中選擇一個數(shù)n(如間隔的下界)作為數(shù)據(jù)序列的編碼輸出。

例9-2設一待編碼的數(shù)據(jù)序列為“dacab”,信源中各符號出現(xiàn)的概率依次為P(a)=0.4,P(b)=0.2,P(c)=0.2,P(d)=0.2。其算術編碼過程如圖9-5所示。圖9-5算術編碼過程示意圖

解碼是編碼的逆過程,步驟如下:

(1)根據(jù)符號的子間隔[Li,Hi)判斷編碼n所處的子間隔,輸出該子間隔對應的符

號Si。

(2)計算符號Si對應的子間隔長度Wi:Wi=Hi-Li。

(3)更新編碼n:n←(n-Li)/Wi。

(4)重復第(1)至第(3)步,直到解碼長度等于數(shù)據(jù)序列長度為止。

下面以數(shù)據(jù)序列“dacab”的編碼結(jié)果0.1101101(即n=0.8516)為例來說明解碼過程。

9.4行程編碼

行程編碼(RunLengthEncoding,RLE)是一種利用空間冗余度編碼的無損編碼方法,它在BMP、PCX、TIFF、PDF文件中均得到了應用。它將具有相同值的連續(xù)符號串用其串長和一個代表值來代替,該連續(xù)串就稱之為行程,串長稱為行程長度。

如,字符串“aabbbcddddd”經(jīng)行程編碼后,可以只用“2a3b1c5d”來表示。行程編碼分為等長和變長兩種,前者指編碼的行程長度二進制位數(shù)固定,而后者指對不同范圍的行程長度使用不同的二進制位數(shù)進行編碼。變長行程編碼需要增加標志位來表明所使用的二進制位數(shù)。行程編碼對傳輸誤差很敏感,一旦有1位符號出錯就會改變行程編碼的長度,從而使整個圖像出現(xiàn)偏移,因此一般要用行同步、列同步的方法把差錯控制在一行一列之內(nèi)。

行程編碼比較適合于二值圖像的編碼,一般用于量化后出現(xiàn)大量零系數(shù)連續(xù)的場合,用行程來表示連零碼。如果圖像是由很多塊顏色或灰度相同的大面積區(qū)域組成的,那么,采用行程編碼可以達到很高的壓縮比。若圖像中的數(shù)據(jù)非常分散,則行程編碼不但不能壓縮數(shù)據(jù),反而會增加圖像文件的大小。為了達到較好的壓縮效果,一般不單獨采用行程編碼,而將其和其他編碼方法結(jié)合使用。例如,在JPEG中,就綜合使用了行程編碼、DCT、量化編碼以及哈夫曼編碼,先對圖像作分塊處理,再對這些分塊圖像進行離散余弦變換(DCT),對變換后的頻域數(shù)據(jù)進行量化并作Z字形掃描,接著對掃描結(jié)果作行程編碼,對行程編碼后的結(jié)果再作哈夫曼編碼。

9.5LZW編碼

9.5.1LZW編碼方法LZW(Lempel-Ziv&Welch)編碼又稱字串表編碼,它屬于一種無損編碼,是Welch將Lempel和Ziv所提出的無損壓縮技術改進后的壓縮方法。LZW編碼的基本思想是:在編碼過程中,將所遇到的字符串建立一個字符串表(或稱為詞典),表中的每個字符串都對應一個索引(或稱為碼字),編碼時用該字符串在字串表中的索引來代替原始的數(shù)據(jù)串。

GIF圖像文件采用改良的LZW壓縮算法,通常稱為GIF-LZW壓縮算法。GIF圖像文件以塊(又稱為區(qū)域結(jié)構)的方式來存儲圖像相關的信息,具體的文件格式可參考圖像文件格式的相關書籍。GIF-LZW的編碼步驟如下:

(1)根據(jù)圖像中使用的顏色數(shù)初始化一個字串表,字串表中的每個顏色對應一個索引。在初始字串表的末尾再添加兩個符號LZW_CLEAR和LZW_EOI(分別為字符表初始化標志和編碼結(jié)束標志)的索引。

(2)設置字符串變量pF和cH并初始化為空,輸出LZW_CLEAR在字串表中的索引。

(3)從數(shù)據(jù)流中的第一個字符開始,依次讀取一個字符,將其賦給cH。

(4)判斷pF+cH是否已存在于字串表中。如果已存在,則用cH擴展pF,即pF=pF+cH;否則,輸出pF在字串表中的索引,并在字串表末尾為pF+cH添加索引,并令pF=cH。

(5)重復第(3)步和第(4)步,直到所有字符讀完為止。

(6)輸出pF在字串表中的索引,然后輸出結(jié)束標志LZW_EOI的索引,編碼完畢。

GIF-LZW的解碼過程和編碼過程正好相反,即將編碼后的碼字轉(zhuǎn)換成對應的字符串,重新生成字串表,然后依次輸出對應的字符串即可。GIF-LZW的解碼流程如圖9-6所示,

其中,Code和OldCode是兩個存放索引的臨時變量。

圖9-6GIF-LZW解碼流程

9.5.2LZW編碼實例

編碼前,首先需要初始化一個字符串表。由于圖像中只有4種顏色,因而,可以只用4比特表示字符串表中每個字符串的索引,表中的前4項代表4種顏色,后兩項分別表示初始化和圖像結(jié)束標志,建立的初始化字符串表如表9-2所示。

依次讀取數(shù)據(jù)流中的每個字符,如果pF+cH沒有出現(xiàn)在字符串表中,則輸出pF中的字符串的索引,并在字符串表末尾為新字符串pF+cH添加索引,并使PF=cH;否則,不輸出任何結(jié)果,僅使pF=pF+cH。所有字符處理完畢后,輸出pF中的字符串的索引,最后輸出結(jié)束標志LZW_EOI的索引。至此,編碼完畢,完整的編碼過程如表9-3所示,最后的編碼結(jié)果為“4001271B35”(以十六進制表示)。

直到遇到編碼結(jié)束標志LZW_EOI為止,最后的解碼結(jié)果為aabcabbbbd。為清晰起見,完整的解碼過程如表9-4所示。

9.6JPEG2000編碼

9.6.1JPEG2000概述JPEG2000是由聯(lián)合圖像專家組于2000年底推出的一種基于小波變換的靜態(tài)圖像壓縮標準,它具有廣泛的應用前景。JPEG2000標準仍在不斷發(fā)展和完善中,目前包括12部分,對應代號為ISO/IEC15444-1~12,每一部分都在第1部分的基礎上增加了新的特性。

JPEG2000的目標是創(chuàng)建一個統(tǒng)一、集成的圖像壓縮系統(tǒng),允許使用不同的圖像模型(如客戶/服務器、實時傳輸、圖像庫、有限緩沖和帶寬資源等)能夠?qū)Σ煌愋?如二值、灰度、彩色或者多分量圖像)、不同特性(如自然圖像、科學圖像、醫(yī)學影像、遙感圖像、文本、計算機圖形等)的靜止圖像進行壓縮。JPEG2000統(tǒng)一了二值圖像編碼標準JBIG、無損壓縮編碼標準JPEGLS以及JPEG基線編碼標準,具有下列優(yōu)良特性:

(1)良好的低比特率壓縮性能:JPEG在中高比特率條件上具有較好的率失真性能,但在低比特率情況下(如低于0.25比特/像素的高分辨灰度圖像)失真嚴重。

(2)連續(xù)色調(diào)和二值圖像壓縮:JPEG對于自然圖像具有較好的壓縮性能,但壓縮計算機圖形和二值文本時性能變差,不適用于復合文本壓縮。

(3)有損和無損壓縮:在同一個壓縮碼流中,JPEG不能同時提供有損和無損兩種壓縮,而JPEG2000卻可以,可滿足圖像質(zhì)量要求很高的醫(yī)學圖像、圖像庫等處理需要。

(4)按照像素精度或者分辨率進行漸進式傳輸:漸進式圖像傳輸允許圖像按照所需的分辨率或像素精度進行重構,用戶可以根據(jù)需要對圖像傳輸進行控制。

(5)隨機訪問和處理碼流:在不解壓的情況下,可隨機獲取特定圖像區(qū)域的壓縮碼流,并進行幾何變換、特征提取等處理。

(6)抗誤碼特性好:通過設計適當?shù)拇a流格式和相應的編碼措施,對差錯的魯棒性高,可以在噪聲干擾大的無線通信信道上傳輸。

(7)大圖像和多分量圖像:允許的最大圖像尺寸為(232-1)×(232-1),最大圖像分量為214,圖像分量的最大顏色深度為38位。

(8)固定速率、固定大小、有限的存儲空間:通過分塊技術和速率控制,允許指定壓縮文件的期望大小,易于硬件實現(xiàn),能夠應用于帶寬資源和存儲空間有限的場合。

(9)感興趣區(qū)域編碼:允許指定用戶感興趣區(qū)域,對該區(qū)域采用低壓縮比,而其他區(qū)域采用高壓縮比,可實現(xiàn)交互式壓縮。

9.6.2JPEG2000核心編碼系統(tǒng)

JPEG2000核心編碼系統(tǒng)用離散小波變換和最優(yōu)

截斷嵌入式塊編碼(EmbeddedBlockCodingwithOptimizedTruncation,EBCOT)取代了JPEG基線編碼系統(tǒng)中的離散余弦變換和哈夫曼編碼,其編解碼流程如圖9-7所示。

圖9-7JPEG2000核心編碼系統(tǒng)編解碼流程

1.預處理

預處理包括圖像分片(Tiling)、電平位移(LevelOffset)和分量變換三個步驟。

(1)圖像分片。JPEG2000允許將圖像按網(wǎng)格形式分割成若干互不重疊、任意尺寸的矩形塊——圖像片或拼接塊,每個拼接塊可以按特定的參數(shù)獨立進行編碼。圖像分片有利于降低內(nèi)存需求,可以處理較大的圖像,也有利于處理壓縮域中的感興趣區(qū)域。除圖像邊界上的拼接塊外,所有拼接塊都有相同尺寸,小尺寸的拼接塊容易導致邊界失真并降低壓縮效率,而大尺寸的拼接塊則內(nèi)存需求大,一般取64×64~1024×1024。

(2)電平位移。電平位移的目的是希望圖像的樣本數(shù)據(jù)有近似集中于零附近的動態(tài)范圍。對于B位無符號整數(shù)的圖像分量I(x,y),通過減去2B-1來實現(xiàn)電平位移,即

I(x,y)←I(x,y)-2B-1;對于有符號的圖像分量則無需進行電平位移。對于有損壓縮,由于采用實數(shù)型離散小波變換,因此還需對偏移后的數(shù)據(jù)進行歸一化處理,即I(x,y)←I(x,y)/2B。

(3)分量變換。分量變換的主要目的是減少圖像分量之間的相關性,以便利用人眼對色度的分辨率低于亮度的特性進行壓縮。JPEG2000定義了分別用于有損壓縮和無損壓縮

的不可逆顏色變換(IrreversibleColorTransform,ICT)和可逆顏色變換(ReversibleColorTransform,RCT)。

2.離散小波變換

二維離散小波變換是通過對樣本數(shù)據(jù)先沿行方向進行低通和高通濾波,并對濾波結(jié)果進行2↓1下采樣,再對采樣結(jié)果沿列方向進行與行方向同樣的濾波和下采樣來實現(xiàn)的。經(jīng)過小波變換后,圖像片的每個分量被分解為低頻和高頻子帶,如圖9-8所示。

圖9-8圖像小波分解示意圖

3.量化

對于無損壓縮,小波系數(shù)不需要量化;對于有損壓縮,對小波系數(shù)采用帶死區(qū)(Deadzone,即輸出為0的區(qū)域)的均勻標量量化方法。每個子帶定義一個量化步長Δb,量化公式如下:

式中:yb是子帶b中的小波系數(shù);Δb是子帶b的量化步;sign(yb)表示yb的正負號;qb是量化結(jié)果。在死區(qū)附近的量化寬度為2Δb,這樣可以保證量化后出現(xiàn)更多0,如圖9-9所示。

圖9-9-帶死區(qū)的量化示意圖

在JPEG2000碼流中,Δb用5比特指數(shù)εb和11比特尾數(shù)μb來表示,可由下式求得:

式中:Rb為子帶b的動態(tài)范圍。如果Δb為2的整數(shù)次冪,則μb為0。在JPEG2000的隱含量化模式下,各子帶的量化步長是相關的,可以從低頻子帶的量化步長導出。

4.碼率控制

編碼的碼率R(每符號的比特數(shù))與失真度D(原始圖像與重建圖像之間的均方誤差)之間的函數(shù)關系稱為率失真函數(shù)。率失真函數(shù)在定義域內(nèi)是單調(diào)遞減的,給出了失真度為D時的極限碼率。碼率控制就是希望在允許的失真條件下能夠獲得最優(yōu)碼率,或者在達到目標碼率的條件下使失真度最小。通過合理的率失真優(yōu)化算法,可以使得產(chǎn)生截斷時相同碼率下的失真度最小。顯然,將圖9-10中的線段按照斜率從大到小的順序連接而成的虛線,能夠獲得更優(yōu)的率失真性能。

圖9-10率失真優(yōu)化示意圖

5.EBCOT編碼

經(jīng)過量化后,將子帶進一步劃分為更小的矩形區(qū)域碼塊(Code-blocks),使得同一子帶的碼塊大小相同(典型大小為32×32或64×64)。EBCOT采用兩層編碼策略:在第1層編碼中,對每個碼塊獨立進行熵編碼,包括分數(shù)位平面編碼,和二進制算術編碼,以得到碼塊的嵌入式位流;在第2層編碼中,根據(jù)率失真最優(yōu)原則將所有碼塊的嵌入式位流組織成具有不同質(zhì)量的位流層,按照一定的碼流格式對每一層打包輸出壓縮碼流。

(1)分數(shù)位平面編碼。從碼塊的最高有效位平面(至少包含一個1)到最低位平面,依次對每個位平面執(zhí)行重要性傳播(SignificancePropagationPass,SPP)、幅度精練(MagnitudeRefinementPass,MRP)和清理(Clean-upPass,CPU)3個編碼通道。位平面上的每個系數(shù)位必須且只能在其中一個編碼通道上編碼。碼塊中的每個位平面從左上角開始,按條帶方式從上到下掃描,條帶內(nèi)按列從左到右掃描,條帶高度為4,掃描順序如圖9-11所示。

圖9-11碼塊位平面內(nèi)的掃描順序

(3)碼流組織。為了使得壓縮碼流具有失真率可伸縮性(即傳輸漸進性),JPEG2000采用壓縮后率失真優(yōu)化(Post-CompressionRate-Distortion,PCRD)算法計算碼塊位流在每

一層上的截斷點,將碼塊位流按照截斷點分層組織成不同的質(zhì)量層(QualityLayer)。

圖9-12質(zhì)量層示意圖

為了更好地表達碼流分層組織的思想,JPEG2000引入了界域(Precinct)和數(shù)據(jù)包(Packet)。界域是指在某一分辨率下,空間某連續(xù)區(qū)域在所有子帶中對應的碼塊集合,界域尺寸要求為2的整數(shù)次冪。碼塊、界域、子帶之間的關系如圖9-13所示。

圖9-13塊、界域、子帶之間的關系

每個界域產(chǎn)生一個數(shù)據(jù)包,數(shù)據(jù)包的漸進次序可以分為5種:層-分辨率-分量-界域位置(LRCP);分辨率-層-分量-界域位置(RLCP);分辨率-界域位置-分量-層(RPCL);界域位置-分量-分辨率-層(PCRL);分量-界域位置-分辨率-層(CPRL),默認為LRCP。圖9-14給出了一個2級分解具有16個碼塊的漸近次序。

圖9-14漸進次序

6.感興趣區(qū)域編碼

通過使用Maxshift方法,JPEG2000允許對任意形狀的感興趣區(qū)域(RegionofInterest,ROI)進行編碼,且無需對ROI的形狀進行編碼和解碼。Maxshift方法的基本思想是在進行EBCOT編碼之前,找到ROI的最小值和背景的最大值,將ROI的小波系數(shù)整體平移到背景系數(shù)之上,因而ROI中的系數(shù)的位平面編碼先于背景系數(shù)。

9.6.3JPEG2000編碼實例

JPEG2000編碼實現(xiàn)相當復雜,流行的相關軟件包主要有OpenJPEG、JasPer和Kakadu。其中,OpenJPEG和JasPer是用C編寫的、開源的JPEG2000編碼器,Kakadu是

EBCOT的發(fā)明者DavidTaubman用C++編寫的功能較全、性能較好的JPEG2000軟件開發(fā)包。下面用Kakadu中的kdu_co

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論