(57)【特許請求の範囲】
【請求項１】
コンピュータシステムにおいて、複数の端縁部を有するアンチエイリアス処理されたテクスチャ画像を生成する方法であって、
ａ）各テクスチャ・アルファ値が画素の不透明さを表示し、１つのテクスチャ・アルファ値が１つの画素に対応するテクスチャ・アルファ値を含む複数の画素を生成するためにグラフィックプリミティブ上にテクスチャをマッピングするステップと、
ｂ）前記グラフィックプリミティブの範囲内にＮ×Ｎ画素のブロックを選択するステップと、
ｃ）Ｎ×Ｎ画素のブロックの各画素の範囲内で副標本化点のセットを生成するステップと、
ｄ）Ｎ×Ｎ画素に基づく副標本化点のセットの範囲内における各副標本化点に対するアルファ値を計算するステップと、
ｅ）副標本化点のセットに対して計算された前記アルファ値に基づいてＮ×Ｎ画素のブロックの範囲内の各画素についてアンチエイリアス処理された画素を生成するステップと、
を備えることを特徴とする方法。
【請求項２】
前記テクスチャマッピングステップａ）が、さらに、
グラフィックプリミティブをラスタライズするステップと、
前記グラフィックプリミティブの範囲内の複数のテクスチャ・アルファ値を生成するステップと、
を備える請求項１に記載の方法。
【請求項３】
アンチエイリアス処理された画素を生成するステップｅ）が、さらに、
Ｎ×Ｎ画素のブロック内の各画素に対するカバリッジマスクを決定するステップと、
Ｎ×Ｎ画素のブロック内の各画素に対するアンチエイリアス処理された画素値を生成するために、前記カバリッジマスクを混合するステップと、
を備える請求項１に記載の方法。
【請求項４】
各副標本化点に対する前記アルファ値が、座標値と、Ｎ×Ｎ画素のテクスチャ・アルファ値から内挿される請求項１に記載の方法。
【請求項５】
前記テクスチャは、各々がＲ，Ｇ，Ｂおよび不透明さを表すアルファ値を含む複数のテクセル（texel）により構成されている請求項１に記載の方法。
【請求項６】
コンピュータシステムにおいて、複数の端縁部を有するアンチエイリアス処理されたテクスチャ画像を生成する方法であって、
ａ）グラフィックプリミティブに対する複数の画素座標を生成するために前記グラフィックプリミティブをラスタライズするステップと、
ｂ）各テクスチャ・アルファ値が画素の不透明さを表示し、画素毎に１つである複数のテクスチャ・アルファ値を、前記グラフィックプリミティブの範囲内で生成するステップと、
ｃ）Ｎ×Ｎ画素のブロックを選択するステップと、
ｄ）画素座標により特徴付けられる複数の副標本化点を、前記Ｎ×Ｎ画素のブロックの各画素の範囲内で生成するステップと、
ｅ）前記Ｎ×Ｎ画素に基づいて各副標本化点に対するアルファ値を内挿するステップと、
ｆ）前記Ｎ×Ｎ画素ブロック内の各画素に対するカバリッジマスクを決定するステップと、
ｇ）アンチエイリアス処理された画素値を生成するために、前記カバリッジマスクを混合するステップと、
を備える方法。
【請求項７】
前記グラフィックプリミティブの範囲内の全ての画素がレンダリングされるまで、Ｎ×Ｎ画素の他のブロックに対して、前記ステップａ）ないしｇ）を繰り返すステップを更に備える請求項６に記載の方法。
【請求項８】
前記各副標本化点に対する前記アルファ値が、Ｎ×Ｎ画素の座標値とテクスチャ・アルファ値とから計算される請求項１または請求項６に記載の方法。
【請求項９】
前記複数の副標本に対するアルファ値が、内挿法により計算される請求項１または請求項８に記載の方法。
【請求項１０】
前記複数の副標本に対するアルファ値が、外挿法により計算される請求項１または請求項８に記載の方法。
【請求項１１】
前記カバリッジマスクが、アルファしきい値テストを適用することにより決定される請求項２または請求項６に記載の方法。
【請求項１２】
前記グラフィックプリミティブがポリゴンである請求項１または請求項６に記載の方法。
【請求項１３】
前記ポリゴンは、三角形である請求項１２に記載の方法。
【請求項１４】
前記複数のテクスチャ・アルファ値が、各々がＲ，Ｇ，Ｂおよび不透明さを表示するアルファ値より構成されるテクセルから生成される請求項１または請求項６に記載の方法。
【請求項１５】
Ｎが２である請求項６に記載の方法。
【請求項１６】
前記複数の副標本に対する前記アルファ値が、バイリニア内挿法により計算される請求項９または請求項１５に記載の方法。
【請求項１７】
前記複数の副標本に対する前記アルファ値が、バイリニア外挿法により計算される請求項９または請求項１５に記載の方法。
【請求項１８】
Ｎが２である請求項１に記載の方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この特許請求の範囲に定義された発明は、コンピュータグラフィックシステムにおけるアンチエイリアシング（反疑似ライン化／エッジの平滑化）の分野に関する。さらに詳しくは、この特許請求の範囲に定義された発明は、副標本化によるテクスチャの端縁部（エッジ）のアンチエイリアシングに関する。
【０００２】
【従来の技術】
現代の３次元（３Ｄ）コンピュータグラフィックスにおいては、画像または対象（オブジェクト― objects  ―）は、例えば点，線分，多角形などのようなグラフィックプリミティブ（graphics primitives―図形上の基本構成要素―）によって詳細に形に表されている。これらのプリミティブの中で、多角形とりわけ三角形は、３Ｄ画像や対象を形に表す上で最も共通して用いられるものである。これは、例えば三角形のような多角形は一般的に容易に生成できると共に他のプリミティブよりもハードウェアによるサポートがより簡単であることが理由となっている。
【０００３】
しかしながら、好まれて用いられている多角形モデル化方法は、複雑で微細な細部を有する画像や対象をモデル化するのには問題を有していた。特に、複雑かつ微細な細部のモデル化は、より小さな多角形を必要としている。例えば、実際には単純な四角形である大きな平面的な壁が、１つ１つの煉瓦を数千個集めたような多数の構成要素を必要とするに違いないであろう。その逆に、より小さな多角形の要求は、画像や対象をモデル化する際により多くの多角形を必要とさせることになる。このことは、より多くの多角形がより多くのデータ処理とより多くのデータ転送と、より多くのデータ蓄積とを求めているからである。したがって多角形を用いて微細で複雑な画像や対象をモデル化することは、結局のところ高価で非実用的なプロセスとなっているが最も高価なグラフィックシステムとなっていた。
【０００４】
多角形モデル化方法に対する種々の選択が、微細で複雑な詳細を有する画像や対象をモデル化する際に工夫されていた。最も好まれている解決策の１つは、画像が多角形上に張り付けられることによって画像が張り付けられた多角形の全体が単一の多角形として描かれるテクスチャマッピングまたはパターンマッピングである。この画像は、テクスチャまたはテクスチャマップと呼ばれ、その個々の要素がテクセル（texel）と呼ばれている。テクスチャマップは、色，輝度，色およびアルファ等のデータによって関連付けられるテクセルの矩形状の列より構成されている。二者択一的には、テクスチャマップは手順（プロシージャ）によって定義されても良い。各々の画素にとっては、選択されたテクセルのセットは、例えば透明性や不明瞭性を表現するアルファ値のような１またはそれ以上の表面の材質的な属性を構成したり、このような属性を極めたりするために用いられる。
【０００５】
一般的には、この矩形状の多角形は、テクスチャマッピングにおける対象の表面上にマップされる。テクスチャマップにおける色の値の矩形状の格子は、（ｓ，ｔ）の座標値によって通常引用されている。一方で、その場面における表面位置は、（ｕ，ｖ）の対象空間座標値により引用され、場面スペース上の画素位置は（ｘ，ｙ）座標によって引用される。
【０００６】
テクスチャマッピングは、テクスチャ走査法またはより一般的な逆走査法の何れかによって行なわれている。テクスチャ走査法においては、テクスチャマップが（ｓ，ｔ）座標から（ｕ，ｖ）座標における対象の表面にマップされている。（ｕ，ｖ）座標における対象の表面はその後、（ｘ，ｙ）座標における画像空間へとマップされている。画素順走査法または画像順走査法としてもまた良く知られている逆走査法においては、テクスチャマッピングプロセスは、逆の順番で行なわれている。とりわけ、（ｘ，ｙ）座標における画素の４つの角部は、（ｕ，ｖ）座標の表面上にマップされている。そして、座標空間（ｕ，ｖ）における画素の角の点は、テクスチャ座標空間（ｓ，ｔ）内にマップされている。テクスチャマップにおける角部（ｓ，ｔ）の点は、画素が表面の曲率により実際にマップするであろう形状に近似する四辺形を定義している。画素のための値は、四辺形の中に存在している全てのテクセルを合計し、四辺形の中に存在するテクセルの端数によって各テクセルを重付けすることによって生成されている。
【０００７】
例えば木や植物のような複雑で詳細な縁部（edges）を有する画像のために、テクスチャマッピング法は、「広告看板化する」方法と呼ばれる技術により実用されていた。この方法においては、個々のテクセルはＲ，Ｇ，Ｂのカラー値のみでなくアルファ値によっても構成されている。異なるアルファ値が、非矩形状のラスタ画像を結果として生成するために、画像における個々の断片に対して割り当てられている。具体的には、「０」のアルファ値は、半透明の断片に対してそれぞれ割り当てられ、「１．０」のアルファ値は、不透明な断片に対してそれぞれ割り当てられている。例えば、多角形は、木の形状に描かれ得るし、木の葉のテクスチャマップは多角形へと適用され得る。視聴者は、０のアルファ値によって木の部分とはならない矩形状のテクスチャの部分を通して観察することができる。
【０００８】
結果としての画像は、１のアルファ値の不透明な断片により構成されている。一方で、０のアルファ値による断片は、表示されない。このように、アルファ値は、対象のマスクまたはパターンテクスチャとしての役割を持っている。すなわち、テクセルの不透明度に基づく各画素の不透明さは、画素が書き込まれるか否かを決定している。木のテクスチャが表面上にマップされたとき、テクセルアルファの不透明な画素が表示される。より詳細に説明すると、アルファ値が０と１との間（例えば０．５）の参照アルファ値と比較される。このアルファしきい値テストにおいて、もしもアルファ値が参照アルファ値よりも大きいならば、画素はそのとき表示される。さもなければ、画素は描かれない。このように、広告看板化する方法は。複雑な画像を生成するために、Ｒ，Ｇ，Ｂ，Ａ（すなわちアルファ）を含むテクスチャマップにより単純な多角形を許容する。
【０００９】
３Ｄグラフィックにおいて、多角形の線分や縁部、特に水平方向または垂直方向に位置するそれらは、しばしばギザギザ状や階段状の線や縁の現れかたをしている。これらのギザギザや階段は、理想的な線に近似しているよりも画素の升目に存在すべき画素の連続として現れることになる。ギザギザな状態や階段状の状態のことをアライアシング（aliasing）と呼んでいる。アンチアライアシングは、ギザギザや階段状を平滑化する方法である。色やグレースケールを表示することが可能なラスター（軌跡）方式により、アンチアライアシング方法は、具体的には、画素間の遷移を平滑にするために画素の強度を変更する。アライアシング効果を提示している縁部の境界に沿って画素の強度を変化させることによって、ギザギザや階段状態はより現実的な画像を表現するように減少させられ得るものである。
【００１０】
多角形の線分や縁部のように、広告看板化方法を用いて生成された画像はアライアシング問題に耐えることができる。従来の広告看板化する方法においては、縁部は、上述した２つの状態（すなわち、不透明および半透明）を表現するためにアルファ値を用いるテクスチャによって定義されていた。このようにして、テクスチャの縁部の表現はアライアシング効果に耐えることができる。
【００１１】
テクスチャ化された画像の質を向上させるために、従来の方法は具体的には画素に対するテクスチャサンプルをより多く生成する。１つの解決策としては、例えば、近くにあるテクセルのテクセル値を挿入することによって、新たなサンプルテクセルが存在している２つのテクセル間に生成される。これらのサンプルはその後の処理のためにメモリ内に蓄積される。もう１つの解決策は、１つのピクセルに対してより多くのテクセルを蓄積することによって、さらに高い解像度のテクスチャを生成している。
【００１２】
残念なことに、これら従来の方法は実現のためには高価な演算手段を必要としている。特に、どちらの解決策とも、ピクセル値に加えてテクセルの属性を蓄積するために、例えばフレームバッファまたはランダムアクセスメモリ（ＲＡＭ）のような大容量のメモリを必要としている。さらに、テクセルのセットはそれぞれの画素毎に生成されているので、１画素に対してテクセルは複数となり、テクセルの方が画素よりも数が多くなってしまう。したがって、テクセルデータの蓄積要求は、全てに組み込むためには法外に高価なものとならざるを得ず、最も高価なコンピュータシステムとなってしまうことになる。加えて、テクスチャ化することは具体的には高価な映像処理である。例えば、それぞれのテクスチャのサンプルについてテクセル源のセットがアクセスされてフィルタリングされる。そして、結果として生じたテクセルは、線形ないしは高次の算術的な動作を実行することになる。このように、テクスチャ化することは、高い帯域幅と演算手段とを必要とするプロセスである。
【００１３】
このように、何が必要とされるかということは、従来の高解像度のテクスチャまたは高性能のサンプリング方法によって通常は関連付けられるコストを掛けることなくテクスチャの縁部を平滑化する方法である。本発明は、画素の近傍のブロックからのテクスチャサブサンプルを生成する方法を提供することによって、これらの必要性を満足させるものである。
【００１４】
【課題を解決するための手段】
本発明は、コンピュータグラフィックシステムにおける画素の副標本（サブサンプル）から、周縁画素のテクスチャアルファ範囲値を生成することによって、テクスチャの周縁を平滑化（アンチエイリアシング）する方法を提供するものである。本発明に係る平滑化方法は、グラフィックプリミティブ、好ましくは多角形の上にテクスチャをマップして、このグラフィックプリミティブの範囲内に複数の画素を生成するものである。生成される画素の各々は、不透明さを表現するテクスチャアルファ値によって特徴付けられる。生成された画素の中で、Ｎを１よりも大きな整数とした場合に、Ｎ×Ｎ画素のブロックが選択される。Ｎ×Ｎ画素のブロック内の各々の画素について、副標本化点のセットが生成される。そして、本発明は、内挿法または外挿法の何れかによって各画素内の各副標本化点についてのアルファ値を演算する。各画素における標本化点についての演算されたアルファ値は、Ｎ×Ｎ画素のブロック内の画素のそれぞれにおける平滑化された画素を生成するために、各画素についての範囲アルファ値を演算するために用いられる。
【００１５】
【発明の実施の形態】
本明細書の一部に含まれ本明細書を形成する添付図面は、この発明の実施形態を表示し、この説明と共にこの発明の原理を説明する助けとなっている。
【００１６】
以下詳細に説明する本発明の説明において、副標本化されたテクスチャエッジの平滑化や多数の特定の詳細説明は、本発明の完全な理解を提供するためものである。しかしながら、これらの特定の詳細を除いても本発明が実現されるであろうことはこの技術の分野の熟練者にとって明らかなことであろう。その他の例において、公知の方法、手続、構成要素および回路は、本発明のアスペクトを明らかにするためにはあまり必要ないので、詳細には説明していない。
【００１７】
本発明は、Ｎが１よりも大きい整数である場合のＮ×Ｎ画素のブロックのテクスチャアルファ値を副標本化することによって平滑化されたテクスチャエッジを生成している。Ｎ×Ｎ画素のグループを並列に示すことにより、本発明は高解像度のテクスチャのコストまたは画素に対する多数のテクスチャサンプルのコストの何れをも必要とすることのない平滑化を提供する。本発明によるこの方法は、コンピュータグラフィックシステム内で実行される。
【００１８】
図１は本発明が実行され、または実現されるコンピュータグラフィックシステム１００のブロック図を示している。コンピュータグラフィックシステム１００が単に例示的なものであること、また、本発明が汎用目的のコンピュータシステム、組み込まれたコンピュータシステム、電子的自動化設計に特別に適用されるコンピュータシステムを含むたくさんの異なるコンピュータシステム内で動作可能であること、は正しく評価されるべきである。本発明における以下の議論において特定のプロセスやステップが、コンピュータグラフィックシステム１００のコンピュータ読み出し可能メモリ内にある一連の指示（例えばソフトウェアプログラム）により実現されると共に、システム１００内のプロセッサにより実行される。
【００１９】
コンピュータグラフィックシステム１００は、複雑なまたは３Ｄの画像を生成するための何らかのコンピュータにより制御されたグラフィックシステムを含んでいる。コンピュータグラフィックシステム１００は、このコンピュータシステムの多数の構成部分間でデジタル情報を送信するためのバス１０１を含む。１または複数のプロセッサ１０２は、情報を処理するためにバス１０１に接続されている。その情報がどのように処理されるべきについての指示に従った情報が、第容量蓄積装置１０７，読み出し専用メモリ１０６，メインメモリ１０４，およびスタティックランダムアクセスメモリ（ＳＲＡＭ）１０３より構成される階層的メモリシステム内に蓄積されている。大容量蓄積装置１０７は、大容量のデジタルデータを蓄積するために用いられている。大容量蓄積装置１０７は、１または複数のハードディスク装置、フロッピディスク装置、光ディスクドライブ、テープドライブ、ＣＤ−ＲＯＭドライブまたは、データをデジタル的に格納するための媒体を有する他のタイプの多数の蓄積装置より構成しても良い。読み出し専用メモリ（ＲＯＭ）１０６は、例えばマイクロプロセッサに対する指示のような恒久的な基礎を有するデジタルデータを蓄積するために用いられている。メインメモリ１０４は中間基礎を有するデジタルデータを蓄積するために用いられている。メインメモリ１０４はダイナミックランダムアクセスメモリ（ＤＲＡＭ）であっても良い。グラフィックサブシステム１１１は、コンピュータグラフィックシステム１００内に含まれ得るオプションである。プロセッサ１０２は、グラフィックサブシステム１１１に例えば描画コマンド、座標頂点データ、および対象の幾何学的位置、色、テクスチャ、陰、および他の表面的なパラメータをに関連するグラフィックデータを供給している。対象データは、グラフィックサブシステム１１１によって、以下の４つのパイプライン化された段階、幾何学的サブシステム１３１，走査変換サブシステム１３２，ラスタサブシステム１３３，およびディスプレイサブシステム１３４内で処理されている。幾何学的サブシステム１３１は、プロセッサ１０２からのグラフィックデータをスクリーン座標システムへと変換する。表示される対象に対して深さを与えるような投影や変換プロセスを行なうことは、幾何学的さ部システムの機能である。幾何学的サブシステム１３１によって供給される、結果として生じるプリミティブ（点、線分、多角形、多面体等）は、その後走査変換サブシステム１３２に供給される。これらのプリミティブに基づく画素データをその後生成することは走査変換サブシステム１３２機能である。この走査変換サブシステム１３２は、直線を内挿する内挿機能を行なっているので、中間各値は幾何学的なサブシステムによって個別的かつ分離的に演算される必要がなくなる。次に、画素データは、ラスタサブシステム１３３に送られ、ここでＺ−バッファリング、混合、テクスチャ化、平滑化等の機能が行なわれる。結果として生じる画素値は、フレームバッファ１０９に引き続いて蓄積され、Ｚ値はＺバッファ１１０内に蓄積される。ディスプレイサブシステム１３４は、フレームバッファ１０９を読んで表示モニタ１２１上に画像を表示する。
【００２０】
幾つかの他の装置もまた、コンピュータグラフィックシステム１００に接続されていても良い。例えば、アルファ数値化されたキーボード１２２が、コマンドや他の情報をプロセッサ１０２に入力させるために用いられている。他のタイプのユーザ入力装置は、コンピュータスクリーン上に可動のカーソルを位置決めして対象を選択するために用いられる（マウス、トラックボール、ジョイスティック、等の）カーソル制御装置１２３である。バス１０１に接続される可能性のある他の装置は、データまたは他の情報を実体のある（形のある）媒体上に印刷する（例えば、レーザプリンタ等の）ハードコピー装置１２４である。さらに、マルチメディアの可能性を提供するため、音声の録音や映像のオプションとしての音声装置１２５をコンピュータグラフィックスシステムに接続することも可能である。
【００２１】
本発明は、本発明は、表示のための多角形内に平滑化されたテクスチャエッジを示すコンピュータグラフィックシステム１００内で行なわれる。３Ｄグラフィックコンピュータシステム内で現実的に画像を表現することは、表面のモデル化を必要としている。共有表面モデル化方法は、多角形のメッシュ技術である。多角形のメッシュは、各エッジが最大でも２つの多角形によって共有されるように接続された複数のエッジ、複数の頂点および複数の多角形を収集したものである。エッジは２つの頂点を結び、多角形は複数のエッジの閉鎖された連続である。エッジは２つの隣接する多角形によって共有され得るし、頂点は少なくとも２つのエッジによって共有される。各頂点は、３次元空間内でＸ，ＹおよびＺの座標を有する。多角形の数学的な説明は、プリミティブとして引用されている。多角形の収集は、接続性や属性情報、モデル、対象と共に、その全体について行なわれる。表面に近似するための多角形メッシュはこの技術分野においては良く知られていることは正しく評価されるべきである。
【００２２】
多角形モデル化は、コンピュータグラフィックシステムにおける画像の表示に際しての幾つかのステップのうちの１つである。図２は、コンピュータグラフィックシステム１００におけるパイプラインまたはプロセス２００を表示する３次元グラフィック画像のブロック図を示している。この表示のプロセスは上述したコンピュータグラフィックシステム１００において実行されている。幾何学変換ステージ２０１は、種々のグラフィックプリミティブを用いる対象をモデル化する。そして、点灯ステージ２０２は、前記プリミティブに対して点灯状態を付与する。切り取り（クリッピング）ステージは、ある領域内に存在するプリミティブの部分を決定する。多角形部分は、多角形軌跡化ステージ２０４で生成され、小部分動作ステージ２０５へと進む。部分は、例えば多角形などのグラフィックプリミティブにより覆われる画素の小部分である。画素は有限の面積を有し、四角形状を有するものと考えられている。画素に従属するそれぞれの小部分は、画素の全ての色に対するその色に貢献する。この貢献はそれぞれの部分の面積に依存している。画素の色はこの画素内の全ての小部分の色の重み付けされた平均値である。小部分の面積が重みとして用いられる。本発明に係るアンチエイリアシング（平滑化）プロセスは、解釈（レンダリング）プロセス２００の小部分動作ステージ２０５で適用される。アンチエイリアシング（平滑化）プロセスを適用した後、小部分は引き続く表示のためにフレームバッファステージ２０６におけるフレームバッファに提供される。
【００２３】
軌跡化（ラスタライゼーション）ステージ２０４は、色（例えば、ＲＧＢ）、深さ（例えば、Ｚ値）、面積、ステンシル（原紙）、および透明性またはアルファ値などの小部分を説明する多数の特性を計算する。具体的には、軌跡化（ラスタライゼーション）ステージ２０４は、画素の面積ではなく画素の中心における特性を計算している。アルファ値は、透明性またはその反対の不透明性を表現している。このアルファ値は、具体的には完全に透明である０と、完全に不透明である１．０との間で設定される。
【００２４】
本発明は、画素をアンチエイリアシング（平滑化）するために範囲（カバリッジ―coverage―）アルファ値を生成するための複数のアルファ値を実際に用いている。本発明によれば、複数のアルファサンプル（標本）点が画素内で生成される。これらのサンプル点は、画素内における複数、具体的には４ないし１６のサブサンプル（副標本）またはスーパーサンプル（超標本）点の位置を特に見つけることによって生成されている。これらのサブサンプル点は、それらが画素に等しい面積をカバーする（覆う）ような方法によって分散されているのが好ましい。ここで、「スーパーサンプル」および「サブサンプル」はともに各々の画素についての複数のサンプルのことを言い、これらの中で交換可能に用いられるものであることは注意すべきである。
【００２５】
各々のサブサンプルでのアルファ値を伴った画素当たりのこれらの多数のサブサンプルに基づいて、１つの画素の範囲アルファ値が、まず多数のサブサンプルを決定することによって計算され得るものであり、これら多数のサブサンプルのアルファ値は所定のアルファしきい値を超えている。そして、この画素に関する範囲アルファマスク値は、この画素内のサブサンプルの合計数によって、アルファしきい値を上回る多数のサブサンプルを分割することによって計算され得るものである。そして、この範囲アルファ値は、たくさんの公知の混合方法によってテクスチャ化された画像をアンチエイリアス（平滑化）するためのカラー値を混合するために用いられ得るものである。
【００２６】
図３は、本発明に係るサブサンプルテクスチャアルファ値を実用化するテクスチャエッジをアンチエイリアシングするステップのフローチャート３００を示している。テクスチャマップまたはテクスチャマップを生成する手順は、コンピュータグラフィックスシステム１００のメモリユニット内にまず蓄積される。テクスチャマップ内の各テクセルは、カラー値と同様に不透明性をも表現するアルファ値を含んでいる。ステップ３０２において、本発明は、グラフィックプリミティブ内で複数の画素を生成するために、好ましくは多角形からなるグラフィックプリミティブに関するテクスチャまたはテクスチャの部分をマップしている。生成された画素の各々は、テクスチャアルファ値によって特徴付けられる。例えば多角形のようなグラフィックプリミティブ上にテクスチャをマッピングすることは、良く知られた技術である。本質的には、テクスチャマッピングは、複数の座標にしたがって例えばＲ（赤）、Ｇ（緑）、Ｂ（青）およびアルファ値のような画素におけるテクスチャサンプルを生成するために、グラフィックプリミティブの軌跡化（ラスタライゼーション）とテクスチャのフィルタリングとを含んでいるものである。
【００２７】
生成された画素間で、Ｎ×Ｎ画素のブロックがステップ３０４内で選択され、ここで、Ｎは１よりも大きい整数である。好ましくは、Ｎ×Ｎ画素は隣接する矩形で格子状の複数の画素である。本発明の１つの実施形態においては、Ｎ×Ｎの画素の格子内の各画素のための連続する計算は、同時にかつ並列に行なわれている。すなわち、Ｎ×Ｎ画素のブロック内の２Ｎ画素は、論理的には同時に描かれている。ステップ３０６において、副標本（サブサンプル）点のセットは、Ｎ×Ｎ画素のブロック内における各画素について生成されている。
【００２８】
ステップ３０８では、本発明は内挿法または外挿法の何れかによって、各画素における各副標本点に関するアルファ値を計算している。１つの実施形態において、Ｎ×Ｎ格子の内側の部分において位置決めされた副標本（サブサンプル）アルファ値は、超標本（スーパーサンプル）と画素との座標を用いるＮ×Ｎ画素間で内挿することによって得られる。他の実施形態においては、Ｎ×Ｎ格子の外側の部分で描かれる副標本アルファ値が外挿法によって得られる。
【００２９】
このように計算された各画素における標本点（サンプルポイント）のためのアルファ値は、その後、Ｎ×Ｎ画素のブロックの範囲内の画素の各々でのアンチエイリアス（平滑化）された画素を生成するために用いられる。特に、スーパーサンプルアルファ値は、スーパーサンプルが不透明であるか否かを決定するための特定のアルファしきい値によってしきい値処理される。このことは、画素値毎の従来の範囲マスクを引き起こしている。画素値毎の範囲マスクは、その後、設定された多数のサブサンプル範囲ビットによって混合される。処理されるべき必要のあるプリミティブに含まれる画素がより多いものとするならば、プロセス３００はステップ３１２および３１４で示されているようにアンチエイリアス（平滑化）するためのＮ×Ｎ画素の他のブロックを選択することによって動作が続けられる。
【００３０】
図４は、２×２画素のブロック４００についての範囲アルファ値を生成するための例示的なサブサンプル点パターンを示している。２×２画素のブロック４００は、４つの連続する画素４０１，４０２，４０３および４０４により構成されており、四角い形状を形成している。（ｘ、ｙ）座標は、この四角い形状に割り当てられ得る。本発明の１つの実施形態において、四角内の画素４０１から４０４のそれぞれは、四角の左上の角の原点（０，０）４０５を備える（ｘ、ｙ）座標によって説明される。各画素の長さおよび幅は、ｘ方向またはｙ方向の何れかで１である。中心では、画素４０１，４０２，４０３および４０９が、それぞれアルファ値Ａ１  ４０６，Ａ２  ４０７，Ａ３  ４０８，Ａ４  ４０９によって特徴付けられる。
【００３１】
図４を参照しながら、４つのサブサンプル点のパターンは四角の中のそれぞれの画素により関連付けられ：画素４０１のパターンはサブサンプル点４１０，４１１，４１２，４１３を含み；画素４０２のパターンはサブサンプル点４１４，４１５，４１６，４１７を含み；画素４０３のパターンはサブサンプル点４１８，４１９，４２０，４２１を含み；画素４０９のパターンはサブサンプル点４２２，４２３，４２４，４２５を含んでいる。本発明が図３のサブサンプルパターンによって示され、本発明が個別のサンプル点分散に依存しないばかりでなく画素についてのサンプル点の特定の数にも依存しておらず、サブサンプル点の他のパターンや数により等しく機能することは注目すべきことである。サブサンプル点は、特に、１よりも大きい何れかの数であるべきである。最も大きな目的としては、画素内のサブサンプル点の数は、４から１６の範囲を持ち得るものである。
【００３２】
このようなサンプル点は範囲アルファ値を生成するためのパターンやマスクを提供している。サンプル点マスクを生成する種々の装置や方法は、この技術分野においては公知のものであり、例えば、この明細書において先行技術に組み入れられるアケリー（Akeley）に与えられた米国特許第５，３６９，７３９号の「グラフィック・ディスプレイ・システムにおけるポイント・サンプル・マスクの生成装置および方法」の公報に開示されている。
【００３３】
図４に示されるような４つの画素の四角において、テクスチャアルファ（すなわち、不透明）値は、アルファ値「１」とアルファ値「０」の数をマッピングすることに基づいて各々の画素について生成されている。これら４つのテクスチャアルファ値の収集は、その四角内の各画素についてのフィルタされかつサンプルされたテクスチャアルファ値を生じさせる。例えば、プリミティブをラスタリング（軌跡化）したり、テクスチャをグラフィックプリミティブへとマッピングすることによってテクスチャアルファ値「１」や「０」の最初のセットをフィルタリングしたりすることは、アルファ値Ａ１ ４０６の．７、Ａ２ ４０７の．５、Ａ３ ４０８の．３、Ａ４ ４０９の．２を生じさせている。これらのアルファ値Ａ１ ４０６、Ａ２ ４０７、Ａ３ ４０８、Ａ４ ４０９は、２×２画素のブロック４００の（ｘ、ｙ）座標空間から直交的に上方に投影される矢印のように描写することができる。
【００３４】
図５は、四角内の画素４０１ないし４０４についてのアルファ値Ａ１ ４０６の．７、Ａ２ ４０７の．５、Ａ３ ４０８の．３、Ａ４ ４０９の．２を直交的な投影によって定義される面５０２の３次元の図を示している。本発明は例示的な副標本点４１０から４２５の各々における付加的にサブサンプルされたアルファ値生成するために、アルファ値Ａ１ ４０６、Ａ２ ４０７、Ａ３ ４０８およびＡ４ ４０９を実際に用いている。特に、副標本点４１０から４２５におけるアルファ値は、内挿法または外挿法によって計算されている。サブサンプルアルファ値の内挿または外挿は、画素がその中に存在しているグラフィックプリミティブ（例えば、多角形）が直線的な表面をであることから可能となる。したがって、副標本化点のそれぞれのアルファ値は、３次元の連続する表面上の複数の点として処理され得るものである。このように、画素４０１から４０４におけるアルファ値Ａ１ ４０６、Ａ２ ４０７、Ａ３ ４０８およびＡ４ ４０９が与えられることによって、如何なるサブサンプル点におけるアルファ値が内挿法または外挿法の手法の何れかを介して生成され得るものである。本発明においては、内挿法は既知の値を有する複数の点の間の点の値を決定することを意味し、外挿法は複数の点の既知の値を延長させたり投影させたりすることにより、ある点の値を予想することを意味している。
【００３５】
図６は、本発明に係る例示的なバイリニア内挿法または外挿法技術を説明するための２×２画素のブロック６００を示している。画素４０１から４０４は、関連付けられるアルファ値と各画素の中心の座標とを有している。サブサンプル点４１３におけるアルファ値は、バイリニア内挿法によって生成されている。まずこのバイリニア内挿法は、２つの中間サンプル点６０２と６０４におけるアルファ値を決定する。中間サンプル点６０２におけるアルファ値は、Ａ１ ４０６とＡ３ ４０８により関連付けられた点の間で線形的に内挿されて求められる。同様に、中間サンプル点６０４におけるアルファ値は、Ａ２ ４０７とＡ４ ４０９により関連付けられた点の間で線形的に内挿されて求められる。そして、サブサンプル点４１３におけるアルファ値は、中間点６０２と６０４の座標とアルファ値との間で線形的に内挿されて求められる。
【００３６】
同様に、サンプル点４２１におけるアルファ値はバイリニア外挿法によって決定され得る。まず、１対の中間サンプル点６０６と６０８のアルファ値が計算される。この中間サンプル点６０６におけるアルファ値は、点Ａ１ ４０６と点Ａ３ ４０８とのアルファ値を投影させることによって線形的に外挿されて求められる。同様に、中間サンプル点６０８におけるアルファ値は、点Ａ２ ４０７と点Ａ４ ４０９とのアルファ値を延長させることによって線形的に外挿されて求められる。そして、サブサンプル点４２１におけるアルファ値は、中間点６０６と６０８のアルファ値と座標との間で線形的に内挿されて求められる。図６に示されるバイリニア内挿法および外挿法の技術は、この技術分野においては公知のものである。本発明は、Ｎが２よりも大きいときのＮ×Ｎ画素のブロックを用いることによっても行なわれ得るものであることは理解されるべきである。例えば、３×３画素のブロックは、従来の正方形の内挿法技術を用いることができるし、４×４画素のブロックは、従前の正方形の内挿法の技術を適用することができる。この技術分野におけるこれらの熟練者達は、Ｎ×Ｎ画素のブロック内の他の全てのサブサンプル点についてのアルファ値が複数の画素のアルファ値から同様にして内挿または外挿され得ることをさらに認識できるであろう。
【００３７】
Ｎ×Ｎ画素のブロックからのスーパーサンプルアルファ値を内挿することによって、この発明は場所的な長所を提供する。すなわち、ある画素が描かれているのにつれて、そのアルファ値が処理される。最初のテクスチャ画像にアクセスしてテクスチャデータをバイリニアまたはトリリニア（tri-linear）またはフィルタリングしたりすることを従来の新しいテクスチャサンプルを生成する方法とは違って、本発明は、Ｎが１よりも大きい整数であるＮ×Ｎ画素の１つの線形の結合を必要とするだけで、１つ新たなスーパーサンプル（サブサンプル）点を生成している。その上、スーパーサンプルされたテクセルを外挿して生成していた従来の方法と異なって、本発明はアルファ値のみを内挿して求めている。このようにして、本発明に係るアンチエイリアシング（平滑化）方法は、従来の方法よりもより少ないデータ処理を必要とするだけで済むと共に、これによりさらに多くの効果を奏する。
【００３８】
コンピュータシステムにおいて、プロセッサとメモリ間でのローディング動作や蓄積動作は、詳細には性能面での重要な経路となる。これは、算術的および論理的な動作よりもロードする（負荷を掛ける）動作や蓄積する動作を行なうことには通常より多くの時間が求められているからである。従来の高解像度のテクスチャは例えばよりたくさんのテクセルを生成したり蓄積したりしている。これに対して、本発明は付加的なテクセルを生成していない。その代わりに、本発明はサブサンプル点において画素が描かれているようにアルファ値を生成している。このように本発明におけるこの同時処理は、元々のテクスチャ画像データへのアクセスまたは手順が最小に保持されているので、動作をロードしたり蓄積したりするのに消費する時間を最少化することができる。したがって、本発明はコンピュータシステムの全ての性能を低コストへと改善することができる。
【００３９】
本発明、すなわちサブサンプルされたテクスチャエッジのアンチエイリアシング（平滑化）は、上述されたとおりである。本発明が個々の実施形態について説明されているとはいえ、本発明がこれらの実施形態によって限定されるようには解釈されるべきではないし、むしろ上述した特許請求の範囲に従って解釈されるべきであることは正しく認識されるべきことである。
【図面の簡単な説明】
【図１】  本発明におけるステップを実行する例示的なコンピュータシステムを示すシステムレベルブロック図である。
【図２】  パイプラインまたはプロセスを描写する３Ｄグラフィック画像を示すブロック図である。
【図３】  本発明による副標本化されたテクスチャマッピングによってエッジを平滑化するステップを示すフローチャートである。
【図４】  ２×２画素のブロックのための範囲アルファ値を生成するための定時的な副標本化点パターンを示す説明図である。
【図５】  四角形内の画素のアルファ値を直交的に投影することによって定義された表面を示す説明図である。
【図６】  本発明によるバイリニア内挿法および外挿法技術を例示的に示す２×２画素のブロックを示す説明図である。
【符号の説明】
１００  コンピュータグラフィックシステム
１０１  バス
１０２  プロセッサ
１０４  メインメモリ
１０６  ＲＯＭメモリ
１０７  大容量蓄積装置
１０９  フレームバッファ
１１０  Ｚバッファ
１１１  グラフィックサブシステム
１２１  表示モニタ
１３１  幾何学的サブシステム
１３２  走査変換システム
１３３  ラスターサブシステム
１３４  ディスプレイサブシステム
２０１  幾何学変換
２０２  点灯
２０３  切り取り（クリッピング）
２０４  多角形軌跡化
２０５  小部分動作
２０６  フレームバッファ
【図１】
0004311877.tif 000002
【図２】
0004311877.tif 000003
【図３】
0004311877.tif 000004
【図４】
0004311877.tif 000005
【図５】
0004311877.tif 000006
【図６】
0004311877.tif 000007