アナログ
RSS  

画像を劣化させずにファイルサイズを小さくする(Progressive Jpeg)2008/11/08 10:02

JTB 1.0.07
画像を劣化させずにファイルサイズを小さくする(Jpeg)でいろいろ思うところあって、プログレッシブJpegに触れなかったのですが、減色までしてファイルサイズを減らす話を書いておいて、全く触れないのもどうかと思いなおしました。

プログレッシブJpegが何かはIT用語辞典をご覧ください。
プログレッシブJpegでファイルサイズが小さくなる理由はベースラインとプログレッシブをご覧ください。

無劣化でベースラインとプログレッシブを変換するツールはJTBの1.0.07以降※1を使います。

操作は、JTBに対象のファイルをドロップして、「ファイルサイズ増加の時は上書きしない」のチェックを外し※2、プログレッシブ化にチェックしてOKボタンを押すだけです。

逆に非プログレッシブ化にチェックすると、通常の(ベースライン)Jpegに無劣化で変換できます。

-追記-
プログレッシブ化によってファイルサイズが必ず小さくなるわけではありません
ファイルサイズ重視の場合、手順は次のようになります。
※上書きになりますので、必ず元画像をバックアップしてから作業してください。
  1. 元の画像がプログレッシブJpegなら、JTBで「ファイルサイズ増加の時は上書きしない」のチェックを外し「非プログレッシブ化」をチェックしてベースラインに変換
  2. JTBで「プログレッシブ化」「非プログレッシブ化」のチェックを外して
    「ファイルサイズ増加の時は上書きしない」「最適化」「エクストラ・マーカー削除」をチェックして最適化
  3. carmineで最適化 (画像を劣化させずにファイルサイズを小さくする(Jpeg)を参照)
  4. JTBで「ファイルサイズ増加の時は上書きしない」「プログレッシブ化」をチェックして最適化 (この場合、プログレッシブ化でサイズが大きくなるファイルは上書きされません
1~3の作業は大抵無駄になるのですけど、ファイルサイズにこだわるとしょうがないかと。
では、ファイルサイズを比較してみましょう。例によってアサブロテンプレートから(笑)。
カクテル(マティーニ)
クリックで拡大します。
オリジナル127,178
ベースライン:JTB→carmine105,472
プログレッシブ化:JTB101,915
結果は、オリジナルに比べて25263バイト約20%小さくなっています。

冒頭のいろいろ思うところといった件ですが、互換性と負荷なんですよね。

今更表示できないブラウザはないと思いますが、ブラウザ以外で使うとなると表示できない場合がないといえません。

負荷も、10分割されてると10倍の表示負荷がかかります。1枚、2枚なら10年前のパソコンでも問題になりませんが、100枚だと1000枚の画像を表示する負荷に匹敵します。

もっとも、ブログで使うテンプレート画像としては、ナローバンドの環境を考えるなら、むしろプログレッシブを使うべきと思う訳で
転送量的にプロバイダとしてどうよ?
前回と同じ結びになるのでした(笑)。
※1
JTB 1.0.06から「ファイルサイズ増加の時は上書きしない」のオプションが付いた事で、1.0.04と1.0.05を使い分ける必要がなくなりましたので、それに合わせて説明を変更しました。
※2
確実に「プログレッシブ化」あるいは「非プログレッシブ化」するには「ファイルサイズ増加の時は上書きしない」のチェックを外す必要があります。理由は変換後ファイルサイズが小さくなると限らないからです。