(57)【要約】【課題】本発明は、簡易な構成で低いコストで実現できると同時に、短い撮影時間で画像を撮影する事で、明るく鮮明で被写界深度の深い画像を合成することを可能とした撮像装置および撮像装置制御方法を提供する。【解決手段】本発明の撮像装置は、画像を撮影する第一のカメラおよび第二のカメラを少なくとも備える。本発明の撮像装置は、被写体位置の検出を行う被写体位置検出部と、前記被写体位置検出部により検出した前記被写体位置に応じて、前記第一のカメラの撮影合焦位置および前記第二のカメラの撮影合焦位置を決定する焦点調整部と、前記第一のカメラの前記撮影合焦位置において撮影された画像と、前記第二のカメラの前記撮影合焦位置において撮影された画像とから視差情報を算出する視差算出部と、前記視差情報に基づいて前記第一のカメラの画像及び前記第二のカメラの画像を合成する画像合成部とを備える。【選択図】図１
2014022806.tif 000002
【特許請求の範囲】
【請求項１】
画像を撮影する第一のカメラおよび第二のカメラを少なくとも備える撮像装置であって、
被写体位置の検出を行う被写体位置検出部と、
前記被写体位置検出部により検出した前記被写体位置に応じて、前記第一のカメラの撮影合焦位置および前記第二のカメラの撮影合焦位置を決定する焦点調整部と、
前記第一のカメラの前記撮影合焦位置において撮影された画像と、前記第二のカメラの前記撮影合焦位置において撮影された画像とから視差情報を算出する視差算出部と、
前記視差情報に基づいて前記第一のカメラの画像及び前記第二のカメラの画像を合成する画像合成部とを備え、
前記焦点調整部は、前記被写体位置に基づいて、前記第一のカメラと前記第二のカメラの撮影合焦位置と撮影回数を決定することを特徴とする撮像装置。
【請求項２】
前記焦点調整部は、前記第一のカメラおよび前記第二のカメラの合焦撮影位置を、各カメラの被写界深度が重複するように決定すること
を特徴とする請求項１に記載の撮像装置。
【請求項３】
前記被写体位置検出部は、前記第一のカメラおよび第二のカメラのそれぞれによって近景被写体位置および遠景被写体位置を検出し、
前記焦点調整部は、前記近景被写体位置から前記遠景被写体位置までの距離が、前記第一のカメラ及び前記第二のカメラによって撮影される画像の少なくとも一つの被写界深度に包含されるように、前記第一のカメラおよび第二のカメラの撮影合焦位置と撮影回数を決定することを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記焦点調整部は、前記撮影回数が３以上の場合、前記第一のカメラの撮影合焦位置と前記第二のカメラの撮影合焦位置が交互になるように決定することを特徴とする請求項１から３のいずれか１項に記載の撮像装置。
【請求項５】
前記視差算出部は、
前記撮影合焦位置と前記撮影回数に基づいて前記第一のカメラおよび前記第二のカメラによって撮影された複数の画像から、前記第一のカメラの画像と前記第二のカメラの画像の複数の組み合わせを選択し、
前記複数の組み合わせのそれぞれについて、前記視差情報を算出することを特徴とする請求項１から４のいずれか１項に記載の撮像装置。
【請求項６】
前記画像合成部は、合成に使用するベース画像を遠景被写体側の合焦位置での画像とすることを特徴とする請求項１から５のいずれか１項に記載の撮像装置。
【請求項７】
前記視差算出部は、
視差を算出する際の基準画像を、前記ベース画像を撮影したカメラで撮影された画像とすることを特徴とする請求項６に記載の撮像装置。
【請求項８】
前記視差算出部により算出した複数の視差情報から１つの視差情報を統合する視差統合部を更に備え、
前記視差統合部は、前記複数の視差情報から視差情報のヒストグラムをそれぞれ求め、ヒストグラムの分布に基づいて１つの視差情報を統合することを特徴とする請求項４から７のいずれか１項に記載の撮像装置。
【請求項９】
画像を撮影する第一のカメラおよび第二のカメラを少なくとも備える撮像装置における撮像制御方法であって、
被写体位置の検出を行う被写体位置検出ステップと、
前記被写体位置検出ステップにより検出した前記被写体位置に応じて、前記第一のカメラの撮影合焦位置および前記第二のカメラの撮影合焦位置を決定する焦点調整ステップと、
前記第一のカメラの前記撮影合焦位置において撮影された画像と、前記第二のカメラの前記撮影合焦位置において撮影された画像とから視差情報を算出する視差算出ステップと、
前記視差情報に基づいて前記第一のカメラの画像及び前記第二のカメラの画像を合成する画像合成ステップとを備え、
前記焦点調整ステップにおいて、前記被写体位置に基づいて、前記第一のカメラと前記第二のカメラの撮影合焦位置と撮影回数を決定することを特徴とする撮像制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカメラで合焦位置を変えて被写体を撮影し、被写界深度の深い画像を合成する撮像装置、および撮像装置制御方法に関する。
【背景技術】
【０００２】
イメージセンサは小型化が進み、多くの携帯電話やタブレット端末などをはじめとするモバイル性の高い機器に搭載されるようになった。それに伴い、人間は幅広いシーンでカメラを活用するようになったが、カメラの焦点ぼけによる不満も多くなった。例えば、景色と人物を同時に撮影する場合、近景の人物に合焦させると背景がぼけ、遠景に合焦させると人物がぼけてしまい、景色と人物が共に合焦した画像の撮影が困難であった。こういう理由から近景から遠景までの広い範囲において合焦した（ピントの合った）被写界深度の深い画像が求められるようになった。
【０００３】
しかしながら、一般的なカメラはレンズの特性から焦点が１点に決まると合焦位置から離れた領域ほどぼけが生じてしまうため、被写界深度の深い画像の取得が困難であった。そこで、従来より、合焦位置の異なる複数の画像を用いて、被写界深度の深い画像を合成する方法が多く提案されている。
【０００４】
特許文献１では、合焦位置が異なる複数の画像からぼけ関数を推定し、それぞれ推定されたぼけ関数に基づき決定される係数を使ったフィルタ処理を施した後に加算することで被写界深度の深い画像を合成する方法について提案されている。
【０００５】
また、特許文献２では、被写体からレンズ系を通った光をハーフミラーで複数の光に分割し、光軸に沿ってずらして配置された複数のＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ  Ｉｍａｇｅ  Ｓｅｎｓｏｒ）撮像素子に入射させることで合焦位置の異なる複数の画像を記録し、その複数の画像から鮮鋭度が高い画素を抽出して高速に被写界深度の深い画像を合成する方法について提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２５１０６０号公報
【特許文献２】特開平１０−２５７３６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の装置では、単眼カメラで複数の画像を撮影するため、撮影時間が長くなり、撮影中に被写体が動いてしまうと撮影した各画像間で被写体の位置がずれ、合成画像の画質が劣化すると言う課題があった。
【０００８】
また、特許文献２に記載の装置では、高速に合成画像を取得できるが、複数のＣＣＤを持ち、ハーフミラー等を用いるカメラ構成が必要となるため、コストが高く、しかも、ハーフミラーを用いていることで光量が減少してしまうという課題もあった。
【０００９】
本発明は、斯かる事情に鑑みてなされたものであり、簡易な構成で低いコストで実現できると同時に、短い撮影時間で画像を撮影することで、明るく鮮明で被写界深度の深い画像を合成することを可能とした撮像装置および撮像装置制御方法を提供する。
【課題を解決するための手段】
【００１０】
本発明の一観点によれば、画像を撮影する第一のカメラおよび第二のカメラを少なくとも備える撮像装置が提供される。本発明の撮像装置は、被写体位置の検出を行う被写体位置検出部と、前記被写体位置検出部により検出した前記被写体位置に応じて、前記第一のカメラの撮影合焦位置および前記第二のカメラの撮影合焦位置を決定する焦点調整部と、前記第一のカメラの前記撮影合焦位置において撮影された画像と、前記第二のカメラの前記撮影合焦位置において撮影された画像とから視差情報を算出する視差算出部と、前記視差情報に基づいて前記第一のカメラの画像及び前記第二のカメラの画像を合成する画像合成部とを備える。前記焦点調整部は、前記被写体位置に基づいて、前記第一のカメラと前記第二のカメラの撮影合焦位置と撮影回数を決定することを特徴とする。
【００１１】
また、本発明の他の観点によれば、画像を撮影する第一のカメラおよび第二のカメラを少なくとも備える撮像装置における撮像装置制御方法が提供される。本発明の撮像装置制御方法は、被写体位置の検出を行う被写体位置検出ステップと、前記被写体位置検出ステップにより検出した前記被写体位置に応じて、前記第一のカメラの撮影合焦位置および前記第二のカメラの撮影合焦位置を決定する焦点調整ステップと、前記第一のカメラの前記撮影合焦位置において撮影された画像と、前記第二のカメラの前記撮影合焦位置において撮影された画像とから視差情報を算出する視差算出ステップと、前記視差情報に基づいて前記第一のカメラの画像及び前記第二のカメラの画像を合成する画像合成ステップとを備え、前記焦点調整ステップにおいて、前記被写体位置に基づいて、前記第一のカメラと前記第二のカメラの撮影合焦位置と撮影回数を決定することを特徴とする。
【００１２】
また、本発明は、上述の撮像装置制御方法を情報処理装置に実行させるためのプログラムであってもよいし、当該プログラムを記録するコンピュータ読み取り可能な記録媒体であってもよい。さらに、プログラムは、インターネットなどの伝送媒体によって取得されるものでもよい。
【発明の効果】
【００１３】
本発明によれば、２つのカメラを用いて合焦位置を変えて撮影することで被写界深度の深い画像を取得するのに必要な画像を短時間で撮影することができる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態における画像処理装置の構成例を示すブロック図である。
【図２】第１実施形態に係る撮像装置の構成例を示すフローチャートである。
【図３】被写体位置検出部における動作を模式的に示す説明図である。
【図４】被写界深度を説明するための模式図である。
【図５】撮影合焦位置の決定方法を模式的に示す説明図である。
【図６】画像合成部における合成方法を模式的に示す説明図である。
【図７】第２実施形態における画像処理装置の構成例を示すブロック図である。
【図８】第２実施形態における撮像装置の構成例を示すフローチャートである。
【図９】被写体位置検出部における動作を模式的に示す説明図である。
【図１０】合焦位置と被写界深度の関係を示す図である。
【図１１】撮影回数が偶数の場合に関する例を示す図である。
【図１２】撮影回数が奇数の場合に関する例を示す図である。
【図１３】統合視差マップの合成例を示す図である。
【図１４】合焦位置と被写界深度の関係を視差値に表した図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して本発明の実施形態について説明する。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【００１６】
＜第１実施形態＞
以下、図面を参照して第１実施形態における撮像装置を具体的に説明する。図１は、本実施形態における撮像装置の構成例である。
【００１７】
撮像装置１００は、第一カメラ１０１と、第二カメラ１０２と、被写体位置検出部１０３と、パラメータ記憶部１０４と、焦点調整部１０５と、位置合わせ部１０６と、視差算出部１０７と、画像合成部１０８とを有する。
【００１８】
第一カメラ１０１および第二カメラ１０２は、それぞれ、レンズを含む撮像光学系と、レンズを通った光を撮像素子で受け、デジタル信号に変換するセンサ（図示せず）とを有する。また、各カメラ１０１，１０２は、光軸が略平行になるように配置されている他、レンズ位置を任意の距離にある被写体に合焦する位置に移動させることができ、個別に制御できる。
【００１９】
撮像装置１００は、被写体位置検出部１０３により、第二カメラ１０２から画像を取得し、カメラから最も近い被写体までの合焦位置を求める。そして、焦点調整部１０５は、被写体位置検出部１０３で検出された合焦位置を基にパラメータ記憶部１０４からカメラの合焦位置制御に関するパラメータを読み込み、読み込まれたパラメータを用いて撮影合焦位置を算出する。この合焦位置制御に関するパラメータについては、後述する。
【００２０】
撮像装置１００は、焦点調整部１０５において算出した合焦位置に従い、各カメラ１０１，１０２を撮影合焦位置に移動させ、撮影を行う。位置合わせ部１０６は、焦点調整部１０５の制御によって撮影された第一カメラ１０１と第二カメラ１０２の画像に対してパラメータ記憶部１０４から位置合わせ用のパラメータを読み込み、それぞれ位置合わせを行う。
【００２１】
視差算出部１０７は、位置合わせ部１０６による位置合わせ処理の後の第一カメラ１０１および第二カメラ１０２の画像から視差マップを算出する。そして、画像合成部１０８は、算出した視差マップを用いてマスクを作成し、被写界深度の深い画像の合成を行う。ここで、視差とは、視点の異なる各撮影画像間で同一の被写体が撮影されている位置のずれ量である。そして、視差マップとは、撮影画像の全て、あるいは一部の画素において算出した視差をまとめた情報である。
【００２２】
図２は、第１実施形態に係る撮像装置の制御法を示すフローチャートである。以下では、図２のフローチャートに従って撮像装置制御方法の詳細について説明する。
【００２３】
まず、ステップＳ１０において、被写体位置検出部１０３は、第二カメラ１０２によって近景被写体位置を検出する。この際、第二カメラ１０２は、最短撮影距離から無限遠距離に向かって、合焦位置を探索する。無限遠とは、カメラの光学系においてその距離以降焦点調節が不要となる距離のことを指し、無限遠距離は、無限遠に合焦するレンズ位置に対応する距離のことを指す。また、最短撮影距離は、カメラのレンズの焦点が合う範囲のうち、最も手前に合焦するレンズ位置に対応するカメラからの距離のことである。以降、無限遠距離のことをＩＮＦ、最短撮影距離をＭＯＤと呼ぶ。
【００２４】
図３に示すように、第二カメラ１０２では合焦位置の探索開始点をＭＯＤに設定し、ＭＯＤからＩＮＦ方向に合焦位置の探索を行う。本例では、合焦位置の探索にコントラスト検出法を用いる。コントラスト検出法は、レンズを移動させながら画像を取得し、各画像においてコントラスト値を計算していき、コントラスト値が高くなる画像を撮影したレンズ位置を合焦位置として決める方法である。最初にコントラストが高くなった時点、つまり第二カメラ１０２が被写体Ａのある合焦位置ＤＡにレンズを移動した時点で終了する。ここで、コントラストの検出範囲は、画像全体とし、画像全体を複数の領域に分けてそれぞれのコントラスト値を計算することで合焦位置を検出する。また、コントラストが高くなったかどうかの判断は、あらかじめ閾値を決めておき、コントラスト値が閾値以上になったかどうかで判定する等の方法で判断できる。例えば、複数の領域のうち１つでも閾値を超えた時点で判断する。合焦位置が検出された場合、被写体位置検出部１０３は、第二カメラ１０２の合焦位置を近景被写体位置として決定する。
【００２５】
本例では、コントラスト検出法による合焦位置検出を用いた場合を想定して説明したが、オートフォーカスで使用される位相差検出方式やコントラストと位相差を両方用いるハイブリッド方式等の焦点検出手段を用いてもよい。以上のように、予め被写体位置を検出しておくことによって、画像撮影時に被写体が存在しない範囲で撮影しないようにすることができ、被写体の存在する範囲で被写界深度の深い画像を合成することが可能となる。
【００２６】
次に、図２に示すステップＳ１１において、焦点調整部１０５は、被写体位置検出部１０３により検出された被写体位置に従って、パラメータ記憶部１０４からパラメータを読み込み、撮影合焦位置の算出および決定を行う。パラメータ記憶部１０４には、撮影合焦位置を求めるためのパラメータが記憶されている。ここで記憶されているパラメータは、例えば、レンズ位置と合焦位置の対応関係を示す情報、レンズの焦点距離、カメラのＦ値、レンズの許容錯乱円直径、ぼけの許容度（何画素ずれからボケとして扱うかの許容度）である。以下の説明では、レンズ位置と合焦位置の対応関係はパラメータ記憶部１０４に記憶されており、焦点調整部１０５は被写体位置検出部１０３により被写体位置が検出された際のレンズ位置を合焦位置に変換して制御を行う。また、焦点調節する場合は合焦位置からレンズ位置に変換を行った後、制御を行う。
【００２７】
図４は、被写界深度を説明するための模式図であり、横軸は第二カメラ１０２からの距離である。図４に示すように、Ｌ１を前方被写界深度、Ｌ２を後方被写界深度とすると、カメラの被写界深度Ｌｆは（１）式のように示される。ここで、前方被写界深度とは、合焦位置より前方側で合焦したように見える範囲のことを指し、後方被写界深度とは合焦位置より後方側で合焦したように見える範囲のことを指す。
Ｌｆ＝  Ｌ１＋Ｌ２  ・・・（１）
【００２８】
また、レンズの焦点距離をｆ、カメラのＦ値をＦ、レンズの許容錯乱円直径をδ、ぼけの許容度（何画素ずれからボケとして扱うかの許容度）をｐ、カメラからの距離をｌとすると、式（２）および（３）の関係がそれぞれ成り立つ。したがって、式（１）、式（２）、式（３）により、式（４）を求めることができる。
Ｌ１＝δｐＦｌ２／（ｆ２＋δｐＦｌ）  ・・・（２）
Ｌ２＝δｐＦｌ２／（ｆ２−δｐＦｌ）  ・・・（３）
Ｌｆ＝δｐＦｌ２／（ｆ２＋δｐＦｌ）  ＋δｐＦｌ２／（ｆ２−δｐＦｌ）  ・・・（４）
【００２９】
図５は、撮影合焦位置の決定方法を模式的に示す説明図である。図５に示すように、被写体位置検出部１０３で検出した近景被写体位置ＤＡが前方被写界深度に含まれる合焦位置ｆＡを、上記の式を使って決定する。式（２）を用いて、まず、カメラからの距離ｌの初期値を近景被写体位置ＤＡとし、カメラからの距離ｌをＩＮＦ方向に向かってを一定値毎に変えていき、各距離での前方被写界深度を算出していく。近景被写体位置ＤＡと前方被写界深度が最も近くなった距離を合焦位置ｆＡと決定する。決定した合焦位置ｆＡを第二カメラ１０２の撮影合焦位置とする。
【００３０】
次に、式（３）を用いて、決定した第二カメラ１０２の撮影合焦位置ｆＡから後方被写界深度を求める。そして、式（２）を用いて、求めた撮影合焦位置ｆＡの後方被写界深度を初期値とし、撮影合焦位置ｆＡの後方被写界深度からＩＮＦ位置に向かってカメラからの距離ｌを一定値毎に変えていき、各距離を合焦位置とした時の前方被写界深度を算出していく。撮影合焦位置ｆＡの後方被写界深度とｆＢの前方被写界深度が最も近くなった合焦位置を合焦位置ｆＢと決める。決定した合焦位置ｆＢを第一カメラ１０１の撮影合焦位置とする。以上の方針で撮影合焦位置を決定することで、深い被写界深度を包含する２つの画像を得ることができる。本例では、撮影合焦位置ｆＡの後方被写界深度とｆＢの前方被写界深度が最も近くなった合焦位置をｆＢと決定しているが、必ずしも最も近くなった合焦位置をｆＢと決定する必要はなく、撮影合焦位置ｆＡの後方被写界深度にｆＢの前方被写界深度の少なくとも一部が含まれるならば、その合焦位置をｆＢと決定してもよい。最も近くする事で後述する合成画像の被写界深度が最も深くなるが、少なくとも一部が含まれれば、単眼の画像に比べて合成画像の被写界深度は深くなる為である。
【００３１】
次に、ステップＳ１２において、焦点調整部１０５は、算出した２つの撮影合焦位置ｆＡ，ｆＢに各カメラ１０１，１０２の合焦位置を移動させ、焦点を合わせて撮影を行う。すなわち、本実施例では、焦点調整部１０５は、算出した２つの撮影合焦位置ｆＡ，ｆＢで撮影を行うため、撮影回数は２回となる。
【００３２】
次に、ステップＳ１３において、位置合わせ部１０６は、パラメータ記憶部１０４から位置合わせ用のパラメータを読み込む。位置合わせ用のパラメータは、合焦位置が変化することによる画角の違い（画像の大きさ）を補正するパラメータである。合焦位置がＩＮＦ側にいくほど画角が小さくなるため撮像される像は拡大され、この後のステップで行う視差の算出や、全焦点画像の合成が困難になる。本実施形態のように第一および第二カメラ１０１，１０２が平行に配置されており、画角の違い（画像の大きさ）のみを補正すればよい場合には、パラメータ記憶部１０４に合焦位置を変えて撮影した画像間の拡大率を保持しておき、それをパラメータとして位置合わせ部１０６が読み込む。
【００３３】
次に、ステップＳ１４において、位置合わせ部１０６は、読み込んだパラメータを用いて各合焦位置ｆＡ，ｆＢで撮影した画像に対して、画像の拡大縮小の処理を実行する。
【００３４】
次に、ステップＳ１５において、視差算出部１０７は、位置合わせ部１０６で位置合わせを行った画像から視差マップを算出する。視差算出部１０７は、異なる合焦位置ｆＡ，ｆＢで撮影した、第一カメラ１０１の画像を基準画像、第二カメラ１０２の画像を参照画像としてブロックマッチングを行い、両画素ブロックの相関度を求め、相関度に基づいて視差マップを算出する。なお、相関度は、例えばＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）法による相関値演算により求めることができ、基準画像の各画素において参照画像上で相関度が最も高くなる位置を検出する事により、視差を算出できる。また、ＳＡＤ以外にもＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）やＺＮＣＣ（Ｚｅｒｏ−ｍｅａｎ  Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌａｔｉｏｎ）等の別の相関度を用いて視差マップを求めてもよい。
【００３５】
次に、ステップＳ１６において、画像合成部１０８は、視差算出部１０７で得た視差マップを用いて、第一カメラ１０１の合焦位置におけるマスクを作成し、それを基に画像の合成を行う。画像の合成は、視差マップを２つの視差範囲に分割することでマスクを作成し、第一カメラ１０１で撮影した画像に対しマスク範囲に対応した第二カメラ１０２の画像の一部を貼り合わせて合成を行う。視差範囲を分割するには、距離と視差の対応がとれていることが必要となるため、視差と距離の対応を求める。距離から視差値の変換は、視差値をｄ、カメラの焦点距離をｆ、カメラの基線長をＢ、δをレンズの許容錯乱円直径、距離をＤとすると、式５の関係が成り立つ。
ｄ＝ｆ・Ｂ／δ・Ｄ  ・・・（５）
【００３６】
式（５）を用いて合焦位置と被写界深度に対応した視差値を求めることができる。視差範囲の分割は、式（５）を用い、例えば第一カメラ１０１の合焦位置の被写界深度に対応する視差値の範囲が２５〜７２であった場合、視差値が７２以下の範囲と視差値が７３以上の範囲に分け、視差値が７３以上の範囲を第二カメラ１０２での合焦位置のマスクとする。
【００３７】
図６は、画像合成部における合成方法を模式的に示す説明図である。図６に示すように、画像の合成は、作成したマスクを用いて第二カメラ１０２で撮影した画像２０２から視差値分をキャンセルした後、マスク２０３を抜き出して、第一カメラ１０１で撮影した画像２０１の対応画素と置き換えて行う。これにより、被写界深度の深い画像２０４を合成することができる。
以上の処理によって、マスク生成から画像合成までの処理を行う。
【００３８】
なお、本実施形態の構成では、２つのカメラ１０１，１０２で同時に撮影し被写界深度の深い画像を合成することができるため、動画にも対応できる。また、ハーフミラー等の特殊な装置を用いていないので光量を十分に確保できる上、一般的なカメラで構成できるのでコストも安い。
【００３９】
なお、本実施形態では、被写体位置検出部１０３が第二カメラ１０２を用いて近景被写体位置を検出したが、第二カメラ１０２を用いることを限定しているわけではなく、どちらのカメラを用いてもよい。
なお、ここでは２つのカメラを使用する例を示したが、３つ以上のカメラを用いても良い。また、１つのカメラを用いて異なる合焦位置で撮影する場合においても、被写体位置を考慮すると共に、あらかじめぼけ量に基づいて算出した被写界深度が重複するように撮影合焦位置を決定する事で、少ない回数で効果的に全焦点画像を生成するための画像を取得する事ができる。
なお、本実施形態では、算出した２つの撮影合焦位置ｆＡ，ｆＢで２つのカメラ１０１、１０２によって撮影する例を示したが、３つ以上のカメラによって、それぞれ異なる撮影合焦位置で撮影するようにしてもよく、撮影回数は、算出された撮影合焦位置に応じて決定される。
【００４０】
＜第２実施形態＞
以下、図面を参照して第２実施形態における撮像装置を具体的に説明する。図７は、本実施形態における撮像装置の構成例である。
【００４１】
撮像装置３００は、第一カメラ３０１と、第二カメラ３０２と、被写体位置検出部３０３と、パラメータ記憶部３０４と、焦点調整部３０５と、位置合わせ部３０６と、視差算出部３０７と、視差統合部３０８と、画像合成部３０９とを有する。
【００４２】
第一カメラ３０１および第二カメラ３０２は、それぞれ、レンズを含む撮像光学系と、レンズを通った光を撮像素子で受け、デジタル信号に変換するセンサ（図示せず）とを有する。また、各カメラ３０１，３０２は、光軸が平行になるように配置されている他、レンズ位置を任意の距離にある被写体に合焦する位置に移動させることができ、個別に制御できる。
【００４３】
撮像装置３００は、被写体位置検出部３０３により、第一カメラ３０１と第二カメラ３０２とから画像を取得し、各カメラ３０１，３０２から最も近い被写体までの合焦位置と最も遠い被写体との合焦位置を検出することにより、被写体位置を決定する。
【００４４】
焦点調整部３０５は、被写体位置検出部３０３で検出された被写体位置を基にパラメータ記憶部３０４から合焦位置と被写界深度との関係に関するテーブル情報を参照し、撮影合焦位置と撮影回数などのパラメータを決定する。テーブル情報については後述する。
【００４５】
撮像装置３００は、決定したパラメータに従って、各カメラ３０１，３０２を撮影合焦位置に移動させ、撮影を行う。位置合わせ部３０６は、焦点調整部３０５により撮影された画像に対してパラメータ記憶部３０４から位置合わせ用パラメータを読み込み、位置合わせを行う。
【００４６】
視差算出部３０７は、位置合わせ部３０６による位置合わせ処理の後の第一カメラ３０１および第二カメラ３０２の画像から、視差情報である視差マップを算出する。視差マップとは、全ての画素において視差を求めた画像のことを指す。
【００４７】
視差統合部３０８は、視差算出部３０７から与えられる複数の視差マップから後述する統合視差マップを合成する。画像合成部３０９は、統合視差マップを用いてマスクを作成し、全焦点画像を合成する。全焦点画像とは、ここでは被写体全てにピントの合った被写界深度の深い鮮明な画像である。ピントの合った鮮明な画像とは、あらかじめ設定したぼけの許容度より大きいぼけが無いことを意味する。
【００４８】
図８は、第２実施形態に係る撮像装置の制御法を示すフローチャートである。以下では、図８のフローチャートに従って撮像装置制御方法の詳細について説明する。
【００４９】
まず、ステップＳ２０において、被写体位置検出部３０３により被写体位置を決定する。図９は、被写体位置検出部３０３における動作を模式的に示す説明図である。図９における横軸は、各カメラ３０１，３０２のレンズ面からの距離である。
第一カメラ３０１はＩＮＦからＭＯＤに向かって、一方、第二カメラ３０２はＭＯＤからＩＮＦに向かって、合焦位置を探索する。
【００５０】
図９に示すように、第一カメラ３０１の合焦位置の探索開始点をＩＮＦに設定し、ＭＯＤ方向に合焦位置の探索を行う。第二カメラ３０２では、合焦位置の探索開始点をＭＯＤに設定し、ＭＯＤからＩＮＦ方向に合焦位置の探索を行う。本例では、合焦位置の探索にコントラスト検出法を用いる。最初にコントラストが高くなった時点、つまり、第一カメラ３０１が、被写体ＢがあるＤＢの合焦位置にレンズを移動した時点、第二カメラ３０２が、被写体ＡがあるＤＡの合焦位置にレンズを移動した時点で終了する。ここで、コントラストの検出範囲は、第一カメラ３０１と第二カメラ３０２で異なる。ＭＯＤから検出を行う第一カメラ３０１の場合は撮影画像中の中央領域をコントラストの検出範囲とし、ＩＮＦから検出を行う第二カメラ３０２の場合は周辺領域をコントラストの検出範囲としている。これは、カメラを撮影する際に近景被写体は画像の中心になる傾向が強く、また遠景被写体は画像の周辺部となる傾向が強いからである。例えば、人物と景色を同時に撮影する場合、人物を画像の中心に、景色を背景面とするような構図で撮影することが多い。コントラストが高くなったかどうかの判断は、あらかじめ閾値を決めておき、コントラスト値が閾値以上になったかどうかで判定する等の方法で判断できる。それぞれ合焦位置が検出された場合、第一カメラ３０１の合焦位置ＤＡを遠景被写体位置、第二カメラ３０２の合焦位置ＤＢを近景被写体位置として決定する。
ここでは、第一カメラ３０１、第二カメラ３０２のコントラスト検出範囲をそれぞれ中央領域、周辺領域としているが、検出範囲をそれぞれ画像全体とするか、あるいはユーザーが検出範囲を設定できるようにするなど、ここで記載する範囲に限定するものではない。
【００５１】
本例では、コントラスト検出法による合焦位置検出を用いた場合を想定して説明したが、オートフォーカスで使用される位相差検出方式やコントラストと位相差を両方用いるハイブリッド方式等の焦点検出手段を用いてもよい。また、二眼カメラのうち一方のカメラで近い側の合焦位置を検出し、もう一方のカメラで遠い側の合焦位置を検出するよう各カメラで分担することにより、すばやく被写体位置を決定する事が可能となる。
以上のように、予め近景被写体位置と遠景被写体位置を検出しておくことによって、画像撮影時に被写体が存在しない範囲で撮影しないようにすることができ、少ない撮影回数で全焦点画像を合成することが可能となる。
【００５２】
次に、図８に示すステップＳ２１において、焦点調整部３０５は、被写体位置検出部３０３により決定された被写体位置に従って、パラメータ記憶部３０４から撮影合焦位置と撮影回数を求めるためのテーブル情報を参照して撮影合焦位置と撮影回数を決定する。パラメータ記憶部３０４では、レンズ位置と合焦位置の関係を示す情報、被写体位置に対応した撮影合焦位置、撮影回数を求めるためのテーブル情報と位置合わせ用のパラメータとが記憶されている。焦点調整部３０５は、このテーブル情報を参照し、撮影回数と撮影合焦位置との決定を行う。撮影回数は、第一カメラ３０１と第二カメラ３０２とで撮影する回数の合計を表し、撮影合焦位置は、被写体位置に基づきテーブル情報から求めた実際に撮影する回数分の合焦位置を表す。撮影する各合焦位置の間隔は、ＭＯＤ側ほど小さく、ＩＮＦ側ほど大きくなるように設定している。これは、ＭＯＤ側ほど被写界深度が浅く、ＩＮＦ側ほど被写界深度が深くなるレンズの特性を考慮しているからである。以下の説明では、レンズ位置と合焦位置の対応関係はパラメータ記憶部３０４に記憶されており、焦点調整部３０５は、被写体位置検出部３０３により被写体位置が検出された際のレンズ位置を合焦位置に変換して制御を行う。また、焦点調節する場合は合焦位置からレンズ位置に変換を行った後、制御を行う。
【００５３】
テーブル情報は、第１実施形態で述べた式（４）に基づいて、被写界深度を考慮して作成される。レンズの焦点距離を４．５０ｍｍ、Ｆ値を３．５、レンズの許容錯乱円直径を１．４μｍ、ぼけの許容度を２画素とした場合、図１０に示すテーブル情報が得られる。ここで、各合焦位置は、ＭＯＤを２７０ｍｍ、ＩＮＦを５０００ｍｍとした場合、各合焦位置のＭＯＤからＩＮＦの範囲を全て包含するような合焦位置、３００ｍｍ、３５０ｍｍ、４５０ｍｍ、６００ｍｍ、１０００ｍｍ、２０６６ｍｍの６点を設定した。なお、ここでの包含とは、各合焦位置の被写界深度が重複するように設定され、ＭＯＤからＩＮＦの範囲を全て含んでいることを示す。また、図１０では、合焦位置を３００ｍｍに設定した場合、前方被写界深度の２７０ｍｍから後方被写界深度の３５１ｍｍの範囲（被写界深度）までが合焦していることを示している。この図１０のテーブル情報が、あらかじめパラメータ記憶部３０４に記憶されており、このテーブル情報から撮影回数と撮影合焦位置を求める。
【００５４】
図９で示した近景被写体位置ＤＢを３６０ｍｍ、遠景被写体位置ＤＡを９００ｍｍとした場合、図１０より近景被写体位置の３６０ｍｍは３５０ｍｍの被写界深度である２９９ｍｍから４２１ｍｍに含まれ、被写界深度内に含む合焦位置の中で３５０ｍｍは最小となるので撮影合焦位置は３５０ｍｍに決定される。また、遠景被写体位置の９００ｍｍは１０００ｍｍの被写界深度である６７４ｍｍから１９３８ｍｍに含まれ、被写界深度内に含む合焦位置の中で１０００ｍｍが最大となるので撮影合焦位置は１０００ｍｍに決定される。よって、合成後の全焦点画像において、３６０ｍｍから９００ｍｍまでの距離を全て包含するような被写界深度を得るには、撮影合焦位置は３５０ｍｍ、４５０ｍｍ、６００ｍｍ、１０００ｍｍの位置となり、撮影回数は４回となる。図１０において複数の合焦位置の被写界深度に含まれる距離がありこの場合はどちらの合焦位置を選択してもよいが、近景被写体位置ならば前方被写界深度内に含まれる合焦位置を選択し、遠景被写体位置ならば後方被写界深度に含まれる合焦位置を選択する。このようにすることによって、より少ない撮影回数で全焦点画像を撮影することができる。
【００５５】
また、近景被写体位置ＤＢを４６０ｍｍ、遠景被写体位置ＤＡを９００ｍｍとした場合、図１０より近景被写体位置の４６０ｍｍは４５０ｍｍの被写界深度である３７０ｍｍから５７５ｍｍに含まれ、被写界深度内に含む合焦位置の中で４５０ｍｍは最小となるので撮影合焦位置は４５０ｍｍに決定される。また、遠景被写体位置の９００ｍｍは１０００ｍｍの被写界深度である６７４ｍｍから１９３８ｍｍに含まれ、被写界深度内に含む合焦位置の中で１０００ｍｍが最大となるので撮影合焦位置は１０００ｍｍに決定される。よって、合成後の全焦点画像において、４６０ｍｍから９００ｍｍまでの距離を全て包含するような被写界深度を得るには、撮影合焦位置は４５０ｍｍ、６００ｍｍ、１０００ｍｍの位置となり、撮影回数は３回となる。
以上の処理に従って、テーブル情報を参照して撮影合焦位置と撮影回数を決定する。
【００５６】
次に、ステップＳ２２において、焦点調整部３０５は、決定された撮影合焦位置と撮影回数に従って各カメラ３０１，３０２の合焦位置を変化させ、撮影を行う。
以上のように、あらかじめ設定したぼけの許容度を考慮し、全ての距離において各合焦位置の被写界深度が包含するように合焦位置を設定し、撮影合焦位置と撮影回数を決定することで、可能な限り少ない撮影回数で全焦点画像を合成することができる。
【００５７】
図１１は、撮影合焦位置と撮影回数の設定に関して具体的な例をあげて模式的に示した図である。被写体位置検出部３０３で求めた近景被写体位置を３６０ｍｍ、遠景被写体位置を９００ｍｍとした場合、図１０より必要な撮影回数は４回となり、撮影合焦位置は３５０ｍｍ、４５０ｍｍ、６００ｍｍ、１０００ｍｍとなる。図１１に示すように、まず、第二カメラ３０２で合焦位置を３５０ｍｍ、第一カメラ３０１で合焦位置４５０ｍｍとして撮影する。次に、第二カメラ３０２を合焦位置６００ｍｍ、第一カメラ３０１を合焦位置１０００ｍｍに移動させて撮影する。
【００５８】
また、図１２は、撮影合焦位置と撮影回数の設定に関する別の例を示した図である。図１２のように、第一カメラ３０１の近景被写体位置を４６０ｍｍ、第二カメラ３０２の遠景被写体位置を９００ｍｍとした場合、必要な撮影回数は３回となる。したがって、図１２を示すように、まず、第二カメラ３０２で合焦位置を４５０ｍｍ、第一カメラ３０１で合焦位置６００ｍｍとして撮影する。次に、第二カメラ３０２のみを合焦位置１０００ｍｍに移動させて撮影する。
【００５９】
また、全焦点画像を撮影する場合、各カメラで近景被写体側と遠景被写体側に合焦位置を合わせて撮影する方法などもあるが、近景被写体側の合焦位置と遠景被写体側の合焦位置間の距離によって各合焦位置での被写界深度が大きく異なってしまうことがある。そのような場合、各撮影画像でのぼけ具合が大きく異なり、左右の画像間の対応点がとれなくなってしまうことで、視差の算出が困難になる。ここでは、第一カメラ３０１と第二カメラ３０２の合焦位置の移動を近景被写体側から遠景被写体側に向かい、被写界深度に合わせて交互に撮影している。このようにすることで後述する視差マップの精度を保ちつつ、合焦調節にかかる時間も短くすることができる。
【００６０】
次に、ステップＳ２３において、位置合わせ部３０６は、パラメータ記憶部３０４から位置合わせ用のパラメータを読み込む。位置合わせ用のパラメータは、カメラの内部パラメータおよび外部パラメータからなり、第一カメラ３０１と第二カメラ３０２の光軸に合わせて、画像の平行化や大きさ合わせを行うレクティフィケーションと呼ばれる処理を行うためのものである。合焦位置がＩＮＦ側にいくほど画角が小さくなるため撮像される像は拡大されてしまい、この後のステップで行う視差の算出や、全焦点画像の合成が困難になる。そのため、各合焦位置（本例では、合焦位置を３００ｍｍ、３５０ｍｍ、４５０ｍｍ、６００ｍｍ、１０００ｍｍ、２０６６ｍｍとして設定）でそれぞれカメラキャリブレーションを行うことでカメラパラメータを算出し、パラメータ記憶部３０４に記憶しておく。
【００６１】
次に、ステップＳ２４において、位置合わせ部３０６は、各合焦位置で撮影した画像に対して、ステップＳ２３で読み込んだパラメータを基にレクティフィケーション処理を行い、画像に映る被写体の大きさと位置を補正する位置あわせを行う。
なお、ここでは、カメラパラメータを用いてレクティフィケーション処理を行うとして説明しているが、カメラが平行に配置されており画角の違い（画像の大きさ）のみを補正すればよい場合には、パラメータ記憶部３０４に合焦位置を変えて撮影した画像間の拡大率を保持しておき、それをパラメータとして位置合わせ部３０６で画像の拡大縮小を行うようにしてもよい。
【００６２】
次に、ステップＳ２５において、視差算出部３０７は、位置合わせ部３０６で位置合わせを行った画像から視差マップを算出する。視差算出部３０７は、異なる合焦位置で撮影した第一カメラ３０１と第二カメラ３０２の画像の撮影回数が偶数であった場合、第一カメラ３０１の画像を基準画像、第二カメラ３０２の画像を参照画像としてブロックマッチングを行って両画素ブロックの相関度を求め、相関度に基づいて視差マップを算出する。例えば、図１１で示したように、撮影合焦位置を３５０ｍｍ、４５０ｍｍ、６００ｍｍ、１０００ｍｍとして４回撮影する場合、第二カメラ３０２で合焦位置を３５０ｍｍとして撮影した画像と第一カメラ３０１で合焦位置を４５０ｍｍとして撮影した画像間で視差マップを求め、次に、第二カメラ３０２で合焦位置を６００ｍｍとして撮影した画像と第一カメラ３０１で合焦位置を４５０ｍｍとして撮影した画像間で視差マップを求める。そして、第二カメラ３０２で合焦位置を６００ｍｍとして撮影した画像と第一カメラ３０１で合焦位置を１０００ｍｍとして撮影した画像間で視差マップを求める。ここでは、計３枚の視差マップを求めることができる。
【００６３】
また、視差算出部３０７は、撮影回数が奇数であった場合、第二カメラ３０２の画像を基準画像、第一カメラ３０１の画像を参照画像としてブロックマッチングを行い両画素ブロックの相関度を求め、相関度に基づいて視差マップを算出する。
例えば図１２に示したように、撮影合焦位置を４５０ｍｍ、６００ｍｍ、１０００ｍｍとして３回撮影したと想定すると、第二カメラ３０２で合焦位置を４５０ｍｍとして撮影した画像と第一カメラ３０１で合焦位置を６００ｍｍとして撮影した画像間で視差マップを求め、次に、第一カメラ３０１で合焦位置を６００ｍｍとして撮影した画像と第二カメラ３０２で合焦位置を１０００ｍｍとして撮影した画像間で視差マップを求める。ここでは、計２枚の視差マップを求めることができる。
ここで、基準画像は、視差マップを算出する際の２枚の画像のうち、遠景側の撮影合焦位置の画像を含むカメラで撮影された画像のことを指し、撮影回数が偶数、奇数によって基準画像が変わる。これは、後述する全焦点合成処理において合焦位置を遠景被写体側として撮影した画像を基に合成するためである。
【００６４】
なお、相関度は、第１実施形態と同様に、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）法による相関値演算により求めることができ、基準画像の各画素において参照画像上で相関度が最も高くなる位置を検出する事により、視差を算出できる。また、ＳＡＤ以外にもＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）やＺＮＣＣ（Ｚｅｒｏ−ｍｅａｎ  Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌａｔｉｏｎ）等の別の相関度を用いて視差マップを求めてもよい。
【００６５】
次に、ステップＳ２６において、視差統合部３０８は、視差算出部３０７で求めた各合焦位置での視差マップを用いて、以下の方針に従って１つの統合した視差マップ（以後、統合視差マップと呼ぶ）を合成する。
【００６６】
統合視差マップは、各合焦位置での視差マップからヒストグラムをそれぞれ求め、注目した画素における視差値の数を比較することで、その画素において正しい視差値であるかを判定して得られたマップである。
【００６７】
図１３は、３つの視差マップから統合視差マップを合成する場合の説明図である。前述のように、撮影合焦位置を３５０ｍｍ、４５０ｍｍ、６００ｍｍ、１０００ｍｍとして４回撮影する場合、３枚の視差マップが得られる。それぞれ合焦位置を３５０ｍｍ、４５０ｍｍとして撮影した画像間での視差マップの一部が視差マップ４００である。また、合焦位置を４５０ｍｍ、６００ｍｍとして撮影した画像間での視差マップの一部が視差マップ４０１である。また、合焦位置を６００ｍｍ、１０００ｍｍとして撮影した画像間での視差マップの一部が視差マップ４０２である。視差マップ４００，４０１，４０２に対応するヒストグラムは、それぞれ、ヒストグラム４０４、ヒストグラム４０５、ヒストグラム４０６である。
【００６８】
これらの視差マップ４００，４０１，４０２を用いて統合視差マップ４０３を合成する。各視差マップの一部４００，４０１，４０２である３×３画素のブロックの中にそれぞれ視差値が求まっている。この３つの視差マップ４００，４０１，４０２において同じ視差値となる場合は、ヒストグラム４０４，４０５，４０６に関係なく、この視差値を統合視差マップ４０３の視差値として採用する。次に３つの視差マップ４００，４０１，４０２において異なる視差値である場合、ヒストグラム４０４，４０５，４０６に基づき視差値の数が多い方を信頼度が高いとみなし、統合視差マップ４０３の視差値として採用する。
【００６９】
ここでは、丸で囲んだ画素においてそれぞれ、視差値１２０、１４０、５０が求まっているが、それぞれの視差に対応するヒストグラム４０４、ヒストグラム４０５、ヒストグラム４０６を比較すると、ヒストグラム４０４での視差値１２０の数が最も多いので、統合視差マップ４０３の視差値として採用する。また、二重丸で囲んだ画素においても同様の処理を行い、ヒストグラム４０６での視差値１０の数が最も多いため、統合視差マップ４０３の視差値として採用する。
【００７０】
また、注目した画素において、全ての視差マップで視差値が求まっていない場合、統合視差マップ４０３における８近傍の視差値（求まっていない視差値は除く）の平均値を統合視差マップ４０３の視差値として採用する。
【００７１】
合焦位置の異なる位置で撮影した画像から求めた視差マップのヒストグラムは、合焦位置に近づけば近づくほど、その合焦位置に対応する視差値が増える傾向にある。一方で合焦位置から離れるほどぼけてしまうので他の視差値は減る。そのような理由から、ヒストグラムを用いて視差値を比較することで適切な視差値を選ぶことができる。
本例では、視差のヒストグラムから視差マップを合成しているが、図１０より合焦位置が既知であることから合焦位置に対応する視差値を求め、統合視差マップを合成する際に各合焦位置での被写界深度を基に視差マップの合成範囲を分け、統合視差マップを求めてもよい。
【００７２】
次に、ステップＳ２７において、画像合成部３０９は、視差統合部３０８で得た統合視差マップ４０３を用いて、各合焦位置におけるマスクを作成し、それを基に全焦点画像を合成する。
全焦点画像の合成は、視差マップを撮影回数分の視差範囲に分割して各合焦位置で撮影した画像を貼り合わせて合成を行う。視差範囲を分割するには、距離と視差の対応がとれていることが必要となるため、第１実施形態で示した式（５）を用いて視差と距離の対応表を求める。前述のように、レンズの焦点距離を４．５０ｍｍ、レンズの許容錯乱円直径を１．４μｍとしているので、第一カメラ３０１と第二カメラ３０２の基線長が１５ｍｍであるとすると、図１４に示すように、合焦位置と被写界深度の関係を視差値として表すことができる。
各合焦位置におけるマスクは、図１４を用いて、視差値を基に統合視差マップ４０３から視差範囲を抜き出し作成する。なお、撮影回数が偶数か奇数かによって処理方法及びベース画像が異なる。ここで、ベース画像とは遠景被写体位置側の撮影合焦位置で撮影した画像であり、この画像を基に全焦点画像を合成する。
【００７３】
撮影回数が偶数であった場合、遠景被写体位置側の第一カメラ３０１の画像を全焦点画像のベース画像とする。視差範囲は、第一カメラ３０１で撮影された合焦位置と被写界深度を主にして図１４を用いて分割する。図１１で示したように、撮影合焦位置が３５０ｍｍ、４５０ｍｍ、６００ｍｍ、１０００ｍｍであった場合、図１４からその合焦位置での視差値はそれぞれ順に１３８、１０７、８０、４８となる。ベース画像は、第一カメラ３０１で合焦位置を１０００ｍｍとして撮影した画像になる。ここで、まず、ベース画像となる１０００ｍｍ位置の視差範囲を図１４を用いて７２〜２５と決定する。次に、ベース画像を撮影するカメラ画像である合焦位置４５０ｍｍ位置の視差範囲を１３０〜８４と決定する。そして、残りの視差範囲を第二カメラ３０２で撮影された合焦位置３５０ｍｍ、６００ｍｍの視差範囲に割り当てていく。これにより、合焦位置３００ｍｍでの視差範囲は１６１〜１３１となり、合焦位置６００ｍｍでの視差範囲は８３〜７３となる。
【００７４】
上記の決定に従って、第一カメラ３０１で撮影した４５０ｍｍ位置の視差値が８４から１３０の視差範囲を統合視差マップ４０３から抜き出し、合焦位置４５０ｍｍでのマスクを作成する。また、第二カメラ３０２で撮影した３５０ｍｍ位置の視差値１３１から１６１の視差範囲、６００ｍｍ位置の視差値７３から８３の視差範囲をそれぞれ統合視差マップから抜き出し、それぞれ合焦位置３５０ｍｍ、６００ｍｍでのマスクを作成する。
【００７５】
撮影回数が奇数であった場合、遠景被写体位置側の第二カメラ３０２の画像を全焦点画像のベース画像とする。視差範囲は第二カメラで撮影された合焦位置と被写界深度を主にして図１４を用いて分割する。図１２に示すように撮影合焦位置を４５０ｍｍ、６００ｍｍ、１０００ｍｍであった場合、図１４からそのときの視差値はそれぞれ順に１０７、８０、４８となる。ベース画像は第二カメラ３０２で合焦位置１０００ｍｍとして撮影した画像になる。ここでも、上記と同様の流れで各合焦位置での視差範囲を決定する。この決定に従って、第一カメラ３０１で撮影した第６００ｍｍ位置の視差値が７３から８３の視差範囲を統合視差マップから抜き出し、合焦位置６００ｍｍでのマスクを作成する。また、第二カメラ３０２で撮影した４５０ｍｍ位置の視差値８４から１３０の視差範囲を統合視差マップから抜き出し、４５０ｍｍの合焦位置でのマスクを作成する。
【００７６】
全焦点画像合成は、作成したマスクを用いて各合焦位置で撮影した画像からマスク範囲を抜き出して、ベース画像に貼り合わせることで行う。また、全焦点画像合成は、ベース画像と同じカメラで撮影された画像は視差が無いため視差をキャンセルする必要がなく、そのままベース画像の対応画素を置き換えればよいが、ベース画像と異なるカメラで撮影された画像は視差があるので視差値をキャンセルしてからベース画像の対応画素を置き換える必要がある。
【００７７】
以下では、撮影回数が偶数であった場合の、全焦点画像合成について具体的な例を挙げて説明する。図１１のように撮影回数が４回であった場合、第一カメラ３０１で合焦位置１０００ｍｍとして撮影した画像をベース画像とし、合焦位置４５０ｍｍのマスクに重なる領域に対して、ベース画像の画素値を、それぞれ合焦位置４５０ｍｍとして撮影した画像の画素値に置きかえる。また、合焦位置３５０ｍｍ、６００ｍｍのマスクに重なる領域に対しては視差値分をキャンセルした後、合焦位置１０００ｍｍの画素値を、それぞれ合焦位置を３５０ｍｍ、６００ｍｍとして撮影した画像の画素値に置きかえる。以上の処理を行うことで全焦点画像を合成することができる。
【００７８】
以下では、撮影回数が奇数であった場合の、全焦点画像合成について具体的な例を挙げて説明する。図１２のように撮影回数が３回であった場合、第二カメラ３０２で合焦位置１０００ｍｍとして撮影した画像をベース画像とし、合焦位置４５０ｍｍのマスクに重なる領域に対して、ベース画像の画素値を、合焦位置４５０ｍｍとして撮影した画像の画素値に置きかえる。また、合焦位置６００ｍｍのマスクに重なる領域に対しては視差値分をキャンセルした後、合焦位置１０００ｍｍの画素値を、合焦位置を６００ｍｍとして撮影した画像の画素値に置きかえる。以上の処理を行うことでマスク生成から全焦点画像合成までの処理を行う。
【００７９】
マスク生成において、各合焦位置での視差範囲は、ベース画像を撮影するカメラ画像を基準として被写界深度の視差値から範囲を決定し、残りの範囲を片方のカメラ画像から決定する。このようにする理由としては、ベース画像に対して視差のない同カメラで撮影された画像から広い範囲のマスクを作成したほうが、合成処理の際に視差の影響があるカメラ画像の画素値を置き換える量が減り、全体的に合成画像の破綻が少なくなるからである。また、ベース画像を遠景被写体位置側の合焦位置として撮影画像とするのは、近景より遠景のほうが画像を占める割合が多くなる傾向にあるため、最も遠景側にある合焦位置での撮影画像を基にすることで画像合成の際に視差の影響があるカメラ画像の画素値を置き換える量が減り、合成画像の破綻が少なくすることができる。
【００８０】
なお、ステップＳ２０において、第一カメラ３０１と第二カメラ３０２が同被写体面に合焦した（図３においてＤＡ＝ＤＢとなる）場合は、第一カメラ３０１の合焦位置をＤＡとし、撮影画像を全焦点画像として出力すればよい。
【００８１】
また、本実施形態では、カメラの仕様である焦点距離や最短撮影距離ＭＯＤ等を具体的な数値で示したが、これらはここで示した値に限定するものではなく、設計に応じて様々な値をとりうる。
また、ここでは被写体位置検出部３０３により被写体のある位置に限定しているが、必ずしもこの処理を行わなくてもよい。前述のように、これにより撮影する合焦位置を限定する事で撮影回数を最適化できるが、例えば、被写体が広い範囲に分布している事があらかじめわかっている場合や、即座に撮影を開始したい場合などは、近景被写体位置をＭＯＤ，遠景被写体位置をＩＮＦに設定し、全ての範囲で撮影するようにしても良い。
【００８２】
また、本実施形態では、合焦撮影位置と撮影回数をテーブルを参照して決定する構成としたが、テーブルではなく式（４）に示す計算式をパラメータ記憶部３０４に保持しておき、検出した近景被写体位置、遠景被写体位置に応じて都度合焦撮影位置と撮影回数を決めるようにしても実現可能である。また、ぼけの許容度を２画素と設定して説明しているが、この値に限定するものではない。許容度は小さいほど視差の生成が確実となり、生成される全焦点画像も鮮明となるが、許容度を大きくすると合焦位置の間隔が広くなることで少ない撮影回数にする事が可能となる。被写体が動く場合などは、撮影に時間がかかると被写体の動きによるぼけ量が大きくなるため、許容度を大きくして撮影回数を減らす事で、より鮮明な全焦点画像を取得できる場合がある。そのため、状況に応じて適宜変更できるようにしてよい。
【００８３】
また、ここでは統合視差マップ４０３を作成し、マスクを作成して全焦点画像を合成するものとして説明したが、各合焦位置と対応がとれた複数の視差マップを用いて、距離毎に正確な視差が求まっている視差範囲について各合焦位置で撮影した画像から画素を抜き出し、ベース画像に貼り合わせて全焦点画像を合成してもよい。
【００８４】
以上のように、本実施形態によれば、予め近景被写体位置と遠景被写体位置を検出しておくことによって、画像撮影時に被写体が存在しない範囲で撮影しないようにすることができ、少ない撮影回数で全焦点画像を合成することが可能となる。また、合焦位置と被写界深度との関係が格納されたテーブルの情報を参照して撮影合焦位置と撮影回数を決定することで、可能な限り少ない撮影回数で全焦点画像を合成することができる。
【００８５】
なお、本発明は、上述した実施形態によって限定的に解釈されるものではなく、特許請求の範囲に記載した事項の範囲内で、種々の変更が可能であり本発明の技術的範囲に含まれる。
【００８６】
本発明の撮像装置は、デジタルカメラなどの撮像装置に限られず、撮像機能が組み込まれた情報処理装置に適用することができる。例えば、本発明は、第一のカメラおよび第二のカメラを少なくとも備える情報処理装置（例えば、コンピュータ、携帯端末、タブレット端末、スマートフォンなど）にも適用することができる。
【００８７】
また、本発明による撮像装置の各種機能を、ソフトウェアのプログラムコードで実現してもよい。プログラムコードは、その処理時に一時的に記憶媒体に蓄積され、必要に応じてＣＰＵなどの演算装置が読み出し、実行するようにして本発明を実現してもよい。記憶媒体とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるメモリ、ハードディスク等の記憶装置のことをいう。
【００８８】
また、上述した実施形態における撮像装置の一部、または全部をハードウェア構成で実現してもよく、典型的には集積回路であるＬＳＩとして実現してもよい。撮像装置の各機能ブロックは個別にチップ化してもよいし、一部、または全部を集積してチップ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いることも可能である。
【符号の説明】
【００８９】
１００  撮像装置
１０１  第一カメラ
１０２  第二カメラ
１０３  被写体位置検出部
１０４  パラメータ記憶部
１０５  焦点調整部
１０６  位置合わせ部
１０７  視差算出部
１０８  画像合成部
３００  撮像装置
３０１  第一カメラ
３０２  第二カメラ
３０３  被写体位置検出部
３０４  パラメータ記憶部
３０５  焦点調整部
３０６  位置合わせ部
３０７  視差算出部
３０８  視差統合部
３０９  画像合成部
【図１】
2014022806.tif 000003
【図２】
2014022806.tif 000004
【図３】
2014022806.tif 000005
【図４】
2014022806.tif 000006
【図５】
2014022806.tif 000007
【図６】
2014022806.tif 000008
【図７】
2014022806.tif 000009
【図８】
2014022806.tif 000010
【図９】
2014022806.tif 000011
【図１０】
2014022806.tif 000012
【図１１】
2014022806.tif 000013
【図１２】
2014022806.tif 000014
【図１３】
2014022806.tif 000015
【図１４】
2014022806.tif 000016