2016/03/20(日)画像ファイルサイズ削減いろいろ

全部読むのが面倒な人向けお勧め手順

お勧め手順JPEG

  1. TinyPNG に通す
  2. 画質劣化が気になるようなら、JPEGminiも試す

お勧め手順PNG

  1. (PNGが不得意な画像・大きな画像についてはJPEGにすることも考えてみる)
    • PNGの方がサイズが小さくなる場合もあるので、可能なら両方作って比較するのが良いです。
  2. TinyPNGに通す

JPEG/PNG/GIF用

Antelope(劣化あり/なし選択可能・一括処理向け)

JPEG用

既に有るJPEG画像の再圧縮方法です。新規画像作成時は、画像編集ソフトでJPEG出力するときに、画像品質を適切に設定しましょう。

WEBSITE PLANET(劣化あり・Webサービス)

JPEGmini (劣化あり・Webサービス)

  • URL: http://www.jpegmini.com/
  • Webサービスなので、アップロード→圧縮された画像をダウンロード、という流れ。
  • 画質はほとんど変わらないので、とりあえず使ってみて良いかも
  • 元画像の保存品質が過剰に良い場合は大きくサイズが減る
    • 画像品質を適切に調整済みの場合は、劇的にサイズが減るわけではない

TinyPNG (劣化あり・Webサービス)

  • URL: https://tinypng.com/
  • いつの間にかJPEGにも対応していた
  • Webサービスなので、アップロード→圧縮された画像をダウンロード、という流れ。
  • 画質はほとんど変わらないので、とりあえず使ってみて良いかも
  • 元画像の保存品質が過剰に良い場合は大きくサイズが減る
    • 画像品質を適切に調整済みの場合は、劇的にサイズが減るわけではない
  • JPEGminiに比べるとサイズは小さくなる傾向
    • ただ、JPEGminiより得手不得手がある印象(小さめの画像で、JPEGminiよりファイルサイズ・画質とも良くないことがあった)

IrfanView (劣化あり・画像ビューア・一括処理も可)

Caesium (劣化あり・一括処理向き)

jpegtran (劣化なし・コマンドラインソフト)

  • URL: http://jpegclub.org/jpegtran/
  • Windows用バイナリは「Windows binary compilation: jpegtran.exe or packed jpegtran.zip」からダウンロード。
  • コマンドラインツールなので、CUIに慣れていない人には使いにくいかも。
  • 以下のコマンドで最適化。
    jpegtran -copy none -optimize -progressive 入力.jpg 出力.jpg
    
    • プログレッシブ方式の方がサイズが小さくなりやすい*1のでprogressiveオプション付きに。
  • 上記のCaesiumの出力ファイルもさらに小さくできる。
  • 一部、逆にファイルサイズが大きくなってしまうファイルもあった。(なので、ファイルサイズをチェックしておいた方が良いかも。)

他のソフト

*1 : 小さい画像だとベースライン方式の方が小さくなることもあるようです

PNG用

TinyPNG (劣化あり・Webサービス)

  • URL: https://tinypng.com/
  • Webサービスなので、アップロード→圧縮された画像をダウンロード、という流れ。
  • 画質はほとんど変わらないので、とりあえず使ってみて良いかも
  • 劣化を許容するだけあってかなり小さくなる。
    • ただ、劣化OKならJPEGも試してみて、画質-ファイルサイズバランスを比較検討した方が良さそう。

pngquant (劣化あり・コマンドラインソフト)

  • URL: https://pngquant.org/
  • TinyPNGの内部エンジンらしい。
  • ローカルで処理できるので、大量の画像を一括処理したいならこちらの方が向いてる。
  • 以下のコマンドで最適化。(元ファイルを上書き)
    pngquant --skip-if-larger --speed 1 --ext .png --force 入力.png
    

PNGGauntlet (劣化なし・一括処理向き)

  • URL: http://pnggauntlet.com/
  • PNGOUT, OptiPNG, DeflOptの3つのツールを使ってPNGファイルサイズを削減。
  • 画質は変化しないので、PNGならとりあえずこれで最適化してしまってよさそう。
  • 上記のTinyPNGで圧縮されたPNGは既に十分最適化されているのか、PNGGauntletでさらにサイズが減ったりはしなかった。

参考:ECO-Wiki (acronia) の画像ファイルサイズ削減

転送量はともかくとしても、あまり画像が大きいと閲覧に時間がかかって良くないので、元のECO-Wikiにあった画像についてファイルサイズ削減を実施しました。

手順。

  • JPEG
    • Caesiumで品質90で再圧縮(ファイルサイズが減ったのだけ差し替え)
    • jpegtranで最適化(ファイルサイズが減ったのだけ差し替え)
  • PNG
    • PNGGauntletで最適化
    • 最適化してもファイルサイズ300kB以上のPNGはTinyPNGで圧縮*2

削減前は500kB越えのファイルも少しあったのですが、削減後は300kB以下に抑えてます。

画像ファイルサイズ TOP10
ファイル処理前[byte]処理後[byte]
gamedb_wiki/Hairsalon/2012F/tukaima_long.png958,106250,360
gamedb_wiki/Hairsalon/2012M/hair_color-hnaoto_b.jpg648,727175,808
gamedb_wiki/PetList/けるべろす.png561,488126,719
gamedb_wiki/男性ヘアサロン/devil.jpg559,552204,403
gamedb_wiki/男性ヘアサロン/ayakashi-color.jpg521,791197,885
gamedb_wiki/PetList/Ride/magicbaggage_white.png508,228270,102
gamedb_wiki/女性ヘアサロン/Haircolor_seiya.jpg502,531219,917
gamedb_wiki/Hairsalon/2012F/shiho.png489,119113,111
gamedb_wiki/髪型の変更/Haircolor_tare_usa.jpg487,959211,509
gamedb_wiki/Hairsalon/2012F/tukaima_twin.png478,023120,401

余談

一部、「拡張子jpg、内容png」のファイルがあって、拡張子をpngに直したのですが、よく考えたら内容をjpgに変換した方がURL変更する必要が無いのでよかったですね(^_^;)

*2 : 全ファイルをTinyPNGに通すのは手間だったので

履歴

  • 2014/11/19: 作成
  • 2015/03/18: 更新
  • 2015/09/12: 更新、pngquantを追加
  • 2016/03/20: 更新、Antelopeを追加