2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)設計</b></p><p><b>  (20 屆)</b></p><p>  對象基嵌入式圖像編碼方法研究</p><p>  所在學院 </p><p>  專業(yè)班級 電子信息工程

2、 </p><p>  學生姓名 學號 </p><p>  指導教師 職稱 </p><p>  完成日期 年 月 </p><p><b>  摘要</b></p

3、><p>  由于網(wǎng)絡帶寬的波動性,異構性,以及傳輸?shù)牟豢煽啃缘忍攸c,網(wǎng)絡視頻編碼及傳輸受到了前所未有的挑戰(zhàn)與考驗。JPEG2000是一種較新的圖像編碼標準,它不僅具有優(yōu)良的壓縮性能、較高的靈活性,而且系統(tǒng)功能性比以前所有的圖像壓縮標準都要先進。面對網(wǎng)絡應用圖像服務的飛速增長,圖像編碼的目標由單純的追求高壓縮率轉向了使圖像能夠更好地適應各種不同的網(wǎng)絡環(huán)境和用戶終端。</p><p>  JPE

4、G2000的核心算法是優(yōu)化截斷的嵌入式分塊編碼算法(Embedded Block coding with Optimized Truncation of the embedded bit streams, EBCOT),它不僅可以實現(xiàn)圖像的有效壓縮,而且產生的碼流具有一定的分辨率可伸縮性、隨機訪問、信噪比可伸縮性和處理等很好的特性。但是這種算法沒有考慮人的視覺感知特性,這很難滿足人們日益豐富的生活。文章在對EBCOT算法研究的基礎上,針

5、對人的視覺感知特性,考慮不同對象的不同質量解壓圖和重要對象的優(yōu)化傳輸而提出了一種基于對象的優(yōu)化截斷編碼算法——EOCOT算法(Embedded Object coding with Optimized Truncation of the embedded bit streams)。該方法主要是對EBCOT的圖像分割和Tire1獨立編碼方法的改進。</p><p>  關鍵詞: 圖像壓縮;JPEG2000;感興趣區(qū)

6、域;EBCOT</p><p><b>  Abstract</b></p><p>  With the Internet and multimedia technology,the static image compression requires not only high compressed performance, but also requires ne

7、w functions to meet some special requirements.JPEG2000is a new image coding standard, it has excellent compression performance and high flexibility. The face of network applications for video services, rapid growth, vide

8、o encoding from a simple pursuit of the objectives of high compression ratio shifted to the video stream to better adapt to different networ</p><p>  The core algorithm is a JPEG2000 EBCOT algorithm(Embedded

9、 Block coding with Optimized Truncation of the embedded bit streams) is based on the optimization of the interception of the embedded code block coding. It not only can realize the effective image compression, at the sam

10、e time, it results stream with resolution scalability, SNR scalability, random access and very good handling characteristics. But this algorithm does not consider the human visual perception, it is difficult to meet the

11、gro</p><p>  Key Words: image compression; JPEG2000; region of interest; EBCOT目錄</p><p><b>  1 引言1</b></p><p>  2 JPEG2000標準的簡介2</p><p>  2.1 JPEG2000的編解

12、碼過程2</p><p>  2.2 JPEG2000中的核心處理2</p><p>  2.2.1 量化2</p><p>  2.2.2 熵編碼3</p><p>  2.2.3 小波變換3</p><p>  3 EBCOT算法4</p><p>  3.1 EBCOT框架4

13、</p><p>  3.2 位平面編碼5</p><p>  3.3 MQ熵編碼6</p><p>  4 對象基優(yōu)化截斷嵌入式編碼方法7</p><p>  4.1 BOCOT框架圖7</p><p>  4.2 圖像預處理與分割8</p><p>  4.3 基于離散小波的信號

14、分解8</p><p>  4.4 位平面編碼10</p><p>  5 實驗結果與分析12</p><p>  6 結論及展望13</p><p>  致謝錯誤!未定義書簽。</p><p><b>  參考文獻14</b></p><p>  附錄1

15、主要程序15</p><p>  附錄2 科研論文18</p><p><b>  1 引言</b></p><p>  隨著社會的進步,科學的發(fā)展,基于ROI的圖像編碼方法越來越多樣化。從一般的壓縮編碼基礎到預測編碼、</p><p>  正交變換編碼、第二代編碼方法、分形編碼、模型編碼、神經網(wǎng)絡編碼、<

16、/p><p><b>  統(tǒng)計編碼、</b></p><p><b>  子帶編碼和</b></p><p>  小波變換編碼等等,涌現(xiàn)出了很多優(yōu)秀的編碼方式。</p><p>  我們要從各種圖像編碼方法中研究出基于ROI的圖像編碼方法有何不同點,并且分析出各自的優(yōu)勢何劣勢。當然基于ROI的圖像編碼方

17、法的研究需要更清楚弄清他的本質。</p><p>  目前,基于ROI的圖像編碼研究正處在發(fā)展中階段。自從它發(fā)明問世以來,受到了人們的廣泛關注,它不僅僅帶來了更新型的圖像編碼方法,帶來的還有更新型的圖像編碼創(chuàng)新思想!僅僅一年,各種基于ROI圖像編碼的方法層出不窮,從一般的壓縮編碼基礎到預測編碼、</p><p>  正交變換編碼、第二代編碼方法、分形編碼、模型編碼、神經網(wǎng)絡編碼、</

18、p><p><b>  統(tǒng)計編碼、</b></p><p><b>  子帶編碼和</b></p><p>  小波變換編碼等等!無不顯示出其基于ROI圖像編碼方法的獨特魅力。現(xiàn)在基于ROI的圖像編碼方法正在逐步完善之中,這是一個走向成熟的標志。隨著基于ROI的如圖像編碼研究的不斷發(fā)展,一種對象基嵌入式圖像編碼方法出現(xiàn)的越來越

