(57)【特許請求の範囲】
【請求項１】
被表示物体に周囲の風景を映し込むための環境マッピングを行う３次元画像生成装置であって、
多面体の各面に投影された風景の画像データをテクセル毎に記憶する環境マップと、
被表示物体の各点毎に、環境マップ上の参照点を決定する参照点決定部と、
前記環境マップに記憶されている画像データを用いてバイリニア補間を行うことにより、決定された参照点についての画像データを演算する補間演算部と、
前記参照点が前記多面体の角部に対応するテクセル内に設定されることにより、前記バイリニア補間に使用できる前記環境マップ内の画像データの数が３つとなった場合に、前記バイリニア補間のために所定の画像データを追加するデータ追加部と、
を備えることを特徴とする３次元画像生成装置。
【請求項２】
前記データ追加部は、前記所定の画像データが設定されたテクセルを、前記参照点の決定されたテクセルの対角位置に挿入することで、バイリニア補間のためのデータの追加を行うことを特徴とする請求項１記載の３次元画像生成装置。
【請求項３】
前記データ追加部は、前記参照点が、前記多面体の角部に対応する３つのテクセルのうち何れのテクセル内に前記参照点が決定された場合も、前記所定の画像データを同じ値とすることを特徴とする請求項２記載の３次元画像生成装置。
【請求項４】
前記所定の画像データは、前記多面体の角部に対応する３つのテクセルに対して設定された３つの画像データの何れかであることを特徴とする請求項３記載の３次元画像生成装置。
【請求項５】
前記所定の画像データは、前記多面体の角部に対応する３つのテクセルに対して設定された３つの画像データの平均値であることを特徴とする請求項３記載の３次元画像生成装置。
【請求項６】
前記所定の画像データは、前記多面体の角部に対応する３つのテクセルに対して設定された３つの画像データの中央値であることを特徴とする請求項３記載の３次元画像生成装置。
【請求項７】
被表示物体に周囲の風景を映し込むための環境マッピングを伴う３次元画像生成方法であって、
３次元画像生成装置に、
多面体の各面に投影された風景の画像データをテクセル毎に記憶する環境マップ上で、被表示物体の各点に反映させるべき参照点を決定する参照点決定ステップと、
前記環境マップに記憶されている画像データを用いてバイリニア補間を行うことにより、決定された参照点についての画像データを演算する補間演算ステップと、
前記参照点が前記多面体の角部に対応するテクセル内に設定されることにより、前記バイリニア補間に使用できる前記環境マップ内の画像データの数が３つとなっているか否かを判定するコーナー判定ステップと、
前記バイリニア補間に使用できる画像データの数が３つであると判定された場合に、前記バイリニア補間のために所定の画像データを追加するデータ追加ステップと、
を実行させることを特徴とする３次元画像生成方法。
【請求項８】
前記データ追加ステップは、前記所定の画像データが設定されたテクセルを、前記参照点の決定されたテクセルの対角位置に挿入するサブステップを含むことを特徴とする請求項７記載の３次元画像生成方法。
【請求項９】
前記データ追加ステップは、前記参照点が、前記多面体の角部に対応する３つのテクセルのうち何れのテクセル内に前記参照点が決定された場合も、前記所定の画像データを同じ値とすることを特徴とする請求項８記載の３次元画像生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元画像生成装置お呼び次元画像生成方法に係り、特に、物体表面への環境の映り込みを表現するうえで好適な３次元画像生成装置および３次元画像生成方法に関する。
【０００２】
【従来の技術】
従来より、３次元画像の現実感を高める手法の一つとして、物体の表面に周囲環境を映り込ませる環境マッピングが知られている。環境マッピングを用いて３次元画像を生成する方法は、例えば、“Reflection Vector Shading Hardware"(Douglas Voorhies and Jim Foran: SIGGRAPH 94 Conference Proceedings, P163)に開示されている。
【０００３】
図４は、従来の環境マッピングの内容を説明するための概念図を示す。図４に示す如く、従来の環境マッピングは環境マップ１０を用いて行われる。環境マップ１０は、環境マップメモリに格納されており、所定の３次元空間中に想定される所定の立方体の各面に対応するメモリ領域を備えている。以下、それら各面に対応するメモリ領域を、便宜上「環境マップ１０の各面」と称す。
【０００４】
環境マップ１０の各面には、上述した立方体を取り巻く３次元空間中の風景（無限遠の遠景を含む）に関する画像データが、より具体的には、その風景を立方体の中心に向けて立方体の各面に投影することで得られる画像のデータが記憶されている。尚、画像データには、例えば、立方体上の各点における各色成分（Ｒ，Ｇ，Ｂ等）の輝度等が含まれている。
【０００５】
従来の環境マッピングにおいて、処理の対象である物体、すなわち、周囲の風景の映し込みの対象とされる物体（以下、「被表示物体１２」と称す）は、環境マップ１０に対応する立方体の中心に配置される。被表示物体１２については、その表面上の各点について法線ベクトル（図示せず）が定められている。尚、説明の便宜上、図４では被表示物体１２を大きく表しているが、環境マッピングの処理において、被表示物体１２は無限小であり、その表面上の全ての点が立方体の中心点に集約されているものとして扱われる。
【０００６】
被表示物体１２は、２次元的に配置された複数のピクセルを備える表示部（図示せず）に２次元画像として表示される。環境マッピングの処理はピクセル単位で行われる。以下、処理中の一つのピクセルを「着目ピクセル」と称し、また、ピクセルを「点」とみなす。環境マッピングの処理では、着目ピクセル毎に被表示物体１２に向かう視線１４が設定され、更に、視線１４と被表示物体１２とが交わる点が反射点１６として定義される。
【０００７】
反射点１６が設定されると、次に、その反射点１６の法線ベクトルに基づいてその点１６における視線１４の反射ベクトル１８が求められる。反射ベクトル１８は、反射点１６から着目ベクトルに向かう反射光を発生させる光と逆向きのベクトルである。従って、反射ベクトル１８の進行方向に存在する風景の色を着目ピクセルの色に反映させれば、反射点１６に風景が映し込まれているような表現を実現することができる。
【０００８】
環境マッピングの処理では、上記の如く求められた反射ベクトル１８と環境マップ１０との交点が参照点２０として決定され、その参照点２０の画像データ（各色成分の輝度等）が着目ピクセルの色に反映される。その結果、表示部には、周囲の環境を映す被表示物体１２が表示される。
【０００９】
次に、図５を参照して、環境マッピングによる表現性を高めるうえで有効なバイリニア補間について説明する。
図５は、環境マップ１０の一部を概念的に表す図を示す。図５において、実線で区分される４つの領域２２，２４，２６，２８は、環境マップ１０における画素（以下、便宜上「テクセル」と称す）を示す。また、図５中に一点鎖線で表される直線は、各テクセル２２，２４，２６，２８の中心線を示す。以下、それらの交点、すなわち、各テクセル２２，２４，２６，２８の中心を「テクセル中心３０，３２，３４，３６」と称す。
【００１０】
図５に示す例において、環境マップ１０には、テクセル２２，２４，２６，２８のそれぞれに対応してテクセル値ａ，ｂ，ｃ，ｄ（例えば、色成分の輝度）が記憶されている。テクセル値ａ，ｂ，ｃ，ｄは、テクセル中心３０，３２，３４，３６における画像データである。また、図５において、参照点２０は、テクセル中心３０からテクセル２４側に距離ｉだけ、かつ、テクセル２６側に距離ｊだけ偏った位置に設定されている。バイリニア補間は、このような状況下で、参照点２０の画像データＰをテクセル値ａ，ｂ，ｃ，ｄを用いて適正に算出するための処理である。
【００１１】
テクセル２２，２４，２６，２８が図５に示す如く単純な正方形である場合、以下に示すように、１次元の線形補間を３回実行することで、２次元の線形補間、すなわち、バイリニア補間を行うことができる。尚、次式において、ｐ１は、テクセル中心３０から距離ｊだけテクセル中心３４側に偏った位置における画像データであり、ｐ２は、テクセル中心３２から距離ｊだけテクセル中心３６側に偏った位置における画像データである。
【００１２】
ｐ１＝（１−ｊ）ａ＋ｊｃ                                    （１）
ｐ２＝（１−ｊ）ｂ＋ｊｄ                                    （２）
Ｐ＝（１−i）ｐ１＋ｉｐ２                                   （３）
【００１３】
上述したバイリニア補間によれば、テクセル中心３０，３２，３４，３６に囲まれる領域内に設定される参照点２０の画像データＰを、その参照点２０の位置に応じて、連続的に変化させることができる。このように、バイリニア補間を行うことによれば、環境マップ１０のテクセル毎に、テクセル中心に対応する１つのテクセル値を設定するだけで、テクセル中心から外れる参照点２０に対しても適正な画像データＰを設定することができる。従って、環境マッピングの処理にバイリニア補間を組み合わせることによれば、環境マップ１０の容量を抑制しつつ周囲環境の映し込みに関して良好な表現性を得ることができる。
【００１４】
ところで、ｘ，ｙ平面上に設定される値Ｐがｘおよびｙに対して線形に変化する場合、以下に示す関係が一般に成立する。
Ｐ＝αｘ＋βｙ＋γｘｙ＋δ                                  （４）
【００１５】
上記の関係式における定数α、β、γおよびδは、４組の（ｘ、ｙ）についてのＰが既知であれば、それらの関係に基づいて求めることができる。従って、図５に示す例において、それらの定数は、４つのテクセル中心３０，３２，３４，３６における画像データａ，ｂ，ｃ，ｄを用いて求めることができる。バイリニア補間による画像データＰの演算は、このような手法で求めた一般式を用いて行うこともできる。
【００１６】
【発明が解決しようとする課題】
上述の如く、環境マッピングの処理にバイリニア補間を組み合わせることによれば、被表示物体１２の表面に精度良く周囲の環境を映し込ませることができる。しかしながら、上述したバイリニア補間を実行するためには、参照点２０の周囲に４つのテクセル中心が存在すること、すなわち、バイリニア補間の基礎となるテクセル値が４つ存在することが必要である。
【００１７】
ところが、環境マップ１０に対応する立方体の角部には３つのテクセルが互いに接触し合う部分が存在するため、参照点２０がその立方体の角部に設定された場合は、参照点２０の周囲にテクセル中心が３つしか存在しない事態が生じ得る。このため、従来の環境マッピングにおいては、環境マップ１０の角部に対応する画像が被表示物体１２に映し込まれる場合に、部分的に色が不連続となる等の問題が生ずる可能性があった。
【００１８】
本発明は、上記のような課題を解決するためになされたもので、環境マップの角部に対応する画像データが用いられる場合にも、被表示物体の表面に自然な画像を映し込むことのできる３次元画像生成装置を提供することを第１の目的とする。
【００１９】
また、本発明は、環境マップの角部に対応する画像データが用いられる場合にも、被表示物体の表面に自然な画像を映し込むことのできる３次元画像生成方法を提供することを第２の目的とする。
【００２０】
【課題を解決するための手段】
上記第１の目的を達成するために、請求項１記載の発明は、被表示物体に周囲の風景を映し込むための環境マッピングを行う３次元画像生成装置であって、
多面体の各面に投影された風景の画像データをテクセル毎に記憶する環境マップと、
被表示物体の各点毎に、環境マップ上の参照点を決定する参照点決定部と、
前記環境マップに記憶されている画像データを用いてバイリニア補間を行うことにより、決定された参照点についての画像データを演算する補間演算部と、
前記参照点が前記多面体の角部に対応するテクセル内に設定されることにより、前記バイリニア補間に使用できる前記環境マップ内の画像データの数が３つとなった場合に、前記バイリニア補間のために所定の画像データを追加するデータ追加部と、
を備えるている。
【００２１】
また、請求項２記載の発明は、請求項１記載の３次元画像生成装置であって、前記データ追加部は、前記所定の画像データが設定されたテクセルを、前記参照点の決定されたテクセルの対角位置に挿入することで、バイリニア補間のためのデータの追加を行う。
【００２２】
また、請求項３記載の発明は、請求項２記載の３次元画像生成装置であって、前記データ追加部は、前記参照点が、前記多面体の角部に対応する３つのテクセルのうち何れのテクセル内に前記参照点が決定された場合も、前記所定の画像データを同じ値とする。
【００２３】
また、請求項４記載の発明は、請求項３記載の３次元画像生成装置であって、前記所定の画像データは、前記多面体の角部に対応する３つのテクセルに対して設定された３つの画像データの何れかに設定される。
【００２４】
また、請求項５記載の発明は、請求項３記載の３次元画像生成装置であって、前記所定の画像データは、前記多面体の角部に対応する３つのテクセルに対して設定された３つの画像データの平均値に設定される。
【００２５】
また、請求項６記載の発明は、請求項３記載の３次元画像生成装置であって、前記所定の画像データは、前記多面体の角部に対応する３つのテクセルに対して設定された３つの画像データの中央値に設定される。
【００２６】
また、上記第２の目的を達成するため、請求項７記載の発明は、被表示物体に周囲の風景を映し込むための環境マッピングを伴う３次元画像生成方法であって、
３次元画像生成装置に、
多面体の各面に投影された風景の画像データをテクセル毎に記憶する環境マップ上で、被表示物体の各点に反映させるべき参照点を決定する参照点決定ステップと、
前記環境マップに記憶されている画像データを用いてバイリニア補間を行うことにより、決定された参照点についての画像データを演算する補間演算ステップと、
前記参照点が前記多面体の角部に対応するテクセル内に設定されることにより、前記バイリニア補間に使用できる前記環境マップ内の画像データの数が３つとなっているか否かを判定するコーナー判定ステップと、
前記バイリニア補間に使用できる画像データの数が３つであると判定された場合に、前記バイリニア補間のために所定の画像データを追加するデータ追加ステップと、
を実行させる。
【００２７】
また、請求項８記載の発明は、請求項７記載の３次元画像生成方法であって、前記データ追加ステップは、前記所定の画像データが設定されたテクセルを、前記参照点の決定されたテクセルの対角位置に挿入するサブステップを含んでいる。
【００２８】
また、請求項９記載の発明は、請求項８記載の３次元画像生成方法であって、前記データ追加ステップは、前記参照点が、前記多面体の角部に対応する３つのテクセルのうち何れのテクセル内に前記参照点が決定された場合も、前記所定の画像データを同じ値とする。
【００２９】
【発明の実施の形態】
以下、図１および図２を参照して、本発明の実施の形態について説明する。
図１は、本発明の実施の形態１の３次元画像生成装置のブロック図を示す。図１に示す如く、本実施形態の３次元画像生成装置は、ジオメトリ部４０、レンダリング部４２、メモリ部４４および表示部４６を備えている。
【００３０】
ジオメトリ部４２は、表示すべき３次元画像のデータを生成する処理や、生成した３次元画像のデータを２次元のデータに変換して出力する処理等を実行する部分である。
【００３１】
レンダリング部４２は、３次元画像を表示部４６に描画するために必要な種々の処理を実行する部分である。レンダリング部４２における処理は、ジオメトリ部４２から供給されるデータや、メモリ部４６に格納されている各種のデータ等に基づいて実行される。
【００３２】
メモリ部４４は、レンダリング部４２の処理の実行に必要な情報を記憶しておくための領域である。本実施形態において、メモリ部４４には、３次元画像を構成するポリゴンの奥行き情報を記憶するＺバッファ（図示せず）や、３次元画像に用いられるテクスチャに関するデータを記憶するテクスチャメモリ（図示せず）と共に、環境マッピングの処理に必要な環境マップを格納するキューブメモリ４８が含まれている。
【００３３】
図２（Ａ０）は、キューブメモリ４８に格納される環境マップ１０の概念図を示す。環境マップ１０は、従来の環境マッピングで用いられるものと同様に構成されている。すなわち、環境マップ１０は、所定の立方体の各面に対応するメモリ領域を備えており、それらのメモリ領域（環境マップ１０の各面）には、立方体の各面に投影された風景の画像データ（各色成分の輝度や、不透明度を表すオパシティ等）が記憶されている。
【００３４】
表示部４４は、２次元的に配置された複数のピクセルのそれぞれを適当に発色させることによりに３次元画像を表示する部分である。本実施形態において、表示部４４は、レンダリング部４２からピクセル毎の描画データが供給されることにより３次元画像を表示する。
【００３５】
次に、本実施形態の３次元生成装置の特徴部について説明する。本実施形態において、レンダリング部５６は、被表示物体の表面に周囲環境を映し込ませる処理、すなわち、環境マッピングを行う。レンダリング部４２には、環境マッピングの実行を可能とするため、参照点決定部５０、コーナー判定部５２、テクセル追加部５４および補間演算部５６が設けられている。
【００３６】
参照点決定部５０は、従来の環境マッピングの場合と同様の手法で、表示部４６上の着目ピクセル毎に環境マップ１０上の参照点２０を設定する（図４参照）。具体的には、環境マップ１０に対応する立方体の中心に被表示物体１２を仮想的に配置し、被表示物体１２を表示する着目ピクセル毎に視線１４および視線の反射ベクトル１８を求め、その反射ベクトル１８と環境マップ１０との交点を参照点２０とする。
【００３７】
コーナー判定部５２は、参照点決定部５０によって決定された参照点２０が環境マップ１０の角部に位置するか否かを判定する。本実施形態において、環境マップ１０の各面は、従来の環境マッピングの場合と同様に個々のテクセルに区分されており、環境マップ１０には、個々のテクセルの中心における画像データがテクセル値として記憶されている。
【００３８】
図２（Ａ１）、図２（Ｂ１）、および図２（Ｃ１）は、環境マップ１０の角部に位置する３つのテクセルを概念的に表す図を示す。以下、それらのテクセルの中心を「テクセル中心６４，６６，６８」と称し、また、それらのテクセル値をａ，ｂ，ｃで表す。また、テクセル中心６４，６６，６８を通る中心線のように、環境マップ１０の最も角部に近い位置に引かれる中心線を「角部テクセル中心線」と称す。尚、テクセル値ａ，ｂ，ｃは、テクセル中心６４，６６，６８における画像データ（各色成分の輝度等）に相当する値である。
【００３９】
図２（Ａ１）は、参照点２０が、テクセル中心６４を通る２本の角部テクセル中心線より角部側に設定された状態を示す。図２（Ｂ１）は、参照点２０が、テクセル中心６６を通る２本の角部テクセル中心線より角部側に設定された状態を示す。また、図２（Ｃ１）は、参照点２０が、テクセル中心６８を通る２本の角部テクセル中心線より角部側に設定された状態を示す。以下、それらの中心線のように、環境マップ１０の角部に配置されるこれら３つの状態において、参照点２０の周囲には、テクセル中心が３つしか存在していない。
【００４０】
上述したコーナー判定部５２は、これらの状態のように、参照点２０が、角部テクセル中心線より更に角部側に設定された場合に、その参照点２０が環境マップ１０の角部に位置すると判定する。そして、参照点２０が、角部テクセル中心線より内側に設定された場合に、その参照点２０は環境マップ１０の角部に位置しないと判定する。
【００４１】
テクセル追加部５４は、コーナー判定部５２によって参照点２０が環境マップ１０の角部に位置すると判定された場合に、高精度なバイリニア補間を可能とするため、環境マップ１０に仮想的にテクセルを追加する部分である。図２（Ａ２）、図２（Ｂ２）および図２（Ｃ２）は、それぞれの状況に応じて、テクセル追加部５４によって、環境マップ１０に仮想的にテクセル７０，７２または７４が追加された状態を示す。
【００４２】
テクセル追加部５４は、具体的には、参照点２０がテクセル５８の角部に設定されている場合（図２（Ａ１）の場合）は、図２（Ａ２）に示す如く、テクセル６０と６２との間に、すなわち、テクセル５８の対角に位置する部位に、テクセル値Ｉａを有するテクセル７０を挿入する。同様に、テクセル追加部５４は、参照点２０がテクセル６０の角部に設定されている場合（図２（Ｂ１）の場合）は、そのテクセル６０の対角に位置する部位に、また、参照点２０がテクセル６２の角部に設定されている場合（図２（Ｃ１）の場合）は、そのテクセル６２の対角に位置する部位に、それぞれテクセル値ＩｂまたはＩｃを有するテクセル７２，７４を挿入する。
【００４３】
本実施形態において、テクセル追加部５４によって追加されるテクセル７０，７２，７４に与えられているテクセル値Ｉａ，Ｉｂ，Ｉｃは、全て同一の値に設定されている。より具体的には、それらのテクセル値Ｉａ，Ｉｂ，Ｉｃは、例えば、（１）角部のテクセル５８，６０，６２に与えられているテクセル値ａ，ｂ，ｃの何れか、（２）それらのテクセル値の平均値、または、（３）それらのテクセル値の中央値（最大値と最小値の平均値）の何れかに統一されている。本実施形態において、それらのテクセル値（Ｉａ＝Ｉｂ＝Ｉｃ）は、環境マップ１０の角部に設定された参照点２０の画像データＰを求めるためのバイリニア補間の基礎データとされる。
【００４４】
補間演算部５６は、環境マップ１０に記憶されているテクセル値、およびテクセル追加部５４により追加されるテクセルのテクセル値に基づいて、参照点２０の画像データＰを求めるためのバイリニア補間を行う部分である。
【００４５】
参照点２０が環境マップ１０の角部以外の部位に設定された場合は、その参照点２０の周囲に４つのテクセル中心が存在する。この場合、補間演算部５６は、従来の環境マッピングの場合と同様に、それら４つのテクセル中心のそれぞれに対応するテクセル値を環境マップ１０から読み出し、それらのテクセル値を用いてバイリニア補間を実行することにより（上記（１）式〜（３）式、および図５参照）、参照点２０の画像データＰを求める。
【００４６】
参照点２０が環境マップ１０の角部に設定された場合は、その参照点２０の周囲にテクセル中心は３つしか存在しない。この場合、補間演算部５６は、それら３つのテクセル中心のそれぞれに対応するテクセル値と、上記の如くテクセル追加部５４により追加されるテクセル値（Ｉａ＝Ｉｂ＝Ｉｃ）とに基づいてバイリニア補間を実行して参照点２０の画像データＰを求める。
【００４７】
上述の如く、本実施形態の３次元画像生成装置によれば、参照点２０が環境マップ１０の角部に設定された場合にも、参照点２０が環境マップ１０の角部以外の部分に設定された場合と同様に、４つのテクセル値を用いたバイリニア補間によりその参照点２０の画像データＰを求めることができる。このため、本実施形態の装置によれば、参照点２０の設定位置に関わらず、常に同じバイリニア補間の手法で参照点２０の画像データＰを求めることができる。
【００４８】
また、本実施形態において、参照点２０が環境マップ１０の角部に設定された場合は、仮想的に追加されるテクセルが、上記の如く、参照点２０の存在するテクセルの対角に位置する部分に挿入される。追加するテクセルをこのように挿入することによれば、参照点２０の存在するテクセル（図２（Ａ２）におけるテクセル５８）と、そのテクセルに隣接する環境マップ１０上の２つのテクセル（図２（Ａ２）におけるテクセル６０および６２）との連続性を維持することができる。
【００４９】
このような連続性が維持されていると、参照点２０の画像データＰは、参照点２０の位置に応じて自然な変化を示す。具体的には、例えば図２（Ａ２）の場合において、参照点２０の画像データＰは、参照点２０の位置が図示の位置からテクセル中心６６の方向にずれるに従ってテクセル値ｂの影響を大きく受けるようになり、また、参照点２０の位置が図示の位置からテクセル中心６８の方向にずれるに従ってテクセル値ｃの影響を大きく受けるようになる。参照点２０の移動に伴うこのような変化は、画像データＰにとって自然な変化である。従って、本実施形態の３次元画像生成装置によれば、環境マップ１０の角部付近に設定された参照点２０の画像データＰを、バイリニア補間により自然な値とすることができる。
【００５０】
本実施形態の装置において実行される環境マッピングにおいては、表示部４６上のあるピクセルに対応する参照点２０と、そのピクセルに隣接するピクセルに対応する参照点２０とが、環境マップ１０上の異なるテクセルに設定されることがある。具体的には、あるピクセルに対する参照点２０がテクセル５８上の、テクセル６０との境界線の近傍に設定され、かつ、そのピクセルに隣接するピクセルに対する参照点２０がテクセル６０上の、テクセル５８との境界線の近傍に設定されることがある。
【００５１】
図３（Ａ）は、上述した具体例の前者の場合に設定される状態、すなわち、参照点２０がテクセル５８上の境界近傍に位置する場合に設定される状態を示す。この場合、図３（Ａ）に示す如く、画像データＰを求めるためにテクセル６０と６２との間に仮想的にテクセル７０が挿入される。また、図３（Ｂ）は、上述した具体例の後者の場合に設定される状態、すなわち、参照点２０がテクセル６０上の境界付近に位置する場合に設定される状態を示す。この場合、図３（Ｂ）に示す如く、画像データＰを求めるためにテクセル５８と６２との間に仮想的にテクセル７２が挿入される。
【００５２】
被表示物体に映し込まれる風景を自然な状態とするためには、隣接する２つのピクセルに反映される画像データＰの値が大きく異ならないことが必要である。つまり、被表示物体に映し込まれる風景を自然な状態とするためには、あるピクセルに対する参照点２０が図３（Ａ）に示す如くテクセル５８上に位置し、かつ、そのピクセルに隣接するピクセルに対する参照点２０が図３（Ｂ）に示す如くテクセル６０上に位置しても、それら２つのピクセルに反映される画像データＰに大きな差が現れないことが必要である。従って、環境マッピングによって自然な表現を得るためには、環境マップ１０に対して図３（Ａ）に示す如くテクセル７０が追加されても、或いは図３（Ｂ）に示す如くテクセル７２が追加されても、参照点２０の画像データＰに大きな変化が生じないことが必要である。
【００５３】
図３（Ａ）に示す状態において、画像データＰは、（１）テクセル値ａとｂの線形補間を実行し、（２）テクセル値ｃとＩａの線形補間を実行し、更に（３）それらの処理で得られた２つの値の線形補間を実行することで求めることができる。上記の処理により得られる画像データＰは、次式の如く表すことができる。
Ｐ＝（１−ｉ）｛（ａ＋ｂ）／２｝＋ｉ｛（ｃ＋Ｉａ）／２｝      （５）
【００５４】
図３（Ｂ）に示す状態において、画像データＰは、（１）テクセル値ａとｂの線形補間を実行し、（２）テクセル値Ｉｂとｃの線形補間を実行し、更に（３）それらの処理で得られた２つの値の線形補間を実行することで求めることができる。上記の処理により得られる画像データＰは、次式の如く表すことができる。
Ｐ＝（１−ｉ）｛（ａ＋ｂ）／２｝＋ｉ｛（Ｉｂ＋ｃ）／２｝      （６）
【００５５】
本実施形態においては、上記の如くＩａ＝Ｉｂ＝Ｉｃが成立しているため、（５）式で求まる画像データＰと、（６）式で求まる画像データＰとは同じ値となる。従って、本実施形態の装置によって求められる画像データＰは、テクセルの挿入状態が図３（Ａ）に示す状態と図３（Ｂ）に示す状態との間で変化しても、その変化に起因して変化することはない。
【００５６】
参照点２０の画像データＰは、その参照点２０がテクセル５８とテクセル６２との境界上付近に存在する場合、或いは、その参照点２０がテクセル６０とテクセル６２との境界上付近に存在する場合にも、何れのテクセル上に存在するか否かに関わらずほぼ同じ値となる。従って、本実施形態の３次元画像生成装置によれば、被表示物体の表面に、環境マップ１０の角部に位置するテクセルの境界付近に記憶されている風景を映し込む必要がある場合に、その風景を自然な状態で表現することができる。
【００５７】
更に、本実施形態の装置において、追加される画像データＩａ＝Ｉｂ＝Ｉｃは、上記の如く、角部のテクセル５８，６０，６２に与えられているテクセル値ａ，ｂ，ｃに基づいて、それらの値と大きく異ならない値に決定される。このため、本実施形態の装置によれば、便宜的にＩａ＝Ｉｂ＝Ｉｃを加えてバイリニア補間を行っているにも関わらず、角部の参照点２０に対する画像データＰを十分に自然な値とすることができる。
【００５８】
ところで、本実施形態の装置において、レンダリング部４２は、３次元画像の生成速度を高めるためにハードウェアで構成されている。しかしながら、本発明はこれに限定されるものではなく、例えばリアルタイムに３次元画像を表示する必要がないような場合には、ソフトウェアを利用してレンダリング部４２を実現することとしてもよい。
【００５９】
また、上記の実施形態においては、環境マップ１０を所定の立方体に対応させることとしているが、本発明はこれに限定されるものではなく、環境マップ１０は、３つのテクセルが接触し合う角部を有する多面体に対応していればよい。
【００６０】
尚、上記の実施形態においては、コーナー判定部５２およびテクセル追加部５４が、前記請求項１記載の「データ追加部」に相当している。
【００６１】
【発明の効果】
請求項１または７記載の発明によれば、バイリニア補間に利用可能な画像データが環境マップ中に３つしか存在しない場合に、４つ目の画像データを補充してバイリニア補間を行うことができる。このため、本発明によれば、環境マッピングの過程で、環境マップに対応する多面体の角部付近に参照点が設定された場合にも、参照点が角部以外の部位に設定された場合と同様の手法で、バイリニア補間により適切に画像データを求めることができる。
【００６２】
請求項２または８記載の発明によれば、参照点の設定されたテクセルの対角に位置する部位にテクセルを挿入することで、バイリニア補間の処理に必要な４つ目の画像データを補充することができる。このような補充方法によれば、参照点が設定されたテクセルと、そのテクセルに隣接するものとして予め環境マップに定められている２つのテクセルとの連続性を損なうことなく４つ目の画像データを補充することができる。このため、本発明によれば、バイリニア補間を行うためにデータの補充を行っているにも関わらず、参照点の画像データを自然な値とすることができる。
【００６３】
請求項３または９記載の発明によれば、環境マップに対応する多面体の角部に位置する３つのテクセルの何れの中に参照点が設定される場合も、バイリニア補間のための４つ目のデータとして同じ画像データが補充される。この場合、２つの参照点がテクセルを跨いで設定されている場合でも、それら２つの参照点に対して求められる画像データに大きな変化が生じない。このため、本発明によれば、環境マップの角部が参照される場合でも、常に自然な風景を被表示物体に映し込ませることができる。
【００６４】
請求項４記載の発明によれば、多面体の角部に対応する３つの画像データの何れかが、バイリニア補間に必要な４つ目の画像データとして補充される。このため、本発明によれば、補充された画像データが参照点の画像データに与える影響を抑制することができる。
【００６５】
請求項５記載の発明によれば、多面体の角部に対応する３つの画像データの平均値が、バイリニア補間に必要な４つ目の画像データとして補充される。このため、本発明によれば、補充された画像データが参照点の画像データに与える影響を抑制することができる。
【００６６】
請求項６記載の発明によれば、多面体の角部に対応する３つの画像データの中央値が、バイリニア補間に必要な４つ目の画像データとして補充される。このため、本発明によれば、補充された画像データが参照点の画像データに与える影響を抑制することができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１の３次元画像生成装置のブロック図である。
【図２】  図１に示す３次元画像生成装置の動作を説明するための図である。
【図３】  図１に示す３次元画像生成装置の効果の一部を説明するための図である。
【図４】  環境マッピングの原理を説明するための図である。
【図５】  バイリニア補間の原理を説明するための図である。
【符号の説明】
１０  環境マップ
１２  被表示物体
１４  視線
１６  反射点
１８  視線の反射ベクトル
２０  参照点
２２，２４，２６，２８；５８，６０，６２  テクセル
３０，３２，３４，３６；６４，６６，６８  テクセル中心
ａ，ｂ，ｃ，ｄ；Ｉａ，Ｉｂ，Ｉｃ  テクセル値
４２  レンダリング部
４４  メモリ部
４６  表示部
４８  キューブメモリ
５０  参照点決定部
５２  コーナー判定部
５４  テクセル追加部
５６  補間演算部
７０，７２，７４  追加用テクセル
【図１】
0004297557.tif 000002
【図２】
0004297557.tif 000003
【図３】
0004297557.tif 000004
【図４】
0004297557.tif 000005
【図５】
0004297557.tif 000006