Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

BMP(ビーエムピー)とは | 意味や読み方など丁寧でわかりやすい用語解説

BMP(ビーエムピー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ビットマップ (ビットマップ)

英語表記

BMP (ビーエムピー)

用語解説

BMP(Bitmap)は、Microsoft Windows環境で開発され、古くから広く利用されてきた画像ファイルフォーマットの一つである。その名前が示す通り、画像を構成する一つ一つのピクセル(画素)の色情報をビット単位で直接表現する方式を採用している点が最大の特徴である。特定の圧縮技術に依存しないシンプルな構造を持つため、Windowsオペレーティングシステム内部での画像の表示や処理、あるいは簡単なグラフィックアプリケーションでの利用に適している。ファイル拡張子としては通常「.bmp」が用いられる。

BMP形式の画像ファイルは、その構造が比較的単純であり、システムの開発者やエンジニアにとって、画像データの基本的な仕組みを理解する上で良い教材となる。ファイルは主にいくつかの情報ブロックによって構成されている。まず、ファイルの冒頭には「ファイルヘッダ」が存在し、これはファイルがBMP形式であることの識別子や、ファイル全体のサイズといった、ファイルそのものに関する基本的な情報を含む。次に続くのが「情報ヘッダ」であり、ここには画像の詳細なプロパティが格納されている。具体的には、画像の幅と高さ(ピクセル単位)、画像が表現できる色の数を決定する重要な要素である「色深度」(1ピクセルあたりのビット数)、そして使用されている圧縮形式などが含まれる。色深度は、例えば1ビットならば2色(白黒)、8ビットならば256色、24ビットならば約1670万色(フルカラー)を表現でき、さらに32ビットでは24ビットの色情報に加えて、透明度を扱うための「アルファチャンネル」情報を持たせることが可能となる。

情報ヘッダの直後には、多くの場合「カラーパレット」が配置される。これは特に8ビット以下の色深度を持つ画像で利用されるもので、画像データが直接色情報を持つ代わりに、パレット内に定義された色のインデックス(索引)を参照して色を決定する方式である。これにより、少ない情報量で多様な色を表現できる。24ビットや32ビットといったフルカラーの画像では、各ピクセルが赤(Red)、緑(Green)、青(Blue)の各色成分の強度を直接持つため、カラーパレットは通常使用されず、あるいはダミーの領域となる。

ファイルの大部分を占めるのが「画像データ」そのものである。ここには、画像の左下から右上へと順に、各ピクセルの色情報が羅列されている。非圧縮のBMP画像の場合、例えば24ビットフルカラーの画像であれば、各ピクセルはR、G、Bの3バイト(計24ビット)で表現され、これが画像の幅×高さの回数分だけ連続して並べられる。このようなピクセルを一つ一つ記録する直接的な表現方法こそがビットマップの名の由来であり、そのシンプルなデータ構造は、特別なデコード処理を必要とせずに高速な描画を可能にするという利点を持つ。

BMP形式は、その構造のシンプルさとOSとの高い互換性から、特にWindows環境におけるグラフィック処理の基盤として重要な役割を担ってきた。データが非圧縮であるため、画像を保存しても画質の劣化が一切発生しないという「可逆性」が保証される。これは、画像を何度も開いて編集・保存を繰り返しても、常にオリジナルと同じ品質が保たれることを意味する。このような特性は、品質の劣化を許容できない特定のアプリケーションや、画像データを一時的に保存する際などに重宝される。

しかし、この非圧縮性は同時に大きなデメリットももたらす。ピクセル一つ一つに直接色情報を割り当てるため、画像の解像度が高くなるほどファイルサイズが膨大になる傾向がある。例えば、数メガピクセルのフルカラー画像は、数十メガバイト、時にはそれ以上のファイルサイズとなることも珍しくない。このため、インターネット上での画像共有や、ストレージ容量が限られるモバイルデバイスでの利用にはあまり適していない。Webページで使用される画像フォーマットとしては、ファイルサイズを大幅に削減できるJPEG(非可逆圧縮)や、透過処理に優れ可逆圧縮も可能なPNGなどが主流である。

一部のBMPファイルでは、RLE(Run Length Encoding)といった可逆圧縮アルゴリズムをサポートするが、これはJPEGやPNGといった専用の圧縮フォーマットと比較すると圧縮率が低く、一般的にBMPの主な利用目的においては非圧縮が選択されることがほとんどである。

システムエンジニアを目指す上で、現代のWeb開発や高度な画像処理の現場でBMP形式が中心的な役割を果たすことは少ないかもしれない。しかし、OSのグラフィック処理の基本的なメカニズムや、非圧縮画像データの構造を理解する上で、BMPは非常に優れた学習対象となる。そのシンプルな構造とWindows OSとの高い親和性から、組み込みシステムや特定のアプリケーション開発においては、現在でも選択肢の一つとして検討される場合があるため、その基礎知識を押さえておくことは無駄ではない。BMP形式の歴史的背景と基本構造を理解することは、より複雑な画像フォーマットや画像処理技術への理解を深めるための重要な一歩となるだろう。

関連コンテンツ