DCT變換原理解析
《DCT變換原理解析》由會(huì)員分享,可在線閱讀,更多相關(guān)《DCT變換原理解析(12頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、. - 數(shù)字圖像的冗余包括空間冗余、構(gòu)造冗余、知識(shí)冗余和視覺(jué)冗余等。空間冗余是指規(guī)則物體和規(guī)則背景的外表物理特性都具有相關(guān)性,數(shù)字化后表現(xiàn)為數(shù)字冗余。例如:*圖片的畫(huà)面中有一個(gè)規(guī)則物體,其外表顏色均勻,各局部的亮度、飽和度相近,把該圖片作數(shù)字化處理,生成位圖后,很大數(shù)量的相鄰像素的數(shù)據(jù)
2、是完全一樣或十分接近的,完全一樣的數(shù)據(jù)當(dāng)然可以壓縮,而十分接近的數(shù)據(jù)也可以壓縮,因?yàn)榛謴?fù)后人亦分辨不出它與原圖有什么區(qū)別,這種壓縮就是對(duì)空間冗余的壓縮。再比方視覺(jué)冗余,視覺(jué)系統(tǒng)對(duì)于圖像場(chǎng)的注意是非均勻和非線性的,視覺(jué)系統(tǒng)不是對(duì)圖像的任何變化都能感知,因此對(duì)圖像進(jìn)展壓縮后人眼也并不會(huì)非常敏銳地覺(jué)察畫(huà)面內(nèi)容有所刪減。 所謂的圖像壓縮編碼技術(shù)就是對(duì)要處理的圖像數(shù)據(jù)按一定的規(guī)則進(jìn)展變換和組合, 從而到達(dá)以盡可能少的數(shù)據(jù)流(代碼)來(lái)表示盡可能多的數(shù)據(jù)信息。在眾多的圖像壓縮編碼標(biāo)準(zhǔn)中,JPEG(Joint Photographic E*perts Group)格式是一種稱為聯(lián)合圖像專家組的圖像壓縮格式,
3、它適用于不同類型、不同分辨率的彩色和黑白靜止圖像。 而在JPEG圖像壓縮算法中,有一種是以離散余弦變換(DCT,Discrete Cosine Transform)為根底的有損壓縮算法,是為本論文的主要研究對(duì)象。 DCT變換利用傅立葉變換的性質(zhì)。采用圖像邊界褶翻將像變換為偶函數(shù)形式,然后對(duì)圖像進(jìn)展二維傅立葉變換,變換后僅包含余弦項(xiàng),所以稱之為離散余弦變換。 DCT編碼屬于正交變換編碼方式,用于去除圖像數(shù)據(jù)的空間冗余。變換編碼就是將圖像光強(qiáng)矩陣(時(shí)域信號(hào))變換到系數(shù)空間(頻域信號(hào))上進(jìn)展處理的方法。在空間上具有強(qiáng)相關(guān)的信號(hào),反映在頻域上是在*些特定的區(qū)域內(nèi)能量常常被集中在一起,或者是系數(shù)矩
4、陣的分布具有*些規(guī)律。我們可以利用這些規(guī)律在頻域上減少量化比特?cái)?shù),到達(dá)壓縮的目的。圖像經(jīng)DCT變換以后,DCT系數(shù)之間的相關(guān)性就會(huì)變小。而且大局部能量集中在少數(shù)的系數(shù)上,因此,DCT變換在圖像壓縮中非常有用,是有損圖像壓縮國(guó)際標(biāo)準(zhǔn)JPEG的核心。從原理上講可以對(duì)整幅圖像進(jìn)展DCT變換,但由于圖像各部位上細(xì)節(jié)的豐富程度不同,這種整體處理的方式效果不好。為此,發(fā)送者首先將輸入圖像分解為8*8或16*16塊,然后再對(duì)每個(gè)圖像塊進(jìn)展二維DCT變換,接著再對(duì)DCT系數(shù)進(jìn)展量化、編碼和傳輸;接收者通過(guò)對(duì)量化的DCT系數(shù)進(jìn)展解碼,并對(duì)每個(gè)圖像塊進(jìn)展的二維DCT反變換。最后將操作完成后所有的塊拼接起來(lái)構(gòu)成一幅
5、單一的圖像。對(duì)于一般的圖像而言,大多數(shù)DCT系數(shù)值都接近于0,所以去掉這些系數(shù)不會(huì)對(duì)重建圖像的質(zhì)量產(chǎn)生較大影響。因此,利用DCT進(jìn)展圖像壓縮確實(shí)可以節(jié)約大量的存儲(chǔ)空間。在實(shí)驗(yàn)中,先將輸入的原始圖像分為8*8塊,然后再對(duì)每個(gè)塊進(jìn)展二維DCT變換。 1.1.1 DCT編碼 DCT編碼屬于正交變換編碼。這類算法通常是將空間域上的圖像經(jīng)過(guò)正交變換映射到系數(shù)空間,使變換后的系數(shù)直接相關(guān)性降低。圖像變換本身并不能壓縮數(shù)據(jù),但變換后圖像大局部能量集中到了少數(shù)幾個(gè)變換系數(shù)上,再采用適當(dāng)?shù)牧炕挽鼐幋a便可以有效地壓縮圖像。 信息論的研究說(shuō)明,正交變換不改變信源的熵值,變換前后圖像的信息量并無(wú)損失,完全可以
6、通過(guò)反變換得到原來(lái)的圖像值。但圖像經(jīng)過(guò)正交變換后,把原來(lái)分散在原空間的圖像數(shù)據(jù)在新的坐標(biāo)空間中得到集中,對(duì)于大多數(shù)圖像而言,大量的變換系數(shù)很小,只要?jiǎng)h除接近于0的系數(shù),并對(duì)較小的系數(shù)進(jìn)展粗量化,而保存包含圖像主要信息的系數(shù),以此進(jìn)展壓縮編碼。在重建圖像進(jìn)展解碼〔逆變換〕時(shí),所損失的將是些不重要的信息,幾乎不會(huì)引起圖像失真,圖像的變換編碼就是利用這些來(lái)壓縮圖像并得到很高的壓縮比。 由于圖像可看成二維數(shù)據(jù)矩陣,所以在圖像編碼中多采用二維正交變換方式,然而其正交變換的計(jì)算量太大,所以在實(shí)用中變換編碼并不是對(duì)整幅圖像進(jìn)展變換和編碼,而是將圖像分成假設(shè)干個(gè)n×n的子圖像分別處理。這是因?yàn)樾K圖像的變換
7、計(jì)算比擬容易,而且距離較遠(yuǎn)的像素之間的相關(guān)性比距離較近的像素之間的相關(guān)性要小。實(shí)踐證明4×4、8×8、16×16適合圖像壓縮,這是因?yàn)椋? ① 如果子圖像尺寸取得太小,雖然計(jì)算速度快,實(shí)現(xiàn)簡(jiǎn)單,但壓縮能力有限; ② 如果子圖像尺寸取得太大,雖然去相關(guān)效果好,因?yàn)镈CT等正弦類變換均漸近最正確化,同時(shí)也漸近飽和,猶豫圖像本身的相關(guān)性很小,反而使得壓縮效果不明顯,并且增加了計(jì)算的復(fù)雜度。 1.1.2 變換系數(shù)的選擇 對(duì)子圖像經(jīng)過(guò)變換后,保存變換后的哪些系數(shù)用作編碼和傳輸將直接影響信號(hào)恢復(fù)的質(zhì)量,變換系數(shù)的選擇原則是保存能量集中、方差大的系數(shù)。 系數(shù)選擇通常有變換變換區(qū)域編碼和變換閾值編碼兩
8、種方法。 1) 變換區(qū)域編碼 變換區(qū)域編碼是對(duì)設(shè)定形狀的區(qū)域內(nèi)的變換系數(shù)進(jìn)展量化編碼區(qū)域外的系數(shù)被舍去。一般來(lái)說(shuō),變換后的系數(shù)值較大的會(huì)集中在區(qū)域的左上部,即低頻分量都集中在左上部。保存的也是這一局部。其他局部的系數(shù)被舍去,在恢復(fù)信號(hào)時(shí)對(duì)它們補(bǔ)0。這樣以來(lái),由于保存了大局部圖像信號(hào)能量,在恢復(fù)信號(hào)后,其質(zhì)量不會(huì)產(chǎn)生顯著變化。變換區(qū)域編碼的明顯缺陷是高頻分量完全喪失。反響在恢復(fù)圖像上將是輪廓及細(xì)節(jié)模糊。為抑制這一缺陷,可預(yù)先設(shè)定幾個(gè)區(qū)域,根據(jù)實(shí)際系數(shù)分布自動(dòng)選取能力最大的區(qū)域。 2) 變換閾值編碼 變換閾值編碼是根據(jù)實(shí)際情況設(shè)定*一大小幅度的閾值,假設(shè)變換系數(shù)超過(guò)該閾值,則保存這些系數(shù)進(jìn)
9、展編碼傳輸,其余補(bǔ)0.這樣,多數(shù)低頻成分被編碼輸出,而且少數(shù)超過(guò)閾值的高頻成分也將被保存下來(lái)進(jìn)展編碼輸出。這在一定程度上彌補(bǔ)了區(qū)域變換法的缺乏。但也有兩個(gè)問(wèn)題需要解決:一是被保存下來(lái)的系數(shù)在矩陣中的位置不是不確定的,因此需增加地質(zhì)編碼比特?cái)?shù),其碼率相對(duì)要高一些;二是閾值需要通過(guò)實(shí)驗(yàn)來(lái)確定,當(dāng)然也可以根據(jù)總比特?cái)?shù)進(jìn)展自適應(yīng)閾值選擇,但需要一定技術(shù),將增加編碼的復(fù)雜程度。 1.1.3 基于DCT編碼的JPEG編碼壓縮 基于DCT編碼的JPEG編碼壓縮過(guò)程框圖,如圖2-1所示。 壓縮數(shù)據(jù) 原始圖像數(shù)據(jù)分成8*8的小塊 量化器 DCT變換 熵編碼器 碼表 量化表 圖2-
10、1 基于DCT編碼的JPEG壓縮過(guò)程簡(jiǎn)化圖 上圖是基于DCT變換的圖像壓縮編碼的壓縮過(guò)程,解壓縮與上圖的過(guò)程相反。 在編碼過(guò)程中,首先將輸入圖像分解為8×8大小的數(shù)據(jù)塊,然后用正向二維DCT把每個(gè)塊轉(zhuǎn)變成64個(gè)DCT系數(shù)值,其中左上角第一個(gè)數(shù)值是直流(DC)系數(shù),即8×8空域圖像子塊的平均值,其余的63個(gè)是交流(AC)系數(shù),接下來(lái)對(duì)DCT系數(shù)進(jìn)展量化,最后將變換得到的量化的DCT系數(shù)進(jìn)展編碼和傳送,這樣就完成了圖像的壓縮過(guò)程。 在解碼過(guò)程中,形成壓縮后的圖像格式,先對(duì)已編碼的量子化的DCT系數(shù)進(jìn)展解碼,然后求逆量化并把DCT系數(shù)轉(zhuǎn)化為8×8樣本像塊(使用二維DCT反變換),最后將操作完
11、成后的塊組合成一個(gè)單一的圖像。這樣就完成了圖像的解壓過(guò)程。 1.2 二維離散余弦變換 圖像數(shù)據(jù)壓縮的目的是在滿足一定圖像質(zhì)量的條件下,用盡可能少的比特?cái)?shù)來(lái)表示原始圖像,以提高圖像傳輸?shù)男屎蜏p少圖像存儲(chǔ)的容量,在信息論中稱為信源編碼。圖像壓縮是通過(guò)刪除圖像數(shù)據(jù)中冗余的或者不必要的局部來(lái)減小圖像數(shù)據(jù)量的技術(shù),壓縮過(guò)程就是編碼過(guò)程,解壓縮過(guò)程就是解碼過(guò)程。 假設(shè)有一個(gè)無(wú)記憶的信源,它產(chǎn)生的消息為,,其出現(xiàn)的概率是的, 記為。則其信息量定義為: { (2-1) 由此可見(jiàn)一個(gè)消息出現(xiàn)的可能性越小,其信息量就越多,其出現(xiàn)對(duì)信息的奉獻(xiàn)量越大,反之亦然。 信源的平均信息量稱為"熵〞,可以表示為:
12、 (2-2) 對(duì)上式取以2 為底的對(duì)數(shù)時(shí),單位為比特〔bits〕: (2-3) 在圖像壓縮中,壓縮比是一個(gè)重要的衡量指標(biāo)??梢远x壓縮比為:= C=原始數(shù)據(jù)的平均比特率〔B〕/壓縮數(shù)據(jù)的平均比特率〔H〕 DCT變換后系數(shù)的量化是引起失真的主要原因,壓縮效果與圖像內(nèi)容本身有較大的關(guān)系。 在傅里葉級(jí)數(shù)展開(kāi)式中,如果被展開(kāi)的函數(shù)是實(shí)偶函數(shù),則,其傅里葉技術(shù)中只包含余弦項(xiàng),在將其離散化由此可導(dǎo)出余弦變換,或稱之為離散余弦變換(DCT,Discrete Cosine Transform)。 (2-) 式中,。 二維離散余弦逆變換公式為 (2-) 式中,。 JPEG采用的是
13、8×8大小的子塊的二維離散余弦變換。在編碼器的輸入端,把原始圖像順序地分割成一系列8×8的子塊,子塊的數(shù)值在-128到127之間。采用余弦變換獲得64個(gè)變換系數(shù)。 變換公式,如式(2-)所示。 (2-) 式中,。 在MATLAB 仿真實(shí)現(xiàn)中, 主要是采用二維DCT變換的矩陣式定義來(lái)實(shí)現(xiàn)的,矩陣式定義可以表示為: (2-) 其中是空間數(shù)據(jù)陣列, 是變換系數(shù)陣列, 是變換矩陣, 是的轉(zhuǎn)置。 The basis functions of the DCT of 64*64 an Image DCT系數(shù)的量化 量化是對(duì)經(jīng)過(guò)DCT變換后的頻率系數(shù)進(jìn)展量化,其目的是減小非"0〞系數(shù)的幅度
14、以及增加"0〞值系數(shù)的數(shù)目,它是圖像質(zhì)量下降的最主要原因。 量化過(guò)程定義了一種從實(shí)數(shù)到整數(shù)映射的方法,它是通過(guò)降低DCT變換產(chǎn)生的數(shù)值結(jié)果的準(zhǔn)確度,來(lái)減少存儲(chǔ)變換后的系數(shù)需要的比特?cái)?shù)。定義量化公式為: (2-) 其中,為量化前的DCT系數(shù),為量化后的DCT系數(shù),而為量化步長(zhǎng),表示取整。 對(duì)于基于DCT的JPEG圖像壓縮編碼算法,量化步距是按照系數(shù)所在的位置和每種顏色分量的色調(diào)值來(lái)確定。因?yàn)槿搜蹖?duì)亮度信號(hào)比對(duì)色差信號(hào)更敏感,因此使用了表2-1所示的量化表。此外,由于人眼對(duì)低頻分量的圖像比對(duì)高頻分量的圖像更敏感,因此表中的左上角的量化步距要比右下角的量化步距小。 亮度和色度因?yàn)榇淼膱D像
15、的信息量不同,亮度代表了圖像的低頻分量,色度代表了圖像的高頻分量,要分別對(duì)亮度和色度進(jìn)展量化,所以量化表也是不同的。 量化就是用DCT變換后的系數(shù)除以量化表中想對(duì)應(yīng)的量化階后四舍五入取整。由于量化表中,左上角的數(shù)值比擬小,而右下角的數(shù)值比擬大,因而能夠起到保持低頻分量,抑制高頻分量的作用。 JPEG壓縮色度和亮度量化表如表2-1所示。 表2-1 JPEG壓縮色度和亮度量化表 亮度量化表 色度量化表 16 11 10 16 24 40 51 61 17 18 24 47 99 99 99 99 12 12 14 19 26 58 60
16、55 18 21 26 66 99 99 99 99 14 13 16 24 40 57 69 56 24 26 56 99 99 99 99 99 14 17 22 29 51 87 80 62 47 66 99 99 99 99 99 99 18 22 37 56 68 109 103 77 99 99 99 99 99 99 99 99 24 35 55 64 81 104 113 92 99 99 99 99 99 99 99 99 49
17、64 78 87 103 121 120 101 99 99 99 99 99 99 99 99 79 92 95 98 112 100 103 99 99 99 99 99 99 99 99 99 量化會(huì)產(chǎn)生誤差,上圖是綜合大量的圖像測(cè)試的實(shí)驗(yàn)結(jié)果,對(duì)于大局部圖像都有很好的結(jié)果。表中可以看出,高頻局部對(duì)應(yīng)的量化值大,目的就是將高頻局部編程接近于0,以便以后處理。JPEG可以在壓縮比和圖像質(zhì)量間作取舍。方法就是改變量化值。如果量化值放大一倍,則有更多的系數(shù)量化為0,提高了壓縮比。 在本課題研究中,用于DCT變換的圖像為灰度圖像,故
18、只考慮亮度即可。 1.2.1 量化系數(shù)的編排 經(jīng)過(guò)DCT變換后,低頻分量集中在左上角,其中F(0,0)(即第一行第一列元素)代表了直流(DC)系數(shù),即8×8子塊的平均值,要對(duì)它單獨(dú)編碼。由于兩個(gè)相鄰的8×8子塊的DC系數(shù)相差很小,所以對(duì)它們采用差分編碼DPCM,可以提高壓縮比,也就是說(shuō)對(duì)相鄰的子塊DC系數(shù)的差值進(jìn)展編碼。8×8的其它63個(gè)元素是交流(AC)系數(shù),采用行程編碼。 所以量化后的系數(shù)要重新編排,目的是為了增加連續(xù)的"0〞系數(shù)的個(gè)數(shù),就是"0〞的游程長(zhǎng)度,方法是按照Z(yǔ)字形的式樣編排。 DCT變換后低頻分量多呈圓形輻射狀向高頻率衰減,因此可以看成按Z字形衰減。因此,量化系數(shù)按Z字
19、形掃描讀數(shù),這樣就把一個(gè)8×8的矩陣變成一個(gè)1×64的矢量,頻率較低的系數(shù)放在矢量的頂部。 量化后的DCT系數(shù)的編排如圖2-2所示。 圖2-2 量化DCT系數(shù)的編排 量化后的DCT系數(shù)的序號(hào)如表2-2所示。 表2-2 量化DCT系數(shù)的序號(hào) 0 1 5 6 14 15 27 28 2 4 7 13 16 26 29 42 3 8 12 17 25 30 41 43 9 11 18 24 31 40 44 53 10 19 23 32 39 45 52 54 20 22 33 38 46 51
20、 55 60 21 34 37 47 50 56 59 61 35 36 48 49 57 58 62 63 1.3 2D-DCT與2D-FFT的比擬 這兩種運(yùn)算表達(dá)在程序中,分別調(diào)用了1D-FFT和1D-DCT變換,而1D-DCT又是以1D-FFT為核心的。 設(shè)計(jì)的程序是以頻率抽取的基2FFT算法為根本理論的,因此蝶形運(yùn)算后,需要進(jìn)展排序,根據(jù)理論推算應(yīng)該采取倒位序的方法,對(duì)于一個(gè)N=8的蝶形運(yùn)算,其結(jié)果下標(biāo)排列應(yīng)是:0,4,2,6,1,5,3,7。倒位序后回到了自然排列順序0,1,2,3,4,5,6,7。一維快速傅立葉正反變換包含于一個(gè)核心子程序中,
21、所以在求其反變換時(shí),先將*(K)取共軛變換,在將*(K)的虛部乘以-1,然后就可以直接訪問(wèn)FFT的子程序,最后再對(duì)運(yùn)算結(jié)果取一次共軛變換并乘以常數(shù)1/N即可得到*〔n〕值。這種IFFT算法可以完全不改動(dòng)FFT的程序。在進(jìn)展二維的FFT變換時(shí),可把二維的FFT變換變成一維后直接調(diào)用FFT子程序。因?yàn)椋S離散傅立葉變換(DFT)處理圖像的時(shí)間比擬長(zhǎng),其處理結(jié)果和FFT處理結(jié)果一樣;FFT運(yùn)算量非常大,實(shí)時(shí)性差,處理圖像時(shí)沒(méi)有實(shí)用性。 傅里葉變換的缺乏之處在于子圖像的變換系數(shù)在邊界處的不連續(xù)而造成恢復(fù)的子圖像在其邊界也不連續(xù),于是由于各恢復(fù)子圖像構(gòu)成的整幅圖像將呈現(xiàn)隱約可見(jiàn)的子圖像的方塊狀構(gòu)造,
22、影響圖像質(zhì)量。 圖2-3 2D-FFT的變換譜 圖2-4 2D-DCT的變換譜 可以看出,原圖像經(jīng)FFT變換后頻域能的量主要集中在兩條對(duì)角線附近;DCT變換后變換域的能量主要集中在低頻分量附近〔即左上角〕。圖像壓縮中的DCT編碼正是利用DCT變換的這一特性,在對(duì)二維圖像進(jìn)展DCT變換后,只對(duì)變換域低頻分量進(jìn)展編碼,拋棄局部高頻分量,減少攜帶的信息量,從而實(shí)現(xiàn)對(duì)圖像的有損壓縮編碼。 DCT 變換與FFT 變換類似,但DCT 變換可以使用較少的頻譜系數(shù)來(lái)表示被變換的圖像數(shù)據(jù)。在接收端,用逆變換IDCT 將這些頻譜系數(shù)恢復(fù)成的圖像數(shù)據(jù),與變換前的數(shù)據(jù)更接近。因此在圖像壓縮算法中常
23、用DCT 變換。 實(shí)驗(yàn)結(jié)果及分析 離散余弦變換DCT 的MATLAB 實(shí)現(xiàn)有兩種方法,一種是基于FFT 的快速算法,這是通過(guò)MATLAB工具箱提供的dct2 函數(shù)實(shí)現(xiàn)的;另一種是DCT 變換矩陣方法。變換矩陣方法非常適合做 8*8 或 16*16 的圖像塊的DCT 變換,工具箱提供了dctmt* 函數(shù)來(lái)計(jì)算變換矩陣。 方法1: 該方法出發(fā)點(diǎn)是對(duì)整幅圖像進(jìn)展DCT變換,主要應(yīng)用MATLAB的圖像處理工具箱中的基于FFT的有大量輸入的快速算法進(jìn)展處理的dct2函數(shù): 具體程序?qū)崿F(xiàn)如下: A=imread('D:\rabit\rabit.bmp'); I=rgb2gray(A); DC
24、T=dct2(I); %余弦變化 DCT(abs(DCT)<10)=0; %把變換矩陣中小于10的值置換為0,然后用idct2重構(gòu) IDCT=idct2(DCT); subplot(2,2,1),imshow(I);title('灰度圖像') subplot(2,2,2),imshow(IDCT,[0 255]); title('反余弦變換恢復(fù)圖') subplot(2,2,3),imshow(DCT);title('DCT變換') subplot(2,2,4),imshow(log(abs(DCT)),[]); title('余弦變換系數(shù)'); figure,mesh(
25、DCT);title('變換譜三維彩色圖') (a) (b) (c) (d) (e) 圖4-1 DCT變換 從(b)圖,"反余弦變換恢復(fù)圖〞中,可以看出,該方法偏重圖像的視覺(jué)效果,按照這種方法重構(gòu)的圖像與原圖幾乎沒(méi)有差異。 從(c) 圖,"DCT變換〞圖中可以看出,DCT譜集中在左上部,只有左上局部不為零值。 通過(guò)觀察〔e〕圖DCT譜的彩色三維圖也可得到這一結(jié)論。需要說(shuō)明的是,對(duì)于本課題選取的這幅圖像而言,其低頻信息比擬多,分布擴(kuò)散至右下部。因此并未像傳
26、統(tǒng)使用的Lena圖一樣,僅有少局部有效信息集中在左上角。 DCT變換系數(shù)如下: 圖4-2 DCT變換系數(shù) 方法2: 該方法的出發(fā)點(diǎn)是先將圖像分解為8*8或16*16個(gè)數(shù)據(jù)塊,然后分別對(duì)分解后的每個(gè)數(shù)據(jù)小方塊進(jìn)展DCT變換,主要應(yīng)用MATLAB的圖像處理工具箱中dctmt*函數(shù)返回DCT變換矩陣,而后進(jìn)展相關(guān)處理。樣本程序?qū)崿F(xiàn)如下: A=imread('D:\rabit\rabit.bmp'); I=rgb2gray(A); I=im2double(I);%將圖像轉(zhuǎn)換為雙精度格式 T=dctmt*(8);%返回一個(gè)8*8的DCT變換矩陣 B=blkproc(I,[8 8],'P
27、1***P2',T,T');%對(duì)原圖像進(jìn)展DCT變換 mask=[1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];%保存了10個(gè)DCT系數(shù)重構(gòu)圖像 B2=blkproc(B,[8 8],'P1.**',mask); %數(shù)據(jù)壓縮,丟棄右下角高頻數(shù)據(jù) I2=blkproc(B2,[8 8
28、],'P1***P2',T',T); %進(jìn)展DCT反變換,得到壓縮后的圖像 subplot(1,2,1),imshow(I) title('原始圖像') subplot(1,2,2),imshow(I2) title('壓縮圖像1') disp('壓縮后圖像I2的大小');whos('I2'); disp('壓縮前圖像A的大小');whos('A'); disp('壓縮后圖像I的大小');whos('I'); (a) (b) (c) (d) (e)(f)
29、 圖4-3 基于DCT的圖像壓縮 對(duì)于〔b〕圖"壓縮圖像1〞,仿真中僅保存了3個(gè)DCT系數(shù),約占5%,從結(jié)果來(lái)看,圖像壓縮的效果出現(xiàn)了"塊〞失真。并且隨著量化系數(shù)的進(jìn)一步減少,失真情況會(huì)越來(lái)越嚴(yán)重,這說(shuō)明圖像信息喪失嚴(yán)重。 對(duì)于〔c〕圖"壓縮圖像2〞,仿真中保存了10個(gè)DCT系數(shù),占15%,比擬原圖和重構(gòu)圖像,可以發(fā)現(xiàn):在拋棄85%的系數(shù)后,重構(gòu)圖像根本上恢復(fù)了原圖像的信息,可以比擬清楚地辨清亮度上的差異,大局部的信息都很好的保存下來(lái)。然而細(xì)節(jié)局部,即邊緣局部,也就是高頻分量所攜帶的信息,并沒(méi)有很好地重現(xiàn)出來(lái)。因?yàn)槲覀儼迅哳l分量通過(guò)mask表中的0值控制全部舍棄了。而且從方法1中的"D
30、CT變換〞一圖中,我們可以清楚地看到,對(duì)于本圖來(lái)說(shuō),非0值并非很好地集中在左上部很小的局部,而是分布在幾乎85%的區(qū)域。因此,當(dāng)我們只取了左上部15%的DCT系數(shù)時(shí),當(dāng)然不能很好地恢復(fù)剩余大局部的細(xì)節(jié)。當(dāng)然,在采用這種方法來(lái)實(shí)現(xiàn)壓縮算法時(shí),可以通過(guò)修改mask變量中的DCT系數(shù)來(lái)更好地比擬仿真結(jié)果。 在〔d〕圖"壓縮圖像3〞中,則是對(duì)半取舍DCT系數(shù)。較之〔c〕圖的效果又有了明顯的進(jìn)步,邊緣細(xì)節(jié)信息已經(jīng)得到了很好的保存和重現(xiàn)。 在〔e〕圖"壓縮圖像4〞中,便是把mask中的DCT系數(shù)取85%地進(jìn)展了保存,而只舍去了10個(gè)右下角的DCT系數(shù)。可以看出,該圖中的細(xì)節(jié)信息較之〔d〕圖又有了更好的
31、表達(dá),邊緣等局部輪廓比擬清晰,與之前的壓縮圖像進(jìn)展比照,圖像的恢復(fù)重現(xiàn)效果明顯好了很多。 而在〔f〕圖"壓縮圖像5〞中,則是把"壓縮圖像1〞中的DCT系數(shù)的取舍完全顛倒過(guò)來(lái),即,"壓縮圖像2〞中,左上局部取1的系數(shù)變?yōu)槿?,同時(shí)右下局部取為0的DCT系數(shù)則變?yōu)槿?保存。從低頻和高頻的角度來(lái)說(shuō),即是將承載了灰度圖像很大局部重要亮度信息的低頻局部舍棄,而僅僅將右下角的承載邊緣細(xì)節(jié)信息的高頻局部予以保存。效果如"壓縮圖像5〞所示,我們可以明顯看到僅僅有圖像的邊緣信息顯示,而原始圖像最重要的信息則沒(méi)有保存和顯現(xiàn)。 而當(dāng)把圖像分為16*16數(shù)據(jù)塊進(jìn)展DCT變換時(shí),算法的復(fù)雜度急劇上升,但采用較大的子
32、塊可以明顯減少圖像分塊效應(yīng)。 實(shí)驗(yàn)結(jié)果如下:〔程序見(jiàn)附錄五〕 (a) (b) (c) (d) (e) (f) 圖4-4 16*16的DCT圖像壓縮 〔b〕圖"壓縮圖像1〞是16*16子塊模式中僅保存了6個(gè)左上角DCT系數(shù)的效果,可以看出明顯的塊失真效果?!瞔〕圖"壓縮圖像2〞是保存了10個(gè)DCT系數(shù),效果與8*8子塊模式中保存3個(gè)DCT系數(shù)的效果差不多,但要稍微好一點(diǎn)。 〔d〕圖"壓縮圖像3〞中保存了
33、36個(gè)DCT系數(shù),約占14%,此時(shí)與 8*8子塊模式中的保存了15%的DCT系數(shù)的"壓縮圖像2〞效果相近,并且稍微更清晰一些。 〔e〕圖保存了3/8的DCT系數(shù),而〔f〕圖"壓縮圖像5〞中保存了50%的DCT系數(shù),和8*8子塊模式中同樣對(duì)半取舍系數(shù)的〔d〕圖進(jìn)展比照,可以看出16*16子塊的效果要更好一些。 由此可見(jiàn),將圖像劃分為更小的數(shù)據(jù)塊進(jìn)展DCT變換和壓縮的效果更好,然而復(fù)雜度上升。 當(dāng)圖像壓縮比增大時(shí),也即壓縮效率減小時(shí),圖像的質(zhì)量也將降低,人們可以根據(jù)需要的圖像的質(zhì)量來(lái)規(guī)定壓縮比的大小。 . 優(yōu)選-
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案