圖像JPEG格式介紹

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

JPEG (Joint PhotographicExperts GROUP)是由國際標準組織和國際電話電報咨詢委員會為靜態圖像所建立的第一個國際數字圖像壓縮標準,也是至今一直在使用的、應用最廣的圖像壓縮標準。JPEG由於可以提供有損壓縮,因此壓縮比可以達到其他傳統壓縮算法無法比擬的程度。

1.1 JPG圖像壓縮方式

JPEG 圖片以 24 位顏色存儲單個光柵圖像。JPEG是與平台無關的格式,支持最高級別的壓縮,不過,這種壓縮是有損耗的。漸近式JPEG 文件支持交錯,可以提高或降低 JPEG文件壓縮的級別。但是,文件大小是以圖像質量為代價的,壓縮比率可以高達 100:1(JPEG 格式可在 10:1 到 20:1的比率下輕鬆地壓縮文件,而圖片質量不會下降)。JPEG壓縮可以很好地處理寫實攝影作品,但是對於顏色較少、對比級別強烈、實心邊框或純色區域大的較簡單的作品,JPEG壓縮無法提供理想的結果。有時,壓縮比率會低到 5:1,嚴重損失了圖片完整性。這一損失產生的原因是,JPEG壓縮方案可以很好地壓縮類似的色調,但是 JPEG 壓縮方案不能很好地處理亮度的強烈差異或處理純色區域。

JPG圖像壓縮模式有如下幾種:

  • 順序式編碼(Sequential Encoding):一次將圖像由左到右、由上到下順序處理。
  • 遞增式編碼(Progressive Encoding):當圖像傳輸的時間較長時,可將圖像分數次處理,以從模糊到清晰的方式來傳送圖像(效果類似GIF在網路上的傳輸)。
  • 無失真編碼(Lossless Encoding)
  • 階梯式編碼(Hierarchical Encoding):圖像以數種分辨率來壓縮,其目的是為了讓具有高分辨率的圖像也可以在較低分辨率的設備上顯示。

1.2 JPG圖像有損壓縮流程

由於JPEG的無損壓縮方式並不比其他的壓縮方法更優秀,因此我們著重來看它的有損壓縮。

以一幅24位彩色圖像為例,JPEG的壓縮步驟分為:

  1. 顏色轉換
  2. DCT變換
  3. 量化
  4. 編碼。

a. 顏色轉換

由於JPEG只支持YUV顏色模式的數據結構,而不支持RGB圖像數據結構,所以在將彩色圖像進行壓縮之前,必須先對顏色模式進行數據轉換。

各個值的轉換可以通過下面的轉換公式計算得出:

Y=0.299R+0.587G+0.114B

U=-0.169R-0.3313G+0.5B

V=0.5R-0.4187G-0.0813B

其中,Y表示亮度,U和V表示顏色。

轉換完成之後還需要進行數據采樣。一般採用的采樣比例是2:1:1或4:2:2。由於在執行了此項工作之後,每兩行數據只保留一行,因此,采樣後圖像數據量將壓縮為原來的一半。

b. DCT變換

DCT(Discrete ConsineTransform)是將圖像信號在頻率域上進行變換,分離出高頻和低頻信息的處理過程。然後再對圖像的高頻部分(即圖像細節)進行壓縮,以達到壓縮圖像數據的目的。

首先將圖像劃分為多個8*8的矩陣。然後對每一個矩陣作DCT變換(變換公式此略)。變換後得到一個頻率系數矩陣,其中的頻率系數都是浮點數。

c. 量化

由於在後面編碼過程中使用的碼本都是整數,因此需要對變換後的頻率系數進行量化,將之轉換為整數。

由於進行數據量化後,矩陣中的數據都是近似值,和原始圖像數據之間有了差異,這一差異是造成圖像壓縮後失真的主要原因。

在這一過程中,質量因子的選取至為重要。值選得過大,可以大幅度提高壓縮比,但是圖像質量就比較差;反之,質量因子越小(最小為1),圖像重建質量越好,但是壓縮比越低。對此,ISO已經制定了一組供JPEG代碼做到者使用的標準量化值。

d. 編碼

從前面過程我們可以看到,顏色轉換完成到編碼之前,圖像並沒有得到進一步的壓縮,DCT變換和量化可以說是為編碼階段做準備。

編碼採用兩種機制:

  • 一是0值的行程長度編碼;
  • 二是熵編碼(EntropyCoding)。

在JPEG中,採用曲徊序列,即以矩陣對角線的法線方向作「之」字排列矩陣中的元素。這樣做的優點是使得靠近矩陣左上角、值比較大的元素排列在行程的前面,而行程的後面所排列的矩陣元素基本上為0值。行程長度編碼是非常簡單和常用的編碼方式,在此不再贅述。

編碼實際上是一種基於統計特性的編碼方法。在JPEG中允許採用HUFFMAN編碼或者算術編碼。

1.3 JPG圖像優缺點

優點:

  1. 攝影作品或寫實作品支持高級壓縮。
  2. 利用可變的壓縮比可以控制文件大小。
  3. 支持交錯(對於漸近式 JPEG 文件)。
  4. 廣泛支持 Internet 標準。

缺點:

  1. 有損耗壓縮會使原始圖片數據質量下降。
  2. 當您編輯和重新保存 JPEG 文件時,JPEG會混合原始圖片數據的質量下降。這種下降是累積性的。
  3. JPEG不適用於所含顏色很少、具有大塊顏色相近的區域或亮度差異十分明顯的較簡單的圖片。

本文轉自:博客園 – 淇淇寶貝,轉載此文目的在於傳遞更多信息,版權歸原作者所有。

原文鏈接:http://www.cnblogs.com/qiqibaby/p/5229253.html