(57)【要約】【課題】プレノプティックカメラによって得られる複数視点画像から導出される距離情報の精度を、より高くするようなＦ値を求めることができる。【解決手段】入力される任意のＦ値から、撮像装置によって得られる複数視点画像から導出される被写体との距離の誤差を推定する誤差推定手段と、誤差推定手段に入力するＦ値を更新しながら、誤差推定手段によって推定される被写体との距離の誤差を最小にするＦ値を、撮像装置に設定可能なＦ値の中から探索し、探索したＦ値を撮像装置の撮像時におけるＦ値として決定するＦ値決定手段と、を備える。【選択図】図７
2017138240.tif 000002
【特許請求の範囲】
【請求項１】
プレノプティック方式の撮像装置の撮像時におけるＦ値を決定する画像処理装置であって、
入力される任意のＦ値から、前記撮像装置によって得られる複数視点画像から導出される被写体との距離の誤差を推定する誤差推定手段と、
前記誤差推定手段に入力するＦ値を更新しながら、前記誤差推定手段によって推定される前記被写体との距離の誤差を最小にするＦ値を、前記撮像装置に設定可能なＦ値の中から探索し、探索したＦ値を前記撮像装置の撮像時におけるＦ値として決定するＦ値決定手段と、を備える
ことを特徴とする画像処理装置。
【請求項２】
前記誤差推定手段は、
入力される任意のＦ値から、前記撮像装置によって得られる複数視点画像の画素ずれ量の誤差を推定し、
前記推定した画素ずれ量の誤差から、前記複数視点画像から導出される被写体との距離の誤差を推定する
請求項１に記載の画像処理装置。
【請求項３】
入力される任意のＦ値から、前記撮像装置によって得られる複数視点画像におけるボケの大きさを算出するボケ量算出手段と、
前記複数視点画像におけるボケの大きさから画素ずれ量の誤差を推定可能な誤差推定情報を記憶する記憶手段と、を備え、
前記誤差推定手段は、
前記記憶手段が記憶する前記誤差推定情報を用いて、前記ボケ量算出手段が算出したボケの大きさから画素ずれ量の誤差を推定する
請求項２に記載の画像処理装置。
【請求項４】
前記誤差推定情報は、
画素ずれ量の導出に用いられるステレオマッチングの方式に基づいてモデル化した、ボケの大きさと画素ずれ量の誤差との関係を示す式である
請求項３に記載の画像処理装置。
【請求項５】
Ｆ値から画素ずれ量の誤差を推定可能な誤差推定情報を記憶する記憶手段を備え、
前記誤差推定手段は、
前記記憶手段が記憶する前記誤差推定情報を用いて、入力される任意のＦ値から画素ずれ量の誤差を推定する
請求項２に記載の画像処理装置。
【請求項６】
前記誤差推定情報は、
画素ずれ量の導出に用いるステレオマッチングの方式に基づいてモデル化した、Ｆ値と画素ずれ量の誤差との関係を示す式である
請求項５に記載の画像処理装置。
【請求項７】
前記記憶手段は、複数の誤差推定情報を記憶し、
前記誤差推定手段は、
前記複数の誤差推定情報のうち、画素ずれ量の導出に用いるステレオマッチングの方式に対応する誤差推定情報に基づいて、画素ずれ量の誤差を推定する
請求項３から請求項６のいずれか１項に記載の画像処理装置。
【請求項８】
前記誤差推定手段は、
前記複数視点画像をステレオマッチングして導出される画素ずれ量を用いて、前記被写体との距離を示す第１の被写体距離を導出し、
前記複数視点画像をステレオマッチングして導出される画素ずれ量に、前記推定した画素ずれ量の誤差を付加した値を用いて、前記被写体との距離を示す第２の被写体距離を導出し、
前記第１の被写体距離と前記第２の被写体距離との差を、前記被写体との距離の誤差であると推定する
請求項２から請求項７のうちのいずれか１項に記載の画像処理装置。
【請求項９】
プレノプティック方式の撮像装置の撮像時におけるＦ値を決定する画像処理装置であって、
前記撮像装置に設定可能な各Ｆ値と、前記各Ｆ値を設定した前記撮像装置によって得られる、複数視点画像から導出される被写体との距離の誤差との対応を示すテーブルを記憶する記憶手段と、
前記記憶手段が記憶する前記テーブルを参照して、前記被写体との距離の誤差を最小にするＦ値を判定し、判定して得られたＦ値を前記撮像装置の撮像時におけるＦ値として決定するＦ値決定手段と、を備える
ことを特徴とする画像処理装置。
【請求項１０】
前記記憶手段は、複数の前記テーブルを保持し、
前記Ｆ値決定手段は、
前記記憶手段が記憶する複数の前記テーブルのうち、前記被写体との距離を導出する際に用いられるステレオマッチングの方式に対応するテーブルを参照して、前記被写体との距離の誤差を最小にするＦ値を判定する
請求項９に記載の画像処理装置。
【請求項１１】
プレノプティック方式の撮像装置の撮像時におけるＦ値を決定する画像処理方法であって、
任意のＦ値から、前記撮像装置によって得られる複数視点画像から導出される被写体との距離の誤差を推定する誤差推定ステップと、
Ｆ値を更新しながら、前記誤差推定ステップを繰り返して、前記撮像装置に設定可能なＦ値のうち、前記誤差推定ステップにおいて推定される前記被写体との距離の誤差を最小にするＦ値を探索し、探索したＦ値を前記撮像装置の撮像時におけるＦ値として決定するＦ値決定ステップと、を含む
ことを特徴とする画像処理方法。
【請求項１２】
コンピュータを、請求項１から請求項１０のうちのいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置の撮像時におけるＦ値を決定する画像処理装置、画像処理方法、および、プログラムに関する。
【背景技術】
【０００２】
異なる瞳領域を通過する光を撮像素子上の異なる画素に集光する撮像装置（プレノプティックカメラ）が知られている。また、プレノプティックカメラにより撮像して得られる画像、すなわち、上記異なる瞳領域を通過する光から生成される複数の画像（複数視点画像）を用いて、ステレオマッチングを行うことにより、被写体との距離を推定する技術が知られている（特許文献１）。
【０００３】
非特許文献１には、基線長が長いほどステレオマッチングによって導出される、距離情報の精度が高くなることが示されている。プレノプティックカメラはＦ値が小さいほど基線長が長くなる。そのため、非特許文献１に示される内容に従えば、プレノプティックカメラによって得られる複数視点画像から被写体との距離を推定する場合には、できるだけ小さいＦ値をプレノプティックカメラに設定して撮影を行うことが望ましい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２２９１２５号公報
【特許文献２】Masatoshi Okutomi and Takeo Kanade, "A Multiple-Baseline Stereo", IEEE Trans. on Pattern Analysis and Machine Intelligence, 1993
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、基線長を長くするためにＦ値を小さくすると、撮像画像上のボケが大きくなる。そのため、ステレオマッチングの精度が低下し、その結果、ステレオマッチングにより導出される距離情報の精度も低下してしまう。つまり、プレノプティックカメラでは、Ｆ値によって基線長とボケの大きさという２つのパラメータが決まり、それら２つのパラメータの間に距離情報の精度に関するトレードオフが存在する。そこで、本発明では、プレノプティックカメラによって得られる複数視点画像から導出される距離情報の精度を、より高くするようなＦ値を求めることができるようにする。
【課題を解決するための手段】
【０００６】
本発明による画像処理装置は、プレノプティック方式の撮像装置の撮像時におけるＦ値を決定する画像処理装置であって、入力される任意のＦ値から、撮像装置によって得られる複数視点画像から導出される被写体との距離の誤差を推定する誤差推定手段と、誤差推定手段に入力するＦ値を更新しながら、誤差推定手段によって推定される被写体との距離の誤差を最小にするＦ値を、撮像装置に設定可能なＦ値の中から探索し、探索したＦ値を撮像装置の撮像時におけるＦ値として決定するＦ値決定手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、プレノプティックカメラによって得られる複数視点画像から導出される距離情報の精度を、より高くするようなＦ値を求めることができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施例に係る画像処理装置の構成の一例を示すブロック図である。
【図２】撮像装置の構成を示す図である。
【図３】撮像装置の機能を説明するための図である。
【図４】撮像装置における距離情報の導出方法を説明するための図である。
【図５】画素ずれ量の誤差と距離情報の誤差との関係を示した図である。
【図６】絞り径と距離情報の誤差との関係を示した図である。
【図７】第１の実施例に係る画像処理装置のソフトウェア構成を示すブロック図である。
【図８】第１の実施例に係る画像処理装置における最適Ｆ値の探索処理を示すフローチャートである。
【図９】画素ずれ量の誤差がボケの直径によらず一定の場合におけるＦ値と距離情報の誤差との関係を示す図である。
【図１０】画素ずれ量の誤差がボケの直径に比例する場合におけるＦ値と距離情報の誤差との関係を示す図である。
【図１１】ボケの直径が大きくなるに従って、画素ずれ量の誤差が急激に大きくなる場合におけるＦ値と距離情報の誤差との関係を示す図である。
【図１２】ボケの直径があらかじめ決められたしきい値を超えると、画素ずれ量の誤差が急激に大きくなる場合におけるＦ値と距離情報の誤差との関係を示す図である。
【図１３】撮像装置の他の構成を示す図である。
【図１４】ボケの大きさと画素ずれ量の誤差との関係を示すテーブルの例である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明を実施する形態について説明する。なお、以下に示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１０】
＜実施例１＞
図１は、第１の実施例に係る画像処理装置の構成の一例を示すブロック図である。
【００１１】
画像処理装置１００は、ＣＰＵ１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、ＨＤＤＩ／Ｆ１０４と、ＨＤＤ１０５と、入力部１０６と、システムバス１０７とを備える。画像処理装置１００には、撮像装置１０８と、外部メモリ１０９とが接続される。画像処理装置１００は、例えば、撮像装置１０８とともにデジタルカメラに搭載される。外部メモリ１０９は、例えば、デジタルカメラが搭載するカードスロットに装着される。
【００１２】
ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３に格納されたプログラムを実行し、システムバス１０７を介して各構成要素を統括的に制御する。これにより、後述する様々な処理が実行される。
【００１３】
ＨＤＤＩ／Ｆ１０４は、例えばシリアルＡＴＡ（ＳＡＴＡ）等のインタフェイスであり、二次記憶装置としてのＨＤＤ１０５を接続する。ＣＰＵ１０１は、ＨＤＤＩ／Ｆ１０４を介してＨＤＤ１０５からデータを読み出す。また、ＣＰＵ１０１は、ＨＤＤＩ／Ｆ１０４を介してＨＤＤ１０５へデータを書き込む。
【００１４】
ＨＤＤ１０５は、ハードディスクドライブである。なお、二次記憶装置はＨＤＤの他、光ディスクドライブ等の記憶デバイスでもよい。
【００１５】
入力部１０６は、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインタフェイスである。ＣＰＵ１０１は、入力部１０６を介して、撮像装置１０８、外部メモリ1０９（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）などからデータを取得する。
【００１６】
撮像装置１０８は、プレノプティック方式のカメラである。撮像装置１０８の詳細については後述する。
【００１７】
なお、画像処理装置１００は、その他の構成要素を備えていてもよい。
【００１８】
［撮像装置１０８の詳細］
図２は、撮像装置（プレノプティックカメラ）１０８の内部構成の一例を示す図である。撮像装置１０８は、メインレンズ２０１、絞り２０２、シャッター２０３、マイクロレンズアレイ２０４、光学ローパスフィルタ２０５、ｉＲカットフィルタ２０６、カラーフィルタ２０７、撮像素子２０８及びＡ／Ｄ変換部（単にＡ／Ｄという）２０９を含む。以下では、メインレンズ２０１は一枚のレンズであるとして説明を行うが、実際は複数のズームレンズ、フォーカスレンズから構成される。
【００１９】
絞り２０２を調整することにより、撮像装置１０８の基線長、ボケの大きさ、被写界深度、入射光量を調整することができる。なお、撮像装置１０８における「基線長」は、ステレオカメラ間の距離を表す「基線長」とは意味が異なる。この点については後述する。
【００２０】
マイクロレンズアレイ２０４は、撮像素子２０８の直前に配置されている集光用マイクロレンズとは異なる。一般的に集光用マイクロレンズは撮像素子の各画素それぞれに一つの光学系（例えば凸レンズ）が配置されるが、マイクロレンズアレイ２０４は、複数画素に一つの光学系（例えば、２画素に一つの光学系）が配置される。なお、本実施例では、マイクロレンズアレイ２０４の各レンズのサイズがマイクロメートル単位、あるいはミリメートル単位であっても、各レンズのサイズに関わらずマイクロレンズアレイと呼ぶ。
【００２１】
図３は、撮像装置１０８の機能を説明するための図である。撮像装置（プレノプティックカメラ）１０８は、メインレンズ２０１のうち、瞳領域３０１を通る光束と瞳領域３０２を通る光束とを異なる画素に集光する機能を有する。図３に示す例では、瞳領域３０１を通る光束が画素３０３〜３０５（Ｒ画素）に集光され、瞳領域３０２を通る光束が画素３０６〜３０８（Ｌ画素）に集光される。ここで、図３では、画素３０３〜３０８に入射する光束のみを示しているが、撮像素子２０８上の他の画素についても同様である。Ｒ画素のみを集めて画像を生成すると、瞳領域３０１の中心（または重心）３０９を視点とした画像（右視点画像）を生成することができる。またＬ画素のみを集めて画像を生成すると、瞳領域３０２の中心（または重心）３１０を視点とした画像（左視点画像）を生成することができる。また、両視点の間の距離、すなわち、瞳領域３０１の中心３０９と瞳領域３０２の中心３１０との間の距離Ｌを、基線長と呼ぶ。なお、以下ではメインレンズ２０１の領域を２つの部分瞳領域に分割するプレノプティックカメラを例にして説明するが、これに限定されず、メインレンズ２０１の領域をより多くの部分瞳領域に分割するプレノプティックカメラに対しても適用可能である。
【００２２】
［距離情報の推定方法］  
図４は、撮像装置１０８における距離情報の導出方法を説明するための図である。被写体点４０１は、被写体上のある一点を表す。被写体面４０２は、メインレンズ２０１からメインレンズ２０１と垂直な方向に対して被写体点４０１と同距離にある、点の集合で表される面である。集光面４０３は、被写体面４０２上の各点から出た光がカメラ内で集光する点の集合で表される面である。ピント面４０４は、撮像装置１０８がピントを合わせた距離にある面である。マイクロレンズ面４０５は、マイクロレンズアレイ２０４が配置される面である。
【００２３】
距離情報の導出では、まず、撮像装置１０８により得られた複数視点画像（右視点画像と左視点画像）とのステレオマッチングにより、図４に示す画素ずれ量Ｂが導出される。ステレオマッチングには任意の方法を用いることができるが、例えば、右視点画像及び左視点画像を小ブロックに分割し、右視点画像の各小ブロックと最も相関の高い左視点画像の小ブロックを探索することで、画素ずれ量Ｂを算出できる。その後、画素ずれ量Ｂから、距離ｓが算出される。以下、画素ずれ量Ｂと距離ｓとの関係を示す。まず、レンズの公式である式（１）から、式（２）を導出できる。
【００２４】
【数１】
2017138240.tif 000003
【００２５】
ここで、ｉはメインレンズ２０１から集光面４０３までの距離（以下、像距離という）である。ｆはメインレンズの焦点距離である。像距離ｉは、図４に示される相似関係に基づいて、式（３）で表すことができる。
【００２６】
【数２】
2017138240.tif 000004
【００２７】
ここで、Ｄは絞り径である。ｍは、メインレンズ２０１からマイクロレンズ面４０５までの距離（以下、マイクロレンズ距離という）である。マイクロレンズ距離ｍは、レンズの公式である式（４）を用いて、式（５）で表すことができる。
【００２８】
【数３】
2017138240.tif 000005
【００２９】
また、Ｆ値の定義から式（６）が成り立つ。
【００３０】
【数４】
2017138240.tif 000006
【００３１】
式（１）〜（６）より、Ｆ値、メインレンズの焦点距離ｆ、ピント距離ｐが事前に分かっていれば、距離ｓを算出することができる。具体的には、式（５）、（６）により算出したマイクロレンズ距離ｍと絞り径Ｄを式（３）に代入して像距離ｉを算出し、算出した像距離ｉを式（２）に代入することで、距離ｓを算出することができる。このようにして、距離ｓが距離情報として距離ｓが導出される。なお、式（１）〜（６）におけるｓ，ｆ，Ｄ，ｉ，ｍ，ｐ，Ｂの単位は全て同じとする（例えば、［ｍｍ］）。ステレオマッチングにより算出できる画素ずれ量の単位は［ｐｉｘｅｌ］である。したがって、ステレオマッチングにより算出できる画素ずれ量と、撮像素子２０８の画素ピッチμ［ｍｍ／ｐｉｘｅｌ］との積を、画素ずれ量Ｂとして算出することで単位を揃える。
【００３２】
［画素ずれ量、Ｆ値、ボケ、距離情報の誤差の関係］  
ステレオマッチングにより算出した画素ずれ量Ｂに誤差が含まれていると、距離情報にも誤差が生じる。図５は、式（１）〜（６）に従って、画素ずれ量Ｂの誤差と距離情報の誤差との関係を示した図である。具体的には、被写体距離１２５０．０［ｍｍ］、Ｆ値８．０として算出された画素ずれ量Ｂに誤差を付加して算出された距離（後述する距離s´）と、被写体距離１２５０．０［ｍｍ］との差をプロットした図である。図５に示すように、画素ずれ量Ｂの誤差が大きいほど、距離情報の誤差も大きくなる。画素ずれ量Ｂに誤差が含まれる要因の１つが、画像上のボケによるステレオマッチングの精度低下である。この精度低下は、例えば、画素ずれ量の誤差がボケの大きさに比例する場合には、画像上のボケを小さくすることで抑制できる。画像上のボケを小さくするには、Ｆ値を大きくすればよい。
【００３３】
図６は、式（１）〜（６）に従って、絞り径Ｄと距離情報の誤差との関係を示した図である。図６に示すように、画素ずれ量Ｂの誤差が同じでも、絞り径Ｄが小さい（基線長が短い）ほど、距離情報の誤差が大きくなる。距離情報の誤差を小さくするために、絞り径Ｄを大きくするには、Ｆ値を小さくすればよい。
【００３４】
このように、画素ずれ量の誤差とボケの大きさとの関係によっては、画像上のボケを小さくし、かつ、絞り径Ｄを大きくすることで、距離情報の誤差を小さくすることができる。しかし、画像上のボケを小さくするにはＦ値を大きくしなければならい。一方、絞り径Ｄを大きくするにはＦ値を小さくしなければならない。つまり、画素ずれ量の誤差とボケの大きさとの関係によっては、ボケの大きさと絞り径Ｄとの間に、距離情報の精度に関するトレードオフが存在する。そこで、本実施例に係る画像処理装置は、このようなトレードオフを考慮して、距離情報の精度ができるだけ高くなるようなＦ値を算出する。
【００３５】
［実施例１の処理の流れ］  
画像処理装置１００の処理を説明する。図７は、第１の実施例に係る画像処理装置１００のソフトウェア構成を示すブロック図である。図７に示すように、画像処理装置１００は、初期Ｆ値入力部７０１と、基線長算出部７０２と、ボケ量算出部７０３と、画素ずれ量誤差推定部７０４と、距離誤差推定部７０５と、Ｆ値決定部７０６とを含む。画像処理装置１００は、これらの構成要素により、距離情報の推定に適したＦ値（以下、最適Ｆ値という）を算出する。
【００３６】
図８は、第１の実施例に係る画像処理装置１００における最適Ｆ値の算出処理を示すフローチャートである。本実施例では、ＲＯＭ１０３やＨＤＤ１０５に、図８に示す処理を司るプログラムが格納されていて、ＣＰＵ１０１が、当該プログラムをロードして実行することにより、図７に示される各構成要素が機能する。
【００３７】
ここでは、デジタルカメラに搭載された画像処理装置１００を例にする。また、本実施例では、デジタルカメラが備える撮像制御装置（図示せず）によってプレ撮影が実行されると、画像処理装置１００が、図８に示す処理を開始する。
【００３８】
ステップＳ８０１で、初期Ｆ値入力部７０１が、初期Ｆ値を入力する。初期Ｆ値としてどのような値を用いてもよいが、本実施例では、過去の距離推定において最適Ｆ値として選ばれる回数が多かったＦ値を初期Ｆ値として入力する。
【００３９】
ステップＳ８０２で、基線長算出部７０２が、基線長を算出する。基線長Ｌは、以下の式で算出する。
【００４０】
【数５】
2017138240.tif 000007
【００４１】
ここで、Ｄは絞り径であり、式（６）を用いて算出される。ｎはプレノプティックカメラの視点数であり、本実施例ではｎ＝２である。
【００４２】
ステップＳ８０３で、ボケ量算出部７０３が、ボケの大きさを算出する。本実施例では、ボケ量算出部７０３は、ボケの大きさとして、ボケの直径を算出する。ボケの直径ｒは以下の式で算出する。
【００４３】
【数６】
2017138240.tif 000008
【００４４】
ここで、Ｄは絞り径であり、式（６）を用いて算出される。ｉは像距離であり、式（３）を用いて算出される。ｍはマイクロレンズ距離であり、式（５）を用いて算出される。ｎはプレノプティックカメラの視点数であり、本実施例ではｎ＝２である。
【００４５】
ステップＳ８０４で、画素ずれ量誤差推定部７０４が、画素ずれ量の誤差を推定する。画素ずれ量誤差推定部７０４の処理の詳細は後述する。
【００４６】
ステップＳ８０５で、距離誤差推定部７０５が、距離情報の誤差を推定する。距離誤差推定部７０５の処理の詳細は後述する。
【００４７】
ステップＳ８０６で、Ｆ値決定部７０６が、ステップＳ８０５で推定した距離情報の誤差がより小さくなるようにＦ値を更新する。Ｆ値の更新には、任意の手法を用いることができるが、例えば、最急降下法を用いることができる。
【００４８】
ステップＳ８０７で、Ｆ値決定部７０６が、Ｆ値の更新の終了判定を行う。終了判定には、任意の判定基準を用いてよい。例えば、Ｆ値の更新量があらかじめ決められたしきい値よりも小さくなった場合に更新を終了するようにしてもよい。
【００４９】
更新終了と判定された場合（ステップＳ８０７のＹｅｓ）、画像処理装置１００は処理を終える。このようにして、最適Ｆ値が算出される。
【００５０】
更新終了と判定されなかった場合(ステップＳ８０７のＮｏ)、画像処理装置１００は、ステップＳ８０２に戻り、更新終了と判定されるまで、ステップＳ８０２〜Ｓ８０６の処理を繰り返す。なお、撮像装置１０８に設定可能なすべてのＦ値に対してステップＳ８０２〜Ｓ８０６の処理を繰り返しても、更新終了と判定されない場合には、ステップＳ８０５で推定した距離情報の誤差が最も小さいＦ値が、最適Ｆ値として算出される。
【００５１】
Ｆ値決定部７０６は、算出した最適Ｆ値を、撮像装置１０８の撮像時におけるＦ値として決定する。
【００５２】
［画素ずれ量誤差推定部７０４の処理の詳細］  
画素ずれ量誤差推定部７０４は、現在のＦ値における画素ずれ量の誤差を推定する。画素ずれ量の誤差は、画素ずれ量の算出に用いられるステレオマッチング方式によって異なる。そこで、本実施例では、ボケの直径と画素ずれ量の誤差との関係をステレオマッチング方式に基づいて４つに分類した上でモデル化する。当該モデル化により生成された誤差推定情報（以下に示す式（９）〜（１２）に相当）は、ＲＯＭ１０３等の記憶部に格納される。画素ずれ量誤差推定部７０４は、誤差推定情報に基づいて、画素ずれ量の誤差を推定する。
【００５３】
１つ目の分類は、画素ずれ量の誤差がボケの直径によらず一定の場合である。例えば、画素値ノイズや撮像装置の設計誤差などが無視できるほど小さい場合、この分類に含まれると考えることができる。なぜなら、ステレオマッチングの精度低下は、ボケによって被写体表面のテクスチャ情報が失われ、誤差要因の影響が相対的に大きくなることから発生すると考えられるからである。すなわち、誤差要因が無視できる場合、ステレオマッチングの精度は低下しないと考えられる。この分類においては、画素ずれ量の誤差eは、以下の式で算出される。
【００５４】
【数７】
2017138240.tif 000009
【００５５】
ここで、αは任意の定数である。なお、画素ずれ量の誤差eは、本来画素ごとに異なる値をとるが、本実施例では、その中の代表値として、ある１つの値を設定するものとする。
【００５６】
２つ目の分類は、画素ずれ量の誤差がボケの直径に比例する場合である。一般的なステレオマッチング（例えば、ブロック間の相関計算にＳｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅを使う方式）は、この分類に含まれると考えることができる。この分類においては、画素ずれ量の誤差ｅは、以下の式で算出される。
【００５７】
【数８】
2017138240.tif 000010
【００５８】
ここで、ｋは任意の比例定数、ｒはボケの直径である。
【００５９】
３つ目の分類は、ボケの直径が大きくなるに従って、画素ずれ量の誤差が２つ目の分類よりも急激に大きくなる場合である。例えば、ブロック間の相関計算にＳｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅを使うなど、誤差要因に対するロバスト性を犠牲にして、精度をより重視したステレオマッチング方式は、この分類に含まれると考えることができる。この分類においては、画素ずれ量の誤差ｅは、以下の式で算出される。
【００６０】
【数９】
2017138240.tif 000011
【００６１】
ここで、βは任意の累乗根である。
【００６２】
４つ目の分類は、ボケの直径があらかじめ決められたしきい値を超えると、画素ずれ量の誤差が急激に大きくなる場合である。例えば、画素ずれ量を算出する際のブロックサイズがボケの直径に関わらず一定であるようなステレオマッチング方式は、この分類に含まれると考えることができる。この分類においては、画素ずれ量の誤差ｅは、以下の式で算出される。
【００６３】
【数１０】
2017138240.tif 000012
【００６４】
ここで、ｚは任意のしきい値である。なお、本実施例では、画素ずれ量誤差推定部７０４は、式（９）〜（１２）のいずれの式を用いるかを、デジタルカメラに設定されているステレオマッチング方式に基づいて決定する。例えば、デジタルカメラが複数のステレオマッチング方式に対応している場合には、各ステレオマッチング方式に対応する誤差推定情報が、ＲＯＭ１０３等の記憶部に予め格納される。画素ずれ量誤差推定部７０４は、ユーザが選択したステレオマッチング方式を判定し、判定結果に基づいて、いずれの誤差推定情報を用いるかを決定する。また、画素ずれ量誤差推定部７０４は、画素ずれ量の誤差に対する画素値ノイズや撮像装置の設計誤差などによる影響が小さいことが予め分かっている場合には、ユーザが選択したステレオマッチング方式によらずに、誤差推定情報として式（９）を用いると決定する。
【００６５】
また、本実施例では、ボケの直径と画素ずれ量の誤差との関係をモデル化しているが、Ｆ値と画素ずれ量の誤差との関係をモデル化してもよい。すなわち、Ｆ値から画素ずれ量の大きさを推定可能な誤差推定情報を、ＲＯＭ１０３等の記憶部に予め格納させてもよい。そのような形態によれば、ボケ量を算出する必要がなくなり画像処理装置１００の構成および処理を簡略化することができる。また、本実施例では、ボケの直径と画素ずれ量の誤差との関係を４つに分類しているが、５つ以上に分類してもよい。また、画素ずれ量誤差推定部７０４は、上記方法に限定されず、任意の方法で画素ずれ量の誤差を推定してかまわない。
【００６６】
［距離誤差推定部７０５の処理の詳細］  
距離誤差推定部７０５は、基線長Ｌ、画素ずれ量の誤差ｅ、被写体距離ｓから、距離情報の誤差ｄを推定する。ここで、基線長Ｌについては基線長算出部７０２が算出した値を利用する。また、画素ずれ量の誤差ｅについては画素ずれ量誤差推定部７０４が推定した値を利用する。また、被写体距離ｓについては、前述のプレ撮影によって取得した画像から推定した距離情報の他、Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔなどの手法によって算出した距離情報を利用してもよい。なお、被写体距離ｓを算出する対象の被写体（以下、重要被写体という）を選択する方法は任意である。例えば、撮影画角の中央付近にある被写体を重要被写体として選択してもよい。本実施例では、被写体距離ｓは、最終的に算出する距離情報ではなく、距離情報の誤差を見積もるために利用するものなので、必ずしも高精度である必要はない。
【００６７】
距離ｓにある被写体の画素ずれ量Ｂは以下の式で算出できる。
【００６８】
【数１１】
2017138240.tif 000013
【００６９】
ここで、Ｄは絞り径である。ｉは像距離であって、式（１）により算出される。ｍはマイクロレンズ距離であって、式（５）により算出される。なお、プレ撮影によって取得した画像から推定した距離情報を利用する場合には、被写体距離sの算出過程において、ステレオマッチングにより画素ずれ量Ｂが算出されるので、式（１３）による画素ずれ量Ｂの算出は行われない。
【００７０】
一方、画素ずれ量誤差推定部７０４によって推定した誤差ｅが画素ずれ量に含まれる場合、画素ずれ量Ｂ´は以下の式のようになる。
【００７１】
【数１２】
2017138240.tif 000014
【００７２】
画素ずれ量Ｂ´を用いて推定した距離ｓ´は、以下の式で算出できる。
【００７３】
【数１３】
2017138240.tif 000015
【００７４】
よって、距離情報の誤差ｄは以下の式によって推定することができる。
【００７５】
【数１４】
2017138240.tif 000016
【００７６】
以下、距離情報の誤差ｄを推定する手順をまとめる。
【００７７】
まず、距離誤差推定部７０５は、Ｆ値から、基線長とボケの直径とを算出する。次に、距離誤差推定部７０５は、式（９）〜（１２）を用いて、ボケの直径から画素ずれ量の誤差を算出する。最後に、距離誤差推定部７０５は、式（１３）〜（１６）を用いて、距離情報の誤差ｄを推定する。
【００７８】
なお、上記では重要被写体を１つ選択し、重要被写体における距離情報の誤差を算出したが、これに限定されない。重要被写体を複数選択し、それら複数の重要被写体における距離情報の誤差の平均値を、式（１６）における距離情報の誤差ｄとして算出してもよい。
【００７９】
［実施例１の効果］  
ボケの直径と画素ずれ量の誤差の関係の４分類それぞれについて、算出した最適Ｆ値による距離情報の誤差と、Ｆ値１．０〜３２．０で算出した距離情報の誤差の平均値とを比較することで、本実施例の効果を示す。なお、以下では、ｆ＝５０．０，p＝１０００．０，ｓ＝１２５０．０として、距離情報の誤差を算出した。
【００８０】
図９は、１つ目の分類（画素ずれ量の誤差がボケの直径によらず一定の場合）におけるＦ値と距離情報の誤差との関係を示す図である。図９に示される最適Ｆ値＝１．０（図９において破線の丸で囲った部分）における距離情報の誤差は、次のように算出される。まず、Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔなどの手法により被写体距離s＝１２５０．０が算出される。次いで、距離ｓ´が式（１５）から算出される。式（１５）から距離ｓ´を算出する際に必要となる、Ｂ´（＝Ｂ＋ｅ）は、式（１３）から算出されるＢを用いて算出される。なお、ここでは、誤差ｅを０．０３とする。式（１３）からＢを算出する際に必要となるＬ，ｍ，ｉは、それぞれ、式（７），式（５），式（１）から算出される。このようにして、距離ｓ´が１２５１．９と算出される。式（１７）より、距離情報の誤差ｄは、１．９［ｍｍ］と算出される。このように、最適Ｆ値＝１．０における距離情報の誤差＝１．９［ｍｍ］は、全Ｆ値における距離情報の誤差の平均値３１．６［ｍｍ］と比べて小さく、最適Ｆ値で算出される距離情報が高精度であることがわかる。
【００８１】
図１０は、２つ目の分類（画素ずれ量の誤差がボケの直径に比例する場合）におけるＦ値と距離情報の誤差との関係を示す図である。図１０に示されるように、本分類では、Ｆ値によらず距離情報の誤差が一定となる。このことから、本分類に含まれるステレオマッチングを行う場合は、任意のＦ値で撮影を行っても構わないことが分かる。
【００８２】
図１１は、３つ目の分類（ボケの直径が大きくなるに従って、画素ずれ量の誤差が２つ目の分類よりも急激に大きくなる場合）におけるＦ値と距離情報の誤差との関係を示す図である。図１１に示されるように、最適Ｆ値=３２．０（図１１において破線の丸で囲った部分）における距離情報の誤差は７９．７［ｍｍ］であり、全Ｆ値における距離情報の誤差の平均値である８８．３［ｍｍ］と比べて、高精度となっている。
【００８３】
図１２は、４つ目の分類（ボケの直径があらかじめ決められたしきい値を超えると、画素ずれ量の誤差が急激に大きくなる場合）におけるＦ値と距離情報の誤差との関係を示す図である。ここで、しきい値は３．０［ｐｉｘｅｌ］とした。図１２に示されるように、最適Ｆ値＝８．０（図１２において破線の丸で囲った部分）における距離情報の誤差は１５．０［ｍｍ］であり、全Ｆ値における距離情報の誤差の平均値である６９．１［ｍｍ］と比べて、高精度となっている。
【００８４】
なお、上記では、メインレンズ２０１の焦点面上にマイクロレンズアレイ２０４を配置するプレノプティックカメラを例に説明を行ったが、撮像装置１０８の構成はこれに限定されない。したがって、本発明は、マイクロレンズアレイ２０４によってメインレンズ２０１の各領域を通る光を別々の画素に受光させる任意の撮像装置に適用可能である。例えば、本発明は、図１３に示されるような、マイクロレンズアレイ２０４に対してメインレンズ２０１の焦点面１３０１と撮像素子２０８とが共役な位置となるようにマイクロレンズアレイ２０４を配置したプレノプティックカメラにも適用可能である。図１３に示すプレノプティックカメラで撮像した画像も、図３に示すプレノプティックカメラのように、左右視点画像への変換が可能であり、この左右視点画像に前述と同様の処理を施すことで、距離情報を推定することができる。なお、図１３に示すプレノプティックカメラの撮像データを左右視点画像に変換する方法については、本発明の主眼ではないため、説明を省略する。
【００８５】
また、上記では、プレ撮影やＴｉｍｅ  ｏｆ  Ｆｌｉｇｈｔなどの手法によって取得した距離の概算を利用して距離情報の誤差を見積もり、その距離情報の誤差から距離情報の推定に適したＦ値（最適Ｆ値）を算出したが、最適Ｆ値の算出方法はこれに限定されない。図９〜１２に示すように、ボケの直径と画素ずれ量の誤差との関係をモデル化できれば、距離情報の推定に適したＦ値が分かる。そこで、距離情報の概算や距離情報の誤差の見積もりを行わずに、ボケの直径と画素ずれ量の誤差との関係のモデルから直接、最適Ｆ値を算出してもよい。
【００８６】
また、撮影モードの中に「距離推定モード」を設け、画像処理装置１００は、撮影モードが距離推定モードである時のみ、上記の処理を行うようにしてもよい。
【００８７】
以上述べたように、本実施例では、ボケの大きさと画素ずれ量の誤差との関係をモデル化する。そして、その関係に基づいて、画素ずれ量の誤差が最小となるＦ値を算出する。それにより、距離情報の精度ができるだけ高くなるようなＦ値を算出することができる。
【００８８】
［実施例２］
第１の実施例では、ボケの大きさと画素ずれ量の誤差との関係をモデル化し、当該関係に基づいて、最適Ｆ値を探索した。第２の実施例では、画像処理装置が、ボケの大きさ、画素ずれ量の誤差、Ｆ値、距離情報の誤差などのパラメータ間の関係をテーブルとして、ＲＯＭ１０３等の記憶部に予め記憶する。そして、画像処理装置は、上記テーブルを参照して、距離情報の誤差を算出することで、最適Ｆ値を算出する。上記テーブルは、例えば、過去の距離推定において得られた、各パラメータ間の関係に基づいて作成される。なお、ＲＯＭ１０３等には、ステレオマッチング方式のそれぞれに対応するテーブルが記憶されていてもよい。
【００８９】
図１４は、ボケの直径と画素ずれ量の誤差の関係を示すテーブルの例である。本実施例における画素ずれ量誤差推定部７０４は、上記テーブルを参照して、画素ずれ量の誤差を算出する。なお、本実施例におけるその他の処理は、第１の実施例と同様であるため、説明を省略する。
【００９０】
このように、本実施例では、画素ずれ量誤差推定部７０４が、ＲＯＭ１０３等に記憶された上記テーブルを参照して、ボケの大きさから画素ずれ量の誤差を算出する。ボケの大きさと画素ずれ量の誤差との関係をテーブルとして保持しておくことにより、図８に示されるような最適Ｆ値の探索処理をする必要がなくなり、最適Ｆ値の導出に要する処理時間を短縮することができる。また、ボケの大きさと画素ずれ量の誤差との関係をテーブルとして保持しておくことにより、ボケの大きさと画素ずれ量の誤差とをモデル化困難な場合においても、距離情報の精度をより高くするようなＦ値を算出することができる。
【００９１】
なお、上記では、ボケの大きさと画素ずれ量の誤差の関係を示すテーブルを用いたが、距離情報の誤差の算出に用いるテーブルはこれに限定されず、任意のテーブルを用いることができる。例えば、Ｆ値と画素ズレ量の誤差との関係を示すテーブル、Ｆ値と距離情報の誤差との関係を示すテーブルを用いて、最適Ｆ値を算出してもよい。そのような形態によれば、Ｆ値から直接、画素ズレ量の誤差や距離情報の誤差を推定することができるので、最適Ｆ値の導出に要する処理時間をさらに短縮することができる。
【００９２】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９３】
７０４  画素ずれ量誤差推定部
７０５  距離誤差推定部
７０６  Ｆ値決定部
【図１】
2017138240.tif 000017
【図２】
2017138240.tif 000018
【図３】
2017138240.tif 000019
【図４】
2017138240.tif 000020
【図５】
2017138240.tif 000021
【図６】
2017138240.tif 000022
【図７】
2017138240.tif 000023
【図８】
2017138240.tif 000024
【図９】
2017138240.tif 000025
【図１０】
2017138240.tif 000026
【図１１】
2017138240.tif 000027
【図１２】
2017138240.tif 000028
【図１３】
2017138240.tif 000029
【図１４】
2017138240.tif 000030