19、多。</p><p>  本文通過對基本圖像編碼方法、ROI編碼方法、嵌入式編碼方法的了解,在EBCOT的基礎上,提出一種基于對象的優(yōu)化截斷嵌入式編碼算法——EOCOT編碼算法,該算法為解決圖像壓縮比與重建圖像質量之間的矛盾提供了一個新思路,具有廣泛的應用前景。</p><p>  2 JPEG2000標準的簡介</p><p>  JPEG2000 正式名稱為:

20、ISO 15444 ,是由JPEG(Joint Photographic Experts Group) 聯(lián)合攝影專家組負責制定。為了進一步改善圖像壓縮的效率,同時保證圖像的質量,以適應低帶寬、高噪聲的環(huán)境和圖像應用的迅速擴展,該標準于1997 年開始征集提案。在2000 年12 月推出了該標準的基準部分,即JPEG2000Part I( ISO 15444 - 1 Baseline),其余部分也在2001 至2002 年被陸續(xù)推出。JP

21、EG2000主要是采用以小波變換為主的編碼方式,并將其與EBCOT算法相結合,采用MQ編碼器[1],使其避免了JPEG的分塊邊界效應,還能突出其感興趣區(qū)域。</p><p>  2.1 JPEG2000的編解碼過程</p><p>  JPEG2000 圖像編碼過程為:原始圖像—→預處理—→離散小波變換—→量化—→算術熵編碼—→壓縮圖像數(shù)據(jù)的存儲或傳輸。 解碼過程為該過程的逆過程。<

22、/p><p>  在編碼器中,首先對源圖像進行一些預處理,對處理的結果進行離散小波變換,并得到小波系數(shù)。然后對小波系數(shù)進行量化以及熵編碼,從而組成標準的輸出碼流。解碼是編碼的逆向過程,首先對碼流進行熵解碼,然后再進行反向量化和反向小波變換,對解碼后的結果進行處理合成,最終得到重建的圖像數(shù)據(jù)。</p><p>  2.2 JPEG2000中的核心處理</p><p>&l

23、t;b>  2.2.1 量化</b></p><p>  由于人類視覺系統(tǒng)對圖像的分辨率要求有一定的局限,通過適當?shù)牧炕瘻p小變換系數(shù)的精度,可在不影響圖像主觀質量的前提下,達到圖像壓縮的目的。小波變換本身并不具有壓縮數(shù)據(jù)的能力,變換前原始圖像的數(shù)據(jù)量與變換后各系數(shù)圖像的數(shù)據(jù)量相等而量化是把大量幅度較小系數(shù)抑制為零,從而壓縮數(shù)據(jù)量。它是以降低小波系數(shù)的精度為代價來提高壓縮比和降低碼流的。即量化是有

24、損的會產生量化誤差。不過也有另外的一種情況,那就是量化步長為1,而且小波系數(shù)都是整數(shù),利用可恢復的5/3拍小波濾波器進行小波變換得到的結果就符合這種情況。</p><p><b>  2.2.2 熵編碼</b></p><p>  圖像通過離散小波變換和量化后,在某種程度上減少了頻域和空域上的冗余度,可是在統(tǒng)計意義上這些數(shù)據(jù)還存在一定的相關性。因此我們采用熵編碼來消除

25、這種相關性。所謂的嵌入式塊編碼就是把量化后的子帶先分割成小矩陣再進行編碼。早期的嵌入式圖像壓縮算法有很多,這些算法包括Shapiro的EZW(embedded zero - tree wavelet compression)算法[2]、Said和Pearlman的SPIHT(Set Partitioning in Hierarchical Trees)[3]算法。與這些算法一樣,EBCOT算法同樣是先進行子帶采樣,再對小波系數(shù)進行量化以

26、及編碼。但是與SPIHT和EZW 算法不同的是,EBCOT 算法并沒有使用零樹結構而是使用碼塊(Code-Block),同時提出了一種稱為“ 壓縮后率失真優(yōu)化”(Post-compression Rate-distortion Optimization,PCRD-opt)[3]的算法。</p><p>  2.2.3 小波變換</p><p>  小波變換不僅具有反映信號局部特征而且還能對

27、信號進行多分辨率分析。圖像通過離散小波變換后得到小波系數(shù),再通過多級小波分解,從而可以同時表示圖像中的低頻和高頻信息,這樣無論在高比特率還是低比特率的情況下,都能保持較多的圖像細節(jié),使圖像更清晰。小波變換因其具有的這種優(yōu)點被JPEG2000標準所采用。其中小波系數(shù)是由很多種子帶系數(shù)圖像---描述圖像垂直和水平方向的空間頻率特性的圖像,組成的。</p><p><b>  3 EBCOT算法</b&

28、gt;</p><p>  嵌入式最優(yōu)切斷塊編碼EBCOT算法[4、5]是David Taubman,HP,1998年12月在JPEG Los Angeles會議上提出的。其主要思想是將各個子帶劃分成很多小塊再進行獨立的排列( 嵌入不同小塊的數(shù)據(jù)流) 。其主要特點是在進行編解碼時不需要太多的內存,并且速率容易控制,壓縮特性較高;ROI( Region of Interest) 訪問; 錯誤恢復;量化簡單; 復雜性

29、適度。與早期的嵌入式圖像壓縮算法[9]相比,EBCOT算法的主要特點是采用基于碼塊的位平面編碼和基于上下文的二進制算術編碼[10]。近幾年來,研究者對EBCOT算法不斷改進,提高了EBCOT算法的效率,圖像壓縮質量也得到提高。</p><p>  3.1 EBCOT框架</p><p>  EBCOT算法屬于熵編碼方案的一種,算法編碼框圖如圖3-1所示。</p><p&

30、gt;  圖3-1 EBCOT編碼框圖</p><p>  在EBCOT算法中,圖像預處理過程是對圖像的像素值進行DC變換和分量間變換。為了對圖像進行水平移位,使變換后的樣值的動態(tài)范圍大概以零點為中心,便于編碼,我們在這里采用DC變換。分量間變換是對彩色圖像來說的,對灰度圖像可以省略此步。</p><p>  EBCOT算法的核心部分是Tier1獨立塊編碼和Tier2碼流組裝[9],基

