サンプリングはたくさんのデータから測定するために取り出すことを言います。波動は刻一刻と値が変化しているので測定のためにはある瞬間の値を取り出すことになります。
頻繁に測定すればより正確な変化を掴むことができますが、測定も難しくなり、かつデータ量も多くなります。
たとえば、右のように変化する波を考えます。
水色の縦線の部分を測定します。
マウスを近づけると、赤い+で測定値が示されます。
しかし、これでは十分ではありません。測定値+から波を描くと細かな所が失われていることがわかります。
1秒間に何回測定するかという周期をサンプリング周波数といいます。この周波数を2倍にして同じ測定をしてみます。
水色の縦線の部分を測定します。
マウスを近づけると、赤い+で測定値が示されます。
かなり忠実に再現できます。
画像のデータと比較すると、サンプリングは解像度にあたります。
解像度は単位長さあたりいくつ測定するかということであり、サンプリングは単位時間あたりいくつ測定するかということです。
測定する値をどう数値化するかも問題です。詳しく記録するとデータ量が多くなります。
もし、-3から+3までの7段階に表すなら1回のデータは3ビットで表現できます。(3ビットで8段階まで可)
右図にマウスを近づけると7本引いてある横線のうち一番近いデータを記録します。赤い+が測定値の表現となります
これで記録された音を再生すると右図の赤い線のようになります。
マウスを近づけると元の音との差がわかります。
もし、-7から+7までの15段階に表すなら1回のデータは4ビットで表現できます。(4ビットで16段階までは可)
右図にマウスを近づけると15本引いてある横線のうち一番近いデータを記録します。赤い+が測定値の表現となります
これで記録された音を再生すると右図の赤い線のようになります。
マウスを近づけると元の音との差がわかります。
画像のデータと比較すると、量子化は階調にあたります。
共に値の変化を何段階に表現するかということです。
-3から+3までの7段階に表すと、真ん中が0と考えて、
0,2,3,3,3,2,1,0,0,0,0,-2,-3....となります。
2の補数を使った2進にそのままなおすと、3ビットなので
000 010 011 011 011 010 001 000 000 000 000 110 101 になります。
-7から+7までの15段階に表すなら、真ん中が0と考えて、
0,3,5,6,6,5,3,0,0,1,-1,-3,-5,-3....となります。
2の補数を使った2進にそのままなおすと、4ビットなので
0000 0011 0101 0110 0110 0101 0011 0000 0000 0001 1111 1101 1011 1101 です。
当然3ビットよりもデータ量が増えますが、波は少しづつ増えたり減ったりしますから、前の値からの差は小さくなります。
0, 3, 5, 6, 6, 5, 3, 0, 0, 1,-1,-3,-5,-3....を差で表すと、
0,+3,+2,+1,+0,-1,-2,-3,+0,+1,-2,-2,-2,+2...です。
これは3ビットで表すことができます。
000 011 010 001 000 111 110 101 000 001 110 110 010 です。
このように符号化では測定した値をそのまま01にするのではなく、表現を工夫してデータ量を減らします。
このような工夫は、量子化の後ばかりでなく、量子化の時に合わせて行う方法もあります。