ピクセル数 400×300=120000 データ量 120000×3=360000バイト
圧縮をしないbmpデータのファイルの大きさを一緒にグラフにするとこうなります。
可逆であってもデータ量はかなり圧縮される事が分かります。
ピクセル数 212×306=64872 データ量 64872×3=194616バイト
圧縮をしないbmpデータのファイルの大きさを一緒にグラフにするとこうなります。
同じ色が続く図のような画像は写真より、かなり大きく圧縮される事が分かります。
小さな画像をつくり →
拡大図はこちら ↓
これは8x8ピクセルなので、
ピクセル数 8×8=64 データ量 64×3=192バイト
Windows BMP なら圧縮をしないので内容を理解できる。Gimpで.bmpの拡張子をつけるか、ファイルタイプを選択して「Windows BMP」にする。
[アプリケーション]-[アクセサリ]-[端末]で、odコマンドを使う。
od -tx1z aaa2.bmp は、16進表示(x), 1バイトごと(1), 文字表記つき(z), というタイプ(-t) で aaa2.bmp というファイルを表示するという意味。
24バイトがピクセルの一行(「が開始場所)。一番上の行がデータでは最後になっている。
パターン | 色 |
---|---|
ff ff ff | 白 |
ff 00 00 | 青 |
00 00 ff | 赤 |
00 ff 00 | 緑 |
ff ff 00 | シアン |
000000 | 黒 |
PNGは可逆の圧縮をしている。Gimpで同じ画像を「名前をつけて保存」で.pngの拡張子をつけるか、ファイルタイプを選択して「PNG 画像」にする。
od -tx1z aaa.png は、16進表示(x), 1バイトごと(1), 文字表記つき(z), というタイプ(-t) で aaa.png というファイルを表示するという意味。
IHDRなどがそのブロックの名前。その前の4バイトがブロックの長さ。各ブロックの最後の4バイトはデータのチェック(Cyclic Redundancy Check)。
実際の圧縮された画像データはIDATの部分60バイト。これが、BMPで保存される192バイトと同等の情報を持っていることになる。
聖愛中学高等学校