JP4311877B2 - 副標本化テクスチャ端縁部のアンチエイリアシング - Google Patents

副標本化テクスチャ端縁部のアンチエイリアシング Download PDF

Info

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
Application number
JP2000534973A
Other languages
English (en)
Other versions
JP2003504697A (ja
Inventor
ティモシー、バン、フック
アンソニー、デラウリアー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2003504697A publication Critical patent/JP2003504697A/ja
Application granted granted Critical
Publication of JP4311877B2 publication Critical patent/JP4311877B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators

Description

【0001】
【産業上の利用分野】
この特許請求の範囲に定義された発明は、コンピュータグラフィックシステムにおけるアンチエイリアシング(反疑似ライン化/エッジの平滑化)の分野に関する。さらに詳しくは、この特許請求の範囲に定義された発明は、副標本化によるテクスチャの端縁部(エッジ)のアンチエイリアシングに関する。
【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)

  1. コンピュータシステムにおいて、複数の端縁部を有するアンチエイリアス処理されたテクスチャ画像を生成する方法であって、
    a)各テクスチャ・アルファ値が画素の不透明さを表示し、1つのテクスチャ・アルファ値が1つの画素に対応するテクスチャ・アルファ値を含む複数の画素を生成するためにグラフィックプリミティブ上にテクスチャをマッピングするステップと
    b)前記グラフィックプリミティブの範囲内にN×N画素のブロックを選択するステップと、
    c)N×N画素のブロックの各画素の範囲内で副標本化点のセットを生成するステップと、
    d)N×N画素に基づ副標本化点のセットの範囲内における各副標本化点に対するアルファ値を計算するステップと、
    e)副標本化点のセットに対して計算された前記アルファ値に基づいてN×N画素のブロックの範囲内各画素についてアンチエイリアス処理された画素を生成するステップと、
    を備えることを特徴とする方法。
  2. 前記テクスチャマッピングステップa)、さらに、
    グラフィックプリミティブをラスタライズするステップと、
    前記グラフィックプリミティブの範囲内の複数のテクスチャ・アルファ値を生成するステップと、
    を備える請求項1に記載の方法。
  3. アンチエイリアス処理された画素を生成するステップe)、さらに、
    N×N画素のブロック内の各画素に対するカバリッジマスクを決定するステップと、
    N×N画素のブロック内の各画素に対するアンチエイリアス処理された画素値を生成するために、前記カバリッジマスクを混合するステップと、
    を備える請求項に記載の方法。
  4. 各副標本化点に対する前記アルファ値、座標値と、N×N画素のテクスチャ・アルファ値から内挿される請求項に記載の方法。
  5. 前記テクスチャは、各々がR,G,Bおよび不透明さを表すアルファ値を含む複数のテクセル(texel)により構成されている請求項1に記載の方法。
  6. コンピュータシステムにおいて、複数の端縁部を有するアンチエイリアス処理されたテクスチャ画像を生成する方法であって、
    a)グラフィックプリミティブに対する複数の画素座標を生成するために前記グラフィックプリミティブをラスタライズするステップと、
    b)各テクスチャ・アルファ値が画素の不透明さを表示し、画素毎に1つである複数のテクスチャ・アルファ値を、前記グラフィックプリミティブの範囲内生成するステップと、
    c)N×N画素のブロックを選択するステップと、
    d)画素座標により特徴付けられる複数の副標本化点、前記N×N画素のブロックの各画素の範囲内で生成するステップと、
    e)前記N×N画素に基づいて各副標本化点に対するアルファ値を内挿するステップと、
    f)前記N×N画素ブロック内の各画素に対するカバリッジマスクを決定するステップと、
    g)アンチエイリアス処理された画素値を生成するために、前記カバリッジマスクを混合するステップと、
    を備える方法。
  7. 前記グラフィックプリミティブの範囲内の全ての画素がレンダリングされるまで、N×N画素の他のブロックに対して、前記ステップa)ないしg)を繰り返すステップを更に備える請求項に記載の方法。
  8. 前記副標本化点に対する前記アルファ値、N×N画素の座標値とテクスチャ・アルファ値とから計算される請求項1または請求項に記載の方法。
  9. 前記複数の副標本に対するアルファ値、内挿法により計算される請求項1または請求項に記載の方法。
  10. 前記複数の副標本に対するアルファ値、外挿法により計算される請求項1または請求項に記載の方法。
  11. 前記カバリッジマスク、アルファしきい値テストを適用することにより決定される請求項または請求項に記載の方法。
  12. 前記グラフィックプリミティブがポリゴンである請求項1または請求項に記載の方法。
  13. 前記ポリゴンは、三角形である請求項12に記載の方法。
  14. 前記複数のテクスチャ・アルファ値が、各々がR,G,Bおよび不透明さを表示するアルファ値より構成されるテクセルから生成される請求項1または請求項に記載の方法。
  15. 2である請求項に記載の方法。
  16. 前記複数の副標本に対する前記アルファ値、バイリニア内挿法により計算される請求項または請求項15に記載の方法。
  17. 前記複数の副標本に対する前記アルファ値、バイリニア外挿法により計算される請求項または請求項15に記載の方法。
  18. 2である請求項に記載の方法。
JP2000534973A 1998-03-05 1999-02-23 副標本化テクスチャ端縁部のアンチエイリアシング Expired - Fee Related JP4311877B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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