【文献】
久富 健介,多視点映像技術の概要,NHK技研R&D,日本放送協会,2014年 3月15日,No.144,18〜25,企業技報2014-00025-001
【文献】
久富 健介,複数距離画像からのインテグラル立体像生成手法,映像情報メディア学会技術報告,映像情報メディア学会,2012年 6月13日,Vol.36 No.24,7〜10,国内学会論文2012-00464-002
(58)【調査した分野】(Int.Cl.,DB名)
前記画像統合手段は、前記カメラベクトルと前記光線ベクトルとのなす角度を昇順に並びかえたとき、予め定められた順位以上のカメラを選択する、請求項1又は請求項2に記載の要素画像群生成装置。
前記光線追跡手段は、前記カメラベクトルと前記光線ベクトルとのなす角度を昇順に並びかえたとき、予め定められた順位以上のカメラを用いて生成されたデプスマップを用いて前記決定した交点の座標を求める、請求項2に記載の要素画像群生成装置。
前記光線追跡手段は、前記デプスマップと前記直線との交点のうち観測者に最も近い交点をデプスマップ毎に求め、求めた交点を前記選択された複数のカメラにそれぞれ投影したときの各投影点での画素値の類似度を前記交点毎に算出し、算出した類似度が最も高くなる交点を、前記観測者に最も近い位置に対応した交点として決定する、請求項2に記載の要素画像群生成装置。
【発明を実施するための形態】
【0015】
本発明に係る要素画像群生成装置を実施するための形態について図面を参照して詳細に説明する。
(第1実施形態)
[要素画像群生成装置の構成]
図1に示す要素画像群生成装置100は、同一被写体を多視点カメラ(複数のカメラ)で撮影した多視点のカメラ画像(多視点映像)からインテグラル式立体テレビの立体像を生成するための要素画像群を生成するものである。本実施形態の要素画像群生成装置100は、被写体の予め生成された3次元モデルを演算機内の仮想空間上に配置して要素画像群を生成する。
【0016】
要素画像群生成装置100は、
図1に示すように、主として、光線追跡手段110と、画像統合手段120と、画像生成制御手段130と、を備えている。この要素画像群生成装置100は、例えば一般的なコンピュータで構成され、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、入出力インタフェース等を備えている。なお、仮想空間情報メモリ114や要素画像群格納メモリ131は、HDDや一般的な画像メモリから構成される。
【0017】
本実施形態では、要素画像群生成装置100の処理の際に外部から、被写体を撮影したカメラ画像、予め取得されたカメラパラメータ、適宜設定されたディスプレーパラメータ及びレンズアレーパラメータ、予め生成された前記被写体に関する3次元モデルがそれぞれ入力されるものとする。なお、これらの入力データは、処理の前に、要素画像群生成装置100の内部のメモリに記憶させておくこととしてもよい。
【0018】
まず、入力データについて説明する。
<入力データ>
カメラ画像とは、多視点カメラで撮影した多視点映像の少なくとも1つの視点映像を表している。なお、視点映像や多視点映像に関して、画像処理を説明する場合や、記憶された画像又はフレーム単位の画像等を指す場合、カメラ画像あるいは単に画像と呼ぶ場合もある。撮影に用いる多視点カメラの配置の一例を
図2に示す。
図2に示す例では、縦3×横7の合計21台のカラーカメラC(以下、単にカメラという)による2次元カメラアレーとしている。ただし、カメラ台数はこれに限らず、また、例えば縦1×横7の合計7台のカメラCによる1次元カメラアレーとしても構わない。
【0019】
カメラパラメータは、前記被写体の撮影に用いる多視点カメラについての各カメラの焦点距離等のレンズ系のパラメータと、各カメラの回転や並進等の姿勢に関するパラメータと、を含んでいる。
なお、カメラパラメータを取得する方法としては、例えば多視点カメラを設置した後、被写体を撮影する前に、既知の位置に点群が描画されているパターンを全てのカメラで同時に撮影し、撮影された全てのカメラ画像を用いて例えば以下の参考文献1に記載されているような手法を用いることでカメラパラメータを取得することが可能である。
参考文献1:R.Y.Tsai,「A versatile camera calibration technique for high accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses.」,IEEE Journal of Robotics and Automation,RA-3(4) ,pp323-344,1987
【0020】
または、既知の位置に点群が描画されているパターンを用いる代わりに、例えば以下の参考文献2に記載されているような手法を用いることで、カメラによって撮影された画像内から抽出した特徴点の画像間の対応関係を用いて、カメラパラメータを取得することも可能である。
参考文献2:Noah Snavely,Steven M.Seitz, Richard Szeliski,「Modeling the World from Internet Photo Collections」,International Journal of Computer Vision,80(2) ,189-210,November 2008
【0021】
ディスプレーパラメータとしては、例えば仮想ディスプレーの縦横の大きさや、仮想ディスプレー上の画素の大きさ、画素数、画素ピッチ、各画素の位置等を挙げることができる。
レンズアレーパラメータとしては、例えば仮想レンズアレーの縦横の大きさ、仮想レンズアレーを構成するレンズ(マイクロレンズ)の直径、個数、レンズピッチ、各レンズの光学主点の位置、レンズの焦点距離等を挙げることができる。
画像を表示させたいディスプレーやレンズアレーが分かっていれば、そのディスプレーやレンズアレーのパラメータをそのまま当てはめてもよい。
【0022】
3次元モデルは、被写体の3次元形状を表すものであり、予め生成されている。本実施形態では、3次元モデルの生成手法は特に限定されない。
一例として被写体を多視点カメラで撮影して得られた多視点映像から復元したものであるとして説明する。なお、多視点映像から3次元モデルを生成する手法としては、全てのカメラ画像を用いて一度にモデルを生成する多眼視による手法と、2台のカメラペアから順次生成したモデルを統合するステレオ視による手法とが知られている。また、多眼視による手法の1つとして視体積交差法も知られている。このようないずれの手法も採用することができる。
【0023】
次に、要素画像群生成装置100を構成する各手段について説明する。
<光線追跡手段>
光線追跡手段110は、画像生成制御手段130の制御の下、仮想空間に配置した仮想ディスプレーの画素から発する光線を追跡するものである。
光線追跡手段110には、ディスプレーパラメータ、レンズアレーパラメータ、カメラパラメータ及び3次元モデルが入力される。この光線追跡手段110は、仮想空間設定手段111と、光線ベクトル算出手段112と、位置情報算出手段113と、を備えている。
【0024】
まず、
図3を参照(適宜
図1参照)して仮想空間設定手段111について説明する。
仮想空間設定手段111は、入力されるディスプレーパラメータに基づいて、仮想空間(仮想空間情報メモリ114)において基準とする位置に仮想ディスプレーを配置する。
図3では、一例として、仮想ディスプレーの表示画面(画素群)の横方向(水平方向)に沿ってY軸が配置され、仮想ディスプレーの表示画面(画素群)の縦方向(紙面に垂直な方向)に沿ってX軸が配置されているものとする。
【0025】
仮想空間設定手段111は、入力されるレンズアレーパラメータに基づいて、仮想空間(仮想空間情報メモリ114)において仮想ディスプレーの表示画面に対して平行に仮想レンズアレーを配置する。ここでは、仮想ディスプレーの中心から仮想レンズアレーの中心へのベクトルをZ軸とする。仮想空間設定手段111は、仮想ディスプレーからZ軸方向に焦点距離fだけ離間した位置に仮想レンズアレーを配置する。なお、
図3では、Y軸をZ軸の負の方向にずらして見易くしている。
【0026】
仮想空間設定手段111は、入力されるカメラパラメータに基づいて仮想空間(仮想空間情報メモリ114)に仮想カメラ(以下、単にカメラともいう)を配置する。
以下では、一例として、5台のカメラからなる多視点カメラで被写体の多視点映像を撮影したものとして説明する。各カメラが配された位置が視点位置を表している。この場合、多視点映像は、画像(カメラ画像)I
0、I
1、I
2、I
3、I
4で構成される。
【0027】
仮想空間設定手段111は、仮想空間(仮想空間情報メモリ114)において仮想ディスプレーの近傍に3次元モデルQを配置する。
ここでは、後記する直線との交点を説明する目的で複雑な形状の3次元モデルを図示した。
図3に示す3次元モデルQは、平面視で、仮想ディスプレーから仮想レンズアレーの側(観測者の側)に突出した2つの突出部と、2つの突出部の間で仮想ディスプレーから仮想レンズとは反対側に凹んだ凹部とを有する曲線からなる。なお、
図3では、モデルの正面(
図3において右側)や側面(
図3において上側及び下側)がひと続きの滑らかな曲線で示されているが、場合によっては細かなジグザグを持った波形状のモデルとして求められることがある。
【0028】
次に、
図4を参照(適宜
図1参照)して光線追跡手段110の構成の説明を続ける。
光線ベクトル算出手段112は、仮想空間に配置した仮想ディスプレーの画素iから発して仮想レンズアレーのレンズを通過する光線を表す直線Lの方向ベクトルである光線ベクトルgを算出する。なお、iは仮想ディスプレー上で左から何番目で上から何番目の画素であるかを示す2次元座標を特定するための識別子で、0,1,…で表される。算出された光線ベクトルは、画像統合手段120に出力される。
本実施形態では、光線ベクトルgは、仮想ディスプレー上の画素iの位置を終点とするベクトルであって、仮想レンズアレーにおいて当該画素iの最近傍のマイクロレンズmの光学主点pを始点とするベクトルであるものとした。この光線ベクトルgの向きとは反対向きのベクトルを想定すると、そのベクトルの向き(仮想カメラ側に向かう直線Lの向き)は、生成される立体像を観測するときには、当該画素から再生されるインテグラル立体像の光線の向きを表す。
【0029】
位置情報算出手段113は、仮想ディスプレーの画素iを通る直線Lと、仮想空間に配置した3次元モデルQと、の交点のうち、観測者に最も近い位置に対応して決定した交点の座標を求める。
図4に示す例では、位置情報算出手段113は、画素iを通る直線Lと3次元モデルQとの交点{S
0、S
1、S
2}のうち、もっともZ値が大きな交点S
2の座標を求めて、画像統合手段120に出力する。なお、以下では、特に区別しない場合、単に交点Sと表記する。
【0030】
<画像統合手段>
画像統合手段120は、画像生成制御手段130の制御の下、各カメラ画像を用いてその画素値を統合するものである。この画像統合手段120には、カメラ画像及びカメラパラメータが入力される。
図1に示すように、画像統合手段120は、カメラベクトル算出手段121と、カメラ選択手段122と、画素値割当手段123と、を備えている。
【0031】
カメラベクトル算出手段121は、入力されるカメラパラメータに基づいて仮想空間上に配置された複数のカメラによる撮影方向を示すカメラベクトルをそれぞれ算出するものである。算出されたカメラベクトルは、カメラ選択手段122に出力される。
図3及び
図4において、カメラベクトルC
0は、画像I
0を撮影したカメラの撮影方向を示している。同様に、他のカメラベクトルC
1、C
2、C
3、C
4は、画像I
1、I
2、I
3、I
4をそれぞれ撮影した各カメラの撮影方向を示している。カメラベクトルを特に区別しない場合、C
nと表記する。また、カメラを識別するためにカメラベクトルの符号(C
n)を用いることもある。カメラそのものと容易に区別できる場合にはカメラベクトルCとも表記する。なお、カメラ画像を特に区別しない場合、I
n又は単にIと表記する。
【0032】
カメラ選択手段122には、光線ベクトルg及びカメラベクトルC
nが入力される。
カメラ選択手段122は、仮想空間においてカメラベクトルC
nと光線ベクトルgとのなす角度が所定値以下であるカメラを選択するものである。すなわち、カメラ選択手段122は、各カメラベクトルC
nと光線ベクトルgとの内積をそれぞれ求め、内積が所定の閾値以上となったカメラを選択する。ここで、角度についての所定値や、内積についての閾値は、特に限定されず、要素画像群生成装置100の目的や用途に応じて、カメラ選択手段122で少なくとも1つのカメラを選択できるように、その値を適宜設定することができる。
【0033】
図4に示す例では、光線ベクトルgとカメラベクトルC
2との内積と、光線ベクトルgとカメラベクトルC
3との内積とが所定の閾値以上になったものとしている。この場合、カメラ選択手段122は、画像I
2を撮影したカメラと、画像I
3を撮影したカメラとを選択する。ここで、カメラを選択するのは、そのカメラ画像を選択するためであり、カメラベクトルの符号(C
n)は、カメラ識別子を兼ねているので、カメラを選択することを、カメラベクトル{C
2,C
3}を選択する、又は、カメラ画像{I
2,I
3}を選択するともいう。
【0034】
このカメラ選択手段122は、光線ベクトルgとカメラベクトルC
nとに基づいてカメラを選択する。前記したように、生成される立体像を観測する際には、この光線ベクトルgの向きとは反対向きのベクトルの向き(仮想カメラ側に向かう直線Lの向き)は、当該画素から再生されるインテグラル立体像の光線の向きを表す。したがって、カメラ選択手段122によって、光線ベクトルgの向きに近い撮影方向のカメラベクトル(カメラ)を選択してそのカメラ画像Iを採用することで、要素画像群生成装置100は、再生されるインテグラル立体像において3次元モデルQの誤差の影響を最小限にすることができる。
【0035】
画素値割当手段123は、3次元モデルQの交点をカメラ画像Iに投影した投影点Jの画素値又はそれらを合成した画素値を仮想ディスプレーの画素に割り当てるものである。この画素値割当手段123は、投影手段124と、合成手段125と、を備えている。
【0036】
投影手段124は、カメラ選択手段122で選択されたカメラについて入力されたカメラ画像に対して交点の座標を投影するものである。
投影手段124は、仮想カメラについてカメラパラメータに基づいて予め行ったキャリブレーションによって、仮想空間上のある点の3次元位置に対して、ある撮影方向をもって配置されたある仮想カメラの撮像面上のある一点の位置とが対応付けられるように構成されている。位置の対応付けは、キャリブレーションに基づいて得られるルックアップテーブルや関係式を用いる演算により行われる。よって、投影手段124は、仮想空間上の3次元位置の座標(交点の座標)が入力されると、投影先のカメラ画像の画素の位置を特定することができる。なお、このキャリブレーションには、例えば既知の位置に点群が描画されているパターンを多視点カメラで同時に撮影して取得したカメラパラメータを用いることができる。
【0037】
合成手段125は、カメラ選択手段122で複数のカメラが選択されたときに、各カメラ画像の投影点の画素値を合成するものである。合成された画素値Vは、画像生成制御手段130に出力される。なお、合成手段125は、カメラ選択手段122で1つのカメラだけが選択された場合、そのカメラ画像の投影点の画素値をそのまま画像生成制御手段130に出力する。
【0038】
ここで、画素値の合成の具体例について
図5(a)を参照(適宜
図1及び
図4参照)して説明する。例えばカメラ選択手段122において、各カメラベクトルC
nと、画素iを通る光線ベクトルgとの内積を求めた結果、閾値以上の内積を持つものとして2つのカメラベクトル{C
2,C
3}を選択したものとする。この場合、投影手段124は、これらのカメラベクトル{C
2,C
3}に対応した2つのカメラ画像{I
2,I
3}に対して、位置情報算出手段113で算出された交点S
2の座標をそれぞれ投影する。
図5(a)に示す例では、カメラ画像I
2における交点S
2の投影点をJ
2、カメラ画像I
3における交点S
2の投影点をJ
3としている。また、投影点J
2の画素値(カラー値)をV
2、投影点J
3の画素値(カラー値)をV
3とする。
【0039】
この場合、合成手段125は、画素値V
2と画素値V
3とを合成した結果の画素値Vを画像生成制御手段130に出力する。ここで、複数の画素値(カラー値)の合成は、各カメラベクトル{C
2,C
3}と光線ベクトルgとのなす角で定義される式によって合成できる。例えば、次の式(1)に示すように、画素値Vは、画素値V
2、V
3に対して各カメラベクトル{C
2,C
3}と光線ベクトルgとの内積値を係数とした重み付け加算によって定義してもよい。なお、式(1)においてKは定数である。
【0041】
<画像生成制御手段>
画像生成制御手段130は、仮想ディスプレーの全画素について割り当てられた画素値を集積した要素画像群を生成するものである。
画像生成制御手段130は、例えば前記式(1)、
図5(a)及び
図5(b)に示すように、画素iを通る光線ベクトルgから割り当てられた画素値Vを取得した場合、要素画像群格納メモリ131上で仮想ディスプレーの画素iに対応したアドレスに画素値Vを格納する。つまり、要素画像群格納メモリ131上の要素画像群Yのための記憶領域において、光線ベクトルgが通るマイクロレンズmに対応した要素画像Gの該当画素iに対応した座標に画素値Vを格納する。すなわちY(i)=Vである。
【0042】
図3及び
図4に示すように、仮想レンズアレーのマイクロレンズm(以下、単にレンズともいう)は、仮想ディスプレーの6画素×6画素に対応している。よって、この例では、1つのレンズ当たり6×6回の光線追跡に応じて、それぞれ割り当てられた画素値を格納する。
加えて、仮想レンズアレーのレンズの個数が、例えば6×6の正方配列であれば、レンズ毎に行う処理を36回繰り返すことになる。画像生成制御手段130は、以上の一連の画素割当及びメモリ格納処理を、仮想ディスプレーの各画素について行った後、メモリに格納されている最終結果の要素画像群Yを出力する。
これにより、実空間上において、2次元ディスプレー上に、この要素画像群Yを表示し、レンズアレーを構成するレンズ(マイクロレンズ)の焦点距離fだけ離れた位置に、このレンズアレーを設置すると、インテグラル立体像を再生することができる。
【0043】
[要素画像群生成装置の動作]
次に、要素画像群生成装置100による処理の流れについて
図6を参照(適宜
図1及び
図4参照)して説明する。まず、要素画像群生成装置100において、光線追跡手段110は、仮想ディスプレー、仮想レンズアレー、3次元モデルを仮想空間に配置する(ステップS1)。そして、画像生成制御手段130は、仮想ディスプレー上の画素iにおいてi=0を設定する(ステップS2)。
【0044】
そして、光線追跡手段110は、仮想レンズアレー中で、画素iに最近傍のレンズ(マイクロレンズm)を探索し(ステップS3)、画素iとマイクロレンズmの光学主点pとを結ぶ直線Lを算出し(ステップS4)、直線Lから光線ベクトルgを算出する(ステップS5)。さらに、光線追跡手段110は、直線Lと3次元モデルとの交点を算出し(ステップS6)、複数の交点のうち最も観測者側の交点Sの位置を抽出する(ステップS7)。
【0045】
続いて、画像統合手段120は、カメラベクトルCと光線ベクトルgとのなす角度が所定値以下であるカメラをすべて選択する(ステップS8)。すなわち、カメラベクトルCと光線ベクトルgとの内積が閾値以上であるカメラをすべて選択する。そして、画像統合手段120は、選択されたカメラの画像に交点Sをそれぞれ投影し、その画素値をそれぞれ取得する(ステップS9)。次に、画像生成制御手段130は、画素値の合成結果をメモリ内の画素iの位置に格納する(ステップS10)。そして、画像生成制御手段130は、iの現在値に1を加算し(ステップS11)、全ての画素を選択したか否かを判別する(ステップS12)。まだ選択していない画素が残っている場合(ステップS12:No)、要素画像群生成装置100は、ステップS3に戻る。一方、全ての画素を選択した場合(ステップS12:Yes)、画像生成制御手段130は、要素画像群を出力する(ステップS13)。
【0046】
第1実施形態によれば、要素画像群生成装置100は、立体像を再生する際のインテグラル立体像の光線の向きに相当する光線ベクトルgの向きに近い撮影方向のカメラベクトルを選択して、そのカメラ画像Iに対して光線ベクトルgと被写体の3次元モデルQとの交点Sを投影するので、3次元モデルの法線に一番近いカメラを選択する手法よりも、再生されるインテグラル立体像において3次元モデルの誤差の影響を低減することができる。
【0047】
(第2実施形態)
第1実施形態では
図3を参照してモデルの正面や側面がひと続きの滑らかな曲線で示された1つのモデルが求められているものとして説明したが、例えばデプスカメラ(奥行きカメラ)で被写体の距離画像を取得する場合には、一方向からしか被写体を撮影できない。ただし、デプスカメラで様々な方向から被写体を撮影して取得した距離画像を重ね合わせれば、全体としてモデルの正面や側面がひと続きの滑らかな曲線で示された1つの3次元モデルのように扱うことが可能である。
【0048】
以下では、デプスカメラの代わりに通常のカラーカメラを用い、多数のカラーカメラから2台のカメラを選択しそのカメラペアでそれぞれ撮影されたカメラ画像間の対応関係を各画素について求め、三角測量の原理を用いて奥行きを推定することで、当該カメラペアのデプスマップが生成されているものとする。
【0049】
[要素画像群生成装置の構成]
以下では、第1実施形態と同じ構成には同じ符号を付して説明を適宜省略する。
図7に示す要素画像群生成装置100Bは、デプスマップを演算機内の仮想空間上に配置して要素画像群を生成する。本実施形態では、
図7に示すように、要素画像群生成装置100Bの処理の際に外部から、カメラ画像、カメラパラメータ、ディスプレーパラメータ、レンズアレーパラメータ及びデプスマップが入力されるものとする。なお、これらの入力データは、処理の前に、要素画像群生成装置100Bの内部のメモリに記憶させておくこととしてもよい。
【0050】
デプスマップは、多視点カメラの一部のカメラ(例えば2台のステレオカメラ)から、被写体までの奥行きを推定したものであり、画素ごとの奥行き値が2次元に並んだ距離画像である。側面等を含む3次元モデルを生成するには複数の距離画像を統合する必要があるので、複数のデプスマップを入力することが好ましい。
【0051】
複数のデプスマップについて、
図8を参照(適宜
図7参照)して説明する。
デプスマップD
0は、カメラC
0とカメラC
1とを用いて生成され、カメラC
0による画像I
0の撮影位置からの距離値が並んだ距離画像である。
デプスマップD
1は、カメラC
1とカメラC
0とを用いて生成され、カメラC
1による画像I
1の撮影位置からの距離値が並んだ距離画像である。
デプスマップD
2は、カメラC
2とカメラC
1とを用いて生成され、カメラC
2による画像I
2の撮影位置からの距離値が並んだ距離画像である。
デプスマップD
3は、カメラC
3とカメラC
2とを用いて生成され、カメラC
3による画像I
3の撮影位置からの距離値が並んだ距離画像である。
デプスマップD
4は、カメラC
4とカメラC
3とを用いて生成され、カメラC
4による画像I
4の撮影位置からの距離値が並んだ距離画像である。
なお、以下では、特に区別しない場合、デプスマップDと表記する。
【0052】
要素画像群生成装置100Bは、
図7に示すように、主として、光線追跡手段110Bと、画像統合手段120と、画像生成制御手段130と、デプスマップ制御手段140と、を備えている。
光線追跡手段110Bは、光線ベクトル算出手段112で算出した光線ベクトルgをデプスマップ制御手段140に出力し、代わりに、光線ベクトルgに基づいて選択されたデプスマップDを取得し、取得したデプスマップDを仮想空間(仮想空間情報メモリ114)において仮想ディスプレーの近傍に配置する。
【0053】
光線追跡手段110Bの位置情報算出手段113は、仮想ディスプレーの画素iを通る直線Lと、仮想空間に配置したデプスマップDと、の交点のうち、観測者に最も近い位置に対応して決定した交点の座標を求める。求められた交点の座標は、画像統合手段120に出力される。
図8に示す例では、位置情報算出手段113は、デプスマップ制御手段140からデプスマップD
2、D
3を取得し、直線LとデプスマップD
2との交点S
0と、直線LとデプスマップD
3との交点S
1のうち、もっともZ値が大きな交点S
1の座標を求め、その結果を画像統合手段120に出力する。
【0054】
<デプスマップ制御手段>
デプスマップ制御手段140には、カメラパラメータ及びデプスマップが入力される。
デプスマップ制御手段140は、カメラベクトル算出手段141と、デプスマップ選択手段142と、を備えている。
【0055】
カメラベクトル算出手段141は、入力されるカメラパラメータに基づいて仮想空間上に配置された複数のカメラによる撮影方向を示すカメラベクトルをそれぞれ算出するものである。算出されたカメラベクトルC
0、C
1、C
2、C
3、C
4は、デプスマップ選択手段142に出力される。
【0056】
デプスマップ選択手段142には、カメラベクトルC
0、C
1、C
2、C
3、C
4が入力すると共に、デプスマップD
0、D
1、D
2、D
3、D
4が入力する。
デプスマップ選択手段142は、光線追跡手段110Bから光線ベクトルgを取得し、この光線ベクトルgとカメラベクトルC
0、C
1、C
2、C
3、C
4との内積をそれぞれ算出し、内積が予め定められた閾値以上となるカメラベクトルを決定する。ここで、デプスマップD
0〜D
4は、カメラ画像I
0〜I
4の撮影位置にそれぞれ対応しているので、カメラベクトルC
0〜C
4にそれぞれ対応している。つまり、デプスマップ選択手段142で決定されたカメラベクトルは、デプスマップに1対1で対応している。要するに、デプスマップ選択手段142は、光線ベクトルgとカメラベクトルとの内積が予め定められた閾値以上となるようなデプスマップを決定することができる。
図8に示す例では、デプスマップ選択手段142は、光線追跡手段110Bから取得した光線ベクトルgを用いた演算処理の結果、デプスマップD
0〜D
4の中からデプスマップD
2、D
3を選択して光線追跡手段110Bに出力する。
【0057】
[要素画像群生成装置の動作]
次に、要素画像群生成装置100Bによる処理の流れについて
図9を参照(適宜
図7及び
図8参照)して説明する。
まず、要素画像群生成装置100Bにおいて、光線追跡手段110Bは、仮想ディスプレー、仮想レンズアレー、複数のデプスマップD
0〜D
4を仮想空間に配置する(ステップS1B)。
次のステップS2〜ステップS5の各処理は、
図6のフローチャートと同じなので説明を省略する。
ステップS5に続いて、デプスマップ制御手段140は、算出したカメラベクトルCと、光線追跡手段110から取得した光線ベクトルgと、を用いて、これらのベクトルの内積が閾値以上となるようなデプスマップD(D
2,D
3)を選択する(ステップS21)。
そして、光線追跡手段110Bの位置情報算出手段113は、直線LとデプスマップD(D
2,D
3)との交点を算出する(ステップS22)。
以下のステップS7〜ステップS13の各処理は、
図6のフローチャートと同じなので説明を省略する。
【0058】
第2実施形態によれば、要素画像群生成装置100Bは、立体像を再生する際のインテグラル立体像の光線の向きに相当する光線ベクトルgの向きに近い撮影方向のカメラベクトルを選択して、そのカメラ画像Iに対して光線ベクトルgと被写体のデプスマップDとの交点を投影するので、3次元モデルの法線に一番近いカメラを選択する手法よりも、再生されるインテグラル立体像において3次元モデルの誤差の影響を低減することができる。
【0059】
以上、実施形態に基づいて本発明に係る要素画像群生成装置について説明したが、本発明はこれらに限定されるものではない。以下に変形例を列挙する。
例えば、前記各実施形態では、画像統合手段120のカメラ選択手段122は、カメラベクトルCと光線ベクトルgとのなす角度が所定値以下であるカメラを選択することとしたが、カメラベクトルCと光線ベクトルgとのなす角度を昇順に並びかえたとき、予め定められた順位以上のカメラを選択するようにしてもよい。つまり、各カメラベクトルC
nと光線ベクトルgとの内積をそれぞれ求め、内積を降順に並びかえたとき、内積が予め定められた順位以上のカメラを選択してもよい。
【0060】
第2実施形態では、デプスマップ選択手段142は、光線ベクトルgとカメラベクトルCとの内積が予め定められた閾値以上となるようなデプスマップDを選択し、光線追跡手段110Bは、デプスマップ選択手段142で選択されたデプスマップDを利用して決定した交点の座標を求めるようにしたが、これに限定されるものではない。例えばデプスマップ選択手段142は、各カメラベクトルC
nと光線ベクトルgとの内積を降順に並びかえたとき、内積が予め定められた順位以上となるようなデプスマップDを選択し、光線追跡手段110Bは、その選択されたデプスマップDを利用して決定した交点の座標を求めるようにしてもよい。つまり、光線追跡手段110Bは、カメラベクトルCと光線ベクトルgとのなす角度を降順に並びかえたとき予め定められた順位以上のカメラを用いて生成されたデプスマップDを利用して決定した交点の座標を求めるようにしてもよい。
【0061】
第2実施形態では、例えばデプスマップDの端部等の誤差が生じやすい箇所に交点が位置している場合、デプスマップ{D
2,D
3}と直線Lとのそれぞれの交点{S
0,S
1}のうち、もっともZの値が高いものを単純に選択すると、適切ではないデプスマップを選択する懸念がある。そこで、確からしさが高い適切なデプスマップを選択できるように次のように変形して実施してもよい。
【0062】
この変形例の場合、光線追跡手段110Bは、デプスマップDと直線Lとの交点のうち観測者に最も近い交点をデプスマップD毎に求め、求めた交点を、選択された複数のカメラ画像Iにそれぞれ投影したときの各投影点での画素値の類似度を交点毎に算出し、算出した類似度が最も高くなる交点を、観測者に最も近い位置に対応した交点として決定する。
【0063】
具体的には、
図8に示す例では、光線追跡手段110Bは、デプスマップD
2内でもっともZ値が高い交点S
0を選択し、デプスマップD
3内でもっともZ値が高い交点S
1を選択する。画像統合手段120では、交点S
0を、選択されたカメラC
2の画像I
2に投影すると共に、選択されたカメラC
3の画像I
3にも投影する。画像統合手段120は、各投影点{J
2(S
0),J
3(S
0)}の各画素値{I
2(J
2(S
0)),I
3(J
3(S
0))}の類似度を算出する。
同様に、画像統合手段120では、交点S
1を、選択されたカメラC
2の画像I
2に投影すると共に、選択されたカメラC
3の画像I
3にも投影する。画像統合手段120は、各投影点{J
2(S
1),J
3(S
1)}の各画素値{I
2(J
2(S
1)),I
3(J
3(S
1))}の類似度を算出する。
この場合、画像統合手段120から各類似度を取得した光線追跡手段110Bは、交点S
1を投影したときの類似度の方が、交点S
0を投影したときの類似度よりも高ければ、交点S
1を、決定された交点として画像統合手段120に出力する。
ここで、交点S
1はデプスマップD
3内でもっともZ値が高いものとして選択されていたので、画像統合手段120は、デプスマップD
3を生成するときに用いた2つのカメラのうち、撮影位置にあったカメラC
3で撮影された画像I
3において投影点Jに対応した画素の画素値を抽出して、その抽出値を画素値Vとする。
そして、画像生成制御手段130は、要素画像群Yの該当画素iの座標に画素値Vを入力する。すなわちY(i)=V=I
3(J)である。
【0064】
前記各実施形態では、光線追跡手段110,110Bとして、光線を1本ずつ追跡する例について説明したが、光線追跡の手法はこれに限定されるものではなく、例えば下記参考文献3に記載された手法を用いてもよい。
参考文献3:Y. Iwadate and M. Katayama, “Generating integral image from 3D object by using oblique projection,” Proc. of International Display Workshops, 3Dp-1, pp. 269-272, 2011.
【0065】
参考文献3に記載された手法は、演算機の平行投影の処理を用いて、斜投影画像を取得することで、同一方向の光線を同時に取得する。この場合、カメラを光線毎に選択する必要はなく、斜投影画像を取得する際に、1度だけカメラを選択すればよい。つまり、光線追跡手段110,110Bは、仮想空間上で斜投影を行って仮想レンズアレーを構成する各レンズの光学主点を通過する同一方向の光線として光線ベクトルを算出し、画像統合手段120は、斜投影が行われる度にカメラを選択する処理を行う。このようにすることで、処理を高速化し、演算量を減らすことができる。
例えば、仮想レンズアレーのレンズの個数が例えば6×6の正方配列であれば、各要素画像中のある方向の光線を1本ずつ追跡する場合にレンズ個数(36個)の回数だけ繰り返すことが必要な処理を、1回で済ますことができるようになる。より具体的には、ある方向の光線を取得する処理として、例えば
図5(b)に示すような1つの要素画像Gの最も左上の画素を取得する処理について説明する。通常ならば、要素画像Gの最も左上の画素を取得する、という処理をすべての要素画像について行う必要がある。しかしながら、斜投影画像を取得する高速化処理ならば、すべての要素画像の左上の画素の画素値を一つの処理で取得することができるようになる。
【0066】
斜投影画像を取得することで、第2実施形態においては、デプスマップ選択手段142は、光線追跡手段110Bから取得する1つの光線ベクトルgが、仮想レンズアレーの全レンズ分の斜投影の方向を示すことになるので、同様に、斜投影画像取得毎に、デプスマップの選択も1度だけ行えばよく、光線毎に行う必要はない。画像統合手段120Bは、斜投影が行われる度に、そのときに選択されたデプスマップを切り替えて用いればよい。
【0067】
斜投影画像を取得する場合、第1実施形態において、選択された複数のカメラ画像の合成については、選択されたあるカメラ画像を、3次元モデルにマッピングしておき、その斜投影画像を取得する処理を、選択されたカメラ台数分繰り返した後で合成することができる。また、コンピュータグラフィックの関数にはそのような演算も用意されている(たとえば、OpenGLのブレンド機能)。
【0068】
斜投影画像を取得する場合、第2実施形態における複数デプスマップの上の交点の選択については、奥行き値を投影したZbufferを用いて、各デプスマップ内でもっともZ値が高い交点{S
0,S
1}をそれぞれ求めることができる。ここで、
図8に示した例のように、デプスマップD
2内でもっともZ値が高い交点はS
0であり、デプスマップD
3内でもっともZ値が高い交点はS
1である。そして、投影点における画素値の類似度判定による交点Sの選択については、カメラC
2の画像I
2をデプスマップ{D
2,D
3}にそれぞれマッピングしておき、カメラC
3の画像I
3をデプスマップ{D
2,D
3}にそれぞれマッピングしておき、各デプスマップを斜投影した各画像上で類似の高いデプスマップの投影点の画素値を用いることで実現できる。
【0069】
ここで、各デプスマップを斜投影した各画像上で類似の高いことを示す類似度としては、各カメラベクトルC
nと光線ベクトルgとのなす角度が互いに小さいほど、類似が高いことを示すような類似度を定義する。つまり、各画像上でのそれぞれの画素値を比較したとき、その画素値の差が小さいほど、類似が高いことを示すような類似度を定義する。
例えば、画像I
2をデプスマップD
2にマッピングしたデプスマップを斜投影した画像Hc
2d
2と、画像I
3をデプスマップD
2にマッピングしたデプスマップを斜投影した画像Hc
3d
2と、を用意する。そして、対象画素kにおける画像Hc
2d
2の画素値と、対象画素kにおける画像Hc
3d
2の画素値と、の差を算出することで、類似度R
2を求めることができる。
【0070】
同様に、画像I
2をデプスマップD
3にマッピングしたデプスマップを斜投影した画像Hc
2d
3と、画像I
3をデプスマップD
3にマッピングしたデプスマップを斜投影した画像Hc
3d
3と、を用意する。対象画素kにおける画像Hc
2d
3の画素値と、対象画素kにおける画像Hc
3d
3の画素値と、の差を算出することで、類似度R
3を求めることができる。そして、R
2<R
3の関係が成り立っていれば、デプスマップD
2上の交点S
0を、決定された交点として出力すればよい。
【0071】
第2実施形態では、デプスマップ制御手段140のカメラベクトル算出手段141を、画像統合手段120のカメラベクトル算出手段121で代用してもよいし、デプスマップ選択手段142を光線追跡手段110Bに組み込んでもよい。
第2実施形態で説明したデプスカメラで様々な方向から被写体を撮影して取得した距離画像を、精密に重ね合わせて
図3に示す3次元モデルQを生成することができれば、その後、第1実施形態で説明した手法で要素画像群を生成するようにしてもよい。
【0072】
前記各実施形態では、要素画像群生成装置100,100Bとして説明したが、各装置の構成の処理を可能にするように、汎用または特殊なコンピュータ言語で記述した要素画像群生成プログラムとみなすことも可能である。
【0073】
また、要素画像群生成装置100,100Bは、2次元ディスプレーとレンズアレーとを併せて利用することでインテグラル立体像を提示することができる。さらに、例えばデジタル放送受信機能と2次元ディスプレーとレンズアレーとを備えたデジタル放送受信装置(インテグラル式立体テレビ)として利用することもできる。
【0074】
前記各実施形態では、水平と垂直の両方の視差を再現することができるインテグラル立体像のケースについて述べたが、かまぼこ型の1次元のマイクロレンズを用いて、水平視差のみを再現するレンチキュラー式の立体像についても同様に生成可能である。
また、前記各実施形態で説明した処理を複数のフレームに行うことで、立体像の動画を生成することができる。
【0075】
さらに、前記各実施形態の説明では、3次元モデルやデプスマップが、多視点映像から生成されたものとして説明したが、これに限らず、例えばTOF(Time Of Flight)法や構造化照明法(Structured Light)など、多視点映像以外を用いて3次元モデルやデプスマップを取得するようにしても構わない。
例えば3次元モデルやデプスマップをTOF法で取得する場合、被写体をTOFカメラで撮影して被写体までの距離情報を含む距離画像を取得すればよい。
また、例えば3次元モデルやデプスマップを構造化照明法で取得する場合、構造化照明法で用いるカメラで被写体を撮影して被写体の輝度情報を含むモノクローム画像を取得すればよい。なお、要素画像群を生成するために被写体を多視点カメラ(カラーカメラ)で撮影することには変わりはない。そのため、各カラーカメラの近傍に、例えばTOFカメラ等を設置して、被写体のカラー画像と距離画像等とを取得するようにしてもよい。