以下、本発明の実施形態を図面に基づいて説明する。ただし、本発明の範囲は以下の実施形態に限定されるものではない。
[実施形態1]
以下、本発明の実施形態1に係る画像処理装置について説明する。本実施形態に係る画像処理装置は、例えばプロセッサー及びメモリを備えるコンピュータでありうる。図1は、本実施形態に係る画像処理装置100のハードウェア構成例を示す。CPU101は、画像処理装置100全体を制御する。RAM102は、プログラム又はデータ等を一時記憶するランダムアクセスメモリである。ROM103は、プログラム又はパラメータ等を格納する読み出し専用メモリである。二次記憶装置104は、プログラム又はデータ等を長期間保管可能な記憶装置であり、例えばハードディスク又はメモリカード等でありうる。
入力インターフェース105は、画像処理装置100と入力デバイスとを接続するインターフェースである。入力デバイスとは画像処理装置100にデータを入力する装置であり、その種類は特に制限されない。例えば、入力インターフェース105は、被写体の画像を撮像する撮像装置108又は外部記憶装置109からのデータを受け取ることができ、画像処理装置100は受け取ったデータを用いて処理を行うことができる。出力インターフェース106は、画像処理装置100と出力デバイスとを接続するインターフェースである。出力デバイスとは画像処理装置100からのデータを受け取る装置であり、その種類は特に制限されない。例えば、出力インターフェース106は、画像処理装置100からのデータを、外部記憶装置109又は表示装置110へと出力することができる。
例えば図3に示されるような、以下で説明される各部の動作は、以下のようにして実現できる。すなわち、ROM103、二次記憶装置104、又は外部記憶装置109等の、コンピュータ読み取り可能な記憶媒体に格納された各部の動作に対応するプログラムを、RAM102に展開する。そして、このプログラムに従ってCPU101が動作することにより、以下で説明される各部の動作を実現できる。もっとも、後述する各部のうち全部又は一部の動作は、ASIC等の専用のハードウェアによって実現されてもよい。
本実施形態に係る画像処理装置100は、被写体の画像を撮像する複数の撮像装置108から撮像画像を取得し、仮想視点からの再構成画像を生成する処理を行う。本明細書において、再構成画像とは、仮想視点に基づいて生成される被写体(オブジェクト)の仮想視点画像(オブジェクト画像)であり、仮想カメラを仮想視点に配置した場合に得られるであろう被写体の撮像画像に相当する。再構成画像は、自由視点画像とも呼ばれる。これら複数の撮像装置108は、例えば被写体の周りを取り囲むように配置することができる。このような撮像装置108の配置例を図2に示す。図2は体育館に配置された撮像装置108を示し、世界座標系201が示されている。図2(A)に示すように撮像装置108は上方から床面を見下ろすように配置されており、図2(B)に示すように撮像装置108は体育館の側面に沿って配置されている。そして、これらの撮像装置108は、体育館の床面及び側面、並びに体育館で活動している人物等の被写体を様々な方向から同期して撮像することができる。こうして、複数の撮像装置108は、同じ時刻における様々な方向からの被写体の撮像画像を生成することができる。もっとも、図2に示す撮像装置108の配置方法は一例にすぎず、他の配置方法を採用することもできる。
図1において、画像処理装置100は複数の撮像装置108と接続されており、画像処理装置100及び複数の撮像装置108を備える画像処理システムを形成している。このような構成によれば、リアルタイムに仮想視点からの再構成画像を生成することができる。しかしながら、画像処理装置100に撮像装置108が接続されることは必須ではなく、例えば画像処理装置100は記憶媒体を介して撮像装置108から撮像画像を取得してもよい。なお、撮像装置108は動画像を撮像してもよい。この場合、画像処理装置100は、複数の撮像装置108により略同時刻に撮像されたフレーム画像を用いて、以下の処理を行うことができる。
図3は、本実施形態に係る画像処理装置100が備える機能構成を示す。図3に示すように、画像処理装置100は、入力視点情報取得部310、出力視点情報取得部320、距離マップ取得部330、画像取得部340、レンダリング部350、及び画像出力部360を備える。
入力視点情報取得部310及び出力視点情報取得部320は、仮想視点及び複数の撮像装置の位置姿勢情報を取得する。本実施形態において入力視点情報取得部310は、入力視点に関する情報(以下、入力視点情報と呼ぶ)を取得する。本実施形態において、入力視点とは撮像装置108の視点のことを指し、入力視点情報とは、複数の撮像装置108それぞれについての情報のことを意味する。入力視点情報には、所定の座標系内での撮像装置108の位置姿勢情報が含まれ、例えば、撮像装置108の位置情報及び光軸方向を示す姿勢情報を含む。また、入力視点情報には、焦点距離又は主点位置等、撮像装置108の画角情報を含めることもできる。これらの情報を用いて、撮像画像の各画素と、撮像装置108から被写体への向きと、を対応づけることができる。このため、被写体の特定箇所について、撮像画像上の対応する画素を特定することができ、その色情報を取得することが可能となる。さらに、入力視点情報には、撮像装置108により撮像される画像の歪曲を示す歪曲パラメータ、並びにF値、シャッタースピード及びホワイトバランス等の撮影パラメータを含むことができる。
また、本実施形態において、出力視点情報取得部320は、出力視点に関する情報(以下、出力視点情報と呼ぶ)を取得する。本実施形態において、出力視点とは、画像処理装置100が生成する再構成画像の仮想視点のことを指し、出力視点情報とは、仮想視点についての情報のことを意味する。出力視点情報には、入力視点情報と同様、所定の座標系内での仮想視点の位置姿勢情報が含まれ、例えば、仮想視点の位置情報及び光軸方向を示す姿勢情報を含む。また、出力視点情報には、仮想視点からの画角情報、再構成画像の解像度情報等を含むこともできる。さらに、出力視点情報は、歪曲パラメータ及び撮影パラメータ等を含むこともでき、これらを用いて得られた再構成画像に対して画像処理を行うこともできる。
入力視点情報取得部310及び出力視点情報取得部320は、仮想視点及び撮像装置108の位置姿勢情報を取得する代わりに、撮像装置及び仮想視点の相対的な位置姿勢関係を示す情報を取得してもよい。
距離マップ取得部330は、空間内の被写体の位置情報を取得する。この位置情報は、仮想視点と被写体の相対的な位置関係を示す。本実施形態において、距離マップ取得部330は、仮想視点から被写体までの距離マップ(デプスマップ)を取得する。複数の撮像装置108により得られた被写体の撮像画像に基づいて距離マップを生成する方法は公知であり、任意の方法を採用することができる。例えば、特許文献1に記載されている視体積公差法又はステレオマッチング法を用いて、被写体の三次元モデルを生成することができる。そして、仮想視点と被写体の三次元モデルとの関係に基づいて、仮想視点からの再構成画像の各画素について、仮想視点から対応する被写体までの距離を求め、こうして距離マップを生成することができる。距離マップの生成方法は被写体の撮像画像に基づく方法に限られず、何らかのトラッカー等を用いて被写体の三次元モデルを生成し、この三次元モデルに基づいて距離マップを生成してもよい。また、事前にレンジセンサなどで仮想視点から対応する被写体までの距離を計測し、距離マップを取得してもよい。
画像取得部340は、複数の撮像装置108のそれぞれにより撮像された被写体の撮像画像を取得する。
レンダリング部350は、仮想視点から各方向に存在する被写体の色情報を、複数の撮像画像から決定する。例えば、レンダリング部350は、被写体の位置情報(距離マップ取得部330が取得した距離マップ)、入力視点情報及び出力視点情報(撮像装置108及び仮想視点の位置姿勢情報)を参照して、仮想視点からの再構成画像を生成することができる。この際に、レンダリング部350は、画像取得部340が取得した被写体の撮像画像のそれぞれから、仮想視点からの着目方向に存在する被写体の色情報を取得する。そして、レンダリング部350は、後述するように撮像装置の向きと撮像装置の視野内における被写体の位置とに応じた重みを用いて、取得した色情報を合成することにより、着目方向に存在する被写体の色情報を決定する。レンダリング部350は、こうして再構成画像の各画素に対応する各着目方向について被写体の色情報を決定することにより、再構成画像を生成する。
画像出力部360は、レンダリング部350が生成した再構成画像を出力する。例えば、画像出力部360は、再構成画像を表示装置110に出力し、再構成画像を表示装置110に表示させることができる。
次に、レンダリング部350についてより詳しく説明する。まず、レンダリング処理の概略について説明する。レンダリング部350が行う処理は、着目方向に存在する被写体の位置を距離マップに基づいて特定し、この被写体の色情報を撮像画像から抽出する処理に相当する。言い換えれば、レンダリング部350は、再構成画像中の着目画素について、着目画素に写る被写体の位置を距離マップに基づいて特定し、着目画素に写る被写体の色情報を撮像画像から抽出する。より詳しく説明すると、レンダリング部350は、仮想視点から着目方向に存在する被写体までの距離と、仮想視点と撮像装置との間の位置姿勢関係とに基づいて、着目方向に存在する被写体に対応する撮像画像上の画素を特定することができる。そして、レンダリング部350は、特定された画素の色情報を着目方向に存在する被写体の色情報として取得することができる。
この処理は、例えば以下のように行うことができる。以下の説明では、再構成画像中の着目画素の座標を(u0,v0)とする。着目画素に写る被写体の位置は、式(1)に従って、出力視点におけるカメラ座標系で表すことができる。
式(1)において、(x0,y0,z0)は被写体のカメラ座標を表す。d0(u0,v0)は、距離マップに示される、出力視点から着目画素に写る被写体までの距離を表す。f0は出力視点の焦点距離を表し、cx0及びcy0は出力視点の主点位置を表す。
次に、着目画素に写る被写体について、出力視点におけるカメラ座標を、式(2)に従って世界座標に変換することができる。
式(2)において、(X0,Y0,Z0)は被写体の世界座標を表す。R0は、出力視点の光軸方向を表す。(Xoutput,Youtput,Zoutput)は、出力視点のカメラ位置を表す。
次に、世界座標(X0,Y0,Z0)に存在する被写体が写っている、入力視点からの撮像画像上の座標を、式(4)に従って算出することができる。
式(3)において、Riは入力視点iの光軸方向を表す(入力視点iは、複数の入力視点のうちi番目の入力視点である)。(Xcam,i,Ycam,i,Zcam,i)は、入力視点iのカメラ位置を表す。fiは、入力視点iの焦点距離を表し、cxi及びcyiは入力視点iの主点位置を表す。また、tは定数を表す。式(3)を(ui,vi)について解くことにより、式(4)が得られる。
式(4)に従うと、まずtを求めることができ、さらに得られたtを用いて(ui,vi)を求めることができる。このように、再構成画像中の着目画素の座標(u0,v0)は、撮像画像中の画素の座標(ui,vi)に変換することができる。再構成画像中の着目画素(u0,v0)と撮像画像中の画素(ui,vi)とは、同じ被写体に対応する可能性が高い。したがって、撮像画像中の画素(ui,vi)の画素値(色情報)を、再構成画像中の着目画素(u0,v0)の画素値(色情報)として用いることができる。
しかしながら、視線方向の違いのために、再構成画像中の着目画素(u0,v0)と撮像画像中の画素(ui,vi)とが同じ被写体に対応するとは限らない。また、光源方向等の影響により、これらが同じ被写体に対応したとしても、撮像画像間で色が異なっている可能性もある。このため、本実施形態において、レンダリング部350は、複数の撮像画像から、着目画素(u0,v0)に対応する画素(ui,vi)(i=1〜N:Nは撮像装置108の数)を特定し、特定された画素の画素値を重み付け合成する。ここで、被写体が撮像範囲外にあるなどの理由で、着目画素に対応する被写体が写っていない撮像画像については、合成の対象から外すことができる。このような重み付け合成により得られた画素値が、着目画素(u0,v0)の画素値として用いられる。このように、1つ以上の撮像装置による撮像画像における被写体の色情報を用いて、再構成画像における被写体の色情報を決定することができる。一実施形態においては、2つ以上の撮像装置による撮像画像における被写体の色情報を用いて、再構成画像における被写体の色情報が決定される。
以下に、レンダリング部350の詳細な構成について、図4を参照して説明する。レンダリング部350は、歪曲補正部410、方向重み算出部420、位置重み算出部430、及び画素値算出部440を備える。
歪曲補正部410は、画像取得部340が取得した撮像画像に対して歪曲補正処理を行い、歪曲補正処理後の撮像画像を画素値算出部440に送る。例えば、歪曲補正部410は、画像取得部340が取得した撮像画像に対して、入力視点情報取得部310が取得したそれぞれの撮像装置108の歪曲パラメータを参照して、歪曲補正処理を行うことができる。歪曲補正部410は、歪曲補正後の撮像画像を、方向重み算出部420及び位置重み算出部430に送ってもよい。このように歪曲補正された撮像画像を用いて再構成画像を生成することにより、より違和感の少ない再構成画像を生成することが可能となる。もっとも、レンダリング部350が歪曲補正部410を備えることは必須ではない。
方向重み算出部420は、撮像装置の向きに応じて、撮像画像のそれぞれに対して重みを設定する。本実施形態において、方向重み算出部420は、入力視点の向きと出力視点の向きとの関係に応じて、撮像画像のそれぞれに対して重みを設定する。入力視点から被写体への方向が、出力視点から被写体への方向により近いほど、撮像画像に写る被写体像は仮想視点からの被写体像により近いと考えられる。したがって、入力視点から被写体への方向が、出力視点から被写体への方向により近いほど、大きな重みを与えることができる。より具体的には、入力視点から被写体への方向ベクトル(大きさは任意)と、出力視点から被写体への方向ベクトル(大きさは任意)と、がなす角度が小さいほど、大きな重みを与えることができる。
方向重み算出部420は、1つの撮像画像中のそれぞれの画素に対して異なる重みを設定することができる。この場合、方向重み算出部420は、撮像装置の向きとして、着目方向に存在する被写体への撮像装置からの方向を用いて、重みを設定できる。例えば、上記の例であれば、再構成画像中の着目画素(u0,v0)についての出力視点からの方向と、撮像画像中の対応する画素(ui,vi)についての入力視点からの方向と、に応じて画素(ui,vi)に重みを設定することができる。一方で、計算を簡単にするために、方向重み算出部420は、撮像装置(入力視点)の向きとして、撮像装置(入力視点)の光軸方向を用いて、重みを設定することもできる。このように、1つの撮像画像中のそれぞれの画素に関して同じ重みを設定してもよい。また、計算を簡単にするために、仮想視点(出力視点)の向きとしては、着目方向を用いてもよいし、出力視点の光軸方向を用いることもできる。すなわち、仮想視点の光軸方向又は着目方向と、撮像装置の向きとの間の角度に応じて、方向重みを設定することができる。
方向重み算出部420は、画素値算出部440による処理に必要になった際に方向重みを算出してもよいし、画素値算出部440による処理の前に撮像画像中の各画素について方向重みを予め算出しておいてもよい。後者の場合、方向重み算出部420は、上述のように算出された重みを撮像画像の画素のそれぞれに対応づける。そして、画素値算出部440は、後述するように着目画素に写る被写体の画素値を撮像画像から抽出する際に、撮像画像上における着目画素に対応する画素に対応づけられた方向重みを、撮像画像の重みとして使用する。
位置重み算出部430は、撮像装置の視野内における、着目方向に位置する被写体の位置に応じて、撮像画像のそれぞれに対して重みを設定する。まず、この構成の意義について説明する。1つの入力視点からの撮像範囲は限られるため、再構成画像に写る全ての被写体が1つの入力視点からの撮像画像に写っていることは少ない。したがって、再構成画像には、1つの入力視点からの撮像画像に写っておりこの撮像画像の色情報が反映される領域と、1つの入力視点からの撮像画像に写っていないためこの撮像画像の色情報が反映されない領域とが含まれることが多い。一方、特に出力視点と向きが近い入力視点からの撮像画像には、方向重み算出部420により大きい重みが与えられる。
例えば、図5(A)に示される再構成画像500には、入力視点Aからの視野内に含まれる領域510と、入力視点Bからの視野内に含まれる領域520と、入力視点A及び入力視点Bからの双方の視野内に含まれる領域530が示されている。言い換えれば、領域510は入力視点Aからの撮像画像Aにのみ写っている領域であり、領域520は入力視点Bからの撮像画像Bにのみ写っている領域であり、領域530は撮像画像A及び撮像画像Bの双方に写っている領域である。図5(B)は、図5(A)の線分X−X’に沿った撮像画像A及び撮像画像Bのそれぞれの重みの例を示す。この例において、入力視点Bと比較して、入力視点Aの向きは出力視点の向きに近いため、撮像画像Aにはより大きい重みが与えられている。図5(B)から明らかなように、撮像画像Aの寄与が大きい領域530と、撮像画像Aが寄与しない領域520との間では、撮像画像Aの寄与が大きく異なっている。このため、領域520と領域530との境界Y付近において色が急に変化する可能性がある。
本実施形態において、位置重み算出部430は、着目方向に存在する被写体が撮像装置の視野の周辺部に存在する場合、撮像装置の視野の中心部に存在する場合よりも小さい重みを設定する。すなわち、位置重み算出部430は、被写体が入力視点からの視野の周辺部に相当する場合に、被写体が視野の中心部に相当する場合よりも小さい重みを設定する。結果として、入力視点からの視野内において被写体が周辺部分に位置する場合に、撮像画像の方向重みを小さくする効果が得られる。図5(C)の例では、上記の領域530のうち、境界Y付近の画素については、撮像画像Aに対してはより小さい重みが設定され、撮像画像Bに対してはより大きい重みが設定されている。このような構成によれば、上記の領域530のうち、境界Y付近において撮像画像Aの寄与が小さくなるため、領域520と領域530との境界Y付近における色の変化を小さくすることができる。
位置重み算出部430による具体的な重みの設定方法としては、様々な方法が挙げられる。一実施形態において、撮像装置の視野内における被写体の位置は、着目方向に存在する被写体の、撮像画像中における位置である。そして、位置重み算出部430は、被写体が写っている撮像画像中の座標に従って、中心部分よりも周辺部分の方が小さくなるように重みを設定することができる。上記の例であれは、再構成画像中の着目画素(u0,v0)に対応する撮像画像中の画素(ui,vi)が周辺部分に位置する場合に、この撮像画像の重みを小さくすることができる。
別の方法として、位置重み算出部430は、再構成画像中において入力視点から見える領域を判定することができる。そして、位置重み算出部430は、判定された領域中の被写体が写っている位置が周辺部分に近いほど重みが小さくなるように、この入力視点からの撮像画像に重みを設定することができる。例えば、再構成画像中の着目画素(u0,v0)が判定された領域の中心部分にある場合よりも周辺部分にある場合の方が小さくなるように、重みを設定することができる。
なお、入力視点からの視野内における位置に応じた重みの設定方法は、上記の方法には限られない。例えば、より品質の高い撮像が行える視線方向にある被写体を撮像して得られた撮像画像の重みを大きくすることができる。また、再構成画像中において撮像画像の色情報が反映される領域を判定し、判定された領域中の被写体が写っている位置が周辺部分に近いほど重みが小さくなるように、この撮像画像に重みを設定することもできる。このような構成は、例えば色情報を重み付け合成する撮像画像の数を制限する場合に有効である。この場合、再構成画像中において入力視点から見える領域と撮像画像の色情報が反映される領域とが一致せず、入力視点から見えるにもかかわらず撮像画像の色情報が反映されない領域が存在する可能性がある。例えば、視点の向きに基づいて2つの撮像画像を選択して合成する場合、互いに隣接する領域の一方においては撮像画像Aと撮像画像Bとの色情報が用いられ、他方においては撮像画像Aと撮像画像Cとの色情報が用いられるかもしれない。この結果、これらの領域の境界において色が急激に変化する可能性がある。一方、このような構成を用いることにより、この境界周辺において撮像画像B及び撮像画像Cの重みが小さくなり、色の急激な変化を抑えることができる。
位置重み算出部420は、画素値算出部440による処理に必要になった際に位置重みを算出してもよいし、画素値算出部440による処理の前に撮像画像中の各画素について位置重みを予め算出しておいてもよい。後者の場合、位置重み算出部430は、上述のように算出された重みを撮像画像の画素のそれぞれに対応づける。そして、画素値算出部440は、後述するように着目画素に写る被写体の画素値を撮像画像から抽出する際に、撮像画像上における着目画素に対応する画素に対応づけられた位置重みを、撮像画像の重みとして使用する。
画素値算出部440は、再構成画像中の着目画素について、着目画素に写る被写体の位置を距離マップに基づいて特定し、着目画素に写る被写体の画素値を撮像画像から抽出する。この処理は、上記の式(1)〜(4)に従って行うことができる。そして、画素値算出部440は、それぞれの撮像画像から抽出した画素値を、方向重み算出部420及び位置重み算出部430が算出した重みを用いて重み付け合成する。こうして、再構成画像中のそれぞれの着目画素について画素値(色情報)が決定される。すなわち、以上の処理により、画素値算出部440は再構成画像を生成する。
最後に、本実施形態に係る画像処理装置100が行う画像処理方法について、図6(A)を参照して説明する。ステップS610において、入力視点情報取得部310は、上述のように入力視点情報を取得する。ステップS620において、画像取得部340は、上述のように撮像画像を取得する。ステップS630において、出力視点情報取得部320は、上述のように出力視点情報を取得する。ステップS640において、距離マップ取得部330は、上述のように距離マップを取得する。ステップS650において、レンダリング部350は、上述のように再構成画像を生成する。ステップS660において、画像出力部360は、上述のように再構成画像を出力する。
次に、レンダリング部350が行う処理について、図6(B)を参照して説明する。ステップS651において、歪曲補正部410は、上述のように撮像画像に対して歪曲補正処理を行う。ステップS652〜ステップS657は、再構成画像のそれぞれの画素を処理対象として繰り返される。これらのステップにおいて、処理対象の画素を着目画素と呼ぶ。ステップS653において、方向重み算出部420は、着目画素に関して、画素値を決定する際に参照するそれぞれの撮像画像に対して、上述のように視線の向きに基づいて重みを設定する。ステップS654において、位置重み算出部430は、着目画素に関して、画素値を決定する際に参照するそれぞれの撮像画像に対して、上述のように被写体の位置に基づいて重みを設定する。ステップS655において、画素値算出部440は、上述のように、それぞれの撮像画像から抽出した画素値を重み付け合成することにより、着目画素の画素値を決定する。
以上の構成によれば、仮想視点からの再構成画像において、異なる撮像画像がブレンドされている領域の境界部における急激な色の変化を抑制し、違和感を低減することができる。
(実装例)
実施形態1ではそれぞれの撮像画像に対して方向重み及び位置重みを設定し、それぞれの撮像画像からの画素値を重み付け合成する場合に説明した。しかしながら、本発明はこのような実施形態に限られず、処理精度及び処理負荷を考慮して様々な実装を採用することができる。例えば、2枚の撮像画像からの画素値を重み付け合成することで、2枚の撮像画像に基づく再構成画像を生成することができる。さらに、この再構成画像と、別の撮像画像又は別の撮像画像に基づく再構成画像と、に基づいて、より多くの撮像画像に基づく再構成画像を生成することができる。また、このように複数段階に分けて撮像画像を合成する場合、それぞれの段階で異なる合成方法を採用することができる。以下では、このような実装例の1つについて説明するとともに、位置重み及び方向重みの具体的な算出方法の1つについて説明する。
ステップS650において、画素値算出部440は、まず向きが出力視点に最も近い2つの入力視点のペアを選択する。ここでは、1番目の入力視点と2番目の入力視点が選択されたものとする。画素値算出部440は、着目画素に対応する撮像画像中の画素の画素値を、式(1)〜(4)に従って抽出する。そして、画素値算出部440は、1番目の入力視点からの撮像画像から抽出した画素値I1と、2番目の入力視点からの撮像画像から抽出した画素値I2とを、式(5)に従って重み付け合成し、画素値I12を算出する。
Inm=((min(wn,wm)・w’n+(1−(min(wn,wm))・wn)・In+(min(wn,wm)・w’m+(1−min(wn,wm))・wm)・Im)/W ……(5)
式(5)において、wn,wmはn,m番目の入力視点についての位置重みを表す。w’n,w’mはn,m番目の入力視点についての方向重みを表す。Wは重みの和を表す。
位置重みwnは、着目画素に対応する撮像画像中の画素の、撮像画像中における位置に従って、位置重み算出部430が求めている。一例として、位置重み算出部430は、撮像画像上で、着目方向に存在する被写体の撮像画像の端部からの距離が所定の閾値を超えている場合、一定の重みを設定することができる。また、位置重み算出部430は、撮像画像上で、着目方向に存在する被写体の撮像画像の端部からの距離が所定の閾値以下である場合、一定の重みより小さい重みを設定することができる。このような位置重みの設定は、式(6)に従って行うことができる。位置重みwmも同様に求めることができる。
wn=min(d0,d1,d2,d3,d’)/d’ ……(6)
式(6)において、d0〜d3は、図7(A)に示すように、着目画素に対応する撮像画像710中の画素720の、外縁までの距離を示す。d’は端部ブレンド幅を示し、外縁までの距離がd’を下回ると位置重みが小さくなる。
方向重みw’n,w’mは、入力視点から着目画素に写っている被写体への方向と、出力視点からの着目画素に対応する方向とに従って、方向重み算出部420が式(7)を用いて求めている。なお、入力視点から着目画素に写っている被写体への方向は、入力視点のカメラ位置及び被写体の世界座標等を用いて容易に算出することができる。
w’n=θm/(θn+θm)
w’m=θn/(θn+θm) ……(7)
式(7)において、図7(B)に示すように、θnは、1つの入力視点から着目画素に写っている被写体750への方向770と、出力視点からの着目画素に対応する方向760と、がなす角を示す。また、θmは、別の入力視点から着目画素に写っている被写体750への方向780と、出力視点からの着目画素に対応する方向760と、がなす角を示す。
また、画素値算出部440は、合成された画素値I12の重みw12を、式(8)を用いて算出する。
wnm=max(wn,wm) ……(8)
画素値算出部440は、同様に、向きが出力視点に3番目及び4番目に近い2つの入力視点のペアを選択する。そして、式(5)を用いて合成された画素値I34を算出し、式(8)を用いて合成された画素値I34の重みw34を算出する。
さらに、画素値算出部440は、画素値I12と画素値I34とを合成する。選択された入力視点のペアに基づいて得られた画素値Iq,Irの合成は、式(9)に基づいて行われ、合成された画素値Isが得られる。式(9)において、Iq及びwqはI1に基づく合成画素値(例えば、画素値I12、及び画素値I12とI34とが合成された画素値等)及びその重みを表す。Ir及びwrは、I1に基づかない合成画素値(例えば、画素値I34及びI56等)及びその重みを表す。
Is=wq・Iq+(1−wq)・Ir ……(9)
前述のとおり、合成画素値の重みは式(8)を用いて計算できる。言い換えれば、合成画素値Isの重みwsは、ws=max(wq,wr)と表すことができる。
画素値算出部440は、さらに、向きが出力視点に5番目及び6番目に近い2つの入力視点のペアを選択し、式(5)(8)を用いて合成画素値I56及びその重みw56を算出する。そして、画素値算出部440は、式(9)を用いて合成画素値I56をI1〜I4の合成画素値に合成する。このような処理を繰り返すことにより、着目画素の画素値が算出される。
この実装例に基づく画素値の合成方法について、図8(A)〜(C)を参照して説明する。図8(A)〜(C)は、再構成画像上における、それぞれの入力視点の視野範囲(すなわち、各撮像画像の投影範囲)を示す。本実装例においては、1つの着目画素の画素値を決定する際に、まず第1の入力視点ペアからの撮像画像に基づいて、第1の入力視点ペアの視野範囲810について画素値が決定される。次に、第2の入力視点ペアからの撮像画像に基づいて、第2の入力視点ペアの視野範囲820について画素値が決定され、第1の入力視点ペアの視野範囲810の画素値と合成される。第3の入力視点ペア及びさらなる入力視点ペアからの撮像画像に基づいて、さらなる視野範囲830について画素値が逐次決定され、既に得られた画素値と合成される。
この方法によれば、出力視点と向きが近い2つの入力視点を選択して画素値を合成した後に、さらなる2つの入力視点に基づく合成画素値がさらに逐次的に合成される。式(5)に従う2つの画素値の合成は実施形態1と同様である。また、式(9)に従う合成画素値同士の合成も、実施形態1と同様の考えに基づいている。すなわち、合成画素値の重みwnmは2つの入力視点の向きが出力視点の向きに近いほど大きくなるし、被写体が2つの入力視点の視野範囲の周辺部に近いほど小さくなる。このように、合成処理においては、異なる2つの方法を組み合わせることが可能である。また、本発明に係る方法と、その他の方法とを組み合わせて用いることもできる。
とりわけ、この実装例において、画素値算出部440は、向きが仮想視点と近い2つの撮像装置を選択し、選択された撮像装置により撮像された撮像画像を用いて、着目方向に存在する被写体の色情報を決定する第1の処理をまず行う。この処理は、第1の入力視点ペアからの撮像画像に基づく、第1の入力視点ペアの視野範囲810における画素値の決定に相当する。ここで、本実施形態において、式(6)によれば入力視点の視野の中央部においては位置重みwnが1となり、方向重みwn’は1未満である。したがって、視野範囲810の中央部分の重みwnmは1であり、周辺部分のみ重みwnmが1未満となる。
したがって、式(9)に従って第2の入力視点ペアの視野範囲820における画素値を合成する第2の処理を行うと、視野範囲810の中央部分の画素値は更新されず、視野範囲810の周辺部分の画素値のみが更新される。また、視野範囲810の外については、第2の入力視点ペアからの撮像画像に基づく画素値が用いられる。まとめると、第2の処理において、画素値算出部440は、着目方向に存在する被写体が2つの撮像装置(第1の入力視点ペア)の視野内の中央部に存在する場合、第1の処理により決定された被写体の色情報を更新しない。また、着目方向に存在する被写体が2つの撮像装置(第1の入力視点ペア)の視野内の周辺部に存在する場合、画素値算出部440は次の処理を行う。すなわち、画素値算出部440は、2つの撮像装置とは異なる撮像装置(第2の入力視点ペア)により撮像された撮像画像を用いて決定された着目方向に存在する被写体の色情報を、第1の処理により決定された被写体の色情報と合成する。そして、着目方向に存在する被写体が2つの撮像装置の視野外に存在する場合、画素値算出部440は次の処理を行う。すなわち、画素値算出部440は、2つの撮像装置(第1の入力視点ペア)とは異なる撮像装置(第2の入力視点ペア)により撮像された撮像画像を用いて、着目方向に存在する被写体の色情報を決定する。
このような実装例においては、向きが仮想視点と近い撮像装置からの撮像画像が、再構成画像の生成において重視されるため、より違和感の少ない画像を合成することができる。なお、具体的な合成方法は特に限定されず、撮像画像のペアに基づく画素値を合成する代わりに、1つの撮像画像に基づく画素値を合成してもよい。
[実施形態2]
実施形態1では、時間とともに位置及び形状が変化する人物のような被写体と、時間とともに位置がほとんど変化しない壁面のような被写体と、の双方について、仮想視点からの距離に基づいて仮想視点からの画像を再構成した。一方で、例えば壁面、床、及び天井のような背景は撮像装置108との位置姿勢関係が一定である。したがって、仮想視点の位置姿勢が決まれば、撮像画像に対するホモグラフィ変換を行うことで、背景の再構成画像のうち、この撮像画像に対応する領域の画像を生成することができる。そして、それぞれの撮像画像から得られた背景の画像をブレンディングすることにより、背景の再構成画像を生成することができる。別途、式(1)〜(4)を用いて、又は実施形態1と同様の方法で人物等の背景以外の画像を生成して背景に合成することで、人物等を含む再構成画像を生成することもできる。実施形態2では、このような処理について説明する。なお、以下の説明において、時間とともに位置又は形状が変化する被写体のことを動体と呼び、時間とともに位置及び形状が変化しない被写体のことを背景と呼ぶ。
実施形態2に係る画像処理装置は、図3及び図4に示す画像処理装置100と同様の構成を有し、以下では異なる点について主に説明する。また、実施形態2に係る処理は、ステップS640及びS650の処理が異なることを除き、実施形態1と同様に行うことができる。
ステップS640において、距離マップ取得部330は、仮想視点から被写体までの距離マップに加えて、背景の位置を示す位置情報を取得する。本実施形態において、背景は、複数の面で構成される被写体のモデルにより表される。本実施形態で用いられる位置情報の例を図9に示す。背景は体育館の壁面、床、及び天井であり、背景の位置情報は4頂点ポリゴンモデル910で表される。もっとも、位置情報の種類は特に限定されない。なお、動体の再構成画像を生成しない場合、仮想視点から被写体までの距離マップを取得することは必要ではない。
ステップS640において、距離マップ取得部330はさらに、再構成画像の各画素について、撮像画像中の対応する画素を判定する。ここで、対応する画素とは、背景の同じ位置が写っている画素のことを指す。入力視点、出力視点、及び背景モデルの位置姿勢関係が既知であるため、この処理は任意の方法を用いて行うことができる。例えば、背景モデルに含まれる背景平面を出力視点からの再構成画像及び入力視点からの撮像画像に射影することにより、再構成画像中の画素位置を撮像画像中の画素位置に変換するホモグラフィ行列を算出することができる。本実施形態の場合、背景モデルに含まれる背景平面は、4頂点ポリゴンの1つを意味する。このような処理をそれぞれの背景平面について繰り返すことにより、再構成画像中の各画素に対応する背景平面が決定される。また、背景平面ごとに、それぞれの撮像画像について、再構成画像中の着目画素に対応する画素位置を算出するためのホモグラフィ行列が得られる。このホモグラフィ行列を用いて、それぞれの撮像画像について、再構成画像中の着目画素に対応する画素位置を算出することができる。なお、着目画素がどの背景平面にも対応しない場合、及び着目画素が動体が写っている領域にある場合には、本実施形態では実施形態1と同様に着目画素の画素値が算出されるため、着目画素に対応する撮像画像中の画素を判定するこの処理は行わなくてもよい。
以下、ステップS650における処理について説明する。ステップS651は実施形態1と同様に行うことができる。ステップS652〜S656は、実施形態1と同様、再構成画像の各画素について行われ、着目画素の画素値が算出される。以下では、再構成画像のうち、背景が写っている画素の画素値を算出する処理について説明する。再構成画像のうち、動体が写っている画素又は対応する背景平面が存在しない画素の画素値は、例えば実施形態1と同様の方法により算出することができる。また、再構成画像のうち、背景が写っている領域と動体が写っている領域との識別は、従来知られている方法により行うことができる。例えば、動体が存在していない場合の距離マップと、動体が存在する場合の距離マップとを比較し、画素値の差分が閾値以上である画素を動体が写っている領域と判定することができる。
ここまでの処理で、着目画素に対応する撮像画像中の画素は既知である。したがって、実施形態1と同様に、ステップS653で方向重み算出部420はそれぞれの撮像画像について方向重みを算出することができ、ステップS654で位置重み算出部430はそれぞれの撮像画像について位置重みを算出することができる。そして、ステップS655で画素値算出部440は着目画素の画素値を決定することができる。例えば、画素値算出部440は、仮想視点からの画像への背景モデル面の射影像と、撮像画像への背景モデル面の射影像と、の間の座標変換を用いて、着目方向に存在する被写体に対応する撮像画像上の画素を特定することができる。そして、画素値算出部440は、特定された画素の色情報を着目方向に存在する被写体の色情報として取得することができる。最後に、画素値算出部440は、それぞれの撮像画像から抽出した色情報を方向重み及び位置重みを用いて重み付け合成することにより、着目方向に存在する被写体の色情報を決定することができる。
本実施形態によれば、背景画像については、再構成画像中の画素に対応する撮像画像中の画素を特定するために式(1)〜(4)の計算を行わなくてもよいため、処理を高速化することができる。
前記背景の位置を示す位置情報には、透過方向を示す情報を設定することができる。この場合、仮想視点からの視線が、背景の透過方向に従って背景を横切るならば、背景を描画しないことができる。また、仮想視点からの視線が、背景の反射方向に従って背景を横切るならば、背景を描画することができる。このような処理により、例えば、仮想視点が床の上方にある場合に床を描画し、仮想視点が床の下方にある場合には床を描画しないように、制御を行うことができる。このような処理によれば、より自由な仮想視点からの再構成画像を生成することが可能となる。
具体的な一例として、背景の位置を示すポリゴンモデルの各面に、反射面か透過面かを示す情報を与えることができる。ここで、1つのポリゴンについては、両面に独立に反射面か透過面かを示す情報を与えることができる。仮想視点がポリゴンの透過面側に存在する場合、このポリゴンは存在しないものとして扱いながら、再構成画像の各画素について、撮像画像中の対応する画素を判定することができる。例えば、仮想視点がポリゴンの透過面側に存在する場合、このポリゴンについてはホモグラフィ行列の算出及びそのための射影処理を行わなくてよい。このような例においては、床を示すポリゴンのうち、表面(内面)に反射面を示す情報を設定し、裏面(外面)に透過面を示す情報を設定することにより、上記のような制御が可能となる。なお、ポリゴンの反射面側に、仮想視点と撮像装置との双方が存在する場合に、このポリゴンが存在するものとして扱うこともできる。
[実施形態3]
実施形態1では、実装例として、2つの入力視点ペアからの撮像画像に基づいて出力視点からの画像を得て、各画像を合成することにより、再構成画像を生成する例について説明した。実施形態3では、3つ以上の入力視点からの撮像画像に基づいて再構成画像を生成する例について説明する。
本実施形態においては、以下のようにして再構成画像上の着目画素の画素値が決定される。まず、入力視点からの撮像画像において、着目画素の方向(着目方向)に存在する被写体が撮像画像に写っているような入力視点が選択される。次に、既に説明したように、入力視点の撮像方向に応じた方向重み(又は角度重み)が算出され、入力視点からの視野内におけるオブジェクトの位置に応じた位置重みが算出される。そして、方向重みと位置重みとを合成することで、入力視点の向きと入力視点の視野内におけるオブジェクトの位置とに応じた重みが算出される。このようにして、方向重み(又は角度重み)と位置重みとの双方を考慮して、それぞれの入力視点に重みが設定される。そして、入力視点からの撮像画像から既に説明したように得られた着目画素の画素値を、入力視点に設定された重みに応じて重み付け合成することにより、着目画素の画素値が決定される。
以下、本実施形態における再構成画像生成方法の具体例について、図10に示す入力視点が3視点の場合を例として説明する。図10(A)は、再構成画像1000上での入力視点1〜3の可視範囲1001〜1003を示す。本実施形態においては、撮像画像の端部からの距離に基づいて位置重みが設定される。従って、再構成画像1000上での位置重みは、可視範囲の端部から内側に向かって増大し、十分に内側の領域では一定値となる。例えば、図10(C)は、線分1004に沿った各位置における位置重みを示す。領域1009〜1011は、それぞれ入力視点1〜3の位置重みに対応する。
本実施形態では、再構成画像1000を、着目方向に存在する被写体が撮像画像に写っているような入力視点の組み合わせに応じて分割し、それぞれの領域について角度重みを設定する。すなわち、角度重みによる重み付けは、着目画素に対応する被写体が見えている視点の組ごとに行われる。図10(B)は、このような分割の例を示す。
入力視点1及び2から見えている領域1005に対しては、入力視点1,2に基づく角度重みを設定する。領域1005における角度重みの設定方法を、概念図1006を参照して説明する。概念図1006においては、円が光線方向を表しており、矢印が出力視点からの光線、白丸が被写体が見えている入力視点からの光線を表している。領域1005については、概念図1006に示される角度d1(入力視点1からの光線と出力視点からの光線とがなす角度)と、角度d2(入力視点2からの光線と出力視点からの光線とがなす角度)に基づき角度重みが設定される。
また、概念図1008に示されるように、領域1007については、角度d1と、角度d2と、に基づき角度重みが設定される。このように、被写体が見えている入力視点が3つ以上である場合、出力視点と距離又は光線が近い2つの入力視点についての角度d1及びd2に基づいて、角度重みが設定される。
入力視点の組み合わせのそれぞれについて角度重みを設定した後は、位置重みの設定及び再統合が行われる。図10(d)は、線分1004に沿った、入力視点の組み合わせのそれぞれについての位置重みを表した図である。領域1012は、入力視点1のみからなる組の成分についての重みであり、領域1013は入力視点1及び2からなる組についての成分の重みであり、領域1014は入力視点1と2と3とからなる組についての成分の重みである。各組の位置重みの設定方法は特に限定されない。例えば、組に含まれるそれぞれの入力視点について実施形態1と同様に設定される位置重みのうち、最小の位置重みに基づいて、組についての位置重みを設定することができる。具体例としては、入力視点数の多い組から順に、被写体が見えている入力視点についての位置重みのうち最小のものに入力視点数を乗じ、得られた値を位置重みとして割り当てていく方法が挙げられる。
実施形態3におけるレンダリング部350の構成例を図11に示す。歪曲補正部410及び位置重み算出部430の構成及び処理は実施形態1と同様である。可視判定部1101は、オブジェクトが複数の撮像装置のそれぞれから見えているか否かを判定する。例えば、可視判定部1101は、再構成画像上の着目画素に対応する被写体が、各入力視点からの撮像画像上で見えているかを判定し、判定結果を可視視点情報として生成する。
視点選択部1102は、オブジェクトが見えている撮像装置群から選択された1以上の撮像装置の組を示す視点組み合わせ情報(選択情報)を生成する。例えば、視点選択部1102は、被写体が見えている入力視点の組から、1以上の入力視点の組を選択することにより視点組み合わせ情報を生成する。合成位置重み算出部1103は、視点組み合わせ情報に基づいて、各入力視点についての位置重みから合成位置重みを算出する。また、合成位置重み算出部1103は、重みを使い切った入力視点を無効化し、重みを使い切った入力視点の情報を視点選択部1102に通知することにより視点選択部1102による選択の対象から外す。方向重み算出部1104は、視点組み合わせ情報に基づいて角度重みを決定する。重み算出部1105は、合成位置重みと角度重みとに基づいて合成重みを算出する。画素値算出部1106は、合成重みと歪曲補正画像とに基づいて画素値を算出する。
図12は、視点選択部1102及び合成位置重み算出部1103の詳細な構成例を示す。視点組み合わせ生成部1201は、有効視点バッファ1202に格納されている有効視点情報に基づいて入力視点の組み合わせを選択することにより、視点組み合わせ情報を生成する。ここで、視点組み合わせ生成部1201は、選択する時点で有効となっている入力視点を選択する。有効視点バッファ1202は有効視点情報を保持するバッファであり、有効視点情報は各入力視点について有効か無効かを示す。有効視点情報は、再構成画像上の着目画素が変わるたびに、可視視点情報に基づいて、被写体が見えている入力視点が有効となるように初期化される。
位置重み和算出部1204は、各入力視点についての位置重みの総和を算出する。なお、不可視の入力視点、すなわち再構成画像上の着目画素に対応する被写体が見えていない入力視点についての位置重みは0として算出が行われる。位置重みバッファ1205は、各入力視点についての位置重みを保持するバッファであり、再構成画像上の着目画素が変わる度に、各入力視点について位置重み算出部430が得た位置重みを用いて初期化される。具体的には、初期化の際には、位置重みバッファ1205には、各入力視点についての位置重みを位置重みの総和で割った値が格納される。
最小位置重み算出部1206は、視点組み合わせ情報に基づいて、選択された入力視点から、位置重みバッファ1205に格納されている位置重みが最小である入力視点を選択する。選択された入力視点の情報は有効視点更新部1203に通知され、有効視点更新部1203は、選択された入力視点が無効視点となるように有効視点バッファ1202を更新する。また、重み更新部1207は、位置重みバッファ1205が保持する位置重みについて、視点組み合わせ生成部1201が選択した入力視点についての位置重みから、最小位置重み算出部1206が選択した入力視点についての位置重みを減算する更新処理を行う。重み決定部1208は、最小位置重み算出部1206が選択した入力視点についての位置重みに、視点組み合わせ生成部1201が選択した入力視点の数を乗じることで、合成位置重みを算出する。
実施形態3におけるレンダリング部350による処理の流れを図13に示す。ステップS651、ステップS652、ステップS656は実施形態1と同様に行われる。ステップS1301において可視判定部1101は上述のように可視視点情報を生成する。ステップS1302において可視判定部1101は上述のように可視視点情報に基づいて有効視点バッファ1202の初期化を行う。ステップS1303において位置重み算出部430は上述のように各入力視点についての位置重みを算出する。ステップS1304において位置重み和算出部1204は上述のように各入力視点についての位置重みの総和を算出し、位置重みバッファ1205の初期化を行う。
ステップS1305において視点組み合わせ生成部1201は、上述のように有効視点情報に基づいて入力視点の組み合わせを選択し、視点組み合わせ情報を生成する。例えば、視点組み合わせ生成部1201は、有効な入力視点をすべて選択する。ステップS1306において最小位置重み算出部1206は、視点組み合わせ情報と位置重みバッファ1205に格納された位置重みとに基づいて、位置重みが最小である入力視点を上述のように選択する。ステップS1307において有効視点更新部1203は、ステップS1306で選択された入力視点が無効化されるように、上述のように有効視点バッファ1202を更新する。ステップS1308において重み更新部1207は、上述のように位置重みバッファ1202を更新する。具体的には、重み更新部1207は、ステップS1305で選択された選択された各入力視点について、現在の位置重みからステップS1306で選択された入力視点についての位置重みを減算する。ステップS1309において重み決定部1208は、ステップS1306で選択された入力視点についての位置重みに、ステップS1305で選択された入力視点の数を乗じることで、上述のように合成位置重みを算出する。こうして算出された合成位置重みは、ステップS1305で選択された入力視点の組み合わせについての合成位置重みとして用いられる。
ステップS1310において、方向重み算出部1104は、上述のように視点組み合わせ情報に基づいて方向重みを決定する。この方向重みは、ステップS1305で選択された入力視点の組み合わせについて、各入力視点の重みを示す方向重みとして用いられる。ステップS1311において重み算出部1105は、ステップS1310で各入力視点について決定された方向重みに、ステップS1309で算出された合成位置重みを乗じることにより、各入力視点についての重みの更新量を算出する。
ステップS1312において重み算出部1105は、ステップS1311で算出された更新量を、これまでの各入力視点についての累積重みに加算することで、各入力視点についての累積重みを更新する。なお、各入力視点についての累積重みは、再構成画像上の着目画素が変わる度に0に初期化されている。そして、これまでの各入力視点についての累積重みは、現在の視点組み合わせ情報とは異なる視点組み合わせ情報に基づいて算出された重みの更新量を累積することにより得られている。ステップS1313において、視点組み合わせ生成部1201は、有効視点が残っているか否かを判定する。有効視点が残っていなければ処理はステップS656に進み、残っていれば処理はステップS1305に戻り、別の有効視点の組み合わせについて処理が繰り返される。
ステップS1314において画素値算出部1106は、各入力視点についての歪曲補正画像と、各入力視点についての累積重みと、に基づいて着目画素の画素値を決定する。具体的には、着目画素に対応する歪曲補正画像上の画素の画素値を、累積重みを用いて重み付け合成することにより、着目画素の画素値を決定することができる。ここで、各入力視点についての累積重みは、位置重みと方向重みとの双方を考慮した重みである。
図14(図14−1〜図14−3)は、入力視点が5つある場合における、本実施形態における重み算出処理の流れを例示する。図14(A)は、各入力視点についての位置重みが、4回の更新を経てどのように変化するかを表している。また、図14(B)は、有効視点が4回の更新を経てどのように変化するかを表している。図14(B)では、1が有効、0が無効を表している。入力視点5からは着目画素に対応する被写体は可視でないため、初期状態において入力視点は無効であり、累積重みは0となる。図14(C)は、各更新により得られる最小重み視点(位置重みが最小となる入力視点)、最小位置重み(最小重み視点の位置重み)、有効視点数、及び合成位置重みを表している。
初期値においては、有効視点1,2,3,4の中では、入力視点2が最小重み視点であり、その位置重みは0.1である。したがって1回目の更新では入力視点1,2,3,4についての位置重みから最小位置重みの0.1が引かれ、視点2が無効化される。また、有効視点数は4であるので、合成位置重みは0.4となる。1回更新後においては、有効視点1,3,4の中では、入力視点3が最小重み視点であり、その位置重みは0.1である。したがって2回目の更新では、視点1,3,4についての位置重みから最小位置重みの0.1が引かれ、視点3が無効化される。また、有効視点数は3であるので、合成位置重みは0.3となる。2回更新後においては、有効視点1,4の中では、有効視点1が最小重み視点であり、その位置重みは0.1である。したがって3回目の更新では、視点1,4についての位置重みから最小位置重みの0.1が引かれ、入力視点2が無効化される。また有効視点数は2であるので、合成位置重みは0.2となる。3回更新後においては、入力視点4が唯一有効であるから、入力視点4が最小重み視点であり、その位置重みは0.1である。したがって4回目の更新では、入力視点4が無効化され、繰り返しが終了する。また、有効視点数は1であるので、合成位置重みは0.1となる。
図14(D)は、一例における、出力視点からの光線と、各入力視点からの光線とがなす角を表す。ここでは、出力視点からの光線は、入力視点2と入力視点3の光線の間に位置している。方向重みは、出力視点と出力視点から左回り方向に最近傍の入力視点とのなす角、及び出力視点と出力視点から右回り方向に最近傍の入力視点とのなす角に基づいて、式(7)にしたがって算出できる。ここで、出力視点からの光線としては、出力視点から、再構成画像上の着目画素に対応する被写体への光線を算出して用いることができる。また、入力視点からの光線としては、入力視点から、再構成画像上の着目画素に対応する被写体への光線を算出して用いることができる。なお、入力視点からの光線は、実施形態1で説明した入力視点から着目画素に写っている被写体への方向に、出力視点からの光線は、実施形態1で説明した出力視点からの着目画素に対応する方向に、それぞれ対応する。したがって、入力視点及び出力視点からの光線としては、実施形態1と同様のものを用いることができる。例えば、画素毎に光線を算出する代わりに、各視点の光軸ベクトル、又は各視点位置から基準点へのベクトルを、光線として用いることができる。さらに、光線がなす角は、光線を基準面に射影して得られる2次元ベクトルがなす角を用いてもよいし、3次元空間中において光線がなす角を用いてもよい。
図14(E)は、図14(D)に示す光線がなす角に基づいて算出された、方向重みの例を示す。ステップS1310の通り、「1回目更新」の欄は、入力視点1〜4の組み合わせに対する各入力視点の方向重みを表す。図14(E)の例では、入力視点1〜4の組み合わせに対応する画素値成分は、入力視点2からの撮像画像と、入力視点3からの撮像画像とに基づいて設定される。本実施形態では、2以上の入力視点の組み合わせに対応する画素値成分は、2つの入力視点からの撮像画像から得られた画素値の組み合わせで表されるため、上述のように2つの入力視点について重みが設定されている。同様に、「2回目更新」「3回目更新」及び「4回目更新」の欄は、入力視点1,3,4の組み合わせ、入力視点1,4の組み合わせ、及び入力視点4からなる組み合わせについての方向重みを表す。
図14(F)は、図14(C)に示す合成位置重みに、図14(E)に示す方向重みを乗じて得られる値を示し、これは重みの更新量として用いられる。図14の例において、着目画素の画素値成分は、以下の画素値成分の組み合わせで表される。すなわち、入力視点1〜4の組み合わせに対応する画素値成分と、入力視点1,3,4の組み合わせに対応する画素値成分と、入力視点1,4の組み合わせに対応する画素値成分と、入力視点4からなる組み合わせに対応する画素値成分と、の組み合わせである。図14(F)に示される重みの更新量は、入力視点の組み合わせの1つに対応する画素値成分を算出する際に用いられる、各入力視点の重みに相当する。そして、重みの更新量を更新毎に加算して累積していくと、図14(G)に示す最終的な入力視点毎の重みが得られる。この重みで、各入力視点からの撮像画像において着目画素に対応する画素の画素値を重み付き平均することにより、着目画素の画素値が得られる。各入力視点からの撮像画像における着目画素に対応する画素の画素値の算出は、実施形態1,2と同様に行うことができる。
ここで示した合成位置重みの算出方法は一例であり、合成位置重みは他の方法で算出することもできる。例えば、入力視点ごとに算出した位置重みを用いる代わりに、入力視点の組み合わせに応じて分割した領域のそれぞれについて、端部のブレンド幅を適宜設定し、この領域の端部からの距離に応じて設定された位置重みを合成位置重みとして用いることができる。また、有効視点を全て選択する代わりに、出力視点光線と入力視点光線とのなす角が小さい2つの入力視点を選択し、選択された入力視点を含むような入力視点の組み合わせ全てに対して重みを減じる処理を繰り返すこともできる。また、方向重みの算出方法も一例であり、方向重みは他の方法で算出することもできる。例えば、3以上の入力視点について方向重みを設定してもよいし、非線形な重みを設定することもできる。また、最近傍の入力視点について算出した重みと、被写体が可視である視点の間で平均的に設定された重みと、を基準面と光線とがなす角に基づきブレンドすることもできる。このような方法によれば、光線方向が基準面に対して垂直となる位置の近傍で急激に重みが変化する現象を抑制することもできる。
[実施形態4]
実施形態3までは、概略円環状に配置された入力視点からの撮像画像を用いる例を示した。実施形態4では、主たる撮像画像の他に、背景撮像画像又は環境情報などを用いて再構成画像を生成する例を示す。
実施形態4に係るレンダリング部350の構成例を図15に示す。本実施形態における主レンダリング部1501及び背景レンダリング部1502は、実施形態1〜3におけるレンダリング部350と同様の構成及び処理を行い、それぞれ主レンダリング画像及び背景レンダリング画像を生成する。例えば、主レンダリング部1501は動体である被写体の画像を主レンダリング画像として生成することができ、背景レンダリング部1502は背景である被写体の画像を背景レンダリング画像として生成することができる。このような処理は、例えば実施形態2の方法を応用することにより行うことができる。本実施形態において、主レンダリング部1501及び背景レンダリング部1502は、それぞれ概略円環状に配置されている、異なるグループの撮像装置により得られた撮像画像を用いてレンダリングを行う。すなわち、主レンダリング部1501は、主撮像部グループにより得られた主撮像画像群に基づいて色情報を決定する。また、背景レンダリング部1502は、背景撮像部グループにより得られた背景撮像画像群に基づいて色情報を決定する。
また、主レンダリング部1501及び背景レンダリング部1502は、レンダリング画像の他に、レンダリング画像の各画素についての位置重みを示す主重みマップ及び背景重みマップを生成する。この重みマップは、レンダリング画像の各画素に対して、各画素に対応する全入力視点の位置重みのうちの最大の位置重みを格納している。ブレンディング部1503は、主レンダリング画像と背景レンダリング画像とを重みマップに基づきブレンド(合成)することにより、オブジェクトの色情報を決定し、こうしてブレンド画像を出力する。ブレンド方法の一例としては、主レンダリング画像には位置重みを乗じ、背景レンダリング画像には(1−位置重み)を乗じて、加算平均する方法が挙げられる。ここで用いられる位置重みとしては、正規化された、主重みマップに示される位置重みを用いることができる。また、重み算出部1504は、主重みマップと背景重みマップとから新たな重みマップを生成する。重み算出部は、主重みマップに示される重みと背景重みマップに示される重みとの最大値を、新たな重みマップに示される重みとして算出することができる。
環境レンダリング部1505は、環境レンダリング画像を生成する。環境レンダリング部1505は、例えば、各光線方向に対して画素値が定義された環境マップ又は単色を示す色情報のような環境情報を用いてレンダリングを行うことにより、環境レンダリング画像を生成することができる。ブレンディング部1506は、ブレンディング部1503が生成したブレンド画像と、環境レンダリング画像とをブレンディングすることにより、最終的な出力画像を生成することができる。ここで、ブレンディング部1506は、重み算出部1504が生成した重みマップに基づいて、ブレンディング部1503と同様にブレンディングを行うことができる。
実施形態3におけるレンダリング部350が行う処理の流れを図16に示す。ステップS1601において、主レンダリング部1501は主撮像画像に基づき主レンダリング画像を生成する。ステップS1602において、背景レンダリング部1502は背景撮像画像に基づいて背景レンダリング画像を生成する。ステップS1603において、環境レンダリング部1505は環境情報に基づいて環境レンダリング画像を生成する。ステップS1604においてブレンディング部1503は主レンダリング画像と背景レンダリング画像とをブレンディングする。ステップS1605において重み算出部1504は主重みマップと背景重みマップとを合成する。ステップS1606では、ステップS1605で得られた重みマップに基づいて、ブレンディング部1506が、ステップS1604で生成した画像と環境レンダリング画像とをブレンディングする。
本実施形態では、主撮像画像、背景撮像画像、及び環境情報を用いて画像を生成する例を示したが、用いる画像群はこれより多くても少なくても構わない。また、ここに示したブレンディング方法は一例に過ぎず、他の方法を用いることもできる。例えば、基準面と光線のなす角、又は出力視点の位置に基づき、画像のブレンディング比率を変えることもできる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。