31、本思想是:將經過小波變換后的圖像在各子帶內劃分為大小固定的較小的碼塊,將碼塊作為基本處理單元,然后對碼塊系數(shù)量化并按照二進制位進行分層,從最高有效位平面開始到較低的有效位平面,依次對每個位平面上的小波系數(shù)位進行位平面編碼,從而生成0,1符號對和上下文,接著就是根據(jù)上下文和符號對其進行MQ算術編碼,形成碼塊碼流,完成Tier1編碼;最后根據(jù)一定參數(shù)指標如碼率、失真度,按率失真最優(yōu)原則對碼塊碼流重新組裝,形成最終的壓縮碼流,完成Tier2碼

32、流組裝過程[11]。</p><p><b>  3.2 位平面編碼</b></p><p>  位平面編碼是基于上下文、二進制、位平面算術編碼來實現(xiàn)的的一種編碼方式,它的每個編碼塊獨立使用熵編碼。將量化后的編碼塊當作有符號整數(shù)矩陣, 這樣每個系數(shù)的一位組成了一系列二進制矩陣。其中第一個這樣的矩陣包含了所有數(shù)的MSB(最高位)。下一個矩陣所的所有數(shù)包含在第二個MSB

33、,如此類推,最后一個矩陣則包含了所有數(shù)的最低位。這些二進制矩陣就是我們所說的位平面[12],如下圖3-2所示。為了得到多個截斷點, EBCOT塊編碼需要對每個幅值位平面進行三次掃描, 這樣是為了確保得到多個截斷點,才能形成與該位平面對應的壓縮碼流。這三次掃描分別是重要性通道(Pass 1)、量值細化通道(Pass 2)、清除通道(Pass 3),其編碼條件是:前一個比特面的相關比特是重要的;當前系數(shù)不重要,至少有一個相鄰的系數(shù)是重要的;

34、當前比特面在前兩個編碼通道中沒有被編碼的比特。在每一個編碼子塊中的系數(shù)都有一個與各自關聯(lián)的二進制狀態(tài)變量,稱為系數(shù)的重要性狀態(tài)。用符號“0” 表示不重要和符號“1”表示重要。根據(jù)這些重要性狀態(tài)來決定編碼通過的類型。</p><p>  這三次編碼通道由四個編碼操作組成,它們分別是:零編碼(ZC)、符號編碼( SC) 以及幅值細化(MR)和游程編碼(RLC)。編碼操作的選擇是根據(jù)系數(shù)所處的編碼階段和其直接相鄰的8個

35、系數(shù)狀態(tài)決定的。圖3-3是位平面編碼框圖,值得注意的是最高位平面只要進行清除通道掃描。</p><p>  圖 3-2 位平面表示</p><p>  圖 3-3 位平面編碼框圖</p><p>  3.3 MQ熵編碼</p><p>  圖像經過變換、量化后,雖然減少了一定的空域和頻域的冗余度,但還是需要通過熵編碼來消除這些數(shù)據(jù)在統(tǒng)計

36、意義上的相關性。為了達到抗干擾和任意水平逐漸顯示,JPEG2000把量化后的子帶分割成小碼塊,分別隊每個碼塊進行獨立編碼。然后對于每個碼塊進行掃描,每次掃描輸出進行自適應算術編碼,最后將壓縮的個子比特面組織成數(shù)據(jù)包的形式輸出。MQ是JPEG2000標準中實現(xiàn)無損壓縮的唯一途徑。在MQ編碼中,一對輸入判決D和上下文CX被一起送入編碼器進行處理,產生壓縮數(shù)據(jù)CD。JPEG 2000中采用的MQ編碼,其基本規(guī)則像Elias編碼那樣,分別作為M

37、PS(大概率符號)或LPS(小概率符號)中一個子區(qū)間來區(qū)別的而不是以符號”0”和”1”的實際值來區(qū)別。將當前概率區(qū)間劃分成為兩個子區(qū)間時,它的順序是LPS子區(qū)間可配置到MPS子區(qū)間的下面。所以,若符號是MPS,就給代碼串附加LPS子區(qū)間,同時,設概率區(qū)間寬度為MPS子區(qū)間;若符號是LPS,設概率區(qū)間寬度為LPS子區(qū)間。不改變代碼串。按判決輸入將此處理遞歸地重復下去。</p><p>  4 對象基優(yōu)化截斷嵌入式編

38、碼方法</p><p>  目前對EBCOT算法的研究很多,主要是對EBCOT算法的Tier1編碼的改進,以提高壓縮效率。由于EBCOT算法沒有考慮人的視覺感知特性,對整張圖像采用相同的編碼策略,各個對象的壓縮精度基本上相同,在有些場合難以發(fā)揮最高的編碼效率。如:文獻[6]提出一種優(yōu)化方案,采用通道并行處理和編碼并行處理的方法對位平面編碼。文獻[7]也提出一種Tier1優(yōu)化算法,該算法是通過減少編碼通道的掃描量及

39、運算量,以達到節(jié)省編碼時間的目的。EBCOT算法沒有考慮人的視覺感知特性,對整張圖像采用相同的編碼策略,各個對象的壓縮精度基本上相同,在有些場合難以發(fā)揮最高的編碼效率。文章參考以上研究,提出一種基于對象的優(yōu)化截斷編碼算法(EOCOT)。</p><p>  4.1 BOCOT框架圖</p><p>  EBCOT是對整幅圖像進行基于碼塊的編碼算法,而EOCOT算法主要是對EBCOT算法的圖

40、像預處理部分和位平面編碼部分的改進,其主要框架為:原圖像經過JSEG分割后,再對類(map)圖中的對象標號,然后經過小波變換的信號分解得到三級小波變換圖。在此基礎上,進行位平面編碼和熵編碼,形成對象Oi在各子帶內各位平面對應的碼流,最后輸出最終的壓縮碼流。</p><p><b>  圖4-1</b></p><p>  原圖像經JSEG分割后,用不同顏色表示不同對象

