23.6. 壓縮演算法

印前檔案往往很龐大,大到不合乎邏輯必須壓縮數據資料;針對文字和圖像資料分別有相當多種可供選用的壓縮算法,因此有必要了解各種演算法的基本知識。

這個區塊概述各種用於印前行業的壓縮演算法,但絕非是完整地概述了所有可用的演算法。

後面將說明的壓縮類型包含:

壓縮演算法的類型

上述的演算法可分為兩大類:無失真失真;為什麼會有失真的壓縮呢?都不失真不就好了嗎?因為當失真小到可以忽略,但壓縮比卻很大時,會觸發很多原本不可行的東西,例如: GoogleEarth (或 Google 地圖)所展現的地圖,絕對是高度壓縮的才能如此快速於網路上傳輸顯示,如果不存在壓縮演算法,則 GoogleEarth (或 Google 地圖)根本無法面世,而另一方面的副作用是圖像的失真有多少呢?其實就這個應用來說,根本不重要。

  • 無損失演算法不會改變檔案的內容;用這種方法壓縮檔案,然後再解壓縮,內容完全沒有改變;以下是無損失演算法:
    • CCITT group 3 & 4 壓縮
    • Flate/deflate 壓縮
    • Huffman 壓縮
    • LZW 壓縮
    • RLE 壓縮
  • 有損失演算法藉由選擇性地拋棄檔案內的若干資訊以實現更好的壓縮比,這種演算法可用於圖像或聲音檔案,但不能用於文字或程序數據資料;以下是有損失演算法:
    • JPEG 壓縮

哪一種演算法最好?

可惜的是,這個問題沒有絕對正確的答案,這一切完全取決於將被壓縮的檔案類型與檔案的實際內容,與對該特定檔案您是否願意接受某種有損失的演算法;這裡是印前大多數人在使用或認為較為合適的一般性規則:

  • 文字:通常不需要壓縮,有時使用 RLE
  • 線條稿影像:LZW
  • 線路稿和過網資料:CCITT group 4
  • 灰階圖像:不包含太多細節的檔案使用 LZW
  • 彩色圖像:如果可以接受有損失壓縮時,使用 JPEG
  • 向量繪圖:大部份應用程式不做壓縮

雖然沒有絕對對的壓縮法,不過,實用上卻可以指出絕對錯的壓縮法應用,曾經聽過某大印刷廠自豪地誇耀他們的圖檔完全不壓縮,所以維持了最高印刷品質,聽起來好像很對,不過卻無知地不了解比其使用適當的壓縮法,其實造成失真更大的卻是最後計算印刷網點的 RIP 了,而該公司卻使用了比超高度壓縮後失真還大的設備,用幾十倍大的能量來處理、傳輸、儲存影像,結果卻在最後一關功虧一簣!連帶地雖然用 T1 傳輸資料,在無壓縮下實際效能卻遠低於一般便宜線路,所以壓縮的使用是要取決於整個系統製成的考量,在成本處理、傳輸、儲存)、效能資料量、壓縮、解壓縮)、品質失真)間折衝的決斷得之(Trade-off)。

Idea associations
Table of contents