色深度(ビット深度とも呼ばれる)は、1 つのピクセルの色を示すために使用されるビット数、または 1 つのピクセルの各色コンポーネントに使用されるビット数のいずれかです。ピクセルを参照する場合、この概念はビット/ピクセル( bpp ) として定義できます。色コンポーネントを参照する場合、この概念はビット/コンポーネント、ビット/チャネル、ビット/カラー(3 つともbpcと略されます)、さらにビット/ピクセルコンポーネント、ビット/カラーチャネル、またはビット/サンプルとして定義できます。[ 1 ] [ 2 ] [ 3 ]現代の標準ではビット/コンポーネントを使用する傾向がありますが、[ 1 ] [ 2 ] [ 4 ] [ 5 ]過去の低深度システムではビット/ピクセルがより頻繁に使用されていました。
色の深度は、色の表現における一つの側面であり、各原色の量をどれだけ正確に表現できるかを表します。もう一つの側面は、表現できる色の範囲(色域)の広さです。色の精度と色域の定義は、色空間内の位置にデジタルコード値を割り当てる色符号化仕様によって行われます。





色深度が比較的低い場合、格納される値は通常、カラーマップまたはパレット内のインデックスを表す数値(ベクトル量子化の一種)です。パレット自体で使用できる色は、ハードウェアによって固定されている場合と、ソフトウェアによって変更可能な場合があります。変更可能なパレットは、擬似カラーパレットと呼ばれることもあります。
古いグラフィックチップ、特に家庭用コンピュータやビデオゲーム機で使用されているものは、スプライトやタイルごとに異なるパレットを使用することで、同時に表示できる色の最大数を増やしつつ、当時高価だったメモリ(および帯域幅)の使用量を最小限に抑える機能を備えていることが多かった。例えば、ZX Spectrumでは画像は2色形式で保存されるが、これらの2色は8×8ピクセルの長方形ブロックごとに個別に定義できる。
パレット自体には色深度(エントリあたりのビット数)があります。最高のVGAシステムでは、選択できる色が18ビット(262,144色)パレットのみでしたが[ 7 ] [ 8 ] [ 9 ] [ 10 ]、カラーMacintoshビデオハードウェアはすべて24ビット(1600万色)パレットを提供していました。24ビットパレットは、それを使用する最近のハードウェアやファイル形式ではほぼ普遍的です。
色がピクセル値から直接判別できる場合は、「直接色」と呼ばれます。1ピクセルあたり12ビットを超える深度では、パレットが消費するメモリ量が各ピクセルの直接色に必要なメモリ量を超えてしまうため、パレットはほとんど使用されませんでした。
2色表示、多くは黒と白の直接カラー。時には1が黒、0が白を意味し、現代の標準とは逆だった。初期のグラフィックディスプレイのほとんどはこのタイプで、X Window Systemはこのようなディスプレイ向けに開発され、3Mコンピュータにも採用された。1980年代後半には、解像度が最大300dpi(当時のレーザープリンターと同じ)の業務用ディスプレイが登場したが、カラー表示の方が人気が高かった。
通常は固定パレットから選択する4色。初期のNeXTstationはグレースケール、Macintoshはカラー、Atari STは中解像度。
8色、ほぼ常に最大強度の赤、緑、青の組み合わせ。ZX SpectrumやBBC Microなど、テレビディスプレイを備えた初期の家庭用コンピュータの多くがこれに該当します。
通常は固定パレットから選択する16色。IBM CGA(最低解像度)、EGA、そしてより高解像度の最小公倍数規格であるVGAで使用された。カラーMacintosh、低解像度のAtari ST、Commodore 64、Amstrad CPCも4ビットカラーをサポートしていた。
オリジナルのAmigaチップセットで使用される、プログラム可能なパレットからの32色。
64色。マスターシステム、拡張グラフィックスアダプタ、TRS-80カラーコンピュータ3用GIME、Pebble Timeスマートウォッチ(64色電子ペーパーディスプレイ)、およびリファレンスVGA回路を使用したParallax Propellerで使用されています。
256色(通常は完全にプログラム可能なパレットから選択):初期のカラーUnixワークステーションのほとんど、Super VGA、カラーMacintosh、Atari TT、Amiga AGAチップセット、Falcon030、Acorn Archimedes。XとWindowsはどちらも、各プログラムが独自のパレットを選択できるようにするための複雑なシステムを提供していましたが、フォーカスのあるウィンドウ以外のウィンドウでは、しばしば誤った色が表示される結果となりました。
一部のシステムでは、直接色システム用にカラーキューブをパレットに配置しました(そのため、すべてのプログラムが同じパレットを使用しました)。通常、青色のレベルは他のレベルよりも少なくなっていました。これは、人間の目は赤色や緑色よりも青色の成分に対する感度が低いためです(目の受容体の3分の2はより長い波長を処理します[ 11 ])。一般的なサイズは次のとおりです。
4,096色。通常は完全にプログラム可能なパレットから選択可能(ただし、16×16×16のカラーキューブに設定されることが多かった)。一部のSilicon Graphicsシステム、Color NeXTstationシステム、およびHAMモードのAmigaシステムはこの色深度を備えている。
RGBA4444は、カラーキューブと16段階の透明度を提供する、関連する16ビット/ピクセル表現であり、モバイルグラフィックスでよく使用されるテクスチャフォーマットです。
高色システムでは、ピクセルごとに 2 バイト (16 ビット) が格納されます。多くの場合、各コンポーネント (R、G、B) には 5 ビットと未使用の 1 ビット (またはマスク チャネルやインデックス カラーへの切り替えに使用) が割り当てられ、32,768 色を表現できます。ただし、未使用のビットを G チャネルに再割り当てする別の割り当てでは、透明度なしで 65,536 色を表現できます。[ 12 ]これらの色深度は、携帯電話などのカラー ディスプレイを備えた小型デバイスで使用されることがあり、写真画像を表示するのに十分であると考えられることがあります。[ 13 ]この規格を使用した最初のハードウェアには、シャープX68000と IBM のExtended Graphics Array (XGA) がありました。
近年、「高色域」という用語は、24ビットを超える色深度を意味するために用いられるようになった。
最も安価な液晶ディスプレイ(一般的なツイストネマティック型など)のほとんどは、色の遷移時間を短縮するために18ビットカラー(64×64×64 = 262,144通りの組み合わせ)を提供し、ディザリングまたはフレームレート制御を使用してピクセルあたり24ビットの真の色を近似するか、[ 14 ]または6ビットの色情報を完全に破棄します。より高価な液晶ディスプレイ(通常はIPS)は、24ビット以上の色深度を表示できます。

