この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "インデックスカラー"
色深度
1ビットモノクローム
8ビットグレースケール
8ビットカラー(英語版)
15/16ビットカラー(ハイカラー)(英語版)
24ビットカラー(トゥルーカラー)
30/36/48ビットカラー(ディープカラー)
関連
インデックスカラー
パレット(英語版)
RGBカラーモデル
ウェブセーフカラー
.mw-parser-output .hlist ul,.mw-parser-output .hlist ol{padding-left:0}.mw-parser-output .hlist li,.mw-parser-output .hlist dd,.mw-parser-output .hlist dt{margin-right:0;display:inline-block;white-space:nowrap}.mw-parser-output .hlist dt:after,.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{white-space:normal}.mw-parser-output .hlist li:after,.mw-parser-output .hlist dd:after{content:" ・\a0 ";font-weight:bold}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist-pipe dd:after,.mw-parser-output .hlist-pipe li:after{content:" |\a0 ";font-weight:normal}.mw-parser-output .hlist-hyphen dd:after,.mw-parser-output .hlist-hyphen li:after{content:" -\a0 ";font-weight:normal}.mw-parser-output .hlist-comma dd:after,.mw-parser-output .hlist-comma li:after{content:"、";font-weight:normal}.mw-parser-output .hlist-slash dd:after,.mw-parser-output .hlist-slash li:after{content:" /\a0 ";font-weight:normal}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")\a0 ";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)" ";white-space:nowrap}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)" "}.mw-parser-output .navbar{display:inline;font-size:75%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}.mw-parser-output .infobox .navbar{font-size:88%}.mw-parser-output .navbox .navbar{display:block;font-size:88%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}
表
話
編
歴
インデックスカラー(英: indexed color)とはビットマップ画像の一種。画素(ピクセル)ごとに色を直接指定するのではなく、カラーマップと呼ばれる色定義テーブルの参照番号を指定して画像を表現する形式。 ロゴマークなどのデザイン画の場合、1枚の画像の中で使用されている色の数が限られていることが多い。この場合、あらかじめ使用している色を「色番号1は赤30%・緑20%・青40%、色番号2は赤4%・緑92%・青8%、…」のように色番号で定義しておき、画素ごとのデータとしてはこの色番号を指定するようにすれば、高い色解像度を持ちつつデータ量を大幅に抑えることができるようになる。このような色表現のことを「インデックスカラー(indexed color)」と呼ぶ[注釈 1]。対して、画素ごとに直接色を指定する方式は「トゥルーカラー(true color)」または「フルカラー(full color)」と呼ばれる。 インデックスカラーの色番号と実際の色の対応を定義する表は「カラーマップ(color map)」、「カラールックアップテーブル(color lookup table)」または「カラーパレット(color palette)」と呼ばれる。例えば、カラーマップの大きさが4色分だと、各画素に必要なデータは2ビット、16色だと4ビット、256色だと8ビットなどのようになる。CPUのデータ処理の単位として8ビットがよく用いられることから、256色のインデックスカラーが最もよく用いられている。コンピュータの性能が低かった時代では、メモリ容量だけでなく同時発色数にも限界があり、モノクロでは2色や4色、カラーでは8色や16色の画像形式もよく使われていた[1]。 色番号から実際の色に変換する作業をハードウェア(ビデオ出力回路)で行なうことができるようになっていることが多い。この場合、あらかじめカラーマップをビデオ出力回路の特別な部分に書き込んでおけば、少量の画素データを転送するだけで画像が表示できるので高速な描画が可能となる。 例えば、@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}近年[いつ?]のコンピュータ画像の主流である色表現は赤・緑・青それぞれに8ビットずつ、合計24ビット=3バイトのメモリを必要とするものであるが、これをVGAモードで表現するためには640×480×24=7,372,800ビット=900KiBになる。8086などの昔のパソコンに使われているCPUではこれほどの大きさのデータでは転送するだけでかなりの時間がかかってしまい、また半導体も高価で実装は現実的ではなかった。一方、8ビットインデックスカラーだとデータ量はこの3分の1になり、現実的に実装できる量になる。パレットアニメーションの例 ハードウェアによるカラーマップ変換機能があれば、情報量の多い画素データを変更せずに情報量の極めて少ないカラーマップだけを変更することにより表示色をきわめて高速に調整することができる。また、これを利用して高速な画像切り替えを実現することもできる。例えば、色番号1に白を、それ以外の色番号には全て黒を割り当てておくと、色番号1で描いた図形だけが目に見えるが、これを色番号2に白を、それ以外の色番号には全て黒を割り当てた別のカラーマップに切り替えると、描画している画素を全く書き直すことなく、色番号2で描いた図形に変化させることができる。この手法は「パレットアニメーション」と呼ばれ、主に容量やハードウェア性能に制約のあるゲームプログラムで爆発の閃光をすばやく明滅させたい場合などによく用いられていた手法である[注釈 2]。 インデックスカラーは、その原理上、自然画像のような大量の色を使用する画像を扱うことは難しいが、色のはっきりしたロゴや非リアリスティックなイラストレーションでは画像ファイルの大きさを抑えることができるため、現在でも広く使用されている。
概要