| 色深度 |
|---|
| 関連している |
8ビットカラーグラフィックスは、コンピュータのメモリまたは画像ファイルに画像情報を保存する方法であり、各ピクセルは8ビット(1バイト)で表されます。一度に表示できる最大色数は、1ピクセルあたり256色、つまり2の8乗です。[ 1 ]

トゥルーカラーの24ビット画像を8ビット画像に変換するには、色量子化と呼ばれるプロセスを経る必要があります。色量子化とは、色密度の高い画像から、色密度の低い画像のカラーマップを作成するプロセスです。[ 2 ]
最も単純な量子化は、人間の目は青色光に敏感ではないため、赤色に3ビット、緑色に3ビット、青色に2ビットを割り当てるという単純な方法です。これにより、いわゆる3-3-2 8ビットカラー画像が生成され、次の表のように配置されます。
ビット 7 6 5 4 3 2 1 0 データ RRRGGGBB
このプロセスは最適とは言えません。色のグループ分けが異なり、均等に色を分散させるのが非効率になり、実際の画像が歪んでしまう可能性があります。代替案として、パレットを使用する方法があります。パレットでは、256個のインデックスそれぞれが、より広い色空間を指し示します(例:4096色から256色を選択)。カラーマップにはすべての色が含まれている必要はなく、より色密度の高い画像を正確に表現できればよいため、マップ上の256個のカラーインデックスそれぞれに任意の色を割り当てることができます。
これらのマップ(パレットとも呼ばれる)を作成するための一般的な手法として、最もよく使われる256色を選択し、それらからマップを作成する人気度アルゴリズムがあります。より正確なメディアンカットアルゴリズムは、色を並べ替えて分割し、異なる色グループの中央値を求めることで、より正確な最終的なカラーマップを作成します。[ 3 ]
8ビットカラー画像はメモリ容量が少なく、その結果速度が速いため、より多くのメモリとより高速なCPUが消費者に容易に利用できるようになるまで、8ビットカラーはコンピュータグラフィックス開発の共通の基盤でした。8ビットカラーは、次のようなさまざまなアプリケーションで使用されていました。[ 4 ]
VGA規格のグラフィカルインターフェースは、再定義可能な256色(8ビット)カラーパレットを使用していましたが、これらは18ビット(RGBチャンネルあたり6ビット、262,144色)の色域から選択されていました。[ 5 ] [ 6 ] [ 7 ] [ 8 ] 1987年にIBMによって開発されたVGAインターフェースは、最大640x480ピクセルの解像度をサポートしていました。この伝統により、 GIFやTIFFなどの一部の画像形式では、データの保存に8ビットカラーパレットシステムが使用されています。
8ビットカラーエンコーディングは、現在ではほとんどの民生用アプリケーションでは時代遅れとなっていますが、データ帯域幅やメモリ容量が限られている画像システムでは依然として有用です。例えば、火星探査ローバーは2機とも、ナビゲーション画像に8ビットグレースケール形式を採用していました。[ 9 ]
8ビットシステムの性質上、ほとんどの画像は異なるカラーマップを持っています。8ビットカラーディスプレイは異なるカラーマップを持つ2つの画像を同時に表示できないため、通常、同じディスプレイに2つの異なる8ビット画像を同時に表示することは不可能です。実際には、この問題を回避するために、ほとんどの画像は256色すべてを使用しません。画像処理では別の問題が発生します。異なるカラーマップを持つ2つの画像を加算するたびに、結果の画像に新しいカラーマップを作成する必要があります。つまり、別の量子化演算が発生し、結果の画像は期待される結果の不完全なバージョンになります。[ 1 ]
現在、ほとんどのグラフィックスハードウェアは24ビットトゥルーカラーまたは32ビットトゥルーカラー(24ビットトゥルーカラーと8ビットアルファチャンネル)で動作します。ただし、一部のリモートデスクトップソフトウェア(Virtual Network Computing、Remote Desktop Protocol )は、帯域幅を節約するために8ビットカラーに切り替えることができます。現代のコンピューターは比較的安価で高速であるため、編集中の画質低下を避けるため、カメラの画像センサーの各ピクセルから12~14ビットのRAW形式で画像編集が行われることもあります。 [ 10 ]