24 ビットでは、ほとんどの場合、R、G、B の各 8 ビット (8 bpc) を使用します。2018 年現在、24 ビットの色深度は、事実上すべてのコンピュータおよび電話のディスプレイ[ 15 ]と、大多数の画像保存フォーマットで使用されています。32 ビット/ピクセルのほとんどの場合、24 ビットが色に割り当てられ、残りの 8 ビットはアルファ チャンネル(透明度) に使用されるか、未使用のままになります。
2 24は 16,777,216 色のバリエーションを与えます。人間の目は最大 1,000 万色を識別できますが、[ 16 ]ディスプレイで使用される色域は通常、人間の視覚の範囲よりも小さくなっています。これは、24 ビットでさまざまな色を十分な精度で区別して、バンディングの知覚を防ぐことができる必要があることを意味します。ただし、ディスプレイは人間の知覚空間で色を均等に分配しないため、隣接する色の間にバンディングが知覚されることがあります。モノクロ画像では、3 つのチャネルすべてを同じ値に設定して、256 種類の色しか得られません。一部のソフトウェアは、グレー レベルをカラー チャネルにディザリングしてこれを増やすことを試みますが、最新のソフトウェアでは、色がわずかに異なる位置にある LCD スクリーンの空間解像度を上げるためにサブピクセル レンダリングに使用されることが多くなっています。
DVD -VideoおよびBlu-ray Disc規格は、4:2:0クロマサブサンプリングによるYCbCrで、色あたり8ビットのビット深度をサポートしています。[ 17 ] [ 18 ] YCbCrはRGBにロスレスで変換できます。
macOSと従来のMac OSでは、24ビットカラーを「数百万色」と表現します。
トゥルーカラーという用語は、この記事でダイレクトカラーと呼んでいるものを意味する場合にも使用されることがあります。[ 19 ]また、24ビット以上のすべての色深度を指す場合にもよく使用されます。
ディープカラーは10億色以上で構成されています。[ 20 ] 2 30は1,073,741,824です。通常、これは 赤、緑、青それぞれ10ビット(10 bpc)です。同じサイズのアルファチャンネルを追加すると、各ピクセルは40 ビットになります。
初期のシステムの中には、32ビットワード内に3つの10ビットチャンネルを配置し、2 ビットを未使用(または4レベルアルファチャンネルとして使用)にしていたものがありました。例えば、Cineonファイルフォーマットはこの方式を採用していました。SGIシステムの中には、ビデオ信号用に10ビット(またはそれ以上)のデジタル-アナログコンバータを備え、このように保存されたデータを解釈して表示するように設定できるものもありました。BMPファイルはこの方式をフォーマットの一つとして定義しており、Microsoftはこれを「HiColor」と呼んでいます。
コンポーネントあたり10 ビットのビデオ カードは 1990 年代後半に市場に出回り始めました。初期の例としては、Macintosh 用のRadius ThunderPower カードがあり、 30 ビット画像の編集をサポートするQuickDrawおよびAdobe Photoshopプラグインの拡張機能が含まれていました。 [ 21 ]一部のベンダーは、 FRCパネルを備えた 24 ビットの色深度を30 ビット パネルと呼んでいますが、真のディープ カラー ディスプレイは、FRC なしで 10 ビット以上の色深度を備えています。
HDMI 1.3 仕様では、 30 ビット (36 ビットおよび 48ビット深度も含む) のビット深度が定義されています。 [ 22 ] 2026 年現在、Nvidia、AMD、Intelのすべての最新 GPU で 30 ビットおよび 36 ビット出力がサポートされています。[ 23 ] [ 24 ] [ 25 ]
DisplayPort仕様で は、バージョン 1.3で24 bpp を超える色深度もサポートしており、「 VESA Display Stream Compression 」によって実現されています。これは、予測 DPCM と YCoCg-R 色空間に基づく視覚的に損失のない低遅延アルゴリズムを使用し、解像度と色深度の向上と消費電力の削減を可能にします。[ 26 ]
WinHEC 2008で、マイクロソフトはWindows 7で30 ビットと48ビットの色深度と広色域scRGBが サポートされることを発表しました。[ 27 ] [ 28 ]
高効率ビデオコーディング(HEVC または H.265) は、4:2:0クロマサブサンプリングでサンプルあたり 8 ビットまたは 10 ビットを可能にするMain 10 プロファイルを定義しています。[ 2 ] [ 4 ] [ 5 ] [ 29 ] [ 30 ] Main 10 プロファイルは、消費者向けアプリケーション用に HEVC に 10 ビット プロファイルを追加することを提案した JCTVC-K0109 の提案に基づいて、2012 年 10 月の HEVC 会議で追加されました。[ 5 ]この提案では、ビデオ品質の向上とUHDTVで使用されるRec. 2020カラースペースのサポートが可能になると述べられています。[ 5 ] HEVC の第 2 バージョンには、サンプルあたり8ビットから 16ビットのビット深度を可能にする 5 つのプロファイルがあります。 [ 31 ]
1色あたり12ビットを使用すると、合計36ビット、68,719,476,736色を表現できます。同じサイズのアルファチャンネルを追加すると、1ピクセルあたり48ビットになります。
1色あたり16ビットを使用すると、合計48ビット、つまり281,474,976,710,656色を表現できます。同じサイズのアルファチャンネルを追加すると、1ピクセルあたり64ビットになります。
Adobe Photoshopなどの画像編集ソフトウェアは、中間結果の量子化を減らすために、かなり早い段階からチャンネルあたり16ビットを使用し始めました(つまり、演算を4で割ってから4を掛けると、8ビットデータの下位2ビットが失われますが、16ビットを使用すると8ビットデータは失われません)。
一部のシステムでは、解像度を上げるためではなく、0~1 の範囲外の数値にこれらのビットを使用し始めました。1 より大きい数値は、高ダイナミックレンジイメージング(HDRI) のように、ディスプレイが表示できるよりも明るい色に使用されました。負の数値は、可能なすべての色をカバーするために色域を拡大したり、負のフィルタ係数によるフィルタリング操作の結果を保存したりできます。Pixar Image Computer は、12 ビットを使用して [-1.5, 2.5) の範囲の数値を格納し、2 ビットを整数部分、10 ビットを小数部分に使用しました。Cineonイメージング システムでは、 10 ビットのプロフェッショナル ビデオ ディスプレイを使用し、ビデオ ハードウェアを調整して、95 の値が黒、685 が白になるようにしました。[ 32 ]増幅された信号は、CRT の寿命を縮める傾向がありました。
ビット数が増えることで、光を線形値として保存することが可能になり、数値が放出される光量に直接対応します。線形レベルは、コンピュータグラフィックスの計算をはるかに容易にします。しかし、線形カラーでは、白付近のサンプルが不均衡に多く、黒付近のサンプルが少なくなるため、16ビット線形カラーの品質は12ビットsRGBとほぼ同等になります。
浮動小数点数は、サンプルを半対数的に間隔を置いて線形光レベルを表現できます。浮動小数点表現では、大幅に広いダイナミックレンジと負の値も表現できます。ほとんどのシステムは当初、チャンネルあたり32ビットの単精度をサポートしていましたが、これはほとんどのアプリケーションで要求される精度をはるかに超えていました。1999年、Industrial Light & Magicは、チャンネルあたり16ビットの半精度浮動小数点数をサポートするオープン標準の画像ファイル形式OpenEXRをリリースしました。1.0に近い値では、半精度浮動小数点値は11ビット整数値の精度しか持たないため、拡張ダイナミックレンジが必要ない状況では、一部のグラフィックス専門家は半精度を拒否します。
テレビやコンピューターのディスプレイは、ほぼすべて赤、緑、青という3つの原色の強度を変化させることで画像を作り出しています。例えば、鮮やかな黄色は、赤と緑がほぼ均等に配合され、青は含まれていないことで形成されます。
画像の保存と操作には、従来の三角形を拡張する代替手段がいくつか存在する。物理的には不可能だが、三角形を拡張してより広い色域を囲む効果のある仮想の原色を使用するように画像符号化を変換する方法がある。同等の、より単純な変更は、カラーチャネルに負の数を許可することで、表現される色が原色によって形成される色の三角形の外に広がるようにすることである。しかし、これらは画像符号化で表現できる色を拡張するだけであり、どちらの方法もディスプレイデバイスで実際にレンダリングできる色域を拡張するものではない。

