多媒體信息處理綜合課程設(shè)計(jì)_第1頁(yè)
多媒體信息處理綜合課程設(shè)計(jì)_第2頁(yè)
多媒體信息處理綜合課程設(shè)計(jì)_第3頁(yè)
多媒體信息處理綜合課程設(shè)計(jì)_第4頁(yè)
多媒體信息處理綜合課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

蘭州交通大學(xué)《多媒體信息處理綜合課程設(shè)計(jì)》JPEG編解碼方法設(shè)計(jì)與實(shí)現(xiàn)學(xué)院專業(yè):班級(jí):姓名:2014年1月TOC\o"1-3"\h\u138171.設(shè)計(jì)目的 3159332.實(shí)驗(yàn)設(shè)備及材料 3167893.設(shè)計(jì)要求 3221004.原理 387544.1JPEG 3115104.2JPEG壓縮中圖像文件的格式 4234264.3JPEG編碼原理 5218954.3.1離散余弦變換 6163584.3.2量化 6315404.3.3行程編碼和熵編碼 738405.程序設(shè)計(jì) 991276.實(shí)驗(yàn)結(jié)果 18209897.總結(jié) 20設(shè)計(jì)目的1.掌握J(rèn)PEG編解碼的基本原理和方法。2.學(xué)習(xí)使用程序設(shè)計(jì)環(huán)境。3.使用設(shè)計(jì)框架構(gòu)造應(yīng)用程序。4.掌握J(rèn)PEG編碼、解碼實(shí)現(xiàn)。實(shí)驗(yàn)設(shè)備及材料1.PC機(jī)一臺(tái)2.MATLAB設(shè)計(jì)要求拍攝BMP圖像,利用算法程序?qū)z入的圖像進(jìn)行編碼,產(chǎn)生JPEG壓縮圖像,生成解壓縮圖像送顯示設(shè)備顯示,對(duì)視覺(jué)壓縮結(jié)果進(jìn)行評(píng)價(jià)并計(jì)算壓縮比。原理4.1JPEGJPEG(JointPhotographicExpertsGroup)是在國(guó)際標(biāo)準(zhǔn)化組織(ISO)領(lǐng)導(dǎo)之下制定靜態(tài)圖像壓縮標(biāo)準(zhǔn)的委員會(huì),第一套國(guó)際靜態(tài)圖像壓縮標(biāo)準(zhǔn)ISO10918-1(JPEG)就是該委員會(huì)制定的。由于JPEG優(yōu)良的品質(zhì),使他在短短幾年內(nèi)獲得了成功,被廣泛應(yīng)用于互聯(lián)網(wǎng)和數(shù)碼相機(jī)領(lǐng)域,網(wǎng)站上80%的圖像都采用了JPEG壓縮標(biāo)準(zhǔn)。JPEG本身只有描述如何將一個(gè)影像轉(zhuǎn)換為字節(jié)的數(shù)據(jù)串流(streaming),但并沒(méi)有說(shuō)明這些字節(jié)如何在任何特定的儲(chǔ)存媒體上被封存起來(lái)。.jpeg/.jpg是最常用的圖像文件格式,由一個(gè)軟件開發(fā)聯(lián)合會(huì)組織制定,是一種有損壓縮格式,能夠?qū)D像壓縮在很小的儲(chǔ)存空間,圖像中重復(fù)或不重要的資料會(huì)被丟失,因此容易造成圖像數(shù)據(jù)的損傷。尤其是使用過(guò)高的壓縮比例,將使最終解壓縮后恢復(fù)的圖像質(zhì)量明顯降低,如果追求高品質(zhì)圖像,不宜采用過(guò)高壓縮比例。但是JPEG壓縮技術(shù)十分先進(jìn),它用有損壓縮方式去除冗余的圖像數(shù)據(jù),在獲得極高的壓縮率的同時(shí)能展現(xiàn)十分豐富生動(dòng)的圖像,換句話說(shuō),就是可以用最少的磁盤空間得到較好的圖像品質(zhì)。而且JPEG是一種很靈活的格式,具有調(diào)節(jié)圖像質(zhì)量的功能,允許用不同的壓縮比例對(duì)文件進(jìn)行壓縮,支持多種壓縮級(jí)別,壓縮比率通常在10:1到40:1之間,壓縮比越大,品質(zhì)就越低;相反地,品質(zhì)就越高。比如可以把1.37Mb的BMP位圖文件壓縮至20.3KB。當(dāng)然也可以在圖像質(zhì)量和文件尺寸之間找到平衡點(diǎn)。JPEG格式壓縮的主要是高頻信息,對(duì)色彩的信息保留較好,適合應(yīng)用于互聯(lián)網(wǎng),可減少圖像的傳輸時(shí)間,可以支持24bit真彩色,也普遍應(yīng)用于需要連續(xù)色調(diào)的圖像4.2JPEG壓縮中圖像文件的格式由于圖像數(shù)據(jù)文件的格式有很多,如GIF、TIFF、PCX、TGA、BMP、JPEG等。而現(xiàn)在實(shí)現(xiàn)的是BMP和JPEG的相互轉(zhuǎn)換,所以要具體介紹BMP和JPEG文件的格式。BMP圖像采用RGB(RedGreenBlue)色彩模型,將各種顏色視為為紅,綠,藍(lán)(R,G,B)三個(gè)部分的組合。由于一幅圖像中許多像素對(duì)應(yīng)的顏色是相同的,BMP圖像中采用了一個(gè)表:表中的每一行記錄一種顏色的R,G,B值。這樣,當(dāng)表示一個(gè)象素的顏色時(shí),只需要指出該顏色是在第幾行,即該顏色在表中的索引值,這個(gè)表在BMP圖像中稱為調(diào)色板。有一種圖,它的顏色數(shù)高達(dá)256×256×256種,也就是說(shuō)包含上述提到的R,G,B顏色表示方法中所有的顏色,這種圖叫做真彩色圖(TrueColor)。真彩色圖并不是說(shuō)一幅圖包含了所有的顏色,而是說(shuō)它具有顯示所有顏色的能力,即最多可以包含所有的顏色。表示真彩色圖時(shí),每個(gè)象素直接用R,G,B三個(gè)分量字節(jié)表示,而不采用調(diào)色板技術(shù)。4.3JPEG編碼原理

