(57)【特許請求の範囲】
【請求項１】
視点の異なる複数のカメラを用いて同一の物体や風景を撮影した画像を入力する第１の手段と、
ユーザが見たい視点（仮想視点）を空間中に設置する第２の手段と、
次に、ユーザが見たい空間的な範囲内に複数の仮想的な面を層状に設置する第３の手段と、
ユーザが見たい視野を表す仮想的な面を設置する第４の手段と、
ユーザが見たい精細度となるように、ユーザが見たい視野を表す仮想的な面上に、複数の画素を配置する第５の手段と、
画素を１つ選び、また、仮想的な面を１つ選び、仮想視点と画素を通る直線（仮想視線）と、仮想的な面との交点に対して、複数のカメラで撮像した複数の画像上におけるそれぞれの対応点を計算する第６の手段と、
複数のカメラで撮像したそれぞれの画像上の対応点およびその付近の画像同士の類似性から、１つの仮想的な面との交点における、物体の表面が存在する程度を計算する第７の手段と、
複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、１つの仮想的な面との交点における、物体の表面の色（第１の色）を計算する第８の手段と、
選んだ１つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、第６〜８の手段による処理を行うことで、物体の表面が存在する程度と色（第１の色）を計算する第９の手段と、
選んだ１つの仮想的な面と仮想視線との交点における、物体の存在する程度と、物体の表面の色（第１の色）との積を、その交点における色（第２の色）とする第１０の手段と、
もし以前に別の仮想的な面において色（第２の色）を計算しており、その色（第２の色）を積算していれば、選んだ１つの仮想的な面における色（第２の色）を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合（つまり、最初の色（第２の色）を算出する場合）は、その色（第２の色）を積算値の初期値とする第１１の手段と、
もし以前に別の仮想的な面において物体の表面が存在する程度を計算しており、その物体の表面が存在する程度を積算していれば、選んだ１つの仮想的な面における物体の表面が存在する程度を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合（つまり、最初の物体の表面が存在する程度を算出する場合）は、その物体の表面が存在する程度を積算値の初期値とする第１２の手段と、
色（第２の色）と物体の表面が存在する程度について、第６〜１２の手段による処理を行い、それぞれの値を仮想視線ごとに、層状の全ての仮想的な面において積算する第１３の手段と、
仮想視線ごとに、色（第２の色）の積算値を、物体の表面が存在する程度の積算値で割って、色（第３の色）を求め、その色（第３の色）を、ユーザが見たい視野を表す仮想的な面上の画素の色とする第１４の手段と、
を備えることを特徴とする、画像生成装置。
【請求項２】
視点の異なる複数のカメラを用いて同一の物体や風景を撮影した画像を入力する第１の手段、
ユーザが見たい視点（仮想視点）を空間中に設置する第２の手段、
次に、ユーザが見たい空間的な範囲内に複数の仮想的な面を層状に設置する第３の手段、
ユーザが見たい視野を表す仮想的な面を設置する第４の手段、
ユーザが見たい精細度となるように、ユーザが見たい視野を表す仮想的な面上に、複数の画素を配置する第５の手段、
画素を１つ選び、また、仮想的な面を１つ選び、仮想視点と画素を通る直線（仮想視線）と、仮想的な面との交点に対して、複数のカメラで撮像した複数の画像上におけるそれぞれの対応点を計算する第６の手段、
複数のカメラで撮像したそれぞれの画像上の対応点およびその付近の画像同士の類似性から、１つの仮想的な面との交点における、物体の表面が存在する程度を計算する第７の手段、
複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、１つの仮想的な面との交点における、物体の表面の色（第１の色）を計算する第８の手段、
選んだ１つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、第６〜８の手段による処理を行うことで、物体の表面が存在する程度と色（第１の色）を計算する第９の手段、
選んだ１つの仮想的な面と仮想視線との交点における、物体の存在する程度と、物体の表面の色（第１の色）との積を、その交点における色（第２の色）とする第１０の手段、
もし以前に別の仮想的な面において色（第２の色）を計算しており、その色（第２の色）を積算していれば、選んだ１つの仮想的な面における色（第２の色）を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合（つまり、最初の色（第２の色）を算出する場合）は、その色（第２の色）を積算値の初期値とする第１１の手段、
もし以前に別の仮想的な面において物体の表面が存在する程度を計算しており、その物体の表面が存在する程度を積算していれば、選んだ１つの仮想的な面における物体の表面が存在する程度を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合（つまり、最初の物体の表面が存在する程度を算出する場合）は、その物体の表面が存在する程度を積算値の初期値とする第１２の手段、
色（第２の色）と物体の表面が存在する程度について、第６〜１２の手段による処理を行い、それぞれの値を仮想視線ごとに、層状の全ての仮想的な面において積算する第１３の手段、および
仮想視線ごとに、色（第２の色）の積算値を、物体の表面が存在する程度の積算値で割って、色（第３の色）を求め、その色（第３の色）を、ユーザが見たい視野を表す仮想的な面上の画素の色とする第１４の手段、
としてコンピュータを機能させるための画像生成プログラム。
【請求項３】
請求項２に記載の画像生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数台のカメラで撮像した画像を用いて、任意の視点の２次元画像を生成する技術に関する。
【背景技術】
【０００２】
従来の画像生成方法について、以下に説明する（たとえば、非特許文献１）。従来技術の代表的な全体処理の流れを図３を用いて説明する。以下の第１のステップ〜第１４のステップは図３のＳ１〜Ｓ１４に対応する。
【０００３】
まず、視点の異なる複数のカメラを用いて同一の物体や風景を撮影する（第１のステップ）。
次に、ユーザが見たい視点を空間中に設置する（第２のステップ）。
次に、ユーザが見たい空間的な範囲内に複数の仮想的な面で構成した層を設置する（第３のステップ）。
次に、ユーザが見たい視野を表す仮想的な面を設置する（第４のステップ）。
次に、ユーザが見たい精細度となるように、ユーザが見たい視野を表す仮想的な面上に、複数の画素を配置する（第５のステップ）。
次に、画素を１つ選び、また、仮想的な面を１つ選び、仮想視点とその画素を通る直線（視線）と、その仮想的な面との交点に対して、カメラで撮像した画像上におけるそれぞれの対応点を計算する（第６のステップ）。
次に、複数のカメラで撮像したそれぞれの画像上の対応点およびその付近の画像同士の類似性から、１つの仮想的な面との交点における、物体の表面が存在する程度を計算する（第７のステップ）。
次に、複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、１つの仮想的な面との交点における、物体の表面の色を計算する（第８のステップ）。
次に、選んだ１つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、第６〜８のステップを行うことで、物体の表面が存在する程度と色（第１の色）を計算する（第９のステップ）。
次に、層の中の全ての仮想的な面において、第６〜９のステップを行うことで、物体の表面が存在する程度と色（第１の色）を計算する（第１０のステップ）。
次に、仮想視線上の全て交点における物体の表面が存在する程度を足し合わせる（第１１のステップ）。
次に、仮想視線上の各交点における物体の表面が存在する程度を、それら全てを足し合わせたもので割り、それらの値を各交点における物体の表面が存在する確率とする（第１２のステップ）。
次に、各仮想的な面の交点における、物体の存在する確率と、物体の表面の色（第１の色）との積を、それらの交点における色（第４の色）とする（第１３のステップ）。
最後に、仮想視線上の全ての交点における色（第４の色）を足し合わせ、その色を、ユーザが見たい視野を表す仮想的な面上の画素の色（第３の色）とする（第１４のステップ）。
【０００４】
図１は画像生成法を説明するための構成図である。１００１はユーザが見たい画像を得るために便宜的に記した仮想カメラ、１００２は１００１の仮想カメラのレンズ、１００３はユーザが見たい視点（仮想視点）であり、１００２の仮想カメラのレンズの中心、１００４はユーザが見たい視野を表す仮想平面であり、１００１の仮想カメラの撮像素子、１００５はユーザが見たい視野を表す仮想平面の原点であり、１００４の仮想視点の撮像素子の原点、１００６はユーザが見たい視野を表す仮想平面上の画素であり、１００１の仮想カメラにおける後述の１０１２の仮想平面と視線との交点の結像点、１０１０はユーザが見たい視線（仮想視線）、１０１１はユーザが見たい空間的な範囲内の仮想平面群、１０１２は１０１１の層を形成している仮想平面と仮想視線の交点群、１１０１はカメラ、１１０２はカメラ１１０１のレンズ、１１０３はレンズ１１０２のレンズ中心、１１０４はカメラ１１０１の撮像素子、１１０５は撮像素子１１０４の原点、１１０６は仮想平面と仮想視線の交点の結像点、１１１０はカメラ視線、である。１１０１はカメラＣ１であり、１１０２〜１１０６はカメラＣ１に関するものである。カメラはＮ台あるとして、それぞれＣ１〜ＣＮと名付ける。Ｃ２〜ＣＮのそれぞれの構成はカメラＣ１と同じである。
【０００５】
以下、ステップに分けて動作を説明する。
【０００６】
ステップ１：［複数のカメラを用いて同一物体や風景を撮影］
Ｎ台のカメラで、同一物体や風景を撮影する。このとき、各カメラＣｉ（ｉ＝１，．．．，Ｎ）において、コンピュータビジョンの分野で知られているカメラの内部に関するパラメタ（カメラ内部パラメタ）と、カメラの位置、姿勢に関するパラメタ（カメラ外部パラメタ）は既知とする。カメラ内部パラメタは、行列表記すると、たとえば、以下のようなものである。
【０００７】
【数１】
0004809316.tif 000002
【０００８】
ＡＣｉをカメラ内部行列といい、３行３列の行列である。ここで、αｕ，Ｃｉは焦点距離を撮像素子の横軸の画素ピッチで割ったもの、αｖ，Ｃｉは焦点距離を撮像素子の縦軸の画素ピッチで割ったもの、θＣｉは撮像素子の縦軸と横軸の成す角度、ｕＣｉ０、ｖＣｉ０は撮像素子とレンズ光軸の交点の座標であり、画素単位で表記し、撮像した画像の左上を原点とする座標、である。
【０００９】
なお、ｕＣｉ0、ｖＣｉ0で使用される座標系をカメラＣｉにおけるディジタル画像座標といい、カメラの撮像素子上の２次元の斜交座標であり、撮像素子の画素間隔を単位とし、撮像素子の横軸、縦軸をその軸方向とし、撮像素子の左上を原点とするものであり、カメラごとに固有のものとなる。
【００１０】
また、カメラの外部パラメタを行列表記すると、たとえば、以下のようなものとなる。
【００１１】
【数２】
0004809316.tif 000003
【００１２】
ＲＣｉはカメラ回転行列といい、３行３列の行列であり、ｔＣｉはカメラ平行並進ベクトルといい、３次元のベクトルである。これらのパラメタを説明する前に、世界座標系について説明する。世界座標系とは、空間全体を表す３次元の直交座標系であり、原点、単位は適宜ユーザが設定する。この世界座標系を用いると、それぞれのパラメタは以下のように説明できる。
【００１３】
ｒＣｉｘ、ｒＣｉｙ、ｒＣｉｚは、カメラＣｉのレンズ中心を原点とした３次元の直交座標系（これをカメラ座標系という）の各軸の単位ベクトルを、世界座標系で表したベクトル、ｔＣｉｘ、ｔＣｉｙ、ｔＣｉｚは、カメラ座標系における、世界座標系の原点の座標を表すベクトルの要素、である。
【００１４】
ステップ２：［ユーザが見たい視点を設置］
ユーザが自分の目を持っていきたい場所を決め、そこに仮想的に視点（以下、仮想視点と表記）１００３を設置する。
【００１５】
ステップ３：［層状の仮想的な面を設置]
ユーザが見たい３次元的な範囲に、複数の仮想的な面で層状に構成される平面群１０１１を設置する。
【００１６】
ステップ４：［ユーザが見たい視野を表す仮想的な面を設置]
仮想視点１００３から見た視野内であって、ユーザが生成したい画像の範囲を表す仮想的な面１００４を設置する。これは、仮想視点１００３をレンズ中心としたレンズ１００２を持つ仮想カメラ１００１の撮像素子と見なすことができるので、以下、仮想カメラの撮像素子と言う。
【００１７】
ステップ５：［ユーザが見たい精細度となるように、仮想カメラの撮像素子面上に、画素を配置]
最終的にユーザが見たい画像の精細度を決め、それを満足するように、仮想カメラの撮像素子１００４の面上の画素を配置する。
【００１８】
上記ステップ２〜５まで決めると、ユーザが見たい視点に設置した仮想カメラのパラメタが決まる。この仮想カメラの内部／外部パラメタを、たとえば、以下のように表す。
【００１９】
【数３】
0004809316.tif 000004
【００２０】
ここで、ＣＶは仮想視点カメラを表す。上記式の内容は、（３．１）〜（３．３）式と同様であるので、説明は省略する。
【００２１】
ステップ６：［仮想視点と画素の１つを通る直線（視線）と１つの仮想的な面の交点に対して、各カメラ画像上の対応点を計算］
仮想カメラの撮像素子１００４の面上の画素１００６を１つ選び、また、ユーザが見たい空間的な範囲内の仮想平面群１０１１の中の層を１つ選び、仮想視点とその選んだ画素を通る直線（仮想視線）と、その仮想的な面との交点（仮想平面と仮想視線との交点群の中の１つ）に対して、複数のカメラで撮像した複数の画像上におけるそれぞれの対応点（図１では、カメラＣ１については仮想平面と視線の交点の結像点１１０６で表記）を計算する。
【００２２】
図１では、カメラＣ１にのみ説明のための番号が付いているが、全カメラＣｉ（ｉ＝１，．．．，Ｎ）ともに構成は同様であるので、以下では、カメラを区別せずにＣｉと表記する。
【００２３】
たとえば、仮想カメラＣｖの撮像素子１００４上の画素１００６の、仮想カメラＣｖのディジタル画像座標系での座標をｍＣｖ［ｕＣｖ  ｖＣｖ］Ｔ、カメラＣ１の撮像素子１１０４上の対応点１１０６の、カメラＣｉのディジタル画像座標系での座標をｍＣｖ,Ｌｋ,Ｃｉ＝［ｕＣｖ,Ｌｋ,Ｃｉ  ｖＣｖ,Ｌｋ,Ｃｉ］とすると、
【００２４】
【数４】
0004809316.tif 000005
【００２５】
となる。
【００２６】
ここで、~ｍＣｖ，Ｌｋ，Ｃｉ、~ｍＣｖはそれぞれｍＣｖ，Ｌｋ，Ｃｉ、ｍＣｖの同次座標であり、それぞれ、~ｍＣｖ，Ｌｋ，Ｃｉ＝［ｕＣｖ，Ｌｋ，Ｃｉ  ｖＣｖ，Ｌｋ，Ｃｉ  １］Ｔ、~ｍＣｖ＝［ｕＣｖ  ｖＣｖ  １］Ｔ、である。なお、（３．７）式のイメージに記載されているような「〜」が上についた「ｍ」等を文章中では「~ｍ」等と記載する。ＨＬｋ，Ｃｉ，Ｃｖはホモグラフィ行列といい、
【００２７】
【数５】
0004809316.tif 000006
【００２８】
である。ｓはスカラ値であり、ｓが（３．７）式右辺のＨＬｋ，Ｃｉ，Ｃｖの三行目を示すベクトルと~ｍＣｖとの内積値、である。ここで、ＲＣｉ，ＣｖとｔＣｉ，Ｃｖは仮想カメラＣｖのカメラ座標系からカメラＣ１のカメラ座標系へ変換する際の回転行列と平行並進ベクトルであり、
【００２９】
【数６】
0004809316.tif 000007
【００３０】
である。ｎは仮想カメラＣｖのカメラ座標系におけるｋ層の仮想平面の法線ベクトル（仮想カメラの撮像素子１００４の面とｋ層の仮想平面が平行ならｎ＝［００１］Ｔ）、ｄは仮想視点１００３からｋ層の仮想平面までの距離、である。
【００３１】
ステップ７：［対応点上の画像の類似点から、１つの仮想的な面の交点における、物体の表面が存在する程度を計算]
仮想カメラの撮像素子の画素に関して、ユーザが見たい空間的な範囲内の仮想平面群の中の１層の平面と、今注目している仮想カメラの撮像素子の画素の中心から引かれた仮想視線との交点における、物体の表面が存在する程度を計算する。ここでは、その交点に対応する各カメラの撮像素子上の点とその近傍の点のテクスチャが類似しているほど物体の表面が存在する程度が高いとする計算を行う。
【００３２】
仮想平面上の交点の近傍の点とは、たとえば、今注目している仮想カメラの撮像素子上の画素の近傍の画素の中心から引かれる仮想カメラの視線と仮想平面との交点としても良い。
【００３３】
この様子を図２（ａ）に示す。５００３は仮想カメラのレンズ中心、５００６は仮想カメラの撮像素子の注目画素の中心、５００６−１は仮想カメラの撮像素子の注目画素の近傍の中心、５０１０は仮想カメラの注目画素を通る仮想視線、５０１０−１は仮想カメラの注目画素の近傍画素を通る仮想視線、５０１２はｋ層の仮想平面と注目画素を通る仮想視線の交点、５０１２−１はｋ層の仮想平面と注目画素の近傍画素を通る仮想視線の交点、５０１３はユーザが見たい空間的な範囲内の仮想平面群のｋ層、である。注目画素５００６と近傍画素５００６−１は、仮想カメラの撮像素子上の画素であり、レンズ中心５００３を通る視線５０１０、５０１０−１によって、それぞれ、ｋ層の仮想平面５０１３上の点に対応点を作る。図では、近傍画素が１つしか示していないが、注目画素５００６の周りの画素群や、さらにその周りの画素群を近傍の画素としても良い。
【００３４】
これらｋ層の仮想平面上の交点とその近傍の点に対応する、各カメラの撮像素子上の点も、仮想平面上の点と各カメラのレンズの中心を通るカメラ視線によって、決まる。
【００３５】
この様子を図２（ｂ）に示す。５００６は仮想カメラの撮像素子の注目画素の中心、５０１０は仮想カメラの注目画素を通る仮想視線、５０１１は仮想カメラの撮像素子の画素、５０１２はｋ層の仮想平面と注目画素を通る仮想視線の交点、５０１３はユーザが見たい空間的な範囲内の仮想平面群のｋ層、５１０６は仮想平面と仮想視線の交点の結像点、５１１０はカメラ視線、５１１１は仮想平面と仮想視線の交点の結像点を中心とする、撮像素子の画素と同じ大きさの四角形、５１１２は仮想平面と仮想視線の交点の結像点の近傍の撮像素子上の画素群、である。
【００３６】
仮想カメラの撮像素子上の画素５０１１は、その画素中心５００６と仮想カメラ視線５０１０によって、ｋ層の仮想平面の上に交点５０１２で対応づけられている。そのｋ層の仮想平面の上に交点５０１２に対して、その交点５０１２とカメラのレンズ中心を通るカメラ視線５１１０によって、カメラの撮像素子上に交点５０１２が結像する点５１０６に対応付けられる。
【００３７】
このように、仮想カメラの撮像素子上の画素５０１１とｋ層の仮想平面上の交点５０１２とカメラの撮像素子上の結像点５１０６は対応付けられるが、結像点５１０６はカメラ撮像素子の画素の中心とは一般には一致しない。その結像点５１０６の色を得るには、たとえば、結像点の近傍の画素値を使う。
【００３８】
この様子を図２（ｃ）に示す。５１０６は仮想平面と仮想視線の交点の結像点、５１１１は仮想平面と仮想視線の交点の結像点を中心とする、撮像素子の画素と同じ大きさの四角形、５１１２は仮想平面と仮想視線の交点の結像点の近傍の撮像素子上の画素群、である。
【００３９】
結像点５１０６の色は、たとえば、結像点を中心とする四角形５１１１が重なっているカメラの撮像素子の画素群５１１２の各画素の面積比で、それらの画素の色を足し合わせるという、バイリニア法で得ることができる。この方法は、たとえば、図２（ｃ）に示すように、四角形５１１１が撮像素子の画素５１１２の境界で、上下の辺がｓ：１-ｓに、左右の辺がｔ：１-ｔにそれぞれ内分されていた場合、近傍の画素の座標をｍＣｖ，Ｌｋ，Ｃｉ，ｑ１、ｍＣｖ，Ｌｋ，Ｃｉ，ｑ２、ｍＣｖ，Ｌｋ，Ｃｉ，ｑ３、ｍＣｖ，Ｌｋ，Ｃｉ，ｑ４、として、それぞれの画素の色をＴ［ｍＣｖ，Ｌｋ，Ｃｉ，ｑ１］、Ｔ［ｍＣｖ，Ｌｋ，Ｃｉ，ｑ２］、Ｔ［ｍＣｖ，Ｌｋ，Ｃｉ，ｑ３］、Ｔ［ｍＣｖ，Ｌｋ，Ｃｉ，ｑ４］とすると、結像点の色Ｔ［ｍＣｖ，Ｌｋ，Ｃｉ］は、以下のようになる。
【００４０】
【数７】
0004809316.tif 000008
【００４１】
ここでは、バイリニア法について述べたが、ニアレストネイバー法、バイキュービック法等を用いても良い。
【００４２】
ｋ層の仮想視点の交点５０１２に対応する各カメラの撮像素子上の結像点５１０６の色を用いて、その交点５０１２における相違度ｄｉｓＲＬｋ，Ｃｖ［ｍＣｖ］を求める。
【００４３】
【数８】
0004809316.tif 000009
【００４４】
ここで、ｐは注目画素の座標ｍＣｖ，Ｌｋ，Ｃｉの近傍の画素の座標を指すためのベクトル、ａは注目画素を原点とする近傍の画素の範囲、ｌは関数の形を変えるパラメタ、である。ｍＣｖ，Ｌｋ，Ｃｉ，ｐは、
【００４５】
【数９】
0004809316.tif 000010
【００４６】
となるときの２次元座標、を表す。
【００４７】
また、−ＴＬｋ［ｍＣｖ＋ｐ］は、注目画素、および、各近傍画素における全カメラの平均の色であり、
【００４８】
【数１０】
0004809316.tif 000011
【００４９】
である。なお、（３．１４）式のイメージに記載されているような「−」が上についた「Ｔ」等を文章中では「-Ｔ」等と記載する。
【００５０】
類似度ＲＬｋ，Ｃｖ［ｍ，Ｃｖ］は、相違度が大きければ小さく、小さければ大きいという関係があるとして、たとえば、以下のような関数で表す。
【００５１】
【数１１】
0004809316.tif 000012
【００５２】
ここで、σは関数の形を変えるパラメタ、を表す。
【００５３】
また、類似度ＲＬｋ，Ｃｖは、以下のような関数でも良い。
【００５４】
【数１２】
0004809316.tif 000013
【００５５】
ここで、ｌ’は関数の形を変えるパラメタ、εは分母が０にならないようにするための微小値、である。
【００５６】
この類似度ＲＬｋ，Ｃｖ［ｍ，Ｃｖ］を、物体の表面が存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］とする。つまり、
【００５７】
【数１３】
0004809316.tif 000014
【００５８】
とする。なお、（３．１７）式のイメージに記載されているような「＾」が上についた「β」等を文章中では「＾β」等と記載する。
【００５９】
算出した物体の表面の存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］は、現在対象となっている仮想平面とカメラ視線との交点にマッピングする。
【００６０】
ステップ８：［複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、１つの仮想的な面との交点における、物体の表面の色を計算する]
仮想カメラの撮像素子の画素に関して、ユーザが見たい空間的な範囲内の仮想平面群の中の１層の平面と、今注目している仮想カメラの撮像素子の画素の中心から引かれた仮想視線との交点における、物体の色を計算する。
【００６１】
この計算方法としては、たとえば、仮想カメラＣｖの撮像素子上の点ｍＣｖに対応する、仮想平面ｋ層上の仮想視線との交点の色ＴＬｋ［ｍＣｖ］は、仮想カメラＣｖの仮想視線とカメラＣｉのカメラ視線との成す角をθＣｖ，Ｌｋ，Ｃｉ［ｍＣｖ］とすると、角度が小さいときの色の寄与率を高くするようにすると、カメラの色Ｔ［ｍＣｖ，Ｌｋ，Ｃｉ］を使って、次のようにする。これを、視点依存テクスチャマッピングという。
【００６２】
【数１４】
0004809316.tif 000015
【００６３】
算出したカメラの色は、現在対象となっている仮想平面とカメラ視線との交点にマッピングする。
【００６４】
ステップ９：［選んだ１つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、ステップ６〜８を繰り返し行うことで、物体の表面が存在する程度と色（第１の色）を計算する]
ユーザが見たい空間的な範囲の仮想面を１つ選び、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、ステップ６〜８を繰り返し行い、それにより、ユーザが見たい空間的な範囲内にある１つの仮想平面上における物体の表面が存在する程度と色（第１の色）の両方を計算し、その値を仮想面上の交点にマッピングする。
【００６５】
ステップ１０：[層の中の全ての仮想的な面において、ステップ６〜９を繰り返し行うことで、物体の表面が存在する程度と色（第１の色）を計算する]
ユーザが見たい空間的な範囲の全部の仮想平面について、ステップ６〜９を繰り返し行い、それにより、ユーザが見たい空間的な範囲内の全ての仮想平面上の、カメラ視線との交点において、物体の表面が存在する程度と色（第１の色）をそれぞれ計算し、それらの２つの値をマッピングする。
【００６６】
ステップ１１：［仮想視線上の全て交点における物体の表面が存在する程度を足し合わせる]
仮想視線と、ユーザが見たい空間的な範囲の全部の仮想平面との交点に関して、それら仮想視線ごとに、交点にマッピングされている物体の表面が存在する程度の総和ｓｕｍ＾βＣｖ［ｍＣｖ］をとる。この式は次式となる。
【００６７】
【数１５】
0004809316.tif 000016
【００６８】
Ｍは層数である。
【００６９】
ステップ１２：［仮想視線上の各交点における物体の表面が存在する程度を、それら全てを足し合わせたもので割り、それらの値を各交点における物体の表面が存在する確率とする]
仮想視線上の各交点について、それぞれにマッピングされている物体の表面が存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］を、上記の仮想視線上の各交点の総和ｓｕｍ＾βＣｖ［ｍＣｖ］で割り、それらの値を各交点における物体の表面が存在する確率βＬｋ，Ｃｖ［ｍＣｖ]とする。この式は次式となる。
【００７０】
【数１６】
0004809316.tif 000017
【００７１】
ステップ１３［各仮想的な面の交点における、物体の表面が存在する確率と、物体の表面の色（第１の色）との積を、それらの交点における色（第４の色）とする］
仮想視線上の各交点について、それぞれにマッピングされている物体の表面が存在する確率βＬｋ，Ｃｖ［ｍＣｖ］とＴＬｋ［ｍＣｖ］（第１の色）の積をとり、その積を各交点にマッピングする。この積を第４の色＾Ｔ［ｍＣｖ］と呼ぶこととする。この式は次式となる。
【００７２】
【数１７】
0004809316.tif 000018
【００７３】
ステップ１４：［仮想視線上の全ての交点における色（第４の色）＾ＴＬｋ［ｍＣｖ］を足し合わせ、その色を、ユーザが見たい視野を表す仮想的な面上の画素の色（第３の色）とする］
最後に、各仮想視線上の全ての交点にマッピングされた色（第４の色）＾ＴＬｋ［ｍＣｖ］の和をとり、その色を、ユーザが見たい視野を表す仮想的な面上の画素の色（第３の色）Ｔ［ｍＣｖ］として、その画素にマッピングする。この式は次式となる。
【００７４】
【数１８】
0004809316.tif 000019
【００７５】
このようにして仮想カメラの撮像素子の全ての画素に色（第３の色）をマッピングし、それによって画像が生成される。
【００７６】
【非特許文献１】國田豊，上野雅浩，田中敬二，多層信頼度マップを用いた３次元映像実時間生成システム，映像情報メディア学会誌，Ｖｏｌ．６０，Ｎｏ．７，ｐｐ．１１０２-１１１０，２００６
【発明の開示】
【発明が解決しようとする課題】
【００７７】
しかしながら、上記従来方法では、ユーザが見たい空間的な範囲内の仮想平面群と仮想視線との交点群において、
（１）各交点上で物体の表面が存在する程度と色を求め（ステップ７、８、９、１０）、
（２）全ての交点上の物体の表面が存在する程度の総和をとり（ステップ１１）、
（３）各交点において物体の存在する程度をその総和で除して確率を求め（ステップ１２）、
（４）各交点において物体の存在する程度と色の積を取って、それぞれの交点にマッピングした色とする（ステップ１３）、
（５）各視線ごとに、交点にマッピングした色を積算していき、全ての交点が積算されると画像が生成される（ステップ１４）、
操作をしているので、（１）から（４）までの操作においては、全ての仮想平面の上の交点の情報を持つ必要があり、そのため、仮想平面の枚数のメモリ量（仮想平面の枚数と交点の積に比例）が必要である。
【００７８】
以上のことから、計算機のメモリが膨大に必要であるという欠点があった。また、メモリが膨大となるため、装置が高価になるという欠点があった。
【００７９】
また、メモリが少ない場合は、ユーザが見たい空間的な範囲内の仮想平面群の数を減らさざるを得ず、そのため、ユーザが見たい空間的な範囲を狭めざるを得なくなり、画質が低下するという欠点があった。
【００８０】
また、メモリが少ない場合は、ユーザが見たい空間的な範囲内の仮想平面群の数を減らさざるを得ず、そのため、ユーザが見たい空間的な範囲内に設置する仮想平面群の数が減るため、表現できる奥行きの精度が低下し、生成する画像の画質が低下するという欠点があった。
【００８１】
本発明は、上記に鑑みてなされたものであり、その目的とするところは、上記従来方式と同等な画質で画像生成でき、画像生成の計算に必要なメモリ量を削減した画像生成方法を提供することにある。
【課題を解決するための手段】
【００８２】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下の通りである。
【００８３】
画像生成装置における画像生成方法であって、視点の異なる複数のカメラを用いて同一の物体や風景を撮影した画像を入力する第１のステップと、ユーザが見たい視点（仮想視点）を空間中に設置する第２のステップと、次に、ユーザが見たい空間的な範囲内に複数の仮想的な面を層状に設置する第３のステップと、ユーザが見たい視野を表す仮想的な面を設置する第４のステップと、ユーザが見たい精細度となるように、ユーザが見たい視野を表す仮想的な面上に、複数の画素を配置する第５のステップと、画素を１つ選び、また、仮想的な面を１つ選び、仮想視点と画素を通る直線（仮想視線）と、仮想的な面との交点に対して、複数のカメラで撮像した複数の画像上におけるそれぞれの対応点を計算する第６のステップと、複数のカメラで撮像したそれぞれの画像上の対応点およびその付近の画像同士の類似性から、１つの仮想的な面との交点における、物体の表面が存在する程度を計算する第７のステップと、複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、１つの仮想的な面との交点における、物体の表面の色（第１の色）を計算する第８のステップと、選んだ１つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、第６〜８のステップを行うことで、物体の表面が存在する程度と色（第１の色）を計算する第９のステップと、選んだ１つの仮想的な面と仮想視線との交点における、物体の存在する程度と、物体の表面の色（第１の色）との積を、その交点における色（第２の色）とする第１０のステップと、もし以前に別の仮想的な面において色（第２の色）を計算しており、その色（第２の色）を積算していれば、選んだ１つの仮想的な面における色（第２の色）を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合（つまり、最初の色（第２の色）を算出する場合）は、その色（第２の色）を積算値の初期値とする第１１のステップと、もし以前に別の仮想的な面において物体の表面が存在する程度を計算しており、その物体の表面が存在する程度を積算していれば、選んだ１つの仮想的な面における物体の表面が存在する程度を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合（つまり、最初の物体の表面が存在する程度を算出する場合）は、その物体の表面が存在する程度を積算値の初期値とする第１２にステップと、色（第２の色）と物体の表面が存在する程度について、第６〜１２のステップを行い、それぞれの値を仮想視線ごとに、層状の全ての仮想的な面において積算する第１３のステップと、仮想視線ごとに、色（第２の色）の積算値を、物体の表面が存在する程度の積算値で割って、色（第３の色）を求め、その色（第３の色）を、ユーザが見たい視野を表す仮想的な面上の画素の色とする第１４のステップと、を有することを特徴とする。
【発明の効果】
【００８４】
本発明は、ユーザが見たい空間的な範囲内の仮想平面群と仮想視線との交点群に関して、ある１つの仮想平面上の全交点において、
（１）各交点上で物体の表面が存在する程度と色を求め（ステップ７、８、９）、
（２）各交点において物体の存在する程度と色の積を取って、それぞれの交点における色とし（ステップ１０）、
（３）上記（１）（２）を仮想平面１枚を計算するごとに、同じ仮想視線ごとに物体の存在する程度と色の積を積算し（ステップ１１、１３）、
（４）上記（１）を仮想平面１枚を計算するごとに、同じ仮想視線ごとに物体の表面が存在する程度を積算し（ステップ１２、１３）、
（５）全てに仮想平面についての計算が終了後、同じ仮想視線ごとに、物体の存在する程度と色の積を積算値を物体の表面が存在する程度を積算値で割って最終的な画像を生成する（ステップ１４）、
操作をしているので、（１）から（５）までの操作においては、物体の表面が存在する程度の計算と、色の計算と、それらの積の計算と、物体の表面が存在する程度の積算と、積の積算をするのに、最大でもそれぞれ仮想平面１枚ずつ、つまり、計５枚のメモリ量（５枚と交点の積に比例）のみ必要であり、従来方法で必要であった仮想平面の枚数のメモリ量（仮想平面の枚数と交点の積に比例）と異なるが、通常、良好な生成画像を得るには、仮想平面は最低３０枚程度必要なことが経験的に分かっており、そのことから、メモリ量が削減できる利点がある。
【発明を実施するための最良の形態】
【００８５】
本発明の実施形態の画像生成装置における画像生成方法の処理の流れを図４を用いて説明する。以下の第１のステップ〜第１４のステップは図４のＳ１〜Ｓ１４に対応する。
【００８６】
まず、視点の異なる複数のカメラを用いて同一の物体や風景を撮影した画像を画像生成装置（図示していない。）に入力する（第１のステップ）。
次に、ユーザが見たい視点を空間中に設置する（第２のステップ）。
次に、ユーザが見たい空間的な範囲内に複数の仮想的な面で構成した層を設置する（第３のステップ）。
次に、ユーザが見たい視野を表す仮想的な面を設置する（第４のステップ）。
次に、ユーザが見たい精細度となるように、ユーザが見たい視野を表す仮想的な面上に、複数の画素を配置する（第５のステップ）。
次に、画素を１つ選び、また、仮想的な面を１つ選び、仮想視点とその画素を通る直線（視線）と、その仮想的な面との交点に対して、カメラで撮像した画像上におけるそれぞれの対応点を計算する（第６のステップ）。
次に、複数のカメラで撮像したそれぞれの画像上の対応点およびその付近の画像同士の類似性から、１つの仮想的な面との交点における、物体の表面が存在する程度を計算する（第７のステップ）。
次に、複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、１つの仮想的な面との交点における、物体の表面の色を計算する（第８のステップ）。
次に、選んだ１つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、第６〜８のステップを行うことで、物体の表面が存在する程度と色（第１の色）を計算する（第９のステップ）。
次に、１つの仮想的な面の交点における、物体の存在する程度と、物体の表面の色（第１の色）との積を、その交点における色（第２の色）とする（第１０のステップ）、
次に、もし以前に別の仮想的な面において色（第２の色）を計算しており、その色（第２の色）を積算していれば、今回選んだ１つの仮想的な面における色（第２の色）を、同じ視線ごとに積算する。以前の積算値がない場合（つまり、最初の色（第２の色）を計算する場合）は、その色（第２の色）を積算値の初期値とする（第１１のステップ）、
次に、もし以前に別の仮想的な面において物体の表面が存在する程度を計算しており、その物体の表面が存在する程度を積算していれば、今回選んだ１つの仮想的な面における物体の表面が存在する程度を、同じ視線ごとに積算する。
以前の積算値がない場合（つまり、最初の物体の表面が存在する程度を計算する場合は、その物体の表面が存在する程度を積算値の初期値とする（第１２のステップ）、
次に、層状の全ての仮想的な面において、第６〜１３のステップを行うことで、色（第２の色）と物体の表面が存在する程度を積算する（第１３のステップ）、
最後に、仮想視線ごとに、色（第２の色）の積算値を、物体の表面が存在する程度の積算値で割って、色（第３の色）を求め、その色（第３の色）を、ユーザが見たい視野を表す仮想的な面上の画素の色とする（第１４のステップ）。
【００８７】
図１は画像生成法を説明するための構成図である。１００１はユーザが見たい画像を得るために便宜的に記した仮想カメラ、１００２は１００１の仮想カメラのレンズ、１００３はユーザが見たい視点（仮想視点）であり、１００２の仮想カメラのレンズの中心、１００４はユーザが見たい視野を表す仮想平面であり、１００１の仮想カメラの撮像素子、１００５はユーザが見たい視野を表す仮想平面の原点であり、１００４の仮想視点の撮像素子の原点、１００６はユーザが見たい視野を表す仮想平面上の画素であり、１００１の仮想カメラにおける後述の１０１２の仮想平面と視線との交点の結像点、１０１０はユーザが見たい視線（仮想視線）、１０１１はユーザが見たい空間的な範囲内の仮想平面群、１０１２は１０１１の層を形成している仮想平面と仮想視線の交点群、１１０１はカメラ、１１０２はカメラ１１０１のレンズ、１１０３はレンズ１１０２のレンズ中心、１１０４はカメラ１１０１の撮像素子、１１０５は撮像素子１１０４の原点、１１０６は仮想平面と仮想視線の交点の結像点、１１１０はカメラ視線、である。１１０１はカメラＣ１であり、１１０２〜１１０６はカメラＣ１に関するものである。カメラはＮ台あるとして、それぞれＣ１〜ＣＮと名付ける。Ｃ２〜ＣＮのそれぞれの構成はカメラＣ１と同じである。
【００８８】
以下、本実施形態の画像生成方法をステップに分けて動作を説明する。
【００８９】
ステップ１：［複数のカメラを用いて同一物体や風景を撮影]
Ｎ台のカメラで、同一物体や風景を撮影し、撮影した画像を画像生成装置（図示していない。）に入力する。このとき、各カメラＣｉ（ｉ＝１，．．．，Ｎ）において、コンピュータビジョンの分野で知られているカメラの内部に関するパラメタ（カメラ内部パラメタ）と、カメラの位置、姿勢に関するパラメタ（カメラ外部パラメタ）は既知とする。カメラ内部パラメタは、行列表記すると、たとえば、以下のようなものである。
【００９０】
【数１９】
0004809316.tif 000020
【００９１】
ＡＣｉをカメラ内部行列といい、３行３列の行列である。ここで、αｕ，Ｃｉは焦点距離を撮像素子の横軸の画素ピッチで割ったもの、αｖ，Ｃｉは焦点距離を撮像素子の縦軸の画素ピッチで割ったもの、θＣｉは撮像素子の縦軸と横軸の成す角度、ｕＣｉ０，ｖＣｉ０は撮像素子とレンズ光軸の交点の座標であり、画素単位で表記し、撮像した画像の左上を原点とする座標、である。
【００９２】
なお、ｕＣｉ0，ｖＣｉ0で使用される座標系をカメラＣｉにおけるディジタル画像座標といい、カメラの撮像素子上の２次元の斜交座標であり、撮像素子の画素間隔を単位とし、撮像素子の横軸、縦軸をその軸方向とし、撮像素子の左上を原点とするものであり、カメラごとに固有のものとなる。
【００９３】
また、カメラの外部パラメタを行列表記すると、たとえば、以下のようなものとなる。
【００９４】
【数２０】
0004809316.tif 000021
【００９５】
ＲＣｉはカメラ回転行列といい、３行３列の行列であり、ｔＣｉはカメラ平行並進ベクトルといい、３次元のベクトルである。これらのパラメタを説明する前に、世界座標系について説明する。世界座標系とは、空間全体を表す３次元の直交座標系であり、原点、単位は適宜ユーザが設定する。この世界座標系を用いると、それぞれのパラメタは以下のように説明できる。
【００９６】
ｒＣｉｘ、ｒＣｉｙ、ｒＣｉｚ、は、カメラＣｉのレンズ中心を原点とした３次元の直交座標系（これをカメラ座標系という）の各軸の単位ベクトルを、世界座標系で表したベクトル、ｔＣｉｘ、ｔＣｉｙ、ｔＣｉｚは、カメラ座標系における、世界座標系の原点の座標を表すベクトルの要素、である。
【００９７】
ステップ２：［ユーザが見たい視点を設置]
ユーザが自分の目を持っていきたい場所を決め、そこに仮想的に視点（以下、仮想視点と表記）１００３を設置する。
【００９８】
ステップ３：［層状の仮想的な面を設置]
ユーザが見たい３次元的な範囲に、複数の仮想的な面で層状に構成される平面群１０１１を設置する。
【００９９】
ステップ４：[ユーザが見たい視野を表す仮想的な面を設置]
仮想視点１００３から見た視野内であって、ユーザが生成したい画像の範囲を表す仮想的な面１００４を設置する。これは、仮想視点１００３をレンズ中心としたレンズ１００２を持つ仮想カメラ１００１の撮像素子と見なすことができるので、以下、仮想カメラの撮像素子と言う。
【０１００】
ステップ５：［ユーザが見たい精細度となるように、仮想カメラの撮像素子面上に、画素を配置]
最終的にユーザが見たい画像の精細度を決め、それを満足するように、仮想カメラの撮像素子１００４の面上の画素を配置する。
【０１０１】
上記ステップ２〜５まで決めると、ユーザが見たい視点に設置した仮想カメラのパラメタが決まる。この仮想カメラの内部／外部パラメタを、たとえば、以下のように表す。
【０１０２】
【数２１】
0004809316.tif 000022
【０１０３】
ここで、Ｃｖは仮想視点カメラを表す。上記式の内容は、（８．１）〜（８．３）式と同様であるので、説明は省略する。
【０１０４】
ステップ６：［仮想視点と画素の１つを通る直線（視線）と１つの仮想的な面の交点に対して、各カメラ画像上の対応点を計算]
仮想カメラの撮像素子１００４の面上の画素１００６を１つ選び、また、ユーザが見たい空間的な範囲内の仮想平面群１０１１の中の層を１つ選び、仮想視点とその選んだ画素を通る直線（仮想視線）と、その仮想的な面との交点（仮想平面と仮想視線との交点群の中の１つ）に対して、複数のカメラで撮像した複数の画像上におけるそれぞれの対応点（図１では、カメラＣ１については仮想平面と視線の交点の結像点１１０６で表記）を計算する。
【０１０５】
図１では、カメラＣ１にのみ説明のための番号が付いているが、全カメラＣｉ（ｉ＝１，．．．，Ｎ）ともに構成は同様であるので、以下では、カメラを区別せずにＣｉと表記する。
【０１０６】
たとえば、仮想カメラＣｖの撮像素子１００４上の画素１００６の、仮想カメラＣｖのディジタル画像座標系での座標をｍＣｖ＝［ｕＣｖ  ｖＣｖ］Ｔ、カメラＣ１の撮像素子１１０４上の対応点１１０６の、カメラＣｉのディジタル画像座標系での座標をｍＣｖ,Ｌｋ,Ｃｉ＝[ｕＣｖ,Ｌｋ,Ｃｉ  ｖＣｖ,Ｌｋ,Ｃｉ]とすると、
【０１０７】
【数２２】
0004809316.tif 000023
【０１０８】
となる。
【０１０９】
ここで、~ｍＣｖ,Ｌｋ,Ｃｉ、~ｍＣｖはそれぞれｍＣｖ,Ｌｋ,Ｃｉ、ｍＣｖの同次座標であり、それぞれ、~ｍＣｖ,Ｌｋ,Ｃｉ［ｕＣｖ，Ｌｋ，Ｃｉ  ｖＣｖ，Ｌｋ，Ｃｉ  １］Ｔ、~ｍＣｖ［ｕＣｖ  ｖＣｖ  １］Ｔ、である。
【０１１０】
ＨＬｋ,Ｃ１,Ｃｖはホモグラフィ行列といい、
【０１１１】
【数２３】
0004809316.tif 000024
【０１１２】
である。ｓはスカラ値であり、ｓが（８.７）式右辺のＨＬｋ,Ｃｉ,Ｃｖの三行目を示すベクトルと~ｍＣｖとの内積値、である。ここで、ＲＣｉ,ＣｖとｔＣｉ,Ｃｖは仮想カメラＣｖのカメラ座標系からカメラＣ１のカメラ座標系へ変換する際の回転行列と平行並進ベクトルであり、
【０１１３】
【数２４】
0004809316.tif 000025
【０１１４】
である。ｎは仮想カメラＣｖのカメラ座標系におけるｋ層の仮想平面の法線ベクトル（仮想カメラの撮像素子１００４の面とｋ層の仮想平面が平行ならｎ＝［００１］Ｔ）、ｄは仮想視点１００３からｋ層の仮想平面までの距離、である。
【０１１５】
ステップ７：［対応点上の画像の類似点から、１つの仮想的な面の交点における、物体の表面が存在する程度を計算］
仮想カメラの撮像素子の画素に関して、ユーザが見たい空間的な範囲内の仮想平面群の中の１層の平面と、今注目している仮想カメラの撮像素子の画素の中心から引かれた仮想視線との交点における、物体の表面が存在する程度を計算する。ここでは、その交点に対応する各カメラの撮像素子上の点とその近傍の点のテクスチャが類似しているほど物体の表面が存在する程度が高いとする計算を行う。仮想平面上の交点の近傍の点とは、たとえば、今注目している仮想カメラの撮像素子上の画素の近傍の画素の中心から引かれる仮想カメラの視線と仮想平面との交点としても良い。
【０１１６】
この様子を図２（ａ）に示す。５００３は仮想カメラのレンズ中心、５００６は仮想カメラの撮像素子の注目画素の中心、５００６−１は仮想カメラの撮像素子の注目画素の近傍の中心、５０１０は仮想カメラの注目画素を通る仮想視線、５０１０−１は仮想カメラの注目画素の近傍画素を通る仮想視線、５０１２はｋ層の仮想平面と注目画素を通る仮想視線の交点、５０１２−１はｋ層の仮想平面と注目画素の近傍画素を通る仮想視線の交点、５０１３はユーザが見たい空間的な範囲内の仮想平面群のｋ層、である。注目画素５００６と近傍画素５００６−１は、仮想カメラの撮像素子上の画素であり、レンズ中心５００３を通る視線５０１０、５０１０−１によって、それぞれ、ｋ層の仮想平面５０１３上の点に対応点を作る。図では、近傍画素が１つしか示していないが、注目画素５００６の周りの画素群や、さらにその周りの画素群を近傍の画素としても良い。
【０１１７】
これらｋ層の仮想平面上の交点とその近傍の点に対応する、各カメラの撮像素子上の点も、仮想平面上の点と各カメラのレンズの中心を通るカメラ視線によって、決まる。
【０１１８】
この様子を図２（ｂ）に示す。５００６は仮想カメラの撮像素子の注目画素の中心、５０１０は仮想カメラの注目画素を通る仮想視線、５０１１は仮想カメラの撮像素子の画素、５０１２はｋ層の仮想平面と注目画素を通る仮想視線の交点、５０１３はユーザが見たい空間的な範囲内の仮想平面群のｋ層、５１０６は仮想平面と仮想視線の交点の結像点、５１１０はカメラ視線、５１１１は仮想平面と仮想視線の交点の結像点を中心とする、撮像素子の画素と同じ大きさの四角形、５１１２は仮想平面と仮想視線の交点の結像点の近傍の撮像素子上の画素群、である。
【０１１９】
仮想カメラの撮像素子上の画素５０１１は、その画素中心５００６と仮想カメラ視線５０１０によって、ｋ層の仮想平面の上に交点５０１２で対応づけられている。そのｋ層の仮想平面の上に交点５０１２に対して、その交点５０１２とカメラのレンズ中心を通るカメラ視線５１１０によって、カメラの撮像素子上に交点５０１２が結像する点５１０６に対応付けられる。
【０１２０】
このように、仮想カメラの撮像素子上の画素５０１１とｋ層の仮想平面上の交点５０１２とカメラの撮像素子上の結像点５１０６は対応付けられるが、結像点５１０６はカメラ撮像素子の画素の中心とは一般には一致しない。その結像点５１０６の色を得るには、たとえば、結像点の近傍の画素値を使う。
【０１２１】
この様子を図２（ｃ）に示す。５１０６は仮想平面と仮想視線の交点の結像点、５１１１は仮想平面と仮想視線の交点の結像点を中心とする、撮像素子の画素と同じ大きさの四角形、５１１２は仮想平面と仮想視線の交点の結像点の近傍の撮像素子上の画素群、である。
【０１２２】
結像点５１０６の色は、たとえば、結像点を中心とする四角形５１１１が重なっているカメラの撮像素子の画素群５１１２の各画素の面積比で、それらの画素の色を足し合わせるという、バイリニア法で得ることができる。この方法は、たとえば、図２（ｃ）に示すように、四角形５１１１が撮像素子の画素５１１２の境界で、上下の辺がｓ：１−ｓに、左右の辺がｔ：１−ｔにそれぞれ内分されていた場合、近傍の画素の座標をｍＣｖ，Ｌｋ，Ｃｉ，ｑ１、ｍＣｖ，Ｌｋ，Ｃｉ，ｑ２、ｍＣｖ，Ｌｋ，Ｃｉ，ｑ３、ｍＣｖ，Ｌｋ，Ｃｉ，ｑ４、として、それぞれの画素の色をＴ［ｍＣｖ，Ｌｋ，Ｃｉ，ｑ１］、Ｔ［ｍＣｖ，Ｌｋ，Ｃｉ，ｑ２］、Ｔ［ｍＣｖ，Ｌｋ，Ｃｉ，ｑ３］、Ｔ［ｍＣｖ，Ｌｋ，Ｃｉ，ｑ４］とすると、結像点の色Ｔ［ｍＣｖ，Ｌｋ，Ｃｉ］は、以下のようになる。
【０１２３】
【数２５】
0004809316.tif 000026
【０１２４】
ここでは、バイリニア法について述べたが、ニアレストネイバー法、バイキュービック法等を用いても良い。
【０１２５】
ｋ層の仮想視点の交点５０１２に対応する各カメラの撮像素子上の結像点５１０６の色を用いて、その交点５０１２における相違度ｄｉｓＲＬｋ,Ｃｖ［ｍＣｖ］を求める。
【０１２６】
【数２６】
0004809316.tif 000027
【０１２７】
ここで、ｐは注目画素の座標ｍＣｖ，Ｌｋ，Ｃｉの近傍の画素の座標を指すためのベクトル、ａは注目画素を原点とする近傍の画素の範囲、ｌは関数の形を変えるパラメタである。ｍＣｖ，Ｌｋ，Ｃｉ，ｐは、
【０１２８】
【数２７】
0004809316.tif 000028
【０１２９】
となるときの２次元座標、を表す。
【０１３０】
また、-ＴＬｋ［ｍＣｖ＋ｐ］は、注目画素、および、各近傍画素における全カメラの平均の色であり、
【０１３１】
【数２８】
0004809316.tif 000029
【０１３２】
である。
【０１３３】
類似度ＲＬｋ，Ｃｖ［ｍＣｖ］は、相違度が大きければ小さく、小さければ大きいという関係があるとして、たとえば、以下のような関数で表す。
【０１３４】
【数２９】
0004809316.tif 000030
【０１３５】
ここで、σは関数の形を変えるパラメタ、を表す。
【０１３６】
また、類似度ＲＬｋ,Ｃｖは、以下のような関数でも良い。
【０１３７】
【数３０】
0004809316.tif 000031
【０１３８】
ここで、ｌ’は関数の形を変えるパラメタ、εは分母が０にならないようにするための微小値、である。
【０１３９】
この類似度ＲＬｋ，Ｃｖ［ｍＣｖ］を、物体の表面が存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］とする。つまり、
【０１４０】
【数３１】
0004809316.tif 000032
【０１４１】
とする。
【０１４２】
算出した物体の表面の存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］は、現在対象となっている仮想平面とカメラ視線との交点にマッピングする。
【０１４３】
ステップ８：［複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、１つの仮想的な面との交点における、物体の表面の色（第１の色）を計算する]
仮想カメラの撮像素子の画素に関して、ユーザが見たい空間的な範囲内の仮想平面群の中の１層の平面と、今注目している仮想カメラの撮像素子の画素の中心から引かれた仮想視線との交点における、物体の色を計算する。
【０１４４】
この計算方法としては、たとえば、仮想カメラＣｖの撮像素子上の点ｍＣｖに対応する、仮想平面ｋ層上の仮想視線との交点の色（第１の色）ＴＬｋ［ｍＣｖ］は、仮想カメラＣｖの仮想視線とカメラＣｉのカメラ視線との成す角をθＣｖ，Ｌｋ，Ｃｉ［ｍＣｖ］とすると、角度が小さいときの色の寄与率を高くするようにすると、カメラの色Ｔ［ｍＣｖ，Ｌｋ，Ｃｉ］を使って、次のようにする。これを、視点依存テクスチャマッピングという。
【０１４５】
【数３２】
0004809316.tif 000033
【０１４６】
算出したカメラの色は、現在対象となっている仮想平面とカメラ視線との交点にマッピングする。
【０１４７】
ステップ９：［選んだ１つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、ステップ６〜８を繰り返し行うことで、物体の表面が存在する程度と色（第１の色）を計算する]
ユーザが見たい空間的な範囲の仮想面を１つ選び、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、ステップ６〜８を繰り返し行い、それにより、ユーザが見たい空間的な範囲内にある１つの仮想平面上における物体の表面が存在する程度と色（第１の色）の両方を計算し、その値を仮想面上の交点にマッピングする。
【０１４８】
ステップ１０：［１つの仮想的な面の交点における、物体の表面の存在する程度と、物体の表面の色（第１の色）との積を、その交点における色（第２の色）とする。]
１つのユーザが見たい空間的な範囲の仮想面と仮想視点との交点における、物体の表面の存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］と、物体の表面の色（第１の色）ＴＬｋ［ｍＣｖ］との積をとり、その積をとった色（第２の色）＾ＴＬｋ’［ｍＣｖ］を新たにその交点における色としてマッピングする。色（第２の色）＾ＴＬｋ’［ｍＣｖ］の式は次式となる。
【０１４９】
【数３３】
0004809316.tif 000034
【０１５０】
ステップ１１：［もし以前に別の仮想的な面において色（第２の色）を計算しており、その色（第２の色）を積算していれば、今回選んだ１つの仮想的な面における色（第２の色）を、同じ視線ごとに積算する。以前の積算値が無い場合（つまり、最初の色（第２の色）を計算する場合）は、その色（第２の色）を積算値の初期値とする。］
もし、以前に、上記の計算を、ユーザが見たい空間的な範囲の別の仮想面において、色（第２の色）＾ＴＬｋ’［ｍＣｖ］を計算しており、その色（第２の色）＾ＴＬｋ’［ｍＣｖ］を、同じ仮想視線上の交点の色に対して積算していれば、今回選んだ１つの仮想的な面における色（第２の色）＾ＴＬｋ’［ｍＣｖ］を、前と同様に同じ仮想視線ごとに積算する。
【０１５１】
もし、以前の積算値が無い場合、つまり、今回が最初の色（第２の色）＾ＴＬｋ’［ｍＣｖ］を計算する場合は、その色（第２の色）＾ＴＬｋ’［ｍＣｖ］を積算値の初期値として、以降、この値に積算していく。
【０１５２】
処理を１層から始めてＫ層まで進んだとし、この色（第２の色）＾ＴＬｋ’［ｍＣｖ］の１〜Ｋ層までの積算値をｓｕｍ＾ＴＬｋ’［ｍＣｖ］とすると、この積算値は次式となる。
【０１５３】
【数３４】
0004809316.tif 000035
【０１５４】
ここで、Ｋは１≦Ｋ≦Ｍである。なお、Ｍは層数である。
【０１５５】
ステップ１２：［もし以前に別の仮想的な面において物体の表面が存在する程度を計算しており、その物体の表面の存在する程度を積算していれば、今回選んだ１つの仮想的な面における物体の表面が存在する程度を、同じ視線ごとに積算する。以前の積算値がない場合（つまり、最初の物体の表面が存在する程度を計算する場合）は、その物体の表面が存在する程度を積算値の初期値とする。]
もし、以前に、上記の計算を、ユーザが見たい空問的な範囲の別の仮想面において、物体の表面が存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］を計算しており、その物体の表面が存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］を、同じ仮想視線上の交点における物体の表面の存在する程度に対して積算していれば、今回選んだ１つの仮想的な面における物体の表面の存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］を、前と同様に同じ仮想視線ごとに積算する。
【０１５６】
もし、以前の積算値が無い場合、つまり、今回が最初の物体の表面が存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］を計算する場合は、その物体の表面が存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］を積算値の初期値として、以降、この値に積算していく。
【０１５７】
処理を１層から始めてＫ層まで進んだとし、この物体の表面が存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］の１〜Ｋ層までの積算値をｓｕｍ＾βＬｋ，Ｋ’［ｍＣｖ］とすると、この積算値は次式となる。
【０１５８】
【数３５】
0004809316.tif 000036
【０１５９】
ここで、Ｋは１≦Ｋ≦Ｍである。なお、Ｍは層数である。
【０１６０】
ステップ１３：［ステップ６〜１２を繰り返し行うことにより、層状の全ての仮想的な面において色（第２の色）と物体の表面が存在する程度を積算する。]
ステップ６〜１２を繰り返し行うことにより、ユーザが見たい空間的な範囲で、層状になっている全ての仮想平面について、ステップ６〜１２を行い、それにより、色（第２の色）＾ＴＬｋ’［ｍＣｖ］と、物体の表面が存在する程度＾βＬｋ，Ｃｖ［ｍＣｖ］を、仮想視線ごとに積算する。
【０１６１】
それぞれの積算値は、（８．２０）、（８．２１）式のＫをＭにしたものであり、下記のようになる。
【０１６２】
【数３６】
0004809316.tif 000037
【０１６３】
ステップ１４：［仮想視線ごとに、色（第２の色）の積算値を、物体の表面が存在する程度の積算値で割って、色（第３の色）を求め、その色（第３の色）を、ユーザが見たい視野を表す仮想的な面上の画素の色とする。]
最後に、仮想視線ごと、つまり、仮想カメラの撮像素子の画素ごとに、色（第２の色）の積算値ｓｕｍ＾ＴＬｋ’［ｍＣｖ］を、物体の表面が存在する程度の積算値＾βＬｋ’［ｍＣｖ］で割って、色（第３の色）Ｔ［ｍＣｖ］を求め、その色（第３の色）Ｔ［ｍＣｖ］を、ユーザが見たい視野を表す仮想的な面上、つまり、仮想カメラの撮像素子上の画素の色とする。最終的な画素の色（第３の色）Ｔ［ｍＣｖ］は以下の式で表される。
【０１６４】
【数３７】
0004809316.tif 000038
【０１６５】
本実施の形態の効果としては、
ユーザが見たい空間的な範囲内の仮想平面群と仮想視線との交点群に関して、ある１つの仮想平面上の全交点において、
（１）各交点上で物体の表面が存在する程度と色を求め（ステップ７、８、９）、
（２）各交点において物体の存在する程度と色の積を取って、それぞれの交点における色とし（ステップ１０）、
（３）上記（１）（２）を仮想平面１枚を計算するごとに、同じ仮想視線ごとに物体の存在する程度と色の積を積算し（ステップ１１、１３）、
（４）上記（１）を仮想平面１枚を計算するごとに、同じ仮想視線ごとに物体の表面が存在する程度を積算し（ステップ１２、１３）、
（５）全てに仮想平面についての計算が終了後、同じ仮想視線ごとに、物体の存在する程度と色の積を積算値を物体の表面が存在する程度を積算値で割って最終的な画像を生成する（ステップ１４）、
操作をしているので、（１）から（５）までの操作においては、物体の表面が存在する程度の計算と、色の計算と、それらの積の計算と、物体の表面が存在する程度の積算と、積の積算をするのに、最大でもそれぞれ仮想平面１枚ずつ、つまり、計５枚のメモリ量（５枚と交点の積に比例）のみ必要であり、従来方法で必要であった仮想平面の枚数のメモリ量（仮想平面の枚数と交点の積に比例）と異なるが、通常、良好な生成画像を得るには、仮想平面は最低３０枚程度必要なことが経験的に分かっており、そのことから、メモリ量が削減できる利点がある。
【０１６６】
本発明の実施形態の画像生成装置は、以上に説明した各ステップを実行する手段を有しており、１または複数のコンピュータとプログラムを用いて構成することができる。そのプログラムは記録媒体に記憶することができる。また、そのプログラムの一部または全部の代わりにハードウェアを用いて構成してもよい。
【０１６７】
以上、本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【０１６８】
【図１】画像生成を行うための構成図である。
【図２（ａ）】仮想平面と仮想視線の交点と結像点の近傍の撮像素子上の画素の図（仮想平面と仮想視線の交点と２つのカメラ内の撮像素子の関係図）である。
【図２（ｂ）】仮想平面と仮想視線の交点と結像点の近傍の撮像素子上の画素の図（仮想カメラの撮像素子上の画素と、仮想平面と仮想視線の交点と、カメラ内の撮像素子の関係図）である。
【図２（ｃ）】仮想平面と仮想視線の交点と結像点の近傍の撮像素子上の画素の図（注目点を中心とする撮像素子画素と同じ大きさの四角形と撮像素子の画素の関係図）である。
【図３】従来技術の代表的な全体処理のフローを示す図である。
【図４（ａ）】本発明の実施形態の全体処理のフローを示す図である。
【図４（ｂ）】本発明の実施形態の全体処理のフローを示す図（続き）である。
【符号の説明】
【０１６９】
１００１はユーザが見たい画像を得るために便宜的に記した仮想カメラ、１００２は１００１の仮想カメラのレンズ、１００３はユーザが見たい視点（仮想視点）であり、１００２の仮想カメラのレンズの中心、１００４はユーザが見たい視野を表す仮想平面であり、１００１の仮想カメラの撮像素子、１００５はユーザが見たい視野を表す仮想平面の原点であり、１００４の仮想視点の撮像素子の原点、１００６はユーザが見たい視野を表す仮想平面上の画素であり、１００１の仮想カメラにおける後述の１０１２の仮想平面と視線との交点の結像点、１０１０はユーザが見たい視線（仮想視線）、１０１１はユーザが見たい空間的な範囲内の仮想平面群、１０１２は１０１１の層を形成している仮想平面と仮想視線の交点群、１１０１はカメラ、１１０２はカメラ１１０１のレンズ、１１０３はレンズ１１０２のレンズ中心、１１０４はカメラ１１０１の撮像素子、１１０５は撮像素子１１０４の原点、１１０６は仮想平面と仮想視線の交点の結像点、１１１０はカメラ視線、５００３は仮想カメラのレンズ中心、５００６は仮想カメラの撮像素子の注目画素の中心、５００６−１は仮想カメラの撮像素子の注目画素の近傍の中心、５０１０は仮想カメラの注目画素を通る仮想視線、５０１０−１は仮想カメラの注目画素の近傍画素を通る仮想視線、５０１１は仮想カメラの撮像素子の画素、５０１２はｋ層の仮想平面と注目画素を通る仮想視線の交点、５０１２−１はｋ層の仮想平面と注目画素の近傍画素を通る仮想視線の交点、５０１３はユーザが見たい空間的な範囲内の仮想平面群のｋ層、５１０６は仮想平面と仮想視線の交点の結像点、５１１０はカメラ視線、５１１１は仮想平面と仮想視線の交点の結像点を中心とする、撮像素子の画素と同じ大きさの四角形、５１１２は仮想平面と仮想視線の交点の結像点の近傍の撮像素子上の画素群、である。
【図１】
0004809316.tif 000039
【図２（ａ）】
0004809316.tif 000040
【図２（ｂ）】
0004809316.tif 000041
【図２（ｃ）】
0004809316.tif 000042
【図３】
0004809316.tif 000043
【図４（ａ）】
0004809316.tif 000044
【図４（ｂ）】
0004809316.tif 000045