任意視点画像生成装置及び任意視点画像生成方法
【課題】 任意視点画像を生成するための画像を撮影するためのカメラ等の撮影手段の位置や撮影方向、また撮影手段間の光学系が不統一な場合であっても任意視点画像を生成する。
【解決手段】 任意視点画像生成サーバ10は、画像及びカメラパラメータを入力する画像入力部11と、入力された画像及びカメラパラメータから、画像が撮影された位置に入射する光線を算出する光線算出部12と、生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報を入力する視点情報入力部13と、仮想的な撮影方向及び撮影位置を示す情報に基づいて、上記の光線の方向から、当該仮想的な撮影位置に入射する光線を算出する光線マッピング部14と、上記算出された光線の輝度値から任意視点画像を生成する画像生成部15と、任意視点画像を出力する画像出力部16とを備える。
【解決手段】 任意視点画像生成サーバ10は、画像及びカメラパラメータを入力する画像入力部11と、入力された画像及びカメラパラメータから、画像が撮影された位置に入射する光線を算出する光線算出部12と、生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報を入力する視点情報入力部13と、仮想的な撮影方向及び撮影位置を示す情報に基づいて、上記の光線の方向から、当該仮想的な撮影位置に入射する光線を算出する光線マッピング部14と、上記算出された光線の輝度値から任意視点画像を生成する画像生成部15と、任意視点画像を出力する画像出力部16とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、実際に撮影を行っていない任意の視点の任意視点画像を生成する任意視点画像生成装置及び任意視点画像生成方法に関する。
【背景技術】
【0002】
任意視点画像生成技術とは、あるシーンを複数のカメラで撮影し、撮影された画像を基にして、カメラが実際に配置されていない場所の画像(任意視点画像)を合成する技術である。特許文献1では、画像の合成に用いるための画像を撮影するための複数のカメラの光軸が水平にする等、カメラが規則的に配置される状況を前提とし、また、特許文献2では、統一の解像度及び統一の光学系を用いて、複数の画像を統一の光線空間に落とし込んで任意視点画像を生成している。
【特許文献1】特開2008−15756号公報
【特許文献2】特開2006−126965号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上述したように、上記の従来の任意視点画像の生成手法は、カメラの配置の制約条件や、カメラが統一の光学系(解像度やレンズ等)のものでなければならない等、撮影条件に非常に大きな制約がある。従って、携帯電話機に設けられるカメラやデジタルカメラ等が用いられるモバイル環境において、それらのカメラによって撮影された画像を、任意視点画像を生成するための画像として用いようとすると、上記の方法を適用することは難しい。モバイル環境では、各カメラの位置や光学系が一定ではないため、上記の方法では複数の画像を統一の光線空間に落とし込むことはできないためである。
【0004】
本発明は、以上の問題点を解決するためになされたものであり、任意視点画像を生成するための画像を撮影するためのカメラ等の撮影手段の位置や撮影方向、また撮影手段間の光学系が不統一な場合であっても任意視点画像を生成することができる任意視点画像生成装置及び任意視点画像生成方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明に係る任意視点画像生成装置は、画像、並びに当該画像の撮影方向及び撮影位置を示す情報を入力する画像入力手段と、画像入力手段によって入力された画像を構成する画素の位置及び画素値、並びに当該画像の撮影方向を示す情報から、画像が撮影された位置に入射する光線の輝度値及び方向を算出する光線算出手段と、生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報を入力する視点情報入力手段と、視点情報入力手段によって入力された仮想的な撮影方向及び撮影位置を示す情報に基づいて、光線算出手段によって算出された光線の方向から、当該仮想的な撮影位置に入射する光線を算出する光線マッピング手段と、光線マッピング手段によって算出された光線の輝度値から、任意視点画像を生成する画像生成手段と、画像生成手段によって生成された任意視点画像を出力する画像出力手段と、を備えることを特徴とする。
【0006】
本発明に係る任意視点画像生成装置では、任意視点画像の生成の基となる画像から画像が撮影された位置に入射する光線に関する情報が算出されて、仮想的な撮影位置に入射する当該光線に関する情報が算出され、この情報から任意視点画像が生成される。即ち、本発明に係る任意視点画像生成装置では、任意視点画像を生成するための画像を撮影するためのカメラ等の撮影手段の位置や撮影方向、また撮影手段間の光学系が不統一な場合であっても、上記のように、統一的に扱いえる光線に関する情報を用いることにより任意視点画像を生成することができる。
【0007】
光線算出手段は、光線の方向を画像が撮影された位置を中心とした単位球上の座標として算出することが望ましい。この構成によれば、当該位置を通過する光線を確実に表現することができ、確実に任意視点画像を生成することができる。
【0008】
光線算出手段は、画像を構成する画素に対応する光線の方向及び輝度値を算出することが望ましい。この構成によれば、確実に画像を再構成する際に必要となる光線に関する情報を算出することができる。
【0009】
光線算出手段は、算出した画素に対応する光線の方向及び輝度値に基づいて、画像が撮影された位置に入射する光線の方向及び輝度値を示す関数を算出することが望ましい。この構成によれば、デジタル画像において離散的に標本化された画素に対応しない方向の光線も算出することができ、適切に任意視点画像を生成することができる。
【0010】
光線算出手段は、算出した光線の放射元の位置を特定し、光線マッピング手段は、光線算出手段によって特定された放射元の位置から仮想的な撮影位置に入射する光線を算出することが望ましい。この構成によれば、画像が撮影された位置に入射する光線だけでは仮想的な撮影位置に入射する光線を算出できない場合であっても、当該仮想的な撮影位置に入射する光線を算出することができ、適切に任意視点画像を生成することができる。
【0011】
光線算出手段は、画像入力手段によって入力された複数の画像における互いに対応する対応点の光線の方向に基づいて、光線の放射元の位置を特定することが望ましい。この構成によれば、確実に放射元の位置を特定することができ、適切に任意視点画像を生成することができる。
【0012】
光線算出手段は、光線算出手段によって算出される光線の方向の奥行きを示す情報を入力して、当該光線の放射元の位置を特定することが望ましい。この構成によれば、確実に放射元の位置を特定することができ、適切に任意視点画像を生成することができる。
【0013】
画像生成手段は、光線マッピング手段によって算出した仮想的な撮影位置に入射する光線に基づいて、仮想的な撮影位置に入射する光線の方向及び輝度値を示す関数を算出することが望ましい。この構成によれば、画像から算出された光線の方向から、仮想的な撮影位置に入射する光線を十分に算出できなかった場合でも任意視点画像を生成することができる。
【0014】
ところで、本発明は、上記のように任意視点画像生成装置の発明として記述できる他に、以下のように任意視点画像生成方法としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【0015】
即ち、本発明に係る任意視点画像生成方法は、画像、並びに当該画像の撮影方向及び撮影位置を示す情報を入力する画像入力ステップと、画像入力ステップにおいて入力された画像を構成する画素の位置及び画素値、並びに当該画像の撮影方向を示す情報から、画像が撮影された位置に入射する光線の輝度値及び方向を算出する光線算出ステップと、生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報を入力する視点情報入力ステップと、視点情報入力ステップにおいて入力された仮想的な撮影方向及び撮影位置を示す情報に基づいて、光線算出ステップにおいて算出された光線の方向から、当該仮想的な撮影位置に入射する光線を算出する光線マッピングステップと、光線マッピングステップにおいて算出された光線の輝度値から、任意視点画像を生成する画像生成ステップと、画像生成ステップにおいて生成された任意視点画像を出力する画像出力ステップと、を含むことを特徴とする。
【発明の効果】
【0016】
本発明によれば、任意視点画像を生成するための画像を撮影するためのカメラ等の撮影手段の位置や撮影方向、また撮影手段間の光学系が不統一な場合であっても、上記のように、統一的に扱いえる光線に関する情報を用いることにより、適切に任意視点画像を生成することができる。
【発明を実施するための最良の形態】
【0017】
以下、図面とともに本発明に係る任意視点画像生成装置及び任意視点画像生成方法の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0018】
図1に本実施形態に係る任意視点画像生成装置である任意視点画像生成サーバ10を示す。任意視点画像生成サーバ10は、入力画像提供装置20とクライアント30と接続されており、それらの装置の間でデータの送受信を行うことができる。任意視点画像生成サーバ10は、入力画像提供装置20から画像を受信し、クライアント30からの要求を受け付けて、当該要求に応じて入力画像提供装置20からの画像に基づいて、任意の視点の(任意の撮像位置及び撮像方向における)画像(任意視点画像)を生成してクライアント30に出力する装置である。任意視点画像生成サーバ10の機能については、より詳細に後述する。
【0019】
入力画像提供装置20は、任意視点画像生成サーバ10に画像を送信する装置である。入力画像提供装置20から任意視点画像生成サーバ10に送信される画像は、例えば、携帯電話機に設けられるカメラやデジタルカメラ等の任意の撮影手段によって撮影された画像であり、デジタルデータとして構成されているものである。また、入力画像提供装置20は、画像の送信とあわせて、当該画像が撮影された条件等を示す情報であるカメラパラメータも併せて、任意視点画像生成サーバ10に送信する。
【0020】
カメラパラメータには、当該画像が撮影された(撮影手段の)位置、及び撮影方向(撮影手段の光学系の方向)を示す情報の外部パラメータが含まれる。具体的には例えば、撮影された位置としては三次元座標(X,Y,Z)の情報が、撮影方向としては角度ロール、ピッチ、ヨーの情報が用いられる。これらの情報は、例えば、撮影手段に設けられるGPS(Global Positioning System)やジャイロ等のセンサによって検出される。また、カメラパラメータには、当該画像の中心座標、アスペクト比、焦点距離、画像の両座標軸がなす角度を示す情報等の内部パラメータも含まれる。センサを用いる手法以外にも,三次元形状が既知のパターンをシーン中に置き、撮影した画像における特徴点とその既知のパターンとを対応付けてカメラパラメータを取得する手法もある。これらの情報は、撮影時に撮影手段に設定される情報や撮影時に撮影手段によって取得される情報である。
【0021】
入力画像提供装置20から任意視点画像生成サーバ10に送信される画像は、通常、複数の画像であり、それらの画像はそれぞれ異なる条件において撮影されたものであってもよい。即ち、撮影位置や撮影方向、また、撮影手段の種類や撮影時の設定等がそれぞれ異なる任意のものであってもよい。つまり、撮影手段のカメラパラメータを統一する必要はない。また、複数の入力画像提供装置20が任意視点画像生成サーバ10に接続されていてよい。
【0022】
クライアント30は、ユーザによって用いられる、任意視点画像を参照するための装置である。複数のクライアント30が任意視点画像生成サーバ10に接続されていてもよい。クライアント30は、(自装置30からの)要求に応じて任意視点画像生成サーバ10から送信される任意視点画像を受信して、当該任意視点画像をクライアント30が備えるディスプレイ等の表示装置に表示する。クライアント30から任意視点画像生成サーバ10に送信される要求には、任意視点画像を生成するための画像生成用カメラパラメータが含まれている。画像生成用カメラパラメータは、生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報(外部パラメータ)が含まれる。また、画像生成用カメラパラメータには、当該任意視点画像の解像度、アスペクト比、焦点距離等を示す情報の内部パラメータも含まれることとしてもよい。即ち、画像生成用カメラパラメータは、上記のカメラパラメータと同様の情報である。これらの情報は、ユーザによってクライアント30に入力される。また、画像生成用カメラパラメータのうち、内部パラメータは予め設定して、クライアント30に記憶させておき、外部パラメータのみを入力することとしてもよい(この場合は、あるカメラを用いて、位置や方向を動かすことに相当する)。
【0023】
本発明においては、基本的に画像を光線の集まりとする概念を用いている。ここで、画像が光線の集まりで記述(表現)されるという光線空間の概念を説明する。光線空間の概念においては、座標軸X−Y−Z(世界座標系)からなる3次元空間中には、あらゆる方向に光線が伝搬しており、その光線の輝度値を光線が通過する位置と、角度(緯度、経度)で記述する。
【0024】
光線空間の概念における画像と光線との関係を図2に示す。なお、これ以後は光学系が単純なピンホールカメラモデルを想定して説明する。撮影手段であるカメラ40は、一般的には画像を撮影する機器であるが、光線空間の概念においてはカメラ40の(撮影方向に対する)光学中心を通過する光線42の輝度値を記録するものであると考える。ここで、光線42は、撮影対象物44の各位置から発せられたものである。光線42のカメラ40への入射位置毎の輝度値を記録したものが得られる画像46である(画像46における各画素48の画素値が輝度値に対応する)。よって、ある光線の輝度値を求めることは、その光線が記録された画素の画素値を求めることと同義である。
【0025】
光線42の記述する方法について図3を用いて説明する。前述のように、カメラ40で記録された光線の輝度値は、撮影された画像の各画素の画素値(輝度値)と対応するため、以下の式のように、各画素の画素値fを光線が通過する、世界座標系における位置(X0,Y0,Z0)と、角度(緯度θ、経度φ)とで表すことができる。
これを式で表すと、f=f(X0,Y0,Z0,θ,φ)のようになる。
なお、光線が通過する位置(X0,Y0,Z0)は、当該画像が撮像された位置を示す。
【0026】
上記関係は、画像46における各画素48の位置がどの光線42に対応するかによって決まる。その関係は、カメラ40の位置(撮影位置)及び撮影方向を示す情報である外部パラメータと、画像46の中心座標、アスペクト比、焦点距離、画像の両座標軸がなす角度を示す情報である内部パラメータとによって決まる。世界座標系とカメラ座標系(カメラ40の位置を原点とする座標系)との位置関係を示すパラメータが外部パラメータであり、カメラ座標系と画像座標系(画像における位置(画素の位置)を示す座標系)との位置関係を示すパラメータが内部パラメータである。以後、内部パラメータと外部パラメータとからなるカメラパラメータと視点情報とは同義であるとする。
【0027】
任意視点画像を構成する光線の輝度値を求める基本的な仕組みを図4に記述する。画像を撮影したカメラ(入力カメラ)40を通過する光線42を延長していき、その延長上に任意視点画像に係る仮想的な撮影方向及び撮影位置(仮想カメラ50)がある場合、光線42は距離によらず減衰しないという仮定を用いる。この仮定に基づけば、入力カメラ40を通過する光線42の輝度値と仮想カメラ50を通過する光線42の輝度値とは等しいと考えることができる。入力カメラ40は画像として取得されているため、通過する光線42の輝度値は、対応する画素の画素値からもとめることができる。即ち、仮想カメラ50を通過する光線42の輝度値も求まる。各入力カメラ40に対して、上記の処理(光線のマッピング)を行うことで、仮想カメラ50を通過する光線42の情報を収集することができ、光線情報を画像情報にすることで、任意視点画像を生成することができる。
【0028】
図5を用いて、ある単位球52を設けて光線42を記述する方法を説明する。単位球52を設けて、入力カメラ40の光学中心(上記の位置(X0,Y0,Z0))をその単位球の原点として考えると、入力カメラ40で取得される光線は、この単位球上の座標(緯度θ,経度φ)で表すことができる。つまり、光線の輝度値fはf=(θ,φ)と表すことができ、θとφの関数となる。上記のような球モデルを用いることで、ピンホールカメラに限らず、全方位カメラや魚眼レンズ搭載カメラの光線も同一のモデルで定義することが可能になる。
【0029】
本発明においては、取得される画像としてデジタル画像を想定しており、各画像を光線情報に投影する際に求められる光線の本数は、画像の画素数と同一であると考える。即ち、取得される光線は有限であり、画像中の各画素に入射する光線の角度は離散的に変化する(つまり、f(θ,φ)は離散関数である)。取得される光線は離散的であるため、入射角度を連続的に変化させた場合の光線の輝度値を求めることはできない。
【0030】
そこで、離散関数を連続関数にするため関数関数化を行う(以下、単に関数化と呼ぶ)。ここで、関数化とは、撮影装置の画角内においてはどのような(入射
)角度を入力しても、その角度で入射する光線の輝度値を求めることができることをいう。関数化には、一般的にフーリエ変換などで行われている級数展開を用いて、連続値の足し算として表現する方法を用いる。本手法では、光線表現に仮想球を用いているため、球座標系において直交基底をなす基底関数を用いる。直交基底を用いるメリットは、画像の情報量の圧縮や、伝送の際に低周波成分から徐々に送るプログレッシブ伝送等が可能になるという点である。具体的な例として球面調和関数を用いることができる。f(θ,φ)は、球面調和関数を用いることで、
f(θ,φ)=a1×b1+a2×b2+a3×b3+…+an×bn(b1〜bn:球面調和関数の単位基底)
と表すことができる。つまり、各基底の重みを示す重み係数anと単位基底bnの線形和で表すことが可能となる。単位基底は既知の値であるので、f(θ,φ)は、a1からanまでのn個の重み係数で表現することができる。nは、求める値をいくつの基底で表現するかを表す数であり、この場合は、次数nと呼ぶ。
【0031】
各基底は、球上の輝度パターン(輝度の変化の様子)の低周波成分から高周波成分までを表し、各係数はその基底の重み付けを表すものである。つまり、低周波成分はなめらかな変化を表し、高周波成分は急激な変化を表す。例えば画像において、高周波成分の基底の係数を全て0にすると、エッジ部等の高周波成分がカットされるため、ぼやけた画像を作ることができる。同様に輝度パターンにおいても、級数展開することで低周波成分から高周波成分に分離することが可能となる。
【0032】
入力となる複数の画像が異なる解像度であっても、上記の関数化を行うことで、単位基底と重み係数の線形和で表現することが可能となるため、解像度に依存しない表現が可能となる(展開する次元に依存する)。例えば、解像度が高い画像に次数を統一して展開した場合は、低解像度画像を関数化する際の高周波成分の係数は0にすればよい。図6に示すように以上の操作によって、f(θ,φ)は連続関数となり、入力カメラ40における画角範囲において、(画素の位置に対応していない)任意の入射角度54の光線の輝度値を求めることができるようになる。
【0033】
続いて、仮想視点(=任意視点)の上記と同様なカメラパラメータを指定することで、仮想視点の画像座標を定義することが可能となる。画像座標を定義することができれば、任意視点画像を構成するために必要となる光線(必要光線)の通過する位置及び角度を求めることができる。光線空間の任意視点生成の基本的な考え方により、必要光線を延長していき、当該延長線が入力カメラ40の光学中心と交わる(入力カメラ40の光学中心を通る)場合は、入力カメラ40を通過する該当光線の輝度値を仮想視点での光線の輝度値とすることができる。先ほどの関数化によって、任意の光線の入射角度を連続関数の入力とすることで、入力カメラ40上での輝度値を求めることができるようになっているため、これを入力して、光線の輝度値を求める。この様子は、図4において仮想カメラ50を指定した時に、光線42の輝度値を求めることと同様である。
【0034】
しかし、必要光線全てが入力カメラ40の光学中心を通過するわけではない。そのため、入力カメラ40を通過しない光線をマッピングする必要がある。ここで、ランバート(Lambert)反射モデルを仮定し、マッピング光線を増やすことを考える。ランバート反射モデルとは、撮影対象物(シーン)のある1点から出ている光線の輝度値は、角度によらず一定というものである。言い換えれば、撮影対象物のある1点を見る場合、見る角度によらず輝度値は一定であるといえる。また、鏡のように鏡面反射が存在しないともいえる。図7に示すように、ランバート反射モデルでは、各入力カメラ40a,40bに入る光線42a,42bは、撮影対象物44の同じ1点から出ている光線であるため、輝度値は同じである。
【0035】
撮影されている撮影対象物(シーン)44に対してランバート反射モデルを仮定できるとすると、仮想視点で取得される光線が撮影対象物のどの点から出ているかを求めることが必要である。なぜならば、入力カメラ40でその点を捉えられている場合には、その点と入力カメラ40の光学中心とを結ぶ直線状の輝度値が、求める仮想視点の光線の輝度値と同一だからである。その点が複数の入力カメラ40で捉えられている場合は、各入力カメラ40で捉えられる光線の輝度値は理想的には同一である。
【0036】
仮想視点で取得される光線が撮影対象物44のどの点から出ているかを求めることは、即ち、撮影位置から撮影対象物44までの距離(シーンの奥行き)を求めることに相当する。当該距離を求めるためには、入力カメラ40に設けられるレンジセンサを用いる手法や、取得されている画像同士の対応点関係(シーンにおける同一の点を捉えた複数画像上の画素の位置関係)から求める手法がある。図8に示すように、上記のように入力カメラ40に入力される光線が放射元の位置44aが求められると、当該位置44aから仮想カメラ50の位置に入力される光線56の方向が求められる。
【0037】
しかしながら、奥行きが正しく求まらず光線56がマッピングされなかった場合や、図9に示すように入力カメラ40に入力する光線42に基づく、マッピング光線56の候補が複数存在する場合がある。奥行きが正確に求まっており、鏡面反射が全くない状態においては、マッピング光線56の候補が複数ある場合の各光線56の輝度値は一定になるが、現実的には一定にならないことも多い。そのためマッピング光線56の候補の情報を基に、最終的に関数近似を行うことで、マッピングされなかった光線や複数候補がある場合においても、必要光線に対する一意の輝度値を求めることができる。
【0038】
また、仮想視点の必要光線の情報(方向及び輝度値)を関数近似することで、生成する任意視点画像の解像度を任意に変化させることや、画像伝送の際に低周波成分から先に伝送し、徐々に高周波成分を伝送する、プログレッシブ伝送も可能となる。関数化の手法としては、上記のメリットを考え、球面上で直交基底をなすものが望ましく、具体的には球面調和関数を用いるのがよい。
【0039】
引き続いて、任意視点画像生成サーバ10の機能を説明する。任意視点画像生成サーバ10は、上述した方法によって任意視点画像を生成する。図1に示すように、任意視点画像生成サーバ10は、画像入力部11と、光線算出部12と、視点情報入力部13と、光線マッピング部14と、画像生成部15と、画像出力部16とを備えて構成される。
【0040】
画像入力部11は、入力画像提供装置20から送信される画像のデータを受信して、任意視点画像生成サーバ10に入力する画像入力手段である。当該画像のデータには上記のカメラパラメータが対応付けられており、画像入力部11は、それらの情報も併せて入力する。画像入力部11は、入力した画像及び情報を光線算出部12に出力する。
【0041】
光線算出部12は、画像入力部11から入力された画像を構成する画素の位置及び輝度値、並びに当該画像の撮影方向を示す情報から、画像が撮影された位置(入力カメラ40の位置)に入射する光線の輝度値及び方向を算出する光線算出手段である。具体的には、光線算出部12は、画像入力部11から入力された画像の各画素に対応する光線の方向と輝度値を求める。光線は、位置(X0,Y0,Z0)を通り、角度(θ,φ)をなす。なお、光線算出部12は予め世界座標系の座標軸(X,Y,Z)を設定しておき、位置(X0,Y0,Z0)は世界座標系における撮像位置を表している。角度(θ,φ)は、入力された画像を構成する画素の位置、当該画像の撮影方向を示す外部パラメータ及び内部パラメータ等に基づいて、算出される。また、光線の輝度値は、上述したようにf(X0,Y0,Z0,θ,φ)であり、上記の光線に対応する画像の画素の輝度値に基づいて決定される。
【0042】
世界座標系における一点M(3×1行列)と画像座標系における一点m(2×1行列)との関係を表すのがカメラパラメータPである。このカメラパラメータPを用いることで、画像中の画素と空間中の光線とを対応づけることができる。カメラパラメータは、世界座標系と画像座標系(撮影位置を原点とする)との間の回転R及び並進tで表される外部パラメータ、並びに画像の両座標軸がなす角度θ´、画像の中心座標(u0,v0)、画素のアスペクト比(ku,kv)及び焦点距離fdで表される内部パラメータAによって構成される。回転RはZ軸回りの回転(ロール)、Y軸周りの回転(ピッチ)、X軸回りの回転(ヨー)からなる3×3の行列である。また、並進tはX軸方向の移動tx、Y軸方向の移動ty、Z軸方向の移動tzからなる3×1の行列である。内部パラメータは上記の6パラメータからなる3×3の行列である。式で表すとP=A[R,t]と表すことができる(Pは3×4行列)。同次座標M´(4×1行列)、m´(3×1行列)を用いて表現する場合、sm´=PM´となる。ここで,sはスカラーである。
【0043】
光線算出部12は、画像入力部11から入力された情報及び予め光線算出部12に記憶された情報を基に上記の式を用いて演算することで、画像座標で表される画素情報を世界座標系の光線情報として扱うことができる。ピンホールカメラモデルを用いて、この様子を図13に示す。世界座標系のある点Mを通過する光線42は焦点面60(焦点面中心=光学中心)を通り、画像平面62の点(画素)mに投影される。このように、カメラパラメータを用いることで、世界座標系の点Mを通過する光線の輝度値を画素mの画素値から求めることが可能となる。
【0044】
次に、光線算出部12は、位置(X0,Y0,Z0)を中心とする単位球を仮定する。単位球を仮定することで、この位置を通過する光線を単位球上の位置(θ,φ)で記述することが可能になる。仮想球中心を光学中心とするカメラによって撮影された画像はデジタル画像のため、この時点では、光線の輝度を表すf(θ,φ)は離散関数である。
【0045】
画像の各画素に基づいて上記のように球モデルで記述された光線は離散的な情報であるため、光線算出部12は、連続関数化を行うことで連続値とする。関数化には、上述したように球面上で直交基底をなす、球面調和関数を用いる。光線算出部12は、球面調和関数展開を行うことで、光線の輝度値変化を波のパターンとして捉え、その波のパターンを複数の基底パターンの足し合わせとして扱うことができる。球面調和関数Ynm(θ,φ)は以下のように記述される関数である。
【数1】
ここで、添字nは次数を表し、mは同次の要素を区別するインデックスを表す。また、Pnmは、ルジャンドル(Legendre)陪関数と呼ばれる関数である。球面調和関数で級数展開すると、球面上の輝度値f(θ,φ)は以下のようになる。
【数2】
即ち、f(θ,φ)はθ,φを指定すると固定の値になる基底と、係数列Anm,Bnmの線形和として記述される。Anm,Bnmは各基底の重みを示す。また、nmaxは展開する最大次数を表す(予め定められて光線算出部12に記憶されている)。各基底に対する重み係数を変化させることで、あらゆるパターンの波に対応することができる。各基底は連続値であるので、その重み係数Anm,Bnmを記憶しておくことで、画像が撮像された画角内のあらゆる角度θ,φの光線の輝度値を求めることが可能となる。
【0046】
上記のように、光線算出部12は、当該画像及び当該画像に係るカメラパラメータに基づいて世界座標系での光線の輝度値及び方向を算出し、算出した光線の輝度値及び方向を記憶しておく。
【0047】
また、光線算出部12は、画像が撮影された位置から撮影対象物44までの距離(奥行き)を算出することによって、算出した光線の放射元の位置を特定する。光線の放射元の位置の特定は、例えば、画像入力部11から入力された2つの画像に基づいて行われる。光線算出部12は、2つの画像における互いに対応する対応点(画像に写っている撮影対象物44(空間中)の同じ部分に対応する点)を導出して、対応点からの光線の方向に基づいて、光線の放射元の位置を特定する。対応点の導出は、例えば、SIFT法とmean−shift法と用いた手法により行うことができる。
【0048】
光線算出部12は、上述したように算出したこの対応点の位置と、カメラパラメータとによって各カメラにおける入射光線の方向を求めることができる。ここで、三角測量の原理を用いることで、対応点が世界座標系のどの点に位置するかを求めることができる。また、複数の画像から上記の点を求める際も、上記のように画像間の対応点を求めることで、対応点が世界座標系のどの点に位置するかを求めることができる。
【0049】
また、光線算出部12は、撮像時にレンジセンサ等によって得られた画像が撮影された位置から撮影対象物44までの距離(光線の方向の奥行き)を示す情報を、入力画像提供装置20から画像と併せて受信し、その情報に基づいて光線の放射元の位置を特定することとしてもよい。
【0050】
光線算出部12は、特定した光線の放射元の位置と当該位置を求めるために用いた光線の輝度値とを対応付けて記憶しておく。光線算出部12は、上記の各演算処理を、画像入力部11から画像が入力される毎に行うこととしてもよいし、クライアント30からの要求をトリガとして行うこととしてもよい。
【0051】
視点情報入力部13は、任意視点画像を生成するための画像生成用カメラパラメータをクライアント30から受信することによって入力する視点情報入力手段である。これらの情報は、クライアント30からの任意視点画像の要求に含まれて送信される。視点情報入力部13は、受信した画像生成用カメラパラメータを光線マッピング部14に出力する。
【0052】
光線マッピング部14は、視点情報入力部13から入力された画像生成用カメラパラメータに基づいて、光線算出部12によって算出された光線情報から、当該仮想的な撮影位置に入射する光線を算出する光線マッピング手段である。具体的には、光線マッピング部14は、まず、視点情報入力部13から入力された画像生成用カメラパラメータを基に、任意視点画像の各画素に対応する必要な光線を計算する。この計算は、任意視点画像の各画素について行う。世界座標系での光線が通過する位置、及び方向を求める。光線が通過する位置については、画像生成用カメラパラメータに含まれる仮想的な撮影位置を示す情報に相当する。光線の方向については、画像生成用カメラパラメータに含まれる仮想的な撮影方向を示す情報、及び内部パラメータに基づいて算出する。
【0053】
続いて、光線マッピング部14は、光線算出部12によって算出されて記憶された光線の方向を示す情報を読み出し、この方向から、このように求めた必要光線と同じ方向のものを特定(算出)する。即ち、必要光線に対して、光線算出部12によって算出された光線のマッピングを行う。なお、ここでいう同じ方向とは、位置関係(同じ位置を通過し同じ方向に進む)が同じであることを示している。これは、上述したようにある点から放射される光線の輝度値は伝搬距離によらず一定という仮定を置いた場合、任意視点画像生成サーバ10に入力された画像に対応する光線が仮想的な撮影位置に入射する光線となっていることによるものである。光線算出部12によって算出された光線の方向と、必要光線の方向との一致は、それぞれの光線の方向を比較することによって行われる。なお、1つの必要光線に複数の光線がマッピングされていてもよい。光線マッピング部14は、任意視点画像の画素の必要光線毎にマッピングされた光線を特定する情報を画像生成部15に通知する。
【0054】
光線マッピング部14は、上記の処理でマッピングされなかった必要光線(入力カメラ40の光学中心を通過しない必要光線)に関しては、世界座標系での、光線算出部12によって特定された放射元の位置のうち、必要光線と交わる点を求め、必要光線として入射する光線の放射元を特定する。続いて、光線マッピング部14は、当該放射元を特定するために用いられた画像の光線についての情報(例えば、上記の放射元の位置から当該画像の撮影位置(入力カメラ40の光学中心)への方向で示される光線の方向)を取得する。光線マッピング部14は、任意視点画像の画素の必要光線毎に、上記の当該放射元を特定するために用いられた画像の光線の輝度を画像生成部15に通知する。
【0055】
なお、この際に、奥行きが不明等で放射元の位置が特定されない場合は、放射元の位置に基づくマッピングは行われない。また、放射元の位置が複数の画像に基づいて特定される場合は、複数の画像の光線についての情報を画像生成部15に通知する。
【0056】
画像生成部15は、光線マッピング部14によって算出された、任意視点画像の各画素の必要光線に対応する光線情報に基づいて、任意視点画像を生成する画像生成手段である。画像生成部15は、各任意視点画像の各画素の必要光線に対応する光線の、光線算出部12によって算出されて記憶された輝度情報を取得して、当該輝度値を画素値とした任意視点画像を生成する。輝度値の取得は、例えば、各球モデルの輝度パターンに基づいて連続関数に、必要な光線の方向(緯度,経度)を入力し、演算によって輝度値を取得することによって行われる。1つの画素に対応する光線が複数あり、複数の輝度値が取得される場合は、例えばそれらの平均をとること等により輝度値を決定し、即ち任意視点画像の画素の画素値を決める。
【0057】
上記のように、必要光線にマッピングされた光線がない場合や、複数の光線が必要光線にマッピングされている場合がある。画像生成部15は、光線マッピング部14によってマッピングされた輝度値を示す離散関数f(θ,φ)と、仮想的な撮影位置に入射する任意の光線の輝度値を示す近似連続関数g(θ,φ)との2乗誤差をとり、その差が最小となるようなg(θ,φ)を算出することとしてもよい。これを式で表すと以下の通りになる。
【数3】
マッピングされた光線の数をndataとする。つまりは。θi,φiを入力とした時に、取得できた輝度f(θi,φi)と近似関数によって求めた輝度g(θi,φi)との誤差を二乗したものをndata本の光線分足し合わせたものがχの2乗(2乗誤差)である。2乗誤差を最小とする近似連続関数g(θ,φ)を求めるということは、離散関数f(θ,φ)に最も近い輝度変化を示す連続関数g(θ,φ)を求めるとも言いかえることができる。この近似によって得られたg(θ,φ)を新たに輝度値変化を示す関数とすると、任意の方向(画素)に対する輝度値を一意に求めることができる。更には、必要光線にマッピングされた光線がない場合や、複数の光線が必要光線にマッピングされている場合等でも、光線の輝度値を一意に特定することができる。ここで用いる近似関数としては、例えば、球面調和関数が用いられる。また、このような近似関数を求めることによって、上述したように任意視点画像の解像度を任意に変化させたり、画像伝送の際に低周波成分から先に伝送し徐々に高周波成分を伝送するプログレッシブ伝送を行ったりすることも可能となる。画像生成部15は、上記のように生成した任意視点画像を画像出力部16に出力する。
【0058】
画像出力部16は、画像生成部15によって生成された任意視点画像を出力する画像出力手段である。具体的には、画像出力部16は、要求の送信元であるクライアント30に任意視点画像を送信する。以上が、任意視点画像生成サーバ10の機能構成である。
【0059】
図10に任意視点画像生成サーバ10のハードウェア構成を示す。図10に示すように任意視点画像生成サーバ10は、CPU(Central Processing Unit)101、主記憶装置であるRAM(Random Access Memory)102及びROM(Read Only Memory)103、通信を行うための通信モジュール104、並びにハードディスク等の補助記憶装置105等のハードウェアを備えるコンピュータを含むものとして構成される。これらの構成要素がプログラム等により動作することにより、上述した任意視点画像生成サーバ10の機能が発揮される。
【0060】
引き続いて、図11及び図12のフローチャートを用いて本実施形態に係る任意視点画像生成サーバ10により実行される処理(任意視点画像生成方法)について説明する。まず、図11のフローチャートを用いて、入力画像提供装置20から任意視点画像の基となる画像を入力する際の処理を説明し、その後、図12のフローチャートを用いて、任意視点画像を生成してクライアント30に出力する際の処理を説明する。
【0061】
まず、任意視点画像生成サーバ10では、画像入力部11によって、入力画像提供装置20から画像が受信され入力される(S01、画像入力ステップ)。ここでは、複数の画像が画像入力部11によって入力される。また、各画像には、当該画像に係るカメラパラメータが対応付けられており、画像入力部11によって当該カメラパラメータも受信されて入力される(S02、画像入力ステップ)。入力された画像及びカメラパラメータは、画像入力部11から光線算出部12に出力される。
【0062】
続いて、光線算出部12によって、入力された画像及びカメラパラメータに基づいて、画像が撮影された位置に入射する光線の輝度値及び方向が算出される(S03、光線算出ステップ)。具体的には、上記の輝度値を示す関数f(X0,Y0,Z0,θ,φ)を算出することにより行われる。
【0063】
続いて、光線算出部12によって、上記のように算出された光線を球モデルとして扱う(S04、光線算出ステップ)。続いて、光線算出部12によって、この球モデルを用いて、上記の光線を連続値とされる(S05、光線算出ステップ)。即ち、光線の輝度値を画角内の任意の角度(方向)に対して求めることができる関数を算出する。上記のように算出された光線に関する情報は、光線算出部12によって記憶される(S06、光線算出ステップ)。
【0064】
その一方で、光線算出部12によって、例えば、以下のように算出した光線の放射元の、世界座標系での位置(座標)が特定される。まず、2つの画像における互いに対応する対応点が導出される(S07、光線算出ステップ)。続いて、それぞれの画像から導出された対応点からの光線の方向に基づいて、当該対応点の世界座標系の座標が、光線の放射元の位置として特定される(S08、光線算出ステップ)。光線算出部12によって、特定された光線の放射元の位置と当該位置を求めるために用いた光線の輝度値とが対応付けて記憶される。以上が、入力画像提供装置20から任意視点画像の基となる画像を入力する際の処理である。
【0065】
続いて、図12のフローチャートを用いて、任意視点画像を生成してクライアント30に出力する際の処理を説明する。まず、任意視点画像生成サーバ10では、視点情報入力部13によって、任意視点画像を生成するための画像生成用カメラパラメータがクライアント30から受信されて入力される(S11、視点情報入力ステップ)。なお、クライアント30からの任意視点画像の要求に含まれている。画像生成用カメラパラメータは、視点情報入力部13から光線マッピング部14に出力される。
【0066】
続いて、光線マッピング部14によって、画像生成用カメラパラメータを基に任意視点画像を生成するために必要な光線(必要光線)が計算される(S12、光線マッピングステップ)。続いて、光線マッピング部14によって、必要光線に対して、画像から算出された光線のマッピングが行われる(S13、光線マッピングステップ)。また、光線マッピング部14によって、世界座標系での、光線算出部12によって特定された放射元の位置と必要光線とが交わる点が求められ、必要光線として入射する光線の放射元が特定される(S14、光線マッピングステップ)。上記のように算出された、必要光線毎にマッピングされた光線を特定する情報、及び放射元から入射する光線に関する情報は、光線マッピング部14から画像生成部15に入力される。
【0067】
続いて、画像生成部15によって、光線マッピング部14から入力された情報に基づいて、各必要光線に対応する光線の輝度値が計算される(S15、画像生成ステップ)。この計算は、球モデルに基づいた関数fに基づいて行われる。続いて、画像生成部15によって、仮想的な撮影位置に入射する任意の光線の方向及び輝度値を示す関数が算出される(S16、画像生成ステップ)。続いて、画像生成部15によって、当該関数に基づいて任意視点画像の各画素の輝度値が決定され、任意視点画像が生成される(S17、画像生成ステップ)。
【0068】
生成された任意視点画像は、画像生成部15から画像出力部16に出力される。続いて、画像出力部16によって、任意視点画像が要求の送信元であるクライアント30に送信される(S18、画像出力ステップ)。クライアント30では、当該任意視点画像が受信されて、ディスプレイ等への表示が行われ、ユーザにより参照される。以上が、任意視点画像を生成してクライアント30に出力する際の処理
【0069】
上述したように、本実施形態に係る任意視点画像生成サーバ10では、任意視点画像の生成の基となる画像から画像が撮影された位置に入射する光線に関する情報が算出されて、仮想的な撮影位置に入射する当該光線に関する情報が算出され、この情報から任意視点画像が生成される。即ち、本実施形態に係る任意視点画像生成サーバ10では、任意視点画像を生成するための画像を撮影するためのカメラ等の撮影手段の位置や撮影方向、また撮影手段間の光学系が不統一な場合であっても、上記のように、統一的に扱いえる光線に関する情報を用いることにより任意視点画像を生成することができる。
【0070】
これにより、任意視点画像を生成するための画像を撮影するための撮影手段が、上述したような携帯電話機に設けられるカメラやデジタルカメラ等であっても、任意視点画像を生成することができる。
【0071】
また、本実施形態のように光線の表現として球モデルを用いることとすれば、光線を確実に表現することができ、確実に任意視点画像を生成することができる。
【0072】
また、本実施形態のように画素毎に算出された光線の情報に基づいて、輝度値を示す関数を算出することとすれば、画素に対応する離散的な光線の情報から連続的な情報にすることができ、確実に光線に関する情報を算出することができる。
【0073】
また、本実施形態のように光線の放射元の位置を特定して、当該放射元の位置からの光線についての情報も任意視点画像の生成に用いることとすれば、画像が撮影された位置に入射する光線だけでは仮想的な撮影位置に入射する光線を算出できない場合であっても、当該仮想的な撮影位置に入射する光線を算出することができ、適切に任意視点画像を生成することができる。
【0074】
また、光線の放射元の位置の特定を、奥行きの情報や複数の画像間の対応点に基づいて行うこととすれば、確実に放射元の位置を特定することができ、適切に任意視点画像を生成することができる。
【0075】
また、本実施形態のように、必要光線にマッピングされた光線に基づいて、仮想的な撮影位置に入射する光線の方向及び輝度値を示す関数を算出することとすれば、当該マッピングが十分でなかった場合等でも任意視点画像を生成することができる。また、この構成により、上述したように任意視点画像の解像度を任意に変化させたり、画像伝送の際に低周波成分から先に伝送し徐々に高周波成分を伝送するプログレッシブ伝送を行ったりすることも可能となる。
【図面の簡単な説明】
【0076】
【図1】本発明の好適な実施形態に係る任意視点画像生成装置である任意視点画像生成サーバの構成を示す図である。
【図2】光線空間の概念における画像と光線との関係を示す図である。
【図3】入力カメラに入射する光線を世界座標系で示す図である。
【図4】任意視点画像を生成する基本的な仕組みを示す図である。
【図5】球モデルによる光線を示す図である。
【図6】入力カメラに入射する、画素に対応する方向の光線と任意の方向の光線とを示す図である。
【図7】撮影対象物から放射され各入力カメラに入射する光線を示す図である。
【図8】撮影対象物から放射され各入力カメラ及び仮想カメラに入射する光線を示す図である。
【図9】撮影対象物の所定の点から複数の入力カメラ及び仮想カメラに入射する光線を示す図である。
【図10】本発明の好適な実施形態に係る任意視点画像生成サーバのハードウェア構成を示す図である。
【図11】本発明の実施形態に係る任意視点画像生成サーバで(画像入力時に)実行される処理(任意視点画像生成方法)を示すフローチャートである。
【図12】本発明の実施形態に係る任意視点画像生成サーバで(任意視点画像生成時)実行される処理(任意視点画像生成方法)を示すフローチャートである。
【図13】世界座標系と画像座標系の関係を示す図である。
【符号の説明】
【0077】
10…任意視点画像生成サーバ、11…画像入力部、12…光線算出部、13…視点情報入力部、14…光線マッピング部、15…画像生成部、16…画像出力部、101…CPU、102…RAM、103…ROM、104…通信モジュール、105…補助記憶装置、20…入力画像提供装置、30…クライアント。
【技術分野】
【0001】
本発明は、実際に撮影を行っていない任意の視点の任意視点画像を生成する任意視点画像生成装置及び任意視点画像生成方法に関する。
【背景技術】
【0002】
任意視点画像生成技術とは、あるシーンを複数のカメラで撮影し、撮影された画像を基にして、カメラが実際に配置されていない場所の画像(任意視点画像)を合成する技術である。特許文献1では、画像の合成に用いるための画像を撮影するための複数のカメラの光軸が水平にする等、カメラが規則的に配置される状況を前提とし、また、特許文献2では、統一の解像度及び統一の光学系を用いて、複数の画像を統一の光線空間に落とし込んで任意視点画像を生成している。
【特許文献1】特開2008−15756号公報
【特許文献2】特開2006−126965号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上述したように、上記の従来の任意視点画像の生成手法は、カメラの配置の制約条件や、カメラが統一の光学系(解像度やレンズ等)のものでなければならない等、撮影条件に非常に大きな制約がある。従って、携帯電話機に設けられるカメラやデジタルカメラ等が用いられるモバイル環境において、それらのカメラによって撮影された画像を、任意視点画像を生成するための画像として用いようとすると、上記の方法を適用することは難しい。モバイル環境では、各カメラの位置や光学系が一定ではないため、上記の方法では複数の画像を統一の光線空間に落とし込むことはできないためである。
【0004】
本発明は、以上の問題点を解決するためになされたものであり、任意視点画像を生成するための画像を撮影するためのカメラ等の撮影手段の位置や撮影方向、また撮影手段間の光学系が不統一な場合であっても任意視点画像を生成することができる任意視点画像生成装置及び任意視点画像生成方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明に係る任意視点画像生成装置は、画像、並びに当該画像の撮影方向及び撮影位置を示す情報を入力する画像入力手段と、画像入力手段によって入力された画像を構成する画素の位置及び画素値、並びに当該画像の撮影方向を示す情報から、画像が撮影された位置に入射する光線の輝度値及び方向を算出する光線算出手段と、生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報を入力する視点情報入力手段と、視点情報入力手段によって入力された仮想的な撮影方向及び撮影位置を示す情報に基づいて、光線算出手段によって算出された光線の方向から、当該仮想的な撮影位置に入射する光線を算出する光線マッピング手段と、光線マッピング手段によって算出された光線の輝度値から、任意視点画像を生成する画像生成手段と、画像生成手段によって生成された任意視点画像を出力する画像出力手段と、を備えることを特徴とする。
【0006】
本発明に係る任意視点画像生成装置では、任意視点画像の生成の基となる画像から画像が撮影された位置に入射する光線に関する情報が算出されて、仮想的な撮影位置に入射する当該光線に関する情報が算出され、この情報から任意視点画像が生成される。即ち、本発明に係る任意視点画像生成装置では、任意視点画像を生成するための画像を撮影するためのカメラ等の撮影手段の位置や撮影方向、また撮影手段間の光学系が不統一な場合であっても、上記のように、統一的に扱いえる光線に関する情報を用いることにより任意視点画像を生成することができる。
【0007】
光線算出手段は、光線の方向を画像が撮影された位置を中心とした単位球上の座標として算出することが望ましい。この構成によれば、当該位置を通過する光線を確実に表現することができ、確実に任意視点画像を生成することができる。
【0008】
光線算出手段は、画像を構成する画素に対応する光線の方向及び輝度値を算出することが望ましい。この構成によれば、確実に画像を再構成する際に必要となる光線に関する情報を算出することができる。
【0009】
光線算出手段は、算出した画素に対応する光線の方向及び輝度値に基づいて、画像が撮影された位置に入射する光線の方向及び輝度値を示す関数を算出することが望ましい。この構成によれば、デジタル画像において離散的に標本化された画素に対応しない方向の光線も算出することができ、適切に任意視点画像を生成することができる。
【0010】
光線算出手段は、算出した光線の放射元の位置を特定し、光線マッピング手段は、光線算出手段によって特定された放射元の位置から仮想的な撮影位置に入射する光線を算出することが望ましい。この構成によれば、画像が撮影された位置に入射する光線だけでは仮想的な撮影位置に入射する光線を算出できない場合であっても、当該仮想的な撮影位置に入射する光線を算出することができ、適切に任意視点画像を生成することができる。
【0011】
光線算出手段は、画像入力手段によって入力された複数の画像における互いに対応する対応点の光線の方向に基づいて、光線の放射元の位置を特定することが望ましい。この構成によれば、確実に放射元の位置を特定することができ、適切に任意視点画像を生成することができる。
【0012】
光線算出手段は、光線算出手段によって算出される光線の方向の奥行きを示す情報を入力して、当該光線の放射元の位置を特定することが望ましい。この構成によれば、確実に放射元の位置を特定することができ、適切に任意視点画像を生成することができる。
【0013】
画像生成手段は、光線マッピング手段によって算出した仮想的な撮影位置に入射する光線に基づいて、仮想的な撮影位置に入射する光線の方向及び輝度値を示す関数を算出することが望ましい。この構成によれば、画像から算出された光線の方向から、仮想的な撮影位置に入射する光線を十分に算出できなかった場合でも任意視点画像を生成することができる。
【0014】
ところで、本発明は、上記のように任意視点画像生成装置の発明として記述できる他に、以下のように任意視点画像生成方法としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【0015】
即ち、本発明に係る任意視点画像生成方法は、画像、並びに当該画像の撮影方向及び撮影位置を示す情報を入力する画像入力ステップと、画像入力ステップにおいて入力された画像を構成する画素の位置及び画素値、並びに当該画像の撮影方向を示す情報から、画像が撮影された位置に入射する光線の輝度値及び方向を算出する光線算出ステップと、生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報を入力する視点情報入力ステップと、視点情報入力ステップにおいて入力された仮想的な撮影方向及び撮影位置を示す情報に基づいて、光線算出ステップにおいて算出された光線の方向から、当該仮想的な撮影位置に入射する光線を算出する光線マッピングステップと、光線マッピングステップにおいて算出された光線の輝度値から、任意視点画像を生成する画像生成ステップと、画像生成ステップにおいて生成された任意視点画像を出力する画像出力ステップと、を含むことを特徴とする。
【発明の効果】
【0016】
本発明によれば、任意視点画像を生成するための画像を撮影するためのカメラ等の撮影手段の位置や撮影方向、また撮影手段間の光学系が不統一な場合であっても、上記のように、統一的に扱いえる光線に関する情報を用いることにより、適切に任意視点画像を生成することができる。
【発明を実施するための最良の形態】
【0017】
以下、図面とともに本発明に係る任意視点画像生成装置及び任意視点画像生成方法の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0018】
図1に本実施形態に係る任意視点画像生成装置である任意視点画像生成サーバ10を示す。任意視点画像生成サーバ10は、入力画像提供装置20とクライアント30と接続されており、それらの装置の間でデータの送受信を行うことができる。任意視点画像生成サーバ10は、入力画像提供装置20から画像を受信し、クライアント30からの要求を受け付けて、当該要求に応じて入力画像提供装置20からの画像に基づいて、任意の視点の(任意の撮像位置及び撮像方向における)画像(任意視点画像)を生成してクライアント30に出力する装置である。任意視点画像生成サーバ10の機能については、より詳細に後述する。
【0019】
入力画像提供装置20は、任意視点画像生成サーバ10に画像を送信する装置である。入力画像提供装置20から任意視点画像生成サーバ10に送信される画像は、例えば、携帯電話機に設けられるカメラやデジタルカメラ等の任意の撮影手段によって撮影された画像であり、デジタルデータとして構成されているものである。また、入力画像提供装置20は、画像の送信とあわせて、当該画像が撮影された条件等を示す情報であるカメラパラメータも併せて、任意視点画像生成サーバ10に送信する。
【0020】
カメラパラメータには、当該画像が撮影された(撮影手段の)位置、及び撮影方向(撮影手段の光学系の方向)を示す情報の外部パラメータが含まれる。具体的には例えば、撮影された位置としては三次元座標(X,Y,Z)の情報が、撮影方向としては角度ロール、ピッチ、ヨーの情報が用いられる。これらの情報は、例えば、撮影手段に設けられるGPS(Global Positioning System)やジャイロ等のセンサによって検出される。また、カメラパラメータには、当該画像の中心座標、アスペクト比、焦点距離、画像の両座標軸がなす角度を示す情報等の内部パラメータも含まれる。センサを用いる手法以外にも,三次元形状が既知のパターンをシーン中に置き、撮影した画像における特徴点とその既知のパターンとを対応付けてカメラパラメータを取得する手法もある。これらの情報は、撮影時に撮影手段に設定される情報や撮影時に撮影手段によって取得される情報である。
【0021】
入力画像提供装置20から任意視点画像生成サーバ10に送信される画像は、通常、複数の画像であり、それらの画像はそれぞれ異なる条件において撮影されたものであってもよい。即ち、撮影位置や撮影方向、また、撮影手段の種類や撮影時の設定等がそれぞれ異なる任意のものであってもよい。つまり、撮影手段のカメラパラメータを統一する必要はない。また、複数の入力画像提供装置20が任意視点画像生成サーバ10に接続されていてよい。
【0022】
クライアント30は、ユーザによって用いられる、任意視点画像を参照するための装置である。複数のクライアント30が任意視点画像生成サーバ10に接続されていてもよい。クライアント30は、(自装置30からの)要求に応じて任意視点画像生成サーバ10から送信される任意視点画像を受信して、当該任意視点画像をクライアント30が備えるディスプレイ等の表示装置に表示する。クライアント30から任意視点画像生成サーバ10に送信される要求には、任意視点画像を生成するための画像生成用カメラパラメータが含まれている。画像生成用カメラパラメータは、生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報(外部パラメータ)が含まれる。また、画像生成用カメラパラメータには、当該任意視点画像の解像度、アスペクト比、焦点距離等を示す情報の内部パラメータも含まれることとしてもよい。即ち、画像生成用カメラパラメータは、上記のカメラパラメータと同様の情報である。これらの情報は、ユーザによってクライアント30に入力される。また、画像生成用カメラパラメータのうち、内部パラメータは予め設定して、クライアント30に記憶させておき、外部パラメータのみを入力することとしてもよい(この場合は、あるカメラを用いて、位置や方向を動かすことに相当する)。
【0023】
本発明においては、基本的に画像を光線の集まりとする概念を用いている。ここで、画像が光線の集まりで記述(表現)されるという光線空間の概念を説明する。光線空間の概念においては、座標軸X−Y−Z(世界座標系)からなる3次元空間中には、あらゆる方向に光線が伝搬しており、その光線の輝度値を光線が通過する位置と、角度(緯度、経度)で記述する。
【0024】
光線空間の概念における画像と光線との関係を図2に示す。なお、これ以後は光学系が単純なピンホールカメラモデルを想定して説明する。撮影手段であるカメラ40は、一般的には画像を撮影する機器であるが、光線空間の概念においてはカメラ40の(撮影方向に対する)光学中心を通過する光線42の輝度値を記録するものであると考える。ここで、光線42は、撮影対象物44の各位置から発せられたものである。光線42のカメラ40への入射位置毎の輝度値を記録したものが得られる画像46である(画像46における各画素48の画素値が輝度値に対応する)。よって、ある光線の輝度値を求めることは、その光線が記録された画素の画素値を求めることと同義である。
【0025】
光線42の記述する方法について図3を用いて説明する。前述のように、カメラ40で記録された光線の輝度値は、撮影された画像の各画素の画素値(輝度値)と対応するため、以下の式のように、各画素の画素値fを光線が通過する、世界座標系における位置(X0,Y0,Z0)と、角度(緯度θ、経度φ)とで表すことができる。
これを式で表すと、f=f(X0,Y0,Z0,θ,φ)のようになる。
なお、光線が通過する位置(X0,Y0,Z0)は、当該画像が撮像された位置を示す。
【0026】
上記関係は、画像46における各画素48の位置がどの光線42に対応するかによって決まる。その関係は、カメラ40の位置(撮影位置)及び撮影方向を示す情報である外部パラメータと、画像46の中心座標、アスペクト比、焦点距離、画像の両座標軸がなす角度を示す情報である内部パラメータとによって決まる。世界座標系とカメラ座標系(カメラ40の位置を原点とする座標系)との位置関係を示すパラメータが外部パラメータであり、カメラ座標系と画像座標系(画像における位置(画素の位置)を示す座標系)との位置関係を示すパラメータが内部パラメータである。以後、内部パラメータと外部パラメータとからなるカメラパラメータと視点情報とは同義であるとする。
【0027】
任意視点画像を構成する光線の輝度値を求める基本的な仕組みを図4に記述する。画像を撮影したカメラ(入力カメラ)40を通過する光線42を延長していき、その延長上に任意視点画像に係る仮想的な撮影方向及び撮影位置(仮想カメラ50)がある場合、光線42は距離によらず減衰しないという仮定を用いる。この仮定に基づけば、入力カメラ40を通過する光線42の輝度値と仮想カメラ50を通過する光線42の輝度値とは等しいと考えることができる。入力カメラ40は画像として取得されているため、通過する光線42の輝度値は、対応する画素の画素値からもとめることができる。即ち、仮想カメラ50を通過する光線42の輝度値も求まる。各入力カメラ40に対して、上記の処理(光線のマッピング)を行うことで、仮想カメラ50を通過する光線42の情報を収集することができ、光線情報を画像情報にすることで、任意視点画像を生成することができる。
【0028】
図5を用いて、ある単位球52を設けて光線42を記述する方法を説明する。単位球52を設けて、入力カメラ40の光学中心(上記の位置(X0,Y0,Z0))をその単位球の原点として考えると、入力カメラ40で取得される光線は、この単位球上の座標(緯度θ,経度φ)で表すことができる。つまり、光線の輝度値fはf=(θ,φ)と表すことができ、θとφの関数となる。上記のような球モデルを用いることで、ピンホールカメラに限らず、全方位カメラや魚眼レンズ搭載カメラの光線も同一のモデルで定義することが可能になる。
【0029】
本発明においては、取得される画像としてデジタル画像を想定しており、各画像を光線情報に投影する際に求められる光線の本数は、画像の画素数と同一であると考える。即ち、取得される光線は有限であり、画像中の各画素に入射する光線の角度は離散的に変化する(つまり、f(θ,φ)は離散関数である)。取得される光線は離散的であるため、入射角度を連続的に変化させた場合の光線の輝度値を求めることはできない。
【0030】
そこで、離散関数を連続関数にするため関数関数化を行う(以下、単に関数化と呼ぶ)。ここで、関数化とは、撮影装置の画角内においてはどのような(入射
)角度を入力しても、その角度で入射する光線の輝度値を求めることができることをいう。関数化には、一般的にフーリエ変換などで行われている級数展開を用いて、連続値の足し算として表現する方法を用いる。本手法では、光線表現に仮想球を用いているため、球座標系において直交基底をなす基底関数を用いる。直交基底を用いるメリットは、画像の情報量の圧縮や、伝送の際に低周波成分から徐々に送るプログレッシブ伝送等が可能になるという点である。具体的な例として球面調和関数を用いることができる。f(θ,φ)は、球面調和関数を用いることで、
f(θ,φ)=a1×b1+a2×b2+a3×b3+…+an×bn(b1〜bn:球面調和関数の単位基底)
と表すことができる。つまり、各基底の重みを示す重み係数anと単位基底bnの線形和で表すことが可能となる。単位基底は既知の値であるので、f(θ,φ)は、a1からanまでのn個の重み係数で表現することができる。nは、求める値をいくつの基底で表現するかを表す数であり、この場合は、次数nと呼ぶ。
【0031】
各基底は、球上の輝度パターン(輝度の変化の様子)の低周波成分から高周波成分までを表し、各係数はその基底の重み付けを表すものである。つまり、低周波成分はなめらかな変化を表し、高周波成分は急激な変化を表す。例えば画像において、高周波成分の基底の係数を全て0にすると、エッジ部等の高周波成分がカットされるため、ぼやけた画像を作ることができる。同様に輝度パターンにおいても、級数展開することで低周波成分から高周波成分に分離することが可能となる。
【0032】
入力となる複数の画像が異なる解像度であっても、上記の関数化を行うことで、単位基底と重み係数の線形和で表現することが可能となるため、解像度に依存しない表現が可能となる(展開する次元に依存する)。例えば、解像度が高い画像に次数を統一して展開した場合は、低解像度画像を関数化する際の高周波成分の係数は0にすればよい。図6に示すように以上の操作によって、f(θ,φ)は連続関数となり、入力カメラ40における画角範囲において、(画素の位置に対応していない)任意の入射角度54の光線の輝度値を求めることができるようになる。
【0033】
続いて、仮想視点(=任意視点)の上記と同様なカメラパラメータを指定することで、仮想視点の画像座標を定義することが可能となる。画像座標を定義することができれば、任意視点画像を構成するために必要となる光線(必要光線)の通過する位置及び角度を求めることができる。光線空間の任意視点生成の基本的な考え方により、必要光線を延長していき、当該延長線が入力カメラ40の光学中心と交わる(入力カメラ40の光学中心を通る)場合は、入力カメラ40を通過する該当光線の輝度値を仮想視点での光線の輝度値とすることができる。先ほどの関数化によって、任意の光線の入射角度を連続関数の入力とすることで、入力カメラ40上での輝度値を求めることができるようになっているため、これを入力して、光線の輝度値を求める。この様子は、図4において仮想カメラ50を指定した時に、光線42の輝度値を求めることと同様である。
【0034】
しかし、必要光線全てが入力カメラ40の光学中心を通過するわけではない。そのため、入力カメラ40を通過しない光線をマッピングする必要がある。ここで、ランバート(Lambert)反射モデルを仮定し、マッピング光線を増やすことを考える。ランバート反射モデルとは、撮影対象物(シーン)のある1点から出ている光線の輝度値は、角度によらず一定というものである。言い換えれば、撮影対象物のある1点を見る場合、見る角度によらず輝度値は一定であるといえる。また、鏡のように鏡面反射が存在しないともいえる。図7に示すように、ランバート反射モデルでは、各入力カメラ40a,40bに入る光線42a,42bは、撮影対象物44の同じ1点から出ている光線であるため、輝度値は同じである。
【0035】
撮影されている撮影対象物(シーン)44に対してランバート反射モデルを仮定できるとすると、仮想視点で取得される光線が撮影対象物のどの点から出ているかを求めることが必要である。なぜならば、入力カメラ40でその点を捉えられている場合には、その点と入力カメラ40の光学中心とを結ぶ直線状の輝度値が、求める仮想視点の光線の輝度値と同一だからである。その点が複数の入力カメラ40で捉えられている場合は、各入力カメラ40で捉えられる光線の輝度値は理想的には同一である。
【0036】
仮想視点で取得される光線が撮影対象物44のどの点から出ているかを求めることは、即ち、撮影位置から撮影対象物44までの距離(シーンの奥行き)を求めることに相当する。当該距離を求めるためには、入力カメラ40に設けられるレンジセンサを用いる手法や、取得されている画像同士の対応点関係(シーンにおける同一の点を捉えた複数画像上の画素の位置関係)から求める手法がある。図8に示すように、上記のように入力カメラ40に入力される光線が放射元の位置44aが求められると、当該位置44aから仮想カメラ50の位置に入力される光線56の方向が求められる。
【0037】
しかしながら、奥行きが正しく求まらず光線56がマッピングされなかった場合や、図9に示すように入力カメラ40に入力する光線42に基づく、マッピング光線56の候補が複数存在する場合がある。奥行きが正確に求まっており、鏡面反射が全くない状態においては、マッピング光線56の候補が複数ある場合の各光線56の輝度値は一定になるが、現実的には一定にならないことも多い。そのためマッピング光線56の候補の情報を基に、最終的に関数近似を行うことで、マッピングされなかった光線や複数候補がある場合においても、必要光線に対する一意の輝度値を求めることができる。
【0038】
また、仮想視点の必要光線の情報(方向及び輝度値)を関数近似することで、生成する任意視点画像の解像度を任意に変化させることや、画像伝送の際に低周波成分から先に伝送し、徐々に高周波成分を伝送する、プログレッシブ伝送も可能となる。関数化の手法としては、上記のメリットを考え、球面上で直交基底をなすものが望ましく、具体的には球面調和関数を用いるのがよい。
【0039】
引き続いて、任意視点画像生成サーバ10の機能を説明する。任意視点画像生成サーバ10は、上述した方法によって任意視点画像を生成する。図1に示すように、任意視点画像生成サーバ10は、画像入力部11と、光線算出部12と、視点情報入力部13と、光線マッピング部14と、画像生成部15と、画像出力部16とを備えて構成される。
【0040】
画像入力部11は、入力画像提供装置20から送信される画像のデータを受信して、任意視点画像生成サーバ10に入力する画像入力手段である。当該画像のデータには上記のカメラパラメータが対応付けられており、画像入力部11は、それらの情報も併せて入力する。画像入力部11は、入力した画像及び情報を光線算出部12に出力する。
【0041】
光線算出部12は、画像入力部11から入力された画像を構成する画素の位置及び輝度値、並びに当該画像の撮影方向を示す情報から、画像が撮影された位置(入力カメラ40の位置)に入射する光線の輝度値及び方向を算出する光線算出手段である。具体的には、光線算出部12は、画像入力部11から入力された画像の各画素に対応する光線の方向と輝度値を求める。光線は、位置(X0,Y0,Z0)を通り、角度(θ,φ)をなす。なお、光線算出部12は予め世界座標系の座標軸(X,Y,Z)を設定しておき、位置(X0,Y0,Z0)は世界座標系における撮像位置を表している。角度(θ,φ)は、入力された画像を構成する画素の位置、当該画像の撮影方向を示す外部パラメータ及び内部パラメータ等に基づいて、算出される。また、光線の輝度値は、上述したようにf(X0,Y0,Z0,θ,φ)であり、上記の光線に対応する画像の画素の輝度値に基づいて決定される。
【0042】
世界座標系における一点M(3×1行列)と画像座標系における一点m(2×1行列)との関係を表すのがカメラパラメータPである。このカメラパラメータPを用いることで、画像中の画素と空間中の光線とを対応づけることができる。カメラパラメータは、世界座標系と画像座標系(撮影位置を原点とする)との間の回転R及び並進tで表される外部パラメータ、並びに画像の両座標軸がなす角度θ´、画像の中心座標(u0,v0)、画素のアスペクト比(ku,kv)及び焦点距離fdで表される内部パラメータAによって構成される。回転RはZ軸回りの回転(ロール)、Y軸周りの回転(ピッチ)、X軸回りの回転(ヨー)からなる3×3の行列である。また、並進tはX軸方向の移動tx、Y軸方向の移動ty、Z軸方向の移動tzからなる3×1の行列である。内部パラメータは上記の6パラメータからなる3×3の行列である。式で表すとP=A[R,t]と表すことができる(Pは3×4行列)。同次座標M´(4×1行列)、m´(3×1行列)を用いて表現する場合、sm´=PM´となる。ここで,sはスカラーである。
【0043】
光線算出部12は、画像入力部11から入力された情報及び予め光線算出部12に記憶された情報を基に上記の式を用いて演算することで、画像座標で表される画素情報を世界座標系の光線情報として扱うことができる。ピンホールカメラモデルを用いて、この様子を図13に示す。世界座標系のある点Mを通過する光線42は焦点面60(焦点面中心=光学中心)を通り、画像平面62の点(画素)mに投影される。このように、カメラパラメータを用いることで、世界座標系の点Mを通過する光線の輝度値を画素mの画素値から求めることが可能となる。
【0044】
次に、光線算出部12は、位置(X0,Y0,Z0)を中心とする単位球を仮定する。単位球を仮定することで、この位置を通過する光線を単位球上の位置(θ,φ)で記述することが可能になる。仮想球中心を光学中心とするカメラによって撮影された画像はデジタル画像のため、この時点では、光線の輝度を表すf(θ,φ)は離散関数である。
【0045】
画像の各画素に基づいて上記のように球モデルで記述された光線は離散的な情報であるため、光線算出部12は、連続関数化を行うことで連続値とする。関数化には、上述したように球面上で直交基底をなす、球面調和関数を用いる。光線算出部12は、球面調和関数展開を行うことで、光線の輝度値変化を波のパターンとして捉え、その波のパターンを複数の基底パターンの足し合わせとして扱うことができる。球面調和関数Ynm(θ,φ)は以下のように記述される関数である。
【数1】
ここで、添字nは次数を表し、mは同次の要素を区別するインデックスを表す。また、Pnmは、ルジャンドル(Legendre)陪関数と呼ばれる関数である。球面調和関数で級数展開すると、球面上の輝度値f(θ,φ)は以下のようになる。
【数2】
即ち、f(θ,φ)はθ,φを指定すると固定の値になる基底と、係数列Anm,Bnmの線形和として記述される。Anm,Bnmは各基底の重みを示す。また、nmaxは展開する最大次数を表す(予め定められて光線算出部12に記憶されている)。各基底に対する重み係数を変化させることで、あらゆるパターンの波に対応することができる。各基底は連続値であるので、その重み係数Anm,Bnmを記憶しておくことで、画像が撮像された画角内のあらゆる角度θ,φの光線の輝度値を求めることが可能となる。
【0046】
上記のように、光線算出部12は、当該画像及び当該画像に係るカメラパラメータに基づいて世界座標系での光線の輝度値及び方向を算出し、算出した光線の輝度値及び方向を記憶しておく。
【0047】
また、光線算出部12は、画像が撮影された位置から撮影対象物44までの距離(奥行き)を算出することによって、算出した光線の放射元の位置を特定する。光線の放射元の位置の特定は、例えば、画像入力部11から入力された2つの画像に基づいて行われる。光線算出部12は、2つの画像における互いに対応する対応点(画像に写っている撮影対象物44(空間中)の同じ部分に対応する点)を導出して、対応点からの光線の方向に基づいて、光線の放射元の位置を特定する。対応点の導出は、例えば、SIFT法とmean−shift法と用いた手法により行うことができる。
【0048】
光線算出部12は、上述したように算出したこの対応点の位置と、カメラパラメータとによって各カメラにおける入射光線の方向を求めることができる。ここで、三角測量の原理を用いることで、対応点が世界座標系のどの点に位置するかを求めることができる。また、複数の画像から上記の点を求める際も、上記のように画像間の対応点を求めることで、対応点が世界座標系のどの点に位置するかを求めることができる。
【0049】
また、光線算出部12は、撮像時にレンジセンサ等によって得られた画像が撮影された位置から撮影対象物44までの距離(光線の方向の奥行き)を示す情報を、入力画像提供装置20から画像と併せて受信し、その情報に基づいて光線の放射元の位置を特定することとしてもよい。
【0050】
光線算出部12は、特定した光線の放射元の位置と当該位置を求めるために用いた光線の輝度値とを対応付けて記憶しておく。光線算出部12は、上記の各演算処理を、画像入力部11から画像が入力される毎に行うこととしてもよいし、クライアント30からの要求をトリガとして行うこととしてもよい。
【0051】
視点情報入力部13は、任意視点画像を生成するための画像生成用カメラパラメータをクライアント30から受信することによって入力する視点情報入力手段である。これらの情報は、クライアント30からの任意視点画像の要求に含まれて送信される。視点情報入力部13は、受信した画像生成用カメラパラメータを光線マッピング部14に出力する。
【0052】
光線マッピング部14は、視点情報入力部13から入力された画像生成用カメラパラメータに基づいて、光線算出部12によって算出された光線情報から、当該仮想的な撮影位置に入射する光線を算出する光線マッピング手段である。具体的には、光線マッピング部14は、まず、視点情報入力部13から入力された画像生成用カメラパラメータを基に、任意視点画像の各画素に対応する必要な光線を計算する。この計算は、任意視点画像の各画素について行う。世界座標系での光線が通過する位置、及び方向を求める。光線が通過する位置については、画像生成用カメラパラメータに含まれる仮想的な撮影位置を示す情報に相当する。光線の方向については、画像生成用カメラパラメータに含まれる仮想的な撮影方向を示す情報、及び内部パラメータに基づいて算出する。
【0053】
続いて、光線マッピング部14は、光線算出部12によって算出されて記憶された光線の方向を示す情報を読み出し、この方向から、このように求めた必要光線と同じ方向のものを特定(算出)する。即ち、必要光線に対して、光線算出部12によって算出された光線のマッピングを行う。なお、ここでいう同じ方向とは、位置関係(同じ位置を通過し同じ方向に進む)が同じであることを示している。これは、上述したようにある点から放射される光線の輝度値は伝搬距離によらず一定という仮定を置いた場合、任意視点画像生成サーバ10に入力された画像に対応する光線が仮想的な撮影位置に入射する光線となっていることによるものである。光線算出部12によって算出された光線の方向と、必要光線の方向との一致は、それぞれの光線の方向を比較することによって行われる。なお、1つの必要光線に複数の光線がマッピングされていてもよい。光線マッピング部14は、任意視点画像の画素の必要光線毎にマッピングされた光線を特定する情報を画像生成部15に通知する。
【0054】
光線マッピング部14は、上記の処理でマッピングされなかった必要光線(入力カメラ40の光学中心を通過しない必要光線)に関しては、世界座標系での、光線算出部12によって特定された放射元の位置のうち、必要光線と交わる点を求め、必要光線として入射する光線の放射元を特定する。続いて、光線マッピング部14は、当該放射元を特定するために用いられた画像の光線についての情報(例えば、上記の放射元の位置から当該画像の撮影位置(入力カメラ40の光学中心)への方向で示される光線の方向)を取得する。光線マッピング部14は、任意視点画像の画素の必要光線毎に、上記の当該放射元を特定するために用いられた画像の光線の輝度を画像生成部15に通知する。
【0055】
なお、この際に、奥行きが不明等で放射元の位置が特定されない場合は、放射元の位置に基づくマッピングは行われない。また、放射元の位置が複数の画像に基づいて特定される場合は、複数の画像の光線についての情報を画像生成部15に通知する。
【0056】
画像生成部15は、光線マッピング部14によって算出された、任意視点画像の各画素の必要光線に対応する光線情報に基づいて、任意視点画像を生成する画像生成手段である。画像生成部15は、各任意視点画像の各画素の必要光線に対応する光線の、光線算出部12によって算出されて記憶された輝度情報を取得して、当該輝度値を画素値とした任意視点画像を生成する。輝度値の取得は、例えば、各球モデルの輝度パターンに基づいて連続関数に、必要な光線の方向(緯度,経度)を入力し、演算によって輝度値を取得することによって行われる。1つの画素に対応する光線が複数あり、複数の輝度値が取得される場合は、例えばそれらの平均をとること等により輝度値を決定し、即ち任意視点画像の画素の画素値を決める。
【0057】
上記のように、必要光線にマッピングされた光線がない場合や、複数の光線が必要光線にマッピングされている場合がある。画像生成部15は、光線マッピング部14によってマッピングされた輝度値を示す離散関数f(θ,φ)と、仮想的な撮影位置に入射する任意の光線の輝度値を示す近似連続関数g(θ,φ)との2乗誤差をとり、その差が最小となるようなg(θ,φ)を算出することとしてもよい。これを式で表すと以下の通りになる。
【数3】
マッピングされた光線の数をndataとする。つまりは。θi,φiを入力とした時に、取得できた輝度f(θi,φi)と近似関数によって求めた輝度g(θi,φi)との誤差を二乗したものをndata本の光線分足し合わせたものがχの2乗(2乗誤差)である。2乗誤差を最小とする近似連続関数g(θ,φ)を求めるということは、離散関数f(θ,φ)に最も近い輝度変化を示す連続関数g(θ,φ)を求めるとも言いかえることができる。この近似によって得られたg(θ,φ)を新たに輝度値変化を示す関数とすると、任意の方向(画素)に対する輝度値を一意に求めることができる。更には、必要光線にマッピングされた光線がない場合や、複数の光線が必要光線にマッピングされている場合等でも、光線の輝度値を一意に特定することができる。ここで用いる近似関数としては、例えば、球面調和関数が用いられる。また、このような近似関数を求めることによって、上述したように任意視点画像の解像度を任意に変化させたり、画像伝送の際に低周波成分から先に伝送し徐々に高周波成分を伝送するプログレッシブ伝送を行ったりすることも可能となる。画像生成部15は、上記のように生成した任意視点画像を画像出力部16に出力する。
【0058】
画像出力部16は、画像生成部15によって生成された任意視点画像を出力する画像出力手段である。具体的には、画像出力部16は、要求の送信元であるクライアント30に任意視点画像を送信する。以上が、任意視点画像生成サーバ10の機能構成である。
【0059】
図10に任意視点画像生成サーバ10のハードウェア構成を示す。図10に示すように任意視点画像生成サーバ10は、CPU(Central Processing Unit)101、主記憶装置であるRAM(Random Access Memory)102及びROM(Read Only Memory)103、通信を行うための通信モジュール104、並びにハードディスク等の補助記憶装置105等のハードウェアを備えるコンピュータを含むものとして構成される。これらの構成要素がプログラム等により動作することにより、上述した任意視点画像生成サーバ10の機能が発揮される。
【0060】
引き続いて、図11及び図12のフローチャートを用いて本実施形態に係る任意視点画像生成サーバ10により実行される処理(任意視点画像生成方法)について説明する。まず、図11のフローチャートを用いて、入力画像提供装置20から任意視点画像の基となる画像を入力する際の処理を説明し、その後、図12のフローチャートを用いて、任意視点画像を生成してクライアント30に出力する際の処理を説明する。
【0061】
まず、任意視点画像生成サーバ10では、画像入力部11によって、入力画像提供装置20から画像が受信され入力される(S01、画像入力ステップ)。ここでは、複数の画像が画像入力部11によって入力される。また、各画像には、当該画像に係るカメラパラメータが対応付けられており、画像入力部11によって当該カメラパラメータも受信されて入力される(S02、画像入力ステップ)。入力された画像及びカメラパラメータは、画像入力部11から光線算出部12に出力される。
【0062】
続いて、光線算出部12によって、入力された画像及びカメラパラメータに基づいて、画像が撮影された位置に入射する光線の輝度値及び方向が算出される(S03、光線算出ステップ)。具体的には、上記の輝度値を示す関数f(X0,Y0,Z0,θ,φ)を算出することにより行われる。
【0063】
続いて、光線算出部12によって、上記のように算出された光線を球モデルとして扱う(S04、光線算出ステップ)。続いて、光線算出部12によって、この球モデルを用いて、上記の光線を連続値とされる(S05、光線算出ステップ)。即ち、光線の輝度値を画角内の任意の角度(方向)に対して求めることができる関数を算出する。上記のように算出された光線に関する情報は、光線算出部12によって記憶される(S06、光線算出ステップ)。
【0064】
その一方で、光線算出部12によって、例えば、以下のように算出した光線の放射元の、世界座標系での位置(座標)が特定される。まず、2つの画像における互いに対応する対応点が導出される(S07、光線算出ステップ)。続いて、それぞれの画像から導出された対応点からの光線の方向に基づいて、当該対応点の世界座標系の座標が、光線の放射元の位置として特定される(S08、光線算出ステップ)。光線算出部12によって、特定された光線の放射元の位置と当該位置を求めるために用いた光線の輝度値とが対応付けて記憶される。以上が、入力画像提供装置20から任意視点画像の基となる画像を入力する際の処理である。
【0065】
続いて、図12のフローチャートを用いて、任意視点画像を生成してクライアント30に出力する際の処理を説明する。まず、任意視点画像生成サーバ10では、視点情報入力部13によって、任意視点画像を生成するための画像生成用カメラパラメータがクライアント30から受信されて入力される(S11、視点情報入力ステップ)。なお、クライアント30からの任意視点画像の要求に含まれている。画像生成用カメラパラメータは、視点情報入力部13から光線マッピング部14に出力される。
【0066】
続いて、光線マッピング部14によって、画像生成用カメラパラメータを基に任意視点画像を生成するために必要な光線(必要光線)が計算される(S12、光線マッピングステップ)。続いて、光線マッピング部14によって、必要光線に対して、画像から算出された光線のマッピングが行われる(S13、光線マッピングステップ)。また、光線マッピング部14によって、世界座標系での、光線算出部12によって特定された放射元の位置と必要光線とが交わる点が求められ、必要光線として入射する光線の放射元が特定される(S14、光線マッピングステップ)。上記のように算出された、必要光線毎にマッピングされた光線を特定する情報、及び放射元から入射する光線に関する情報は、光線マッピング部14から画像生成部15に入力される。
【0067】
続いて、画像生成部15によって、光線マッピング部14から入力された情報に基づいて、各必要光線に対応する光線の輝度値が計算される(S15、画像生成ステップ)。この計算は、球モデルに基づいた関数fに基づいて行われる。続いて、画像生成部15によって、仮想的な撮影位置に入射する任意の光線の方向及び輝度値を示す関数が算出される(S16、画像生成ステップ)。続いて、画像生成部15によって、当該関数に基づいて任意視点画像の各画素の輝度値が決定され、任意視点画像が生成される(S17、画像生成ステップ)。
【0068】
生成された任意視点画像は、画像生成部15から画像出力部16に出力される。続いて、画像出力部16によって、任意視点画像が要求の送信元であるクライアント30に送信される(S18、画像出力ステップ)。クライアント30では、当該任意視点画像が受信されて、ディスプレイ等への表示が行われ、ユーザにより参照される。以上が、任意視点画像を生成してクライアント30に出力する際の処理
【0069】
上述したように、本実施形態に係る任意視点画像生成サーバ10では、任意視点画像の生成の基となる画像から画像が撮影された位置に入射する光線に関する情報が算出されて、仮想的な撮影位置に入射する当該光線に関する情報が算出され、この情報から任意視点画像が生成される。即ち、本実施形態に係る任意視点画像生成サーバ10では、任意視点画像を生成するための画像を撮影するためのカメラ等の撮影手段の位置や撮影方向、また撮影手段間の光学系が不統一な場合であっても、上記のように、統一的に扱いえる光線に関する情報を用いることにより任意視点画像を生成することができる。
【0070】
これにより、任意視点画像を生成するための画像を撮影するための撮影手段が、上述したような携帯電話機に設けられるカメラやデジタルカメラ等であっても、任意視点画像を生成することができる。
【0071】
また、本実施形態のように光線の表現として球モデルを用いることとすれば、光線を確実に表現することができ、確実に任意視点画像を生成することができる。
【0072】
また、本実施形態のように画素毎に算出された光線の情報に基づいて、輝度値を示す関数を算出することとすれば、画素に対応する離散的な光線の情報から連続的な情報にすることができ、確実に光線に関する情報を算出することができる。
【0073】
また、本実施形態のように光線の放射元の位置を特定して、当該放射元の位置からの光線についての情報も任意視点画像の生成に用いることとすれば、画像が撮影された位置に入射する光線だけでは仮想的な撮影位置に入射する光線を算出できない場合であっても、当該仮想的な撮影位置に入射する光線を算出することができ、適切に任意視点画像を生成することができる。
【0074】
また、光線の放射元の位置の特定を、奥行きの情報や複数の画像間の対応点に基づいて行うこととすれば、確実に放射元の位置を特定することができ、適切に任意視点画像を生成することができる。
【0075】
また、本実施形態のように、必要光線にマッピングされた光線に基づいて、仮想的な撮影位置に入射する光線の方向及び輝度値を示す関数を算出することとすれば、当該マッピングが十分でなかった場合等でも任意視点画像を生成することができる。また、この構成により、上述したように任意視点画像の解像度を任意に変化させたり、画像伝送の際に低周波成分から先に伝送し徐々に高周波成分を伝送するプログレッシブ伝送を行ったりすることも可能となる。
【図面の簡単な説明】
【0076】
【図1】本発明の好適な実施形態に係る任意視点画像生成装置である任意視点画像生成サーバの構成を示す図である。
【図2】光線空間の概念における画像と光線との関係を示す図である。
【図3】入力カメラに入射する光線を世界座標系で示す図である。
【図4】任意視点画像を生成する基本的な仕組みを示す図である。
【図5】球モデルによる光線を示す図である。
【図6】入力カメラに入射する、画素に対応する方向の光線と任意の方向の光線とを示す図である。
【図7】撮影対象物から放射され各入力カメラに入射する光線を示す図である。
【図8】撮影対象物から放射され各入力カメラ及び仮想カメラに入射する光線を示す図である。
【図9】撮影対象物の所定の点から複数の入力カメラ及び仮想カメラに入射する光線を示す図である。
【図10】本発明の好適な実施形態に係る任意視点画像生成サーバのハードウェア構成を示す図である。
【図11】本発明の実施形態に係る任意視点画像生成サーバで(画像入力時に)実行される処理(任意視点画像生成方法)を示すフローチャートである。
【図12】本発明の実施形態に係る任意視点画像生成サーバで(任意視点画像生成時)実行される処理(任意視点画像生成方法)を示すフローチャートである。
【図13】世界座標系と画像座標系の関係を示す図である。
【符号の説明】
【0077】
10…任意視点画像生成サーバ、11…画像入力部、12…光線算出部、13…視点情報入力部、14…光線マッピング部、15…画像生成部、16…画像出力部、101…CPU、102…RAM、103…ROM、104…通信モジュール、105…補助記憶装置、20…入力画像提供装置、30…クライアント。
【特許請求の範囲】
【請求項1】
画像、並びに当該画像の撮影方向及び撮影位置を示す情報を入力する画像入力手段と、
前記画像入力手段によって入力された画像を構成する画素の位置及び画素値、並びに当該画像の撮影方向を示す情報から、前記画像が撮影された位置に入射する光線の輝度値及び方向を算出する光線算出手段と、
生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報を入力する視点情報入力手段と、
前記視点情報入力手段によって入力された前記仮想的な撮影方向及び撮影位置を示す情報に基づいて、前記光線算出手段によって算出された前記光線の方向から、当該仮想的な撮影位置に入射する光線を算出する光線マッピング手段と、
前記光線マッピング手段によって算出された光線の前記輝度値から、前記任意視点画像を生成する画像生成手段と、
前記画像生成手段によって生成された任意視点画像を出力する画像出力手段と、
を備える任意視点画像生成装置。
【請求項2】
前記光線算出手段は、前記光線の方向を前記画像が撮影された位置を中心とした単位球上の座標として算出することを特徴とする請求項1に記載の任意視点画像生成装置。
【請求項3】
前記光線算出手段は、前記画像を構成する画素に対応する光線の方向及び輝度値を算出することを特徴とする請求項1又は2に記載の任意視点画像生成装置。
【請求項4】
前記光線算出手段は、算出した前記画素に対応する光線の方向及び輝度値に基づいて、前記画像が撮影された位置に入射する光線の方向及び輝度値を示す関数を算出することを特徴とする請求項3に記載の任意視点画像生成装置。
【請求項5】
前記光線算出手段は、算出した前記光線の放射元の位置を特定し、
前記光線マッピング手段は、前記光線算出手段によって特定された放射元の位置から前記仮想的な撮影位置に入射する光線を算出することを特徴とする請求項1〜4のいずれか一項に記載の任意視点画像生成装置。
【請求項6】
前記光線算出手段は、前記画像入力手段によって入力された複数の画像における互いに対応する対応点の光線の方向に基づいて、前記光線の放射元の位置を特定することを特徴とする請求項5に記載の任意視点画像生成装置。
【請求項7】
前記光線算出手段は、前記光線算出手段によって算出される前記光線の方向の奥行きを示す情報を入力して、当該光線の放射元の位置を特定することを特徴とする請求項5又は6に記載の任意視点画像生成装置。
【請求項8】
前記画像生成手段は、前記光線マッピング手段によって算出した前記仮想的な撮影位置に入射する光線に基づいて、前記仮想的な撮影位置に入射する光線の方向及び輝度値を示す関数を算出することを特徴とする請求項1〜7の何れか一項に記載の任意視点画像生成装置。
【請求項9】
画像、並びに当該画像の撮影方向及び撮影位置を示す情報を入力する画像入力ステップと、
前記画像入力ステップにおいて入力された画像を構成する画素の位置及び画素値、並びに当該画像の撮影方向を示す情報から、前記画像が撮影された位置に入射する光線の輝度値及び方向を算出する光線算出ステップと、
生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報を入力する視点情報入力ステップと、
前記視点情報入力ステップにおいて入力された前記仮想的な撮影方向及び撮影位置を示す情報に基づいて、前記光線算出ステップにおいて算出された前記光線の方向から、当該仮想的な撮影位置に入射する光線を算出する光線マッピングステップと、
前記光線マッピングステップにおいて算出された光線の前記輝度値から、前記任意視点画像を生成する画像生成ステップと、
前記画像生成ステップにおいて生成された任意視点画像を出力する画像出力ステップと、
を含む任意視点画像生成方法。
【請求項1】
画像、並びに当該画像の撮影方向及び撮影位置を示す情報を入力する画像入力手段と、
前記画像入力手段によって入力された画像を構成する画素の位置及び画素値、並びに当該画像の撮影方向を示す情報から、前記画像が撮影された位置に入射する光線の輝度値及び方向を算出する光線算出手段と、
生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報を入力する視点情報入力手段と、
前記視点情報入力手段によって入力された前記仮想的な撮影方向及び撮影位置を示す情報に基づいて、前記光線算出手段によって算出された前記光線の方向から、当該仮想的な撮影位置に入射する光線を算出する光線マッピング手段と、
前記光線マッピング手段によって算出された光線の前記輝度値から、前記任意視点画像を生成する画像生成手段と、
前記画像生成手段によって生成された任意視点画像を出力する画像出力手段と、
を備える任意視点画像生成装置。
【請求項2】
前記光線算出手段は、前記光線の方向を前記画像が撮影された位置を中心とした単位球上の座標として算出することを特徴とする請求項1に記載の任意視点画像生成装置。
【請求項3】
前記光線算出手段は、前記画像を構成する画素に対応する光線の方向及び輝度値を算出することを特徴とする請求項1又は2に記載の任意視点画像生成装置。
【請求項4】
前記光線算出手段は、算出した前記画素に対応する光線の方向及び輝度値に基づいて、前記画像が撮影された位置に入射する光線の方向及び輝度値を示す関数を算出することを特徴とする請求項3に記載の任意視点画像生成装置。
【請求項5】
前記光線算出手段は、算出した前記光線の放射元の位置を特定し、
前記光線マッピング手段は、前記光線算出手段によって特定された放射元の位置から前記仮想的な撮影位置に入射する光線を算出することを特徴とする請求項1〜4のいずれか一項に記載の任意視点画像生成装置。
【請求項6】
前記光線算出手段は、前記画像入力手段によって入力された複数の画像における互いに対応する対応点の光線の方向に基づいて、前記光線の放射元の位置を特定することを特徴とする請求項5に記載の任意視点画像生成装置。
【請求項7】
前記光線算出手段は、前記光線算出手段によって算出される前記光線の方向の奥行きを示す情報を入力して、当該光線の放射元の位置を特定することを特徴とする請求項5又は6に記載の任意視点画像生成装置。
【請求項8】
前記画像生成手段は、前記光線マッピング手段によって算出した前記仮想的な撮影位置に入射する光線に基づいて、前記仮想的な撮影位置に入射する光線の方向及び輝度値を示す関数を算出することを特徴とする請求項1〜7の何れか一項に記載の任意視点画像生成装置。
【請求項9】
画像、並びに当該画像の撮影方向及び撮影位置を示す情報を入力する画像入力ステップと、
前記画像入力ステップにおいて入力された画像を構成する画素の位置及び画素値、並びに当該画像の撮影方向を示す情報から、前記画像が撮影された位置に入射する光線の輝度値及び方向を算出する光線算出ステップと、
生成する任意視点画像に係る仮想的な撮影方向及び撮影位置を示す情報を入力する視点情報入力ステップと、
前記視点情報入力ステップにおいて入力された前記仮想的な撮影方向及び撮影位置を示す情報に基づいて、前記光線算出ステップにおいて算出された前記光線の方向から、当該仮想的な撮影位置に入射する光線を算出する光線マッピングステップと、
前記光線マッピングステップにおいて算出された光線の前記輝度値から、前記任意視点画像を生成する画像生成ステップと、
前記画像生成ステップにおいて生成された任意視点画像を出力する画像出力ステップと、
を含む任意視点画像生成方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−176325(P2010−176325A)
【公開日】平成22年8月12日(2010.8.12)
【国際特許分類】
【出願番号】特願2009−17169(P2009−17169)
【出願日】平成21年1月28日(2009.1.28)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】
【公開日】平成22年8月12日(2010.8.12)
【国際特許分類】
【出願日】平成21年1月28日(2009.1.28)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】
[ Back to top ]