(57)【要約】【課題】  多視点画像データから合成画像データを生成する際に、所望の大きさのボケ量を再現することが可能な画像処理装置を提供することを目的とする。【解決手段】  複数の視点から撮像された複数の撮像画像データを入力し、ピント情報とボケ量情報とを入力し、それらに基づいて複数の視点以外の視点から撮像された場合に得られる中間画像データを生成する。そして、複数の撮像画像データと生成された中間画像データとを用いて、ピント情報に応じた合成画像データを生成する。【選択図】  図２
2013025649.tif 000002
【特許請求の範囲】
【請求項１】
複数の視点から撮像された複数の撮像画像データから、合成画像を示す合成画像データを生成する画像処理装置であって、
前記複数の撮像画像データを入力する画像入力手段と、
前記合成画像のピントの情報を示すピント情報と前記合成画像のボケの量を示すボケ量情報とを入力するパラメータ入力手段と、
前記パラメータ入力手段で入力したピント情報とボケ量情報とに基づいて、前記複数の撮像画像データから前記複数の視点以外の視点から撮像された場合に得られる中間画像データを生成する中間画像生成手段と、
前記画像入力手段で入力された複数の撮像画像データと前記中間画像生成手段で生成した中間画像データとを用いて、前記ピント情報に応じた合成画像データを生成する画像合成手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記中間画像生成手段は、前記画像入力手段により入力された複数の撮像画像データに基づいて最大ボケ量を算出する最大ボケ量算出手段と、
前記最大ボケ量と前記パラメータ入力手段により入力するボケ量とを比較する比較手段とを備え、
最大ボケ量よりも入力したボケ量が大きい場合に中間画像データを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記中間画像生成手段は、最大ボケ量よりも入力したボケ量が小さい場合、生成する中間画像の近傍の複数の画像を参照して中間画像を生成することを特徴とする請求項１及び請求項２に記載の画像処理装置。
【請求項４】
前記ピント情報は、フォーカス距離と被写界深度とを含むことを特徴とする請求項１乃至請求項３の何れか１項に記載の画像処理装置。
【請求項５】
前記ボケ量は、撮像画像データが示す画像の間における対応点の移動量で与えられることを特徴とする請求項１乃至請求項３の何れか１項に記載の画像処理装置。
【請求項６】
複数の視点から撮像された複数の撮像画像データから、合成画像を示す合成画像データを生成する画像処理方法であって、
前記複数の撮像画像データを入力する画像入力工程と、
前記合成画像のピントの情報を示すピント情報と前記合成画像のボケの量を示すボケ量情報とを入力するパラメータ入力工程と、
前記前記パラメータ入力工程で入力したピント情報とボケ量情報とに基づいて、前記複数の撮像画像データから前記複数の視点以外の視点から撮像された場合に得られる中間画像データを生成する中間画像生成工程と、
前記画像入力工程で入力された複数の撮像画像データと前記中間画像生成工程で生成した中間画像データとを用いて、前記ピント情報に応じた合成画像データを生成する画像合成工程とを備えることを特徴とする画像処理方法。
【請求項７】
コンピュータを請求項１乃至５の何れか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の視点から撮像された複数の撮像画像データから、合成画像データを生成する画像処理装置及び画像処理方法、プログラムに関する。
【背景技術】
【０００２】
ある被写体に対して、位置の異なる視点から撮像された画像データ（以下、多視点画像データ）に基づいて、新たな画像データを生成する方法が提案されている。
その一つに、多視点画像データを利用することで撮像後にフォーカス距離や被写界深度を調整した画像データを生成するリフォーカス画像処理がある。リフォーカス画像処理は、まず、多視点画像内の被写体のうち、ピント領域に含まれる被写体の位置が一致するように各画像の変形やシフトを行う。その後、各画像を加算することにより画像データを合成することでリフォーカス画像データが得られる。この場合、非ピント領域の被写体にはズレが生じるためボケとして再現される。
非特許文献１では、多視点画像データから中間視点画像データを推定することで、滑らかなボケを再現することを可能にしている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｕｎｃａｌｉｂｒａｔｅｄ  Ｓｙｎｔｈｅｔｉｃ  Ａｐｅｒｔｕｒｅ  ｆｏｒ  Ｄｅｆｏｃｕｓ  Ｃｏｎｔｒｏｌ，  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，  ２００９．  ＣＶＰＲ  ２００９．  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄａｔｅ：２０−２５  Ｊｕｎｅ  ２００９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１の手法ではボケの大きさを調整することはできない。
【０００５】
そこで本発明では、多視点画像データから合成画像データを生成する際に、所望の大きさのボケを再現することが可能な画像処理装置及び画像処理方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明の画像処理装置は、複数の視点から撮像された複数の撮像画像データから、合成画像を示す合成画像データを生成する画像処理装置であって、前記複数の撮像画像データを入力する画像入力手段と、前記合成画像のピントの情報を示すピント情報と前記合成画像のボケの大きさを示すボケ量情報とを入力するパラメータ入力手段と、前記前記パラメータ入力手段で入力したピント情報とボケ量情報とに基づいて、前記複数の撮像画像データから前記複数の視点以外の視点から撮像された場合に得られる中間画像データを生成する中間画像生成手段と、前記画像入力手段で入力された複数の撮像画像データと前記中間画像生成手段で生成した中間画像データとを用いて、前記ピント情報に応じた合成画像データを生成する画像合成手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、多視点画像データから合成画像データを生成する際に、所望の大きさのボケを再現することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置の構成を示すブロック図である。
【図２】画像処理装置の論理構成を示すブロック図である。
【図３】画像処理工程を説明するフローチャート図である。
【図４】多視点画像を説明する模式図である。
【図５】画像処理パラメータを指示するＵＩの例を示す模式図である。
【図６】最大ボケ量を算出する処理の工程を説明するフローチャート図である。
【図７】距離情報の算出方法を説明する模式図である。
【図８】中間画像生成処理の工程を説明するフローチャート図である。
【図９】中間画像生成処理を説明する模式図である。
【図１０】画像合成処理の工程を説明するフローチャート図である。
【図１１】画像合成処理で用いる画像と重み係数を説明する模式図である。
【図１２】画像合成処理におけるシフト量算出方法を説明する模式図である。
【図１３】撮像部の内部構成を示す図である。
【図１４】複数の撮像部を備えた多眼方式の撮像装置の一例を示した図である。
【図１５】多眼方式の撮像装置の内部構成を示すブロック図である。
【図１６】多眼方式の撮像装置における画像処理工程を示すフローチャート図である。
【図１７】画像処理工程を説明するフローチャート図である。
【図１８】中間画像生成処理を説明する模式図である。
【発明を実施するための形態】
【０００９】
［実施例１］
本実施例における画像処理装置の構成について、図１を参照して説明する。
【００１０】
図１において、画像処理装置はＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、インターフェース（Ｉ／Ｆ）１０４、モニタ１０８、メインバス１０９を備える。Ｉ／Ｆ１０４はカメラなどの撮像装置１０５や、マウス、キーボードなどの入力装置１０６、メモリーカードなどの外部メモリ１０７をメインバス１０９に接続する。
【００１１】
以下では、ＣＰＵ１０１がＨＤＤ１０３に格納された各種ソフトウェア（コンピュータプログラム）を動作させることで実現する各種処理について述べる。
【００１２】
まず、ＣＰＵ１０１はＨＤＤ１０３に格納されている画像処理アプリケーションを起動し、ＲＡＭ１０２に展開するとともに、モニタ１０８にユーザインターフェース（ＵＩ）を表示する。続いて、ＨＤＤ１０３や外部メモリ１０７に格納されている各種データ、撮像装置１０５で撮像された画像データ、入力装置１０６からの指示コマンドなどがＲＡＭ１０２に転送される。さらに、画像処理アプリケーション内の処理に従って、ＲＡＭ１０２に格納されているデータはＣＰＵ１０１からの指令に基づき各種演算を行う。演算結果はモニタ１０８に表示したり、ＨＤＤ１０３、外部メモリ１０７に格納したりする。
【００１３】
以下、画像処理アプリケーションの処理内容に基づいて、ＣＰＵ１０１は、多視点画像データを入力して、フォーカス距離や被写界深度を調整し、所望の大きさのボケを再現した合成画像データを生成する処理の詳細について説明する。
【００１４】
図２は、画像処理装置の論理構成を示す図である。尚、前述の通り、本実施例に於いては図２で説明する構成は画像処理アプリケーションソフトウェアにより実現される。図２において、画像処理装置２０１は多視点画像データや画像処理パラメータ（ピント情報とボケ量情報を含む。）を入力し、画像処理結果をモニタやＨＤＤに出力する。画像入力部２０２は画像処理装置２０１に多視点画像データを入力する。ここで、多視点画像データは撮像装置１０５で撮像された画像データものでもよいし、ＨＤＤ１０３や外部メモリ１０７に記録された画像データでもよい。勿論、撮像装置１０５で撮像した画像データをＨＤＤ１０３などの記憶装置に一旦記憶した後で入力しても構わない。パラメータ入力部２０３は画像処理で参照する画像処理パラメータを画像処理装置２０１に入力する。入力する画像処理パラメータは、生成する画像（合成画像）のフォーカス位置や被写界深度を指示するピント情報及び、ボケの大きさを示すボケ量情報などを含む。これら画像処理パラメータは、入力装置１０６からの指示に基づいて決定される。中間画像生成部２０４は、ＣＰＵ１０１からの指示に基づいて、合成画像のボケの大きさを調整するための中間画像データを生成する。画像合成部２０５はＣＰＵ１０１からの指示に基づいて多視点画像データと中間画像データとから合成画像データを生成する。画像出力部２０６は画像合成部２０５で生成した画像データをモニタ１０８に表示したり、ＨＤＤ１０３などの記憶装置に格納したりする。尚、合成画像データの出力先はこれに限られるものではなく、例えば、Ｉ／Ｆ１０４に接続した外部メモリ１０７に出力してもよい。
【００１５】
（リフォーカス画像生成処理）
以下では、図２で説明した画像処理における各処理の詳細について図３のフローチャートを参照して説明する。
【００１６】
ステップＳ３０１では、画像入力部２０２から画像処理装置２０１に多視点画像データを入力する。多視点画像データは被写体を複数の異なる視点から撮像して得られた画像データである。図４は９視点の多視点画像データが示す画像及び多視点画像データを取得する方法の例を説明する図である。多視点画像データは、図４（ａ）のような単眼カメラアレイで撮像した画像データでもよいし、図４（ｂ）のような多眼式のカメラのように複数の撮像部を備えたデバイスで撮像した画像データでもよい。また、コンピュータグラフィックスなどで複数視点から作成した画像データや、プレノプティックカメラで撮像した画像データから生成した多視点画像あっても構わない。但し、リフォーカス画像処理において、多視点画像データはパンフォーカスで撮像或いは生成した画像データであることが好ましい。尚、図４は９視点の例を示しているが本実施例で説明する画像処理装置で扱う多視点画像データの視点数はこれに限られるものではなく、２視点以上からの画像データであれば構わない。
【００１７】
ステップＳ３０２では、画像処理パラメータをパラメータ入力部２０３から入力する。画像処理パラメータを指示するＵＩの例を図５に示す。図５において、５０１は多視点画像表示部である。５０２は画像表示部である。５０３はボケ量調整部である。５０４は基準画像である。５０５はフォーカス範囲内の被写体である。５０６はフォーカス範囲外の被写体である。ユーザは多視点画像表示部５０１で、出力画像のベースとなる基準画像５０４を選択する。選択された基準画像５０４は画像表示部５０２に表示される。次に、画像表示部５０２に表示された画像上の点や領域を指示することで、フォーカス距離や被写界深度などのピント情報を決定する。例えば、被写体５０５上の点をＵＩ上から指示するとフォーカス距離が決まる。また、被写体５０５を含む領域をＵＩ上から指示することで、所望の領域が含まれるように被写界深度が決まる。そして、ボケ量調整部５０３で調整したボケ量に応じて、フォーカス範囲外の被写体５０６をボカした仮想ボケ画像が画像表示部５０２に示され、所望のボケの大きさを指示することができる。仮想ボケ画像は、図５（ｂ）及び図５（ｃ）のように、ボケ量調整部５０３の調整量に応じて、基準画像５０４におけるフォーカス範囲外の被写体５０６の移動量を変更しながら合成して表示することで仮想ボケ画像を生成する。画像処理演算時に必要なピント情報やボケ量情報を指示可能な形態であれば、ＵＩはこれに限られるものではない。
【００１８】
ステップＳ３０３では、中間画像生成部２０４において、ステップＳ３０１で入力した多視点画像データと、ステップＳ３０２で入力したピント情報とに基づいて最大ボケ量を算出する。最大ボケ量は多視点画像データから得られる被写体の距離情報とピント情報とから算出される。尚、最大ボケ量算出処理の詳細は後述する。
【００１９】
ステップＳ３０４では、ステップＳ３０２で入力したボケ量情報とステップＳ３０３で算出した最大ボケ量を比較してボケ量情報が示すボケの大きさが再現可能か否かを判定する。入力したボケ量が最大ボケ量より小さい場合、ステップＳ３０１で入力した多視点画像データから所望の大きさのボケを再現した合成画像データを生成可能なため、ステップＳ３０６に移行する。入力したボケ量が最大ボケ量より大きい場合は、ステップＳ３０２で入力した多視点画像データから所望の大きさのボケを再現した合成画像データを生成不可能なため、ステップＳ３０５に移行する。
【００２０】
ステップＳ３０５では、中間画像生成部２０４において、ステップＳ３０１で入力した多視点画像データと、ステップＳ３０２で入力した画像処理パラメータとに基づいて、合成画像データのボケの大きさを調整するための中間画像データを生成する。中間画像データは入力したボケ量に応じて生成される画像データであり、多視点画像データを元に生成される。中間画像データは、多視点画像データを取得する際に視点以外の視点から撮像した場合に得られる画像データである。尚、中間画像生成処理の詳細は後述する。
【００２１】
ステップＳ３０６では、画像合成部２０５において、ステップＳ３０１で入力した多視点画像データと、ステップＳ３０２で入力した画像処理パラメータと、ステップＳ３０５で生成した中間画像データとに基づいて、合成画像データを生成する。合成画像データはステップＳ３０２で指定した基準画像を基準として、撮像画像データの画素値に重み付けし、画像中のピント領域（又はピント位置）の被写体が一致するように各画像をシフトしながら加算することで得られる画像である。尚、画像合成処理の詳細は後述する。
【００２２】
ステップＳ３０７では、ステップＳ３０６で生成した合成画像データを画像出力部２０６から出力する。
【００２３】
（最大ボケ量算出処理）
以下では、ステップＳ３０３における最大ボケ量算出処理の詳細について図６のフローチャートを参照して説明する。
【００２４】
ステップＳ６０１では、ステップＳ３０２で指定した基準画像を示す情報を取得する。
【００２５】
ステップＳ６０２では、ステップＳ６０１で取得した基準画像をベースにデプスマップを作成する。本実施例におけるデプスマップは、基準画像の撮影位置から、基準画像の各画素に対応する被写体までの距離の情報を含む情報である。ここでは、多視点画像データの対応点の位置関係から三角測量の原理に基づいて被写体までの距離を求め、デプスマップを作成する方法について説明する。
【００２６】
図７は三角測量の原理に基づく測距方法を説明する図であり、円筒の被写体７０１を異なる２つの視点Ｃ１，Ｃ２から撮像した場合の例を示している。図７において、７０２は視点Ｃ１に対応するレンズであり、７０３は視点Ｃ１に対応するセンサである。また、７０４は視点Ｃ２に対応するレンズであり、７０５は視点Ｃ２に対応するセンサである。被写体７０１上の点Ｐ１は、視点Ｃ１ではＰ１’に投影され、視点Ｃ２ではＰ１’’に投影される。一方、被写体７０１上の点Ｐ２は、視点Ｃ１ではＰ２’に投影され、視点Ｃ２ではＰ２’’に投影される。
【００２７】
一般に異なる視点から撮像した画像を重ねても、被写体の投影点Ｐ１’とＰ１’’及びＰ２’とＰ２’’は一致せずＰ１’Ｐ１’’の移動量が生じる。ここで、撮像点Ｃ１、Ｃ２から被写体までの距離Ｌ１，Ｌ２が焦点距離ｆより十分大きいとすると、被写体の結像面はＣ１、Ｃ２で一致する。従って、視点Ｃ１と視点Ｃ２間の基線長をｄとすると、相似の関係から次式が成り立つ。
【００２８】
【数１】
2013025649.tif 000003
【００２９】
【数２】
2013025649.tif 000004
【００３０】
よって、被写体７０１上の点Ｐ１及びＰ２までの距離Ｌ１、Ｌ２は次式になる。
【００３１】
【数３】
2013025649.tif 000005
【００３２】
【数４】
2013025649.tif 000006
【００３３】
以上の原理に基づいて、基準画像とそれ以外の多視点画像との間でマッチングを行うことで被写体上の各対応点の距離が得られるため、デプスマップを生成することができる。
【００３４】
ステップＳ６０３では、ステップＳ６０２で生成したデプスマップとステップＳ３０２で入力したピント情報から非ピント領域を決定する。具体的には、ピント情報としてフォーカス距離と被写界深度を与え、デプスマップを参照することで画像中のピント領域と非ピント領域が分離される。
【００３５】
ステップＳ６０４では、ステップＳ６０３で求めた非ピント領域から最大ボケ量を求める。ここで、ステップＳ６０２におけるデプスマップ生成過程において、被写体上の点Ｐ１の移動量Ｐ１’Ｐ１’’が得られている。リフォーカス画像処理においては、ステップＳ６０３で取得したフォーカス距離の対応点でこの移動量が０（又は０に近い所定の閾値）になるようにシフトしてから各画像を合成する。従って、フォーカス距離から離れるほど移動量が大きくなり、この移動量が大きい領域ほど合成後の画像では大きなボケとして再現される。よって、非ピント領域で最大の移動量となる対応点を探索することで、ステップＳ３０１で入力した多視点画像データから生成可能な最大ボケ量が得られる。
【００３６】
（中間画像生成処理）
以下では、ステップＳ３０５における中間画像生成処理の詳細について図８のフローチャート及び図９の模式図を参照して説明する。
【００３７】
ステップＳ８０１では、ステップＳ３０２で指定した基準画像を示す情報とボケ量情報を取得する。
【００３８】
ステップＳ８０２では、ステップＳ８０１で取得したボケ量に対応した仮想視点位置を求める。仮想視点位置はステップＳ６０２におけるデプスマップの作成時と同様に、三角測量の原理に基づいて算出される。図９は円筒の被写体９０１と、視点Ｃ３、視点Ｃ４、仮想視点Ｃ５の関係を示している。尚、以下では視点Ｃ３をステップＳ８０１で取得した基準画像に対応した視点であるとして説明する。図９において、９０２は視点Ｃ３に対応するレンズであり、９０３は視点Ｃ３に対応するセンサである。また、９０４は視点Ｃ４に対応するレンズであり、９０５は視点Ｃ４に対応するセンサである。また、９０６は仮想視点Ｃ５に対応するレンズであり、９０７は仮想視点Ｃ５に対応するセンサである。
【００３９】
被写体９０１上の点Ｐ３は、視点Ｃ３ではＰ３’に投影され、視点Ｃ４ではＰ３’’に投影される。また、仮想視点Ｃ５ではＰ３’’’に投影される。ここで、視点から点Ｐ３までの距離Ｌ３は、ステップＳ６０２で生成したデプスマップから得られる。また、点Ｐ３の視点Ｃ３から仮想視点Ｃ５までの移動量Ｐ３’Ｐ３’’’はステップＳ８０１で取得したボケ量として与えられている。従って、視点Ｃ３から仮想視点Ｃ４までの距離ｄｘは次式になる。
【００４０】
【数５】
2013025649.tif 000007
【００４１】
ステップＳ８０３では、ステップＳ３０１で入力した多視点画像データを取得する。
ステップＳ８０４では、ステップＳ８０３で取得した多視点画像データから、ステップＳ８０２で算出した仮想視点位置に対応した仮想視点画像データを求める。仮想視点画像の画素値はステップＳ８０１で取得した基準画像データと、ステップＳ８０３で取得した多視点画像データとから算出される。図９（ｂ）に、図９（ａ）における視点Ｃ３、視点Ｃ４に対応するセンサ９０３及び９０５、仮想視点Ｃ５に対応するセンサ９０７で撮像されると想定される画像の例を示す。ここで、被写体９０１上の点Ｐ３に対応するＰ３’の座標を（ｘ１、ｙ１）、Ｐ３’’の座標を（ｘ２、ｙ２）とすると、Ｐ３’’’の座標（ｘ３、ｙ３）は次式になる。
【００４２】
【数６】
2013025649.tif 000008
【００４３】
【数７】
2013025649.tif 000009
【００４４】
以上の中間画像生成処理により、多視点画像データを取得する際に視点の以外の視点から撮像した場合に得られる中間画像データを生成することができる。特に、本実施例では、撮像画像データを撮像する際の視点（Ｃ３、Ｃ４）よりも（基準画像を基準として）外側の視点から撮像した場合の中間画像データを生成することができる。この中間画像データによれば、以下の画像合成処理により、より大きなボケを有する合成画像データを生成することが可能となる。
【００４５】
（画像合成処理）
以下では、ステップＳ３０６の画像合成処理の詳細について図１０のフローチャートを参照して説明する。
【００４６】
ステップＳ１００１では、ステップＳ３０１で入力した多視点画像データと、ステップＳ３０５で生成した中間画像データとを取得する。ここで図１１（ａ）は取得する画像Ｉｕ，ｖの例である。図１１（ａ）において、実線（１≦ｕ≦３且つ１≦ｖ≦３）は多視点画像データが示す多視点画像、破線（ｕ＝０、４或いはｖ＝０、４）は中間画像データが示す中間画像を表わす。入力した多視点画像データにより生成されるボケ量、即ち最大ボケ量よりも大きいボケの合成画像データを再現する場合、図１１（ａ）のように中間画像は多視点画像の外側に生成される。
【００４７】
ステップＳ１００２では、ステップＳ３０２で入力した基準画像を示す情報とピント情報を取得する。
【００４８】
ステップＳ１００３では、画像合成時の各画像の重み係数を設定する。重み係数は合計が１になるように決定する。図１１（ｂ）にステップＳ１００１で入力した画像に対応する重み係数の例を示す。尚、図１１（ｂ）は画像Ｉ２，２が基準画像となる例であり、対応する係数α２，２が最大となり基準画像からの視差が大きい画像ほど重み係数は小さくなるように設定している。但し、重み係数の設定はこの限りではなく任意に設定しても構わない。
【００４９】
ステップＳ１００４ではピント情報に基づいて、基準画像Ｉ２，２以外の多視点画像のシフト量を求める。シフト量はピント領域内の対応点が一致するように各画像をシフトすることで得られる。シフト量算出方法について図１２を参照して、基準画像Ｉ２，２に対して多視点画像Ｉ４、４のシフト量を算出する例で説明する。まず、ステップＳ１００２で取得するピント情報として与えられるフォーカス距離と被写界深度及び、ステップＳ６０２で生成したデプスマップを参照することでピント領域が得られる。図１２では手前の円筒形の被写体１２０２がピント領域に含まれるとする。次に、ピント領域内の対応点Ｐ４の座標（ｘ４、ｙ４）を取得する。そして、画像Ｉ４、４から点Ｐ４の対応点Ｐ４’の座標（ｘ４’、ｙ４’）を取得する。この時、画像Ｉ４、４シフト量（Δｘ４，４、Δｙ４，４）は次式になる。
【００５０】
【数８】
2013025649.tif 000010
【００５１】
【数９】
2013025649.tif 000011
【００５２】
従って、基準画像からの視差が大きい画像ほどシフト量（Δｘ、Δｙ）が大きくなる。その結果、非ピント領域のずれが大きくなることで、合成後の画像において大きなボケが生成される。
【００５３】
ステップＳ１００５では、ステップＳ１００３で設定した重み係数αを用いてステップＳ１００４でシフトした多視点画像データを画素ごとに重み付け加算する。合成前の各画像をＩｕ，ｖ（ｘ、ｙ）、対応する重み係数をαｕ，ｖ、各画像のシフト量を（Δｘｕ，ｖ、Δｙｕ，ｖ）とすると、合成後の合成画像データＩは次式になる。
【００５４】
【数１０】
2013025649.tif 000012
【００５５】
以上、本実施例によれば、複数の視点から撮像した複数の撮像画像データから合成画像データを生成する画像処理において、所望のピント情報とボケ量情報とに応じた合成画像データを生成することが可能になる。特に、本実施例では、撮像画像データを撮像する際の視点よりも外側の視点で撮像した場合の中間画像データを生成してから合成画像データを生成することにより、大きなボケを有する合成画像データを生成することが可能となる。
【００５６】
［実施例２］
実施例１では、入力した多視点画像データを画像処理装置で処理して合成画像データ（リフォーカス画像データ）を生成する方法について説明した。本実施例においては、多視点撮像可能な撮像システムを備えた画像処理装置に於いて実施した場合を説明する。本実施例では多眼カメラを例にとるが、多視点画像データを取得できる画像処理装置であれば何であっても構わない。
【００５７】
まず、多眼カメラの構成例について図１３から図１５を参照して説明する。
【００５８】
図１３において、撮像装置の筐体１３１１は、カラー画像データを取得する９個の撮像部１３０１〜１３０９及び撮像ボタン１３１０を備えている。９個の撮像部は、正方格子上に均等に配置されている。
【００５９】
ユーザが撮像ボタン１３１０を押下すると、撮像部１３０１〜１３０９が被写体からの光情報をセンサ（撮像素子）で受光し、受光した信号がＡ／Ｄ変換されて、複数のカラー画像データ（デジタルデータ）が取得される。このような多眼方式の撮像装置により、同一の被写体を複数の視点から撮像したカラー画像群を得ることができる。なお、ここでは撮像部の数を９個としたが撮像部の数は９個に限定されない。撮像装置が複数の撮像部を有する限りにおいて本実施例は適用可能である。また、ここでは９個の撮像部が正方格子上に均等に配置される例について説明したが、撮像部の配置は任意である。例えば、放射状や直線状に配置してもよいし、まったくランダムに配置してもよい。
【００６０】
図１４は、撮像装置１３１１の内部構成を説明するブロック図である。
【００６１】
中央処理装置（ＣＰＵ）１４０１は、以下に述べる各部を統括的に制御する。
【００６２】
ＲＡＭ１４０２は、ＣＰＵ１４０１の主メモリ、ワークエリア等として機能する。
【００６３】
ＲＯＭ１４０３は、ＣＰＵ１４０１で実行される制御プラグラム等を格納している。
【００６４】
バス１４０４は、各種データの転送経路である。例えば、撮像部１３０１〜１３０９によって取得されたデジタルデータはこのバス１４０４を介して所定の処理部に送られる。
【００６５】
操作部１４０５は、ユーザの指示を受け付ける機能を有する。操作部１４０５には、ボタンやモードダイヤルなどが含まれる。
【００６６】
表示部１４０６は、撮像画像や文字の表示を行う。例えば、液晶ディスプレイが用いられる。表示部１４０６はタッチスクリーン機能を有していても良く、その場合はタッチスクリーンを用いたユーザ指示を操作部１４０５の入力として扱うことも可能である。
【００６７】
表示制御部１４０７は、表示部１４０６に表示される撮像画像や文字の表示制御を行う。
【００６８】
撮像部制御部１４０８は、フォーカスを合わせる、シャッターを開く・閉じる、絞りを調節するなどの、ＣＰＵ１４０１からの指示に基づいた撮像系の制御を行う。
【００６９】
デジタル信号処理部１４０９は、バス１４０４を介して受け取ったデジタルデータに対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種処理を行う。
【００７０】
エンコーダ部１４１０は、デジタルデータをＪＰＥＧやＭＰＥＧなどのファイルフォーマットに変換する処理を行う。
【００７１】
外部メモリ制御部１４１１は、ＰＣやその他のメディア（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）に繋ぐためのインターフェースである。
【００７２】
画像処理部１４１２は、撮像部１３０１〜１３０９により取得されたカラー画像データ群或いは、デジタル信号処理部１４０９から出力されるカラー画像データ群から、合成画像データを生成する処理を行う。画像処理部１４１２における処理の詳細については後述する。
【００７３】
尚、撮像装置の構成要素は上記以外にも存在するが、本件実施例の主眼ではないので、説明を省略する。
【００７４】
図１５は、撮像部１３０１〜１３０９の内部構成を示す図である。
【００７５】
撮像部１３０１〜１３０９は、レンズ１５０１〜１５０３、絞り１５０４、シャッター１５０５、光学ローパスフィルタ１５０６、ｉＲカットフィルタ１５０７、カラーフィルタ１５０８、センサ１５０９及びＡ／Ｄ変換部１５１０で構成される。レンズ１５０１〜１５０３は夫々、ズームレンズ１５０１、フォーカスレンズ１５０２、ぶれ補正レンズ１５０３である。センサ１５０９は、例えばＣＭＯＳやＣＣＤなどのセンサである。
【００７６】
センサ１５０９で被写体の光量を検知すると、検知された光量がＡ／Ｄ変換部１５１０によってデジタル値に変換され、デジタルデータとなってバス１４０４に出力される。
【００７７】
以下では、本実施例における多眼カメラの構成に於いて、ボケの大きさを調整した合成画像データを生成する処理の詳細について図１６のフローチャートを参照して説明する。
【００７８】
ステップＳ１６０１では、撮像部１３０１〜１３０９を介して被写体を多視点撮像し、多視点撮像画像データを取得する。撮像した画像はデジタル信号処理部１４０９において、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種処理を適用後、ＲＡＭ１４０２に格納される。
【００７９】
ステップＳ１６０２では、操作部１４０５で指示されたパラメータをパラメータ入力部から入力する。必要な入力パラメータは実施例１と同様のため説明は省略する。
【００８０】
ステップＳ１６０３では、画像処理部１４１２において、ステップ１６０１で撮像した多視点画像及びステップＳ１６０２で入力したパラメータに基づいて、最大ボケ量を算出する。処理の詳細は実施例１におけるＳ３０３と同様のため説明は省略する。
【００８１】
ステップＳ１６０４では、画像処理部１４１２において、ステップＳ１６０２で入力したボケ量とステップＳ１６０３で算出した最大ボケ量を比較して所望のボケの大きさが再現可能か否かを判定する。入力したボケ量が最大ボケ量より小さい場合、ステップＳ１６０１で入力した多視点画像から所望の大きさのボケを再現した合成画像を生成可能なため、ステップＳ１６０６に移行する。入力したボケ量が最大ボケ量より大きい場合は、ステップＳ１６０２で入力した多視点画像から所望の大きさのボケを再現した合成画像を生成不可能なため、ステップＳ３０５に移行する。
【００８２】
ステップＳ１６０５では、画像処理部１４１２において、ボケの大きさを調整するための中間画像を生成する。処理の詳細は実施例１におけるＳ３０５と同様のため説明は省略する。
【００８３】
ステップＳ１６０６では、画像処理部１４１２において、多視点画像と中間画像を合成する。処理の詳細は実施例１におけるＳ３０６と同様のため説明は省略する。
【００８４】
ステップＳ１６０７では、ステップＳ１６０６で生成した合成画像を出力する。例えば、表示部２０６に表示してもよいし、外部メモリ制御部２１１を介して外部記憶装置に記録してもよい。
【００８５】
以上により、多眼カメラのような多視点撮像可能な撮像システムを備えた画像処理装置において、ボケの大きさを調整したリフォーカス画像を生成することが可能になる。
【００８６】
尚、本実施形態では、撮像部１３０１〜１３０９で撮像される画像がすべてカラー画像であることを前提に各部の構成や処理を説明した。しかし、撮像部１３０１〜１３０９で撮像される画像の一部或いは全部をモノクロ画像に変更しても構わない。その場合には、図１５のカラーフィルタ１５０８は省略される。
【００８７】
［実施例３］
実施例１及び実施例２では、入力した多視点画像データで生成可能なボケの大きさよりも大きなボケを生成する方法について説明した。本実施例においては、入力した多視点画像データで生成可能なボケの大きさよりも小さなボケを生成する方法について説明する。
【００８８】
本実施例における画像処理装置の構成及び論理構成は実施例２と同様として説明は省略する。勿論、実施例１の画像処理装置の構成でも同様の画像処理を実施可能である。以下では、本実施例における画像処理について図１７のフローチャートを参照して説明する。
【００８９】
ステップＳ１７０１では、撮像部１３０１〜１３０９を介して被写体を多視点撮像し、多視点撮像画像データを取得する。
【００９０】
ステップＳ１７０２では、操作部１４０５で指示された画像処理パラメータをパラメータ入力部から入力する。
【００９１】
ステップＳ１７０３では、画像処理部１４１２において、ステップ１７０１で撮像した多視点画像及びステップＳ１７０２で入力したパラメータに基づいて、最大ボケ量を算出する。処理の詳細は実施例１におけるＳ３０３と同様のため説明は省略する。
【００９２】
ステップＳ１７０４では、画像処理部１４１２において、ステップＳ１７０２で入力したボケ量とステップＳ１６０３で算出した最大ボケ量を比較する。入力したボケ量が最大ボケ量より大きい場合は、ステップＳ１７０１で撮像した多視点画像から所望の大きさのボケを再現した合成画像を生成不可能なため、ステップＳ１７０５に移行する。入力したボケ量が最大ボケ量より小さい場合、ステップＳ１７０６に移行する。
【００９３】
ステップＳ１７０５では、画像処理部１４１２において、大きなボケを生成するための中間画像を生成する。処理の詳細は実施例１におけるＳ３０５と同様のため説明は省略する。
【００９４】
ステップＳ１７０６では、画像処理部１４１２において、小さなボケを生成するための中間画像データを生成する。ここで、小さなボケを生成するための中間画像生成処理は、多視点画像データが示す多視点画像の間に中間画像が生成される。つまり、多視点画像を取得する際の視点の外側にある視点で撮像した場合の中間画像データが生成されるステップＳ３０５の処理とは異なり、中間画像の周囲の多視点画像を参照することが可能である。従って、仮想視点の近傍の画像を用いるＰｌａｎｅ  Ｓｗｅｅｐ法などを利用することで高精度に中間画像データを生成可能になるため、より自然なボケ画像データを生成できる。
【００９５】
ステップＳ１７０７では、画像合成部２０５において、ステップＳ１７０１で入力した多視点画像データと、ステップＳ１７０２で入力した画像処理パラメータと、ステップＳ１７０５或いはステップＳ１７０６で生成した中間画像データとに基づいて、合成画像データを生成する。合成画像処理は実施例１におけるステップＳ３０６とほぼ同様のため相違点のある部分のみ図１０のフローチャート及び図１８を参照して説明する。ステップＳ１００１では、ステップＳ３０１で入力した多視点画像データと、ステップＳ１７０５、或いはステップ１７０６で生成した中間画像データとを取得する。以下では、ステップＳ１７０６で生成した中間画像を取得した場合を例に図１８を参照して説明する。図１８（ａ）において、実線は多視点画像、破線は中間画像を示す。小さいボケの合成画像を再現する場合、図１８（ａ）のように中間画像は多視点画像の内側に生成される。ステップＳ１００３では、画像合成時の各画像の重み係数を設定する。重み係数は合計が１になるように決定すればよい。図１８（ｂ）に重み係数の例を示す。尚、図１８（ｂ）は画像Ｉ２，２が基準画像となる例であり、対応する係数α２，２が最大となり基準画像からの視差が大きい画像ほど重み係数は小さくなるように設定する。また、小さなぼけを再現する場合、ステップＳ１７０６で生成した中間画像より外側の多視点画像の重み係数は０もしくは画像合成処理における寄与が無視できる程度の値に設定すればよい。勿論、重み係数はこの限りではなく任意に設定して構わない。
【００９６】
ステップＳ１７０８では、ステップＳ１７０４で生成した合成画像を画像出力部２０６から出力する。
【００９７】
以上の処理により、リフォーカス画像生成処理において、ボケの大きさを調整して、所望の位置にフォーカスを合わせた小さなボケの画像を生成することが可能になる。また、再現するボケの大きさに応じて中間画像生成処理を切り替えることで、より自然な画像を生成することが可能になる。
【００９８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013025649.tif 000013
【図２】
2013025649.tif 000014
【図３】
2013025649.tif 000015
【図４】
2013025649.tif 000016
【図５】
2013025649.tif 000017
【図６】
2013025649.tif 000018
【図７】
2013025649.tif 000019
【図８】
2013025649.tif 000020
【図９】
2013025649.tif 000021
【図１０】
2013025649.tif 000022
【図１１】
2013025649.tif 000023
【図１２】
2013025649.tif 000024
【図１３】
2013025649.tif 000025
【図１４】
2013025649.tif 000026
【図１５】
2013025649.tif 000027
【図１６】
2013025649.tif 000028
【図１７】
2013025649.tif 000029
【図１８】
2013025649.tif 000030