この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。
出典を追加して記事の信頼性向上にご協力ください。(2017年9月)
この項目では、ピクセル形式の画像データ全般について説明しています。Windowsで主に用いられるBMP形式については「Windows bitmap」をご覧ください。
ビットマップ画像
ビットマップ画像(ビットマップがぞう、bitmap image / bitmap graphics)とは、コンピュータグラフィックスにおける画像の表現形式で、ピクセル(画素)を用いたもの。画像をドットマトリクス状のピクセル群として捉え、RGB等の表色系に基づいたピクセルの色・濃度の値の配列情報として取り扱う。
これに対し、幾何図形を作成するための情報を数値や式として表現したものをベクタ画像と呼ぶ。 元々は、モノクロ2値(白黒など)の画像情報を格納した初期のフレームバッファとその内容である画像情報をビットマップと呼んだ。モノクロ2値の画像はピクセルあたり1ビットの情報量で記録されており、ディスプレイのピクセル配置とメモリのビット配置が1対1で対応(マッピング)することから「ビットマップ」と呼んだのである。 ビットマップの利用はコンピュータ用ディスプレイシステムの発展と歩を同じくする。1960年代までのグラフィック用コンピュータでは、メモリ容量および価格の制限から、短い走査描画命令によるディスプレイリスト
目次
1 呼称の由来
2 ラスター表現
3 ビットマップ
4 画素
5 座標
6 データ密度
7 インデックスカラー
8 ガンマ補正
9 画像圧縮
10 ベクタ形式への変換
11 ファイルフォーマット
12 編集ソフト
13 参考文献
14 関連項目
呼称の由来
現在はピクセルを用いた画像表現広汎を指す用語として「ビットマップ」が広く使われているが、より狭義な技術用語としては、「ビットマップ」の用法をモノクロ2値画像に限定し、カラーやグレースケール階調画像を含める場合はピクセルマップ、ピクスマップ(pixmap)と呼ぶこともある。
ラスター表現 ラスターイメージ
ラスター表現(raster representation)は、2次元画像を表現する方式のひとつである。点が線状に並んだもの(ラスター線)を平行に並べた面として画像を表現する。「raster」とは、熊手のようなもので面を線状になぞる事を意味し、ブラウン管で画像を表示する時の走査線の様子から、その表示領域もそう呼ぶ。ラスター表現では多くの場合、画像の表現精度がディスプレイの表示能力と標本化定理に左右され、特に低解像度ではエイリアシング現象によるジャギーと呼ばれる階段状のギザギザが現れる。ラスター表現による画像は「ラスターイメージ」あるいは「ラスターグラフィックス」と呼ぶ。
ビットマップ画像は、コンピュータでラスター表現を処理する形式であり、デジタルなラスターイメージの一種である。狭義のビットマップ画像(上記の白黒画像やWindows bitmap)と区別する意味で、ラスターイメージと呼ぶ方が正確であると主張するものもいる。
ピクセルの集まりに過ぎないラスター表現では幾何図形を直接表現することはできず、ベクターイメージを「ラスタライズ」または「スキャン変換」と呼ばれる処理によってラスターイメージに変換する必要がある。例えば、良く知られた線分のラスタライズ法のひとつにブレゼンハムのアルゴリズムがある。一般的なコンピュータシステムでは、ラスタライズ処理はグラフィックスAPIのソフトウェアやGPUハードウェア、プリンターが内蔵するラスターイメージプロセッサ(RIP)によっておこなわれる。なお、3次元コンピュータグラフィックスなど、ラスタライズ工程を部分として含むのみ(例えばOpenGLのグラフィックスパイプラインなど)の場合では、画像処理全体は「レンダリング」と呼ぶことが多い。 ビットマップとは本来ラスターイメージをシステムに実装する技術を意味する。初期のコンピュータはモノクロ2値
ビットマップ
その後カラー表示を実現するに際して、モノクロ表示と上位互換性を保つために、モノクロ1画面のビットマップをそのまま「プレーン」という新しい概念にあてはめ、プレーンを増やすことでカラー化を果たすことになった。そのとき3プレーンで8色、4プレーンで16色という基本的な仕組みが出来上がった。その当初はアプリケーションからプレーンのビットマップに直接データを送り込むことができたが、やがて8プレーン(256色)以上のVRAMはフレームバッファと呼ばれ、本体のRAM空間とは独立した存在となり、APIを経由しなければビットマップを操作できなくなった。ちなみにディスプレイの表示モードに16色や256色が残っているのは、過去のOSとミニマムな互換性を維持するためである。また同じフレームバッファに複数の表示モードが用意されているが、これは例えば640×480×32ビットと同じメモリ空間に、1280×960×8ビットを割り当てることができることによる。このようにマッピングの変更によって複数の画素数、色数を選択できるところにビットマップの巧妙な仕組みがある。
なおWindowsにはBMPという保存形式があるが、これはAPIからフレームバッファ(または仮想フレームバッファ)のビットマップを読み込み、そのまま保存する形式で、ラスターグラフィックの低水準保存形式である「ベタ画像」形式やRAW画像形式とは、全く異なる内容である。その意味からも「ラスターイメージ」を「ビットマップイメージ」と言いかえるのは適切ではない。 ラスター表現においては画素(ピクセル)という概念が必要となる。1画面は「ライン(行)」と「カラム(列)」に分解でき、その最小単位が画素である。ラスタースキャン方式をとるディスプレイでは、垂直方向の1スキャンがそのまま1ラインとなるが、水平方向の解像度はデバイスの性能に依存する。そのため初期のディスプレイでは、1画素のアスペクト比(縦横比)が1対1とならず、ソフトウェアで補正することがあった。PC/AT互換機が普及してからは、その標準表示画素数である640×480がVGA規格として定着し、アスペクト比も1対1であることが当然となった。 カラー画像の場合、1画素の色深度はコンピュータが処理しやすい24ビット(RGB各8ビット)が標準だが、アプリケーションによってはさらにアルファチャンネルとして8ビットを加えてマスキングや半透明処理を行うことができる。濃淡情報のみを扱うグレースケール画像の場合、1画素あたり8ビットが標準である。
画素