淺談JPEG圖像壓縮演算法_第1頁
淺談JPEG圖像壓縮演算法_第2頁
淺談JPEG圖像壓縮演算法_第3頁
淺談JPEG圖像壓縮演算法_第4頁
淺談JPEG圖像壓縮演算法_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、淺談JPEG圖像壓縮演算法餘科亮 本文僅討論靜止圖像的壓縮基本演算法,圖像壓縮的目的在於以較少的資料來表示圖像以節(jié)約存儲(chǔ)費(fèi)用,或者傳輸時(shí)間和費(fèi)用。 JPEG壓縮演算法可以用失真的壓縮方式來處理圖像,但失真的程度卻是肉眼所無法辯認(rèn)的。這也就是爲(wèi)什麼JPEG會(huì)有如此滿意的壓縮比例的原因。 下面主要討論,JPEG基本壓縮法。 一.JPEG壓縮過程 JPEG壓縮分四個(gè)步驟實(shí)現(xiàn): 1.顔色模式轉(zhuǎn)換及採樣; 2.DCT變換; 3.量化; 4.編碼。二.1顔色模式轉(zhuǎn)換及採樣 RGB色彩系統(tǒng)是我們最常用的表示顔色的方式。JPEG採用的是YCbCr色彩系統(tǒng)。想要用JPEG基本壓縮法處理全彩色圖像,得先把RGB顔

2、色模式圖像資料,轉(zhuǎn)換爲(wèi)YCbCr顔色模式的資料。Y代表亮度,Cb和Cr則代表色度、飽和度。通過下列計(jì)算公式可完成資料轉(zhuǎn)換。 Y=0.2990R+0.5870G+0.1140B Cb=-0.1687R-0.3313G+0.5000B+128 Cr=0.5000R-0.4187G-0.0813B128 人類的眼晴對(duì)低頻的資料比對(duì)高頻的資料具有更高的敏感度,事實(shí)上,人類的眼睛對(duì)亮度的改變也比對(duì)色彩的改變要敏感得多,也就是說Y成份的資料是比較重要的。既然Cb成份和Cr成份的資料比較相對(duì)不重要,就可以只取部分資料來處理。以增加壓縮的比例。JPEG通常有兩種採樣方式:YUV411和YUV422,它們所代表

3、的意義是Y、Cb和Cr三個(gè)成份的資料取樣比例。 2.DCT變換 DCT變換的全稱是離散余弦變換(Discrete Cosine Transform),是指將一組光強(qiáng)資料轉(zhuǎn)換成頻率資料,以便得知強(qiáng)度變化的情形。若對(duì)高頻的資料做些修飾,再轉(zhuǎn)回原來形式的資料時(shí),顯然與原始資料有些差異,但是人類的眼睛卻是不容易辨認(rèn)出來。 壓縮時(shí),將原始圖像資料分成8*8資料單元矩陣,例如亮度值的第一個(gè)矩陣內(nèi)容如下: JPEG將整個(gè)亮度矩陣與色度Cb矩陣,飽和度Cr矩陣,視爲(wèi)一個(gè)基本單元稱作MCU。每個(gè)MCU所包含的矩陣數(shù)量不得超過10個(gè)。例如,行和列採樣的比例皆爲(wèi)4:2:2,則每個(gè)MCU將包含四個(gè)亮度矩陣,一個(gè)色度矩

4、陣及一個(gè)飽和度矩陣。 當(dāng)圖像資料分成一個(gè)8*8矩陣後,還必須將每個(gè)數(shù)值減去128,然後一一代入DCT變換公式中,即可達(dá)到DCT變換的目的。圖像資料值必須減去128,是因爲(wèi)DCT轉(zhuǎn)換公式所接受的數(shù)位範(fàn)圍是在-128到+127之間。 DCT變換公式:x,y代表圖像資料矩陣內(nèi)某個(gè)數(shù)值的座標(biāo)位置f(x,y)代表圖像資料矩陣內(nèi)的數(shù)個(gè)數(shù)值u,v代表DCT變換後矩陣內(nèi)某個(gè)數(shù)值的座標(biāo)位置F(u,v)代表DCT變換後矩陣內(nèi)的某個(gè)數(shù)值 u=0 且 v=0 c(u)c(v)=1/1.414 u>0 或 v>0 c(u)c(v)=1 經(jīng)過DCT變換後的矩陣資料自然數(shù)爲(wèi)頻率係數(shù),這些係數(shù)以F(0,0)的值最

