JPEG圖像壓縮實(shí)驗(yàn)_第1頁
JPEG圖像壓縮實(shí)驗(yàn)_第2頁
JPEG圖像壓縮實(shí)驗(yàn)_第3頁
JPEG圖像壓縮實(shí)驗(yàn)_第4頁
JPEG圖像壓縮實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

JPEG靜態(tài)圖像壓縮實(shí)驗(yàn)指導(dǎo)書實(shí)驗(yàn)?zāi)康牧私舛嗝襟w通信中圖像壓縮技術(shù)熟悉JPEG圖像壓縮編碼過程掌握二維DCT變換算法實(shí)驗(yàn)原理JPEG(JointPhotographicExpertsGroup)是一個由ISO和ITU-T兩個組織機(jī)構(gòu)聯(lián)合組成的一個圖像專家小組,負(fù)責(zé)制定靜態(tài)的數(shù)字圖像數(shù)據(jù)壓縮編碼標(biāo)準(zhǔn),這個專家組開發(fā)的算法稱為JPEG算法,并且成為國際上通用的標(biāo)準(zhǔn)。JPEG是一個適用范圍很廣的靜態(tài)圖像數(shù)據(jù)壓縮標(biāo)準(zhǔn),既可用于灰度圖像又可用于彩色圖像。JPEG不僅適于靜止圖像的壓縮,電視圖像的幀內(nèi)圖像的壓縮編碼,也常采用此算法。JPEG標(biāo)準(zhǔn)定義了多種工作模式,其中最基本的是基于8×8塊的DCT順序編碼,將一幀圖像分為8×8的塊,然后按照從左至右、自上而下的順序,對塊進(jìn)行DCT、量化和熵編碼。其編、解碼框圖如下:FDCTFDCT熵編碼器量化表熵編碼表壓縮圖像數(shù)據(jù)源圖像數(shù)據(jù)基于DCT的編碼器圖像子塊量化器圖1基于DCT的順序編碼框圖DCTDCT解碼器IDCT逆量化器熵解碼器量化表熵編碼表壓縮圖像數(shù)據(jù)重構(gòu)圖像數(shù)據(jù)圖2基于DCT的順序解壓縮框圖JPEG壓縮編碼算法的主要計算步驟:正向離散余弦變換(FDCT)。量化(quantization)。Z字形編碼(zigzagscan)。使用差分脈沖編碼調(diào)制(differentialpulsecodemodulation,DPCM)對直流系數(shù)(DC)進(jìn)行編碼。使用行程長度編碼(run-lengthencoding,RLE)對交流系數(shù)(AC)進(jìn)行編碼。熵編碼(entropycoding)。實(shí)驗(yàn)內(nèi)容按照上述壓縮過程實(shí)現(xiàn)一幅圖像的壓縮,生成符合JPEG標(biāo)準(zhǔn)的圖像文件JPEG圖像編碼流程如下:輸入原圖像輸入原圖像8×8二維FDCT變換量化DC系數(shù)差分編碼AC系數(shù)游程編碼熵編碼生成JPEG壓縮文件文件保存輸入原圖像8×8二維IDCT變換逆量化DC系數(shù)解碼AC系數(shù)解碼碼熵解碼讀取JEPG文件JIEPEIGJPEGWENJIAN表說明量化表圖3JPEG圖像編碼流程DCT變換對8×8的圖像數(shù)據(jù)塊進(jìn)行二維DCT的變換,把能量集中在少數(shù)幾個系數(shù)上,從而達(dá)到數(shù)據(jù)壓縮的目的。:DCT變換公式:DCT反變換公式:其中:二維DCT變換可以分解為行和列的一維DCT變換的組合運(yùn)算,也可將8×8的塊分為更小的子塊,直接對二維數(shù)據(jù)進(jìn)行2維快速余弦變換。量化量化表達(dá)式為:其中T(u,v)是推薦的量化矩陣,詳見附錄1量化矩陣表熵編碼JPEG標(biāo)準(zhǔn)中熵編碼對直流DC系數(shù)和交流AC系數(shù)分別采用不同的壓縮編碼算法DC系數(shù)編碼:JEPG把所有子塊的DC系數(shù)集合在一起,采用差分編碼的方法表示。編碼步驟為:將初始值設(shè)為128,對相鄰塊的DC系數(shù)F(0,0)進(jìn)行差分運(yùn)算將差分值改寫為[size,value](尺寸,幅值)的符號對。尺寸取2的對數(shù)加1按照表2、3對該符號對進(jìn)行編碼AC系數(shù)編碼AC系數(shù)編碼步驟為:以塊為單位,從AC01開始對塊內(nèi)的量化數(shù)據(jù)進(jìn)行Z形行程掃描,記錄兩個非零值的大小和其間連續(xù)零的個數(shù)將掃描結(jié)果改寫為[RunLength,level](行程、幅度)的符號對,其中RunLength代表該非零值和它前一個值之間0的個數(shù),以(EOB)表示塊結(jié)束。按照表3對上述的符號對進(jìn)行編碼。若符號在表中查不到對應(yīng)碼字,用ESC碼表示,然后按表4,5對RunLength和level進(jìn)行編碼。對編碼后的圖像數(shù)據(jù)進(jìn)行解碼,與原始圖像數(shù)據(jù)進(jìn)行比較。實(shí)驗(yàn)要求根據(jù)實(shí)驗(yàn)內(nèi)容要求編寫編解碼程序,所用編程語言自選。可以參考實(shí)驗(yàn)室提供的范例程序,并充分發(fā)揮你的創(chuàng)造性,寫出有自己特色的程序。生成JPEG格式的壓縮文件,可用第三方軟件打開,由指導(dǎo)教師驗(yàn)證通過實(shí)驗(yàn)完成后提交完整源程序,并在關(guān)鍵處加上詳細(xì)批注。撰寫實(shí)驗(yàn)報告,實(shí)驗(yàn)報告要求詳細(xì)介紹你實(shí)現(xiàn)的功能,設(shè)計思想,并根據(jù)思考題進(jìn)行分析。樣本程序說明實(shí)驗(yàn)室提供一個BC編寫的樣本程序,供大家參考。見“JPEG實(shí)驗(yàn)”文件夾,各文件功能說明如下:JPEG壓縮程序:gendat.exe為壓縮后的數(shù)據(jù)加上JPEG文件頭的程序genjpg.exe解JEPG壓縮程序extrdat.exe其中:(1)的輸入?yún)⒘渴切枰傻膲嚎s文件的名字。主程序流程為:程序初始化,讀取文件名稱、原始圖像數(shù)據(jù)等基本數(shù)據(jù);從AC.TAB和DC.TAB兩個文件生成AC表和DC表,存入數(shù)組以8×8為樣本單位進(jìn)行DCT變換以8×8為樣本單位進(jìn)行量化以8×8為樣本單位進(jìn)行Z形掃描以8×8為樣本單位進(jìn)行熵編碼以8×8為樣本單位進(jìn)行解量化以8×8為樣本單位進(jìn)行IDCT變換請大家在參考上述程序的基礎(chǔ)上,編寫自己的JPEG壓縮程序,利用(2)、(3)程序檢查自己的程序是否正確。思考題計算圖像的壓縮比,并比較原圖像的效果DCT變換、量化后,數(shù)據(jù)的范圍是多少?有沒有可能超出碼表所給出的幅值范圍。附錄:JPEG圖像壓縮方法相關(guān)數(shù)據(jù)表1:量化矩陣T(U,V)亮度量化矩陣T(u,v)1611101624405161121214192658605514131624405769561417222951878062182237566810910377243555648110411392496478871031211201017292959811210010399色差量化矩陣T(u,v)17182447999999991821266699999999242656999999999947669999999999999999999999999999999999999999999999999999999999999999999999999999表2:DC系數(shù)碼表SizeCode0100100201310141105111061111,071111,1081111,110表3:DC系數(shù)碼表ValueCode128~2551000,0000~1111,111164~1271000,000~1111,11132~631000,00~1111,1116~311000,0~1111,18~151000~11114~7100~1112~310~11110—-10-2~-301~00-4~-7011~000-8~-150111~0000-16~-3101111~00000-32~-63011111~000000-64~-1270111111~0000000-128~-25501111111~00000000表4:RunlengthLevelCode0111S20100S30010,1S40000,110S50010,0110S60010,0001S70000,0010,10S80000,0001,1110S90000,0001,1000S100000,0001,0011S110000,0001,0000S120000,0000,1110S130000,0000,1100,1S140000,0000,1100,0S150000,0000,1011,1S160000,0000,0111,11S170000,0000,0111,01S180000,0000,0111,00S190000,0000,0110,11S200000,0000,0110,10S210000,0000,0110,01S220000,0000,0110,00S230000,0000,0101,11S240000,0000,0101,10S250000,0000,0101,01S260000,0000,0101,00S270000,0000,0100,11S280000,0000,0100,10S290000,0000,0100,01S300000,0000,0100,00S310000,0000,0011,000S320000,0000,0010,111S330000,0000,0010,110S340000,0000,0010,101S350000,0000,0010,100S360000,0000,0010,010S370000,0000,0010,010S380000,0000,0010,001S390000,0000,0010,000S11011S20001,10S30010,1010S40000,0011,00S50000,0001,1011S60000,0000,1011,0S70000,0000,1010,1S80000,0000,0011,111S90000,0000,0011,110S100000,0000,0011,101S110000,0000,0011,100S120000,0000,0011,011S130000,0000,0011,010S140000,0000,0011,001S150000,0000,0001,0011S160000,0000,0001,0010S170000,0000,0001,0001S180000,0000,0001,0000S210101S20000,100S30000,0010,11S40000,0001,0100S50000,0000,1010,0S310011,1S20010,0100S30000,0001,1100S40000,0000,1001,1S410011,0S20000,0011,11S30000,0001,0010S510001,11S20000,0010,01S30000,0000,1001,0S610001,01S20000,0001,1110S30000,0000,0001,0100S710001,00S20000,0001,0101S810000,111S20000,0001,0001S910000,110S20000,0000,1000,1S1010010,0111S20000,0000,1000,0S1110010,0011S20000,0000,0001,1010S1210010,0010S20000,0000,0001,1001S1310010,0000S20000,0000,0001,1000S1410000,0011,10S20000,0000,0001,0110S1510000,0011,01S20000,0000,0001,0110S1610000,0010,00S20000,0000,0001,0101S1710000,0001,1111S1810000,0001,1010S1910000,0001,1001S2010000,0001,0111S2110000,0001,0110S2210000,0000,1111,1S2310000,0000,1111,0S2410000,0000,1110,1S2510000,0000,1110,0S2610000,0000,1101,1S2710000,0000,0001,1111S2810000,0000,0001,1110S2910000,0000,0001,1101S3010000,0000,0001,1100S3110000,0000,0001,1011SEOB10esc0000,10注:S表示,當(dāng)Level為正值時S=0,Level為負(fù)值時S=1。表5:esc標(biāo)識下的Runlength碼表RunlengthCode00000,0010000,0120000,10631111,11表6:esc標(biāo)識下的Level碼表LevelCode-2551000,0000,00000000,00000000,10000000,10000001-1261000,0010-21111,1110

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論