版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、本本 科科 生生 畢畢 業(yè)業(yè) 設(shè)設(shè) 計計 論論 文文 數(shù)字圖像壓縮編碼方法的研究數(shù)字圖像壓縮編碼方法的研究院院 系:系: 電子信息工程學(xué)系電子信息工程學(xué)系 專專 業(yè):業(yè): 通信工程通信工程 班班 級:級: 學(xué)學(xué) 號:號: 指導(dǎo)教師:指導(dǎo)教師: 職稱(或?qū)W位):職稱(或?qū)W位): 講師講師 2011 年年 04 月月原創(chuàng)性聲明 本人鄭重聲明:所呈交的論文(設(shè)計) ,是本人在導(dǎo)師的指導(dǎo)下,獨立進行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文(設(shè)計)不含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對本論文(設(shè)計)的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。本人完全意識到本聲
2、明的法律結(jié)果由本人承擔。學(xué)生簽名: 年 月 日 指導(dǎo)聲明本人指導(dǎo)的 同學(xué)的畢業(yè)論文(設(shè)計)題目大小、難度適當,且符合該同學(xué)所學(xué)專業(yè)的培養(yǎng)目標的要求。本人在指導(dǎo)過程中,通過網(wǎng)上文獻搜索及文獻比對等方式,對其畢業(yè)論文(設(shè)計)內(nèi)容進行了檢查,未發(fā)現(xiàn)抄襲現(xiàn)象,特此聲明。指導(dǎo)教師簽名: 年 月 日目 錄1 緒論.21.1 引言.21.2 數(shù)字圖像壓縮編碼的分類.21.3 圖像壓縮技術(shù)的性能指標.21.4 研究內(nèi)容.32 無損壓縮編碼的研究和實現(xiàn).32.1 行程編碼.32.2 哈弗曼編碼.52.3 線性預(yù)測編碼.63 有損壓縮編碼研究和實現(xiàn).73.1 基于 dct 的圖像壓縮編碼.83.2 基于哈達瑪變換
3、(ht)的圖像壓縮編碼.103.3 小波編碼.124 jpeg 部分壓縮算法的研究和實現(xiàn).145 總體設(shè)計.156 結(jié)論.17致 謝.18參考文獻.18附錄.191數(shù)字圖像壓縮編碼方法的研究(電子信息工程學(xué)系 指導(dǎo)教師:xxx)摘要:隨著各種技術(shù)地不斷發(fā)展,數(shù)字圖像的數(shù)據(jù)壓縮在數(shù)字圖像傳輸中發(fā)揮著關(guān)鍵性的作用。將數(shù)字圖像編碼分為有損壓縮和無損壓縮兩類。設(shè)計以 matlab 為仿真工具,利用圖像信息源不均勻的概率分布來去掉圖像的冗余,并用變長編碼來對信源進行無損壓縮編碼。而利用數(shù)字圖像在空間和時間上的相關(guān)性,運用某種變換去掉其相關(guān)性對信源進行有損壓縮編碼。利用 dct 變換和 huffman 編
4、碼對圖像的信源進行 jepg 編碼。同時為了將各種壓縮方法運用于教學(xué)和鍛煉編程能力,設(shè)計了以 matlab 為仿真工具的 gui 界面。仿真結(jié)果表明,采用以上方法可以很好的研究和比較各種壓縮方法。關(guān)鍵詞:數(shù)字圖像; 壓縮編碼; 有損壓縮; 無損壓縮; jpeg 壓縮abstract: with the development of various technologies, data compression plays a key role in digital image transmission. digital image coding has two types: lossy comp
5、ression and lossless compression. matlab is used as simulation tool, next image sources uneven probability distribution is used to remove the image redundancy and variable length coding is used to make the source achieve a lossless compression coding. according to the correlation between space and t
6、ime of digital image, a certain transformation is used to remove the relevance of signal source thus the lossy coding is carried on. dct transformation and huffman coding is used to have jepg coding with image source. also, to apply all sorts of compression methods to teaching and exercise programmi
7、ng ability, matlab simulation tool is used to design a gui. simulation results show that using the methods above can help study and compare various compression methods very well.keywords: digital image; compression coding; lossy image compression; jpeg compression; wavelet image coding1 緒論21.1 引言隨著各
8、種現(xiàn)代化技術(shù)的不斷發(fā)展,圖像信息已變?yōu)楸姸囝I(lǐng)域重要的處理對象,怎樣充分利用信道和具有一定帶寬的信道下傳輸有用的圖像信息的問題就出現(xiàn)了。對原始圖像進行存儲、記錄和傳輸為其提供了可能,那么必須對數(shù)字圖像的信息進行有效的壓縮。因此,對圖像壓縮技術(shù)的研究和實現(xiàn)在數(shù)字圖像傳輸中發(fā)揮著關(guān)鍵性的作用。1.2 數(shù)字圖像壓縮編碼的分類為了方便對各種壓縮方法的研究和比較,根據(jù)圖像的信息在編碼中是否有損失將數(shù)字圖像編碼分為有損壓縮和無損壓縮1。分類如圖 1 所示:圖像壓縮有損壓縮無損壓縮行程編碼( ler)哈弗曼編碼( uffmanh)線性預(yù)測編碼( pcmd)基于 ft換的圖像壓縮編碼f變基于 ct換的圖像壓縮編
9、碼d變基于 t換的圖像壓縮編碼h 變圖 1 圖像壓縮的分類圖無損壓縮就是主要是利用信源概率不相等的特性來去掉圖像的冗余以及用不等長的碼字來對信源進行編碼。有些失真是人眼所不能察覺的,有損壓縮就是利用人眼的這一視覺特性來進行壓縮的。有損壓縮是運用某種變換去掉數(shù)字圖像在空間和時間上的相關(guān)性對信源進行編碼。為了解決如何從各種圖像壓縮算法中選擇正確的算法處理實際的壓縮問題,就必須對各種壓縮方法的性能進行評價。1.3 圖像壓縮技術(shù)的性能指標這里主要用均方根誤差和壓縮比的大小來比較各種壓縮編碼方法的性能。也可用編碼效率、平均碼字長度、冗余度。(1)均方根誤差 erms 主要是通過計算原始圖像數(shù)據(jù)和解碼后圖
10、像數(shù)據(jù)之間的差異,來體現(xiàn)經(jīng)壓縮編碼方法的準確性,其計算公式如(1)如下: (1)1/22i=1 j=11erms=( , )( , )nmi i ji i jnm其中,和分別表示原始圖像和解碼后的圖像。(i=1,2,3,4.,n,j=1,2,3,4.,m)( , )i i j( , )i i j(2)壓縮比 cr:其計算式如公式(2)所示: (2)12crn n用其大小來反映壓縮編碼方法的壓縮效果。其中,(壓縮后圖像數(shù)據(jù)大小)小于(壓縮后圖像數(shù)1n2n據(jù)大小)的壓縮編碼方法才是有意義的,則 cr 要小于 1。31.4 研究內(nèi)容這里主要是對有損壓縮和無損壓縮編碼方法進行分類研究。并設(shè)計以 mat
11、lab 為仿真工具,利用信源概率不相等的特性來去掉圖像的冗余以及用不等長的碼字來對信源進行無損壓縮編碼。而運用某種變換去掉數(shù)字圖像在空間和時間上的相關(guān)性對信源進行有損壓縮編碼。利用 dct 變換和 huffman 編碼對圖像進行 jepg 編碼。在仿真軟件 matlab 中用相應(yīng)的函數(shù)計算均方根誤差 erms、原始圖像數(shù)據(jù)大小和壓縮后數(shù)據(jù)大小,通過利用公式計算 cr 以便衡量壓縮編碼的性能。將各種數(shù)據(jù)繪2n1n12crn n制成表格加以比較,總結(jié)出不同圖像所適合的壓縮編碼。為了將各種壓縮編碼的方法應(yīng)用于教學(xué)和鍛煉自己對 gui 的認識及編程能力,又創(chuàng)建了一個 gui 界面將各種壓縮編碼的實現(xiàn)集
12、合此。2 無損壓縮編碼的研究和實現(xiàn) 2.1 行程編碼 rle(run length encoding)行程是指具有相同灰度值的像素序列,其編碼思想就是去除掉像素空間冗余,即用行程的行程和灰度的長度來替換行程本身2。例如:編碼前:hhhhhbbmmmmmm 編碼后:h5b2m6行程編碼如圖 2 所示:圖 2 行程編碼系統(tǒng)圖對于行程編碼的研究,這里選用大小為像素、灰度級為 256 的 cameraman 圖像,對其256 256進行行程編碼來實現(xiàn)圖像壓縮的目的。其中采用 rlencode 函數(shù)對圖像進行壓縮,而用 rledecode 函數(shù)對壓縮圖像進行復(fù)原。顯示原始圖像和解壓后的圖像、用 size
13、 函數(shù)計算的原始圖像數(shù)據(jù)和壓縮后2n數(shù)據(jù)大小、均方根誤差 erms,通過利用公式計算 cr。1n12crn n對大小為像素、灰度級為 256 的 cameraman 圖像進行行程編解碼結(jié)果如圖 3 所示,在256 256其編碼的程序中,添加 display(e)語句使其顯示 cameraman 圖像的壓縮編碼,可得部分編碼如下:(1 150),(1 153),(1 152),(1 151),(1 150),(1 151),(1 156),(1 154),(2 151),(1 149),(1 154),(1 152),(1 153),(1 152),(3 149),(2 151)此處是對灰度圖進
14、行行程編碼的,由于灰度圖的灰度值不像二值化圖像只有 0 和 1,而cameraman 圖像沒有白色的部分就沒有灰度值為 0,則其編碼中含除了 1 以外的灰度值。其編解碼結(jié)果如圖 3 所示4圖 3 cameraman 圖像進行行程編碼結(jié)果圖由圖 3 可得:=112224,=65536,則壓縮比 cr=1.7127。1n2n12n n對大小為像素、灰度級為 256 的 cameraman 圖像先進行黑白二值化再行程編解碼結(jié)果256 256如圖 4 所示,在其編碼的程序中,添加 display(e)語句使其顯示二值化 cameraman 的壓縮編碼,可得部分編碼如下: (1 158),( 0 8),
15、( 1 2),( 0 1),(1 1),( 0 3),(1 1),(0 1),( 1 2),( 0 1),( 1 40),( 0 1),( 1 14),( 0 1),( 1 12),( 0 1)此處是將灰度圖轉(zhuǎn)換為黑白二值化圖像再進行行程編碼的,由于黑白二值化的灰度值只有 0 和1, ,則其編碼只含有 0 和 1 的灰度值。圖 4 黑白二值化 cameraman 圖像進行行程編碼結(jié)果圖由圖 4 可得:=6802,=65536,則壓縮比 cr=0.10379。1n2n12n n為了方便比較兩種行程編碼,將以上兩種結(jié)果的數(shù)據(jù)列在表 1 中,表 1 如下所示:表 1 對灰度圖像和二值化圖像進行行程編
16、碼結(jié)果的數(shù)據(jù)比較表圖像原始圖像數(shù)據(jù)大小壓縮后數(shù)據(jù)大小均方根誤差 erms壓縮比 cr灰度圖6553611222401.7124二值化圖像65536680200.10379由表 1 可以明顯看出:均方根誤差 erms =0,則行程編碼是一種無損壓縮編碼。對灰度圖像進行行5程編碼后圖像的大小與原始圖像大小相比,其需要更大的存儲空間,沒不到壓縮圖像的目的。而對二值化圖像進行行程編碼后圖像的大小比原始圖像小將近 10 倍,這樣更有利于圖像的存儲和傳輸。則說明行程編碼更適合于二值化圖像和那些連續(xù)出現(xiàn)灰度級相同的圖像。2.2 哈弗曼編碼(huffman)哈弗曼(huffman)編碼步驟可概括為大到小排列、
17、相加(到只有一個信源符號為止) 、賦碼字、得 huffman 編碼,以上均是對于信源符號概率而言的。huffman 編碼,這里選用大小為像素、灰度級為 256 的 coin 圖像,對其進行 huffman256 256編碼來實現(xiàn)圖像壓縮的目的。其中采用 huffncode 函數(shù)對圖像進行壓縮,而用 huffdecode 函數(shù)對壓縮圖像進行復(fù)原,顯示原始圖像和解壓后的圖像、用 size 函數(shù)計算的原始圖像數(shù)據(jù)和壓縮后數(shù)據(jù)大小2n、均方根誤差 erms,通過利用公式計算 cr。1n12crn n對大小為像素、灰度級為 256 的 boat 圖像進行 huffman 編解碼可得 5 個概率最大的灰2
18、56 256度值及其概率大小:m1(145,0.0213), m2(144,0.0209), m3(147,0.0208), m4(146,0.0207), m5(149,0.0195),用其對 huffman 編碼的步驟進行說明,其編碼過程如圖 5 所示:m1 0.0213m2 0.0209m3 0.0208m4 0.0207m5 0.0195100.06150.041510100.04020.04020.10310圖 5 huffman 編碼過程圖由圖 5 可得:經(jīng)過 huffman 編碼后信源 m1、m2、m3、m4、m5 的碼字分別為:01、10、00、111、011。由經(jīng)過編碼的碼字
19、可得到 huffman 編碼的特點:用短的碼字對概率大的信源進行編碼,而用較長的碼字對概率小的信源進行編碼。其運行結(jié)果如圖 6 所示:圖 6 對 boat 圖像進行 huffman 編解碼結(jié)果圖由圖 6 可得:=58986,=65536,則壓縮比 cr=0.90005。1n2n12n n由 huffman 編解碼的運行結(jié)果數(shù)據(jù)可得表 2 如下所示:表 2 對 boat 圖像進行 huffman 編解碼結(jié)果數(shù)據(jù)表6編碼原始圖像數(shù)據(jù)大小壓縮后數(shù)據(jù)大小均方根誤差 erms=壓縮比 crhuffman 編碼655365898600.90005由上表可得:均方根誤差 erms =0,則 huffman
20、編碼為無損壓縮編碼。對 boat 進行 huffman 編碼后的圖像大小與原始圖像差不多,其壓縮比接近于 1,則 huffman 編碼對圖像沒有很好的壓縮效果。如信源 m1、m2、m3、m4、m5 經(jīng)過 huffman 編碼的碼字分別為:01、10、00、111、011,是由近似的整數(shù)來對其進行編碼的,沒有達到預(yù)期的效果。2.3 線性預(yù)測編碼(dpcm,different pulse code modulation)差值脈沖編碼調(diào)制(different pulse code modulation) ,即線性預(yù)測編碼(dpcm)是對圖像的預(yù)測誤差進行編碼的一種無損壓縮編碼。預(yù)測誤差是當前信號的實
21、際值和根據(jù)前面的信號對當前信號進行預(yù)測得到的預(yù)測值的之差。其編解碼系統(tǒng)如圖 7 所示:輸入圖像預(yù)測編碼最接近取整符號編碼器壓縮圖像壓縮圖像符號解碼器預(yù)測器解碼圖像+-+( )編碼器a( )解碼器b圖 7 線性預(yù)測編碼編解碼系統(tǒng)圖線性預(yù)測編碼,這里選用大小為像素、灰度級為 256 的 yun 圖像,對其進行行程編碼來128 128實現(xiàn)圖像壓縮的目的。其中采用 lpcencode 函數(shù)對圖像進行壓縮,而用 lpcdecode 函數(shù)對壓縮圖像進行復(fù)原,用 size 函數(shù)計算的原始圖像數(shù)據(jù)和壓縮后數(shù)據(jù)大小、均方根誤差 erms 并在靜態(tài)文本框中顯示出來。由于線性預(yù)測編碼是對圖像的預(yù)測誤差進行編碼的一種
22、無損壓縮編碼,也通過顯示原始圖像和預(yù)測誤差的直方圖,來反映經(jīng)過預(yù)測編碼去除圖像冗余的情況。對大小為像素、灰度級為 256 的 yun 圖像進行 dpcm 編碼的運行結(jié)果如圖 8、9 所示:128 128圖 8 對 circuit 圖像進行 dpcm 編解碼結(jié)果圖7圖 9 原始圖像和預(yù)測誤差直方圖由圖 8 可得:均方根誤差 erms =0,則線性預(yù)測編碼是對圖像的預(yù)測誤差進行編碼的一種無損壓縮編碼。由圖 9 可得:預(yù)測誤差的概率分布在零處的峰值很大,則線性預(yù)測編碼通過預(yù)測和差分消除了大量像素間的冗余。將以上幾種無損壓縮編碼方法運行結(jié)果數(shù)據(jù)匯總在表 3 中進行比較,表 3 如下所示:表 3 無損壓
23、縮編碼比較表圖像編碼原始數(shù)據(jù)大小壓縮后數(shù)據(jù)大小均方根誤差 erms壓縮比 cr灰度圖6553611222401.7124二值化圖像灰度圖灰度圖rlerlehuffmandpcm655366553616384680258986163840000.103790.90005由于線性預(yù)測編碼是對預(yù)測誤差進行編碼的,其要與 rle 和 huffman 編碼比較得通過預(yù)測誤差直方圖的概率分布來進行。由表 3 可得:要對黑白二值化圖像進行編碼,最好選擇 rle 編碼。而對于灰度圖,進行 rle 編碼后圖像數(shù)據(jù)(112224)比原始數(shù)據(jù)(65536)大很多;進行 huffman 編碼后的圖像大小與原始圖像差不
24、多,均沒達到好的壓縮效果;進行線性預(yù)測編碼其預(yù)測誤差的概率分布在零處的峰值很大,說明消去了很多的冗余。因此,灰度圖像要進行無損壓縮編碼,最好的選擇是進行線性預(yù)測編碼。3 有損壓縮編碼研究和實現(xiàn)有損壓縮主要是對變換編碼進行研究的。變換編碼是一種基于某種變換的編碼方法,其只對變換域上有用的低頻信息進行量化、編碼、傳輸,而丟棄那些沒用的高頻分量。變換編碼是先將圖像分割為個子圖像再分別進行變換、量化和編碼處理,而非一次性對圖像n n進行變換和編碼。其編解碼系統(tǒng)如圖 10 所示:交 交 交 交交 交 交 交交 交 交 交交 交 交 交交 交 交 交 交 交交交 交 交 交交 交 交交 交 交 交交 交
25、交 交交 交 交 交 交圖 10 變換編碼編解碼系統(tǒng)圖83.1 基于 dct 的圖像壓縮編碼由于在空間域里進行 dct 變換編碼比在變換域里較復(fù)雜,因此 dct 變換編碼選擇在變換域里進行。經(jīng)過 dct 變換后信號的能量積聚到少量的系數(shù)上,使其圖像的相關(guān)性下降了和抗干擾能力增加了,更利于壓縮圖像的傳輸。因而,被圖像壓縮領(lǐng)域廣泛的運用。關(guān)于基于 dct 的圖像壓縮編碼的實現(xiàn),這里選用大小為像素、灰度級為 256 的 lena 圖256 256像,對其進行 dct 變換來實現(xiàn)圖像壓縮的目的。編寫 matlab 程序時,先用 blkproc 和 dctmtx(8) 函數(shù)對圖像進行分割為 個大小為的子
26、圖像進行 dct,則每一個子圖像中均有 64 個的傅里225688 8葉系數(shù)。再量化,用 im2col 函數(shù)將的圖像塊排列成向量,根據(jù)設(shè)置的壓縮比 cr 確定要變零的系8 8數(shù)個數(shù) snum 并將最小的 snum 個變化系數(shù)設(shè)置為 0。接著用 col2im 函數(shù)將向量重新排列成圖像塊以便圖像的復(fù)原,最后用 blkproc 和 dctmtx(8) 函數(shù)對新的圖像塊進行逆 dct 變換來恢復(fù)圖像和計算均方根誤差 erms 來體現(xiàn) dct 的信息集中能力。其編解碼系統(tǒng)如圖 11 所示:原始圖像dct換變除以量矩陣化取整壓縮圖像壓縮圖像dct變換逆取整解壓圖像(a) 碼過程編( )解碼過程b圖 11
27、dct 變換編解碼系統(tǒng)圖設(shè)置壓縮比 cr=0.5,即對大小為像素、灰度級為 256 的 lena 圖像進行 2:1 的 dct 壓縮,256 256截取一子圖像8,8數(shù)據(jù)分析其編碼,截取的數(shù)據(jù)如下:由上可得:全部負數(shù)是當中最小的 32 個變換系數(shù)。經(jīng)過量化編碼后的數(shù)據(jù)如下:由上可得:量化編碼將 64 個變換系數(shù)中最小的 32 個變換系數(shù)變 0,而保留 32 個比較大的變換系數(shù)。9其運行結(jié)果如圖 12 所示:圖 12 進行壓縮比為 0.5 的 dct 變換編解碼運行結(jié)果圖設(shè)置壓縮比 cr=0.125,即對大小為像素、灰度級為 256 的 lena 圖像進行 8:1 的 dct 壓256 256縮
28、,截取一子圖像8,8數(shù)據(jù)分析其編碼,截取的數(shù)據(jù)如下:由上可得:5.0838,0.0230,0.0018,0.0453,0.0222,0.0019,0.0015,0.0019 是 8 個比較大的變換系數(shù)。經(jīng)過量化編碼的數(shù)據(jù)如下:由上可得:量化編碼將 64 個變換系數(shù)中最小的 56 個變換系數(shù)變 0,而保留 8 個比較大的變換系數(shù)。10其運行結(jié)果如圖 13 所示:圖 13 進行壓縮比為 0.125 的 dct 變換編解碼運行結(jié)果圖3.2 基于哈達瑪變換(ht)的圖像壓縮編碼哈達瑪變換矩陣有三個優(yōu)點3: 只含+1 和-1; 任意兩行或兩列對應(yīng)元素相乘后相加為 0,即正交; 變換核矩陣使高階矩陣可通過
29、低階矩陣來獲得。關(guān)于基于哈達瑪變換的圖像壓縮編碼的實現(xiàn),在 matlab7.0 中沒有產(chǎn)生哈達瑪矩陣的函數(shù)hadamard,因此就得編寫一個產(chǎn)生哈達瑪矩陣的函數(shù) hadamard。這里選用大小為像素、灰度級為 256 的 lena 圖像,對其進行哈達瑪變換來實現(xiàn)圖像壓256 256縮的目的。編寫 matlab 程序時,先用 blkproc 和 hadamard 函數(shù)對圖像進行分割為 個大小為22568的子圖像進行哈達瑪變換,則每一個子圖像中均有 64 個的傅里葉系數(shù),再用 im2col 函數(shù)將8 8的圖像塊排列成向量,根據(jù)設(shè)置的壓縮比 cr 確定要變零的系數(shù)個數(shù) snum 并將最小的 snum
30、 個變8 8化系數(shù)設(shè)置為 0,接著要 col2im 函數(shù)將向量重新排列成圖像塊以便圖像的復(fù)原,最后用 blkproc 和hadamard 函數(shù)對新的圖像塊進行逆哈達瑪變換來恢復(fù)圖像和計算均方根誤差 erms 來體現(xiàn)哈達瑪變換的信息集中能力。其編解碼系統(tǒng)如圖 14 所示:原始圖像哈達瑪變換除以量矩陣化取整壓縮圖像壓縮圖像哈達瑪逆變換取整解壓圖像(a) 碼過程編( )解碼過程b圖 14 hadamard 變換編解碼系統(tǒng)圖設(shè)置壓縮比 cr=0.5 對大小為像素、灰度級為 256 的 lenan 圖像進行 2:1 的哈達瑪變換壓256 25611縮,截取一子圖像8,8數(shù)據(jù)分析其編碼,截取的數(shù)據(jù)如下:經(jīng)
31、過量化編碼的數(shù)據(jù)如下:由上可得:經(jīng)過量化編碼將 64 個變換系數(shù)中最小的 32 個變換系數(shù)變 0,而保留 32 個比較大的變換系數(shù)。其運行結(jié)果如圖 15 示:圖 15 進行壓縮比為 0.5 的哈達瑪變換編解碼運行結(jié)果圖設(shè)置壓縮比 cr=0.125 對大小為像素、灰度級為 256 的 lena 圖像進行 8:1 的哈達瑪變換256 256壓縮,截取一子圖像8,8數(shù)據(jù)分析其編碼,截取的數(shù)據(jù)如下:12經(jīng)過量化編碼的數(shù)據(jù)如下:由上可得:經(jīng)過量化編碼將 64 個變換系數(shù)中最小的 56 個變換系數(shù)變 0,而保留 8 個比較大的變換系數(shù)。其運行結(jié)果如圖 16 所示:圖 16 進行壓縮比為 0.125 的哈達
32、瑪變換編解碼運行結(jié)果圖為了方便比較以上兩種變換編碼集中能量的能力,兩種變換均是對大小為像素、灰度256 256級為 256 的 lena 圖像進行處理。將以上兩種變換編碼結(jié)果制作為一張表,表 4 如下所示:表 4 三種變換編碼結(jié)果匯總表壓縮比 cr=變換編碼原始圖像數(shù)據(jù)大?。簤嚎s后數(shù)據(jù)大?。壕礁`差 erms=基于 dct 的變換編碼65536327680.0473190.50.5基于 ht 的變換編碼65536327680.0452090.1250.125基于 dct 的變換編碼基于 ht 的變換編碼6553665536819281920.0550190.055239由表 4 可得:在壓縮
33、比相同的情況下(即丟棄的系數(shù)個數(shù)相同),dct 的均方根誤差 erms 相對比較小,也就是 dct 比 ht 有更強的信息集中能力。在壓縮比為 0.5 的情況下,兩種變換的均方根誤差均比壓縮比為 0.125 的小,也就是壓縮比越大其集中信息的能力越強。這是因為圖像的有用信息低頻信息大多在變換域的左上角,變換編碼只對該區(qū)域的變換進行量化、編碼、傳輸,而丟棄那些沒用的高頻分量。3.3 小波編碼小波變換利用對信號的局域的性質(zhì)進行分析來提取信號的有用信息,這樣可以解決一些傅里葉(fourier)變換不能解決的問題4。例如:傅里葉(fourier)變換的局限性。13這里采用直接閾值的小波編碼法,其是省略
34、小于某一閾值的系數(shù)而留下那些有大能量的系數(shù),以達到壓縮圖像的效果。有多種方法可以得到閾值,既可以通過直接賦值,也可以通過函數(shù)來產(chǎn)生。這里用 wdcbm2 函數(shù)來求閾值。其編解碼系統(tǒng)如圖 17 所示:原始圖像加噪圖像得到 aar的濾波器h相關(guān)計算閾值去噪和壓縮圖像重構(gòu)圖像進行小波分解恢復(fù)圖像圖 17 直接閾值編碼法的編解碼系統(tǒng)圖在這種方法中用 imnoise 函數(shù)對圖像信號進行加噪,用 wfilters 函數(shù)得到 haar 濾波器的分解和重構(gòu)的濾波器,用 wavedec2 函數(shù)和得到的分解濾波器對加噪信號進行 2 層二維的小波分解并得到分解結(jié)構(gòu)c,s,用 wdcbm2 函數(shù)得到閾值和保留的系數(shù),
35、用 wdencmp 對圖像進行重構(gòu)。用 size 函數(shù)計算的原始圖像數(shù)據(jù)和壓縮后數(shù)據(jù)大小、均方根誤差 erms,通過利用公式計算 cr。這里是用不2n1n12crn n同的閾值對各個子圖像的小波系數(shù)進行舍取處理。對 lena 圖像(大小為像素、灰度級為 256)進行 2 層二維小波編解碼結(jié)果如圖 18 所示:256 256圖 18 直接閾值的小波編碼法運行結(jié)果圖由圖 18 可得:=218,=65536,則壓縮比 cr=0.00332641,由此數(shù)據(jù)可得小波編碼有1n2n12n n很大的壓縮比。將基于 dct 的變換編碼與小波編碼進行比較總結(jié)出小波編碼的優(yōu)點,表 5 如下所示:表 5 fft 和
36、小波編碼運行結(jié)果比較表編碼原始圖像數(shù)據(jù)大?。?壓縮后數(shù)據(jù)大?。?均方根誤 erms=壓縮比 cr=基于 dct 的變換編碼65536327680.0473190.5基于 dct 的變換編碼6553681920.0550190.125小波編碼65536613.31310.00332641由上表可得:與 dct 相比,小波編碼有更高的壓縮比,因為小波編碼去除了所有的相關(guān)性,這是14dct 所不能達到的。雖然小波編碼的均方根誤差比 dct 高很多,但是小波編碼是去除那些能量比較小的系數(shù),而將那些高能量的系數(shù)保留下來,小能量的系數(shù)對圖像恢復(fù)沒有多大的影響。4 jpeg 部分壓縮算法的研究和實現(xiàn)融合了
37、dct,huffman 壓縮編碼方法和有高壓縮比 cr 的 jpeg 是一種有損/無損壓縮方法5,其是聯(lián)合圖像專家組(joint photographic expert group)的簡稱6。其編解碼方框圖如圖 19 所示:原始圖像dct換變恢復(fù)圖像量化huffman碼編huffman碼解反量化反 ct換d變圖 19 jpeg 編解碼方框圖這里從【open】中選擇 people 圖像(大小為像素、灰度級為 256)對其進行 jepg 編解256 256碼。編寫 matlab 程序時,除了用到 dct 變換和 huffman 編碼所有的函數(shù),如:blkproc、dct2(x)、size、idct
38、2(x)、dchuffmanencoding、round 等函數(shù),還用到了 zigzag 函數(shù)來分別對 dc 系數(shù)和 ac 系數(shù)掃描和編碼以及矩陣系數(shù)替換等基本 matlab 編程語句。最后用 set 和 num2str 函數(shù)將原始圖像數(shù)據(jù)和壓縮后數(shù)據(jù)大小、均方根誤差 erms 在靜態(tài)文本框中顯示出來,并通過利用公式計2n1n12crn n算 cr。對大小為像素、灰度級為 256 的 people 圖像進行 jepg 編解碼結(jié)果如圖 20 所示:256 256圖 20 jepg 編解碼結(jié)果圖由圖 20 可得:=108,=65536,則壓縮比 cr=0.001647,由此數(shù)據(jù)可得 jpeg 編碼
39、和小1n2n12n n波編碼一樣都有很高的壓縮比。將以上 dct 變換編碼、huffman 編碼、jepg 編碼的結(jié)果數(shù)據(jù)匯制成表 6,表 6 如下所示:表 6 dct、huffman、jepg 編碼結(jié)果表編碼 原始圖像大?。?壓縮后圖像的大?。壕礁` erms=壓縮比 cr=基于 dct 的變換編碼65536655360.0473190.5基于 dct 的變換編碼65536655360.0550190.125huffman 編碼655365898600.9000515jepg 編碼655361089.60480.001647由表 6 可得:dct 變換編碼是一種具有高信息集中能力的編碼,h
40、uffman 編碼是一種無損壓縮,這里采用 jepg 編碼正是集合這兩種編碼的優(yōu)點而具有較高的壓縮比。5 總體設(shè)計在 matlab 環(huán)境中,gui 是一種圖形窗口,其包含了許多種的對象并提供了集成了 gui 所有支持控件的界面設(shè)計工具集guie,成就了 gui 方便高效的開發(fā)。創(chuàng)建一個圖形用戶界面 gui 將各種壓縮編碼方法結(jié)合在一起的具體步驟如下: 啟動 guie:在打開 matlab7.0 后,點擊【file】菜單下的子菜單 【new】并選擇【gui】項目,打開如圖 21 的界面。圖 21 gui 模板設(shè)置界面 圖在窗口 guie quick start 中,點擊 ok 就可以選擇一個空白
41、的模板,將其保存為 gui.fig 同時生成了編寫功能所要用到 m 文件。 在界面設(shè)計工具集 guie 中選擇所需的控件布置界面并設(shè)置屬性,設(shè)計好界面如圖 22 所示:16圖 22 最初布置圖在該界面中,包含有 10 個靜態(tài)文本和兩個 axes 窗口。 將各種編碼方法均設(shè)置在菜單欄上,可以使界面不會那么的凌亂,則打開 menu editer 窗口設(shè)計兩個菜單項 file、operations,其中 file 包含的子菜單有 open 和 exit,operations 包含的子菜單有rle、huffman、dpcm、dct、fft、hadamard、wavlet、jepg。菜單項的 callb
42、ack 均設(shè)為gui0(file_callback,gcbo,guidata(gcbo),菜單項的 label 和 tag 均分別設(shè)為file、operations、rle、huffman、dpcm、dct、fft、hadamard、wavlet、jepg。菜單欄的整體排版如圖 23 所示: 圖 23 菜單欄安排圖運行界面 guie,可得如圖 24 所示:圖 24 最終布置圖 在 m 文件中編寫對應(yīng)功能代碼。其中 open 實現(xiàn)的功能是可以打開在根目錄下的任何的圖片(如圖 25 所示:) ,exit 用命令close(gui0)來關(guān)閉運行中的界面 gui。operations 下的子菜單17r
43、le、huffman、dpcm、dct、fft、hadamard、wavlet、jepg 對應(yīng)用來實現(xiàn)行程編碼、線性預(yù)測編碼、變換編碼、小波編碼、jepg 編碼。圖 25 用 open 打開任何圖片圖在編寫這些程序時要注意用 handles 來進行數(shù)據(jù)間的傳遞。要將計算好的均方根誤差 erms、壓縮比 cr、原始圖像和壓縮后圖像的大小在靜態(tài)文本中顯示出來時,除了用 set 命令,還得用命令 num2str將它們轉(zhuǎn)換為字符形式才能在靜態(tài)文本顯示。在編寫程序時必須得注意這兩個問題。 運行以編寫好代碼的 gui 界面,選擇【open】下大小為像素、灰度級為 256 的256 256coin 圖像和【
44、operations】的【huffman】選項,進行 huffman 編碼可得如 26 圖結(jié)果:圖 26 實現(xiàn) huffman 編碼功能圖按照以上步驟創(chuàng)建好的 gui 界面實現(xiàn)的功能有:選擇【open】下的任何一張圖像;選擇operations 下的子菜單中的任何一編碼計算并顯示原始圖像和解碼后圖像的大小、均方根誤差、壓縮比 cr 以及解碼后的圖像;關(guān)閉運行的界面。6 結(jié)論隨著各種現(xiàn)代化技術(shù)地不斷發(fā)展,數(shù)字圖像的數(shù)據(jù)壓縮在數(shù)字圖像傳輸中發(fā)揮著關(guān)鍵性的作用。為了方便對各種壓縮方法的進行研究、實現(xiàn)和比較,根據(jù)圖像的信息在編碼中是否有損失將數(shù)字圖像18編碼分為有損壓縮和無損壓縮。設(shè)計以 matlab 為仿真工具,利用信源概率不相等的特性來去掉圖像的冗余以及用不等長的碼字來對信源進行無損壓縮編碼。而運用某種變換去掉數(shù)字圖像在空間和時間上的相關(guān)性對信源進行有損壓縮編碼。利用 dct 變換和 huffman 編碼對圖像的信源進行 jepg 編碼。為了更好地研究和實現(xiàn)各種壓縮方法并將這些方法用于教學(xué),又設(shè)計了一個 gui 界面,將全部的壓縮編碼的方法結(jié)合在一起。在設(shè)計 gui
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (2篇)2024年政治個人教學(xué)總結(jié)
- 2024年湖北健康職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年海南外國語職業(yè)學(xué)院高職單招數(shù)學(xué)歷年參考題庫含答案解析
- 實義動詞說課講解
- 2016春九年級物理下冊-專題復(fù)習3-測量-機械運動課件-(新版)粵教滬版
- 二零二五年度工業(yè)園區(qū)物業(yè)客戶投訴處理合同3篇
- 2024年陽新縣第二人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年阜陽市地區(qū)人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 二零二五年技術(shù)專利權(quán)轉(zhuǎn)讓與產(chǎn)業(yè)鏈融合合作協(xié)議3篇
- 2024年長葛市人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 一年級口算練習題大全(可直接打印A4)
- 電動車棚消防應(yīng)急預(yù)案
- 人力資源戰(zhàn)略規(guī)劃地圖
- 2023年河南公務(wù)員考試申論試題(縣級卷)
- DB35T 2198-2024 工業(yè)園區(qū)低零碳創(chuàng)建評估準則 福建省市監(jiān)局
- 不為積習所蔽勿為時尚所惑-如何做一個 好老師 高中主題班會課件
- 托育服務(wù)中心項目可行性研究報告
- 中式烹調(diào)師四級理論考試題庫(重點500題)
- 裝飾圖案智慧樹知到答案2024年齊魯工業(yè)大學(xué)
- 重慶市2024年中考英語模擬試卷(含答案)
- 中醫(yī)藥健康管理服務(wù)流程
評論
0/150
提交評論