JPEG的壓縮編碼過(guò)程大致分成三個(gè)步驟:1、使用正向離散余弦變換把空間域表示的圖變換成頻率域表示的圖;2、使用加權(quán)函數(shù)對(duì)DCT系數(shù)進(jìn)行量化,這個(gè)加權(quán)函數(shù)對(duì)于人的視覺(jué)系統(tǒng)是最佳的;3、使用霍夫曼可變字長(zhǎng)編碼器對(duì)量化系數(shù)進(jìn)行編碼。下面依次介紹壓縮過(guò)程中應(yīng)用到的技術(shù)。4.3.1離散余弦變換離散余弦變換是壓縮編碼的基礎(chǔ)。在JPEG中,首先將圖像分割成8x8像素的小塊,然后進(jìn)行余弦變換,其變換式為(M=N=8):對(duì)于每個(gè)8×8二維原圖像采樣數(shù)據(jù)塊,64點(diǎn)陣的離散函數(shù)FDCT把它們作為輸入信號(hào),然后分解成64個(gè)正交基信號(hào),每個(gè)正交基信號(hào)對(duì)應(yīng)于64個(gè)二維空間頻率中的一個(gè),這些空間頻率是由輸入信號(hào)的頻譜組成。FDCT的輸出是64個(gè)基信號(hào)的幅值(即DCT系數(shù)),每個(gè)系數(shù)值由64點(diǎn)陣輸入信號(hào)唯一地確定,即離散余弦變換的變換系數(shù)。在頻域平面上變換系數(shù)是二維頻域變量u和v的函數(shù)。因?yàn)樵谝环鶊D像中像素之間的灰度或色差信號(hào)變化緩慢,在8×8子塊中像素之間的相關(guān)性很強(qiáng),所以通過(guò)離散余弦正變換處理后,在空間頻率低頻范圍內(nèi)集中了數(shù)值大的系數(shù),這就為數(shù)據(jù)壓縮提供了可能。4.3.2量化為了達(dá)到壓縮數(shù)據(jù)的目的,對(duì)經(jīng)過(guò)FDCT變換后的頻率系數(shù)進(jìn)行量化處理。量化處理是一個(gè)多到一的映射,它是造成DCT編/解碼信息損失的根源,是圖像質(zhì)量下降的最主要原因。在JPEG標(biāo)準(zhǔn)中采用線性均勻量化器。量化定義為,對(duì)64個(gè)DCT變換系數(shù)除以量化步長(zhǎng),然后四舍五入取整。量化步長(zhǎng)是量化表的元素,量化表元素隨DCT變換系數(shù)的位置而改變。不同頻率的余弦函數(shù)對(duì)視覺(jué)的影響不同,量化處理是在一定的主觀保真度圖像質(zhì)量的前提下,可據(jù)不同頻率的視覺(jué)閾值來(lái)選擇量化表中元素值的大小。4.3.3行程編碼和熵編碼JPEG壓縮的最后一步是對(duì)量化后的系數(shù)進(jìn)行熵編碼。這一步采用通用的無(wú)損數(shù)據(jù)壓縮技術(shù),對(duì)圖像質(zhì)量沒(méi)有影響。在熵編碼之前,需要把64個(gè)DCT系數(shù)轉(zhuǎn)換為一串中間符號(hào)。其中直流系數(shù)和交流系數(shù)的編碼方式不同。坐標(biāo)u=v=0的值是直流分量(即DC系數(shù))。直流系數(shù)表示當(dāng)前分塊中64個(gè)象素的平均值,相鄰分塊的直流系數(shù)具有很強(qiáng)的相關(guān)性,因此在編碼時(shí)只需記錄與前一分塊的直流系數(shù)的差值,即直流系數(shù)的“中間符號(hào)”采用差分脈沖編碼(DPCM),它是64個(gè)圖像的采樣平均值。DC系數(shù)的編碼方法:第1塊圖像的DC系數(shù)是“真值”,以后各塊的DC是與前1塊DC系數(shù)的“差值”:

