一般用語
初級

BMP (Bitmap, 1990)(ビーエムピー)

Microsoft が 1990 年に Windows 3.0 で標準化した非圧縮ビットマップ画像フォーマット。シンプルな構造 (ヘッダ + ピクセル配列) で実装容易、Windows ペイントの標準保存形式として広く知られるが、ファイルサイズの大きさから現代の Web 用途では PNG/JPEG に置換された。

0 回閲覧
0 いいね
2026/5/11 更新
関連タグ
BMP
Bitmap
Microsoft
Windows 3.0
非圧縮
1990

概要

BMP (Bitmap、ビットマップ) は、Microsoft が 1990 年に Windows 3.0 で標準化した非圧縮ビットマップ画像フォーマットで、シンプルな構造 (ヘッダ + ピクセル配列) によって実装容易性に優れ、Windows ペイント・Windows アイコン (.ico)・カーソル (.cur) の標準保存形式として広く知られています。BITMAPFILEHEADER (14 バイト) + BITMAPINFOHEADER (40 バイト) + ピクセル配列の単純構造で、無圧縮または RLE (Run-Length Encoding) 圧縮対応、24bit RGB・32bit RGBA・1/4/8bit パレットインデックスを表現可能。ただしファイルサイズの大きさ (24bit RGB 1920×1080 で約 6MB) から現代の Web 用途では PNG/JPEG に完全置換されており、Windows 内部での画像処理 (アイコン・カーソル) で利用継続、画像処理アルゴリズム実装の教育素材として現代もコンピュータサイエンス教科書に頻出する基本形式となっています。

主な特徴・仕組み

  • 策定: 1990 年 Microsoft、Windows 3.0 (1990) で標準実装
  • 構造: BITMAPFILEHEADER (14B) + BITMAPINFOHEADER (40B) + ピクセル配列
  • bit 深度: 1/4/8/16/24/32 bit per pixel
  • 色空間: RGB・RGBA (アルファチャネルあり)
  • 圧縮: 無圧縮 (BI_RGB) または RLE (BI_RLE8/BI_RLE4)
  • 行配列: bottom-up (下から上) が一般、ファイル構造の特殊性
  • 行パディング: 4 バイト境界アライン必須
  • メタデータ: 解像度 (DPI)・色テーブル (パレット画像時)
  • ファイルサイズ: 24bit RGB 1920×1080 で約 6MB、4K で 24MB
  • 互換性: Windows 主体、macOS/Linux の対応は限定的

スペック比較表

フォーマット年圧縮ファイルサイズ (1920×1080)用途
BMP1990無圧縮/RLE6MBWindows 内部
TIFF1986LZW/JPEG 等0.5-6MB印刷
GIF1987LZW0.3-2MBアニメ・線画
JPEG1992DCT 非可逆0.2-0.5MB写真
PNG1996Deflate 可逆0.5-2MBWeb

具体例・対応技術

  • Windows ペイント (1985-): 標準保存形式、現代 Windows でも対応継続
  • Windows アイコン (.ico): BMP ベース、内部的に BMP データ
  • Windows カーソル (.cur): BMP ベース、マウスカーソルファイル
  • 古い Windows ゲーム (1990s): スプライト画像が BMP 保存
  • 画像処理教科書: アルゴリズム実装の入門素材として頻出

自作PCでの選び方・注意点

BMP は 2026 年現在、Web 配信・配布・SNS 用途では完全に時代遅れで、PNG/WebP/AVIF への変換が推奨されます。ただし以下の場面で BMP の知識が必要: (1) Windows アイコン・カーソル作成 (Visual Studio・GIMP)・(2) 古い Windows ゲームの MOD 開発・(3) 画像処理アルゴリズムの教育・実装 (C/C++ で BMP 直接読込で OpenCV 不要の課題)・(4) ハードウェア組み込み開発 (LCD ドライバの直接ピクセル書込)。BMP→PNG 変換は ImageMagick (magick input.bmp output.png) で簡単・自動、Web 配信向けには 24bit BMP を 8bit PNG (パレット化) で更に小型化可能。Pillow (Python) で Image.open('file.bmp').save('out.png') も同様。RAW 写真からの BMP 出力は意味ないため、写真は JPEG・線画は PNG が現代の選択肢。

関連用語との違い

  • TIFF: タグ構造で柔軟、業務用、BMP より高機能
  • GIF: LZW 圧縮、アニメ対応、BMP より遥かに軽量
  • PNG: 可逆圧縮、現代の BMP 代替

よくある質問(FAQ)

Q1: BMP は現代でも使う? A: Web/配布用途では非推奨、PNG/WebP に変換すべき。Windows アイコン・古いソフト互換性・画像処理教育などの限定的場面で残存。

Q2: BMP と PNG どちらが軽い? A: 一般的に PNG が圧倒的に軽い (24bit RGB 1920×1080 で BMP 6MB vs PNG 0.5-2MB)。PNG の Deflate 圧縮が効くため。

Q3: BMP の行構造の特殊性とは? A: 行配列が bottom-up (画面下から上) で格納される、他フォーマット (top-down) と異なる。OpenCV・Pillow 等のライブラリで自動補正されるが、生実装では注意必要。

まとめ

  • BMP = 1990 年 Microsoft 策定、Windows 標準ビットマップ
  • BITMAPFILEHEADER + BITMAPINFOHEADER + ピクセル配列のシンプル構造
  • ファイルサイズ大、Web/配布用途は PNG/JPEG に置換済み
  • Windows アイコン・古いソフト互換・教育用途で残存
この記事について
カテゴリー一般用語
難易度初級
作成日2026/5/11