画像の標本化

CG画像処理

画像のデジタル化 では、連続的なアナログ画像を「標本化・量子化・符号化」という3つのステップでデジタル画像に変換することを見ました。
ここでは、その最初のステップである標本化を、もう一歩踏み込んで見ていきます。
標本化をどれだけ細かく行うかによって、もとの画像をどこまで正しく再現できるかが決まります。

標本化とは何か
CG画像処理

連続的に濃淡が広がるアナログ画像を、コンピュータが扱えるとびとびの数値に変換する。その第一歩として、画像を格子状に区切り、各格子点の上にある明るさを読み取る操作が標本化サンプリング)です。

このとき、値を読み取る格子状の点を標本点といいます。標本点は、デジタル画像の画素の位置に対応しています。

各標本点で読み取った明るさ(輝度などの値)が標本値です。
連続的に分布していた明るさのうち、標本点の真上にある値だけを抜き取ったものが標本値であり、これがそのまま画素の値のもとになります。

そして、隣り合う標本点どうしの間隔を標本化間隔といいます。
標本化間隔は画素のピッチ(画素どうしの間隔)に対応しており、これが狭いほど、画像を細かく読み取っていることになります。

つまり標本化とは、連続した像のうち、等間隔に並んだ標本点の値だけを抜き取って、とびとびの標本値の集まりに置き換える操作だといえます。
では、この間隔はどれくらい細かくすればよいのでしょうか。

空間周波数と標本化間隔
CG画像処理

標本化間隔をどこまで細かくすべきかは、もとの画像が「どれだけ細かい模様を含んでいるか」によって決まります。
この細かさを表す尺度が、「画像の中で明暗がどれだけ密に変化しているか」という空間周波数です。

多くの場合、周波数とは、音声のように「時間がたつにつれて」波が何回繰り返すか(1秒間の振動回数)を表します。
これに対して空間周波数は、「画像の上で場所をずらしていくにつれて」明暗が何回繰り返すか、を表します。波の繰り返しを数える基準が、時間の経過ではなく「画像の中の位置」になっているわけです。この「位置をずらす向き」のことを空間方向と呼ぶため、空間周波数という名前が付いています。

たとえば、白と黒の縞模様を考えると、明暗の切り替わりが多い細かい縞ほど空間周波数がく、ゆったりとした太い縞ほど空間周波数がい、と表現できます。

細かい模様、すなわち空間周波数の高い部分を正しく読み取るには、標本化間隔を十分に狭くする必要があります。
標本化間隔が縞の細かさに対して粗すぎると、隣り合う標本点の間に縞が何本も入り込んでしまい、その変化を取りこぼしてしまうからです。

標本化定理
CG画像処理

では、空間周波数に対して標本化間隔はどこまで細かければ十分なのでしょうか。
この問いに答えるのが標本化定理です。

標本化定理は、もとの信号に含まれる空間周波数の最大値をとするとき、標本化の細かさ(標本化周波数)が次の条件を満たせば、標本値からもとの信号を完全に復元できることを示します。

つまり、画像に含まれるいちばん細かい模様に対して、その2倍以上の細かさで標本化しなければならない、ということです。
このときの境目となる周波数、すなわち「正しく標本化できる空間周波数の上限」をナイキスト周波数といいます。

なぜ、2倍の細かさが必要なのでしょうか?
1本の縞(明から暗へ、そして再び明へ戻る1周期分の波)を表現するには、少なくとも山の部分と谷の部分の2点を読み取らなければなりません。1周期あたり2点未満しか標本点がないと、波の山と谷を区別できず、その縞が「あった」という情報そのものが失われてしまいます。
だからこそ、最も細かい縞に対しても、1周期につき最低2点を確保できる細かさ、すなわち最大空間周波数の2倍以上が必要になるのです。

エイリアシング
CG画像処理

標本化定理の条件を満たさず、画像の細かさに対して標本化間隔が粗すぎると、何が起きるのでしょうか。

このとき、もとの画像には存在しない偽の模様が現れてしまいます。
このように、粗い標本化によって本来とは異なる信号が生じてしまう現象をエイリアシングといいます。

エイリアシングの身近な例として、モアレがあります。
細かい縞模様を、その細かさに足りない粗い間隔で標本化すると、標本点が縞をところどころ飛ばして拾ってしまい、もとには無かったゆるやかで太い縞が浮かび上がります。

エイリアシングは、斜めの線や輪郭を画素に置き換えるときにも現れます。
なめらかな斜め線が標本化によって階段状にギザギザに見えるジャギーも、細かい形状を粗い標本点で表現しきれないために起こる、エイリアシングの一種です。

補間による信号の復元
画像処理

標本化定理は、条件を満たしていれば標本値からもとの連続信号を「完全に復元できる」と述べていました。ここでは、その復元がどのように行われるのかを見ていきます。

標本化で得られるのは、とびとびの標本値、すなわち離散的な点の並びだけです。
これらの点をなめらかにつなぎ直して、もとの連続的な信号を取り戻す操作を補間といいます。

標本化定理の条件を満たしていれば、標本点の値をなめらかにつなぐ波は1つに定まります。
言い換えると、正しく標本化された標本値からは、もとの正弦波(連続信号)が一意に復元されるのです。

この理想的な補間には、sinc関数と呼ばれる波形を各標本値に重ね合わせる方法が用いられます。
sinc関数による補間は、標本化定理が保証する「もとの信号の完全な復元」を数学的に実現するものですが、実際の画像処理では計算量の都合から、より単純な補間で近似することがほとんどです。

一方、標本化定理の条件を満たしていない場合は、標本値をなめらかにつなぐ波が一意に決まりません。
もとの細かい波ではなく、それより緩やかな別の波(エイリアス)として復元されてしまいます。これが、前の節で見たエイリアシングの正体です。
正しく復元できるかどうかは、標本化の段階で十分な細かさを確保できていたかどうかにかかっているのです。

ダウンサンプリング
画像処理

画像の縮小など、すでにデジタル化された画像の解像度を下げ、画素を間引いて粗くする操作をダウンサンプリングといいます。

ダウンサンプリングでは標本点を減らすため、結果として標本化間隔が広がります。これは標本化をやり直して、より粗い間隔で読み取り直すことと同じです。
そのため、もとの画像に細かい模様が含まれていると、間引きによって標本化定理の条件を満たせなくなり、ここでもエイリアシングが発生してしまいます。

この対策としては、間引く前にあらかじめ画像をぼかしておく方法がとられます。
ローパスフィルタ(プレフィルタリング)と呼ばれるぼかし処理で、間引いたあとの粗い標本化では拾いきれない高い空間周波数の成分をあらかじめ取り除いておくのです。
細かい模様を先になくしておけば、その後で間引いてもエイリアシングは生じません。

このように、標本化の細かさと、そこに含まれる空間周波数の関係を意識することが、画像を正しく扱ううえで欠かせません。

次は、標本点で読み取った標本値(連続的な明るさ)を、あらかじめ決められた段階の値に丸める量子化 のステップを見ていきます。