ILBM

ILBM （アイエルビーエム、 の略）は、Interchange File Format (IFF) を使って画像データを格納するファイルフォーマット。画像データは可変個のビットプレーンとして格納される。ビットプレーンとは、画像内の各ピクセルの特定のビットだけを集めたものである。水平方向と垂直方向の連長圧縮をサポートしている。

このフォーマットは、Amiga のチップセットの機能と密接に関連しており、そのチップセットには3つの世代がある。

Amigaとの関係 
OCS (Original Chip Set) と ECS (Enhanced Chip Set) では、最大6枚のビットプレーンをサポートしており、普通に考えれば64色表示が可能である。しかし、パレットレジスタは32個しかない。5枚のビットプレーンはパレットレジスタ番号にそのまま対応している。6枚のビットプレーンの用途は2つある。1つはピクセルの輝度（明るい/暗い）を指定して64色を表示するモードである。もう1つは HAM (Hold And Modify) モードと呼ばれ、パレットでは16色しか使わず、制限付きながら4096色を表示するモードである。

AGA (Advanced Graphics Architecture) チップセットでは、8個のビットプレーンを使え、256色のパレットレジスタがある。このため、64色、128色、256色のモードがある。さらに HAM8 モードで64色のパレットを使って、最大 262,144 色を表示する。

ILBM は IFF に基づいているため、ファイルはチャンク (chunk) で構成される。各チャンクには4バイトのタイプ識別子、4バイトのチャンク長があり、その後の構造はチャンクのタイプによって異なる。このような構造により、フォーマットを容易に拡張できる。プログラムは未知のチャンクをスキップすればよいからである（長さは判っている）。

チャンク 
以下のチャンクがILBM用に定義されている。

 BMHD (BitMapHeaDer)
 CMAP (ColorMAP) - カラーパレット用標準IFFチャンク
 GRAB (GRAB position)
 CAMG (Commodore AMiGa computer)
 BODY - ビットプレーンとマスク。

もちろん、ILBMファイルにも標準IFFチャンクを含めることができ、作者、バージョン、コピーライトなどを記述できる。Deluxe Paint で作成したファイルには次のチャンクもある。

 DPAN (Dpaint) - Deluxe Paint の設定を格納

ILBM から派生したフォーマットとして、アニメーションをサポートした ANIM がある。ANIM ではさらに以下のチャンクが定義されている。

 ANHD (ANimation HeaDer)
 DLTA (DeLTA) - フレーム間の差分を格納。圧縮方法もいくつかサポートしている。

画像ファイルフォーマット
AmigaOS