マルチな環境で動作する"jpegoptim"との対決は、劣化の最適化が決め手![JPGダイエット対決 vol.01]
ハロウィンも終わり、11月になりましたね!今年もあと二ヶ月です。年末に向けてイベントも多いし、忘年会もあるし、飲みすぎ食べすぎには注意しましょう!お酒を飲む前に脂分を含むものを食べたりして、アルコールの吸収を抑えるようにすると悪酔いしないみたいです!
JPGダイエット対決シリーズの記事はこちら。
- マルチな環境で動作する"jpegoptim"との対決は、劣化の最適化が決め手![JPGダイエット対決 vol.01]
- WordPressの人気画像最適化プラグイン「EWWW Image Optimizer」は、有料APIを利用すると本気になる?[JPGダイエット対決 vol.02]
- 最強の相手はTinyPNG。そのWordPressプラグインの実力は?「Compress JPEG & PNG images」を試してみた。[JPGダイエット対決 vol.03]
- お手軽!かんたん!PCにインストールする「JPEGmini」アプリは画質を優先した画像の最適化が得意![JPGダイエット対決 vol.04]
画像最適化ツール "jpegoptim" vs "LightFile Core"
今回のテーマは、LightFile Coreの実力をみなさんに知ってもらうために、競合との差を比較しようと思います。画像の最適化ツールは一般的な処理のため、さまざまなツールが存在します。GUI(Graffic User Interface)のものだとPhotopshopが有名ですね。OS標準のツールもあります。CUI(Charactor User Interface)だと、ImageMagickなどがあります。
そんな中、今回の対戦相手はマルチな環境で動作する jpegoptim です!
競合との比較にはどんなメリットがあるの?
ウェブサービスの導入や、ツールの選定時は、さまざまな情報を調べてから選択することが多いです。または、業界標準となっている場合はそれらのデファクトスタンダードを選択するということも多いです。
ウェブサービスやツールは、動作条件や機能が似ているようで異なっていたりすることが多く、比較情報はかなり有益な情報源となります。この競合対決シリーズでは、そんなツール選定で苦労されている方の手助けになれば幸いです。おおよそのメリットは、こんな感じです。
- 画質最適化ツールの比較ができる
- 画像最適化ツールの情報がわかる
- 比較結果が得られる
それでは、いざ勝負!
素材は美味しそうな果物が並ぶ色鮮やかなJPG
美味しそうなフルーツが盛りだくさんの写真ですね!ちなみにこの写真はすでにLightFile Coreの画質低で最適化されたものです。どうですか?問題ない画質じゃないですか?
※ ただしファイルアップロード時に、CMSで多少加工されています。比較JPGは、すべてZIPファイルでダウンロードしてローカルで比較いただけます(ページ下部参照)
勝負ポイントは、画質とファイルサイズに限定
ポイントは、2点に絞りました。というよりも、画像最適化の結果は、この2点以外にないからです。いかに劣化させずに、ファイルを軽くするか。これを追求するのが画像の最適化ツールなのです。
- 画質の劣化具合
- 画像のファイルサイズ
jpegoptimをインストールして試してみる
jpegoptimは、Macを利用されている方でHomebrewをインストールして入れば、あっという間にインスト−するすることができます。
brew install jpegoptim
とターミナルに打ち込みましょう。そうすると、
$ brew install jpegoptim
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
feedgnuplot gibo htmldoc jenkins libconfig shairport-sync sslh telegram-cli
==> Installing dependencies for jpegoptim: jpeg
==> Installing jpegoptim dependency: jpeg
==> Downloading https://homebrew.bintray.com/bottles/jpeg-9b.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring jpeg-9b.sierra.bottle.tar.gz
これでインストールは完了です。
とりあえずヘルプを見てみましょう。
$ jpegoptim -help
jpegoptim v1.4.4 Copyright (c) 1996-2016, Timo Kokkonen
Usage: jpegoptim [options]
-d, --dest=
specify alternative destination directory for
optimized files (default is to overwrite originals)
-f, --force force optimization
-h, --help display this help and exit
-m, --max=
set maximum image quality factor (disables lossless
optimization mode, which is by default on)
Valid quality values: 0 - 100
-n, --noaction don't really optimize files, just print results
-S, --size=
Try to optimize file to given size (disables lossless
optimization mode). Target size is specified either in
kilo bytes (1 - n) or as percentage (1% - 99%)
-T, --threshold=
keep old file if the gain is below a threshold (%)
-b, --csv print progress info in CSV format
-o, --overwrite overwrite target file even if it exists (meaningful
only when used with -d, --dest option)
-p, --preserve preserve file timestamps
-P, --preserve-perms
preserve original file permissions by overwriting it
-q, --quiet quiet mode
-t, --totals print totals after processing all files
-v, --verbose enable verbose mode (positively chatty)
-V, --version print program version
-s, --strip-all strip all markers from output file
--strip-none do not strip any markers
--strip-com strip Comment markers from output file
--strip-exif strip Exif markers from output file
--strip-iptc strip IPTC/Photoshop (APP13) markers from output file
--strip-icc strip ICC profile markers from output file
--strip-xmp strip XMP markers markers from output file
--all-normal force all output files to be non-progressive
--all-progressive force all output files to be progressive
--stdout send output to standard output (instead of a file)
--stdin read input from standard input (instead of a file)
かなりいろいろな事ができそうですね!この中のオプションから、今回は以下のオプションを利用します。
- --strip-all メタデータをすべて削除する
- --strip-exif メタデータのうち、exif情報のみを削除する
- -m画質 画質を設定する
このメタデータ削除と、画質の組み合わせで調整します。
jpegoptimのコマンドの実行結果は以下のとおりです。オプションなしでも最適化が走るようですが、何をしているかがわかるほうが良いのでオプションを指定しましょう。
まずは、オプションなしで実行しました。-t をつけていますが、これは処理を標準出力してくれるのでわかりやすくするためにつけています。
$ jpegoptim -t /path/to/jpegoptim.jpg
/path/to/jpegoptim.jpg 2400x1727 24bit N Exif XMP IPTC ICC JFIF [OK] 4026062 --> 3874961 bytes (3.75%), optimized.
Average compression (1 files): 3.75% (148k)
画質オプションはなし、メタデータはすべて削除したもの
$ jpegoptim --strip-all -t /path/to/jpegoptim-strip-all.jpg
/path/to/jpegoptim-strip-all.jpg 2400x1727 24bit N Exif XMP IPTC ICC JFIF [OK] 4026062 --> 3871739 bytes (3.83%), optimized.
Average compression (1 files): 3.83% (151k)
画質オプションはなし、メタデータはexif情報のみ削除したもの
$ jpegoptim --strip-exif -t /path/to/jpegoptim-strip-exif.jpg
/path/to/jpegoptim-strip-exif.jpg 2400x1727 24bit N Exif XMP IPTC ICC JFIF [OK] 4026062 --> 3874855 bytes (3.76%), optimized.
Average compression (1 files): 3.76% (148k)
画質95、メタデータはすべて削除したもの。70%近い削減!
$ jpegoptim --strip-all -m95 -t /path/to/jpegoptim-strip-all-m95.jpg
/path/to/jpegoptim-strip-all-m95.jpg 2400x1727 24bit N Exif XMP IPTC ICC JFIF [OK] 4026062 --> 1200399 bytes (70.18%), optimized.
Average compression (1 files): 70.18% (2759k)
画質85、メタデータはすべて削除したもの。80%を超える削減!
$ jpegoptim --strip-all -m85 -t /path/to/jpegoptim-strip-all-m85.jpg
/path/to/jpegoptim-strip-all-m85.jpg 2400x1727 24bit N Exif XMP IPTC ICC JFIF [OK] 4026062 --> 645107 bytes (83.98%), optimized.
Average compression (1 files): 83.98% (3302k)
画質50、メタデータはすべて削除したもの。90%を超えた削減!
$ jpegoptim --strip-all -m50 -t /path/to/jpegoptim-strip-all-m50.jpg
/path/to/jpegoptim-strip-all-m50.jpg 2400x1727 24bit N Exif XMP IPTC ICC JFIF [OK] 4026062 --> 313684 bytes (92.21%), optimized.
Average compression (1 files): 92.21% (3625k)
画質指定をすると、だいぶ画像が最適化されますね!すべてメタデータは削除して、以下の3つの結果が得られました。
- 元画像 約4MB
- 画質95 約1.2MB(約70%)
- 画質85 約645KB(約84%)
- 画質50 約314KB(約92%)
かなりの最適化です!さて、LightFire Coreはこの結果に勝てるのか?!
LightFile Coreでの処理結果
LightFile Coreは、画質設定が4段階で可能です。それぞれの処理結果をまとめます。
- 元画像 約4MB
- 画質最高 約992KB(約75%)
- 画質高 約648KB(約84%)
- 画質普通 約549KB(約86%)
- 画質低 約225KB(約96%)
けっこうギリギリな勝負結果となりましたが、ファイルサイズにおいては 約89KB(約4%) ほど、LightFile Coreの画質低が軽くなりました!
結果発表
jpegoptimの画質が低いものを「50」と定義した上でですが、LightFile Coreの「画質低」の方が軽量化することができました!もちろん、jpegoptimの画質を50よりも低くすればもっと軽くなると思います。あとは気になる劣化具合です。
元画像リサイズのみ [約4MB]
jpegoptim メタデータ削除、画質95のJPG [約1.2MB]
jpegoptim メタデータ削除、画質50のJPG [約314KB]
LightFile Core で画質最高のJPG [約992KB]
LightFile Core で画質低のJPG [約225KB]
さくらんぼのシズル感の劣化に注目
全体的にみると、正直画質の劣化は気になるレベルにはならないかもしれません。しかし、細部に目を向けるとその違いが現れてきます。今回は、左側の白いお皿の上にある、一番上の赤いさくらんぼに注目します。
オリジナル画像 |
jpegoptim メタデータ削除 画質95 |
jpegoptim メタデータ削除 画質85 |
jpegoptim メタデータ削除 画質50 |
LightFile Core 画質最高 |
LightFile Core 画質低 |
かなり差があることが見えてきますね。ツヤの部分がなめらかなものが劣化が少なく、ギザギザというかジャギーがでてきているものほど劣化が多いものとなります。さらに2倍に拡大したものがこちら。
オリジナル画像 |
jpegoptim メタデータ削除 画質95 |
jpegoptim メタデータ削除 画質85 |
jpegoptim メタデータ削除 画質50 |
LightFile Core 画質最高 |
LightFile Core 画質低 |
jpegoptim メタデータ削除 画質50と、LightFile Core 画質低がジャギーが多めに出ているのがわかります。ここで見ていただきたいのが、画像のが荒れている部分にブロックノイズのようなものの量です。ともにノイズが出ているのですが、jpegoptimよりもLightFile Coreの方がノイズが他の部分に馴染んでいるのがわかります。このノイズの表れ方が、LightFile Coreの最大の特徴なのです。
LightFile Coreは、画像を複数生成して、比較して決定する
最大の特徴である独自アルゴリズムによる、劣化を最小限にしながらファイルサイズを軽量化する仕組みがあるので、LightFile Coreはきれいな状態を保ったままファイルを軽くすることができます。
画質評価指標SSIM(Structural Similarity)を利用した劣化評価をするので、他の最適化ツールのように決められた数値で単純に処理するのではなく、複数枚の画像を生成してからそれらをSSIMで評価し、劣化とファイルサイズが最適化したものを選び出すという、他にはない特徴があります。
LightFile Coreは、絶賛トライアル受付中です!ぜひ、お申し込みください(無料)!
最後に
いかがでしたでしょうか?
jpegoptimは、とても優れたツールでありながら、LinuxやWindows、Macでも動作するマルチな環境に対応した画像最適化ツールです。まずは軽量化をやってみたい!という方にはとてもオススメです。また、GUIではなくCUIでやりたいという方も多くいるので、かなり重宝されているツールでもあります。
忘年会などで泥酔した写真を撮られても、JPGダイエットしてファイルが軽くなれば、メール添付もできますし、SNSツールでも簡単にアップロードできますね!年末にやっちゃった感を残さないためにも、悪酔いしないように心がけましょう!
今回評価した画像は、こちらのZIPファイルでダウンロード可能です。ファイルサイズが重いので、ご注意ください。また、この画像を利用したい場合は、あわせて素材サイトのURLを記載しておきます。
- jpegoptim-lfc.zip [約20.9MB]
- Unsplash
メール無料相談
お聞きになりたいことはありませんか? この記事の筆者 グロースハッカー能勢 がまずはメールで疑問やお悩みを伺います! フォームよりお気軽にお寄せください。
フォローしませんか?