JPH06511575A - グラフィックスシステムにおけるグラフィックセグメント編成 - Google Patents

グラフィックスシステムにおけるグラフィックセグメント編成

Info

Publication number
JPH06511575A
JPH06511575A JP3516469A JP51646991A JPH06511575A JP H06511575 A JPH06511575 A JP H06511575A JP 3516469 A JP3516469 A JP 3516469A JP 51646991 A JP51646991 A JP 51646991A JP H06511575 A JPH06511575 A JP H06511575A
Authority
JP
Japan
Prior art keywords
segment
parent
child
segments
image
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.)
Granted
Application number
JP3516469A
Other languages
English (en)
Other versions
JP3347323B2 (ja
Inventor
ヘミングウェイ,ピーター
Original Assignee
ヒューレット・パッカード・カンパニー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ヒューレット・パッカード・カンパニー filed Critical ヒューレット・パッカード・カンパニー
Publication of JPH06511575A publication Critical patent/JPH06511575A/ja
Application granted granted Critical
Publication of JP3347323B2 publication Critical patent/JP3347323B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 グラフィックスシステムにおけるグラフィックセグメント編成文−酉−分−M 本発明は、使用に際して、2次元イメージとして提示された場合にはオーバラッ プする可能性のあるグラフィックセグメントの階層編成を用いるグラフィックス システムに関する。
!−見−侠一葦 表示しようとする2次元イメージの内部表現を、そのイメージ内でオーバラップ する可能性のある個別のグラフィックセグメントにより構築することは周知であ る。これらのグラフィックセグメントをソリッド体として表示する場合には、2 つのセグメントの間にオーバラップがある場合に何れのセグメントが優先するか を判定する必要がある。この深度優先順位の問題は一般に、種々のセグメントに 対して異なる優先順位を割り当て、次いで関連するセグメントに割り当てられた 優先順位に従って、オーバラップによる衝突を解決することによって処理される 。実際の解決処理は、色々な方法で行うことができるが、最も広く知られている 方法では、いわゆる「ペインターアルゴリズム」が何らかの形で実施されている 。このアルゴリズムでは、イメージ(或いは、連続したイメージラインのそれぞ れである場合が多い)は、その構成要素セグメントから優先順位と逆の順番で構 築され、かくして優先順位の高いセグメントが優先順位の低いセグメントを上書 きするようにされる。この手法は、特にディスプレイフレームバッファを使用し ている場合に非常に適しているが、後に上書きされる区域を書き込む点で、労力 のかなりの重複を必要とする。
多数のセグメントからのイメージ構築と優先順位解決の問題とについての全般的 な議論は、”Pr1nciples of Interactive Comp uterGraphics” William M、Newman and R obert F、5proull、5econd edition、 1cGr aw−Billなどの、グラフィックスシステムに関する標準的な殆どの解説書 に記載されている。
各セグメントを分離して扱うのではなしに、グラフィックセグメントの間にある 程度の関連付けを設けることも既知である。詳しく言えば、1つのセグメント( 親セグメント)が1以上の別のセグメント(子セグメント)を含み、後者は親セ グメントの境界にり1ルノピングされているが、オーバラップする場合には後者 が上書きされるという、ウィンドイング関係又は包含関係でセグメントを関連付 けることが既知である。かくして親セグメントはウィンドウとして動作し、それ を通じてその子セグメントを見ることができる。すべての場合ではないが一般に 、包含関係は、親に適用される空間変換(即ち平行移動、回転及びスケーリング )が、それに含まれるすべての子にも適用される形で実施される。
グラフィックセグメントが包含関係によって相互に関連付けられるグラフィック スシステムの1例が、本発明者の博士論文(Doctoral Thesis、  ”Computer Display Architecture”、 Pe ter Bemingway。
Cambridge University Library、 Englan d、 class n+ark PHD 15076)に記載のシステムである 。このシステムでは、すべてのグラフィックセグメントはツリー構造に編成され 、親−子の関係が包含関係になっている。この親−子の包含関係によって、セグ メントの相対優先順位が部分的に定義されるが、この定義は完全ではない。とい うのは、兄弟(同一の親の子)の相対優先順位も定義する必要があり、これは通 常はツリーを生成させるアプリケーションによって行われるからである。このシ ステムでは包含関係は、親が受ける空間変換を子も受け、さらに子の各々が、そ の親に対する相対的な空間変形を受けるという形で実行される。その結果、最終 イメージに現れる各セグメント(又はセグメント部分)の位置、向き及びサイズ は、そのセグメントからその先祖を通じてセグメントツリーのルートまで延びる 一連の空間変換を縦続しだものなる。
前述の論文に記載のグラフィックスシステムは、かなりの柔軟性を提供するが、 このシステムでは簡単には表現できないある種の自然の関係が存在する。したが って、本発明の目的は、セグメント間の関連付けの柔軟性を向上できるグラフィ ックスシステム、具体的にはグラフィックセグメントの編成を提供することであ る。
日 の 本発明の1態様によれば、グラフィックスシステムにおいて、2次元イメージと して提示された場合にはオーバラップする可能性のあるグラフィックセグメント の階層編成であって、その階層編成内の各子セグメントがその親が受けるイメー ジ関連の空間変換を継承するものにおいて、前記イメージ内の親の境界の外側で は子が親によって制約されないことを決定する、子セグメントと親セグメントと の間の接続関係を含むことを特徴とする、前記グラフィックセグメントの編成が 提供される。
2種類の接続関係が可能である。しかして、「上側」タイプの接続関係の場合だ と、子はその親より高い深度優先順位を有し、子と親がオーバラップする場合に は前記イメージ内で子が親の上側に表示される結果となる。対照的に、「下側」 タイプの接続関係の場合だと、子はその親より低い深度優先順位を有し、子と親 がオーバラップする場合には前記イメージ内で親が上側に表示される結果となる 。
接続関係を用いることによって、例えば「紙クリップ」を使用して「レポート用 紙」に「メモ」が留められ、メモと紙クリップの両方がレポート用紙を越えて延 びてこれに上書きされており、また紙クリップがメモを越えて延びてこれに上書 きされていて、レポート用紙が移動、回転又はスケーリングを受ける時にこれら 3つの要素のすべてが一体となって移動、回転又はスケーリングされるといった イメージを構築することが可能になる。この例では、メモはレポート用紙の子で あり、「上側」接続関係によってレポート用紙に関連付けられている。同様の関 係が、メモと紙クリップの間にも存在する。
別の態様では、本発明は、潜在的なオーバラップ関係でもって、表示を目的とす るグラフィックセグメントを2次元出力イメージへと階層編成に編成するための 編成手段と、セグメント間のオーバラップ衝突のすべてが解決された状態で前記 2次元イメージを表す出力信号を前記グラフィックセグメントの編成がら導出す るためのコンバータ手段であって、親が受けるイメージ関連の空間変換に応じて 前記イメージ内の各々の子セグメントの位置を決定するよう動作するコンバータ 手段とを含み、前記編成手段が2つのセグメントを接続関係によって親子として 関連付けるよう適宜動作することと、コンバータ手段が前記出力信号を導出する 際に、親の境界の外側では親によって制限されないものとして関連する子セグメ ントをレンダリングすることにより前記接続関係に応答することとを特徴とする 、グラフィックス出力システムを意図したものである。
既に述べたように、接続関係は「上側」タイプ又は「下側」タイプであり、コン バータ手段は、子セグメントと親セグメントがオーバラップする場合にはこれら を適切にレンダリングするよう動作する。グラフィック要素の編成には、適当な 場合には包含親−子関係を含めることもできる(ただし、このような関係を設け ることは、本発明にとって本質的ではない)。
同一の親セグメントが、同一タイプの関係によって複数の子と関連付けられてい る場合、編成手段は、現在の情況(表示の経過記録を含む)に応じて前記子の相 対的深度優先順位をセットするよう動作することが好ましい。
コンバータ手段は、各々の親とその子について、下記の順で前記グラフィックス セグメントを処理するよう動作することが有利である。
一前記親と上側接続関係で関連付けられた子、−親自体、 一前記親と包含関係で関連付けられた子、及び−前記親と下側接続関係で関連付 けられた子である。
同一の親と同一の関係を有する複数の子は、それらの相対深度優先順位の順で処 理されるが、コンバータ手段はその処理を、処理中のセグメントからセグメント の階層編成を遡っていく時に、前記接続関係によって最初に到達する先祖が前に 処理されたセグメントである場合に限って、処理中のセグメントが前に処理され たセグメントより前記イメージ内で優先されるようにして行う。この処理順序は 、いわゆるペインターアルゴリズムで使用される順序とはほぼ逆であるが、これ によって親に含まれる子のクリッピングが簡単になる。
有利には、コンバータ手段は、グラフィックス出力装置(視覚表示装置やプリン タなど)によってイメージを形成するのに使用される複数のラインのそれぞれに ついて1組のスパンを生成するよう動作し、グラフィックス出力システムは、指 定された長さのスパンを出力装置に描かせる単一のプリミティブによって出力装 置を制御し、このプリミティブは、各イメージラインを順次構築するのに必要な 回数だけ発生される。
A証■血単享羞贋 以下では非限定的な実施例によって、添付図面を参照しつつ本発明を具体化した グラフィックス出力システムを説明する。図面において、 図1は、2次元イメージとして提示されるグラフィックセグメントの編成と、グ ラフィックス出力装置への出力のためスパンテーブルに保持される一連のスパン へのこれらのセグメントの変換の両方の働きをするレンダラを示す、グラフィッ クス出力システムの機能ブロック図である。
図2は、グラフィックセグメントに関連するデータフィールドと、そのセグメン トと他のセグメントとの可能な相互関係を示す図である。
図3は、関係するセグメントから形成された、結果的に得られる2次元イメージ により、図2に示されたさまざまなセグメント間関係の性質を示す図である。
図4は、図1のレンダラによって形成されるセグメントツリーの1例を示す図で ある。
図5は、図4の例示的なセグメントツリーに対応する2次元イメージを示す図で ある。
図6は、セグメントツリーからスキャンテーブルを形成する際に図1のレンダラ によって行われる変換処理の全般的な進行を示すフローチャートである。
図7は、図6の変換処理のうち、グラフィックセグメントのすべてに関するエツ ジレコードを含むエツジテーブルを形成するステップを示す図である。
図8は、図6の変換処理の過程の間に形成されるアクティブエツジリストの性質 を示す図である。
図9は、図6の変換処理によって作られるスパンテーブルの性質を示す図である 。
図10は、3つの相互にリンクされたスパンデータ構造を示す図である。
図11は、図4の例示的セグメントツリー及び図5の例示的イメージに関するス パンテーブルのスパンリストの1つの作成過程を示す図である。
尺皿4遺肛るための最1モード 図1に機能ブロック図の形式で示されたグラフィックス出力システムには、基本 的に、グラフィカルアプリケーション10をビデオ表示装置又はプリンタなどの グラフィックス出力装置12にインタフェースするよう動作するレンダラ+1が 含まれる。
グラフィカルアプリケーション10は、レンダラ11に出力イメージを構築する よう命令するが、この命令は、グラフィックセグメント21を作成、修正又は削 除するコマンドの形態である。これらのグラフィックスセグメントは、出力イメ ージの構築に使用される唯一のグラフィック要素であり、レンダラ11のセグメ ントオーガナイザ13内で作成され、記憶される。オーガナイザ13は、セグメ ント21をセグメントツリー20に編成し、このセグメントツリー20は後で詳 細に説明するように、最終イメージ内でのセグメントの相互関係を決定する。グ ラフィックセグメント21は、最終イメージ内で互いにオーバラップする可能性 があり、従って深度の優先順位を解決することが必要になる。
各々のグラフィックセグメント21は、その境界、フィル(充填)及び変換によ って定義される。これらのパラメータについては以下で詳細に説明するが、今の ところは、境界、フィル及び変換のパラメータが一般に、必要に応じてセグメン ト21によって参照されるそれぞれのデータ構造22.23及び24内に、オー ガナイザ13によって記憶されることに留意すれば十分である。
グラフィカルアプリケーションlOが、セグメントツリー20によって所望の出 力イメージを構築するようレンダラ11に命令し終えたならば、このセグメント ツリーはレンダラ11のコンバータ14によって、グラフィックス出力装置12 への出力に適した形式に変換される。具体的に言うと、このセグメントツリーは スパンテーブル60へと変換され、そこにおいてイメージは1以上のスパンから 構成されるラインの連続として表される。後で説明するように、スパンテーブル 60を構成するに際してコンバータ14は、まずエツジテーブルデータ構造61 を形成し、次いでアクティブエツジリストデータ構造62を使用して出力イメー ジの各ラインを構築する。この変換処理では、セグメントの相互関係と深度優先 順位によって、セグメント間のオーバラップ衝突はすべて解決される。
スパンテーブル60に含まれるイメージ情報は次いで、スパン出力処理15によ ってグラフィックス出力装置12に出力される。この処理では、各ラインが完了 するごとに1ラインずつスパン情報を出力するか、スパンテーブルが完了するま で待ってから装置12にスパン情報を渡すかの、何れを行うこともできる。スパ ン情報の実際の受け渡しは、単に特定の長さのスパンを描くよう出力装置12に 命令する単一のプリミティブDrawspan”によって行われる。
グラフィックス出力装置12は一般に、最終出力イメージを表示又は印刷する前 に、レンダラ11から受け取った情報をバッファ17内に緩衝記憶する。多くの 場合、バッファ17は、完全なイメージ表現を保持するフレームバッファである 。
レンダラ11の全体的な動作は制御ユニット16によって制御されるが、制御ユ ニット16の主要機能は、種々の要素の動作をシーケンス化することである。具 体的に言うと、制御ユニット16は、グラフィカルアプリケーションIOがセグ メントツリー20の構成に関してセグメントオーガナイザ13への命令を完了す るまで、コンバータ14がその変換処理を開始しないことを保証する。さらに制 御ユニット16は、スパン出力処理15がスパンテーブル60の構築と調整され ることを保証する。制御ユニット16は独立した機能的実存として図示されてい るが、実際にはその機能を他の機能要素内に埋め込んでよいことが了解されよう 。従って例えば、セグメントオーガナイザ13がインタロツタ構成を具現化して 、グラフィカルアプリケーションlOとコンバータ14がセグメントツリー20 に同時にアクセスできないことを保証することができる。
上述したレンダラ11の概観から、これがグラフィカルアプリケーション10と グラフィックス出力装置12の間に、概念的に単純なインタフェースを提供する ことがわかる。なぜなら一方では、レンダラ11のグラフィカルアプリケーショ ンIOとのインタフェースは単一のグラフィックス要素(即ちグラフィックスセ グメント21)によって定義され、また他方では、グラフィックス出力装置12 とのインタフェースは単一の演算プリミティブ(Drawspan)によって定 義されているからである。この後者の特徴によって、レンダラ11を異なる出力 装置の間で簡単に移植できるようになっている。
セグメントとセグメントオーガナイザ グラフィックセグメント21の属性と可能な相互関係を、図2のセグメント21 Aを参照して説明する(本明細書では、「グラフィックセグメント」という用語 がセグメントの表現すべてに適用されることに注意しなければならない。図2の 場合、セグメント21Aは、そのセグメントのパラメータ又は属性を定義するフ ィールド28ないし38を含むデータ構造によって表現されている)。
セグメント21Aに関連する第1のフィールドは、そのセグメントを一意に識別 するセグメント識別フィールド28である。残りの定義フィールドは2つのグル ープ、即ちそのセグメントが最終イメージ中でどのように現れるのかに直接関係 するフィールド29ないし31からなる第1のグループと、セグメントツリー2 0におけるセグメント21Aと他のセグメントとの相互関係を定義するフィール ド34ないし38からなる第2のグループ(これらの相互関係は勿論、そのセグ メントが最終イメージ中でどのように表示されるかにも影響するが、この影響は フィールド29ないし31はど個別的ではない)に分割される。
フィールド29は、定義点(即ち頂点)によって特定される1以上の輪郭によっ てセグメントの境界を定義するが、ここで点とはXY座標空間内におけるX−Y 座標対であり、そこにおいて各々の座標方向における距離の基本単位は「点単位 」 (これは、グラフィカルアプリケーション10とレンダラ11の間で使用さ れ、以下に説明する方法で現実のイメージ次元に変換される概念上の単位である )である。実際には、セグメントデータ構造には一般に境界の完全な仕様は含ま れず、単にフィールド29において定義点の1以上の組を含む境界データ構造2 2を指すポインタが保持されるに過ぎない。この配置構成を用いると、複数のセ グメントが共通の境界定義を共有できるようになる。セグメント境界は、幅が0 であるとみなされる。
セグメントは境界内において、3つの形式、即ちソリッドカラー、ハーフトーン 、又はビットマツプの何れかである「フィル」を含む。
ソリッドカラーフィルの場合、関連する色仕様は、フィルフィールド30に直接 に保持される。他のタイプのフィルの場合には、フィールド30は、所望とする フィルの性質を指定するフィルデータ構造23を指すポインタを保持する。
境界フィールド29とフィルフィールド30は、セグメント21Aの基本的な形 状と内容を定義する。次いで親セグメントに対する相対位置が、フィールド31 で指定される相対変換行列(RTM)によって定義される。この場合にも、この 指定は通常、フィールド31に保持され変換データ構造24を指すポインタによ る。
相対変換行列(RTM)は、下記形式の3×3行列である。
Sx Ry O Rx Sy 0 Tx Ty I RTMは、1つの座標空間内の点(及び境界−なぜなら境界は点だけから構成さ れる)を、行列によって定義される対応の点に変換するのに使用される。Sxと syは、X成分とY成分に対するスケーリングを行う。TxとTyは、ある点の X成分とY成分に対する平行移動をもたらす。RxとRVは、X成分とY成分の せん断値であり、Sx及びsyと組み合わせて回転をもたらすのに使用される。
この行列の最後の列は、単純な行列積によって、複数の3×3行列を単一の行列 へと連結することができるようにするために設けられている。
セグメント21Aのフィールド34ないし38からなる第2のグループでは、セ グメント21Aと他のセグメントとの関係が、これらの他のセグメントを指すポ インタによって定義される。しがしてフィールド34には、セグメント21Aの 親セグメントを構成するセグメント21Pを指すポインタが含まれる。フィール ド35には、セグメント21Aの兄第セグメント21S(1)(即ち、セグメン ト21Aと同一の親21Pを有するセグメント)を指すポインタが含まれる。セ グメント21Aと213(1)の兄弟関係は、図2では矢印39によって示され ている。兄第セグメント21S(1)にも同様に、別の兄第21 S (2)を 指す兄第ポインタが含まれてよい。同様に、セグメント21A自体が、別の兄第 (図示せず)から指されている場合もある。このようにして、同一の親セグメン ト2IPを有する兄第に関して、兄弟連鎖が確立される。実際には以下で明らか になるように、同一の親を有してはいるが、その親との関係が異なる兄第につい ては、別々の兄弟連鎖が存在する。
兄弟連鎖内での兄第の順序が、兄第の相対的な深度の優先順位を決定することに なる。
セグメント21Aはまたフィールド36.37及び38内に、子セグメント21 Cを指す3つのポインタを含み、各々のポインタは異なるタイプの子セグメント を指す。しかしてフィールド36は、セグメント21Aと「上側接続」関係にあ る子セグメント21Cを指し、この関係は図2では矢印40によって示されてい る。実際には、フィールド36に含まれるポインタは、上側接続関係によってセ グメント21Aと関連するすべてのセグメント21Cの兄弟連鎖25内の最初の 子を指している。同様に、フィールド37に保持されるポインタは、「包含」関 係41によってセグメント21Aと関連するすべての子セグメントを含む兄弟連 1126内の最初の子セグメント21Cを指す。さらに、フィールド38に保持 されるポインタは、「下側接続」関係42によってセグメント21Aと関連する 子セグメントの下側兄弟連鎖27の最初の子セグメント2ICを指す。上側接続 関係、包含関係及び下側接続関係の性質については後述する。−上述したところ から、セグメント21Aが、1つの親セグメントと、0以上の兄第セグメントと 、連鎖25.26及び27に配置される0以上の子セグメントを有することが看 取されよう。
図2では、セグメント21Aだけが以上に記載した外見上の関係の完全なセット を有し、図2に示された他のセグメン!・については、それらの相互関係の一部 だけしか示されていないことが理解されよう。
フィールド34ないし38に保持される親ポインタ、兄第ポインタ及び子ポイン タを適切に設定することによって、セグメントのグループを非循環ツリー編成で 相互に関連させて、セグメントツリー20を構成することができる。このツリー のセグメント間の関係は、さまざまなセグメントが最終イメージ中で互いにどの ように影響するがを完全に指定する働きをする。
「兄第」、「包含」、「上側接続」及び「下側接続」の関係の性質を、図3を参 照して以下に説明する。この図では、6角形のセグメント43と3角形のセグメ ント44が、前述の関係のそれぞれによって相互に関連している。具体的に言う と、兄弟関係39がライン(i)に示され、上側接続関係4oがライン(11) に、包含関係41がライン(iii)に、下側接続関係42がライン(iv)に 示されている。各ラインの左端には、その関係のセグメントツリー表現が示され ている。各ラインの中央には、出力イメージ中でのセグメントの外見が示されて いる(セグメント43に対するセグメント44の所与の変換に関して)。各ライ ンの右端には、6角形のセグメント43が反時計まわりに90’の回転を受けた 後の、最終イメージ中のセグメントの外見が示されている。
ライン(i)から、セグメント44が別のセグメント43に対して兄弟関係を有 する場合には、兄弟連鎖で下位にあるセグメントはより低位の深度優先順位を有 し、従って兄弟連鎖で上位にある兄第の後ろ側に表示される(言い換えると、3 角形のセグメント44は6角形のセグメント43とオーバラップする時に後ろ側 に表示される)ことがわかる。ライン(1)にはまた、セグメント43がセグメ ント44に影響せずに空間変換を受けることができる(図3には示されていない が、その逆も成り立つ)という点で、セグメント43とセグメント44が相対的 に独立であることも示されている。
ライン(ii)には、3角形のセグメント44が上側接続関係によって親セグメ ントと関係する場合には、セグメント44がセグメント43よりも高い深度優先 順位を有し、従ってこれら2つのセグメントがオーバラップする場合にセグメン ト43の上側に表示されることが示されている。さらに、セグメント44はその 親セグメント43の境界に制限されていない。しかしながら、セグメント44は 、親43が経験する空間変換を受けるという点で、親43の真の子セグメントで ある。従って6角形のセグメントが90°回転される時には、子セグメント44 も同様に回転され、親セグメント43に対する相対的な位置が維持される。
ライン(iii)に示された包含関係は、2つのセグメントがオーバラップする 場合には子セグメント44がその親43を−L、書きするという点で、上側接続 関係に類似している。しかしながらこの場合には、子セグメント44は、その親 43の境界にクリッピングされる(即ち、その親の境界を越えては延びない)。
どの子についても同様であるが、包含される子セグメント44は、その親43が 受ける空間変換を受け、従って親が90°回転するとセグメント44も回転して 、親セグメント43に対する相対的な位置が維持される。
ライン(iv)には、子セグメント44がその親43に対して下側接続関係であ る場合に、これら2つのセグメントがオーバラップする場合には親がより高い深 度優先順位を有し、従って最終出力イメージでは子セグメントの上側に表示され ることが示されている。上側接続関係の場合と同様に、下側接続関係についても 、子セグメント44は親43の境界によって制限されておらず、親の境界を越え て延びることができる。これは、子が親の境界でクリッピングされる包含関係と は異なる。下側接続関係では、他の親子関係と同様に、子セグメント44がその 親の受ける空間変換を受ける結果となり、従って例えば親セグメント43が90 °回転すると子セグメントも同様に回転し、親に対する相対的な位置関係が維持 される。
子セグメントは、親に対して上述の直接的な関係を有すると同時に、その親から 下記のものを継承する。
(a)親がその親から継承した空間変換。これにより、あるセグメントの最終イ メージ中での位置、向き及びサイズは、そのセグメントの親に対する相対的な空 間変換と、その先祖のすべての空間変換との組み合わせによって決定される(セ グメントのRTMに関して、あるセグメントの全体的な変換は、その先祖のすべ ての相対変換行列とそれ自体のRTMとを連結して累積変換行列にしたものであ り、本明細書ではこれを連結変換行列又はCTMと称する)。
(b)親が受けたクリッピング制限と深度優先順位。これは、親の境界を越えて の子のクリッピングと上書きを決定するので、上側接続関係又は下側接続関係に よって親と関係する子に特に関連がある。
後者の継承は、各々の子セグメントが、その子が上書きすることはできるが、し かしその境界内に収まるようにクリッピングされる「背景」セグメントを有する 、という概念を生ずる。子セグメントが包含関係によって親と関連する場合には 、親はその子の背景セグメントをも構成する。しかしながら、子が上側接続関係 又は下側接続関係によってその親と関連する場合には、その子の背景セグメント はその親ではなく、問題とする子セグメントからセグメントツリーを遡る時に包 含関係を通じて最初に到達される先祖セグメントである。実際、子の背景セグメ ントについての後者による識別は、一般的に成り立つ。というのも、子が包含関 係によって親と関係する場合には、包含関係を通じてその子から最初に到達する 先祖セグメントは、もちろんその子の親になるからである。
図4と図5に、セグメントツリーの例とそれに対応する出力イメージを示す。図 4のセグメントツリーでは、セグメントは輪郭によって表されており、セグメン ト境界内で下線付きで示されている識別文字「a」ないしrmJて符号付けされ ている。また各セグメント境界内には、(数字、文字)対が括弧内で示されてい る。この対の中の文字は、対象とするセグメントの背景セグメントを識別し、こ れに対して(数字、文字)対の中の数字は、以下でその目的を説明する処理順序 番号である。
図4のセグメントフリーのセグメントraJは、このツリーのルートセグメント であり、従って特に重要である。ルートセグメントの相対変換行列に含まれるス ケーリング係数は実際上、レンダラ11によって使用される内部点単位次元と、 グラフィックス出力装置12によって表示される出力イメージの次元(多くの場 合、画素によって表現される)との間のスケーリングを定義する。さらに、境界 によって定義されるルートセグメントのサイズは一般に、出力装置12によって 使用できるようにされる潜在的な出力イメージ領域を(ルートのRTMで定義さ れる適当なスケーリングの後に)完全に占めるようにセットされる。一般に、セ グメントツリーの他のすべてのセグメントは、包含関係41を通じてルートセグ メントと直接的又は間接的に関連しており、従ってそれらは、ルートセグメント の境界内に収まるようにクリッピングされる。上側接続関係によってルートセグ メントに接続されるセグメントは通常、出力イメージを横切って高速に移動する セグメント(例えば対話式アプリケーションのカーソル)だけである。ルートセ グメントは、通常は出力イメージを完全に占めるので、ルートセグメントから下 側接続関係が直接に使用されることはない。
図5は、出力イメージの限界を定める長方形としてルートセグメントraJを示 し、他のすべてのセグメントはルートセグメント内に含まれる。
セグメントrcJは、実際上ルートセグメントと直接の包含関係にある唯一のセ グメントである。図かられかるように、セグメントrcJは、3グループの子、 即ちセグメントrcJの上側に現れることのできる上側グループ(セグメントb 、eS f及びj)、セグメントrcJの境界でクリッピングされるがセグメン トrcJを上書きすることのできる包含グループのセグメント(セグメントg1 h、1、m及びk)、及びセグメントrcJの下側に現れる下側セグメントのグ ループ(セグメントd及びi)を有する。ルートセグメント「a」内でセグメン トrcJを移動又は回転(セグメントrcJのRTMの修正によって)させると 、その子セグメントのすべてが同様に動かされる結果となる。
図4のセグメントツリーからの図5の出力イメージの構成は、セグメント間の可 能な関係の性質に関する前述の説明を考虜すれば明白になるはずである。従って 、図4と図面の簡単な説明はここでは行わない。しかしながら、いくつかの重要 な特徴を下に述べる。
兄第の相対深度優先順位は、図4及び図5ではセグメントreJ及びrfJによ って示されている。図かられかるように、セグメント「f」はセグメントreJ の兄第であるが、親セグメントrbJに包含される子セグメントの兄弟連鎖中で 下位に現れることから、より低い優先順位を有する。従って、セグメントreJ 及びrfJがオーバラップする場合は、セグメントreJが出力イメージに表示 される。セグメントreJはまた、セグメントrfJに包含される子であるセグ メント「」」にもオーバラップする(セグメントreJは、セグメンl−rfJ の上側又は下側のすべての子ともオーバラップする)。
セグメントrNは、上側接続関係によって親と関係するセグメントを示し、その ようなセグメントは親とオーバラップする場合には親より高い優先順位を有する が、実際に親とオーバラップする必要がないことを示すものである。オーバラッ プが発生するが否がは、子セグメントNJの相対変換行列に依存している。
セグメントrmJは、セグメント「1」に対して上側接続関係にあるセグメント であり、このセグメント「1」は既に述べたように、セグメントrhJに対して 上側接続関係にある。これらのセグメントは両方とも、セグメント「1」及びr mJの背景セグメントとなるセグメントツリー上に書き込まれる。セグメントr mJに関して図かられかるように、あるセグメントは、背景セグメントと直接の 包含関係にない時であっても、背景セグメントによってクリッピングされる。
ここで図1の検討に戻ると、セグメントオーガナイザ13は一般に、汎用プロセ ッサ上で実行される適当なプログラムコードの形態をとり、そのコードはグラフ ィカルアプリケーションからの生成コマンド、修正コマンド及び削除コマンドに 応答して、セグメントツリー20を構成する。具体的に言うと、セグメントオー ガナイザ13は、必要に応じてセグメント、境界、フィル及び変換インスタンス オブジェクトを作成するためのクラスオブジェクトが設けられた、オブジェクト 指向の語法で実施できる。この場合、例えばグラフィカルアプリケーションIO が、新セグメントを生成して既存のツリー構造へと追加することを望む場合には 、適当な変換、フィル及び境界のインスタンスを作成するために(適当なインス タンスがまだ存在しないと仮定する)、まず変換、フィル及び境界についてのク ラスオブジェクトにメツセージを送る。適当な変換、フィル及び境界インスタン スを作成するためにクラスオブジェクトにメツセージを送るに際して、アプリケ ーション10は必要なデータを供給する。次に、アプリケーションlOはセグメ ントクラスオブジェクトにメツセージを送り、新たに作成された境界、フィル及 び変換インスタンスを使用して、アプリケーションlOによって指定された他の セグメントとの関連を有する新たなセグメントインスタンスを作成することを要 求する。新たなセグメントを作成する際には、例えば、既存の兄第よりも高い兄 弟優先順位を有するものとしてセグメントを指定することが必要になる場合もあ る。このことはもちろん、既存の親セグメントや兄第セグメントに含まれるポイ ンタの調節を必要とする。このような調節は、セグメントインスタンスオブジェ クト自体によって、オブジェクト間での適当なメツセージ送受によって処理され る。
このようなオブジェクト指向版のセグメントオーガナイザ13の実施詳細は、当 業者には明らかであり、従ってここではこれ以上説明しない。
グラフィカルアプリケーションlOのコマンドに応答してオーガナイザ13がセ グメントツリー20を構築している時点で、コンバータ14の後続動作を容易に するためにいくつかのデータ項目を計算できることが着目されよう。具体的に言 うと、コンバータ14による使用のために、各セグメントの連結変換行列と背景 セグメントを決定し、キャッシュ記憶できる。しかしながらこの実施例では、こ れらの項目はコンバータ14自体によって決定される。
74’−づす1方にさq支豫 コンバータ14は、セグメントツリー20のセグメントをイメージラインの組に 変換する変換処理を実行する。このイメージラインの組のそれぞれは、1以上の スパンを含むスパンリストによって表され、スパンリストはスパンテーブル6o に記憶されている。この変換処理では、セグメントは最終イメージ内の正しい位 置に置がれ、オーバラップ衝突はすべて解決され、セグメントは内部の点単位座 標がら装置の座標へとスケーリングされる。装置座標は一般に、基準のXY座標 フレーム内の画素によって指定される。スパンリストによって表現されたイメー ジラインは、基準の装置フレームのY座標方向に延びる(これはバッファ17が 一般に、アクセス効率向上のため同一イメージライン内の画素がバッファ内で隣 接するように編成されるからである)。適当な情況の下では、X座標方向に延び るようにスパンリストを配置構成できることが理解されよう。
この変換処理の全体的な進行を図6に示す。この変換処理の第1ステツプは、処 理される順番でもってセグメントに番号を付けることである(ステップ50)。
その後、CTMと背景セグメントが決定される(実際には、この決定は好適には セグメント番号付けに際して行うことができるものであり、従ってステップ5o の一部として図示されている)。次に、エツジテーブルが形成され、すべてのセ グメントを規定するエツジのすべてに関するエツジレコードが格納される(ステ ップ51及び52)。最後に、対象とする現在のイメージラインと交わるエツジ のエツジレコードを検査することによって、一時に1ラインずつスパンテーブル が構築される(ステップ53ないし55)。
まずセグメント処理順序番号(ステップ50)を検討すると、ここでの全般的な 目的は、セグメントが深度優先順位の順に処理されることを保証し、それにより 後から処理されるセグメントが前に処理されたセグメントを上書きしないように することによって、オーバラップ衝突が簡単に解決されるようにすることである 。しかしながら、包含される子とその子孫は、それらを包含する先祖の境界でク リッピングされるので、包含される子(とその子孫)が背景セグメントを上書き する場合であっても、前者を処理する前に背景セグメントを処理することが必要 である。なぜならそうでなければ、包含される子を処理する時に、クリッピング 境界がイメージ座標に関して既知でなくなるからである。この要件から、後から 処理されるセグメントが前に処理されたセグメントを上書きすることができない という基本的な書込規則に対して、セグメントが背景セグメントを上書きしても よいという但し書きが追加されることになる。
セグメントに番号を付ける際には、ツリーはルートセグメントから横断される。
この場合にセグメントごとに、関連セグメントの番号付けの優先順位に関して、 下記の規則が適用される。
−検討中のセグメントの上側の子(とその子孫のすべて)にまず番号を付ける。
−その後、検討中のセグメントに番号を付ける。
−次に、検討中のセグメントに包含されるセグメント(とその子孫)に番号を付 ける。
一最後に、検討中のセグメントの下側のセグメント(とその子孫)に番号を付け る。
兄第に関してはリストの先頭から処理され、その結果リストの先頭の兄第セグメ ントとその子孫のすべてが最初に番号付けされ、その後に第2の兄第(とその子 孫のすべて)が番号付けされ、そして同一の兄第リスト内の他の兄第についても 同様に処理される。この横断番号付はアルゴリズムは、より形式的には下記の擬 似コードによって表現できる。
PROCNUM処理順序番号を割り当てるための再帰的ルーチン。
”TTh15−8e” = 現在の親セグメント − ローカル”S” = 対 象とする子 −ローカル”Number” = 処理順序番号 −グローバル1 、SをTTh15−3eの最初の上側の子にセットして、TTh15−3eの上 側の子がなくなるまで下記を繰り返す。ただし、Sは各繰返しの前に次の上側の 子にセットする。
−セグメントSを現在の親セグメントとして、ルーチンPROCNUMを実行。
2、Numberをインクリメントする。
3、 Thisjegの処理順序番号としてNumberを割り当てる。
4、SをThisjegの最初の包含される子にセットして、TTh15−3e に包含される子がなくなるまで下記を繰り返す。ただし、Sは各繰返しの前に次 の包含される子にセットする。
−セグメントSを現在の親セグメントとして、ルーチンPROCNUMを実5、 SをTTh15−8eの最初の下側の子にセットして、TTh15−3eの下側 の子がなくなるまで下記を繰り返す。ただし、Sは各繰返しの前に次の下側の子 にセットする。
一セグメントSを現在の親セグメントとして、ルーチンPROCN[IMを実行 。
この割り当てられた処理順序番号を使用することによって、前に処理されたセグ メントが後で処理されるセグメントの背景セグメントである場合を除き後で処理 されるセグメントは前に処理されたセグメントを上書きできないという上述の書 込み規則に従って、セグメントツリーから出力イメージを描き上げることができ る。
セグメントツリーをイメージに変換するための上述の書込み規則は、この変換に 関与する処理の詳細とは無関係に適用される。言い換えると、この規則は、コン バータ14によって実行される処理だけではなく、セグメントツリーから手によ って物理的にイメージを描き上げる場合にも適用される。読者が図4のセグメン トツリーから、既にセグメントに関して注釈ずみの処理順序番号付け(この番号 付けが上記の番号付はアルゴリズムに従って決定される)を使用して図5を再現 してみれば、これを簡単に理解できるであろう。
セグメントが番号付けされた後(又は既に述べたように、この番号付けと同時に )、各セグメントのCTMと背景が決定される。決定のそれぞれは、スタック( 後入れ先出し即ちLIFOデータ構造)を使用して簡単に達成できる。
しかしてC7M決定に関しては、ルートセグメントのRTM (そのCTMでも ある)が最初にC7Mスタックに入れられ、次いでセグメントツリーが横断され る。親子関係を下るが兄第関係を横切ることによっであるセグメントに始めて出 会うごとに、そのRTMをC7Mスタックの先頭にあるCTMと組み合わせるこ とによって、そのCTMが決定される。新たに決定されたCTMは、次いでセグ メントデータと共にキャッシュ記憶され、さらに、スタックの先頭に置かれる。
親子関係を遡るか兄第関係を横切ることによっであるセグメントを出る時には、 そのCTMはC7Mスタックの先頭から除去される。
背景セグメントの決定も同様の仕方で行われ、背景スタックはセグメントフリー の横断を開始する前に、空に初期設定される。親子包含関係を下るたびに、親の 識別子が背景スタックに入れられ、これに対して包含関係を遡るたびに、スタッ ク先頭の入力項目が除去される。背景スタックの先頭入力項目によって、ツリー の横断に際して到達した現在のセグメントの背景セグメントが識別される。ある セグメントの背景の識別子は、セグメントデータと共にキャッシュ記憶される。
セグメントに番号を付け、CTMと背景を決定した後に、エツジテーブル61が 作成され、データが書き込まれる(ステップ51及び52)。
エツジテーブルは、出力イメージのY座標ラインごとに1人力項目を含むデータ 構造である。ラインごとの入力項目は、装置(イメージ)座標においてそのライ ンに開始Y座標を有する全てのセグメントエッジのリストであり、このリストは エツジレコード63のリンクリストによって形成され、このリストの最初のエツ ジレコードは、エツジテーブルデータ構造61に保持されるポインタによって指 されている。特定のY座標ラインに対応する開始Y座標を有するエツジが存在し ない場合には、エツジテーブル内の対応する入力項目には、空白がセットされる 。
各エツジレコード63には、対応するセグメントエツジを装置座標によって記述 するデータが、そのエツジが由来するセグメントの識別子と、好ましくはそのセ グメントの処理順序番号及び背景と共に含まれる(ただし最後の2つの項目は、 セグメント自体を参照することによって必要な時にいつでも取得できる)。
処理順序番号に従って各セグメントを順に処理することによって、エツジテーブ ルが入力される。実際、出力イメージ全体がレンダリングされる場合には、エツ ジテーブルを形成するためにセグメントが処理される順序は問題ではない。ある セグメントを処理するためには、セグメント境界のエツジのそれぞれ又はセグメ ント境界を作り上げている輪郭のそれぞれが、そのセグメントのCTMを適用す ることによって出力イメージ形式に変換され、その結果としてのエツジの特徴を 表すデータは、対応するエツジレコード63に記憶される。このレコードは次い で、適宜エツジテーブル61に挿入される。
図7は、セグメントのエツジをエツジテーブル61に入力するための、1つのセ グメントの処理を示す図である。図かられかるように、このセグメントの境界7 0は、6つのエツジ71ないし76からなる。エツジ71及び72は同一の開始 Y座標を有し、従ってエツジテーブル61の同一のエツジリストにエツジレコー ド63として入力される。同様に、エツジ73及び74も同一の開始Y座標を有 し、それらのエツジレコードは同一のエツジリストに入力される。また、エツジ 75及び76もまた同一の開始Y座標を有するので、それらのエツジレコード6 3もエツジテーブル61の同一のエツジリストに入力される。
すべてのエツジがエツジテーブル61に入力された後に、変換処理は次の段階に 移り、そこにおいては走査ライン(出力イメージのY座標ライン)ごとにアクテ ィブエツジリスト62が形成されてその走査ラインを妨げるエツジのすべてがリ ストされる(ステップ53)。
その後このアクティブエツジリストは、スパンテーブル60内に対応するスパン リストを形成するのに使用される(ステップ54)。アクティブエツジリスト6 2は最初の走査ラインに関して、その最初の走査ラインから始まる全てのエツジ レコード63をアクティブエツジリストに入力することによって形成される。後 続の走査ラインに関しては、アクティブエツジリスト62は、前の走査ラインの アクティブエツジリストを更新することによって形成される。この更新処理は、 現在の走査ラインから始まるエツジのエツジレコードを追加することと、アクテ ィブエツジリストに既に含まれているエツジレコードを更新することの両者を伴 う。この更新は、エツジの傾きに従ってX座標を変更しY値をインクリメントす ることによって、そのエツジについての現在のX及びY座標値を更新することを 包含する。この更新によって、そのエツジがもはや走査ラインを妨げないことが 示される場合には、そのエツジレコード63はアクティブエツジリスト62から 除去される。
図8は、図7に破線で示された走査ライン69に関してアクティブエツジリスト 62を構成するエツジレコード63を示す図である。このエツジレコードによっ て表されるエツジによる現在の走査ラインの遮断を、図8に示す。
ある走査ラインについてアクティブエツジリストが形成された後に、それを構成 するエツジレコードは、それに関連するセグメント処理順序番号に応じて、走査 ラインとエツジとの現在のX遮断点でソートされる。
ソート済みのアクティブエツジリスト62を使用して、現在の走査ラインに対応 するスパンテーブル入力項目が作成される。このスパンテーブル入力項目には、 1以上のスパン65をリンクリストとして保持するスパンリストが含まれる。1 つのスパンは、特定のセグメントに関連する、出力イメージ走査ラインの中断さ れていない部分を定義する。図1Oは、スパンN、スパン(N+1)及びスパン (N+2)として識別される3つのスパン65を含む、走査リストの一部を示す 図である。各スパンは4つのフィールドを有し、そのうちの1つは関連するセグ メントを識別し、2つは右と左のX座標(それぞれXLとXR)によってスパン の位置を指定する。Y座標フィールドは必須ではないが、これはこのスパンテー ブルデータ構造では、スパンテーブル内でのスパンリストの位置によって、各構 成スパンリストのスパンについてのY座標が暗黙のうちに示されるからである。
スパンデータ構造の残りのフィールドはポインタ、即ち現在のスパンリスト内の 次のスパン(存在するならば)を指すポインタ66(P−NEXT 5PAN) である。
スパンリストを形成するためには、アクティブエツジリストが処理されるが、こ れはリスト内のエツジレコードの連続する対を取り、各対を使用して対応するス パンを形成し、その2つの区切りのX座標値を対象としているエツジレコードの 現在のX値にセットし、Y座標値を現在の走査ラインのY座標値にセットし、そ のセグメント識別子を関与している2つのエツジレコードの識別子にセットする ことによって行われる(アクティブエツジリストが処理順序番号によってソート されており、あるY座標値を検討する時には必ず1セグメントに対して偶数のエ ツジが存在するので、これらのレコードは同一のセグメント識別子を有する)。
スパンが形成されたならば、次いで現在の走査ラインに関するスパンリストにそ のスパンを挿入する試みが行われる。しかしながらこの挿入は、処理順序番号に 従ってセグメントを処理する場合に最終イメージ中にセグメントを書き込むにつ いての上述の規則、即ちあるセグメント(又は、この場合にはセグメントのスパ ン)を書き込めるのは、上書きされるセグメントが現在のセグメントの背景セグ メントである場合を除き、それが別のセグメント(又はセグメントスパン)を上 書きしない場合だけである、という規則に縛られる。
現在のスパンによって上書きできる背景を構成するセグメントの識別子は、その スパンを区切るエツジレコードからか、或いはそのスパンが導出されたセグメン トを参照することによって取得できる。
この挿入処理には、併合されるスパンを区切るX座標値、及び部分的に上書きさ れるすべてのスパンを区切るX座標値を適宜調節すること(必要な場合には影響 を受けるスパンを2以上のスパンに分割することを含む)と、影響されるスパン のP−NEXT 5PANポインタをそれに応じてセットすることが含まれる。
図11は、図5の線80−80に沿って取った走査ラインに関するスパンリスト 81の構成をlO段階で示す例である。図11に示されたステージ(i)ないし くX)のそれぞれについて、スパンリスト81の現在の内容と、このスパンリス トに併合されるスパンリスト82の両方が示されており、スパン82は既存のス パンリスト81の下側に示されている。
スパンリストに併合される各スパン82内には、対応するセグメントの識別子だ けでなく、(処理番号、背景セグメント)対も示されているが、これはセグメン トスパンが処理される順序と、既存のスパンリストへのスパンの上書きが成功す るか否かの両方を理解しやすくするためである。
ステージ(1)では、スパンリストは既に、ルートセグメントraJに対応する スパンを保持するものとして示されている。併合しようとするスパン82はセグ メントrbJからのスパンであり、これは走査ライン80−80と交わるセグメ ントのうちで、セグメントの処理順序番号に従って次に処理されるセグメントで ある。セグメントrbJの背景セグメントは、ルートセグメントraJであり、 その結果セグメントrbJのスパン82は、このスパンリストに完全に併合する ことができる。結果のスパンリスト81は図10のステージ(ii)に示されて いるが、図かられかるようにこのスパンリストには今度は、3つのスパンが互い にリンクされて含まれている。なぜなら元々ルートセグメントraJに対応して いたスパンは、セグメントrbJのスパンによって2つのスパンに分割されてい るからである。
ステージ(ii)では、セグメントreJに対応するスパン82が、スパンリス ト81に併合される。セグメントreJの背景はセグメントrbJであり、スパ ン82はスパンリスト81内でセグメントreJの境界内に完全に含まれるので 、セグメントreJのスパン82の全体がこのスパンリストに成功裡に併合され て、ステージ(iii)に示される新たなスパンリスト81が作られる。
ステージ(iii)では、セグメントI”fJからのスパン82がスパンリスト 81に併合されるが、セグメントrfJの背景セグメントはセグメントrbJで ある。セグメントrfJのスパン82は、スパンリスト81内でセグメントre J及びrbJに対応するスパンとオーバラップするので、スパン82の一部だけ がスパンリスト82に併合されることになるが、この一部とは、セグメント「f 」のうち背景セグメントrbJとオーバラップする部分である。結果としてのセ グメント「f」スパン82のスパンリストへの部分的な併合が、ステージ(iV )の新たなスパンリスト81に示されている。
ステージ(iv)ないしくX)で行われるスパンリスト81へのスパン82の併 合は、ステージ(i)ないしく1ii)と実質的に同じ仕方で進行するため、詳 細に説明することはしない。
変換処理の終了に際しては、セグメントツリー20はイメージのスパンテーブル 表示に変換されており、そこにおいてはすべてのセグメントが正しい位置、向き 及びサイズで最終イメージへとマツピングされており、すべてのオーバラップ衝 突が解決されている。このスパンテーブル60は、装置座標における、最終的な 出力イメージの圧縮表現を提供している。
セグメントオーガナイザ13と同様に、コンバータ15も汎用プロセッサ上で実 行されるコードにより実施されることが好ましく、この実施形態は例えば、エツ ジテーブル、エツジリスト、エツジレコード、アクティブエツジリスト、スパン テーブル、スパンリスト及びスパンに対応するオブジェクトを用いるオブジェク ト指向の語法で行われる。
叩力郊−埋 既に述べたように、図1のスパン出力機能15は、出力装置12に所与のY座標 位置で2つのX座標位置の間に所与の色の線を描くよう命令する、単一の演算プ リミティブDrawspanを有する。この出力処理には、最終的なスパンテー ブル60に含まれるスパンごとにDrawspanを呼び出すことが含まれる。
スパンテーブルのスパンは互いにオーバラップせず、各々がそれ自体で完全に定 義されているので、Drawspanを使用してスパンが装置12に出力される 順序は重要ではなL)。
転送効率を最大にするため、同一色のスパンを一緒に出力し、それによって色が 変更される場合以外は色を指定する必要をなくすこともできる(勿論この方法は 、イメージのランダム書込みが可能な特定のタイプの出力装置12でのみ行いう るちのであることは理解されよう)。
スパンテーブル内の各スパンに関連する色は、対応するセグメントのフィルを参 照することによって得られる。このフィルが多色ビットマツプの場合には、その スパンを構成する単色の部分スパンごとにDrawspanを呼び出さなければ ならない。
このシステムの初期設定に際しては、出力処理により、出力装置に合わせて色ル ックアップテーブルを初期設定することができる。
これと同時に、イメージ範囲外の背景色や、イメージサイズなどのパラメータを 指定することもできる。既に示したように、イメージサイズは、ルートセグメン トのサイズに反映され、またルートセグメントのRTMのスケーリング係数に反 映される。
出力装置12は一般に、視覚表示装置上の表示又はハードコピープリントアウト の何れかの形態で現実に走査ラインが出力される前に、バッファ17内に1以上 の走査ラインを構成する。バッファ17が完全なイメージビットマツプを保持し ない場合には、Drawspanを使用してスパンが出力される順序が重要にな る。なぜなら出力装置は、特定の走査ラインが他の走査ラインよりも前に出力さ れることを必要とするからである。
更新2三にゴー人力 以上においては図1の実施例を、アプリケーションlOによって構成され、次い てレンダラ11によって出力装置12に出力される完全なセグメントフリーによ って説明してきた。セグメントツリーは、表現すべきイメージ内に変化があるた びに再成しなければならないものではなく、アプリケーション10から作成、修 正及び削除コマンドを使用することによって、必要に応じて修正できることが理 解されよう。セグメントツリーの修正が完了したならば、次いでこれを新たな出 力イメージに変換することができる。この変換は、新たなイメージが生成される たびに最初から繰り返してもよいが、代替的に当技術分野で既知の制限付き変換 処理を行うこともでき、その場合には例えば、再変換はイメージの更新領域を区 切る長方形の境界ボックスに限定される。
セグメントフリーの一部更新と、出力イメージの一部の再変換は、出力装置がハ ードコピー装置ではな(視覚表示装置である場合に特に重要である。
表示イメージがユーザ入力に応答して変更される対話式コンピュータグラフィッ クスアプリケーションにおいて必要とされる如きユーザ入力に関しては、アプリ ケーション10にユーザ入力をフィードバックするための何らかの適当な手段と 共に」二連のグラフィックス出力システムを使用することができ、その場合には 、どのようなイメージ変更が必要かを判定するのはアプリケーション10のジョ ブである。
支彫 以−りに説明した本発明の実施例は、請求の範囲に記載される本発明の概念から 逸脱することなしに、多くの変形を受けることができることが理解されよう。し かしてコンバータ14は、さまざまな方法で実施でき、また例えば対応するスパ ンリストの完了後に各走査ラインを直ちに出力することができるため、完全なス パンテーブルを構成することは必須ではない(勿論この場合には、個別にバッフ ァリングされるのでない限り、同一色のすべてのスパンを一緒に出力することは できない)。
セグメントオーガナイザとセグメントツリー20に関しては、セグメント21を 上述した非循環ツリー以外の階層構造に編成し、なおがつ上側接続関係と下側接 続関係を提供することができる。さらにまた、これらの接続関係のうちの何れか 1つを、他方の接続関係なしに、包含関係と無関係に実施することができる(た だし、これは好ましくない)。
FIG 5 と61 補正書の写しく翻訳文)提出書(特許法第184条の8)11国際出願番号 PCT/GB91101765 2・発明の名称 グラフィックスシステムにおけるグラフィックセグメント編成3、特許出願人 ヒユーレット・バノカード・カンパニー(1)補正書の写しく翻訳文) 1 通 請求の範囲 1、グラフィックスシステムにおいて、2次元イメージとして提示された場合に オーバラップする可能性のあるグラフィックセグメントの階層編成であって、前 記階層編成内の各々の子セグメントがその親が受けるイメージ関連の空間変換を 継承するものにおいて、前記編成が、前記イメージ内の親の境界の外側で子が前 記親によって切り詰められないと同時に親から継承した前記空間変換を依然とし て受けることを規定する、子セグメントとその親セグメントとの間の接続関係を 含むことを特徴とする、グラフィックセグメントの編成。
2、子がその親よりも高い深度優先順位を有し、子と親がオーバラップする場合 に前記イメージ内で子がその親の上側に表示される結果となる接続関係を含む、 請求項1のグラフィックスセグメントの編成。
3、子がその親よりも低い深度優先順位を有し、子と親がオーバラップする場合 に前記イメージ内でその親が上側に表示される結果となる接続関係を含む、請求 項1又は2のグラフィックスセグメントの編成。
4.2次元出力イメージにおいてオーバラップ関係になる可能性を有し、表示を 目的とするグラフィックセグメントを階層編成に編成するための編成手段と、及 び セグメント間のオーバラップ衝突のすべてが解決された状態で前記2次元イメー ジを表す出力信号を前記グラフィックセグメントの編成から導出し、親が受ける イメージ関連の空間変換に応じて前記イメージ内に各々の子セグメントを位置決 めするよう動作するコンバータ手段とを含むグラフィックス出力システムであっ て、 前記編成手段が、接続関係によって2つのセグメントを親と子として関連付ける よう適宜動作し、前記コンバータ手段が前記出力信号を導出するに際し、親の境 界の外側で親によって切り詰められないものとすると同時に親が受ける前記空間 変換を依然としてその子に適用しながら関連する子セグメントをレンダリングす ることにより接続関係に応答することを特徴とする、グラフィックス出力システ ム。
5 前記編成手段が、「上側」タイプの接続関係によってセグメントを関連付け るよう適宜動作し、前記コンバータ手段が、親と子がオーバラップする場合にそ の親より高い深度優先順位を有する関連の子セグメントをレンダリングすること により上側接続関係に応答し、前記イメージ内でその親の上側に子を表示する結 果となる、請求項4のグラフィックス出力システム。
6、前記編成手段が、「下側」タイプの接続関係によってセグメントを関連付け るよう適宜動作し、前記コンバータ手段が、親と子がオーバラップする場合にそ の親より低い深度優先順位を有する関連の子セグメントをレンダリングすること により下側接続関係に応答し、前記イメージ内でその親を上側に表示する結果と なる、請求項4又は5のグラフィックス出力システム。
7、前記編成手段がさらに、包含関係によって2つのセグメントを親と子として 関連付けるよう動作し、前記コンバータ手段が、対応する親セグメントの境界で クリッピングされるが、より高い深度優先順位を有するものとして関連の子セグ メントをレンダリングすることにより包含関係に応答する、請求項4から6の何 れか1のグラフィックス出力システム。
8、前記編成手段が、同一の親セグメントが同一タイプの関係によって複数の子 と関連付けられている場合に、前記子の相対深度優先順位をセットするよう動作 する、請求項5から7の何れか1のグラフィックス出力システム。

