いまさらではあるが・・・
先日、ふと画像のサイズ(画像の大きさではなくて、ファイルのサイズ)を見て、”えっ!”と思った。
実は、画像のサイズが一番とまではいかないが、結構小さくなるのは、ピング(画像の書式をいい、ファイルの拡張子が "png")だと思っていたが・・・
jpeg(jpg)の方が小さくなっていたので驚いた。
最近、極力、フォト等の画像、ドキュメント等は、PNG形式で作成するようにして、ブログにアップしている。
これは、少しでも、ファイルのサイズが小さくなれば、ブログの読込&表示が早くなることを考慮している。
もっとも、ほとんどの画像書式で、データは、圧縮を行っている為その圧縮技術の方法で圧縮比率が異なる結果、ファイルサイズが異なることになる。
現在広く使われている画像の書式は、4種類程。(これ以外にもあるが、ほぼ4つと考えればいいと思う)
その4種類のファイル拡張子は、以下に記載。
(【】内は、一般的な呼び名)
・BMP 【ビットマップ】
・JPEG/JPG 【ジェーペグ】
・GIF 【ジフ】
・PNG 【ピング】
(一時期ドキュメント関連でよく使われていたTIFなる形式もある。この形式は、複数の画像を1ファイルに持つことができるすぐれもの)
データの圧縮方法の違いで、単純に比較ができないが、黒色1色の画像サイズ 100 x 100ピクセルのビットマップ(拡張子BMP)をベースに比較してみた。
ビットマップ方式は、1ピクセルに対して、色24ビット色(フルカラー)。
24ビットなので、2の24乗=16,777,216色。
1ピクセルに設定できる色が、16,777,216色もある。印刷でこの色が出せるのかどうかわからないが・・・
BMP形式は、データを圧縮しないので、そのままの情報となる。
100x100ピクセルの画像は、100x100x24=240000ビット。
バイトに変換すると 240000/8=30000バイト
BMPファイルのサイズは、30054バイト。
54バイトは、ファイルの書式情報にあたるだろう。
(ファイルサイズ 30054バイト)
gazo.BMP (ブログがこの画像形式未サポートのためULできず)
BMPファイル以外は、データを圧縮するので、圧縮方式により大幅に異なる。
但し、このデータは、BMPからGIF、BMP->JPG、BMP->PNGに変換してファイルを作成している。
この例からは、1番ファイルサイズが小さくなるのは、PNG。
<表>
ファイル名 | 画像形式 | 圧縮方式 | ファイルサイズ(バイト) |
---|---|---|---|
gazo.BMP | BMP | 非圧縮 | 30054 |
gazo.GIF | GIF | 可逆圧縮 | 964 |
gazo.JPG | JPG | 不可逆圧縮 | 823 |
gazo.PNG | PNG | 可逆圧縮 | 285 |
GIFファイルは、色を256色に限定しているため、色表現に限界があるが、その他は、フルカラーである。
ただ、GIFファイルからフルカラーのJpg,Pngに変換するとPngだけが非常に不利な状態となる。
それは、ファイルのサイズが大きくなること。
PNGは、BMPからの変換では、結構な圧縮率で、ファイルサイズが小さくなるが、GIFファイルからの変換は、逆にファイルのサイズが大きくなる。
Bmp->Png 285 バイト
Gif->Jpg 859 バイト
Gif->Png 978 バイト
Gifファイルから一旦、Bmpに変換したのち、Pngに変換すればファイルサイズは、小さくなる。
フォト等で使用される、JPG方式は、データの圧縮が不可逆圧縮方式。
これは、データの間引きにより圧縮率を高めている方式なのだが、その代わり、再生時に画質の劣化が発生する。逆に、「可逆圧縮」は、データの劣化がない。
データの劣化とはいえ、画素数が高ければ、劣化もさほど表示内容に影響が発生しない。
一昔のデジタルフォトは、画素数が低かったため、この劣化が結構目についた。今は、画素数が高いので、問題にはならない。
とりあえず、今後も、PNGでUL(アップロード)することにしようと思う。