TERM GUIDE · DIGITAL

量子化

「量子化」とは

量子化(quantization)とは、連続的に変化する値を、あらかじめ決められた有限個の段階のいずれかに対応させる処理です。

例えば、音声の振幅(波形の高さ)は連続的に変化しますが、コンピュータでは無限に細かい値をそのまま記録することはできません。そこで、取り出した振幅を最も近い段階の値に置き換えます。この処理を量子化といいます。

量子化は、音声や画像などのアナログ情報をデジタルデータに変換する際に用いられます。

デジタル化の3つの手順

アナログ情報をデジタル化する基本的な手順は、標本化→量子化→符号化です。

① 標本化(サンプリング)

連続的に変化する信号から、一定の間隔で値を取り出す処理です。

音声の場合は、一定の時間間隔で振幅を測定します。例えば、1秒間に44,100回測定する場合、標本化周波数は44,100Hz(44.1kHz)となります。

標本化によって、時間方向に連続していた信号が、一定間隔で並んだ測定値になります。

② 量子化

標本化によって取り出した値を、あらかじめ決められた有限個の段階に対応させる処理です。

例えば、振幅が0.43で、使用できる段階が0、0.25、0.50、0.75、1.00であれば、最も近い0.50に置き換えます。

量子化によって、連続的な振幅が離散的な値になります。

③ 符号化

量子化した値を、0と1の組合せであるビット列として表す処理です。

例えば、8段階に量子化した値は、000から111までの3ビットのビット列で表現できます。

この3つの処理によって、アナログ情報をコンピュータで記録・処理できるデジタルデータに変換します。

処理役割音声の場合
標本化一定間隔で値を取り出す時間方向を区切る
量子化値を有限個の段階に対応させる振幅方向を区切る
符号化値をビット列にする0と1で表す

量子化の具体例と量子化誤差

音声の振幅を−1.0から1.0の範囲で表すことにします。

量子化に使用できる段階を、次の5つに限定します。

−1.0、−0.5、0.0、0.5、1.0

このとき、測定した振幅は最も近い段階に置き換えられます。

元の振幅量子化後の値
−0.82−1.0
−0.42−0.5
0.130.0
0.380.5
0.911.0

例えば、−0.42は−0.5に置き換えられます。

このように、量子化では元の値と量子化後の値に差が生じます。この差を量子化誤差といいます。

上の例では、

−0.42 − (−0.5) = 0.08

となり、量子化誤差は0.08です。

量子化によって生じた誤差は、音声を再生したときに量子化雑音(量子化ノイズ)として現れることがあります。

量子化の段階数を増やすと、より細かな値を表現できるため、一般に量子化誤差を小さくできます。

量子化ビット数と量子化段階数

量子化ビット数とは、1回の標本化で得られた値を何ビットで表すかを示すものです。

量子化ビット数がnビットのとき、区別できる段階数は次の式で求められます。

量子化段階数 = 2n

量子化ビット数量子化段階数
1ビット2段階
2ビット4段階
3ビット8段階
4ビット16段階
8ビット256段階
12ビット4,096段階
16ビット65,536段階

量子化ビット数が1ビット増えると、段階数は2倍になります。

例えば、8ビットから12ビットに増やす場合、

212 ÷ 28 = 24 = 16

となり、段階数は16倍になります。

一般に、量子化ビット数をdビット増やすと、段階数は2d倍になります。

量子化ビット数が大きいほど、同じ振幅範囲を細かい段階に分けられるため、元の振幅をより正確に表現しやすくなります。

標本化周波数と量子化ビット数の違い

デジタル音声の品質には、標本化周波数と量子化ビット数が関係します。

この2つは、信号を細かく表現する方向が異なります。

項目標本化周波数量子化ビット数
意味1秒間に測定する回数1回の測定値を表すビット数
細かくなる方向時間方向振幅方向
値を大きくすると測定間隔が短くなる表現できる振幅の段階が増える
主な効果より高い周波数まで記録できる量子化誤差を小さくしやすい

標本化周波数が高いほど、短い時間間隔で信号を測定できます。

一方、量子化ビット数が大きいほど、それぞれの測定時点で振幅を細かく表現できます。

したがって、一般に元の波形をより細かく表現するには、標本化周波数を高くし、量子化ビット数を大きくすることが有効です。

量子化ビット数とデータ量

量子化ビット数を増やすと、1回の標本化で得た値を記録するために必要なデータ量も増えます。

非圧縮のPCM(パルス符号変調)方式では、音声のデータ量は次の式で求められます。

データ量(ビット)=標本化周波数(Hz)×量子化ビット数×チャネル数×録音時間(秒)

チャネル数は、モノラルなら1、ステレオなら2です。

例えば、標本化周波数44,100Hz、量子化ビット数16ビット、ステレオで10秒間録音した場合、

44,100 × 16 × 2 × 10
= 14,112,000ビット

となります。

ここで、標本化周波数・チャネル数・録音時間を変えずに、量子化ビット数を8ビットから16ビットへ増やす場合を考えます。

  • データ量:16 ÷ 8 = 2倍
  • 量子化段階数:216 ÷ 28 = 256倍

つまり、量子化ビット数を2倍にすると、非圧縮PCMのデータ量は2倍になりますが、量子化段階数は256倍になります。

データ量は量子化ビット数に比例し、量子化段階数は2のビット数乗で増えます。

なお、音声圧縮を行った場合、データ量は圧縮方式によっても変わります。

画像における量子化

量子化は音声だけでなく、画像のデジタル化でも利用されます。

例えば、紙の写真をデジタル画像に変換する場合も、標本化・量子化・符号化の3つの処理を考えることができます。

① 標本化

画像を格子状に区切り、それぞれの位置の明るさや色を取り出します。画像を構成する一つ一つの小さな領域が画素(ピクセル)に対応します。

② 量子化

取り出した明るさや色を、有限個の段階に対応させます。

例えば、白から黒までの明るさを8ビットで量子化する場合、0~255の256段階で表現できます。

③ 符号化

量子化した明るさや色の値を、ビット列で表します。

例えば、一般的なRGB画像では、赤(R)・緑(G)・青(B)の各成分をそれぞれ8ビットで表し、1画素を合計24ビットで表現できます。

画像では、画素数を増やすと細かな形状を表現しやすくなり、量子化段階数を増やすと色や明るさの微妙な違いを表現しやすくなります。

EXAMPLE

例題

量子化 · EXAMPLEオリジナル

量子化ビット数を8ビットから12ビットへ増やしたとき、1標本で表せる量子化段階数は元の何倍になるかを次から選べ。

  1. 0

    1.5倍

  2. 1

    4倍

  3. 2

    16倍

  4. 3

    256倍

解答・解説を確認

正解2.16倍

解説

量子化段階数は2のビット数乗で増えます。ビット数をdだけ増やすと段階数は2d倍になり、8から12ビットでは16倍です。

出典
オリジナル

PRACTICE

量子化の問題に挑戦