




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于DCT圖像 壓縮編碼 算法的MATLAB實現(xiàn)原文地址:基于DCT圖像壓縮編碼算法的MATLAB實現(xiàn)作者:lpyy1801摘要:首先介紹了基于離散余弦變換的圖像壓縮編碼算法,接著用MATLAB6.5對圖像進行仿真,并對同一幅cameraman.tif圖像做不同的壓縮。實驗結(jié)果表明,在很大的壓縮范圍內(nèi),在不同的壓縮比和編碼比特率下,重建圖像的峰值信噪比都在30dB以上,仍然能滿足人們的視覺需要。對圖像做不同的壓縮,滿足了不同的場合不同的控制碼率下要求不同的圖像質(zhì)量的實際需要。用MATLAB做仿真實驗,方法簡單而且誤差小,大大提高了圖像壓縮的效率和精度。關(guān)鍵詞:圖像壓縮算法;MATLAB軟件;D
2、CT;壓縮編碼1引言隨著信息技術(shù)的發(fā)展,圖像信息被廣泛應(yīng)用于多媒體通信和計算機系統(tǒng)中。但是圖像具有龐大的數(shù)據(jù)量,不便于存儲和傳輸,必須采用合適的方法對其進行壓縮,因此有必要對圖像壓縮編碼標(biāo)準(zhǔn)進行研究。本研究在介紹圖像壓縮原理的基礎(chǔ)上,用Matlab6.5對標(biāo)準(zhǔn)灰度圖像進行壓縮與重建,并分析實驗結(jié)果,得出結(jié)論。1.1基于DCT的圖像壓縮編碼理論算法及Matlab仿真基礎(chǔ)1)圖像壓縮編碼的概念壓縮的理論基礎(chǔ)是信息論。從信息論的角度來看,壓縮就是去掉信息中的冗余,即保留不確定的信息,去掉確定的信息(可推知的),也就是用一種更接近信息本質(zhì)的描述來代替原有冗余的描述。這個本質(zhì)的東西就是信息量(即不確定因
3、素)。2)圖像壓縮編碼的一般框圖熵編碼器量化器映射變換原始圖像碼流信道碼流熵解碼器反量化器反映射變換復(fù)原圖像圖像壓縮的過程可以概括成圖所示的三個步驟,原始圖像經(jīng)映射變換后的數(shù)據(jù)再經(jīng)量化器和熵編碼器成為碼流輸出。(1)映射變換。其目的是通過映射改變圖像數(shù)據(jù)的特性,使之更有利于壓縮編碼。(2)量化器。在限失真編碼中要對映射后的數(shù)據(jù)進行量化,若量化是對映射后的數(shù)據(jù)逐個的進行的,則稱標(biāo)準(zhǔn)量化,若量化是成組的進行的,則稱矢量量化,量化總會造成某些信息丟失,形成失真,即量化失真或量化噪聲,為使失真小,應(yīng)量化的精細(xì),但壓縮比就高不了,這是一對矛盾,應(yīng)選用恰當(dāng)?shù)牧炕墧?shù)和量化曲線形狀來緩解這對矛盾,量化器的引
4、入是圖像編碼產(chǎn)生失真的根源,在要求復(fù)原圖像與原圖完全一致的無失真編碼器中必須不用量化器,但這樣一來,壓縮比難以提高,在多數(shù)應(yīng)用中,存在少量失真并不可怕,只要把失真的程度和性質(zhì)控制在允許的范圍內(nèi),也就是把復(fù)原圖像的主觀質(zhì)量控制在允許的程度內(nèi),就可以在滿足應(yīng)用要求的前提下提高壓縮比,值得注意的是,對于同樣的量化失真,不同的映射變換和反變換反映不同性質(zhì)的復(fù)原圖像的失真,人眼對某些性質(zhì)的失真敏感而對另一些性質(zhì)的失真不敏感。(3)熵編碼器。這一步是用來消除符號編碼冗余度的,它一般不產(chǎn)生失真,理想的情況是編出的碼流的平均碼長等于量化后數(shù)據(jù)的信息熵,常用的編碼方法有許多種,例如分組碼、行程碼(RLC)和變長
5、碼(VLC)、不分組碼以及算術(shù)碼(ArithmaticCoing等)。行程碼傳輸?shù)氖菙?shù)據(jù)行程長度而不是數(shù)據(jù)本身,例如要傳108個0,用行程碼是改為傳行程碼標(biāo)記和行程長度1080在變長碼中最常用的是霍夫曼(Hufman)碼,基本原則是對出現(xiàn)概率大的數(shù)值用短碼來編,對出現(xiàn)概率小的數(shù)值用長碼來編,從而使平均碼長減小。降低碼率,在實際編碼器中常把RLc和Hufman碼結(jié)合起來,稱為霍夫曼行程碼,在H.261,JPEG,啪PEG等國際昧準(zhǔn)中用到它,而算術(shù)碼則用于JPEG,H.263,JBIG等國際標(biāo)準(zhǔn)中。3)MATLAB仿真實現(xiàn)根據(jù)壓縮編碼算法,要將一幅灰度圖像進行壓縮編碼,首先把圖像分成8×
6、8的像素塊,分塊進行DCT變換后,根據(jù)標(biāo)準(zhǔn)量化表Es對變換系數(shù)進行量化后,再對直流系數(shù)(DC)進行預(yù)測編碼,然后根據(jù)標(biāo)準(zhǔn)的Huffman碼表蜘進行熵編碼,輸出壓縮圖像的比特序列,實現(xiàn)了圖像壓縮。在接收端,則經(jīng)過Huffman熵解碼、DC系數(shù)和AC系數(shù)可變長解碼、反量化后,再進行反DCT變換得到重建圖像。對一幅圖像進行編解碼的MATLAB程序流程圖:2、離散余弦變換(DCT)2.1DCT的定義DCT變換利用傅立葉變換的性質(zhì).采用圖像邊界褶翻將像變換為偶函數(shù)形式,然后對圖像進行二維傅立葉變換,變后僅包含余弦項.所以稱之為離散余弦變換。二維離散余弦變換DCT(DiscreteCosineTransf
7、orm)的定為.假設(shè)矩陣A的大小為MxN。其中。Bpq稱為矩陣A的DCT系數(shù)。在MATLAB中,矩陣的下標(biāo)從l開始而不是從0開始的,所以MATLAB中的矩陣元素A(1,1)和B(1,1)分別對應(yīng)于上面定義中的值A(chǔ)加和B。,依此類推。DCT是一種可逆變換,離散反余弦變換定義如下:上式的含義是任何MxN的矩陣A都nJ以表示為一系列有下面形式的函數(shù)的和:這些函數(shù)稱為DCT變換的基函數(shù)。這樣.Bpq就可以看成是應(yīng)用于每個基函數(shù)的加權(quán)。2.2DCT和圖像壓縮DCT編碼屬于正交變換編碼方式.用于去除圖像數(shù)據(jù)的空間冗余。變換編碼就是將圖像光強矩陣(時域信號)變換到系數(shù)空間(頻域信號)上進行處理的方法。在空問
8、上具有強相關(guān)的信號,反映在頻域上是在某些特定的區(qū)域內(nèi)能量常常被集中在一起,或者是系數(shù)矩陣的分布具有某些規(guī)律。我們可以利用這些規(guī)律在頻域上減少量化比特數(shù),達到壓縮的目的。圖像經(jīng)DCT變換以后,DCT系數(shù)之間的相關(guān)性已經(jīng)很小。而且大部分能量集中在少數(shù)的系數(shù)上,因此,DCT變換在圖像壓縮中非常有用,是有損圖像壓縮國際標(biāo)準(zhǔn)JPEG的核心。從原理上講可以對整幅圖像進行DCT變換,但由于圖像各部位上細(xì)節(jié)的豐富程度不同,這種整體處理的方式效果不好。為此,發(fā)送者首先將輸入圖像分解為8x8或16x16的塊,然后再對每個圖像塊進行二維DCT變換,接著再對DCT系數(shù)進行量化、編碼和傳輸;接收者通過對量化的DCT系數(shù)
9、進行解碼,并對每個圖像塊進行的二維DCT反變換.最后將操作完成后所有的塊拼接起來構(gòu)成一幅單一的圖像。對于一般的圖像而言,大多數(shù)DCT系數(shù)值都接近于0,町以去掉這些系數(shù)而不會對重建圖像的質(zhì)量產(chǎn)生霞大影響。此,利用DCT進行圈像壓縮確實可以節(jié)約大量的存儲空間在宴驗中,先將輸入的原始lena圖像分為8x8的塊,然后再對每個塊進行二維DCT變換。MATLAB圖像處理上具箱中提供的二維DCT變換及DCT反變換函數(shù)如下。2.2.1.dcL2dct2實現(xiàn)罔像的二維離散余弦變換.其語法格式為:(1)B=dct2(A)返回圖像A的二維離散余弦變換值,其大小與A相同且各元素為離散余弦變換的系數(shù)B(K1,k2)。(
10、2)B=dct2(A,in,n)或B=dct2(A,m,n)如果m和n比圖像A大,在對圖像進行二維離散余弦變換之前,先將圖像A補零至mxn如果m和n比圖像A小。則進行變換之前,將圖像A剪切。2.2.2idct2idct2可以實現(xiàn)圖像的二維離散余弦反變換,其語法格式為:B=idct2(A);B=idct2(A,m,n)或B=idct2(A,m,n)。3圖像編碼3.1圖像編碼的分類圖像編碼壓縮的方法目前有很多,其分類方法根據(jù)出發(fā)點不同而有差異。根據(jù)解壓重建后的圖像和原始圖像之間是否具有誤差(對原圖像的保真程度),圖像編碼壓縮分為無誤差(亦稱無失真、無損、信息保持)編碼和有誤差(有失真或有損)編碼兩
11、大類。無損壓縮(冗余度壓縮、可逆壓縮):是一種在解碼時可以精確地恢復(fù)原圖像,沒有任何損失的編碼方法,但是壓縮比不大,通常只能獲得15倍的壓縮比。用于要求重建后圖像嚴(yán)格地和原始圖像保持相同的場合,例如復(fù)制、保存十分珍貴的歷史、文物圖像等;有損壓縮(不可逆壓縮):只能對原始圖像進行近似的重建,而不能精確復(fù)原,適合大數(shù)工用于存儲數(shù)字化了的模擬數(shù)據(jù)。壓縮比大,但有信息損失。3.2無損編碼3.2.1行程編碼(RLE)在一個逐行存儲的圖像中,具有相同灰度值的一些象素組成的序列稱為一個行程。在編碼時,對于每個行程只存儲一個灰度值的碼,再緊跟著存儲這個行程的長度。這種按照行程進行的編碼被稱為行程編碼(RunL
12、engthEncoding)。行程編碼對于僅包含很少幾個灰度級的圖像,特別是二值圖像,比較有效。3.2.2Huffman編碼Huffman編碼是50年代提出的一種基于統(tǒng)計的無損編碼方法,它利用變長的碼來使冗余量達到最小。通過一個二叉樹來編碼,使常出現(xiàn)的字符用較短的碼代表,不常出現(xiàn)的字符用較長的碼代表。靜態(tài)Huffman編碼使用一棵依據(jù)字符出現(xiàn)的概率事先生成好的編碼樹進行編碼。而動態(tài)Huffman編碼需要在編碼的過程中建立編碼樹。由于Huffman編碼所得到的平均碼字長度可以接近信源的熵,因此在變長編碼中是最佳的編碼方法,故也稱為熵編碼。具體編碼方法是:把輸入元素按其出現(xiàn)概率的大小順序排列起來,
13、然后把兩個具有最小概率的元素之概率加起來;把該概率之和同其余概率大小順序排隊,然后再把兩個最小概率加起來,再重新排隊;重復(fù),直到最后得到和為1的根節(jié)點。3.3有損編碼3.3.1量化將圖像用較少的灰度級別來表示是最簡單的減小數(shù)據(jù)量的方法,這種方法就是標(biāo)量量化方法。更一般的情況是,針對連續(xù)量的采樣過程,量化是用有限個狀態(tài)來表示連續(xù)值。3.3.2預(yù)測編碼預(yù)測編碼根據(jù)數(shù)據(jù)在時間和空間上的相關(guān)性,根據(jù)統(tǒng)計模型利用已有樣本對新樣本進行預(yù)測,將樣本的實際值與其預(yù)測值相減得到誤差值,再對誤差值進行編碼。由于通常誤差值比樣本值小得多,因而可以達到數(shù)據(jù)壓縮的效果。模擬量到數(shù)字量的轉(zhuǎn)換過程是脈沖編碼調(diào)制過程PCM,
14、也稱PCM編碼。對于圖像而言,直接以PCM編碼,存儲量很大。預(yù)測編碼可以利用相鄰象素之間的相關(guān)性,用前面已出現(xiàn)的象素值估計當(dāng)前象素值,對實際值與估計值的差值進行編碼。常用的一種線性預(yù)測編碼方法是差分脈沖編碼調(diào)制DPCM。預(yù)測編碼通常不直接對信號編碼,而是對預(yù)測誤差編碼。當(dāng)預(yù)測比較準(zhǔn)確,誤差較小時,即可達到編碼壓縮的目的。這種編碼稱之為差分脈沖編碼調(diào)制(DPCM),上圖是原理框圖。在該系統(tǒng)中,xN為tN時刻的亮度取樣值。預(yù)測器根據(jù)tN時刻之前的樣本x1,x2,xN-1對xN作預(yù)測,得到預(yù)測值x'N。xN與x'N之間的誤差為量化器對eN進行量化得到e'N。編碼器對e'
15、;N進行編碼發(fā)送。接收端解碼時的預(yù)測過程與發(fā)送端相同,所用預(yù)測器亦相同。接收端恢復(fù)的輸出信號是xN的近似值,兩者的誤差是當(dāng)xN足夠小時,輸入信號xN和DPCM系統(tǒng)的輸出信號幾乎一致。3.3.3DCT編碼DCT變換是圖像壓縮標(biāo)準(zhǔn)中常用的變換方法,如JPEG標(biāo)準(zhǔn)中將圖像按8x8分塊利用DCT變換編碼實現(xiàn)壓縮3.4保真度準(zhǔn)則在圖像壓縮編碼中,解碼圖像與原始圖像可能會差異,因此,需要評價壓縮后圖像的質(zhì)量。描述解碼圖像相對原始圖像偏離程度的測度一般稱為保真度(逼真度)準(zhǔn)則。常用的準(zhǔn)則可分為兩大類:客觀保真度準(zhǔn)則和主觀保真度準(zhǔn)則。3.4.1客觀保真度準(zhǔn)則最常用的客觀保真度準(zhǔn)則是原圖像和解碼圖像之間的均方根
16、誤差和均方根信噪比兩種。令f(x,y)代表原圖像,代表對f(x,y)先壓縮又解壓縮后得到的f(x,y)的近似,對任意x和y,f(x,y)和之間的誤差定義為:若f(x,y)和均為M×N,則它們之間均方根誤差為:如果將看作原始圖f(x,y)和噪聲信號e(x,y)的和,那么解壓圖像的均方信噪比為:如果對上式求平方根,就得到均方根信噪比3.4.2主觀保真度準(zhǔn)則盡管客觀保真度準(zhǔn)則提供了一種簡單、方便的評估信息損失的方法,但很多解壓圖最終是供人觀看的。事實上,具有相同客觀保真度的不同圖像,在人的視覺中可能產(chǎn)生不同的在視覺效果。這是因為客觀保真度是一種統(tǒng)計平均意義下的度量準(zhǔn)則,對于圖像中的細(xì)節(jié)無法
17、反映出來。而人的視覺系統(tǒng)具有獨特的特性,能夠覺察出來。這種情況下,用主觀的方法來測量圖像的質(zhì)量更為合適。1種常用的方法是對1組(不少于20人)觀察者顯示圖像,并將他們對該圖像的評分取平均,用來評價一幅圖像的主觀質(zhì)量。4MATLAB仿真及效果4.1程序%程序功能:模擬DCT編碼解碼過程,生成帶"塊效應(yīng)"的圖像%步驟:灰度圖像DCT量化反量化IDCT%下一步目標(biāo):實現(xiàn)對任意大小圖象的處理。(判斷圖象大小,若不是2的整數(shù)次方,則補零)I=imread('cameraman.tif')I=im2double(I)%轉(zhuǎn)換圖像矩陣為雙精度型。T=dctmtx(8)%產(chǎn)生
18、二維DCT變換矩陣%計算二維DCT,矩陣T及其轉(zhuǎn)置是DCT函數(shù)P1*X*P2的參數(shù)a1=1611101624405161;1212141926586055;1413162440576956;1417222951878062;182237566810910377;243555648110411392;49647887103121120101;7292959811210010399;fori=1:8:200forj=1:8:200P=I(i:i+7,j:j+7);K=T*P*T'I2(i:i+7,j:j+7)=K;K=K./a1;%量化K(abs(K)0.03)=0;I3(i:i+7,j:
19、j+7)=K;endendfigure;imshow(I2);title('DCT變換后的頻域圖像');%顯示DCT變換后的頻域圖像fori=1:8:200forj=1:8:200P=I3(i:i+7,j:j+7).*a1;%反量化K=T'*P*T;I4(i:i+7,j:j+7)=K;endendfigure;imshow(I4);title('復(fù)原圖像');imwrite(I4,'復(fù)原圖像6.jpg');B=blkproc(I,8,8,'P1*x*P2',T,T')%二值掩模,用來壓縮DCT系數(shù),只留下DCT系數(shù)中左上角的1
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 裹漿層與骨料因素作用下的透水混凝土孔結(jié)構(gòu)和滲流特性研究
- 撞水撞粉法在當(dāng)代工筆人物畫中的應(yīng)用
- 2025至2030年中國紅薯干數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國移動式排污泵行業(yè)發(fā)展研究報告
- 2025至2030年中國神童王自行車行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國磁立筆市場分析及競爭策略研究報告
- 2025至2030年中國碎銅箔市場現(xiàn)狀分析及前景預(yù)測報告
- 2025至2030年中國硬脂酸鈰行業(yè)投資前景及策略咨詢報告
- 員工心理健康關(guān)懷與支持措施試題及答案
- 2025至2030年中國真空管式高頻感應(yīng)加熱電源裝置市場調(diào)查研究報告
- 三年級音樂上冊 《法國號》課件教學(xué)
- 鄉(xiāng)鎮(zhèn)(街道)財政運行綜合績效評價報告及自評指標(biāo)
- 餐飲部作業(yè)流程圖
- 代建項目管理手冊
- WS/T 510-2016病區(qū)醫(yī)院感染管理規(guī)范
- GB/T 15065-2009電線電纜用黑色聚乙烯塑料
- 與圓有關(guān)的最值問題課件
- 中層干部任期考核民主測評表
- 十二經(jīng)絡(luò)及腧穴課件
- 辦公室工作存在問題(總結(jié)12篇)
- 精細(xì)化工產(chǎn)品公司企業(yè)經(jīng)營戰(zhàn)略方案
評論
0/150
提交評論