Googleのjpeg高圧縮エンジンguetzliとは?
guetzliはgoogleが2017年3月に発表したjpeg高圧縮エンジンです。
アルゴリズムや技術的なところはこちらのページが詳しいのでどうぞ
Guetzli/Butteraugliに関するあれこれ – Qiita
当ブログではguetzliが実際のweb制作の現場で使用できるものなのか?
またmozjpeg との性能比較もしたいと思います
MozJPEGのインストール
Macの場合 homebrew でインストールします
brew install mozjpeg
MozJPEGの実行方法
street.jpg を「クォリティ80」で圧縮して street_moz.jpg を作成するには次のようなコマンド入力します。
(出力するファイル名を先に入力するので注意が必要です)
cjpeg -quality 80 -outfile street_moz.jpg street.jpg
guetzliのインストール
同じくMacの場合 homebrew でインストールします
brew install guetzli
guetzliの実行方法
street.jpg を「クォリティ84」で圧縮して street_moz.jpg を作成するには次のようなコマンド入力します。
ちなみにクオリティに指定できるのは84から100までの間です。(それ以下は指定できません)
guetzli --quality 84 street.jpg street_google.jpg
guetzliとMozJPEGの比較
こちらの画像で比較します。
street.jpg (2600×1698ピクセル) 1,778,913 バイト(ディスク上の 1.8 MB)
(ブログでの表示用にサイズを縮小しています。)
比較方法: 同じファイルサイズとなるように圧縮して、どちらが元画像からの劣化が少ないかを主観的に判断。
それでは実行してみます。
1. guetzli で クォリティ 84 で圧縮
time guetzli --quality 84 street.jpg street_google.jpg
結果: 1,048,105 バイト(ディスク上の 1 MB)(圧縮率 58.9%)エンコード時間
2. MozJPEGで近いサイズになるように圧縮
cjpeg -quality 80 -outfile street_moz.jpg street.jpg
結果: 1,050,070 バイト(ディスク上の 1.1 MB)(圧縮率 59.0%)
実際に圧縮したデータを置いておきます。こちらからどうぞ。
比較した結果…。
目で見て違いはわかりませんでした。
これはguetzli がクォリティ 84以下を指定できないため高クォリティ同士の比較となってしまうからです。
ただしエンコード時間はguetzliは恐ろしく長いです。(MacBookなら冷却ファンも確実に回りだします。)
ですので、現時点ではguetzliはWEB制作の実用には全く耐えません。
が、今後高圧縮(クォリティ84より下)オプションを指定できるようになった時はまた試す価値があると思います。
まとめ
・現時点ではMozJPEGの方が良い。
・Photoshopからpngで書き出してMozJPEG(Macならイメージオプティム)を通すといい感じで高圧縮なjpegになります。
・最近のPhotoshop CCなら 「書き出し形式」(コマンド + オプション + シフト + W )で書き出すと、新しいjpegエンコードエンジンで書き出されるのでそれで書き出すのもいいと思います。