(57)【要約】【課題】予め距離情報を補正するためのデータを記録媒体に保持することなく、相関演算時に発生するエラーを補正して高精度の距離画像を生成する技術を提供する。【解決手段】画像処理装置は、複数の画像の相関度から被写体距離を領域ごとに推定する距離推定手段２０１と、距離推定手段２０１が推定した被写体距離の信頼度を算出する距離信頼度算出手段２０２と、距離信頼度算出手段２０２が算出した信頼度に基づいて、距離推定手段２０１により推定された被写体距離を補正し、補正した被写体距離に基づいて距離画像を生成する距離画像生成手段２０３，２０４と、を備える。【選択図】図２
2018200722.tif 000002
【特許請求の範囲】
【請求項１】
視点の異なる複数の画像間の相関度から被写体距離及び画像間のシフト量に対応するシフト情報を領域ごとに推定する推定手段と、
前記推定手段が推定したシフト情報の信頼度を算出する信頼度算出手段と、前記信頼度算出手段が算出した信頼度に基づいて、前記推定手段により推定されたシフト情報を補正し、補正したシフト情報に基づいてシフト情報列を生成する生成手段と、を備え、
前記推定手段は、前記シフト情報を特定の被写体距離に対応する第１の閾値と比較することで、該シフト情報を前記特定の被写体距離に対応するシフト情報に置き換えるか否かを判定することを特徴とする画像処理装置。
【請求項２】
前記第１の閾値は特定の被写体距離に対応するシフト情報の値であり、
前記推定手段は、前記シフト情報が前記特定の被写体距離よりも遠い被写体距離に対応するシフト情報である場合に、該シフト情報を前記特定の被写体距離に対応するシフト情報に置き換えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記信頼度算出手段は、前記推定手段で推定したシフト情報について、あらかじめ設定した第２の閾値に基づき、無限遠を超える被写体距離に対応するシフト情報であるか否かを判定し、無限遠を超える被写体距離に対応するシフト情報であると判定した場合に、低い信頼度を割り当てることを特徴とすることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記生成手段は、前記信頼度算出手段が算出した信頼度を用い、信頼度が低いとされた領域については、当該領域の周囲の領域において信頼度が高いとされた領域の前記推定したシフト情報に置き換える補正を行うことを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記生成手段は、前記信頼度算出手段が算出した信頼度を用い、信頼度が低いとされた領域については、当該領域の周囲において信頼度が高いとされた複数の領域の前記推定したシフト情報の平均値に置き換える補正を行うことを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
被写体認識手段を有し、前記被写体認識手段により認識された特定の輝度の被写体を含む領域について、前記第１の閾値、及び前記第２の閾値を特定の被写体距離に対応するシフト情報に設定することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記信頼度算出手段は、前記被写体認識手段により認識された特定の輝度の被写体を含む領域について、低い信頼度を割り当てることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
視点の異なる複数の画像間の相関度から被写体距離及び画像間のシフト量に対応するシフト情報を領域ごとに推定する推定手段と、
前記推定手段が推定したシフト情報の信頼度を算出する信頼度算出手段と、前記信頼度算出手段が算出した信頼度が相対的に低いシフト情報を特定の被写体距離に対応するシフト情報に補正し、該補正したシフト情報に基づいて前記画像に対応するシフト情報列を生成する生成手段と、を備えることを特徴とする画像処理装置。
【請求項９】
視点の異なる複数の画像間の相関度から被写体距離及び画像間のシフト量に対応するシフト情報を領域ごとに推定する推定手段と、
前記推定手段によって推定されたシフト情報のうち、特定の被写体距離を超えた被写体距離に対応するシフト情報を、該特定の被写体距離に対応するシフト情報に補正する補正手段と、
前記推定手段によって推定されたシフト情報と前記補正手段によって補正されたシフト情報に基づいて前記画像に対応するシフト情報列を生成する生成手段と、を備えることを特徴とする画像処理装置。
【請求項１０】
前記シフト情報は、デフォーカス量であることを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
複数の画像の相関度から被写体距離に対応するデフォーカス情報を領域ごとに推定する推定手段と、
前記推定手段が推定したデフォーカス情報の信頼度を算出する信頼度算出手段と、
前記信頼度算出手段が算出した信頼度に基づいて、前記推定手段により推定されたデフォーカス情報を補正し、補正したデフォーカス情報に基づいてデフォーカス情報列を生成する生成手段と、を備え、
前記推定手段は、前記デフォーカス情報を特定の被写体距離に対応する第１の閾値と比較することで、該デフォーカス情報を前記特定の被写体距離に対応するデフォーカス情報に置き換えるか否かを判定することを特徴とする画像処理装置。
【請求項１２】
前記複数の画像は、互いに視差を有する一対の画像、又は合焦位置の異なる一対の画像であることを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記第１の閾値は特定の被写体距離に対応するデフォーカス情報の値であり、
前記推定手段は、前記デフォーカス情報が前記特定の被写体距離よりも遠い被写体距離に対応するデフォーカス情報である場合に、該デフォーカス情報を前記特定の被写体距離に対応するデフォーカス情報に置き換えることを特徴とする請求項１１又は１２に記載の画像処理装置。
【請求項１４】
前記信頼度算出手段は、前記推定手段で推定したデフォーカス情報について、あらかじめ設定した第２の閾値に基づき、無限遠を超える被写体距離に対応するデフォーカス情報であるか否かを判定し、無限遠を超える被写体距離に対応するデフォーカス情報であると判定した場合に、低い信頼度を割り当てることを特徴とすることを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記生成手段は、前記信頼度算出手段が算出した信頼度を用い、信頼度が低いとされた領域については、当該領域の周囲の領域において信頼度が高いとされた領域の前記推定したデフォーカス情報に置き換える補正を行うことを特徴とする請求項１１乃至１４のいずれか一項に記載の画像処理装置。
【請求項１６】
前記生成手段は、前記信頼度算出手段が算出した信頼度を用い、信頼度が低いとされた領域については、当該領域の周囲において信頼度が高いとされた複数の領域の前記推定したデフォーカス情報の平均値に置き換える補正を行うことを特徴とする請求項１１乃至１５のいずれか一項に記載の画像処理装置。
【請求項１７】
被写体認識手段を有し、前記被写体認識手段により認識された特定の輝度の被写体を含む領域について、前記第１の閾値、及び前記第２の閾値を特定の被写体距離に対応するデフォーカス情報に設定することを特徴とする請求項１４に記載の画像処理装置。
【請求項１８】
前記信頼度算出手段は、前記被写体認識手段により認識された特定の輝度の被写体を含む領域について、低い信頼度を割り当てることを特徴とする請求項１４に記載の画像処理装置。
【請求項１９】
複数の画像の相関度から被写体距離に対応するデフォーカス情報を領域ごとに推定する推定手段と、
前記推定手段が推定したデフォーカス情報の信頼度を算出する信頼度算出手段と、前記信頼度算出手段が算出した信頼度が相対的に低いデフォーカス情報を特定の被写体距離に対応するデフォーカス情報に補正し、該補正したデフォーカス情報に基づいて前記画像に対応するデフォーカス情報列を生成する生成手段と、を備えることを特徴とする画像処理装置。
【請求項２０】
複数の画像の相関度から被写体距離に対応するデフォーカス情報を領域ごとに推定する推定手段と、
前記推定手段によって推定されたデフォーカス情報のうち、特定の被写体距離を超えた被写体距離に対応するデフォーカス情報を、該特定の被写体距離に対応するデフォーカス情報に補正する補正手段と、
前記推定手段によって推定されたデフォーカス情報と前記補正手段によって補正されたデフォーカス情報に基づいて前記画像に対応するデフォーカス情報列を生成する生成手段と、を備えることを特徴とする画像処理装置。
【請求項２１】
前記推定手段に対して前記複数の画像を入力する入力部を有することを特徴とする請求項１乃至２０のいずれか一項に記載の画像処理装置。
【請求項２２】
前記入力部は、被写体を撮像する撮像部であることを特徴とする請求項２１に記載の画像処理装置。
【請求項２３】
前記特定の被写体距離とは無限遠であることを特徴とする請求項１乃至２２のいずれか一項に記載の画像処理装置。
【請求項２４】
視点の異なる複数の画像間の相関度から被写体距離及び画像間のシフト量に対応するシフト情報を領域ごとに推定する推定ステップと、
前記推定ステップで推定したシフト情報の信頼度を算出する信頼度算出ステップと、
前記信頼度算出ステップで算出した信頼度に基づいて、前記推定ステップで推定されたシフト情報を補正し、補正したシフト情報に基づいてシフト情報列を生成する生成ステップと、を備え、
前記推定ステップは、前記シフト情報を特定の被写体距離に対応する第１の閾値と比較することで、該シフト情報を前記特定の被写体距離に対応するシフト情報に置き換えるか否かを判定することを特徴とする画像処理装置の制御方法。
【請求項２５】
視点の異なる複数の画像間の相関度から被写体距離及び画像間のシフト量に対応するシフト情報を領域ごとに推定する推定ステップと、
前記推定ステップで推定したシフト情報の信頼度を算出する信頼度算出ステップと、
前記信頼度算出ステップで算出した信頼度が相対的に低いシフト情報を特定の被写体距離に対応するシフト情報に補正し、該補正したシフト情報に基づいて前記画像に対応するシフト情報列を生成する生成ステップと、を備えることを特徴とする画像処理装置の制御方法。 
【請求項２６】
視点の異なる複数の画像間の相関度から被写体距離及び画像間のシフト量に対応するシフト情報を領域ごとに推定する推定ステップと、
前記推定ステップで推定されたシフト情報のうち、特定の被写体距離を超えた被写体距離に対応するシフト情報を、該特定の被写体距離に対応するシフト情報に補正する補正ステップと、
前記推定ステップで推定されたシフト情報と前記補正ステップで補正されたシフト情報に基づいて前記画像に対応するシフト情報列を生成する生成ステップと、を備えることを特徴とする画像処理装置の制御方法。
【請求項２７】
複数の画像の相関度から被写体距離に対応するデフォーカス情報を領域ごとに推定する推定ステップと、
前記推定ステップで推定したデフォーカス情報の信頼度を算出する信頼度算出ステップと、
前記信頼度算出ステップで算出した信頼度が相対的に低いデフォーカス情報を特定の被写体距離に対応するデフォーカス情報に補正し、該補正したデフォーカス情報に基づいて前記画像に対応するデフォーカス情報列を生成する生成ステップと、を備えることを特徴とする画像処理装置の制御方法。 
【請求項２８】
複数の画像の相関度から被写体距離に対応するデフォーカス情報を領域ごとに推定する推定ステップと、
前記推定ステップで推定されたデフォーカス情報のうち、特定の被写体距離を超えた被写体距離に対応するデフォーカス情報を、該特定の被写体距離に対応するデフォーカス情報に補正する補正ステップと、
前記推定ステップで推定されたデフォーカス情報と前記補正ステップで補正されたデフォーカス情報に基づいて前記画像に対応するデフォーカス情報列を生成する生成ステップと、を備えることを特徴とする画像処理装置の制御方法。
【請求項２９】
コンピュータを、請求項１乃至２３に記載の画像処理装置の各手段として機能させるためのプログラム。 
【請求項３０】
コンピュータを、請求項１乃至２３に記載の画像処理装置の各手段として機能させるためのプログラムを格納したことを特徴とするコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像から被写体までの距離を示す距離画像を生成する距離画像生成技術に関する。
【背景技術】
【０００２】
コンピュータビジョン等の分野では、撮影した画像から精度のよい被写体の距離情報を得ることが求められている。
【０００３】
例えば、特許文献１では、像高の変化に伴う、ぼけ関数の変化に起因する距離推定誤差を低減して精度よく距離を推定するため、距離情報を生成する際に行われる畳み込み演算におけるガウスフィルタの値を像高によって変える技術が開示されている。
【０００４】
また、特許文献２では、像面湾曲に起因するぼけの偏差に伴う距離情報の誤差を低減するために、既知の情報であるデフォーカス情報を用いて誤差を補正する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−３２３３号公報
【特許文献２】特開２０１３−３０８９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記特許文献１及び２では、距離情報を補正するためには、補正に用いるガウスフィルタやデフォーカス情報を予めＲＯＭなどの記録媒体に保持しておく必要がある。
【０００７】
また、上記特許文献１及び２では、距離情報を入力した画像の画素ごとに算出した画像（以下、距離画像という）を生成する際に、フォーカス位置の異なる複数の画像の相関度を算出して生成している。しかし、この相関演算時に発生するエラーの補正については言及していない。
【０００８】
そこで、本発明は、予め距離情報を補正するためのデータを記録媒体に保持することなく、相関演算時に発生するエラーを補正して高精度の距離画像を生成する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の画像処理装置は、視点の異なる複数の画像間の相関度から被写体距離及び画像間のシフト量に対応するシフト情報を領域ごとに推定する推定手段と、前記推定手段が推定したシフト情報の信頼度を算出する信頼度算出手段と、前記信頼度算出手段が算出した信頼度に基づいて、前記推定手段により推定されたシフト情報を補正し、補正したシフト情報に基づいてシフト情報列を生成する生成手段と、を備え、前記推定手段は、前記シフト情報を特定の被写体距離に対応する第１の閾値と比較することで、該シフト情報を前記特定の被写体距離に対応するシフト情報に置き換えるか否かを判定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、予め距離情報を補正するためのデータを記録媒体に保持することなく、相関演算時に発生するエラーを補正して高精度の距離画像を生成することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の画像処理装置の実施形態の一例である距離画像生成装置の構成例を示すブロック図である。
【図２】距離画像生成部の構成例を示すブロック図である。
【図３】（ａ）は距離画像生成装置の動作例を示すフローチャート図、（ｂ）は（ａ）のステップＳ３０２における距離推定部によるデフォーカス量の算出処理の詳細を示すフローチャート図である。
【図４】入力部を介して読み込んだ水平方向に視差を有する一対の画像の一例を示す図である。
【図５】図４の建物の微小ブロックにおける演算結果を示すグラフ図である。
【図６】レンズを介した被写体側と像面側の結像関係を説明する図である。
【図７】相関量の小さい相関演算処理の結果を説明するグラフ図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態の一例を説明する。
【００１３】
本実施形態では、入力された複数の画像、具体的には、同一の被写体に対して取得したステレオ方向に互いに視差を有する一対の画像や合焦位置の異なる一対の画像に対して、ＳＡＤ等の相関演算によってデフォーカス量を推定する。その際、相関演算時に発生するエラー、具体的には無限遠を超えるデフォーカス量が算出されたか否かを判定し、判定結果に基づきエラーを低減したデフォーカス量を算出する。
【００１４】
また、算出したデフォーカス量に対する信頼度を算出し、算出した信頼度を用いてデフォーカス量を補正し、補正されたデフォーカス量から距離画像を生成する。このようにすることで、予め距離情報を補正するためのデータをＲＯＭ等の記録媒体に保持することなく、相関演算時に発生するエラーを補正して高精度の距離画像を生成することを可能にしている。
【００１５】
以下、具体的に詳述する。
【００１６】
図１は、本発明の画像処理装置の実施形態の一例である距離画像生成装置の構成例を示すブロック図である。
【００１７】
図１において、入力部１０１には、画像データが入力される。入力部１０１は、例えばデジタルカメラ等の撮像装置の場合には、被写体を撮像する撮像部に相当する。撮像部は、光学レンズ、ＣＣＤセンサやＣＭＯＳセンサ等の撮像素子及び信号処理回路等で構成される。距離画像生成部１０２は、入力部１０１に入力された画像データを用いて距離画像を生成する。距離画像生成部１０２の詳細については後述する。記録部１０３は、入力された画像データを保持したり、生成した距離画像を記録する。記録部１０３は、ハードディスク、ＣＤ−ＲＯＭやＣＤ―Ｒ、及びメモリーカード等で構成され、処理プログラムやその他のデータを保存することも可能である。
【００１８】
図２は、距離画像生成部１０２の構成例を示すブロック図である。
【００１９】
図２において、距離推定部２０１は、入力部１０１に入力された複数枚の画像から画像に含まれる各被写体の距離を推定する。本実施形態では、同一の被写体に対して水平方向に視差を有する一対の画像を取得して、被写体距離を推定する方法を例に採る。水平方向に視差を有する一対の画像に相関演算処理を施すことにより、像ズレ量を検出することができる。像ズレ量の検出方法の詳細については後述する。なお、視差を有する一対の画像は水平方向に限らず、垂直方向など別の方向でもよい。
【００２０】
そして、距離推定部２０１は、像ズレ量に所定の変換係数を乗ずることにより、画像の結像面における偏差（デフォーカス量）を算出する。なお、デフォーカス量の算出方法は、特に限定されず、例えば、公知技術（特許４４０３４７７号公報等）であるフォーカス画像とデフォーカス画像を用いたＤＦＤ（Ｄｅｐｔｈ  ｆｒｏｍ  Ｄｅｆｏｃｕｓ）法を適用することも可能である。
【００２１】
距離信頼度算出部２０２は、距離推定部２０１で算出したデフォーカス量（以下、推定距離という）がどの程度信頼できるかを表す信頼度を生成する。ここでの信頼度とは、算出された推定距離と無限遠のデフォーカス量とを比較して算出される指標である。信頼度の算出方法の詳細については後述する。
【００２２】
推定距離補正部２０３は、距離信頼度算出部２０２が算出した信頼度に基づき推定距離を補正する。推定距離の補正方法については後述する。実距離画像生成部２０４は、推定距離補正部２０３で補正した補正推定距離をレンズを介した被写体距離に換算する。
【００２３】
図３（ａ）は、距離画像生成装置の動作例を示すフローチャート図である。図３（ａ）での各処理は、記録部１０３等に格納された制御プログラムが距離画像生成装置の不図示のＲＡＭに展開されて不図示のＣＰＵ等により実行される。
【００２４】
ステップＳ３０１では、距離画像生成装置は、入力部１０１を介して同一の被写体に対する水平方向に視差を有する一対の画像を読み込み、ステップＳ３０２に進む。
【００２５】
図４（ａ）及び図４（ｂ）は、入力部１０１を介して読み込んだ水平方向に視差を有する一対の画像（以下、視差画像という）の一例を示す図である。
【００２６】
一対の視差画像は、中央に合焦被写体である人物が存在し、人物から十分距離が離れた後方（無限遠）に建物が存在する。たとえば、撮像装置を用いて視差画像の撮影を行った画像取得位置に対して、合焦被写体である人物が２．５ｍ前方に存在し、建物が３００ｍ前方に存在し、焦点距離５０ｍｍのレンズで撮影されたものとする。また、微小ブロック４０１，４０２は、図３（ｂ）で後述するステップＳ３１２における演算処理で用いる領域である。なお、図４（ａ）の微小ブロック４０１，４０２の着目画素の位置と、図４（ｂ）の微小ブロック４０１，４０２の着目画素の位置は同じである。
【００２７】
ステップＳ３０２では、距離画像生成装置は、距離推定部２０１により、ステップＳ３０１で読み込んだ一対の視差画像を用いてデフォーカス量を算出し、ステップＳ３０３に進む。
【００２８】
図３（ｂ）は、図３（ａ）のステップＳ３０２における距離推定部２０１によるデフォーカス量の算出処理の詳細を示すフローチャート図である。
【００２９】
ステップＳ３１１では、距離推定部２０１は、一対の視差画像を微小ブロックに分割し、ステップＳ３１２に進む。なお、分割する微小ブロックのサイズ又は形状は、特に限定されない。また、微小ブロックは、近接するブロックと領域が重なっていてもよいものとする。本実施形態では、入力画像が有する画素ごとに、微小ブロックの中心の着目画素を設定するものとする。なお、微小ブロックは１画素で構成されていてもよく、その場合は、以下において微小ブロックは１画素に対応する。
【００３０】
ステップＳ３１２では、距離推定部２０１は、ステップＳ３１１で分割した微小ブロックについて相関演算処理を行い、像ズレ量を算出し、ステップＳ３１３に進む。具体的に説明すると、ステップＳ３０１で読み込んだ一対の視差画像において、一方の画像をＥとし、他方の画像をＦとする。また、分割した微小ブロックにおいて互いに対応する一対の画素データを、ｍをデータ数として、画像データ系列（Ｅ（１）〜Ｅ（ｍ））と画像データ系列（Ｆ（１）〜Ｆ（ｍ））とする。そして、画像データ系列（Ｅ（１）〜Ｅ（ｍ））に対して画像データ系列（Ｆ（１）〜Ｆ（ｍ））を相対的にずらしながら次式（１）を用いて２つの画像データ系列間のずれ量ｋにおける相関量（相関度）Ｃ（ｋ）を演算する。
【００３１】
Ｃ（ｋ）＝Σ｜Ｅ（ｎ）―Ｆ（ｎ＋ｋ）｜    …（１）
上式（１）において、Σ演算は、ｎについて計算され、このΣ演算において、ｎ、ｎ＋ｋのとる範囲は、１〜ｍの範囲に限定される。また、ずれ量ｋは、整数であり、一対の画像データの検出ピッチを単位とした相対的シフト量である。
【００３２】
図５（ａ）は図４の建物の微小ブロック４０１における上式（１）を用いた演算結果を示すグラフ図、図５（ｂ）は図４の建物の微小ブロック４０２における上式（１）を用いた演算結果を示すグラフ図である。
【００３３】
図５（ａ）及び図５（ｂ）から判るように、一対の画像データ系列の相関が高いシフト量（ｋ＝ｋｊ＝−６）において相関量Ｃ（ｋ）が最小になる。続いて、３点内挿手法を用いて、連続的な相関量に対する最小値Ｃ（ｘ）を与えるシフト量ｘは、次式で求められる。なお、シフト量ｘの単位は、画素（ｐｉｘｅｌ）単位とする。
【００３４】
ｘ＝ｋｊ＋Ｄ／ＳＬＯＰ                        …（２）
Ｄ＝｛Ｃ（ｋｊ−１）−Ｃ（ｋｊ＋１）｝／２    …（３）
ＳＬＯＰ＝ＭＡＸ｛Ｃ（ｋｊ＋１）−Ｃ（ｋｊ），Ｃ（ｋｊ−１）−Ｃ（ｋｊ）｝…（４）
図５（ａ）において、Ｃ（ｋｊ）＝Ｃ（−６）＝４００、Ｃ（ｋｊ−１）＝Ｃ（−７）＝１０００、Ｃ（ｋｊ＋１）＝Ｃ（−５）＝４０００であるとすると、Ｃ（ｘ＿ａ）＝−６．４２となる。
【００３５】
一方、図５（ｂ）において、Ｃ（ｋｊ）＝Ｃ（−６）＝４００、Ｃ（ｋｊ−１）＝Ｃ（−７）＝４０００、Ｃ（ｋｊ＋１）＝Ｃ（−５）＝３９００であるとすると、Ｃ（ｘ＿ｂ）＝−５．９９となる。
【００３６】
このように、相関量Ｃ（ｋｊ）の段階では、同じ相関値、シフト量であっても、３点内挿手法を経ることによって最終的なシフト量ｘがばらつくことがわかる。
【００３７】
ステップＳ３１３では、距離推定部２０１は、ステップＳ３１２で上式（２）を用いて求めたシフト量ｘからデフォーカス量ＤＥＦを次式（５）を用いて算出し、ステップＳ３１４に進む。
【００３８】
ＤＥＦ＝Ｐ・ｘ                    …（５）
上式（５）において、Ｐは、検出ピッチ（画素配置ピッチ）と、一対の視差画像における左右２つの視点の投影中心の距離とによって決まる変換係数であり、単位は、ｍｍ／ｐｉｘｅｌである。
【００３９】
ここで、上式（５）のＰが０．１６６ｍｍ／ｐｉｘｅｌであるとすると、図５（ａ）の建物におけるデフォーカス量ＤＥＦ＿ａ＝−１．０６６ｍｍとなり、図５（ｂ）の建物におけるデフォーカス量ＤＥＦ＿ｂ＝−０．９９４ｍｍとなる。
【００４０】
次に、図６を参照して、デフォーカス量と被写体距離との関係について説明する。図６は、レンズを介した被写体側と像面側の結像関係を示す図である。レンズの焦点距離をｆとすると、
１／Ｚｏ＋１／Ｓｏ＝１／ｆ                      …（６）
１／Ｚｄｅｆ＋１／（Ｓｏ＋ｄｅｆ）＝１／ｆ      …（７）
となる。
【００４１】
ここで、Ｚｏ：合焦被写体側距離、Ｚｄｅｆ：デフォーカス時の被写体側距離、Ｓｏ：合焦像面側距離、Ｓｄｅｆ：デフォーカス時の像面側距離、ｄｅｆ：デフォーカス量
また、上式（６）及び（７）より
Ｓｏ＝（Ｚｏ・ｆ）／（Ｚｏ−ｆ）                              …（８）
Ｓｄｅｆ＝（Ｚｄｅｆ・ｆ）／（Ｚｄｅｆ−ｆ）                  …（９）
ｄｅｆ＝Ｓｄｅｆ−Ｓｏ                                        …（１０）
Ｚｄｅｆ＝（（Ｓｏ＋ｄｅｆ）・ｆ）／（（Ｓｏ＋ｄｅｆ）−ｆ）  …（１１）
となる。
【００４２】
図４のシーンにおいて、上式（８）及び（９）の値を算出すると、Ｓｏ＝５１．０２ｍｍ、Ｓｄｅｆ＝５０．００８ｍｍとなる。
【００４３】
また、上式（１１）において、（（Ｓｏ＋ｄｅｆ）−ｆ）≒０となる無限遠のデフォーカス量ＤＥＦ＿ＩＮＦＩＮＩＴＹの値は、ＤＥＦ＿ＩＮＦＩＮＩＴＹ＝−１．０２０ｍｍとなる。
【００４４】
ここで、上式（１１）において、ＤＥＦ＿ＩＮＦＩＮＩＴＹよりも小さい値が入力されると、Ｚｄｅｆは、負の被写体距離となることがわかる。実際には、このような面で結像する被写体は存在しないので、このようなデフォーカス量が算出されるのは、相関演算時のエラーに起因している。以下の説明では、Ｚｄｅｆが負の値となるデフォーカス量を超無限遠のデフォーカス量という。本実施形態では、この超無限遠のデフォーカス量が算出された場合に、それを補正することが可能となっている。
【００４５】
図３（ｂ）に戻って、ステップＳ３１４では、距離推定部２０１は、ステップＳ３１３で算出したデフォーカス量と無限遠のデフォーカス量ＤＥＦ＿ＩＮＦＩＮＩＴＹとの差分絶対値が予め設定した閾値Ｔｈ１を超えるか否かを判定する。そして、距離推定部２０１は、差分絶対値が閾値Ｔｈ１を超える場合（Ｙｅｓ）は、ステップＳ３１５に進み、超えない場合は、ステップＳ３１６に進む。
【００４６】
ステップＳ３１５では、距離推定部２０１は、ステップＳ３１３で算出したデフォーカス量を無限遠のデフォーカス量に置き換え、ステップＳ３１６に進む。つまり、３点内挿手法によって発生した超無限遠のデフォーカス量を補正することができる。
【００４７】
本実施形態では、閾値Ｔｈ１を０．０３とする。そのため、ＤＥＦ＿ａは、超無限遠のデフォーカス量である−１．０６６ｍｍから無限遠のデフォーカス量ＤＥＦ＿ＩＮＦＩＮＩＴＹに置き換えられ、−１．０２０ｍｍとなる。一方、ＤＥＦ＿ｂは、−０．９９４ｍｍのままである。なお、閾値Ｔｈ１の値は、デフォーカス量の分解能を表す上式（５）のＰの大きさに応じて変更されることが望ましい。
【００４８】
ステップＳ３１６では、距離推定部２０１は、すべての微小ブロックでステップＳ３１２〜Ｓ３１５までの処理が行われたかを判定し、行われた場合は、処理を終了し、行われていない場合は、ステップＳ３１２に戻り、デフォーカス量の算出処理を繰り返す。
【００４９】
図３（ａ）に戻って、ステップＳ３０３では、距離画像生成装置は、距離信頼度算出部２０２により、ステップＳ３０２で算出したデフォーカス量（推定距離）の信頼度を微小ブロックごとに算出し、ステップＳ３０４に進む。
【００５０】
信頼度は、ステップＳ３０２で算出したデフォーカス量と無限遠のデフォーカス量ＤＥＦ＿ＩＮＦＩＮＩＴＹとの差分値が予め設定した閾値Ｔｈ２（閾値Ｔｈ１＞閾値Ｔｈ２）未満であるか否かで決定する。差分値が閾値Ｔｈ２未満の場合、超無限遠のデフォーカス量であると判定し、その微小ブロックに対して低い信頼度を割り当てる。
【００５１】
ここで、低い信頼度を割り当てるとは、ステップＳ３０２で算出したデフォーカス量と無限遠のデフォーカス量ＤＥＦ_ＩＮＦＩＮＩＴＹとの差分値に応じて設定される連続的な数値でもよく、単に推定距離の信頼度が低いことを示す符号や記号等のフラグでもよい。たとえば、差分値が閾値Ｔｈ２未満のブロックについては「１」を割り当て、それ以外のブロックについては信頼度が高いことを示す「０」を割り当ててもよい。なお、信頼度として連続的な値を用いる場合には、差分値が閾値Ｔｈ２なるときの値である所定値との比較により信頼度の高低を示すことができる。
【００５２】
このような超無限遠のデフォーカス量と判定されるのは、図７に示すように、一対の画像データ系列の相関量が小さく、検出された最小値Ｃ（ｘ）が無限遠を超えるような局所的な最小値であることが考えられる。例えば、空などの輝度変化のない部分や、太陽などの輝度が高い部分でこのようなデフォーカス量が検出されやすい。本実施形態では、これらの被写体で検出される超無限遠のデフォーカス量に低い信頼度に割り当て、後に推定距離補正部２０３で補正する。
【００５３】
ここで、ステップＳ３０３の閾値Ｔｈ２とステップＳ３１４の閾値Ｔｈ１の２つの閾値を用いるのは、次の理由による。即ち、無限遠近傍で一対の画像データ系列の相関量が大きいにも関わらず、３点内挿手法で超無限遠に値が丸まってしまった場合（図５）と、一対の画像データ系列の相関量が小さいために超無限遠となった場合（図７）とを区別できるようにするためである。
【００５４】
ステップＳ３０４では、距離画像生成装置は、推定距離補正部２０３により、ステップＳ３０３で算出された信頼度を用いて、ステップＳ３０２で算出されたデフォーカス量（推定距離）を補正し、ステップＳ３０５に進む。ここでの補正の方法は公知技術（例えば特開２００８−１５７５４号公報等）を用いる。
【００５５】
具体的には、信頼度が低い微小ブロックについては、周囲の微小ブロックとの画像特性の類似性に基づいて、周囲の微小ブロックにおいて、類似性が高く、かつ推定距離の信頼度が高い微小ブロックの距離値に置き換える処理を施す。ここで、画像特性とは、輝度情報、色相情報、彩度情報、コントラスト情報などである。なお、距離の補正方法は、距離値の置き換えだけに限られず、類似度の高い複数の周辺微小ブロックの距離値を取得し、その平均値を使用するなどでもよい。
【００５６】
ステップＳ３０５では、距離画像生成装置は、実距離画像生成部２０４により、ステップＳ３０４で補正された推定距離を実距離画像に変換し、処理を終了する。ここでの変換方法は、微小ブロックごとに、補正された推定距離を上式（１１）に用いて被写体距離に換算する。このとき変換される推定距離には、無限遠のデフォーカス量ＤＥＦ＿ＩＮＦＩＮＩＴＹよりも小さい値はないため、Ｚｄｅｆが負の値となる被写体距離は算出されないことがわかる。ここで、距離画像とは、被写体距離に応じて濃淡が変化するモノクロ画像でもよく、被写体距離に応じて色調が変化するカラー画像でもよく、また、被写体距離を数値で表現した表形式の画像でもよい。
【００５７】
以上説明したように、本実施形態では、一対の視差画像や合焦位置の異なる画像から、３点内挿手法で超無限遠に値が丸まってしまった場合や一対の画像データ系列の相関量が小さいために超無限遠となった場合のデフォーカス量を補正する。そして、補正したデフォーカス量を被写体距離に変換している。このように、一対の画像から補正用の信頼度を算出することで、予め距離情報を補正するためのデータをＲＯＭ等の記録媒体に保持することなく、相関演算時に発生する推定距離のエラーを補正して高精度の距離画像を生成することができる。
【００５８】
なお、本発明は、上記各実施形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００５９】
例えば、上記実施形態では、推定距離であるデフォーカス量を補正してから被写体距離に変換したが、先に被写体距離に変換し、距離が負の部分を無限遠の距離に修正するようにしてもよい。
【００６０】
また、公知の被写体認識技術を活用し、太陽や空等の特定の輝度の被写体が認識された領域を含む微小ブロックでは、閾値Ｔｈ１，Ｔｈ２を両方とも無限遠のデフォーカス量（ＤＥＦ＿ＩＮＦＩＮＩＴＹ）に設定したり、低い信頼度を割り当てるようにしてもよい。
【００６１】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。ネットワーク又は各種記憶媒体を介して取得したソフトウェア（プログラム）をパーソナルコンピュータ（ＣＰＵ，プロセッサ）にて実行することでも実現できる。
【符号の説明】
【００６２】
１０１  入力部
１０２  距離画像生成部
１０３  記録部
２０１  距離推定部
２０２  距離信頼度算出部
２０３  推定距離補正部
２０４  実距離画像生成部
【図１】
2018200722.tif 000003
【図２】
2018200722.tif 000004
【図３】
2018200722.tif 000005
【図４】
2018200722.tif 000006
【図５】
2018200722.tif 000007
【図６】
2018200722.tif 000008
【図７】
2018200722.tif 000009