41、,圖中給出三級小波信號分解圖,L代表低頻,H代表高頻,LDLL是D級小波變換的最低頻子帶,LDLL,LDHL,LDLH,LDHH 是信號在LD-1LL低一級分辨率上的分解。</p><p>  EOCOT算法在圖像預處理部分利用JSEG分割技術將原圖像分割為不同的視覺對象Oi(i=1,2,3,……,n)每個對象都有各自的特征,用有規(guī)律的標號表示各個對象。對分割后的圖像進行DC變換和離散小波變換,提取視覺對象,并形

42、成對象的位置信息二值掩模圖,以各個對象為基本編碼單元,對各子帶內對象位置信息和系數(shù)進行位平面編碼和MQ編碼,形成按分辨率由低到高存儲的對象碼流,最后按率失真最優(yōu)原則對不同視覺對象的碼流重新組裝,形成最終的壓縮碼流。</p><p>  4.2 圖像預處理與分割</p><p>  本文算法在預處理階段引入了圖像分割技術,圖像分割是圖像處理領域的一項關鍵技術,本文采用的JSEG分割算法[2,

43、8]是一種經典的基于區(qū)域生長的圖像分割方法,它同時考慮了圖像的顏色和紋理信息,分割結果較準確,并具有良好的魯棒性。JSEG分割后得到的map圖是一種特殊類型的灰度圖像。在map圖中,像素值不是實際的灰度值,而是表示量化后的顏色類別標號,每個對象都用相同的標號值作為灰度值,但是這些標號是無規(guī)則的數(shù)值,不方便直接用于對象的提取,所以算法對map圖進行中值濾波和對象重新標號,以到達方便提取視覺對象的目的。</p><p&g

44、t; ?。?)中值濾波:目的是消除對象區(qū)域邊界的噪聲點,將其歸類到鄰近對象。</p><p>  (2)圖像分割后得到的map圖可以看作一種特殊類型的灰度圖像。在map圖中,像素值不是實際的灰度值,而是表示量化后的顏色類別標號,每個區(qū)域都用相同的標號值作為灰度圖像的灰度值,但是這些標號是無規(guī)則的數(shù)值。</p><p>  雖然圖像分割后的map圖是已經用量化后的顏色類別標號過的圖像,但是它

45、的標號值是作為圖像的灰度值存儲的,而且標號值是不連續(xù)的,所以需要將每個對象重新標號,標號值是連續(xù)的(如1,2,......M),此過程的目的是:在對基于對象編碼時,搜索新的標號值就代表了一個對象,可直接對對象編碼。在標號的過程中也對一些小對象做了處理,原因是經過濾波后也會產生一些小對象或者孤立的點,在標號時對對象內的像素點數(shù)小于閾值的對象,將該對象內的標號轉化成鄰近已標號對象的標號,減少對象編碼時對小對象的繁瑣處理,閾值的選取依據(jù)實驗結

46、果。</p><p>  4.3 基于離散小波的信號分解</p><p>  本文以對象O1為例,介紹基于對象的嵌入式編碼。圖像各對象重新標號后,選定視覺對象O1進行變換和編碼,同時將其它對象的像素值屏蔽為0,為了減少對其它對象的零像素比特的編碼,形成對象 錯誤!未找到引用源。的位置信息二值掩模圖,如圖4-2虛線框內,設 錯誤!未找到引用源。表示提取出O1的位置信息二值掩模圖, 錯誤!未找

47、到引用源。表示視覺對象及其鄰域內的像素點,如式(4-1)表示:</p><p><b>  (4-1)</b></p><p>  所以只需要對視覺對象的系數(shù)做DC變換。然后將DC變換后的整幅圖像進行離散小波變換。</p><p>  (1)DC變換:本文基于對象的優(yōu)化截斷編碼算法用到的DC變換與EBCOT算法中類似,DC變換的方法是圖像中基于

48、對象內的每個像素值減去一個2P-1進行調整,P為圖像的精度,即圖像各區(qū)域中絕對值最大的樣值所需要的比特數(shù)。這樣可以將圖像的無符號像素值變成有符號值,從而圖像的區(qū)域像素值的變化范圍關于零對稱,進而小波系數(shù)的變化范圍也不會過大,有利于解碼,在解碼端只需要給后向分量變換的樣值加上2P-1就可以了。</p><p>  (2)離散小波變換:本文采用9/7提升小波變換,小波變換可得到具有多分辨率性質的一個低頻子集和若干個高

49、頻子集。如果對圖像進行D層小波變換分解,最后就會得到3D+1個子帶子圖。每個LLD子帶子圖都是對LLD-1子帶子圖在寬高減半低一級分辨率上的逼近。這樣D層小波分解的原始圖像自然可以得到D+1個不同分辨率的圖像[9]。本文以視覺對象O1作為編碼單元為例,經三級小波變換后,O1及其位置信息圖在不同分辨率下的分布如圖4-3。對小波變換系數(shù)按LLD、HLD、LHD、HHD、HLD-1、LHD-1、HHD-1、……、HL1、LH1、HH1的順序掃

50、描編碼就會得到多分辨率支持的對象碼流。</p><p>  圖4-2 對象O1的位置二值掩模圖 圖4-3 對象O1及其位置信息的三級小波變換分解圖</p><p><b>  4.4 位平面編碼</b></p><p>  位平面編碼就是先將O1的位置信息狀態(tài)變量w[i][j]初始化為0,對位置信息位平面進行清除通道編碼掃描,并記錄位置系

51、數(shù)坐標。然后對位置信息區(qū)域內的系數(shù)位編碼,初始化系數(shù)位的所有狀態(tài)變量為0,由于重要狀態(tài)變量初始化為0,所以對最高位平面只進行清除通道編碼掃描,然后對其它位平面進行3個通道的編碼掃描,形成對應的壓縮碼流。各個位平面之間的關系是通過狀態(tài)變量聯(lián)系的,所以狀態(tài)變量要及時更新。掃描順序是按每列4個系數(shù)從左到右、從高位平面到低位平面、從上到下的順序對各個子帶內的所有像素比特進行掃描以及編碼,從而使每個比特生成相應的上下文Cx和0、1符號D。位平面編

