LoginSignup
25
24

More than 5 years have passed since last update.

GuetzliとMozjpegは、どっちが高性能か。

Last updated at Posted at 2017-01-21

始めに

GoogleがJPEGエンコーダー「Guetzli」をオープンソースで公開というネットニュースを見て、HDDを圧迫している画像ファイルを小さくできたらいいなと思い調べてみました。
検索してみると次世代jpegエンコーダのGoogle製「guetzli」とMozilla製「mozjpeg」を比較してみるというブログを発見しました。
googleの作ったguetzliだけではなく、Mozillaの作ったmozjpegというツールがあるみたいです。
ブログでは、現時点のバージョンでは、mozjpegの方が優れているという結果になっています。
ブログで比較に使われたバージョンは、
Google/guetzli v0.1
mozilla/mozjpeg v3.1
ですが、guetzliはv0.2になっており、使ってみると驚くほど縮小されるので、もしかすると大幅に改善された可能性もあるなと思い比較してみました。

Mozjpegの準備

How to Install mozjpegを参考にしてインストールします。

bash
$ sudo apt-get install git
$ git clone https://github.com/mozilla/mozjpeg.git
$ sudo apt-get install autoconf automake libtool nasm make
$ cd mozjpeg
$ autoreconf -fiv
$ mkdir build && cd build
$ sh ../configure
$ sudo make install

シンボリックリンクを貼って使いやすくします。
:bash
$ sudo ln -s /opt/mozjpeg/bin/jpegtran /usr/local/bin/mozjpeg

使い方は、こんな感じです。
:bash
$ mozjpeg -optimize -copy none image.jpg > compressed.jpg

Guetzliの準備

guetzliは、ビルド済みの実行プログラムが用意されているので、guetzli_linux_x86-64をダウンロードします。
ダウンロードしたファイルに、シンボリックリンクを貼って使いやすくします。

bash
$ sudo ln -s /opt/guetali/guetzli_linux_x86-64 /usr/local/bin/guetzli

使い方は、こんな感じです。
:bash
$ guetzli -quality 84 image.jpg compressed.jpg

比較

次世代jpegエンコーダのGoogle製「guetzli」とMozilla製「mozjpeg」を比較してみるブログと同じ条件で比較しようかと思ったのですが、何故かmozcjpegに、qualityオプションが見つからない(?)
なので、同じ画質オプションでの比較はやめて、デフォルト設定での比較にしました。

オリジナル画像

IMG_ORIGIN.jpg
サイズ:305.9 kB (305,919 bytes)

Mozjpeg画像

mozjpeg.none.jpg
サイズ:289.5 kB (289,477 bytes)

Guetzli画像

guetzli.95.jpg
サイズ:273.1 kB (273,145 bytes)

結果

どちらも目視で分かる劣化は認められませんでした。
変換速度は、Guetzliが比較にならないほど遅く画像によってはエラーになるようです。
しかしながら圧縮能力は、Guetzliの方が優れています。
osamu1203さんの比較とは逆の結果となりました。
まだ、v0.2ですし変換速度と安定度が改善されたらGuetzliが、オススメです。

再検証

osamu1203さんからmozjpegには、可逆版コマンド(jpegtran)と不可逆版コマンド(cjpeg)が分かれているとの指摘がありましたので、再検証してみました。
バージョンは、guetzli(v0.2)/mozjpeg(v3.1)です。

蜂の画像(bees.png)

まずguetzliの蜂のサンプル画像を使って検証しました。

-quality guetzli mozjpeg
100 148.4kB 75.3kB
95 37.9kB 34.9kB
90 25.8kB 25.2kB
85 20.3kB 20.0kB

osamu1203さんの実験結果と同じで、mozjpegの方が優秀という結果になりました。
バージョンの違いによる性能アップは、今のところ無さそうですね。

猫稲荷の画像

ついでなので、前回使った猫稲荷の画像も試してみました。
オリジナル画像のサイズは、3.4MBです。

-quality guetzli mozjpeg
100 3.3MB 5.2MB
95 3.1MB 3.9MB
90 2.6MB 3.3MB
85 2.3MB 2.8MB

こちらの画像では、guetzliの方が優秀という結果になりました。
画像によって、得意不得意がでてくるのかも知れません。
guetzliの速度はとても実用に耐えないのですが、改善されたらもう少し色々な画像で試して見たいと思います。

25
24
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
24