[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nikomat 882] Re: CCD line sensor for AF



ひうら@きょうだいです。

中野さん:
> F4やF801の時代にニコンはアドバンスAM200と名付けたCCDラインセンサを
> 使用していましたが、これは横一列に並べた100個のCCD素子を
> 使用していて、この頃の測距エリアはおおよそスポット測光エリア
> の直径程度で3-4mmと思われます。
> 一方で、F90XではCAM246を使い、水平方向に86個、垂直方向に37個の素子が
> 並んでいることになります。ところが、AFエリアは横方向に7mmのワイド
> フォーカスエリアです。
> で、単純に考えるとフォーカスエリア1mm当たりのCCD素子数は、F90Xでは
> F4やF801時代に比べて半分程度ということになると思います。
> この違いは、AF精度にどの程度の差を生むのでしょうか?
> もしかして、静物への合焦精度という意味ではF4やF801のほうが上とか??

実際の中身がどうなっているかは分からないので、なんとも
言えませんが・・

AF の精度に関しては、この画素密度も重要ですが、そこから
得たデータをどのように使うか、つまり演算アルゴリズムの
良し悪しもピント精度に影響するはずです。

-----
ここからはかなりややこしい話なのですが、
(専門分野周辺の、「ステレオ計測」などでも重要な方法なのです)
興味がおありなら読んでみてください。

AF センサから得た画像は、ちょうど、スプリットプリズムの
上側の像と、下側の像の、接する部分を別々にライン CCD で
読み出したようになっているわけです。

この2本の、直線状の画像のずれ量を計算してレンズを駆動するわけですが、
そのとき、画素単位でそのずれ量を求めるのかどうかがポイントです。

   0 0 1 3 7 5 1 0 0 1 3 5 5 3 1 1 0  ..
   1 3 7 5 1 0 0 1 3 5 5 3 1 1 0 0 0  ..
    
というように、画素毎にデータが得られたとき、これをずらして

   0 0 1 3 7 5 1 0 0 1 3 5 5 3 1 1 0  ..
       1 3 7 5 1 0 0 1 3 5 5 3 1 1 0 0 0  ..

のようになったところを探して、ピントの外れ量とするわけです。
これをするためには、例えば、上下の対応する画素値同士の差を
取って、その絶対値の総和が最小になるところを探します。
(Sum of Absoluted Difference 略して SAD などと言います。)

しかしこれでは、画素密度程度の解像度までのフォーカシングしか
出来ないことになり不十分です。たとえば、画素の半分だけ、
デフォーカスが残っているとしますと、

   0 0 1 3 7 5 1 0 0 1 3 5 5 3 1 1 0  ..
      0 2 5 5 3 0 0 0 2 4 5 4 2 1 0 0 ..

となるべきところ、画素単位でずれを求めると、1画素のずれ

   0 0 1 3 7 5 1 0 0 1 3 5 5 3 1 1 0  ..
     0 2 5 5 3 0 0 0 2 4 5 4 2 1 0 0 ..

または2画素のずれ

   0 0 1 3 7 5 1 0 0 1 3 5 5 3 1 1 0  ..
       0 2 5 5 3 0 0 0 2 4 5 4 2 1 0 0 ..

のどちらかでマッチングすることになります。SAD が、
上は 13 、下は 11 ですから、この場合、下側が選ばれる
ことになり、デフォーカス量は2画素ということになります。

しかし、これをやるまえに、上の段のデータの、画素の間の
値を内挿して

   0 0 1 3 7 5 1 0 0 1 3 5 5 3 1 1 0  ..
    0 * 2 5 5 3 * 0 * 2 4 5 4 2 1 *      (* は 0.5 を表す)

として、これとマッチングを取ると

    0 * 2 5 5 3 * 0 * 2 4 5 4 2 1 *      (* は 0.5 を表す)
      0 2 5 5 3 0 0 0 2 4 5 4 2 1 0 0 ..

となり、このとき SAD は 2 となります。ずれ量は 1.5 画素
ということになります。

こういう風に、画素値の間を補完するなどすると、解像度以上の
合わせ込みの精度が出るという効果を「サブピクセル効果」と
いいます。各画素から得られた明度値をなめらかな曲線で近似
して、その曲線同士がうまく重なるようにずらしながら調整する、
といった方がわかりやすいかもしれません。

これを精度よくやるためには、明度値が安定(ノイズ
が少ない)ということや、元信号の良さ(へんな高周波成分が
含まれていない)ということが要求されます。逆に言えば、
元信号の素性が非常に優れており(サンプリング定理の限界を
上回る信号が入っていない)、明度値が十分高精度に得られれば、
いくらでも高精度にずれ量を求めることが出来ます。

フーリエ変換を用いた方法が F3AF で用いられていたそうですが、
これなどは、陰にサブピクセル効果を引出していることになります。
(例えば、入力信号が sin だったとすると、その sin の位相と
  振幅は、(画素密度が一定数以上であれば)完全に特定できる。
  その位相ずれからデフォーカス量を求めればいい。)

ということで、「アルゴリズムの改善、AF センサの光学系の
工夫により、あれほど多数の画素数は必要なくなった」という
ことに一票。