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

下載本文檔

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

文檔簡介

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

2、5;(300×297/25.4個像素,每個像素占3 個字節(jié),其數(shù)據(jù)量為26M 字節(jié)。這樣大容量的圖像信息會給存儲器的存儲容量、通信干線信道的帶寬以及計算機(jī)的處理速度增加了極大的壓力。因此,圖像必須進(jìn)行壓縮。2.圖像編碼壓縮算法JPEG1是“聯(lián)合圖像專家小組”(Joint Photographic Experts Group的簡稱,是由ISO 和CCITT 于1986 年底聯(lián)合制定的連續(xù)色調(diào)的靜止圖像壓縮標(biāo)準(zhǔn)。它是一個適用范圍廣泛的通用標(biāo)準(zhǔn),不僅適用于靜止圖像的壓縮,也適用于電視圖像序列的幀內(nèi)圖像的壓縮。1992 年正式成為國際標(biāo)準(zhǔn)(ISO10918。JPEG 算法流程如圖1 所示。

3、JPEG 壓縮算法基本過程可分為如下幾個步驟實現(xiàn)。 顏色模式轉(zhuǎn)化及取樣。 離散余弦變換(DCT。 量化(quantization。 Z 字形編碼(zigzag scan。 使用差分脈沖編碼調(diào)制(DPCM對直流系數(shù)(DC進(jìn)行編碼。 使用行程長度編碼(RLE對交流系數(shù)(AC進(jìn)行編碼。 熵編碼(entropy coding。2.1 顏色模式轉(zhuǎn)化及取樣2.1.1 顏色模式轉(zhuǎn)化RGB 色彩系統(tǒng)是我們最常用的表示顏色的方式,JPEG 采用的是YC b Cr 色彩系統(tǒng),想要用JPEG 基本壓縮法處理全彩色圖像,得先把RGB 顏色模式圖像數(shù)據(jù)轉(zhuǎn)化為YC b Cr 顏色模式數(shù)據(jù)。其中Y 代表明視度,C b 和C

4、r 則代表色度和飽和度。其轉(zhuǎn)化公式如下: 因為JPEG 里的數(shù)據(jù)都是無符號8 比特數(shù)據(jù),因此C 值在這里都加上了128。2.1.2 取樣因為人眼對圖片上亮度Y 的變化遠(yuǎn)比色彩C 的變化敏感,所以采用部分取樣可達(dá)到圖像壓縮但幾乎不影響圖像質(zhì)量。目前在市面上支持JPEG 的應(yīng)用軟件,通常提供兩種部分取樣的方法:YUV411 和YUV422(YC b Cr 是從YUV衍生來的,它們代表的意義是Y,C b,Cr 3 個數(shù)據(jù)取樣比例。比如:YUV411 取樣,原來用RGB 模型,4 個點需要4×3=12 字節(jié),而現(xiàn)在僅需要4+2=6 字節(jié),具有50%的壓縮比例。2.2 離散余弦變換(DCT離散

5、余弦變換(discrete cosine transform簡稱DCT,是指將一組光強(qiáng)數(shù)據(jù)轉(zhuǎn)化為頻率數(shù)據(jù),以便得知強(qiáng)度變換的情形。2.2.1 對YC b Cr 各分量分成8×8 的圖像塊對Y,C b,Cr 分別做DCT 變換,把整個分量圖像分成8×8 的圖像塊,如果原始圖片的長寬不是8 的倍數(shù),都需要先補成8 的倍數(shù)。2.2.2 DCT 變換DCT 變換使用下式計算: 其中:u, v代表DCT 變換后矩陣內(nèi)某個數(shù)值的坐標(biāo)位置F(u,v代表矩陣內(nèi)的(u,v位置上DCT 變換后的頻率系數(shù)i, j 代表圖像數(shù)據(jù)內(nèi)某個數(shù)值的坐標(biāo)位置f (i, j代表圖像數(shù)據(jù)內(nèi)的(i, j位置上的像

6、素值u = 0且v = 0時,C(uC(v = 1 ;u > 或v > 時,C u C v =1/2經(jīng)過DCT 變換后的矩陣數(shù)據(jù)自然數(shù)為頻率系數(shù),這些系數(shù)以F(0,0的值最大,稱為DC,其余的63 個頻率系數(shù)則多半是一些接近于0 的正負(fù)浮點數(shù),一概稱之為AC。2.3 量化(quantization量化的作用是在保持一定圖像質(zhì)量的前提下,丟棄圖像中對視覺效果影響不大的信息,就是減少非“0”系數(shù)的幅度以及增加“0”值系數(shù)的數(shù)目。量化是圖像下降的最主要原因3。JPEG 標(biāo)準(zhǔn)中采用線性均勻量化器,對64 個DCT 系數(shù)除以量化步長并四舍五入取整,量化步長由量化表決定。JPEG 標(biāo)準(zhǔn)中使用了

7、兩種量化表:亮度量化表和色度量化表。 2.4 Z 字形編碼(zigzag scan量化后的AC 系數(shù)通常會有許多零值,以Z 字形路徑編排,增加了連續(xù)“0”系數(shù)的個數(shù),這為下一步編碼提供了很大方便,節(jié)省了碼率。如圖2 所示。經(jīng)過Z 字形編排后,就把一個8×8 的矩陣變成一個1×64 的矢量,頻率較低的系數(shù)放在矢量的頂部。2.5 使用差分脈沖編碼調(diào)制(DPCM對直流系數(shù)(DC進(jìn)行編碼在同一個圖像分量中取得每一個DC 值與前一個DC 值的差值來編碼。如圖3 所示。 原因是由于在連續(xù)色調(diào)的圖像中,其差值多半比原值小,對差值進(jìn)行編碼所需的位數(shù),會比對原值進(jìn)行編碼所需的位數(shù)少許多。2.

8、6 使用行程長度編碼(RLE對交流系數(shù)(AC進(jìn)行編碼量化AC 系數(shù)的特點是1×64 矢量中包含有許多“0”系數(shù),并且許多“0”是連續(xù)的,因此使用非常簡單和直觀的游程長度編碼(RLE對它們進(jìn)行編碼。JPEG 使用一個字節(jié)的高4 位來表示連續(xù)“0”的個數(shù),而使用它的低4 位來表示編碼下一個非“0”系數(shù)所需要的位數(shù),跟在它后面的是量化AC 系數(shù)的數(shù)值。如下圖4 所示 格式為(符號1(符號2符號1 表示了兩條信息,稱為“行程”和“長度”。“行程”是在Z 字形矩陣中位于非零AC系數(shù)前的連續(xù)零值A(chǔ)C 系數(shù)的個數(shù),“長度”是對AC 系數(shù)的幅度進(jìn)行編碼所用的位數(shù)。符號2 表示了AC 系數(shù)幅度值。2.

9、7 熵編碼(entropy codingJPEG 標(biāo)準(zhǔn)具體規(guī)定了Huffman 編碼4和算術(shù)編碼兩種熵編碼方式。JPEG 基本順序編碼解碼器具體規(guī)定用Huffman 編碼,但JPEG 并沒有限制對任何JPEG 算法用Huffman 編碼方式或算術(shù)編碼方式。熵編碼可以分成兩步進(jìn)行,首先把DC 碼和行程碼轉(zhuǎn)換成中間序列(2.5 和2.6 已做,然后給這些符號賦以變長碼字。霍夫曼編碼器可以使用很簡單的查表方法進(jìn)行編碼。編碼時,每個矩陣數(shù)據(jù)的DC 值與63 個AC 值,將分別使用不同的Huffman 編碼表,而亮度與色度也需要不同的Huffman 編碼表,所以一共需要4 個編碼表,才能順利地完成JPE

10、G 編碼工作。實現(xiàn)上述幾個步驟,即完成一幅圖像的JPEG 壓縮。3.Visual C+下BMP 轉(zhuǎn)換為JPEG 算法實現(xiàn)用Visual C+編寫了一個把BMP5圖像轉(zhuǎn)換為JPEG 圖像的程序,該程序名稱為RWJpegExp,步驟為:打開程序,加載一幅BMP 圖片,利用“文件”/“另存為”菜單,可以將此BMP 文件存儲為JPEG 文件,并能通過對話框控制JPEG 文件的壓縮圖像質(zhì)量和色彩。3.1 程序?qū)崿F(xiàn)的主要代碼CRWJpegExpDocOnOpenDocument(LPCTSTR lpszPathName/顯示要打開的文件; CRWJpegExpDocOnSaveDocument(LPCTS

11、TR lpszPathName/保存變換后的圖像; CFormatJpeg JpegDlg/創(chuàng)建Dialog 對話框;CJpeg jpeg/創(chuàng)建CJpeg 類,實現(xiàn)JPEG 文件轉(zhuǎn)換;Jpeg.Save(lpszPathName.m_pDib,JpegDlg.m_bColor,JpegDlg.m_nQuality/將文件存儲為JPEG 格式。3.2 程序結(jié)果及分析RWJpegExp 程序?qū)崿F(xiàn)對JPEG 文件壓縮編碼的過程如圖5 所示 圖5 對JPEG文件壓縮編碼的過程圖本文通過實驗,如果選擇75%的圖像質(zhì)量,可得到20:1 的壓縮率;選擇55%的圖像質(zhì)量,可得到30:1 的壓縮率;選擇35%的

12、圖像質(zhì)量,可得到40:1 的壓縮率,只要壓縮率不大于40 倍,圖像壓縮后的效果質(zhì)量用肉眼無法區(qū)別??梢奐PEG 標(biāo)準(zhǔn)的優(yōu)越性(限于篇幅,這里就不給出壓縮后的效果圖。從以上測試結(jié)果看,設(shè)計實現(xiàn)的JPEG 壓縮算法較好地實現(xiàn)了對于24 位bmp 圖像的壓縮,壓縮比較高,且壓縮圖像與原始圖像相比差異幾乎無法察覺。4.結(jié)束語本文系統(tǒng)的對JPEG 編碼的基本原理進(jìn)行了闡述,并給出了BMP 格式圖像與JPEG 格式圖像之間轉(zhuǎn)換的軟件實現(xiàn),使讀者對JPEG 的壓縮效果有了一個更直觀的了解。雖然圖像壓縮了很多,但圖像視覺效果沒有什么差異。JPEG 標(biāo)準(zhǔn)的優(yōu)點是在自然景觀與再現(xiàn)圖片方面表現(xiàn)很出色,且其圖像文件比較小,目前WEB 上80%的圖像都是JPEG 格式。缺點是只能處理靜態(tài)圖像,不能處理活動景物。隨著技術(shù)的進(jìn)步,JPEG 標(biāo)準(zhǔn)將會得到更進(jìn)一步的發(fā)展和應(yīng)用。參考文獻(xiàn)1 張益貞,劉滔. Visual C+實現(xiàn)MPEG/JPEG 編解碼技

溫馨提示

  • 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

提交評論