52、碼過程采用三個編碼通道(重要性通道P1、幅值細化通道P2、清除通道P3)和四種編碼方法(ZC編碼,RLC編碼,SC編碼,以及MR編碼),對每個位平面系數(shù)位進行掃描和編碼。三個通道編碼次序和編碼框圖見圖4-3。</p><p>  圖4-3 位平面編碼框圖</p><p>  文章以視覺對象為編碼單元,對不同子帶內的視覺對象進行獨立編碼,不同子帶的分辨率不同,對應的尺寸大小也不同,所以對不

53、同子帶掃描的像素點數(shù)不同。按分辨率由低到高依次對視覺對象編碼,從低頻子集LLD開始,依次編碼HLD,LHD,HHD,HLD-1,LHD-1,HHD-1,……HH1中的對象信息,形成嵌入式碼流。其輸出碼流的特點是結果碼流可以分離成一個個依次相互包含的子集,不同子集對應不同的對象分辨率,并按分辨率大小排序,最低分辨率對應比特數(shù)最少的子集,出現(xiàn)在結果碼流的起始部分。所以從嵌入式碼流的起始至某一位置這段碼流是一個低碼率的完整碼流,由它可以解碼重

54、構視覺對象,與原碼流相比,這部分碼流解碼出的視覺對象具有更低的質量和分辨率,但解碼對象是完整的。所以基于對象的嵌入式編碼能夠實現(xiàn)一次壓縮,而解壓重建出多幅不同質量和分辨率要求的視覺對像。</p><p><b>  5 實驗結果與分析</b></p><p>  為了驗證EOCOT算法的有效性,基于VC6.0軟件平臺,進行了仿真測試,測試圖像從百度圖像庫中隨機搜索得到

55、,主要實驗步驟如下:</p><p> ?。?)利用JSEG分割算法將原圖像分割為不同視覺對象,得到類(map)圖。并對map圖內像素值中值濾波和各對象重新標號,形成有規(guī)律的標號。</p><p> ?。?)形成各對象的位置信息二值掩模圖,然后對圖像進行DC變換、離散小波變換和系數(shù)量化。</p><p>  (3)基于對象編碼,將對象的位置信息二值圖作為位平面的一部

56、分,并優(yōu)先對其進行清除通道掃描和RLC編碼,然后再從高位平面到低位平面編碼形成上下文Cx和二進制符號D,再進行MQ編碼,形成按分辨率由小到大存儲的對象碼流。</p><p> ?。?)對每個視覺對象編碼,各自形成一組碼流,最后按率失真最優(yōu)原則對碼流重組,形成最終的壓縮碼流。</p><p> ?。?)解碼,解碼是編碼的逆過程,對不同對象解碼得到對象圖,對同一對象在不同分辨率下的解碼,得到不

57、同質量和分辨率的對象圖。</p><p>  這里僅給出部分實驗結果,如圖5-1所示。實驗結果圖包括三個子圖,(1)圖給出原圖像及其分割圖、map圖、三級小波分解圖;( 2)圖給出一個對象在不同分辨率下的解碼圖。圖5-1中給出原圖像bean的五個對象的提取結果及Object1在不同分辨率下的解碼圖??梢钥吹嚼肊OCOT算法能夠完整地提取出視覺對象在不同分辨率下的解碼圖,實現(xiàn)嵌入式編解碼,有利于觀察者分析和理解圖

58、像。</p><p> ?。╝)原圖像及其預處理圖像 </p><p>  (b)Object1在各種情況下的解碼圖</p><p>  圖 5-1 仿真實驗結果(bean)</p><p><b>  6 結論及展望</b></p><p>  本文提出一種基于對象的優(yōu)化截斷嵌入式編碼算法(

59、EOCOT算法),該算法在EBCOT算法基礎上對圖像預處理部分和位平面編碼做了改進,該算法的主要貢獻是:(1)引入JSEG分割算法對圖像進行預處理,提取視覺對象,并形成對象的位置信息二值掩模圖,將位置信息作為一個位平面優(yōu)先編碼;(2)對不同分辨率下的視覺對象獨立編碼,實現(xiàn)了基于對象的嵌入式編碼。(3)可以對不同對象采取不同的嵌入式編碼算法,提高精度。實驗結果也同時表明該算法能夠得到完整的視覺對象解碼圖,具有良好的主觀視覺感知性。然而,本

60、文算法沒有考慮碼率控制對壓縮碼流的優(yōu)化組裝和對重要對象的優(yōu)化傳輸,在這方面還有很大的改進空間,相關的理論和算法還需要進一步研究。</p><p><b>  參考文獻</b></p><p>  [1] 劉柏森,董宏偉. 一種改進的EBCOT圖像編碼方法[J]. 2008, 9(22): 75~76.</p><p>  [2] Yining

61、Deng,B S Manjunath.Unsupervised Segmentation of Color-Texture Regions in Images and Video[J]. IEEE Transactions On Pattern Analysis and Machine Intelligence, 2001, 23(8): 479~482</p><p>  [3] 白麗麗. 基于FPGA的自適應

62、算術編碼研究與實現(xiàn)[D]. 哈爾濱:哈爾濱工業(yè)大學, 2006.</p><p>  [4] 梁曉宇,李棟. JPEG2000的核心壓縮算法簡介和仿真[J]. 中國傳媒大學工程信息學院, 2006, 1(4): 25~27.</p><p>  [5] 孫韶杰. 基于EBCOT的圖像壓縮系統(tǒng)及感興趣區(qū)域編碼技術的研究與實現(xiàn)[D].國防科學技術大學研究生院, 2006.</p>

