(57)【特許請求の範囲】
【請求項１】
ディスプレイ装置に表示可能なオブジェクトを表す情報を処理する方法であって、
該方法は、
処理装置が、該オブジェクトの少なくとも一部分に関する情報を格納するための第1のメモリセグメント構成を決定するステップであって、該第1のメモリセグメント構成は、該オブジェクトの形状特性に依存する、ステップと、
該処理装置が、該第1のメモリセグメント構成を、対応するメモリに書き込むステップと、
該処理装置が、該対応するメモリの第1のメモリセグメントに該情報を格納するステップとを包含し、
該決定するステップは、
（ａ）該形状特性を利用して、該オブジェクトの第1の充填ピクセルを識別するステップと、
（ｂ）該第1の充填ピクセルの位置を格納するステップと、
（ｃ）該オブジェクトを該第１の充填ピクセルの位置から所定の方向に走査して該オブジェクトの第2の充填ピクセルを識別するステップと、
（ｄ）該走査における該第１の充填ピクセルから該第２の充填ピクセルへの移動量に相当するデータサイズを求めるステップと、
（ｅ）該移動量に相当するデータサイズが、所定のセグメントサイズより大きいか否かを決定するステップと、
（ｆ）該移動量に相当するデータサイズが該所定のセグメントサイズより大きい場合、該メモリセグメント構成を定義するステップと、
（ｇ）該移動量に相当するデータサイズが該所定のセグメントサイズより大きくない場合、該第2の充填ピクセルの位置が、該オブジェクトのベースに関連付けられているか否かを決定するステップと、
（ｈ）該第2の充填ピクセルの位置が該オブジェクトのベースに関連付けられている場合、該メモリセグメント構成を定義するステップと、
（ｉ）該第2の充填ピクセルの位置が該オブジェクトのベースに関連付けられていない場合、該オブジェクトの次の充填ピクセルを識別するステップと、
（ｊ）該（ｉ）ステップが実行されたときに、該識別された次の充填ピクセルを該第２の充填ピクセルとして該（ｄ）及び（ｅ）ステップを実行し、該（ｅ）ステップの比較の結果に応じて該（ｆ）又は（ｇ）ステップを実行し、該（ｇ）ステップが実行されたときに、該（ｈ）又は（ｉ）ステップを実行する、ステップと、
を包含し、
該第1の充填ピクセルの位置と、該所定のセグメントサイズより大きいデータサイズに相当する移動量を有する該ピクセルの位置または該オブジェクトのベースに関連付けられた位置を有する該ピクセルの位置との間で決定された幅値と長さ値とを利用して、該メモリセグメント構成は定義される、方法。
【請求項２】
前記対応するメモリの第1のメモリセグメントに前記情報を格納するステップの後、前記方法は、
該第1のメモリセグメントに前記オブジェクトが完全には格納されていない場合、前記処理装置が、前記第1のメモリセグメント構成を決定するステップに戻るステップをさらに包含し、
該方法は、該オブジェクトの次の一部分に関する情報を格納するための第2のメモリセグメント構成を更に決定し、
該方法は、該オブジェクトの全てが、対応するメモリセグメントに格納されるまで反復的に継続される、請求項１に記載の方法。
【請求項３】
前記オブジェクトが全て格納された後、
前記処理装置が、1つより多くの格納されるべきオブジェクトがあるか否かを決定するステップと、
より多くの格納されるべきオブジェクトがある場合、該処理装置が、前記第1のメモリセグメント構成を決定するステップに戻るステップと
をさらに包含する、請求項２に記載の方法。
【請求項４】
前記書き込むステップは、
前記処理装置が、Zフェッチが要求されているか否かを決定するステップと、
Zフェッチが要求されている場合、該処理装置が、対応するZ値をメモリからフェッチするステップと、
該処理装置が、Z値情報を含む前記オブジェクトをメモリに書き込むステップと
をさらに包含する、請求項２に記載の方法。
【請求項５】
前記方法は、
前記処理装置が、色データフェッチが要求されているか否かを決定するステップと、
色データフェッチが要求されている場合、該処理装置が、対応する色データをメモリからフェッチするステップと、
該処理装置が、該色データを含む前記オブジェクトをメモリに書き込むステップと
をさらに包含する、請求項４に記載の方法。
【請求項６】
前記方法は、
前記処理装置が、色データフェッチが要求されているか否かを決定するステップと、
色データフェッチが要求されている場合、該処理装置が、対応する色データをフェッチするステップと、
該処理装置が、該色データを含む前記オブジェクトをメモリに書き込むステップと
をさらに包含する、請求項２に記載の方法。
【請求項７】
機械可読符号（indicia）を有する記憶媒体であって、該記憶媒体は、読取り装置に結合されており、該読取り装置は、処理回路部に結合されており、該読取り装置は、該機械可読符号を読取って該機械可読符号を表すプログラム信号を生成するように動作可能であり、
該プログラム信号は、該処理回路部に、
該オブジェクトの少なくとも一部分に関する情報を格納するための第1のメモリセグメント構成を決定するステップであって、該第1のメモリセグメント構成は、該オブジェクトの形状特性に依存する、ステップと、
該第1のメモリセグメント構成を、対応するメモリに書き込むステップと、
該対応するメモリの第1のメモリセグメントに該情報を格納するステップと
を包含する処理方法を実行させることによって、ディスプレイ装置上に描画可能なオブジェクトを表す情報を格納させることを可能にし、
該決定するステップは、
（ａ）該形状特性を利用して、該オブジェクトの第1の充填ピクセルを識別するステップと、
（ｂ）該第1の充填ピクセルの位置を格納するステップと、
（ｃ）該オブジェクトを該第１の充填ピクセルの位置から所定の方向に走査して該オブジェクトの第2の充填ピクセルを識別するステップと、
（ｄ）該走査における該第１の充填ピクセルから該第２の充填ピクセルへの移動量に相当するデータサイズを求めるステップと、
（ｅ）該移動量に相当するデータサイズが、所定のセグメントサイズより大きいか否かを決定するステップと、
（ｆ）該移動量に相当するデータサイズが該所定のセグメントサイズより大きい場合、該メモリセグメント構成を定義するステップと、
（ｇ）該移動量に相当するデータサイズが該所定のセグメントサイズより大きくない場合、該第2の充填ピクセルの位置が、該オブジェクトのベースに関連付けられているか否かを決定するステップと、
（ｈ）該第2の充填ピクセルの位置が該オブジェクトのベースに関連付けられている場
合、該メモリセグメント構成を定義するステップと、
（ｉ）該第2の充填ピクセルの位置が該オブジェクトのベースに関連付けられていない場合、該オブジェクトの次の充填ピクセルを識別するステップと、
（ｊ）該（ｉ）ステップが実行されたときに、該識別された次の充填ピクセルを該第２の充填ピクセルとして該（ｄ）及び（ｅ）ステップを実行し、該（ｅ）ステップの比較の結果に応じて該（ｆ）又は（ｇ）ステップを実行し、該（ｇ）ステップが実行されたときに、該（ｈ）又は（ｉ）ステップを実行する、ステップと、
を包含し、
該第1の充填ピクセルの位置と、該所定のセグメントサイズより大きいデータサイズに相当する移動量を有する該ピクセルの位置または該オブジェクトのベースに関連付けられた位置を有する該ピクセルの位置との間で決定された幅値と長さ値とを利用して、該メモリセグメント構成は定義される、記憶媒体。
【請求項８】
前記対応するメモリの第1のメモリセグメントに前記情報を格納するステップの後、前記処理方法は、
該第1のメモリセグメントに前記オブジェクトが完全には格納されていない場合、前記第1のメモリセグメント構成を決定するステップに戻るステップをさらに包含し、
該方法は、該オブジェクトの次の一部分に関する情報を格納するための第2のメモリセグメント構成を更に決定し、
該方法は、該オブジェクトの全てが、対応するメモリセグメントに格納されるまで反復的に継続される、請求項７に記載の記憶媒体。
【請求項９】
前記処理方法は、
前記オブジェクトが全て格納された後、
1つより多くの格納されるべきオブジェクトがあるか否かを決定するステップと、
より多くの格納されるべきオブジェクトがある場合、前記第1のメモリセグメント構成を決定するステップに戻るステップと
をさらに包含する、請求項8に記載の記憶媒体。
【請求項１０】
前記書き込むステップは、
Zフェッチが要求されているか否かを決定するステップと、
Zフェッチが要求されている場合、対応するZ値をメモリからフェッチするステップと、
Z値情報を含む前記オブジェクトをメモリに書き込むステップと
をさらに包含する、請求項７に記載の記憶媒体。
【請求項１１】
前記処理方法は、
色データフェッチが要求されているか否かを決定するステップと、
色データフェッチが要求されている場合、対応する色データをメモリからフェッチするステップと、
該色データを含む前記オブジェクトをメモリに書き込むステップと
をさらに包含する、請求項１０に記載の記憶媒体。
【請求項１２】
前記処理方法は、
色データフェッチが要求されているか否かを決定するステップと、
色データフェッチが要求されている場合、対応する色データをフェッチするステップと、
該色データを含む前記オブジェクトをメモリに書き込むステップと
をさらに包含する、請求項８に記載の記憶媒体。
【請求項１３】
コンピュータを利用したグラフィックスステーションであって、
メインバスとディスプレイ装置とを含むコンピュータシステムと、
グラフィックスサブシステムと
を備え、
該グラフィックスサブシステムは、該メインバスと該ディスプレイ装置とに接続されているグラフィックス処理装置を含み、該グラフィックスサブシステムは、該グラフィックス処理装置に結合されているグラフィックスメモリをさらに含み、
該グラフィックスサブシステムは、
該オブジェクトの少なくとも一部分に関する情報を格納するための第1のメモリセグメント構成を決定し、該第1のメモリセグメント構成は、該オブジェクトの形状特性に依存し、
該第1のメモリセグメント構成を、対応するメモリに書き込み、
該対応するメモリの第1のメモリセグメントに該情報を格納し、
該決定することは、
（ａ）  該形状特性を利用して、該オブジェクトの第1の充填ピクセルを識別することと、
（ｂ）  該第1の充填ピクセルの位置を格納することと、
（ｃ）  該オブジェクトを該第１の充填ピクセルの位置から所定の方向に走査して該オブジェクトの第2の充填ピクセルを識別することと、
（ｄ）  該走査における該第１の充填ピクセルから該第２の充填ピクセルへの移動量に相当するデータサイズを求めることと、
（ｅ）  該移動量に相当するデータサイズが、所定のセグメントサイズより大きいか否かを決定することと、
（ｆ）  該移動量に相当するデータサイズが該所定のセグメントサイズより大きい場合、該メモリセグメント構成を定義することと、
（ｇ）  該移動量に相当するデータサイズが該所定のセグメントサイズより大きくない場合、該第2の充填ピクセルの位置が、該オブジェクトのベースに関連付けられているか否かを決定することと、
（ｈ）  該第2の充填ピクセルの位置が該オブジェクトのベースに関連付けられている場合、該メモリセグメント構成を定義することと、
（ｉ）  該第2の充填ピクセルの位置が該オブジェクトのベースに関連付けられていない場合、該オブジェクトの次の充填ピクセルを識別することと、
（ｊ）該（ｉ）が実行されたときに、該識別された次の充填ピクセルを該第２の充填ピクセルとして該（ｄ）及び（ｅ）を実行し、該（ｅ）の比較の結果に応じて該（ｆ）又は（ｇ）を実行し、該（ｇ）が実行されたときに、該（ｈ）又は（ｉ）を実行することと、
を包含し、
該第1の充填ピクセルの位置と、該所定のセグメントサイズより大きいデータサイズに相当する移動量を有する該ピクセルの位置または該オブジェクトのベースに関連付けられた位置を有する該ピクセルの位置との間で決定された幅値と長さ値とを利用して、該メモリセグメント構成は定義される、グラフィックスステーション。
【請求項１４】
前記対応するメモリの第1のメモリセグメントに前記情報を格納した後、前記グラフィックスサブシステムは、さらに、
該第1のメモリセグメントに前記オブジェクトが完全には格納されていない場合、前記第1のメモリセグメント構成を決定することに戻り、
該オブジェクトの次の一部分に関する情報を格納するための第2のメモリセグメント構成を決定し、
該オブジェクトの全てが、対応するメモリセグメントに格納されるまで反復的に、第1のメモリセグメント構成を決定し、該第1のメモリセグメント構成を書き込み、該対応するメモリの第1のメモリセグメントに該情報を格納し、第2のメモリセグメント構成に戻り、該第2のメモリセグメント構成を決定する、請求項１３に記載のグラフィックスステーション。
【請求項１５】
前記グラフィックスサブシステムは、さらに、
前記オブジェクトが全て格納された後、
1つより多くの格納されるべきオブジェクトがあるか否かを決定し、
より多くの格納されるべきオブジェクトがある場合、前記第1のメモリセグメント構成を決定することに戻る、請求項１４に記載のグラフィックスステーション。
【請求項１６】
前記第1のメモリセグメント構成を対応するメモリに書き込むことは、
Zフェッチが要求されているか否かを決定することと、
Zフェッチが要求されている場合、対応するZ値をメモリからフェッチすることと、
Z値情報を含む前記オブジェクトをメモリに書き込むことと
を包含する、請求項１３に記載のグラフィックスステーション。
【請求項１７】
前記グラフィックスサブシステムは、さらに、
色データフェッチが要求されているか否かを決定し、
色データフェッチが要求されている場合、対応する色データをメモリからフェッチし、
該色データを含む前記オブジェクトをメモリに書き込む、請求項１６に記載のグラフィックスステーション。
【請求項１８】
前記グラフィックスサブシステムは、さらに、
色データフェッチが要求されているか否かを決定し、
色データフェッチが要求されている場合、対応する色データをフェッチし、
該色データを含む前記オブジェクトをメモリに書き込む、請求項１４に記載のグラフィックスステーション。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、広義には、コンピュータグラフィックスに関し、より具体的には、グラフィックオブジェクトのメモリマッピングが最適化された、多次元グラフィックスシステムのための信号処理方法に関する。
【０００２】
【従来の技術】
ますます高速の情報処理および読み出し装置が利用可能になるにつれ、コンピュータグラフィックスの利用および適用は、あらゆる種類のシステム環境に対してどんどん増加している。これらの装置の動作速度は、いまなお高優先の設計課題である。このことは、グラフィックスシステム（なかでも３Ｄグラフィックスシステム）において特に当てはまる。このようなグラフィックスシステムは、膨大な量のデータのための多大な処理を必要とし、新製品や新規システムの開発、あるいは新用途に用いられるグラフィックスシステムの設計において、データフロースピードが決定的に重要となる。
【０００３】
コンピュータグラフィックスの分野において、ポリゴンをピクセルグリッド上に描く方法は、数多く存在する。ＧＵＩ(Graphical User Interfaces)、ＣＡＤ（Computer Aided Design)、および３Ｄコンピュータアニメーション等の多くの用途において、描画プリミティブとしてポリゴンが用いられている。ほとんどのポリゴン描画技術においては、ポリゴンを、ポリゴンの稜線(edges)とピクセルグリッドとに位置合わせする一連の走査ラインに分解する。これらの方法をハードウェアで実現する場合、ピクセルグリッドは一般にシーケンシャルにアクセスされる。つまり、ＸＹピクセルにアクセスする度に、そのＸＹアドレスに基づいてピクセルグリッドが更新される。１回のピクセル更新を行うためのセットアップ時間が長いピクセルグリッドの場合、この方法は、システム全体の時間的なボトルネックになり得る。
【０００４】
あらゆるデータおよび情報処理システム（特に、コンピュータグラフィックスシステム）において多くの時間が費やされるのは、メモリ上のある位置（格納位置）のデータブロックにアクセスしてその情報を処理し、処理した情報を、その後、アクセス、処理および／または表示するために別の格納位置に送信する作業である。新しいプロセッサの速度が高まり続けるにつれ、メモリ内のデータにアクセスしてメモリからデータを取出すのにかかるアクセス時間が、システム速度の観点からますます重大なボトルネックになってきている。
【０００５】
近年のソフトウェアアプリケーションに要求される多量のグラフィックデータを処理するためには、グラフィックスシステムは、より洗練された機能をより短い時間内で行えなければならない。フルカラー、シェーディング、テクスチャマッピング、および透過ブレンド(transparency blending) を用いて３次元オブジェクトを描くソフトウェアの方法およびハードウェアの実現については、いまなお改善の必要性がある。ラスタディスプレイシステムの開発によって、グラフィックシステムの総コストは劇的に低減され、その性能も劇的に向上した。ラスタディスプレイシステムにおいては、それぞれピクセル列からなる水平および垂直走査ラインの組が、ピクセルアレイ（ピクセルグリッド）を形成してスクリーン領域全体を表す。スクリーンは、比較的高速にピクセルグリッド全体を走査してフリッカを可能な限り減少させることができる陰極線管(CRT)あるいは液晶ディスプレイ(LCD)等であることが好ましい。
【０００６】
ピクセルデータは、好ましくは、ダイナミックランダムアクセスメモリ(DRAM)を含むフレームバッファに格納される。各ピクセルは、所望の解像度、色、明るさ、および他の変数によって異なる１ビット以上のビットによって表される。典型的なディスプレイシステムの場合、使用されるソフトウェアドライバおよびハードウェアに応じて、複数の色を用いて、（これらに限定されるものではないが）640×480、800×600、1024×768、1280×1024、あるいは他の組み合わせ等の様々なスクリーン解像度で、スクリーンへの描画を行うことができる。ビデオコントローラは、フレームバッファ内のピクセルデータを走査して、これを、スクリーンシステムがスクリーン上に情報を表示するために必要な制御信号へと変換する。ビデオコントローラは、各ピクセルを、上から下、左から右にシーケンシャルに走査し、ピクセルデータをスクリーン上の対応ピクセルの強度を表す値に変換する。CRTを用いたカラーグラフィックスシステムの場合、３本の別々のビーム（即ち、各原色毎に１本）が制御される。各色に対応するピクセル値によって、各ビームの強度が決まる。LCD装置にも、これと同様のシステムが用いられる。各ピクセル値は、例えば、24ビット（即ち、赤、緑および青の各原色毎に１バイト（８ビット））で構成され得る。このバイト値によって、各表示色の強度が決まる。
【０００７】
メモリ内のピクセルグリッドは、線形アクセスメモリ内の２次元空間を表す。線形アクセスメモリは、各メモリ位置（即ち、１次元空間）毎に、増加するアドレスを有する。「Ｙ」パラメータにピッチ値を設けることによって（即ち、「Ｙ」の１増分に対して複数のピクセルグリッド位置が「Ｘ」に存在する）、１次元アドレッシングで２次元空間を表すことが可能になる。これにより、２次元的なＸＹピクセルグリッドへのアクセスから、線形アドレスを算出できる。ピクセルグリッドに描画を行うほとんど全ての方法においては、上記の方法を用いてピクセルグリッドへのアクセスが行われる。メモリ内の最新の２次元ピクセルグリッドに基づいてポリゴンが描かれている時に、ＸＹマッピングが固定される。この時点以降は、そうでないことが示されない限り、ピクセルグリッドは、線形アクセスメモリ内のピクセルグリッドの固定２次元表記であると仮定される。
【０００８】
ポリゴンは、描かれるポリゴンの交差部分に対応する、ピクセルグリッド上の点の組として表現される。ほとんどのラインまたはポリゴンは、最終的にピクセルグリッドによって近似可能な連続関数で定義される。コンピュータグラフィックスにおけるポリゴンは、一般に、ポリゴンの定義を頂点という境界条件に分解することによって描画される。頂点は、ポリゴンの端点(end points)をピクセルグリッドへと近似したものである。これらの頂点は、つぎに、Ｘ方向への各Ｙ走査の組へと分解される。各Ｙ走査は、ポリゴン内に含まれるＸ方向上の各ピクセルに対してなされる。
【０００９】
コンピュータグラフィックスアプリケーションに限って言えば、画像を表すデータは、ピクセル式(pixel-oriented)フレームバッファに格納される。ビデオバッファの基準フレームは、ピクセル値と、表示画像を規定するピクセル特性に関する情報とを格納する、格納位置マトリクスに対するゼロ点(zero point)である。このゼロ点格納位置は、格納されたピクセルを含む画像を表示するディスプレイスクリーン上のゼロ点ピクセル位置に対応する。バッファ内のデータストリングあるいはデータ列は、ディスプレイスクリーン上のピクセル列に対応する。ディスプレイスクリーン上で画像がリフレッシュされる際、ビデオメモリに格納されたデータラインをそれぞれメモリからシーケンシャルに読出し、これをディスプレイ装置に転送して、対応するピクセルのシーケンシャルなラインをディスプレイ上に埋めていく。このようなアクセスおよび転送の度に、これに付随して遅延時間が生じる。この遅延時間は、これまで比較的調節が困難であった。なぜなら、格納プロセスが走査プロセスに対して固有の依存性を有する（即ち、走査ライン内の画像定義データ第１ビットの格納位置に関わらず、各ラインは、各ディスプレイ走査ライン内の最も左側のピクセルから格納されていく）からである。この関係のために、１回のスクリーン表示に必要な固定回数のスクリーン走査は、必然的に、それに相当する固定回数のアクセスおよびそれに付随する遅延を伴っていた。
【００１０】
現在用いられている方法によれば、各走査ラインのピクセルグリッド上への描画は、ピクセルグリッドへの一連のＸＹアクセスとして行われる。ピクセルが１つ形成される度に、そのピクセルは、シーケンシャルにピクセルグリッドに書き出される。ポリゴンをピクセルグリッドに描画する上記方法を用いれば、ピクセルグリッドへのアクセス回数は、ピクセルグリッド上へのポリゴンの表示図形に含まれるピクセル数と同じである。ピクセルグリッドへのシーケンシャルアクセスを行うためのアクセス時間が比較的長いメモリサブシステムの場合、ピクセルあたりのアクセス時間によって、ある時間間隔内に描画されるポリゴンの数が制約され得る。多くのメモリサブシステムにおいては、アクセス時間は長いが、最初のアクセスが行われた後にバースト的に後続アクセスを行えることによってこれを補償している。
【００１１】
【発明が解決しようとする課題】
従って、一回のアクセスで描画されるピクセル数を増やすことによって、必要なアクセス動作の総数およびその所要時間を低減してシステムを高速化する、新しい方法が必要とされている。また、処理データ数および情報転送効率を最大化できる（すなわち、１回の走査でアクセスされる有用なデータの割合を最大化できる）改良された方法および装置が必要とされている。
【００１２】
本発明の目的は、メモリへのアクセス動作の総数およびその所要時間を低減してシステムを高速化し、また、処理データ数および情報転送効率を最大化する、新しい方法および装置を提供することである。
【００１３】
【課題を解決するための手段】
本発明の方法は、ディスプレイ装置上に表示可能なオブジェクトを表す情報を処理する方法であって、オブジェクトの少なくとも一部分に関する情報を格納するための第１のメモリセグメント構成を決定するステップであって、第１のメモリセグメント構成はオブジェクトの形状特性に依存する、ステップと、第１のメモリセグメント構成を、対応するメモリに書き込むステップと、対応するメモリの該第１のメモリセグメントに情報を格納するステップと、を包含する方法であり、そのことにより上記目的が達成される。
【００１４】
ある実施形態では、第１のメモリセグメントにオブジェクトがまだ完全には格納されていない場合に、上記決定するステップに戻るステップを上記格納するステップの後にさらに包含し、さらに、オブジェクトの次の一部分に関する情報を格納するための第２のメモリセグメント構成を決定し、オブジェクトの全てが、対応するメモリセグメントに格納されるまで反復的に継続される。
【００１５】
ある実施形態では、オブジェクトが全て格納された後、格納するべきオブジェクトが２つ以上あるかどうかを判定するステップと、格納するべきオブジェクトが２つ以上ある場合には上記決定するステップに戻るステップと、をさらに行うことが可能である。
【００１６】
ある実施形態では、上記書き込むステップは、Ｚフェッチが要求されているかどうかを判定するステップと、Ｚフェッチが要求されている場合に、対応するＺ値をメモリからフェッチするステップと、Ｚ値情報を含むオブジェクトをメモリに書き込むステップと、をさらに包含する。
【００１７】
ある実施形態では、色データフェッチが要求されているかどうかを判定するステップと、色データフェッチが要求されている場合に、対応する色データをメモリからフェッチするステップと、色データを含むオブジェクトをメモリに書き込むステップと、をさらに包含する。
【００１８】
ある実施形態では、色データフェッチが要求されているかどうかを判定するステップと、色データフェッチが要求されている場合に、対応する色データをフェッチするステップと、色データを含むオブジェクトをメモリに書き込むステップと、をさらに包含する。
【００１９】
本発明による記憶媒体は、機械可読符号を有する記憶媒体であって、記憶媒体は読取り装置に選択的に接続され、読取り装置は処理回路部に接続され、読取り装置は、機械可読符号を読取って符号を表すプログラム信号を選択的に提供することができ、プログラム信号は、オブジェクトの少なくとも一部分に関する情報を格納するための第１のメモリセグメント構成を決定するステップであって、第１のメモリセグメント構成はオブジェクトの形状特性に依存する、ステップと、第１のメモリセグメント構成を、対応するメモリに書き込むステップと、対応するメモリの第１のメモリセグメントに情報を格納するステップと、を包含する処理方法を実行することによって、処理回路部が、ディスプレイ装置上に描画可能なオブジェクトを表す情報を格納することを可能にし、そのことにより上記目的が達成される。
【００２０】
ある実施形態では、上記処理方法は、第１のメモリセグメントにオブジェクトがまだ完全には格納されていない場合に上記決定するステップに戻るステップを、上記格納するステップの後にさらに包含し、さらに、オブジェクトの次の一部分に関する情報を格納するための第２のメモリセグメント構成を決定し、オブジェクトの全てが、対応するメモリセグメントに格納されるまで反復的に継続される。
【００２１】
ある実施形態では、上記処理方法は、オブジェクトが全て格納された後、格納するべきオブジェクトが２つ以上あるかどうかを判定するステップと、格納するべきオブジェクトが２つ以上ある場合には上記決定ステップに戻るステップと、をさらに行うことが可能である。
【００２２】
ある実施形態では、上記書き込むステップは、Ｚフェッチが要求されているかどうかを判定するステップと、Ｚフェッチが要求されている場合に、対応するＺ値をメモリからフェッチするステップと、Ｚ値情報を含むオブジェクトをメモリに書き込むステップと、をさらに包含する。
【００２３】
ある実施形態では、上記処理方法は、色データフェッチが要求されているかどうかを判定するステップと、色データフェッチが要求されている場合に、対応する色データをメモリからフェッチするステップと、色データを含むオブジェクトをメモリに書き込むステップと、をさらに包含する。
【００２４】
ある実施形態では、上記処理方法は、色データフェッチが要求されているかどうかを判定するステップと、色データフェッチが要求されている場合に、対応する色データをフェッチするステップと、色データを含むオブジェクトをメモリに書き込むステップと、をさらに包含する。
【００２５】
本発明によるグラフィックスステーションは、メインバスと、ディスプレイ装置と、グラフィックスサブシステムとを備えたコンピュータシステムを含む、コンピュータを利用したグラフィックスステーションであって、グラフィックスサブシステムは、メインバスとディスプレイ装置とに接続されるグラフィックス処理装置を備え、グラフィックスサブシステムは、グラフィックス処理装置に接続されるグラフィックスメモリをさらに含み、グラフィックスサブシステムは、オブジェクトの少なくとも一部分に関する情報を格納するための第１のメモリセグメント構成を決定するステップであって、第１のメモリセグメント構成はオブジェクトの形状特性に依存する、ステップと、第１のメモリセグメント構成を、対応するメモリに書き込むステップと、対応するメモリの第１のメモリセグメントに情報を格納するステップと、を包含する処理方法を実行することによって、ディスプレイ装置上に描画するべきオブジェクトを表す情報を格納および処理することが選択的に可能である、グラフィックスステーションであり、そのことにより上記目的が達成される。
【００２６】
ある実施形態では、上記処理方法は、第１のメモリセグメントにオブジェクトがまだ完全には格納されていない場合に上記決定するステップに戻るステップを、上記格納するステップの後にさらに包含し、さらに、オブジェクトの次の一部分に関する情報を格納するための第２のメモリセグメント構成を決定し、オブジェクトの全てが、対応するメモリセグメントに格納されるまで反復的に継続される。
【００２７】
ある実施形態では、上記処理方法は、オブジェクトが全て格納された後、格納するべきオブジェクトが２つ以上あるかどうかを判定するステップと、格納するべきオブジェクトが２つ以上ある場合には上記決定ステップに戻るステップと、をさらに行うことが可能である。
【００２８】
ある実施形態では、上記書き込むステップは、Ｚフェッチが要求されているかどうかを判定するステップと、Ｚフェッチが要求されている場合に、対応するＺ値をメモリからフェッチするステップと、Ｚ値情報を含むオブジェクトをメモリに書き込むステップと、をさらに包含する。
【００２９】
ある実施形態では、上記処理方法は、色データフェッチが要求されているかどうかを判定するステップと、色データフェッチが要求されている場合に、対応する色データをメモリからフェッチするステップと、色データを含むオブジェクトをメモリに書き込むステップと、をさらに包含する。
【００３０】
ある実施形態では、上記処理方法は、色データフェッチが要求されているかどうかを判定するステップと、色データフェッチが要求されている場合に、対応する色データをフェッチするステップと、色データを含むオブジェクトをメモリに書き込むステップと、をさらに包含する。
【００３１】
以下に作用を説明する。高速メモリを複数のメモリセグメントに最適に分割する方法およびシステムが提供される。各セグメントは、ディスプレイ装置上に描画可能なグラフィックスオブジェクトの形状に関連付けられる。この方法は反復的に行われ、さらなる処理のためにオブジェクト全体がセグメント化されるまで、オブジェクト参照最小メモリセグメントの決定を継続的に行う。その後、複数のオブジェクトが存在する場合、フレーム内の全てのオブジェクトに対して処理が継続される。処理が反復される度に、セグメント化オブジェクトに応じた奥行きデータ(depth data)および色データのメモリへの書き込みおよび格納が行われる。
【００３２】
【発明の実施の形態】
添付の図面を参照しながら、好適な実施形態についての以下の詳細な説明を考慮することにより、本発明がより良く理解される。
【００３３】
本願に開示される実施形態によれば、高速シーケンシャルアクセスのメモリを用いて、ポリゴンのある部分が描画される。どのピクセルを高速シーケンシャルアクセスメモリからピクセルグリッドに書き込むかを決定するために、ピクセル書き込みマスクを用いる。これにより、ピクセルグリッドメモリを２次元的にバースト的にアクセスすることが可能になる。開示される方法を用いて、処理中のポリゴンのどの部分を高速シーケンシャルアクセスメモリ（またはスクラッチパッドメモリ）に書き込んで適合させるべきかを決定する。そうして、スクラッチパッドメモリは、書き込むべきピクセルで満たされる。ポリゴンの描画中、スクラッチパッドメモリは、ピクセルグリッドのように固定的なＸＹマッピングを有さず、描画するべきポリゴンの部分的なブロックに基づいて変化する。これにより、そのポリゴンについて、幅および高さが異なるブロックを書き込むことが可能になる。このポリゴン描画方法は走査ライン法であるが、スクラッチパッドメモリに適合可能なブロックサイズに応じてＹ方向寸法が１つ以上の増分に分割される。各ピクセルはピクセルグリッドに書き込まれるかのようにスクラッチパッドメモリに書き込まれ、スクラッチパッドに書き込まれるピクセルを、ピクセル書き込みマスクを用いて記録する。あるブロックがＹ方向について埋め尽くされる（即ち、限界に達する）と、そのブロックはピクセルグリッドに転送される。ピクセル書き込みマスクを用いて、どのピクセルを書き込むかを決定する。これにより、そのピクセルグリッドを有するメモリサブシステムはバーストモードに維持され、メモリバンド幅が最適化される。
【００３４】
本願で開示される実施例の場合、スクラッチパッドメモリとして、128バイトのSRAMがチップ上に設けられ得る。ピクセルグリッドはＸＹマップであり、フレームバッファ内に配置され得る。スクラッチパッドメモリには、４つの「２」のべき乗のピッチ、すなわち、Ｘ×Ｙ＝「１×128」、「２×64」、「４×32」および「８×16」がある。ピクセルグリッドマッピングは、メモリ制御装置のメモリマッピングモードに依存する。１ビットのピクセル書き込みマスクを用いて、書き込むべきピクセルを決定する。スクラッチパッドメモリは、ピクセルフォーマット毎のバイト数に基づいて再構成することができる。
【００３５】
図１を参照して説明する。典型的なコンピュータシステムあるいはワークステーション101において、上記の様々な方法を用いることができる。本発明に使用可能なワークステーションの典型的なハードウェア構成は、図に示すような、従来型マイクロプロセッサ等の中央処理装置(CPU)103、および、システムバス105を介して相互接続される多くのその他の装置を含む。バス105は、他のワークステーションあるいはネットワーク等にさらに接続する拡張部分121を含み得る。図１に示すワークステーションは、システムランダムアクセスメモリ(RAM)109およびシステムリードオンリーメモリ(ROM)107を含む。システムバス105は、典型的には、ユーザインターフェースアダプタ115を介してキーボード装置111およびマウス（あるいは他のポインティングデバイス）113にも接続される。ユーザインターフェースアダプタ115を介して、タッチスクリーン装置（図示せず）等の他のユーザインターフェース装置もシステムバス105に接続され得る。また、図示されるように、グラフィックス装置117は、システムバス105と、モニタすなわちディスプレイ装置119との間に接続される。本発明が実施されるワークステーションあるいはコンピュータシステム101は、その多くの部分が当該分野において公知であり、これを構成する電子部品および回路もまた、当業者には公知である。したがって、本発明に通底する概念の理解および正確な把握のため、あるいは、本発明の教示内容のあいまいな理解および逸脱を防ぐために、図１に示さない回路の詳細について、上述のような、必要と思われる範囲以上に説明をつけることはしない。
【００３６】
図２において、システムバス105は、グラフィックス装置あるいはサブシステム117に接続されている。グラフィックス装置117は、例えば、グラフィックスプロセッサ201を含み得る。グラフィックスプロセッサ201は、ローカルフレームバッファ装置203からの情報あるいはデータの処理、送信および受信を行うように構成されている。フレームバッファ装置203はフレーム表示情報を有する。このフレーム表示情報は、ディスプレイ装置119に接続されるグラフィックスプロセッサ201によってアクセスされる。ディスプレイ装置119は、フレームバッファ203に格納された情報をグラフィックスプロセッサ201によって処理したグラフィックス表示を提供し得る。本実施例で示されるグラフィックスプロセッサ201はシステムCPU 103とは別に設けられている。しかし、本発明は、グラフィックスプロセッサを別途設ける場合に限定されるものではなく、本明細書中に教示される方法を、単一システムCPUあるいは他のより大きなシステムチップ（集積回路）において、またはその一部として実施するシステムをも含むものである。
【００３７】
図３に示されるように、本願に開示される方法は、ステップ301のポリゴン描画コマンドによって開始される。ポリゴン描画コマンドは、描画するポリゴンのさまざまなスロープや頂点や点などの、描画するポリゴンに関するある特定の情報を参照する。次に、プロセスはステップ303に進み、ＸＹ高速メモリセグメントサイズが決定される。このプロセスについては、後に、図４〜図８を参照しながらより詳細に説明する。ここでは、以下のようにだけ触れておく。セグメントサイズを決定するステップによって高速メモリの利用効率が最適化され、これにより、高速シーケンシャルアクセスを用いてポリゴンのある部分を描画し、ピクセル書き込みマスクを用いてどのピクセルを高速シーケンシャルアクセスメモリからピクセルグリッドあるいはフレームバッファに書き込んで、ディスプレイ装置のスクリーン上に表示するかを決定する。
【００３８】
ステップ303のセグメントサイズの決定に引き続いて、ステップ305において、たとえばSRAM等の高速シーケンシャルメモリにセグメントを書き込む。本実施例においては、SRAMは、グラフィックスチップ内に組み込まれているが、システムあるいは他のチップ外のSRAMを用いてもよいことが理解される。本願の開示において、用語「SRAM」、「高速メモリ」および「高速シーケンシャルアクセスメモリ」は、いずれも、本実施例のグラフィックスサブシステムプロセッサ201に含まれる、いわゆる「スクラッチパッドメモリ」の意味で用いられており、これらは置き換えても同意である。ステップ305においてセグメントをスクラッチパッドメモリに書き込んだ後、ステップ307において、図10を参照して以下に詳述するようにセグメントを格納する。セグメント格納ステップ307に続き、ステップ309において、ポリゴン描画コマンドに対するポリゴンの描画が完了したかどうかを判定する。最後のセグメントを格納した後、セグメント化されていない部分がポリゴンにまだ残っている場合、プロセスは、セグメント化サイズ決定ステップの先頭303に戻り、次に描くポリゴンのセグメント片を決定する。この反復的なプロセスは、描画するべきポリゴン全体がセグメント化されて、ステップ309においてポリゴン完了判定が真の結果を返すまで継続される。この時、ディスプレイ装置119上に表示される特定の画像フレームに描画するべきポリゴンがもう他にないかどうかの判定が行われる。描画するべきポリゴンがまだ他にも存在する場合、プロセスは初めのステップに戻り、ポリゴン描画ステップ301において、次のポリゴンの描画を行う。特定のフレーム画像の全てのポリゴンがステップ305において描画され、また、ステップ307において格納され、かつ、ステップ311において、もうそれ以上描画するべきポリゴンがないと判定された場合、ステップ313において、部分的オブジェクトメモリマッピングプロセスは終了する。
【００３９】
図４に、セグメントサイズ決定（あるいは、オブジェクトセグメント化）ステップ303をより詳細に示す。図４のセグメント化プロセスをより完全に理解するために、図５〜図８も参照しながら説明を行う。図５は、スクリーン走査プロセスを示す。本実施例の場合、スクリーン走査プロセスにおいて、１本あるいは複数の電子ビームを用いて、CRTスクリーン503の一端501から他端502に向かって、走査ライン504に沿って走査を行う。図５には、表示中のポリゴン500（本実施例では、三角形）が示されている。便宜上、交点ピクセル507および509は、ラスタ走査ストローク505とポリゴンあるいは三角形500との交点として、拡大して図示されている。三角形500は、メイン基点(main base point)516、「最高(top)」点514および頂点512を有する。三角形500の「第１の対向スロープ」すなわち辺508上にある点507と、三角形500の「メインスロープ」510上にある点509とにおいて、ラスタ走査505が三角形500と交差している。三角形500の他方のスロープを「第２の対向スロープ」511と呼ぶ。一般にグラフィックスの用語では、例えば三角形のプリミティブエレメントを参照する場合、「メインスロープ」は、オブジェクト（例えば、三角形500）の垂直寸法全体にわたって延び、最長の垂直成分を有する辺として定義される。メインスロープの底(bottom)あるいは基部にある点516は、「基点（base point）」と呼ばれる。「対向」スロープは、「メインスロープ」に対向する辺であり、本明細書中では、ディスプレイの上から下に向かって、順に、「第１の対向スロープ」508および「第２の対向スロープ」511と呼ぶ。一般に、フレームバッファメモリは、任意の瞬間に表示されている各画像フレームのピクセル情報を全て含んでいる。この情報は、例えば、書き込まれた(filled-in)あるいはソリッドなドットピクセルの全て、および、ブランクピクセル(blank pixel)の全てを含んでいる。フレーム表示情報を処理する場合、特に、そのような処理が多いグラフィックスシステムにおいては、図５に示されるフレーム情報格納方法は、処理を行うには非効率かつかさ高くなると考えられる。本明細書中に記載されるセグメント化プロセスは、オブジェクト情報格納プロセスを有効に高効率化し、このような情報のアクセスおよび処理を大幅に高速化するものと考えられる。
【００４０】
図６に、128ビットSRAMのための数個の異なるレイアウトあるいは参照オリエンテーション(reference orientation)を示す。以下の記載において、ピクセル被覆パターンは、メモリ位置および対応メモリ構成に相当する様々な形状に構成される。また、説明の便宜上、最小メモリ単位の意味で用語「ビット」を、および、最小画素単位の意味で用語「ピクセル」を用いる。第１のオリエンテーション601において、メモリは、高さ１ビット（すなわちメモリ単位）×長さ128ビットで構成されており、高さ１ピクセル×長さ128ピクセルのピクセル領域に相当する。別のオリエンテーション603は、高さ２ビット×長さ64ビットで構成されている。その他のオリエンテーション605、607および609は、それぞれ、高さ４ビット×長さ32ビット、高さ32ビット×長さ４ビット、高さ128ビット×長さ１ビットの構成を示す。128ビットメモリのレイアウトあるいはオリエンテーションに応じて、表示されるオブジェクトの様々な領域を「被覆」できることが理解される。図７に示されるように、ポリゴン701が表示スクリーン703上にある。表示スクリーン703は、スクリーン上のピクセルを構成する情報ビットを有する。通常、ディスプレイシステムのフレームバッファは、上記のように、表示スクリーン上の相対ピクセル位置と、対応するピクセルの内容または実体を含む（あるいは構成する）ビットのメモリ内の位置とが対応するように構成される。図７に示されるように、ポリゴン701に関する情報を有するメモリセグメントは、ポリゴン自体の様々な点を基準となし得、これにより、関連するポリゴンの情報は、よりコンパクトなメモリ領域（あるいはメモリサイズ）内に格納され、より効率的な情報格納システムを提供することができる。第１のメモリセグメント705の構成における長さを、その高さと同程度にすることも可能である。なぜなら、この位置では、ポリゴンはそれ程高くないからである。第１のメモリセグメント705として示された構成を有するメモリセグメントが、格納されたポリゴン情報ビットで埋め尽くされると、判定が行われて、そのポリゴンについての情報がまだ全ては格納されておらず、それ以外のビットを格納するために別のメモリセグメントを構成する必要があると判定される。ポリゴン701の次のセグメントは、第１のセグメントよりも高さが高いので、このポリゴンの全情報を可能な限りコンパクトなスペースに最適に格納するために、第２のメモリセグメント707は、高さ寸法をより長く、長さ寸法をより短くして構成される。その次のメモリセグメント709も同様に、ディスプレイ703上に描画されるポリゴンのデータ格納効率が最大になるように最適に構成される。この技術により、ポリゴンの描画を、高速アクセスSRAMメモリ等から、最小限のアクセス回数で行うことが可能になる。
【００４１】
オブジェクト参照格納方法を用いてフレームバッファ内の情報がよりコンパクトに格納され得る、再構成あるいはSRAM「整形」プロセスを、図８により詳細に示す。図８において、縦座標「Ｙ」は、図示されるように下方向に向かって増加する。図示されているポリゴンの形状は三角形であり、三角形の頂点にあるTOP点801と、メインスロープ802の下端にあるBOTTOM点803と、第１および第２の対向スロープ806および808を連結するMID点（あるいは頂点）805とを有する。
【００４２】
図４および図８をさらに詳細に参照する。ポリゴン描画コマンド301が出されて高速メモリあるいはSRAMのセグメントサイズ決定方法303が開始されると、ステップ401において、描画するべきポリゴンの初めの「１」ビットが検索される。図８を参照して、本実施例における初めの「１」ビットは、ポリゴン800のTOP点801である。ポリゴン描画コマンドは、描画するべきオブジェクトあるいはポリゴンのスロープおよび頂点（あるいは点）に関する情報を含んでいることに留意されたい。従って、TOP点801の位置は、ポリゴン描画コマンド生成時の処理によって分かる。次に、ステップ403において、初めの「１」ビットの位置を、後から参照できるように、セグメント始点としてマークあるいは格納しておく。この点は、高速SRAMメモリユニットの、オブジェクトに基づく構成における開始点に相当する。この基準点を用いて、ポリゴンの次のセグメントを最も効率的に格納し得るSRAM構成を決定する。次に、例えば、本実施例において128ビットメモリユニットをベースとして用いる場合、図８に示されるように、開始点801からの相対的な移動によって、このプロセス内で128ビットを使いきるまで、ポリゴン800上に点を描く。「Ｙ」方向の１増分移動は、１「カウント」と呼ばれ、ある水平ラインから次の水平ラインへの移動には所定数のビットが必要であることに留意されたい。垂直方向の移動に加えて、第１の垂線の足807からメインスロープ802の点809までの移動および第１の垂線の足807から第１の対向スロープ806の点811までの移動に必要な数のビットが加わる。より具体的には、「次の“１”ビット（即ち、ポリゴン800内の書き込まれたピクセル）までポリゴンを移動する」ステップ405が開始される。本実施例の場合、１カウントずつの増分で「Ｙ」方向を「調べ」て、左右それぞれの方向の次の「１」ビットを探す。各「１」ビットが位置決めされる度に、直前のセグメントの「開始」点801に対する基準点としてそのビットをマークする。
【００４３】
次に、ステップ407において、開始「１」ビット801から新たに位置決めされた次の「１」ビット点への移動量に相当するデータサイズが、セグメントサイズ（本実施例の場合、128ビット）よりも大きいかどうかを判定する。上記のデータサイズが128ビットより大きい場合、セグメントサイズを、開始「１」ビットからの128ビットと決め、その後、ステップ411において、セグメント形状を決める。ステップ407において開始ビットからの移動量(traversal)に相当するデータサイズがセグメントサイズ以下であると判定され、且つ、ステップ409において、新たに位置決めされた点がポリゴンの底であると判定された場合も同様に、ステップ411において、セグメントの形状を決定する。「セグメントサイズ」判定407および「底」判定409がいずれも偽の結果を返した場合、プロセスは「次の“１”ビットまでポリゴンを移動」するステップ405に戻り、描画するべきポリゴンの次の「１」ビットを検索する。その「１」ビット点がそのポリゴンのBOTTOM点である場合、プロセスはセグメント形状決定ステップ411に進んだ後、図３を参照しながら先に説明したセグメント書き込みステップ305に戻る。
【００４４】
「ポリゴンの次の“１”ビットまで移動」するステップ405においては、ある交差「１」ビット点811あるいは809から次の「１」ビット点819あるいは815まで、それぞれシーケンシャルな検索パターンでポリゴン800の次の「１」ビットを検索する。この時、ステップ407において、最後の開始点からの累積ビット数が128ビットのSRAMセグメントサイズ未満であるかどうかの確認が各点毎に行われる。その時点でのメモリセグメントサイズが、128ビットのベースセグメントサイズを上回る各点において、セグメント構成の形状が決定され得る。セグメントの幅は、カウント数（即ち、開始点から、128ビットのSRAMメモリユニット（またはベース容量）の合計を越えた点までの間に引かれた垂線の数）によって決まる。この期間における累積水平増分移動量を加算すれば、構成の長さを決定することも可能である。このようにして、ポリゴンは、そのポリゴンの初めの「１」ビットに依存しかつこれを参照するパターンに格納され、SRAMセグメントサイズは、最大ポリゴン「被覆」あるいはビット格納効率によって変わる様々な形状あるいは比率に整形され、構成される。この反復的なSRAM構成プロセスは、ポリゴン800のBOTTOM点803に到達するまで続けられ、BOTTOM点803に到達すると、方法は、図３に示されるセグメント書き込みステップ305に戻る。その後、図３に示される方法によって、描画するべき全てのポリゴンが、高速アクセススクラッチパッドSRAM内に、新たに決定されたコンパクトな形態で完全に格納され、且つ、本発明の方法によってポリゴンオブジェクト自身を参照するまで、SRAM整形プロセスが継続される。
【００４５】
図９を参照しながら、図３のセグメント書き込みステップ305をさらに詳細に説明する。ステップ303におけるメモリセグメント形状の決定に引き続いて、ステップ901において、Ｚフェッチが要求されているかどうかの判定を行う。ステップ901において、Ｚフェッチが要求されている場合、グラフィックスコントローラのＺバッファからＺ値をフェッチして、そのＺ値を、処理中の特定の「１」ビット点に「貼り付ける」（あるいは、その点を基準にする）。同様に、ステップ903において、色フェッチ（あるいはＣフェッチ）が要求されている場合（即ち、処理中の点に何らかの色が関連付けられる場合）、ステップ907において色をフェッチし、その後、組み立てられたファイルをSRAMあるいはスクラッチパッドメモリ内に書き込む（即ち、方法はSRAMへの書き込みステップ911に進む）。
【００４６】
図11を参照しながら、SRAMへの書き込みステップ911をさらに詳細に説明する。ＺフェッチおよびＣフェッチ（ステップ901および903）の後、ステップ1101において、色ソースが必要であるかどうかの判定を行う。色ソースが（例えば、透過効果(transparency effects)あるいは色ソース比較機能のために）必要である場合、ステップ1105において、カラーSRAM内にブロックをフェッチする。次に、ステップ1103において、Ｚ奥行きソースが必要であるかどうかの判定を行う。Ｚ奥行きソースが必要である場合、ステップ1107において、ＺバッファSRAM内にブロックをフェッチする。その後、プロセスは、色をＺバッファに書き込んで比較するステップ1109へと継続する。図12に、色をＺバッファに書き込んで比較するステップ1109をより詳細に示す。
【００４７】
図12において、初めに、ステップ1201において、Ｚ比較が必要であるかどうかの判定を行う。Ｚ比較が要求されている場合、ステップ1203において、分析中の点に対するＺSRAM位置を読み出して比較を行う。この比較結果が真であった場合、ステップ1205において、新たな値をSRAMに書き込む。比較結果が偽であった場合、前のＺ値を書き込む。その後、ステップ1207において、そのブロックについての処理が完了したかどうかを判定する。そのブロックについての処理が完了していなかった場合、プロセスはステップ1201に戻る。そのブロックについての処理が完了していた場合、プロセスは、セグメント格納ステップ307へと続行する。
【００４８】
図10に示されるように、セグメント格納機能307では、処理中の「１」ビット点の色の格納（色格納ステップ1001）、およびＺ値あるいは奥行き値の格納（Ｚ格納ステップ1003）が行われる。その後、プロセスは、図３のポリゴン完了ステップ309に進み、描画を行っている特定のポリゴンについての処理が完了したかどうかを判定する。例えば、もし仮に、直前に分析あるいは処理を行った「１」ビット点が図８における点815であるとすると、描画を行っているポリゴン800は完全にはセグメント化されていない（即ち、処理が完了していない）ので、ポリゴン完了判定309が返す判定結果は偽となり、プロセスは図４のセグメント開始「１」ビット検索ステップ401に戻って、次の「１」ビットを検索する。描画を行っている特定のポリゴンの処理が、ポリゴンのBOTTOM点まで完了している場合には、ステップ311において、処理中の特定のフレームについて、まだ他にも描画するべきポリゴンがあるかどうかの判定を行う。描画するべきポリゴンがそれ以上ないと判定された場合、終了ステップ313でプロセスが終了する。まだ他にも描画するべきポリゴンがある場合（即ち、まだ他にもポリゴン描画コマンドがある場合）、プロセスはポリゴン描画ステップ301に戻り、次のポリゴンに対して上記同様のプロセスを行う。上記処理は、特定のフレームの全ポリゴンが開示される方法に従ってSRAMに再描画されるまで反復的に行われる。開示された方法を用いれば、フレームポリゴンデータの再構成（あるいは再組立）および格納がコンパクト且つ効率的に行われるため、グラフィックスおよび三次元アプリケーションに特に適した、大幅に高速化された処理が可能になる。
【００４９】
本発明の方法および装置を、本明細書中に開示した好適な実施形態に関連して説明した。本明細書中には、本発明の１つの実施形態を詳細に記載および説明したが、当業者であれば、上記実施形態の特定の変形例、および、本発明の教示内容を利用した他の変形実施形態を容易に構築できる。従って、本発明が、本明細書中に示された特別な形態に限定されるのではなく、逆に、本発明が、その概念および範囲に妥当に含まれる代替例、改変例および等価物を網羅することが意図されている。
【００５０】
【発明の効果】
本発明によれば、メモリへのアクセス動作の総数およびその所要時間を低減してシステムを高速化し、また、処理データ数および情報転送効率を最大化する、新しい方法および装置を提供することができる。
【図面の簡単な説明】
【図１】グラフィックスシステムを有するコンピュータシステムのブロック図である。
【図２】図１に示されるグラフィックス装置のブロック図である。
【図３】グラフィックス表示データを処理する方法の全体を示すフローチャートである。
【図４】最適メモリセグメント化データ格納方法における動作の流れを示すフローチャートである。
【図５】表示スクリーン上のオブジェクトの走査を示す図である。
【図６】数種の可能な、オブジェクトに基づく部分的ピクセル領域被覆パターンを示す図である。
【図７】表示オブジェクトの一例に対するピクセル被覆パターンの適用例を示す図である。
【図８】点参照オブジェクト走査方法を示す図である。
【図９】図３に示される動作の１つを示す詳細フローチャートである。
【図１０】図３に示される別の動作を示す詳細フローチャートである。
【図１１】図９に示される「SRAM書き込み」ステップを示す詳細フローチャートである。
【図１２】図11に示されるフローチャートの１ステップの詳細を示す図である。
【符号の説明】
１０３  ＣＰＵ
１０７  システムＲＯＭ
１０９  システムＲＡＭ
１１５  ユーザインターフェースアダプタ
１１７  グラフィックス装置
１１９  ディスプレイ装置
２０１  グラフィックスプロセッサ
２０３  フレームバッファ
６０１、６０３、６０５、６０７、６０９  参照オリエンテーション
７０１、８００  ポリゴン
【図１】
0004107517.tif 000002
【図２】
0004107517.tif 000003
【図３】
0004107517.tif 000004
【図４】
0004107517.tif 000005
【図５】
0004107517.tif 000006
【図６】
0004107517.tif 000007
【図７】
0004107517.tif 000008
【図８】
0004107517.tif 000009
【図９】
0004107517.tif 000010
【図１０】
0004107517.tif 000011
【図１１】
0004107517.tif 000012
【図１２】
0004107517.tif 000013