Claims (10)

    【特許請求の範囲】
  1. 1.グラフィックスシステムにおいて、2次元イメージとして提示された場合に オーバラップする可能性のあるグラフィックセグメントの階層編成であって、前 記階層編成内の各々の子セグメントがその親が受けるイメージ関連の空間変換を 継承するものにおいて、前記練成が、前記イメージ内の親の境界の外側で子が前 記親によって制限されないことを規定する、子セグメントとその親セグメントと の間の接続関係を含むことを特徴とする、グラフィックセグメントの編成。
  2. 2.子がその親よりも高い深度優先順位を有し、子と親がオーバラップする場合 に前記イメージ内で子がその親の上側に表示される結果となる接続関係を含む、 請求項1のグラフィックスセグメントの編成。
  3. 3.子がその親よりも低い深度優先順位を有し、子と親がオーバラップする場合 に前記イメージ内でその親が上側に表示される結果となる接続関係を含む、請求 項1又は2のグラフィックスセグメントの編成。
  4. 4.2次元出力イメージにおいてオーバラップ関係になる可能性を有し、表示を 目的とするグラフィックセグメントを階層編成に編成するための編成手段と、及 び セグメント間のオーバラップ衝突のすべてが解決された状態で前記2次元イメー ジを表す出力信号を前記グラフィックセグメントの編成から導出し、親が受ける イメージ関連の空間変換に応じて前記イメージ内に各々の子セグメントを位置決 めするよう動作するコンバータ手段とを含むグラフィックス出力システムであっ て、 前記編成手段が、接続関係によって2つのセグメントを親と子として関連付ける よう適宜動作し、前記コンバータ手段が前記出力信号を導出するに際し、親の境 界の外側で親によって制限されないものとして関連する子セグメントをレンダリ ングすることにより接続関係に応答することを特徴とする、グラフィックス出力 システム。
  5. 5.前記編成手段が、「上側」タイプの接続関係によってセグメントを関連付け るよう適宜動作し、前記コンバータ手段が、親と子がオーバラップする場合にそ の親より高い深度優先順位を有する関連の子セグメントをレンダリングすること により上側接続関係に応答し、前記イメージ内でその親の上側に子を表示する結 果となる、請求項4のグラフィックス出力システム。
  6. 6.前記編成手段が、「下側」タイプの接続関係によってセグメントを関連付け るよう適宜動作し、前記コンバータ手段が、親と子がオーバラップする場合にそ の親より低い深度優先順位を有する関連の子セグメントをレンダリングすること により下側接続関係に応答し、前記イメージ内でその親を上側に表示する結果と なる、請求項4又は5のグラフィックス出力システム。
  7. 7.前記編成手段がさらに、包含関係によって2つのセグメントを親と子として 関連付けるよう動作し、前記コンバータ手段が、対応する親セグメントの境界で クリッピングされるが、より高い深度優先順位を有するものとして関連の子セグ メントをレンダリングすることにより包含関係に応答する、請求項4から6の何 れか1のグラフィックス出力システム。
  8. 8.前記編成手段が、同一の親セグメントが同一タイプの関係によって複数の子 と関連付けられている場合に、前記子の相対深度優先順位をセットするよう動作 する、請求項5から7の何れか1のグラフィックス出力システム。
  9. 9.前記コンバータ手段が、親とその子の各々について、−前記親と上側接続関 係によって関連付けられた子−親自体 −前記親と包含関係によって関連付けられた子、及び−前記親と下側接続関係に よって関連付けられた子の順序で前記グラフィックスセグメントを処理するよう 動作し、同一の親と同一の関係を有する複数の子がそれらの相対深度優先順位の 順で処理され、前記コンバータ手段は、前に処理されたセグメントが、処理中の セグメントからセグメントの階層編成を遡る場合に前記包含関係によって最初に 到達するその先祖である場合に限り、処理中のセグメントが前記イメージ内で前 に処理されたセグメントより優先されるように処理を行う、請求項4から8の組 み合わせのグラフィックス出力システム。
  10. 10.前記コンバータ手段が、グラフィックス出力装置によってイメージの形成 に使用される複数のラインの各々について1組のスパンを生成するよう動作し、 グラフィックス出力システムが指定された長さのスパンを装置に描かせる単一の プリミティブによって出力装置を制御し、このプリミティブがイメージライシの それぞれを順次構築するのに必要な回数だけ発生される、請求項4から9の何れ か1のグラフィックス出力システム。
