PNGのチャンクでも触れたのだけど、PNG以外の画像ファイルも画像データ以外の情報データや、無駄なデータを含んでいます。Web上で使うファイルはできるだけ容量が少ない方が良いので、このサイトの画像ファイルは無駄なデータの最適化・削除を行うソフトで処理してあります。
carmine (windmaker webpage)
JPGファイルのハフマンテーブルの最適化、exifデータの削除を行います。ハフマンテーブルは画像データの一部で、厳密には画質に影響する項目ですが、最適化しても差は分からないレベルです。どうせJPGにする時点で画質は劣化するので、最適化してます。exifデータはデジカメで撮影時に書き込まれるレンズ絞りやシャッター速度などの情報です。画像表示の際は基本的に影響しないデータです。
JPEG Cleaner (SMALL CALL)
JPGファイルの情報データを削除します。削除する項目を設定することが可能。メニューの [ファイル] → [バッチ処理] で複数ファイルを処理できます。ソフトの開発は終了。
JPG画像はこの二つをかけると、容量を2/3~1/2くらい削減できてます。GIFについては注意が必要ですが、以下のソフトを使用してます。
Trout's GIF Optimizer (Chemware)
GIFファイルを最適化します。ファイルをドラッグすると、最適化が可能なファイルにチェックがつき、最適化を行うことができます。しかし、透過GIFの場合、透過部分がおかしくなる場合があるので注意が必要。日本語環境に対応していないようで、exeが日本語名の階層下にあるとプログラムの終了時にiniファイルを保存できず不正終了します。(デスクトップなどに置いた場合)
画像の多いサイトではかなり効果があるので、良かったら試してみて下さい。
匿名
ハフマンテーブルの最適化は画質に影響しないのではないでしょうか。
さじ
すみません、そうかもしれません。
解説によると…
JPEGファイルは、ハフマンテーブルというものを用いたハフマン圧縮を行います。ハフマンテーブルはそのデータごとに持つことによって最適な圧縮が出来ますが、処理に時間がかかるのでほとんどのデジタルカメラは、(ある程度の効果がある)規定のハフマンテーブルを利用しています。これを最適化することによりファイルサイズを減らします。
「最適な圧縮」でなくなるので、最適でない画質になると思っていました。
しかし改めて調べてみると、ハフマン圧縮は非可逆圧縮ではないようです。
展開速度を優先して最適でないハフマンテーブルを使用し容量を犠牲にしている所を、
最適なハフマンテーブルに置き換えて容量優先にしているのですね。
ということは、展開速度が遅くなってるのか…
ご指摘どうもありがとうございます。
tredinertok
Hi all!
Very interesting information! Thanks!
G'night