63、<p>  [6] 朱文文.劉立柱. JPEG2000中EBCOT算法的優(yōu)化[J]. 計算機應用. 2008, 6 (28): 210~212.</p><p>  [7] 劉柏森.董宏偉. 一種改進的EBCOT圖像編碼方法[J]. 黑龍江工程學院學報(自然科學版), 2008, 9(22): 75~76.</p><p>  [8] 劉晶. 基于語義的自然圖像檢索[D].

64、陜西:西北工業(yè)大學. 2006.</p><p>  [9] 張春香. 基于JPEG2000標準的優(yōu)化編碼算法研究[D]. 重慶:重慶大學. 2006.</p><p>  [10] 白麗麗. 基于FPGA的自適應算術編碼研究與實現(xiàn)[D]. 哈爾濱:哈爾濱工業(yè)大學. 2006.</p><p>  [11] 趙偉強. JPEG2000的核心算法研究[J]. 電子學報

65、, 2006, 2 (23): 51~52.</p><p>  [12] 王立. JPEG2000的核心算法及最新發(fā)展[J]. 通信與信息技術, 2005, 6(53): 55~56.</p><p>  附錄1 主要程序</p><p>  int Region_bufferin[WIDTH][WIDTH];</p><p>  in

66、t Region_bufferout[WIDTH][WIDTH];</p><p>  void main()</p><p><b>  {</b></p><p>  unsigned char *Image, *Image1;</p><p>  unsigned char Fheadg[54],unsigdat

67、a;</p><p>  char Pallette[1024];</p><p>  int Row,Col,M,s,i,j;</p><p>  long Index;</p><p>  FILE *in,*out,*inter;</p><p>  Image=(unsigned char *)calloc (

68、720*720,sizeof(unsigned char));</p><p>  Image1=(unsigned char *)calloc (720*720,sizeof(unsigned char)); </p><p>  if ((in = fopen("c2.raw","rb")) == NULL)</p><p&g

69、t;  {printf("cannot open inputfile\n");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if((out = fopen("97wave_out.raw","wb+&qu

70、ot;)) == NULL)</p><p>  {printf("cannot open outfile\n");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(!ReadGrayImage("

71、c2map1.bmp",&Row,&Col,Image,Fheadg,Pallette))</p><p>  { printf("cannot open mapfile\n");</p><p><b>  return;</b></p><p><b>  }</b&

72、gt;</p><p>  scanf("%d",&s);</p><p><b>  if(s>=M)</b></p><p>  printf("the error region");</p><p>  for(i = 0;i<Row;i++)</p

73、><p>  for(j = 0;j<Col;j++)</p><p><b>  { </b></p><p>  Index=i*Col+j;</p><p>  fread(&unsigdata, 1,1,in);</p><p>  if(Image1[Index]==s)<

74、;/p><p>  Buffer[i+4][j+4] = (float) unsigdata;</p><p>  else Buffer[i+4][j+4] =0;</p><p><b>  }</b></p><p><b>  //DC變換</b></p><p>  

75、for(i = 0;i<Row;i++)//行</p><p><b>  {</b></p><p>  for(j = 0;j<Col;j++)//列</p><p><b>  { </b></p><p>  Index=i*Col+j;</p><p&g

76、t;  if(Image1[Index]==s)</p><p>  Buffer[i+4][j+4] = (Buffer[i+4][j+4]-128);</p><p><b>  }</b></p><p><b>  }</b></p><p>  decode_allsubband(Re

77、gion_bufferout,Row,Col,s,Image1);</p><p>  for(i=0;i<(Row>>3);i++)</p><p>  for(j=0;j<(Col>>3);j++)</p><p>  Interleave[i+4][j+4]=(float)(Region_bufferout[i][j]-0.

78、5);</p><p><b>  //小波逆變換</b></p><p>  ldwt(Row,Col,Buffer,Interleave,Bufferout); </p><p><b>  //DC逆變換</b></p><p>  for(i = 0;i<Row;i++)<

79、/p><p>  for(j = 0;j<Col;j++)</p><p><b>  { </b></p><p>  Index=i*Col+j;</p><p>  if(Image1[Index]==s)</p><p>  Buffer[i+4][j+4] = Buffer[i+4

80、][j+4]+128;</p><p><b>  }</b></p><p>  for(i = 0;i<Row;i++)</p><p>  for(j = 0;j<Col;j++)</p><p><b>  { </b></p><p>  Bu

81、ffer[i+4][j+4]=abs(Buffer[i+4][j+4]);</p><p>  Index=i*Col+j;</p><p>  if(Image1[Index]==s)</p><p>  unsigdata=(unsigned char)floor(Buffer[i+4][j+4]+0.5);</p><p><b&

82、gt;  else</b></p><p>  unsigdata=(unsigned char)(Buffer[i+4][j+4]+253);</p><p>  fwrite(&unsigdata,1,1,out);</p><p><b>  }</b></p><p>  fclose(in)

83、;</p><p>  fclose(out);</p><p><b>  }</b></p><p>  void encode_allsubband(int region_bufferin[WIDTH][WIDTH], unsigned char *Image1,int Row,int Col,int s, float interleav

84、e[LENGH][LENGH])</p><p><b>  {</b></p><p>  int i,j,m,k,h;</p><p>  long K=0,H=0,Index;</p><p>  unsigned char unsigdata;</p><p><b>  m=L

85、EVEL;</b></p><p>  printf("\nThe region code sample is:");</p><p>  for(i=0;i<(Row>>m);i++)</p><p>  for(j=0;j<(Col>>m);j++)</p><p>&l

86、t;b>  { </b></p><p>  Index=i*Col+j;</p><p>  if(Image1[Index]==s)</p><p><b>  { </b></p><p>  region_bufferin[i][j] =(int)(floor)(interleave[i+4][

87、j+4]+0.5);</p><p>  if(j%16==0)</p><p>  printf("\n");</p><p>  printf("%d, ",region_bufferin[i][j]);</p><p><b>  }</b></p><

88、p><b>  }</b></p><p>  region_encode(region_bufferin,Row,Col,s,Image1,m);</p><p><b>  }</b></p><p><b>  附錄2 科研論文</b></p><p>  基于對

89、象的優(yōu)化截斷編碼算法(EOCOT)</p><p>  摘要:傳統(tǒng)EBCOT算法是一種基于碼塊的優(yōu)化截取嵌入式編碼方法,它沒有考慮人的視覺感知特性,對整張圖像采用相同的編碼策略,難以獲得與主觀視覺感知相匹配的結果。為此,文章提出一種基于對象的優(yōu)化截取嵌入式編碼方法。該算法將圖像分割成具有不同視覺興趣的對象,對不同視覺對象可以采用不同的嵌入式編碼策略進行獨立編碼,生成各自獨立的碼流。仿真實驗結果顯示提出的改進算法是

90、有效的。</p><p>  關鍵詞:EBCOT算法;圖像分割;類圖;EOCOT算法</p><p>  Abstract: EBCOT algorithm is a traditional block-based optimization of code embedded coding method interception, It does not take into account

91、characteristics of human visual perception, on the whole image using the same encoding strategy, it’s hardly match with the subjective results of visual perception. So, this paper presents the optimization based on the i

92、nterception of an object embedded coding. Image is segmented into different visual objects of interest, different visual objects can be e</p><p><b>  1 引言</b></p><p>  隨著社會的進步,科學的發(fā)展,

93、基于ROI的圖像編碼方法越來越多樣化。從一般的壓縮編碼基礎到預測編碼、</p><p>  正交變換編碼、第二代編碼方法、分形編碼、模型編碼、神經網(wǎng)絡編碼、</p><p><b>  統(tǒng)計編碼、</b></p><p><b>  子帶編碼和</b></p><p>  小波變換編碼等等,涌現(xiàn)出了

94、很多優(yōu)秀的編碼方式。</p><p>  我們要從各種圖像編碼方法中研究出基于ROI的圖像編碼方法有何不同點,并且分析出各自的優(yōu)勢何劣勢。當然基于ROI的圖像編碼方法的研究需要更清楚弄清他的本質。</p><p>  目前,基于ROI的圖像編碼研究正處在發(fā)展中階段。自從它發(fā)明問世以來,受到了人們的廣泛關注,它不僅僅帶來了更新型的圖像編碼方法,帶來的還有更新型的圖像編碼創(chuàng)新思想!僅僅一年,各

95、種基于ROI圖像編碼的方法層出不窮,從一般的壓縮編碼基礎到預測編碼、</p><p>  正交變換編碼、第二代編碼方法、分形編碼、模型編碼、神經網(wǎng)絡編碼、</p><p><b>  統(tǒng)計編碼、</b></p><p><b>  子帶編碼和</b></p><p>  小波變換編碼等等!無不顯示出

96、其基于ROI圖像編碼方法的獨特魅力?,F(xiàn)在基于ROI的圖像編碼方法正在逐步完善之中,這是一個走向成熟的標志。隨著基于ROI的如圖像編碼研究的不斷發(fā)展,一種對象基嵌入式圖像編方法出現(xiàn)的越來越多。</p><p>  本文通過對基本圖像編碼方法、ROI編碼方法、嵌入式編碼方法的了解,在EBCOT的基礎上,提出一種基于對象的優(yōu)化截斷嵌入式編碼算法——EOCOT編碼算法,該算法為解決圖像壓縮比與重建圖像質量之間的矛盾提供了

97、一個新思路,具有廣泛的應用前景。</p><p>  2 EOCOT算法的框架</p><p>  EBCOT是對整幅圖像進行基于碼塊的編碼算法,而EOCOT算法主要是對EBCOT算法的圖像預處理部分和位平面編碼部分的改進,主要框圖如圖2-1所示。</p><p><b>  圖2-1</b></p><p>  EOC

98、OT算法在圖像預處理部分利用JSEG分割技術將原圖像分割為不同的視覺對象{O1,O2,……On},每個對象都有各自的特征,用有規(guī)律的標號表示各個對象。然后對分割后的圖像進行DC變換和離散小波變換,提取視覺對象,并形成對象的位置信息二值圖,以各個對象為基本編碼單元,對各子帶內對象位置信息和系數(shù)進行位平面編碼和MQ編碼,形成按分辨率由低到高存儲的對象碼流,最后按率失真最優(yōu)原則對不同視覺對象的碼流重新組裝,形成最終的壓縮碼流。</p&g

99、t;<p><b>  3圖像預處理</b></p><p>  3.1 JESG圖像分割</p><p>  圖像分割是圖像處理領域的一項關鍵技術,本文采用的JSEG分割算法[4,5]是一種經典的基于區(qū)域生長的圖像分割方法,它同時考慮了圖像的顏色和紋理信息,分割結果較準確,并具有良好的魯棒性。JSEG分割后得到的map圖是一種特殊類型的灰度圖像。在ma

100、p圖中,像素值不是實際的灰度值,而是表示量化后的顏色類別標號,每個對象都用相同的標號值作為灰度值,但是這些標號是無規(guī)則的數(shù)值,不方便直接用于對象的提取,本文對map圖進行中值濾波和對象重新標號,以到達方便提取視覺對象的目的。</p><p>  JSEG算法簡介[6]:JSEG算法是基于圖像中顏色紋理區(qū)域的無監(jiān)督分割算法。該算法可以分成兩個主要步驟:顏色量化和空間分割。顏色量化的目的是為了減少原始彩色圖像的顏色數(shù)

101、量,以降低算法復雜度??臻g分割是基于種子生長的區(qū)域分割。</p><p>  3.2對類(map)圖中的對象標號</p><p>  圖像分割后得到的map圖可以看作一種特殊類型的灰度圖像。在map圖中,像素值不是實際的灰度值,而是表示量化后的顏色類別標號,每個區(qū)域都用相同的標號值作為灰度圖像的灰度值,但是這些標號是無規(guī)則的數(shù)值。</p><p>  雖然圖像分割后

102、的map圖是已經用量化后的顏色類別標號過的圖像,但是它的標號值是作為圖像的灰度值存儲的,而且標號值是不連續(xù)的,所以需要將每個對象重新標號,標號值是連續(xù)的(如1,2,......M),此過程的目的是:在對基于對象編碼時,搜索新的標號值就代表了一個對象,可直接對對象編碼。在標號的過程中也對一些小對象做了處理,原因是經過濾波后也會產生一些小對象或者孤立的點,在標號時對對象內的像素點數(shù)小于閾值的對象,將該對象內的標號轉化成鄰近已標號對象的標號,

103、減少對象編碼時對小對象的繁瑣處理,閾值的選取依據(jù)實驗結果。</p><p><b>  算法步驟:</b></p><p> ?。?)搜索圖像中未標號的第一個像素點,標號為S。</p><p>  (2)以該像素點為中心,搜索其八個鄰域像素點,如果鄰域點的像素值等于中心像素點的值,則將其標上相同的標號,并記錄該像素點的坐標。</p>

104、<p> ?。?)以標號過的像素點為中心,對其八個鄰域點內未標號的點標號,如果鄰域點的像素值等于中心像素點的值,則將其標上相同的標號,并記錄該像素點的坐標。</p><p> ?。?)標號完一個對象的所有像素點,如果該對象的像素個數(shù)小于閾值,則重新標號該對象,將該對象內的像素點歸到鄰近對象。</p><p> ?。?)S+1,重新搜索圖像中未標號的對象的像素點,重復(1)——

