アナログ値を有限段階の離散値に丸める処理
量子化(りょうしか)とは、アナログのなめらかな値を、あらかじめ決めた有限個の段階のどれかに丸める処理のことです。標本化で読み取った各点の高さを、いちばん近い「段」の値に置き換えます。
身近な例で言うと、体重計の表示です。本当の体重は 62.3847…kg と無限に細かい値ですが、体重計は「62.4kg」のように決まった刻みに丸めて表示します。0.1kg 刻みなら、その間の値はすべて近い目盛りに寄せられます。これが量子化です。
上のツールで 量子化ビット数のスライダーを動かすと、緑の階段波形の段数が変わります。段が多いほど青い元の波にぴったり重なっていく様子を確認してください。
量子化ビット数とは、1つの値を表すために何ビット使うかを示す数で、これによって段階数(表せる目盛りの数)が決まります。
段階数 = 2^量子化ビット数
ビット数が1つ増えるごとに段階数は2倍になります。
・1bit → 2^1 = 2 段階(ON/OFF だけ、とても粗い)
・4bit → 2^4 = 16 段階
・8bit → 2^8 = 256 段階
・16bit → 2^16 = 65,536 段階(音楽CDの精度)
段階が細かいほど元の値に近づくので精度(音質・画質)が上がりますが、その分1つの値に必要なビット数が増えてデータ量も大きくなります。身近な例では、絵の具の色数に似ています。色数が多いほど本物の色に近い絵が描けますが、絵の具箱は大きくなります。
量子化誤差とは、丸める前の本当の値と、丸めた後の段階の値とのズレのことです。アナログの値を「いちばん近い段」に寄せる以上、必ず少しの差が生まれます。この誤差は雑音(量子化ノイズ)として現れ、音ならザラつき、画像なら色の段差(バンディング)になります。
量子化誤差を小さくするには、量子化ビット数を増やして段階を細かくするのが基本です。段の間隔が狭くなれば、丸めたときのズレも小さくなります。上のツールの「平均量子化誤差」は、ビット数を上げると数値が下がっていきます。
身近な例で言うと、定規の目盛りです。1mm 刻みの定規では本当の長さとの誤差が最大 0.5mm 出ますが、0.1mm 刻みなら誤差はぐっと小さくなります。このようにビット数を増やすと量子化誤差が減って精度が上がる一方、データ量は増えるというトレードオフがあります。