画像を1/2に縮小するときに2画素の平均を取るというのは、
皆様いつもやられているかと思うのですが、
はたしてそれがどのくらいの性能かどうか興味がありませんか?

ということで解析してみました。

方法としては、理想ローパスフィルタの空間領域での畳み込み係数を求め、
平均縮小の係数が、その理想的な係数にどれくらい近いかを考えます。

前知識として、周波数領域の高さ1の矩形の幅を1/2倍にすると、
空間領域でのsincの0点の間隔は2倍となります。
そこで、任意の離散画像において表現可能な周波数、を全て含むような最小の矩形を考え、
その半分の横幅を持つ矩形を乗じることで、
ナイキスト周波数の半分でカットオフする理想ローパスフィルタを構成します。

周波数領域での乗算は空間領域での畳み込みになるので、
周波数領域でのこの理想ローパスフィルタの乗算は、
空間領域での0点間隔2倍となったsinc関数の畳み込みとなります。

次に、1/2に縮小するという操作を、元画像の2画素のちょうど真ん中の仮想点を、
ローパスフィルタで帯域制限した後にサンプリングすると考えると、
サンプリング点と元画像の点は、距離0.5,1.5,2.5と離れていることになります。
ここで、sinc関数は横に2倍拡大しているので、2で割って、
 sin(PI*0.25)/(PI*0.25)=0.90
 sin(PI*0.75)/(PI*0.75)=0.30
 sin(PI*1.25)/(PI*1.25)=-0.18
が理想の重みのようです。
対称に展開すると[-0.18 0.30 0.90 0.90 0.30 -0.18]でしょうか。

何となく、2画素の平均を取れば1/2に綺麗に縮小できそうですが、
2画素平均縮小の重みは[0 0 1.0 1.0 0 0]なので、
結構離れていることが分かります。
そこそこの性能ということみたいです。

ちなみに、元画像がある周波数で帯域制限されている場合、
その周波数よりも細かな間隔でサンプリングしておけば、
sinc関数で畳み込むことで元画像を完全再構成可能です。

逆に、元画像の周波数よりも荒い間隔でしかサンプリングできない場合は、
高周波成分が低周波成分に降りてきてエイリアシングというノイズになります。
画像の縮小がこれです。

そこで、一般にローパスフィルタをかけた後でサンプリングすることでエイリアシングを防ぎます。
平均縮小は、ローパスフィルタとサンプリングという二つの操作を同時にやっているんですねー。