Google 開源 Guetzli 對 JPEG 壓縮的演算法

Google 釋出新的對 JPEG 壓縮的演算法,比現有的壓縮在省下 35% 的容量,而且維持現有的清晰度。

註:缺點是壓縮需要的時間比較久 (我的測試最少要 3倍以上的時間)

Google 開源 Guetzli 對 JPEG 壓縮的演算法

Guetzli 有公開論文與原始碼 (Open Source),詳見:

Guetzli 的安裝

於 Guetzli 的 GitHub 有 Release 編譯完成的版本,可見此處:Releases · google/guetzli

安裝直接下載 guetzli_linux_x86-64 即可,如下述步驟:

  1. wget https://github.com/google/guetzli/releases/download/v1.0/guetzlilinuxx86-64
  2. chmod +x ./guetzli_linux_x86-64

Guetzli 的圖片壓縮測試

Guetzli 於新聞雖然只有寫說是 JPEG,但是 GitHub 裡面的範例是 png,直接嘗試 pngcrush 與 guetzli 的壓縮比較

  1. wget https://github.com/google/guetzli/releases/download/v0/bees.png # 抓取線上提供的圖片
  2. $ time pngcrush -rem alla -brute -reduce bees.png pngcrush.png
    • real 0m6.571s
    • user 0m6.436s
    • sys 0m0.108s
  3. $ time ./guetzli_linux_x86-64 bees.png guetzli.png
    • real 0m18.613s
    • user 0m18.180s
    • sys 0m0.404s
  4. 壓縮完成的檔案大小比較,容量真的是省很多(省 4倍以上),圖片看不太出來差異
    • 37910 guetzli.png
    • 175256 pngcrush.png

對於 JPEG 的測試,目前有對一個目錄內的圖片做壓縮 (已經經過 jpegoptim 過得圖片),得到的結果如下:

  • 多張圖片再次壓縮的效果
    • jpegoptim 後,再讓 guetzli 壓縮,圖片並不一定會變小,不少圖片反而變大,但是整個目錄總容量是比較小的,不過省的幅度比預期少
  • 壓縮速度比較
    • jpegoptim 壓縮大約幾秒鐘
    • guetzli 壓縮可能要多 n 倍的時間 (泡杯咖啡,吃完零食都還沒跑完,實際時間就沒量測)
  • 實際差異可能要使用沒有壓縮過得原圖,讓 guetzli 壓縮後,再來比較看看可能會比較好 (此測試還沒做,要做大量的圖片比較能看出優缺點)

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料