ビットプレーン

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
グレースケール画像 (左) に対する、8枚のビットプレーン画像

ビットプレーン (Bit-plane) とは、時系列データや空間的広がりを持つデータ(デジタル離散信号)について、個々のデータをビット単位に切り出し、特定ビット位置についての時系列データや空間データを構成するデータ構造、あるいは概念である[1]

例えば、個々のデータが16ビットなら、16個のビットプレーンで表現できる。その際、最上位ビットを集めたビットプレーンが第1ビットプレーンとなり、最下位ビットを集めたビットプレーンが16番目のビットプレーンとなる。また、時系列データであれば、個々のビットプレーンは1次元のビット配列英語版となり、画像データであれば2次元のビット配列となる。

データ構造[編集]

音声データやビットマップ画像輝度データをビットプレーンで表現した場合、元データの最上位ビットに相当するビットプレーンが全体のデータとしては最も重要となり、最下位ビットに対応するビットプレーンは最終的な音声や輝度への影響が最も少ない。最上位ビットのビットプレーンから昇順にビットプレーンに番号を振った場合、ビットプレーン番号が 1 増加するごとにそのデータの重みは半分になる。

元のデータが m ビットで、n 番目のビットプレーン上のビットが 1 だったとき、そのビットが全体与える寄与は 2(m-n) となり、0 なら何も寄与しない。例えば、8ビットの値 10110101(十進では181)をビットプレーンに分解すると次のようになる。

ビットプレーン 寄与 累積
1st 1 1 * 2^7 = 128 128
2nd 0 0 * 2^6 =0 128
3rd 1 1 * 2^5 = 32 160
4th 1 1 * 2^4 = 16 176
5th 0 0 * 2^3 = 0 176
6th 1 1 * 2^2 = 4 180
7th 0 0 * 2^1 = 0 180
8th 1 1 * 2^0 = 1 181

ビットプレーンはビットマップと同義に使われることもあるが、技術的には前者はデータの格納構造を意味し、後者はデータ自体を意味する[2]

用途[編集]

例えば、PCM音声の符号化においては、各サンプルの先頭ビットは信号の符号を表すか、最大振幅の半分の値を表す (符号がない場合)。最後のビットは正確な値を表すのに使われる。このため、最上位ビットを入れ替えた場合、それより下のビットを入れ替えたときよりも歪みがひどくなる。ビットプレーンのこの特性を利用して非可逆圧縮を行う場合、最上位ビットの方をなるべく保持し、最下位ビットの方を失ってもよしとする場合が多い[3]

上の図を見てもわかるように、上位のビットプレーンは同じビット(0または1)が長く並びやすい。そのため連長圧縮の効果が高い。これを利用した画像ファイルフォーマットとして Progressive Graphics File英語版 (PGF) がある。

ビットプレーンへの分解は、個々のビットプレーンがノイズでしかないのか、それとも重要な情報を含んでいるのかの判別に使われることもある。例えば、位置(X,Y) のピクセルの値を隣接する (X-1,Y)、(X,Y-1)、(X-1,Y-1) の値と比較し、それら3つのうち2つが対象ピクセルと同じ値だった場合、ノイズでないと判断する。ビットプレーンの49%から51%以上のピクセルがノイズと判断されたら、そのビットプレーンはノイズが多いと判断できる[4]

また、影響の少ないビットプレーンに電子透かしを組み込む手法もある。

主な使用機種にPC9801Amigaがある。AmigaAtari ST はグラフィックス表示にビットプレーン形式を採用していた。

ソフトウェア[編集]

画像処理ソフトウェアの多くは、画像をビットプレーンに分解することができる。オープンソースのツールとしては、NetpbmのPamarithやImageMagickのConvertがビットプレーンを生成するのに使える。

脚注[編集]

  1. ^ Bit Plane”. PC Magazine. 2007年5月2日閲覧。
  2. ^ Bit Plane”. FOLDOC. 2007年5月2日閲覧。
  3. ^ Cho, Chuan-Yu; Chen, Hong-Sheng; Wang, Jia-Shung (2005-07). “Smooth Quality Streaming With Bit-Plane Labelling” (abstract). Visual Communications and Image Processing (The International Society for Optical Engineering) 5690: 2184–2195. Bibcode 2005SPIE.5960.2184C. doi:10.1117/12.633501. 
  4. ^ Strutz, Tilo (2001). “Fast Noise Suppression for Lossless Image Coding”. Proceedings of Picture Coding Symposium (PCS'2001), Seoul, Korea. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.9996 2008年1月15日閲覧。. 

関連項目[編集]