JP4311877B2 - 副標本化テクスチャ端縁部のアンチエイリアシング - Google Patents
副標本化テクスチャ端縁部のアンチエイリアシング Download PDFInfo
- Publication number
- JP4311877B2 JP4311877B2 JP2000534973A JP2000534973A JP4311877B2 JP 4311877 B2 JP4311877 B2 JP 4311877B2 JP 2000534973 A JP2000534973 A JP 2000534973A JP 2000534973 A JP2000534973 A JP 2000534973A JP 4311877 B2 JP4311877 B2 JP 4311877B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- pixels
- texture
- alpha
- values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
Description
【産業上の利用分野】
この特許請求の範囲に定義された発明は、コンピュータグラフィックシステムにおけるアンチエイリアシング(反疑似ライン化/エッジの平滑化)の分野に関する。さらに詳しくは、この特許請求の範囲に定義された発明は、副標本化によるテクスチャの端縁部(エッジ)のアンチエイリアシングに関する。
【0002】
【従来の技術】
現代の3次元(3D)コンピュータグラフィックスにおいては、画像または対象(オブジェクト― objects ―)は、例えば点,線分,多角形などのようなグラフィックプリミティブ(graphics primitives―図形上の基本構成要素―)によって詳細に形に表されている。これらのプリミティブの中で、多角形とりわけ三角形は、3D画像や対象を形に表す上で最も共通して用いられるものである。これは、例えば三角形のような多角形は一般的に容易に生成できると共に他のプリミティブよりもハードウェアによるサポートがより簡単であることが理由となっている。
【0003】
しかしながら、好まれて用いられている多角形モデル化方法は、複雑で微細な細部を有する画像や対象をモデル化するのには問題を有していた。特に、複雑かつ微細な細部のモデル化は、より小さな多角形を必要としている。例えば、実際には単純な四角形である大きな平面的な壁が、1つ1つの煉瓦を数千個集めたような多数の構成要素を必要とするに違いないであろう。その逆に、より小さな多角形の要求は、画像や対象をモデル化する際により多くの多角形を必要とさせることになる。このことは、より多くの多角形がより多くのデータ処理とより多くのデータ転送と、より多くのデータ蓄積とを求めているからである。したがって多角形を用いて微細で複雑な画像や対象をモデル化することは、結局のところ高価で非実用的なプロセスとなっているが最も高価なグラフィックシステムとなっていた。
【0004】
多角形モデル化方法に対する種々の選択が、微細で複雑な詳細を有する画像や対象をモデル化する際に工夫されていた。最も好まれている解決策の1つは、画像が多角形上に張り付けられることによって画像が張り付けられた多角形の全体が単一の多角形として描かれるテクスチャマッピングまたはパターンマッピングである。この画像は、テクスチャまたはテクスチャマップと呼ばれ、その個々の要素がテクセル(texel)と呼ばれている。テクスチャマップは、色,輝度,色およびアルファ等のデータによって関連付けられるテクセルの矩形状の列より構成されている。二者択一的には、テクスチャマップは手順(プロシージャ)によって定義されても良い。各々の画素にとっては、選択されたテクセルのセットは、例えば透明性や不明瞭性を表現するアルファ値のような1またはそれ以上の表面の材質的な属性を構成したり、このような属性を極めたりするために用いられる。
【0005】
一般的には、この矩形状の多角形は、テクスチャマッピングにおける対象の表面上にマップされる。テクスチャマップにおける色の値の矩形状の格子は、(s,t)の座標値によって通常引用されている。一方で、その場面における表面位置は、(u,v)の対象空間座標値により引用され、場面スペース上の画素位置は(x,y)座標によって引用される。
【0006】
テクスチャマッピングは、テクスチャ走査法またはより一般的な逆走査法の何れかによって行なわれている。テクスチャ走査法においては、テクスチャマップが(s,t)座標から(u,v)座標における対象の表面にマップされている。(u,v)座標における対象の表面はその後、(x,y)座標における画像空間へとマップされている。画素順走査法または画像順走査法としてもまた良く知られている逆走査法においては、テクスチャマッピングプロセスは、逆の順番で行なわれている。とりわけ、(x,y)座標における画素の4つの角部は、(u,v)座標の表面上にマップされている。そして、座標空間(u,v)における画素の角の点は、テクスチャ座標空間(s,t)内にマップされている。テクスチャマップにおける角部(s,t)の点は、画素が表面の曲率により実際にマップするであろう形状に近似する四辺形を定義している。画素のための値は、四辺形の中に存在している全てのテクセルを合計し、四辺形の中に存在するテクセルの端数によって各テクセルを重付けすることによって生成されている。
【0007】
例えば木や植物のような複雑で詳細な縁部(edges)を有する画像のために、テクスチャマッピング法は、「広告看板化する」方法と呼ばれる技術により実用されていた。この方法においては、個々のテクセルはR,G,Bのカラー値のみでなくアルファ値によっても構成されている。異なるアルファ値が、非矩形状のラスタ画像を結果として生成するために、画像における個々の断片に対して割り当てられている。具体的には、「0」のアルファ値は、半透明の断片に対してそれぞれ割り当てられ、「1.0」のアルファ値は、不透明な断片に対してそれぞれ割り当てられている。例えば、多角形は、木の形状に描かれ得るし、木の葉のテクスチャマップは多角形へと適用され得る。視聴者は、0のアルファ値によって木の部分とはならない矩形状のテクスチャの部分を通して観察することができる。
【0008】
結果としての画像は、1のアルファ値の不透明な断片により構成されている。一方で、0のアルファ値による断片は、表示されない。このように、アルファ値は、対象のマスクまたはパターンテクスチャとしての役割を持っている。すなわち、テクセルの不透明度に基づく各画素の不透明さは、画素が書き込まれるか否かを決定している。木のテクスチャが表面上にマップされたとき、テクセルアルファの不透明な画素が表示される。より詳細に説明すると、アルファ値が0と1との間(例えば0.5)の参照アルファ値と比較される。このアルファしきい値テストにおいて、もしもアルファ値が参照アルファ値よりも大きいならば、画素はそのとき表示される。さもなければ、画素は描かれない。このように、広告看板化する方法は。複雑な画像を生成するために、R,G,B,A(すなわちアルファ)を含むテクスチャマップにより単純な多角形を許容する。
【0009】
3Dグラフィックにおいて、多角形の線分や縁部、特に水平方向または垂直方向に位置するそれらは、しばしばギザギザ状や階段状の線や縁の現れかたをしている。これらのギザギザや階段は、理想的な線に近似しているよりも画素の升目に存在すべき画素の連続として現れることになる。ギザギザな状態や階段状の状態のことをアライアシング(aliasing)と呼んでいる。アンチアライアシングは、ギザギザや階段状を平滑化する方法である。色やグレースケールを表示することが可能なラスター(軌跡)方式により、アンチアライアシング方法は、具体的には、画素間の遷移を平滑にするために画素の強度を変更する。アライアシング効果を提示している縁部の境界に沿って画素の強度を変化させることによって、ギザギザや階段状態はより現実的な画像を表現するように減少させられ得るものである。
【0010】
多角形の線分や縁部のように、広告看板化方法を用いて生成された画像はアライアシング問題に耐えることができる。従来の広告看板化する方法においては、縁部は、上述した2つの状態(すなわち、不透明および半透明)を表現するためにアルファ値を用いるテクスチャによって定義されていた。このようにして、テクスチャの縁部の表現はアライアシング効果に耐えることができる。
【0011】
テクスチャ化された画像の質を向上させるために、従来の方法は具体的には画素に対するテクスチャサンプルをより多く生成する。1つの解決策としては、例えば、近くにあるテクセルのテクセル値を挿入することによって、新たなサンプルテクセルが存在している2つのテクセル間に生成される。これらのサンプルはその後の処理のためにメモリ内に蓄積される。もう1つの解決策は、1つのピクセルに対してより多くのテクセルを蓄積することによって、さらに高い解像度のテクスチャを生成している。
【0012】
残念なことに、これら従来の方法は実現のためには高価な演算手段を必要としている。特に、どちらの解決策とも、ピクセル値に加えてテクセルの属性を蓄積するために、例えばフレームバッファまたはランダムアクセスメモリ(RAM)のような大容量のメモリを必要としている。さらに、テクセルのセットはそれぞれの画素毎に生成されているので、1画素に対してテクセルは複数となり、テクセルの方が画素よりも数が多くなってしまう。したがって、テクセルデータの蓄積要求は、全てに組み込むためには法外に高価なものとならざるを得ず、最も高価なコンピュータシステムとなってしまうことになる。加えて、テクスチャ化することは具体的には高価な映像処理である。例えば、それぞれのテクスチャのサンプルについてテクセル源のセットがアクセスされてフィルタリングされる。そして、結果として生じたテクセルは、線形ないしは高次の算術的な動作を実行することになる。このように、テクスチャ化することは、高い帯域幅と演算手段とを必要とするプロセスである。
【0013】
このように、何が必要とされるかということは、従来の高解像度のテクスチャまたは高性能のサンプリング方法によって通常は関連付けられるコストを掛けることなくテクスチャの縁部を平滑化する方法である。本発明は、画素の近傍のブロックからのテクスチャサブサンプルを生成する方法を提供することによって、これらの必要性を満足させるものである。
【0014】
【課題を解決するための手段】
本発明は、コンピュータグラフィックシステムにおける画素の副標本(サブサンプル)から、周縁画素のテクスチャアルファ範囲値を生成することによって、テクスチャの周縁を平滑化(アンチエイリアシング)する方法を提供するものである。本発明に係る平滑化方法は、グラフィックプリミティブ、好ましくは多角形の上にテクスチャをマップして、このグラフィックプリミティブの範囲内に複数の画素を生成するものである。生成される画素の各々は、不透明さを表現するテクスチャアルファ値によって特徴付けられる。生成された画素の中で、Nを1よりも大きな整数とした場合に、N×N画素のブロックが選択される。N×N画素のブロック内の各々の画素について、副標本化点のセットが生成される。そして、本発明は、内挿法または外挿法の何れかによって各画素内の各副標本化点についてのアルファ値を演算する。各画素における標本化点についての演算されたアルファ値は、N×N画素のブロック内の画素のそれぞれにおける平滑化された画素を生成するために、各画素についての範囲アルファ値を演算するために用いられる。
【0015】
【発明の実施の形態】
本明細書の一部に含まれ本明細書を形成する添付図面は、この発明の実施形態を表示し、この説明と共にこの発明の原理を説明する助けとなっている。
【0016】
以下詳細に説明する本発明の説明において、副標本化されたテクスチャエッジの平滑化や多数の特定の詳細説明は、本発明の完全な理解を提供するためものである。しかしながら、これらの特定の詳細を除いても本発明が実現されるであろうことはこの技術の分野の熟練者にとって明らかなことであろう。その他の例において、公知の方法、手続、構成要素および回路は、本発明のアスペクトを明らかにするためにはあまり必要ないので、詳細には説明していない。
【0017】
本発明は、Nが1よりも大きい整数である場合のN×N画素のブロックのテクスチャアルファ値を副標本化することによって平滑化されたテクスチャエッジを生成している。N×N画素のグループを並列に示すことにより、本発明は高解像度のテクスチャのコストまたは画素に対する多数のテクスチャサンプルのコストの何れをも必要とすることのない平滑化を提供する。本発明によるこの方法は、コンピュータグラフィックシステム内で実行される。
【0018】
図1は本発明が実行され、または実現されるコンピュータグラフィックシステム100のブロック図を示している。コンピュータグラフィックシステム100が単に例示的なものであること、また、本発明が汎用目的のコンピュータシステム、組み込まれたコンピュータシステム、電子的自動化設計に特別に適用されるコンピュータシステムを含むたくさんの異なるコンピュータシステム内で動作可能であること、は正しく評価されるべきである。本発明における以下の議論において特定のプロセスやステップが、コンピュータグラフィックシステム100のコンピュータ読み出し可能メモリ内にある一連の指示(例えばソフトウェアプログラム)により実現されると共に、システム100内のプロセッサにより実行される。
【0019】
コンピュータグラフィックシステム100は、複雑なまたは3Dの画像を生成するための何らかのコンピュータにより制御されたグラフィックシステムを含んでいる。コンピュータグラフィックシステム100は、このコンピュータシステムの多数の構成部分間でデジタル情報を送信するためのバス101を含む。1または複数のプロセッサ102は、情報を処理するためにバス101に接続されている。その情報がどのように処理されるべきについての指示に従った情報が、第容量蓄積装置107,読み出し専用メモリ106,メインメモリ104,およびスタティックランダムアクセスメモリ(SRAM)103より構成される階層的メモリシステム内に蓄積されている。大容量蓄積装置107は、大容量のデジタルデータを蓄積するために用いられている。大容量蓄積装置107は、1または複数のハードディスク装置、フロッピディスク装置、光ディスクドライブ、テープドライブ、CD−ROMドライブまたは、データをデジタル的に格納するための媒体を有する他のタイプの多数の蓄積装置より構成しても良い。読み出し専用メモリ(ROM)106は、例えばマイクロプロセッサに対する指示のような恒久的な基礎を有するデジタルデータを蓄積するために用いられている。メインメモリ104は中間基礎を有するデジタルデータを蓄積するために用いられている。メインメモリ104はダイナミックランダムアクセスメモリ(DRAM)であっても良い。グラフィックサブシステム111は、コンピュータグラフィックシステム100内に含まれ得るオプションである。プロセッサ102は、グラフィックサブシステム111に例えば描画コマンド、座標頂点データ、および対象の幾何学的位置、色、テクスチャ、陰、および他の表面的なパラメータをに関連するグラフィックデータを供給している。対象データは、グラフィックサブシステム111によって、以下の4つのパイプライン化された段階、幾何学的サブシステム131,走査変換サブシステム132,ラスタサブシステム133,およびディスプレイサブシステム134内で処理されている。幾何学的サブシステム131は、プロセッサ102からのグラフィックデータをスクリーン座標システムへと変換する。表示される対象に対して深さを与えるような投影や変換プロセスを行なうことは、幾何学的さ部システムの機能である。幾何学的サブシステム131によって供給される、結果として生じるプリミティブ(点、線分、多角形、多面体等)は、その後走査変換サブシステム132に供給される。これらのプリミティブに基づく画素データをその後生成することは走査変換サブシステム132機能である。この走査変換サブシステム132は、直線を内挿する内挿機能を行なっているので、中間各値は幾何学的なサブシステムによって個別的かつ分離的に演算される必要がなくなる。次に、画素データは、ラスタサブシステム133に送られ、ここでZ−バッファリング、混合、テクスチャ化、平滑化等の機能が行なわれる。結果として生じる画素値は、フレームバッファ109に引き続いて蓄積され、Z値はZバッファ110内に蓄積される。ディスプレイサブシステム134は、フレームバッファ109を読んで表示モニタ121上に画像を表示する。
【0020】
幾つかの他の装置もまた、コンピュータグラフィックシステム100に接続されていても良い。例えば、アルファ数値化されたキーボード122が、コマンドや他の情報をプロセッサ102に入力させるために用いられている。他のタイプのユーザ入力装置は、コンピュータスクリーン上に可動のカーソルを位置決めして対象を選択するために用いられる(マウス、トラックボール、ジョイスティック、等の)カーソル制御装置123である。バス101に接続される可能性のある他の装置は、データまたは他の情報を実体のある(形のある)媒体上に印刷する(例えば、レーザプリンタ等の)ハードコピー装置124である。さらに、マルチメディアの可能性を提供するため、音声の録音や映像のオプションとしての音声装置125をコンピュータグラフィックスシステムに接続することも可能である。
【0021】
本発明は、本発明は、表示のための多角形内に平滑化されたテクスチャエッジを示すコンピュータグラフィックシステム100内で行なわれる。3Dグラフィックコンピュータシステム内で現実的に画像を表現することは、表面のモデル化を必要としている。共有表面モデル化方法は、多角形のメッシュ技術である。多角形のメッシュは、各エッジが最大でも2つの多角形によって共有されるように接続された複数のエッジ、複数の頂点および複数の多角形を収集したものである。エッジは2つの頂点を結び、多角形は複数のエッジの閉鎖された連続である。エッジは2つの隣接する多角形によって共有され得るし、頂点は少なくとも2つのエッジによって共有される。各頂点は、3次元空間内でX,YおよびZの座標を有する。多角形の数学的な説明は、プリミティブとして引用されている。多角形の収集は、接続性や属性情報、モデル、対象と共に、その全体について行なわれる。表面に近似するための多角形メッシュはこの技術分野においては良く知られていることは正しく評価されるべきである。
【0022】
多角形モデル化は、コンピュータグラフィックシステムにおける画像の表示に際しての幾つかのステップのうちの1つである。図2は、コンピュータグラフィックシステム100におけるパイプラインまたはプロセス200を表示する3次元グラフィック画像のブロック図を示している。この表示のプロセスは上述したコンピュータグラフィックシステム100において実行されている。幾何学変換ステージ201は、種々のグラフィックプリミティブを用いる対象をモデル化する。そして、点灯ステージ202は、前記プリミティブに対して点灯状態を付与する。切り取り(クリッピング)ステージは、ある領域内に存在するプリミティブの部分を決定する。多角形部分は、多角形軌跡化ステージ204で生成され、小部分動作ステージ205へと進む。部分は、例えば多角形などのグラフィックプリミティブにより覆われる画素の小部分である。画素は有限の面積を有し、四角形状を有するものと考えられている。画素に従属するそれぞれの小部分は、画素の全ての色に対するその色に貢献する。この貢献はそれぞれの部分の面積に依存している。画素の色はこの画素内の全ての小部分の色の重み付けされた平均値である。小部分の面積が重みとして用いられる。本発明に係るアンチエイリアシング(平滑化)プロセスは、解釈(レンダリング)プロセス200の小部分動作ステージ205で適用される。アンチエイリアシング(平滑化)プロセスを適用した後、小部分は引き続く表示のためにフレームバッファステージ206におけるフレームバッファに提供される。
【0023】
軌跡化(ラスタライゼーション)ステージ204は、色(例えば、RGB)、深さ(例えば、Z値)、面積、ステンシル(原紙)、および透明性またはアルファ値などの小部分を説明する多数の特性を計算する。具体的には、軌跡化(ラスタライゼーション)ステージ204は、画素の面積ではなく画素の中心における特性を計算している。アルファ値は、透明性またはその反対の不透明性を表現している。このアルファ値は、具体的には完全に透明である0と、完全に不透明である1.0との間で設定される。
【0024】
本発明は、画素をアンチエイリアシング(平滑化)するために範囲(カバリッジ―coverage―)アルファ値を生成するための複数のアルファ値を実際に用いている。本発明によれば、複数のアルファサンプル(標本)点が画素内で生成される。これらのサンプル点は、画素内における複数、具体的には4ないし16のサブサンプル(副標本)またはスーパーサンプル(超標本)点の位置を特に見つけることによって生成されている。これらのサブサンプル点は、それらが画素に等しい面積をカバーする(覆う)ような方法によって分散されているのが好ましい。ここで、「スーパーサンプル」および「サブサンプル」はともに各々の画素についての複数のサンプルのことを言い、これらの中で交換可能に用いられるものであることは注意すべきである。
【0025】
各々のサブサンプルでのアルファ値を伴った画素当たりのこれらの多数のサブサンプルに基づいて、1つの画素の範囲アルファ値が、まず多数のサブサンプルを決定することによって計算され得るものであり、これら多数のサブサンプルのアルファ値は所定のアルファしきい値を超えている。そして、この画素に関する範囲アルファマスク値は、この画素内のサブサンプルの合計数によって、アルファしきい値を上回る多数のサブサンプルを分割することによって計算され得るものである。そして、この範囲アルファ値は、たくさんの公知の混合方法によってテクスチャ化された画像をアンチエイリアス(平滑化)するためのカラー値を混合するために用いられ得るものである。
【0026】
図3は、本発明に係るサブサンプルテクスチャアルファ値を実用化するテクスチャエッジをアンチエイリアシングするステップのフローチャート300を示している。テクスチャマップまたはテクスチャマップを生成する手順は、コンピュータグラフィックスシステム100のメモリユニット内にまず蓄積される。テクスチャマップ内の各テクセルは、カラー値と同様に不透明性をも表現するアルファ値を含んでいる。ステップ302において、本発明は、グラフィックプリミティブ内で複数の画素を生成するために、好ましくは多角形からなるグラフィックプリミティブに関するテクスチャまたはテクスチャの部分をマップしている。生成された画素の各々は、テクスチャアルファ値によって特徴付けられる。例えば多角形のようなグラフィックプリミティブ上にテクスチャをマッピングすることは、良く知られた技術である。本質的には、テクスチャマッピングは、複数の座標にしたがって例えばR(赤)、G(緑)、B(青)およびアルファ値のような画素におけるテクスチャサンプルを生成するために、グラフィックプリミティブの軌跡化(ラスタライゼーション)とテクスチャのフィルタリングとを含んでいるものである。
【0027】
生成された画素間で、N×N画素のブロックがステップ304内で選択され、ここで、Nは1よりも大きい整数である。好ましくは、N×N画素は隣接する矩形で格子状の複数の画素である。本発明の1つの実施形態においては、N×Nの画素の格子内の各画素のための連続する計算は、同時にかつ並列に行なわれている。すなわち、N×N画素のブロック内の2N画素は、論理的には同時に描かれている。ステップ306において、副標本(サブサンプル)点のセットは、N×N画素のブロック内における各画素について生成されている。
【0028】
ステップ308では、本発明は内挿法または外挿法の何れかによって、各画素における各副標本点に関するアルファ値を計算している。1つの実施形態において、N×N格子の内側の部分において位置決めされた副標本(サブサンプル)アルファ値は、超標本(スーパーサンプル)と画素との座標を用いるN×N画素間で内挿することによって得られる。他の実施形態においては、N×N格子の外側の部分で描かれる副標本アルファ値が外挿法によって得られる。
【0029】
このように計算された各画素における標本点(サンプルポイント)のためのアルファ値は、その後、N×N画素のブロックの範囲内の画素の各々でのアンチエイリアス(平滑化)された画素を生成するために用いられる。特に、スーパーサンプルアルファ値は、スーパーサンプルが不透明であるか否かを決定するための特定のアルファしきい値によってしきい値処理される。このことは、画素値毎の従来の範囲マスクを引き起こしている。画素値毎の範囲マスクは、その後、設定された多数のサブサンプル範囲ビットによって混合される。処理されるべき必要のあるプリミティブに含まれる画素がより多いものとするならば、プロセス300はステップ312および314で示されているようにアンチエイリアス(平滑化)するためのN×N画素の他のブロックを選択することによって動作が続けられる。
【0030】
図4は、2×2画素のブロック400についての範囲アルファ値を生成するための例示的なサブサンプル点パターンを示している。2×2画素のブロック400は、4つの連続する画素401,402,403および404により構成されており、四角い形状を形成している。(x、y)座標は、この四角い形状に割り当てられ得る。本発明の1つの実施形態において、四角内の画素401から404のそれぞれは、四角の左上の角の原点(0,0)405を備える(x、y)座標によって説明される。各画素の長さおよび幅は、x方向またはy方向の何れかで1である。中心では、画素401,402,403および409が、それぞれアルファ値A1 406,A2 407,A3 408,A4 409によって特徴付けられる。
【0031】
図4を参照しながら、4つのサブサンプル点のパターンは四角の中のそれぞれの画素により関連付けられ:画素401のパターンはサブサンプル点410,411,412,413を含み;画素402のパターンはサブサンプル点414,415,416,417を含み;画素403のパターンはサブサンプル点418,419,420,421を含み;画素409のパターンはサブサンプル点422,423,424,425を含んでいる。本発明が図3のサブサンプルパターンによって示され、本発明が個別のサンプル点分散に依存しないばかりでなく画素についてのサンプル点の特定の数にも依存しておらず、サブサンプル点の他のパターンや数により等しく機能することは注目すべきことである。サブサンプル点は、特に、1よりも大きい何れかの数であるべきである。最も大きな目的としては、画素内のサブサンプル点の数は、4から16の範囲を持ち得るものである。
【0032】
このようなサンプル点は範囲アルファ値を生成するためのパターンやマスクを提供している。サンプル点マスクを生成する種々の装置や方法は、この技術分野においては公知のものであり、例えば、この明細書において先行技術に組み入れられるアケリー(Akeley)に与えられた米国特許第5,369,739号の「グラフィック・ディスプレイ・システムにおけるポイント・サンプル・マスクの生成装置および方法」の公報に開示されている。
【0033】
図4に示されるような4つの画素の四角において、テクスチャアルファ(すなわち、不透明)値は、アルファ値「1」とアルファ値「0」の数をマッピングすることに基づいて各々の画素について生成されている。これら4つのテクスチャアルファ値の収集は、その四角内の各画素についてのフィルタされかつサンプルされたテクスチャアルファ値を生じさせる。例えば、プリミティブをラスタリング(軌跡化)したり、テクスチャをグラフィックプリミティブへとマッピングすることによってテクスチャアルファ値「1」や「0」の最初のセットをフィルタリングしたりすることは、アルファ値A1 406の.7、A2 407の.5、A3 408の.3、A4 409の.2を生じさせている。これらのアルファ値A1 406、A2 407、A3 408、A4 409は、2×2画素のブロック400の(x、y)座標空間から直交的に上方に投影される矢印のように描写することができる。
【0034】
図5は、四角内の画素401ないし404についてのアルファ値A1 406の.7、A2 407の.5、A3 408の.3、A4 409の.2を直交的な投影によって定義される面502の3次元の図を示している。本発明は例示的な副標本点410から425の各々における付加的にサブサンプルされたアルファ値生成するために、アルファ値A1 406、A2 407、A3 408およびA4 409を実際に用いている。特に、副標本点410から425におけるアルファ値は、内挿法または外挿法によって計算されている。サブサンプルアルファ値の内挿または外挿は、画素がその中に存在しているグラフィックプリミティブ(例えば、多角形)が直線的な表面をであることから可能となる。したがって、副標本化点のそれぞれのアルファ値は、3次元の連続する表面上の複数の点として処理され得るものである。このように、画素401から404におけるアルファ値A1 406、A2 407、A3 408およびA4 409が与えられることによって、如何なるサブサンプル点におけるアルファ値が内挿法または外挿法の手法の何れかを介して生成され得るものである。本発明においては、内挿法は既知の値を有する複数の点の間の点の値を決定することを意味し、外挿法は複数の点の既知の値を延長させたり投影させたりすることにより、ある点の値を予想することを意味している。
【0035】
図6は、本発明に係る例示的なバイリニア内挿法または外挿法技術を説明するための2×2画素のブロック600を示している。画素401から404は、関連付けられるアルファ値と各画素の中心の座標とを有している。サブサンプル点413におけるアルファ値は、バイリニア内挿法によって生成されている。まずこのバイリニア内挿法は、2つの中間サンプル点602と604におけるアルファ値を決定する。中間サンプル点602におけるアルファ値は、A1 406とA3 408により関連付けられた点の間で線形的に内挿されて求められる。同様に、中間サンプル点604におけるアルファ値は、A2 407とA4 409により関連付けられた点の間で線形的に内挿されて求められる。そして、サブサンプル点413におけるアルファ値は、中間点602と604の座標とアルファ値との間で線形的に内挿されて求められる。
【0036】
同様に、サンプル点421におけるアルファ値はバイリニア外挿法によって決定され得る。まず、1対の中間サンプル点606と608のアルファ値が計算される。この中間サンプル点606におけるアルファ値は、点A1 406と点A3 408とのアルファ値を投影させることによって線形的に外挿されて求められる。同様に、中間サンプル点608におけるアルファ値は、点A2 407と点A4 409とのアルファ値を延長させることによって線形的に外挿されて求められる。そして、サブサンプル点421におけるアルファ値は、中間点606と608のアルファ値と座標との間で線形的に内挿されて求められる。図6に示されるバイリニア内挿法および外挿法の技術は、この技術分野においては公知のものである。本発明は、Nが2よりも大きいときのN×N画素のブロックを用いることによっても行なわれ得るものであることは理解されるべきである。例えば、3×3画素のブロックは、従来の正方形の内挿法技術を用いることができるし、4×4画素のブロックは、従前の正方形の内挿法の技術を適用することができる。この技術分野におけるこれらの熟練者達は、N×N画素のブロック内の他の全てのサブサンプル点についてのアルファ値が複数の画素のアルファ値から同様にして内挿または外挿され得ることをさらに認識できるであろう。
【0037】
N×N画素のブロックからのスーパーサンプルアルファ値を内挿することによって、この発明は場所的な長所を提供する。すなわち、ある画素が描かれているのにつれて、そのアルファ値が処理される。最初のテクスチャ画像にアクセスしてテクスチャデータをバイリニアまたはトリリニア(tri-linear)またはフィルタリングしたりすることを従来の新しいテクスチャサンプルを生成する方法とは違って、本発明は、Nが1よりも大きい整数であるN×N画素の1つの線形の結合を必要とするだけで、1つ新たなスーパーサンプル(サブサンプル)点を生成している。その上、スーパーサンプルされたテクセルを外挿して生成していた従来の方法と異なって、本発明はアルファ値のみを内挿して求めている。このようにして、本発明に係るアンチエイリアシング(平滑化)方法は、従来の方法よりもより少ないデータ処理を必要とするだけで済むと共に、これによりさらに多くの効果を奏する。
【0038】
コンピュータシステムにおいて、プロセッサとメモリ間でのローディング動作や蓄積動作は、詳細には性能面での重要な経路となる。これは、算術的および論理的な動作よりもロードする(負荷を掛ける)動作や蓄積する動作を行なうことには通常より多くの時間が求められているからである。従来の高解像度のテクスチャは例えばよりたくさんのテクセルを生成したり蓄積したりしている。これに対して、本発明は付加的なテクセルを生成していない。その代わりに、本発明はサブサンプル点において画素が描かれているようにアルファ値を生成している。このように本発明におけるこの同時処理は、元々のテクスチャ画像データへのアクセスまたは手順が最小に保持されているので、動作をロードしたり蓄積したりするのに消費する時間を最少化することができる。したがって、本発明はコンピュータシステムの全ての性能を低コストへと改善することができる。
【0039】
本発明、すなわちサブサンプルされたテクスチャエッジのアンチエイリアシング(平滑化)は、上述されたとおりである。本発明が個々の実施形態について説明されているとはいえ、本発明がこれらの実施形態によって限定されるようには解釈されるべきではないし、むしろ上述した特許請求の範囲に従って解釈されるべきであることは正しく認識されるべきことである。
【図面の簡単な説明】
【図1】 本発明におけるステップを実行する例示的なコンピュータシステムを示すシステムレベルブロック図である。
【図2】 パイプラインまたはプロセスを描写する3Dグラフィック画像を示すブロック図である。
【図3】 本発明による副標本化されたテクスチャマッピングによってエッジを平滑化するステップを示すフローチャートである。
【図4】 2×2画素のブロックのための範囲アルファ値を生成するための定時的な副標本化点パターンを示す説明図である。
【図5】 四角形内の画素のアルファ値を直交的に投影することによって定義された表面を示す説明図である。
【図6】 本発明によるバイリニア内挿法および外挿法技術を例示的に示す2×2画素のブロックを示す説明図である。
【符号の説明】
100 コンピュータグラフィックシステム
101 バス
102 プロセッサ
104 メインメモリ
106 ROMメモリ
107 大容量蓄積装置
109 フレームバッファ
110 Zバッファ
111 グラフィックサブシステム
121 表示モニタ
131 幾何学的サブシステム
132 走査変換システム
133 ラスターサブシステム
134 ディスプレイサブシステム
201 幾何学変換
202 点灯
203 切り取り(クリッピング)
204 多角形軌跡化
205 小部分動作
206 フレームバッファ
Claims (18)
- コンピュータシステムにおいて、複数の端縁部を有するアンチエイリアス処理されたテクスチャ画像を生成する方法であって、
a)各テクスチャ・アルファ値が画素の不透明さを表示し、1つのテクスチャ・アルファ値が1つの画素に対応するテクスチャ・アルファ値を含む複数の画素を生成するためにグラフィックプリミティブ上にテクスチャをマッピングするステップと、
b)前記グラフィックプリミティブの範囲内にN×N画素のブロックを選択するステップと、
c)N×N画素のブロックの各画素の範囲内で副標本化点のセットを生成するステップと、
d)N×N画素に基づく副標本化点のセットの範囲内における各副標本化点に対するアルファ値を計算するステップと、
e)副標本化点のセットに対して計算された前記アルファ値に基づいてN×N画素のブロックの範囲内の各画素についてアンチエイリアス処理された画素を生成するステップと、
を備えることを特徴とする方法。 - 前記テクスチャマッピングステップa)が、さらに、
グラフィックプリミティブをラスタライズするステップと、
前記グラフィックプリミティブの範囲内の複数のテクスチャ・アルファ値を生成するステップと、
を備える請求項1に記載の方法。 - アンチエイリアス処理された画素を生成するステップe)が、さらに、
N×N画素のブロック内の各画素に対するカバリッジマスクを決定するステップと、
N×N画素のブロック内の各画素に対するアンチエイリアス処理された画素値を生成するために、前記カバリッジマスクを混合するステップと、
を備える請求項1に記載の方法。 - 各副標本化点に対する前記アルファ値が、座標値と、N×N画素のテクスチャ・アルファ値から内挿される請求項1に記載の方法。
- 前記テクスチャは、各々がR,G,Bおよび不透明さを表すアルファ値を含む複数のテクセル(texel)により構成されている請求項1に記載の方法。
- コンピュータシステムにおいて、複数の端縁部を有するアンチエイリアス処理されたテクスチャ画像を生成する方法であって、
a)グラフィックプリミティブに対する複数の画素座標を生成するために前記グラフィックプリミティブをラスタライズするステップと、
b)各テクスチャ・アルファ値が画素の不透明さを表示し、画素毎に1つである複数のテクスチャ・アルファ値を、前記グラフィックプリミティブの範囲内で生成するステップと、
c)N×N画素のブロックを選択するステップと、
d)画素座標により特徴付けられる複数の副標本化点を、前記N×N画素のブロックの各画素の範囲内で生成するステップと、
e)前記N×N画素に基づいて各副標本化点に対するアルファ値を内挿するステップと、
f)前記N×N画素ブロック内の各画素に対するカバリッジマスクを決定するステップと、
g)アンチエイリアス処理された画素値を生成するために、前記カバリッジマスクを混合するステップと、
を備える方法。 - 前記グラフィックプリミティブの範囲内の全ての画素がレンダリングされるまで、N×N画素の他のブロックに対して、前記ステップa)ないしg)を繰り返すステップを更に備える請求項6に記載の方法。
- 前記各副標本化点に対する前記アルファ値が、N×N画素の座標値とテクスチャ・アルファ値とから計算される請求項1または請求項6に記載の方法。
- 前記複数の副標本に対するアルファ値が、内挿法により計算される請求項1または請求項8に記載の方法。
- 前記複数の副標本に対するアルファ値が、外挿法により計算される請求項1または請求項8に記載の方法。
- 前記カバリッジマスクが、アルファしきい値テストを適用することにより決定される請求項2または請求項6に記載の方法。
- 前記グラフィックプリミティブがポリゴンである請求項1または請求項6に記載の方法。
- 前記ポリゴンは、三角形である請求項12に記載の方法。
- 前記複数のテクスチャ・アルファ値が、各々がR,G,Bおよび不透明さを表示するアルファ値より構成されるテクセルから生成される請求項1または請求項6に記載の方法。
- Nが2である請求項6に記載の方法。
- 前記複数の副標本に対する前記アルファ値が、バイリニア内挿法により計算される請求項9または請求項15に記載の方法。
- 前記複数の副標本に対する前記アルファ値が、バイリニア外挿法により計算される請求項9または請求項15に記載の方法。
- Nが2である請求項1に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3537698A | 1998-03-05 | 1998-03-05 | |
US09/035,376 | 1998-03-05 | ||
PCT/US1999/003816 WO1999045502A1 (en) | 1998-03-05 | 1999-02-23 | Subsampled texture edge antialiasing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003504697A JP2003504697A (ja) | 2003-02-04 |
JP4311877B2 true JP4311877B2 (ja) | 2009-08-12 |
Family
ID=21882303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000534973A Expired - Fee Related JP4311877B2 (ja) | 1998-03-05 | 1999-02-23 | 副標本化テクスチャ端縁部のアンチエイリアシング |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1058912B1 (ja) |
JP (1) | JP4311877B2 (ja) |
AT (1) | ATE249074T1 (ja) |
DE (1) | DE69910980T2 (ja) |
WO (1) | WO1999045502A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7006110B2 (en) | 2003-04-15 | 2006-02-28 | Nokia Corporation | Determining a coverage mask for a pixel |
US7456851B2 (en) * | 2003-05-20 | 2008-11-25 | Honeywell International Inc. | Method and apparatus for spatial compensation for pixel pattern on LCD displays |
GB0426170D0 (en) | 2004-11-29 | 2004-12-29 | Falanx Microsystems As | Processing of computer graphics |
GB0801812D0 (en) * | 2008-01-31 | 2008-03-05 | Arm Noway As | Methods of and apparatus for processing computer graphics |
US8115783B2 (en) | 2008-01-31 | 2012-02-14 | Arm Norway As | Methods of and apparatus for processing computer graphics |
US8044971B2 (en) | 2008-01-31 | 2011-10-25 | Arm Norway As | Methods of and apparatus for processing computer graphics |
JP5605214B2 (ja) * | 2010-12-24 | 2014-10-15 | コニカミノルタ株式会社 | 画像処理装置及び画像処理方法 |
JP6156653B2 (ja) * | 2014-10-06 | 2017-07-05 | コニカミノルタ株式会社 | 画像変形装置 |
KR102426667B1 (ko) * | 2015-06-23 | 2022-07-28 | 삼성전자주식회사 | 경로 렌더링에서 에일리어싱을 방지하는 방법 및 장치. |
CN111435548B (zh) * | 2019-01-13 | 2023-10-03 | 北京魔门塔科技有限公司 | 一种地图的渲染方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5333245A (en) * | 1990-09-07 | 1994-07-26 | Modacad, Inc. | Method and apparatus for mapping surface texture |
JPH07282274A (ja) * | 1994-04-04 | 1995-10-27 | Mitsubishi Electric Corp | グラフィック表示装置 |
US5734386A (en) * | 1995-09-08 | 1998-03-31 | Evans & Sutherland Computer Corporation | System and method for displaying textured polygons using planar texture interpolation |
-
1999
- 1999-02-23 JP JP2000534973A patent/JP4311877B2/ja not_active Expired - Fee Related
- 1999-02-23 EP EP99907170A patent/EP1058912B1/en not_active Expired - Lifetime
- 1999-02-23 WO PCT/US1999/003816 patent/WO1999045502A1/en active IP Right Grant
- 1999-02-23 AT AT99907170T patent/ATE249074T1/de not_active IP Right Cessation
- 1999-02-23 DE DE69910980T patent/DE69910980T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
ATE249074T1 (de) | 2003-09-15 |
DE69910980D1 (de) | 2003-10-09 |
DE69910980T2 (de) | 2004-07-22 |
EP1058912B1 (en) | 2003-09-03 |
JP2003504697A (ja) | 2003-02-04 |
EP1058912A1 (en) | 2000-12-13 |
WO1999045502A1 (en) | 1999-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7884825B2 (en) | Drawing method, image generating device, and electronic information apparatus | |
US6038031A (en) | 3D graphics object copying with reduced edge artifacts | |
US6133901A (en) | Method and system for width independent antialiasing | |
US8199146B2 (en) | Processing of computer graphics | |
US6191794B1 (en) | Method and apparatus for scaling texture maps for graphical images | |
US6961065B2 (en) | Image processor, components thereof, and rendering method | |
US6493858B2 (en) | Method and system for displaying VLSI layout data | |
US7432936B2 (en) | Texture data anti-aliasing method and apparatus | |
US5369739A (en) | Apparatus and method for generating point sample masks in a graphics display system | |
US6292192B1 (en) | System and method for the direct rendering of curve bounded objects | |
US20100110102A1 (en) | Methods of and apparatus for processing computer graphics | |
JP2005100177A (ja) | 画像処理装置およびその方法 | |
JPH03212775A (ja) | アンチエイリアス多角形の描図方法及び装置 | |
JPH04222071A (ja) | テキスチュア・マッピング方法及びその装置 | |
US8072456B2 (en) | System and method for image-based rendering with object proxies | |
JP2009181582A (ja) | コンピュータグラフィックスを処理する方法および装置 | |
JP2005100176A (ja) | 画像処理装置およびその方法 | |
JPH11506846A (ja) | 効率的なディジタル・モデリング及びテクスチャ・マッピングのための方法並びに装置 | |
JP4311877B2 (ja) | 副標本化テクスチャ端縁部のアンチエイリアシング | |
US20020171665A1 (en) | Efficient antialiased dot rasterization | |
US20050017969A1 (en) | Computer graphics rendering using boundary information | |
US6714195B1 (en) | Image processing apparatus | |
US6914609B2 (en) | Multiple scan line sample filtering | |
US6906729B1 (en) | System and method for antialiasing objects | |
US6795081B2 (en) | Sample cache for supersample filtering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060220 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060220 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060220 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060220 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060711 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20061113 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20061115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080922 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081219 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090323 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090413 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090512 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |