白黒(2値)ビットマップ画像のデジタル表現

白黒の(もしくは何らかの2色で構成される)ビットマップ画像は電車のドアの上にある次の駅を表示する電光パネルなどで現在でも使われています。
カラーのビットマップ画像と比べて色の情報が必要ないため、画像のデータサイズが非常に小さくなるという特徴があります。
このような画像は色として白と黒の2つの値をとるため、「2値画像」とも呼ばれます。
ここでは縦横8ドットの小さな白黒ビットマップ画像のデジタル表現について紹介します。

縦横8ドットの白黒ビットマップ画像の仕組み

白黒ビットマップ画像ではそれぞれの列のドット(点)を下から順に白=0、黒=1とする2進数とみなします。
各列を表す2進数を左の列から順に並べたものがビットマップのデジタル表現となります。
各列は8つの点から構成されるので 8ビット = 1バイト で表現されます。
全部で8列あるのでこのビットマップのデータは合計8バイトで構成されます。
参考:デジタル画像のことを「ビットマップ」画像と呼ぶのは、この白黒ビットマップ画像のそれぞれの点が2進数の各桁(ビット)に対応(マッピング)していることに由来します。
参考:昔のコンピュータは縦7ドット、横5ドットなどの小さなサイズでアルファベットの大文字、小文字、記号、カタカナなどを表現していた時代もありました。

上下左右がつながっていないスクロール
上下左右がつながっているスクロール

画像や数値の上にマウスを移動すると対応する列やデータの色が変化します。
画像の点の上でクリックするとクリックした点の白黒を反転することができます。
数字の上でクリックすると、ダイアログボックスから数値を設定することができます。
上記のボタンで上下左右方向にスクロールします(詳細は下記を参照)。

白黒ビットマップ画像のスクロール

10進数では数を10倍すると桁が一つずつ繰り上がります。
同様に2進数では数を2倍すると桁が一つずつ繰り上がります。
白黒のビットマップ画像では2進数の各桁が列のドットに対応しているので、列を表す数を2倍すると上方向に1ドットスクロールします。
逆に列を表す数を1/2(切り捨て)にすると下方向にスクロールします。
左右にスクロールするには、それぞれの列の数字を一つずつずらします。

上下左右のつながった白黒ビットマップ画像のスクロール

2進数の数値を2倍する際に、一番上の桁の数値はあふれてなくなってしまいますが、そのあふれた桁を2進数の一の位の桁に移動することで、上下のつながった上方向のスクロールを行うことができます。
同様に、2進数の数値を1/2にする際に、一の桁を一番上の桁に移動することで上下のつながった下方向のスクロールを行うことができます。
左右方向のスクロールに関しても同様の作業を行うことができます。


電卓などの数字の形のデジタル表現

液晶の電卓やエレベータ内の階の数字など、特定の形の文字(数字の0〜9の10文字)しか表示する必要がない場合、上記のビットマップによる表現は点の数が多く非効率です。
そこで電卓などでは小さな点でなく、7本の棒を組み合わせて数字形を表現します。
それぞれの棒を7桁の2進数の各桁に対応させ、桁が1なら棒を表示、桁が0なら棒を表示しないという方法で数字の形を表現します。
この方法では、一つの数字の形を7ビット(1バイト以下)で表現することができます。
上記の「Q」のビットマップ画像は8バイトなので1/8以下のでサイズで数字の形を表現することができます。
下図の例では棒の横に表示されている数字が左の2進数表現の下に表示されている桁番号と対応していることを表します。
(どの棒をどの桁と対応させるかについての決まりはありません。下図は対応の一例です)
7本の棒で表現できるパターンの組み合わせは 2 7 = 128 通りです。
従って、電卓で使われる 0 〜 9 の10通りの数字以外にも、様々なパターンを表現することが可能です。
(下のボタンをクリックすることでいくつかのアルファベットの小文字、大文字、記号を表示できます) この方法と同じやり方で、棒の数を増やしたり、棒の形や位置を変えることで、様々な形を表現する場合もあります。




棒や2進数表現の上にマウスを移動すると対応する棒や2進数表現の桁の色が変化します。
棒の上でクリックすると、その棒の表示を切り替えることができます。
2進数表現の上でクリックすると、ダイアログボックスから数値を設定することができます。
桁が0の場合に棒を表示しないとわかりにくくなるので、0の場合は棒の枠を表示しています。
図の下のボタンをクリックすることで、様々なパターンとその2進数表現を表示することができます。


目次へ戻る