(57)【要約】【課題】  粗密探索法を用いて、より高精度かつより高速に像ズレ量を算出できるようにすること。【解決手段】  像ズレ算出装置は、視差を有する一対の画像を取得し、当該一対の画像から、解像度の異なる複数の階層の画像対を生成し、前記複数の階層のうち、予め決められた第１の階層の画像対の像ズレ量を算出し、前記第１の階層の像ズレ量に基づいて、前記複数の階層のうち、像ズレ量の算出を終了する第２の階層を決定し、前記第１の階層の像ズレ量を利用して、前記第２の階層の画像対の像ズレ量を算出する。【選択図】  図４
2019056759.tif 000002
【特許請求の範囲】
【請求項１】
視差を有する一対の画像を取得する取得手段と、
前記一対の画像から、解像度の異なる複数の階層の画像対を生成する生成手段と、
前記複数の階層の画像対を用いて、像ズレ量を算出する算出手段と、を有し、
前記算出手段は、前記複数の階層のうち、予め決められた第１の階層の画像対の像ズレ量を算出し、当該第１の階層の像ズレ量に基づいて、前記複数の階層のうち、像ズレ量の算出を終了する第２の階層を決定すると共に、前記第１の階層の像ズレ量を利用して、前記第２の階層の画像対の像ズレ量を算出することを特徴とする像ズレ量算出装置。
【請求項２】
前記複数の階層は、階層が低いほど画像対の解像度が低く、
前記算出手段は、算出した像ズレ量と、当該像ズレ量を算出した階層よりも１層高い階層の画像対を用いて、当該１層高い階層の画像対の像ズレ量を算出する処理を、前記第２の階層まで繰り返し行うことを特徴とする請求項１に記載の像ズレ量算出装置。
【請求項３】
前記第１の階層は、最も低い解像度の階層であることを特徴とする請求項１または２に記載の像ズレ量算出装置。
【請求項４】
前記算出手段は、前記第１の階層の像ズレ量が、第１の像ズレ量である場合に、当該第１の像ズレ量よりも小さい第２の像ズレ量である場合よりも、低い階層を前記第２の階層として決定することを特徴とする請求項１乃至３のいずれか１項に記載の像ズレ量算出装置。
【請求項５】
前記複数の階層は、３以上の階層を有し、前記第１の階層は、最も低い解像度と最も高い解像度の階層を除いたいずれかの階層であることを特徴とする請求項１に記載の像ズレ量算出装置。
【請求項６】
前記複数の階層は、階層が低いほど画像対の解像度が低く、
前記算出手段は、
前記第２の階層が前記第１の階層より高い場合に、算出した像ズレ量と、当該像ズレ量を算出した階層よりも１層高い階層の画像対を用いて、当該１層高い階層の画像対の像ズレ量を算出する処理を、前記第２の階層まで繰り返し行い、
前記第２の階層が前記第１の階層より低い場合に、前記第２の階層の像ズレ量と、前記第２の階層の画像対を用いて、前記第２の階層の画像対の像ズレ量を算出する
ことを特徴とする請求項５に記載の像ズレ量算出装置。
【請求項７】
前記算出手段は、前記第１の階層の画像対の各画素の位置について、それぞれ前記第２の階層を決定すると共に、前記第１の階層の像ズレ量を利用して、各画素の位置について、前記第２の階層における像ズレ量を算出することを特徴とする請求項１乃至６のいずれか１項に記載の像ズレ量算出装置。
【請求項８】
前記各画素の位置において算出された像ズレ量を統合する統合手段を更に有することを特徴とする請求項７に記載の像ズレ量算出装置。
【請求項９】
前記算出手段は、更に、前記一対の画像における被写体信号の空間周波数分布、および、前記一対の画像を撮影した撮像素子で発生するノイズ量に応じて、前記第２の階層を決定することを特徴とする請求項１乃至８のいずれか１項に記載の像ズレ量算出装置。
【請求項１０】
前記被写体の空間周波数分布は、前記一対の画像を撮影したときの結像光学系の振幅伝達関数と、前記撮像素子の空間周波数特性とに基づいて求めることを特徴とする請求項９に記載の像ズレ量算出装置。
【請求項１１】
前記撮像素子で発生するノイズ量は、前記撮像素子のＩＳＯ感度および露光時間の少なくともいずれかに基づいて求めることを特徴とする請求項９または１０に記載の像ズレ量算出装置。
【請求項１２】
前記算出手段は、前記被写体の空間周波数分布と、前記ノイズ量とが同量となる空間周波数から低周波側の帯域を含む解像度の階層を、前記第２の階層として決定することを特徴とする請求項９乃至１１のいずれか１項に記載の像ズレ量算出装置。
【請求項１３】
前記算出手段は、更に、前記一対の画像のコントラストに応じて、前記第２の階層を決定し、前記コントラストが第１のコントラストの場合に、当該第１のコントラストよりも高い第２のコントラストである場合よりも、低い階層を前記第２の階層として決定することを特徴とする請求項１乃至１２のいずれか１項に記載の像ズレ量算出装置。
【請求項１４】
結像光学系を通過した光束に基づいて、視差を有する一対の画像を生成する撮像手段と、
請求項１乃至１３のいずれか１項に記載の像ズレ量算出装置と
を有することを特徴とする撮像装置。
【請求項１５】
請求項１から１３のいずれか１項に記載の像ズレ量算出装置と、
前記第２の階層の像ズレ量をデフォーカス量に変換するデフォーカス量算出部と
を有することを特徴とするデフォーカス量算出装置。
【請求項１６】
請求項１から１３のいずれか１項に記載の像ズレ量算出装置と、
前記第２の階層の像ズレ量を距離に変換する距離算出部と
を有することを特徴とする距離算出装置。
【請求項１７】
取得手段が、視差を有する一対の画像を取得する工程と、
生成手段が、前記一対の画像から、解像度の異なる複数の階層の画像対を生成する生成工程と、
算出手段が、前記複数の階層のうち、予め決められた第１の階層の画像対の像ズレ量を算出する工程と、
前記算出手段が、前記第１の階層の像ズレ量に基づいて、前記複数の階層のうち、像ズレ量の算出を終了する第２の階層を決定する工程と、
前記算出手段が、前記第１の階層の像ズレ量を利用して、前記第２の階層の画像対の像ズレ量を算出する工程と
を有することを特徴とする像ズレ量算出方法。
【請求項１８】
コンピュータを、請求項１乃至１３のいずれか１項に記載の像ズレ量算出装置の各手段として機能させるためのプログラム。
【請求項１９】
請求項１８に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、像ズレ量算出装置及び方法、撮像装置、デフォーカス量算出装置、及び、距離算出装置に関する。
【背景技術】
【０００２】
従来、デジタルスチルカメラやデジタルビデオカメラにおいて、一対のラインセンサにより視差を有する画像信号を取得し、位相差方式により被写体までの距離を検出する技術が知られている（特許文献１参照）。また、特許文献２には、撮像装置において、瞳分割方式の位相差検出が可能な技術が開示されている。特許文献２では、撮像素子の１つの画素は２つのフォトダイオード（以下、「分割画素」と呼ぶ。）を有しており、各フォトダイオードは１つのマイクロレンズによって、撮影レンズの異なる瞳を通過した光を受光するように構成されている。各分割画素に含まれる光電変換部が出力した信号により、異なる瞳領域を通過した光束によって生成された一対の画像（以下、それぞれ「Ａ像」「Ｂ像」）を取得できる。Ａ像とＢ像にはデフォーカス量に応じた相対的な位置ズレが生じる。この位置ズレは、像ズレと呼ばれ、像ズレの量を像ズレ量と呼ぶ。像ズレ量を算出し、所定の変換係数を介して変換することで、デフォーカス量や被写体までの距離を算出することができる。
【０００３】
一方、１対の画像間の注目点に対する対応点を探索する手法として、特許文献２に記載の粗密探索法が知られている。この手法は、まず元の画像の解像度を低下させ、解像度が異なる複数の画像を生成する。次に解像度が低い画像で対応点の探索を行い、この結果を参考に、徐々に解像度が高い画像で対応点を探索し、最終的に元の高解像度の画像で対応点を算出するものである。このようにして対応点を算出することで、高解像度の画像から直接対応点を算出する場合と比べて演算時間を軽減できることが知られている。また、この手法を一対の測距画像間に対して用いることで、像ズレ量を算出することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３６７５０３９号公報
【特許文献２】特開２００１−８３４０７号公報
【特許文献３】特許第５３８１７６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述の粗密探索法を用いて測距画像の像ズレ量を算出すると、デフォーカス量が大きいときに、像ズレ量の算出誤差が増大する。そして、デフォーカス量及び被写体までの距離の算出誤差が増大する。
【０００６】
本発明は上記問題点を鑑みてなされたものであり、粗密探索法を用いて、より高精度かつより高速に像ズレ量を算出できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の像ズレ量算出装置は、視差を有する一対の画像を取得する取得手段と、前記一対の画像から、解像度の異なる複数の階層の画像対を生成する生成手段と、前記複数の階層の画像対を用いて、像ズレ量を算出する算出手段と、を有し、前記算出手段は、前記複数の階層のうち、予め決められた第１の階層の画像対の像ズレ量を算出し、当該第１の階層の像ズレ量に基づいて、前記複数の階層のうち、像ズレ量の算出を終了する第２の階層を決定すると共に、前記第１の階層の像ズレ量を利用して、前記第２の階層の画像対の像ズレ量を算出する。
【発明の効果】
【０００８】
本発明は、粗密探索法を用いて、より高精度かつより高速に像ズレ量を算出できるようにすることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態におけるデジタルカメラの構成を示す図。
【図２】第１の実施形態におけるデジタルカメラの動作例を説明するフローチャート。
【図３】第１の実施形態における画素と射出瞳との対応関係を示した概略図。
【図４】（ａ）は、第１の実施形態における像ズレ量算出手順を示すフローチャート、（ｂ）は、第１の実施形態における階層画像を説明するための図。
【図５】第１の実施形態における像ズレ量の算出方法を説明するための図。
【図６】第１の実施形態における算出手法と、従来の算出手法により算出された像ズレ量の誤差を示す図。
【図７】第１の実施形態における規格化空間周波数と画像信号の振幅との関係の一例を示す図。
【図８】変形例における像ズレ量マップの生成処理を示すフローチャート。
【図９】第２の実施形態における像ズレ量算出手順を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明を実施するための形態を詳細に説明する。ただし、本形態において例示される構成部品の寸法、形状、それらの相対配置などは、本発明が適用される装置の構成や各種条件により適宜変更されるべきものであり、本発明がそれらの例示に限定されるものではない。
【００１１】
＜第１の実施形態＞
以下、図を参照しながら本発明の第１の実施形態について詳細に説明する。なお、以下の説明では、本発明の像ズレ量算出装置を備える装置の一例として、デジタルカメラを用いて説明するが、本発明の適用はこれに限定されるものではない。例えば、本発明の像ズレ量算出装置を用いてデジタル距離計測器を構成してもよい。
【００１２】
＜デジタルカメラの構成＞
図１（ａ）において、デジタルカメラ１００は、本実施形態の像ズレ量算出装置１１０を備えている。デジタルカメラ１００のカメラ筐体１９０の内部には、結像光学系１２０、撮像素子１０１、像ズレ量算出部１０２、記録部１０４、画像生成部（不図示）、レンズ駆動制御部（不図示）が配置されている。なお、結像光学系１２０、撮像素子１０１、像ズレ量算出部１０２、記録部１０４は、像ズレ量算出装置１１０を構成する。像ズレ量算出部１０２は論理回路を用いて構成することができる。また、像ズレ量算出部１０２の別の形態として、中央演算処理装置（ＣＰＵ）と演算処理プログラムを格納するメモリとから構成してもよい。
【００１３】
結像光学系１２０は、デジタルカメラ１００の撮影レンズであり、被写体の像を撮像面である撮像素子１０１に形成する機能を有する。なお、結像光学系１２０は、実際には、複数のレンズ群と絞り等から構成され、撮像素子１０１から所定の距離離れた位置に射出瞳１３０を有する。図１（ａ）中、結像光学系１２０の光軸１４０は、ｚ軸と平行とする。さらに、ｘ軸とｙ軸は互いに垂直であり、且つ光軸１４０と垂直な軸とする。
【００１４】
ここで、本第１の実施形態におけるデジタルカメラ１００の動作例について説明する。図２は、デジタルカメラ１００のメイン電源が入り、シャッターボタン（不図示）が所謂半押し（ＳＷ１  ＯＮ）されている場合の動作を説明するフローチャートである。
【００１５】
まず、Ｓ１０１にて、結像光学系１２０のレンズ情報（焦点距離、絞り値など）を読み出し、メモリ部（不図示）に保存する。次に、Ｓ１０２〜Ｓ１０４において、焦点調節を行う。Ｓ１０２では、撮像素子１０１から出力される一対の画像に基づき、後述する算出手順を用いて像ズレ量を算出する。Ｓ１０３では、算出した像ズレ量に基づき、結像光学系１２０が合焦状態かどうか判別する。合焦していない場合は、Ｓ１０４にて、レンズ駆動制御部により、像ズレ量に基いて結像光学系１２０を合焦位置へ駆動したのち、Ｓ１０２へ戻る。
【００１６】
Ｓ１０３にて合焦していると判定された場合は、Ｓ１０５にて、シャッターボタン（不図示）が所謂全押し（ＳＷ２  ＯＮ）されたか否かの判定を行う。全押しされていないと判定された場合は、Ｓ１０２へ戻り、上述の処理を繰り返す。一方、Ｓ１０５にてシャッターが全押しされたと判定された場合には、撮像素子１０１から一対の画像を読み出し、記録部１０４に保存する。記録部１０４に保存された一対の画像に対して画像生成部において現像処理を施すことで、観賞用画像を生成することができる。また、後述する算出手順を用いてデフォーカス量を算出し、デフォーカス量で合焦状態を判別しても良い。あるいは、後述する算出手順を用いて、被写体の距離情報を生成することができる。例えば、距離情報に基づいて、画像上の領域をグループ分けするなどの処理を施すことができる。
【００１７】
＜撮像素子の構成＞
次に、本発明の撮像素子１０１について、図１（ｂ）を用いて詳細に説明する。図１（ｂ）は、撮像素子１０１をｚ軸方向から見た平面図である。撮像素子１０１は、画素１５０を複数配列することで構成される。撮像素子１０１はＣＭＯＳ（相補型金属酸化膜半導体）やＣＣＤ（電荷結合素子）等から構成される。結像光学系１２０を介して撮像素子１０１上に結像した被写体像は、撮像素子１０１により光電変換されて、画像信号が生成される。
【００１８】
図１（ｃ）は、１つの画素１５０のｘｚ断面を模式的に示した図である。画素１５０は、主に受光層１８２と導光層１８１から構成される。受光層１８２には、受光した光を光電変換するための２つの光電変換部（第１の光電変換部１６１、第２の光電変換部１６２）が配置される。導光層１８１には、画素へ入射した光束を光電変換部へ効率良く導くためのマイクロレンズ１７０、所定の波長帯域の光を通過させるカラーフィルタ１７１、画像読み出し用及び画素駆動用の配線（不図示）等が配置される。
【００１９】
＜距離計測の原理＞
次に、図１（ｃ）に示した第１の光電変換部１６１及び第２の光電変換部１６２が受光する光束について、図３を用いて説明する。
【００２０】
図３（ａ）は、結像光学系１２０の射出瞳１３０と、撮像素子１０１に配置される１つの画素１５０との対応関係を示した概略図である。画素１５０内のマイクロレンズ１７０は、射出瞳１３０と受光層１８２が光学的に共役関係になるように配置されている。その結果、射出瞳１３０の部分瞳領域である第１の瞳領域２１０を通過した光束は、第１の光電変換部１６１に入射する。同様に、射出瞳１３０のもう一つの部分瞳領域である第２の瞳領域２２０を通過した光束は、第２の光電変換部１６２に入射する。そして、第１の光電変換部１６１及び第２の光電変換部１６２はそれぞれ光電変換を行なって得られた電荷信号を出力する。そして、それぞれの画素の第１の光電変換部１６１からそれぞれ読み出した電荷信号を集めて、第１の画像（Ａ画像）を生成する。同様に、それぞれの画素の第２の光電変換部１６２からそれぞれ読み出した電荷信号を集めて、第２の画像（Ｂ画像）を生成する。このようにして生成された第１の画像から、第１の瞳領域２１０を主に通過した光束が撮像素子１０１上に形成する像（Ａ像）の強度分布を得ることができる。また、第２の画像から、第２の瞳領域２２０を主に通過した光束が撮像素子１０１上に形成する像（Ｂ像）の強度分布を得ることができる。
【００２１】
図３（ｂ）は光軸１４０と撮像素子１０１との交点（中心像高）から、結像光学系１２０の射出瞳１３０を見た図である。第１の重心位置２１１及び第２の重心位置２２１は、それぞれ第１の瞳領域２１０及び第２の瞳領域２２０を通過し、第１の光電変換部１６１及び第２の光電変換部１６２で受光する光束の、射出瞳１３０上における重心位置を示している。本実施形態においては、第１の重心位置２２１は、射出瞳１３０の中心から第１の軸２００に沿って偏心（シフト）している。一方、第２の重心位置２２１は、第１の軸２００に沿って、第１の重心位置２１１とは逆の方向に偏心（シフト）している。すなわち、第１の瞳領域２１０と第２の瞳領域２２０は第１の軸２００に沿って互いに異なる方向に偏心している。
【００２２】
このように視差を有する第１の画像と第２画像は、デフォーカスによって、第１の軸２００の方向に位置がズレる。この画像間の相対的な位置のズレ量（像ズレ量）は、デフォーカス量に応じた量となる。第１の画像と第２の画像間の像ズレ量を後述の手法により算出し、この像ズレ量をデフォーカス量や被写体までの距離に変換することでデフォーカス量や被写体の距離を算出することができる。
【００２３】
なお、図３において、実際には受光層１８２に到達する光は、光の回折現象により一定の拡がりを有する。また、受光層１８２内部におけるキャリアのクロストークによっても、一定の拡がりを有する。すなわち、第２の瞳領域２２０を通過した光束が第２の光電変換部１６２に入射する場合においても、第１の光電変換部１６１は低感度ながらも、第２の瞳領域２２０を通過した光束に対する受光感度を有する。従って、実際には、第１の瞳領域２１０と第２の瞳領域２２０は明確に区分することはできず、重複した領域を有することになるが、本実施形態においては、便宜的に第１の瞳領域２１０と第２の瞳領域２２０を明確に区分した形で説明する。
【００２４】
＜像ズレ量算出手順の説明＞
次に、第１の実施形態における像ズレ量算出手順について、図４（ａ）のフローチャートを参照しながら詳細に説明する。像ズレ量は像ズレ量算出部１０２において、以下の像ズレ量算出手順により算出される。
【００２５】
Ｓ１では、図２に示す手順により記録部１０４に格納された第１の画像及び第２の画像（一対の画像）を、像ズレ量算出部１０２に伝送する。
【００２６】
Ｓ２では、第１の画像と第２の画像間の光量バランスの崩れを補正する光量バランス補正処理を行う。光量バランスの補正方法については、公知の方法を用いることができ、例えば、予め均一な面光源をデジタルカメラ１００にて撮影して取得した画像に基づき、第１の画像と第２の画像の光量バランスを補正するための係数を算出することができる。
【００２７】
Ｓ３では、距離算出を行うための階層画像を作成する。図４（ｂ）は、Ｓ３の階層画像を説明するための図である。階層画像４００は、解像度が異なる複数の画像対で構成される。第１の実施形態では、階層画像は、第１層の解像度が最も高く、階層が下がるにつれて解像度が低くなるものと定義する。各階層の画像対は第１の画像４０１と第２の画像４０２から作成される。また、第１の実施形態における階層画像は第１層から第Ｎ層までの階層で構成され、第１の画像４０１と第２の画像４０２の解像度をＭとすると、第１層はＭ、第２層はＭ／２、第３層はＭ／４、第Ｎ層はＭ／（２（Ｎ−１））の解像度を有する画像対で構成される。各階層の画像対は、例えば、一般的に用いられている平滑化フィルタによるフィルタ処理を第１の画像４０１と第２の画像４０２に施し、所定の画素間隔で画像信号を間引くことで生成することができる。なお、他の公知の手法を用いて各階層の画像対を生成しても構わない。
【００２８】
また、各階層の画像対の解像度は、上述した解像度に限定されるものではなく、階層毎に１／２倍ずつ変える必要は無く、任意の解像度でよい。例えば、最上層（第１層）の画像対の解像度は第１の画像及び第２の画像と同じ解像度でなくても良く、１／Ｓ倍（Ｓは任意の整数）の解像度でも良い。また階層数は２層以上あれば良い。すなわち、階層画像は、複数の異なる解像度の画像対で構成されると共に、上層から下層になるにつれて解像度が下がるように構成されていればよい。
【００２９】
Ｓ４では、所定の階層の第１の画像と第２の画像を用いて、暫定的に像ズレ量を算出する。暫定的な像ズレ量を算出する階層を開始層（第１の階層）と呼ぶ。本実施形態では開始層は第Ｎ層（最も解像度が低い層）とし、第１の画像４１１と第２の画像４１２を使用する。
【００３０】
ここで、像ズレ量の算出方法について、図５を用いて説明する。図５は、第１の画像４１１と第２の画像４１２を示しており、第１の軸はｘ軸と平行であるものとする。基準画像として第１の画像４１１を選択し、第１の画像４１１上の注目点４２０を中心に、照合領域４２１を設定する。照合領域４２１が小さ過ぎると、局所演算に起因する像ズレ量の算出誤差が生じるため、例えば、９画素×９画素程度のサイズとする。次に、参照画像として第２の画像４１２を選択し、第２の画像４１２上に、参照点４２２を設定し、参照点４２２を中心に参照領域４２３を設定する。そして、第１の軸に沿って参照点４２２をずらしながら、照合領域４２１内の第１の画像と、参照領域４２３内の第２の画像間の相関度を算出し、最も相関度が高くなった時の参照点４２２を対応点とする。このようにして求めた注目点４２０と対応点間の相対的な位置ズレ量が像ズレ量となる。そして、第１の画像上に設定した注目点４２０を第１の軸に沿って順次移動させながら、第２の画像における対応点の探索を行うことで、第１の画像内の各画素位置における像ズレ量を算出することができる。なお、相関度の算出方法としては、ＳＡＤ（Sum of Absolute Difference）やＳＳＤ（Sum of Squared Difference）と呼ばれる公知の手法を用いることができる。また、公知の手法を用いて算出した相関度から、サブピクセル精度で像ズレ量を算出しても良い。
【００３１】
Ｓ５では、Ｓ４で算出した暫定的な像ズレ量を利用して、後述するＳ６において、下層から上層に向かって順番に各階層の像ズレ量を算出する際の、最終的に像ズレ量を算出する階層を決定する。最終的に像ズレ量を算出する階層を終了層（第２の階層）と呼び、暫定像ズレ量が大きいほど、下の階層（解像度が低い層）となるように決定する。なお、Ｓ５で行われる終了層の決定方法については、後述する。
【００３２】
Ｓ６では、Ｓ４において上述した方法で、第１の画像と第２の画像間の像ズレ量を算出する。１回目は、開始層の第Ｎ層よりも１層高い階層である第Ｎ−１層の画像対と、Ｓ４で求めた第Ｎ層の暫定像ズレ量より、第Ｎ−１層における像ズレ量を算出する。より具体的には、暫定像ズレ量から第Ｎ−１層の参照画像上の対応点の候補領域を推定し、この領域について照合領域との相関度を算出し、像ズレ量を算出する。２回目は、第Ｎ−１層よりも１層高い階層である第Ｎ−２層の画像対と第Ｎ−１層で算出した像ズレ量とを用いて、上記と同様に像ズレ量を算出する。像ズレ量を算出する階層を下層から上層に向かって順番に変化させ、終了層の像ズレ量を算出したところでＳ７の判定がＹＥＳとなり、処理を終了する。
【００３３】
このように低解像度の層で求めた像ズレ量の結果を参考にして、１層高い高解像度の階層における像ズレ量を算出することで、無駄な相関演算を削減することができ、計算負荷を軽減することができる。
【００３４】
なお、Ｓ５で決定された終了層が暫定像ズレ量を算出した階層（第Ｎ層）と同じときは、Ｓ６の工程を省略し、暫定ズレ量を最終的な像ズレ量として採用すればよい。
【００３５】
このような算出手順で像ズレ量を算出することで、デフォーカス量が大きいときでも高精度に像ズレ量を算出することができる。
【００３６】
ここで、上述した第１の実施形態の手法で像ズレ量を算出することで、デフォーカス量が大きいときでも像ズレ量を高精度に算出できる理由について説明する。
【００３７】
既知の距離にあり、所定のデフォーカス量を有する画像対の像ズレ量を算出した場合の、各デフォーカス量と、像ズレ量の算出誤差との関係を図６に示す。像ズレ量の算出誤差は、画像対上の複数の領域について像ズレ量を算出し、その標準偏差で評価したものである。図６の横軸はデフォーカス量、縦軸は計算した像ズレ量の誤差量を表している。図６の破線６０１は、従来手法の結果であり、暫定像ズレ量（デフォーカス量）によらず、終了層を第１層としたときの結果を示している。図６の実線６０２は、第１の実施形態の結果であり、暫定像ズレ量に応じて終了層を変化させたときの結果を示している。図のように、デフォーカス量が大きいときに、従来の手法と比べて本発明で算出される像ズレ量の誤差が小さくなることが分かる。
【００３８】
被写体が結像光学系の物側焦点面から外れた位置にあるとき、撮像素子では、焦点が合っていない被写体の画像が得られる。被写体が全ての空間周波数成分を有していると仮定したときの、画像に含まれる信号の空間周波数分布を図７（ａ）に示す。横軸は撮像素子のナイキスト周波数で規格化した規格化空間周波数である。縦軸は振幅を表している。実線７０１は、画像に含まれる被写体信号の空間周波数分布であり、結像光学系を介して、撮像素子の各画素の光電変換部に光が到達する際の空間周波数特性で決定される。破線７０２は、画像に含まれるノイズの空間周波数分布である。このノイズは、撮像素子で光を電気信号に変換する際に生じるショットノイズや読み出しノイズ等であり、空間周波数によらず略一定の振幅を有するランダムノイズである。画像信号の空間周波数分布は、これら２つの空間周波数分布で決定される。
【００３９】
高周波帯域はデフォーカスによるボケによって被写体信号が減衰し、ノイズが支配的な帯域となる。像ズレ量の算出は、照合領域と参照領域の画素値の変化を比較し、相関度を評価することで行う。被写体信号が小さくなり、ノイズ量が大きくなると、被写体信号による画素値の変化が小さくなるため、像ズレ量の算出誤差が大きくなる。従来のように、階層画像の第１層の画像対を用いて像ズレ量を算出すると、高周波帯域まで使用するため、ノイズの影響により、誤差が増大する。そのため、本実施形態では、デフォーカス量が大きいとき、第１層よりも下の階層の画像対を用いて像ズレ量を算出する。この画像対は、第１層の画像対よりも高周波帯域の成分を含まない画像対である。例えば、第２層（解像度Ｍ／２）の画像対は、規格化空間周波数から１／２の帯域の画像対であり、第３層（解像度Ｍ／４）の画像対は、規格化空間周波数から１／４の帯域の画像対である。これにより、被写体信号を多く含み、ノイズが小さい空間周波数帯域の画像信号で像ズレ量を算出するため、像ズレ量の算出誤差を低減することができる。
【００４０】
図７（ｂ）は、デフォーカス量が変化したときの画像に含まれる被写体信号の空間周波数分布を示した図である。線７０３、７０４、７０５は、各デフォーカス量のときの空間周波数分布であり、この順でデフォーカス量が大きくなる。図のように、被写体信号の空間周波数分布は、デフォーカス量が大きくなるほど、より高周波側から減衰する。前述したように、ノイズは全周波数帯域で存在するため、デフォーカス量が大きいときほど、低周波帯域の画像対（下層の画像対）を用いることで、ノイズの影響を軽減することができる。本実施形態では、暫定的に像ズレ量を算出し、暫定像ズレ量（デフォーカス量）が大きいほど、終了層の階層を下層の階層とする。これにより、デフォーカス量の大きさに応じて、最適な空間周波数帯域を含む画像対で像ズレ量を算出することができ、誤差を軽減することができる。
【００４１】
なお、第１層の画像対を用いた像ズレ量の算出は高解像度の画像対を使用するため、演算負荷が大きい。これに対し、第１の実施形態の手法では、第１層の画像対を用いた像ズレ量の算出工程を省略し、下の層で像ズレ量を算出できるため、従来よりも演算負荷を軽減することができると共に、より高速に像ズレ量を算出することができる。
【００４２】
＜終了層の決定＞
上述したように、Ｓ４で算出した暫定的な像ズレ量を利用して、Ｓ５において終了層を決定するが、終了層を上層にし過ぎるとノイズの影響が増大し、下層にし過ぎると解像度が低く、像ズレ量の算出精度が下がることが懸念される。従って、これらを考慮して終了層を適切に決定することで像ズレ量の算出誤差を最も低減することができる。
【００４３】
第１の実施形態では、終了層は、暫定像ズレ量と被写体信号の空間周波数分布と撮像素子のノイズ量とに応じて決定する。被写体信号の空間周波数分布は、結像光学系の空間周波数特性と撮像素子の空間周波数特性で決まる。結像光学系の空間周波数特性は、結像に伴う各空間周波数成分の伝達特性であり、デフォーカス量に応じた振幅伝達関数ＭＴＦ（Ｍｏｄｕｌａｔｅｄ  Ｔｒａｎｓｆｅｒ  Ｆｕｎｃｔｉｏｎ）より求まる。撮像素子の空間周波数特性は、結像光学系で結像された光が、撮像素子の各画素でサンプリングされ、各画素内の光電変換部に到達する際の各空間周波数成分の伝達特性である。この特性は、画素サイズや隣接画素へのクロストーク量に応じて決定される。これら結像光学系及び撮像素子の空間周波数特性は、結像光学系のズーム状態やＦ値やピント位置、像ズレ量を算出する撮像素子上の位置等に応じて変化する。
【００４４】
撮像素子のノイズ量は、光ショットノイズや暗電流ショットノイズや読み出しノイズ等のノイズ量であり、ＩＳＯ感度や露光時間に応じて変化する。これら各条件における被写体信号の空間周波数分布とノイズ量は、設計値を用いたシミュレーションや実測によって求めることができる。これらの結果に基づいて、各条件と各暫定像ズレ量における終了層の階層を予め決定することができる。そして各条件で暫定像ズレ量の大きさに応じて終了層を決定し、決定した終了層の画像対を用いて像ズレ量を算出することで、高精度な像ズレ量の算出が可能となる。なお、終了層は、被写体信号の空間周波数分布とノイズ量が同量となる空間周波数から低周波側の帯域を含むように決定するとよい。
【００４５】
また、終了層は、更に、画像信号のコントラストに応じて決定してもよい。被写体のコントラストが小さくなると、被写体信号の各空間周波数分布の振幅が全体的に低下する。ノイズ量は被写体のコントラストに依存しないため、被写体のコントラストが小さくなるほど、ノイズの影響が大きくなる。そのため、被写体のコントラストが小さいときほど、下層（低周波帯域）の画像対を用いて像ズレ量を算出した方が良い。コントラストの評価には、照合領域内の画素値の分散値、画素値の標準偏差、画素値の最大値と最小値の差分絶対値、画素値の微分値の絶対値の最大値や平均値を用いることができる。あるいは照合領域内の行毎に上記の値を計算し、照合領域内で列方向に加算もしくは平均することで照合領域に対応するコントラストの評価値を算出しても良い。このようなコントラスト評価値と暫定像ズレ量とに応じて終了層の階層を決定し、この階層の画像対を用いて像ズレ量を算出することで、より高精度な像ズレ量の算出が可能となる。
【００４６】
また、終了層を簡易的に決定しても良い。例えば、暫定像ズレ量が所定の閾値以上のとき、デフォーカス量が大きいと判断して終了層を第１層以外の予め決められた階層とする。一方、暫定像ズレ量が閾値よりも小さいときは、デフォーカス量が小さいと判断し、終了層を第１層とする。更に、暫定像ズレ量を複数の閾値と比較することで、暫定像ズレ量の大きさに応じて、より細かく終了層の階層を決定してもよい。あるいは暫定像ズレ量と終了層の階層を変数とする関数を作成しておき、算出した暫定像ズレ量と関数を用いて終了層の階層を求めても良い。このように暫定像ズレ量の大きさに応じて、より細かく終了層の階層を決定することで、より高精度な像ズレ量の算出が可能となる。
【００４７】
＜デフォーカス量算出部・距離算出部＞
上述した構成を有する像ズレ量算出装置１１０に、像ズレ量をデフォーカス量に変換するデフォーカス量算出部を追加することで、デフォーカス量算出装置を構成しても良い。あるいは、像ズレ量算出装置１１０に、像ズレ量を被写体距離に変換するD距離算出部を追加することで、距離算出装置を構成しても良い。
【００４８】
デフォーカス量算出部は、所定の変換係数を用いて、像ズレ量を、撮像素子１０１から結像光学系１２０の焦点までの距離であるデフォーカス量に変換する。像ズレ量をｄ、変換係数である基線長をｗ、撮像素子１０１から射出瞳１３０までの距離をＬ、デフォーカス量をΔLとしたとき
【００４９】
2019056759.tif 000003
式（１）により像ズレ量ｄをデフォーカス量ΔＬに変換することができる。なお、基線長ｗは、図３（ｂ）に示した第１の重心位置２１１と第２の重心位置２２１間の距離である。あるいは、式（１）のｗ＞＞ｄと近似し、デフォーカス量ΔＬを
【００５０】
2019056759.tif 000004
として、式（２）で算出しても構わない。
【００５１】
距離算出部は、像ズレ量を上記方法でデフォーカス量に変換し、更にデフォーカス量を被写体までの距離に変換する。デフォーカス量から被写体距離への変換は、結像光学系１２０の結像関係を用いて変換すればよい。あるいは像ズレ量から変換係数を用いて直接被写体距離に変換しても良い。
【００５２】
＜変形例＞
上述した像ズレ量算出処理で、像ズレ量の算出を階層画像上の複数の位置で算出することで、像ズレ量の値が１次元あるいは２次元的に配列した像ズレ量マップを生成することができる。なお、像ズレ量は、画像上の所定の画素間隔置き、または全画素について算出しても良い。また各位置で算出した像ズレ量をデフォーカス量や距離に変換することで、デフォーカス量マップや距離マップを生成することができる。これらの情報は、例えば撮影画像にデフォーカス量に応じたぼけを付加するぼかし処理や、距離に応じて画像上の被写体領域を分離するセグメンテーション処理等に利用することができる。
【００５３】
解像度が高い像ズレ量マップを生成する場合、計算効率が低下する。例えば、最上層の全画素について像ズレ量を算出する場合、最上層の画像上では異なる画素であっても、下層の画像上では解像度が下がるため同じ画素となり、同じ画素位置での像ズレ量計算を重複して実施することとなり、計算効率が低下する。そこで、図８に示す手順により像ズレ量マップを作成してもよい。なお、図８のフローチャートにおいて、図４（ａ）と同様の処理には同じステップ番号を付して、説明を省略する。
【００５４】
Ｓ３で、階層画像を作成すると、Ｓ１１において、開始層の画像対の各画素の位置における暫定像ズレ量を算出する。なお、暫定像ズレ量の算出方法は、Ｓ４で説明した方法と同様である。次に、Ｓ１２において、開始層の画像対の各画素の位置における終了層を決定する。なお、終了層の決定方法は、Ｓ５で説明した方法と同様である。
【００５５】
次にＳ１３において、階層毎に各画素の位置における像ズレ量を算出する。なお、像ズレ量の算出方法は、Ｓ６で説明した方法と同様である。各階層の像ズレ量は、各階層の画像対と下層で算出した像ズレ量を用いて、下層から上層に向かって順に像ズレ量を算出する。ただし、各階層の各画素の像ズレ量の算出では、Ｓ１２で決定した終了層以下の階層となる画素についてのみ、像ズレ量を算出する。終了層よりも上層となる画素については像ズレ量を算出しない。これにより、各階層の像ズレ量のマップを生成する。なお、下層で計算した像ズレ量の算出データや終了層の階層データを参照するとき、階層間で解像度が異なるデータを参照するが、階層間の解像度の違いを考慮し、各階層上の位置と対応する下層の階層上の位置を求め、参照すればよい。あるいは下層のデータを解像度が同じになるように拡大し、同じ画素の位置のデータを参照するようにしてもよい。
【００５６】
Ｓ１４で、各画素位置における像ズレ量をＳ１２で決定した終了層まで算出し終えると、Ｓ１５に進み、各階層で算出した像ズレ量マップを統合し、最終的な像ズレ量マップを作成する。まず、各階層で算出した像ズレ量マップを同じ解像度となるように変換する。この変換は、各階層の像ズレ量マップのサイズを出力する階層の解像度となるように拡大することで行う。次に各画素の位置について、それぞれの終了層で算出された像ズレ量マップの値を選択することで、像ズレ量マップを統合する。
【００５７】
このように像ズレ量の算出を行うことにより、下層の階層での像ズレ量の計算の重複を軽減することができ、解像度が高い像ズレ量マップを効率よく生成することができる。
【００５８】
＜第２の実施形態＞
以下、本発明の第２の実施形態について説明する。なお、第２の実施形態においても、本発明の像ズレ量算出装置を備える装置の一例として、図１〜図３を参照して説明した構成を有する第１の実施形態で説明したデジタルカメラを用いて説明するが、本発明の適用はこれに限定されるものではない。例えば、本発明の像ズレ量算出装置を用いてデジタル距離計測器を構成してもよい。
【００５９】
異なる位置にある物体が画面上で重なる場合、両物体の境界は下層の画像になるほど不明確になる。開始層が下層になるほど、暫定像ズレ量マップの面内分解能は低下し、両物体の境界付近で適切な終了層が設定されにくくなる。この終了層に従って像ズレ量を算出すると誤差が発生する。そこで、本第２の実施形態では、開始層（第１の階層）を第１層と第Ｎ層の間の階層とした場合について説明する。
【００６０】
＜像ズレ量算出手順の説明＞
図９は、本第２の実施形態における像ズレ量算出手順を示すフローチャートである。像ズレ量は、像ズレ量算出部１０２において算出される。なお、図９において、図４（ａ）と同じ処理には同じ参照番号を付し、適宜説明を省略する。
【００６１】
Ｓ３で階層画像を生成すると、Ｓ２１において、第１の画像と第２の画像とを用いて暫定的に像ズレ量を算出する。第２の実施形態では、３以上の階層画像を生成し、上述したように暫定像ズレ量を算出する層（開始層）を第１層と第Ｎ層以外の階層とする。この階層を第Ｎｓ層（１＜Ｎｓ＜Ｎ）とする。なお、暫定像ズレ量は、図４（ａ）のＳ４と同様の方法を用いて算出することができる。
【００６２】
次のＳ５では、第１の実施形態と同様の方法により、終了層（第２の階層）を決定し、Ｓ２２に進む。Ｓ２２では、終了層が開始層（第Ｎｓ層）よりも上層かどうかを判断し、上層のときはＳ２３に進み、開始層（第Ｎｓ層）よりも下層のときはＳ２５に進む。また、終了層が開始層（第Ｎｓ層）と等しいときは、暫定像ズレ量を最終的な像ズレ量として、計算を終了する。
【００６３】
Ｓ２３では、開始層の一つ上の層（第Ｎｓ−１層）から終了層まで、順番に各階層における像ズレ量を算出する。なお、各階層の像ズレ量は、各階層の画像対と下層で算出した像ズレ量とを用いて、Ｓ４と同様の方法により算出する。像ズレ量を算出する階層を下層から上層に向かって順番に変化させ、終了層の像ズレ量を算出したところでＳ２４の判定がＹＥＳとなり、処理を終了する。
【００６４】
一方、Ｓ２５では、開始層（第Ｎｓ層）の暫定像ズレ量と、終了層の画像対とを用いて、Ｓ４と同様の方法により像ズレ量を算出して、処理を終了する。
【００６５】
本第２の実施形態によれば、開始層を中間の適切な階層に設定することで、異なる位置にある物体が画面上で重なる場合、物体の境界付近での暫定像ズレ量の誤差が発生する確率を低減することができる。そして境界付近においても適切な終了層が設定されることで、像ズレ量を高精度に算出することができる。
【００６６】
なお、上述した実施形態及び変形例は、適宜組み合わせることが可能である。
【００６７】
＜他の実施形態＞
本発明は、像ズレ量算出装置やデフォーカス量算出装置や距離算出装置の他にコンピュータプログラムをも包含する。本実施形態のコンピュータプログラムは、像ズレ量やデフォーカス量や距離の算出のために、コンピュータに所定の工程を実行させるものである。
【００６８】
本実施形態のプログラムは、像ズレ量算出装置やデフォーカス量算出装置や距離算出装置またはそのいずれかを備えるデジタルカメラ等の撮像装置のコンピュータにインストールされる。インストールされたプログラムがコンピュータによって実行されることで上記の機能が実現し、高速で高精度な像ズレ量検出、デフォーカス量検出、距離検出が可能なものとすることができる。
【００６９】
また、本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７０】
１００：デジタルカメラ、１０１：撮像素子、１０２：像ズレ量算出部、１０３：射出瞳、１１０：像ズレ量算出装置、１２０：結像光学系、１５０：画素群、１６１：第１の光電変換部、１６２：第２の光電変換部
【図１】
2019056759.tif 000005
【図２】
2019056759.tif 000006
【図３】
2019056759.tif 000007
【図４】
2019056759.tif 000008
【図５】
2019056759.tif 000009
【図６】
2019056759.tif 000010
【図７】
2019056759.tif 000011
【図８】
2019056759.tif 000012
【図９】
2019056759.tif 000013