(57)【要約】  ３Ｄグラフィックスモデルの複数の基本要素をテクスチャ空間からスクリーン空間へとマッピングするための装置である。前記装置は、複数のテクスチャマップを記憶するためのテクスチャメモリ（１３４）を含む。リサンプラ（１３２，１４０）は、各基本要素について、前記基本要素に対応するテクスチャマップから、前記基本要素に対応するディスプレイ画像部分を定める対応ピクセルデータへと、データをリサンプリングする。テクスチャ空間リサンプラ（１３２）及び／又はスクリーン空間リサンプラ（１４０）は、前記リサンプリングを実行するためのリサンプリングアルゴリズムを、少なくとも２つの別個のリサンプリングアルゴリズムからなる個々のセットから選択するものとして構成されている。前記選択は、前記基本要素のサイズに応じて実施される。
2007500391.tif 000002
【特許請求の範囲】
【請求項１】
３Ｄグラフィックスモデルの複数の基本要素をテクスチャ空間からスクリーン空間へとマッピングするための装置であって、
前記装置は、
複数のテクスチャマップを記憶するためのテクスチャメモリと、
各基本要素について、前記基本要素に対応するテクスチャマップから、前記基本要素に対応するディスプレイ画像部分を定める対応ピクセルデータへと、データをリサンプリングするものとして構成されたリサンプラとを含み、
前記リサンプラは、前記リサンプリングを実行するためのリサンプリングアルゴリズムを、少なくとも２つの別個のリサンプリングアルゴリズムからなる個々のセットから選択するものとして構成されており、前記選択が、前記基本要素のサイズに依存する、装置。
【請求項２】
前記リサンプラは、前記基本要素の前記サイズを予め決められた閾値と比較することにより、前記選択を実行するものとして構成されている、請求項１に記載の装置。
【請求項３】
前記装置は、リサンプリングされたデータを蓄積するための前記リサンプラと関連付けられたバッファを含み、前記バッファは、予め決められたバッファサイズを有し、前記閾値は、予め決められた前記バッファサイズに依存する、請求項２に記載の装置。
【請求項４】
前記基本要素の前記サイズは、前記基本要素の境界内のテクセル又はピクセルの個数に依存する、請求項１に記載の装置。
【請求項５】
前記複数のリサンプリングアルゴリズムの内の第１のものは、１パス２次元リサンプリングアルゴリズムであり、前記複数のリサンプリングアルゴリズムの内の第２のものは、２パス１次元リサンプリングアルゴリズムであり、前記第１のアルゴリズムは、前記閾値よりも小さいサイズの基本要素用に選択され、前記第２のアルゴリズムは、前記閾値よりも大きいサイズの基本要素用に選択される、請求項２又は３に記載の装置。
【請求項６】
３Ｄグラフィックスモデルの複数の基本要素をテクスチャ空間からスクリーン空間へとマッピングする方法であって、
前記方法は、
テクスチャ空間において、各基本要素について、前記基本要素に対応するテクスチャマップから、前記基本要素と関連付けられたテクセル用のテクスチャデータへと、データをリサンプリングし、
スクリーン空間において、各基本要素について、前記基本要素に対応するディスプレイ画像部分を定める対応ピクセルデータへと、前記テクスチャデータをリサンプリングし、
前記テクスチャ空間リサンプリング用に及び／又は前記スクリーン空間リサンプリング用に、リサンプリングアルゴリズムを、少なくとも２つの別個のリサンプリングアルゴリズムからなる個々のセットから選択し、前記選択が、前記基本要素のサイズに依存している、方法。
【請求項７】
請求項６の方法をプロセッサに実行させるものとして構成されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基本要素（ｐｒｉｍｉｔｉｖｅ）をテクスチャ空間からスクリーン空間にリサンプリングするための装置と、基本要素をテクスチャ空間からスクリーン空間にリサンプリングする方法とに関する。
【背景技術】
【０００２】
３Ｄグラフィックスを加工する際の重要な要素は、テクスチャマッピングである。コンピュータ生成されたオブジェクトの表面へのテクスチャのマッピングは、それらの外見のリアリズムを大いに改善する手法である。２Ｄ又は３Ｄオブジェクトは、一般的には、複数の基本要素（通常は三角形）を使用してモデリングされる。テクスチャとしては、写真又はコンピュータ生成された画像のような２Ｄピクチャが利用可能である。例えば、壁の２Ｄ画像（の一部）は、コンピュータゲーム内の壁の３Ｄ表示へと射影可能である。用語「テクセル」（テクスチャ要素）は、テクスチャのピクチャ要素（ピクセル）を称するのに使用される。
【０００３】
一般に、スクリーン格子上へのテクスチャマップのマッピングに関しては、いくつかの方法が知られている。大多数の従来のグラフィックスシステムでは、いわゆる逆テクスチャマッピング法が利用される。この手法では、スクリーンのピクセルが連続的に且つ各ピクセルについて処理され、ラスタライゼーション処理の間に、テクスチャ上のスクリーンピクセルの射影（ピクセルの「フットプリント」となる）が決定され、正確なピクセル色を最も良く近似する平均値が、通常、重み付き平均の形で計算される。これに代わる手法は、いわゆる前方テクスチャマッピング法である。この方法は、テクスチャマップ（テクスチャ空間）によって定められる座標系の測定テクセルによって実施する。グラフィックスシステムの頂点シェーダは、基本要素の頂点を入力として受け取り、これらの各頂点の属性を変化させるため又は追加するために、頂点シェーディングプログラムを使用する。ラスタライザは次に、テクスチャ空間における基本要素を、これらの属性を補間する間に測定する。当該ラスタライザは、三角形に射影される各テクセルのテクスチャ座標（ｕ，ｖ）を計算する。巡回されたテクスチャの各格子位置（ｕ，ｖ）について、テクセルシェーダは、属性を、記憶されているテクスチャマップから、当該テクスチャマップをテクスチャ空間リサンプラによるテクセル格子にリサンプリングした後に受け取る。当該テクセルシェーダは、これらの属性から基本要素の表面の局所的な色を計算する。最後に、取得されたデータは、スクリーン空間リサンプラによりスクリーンピクセル位置にリサンプリングされる。（リサンプリングを含む）マッピングは２次元状である。初めのリサンプリング技術はいわゆるワンパス（ｏｎｅ−ｐａｓｓ）２Ｄマッピングであり、基本要素上を一回通過する間に、ピクセル／テクセルデータが両方向においてリサンプリングされる。これに代わる手法は、２Ｄ画像のマッピングが２つの１Ｄマッピングに分解されるいわゆるツーパス（ｔｗｏ−ｐａｓｓ）前方マッピング法である。先ず、当該画像は、１方向（一般的にはスキャンライン方向、即ち、水平方向）にマッピングされ、その結果、中間画像になる。当該中間画像は、最終画像に向かうもう１方向にマッピングされる。１Ｄリサンプリングは、一般にビデオスケーリング用に使用されるようなリサンプラを使用して実施可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、クオリティとパフォーマンスとの間の良好なバランスを維持しつつ、テクスチャを基本要素にマッピングするための改善された装置及び方法を提供することである。
【課題を解決するための手段】
【０００５】
本発明の目的を達成すべく、３Ｄグラフィックスモデルの複数の基本要素をテクスチャ空間からスクリーン空間へとマッピングするための装置は、複数のテクスチャマップを記憶するためのテクスチャメモリと、各基本要素について、前記基本要素に対応するテクスチャマップから、前記基本要素に対応するディスプレイ画像部分を定める対応ピクセルデータへと、データをリサンプリングするものとして構成されたリサンプラとを含み、前記リサンプラは、前記リサンプリングを実行するためのリサンプリングアルゴリズムを、少なくとも２つの別個のリサンプリングアルゴリズムからなる個々のセット（ａ  ｒｅｓｐｅｃｔｉｖｅ  ｓｅｔ）から選択するものとして構成されており、前記選択が、前記基本要素のサイズに依存する。
【０００６】
従来的には、グラフィックス処理システム又はビデオ処理システムの設計時に、前方マッピングか逆マッピングかという選択が行われる。従来的には、逆マッピングシステムでは、ワンパス２Ｄリサンプリングを使用する。前方マッピングについては、ツーパス１Ｄリサンプリングかワンパス２Ｄリサンプリングかのいずれかを基礎とする、１つの決まったサンプリングアルゴリズムが選択される。本発明による装置においては、前記リサンプラは、少なくとも２つのリサンプリングアルゴリズムの間から選択可能で、決まった選択は行われない。その代わり、前記アルゴリズムからの前記選択は、前記基本要素のサイズに基づき、基本要素毎に動的に行われる。これは、前記基本要素用の最適なリサンプリングアルゴリズムを使用することを可能にし、バランスは、利用可能な処理サイクルとメモリサイズとのように、リサンプリングのクオリティとシステム制限との間でとられることになる。前記装置は、逆マッピング法又は前方マッピング法に基づくようにしてもよい。前記リサンプリングは、１つのリサンプラ又は複数のリサンプラにより実行されるようにしてもよい。例えば前方テクスチャマッピングシステムは、テクスチャ空間リサンプラ又はスクリーン空間リサンプラを使用するようにしてもよい。これらのリサンプラの片方又は両方が、リサンプリングアルゴリズムの動的選択を利用するようにしてもよい。
【０００７】
従属請求項２の手段によれば、利用可能な前記アルゴリズムからの前記選択は、前記基本要素の前記サイズを、予め決められた閾値と比較することにより実施される。２つのアルゴリズムからの選択のために、１つの閾値の値を使用し、第１のアルゴリズムが小さな基本要素用に選択され、第２のアルゴリズムが大きな基本要素用に選択されるようにしてもよい。３つ以上のアルゴリズムのために、いくつかの閾値の値がチェックされる必要があるようにしてもよい。
【０００８】
従属請求項３の手段によれば、前記リサンプラは、リサンプリングされたデータを蓄積するためのバッファと関連付けられている。前記バッファは、予め決められたバッファサイズを有する。前記閾値は、予め決められた前記バッファのサイズに依存する。小さな基本要素用に、より多くの（前記基本要素のピクセル当たりの）バッファ空間を必要とするリサンプリングアルゴリズムが使用されるようにしてもよい。そのようなアルゴリズムは、クオリティの高さ又は処理速度の速さのような、そのアルゴリズムの有利な特性に基づいて選択されるようにしてもよい。大きな基本要素用に、より少ない（前記基本要素のピクセル当たりの）蓄積バッファ空間しか必要としないリサンプリングアルゴリズムが使用されるようにしてもよい。これは、処理サイクルの増加といった犠牲の下に実現するかもしれない。処理サイクルの増加の可能性としては、大きな基本要素を処理する際に、より有効なアルゴリズム（例えば、当該アルゴリズムの初期化を、基本要素毎に相対的に要求できるが、ピクセルを有効に処理できるようなアルゴリズム）を使用することによるオフセットがある。
【０００９】
従属請求項４の手段によれば、前記基本要素の前記サイズは、前記基本要素の境界内のテクセル又はピクセルの個数に依存する。テクセルの個数については、厳密に計算されるようにしてもよいし、それに加えて、推定されるようにしてもよい。
【００１０】
従属請求項５の手段によれば、ワンパス２次元リサンプリングアルゴリズムは小さな基本要素用に選択され、ツーパス１次元リサンプリングアルゴリズムは大きな基本要素用に選択される。前記ワンパス２次元リサンプリングアルゴリズムは、基本要素当たりの初期化オーバーヘッドが低くクオリティの高いリサンプリングを提供するが、相対的に大きな蓄積バッファ（即ち２Ｄバッファ）を必要とする。これは、前記２Ｄリサンプリングを、小さな基本要素用に最適なものとする。一方、前記ツーパス１次元リサンプリングアルゴリズムは、より少ないバッファ空間（即ち１Ｄバッファ）しか必要としないが、基本要素当たりの初期化オーバーヘッドはより高い。これは、前記１Ｄリサンプリングを、より大きな基本要素用に、より好適なものとする。前記閾値は、好適には、前記閾値より小さいサイズの基本要素用の前記蓄積データが、前記２Ｄリサンプリングを利用するバッファ内にちょうど納まるように選択される。
【００１１】
本発明の目的を達成すべく、３Ｄグラフィックスモデルの複数の基本要素をテクスチャ空間からスクリーン空間へとマッピングする方法は、
テクスチャ空間において、各基本要素について、前記基本要素に対応するテクスチャマップから、前記基本要素と関連付けられたテクセル用のテクスチャデータへと、データをリサンプリングし、
スクリーン空間において、各基本要素について、前記基本要素に対応するディスプレイ画像部分を定める対応ピクセルデータへと、前記テクスチャデータをリサンプリングし、
前記テクスチャ空間リサンプリング用に及び／又は前記スクリーン空間リサンプリング用に、リサンプリングアルゴリズムを、少なくとも２つの別個のリサンプリングアルゴリズムからなる個々のセットから選択し、前記選択が、前記基本要素のサイズに依存している。
【００１２】
本発明のこれらの及びその他の側面は、以下に記載の実施形態から明らかであり、以下に記載の実施形態を参照することで明確になる。
【発明を実施するための最良の形態】
【００１３】
（システムの概観）
リサンプリングアルゴリズムの動的選択は、前方（ｆｏｒｗａｒｄ）テクスチャマッピングシステム又は逆（ｉｎｖｅｒｓｅ）テクスチャマッピングシステムにおいて利用可能である。当該システムは、１又は２以上のリサンプラを含むようにしてもよい。これらのリサンプラのいずれも、上記動的選択を利用可能である。図１を参照しつつ、前方テクスチャマッピングシステムが、２つのリサンプラと共に説明されることになる。図２を参照しつつ、逆テクスチャマッピングシステムが、１つのリサンプラと共に説明されることになる。
【００１４】
図１は、前方テクスチャマッピングシステムのグラフィックスパイプラインの最終段の基本構造を示しており、当該前方テクスチャマッピングシステムでは、本発明が利用可能である。この説明においては、図示化すべきモデルについては、基本要素として三角形を使用して説明することを想定している。当業者は、同一の手法を、（他の多角形又は四角形又はベジェ（Ｂｅｚｉｅｒ）パッチのような曲表面、のような）他の基本要素に容易に適用することができる。コンピュータゲームのようなグラフィックスプログラムからや上記グラフィックスパイプラインのより早い段から上記パイプラインへの入力となるのが、基本要素であり、当該基本要素は、当該基本要素の頂点によって特定される。当該基本要素は、（ｕ，ｖ）座標を使用してテクセル空間で与えられるだけではなく、対応する（ｘ，ｙ）座標を使用してスクリーン空間でも与えられる。上記パイプラインは、頂点シェーダ１１０と、テクスチャ空間ラスタライザ１２０と、テクスチャ空間リサンプラ１３２及びテクスチャメモリ１３４を有するテクセルシェーダ１３０と、スクリーン空間リサンプラ１４０と、エッジ−アンチ−エイリアシング・隠面処理（ＥＡＡ＆ＨＳＲ）ユニット１５０とを含む。出力されたピクセルは、アナログ出力を生成するために、例えばＲＡＭ  ＤＡＣのようなＤ／Ａ変換器を使用して、ディスプレイ用のフレームバッファ１６０内に記憶される。当該ディスプレイは、ＣＲＴ、ＬＣＤ、プラズマディスプレイを含めて、どのようなタイプのものでもよい。また、加工（ｒｅｎｄｅｒ）されたピクチャも、連続的な基本要素用のテクスチャマップとして使用可能である。図１に示すグラフィックスパイプラインの機能については、本発明を利用可能な基本システムについて説明すべく、以下、より詳細に説明されることになる。本発明は更に、テレビのような映像処理装置内で利用可能であり、当該装置内では例えば、放送映像信号が、基本要素によってモデル化されたグラフィカル情報と組み合わされることが理解されよう。
【００１５】
図１の頂点シェーダ１１０は、三角形（基本要素）の頂点を入力として受け取り、頂点シェーディングプログラムを使用して、これらの各頂点の属性を変化させ又は追加する。当該頂点シェーダにより提供されるデータには、通常、散乱性の及び／又は反射性の色、テクスチャ座標、（同種の）スクリーン座標、及び場合によっては（表面法線又はシェーディング処理用に必要とされるその他のデータのような）追加データ、のような属性が含まれる。当該頂点シェーダは、従来の変換・照明ユニット（Ｔｒａｎｓｆｏｒｍ  ａｎｄ  Ｌｉｇｈｔｉｎｇ  ｕｎｉｔ）でもよい。当該頂点シェーダにより生成される上記属性は、ラスタライザに提供される。
【００１６】
図１のラスタライザ１２０は、表面空間（いわゆる前方テクスチャマッピングシステム）において動作する。当該ラスタライザは、例えば（スクリーン座標の代わりに）テクスチャ座標をラスタライゼーション処理用の駆動変数として選択することにより、（スクリーン上への射影を測定するのではなく、）基本要素の表面のパラメータ表示を測定（ｔｒａｖｅｒｓｅ）する。当該ラスタライザは、「表面格子」上の基本要素を測定する。テクスチャマップに関連付けられた格子は、そのような表面格子となり、（テクスチャ格子上のテクスチャサンプルを取得するのにリサンプリングは必要ないので）好適には表面格子として使用される。テクスチャマップが存在しないとき又は例えばテクスチャが１Ｄ又は３Ｄであるときには、別の格子が選択されるようにしてもよい。テクスチャ空間における座標としては、（「水平」方向用の）ｕ及び（「垂直」方向用の）ｖが使用される。この説明中の「水平」及び「垂直」は単に相対的なものであることを理解されたい。例えば、スクリーンについては、グラフィックス処理が影響されないように、しかしスクリーン上の出力が回転するように、回転されるようにしてもよい。テクスチャ格子はしばしば表面格子として使用されるので、表記「テクスチャ格子」（及び「テクスチャ空間」及び「テクセル」）は、そのような生成された格子（及び関連する空間及びサンプル）を意味するように使用されることになる。上記ラスタライザが格子のテクセル位置を測定するときには、各頂点に与えられた全ての属性が格子上に補間（ｉｎｔｅｒｐｏｌａｔｅ）される（一般的には、テクセルが射影されるスクリーン座標以外は線形的に補間され、当該スクリーン座標は透視図法的に補間される）。上記属性はそのとき、各テクセル位置において利用可能になり、テクセルシェーダ１３０が、当該属性を使用できるようになる。基本格子のテクスチャ座標ｕ及びｖを測定する間、当該ラスタライザは、対応するスクリーン座標（ｘ，ｙ）も保持する（逆マッピングシステムについては逆も同様である）。当該対応は
【数１】
2007500391.tif 000003
【００１７】
の線形補間によって保持可能である。ただし、＾は同じ種類の座標を意味する。そのような座標は、当該技術分野においてはよく知られており、ここではこれ以上説明しないことにする。スクリーン座標はそして、透視分割（ｐｅｒｓｐｅｃｔｉｖｅ  ｄｉｖｉｓｉｏｎ）
【数２】
2007500391.tif 000004
【００１８】
を使用して計算できる。２つの１Ｄサンプリングパスに基づくスクリーン空間リサンプリングが使用される場合、スクリーンｙ座標は単にミップマップ（ｍｉｐｍａｐ）決定目的用に使用されるが、当該目的についてはより詳細に後述されることになる。ワンパス２Ｄスクリーン空間リサンプラが使用される場合、当該ｙ座標は当該リサンプラへの入力としても使用される。実際の色を計算するために、上記ラスタライザは、散乱性の色（ＲＧＢＡ）、反射性の色（ＲＧＢ）、及び（マルチテクスチャリングに充てる）追加テクスチャ座標ペアを補間するようにしてもよい。また、（表面法線のような）その他の属性が補間されるようにしてもよい。好適には、上記テクスチャ空間ラスタライザは、４Ｄミップマッピングに対応する格子上のテクスチャマップを測定するようにしてもよい。４Ｄミップマッピングについては、より詳細に後述することにする。
【００１９】
テクセルシェーダ１３０は、各テクセルについて局所的な表面色を計算する。当該テクセルシェーダは、表面格子における格子位置上の属性を処理すると共に、基本要素と関連付けられている二次テクスチャが存在する場合には、テクスチャ空間リサンプラ１３２を利用して逆マッピングを使用し、当該格子位置から色を取得する。テクスチャデータが必要とされるときには、当該テクスチャ空間リサンプラは、テクスチャ座標が与えられたテクスチャサンプルを取得するために使用される。これらのテクスチャ座標は、上記ラスタライザから受け取った補間座標と、以前のテクスチャフェッチ（いわゆる従属テクスチャリング）の結果及び／又は計算の結果とに基づき、上記テクセルシェーダによって生成される。テクスチャフィルタ処理は通常、近接テクセルの二重線形補間又は三重線形補間、又は非等方的な（透視図法的に変換された）フィルタフットプリントに近似されるようなテクスチャプローブの組み合わせ、に基づく。
【００２０】
テクスチャマップは、一般的には、写真又はコンピュータ生成された画像のような２Ｄピクチャである。例えば、壁の２Ｄ画像（の一部）は、コンピュータゲーム内の壁の３Ｄ表現へと射影可能である。大多数の３Ｄオブジェクトは、スクリーンの小さな部分のみをカバーし、しばしば（近くで見ても妥当な外観となるような、十分な解像度による）テクスチャマップの縮小となる。しばしば、テクスチャマッピングの間に、２Ｄピクチャは、かなり縮小されなければならなくなる（例えば、壁が遠くに移された場合）。原則として、テクスチャマッピングはそのとき、原画像を十分に縮小することにより実行可能である。高解像度２Ｄピクチャを読み込むのに必要なバンド幅を低減するために、前処理ステップは、好ましくは、２Ｄピクチャについていくつかの縮小バージョンが生成されるように実行される。テクスチャマッピングの間に、スクリーン画像の解像度に最も良く適合する、より小さな縮小ピクチャの部分だけが、読み込まれて、スクリーンにマッピングされる。原２Ｄピクチャは、その縮小バージョンと共に、ミップマップと呼ばれる。ミップマップだけでなくテクスチャマップも特に、Ｓｕｒｖｅｙ  ｏｆ  Ｔｅｘｔｕｒｅ  Ｍａｐｐｉｎｇ  Ｐａｕｌ  Ｓ．  Ｈｅｃｋｂｅｒｔ，  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，Ｎｏｖ．１９８６，ｐｐ．５６−６７において、及びＵＳ６２３６４０５Ｂ１号において、説明されている。３Ｄミップマップにおいて、原画像はレベル０として示される。レベル１において、各エントリは、例えば２ｘ２テクセルの平均値を保持する。これは、トップレベルに達するまで続けることが可能であり、トップレベルには、テクスチャ全体の平均色を保持する１つのエントリのみが存在する。従って、四角形のミップマップにおいて、レベルｎは、レベルｎ−１のサイズの４分の１のサイズを有する。幾つかのタイプのミップマップが知られており、縮小画像が記憶されたミップマップは変化する。説明された３Ｄミップマップでは、両方の方向につき同じ因数によって縮小されるのに対し、４Ｄミップマップでは、原画像が、両方の次元にて独立に縮小される。４Ｄミップマップは、水平ミップマップレベルｍｍｌｕ及び垂直ミップマップレベルｍｍｌｖによって特定される。図２は、１６のミップマップレベル（０，０），（１，０），．．．，（３，３）の詳細を与える４Ｄミップマップを示す。それぞれ原３Ｄミップマップレベル０，１，２，及び３を形成するミップマップレベル（０，０），（１，１），（２，２），及び（３，３）が、グレーで示されている。３Ｄミップマップと比べて、４Ｄミップマップ構造は、記憶用に多くのメモリを必要とする。従って、ゲームのようなコンピュータグラフィックスプログラムでは、しばしば３Ｄミップマップ構造が利用される。好ましい実施形態では、テクスチャメモリ１３４は、テクスチャマップを、３Ｄミップマップ構造内に記憶させる。そのような実施形態では、テクスチャ空間リサンプラ１３２は好ましくは、代理人整理番号ＰＨＮＬ０１０９２４ＥＰＰ号の、前公開されていない（ｎｏｎｐｒｅｐｕｂｌｉｓｈｅｄ）欧州特許出願書類中で説明されているように、３Ｄ��ップマップから所望の４Ｄミップマップを、オンザフライで再構成するように構成されている。テクスチャフェッチはそれから、テクスチャメモリ１３４内に記憶されている３Ｄミップマップデータから、４Ｄミップマップに、再構成される。好適には、上記テクスチャ空間ラスタライザは、４Ｄミップマッピングに対応する格子上のテクスチャマップを測定する。上記ラスタライザは、各テクセル（ｕ，ｖ）について、対応する４Ｄミップマップレベル（ｍｍｌｕ，ｍｍｌｖ）をテクセルシェーダ１３０に供給する。図２の例において、４Ｄミップマップ（３，０）は、３Ｄミップマップレベル０のダウンサンプリングを通じて再構成される。フェッチされたテクセルは、補間された散乱性の色及び／又は反射性の色と結合し、関連するスクリーン座標（一般に非整数）を有する表面の色サンプルをもたらすことが可能であり、当該スクリーン座標は、このテクスチャサンプルがスクリーン上のどこにマッピングされるかを示す。上記テクスチャ空間リサンプラは、例えば標準線形補間によって、二次テクスチャマップからテクスチャサンプルを取得する。望むならば、これは、三重線形又は非等方フィルタリング法に拡張可能であり、更に、１Ｄテクスチャ及び３Ｄテクスチャのフェッチのサポートが追加可能である（いったんこれが追加されたならば、上記ラスタライザによるテクスチャ座標の補間は更に、利用される可能性が生じた第３の座標をサポートするよう一般化される必要がある）。
【００２１】
スクリーン空間リサンプラ１４０は、マッピングされたテクセルを整数スクリーン位置にスプラット（ｓｐｌａｔ）し、スクリーン上に基本要素の画像を出力する。スクリーン空間リサンプリングは以下の処理を含む。即ち、
テクセル格子における色情報を連続信号へと再構成し、
前記連続信号をテクスチャ空間からスクリーン空間にマッピングし、
スクリーン空間において、マッピングされた前記連続信号をプレフィルタリングし、
スクリーン空間において、プレフィルタリングされた前記信号をサンプリングする。
【００２２】
更に、テクスチャ空間からスクリーン空間へのマッピングが初めに実行され、マッピングされた前記信号の再構成が後に続くようにしてもよいことが理解されよう。図３は、再構成フィルタのフットプリントとしてボックスを使用した、マッピング及び再構成フィルタリングを示す。また、高次フィルタのような、その他のフィルタが使用されるようにしてもよい。図は、ピクセルの格子を示している。各ピクセルは、ピクセルの無次元位置の周りの長方形として示されている。黒丸のドット（ｓｏｌｉｄ  ｄｏｔｓ）は、変換（マッピング）後の無次元入力テクセル座標の位置を示している。原テクセルのフットプリントが、スクリーン上にとられ、スクリーン上に射影されている。変換後のテクセルのフットプリントのサイズ及び位置は、点線による長方形として図３に示されている。
【００２３】
図４に示されているように、次に、マッピングされた各テクセルが、スクリーン空間のピクセル（当該スクリーン空間のプレフィルタフットプリントが当該スクリーン空間の再構成ボックスとオーバーラップするようなスクリーン空間、のピクセル、即ち、テクセルをスクリーン空間にマッピングした後のスクリーン空間、のピクセル）に、スプラットされる（即ち、割り当てられる）。テクセル４００の再構成ボックスは、太線の長方形（ｈｉｇｈｌｉｇｈｔｅｄ  ｒｅｃｔａｎｇｌｅ）４１０によって示されている。プレフィルタフットプリントは、いくつかのピクセル上に拡がっていてもよい。当該フィルタは、水平方向だけに拡がるようにしてもよいが、更に、垂直方向の拡がりを有するようにしてもよい。図４の例で使用されているフィルタは、ピクセル３個分の水平方向の拡がり及び垂直方向の拡がりを有し、当該フィルタに属するピクセルに中心があり、且つ、２個の近接ピクセルをカバーするようなフィルタである。この場合、１２個の出力ピクセルが寄与（ｃｏｎｔｒｉｂｕｔｉｏｎ）を受けている。それらの各出力ピクセルについて、当該寄与は、入力テクセル値の重み付けをするためのそれらの各々のプレフィルタ、の形状を利用することで決定される。
【００２４】
その後、上記スクリーン空間リサンプラから到来するピクセル断片が、図１のエッジ−アンチ−エイリアシング・隠面処理（ＥＡＡ＆ＨＳＲ）ユニット１５０内で結合される。当該ユニット１５０は、断片バッファ１６０を利用可能である。ピクセル断片は、隠面問題を解決するため、このバッファ内へと深さ順に整列される（ｄｅｐｔｈ−ｓｏｒｔｅｄ）。全ての基本要素が加工された後、各ピクセルの全ての見える断片が、結合され（それは、多くは単純な合計になる。上記スクリーン空間リサンプラが、上記プレフィルタにより既に重み付けられた色を配信するからである）、上記フレームバッファに送信される。エッジ−アンチ−エイリアシングは、上記スクリーン空間ラスタライザにより生成された部分的な寄与を、エッジ付近で結合することによりもたらされ、最終的なピクセル色（これは、様々な基本要素からの色の結合とすることが可能である）をもたらす。
【００２５】
図５は、逆テクスチャマッピングシステムのグラフィックスパイプラインの最終段の基本構造を示す。図５の頂点シェーダ５１０は、図１の頂点シェーダ１１０と同様の機能を果たす。図５のラスタライザ５２０は、いわゆる逆テクスチャマッピングシステムのスクリーン空間で動作する。即ち、テクスチャ空間のテクスチャをスクリーンのピクセル上に射影する代わりに、スクリーン空間からのピクセルを当該テクスチャにマッピングする。当該ラスタライザは、スキャンラインアルゴリズムを使用し、ラスタライゼーション処理用の駆動変数としてスクリーン座標を頂点属性から選択することによって、スクリーン上の基本要素の射影内に位置するピクセルを測定する。従って、当該ラスタライザは、「スクリーン格子」上の基本要素を測定する。（「水平」方向用の）ｘ及び（「垂直」方向用の）ｙは、スクリーン空間の座標として使用される。その他については、ラスタライザ５２０は、図１のラスタライザ１２０と類似の方法で動作する。同様に、図５のピクセルシェーダ５３０は、図１のテクセルシェーダ１３０と同様の方法で動作し、テクスチャメモリ５３４はテクスチャメモリ１３４と同様であり、テクスチャ空間リサンプラ５３２はテクスチャ空間リサンプラ１３２と同様であり、ＥＡＡ＆ＨＳＲユニット５５０はＥＡＡ＆ＨＳＲユニット１５０と同様であり、断片バッファ５６０は断片バッファ１６０と同様である。図１のスクリーン空間リサンプラ１４０及び図５のテクスチャ空間リサンプラ５３２は、テクスチャメモリ（１３４，５３４）から取得されたテクスチャデータから、ディスプレイ画像を定める対応ピクセルデータへの、マッピングを処理する。このマッピング機能は、まとめてテクスチャマッピングと呼ばれる。従って、図５に見られるように、逆マッピングシステムでは、この機能が、テクスチャ空間リサンプリングと組み合わされてピクセルシェーダ５３０の前に配置される一方で、前方テクスチャマッピングシステムでは、この機能が、テクスチャ空間リサンプラ１３２及びスクリーン空間リサンプラ１４０に割り当てられる。
【００２６】
（リサンプリングアルゴリズムの動的選択）
本発明によれば、テクスチャ空間リサンプラ１３２／５３２及び／又はスクリーン空間リサンプラ１４０により実施されるリサンプリングについては、少なくとも２つの別個のリサンプリングアルゴリズムからの選択が行われる。それらのアルゴリズムは、一般的なアルゴリズムでもよい。上記リサンプラは、入力格子内の所定の位置に位置する入力テクセル／ピクセルの集合体を、出力格子内に位置する出力テクセル／ピクセルの、対応する集合体にマッピング（リサンプリング）する。一般的には、それぞれの格子内での集合体の位置は異なる、即ち、変換が発生する。当該変換は、単純な並進、回転、拡大／縮小とすることができるが、射影変換とすることもできる。入力格子と出力格子は、同じものとすることができるが、位置及び／又は解像度が異なるものとすることもできる。ピクセル／テクセルの集合体は、一般的には、オブジェクトに対応するピクセル／テクセル、又は当該オブジェクト（の一部）をモデル化するのに使用された基本要素に対応するピクセル／テクセルである。テクスチャとスクリーンは通常２Ｄなので、リサンプリングも原則として２Ｄである。同一の原理が、３Ｄ画像の加工用のグラフィックス処理又はビデオ処理に同様に適用可能である。３Ｄ加工に関して、基本処理もまた一般的には２Ｄ画像上で実行される。どのようにして、３Ｄ画像が２Ｄ手法を利用して生成可能かについては、よく知られている（２つの別々の２Ｄ画像を観察者のそれぞれの目に投影する等）。以後の説明は、２Ｄ処理に焦点を合わせることにする。図６Ａは、ワンパスの２Ｄリサンプリングの一例を示す。図６の例では、入力格子６４０は、規則的な間隔のドットによって示されており、出力格子６３０と同一である。水平間隔及び垂直間隔もまた同一である。それらの格子は同一である必要はなく、水平解像度と垂直解像度は異なるようにしてもよいことが理解されよう。図６は、テクスチャ空間でのリサンプリングを示しており、テクセル座標ｕ，ｖによって示されている。同一の原理が、（一般的にはｘ及びｙ座標を使用する）スクリーン空間でのリサンプリングに同様に適用される。図６Ａのワンパスリサンプリングでは、基本要素（又はオブジェクト全体）６６０内に位置するテクセルは、テクスチャマップの領域６４０内に位置する対応テクセルからリサンプリングされる。変換は、両方の方向ｕ，ｖで発生する。基本要素のテクセル上の一のパス（ｐａｓｓ）において、リサンプリングが両方の方向で実行される。図６Ｂは、同一の変換、しかしここではツーパスリサンプリングを使用した変換を示す。各パスにおいて、リサンプリングは１方向のみで実行される。図６Ｂの例では、第１のパスにて、水平方向ｕの入力をリサンプリングし、入力領域６４０が領域６５０にマッピングされるような中間ピクチャを与える。中間画像の格子は、６２０を用いて示されている。第２のパスでは、中間画像の領域６５０は、残りの方向（即ちこの例では垂直）のみでリサンプリングされ、出力画像の最後の領域６６０にリサンプリングされる。
【００２７】
リサンプリングの間、各出力ピクセル／テクセルについて、値が蓄積される（例えば、１又は２以上の入力ピクセル／テクセルの重み付き寄与）。これらの中間結果は、蓄積バッファ内にバッファリングされる。ワンパスリサンプリングについては、蓄積バッファが、出力基本要素６６０の全てのピクセル／テクセルにつき必要とされる（更に言えば「２次元」バッファ）。ツーパスリサンプリングについては、１次元バッファで十分である。なぜならば、リサンプリングをライン毎（図６Ｂの第１のパスについては水平ライン、第２のパスについては垂直ライン）に実行できるからである。１ラインがフルにリサンプリングされた後には、バッファ内の蓄積結果が、フル画像出力バッファ（例えば、フレームバッファ）に移動できるようになり、蓄積バッファが、次のラインのリサンプリング用に使用できるようになる。原則として、１Ｄリサンプラは、蓄積バッファとして、少数のレジスタしか必要としない（レジスタの個数は、フィルタのタップの個数、即ち、フィルタの幅により決定される）。しかしながら、両方のパスについて、中間画像を記憶することが必要とされる。水平パスと垂直パスとをインタリーブすることにより、記憶条件を、フィルタ幅に応じて、少数のラインのメモリへと、十分に緩和することができる。その結果、ツーパスサンプリング用の蓄積バッファは、同じサイズの基本要素についてのワンパスリサンプリング用蓄積バッファよりも著しく小さくなる。他方、セットアップについては、ワンパスリサンプリング用のセットアップの方が低くなる。ワンパスリサンプリングについては、上記リサンプラが、基本要素全体につき一回初期化される。ツーパスリサンプリングについては、セットアップ処理が、両方のリサンプリングステップにつき必要とされる。加えて、ツーパスサンプリングは、予防策を講じないと、いわゆるボトルネック問題とずれ問題（ｂｏｔｔｌｅｎｅｃｋ  ａｎｄ  ｓｈｅａｒ  ｐｒｏｂｌｅｍｓ）の影響を受け易い。ボトルネック問題については図７に示されており、図７では、中間画像７２０の領域が、入力画像７１０及び出力画像７３０に比べて非常に小さくなっている。これは、９０度近い回転の際に生じ、第２のパスの方向に過大なきず（ｂｌｕｒ）をもたらす（第２のパスで、つぶれた中間画像を再び拡大しなければならないからである）。ずれ問題については図８に示されており、図８には、テクスチャマップと中間画像の２本のラインが、（ピクセルの再構成ボックスを用いて）示されている。テクスチャマップには黒の垂直ラインが存在しており、第２のライン上の黒ピクセルが第１のライン上の黒ピクセルよりも５ピクセル右にある、という射影マッピングのずれが存在している。水平フィルタパスは、水平エイリアシングの妨げにはなるが、垂直エイリアシングの妨げにはならない。ずれによって、一のライン上の黒ピクセルと次のライン上の白ピクセルとの間の非常に鋭い変り目（ｔｒａｎｓｉｔｉｏｎ）が生じる。また、中間画像内のラインは、分離した複数の部分からなり、ラインのない列（ｃｏｌｕｍｎｓ）（例えばｘ＝３）により分離されている。ずれ問題への解決策は、より良い解像度でラスタライズを行い、穴を埋める黒ピクセルを中間位置に生成して追加中間ラインを生成することである。ボトルネック問題は、次のことを決めて、４つのリサンプリングオプションからの選択を行うことにより、回避可能である。
【００２８】
１）直ちに出力画像を生成する、又はトランスポーズされたバージョンを生成し、生成された画像をトランスポーズする、及び、
２）水平パスを先に実施する、又は垂直パスを先に実施する。
【００２９】
当該選択用の基準は、セットアップの一部としてチェックされることが好ましく、これによって、ツーパスリサンプラのセットアップ時間が増加する。最適な選択により、ボトルネック問題とずれ問題の両方が緩和されることになる。
【００３０】
基本要素についてのリサンプリングのセットアップが、一般的に、リサンプリング全体（即ち、セットアップ及び実際のリサンプリング）について必要な処理サイクル数の内のかなりの部分を必要とする、ということが理解されよう。関連するセットアップオーバーヘッドは、基本要素が縮小するにつれて増加する。
【００３１】
本発明によれば、上記リサンプラは、リサンプリングを実行するためのリサンプリングアルゴリズムを、少なくとも２つの別個のリサンプリングアルゴリズムからなる１つのセットから選択する。上記リサンプラは、当該リサンプリングアルゴリズムを、基本要素のサイズに応じて選択する。当該サイズは、適切な方法であればいかなる方法で与えられ、計算され、又は推定されてもよい。特に、基本要素のサイズは、基本要素の境界内のテクセルの個数、即ち、三角形の中に位置するテクセルの個数（又は出力ピクセルの個数）に依存する。どのようにして基本要素の境界内のテクセルの個数が計算できるか、についてはよく知られている。境界内に完全には入っていないテクセルであって、当該テクセルの所定のフィルタフットプリントの境界とオーバラップしているテクセルにつき、これらを無視するか考慮するかについては、当業者の選択の余地となる。望むならば、上記サイズは、（例えば幅の最大値と高さの最大値に基づき）推定されるようにしてもよい。
【００３２】
好ましくは、上記リサンプラは、基本要素のサイズを予め決められた閾値と比較することにより、上記アルゴリズムを選択する。例えば、当該サイズが当該閾値よりも小さい場合には、ワンパスリサンプリングが選択される。当該サイズが当該閾値よりも大きい場合には、ツーパスリサンプリングが選択される。３つ以上のリサンプリングアルゴリズムからの選択の余地がある場合には、複数の閾値の値が使用されるようにしてもよい。例えば、様々なサイズの基本要素に対して様々なワンパスリサンプリングアルゴリズムが使用されるようにしてもよく、この場合、アルゴリズムは、ボトルネック問題及び／又はずれ問題が緩和されるように使い分けられる。
【００３３】
上記の文中で示したように、上記装置は、バッファを含んでおり、当該バッファは、リサンプリングされたデータを蓄積するためのリサンプラに関連付けられている。当該バッファは、予め決められたサイズを有している。そして上記閾値は、好適には、当該閾値より小さいサイズの基本要素用に選択されたアルゴリズムにおいては、基本要素用の蓄積データ全体が、当該バッファ内に納まるように、且つ、当該閾値より大きいサイズの基本要素用に選択されたアルゴリズムにおいては、基本要素用の蓄積データが、当該バッファを越えるように、選択される。好適には、ワンパス２次元サンプリングアルゴリズムは、上記閾値より小さいサイズの基本要素用に選択され、ツーパス１次元サンプリングアルゴリズムは、上記閾値より大きいサイズの基本要素用に選択される。
【００３４】
図９は、コンピュータ９００のブロック図を示しており、コンピュータ９００は、中央処理装置９１０と、メモリ９２０と、ディスプレイ９３０と、本発明によるコンピュータグラフィックスシステム９４０とを含んでいる。当該コンピュータは、パーソナルコンピュータ、ゲーム端末、又はワークステーションのような一般的なコンピュータでもよい。当該コンピュータグラフィックスシステムは、グラフィックスプロセッサを利用して実行されるようにしてもよい。当該グラフィックスプロセッサは、本発明による方法を当該グラフィックスプロセッサに実行させるプログラムによる制御の下で動作させるようにしてもよい。当該プログラムは、（例えばＲＯＭ内に）固定的に組み込まれているようにしてもよいが、バックグラウンドメモリからロードされるようにしてもよい。後者の場合には、当該プログラムは、例えばＣＤ−ＲＯＭのような記録媒体、又はインターネットのような有線通信手段又は無線通信手段を利用して、適切に配布されるようにしてもよい。コンピュータグラフィックスシステム９４０は、図１に関連して説明された１又は２以上の機能を実行する。特に、コンピュータグラフィックスシステム９４０は、上述のように、蓄積バッファ９４４を含んでいる又はこれに付設されているようにしてもよい。各リサンプラは、それぞれの蓄積バッファに関連付けられていてもよい。好適には、当該蓄積バッファは、グラフィックスプロセッシングシステムを実行するために利用されるメイングラフィックスプロセッサと同一のＩＣ内に集積される。当該蓄積バッファは、好適には、キャッシュメモリの一部である。コンピュータグラフィックスシステム９４０が、更に、ディスプレイ９３０上に表示される画像全体を収容するフレームを含んでいる又はこれに接続されているようにしてもよい。
【００３５】
図１０は、テレビジョンのようなビデオ処理システム１０００のブロック図を示しており、ビデオ処理システム１０００は、中央処理装置１０１０と、メモリ１０２０と、ディスプレイ１０３０と、本発明によるビデオサブシステム１０４０とを含んでいる。ビデオサブシステム１０４０は、グラフィックスプロセッサ又はビデオプロセッサを利用して実行されるようにしてもよい。当該プロセッサは、本発明による方法を当該プロセッサに実行させるプログラムによる制御の下で動作させるようにしてもよい。当該プログラムは、（例えばＲＯＭ内に）固定的に組み込まれているようにしてもよいが、バックグラウンドメモリからロードされるようにしてもよい。後者の場合には、当該プログラムは、例えばＣＤ−ＲＯＭのような記録媒体、又はインターネットのような有線通信手段又は無線通信手段を利用して、適切に配布されるようにしてもよい。ビデオサブシステム１０４０は、図１に関連して説明された１又は２以上の機能を実行する。図９で説明したように、ビデオサブシステム１０４０は、蓄積バッファ１０４４を含んでいる又はこれに付設されているようにしてもよく、更に、ディスプレイ１０３０上に表示される画像全体を収容するフレームバッファを含んでいる又はこれに接続されているようにしてもよい。一般的には、ビデオサブシステム１０４０は更に、ビデオ入力１０４６を介してビデオストリームを受信する。当該ストリームは、内部チューナを利用して受信されるようにしてもよいし、他の適切な方法で供給される（例えば、ビデオ接続又はデジタルネットワークを介して、ＶＣＲ、ＤＶＤプレーヤー、セットトップボックス等から供給される）ようにしてもよい。ビデオサブシステム１０４０が、一般的にはメインプロセッサ１０１０の制御の下で出力されるようなグラフィカル情報を、ビデオ入力とコンバインさせるようにしてもよい。
【００３６】
留意されるべきは、上述の実施形態は、本発明を限定しているというよりはむしろ説明している、ということであり、且つ、当業者は、添付の特許請求の範囲の領域から離れることなく多くの代替的な実施形態を設計することができる、ということである。特許請求の範囲において、括弧内に記載の参照符号は、請求項を限定するよう解釈されるべきではない。動詞「ｃｏｍｐｒｉｓｅ（備える、含む）」及びその活用形の使用は、請求項で明記されている要素・ステップ以外の要素・ステップの存在を排除するものではない。１つの要素の前の冠詞「ａ」又は「ａｎ」は、当該要素が複数存在することを排除するものではない。本発明は、いくつかの別個の要素を備えるハードウェア手段と、適切にプログラムされたコンピュータ手段により実施されるようにしてもよい。いくつかの手段を列挙している装置請求項において、それらの手段の内のいくつかは、１つの同じハードウェアアイテムにより具体化されるようにしてもよい。単に特定の複数の手段が互いに異なる従属請求項において説明されているという事実は、これらの手段の組み合わせが有用ではないということを意味するものではない。
【図面の簡単な説明】
【００３７】
【図１】前方テクスチャマッピングシステムのグラフィックスパイプラインを示す。
【図２】４Ｄミップマップ構造を示す。
【図３】再構成フィルタリングを示す。
【図４】スクリーン空間プレフィルタリングを示す。
【図５】前方テクスチャマッピングシステムのグラフィックスパイプラインを示す。
【図６Ａ】ワンパスリサンプリングを示す。
【図６Ｂ】ツーパスリサンプリングを示す。
【図７】ボトルネック問題を示す。
【図８】ずれ問題を示す。
【図９】本発明によるグラフィックスシステムを挿入するコンピュータのブロック図である。
【図１０】本発明によるグラフィックスシステムを挿入するコンピュータのブロック図である。
【図１】
2007500391.tif 000005
【図２】
2007500391.tif 000006
【図３】
2007500391.tif 000007
【図４】
2007500391.tif 000008
【図５】
2007500391.tif 000009
【図６Ａ】
2007500391.tif 000010
【図６ｂ】
2007500391.tif 000011
【図７】
2007500391.tif 000012
【図８】
2007500391.tif 000013
【図９】
2007500391.tif 000014
【図１０】
2007500391.tif 000015
【国際調査報告】
2007500391.tif 000016
2007500391.tif 000017