補助色によってディスプレイの色域が広がる。これは、3 つの原色で構成された三角形の内部(例えばCIE 1931 色空間)に限定されなくなるためである。テキサス・インスツルメンツのBrilliantColorなどの最新技術では、通常の赤、緑、青のチャンネルに、シアン、マゼンタ、イエローの 3 つの原色を追加している。[ 33 ]シアンは赤チャンネルの負の値、マゼンタは緑チャンネルの負の値、イエローは青チャンネルの負の値で示され、カラーチャンネルで本来は架空の負の数を使用することが正当化される。
三菱電機やサムスン(その他多数)は、一部のテレビでブリリアントカラーを採用し、表示可能な色域を拡大している。 シャープのアクオスシリーズのテレビは、通常のRGBピクセル成分に黄色のサブピクセルを追加したクアトロン技術を導入している。しかしながら、拡張色域に対応または活用するフォーマットやメディアは、現状では極めて稀である。
人間は圧倒的に三色型色覚者または二色型色覚者であるため[ b ]、 4番目の「原色」を追加しても実際的な利点はないと思われるかもしれません。しかし、人間は3色の光を混ぜ合わせたものよりも広い範囲の色を見ることができます。色の不足は、RGBディスプレイの青緑色の彩度の高い色調(図の左上の灰色の部分で示されています)で特に顕著です。ほとんどの人間は、カラービデオ画面が表示できるよりも鮮やかな青緑色を見ることができます。
{{cite news}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)[インテルGPUは]最大12ビットのカラー深度をサポートしていますが、これはディスプレイによって異なる場合があります。