画像処理における標本化と量子化
はじめに
画像処理でグレースケールと白黒について書いたがそれをもっと掘り下げようとすると
量子化についてのまとめが必要で、さらに量子化を説明しようとすると標本化まで説明しないと行けないので
今回はその両方を説明する
標本化
標本化とはざっくり言えば 空間的・時間的に連続した画像を離散的な点(標本点つまりは画素)の集合に変換すること
標本化によって横方向の画素数M、縦方向の画素数がNとなる場合画像の大きさはM×N画素となる
実際の標本化では各標本点の間隔をどのように選ぶかが問題となる
これに関しては対象画像がどの程度の濃淡を変化を含み、どれだけそれを忠実にとりこみたいかによるところが大きい
もっと細かく言うなら標本定理によって議論され、1次元標本定理が基本になる(らしい)
ここで一次元信号を
とするなら
g(t)に含まれる周波数がW以下である場合に限り
間隔で標本化した標本値
を用いて式
により完全に復元できる
量子化
標本化によって画像は時間的、空間的に離散的に分布した画素に分解されるが
画素に関しては当然連続的な値になっている
画素の値としては、白〜灰〜黒の濃淡値が該当する
これは光の強さ、つまり明るさや輝度値の場合もある
この連続的な濃度値などを離散的な値に変換するのが量子化
今、量子化前の濃淡値を
とするとき、濃淡値は連続的なため
となっているが、それを量子化すると
という整数値になる
このように得られた整数値は濃度値、グレーレベル、濃度レベルとよばれ
真の値zと濃度レベルqの差を量子化誤差という
量子化の方法
画素数、量子レベル数と得られるデジタル画像との関係
画素数を変えた場合
量子化レベルを256レベルで一定として
画素数N*Nでどのように変化するか画像処理でよく見かけるlenna.pngで示す
256*256
128*128
64*64
32*32
256*256で十分な画質が得られるが、128,64,32と減っていくごとに一つの画素がブロック上になっているのが目立つ
量子化レベル数を変えた場合
画素数を512^2で一定とし(元画像のサイズの関係で256にするの忘れてた)
量子化レベルを64,16,4,2と変化させると以下のようになる
64レベル
16レベル
4レベル
2レベル
64レベルではまだ元画像と大差ないがだんだん減らしていくと擬似輪郭(濃淡が本来滑らかに変化している部分で量子化のため濃淡に段差が生じ擬似的に輪郭が存在するように見える現象)が生じ、濃淡の細かい変化が失われ十分な画質を得ることができない
また最後に出した2レベルでは量子化の最も極端な場合で特にグレースケールの場合に2レベルにすることを2値化といい、こういった特殊な画像を2値画像という
後述にもだす予定だが、文字の識別などに使える
量子化レベルとしては一般的な画像では256レベル(8bit)
ただし医用画像など特殊な画像は256レベル以上で4096レベルなどが必要になる