105、(4)步。直到將圖像內的所有對象的像素點標號完成。</p><p>  3.3 基于小波變換的信號分解</p><p>  本文以對象O1為例,介紹基于對象的嵌入式編碼。圖像各對象重新標號后,選定視覺對象O1進行變換和編碼,同時將其它對象的像素值屏蔽為0,為了減少對其它對象的零像素比特的編碼,形成對象O1的位置信息二值掩模圖,如圖3-2虛線框內,設f(x,y)表示提取出O1的位置信息二值掩

106、模圖,d(x,y)表示視覺對象及其鄰域內的像素點,如式(3-1)表示:</p><p><b>  (3-1)</b></p><p>  所以只需要對視覺對象的系數(shù)做DC變換。然后將DC變換后的整幅圖像進行離散小波變換。</p><p> ?。?)DC變換:本文基于對象的優(yōu)化截斷編碼算法用到的DC變換與EBCOT算法中類似,DC變換的方法是圖

107、像中基于對象內的每個像素值減去一個2P-1進行調整,P為圖像的精度,即圖像各區(qū)域中絕對值最大的樣值所需要的比特數(shù)。這樣可以將圖像的無符號像素值變成有符號值,使區(qū)域像素值的動態(tài)范圍關于零對稱,使得小波變換后的系數(shù)動態(tài)范圍不會過大,有利于編碼,在解碼端只需要給后向分量變換的樣值加上2P-1就可以了。</p><p>  (2)離散小波變換:本文采用9/7提升小波變換[7],小波變換可得到具有多分辨率性質的一個低頻子集