5、大,稱爲(wèi)DC,其餘的63個(gè)頻率係數(shù)則多半是一些接近於0的正負(fù)浮點(diǎn)數(shù),一概稱之爲(wèi)AC。 3、量化 圖像資料轉(zhuǎn)換爲(wèi)頻率係數(shù)後,還得接受一項(xiàng)量化程式,才能進(jìn)入編碼階段。量化階段需要兩個(gè)8*8矩陣資料,一個(gè)是專門處理亮度的頻率係數(shù),另一個(gè)則是針對(duì)色度的頻率係數(shù),將頻率係數(shù)除以量化矩陣的值,取得與商數(shù)最近的整數(shù),即完成量化。 當(dāng)頻率係數(shù)經(jīng)過量化後,將頻率係數(shù)由浮點(diǎn)數(shù)轉(zhuǎn)變爲(wèi)整數(shù),這才便於執(zhí)行最後的編碼。不過,經(jīng)過量化階段後,所有資料只保留整數(shù)近似值,也就再度損失了一些資料內(nèi)容,JPEG提供的量化表如下:4、編碼 Huffman編碼無專利權(quán)問題,成爲(wèi)JPEG最常用的編碼方式,Huffman編碼通常是以完整的

6、MCU來進(jìn)行的。 編碼時(shí),每個(gè)矩陣資料的DC值與63個(gè)AC值,將分別使用不同的Huffman編碼表,而亮度與色度也需要不同的Huffman編碼表,所以一共需要四個(gè)編碼表,才能順利地完成JPEG編碼工作。 DC編碼 DC是彩採用差值脈衝編碼調(diào)製的差值編碼法,也就是在同一個(gè)圖像分量中取得每個(gè)DC值與前一個(gè)DC值的差值來編碼。DC採用差值脈衝編碼的主要原因是由於在連續(xù)色調(diào)的圖像中,其差值多半比原值小,對(duì)差值進(jìn)行編碼所需的位元數(shù),會(huì)比對(duì)原值進(jìn)行編碼所需的位元數(shù)少許多。例如差值爲(wèi)5,它的二進(jìn)位表示值爲(wèi)101,如果差值爲(wèi)-5,則先改爲(wèi)正整數(shù)5,再將其二進(jìn)位轉(zhuǎn)換成1的補(bǔ)數(shù)即可。所謂1的補(bǔ)數(shù),就是將每個(gè)Bit

7、若值爲(wèi)0,便改成1;Bit爲(wèi)1,則變成0。差值5應(yīng)保留的位數(shù)爲(wèi)3,下表即列出差值所應(yīng)保留的Bit數(shù)與差值內(nèi)容的對(duì)照。 在差值前端另外加入一些差值的霍夫曼碼值,例如亮度差值爲(wèi)5(101)的位數(shù)爲(wèi)3,則霍夫曼碼值應(yīng)該是100,兩者連接在一起即爲(wèi)100101。下列兩份表格分別是亮度和色度DC差值的編碼表。根據(jù)這兩份表格內(nèi)容,即可爲(wèi)DC差值加上霍夫曼碼值,完成DC的編碼工作。 AC編碼 AC編碼方式與DC略有不同,在AC編碼之前,首先得將63個(gè)AC值按Zig-zag排序,即按照下圖箭頭所指示的順序串聯(lián)起來。 63個(gè)AC值排列好的,將AC係數(shù)轉(zhuǎn)換成中間符號(hào),中間符號(hào)表示爲(wèi)RRRR/SSSS,RRRR是指

8、第非零的AC之前,其值爲(wèi)0的AC個(gè)數(shù),SSSS是指AC值所需的位數(shù),AC系數(shù)的範(fàn)圍與SSSS的對(duì)應(yīng)關(guān)係與DC差值Bits數(shù)與差值內(nèi)容對(duì)照表相似。 如果連續(xù)爲(wèi)0的AC個(gè)數(shù)大於15,則用15/0來表示連續(xù)的16個(gè)0,15/0稱爲(wèi)ZRL(Zero Rum Length),而(0/0)稱爲(wèi)EOB(Enel of Block)用來表示其後所剩餘的AC係數(shù)皆等於0,以中間符號(hào)值作爲(wèi)索引值,從相應(yīng)的AC編碼表中找出適當(dāng)?shù)幕舴蚵a值,再與AC值相連即可。 例如某一組亮度的中間符爲(wèi)5/3,AC值爲(wèi)4,首先以5/3爲(wèi)索引值,從亮度AC的Huffman編碼表中找到霍夫曼碼值,於是加上原來100(4)即是用來取5,4的Huffman編碼,5,4表示AC值爲(wèi)4的前面有5個(gè)零。 由於亮度AC,色度AC霍夫曼編碼表比較長,在此省略去,有興趣者可參閱相關(guān)書籍。 實(shí)現(xiàn)上述四個(gè)步

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論