JP4624617B2 - 改良されたs−バッファのアンチエイリアシング方法 - Google Patents
改良されたs−バッファのアンチエイリアシング方法 Download PDFInfo
- Publication number
- JP4624617B2 JP4624617B2 JP2001511639A JP2001511639A JP4624617B2 JP 4624617 B2 JP4624617 B2 JP 4624617B2 JP 2001511639 A JP2001511639 A JP 2001511639A JP 2001511639 A JP2001511639 A JP 2001511639A JP 4624617 B2 JP4624617 B2 JP 4624617B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- edge
- polygon
- sides
- intersects
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000004044 response Effects 0.000 claims description 3
- 239000000203 mixture Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
- Vehicle Body Suspensions (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
- Vibration Dampers (AREA)
Description
【発明の分野】
本発明はコンピュータ画像生成(CIG)システムに関し、より詳細にはディスプレイプロセッサで用いるための新規な色彩測定装置に関し、更にはリアルタイム画像システムにおいて目標物の二次元表現を表示するために目標物の面を描写する画像データを処理する新規な方法に関する。
【0002】
【発明の背景】
リアルタイムコンピュータ画像システムは、様々なビデオグラフィックシステム、たとえばビデオゲームならびにビデオトレーニングおよびシミュレーション装置用にリアルな画像を提供するように設計されている。これらのシステムにおいては、ユーザーにビデオディスプレイ・リアリズムを提供することが非常に有利である。
【0003】
典型的なリアルタイムコンピュータ画像生成システム、たとえばビデオゲームにおいて、画像の生成は3種類の連続的な段階、すなわちコントローラ(Contoroller)、ジョメトリープロセッサ(Geometry Processor)およびディスプレイプロセッサ(Display Processor)において行われる。これら3種類の段階あるいは区画は表示すべき3個の連続するシーンの一つあるいはそれに対応するものを描写するデータに関しそれぞれ独立に作動する。これら処理段階または区画のそれぞれはシーン上のデータまたは画像を固定時間に亘って処理するが、これはフィールド時間16.67ミリ秒またはフレーム時間33.3ミリ秒であればよく、通常は前者である。これら特有のフィールドおよびフレーム時間は典型的なTVフォーマットディスプレイ、すなわち毎秒30回のフレームによるフレーム当たり2回の飛び越しフィールドに相当する。
【0004】
それぞれの時間間隔について、3台のプロセッサ全てはビジー状態なので、如何なる所定時間においてもこれらのプロセッサは3種類の別個のシーンに関して作動している。各区画は入力を処理し、そしてインターバルの間に出力を生成し、その結果データは3段階を通じてコントローラからジョメトリープロセッサへ、次いでディスプレイプロセッサへと逐次的な態様で流れる。特殊化されたプロセッサ区画の中でコンピュータ的負荷は展開されて、それらの結果が3フィールドまたはフレーム時間遅延するにしても、新しいシーンをそれぞれのフィールドまたはフレーム時間表示することが可能である。
【0005】
たとえば、フライトシステムをシミュレートするビデオゲームにおいて、ユーザーまたはプレイヤーの入力はコントローラによって受信され、そしてコントローラ、ジョメトリープロセッサおよびディスプレイプロセッサによって逐次的に処理された後、その出力はプレイヤーによって観られているビデオディスプレイにカラーシーンとして送られる。プレイヤーによって観られているデータは環境定義により印加された簡単な制御入力としてスタートし、そして画素のビデオディスプレイ情報に変換される。コントローラにおいて、プレイヤー入力はシミュレートされた航空機の新しい位置および方位を計算するために用いられ、そしてこれから数理的交替マトリクスが計算され、これは目標物を基準座標システムからディスプレイ座標システムに転回させるために使用される。その航空機、標的の位置、また他の航空機を処理する他の情報もまた、コントローラにおいて計算される。或る種の応用例では、コントローラは多目的コンピュータである。
【0006】
ジョメトリープロセッサはデータベースから目標物であって、そのシーンの記憶された三次元デジタル表示において潜在的に可視であるものについての記述を読出し、そして読出された目標物は、コントローラにおいて計算された転回マトリックスを用いてディスプレイ座標に転回される。このジョメトリープロセッサは三次元データを二次元ディスプレイ・ウィンドウ上に数値的に投影する。更に、ジョメトリープロセッサは(デプス(深さ)バッファを利用することによって)どの目標物が他の目標物の前方あるいは後方にあるかを計算し、そしてこの情報を優先リスト中に記憶する。
【0007】
処理された各目標物は個々の面から構成され、ここにおいて各面は真っ直ぐなエッジによって境界を設けた多角形の形状である。優先リストはシーンにおける全ての面の順位を包含しており、第一面はリスト中で最高優先度の面である一方、リスト内の最終面は最下位の優先面として含まれている。ディスプレイ上で2個の面がオーバーラップするときは何時でもより高い優先度の面が可視であって、下位優先度の面は不明瞭となる。最後に、ジョメトリープロセッサは、二次元面に境界を設けるエッジに関してディスプレイの終点を計算し、またこれらの境界エッジを記述するライン等式の計数を計算する。
【0008】
ディスプレイプロセッサは二次元面の記述を付加的な面関連データと共に受信し、そしてこの情報を用いて、シーン中の各画素をカラーディスプレイ上に描写する、データを出力する。システム中のカラーディスプレイは代表的に1024ラインのビデオ情報から構成され、各ラインは1024個の個別カラードットまたは画素を有している。ディスプレイプロセッサは、どの色の画素を付与すべきか各画素について、数多くの面が画素内に存在可能であること、ならびに面の或る部分を他の面によって覆い得るかという問題を解決せねばならない。これら全画素についての値は1秒の1/60において計算する必要があるので、このディスプレイプロセッサにおける処理負荷は非常に高い。マルチディスプレイシステム(単一のシステムが14台ほど多数のディスプレイを包含する)に関する映像を計算するために、このディスプレイプロセッサは1秒当たり100億回を超える演算を行わねばならない。
【0009】
アンチエイリアシング方法において画素の色彩純度情報を処理するために、永続的な問題が存在しており、それは、その画素における誤った色彩あるいは半透明度として現れるような、望ましくないビデオデータ成分(歪み)が所望成分の同一性を取ることを阻止しながら、適切な高鮮明度のエッジ効果を可視とすることである。
【0010】
【発明の要約】
本発明の目的は、コンピュータ画像生成システムのために改良されたアンチエイリアシング手順を提供することである。
【0011】
本発明の他の目的は、コンピュータ画像生成システムにおけるアンチエイリアシング手順において使用するためにエッジ交差点データを符号化するための改良された方法を提供することである。
【0012】
これらおよび他の目的は、多角形が画素のアレイ上に表示されるコンピュータ画像生成システムにおいて用いるための、多角形および画素の交差点を表すデータを符号化するための方法および装置により達成される。この方法は表示すべき各多角形の少なくとも3個の頂点のそれぞれの座標の一組を特徴づける入力データ信号を受信する工程であって、各多角形の頂点のそれぞれ異なった対がその多角形の異なったエッジを定義するものと、受信した頂点データ信号に応答して、表示すべき各画素と共に、もしあれば、多角形エッジの交差点を記述するエッジデータ信号を生成する工程とを含んで構成される。
【0013】
この生成工程は、表示すべき各画素について、i)エッジデータ信号の1個の第一フィールドにおいて、また画素の各辺について、多角形の選択された1個の、エッジが画素の上記辺と交差しているか否かを同定する工程と、ii)選択された多角形のエッジが画素のいずれかの辺と交差する場合は、上記エッジデータ信号の1個の第二のフィールドにおいて、多角形エッジが画素の辺と交差する画素の辺に沿う位置の推定値を記憶する工程とを包含するものである。
【0014】
更に、本発明の利益と効果は添付図面を参照することによって付与される以下の詳細な説明であって、本発明の好ましい実施態様を特定し、かつ示すものを考察することから明かとなるであろう。
【0015】
【例示的実施態様の説明】
最初に図1を参照すると、コンピュータ画像生成システム10、たとえば航空機のコックピットシミュレーションシステムの機能的ブロック図が示されている。ここで、現存のCIG技術を参照されたい。それらの刊行物にはたとえば、Bunker他の1988年2月23日に発行された米国特許第4,727,365号"Advanced Video Object Generator"、D. Merzの1989年4月25日に発行された米国特許第4,825,391号"Depth Buffer Priority Processing For Real TimeComputer Image Generating Systems"およびW. SteinerおよびM.Morganに対し発行された米国特許第5,668,940号"Method and Apparatus For Anti-AliasingPolygon Edges In a Computer Imaging System"が包含される。これら3件の米国特許第4,727,365号、第4,825,391号および第5,668,940号はここに参考として引用するものとする。
【0016】
システム10はコントローラユニット12、ジョメトリープロセッサユニット14、およびディスプレイユニット16を包含している。このディスプレイプロセッサユニット16はディスプレイウインドウ18に対し情報を表示して、シーン上方に航空機の動きをシミュレートする。オペレータ20は入力制御インターフェース22を介してコンピュータ画像生成システム10にリンクされている。オペレータの操縦動作は入力制御インターフェース22に供給される。入力制御インターフェースはしかるべきデータ、たとえば航空機の位置、転回、ピッチおよび横揺れ姿勢をオペレータからコントローラ12へと変換する。
【0017】
コントローラ12において、オペレータの入力は航空機の新しい位置および方位を計算するために用いられ、そしてこれから数理的交替マトリクスが計算され、これは基準座標システムから目標物をディスプレイ座標システムへ転回させるために使用されるが、このことは当該技術分野では周知である。シーンを処理する他の情報、すなわち標的の位置あるいは他の航空機はコントローラにおいて計算される。一部のコンピュータ画像生成システムにおいて、コントローラユニット12は多目的コンピュータである。
【0018】
コントローラユニット12は最新の航空機方位によって周期的に更新される。この方位は、入力制御インターフェース22を経由するオペレータからコントローラ12への航空機の転回、ピッチ、横揺れおよび位置を包含する。コントローラ12はシーン上でフィールドまたはフレーム時間作動し、次いでデータをジョメトリープロセッサ14に渡す。
【0019】
ジョメトリープロセッサ14はシーンデータベースメモリ24から目標物の記述、たとえばタワー、道路、河川、格納庫等を読出すが、これらは記憶された地球の三次元デジタル表示において潜在的に可視である。これらの目標物はシーンデータベースから読出され、そしてコントローラ12において計算される交替マトリクスを用いてディスプレイ座標に順送りされる。ジョメトリープロセッサ14は全てのエッジであって、目標物空間内のビューウィンドウ境界を超えて延在するものをクリップし、そしてプロセッサ14は三次元目標物データを二次元ディスプレイウィンドウ上に数理的に投影する。
【0020】
物体の面であって、ディスプレイウィンドウ境界を超えて延在するものは二次元画像空間においてクリップされる。この二次元物体は点、線、閉凸多角形あるいはそれらの組合わせを含んでいる。それぞれの閉凸多角形は面として知られる。このようにして、処理された各物体は個々の面を構成し、ここにおいて各面は真っ直ぐなエッジによって境界を設けられている。ジョメトリープロセッサ14において三次元物体から面が一度算定されると、そのデータはディスプレイプロセッサ16に渡される。更に、ジョメトリープロセッサ14は、知られたやり方において、どの面が他の面の前方または後方にあるかを計算し、そしてこの情報を優先リスト内に記憶する。
【0021】
この優先リストはシーンにおける全ての面の順位を含んでおり、そこではこのリスト内の第一面が最上位の優先面であり、またリスト内の最終面は最下位の優先面である。2種類の面がオーバーラップするときは何時でも最上位の優先面が可視となり、そしてより低い優先面のオーバーラップ部分は不明瞭となる。優先リストを計算した後、ジョメトリープロセッサ14は二次元面に境界を設けるラインセグメントのディスプレイ終点を計算し、そして境界エッジを記述するライン等式の係数を計算する。ジョメトリープロセッサ14は各エッジの終点および各エッジの傾斜であって、境界された面を記述するものを計算する。次いで、これらのデータはディスプレイプロセッサ16に渡される。
【0022】
図1はビデオディスプレイ18を駆動するために使用されるディスプレイプロセッサ16を示している。一部のシステムでは、1台以上のディスプレイプロセッサを駆動するために、単一のコントローラ12およびジョメトリープロセッサ14が使用されている。ディスプレイプロセッサはビデオディスプレイ18に表示すべき情報処理のための責任を負っている。ディスプレイプロセッサによって為される一つの独特の仕事は、ビデオディスプレイ18内の各画素について、その画素の何色を、数多くの面であって、或る画素中に存在し得るものに、そしてまた他の面によって覆われても良い面のそれらの部分に与えるべきか、を解決することである。この機能を遂行するために、ディスプレイプロセッサ16はこのようにして、二次元面の記述をジョメトリープロセッサ14から面色彩および面優先度リストと共に受け、そしてこの情報を使用してシーンをカラービデオディスプレイ18に出力する。システム中の各カラーディスプレイは1,024本以上のラインのビデオ情報から構成することが可能であり、また各ラインには典型的に1,204個の個別カラードットまたはピクセル(画素)が存在する。それぞれの画素に関して、ディスプレイは12ビットの赤データ信号、12ビットの緑データ信号、および12ビットの青データ信号を、画素の色彩を記述する純度情報のパートとして受ければよい。
【0023】
図2に関して、観察者の両眼20’は観察点VPに存在し、そして物体の空間30’内のビューウィンドウ中のサンプル多角形面30を観察する。ビューラインに沿った、観察者20’に最も近接する面30のみが観られ、そして可視面は、当該技術分野で周知の深さバッファ技法(たとえば、上述の米国特許第4,825,391号およびその中に引用された文献を参照のこと)を用いて、観察点VPおよび面30の点Pf間の範囲距離Rの比較によって決定される。このようにして、可視多角形30(ここではその頂点Va、VbおよびVc)によって同定される三角形面)はビューライン32に沿う最小範囲Rminを有する多角形である。物体空間30’は画像空間34’中のディスプレイウインドウ34内に投影され、そして多角形面30は頂点Va、VbおよびVcにそれぞれ対応する各頂点V1、V2およびV3を有するディスプレイ多角形36として投影される。
【0024】
ディスプレイウィンドウは、しばしば(J方向における)水平ラインに沿ってラスタ/ウィンドウの左エッジ(J=JO)から右エッジ(J=Jmax)へ逐次的態様で走査された各画素38を伴うディスプレイのラスタであり、そしてラスタ/ウィンドウの頂部エッジ(I=IOの場合)から底部エッジ(I=Imax)へ下降して増加する距離(I方向において)を有するラインに関している。このようにして、パスラインLpは第一(左側)画素Plから最終(右側)画素Prへと走査される。画素Ppはウィンドウプレーン34を通過するビューライン32によって同定され、その結果画素ラインLpは多角形ポイントPfに投影し、かつこれに対応する画像ポイントを包含する。多角形36は、ラインLpと共に左ライン位置において交差するJLにより同定される最左方画素POから右ライン位置において交差するJRによって同定される最右方画素Pqへの画素を含むことになる。
【0025】
図2aを参照すると、走査線34”に沿った画素の列は、最左方画素38hからスタートしてJ方向に逐次的に走査される。その後、次の画素38iが作用され、以下同様に、多角形の左エッジで、そのラインに関し、かつ多角形36によって部分的に覆われるものに到達するまで作用される。この画素は多角形エッジの最左方交差点JLおよびJライン34”として同定される。多角形によって完全に覆われた他の画素38を経由し、このラインに沿って続行することにより、画素38rは多角形の右エッジで、かつ多角形36によって部分的に覆われたものに到達する。この画素は、多角形エッジの最右方交差点JRとして同定される。Jライン34”に沿う更なる行程は、最終的にその走査線の最右方画素38Vに達する。
【0026】
半透明性および最も離れた多角形からの彩度のフィードスルーを考慮しなければ、多角形36によって完全に覆われ、従って全てが、その内部にある画素38の属性は厳密に多角形面の属性(色彩、純度、半透明性等)を有していることが理解されよう。対照的に、多角形36により部分的に覆われている画素(たとえば、画素38lおよび38r)は、その特定の多角形の実際に覆われている画素部分についてだけ、その属性を有しているので、その画素の残部に関しては他の情報およびカラー情報の各多角形/ソースにより覆われる画素の様々な百分率によってブレンドされたものから得なければならない。
【0027】
このことは図3aを参照することによって理解され、この場合第一多角形36aは、画像空間内に観られるように、他の多角形36bの前方に(周知の深さ−バッファ法のいずれかによるものとして)配列される。多角形36は、同様に複数個の多角形エッジ39(たとえば、図3b中にエッジ39a、39b、39cおよび39dとして示される)であって、交差点40において画素境界を横切るものによって連結された複数個の頂点(たとえば、4個の頂点図3b中のV1、V2、V3およびV4)を有する。画像スクリーンは、次の高次数字を付した(次に走査すべき)画素ラインによる各画素ラインL下方区分における水平エッジEと共に水平ライン(たとえば、ラインL−2,L−1,L,L+1,L+2,...)と一緒に逐次的垂直行(たとえば、P−2,P−1,P,P+1,P+2,...)に整列された画素の長方形アレイを形成する。従って、各画素をその列ラインLと行P表示によって配列することが可能である。或る画素、たとえば画素(L,P)はただ1個の多角形(多角形36a)によって完全に覆われており、従ってその多角形の属性のみを有するのに対し、他の画素は複数多角形の属性の分配/ブレンドを有するものであることが理解されよう。
【0028】
図3bに関して、色彩属性は全画素についての考察によって決定することが出来、たとえ上述の米国特許第4,825,391号の深さ−バッファ処理アーキテクチュアを(スパン/サブスパン処理方法論と共にあるいはそれを伴わずに)使用したとしても、各画素(またはサブピクセル)の複数個の副次部分(subportions)について色彩情報を処理する必要はない。処理される情報の各事項は電子デジタルデータの信号語(signal word)であることが理解されるべきである。一方で我々はこれらの信号を速記表示(shorthand designations)(たとえば、コーナー、エッジ、多角形等)で論じている。それにも拘わらず、我々はこれらの術語がこれらそれぞれの幾何学的概念の各々について用いられるデータ信号を意味するものとして使用している。たとえば、「コーナー」は二次元の画素コーナー配置を特定するデータ語を示し、「エッジ」は関連する多角形エッジのラインを表すデータ信号セットであり、「多角形」は特定の多角形に等しいデジタルデータ構造を意味する等である。処理の最終結果は、ビデオ信号(デジタルビデオまたはデジタルに由来するアナログビデオ)の最終シーケンスを提供するものであり、観察者20に対し電飾および可視とすべきビデオディスプレイ手段18の個別の画素について色彩および輝度をもたらし得るものである。
【0029】
画素を部分的に覆っている多角形が最終画素の属性に寄与する範囲は、多角形のエッジと画素境界との交差点に基づいて決定される。この態様により画素の属性を決定する一つの手順は、上で特定した米国特許第5,668,940号中で詳細に説明されている。
【0030】
一般的に、この手順によれば入力データ信号は、各多角形面の少なくとも3個のそれぞれのディスプレイ空間座標を特徴づけるものとして表示すべく提供される。次に、この頂点データを利用して、もしあれば、どの多角形エッジがディスプレイラスタを形成する画素のシーケンスの一つをカットするかを決定し、次いで、関連画素エッジに沿ってカットされた、その配置を決定する。各画素に影響する全ての多角形についてのエッジ交差データ信号は、その画素の何らかの部分を占める各多角形についての色彩データと共にフレームバッファ内にピクセル当たり(per-pixel)基準で記憶される。表示すべき各画素について、選択された隣接画素の配置(constellation)は、エッジ関係およびブレンド多角形の色彩純度を解決するために処理されて各ディスプレイ画素の最終的な観察可能色彩を決定する。
【0031】
図4に関して、各画素50は多角形をサンプリングするサンプルポイントである。多角形エッジが、隣接する画素のサンプルポイント間を横断する場所が算定される。各画素サンプルポイントについて、頂部、左方、右方および底部エッジ交差点が算定される。もし、エッジ交差点が次の画素サンプルポイントを越えていれば、そのエッジ交差点は覆われている、とフラグが立てられ、これは多角形が隣接の画素サンプルポイントを覆っているか、あるいは横たわっていることを意味する。たとえば、図4において、左下方画素サンプルポイントに関する右方交差点52aおよび右下方画素サンプルポイントに関する左方交差点52bは覆われているものとしてフラグを立てられることになる。
【0032】
各多角形エッジはアンチエイリアシングされているもの、あるいはアンチエイリアシングされていないものとしてフラグを立てることが出来る。更に、各多角形エッジはメッシュ・アンチエイリアシング(mesh anti-aliased)されたものとしてフラグを立てることが出来る。この態様において、画素サンプルポイントの全ての多角形エッジ交差点についてメッシュ・アンチエイリアシングが可能ならば、多角形エッジはアンチエイリアシングされ、そしてそのエッジは他の多角形によって分配されることはなく、そしてエッジはアンチエイリアシングされたものとしてフラグが立てられる。もし、メッシュ・アンチエイリアシングが不可能であれば、エッジがアンチエイリアシングされていないものとしてフラグが立てられない限り、そのエッジはアンチエイリアシングされる。
【0033】
もし、画素が多角形よりは寧ろ画像の部分であれば、その画素は条件付きでアンチエイリアシングされたものとしてフラグが立てられる。この場合、もし多角形エッジが画像上に横たわっていれば、その多角形エッジは画像によってアンチエイリアシングされ、そうでなければ、その画像はアンチエイリアシングされない。
【0034】
フレームバッファ(目的地)内の色彩をフレームバッファ(出所)内に加えられる色彩と共にブレンドするアルファバッファオペレーション(出所および目的地ブレンドモード)を用いると、エッジ交差点は以下のように組み合わされる。
【0035】
すなわち、アルファバッファブレンド等式: ブレンド因子s *出所画素+ブレンド因子d *目的地画素である。もし、ブレンド因子sがゼロであれば、出所画素はエッジ交差点を全く有していない。もしブレンド因子dがゼロであれば、目的地画素はエッジ交差点を全く有していない。もし、出所画素および目的地画素がエッジ交差点を有していなければ、何も行われない。もし、出所画素がエッジ交差点を有しており、そして目的地画素が有していなければ、出所画素エッジ交差点が使用される。もし、出所画素がエッジ交差点を有して居らず、そして目的地画素が有していれば、目的地画素エッジ交差点が使用される。もし、出所画素がエッジ交差点を有しており、また目的地画素も同様に有していれば、出所および目的地画素エッジ交差点は平均化される。
【0036】
エッジ交差点は8乃至9ビットに圧縮することが出来、図5の表中に示すようにフレームバッファ内に収められる。
【0037】
もし、設定されていれば、交差点フラグはエッジ交差点が存在することを示し、またもし、設定されていなければ、多角形が隣接の画素上に横たわっていることを示す。
【0038】
もし、アンチエイリアシングが望ましければ、9ビットが必要であり、そうでなければ8ビットは必須である。メッシュフラグはフレームバッファ内の青色のLSBを置換することが出来る。これは画像に対し最小の衝撃を有することになる。3による分割を近似することが可能である。エッジ交差点を、アルファ成分中のフレームバッファ内に記憶すればよい。これが、目的地アルファを用いる如何なるブレンドモードをも制限する。
【0039】
エッジ交差点データは、出力時間の間にフレームバッファから読出される。次いで、符号化エッジ交差点データは元のエッジ交差点データに復号することが出来る。
【0040】
図6を参照すると、4個の隣接する画素サンプルポイント50a、50b、50cおよび50dがフレームバッファから取出される。これらの画素サンプルポイントは画素の4隅となる。各サンプルポイントは4個のエッジ交差点および数個のフラグを有している。それぞれの画素サンプルポイントからのエッジ交差点は分解されて、画素の各辺に関して単一のエッジ交差点を形成する。たとえば、左方頂部画素サンプルポイント50aは右方交差点を有し、また右方頂部画素サンプルポイント50bは左方交差点を有している。これら2個の交差点は分解されて、画素の上部側の1個のエッジ交差点を形成する。
【0041】
エッジ分解のルールは以下の通りである:
もし、どれかの画素サンプルポイントについてメッシュフラグが設定されなければ、メッシュ・アンチエイリアシングは選択されない。
【0042】
画素の各辺に関して2個のサンプルポイントを選択する。
【0043】
i)もし、1個のエッジ交差点が存在すれば、有効なエッジ交差点フラグをゼロとし、そしてそのエッジ交差点フラグをデフォルト値(.5)に設定する。
【0044】
ii)もし、サンプルポイントAからの1個のエッジ交差点が存在し、そして他のサンプルポイントからのエッジ交差点が存在しなければ、有効なエッジ交差点フラグを1とし、そしてサンプルポイントAのエッジ交差点に等しいエッジ交差点を設定する。
【0045】
iii)もし、2個のエッジ交差点が存在し、そしてメッシュ・アンチエイリアシングが存在しなければ、有効なエッジ交差点フラグを1とし、そしてそのエッジ交差点を2個のエッジ交差点の平均とする。
【0046】
iv)もし、2個のエッジ交差点およびメッシュ・アンチエイリアシングが存在すれば、有効なエッジ交差点フラグをゼロとし、そしてそのエッジ交差点フラグをデフォルト値(.5)に設定する。
【0047】
もし、画素をアンチエイリアシングすべきであれば、その画素コーナー色彩を以下のように共にブレンドせねばならない:
エッジ交差点は0から1.0まで目盛りが付され、そして左方から右方へ、また上方から下方へ数字が大きくなる。
【0048】
i)もし、左方上部画素サンプルポイントがアンチエイリアシング無しとフラグが立てられるか、または画素サンプルポイントの全てが条件付きでアンチエイリアシングされているとしてフラグが立てられるか、あるいは有効なエッジ交差点が全く存在せず、そしてメッシュ・アンチエイリアシングフラグが設定されていれば、画素の色彩は左方上部の画素サンプルポイントの色彩である。
【0049】
ii)もし、画素中に2個の有効エッジ交差点が存在すれば、領域を以下のルールに従って算定する:
もし(頂部交差点有効および底部交差点有効)であれば、
領域_tl+=領域_bl=(頂部交差点+底部 交差点)/4
領域_tr=領域_br=1/2−領域_tl
もし(右方交差点有効および左方交差点有効)であれば、
領域_tl=領域_tr=(右方交差点+左方_交差点)/4
領域_bl=領域_br=1/2−領域_tl
もし(頂部交差点有効および左方交差点有効)であれば、
領域_tl=(頂部 交差点*左方_交差点)/2
領域_bl=領域_tr=領域_br=(1−領域_tl)/3
もし(頂部交差点有効および右方交差点有効)であれば、
領域_tr=((1−頂部 交差点)*右方 交差点)/2
領域_bl=領域_tl=領域_br=(1−領域_tr)/3
もし(底部交差点有効および左方交差点有効)であれば、
領域_bl=(底部 交差点*(1−左方 交差点))/2
領域_br=領域_tr=領域_tl=(1−領域_bl)/3
もし(底部交差点が有効および右方交差点が有効)であれば、
領域_br=(底部 交差点*(1−右方 交差点))/2
領域_bl=領域_tr=領域_tl=(1−領域_br)/3
さもなければ、
領域_tl=(頂部 交差点+左方 交差点)/4
領域_tr=(1−頂部 交差点+右方 交差点)/4
領域_bl=(1−底部 交差点+左方交差点)/4
領域_br=(2−底部 交差点−右方 交差点)/4
最終ブレンド画素色彩は等式:
色彩=左方頂部画素隅の色彩*領域_tl+右方頂部画素隅の色彩*領域_tr+左方底部画素隅の色彩*領域_bl+底部右方画素隅の色彩*領域_br
によって決定される。
【0050】
図7を参照すると、もし画素60当たり2x2S緩衝化サブピクセルがより良好なサンプリングについて所望されるならば、画素分解を4のファクタだけ増加させ、次にポストフィルタ62を適用してディスプレイ分解に至るまで画素を濾過することが出来る。
【0051】
サブピクセル11,12,21および22は表示すべき画素上に横たわるサブピクセルである。取り囲んでいる12個のサブピクセルは取出され、次に畳み込みフィルタを用いて、等式:
画素色彩=W(サブピクセル11+サブピクセル12+サブピクセル21+サブピクセル22/4)+(1−W)(その他全てのサブピクセル/12)
に従って算定される。
【0052】
もし、重量Wが1.0であれば、取り囲むサブピクセルは全く使用されない。もし、Wが.75であれば、ピラミッド形状のフィルタが生成される。もし、Wが.5であれば、均一なフィルタが生成される。
【0053】
ここに開示された発明は適切に意図されて、先に述べた目的を実現させるものであることは明白であるが、数多くの変形および実施態様が当業者によって考案され得るものであることが理解されよう、また添付された請求の範囲は、本発明の真正な精神および範囲内に入るものとして、これら全ての変形および実施態様をカバーするものであることが意図されている。
【図面の簡単な説明】
【図1】 本発明による装置および方法が実施されるコンピュータ画像生成(CIG)システムを示す概略ブロック図である。
【図2】 物体空間における物体の多角形面と、画像空間における対応する画像の多角形面と、画像の多角形面が出現するディスプレイラスタの画素(ピクセル)との関係を示す空間図である。
a.表示すべき所望多角形の付近における図2の画像ディスプレイの拡大部分を示す図である。
【図3】a.一対の多角形面が映像化されるディスプレイ画素のアレイを示す図である。
b. 多角形面が配置されるディスプレイ画素のアレイであって、各種の画素エッジEおよびエッジ距離Dを示し、これらは画素の色彩データを決定するために用いられるものを示す図である。
【図4】 数本の画素境界と交差する多角形を示す図である。
【図5】 信号を交差するエッジのデータビットを同定する表を示す。
【図6】 エッジの交差点を分解するための手順を示す図である。
【図7】 サブピクセル・フィルタを概略的に示す図である。
【符号の説明】
10 コンピュータ画像生成システム
12 コントローラ
14 ジョメトリープロセッサ
16 ディスプレイプロセッサ
16a 色彩純度サブアセンブリ
18 ビデオディスプレイ
20 オペレータ
22 入力制御インターフェース
Claims (12)
- 多角形(ポリゴン)が画素(ピクセル)のアレイ上に表示されるコンピュータ画像生成システム内で、多角形と画素との交点を表すデータを符号化するための方法であって、
少なくとも3個の頂点を有し、各異なった頂点対が異なったエッジを形成する表示すべき各多角形の各頂点の一組の座標を示す入力データ信号を受信する工程と、
前記多角形のエッジの、表示すべき各画素との交点があるならば、その交点を示すエッジデータ信号を、受信した頂点データ信号に応答して生成する工程とを含み、前記生成する工程が、表示すべき各画素毎に、
i)その画素の各辺毎に、前記エッジデータ信号のうちの1個のエッジデータ信号の第一フィールドに、1個のフラグを、前記多角形のうちの選択された1個の多角形のエッジが前記画素の前記辺と交差する、或いは交差しないことをそれぞれ表す第1の値、或いは第2の値の何れかに設定する工程と、
ii)前記選択された多角形のエッジがその画素のいずれかの辺と交差する場合は、前記エッジデータ信号のうちの前記1個のエッジデータ信号の所定のサイズの第二フィールドに、前記多角形のエッジが前記画素の辺と交差する前記画素の辺に沿う位置の推定値を表すエッジデータを符号化する工程とを含み、前記符号化したエッジデータが未符号化エッジデータよりも少ない記憶スペースを利用し、それにより前記多角形と前記画素との交点を表すのに必要な記憶要件を減少させることを特徴とする方法。 - 前記符号化する工程は、
前記選択された多角形のエッジが前記画素の二つの辺と交差する場合は、
i)前記第二フィールドの第一サブフィールドに、前記多角形の前記エッジが前記画素の前記二つの辺のうちの第一辺と交差する、前記第一辺に沿う距離の推定値を記憶する工程と、
ii)前記第二フィールドの第二サブフィールドに、前記多角形の前記エッジが前記画素の前記二つの辺のうちの第二辺と交差する、前記第二辺に沿う距離の推定値を記憶する工程とを含む請求項1による方法。 - 前記第二フィールドが所定数のビットロケーションから成り、
前記第一サブフィールドが前記所定数のビットロケーションの1/2から成り、そして
前記第二サブフィールドもまた、前記所定数のビットロケーションの1/2から成る請求項2による方法。 - 前記第二フィールドが4個のビットロケーションから成り、
前記第一サブフィールドが前記4個のビットロケーションのうちの第一及び第二のビットロケーションから成り、そして
前記第二サブフィールドが前記4個のビットロケーションのうちの第三及び第四のビットロケーションから成る請求項2による方法。 - 前記符号化する工程は、
前記選択された多角形のエッジが前記画素の3個の辺と交差する場合は、
前記第二フィールドに、前記多角形の前記エッジが前記3個の辺と交差する、前記画素の前記3個の辺に沿う距離の平均値を記憶する工程を含む請求項1による方法。 - 前記符号化する工程は、
前記選択された多角形のエッジが前記画素の4個の辺と交差する場合は、
前記第二フィールドに、前記多角形の前記エッジが前記4個の辺と交差する、前記画素の前記4個の辺に沿う距離の平均値を記憶する工程を含む請求項1による方法。 - 多角形が画素のアレイ上に表示されるコンピュータ画像生成システムにおいて用いるための、多角形と画素との交点を表すデータを符号化するための装置であって、
少なくとも3個の頂点を有し、各異なった頂点対が異なったエッジを形成する表示すべき各多角形の各頂点の一組の座標を示す入力データ信号を受信する手段と、
前記多角形のエッジの、表示すべき各画素との交点があるならば、その交点を示すエッジデータ信号を、受信した頂点データ信号に応答して生成する手段とを含み、前記生成する手段が、
i)表示すべき各画素毎に、その画素の各辺毎に、前記エッジデータ信号のうちの1個のエッジデータ信号の第一フィールドに、1個のフラグを、前記多角形のうちの選択された1個の多角形のエッジが前記画素の前記辺と交差する、或いは交差しないことをそれぞれ表す第1の値、或いは第2の値の何れかに設定する手段と、
ii)前記エッジデータ信号のうちの前記1個のエッジデータ信号の所定のサイズの第二フィールドに、前記選択された多角形のエッジがその画素のいずれかの辺と交差する場合、前記多角形のエッジが前記画素の辺と交差する前記画素の辺に沿う位置の推定値を表すエッジデータを符号化する手段とを含み、前記符号化したエッジデータが未符号化エッジデータよりも少ない記憶スペースを利用し、それにより前記多角形と前記画素との交点を表すのに必要な記憶要件を減少させることを特徴とする装置。 - 前記符号化する手段が、前記第二フィールドの第一および第二サブフィールドに、前記選択された多角形のエッジが前記画素の二つの辺と交差する場合、前記多角形の前記エッジが前記画素の前記二つの辺のうちの第一及び第二の辺と交差する、前記第一及び第二の辺にそれぞれ沿う距離の推定値を記憶する手段を含む請求項7による装置。
- 前記第二フィールドが所定数のビットロケーションから成り、
前記第一サブフィールドが前記所定数のビットロケーションの1/2から成り、そして
前記第二サブフィールドもまた、前記所定数のビットロケーションの1/2から成る請求項8による装置。 - 前記第二フィールドが4個のビットロケーションから成り、
前記第一サブフィールドが前記4個のビットロケーションのうちの第一及び第二のビットロケーションから成り、そして
前記第二サブフィールドが前記4個のビットロケーションのうちの第三及び第四のビットロケーションから成る請求項8による装置。 - 前記符号化する手段は、前記第二フィールドに、前記選択された多角形のエッジが前記画素の3個の辺と交差する場合、前記多角形の前記エッジが前記3個の辺と交差する、前記画素の前記3個の辺に沿う距離の平均値を記憶する手段を含む請求項7による装置。
- 前記符号化する手段は、前記第二フィールドに、前記選択された多角形のエッジが前記画素の4個の辺と交差する場合、前記多角形の前記エッジが前記4個の辺と交差する、前記画素の前記4個の辺に沿う距離の平均値を記憶する手段を包含する請求項7による装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/354,189 | 1999-07-15 | ||
US09/354,189 US6377274B1 (en) | 1999-07-15 | 1999-07-15 | S-buffer anti-aliasing method |
PCT/US2000/019523 WO2001006460A1 (en) | 1999-07-15 | 2000-07-17 | Improved s-buffer anti-aliasing method |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003505772A JP2003505772A (ja) | 2003-02-12 |
JP2003505772A5 JP2003505772A5 (ja) | 2007-09-06 |
JP4624617B2 true JP4624617B2 (ja) | 2011-02-02 |
Family
ID=23392227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001511639A Expired - Fee Related JP4624617B2 (ja) | 1999-07-15 | 2000-07-17 | 改良されたs−バッファのアンチエイリアシング方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6377274B1 (ja) |
EP (1) | EP1183650B1 (ja) |
JP (1) | JP4624617B2 (ja) |
KR (1) | KR100739838B1 (ja) |
CN (1) | CN1294538C (ja) |
AT (1) | ATE442638T1 (ja) |
CA (1) | CA2344524A1 (ja) |
DE (1) | DE60042924D1 (ja) |
WO (1) | WO2001006460A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003903448A0 (en) * | 2003-06-26 | 2003-07-17 | Canon Kabushiki Kaisha | A method for tracking depths in a scanline based raster image processor |
EP1659536A1 (en) * | 2004-11-19 | 2006-05-24 | Telefonaktiebolaget LM Ericsson (publ) | Method and apparatus for pixel sampling |
WO2006129902A1 (en) * | 2005-06-03 | 2006-12-07 | Polidigm Co., Ltd. | Fast anti-aliasing method |
US10430983B2 (en) | 2017-06-05 | 2019-10-01 | Microsoft Technology Licensing, Llc | Vertex pixel buffer |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL72685A (en) | 1983-08-30 | 1988-08-31 | Gen Electric | Advanced video object generator |
IL79822A (en) * | 1985-12-19 | 1990-03-19 | Gen Electric | Method of comprehensive distortion correction for a computer image generation system |
US4825391A (en) | 1987-07-20 | 1989-04-25 | General Electric Company | Depth buffer priority processing for real time computer image generating systems |
JP3071229B2 (ja) * | 1990-04-09 | 2000-07-31 | 株式会社リコー | 図形処理装置 |
US5264838A (en) * | 1991-08-29 | 1993-11-23 | Honeywell Inc. | Apparatus for generating an anti-aliased display image halo |
GB2278524B (en) * | 1993-05-28 | 1997-12-10 | Nihon Unisys Ltd | Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency |
US5684939A (en) * | 1993-07-09 | 1997-11-04 | Silicon Graphics, Inc. | Antialiased imaging with improved pixel supersampling |
US5528738A (en) * | 1993-10-06 | 1996-06-18 | Silicon Graphics, Inc. | Method and apparatus for antialiasing raster scanned, polygonal shaped images |
US5668940A (en) * | 1994-08-19 | 1997-09-16 | Martin Marietta Corporation | Method and apparatus for anti-aliasing polygon edges in a computer imaging system |
US6005580A (en) * | 1995-08-22 | 1999-12-21 | Micron Technology, Inc. | Method and apparatus for performing post-process antialiasing of polygon edges |
US5742277A (en) * | 1995-10-06 | 1998-04-21 | Silicon Graphics, Inc. | Antialiasing of silhouette edges |
CA2227502C (en) * | 1997-01-31 | 2006-06-13 | Microsoft Corporation | Method and system for determining and or using illumination maps in rendering images |
US6226005B1 (en) * | 1997-01-31 | 2001-05-01 | LAFERRIèRE ALAIN M | Method and system for determining and/or using illumination maps in rendering images |
US6057855A (en) * | 1997-07-02 | 2000-05-02 | Hewlett-Packard Company | Method and apparatus for providing polygon pixel sub-sample information using incremental means |
-
1999
- 1999-07-15 US US09/354,189 patent/US6377274B1/en not_active Expired - Lifetime
-
2000
- 2000-07-17 CN CNB008014124A patent/CN1294538C/zh not_active Expired - Fee Related
- 2000-07-17 EP EP00947486A patent/EP1183650B1/en not_active Expired - Lifetime
- 2000-07-17 JP JP2001511639A patent/JP4624617B2/ja not_active Expired - Fee Related
- 2000-07-17 DE DE60042924T patent/DE60042924D1/de not_active Expired - Fee Related
- 2000-07-17 KR KR1020017003303A patent/KR100739838B1/ko not_active IP Right Cessation
- 2000-07-17 CA CA002344524A patent/CA2344524A1/en not_active Abandoned
- 2000-07-17 WO PCT/US2000/019523 patent/WO2001006460A1/en active Application Filing
- 2000-07-17 AT AT00947486T patent/ATE442638T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2001006460A1 (en) | 2001-01-25 |
CN1294538C (zh) | 2007-01-10 |
JP2003505772A (ja) | 2003-02-12 |
DE60042924D1 (de) | 2009-10-22 |
ATE442638T1 (de) | 2009-09-15 |
EP1183650B1 (en) | 2009-09-09 |
CN1318179A (zh) | 2001-10-17 |
KR20010089257A (ko) | 2001-09-29 |
CA2344524A1 (en) | 2001-01-25 |
EP1183650A1 (en) | 2002-03-06 |
KR100739838B1 (ko) | 2007-07-18 |
US6377274B1 (en) | 2002-04-23 |
EP1183650A4 (en) | 2007-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111508052B (zh) | 三维网格体的渲染方法和装置 | |
US5668940A (en) | Method and apparatus for anti-aliasing polygon edges in a computer imaging system | |
US6529207B1 (en) | Identifying silhouette edges of objects to apply anti-aliasing | |
US6700573B2 (en) | Method for rendering realistic terrain simulation | |
US5699497A (en) | Rendering global macro texture, for producing a dynamic image, as on computer generated terrain, seen from a moving viewpoint | |
US5412796A (en) | Method and apparatus for generating images simulating non-homogeneous fog effects | |
EP0300703A2 (en) | Depth buffer priority processing for real time computer image generating systems | |
EP0137108A1 (en) | A raster display system | |
JPH0375682A (ja) | 写真写実影像を高速で生成する方法 | |
JPH0757117A (ja) | テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム | |
EP0527586B1 (en) | Anti-aliasing depth buffering | |
JPH05314241A (ja) | 体積効果ピクセル処理 | |
US20010055021A1 (en) | System and method for realistic terrain simulation | |
US6897863B2 (en) | System and method for hidden object removal | |
US8059133B2 (en) | Graphics pipeline for rendering graphics | |
JP4624617B2 (ja) | 改良されたs−バッファのアンチエイリアシング方法 | |
JP4311877B2 (ja) | 副標本化テクスチャ端縁部のアンチエイリアシング | |
US20060181534A1 (en) | Generation of motion blur | |
JP2763481B2 (ja) | 画像合成装置及び画像合成方法 | |
KR100466473B1 (ko) | 텍셀 캐시들을 사용한 영상 텍스처 맵핑 장치 | |
JP4125789B2 (ja) | コンピュータ画像システムにおいてポリゴンのエッジをアンチエイリアシングするための方法および装置 | |
JP4433525B2 (ja) | 画像処理装置 | |
TW318923B (ja) | ||
JPH04342083A (ja) | 模擬視界信号発生装置 | |
JPH06203171A (ja) | 画像生成装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070711 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100907 |
|
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: 20101012 |
|
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: 20101104 |
|
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: 20131112 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |