資源描述:
《基于-matlab的圖像huffman編碼研究方案》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、成績(jī)?cè)u(píng)閱人中國(guó)礦業(yè)大學(xué)2015-2016學(xué)年第二學(xué)期《數(shù)字視頻技術(shù)》課程小設(shè)計(jì)考核圖像的Huffman編碼研究專業(yè)班級(jí):信息13-04班學(xué)生姓名:王振宇、龍航、王一鳴學(xué)生學(xué)號(hào):04131407、04131403、04131406本人鄭重聲明:本人認(rèn)真、獨(dú)立完成了查找資料、完成作業(yè)、編寫程序等考核任務(wù),無(wú)抄襲行為。簽字:日期:2016.05.171.引言1.1圖像數(shù)據(jù)壓縮的目的數(shù)字圖像通常要求很大的比特?cái)?shù),這給圖像的傳輸和存儲(chǔ)帶來(lái)相當(dāng)大的困難。要占用很多的資源,花很高的費(fèi)用。一般原始圖像存在很大的冗余度。所以,對(duì)圖像數(shù)據(jù)壓縮顯得非常重要。1.2圖像數(shù)據(jù)壓縮的原理對(duì)數(shù)字圖像壓縮主要
2、運(yùn)用兩個(gè)基本原理:一是圖像的相關(guān)性。在圖像同一相鄰像素之間,活動(dòng)圖像的相鄰幀的對(duì)應(yīng)像素之間往往存在很強(qiáng)的相關(guān)性,去除或減少這些相關(guān)性,也就除去或減少圖像信息中的冗余度,繼而實(shí)現(xiàn)對(duì)數(shù)字圖像的壓縮。二是人的視覺心理特征,人的視覺對(duì)于邊緣急劇變化不敏感,對(duì)顏色分辨力弱,利用這些特征在相應(yīng)部分降低編碼精度而使人從視覺上感覺不到圖像質(zhì)量的下降,從而達(dá)到對(duì)數(shù)字圖像壓縮的目的。1.3Huffman編碼Huffman編碼是一種編碼方式,是一種用于無(wú)損數(shù)據(jù)壓縮的熵編碼算法。它是Huffman在1952年根據(jù)Shannon在1948年和Fano在1949年闡述的這種編碼思想下提出的一種不定長(zhǎng)編碼的
3、方法,有時(shí)也稱之為最佳編碼。依據(jù)信源數(shù)據(jù)中各信號(hào)出現(xiàn)的頻率分配不同長(zhǎng)度的編碼。其基本思想是在編碼過(guò)程中,對(duì)出現(xiàn)頻率越高的值,分配越短的編碼長(zhǎng)度,相應(yīng)地對(duì)出現(xiàn)頻率越低的值則分配較長(zhǎng)的編碼長(zhǎng)度,完全依據(jù)字符出現(xiàn)概率來(lái)構(gòu)造異字頭的平均長(zhǎng)度最短的碼字。哈夫曼編碼方法的實(shí)質(zhì)是針對(duì)統(tǒng)計(jì)結(jié)果對(duì)字符本身重新編碼,而不是對(duì)重復(fù)字符或重復(fù)子串編碼,得到的單位像素的比特?cái)?shù)最接近圖像的實(shí)際熵值。2.設(shè)計(jì)任務(wù)2.1設(shè)計(jì)任務(wù)研究實(shí)現(xiàn)灰度圖像的Huffman編碼和解碼恢復(fù)。2.2設(shè)計(jì)目的(1)了解Huffman編碼的基本原理及其特點(diǎn);(2)理解并熟練對(duì)圖像進(jìn)行哈夫曼編碼的算法;(3)學(xué)習(xí)和熟悉MATLAB圖
4、像處理工具箱;(4)熟悉和掌握MATLAB?程序設(shè)計(jì)方法;2.3設(shè)計(jì)要求現(xiàn)灰度圖像的Huffman編碼和解碼恢復(fù)圖像;處理結(jié)果要求最終圖像顯示,且計(jì)算圖像的信息熵,平均碼字長(zhǎng)度,編碼效率,壓縮比。3.總體設(shè)計(jì)方案3.1系統(tǒng)運(yùn)行環(huán)境Windows8.1/10系統(tǒng)3.2編程軟件平臺(tái)MATLABR2013a/R2014a3.3Huffman編碼算法原理哈夫曼編碼的基本方法是先對(duì)圖像數(shù)據(jù)掃描一遍,計(jì)算出各種像素出現(xiàn)的概率,按概率的大小指定不同長(zhǎng)度的唯一碼字,由此得到一張?jiān)搱D像的哈夫曼碼表。編碼后的圖像數(shù)據(jù)記錄的是每個(gè)像素的碼字,而碼字與實(shí)際像素值的對(duì)應(yīng)關(guān)系記錄在碼表中。(1)計(jì)算信源符
5、號(hào)出現(xiàn)的概率;(2)將信源符號(hào)按其出現(xiàn)的概率,由小到大順序排列,并從左至右排列為葉節(jié)點(diǎn)[1];(1)將兩個(gè)概率最小的頂層節(jié)點(diǎn)進(jìn)行組合相加,組成一個(gè)父節(jié)點(diǎn),并在到左右子節(jié)點(diǎn)的兩條連線上分別標(biāo)記0和1;?(2)重復(fù)上一步驟,直到得到根節(jié)點(diǎn),形成一顆二叉樹;(3)從根節(jié)點(diǎn)開始到相應(yīng)于每個(gè)符號(hào)的葉節(jié)點(diǎn)的0/1串,就是該符號(hào)的二進(jìn)制哈夫曼編碼。3.1Huffman編碼算法的特點(diǎn)(1)編出來(lái)的碼都是異字頭碼,保證了碼的唯一可譯性。(2)由于編碼長(zhǎng)度可變。因此譯碼時(shí)間較長(zhǎng),使得哈夫曼編碼的壓縮與還原相當(dāng)費(fèi)時(shí)。(3)編碼長(zhǎng)度不統(tǒng)一,硬件實(shí)現(xiàn)有難度。(4)對(duì)不同信源的編碼效率不同,當(dāng)信源的符號(hào)概
6、率為2的負(fù)冪次方時(shí),達(dá)到100%的編碼效率;若信源符號(hào)的概率相等,則編碼效率最低。(5)由于符號(hào)按概率大小排列既可以從右到左也可以從左到右,即0與1的指定是任意的,故最后的編碼結(jié)果可能不唯一,但僅僅是分配的代碼不同,其平均碼長(zhǎng)是一樣的,故不影響編碼效率與數(shù)據(jù)壓縮性能。3.2算法流程圖設(shè)計(jì)3.5.1主流程圖開始加載圖像,并將其灰度化將灰度圖像轉(zhuǎn)換成無(wú)符號(hào)的8位整數(shù)矩陣調(diào)用Huffman編碼程序進(jìn)行壓縮調(diào)用Huffman解碼程序進(jìn)行解碼顯示原始圖像、灰度圖像和經(jīng)編碼解碼后的圖像結(jié)束顯示平均碼長(zhǎng)、壓縮比、信息熵及編碼效率3.5.1編碼流程圖開始計(jì)算各符號(hào)(灰度值)出現(xiàn)概率按照概率從小
7、到大排序生成Huffman樹得到二進(jìn)制哈夫曼編碼碼字對(duì)圖像(圖像矩陣)進(jìn)行編碼計(jì)算編碼參數(shù)(平均碼長(zhǎng)、信息熵等)計(jì)算二進(jìn)制碼字對(duì)應(yīng)的十進(jìn)制數(shù),并存入矩陣中,得到碼字與灰度值的對(duì)應(yīng)關(guān)系表,即碼表結(jié)束3.5.2解碼流程圖開始結(jié)束讀取壓縮矩陣,并存入行向量中解碼后的矩陣按圖像矩陣尺寸重排,得到解碼矩陣解碼,按位讀取行向量中的編碼并進(jìn)行相應(yīng)灰度值匹配3.1組員任務(wù)分工王振宇:編寫主要程序,編碼解碼函數(shù)程序及相關(guān)子程序,修改報(bào)告及演示文稿。龍航:編寫部分主程序及部分函數(shù)程序,撰寫報(bào)告。王一鳴:編寫部分