JPH07319894A - 高速データ検索装置および高速データ検索方法 - Google Patents

高速データ検索装置および高速データ検索方法

Info

Publication number
JPH07319894A
JPH07319894A JP6110978A JP11097894A JPH07319894A JP H07319894 A JPH07319894 A JP H07319894A JP 6110978 A JP6110978 A JP 6110978A JP 11097894 A JP11097894 A JP 11097894A JP H07319894 A JPH07319894 A JP H07319894A
Authority
JP
Japan
Prior art keywords
search
data
search range
database
rectangle
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
JP6110978A
Other languages
English (en)
Other versions
JP3502440B2 (ja
Inventor
Naohito Kojima
直仁 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP11097894A priority Critical patent/JP3502440B2/ja
Publication of JPH07319894A publication Critical patent/JPH07319894A/ja
Application granted granted Critical
Publication of JP3502440B2 publication Critical patent/JP3502440B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 データベース中の、特定の一部データ集合を
対象とした高速図形探索を行う。 【構成】 探索範囲決定部B12、探索範囲記憶用レジ
スタB14、探索処理部B15、データ格納用メモリB
13、および入出力インターフェイスB11とから少な
くとも構成され、検索範囲と被検索データを入出力イン
ターフェイスに入力し、検索範囲決定部で検索範囲アド
レスを決定し、このアドレスをレジスタに記憶し、検索
処理部でこのアドレスを用いて検索し、入出力インター
フェイスから検索結果を出力することにより、データベ
ースの木構造の根元よりも末端方向の特定の節部から検
索開始し、必要最小限の検索のみを行い、高速化を実現
する。新規な2分木構造化処理を用い、さらに高速・高
効率化を実現する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は図形情報等の高速データ
検索が可能なデータベース装置および、図形情報処理方
法に関する。特にVLSIやULSIレイアウトにおけ
るチップ内配線等の大容量の図形情報の高速図形探索が
可能な高速データ検索装置およびその方法に関する。
【0002】
【従来の技術】VLSIレイアウトあるいはULSIレ
イアウトにおけるデータベース装置などをはじめとす
る、近年のデータベース装置の扱うデータ量は増加の一
途をたどっており、これらのデータ検索に必要な処理時
間も増加を余儀なくされている。MOSdRAM技術は
今や256Mビットから1Gビットの時代に突入せんと
しており、ULSIやVLSIレイアウトにおけるチッ
プ内配線においては、あるひとつの配線ネットに含まれ
る端子の分布する領域の大きさがチップ全体の大きさと
比較して非常に小さくなってきている。一方実用上はこ
れらのチップ内配線処理等では端子の周辺の領域内の特
定の一部のデータ集合に対する検索が連続して複数回実
行される場合が多く、配線中は領域外のデータは必要な
いことがほとんどである。
【0003】このようなVLSIレイアウトにおけるデ
ータベース装置について考えると、VLSIレイアウト
で扱うデータはほとんどが矩形の図形データであり、従
って矩形集合を対象とする検索を高速に行う必要があ
る。以後単に図形と書いた場合は矩形を指すものとし、
図形を対象とするデータ検索を「図形探索」と呼ぶ。従
来のデータベース装置においては、そのような一部デー
タ集合に対する検索においても、データベース内の全て
のデータが検索対象となってしまうことがあるため、無
駄な検索時間を費やしていた。
【0004】図31は、従来のデータベース装置のデー
タ検索の処理手順を示したフローチャートである。従来
のデータベース装置のデータ検索処理は、被検索データ
の入力(ステップS11)、データベース内の全データ
を検索対象とした検索(ステップS12)、検索結果の
出力(ステップS13)からなる。
【0005】図32および図33を例に取って説明す
る。この場合のデータ検索は、具体的にはVLSIチッ
プ上での図形探索である。VLSIチップ11上に複数
の矩形データ{R1,R2,……R12}が存在する。
これらの矩形データは四分木の各節点に分散して格納さ
れている。
【0006】矩形データの具体的な格納方法は、まず1
1を4分割する水平及び垂直の線分と交差する矩形デー
タ{R2,R6,R7,R8,R9,R10}を節点A
に格納する。以下、4分割された左上の領域に含まれる
矩形データR1を節点B以下へ、右上の領域に含まれる
矩形データ{R3,R4,R5}を節点C以下へ、右下
の領域に含まれる矩形データ{R11,R12}を節点
D以下へ、再帰的に格納していく。
【0007】データ検索は四分木の根元である節点Aか
ら常に開始され、木構造の末端方向へ進む。以下の例に
おいては矩形領域13内に求めている矩形データが存在
するものと仮定して説明する。図32は、点Sから左方
向へ図形探索を開始し、矩形データR11が解として得
られた場合を示す。ピラミッド型データ構造に対するデ
ータ圧縮の従来技法として4分木(quad トリー)
を用い、矩形集合を構造化して記憶領域に格納し、図形
探索をすることが知られているが、図32では14の矢
印で示される節点Aから開始され、節点Dを経由して節
点Fに至り、終了している(図32下図の一点鎖線を参
照)。検索の際参照された矩形データは{R2,R6,
R7,R8,R9,R10,R11,R12}の計8個
である。
【0008】図33は点Tから下方向へ探索をし、矩形
データR11が解として得られた場合である。この時も
検索は図の14の矢印で示される節点Aから開始され、
節点Dを経由して節点Fに至り、終了している(図33
下図の一点鎖線を参照)。検索の際参照された矩形デー
タは{R2,R6,R7,R8,R9,R10,R1
1,R12}の計8個である。
【0009】ここで、節点Aに格納されている矩形デー
タ{R2,R6,R7,R8,R9,R10,R11}
はいずれも矩形領域13に含まれないので検索の解とは
ならないにも関わらず、常に参照されているので検索に
無駄な時間を費やしていると言える。したがってVLS
Iレイアウト等における図形探索が、データ量が大きく
なればなるほど時間が必要となり、高速化できない欠点
があった。
【0010】さらに、図34のVLSIチップ11内に
線分31が存在し、その直行方向の一方向(図の矢印の
指す方向)に向かって最も距離の小さい矩形を求める場
合、いわゆる近接図形探索の場合を考えてみる。この場
合探索の対象となる領域(以後単に探索領域と呼ぶ)は
図の30で示される領域であるとする。(図34の近接
図形探索の解はr17となる。)ここでも従来技法とし
て4分木を用い、矩形集合{r2〜r17}を構造化し
て記憶領域に格納し、近接図形探索をすることにする。
【0011】図35は、矩形集合{r2〜r17}を4
分木で構造化する過程と、構造化後の樹状構造を表す図
である。まずVLSIチップ11を4分割するような線
分Q1を11内に発生し、十字型線分Q1と交差する矩
形集合{r2,r3,r4,r5,r6,r7,r1
0,r11,r15}と、Q1によって分割された4領
域に含まれる矩形集合{r12}、{r16,r1
7}、{r8,r9}、{r13,r14}の計5集合
に分割する。Q1によって分割された4領域に含まれる
矩形集合{r12}、{r16,r17}、{r9}、
{r13,r14}について前記分割処理を再帰的に行
う。以上の処理により、図に示す4分木構造が作成され
る。
【0012】次に図36を用いて従来の4分木による近
接図形探索の処理手順を説明する。まず、4分木構造の
根本の矩形集合、すなわち分割線分Q1と交差する矩形
集合{r2,r3,r4,r5,r6,r7,r10,
r11,r15}を対象として解を求め、線分31に最
も近い矩形であるr15が解として得られる。次に、十
字型分割線分Q3と交差する矩形集合{r16,r1
7}を対象としてr17を解として得る。そこでr15
とr17のうち31に最も近い方のr17を解として選
ぶ。Q1と交差する矩形集合の中から解が得られたの
で、十字型線分Q5と交差する矩形集合以降を探索する
必要はない。
【0013】ここで注意すべき点は、上記の場合はQ1
と交差する矩形集合の中から解が得られたのでQ5と交
差する矩形集合以降を探索する必要がなくなったわけだ
が、逆にQ1と交差する矩形集合の中から解が得られな
かった場合はT17と比較すべき矩形としてQ5と交差
する矩形集合以降を再帰的に探索する必要があったとい
う点である。つまり、最悪の場合はy方向に全てのノー
ドを探索することになることがある。また、4分木のよ
うに十字の形に交差した2本の線分を分割線分として、
これに交差する矩形をひとつの集合にまとめた場合、探
索領域と交差しない矩形が集合の多くを占めることにな
るので、これらに対する近接図形探索は非効率的なもの
となる。
【0014】以上に示したような4分木による従来の近
接図形探索では、分割線分と交差する矩形集合内の探索
が非効率的であり、また木構造中で探索を進めることに
よりx方向の探索の範囲は順に1/2になっていくが、
y方向の探索の範囲は最悪の場合探索領域30に交わる
全てのノードを探索しなければならず、この場合には矩
形の数に比例する処理時間が必要となるという欠点があ
った。このように4分木による図形探索は高速な近接図
形探索を行うには不適当であり、さらに前述したように
一部データ集合の図形探索でも、検索の解とはならない
無駄な図形を常に参照するために非常に処理時間が長く
なるという欠点があった。
【0015】
【発明が解決しようとする課題】本発明の目的は、上記
の問題を解決するために、データベース内の特定の一部
のデータ集合に対する検索が連続した場合には予め検索
対象となるデータを選別しておくことにより、無駄な図
形参照の省略が可能で、しかも大容量のデータ検索可能
な高速データ検索装置およびその方法を提供することで
ある。
【0016】本発明の他の目的は、特定のデータ検索が
連続して複数回実行される時、検索対象となったデータ
集合へのポインタを保存しておき、次回の検索対象デー
タがそのデータ集合に含まれる場合はそれらに対して検
索を実行することの可能な高速データ検索装置および方
法を提供することである。
【0017】本発明のさらに別の目的は、従来の4分木
構造による図形探索の欠点を克服した新規な図形探索方
法を提供し、これによる高速データ検索装置を提供する
ことである。
【0018】本発明のさらに他の目的は、VLSIやU
LSIのパターンレイアウト等の超大容量図形情報に対
しても使用メモリ容量が小さくて済み、しかも安価な高
速データ検索装置およびその方法を提供することであ
る。
【0019】
【課題を解決するための手段】上記目的を達成するため
に、本発明は検索範囲決定部(B12)と、検索範囲記
憶用レジスタ(B14)と、検索処理部(B15)と、
データ格納用メモリ(B13)と、入出力インターフェ
イス(B11)とを少なくとも具備し、検索範囲決定部
により、データ集合中の特定の一部のデータ集合を選別
し検索範囲アドレスを得、この検索範囲アドレスを検索
範囲記憶用レジスタに記憶し、検索範囲記憶用レジスタ
の指す検索範囲アドレスを用いてデータ集合の検索を行
う高速データ検索装置であることを特徴としている。こ
こで、検索範囲決定部と検索範囲記憶用レジスタとは相
互に接続され、検索範囲記憶用レジスタと検索処理部は
相互に接続されている。また、検索範囲決定部、検索範
囲記憶用レジスタ、検索処理部はそれぞれデータ格納メ
モリに接続されていることを特徴としている。入出力イ
ンターフェイスは検索範囲決定部と検索処理部にそれぞ
れ接続されている。
【0020】また、本発明の高速データ検索装置はさら
に、検索範囲比較処理部(B16)を具備し、検索が連
続して複数回実行される場合、前回の検索に用いた検索
範囲記憶用レジスタに記憶された検索範囲アドレスとの
比較を検索範囲比較処理部にて行うことを特徴としてい
る。
【0021】また、本発明の高速データ検索装置は、さ
らにレジスタファイル(B17)を検索範囲比較処理部
(B16)に直結し、このレジスタファイルにふたつ以
上の検索範囲アドレスを独立して保持することができる
ことを特徴としている。
【0022】さらに、本発明は、検索範囲と被検索デー
タを入力する第1のステップ(S14,S17)と、こ
の検索範囲を用いて、データベース内検索範囲アドレス
を決定する第2のステップ(S15)と、この第2のス
テップで決定されたデータベースの検索範囲アドレスを
記憶する第3のステップ(S16)と、このデータベー
ス内検索範囲アドレスを対象にデータを検索する第4の
ステップ(S18)と、この第4のステップの検索結果
を出力する第5のステップ(S19)とから少なくとも
成る高速データ検索方法であることを特徴としている。
【0023】また、本発明は、第3のステップで記憶さ
れた前回の検索時のデータベース内検索範囲アドレスが
適用可能か不可能か判定し(S21)、適用可能ならば
前回の検索時のデータベース内検索範囲アドレスを検索
対象(S22)とし、適用不可能ならば、データベース
内検索範囲アドレスを更新する(S23)高速データ検
索方法であることを特徴としている。
【0024】さらに本発明は、第4のステップで検索対
象となったデータを全て含み、かつデータベースを木構
造化した時の根元から最も遠くなる節点に対応したデー
タベース内検索範囲アドレスを記憶する高速データ検索
方法であることを特徴としている。
【0025】さらに、本発明の高速データ検索方法にお
けるデータベースの木構造化は、(a) 矩形集合を含む矩
形領域を縦方向あるいは横方向の分割線分を用いて、分
割線分と交差する矩形集合と分割線分の左または下に位
置する矩形集合と分割線分の右または上に位置する矩形
集合の3集合に分割して、2分木構造を構築し記憶領域
に格納するステップと、分割線分の左または下、あるい
は右または上に位置する矩形集合に対して前記分割処理
を再帰的に行う外部木構造化と、(b) 分割線分と交差す
る矩形集合に対して、右辺または上辺の座標値が最大の
矩形をひとつ取りだし残りの矩形集合を下辺または左辺
の座標値をもとに2分割して2分木構造を構築し記憶領
域に格納するステップと、左辺または下辺の座標値が最
小の矩形をひとつ取りだし残りの矩形集合を下辺または
左辺の座標値をもとに2分割して2分木構造を構築し記
憶領域に格納するステップと、右辺または上辺の座標値
が最大の矩形をひとつ取りだし残りの矩形集合を上辺ま
たは右辺の座標値をもとに2分割して2分木構造を構築
し記憶領域に格納するステップと、左辺または下辺の座
標値が最小の矩形をひとつ取りだし残りの矩形集合を上
辺または右辺の座標値をもとに2分割して2分木構造を
構築し記憶領域に格納するステップを順に繰り返し再帰
的に実行する内部木構造化と、から成ることを特徴とし
ている。
【0026】
【作用】本発明は、データベースに格納されたデータの
検索において、データ中の特定の一部のデータ集合に対
する検索が連続して複数回実行する時、予め検索対象と
なる最小限のデータを検索範囲決定部でデータ格納用メ
モリを参照し選別しておき、選別したデータベース内検
索アドレスを検索範囲記憶用レジスタに記憶し、この記
憶された検索範囲アドレスを用いてデータ検索を検索処
理部で実行する。したがって、無駄な部分を含んだ、デ
ータベース全体の検索をする必要がなく短時間で効率の
良い検索を行なう。すなわち、通常のデータ検索は、木
構造のデータベースの根元から検索が開始されるが、本
発明の検索は木構造の末端の節点から検索ができるよう
に、検索範囲記憶用レジスタを具備するように構成し、
このレジスタに末端の節点を検索範囲アドレスとして記
憶し、この記憶された検索範囲アドレスを用いて探索す
る。
【0027】さらに本発明では、データ検索開始の節点
を、検索範囲アドレスとして検索範囲記憶用レジスタあ
るいはレジスタファイルに記憶し、検索対象となった最
小限データ集合へのポインタを常に保持しておき、複数
のデータ検索が連続する場合には、保持されたポインタ
を用いて検索を行う。すなわち、検索範囲比較処理部の
判定により前回の検索範囲アドレスが、引き続き、検索
対象データとして使えるときはそれらに対して検索を直
ちに行なうことにより、極めて高速・高効率に検索を実
行する。また前回の検索範囲アドレスが使えない場合
は、データベースの木構造の根元から検索を開始し、新
たな検索範囲アドレスを記憶し検索範囲記憶用レジスタ
あるいはレジスタファイルのアドレスデータを更新し、
次回以降の検索に備える。
【0028】さらに本発明は検索範囲比較処理部に専用
のレジスタファイルを直結し、独立した複数の検索範囲
アドレスを保持するようにし、複雑なシークエンスを有
したVLSIチップ上の配線処理等の場合のような図形
探索を高速・高効率に行う。
【0029】さらに本発明は、種々の木構造を用いたデ
ータ探索に適用できるが、特に外部木構造2分木と内部
木構造2分木(外部木構造、内部木構造については実施
例4で詳細に説明する)という2段階の2分木を用いた
新規なデータの構造化による探索を用いることにより、
従来、一般的に使われた4分木構造による探索よりも効
率的な図形探索を行う。すなわち4分木構造データ探索
のように十字に交差する2つの線分を分割線分に用いた
データ構造による図形探索ではなく、1本の線分を分割
線分とするデータ構造による図形探索を行うことによ
り、効率的で高速のデータ検索を行う。検索範囲と検索
データの入力および、検索結果の出力は入出力インター
フェイスを介して行う。
【0030】
【実施例】以下に本発明によるデータベース装置をVL
SIレイアウトに適用した場合の実施例を図1〜30を
用いて説明する。この場合のデータ検索は、具体的には
VLSIチップ上での図形探索であるが簡単化のために
チップ11上に複数の矩形データ12が存在する場合に
ついて説明する。最初に矩形データを4分木の各節点に
分散して格納し、管理する場合について説明するが後述
するように、新規な2分木構造を用いた方がより高速化
でき、さらに望ましいことはもちろんである。
【0031】四分木の形でデータの格納を行う時、通常
のデータ検索は木構造の最も根本の節点から開始する。
ここで根本の節点に格納されているデータが検索の解と
なり得ず、木構造の末端方向の節点以降に格納されてい
ることがわかっているならば、データ検索を根本から開
始せずに、できるだけ末端の節点から開始することで、
検索対象の数が小さくなり、処理時間も短縮できる。2
分木構造の場合でも、できるだけ末端の節点から開始す
ることで、処理時間がさらに短縮できることになる。つ
まり、データ検索を開始する節点から木構造の末端方向
に格納されているデータが、データベース内における検
索範囲となる。データベース内における検索範囲アドレ
スの決定とは、データ検索を開始する節点を決定するこ
とであると言える。矩形データの具体的な格納方法は、
従来例の記述と同じである。
【0032】第1実施例 図1〜図5に本発明の第1の実施例を示す。図1は、本
発明の第一の実施例に用いるデータベース装置のブロッ
ク図である。図1において、B11はデータベース外部
とのデータ入出力インタフェース、B12はデータベー
ス内検索範囲決定部、B13はデータ格納用メモリ、B
14はデータベース内検索範囲記憶用レジスタ、B15
はデータ検索処理部である。B13のメモリ(記憶装
置)の例としては、RAMや磁気ディスクなどがある。
【0033】最初にデータ検索範囲がデータ入出力イン
ターフェイスB11に入力されると、それはデータベー
ス内検索範囲決定部B12に転送される。検索範囲決定
部B12はデータ検索範囲とデータ格納用記憶装置B1
3を参照し、データベース内検索範囲アドレスを決定
し、検索範囲記憶用レジスタB14に記憶させる。
【0034】次に入出力インターフェイスB11に入力
されたデータ検索要求がデータ検索処理部B15に転送
される。検索処理部B15はデータ記憶装置B13中で
検索範囲記憶用レジスタB14の指すデータベース内検
索範囲アドレスに含まれるアドレスデータの中からデー
タ検索を行い、得られた解を入出力インターフェイスB
11に返す。入出力インターフェイスB11はそれを受
けとり、データベース外部へ検索結果を出力する。以上
の検索処理が複数回繰り返される。図2〜図6を用い
て、具体的な検索処理を説明する。
【0035】図2が、本発明の第1の実施例の処理手順
を示すフローチャートである。図2において、被検索デ
ータの入力(ステップS17)及び検索結果の出力(ス
テップS19)は従来の手法による処理手順と同様であ
るが、それ以外の、検索範囲の入力(ステップS1
4)、データベース内における検索範囲の決定(ステッ
プS15)、データベース内における検索範囲のレジス
タへの記憶(ステップS16)、指定検索範囲内のデー
タを対象とするデータ検索(ステップS18)の処理が
従来手法と異なり、本発明による手法の特徴である。
【0036】本発明の第1の実施例では4分木中で、デ
ータ検索を開始する節点を指し示すようなレジスタを設
け、常にそのレジスタの指す節点から検索を開始し、木
構造の末端方向へ検索を進める。検索範囲つまりチップ
内の一部を占める矩形領域を指定する前は、レジスタは
4分木の根元となる節点Aを指している。以下に図1、
図3、図4を参照しながら第1の実施例を説明する。
【0037】まず、図3の矩形領域13を検索範囲に指
定する(ステップS14)。次に、節点Aに格納されて
いる矩形データを参照し、これらが矩形領域13と交差
するかどうかを確認する。図3の例では、節点Aに格納
されている矩形データ{R2,R6,R7,R8,R
9,R10}はいずれも矩形領域13と交差しない。す
なわちこれは今後のデータ検索において節点Aに格納さ
れている矩形データの参照をする必要がないことを示
す。
【0038】次に、図3の4分木構造の節点Aの子ども
の4節点のうち、矩形領域13を含む節点D以外の節点
は検索に無関係であるので節点Dに格納されている矩形
データR12を参照する。この矩形データR12は矩形
領域13と交差するので、後の検索の解となり得る。よ
って以後のデータ検索は4分木構造における節点Aを飛
ばして節点Dから開始するようにすればよいことがわか
るのでデータベース内検索範囲アドレスが決定され(ス
テップS15)、データ検索を開始する節点を示すレジ
スタは節点Dを指し示すようにしデータベース内検索範
囲アドレスを記憶する(ステップS16)。
【0039】以上のように、最初に木構造中の矩形デー
タのうちステップS14で指定した検索範囲の矩形領域
13を交差するものを含むような節点を求め(但しある
節点が矩形領域13を交差する矩形データを持つことが
判明したならばそれ以降の末端方向の節点を検索する必
要はない)、次にそれらの節点を全て含み木構造の根元
から最も遠い節点を求め、検索範囲記憶用レジスタB1
4に記憶することで、目的のデータ検索を開始する節点
を得ることができる。本発明の方法は4分木構造に限定
されるのではなく以上のような操作ができる木構造(k
−d トリー等)のデータ検索の全てに適用可能であ
る。
【0040】図4,5は本発明の第1の実施例におい
て、ステップS16で検索範囲をレジスタに記憶した以
降の検索操作を示す。図4は、点Sから左方向へ(ステ
ップS17)検索をし、矩形データR11が解として得
られた場合である。この時検索は4分木図の14の矢印
で示される節点Dから開始されて(ステップS18)節
点Fに至り、検索結果を得て(ステップS19)終了し
ている(図4の一点鎖線を参照)。検索の際参照された
矩形データは{R11,R12}の計2個である。
【0041】図5では、点Tを入力し、点Tから下方向
へ(ステップS17)検索をし、矩形データR11が解
として得られている。この場合においても、検索は図の
14の矢印で示される節点Dから開始されて(ステップ
S18)節点Fに至り、検索結果を得て(ステップS1
9)終了している(図5の一点鎖線を参照)。検索の際
参照された矩形データは{R11,R12}の計2個で
ある。このように矩形データ{R1,R2,・・・R1
2}12個の簡単な場合においても従来例ではそれぞれ
の検索において少なくとも7ないし8個の矩形データを
参照しなければ解が得られないが、本発明における検索
方法では、データベース内検索範囲の決定後、それぞれ
の検索で参照する矩形データの数は最大でも2個に過ぎ
ない。この差は矩形領域13と交差する矩形データが少
ないほど、データベースとしての全体のデータ数が多い
ほどまた検索の回数が多いほど顕著なものとなる。
【0042】第2実施例 次に図6〜図9を参照しながら本発明の第2の実施例を
説明する。図6は、本発明の第2の実施例に用いるデー
タベース装置のブロック図である。図において、B11
はデータベース外部とのデータ入出力インタフェース、
B12はデータベース内検索範囲決定部、B13はデー
タ格納用メモリ、B14はデータベース内検索範囲記憶
用レジスタ、B15はデータ検索処理部、そしてB16
は検索範囲比較処理部である。B13のメモリ(記憶装
置)の例としては、RAMや磁気ディスクなどがある。
【0043】データベース装置の起動直後、データベー
ス内検索範囲記憶用レジスタB14はデータベース全体
を指している。データ入出力インタフェースB11にデ
ータ検索要求と検索範囲が指定されるとそれらは検索範
囲比較処理部B16へ転送される。B16において、B
11からの検索範囲が、データベース内検索範囲記憶用
レジスタB14の指す範囲に含まれるかどうかが確認さ
れる。含まれなかった場合は、処理はデータベース内検
索範囲決定部B12に移り、データ検索範囲とデータ格
納用記憶装置B13の内容からデータベース内検索範囲
アドレスを決定し、データ検索処理部B14に記憶させ
る。その後処理がB15に移り、検索の後得られた解が
B11を経由して外部へ出力される。含まれる場合は検
索要求はB16からデータ検索処理部B15に処理が移
り、検索の後得られた解がB11を経由して外部へ出力
される。以上の検索処理が複数回繰り返される。
【0044】図7が、本発明の第2の実施例の処理手順
を示すフローチャートである。図7において、検索結果
の出力(ステップS25)は従来の手法による処理手順
と同様であるが、それ以外の、検索範囲と被検索データ
の入力(ステップS20)及び前回の検索範囲が適用可
能かどうかの判断(ステップS21)、適用可能な場合
前回の検索範囲を検索範囲として決定(ステップS2
2)、前回の検索範囲が適用できないときのデータベー
ス内検索範囲の更新及び記憶(ステップS23)、検索
範囲内でのデータ検索(ステップS24)の処理が従来
手法と異なり、本発明による手法の特徴である。4分木
中で、データ検索を開始する節点を指し示すようなレジ
スタを設け、検索のたび、その時データ検索を開始した
節点を保存しておくことは第1の実施例と同様である。
【0045】まず1回目のデータ検索で指定された検索
範囲から、データベース内検索範囲を求める。つまりデ
ータ検索を開始すべき節点を求め、レジスタに記憶した
後にデータ検索をする(ステップS20,S21,S2
3,S24,S25)。2回目以降のデータ検索では、
指定された検索範囲がレジスタに保存されている検索範
囲に含まれるかどうかを最初に確かめ(ステップS2
0,S21)、含まれている場合はレジスタの指す節点
から検索を開始し(ステップS22)、そうでない場合
は新たな検索範囲と適合する節点を求めレジスタに記憶
(ステップS23)した後データ検索をし(ステップS
24)結果を出力する(ステップS25)。したがっ
て、似たようなデータ検索が連続して複数回実行される
場合に好適な方法である。
【0046】図8を用いて1回目の検索を説明する。図
8において、点Sと検索範囲を矩形領域13に指定し、
点Sから左方向へ(ステップS17)検索をする。最初
の検索であるからまずデータベース内検索範囲を決定す
る(ステップS21)。データ検索は木構造における節
点Dから開始すればよいのでこれをレジスタに記憶する
(ステップS23)。検索は節点Dから開始し矩形デー
タR11を得て検索を終了する(ステップS24,S2
5)。
【0047】次に図9において、2回目の検索を説明す
る。この場合検索範囲を矩形領域13に指定し、点Tか
ら下方向へ(ステップS20)検索をする。今回の検索
範囲は前回と同じであるから(ステップS21)、前回
のデータベース内検索範囲が適用できる(ステップ2
2)。木構造の節点Dから検索を開始し矩形データR1
1を得て検索を終了する(ステップS24,S25)。
【0048】従来例では矩形数12の集合のそれぞれの
検索において少なくとも7ないし8個の矩形データを参
照しなければ解が得られないが、本発明における検索方
法では、データベース内検索範囲の決定後、それぞれの
検索で参照する矩形データの数は最大でも2個に過ぎな
い。この差は矩形領域13と交差する矩形データが少な
いほど、またVLSIパターンレイアウト等のようにデ
ータベース全体の矩形数が多ければ多いほど、または検
索の回数が多いほど顕著なものとなる。
【0049】第3実施例 図10〜15を用いて本発明の第3の実施例を説明す
る。この第3の実施例は、データベース内検索範囲を独
立して2つ以上記憶、保持することにより高速データ検
索を行うものである。図10に第3の実施例に用いるデ
ータベース装置のブロック図を示すが、図6に示した第
2の実施例のデータベース装置の検索範囲比較処理部に
専用のレジスタファイルB17が設けられた構造となっ
ている。レジスタファイルB17のレジスタの数nは独
立して保持するデータベース内検索範囲の数に応じて選
定すれば良い。以下の説明ではn=2の場合で説明する
が、n≧3でもよいし、n=1でもよいことはもちろん
である。図10において図6と同じ符号の装置は同じも
のを意味する。第3の実施例におけるフローチャートは
第2の実施例の説明で用いた図7と同じでよいが、ステ
ップS23においてレジスタファイルB17の第1又は
第2のレジスタのいずれかに記憶することになるところ
が異なる。
【0050】まず最初のデータ検索で指定された検索範
囲から、データベース内検索範囲を求める。つまりデー
タ検索を開始すべき節点を求め、レジスタファイルB1
7の第1レジスタおよび検索範囲記憶用レジスタB14
に記憶した後に最初のデータ検索をする(ステップS2
0,S21,S23,S24,S25)。
【0051】次のデータ検索(2回目以降のデータ検
索)で指定された検索範囲が第1,2レジスタに保存さ
れている検索範囲に含まれるかどうかを確かめ(ステッ
プS20,S21)、含まれている場合は第1あるいは
第2レジスタの指す節点から検索を開始し(ステップS
22)、そうでない場合は新たな検索範囲と適合する節
点を求め更新されていない時間が最も長い方のレジスタ
に記憶(ステップS23)した後データ検索をし(ステ
ップS24)結果を出力する(ステップS25)。
【0052】図11〜15を用いて説明する。図中14
で示される矢印は、第1,第2レジスタがどの節点を指
しているかを示している。図11において、点Sを入力
し検索範囲を矩形領域13に指定し、点Sから左方向へ
(ステップS20)検索をする。最初の検索であるから
まずデータベース内検索範囲を決定する(ステップS2
1)。データ検索は4分木の節点Dから開始すればよい
のでこれを第1レジスタおよび検索範囲記憶用レジスタ
に記憶する(ステップS23)。検索は節点Dから開始
し矩形データR11を得て検索を終了する(ステップS
24,S25)。
【0053】次に図12において、2回目のデータ検索
を説明する。この場合検索範囲となる矩形領域13を移
動せず、点Tから下方向へ(ステップS20)検索をす
る。今回の検索範囲は前回と同じであるから(ステップ
S21)、前回のデータベース内検索範囲が適用できる
(ステップS22)。節点Dから検索を開始し矩形デー
タR11を得て検索を終了する(ステップS24,S2
5)。
【0054】次に図13において3回目のデータ検索を
示す。検索範囲となる矩形領域13を移動し、点Uから
上方向へ(ステップS20)検索をする。この3回目の
検索範囲は第1レジスタの示す内容と異なるので(ステ
ップS21)、節点Aから検索を開始し、新しい検索範
囲として節点Eを得、これを第1レジスタおよび検索範
囲記憶用レジスタに記憶する。これに先立ち、第1レジ
スタの記憶していた節点Dは第2レジスタに記憶してお
く。つまり、より新しい検索範囲がより番号の若いレジ
スタに格納される(ステップS23)。矩形データR4
を得て検索を終了する(ステップS24,S25)。
【0055】次に4回目のデータ検索となる図14にお
いては、検索範囲となる矩形領域13は3回目と同じ
で、点Vから右方向へ(ステップS20)検索をする。
この4回目の検索範囲は第1レジスタの示す内容と一致
するので(ステップS21)、第1レジスタの指す節点
Eから検索を開始し(ステップS22)、矩形データR
4を得て検索を終了する(ステップS24,S25)。
【0056】次に5回目の検索である図15において
は、検索範囲となる矩形領域13を再び移動し、点Wか
ら右方向へ(ステップS20)検索をする。今回の検索
範囲は第2レジスタの示す内容と一致するので(ステッ
プS21)、節点Dから検索を開始し、第1レジスタの
記憶していた節点Eを第2レジスタに記憶し、節点Dを
第1レジスタに記憶する(ステップS23)。矩形デー
タR11を得て検索を終了する(ステップS24,S2
5)。
【0057】以上のように、従来の手法だと必ず毎回の
検索において少なくとも7ないし8個の矩形データを参
照しなければ解が得られないが、本発明における検索方
法では、データベース内検索範囲の決定後、それぞれの
検索で参照する矩形データの数は最大でも3個に過ぎな
い。この差は矩形領域13と交差する矩形データが少な
いほど、データベース全体としての矩形総数が多いほど
また検索の回数が多いほど顕著なものとなる。
【0058】第4実施例 次に図16〜図30を用いて本発明の第4の実施例を説
明する。本発明の第1〜第3の実施例では4分木構造に
よる検索を用いて説明したが、すでに述べたように本発
明は4分木構造によるデータベース処理に限定されるも
のではなく、他の木構造探索にも適用可能である。本発
明の第4の実施例では、新規な木構造探索を用いること
により本発明の特徴をさらに発揮することができる高速
のデータベース処理について説明する。したがって本発
明の第4の実施例は、第1〜第3の実施例で説明した図
1,図6,図10のいずれのデータベース装置を用いて
も実現できる。第4の実施例に用いる木構造探索処理は
構造化の手法そのものが2分木を用いて構造化する新規
なものであるため、まずこの図形情報処理方式を図16
〜図30により説明する。以後、単純に“2分木”と記
した場合は本発明による新規な2分木構造を指すものと
する。
【0059】図16(a) の半導体チップを示す矩形領域
11内に複数の矩形{r2〜r17}が存在するとす
る。実際のVLSIレイアウトははるかに複雑であるが
簡単化して説明する。これらの矩形を本発明第4の実施
例による図形情報処理方式をもって格納し、管理する場
合の構造化する過程と、構造化後の木構造を図16に示
している。本発明の第4の実施例では図形を2段階の2
分木を用いて構造化する。これらの2分木を各々外部2
分木あるいは外部木構造及び内部2分木あるいは内部木
構造と呼ぶ。外部木構造の数が1なのに対して内部木構
造は複数あり、外部木構造の各ノードに1ずつ内部木構
造が含まれる。図16では、(b) が外部木構造、(c) ,
(d) ,(e) が内部木構造を表す。(c) ,(d) ,(e) は各
々(b) 内の同じ記号をつけたノードに含まれている。但
し、図16では外部木構造のノードに含まれる矩形数が
1の場合にはそこに含まれる内部木構造図の記述を省略
した。以上のように本発明の第4の実施例による図形情
報処理方式では図形の構造化処理が外部木構造と内部木
構造とでは異なる。
【0060】図16において、矩形集合{r2〜r1
7}を分割線分B1〜B7で分割して外部木構造を作
り、それぞれの分割線分と交差した矩形集合を対象とし
て内部木構造を作る。図17は外部木構造を作成する処
理のフローチャートであり、図18〜20はその様子を
示す図である。また、図21は内部木構造を作成する処
理のフローチャートであり、図22,23はその様子を
示す図である。図17に示す通り、外部木構造を作成す
る処理(Beh,Bev)は、分割線分の方向(縦あるいは
横)で分けられている。
【0061】縦の分割線分を用いる処理(Beh)は、処
理対象の図形が残っているかどうか確かめる処理(ステ
ップ101)、縦方向の分割線分を発生し、分割線分と
交差する矩形集合C、分割線分の左に位置する矩形集合
A、分割線分の右に位置する矩形集合Bに矩形集合を分
割する処理(この時矩形集合A及びBに含まれる矩形の
数の差はたかだか1であるように分割する)(ステップ
102)、矩形集合A,Bに処理Bevを適用して再帰的
に外部木構造を作る(ステップ103)、矩形集合Cに
処理Bivを適用して再帰的に内部木構造を作る(ステッ
プ104)という処理からなる。
【0062】横の分割線分を用いる処理(Bev)は、処
理対象の図形が残っているかどうか確かめる処理(ステ
ップ105)、横方向の分割線分を発生し、分割線分と
交差する矩形集合C、分割線分の下に位置する矩形集合
A、分割線分の上に位置する矩形集合Bに矩形集合を分
割する処理(この時矩形集合A及びBに含まれる矩形の
数の差はたかだか1であるように分割する)(ステップ
106)、矩形集合A,Bに処理Behを適用して再帰的
に外部木構造を作る(ステップ107)、矩形集合Cに
処理Bihを適用して再帰的に内部木構造を作る(ステッ
プ108)という処理からなる。
【0063】さらに図18〜21を用いて説明する。ま
ず11内に矩形があることを確かめ(ステップ10
1)、図18において、矩形領域11内に縦の分割線分
B1を発生し、B1と交差する矩形集合C{r2,r
3,r4,r5,r6,r7}、B1の左に位置する矩
形集合A{r8,r9,r10,r11,r12}、B
1の右に位置する矩形集合B{r13,r14,r1
5,r16,r17}に分割し(矩形集合AおよびBに
含まれる矩形の数の差は0)(ステップ102)、矩形
集合A,Bに対して処理Bevを適用し(ステップ10
3)(後述)、矩形集合Cに対して処理Bivを適用する
(ステップ104)(後述)。
【0064】次に上記ステップ103で矩形集合A,B
に対して適用した処理Bevを図19を用いて説明する。
ここでは矩形集合A,BのうちAを例にとって説明す
る。矩形集合Bに対してもAと同様の処理をする。まず
矩形集合Aが1個以上の矩形を含むことを確かめ(ステ
ップ105)、図19において、矩形領域11内でAが
存在する領域に横の分割線分B2を発生し、B2と交差
する矩形集合C{r10,r11}、B2の下に位置す
る矩形集合A{r12}、B2の上に位置する矩形集合
B{r8,r9}に分割し(矩形集合AおよびBに含ま
れる矩形の数の差は1)(ステップ106)、矩形集合
A,Bに対して処理Behを適用し(ステップ107)、
矩形集合Cに対して処理Bihを適用する(ステップ10
8)(後述)。
【0065】図20は上記処理(Bev)を図18の矩形
集合Bに対して実行した様子を示している。以上のよう
な処理を再帰的に行うことで、外部木構造が作成され
る。
【0066】次に内部木構造を作成する処理を説明す
る。図21は内部木構造を作成する処理のフローチャー
トであり、図22,23はその様子を示す図である。内
部木構造を作成する処理は外部木構造を作成した際の分
割線分の方向(縦あるいは横)で分けられている。ここ
では分割線分が縦方向の場合の処理(Biv1 〜Biv4
を例にとって説明する。分割線分が横方向の場合の処理
(Bih1 〜Bih4 )はBiv1 〜Biv4 のxとyを入れ換
えて考えればよい。分割線分が縦方向の場合の内部木構
造処理は図21に示す通り4種類からなる。
【0067】いずれの処理も、処理対象となる矩形があ
るかどうかを確かめる処理(ステップ109,113,
117,121)が最初にあり、次に矩形集合の中から
1が最小の矩形を取り出す(ステップ114,12
2)か、またはx2 が最大の矩形を取り出す(ステップ
110,118)。次に残りの矩形集合をy1 でソート
する(ステップ111,115)か、またはy2 でソー
トする(ステップ119,123)。ここで、x1 ,x
2 ,y1 ,y2 は図22(b)に示した矩形の座標値で
ある。次に、ソートした矩形集合を前半と後半の2つの
矩形集合に分割する。この時ソートのキーが同じ値を持
つ矩形が2つの集合に分かれないようにする。最後に2
つの矩形集合各々に上記処理を再帰的に実行(処理B
ivn の次は処理Biv(n+1) となる(nは1〜4の自然
数、n(=4)+1→1とする))する。以上のような処
理を実行することで内部木構造が作成される。
【0068】図22,23では図18でB1と交差した
矩形集合Cを対象として内部木構造を作成する(図17
のステップ104)様子が示されている。まず矩形集合
C中に矩形が1個以上あることを確かめ(ステップ10
9)、x2 が最大である矩形r4を取りだし、親ノード
(図22のP)とし(ステップ110)、残りの矩形集
合{r2,r3,r5,r6,r7}を下辺の座標値y
1 の値でソートした後その順番で2分割し、矩形集合D
{r6,r7}及びE{r2,r3,r5}を得る(ス
テップ111)。次に矩形集合D,Eに処理Biv2 を適
用し、Pの子ノードとする。
【0069】次に図23を用いて矩形集合E{r2,r
3,r5}に処理Biv2 を適用した場合の処理手順を説
明する。矩形集合DについてもEと同様の処理を実行す
る。まず矩形集合E中に矩形が1個以上あることを確か
め(ステップ113)、左辺の座標値x1 が最小である
矩形r2を取りだし、親ノード(図23のP)とし(ス
テップ114)、残りの矩形集合{r3,r5}を下辺
の座標値y1 の値でソートした後その順番で2分割し、
新たな矩形集合D{r5}及びE{r3}を得る(ステ
ップ115)。以下同様に新たな矩形集合D,Eに対し
て処理Biv3 以降を再帰的に適用し、内部木構造を作成
する。
【0070】次に、以上の方法で構造化した矩形集合に
対して近接図形探索を行う場合の本発明の第4の実施例
の処理について説明する。図24は矩形領域11内の矩
形集合に対して近接図形探索を行う様子と、木構造の中
を探索していく様子を表す図である。図25,26は外
部木構造内で近接図形探索を行う処理のフローチャート
であり、図27〜30は内部木構造内で近接図形探索を
行う処理のフローチャートである。図25,26に示す
通り、外部木構造内で近接図形探索を行う処理(Seh
ev)は、分割線分の方向(縦あるいは横)と近接図形
探索の方向(上下左右)で分けられている。
【0071】分割線分が縦で、近接図形探索の方向が上
の場合の外部木構造内近接図形探索処理SehUPは図25
で示される通り、処理対象の図形が残っているかどうか
確かめる処理(ステップ165)、矩形集合Cに近接図
形探索処理SivUPを適用し解R0 を得(ステップ16
6)、探索領域と分割線分の位置関係によって3通りに
分岐し(ステップ167)、矩形領域A,Bのいずれ
か、あるいは両方に対して再帰的に近接図形探索処理S
evUPを適用し解R1 を得(ステップ168,169,1
70)、R0 ,R1 のうち近い方を解とする(ステップ
171)という処理からなる。ここでSivUPは、分割線
分が縦で、探索方向が上の場合の内部木構造内近接図形
探索処理で、SevUPは分割線分が横で探索方向が上の場
合の外部木構造内近接図形探索処理を表わす。同様にS
ihUPは、分割線分が横で、探索方向が上の場合の内部木
構造内近接図形探索処理ということになる。図26にS
evUPの、図27〜30にSivUPのフローチャートを示
す。処理SevUPは図26で示される通り、処理対象の図
形が残っているかどうか確かめる処理(ステップ17
2)、矩形集合Cに処理SihUPを適用し解R0 を得(ス
テップ173)、探索領域が分割線分の上にあった場合
はステップ178へ、そうでない場合はステップ175
へ分岐し(ステップ174)、矩形領域Aに対して再帰
的に処理SehUPを適用し解R1 を得(ステップ17
5)、R0 ,R1 のうち近い方を新たな解R0 とし(ス
テップ176)、R0 が分割線分の上にある場合はステ
ップ178へ、そうでない場合はステップ179へ分岐
して(ステップ177)R0 を解とする(ステップ17
9)、矩形領域Bに対して再帰的に処理SehUPを適用し
解R1 を得(ステップ178)、R0 ,R1 のうち近い
方を解とする(ステップ180)という処理からなる。
【0072】さらに図24を用いて説明する。分割線分
B1が縦であるので処理SehUPを最初に適用する。まず
VLSIチップ11内に矩形があることを確かめ(ステ
ップ165)、矩形集合C{r2,r3,r4,r5,
r6,r7}に内部木構造内近接図形探索処理SivUP
適用し「解なし」を得る(ステップ166)(この処理
ivUPについては後述する)。次に探索領域は分割線分
B1の右に位置するのでステップ170に分岐し(ステ
ップ167)、矩形集合B{r13,r14,r15,
r16,r17}に対して再帰的に外部木構造内近接図
形探索処理Sev UPを適用する(ステップ170)。この
処理SevUPを適用した処理は、まず与えられた矩形集合
Bが1以上の矩形を含むことを確かめ(ステップ17
2)、分割線分B3と交差する矩形集合C{r15}に
内部木構造内近接図形探索処理Sih UPを適用し解r15
を得る(ステップ173)。次に探索領域は分割線分B
3の上には位置しないのでステップ175に分岐し(ス
テップ174)、矩形集合A{r16,r17}に対し
て再帰的に外部木構造内近接図形探索処理SehUPを適用
し解r17を得る(ステップ175)。r15とr17
とを比較し、r17を新たな解R0 とする(ステップ1
76)。R0 が分割線分B3の下に位置するのでステッ
プ179に分岐し(ステップ177)、R0 =R17を
最終的な解とする。以上のような処理を再帰的に行うこ
とで、外部木構造内の近接図形探索が実現できる。
【0073】次に、内部木構造内の近接図形探索につい
て説明する。内部木構造内で近接図形探索を行う本発明
の第4の実施例の処理は外部木構造を作成した際の分割
線分の方向(縦あるいは横)と近接図形探索の方向(上
下方向)で分けられている。ここでは分割線分が縦方向
で、近接図形探索の方向が上の場合の処理(Siv1UP
iv4UP )を例にとって(図27〜30)説明する。分
割線分が縦方向で、近接図形探索の方向が上の場合の内
部木構造内近接図形探索処理は図27〜30に示す通り
4種類からなる。いずれの処理も、処理対象となる矩形
があるかどうかを確かめる処理(ステップ181,19
0,199,208)が最初にあり、次に探索領域が親
ノードの矩形の左辺の座標値x1 より左(ステップ19
1,209)あるいは右辺の座標値x2 よりに右(ステ
ップ182,200)に位置するかどうかによって2方
向に分岐する処理、探索領域と親ノードの矩形が交差す
るかどうかを確かめ(ステップ183,192,20
1,210)、交差する場合は親ノードの矩形をR0
し(ステップ184,193,202,211)、探索
領域が下辺の座標値y1 の値でソートして2分割した矩
形集合D,Eの境界の下(ステップ185,194)あ
るいは上(ステップ203,212)にあるかどうかに
よって2方向に分岐する処理、矩形集合E(ステップ1
86,195)あるいはD(ステップ204,213)
に対して上記処理を再帰的に実行し(処理SivUPn の次
の処理SivUP(n+1) となる(nは1〜4の自然数、n
(=4)+1→1とする))解R1 を得る。R0 ,R1
うち近い方を新たな解R0 とし(ステップ187,19
6,205,214)、矩形集合D(ステップ188,
197)あるいはE(ステップ206,215)に対し
て上記処理をステップ186(あるいは195,20
4,213)と同様に再帰的に実行し解R1 を得、
0,R1 のうち近い方を最終的な解とする(ステップ
189,198,207,216)という処理からな
る。
【0074】さらに図24を用いて説明する。最初の分
割線分B1が縦であるので処理Seh UPが最初に適用され
(図25のステップ166)、矩形集合C{r2,r
3,r4,r5,r6,r7}に処理SivUP1 が適用さ
れる。まず与えられた矩形集合Cが1以上の矩形を含む
ことを確かめる(ステップ181)。次に探索領域が親
ノードの矩形r4の右辺の座標値x2 よりも右に位置す
るので、矩形集合C内には「解がない」ことがすぐにわ
かり(ステップ182)、処理SivUPの終了となる。こ
れが前述した「解なし」を得るステップ166の説明で
ある。
【0075】このように、2分木構造化による図形情報
処理方式を用いると、分割線分が十字の形に交差する2
本の線分ではないため、これと交差する矩形集合(すな
わち内部木構造)に対する近接図形探索は効率的に実行
でき、また内部木構造内に解がない場合は、ほとんどの
場合その中の最も親のノードの矩形を1個参照するだけ
でそれが判明するので、近接図形探索を高速に実行する
ことが可能となる。したがってこの2分木構造を用いた
図形探索を本発明の第1〜第3の実施例に適用すること
により、さらに高速なデータ検索装置が実現する。本発
明の第4の実施例においては、2分木構造中で、データ
検索を開始する節点を指し示すようなレジスタを設け、
常にその節点から検索を開始し、すなわちなるべく2分
木構造の根元から遠い節点から検索することにより、少
ない使用メモリで高速な図形探索ができる。たとえば図
24で、矩形領域13を検索範囲に指定すれば矩形集合
{r16,r17}に対して分割線分B6 を用いて外部
木構造内近接図形探索処理SehUPを適用すれば、ただち
に解17が得られる。なお、2分木構造データ検索は高
速であるため、木構造の根元に比較的近い節点から検索
されるような場合においても有効である。特に、検索を
連続した場合、前回の検索範囲が適用可能でない場合
は、木構造の根元の節点から検索を開始し新たな検索範
囲節点を求める必要があるが、このとき2分木構造デー
タ検索は極めて高速なため、有効である。さらに検索が
連続しない場合、すなわち検索対象のデータ集合のアド
レスを保存するレジスタを用いることができないような
場合においても、極めて効果的であり、汎用範囲の広い
データベース装置となる。
【0076】
【発明の効果】以上、実施例を挙げて詳細に説明したよ
うに、この発明の高速データ検索装置およびその方法に
よれば、全部のデータを検索するのではなく、予め検索
対象となる最小限のデータを選別しておき、それらに対
してのみ検索を実行できるようにしているので無駄なデ
ータの参照が省略され、極めて短時間で図形情報等の探
索が可能となる。
【0077】本発明によれば、最小限のデータのみを検
索すればよいので、データベース全体としては極めて大
容量のデータであっても、データベース装置の記憶領域
使用量は少なくてすみ、かつ高速検索が可能となる。
【0078】さらに本発明によれば、データベースの木
構造の特定の節点より末端方向の検索のみをすればよ
く、また、その特定の節点を記憶しておくことができる
ので、データ検索が連続して複数回実行される場合に極
めて高効率の高速データ検索が可能となる。
【0079】さらに本発明によれば4分木構造、2分木
構造等、種々の木構造を有するデータ検索に適用可能な
ので、極めて汎用性が高く、しかも比較的小容量のメモ
リ容量で大容量のデータ検索ができるので安価なデータ
ベース装置が提供できる。特に前回の検索範囲アドレス
を更新するために、木構造の根元から検索を開始し、新
たな検索開始節点を求める場合には、2分木構造を採用
すれば、アドレス更新時のタイムロスも小さくなり全体
として高速に動作する。
【0080】1ギガビットdRAMの時代もあと一歩と
いうところまで来た大規模化の一途をたどるVLSIデ
ータやULSIデータを扱う半導体集積回路パターンレ
イアウトでの配線処理においては、各配線ネットにおい
て検索対象となる矩形領域(図4,5,8,9等の1
3)の面積がチップ全体に対して小さくなってきてお
り、さらに矩形領域13内でのデータ検索回数も増加し
ている。本発明によれば、超大容量の矩形データ全体の
中のごく一部の検索対象を繰り返して検索するような半
導体集積回路製造工程等において特に威力を発揮し、極
めて効率的な高速検索が可能となる。
【0081】さらに本発明によれば、専用の検索範囲記
憶用レジスタあるいはレジスタファイルが用意されてい
るのでデータ格納用メモリの内容を変更することなく、
検索範囲アドレスを決定・記憶し、これによるデータ検
索処理を行えばよいので、装置を操作するためのプログ
ラム作成が容易となる利点がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例の高速データ検索装置の
ブロック図である。
【図2】本発明の第1の実施例のフローチャートであ
る。
【図3】本発明の第1の実施例におけるデータベース内
検索範囲決定の例である。
【図4】本発明の第1の実施例におけるデータ検索の例
である。
【図5】本発明の第1の実施例におけるデータ検索の例
である。
【図6】本発明の第2の実施例の高速データ検索装置の
ブロック図である。
【図7】本発明の第2の実施例のフローチャートであ
る。
【図8】本発明の第2の実施例におけるデータベース内
検索範囲決定及びデータ検索の例である。
【図9】本発明の第2の実施例におけるデータベース内
検索範囲決定及びデータ検索の例である。
【図10】本発明の第3の実施例の高速データ検索装置
のブロック図である。
【図11】本発明の第3の実施例におけるデータベース
内検索範囲決定及びデータ検索の例である。
【図12】本発明の第3の実施例におけるデータベース
内検索範囲決定及びデータ検索の例である。
【図13】本発明の第3の実施例におけるデータベース
内検索範囲決定及びデータ検索の例である。
【図14】本発明の第3の実施例におけるデータベース
内検索範囲決定及びデータ検索の例である。
【図15】本発明の第3の実施例におけるデータベース
内検索範囲決定及びデータ検索の例である。
【図16】本発明の第4の実施例において用いる矩形集
合の2分木構造化の例である。
【図17】本発明の第4の実施例における外部木構造化
のフローチャートである。
【図18】本発明の第4の実施例における、外部木構造
化の説明図である。
【図19】本発明の第4の実施例における、外部木構造
化の説明図である。
【図20】本発明の第4の実施例における、外部木構造
化の説明図である。
【図21】本発明の第4の実施例における内部木構造化
のフローチャートである。
【図22】本発明の第4の実施例における内部木構造化
の説明図である。
【図23】本発明の第4の実施例における内部木構造化
の説明図である。
【図24】本発明の第4実施例を用いた近接図形探索の
例である。
【図25】本発明の第4の実施例における外部木構造内
近接図形探索(SehUP)のフローチャートである。
【図26】本発明の第4の実施例における外部木構造内
近接図形探索(SevUP)のフローチャートである。
【図27】本発明の第4の実施例における内部木構造内
近接図形探索(SivUP1 )のフローチャートである。
【図28】本発明の第4の実施例における内部木構造内
近接図形探索(SivUP2 )のフローチャートである。
【図29】本発明の第4の実施例における内部木構造内
近接図形探索(SivUP3 )のフローチャートである。
【図30】本発明の第4の実施例における内部木構造内
近接図形探索(SivUP4 )のフローチャートである。
【図31】従来のデータ検索のフローチャートである。
【図32】従来技術によるデータ検索の例である。
【図33】従来技術によるデータ検索の例である。
【図34】近接図形探索の説明図である。
【図35】4分木構造化の例である。
【図36】4分木構造を用いた近接図形探索の例であ
る。
【符号の説明】
11 VLSIのチップ全体を示す矩形領域 12 VLSI配線において径路を発生できない矩形領
域のデータ 13 データ検索範囲 14 データ検索を開始する節点を指すレジスタ 30 近接図形探索の基点となる線分 31 30を基点とする近接図形探索が対象とする探索
領域 {A,B} B1〜B3によって2分割された矩形集合 B1〜B7 本発明による矩形集合の構造化における分
割線分 {C} B1〜B3と交差する矩形の集合 {D,E} D1,D2によって2分割された矩形集合 P 矩形集合Cの中でx2 が最大あるいはx1 が最小の
矩形 Q1〜Q5 4分木による矩形集合の構造化における十
字型分割線分 {R1〜R12,r2〜r17} VLSIチップ11
内に存在する矩形集合
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H01L 21/82 C

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 検索範囲決定部と、検索範囲記憶用レジ
    スタと、検索処理部と、データ格納用メモリと、入出力
    インターフェイスとを少なくとも具備し、 前記検索範囲決定部により、データ集合中の特定の一部
    のデータ集合を選別し検索範囲アドレスを得、該検索範
    囲アドレスを前記検索範囲記憶用レジスタに記憶し、前
    記検索範囲記憶用レジスタの指す前記検索範囲アドレス
    を用いて前記データ集合の検索を行うことを特徴とする
    高速データ検索装置。
  2. 【請求項2】 前記高速データ検索装置においてさら
    に、検索範囲比較処理部を具備し、 検索が連続して複数回実行される場合、前回の検索に用
    いた前記検索範囲記憶用レジスタに記憶された前記検索
    範囲アドレスとの比較を前記検索範囲比較処理部にて行
    うことを特徴とする請求項1に記載の高速データ検索装
    置。
  3. 【請求項3】 前記高速データ検索装置において、さら
    にレジスタファイルを前記検索範囲比較処理部に直結
    し、 該レジスタファイルに検索範囲アドレスを独立してふた
    つ以上保持することを特徴とする請求項2に記載の高速
    データ検索装置。
  4. 【請求項4】 検索範囲と被検索データを入力する第1
    のステップと、該検索範囲を用いて、データベース内検
    索範囲アドレスを決定する第2のステップと、該第2の
    ステップで決定されたデータベース内検索範囲アドレス
    を記憶する第3のステップと、該第3のステップで記憶
    されたデータベース内検索範囲アドレスを対象にデータ
    を検索する第4のステップと、該第4のステップの検索
    結果を出力する第5のステップとから少なくとも成るこ
    とを特徴とする高速データ検索方法。
  5. 【請求項5】 データ検索が連続する場合において、前
    回検索時の前記第3のステップで記憶されたデータベー
    ス内検索範囲アドレスが適用可能か不可能か判定し、適
    用可能ならば該データベース内検索範囲アドレスを検索
    対象とし、適用不可能ならば、前記データベース内検索
    範囲アドレスを更新することを特徴とする請求項4記載
    の高速データ検索方法。
  6. 【請求項6】 前記第4のステップで検索対象となった
    データを全て含み、かつデータベースを木構造化した時
    の根元から最も遠くなる節点に対応したデータベース内
    検索範囲アドレスを記憶することを特徴とする請求項4
    に記載の高速データ検索方法。
  7. 【請求項7】 前記データベースの木構造化は、(a) 矩
    形集合を含む矩形領域を縦方向あるいは横方向の分割線
    分を用いて、分割線分と交差する矩形集合と分割線分の
    左または下に位置する矩形集合と分割線分の右または上
    に位置する矩形集合の3集合に分割して、2分木構造を
    構築し記憶領域に格納するステップと、分割線分の左ま
    たは下、あるいは右または上に位置する矩形集合に対し
    て前記分割処理を再帰的に行う外部木構造化と、(b) 分
    割線分と交差する矩形集合に対して、右辺または上辺の
    座標値が最大の矩形をひとつ取りだし残りの矩形集合を
    下辺または左辺の座標値をもとに2分割して2分木構造
    を構築し記憶領域に格納するステップと、左辺または下
    辺の座標値が最小の矩形をひとつ取りだし残りの矩形集
    合を下辺または左辺の座標値をもとに2分割して2分木
    構造を構築し記憶領域に格納するステップと、右辺また
    は上辺の座標値が最大の矩形をひとつ取りだし残りの矩
    形集合を上辺または右辺の座標値をもとに2分割して2
    分木構造を構築し記憶領域に格納するステップと、左辺
    または下辺の座標値が最小の矩形をひとつ取りだし残り
    の矩形集合を上辺または右辺の座標値をもとに2分割し
    て2分木構造を構築し記憶領域に格納するステップを順
    に繰り返し再帰的に実行する内部木構造化と、から成る
    ことを特徴とする請求項6に記載の高速データ検索方
    法。
JP11097894A 1994-05-25 1994-05-25 高速データ検索装置および高速データ検索方法 Expired - Fee Related JP3502440B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11097894A JP3502440B2 (ja) 1994-05-25 1994-05-25 高速データ検索装置および高速データ検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11097894A JP3502440B2 (ja) 1994-05-25 1994-05-25 高速データ検索装置および高速データ検索方法

Publications (2)

Publication Number Publication Date
JPH07319894A true JPH07319894A (ja) 1995-12-08
JP3502440B2 JP3502440B2 (ja) 2004-03-02

Family

ID=14549308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11097894A Expired - Fee Related JP3502440B2 (ja) 1994-05-25 1994-05-25 高速データ検索装置および高速データ検索方法

Country Status (1)

Country Link
JP (1) JP3502440B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084420A (ja) * 2001-09-12 2003-03-19 Dainippon Printing Co Ltd フォトマスクデータの表示装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63241633A (ja) * 1987-03-28 1988-10-06 Hitachi Ltd レコ−ド検索方式
JPH0486950A (ja) * 1990-07-31 1992-03-19 Ricoh Co Ltd 文書検索方法
JPH0512355A (ja) * 1991-06-28 1993-01-22 Nec Corp 図面データ処理装置
JPH0644300A (ja) * 1992-04-17 1994-02-18 Matsushita Electric Ind Co Ltd 情報検索装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63241633A (ja) * 1987-03-28 1988-10-06 Hitachi Ltd レコ−ド検索方式
JPH0486950A (ja) * 1990-07-31 1992-03-19 Ricoh Co Ltd 文書検索方法
JPH0512355A (ja) * 1991-06-28 1993-01-22 Nec Corp 図面データ処理装置
JPH0644300A (ja) * 1992-04-17 1994-02-18 Matsushita Electric Ind Co Ltd 情報検索装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084420A (ja) * 2001-09-12 2003-03-19 Dainippon Printing Co Ltd フォトマスクデータの表示装置

Also Published As

Publication number Publication date
JP3502440B2 (ja) 2004-03-02

Similar Documents

Publication Publication Date Title
JP3033203B2 (ja) 配線経路探索装置及び配線経路探索方法
US5046012A (en) Pattern data processing method
KR100289331B1 (ko) 고차원 색인 구조의 동시성 제어 방법
JPH0658678B2 (ja) 回路設計を合成する為のプロセス及び装置
CN113506364A (zh) 模型创建方法、系统、设备及存储介质
US20040225982A1 (en) Constrained optimization with linear constraints to remove overlap among cells of an integrated circuit
CN104573112A (zh) Oltp集群数据库中页面查询方法及数据处理节点
JP3502440B2 (ja) 高速データ検索装置および高速データ検索方法
US7302377B1 (en) Accelerated event queue for logic simulation
JP2798055B2 (ja) 半導体集積回路のレイアウト方法
US7895561B2 (en) System and method for text based placement engine for custom circuit design
JPH06215037A (ja) インデックスの自動更新装置
CN105677968A (zh) 可编程逻辑器件电路图绘制方法及装置
JPH1063675A (ja) データ探索方法及びそれを適用したデータ探索装置
JP3293640B2 (ja) 回路データ接続追跡システム
JP2835082B2 (ja) 論理回路合成装置
JP2549493B2 (ja) 図形処理装置
Rose Computer aided design of printed wiring boards
JP3487936B2 (ja) 文字列データ検索装置
Sarrafzadeh et al. Interaction among cost functions in placement
JPH06163697A (ja) 集積回路のレイアウト設計データの画面表示方式
JPS6058492B2 (ja) デ−タベ−ス検索方式
JPH04182828A (ja) 擬似乱数によるテーブル内エントリー選択方式
JPH02116936A (ja) 再編成方式
JPH07122648A (ja) 配線経路処理方法

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031205

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

Free format text: PAYMENT UNTIL: 20071212

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees