2.1 情報科学技術の基本原理:デジタル化

2.1.1 情報とデータ

情報とは、人が人に伝えたい、あるいは伝えると何らかの意味を持つ「こと」である。ある人が距離を隔てた他の人に伝えたい場合もあれば、何らかの記録やメモのように、時間を越えて自分自身に伝えたい場合もある。

情報には本来は形がない。けれども伝えるという目的のもとに、人間は情報に形を与えようと努力してきた。その努力の結果、多くの情報は形を持つようになった。文書などはその代表例であるが、絵画や写真として紙の上に表されたもの、ビデオや録音によってCD上に記録されたものなど、さまざまな形で情報は表されている。それらを総称して本報告書では(広い意味での)データと呼ぶことにする。

このようにデータという形になった情報を扱う科学技術が本報告書の主な対象である。ただし、広い意味のデータを考えたとしても安易に「情報=データ」と仮定してはいけない。という点をここで注意しておこう。

まず第一に「データだけでは情報にならない」という点である。厳密にいえば正しい解釈のもとでデータを見なければ情報は得られないのである。たとえば、CDに記録された音楽も、正しい復元の仕方をしなければ聞くことができない。日本語で書かれた文を日本語がわからない人が見ても情報はほとんど得られない。また、たとえ日本語がわかったとしても、正しい解釈のための十分な知識がなければ、書き手がどんな情報を伝えたかったのかがわからないだろう。このように、解釈にも機械的なものから、完全な規則にしにくいものまで、さまざまなレベルがある。こうした解釈のもとで、データが何らかの情報を表わしていることになるのである。

第二は「データになったものだけが対象ではない」という点がある。ある時点で、データになりえないと思われている情報も、何とか形(データ)にしようという研究も行われている。たとえば、においや味などの情報や、運動感覚などもデータにしようという試みが行われており、これらも情報を扱う科学技術の研究の一部である。

以上の注意をふまえたうえで、以下では、主に形(データ)になった情報を扱う科学技術について述べていく。

 

2.1.2 データのデジタル化

情報を形にし、記録や複製、そして伝達するための手段として、人間は古代から象形文字のような記号を用いてきた。それは近代では文字となり、文字を連ねて情報を文章として表現するようになった。

どの言語でも、文字が決まっていて、それを並べることで情報を表現する。我々は、その有限種類の文字を並べることで情報を表現し、その表現されたものを記録し、伝送し、編集したりすることで、情報の記録・伝達・処理を行っている。この方式をとことんまで突き詰めたのが、今日の情報科学技術の根幹となるデジタル表現である。

デジタル表現は様々な意味で用いられているが、本報告書での意味を明確に規定しておく、まず、0と1の列を2進列と呼ぶことにする。2進数はビット列ともいう。2進列は、文字の種類を0と1の二種類に限定した文字列である。我々はデータを、この2進列で表すことを、データの2進表現、あるいはデータのデジタル化[1]と呼ぶ。

では、どのようなデータが2進表現できるのだろうか。この問いに対し次のように答えるのが、情報科学技術の基本原理の1つであるデジタル化の原理である。

原理と称したが、これは自然界の法則のように自然に成り立っているものではない。この原理に向けて、さまざまな情報科学技術が駆使され、その成果として実現され、実証されてきた原理なのである。そのデジタル化の事例をいくつか紹介しよう。

数字や文字のように、もともと記号になっているデータは比較的簡単に2進列にできる。そのように、もともとは記号になっていなデータ、たとえば音や絵のようなデータをアナログデータという。

こうしたアナログデータもデジタル化できる、つまり2進列にできる、という発見は、デジタル化の原理を実現するための重要な一歩であった。(本文中では、省略するが、アナログデータを2進列で表わす例として以下の例で、音と画像のデジタル表現法を紹介するので、興味のある方は参照されたい。)

用語解説1:ビット、バイト

2進列の構成要素である一つ一つの0や1をビットという。そのため2進列をビット列ともいう。 ビットはまた、2進列の長さ(桁数)の単位でもある。たとえば、4ビットの列とは、0101のように4個の0または1からなる2進列のことである。 また8ビットの長さを1バイトといい、これも長さの単位によく用いられている。基本的な文字には1バイトの2進列が割り当てられている。

例2:数字や文字の2進表現

数(自然数)は2進数という形で表わすことができるので2進表現可能である。たとえば、6は110で、25は11001と表わされる。10進数では、1の位、10の位、100の位、…で表わしていたのに対し、2進数では、1の位、2の位、4の位、… で表わすのである。負の数や小数(ただし有限桁)を表わすには、基本的には二つの情報が必要である。

たとえば、+2と-2を表わすには、2という絶対値の他に、正負の符号を表わす必要がある。小数は、たとえば0.25 = 25×102と書けることを利用すれば、二つの数(25と-2)で表現できる。 ただし、現在のコンピュータでは、ある程度の大きさの数(たとえば231=約21億)までを簡便に扱える表現を用いている。具体的には、負の数は補数表記で、小数は浮動小数点表記という方法で表わしている。

文字の場合には、各文字に適当な2進列を割り当てるコード表を決めておけば、2進列で表わすことができる。たとえば、基本的な記号と英字アルファベットには7桁の2進列を割り当てるASCIIコード(アスキーコード)が一般的に用いられる。

3画像を2進列で表わす

新聞の写真をよく見ると細かな点が印刷されているのがわかる。画像を白と黒の点で表わすことができるのである。

たとえば、下図(左)は白点○と黒点●を12行17列並べて、絵を描いたものである。これではとても粗くて精密な絵は描けないが、右(256行256列)ならば、かなり絵らしく描ける(注:実際には白点○ではなく見えない点が印字されるので、結果とし図右のように黒点だけの印字となる)。このように白(空白)と黒の印字の指示であれば1ビット(0は黒、

     ●で絵を描く

1は空白)で指定できる。つまり、左図は12×17=204ビットの2進列で右図は256×256=約6万5千ビットの2進列で表わすことができるのである。

カラーの画像はどうだろうか? ノートパソコンの液晶ディスプレイを例にとって説明しよう。こうした液晶ディスプレイ上には非常に小さい画素(ピクセル)が規則的に並んでいる。一つの画素は、赤、緑、青の3個の光源から成る。直感的には赤、緑、青三つの電球(各々、R、G、Bと呼ばれる)が のように並んだものが1画素で、それが、たとえば、480行640列並んだものが液晶である。(ちなみに、写真などのように紙へ印刷する場合には4色が基本色として用いられる。)

デジタルカメラの精度などで「25万画素(ピクセル)」などというキーワードが出てくるが、これはその画素数のことである。たとえば(白黒画像だが)、左の図は12×17=204画素、右図は256×256=約6万5千画素である。

液晶ディスプレイの一つの画素に注目してみよう。それを構成する赤、緑、青の三つのランプの輝度(光の強さ)はディスプレイでは、それぞれ0(光らない)から255(最も明るい)まで、その明るさを256段階に分けてコントロールできるようになっている。すべてが0のときは、その画素は黒く見え、すべてが255のときは白く光って見える。その他の組み合わせで様々な色を表わすことができる。たとえば、赤、緑、青の明るさが255、0、255では紫、255、255、0のときは黄色に見えるのである。

255という数は、2進数8ビット(8桁)で表わすことのできる最大数である。つまり、一つの画素の色は8ビットの数3個(24ビット)で表わされている。一つの(液晶などの)画面は、この24ビット×画素数のビット数で表すことができるのである。

一般にアナログデータのデジタル化は近似であり、完璧な精度は望めない。しかし、たとえば画像では、画素数や階調(色の濃さの度合いの段階数)を多くすれば、それだけ滑らかに画像を表すことができる。音の場合も刻み幅をとる周期を増せば精度が上がる。このように、理論的にはいくらでも精度を上げられる、という性質は、デジタル化の方法を考える際に必須の要件である。

 用語解説2:精度の単位dpiHz

画素数は画像の解像度を表わすのに使われているが、本来は「数」ではなくて密度が重要である。たとえば、1000画素といっても、縦横10cmなのか10mなのかで精度が大きく異なってくる。画像の場合に密度を表わす単位は、dpi(dot per inch)つまり1インチ当たりの点(画素)の数である。

音の場合には、その標本値を取る頻度が精度の指標の一つになる。この頻度は周波数の単位であるHz(ヘルツ)で表わす。たとえば 44.1kHz は 1 秒当たり44100回。1/44100 秒刻みで標本値を取るという意味である。

デジタル化では原理的に精度をいくらでも上げられることができるような表記法が用いられる。けれども現実には有限の精度内で表わさなければならない。そのような場合に精度は妥協の結果決められる、という点も重要である。

つまり、いくらでも精度を上げることは可能だが、その時点での技術レベルや生産コストと人間の要求とが妥協点に決まるのがほとんどである。妥当な値段で提供できて人間が十分満足できるよう設定されるのが普通なのである。

音は電気信号として、時々刻々変化する電気の強さ(電圧)で表わされる。直感的には上図のような波である。横軸が時刻、縦軸がその時刻での信号の強さである。音の高低は波の山の多さ(単位時間あたりの振動数)で決まる。一方、波の高さは音の大きさである。

この波はアナログデータである。それをデジタルで表わす基本は階段状の棒グラフで

の近似である。ある適当な刻み幅で上図右のような棒グラフ化し、その高さ(標本値という)の列で波を表わすのである。刻み幅が小さいほど、標本値を精密に表わすほど、近似の精度が上がる。とくに、振動の激しい高い音を表現するにはそれに応じた刻み幅が必要で、CDなどでは普通、44.1kHz(1秒間に44100回)の刻み幅が用いられている。

アナログデータをデジタルデータとして表わす表現方法を決めたとしても、実際にはその表現法に基づき、アナログからデジタルへ、またデジタルからアナログへ、変換しなければならない。前者をAD変換、後者をDA変換という。このAD・DA変換もデジタル化の基礎技術である。

 

[1] 0~9の数の列で表わすこと、あるいは何かの記号列で表わすことを「デジタル化」と呼ぶ場合も多い。しかし、2進表現の重要性を示すために、本報告書では、あえて2進列で表わすことをデジタル化と呼ぶことにした。