23. 印刷格物致知
          23.6. 壓縮演算法
 23.6.5. JPEG 壓縮

JPEG 是 Joint Photographic Experts Group 的縮寫,它是一個標準化委員會;它也代表該委員會發明的影像壓縮演算法。

有兩種 JPEG 壓縮演算法:最古老的一種在此就稱為 JPEG,較新的JPEG 2000 演算法將在另一篇專文討論,請注意要分清楚這裡討論的 JPEG 壓縮演算法與以及相應的 JFIF 文件格式是不同的意義,JFIF 在相關檔案格式內有說明,許多人稱之為 JPEG 檔案。

雖然 JPEG  是一種有損失的壓縮演算法,卻已廣泛地被認為能對於自然、攝影類傳真彩色圖像有效地壓縮減少檔案大小,但又幾乎不影響人類的感知引擎對圖像品質下降的感覺;利用人眼對於亮度的微小變化比對於色彩的微小變化的感知更加敏銳的特性,JPEG 壓縮得以成功地有效地減少檔案大小。

JPEG 如何工作

JPEG 壓縮演算法以四個步驟進行壓縮作業:

  1. 首先 JPEG 演算法將影像切割成 8 × 8 像素 (pixels) 的小圖像區塊,然後演算法再分別對各個小區塊執行壓縮計算,這解釋了為什麼在套用過大的壓縮比時,會產生可見的小區塊或成群的區塊問題。
    由於人類對於色調 (hue, chrominance) 變化的敏感度比對於亮度 (brightness, luminance) 的變化更不敏感,JPEG 演算法根據這項感知的差異,它不對 RGB 或 CMYK 顏色值作分析,而是首先將圖像數據轉換到亮度/色調的色彩空間 (luminance/chrominance color space),譬如 YUV,這樣可以對這兩個因素分別壓縮,由於對我們的視覺系統來說因為亮度比色度更加重要,所以在壓縮檔案內保留更多的亮度訊息
  2. 壓縮過程的第二個步驟是對整個區塊套用離散餘弦變換(Discrete Cosine Transform, DCT),DCT 是一個複雜的轉換程序讓各像素較為鬆散,它將各像素的實際顏色數據取代為相對於整個被分析矩陣平均的相差值,這項作業不會壓縮檔案,它只是轉換了 8 × 8 像素值為 8 × 8 的 DCT 係數 (coefficients) 矩陣
  3. 從此就可以開始實際壓縮了,首先,壓縮軟體參考用戶要求的 JPEG 圖像壓縮品質(例如 Photoshop 設定的 ‘low quality’, ‘medium quality’,…),並據此計算出兩個量化常數表,一個是亮度另一個是色度,這些表建成之後,兩個表的常數便可用來量化的 DCT 係數,每個 DCT 係數除以量化表內相對應的常數,並四捨五入至最接近的整數,量化後的 DCT 係數之結果是將較小、不重要係數變成零,係數值較大則會失去一些精密度,正是這種四捨五入造成圖像品質的損失
  4. 到此為止的結果是一串串  DCT 係數資料,最後一步程序是使用霍夫曼或算術編碼 (arithmetic encoding) 方案來壓縮這些係數,通常是使用霍夫曼編碼,這是套用的第二次(無損失)壓縮

優點

連續使用兩種壓縮演算法,讓 JPEG 取得顯著的壓縮比,即使是對於要求品質的印前使用上,都可以輕鬆地將檔案壓縮達原始大小的五分之一;對於網頁發行或 e-mail 交流,甚至可以辦到高達 20 比 1 或更高。

PostScript level 2 與 3 RIPs 都支援 JPEG 解壓縮,這表示透過網路送抵 RIP 的檔案將更小,讓傳送的工作站更快完成,減低列印伺服機機的負擔,並加速 RIP 的計算。

缺點

 JPEG 壓縮演算法的不利之處是它是專為連續色調圖像(記住,JPEG 的 P 代表 Photographic 攝影)而設計,JPEG 不適合的銳利變化的色調影像,以下是一些應該避免使用 JPEG 來壓縮的典型圖像:

  • 有添加遮罩和陰影效果的圖像
  • 螢幕擷取的圖像或圖表
  • Photoshop 創建的漸層 (Blends)
  • 只有 256(或更少)顏色的圖像
  • CAD-CAM 軟體或 3D 應用程式生成的圖像,如 Maya 或 Bryce 軟體的計算結果
  • 四色中少一或多分色的圖像,例如只有洋紅和黑色版構成的圖像,採用 JPEG 壓縮後的圖像可能會在青色和黃色版上出現若干像是人工加入的東西

因為它有失真的天性,JPEG 格式最好只用在印前的生產階段(製作 PostScript 或 PDF、拼版、打樣、輸出),在創建過程中,圖像仍會被編輯、剪裁和色彩校正時,若是使用 JPEG,則每一次的儲存命令後都會導致圖像品質的額外損失。

舊版的 level 2 RIPs 常會因 JPEG 解壓縮而產生計算錯誤或當機,重開 RIP 後再送一次通常會解決這個問題,不過這應該是很舊很舊系統的問題了,如果還有這樣的問題應該要盡快汰換了。

JPEG 壓縮使用於哪裡?

JPEG 壓縮被用於多種檔案格式:

  • EPS 檔案
  • EPS DCS 檔案
  • JFIF 檔案
  • PDF 檔案

這裡只談大約的運作方式,JPEG 壓縮的詳細計算方式與更進一步的演篹法探討可參考這裡

Idea associations
Table of contents