108、和若干個高頻子集。如果對圖像進行D層小波變換分解,最后就會得到3D+1個子帶子圖。每個LLD子帶子圖都是對LLD-1子帶子圖在寬高減半低一級分辨率上的逼近。這樣D層小波分解的原始圖像自然可以得到D+1個不同分辨率的圖像。本文以視覺對象O1作為編碼單元為例,經三級小波變換后,O1及其位置信息圖在不同分辨率下的分布如圖3-3。對小波變換系數(shù)按LLD、HLD、LHD、HHD、HLD-1、LHD-1、HHD-1、……、HL1、LH1、HH1的順

109、序掃描編碼就會得到多分辨率支持的對象碼流。</p><p>  圖 3-1 對象O1的位置二值掩模圖 圖3-2 對象O1及其位置信息的三級小波變換分解圖</p><p>  3.4 位平面編碼過程</p><p>  位平面編碼就是先將O1的位置信息狀態(tài)變量w[i][j]初始化為0,對位置信息位平面進行清除通道編碼掃描,并記錄位置系數(shù)坐標。然后對位置信息區(qū)

110、域內的系數(shù)位編碼,初始化系數(shù)位的所有狀態(tài)變量為0,由于重要狀態(tài)變量初始化為0,所以對最高位平面只進行清除通道編碼掃描,然后對其它位平面進行3個通道的編碼掃描,形成對應的壓縮碼流。各個位平面之間的關系是通過狀態(tài)變量聯(lián)系的,所以狀態(tài)變量要及時更新。掃描順序是按每列4個系數(shù)從上到下、從左到右、從高位平面到低位平面的順序對子帶內所有像素比特進行掃描和編碼,為每個比特生成相應的上下文Cx和0、1符號D。位平面編碼過程采用三個編碼通道(重要性通道P

111、1、幅值細化通道P2、清除通道P3)和四種編碼方法(ZC編碼,RLC編碼,SC編碼,以及MR編碼),對每個位平面系數(shù)位進行掃描和編碼。三個通道編碼次序和編碼框圖見圖3-4。</p><p>  圖 3-3 位平面編碼框圖</p><p>  本文以視覺對象為編碼單元,對不同子帶內的視覺對象進行獨立編碼,不同子帶的分辨率不同,對應的尺寸大小也不同,所以對不同子帶掃描的像素點數(shù)不同。按分辨

112、率由低到高依次對視覺對象編碼,從低頻子集LLD開始,依次編碼HLD,LHD,HHD,HLD-1,LHD-1,HHD-1,……HH1中的對象信息,形成嵌入式碼流。其輸出碼流的特點是結果碼流可以分離成一個個依次相互包含的子集,不同子集對應不同的對象分辨率,并按分辨率大小排序,最低分辨率對應比特數(shù)最少的子集,出現(xiàn)在結果碼流的起始部分。所以從嵌入式碼流的起始至某一位置這段碼流是一個低碼率的完整碼流,由它可以解碼重構視覺對象,與原碼流相比,這部分

溫馨提示

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

評論

0/150

提交評論