(57)【特許請求の範囲】
【請求項１】
同一の被写体を複数の異なる視点から見た場合の複数の画像を取得する画像取得手段と、
前記画像取得手段が取得した画像の各画素における被写体の距離情報を示す距離マップを取得する距離取得手段と、
前記画像取得手段が取得した画像のうちの基準画像上での仮想的なピント位置の座標を示すパラメータを入力する入力手段と、
前記距離マップと前記パラメータとに基づいて、前記画像取得手段が取得した画像において前記被写体と等距離にあり前記被写体を包含する領域を注目領域として決定する決定手段と、
前記画像取得手段が取得した画像において前記注目領域内のみをリフォーカスした画像を表示画像として生成する生成手段とを有することを特徴とする画像処理装置。
【請求項２】
前記生成手段は、前記注目領域を枠で囲んだ画像を前記表示画像として生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像取得手段が取得した画像が示すシーンは、前記複数の画像のうちの少なくとも１枚が示すシーンであることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記距離取得手段は、前記複数の画像を用いて、前記複数の画像のうちの少なくとも１枚について距離マップを推定することで、前記距離マップを取得することを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記注目領域について、前記複数の画像に対応する視点とは異なる視点に対応する第一の補間画像を生成する補間手段を更に有し、
前記生成手段は、前記複数の画像と前記第一の補間画像とを用いて、前記注目領域にリフォーカス処理を施すことを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
前記複数の画像が前記注目領域に対応する画像領域を含むかどうかを判定する判定手段を更に有し、
前記補間手段は、前記判定手段により、前記注目領域に対応する画像領域を含むとして判定された画像に対応する視点の間の視点について、前記第一の補間画像を生成することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記表示画像に対して入力されたユーザ指示に基づいて、
前記補間手段は、前記注目領域以外の領域について、前記複数の画像に対応する視点とは異なる視点に対応する第二の補間画像を生成し、
前記生成手段は、前記複数の画像と前記第二の補間画像とを用いて、前記注目領域以外の領域にリフォーカス処理を施した画像を更に生成することを特徴とする請求項５又は６に記載の画像処理装置。
【請求項８】
同一の被写体を複数の異なる視点から見た場合の複数の画像を取得する画像取得工程と、
前記画像取得工程で取得した画像の各画素における被写体の距離情報を示す距離マップを取得する距離取得工程と、
前記画像取得工程で取得した画像のうちの基準画像上での仮想的なピント位置の座標を示すパラメータを入力する入力工程と、
前記距離マップと前記パラメータとに基づいて、前記画像取得工程で取得した画像において前記被写体と等距離にあり前記被写体を包含する領域を注目領域として決定する決定工程と、
前記画像取得工程で取得した画像において前記注目領域内のみをリフォーカスした画像を表示画像として生成する生成工程とを有することを特徴とする画像処理方法。
【請求項９】
コンピュータを請求項１乃至７のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理方法及びプログラムに関し、特に、多視点撮影した複数枚の画像を合成しリフォーカス画像を生成するために用いて好適な技術に関する。
【背景技術】
【０００２】
従来、複数の視点から撮影された画像から、画像位置合わせ及び画像合成処理により、仮想フォーカス距離にリフォーカス処理を行う方法が知られている（例えば、特許文献１及び非特許文献１参照）。特許文献１及び非特許文献１では、撮影位置の異なる複数枚の画像を合成し、各画像の撮影位置とピントを合わせたい被写体距離に応じて、各画像をシフトあるいは変形して合成することによりリフォーカス画像を生成している。また、リフォーカス処理の高速化技術としては、データ転送回数を減らすことによってＰｌｅｎｏｐｔｉｃ  Ｃａｍｅｒａにおけるリフォーカス処理の高速化を図る技術が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２２７９６号公報
【特許文献２】特開２０１０−１８３３１６号公報
【非特許文献】
【０００４】
【非特許文献１】楠本夏未他、"未較正合成開口撮影法によるデフォーカスコントロール"、MIRU2008画像の認識・理解シンポジウム論文集、日本、2008年、1057-1062頁
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１や非特許文献１の方法では、リフォーカス画像を生成するために中間視点画像を推定処理によって生成する必要があり、この生成に膨大な計算コストがかかるという課題がある。さらに、ぼけの大きさを大きくすればするほど、きれいなぼけを再現するためにはより多くの中間視点画像が必要となってしまう。一方、特許文献２は、Ｐｌｅｎｏｐｔｉｃ  Ｃａｍｅｒａに限定された高速化技術であり、これ以外の構成のカメラにおけるリフォーカス処理には向かない。
【０００６】
本発明は前述の問題点に鑑み、注目領域を設定して、注目領域のみのリフォーカス処理を行うことで処理を高速化できるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は、同一の被写体を複数の異なる視点から見た場合の複数の画像を取得する画像取得手段と、前記画像取得手段が取得した画像の各画素における被写体の距離情報を示す距離マップを取得する距離取得手段と、前記画像取得手段が取得した画像のうちの基準画像上での仮想的なピント位置の座標を示すパラメータを入力する入力手段と、前記距離マップと前記パラメータとに基づいて、前記画像取得手段が取得した画像において前記被写体と等距離にあり前記被写体を包含する領域を注目領域として決定する決定手段と、前記画像取得手段が取得した画像において前記注目領域内のみをリフォーカスした画像を表示画像として生成する生成手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、処理の高速化によりリフォーカス処理におけるユーザビリティを向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態における画像処理装置のシステム構成を示すブロック図である。
【図２】実施形態における撮像装置を示す図である。
【図３】実施形態における撮像画像を示す図である。
【図４】実施形態における概要機能構成を示す図である。
【図５】注目領域決定処理部の処理概要を示す図である。
【図６】実施形態における撮像位置と仮想視点位置との関係を示す図である。
【図７】実施形態における重み係数の例を示す図である。
【図８】実施形態における撮影位置の間隔と被写体までの距離との関係を示す図である。
【図９】実施形態における処理の流れを示すフローチャートである。
【図１０】実施形態における距離推定処理の流れを示すフローチャートである。
【図１１】実施形態における注目領域決定処理の流れを示すフローチャートである。
【図１２】実施形態における画像補間処理の流れを示すフローチャートである。
【図１３】実施形態における画像合成処理の流れを示すフローチャートである。
【図１４】実施形態における注目領域の例を示す図である。
【図１５】実施形態における注目領域決定処理の流れを示すフローチャートである。
【図１６】実施形態における画像処理装置のＧＵＩを示す図である。
【図１７】実施形態における注目領域のリフォーカス結果表示例を示す図である。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
本実施形態では、複数のカメラユニットを備えた多眼方式の撮像装置から得られた複数枚の撮像画像から、画像処理によって任意の仮想フォーカス距離にピントを合わせた画像を生成するリフォーカス処理を行う。この際に、ピントを合わせたい領域に対して、リフォーカス処理を優先的に行う。
【００１１】
まず、本実施形態における画像処理装置のシステム構成例について、図１を用いて説明する。
図１において、ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３及びハードディスクドライブ（ＨＤＤ）１０５に格納されたプログラムを実行し、システムバス１１２を介して後述する各構成を制御する。これにより、後述する様々な処理が実行される。ＨＤＤインターフェース（Ｉ／Ｆ）１０４は、ＨＤＤ１０５や光ディスクドライブなどの二次記憶装置を接続する、例えばシリアルＡＴＡ（ＳＡＴＡ）等のインターフェースである。
【００１２】
ＣＰＵ１０１は、ＨＤＤＩ／Ｆ１０４を介して、ＨＤＤ１０５からのデータ読み出し、およびＨＤＤ１０５へのデータ書き込みが可能である。さらにＣＰＵ１０１は、ＨＤＤ１０５に格納されたデータをＲＡＭ１０２に展開し、同様に、ＲＡＭ１０２に展開されたデータをＨＤＤ１０５に保存することが可能である。そしてＣＰＵ１０１は、ＲＡＭ１０２に展開したデータをプログラムとみなし、実行することができる。
【００１３】
入力インターフェース（Ｉ／Ｆ）１０６は、キーボードやマウスなどの入力デバイス１０７を接続する、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインターフェースである。ＣＰＵ１０１は、入力Ｉ／Ｆ１０６を介して入力デバイス１０７からデータを読み込むことが可能である。出力インターフェース（Ｉ／Ｆ）１０８は、モニタやプロジェクタなどの出力デバイス１０９を接続する、例えばＤＶＩやＨＤＭＩ等である。ＣＰＵ１０１は、出力Ｉ／Ｆ１０８を介して出力デバイス１０９にデータを送り、表示を実行させることができる。
【００１４】
撮像インターフェース（Ｉ／Ｆ）１１０は、デジタルカメラなどの撮像装置１１１を接続する、例えばＵＳＢやＩＥＥＥ１３９４などのシリアルバスインターフェースである。ＣＰＵ１０１は、撮像Ｉ／Ｆ１１０を介して撮像装置１１１を制御し、撮像を行うことが可能である。さらにＣＰＵ１０１は、撮像Ｉ／Ｆ１１０を介して撮像装置１１１から撮像したデータを読み込むことが可能である。
【００１５】
図２は、本実施形態における撮像装置１１１の外観構成を示した図である。この撮像装置１１１は、撮像画像を取得する９個のカメラユニット２０１〜２０９を備えた多眼方式の装置である。９個のカメラユニット２０１〜２０９は、正方格子上に均等に配置されている。また、各カメラユニットの上下軸、左右軸、光軸は全て同じ方向であるとする。このカメラユニット２０１〜２０９が、被写体の光情報をセンサ（撮像素子）で受光し、受光した信号がＡ／Ｄ変換されて、複数の撮像画像（デジタルデータ）が同時に取得される。このような多眼方式の撮像装置により、同一の被写体を複数の視点位置から撮像した撮像画像群を得ることができる。
【００１６】
なお、本実施形態ではカメラユニットの数を９個としたが、これに限定されるものではない。撮像装置が複数のカメラユニットを有する限りにおいて本発明は適用可能である。また、ここでは９個のカメラユニットが正方格子上に均等に配置される例について説明したが、カメラユニットの配置はこれに限るものではない。
【００１７】
図３は、本実施形態における撮像画像を示した図である。ここでは、２つの被写体を撮像した例を示している。３０１〜３０９は、それぞれカメラユニット２０１〜２０９で撮像された撮像画像である。カメラユニット間には視差があるため、撮像画像中の被写体の位置がカメラユニットごとに異なる。そのため、この例では、撮像画像３０４、３０５、３０７、３０８には、被写体が２つ写っているが、それ以外の撮像画像には被写体は１つしか写っていない。本実施形態では、中央のカメラユニット２０５で撮像された撮像画像３０５を、以後、基準画像と呼ぶことにする。
【００１８】
次に、本実施形態に係る一連の処理を行う際の概要機能構成について、図４を用いて説明する。ＣＰＵ１０１の機能部としての撮像データ入力部４０１は、撮像装置１１１によって異なる位置から撮影された複数の撮像画像３０１〜３０９を撮像装置１１１あるいはＲＯＭ１０３、ＨＤＤ１０５等の記憶装置から取得する。さらに、撮像装置１１１の画角や撮像位置を含む撮像装置情報４０３を撮像装置１１１あるいはＲＯＭ１０３、ＨＤＤ１０５等の記憶装置から取得する。
【００１９】
ＣＰＵ１０１の機能部としてのパラメータ入力部４０４は、仮想ピントパラメータ４０５および仮想絞りパラメータ４０６を入力デバイス１０７あるいはＲＯＭ１０３、ＨＤＤ１０５等の記憶装置から取得する。ＣＰＵ１０１の機能部としての距離推定処理部４０７は、撮像画像３０１〜３０９および撮像装置情報４０３に基づき、ステレオマッチングにより撮像シーンのデプス値を推定し、デプスマップ４０８を生成する。
【００２０】
ＣＰＵ１０１の機能部としての注目領域決定処理部４０９は、撮像画像３０１〜３０９、撮像装置情報４０３、デプスマップ４０８、仮想ピントパラメータ４０５に基づき、各カメラユニットにおける注目領域情報４１０を生成する。ＣＰＵ１０１の機能部としての画像補間処理部４１１は、まず、撮像装置情報４０３に基づき、撮像画像３０１〜３０９の撮像位置を内挿するように仮想視点位置４１３を設定する。そして、撮像画像３０１〜３０９を基に、各仮想視点位置４１３から撮像される画像を補間処理により求めることで補間画像４１２を生成する。
【００２１】
ＣＰＵ１０１の機能部としての画像合成処理部４１４は、撮像装置情報４０３、仮想視点位置４１３、仮想ピントパラメータ４０５、仮想絞りパラメータ４０６に基づいて画像合成処理を行い、リフォーカス画像４１５を生成する。ＣＰＵ１０１の機能部としての画像出力部４１６は、リフォーカス画像４１５を出力デバイス１０９やＨＤＤ１０５等の二次記憶装置へ出力する。
【００２２】
図１６は、本実施形態における画像処理装置のＧＵＩを示す図である。本ＧＵＩは、画像表示領域１６０２と、ツールパレット１６０１から構成される。画像表示領域１６０２は、撮像画像やリフォーカス画像等を表示するための領域である。一方、ツールパレット１６０１は、ぼかし量調整スライダー１６０３、注目領域のサイズを入力するための注目領域サイズエディットボックス１６０６、及び画像全体のリフォーカス処理を実行するためのリフォーカス実行ボタン１６０５を備える。仮想ピントパラメータ４０５の入力を行う際に、ユーザは、マウスカーソル１６０４を動かし、画像表示領域１６０２上のピントを合わせたい位置にてマウスクリック動作を行う。マウスクリック動作が行われると、パラメータ入力部４０４は、画像表示領域１６０２に表示されている画像の左上を原点とするクリック座標値を仮想ピントパラメータ４０５として取得する。
【００２３】
図９は、本実施形態の画像処理装置における一連の処理の動作手順の一例を示すフローチャートである。詳細には、図９のフローチャートに示す手順を記述したコンピュータ実行可能なプログラムを、ＲＯＭ１０３あるいはＨＤＤ１０５からＲＡＭ１０２上に読み込んだ後に、ＣＰＵ１０１によって該プログラムを実行することによって当該処理が実施される。以下、図９に示す各処理について説明する。
【００２４】
ステップＳ９０１では、撮像データ入力部４０１は、撮像装置１１１を用いて撮像画像３０１〜３０９を撮像し、撮像画像３０１〜３０９および撮像装置１１１の各カメラユニットの画角や撮像位置を含む撮像装置情報４０３を取得する。あるいは、予めＲＯＭ１０３やＨＤＤ１０５などの記録装置に撮像画像３０１〜３０９及び撮像装置１１１の各カメラユニットの画角や撮像位置などの撮像装置情報４０３を保持しておき、これを撮像データ入力部４０１が取得するようにしてもよい。この際、図１６に示したＧＵＩ上では、画像表示領域１６０２に中央のカメラユニット２０５で撮像された画像が表示される。
【００２５】
ステップＳ９０２では、距離推定処理部４０７は、ステップＳ９０１で取得した撮像画像３０１〜３０９及び撮像装置情報４０３を基に、距離推定処理を用いて撮像したシーンの奥行きを推定しシーンのデプスマップ４０８を生成する。距離推定処理の詳細は後述する。
【００２６】
ステップＳ９０３では、パラメータ入力部４０４は、入力デバイス１０７から基準画像における仮想ピント位置を示す座標を含む仮想ピントパラメータ４０５、画像合成時に使用する各画像の重み係数を含む仮想絞りパラメータ４０６を取得する。仮想ピント位置を示す座標は、図１６に示したＧＵＩ上で、ユーザが画像表示領域１６０２上のピントを合わせたい位置にてマウスクリック動作を行うことによって取得される。また、仮想絞りパラメータ４０６は、図１６に示したＧＵＩ上で、ユーザがぼかし量調整スライダー１６０３を調整した結果として取得される。この仮想絞りパラメータ４０６は、撮影位置および仮想視点位置４１３において得られる画像に対する係数のセットである。つまり、ぼかし量調整スライダーを調整するとは、この係数セットを変更することに相当する。係数セットの詳細は画像合成処理の説明の中で記述する。
【００２７】
ステップＳ９０４では、注目領域決定処理部４０９は、撮像画像３０１〜３０９、撮像装置情報４０３、デプスマップ４０８、仮想ピントパラメータ４０５に基づき、注目領域決定処理により注目領域情報４１０とカメラリスト４１７を生成する。注目領域決定処理の詳細は後述する。
【００２８】
ステップＳ９０５では、画像補間処理部４１１は、撮像画像３０１〜３０９、撮像装置情報４０３、注目領域情報４１０、及びカメラリスト４１７に基づき画像補間処理を行い、補間画像４１２を生成する。ここで、補間処理は、注目領域内のみを処理対象とし、補間画像４１２は、撮像画像中の注目領域のみを補間した画像となる。注目領域外は、以後の処理に使用しないためどのような画像となっていても構わない。例えば、白や黒で塗りつぶされていてもよい。画像補間処理の詳細については後述する。
【００２９】
ステップＳ９０６では、画像合成処理部４１４は、注目領域情報４１０、ステップＳ９０５で生成した補間画像４１２、仮想ピントパラメータ４０５、及び仮想絞りパラメータ４０６に基づき画像合成処理を行い、リフォーカス画像４１５を生成する。この処理では、注目領域のみを処理対象とし、生成されるリフォーカス画像４１５は、注目領域のみがリフォーカス処理された画像となる。注目領域外については、例えば中央のカメラユニット２０５で撮像された画像とする。画像合成処理の詳細については後述する。
【００３０】
ステップＳ９０７では、画像出力部３１７は、ステップＳ９０６で生成された注目領域のみがリフォーカス処理されたリフォーカス画像４１５を出力デバイス１０９やＨＤＤ１０５を含む二次記録装置に出力する。この際、図１６に示したＧＵＩ上では、画像表示領域１６０２にリフォーカス画像４１５が表示されることになる。
【００３１】
注目領域のリフォーカス画像４１５の表示例を図１７に２つ示す。図１７（ａ）では、ステップＳ９０６で生成されたリフォーカス画像が画像表示領域１６０２に内接するように表示されている。さらに、設定された注目領域を示す注目領域枠１７０１が画像表示領域１６０２上に表示されている。一方、図１７（ｂ）では、ステップＳ９０６で生成されたリフォーカス画像のうち、注目領域内のみを画像表示領域１６０２に内接するように拡大表示している。ここでは、リフォーカス画像の表示例を２つ説明したが、これ以外の表示方法をとっても構わないことは言うまでもない。
【００３２】
ステップＳ９０８では、ピント位置が確定されたかどうかを判定する。具体的には、図１６に示すＧＵＩ上で、ユーザによりリフォーカス実行ボタン１６０５が押されたかどうかで判定を行う。リフォーカス実行ボタン１６０５が押された場合は、ピント位置が確定されたものとしてステップＳ９０９へ進み、押されていない場合は、ピント位置が確定されていないものとして、ステップＳ９０３へと戻り、別の仮想ピントパラメータ４０５の取得を行う。
ステップＳ９０９では、画像補間処理部４１１は、前のステップで取得した撮像画像３０１〜３０９及び撮像装置情報４０３に基づき画像補間処理を行い、補間画像４１２を生成する。ステップＳ９０５における画像補間処理との差分は、処理対象領域が画像全体となり、結果として得られる補間画像も画像全体を補間した画像となっていることである。その他の処理内容はステップＳ９０５と同様である。
【００３３】
ステップＳ９１０では、画像合成処理部４１４は、撮像画像３０１〜３０９、ステップＳ９０８で生成した補間画像４１２、仮想ピントパラメータ４０５、及び仮想絞りパラメータ４０６に基づき画像合成処理を行い、リフォーカス画像４１５を生成する。ここで生成されるリフォーカス画像４１５は、画像全体のリフォーカス画像となる。ステップＳ９０６における画像合成処理との差分は、処理対象領域が画像全体となり、生成されるリフォーカス画像が画像全体に対して画像合成処理を行った画像となることである。その他の処理内容はステップＳ９０６と同様である。
【００３４】
ステップＳ９１１では、画像出力部３１７は、ステップＳ９１０で生成されたリフォーカス画像３１６を出力デバイス１０９やＨＤＤ１０５を含む二次記録装置に出力する。この際、図１６に示したＧＵＩ上では、画像表示領域１６０２に画像全体に対してリフォーカス処理を行った結果としてのリフォーカス画像４１５が表示されることになる。
【００３５】
＜距離推定処理＞
ここでは、図９に示すフローチャートのステップＳ９０２で行う距離推定処理の詳細について説明する。距離推定処理では、位置の異なる複数の撮像画像３０１〜３０９を基に、撮像したシーンの距離を推定することでデプスマップ４０８を生成する。この距離推定方法には公知の方法を用いればよい。例えば、ステレオ法、マルチベースラインステレオ法などが適用可能である。本実施形態では、ステレオ法によって距離推定を行う。以下、図１０に示すフローチャートを用い、距離推定処理の詳細を説明する。
【００３６】
ステップＳ１００１では、撮像画像３０１〜３０９から処理に使用する２つの画像を選択する。本実施形態では、撮像装置１１１の中央のカメラユニット２０５で撮像された画像と、それと横方向に隣接するカメラユニット２０６で撮像された画像を選択するものとする。以下、前者を基準画像、後者を対象画像とする。
【００３７】
ステップＳ１００２では、以降の処理を行う注目画素を初期化する。そして、ステップＳ１００３では、全画素で距離値が求められているかを判定する。全画素で距離値が求められている場合はステップＳ１００７へ進み、距離値の求められていない画素がある場合はステップＳ１００４へ進む。
【００３８】
ステップＳ１００４では、まず基準画像の注目画素とその周囲の画素からなる領域を選択する。そして選択したブロックを用いて対象画像とパターンマッチングを行い、対象画像中から注目画素に対応する画素（対応画素）を求める。そして、ステップＳ１００５では、撮像装置情報４０３、注目画素およびＳ１００５で求めた対応画素を基に注目画素に対応する距離値ｐを求める。距離値ｐは、図８に示すα、β、ｓを基に以下の式（１）で表される。
【００３９】
【数１】
0005832211.tif 000002
【００４０】
ここで、αはカメラユニット２０５の水平画角、基準画像の撮像位置、注目画素の座標から算出される。βはカメラユニット２０６の水平画角、対象画像の撮像位置、対象画素の座標から算出される。ｓはカメラユニット間の距離であり、基準画像および対象画像の撮像位置より算出される。
【００４１】
ステップＳ１００６では、注目画素を更新しＳ１００３へ戻る。ステップＳ１００７では、各画素値を基準画像の距離値とするデプスマップ４０８を出力する。なお、本実施形態ではステップＳ１００１において、カメラユニット２０５、２０６を選択して距離推定を行ったが、距離推定可能なカメラユニットの組み合わせはこれに限るものではない。
【００４２】
＜注目領域決定処理＞
ここでは、図９に示すフローチャートのステップＳ９０４で行う注目領域決定処理の詳細について説明する。注目領域決定処理では、仮想ピントパラメータ４０５と撮像装置情報４０３とに基づき、各カメラユニットで撮像された撮像画像３０１〜３０９のそれぞれに対して注目領域の設定処理を行う。そして、注目領域情報４１０と、注目領域情報４１０の生成に使用したカメラＩＤを記述したカメラリスト４１７とを生成する。以下、図１１に示すフローチャートと図５に示す注目領域決定処理部の処理概要を用い、注目領域決定処理の詳細を説明する。
【００４３】
ステップＳ１１０１では、処理対象カメラユニットを中央のカメラユニット２０５に設定する。ステップＳ１１０２では、ステップＳ９０３で入力された仮想ピントパラメータ４０５と、ステップＳ９０２で生成されたデプスマップ４０８からピントを合わせたい被写体の距離情報を取得する。ここで、仮想ピントパラメータとは、図５に示すように基準画像上での仮想ピント位置のＸＹ座標である。ここでは、画像の左上を原点として、基準画像上での仮想ピント位置の座標を（Ｘf，Ｙf）とする。距離情報は、デプスマップ上でこの仮想ピント位置の座標を参照することによって取得することができる。
【００４４】
ステップＳ１１０３では、図１６に示したＧＵＩ上で、注目領域サイズエディットボックス１６０６に入力された値を、パラメータ入力部４０４が取得する。図５では、注目領域のサイズとしてｒ画素が指定された場合を示している。この場合、注目領域の幅及び高さがそれぞれｒ画素となる。なお、幅及び高さを別々に設定できるようにしてもよい。ここで設定された注目領域は、仮想ピントパラメータ４０５である仮想ピント位置の座標（Ｘf，Ｙf）を中心として、幅と高さがそれぞれｒ画素の正方領域となっている。次に、この注目領域の左上の座標（Ｘ１，Ｙ１）と右下の座標（Ｘ２，Ｙ２）とをそれぞれ求める。この２つの座標情報を中央カメラユニットの注目領域情報とする。なお、このステップでは、注目領域のサイズをＧＵＩ上で指定された値から取得すると説明したが、これに限らず、例えばあらかじめ定められたサイズを使用してもよい。
【００４５】
ステップＳ１１０４では、処理対象カメラユニットを、まだ注目領域決定処理の行われていないカメラユニットへと更新する。ステップＳ１１０５では、ステップＳ９０１で入力された撮像画像３０１〜３０９及び撮像装置情報４０３から、処理対象カメラユニットによって撮像された撮像画像と処理対象カメラユニットの撮像装置情報を取得する。
【００４６】
ステップＳ１１０６では、前のステップで取得した処理対象カメラユニットの撮像画像における仮想ピント位置の座標値を算出する。これには、距離推定処理で説明した距離値ｐを算出する式（１）を利用すればよい。このとき、距離値ｐはステップＳ１１０２で取得したピントを合わせたい被写体までの距離とする。ｓはカメラユニット間の距離であり、中央のカメラユニット２０５および処理対象カメラユニットの撮像位置より算出できる。また、αはカメラユニット２０５の水平画角、撮像位置、仮想ピント位置の座標（Ｘf，Ｙf）から算出できる。
【００４７】
これらの値を式（１）に代入することで、処理対象カメラユニットとピントを合わせたい被写体との角度βを求めることができる。ここで求まったβと、処理対象カメラユニットの水平画角を含む撮像装置情報とから、処理対象カメラユニットの撮像画像における仮想ピント位置のＸ方向の座標値を算出することができる。また、水平画角を垂直画角と置き換えることによって同様の方法でＹ方向の座標値を算出することができる。
【００４８】
ステップＳ１１０７では、前のステップで算出した処理対象カメラユニットの撮像画像における仮想ピント位置の座標が、撮像画像内にあるかどうかを判定する。撮像画像内にある場合は、ステップＳ１１０８へと進み、そうでない場合は、ステップＳ１１１０へと進む。
【００４９】
ステップＳ１１０８では、現在処理対象となっているカメラユニットを識別可能なＩＤをカメラリストに追加する。そして、ステップＳ１１０９では、まず、処理対象カメラユニットの撮像画像における注目領域情報４１０を算出する。これは、ステップＳ１１０３で算出した中央カメラユニットの注目領域情報である注目領域の左上座標（Ｘ１，Ｙ１）と右下座標（Ｘ２，Ｙ２）を、それぞれステップＳ１１０６で説明した処理方法と同様の方法にて変換することによって求めることができる。
【００５０】
具体的には、距離値ｐは注目領域の左上座標や右上座標に位置する被写体までの距離とする。ｓはカメラユニット間の距離であり、中央のカメラユニット２０５及び処理対象カメラユニットの撮像位置より算出できる。また、αはカメラユニット２０５の水平画角、撮像位置、注目領域の左上座標や右上座標から算出できる。これらの値を式（１）に代入することで、処理対象カメラユニットと注目領域の左上座標や右上座標に位置する被写体との角度βを求めることができる。ここで求まったβと、処理対象カメラユニットの水平画角を含む撮像装置情報から、処理対象カメラユニットの撮像画像における注目領域の左上座標や右上座標のＸ方向の座標値を算出することができる。また、水平画角を垂直画角と置き換えることによって同様の方法でＹ方向の座標値も同様に算出することができる。次に、この算出した注目領域情報４１０を、ＨＤＤ１０５を含む二次記録装置に出力する。
【００５１】
ステップＳ１１１０では、全てのカメラユニットに対して注目領域決定処理を行ったかどうかを判定する。もし、全てのカメラユニットに対する処理が行われていれば処理を終了し、そうでなければステップＳ１１０４へ戻り処理を継続する。
【００５２】
＜画像補間処理＞
次に、ステップＳ９０５及びステップＳ９０９で行う画像補間処理の詳細について説明する。ステップＳ９０９で行う画像補間処理では、まず、撮像装置情報４０３に基づいて撮像画像３０１〜３０９の撮像位置を内挿するように仮想視点位置４１３を設定する。次に、視差補間処理を用いて撮像画像３０１〜３０９を基に各仮想視点位置４１３に対応する補間画像４１２を生成する。
【００５３】
一方、ステップＳ９０５で行う画像補間処理では、まず、カメラリスト４１７にリストアップされているカメラユニットのみの撮像画像の撮像位置を内挿するように、撮像装置情報４０３に基づき仮想視点位置４１３を設定する。次に、視差補間処理を用いて注目領域情報４１０に基づき、各仮想視点位置４１３に対応する補間画像４１２を生成する。ここでの補間画像４１２は、注目領域内のみが補間された画像となる。注目領域外はどのような画像であっても構わない。以下、図１２に示すフローチャートを用いてステップＳ９０９における画像補間処理の詳細を説明する。
【００５４】
ステップＳ１２０１では、補間画像を生成する仮想視点位置４１３の設定を行う。撮像位置と仮想視点位置との関係を図６（ａ）に示す。ｘ軸６０１、ｙ軸６０２、ｚ軸６０３はそれぞれ各カメラユニットの水平方向、垂直方向、光軸方向に対応し、カメラユニット２０５の撮像位置を原点として直交しているものとする。仮想視点位置４１３は各撮像位置を内挿するように設定する。本実施形態では、図６に示すように撮像位置を等間隔に内挿するよう格子状に仮想視点位置４１３を設定する。
【００５５】
ステップＳ１２０２では、撮像画像３０１〜３０９の中から撮像位置が横方向に隣接する２つの画像を順に選択し、視差補間処理を用いて２画像間の仮想視点位置４１３に対応する補間画像４１２を生成する。図６（ｂ）に、ステップＳ１４０２で補間画像を生成する仮想視点位置を示す。視差補間処理には公知の方法を利用する。例えば、２画像を用いて、ブロックマッチングにより算出した各画素の視差量を基に中間視点の画像を補間により生成すればよい。あるいは、２画像から抽出した特徴点を対応付け、各特徴点の対応関係を基にモーフィング処理を行うことで中間視点の画像を生成してもよい。
【００５６】
ステップＳ１４０３では、撮像画像３０１〜３０９及びステップＳ１４０２で生成した補間画像４１２の中から撮像位置が縦方向に隣接する画像のペアを順に選択し、視差補間処理を用いて２画像間の仮想視点位置４１３に対応する補間画像を生成する。図６（ｃ）に、ステップＳ１４０３で補間画像を生成する仮想視点位置を示す。視差補間処理には、ステップＳ１４０２と同様の手法が適用可能である。そして、ステップＳ１４０４では、ステップＳ１４０２及びステップＳ１４０３で生成した補間画像４１２を出力する。
【００５７】
ここでは、ステップＳ９０９における画像補間処理について詳細に説明したが、ステップＳ９０５における画像補間処理も同様の手順で実行可能である。具体的には、撮像画像３０１〜３０９をすべて使う代わりにカメラリスト４１７に記述されているカメラユニットの撮像画像のみを使用し、仮想視点位置４１３は、カメラリストに記述されているカメラユニットの撮像位置のみを使用して設定する。また、視差補間処理では、注目領域内のみを処理することで実行可能である。
【００５８】
＜画像合成処理＞
次に、ステップＳ９０６及びステップＳ９１０で行う画像合成処理について説明する。画像合成処理では、まず、仮想絞りパラメータ４０６を基に、各画像に対する重み係数を設定する。そして、撮像装置情報４０３および仮想視点位置４１３を基に、各画像をシフトし領域毎に異なる重み係数を用いて重み付け加算を行い、リフォーカス画像４１５を生成する。以下、図１３に示すフローチャートを用い、ステップＳ９１０における画像合成処理の詳細を説明する。
【００５９】
ステップＳ１３０１において、ステップＳ９０３で取得した仮想絞りパラメータ４０６を基に、画像を合成する際に用いる重み係数を設定する。まず、図７を用いて画像合成時の重み係数について説明する。仮想絞りパラメータ４０６は、撮影位置及び仮想視点位置４１３において得られる画像に対する係数のセットである。以下、図７（ａ）に示すように各撮影位置及び仮想視点位置４１３をそれぞれＰ０〜Ｐ２４と表し、位置Ｐｍ（ｍ＝０〜２４）において得られる画像をＩｍとする。このとき、Ｉｍに対応する重み係数の値Ａ（ｍ）は、仮想絞りパラメータ４０６から、例えば、図７（ｂ）に示すように設定することができる。ここでは、Ｐ１２を中心としてガウス関数に従うよう重み係数を設定し、重み係数の和が１になるよう正規化している。こうすることにより、ピント外領域を滑らかにぼかすことができる。
【００６０】
次に、ステップＳ１３０２において、撮像装置情報４０３およびステップＳ９０９で設定した仮想視点位置４１３を基に、各画像のシフト量を算出する。ピント距離をｄとした際の画像Ｉｍの水平方向のシフト量△ｉ（ｍ、ｄ）および垂直方向のシフト量△ｊ（ｍ、ｄ）は以下の式（２）で表される。
【００６１】
【数２】
0005832211.tif 000003
【００６２】
ここで、Ｗ、Ｈはそれぞれ画像の水平方向、垂直方向の画像サイズを示す。θｗはカメラユニットの水平画角であり、θｈはカメラユニットの垂直画角である。（ｓｍ，ｔｍ）はｘｙ平面上におけるＰｍの座標であり、（ｓ'，ｔ'）はｘｙ平面上におけるカメラユニット２０５の撮像位置Ｐ１２の座標である。
【００６３】
次に、ステップＳ１３０３において、ステップＳ１３０２で求めたシフト量、ステップＳ１３０１で求めた重み係数を用いて、撮像画像３０１〜３０９及びステップＳ９０９で生成した補間画像４１２に対して重み付け加算処理を行う。この処理により、リフォーカス画像４１５が生成される。リフォーカス画像４１５をＨとしたとき、合成処理は以下の式（３）で表される。
【００６４】
【数３】
0005832211.tif 000004
【００６５】
そして、ステップＳ１３０４において、前のステップで生成したリフォーカス画像４１５を出力する。ここでは、ステップＳ９１０における画像合成処理について詳細に説明したが、ステップＳ９０６における画像合成処理も同様の手順で実行可能である。具体的には、撮像画像３０１〜３０９を全て使用する代わりにカメラリストに記述されているカメラユニットの撮像画像のみを使用する。さらに、仮想視点位置４１３及び補間画像４１２はステップＳ９０５で生成したものを使用する。また、重み係数を使用する画像数に応じて再正規化し、処理範囲を注目領域内に限定することによって実行可能である。
【００６６】
以上説明した処理によって、リフォーカス処理を行う際に、ピントを合わせたい領域のみを処理対象とすることによって、ユーザに対してリフォーカス結果を高速に提示することができる。これにより、リフォーカス処理におけるユーザビリティの向上を果たすことができる。
【００６７】
なお、本実施形態では、仮想ピント位置を示す座標と注目領域のサイズの２つのパラメータを、ＧＵＩを通して取得し、これらから注目領域を設定すると説明したが、例えば次のような方法を用いてもよい。まず、注目領域の左上座標と右下座標の２つの座標を、ＧＵＩの画像表示領域上に表示された画像をクリックすることで取得する。次に、注目領域の中央座標を仮想ピント位置として設定し、先に取得した注目領域を示す２つの座標とこの仮想ピント位置を使ってリフォーカス処理を実行してもよい。
【００６８】
（第２の実施形態）
第１の実施形態では、仮想ピント位置の座標（Ｘf，Ｙf）を中心として、任意のサイズの領域を注目領域として設定する方法について説明した。これに対し、本実施形態では、仮想ピント位置の座標（Ｘf，Ｙf）を含み、さらに仮想ピント位置の座標の被写体と等距離にある被写体を包含する領域を注目領域として設定する。
【００６９】
以下、図１５に示すフローチャートと図１４に示す注目領域の例を用い、本実施形態における注目領域決定処理の詳細を説明する。なお、図１１に示した第１の実施形態における注目領域決定処理のフローチャートと処理内容が同じステップに関しては、同じ記号を付与して説明を省略する。
【００７０】
ステップＳ１５０１では、仮想ピントパラメータ４０５及びデプスマップ４０８から注目領域情報を取得する。仮想ピントパラメータ４０５とは、第１の実施形態でも説明したように、基準画像上での仮想ピント位置のＸＹ座標である。ここでは、第１の実施形態と同様に画像の左上を原点として、基準画像上での仮想ピント位置の座標を（Ｘf，Ｙf）とする。ステップＳ１１０２で取得したピントを合わせたい被写体の距離情報を使って、仮想ピント位置の座標を含み、さらに仮想ピント位置の座標の被写体と等距離にある被写体を包含する矩形領域を注目領域として設定する。そして、この矩形領域の左上と右下の座標値を注目領域情報として取得する。
【００７１】
図１４に、このステップで設定される注目領域情報４１０の例を示す。ここでは、仮想ピント位置が異なる２つのケースに対して注目領域及び注目領域情報４１０を示している。どちらも仮想ピント位置の距離情報に基づき注目領域が設定されている。この方法では、第１の実施形態とは異なり、注目領域の大きさや形状は、被写体のサイズや形状に依存する。
【００７２】
以上説明した処理によって、優先的に処理を行う注目領域を仮想ピントパラメータに基づいて自動的に決定することが可能となる。
【００７３】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７４】
４０１  撮像データ入力部
４０４  パラメータ入力部
４０７  距離推定処理部
４０９  注目領域決定部
４１１  画像補間処理部
４１４  画像合成処理部
４１６  画像出力部
【図１】
0005832211.tif 000005
【図２】
0005832211.tif 000006
【図３】
0005832211.tif 000007
【図４】
0005832211.tif 000008
【図５】
0005832211.tif 000009
【図６】
0005832211.tif 000010
【図７】
0005832211.tif 000011
【図８】
0005832211.tif 000012
【図９】
0005832211.tif 000013
【図１０】
0005832211.tif 000014
【図１１】
0005832211.tif 000015
【図１２】
0005832211.tif 000016
【図１３】
0005832211.tif 000017
【図１４】
0005832211.tif 000018
【図１５】
0005832211.tif 000019
【図１６】
0005832211.tif 000020
【図１７】
0005832211.tif 000021