(57)【要約】【課題】仮想物体の配置される背景画像が変化する場合においても、自然な存在感を得る背景画像の映り込みを仮想物体の表面に、背景画像の変化に対応してリアルタイムにレンダリングすることができる画像生成装置を提供する。【解決手段】本発明の画像生成装置は、背景画像に対して三次元ＣＧ（コンピュータグラフィックス）により生成した仮想物体を合成した合成画像を生成する際、背景画像を基に生成した光源となる光源ピクセルから構成された照明画像を用い、仮想物体の陰影計算を行なう画像生成装置であり、背景画像が変化したために更新が必要な光源ピクセルを、照明画像から仮想物体の形状情報及び観察者の視点情報の少なくともいずれかを用いて更新ピクセルとして求める更新ピクセル算出部と、更新ピクセルのピクセル値を再計算するピクセル値計算部とを備える。【選択図】図３
2018151694.tif 000002
【特許請求の範囲】
【請求項１】
背景画像に対して三次元ＣＧ（コンピュータグラフィックス）により生成した仮想物体を合成した合成画像を生成する際、前記背景画像を基に生成した光源となる光源ピクセルから構成された照明画像を用い、前記仮想物体の陰影計算を行なう画像生成装置であり、
前記背景画像が変化したために更新が必要な光源ピクセルを、前記照明画像から前記仮想物体の形状情報及び観察者の視点情報の少なくともいずれかを用いて更新ピクセルとして求める更新ピクセル算出部と、
前記更新ピクセルのピクセル値を再計算するピクセル値計算部と
を備えることを特徴とする画像生成装置。
【請求項２】
前記照明画像がイメージドベースドライティングにおける拡散反射用イラディアンスマップであり、
前記更新ピクセル算出部が、
前記形状情報として前記仮想物体の表面の法線ベクトルを用いる
ことを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記照明画像がイメージドベースドライティングにおける鏡面反射用イラディアンスマップであり、
前記更新ピクセル算出部が、
前記視点情報として、前記観察者の視点ベクトルが前記仮想物体の表面で反射した反射ベクトルを用いる
ことを特徴とする請求項１または請求項２に記載の画像生成装置。
【請求項４】
前記照明画像を記憶する照明画像記憶部と、
前記背景画像が変化したか否かの検出を行なう背景画像変化検出部と、
前記背景画像が変化した際に前記照明画像記憶部の前記照明画像における全てのピクセル値を削除する照明画像削除部と
をさらに備え、
前記更新ピクセル算出部が前記照明画像記憶部において、前記照明画像におけるピクセル値が計算されていない前記更新ピクセルのピクセル値を計算する
ことを特徴とする請求項１から請求項３のいずれか一項に記載の画像生成装置。
【請求項５】
背景画像に対して三次元ＣＧ（コンピュータグラフィックス）により生成した仮想物体を合成した合成画像を生成する際、前記背景画像を基に生成した光源となる光源ピクセルから構成された照明画像を用い、前記仮想物体の陰影計算を行なう画像生成方法であり、
更新ピクセル算出部が、前記背景画像が変化したために更新が必要な光源ピクセルを、前記照明画像から前記仮想物体の形状情報及び観察者の視点情報の少なくともいずれかを用いて更新ピクセルとして求める更新ピクセル算出過程と、
放射照度計算部が、前記更新ピクセルのピクセル値を再計算するピクセル値計算過程と
を含むことを特徴とする画像生成方法。
【請求項６】
背景画像に対して三次元ＣＧ（コンピュータグラフィックス）により生成した仮想物体を合成した合成画像を生成する際、前記背景画像を基に生成した光源となる光源ピクセルから構成された照明画像を用い、前記仮想物体の陰影計算を行なう画像生成装置としてコンピュータを動作させるプログラムであり、
前記コンピュータを、
前記背景画像が変化したために更新が必要な光源ピクセルを、前記照明画像から前記仮想物体の形状情報及び観察者の視点情報の少なくともいずれかを用いて更新ピクセルとして求める更新ピクセル算出手段、
前記更新ピクセルのピクセル値を再計算するピクセル値計算手段
として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、観察者の視点に対応して、実写された背景画像と三次元ＣＧ（computer graphics）により生成された三次元形状の仮想物体とを合成する画像生成装置、画像生成方法及びプログラムに関する。
【背景技術】
【０００２】
画像生成方法においては、実写した背景画像（全天球画像）に対し、三次元ＣＧで生成した三次元形状の仮想物体を重畳して表示した際、その仮想物体が背景画像に最初から存在するように観察者に観察させる技術が知られている。例えば、ＡＲ（augmented reality）やＭＲ（mixed reality）と呼ばれる技術領域では、実写の背景画像に対して、三次元ＣＧで生成した三次元形状の仮想物体を合成することにより、あたかも現実世界を撮像した背景画像において、仮想物体がその現実世界に存在しているような提示が可能である。
【０００３】
上述した技術領域においては、背景画像と三次元ＣＧで生成した三次元形状の仮想物体とを自然に合成するために、背景画像と仮想物体とを照明する光源環境を一致させることが重要である。
この光源環境を一致させる技術として、全天球画像である背景画像の各ピクセルを光源と見なし、背景画像に重畳させた仮想物体の陰影計算を行なう方法として、イメージベースドライティング（以下、ＩＢＬ：image based lighting）が知られている（例えば、特許文献１、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４８０４２５６号公報
【非特許文献】
【０００５】
【非特許文献１】Ｇｅｎｅ  Ｓ．Ｍｉｌｌｅｒ，Ｃ．Ｒｏｂｅｒｔ  Ｈｏｆｆｍａｎ，”Ｉｌｌｕｍｉｎａｔｉｏｎ  ａｎｄ  Ｒｅｆｌｅｃｔｉｏｎ  Ｍａｐｓ：  Ｓｉｍｕｌａｔｅｄ  Ｏｂｊｅｃｔｓ  ｉｎ  Ｓｉｍｕｌａｔｅｄ  ａｎｄ  Ｒｅａｌ  Ｅｎｖｉｒｏｎｍｅｎｔｓ”，２３  Ｊｕｌ  １９８４，Ｃｏｕｒｓｅ  Ｎｏｔｅｓ  ｆｏｒ  Ａｄｖａｎｃｅ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  Ａｎｉｍａｔｉｏｎ  ＳＩＧＧＲＡＰＨ  ８４
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１においては、変化した背景画像に対応させ、三次元ＣＧで生成した仮想物体への照明を求めるため、リアルタイム処理での光源推定方法が紹介されている。しかしながら、特許文献１は、仮想物体への影響の大きい光源（ピクセル）のみを推定しているため、背景画像全体のピクセルによる照明の影響を反映できず、背景画像における仮想物体の自然な存在感を得ることができない。
【０００７】
また、非特許文献１には、特許文献１と異なり、背景画像の各ピクセルを光源と見なして、三次元ＣＧで生成した仮想物体の陰影計算を行なう手法について記載されている。しかしながら、仮想物体の陰影計算に用いる放射輝度マップを生成する際の畳み込み処理に時間を要するため、背景画像が変化して仮想物体への映り込みが変化するなど、仮想物体の配置された環境が変化する場合、リアルタイムには対応できない。
【０００８】
本発明は、このような状況に鑑みてなされたもので、仮想物体の配置される背景画像が変化する場合においても、自然な存在感を得る背景画像の映り込みを仮想物体の表面に、背景画像の変化に対応してリアルタイムにレンダリングすることができる画像生成装置、画像生成方法及びプログラムを提供する。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、本発明の画像生成装置は、背景画像に対して三次元ＣＧ（コンピュータグラフィックス）により生成した仮想物体を合成した合成画像を生成する際、前記背景画像を基に生成した光源となる光源ピクセルから構成された照明画像を用い、前記仮想物体の陰影計算を行なう画像生成装置であり、前記背景画像が変化したために更新が必要な光源ピクセルを、前記照明画像から前記仮想物体の形状情報及び観察者の視点情報の少なくともいずれかを用いて更新ピクセルとして求める更新ピクセル算出部と、前記更新ピクセルのピクセル値を再計算するピクセル値計算部（実施形態における放射照度算出部１２）とを備えることを特徴とする。
【００１０】
本発明の画像生成装置は、前記照明画像がイメージドベースドライティングにおける拡散反射用イラディアンスマップであり、前記更新ピクセル算出部が、前記形状情報として前記仮想物体の表面の法線ベクトルを用いることを特徴とする。
【００１１】
本発明の画像生成装置は、前記照明画像がイメージドベースドライティングにおける鏡面反射用イラディアンスマップであり、前記更新ピクセル算出部が、前記視点情報として、前記観察者の視点ベクトルが前記仮想物体の表面で反射した反射ベクトルを用いることを特徴とする。
【００１２】
本発明の画像生成装置は、前記照明画像を記憶する照明画像記憶部と、前記背景画像が変化したか否かの検出を行なう背景画像変化検出部と、前記背景画像が変化した際に前記照明画像記憶部の前記照明画像における全てのピクセル値を削除する照明画像削除部とをさらに備え、前記更新ピクセル算出部が前記照明画像記憶部において、前記照明画像におけるピクセル値が計算されていない前記更新ピクセルのピクセル値を計算することを特徴とする。
【００１３】
本発明の画像生成方法は、背景画像に対して三次元ＣＧ（コンピュータグラフィックス）により生成した仮想物体を合成した合成画像を生成する際、前記背景画像を基に生成した光源となる光源ピクセルから構成された照明画像を用い、前記仮想物体の陰影計算を行なう画像生成方法であり、更新ピクセル算出部が、前記背景画像が変化したために更新が必要な光源ピクセルを、前記照明画像から前記仮想物体の形状情報及び観察者の視点情報の少なくともいずれかを用いて更新ピクセルとして求める更新ピクセル算出過程と、放射照度計算部が、前記更新ピクセルのピクセル値を再計算するピクセル値計算過程とを含むことを特徴とする。
【００１４】
本発明のプログラムは、背景画像に対して三次元ＣＧ（コンピュータグラフィックス）により生成した仮想物体を合成した合成画像を生成する際、前記背景画像を基に生成した光源となる光源ピクセルから構成された照明画像を用い、前記仮想物体の陰影計算を行なう画像生成装置としてコンピュータを動作させるプログラムであり、前記コンピュータを、前記背景画像が変化したために更新が必要な光源ピクセルを、前記照明画像から前記仮想物体の形状情報及び観察者の視点情報の少なくともいずれかを用いて更新ピクセルとして求める更新ピクセル算出手段、前記更新ピクセルのピクセル値を再計算するピクセル値計算手段として動作させるためのプログラムである。
【発明の効果】
【００１５】
以上説明したように、本発明によれば、仮想物体の配置される背景画像が変化する場合においても、自然な存在感を得る背景画像の映り込みを仮想物体の表面に、背景画像の変化に対応してリアルタイムにレンダリングすることができる画像生成装置、画像生成方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】ＩＢＬにおける拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの生成を説明する概念図である。
【図２】拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの一例を示す図である。
【図３】本発明の一実施形態による画像生成装置の構成例を示す概念図である。
【図４】本実施形態による画像生成装置が行なう照明画像における放射照度を更新する処理の動作例を示すフローチャートである。
【図５】本実施形態による画像生成装置が行なう照明画像における放射照度を更新する他の処理の動作例を示すフローチャートである。
【図６】本実施形態による画像生成装置が行なう照明画像における放射照度を更新する他の処理の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
本発明による画像処理装置は、ＩＢＬ（image based lighting）の技術を用いて、現実空間における時系列に変化する背景画像と、三次元ＣＧ（コンピュータグラフィック）により生成した三次元形状の仮想物体とを合成した合成画像を生成する際、背景画像を基に生成した照明画像を用いて、仮想物体の陰影計算を行なうものである。照度画像とは、照度マップであり、背景画像の各々のピクセル値に基づいて、背景画像の各々のピクセルに対応した光源ピクセルを生成し、この光源ピクセルのピクセル値を放射照度値としている画像である。照度画像は、例えば、拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの各々である。
【００１８】
図１は、ＩＢＬにおける拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの生成を説明する概念図である。上記拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの各々は、三次元ＣＧにより生成された三次元形状の仮想物体に対し、背景画像の写り込みを擬似的に表現するテクスチャマッピングに用いるテクスチャマップであり、背景画像である全天球画像５００のピクセルの各々に対して、対応する光源ピクセルがマッピングされている。
【００１９】
図１において、観察者の視点位置１００から仮想物体２００を観察した際、仮想物体２００における対象点２０１において、仮想物体２００と視点ベクトル３００とが交差する。この対象点２０１は、三次元形状の仮想物体を構成するポリゴンの面上の点である。この対象点２０１における仮想物体２００の表面の法線ベクトル４００と交差する全天球画像５００のピクセル５０１の位置に対応して、対象点２０１における拡散反射に寄与する光を照射する、拡散反射用イラディアンスマップの光源ピクセルがマッピングされている。また、この対象点２０１における仮想物体２００の表面における、視線ベクトル３００の反射ベクトル３５０と交差する全天球画像５００のピクセル５５１の位置に対応して、対象点２０１における鏡面反射に寄与する光を照射する、鏡面反射用イラディアンスマップの光源ピクセルがマッピングされている。反射ベクトル３５０は、視点位置１００からの視線ベクトル３００と、対象点２０１における法線ベクトル４００とから求められる。
【００２０】
上記拡散反射用の光源ピクセルのピクセル値である放射照度Ｄ［Ｎ］は、例えば、ランバート拡散反射モデルを用いた場合、以下の（１）式により求められる。（１）式において、Ｌは、全天球画像５００における各ピクセルへの仮想物体２００の対象点２０１からのベクトルを示している。Ｉ[Ｌ]は全天球画像５００においてベクトルＬと交差するピクセルのピクセル値（Ｒ（Red）成分、Ｇ（Green）成分、Ｂ（Blue）成分の色情報）を示している。Area[L]は、全天球画像５００においてベクトルＬと交差するピクセルのピクセル立体角を示している。Ｎは、対象点２０１における法線ベクトル４００を示している。ＮとＬとの間の「・」は、内積を示している。ｍａｘ（０，Ｎ・Ｌ）は、「０」か「Ｎ・Ｌ」のいずれか大きい方を出力する関数である。ＰＩは、円周率πである。
【００２１】
以下の（１）式により、全天球画像５００の全てのピクセルを光源とした場合、それぞれの光源から対象点２０１に対して供給される、対象点２０１における拡散反射に寄与する光の放射照度を、全天球画像５００のピクセル５０１の位置にマッピングされた光源ピクセルに集約させることができる。以下の（１）式により、全天球画像５００の各々のピクセルにマッピングされた光源ピクセルにおける放射照度を算出して、拡散反射用イラディアンスマップを生成する。
【００２２】
【数１】
2018151694.tif 000003
【００２３】
上記鏡面反射用の光源ピクセルのピクセル値である放射照度Ｓ［Ｒ］は、例えば、フォン鏡面反射モデルを用いた場合、以下の（２）式により求められる。（２）式において、Ｌは、全天球画像５００における各ピクセルへの対象点２０１からのベクトルを示している。Ｉ[Ｌ]は全天球画像５００においてベクトルＬと交差するピクセルのピクセル値（Ｒ（Red）成分、Ｇ（Green）成分、Ｂ（Blue）成分の色情報）を示している。Area[L]は、全天球画像５００においてベクトルＬと交差するピクセルのピクセル立体角を示している。Ｒは、対象点２０１における視点ベクトル３００の反射ベクトル３５０を示している。ＲとＬとの間の「・」は、内積を示している。ｍａｘ（０，Ｒ・Ｌ）は、「０」か「Ｒ・Ｌ」のいずれか大きい方を出力する関数である。ｓｈｉｎｉｎｅｓｓは、光沢度を示している。ＰＩは、円周率πである。
【００２４】
以下の（２）式により、全天球画像５００の全てのピクセルを光源とした場合、それぞれの光源から対象点２０１に対して供給される、対象点２０１における鏡面反射に寄与する光の放射照度を、全天球画像５００のピクセル５５１の位置にマッピングされた光源ピクセルに集約させることができる。以下の（２）式により、全天球画像５００の各々のピクセルにマッピングされた光源ピクセルにおける放射照度を算出して、鏡面反射用イラディアンスマップを生成する。
【００２５】
【数２】
2018151694.tif 000004
【００２６】
ここで、拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとにおける各光源ピクセルの放射照度は、観察者の観察方向である視線ベクトル３００から観察される対象点２０１がどの程度輝いているかを表している。このため、各光源ピクセルの放射照度Ｄ［Ｎ］及びＳ[Ｒ]の各々は、（１）式、（２）式それぞれに示されるように、全天球画像５００における全てのピクセルから対象点２０１に向かって放射される光の放射輝度を、対象点２０１に対するピクセルからの光の入射角に余弦の重みを乗じた結果の総和として求められる。このため、拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの各々における光源ピクセルの放射照度を算出するためには、背景画像である全天球画像５００のピクセル数の２乗に比例した計算時間を要するため、表示するフレーム毎に画像が変化する動画像の場合などでリアルタイムで計算することは困難である。
【００２７】
図２は、拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの一例を示す図である。図２（ａ）は、拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとを生成するために使用した全天球画像５００を示している。図２（ｂ）は、図２（ａ）の全天球画像５００の各ピクセルのピクセル値を基に、（１）式を用いて生成した拡散反射用イラディアンスマップである。図２（ｃ）は、図２（ａ）の全天球画像５００の各ピクセルのピクセル値を基に、（２）式を用いて生成した第１鏡面反射用イラディアンスマップである。図２（ｄ）は、図２（ａ）の全天球画像５００の各ピクセルのピクセル値を基に、（２）式を用いて生成した第２鏡面反射用イラディアンスマップである。
鏡面反射用イラディアンスマップは、仮想物体の表面の光沢度によって異なったマップとして求められる。例えば、図２（ｄ）の第２鏡面反射用イラディアンスマップは、図２（ｃ）の第１鏡面反射用イラディアンスマップに比較して、仮想物体の光沢度が高い場合を考慮して生成されている。
【００２８】
以下、本発明の一実施形態について、図面を参照して説明する。図３は、本発明の一実施形態による画像生成装置の構成例を示す概念図である。図３において、画像生成装置１は、画像入力部１１、放射照度算出部１２、レンダリング部１３、背景画像変化検出部１４、照明画像削除部１５、更新ピクセル算出部１６、画像記憶部１７及び照度画像記憶部１８の各々を備えている。
【００２９】
画像入力部１１は、外部装置から全天球画像５００及び仮想物体２００の三次元形状の各々のデータを入力し、画像記憶部１７に書き込んで記憶させる。本実施形態においては、全探求画像５００は、仮想物体を合成するとして用いる背景画像であり、時系列的に画像が変化する動画像、あるいは時系列的に切り替わる複数の静止画像である。
【００３０】
放射照度算出部１２は、画像記憶部１７から全天球画像５００を読み出し、この現実空間を実写して生成された全天球画像５００におけるピクセルの各々を光源とし、それぞれのピクセルの放射照度を算出した照度画像（拡散反射用イラディアンスマップ及び鏡面反射用イラディアンスマップ）を生成する。ここで、放射照度算出部１２は、動画像における最初の背景画像に基づき、拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの各々を、それぞれ全天球画像５００における全てのピクセルの位置に対応する光源ピクセルの放射照度を算出して生成する。そして、放射照度算出部１２は、作成した拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの各々を、照度画像記憶部１８に書き込んで記憶させる。
【００３１】
レンダリング部１３は、現実空間を実写して生成された全天球画像５００におけるピクセルの各々を光源とし、それぞれの光源ピクセルの放射照度を算出した拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの各々を用い、仮想物体２００に映り込む（投影される）背景である全天球画像５００のレンダリング（陰影計算）を行ない、合成画像を生成する。このとき、レンダリング部１３は、視点位置１００からの視線ベクトル３００と仮想物体２００とが交差する、仮想物体２００の全ての対象点（ポリゴン）の法線ベクトル４００をピクセル値とする法線ベクトル画像を求める。また、レンダリング部１３は、視点位置１００からの視線ベクトル３００と仮想物体２００とが交差する、仮想物体２００の全ての対象点（ポリゴン）における視線ベクトル３００の反射ベクトル３５０をピクセル値とする反射ベクトル画像を求める。
【００３２】
そして、レンダリング部１３は、照度画像記憶部１８に記憶されている全天球画像５００にマッピングされた拡散反射用イラディアンスマップから、上記法線ベクトル画像における法線ベクトルと交差する全天球画像５００のピクセルの位置の光源ピクセルの放射照度を取得（サンプリング）する。レンダリング部１３は、取得した拡散反射に寄与する放射照度に対して、仮想物体２００の対象点２０１の拡散反射率を乗じて、乗じた結果を対象点２０１のポリゴンにおける拡散反射光成分のピクセル値とする。
【００３３】
また、レンダリング部１３は、照度画像記憶部１８に記憶されている全天球画像５００にマッピングされた鏡面反射用イラディアンスマップから、上記反射ベクトル画像における反射ベクトルと交差する全天球画像５００のピクセルの位置の光源ピクセルの放射照度を取得（サンプリング）する。レンダリング部１３は、取得した鏡面反射に寄与する放射照度に対して、仮想物体２００の対象点２０１の鏡面反射率を乗じて、乗じた結果を対象点２０１における鏡面反射光成分のピクセル値とする。
レンダリング部１３は、拡散反射光成分のピクセル値と鏡面反射光成分のピクセル値とを合成し、対象点２０１におけるポリゴンのピクセル値として、仮想物体２００に対してレンダリングする。
【００３４】
背景画像変化検出部１４は、全天球画像５００（５００＿１から５００＿ｎのｎフレーム）における時系列的に変化するフレーム毎に、画像記憶部１７から新たに読み出したフレームの全天球画像５００＿ｐ（２≦ｐ≦ｎ）と、直前のフレームとにおける全天球画像５００＿ｐ−１とが異なっているか否かの検出を行なう。そして、背景画像変化検出部１４は、全天球画像５００＿ｐと全天球画像５００＿ｐ−１とが異なっている場合、異なっていることを示す検出情報を照明画像削除部１５に対して出力する。
【００３５】
照明画像削除部１５は、背景画像変化検出部１４から検出情報が供給されると、照度画像記憶部１８に記憶されている拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの各々の全ての光源ピクセルの放射照度のデータを削除（クリア）する。
【００３６】
更新ピクセル算出部１６は、背景画像が変化した際、放射照度を算出する必要のある光源ピクセルを求める。すなわち、更新ピクセル算出部１６は、視点位置１００の視線ベクトルと仮想物体２００とが交差する、仮想物体２００の全ての対象点の法線ベクトル４００をピクセル値とする法線ベクトル画像を求める。そして、更新ピクセル算出部１６は、法線ベクトル画像の各法線ベクトル４００と交差する全天球画像５００のピクセルの位置の光源ピクセルを更新する必要のある更新拡散反射光源ピクセルとして検出する。
また、更新ピクセル算出部１６は、視点位置１００の視線ベクトルと仮想物体２００とが交差する、仮想物体２００の全ての対象点における視線ベクトル３００の反射ベクトル３５０をピクセル値とする反射ベクトル画像を求める。そして、更新ピクセル算出部１６は、反射ベクトル画像の各反射ベクトルと交差する全天球画像５００のピクセルの位置の光源ピクセルを更新する必要のある更新鏡面反射光源ピクセルとして検出する。
【００３７】
画像記憶部１７には、外部装置から供給される全天球画像５００及び三次元ＣＧにより生成した仮想物体の三次元形状のデータが、書き込まれて記憶されている。
照度画像記憶部１８には、背景画像としての全天球画像５００にマッピングされた拡散反射用イラディアンスマップと鏡面反射用イラディアンスマップとの各々が書き込まれる。
【００３８】
図４は、本実施形態による画像生成装置が行なう照明画像における放射照度を更新する処理の動作例を示すフローチャートである。以下に示すフローチャートは、背景画像である全天球画像５００が動画像である場合を想定しており、時系列にフレームが切り替わる際、表示されるフレームの全天球画像５００と仮想物体とが合成される前に実行される。すなわち、以下のフローチャートの処理は、表示されるフレームが変わる度に、その表示する全天球画像５００に合成する仮想物体に対するレンダリングが行なわれる前に実行される。
【００３９】
ステップＳ１１：
背景画像変化検出部１４は、レンダリング部１３が仮想物体２００の三次元形状を全天球画像５００に対して合成する際、直前に使用したフレームに対し、現在使用するフレームとにおける全天球画像５００が異なっているか否かの判定を、全天球画像５００におけるピクセルのピクセル値を比較することにより行なう。
このとき、背景画像変化検出部１４は、直前に使用したフレームに対し、現在使用するフレームとにおける全天球画像５００が異なっている場合、処理をステップＳ１２へ進める。一方、背景画像変化検出部１４は、直前に使用したフレームに対し、現在使用するフレームとにおける全天球画像５００が異なっていない場合、処理をステップＳ１３へ進める。
【００４０】
ステップＳ１２：
照明画像削除部１５は、照明画像記憶部１８にすでに作成されて記憶されている照明画像（拡散反射用イラディアンスマップ及び鏡面反射用イラディアンスマップの各々）における全ての光源ピクセルの放射照度を削除する。そして、照明画像削除部１５は、処理をステップＳ１３へ進める。
【００４１】
ステップＳ１３：
更新ピクセル算出部１６は、視点位置１００の視線ベクトルと仮想物体２００とが交差する、仮想物体２００の全ての（あるいは拡散反射成分を有するポリゴンの）対象点の法線ベクトルを算出し、この算出した法線ベクトルをピクセル値とする法線ベクトル画像を求める。
【００４２】
ステップＳ１４：
そして、更新ピクセル算出部１６は、照度画像記憶部１８に記憶されている全天球画像５００にマッピングされた拡散反射用イラディアンスマップから、法線ベクトル画像における法線ベクトルと交差する全天球画像５００のピクセルの位置を検出して求める。これにより、更新ピクセル算出部１６は、全天球画像５００において検出したピクセルの位置に対応する光源ピクセルを、拡散反射用イラディアンスマップにおける放射照度を更新する更新拡散反射光源ピクセル（更新ピクセル）とする。例えば、更新ピクセル算出部１６は、拡散反射用イラディアンスマップにおける更新拡散反射光源ピクセルを、更新拡散反射光源ピクセルテーブルとして、一旦自身内の記憶部に書き込んで記憶させる。
【００４３】
ステップＳ１５：
更新ピクセル算出部１６は、視点位置１００の視線ベクトルと仮想物体２００とが交差する、仮想物体２００の全ての（あるいは拡散反射成分を有するポリゴンの）ピクセルにおいて、各対象点への視線ベクトルに対応する反射ベクトルを算出し、この算出した反射ベクトルをピクセル値とする反射ベクトル画像を求める。
【００４４】
ステップＳ１６：
そして、更新ピクセル算出部１６は、照度画像記憶部１８に記憶されている全天球画像５００にマッピングされた鏡面反射用イラディアンスマップから、反射ベクトル画像における反射ベクトルと交差する全天球画像５００のピクセルの位置を検出して求める。これにより、更新ピクセル算出部１６は、全天球画像５００において検出したピクセルの位置に対応する光源ピクセルを、鏡面反射用イラディアンスマップにおける放射照度を更新する更新鏡面反射光源ピクセル（更新ピクセル）とする。例えば、更新ピクセル算出部１６は、鏡面反射用イラディアンスマップにおける更新鏡面反射光源ピクセルを、更新鏡面反射光源ピクセルテーブルとして、一旦自身内の記憶部に書き込んで記憶させる。
【００４５】
ステップＳ１７：
放射照度算出部１２は、例えば、更新拡散反射光源ピクセルテーブルから、記載されている順番に更新拡散反射光源ピクセルを読み出し、照度画像記憶部１８の拡散反射用イラディアンスマップを参照し、更新拡散反射光源ピクセルの位置に対応する光源ピクセルが放射照度を有しているか否かの判定を行なう。このとき、放射照度算出部１２は、更新拡散反射光源ピクセルの位置に対応する光源ピクセルが放射照度を有している場合、処理をステップＳ１９へ進める。一方、放射照度算出部１２は、更新拡散反射光源ピクセルの位置に対応する光源ピクセルが放射照度を有していない場合、処理をステップＳ１８へ進める。
【００４６】
また、放射照度算出部１２は、更新拡散反射光源ピクセルテーブルにおける全ての更新拡散反射光源ピクセルに対し、放射照度のデータの有無を確認が終了した場合、更新鏡面反射光源ピクセルテーブルを参照する。
そして、放射照度算出部１２は、更新鏡面反射光源ピクセルテーブルから、記載されている順番に更新鏡面反射光源ピクセルを読み出し、照度画像記憶部１８の鏡面反射用イラディアンスマップを参照し、更新鏡面反射光源ピクセルの位置に対応する光源ピクセルが放射照度を有しているか否かの判定を行なう。このとき、放射照度算出部１２は、更新鏡面反射光源ピクセルの位置に対応する光源ピクセルが放射照度を有している場合、処理をステップＳ１９へ進める。一方、放射照度算出部１２は、更新鏡面反射光源ピクセルの位置に対応する光源ピクセルが放射照度を有していない場合、処理をステップＳ１８へ進める。
【００４７】
ステップＳ１８：
放射照度算出部１２は、更新拡散反射光源ピクセルまたは更新鏡面反射光源ピクセルの各々に対応する光源ピクセルの放射照度の算出を、それぞれ（１）式、（２）式を用いて行なう。
そして、放射照度算出部１２は、更新拡散反射光源ピクセルに対応して算出した光源ピクセルの放射照度を、照度画像記憶部１８の拡散反射用イラディアンスマップのこの光源ピクセルの放射照度として書き込んで記憶させる。また、放射照度算出部１２は、更新鏡面反射光源ピクセルに対応して算出した光源ピクセルの放射照度を、照度画像記憶部１８の鏡面反射用イラディアンスマップのこの光源ピクセルの放射照度として書き込んで記憶させる。
【００４８】
ステップＳ１９：
放射照度算出部１２は、更新拡散反射光源ピクセルテーブルにおける全ての更新拡散反射光源ピクセルと、更新鏡面反射光源ピクセルテーブルにおける全ての更新鏡面反射光源ピクセルとに対する処理が終了したか否かの判定を行なう。
すなわち、放射照度算出部１２は、更新拡散反射光源ピクセルテーブルに示された更新拡散反射光源ピクセルと、更新鏡面反射光源ピクセルテーブルに示された更新鏡面反射光源ピクセルとにおいて、未処理の更新ピクセルの有無の判定を行なう。このとき、放射照度算出部１２は、更新拡散反射光源ピクセルテーブル及び更新鏡面反射光源ピクセルにおいて、未処理の更新ピクセルが無い場合、このフローチャートの処理を終了する。一方、放射照度算出部１２は、更新拡散反射光源ピクセルテーブル及び更新鏡面反射光源ピクセルにおいて、未処理の更新ピクセルが有る場合、処理をステップＳ１７へ進める。
【００４９】
上述したように、本実施形態によれば、背景画像が動画像である場合のように、時系列に背景画像が変化した際、拡散反射用イラディアンスマップ及び鏡面反射用イラディアンスマップの各々における全ての光源ピクセルの放射照度を算出せず、仮想物体に対して映り込みをレンダリングする処理に必要な光源ピクセルを抽出し、この抽出した光源ピクセルの放射照度を算出するため、拡散反射用イラディアンスマップ及び鏡面反射用イラディアンスマップを更新する時間の短縮を可能とする。
これにより、本実施形態によれば、動画像のように時系列に表示されるフレーム毎に変化する背景画像に対し、三次元ＣＧにより生成した三次元形状の仮想物体を合成する場合、拡散反射用イラディアンスマップ及び鏡面反射用イラディアンスマップの各々の光源ピクセルの処理を可能とするために間引きして生成することなく、仮想物体に映り込む背景画像を、リアルタイムに高い精度で自然な存在感を得られるように仮想物体の表面にレンダリング（環境マッピング）することができる。
【００５０】
また、本実施形態において、拡散反射用イラディアンスマップ及び鏡面反射用イラディアンスマップの各々の照度画像を用いた例を示しているが、いずれか一方の照度画像のみを用いている場合、放射照度算出部１２は、使用している照度画像の光源ピクセルの放射照度を求める機能のみを備えている。
【００５１】
図５は、本実施形態による画像生成装置が行なう照明画像における放射照度を更新する他の処理の動作例を示すフローチャートである。
図４におけるフローチャートは、視線の位置が変更されていなくとも、ステップＳ１３以降のフローを実行していた。しかしながら、図５のフローチャートにおいては、ステップＳ１１の後段に、ステップＳ１２と並列に新たにステップＳ１１Ｓを設けている。以下、図５のフローチャートにおいて、図４のフローチャートと異なる動作のみ説明する。
【００５２】
ステップＳ１１：
背景画像変化検出部１４は、レンダリング部１３が仮想物体２００の三次元形状を全天球画像５００に対して合成する際、直前に使用したフレームに対し、現在使用するフレームとにおける全天球画像５００が異なっているか否かの判定を、全天球画像５００におけるピクセルのピクセル値を比較することにより行なう。
このとき、背景画像変化検出部１４は、直前に使用したフレームに対し、現在使用するフレームとにおける全天球画像５００が異なっている場合、処理をステップＳ１２へ進める。一方、背景画像変化検出部１４は、直前に使用したフレームに対し、現在使用するフレームとにおける全天球画像５００が異なっていない場合、処理をステップＳ１１Ｓへ進める。
【００５３】
ステップＳ１１Ｓ：
更新ピクセル算出部１６は、直前に使用したフレームと、使用するフレームとの全天球画像５００における視線ベクトルが変化したか否か、すなわち視点の位置（あるいは視線の方向）が変化したか否かの判定を行なう。このとき、更新ピクセル算出部１６は、全天球画像５００における視線ベクトルが変化した場合、処理をステップＳ１３へ進める。一方、更新ピクセル算出部１６は、全天球画像５００における視線ベクトルが変化しない場合、このフローの処理を終了する。
【００５４】
上述した図５のフローチャートに変更することにより、フレーム間において、背景画像である全天球画像５００が変化せず、かつ視線ベクトルが変化しない場合、その時点でフローの動作が終了するため、画像生成装置１のリソースを効率的に使用することができる。図５のフローチャートの他の処理は、図４のフローチャートの同一のステップと同様である。
【００５５】
図６は、本実施形態による画像生成装置が行なう照明画像における放射照度を更新する他の処理の動作例を示すフローチャートである。図４及び図５のフローチャートは、事前に全天球画像５００の各ピクセルのピクセル値に基づき、全ての光源ピクセルの放射照度を事前に計算して、拡散反射用イラディアンスマップ及び鏡面反射用イラディアンスマップの各々を生成して、照度画像記憶部１８に書き込んで記憶させて置き、変更の必要のある光源ピクセルを更新する処理を前提としていた。
【００５６】
しかしながら、図６のフローチャートは、事前に拡散反射用イラディアンスマップ及び鏡面反射用イラディアンスマップを作成せず、三次元ＣＧにより生成した三次元形状の仮想物体にレンダリングするために用いる光源ピクセルの放射照度を必要に応じて計算する構成となっている。
これにより、事前に拡散反射用イラディアンスマップ及び鏡面反射用イラディアンスマップを作成する必要がないため、レンダリングに必要な光源ピクセルの放射照度のみを算出するため、画像生成装置１の負荷を低減させることができる。以下の図６のフローチャートも、図４及び図５のフローチャートと同様に、表示されるフレームが変わる度に、その表示する全天球画像５００に合成する仮想物体に対するレンダリングが行なわれる前に実行される。
【００５７】
ステップＳ１１Ｂ：
背景画像変化検出部１４は、レンダリング部１３が仮想物体２００の三次元形状を全天球画像５００に対して合成する際、表示しようとするフレームに対し、現在使用する全天球画像５００が最初の背景画像であるか否かの判定を行なう。
このとき、背景画像変化検出部１４は、直前に使用したフレームに対し、現在使用する全天球画像５００が最初の背景画像である場合、処理をステップＳ１３へ進める。一方、背景画像変化検出部１４は、現在使用する全天球画像５００が最初の背景画像でない場合、処理をステップＳ１１へ進める。
図６のフローチャートの他の処理は、図４のフローチャートの同一のステップと同様である。
また、上述した各実施形態においては、背景画像を現実空間における時系列に変化する背景画像として説明したが、三次元ＣＧにより三次元空間でレンダリングされた三次元形状のＣＧ画像を背景画像とし、この三次元ＣＧ空間内において、擬似的に間接光を再現する構成としても良い。
【００５８】
なお、本発明における図３の画像生成装置１の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行することにより、全天球画像に対して合成する三次元ＣＧで生成した三次元形状の仮想物体に映り込む背景画像をレンダリングする際に用いる照度画像の生成及び更新する処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳ（Operating System）や周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷ（World Wide Web）システムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Read Only Memory）、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ（Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
【００５９】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００６０】
１…画像生成装置
１１…画像入力部
１２…放射照度算出部
１３…レンダリング部
１４…背景画像変化検出部
１５…照明画像削除部
１６…更新ピクセル算出部
１７…画像記憶部
１８…照度画像記憶部
【図１】
2018151694.tif 000005
【図２】
2018151694.tif 000006
【図３】
2018151694.tif 000007
【図４】
2018151694.tif 000008
【図５】
2018151694.tif 000009
【図６】
2018151694.tif 000010