JP2000516738A - 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム - Google Patents

集積回路設計に使用するための頂点ベースジオメトリエンジンシステム

Info

Publication number
JP2000516738A
JP2000516738A JP10508900A JP50890098A JP2000516738A JP 2000516738 A JP2000516738 A JP 2000516738A JP 10508900 A JP10508900 A JP 10508900A JP 50890098 A JP50890098 A JP 50890098A JP 2000516738 A JP2000516738 A JP 2000516738A
Authority
JP
Japan
Prior art keywords
vertex
geometry
vertices
data
list
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
JP10508900A
Other languages
English (en)
Other versions
JP4503707B2 (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 JP2000516738A publication Critical patent/JP2000516738A/ja
Application granted granted Critical
Publication of JP4503707B2 publication Critical patent/JP4503707B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Generation (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 処理スピードを改良するとともにメモリスペース量を節減するジオメトリを処理するためのシステム。本システムは、頂点キューにおけるデータが引き渡されるのにつれて当該データが自由化され、最少限度の中間結果のみが記憶されるように頂点キュー(70)に頂点を順々に引き渡す。この増分評価によって、必要なメモリスペースが節減される。本発明の別の態様においては、分類オペレーションが排除できるように、頂点が適切な順序に維持される。頂点リスト全体の再分類が防止可能であるように分類済み頂点キュー(70)および未分類頂点リスト(72)が用いられる。さらに、分類済みかつ減少済み頂点キューから多くの情報を再導出することができるという事実に基づいて、ジオメトリを記憶するための圧縮されたフォーマット(34)が用いられる。

Description

【発明の詳細な説明】 集積回路設計に使用するための 頂点ベースジオメトリエンジンシステム発明の分野 本発明は、集積回路設計に使用するための頂点ベースジオメトリエンジン システムに関する。さらに詳細には、本発明は、入力データの増分評価を実施し 、メモリに集中的なオペレーションを避けることによって比較的少ない記憶容量 を使用し、さらに、ジオメトリエンジンシステムのスピードも改良する、集積回 路設計ジオメトリを処理するためのシステムに関する。発明の背景 ジオメトリエンジンは、通常、集積回路ジオメトリを処理するための一組 の基本的ルーチンとして定義され、この種の基本ルーチンの例には、ブールオペ レーション(And、Or、AndNot)、サイジングオペレーション(拡大(Grow)およ び縮小(Shrink))、変換オペレーション(変換、回転、ミラーリング)が含まれ る。ジオメトリエンジンは、設計規則のチェック、および、集積回路レイアウト の分割のためのVLSI設計に特に適する。 二つの幾何学エリア(AおよびB)に関してジオメトリエンジンによって実 施可能なブールオペレーションの幾つかの例を図1(a)から1(c)に示す。図1(a)に おいて、二つの幾何学領域AおよびBに関してAndオペレーションが実施される。 このオペレーションの結果として得られる領域を太い線で囲む。図1(b)において は、二つの幾何学領域AおよびBにOrオペレーションが実施される。このオペレー ションの結果として得られる領域を細い線で囲む。図1(c)においては、二つの幾 何学領域AおよびBに関してA AndNot Bオペレーションが実施され、このオペレー ションの結果として得られる領域は太い線内に含まれる。 ジオメトリエンジンによって実施可能なサイジングオペレーションの幾つ かの例を図2(a)および2(b)に示す。図2(a)において、斜線を施した幾何学領域に 関して量Δだけ拡大オペレーションが実施され、その結果、太い線によって囲ま れた幾何学領域を達成するためにすべての縁が固定量Δだけ外側に動かさ れる。図2(b)において、斜線を施した幾何学領域に関して縮小オペレーションが 実施され、その結果、太い線によって囲まれた幾何学領域を生成するためにすべ ての縁が固定量Δだけ内側に動かされる。拡大および縮小オペレーションは、二 つ以上の幾何学領域が設計規則における正しい間隔を保っているかどうかを判定 する集積回路設計のための設計規則チェックにしばしば用いられる。 様々なベースの表現機能を備えたジオメトリエンジンシステムが公知であ り、前記表現機能には、図3(a)および3(b)に示すように同一限界内の多角形体に よる幾何学ベース表現、図3(c)および3(d)に示すようにオーバラップしない四辺 形(長方形または台形)による幾何学ベース表現、図3(e)および3(f)に示ように 頂点による幾何学ベース表現が含まれる。これら公知の表現は集積回路設計に用 いられて成功しているが、同時に、各表現と関連した欠点および問題がある。例 えば、扱い難い表現方法は一般に操作を厄介にするので、同一限界内の多角形体 による幾何学ベース表現はメモリおよびスピードの問題を生じる。オーバラップ しない四辺形による幾何学ベース表現は、非重複四辺形が一緒に結合して生じる 偽の縁を導入し、この場合も同様に厄介な表現が生成される。頂点による公知の 幾何学ベース表現は、大きいメモリに関する必要条件、および、全体的に処理ス ピードが遅いことに起因する問題を生じる。頂点による幾何学ベース表現の潜在 的な問題は、これらの表現が任意角度ジオメトリに充分良好には適していないこ とであるが、集積回路デザイナは一般に、任意角度ジオメトリを回避するために 、設計を簡素化し、幾つかの写真平板プロセスを最適化する直角設計を採用する ので、上記の理由は多くの集積回路設計アプリケーションには問題を提起しない 。 これら公知の表現のうち、頂点ベース表現システムは、集積回路設計アプ リケーションに対して、全体的に、最も多くの利点を提供する。頂点ベース表現 によって提供されるこの種の利点のうちの一つは、簡単で一貫性のあるデータタ イプが使用可能なことである。例えば、各象限において一つの頂点に関する16種 の可能なデータの組合せは、解析を目的とする場合には十種の可能なデータ組合 せに減少させることが可能である。図4(a)から4(j)までに示すこれら十種類の可 能な組合せには、頂点における四種類の凹状データ配置(図4(a)から 4(d)まで)、頂点における四種類の凸状データ配置(図4(e)から4(h)まで)、複 雑配置と称する頂点における二種類の反対データ配置(図4(i)および図4(j))が 含まれる。頂点ベース表現の他の利点は、ジオメトリの間違った特徴が生成され ないことである。間違った特徴が一切存在しないことは、存在しない縁に関して 余分な構成線を生成する四辺形による幾何学ベース表現と比較すると、メモリ容 量を小さくし、使用する処理時間を短縮することを可能にする。その結果として 、この種の構成線を回避することにより、頂点表現を用いて基本ルーチンを実施 するために必要な処理時間およびメモリスペースが節減される。さらに、頂点ベ ース表現による処理は直截的なジオメトリ間相互作用を生成し、その結果、複雑 かつ多重図形が用いられることにより複雑な幾何学的相互作用に導かれる多角形 体ベース表現と比較して、基本ルーチンの処理に必要な時間が節減される。さら に、頂点ベース表現は、当該頂点によって表される隅におけるルーチンおよびオ ペレーションを容易に実施することを可能にする。 ただし、公知の頂点ベース表現システムは、或る態様の集積回路設計アプ リケーションにおいては不利である。頂点ベース表現システムが任意角度ジオメ トリにほとんど不適当である場合であっても、大抵のジオメトリは機械によって 生成されるので、或る種のフォトリソグラフィプロセスおよび簡素性に関して、 水平縁と垂直縁との間に最良のフォトリソグラフィ解像度を供給するために当業 界が全体的に直角設計に向かう傾向にあるので、これは、一般的に、集積回路設 計における大きい問題ではない。従って、公知の頂点ベース表現システムにおけ る主要な欠点はスピードおよびサイズにおける欠陥である。換言すれば、公知の 頂点ベース表現システムは、中間結果および不必要な処理のために多量の記憶容 量を使用し、その結果、当該システムは、メモリ操作に起因する低速動作へと導 かれる。 公知の頂点ベースジオメトリエンジンシステムの一例は「ファング(fang) 」システムと呼ばれ、カリフォルニア大学バークレイ校のPeter Mooreによって1 980年代半ばに開発されたが、ソースコードおよびそれから発展された疑似コー ド(pseudo code)以外は、このシステムの発表については一切知られていない。 公表された文書が無いので、ファングシステムの一般的な説明を次 に述べる。図5は、ファングデータ構造の幾つかの例を示す。ファングデータ構 造は、「分類済み」および「減少済み」フラグビット522および524を有するファ ングジオメトリデータ構造520を含む。ファングにおいては、一般に用語「併合 済み」が用いられるが、用語の一貫性を保持するために、ここでは、「併合済み 」の代わりに用語「減少済み」が用いられる。分類済みフラグビット522は、頂 点の頂点リスト526が分類済みであるかどうかを表示し、減少済みフラグビット5 24は、ジオメトリ頂点が減少済みであるかどうか(ジオメトリのセルフオーバラ ップが無いかどうか)を表示する。 図5の例は、連結された頂点リストにおける二つの頂点530および540を示 す。頂点530および540用のフィールドは次のポインタ532および542を含み、これ らのポインタは、連結されたリストにおける連続したエントリ、頂点タイプフィ ールド534および544、xおよびyの値536および538、並びに、546および548を指示 する。ファングシステムにおいて、頂点分類は、左から右へ、および、下から上 へ、走査線の順序に従って実施される。追加ジオメトリの読取りまたは収集によ って新規ジオメトリ図形が追加される場合には、新規頂点は簡単に頂点リストに 付加されるので、頂点の順序が乱れる。さらに、例えば、拡大、ミラーリング、 或いは、回転のようなオペレーションが実施される場合には、頂点は異なる方向 に動き、それによって、頂点リスト526内の頂点を混乱させることが有り得る。 従って、頂点が混乱しないことを保証する必要のある場合には、頂点リスト526 は、ファングシステムによって自動的に分類される。ファングシステムにおいて 、頂点リスト526は極めて頻繁に分類され、そして、nがリスト内の頂点の個数で ある場合に、各分類に必要なオペレーションの数はn・log2nまたは「O(n・log2n) 」の次数位として表現可能であるので、これらのオペレーションは実質的な時間 量を使用可能である。 ファングシステムにおける重要なオペレーシンは減少である。減少オペレ ーションに関する背景として、ジオメトリ「深度」について次に簡単に説明する 。一般に、ジオメトリ深度は、特定点におけるジオメトリの重なり数である。例 えば、ジオメトリ深度ゼロは、幾何図形の間に空間があり、その点には一切のジ オメトリが存在しないことを示す。ジオメトリ深度1は、その点にジオメト リ図形が存在することを示し、そして、一般に、ジオメトリ深度の値は一つの点 において重なる図形の数に対応する。ジオメトリ深度の概念は、ジオメトリ深度 が当該ジオメトリ全体に亙ってゼロまたは1の何れかである場合にジオメトリ減 少されるという事実により、減少オペレーションにおいて使用される。ジオメト リは、一つの新規な幾何図形が追加され、既存のジオメトリに重なった後で、一 般に、減少されないままの状態に残される。従って、新規な幾何図形が追加され た場合に、ファングシステムは、オーバラップが発生したと仮定し、そして、減 少済みフラグをクリアする。同様に、拡大およびorオペレーションに関しては、 二つのの幾何図形はオーバラップ可能であり、そして、ジオメトリが減少される ことを保証するために、当該ファングシステムは減少済みフラグをクリアする。 減少済みジオメトリを要求するオペレーションが実施される場合には、減少済み フラグが解析され、そして、減少済みフラグがセットされない場合には、減少オ ペレーションが実施される。 図6を参照しながら、ファングシステムの減少方法についてさらに詳細に 検討することとする。ファングシステムにおいて、頂点は走査線順序に従って調 査され、そして、現行走査線を切る垂直縁の一時的なリストが作成され、減少オ ペレーション期間中維持される。ファングシステムの減少方法において、頂点が 入力ジオメトリ内に存在するか、或いは、入力頂点を含む走査線を垂直縁が横切 る場合に、点が解析される。これらは、図6においてaからjにラベル表示された 点である。これら解析された点それぞれにおいて、解析された点の左(上下)ま でのジオメトリ深度は既知であり、頂点(存在する場合)は、当該点のジオメト リの右上にジオメトリ深度までのオフセットを加え、そして、縁(存在する場合 )は、当該点の右(上下両方)にジオメトリ深度までのオフセットを加える。そ の結果、各象限におけるジオメトリ深度に応じて出力頂点が生成され、当該縁は 、当該点の上のジオメトリ深度Δに基づいて、加えられるか、或いは、除去され る(右上および左上までの領域の間の深度差)。 この減少方法の一つの例について、図6の点aからjに関して検討を続ける ことにする。点aにおいて、左の縁が縁リストに加えられ、そして、出力頂点が 作成される。点bにおいて、右の縁が縁リストに加えられ、そして、出 力頂点が作成される。点cにおいて、左縁が確認され、そして、動作は一切実施 されない。点dにおいて、左縁が縁リストに加えられ、そして、出力頂点は作成 されない。点eにおいて、右縁が確認され、そして、出力頂点が作成される。点f において、右縁が縁リストに加えられ、そして、出力頂点が作成される。点gに おいて、左縁が縁リストから除去され、そして、出力頂点が作成される。点hに おいて、左縁が縁リストから除去され、そして、出力頂点は作成されない。点i において、右縁が縁リストから除去され、そして、出力頂点は作成されない。点 jにおいて、右縁が縁リストから除去され、そして、出力頂点が作成される。こ れらの動作によって、図6に示すジオメトリがジオメトリ深度ゼロまたは1まで 完全に減少される。ファングシステムにおいて、ジオメトリは頻繁に減少され、 そして、不必要な減少オペレーションが実施可能であって、その結果、システム のスピードが低下する。例えば、ファングシステムは、他のAndオペレーション を提供するAndオペレーションの結果を不必要に減少することが可能である。最 悪の場合において、各減少にはO(n2)時間を要するが、実際には、オペレーショ ン動作の数は線形、O(n)に近い。 公知の頂点ベースジオメトリシステムにおいて、当該ジオメトリを処理す るために必要なメモリサイズは通常最大の問題であるとみなされる。例えば、フ ァングシステムにおいて、各頂点を表すためにデータの16または20バイトが用い られ、そのために、多量のメモリを必要とする。さらに、ファングは、完全なソ ースデータと各オペレーションの結果とのためにメモリを同時使用する必要があ り、従って、大量のメモリを使用することになる。従って、本発明は、第一に、 ルーチンを実施するために必要な記憶量を減少することに関する。第二に、そし て、メモリサイズを減すことの副産物として、本発明は、これらのルーチンを実 施するためのスピードを上げることにも関する。 発明の要約 本発明は、ジオメトリを処理し、その結果として、ジオメトリを処理する ために必要な記憶量を減少し、同時に処理スピードを改良するためのシステムお よび方法に関する。本発明の一態様において、本システムおよび方法は、データ が渡されるにつれて頂点キュー内のデータが自由化され、最少限度の中間結果だ けが記憶されるように、頂点キューへ頂点を順々に渡す。この増分評価により、 消費部(consumer)がデータを自由化するにつれて、中間結果の生成部(producer) がデータを生成する。従って、あらゆる時点において中間結果の小さい部分だけ が存在するので、必要なメモリスペースが節減される。 本発明の他の態様において、本システムおよび方法は、分類オペレーショ ンを排除することができるように、適切な順序に頂点を維持する。さらに詳細に は、頂点リスト全体の再分類を防止することができるように、分類済み頂点キュ ーおよび未分類頂点リストが利用される。分類済み頂点キューおよび未分類頂点 リストの使用は、入力データの読取り或いは収集に際して特に有用である。この 種のデータ収集に際して、所定量のデータに達するまで、未分類頂点リストがデ ータを受け取り、未分類頂点リスト内に存在するデータは分類され、その後で、 分類済み頂点キュー内に記憶される。その後、データの収集および未分類頂点リ スト内への読込みが継続可能である。分類済み頂点キューと未分類頂点リストを このように使用すると、分類済み頂点キューと未分類頂点との間でデータを能率 的に記憶および管理することが可能である。さらに、分類済み(および減少済み )頂点キューはコンパクトな形式において記憶されることが可能であり、結果的 に、記憶に必要な空間量が節減される。 図面の簡単な説明 本発明は、以下に記載する詳細な説明および添付図面によって一層充分に 理解されるはずである。この場合、添付図面は説明のみを目的とするものであり 、従って、本発明に関して制限的意味をもつものではない。 図1はジオメトリに実施されるブールオペレーションの例を示す。 図2(a)および2(b)はジオメトリに実施される拡大および縮小プロセスの例 を示す。 図3(a)から3(f)はジオメトリの種々異なる表現に関する例を示す。 図4(a)から4(j)は直線で囲まれた頂点に関して可能なデータ組合せを示す 。 図5は公知の頂点ベース表現ジオメトリエンジンシステムに関するデータ 構造を示す。 図6は公知の頂点ベースシステムにおいて減少されるべきジオメトリに関 して調査するべき点を示す。 図7は本発明の一実施形態に従った頂点ベースジオメトリエンジン用シス テムを示す。 図8(a)は本発明の一実施形態に従い頂点ベースジオメトリエンジンシステ ム用として使用可能なデータ構造を示す。 図8(b)は本発明の一実施形態に関して、一つのキューから一つの頂点を抽 出するためのフローチャートである。 図8(c)は本発明の一実施形態に従ったキューデータ構造を示す。 図8(d)は本発明の一実施形態に関するマージャーのソースデータ構造を示 す。 図8(e)は本発明の一実施形態に従ったマージャーの補充機能に関するフロ ーチャートである。 図8(f)はシステムへの入力データを配送して、処理するためのフローチャ ートを示す。 図9は8アイテムリスト用の併合/分類プロセスの一例を示す。 図10は本発明の一実施形態に基づく頂点ベースシステムの分類オペレーシ ョンを最小限化するためのプロセスを示す。 図11は本発明の一実施形態において実施されるブールオペレーションプロ セスの一例を示す。 図12(a)から12(f)は公知の頂点ベースシステムと本発明の実施形態に従っ た頂点ベースジオメトリエンジンシステムとの間の成長オペレーションおよび萎 縮オペレーションの比較を示す。 発明の詳細な説明 本発明の実施形態は、既知の頂点ベース表現システムと比較して空間およ びスピード特性を改良するために頂点ベース表現法を備えたジオメトリエンジン を利用するシステムに関する。本発明を理解し易くするために、模範的な一具体 化例に関して以下に記述する。ただし、本発明の原理がこの特定の実施形態に制 限されるものではないことを理解されたい。むしろ、本発明は、あらゆるタイプ のコンピュータまたはジオメトリ用に、頂点ベース表現を用いることが望ましい システムに適用可能である。コンピュータシステムの特定ハードウェア構成要素 は本発明自体の一部を形成しないが、プロセスおよびオペレーションを生成する ために本発明の機能がコンピュータシステムの当該ハードウェアと協働する方法 を完全に理解することを可能にするために、これらの要素について簡単に説明す ることとする。 図7において、本発明の一実施形態において使用可能な模範的なコンピュ ータシステムは、それに接続された様々の外部周辺デバイス12を備えるコンピュ ータ10を有する。コンピュータ10は中央処理装置(CPU)14および関連記憶装置を 含む。前記の関連記憶装置には、通常、一般にRAM16の形で具体化される主記憶 装置、例えばROM18のような静的記憶装置、および、例えば磁気または光学デバ イス20のような永久記憶デバイスが含まれる。CPU14は、内部バス22を介して前 記の記憶装置、および、一つまたは複数の入力/出力ポート32により外部周辺デ バイス12と交信する。前記周辺デバイス12には、例えばキーボード24のようなデ ータ入力デバイス、および、例えばマウス、トラックボール、ペン、或いは、そ の類似品のような指示またはカーソル制御デバイス26を含む。コンピュータ10内 で処理される本発明のビジュアルディスプレイを提供するために、例えばCRTモ ニタまたはLCDスクリーンのようなディスプレイデバイス28も外部周辺デバイス1 2に含まれる。処理済み情報のハードコピーは、プリンタ30、或いは、同様に外 部周辺デバイス12に含まれる他の類似のデバイスを介して提供可能である。 本発明の一実施形態に従い、ジオメトリ用に頂点ベース表現を使用するシ ステムは、入力データの増分評価の実施が可能であるように、例えば図8(a)に示 すような基礎的データ構造を有する。図8(a)に示す基礎的データ構造50の一例に は、オーバラップフラグビット52、ボイドフラグビット54、および、フリー・オ ン・ユースフラグビット56が含まれる。オーバラップフラグビット52 は、処理されるべきジオメトリが何等かの自己オーバラップ(すなわち、ジオメ トリ深度が1を超える場所)をもつか、或いは、もつことが可能であるかどうか を表示する。ボイドフラグビット54は、ジオメトリがボイド(すなわち、ジオメ トリ深度がゼロ未満である場所)をもつか、或いは、もつことが可能であるかど うかを表示する。フリー・オン・ユースフラグビット56は、ジオメトリの使用に 際して当該ジオメトリが自由化されるべきであるかどうか(すなわち、ジオメト リを維持するか、或いは、削除するかどうか)を表示する。さらに、データ構造 50は、分類済み頂点キュー70に対するポインタ58、および、未分類頂点リスト72 に対するポインタ60を含む。 分類済み頂点キュー70および未分類頂点リスト72は、当該ジオメトリのフ ィールド深度が含む。本発明のデータ構造50においては、真の逆ジオメトリが本 発明によって表すことが可能であるように、無限におけるジオメトリ深度がゼロ であると定義されているファングシステムとは対照的に、無限におけるジオメト リのフィールド深度は一般にゼロまたは1である(しかし、任意の値をもつこと が可能である)。 さらに、分類済み頂点キュー70および未分類頂点リスト72は、連結済みリ ストにおいて複数の頂点からなる一つの小さいキャッシュを有する(ファングシ ステムの頂点リストに類似する)。分類済み頂点キュー70は、さらに、頂点キャ ッシュが空である場合にこう呼ばれる補充機能に対するポインタ、および、補充 機能が必要とするあらゆるデータに対するポインタを含む。 使用に際して、図8(b)のフローチャートの例に示すように、一つのキュー から一つの頂点を抽出するために一つのキューからその次の頂点を得るための標 準手順が提供される。図8(b)においては、頂点キャッシュが空であるかどうかは ステップS100において決定される。頂点キャッシュが空である場合には、ステッ プS102において補充機能がコールされる。次に、ステップS104において、当該頂 点キャッシュが依然として空であるかどうかが再度決定される。頂点キャッシュ が未だ空である場合には、この過程は完了する。ただし、ステップS100またはス テップS104の何れかにおいて当該頂点キャッシュが空でないことが決定された場 合には、この過程が完了する前にステップS106において、当 該頂点キャッシュから第一の頂点が除去され、そして、それが戻される。 補充機能は、この機能がコールされると、通常、小さいグループの頂点を 当該頂点キャッシュ内に置く。それにより、補充機能は頂点のすべてのグループ に関してただ一度だけコールされるので、補充機能をコールするオーバヘッド時 間が短縮される。この頂点グループの正確なサイズは変化可能であるが、当該頂 点キャッシュが必要とするメモリが小さくなるように、当該頂点グループのサイ ズは、当該頂点キャッシュ内に少数の頂点を置くように指定される。例えば、走 査線処理(例えば、アンパックおよび減少過程のような)を実施中の補充機能に おいては、一般に、1コールにつき一走査線が処理され、そこから、一時に頂点 キャッシュ内に置かれる頂点の個数が決定される。 本発明の一実施形態において、「補充機能」が当該頂点キャッシュの補充 を決して完成することのない点を除いては分類済み頂点キュー70用に使用する場 合と同じデータ構造を用いて、未分類頂点リスト72は具体化可能である。従って 、当該頂点キャッシュは完全な頂点リストの含む。 このデータ構造は、分類済み頂点キュー70内のデータが、当該データが解 放されるにつれて、自由化されることが可能であるように、分類済み頂点キュー 70によって頂点が順々に解放されることを可能にする。これは、結果を計算する ために入力データが使われるにつれて当該入力データを自由化することによって データが増分的に評価されることを可能にする。それにより、任意のあらゆる所 与時間において、中間結果の極く小部分のみが存在し、データ処理のために必要 な記憶空間の量はを減少させることが可能である。 補充機能およびその関連データについて包括的に説明したが、説明を明瞭 にするために、特定の実施形態の適用について以下に説明する。データのブロッ クを併合する場合、補充機能は、二つのキューから頂点をピールアウト可能であ り、出力するために適切な順序で当該頂点を解放することが可能である。この実 施形態に用いたデータ構造は、二つの入力キューに対するポインタ、および、各 入力キューから除去したばかりの頂点に対する一つのポインタを含む。補充機能 は、比較のために頂点を除去し、その後で、一方を将来の参考のためにセーブし 、他方を戻すことが可能でなければならない。 図8(c)は、キュー自体に関する本発明の実施形態に使用可能なデータ構造 を示す。キューデータ構造200は無限における深度を表すフィールド深度データ2 02、補充機能254と関連した補充機能ポインタ204、コピー機能256と関連したコ ピー機能ポインタ206、自由化機能258と関連した自由化機能ポインタ208、補充 機能254に関するデータを備えた構造260と関連したソースデータポインタ210、 キャッシュにおける頂点の個数を表すキャッシュカウントデータ212、キャッシ ュヘッドポインタ214、および、キャッシュテールポインタ216を含む。構造260 の形式は補充機能254に応じて変化可能である。キャッシュヘッドポインタ214は 、キャッシュ2201、2202、…、220nの連結済みリストの初めを指示し、キャッシ ュテールポインタ216はキャッシュの連結済みリストの終りを指示する。キャシ ュされた各頂点は、次のポインタ2221、2222、…、222n、頂点型フィールド2241 、2242、…、224n、並びに、xおよびyフィールド2261、2262、…、226nおよび22 81、2282、…、228nを含む。この場合、接地記号によって表されるように、キャ ッシュリストにおける次の最後のポインタは無効ポインタである。 図8(d)および8(e)は、それぞれ、マージャ(merger)におけるソースデータ に関する構造およびマージャの補充オペレーションに関するフローチャートを示 す。図8(d)において、ソースデータに関する構造300は第一のキューポインタ302 、第一のキューピークポインタ304、第二のキューポインタ306、および、第二の ピークポインタ308を含む。第一のキューポインタ302は第一のデータキュ−310 を指示し、第一のキューピークポインタ304は、第一のキューデータ構造310から 第一の頂点データ312までを指示する。第一の頂点データ312は、次のデータポイ ンタ314、頂点型データ316、並びに、xおよびyデータ318および320を含む。第二 のキューポインタ306は第二のデータキュー322を指示し、第二のキューピークポ インタ308は第二の頂点データ324を指示する。第二の頂点データ324は次のデー タポインタ326、頂点型データ328、並びに、xおよびyデータ330および332を含む 。 図8(e)に示すような本発明の実施形態用のマージャ補充機能については、 図8(d)のソースデータ構造の場合において、説明する。第一のピークポインタ に関する頂点データが第二のピークポインタに関する頂点データ以前に来るかど うかはステップS400において決定される。第一ピークポインタが第二ピークポイ ンタ以前に来ない場合には、第二ピークポインタと関連した頂点データは、ステ ップS410において、頂点キャッシュまで動かされる。次に、ステップS420におい て、第二キューが空であるかどうかが決定される。第二キューが空である場合に は、メモリは自由化され、ステップS450において、第一データキューによって置 き換えられ、その後で、当該プロセスは完了する。ステップS420において第二デ ータキューが空でないことが決定された場合には、第二データキューからの第一 頂点データは、ステップS430において、第二ピークポインタに置かれる。次に、 ステップS440において、当該キャッシュ内に充分な頂点が存在するかどうかが決 定される。当該キャッシュ内に充分な頂点が存在しない場合には、当該プロセス はステップS400に戻るが、当該キャッシュ内に充分な頂点が存在する場合には、 プロセスが完了する。 ステップS400に戻り、第一ピークポインタ用の頂点データが、第二ピーク ポインタ用の頂点データの前に来る場合には、第一ピークポインタと関連した頂 点データは、ステップS460において、キャッシュへ移動される。次に、ステップ S470において、第一キューが空であるかどうかが決定される。第一キューが空で ある場合には、メモリが自由化され、ステップS490において、第二データキュー によって置き換えられ、その後で、当該プロセスは完了する。ステップS470にお いて、第一データキューが空でないことが決定された場合には、ステップS480に おいて、第一データキューからの第一頂点データは第一ピークポインタ内に置か れる。次に、当該キャッシュ内に充分な頂点が存在するかかどうかを決定するた めに、プロセスはステップS440まで進む。 分類済み頂点キュー70および未分類頂点リスト72を使用することにより、 大量の入力データをシステム内へ読込むことを可能にする。既知のファングシス テムにおいて、当該システムヘ読込み可能な入力データの量は、未分類入力リス トによって制限される。ファングシステムが入力データを受け取ると、未分類入 力データは、一つの単一未分類頂点リストに直接記憶され、受け取り可能な入力 データの量は前記の単一未分類頂点リストのサイズに依存する。入力データ 量が処理システムの記憶容量を超過した場合には、当該ファングシステムは、一 切の入力データを処理することなしに、処理を中止する。 本発明の一実施形態において、分類済み頂点キューおよび未分類頂点リス トは、ファングシステムのこの制限を処理するために利用される。本発明のこの 実施形態において、入力データは未分類頂点リスト72に直接引き渡され、当該シ ステム系は、入力データが未分類頂点リスト72の所定の最大サイズに到達するか 或いは超過する時点を決定する。入力データがこの所定量に到達するか、或いは 、超過した場合には、未分類頂点リスト72へ読込まれたデータは分類され、圧縮 された形式に変換され、その後で、この検出に際して分類済み頂点キュー70内に 記憶されるので、未分類頂点リスト72が一掃され、そして、追加入力データを受 け取る準備が整えられる。分類済み頂点キューは未分類リストよりも一層緻密に 記憶されることが可能であるので、システムは、未分類頂点リスト72における利 用可能な記憶空間を超過する大量の入力データを読取ることができる。 本実施形態の一例を図8(f)に示す。ここに入力データ量が利用可能な記憶 空間の所定量に到達するか、或いは、これを超過した場合、入力データは、当該 入力データが分類され、分類済み頂点キュー70へ転送される以前に未分類頂点リ スト72へ読込まれる。この決定を実施するためのプロセスステップの一例を図8( f)に示す。ステップS10において、データは、未分類頂点リスト72に入力される 。次に、システムは、未分類頂点リスト72へ入力されたデータが、ステップS520 において、未分類頂点リスト72内に入力データを記憶するために利用可能な空間 量を表す所定量に到達するか、或いは、これを超過するかどうかを決定する。入 力データがこの所定量に到達するか、或いは、これを超過した場合には、未分類 頂点リスト72におけるすべての新規データは、ステップ530において、分類され る。新規データを分類済み頂点キュー70に併合するために、新規データは、ステ ップS32において、減らされ、ステップS3において圧縮され、その後、ステップS 40において、分類済み頂点キュー70に記憶される。未分類頂点リスト72も、ステ ップS40において一掃され、さらに多量のデータ受取りのために利用可能になる 。ステップS40の後、または、入力データが所定の入力値を超過しないことがス テップS20において決定された場合、プロセス はステップS50まで進み、ここで、さらに多量の入力データが利用可能かどうか について決定が行われる。さらに多くの入力データが利用可能である場合には、 プロセスは、未分類頂点リスト72へさらに多くのデータを入力するために、ステ ップS10まで進む。それ以上の入力データが利用可能でない場合には、この入力 データ処理は完了する。上記のプロセスは、システムへデータを入力するための スペースとスピードに関する考察事項を最適化する。 さらに、個別の分類済み頂点キュー70および未分類頂点リスト72は、頂点 リスト全体を再分類することなしに、追加の幾何図形を現行ジオメトリに加える ことを可能にする。分類プロセスは、頂点ベースシステムにおいて頻繁に実施さ れる基本的プロセスであるので、一般的併合/分類プロセスについて簡単に検討 することにする。併合分類プロセスにおいて、リストマージャは、各リストの第 一エレメントを繰り返し比較し、その後、最初に到来したエレメントを当該出力 リストへ入れることにより、二つの分類済みリストを併合する基本的なエレメン トである。さらに一般的には、n個のアイテムを含む一つの未分類リストは、そ れぞれ一個のアイテムを含むn個のリストに分割されるが、図による説明を容易 にするために、八個のアイテムを含む一つのリストを図示することにする。一個 のアイテムを含むリストの対は、二個のアイテムを含む半分の個数のリストに併 合され、二個のアイテムを含むリストの対は、四個のアイテムを含む半分の個数 のリストに併合される。これらの相互作用的プロセスは、結果が一つのリストに 記憶されるまで繰り返される。 八個のアイテムを含む一つのリストを分類するための併合/分類プロセス を図9に示す。図9において、八個のアイテムを含むリストは、(a)(g)(d)(c)(e )(b)(h)(f)によって表される。ステップの最初のグループにおいて、併合/分類 ユニット100、102、104、106は、一個のアイテムを含むリスト対(a)と(g)、(d) と(c)、(e)と(b)、(h)と(f)を併合する。最終ステップにおいて、併合/分類ユニ ット112は、四個のアイテムを含む二対のリスト(a,c,d,g)と(b,e,f,h)を八 個のアイテムを含む一つの分類済みリスト(a-h)に併合する。n個のアイテムを 一つの分類済みリストに併合するために各頂点が必要とするステップ数に関する 一般化された関係式はlog2nであり、 必要なステップの全個数はn・log2nである。この場合の「ステップ」は、サブリ ストからの頂点をまず比較すること、および、この比較に基づいて最初に到来す るべき頂上を出力することを含む。図9に示す八個のアイテムを含むリストに関 する例において、アイテム当たり必要なステップ数は3ステップ(log28)である 。併合分類プロセスを用いて八個のアイテムすべてを処理するためには、24ステ ップ(8・log28)が必要である。 分類(sortinq)はシステムのスピードを低下させる低速プロセスであるの で、本発明は、頂点が乱れることをできる限り防止することによつて分類を制限 する。本発明の一実施形態において、分類オペレーションを回避するための技法 は、頂点リストを再分類する以前における目盛係数(scale factor)の決定に関係 する。本実施形態の一般原則は、スケーリングが頂点の完全分類を開始すること を防止することである。スケーリング演算は頻繁に実施されるので、前記の原則 は集積回路設計に有用である。さらに詳細には、目盛係数が1より大きい場合に は、当該リスト内の頂点は秩序を保ち、従って、再分類演算は一切実施されない 。ただし、目盛係数が1未満である場合には、走査線が合併することがあり得る 。従って、基準化された同一Y座標をもつすべての頂点が収集され、再分類演算 は、多重オリジナル走査線を有する頂点に関して実施される。頂点の再分類はス ケーリングの後で自動的には実施されないので、スケーリングプロセスに際して 不必要な分類を実施することは、本実施形態においては回避され、その結果、シ ステムスピードが改良される。 本発明のさらに別の実施形態においては、さらに迅速な併合分類オペレー ションが実施されるように拡大および縮小オペレーションの後で短縮された併合 分類オペレーションが実施される。これとは対照的に、既知のファングシステム は、さらに時間を消費する完全な併合分類オペレーションを実施する。さらに詳 細には、即時減少には分類済みリストを要する減少を必要とするので、前記のフ ァングシステムは、縮小オペレーションの直後にソートオペレーション動作を実 施する。前記ファングシステムは、拡大オペレーションの後において、未分類リ ストとしての頂点リストに単にタグを付けるのに過ぎないので、通常、その次の オペレーションの前に類別されるべき頂点リストを必要とする。ただし、本発 明においては、完全分類は、さらに迅速な短縮された併合分類によって代置され る。拡大または縮小オペレーションの後における分類を制限する技法は、図10に 示すように、各頂点は四方向(左上、右上、右下、左下)のうちの一方向のみに 移動可能であるという事実に基づく。所定の方向の任意の一方向に移動する頂点 は適切に分類された状態に止どまるので、本実施形態においては、頂点が移動中 の方向に基づいて各頂点を類別した後で、二つの最終ステップとして、併合/分 類が実施される。拡大および縮小オペレーションの後で再分類するために必要な 時間量は、この技法によって大幅に減少される。明確には、完全分類によるステ ップ数(n・log2n)は、本実施形態の技法のためのステップ数(n・log24)によって置 き換えられるので、当該システムのスピードは、係数log2n/log24だけ増大され る。ここに、nは分類されるべき回数である。 本発明の他の実施形態において、回転およびミラーリングオペレーション に際しては再分類は回避可能である。X方向におけるミラーリングオペレーショ ンに関しては、各走査線における頂点は蓄積され、その後で、反転可能である。 X座標をX方向において反転することにより、X方向におけるミラーリングオペレ ーションに関する再分類が回避可能である。アンパッカオペレーション(後で詳 細に説明する)は、頂点が走査線順に採取され、エッジリストが維持される減少 機能に類似する。関心の対象とされる点を解析するファングシステムと同じコン セプトが実施される。さらに、右上の象限におけるジオメトリ深度が予測され、 入力データに当該頂点が見付かった場合には、前記予測は訂正される。 ただし、アンパッカオペレーションは、アンパッカオペレーションはゼロ および1の深度のみを扱い、減少機能と異なる予測規則が用いられるという点に おいて減少機能とは異なる。データの圧縮された形式がすべての四隅を全く同じ に記憶し、第一頂点の場合と同じ方法において各走査線における最終頂点を明確 に記憶する場合には、アンパッカオペレーションは、Y方向におけるミラーリン グオペレーションに関して、バイトストリームを後方に向かって読取り可能であ る。事実上、このオペレーションは、YおよびX両方向をミラーリングする。例え ば90度回転のような座標交換オペレーションを実施するためには、非回転ジオメ トリのO(√n)走査線列であったO(√n)カラムを併合することが必要で ある。ステップ数は依然としてO(n・log2n)のままである。ここに、n=アイテム個 数、ただし、各カラムは圧縮された形式に留まるので、完全分類に比較して必要 記憶容量は少なくなる。 本発明はオーバラップとボイドの両方を表すことを可能にするので、現在 知られている頂点ベースシステムの場合よりも一層迅速に一層少ない記憶容量を 用いて一層能率的にブールオペレーションを実施可能である。次に、OrおよびAn dオペレーションについて記述する。まず、各ジオメトリオペランドからの頂点 キューにアクセスする。未分類頂点リストがデータを含む場合には、当該リスト は、分類され、その後で、分類済みキューに併合されなければならない。当該ジ オメトリの使用が自由(free on use)である場合には、ジオメトリ構造は自由化 される。当該ジオメトリがボイド(Orオペレーションに関して)、または、オー バラップ(Andオペレーションに関して)をもつ場合に、減少済みフラグがセッ トされていないならば、キューは減少機能をパスする。この減少機能はコピーオ ペレーションの前に実施されるので、このジオメトリを将来使用する際には減少 させる必要がない。当該ジオメトリの使用が自由(free on use)である場合には 、結果として得られる頂点キューは簡単に使用される。すなわち、使用に際して 、頂点がそこから除去されるにつれて、そのメモリは自由化される。そうでない 場合には、当該キューは使用前にコピーされる。各ジオメトリオペランドに関す る頂点キューにアクセスした後で、オペランドから結果として得られる頂点キュ ーが併合される。従って、フィールド深度はオペランドフィールド深度の和であ り(And機能に関しては-1)、深度がゼロよりも大きい結果的なあらゆる場所に ジオメトリが存在するものとみなされる。結果として、オーバラップをもつがボ イドは持たない(Orオペレーションに関し)、或いは、ボイドはもつがオーバラ ップは持たない(Andオペレーションに関して)ジオメトリが提供される。 図11は、C=(a Or b)、または、C=(a And b)のどちらかのブール幾何学オ ペレーションのダイアグラムを示す。図11に示すように、未分類頂点は、併合ユ ニット154および156に入力される以前に、分類ユニット150および152にそれぞれ 入力される。分類済みキューは、併合ユニット154および156に直 接入力される。併合ユニット154および156の出力は減少ユニット158および160に 入力される。対応するジオメトリが既に減少済みである場合には、これらの減少 オペレーションの一方または両方は省略可能である。次に、減少ユニット158お よび160の出力は、頂点の分類済みリストを出力する併合ユニット162に入力され る。データの各ブロックは、その補充機能が供給キューから引張られる頂点の小 さなバッチの併合または減少を一時に実施するキューを形成する。この時点にお いては、分類のみが未分類頂点リストに実施済みである。すなわち、他のオペレ ーションは準備が完了し、結果Cがその所望目的のために用いられるにつれて、 増分的に実行される。 さらに、本発明は、ジオメトリを16バイト/頂点において記憶するファン グシステムと比較した場合、約3/4バイト/頂点においてジオメトリを記憶するた めに圧縮済みフォーマットを用いる。本発明の圧縮済みフォーマットは、ジオメ トリを記憶するために必要な記憶空間量を大幅に減少する。本発明の圧縮済みデ ータ形式は、多量の情報は分類され減少された頂点キューから再導出することが できるという事実に基づく。走査線に関しては、第一頂点だけがY座標を必要と する。従って、反復的なY座標の記憶が排除されるので、データ記憶は圧縮され る。データは、実際の各X値を記憶する代わりに記憶されている前の頂点とX値と の差を単に記憶することによってさらに圧縮される。さらに、アンパッカオペレ ーションは、任意の点において、当該点の下方および左の三つの象限にジオメト リが存在するかどうかを前後関係(context)から決定するので頂点タイプのメモ リが削除可能である。 次に、アンパッカオペレーションは、右上の象限にジオメトリが存在する かどうかに関して推測する。記憶済み頂点が検討中の点に所在する場合には、推 測は誤っており訂正しなければならない。従って、頂点のタイプは記憶する必要 がない。さらに、アンパッカオペレーションは、ジオメトリの右上隅について常 に正しく推測することができるので、このコーナを記憶する必要が無く、これに より、記憶する必要のあるデータ量はさらに減少する。 パッカ/アンパッカの組合せを実現可能な幾つかの方法があるが、すべて の場合(減少オペレーションの実施に際して)に共通のアイデアは、当該点の左 および下に所在する三つの象限におけるあらゆる点の深度をアンパッカが既知で あるということである。このアイデアに基づき、アンパッカは、右上象限におけ る深度がゼロまたは1のどちらであるかを推測する。圧縮隅データ内に記憶され た一つの頂点がある場合には、この推測は誤っていたことになり、アンパッカは もう一方の深度を選定する。アンパッカがどのように推測するかをパッカが理解 する限り、必要な場合には頂点を記憶し、そうでない場合には記憶しないように 配備することが可能である。 原則としては、アンパッカオペレーションの推測アルゴリズムは、既知の 三象限における深度に基づいた任意の表を使用することができる。実際、アンパ ッカにとっては、減少オペレーションに関する規則に応じて「解析」されるはず の一点に所在する頂点を含む推測を実施することだけが望ましい。そうでない場 合には、アンパッカオペレーションは、所定の場所全体における頂点の存在を推 測することになり、これらの推測を訂正するために非常に多くの頂点を記憶しな ければならなかったはずであるので、「圧縮された」形式は極度に大きくなる。 さらに、走査線が垂直な縁を横切る際に、この点に頂点が所在すると推測するこ とも有り得る。従って、関心の対象になるパッカ/アンパッカの組合せ数は小さ い。表2は、あらゆる「良好な」アンパッカが、任意の点において何を推測しな ければならないか(或いは、どちらの選択が良好と考えられるか)、および、二 つのアンパッカに関する選択を示す。 LRとULの深度が同じであり、LL深度が異なる場合には差が推測される。こ の場合、頂点は存在するはずであり、推測は存在する頂点の種類を決定するだけ である。アンパッカ1による仮定は、それが単純な右上頂点であることを意味す る(二つの場合に関して、それぞれ、凹状或いは凸状)。アンパッカ2の仮定は 、それが複雑な頂点であることを意味する。複雑な頂点は稀であり、正常な頂点 混合体の約1/4は右上頂点によって占められるので、本発明の好ましい実施形態 においてはアンパッカ1を使用した。アンパッカ2は、後方と同様に前方へもア ンパックすることを可能にする唯一のアンパッカであり、Y方向において能率的 にミラーリングする本発明の実施形態を実現するために用いることが好ましい。 パッカは極めて単純なジョブを有することに留意されたい。パッカは、単 に入ってくる頂点キューを取り、頂点のタイプに厳格に基づき、それを記憶する か、或いは、当該頂点のロケーションを記憶しない。アンパッカ1に関しては、 当該パッカは、右上の頂点を除くすべての頂点のロケーションを記憶しなければ ならない。アンパッカ2に関しては、当該パッカは、複雑な頂点を除くすべての 頂点のロケーションを記憶しなけれぱならない。 本発明における圧縮済みデータ形式を使用することにより、メモリレイア ウトのバイトストリームをファイルにセーブすることができる。メモリレイアウ トは、メモリ割当の便宜上、管理可能な部分に分割することも可能である。本発 明の一実施形態において、各走査線は、ゼロのΔX値によって指示される走査線 の終端を伴った一連のΔXが後続する全体X-Y位置でスタート可能である。各ΔX のバイト数は可変である。例えば、一つのバイトの最上位のビットが1である場 合には、その次のバイトは、さらに七個の前記値のビットを含むことが予測され るはずである。大抵のΔX値は128未満であり、四個の頂点のうちの三個だけが記 憶されるので、この圧縮されたデータ形式は、約3/4バイト/頂点においてジオメ トリを記憶可能である。 圧縮済みデータフォーマットは、数回に亙ってデータが処理される場合に 最も有利に使用される。非フリー・オン・ユースジオメトリにアクセスする場合 には何時でも、頂点キューはコピーしなければならない。本実施形態においては 、圧縮された分類済み頂点キューに限りコピー可能である。従って、非圧縮キュ ータイプは、コピーされる以前に、圧縮しなければならない。圧縮済みキューの コピーは比較的速いオペレーションであるが、用語「コピー」は幾分誤称である 。既に述べたように、メモリレイアウトは管理可能なブロックに分割され、この 種の各メモリブロックは基準カウントをもつ。この種のコピーは、すべての基準 カウントがインクレメントされる場合に、有利に使用される。アンパッカオペレ ーションが一つのブロックで終了する場合、基準カウントはデクリメントされ、 基準カウントがゼロである場合には、メモリは自由化される。これは、コピーオ ペレーションが迅速に実施されることを可能にする。Y方向におけるミラーリン グオペレーションに関しては、アンパッカオペレーションは、圧縮済み形式のデ ータとともに使用可能である。 本発明の他の技法は、拡大および縮小オペレーションに起因する問題へ向 けられる。小さい図を縮小するか、或いは、小さい孔を原形が無くなる程拡大す る場合、実際の頂点タイプを歪める特定の問題が起きる。この場合、各頂点の属 性である深度Δのみが検討対象になり、実際の頂点タイプは検討対象とならない ので、これらの問題は減少機能に際して起きる。対角線上で対向するコーナの深 度Δは同じであるので、幾何図形が両軸において反転される場合には、当該幾何 図形は、図12(a)および12(b)に示すように、戻る。ファングシステムにおいては 、図12(c)および12(e)に示すように、合成頂点を付加することが公知である。こ れとは対照的に、本発明は、図12(d)および12(f)に示すように、一つのコーナタ イプに余分の頂点を追加するだけである。その結果として、用いられる頂点情報 は少なくなり、必要なメモリスペース、および、これらのオペレーションに必要 な処理時間が短縮される。 更なるスピード改善は、ゼロ未満の深度および1よりも大きい深度を対称 的に扱うことにより、本発明によって達成される。さらに詳細には、Andまたは 縮小オペレーションの結果を他のAndまたは縮小オペレーションにおいて用いよ うとする場合において、結果を減少させる必要はない。これとは対照的に、そう でない場合に結果として生じるボイドを表すことが出来ないので、ファングシス テムではAndまたは縮小オペレーションの後で常に減少する。その結果、処理時 間が節減される。さらに、減少オペレーションの変形は、ゼロより大きい深度の エリアをジオメトリとして単に解釈する代りに奇数深度のエリアをジオメトリと して解釈することである。これは、排他的なORオペレーションが基本オペレーシ ョンとして実行されることを可能にする。排他的Orオペレーションのためのジオ メトリオペランドは、この機能が適切に作動するために、一切のオーバラップま たはボイドをもってはならない。 本発明の実施形態は、同時にスピードを増大しながら、既知の頂点ベース システム全体に亙って用いられるメモリの量を減少させる頂点ベースジオメトリ エンジンへ導かれる。メモリスペースの減少は、主として、中間結果の小さい部 分だけが任意の時点において常に存在するように結果を計算するために入力デー タが使用されるにつれて入力データを自由化する当該入力データの増分評価に起 因させることができる。メモリスペースの量の節減は、さらに小さいメモリスペ ースにおけるジオメトリを記憶するために圧縮されたフォーマットを利用するこ とによっても達成される。本発明の頂点ベースジオメトリエンジンシステムはス ピードも改良する。スピード改善は、スペース節減改善に大幅に起因させること ができる。追加的なスピード改善は、分類オペレーションが減少するように、頂 点が乱れることをできる限り防止することによって達成される。さらに、ジオメ トリの減少オペレーションが最小限化され、同時に、追加的なスペースおよびス ピード改善を提供する拡大および縮小オペレーションに際して不必要な頂点の生 成が排除される。 本発明を以上のように説明したが、本発明は多くの方法で変化可能である ことは明白であろう。この種の変形は、本発明の精神および範囲からの逸脱と見 なされるべきではなく、この種すべての改変は、次の請求の範囲内に含まれるこ とを意図したものであることは当該技術分野における当業者にとっては明白であ るはずである。

Claims (1)

  1. 【特許請求の範囲】 1. ジオメトリの頂点ベース表現を処理するための方法であって、以下のステッ プを有する、 (a)頂点ベース幾何学データを入力し、 (b)所定のインクリメントにおける前記頂点ベース幾何学データを処理し、 (c)前記ステップ(b)において処理されたデータを頂点キューに順々に引き渡 す。 2. 請求項1に記載された方法であって、さらに以下のステップを有する、 (d)ジオメトリのソースから頂点が分類されているかどうかを判定し、 (e)前記ジオメトリが分類済みであることを前記ステップ(d)が検出する場合 に分類済み頂点キューにおける前記ジオメトリの頂点を記憶し、および、前記 ジオメトリが未分類であることを前記ステップ(d)が検出する場合に未分類頂 点リストにおける前記ジオメトリの頂点を記憶する。 3. 請求項2に記載された方法であって、さらに、排他的ORオペレーションを実 施するステップを有する。 4. 請求項2に記載された方法であって、前記ジオメトリの真の反転が表現可能 であるように、無限におけるジオメトリフィールド深度は随意である。 5. ジオメトリの頂点ベース表現を処理するためのシステムであって、 頂点ベース幾何学データを入力するための手段と、 前記頂点ベース幾何学データを所定のインクリメントにおいて処理し、前記 データを頂点キューに順々に引き渡すためのプロセスとを有する。 6. 請求項5に記載されたシステムであって、さらに、 ジオメトリのソースから頂点が分類済みであるかどうかを検出するためのデ ィテクタと、 前記ジオメトリが分類済みであることを前記ディテクタが検出する場合に前 記ジオメトリの頂点を記憶するための分類済み頂点キューと、 前記ジオメトリが未分類であることを前記ディテクタが検出する場合に前記 ジオメトリの頂点を記憶するための未分類頂点リストとを有する。 7. 請求項6に記載されたシステムであって、前記プロセッサは排他的ORオペレ ーションを実施する。 8. 請求項6に記載されたシステムであって、前記ジオメトリの真の反転が表現 可能であるように、無限における前記ジオメトリのフィールド深度は随意であ る。 9. ジオメトリの頂点ベース表現を処理するための方法であって、以下のステッ プを有する、 (a)頂点ベース幾何学データを未分類頂点リストに入力し、 (b)前記ステップ(a)において入力された前記頂点ベース幾何学データが前記 未分類頂点リストの容量を表す所定量に到達しているかどうかを検出し、 (c)前記ステップ(b)において前記所定量に到達済みであることを検出した後 に、前記未分類頂点リストにおける前記の頂点ベース幾何学データを分類し、 (d)前記ステップ(c)において分類済みの頂点ベース幾何学データを分類済み 頂点キューに記憶し、 (e)追加入力される頂点ベース幾何学データを受け取るために利用可能であ るように、前記未分類頂点リストをクリアする。 10. ジオメトリの頂点ベース表現を処理するためのシステムであって、 頂点ベース幾何学データを入力するための未分類頂点リストと、 前記未分類頂点リストに入力された前記頂点ベース幾何学データが前記未分 類頂点リストの容量を表す所定量に到達したかどうかを検出するためのディテ クタと、 前記所定量に到達したことを検出した後に、前記未分類頂点リストにおける 前記の頂点ベース幾何学データを分類するための手段と、 前記の分類済み頂点ベース幾何学データを記憶するための分類済み頂点キュ ーと、 追加入力される頂点ベース幾何学データを受け取るために利用可能であるよ うに、前記未分類頂点リストをクリアするための手段とを有する。 11. スケーリングオペレーションの後でジオメトリの頂点ベース表現を分類す るための方法であって、以下のステップを有する、 (a)ジオメトリの頂点に関するスケーリングオペレーションのスケールファ クタが1未満であるかどうかを検出し、 (b)前記スケールファクタが1未満であることを前記ステップ(a)が検出され る場合に分類オペレーションを実施し、 (c)前記スケールファクタが1以上であることを前記ステップ(a)が検出され る場合に分類オペレーションが実施されることを防止する。 12. 請求項11に記載された方法であって、前記ステップ(b)は、複数の元の走 査線からの頂点を含むが、分類済み走査線を形成する頂点の部分集合に前記の 分類オペレーションを実施する。 13. スケーリングオペレーションの後でジオメトリの頂点ベース表現を分類す るためのシステムであって、 ジオメトリの頂点に関するスケーリングオペレーションのスケールファクタ が1未満であるかどうかを検出するためのディテクタと、 前記スケールファクタが1未満であることを前記ディテクタが検出する場合 に分類オペレーションを実施し、前記スケールファクタが1以上であることを 前記ディテクタが検出する場合に分類オペレーションが実施されることを防止 ためのプロセッサとを有する。 14. 請求項13に記載されたシステムであって、前記プロセッサは、複数の元の 走査線からの頂点を含むが、分類済み走査線を形成する頂点の部分集合に前記 の分類オペレーションを実施する。 15. 拡大および縮小オペレーションの後でジオメトリの頂点ベース表現を分類 するための方法であって、以下のステップを有する、 (a)前記拡大および縮小オペレーションの後で前記ジオメトリの頂点をそれ ぞれの頂点が移動した方向に基づいて四組に分割し、 (b)二組の分類済み頂点を生成する前記ステップ(a)において分類された前記 四組の頂点の第一および第二の対に併合/分類オペレーションを実施し、 (c)一組の分類済み頂点を生成するために前記ステップ(b)からの二組の分類 済み頂点に併合/分類オペレーションを実施する。 16. 拡大および縮小オペレーションの後でジオメトリの頂点ベース表現を分類 するためのシステムであって、 前記拡大および縮小オペレーションの後で、それぞれの頂点が移動した方向 に基づいて、前記ジオメトリの頂点を四組に分割するための分割手段と、 二組の分類済み頂点を生成するために前記四組の頂点の第一および第二の対 に併合/分類オペレーションを実施し、一組の分類済み頂点を生成するために 前記二組の頂点に併合/分類オペレーションを実施するためのプロセッサとを 有する。 17. ジオメトリの頂点ベース表現をミラーリングするための方法であって、以 下のステップを有する (a)各走査線における前記ジオメトリの頂点を蓄積し、 (b)前記頂点を分類することなしに各走査線に平行な軸におけるジオメトリ をミラーリングするために、各走査線において前記頂点を反転する。 18. ジオメトリの頂点ベース表現をミラーリングするためのシステムであって 、各走査線における前記ジオメトリの頂点を蓄積するための手段と、 前記頂点を分類することなしに各走査線に平行な軸における前記ジオメトリ をミラーリングするために、各走査線において前記頂点を反転するためのミラ ーリング手段とを有する。 19. ジオメトリの頂点ベース表現をミラーリングするための方法であって、以 下のステップを有する、 (a)前記ジオメトリの四隅を同一方法によって圧縮および記憶し、 (b)第一頂点に類似する各走査線の最後の頂点を明確に記憶し、 (c)前記頂点を分類することなしにXおよびY両軸方向において前記ジオメト リをミラーリングするために、アンパッカ機能によってデータのバイトストリ ームを後方に読み取る。 20. ジオメトリの頂点ベース表現をミラーリングするためのシステムであって 、前記ジオメトリの四隅を同一方法により圧縮および記憶し、第一の頂点に 類似する各走査線の最後の頂点を明確に記憶するための手段と、 前記頂点を分類することなしにXおよびY両軸方向において前記ジオメトリを ミラーリングするために、データのバイトストリームを後方に読み取るための アンパック手段とを有する。 21. ジオメトリの頂点ベース表現に関するデータを圧縮するための方法であっ て、以下のステップを有する、 (a)分類済み頂点キューにアクセスし、 (b)前記ジオメトリの各走査線における第一の頂点の完全なXおよびY値を記 憶し、 (c)各走査線において残りの各頂点間の各走査線に沿った距離の増分差のみ を記憶する。 22. ジオメトリの頂点ベース表現に関するデータを圧縮するためのシステムで あって、 分類済み頂点キューにアクセスするための手段と、 前記ジオメトリの各走査線における第一の頂点の完全なXおよびY値を記憶し 、各走査線における残りの各頂点の間の各走査線に沿った距離における増分差 のみを分類するための手段とを有する。 23. ジオメトリの頂点ベース表現に関するデータを圧縮するための方法であっ て、以下のステップを有する、 (a)分類済みかつ減少済み頂点キューへアクセスし、 (b)前記ジオメトリの三隅の頂点を記憶し、 (c)アンパッカ機能によって前記ジオメトリの残りの第四の隅の頂点を決定 する。 24. ジオメトリの頂点ベース表現に関するデータを圧縮するためのシステムで あって、 分類済みかつ減少済み頂点キューにアクセスするための手段と、 前記ジオメトリの三隅の頂点を記憶するための手段と、 前記ジオメトリの残りの第四の隅の頂点を決定するためのアンパック手段と を有する。 25. ジオメトリの頂点ベース表現に関する圧縮されたデータをアンパックする ための方法であって、以下のステップを有する、 (a)分類済みかつ減少済み頂点リストにアクセスし、 (b)頂点の周りの三象限内にジオメトリが存在するかどうかを前後関係から 決定し、 (c)頂点タイプが必要とされない頂点リストにおける前記頂点の存在または 不在に基づき、前記頂点の残りの第四象限内にジオメトリが存在するかどうか を決定する。 26. ジオメトリの頂点ベース表現に関する圧縮されたデータをアンパックする ためのシステムであって、 分類済みかつ減少済み頂点リストにアクセスする手段と、 頂点の周りの三象限内にジオメトリが存在するかどうかを前後関係から決定 し、頂点タイプが必要とされない頂点リストにおける前記頂点の存在または不 在に基づき、前記頂点の残りの第四象限内にジオメトリが存在するかどうかを 決定するためのプロセッサとを有する。 27. ジオメトリの頂点ベース表現を処理するための方法であって、以下のステ ップを有する、 (a)拡大または縮小オペレーションをジオメトリに実施し、 (b)前記ジオメトリを表すために用いられる頂点データを節減するためにた だ一つのコーナタイプ型における拡大または縮小オペレーションによる変化を 表す一組の合成頂点を加える。 28. 請求項27に記載された方法であって、前記一組の合成頂点は、元の未処理 ジオメトリにおける一つの頂点を置き換える三つの頂点を有する。 29. ジオメトリの頂点ベース表現を処理するためのシステムであって、 ジオメトリに拡大または縮小オペレーションを実施するための手段と、 前記ジオメトリを表すために用いられる頂点データを節減するようにただ一 つのコーナタイプにおける拡大または縮小オペレーションによる変化を表す一 組の合成頂点を加えるためのプロセッサとを有する。 30. 請求項29に記載されたシステムであって、前記一組の合成頂点は、元の未 処理ジオメトリにおける一つの頂点を置き換える三つの頂点を有する。 31. ジオメトリの頂点ベース表現を処理するための方法であって、以下のステ ップを有する、 (a)ジオメトリにAndまたは縮小オペレーションを実施し、 (b)前記ステップ(a)において実施されたオペレーションの結果を減少させる ことなく、他のAndまたは縮小オペレーションへ引き渡す。 32. ジオメトリの頂点ベース表現を処理するためのシステムであって、 ジオメトリにAndまたは縮小オペレーションを実施するための手段と、 実施されたオペレーションの結果を減少させることなく、他のAndまたは縮 小オペレーションへ引き渡すための手段とを有する。 33. ジオメトリの頂点ベース表現を増分的に評価するための方法であって、以 下のステップを有する、 (a)順々に頂点を頂点キューに引き渡し、 (b)ステップ(a)において頂点が引き渡されるにつれて、前記頂点キューに記 憶されているデータを自由化し、 (c)データの生成部と消費部との間でデータが能率的に移動するように、前 記ステップ(b)においてデータが自由化されるにつれて中間結果を生成するこ とによってデータを増分的に評価する。 34. ジオメトリの頂点ベース表現を増分的に評価するためのシステムであって 、 頂点キューに頂点を順々に引き渡すための手段と、 前記頂点キューに記憶されているデータを、頂点が引き渡されるにつれて、 自由化するための手段と、 データの生成部と消費部との間でデータが能率的に移動するように、データ が自由化されるにつれて中間結果を生成することによってデータを増分的に評 価するための手段とを有する。
JP50890098A 1996-07-25 1997-07-21 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム Expired - Fee Related JP4503707B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/687,043 1996-07-25
US08/687,043 US5887155A (en) 1996-07-25 1996-07-25 Vertex based geometry engine system for use in integrated circuit design
PCT/US1997/012651 WO1998004970A1 (en) 1996-07-25 1997-07-21 A vertex based geometry engine system for use in integrated circuit design

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2007327110A Division JP2008135044A (ja) 1996-07-25 2007-12-19 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム
JP2008228174A Division JP2009043270A (ja) 1996-07-25 2008-09-05 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム

Publications (2)

Publication Number Publication Date
JP2000516738A true JP2000516738A (ja) 2000-12-12
JP4503707B2 JP4503707B2 (ja) 2010-07-14

Family

ID=24758780

Family Applications (4)

Application Number Title Priority Date Filing Date
JP50890098A Expired - Fee Related JP4503707B2 (ja) 1996-07-25 1997-07-21 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム
JP2007327110A Pending JP2008135044A (ja) 1996-07-25 2007-12-19 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム
JP2008228174A Pending JP2009043270A (ja) 1996-07-25 2008-09-05 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム
JP2009112235A Expired - Fee Related JP4443623B2 (ja) 1996-07-25 2009-05-01 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2007327110A Pending JP2008135044A (ja) 1996-07-25 2007-12-19 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム
JP2008228174A Pending JP2009043270A (ja) 1996-07-25 2008-09-05 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム
JP2009112235A Expired - Fee Related JP4443623B2 (ja) 1996-07-25 2009-05-01 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム

Country Status (4)

Country Link
US (1) US5887155A (ja)
EP (1) EP0979448A4 (ja)
JP (4) JP4503707B2 (ja)
WO (1) WO1998004970A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6539519B1 (en) * 2000-05-31 2003-03-25 Mark D. Meeker Spatial characteristic and logical hierarchy based manner for compactly storing IC design data and related operations
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US7196710B1 (en) * 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data 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
US7576748B2 (en) * 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US6937245B1 (en) * 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
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
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for 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
US6684380B2 (en) * 2002-04-01 2004-01-27 International Business Machines Corporation Intelligent structure simplification to facilitate package analysis of complex packages
US7002586B2 (en) * 2003-08-29 2006-02-21 Sun Microsystems, Inc. Method and apparatus for vertex splitting in a graphics system
US7448012B1 (en) 2004-04-21 2008-11-04 Qi-De Qian Methods and system for improving integrated circuit layout
DE102004038063A1 (de) * 2004-07-30 2006-03-23 Infineon Technologies Ag Verfahren zur Herstellung einer Standardzellenanordnung und eine Vorrichtung zur Durchführung des Verfahrens
US7617465B1 (en) * 2004-09-16 2009-11-10 Cadence Design Systems, Inc. Method and mechanism for performing latch-up check on an IC design
WO2007099562A2 (en) * 2006-03-02 2007-09-07 Softjin Technologies Private Limited Method and system for representing geometrical layout design data in electronic design systems
US8907964B2 (en) * 2007-04-10 2014-12-09 Vivante Corporation System and method for dynamically reconfiguring a vertex cache
JP7249702B1 (ja) 2022-07-11 2023-03-31 芳隆 秋野 緩みセンサ付きボルトとその使用方法並びに緩み検出システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829446A (en) * 1986-12-12 1989-05-09 Caeco, Inc. Method and apparatus for recording and rearranging representations of objects in a model of a group of objects located using a co-ordinate system
US5381343A (en) * 1992-05-26 1995-01-10 Cadence Design Systems, Inc. Hier archical pitchmaking compaction method and system for integrated circuit design
EP0608657A1 (en) * 1993-01-29 1994-08-03 International Business Machines Corporation Apparatus and method for preparing shape data for proximity correction
US5440720A (en) * 1993-09-20 1995-08-08 Cadence Design Systems, Inc. Architecture and method for data reduction in a system for analyzing geometric databases
US5568396A (en) * 1994-01-21 1996-10-22 Cadence Design Systems, Inc. Identifying overconstraints using port abstraction graphs
US5661663A (en) * 1995-03-24 1997-08-26 Lsi Logic Corporation Physical design automation system and method using hierarchical clusterization and placement improvement based on complete re-placement of cell clusters
US5553273A (en) * 1995-04-17 1996-09-03 International Business Machines Corporation Vertex minimization in a smart optical proximity correction system
US5663893A (en) * 1995-05-03 1997-09-02 Microunity Systems Engineering, Inc. Method for generating proximity correction features for a lithographic mask pattern

Also Published As

Publication number Publication date
JP4503707B2 (ja) 2010-07-14
EP0979448A4 (en) 2005-10-05
US5887155A (en) 1999-03-23
JP2008135044A (ja) 2008-06-12
JP2009043270A (ja) 2009-02-26
WO1998004970A1 (en) 1998-02-05
JP4443623B2 (ja) 2010-03-31
JP2009199616A (ja) 2009-09-03
EP0979448A1 (en) 2000-02-16

Similar Documents

Publication Publication Date Title
JP4443623B2 (ja) 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム
US6195664B1 (en) Method and system for controlling the conversion of a file from an input format to an output format
Lazarus et al. Computing a canonical polygonal schema of an orientable triangulated surface
Lindstrom Out-of-core simplification of large polygonal models
Zimbrao et al. A raster approximation for processing of spatial joins
US5450535A (en) Graphs employing clusters
JPH02197962A (ja) 電子ファイル装置
US4803477A (en) Management system of graphic data
JP2000112993A (ja) 文書分類方法、記憶媒体、文書分類装置及び文書分類システム
JPS63206873A (ja) 入力走査画像データのベクトル化のための装置及び方法
Stolte et al. Discrete Ray‐Tracing of Huge Voxel Spaces
JP3943614B2 (ja) 文書ページを解析するアプリケーションプログラム生成方法及び装置
Hsiao et al. Using a multiple storage quad tree on a hierarchical VLSI compaction scheme
JP3649430B2 (ja) 図形データ管理方法およびシステム、記憶媒体
Hartmann et al. Cache efficient data structures and algorithms for adaptive multidimensional multilevel finite element solvers
Lai et al. Hinted quad trees for VLSI geometry DRC based on efficient searching for neighbors
JPH08194716A (ja) 画像処理方法及びその装置
JP4585742B2 (ja) 画像表示装置、画像表示方法、プログラム及び記録媒体
JP4346090B2 (ja) 図形データ管理方法およびシステム、記憶媒体
Sprague A parallel algorithm to construct a dominance graph on nonoverlapping rectangles
Nunes et al. A new approach to perform circuit verification using O (n) algorithms
JP3018151B2 (ja) 3次元図形データの演算処理方法及びその装置
JP3325326B2 (ja) 電子ファイリング装置
Lamoureux et al. A deterministic skip list for k-dimensional range search
JP2993881B2 (ja) キーワード生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060919

A72 Notification of change in name of applicant

Free format text: JAPANESE INTERMEDIATE CODE: A721

Effective date: 20060904

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060904

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20061219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070614

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070919

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071029

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071019

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071119

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071221

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20071219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080806

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080909

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080925

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100318

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100422

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees