歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

DCT變換原理剖析

  • 資源ID:95886941       資源大?。?span id="bcqrgug" class="font-tahoma">717.50KB        全文頁數(shù):16頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

DCT變換原理剖析

數(shù)字圖像的冗余包括空間冗余、結(jié)構(gòu)冗余、知識冗余和視覺冗余等。 空間冗余是指規(guī)則物體和規(guī)則背景的表面物理特性都具有相關(guān)性,數(shù)字化 后表現(xiàn)為數(shù)字冗余。例如:某圖片的畫面中有一個規(guī)則物體 , 其表面顏色 均勻, 各部分的亮度、飽和度相近 , 把該圖片作數(shù)字化處理 ,生成位圖后 , 很 大數(shù)量的相鄰像素的數(shù)據(jù)是完全一樣或十分接近的 , 完全一樣的數(shù)據(jù)當然 可以壓縮 , 而十分接近的數(shù)據(jù)也可以壓縮 , 因為恢復后人亦分辨不出它與 原圖有什么區(qū)別 , 這種壓縮就是對空間冗余的壓縮。再比如視覺冗余,視 覺系統(tǒng)對于圖像場的注意是非均勻和非線性的,視覺系統(tǒng)不是對圖像的任 何變化都能感知,因此對圖像進行壓縮后人眼也并不會非常敏銳地察覺畫 面內(nèi)容有所刪減。所謂的圖像壓縮 編碼技術(shù) 就 是對要 處理的圖像 數(shù)據(jù)按 一定的規(guī)則 進 行變換和組合 , 從而達到以盡可能少的數(shù)據(jù)流(代碼 ) 來表示盡可能多的數(shù)據(jù)信 息。 在眾 多的 圖像 壓 縮編碼標 準中, JPEG(Joint Photographic Experts Group) 格式是一種稱為聯(lián)合圖像專家組的圖像壓縮格式,它適用 于不同類型、不同分辨率的彩色和黑白靜止圖像。而在JPEG圖像壓縮算法中, 有一種是以離散余弦變換 (DCT, Discrete Cosine Transform) 為基礎的有損壓縮算法,是為本論文的主要研究對象。DCT變換利用傅立葉變換的性質(zhì)。采用圖像邊界褶翻將像變換為偶函 數(shù)形式,然后對圖像進行二維傅立葉變換,變換后僅包含余弦項,所以稱 之為離散余弦變換。DCT編碼屬于正交變換編碼方式,用于去除圖像數(shù)據(jù)的空間冗余。變 換編碼就是將圖像光強矩陣 ( 時域信號 )變換到系數(shù)空間 (頻域信號 )上進 行處理的方法。在空間上具有強相關(guān)的信號,反映在頻域上是在某些特定 的區(qū)域內(nèi)能量常常被集中在一起,或者是系數(shù)矩陣的分布具有某些規(guī)律。 我們可以利用這些規(guī)律在頻域上減少量化比特數(shù),達到壓縮的目的。圖像 經(jīng)DCT變換以后,DCT系數(shù)之間的相關(guān)性就會變小。而且大部分能量集中 在少數(shù)的系數(shù)上,因此,DCT變換在圖像壓縮中非常有用,是有損圖像壓縮國際標準 JPEG的核心。從原理上講可以對整幅圖像進行DCT變換,但由于圖像各部位上細節(jié)的豐富程度不同,這種整體處理的方式效果不好。 為此,發(fā)送者首先將輸入圖像分解為 8*8 或 16*16 塊,然后再對每個圖像 塊進行二維 DCT變換,接著再對 DCT系數(shù)進行量化、編碼和傳輸;接收者通過對量化的 DCT系數(shù)進行解碼,并對每個圖像塊進行的二維DCT反變換。最后將操作完成后所有的塊拼接起來構(gòu)成一幅單一的圖像。對于一般的圖像而言,大多數(shù) DCT系數(shù)值都接近于 0,所以去掉這些系數(shù)不會對重建圖 像的質(zhì)量產(chǎn)生較大影響。因此,利用 DCT進行圖像壓縮確實可以節(jié)約大量 的存儲空間。在實驗中,先將輸入的原始圖像分為8*8 塊,然后再對每個塊進行二維DCT變換。編碼DCT 編碼屬于正交變換編碼。 這類算法通常是將空間域上的圖像經(jīng)過正交變換映射到系數(shù)空間,使變換后的系數(shù)直接相關(guān)性降低。圖像變換本 身并不能壓縮數(shù)據(jù),但變換后圖像大部分能量集中到了少數(shù)幾個變換系數(shù) 上,再采用適當?shù)牧炕挽鼐幋a便可以有效地壓縮圖像。信息論的研究表明,正交變換不改變信源的熵值,變換前后圖像的信息量并無損失,完全可以通過反變換得到原來的圖像值。但圖像經(jīng)過正交變換后,把原來分散在原空間的圖像數(shù)據(jù)在新的坐標空間中得到集中,對 于大多數(shù)圖像而言,大量的變換系數(shù)很小,只要刪除接近于0 的系數(shù),并對較小的系數(shù)進行粗量化,而保留包含圖像主要信息的系數(shù),以此進行壓 縮編碼。在重建圖像進行解碼(逆變換)時,所損失的將是些不重要的信 息,幾乎不會引起圖像失真,圖像的變換編碼就是利用這些來壓縮圖像并 得到很高的壓縮比。由于圖像可看成二維數(shù)據(jù)矩陣,所以在圖像編碼中多采用二維正交變 換方式,然而其正交變換的計算量太大,所以在實用中變換編碼并不是對 整幅圖像進行變換和編碼,而是將圖像分成若干個nxn的子圖像分別處理。這是因為小塊圖像的變換計算比較容易,而且距離較遠的像素之間的 相關(guān)性比距離較近的像素之間的相關(guān)性要小。實踐證明4x 4、8x 8、16x16 適合圖像壓縮,這是因為: 如果子圖像尺寸取得太小,雖然計算速度快,實現(xiàn)簡單,但壓縮能 力有限; 如果子圖像尺寸取得太大,雖然去相關(guān)效果好,因為DCT等正弦類變換均漸近最佳化, 同時也漸近飽和, 猶豫圖像本身的相關(guān)性很小, 反而使得壓縮效果不明顯,并且增加了計算的復雜度。變換系數(shù)的選擇對子圖像經(jīng)過變換后,保留變換后的哪些系數(shù)用作編碼和傳輸將直接 影響信號恢復的質(zhì)量,變換系數(shù)的選擇原則是保留能量集中、方差大的系 數(shù)。系數(shù)選擇通常有變換變換區(qū)域編碼和變換閾值編碼兩種方法。1)變換區(qū)域編碼變換區(qū)域編 碼是對設 定形狀的 區(qū)域內(nèi)的 變換系數(shù)進 行量化 編碼區(qū)域 外的系數(shù)被舍去。一般來說,變換后的系數(shù)值較大的會集中在區(qū)域的左上 部,即低頻分量都集中在左上部。保留的也是這一部分。其他部分的系數(shù) 被舍去,在恢復信號時對它們補0。這樣以來,由于保留了大部分圖像信號能量,在恢復信號后,其質(zhì)量不會產(chǎn)生顯著變化。變換區(qū)域編碼的明顯 缺陷是高頻分量完全丟失。反應在恢復圖像上將是輪廓及細節(jié)模糊。為克 服這一缺陷,可預先設定幾個區(qū)域,根據(jù)實際系數(shù)分布自動選取能力最大 的區(qū)域。2)變換閾值編碼變換閾值編碼是根據(jù)實際情況設定某一大小幅度的閾值,若變換系數(shù) 超過該閾值,則保留這些系數(shù)進行編碼傳輸,其余補0.這樣,多數(shù)低頻成分被編碼輸出,而且少數(shù)超過閾值的高頻成分也將被保留下來進行編碼輸 出。這在一定程度上彌補了區(qū)域變換法的不足。但也有兩個問題需要解決:一是被保留下來的系數(shù)在矩陣中的位置不是不確定的,因此需增加地質(zhì)編 碼比特數(shù),其碼率相對要高一些;二是閾值需要通過實驗來確定,當然也 可以根據(jù)總比特數(shù)進行自適應閾值選擇,但需要一定技術(shù),將增加編碼的 復雜程度?;贒CT編碼的JPEGS碼壓縮基于DCT編碼的JPEG編碼壓縮過程框圖,如圖2-1所示圖2-1 基于DCT編碼的JPEG壓縮過程簡化圖上圖是基于 DCT變換的圖像壓縮編碼的壓縮過程,解壓縮與上圖的 過程相反。在編碼過程中,首先將輸入圖像分解為8X8大小的數(shù)據(jù)塊,然后用正向二維DCT把每個塊轉(zhuǎn)變成 64個DCT系數(shù)值,其中左上角第一個數(shù)值 是直流(DC)系數(shù),即8X 8空域圖像子塊的平均值,其余的63個是交流(AC)系數(shù),接下來對 DCT系數(shù)進行量化,最后將變換得到的量化的DCT系數(shù)進行編碼和傳送,這樣就完成了圖像的壓縮過程。在解碼過程中,形成壓縮后的圖像格式,先對已編碼的量子化的DCT系數(shù)進行解碼,然后求逆量化并把 DCT系數(shù)轉(zhuǎn)化為8 X 8樣本像塊(使用二 維DCT反變換),最后將操作完成后的塊組合成一個單一的圖像。這樣就 完成了圖像的解壓過程。1.2 二維離散余弦變換圖像數(shù)據(jù)壓縮的目的是在滿足一定圖像質(zhì)量的條件下,用盡可能少的比特數(shù)來表示原始圖像,以提高圖像傳輸?shù)男屎蜏p少圖像存儲的容量, 在信息論中稱為信源編碼。圖像壓縮是通過刪除圖像數(shù)據(jù)中冗余的或者不 必要的部分來減小圖像數(shù)據(jù)量的技術(shù),壓縮過程就是編碼過程,解壓縮過 程就是解碼過程。假設有一個無記憶的信源,它產(chǎn)生的消息為 £ ?, 1乞i乞N ,其出現(xiàn)的概率是已知的,記為P ai o則其信息量定義為:I q i=-log2 P ai(2-1)由此可見一個消息出現(xiàn)的可能性越小,其信息量就越多,其出現(xiàn)對信 息的貢獻量越大,反之亦然。信源的平均信息量稱為“熵”entropy,可以表示為:NNH 八 P a: I P 可 小 P ai logP ai(2-2)i 4i -4對上式取以2為底的對數(shù)時,單位為比特( bits ):NH - 八 P ai log2 P ai(2-3)i -4在圖像壓縮中,壓縮比是一個重要的衡量指標??梢远x壓縮比為:C=原始數(shù)據(jù)的平均比特率(B) /壓縮數(shù)據(jù)的平均比特率(H)DCT變換后系數(shù)的量化是引起失真的主要原因,壓縮效果與圖像內(nèi)容本身有較大的關(guān)系在傅里葉級數(shù)展開式中,如果被展開的函數(shù)是實偶函數(shù),那么,其傅 里葉技術(shù)中只包含余弦項,在將其離散化由此可導出余弦變換,或稱之為 離散余弦變換(DCT, Discrete Cosine Transform)。2 nn(2x+1)f2y + 1、F(u,v )=c(u C(v )書瓦 Z f(x,y)cos-u 兀cos -v 兀(2-4)N xmvi 2N丿I 2N丿u =0, v =0其它式中,x,y,u,v=0N_1。c(u12i1二維離散余弦逆變換公式為f x,y =2 N A、N u z0Nc u c v F u,v cosv z0廣 2x+1i 2Nu二 cos2y S二丿I 2N 丿(2-5)式中,x, y,u,v =0,1, N -1丄c(u)二 c(v) =2i1u = 0,v = 0其它JPEG采用的是8X 8大小的子塊的二維離散余弦變換。在編碼器的輸 入端,把原始圖像順序地分割成一系列8X8的子塊,子塊的數(shù)值在到127之間。采用余弦變換獲得變換公式,如式(2-6)所示。1 7 F u,v c u c v '464個變換系數(shù)。x =07 _二f x,y cos -V 16y=02xcosv二丿I 16 丿-128(2-6)式中,x, y,u,v =0,1,7。c(u) = c(v)=丿 72i 1u =0,v =0其它在MATLAB仿真實現(xiàn)中,主要是采用二維 DCT變換的矩陣式定義來實現(xiàn)的,矩陣式定義可以表示為:F (u , v) I -丨 A 丨丨 F (u, v) I 丨 A I, f (x, y)丨-丨 A 丨丨 f ( x, y)丨丨 A 丨(2-7 ) 其中f(x, y)是空間數(shù)據(jù)陣列,F(xiàn)(u,v)是變換系數(shù)陣列,I.A 1是變換矩陣 I.A T是I.A 的轉(zhuǎn)置。The basis functions of the DCT of 64X64 an Image系數(shù)的量化量化是對經(jīng)過 DCT變換后的頻率系數(shù)進行量化,其目的是減小非 “ 0”系數(shù)的幅度以及增加“0”值系數(shù)的數(shù)目,它是圖像質(zhì)量下降的最主要原因。量化過程定義了一種從實數(shù)到整數(shù)映射的方法,它是通過降低DCT變換產(chǎn)生的數(shù)值結(jié)果的精確度,來減少存儲變換后的系數(shù)需要的比特數(shù)。定義量化公式為:K(u, v)=int F(u, V)(2-8)2(u,v)丿其中,F(xiàn)(u,v)為量化前的 DCT系數(shù),K(u,v)為量化后的 DCT系數(shù), 而Q(u,v)為量化步長,int表示取整。對于基于DCT的JPEG圖像壓縮編碼算法,量化步距是按照系數(shù)所在 的位置和每種顏色分量的色調(diào)值來確定。因為人眼對亮度信號比對色差信 號更敏感,因此使用了表2-1所示的量化表。此外,由于人眼對低頻分量 的圖像比對高頻分量的圖像更敏感,因此表中的左上角的量化步距要比右 下角的量化步距小。亮度和色度因為代表的圖像的信息量不同,亮度代表了圖像的低頻分 量,色度代表了圖像的高頻分量,要分別對亮度和色度進行量化,所以量 化表也是不同的。量化就是用 DCT變換后的系數(shù)除以量化表中想對應的量化階后四舍 五入取整。由于量化表中,左上角的數(shù)值比較小,而右下角的數(shù)值比較大,因而能夠起到保持低頻分量,抑制高頻分量的作用。JPEG壓縮色度和亮度量化表如表2-1所示。表2-1 JPEG壓縮色度和亮度量化表亮度量化表色度量化表161110162440516117182447999999991212141926586055182126669999999914131624405769562426569999999999141722295187806247669999999999991822375668109103779999999999999999243555648110411392999999999999999949647887103121120101999999999999999979929598112100103999999999999999999量化會產(chǎn)生誤差,上圖是綜合大量的圖像測試的實驗結(jié)果,對于大部 分圖像都有很好的結(jié)果。表中可以看出,高頻部分對應的量化值大,目的 就是將高頻部分編程接近于0,以便以后處理。JPEG可以在壓縮比和圖像質(zhì)量間作取舍。方法就是改變量化值。如果量化值放大一倍,則有更多的 系數(shù)量化為0,提高了壓縮比。在本課題研究中,用于 DCT變換的圖像為灰度圖像,故只考慮亮度即 可。量化系數(shù)的編排經(jīng)過DCT變換后,低頻分量集中在左上角,其中F(0 , 0)(即第一行第一列元素)代表了直流(DC)系數(shù),即8X 8子塊的平均值,要對它單獨編碼。 由于兩個相鄰的 8X8子塊的DC系數(shù)相差很小,所以對它們采用差分編碼 DPC M可以提高壓縮比,也就是說對相鄰的子塊DC系數(shù)的差值進行編碼。8X 8的其它63個元素是交流(AC)系數(shù),采用行程編碼。所以量化后的系數(shù)要重新編排,目的是為了增加連續(xù)的“0”系數(shù)的個數(shù),就是“ 0”的游程長度,方法是按照Z字形的式樣編排。DCT變換后低頻分量多呈圓形輻射狀向高頻率衰減,因此可以看成按Z字形衰減。因此,量化系數(shù)按Z字形掃描讀數(shù),這樣就把一個8X 8的矩陣變成一個1 X 64的矢量,頻率較低的系數(shù)放在矢量的頂部。量化后的DCT系數(shù)的編排如圖 2-2所示。蘭值AC系數(shù)開始圖2-2量化DCT系數(shù)的編排量化后的DCT系數(shù)的序號如表2-2所示。表2-2 量化DCT系數(shù)的序號01561415272824713162629423812172530414391118243140445310192332394552542022333846515560213437475056596135364849575862631.3 2D-DCT 與 2D-FFT 的比較這兩種運算體現(xiàn)在程序中,分別調(diào)用了 1D-FFT和1D-DCT變換,而1D-DCT又是以1D-FFT為核心的。設計的程序是以頻率抽取的基2FFT算法為基本理論的,因此蝶形運算后,需要進行排序,根據(jù)理論推算應該采取倒位序的方法,對于一個N=8的蝶形運算,其結(jié)果下標排列應是:0, 4, 2,6,1,5,3,7。倒位序后回到了自然排列順序 0, 1,2, 3,4, 5,6,7。一維快速傅立葉正反變換 包含于一個核心子程序中,所以在求其反變換時,先將X(K)取共軛變換,在將X(K)的虛部乘以-1 ,然后就可以直接訪問FFT的子程序,最后再對運算結(jié)果取一次共軛變換并乘以常數(shù)1/N即可得到x (n)值。這種IFFT算法可以完全不改動FFT的程序。在進行二維的 FFT變換時,可把二維的FFT變換變成一維后直接調(diào)用FFT子程序。因為,二維離散傅立葉變換(DFT)處理圖像的時間比較長,其處理結(jié)果和FFT處理結(jié)果相同;FFT運算量非常大,實時性差,處理圖像時沒有實用性。傅里葉變換的不足之處在于子圖像的變換系數(shù)在邊界處的不連續(xù)而造 成恢復的子圖像在其邊界也不連續(xù),于是由于各恢復子圖像構(gòu)成的整幅圖 像將呈現(xiàn)隱約可見的子圖像的方塊狀結(jié)構(gòu),影響圖像質(zhì)量。圖2-3 2D-FFT的變換譜圖2-4 2D-DCT的變換譜可以看出,原圖像經(jīng) FFT變換后頻域能的量主要集中在兩條對角線附近;DCT變換后變換域的能量主要集中在低頻分量附近(即左上角)。圖像壓縮中的DCT編碼正是利用DCT變換的這一特性,在對二維圖像進行DCT變換后,只對變換域低頻分量進行編碼,拋棄部分高頻分量,減少攜帶的信息量,從而實現(xiàn)對圖像的有損壓縮編碼DCT 變換與 FFT 變換類似,但 DCT 變換可以使用較少的頻譜系數(shù)來 表示被變換的圖像數(shù)據(jù)。在接收端,用逆變換 IDCT 將這些頻譜系數(shù)恢復 成的圖像數(shù)據(jù),與變換前的數(shù)據(jù)更接近。因此在圖像壓縮算法中常用 DCT 變換。實驗結(jié)果及分析離散余弦變換 DCT的MATLAB實現(xiàn)有兩種方法,一種是基于FFT的快 速算法,這是通過MATLAB工具箱提供的dct2函數(shù)實現(xiàn)的;另一種是DCT變換矩陣方法。變換矩陣方法非常適合做8*8 或16*16的圖像塊的DCT變換,工具箱提供了dctmtx函數(shù)來計算變換矩陣。方法1:該方法出發(fā)點是對整幅圖像進行DCT變換,主要應用MATLAB勺圖像處理工具箱中的基于FFT的有大量輸入的快速算法進行處理的dct2函數(shù):具體程序?qū)崿F(xiàn)如下:A=imread('D:rabitrabit.bmp');l=rgb2gray(A);DCT=dct2(I); %余弦變化DCT(abs(DCT)<10)=0; % 把變換矩陣中小于 10的值置換為0,然后用 idct2重構(gòu)IDCT=idct2(DCT);subplot(2,2,1),imshow(l);title('灰度圖像')subplot(2,2,2),imshow(IDCT,0 255);title('反余弦變換恢復圖')subplot(2,2,3),imshow(DCT);title('DCT變換')subplot(2,2,4),imshow(log(abs(DCT),);title('余弦變換系數(shù)');figure,mesh(DCT);title('變換譜三維彩色圖')灰度團像(c)(d)變換i普三維彩魚團80006XoJ-"4000-'2000 L-2000(e)圖4-1 DCT變換從(b)圖,“反余弦變換恢復圖”中,可以看出,該方法偏重圖像的視 覺效果,按照這種方法重構(gòu)的圖像與原圖幾乎沒有差別。從(c)圖,“ DC變換”圖中可以看出,DCT譜集中在左上部,只有左上部分不為零值。通過觀察(e)圖DCT譜的彩色三維圖也可得到這一結(jié)論。需要說明的是,對于本課題選取的這幅圖像而言,其低頻信息比較多, 分布擴散至右下部。因此并未像傳統(tǒng)使用的Lena圖一樣,僅有少部分有效信息集中在左上角。DC變換系數(shù)如下:Array fiditGr - DCT審 xe t. Stack: E:.:j.c田EH曰曰| 口丹K12345678915439.847.6as-2601.547.7061867.7-7E.5711361 9270 44709.512-1520.6-136.23750 S7G7.38154.45-113 82330.51139 73133.3n3-1790.9276 J1377 5127564 1492.4263.71657.56-462 58-17S.414467 23163.75-101749.D732034.5163.631260.2I-404 66&40 935-734 OS108.舊B19.79344.711059.5437.05986.4713.916389.08-37.96B6B.1473.627-92B. 17-60.940-442.25274.11衛(wèi) B6.337-236.69440.996.32-581.79673.17525.37-9&3. IS-623.77-326.32-647.44-330.92577.B2363.46-9B9.71-112.35453.54-157.4951.587g528.52-154.32-370 4'413.960-318.B28.255406.7312.&31w343.6314779-370.43-304.51-437.2927 263E31.4742.753128.%11316 83250.7393.873-280.53-108.64113 99232718.317-119.6812-2U75泉開.92-52.072107 54013B1E100,54-233 7714.0141327日 7576 27681S1350.434406.4-25 亦392 259d47 07014256 S9134.12760.76(66.9940Q.54-3U.0361 Q0835D 72-1B6.5715296.9911&35.247.97-159.57211.9494.339-125.21134,03166.44IB7.0959.098144.95210.1136.167229.4102.05-277.2463.32417-175.9424.596351.IB39.4742.55934.35B1.696-157.0101S-431.95-21712373.98317 8G-223 91-240.34125.511B7.18-340.0619-9774690.77S250.66-20.383鈕血-112.5159.53618S.7829.27520-528 4263.947565.58-263.09-476.753C0.381S9.241M.3-120.12-21103 6543.85S19.523-32.51271 319-14.966-74.930-39.29222214 74-143.23-2S6 96266.010499 68-10 5825S.5S7154.07A I±1| OCT> I > A x IDCT >方法2:該方法的出發(fā)點是先將圖像分解為8*8或16*16個數(shù)據(jù)塊,然后分別對分解后的每個數(shù)據(jù)小方塊進行DC變換,主要應用 MATLA的圖像處理工具箱中dctmtx函數(shù)返回DC變換矩陣,而后進行相關(guān)處理。樣本程序?qū)崿F(xiàn)如 下:A=imread('D:rabitrabit.bmp');l=rgb2gray(A);匸im2double(l);%將圖像轉(zhuǎn)換為雙精度格式T=dctmtx(8);%返回一個8*8的DCT變換矩陣B=blkproc(l,8 8,'P1*x*P2',T,T');%對原圖像進行DCT 變換mask=1 1 1 1 0 0 0 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 0;%保留了 10個DCT系數(shù)重構(gòu)圖像B2=blkproc(B,8 8,'P1.*x',mask);%數(shù)據(jù)壓縮,丟棄右下角高頻數(shù)據(jù)l2=blkproc(B2,8 8,'P1*x*P2',T',T);泌行DCT反變換,得到壓縮后的圖像subplot(1,2,1),imshow(l)title('原始圖像')subplot(1,2,2),imshow(l2)title('壓縮圖像1')disp('壓縮后圖像I2的大小);whos('I2'); disp('壓縮前圖像 A的大小);whos('A');disp('壓縮后圖像I的大小);whos(T);(a)(b)壓縮團像2(c)壓縮團像d(d)(e)(f)圖4-3 基于DCT的圖像壓縮對于(b)圖“壓縮圖像 1”,仿真中僅保留了3個DCT系數(shù),約占5%從結(jié)果來看,圖像壓縮的效果出現(xiàn)了“塊”失真。并且隨著量化系數(shù) 的進一步減少,失真情況會越來越嚴重,這說明圖像信息丟失嚴重。對于(c)圖“壓縮圖像2”,仿真中保留了 10個DCT系數(shù),占15%,比 較原圖和重構(gòu)圖像,可以發(fā)現(xiàn):在拋棄85%的系數(shù)后,重構(gòu)圖像基本上恢復了原圖像的信息,可以比較清楚地辨清亮度上的差異,大部分的信息都 很好的保留下來。然而細節(jié)部分,即邊緣部分,也就是高頻分量所攜帶的 信息,并沒有很好地重現(xiàn)出來。因為我們把高頻分量通過mask表中的0值控制全部舍棄了。而且從方法1中的“ DCT變換” 一圖中,我們可以清楚地看到,對于本圖來說,非0值并非很好地集中在左上部很小的部分,而是分布在幾乎85%的區(qū)域。因此,當我們只取了左上部15%的DCT系數(shù)時,當然不能很好地恢復剩余大部分的細節(jié)。當然,在采用這種方法來實現(xiàn)壓縮 算法時,可以通過修改 mask變量中的DCT系數(shù)來更好地比較仿真結(jié)果。在(d)圖“壓縮圖像3 ”中,則是對半取舍 DCT系數(shù)。較之(c)圖的 效果又有了明顯的進步,邊緣細節(jié)信息已經(jīng)得到了很好的保留和重現(xiàn)。在(e)圖“壓縮圖像 4”中,便是把 mask中的DC係數(shù)取85%地進行了 保留,而只舍去了 10個右下角的DCTS數(shù)。可以看出,該圖中的細節(jié)信息 較之(d)圖又有了更好的體現(xiàn),邊緣等部分輪廓比較清晰,與之前的壓 縮圖像進行對比,圖像的恢復重現(xiàn)效果明顯好了很多。而在(f)圖“壓縮圖像5”中,則是把“壓縮圖像 1”中的DCT系數(shù)的 取舍完全顛倒過來,即,“壓縮圖像 2”中,左上部分取1的系數(shù)變?yōu)槿?, 同時右下部分取為 0的DCT系數(shù)則變?yōu)槿?保留。從低頻和高頻的角度來說,即是將承載了灰度圖像很大部分重要亮度信息的低頻部分舍棄,而僅僅將 右下角的承載邊緣細節(jié)信息的高頻部分予以保留。效果如“壓縮圖像5 ”所示,我們可以明顯看到僅僅有圖像的邊緣信息顯示,而原始圖像最重要 的信息則沒有保留和顯現(xiàn)。而當把圖像分為 16*16數(shù)據(jù)塊進行 DCT變換時,算法的復雜度急劇上 升,但采用較大的子塊可以明顯減少圖像分塊效應。實驗結(jié)果如下:(程序見附錄五)b )圖“壓縮圖像 1”是 16*16 子塊模式中僅保留了 6 個左上角 DCT系數(shù)的效果,可以看出明顯的塊失真效果。(c)圖“壓縮圖像 2”是保留了 10個DCT系數(shù),效果與 8*8子塊模式中保留 3個DCT系數(shù)的效果差不 多,但要稍微好一點。(d) 圖“壓縮圖像 3”中保留了 36個DCT系數(shù),約占14%,此時與 8*8子塊模式中的保留了 15%的DCT系數(shù)的“壓縮圖像 2”效果相近,并 且稍微更清晰一些。(e)圖保留了 3/8的DCT系數(shù),而(f)圖“壓縮圖像5”中保留了 50%的DCT系數(shù),和8*8子塊模式中同樣對半取舍系數(shù)的(d)圖進行對比,可以看出 16*16 子塊的效果要更好一些。由此可見,將圖像劃分為更小的數(shù)據(jù)塊進行DCT變換和壓縮的效果更好,然而復雜度上升。當圖像壓縮比增大時,也即壓縮效率減小時,圖像的質(zhì)量也將降低, 人們可以根據(jù)需要的圖像的質(zhì)量來規(guī)定壓縮比的大小。

注意事項

本文(DCT變換原理剖析)為本站會員(無***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!