(57)【特許請求の範囲】
【請求項１】
複数の視点から被写体を撮像して得られた複数の撮像画像を含む撮像画像データを入力する入力手段と、
前記複数の視点以外の視点から前記被写体を撮像した場合に得られる補間画像を含む補間画像データを前記撮像画像データに基づいて生成する画像補間手段と、
前記複数の撮像画像と前記補間画像との重みづけ合成に用いられる、前記複数の撮像画像と前記補間画像との重み係数を、前記重みづけ合成により生成される合成画像において合焦する画像領域である合焦領域を示す合焦状態情報に基づいて、前記合成画像の領域ごとに設定する設定手段と、
前記設定手段により設定された前記重み係数に基づいて前記複数の撮像画像と前記補間画像とを合成することで、合成画像を含む合成画像データを生成する合成手段とを有し、
前記設定手段は、前記合成画像の合焦領域における前記補間画像の重み係数が、前記合成画像の合焦領域以外の領域の少なくとも一部における前記補間画像の重み係数よりも小さくなるように、前記重み係数を設定することを特徴とする画像処理装置。
【請求項２】
前記合焦領域における前記補間画像の重み係数は、ゼロであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記合焦領域と、該合焦領域以外の領域との間に中間領域を設定する中間領域設定手段を更に有し、
前記合成手段は、前記中間領域に対して、合焦領域の補間画像データに対する重み係数と合焦領域以外の領域の補間画像データに対する重み係数との間の重み係数を用いて合成することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記設定手段は、前記重み係数を、前記重み係数が対応する画像が補間画像であるか否かに更に基づいて設定し、前記合成画像の合焦領域における撮像画像の重み係数を、同じ領域における補間画像の重み係数よりも大きくなるように設定することを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記領域は画素であることを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
焦点距離を示す焦点距離情報を入力する焦点距離入力手段と、
前記領域ごとの前記被写体までの距離を取得する取得手段とを更に有し、
前記合焦領域を示す合焦状態情報は、前記焦点距離情報と前記被写体までの距離とに基づいて決定されることを特徴とする請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
前記取得手段は、前記撮像画像データに基づいて被写体までの距離を取得することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
被写界深度を示す被写界深度情報を入力する被写界深度入力手段を更に有し、
前記領域ごとの合焦の状態を示す合焦状態情報は、前記焦点距離情報と前記被写界深度情報と前記被写体までの距離とに基づいて決定されることを特徴とする請求項６又は７に記載の画像処理装置。
【請求項９】
複数の視点から被写体を撮像して得られた複数の撮像画像を含む撮像画像データを入力する入力手段と、
前記複数の視点以外の視点から前記被写体を撮像した場合に得られる補間画像を含む補間画像データを前記撮像画像データに基づいて生成する画像補間手段と、
前記複数の撮像画像と前記補間画像との重みづけ合成により生成される合成画像において合焦する画像領域である合焦領域を示す合焦状態情報に基づいて、前記複数の撮像画像と前記補間画像とを、前記合成画像の画素値が前記複数の撮像画像と前記補間画像とにおいて対応する画素の画素値の加重加算になるように合成する合成手段とを備え、
前記合成手段は、前記加重加算において、前記合成画像の合焦領域における前記補間画像の重み係数が、前記合成画像の合焦領域以外の領域の少なくとも一部における前記補間画像の重み係数よりも小さくなるように、前記重みづけ合成を行うことを特徴とする画像処理装置。
【請求項１０】
画素値が、被写体を複数の視点から撮像して得られた複数の撮像画像と、前記複数の視点以外の視点から前記被写体を撮像した場合に得られる画像であり、前記複数の撮像画像に基づいて生成される補間画像とにおいて対応する画素の画素値の加重加算である合成画像を、画像合成により生成する生成手段と、
前記合成画像において合焦する画像領域である合焦領域を示す合焦状態情報を入力する情報入力手段とを有し、
前記生成手段は、前記合焦状態情報に基づいて、前記合成画像の合焦領域における前記補間画像の重みが、前記合成画像の合焦領域以外の領域の少なくとも一部における前記補間画像の重みよりも小さくなるように、前記画像合成を行うことを特徴とする画像処理装置。
【請求項１１】
コンピュータを請求項１乃至１０のいずれか一項に記載の画像処理装置の各手段として機能させるプログラム。
【請求項１２】
複数の視点から被写体を撮像して得られた複数の撮像画像を含む撮像画像データを入力するステップと、
前記複数の視点以外の視点から前記被写体を撮像した場合に得られる補間画像を含む補間画像データを前記撮像画像データに基づいて生成するステップと、
前記複数の撮像画像と前記補間画像との重みづけ合成に用いられる、前記複数の撮像画像と前記補間画像との重み係数を、前記重みづけ合成により生成される合成画像において合焦する画像領域である合焦領域を示す合焦状態情報に基づいて、前記合成画像の領域ごとに設定するステップ、
前記設定するステップで設定された前記重み係数に基づいて前記複数の撮像画像と前記補間画像とを合成することで、合成画像を含む合成画像データを生成するステップとを有し、
前記設定するステップは、前記合成画像の合焦領域における前記補間画像の重み係数が、前記合成画像の合焦領域以外の領域の少なくとも一部における前記補間画像の重み係数よりも小さくなるように、前記重み係数を設定するステップであることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の視点から撮像した撮像画像に基づいて合成画像を生成する技術に関する。
【背景技術】
【０００２】
従来、撮像画像データに対して画像処理を施すことにより被写界視度の浅い画像を生成する手法が提案されている。特許文献１では、シーンの背景領域をフィルタ処理でぼかすことにより、被写界深度の浅い画像を生成している。特許文献２および非特許文献１では、視点（撮像位置）の異なる複数枚の画像を視点とピントを合わせたい被写体距離に応じて変形し、それらを合成することにより被写界深度の浅い合成画像を生成している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１―１０１９４号
【特許文献２】特願２００８−５４１０５１号
【非特許文献】
【０００４】
【非特許文献１】Ｕｎｃａｌｉｂｒａｔｅｄ  Ｓｙｎｔｈｅｔｉｃ  Ａｐｅｒｔｕｒｅ  ｆｏｒ  Ｄｅｆｏｃｕｓ  Ｃｏｎｔｒｏｌ，  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，  ２００９．  ＣＶＰＲ  ２００９．  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄａｔｅ：２０−２５  Ｊｕｎｅ  ２００９
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では背景を大きくぼかした場合に、被写体と背景の境界にアーティファクトが発生するなどの課題があった。特許文献２では背景を大きくぼかし被写界深度の浅い画像を生成できるものの、被写界深度外のぼけた領域（合焦する領域外のぼけた領域）の画質に課題があった。非特許文献１では、撮像画像間の中間視点画像を推定処理によって生成することで被写界深度外のぼけた領域の画質を向上させているが、一方で被写界深度内の領域（合焦する領域）までぼけてしまうという課題があった。これは、中間視点画像の生成の際に生じる誤差や中間視点画像の合成前の位置合わせの際の誤差等が原因である。
そこで本発明では、複数の視点から撮像した撮像画像データに基づいて合成画像を生成する際に、合焦する領域がぼけてしまうのを抑制し、該合焦する領域外のぼけた領域の画質を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明の画像処理装置は、複数の視点から被写体を撮像して得られた複数の撮像画像を含む撮像画像データを入力する入力手段と、前記複数の視点以外の視点から前記被写体を撮像した場合に得られる補間画像を含む補間画像データを前記撮像画像データに基づいて生成する画像補間手段と、前記複数の撮像画像と前記補間画像との重みづけ合成に用いられる、前記複数の撮像画像と前記補間画像との重み係数を、前記重みづけ合成により生成される合成画像において合焦する画像領域である合焦領域を示す合焦状態情報に基づいて、前記合成画像の領域ごとに設定する設定手段と、前記設定手段により設定された前記重み係数に基づいて前記複数の撮像画像と前記補間画像とを合成することで、合成画像を含む合成画像データを生成する合成手段とを有し、前記設定手段は、前記合成画像の合焦領域における前記補間画像の重み係数が、前記合成画像の合焦領域以外の領域の少なくとも一部における前記補間画像の重み係数よりも小さくなるように、前記重み係数を設定することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、複数の視点から撮像した撮像画像データに基づいて合成画像を生成する際に、合焦する領域がぼけてしまうのを抑制し、該合焦する領域外のぼけた領域の画質を向上させる。
【図面の簡単な説明】
【０００８】
【図１】実施形態１における画像処理装置のシステム構成を示すブロック図。
【図２】実施形態１における撮像装置を表す図。
【図３】実施形態１おける機能構成を表す図。
【図４】実施形態１における処理の流れを示すフローチャート。
【図５】実施形態１における画像補間処理の流れを示すフローチャート。
【図６】実施形態１における撮像位置と仮想視点位置の関係を示す図。
【図７】実施形態１における奥行き推定処理の流れを示すフローチャート。
【図８】実施形態１における撮像位置の間隔と被写体までの距離との関係を示す図。
【図９】実施形態１における領域分割処理の流れを示すフローチャート。
【図１０】実施形態１における領域分割画像の例を示す図。
【図１１】実施形態１における画像合成処理の流れを示すフローチャート。
【図１２】実施形態１における仮想絞りパラメータと重み係数の例を示す図。
【図１３】実施形態１における重み付け加算処理の流れを示すフローチャート。
【図１４】実施形態１における重み係数の例を示す図。
【図１５】実施形態２における領域分割処理の流れを示すフローチャート。
【図１６】実施形態２における領域分割画像の例を示す図。
【図１７】実施形態２における重み付け加算処理の流れを示すフローチャート。
【発明を実施するための形態】
【０００９】
［実施形態１］
本実施形態では、図２に示すような複数のカメラユニット２０１〜２０９からなる撮像装置１０７で撮像した複数のパンフォーカス画像を基に、撮像位置を内挿するように補間画像を生成し、それらを合成することにより被写界深度の浅い合成画像を生成する。この際、画像中のピントを合わせたい領域（合焦する領域）においては、ぼかしたい領域（合焦していない領域）と比べ補間画像の寄与が小さくなるように合成処理を行う。なお、本実施形態においてカメラユニット２０１〜２０９は格子状に等間隔になるよう配置されており、各カメラユニットの上下軸、左右軸、光軸は全て同じ方向（又は略同じ方向）であるとする。また、本実施形態で生成する合成画像は、カメラユニット２０５により撮像された画像の被写界深度を浅くした画像である。
【００１０】
まず、本実施形態における画像処理装置のシステム構成例について、図１を用いて説明する。同図において、ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３及びハードディスクドライブ（ＨＤＤ）１０５に格納されたプログラムを実行し、システムバス１１２を介して後述する各構成を制御する。これにより、後述する様々な処理が実行される。ＨＤＤインタフェイス（Ｉ／Ｆ）１０４は、ＨＤＤ１０５や光ディスクドライブ、などの二次記憶装置を接続する。例えばシリアルＡＴＡ（ＳＡＴＡ）等のインタフェイスである。ＣＰＵ１０１は、ＨＤＤＩ／Ｆ１０４を介して、ＨＤＤ１０５からのデータ読み出し、およびＨＤＤ１０５へのデータ書き込みが可能である。さらにＣＰＵ１０１は、ＨＤＤ１０５に格納されたデータをＲＡＭ１０２に展開し、同様に、ＲＡＭ１０２に展開されたデータをＨＤＤ１０５に保存することが可能である。そしてＣＰＵ１０１は、ＲＡＭ１０２に展開したデータをプログラムとみなし、実行することができる。撮像インタフェイス（Ｉ／Ｆ）１０６は、図２に示すような複数の同一なカメラユニット２０１〜２０９からなる撮像装置１０７などを接続する、例えばＵＳＢやＩＥＥＥ１３９４などのシリアルバスインタフェイスである。ＣＰＵ１０１は、撮像Ｉ／Ｆ１０６を介して撮像装置１０７を制御し、撮像を行うことが可能である。さらに、ＣＰＵ１０１は、撮像Ｉ／Ｆを介して撮像装置１０７から撮像したデータを読み込むことが可能である。入力インタフェイス（Ｉ／Ｆ）１０８は、キーボードやマウスなどの入力デバイス１０９を接続する、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインタフェイスである。ＣＰＵ１０１は、入力Ｉ／Ｆ１０８を介して入力デバイス１０９からデータを読み込むことが可能である。出力インタフェイス（Ｉ／Ｆ）１１０は、画像表示装置等の出力デバイス１１１を接続する。例えばＤＶＩやＨＤＭＩ等の映像出力インタフェイスである。ＣＰＵ１０１は、出力Ｉ／Ｆ１１０を介して出力デバイス１１１にデータを送り、表示を実行させることができる。
【００１１】
次に、本実施形態に係る一連の処理を行う際の機能構成について、図３を用いて説明する。ＣＰＵ１０１の機能部としての撮像データ入力部３０１は、撮像画像データ３０８および撮像装置情報３０９を撮像装置１０７あるいはＲＯＭ１０３、ＨＤＤ１０５等の記憶装置から取得する。撮像画像データ３０８は、撮像装置１０７によって撮像された異なる視点位置（撮像位置）から撮像された複数の画像データを含む。また、撮像装置情報３０９は、撮像画像データを撮像する際の撮像装置１０７の画角や撮像位置を含む。また、ＣＰＵ１０１の機能部としてのパラメータ入力部３０２は、仮想的なピント面までの距離（焦点距離）の情報を含む仮想ピントパラメータ（仮想焦点距離情報）３１０を、入力デバイス１０９あるいはＲＯＭ１０３、ＨＤＤ１０５等の記憶装置から取得する。また、パラメータ入力部３０２は、仮想的な絞り量の情報を含む仮想絞りパラメータ（仮想絞り量情報）３１１を、入力デバイス１０９等から取得する。このように、パラメータ入力部は、仮想的な焦点距離を示す焦点距離情報を入力する焦点距離入力という機能と、仮想的な絞り量を示す絞り量情報を入力する絞り量入力という機能を有している。そして、ＣＰＵ１０１の機能部としての画像補間処理部３０３は、まず撮像画像データ３０８および撮像装置情報３０９に基づき、撮像画像データ３０８の撮像位置を内挿するように仮想視点位置情報３１３を設定する。そして、画像補間処理部３０３は、撮像画像データ３０８を基に各仮想視点位置情報３１３が示す仮想視点位置から撮像した場合に得られる補間画像データ３１２を生成する。ＣＰＵ１０１の機能部としての距離推定処理部３０４は、撮像画像データ３０８および撮像装置情報３０９に基づき、ステレオマッチングにより撮像シーンのデプス値を領域ごとの推定し、デプス画像データ３１４を生成する。デプス画像データ３１４は、各領域ごと（又は各画素ごと）の被写体までの距離情報を有する画像データである。ＣＰＵ１０１の機能部としての領域分割処理部３０５は、仮想ピントパラメータ３１０及びデプス画像データ３１４に基づき、撮像シーンにおけるピントを合わせたい領域、ぼかしたい領域に分割し、領域分割画像データ３１５を生成する。ＣＰＵ１０１の機能部としての画像合成部３０６は、撮像装置情報３０９、仮想視点位置情報３１３、仮想ピントパラメータ３１０、仮想絞りパラメータ３１１、領域分割画像データ３１５を取得する。そして、画像合成部３０６はこれらの情報に基づいて、撮像画像データ３０８と補間画像データ３１２を合成し、合成画像データ３１６を生成する。最後に、ＣＰＵ１０１の機能部としての画像出力部３０７は、合成画像データ３１６を出力デバイス１１１へ出力したり、ＨＤＤ１０５へ保存したりする。
【００１２】
図４は、本実施形態の画像処理装置における一連の処理の動作手順を示すフローチャートである。詳細には、図４のフローチャートに示す手順を記述したコンピュータ実行可能なプログラムをＲＯＭ１０３あるいはＨＤＤ１０５からＲＡＭ１０２上に読み込んだ後に、ＣＰＵ１０１によって該プログラムを実行することによって当該処理が実行される。以下、図４に示す各処理について説明する。
【００１３】
まずステップＳ４０１において、撮像データ入力部３０１は、撮像装置１０７を用いて撮像画像データ３０８を撮像し、撮像画像データ３０８および撮像装置１０７の各カメラユニットの画角や撮像位置を含む撮像装置情報３０９を取得する。あるいは、予めＲＯＭ１０３やＨＤＤ１０５などの記録装置に撮像画像データ３０８および撮像装置１０７の各カメラユニットの画角や撮像位置などの撮像装置情報３０９を保持しておき、これを撮像データ入力部３０１が取得するようにしてもよい。
【００１４】
次にステップＳ４０２において、パラメータ入力部３０２は入力デバイス１０９から仮想ピント距離（焦点距離）を含む仮想ピントパラメータ３１０および画像合成時に使用する各画像の重み係数を含む仮想絞りパラメータ３１１を取得する。あるいは、予めＲＯＭ１０３やＨＤＤ１０５などの記録装置に仮想ピントパラメータ３１０および仮想絞りパラメータ３１１を保持しておき、これをパラメータ入力部３０２が取得するようにしてもよい。
【００１５】
次にステップＳ４０３において、画像補間処理部３０３はＳ４０１で取得した撮像画像データ３０８および撮像装置情報３０９を基に、撮像画像データ３０８の撮像位置を内挿するように撮像位置（視点位置）以外の位置を示す仮想視点位置情報３１３を設定する。そして、撮像画像データ３０８を基に各仮想視点位置情報３１３が示す視点位置以外の視点から得られる補間画像データ３１２を補間処理によって生成する。Ｓ４０３で行う画像補間処理については後に詳述する。
【００１６】
次にステップＳ４０４において、距離推定処理部３０４はＳ４０１で取得した撮像画像データ３０８および撮像装置情報３０９を基に、距離推定処理を用いて撮像したシーンの奥行きを推定しシーンのデプス画像データ３１４を生成する。Ｓ４０４で行う距離推定処理については後に詳述する。
【００１７】
次にステップＳ４０５において、Ｓ４０２で取得した仮想ピントパラメータ３１０およびＳ４０３で取得したデプス画像データ３１４を基に、２領域にシーンを分割し領域分割画像データ３１５を生成する。ここで、２領域とはピントを合わせたい領域（ピント内領域、合焦する領域）とぼかしたい領域（ピント外領域）である。Ｓ４０５で行う領域分割処理については後に詳述する。
【００１８】
次にステップＳ４０６において、撮像装置情報３０９、仮想絞りパラメータ３１１、仮想視点位置情報３１３、領域分割画像データ３１５を基に、撮像画像データ３０８および補間画像データ３１２を合成し、合成画像データ３１６を生成する。Ｓ４０６で行う画像合成処理については後に詳述する。
【００１９】
次にステップＳ４０７において、画像出力部３０７は合成画像データ３１６を出力デバイス１１１に表示したり、ＨＤＤ１０５などの記録装置に記録したりする。
【００２０】
＜画像補間処理＞
ここでは、ステップＳ４０３で行う画像補間処理について説明する。画像補間処理では、撮像画像データ３０８の撮像位置を内挿するように撮像位置（視点位置）以外の位置を示す仮想視点位置情報３１３を設定する。そして、視差補間処理を用いて撮像画像データ３０８を基に各仮想視点位置情報３１３が示す位置（視点以外の位置）に対応する補間画像データ３１２を生成する。以下、図５に示すフローチャートを用い画像補間処理の詳細を説明する。
【００２１】
まずステップＳ５０１において、補間画像データを生成する際の仮想視点位置を示す仮想視点位置情報３１３の設定を行う。撮像位置と仮想視点位置との関係を図６（ａ）に示す。ｘ軸６０１、ｙ軸６０２、ｚ軸６０３はそれぞれ各カメラユニットの水平方向、垂直方向、光軸方向に対応し、カメラユニット２０５の撮像位置を原点として直交しているものとする。仮想視点位置は各撮像位置を内挿するように設定する。本実施形態では、図６に示すように撮像位置を等間隔に内挿するよう格子状に仮想視点位置を配置する。
【００２２】
次にステップＳ５０２において、撮像画像データ３０８の中から撮像位置が横方向に隣接する２画像を順に選択し、視差補間処理を用いて２画像間の仮想視点位置情報３１３が示す仮想視点位置に対応する補間画像データ３１２を生成する。図６（ｂ）にＳ５０２で補間画像データを生成する仮想視点位置を示す。視差補間処理には既存の方法を利用する。例えば、２画像を用いてブロックマッチングを行いて算出した各画素の視差量を基に、仮想視点位置情報３１３が示す仮想視点位置に対応する補間画像データ３１２を生成してもよい。あるいは２画像から抽出した特徴点を対応付け、各特徴点の対応関係を基にモーフィング処理を行うことで仮想視点位置に対応する補間画像データ３１２を生成することもできる。
【００２３】
次にステップＳ５０３において、撮像画像データ３０８およびＳ５０２で生成した補間画像データ３１２の中から撮像位置が縦方向に隣接する画像のペアを順に選択し、視差補間処理を用いて二画像間の仮想視点位置情報３１３に対応する補間画像データを生成する。図６（ｃ）にＳ５０３で補間画像データを生成する仮想視点位置情報３１３を示す。視差補間処理はＳ５０２と同様の手法を適用可能である。
【００２４】
最後にステップＳ５０４においてＳ５０２およびＳ５０３で生成した補間画像データ３１２を出力する。
【００２５】
＜距離推定処理＞
ここでは、ステップＳ４０４で行う距離推定処理について説明する。距離推定処理では、位置の異なる複数の撮像画像データ３０８を基に、撮像したシーンの距離を推定することでデプス画像データ３１４を生成する。例えば、ステレオ法、マルチベースラインステレオ法などの距離推定法が適用可能である。本実施形態では、ステレオ法によって距離推定を行う。以下、図７に示すフローチャートを用い、距離推定処理の詳細を説明する。
【００２６】
まずステップＳ７０１において、撮像画像データ３０８から処理に使用する２画像を選択する。本実施形態では撮像装置１０７の中央のカメラユニット２０５で撮像された画像と、それと横方向に隣接するカメラユニット２０６で撮像された画像を選択するものとする。以下、前者を基準画像、後者を対象画像とする。
【００２７】
次にステップＳ７０２において、以降の処理を行う注目画像を初期化する。
【００２８】
次にステップＳ７０３において、全画素で距離値が求められているかを判定する。全画素で距離値が求められている場合はステップＳ７０７へ進み、距離値の求められていない画素がある場合はステップＳ７０４へ進む。
【００２９】
次にステップＳ７０４では、まず基準画像の注目画素（ｉ，ｊ）とその周囲の画素からなる領域を選択する。そして選択したブロックを用いて対象画像とパターンマッチングを行い、対象画像中から注目画素に対応する画素（対応画素）を求める。
【００３０】
次にステップＳ７０５において、撮像装置情報３０９と注目画素（ｉ，ｊ）とＳ７０４で求めた対応画素を基に注目画素に対応する被写体までの距離値Ｄ（ｉ，ｊ）を求める。距離値Ｄは、図８に示すα、β、ｓを基に以下の式（１）で表される。
【００３１】
【数１】
0005818514.tif 000002
【００３２】
ここで、αはカメラユニット２０５の水平画角、基準画像の撮像位置、注目画素の座標から算出される。βはカメラユニット２０６の水平画角、対象画像の撮像位置、対象画素の座標から算出される。ｓはカメラユニット間の距離であり、基準画像および対象画像の撮像位置より算出される。
【００３３】
次にステップＳ７０６において、注目画素を更新しＳ７０３へ戻る。
【００３４】
最後にステップＳ７０７において、各画素値を基準画像の距離値とするデプス画像データ３１４を出力する。
【００３５】
なお、本実施形態ではステップＳ７０１において、カメラユニット２０５、２０６を選択し距離推定を行ったが、距離推定可能なカメラの組み合わせはこれに限るものではない。例えば、対象画像として他のカメラユニットを選択しても構わない。より正確な距離推定処理のためにはカメラ間の距離ｓが大きければ大きいほどよい。また、本実施形態のデプス画像データ３１４は、各画素ごとの被写体までの距離情報を有する画像データであるとしたが、複数の画素から構成される領域ごとの距離情報を有する画像データであっても良い。
【００３６】
＜領域分割処理＞
ここでは、ステップＳ４０５で行う領域分割処理について説明する。領域分割処理では、Ｓ４０２で取得した仮想ピントパラメータ３１０およびＳ４０５で取得したデプス画像データ３１４を基に、ピントを合わせたい領域とそれ以外の領域にシーンを分割し領域分割画像データ３１５を生成する。以下、図９に示すフローチャートを用い、領域分割処理の詳細を説明する。
【００３７】
まずステップＳ９０１において、ピント内領域の設定を行う。仮想ピントパラメータ３１０より得られる仮想ピント距離をｄ、デプス画像データ３１４の画素値をＤ（ｉ，ｊ）とする。このとき、Ｄ（ｉ，ｊ）＝ｄとなる画素（ｉ，ｊ）の集合をピント内領域とする。
【００３８】
次にステップＳ９０２において、ピント外領域の設定を行う。デプス画像データ３１４においてピント内領域を以外の画素の集合をピント外領域とする。すなわち、ピント内領域は、被写体に合焦する領域に対応している。ピント外領域は、被写体に合焦する領域以外の領域に対応している。
【００３９】
最後にステップＳ９０４において、ピント内領域、ピント外領域にそれぞれ異なるラベル値を割り当てた画像を領域分割画像データ３１５として出力する。この領域分割画像データ３１５は、画素ごとのピント（合焦）の状態を示す合焦状態情報を有する。
【００４０】
以上の処理によって得られる領域分割画像データ３１５の例を図１０に示す。デプス画像データ３１４を距離値ｄ０、ｄ１、ｄ２からなる画像、仮想ピントパラメータ３１０から得られる仮想ピント距離がｄ２とする。この場合では、デプス画像データ３１４において距離値がｄ２となる画素の集合をピント内領域、それ以外の距離値がｄ０、ｄ１となる画素の集合をピント外領域となる。本実施形態の領域分割画像データ３１５は、各画素ごとのピント（合焦）の状態を示す合焦状態情報を有するとしたが、複数の画素から構成される領域ごとのピント（合焦）の状態を示す合焦状態情報を有するとしても良い。
【００４１】
なお、本実施形態ではステップＳ９０１において、デプス画像データ３１４における画素値Ｄ（ｉ，ｊ）が仮想ピント距離ｄと等しい領域をピント内領域としたが、ピント内領域の設定方法はこれに限るものではない。例えば、ｄ−α１≦Ｄ（ｉ，ｊ）  ≦ｄ＋α２を満たす画素Ｄ（ｉ，ｊ）をピント内領域としてもよい。α１、α２の値は合成画像データ３１６における仮想的な被写界深度情報を基に決めてもよい。例えば、合成画像データ３１６の被写界深度が深い場合はα１、α２の値を大きくし、深度が浅い場合はα１、α２の値を小さくするなどしてもかまわない。α１、α２は入力デバイス１０９を介してユーザーが入力しても良いし、ＲＯＭ１０３やＨＤＤ１０５が保持しておき領域分割処理の際にＣＰＵ１０１に入力されても良い。この場合、不図示の被写界深度入力部が、これらの入力を制御する。なお、合成画像データ３１６の仮想的な被写界深度は仮想絞りパラメータ３１１から判断できる。仮想絞りパラメータ３１１の係数をガウス関数に従って決めている場合、ガウス関数を決定する標準偏差の値によって深度が判断できる。このとき、標準偏差が小さいほど深度は深くなり、標準偏差が大きいほど深度は浅くなる。
【００４２】
＜画像合成処理＞
ここでは、ステップＳ４０６で行う画像合成処理について説明する。画像合成処理では、まず仮想絞りパラメータ３１１を基に、各画像に対する重み係数をピント内領域とピント外領域でそれぞれ設定する。そして、撮像装置情報３０９および仮想視点位置情報３１３を基に、各画像をシフトし領域毎に異なる重み係数を用いて重み付け加算を行い、合成画像データ３１６を生成する。以下、図１１に示すフローチャートを用い、画像合成処理の詳細を説明する。
【００４３】
まずステップＳ１１０１において、ステップＳ４０２で取得した仮想絞りパラメータ３１１を基に、画像を合成する際に用いる２つの重み係数を設定する。まず図１２を用いて仮想絞りパラメータとピント内領域およびピント外領域に対応する重み係数について説明する。仮想絞りパラメータ３１１は撮像画像データ３０８および補間画像データ３１２に対する係数のセットである。各撮像位置および仮想視点位置情報３１３をそれぞれＰｍと表し、Ｐｍに対応する撮像画像データ３０８あるいは補間画像データ３１２を画像Ｉｍとする。このとき、Ｉｍに対応する仮想絞りパラメータ３１１の値をＡ（ｍ）、ピント内領域、ピント外領域における重み係数の値をそれぞれＷｉｎ（ｍ），Ｗｏｕｔ（ｍ）とする。本実施形態におけるＰｍとＡ（ｍ）、Ｗｉｎ（ｍ），Ｗｏｕｔ（ｍ）の関係を図１２に示す。ここでＡ（ｍ）はＰ１２を中心としたガウス関数に従い、総和が１になるよう正規化された値を設定している。Ａ（ｍ）をガウス関数に従うように設定することにより、合成時にピント外領域を滑らかにぼかすことができる。また、Ｗｉｎ（ｍ），Ｗｏｕｔ（ｍ）はＡ（ｍ）を基に以下の式（２）（３）を用いて設定される。
【００４４】
【数２】
0005818514.tif 000003
【００４５】
なお、ｋはＡ（ｍ）における撮像画像に対応する係数の和であり、これによりＷｉｎの和が１になるよう正規化を行っている。本実施形態ではピント内領域において補間画像データ３１２が寄与しないよう、対応する重み係数を０としている。また、ピント外領域では、仮想絞りパラメータ３１１の値をそのまま利用する。
【００４６】
次にステップＳ１１０２において、撮像装置情報３０９および仮想視点位置情報３１３を基に各画像のシフト量を算出する。ピント距離をｄとした際の画像Ｉｍの水平方向のシフト量△ｉ（ｍ、ｄ）および垂直方向のシフト量△ｊ（ｍ、ｄ）は以下の式（４）（５）で表される。
【００４７】
【数３】
0005818514.tif 000004
【００４８】
ここで、Ｗ、Ｈはそれぞれ画像の水平方向、垂直方向の画像サイズ、θｗはカメラユニットの水平視野角、θｈはカメラユニットの垂直視野角である。また、（ｓｍ，ｔｍ）はｘｙ平面上におけるＰｍの座標、（ｓ‘，ｔ’）はｘｙ平面上におけるカメラユニット２０５の撮像位置Ｐ１２の座標である。
【００４９】
次にステップＳ１１０３において、ステップＳ１１０２で求めたシフト量、ステップＳ１１０１で求めた重み係数および領域分割画像データ３１５を用いて、撮像画像データ３０８および補間画像データ３１２に対して重み付け加算処理を行う。これにより、合成画像データ３１６を生成する。重み付け加算処理のフローチャートを図１３に示す。まずステップＳ１３０１において、注目画素（ｉ，ｊ）の初期化を行う。次にステップＳ１３０２において、全ての画素について合成処理が行われたかを判定する。未処理の画素がある場合はステップＳ１３０３へ進み、全画素が処理済みなら重み付け加算処理を終了する。ステップＳ１３０３では、領域分割画像データ３１５を参照し注目画素がピント内領域に含まれるか否かを判定する。注目画素がピント内領域に含まれる場合はステップＳ１３０４、ピント外領域に含まれる場合はステップＳ１３０５に進む。ステップＳ１３０４では重み係数Ｗｉｎを用いて重み付け加算を行う。合成画像データ３１６をＨとしたとき、合成処理は以下の式（６）で表される。
【００５０】
【数４】
0005818514.tif 000005
【００５１】
式（６）は、撮像画像データまたは補間画像データＩｍのそれぞれについて設定されている重み係数ＷｉｎをＩｍに乗じ、かつシフト量△ｉ及び△ｊに基づいて画像データＩｍをシフトさせ、それらを足し合わせることで合成画像データを取得することを意味している。
【００５２】
ステップＳ１３０５では重み係数Ｗｏｕｔを用いて重み付け加算を行う。合成画像データ３１６をＨとしたとき、合成処理は以下の式（７）で表される。
【００５３】
【数５】
0005818514.tif 000006
【００５４】
式（７）は撮像画像データまたは補間画像データＩｍのそれぞれについて設定されている重み係数ＷｏｕｔをＩｍに乗じ、かつシフト量△ｉ及び△ｊに基づいて画像データＩｍをシフトさせ、それらを足し合わせることで合成画像データを取得することを意味している。
【００５５】
ステップＳ１３０６では注目画素を更新しステップ１３０２に戻る。
【００５６】
最後にステップＳ１１０４において、生成いた合成画像データ３１６を出力する。
【００５７】
なお、本実施形態ではステップＳ１１０１において、ピント内領域においては補間画像データ３１２が寄与しないように重み係数Ｗｉｎの値をゼロと設定したが、ピント内領域における重み係数Ｗｉｎの設定方法はこれに限るものではない。例えば、補間画像データ３１２の寄与が十分小さくなるよう重み係数をゼロに近い値としてもよい。あるいは、ピント外領域における補間画像データの重み係数の和が、ピント内領域における補間画像データの重み係数の和よりも小さくなるようにピント外領域における重み係数を決定してもよい。具体的な重み係数の例を図１４（ａ）に示す。このように本実施形態では、ピント内領域において補間画像データの寄与を少なくすることにより、ピント内領域（被写界深度内の領域）における合成に起因するぼけを抑制することができる。
【００５８】
以上の通り、本実施例によれば、複数の視点から撮像した撮像画像データに基づいて合成画像を生成する際に、ピント内領域（被写界深度内の領域）がぼけてしまうことを抑制し、かつ、被写界深度外のぼけた領域の画質を向上させることができる。
【００５９】
また、本実施形態では領域分割画像データ３１５はピント内領域とピント外領域を示すラベル値を割り当てた画像データであるとしたが、本実施形態の目的を逸脱しない範囲内でこれに限らない。即ち、ピント内領域における補間画像データに対する重み係数が、ピント外領域の少なくとも一部の領域における重み係数よりも小さければよい。これにより、ピント内領域が合成によりぼけてしまうことを抑制すると同時に、ピント外領域の少なくとも一部の領域においては画質の高いぼけを生成することができる。
【００６０】
＜変形例＞
・本実施形態ではステップＳ４０４の距離推定処理によりデプス画像データ３１４を生成していたが、デプス画像データの生成方法はこれに限るものではない。例えば、シーンの奥行きを外部のセンサを利用して測定し、それを基にデプス画像データを生成してもかまわない。あるいは、新たに撮像装置１０７に測距センサを設け、それを基にデプス画像データを生成してもかまわない。
・本実施形態では、ピント内領域においては、例えば図１２、図１４（ａ）の重み係数Ｗｉｎに基づいて複数の画像データの合成処理を行うとした。しかし、ピント内領域においては合成処理を行わず、例えばＩ１５の画像データのみを利用しても良い。この場合の重み係数Ｗｉｎは図１４（ｂ）のようになる。この場合であっても、ピント外領域においては、例えば、図１２の重み係数Ｗｏｕｔに基づいて合成処理を行うことになる。（重み係数Ｗｏｕｔは図１２にのみ図示されているので図１４は削除しました。また、図１４（ｂ）の例１は、図１４（ａ）の例１と同様のため、添付ファイルＣ４１１０１２＿図面＿追加分．ｐｐｔｘでは削除しました。）
・本実施形態では撮像装置１０７で撮像する画像はパンフォーカス画像としたが、それに限らない。例えば、被写界深度の浅い画像に対して合成処理を行っても良い。
・本実施形態では、ピント内領域において撮像位置Ｐ１２に近い撮像位置の撮像画像ほど重みが大きくなるように重み係数Ｗｉｎを設定した。しかし、撮像位置によらず各撮像画像に対する重みが等しくなるよう重み係数Ｗｉｎを設定してもよい。この場合の重み係数は図１４（ｃ）のようになる。この場合であっても、ピント外領域においては、例えば図１２の重み係数Ｗｏｕｔに基づいて合成処理を行うことになる。こうすることで、他の重み係数よりもピント内領域のＳ／Ｎが向上する。
【００６１】
［実施形態２］
実施形態１ではシーンをピント内領域とピント外領域の２領域に分割した。実施形態２では、これらの境界に中間領域を設定することでシーンを３領域に分割し、ピント内領域とピント外領域の境界を滑らかに接続にする。
【００６２】
実施形態２では実施形態１と比較し、ステップＳ４０５で行う領域分割処理とステップＳ４０６で行う画像合成処理が異なる。以下、領域分割処理および画像合成処理の詳細を説明する。その他、実施形態１と共通する説明は省略する。
【００６３】
＜領域分割処理＞
図１５に示すフローチャートを用い、領域分割処理の詳細を説明する。
【００６４】
まず、ステップＳ１５０１において、ピント内領域の設定を行う。処理はステップＳ９０１と同様の処理を行えばよい。
【００６５】
次にステップＳ１５０２において、中間領域設定を実行する。ステップＳ１５０１で得られたピント内領域を基に、その周辺を中間領域とする。本実施形態では、ピント内領域からの距離がｒ以内となる画素の集合を中間領域とする。
【００６６】
次にステップＳ１５０３において、ピント外領域の設定を行う。デプス画像データ３１４から、ピント内領域および中間領域を除いた画素の集合をピント外領域とする。
【００６７】
最後にステップＳ１５０４において、ピント内領域、ピント外領域、中間領域にそれぞれ異なるラベルを割り当てた画像を分割画像３１５として出力する。
【００６８】
以上の処理によって得られる領域分割画像データ３１５の例を図１６に示す。デプス画像データ３１４を距離値ｄ０、ｄ１、ｄ２からなる画像、仮想ピントパラメータ３１０から得られる仮想ピント距離がｄ２とする。この場合では、デプス画像データ３１４において距離値がｄ２となる画素の集合をピント内領域、ピント内領域からの距離がｒ以内である画素の集合を中間領域、それ以外の画素の集合がピント外領域となる。
【００６９】
また、本実施形態ではステップＳ１５０２において、中間領域をピント内領域からの距離がｒ以内の画素と集合としたが、中間領域の設定方法はこれに限るものではない。例えば、ｒの値常に固定するのではなく、ピント内領域周辺の距離値を基にデプス画像データ３１４に応じて動的に決めてもよい。例えば、ピント内領域周辺の距離値の変化が小さい場合はｒを大きくし、変化が大きい場合はｒを小さくするなどしてもかまわない。あるいは、合成画像データ３１６における仮想的な被写界深度を基にｒの値を決めてもよい。例えば、合成画像データ３１６の深度が深い場合はｒを大きくし、深度が浅い場合はｒを小さくするなどしてもかまわない。なお、合成画像データ３１６の深度は仮想絞りパラメータ３１１から判断できる。仮想絞りパラメータ３１１の係数をガウス関数に従って決めている場合、ガウス関数を決定する標準偏差の値によって深度が判断できる。このとき、標準偏差が小さいほど深度は深くなり、標準偏差が大きいほど深度は浅くなる。
【００７０】
＜画像合成処理＞
ここでは、ステップＳ４０６で行う画像合成処理について説明する。実施形態１とは、ステップＳ１１０３で行う重み付け加算処理のみが異なる。以下、本実施形態における重み付け加算処理について説明する。
【００７１】
図１７に示すフローチャートを用い、重み付け加算処理の詳細を説明する。
【００７２】
まずステップＳ１７０１において、注目画素（ｉ，ｊ）の初期化を行う。次にステップＳ１７０２において、全ての画素について合成処理が行われたかを判定する。未処理の画素がある場合はステップＳ１７０３へ進み、全画素が処理済みなら重み付け加算処理を終了する。ステップＳ１７０３では、領域分割画像データ３１５を参照し注目画素がピント内領域、ピント外領域、中間領域の内どの領域に含まれるか判定する。注目画素がピント内領域に含まれる場合はステップＳ１７０４、ピント外領域に含まれる場合はステップＳ１７０５、中間領域に含まれる場合はステップＳ１７０６に進む。ステップＳ１７０４では重み係数Ｗｉｎを用いて重み付け加算を行う。合成画像データ３１６をＨとしたとき、合成処理は以下の式（８）で表される。
【００７３】
【数６】
0005818514.tif 000007
【００７４】
式（８）は、撮像画像データまたは補間画像データＩｍのそれぞれについて設定されている重み係数ＷｉｎをＩｍに乗じ、かつシフト量△ｉ及び△ｊに基づいて画像データＩｍをシフトさせ、それらを足し合わせることで合成画像データを取得することを意味している。
【００７５】
ステップＳ１７０５では重み係数Ｗｏｕｔを用いて重み付け加算を行う。合成画像データ３１６をＨとしたとき、合成処理は以下の式（９）で表される。
【００７６】
【数７】
0005818514.tif 000008
【００７７】
式（９）は撮像画像データまたは補間画像データＩｍのそれぞれについて設定されている重み係数ＷｏｕｔをＩｍに乗じ、かつシフト量△ｉ及び△ｊに基づいて画像データＩｍをシフトさせ、それらを足し合わせることで合成画像データを取得することを意味している。
【００７８】
ステップＳ１７０６では重み係数ＷｉｎおよびＷｏｕｔを基に重み係数Ｗｍｉｄを生成し、Ｗｍｉｄを用いて重み付け加算を行う。Ｗｍｉｄは以下（１０）の式のように補間処理によって算出する。
【００７９】
【数８】
0005818514.tif 000009
【００８０】
ここで、αは中間領域の範囲を決める距離ｒと、ピント内領域から注目画素までの距離によって定まる０以上１以下の係数である。αの値は注目画素がピント内画素に近いほど１に近づき、ピント外領域に近づくほど０に近い値となる。合成画像データ３１６をＨとしたとき、合成処理はｗｍｉｄを用いて以下の式（１１）で表される。
【００８１】
【数９】
0005818514.tif 000010
【００８２】
式（１１）は撮像画像データまたは補間画像データＩｍのそれぞれについて設定されている重み係数ＷｍｉｄをＩｍに乗じ、かつシフト量△ｉ及び△ｊに基づいて画像データＩｍをシフトさせそれらを足し合わせることで合成画像データを取得することを意味している。
【００８３】
ステップＳ１７０７では注目画素を更新しステップ１７０２に戻る。
【００８４】
以上説明した処理を行うことで、複数の画像からより被写界深度の浅い画像を生成する際に、被写界深度内の領域と被写界深度外の領域との境界を滑らかに接続しつつ、被写界深度内の領域をぼかさずに被写界深度外の領域をきれいにぼかすことができる。
【００８５】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005818514.tif 000011
【図２】
0005818514.tif 000012
【図３】
0005818514.tif 000013
【図４】
0005818514.tif 000014
【図５】
0005818514.tif 000015
【図６】
0005818514.tif 000016
【図７】
0005818514.tif 000017
【図８】
0005818514.tif 000018
【図９】
0005818514.tif 000019
【図１０】
0005818514.tif 000020
【図１１】
0005818514.tif 000021
【図１２】
0005818514.tif 000022
【図１３】
0005818514.tif 000023
【図１４】
0005818514.tif 000024
【図１５】
0005818514.tif 000025
【図１６】
0005818514.tif 000026
【図１７】
0005818514.tif 000027