版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 本科畢業(yè)設計</b></p><p><b> ?。?0 屆)</b></p><p> 對象基嵌入式圖像編碼中的碼率控制算法研究</p><p> 所在學院 </p><p> 專業(yè)班級 電
2、子信息工程 </p><p> 學生姓名 學號 </p><p> 指導教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b>
3、;</p><p> 在計算機多媒體技術的不斷發(fā)展的時代,當存儲和傳輸大量的圖像數(shù)據(jù)時,圖像壓縮將起到越來越重要的作用。嵌入式編碼是一種全新的編碼方式,它可以提供某種程度上的可伸縮性。嵌入式編碼特別適合于容易產生誤差的環(huán)境,也可以應用于網(wǎng)絡,圖像瀏覽,無線傳輸。嵌入式編碼隨著接收比特的增多,原來的圖像可以逐步被恢復。當然嵌入式的編碼器可以通過監(jiān)視編碼的一些參數(shù),在滿足目標比特率或者減少誤差的情況下,在任何一點終
4、止編碼。同樣解碼器也可以在任何一點截斷比特流,重構圖像。</p><p> 本文是結合率失真優(yōu)化(PCRD)算法在對象基嵌入式編碼原理之上實現(xiàn)了一種新的對象基嵌入式圖像編碼(EOCOT)的碼率控制算法。它是根據(jù)人的視覺感知特性,以不同視覺對象為基本碼率控制單元進行的編碼。該算法先將圖像先進行分割得到不同的視覺對象,并把原始圖像通過直流(DC)變換和離散小波變換(DWT)。再依據(jù)圖像總目標碼率和小波子帶重要性,預
5、先分配子帶目標碼率。然后,以小波子帶為碼率控制單元,運用率失真優(yōu)化的思想對子帶內對象碼流進行優(yōu)化截取和重新組裝,并完成碼率控制過程。仿真實驗結果表明,本文實現(xiàn)的算法可以有效的實現(xiàn)編碼前預分配子帶碼字。同時,在不同碼率要求下,能夠得到不同質量的解碼恢復圖像,實現(xiàn)有效的碼率控制過程。</p><p> 關鍵詞:EOCOT編碼;PCRD算法; DC變換; DWT變換</p><p><b
6、> Abstract</b></p><p> With the development of Multimedia technique, image compression plays a very important role in the storage and mass image data.Embedded image coding is a new coding method,
7、 it also can provide the possibility to reconstruct reproductions of the image better and better as the coding image bit stream is received more and more. Embedded image coding is especially fit for the fallible and cha
8、ngeful environment, such as Internet/wireless transmission, image browse and so on. The output bit stream o</p><p> Based on rate distortion optimization (PCRD) algorithm and object proposed embedded codin
9、g principle, a new rate control of object embedded image coding (EOCOT) was proposed. It is according to the visual perception, using different visual object properties for basic code of rate control to coding. The algor
10、ithm obtain the different visual object and the original image through the image segmentation. The original image made by direct current (DC) transform and discrete cosine transform (DWT). I</p><p> Key Wor
11、ds:EOCOT code; PCRD algorithms; DC transform; DWT transform</p><p><b> 目 錄</b></p><p> 1 引言錯誤!未定義書簽。</p><p> 2 圖像及其編碼方法2</p><p> 2.1圖像基本概念2</p>
12、;<p> 2.2圖像編碼方法2</p><p> 2.2.1 熵編碼2</p><p> 2.2.2 預測編碼3</p><p> 2.3嵌入式圖像編碼4</p><p> 3 碼率控制算法5</p><p> 3.1碼率控制算法的基本概念5</p><p&g
13、t; 3.2 JPEG2000中的碼率控制算法5</p><p> 4 對象基嵌入式圖像編碼中的碼率控制算法7</p><p> 4.1對象基嵌入式編碼7</p><p> 4.2率失真優(yōu)化算法7</p><p> 4.3 算法步驟8</p><p> 4.3.1 子帶預分配目標碼字9</
14、p><p> 4.3.2 熵編碼10</p><p> 4.3.3 更新總目標碼率11</p><p><b> 5 實驗結果12</b></p><p><b> 6 結論14</b></p><p><b> 致謝15</b><
15、/p><p><b> 參考文獻16</b></p><p> 附錄1 算法源程序18</p><p> 附錄2 科研論文21</p><p><b> 1引言</b></p><p> 近年來,越來越多基于小波變換的嵌入式圖像的編碼方法不斷被提出,如內嵌零樹(E
16、ZW)編碼方法、基于分層樹集合分割(SPIHT)編碼方法以及嵌入式最優(yōu)截斷塊EBCOT編碼方法[1]。嵌入式編碼能夠實現(xiàn)一次壓縮,而解壓重建出多幅不同質量和分辨率要求的圖像[2]。傳統(tǒng)EBCOT算法是一種基于碼塊的優(yōu)化截取嵌入式編碼方法,它沒有利用人的視覺感知特性對整張圖像采用相同的編碼策略,因此難以獲得與主觀視覺感知相匹配的結果。為了改進EBCOT算法中存在的不足,提出一種基于對象的優(yōu)化截取嵌入式編碼(EOCOT)算法。該算法是基于對
17、象的一種編碼方法,也是一種新穎的尺度可伸縮的圖像壓縮算法,除了保持很高的壓縮效率和信噪比(SNR)可伸縮性外,還增加了分辨率可伸縮性和支持ROI(感興趣區(qū)域)編碼特性。本文就是在研究現(xiàn)有的EBCOT算法基礎上,實現(xiàn)一種基于對象的優(yōu)化截取嵌入式編碼(EOCOT)算法 [3]。該算法的特點是考慮人的視覺感知特性,并以不同視覺對象為基本編碼單元,可以采用不同的嵌入式編碼策略對視覺對象進行獨立編碼,最終生成各自獨立碼流。</p>
18、<p> 研究EBCOT算法中的碼率控制過程,需要在給定的目標碼率下,考慮視覺對象壓縮碼流的優(yōu)化截取及重要對象的優(yōu)化傳輸?shù)膯栴}。EBCOT算法能夠實現(xiàn)圖像壓縮的空間分辨率漸進性和SNR漸進性。該算法采用率失真優(yōu)化的碼率控制算法,根據(jù)不同子帶內的碼塊產生的比特流長度不同,對恢復圖像質量的貢獻不同,對所有碼塊編碼完成后,進行率失真優(yōu)化處理,比特流重新組裝就可得到最終壓縮碼流。該過程是在T1編碼后進行的,所以被稱為壓縮后率失真優(yōu)化
19、(PCRD)算法。</p><p> 針對EOCOT是基于對象編碼的這個特點,本文將PCRD算法思想運用到對象基嵌入式編碼中,實現(xiàn)一種新的對象基嵌入式圖像編碼中的碼率控制算法。該算法采用預先分配子帶目標碼率的方法,以子帶為碼率控制單元,依據(jù)對象的視覺感知特性和重要性,采用率失真優(yōu)化的思想,并對子帶內的對象碼流進行優(yōu)化截取和重新組裝,從而實現(xiàn)有效的碼率控制過程。</p><p> 2 圖
20、像及其編碼方法</p><p><b> 2.1圖像基本概念</b></p><p> 圖像是客觀世界能量或者狀態(tài)以可視化的形式在二維平面上的投影,是社會生活中常見的一種信息媒體,也是人類從外界獲取原始信息的主要途徑[4]。隨著計算機計算、現(xiàn)代通信技術,在技術、網(wǎng)絡技術和信息處理技術的發(fā)展,人類進入了信息化社會,圖像作為人類最重要的信息載體,更是成為信息時代必不可
21、少的要素。 </p><p> 數(shù)字圖像常用一個數(shù)值的方式來表示一個圖像。數(shù)字圖像是圖像的數(shù)字表示,像素是最小的單位。黑白圖像也稱為二值圖像,是指圖像的每一個像素只能是0或者1,也就是黑或者白,沒有中間的過度。彩色圖像是指每個像素的信息由紅綠藍(RGB)三原色構成的圖形,其中的三原色可以由不同的灰度級來描述的。但灰度圖像沒有彩色信息,圖像的每個像素的信息是用一個量化的灰度級來描述的。</p>
22、<p> 圖像信號的的數(shù)字處理技術,也稱為數(shù)字圖像信息處理技術,最常見的是用計算機對圖像進行處理。圖像信息處理的方法主要有:圖像變換、圖像增強、圖像復原、圖像壓縮和圖形重建。</p><p> 2.2 圖像編碼方法</p><p> 圖像編碼是指在滿足一定的質量信噪比的要求或主觀評價得分的條件下,用比較少的比特數(shù)表示圖像或圖像中所包含信息的一種技術。衡量圖像編碼的指標是
23、平均每個樣本中的編碼比特數(shù),這一數(shù)值的降低取決于編碼方案是否能充分地去掉相關性。由于實際圖像是一個非平穩(wěn)的過程,它的局部統(tǒng)計相關性會隨著圖像各局部內容細節(jié)及活動量而變化。而自適應圖像編碼則能夠根據(jù)圖像局部統(tǒng)計相關性的變化,自動采用不同的參數(shù)甚至能在不同的圖像編碼方案間切換,從而做到充分去除圖像每一局部范圍內的相關性。 </p><p><b> 2.2.1 熵編碼</b></p>
24、;<p> 熵編碼是一種無損編碼,它是基于信號特性的一種編碼技術。熵編碼解碼后能無失真的恢復原始圖像,其基本原理是給出概率較大的符號一個短碼字,而給出概率小的符號一個長碼字,這樣能夠使得最終的平均碼長較小。有香農信息定論可知:圖像的熵值是在保存信息量的前提下進行編碼的每像素平均碼元數(shù)的下限,這種信息熵保持編碼叫熵編碼[5]。</p><p><b> 哈夫曼編碼</b>&l
25、t;/p><p> 1952年哈夫曼提出了一種編碼方法,即哈夫曼編碼。哈夫曼編碼與信源熵的編碼方法是十分相近的。它是根據(jù)信源中各種符號出現(xiàn)的概率進行的編碼,出現(xiàn)概率越高的符號其碼字越短,出現(xiàn)概率越小的符號,則對應的碼字就越長,從而實現(xiàn)較少的平均碼長。因為哈夫曼編碼較為簡單有效,所以得到了廣泛的應用。哈夫曼編碼的缺點是對于位的增減反應敏感,并且哈夫曼編碼要對原始數(shù)據(jù)掃描兩遍,以致于數(shù)據(jù)壓縮和還原速度就相對較慢。<
26、;/p><p><b> ?。?)算術編碼</b></p><p> 在算術編碼中,輸入的字符信息是用0到1之間的數(shù)表示的,它用到符號的頻率及其編碼間隔這兩個基本的參數(shù)。它是完全舍棄了輸入的字符用特殊字符代替的思想。在算術編碼后,對于輸入的字符信息可形成一個唯一的浮點數(shù)。算術編碼的缺點是實現(xiàn)比哈夫曼編碼復雜一些。而優(yōu)點是在自適應模式下,算術編碼不必預先統(tǒng)計符號概率。算術
27、編碼的效率要優(yōu)于哈夫曼編碼,則就要使得信源中符號的概率比較接近。</p><p><b> ?。?)游程編碼</b></p><p> 游程編碼是相比上述算法比較簡單的一種編碼技術,思路是將一個代表值和串長用一個相同值的連續(xù)串來表示。在進行圖像編碼時,游程直接定義特定方向上有著相同灰度的相鄰元為一輪,它的延續(xù)長度稱之為延續(xù)的行程。前一游程的中點位置確定了現(xiàn)在游程的中
28、點位置,這樣圖像數(shù)據(jù)就可以由游程來代替。由于游程是一個變化的數(shù)值,并且各種長度的游程出現(xiàn)的頻率不同,因此在許多場合下,采用哈夫曼編碼對游程進行進一步的壓縮,從而去除相關性,同時也提高了壓縮比[6]。</p><p> 2.2.2 預測編碼</p><p> 預測編碼是在現(xiàn)代統(tǒng)計學和控制論的理論基礎上發(fā)展起來的。預測編碼會根據(jù)某一模型利用以往的樣本值,對新樣本值進行預測,并把兩者相減得到
29、一個誤差值,最后對這一誤差值進行編碼。要想使誤差信號的幅度遠小于原始信號,就需要這一模型足夠好且樣本序列在時間上的相關性較強,從而可以用較少的數(shù)據(jù)對其差值量化,最終得到較大的數(shù)據(jù)壓縮結果?,F(xiàn)在常用的方法是差分脈沖編碼調制(DPCM)法。采用預測編碼的方法來壓縮圖像數(shù)據(jù)的空間和時間冗余性,這種方法簡捷、直觀、易于實現(xiàn),它的不足在于壓縮能力有限[7]。</p><p> 2.3 嵌入式圖像編碼</p>
30、<p> 嵌入式圖像編碼是隨著圖像編碼技術的發(fā)展而產生的一種新的編碼技術。嵌入式編碼的基本原理是將待編碼的比特流,按重要性不同進行排序,在給定目標碼率或失真度大小的條件下,隨時截斷比特流,并可以要求結束編碼;同樣的,對于給定碼,解碼器也能夠隨時要求結束解碼,同時可以得到相應比特流截斷處目標碼率的重建圖像[8]。嵌入式編碼的一般順序是:先通過線性變換將空域的圖像數(shù)據(jù)陣映射到變換域中;然后把變換域中的像素連續(xù)的量化,并把量化的
31、像素進行分類與排序;接著對碼字進行熵編碼;最后對碼塊數(shù)據(jù)進行優(yōu)化處理。</p><p> 通過小波變換后的一幅數(shù)字圖像,可以得到不同子帶內的小波系數(shù)。低頻子帶聚集了圖像的大部分能量,也就是包含了圖像的主要信息,因此它的小波系數(shù)很大;越是高頻子帶,它包含的圖像信息反而越少,其系數(shù)值也越小。即使在數(shù)值相同的情況下,圖像的高頻信息由高頻子帶反映,對視覺來說不太重要;對視覺比較重要的部分是由低頻子帶反映,它是圖像的低頻
32、信息。因此,對相同數(shù)值的系數(shù),我們一般會選擇先傳輸較低頻系數(shù)的重要比特,后傳輸較高頻系數(shù)的重要比特。正是由于圖像小波系數(shù)具備了上述的這些特點,所以它非常適合于嵌入式的圖像編碼算法。</p><p><b> 3 碼率控制算法</b></p><p> 3.1 碼率控制基本概念</p><p> 碼率就是數(shù)據(jù)傳輸時單位時間傳送的數(shù)據(jù)位數(shù),一
33、般我們用的單位是kbps即千位每秒。碼率控制則是通過一定的編碼措施,在給定的壓縮率情況下,獲得最佳重構圖像質量[8]。算法過程就是找到最優(yōu)截斷點集合,并對截斷后的碼流進行組織,最終得到較好的圖像質量。碼率控制是圖像編碼中的一項關鍵技術,編碼時既要保證圖像輸出碼率滿足目標碼率的限制,同時提供在該碼率下圖像重建質量的最優(yōu)化效果。碼率控制的目的是在滿足特殊的目標比特率及傳輸時間要求的條件下,確保用指定碼率編碼下達到盡可能高的重建圖像質量。&l
34、t;/p><p> 碼率控制算法一直以來就是研究人員十分關注的問題,其性能的優(yōu)劣直接影響到圖像、視頻的重建質量,比如圖像的客觀評價指標峰值性噪比、主觀質量和圖形延時與抖動等。一般的碼率控制算法的實現(xiàn)主要是通過調節(jié)編碼時量化參數(shù)QP的調整和編碼后緩沖區(qū)充裕度。</p><p> 就目前而言,碼率控制算法一般分為算術編碼器壓縮后率控制和算術編碼器與率控制同時進行兩種[9]。其中PCRD就是典型
35、的壓縮后率控制:先用算術編碼進行編碼,然后從所有編碼碼段中選擇一部分(根據(jù)壓縮需求)包含進最終碼流。該方法是算術編碼和碼率控制前后進行,所以要編碼所有的通道,具有很大的計算復雜度,這就適合應用于對圖像質量要求很高或者具有很多質量層的編碼場合。</p><p> 選擇性算術編碼是算術編碼和率控制同時進行的一種編碼,此方法主要是不要求所有的通道都先經過算術編碼,而是在進入算術編碼的時候同時進行碼率控制,當達到指定的
36、碼率控制的時候,系數(shù)就會停止進入編碼。換句話說,它是選擇一部分編碼通道進行編碼,并將其編碼碼流包含進最終碼流。</p><p> 3.2 JPEG2000中的碼率控制算法</p><p> JPEG2000編碼器中,碼率控制可通過兩種不同的機制實現(xiàn):一是選擇各子帶系數(shù)的量化步長;二是編碼位流的截斷,即選擇包括進輸出碼流中的編碼位流。對于無損壓縮編碼而言,因為量化步長固定地設為1,所以只
37、能采用位流截斷的方法實現(xiàn)碼率的控制。 </p><p> JPEG2000碼率編碼的碼率控制算法的改進有兩種:帶場景切換檢測的兩次掃描碼率控制算法(TPSCD)和單緩沖多步長的碼率控制算法(SBMS)[9]。TPSCD算法進行的第一次的編碼掃描是以CBR編碼方式進行的,然后將視頻序列進行場景切換檢測,從中得到若干個復雜度近似的場景組;同時從各場景組抽選若干個樣本幀,利用DBRC算法[10]將確定每個場景組目標碼
38、率,要想掃描得到最后的VBR碼流就得用SBMS算法對每個場景組的各幀進行第二次的編碼。該算法特別適合應用于對視頻轉錄系統(tǒng)的實時性要求較低的情況。它也能夠在相同碼率下,使得輸出視頻質量較為為穩(wěn)定,同時輸出視頻序列的PSNR方差DBRC算法有較大的改善。SBMS算法是利用視頻相鄰幀的幀間相關性,當前幀的率失真情況是用前一編碼幀的率失真斜率值通過估計所得到的。想要有效的節(jié)省編碼時間,改善輸出視頻質量的穩(wěn)定性,就要知道預測鄰近幾幀的率失真截止門
39、限。</p><p> 4 對象基嵌入式編碼中的碼率控制算法</p><p> 4.1 對象基嵌入式編碼</p><p> 由于EBCOT算法是基于碼塊的嵌入式圖像編碼方法,它沒有考慮人的視覺感知特性,并且不同觀察者對同一圖像的不同對象視覺感知存在差異,因此如果對整幅圖像采用相同的編碼策略,就難以獲得與主觀視覺相匹配的結果,而EOCOT則主要考慮了人的視覺感知
40、特性。首先,以視覺對象為基本編碼單元,對原始圖像進行預處理。主要采用JSEG分割技術將圖像分割成不同的視覺對象,并得到表征其位置信息分布的map圖。然后,對原始圖像進行DC變換和DWT變換,得到視覺對象在各子帶內的小波系數(shù)分布;同時,對map圖再</p><p> 進行類似DWT變換(即與DWT變換后各子帶對應的坐標變換,而map圖中的對象標號值不變),便于子帶內對象的獨立編碼。最后,以子帶內的視覺對象為獨立編
41、碼單元,對其位置信息二值掩模圖內的對象系數(shù)位進行獨立位平面編碼和MQ二進制算術編碼。從低頻子集到高頻子集的編碼依次為LDLL,LDHL,LDLH,LDHH,LD-1HL,LD-1LH,LD-1HH,……,L1HH中的對象信息,形成嵌入式對象碼流。最后根據(jù)給定的參數(shù)指標(目標碼率,重要視覺對象)對所有對象碼流進行優(yōu)化截取和重新組裝,形成最終的壓縮碼流。</p><p> 4.2 率失真優(yōu)化算法</p>
42、<p> EBCOT 碼塊編碼的最大特點是生成的壓縮位流可根據(jù)需要,被截斷成不同長度的位流子集。通過對壓縮位流的截斷,可以實現(xiàn)碼率控制。碼流截斷的碼率控制方法可以描述為在一定的碼率控制下,尋找優(yōu)化的各碼塊截斷點集合,使恢復圖像的總體失真最小。PCRD算法則根據(jù)這一特點,刪除奇異點,使率失真斜率嚴格單調遞減,并在碼率的限制條件下,需找到一個最佳斜率門限直到產生一組截取點,使圖像總失真最小。率失真曲線是一條凸曲線,率失真理論
43、曲線定義了在不考慮任何約束條件下系統(tǒng)可能達到最優(yōu)性能,而可操作率失真曲線不是一條光滑的曲線。在給定碼率的條件下,最小失真就出現(xiàn)在凸包絡上。如果可操作率失真曲線上的操作點越靠近凸包絡,就表明它的率失真性能越好,反之亦然。希望能夠找到一組編碼參數(shù)使得對應的可操作點盡可能接近凸包絡。換言之,就是在一組可能的操作點確定能使系統(tǒng)性能最優(yōu)的操作點[11]。率失真優(yōu)化確實是能夠提高系統(tǒng)的性能。PCRD算法的基本原理介紹如下:</p>&
44、lt;p> 設子帶在T1階段產生的內嵌比特流的碼率截止到,是某個截取點(即某個編碼pass的結束點),則圖像總的碼率為: </p><p><b> (4-1)</b></p><p> 設子帶的系數(shù)在恢復圖像中產生的失真為,假設子帶小波系數(shù)的失真測度是加性的,即: </p><
45、p> ?。?-2) </p><p> 整個碼率控制模型應滿足在總的目標碼率接近給定的目標碼率的前提下,使得恢復圖像過程中總的失真最小。</p><p> 在限定碼率為的情況下,率失真優(yōu)化的目標是在滿足的限制條件下,尋找到一組使得總失真最小。這一問題可以轉化為使下式最小化。</p><p><b> ?。?-3)</b><
46、;/p><p> 要想產生一組截取點使得上式在滿足時最小,就需要通過調節(jié)參數(shù)來實現(xiàn)。從失真的意義上來說,如果能找到一個最大的,則其對應的一組截取點能夠使上式最小,并且產生的碼率。在實際編碼中,通常能找到這樣一個,使得非常接近。</p><p><b> 4.3 算法步驟</b></p><p> 本文算法可以分為子帶目標碼率分配、熵編碼、率失
47、真優(yōu)化截取和更新目標碼率四個主要步驟,每個主要步驟簡介如下,算法流程圖如圖4-1:</p><p> 圖4-1 本文碼率控制算法流程圖</p><p> 4.3.1 子帶預分配目標碼字</p><p> 原圖像經DC變換和DWT變換后,確定子帶的編碼順序和各子帶的起始坐標。依據(jù)給定的圖像目標碼率和小波子帶重要權值,給當前編碼子帶預分配目標碼率:</p&g
48、t;<p><b> ?。?-4)</b></p><p> 小波子帶重要性等于子帶內的像素幅值占總圖像域內像素幅值的比例,按下式計算:</p><p><b> ?。?-5)</b></p><p> 式中,為子帶標號,為圖像域內所有點集合,為點的像素幅值。</p><p>
49、(a)子帶索引值和起始坐標 (b)子帶內對象標號</p><p> 圖4-2 子帶掃描順序和坐標劃分</p><p><b> 4.3.2 熵編碼</b></p><p> 依據(jù)小波子帶預分配的目標碼字,對當前編碼子帶內的視覺對象進行獨立位平面編碼和MQ二進制算術編碼。按圖4-2(b)中的對象標號順序編碼每個對
50、象,并計算對象的通道的失真增量和編碼碼字增量,確定對象候選截取點集合。</p><p> ?。?)位平面編碼和通道失真增量。提取視覺對象,并形成對象的位置信息掩模圖。位平面的編碼是以對象為基本編碼單元,編碼順序從最高比特平面到最低比特平面。在進行通道編碼時,每編碼一個系數(shù)位,從查失真估計表得到該位的編碼失真增量,通過累加通道內的所有系數(shù)位的失真增量從而得到該通道失真增量[12-13]。</p>&l
51、t;p> ?。?)MQ編碼和通道碼字增量。MQ算術編碼是實現(xiàn)嵌入式編碼壓縮的重要步驟。本文采用將MQ編碼從位平面掃描分離出去的方法,便于計算通道的累加碼字,使得圖像壓縮中位平面算術編碼的計算復雜度盡量降低[14]。</p><p> (3)快速確定候選截取點集合。完成一個對象的所有通道編碼后,采用只剔除當前奇異點的算法確定候選截取點集合,同時存儲率失真斜率[15]。具體算法流程圖:</p>
52、<p> 圖4-3 候選截取點流程圖</p><p> 4.3.3 更新總目標碼率</p><p> 重新更新目標碼率,用目標碼率減去子帶最終編碼碼率,并對未編碼的子帶進行編碼和優(yōu)化截取,最終完成整幅圖像編碼和最終碼流存儲。</p><p> EOCOT算法考慮到了不同子帶內不同對象的尺寸大小也是各不相同的,采用預先分配子帶碼字的方法。以子帶為基本
53、控制單元,對視覺對象壓縮碼流進行優(yōu)化截取和重裝。最終壓縮碼流的存儲順序是按子帶從低頻到高頻,對對象碼流依次存儲。在解碼端,需要通過兩次解碼,先將結果碼流送入MQ解碼器,得到解碼碼字,然后再進行位平面解碼,即可得到碼率控制下的解碼圖像。</p><p><b> 5 實驗結果</b></p><p> 為驗證本文碼率控制算法的有效性,基于VC6.0軟件平臺,進行了仿
54、真測試。離散小波變換采用三級雙正交9/7小波。實驗中重點分析算法的碼率控制精度RCS和重建完整圖像的視覺效果.其中定義碼率控制精度定義如下:</p><p> ?。?-1) </p><p> 式中,表示目標碼率,表示實際碼率,RCS越小,表示碼率控制越精確。 &
55、lt;/p><p> 實驗一:驗證本文算法的可行性實驗。實驗結果給出:不同碼率控制下,該算法的解碼恢復圖像及其與原圖像的信噪比。 </p><p> ?。?) (2) (3) (4) (5) </p><p> 圖5-1 圖像Flower在不同碼率下的重構圖</p&g
56、t;<p> 表5-1 不同壓縮比下圖像的解碼圖像與原圖像的信噪比</p><p> 實驗二:驗證解碼提取重要視覺對象的實驗。對圖像flower的重要視覺對象進行測試。實驗結果給出:不同碼率控制下,重要對象的解碼恢復對象及其與原對象的信噪比。</p><p> (1) (2) (3) (4) (5
57、) </p><p> 圖5-2 Flower中重要對象在不同碼率下的重構圖</p><p> 表5-2 不同壓縮比下圖像的重要對象解碼圖與原圖像的信噪比</p><p> 表5-3 Flower圖像的碼率控制精度</p><p> 對象基嵌入式圖像編碼的碼率控制算法是對小波子帶預分配碼字的算法,以子帶優(yōu)先截取碼流作為一
58、個數(shù)據(jù)包,存儲子帶內所有視覺對象的截取碼流。在相同碼率控制條件下,未基于重要對象解碼的圖像信噪比要比基于重要對象解碼圖像的信噪比小。實際碼率越接近目標碼率時,碼率的控制精度也就越小,碼率控制就越精確。仿真實驗結果表明該算法的有效性和可行性。</p><p><b> 6 結論</b></p><p> 本文實現(xiàn)了對象基嵌入式圖像編碼中的碼率控制算法,并進行了仿真實
59、驗。該算法彌補了EBCOT編碼的不足,考慮了人的視覺感知特性。算法首先依據(jù)給定的目標碼率和小波子帶重要性,采用了預先分配子帶目標碼字的方法。然后,以子帶為基本碼率控制單元,按照率失真優(yōu)化原則對子帶內所有對象壓縮碼流進行優(yōu)化截取和重新組裝。最終實現(xiàn)了在不同碼率控制下,解碼得到不同質量的解碼圖和重要對象解碼圖,為進一步研究在給定碼率限制下的重要對象的優(yōu)先編碼和傳輸提供了思路。</p><p> 對于同一幅圖像不同對
60、象具有不同的視覺感知特性和重要性,在特定碼率的限制下,往往要根據(jù)觀察者的需要,對感興趣區(qū)域優(yōu)先編碼和傳輸具有重要視覺性的對象,這就需要找到一種精確的碼率控制算法。該算法能對對象壓縮碼流進行率控制和重新組裝,使得在解碼端能夠實現(xiàn)優(yōu)先解碼,并獲得最優(yōu)質量的圖像。因此,碼率控制算法在對象基嵌入式編碼中有廣泛的發(fā)展空間和重要的應用前景。</p><p><b> 參考文獻</b></p>
61、;<p> [1] Bosen Liu 1, Hongwei Dong2. An improved EBCOT image coding method[J]. (1. Heilongjiang Electronic Engineering Department of Engineering Institute, Heilongjiang Harbin 150050; 2. Heilongjiang Electronic
62、Engineering Department of Technology Institute, Heilongjiang Harbin 150025)The paper of Heilongjiang Electronic Engineering Department (Natural Science Edition). 2008. 9, 22(6): 75~76.</p><p> [2] Chunxiang
63、 Zhang. The study of optimized encoding algorithm based on JPEG2000 standard[D]. Chongqing University graduate dissertations. 2006. 12.</p><p> [3] Dongjie LI,Zhongjie ZHU,Qiaozhen SHI,Zhiyong DUAN,Huimin Z
64、HANG. Approach to Object-based Embedded Coding with Optimized Truncation[J]. Proceedings of the Wicom. 2010. 6, 36(6): 15~16.</p><p> [4] 魏政剛. 圖像質量評價方法的歷史、現(xiàn)狀和未來[J]. 中國圖像圖形學報,1998,4, 3(5): 236~239.</p>
65、<p> [5] 蔣科, 徐新, 孫洪, 審蕓,陳李廷. JPEG2000熵編碼模塊的FPGA實現(xiàn)[J].武漢大學學報, 2004,9, 50(3): 360~364.</p><p> [6] 張瑞杰. 氬氦刀治療中的遠程監(jiān)控技術研究[J]. 武漢大學學報, 2007,6, 30(2): 75-77.</p><p> [7] 王琪. 基于小波變換嵌入式的圖像編碼方法
66、研究[D]. 西北工業(yè)大學. 2003, 6.</p><p> [8] 柴智. 基于嵌入式編碼的圖像壓縮技術的研究[M]. 北京: 電子工業(yè)出版社, 2006, 1.</p><p> [9] 闕友林. Motion-JPEG2000碼率控制算法研究[D]. 西安理工大學, 2008, 3.</p><p> [10] 孔繁鏘. 多光譜遙感圖像編碼技術研究
67、[D]. 西安電子科技大學, 2008, 6.</p><p> [11] 孔繁鏘, 李云松, 吳成柯, 王柯儼. 基于PSMSD的JPEG2000優(yōu)化率控制算法[D]. 西安電子科技大學, 2008, 4.</p><p> [12] 曹斌, 李云松, 劉凱, 鄧家先. JPEG2000中MQ編碼器的vLsl結構[J]. 西安電子科技大學學報, 2004, 31(5): 714~71
68、8.</p><p> [13] 張敏蛟. 圖像壓縮率失真算法的研究[D]. 哈爾濱工業(yè)大學, 2006, 6.</p><p> [14] 王繼東, 魯琴, 羅武勝, 肖學敏. 位平面算術編碼的編碼分離與 MQ編碼器改進[J]. 中國圖象圖形學報, 2007, 12(10): 1806~1810.</p><p> [15] 莊懷宇. 內嵌圖像編碼中高效碼率
69、控制技術研究[D]. 西安電子科技大學, 2006, 6.</p><p><b> 附錄1 算法源程序</b></p><p> int Region_bufferin[WIDTH][WIDTH];</p><p> int Region_bufferout[WIDTH][WIDTH];</p><p>
70、 void main()</p><p><b> {</b></p><p> unsigned char *Image, *Image1;</p><p> unsigned char Fheadg[54],unsigdata;</p><p> char Pallette[1024];</p>
71、<p> int Row,Col,M,s,i,j;</p><p> long Index;</p><p> FILE *in,*out,*inter;</p><p> Image=(unsigned char *)calloc (720*720,sizeof(unsigned char));</p><p> I
72、mage1=(unsigned char *)calloc (720*720,sizeof(unsigned char)); </p><p> if ((in = fopen("c2.raw","rb")) == NULL)</p><p> {printf("cannot open inputfile\n");</
73、p><p><b> return;</b></p><p><b> }</b></p><p> if((out = fopen("97wave_out.raw","wb+")) == NULL)</p><p> {printf("can
74、not open outfile\n");</p><p><b> return;</b></p><p><b> }</b></p><p> if(!ReadGrayImage("c2map1.bmp",&Row,&Col,Image,Fheadg,Pallett
75、e))</p><p> { printf("cannot open mapfile\n");</p><p><b> return;</b></p><p><b> }</b></p><p> scanf("%d",&s);
76、</p><p><b> if(s>=M)</b></p><p> printf("the error region");</p><p> for(i = 0;i<Row;i++)</p><p> for(j = 0;j<Col;j++)</p><
77、;p><b> { </b></p><p> Index=i*Col+j;</p><p> fread(&unsigdata, 1,1,in);</p><p> if(Image1[Index]==s)</p><p> Buffer[i+4][j+4] = (float) unsigdat
78、a;</p><p> else Buffer[i+4][j+4] =0;</p><p><b> }</b></p><p><b> //DC變換</b></p><p> for(i = 0;i<Row;i++)//行</p><p><b>
79、; {</b></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
80、+4][j+4] = (Buffer[i+4][j+4]-128);</p><p><b> }</b></p><p><b> }</b></p><p> decode_allsubband(Region_bufferout,Row,Col,s,Image1);</p><p>
81、 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.5);</p><p><b> //小波逆變換</b><
82、;/p><p> ldwt(Row,Col,Buffer,Interleave,Bufferout); </p><p><b> //DC逆變換</b></p><p> for(i = 0;i<Row;i++)</p><p> for(j = 0;j<Col;j++)</p>&
83、lt;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][j+4]+128;</p><p><b> }</b&
84、gt;</p><p> for(i = 0;i<Row;i++)</p><p> for(j = 0;j<Col;j++)</p><p><b> { </b></p><p> Buffer[i+4][j+4]=abs(Buffer[i+4][j+4]);</p><p&
85、gt; 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> else</b></p><p> unsigdata=(un
86、signed char)(Buffer[i+4][j+4]+253);</p><p> fwrite(&unsigdata,1,1,out);</p><p><b> }</b></p><p> fclose(in);</p><p> fclose(out);</p><p&g
87、t;<b> }</b></p><p> void encode_allsubband(int region_bufferin[WIDTH][WIDTH], unsigned char *Image1,int Row,int Col,int s, float interleave[LENGH][LENGH])</p><p><b> {</b
88、></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=LEVEL;</b></p><p> printf("\nTh
89、e region code sample is:");</p><p> for(i=0;i<(Row>>m);i++)</p><p> for(j=0;j<(Col>>m);j++)</p><p><b> { </b></p><p> Index=i*Col
90、+j;</p><p> if(Image1[Index]==s)</p><p><b> { </b></p><p> region_bufferin[i][j] =(int)(floor)(interleave[i+4][j+4]+0.5);</p><p> if(j%16==0)</p>
91、<p> printf("\n");</p><p> printf("%d, ",region_bufferin[i][j]);</p><p><b> }</b></p><p><b> }</b></p><p> regio
92、n_encode(region_bufferin,Row,Col,s,Image1,m);</p><p><b> }</b></p><p><b> 附錄2 科研論文</b></p><p> 對象基嵌入式圖像編碼中的碼率控制算法研究</p><p> 摘要:本文是結合率失真優(yōu)化(PC
93、RD)算法在對象基嵌入式編碼原理之上實現(xiàn)了一種新的對象基嵌入式圖像編碼(EOCOT)的碼率控制算法。它是根據(jù)人的視覺感知特性,以不同視覺對象為基本碼率控制單元進行的編碼。該算法先將圖像先進行分割得到不同的視覺對象,并把原始圖像通過直流(DC)變換和離散小波變換(DWT)。再依據(jù)圖像總目標碼率和小波子帶重要性,預先分配子帶目標碼率。然后,以小波子帶為碼率控制單元,運用率失真優(yōu)化的思想對子帶內對象碼流進行優(yōu)化截取和重新組裝,并完成碼率控制過
94、程。仿真實驗結果表明,本文實現(xiàn)的算法可以有效的實現(xiàn)編碼前預分配子帶碼字。同時,在不同碼率要求下,能夠得到不同質量的解碼恢復圖像,實現(xiàn)有效的碼率控制過程。</p><p> 關鍵詞:PCRD算法; DC變換; DWT變換</p><p> Abstract:Based on rate distortion optimization (PCRD) algorithm and object
95、proposed embedded coding principle, a new rate control of object embedded image coding (EOCOT) was proposed. It is according to the visual perception, using different visual object properties for basic code of rate cont
96、rol to coding. The algorithm obtain the different visual object and the original image through the image segmentation. The original image made by direct current (DC) transform and discrete cosine transform</p><
97、;p> Key Words:PCRD algorithms; DC transform; DWT transform</p><p><b> 1引言</b></p><p> 研究EBCOT算法中的碼率控制過程,需要在給定的目標碼率下,考慮視覺對象壓縮碼流的優(yōu)化截取及重要對象的優(yōu)化傳輸?shù)膯栴}。EBCOT算法能夠實現(xiàn)圖像壓縮的空間分辨率漸進性和SNR漸進性
98、。該算法采用率失真優(yōu)化的碼率控制算法,根據(jù)不同子帶內的碼塊產生的比特流長度不同,對恢復圖像質量的貢獻不同,對所有碼塊編碼完成后,進行率失真優(yōu)化處理,比特流重新組裝就可得到最終壓縮碼流。該過程是在T1編碼后進行的,所以被稱為壓縮后率失真優(yōu)化(PCRD)算法。</p><p> 針對EOCOT是基于對象編碼的這個特點,本文將PCRD算法思想運用到對象基嵌入式編碼中,實現(xiàn)一種新的對象基嵌入式圖像編碼中的碼率控制算法。
99、該算法采用預先分配子帶目標碼率的方法,以子帶為碼率控制單元,依據(jù)對象的視覺感知特性和重要性,采用率失真優(yōu)化的思想,并對子帶內的對象碼流進行優(yōu)化截取和重新組裝,從而實現(xiàn)有效的碼率控制過程。</p><p> 2 對象基嵌入式編碼中的碼率控制算法</p><p> 2.1 對象基嵌入式編碼</p><p> 由于EBCOT算法是基于碼塊的嵌入式圖像編碼方法,它沒有
100、考慮人的視覺感知特性,并且不同觀察者對同一圖像的不同對象視覺感知存在差異,因此如果對整幅圖像采用相同的編碼策略,就難以獲得與主觀視覺相匹配的結果,而EOCOT則主要考慮了人的視覺感知特性。首先,以視覺對象為基本編碼單元,對原始圖像進行預處理。首先,以視覺對象為基本編碼單元,對原始圖像進行預處理。然后,對原始圖像進行DC變換和DWT變換,得到視覺對象在各子帶內的小波系數(shù)分布。最后,以子帶內的視覺對象為獨立編碼單元,對其位置信息二值掩模圖內
101、的對象系數(shù)位進行獨立位平面編碼和MQ二進制算術編碼。最后根據(jù)給定的參數(shù)指標(目標碼率,重要視覺對象)對所有對象碼流進行優(yōu)化截取和重新組裝,形成最終的壓縮碼流。</p><p> 2.2 率失真優(yōu)化算法</p><p> EBCOT 碼塊編碼的最大特點是生成的壓縮位流可根據(jù)需要,被截斷成不同長度的位流子集。通過對壓縮位流的截斷,可以實現(xiàn)碼率控制。PCRD算法則根據(jù)這一特點,刪除奇異點,使
102、率失真斜率嚴格單調遞減,并在碼率的限制條件下,需找到一個最佳斜率門限直到產生一組截取點,使圖像總失真最小,就是在一組可能的操作點確定能使系統(tǒng)性能最優(yōu)的操作點[1]。</p><p> 設子帶在T1階段產生的內嵌比特流的碼率截止到,是某個截取點(即某個編碼pass的結束點),則圖像總的碼率為: </p><p><b> ?。?-1)</b></p>
103、;<p> 設子帶的系數(shù)在恢復圖像中產生的失真為,假設子帶小波系數(shù)的失真測度是加性的,即: </p><p> ?。?-2) </p><p> 在限定碼率為的情況下,率失真優(yōu)化的目標是在滿足的限制條件下,尋找到一組使得總失真最小。這一問題可以轉化為使下式最小化。</p><p><b
104、> ?。?-3)</b></p><p> 要想產生一組截取點使得上式在滿足時最小,就需要通過調節(jié)參數(shù)來實現(xiàn)。從失真的意義上來說,如果能找到一個最大的,則其對應的一組截取點能夠使上式最小,并且產生的碼率。在實際編碼中,通常能找到這樣一個,使得非常接近。</p><p><b> 2.3 算法步驟</b></p><p>
105、 本文算法可以分為子帶目標碼率分配、熵編碼、率失真優(yōu)化截取和更新目標碼率四個主要步驟,每個主要步驟簡介如下,算法流程圖如圖2-1:</p><p> 圖2-1 本文碼率控制算法流程圖</p><p> 2.3.1 子帶預分配目標碼字</p><p> 原圖像經DC變換和DWT變換后,確定子帶的編碼順序和各子帶的起始坐標。依據(jù)給定的圖像目標碼率和小波子帶重要權值
106、,給當前編碼子帶預分配目標碼率:</p><p><b> ?。?-4)</b></p><p> 小波子帶重要性等于子帶內的像素幅值占總圖像域內像素幅值的比例,按下式計算:</p><p><b> ?。?-5)</b></p><p> 式中,為子帶標號,為圖像域內所有點集合,為點的像素幅值
107、。</p><p> ?。╝)子帶索引值和起始坐標 (b)子帶內對象標號</p><p> 圖2-2 子帶掃描順序和坐標劃分</p><p><b> 2.3.2 熵編碼</b></p><p> 依據(jù)小波子帶預分配的目標碼字,對當前編碼子帶內的視覺對象進行獨立位平面編碼和MQ二進制算術
108、編碼。按圖2-2(b)中的對象標號順序編碼每個對象,并計算對象的通道的失真增量和編碼碼字增量,確定對象候選截取點集合。</p><p> ?。?)位平面編碼和通道失真增量。提取視覺對象,并形成對象的位置信息掩模圖。位平面的編碼是以對象為基本編碼單元,編碼順序從最高比特平面到最低比特平面。在進行通道編碼時,每編碼一個系數(shù)位,從查失真估計表得到該位的編碼失真增量,通過累加通道內的所有系數(shù)位的失真增量從而得到該通道失真
109、增量[2-3]。</p><p> ?。?)MQ編碼和通道碼字增量。MQ算術編碼是實現(xiàn)嵌入式編碼壓縮的重要步驟。本文采用將MQ編碼從位平面掃描分離出去的方法,便于計算通道的累加碼字,使得圖像壓縮中位平面算術編碼的計算復雜度盡量降低[4]。</p><p> (3)快速確定候選截取點集合。完成一個對象的所有通道編碼后,采用只剔除當前奇異點的算法確定候選截取點集合,同時存儲率失真斜率[5]。
110、具體算法流程圖:</p><p> 圖2-3 候選截取點流程圖</p><p> 2.3.3 更新總目標碼率</p><p> 并對未編碼的子帶進行編碼和優(yōu)化截取,最終完成整幅圖像編碼和最終碼流存儲。</p><p> EOCOT算法考慮到了不同子帶內不同對象的尺寸大小也是各不相同的,采用預先分配子帶碼字的方法。以子帶為基本控制單元,
111、對視覺對象壓縮碼流進行優(yōu)化截取和重裝。最終壓縮碼流的存儲順序是按子帶從低頻到高頻,對對象碼流依次存儲。</p><p><b> 3 實驗結果</b></p><p> 為驗證本文碼率控制算法的有效性,基于VC6.0軟件平臺,進行了仿真測試。離散小波變換采用三級雙正交9/7小波。實驗中重點分析算法的碼率控制精度RCS和重建完整圖像的視覺效果.其中定義碼率控制精度定
112、義如下:</p><p> ?。?-1) </p><p> 式中,表示目標碼率,表示實際碼率,RCS越小,表示碼率控制越精確。</p><p> 實驗一:驗證本文算法的可行性實驗。實驗結果給出:不同碼率控制下,該算法的解碼恢復圖像及其與原圖像的信噪比。 </p>&
113、lt;p> ?。?) (2) (3) (4) (5) </p><p> 圖3-1 圖像Flower在不同碼率下的重構圖</p><p> 表3-1 不同壓縮比下圖像的解碼圖像與原圖像的信噪比</p><p> 實驗二:驗證解碼提取重要視覺對象的實驗。對圖像fl
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 嵌入式圖像編碼中的碼率控制算法研究【畢業(yè)論文】
- 對象基嵌入式圖像編碼中的碼率控制算法【開題報告】
- 嵌入式立體圖像編碼中的碼率控制算法研究【畢業(yè)論文】
- 對象基嵌入式圖像編碼中的碼率控制算法研究【任務書】
- 對象基嵌入式圖像編碼方法研究【畢業(yè)論文】
- 嵌入式圖像編碼中的碼率控制算法研究【開題報告】
- 嵌入式圖像編碼中的碼率控制算法研究【任務書】
- 嵌入式立體圖像編碼中的碼率控制算法研究[開題報告]
- 嵌入式立體圖像編碼中的碼率控制算法研究[任務書]
- 嵌入式圖像編碼中碼率控制技術的應用研究.pdf
- 對象基嵌入式圖像編碼方法研究【開題報告】
- 對象基嵌入式圖像編碼方法研究【任務書】
- 嵌入式視頻編碼器與碼率控制算法的實現(xiàn).pdf
- 嵌入式小波圖像編碼算法研究.pdf
- 嵌入式控制系統(tǒng)畢業(yè)論文
- 嵌入式開發(fā)畢業(yè)論文
- 嵌入式小波圖像編碼算法及應用研究.pdf
- 基于塊DCT變換的嵌入式圖像編碼算法的研究.pdf
- 基于嵌入式開發(fā)畢業(yè)論文
- 基于嵌入式開發(fā)畢業(yè)論文
評論
0/150
提交評論