光学設計とその周辺、そしてたまに全く関係ないやつ

学んだことを書き留めていきたいと思いますが、ありふれたことを書いても人類の進歩に貢献しないので、専門的な事柄をメインにしたいと思います。なお私の専門とは光学設計とか画像処理とかです。

センサ解像度はMTFにどのくらい影響するか

センサの画素ピッチが大きい場合や, 画素自体が大きければレンズとセンサー合わせたトータルのMTF特性は劣化するはずです. 今回はそのセンサのスペックがどれだけMTFを変化させるのかを扱います. 基本的なフーリエ解析の知識は前提とします.

以下の図の通り, 横x方向に開口WxとピッチPx, 縦y方向がWyとPyとなっている場合を考えていきます.


1次元の場合

まず単純に1次元としてx方向だけの場合を考えます.
どういう流れになるかを示しているのが以下の4つの図です. まず元の画像g(x)(図(a))がセンサの開口(図(b))に照射され, 開口で刈り取られる様子を表しているのが図(c)です. 最終的にこの各画素の開口幅wの分, 平均化されそれが単一の値となりますが, これを表しているのが図(d)です.

xの位置に中心がある画素に注目し, その開口関数をa(x)とした際の信号量の分布d(x)は畳み込みの記号を使って以下の式で表されます.


 \displaystyle   d(x)=\int_{-\infty}^{\infty} g(x') a(x'-x) dx =g(x)\otimes a(x) \tag{1-1} \label{1-1}

この表し方だと x=\inftyまで分布するため, 単一画素の離散量として表すため, デルタ関数 \delta (x)を使ってその信号量f(x)を


 \displaystyle  f(x)= d(x) \delta(x)=(g(x)\otimes a(x)) \delta(x)   \tag{1-2} \label{1-2}

と表せます. 実際に周波数特性を得るためにはこのフーリエ変換を求めますが, その結果をまとめると以下の通りに書き直せます. ここで G(\nu), A(\nu)はそれぞれg(x)とa(x)のフーリエ変換で, g(x)はいま点像分布となっています.

 \displaystyle  \mathcal{F} [f(x)]=F(\nu)=  \{G(\nu) A(\nu)\}  \otimes \mathcal{F} [\delta(x)] \tag{1-3} \label{1-3}

この結果はxに中心のある単一画素の値ですが, 全画素の信号量を表す関数を改めてf(x)で表すとして, この時デルタ関数をいわゆる以下のくし形関数で置き換えます.


 \displaystyle  \delta(x) \rightarrow \sum_{k=-\infty}^{\infty} \delta(x-xP_x) =\frac{1}{P_x} \textrm{comb} (x/P_x) \tag{1-4} \label{1-4}

また具体的に開口関数a(x)を矩形関数を使って計算を進めてみます. 矩形関数 \textrm{rect}(x/P_x)の定義として -P_x /2 <x<P_x /2 の範囲で1, その外では0の値をとるとします.
この時式(1-3)は,


 \displaystyle  f(x)= d(x) \delta(x)=(g(x)\otimes \textrm{rect}{(x/P_x)} ) \sum_{k=-\infty}^{\infty} \delta(x-kP_x)   \tag{1-5} \label{1-5}

rect関数のフーリエ変換

 \displaystyle  \mathcal{F} [\textrm{rect}(x/P_x) ]= A(\nu)=w \textrm{sinc}(w\nu)  \tag{1-6} \label{1-6}

またくし形関数のフーリエ変換はくし形関数となるため,まとめると

 \displaystyle   \mathcal{F} [f(x)]=F(\nu)= \{w G(\nu) \textrm{sinc}(w\nu)\} \otimes  \textrm{comb} (P\nu) \tag{1-7} \label{1-7}

これを \nu=0の値で規格化すると, OTFとして

 \displaystyle  OTF(\nu)= \frac{F(\nu)}{F(0)}=\{ G(\nu) \textrm{sinc}(w\nu)\} \otimes  \textrm{comb} (P\nu) \tag{1-8} \label{1-8}

が最終的な表式です. 式(1-8)のGの値は規格化された元画像の周波数特性です.
この結果を図にして様子を表すと以下の通りになります. 図aが元の画像の特性, 図bが開口によるsinc関数, 図cがGにその開口の影響を考慮したもの(G*A), 最後の図dがcomb関数により周期的にGAが並ぶ様子を表しています.


エイリアシング

次にエイリアシングの影響を考えてみます. 前の図ではcomb関数のナイキスト周波数 1/2P_x以降では G(\nu)=0,つまり帯域制限されている様子となっています.
ではGの性能が良く, G*Aがナイキスト周波数以降でも値を持つような場合, いわゆるエイリアシングが発生します. 以下の図は実際に 1/2P_x以降でも値を持ち, その折り返された部分が 1/2P_x未満の帯域に発生している様子です. こういう状況では本当は高周波数成分の画像が低周波の画像として記録され, 結果不自然な画像を引き起こす原因となります.

どのように対策ができるでしょうか? まずは単純に開口をより広くするとどうなるかを考えてみます.
開口幅wが P_xと一致する場合, つまり受光しないスカスカの部分はないような状況では, 以下の通りsinc関数の最初の0点が 1/P_xとなってしまうため, 全く帯域制限できていない状況となってしまいます. もちろん隣接画像の平均値をとるなどすれば w>P_xという状況も実現できますが*1, 高画素センサーを使う意味もなくなるため, 実際は光学側つまりGのほうにLPFを入れるなりして帯域を落とすわけです.

もっとも画素ピッチを細かくできるならそれに越したことはなく, 実際最近のカメラはこのアプローチが基本ではないでしょうか.

ところで光学に限定した話ではありませんが, ナイキスト周波数未満に帯域を制約させることだけが対策ではありません.
例えば逆にナイキスト周波数以上に帯域を制約させても正しい周波数特性を得ることはできます*2.

こういったアイデアがイメージングで実際応用された例は個人的には存じませんし, 少なくともフォトグラフィーの世界では利用が難しいでしょうが, 最近いろいろと話題な分野の1つであり, さらに発展させた先が圧縮センシングとかでしょう.

2次元の場合

次に理論を2次元に広げます. といっても矩形の開口であれば本質的なことは何も変わらず縦横それぞれの開口の幅, ピッチを考慮すればよいだけです.

ただ斜め方向の場合は当然特性が変わるため, 要注意. 単純に正方形の開口, ピッチが縦横共通とすると45度方向の場合, ピッチは \sqrt{2}P倍されます.

内容は以上.
改めてセンサのMTFをまとめると, センサの影響として開口の幅と開口ピッチの2つが影響します. 開口の幅がそのままMTFの劣化を引き起こす一方, ピッチの影響はエイリアシングの原因となり個人的にはMTFの劣化というのともまた違う現象だと思います. ということでこの2つはちゃんと分けて考えるのが恐らくベター.

参考文献
早水良定, 光機器の光学Ⅱ, 社団法人日本オプトメカトロニクス協会
山善太・草川徹, シミュレーション光学, 東海大学出版

*1:実際べイヤー配列のセンサーにおいては例えば赤の画素における緑, 青画素の値は周辺の画素から保管しているなどしています

*2:この時もちろん離散時間フーリエ変換ナイキスト周波数未満のスペクトラムも検出されますが, 帯域が制約できているならその信号は偽だとわかる.