コンピューティングにおいて、ビットマップ(ラスターとも呼ばれる)グラフィックは、異なる色のピクセルの行から構成される画像です。[ 1 ] GIFは、ビットマップを使用するグラフィック画像ファイルの一例です。[ 2 ]
名詞としての「ビットマップ」という用語は、特定のビットマップアプリケーション、つまりピクセルマップを指す場合によく使用されます。ピクセルマップとは、各ピクセルが2色以上を格納できるため、1ピクセルあたり複数のビットを使用するピクセルマップのことです。このような場合、問題となる領域は、デジタルグラフィック出力デバイス(スクリーンまたはモニター)を構成するピクセルの配列です。一部の文脈では、ビットマップという用語は1ピクセルあたり1ビットを意味し、ピクセルマップは1ピクセルあたり複数ビットの画像に使用されます。[ 3 ] [ 4 ]
ビットマップとは、デジタル画像を保存するために使用されるメモリ構成または画像ファイル形式の一種です。ビットマップという用語は、コンピュータプログラミング用語に由来し、単にビットのマップ、つまり空間的にマッピングされたビットの配列を意味します。現在では、ピクスマップと同様に、空間的にマッピングされたピクセルの配列という同様の概念を指すのが一般的です。合成画像か写真画像かを問わず、ファイルやメモリ内のラスター画像は、一般的にビットマップまたはピクスマップと呼ばれることがあります。
多くのグラフィカルユーザーインターフェイスは、組み込みのグラフィックスサブシステムでビットマップを使用します。[ 5 ]たとえば、Microsoft WindowsおよびOS/2プラットフォームのGDIサブシステムは、 WindowsおよびOS/2ビットマップファイル形式を使用します。これは通常、ファイル拡張子.BMP(またはデバイス非依存ビットマップ.DIBの場合は)で命名されます。BMPの他に、リテラルビットマップを格納するファイル形式には、InterLeaved Bitmap(ILBM)、Portable Bitmap(PBM)、X Bitmap(XBM)、およびWireless Application Protocol Bitmap(WBMP)があります。同様に、 JPEG、TIFF、PNG 、GIFなどの他のほとんどの画像ファイル形式も、(ベクターグラフィックスとは対照的に)ビットマップ画像を格納しますが、内部で圧縮形式を使用するため、通常はビットマップとは呼ばれません。
一般的な非圧縮ビットマップでは、画像ピクセルは、ピクセルごとに可変数のビットで格納され、そのビットによって色(色深度)が識別されます。8ビット以下のピクセルは、グレースケールまたはインデックスカラーのいずれかを表すことができます。アルファチャンネル(透明度用)は、グレースケールビットマップと同様の別のビットマップに格納される場合もあれば、例えば24ビット画像をピクセルあたり32ビットに変換する4番目のチャンネルに格納される場合もあります。
ビットマップのピクセルを表すビットは、フォーマットやデバイスの要件に応じて、パック(バイト境界またはワード境界まで間隔を空けて配置)またはアンパック(バイト境界またはワード境界まで間隔を空けて配置)される場合があります。色の深度によっては、画像内のピクセルは少なくともn / 8 バイトを占有します。ここで、nはビット深度です。
Microsoft DIB やBMP ファイル形式、あるいは非圧縮TIFF形式で保存されるような、行内にパックされた非圧縮ビットマップの場合、1 ピクセルあたりnビット (2 n色) のビットマップのストレージサイズの下限(バイト単位) は、次のように計算できます。
幅と高さはピクセル単位で指定されます。
上記の式では、ヘッダーサイズとカラーパレットサイズ(存在する場合)は含まれていません。各行の開始位置をワードなどのストレージ単位の境界に合わせるための行パディングの影響により、追加のバイトが必要になる場合があります。
Microsoft は、さまざまな内部表現を持つデバイスやアプリケーション間でビットマップを交換するのに役立つように、異なる色深度のカラー ビットマップの特定の表現を定義しました。彼らはこれらのデバイス非依存ビットマップを「DIB」と呼び、それらのファイル形式は DIB ファイル形式またはBMP ファイル形式と呼ばれています。Microsoft のサポートによると: [ 6 ]
デバイス非依存ビットマップ(DIB)は、さまざまな色解像度でデバイス非依存ビットマップを定義するために使用されるフォーマットです。DIBの主な目的は、ビットマップをあるデバイスから別のデバイスに移動できるようにすることです(そのため、名前に「デバイス非依存」という部分があります)。DIBは外部フォーマットであり、システム内でビットマップオブジェクト(アプリケーションによって作成される)として表示されるデバイス依存ビットマップとは対照的です。DIBは通常、メタファイル(通常はStretchDIBits()関数を使用)、BMPファイル、およびクリップボード(CF_DIBデータフォーマット)で転送されます。
ここでいう「デバイス非依存」とは、フォーマットまたはストレージ構成を指し、デバイス非依存カラーと混同してはならない。
X Window System は、白黒画像には同様のXBMフォーマットを、カラー画像にはXPM (ピクセルマップ) を使用します。他にも多数の非圧縮ビットマップ ファイル フォーマットが使用されていますが、ほとんどは広く普及していません。[ 7 ]ほとんどの用途では、GIF、PNG、TIFF、JPEGなどの標準化された圧縮ビットマップ ファイルが使用されます。特にロスレス圧縮は、ビットマップと同じ情報をより小さなファイル サイズで提供します。 [ 8 ] TIFF と JPEG にはさまざまなオプションがあります。JPEG は通常、非可逆圧縮です。TIFF は通常、非圧縮か、GIFのようにロスレスLempel–Ziv–Welch圧縮です。PNG は、別のLempel-Zivバリアントであるdeflateロスレス圧縮を使用します。
また、その他の情報が一切含まれていない生のビットマップを格納する「生」画像ファイルも各種存在します。このような生ファイルは、ファイル内のビットマップのみで構成されており、多くの場合、ヘッダーやサイズ情報はありません(これらは、TIFF形式などの構造化されたコンテナに未処理の生のセンサーデータと詳細な画像メタデータを格納する写真用生画像フォーマットとは異なります)。
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite encyclopedia}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)ピクセルあたり複数ビットのシステムの場合は、より一般的な用語であるピクスマップ(ピクセルマップの略)を使用します。