基于JPEG 靜態圖像壓縮算法的研究(數字圖像)_第1頁
基于JPEG 靜態圖像壓縮算法的研究(數字圖像)_第2頁
基于JPEG 靜態圖像壓縮算法的研究(數字圖像)_第3頁
基于JPEG 靜態圖像壓縮算法的研究(數字圖像)_第4頁
基于JPEG 靜態圖像壓縮算法的研究(數字圖像)_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于JPEG 靜態圖像壓縮算法的研究- 1 -摘要:本文主要論述了基本JPEG 標準的編碼方法。其中包括采樣、離散余弦變換、量化和熵編碼等幾個主要步驟,最后,用Visual C+編程實現把一幅BMP格式的圖像轉換為JPEG 格式圖像,進一步顯示JPEG 標準在圖像壓縮中的優越性。關鍵詞:JPEG 標準;采樣;離散余弦變換;量化;熵編碼1.引言隨著多媒體技術的快速發展,靜態圖像的應用越來越廣泛,但存在一個主要問題就是數據量過于龐大。例如,一張A4(210mm297mm幅面的照片,若用中等分辨率(300dpi的掃描儀按真彩色掃描,其數據量共有(300210/25.4(300297/25.4個像素,

2、每個像素占3 個字節,其數據量為26M 字節。這樣大容量的圖像信息會給存儲器的存儲容量、通信干線信道的帶寬以及計算機的處理速度增加了極大的壓力。因此,圖像必須進行壓縮。2.圖像編碼壓縮算法JPEG1是“聯合圖像專家小組”(Joint Photographic Experts Group的簡稱,是由ISO 和CCITT 于1986 年底聯合制定的連續色調的靜止圖像壓縮標準。它是一個適用范圍廣泛的通用標準,不僅適用于靜止圖像的壓縮,也適用于電視圖像序列的幀內圖像的壓縮。1992 年正式成為國際標準(ISO10918。JPEG 算法流程如圖1 所示。 JPEG 壓縮算法基本過程可分為如下幾個步驟實現

3、。 顏色模式轉化及取樣。 離散余弦變換(DCT。 量化(quantization。 Z 字形編碼(zigzag scan。 使用差分脈沖編碼調制(DPCM對直流系數(DC進行編碼。 使用行程長度編碼(RLE對交流系數(AC進行編碼。 熵編碼(entropy coding。2.1 顏色模式轉化及取樣RGB 色彩系統是我們最常用的表示顏色的方式,JPEG 采用的是YC b Cr 色彩系統,想要用JPEG 基本壓縮法處理全彩色圖像,得先把RGB 顏色模式圖像數據轉化為YC b Cr 顏色模式數據。其中Y 代表明視度,C b 和Cr 則代表色度和飽和度。其轉化公式如下: 因為JPEG 里的數據都是無符

4、號8 比特數據,因此C 值在這里都加上了128。因為人眼對圖片上亮度Y 的變化遠比色彩C 的變化敏感,所以采用部分取樣可達到圖像壓縮但幾乎不影響圖像質量。目前在市面上支持JPEG 的應用軟件,通常提供兩種部分取樣的方法:YUV411 和YUV422(YC b Cr 是從YUV衍生來的,它們代表的意義是Y,C b,Cr 3 個數據取樣比例。比如:YUV411 取樣,原來用RGB 模型,4 個點需要43=12 字節,而現在僅需要4+2=6 字節,具有50%的壓縮比例。2.2 離散余弦變換(DCT離散余弦變換(discrete cosine transform簡稱DCT,是指將一組光強數據轉化為頻率

5、數據,以便得知強度變換的情形。對Y,C b,Cr 分別做DCT 變換,把整個分量圖像分成88 的圖像塊,如果原始圖片的長寬不是8 的倍數,都需要先補成8 的倍數。DCT 變換使用下式計算: 其中:u, v代表DCT 變換后矩陣內某個數值的坐標位置F(u,v代表矩陣內的(u,v位置上DCT 變換后的頻率系數i, j 代表圖像數據內某個數值的坐標位置f (i, j代表圖像數據內的(i, j位置上的像素值u = 0且v = 0時,C(uC(v = 1 ;u 或v 時,C u C v =1/2經過DCT 變換后的矩陣數據自然數為頻率系數,這些系數以F(0,0的值最大,稱為DC,其余的63 個頻率系數則

6、多半是一些接近于0 的正負浮點數,一概稱之為AC。2.3 量化(quantization量化的作用是在保持一定圖像質量的前提下,丟棄圖像中對視覺效果影響不大的信息,就是減少非“0”系數的幅度以及增加“0”值系數的數目。量化是圖像下降的最主要原因3。JPEG 標準中采用線性均勻量化器,對64 個DCT 系數除以量化步長并四舍五入取整,量化步長由量化表決定。JPEG 標準中使用了兩種量化表:亮度量化表和色度量化表。 2.4 Z 字形編碼(zigzag scan量化后的AC 系數通常會有許多零值,以Z 字形路徑編排,增加了連續“0”系數的個數,這為下一步編碼提供了很大方便,節省了碼率。如圖2 所示。

7、經過Z 字形編排后,就把一個88 的矩陣變成一個164 的矢量,頻率較低的系數放在矢量的頂部。2.5 使用差分脈沖編碼調制(DPCM對直流系數(DC進行編碼在同一個圖像分量中取得每一個DC 值與前一個DC 值的差值來編碼。如圖3 所示。 原因是由于在連續色調的圖像中,其差值多半比原值小,對差值進行編碼所需的位數,會比對原值進行編碼所需的位數少許多。2.6 使用行程長度編碼(RLE對交流系數(AC進行編碼量化AC 系數的特點是164 矢量中包含有許多“0”系數,并且許多“0”是連續的,因此使用非常簡單和直觀的游程長度編碼(RLE對它們進行編碼。JPEG 使用一個字節的高4 位來表示連續“0”的個

8、數,而使用它的低4 位來表示編碼下一個非“0”系數所需要的位數,跟在它后面的是量化AC 系數的數值。如下圖4 所示 格式為(符號1(符號2符號1 表示了兩條信息,稱為“行程”和“長度”。“行程”是在Z 字形矩陣中位于非零AC系數前的連續零值AC 系數的個數,“長度”是對AC 系數的幅度進行編碼所用的位數。符號2 表示了AC 系數幅度值。2.7 熵編碼(entropy codingJPEG 標準具體規定了Huffman 編碼4和算術編碼兩種熵編碼方式。JPEG 基本順序編碼解碼器具體規定用Huffman 編碼,但JPEG 并沒有限制對任何JPEG 算法用Huffman 編碼方式或算術編碼方式。熵

9、編碼可以分成兩步進行,首先把DC 碼和行程碼轉換成中間序列(2.5 和2.6 已做,然后給這些符號賦以變長碼字。霍夫曼編碼器可以使用很簡單的查表方法進行編碼。編碼時,每個矩陣數據的DC 值與63 個AC 值,將分別使用不同的Huffman 編碼表,而亮度與色度也需要不同的Huffman 編碼表,所以一共需要4 個編碼表,才能順利地完成JPEG 編碼工作。實現上述幾個步驟,即完成一幅圖像的JPEG 壓縮。3.Visual C+下BMP 轉換為JPEG 算法實現用Visual C+編寫了一個把BMP5圖像轉換為JPEG 圖像的程序,該程序名稱為RWJpegExp,步驟為:打開程序,加載一幅BMP

10、圖片,利用“文件”/“另存為”菜單,可以將此BMP 文件存儲為JPEG 文件,并能通過對話框控制JPEG 文件的壓縮圖像質量和色彩。3.1 程序實現的主要代碼CRWJpegExpDocOnOpenDocument(LPCTSTR lpszPathName/顯示要打開的文件; CRWJpegExpDocOnSaveDocument(LPCTSTR lpszPathName/保存變換后的圖像; CFormatJpeg JpegDlg/創建Dialog 對話框;CJpeg jpeg/創建CJpeg 類,實現JPEG 文件轉換;Jpeg.Save(lpszPathName.m_pDib,JpegDlg

11、.m_bColor,JpegDlg.m_nQuality/將文件存儲為JPEG 格式。3.2 程序結果及分析RWJpegExp 程序實現對JPEG 文件壓縮編碼的過程如圖5 所示 圖5 對JPEG文件壓縮編碼的過程圖本文通過實驗,如果選擇75%的圖像質量,可得到20:1 的壓縮率;選擇55%的圖像質量,可得到30:1 的壓縮率;選擇35%的圖像質量,可得到40:1 的壓縮率,只要壓縮率不大于40 倍,圖像壓縮后的效果質量用肉眼無法區別。可見JPEG 標準的優越性(限于篇幅,這里就不給出壓縮后的效果圖。從以上測試結果看,設計實現的JPEG 壓縮算法較好地實現了對于24 位bmp 圖像的壓縮,壓縮比較高,且壓縮圖像與原始圖像相比差異幾乎無法察覺。4.結束語本文系統的對JPEG 編碼的基本原理進行了闡述,并給出了BMP 格式圖像與JPEG 格式圖像之間轉換的軟件實現,使讀者對JPEG 的壓縮效果有了一個更直觀的了解。雖然圖像壓縮了很多,但圖像視覺效果沒有什么差異。JPEG 標準的優點是在自然景觀與再現圖片方面表現很出色,且其圖像文件比較小,目前WEB 上80%的圖像都是JPEG 格式。缺點是只能處理靜態圖像,不能處理活動景物。隨著技術的進步,JPEG 標準將會得到更進一步的發展和應用。參考文獻1 張益貞,劉滔. Visual C+實現MPEG/JPEG 編解碼技術M. 北京

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論