JP51646991A 1991-10-10 1991-10-10 グラフィックスシステムにおけるグラフィックセグメント編成 Expired - Lifetime JP3347323B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/GB1991/001765 WO1993007582A1 (en) 1991-10-10 1991-10-10 Graphic segment organisation in a graphics system

Publications (2)

Publication Number Publication Date
JPH06511575A true JPH06511575A (ja) 1994-12-22
JP3347323B2 JP3347323B2 (ja) 2002-11-20

Family

ID=10689095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51646991A Expired - Lifetime JP3347323B2 (ja) 1991-10-10 1991-10-10 グラフィックスシステムにおけるグラフィックセグメント編成

Country Status (5)

Country Link
US (1) US6166741A (ja)
EP (1) EP0607131B1 (ja)
JP (1) JP3347323B2 (ja)
DE (1) DE69130958T2 (ja)
WO (1) WO1993007582A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3759356B2 (ja) * 1999-11-26 2006-03-22 富士通株式会社 3次元モデル管理装置
US20070216685A1 (en) * 2006-03-15 2007-09-20 Microsoft Corporation Scene write-once vector and triangle rasterization
US9626602B2 (en) * 2008-12-18 2017-04-18 Xerox Corporation Method and system for utilizing transformation matrices to process rasterized image data
US9508168B2 (en) * 2008-12-18 2016-11-29 Xerox Corporation Method and system for utilizing transformation matrices to process rasterized image data
US9626603B2 (en) * 2008-12-18 2017-04-18 Xerox Corporation Method and system for utilizing transformation matrices to process rasterized image data
US9530230B2 (en) * 2008-12-18 2016-12-27 Xerox Corporation Method and system for utilizing transformation matrices to process rasterized image data
US9659392B2 (en) * 2008-12-18 2017-05-23 Xerox Corporation Method and system for utilizing transformation matrices to process rasterized image data
US9652820B2 (en) * 2008-12-18 2017-05-16 Xerox Corporation Method and system for utilizing transformation matrices to process rasterized image data
US9495780B2 (en) * 2008-12-18 2016-11-15 Xerox Corporation Method and system for utilizing transformation matrices to process rasterized image data
US9679403B2 (en) * 2008-12-18 2017-06-13 Xerox Corporation Method and system for utilizing transformation matrices to process rasterized image data
US9619738B2 (en) * 2008-12-18 2017-04-11 Xerox Corporation Method and system for utilizing transformation matrices to process rasterized image data
US8754909B2 (en) * 2008-12-19 2014-06-17 Xerox Corporation Method and system for utilizing transformation matrices to process rasterized image data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4811245A (en) * 1985-12-19 1989-03-07 General Electric Company Method of edge smoothing for a computer image generation system
US4862392A (en) * 1986-03-07 1989-08-29 Star Technologies, Inc. Geometry processor for graphics display system
US4967375A (en) * 1986-03-17 1990-10-30 Star Technologies, Inc. Fast architecture for graphics processor
US4928250A (en) * 1986-07-02 1990-05-22 Hewlett-Packard Company System for deriving radiation images
US5185599A (en) * 1987-10-26 1993-02-09 Tektronix, Inc. Local display bus architecture and communications method for Raster display
JP2690110B2 (ja) * 1988-08-15 1997-12-10 沖電気工業株式会社 走査変換方法
FR2639449A1 (fr) * 1988-11-22 1990-05-25 Gen Electric Cgr Procede de projection et de representation d'un objet octree
US5058042A (en) * 1989-04-03 1991-10-15 Hewlett-Packard Company Method for employing a hierarchical display list in global rendering
US5528744A (en) * 1991-04-02 1996-06-18 International Business Machines Corporation Data processing system
JP3359634B2 (ja) * 1991-10-10 2002-12-24 ヒューレット・パッカード・カンパニー 境界内更新を備えたグラフィックス出力システム