Diff=DC(i)-DC(i-1)其余63個(gè)AC系數(shù)編碼是從左上方開始,沿箭頭方向,對(duì)63個(gè)交流系數(shù)用“之”字型掃描,讓它變成一維數(shù)組。這樣做的目的是將低頻系數(shù)放在前面,高頻系數(shù)放在后面。因?yàn)楦哳l系數(shù)中有很多0,為了節(jié)約空間,所以交流系數(shù)的“中間符號(hào)”用零行程碼表示。接下來(lái)對(duì)中間符號(hào)進(jìn)行熵編碼,這一步的目的是利用符號(hào)的統(tǒng)計(jì)特性,進(jìn)一步提高壓縮率。JPEG標(biāo)準(zhǔn)規(guī)定的熵編碼方式有兩種:Huffman編碼和自適應(yīng)二進(jìn)制算術(shù)編碼。這兩種編碼各有優(yōu)劣:“正宗”的Huffman編碼過(guò)程要對(duì)輸入序列進(jìn)行兩遍掃描,第一遍統(tǒng)計(jì)各個(gè)符號(hào)出現(xiàn)的概率,構(gòu)造Huffman樹,得到碼書;第二遍用碼書對(duì)符號(hào)進(jìn)行編碼。這么做的話,時(shí)間空間開銷都較大。兩遍掃描意味著要把整幅圖像的“中間符號(hào)”都記錄下來(lái),不能“隨到隨編”。而且要把碼書傳給解碼器,這會(huì)增加壓縮文件的大小。JPEG的實(shí)際實(shí)現(xiàn)一般支持兩種Huffman方式,一種是前述的“正宗”Huffman編碼(稱為optimized方式),另一種則采用JPEG標(biāo)準(zhǔn)AnnexK中給出的缺省碼書。采用缺省碼書的好處是輸入序列只用掃描一遍,空間和實(shí)際開銷都較??;缺點(diǎn)是,由于碼書不是根據(jù)當(dāng)前圖像的統(tǒng)計(jì)信息得到的,那么壓縮率會(huì)比“正宗”Huffman編碼低一些。不過(guò)由于Huffman編碼對(duì)概率誤差不敏感,因此實(shí)踐中常常采用缺省碼書進(jìn)行編碼。算術(shù)編碼和Huffman編碼都是變長(zhǎng)碼,符號(hào)出現(xiàn)概率越高,碼字越短。不同之處在于,Huffman編碼每個(gè)符號(hào)對(duì)應(yīng)的碼字是確定的,每個(gè)碼字的bit數(shù)為整數(shù)。算術(shù)編碼的基本思想是用一個(gè)精度足夠高的屬于(0,1)的實(shí)數(shù)來(lái)表示整個(gè)輸入序列,輸入序列中每個(gè)符號(hào)對(duì)應(yīng)的碼字是不確定的,總體上每個(gè)符號(hào)對(duì)應(yīng)的碼字長(zhǎng)度等于其信息熵(均以bit計(jì)),碼字平均長(zhǎng)度可能是小數(shù)。算術(shù)編碼的壓縮率通常高于Huffman編碼。算術(shù)編碼的另一個(gè)好處是,它很容易做成自適應(yīng)的,因此只需掃描一遍輸入序列,空間開銷小很多。程序設(shè)計(jì)1、讀入圖像:clearI=imread('1.jpg');%讀入原圖像;R=I(:,:,1);R1=im2double(R);%將原圖像轉(zhuǎn)為雙精度數(shù)據(jù)類型;2、進(jìn)行DCT矩陣變換(重復(fù)三次),并顯示原圖像大小、壓縮圖像大小、壓縮比:T=dctmtx(8);%產(chǎn)生二維DCT變換矩陣L=blkproc(R1,[88],'P1*x*P2',T,T');%計(jì)算二維DCT,矩陣T及其轉(zhuǎn)置T’是DCT函數(shù)P1*x*P2的參數(shù)Mask=[1010000011001000110000000000000000000000000000000000000000000000];%二值掩膜,用來(lái)壓縮DCT系數(shù),只留下DCT系數(shù)中左上角的10個(gè)L2=blkproc(L,[88],'P1.*x',Mask);%只保留DCT變換的10個(gè)系數(shù)[mn]=size(L2);J=[mn];fori=1:mvalue=L2(i,1);num=1;forj=2:nifL2(i,j)==valuenum=num+1;elseJ=[Jnumvalue];num=1;value=L2(i,j);endendJ=[Jnumvalue];enddisp('原圖像大小')whos('L2');disp('壓縮圖像大?。?)whos('J');disp('圖像的壓縮比:')disp(m*n/length(J))%解壓縮t1=J(1);t2=J(2);K(1:t1,1:t2)=0;i1=1;j1=1;fori=3:2:length(J)c1=J(i);c2=J(i+1);forj=1:c1K(i1,j1)=c2;j1=j1+1;ifj1>t2i1=i1+1;j1=1;endendendR2=blkproc(K,[8,8],'P1*x*P2',T',T);%逆DCT,重構(gòu)圖像G=I(:,:,2);G1=im2double(G);%將原圖像轉(zhuǎn)為雙精度數(shù)據(jù)類型;T=dctmtx(8);%產(chǎn)生二維DCT變換矩陣L=blkproc(G1,[88],'P1*x*P2',T,T');%計(jì)算二維DCT,矩陣T及其轉(zhuǎn)置T’是DCT函數(shù)P1*x*P2的參數(shù)Mask=[1010000011001000110000000000000000000000000000000000000000000000];%二值掩膜,用來(lái)壓縮DCT系數(shù),只留下DCT系數(shù)中左上角的10個(gè)L2=blkproc(L,[88],'P1.*x',Mask);%只保留DCT變換的10個(gè)系數(shù)[mn]=size(L2);J=[mn];fori=1:mvalue=L2(i,1);num=1;forj=2:nifL2(i,j)==valuenum=num+1;elseJ=[Jnumvalue];num=1;value=L2(i,j);endendJ=[Jnumvalue];enddisp('原圖像大小')whos('L2');disp('壓縮圖像大小:')whos('J');disp('圖像的壓縮比:')disp(m*n/length(J))%解壓縮t1=J(1);t2=J(2);K(1:t1,1:t2)=0;i1=1;j1=1;fori=3:2:length(J)c1=J(i);c2=J(i+1);forj=1:c1K(i1,j1)=c2;j1=j1+1;ifj1>t2i1=i1+1;j1=1;endendendG2=blkproc(K,[8,8],'P1*x*P2',T',T);%逆DCT,重構(gòu)圖像B=I(:,:,3);B1=im2double(B);%將原圖像轉(zhuǎn)為雙精度數(shù)據(jù)類型;T=dctmtx(8);%產(chǎn)生二維DCT變換矩陣L=blkproc(B1,[88],'P1*x*P2',T,T');%計(jì)算二維DCT,矩陣T及其轉(zhuǎn)置T’是DCT函數(shù)P1*x*P2的參數(shù)Mask=[1010000011001000110000000000000000000000000000000000000000000000];%二值掩膜,用來(lái)壓縮DCT系數(shù),只留下DCT系數(shù)中左上角的10個(gè)L2=blkproc(L,[88],'P1.*x',Mask);%只保留DCT變換的10個(gè)系數(shù)[mn]=size(L2);J=[mn];fori=1:mvalue=L2(i,1);num=1;forj=2:nifL2(i,j)==valuenum=num+1;elseJ=[Jnumvalue];num=1;value=L2(i,j);endendJ=[Jnumvalue];enddisp('原圖像大小')whos('L2');disp('壓縮圖像大?。?)whos('J');disp('圖像的壓縮比:')disp(m*n/length(J))%解壓縮t1=J(1);t2=J(2);K(1:t1,1:t2)=0;i1=1;j1=1;fori=3:2:length(J)c1=J(i);c2=J(i+1);forj=1:c1K(i1,j1)=c2;j1=j1+1;ifj1>t2i1=i1+1;j1=1;endendend3、顯示圖像:B2=blkproc(K,[8,8],'P1*x*P2',T',T);%逆DCT,重構(gòu)圖像A(:,:,1)=R2;A(:,:,2)=G2;A(:,:,3)=B2;Subplot(1,2,1);imshow(I);title('原圖像');%顯示原圖像Subplot(1,2,2);imshow(A);title('壓縮圖像');%顯示壓縮后的圖像。對(duì)比原始圖像和壓縮后的圖像。實(shí)驗(yàn)結(jié)果壓縮前圖像壓縮后圖像uiopen('c:\User\Adminstrator\Desktop\1.jpg'.1)原圖像大??;NameSizeBytesClass1350*480840000doublearrayGrandtotalis168000elementsusing840000bytes壓縮圖像大?。籒ameSizeBytesClassM1*48530356500doublearrayGrandtotalis48530elementsusing356500bytes圖像壓縮比:2.3562壓縮前圖像壓縮后圖像uiopen('c:\User\Adminstrator\Desktop\2.jpg'.2)原圖像大??;NameSizeBytesClass1480*240545280doublearrayGrand

溫馨提示

  • 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. 人人文庫(kù)網(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)論