画像フォーマット PPM

chkemiです。

先日、mp4というファイルフォーマットについて取り上げましたが引き続き、ファイルフォーマットについて書きたいと思います。

今日は中でも普段、お目にかかることのないであろうPPM(Portable Pixmap)ファイルについて書きたいと思います。

PPMファイルとは、異なるプラットフォーム間でも高い互換性を保てる画像形式として1980年代に開発されたファイル形式です。 表示や生成には「Irfan View」というフリーのアプリケーションが便利です。

PPMには「アスキー形式」と「バイナリー形式」の2種類があります。データがアスキー形式、バイナリー形式かを 区別するにはヘッダーの先頭2バイト(マジックナンバー)で判別します。

先頭2バイト 形式
P3 アスキー形式
P6 バイナリー形式

アスキー形式

ヘッダー
2バイト P3
1バイト 改行コード
不定 横幅(アスキー文字列)
不定 セパレート
不定 縦幅(アスキー文字列)
1バイト 改行コード
不定 最大輝度(アスキー文字列)
1バイト 改行コード
データ
不定 R(アスキー文字列)
不定 セパレート
不定 G(アスキー文字列)
不定 セパレート
不定 B(アスキー文字列)
不定 セパレート

バイナリ形式

ヘッダー
2バイト P6
1バイト 改行コード
不定 横幅(アスキー文字列)
不定 セパレート
不定 縦幅(アスキー文字列)
1バイト 改行コード
不定 最大輝度(アスキー文字列)
1バイト 改行コード
データ
不定 R(バイナリ)
不定 G(バイナリ)
不定 B(バイナリ)

次回はPPMを扱うプログラムを書いてみたいと思います。

Comments