(57)【特許請求の範囲】
【請求項１】
表示すべき３次元空間の物体の画像を、一連の画素列からなる２次元の規則的な画素アレイ上に発生させるために、データベースモジュール（OBJ）と、幾何学的な変換を行ない、データベースモジュール（OBJ）で規定される基本要素に関する種々の物体空間の幾何学的な記述を、視界空間の等価な記述に変換するジェオメトリモジュール（GEOM）と、これらの記述を記憶する基本要素記憶装置（PST）と、アクティブポリゴンリストを保持し、基本要素記述子を入力し、スパン記述子を出力して、多重描写によりアンチエイリアスフィルタリングを行うスパンジェネレータ（ＳＰＧＮ）と、スパンプロセッサ（SPPR）とから構成される装置であって、
該装置が、
画素毎に共通の１点をポイントサンプルし、中間画素アレイを発生させるために、前記記憶した基本要素記述子を使用するための手段と、
複数の前記中間画素アレイの発生のために、前記基本要素と前記画素毎の１点との間にそれぞれ異なるオフセットを設けるための手段と、
フィルタ処理された画素アレイを発生し、そして記憶するために、前記複数の前記中間画素アレイを画素ごとに結合するための手段と
を具える画像発生装置において、
前記中間画素アレイを単一の画素列アレイとし、該中間画素アレイの発生と画素ごとの結合は、まず、一連の画素列のうちの第１番目の画素例に対して行われ、その後引き続いて、前記２次元の規則的な画素アレイ上に画像が完成されるまで一連の新たな画素列に対して順次に行われるように構成するとともに、
該装置はさらに、
一連の画素列の各画素に対して、前記基本要素がアクティブであると認識するための手段と、
一連の画素列の各画素に対して、前記基本要素が、前記オフセットに依存してアクティブであるときとアクティブでないとが存在することを認識するための手段と、
前記一連の画素列の各画素に対して基本要素がアクティブであると認識するための手段によってアクティブである基本要素が認識されたとき、または前記一連の画素列の各画素に対して基本要素が、前記オフセッ卜に依存してアクティブであるときとアクティブでないときとが存在することを認識するための手段によってアクティブである基本要素の存在が認識されたとき、前記一連の画素列の各画素に対して中間画素アレイの発生と結合を行わせるための手段と、
前記一連の画素列の各画素に対して基本要素がアクティブであると認識するための手段によってアクティブである基本要素が認識されなくなったとき、または前記一連の画素列の各画素に対して基本要素が、前記オフセットに依存してアクティブであるときとアクティブでないときとが存在することを認識するための手段によってアクティブである基本要素の存在が認識されなくなったとき、画像が完成したと判断して、前記一連の画素列の各画素に対して中間画素アレイの発生と結合を終了させるための手段と
を備えていることを特徴とする画像発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、表示すべき３次元空間の物体の画像を、一連の画素列からなる２次元の規則的な画素アレイ上に発生させるための装置であって、該装置が：
所望の画像の基本要素に関する幾何学的な表面の記述を各々具えている複数の基本要素記述子を発生し、そして記憶するための手段と、
画素毎に共通の１点をポイントサンプルし、中間画素アレイを発生させるために、前記記憶した基本要素記述子を使用するための手段と、
複数の前記中間画素アレイの発生のために、前記基本要素と前記画素毎の１点との間にそれぞれ異なる所定のオフセットを設けるための手段と、
フィルタ処理された画素アレイを発生し、そして記憶するために、前記複数の前記中間画素アレイを画素ごとに結合するための手段とを具える画像発生装置に関するものである。
【０００２】
【従来の技術】
冒頭に述べた種類の装置は、Ｈｅｎｒｙ  Ｆｕｃｈ等によるＣｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ，  Ｖｏｌ．１９，Ｎｏ．  ３（ＧＲＡＰＨ  ８５）の１１１  〜１２０  ページにおける’Ｆａｓｔ  Ｓｐｈｅｒｅｓ，  Ｓｈａｄｏｗｓ，  Ｔｅｘｔｕｒｅｓ，  Ｔｒａｎｓｐａｒｅｎｃｉｅｓ  ａｎｄ  Ｉｍａｇｅ  Ｅｎｈａｎｃｅｍｅｎｔｓ  ｉｎ  Ｐｉｘｅｌ  Ｐｌａｎｅｓ’、特に、１１９  及び１２０  ページの  ’Ｓｕｃｃｅｓｓｉｖｅ  Ｒｅｆｉｎｅｍｅｎｔ’より既知である。Ｆｕｃｈによれば、”各画素（ｘｙ）をサブ画素のグリッドに細分化し、各サブ画素のアドレスを（ｘ＋ｘｏｆｆｓｅｔ，  ｙ＋ｙｏｆｆｓｅｔ）の形態としている。各回毎に、画像をわずかに（ｘｏｆｆｓｅｔ，ｙｏｆｆｓｅｔ）  だけオフセットさせ、画像を数回、例えば１６回発生させる。このようにして、画素領域中のサンプルポイントが、適切な分布を形成するようにする。Ａ．ｘｏｆｆｓｅｔ＋Ｂ．ｙｏｆｆｓｅｔ  を、各ブロードキャストトライプル（ｂｒｏａｄｃａｓｔ  ｔｒｉｐｌｅ）の比例係数Ｃに加えることで、容易に推移させることができる。２個の色バッファを用いる。その内一方は、最終的な画像発生オフセットにより発生する色を記憶するためのものであり、他方は、サブ画素グリッドの回りを移動する際のランニングアベレージを記憶するためのものである。”
【０００３】
この方法によって得られるフィルタ処理の主な目的は、サンプリングプロセスによって生じるエイリアスを減少させることにある。顕著なエイリアスは、画素アレイ軸と相関して傾いている基本要素の端部に現れる段階構造である。この影響は、基本要素の端部が画素アレイの軸とほぼ整列している場合に、特に顕著である。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような高画質（リアルタイム）画像合成を市場に提供できることが望ましいが、’画素面’ハードウェアのコスト及び２個のフルフレームカラーバッファを必要とする大規模メモリによって、Ｆｕｃｈの方法は、一般のハードウェアに適用するには、あまりにも高価なものとなってしまう。
【０００５】
走査アルゴリズムとして知られている描写アルゴリズムのクラスは、例えば、Ｅ．  Ｃａｔｍｕｌｌ  ”Ａ  Ｈｉｄｄｅｎ−ｓｕｒｆａｃｅ  Ａｌｇｏｒｉｔｈｍ  ｗｉｔｈ  Ａｎｔｉ−ａｌｉａｓｉｎｇ  ”Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  Ｖｏｌ．１２，Ｎｏ．３，６−１１（ＧＲＡＡＰＨ  １９７８）  及びＬ．  Ｃｏｒｐｅｎｔｅｒ，  ”ｔｈｅ  Ａ−ｂｕｆｆｅｒ，  ａｎ  Ａｎｔｉａｌｉａｓｅｄ  Ｈｉｄｄｅｎ  Ｓｕｒｆａｃｅ  Ｍｅｔｈｏｄ”，  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  Ｖｏｌ．１８，  Ｎｏ．  ３，１０３  〜１０８（ＧＲＡＰＨ  １９８４）  より既知である。走査アルゴリズムでは、画像は、一回に一画素列で発生させられる。しかしながら、Ｃａｔｍｕｌｌ  及びＣａｒｐｅｎｔｅｒ  により開示されたアンチエイリアス  アルゴリズムは、ハードウェア、特に一般的なハードウェアにおいて実現するには複雑なものである。
【０００６】
本発明の目的は、既知のシステムと比較して、画像発生に適用できる大きな処理能力を有しないシステム、すなわち、低コストで、さほど複雑ではないハードウェアシステムにおいて、ほぼリアルタイムスピードで、アンチエイリアス処理された画像の合成を実現せんとするにある。
【０００７】
本発明は、表示すべき３次元空間の物体の画像を、一連の画素列からなる２次元の規則的な画素アレイ上に発生させるために、データベースモジュール（OBJ）と、幾何学的な変換を行ない、データベースモジュール（OBJ）で規定される基本要素に関する種々の物体空間の幾何学的な記述を、視界空間の等価な記述に変換するジェオメトリモジュール（GEOM）と、これらの記述を記憶する基本要素記憶装置（PST）と、アクティブポリゴンリストを保持し、基本要素記述子を入力し、スパン記述子を出力して、多重描写によりアンチエイリアスフィルタリングを行うスパンジェネレータ（ＳＰＧＮ）と、スパンプロセッサ（SPPR）とから構成される装置であって、
該装置が、
画素毎に共通の１点をポイントサンプルし、中間画素アレイを発生させるために、前記記憶した基本要素記述子を使用するための手段と、
複数の前記中間画素アレイの発生のために、前記基本要素と前記画素毎の１点との間にそれぞれ異なるオフセットを設けるための手段と、
フィルタ処理された画素アレイを発生し、そして記憶するために、前記複数の前記中間画素アレイを画素ごとに結合するための手段と
を具える画像発生装置において、
前記中間画素アレイを単一の画素列アレイとし、該中間画素アレイの発生と画素ごとの結合は、まず、一連の画素列のうちの第１番目の画素例に対して行われ、その後引き続いて、前記２次元の規則的な画素アレイ上に画像が完成されるまで一連の新たな画素列に対して順次に行われるように構成するとともに、
該装置はさらに、
一連の画素列の各画素に対して、前記基本要素がアクティブであると認識するための手段と、
一連の画素列の各画素に対して、前記基本要素が、前記オフセットに依存してアクティブであるときとアクティブでないとが存在することを認識するための手段と、
前記一連の画素列の各画素に対して基本要素がアクティブであると認識するための手段によってアクティブである基本要素が認識されたとき、または前記一連の画素列の各画素に対して基本要素が、前記オフセッ卜に依存してアクティブであるときとアクティブでないときとが存在することを認識するための手段によってアクティブである基本要素の存在が認識されたとき、前記一連の画素列の各画素に対して中間画素アレイの発生と結合を行わせるための手段と、
前記一連の画素列の各画素に対して基本要素がアクティブであると認識するための手段によってアクティブである基本要素が認識されなくなったとき、または前記一連の画素列の各画素に対して基本要素が、前記オフセットに依存してアクティブであるときとアクティブでないときとが存在することを認識するための手段によってアクティブである基本要素の存在が認識されなくなったとき、画像が完成したと判断して、前記一連の画素列の各画素に対して中間画素アレイの発生と結合を終了させるための手段と
を備えていることを特徴とする。
【０００８】
このようにすることにより、中間画素アレイを、一回に、一列（すなわち、一走査ライン）発生させることによって画素処理段に、小型、高速メモリを具えるハードウェアを実現することができる。唯一個のフルフレームカラーバッファのみが必要であり、結果的には、かなりの節約になる。同時に、かなり簡易なハードウェアで、簡単なポイントサンプル描写を用い、複雑な分析フィルタ処理プログラムを回避することができる。
【００１０】
また、上記のように、本発明による画像発生装置は、一連の新たな画素列の各々に対して、基本要素がアクティブであると認識するための手段を具えている。このため、前記描写手段を配置し、前記アクティブ以外の基本要素の記述子を無視することで、無駄な処理努力を節約する。
【００１１】
しかし、描写間に適用される異なるサブ画素オフセットによって、種々の基本要素を各々の描写に対してアクティブにするに際し、このオフセットが基本要素の端部に亘ってサンプルポイントを採用する場合、アクティブポリゴン（多角形を意味するポリゴンは、この場合、基本要素記述子の一部をなす）情報の維持に問題が生じる。
【００１２】
従って、本発明による画像発生装置は、前記オフセットに基づき、前記基本要素の他のサブセットを前記新たな画素列において潜在的にアクティブであると認識するための手段をさらに具えることができる。前記描写手段は、各オフセットに応答して、選択的に他のサブセットの基本要素をアクティブとして取扱うことができる。
【００１３】
所定の走査線上の潜在的にアクティブである他の基本要素を、特定の任意のオフセットの大きさに基づき、識別することによって、行方向の必要な情報とともに、走査線アルゴリズムが提供される。この行方向の必要な情報は、通常アルゴリズムに用いることのできないものであるが、多重描写によるアンチ  エイリアス  フィルタ処理を可能にするのに必要とされる。
【００１４】
また、本発明による画像発生装置は、各基本要素に対して、該基本要素がアクティブである前記一連の画素列中の前記第１番目の画素列を識別するためのスタート列データを発生させるとともに記憶するための手段と、
前記アクティブ基本要素のリストを保持しつつ、各新たな画素列中の第１番目の任意のアクティブ基本要素を識別し、アクティブ基本要素のリストに加えるためのスタート列データを用い、前記リストを更新するための手段とをさらに具えることができる。
【００１５】
また、本発明による画素発生装置は、前記スタート列データが、各画素列に対して、該一連の画素列中の第１番目の任意のアクティブ基本要素を識別するためのリストを具えることができる。
【００１６】
また、本発明による画像発生装置は、各基本要素に対して、該基本要素がアクティブである前記一連の画素列中の最後の画素列を識別するためのエンド列データを発生させ、記憶するための手段と、前記識別された最後の画素列に対する前記複数の中間画素アレイが描写される際、前記アクティブ基本要素リストから基本要素を削除するための手段とをさらに具えることができる。
【００１７】
また、本発明による画像発生装置は、各基本要素記述子が他の基本要素記述子のポインタのためのポインタ領域を具え、且つ、前記アクティブ基本要素リストが、各列毎に、連続しているこのようなポインタを用い、前記アクティブ基本要素を連鎖にリンクさせることによって形成することができる。
【００１８】
ここで、「基本要素記述子」とは、三次元環境内での大きさ、形状、位置、および色やテクスチャ等のような表面データによって基本要素を定義している記憶データを参照するための便利な方法として採用されたものである。
【００１９】
ジェオメトリック記述子に加えて、各基本要素記述子及び、各スパン記述子は、基本要素の表面に亘って、種々の一以上のパラメータの変化を表現することができる。このようなパラメータは、奥行き（Ｚ）  、構成座標、及び光の影響に関連するその他のパラメータを具えている。最高の画質を提供するために、このようなパラメータは、垂直方向オフセット修正だけでなく、水平方向端部修正（すなわち、いわゆる”列スタート修正”）をも必要とする。これは、水平方向スタート位置の整数画素位置への切捨てを補償するものである。
【００２０】
従って、本発明における一実施例では、前記描写手段が、基本要素記述子を受信するとともに、対応する画素列に、基本要素の範囲を各々規定する一連のスパン記述子を発生させるためのスパン発生手段を具え、該スパン発生手段が：
サブ画素の精度を用いて、前記スパンの水平方向スタート位置を計算するための手段と；
少なくとも１個の他のパラメータに対する初期値を計算するための手段と；
サブ画素の精度を用いて、垂直方向のオフセット値を受信し、これより、水平方向のスタート位置のための垂直方向オフセット修正を計算し、前記垂直方向オフセット修正に従って、前記水平方向スタート位置を修正するための手段と；
前記他のパラメータ初期値、（ｉ）前記受信された垂直方向オフセットのための修正及び（ｉｉ）  前記修正された水平方向スタート位置の前記サブ画素部分のための修正に関する計算を行ない、水平方向スタート位置から整数画素位置への切捨てを補償するとともに、これらの修正に従って、前記他のパラメータの初期値を修正すための手段；
とを具えることができる。
【００２１】
ここで言う「サブ画素」は「中間画素」とは同じでない。１画素の幅または高さより小さい間隔をサブ画素と呼び、そして画素の境界内におけるサンプルポイントの動きの程度、または基本要素の座標に付与されたオフセットの量を記述するために使われる。「中間」は、ｘ／ｙ位置や最終的に表示される画素値ではなく、その代わりに出力または表示のための値が引き続いて引き出される部分的な値を言う。
また、上記において「少なくとも１個の他のパラメータ」とは、例えば、図７に関連して後述する奥行き座標ｚの値である。
また、水平方向スタート位置の垂直方向オフセット修正のために計算される一定の値は、他のパラメータの値の修正の計算にも役立てることができる。
【００２２】
従って、本発明における一実施例では、前記他のパラメータ初期値の修正前に、前記スパンの前記水平方向スタート位置を修正し、該修正水平方向スタート位置の小数部分を、前記修正の計算に使用するために一時的に記憶し、前記他のパラメータ初期値に適用することができる。
【００２３】
【実施例】
以下図面を参照して、本発明を実施例につき説明するに、図１は、３次元物体を２次元ディスプレイ上に表示する従来の画像表示装置を図式的に示す図である。データベースモジュール  （ＯＢＪ）は、各々一群の物体基本要素として形成される種々の３次元物体を具えている３次元環境のモデル、すなわち、“物体空間”を構成するデータベースを、記憶、管理する。各基本要素を、例えば多角形表面又は、彎曲したパッチとすることができる。これらを、順次、幾何学的記述、例えば、頂点座標と、色、構成、透明度、表面法線等のような表面の記述とによって規定する。光源に関する幾何学的な表面の記述も含めることができる。他方のモジュール（ＶＥＷ）は、例えば、視点の位置、見る方向及び視野の鑑点より視界空間を規定する。
【００２４】
トラッカボール、マウス及び／又はキイボードのようなユーザ入力手段（ＩＮＰ）を、ヒューマンコンピュータ  インタフェースモジュール（ＨＣＩ）  に接続し、ユーザが物体空間内で、物体を処理、修正あるいはまた、視点、見る方向及びその他の視界空間に関する特性を処理することができるようにしている。ジェオメトリモジュール  （ＧＥＯＭ）  は、幾何学的な変換を行ない、データベースモジュール（ＯＢＪ）  で規定される基本要素に関する種々の物体空間の幾何学的な記述を、視界空間における等価な記述に変換する。一般的に、これらの変換は、当該技術においてよく知られているような翻訳、回転及び遠近法を具えている。基本要素に関する表面の記述も、視界空間の照明状態に従って規定される。画像が２次元である一般的な場合、通常ｘ及びｙと称する２次元視界空間中の座標は、スクリーンの座標に線型的に対応しているが、一方、第３座標ｚは、物体のスクリーンへの奥行きに対応している。
【００２５】
ジェオメトリ  モジュール（ＧＥＯＭ）は、視界空間の基本要素記述を、描写モジュール  （ＤＲＷ）に送信し、描写モジュールが視界空間基本要素記述を、表示に好適な形態、一般的には、スキャン変換によって画像バッファメモリ  （ＩＮＩＮＴ）中の画素値の２−Ｄアレイに変換する。描写モジュール（ＤＲＷ）  は、ｚ座標を用いて、ヒドゥンサーフィスリムーバル  （ｈｉｄｄｅｎ  ｓｕｒｆａｃｅ  ｒｅｍｏｖａｌ）  の計算を実行するとともに、シェーディングの計算を実行する。このようなタスクを実行するための好適な手段は、当該技術分野において既知である。
【００２６】
以上において引用されている文献中で、Ｆｕｃｈ等が記載している多重描写技術に従って、バッファ  （ＩＭＩＮＴ）中の画素アレイを、サンプリング化された画像の中間点としている。表示装置（ＤＩＳ）  上に生じる各画像毎に、一組であるＮ個の中間画像を描写するとともに、モジュール（ＯＦＦＳ）  は、異なる所定のオフセットを、Ｎ個の描写の各々に適用し、各描写間を、各画素のサンプルポイントが移動できるようにする。画像アキュムレータバッファ（ＩＭＡＣＣ）は、中間画像が発生すると同時に、中間画像を足し合わせ、Ｎ回の描写の後、画像アキュムレータバッファ（ＩＭＡＣＣ）は、サンプルポイント分布及び各サンプルポイントに加えることのできる重みに従って、フィルタ処理された画像を有している。
【００２７】
Ｆｕｃｈ等が記載しているように、画像を順次に改善すると同時に、これらを表示すべき場合には、バッファ（ＩＭＡＣＣ）  中に保持される値を正規化し、各々の描写の真の実行平均を形成できるようにすべきである。しかしながら、バッファ（ＩＭＡＣＣ）  が二重バッファとなっている場合には、全描写が実行され最終的な平均値が得られた後、中間画素値を単に足し合わせ、Ｎで割算することができる。最終的な平均値は、二重バッファ処理された画像アキュムレータ（ＩＭＡＣＣ）  の出力手段に読出される。
【００２８】
実際には、オフセットを用いて、この固定サンプルポイントアレイに関連する基本要素を移動させることができる。ところで、簡単のため、逆の状況を説明している図２では、端部Ｅと頂点Ｖとを有している基本要素Ｐは、画素領域Ａ，Ｂ等の方形アレイに亘って不変であるとともに、Ｎは、２個の代表的な画素領域Ａ及びＢの各々の中でドットでマークされているポイントにおける１６個の異なるサブピクセルオフセットアフェクトポイントサンプリングと等しい。
【００２９】
画素Ａ及びＢにおいて示されているサンプルポイントアレイは同一のものであり、一組であるＮ（＝１６）  個のサンプルポイントによって規定されるサブ画素アレイに従って、画素アレイの各画素領域毎に繰り返される。図２のサブ画素アレイが、１６個のサブ画素の方形グリッドの中心に配置されているサンプルポイントの簡単な例であることがわかる。
【００３０】
簡単のため、斜線にて示されている基本要素Ｐのカラー値が１であり、且つ、背景のカラー値が０であると仮定すると、図２より、画素Ａにおける最終的な平均値は  ７／１６  又は  ８／１６  であり、また、画素Ｂにおける最終的な平均値は  ５／１６  又は  ６／１６  となる。これらの小部分は、１６個のサブ画素で量子化される基本要素でおおわれている画素領域の小部分を示しており、アキュムレータバッファ（ＩＭＡＣＣ）中の画像は、少なくともおおよそはアンチエイリアスフィルタ処理されている。
【００３１】
アンチエイリアス処理には問題がある。これは、画像のある特徴に対して、他の特徴よりもより顕著である。特に、端部Ｅのように、ほんのわずか画素アレイの座標軸に対して傾きを有している端部では、かなり明らかな階段効果が生じる傾向にある。このことは、端部Ｅが例えば位置Ｅ′及びＥ″へと連続的な画像として移動するにつれて、端部Ｅに沿ってハイスピードで階段のステップが動くように見える場合、特にモーションピクチャーの画像シーケンスに妨害をきたす。
【００３２】
図２は、一般的に最もエイリアスが目立つ場合、特に、サンプルグリッドパターンがこれら１６個のポテンシャル量子化レベルをいかに非能率的に用いているかを示している。基本要素端部Ｅが位置Ｅ′に移動する際、フィルタ処理された色の値は、依然として１６個中の８個で一定である。従って、Ｅ′とＥ″との間の小さなスペースで、前記値が４レベル急に上がり、１６個中の１２個となる。事実上、関連する端部が水平又は垂直に近づくにつれて、Ｎ（＝１６）個の潜在的に利用することのできる量子化レベルは、実際には、わずかに√Ｎ（＝４）個に低下し、１６個の描写中に１２個は、優れたフィルタ処理が最も必要な状況下において、事実上余分なものとなってしまう。我々の同時係属英国第９０１４５２８．５  号特許出願（ＰＨＢ  ３３６４９）では、新規な一連のサンプリングアレイを開示している。このアレイは、非規則的又は、規則的ではあるが画素の列と整列していないポイントのアレイを設けることで、より効果的に量子化レベルを用いている。このため、ポイントの投写は、√Ｎよりも多くのポイントにおいて、画素軸と交差する。本発明は、従来の技術である規則的なサブ画素アレイと、上記にて引用されている同時係属出願にて開示されている特別なサブ画素アレイとに、等しく適用できる。
【００３３】
図３は、２次元ディスプレイに３次元空間中の物体を表わしている画像を表示するための本発明による表示装置を略ブロック形式で示している。画像は、走査線アルゴリズムによって生じ、アンチエイリアスフィルタ処理を行なうために、画像の多重描写ができるように配置される。
【００３４】
図１にて示されている装置のように、データベースモジュール（ＯＢＪ）  が、一群の物体基本要素として各々形成される種々の３次元物体を具える３次元環境のモデル、すなわち“物体空間”を形成するデータベースを記憶、管理する。もう一方のモジュール（ＶＥＷ）は、例えば視点の位置、見る方向及び視野の観点より視界空間を規定する。トラッカボール、マウス及び／又はキイボードのようなユーザ入力手段（ＩＮＰ）を、ヒューマンコンピュータ  インターフェース（ＨＣＩ）  に接続し、ユーザが物体空間内で物体を処理若しくは修正、又は、視点、見る方向及びその他の視界空間に関する特性を処理することができるようにしている。ジェオメトリモジュール（ＧＥＯＭ）は、幾何学的な変換を行ない、データベースモジュール（ＯＢＪ）  で規定される基本要素に関する種々の物体空間の幾何学的な記述を、視界空間の等価な記述に変換する。これらの記述は、ジェオメトリモジュール（ＧＥＯＭ）の一部分を構成する基本要素記憶装置（ＰＳＴ）  に記憶される。スパンジェネレータ（ＳＰＧＮ）とスパンプロセッサ（ＳＰＰＲ）とは、オフセットジェネレータ（ＯＦＧＮ）と相俟って、図１のモジュール（ＤＲＷ）  及び  （ＯＦＦＳ）  と等価なものである。
【００３５】
ここで、スパンジェネレータ(SPGN)は、記憶した基本要素記述子を使用するための手段であり、どの画像の基本要素がサンプルされた各画素に寄与するかを決定する。描写に先立つＮ回のサンプルされた各画素について、各サンプルは画素に対して正確な値が立ち上がるように画素内の異なった位置、とくに画素が基本要素によって部分的にのみおおわれている位置から取られることが必要である。また、オフセットの付与に関しては、画素内のサンプル点に対して各回に異なったポイントを指定する。
【００３６】
また、中間画素アレイは、各画素内で同じ相対的位置を有するサンプルポイントにおける各画素のサンプリングに従っているラインに沿った各画素に対する単一のポイントサンプル値である。言い換えると、第１の中間画素アレイは、各画素を一度その上方左手隅においてサンプルすることから生じる値のリストを具えている。次の中間画素アレイは、それらの同じ画素に対する値の別の集まりであり、このときはその中心における各々のサンプリングに従う。
【００３７】
中間画素アレイを結合するステップは、アレイ中の各画素に対して、すべての異なったポイントサンプル値を累算することを含み、それから、これらの値は出力画像において全体として画素に適用される平均（または、重み付けされた平均）値を発生させるために使用される。平均値の発生は、出力値を与えるために画素に対してＮポイントのサンプル値を一緒に加算しそしてＮによって除算するのと同様に簡単である。
【００３８】
以上のように、Ｎ個の中間画素アレイは、動作中に出力アレイに対して１列の画素列をＮ回サンプルすることで発生され、そしてそれから出力画素の次のラインに移る前に出力画素値の１ラインを与えるためにＮ個の中間画素アレイを結合し、そして再びＮ個の中間画素アレイを発生し、そして結合する。
【００３９】
以上述べたことが本発明の主題であり、従って、請求項１に記されているところでもあるので、この部分について、図８（ａ）〜（ｃ）、図９、図１０および図１１  （ａ），（ｂ）を参照して分かり易く説明する。
なお、この説明は、本明細書中で使われている術語の定義、および術語間の関係の説明を含むものである。
また、説明に使用する図８乃至図１１においては、１画素当たりのサンプル点の数が１６個であり、図２の場合と等しい。
【００４０】
図８から図１１までのすべてにおいて、各正方形は画素を表し、そして画像が表示されるとき、画素面全体に適用される平均または全体にわたる色を見つけるために、各画素の表面を１６回ポイントサンプルする。以下、画像が表示されるまでの過程を、その工程を表すステップに分けて説明する。
【００４１】
ステップ１：図８（ａ）に示すように、１度に１行の、画素アレイ（ＤＩＳ）を作っている画素を考える。所定の画素列（Ｎ）（図８（ａ）参照）に対して、第１のステップは、列の各々の画素内の第１の点においてサンプル値Ａをとることである。こうして、列内の画素のそれぞれに対して、それぞれのサンプル値Ａｌ，  Ａ２  ，  Ａ３  ・・・を有している。サンプル点Ａのすべては同じオフセット（ｘ１  ，ｙｌ）を有している。図において、このオフセットは（任意のｘ，ｙ軸に関してよりもむしろ）画素の境界に関して測定され示されているけれども、しかしこれは、基本要素に関して測定されたオフセットと同じ結果を生ずることに留意されたい。実際の結果において、各画素中に記した共通のサンプル点の位置があり、そして、オフセットの適用は、画像が描写されている間に基本要素に対して相対的に画素（それ故、サンプル点）の位置をシフトさせる。
【００４２】
使用された術語に関連して、オフセットｘ，ｙの距離は画素の幅より小さく、従ってサブ画素のオフセットと呼ばれる。値Ａは画素の一部のみを表す（すなわち、他と結合されるべきである）から、サンプル値Ａは中間画素値と呼ばれる。
画素列（Ｎ）に沿ってサンプル点Ａについて集められた値、すなわち、値（Ａｌ，  Ａ２  ，  Ａ３  ・・・）のアレイは、従って中間画素アレイである。従って、上記値（Ａｌ，  Ａ２  ，  Ａ３  ・・・）は第１の中間画素アレイを与える。いま、１度に１つを考えると、これらの中間画素アレイは、それ故に，また，単一の画素列アレイでもある。
【００４３】
ステップ２：図８  （ｂ）に示すように、このステップにおいては、画素のオフセットは（ｘ２，  ｙ２  ）に変化され、これは、基本要素に関するサンプル点の位置をＡからＢに変更する。これは、画素列（Ｎ）（図８（ｂ）参照）に対して、値（  Ｂｌ，  Ｂ２，  Ｂ３  ・・・）を含んでいる第２の中間画素アレイを与える。
【００４４】
ステップ１６：以下同様にオフセットを変え、そして別の中間画素アレイを集める過程は、ステップ１６まで、ステップ２から１４回継続される。ステップ１６においては、図８  （ｃ）に示すように、最後のサンプル点Ｐが使用され、これは、画素列（Ｎ）  （図８  （ｃ）参照）に対して、値（  Ｐｌ，  Ｐ２，  Ｐ３  ・・・）を含んでいる第１６の中間画素アレイを与える。以上、１画素あたり１６個のサンプル点は、ここでは典型的な値として選択されたが、他の数も選択されることに留意されたい。
【００４５】
ステップ１７：以上により得られた第１から第１６までの中間画素アレイを画素ごとに結合する過程が始まる。当該画素に対して１６個の中間画素アレイの各々からのそれぞれのサンプル点の値が、図９に示すように、  １つに集められ、そしてそこでは、画素列（Ｎ）  （図９参照）中の画素内のサンプル点の値ＡｌからＰｌまでの値が１つに集められる。サンプル点の値は、画像が表示されるとき、全部の画素にそれぞれ適用される表示値である単一の値Ｑ１を与えるためにそれから処理される。この処理の特別の形態は本発明の実質的な特徴ではなく、そして実際に、サンプル点の値ＡｌからＰｌまでに基づいて値Ｑ１が選択される幾つかの方法がある。添付の例では、値Ｑ１は１６個のサンプル点の値の直接の平均としてとられているが、しかし、その値だけでなく、画素内のサンプル点の位置に与えられる重みづけを有するより複雑な計算も使用し得る。
【００４６】
ステップ１８：このように、複数のサンプル点の値を１つに集める処理（結合）は、当該列の各画素に対して順次行われる。これは、画素値あたりのアレイ（Ｑｌ，Ｑ２，Ｑ３・・・）の形態の列に対するフィルタ処理された画素アレイを生成する。
【００４７】
ステップ１９：図１０に示すように、上述したステップ１から１８までの処理が画素列（Ｎ）の次の列（Ｎ＋１）  （図１０参照）に対して繰り返され、順次、ある列からその次の列にというようにすべての画素列がサンプルされ、そして全体の画像に対するフィルタ処理された画素アレイを与えるために、フィルタ処理された画素アレイが全ての画素列に対して引き出されるまで繰り返される。
【００４８】
また、本発明では、一連の画素列の各画素に対して、基本要素が（常に）アクティブであると認識するための手段と、オフセットによっては、基本要素がアクティブかも知れないと認識するための手段とを具えている。
【００４９】
これについて、図１１  （ａ），（ｂ）を参照して説明する。
まず、術語「アクティブ」とは、基本要素が画素に対して出力値に寄与することを意味している。
図１１（ａ）に示す例においては、基本要素は明らかにアクティブである。何故なら、画素のオフセットが基本要素に相対的にその画素に対するサンプル点（ＡからＰまで）をどこに置いても、基本要素が出力値に寄与するからである。
【００５０】
次に、図１１（ｂ）に示す例においては、オフセットに依存して基本要素はアクティブであるかも知れない。何故なら、オフセットが画素に対するサンプル点 を置く位置に依存して寄与するかも、寄与しないかも知れないからである。本例( 図11(b))について、もし画素が、例えば、サンプル点を点A, L, E,G, D, H, P, N, KまたはOに置くオフセットでサンプルされるならば、基本要素は出力値に寄 与せず、従って、基本要素はアクティブではないであろう。しかし、もし画素が点Ｆ，Ｃ，Ｉ，Ｂ，ＭおよびＪのいずれかにおいてサンプルされるならば、基本要素が出力値に寄与し、従って、基本要素はアクティブであるであろう。
【００５１】
走査線アルゴリズムによって、一回に、通常、上部から底部へ、一画像線が発生する。スクリーンラインを処理する間、記載されている例ではポリゴン（ポリゴンは、基本要素記述子の一部分の例で、基本要素記述子は、画像の基本要素の地理的記述（すなわち、三角形や多角形（ポリゴン）などの形状）を基本要素に対応する表面の記述（すなわち、基本要素は何色か、その光反射特性はどうかなど）とともに含んでいる。）であるが、前記ラインに寄与するすべての基本要素に関する情報が利用可能でなければならない。このことは、アクティブ  ポリゴン（Polygon)リスト(APL) と称する、すべての出力値に寄与するポリゴンに関するリンクされたリストを用いることで達成される。あるスクリーンラインから次のラインに移動するとき、いくつかのポリゴンが何ら画像に寄与しない場合、これらは、リストから消去されるはずである。一方、その他は、寄与し始め、足し合わされるはずである。ポリゴンがリスト中に現れる順番は、全く問題にならない。リストが、現在のラインを部分的におおっているすべてのポリゴンを正確に記録していることのみが必要である。
【００５２】
アクティブポリゴンリストを構成するために、画像を形成する、すべての２次元ポリゴンのデータ表が、前記画像の任意の画素が発生する以前に、組立てられる。これを、図１にて示されているような非走査線システムと対比する。非走査線システムでは、一回に一個のポリゴンが、３次元表現から２次元画素へと処理される。これに対し、本発明では、各スクリーンラインに対して一個づつ３次元多角形がバケットに分類される場合、単に適切なバケットリストをアクティブポリゴンリスト(APL) に加えることによって、新たな多角形がアクティブポリゴンリスト(APL) に加えられる。図５は、メモリ PST中のこの構成を示している。
【００５３】
図５に示されているように、走査線０，１，−−−−−  Ｌでスタートするポリゴンのバケットリストを指示しているメモリバンク０，１，−−−−−  Ｌを設ける。これらのＹバケットは、所定のラインＹでスタートするポリゴンのリンクされたリストを具えている。図５では、ラインＹ＝０において、２個のポリゴンがスタートすることが示されている（１ｓｔ及び２ｎｄ）  。各ポリゴンに対して、スタートライン（ＳＴＹ）  及びエンドライン（ＥＤＹ）  は、端部傾斜及びスタートラインにおけるＸ値とともに記憶される（これは、図４に示されている三角形の基本要素の場合、単一の値となる）。更に、奥行きの値（ｚ）及び表面の特性も記憶される。
【００５４】
１フレームを処理するためのスパンジェネレータ（ＳＰＧＮ）の基本的なアルゴリズムは、以下に示す通りである：
各々のＹに対して、
Ｙバケットに新しいエントリがある場合、
新しいエントリをアクティブポリゴンリストに加えるアクティブポリゴンリストの各ポリゴンに対して、スパン記述子を発生させる。
ラインがエンドライン（ＥＤＹ）の場合、
ポリゴンをアクティブポリゴンリストから削除する。
ラインがエンドライン（ＥＤＹ）でない場合、
端部をインクリメント（増分）する。
【００５５】
このようにして、最小のＹバケットの値に基づきすべてのポリゴンが、Ｙバケットに分類された後、スパンジェネレータ（SPGN) は、最小のスクリーンＹから、最大のスクリーンＹへと、すなわち上部から底部へと、スクリーンを横断する。各ライン毎に、スパンジェネレータ(SPGN)はスパン記述子(SD)を、前記ラインの各ポリゴン毎にスパンプロセッサ(SPPR)に伝送する。スパンプロセッサは、画素を単一の画素列のライン画像バッファ(LIMINT)に送り、このバッファが中間画素値を記憶する。スパンジェネレータ(SPGN)は、各走査線を処理する以前に更新されるアクティブポリゴンのリストを保持する。通常、新しいＹバケットのポリゴンがリストに加えられ、いくつかの古いものが削除される。残っている古いポリゴンは、この段で垂直傾斜によってインクリメントされるすべての端部の値を有している。
【００５６】
任意のスクリーンラインＹ＝Ｌにおいて、リンクされたポリゴンのバケットが存在する。これは、ナルポインタ、すなわち、アドレスゼロを指示しているポインタで終了する。スパンジェネレータ（ＳＰＧＮ）中のプロセッサは、アクティブポリゴンリストを保持する。現行のラインにおいて、プロセッサは、まずバケットＬをアクティブポリゴンリストに加え、ポリゴンを採り入れる。このことは、まず、バケットＬのスタートアドレスを、アクティブポリゴンリストのナルポインタに書き込むことによって、このラインで開始する。この時、バケットＬのナルポインタは、アクティブポリゴンリストの新しいナルポインタを形成する。この時、スパンジェネレータは、アクティブポリゴンリストを横断し、各ポリゴン毎に、スパン記述子  （ＳＤ）  を発生させる。スパン記述子（ＳＤ）、開始及び終了ｘ値、奥行きすなわちｚ値、色、明暗値等である。このスパン記述子は、独立のスパンプロセッサ（ＳＰＰＲ）に送られ、このプロセッサは、画素値をラインバッファ（ＬＩＭＩＮＴ）に書き込む。必要ならば、例えばｚバッファアルゴリズムによって、この段で、隠れている表面除去も行なわれる。スパンジェネレータ（ＳＰＧＮ）は、次のスクリーンラインの準備として、適切な傾斜値によって各ポリゴン記述子のｘ−ｌｅｆｔ値及びｘ−ｒｉｇｈｔ  値もインクリメントする。
【００５７】
Ｙバケットポリゴンリストに割当てられるべきメモリ量は、シーンのポリゴンの総数及びデータ構造の複雑さに依存している。多重構成マップを用いる精巧な描写プログラムは、シンプルなグラウド（Ｇｏｕｒａｕｄ）  シェーディドポリゴンよりもかなり多くの記憶容量を必要とする。ポリゴンリストは、２個の異なるリンクされた構造、すなわち、Ｙバケットリンクリスト及びアクティブポリゴンリンクリストを同時に保持する。しかしながら、これらのリストは同時に必要とされないので、同一のポインタ領域を同時に両者に適用することができる。
【００５８】
メモリ中に、Ｙバケットを指示しているエントリを具えているスクリーン（０，１−−−−−  Ｌ）のライン数と等しいサイズのアレイ、すなわち各ラインで開始するリンクされたポリゴンリストを設ける。アクティブポリゴンリスト（ＡＰＬ）  中にも、第１ポリゴン構造を指示しているポインタすなわち  ＡＰＬスタートを設ける。この構造を用いて、アクティブポリゴンリスト（ＡＰＬ）  を保持する。この構造において注目すべき領域は、リンクポインタのみである。図５は、第１スクリーンラインを処理する前のフレームポリゴンメモリの内容を示している。
【００５９】
最初に、ＡＰＬスタートのリンクポインタ領域は、ナルを指示している。スクリーンラインゼロのためのＹバケットエントリは、リンクポインタ領域によってリンクされる２個のポリゴンのリストを指示している。第２ポリゴンは、ナルを指示している。新しいＹバケットは、各スクリーンラインのスタート時に、アクティブポリゴンリストに加えられる。バケットが空の場合には、最後にポリゴンのナルリンクポインタは、ナルポインタで、バケットアレイエントリから単にオーバライトされるにすぎない。
【００６０】
Ｆｕｃｈ等によって開示されているアンチエイリアスフィルタリング機構によれば、フレーム中のすべてのポリゴンは、多数回、累積バッファに送られる。各々の描写は、サブ画素ｘオフセット及びｙオフセットの異なる対を有している。すべてのｘ及びｙポリゴン構成位置が処理され、分数の正確性が保持されている。最終的には、アンチエイリアシング効果を用いて、画像の空間的フィルタ処理を行う。定義により処理される走査ラインが、ライン−バイ−ライン（ｌｉｎｅ−ｂｙ−ｌｉｎｅ）  の原理に基づき発生する。また、サブ画素のｘオフセットは容易に処理することができるが、ｙオフセットによって、一つの走査線が、次の走査線に影響を与えることとなる。このことは、既知の走査線アルゴリズムを用いても不可能である。
【００６１】
本発明においては、アンチエイリアシングは、各画素に対して行われるＮ回のオーバサンプリングによって与えられたフィルタリングの結果である。それによって基本要素の端部をソフトにしアンチエイリアシングが適用されていない基本要素に基づいたグラフィック画像の様子を損じ、目に見えるはしご段状の人為効果を除去する。
【００６２】
図４は、通常のポジション１及び２個の起こりうるオフセットポジション２及び３における三角形を示している。走査線Ａ〜Ｄにおいて、ポジション２及び３に対するスパンの新たな制限  ｘｌｅｆｔ及びｘｒｉｇｈｔを、オフセット値Ｎｘ及びＮｙより、計算することができる。値Ｎｘは、単に  ｘｌｅｆｔ及び  ｘｒｉｇｈｔ  に加えられ、Ｎｙ  には、端部の傾きがかけられ、引き算を行う前に、水平方向へのオフセットに変換される。すなわち；
ｘｌｅｆｔ  （ｎｅｗ）  ＝  ｘｌｅｆｔ＋Ｎｘ−Ｎｙδｘｌｅｆｔ
ｘｒｉｇｈｔ（ｎｅｗ）  ＝  ｘｒｉｇｈｔ  ＋Ｎｘ−Ｎｙδｘｒｉｇｈｔ
各オフセットに従って修正される  ｘｌｅｆｔ及び  ｘｒｉｇｈｔ  の値を用いて各スパンが多数回、スパンプロセッサ（ＳＰＰＲ）に送られる。
【００６３】
多重描写によってアンチエイリアスフィルタ処理を行なうために、各スパン記述子を、多数回、スパンプロセッサ（ＳＰＰＲ）に送る必要がある。水平方向（すなわちｘ）のオフセットに関しては、この問題はないが、垂直方向（すなわちｙ）のオフセットに関しては、多くの問題がある。走査線Ａにおいて、これらのオフセットによって、走査はゼロ若しくは負の長さまで低減される。厳密に言えば、ポリゴンはラインＤで終了するが、ポジション３にオフセットする場合、ラインＥにも描写する必要がある。第１の問題は、ゼロ若しくは負のスパンを検出するとともに、このスパンを、スパンジェネレータ（ＳＰＰＲ）に供給している間又は、供給する以前に、前記スパンを拒絶することによって解消することができる。第２の問題は、アクティブポリゴンリスト（ＡＰＬ）と同様に、デリーテッドポリゴンリスト（ＤＰＬ）を保持することによって、この実施例によって解消される。デリーテッドポリゴンリスト（ＤＰＬ）は、先の走査線の処理中に削除されるすべてのポリゴンを採用することで構成される。従って、ポリゴンリスト（ＤＰＬ）は、次の走査線及び、これに関する削除されるポリゴンが記憶された後、消去される。このようにして、デリーテッドポリゴンリストは、先行するラインのアクティブポリゴンリストから削除されるこれらすべてのポリゴンを具えている。
【００６４】
図６は、スクリーンラインＬの処理のためのフレームポリゴンメモリの内容を示す図である。これは、ラインＯでスタートし、ラインＬ−１で終了するとともに、ラインＬで削除されるポリゴンリスト  ＤＰＬを具える第１及び第２ポリゴンを示している。ポリゴンが同一のラインでスタートし、終了する必要がないことに注意すべきである。例えば、第１ポリゴンがラインＬ−１で終了しさえすれば、削除されるポリゴンリストは、第１ポリゴンのみを具え、第２ポリゴンにリンクされる代わりに、ナルポインタを出力する。更に２個のポリゴン、すなわち、第３及び第４ポリゴンがラインＬでスタートし、これらがアクティブポリゴンリストＡＰＬ  に加えられることもわかる。この例では、アクティブポリゴンリスト中にわずかに２個のポリゴンが存在するにすぎないが、一方、このことは、必ずしも必要ではなく、また、通常のことでもある。その理由は、先行するラインでスタートしたその他のポリゴンが依然として存在するからである。この場合、第３及び第４ポリゴンは、単にこれらを先行するＹバケットのナルポインタにリンクさせることによって、リストに加えられるにすぎない。
【００６５】
多重描写によってアンチエイリアスフィルタリングを行なう際、スパンジェネレータ（ＳＰＧＮ）によって実行される高レベルアルゴリズムは、以下に示す通りである；
各々のＹに対して、
新しいＹバケットを、アクティブポリゴンリストに加える。
第１オフセットを選択する。
最後の描写を除く、すべての描写に対して、
削除されるポリゴンリスト中のすべてのポリゴンに対して、
スパンを発生させる。
アクティブポリゴンリスト中のすべてのポリゴンに対して、
スパンを発生させる。
ラインバッファに蓄積する次のオフセットを選択する。
削除されるリスト中のすべてのポリゴンに対して、
スパンを発生させる。
デリーテッドポリゴンリストを消去する。
アクティブリスト中のすべてのポリゴンに対して、
ポリゴンの第１スパンの場合、
わずかにポリゴンを次のスクリーンラインへインクリメントする。
ポリゴンの第１スパンでない場合、
スパンを発生させる。
ポリゴンを１スクリーンラインインクリメントする。
ポリゴンの最終スパンの場合、
ポリゴンをデリーテッドポリゴンリストに加える。
ラインバッファ（ＬＩＭＩＮＴ）に蓄積する。
ラインアキュムレータをフレームバッファ（ＦＲＭＢ）に移す。
上記の高レベルアルゴリズムは、ある点に関して、ｙ方向のオフセットに関連して発生する問題を考慮するのに適しているはずである。デリーテッドポリゴンリストと関連する“スパンを発生させる”とのステートメントは、垂直方向オフセットＮｙ＋（エンドライン（ＥＤＹ）の小数部分）＝１の場合にのみ実行される。これは、ポリゴンの一部分を現在の走査ラインへと送るための必要条件である。
【００６６】
また、上記の高レベルアルゴリズムは主に疑似コードの形態において大きく、そして「第１のオフセットを選択する」や「スパンを発生させる」は、オフセットの発生と付与（付与されたオフセットによって、基本要素が画素の次の水平列に“スピルオーバ”することを起こさせるかどうかの決定を含めて）を取り扱うためにプログラムされたシステムに基づくソフトウェアの概念的なコマンドである。
【００６７】
２個のポリゴンが垂直方向に接近している場合、すなわち、アンチエイリアスされるシステム中で両者が合致する場合スクリーンライン上に両者を表示せず、その他のスムースな画像に対して顕著なエラーを除く必要がある。本発明の実施例において、このことを達成するために、ポリゴンの第１ラインを表示しない。このことによって、ある小数の垂直位置でスタートするポリゴンの第１スパンに、垂直方向のオフセットを与える際に生じる問題を解消することができ有利である。垂直方向のオフセットの水平方向のシフトであるｘｌｅｆｔ及びｘｒｉｇｈｔへの変換は、これらの場合には、うまく作用しない。すなわち、三角形の頂点が第１ラインである場合、ｘｌｅｆｔとｘｒｉｇｈｔとを交換し、負のスパン長を発生させる。しかしながら、垂直方向のオフセットによって、ポリゴンの第１スパンが次の表示行  （すなわち、スクリーンライン）に生じる際、依然として処理を施す必要性がある。これらのスパンは、スタートライン（ＳＴＹ）の後ただちにスクリーンラインに適用される以下のテストを用い、検出されるとともに拒絶される。
【００６８】
（スタートライン（ＳＴＹ）の整数部分）＝Ｙ−１  且つ
（スタートライン（ＳＴＹ）の小数部分）＋Ｎｙ＝１の場合、スパンを拒絶する。
このテストを、ポリゴンの第１ラインが表示されない条件と結びつけ、以下のテストが与えられる。
（スタートライン（ＳＴＹ）＋Ｎｙ）の整数部がＹの場合、スパンを拒絶する。
スクリーンラインが処理されるにつれて徐々に進展するアクティブポリゴンリスト（ＡＰＬ）  とは異なり、デリーテッドポリゴンリスト（ＤＰＬ）は、各々スクリーンライン毎に、消去されるとともに再構成される。しかしながら、アクティブリスト及びデリーテッドリストの両方に、同時にポリゴンが存在しないので、両方の目的のために、ポリゴン記述子中に同一のリンクポインタを用いることができる。
【００６９】
ポリゴンからスパンを発生させることに加え、各スクリーン毎に、ポリゴンのすべてのパラメータを垂直方向にインクリメントさせる必要もある。このことは、各ラインの最後の描写を発生させると同時に行なわれる。従って、最初の（ｎ−１）個の描写は、単に、現行のアクティブポリゴンリスト（ＡＰＬ）及びデリーテッドポリゴンリスト（ＤＰＬ）のためのスパンの発生を伴うにすぎない。各描写が実行され、ラインバッファ（ＬＩＭＩＮＴ）に記憶され、ラインアキュムレータ（ＬＩＭＡＣＣ）に加えられる。最後の描写では、まず、デリーテッドポリゴンリスト（ＤＰＬ）からスパンを発生させ、その後、再構成の準備として、デリーテッドポリゴンリスト（ＤＰＬ）を消去する。この際、アクティブポリゴンリスト（ＡＰＬ）が処理される。すなわち、スパンを発生し、完成されたポリゴンがアクティブポリゴンリスト（ＡＰＬ）から新たなデリーティドポリゴンリスト（ＤＰＬ）へと移される。最終的に、ラインアキュムレータバッファ（ＬＩＭＡＣＣ）が蓄積され、最終的に得られるアンチエイリアスフィルタ処理された画像ラインが、ラインアキュムレータ（ＬＩＭＡＣＣ）からフレームバッファに伝達される。
【００７０】
考慮すべきポリゴンの処理に関するその他の事柄としては、ｘｌｅｆｔ  ，  ｘｒｉｇｈｔ  ，ｚｌｅｆｔ  等のパラメータが垂直方向に増大する場合、整数画素位置での正しい値が必要とされるということである。ポリゴンのスタートライン（ＳＴＹ）の値が小数部分を有しているので、最初の垂直方向へのインクリメントを用いて、ポリゴンを整数ｙグリットに一致させる。すなわち、全スクリーンラインだけ、インクリメントされるのではなく、１−〔スタートライン（ＳＴＹ）の小数部分〕だけインクリメントされる。
【００７１】
図７は、図３にて示すスパンジェネレータＳＰＧＮを更に詳細に示す図である。上記にて説明したように、このスパンジェネレータは、基本要素記述子ＰＤを（図３にて示す）基本要素記憶装置  ＰＳＴから受信するとともに、スパン記述子（ＳＤ）をスパンプロセッサ  ＳＰＰＲ  に供給する。スパンジェネレータＳＰＧＮを、図７で点線にて示すオフセットジェネレータＯＦＦＧＮにも接続する。
【００７２】
スパンジェネレータＳＰＧＮは、垂直方向インクリメンティング回路  ＶＩＮＣ  と、オフセット修正回路  ６００とを具えている。この回路６００  は、３個の２−１マルチプレクサ６０，  ６２及び６４と、５個の一時的記憶レジスタ６６，  ６８，  ７０，  ７２及び７４と、乗算回路７６と、２個の減算回路７８及び８０と、加算回路８２とを具えている。選択信号をマルチプレクサに供給し、クロック信号をレジスタに供給する等のための順次の制御回路は、図示されてはいないが、当業者にとっては当然のことである。
【００７３】
垂直方向インクリメンタＶＩＮＣに供給される各基本要素記述子ＰＤは：
スタート行  ＳＴＹ及びエンド行  ＥＤＹの値と；ｘｌｅｆｔ及びｘｒｉｇｈｔのスターティング値（基本要素の左側端部位置及び右側端部位置）と；ｙ（垂直方向位置座標）に対するこれら端部の傾きδｘｌｅｆｔ及びδｘｒｉｇｈｔとを具えている。基本要素記述子は、ｚｌｅｆｔの初期値も具えている。この値は、基本要素の左側端部における奥行き座標ｚの値である。ｙに対する部分的な微分δｚｌｅｆｔ及びδｚ／δｘも含まれている。さらに、実際の例では、記述子ＰＤに、より多くのパラメータを含め、（ｘ及びｙの部分的な微分を伴う）座標軸ｕ及びｖを作成するも、シェーディング効果に用いられる光源の値又は表面法線の値のようなパラメータを具えることもできる。
【００７４】
所定の基本要素に関して、垂直方向のインクリメンタＶＩＮＣは、ｙに対する端部の傾き及び部分的な微分を用い、現在のスパンに対するスタート位置ｘｌｅｆｔ  及びエンド位置  ｘｒｉｇｈｔを更新しつつ、スタートライン（ＳＴＹ）からエンドライン（ＥＤＹ）  に至る行をステップするとともに、回路６００に、スパンプロセッサＳＰＰＲ（図３）に送られるスパン記述子ＳＤを形成するのに必要とされる値  ｘｌｅｆｔ  ，  ｘｒｉｇｈｔ  ，  ｚｌｅｆｔ  ，  δｚ／δｘ  を供給する。オフセットＮｘ  ，  Ｎｙ  の追加を容易にするとともに、更に、ｚｌｅｆｔ  の垂直方向オフセット修正及び水平端部修正がスパン記述子ＳＤ中に含まれるにうにするために、値δｘｌｅｆｔ，δｘｒｉｇｈｔ及びδｚｌｅｆｔ  も供給する。回路中の結線数を減少させるために、これらの値は、図７の６１にリストされている順番で順次に供給される。
【００７５】
サブ画素オフセットＮｘ，Ｎｙ及び修正を含めるために、マルチプレクサ６０をスイッチし、加算器８２の出力端子を、スパンプロセッサＳＰＰＲに接続し、ＳＰＰＲが図７の６３にリストされているような一連の修正値ｘｌｅｆｔ（ｎｅｗ），ｘｒｉｇｈｔ（ｎｅｗ）  等を受信できるようにしている。オフセット修正回路６００  によって修正されるこれらの値の処理方法及び発生を記述する。
【００７６】
すでに述べたように、ｘｌｅｆｔ（ｎｅｗ）及びｘｒｉｇｈｔ（ｎｅｗ）を規定する方程式は、以下に示す通りである；
ｘｌｅｆｔ（ｎｅｗ）＝ｘｌｅｆｔ＋Ｎｘ−Ｎｙδｘｌｅｆｔ  ，
ｘｒｉｇｈｔ（ｎｅｗ）＝ｘｒｉｇｈｔ＋Ｎｘ−Ｎｙδｘｒｉｇｈｔ
レジスタ６６及び６８は、オフセットジェネレータＯＦＧＮから受信される水平方向及び垂直方向のオフセット値Ｎｘ及びＮｙをそれぞれ記憶する。Ｎｙ・δｘｌｅｆｔ  及びＮｙδ・ｘｒｉｇｈｔの項は、水垂方向のオフセット修正（ＶＯＣ）項であり、レジスタ７０は、所定の時刻における修正（ＶＯＣ）項を所定の時刻に一時的に記憶する。
【００７７】
高い（サブ画素の）正確性を得るために、ｘｌｅｆｔ（ｎｅｗ）を発生させるが、ｘｌｅｆｔ  （ｎｅｗ）の小数（サブ画素）部分は、スパンプロセッサＳＰＰＲの水平方向のインクリメントによって無視される。基本要素において、ｚ，ｕ又はｖのような他の幾つかのパラメータが挿入される場合には、この整数値ｘへの切捨てによって、問題が生じる。例えば、行のスタート位置で計算されるｚの値は、極めて正確にｘｌｅｆｔの値に合致しているが、切捨てられた値とは合致していない。このｚのエラーによって、基本要素間に不完全な交差及び、隠れている表面のスプリアス“ポークスロウ（ｐｏｋｅ−ｔｈｒｏｕｇｈｓ）”の原因となり得る。同様に、構成軸ｕ，ｖの打切り誤差によって、小さいけれども視覚的に目立つ不連続性が構成パターンの作成に生じ得る。
【００７８】
水平方向の端部修正値  ＨＥＣ（ｚ）は、方程式：
ＨＥＣ（ｚ）  ＝  （１−ｆｒａｃ（ｘｌｅｆｔ（ｎｅｗ）  ）・δｚ  ／δｘ
に従って計算され、ｚｌｅｆｔ  に加算される。ここで、ｆｒａｃ（ｘｌｅｆｔ（ｎｅｗ））は、修正された水平方向スタート位置  ｘｌｅｆｔ（ｎｅｗ）の小数（サブ画素）部分である。値の小数部分は、一般的に、全１６〜３２ビットのうち４個の最小有効ビットを具えることができ、これは、画素アレイのサイズ及び必要とされるサブ画素の正確性に依存している。垂直方向のオフセット修正値Ｎｙ・δｚｌｅｆｔを含め、ｚｌｅｆｔ（ｎｅｗ）の正しい方程式は：
ｚｌｅｆｔ（ｎｅｗ）＝ｚｌｅｆｔ＋（１−ｆｒａｃ（ｘｌｅｆｔ（ｎｅｗ））・δｚ／δｘ  −Ｎｙ・δｚｌｅｆｔ
となる。この方程式は、Ｎｘの代わりに、水平方向端部修正項  ＨＥＣ（ｚ）を用い、上記にて示すｘｌｅｆｔ（ｎｅｗ）の方程式と、その形態において類似していることがわかる。更に、要求されるｘｌｅｆｔ（ｎｅｗ）の小数部分は、ｘｌｅｆｔ（ｎｅｗ）の整数部分と同時に発生させられ、あるいはまた発生し得るものである。ｘｌｅｆｔ（ｎｅｗ）の整数部分は、すでにスパンプロセッサよって要求されている。
【００７９】
図７のスパンジェネレータは、この類似性及び、ｆｒａｃ（ｘｌｅｆｔ（ｎｅｗ））の利用可能性を有し、ｘｌｅｆｔ（ｎｅｗ）及びｘｒｉｇｈｔ（ｎｅｗ）を発生させるのに用いられるのと同一の回路を実質的に用いて、ｚｌｅｆｔ  の修正を行なうのに有利である。このことは、マルチプレクサ６０〜６４及び記憶レジスタ７０〜７４の動作を、垂直方向のインクリメンタＶＩＮＣの出力端子でシーケンシャルに７個の値を用いるのに、同期させることによって達成される。これら７個の動作段に、（１）  〜（７）  の番号を付け、以下で順番に説明する。これらの動作段のインクリメンタＶＩＮＣによって与えられる値のシーケンスを図７の６１に示し、スパンプロセッサに供給されるシーケンスな値を図７の６３で示す。サイクル２，４，５及び７で与えられる値は、スパン記述子ＳＤを構成するが、括弧内の値（サイクル１，３及び６）は不必要であり、スパンプロセッサによって無視される。（１）  〜（７）  の各々のステージにおける動作は、以下の通りである：
（１）    マルチプレクサ６２を介してレジスタ６８より受信されるオフセットＮｙと、インクリメンタＶＩＮＣから受信されるδｘｒｉｇｈｔとは、マルチプレクサ７６の入力端子に供給される。このようにしてマルチプレクサ７６の出力端子は、レジスタ７０に記憶されるＶＯＣ（ｘｒｉｇｈｔ）を伝送する；
（２）    ７８において、マルチプレクサ６４を介してレジスタ６６から受信される水平方向のオフセットＮｘから、レジスタ７０に記憶される  ＶＯＣ（ｘｒｉｇｈｔ）を減算する。
その差は、８２において、水平方向インクリメンタＶＩＮＣから受信されるもとのｘｒｉｇｈｔ値に加えられる；このようにして、加算器８２の出力端子は、修正されたｘｒｉｇｈｔ（ｎｅｗ）を伝送する。この修正されたｘｒｉｇｈｔ（ｎｅｗ）の少なくともその整数部分は、マルチプレクサ６０を介して、スパン記述子ＳＤの第一部分としてスパンプロセッサに転送される；
（３）    δｘｌｅｆｔがインクリメンタＶＩＮＣから受信される。
ＶＯＣ（ｘｌｅｆｔ）＝Ｎｙ・δｘｌｅｆｔは、レジスタ７０に記憶される；
（４）  ｘｌｅｆｔは、インクリメンタＶＩＮＣから受信され、ｘｌｅｆｔ（ｎｅｗ）は、加算器８２によって発生し、スパンプロセッサＳＰＰＲに転送される；同時に、ｘｌｅｆｔ（ｎｅｗ）の小数部分すなわちｆｒａｃ（ｘｌｅｆｔ（ｎｅｗ））は、レジスタ７４に記憶される；
（５）    ８０で、１からｆｒａｃ（ｘｌｅｆｔ（ｎｅｗ））を減算し、マルチプレクサ６２を介して乗算器７６に供給する：乗算器７６は、インクリメンタＶＩＮＣからδｚ／δｘを受信するとともに、水平方向のｚの端部修正値ＨＥＣ（ｚ）＝（１−ｆｒａｃ（ｘｌｅｆｔ（ｎｅｗ））・δｚ／δｘを発生させる。この値は、レジスタ７２に記憶される；
δｚ／δｘは、マルチプレクサ６０によってスパンプロセッサに転送される；
（６）    ７６で、Ｎｙとδｚｌｅｆｔとが乗算され、垂直方向のｚのオフセット修正値ＶＯＣ（ｚ）を構成する。この値は、レジスタ７０に記憶される；
（７）  ｚｌｅｆｔ（ｎｅｗ）  は、ＨＥＣ（ｚ）からＶＯＣ（ｚ）を減算するととも、インクリメンタＶＩＮＣから受信されるものとの値ｚｌｅｆｔを加算することによって、発生する。この値は、マルチプレクサ６０を介して、スパンプロセッサ（図３）に供給される。
【００８０】
ｆｒａｃ（ｘｌｅｆｔ（ｎｅｗ））がレジスタ７４に残っている限り、水平方向の端部修正及び垂直方向のオフセット修正を、インクリメンタＶＩＮＣによって供給される適切な値を用いて、サイクル（５），（６），（７）を繰返すことによって、任意の数のその他のパラメータ（ｕ，ｖ，表面法線等）に適用することができる。構成要素７２，７４，６２及び６４と、幾つかの付加的な編成とが、水平方向の端部修正に必要とされ、その他の構成要素（特にマルチプレクサ７６）は、垂直方向のｘｌｅｆｔ及び  ｘｒｉｇｈｔ  のオフセット修正のためのものである。更に、マルチプレクサ７６に用いられるファクタの一つは、常におそらく４ないし５ビット小数である。各々１６〜３２ビットの２個の高精度数のための汎用乗算器を設ける必要はない。
【００８１】
本発明は、ここに開示されている実施例に限定されるものではなく、要旨を変更しない範囲内で種々の変形又は変更が可能である。
【図面の簡単な説明】
【図１】多重描写によってアンチエイリアスフィルタリングを実行するのに好適な３次元物体を２次元ディスプレイ上に表示する従来の画像表示装置を示すブロック図である。
【図２】多重描写によるアンチエイリアスフィルタリングの原理を示す図である。
【図３】２次元画素アレイに、ディスプレイの３次元空間中の物体の像を発生させるための、本発明による装置の一例を示す図である。
【図４】図３の装置にて、多重描写によるアンチエイリアスフィルタリングの原理を示す図である。
【図５】図３にて示されている装置中のメモリ編成を示す図である。
【図６】図３にて示されている装置中のメモリ編成を示す図である。
【図７】本発明による装置中のスパンジェネレータの一部を示すブロック図である。
【図８】本発明の主題を説明する図であり、特に、本発明により画像が表示されるまでのステップ１、ステップ２、およびステップ１６を示している。
【図９】同じく、本発明により画像が表示されるまでのステップ１７およびステップ１８を示している。
【図１０】同じく、本発明により画像が表示されるまでのステップ１９を示している。
【図１１】一連の画素列の各画素に対して、基本要素がアクティブであると認識する手段と、オフセットによっては、基本要素がアクティブであるかも知れないと認識する手段の動作を示している。
【符号の説明】
６０，  ６２，  ６４  マルチプレクサ
６６，  ６８，  ７０，  ７２，  ７４  レジスタ
７６  乗算回路
７８，  ８０  減算回路
８２  加算回路
６００    オフセット修正回路
【図１】
0003608801.tif 000002
【図２】
0003608801.tif 000003
【図３】
0003608801.tif 000004
【図４】
0003608801.tif 000005
【図５】
0003608801.tif 000006
【図６】
0003608801.tif 000007
【図７】
0003608801.tif 000008
【図８】
0003608801.tif 000009
【図９】
0003608801.tif 000010
【図１０】
0003608801.tif 000011
【図１１】
0003608801.tif 000012