TinyPNGとTinyJPG
画像の取り扱いに迷走中なのですが、画像を圧縮する良い方法はないかと探してみました。気軽に使いたいので、無料でログインなしで使えるオンラインサービスに絞った結果、TinyPNGというサイトにたどりつきました。
Make your website faster and save bandwidth. TinyPNG optimizes your PNG images by 50-80% while preserving full transparency!
特徴
- 「.png」「.jpg」ファイルを圧縮できる
- ファイルをドロップするだけ
- 一度に最大20枚の画像、1つのサイズは5MBまで
ちなみにTinyJPGというのもあるらしいですが、どちらも 「.png」「.jpg」が圧縮できるらしいです。
安全性は?
あやしげなパンダが印象的なので、このサイトは大丈夫なのかなーと思ってしまいましたが、オランダ、アムステルダムのVoormediaという会社が2014年に開始したサービスで、WordPressのプラグインにもあるらしいので大丈夫だと判断しました。仕組み
あやしげなパンダ曰くPNGファイルをアップロードすると、画像の類似した色が組み合わされます。この手法は「量子化」と呼ばれます。色の数を減らすことにより、24ビットのPNGファイルをより小さな8ビットのインデックス付きカラー画像に変換できます。不要なメタデータもすべて削除されます。その結果、透明度を100%サポートする PNGファイルになります。ケーキを持って食べてください!
PNG-24は1677万色、PNG-8は258色ということらしいので、かなり色の数が減っていそうですが、圧縮前と圧縮後のファイルを見比べても、全く見分けがつきませんでした。
ただ、PNG-8は写真やグラデーションには向いていないらしいので、写真にこだわる人だと違いが分かるのかなーと思いました。
減色アルゴリズム
仕組みが気になったので調べてみました。1979年にPaul Heckberという人が開発したメディアンカット法というアルゴリズムが使われているそうです。
結局、理解できなかったのでWikipediaを引用しておきます。
中央値カットは、最長次元に沿った中央点でデータの各セットを再帰的にカットすることにより、任意の数のディメンションのデータを一連のセットにソートするアルゴリズムです。中央カットは通常、色の量子化に使用されます。たとえば、64k色の画像を256色に縮小するには、メディアンカットを使用して、元のデータによく一致する256色を見つけます。
0 件のコメント:
コメントを投稿