Also Published As

Publication number Publication date
DE69130958T2 (de) 1999-07-01
DE69130958D1 (de) 1999-04-08
US6166741A (en) 2000-12-26
EP0607131B1 (en) 1999-03-03
JP3347323B2 (ja) 2002-11-20
EP0607131A1 (en) 1994-07-27
WO1993007582A1 (en) 1993-04-15

Similar Documents

Publication Publication Date Title
JP3618838B2 (ja) 画像出力方法
JP3170279B2 (ja) グラフィックスシステムにおけるイメージ位置の解釈
JP3359634B2 (ja) 境界内更新を備えたグラフィックス出力システム
JP3618839B2 (ja) 画像出力方法
US9354773B2 (en) Color and symbol coded visual cues for relating screen items to each other
JP4630482B2 (ja) 表現ツリーを生成する装置及びラスタ画素イメージを描画する装置
JPH0719294B2 (ja) コンピユ−タを用いてグラフを作成する方法
JPH06511575A (ja) グラフィックスシステムにおけるグラフィックセグメント編成
JP2707175B2 (ja) 図形処理システム
US5182797A (en) Multi-processor graphics display system for displaying hierarchical data structures
JPH02123459A (ja) マーカ・エンテイテイ管理方法
JPS6339947B2 (ja)
JPS61286977A (ja) 図形作成装置における図形の部分変形方法
JP2000172861A (ja) 多層型多角形編集および描画方法
Williams et al. Data Structures in Computer Graphics
JPH0628440A (ja) データの保護機能を持つ編集装置
JPH0620021A (ja) 図形処理方法および装置
Ashley et al. More GTK Widgets
JPH0556556B2 (ja)
JP3060497B2 (ja) マーカのセグメント登録・再描画方式
Mena-Quintero et al. The {GNOME} Canvas: A Generic Engine for Structured Graphics
Gullestad Implementation of a subset of PHIGS
Goodson PostScript for archaeological drawings
Carson et al. Development and Implementation of a General Purpose X-Windows Display Program
JPS62278677A (ja) 図形セグメント管理方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080906

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090906

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100906

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110906

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110906

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120906

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120906

Year of fee payment: 10