(57)【特許請求の範囲】
【請求項１】
パッチからモデルの表面までの距離を所定の分解能でサンプリングして得られた距離データからなる距離画像を、前記パッチに対応させ、前記距離データに基づいて、前記モデルに対応するスクリーン座標上の画素を移動させることによりレンダリングを行う画像作成装置において、
各パッチに対して複数の異なる分解能の前記距離画像を対応させる、前記距離画像に基づいた多重分解能モデルを作成する作成手段と、
前記作成手段により作成された前記多重分解能モデルの、処理対象のパッチに対応する複数の異なる分解能の前記距離画像の中から、前記処理対象のパッチのテクスチャ座標上の画素が前記スクリーン座標上に投影される大きさに基づいて求められた分解能に対応する複数の異なる分解能の前記距離画像を選択する選択手段と、
前記選択手段により選択された複数の異なる分解能の前記距離画像を補間し、所定の分解能の距離画像を生成する補間手段と
を備えることを特徴とする画像作成装置。
【請求項２】
前記作成手段は、複数の分解能の前記距離画像を、所定の分解能の前記距離画像をフィルタリング処理することにより作成し、前記パッチに対応させることにより、前記多重分解能モデルを作成する
ことを特徴とする請求項１に記載の画像作成装置。
【請求項３】
前記作成手段は、複数の異なる分解能の前記距離画像を、前記モデルに対応するモデルデータに対して、前記モデルを近似するパッチからの距離を異なる分解能でサンプリングすることにより作成し、前記パッチに対応させることにより、前記多重分解能モデルを作成する
ことを特徴とする請求項１に記載の画像作成装置。
【請求項４】
前記作成手段は、前記モデルの全ての表面を異なる分解能でサンプリングした距離画像を用いて前記多重分解能モデルを作成する
ことを特徴とする請求項１に記載の画像作成装置。
【請求項５】
前記パッチ上の位置によって、画素分解能の範囲が異なる前記距離画像により前記モデルの表面が覆われる
ことを特徴とする請求項１に記載の画像作成装置。
【請求項６】
前記距離画像は、前記距離データと、前記モデル表面の状態を所定の分解能、または多重分解能で表す情報から構成される
ことを特徴とする請求項１に記載の画像作成装置。
【請求項７】
前記情報は、少なくとも前記モデルの表面の色を表すデータと、前記モデルの表面の法線を表すデータと、前記モデルの有無を表すデータを含む
ことを特徴とする請求項６に記載の画像作成装置。
【請求項８】
パッチからモデルの表面までの距離を所定の分解能でサンプリングして得られた距離データからなる距離画像を、前記パッチに対応させ、前記距離データに基づいて、前記モデルに対応するスクリーン座標上の画素を移動させることによりレンダリングを行う画像作成方法において、
各パッチに対して複数の異なる分解能の前記距離画像を対応させる、前記距離画像に基づいた多重分解能モデルを作成し、
作成された前記多重分解能モデルの、処理対象のパッチに対応する複数の異なる分解能の前記距離画像の中から、前記処理対象のパッチのテクスチャ座標上の画素が前記スクリーン座標上に投影される大きさに基づいて求められた分解能に対応する複数の異なる分解能の前記距離画像を選択し、
選択された複数の異なる分解能の前記距離画像を補間し、所定の分解能の距離画像を生成する
ことを特徴とする画像作成方法。
【請求項９】
複数の分解能の前記距離画像を、所定の分解能の前記距離画像をフィルタリング処理することにより作成し、前記パッチに対応させることにより、前記多重分解能モデルを作成する
ことを特徴とする請求項８に記載の画像作成方法。
【請求項１０】
複数の異なる分解能の前記距離画像を、前記モデルに対応するモデルデータに対して、前記モデルを近似するパッチからの距離を異なる分解能でサンプリングすることにより作成し、前記パッチに対応させることにより、前記多重分解能モデルを作成する
ことを特徴とする請求項８に記載の画像作成方法。
【請求項１１】
前記モデルの全ての表面を異なる分解能でサンプリングした距離画像を用いて前記多重分解能モデルを作成する
ことを特徴とする請求項８に記載の画像作成方法。
【請求項１２】
前記パッチ上の位置によって、画素分解能の範囲が異なる前記距離画像により前記モデルの表面が覆われる
ことを特徴とする請求項８に記載の画像作成方法。
【請求項１３】
前記距離画像は、前記距離データと、前記モデル表面の状態を所定の分解能、または多重分解能で表す情報から構成される
ことを特徴とする請求項８に記載の画像作成方法。
【請求項１４】
前記情報は、少なくとも前記モデルの表面の色を表すデータと、前記モデルの表面の法線を表すデータと、前記モデルの有無を表すデータを含む
ことを特徴とする請求項１３に記載の画像作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像作成装置および方法に関し、例えば、電子的な映像生成、コンピュータグラフィクス、またはＣＡＤなどにおいて、形状を表現するための所定の構造のモデリングデータを作成し、表示する場合に用いて好適な画像作成装置および方法に関する。
【０００２】
【従来の技術】
近年、コンピュータグラフィクス、特にレンダリングの分野においては、適正な分解能のデータを使うことが重要とされている。これは、レンダリングにおいて、分解能の高すぎる形状を表すデータをサンプリングして用いた場合、強いエリアシングが現れるためである。その一方で、レンダリングにおいて低すぎる分解能のデータを使用した場合、レンダリング結果としての画像の分解能もまた低下する。
【０００３】
このため、レンダリング時に常に適切な分解能のデータを選ぶか、または適切な分解能のデータに補間して使えるよう、モデルデータを多重分解能表現によって作成することが行われている。このような多重分解能表現のモデルデータを作成するための方法として、従来、例えばリンク構造が分解能によって変化する多角形モデルが使われている。
【０００４】
このようなモデルにおいては、多角形を構成する辺の挿入や削除、およびそれに伴う頂点の移動などによって、モデル分解能を変化させるようにしている。
【０００５】
【発明が解決しようとする課題】
しかしながら、多角形を構成する辺の挿入や削除によって分解能を変化させるモデルは、３次元の形状に対応したリスト構造に加え、分解能の変化を追跡するリスト構造をとるため、データ構造が複雑であること、また、必要な分解能のモデルをすべて探索するためには多大な探索コストを要することなどの課題があった。
【０００６】
これらの課題を解決するため、簡易なアルゴリズムで、簡単なデータ構造による多重分解能モデルを作成することが可能な方法が望まれていた。さらに、辺の挿入や削除によって分解能を変化させるモデルは、分解能を変化させたときにモデルの形状変化に不連続性が生じるため、モデルの場所によって連続的に分解能が異なるようにするなどの処理が困難である課題があった。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、分解能の変化に応じてデータの挿入や削除の必要のない、簡単なデータ構造の多重分解能モデルデータを簡易なアルゴリズムで作成することができるようにし、さらに、常に適切な分解能のモデルを補間によって求めることにより、多重分解能モデルデータからモデルエリアシングの少ない品質の良いレンダリング結果を得ることができるようにするものである。
【０００８】
【課題を解決するための手段】
請求項１に記載の画像作成装置は、各パッチに対して複数の異なる分解能の距離画像を対応させる、距離画像に基づいた多重分解能モデルを作成する作成手段と、作成手段により作成された多重分解能モデルの、処理対象のパッチに対応する複数の異なる分解能の距離画像の中から、処理対象のパッチのテクスチャ座標上の画素がスクリーン座標上に投影される大きさに基づいて求められた分解能に対応する複数の異なる分解能の距離画像を選択する選択手段と、選択手段により選択された複数の異なる分解能の距離画像を補間し、所定の分解能の距離画像を生成する補間手段とを備えることを特徴とする。
【０００９】
請求項８に記載の画像作成方法は、各パッチに対して複数の異なる分解能の距離画像を対応させる、距離画像に基づいた多重分解能モデルを作成し、作成された多重分解能モデルの、処理対象のパッチに対応する複数の異なる分解能の距離画像の中から、処理対象のパッチのテクスチャ座標上の画素がスクリーン座標上に投影される大きさに基づいて求められた分解能に対応する複数の異なる分解能の距離画像を選択し、選択された複数の異なる分解能の距離画像を補間し、所定の分解能の距離画像を生成することを特徴とする。
【００１０】
請求項１に記載の画像作成装置においては、作成手段により、各パッチに対して複数の異なる分解能の距離画像を対応させる、距離画像に基づいた多重分解能モデルが作成され、選択手段により、作成手段により作成された多重分解能モデルの、処理対象のパッチに対応する複数の異なる分解能の距離画像の中から、処理対象のパッチのテクスチャ座標上の画素がスクリーン座標上に投影される大きさに基づいて求められた分解能に対応する複数の異なる分解能の距離画像が選択され、補間手段により、選択手段により選択された複数の異なる分解能の距離画像が補間され、所定の分解能の距離画像が生成される。従って、分解能の異なる距離画像を同一のデータ構造にするとともに、モデルエリアシングを抑制することができる。
【００１１】
請求項８に記載の画像作成方法においては、各パッチに対して複数の異なる分解能の距離画像を対応させる、距離画像に基づいた多重分解能モデルが作成され、作成された多重分解能モデルの、処理対象のパッチに対応する複数の異なる分解能の距離画像の中から、処理対象のパッチのテクスチャ座標上の画素がスクリーン座標上に投影される大きさに基づいて求められた分解能に対応する複数の異なる分解能の距離画像が選択され、選択された複数の異なる分解能の距離画像が補間され、所定の分解能の距離画像が生成される。従って、分解能の異なる距離画像を同一のデータ構造にするとともに、モデルエリアシングを抑制することができる。
【００１２】
【発明の実施の形態】
図１は、本発明の画像作成装置における、距離画像の組合せから成るモデルの多重分解能モデルへの変換方法を示している。モデル変換の対象となる入力モデル３１は、概略パッチ群３０５と、概略パッチ群３０５とオリジナルモデルの距離的な差分を表す距離画像を含むテクスチャ画像３７から成る。本実施例では、まず、距離画像に基づいて、入力モデル３１のテクスチャ画像３７に対して、フィルタリング処理が適用されることにより、ミップマップテクスチャ画像３７ｍに変換される。
【００１３】
すなわち、フィルタリング処理により、テクスチャ画像３７より、分解能がその２分の１のテクスチャ画像３７が生成され、さらに、分解能がその２分の１のテクスチャ画像３７が生成される。その結果、この場合、３つの分解能のテクスチャ画像３７と、概略パッチ群３０５からなるミップマップモデル３１ｍが生成される。
【００１４】
図２は、本実施例において、多重分解能の距離画像の組合せから成るモデルをレンダリングする方法を示している。まず、図２に示したように、概略パッチ群３０５に対して、視点６３０、光源６３２、および投影面６１９が決定される。レンダリングにおいては、概略パッチ群３０５を構成する概略パッチ３５を視点６３０から遠い順にスキャンし、パッチ３５上の点のテクスチャ座標を求める。
【００１５】
後述するレンダリング部５のテクスチャ画素計算部５７では、テクスチャ座標に対応して、異なる分解能のテクスチャ画像が読み出され、隣接４画素間補間が行われた後、テクスチャ画素値が求められる。次に、後述する画像描画部５９において、光源６３２と視点６３０の座標から画素値６６が求められる。次に、距離画像の視差分だけずらした投影面６１９上の対応するスクリーン座標の点に、画素値６６で表される画素が描画され、画像データ８が得られる。
【００１６】
図３は、図２に示した処理が実行されるときのデータの流れを示している。モデルデータ３および座標変換データ６は、レンダリング部５に入力され、レンダリング処理が施された後、画像データ８として出力される。レンダリング部５は、後述する中央処理装置（ＣＰＵ）１２において実行される所定のアプリケーションプログラムによって構成される。
【００１７】
図４は、本発明の画像作成装置の一実施例の構成を示すブロック図である。この画像作成装置において、ディスク装置１１は、モデルデータ３、座標変換データ６、およびアプリケーションプログラム等を記憶する。ＣＰＵ１２は、ディスク装置１１から主記憶装置１３にロードされたアプリケーションプログラムに従って動作し、ディスク装置１１より供給されたデータに基づいて、レンダリング処理等を行うようになされている。
【００１８】
ディスク装置１４は、ＣＰＵ１２より供給されたレンダリング処理された結果を記録する。表示装置１５は、ＣＰＵ１２より供給されたレンダリング処理された結果に対応する画像を表示するようになされている。
【００１９】
モデルデータ３および座標変換データ６はＣＰＵ１２に入力される。ＣＰＵ１２に供給されたモデルデータ３は、座標変換データ６を用いてレンダリング部５によりレンダリング処理が行われる。レンダリング部５において作成された画像データ８は、ディスク装置１４に保存されるか、または表示装置１５に供給されて表示される。レンダリング部５における処理の中間結果や入出力データは、必要に応じて主記憶装置１３に一時的に保存され、ＣＰＵ１２により適宜読み出される。
【００２０】
次に、モデルデータ３について説明する。上記実施例に入力されるデータは、例えば図５に示したような構成のモデルデータ３を、一枚の画像データをレンダリングするために必要なモデル全体について組み合わせたものである。モデルデータ３は、概略パッチデータ３４の並び３０４、および物体の形状と表面の状態を表すテクスチャ画像データ３６の並び３０６から構成されている。各概略パッチデータ３４は、テクスチャ画像データ３６をそれぞれ参照している。
【００２１】
概略パッチデータ３４の並び３０４は、図１および図２に示した、モデルの概略の形状を表す複数の概略パッチ群３０５を表すデータであり、テクスチャ画像データ３６の並び３０６は、概略形状にマッピングするための、物体の形状と表面の状態を表すテクスチャ画像の集まりに対応するデータである。これらのデータはディスク装置１１に記憶される。
【００２２】
テクスチャ画像データ３６は、後述するように、テクスチャ画像データ３６を構成するテクスチャ画素データ３８を２次元状に並べたものであり、テクスチャ画素データ３８は、オリジナルモデルの凹凸や表面の状態を表すデータから成る。複数のパッチは、それにマッピングされるテクスチャ画像の中の距離画像によって、凹凸が付けられた部分が接触させられるか、または重ねられることにより、所定のモデルの形状を表すモデルデータ３を構成する。
【００２３】
次に、概略パッチデータ３４について説明する。図６は、上記実施例に入力される概略パッチデータ３４の構成例を示している。概略パッチデータ３４は、モデル全体を取り囲む概略のポリゴンのひとつを表している。
【００２４】
概略パッチデータ３４を構成するＭＣ頂点座標３４０は、モデルを記述するモデリング座標系（ＭＣ：Model Coordinate）におけるパッチの形状や大きさを表すデータである。ここでは、上記実施例におけるパッチは、オリジナルモデルを包囲する直方体の各面に対応しており、ＭＣ頂点座標３４０は、その形状および大きさを表すものとされている。ＴＣ頂点座標３４２は、テクスチャ画像データの格子に対応したテクスチャ座標系（ＴＣ：Texture Coordinate）において、パッチ３５の各頂点に対応付けるテクスチャデータの位置や倍率を決定する。
【００２５】
また、モデリング座標系からテクスチャ座標系への変換を行うための変換行列３４４は、モデリング座標系におけるパッチ３５の頂点のモデリング座標と、このパッチ３５上にマッピングするテクスチャの分解能に基づく画素数から求められるテクスチャ座標系におけるパッチ３５の頂点に対応するテクスチャ座標との間の変換行列である。この行列は、パッチ３５の４頂点のモデリング座標系およびテクスチャ座標系のそれぞれの座標から求められる。また、テクスチャ画像データへの参照３４６は、概略パッチ３５にマッピングするテクスチャ画像データ３６を参照するためのポインタなどからなる。
【００２６】
次に、テクスチャ画像データ３６について説明する。図７は、上記実施例に入力されるテクスチャ画像データ３６の例を示しており、図８は、テクスチャ画像データ３６を構成するテクスチャ画素データ３８の例を示している。テクスチャ画像データ３６は、テクスチャ座標をテクスチャ画素アドレスに変換するためのテクスチャ画素アドレス変換係数３６２と、テクスチャ画素データ３８の２次元配列との組である。テクスチャ画素データ３８は、２次元配列テクスチャ画素アドレスｓおよびテクスチャ画素アドレスｔを要素番号としてアクセスすることができる。
【００２７】
テクスチャ画素データ３８は、テクスチャ画像を構成する画素データであり、以下の内容を含んでいる。すなわち、テクスチャ画素距離データ３８１は、パッチ３５から垂直に（パッチ３５の法線方向に）サンプリングした、パッチ３５からオリジナルモデルまでの距離を表している。テクスチャ画素色データ３８３は、パッチ３５上のテクスチャ画素（テクスチャ座標上の画素）に投影したオリジナルモデル上の色を表している。また、テクスチャ画素法線データ３８５は、パッチ３５上のテクスチャ画素に投影したオリジナルモデル上の法線ベクトルを表している。テクスチャ画素アルファデータ３８７は、オリジナルモデルからパッチ３５上のテクスチャ画素に投影されたオリジナルモデルの有無を表している。
【００２８】
次に、座標変換データ６について説明する。図９は、レンダリング部５に入力される座標変換データ６の例を示している。座標変換データ６は、例えばモデリング座標系（ＭＣ）から視点座標系（ＶＣ）への変換行列、およびその逆行列などの変換行列データ６１、並びにライティングに関連するライティングデータ６３からなる。
【００２９】
変換行列データ６１は、例えばモデリング座標系から視点座標系への変換行列６１１、視点座標系からモデリング座標系への変換行列６１３、およびモデリング座標系からスクリーン同次座標系（ＨＳＣ）への変換行列６１５から成る。さらに、ライティングデータ６３は、図２に示した視点６３０の位置を表す視点座標データ６３１、および光源６３２の位置を表す光源座標データ６３３から成る。
【００３０】
上記実施例によりレンダリング処理された結果としての画像データ８は、画像を構成するＲ（赤），Ｇ（緑），Ｂ（青）の各画素値の２次元配列よりなる。
【００３１】
図１０は、図１に示したミップマップモデル３１ｍをデータとして表現したミップマップモデルデータ３ｍの例を示している。ミップマップモデルデータ３ｍは、レンダリング部５における処理の中間生成物として現れる多重分解能データであり、概略パッチデータ３４の並び３０４と、物体の形状と表面の状態を表すミップマップテクスチャ画像データ３６ｍの並び３０６ｍから成る。
【００３２】
各概略パッチデータ３４は、ミップマップテクスチャ画像データ３６ｍ（対応手段）をそれぞれ参照している。
【００３３】
概略パッチデータ３４の並び３０４は、図５に示した場合と同様に、モデルの概略形状を表すパッチ３５のひとつを表す。ミップマップモデルデータ３ｍに含まれる概略パッチデータ３４は、それを構成するテクスチャ画像データへの参照３４６がミップマップテクスチャ画像データ３６ｍを参照していることを除き、図６を参照して上述した概略パッチデータ３４の場合と同一の構成である。ミップマップテクスチャ画像データ３６ｍの並び３０６ｍは、図１における物体の形状と表面の状態を表すミップマップテクスチャ画像３７ｍの並び３０７ｍをディスク装置１１などの記憶装置上で表すデータである。
【００３４】
図１１は、ミップマップテクスチャ画像データ３６ｍを示している。ミップマップテクスチャ画像データ３６ｍは、分解能が異なる複数のテクスチャ画像データ３６を並べ、多重分解能モデルを実現したものである。本実施例においては、複数のテクスチャ画像データ３６の分解能は、例えば２の累乗倍に変化させている。各テクスチャ画像データ３６の構成は、図７に示したものと同様である。
【００３５】
図１２は、レンダリング部５の動作の概略を示している。図１２に示したように、概略パッチ群３０５を構成するパッチ３５ａのうちの所定のものが、視点６３０から遠い順にスキャンされ、パッチ３５上の点のテクスチャ座標が求められる。次に、求められたテクスチャ座標の隣接４画素が読み出され、隣接４画素間の補間が隣接４画素間補間部５７３ａおよび５７３ｂで行われる。さらに、複数の分解能のテクスチャ画素の補間がレベル間補間部５７５（補間手段）において行われる。
【００３６】
さらにまた、求められたテクスチャ画素に対して、ライティング計算などによって描画する画素値６６が計算される。最後に、画素値６６に対応する画素が、画像データ８として描画されることにより、レンダリングが行われる。この画素が描画されるスクリーン座標６８は、画素のテクスチャ座標６４にテクスチャ画素に対応する凹凸が加えられて概略パッチ３５に対して垂直（法線方向）に移動させられた座標をスクリーン（投影面）６１９に投影する変換を行うことによって求められる。以上の動作を行うレンダリング部５の構成およびデータの流れを図１３に示す。
【００３７】
図１３は、ＣＰＵ１２が所定のアプリケーションプログラムを実行することにより構成されるレンダリング部５の構成およびデータの流れを示している。レンダリング部５を構成するテクスチャ画素フィルタ部５０は、モデルデータ３をミップマップモデルデータ３ｍに変換する。モデルデータソーティング部５１は、ミップマップモデルデータ３ｍを構成する概略パッチデータ３４の並び３０４全体に対してソーティングを行い、視点からパッチ３５の重心までの視線方向に計った距離に基づいて、視点から遠い順に、概略パッチデータ３４ｐをひとつずつ取り出すようになされている。
【００３８】
座標変換部５３は、モデルデータソーティング部５１より供給された概略パッチデータ３４ｐに含まれる変換行列と、座標変換データ６に含まれる変換行列を乗じることにより、視点や視線に依存した変換行列群６５を作成し、視点座標や光源座標のテクスチャ座標系への座標変換を行うようになされている。
【００３９】
テクスチャ座標計算部５５は、概略パッチデータ３４ｐの各頂点座標をテクスチャ座標系に変換し、テクスチャ座標系における概略パッチ３５上のテクスチャ座標を２次元的にスキャンすることにより、パッチ３５上でのテクスチャ座標データ６４を一定の間隔で求め、出力する。テクスチャ画素計算部５７は、概略パッチデータ３４ｐとテクスチャ座標データ６４から、後述するテクスチャ画素データ３８の読み出しと補間を行い、補間済みテクスチャ画素データ３９ｐを作成し、出力するようになされている。
【００４０】
画像描画部５９は、補間済みテクスチャ画素データ３９ｐ、およびテクスチャ座標データ６４、および変換行列群６５から、画素値データ６６とスクリーン座標データ６８を計算し、出力するようになされている。
【００４１】
次に、その動作について説明する。レンダリング部５を構成するテクスチャ画素フィルタ部５０においては、入力されたモデルデータ３がミップマップモデルデータ３ｍに変換される。テクスチャ画像のフィルタリングは、テクスチャ画像データ３６の並び３０６に含まれるテクスチャ画像データ３６のそれぞれに対してフィルタ演算を適用し、ミップマップテクスチャ画像データ３６ｍの並び３０６ｍに変換することによって行われる。
【００４２】
図１４は、テクスチャ画素フィルタ部５０によるフィルタリングの動作を示している。図１４に示したように、隣接画素平均部４０１において隣接４画素の平均が計算されることにより、入力したテクスチャ画像データ３６から画素数が１／４のテクスチャ画像データ３６が順次作成される。法線データのフィルタリングにおいては、平均を取った後、正規化を行うか、または単位球面上の大円補間による平均の演算が行われる。
【００４３】
同様に、平均の演算が繰り返し行われ、ミップマップに必要な分解能のテクスチャ画像データ３６がすべて作成されると、処理を終了し、フィルタリングによって作成された複数のテクスチャ画像データ３６をまとめてミップマップテクスチャ画像データ３６ｍとされる。また、図１４において、テクスチャ画素アルファデータが０．７５となっているのは、モデルと背景がそれぞれ７５対２５の割合で描画されることを表している。
【００４４】
フィルタリングの方法として、ここでは例えば連結画素の平均をとる方法を挙げたが、画像処理の分野で使用される任意のローパスフィルタを用いることができる。
【００４５】
テクスチャ画像フィルタ部５０におけるテクスチャ画像フィルタ処理の結果として得られたミップマップモデルデータ３ｍは、ミップマップテクスチャ画像データ３６ｍの並び３０６ｍおよびモデルデータ３からそのままコピーしてきた概略パッチデータ３４の並び３０４から成る。
【００４６】
モデルデータソーティング部５１においては、まず、ミップマップモデルデータ３ｍの中の概略パッチデータ３４の並び３０４全体に対してソーティングが行われ、視点６３０からパッチ３５の重心までの視線方向に計った距離に基づいて、視点６３０から遠い順に、概略パッチデータ３４ｐがひとつずつ取り出される。
【００４７】
次に、座標変換部５３において、モデルデータソーティング部５１より供給された概略パッチデータ３４ｐに含まれる変換行列と、座標変換データ６に含まれる変換行列が乗じられることにより、視点や視線に依存した変換行列群６５が作成され、視点座標や光源座標のテクスチャ座標系への座標変換が行われる。
【００４８】
テクスチャ座標計算部５５においては、概略パッチデータ３４ｐの各頂点座標がテクスチャ座標系に変換され、テクスチャ座標系における概略パッチ上のテクスチャ座標を２次元的にスキャンすることにより、パッチ３５上でのテクスチャ座標データ６４が一定の間隔で求められ、出力される。このときのスキャンの間隔は、ｓ方向およびｔ方向について、それぞれ１テクスチャ画素のスクリーン画素上における大きさの例えば０．５画素分とされる。また、スキャンの方向は、パッチ３５上の頂点が、視点から遠い方から順にスキャンされる方向とされる。
【００４９】
テクスチャ画素計算部５７においては、概略パッチデータ３４ｐとテクスチャ座標データ６４から、テクスチャ画素データ３８の読み出しと補間が行われ、補間済みテクスチャ画素データ３９ｐが作成される。図１５は、テクスチャ画素計算部５７の構成と、テクスチャ画素計算部５７における画素の読み出しと補間の動作を示している。
【００５０】
図１５に示したテクスチャ画素計算部５７に、概略パッチ３５のテクスチャ座標６４が入力されると、レベル決定部５７０（選択手段）において、概略パッチ３５上のテクスチャ画素（テクスチャ座標上の画素）が画面に投影される大きさに基づいて求められたミップマップレベルに従って、テクスチャ画像の分解能と内分比（例えば線形補間のための係数）が決定される。
【００５１】
分解能と内分比の決定は、コンピュータグラフィクスの分野で一般に用いられるミップマップのレベル決定およびレベル間補間比の決定方法を使うことができる。決定された分解能は２種類のテクスチャ画像を選ぶために用いられ、内分比はレベル間補間部５７５に入力される。
【００５２】
次に、概略パッチ３５をスキャンすることにより求められたテクスチャ座標６４のテクスチャ画素に対応するテクスチャ画素アドレスが、テクスチャ画素アドレス変換部５７１ａおよび５７１ｂによって、テクスチャ画素アドレス変換係数３６２ａ，３６２ｂ、およびテクスチャ座標６４から求められる。
【００５３】
次に、テクスチャ画像データ３６ａおよび３６ｂから、テクスチャ画素のアドレスの整数部で指示されるテクスチャ画素データ８とその４連結のテクスチャ画素データ３８が読み出され、隣接４画素間補間部５７３ａおよび５７３ｂにそれぞれ入力される。テクスチャ画素補間部５７３ａおよび５７３ｂにおいては、入力された上記テクスチャ画素データ３８に基づいて、テクスチャ画素アドレスの端数に基づいた距離画素値のバイリニア補間、色画素値のバイリニア補間、並びに法線値のバイリニア補間および長さ１への正規化が行われる。
【００５４】
最後に、レベル間補間部５７５において、隣接４画素間補間部５７３ａおよび５７３ｂの結果に対してレベル間補間が行われる。すなわち、レベル決定部５７０で求められた内分比に基づいて内分（線形補間）される。その結果として、補間済み距離データ３９１ｐ、補間済み色データ３９３ｐ、および補間・正規化済み法線データ３９５ｐなどからなる補間済みテクスチャ画素データ３９ｐを得る。
【００５５】
補間済みテクスチャ画素データ３９ｐは、画像描画部５９に入力される。図１６は、画像描画部５９の構成および動作を示している。画像描画部５９においては、補間済みテクスチャ画素データ３９ｐ、テクスチャ座標６４、および変換行列群６５から、画素値６６とスクリーン座標６８が計算される。次に、画像データ８上のスクリーン座標６８に対応する画素に画素値６６が書き込まれることにより１画素の描画が行われる。以上の操作を全入力に対して行うことにより画像データ８の全体が生成される。
【００５６】
画素値６６は、ライティング計算部５９１において、テクスチャ座標に変換された光源座標および視点座標に基づいて、補間済みテクスチャ画素データ３９ｐに含まれる色データや法線データに対して、テクスチャ座標系におけるライティング計算が行われることにより求められる。ライティング計算においては、コンピュータグラフィクスで通常用いられる拡散反射、鏡面反射、またはこれらの組合せなどの任意のライティング計算アルゴリズムを使用することができる。
【００５７】
スクリーン座標６８は、補間済み距離データ３９１ｐによって表される差分をテクスチャ座標６４に加え、凹凸を考慮してずらしたテクスチャ座標６４ｓを求め、これをスクリーン同次座標を経てスクリーン座標に変換し、さらに適切な丸めを行うことによって求めることができる。
【００５８】
図１７および図１８は、ミップマップモデルデータ３ｍを、通常のコンピュータグラフィクスで用いられるポリゴンモデルから、多重分解能サンプリングによって作成する例をそれぞれ示している。図１７におけるポリゴン２３ａは、レンダリングしようとするモデルを構成するポリゴンのひとつである。これを概略パッチ３５ａに対して平行投影し、一定の分解能で概略パッチ３５ａからポリゴン２３ａまでの距離などをサンプリングすることにより、補間済み距離画像データ３９１ａ，３９１ｂなどを作成することができる。
【００５９】
このとき、パッチ表面の色、およびパッチ表面の法線なども同時にサンプリングすることにより、補間済み色データ３９３ａ，３９３ｂ、補間済み法線データ３９５ａ，３９５ｂ、および補間済みアルファデータ３９７ａ，３９７ｂなどを作成し、テクスチャ画像データ３６全体をサンプリングすることができる。
【００６０】
上述したようなサンプリングを、例えばＺバッファ法による隠面消去によってポリゴンモデルを構成する全てのポリゴンに対して行うことにより、概略パッチ３５にもっとも近いポリゴンの表面をサンプリングすることができる。次に、図１７に示した場合と同様のサンプリングを、サンプリング分解能を変えて繰り返し行う。例えば、図１８に示したように、図１７よりも低い分解能（この場合１／２の分解能）でのサンプリングを行う。
【００６１】
このように、異なる分解能のサンプリングの繰り返しによって作成された多重分解能の距離画像データなどを、同一のパッチ３５ａに対応させることにより、ミップマップモデルデータ３ｍを作成することができる。
【００６２】
多重分解能距離画像モデル（例えば複数の分解能のテクスチャ画像によって構成されたミップマップモデル）の用途によっては、レンダリングの方向の概略が決まっている場合がある。例えば、ゲームなどで用いるモデルにおいて、建物を下から見上げる方向から見るものと決まっているような場合である。このような場合に本発明の画像作成装置および方法を適用する場合においては、所定のパッチ３５ｂを複数の部分に分け、各部分ごとに必要な分解能の距離画像だけを対応付ければ良い。
【００６３】
図１９は、パッチ３５ｂの部分ごとに分解能の範囲が異なる距離画像を対応付けた場合の例を示している。例えば図１９において、概略パッチ３５ｂは、パッチ３５ｂの上方が視点に近く、下方が視点から遠い場所で常にレンダリングされるものと仮定する。この場合、もっとも細かい距離画像３７ｐ１を概略パッチ３５ｂの上半分を覆う大きさで作成し、中くらいの細かさの距離画像３７ｐ２を概略パッチ３５ｂの中央を覆う大きさで作成し、さらに、粗い距離画像３７ｐ３を概略パッチ３５ｂの下端を覆う大きさで作成している。
【００６４】
このように、パッチ３５ｂの各部分に対応付けるデータを異ならせるような構成とすることにより、パッチ３５ｂをレンダリングする場合において、パッチ３５ｂの各部分毎に必要な分解能の距離画像だけでパッチ３５ｂを覆うようにすることができる。これにより、データ量の削減が可能となる。
【００６５】
なお、図１９においては、距離画像の例についてのみ示したが、法線データ、色データ、およびアルファデータなどを加えたより一般的なテクスチャ画像データについても同様な構成とすることが可能である。
【００６６】
以上のディスプレースメントマッピングによるパッチのレンダリングアルゴリズムは、スクリーン座標をスキャンし、これを順次テクスチャ座標に変換していくことによっても求めることができる。この方法は図１３に示したテクスチャ座標計算部５５を、以下の動作を行うように変更することで実現することができる。
【００６７】
すなわち、テクスチャ座標計算部５５は、概略パッチデータ３４の各頂点座標をスクリーン座標系に変換し、概略パッチ３５に対応するスクリーン座標を２次元的にスキャンし、スキャンしたスクリーン座標をパッチ３５に逆投影し、逆投影したパッチ３５上のスキャン位置に対応するテクスチャ座標を求める。スキャンの間隔は、例えばスクリーン座標上における画素の大きさの０．５画素分とすることができる。
【００６８】
以上のように、モデルの詳細な形状を表す分解能の異なる複数の距離画像を並べて、多重解像度を実現することにより、２次元配列データのシーケンシャルな入力によってレンダリングを行うことができる。また、分解能の異なるデータが相似なデータ構造をとることにより、データのアドレス計算を容易にし、アドレス出力を行うハードウエアのコストダウン、およびレンダリングにおけるデータフローの単純化などを実現することができる。
【００６９】
また、距離画像のフィルタリングにより、多重分解能のモデルを作成することによって、ポリゴンモデルを表すリスト構造のデータを用いて多重分解能モデルを作成する場合のように、リストの切断や接続を行う必要をなくすことができる。このため、モデルデータ間の参照が極めて少なく、効率良く多重分解能モデルを作成することが可能となる。
【００７０】
また、サンプリングによる多重分解能のモデルの作成においては、Ｚバッファ法による従来のレンダリングシステムを、レンダリング分解能を変えて繰り返し利用することにより多重分解能モデルを作成することができる。これにより、Ｚバッファ法によるレンダリングに適した装置を備えたグラフィクスシステムに容易に適用でき、安価にモデル作成が可能になり、多重分解能モデルによる画像を容易に作成することができる。
【００７１】
また、ポリゴンによって表される多重分解能のモデルにおいては、分解能の異なるモデル間を補間してレンダリングすることは困難であった。しかしながら、上記方法による多重分解能のモデルにおいては、異なる分解能の距離画像を多重分解能のモデルとして用いることにより、分解能の異なるモデル間をレンダリングするときに、単純な線形補間などの簡易な演算により補間することができる。
【００７２】
また、単一のパッチが画面に現れる場所によって、その適切な分解能がそれぞれ異なる場合に、補間の割合を場所毎に変化させることにより、各場所毎により適切な分解能のモデルによるレンダリングを行うことが可能となり、モデルエリアシングの少ない品質の良いレンダリング結果を得ることができる。
【００７３】
また、パッチ上の場所によって、対応付けられる距離画像の分解能の範囲が異なるようにすることにより、パッチをレンダリングする場合の視点の範囲が限られる場合にデータ量を削減することができる。
【００７４】
さらに、上述したデータ構造において、距離画像に、さらに色データ、法線データ、およびアルファデータなどを付加し、テクスチャ画像データ３６を作成することにより、すべてのテクスチャ画像データ３６が同じ２次元配列のデータ構造により表現されるようにすることができる。これにより、データ構造が異なる場合に比べてデータのアドレス計算の回数を減らし、簡易なデータフローによるレンダリングを実現することができる。
【００７５】
なお、上記実施例においては、モデルを近似する概略パッチ群を立方体で構成するようにしたが、他の任意の多面体により構成することが可能である。
【００７６】
【発明の効果】
請求項１に記載の画像作成装置、および請求項８に記載の画像作成方法によれば、分解能の異なる距離画像を同一のデータ構造にした効率のよい多重分解能モデルを作成することができ、モデルエリアシングの少ない品質のレンダリングを行うことが可能となる。
【図面の簡単な説明】
【図１】複数の分解能のテクスチャ画像からなるミップマップモデルを示す図である。
【図２】多重分解能の距離画像の組み合わせからなるモデルのレンダリングを説明するための図である。
【図３】本発明の画像作成装置におけるデータの流れを示す図である。
【図４】本発明の画像作成装置の一実施例の構成を示すブロック図である。
【図５】モデルデータの構成例を示す図である。
【図６】概略パッチデータの構成を示す図である。
【図７】テクスチャ画像データの構成例を示す図である。
【図８】テクスチャ画素データの構成例を示す図である。
【図９】座標変換データの構成例を示す図である。
【図１０】ミップマップモデルデータの構成例を示す図である。
【図１１】ミップマップテクスチャ画像データの構成例を示す図である。
【図１２】レンダリング部の動作の概略を説明するための図である。
【図１３】レンダリング部の詳細な構成および動作を示す図である。
【図１４】図１３のテクスチャ画素フィルタ部５０の動作を示す図である。
【図１５】図１３のテクスチャ画素計算部５７の動作を説明するための図である。
【図１６】図１３の画像描画部５９の動作を説明するための図である。
【図１７】ミップマップモデルデータを多重分解能サンプリングで作成する方法を説明するための図である。
【図１８】ミップマップモデルデータを多重分解能サンプリングで作成する他の方法を説明するための図である。
【図１９】概略パッチに複数の分解能の距離画像を対応付ける方法を説明するための図である。
【符号の説明】
３  モデルデータ
３ｍ  ミップマップモデルデータ
５  レンダリング部
６  座標変換データ
８  画像データ
１１，１４  ディスク装置
１２  ＣＰＵ
１３  主記憶装置
１５  表示装置
２３ａ  ポリゴン
２５ａ，２５ｂ，２５ｃ  法線ベクトル
３１ｍ  ミップマップモデル
３４，３４ｐ  概略パッチデータ
３５，３５ａ，３５ｂ  概略パッチ
３６，３６ａ，３６ｂ  テクスチャ画像データ
３６ｍ  ミップマップテクスチャ画像データ（対応手段）
３７  テクスチャ画像
３７ｍ  ミップマップテクスチャ画像
３７ｐ１，３７ｐ２，３７ｐ３  距離画像
３８  テクスチャ画素データ
３９ａ，３９ｂ，３９ｐ  補間済みテクスチャ画素データ
５０  テクスチャ画素フィルタ部
５１  モデルデータソーティング部
５３  座標変換部
５５  テクスチャ座標計算部
５７  テクスチャ画素計算部
５９  画像描画部
６１  変換行列データ
６３  ライティングデータ
６４  テクスチャ座標データ
６４ｓ  ずらしたテクスチャ座標
６５  変換行列群
６６  画素値データ
６８，６８ｓ  スクリーン座標
６９ｍ  モデリング座標系
６９ｔ  テクスチャ座標系
３０４  概略パッチデータの並び
３０５  概略パッチ群
３０６  テクスチャ画像データの並び
３０６ｍ  ミップマップテクスチャ画像データの並び
３４０  ＭＣ頂点座標
３４２  ＴＣ頂点座標
３４４  ＭＣからＴＣへの変換行列
３４６  テクスチャ画像データへの参照
３６２  テクスチャ画素アドレス変換係数
３８１  テクスチャ画素距離データ
３８３  テクスチャ画素色データ
３８５  テクスチャ画素法線データ
３８７  テクスチャ画素アルファデータ
３９１ａ，３９１ｂ，３９１ｃ，３９１ｄ，３９１ｐ  補間済み距離データ
３９３ａ，３９３ｂ，３９３ｃ，３９３ｄ，３９３ｐ  補間済み色データ
３９５ａ，３９５ｂ，３９５ｃ，３９５ｄ，３９５ｐ  補間・正規化済み法線データ
３９７ａ，３９７ｂ，３９７ｃ，３９７ｄ，３９７ｐ  補間済みアルファデータ
４０１  隣接画素平均部
５７０  レベル決定部（選択手段）
５７１  テクスチャ画素アドレス変換部
５７３  隣接４画素間補間部
５７５  レベル間補間部（補間手段）
５９１  ライティング計算部
６１１  ＭＣからＶＣへの変換行列
６１３  ＶＣからＭＣへの変換行列
６１５  ＭＣからＨＳＣへの変換行列
６１９  投影面
６３０  視点
６３１  視点座標データ
６３２  光源
６３３  光源座標データ
【図１】
0003712139.tif 000002
【図２】
0003712139.tif 000003
【図３】
0003712139.tif 000004
【図４】
0003712139.tif 000005
【図５】
0003712139.tif 000006
【図６】
0003712139.tif 000007
【図７】
0003712139.tif 000008
【図８】
0003712139.tif 000009
【図９】
0003712139.tif 000010
【図１０】
0003712139.tif 000011
【図１１】
0003712139.tif 000012
【図１２】
0003712139.tif 000013
【図１３】
0003712139.tif 000014
【図１４】
0003712139.tif 000015
【図１５】
0003712139.tif 000016
【図１６】
0003712139.tif 000017
【図１７】
0003712139.tif 000018
【図１８】
0003712139.tif 000019
【図１９】
0003712139.tif 000020