画像の量子化

CG画像処理

標本化 で得られた各格子点の明るさは、まだ連続的にどんな値もとりうるものです。
ここでは、その明るさを段階的な値に丸める、量子化のステップを見ていきます。

量子化とは何か
CG画像処理

標本化で読み取った各点の明るさは、連続的な量であり、原理的にはどんな細かい値もとりえます。
しかしコンピュータは、無限に細かい値をそのまま扱うことはできません。
そこで、読み取った明るさを、あらかじめ決めておいた有限段階の値のどれかに丸め込む操作を量子化といいます。

量子化の結果、それぞれの点に割り当てられる離散的な値が画素値です。
連続的だった明るさは、量子化を通して「いちばん近い段階の値」に置き換えられ、その段階に対応する数値が画素値として記録されます。

標本化と量子化は、デジタル化のなかで役割を分担しています。

  • 標本化:明るさを読み取る「位置」を、とびとびの標本点に区切る(空間方向の離散化)
  • 量子化:各点で読み取った「値」を、とびとびの段階に区切る(値方向の離散化)

つまり、標本化が空間をとびとびにする操作だったのに対し、量子化はそのものをとびとびにする操作といえます。
入力の連続的な明るさに対して、出力の画素値が階段状にとびとびに決まる様子は、階段関数として描くことができます。

量子化レベル数とビット数
CG画像処理

では、この段階はいくつ用意すればよいのでしょうか。

量子化で用意する段階の数を量子化レベル数といいます。
レベル数がいほど、連続的な明るさをより細かい段階で表せます。

このレベル数は、画素値を表すために必要なビット数と直接結びついています。

  • 1ビットは012通りの状態を表せるため、1ビットで2段階を区別できる
  • 2ビットなら、000110114通り、すなわち4段階
  • 3ビットなら8通り、すなわち8段階

というように、ビットを1つ増やすたびに表せる段階は2倍になります。

この積み上げを一般化すると、nビットで表せる量子化レベル数は となります。

多くの画像処理では、8ビット量子化した画像がよく利用されます。このような画像は、それぞれの画素の画素値を8ビットのデータで表現できるため、8ビット画像と呼ばれます。
より一般に、nビット量子化された画像をnビット画像と呼び、nが大きいほど明るさをきめ細かく表現できます。

8ビット量子化では、明るさを0から255までの256段階に対応させます。
最も暗い段階が0、最も明るい段階が255であり、その間の明るさを256通りの画素値で表します。

一方、文字認識などの処理では、白と黒の2値で表現すれば十分なため、1ビット量子化が使われます。
白と黒の2段階で量子化するため、量子化レベル数2であり、このような2レベルのデジタル画像は2値画像と呼ばれます。

白と黒の中間にある灰色も区別したい場合は、2値画像より量子化レベル数を増やす必要があります。
白と黒に加えて、中間の灰色の段階も表した画像は、グレースケール画像と呼ばれます。

量子化誤差と量子化雑音
CG画像処理

量子化は、連続的な明るさを最も近い段階の値に丸める操作でした。
値を丸める以上、本来の明るさと、割り当てられた画素値との間には必ずずれが生じます。このずれを量子化誤差といいます。

量子化誤差には上限があります。隣り合う段の間隔を量子化ステップ幅と呼ぶと、本来の値は必ずどちらかの段に丸められるため、誤差はステップ幅の半分以下に収まります。
レベル数を増やしてステップ幅を狭くすれば、その分だけ量子化誤差も小さくできるわけです。

8ビット(256段階)で明るさを表すとき、量子化ステップ幅は最大の明るさのおよそ1/256になります。このとき量子化誤差は、最大でもそのステップ幅の半分程度に収まります。

量子化誤差によってデジタル画像に現れる画素値の歪みを、量子化雑音と呼びます。
量子化誤差は点ごとの値のずれであり、量子化雑音は画像全体に現れるノイズや歪みを指す言葉です。

量子化の粗さと擬似輪郭
CG画像処理

明るさが滑らかに変化するアナログ画像を量子化すると、デジタル画像のある位置で、量子化レベルが1段階変化することになります。
このとき、量子化レベル数が十分に大きくないと、段階が変化する位置が等高線のように見えてしまうことがあります。本来そこに輪郭がないのに縁取りのような線が見えることから、この線は擬似輪郭または擬似エッジと呼ばれます。

量子化レベル数を少なくする、すなわちビット数を小さくすると、量子化誤差が大きくなり、擬似輪郭が目立つようになります。

擬似輪郭は、量子化雑音が目に見える形として現れたものです。
量子化を粗くするほど、丸めによって失われる情報が増え、目に見える段差として表面化します。

空の青のグラデーションを2ビット(4段階)で量子化すると、滑らかに変わっていたはずの青が4本の帯に分かれて見えます。段と段の境目に擬似輪郭が現れた状態です。

このように、量子化レベル数をどれだけ確保するかは、画像のなめらかさを左右する重要な選択です。
次は、こうして量子化で決まった画素値が、どのように明暗や色を表すのかを見ていきます。