ビット深度
出典: フリー百科事典『ウィキペディア(Wikipedia)』
ビット深度(Bit Depth)とは、デジタル信号処理において各標本データを表現するのに使用するビット数を意味する。また、カラーやグレイスケールのビットマップ画像では、ピクセル毎のビット数を意味し、色深度あるいはカラー深度(Color Depth)とも称する。例えば、CDでのビット深度は16ビット、DVDの音声は24ビットのビット深度をサポートしている。
目次 |
[編集] デジタル音響におけるビット深度
音響信号の各標本がアナログ信号から量子化される際、原音をなるべく忠実に再現するようデータを保持する。ビット深度を小さくすると、原音の波形を再現することが困難となり、その品質は全体的に低下する。
人間の可聴域の音を忠実に再現するには、24ビットのビット深度とある程度のサンプリング周波数が必要といわれている。例えば、音楽用DVDの規格には24ビット/96kHz DTS トラックのものがある。ただし、実際には24ビット深度での理論上のノイズフロア(-144.50 dB)を達成した音響機器は存在しない。実用的なダイナミックレンジ(約 110 dB)であれば、24ビットでの量子化雑音以外のノイズには対応可能である。
[編集] ビット深度とビットレート
ビットは二進数である。16ビットと言った場合、16桁の1か0が並ぶ。16ビットで表せる値は 216 すなわち 0 から 65,535 となる。デジタル音響でのデータ量(ビットレート)を計算する方法は以下の通りである:
- ビットレート = (ビット深度)×(サンプリング周波数)×(チャンネル数)
例えば、サンプリング周波数 44.1kHz、ビット深度 16ビット、2チャンネル(ステレオ)の場合のビットレートは次のようになる:
- 16×44100×2 = 1411200 ビット/秒 = 1411.2 kbps
ビットレートとは、単位時間に処理されるデータ量を意味する。ビットレートはデジタル音響であれば必ず備えている属性であり、圧縮されたオーディオファイル(MP3など)に特有の概念ではない。
[編集] 色深度
色深度は bits per pixel(bpp)とも表現され、特にグラフィックス機器のスペック表記などで使われる。
[編集] インデックスカラー
色深度が比較的小さい場合、各ピクセルに対応して格納される値はパレットまたはカラーマップと呼ばれる表のインデックスであることが多い。パレット上の色はハードウェアの制限によって固定されていることもあるし、変更可能な場合もある。変更可能なパレットは擬似カラーパレット(pseudocolor palette)と呼ばれることもある。実際に使われたインデックスカラーでの色深度は以下の通りである。
- 1ビットカラー(21 = 2 色) - モノクローム。通常、白と黒。
- 2ビットカラー(22 = 4 色) - CGA(320×200ピクセル)
- 4ビットカラー(24 = 16 色) - EGA(640×350ピクセル)および VGA(640×480ピクセル)
- 6ビットカラー(26 = 64色)- Amigaの独自チップセットなど
- 8ビットカラー(28 = 256 色)- 初期のUNIXワークステーション、VGAの低解像度モード、SVGA など
- 12ビットカラー(212 = 4096 色)- シリコングラフィックス社の一部システム、Amiga の HAMモード
初期のパーソナルコンピュータやゲーム機で使われた古いグラフィックスチップでは、パレットとピクセルの対応を工夫することで一度に表示できる色数を増やす努力をしていたものがある。例えば、ZX Spectrumはビットマップ画像自体は1ビットカラーの形式だったが、パレットは8×8ピクセル単位に設定可能となっており、全体として2色以上が表示できるようになっていた。
[編集] ダイレクトカラー
ビット数が増えるに従って、表現できる色数が増え、同時にカラーマップも非現実的なサイズとなってくる(20ビット深度では、ピクセルが直接色を表すよりもカラーマップを使用した方がメモリ使用量が大きい)。従って色深度が大きくなると、ピクセル毎のデータをそのままRGB(赤、緑、青)の輝度を表すのに使うようになった。これをダイレクトカラーと称する。
- ハイカラー(Highcolor)
- ハイカラーは一般的な色表現には十分な色彩を提供するとみなされており、15ビットか16ビットの色深度を持つ。15ビットの場合、赤の輝度を5ビット、緑の輝度を5ビット、青の輝度を5ビットで表す。25 は 32 であるため、各色要素の輝度は32段階であり、全体として32,768色を表現できる(32×32×32=32,768)。16ビットの場合、人間の眼の感度が良い緑を6ビット(64段階)で表現する。従って、表現色数は65,536色となる(32×64×32=65,536)。
- 18ビットカラー
- 一部の液晶ディスプレイでは動画の動きへの対応を迅速にするため、トゥルーカラーを18ビット深度に縮小してディザリングを施すようになっている。
- トゥルーカラー(Truecolor)
- トゥルーカラーは1670万色もの色を表現できる。これは人間の眼で区別できる色数のほぼ限界と言われているが、グレイスケール画像への変換(トゥルーカラーではグレイスケールは256段階)をしたり、計算によってコンピュータグラフィックスを生成した場合には、アナログ画像に比べて限界があることがわかる。24ビットのトゥルーカラーはRGBそれぞれを8ビットで表す。従って各色要素は256段階の輝度で表され、全体では16,777,216色を表現できる。
- 32ビットカラーと呼ばれるものは、4,294,967,296色を表現できるわけではない。実際には24ビットのトゥルーカラーであり、残りの8ビットには何も格納されないか、アルファチャンネルに使用される。一般にコンピュータは2のべき乗単位でデータを扱うのが得意であるため、ピクセル単位のデータも2のべき乗である方が扱いやすい。そのため32ビットでピクセルデータを保持するようになっているのである。
- トゥルーカラー以上
- 1990年代後半、シリコングラフィックスなどからハイエンドのグラフィックスハードウェアやスキャナーとして、チャンネル(RGBの各色の輝度情報のこと)を8ビット以上(12ビットや16ビット)で表現するものが登場した。これは広く普及したとは言い難い。しかし、プロ向けの画像処理ソフトウェアはチャンネル毎に16ビットを使って画像を保存することで、何度も画像に処理を施した際の蓄積される誤差の影響を低減させるようになってきた。
- 画像のダイナミックレンジを拡張する方法としてHDRIなどは浮動小数点数で輝度を表している。これにより、輝度の変化が激しい画像も1つの色空間で表現できる。RGBそれぞれに32ビットを使うことが多い。ILMは half という新たな形式を提案しており、これは16ビットの浮動小数点数を使うものである。16ビットの整数で輝度を表すよりも効率的であり、今後ハードウェアサポートが進めばこれが次の標準規格となる可能性もある。
- ブリリアントカラー(Brilliant Color)
- 現在のテレビやコンピュータの表示は三原色(赤、緑、青)の輝度の混合で色を表している。例えば、明るい黄色は赤と緑の成分が同じだけ含まれ、青の成分を含まない。しかし、これは単なる近似であり、実際の黄色の灯りほど飽和することがない。このため、テキサス・インスツルメンツなどでは「ブリリアントカラー」と称する方式を提案している。これはRGBの他にシアン、マゼンタ、黄色の輝度情報も持つ方式である。三菱電機や三星などがこの方式を使ったテレビを開発している。各色チャンネルごとに8ビットとして、全体として48ビットの色深度となる。
[編集] 色深度の選択
グラフィックス指向のコンピュータゲームなどのアプリケーションでは、性能と画質はトレードオフの関係にある。色深度を小さくするとフレームバッファ性能やディスプレイの帯域幅をあまり必要としなくなり、性能が向上する。色深度を大きくすると、逆に表示のために処理能力をとられてしまい、応答性が悪くなる。