JP3608801B2 - 画像発生装置 - Google Patents

画像発生装置 Download PDF

Info

Publication number
JP3608801B2
JP3608801B2 JP18411891A JP18411891A JP3608801B2 JP 3608801 B2 JP3608801 B2 JP 3608801B2 JP 18411891 A JP18411891 A JP 18411891A JP 18411891 A JP18411891 A JP 18411891A JP 3608801 B2 JP3608801 B2 JP 3608801B2
Authority
JP
Japan
Prior art keywords
pixel
active
basic element
series
span
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 - Lifetime
Application number
JP18411891A
Other languages
English (en)
Other versions
JPH04233672A (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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
Priority claimed from GB9014555A external-priority patent/GB2245806A/en
Priority claimed from GB919100452A external-priority patent/GB9100452D0/en
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JPH04233672A publication Critical patent/JPH04233672A/ja
Application granted granted Critical
Publication of JP3608801B2 publication Critical patent/JP3608801B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing

Description

【0001】
【発明の属する技術分野】
本発明は、表示すべき3次元空間の物体の画像を、一連の画素列からなる2次元の規則的な画素アレイ上に発生させるための装置であって、該装置が:
所望の画像の基本要素に関する幾何学的な表面の記述を各々具えている複数の基本要素記述子を発生し、そして記憶するための手段と、
画素毎に共通の1点をポイントサンプルし、中間画素アレイを発生させるために、前記記憶した基本要素記述子を使用するための手段と、
複数の前記中間画素アレイの発生のために、前記基本要素と前記画素毎の1点との間にそれぞれ異なる所定のオフセットを設けるための手段と、
フィルタ処理された画素アレイを発生し、そして記憶するために、前記複数の前記中間画素アレイを画素ごとに結合するための手段とを具える画像発生装置に関するものである。
【0002】
【従来の技術】
冒頭に述べた種類の装置は、Henry Fuch等によるComputer Graphics, Vol.19,No. 3(GRAPH 85)の111 〜120 ページにおける’Fast Spheres, Shadows, Textures, Transparencies and Image Enhancements in Pixel Planes’、特に、119 及び120 ページの ’Successive Refinement’より既知である。Fuchによれば、”各画素(xy)をサブ画素のグリッドに細分化し、各サブ画素のアドレスを(x+xoffset, y+yoffset)の形態としている。各回毎に、画像をわずかに(xoffset,yoffset) だけオフセットさせ、画像を数回、例えば16回発生させる。このようにして、画素領域中のサンプルポイントが、適切な分布を形成するようにする。A.xoffset+B.yoffset を、各ブロードキャストトライプル(broadcast triple)の比例係数Cに加えることで、容易に推移させることができる。2個の色バッファを用いる。その内一方は、最終的な画像発生オフセットにより発生する色を記憶するためのものであり、他方は、サブ画素グリッドの回りを移動する際のランニングアベレージを記憶するためのものである。”
【0003】
この方法によって得られるフィルタ処理の主な目的は、サンプリングプロセスによって生じるエイリアスを減少させることにある。顕著なエイリアスは、画素アレイ軸と相関して傾いている基本要素の端部に現れる段階構造である。この影響は、基本要素の端部が画素アレイの軸とほぼ整列している場合に、特に顕著である。
【0004】
【発明が解決しようとする課題】
しかしながら、このような高画質(リアルタイム)画像合成を市場に提供できることが望ましいが、’画素面’ハードウェアのコスト及び2個のフルフレームカラーバッファを必要とする大規模メモリによって、Fuchの方法は、一般のハードウェアに適用するには、あまりにも高価なものとなってしまう。
【0005】
走査アルゴリズムとして知られている描写アルゴリズムのクラスは、例えば、E. Catmull ”A Hidden−surface Algorithm with Anti−aliasing ”Computer Graphics Vol.12,No.3,6−11(GRAAPH 1978) 及びL. Corpenter, ”the A−buffer, an Antialiased Hidden Surface Method”, Computer Graphics Vol.18, No. 3,103 〜108(GRAPH 1984) より既知である。走査アルゴリズムでは、画像は、一回に一画素列で発生させられる。しかしながら、Catmull 及びCarpenter により開示されたアンチエイリアス アルゴリズムは、ハードウェア、特に一般的なハードウェアにおいて実現するには複雑なものである。
【0006】
本発明の目的は、既知のシステムと比較して、画像発生に適用できる大きな処理能力を有しないシステム、すなわち、低コストで、さほど複雑ではないハードウェアシステムにおいて、ほぼリアルタイムスピードで、アンチエイリアス処理された画像の合成を実現せんとするにある。
【0007】
本発明は、表示すべき3次元空間の物体の画像を、一連の画素列からなる2次元の規則的な画素アレイ上に発生させるために、データベースモジュール(OBJ)と、幾何学的な変換を行ない、データベースモジュール(OBJ)で規定される基本要素に関する種々の物体空間の幾何学的な記述を、視界空間の等価な記述に変換するジェオメトリモジュール(GEOM)と、これらの記述を記憶する基本要素記憶装置(PST)と、アクティブポリゴンリストを保持し、基本要素記述子を入力し、スパン記述子を出力して、多重描写によりアンチエイリアスフィルタリングを行うスパンジェネレータ(SPGN)と、スパンプロセッサ(SPPR)とから構成される装置であって、
該装置が、
画素毎に共通の1点をポイントサンプルし、中間画素アレイを発生させるために、前記記憶した基本要素記述子を使用するための手段と、
複数の前記中間画素アレイの発生のために、前記基本要素と前記画素毎の1点との間にそれぞれ異なるオフセットを設けるための手段と、
フィルタ処理された画素アレイを発生し、そして記憶するために、前記複数の前記中間画素アレイを画素ごとに結合するための手段と
を具える画像発生装置において、
前記中間画素アレイを単一の画素列アレイとし、該中間画素アレイの発生と画素ごとの結合は、まず、一連の画素列のうちの第1番目の画素例に対して行われ、その後引き続いて、前記2次元の規則的な画素アレイ上に画像が完成されるまで一連の新たな画素列に対して順次に行われるように構成するとともに、
該装置はさらに、
一連の画素列の各画素に対して、前記基本要素がアクティブであると認識するための手段と、
一連の画素列の各画素に対して、前記基本要素が、前記オフセットに依存してアクティブであるときとアクティブでないとが存在することを認識するための手段と、
前記一連の画素列の各画素に対して基本要素がアクティブであると認識するための手段によってアクティブである基本要素が認識されたとき、または前記一連の画素列の各画素に対して基本要素が、前記オフセッ卜に依存してアクティブであるときとアクティブでないときとが存在することを認識するための手段によってアクティブである基本要素の存在が認識されたとき、前記一連の画素列の各画素に対して中間画素アレイの発生と結合を行わせるための手段と、
前記一連の画素列の各画素に対して基本要素がアクティブであると認識するための手段によってアクティブである基本要素が認識されなくなったとき、または前記一連の画素列の各画素に対して基本要素が、前記オフセットに依存してアクティブであるときとアクティブでないときとが存在することを認識するための手段によってアクティブである基本要素の存在が認識されなくなったとき、画像が完成したと判断して、前記一連の画素列の各画素に対して中間画素アレイの発生と結合を終了させるための手段と
を備えていることを特徴とする。
【0008】
このようにすることにより、中間画素アレイを、一回に、一列(すなわち、一走査ライン)発生させることによって画素処理段に、小型、高速メモリを具えるハードウェアを実現することができる。唯一個のフルフレームカラーバッファのみが必要であり、結果的には、かなりの節約になる。同時に、かなり簡易なハードウェアで、簡単なポイントサンプル描写を用い、複雑な分析フィルタ処理プログラムを回避することができる。
【0010】
また、上記のように、本発明による画像発生装置は、一連の新たな画素列の各々に対して、基本要素アクティブであると認識するための手段を具えている。このため、前記描写手段を配置し、前記アクティブ以外の基本要素の記述子を無視することで、無駄な処理努力を節約する。
【0011】
しかし、描写間に適用される異なるサブ画素オフセットによって、種々の基本要素を各々の描写に対してアクティブにするに際し、このオフセットが基本要素の端部に亘ってサンプルポイントを採用する場合、アクティブポリゴン(多角形を意味するポリゴンは、この場合、基本要素記述子の一部をなす)情報の維持に問題が生じる。
【0012】
従って、本発明による画像発生装置は、前記オフセットに基づき、前記基本要素の他のサブセットを前記新たな画素列において潜在的にアクティブであると認識するための手段をさらに具えることができる。前記描写手段は、各オフセットに応答して、選択的に他のサブセットの基本要素をアクティブとして取扱うことができる。
【0013】
所定の走査線上の潜在的にアクティブである他の基本要素を、特定の任意のオフセットの大きさに基づき、識別することによって、行方向の必要な情報とともに、走査線アルゴリズムが提供される。この行方向の必要な情報は、通常アルゴリズムに用いることのできないものであるが、多重描写によるアンチ エイリアス フィルタ処理を可能にするのに必要とされる。
【0014】
また、本発明による画像発生装置は、各基本要素に対して、該基本要素がアクティブである前記一連の画素列中の前記第1番目の画素列を識別するためのスタート列データを発生させるとともに記憶するための手段と、
前記アクティブ基本要素のリストを保持しつつ、各新たな画素列中の第1番目の任意のアクティブ基本要素を識別し、アクティブ基本要素のリストに加えるためのスタート列データを用い、前記リストを更新するための手段とをさらに具えることができる。
【0015】
また、本発明による画素発生装置は、前記スタート列データが、各画素列に対して、該一連の画素列中の第1番目の任意のアクティブ基本要素を識別するためのリストを具えることができる。
【0016】
また、本発明による画像発生装置は、各基本要素に対して、該基本要素がアクティブである前記一連の画素列中の最後の画素列を識別するためのエンド列データを発生させ、記憶するための手段と、前記識別された最後の画素列に対する前記複数の中間画素アレイが描写される際、前記アクティブ基本要素リストから基本要素を削除するための手段とをさらに具えることができる。
【0017】
また、本発明による画像発生装置は、各基本要素記述子が他の基本要素記述子のポインタのためのポインタ領域を具え、且つ、前記アクティブ基本要素リストが、各列毎に、連続しているこのようなポインタを用い、前記アクティブ基本要素を連鎖にリンクさせることによって形成することができる。
【0018】
ここで、「基本要素記述子」とは、三次元環境内での大きさ、形状、位置、および色やテクスチャ等のような表面データによって基本要素を定義している記憶データを参照するための便利な方法として採用されたものである。
【0019】
ジェオメトリック記述子に加えて、各基本要素記述子及び、各スパン記述子は、基本要素の表面に亘って、種々の一以上のパラメータの変化を表現することができる。このようなパラメータは、奥行き(Z) 、構成座標、及び光の影響に関連するその他のパラメータを具えている。最高の画質を提供するために、このようなパラメータは、垂直方向オフセット修正だけでなく、水平方向端部修正(すなわち、いわゆる”列スタート修正”)をも必要とする。これは、水平方向スタート位置の整数画素位置への切捨てを補償するものである。
【0020】
従って、本発明における一実施例では、前記描写手段が、基本要素記述子を受信するとともに、対応する画素列に、基本要素の範囲を各々規定する一連のスパン記述子を発生させるためのスパン発生手段を具え、該スパン発生手段が:
サブ画素の精度を用いて、前記スパンの水平方向スタート位置を計算するための手段と;
少なくとも1個の他のパラメータに対する初期値を計算するための手段と;
サブ画素の精度を用いて、垂直方向のオフセット値を受信し、これより、水平方向のスタート位置のための垂直方向オフセット修正を計算し、前記垂直方向オフセット修正に従って、前記水平方向スタート位置を修正するための手段と;
前記他のパラメータ初期値、(i)前記受信された垂直方向オフセットのための修正及び(ii) 前記修正された水平方向スタート位置の前記サブ画素部分のための修正に関する計算を行ない、水平方向スタート位置から整数画素位置への切捨てを補償するとともに、これらの修正に従って、前記他のパラメータの初期値を修正すための手段;
とを具えることができる。
【0021】
ここで言う「サブ画素」は「中間画素」とは同じでない。1画素の幅または高さより小さい間隔をサブ画素と呼び、そして画素の境界内におけるサンプルポイントの動きの程度、または基本要素の座標に付与されたオフセットの量を記述するために使われる。「中間」は、x/y位置や最終的に表示される画素値ではなく、その代わりに出力または表示のための値が引き続いて引き出される部分的な値を言う。
また、上記において「少なくとも1個の他のパラメータ」とは、例えば、図7に関連して後述する奥行き座標zの値である。
また、水平方向スタート位置の垂直方向オフセット修正のために計算される一定の値は、他のパラメータの値の修正の計算にも役立てることができる。
【0022】
従って、本発明における一実施例では、前記他のパラメータ初期値の修正前に、前記スパンの前記水平方向スタート位置を修正し、該修正水平方向スタート位置の小数部分を、前記修正の計算に使用するために一時的に記憶し、前記他のパラメータ初期値に適用することができる。
【0023】
【実施例】
以下図面を参照して、本発明を実施例につき説明するに、図1は、3次元物体を2次元ディスプレイ上に表示する従来の画像表示装置を図式的に示す図である。データベースモジュール (OBJ)は、各々一群の物体基本要素として形成される種々の3次元物体を具えている3次元環境のモデル、すなわち、“物体空間”を構成するデータベースを、記憶、管理する。各基本要素を、例えば多角形表面又は、彎曲したパッチとすることができる。これらを、順次、幾何学的記述、例えば、頂点座標と、色、構成、透明度、表面法線等のような表面の記述とによって規定する。光源に関する幾何学的な表面の記述も含めることができる。他方のモジュール(VEW)は、例えば、視点の位置、見る方向及び視野の鑑点より視界空間を規定する。
【0024】
トラッカボール、マウス及び/又はキイボードのようなユーザ入力手段(INP)を、ヒューマンコンピュータ インタフェースモジュール(HCI) に接続し、ユーザが物体空間内で、物体を処理、修正あるいはまた、視点、見る方向及びその他の視界空間に関する特性を処理することができるようにしている。ジェオメトリモジュール (GEOM) は、幾何学的な変換を行ない、データベースモジュール(OBJ) で規定される基本要素に関する種々の物体空間の幾何学的な記述を、視界空間における等価な記述に変換する。一般的に、これらの変換は、当該技術においてよく知られているような翻訳、回転及び遠近法を具えている。基本要素に関する表面の記述も、視界空間の照明状態に従って規定される。画像が2次元である一般的な場合、通常x及びyと称する2次元視界空間中の座標は、スクリーンの座標に線型的に対応しているが、一方、第3座標zは、物体のスクリーンへの奥行きに対応している。
【0025】
ジェオメトリ モジュール(GEOM)は、視界空間の基本要素記述を、描写モジュール (DRW)に送信し、描写モジュールが視界空間基本要素記述を、表示に好適な形態、一般的には、スキャン変換によって画像バッファメモリ (ININT)中の画素値の2−Dアレイに変換する。描写モジュール(DRW) は、z座標を用いて、ヒドゥンサーフィスリムーバル (hidden surface removal) の計算を実行するとともに、シェーディングの計算を実行する。このようなタスクを実行するための好適な手段は、当該技術分野において既知である。
【0026】
以上において引用されている文献中で、Fuch等が記載している多重描写技術に従って、バッファ (IMINT)中の画素アレイを、サンプリング化された画像の中間点としている。表示装置(DIS) 上に生じる各画像毎に、一組であるN個の中間画像を描写するとともに、モジュール(OFFS) は、異なる所定のオフセットを、N個の描写の各々に適用し、各描写間を、各画素のサンプルポイントが移動できるようにする。画像アキュムレータバッファ(IMACC)は、中間画像が発生すると同時に、中間画像を足し合わせ、N回の描写の後、画像アキュムレータバッファ(IMACC)は、サンプルポイント分布及び各サンプルポイントに加えることのできる重みに従って、フィルタ処理された画像を有している。
【0027】
Fuch等が記載しているように、画像を順次に改善すると同時に、これらを表示すべき場合には、バッファ(IMACC) 中に保持される値を正規化し、各々の描写の真の実行平均を形成できるようにすべきである。しかしながら、バッファ(IMACC) が二重バッファとなっている場合には、全描写が実行され最終的な平均値が得られた後、中間画素値を単に足し合わせ、Nで割算することができる。最終的な平均値は、二重バッファ処理された画像アキュムレータ(IMACC) の出力手段に読出される。
【0028】
実際には、オフセットを用いて、この固定サンプルポイントアレイに関連する基本要素を移動させることができる。ところで、簡単のため、逆の状況を説明している図2では、端部Eと頂点Vとを有している基本要素Pは、画素領域A,B等の方形アレイに亘って不変であるとともに、Nは、2個の代表的な画素領域A及びBの各々の中でドットでマークされているポイントにおける16個の異なるサブピクセルオフセットアフェクトポイントサンプリングと等しい。
【0029】
画素A及びBにおいて示されているサンプルポイントアレイは同一のものであり、一組であるN(=16) 個のサンプルポイントによって規定されるサブ画素アレイに従って、画素アレイの各画素領域毎に繰り返される。図2のサブ画素アレイが、16個のサブ画素の方形グリッドの中心に配置されているサンプルポイントの簡単な例であることがわかる。
【0030】
簡単のため、斜線にて示されている基本要素Pのカラー値が1であり、且つ、背景のカラー値が0であると仮定すると、図2より、画素Aにおける最終的な平均値は 7/16 又は 8/16 であり、また、画素Bにおける最終的な平均値は 5/16 又は 6/16 となる。これらの小部分は、16個のサブ画素で量子化される基本要素でおおわれている画素領域の小部分を示しており、アキュムレータバッファ(IMACC)中の画像は、少なくともおおよそはアンチエイリアスフィルタ処理されている。
【0031】
アンチエイリアス処理には問題がある。これは、画像のある特徴に対して、他の特徴よりもより顕著である。特に、端部Eのように、ほんのわずか画素アレイの座標軸に対して傾きを有している端部では、かなり明らかな階段効果が生じる傾向にある。このことは、端部Eが例えば位置E′及びE″へと連続的な画像として移動するにつれて、端部Eに沿ってハイスピードで階段のステップが動くように見える場合、特にモーションピクチャーの画像シーケンスに妨害をきたす。
【0032】
図2は、一般的に最もエイリアスが目立つ場合、特に、サンプルグリッドパターンがこれら16個のポテンシャル量子化レベルをいかに非能率的に用いているかを示している。基本要素端部Eが位置E′に移動する際、フィルタ処理された色の値は、依然として16個中の8個で一定である。従って、E′とE″との間の小さなスペースで、前記値が4レベル急に上がり、16個中の12個となる。事実上、関連する端部が水平又は垂直に近づくにつれて、N(=16)個の潜在的に利用することのできる量子化レベルは、実際には、わずかに√N(=4)個に低下し、16個の描写中に12個は、優れたフィルタ処理が最も必要な状況下において、事実上余分なものとなってしまう。我々の同時係属英国第9014528.5 号特許出願(PHB 33649)では、新規な一連のサンプリングアレイを開示している。このアレイは、非規則的又は、規則的ではあるが画素の列と整列していないポイントのアレイを設けることで、より効果的に量子化レベルを用いている。このため、ポイントの投写は、√Nよりも多くのポイントにおいて、画素軸と交差する。本発明は、従来の技術である規則的なサブ画素アレイと、上記にて引用されている同時係属出願にて開示されている特別なサブ画素アレイとに、等しく適用できる。
【0033】
図3は、2次元ディスプレイに3次元空間中の物体を表わしている画像を表示するための本発明による表示装置を略ブロック形式で示している。画像は、走査線アルゴリズムによって生じ、アンチエイリアスフィルタ処理を行なうために、画像の多重描写ができるように配置される。
【0034】
図1にて示されている装置のように、データベースモジュール(OBJ) が、一群の物体基本要素として各々形成される種々の3次元物体を具える3次元環境のモデル、すなわち“物体空間”を形成するデータベースを記憶、管理する。もう一方のモジュール(VEW)は、例えば視点の位置、見る方向及び視野の観点より視界空間を規定する。トラッカボール、マウス及び/又はキイボードのようなユーザ入力手段(INP)を、ヒューマンコンピュータ インターフェース(HCI) に接続し、ユーザが物体空間内で物体を処理若しくは修正、又は、視点、見る方向及びその他の視界空間に関する特性を処理することができるようにしている。ジェオメトリモジュール(GEOM)は、幾何学的な変換を行ない、データベースモジュール(OBJ) で規定される基本要素に関する種々の物体空間の幾何学的な記述を、視界空間の等価な記述に変換する。これらの記述は、ジェオメトリモジュール(GEOM)の一部分を構成する基本要素記憶装置(PST) に記憶される。スパンジェネレータ(SPGN)とスパンプロセッサ(SPPR)とは、オフセットジェネレータ(OFGN)と相俟って、図1のモジュール(DRW) 及び (OFFS) と等価なものである。
【0035】
ここで、スパンジェネレータ(SPGN)は、記憶した基本要素記述子を使用するための手段であり、どの画像の基本要素がサンプルされた各画素に寄与するかを決定する。描写に先立つN回のサンプルされた各画素について、各サンプルは画素に対して正確な値が立ち上がるように画素内の異なった位置、とくに画素が基本要素によって部分的にのみおおわれている位置から取られることが必要である。また、オフセットの付与に関しては、画素内のサンプル点に対して各回に異なったポイントを指定する。
【0036】
また、中間画素アレイは、各画素内で同じ相対的位置を有するサンプルポイントにおける各画素のサンプリングに従っているラインに沿った各画素に対する単一のポイントサンプル値である。言い換えると、第1の中間画素アレイは、各画素を一度その上方左手隅においてサンプルすることから生じる値のリストを具えている。次の中間画素アレイは、それらの同じ画素に対する値の別の集まりであり、このときはその中心における各々のサンプリングに従う。
【0037】
中間画素アレイを結合するステップは、アレイ中の各画素に対して、すべての異なったポイントサンプル値を累算することを含み、それから、これらの値は出力画像において全体として画素に適用される平均(または、重み付けされた平均)値を発生させるために使用される。平均値の発生は、出力値を与えるために画素に対してNポイントのサンプル値を一緒に加算しそしてNによって除算するのと同様に簡単である。
【0038】
以上のように、N個の中間画素アレイは、動作中に出力アレイに対して1列の画素列をN回サンプルすることで発生され、そしてそれから出力画素の次のラインに移る前に出力画素値の1ラインを与えるためにN個の中間画素アレイを結合し、そして再びN個の中間画素アレイを発生し、そして結合する。
【0039】
以上述べたことが本発明の主題であり、従って、請求項1に記されているところでもあるので、この部分について、図8(a)〜(c)、図9、図10および図11 (a),(b)を参照して分かり易く説明する。
なお、この説明は、本明細書中で使われている術語の定義、および術語間の関係の説明を含むものである。
また、説明に使用する図8乃至図11においては、1画素当たりのサンプル点の数が16個であり、図2の場合と等しい。
【0040】
図8から図11までのすべてにおいて、各正方形は画素を表し、そして画像が表示されるとき、画素面全体に適用される平均または全体にわたる色を見つけるために、各画素の表面を16回ポイントサンプルする。以下、画像が表示されるまでの過程を、その工程を表すステップに分けて説明する。
【0041】
ステップ1:図8(a)に示すように、1度に1行の、画素アレイ(DIS)を作っている画素を考える。所定の画素列(N)(図8(a)参照)に対して、第1のステップは、列の各々の画素内の第1の点においてサンプル値Aをとることである。こうして、列内の画素のそれぞれに対して、それぞれのサンプル値A, A , A ・・・を有している。サンプル点Aのすべては同じオフセット(x ,y)を有している。図において、このオフセットは(任意のx,y軸に関してよりもむしろ)画素の境界に関して測定され示されているけれども、しかしこれは、基本要素に関して測定されたオフセットと同じ結果を生ずることに留意されたい。実際の結果において、各画素中に記した共通のサンプル点の位置があり、そして、オフセットの適用は、画像が描写されている間に基本要素に対して相対的に画素(それ故、サンプル点)の位置をシフトさせる。
【0042】
使用された術語に関連して、オフセットx,yの距離は画素の幅より小さく、従ってサブ画素のオフセットと呼ばれる。値Aは画素の一部のみを表す(すなわち、他と結合されるべきである)から、サンプル値Aは中間画素値と呼ばれる。
画素列(N)に沿ってサンプル点Aについて集められた値、すなわち、値(A, A , A ・・・)のアレイは、従って中間画素アレイである。従って、上記値(A, A , A ・・・)は第1の中間画素アレイを与える。いま、1度に1つを考えると、これらの中間画素アレイは、それ故に,また,単一の画素列アレイでもある。
【0043】
ステップ2:図8 (b)に示すように、このステップにおいては、画素のオフセットは(x, y )に変化され、これは、基本要素に関するサンプル点の位置をAからBに変更する。これは、画素列(N)(図8(b)参照)に対して、値( Bl, B2, B3 ・・・)を含んでいる第2の中間画素アレイを与える。
【0044】
ステップ16:以下同様にオフセットを変え、そして別の中間画素アレイを集める過程は、ステップ16まで、ステップ2から14回継続される。ステップ16においては、図8 (c)に示すように、最後のサンプル点Pが使用され、これは、画素列(N) (図8 (c)参照)に対して、値( P, P, P ・・・)を含んでいる第16の中間画素アレイを与える。以上、1画素あたり16個のサンプル点は、ここでは典型的な値として選択されたが、他の数も選択されることに留意されたい。
【0045】
ステップ17:以上により得られた第1から第16までの中間画素アレイを画素ごとに結合する過程が始まる。当該画素に対して16個の中間画素アレイの各々からのそれぞれのサンプル点の値が、図9に示すように、 1つに集められ、そしてそこでは、画素列(N) (図9参照)中の画素内のサンプル点の値AからPまでの値が1つに集められる。サンプル点の値は、画像が表示されるとき、全部の画素にそれぞれ適用される表示値である単一の値Qを与えるためにそれから処理される。この処理の特別の形態は本発明の実質的な特徴ではなく、そして実際に、サンプル点の値AからPまでに基づいて値Qが選択される幾つかの方法がある。添付の例では、値Qは16個のサンプル点の値の直接の平均としてとられているが、しかし、その値だけでなく、画素内のサンプル点の位置に与えられる重みづけを有するより複雑な計算も使用し得る。
【0046】
ステップ18:このように、複数のサンプル点の値を1つに集める処理(結合)は、当該列の各画素に対して順次行われる。これは、画素値あたりのアレイ(Q,Q,Q・・・)の形態の列に対するフィルタ処理された画素アレイを生成する。
【0047】
ステップ19:図10に示すように、上述したステップ1から18までの処理が画素列(N)の次の列(N+1) (図10参照)に対して繰り返され、順次、ある列からその次の列にというようにすべての画素列がサンプルされ、そして全体の画像に対するフィルタ処理された画素アレイを与えるために、フィルタ処理された画素アレイが全ての画素列に対して引き出されるまで繰り返される。
【0048】
また、本発明では、一連の画素列の各画素に対して、基本要素が(常に)アクティブであると認識するための手段と、オフセットによっては、基本要素がアクティブかも知れないと認識するための手段とを具えている。
【0049】
これについて、図11 (a),(b)を参照して説明する。
まず、術語「アクティブ」とは、基本要素が画素に対して出力値に寄与することを意味している。
図11(a)に示す例においては、基本要素は明らかにアクティブである。何故なら、画素のオフセットが基本要素に相対的にその画素に対するサンプル点(AからPまで)をどこに置いても、基本要素が出力値に寄与するからである。
【0050】
次に、図11(b)に示す例においては、オフセットに依存して基本要素はアクティブであるかも知れない。何故なら、オフセットが画素に対するサンプル点 を置く位置に依存して寄与するかも、寄与しないかも知れないからである。本例( 図11(b))について、もし画素が、例えば、サンプル点を点A, L, E,G, D, H, P, N, KまたはOに置くオフセットでサンプルされるならば、基本要素は出力値に寄 与せず、従って、基本要素はアクティブではないであろう。しかし、もし画素が点F,C,I,B,MおよびJのいずれかにおいてサンプルされるならば、基本要素が出力値に寄与し、従って、基本要素はアクティブであるであろう。
【0051】
走査線アルゴリズムによって、一回に、通常、上部から底部へ、一画像線が発生する。スクリーンラインを処理する間、記載されている例ではポリゴン(ポリゴンは、基本要素記述子の一部分の例で、基本要素記述子は、画像の基本要素の地理的記述(すなわち、三角形や多角形(ポリゴン)などの形状)を基本要素に対応する表面の記述(すなわち、基本要素は何色か、その光反射特性はどうかなど)とともに含んでいる。)であるが、前記ラインに寄与するすべての基本要素に関する情報が利用可能でなければならない。このことは、アクティブ ポリゴン(Polygon)リスト(APL) と称する、すべての出力値に寄与するポリゴンに関するリンクされたリストを用いることで達成される。あるスクリーンラインから次のラインに移動するとき、いくつかのポリゴンが何ら画像に寄与しない場合、これらは、リストから消去されるはずである。一方、その他は、寄与し始め、足し合わされるはずである。ポリゴンがリスト中に現れる順番は、全く問題にならない。リストが、現在のラインを部分的におおっているすべてのポリゴンを正確に記録していることのみが必要である。
【0052】
アクティブポリゴンリストを構成するために、画像を形成する、すべての2次元ポリゴンのデータ表が、前記画像の任意の画素が発生する以前に、組立てられる。これを、図1にて示されているような非走査線システムと対比する。非走査線システムでは、一回に一個のポリゴンが、3次元表現から2次元画素へと処理される。これに対し、本発明では、各スクリーンラインに対して一個づつ3次元多角形がバケットに分類される場合、単に適切なバケットリストをアクティブポリゴンリスト(APL) に加えることによって、新たな多角形がアクティブポリゴンリスト(APL) に加えられる。図5は、メモリ PST中のこの構成を示している。
【0053】
図5に示されているように、走査線0,1,−−−−− Lでスタートするポリゴンのバケットリストを指示しているメモリバンク0,1,−−−−− Lを設ける。これらのYバケットは、所定のラインYでスタートするポリゴンのリンクされたリストを具えている。図5では、ラインY=0において、2個のポリゴンがスタートすることが示されている(1st及び2nd) 。各ポリゴンに対して、スタートライン(STY) 及びエンドライン(EDY) は、端部傾斜及びスタートラインにおけるX値とともに記憶される(これは、図4に示されている三角形の基本要素の場合、単一の値となる)。更に、奥行きの値(z)及び表面の特性も記憶される。
【0054】
1フレームを処理するためのスパンジェネレータ(SPGN)の基本的なアルゴリズムは、以下に示す通りである:
各々のYに対して、
Yバケットに新しいエントリがある場合、
新しいエントリをアクティブポリゴンリストに加えるアクティブポリゴンリストの各ポリゴンに対して、スパン記述子を発生させる。
ラインがエンドライン(EDY)の場合、
ポリゴンをアクティブポリゴンリストから削除する。
ラインがエンドライン(EDY)でない場合、
端部をインクリメント(増分)する。
【0055】
このようにして、最小のYバケットの値に基づきすべてのポリゴンが、Yバケットに分類された後、スパンジェネレータ(SPGN) は、最小のスクリーンYから、最大のスクリーンYへと、すなわち上部から底部へと、スクリーンを横断する。各ライン毎に、スパンジェネレータ(SPGN)はスパン記述子(SD)を、前記ラインの各ポリゴン毎にスパンプロセッサ(SPPR)に伝送する。スパンプロセッサは、画素を単一の画素列のライン画像バッファ(LIMINT)に送り、このバッファが中間画素値を記憶する。スパンジェネレータ(SPGN)は、各走査線を処理する以前に更新されるアクティブポリゴンのリストを保持する。通常、新しいYバケットのポリゴンがリストに加えられ、いくつかの古いものが削除される。残っている古いポリゴンは、この段で垂直傾斜によってインクリメントされるすべての端部の値を有している。
【0056】
任意のスクリーンラインY=Lにおいて、リンクされたポリゴンのバケットが存在する。これは、ナルポインタ、すなわち、アドレスゼロを指示しているポインタで終了する。スパンジェネレータ(SPGN)中のプロセッサは、アクティブポリゴンリストを保持する。現行のラインにおいて、プロセッサは、まずバケットLをアクティブポリゴンリストに加え、ポリゴンを採り入れる。このことは、まず、バケットLのスタートアドレスを、アクティブポリゴンリストのナルポインタに書き込むことによって、このラインで開始する。この時、バケットLのナルポインタは、アクティブポリゴンリストの新しいナルポインタを形成する。この時、スパンジェネレータは、アクティブポリゴンリストを横断し、各ポリゴン毎に、スパン記述子 (SD) を発生させる。スパン記述子(SD)、開始及び終了x値、奥行きすなわちz値、色、明暗値等である。このスパン記述子は、独立のスパンプロセッサ(SPPR)に送られ、このプロセッサは、画素値をラインバッファ(LIMINT)に書き込む。必要ならば、例えばzバッファアルゴリズムによって、この段で、隠れている表面除去も行なわれる。スパンジェネレータ(SPGN)は、次のスクリーンラインの準備として、適切な傾斜値によって各ポリゴン記述子のx−left値及びx−right 値もインクリメントする。
【0057】
Yバケットポリゴンリストに割当てられるべきメモリ量は、シーンのポリゴンの総数及びデータ構造の複雑さに依存している。多重構成マップを用いる精巧な描写プログラムは、シンプルなグラウド(Gouraud) シェーディドポリゴンよりもかなり多くの記憶容量を必要とする。ポリゴンリストは、2個の異なるリンクされた構造、すなわち、Yバケットリンクリスト及びアクティブポリゴンリンクリストを同時に保持する。しかしながら、これらのリストは同時に必要とされないので、同一のポインタ領域を同時に両者に適用することができる。
【0058】
メモリ中に、Yバケットを指示しているエントリを具えているスクリーン(0,1−−−−− L)のライン数と等しいサイズのアレイ、すなわち各ラインで開始するリンクされたポリゴンリストを設ける。アクティブポリゴンリスト(APL) 中にも、第1ポリゴン構造を指示しているポインタすなわち APLスタートを設ける。この構造を用いて、アクティブポリゴンリスト(APL) を保持する。この構造において注目すべき領域は、リンクポインタのみである。図5は、第1スクリーンラインを処理する前のフレームポリゴンメモリの内容を示している。
【0059】
最初に、APLスタートのリンクポインタ領域は、ナルを指示している。スクリーンラインゼロのためのYバケットエントリは、リンクポインタ領域によってリンクされる2個のポリゴンのリストを指示している。第2ポリゴンは、ナルを指示している。新しいYバケットは、各スクリーンラインのスタート時に、アクティブポリゴンリストに加えられる。バケットが空の場合には、最後にポリゴンのナルリンクポインタは、ナルポインタで、バケットアレイエントリから単にオーバライトされるにすぎない。
【0060】
Fuch等によって開示されているアンチエイリアスフィルタリング機構によれば、フレーム中のすべてのポリゴンは、多数回、累積バッファに送られる。各々の描写は、サブ画素xオフセット及びyオフセットの異なる対を有している。すべてのx及びyポリゴン構成位置が処理され、分数の正確性が保持されている。最終的には、アンチエイリアシング効果を用いて、画像の空間的フィルタ処理を行う。定義により処理される走査ラインが、ライン−バイ−ライン(line−by−line) の原理に基づき発生する。また、サブ画素のxオフセットは容易に処理することができるが、yオフセットによって、一つの走査線が、次の走査線に影響を与えることとなる。このことは、既知の走査線アルゴリズムを用いても不可能である。
【0061】
本発明においては、アンチエイリアシングは、各画素に対して行われるN回のオーバサンプリングによって与えられたフィルタリングの結果である。それによって基本要素の端部をソフトにしアンチエイリアシングが適用されていない基本要素に基づいたグラフィック画像の様子を損じ、目に見えるはしご段状の人為効果を除去する。
【0062】
図4は、通常のポジション1及び2個の起こりうるオフセットポジション2及び3における三角形を示している。走査線A〜Dにおいて、ポジション2及び3に対するスパンの新たな制限 xleft及びxrightを、オフセット値Nx及びNyより、計算することができる。値Nxは、単に xleft及び xright に加えられ、Ny には、端部の傾きがかけられ、引き算を行う前に、水平方向へのオフセットに変換される。すなわち;
xleft (new) = xleft+Nx−Nyδxleft
xright(new) = xright +Nx−Nyδxright
各オフセットに従って修正される xleft及び xright の値を用いて各スパンが多数回、スパンプロセッサ(SPPR)に送られる。
【0063】
多重描写によってアンチエイリアスフィルタ処理を行なうために、各スパン記述子を、多数回、スパンプロセッサ(SPPR)に送る必要がある。水平方向(すなわちx)のオフセットに関しては、この問題はないが、垂直方向(すなわちy)のオフセットに関しては、多くの問題がある。走査線Aにおいて、これらのオフセットによって、走査はゼロ若しくは負の長さまで低減される。厳密に言えば、ポリゴンはラインDで終了するが、ポジション3にオフセットする場合、ラインEにも描写する必要がある。第1の問題は、ゼロ若しくは負のスパンを検出するとともに、このスパンを、スパンジェネレータ(SPPR)に供給している間又は、供給する以前に、前記スパンを拒絶することによって解消することができる。第2の問題は、アクティブポリゴンリスト(APL)と同様に、デリーテッドポリゴンリスト(DPL)を保持することによって、この実施例によって解消される。デリーテッドポリゴンリスト(DPL)は、先の走査線の処理中に削除されるすべてのポリゴンを採用することで構成される。従って、ポリゴンリスト(DPL)は、次の走査線及び、これに関する削除されるポリゴンが記憶された後、消去される。このようにして、デリーテッドポリゴンリストは、先行するラインのアクティブポリゴンリストから削除されるこれらすべてのポリゴンを具えている。
【0064】
図6は、スクリーンラインLの処理のためのフレームポリゴンメモリの内容を示す図である。これは、ラインOでスタートし、ラインL−1で終了するとともに、ラインLで削除されるポリゴンリスト DPLを具える第1及び第2ポリゴンを示している。ポリゴンが同一のラインでスタートし、終了する必要がないことに注意すべきである。例えば、第1ポリゴンがラインL−1で終了しさえすれば、削除されるポリゴンリストは、第1ポリゴンのみを具え、第2ポリゴンにリンクされる代わりに、ナルポインタを出力する。更に2個のポリゴン、すなわち、第3及び第4ポリゴンがラインLでスタートし、これらがアクティブポリゴンリストAPL に加えられることもわかる。この例では、アクティブポリゴンリスト中にわずかに2個のポリゴンが存在するにすぎないが、一方、このことは、必ずしも必要ではなく、また、通常のことでもある。その理由は、先行するラインでスタートしたその他のポリゴンが依然として存在するからである。この場合、第3及び第4ポリゴンは、単にこれらを先行するYバケットのナルポインタにリンクさせることによって、リストに加えられるにすぎない。
【0065】
多重描写によってアンチエイリアスフィルタリングを行なう際、スパンジェネレータ(SPGN)によって実行される高レベルアルゴリズムは、以下に示す通りである;
各々のYに対して、
新しいYバケットを、アクティブポリゴンリストに加える。
第1オフセットを選択する。
最後の描写を除く、すべての描写に対して、
削除されるポリゴンリスト中のすべてのポリゴンに対して、
スパンを発生させる。
アクティブポリゴンリスト中のすべてのポリゴンに対して、
スパンを発生させる。
ラインバッファに蓄積する次のオフセットを選択する。
削除されるリスト中のすべてのポリゴンに対して、
スパンを発生させる。
デリーテッドポリゴンリストを消去する。
アクティブリスト中のすべてのポリゴンに対して、
ポリゴンの第1スパンの場合、
わずかにポリゴンを次のスクリーンラインへインクリメントする。
ポリゴンの第1スパンでない場合、
スパンを発生させる。
ポリゴンを1スクリーンラインインクリメントする。
ポリゴンの最終スパンの場合、
ポリゴンをデリーテッドポリゴンリストに加える。
ラインバッファ(LIMINT)に蓄積する。
ラインアキュムレータをフレームバッファ(FRMB)に移す。
上記の高レベルアルゴリズムは、ある点に関して、y方向のオフセットに関連して発生する問題を考慮するのに適しているはずである。デリーテッドポリゴンリストと関連する“スパンを発生させる”とのステートメントは、垂直方向オフセットNy+(エンドライン(EDY)の小数部分)=1の場合にのみ実行される。これは、ポリゴンの一部分を現在の走査ラインへと送るための必要条件である。
【0066】
また、上記の高レベルアルゴリズムは主に疑似コードの形態において大きく、そして「第1のオフセットを選択する」や「スパンを発生させる」は、オフセットの発生と付与(付与されたオフセットによって、基本要素が画素の次の水平列に“スピルオーバ”することを起こさせるかどうかの決定を含めて)を取り扱うためにプログラムされたシステムに基づくソフトウェアの概念的なコマンドである。
【0067】
2個のポリゴンが垂直方向に接近している場合、すなわち、アンチエイリアスされるシステム中で両者が合致する場合スクリーンライン上に両者を表示せず、その他のスムースな画像に対して顕著なエラーを除く必要がある。本発明の実施例において、このことを達成するために、ポリゴンの第1ラインを表示しない。このことによって、ある小数の垂直位置でスタートするポリゴンの第1スパンに、垂直方向のオフセットを与える際に生じる問題を解消することができ有利である。垂直方向のオフセットの水平方向のシフトであるxleft及びxrightへの変換は、これらの場合には、うまく作用しない。すなわち、三角形の頂点が第1ラインである場合、xleftとxrightとを交換し、負のスパン長を発生させる。しかしながら、垂直方向のオフセットによって、ポリゴンの第1スパンが次の表示行 (すなわち、スクリーンライン)に生じる際、依然として処理を施す必要性がある。これらのスパンは、スタートライン(STY)の後ただちにスクリーンラインに適用される以下のテストを用い、検出されるとともに拒絶される。
【0068】
(スタートライン(STY)の整数部分)=Y−1 且つ
(スタートライン(STY)の小数部分)+Ny=1の場合、スパンを拒絶する。
このテストを、ポリゴンの第1ラインが表示されない条件と結びつけ、以下のテストが与えられる。
(スタートライン(STY)+Ny)の整数部がYの場合、スパンを拒絶する。
スクリーンラインが処理されるにつれて徐々に進展するアクティブポリゴンリスト(APL) とは異なり、デリーテッドポリゴンリスト(DPL)は、各々スクリーンライン毎に、消去されるとともに再構成される。しかしながら、アクティブリスト及びデリーテッドリストの両方に、同時にポリゴンが存在しないので、両方の目的のために、ポリゴン記述子中に同一のリンクポインタを用いることができる。
【0069】
ポリゴンからスパンを発生させることに加え、各スクリーン毎に、ポリゴンのすべてのパラメータを垂直方向にインクリメントさせる必要もある。このことは、各ラインの最後の描写を発生させると同時に行なわれる。従って、最初の(n−1)個の描写は、単に、現行のアクティブポリゴンリスト(APL)及びデリーテッドポリゴンリスト(DPL)のためのスパンの発生を伴うにすぎない。各描写が実行され、ラインバッファ(LIMINT)に記憶され、ラインアキュムレータ(LIMACC)に加えられる。最後の描写では、まず、デリーテッドポリゴンリスト(DPL)からスパンを発生させ、その後、再構成の準備として、デリーテッドポリゴンリスト(DPL)を消去する。この際、アクティブポリゴンリスト(APL)が処理される。すなわち、スパンを発生し、完成されたポリゴンがアクティブポリゴンリスト(APL)から新たなデリーティドポリゴンリスト(DPL)へと移される。最終的に、ラインアキュムレータバッファ(LIMACC)が蓄積され、最終的に得られるアンチエイリアスフィルタ処理された画像ラインが、ラインアキュムレータ(LIMACC)からフレームバッファに伝達される。
【0070】
考慮すべきポリゴンの処理に関するその他の事柄としては、xleft , xright ,zleft 等のパラメータが垂直方向に増大する場合、整数画素位置での正しい値が必要とされるということである。ポリゴンのスタートライン(STY)の値が小数部分を有しているので、最初の垂直方向へのインクリメントを用いて、ポリゴンを整数yグリットに一致させる。すなわち、全スクリーンラインだけ、インクリメントされるのではなく、1−〔スタートライン(STY)の小数部分〕だけインクリメントされる。
【0071】
図7は、図3にて示すスパンジェネレータSPGNを更に詳細に示す図である。上記にて説明したように、このスパンジェネレータは、基本要素記述子PDを(図3にて示す)基本要素記憶装置 PSTから受信するとともに、スパン記述子(SD)をスパンプロセッサ SPPR に供給する。スパンジェネレータSPGNを、図7で点線にて示すオフセットジェネレータOFFGNにも接続する。
【0072】
スパンジェネレータSPGNは、垂直方向インクリメンティング回路 VINC と、オフセット修正回路 600とを具えている。この回路600 は、3個の2−1マルチプレクサ60, 62及び64と、5個の一時的記憶レジスタ66, 68, 70, 72及び74と、乗算回路76と、2個の減算回路78及び80と、加算回路82とを具えている。選択信号をマルチプレクサに供給し、クロック信号をレジスタに供給する等のための順次の制御回路は、図示されてはいないが、当業者にとっては当然のことである。
【0073】
垂直方向インクリメンタVINCに供給される各基本要素記述子PDは:
スタート行 STY及びエンド行 EDYの値と;xleft及びxrightのスターティング値(基本要素の左側端部位置及び右側端部位置)と;y(垂直方向位置座標)に対するこれら端部の傾きδxleft及びδxrightとを具えている。基本要素記述子は、zleftの初期値も具えている。この値は、基本要素の左側端部における奥行き座標zの値である。yに対する部分的な微分δzleft及びδz/δxも含まれている。さらに、実際の例では、記述子PDに、より多くのパラメータを含め、(x及びyの部分的な微分を伴う)座標軸u及びvを作成するも、シェーディング効果に用いられる光源の値又は表面法線の値のようなパラメータを具えることもできる。
【0074】
所定の基本要素に関して、垂直方向のインクリメンタVINCは、yに対する端部の傾き及び部分的な微分を用い、現在のスパンに対するスタート位置xleft 及びエンド位置 xrightを更新しつつ、スタートライン(STY)からエンドライン(EDY) に至る行をステップするとともに、回路600に、スパンプロセッサSPPR(図3)に送られるスパン記述子SDを形成するのに必要とされる値 xleft , xright , zleft , δz/δx を供給する。オフセットNx , Ny の追加を容易にするとともに、更に、zleft の垂直方向オフセット修正及び水平端部修正がスパン記述子SD中に含まれるにうにするために、値δxleft,δxright及びδzleft も供給する。回路中の結線数を減少させるために、これらの値は、図7の61にリストされている順番で順次に供給される。
【0075】
サブ画素オフセットNx,Ny及び修正を含めるために、マルチプレクサ60をスイッチし、加算器82の出力端子を、スパンプロセッサSPPRに接続し、SPPRが図7の63にリストされているような一連の修正値xleft(new),xright(new) 等を受信できるようにしている。オフセット修正回路600 によって修正されるこれらの値の処理方法及び発生を記述する。
【0076】
すでに述べたように、xleft(new)及びxright(new)を規定する方程式は、以下に示す通りである;
xleft(new)=xleft+Nx−Nyδxleft ,
xright(new)=xright+Nx−Nyδxright
レジスタ66及び68は、オフセットジェネレータOFGNから受信される水平方向及び垂直方向のオフセット値Nx及びNyをそれぞれ記憶する。Ny・δxleft 及びNyδ・xrightの項は、水垂方向のオフセット修正(VOC)項であり、レジスタ70は、所定の時刻における修正(VOC)項を所定の時刻に一時的に記憶する。
【0077】
高い(サブ画素の)正確性を得るために、xleft(new)を発生させるが、xleft (new)の小数(サブ画素)部分は、スパンプロセッサSPPRの水平方向のインクリメントによって無視される。基本要素において、z,u又はvのような他の幾つかのパラメータが挿入される場合には、この整数値xへの切捨てによって、問題が生じる。例えば、行のスタート位置で計算されるzの値は、極めて正確にxleftの値に合致しているが、切捨てられた値とは合致していない。このzのエラーによって、基本要素間に不完全な交差及び、隠れている表面のスプリアス“ポークスロウ(poke−throughs)”の原因となり得る。同様に、構成軸u,vの打切り誤差によって、小さいけれども視覚的に目立つ不連続性が構成パターンの作成に生じ得る。
【0078】
水平方向の端部修正値 HEC(z)は、方程式:
HEC(z) = (1−frac(xleft(new) )・δz /δx
に従って計算され、zleft に加算される。ここで、frac(xleft(new))は、修正された水平方向スタート位置 xleft(new)の小数(サブ画素)部分である。値の小数部分は、一般的に、全16〜32ビットのうち4個の最小有効ビットを具えることができ、これは、画素アレイのサイズ及び必要とされるサブ画素の正確性に依存している。垂直方向のオフセット修正値Ny・δzleftを含め、zleft(new)の正しい方程式は:
zleft(new)=zleft+(1−frac(xleft(new))・δz/δx −Ny・δzleft
となる。この方程式は、Nxの代わりに、水平方向端部修正項 HEC(z)を用い、上記にて示すxleft(new)の方程式と、その形態において類似していることがわかる。更に、要求されるxleft(new)の小数部分は、xleft(new)の整数部分と同時に発生させられ、あるいはまた発生し得るものである。xleft(new)の整数部分は、すでにスパンプロセッサよって要求されている。
【0079】
図7のスパンジェネレータは、この類似性及び、frac(xleft(new))の利用可能性を有し、xleft(new)及びxright(new)を発生させるのに用いられるのと同一の回路を実質的に用いて、zleft の修正を行なうのに有利である。このことは、マルチプレクサ60〜64及び記憶レジスタ70〜74の動作を、垂直方向のインクリメンタVINCの出力端子でシーケンシャルに7個の値を用いるのに、同期させることによって達成される。これら7個の動作段に、(1) 〜(7) の番号を付け、以下で順番に説明する。これらの動作段のインクリメンタVINCによって与えられる値のシーケンスを図7の61に示し、スパンプロセッサに供給されるシーケンスな値を図7の63で示す。サイクル2,4,5及び7で与えられる値は、スパン記述子SDを構成するが、括弧内の値(サイクル1,3及び6)は不必要であり、スパンプロセッサによって無視される。(1) 〜(7) の各々のステージにおける動作は、以下の通りである:
(1) マルチプレクサ62を介してレジスタ68より受信されるオフセットNyと、インクリメンタVINCから受信されるδxrightとは、マルチプレクサ76の入力端子に供給される。このようにしてマルチプレクサ76の出力端子は、レジスタ70に記憶されるVOC(xright)を伝送する;
(2) 78において、マルチプレクサ64を介してレジスタ66から受信される水平方向のオフセットNxから、レジスタ70に記憶される VOC(xright)を減算する。
その差は、82において、水平方向インクリメンタVINCから受信されるもとのxright値に加えられる;このようにして、加算器82の出力端子は、修正されたxright(new)を伝送する。この修正されたxright(new)の少なくともその整数部分は、マルチプレクサ60を介して、スパン記述子SDの第一部分としてスパンプロセッサに転送される;
(3) δxleftがインクリメンタVINCから受信される。
VOC(xleft)=Ny・δxleftは、レジスタ70に記憶される;
(4) xleftは、インクリメンタVINCから受信され、xleft(new)は、加算器82によって発生し、スパンプロセッサSPPRに転送される;同時に、xleft(new)の小数部分すなわちfrac(xleft(new))は、レジスタ74に記憶される;
(5) 80で、1からfrac(xleft(new))を減算し、マルチプレクサ62を介して乗算器76に供給する:乗算器76は、インクリメンタVINCからδz/δxを受信するとともに、水平方向のzの端部修正値HEC(z)=(1−frac(xleft(new))・δz/δxを発生させる。この値は、レジスタ72に記憶される;
δz/δxは、マルチプレクサ60によってスパンプロセッサに転送される;
(6) 76で、Nyとδzleftとが乗算され、垂直方向のzのオフセット修正値VOC(z)を構成する。この値は、レジスタ70に記憶される;
(7) zleft(new) は、HEC(z)からVOC(z)を減算するととも、インクリメンタVINCから受信されるものとの値zleftを加算することによって、発生する。この値は、マルチプレクサ60を介して、スパンプロセッサ(図3)に供給される。
【0080】
frac(xleft(new))がレジスタ74に残っている限り、水平方向の端部修正及び垂直方向のオフセット修正を、インクリメンタVINCによって供給される適切な値を用いて、サイクル(5),(6),(7)を繰返すことによって、任意の数のその他のパラメータ(u,v,表面法線等)に適用することができる。構成要素72,74,62及び64と、幾つかの付加的な編成とが、水平方向の端部修正に必要とされ、その他の構成要素(特にマルチプレクサ76)は、垂直方向のxleft及び xright のオフセット修正のためのものである。更に、マルチプレクサ76に用いられるファクタの一つは、常におそらく4ないし5ビット小数である。各々16〜32ビットの2個の高精度数のための汎用乗算器を設ける必要はない。
【0081】
本発明は、ここに開示されている実施例に限定されるものではなく、要旨を変更しない範囲内で種々の変形又は変更が可能である。
【図面の簡単な説明】
【図1】多重描写によってアンチエイリアスフィルタリングを実行するのに好適な3次元物体を2次元ディスプレイ上に表示する従来の画像表示装置を示すブロック図である。
【図2】多重描写によるアンチエイリアスフィルタリングの原理を示す図である。
【図3】2次元画素アレイに、ディスプレイの3次元空間中の物体の像を発生させるための、本発明による装置の一例を示す図である。
【図4】図3の装置にて、多重描写によるアンチエイリアスフィルタリングの原理を示す図である。
【図5】図3にて示されている装置中のメモリ編成を示す図である。
【図6】図3にて示されている装置中のメモリ編成を示す図である。
【図7】本発明による装置中のスパンジェネレータの一部を示すブロック図である。
【図8】本発明の主題を説明する図であり、特に、本発明により画像が表示されるまでのステップ1、ステップ2、およびステップ16を示している。
【図9】同じく、本発明により画像が表示されるまでのステップ17およびステップ18を示している。
【図10】同じく、本発明により画像が表示されるまでのステップ19を示している。
【図11】一連の画素列の各画素に対して、基本要素がアクティブであると認識する手段と、オフセットによっては、基本要素がアクティブであるかも知れないと認識する手段の動作を示している。
【符号の説明】
60, 62, 64 マルチプレクサ
66, 68, 70, 72, 74 レジスタ
76 乗算回路
78, 80 減算回路
82 加算回路
600 オフセット修正回路

Claims (1)

  1. 表示すべき3次元空間の物体の画像を、一連の画素列からなる2次元の規則的な画素アレイ上に発生させるために、データベースモジュール( OBJ )と、幾何学的な変換を行ない、データベースモジュール( OBJ )で規定される基本要素に関する種々の物体空間の幾何学的な記述を、視界空間の等価な記述に変換するジェオメトリモジュール( GEOM )と、これらの記述を記憶する基本要素記憶装置( PST )と、アクティブポリゴンリストを保持し、基本要素記述子を入力し、スパン記述子を出力して、多重描写によりアンチエイリアスフィルタリングを行うスパンジェネレータ(SPGN)と、スパンプロセッサ( SPPR )とから構成される装置であって、
    該装置が、
    画素毎に共通の1点をポイントサンプルし、中間画素アレイを発生させるために、前記記憶した基本要素記述子を使用するための手段と、
    複数の前記中間画素アレイの発生のために、前記基本要素と前記画素毎の1点との間にそれぞれ異なるオフセットを設けるための手段と、
    フィルタ処理された画素アレイを発生し、そして記憶するために、前記複数の前記中間画素アレイを画素ごとに結合するための手段と
    を具える画像発生装置において、
    前記中間画素アレイを単一の画素列アレイとし、該中間画素アレイの発生と画素ごとの結合は、まず、一連の画素列のうちの第1番目の画素例に対して行われ、その後引き続いて、前記2次元の規則的な画素アレイ上に画像が完成されるまで一連の新たな画素列に対して順次に行われるように構成するとともに、
    該装置はさらに、
    一連の画素列の各画素に対して、前記基本要素がアクティブであると認識するための手段と、
    一連の画素列の各画素に対して、前記基本要素が、前記オフセットに依存してアクティブであるときとアクティブでないとが存在することを認識するための手段と
    前記一連の画素列の各画素に対して基本要素がアクティブであると認識するための手段によってアクティブである基本要素が認識されたとき、または前記一連の画素列の各画素に対して基本要素が、前記オフセッ卜に依存してアクティブであるときとアクティブでないときとが存在することを認識するための手段によってアクティブである基本要素の存在が認識されたとき、前記一連の画素列の各画素に対して中間画素アレイの発生と結合を行わせるための手段と、
    前記一連の画素列の各画素に対して基本要素がアクティブであると認識するための手段によってアクティブである基本要素が認識されなくなったとき、または前記一連の画素列の各画素に対して基本要素が、前記オフセットに依存してアクティブであるときとアクティブでないときとが存在することを認識するための手段によってアクティブである基本要素の存在が認識されなくなったとき、画像が完成したと判断して、前記一連の画素列の各画素に対して中間画素アレイの発生と結合を終了させるための手段と
    を備えていることを特徴とする画像発生装置。
JP18411891A 1990-06-29 1991-06-28 画像発生装置 Expired - Lifetime JP3608801B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB9014555.8 1990-06-29
GB9014555A GB2245806A (en) 1990-06-29 1990-06-29 Generating an image
GB919100452A GB9100452D0 (en) 1991-01-09 1991-01-09 Apparatus for generating an image
GB9100452.3 1991-01-09

Publications (2)

Publication Number Publication Date
JPH04233672A JPH04233672A (ja) 1992-08-21
JP3608801B2 true JP3608801B2 (ja) 2005-01-12

Family

ID=26297267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18411891A Expired - Lifetime JP3608801B2 (ja) 1990-06-29 1991-06-28 画像発生装置

Country Status (4)

Country Link
US (1) US5394516A (ja)
EP (1) EP0464907B1 (ja)
JP (1) JP3608801B2 (ja)
DE (1) DE69122557T2 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517603A (en) * 1991-12-20 1996-05-14 Apple Computer, Inc. Scanline rendering device for generating pixel values for displaying three-dimensional graphical images
DE69226512T2 (de) * 1992-03-12 1999-04-22 Ibm Verfahren zur Bildverarbeitung
JP2634126B2 (ja) * 1992-07-27 1997-07-23 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックス表示方法および装置
JPH06223201A (ja) * 1993-01-22 1994-08-12 Matsushita Electric Ind Co Ltd 並列画像生成装置
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
CA2127053C (en) * 1993-07-02 2005-01-04 Makoto Furuhashi Method and apparatus for time-sharing cpu system bus in image generation system
US5596686A (en) 1994-04-21 1997-01-21 Silicon Engines, Inc. Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer
US5886703A (en) * 1995-02-01 1999-03-23 Virtus Corporation Perspective correct texture mapping system and methods with intelligent subdivision
FR2735267B1 (fr) * 1995-06-08 1999-04-30 Hewlett Packard Co Systeme et procede de convertisseur de balayage de triangles a tampons de trame entrelaces en deux dimensions
EP0840915A4 (en) * 1995-07-26 1998-11-04 Raycer Inc METHOD AND APPARATUS FOR A VISIBLE SYSTEM BY SORTING SEGMENTS
US5761400A (en) * 1995-08-28 1998-06-02 Apple Computer, Inc. Method and system for increasing the speed of a Z-buffer process
US6057851A (en) * 1995-10-06 2000-05-02 International Business Machines Corp. Computer graphics system having efficient texture mapping with perspective correction
US5818456A (en) * 1996-04-30 1998-10-06 Evans & Sutherland Computer Corporation Computer graphics system with adaptive pixel multisampler
EP0839368A2 (en) * 1996-05-17 1998-05-06 Koninklijke Philips Electronics N.V. Display device
JP2776793B2 (ja) * 1996-05-30 1998-07-16 日本電気アイシーマイコンシステム株式会社 画像表示方法およびその表示装置
TW525078B (en) 1998-05-20 2003-03-21 Sony Computer Entertainment Inc Image processing device, method and providing media
AU5688199A (en) 1998-08-20 2000-03-14 Raycer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US20030158786A1 (en) 1999-02-26 2003-08-21 Skyline Software Systems, Inc. Sending three-dimensional images over a network
US6285348B1 (en) * 1999-04-22 2001-09-04 Broadcom Corporation Method and system for providing implicit edge antialiasing
US6731296B2 (en) * 1999-05-07 2004-05-04 Broadcom Corporation Method and system for providing programmable texture processing
US6421053B1 (en) * 1999-05-24 2002-07-16 International Business Machines Corporation Block rendering method for a graphics subsystem
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6597359B1 (en) 2000-05-17 2003-07-22 Raychip, Inc. Hierarchical space subdivision hardware for ray tracing
US7119813B1 (en) 2000-06-02 2006-10-10 Nintendo Co., Ltd. Variable bit field encoding
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US6980218B1 (en) * 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US7061502B1 (en) 2000-08-23 2006-06-13 Nintendo Co., Ltd. Method and apparatus for providing logical combination of N alpha operations within a graphics system
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US7538772B1 (en) * 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6937245B1 (en) * 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7002591B1 (en) 2000-08-23 2006-02-21 Nintendo Co., Ltd. Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
US7184059B1 (en) 2000-08-23 2007-02-27 Nintendo Co., Ltd. Graphics system with copy out conversions between embedded frame buffer and main memory
US7576748B2 (en) * 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US6999100B1 (en) 2000-08-23 2006-02-14 Nintendo Co., Ltd. Method and apparatus for anti-aliasing in a graphics system
US7196710B1 (en) * 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6867781B1 (en) 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization
JP3792149B2 (ja) * 2001-11-12 2006-07-05 任天堂株式会社 画像処理装置および画像処理プログラム
JP2005100176A (ja) * 2003-09-25 2005-04-14 Sony Corp 画像処理装置およびその方法
US7599044B2 (en) 2005-06-23 2009-10-06 Apple Inc. Method and apparatus for remotely detecting presence
US7564458B2 (en) * 2004-12-15 2009-07-21 Microsoft Corporation System and method for interactively linking data to shapes in a diagram
US7242169B2 (en) * 2005-03-01 2007-07-10 Apple Inc. Method and apparatus for voltage compensation for parasitic impedance
US7577930B2 (en) 2005-06-23 2009-08-18 Apple Inc. Method and apparatus for analyzing integrated circuit operations
US9298311B2 (en) * 2005-06-23 2016-03-29 Apple Inc. Trackpad sensitivity compensation
US7433191B2 (en) * 2005-09-30 2008-10-07 Apple Inc. Thermal contact arrangement
US7598711B2 (en) * 2005-11-23 2009-10-06 Apple Inc. Power source switchover apparatus and method
US20080062204A1 (en) * 2006-09-08 2008-03-13 Microsoft Corporation Automated pixel snapping for anti-aliased rendering
EP2104930A2 (en) 2006-12-12 2009-09-30 Evans & Sutherland Computer Corporation System and method for aligning rgb light in a single modulator projector
DE102006061325B4 (de) * 2006-12-22 2008-11-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur computergestützten Identifikation der von einem Richtstrahl durchschnittenen Kinderoktanten eines Elternoktants in einer Octree-Datenstruktur mittels Look-up-Tabellen
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
WO2017091019A1 (en) * 2015-11-27 2017-06-01 Samsung Electronics Co., Ltd. Electronic device and method for displaying and generating panoramic image

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4897806A (en) * 1985-06-19 1990-01-30 Pixar Pseudo-random point sampling techniques in computer graphics
US5025400A (en) * 1985-06-19 1991-06-18 Pixar Pseudo-random point sampling techniques in computer graphics
GB2178277B (en) * 1985-07-18 1989-08-23 Anamartic Ltd Graphics system for display of shaded polygons
JP2618951B2 (ja) * 1988-02-16 1997-06-11 株式会社東芝 三次元図形処理装置
GB2231460B (en) * 1989-05-04 1993-06-30 Sony Corp Spatial interpolation of digital video signals
CA2030022A1 (en) * 1989-11-17 1991-05-18 Brian M. Kelleher System and method for drawing antialiased polygons

Also Published As

Publication number Publication date
EP0464907A2 (en) 1992-01-08
EP0464907B1 (en) 1996-10-09
JPH04233672A (ja) 1992-08-21
DE69122557T2 (de) 1997-04-24
US5394516A (en) 1995-02-28
DE69122557D1 (de) 1996-11-14
EP0464907A3 (en) 1993-03-31

Similar Documents

Publication Publication Date Title
JP3608801B2 (ja) 画像発生装置
JP3184327B2 (ja) 3次元グラフィックス処理方法及びその装置
US5357599A (en) Method and apparatus for rendering polygons
US5742749A (en) Method and apparatus for shadow generation through depth mapping
US7626591B2 (en) System and method for asynchronous continuous-level-of-detail texture mapping for large-scale terrain rendering
US5977982A (en) System and method for modification of the visual characteristics of digital 3D objects
JP4237271B2 (ja) 3dグラフィックスにおける属性補間のための方法及び装置
US5704024A (en) Method and an apparatus for generating reflection vectors which can be unnormalized and for using these reflection vectors to index locations on an environment map
JP5185418B2 (ja) 透光性3dグラフィックをレンダリングする方法及び装置
US6600489B2 (en) System and method of processing digital terrain information
US7432936B2 (en) Texture data anti-aliasing method and apparatus
US6469700B1 (en) Per pixel MIP mapping and trilinear filtering using scanline gradients for selecting appropriate texture maps
JPH03212775A (ja) アンチエイリアス多角形の描図方法及び装置
EP1061477A2 (en) Method and apparatus for multi-phase rendering
JPH07152923A (ja) テクスチャ処理されたオブジェクトをレンダリングする方法及び装置
US7012614B2 (en) Texture roaming via dimension elevation
JPH11506846A (ja) 効率的なディジタル・モデリング及びテクスチャ・マッピングのための方法並びに装置
US6542154B1 (en) Architectural extensions to 3D texturing units for accelerated volume rendering
JPH10320573A (ja) 画像処理装置及び画像処理方法
KR100429092B1 (ko) 그래픽영상처리방법및장치
JP4047421B2 (ja) ユーザ定義によるルームおよびウィンドウを用いた効率的レンダリング方法および装置
JP2003504697A (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
US8115780B2 (en) Image generator
US6326976B1 (en) Method for determining the representation of a picture on a display and method for determining the color of a pixel displayed
GB2245806A (en) Generating an image

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041012

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: 20081022

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101022

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111022

Year of fee payment: 7

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111022

Year of fee payment: 7