Guetzli - 高品質圖像壓縮

學習如何透過 Google Guetzli 來壓縮並保持高品質圖片

ta-ching chen

1 minute read

 文章目錄

前言 

一般的圖片壓縮演算法通常會透過犧牲圖片的品質,達到降低檔案大小來減低傳輸時間、網路流量等。前幾天 Google 釋出新的圖片壓縮的工具 Guetzli,根據 GitHub 頁面說明新的演算法可以在保持高視覺品質的同時,減少圖片 20-30% 的檔案大小。下面會介紹該工具的使用方式,以及實例比較。

安裝 

  • 以 macOS 為例,其他作業系統可以參考官方 GitHub 說明。
$ brew install guetzli

用法 

  • --quality 的數字需 >= 84 (否則會出現警告說需要修改原始碼才能使用更低品質的壓縮)
  • 此演算法仰賴 CPU 運算來取得最佳結果,因此圖片大小不建議超過 1MB 才能較快壓縮完畢
$ guetzli [--quality Q] [--verbose] original.png output.jpg
$ guetzli [--quality Q] [--verbose] original.jpg output.jpg

若原始檔案尺寸太大,又不想安裝其他軟體的話,macOS 內建 sips 指令方便壓縮圖片尺寸大小

# -Z --resampleHeightWidthMax pixelsWH
$ sips -Z <max-height/width> --out <target-image> <source-image>

實例對比 

下面圖片是以兩種不同壓縮方式得到的圖片,請問左、右邊何者是普通圖片壓縮軟體,何者是 Guetzli 呢?

Comparsion

答案揭曉 

  • 左邊為一般圖片壓縮軟體,右邊則為 Guetzli。

兩者間最大的差異在於天空藍色部分的漸層分佈,一般壓縮演算法無法很好的處理漸層的顏色轉換,使得左邊出現淡淡的水波紋效果,而右邊 Gueztli 則的天空藍較呈現平順變換。另外,左邊的檔案大小為 62 KB,右邊則為 53 KB,可以看出在縮小圖片大小的同時,也的確能夠維持圖片高視覺品質。

優缺點 

Guetzli 在上述對比中可以看出其效果,卻也非所謂的 silver bullet,下面列出其優缺點以供參考。

優點 

  • 壓縮後能維持較高的圖片品質
  • 在同樣圖片尺寸大小下,壓縮後檔案大小較小

缺點 

  • 透明背景圖片壓縮後,檔案大小增加且會變成黑色背景(?)
  • 小檔案 (< 10 KB) 壓縮後反而會變大
  • 壓縮十分耗時(CPU),不適用需要快速壓縮的狀況
    • 運算資源足夠的話此缺點可忽略,因壓縮過一次後可以節省無數 CDN 成本

相關文章

comments powered by Disqus