JP2002073390A - 多次元空間データ構造を記録した記録媒体、多次元空間データ更新方法、多次元空間データ探索方法および前記方法を実施するプログラムを記録した記録媒体 - Google Patents

多次元空間データ構造を記録した記録媒体、多次元空間データ更新方法、多次元空間データ探索方法および前記方法を実施するプログラムを記録した記録媒体

Info

Publication number
JP2002073390A
JP2002073390A JP2000261508A JP2000261508A JP2002073390A JP 2002073390 A JP2002073390 A JP 2002073390A JP 2000261508 A JP2000261508 A JP 2000261508A JP 2000261508 A JP2000261508 A JP 2000261508A JP 2002073390 A JP2002073390 A JP 2002073390A
Authority
JP
Japan
Prior art keywords
node
data
stored
rectangle
spatial data
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
JP2000261508A
Other languages
English (en)
Other versions
JP3708809B2 (ja
Inventor
Yasushi Sakurai
保志 櫻井
Haruhiko Kojima
治彦 児島
Masatoshi Yoshikawa
正俊 吉川
Toshisuke Uemura
俊亮 植村
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000261508A priority Critical patent/JP3708809B2/ja
Publication of JP2002073390A publication Critical patent/JP2002073390A/ja
Application granted granted Critical
Publication of JP3708809B2 publication Critical patent/JP3708809B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 少ない時間でオブジェクトを検索でき、高い
探索性能を有する多次元空間データ構造を記録した記録
媒体、多次元空間データ更新方法、多次元空間データ探
索方法および前記方法を実施するプログラムを記録した
記録媒体を提供する。 【解決手段】 データノードにデータオブジェクトを格
納し、リーフノードにデータオブジェクトを近似する相
対セルと最小包囲矩形を格納し、中間ノードに最小包囲
矩形を近似する仮想包囲矩形、最小包囲矩形、配下のデ
ータオブジェクトの重心を格納し、根ノードに仮想包囲
矩形と重心を格納するように多次元空間データ構造を構
成している。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベースに格
納される多次元空間データの探索技術に関し、特に多次
元空間データ構造を記録した記録媒体、多次元空間デー
タ更新方法、多次元空間データ探索方法および前記方法
を実施するプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】従来の空間アクセス法の中で、高次元空
間の探索に有用な手法としてR−treeとその派生手
法がある(以下、R−treeファミリーと呼ぶ)。R
−treeファミリーには、R−tree,R*−tr
ee,Hilbert R−tree,SS−tree,SR
−treeなどがあり、いずれもデータオブジェクトは
最小包囲領域、つまり最小包囲矩形(MBR;Minimum
Bounding Rectangle)もしくは最小包囲球(MBS;Mi
nimum Bounding Sphere)に梱包され、更に階層構造を
なしている。
【0003】SR−treeは、図7に示すように、M
BRとMBSを用いる木構造である。探索においては、
問い合わせ点とMBRとの距離、問い合わせ点とMBS
との距離を計算し、距離の長い方をエントリと問い合わ
せ点との距離とする。MBRとMBSを探索に用いるこ
とにより、枝刈り処理の効率化を図っている。
【0004】MBRの位置座標の符号化を用いた手法と
してVR−tree(特願2000−8056)があ
る。仮想包囲矩形(VBR;Virtual Bounding Rectang
le)によってMBRは近似され、相対セル(relative c
ell)によってデータオブジェクトは近似され、VBR
と相対セルは部分空間符号により表現される。
【0005】図8は、部分空間符号を計算する方法につ
いて簡単に例示したものである。n次元空間内のi次元
座標において、包囲矩形Aが座標値として(3,19)
を、そして包囲矩形Bが同様に座標値として(6,8)
を占めている。このとき、長さlの符号を用いて、Aの
i次元座標範囲を2lの部分区間に等分割することによ
り、Bの始点をそれが存在する部分区間によって近似的
に表現することができる。これは、Bの終点についても
同様である。例えば、長さ3の符号を用いて、Aの領域
を8つの部分区間に分割した場合、BはAの始点から数
えて前から2番目と3番目の部分区間を占めていること
になる。それゆえ、i次元座標におけるBの領域は8元
符号(1,2)、もしくは2進符号では(001,01
0)のように近似的に表現することが可能である。この
場合、2進符号において必要な符号長は、Bの始点、終
点それぞれに3であるため、次元あたり合計6となる。
【0006】VR−treeでは、2種類の木構造索引
を構築する。絶対的位置表現を用いる木構造である実部
分、部分空間符号に基づいた相対的位置表現を用いる木
構造である仮想部分によって成り立っている。図9に索
引構造の例を示す。図9(a)において、全体空間をR
とする。MBR M1,M2はRに包含されており、V
1,V2は各々Rに基づいて、M1とM2を近似してい
る。V1,V2は各々RにおけるM1のVBR、Rにお
けるM2のVBRである。また同様に、図9(b)にお
いて、V3,V4は各々V1におけるM3のVBR、V
1におけるM4のVBRである。更に図9(c)に示す
ように、データオブジェクトP1,P2はM3に包含さ
れている。C1,C2は各々V3に基づいてP1とP2
を近似している。C1,C2は各々V3におけるP1の
相対セル、V3におけるP2の相対セルである。図9
(a),(b),(c)に示したMBR,VBR、デー
タオブジェクト、相対セルは、図9(d)のように構成
される。実部分のノードにはMBRとデータオブジェク
トが格納され、仮想部分のノードにはVBRあるいは相
対セルの部分空間符号が格納される。仮想部分のノード
と実部分のノードは1対1の関係を保つ。
【0007】
【発明が解決しようとする課題】上述した従来のVR−
treeは、次に示すような問題がある。
【0008】データオブジェクトが索引へ新たに挿入す
る場合、もしくは削除する場合、索引の更新処理が発生
する。VR−treeでは実部分のみならず、仮想部分
についても更新する必要があるため、従来手法より多く
の更新コストが発生する。実用においては、更新が頻繁
に発生するケースも考えられるため、更新コストを低減
化することが望まれる。
【0009】具体的に、VR−treeにおける更新処
理の概要、多くの更新コストが発生する理由について説
明する。実部分におけるMBRの修正処理は上向きに伝
播するが、仮想部分における部分空間符号の修正は下向
きに伝播する。実部分においてMBRやデータオブジェ
クトが更新されると、対応するVBRや相対セルの符号
についても更新する。更に、更新した符号のエントリを
頂点として、その配下に位置するすべてのノードにアク
セスし、ノードが保有する部分空間符号を検査する必要
がある。そして、必要があれば更新する。手順は以下の
通りである。
【0010】(1)更新したMBRに対応するVBRの
符号、もしくは更新したデータオブジェクトに対応する
相対セルの符号を更新するため、仮想部分において根ノ
ードから下位ノードに向かってVBRを計算していく。
【0011】(2)更新したMBRやデータオブジェク
トに対応する符号を計算し、更新する。
【0012】(3)更新したエントリを頂点とする配下
の部分木内のすべてのノードにアクセスし、ノードに格
納されている符号を検査し、必要があれば更新する。
【0013】(3)において記述されているように、V
R−treeでは、部分空間符号に修正を必要としない
ノードに達しても終了せず、引き続き下位ノードへ処理
を伝播させ、部分木内のすべてのノードにアクセスす
る。何故なら、部分空間符号は相対的位置を用いている
ためにVBRには幾分かの誤差が含まれており、現ノー
ドにおいて更新の必要が無い場合でも下位ノードでは修
正を必要とする可能性があるためである。図10を用い
てこの理由について説明する。図9において矩形A,
B,Cを各々全体空間、子ノードのMBR、孫ノードの
MBRとする。また、Vbを基数4のAにおけるBのV
BRとし、Vcを基数4のVbにおけるCのVBRとす
る。データオブジェクトの挿入により、図9(a)から
図9(b)のように矩形Aのみがx軸方向に拡張したと
する。このとき、Bのサイズに変動はないが、Aの拡張
によってVbは拡張する。そして、サイズに変動のない
Cに関しては、Vbのサイズ変動によりCのVBR Vc
は縮小する。この場合、Vbの部分空間符号に修正の必
要はないが、Vcの部分空間符号には修正が必要であ
る。
【0014】VR−treeは上述のように付加的な更
新コストを必要とする。木構造の上部のレベルのMBR
が変更された場合、特に多くのコストを必要とする。
【0015】本発明は、上記に鑑みてなされたもので、
その目的とするところは、少ない時間でオブジェクトを
検索でき、高い探索性能を有する多次元空間データ構造
を記録した記録媒体、多次元空間データ更新方法、多次
元空間データ探索方法および前記方法を実施するプログ
ラムを記録した記録媒体を提供することにある。
【0016】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の本発明の多次元空間データ構造を記
録した記録媒体は、データベースに格納されるマルチメ
ディアデータを組織する多次元空間木構造であって、根
ノード、該根ノードに対して子ノードとしてリンクして
いる中間ノード、および該中間ノードに子ノードとして
リンクしているリーフノードを有する索引ノードと前記
リーフノードに1対1の関係でリンクしているデータノ
ードから構成され、前記データノードにデータオブジェ
クトを格納し、前記リーフノードにデータオブジェクト
を近似する相対セルと最小包囲矩形を格納し、前記中間
ノードに最小包囲矩形を近似する仮想包囲矩形、最小包
囲矩形、配下のデータオブジェクトの重心を格納し、根
ノードに仮想包囲矩形と重心を格納するように構成した
多次元空間データ構造を記録媒体に記録することを要旨
とする。
【0017】請求項1記載の本発明にあっては、データ
ノードにデータオブジェクトを格納し、リーフノードに
データオブジェクトを近似する相対セルと最小包囲矩形
を格納し、中間ノードに最小包囲矩形を近似する仮想包
囲矩形、最小包囲矩形、配下のデータオブジェクトの重
心を格納し、根ノードに仮想包囲矩形と重心を格納する
ように構成した多次元空間データ構造を記録媒体に記録
しているため、該記録媒体を用いて、その流通性を高め
ることができる。
【0018】また、請求項2記載の本発明の多次元空間
データ更新方法は、請求項1記載の多次元空間データ構
造においてデータノードに格納されているデータオブジ
ェクトと親ノードに格納されている最小包囲矩形から相
対セルの部分空間符号を計算し、根ノード以外の索引ノ
ードに格納されている最小包囲矩形と親ノードに格納さ
れている最小包囲矩形から仮想包囲矩形の部分空間符号
を計算することを要旨とする。
【0019】請求項2記載の本発明にあっては、データ
ノードに格納されているデータオブジェクトと親ノード
に格納されている最小包囲矩形から相対セルの部分空間
符号を計算し、根ノード以外の索引ノードに格納されて
いる最小包囲矩形と親ノードに格納されている最小包囲
矩形から仮想包囲矩形の部分空間符号を計算している。
【0020】更に、請求項3記載の本発明の多次元空間
データ探索方法は、請求項1記載の多次元空間データ構
造において根ノードおよび中間ノードでは最小包囲矩形
と部分空間符号から仮想包囲矩形を計算し、リーフノー
ドでは最小包囲矩形と部分空間符号から相対セルを計算
し、データノードのアクセスにおいてデータオブジェク
トを取得することを要旨とする。
【0021】請求項3記載の本発明にあっては、根ノー
ドおよび中間ノードでは最小包囲矩形と部分空間符号か
ら仮想包囲矩形を計算し、リーフノードでは最小包囲矩
形と部分空間符号から相対セルを計算し、データノード
のアクセスにおいてデータオブジェクトを取得してい
る。
【0022】請求項4記載の本発明の多次元空間データ
更新プログラムを記録した記録媒体は、請求項1記載の
多次元空間データ構造においてデータノードに格納され
ているデータオブジェクトと親ノードに格納されている
最小包囲矩形から相対セルの部分空間符号を計算し、根
ノード以外の索引ノードに格納されている最小包囲矩形
と親ノードに格納されている最小包囲矩形から仮想包囲
矩形の部分空間符号を計算する多次元空間データのデー
タ更新プログラムを記録媒体に記録することを要旨とす
る。
【0023】請求項4記載の本発明にあっては、データ
ノードに格納されているデータオブジェクトと親ノード
に格納されている最小包囲矩形から相対セルの部分空間
符号を計算し、根ノード以外の索引ノードに格納されて
いる最小包囲矩形と親ノードに格納されている最小包囲
矩形から仮想包囲矩形の部分空間符号を計算する多次元
空間データのデータ更新プログラムを記録媒体に記録し
ているため、該記録媒体を用いて、その流通性を高める
ことができる。
【0024】また、請求項5記載の本発明の多次元空間
データ探索プログラムを記録した記録媒体は、請求項1
記載の多次元空間データ構造において根ノードおよび中
間ノードでは最小包囲矩形と部分空間符号から仮想包囲
矩形を計算し、リーフノードでは最小包囲矩形と部分空
間符号から相対セルを計算し、データノードのアクセス
においてデータオブジェクトを取得する多次元空間デー
タ探索プログラムを記録媒体に記録することを要旨とす
る。
【0025】請求項5記載の本発明にあっては、根ノー
ドおよび中間ノードでは最小包囲矩形と部分空間符号か
ら仮想包囲矩形を計算し、リーフノードでは最小包囲矩
形と部分空間符号から相対セルを計算し、データノード
のアクセスにおいてデータオブジェクトを取得する多次
元空間データ探索プログラムを記録媒体に記録している
ため、該記録媒体を用いて、その流通性を高めることが
できる。
【0026】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。本発明では、上述したVR−tre
eが有する問題から鑑みて、(1)更新処理では、親ノ
ードのVBRではなく、親ノードのMBRから部分空間
符号を計算し、(2)探索処理では、少ないページアク
セスでMBRと部分空間符号のデータを取得するという
特質を有するデータ構造およびアルゴリズムを有する新
たな索引手法であるVR−treeを改良したA−tr
ee(Approximation Tree)を提案している。
【0027】このA−treeでは、上位のノードのM
BRから相対的にVBRや相対セルの部分空間符号を計
算する。また、部分空間符号と親ノードのMBRを同一
のノードに格納する。
【0028】図1は、このA−treeの構造の一例を
示す図である。図1(a)において、全体空間をRとす
る。MBR M1,M2はRに包含されており、MBR
M3,M4はM1に包含されている。更にデータオブジ
ェクトP1,P2はM3に包含されている。この構造に
おいて、V1,V2,V3,V4は各々RにおけるM1
のVBR、RにおけるM2のVBR、M1におけるM3
のVBR、M1におけるM4のVBRである。また、C
1,C2は各々M3におけるP1の相対セル、M3にお
けるP2の相対セルである。MBR、VBR、データオ
ブジェクト、相対セルは図1(b)のように格納され、
木構造が作られる。
【0029】図1(b)に示すように、A−treeの
ノードは索引ノード(index node)とデータノード(da
ta node)に分類できる。根ノード以外の索引ノードは
1つのMBR(Mとする)、子ノードに関するMBR
(もしくはデータオブジェクト)を近似するVBR(も
しくは相対セル)の部分空間符号を保有している。Mは
子ノードに格納されているMBR(もしくはデータオブ
ジェクト)を包含するMBRである。根ノードではMB
Rは格納しない。根ノードでは全体空間から子ノードの
VBRを計算することができる。A−treeを構築す
るとき、あるノードに格納されている子のVBR(もし
くは相対セル)の符号は、子のMBR(もしくはデータ
オブジェクト)と同じノードに格納されている親のMB
Rから計算される。根ノードにおいては、子のVBRの
符号は、子のMBRと全体空間から計算される。
【0030】A−treeでは索引ノードは、リーフノ
ード、中間ノード、根ノードに分類される。
【0031】1.データノード データノードはエントリ、(P1 ,o1),(P2
2),…,(Pm ,o m)を含んでいる。ここで、Pi
(i=1,2,…,m)はデータオブジェクトの空間ベ
クトルであり、oi(i=1,2,…,m)はオブジェ
クト記述レコードへのポインタである。エントリ数mは
最大値と最小値によって制限されている。
【0032】2.リーフノード リーフノードはデータノードと1対1の関係があり、デ
ータノードN((P 1 ,o1),(P2 ,o2),…,
(Pm ,om))と対応するリーフノードは、i)
1 ,P2 ,…,PmのMBRであるM、ii)ポインタ
N、iii)エントリのリストsc(V1),sc
(V2),…,sc(Vm)から構成される。ここで、V
iはMにおけるPi(i=1,2,…,m)の相対セルで
あり、SC(Vi)はViの部分空間符号である。
【0033】3.中間ノード 根ノードとリーフノードを除く索引ノードが中間ノード
であり、i)子ノードのMBRを包含するMBR M、i
i)エントリ(ptr,sc(V),w,Pc entroid
のリストから構成される。ここで、ptrは子ノードC
へのポインタ、VはCに格納されているMBRを近似す
るVBR、wはCを頂点とする部分木内のデータオブジ
ェクトの総数、Pcentroidはその部分木内のすべてのデ
ータオブジェクトの重心である。
【0034】wとPcentroidは、データオブジェクトの
挿入と削除の際に用いられる。探索アルゴリズムでは
M,ptr,sc(V)のみが用いられるため、実装に
おいては、ptrとsc(V)のデータを同じページに
格納する。
【0035】4.根ノード 根ノードはエントリ(ptr,sc(V),w,P
centroid)のリストから構成される。
【0036】次に、上述したA−treeの更新アルゴ
リズムについて説明する。A−treeの更新アルゴリ
ズムは、SR−treeに基づいている。データオブジ
ェクトの挿入もしくは削除から始まり、中間ノードにお
けるMBRと重心の調整処理は上位ノードに伝播する。
A−treeとSR−treeの違いは、A−tree
アルゴリズムがVBRや相対セルの計算を必要とするこ
とである。具体的にA−tree構造は以下のように更
新される。
【0037】(1)Nをデータノード、MをNのMBR
とする。そのとき、MはNの親ノードに格納されてい
る。Nにおいてデータオブジェクトの挿入もしくは削除
が発生した場合、Mを調整し、Nに格納されているすべ
てのデータオブジェクトの重心を計算し、更新する。
【0038】(2)Mが変化しなかった場合、挿入オブ
ジェクトを近似する相対セルの符号をMから計算し、更
新する。さもなければ、Nの親ノードに格納されている
すべての符号を更新する。
【0039】(3)Nを根ノードを除く索引ノードの1
つであるとし、MをNのMBRとする。そのとき、Mは
Nの親ノードに格納されている。データオブジェクトの
挿入もしくは削除がNを頂点とする部分木内で発生した
場合、Nの親ノードに蓄積されているすべての重心点を
更新する。更に、挿入もしくは削除が、子のMBRを変
更させた場合はMを調整する。
【0040】(4)Mが変化しなかった場合、更新した
MBRを近似するVBRの符号をMから計算する。そし
て更新する。さもなければ、Nの親ノードに格納されて
いるすべてのVBRの符号を更新する。
【0041】次に、図2に示すフローチャートを参照し
て、上述したA−treeを用いて近傍探索アルゴリズ
ムについて説明する。この探索アルゴリズムは、VR−
treeに準じている。相違点は、VR−treeがV
BRや相対セルの座標値を親ノードのVBRから計算す
るのに対して、A−treeでは親ノードのMBRから
計算することである。
【0042】図2に示す探索アルゴリズムでは、木構造
を幅優先で探索する。現ノードのMBRと子ノードの部
分空間符号を基にして、根ノードと中間ノードでは子ノ
ードのVBRを計算し、リーフノードでは子ノードの相
対セルを計算する。そして、データノードに到達する
と、オブジェクトの位置情報を収集し、候補オブジェク
トとする。
【0043】図2においては、まずキューの先頭に根ノ
ードを設定し(ステップS11)、ステップS13〜S
39のループ1の処理をキューが空きになるまで繰り返
し実行する。このループ1では、まずノードへのポイン
タをNに設定し、このポインタNでキューの先頭データ
を指定し、問い合わせ点から最も近いノードに関するデ
ータとしてキューから取り出すとともに、ポインタNで
示されるノード内のエントリ番号をeに設定する(ステ
ップS15)。それから、このポインタNで指し示され
ているノードがデータノードか索引ノードかを判定する
(ステップS17)。
【0044】Nで指し示されているノードがデータノー
ドである場合、データノードは複数ページを占めている
ため、指し示されているエントリ、すなわちデータオブ
ジェクトに関するページにのみアクセスする。具体的に
は、Nで指し示されているノード内に格納されているe
番目のエントリをEとし、このエントリEであるデータ
オブジェクトと問い合わせ点との距離を計算して、この
計算した値をDとする(ステップS19)。
【0045】この計算した距離Dを第1リストのk近傍
距離と比較し、距離Dが第1リストのk近傍距離以下で
あるか否かをチェックする(ステップS21)。距離D
が小さい場合には、この計算した距離Dとデータオブジ
ェクトEを最近傍の候補として第1リストに格納しソー
トする(ステップS23)。それから、第1リストによ
るキューのフィルタリングを行う(ステップS25)。
このフィルタリングでは、第1リストに格納されている
候補のデータオブジェクトを用いて、キューの中でアク
セスする必要のないデータを削除する。
【0046】それから、キューの先頭データを削除し
て、キュー内のデータを前詰めし(ステップS27)、
以上の処理をキューが空きになるまでループ1として繰
り返し行う。
【0047】また、上記ステップS17の判定におい
て、Nによって示されるノードが索引ノードである場合
には、ステップS31に進み、ここでNで示されるノー
ドに格納されているエントリの数をentとして設定す
るとともに、Nの仮想包囲矩形MBRをRに設定する。
それから、Nで示されるノードがリーフノードであるか
否かを判定する(ステップS33)。
【0048】Nで示されるノードがリーフノードでな
く、中間ノードまたは根ノードである場合には、図3に
示す処理Aが実行され(ステップS35)、リーフノー
ドである場合には、図4に示す処理Bが実行される(ス
テップS37)。
【0049】図3に示す処理Aでは、まずパラメータi
が0に設定され(ステップS51)、以下に続くステッ
プS53からS65までのループ2で示す処理をパラメ
ータiが前記エントリ数ent以上になるまで繰り返し
実行する。ループ2では、まず前記パラメータiを+1
インクリメントし(ステップS55)、ノードNにおい
てi番目のエントリとして格納されている部分空間符号
と親ノードの矩形Rから子ノードのVBR(仮想包囲矩
形)Vを計算する(ステップS57)。そして、この計
算したVと問い合わせ点との最小距離Dを算出し(ステ
ップS59)、この距離Dを第1、第2リストのk近傍
距離と比較し、距離Dが第1リストのk近傍距離以下で
あり、かつ第2リストのk近傍距離以下であるか否かを
判定する(ステップS61)。
【0050】この判定の結果、距離Dが第1リストのk
近傍距離以下であり、かつ第2リストのk近傍距離以下
である場合に限り、ノードNのi番目のエントリに格納
されている子ポインタ、距離Dをキューに格納する(ス
テップS63)。以上のループ2の処理をノードに格納
されている全エントリに対して行い、ループ2が終了す
ると、キューの先頭データを削除して、データを前詰め
し、キュー内のデータを距離の昇順にソートし(ステッ
プS67)、図3の処理Aから図2に示すステップS3
9に戻って、ループ1の処理をキューが空きになるまで
繰り返し行う。
【0051】次に、図4に示す処理Bでは、まずパラメ
ータiが0に設定され(ステップS81)、以下に続く
ステップS83からS101までのループ3で示す処理
をパラメータiが前記エントリ数ent以上になるまで
繰り返し実行する。ループ3では、まず前記パラメータ
iを+1インクリメントし(ステップS85)、ノード
Nにおいてi番目のエントリとして格納している部分空
間符号と現ノードの矩形Rから子ノードの相対セルCを
計算する(ステップS87)。そして、この計算した相
対セルCと問い合わせ点との最小距離Dを算出し(ステ
ップS89)、この距離Dを第1、第2リストのk近傍
距離と比較し、距離Dが第1リストのk近傍距離以下で
あり、かつ第2リストのk近傍距離以下であるか否かを
判定する(ステップS90)。
【0052】この判定の結果、距離Dが第1リストのk
近傍距離以下であり、かつ第2リストのk近傍距離以下
である場合、ノードNのi番目のエントリに格納されて
いる子ポインタ、エントリ番号i、距離Dをキューに格
納しソートする(ステップS91)。
【0053】次に、前記計算した相対セルCと問い合わ
せ点との最大距離であるDmaxを計算する(ステップS
93)。この計算した最大距離Dmaxが第2リストのk
近傍距離未満であるか否かを判定し(ステップS9
5)、最大距離Dmaxが第2リストのk近傍距離未満で
ある場合には、最大距離Dmaxを第2リストに格納し、
ソートする(ステップS97)。それから、第2リスト
を用いて、キューのフィルタリングを行う(ステップS
99)。このフィルタリングでは、第2リストに格納さ
れている候補オブジェクトを用いて、キューの中でアク
セスする必要のないデータを削除し、これによりキュー
のデータ量を削減する。以上のループ3の処理をノード
に格納されている全エントリに対して行い、ループ2が
終了すると、キューの先頭データを削除して、データを
前詰めし、キュー内のデータを距離の昇順にソートし
(ステップS67)、図4の処理Bから図2に示すステ
ップS39に戻って、ループ1の処理をキューが空きに
なるまで繰り返し行う。
【0054】このようにしてループ1の処理をキューが
空きになるまで繰り返し実行し、ループ1の処理が終了
すると、第1リストに格納されている候補オブジェクト
を最終的な近傍オブジェクトとして出力する(ステップ
S41)。
【0055】上述した多次元空間データ更新処理および
多次元空間データ探索処理は、図5(a)に示すように
CPU1、メモリ3、I/O5、入力手段7、表示手段
9、外部記憶手段11からなる計算機のメモリ3または
外部記憶手段11に記憶された多次元空間データ更新プ
ログラムおよび多次元空間データ探索プログラムをCP
U1で実行することにより達成される。
【0056】更に詳しくは、図5(a)に示す計算機
は、前記多次元空間データ更新プログラムおよび多次元
空間データ探索プログラムおよびCPU1によりソフト
ウェア機能として構成される図5(b)に示すように索
引更新処理部21および探索処理部23を有し、索引更
新処理部21がメモリ3内に構成される索引記憶部25
にアクセスして索引記憶部25の内部に格納されている
索引を更新し、また探索処理部23が索引記憶部25に
アクセスしながら探索を実施するようになっている。
【0057】ここで、探索アルゴリズムを例として、図
1(a)を用いて説明する。Rの矩形位置とV1とV2
の部分空間符号によって、V1とV2を求め、VBRと
問い合わせ点との距離を計算し、キューに格納する。V
1が枝刈り対象にならなかった場合、同様にM1の位置
とV3とV4の部分空間符号によってV3とV4を求
め、VBRと問い合わせ点との距離を計算する。計算に
よって求めた距離をキューに格納する。V3が枝刈り対
象にならなかった場合、M3の位置とC1とC2の部分
空間符号によって、C1とC2を計算する。計算によっ
て求めた相対セルと問い合わせ点との距離をキューに格
納する。また、問い合わせ点とC1間の最大距離、およ
び問い合わせ点とC2間の最大距離は第2リストに格納
され、キューのフィルタリングが行われる。そして、C
1が枝刈り対象にならなかった場合、P1にアクセスす
る。
【0058】次に、本発明の多次元空間データ探索方法
による探索時間を調査した実験結果について図6を参照
して説明する。この実験における本発明に対する比較対
象として既存手法のSR−tree,VA−Fileを
用いた。このSR−tree,VA−Fileは、高次
元空間探索において優れた手法である。実験条件とし
て、オブジェクトデータは画像の色相ヒストグラムに基
づく点データを用い、データ集合サイズは100,00
0件、探索数は20である。空間次元数は4次元から6
4次元まで変化させた。ディスクページは8KB(81
92byte)を基にした。
【0059】図6(a)からわかるように、A−tre
eは、探索コストに関して全次元数においてVA−Fi
leおよびSR−treeよりも優れている。具体的に
は、100,000件、64次元の場合において、VA
−Fileに対して77.7%のディスクアクセスの削
減を達成し、またSR−treeに対して77.3%の
ディスクアクセスの削減を達成している。VR−tre
eとは同等の性能を示している。
【0060】また、図6(b)からわかるように、索引
の更新コストについては、VR−treeよりもコスト
を低減している。具体的には、100,000件、64
次元の場合において、VR−treeに対して68.2
%のディスクアクセスの削減を達成している。
【0061】なお、上記実施形態の空間探索方法および
索引更新方法の処理手順をプログラムとして記録媒体に
記録して、この記録媒体をコンピュータシステムに組み
込むとともに、該記録媒体に記録されたプログラムをコ
ンピュータシステムにダウンロードまたはインストール
し、該プログラムでコンピュータシステムを作動させる
ことにより、空間探索方法および索引更新方法を実施す
るシステムとして機能させることができることは勿論で
あり、このような記録媒体を用いることにより、その流
通性を高めることができるものである。
【0062】
【発明の効果】以上説明したように、本発明によれば、
高次元空間探索において少ない時間でオブジェクトを検
出することが可能となり、高い探索性能を実現すること
ができる。また、データオブジェクトの挿入や削減に伴
う索引の更新を低コストで実施することができる。更
に、本発明は多次元空間データとして表現することがで
きる画像、映像、音声、文書等を対象とする広範囲な情
報検索に適用することが可能である。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る多次元空間データ構
造であるA−treeの構造の一例を示す図である。
【図2】本発明の他の実施形態に係る多次元空間データ
探索方法の作用を示すフローチャートである。
【図3】図2に示すフローチャートにおけるステップS
35の処理Aの手順を示すフローチャートである。
【図4】図2に示すフローチャートにおけるステップS
37の処理Bの手順を示すフローチャートである。
【図5】本発明の実施形態である多次元空間データ更新
処理および多次元空間データ探索処理を実施するシステ
ム構成を示す図である。
【図6】本発明の多次元空間データ探索方法による探索
時間を調査した実験結果を従来技術と比較して示すグラ
フである。
【図7】従来技術におけるSR−treeの構造を示す
図である。
【図8】従来技術における部分空間符号の計算方法を示
す図である。
【図9】従来技術におけるVR−treeの構造を示す
図である。
【図10】従来技術におけるVR−treeの更新処理
を説明するための図である。
【符号の説明】
1 CPU 3 メモリ 11 外部記憶手段 21 索引更新処理部 23 探索処理部 25 探索記憶部 C1,C2 相対セル M1,M2,M3,M4 MBR(最小包囲矩形) P1,P2 データオブジェクト V1,V2,V3,V4 VBR(仮想包囲矩形)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 植村 俊亮 奈良県生駒市高山8916−5 B−303 Fターム(参考) 5B075 ND36 5B082 BA03 BA09 EA05

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 データベースに格納されるマルチメディ
    アデータを組織する多次元空間木構造であって、根ノー
    ド、該根ノードに対して子ノードとしてリンクしている
    中間ノード、および該中間ノードに子ノードとしてリン
    クしているリーフノードを有する索引ノードと前記リー
    フノードに1対1の関係でリンクしているデータノード
    から構成され、前記データノードにデータオブジェクト
    を格納し、前記リーフノードにデータオブジェクトを近
    似する相対セルと最小包囲矩形を格納し、前記中間ノー
    ドに最小包囲矩形を近似する仮想包囲矩形、最小包囲矩
    形、配下のデータオブジェクトの重心を格納し、根ノー
    ドに仮想包囲矩形と重心を格納するように構成したこと
    を特徴とする多次元空間データ構造を記録した記録媒
    体。
  2. 【請求項2】 請求項1記載の多次元空間データ構造に
    おいてデータノードに格納されているデータオブジェク
    トと親ノードに格納されている最小包囲矩形から相対セ
    ルの部分空間符号を計算し、根ノード以外の索引ノード
    に格納されている最小包囲矩形と親ノードに格納されて
    いる最小包囲矩形から仮想包囲矩形の部分空間符号を計
    算することを特徴とする多次元空間データ更新方法。
  3. 【請求項3】 請求項1記載の多次元空間データ構造に
    おいて根ノードおよび中間ノードでは最小包囲矩形と部
    分空間符号から仮想包囲矩形を計算し、リーフノードで
    は最小包囲矩形と部分空間符号から相対セルを計算し、
    データノードのアクセスにおいてデータオブジェクトを
    取得することを特徴とする多次元空間データ探索方法。
  4. 【請求項4】 請求項1記載の多次元空間データ構造に
    おいてデータノードに格納されているデータオブジェク
    トと親ノードに格納されている最小包囲矩形から相対セ
    ルの部分空間符号を計算し、根ノード以外の索引ノード
    に格納されている最小包囲矩形と親ノードに格納されて
    いる最小包囲矩形から仮想包囲矩形の部分空間符号を計
    算することを特徴とする多次元空間データ更新プログラ
    ムを記録した記録媒体。
  5. 【請求項5】 請求項1記載の多次元空間データ構造に
    おいて根ノードおよび中間ノードでは最小包囲矩形と部
    分空間符号から仮想包囲矩形を計算し、リーフノードで
    は最小包囲矩形と部分空間符号から相対セルを計算し、
    データノードのアクセスにおいてデータオブジェクトを
    取得することを特徴とする多次元空間データ探索プログ
    ラムを記録した記録媒体。
JP2000261508A 2000-08-30 2000-08-30 多次元空間データ構造を記録した記録媒体、多次元空間データ更新方法、多次元空間データ探索方法および前記方法を実施するプログラムを記録した記録媒体 Expired - Lifetime JP3708809B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000261508A JP3708809B2 (ja) 2000-08-30 2000-08-30 多次元空間データ構造を記録した記録媒体、多次元空間データ更新方法、多次元空間データ探索方法および前記方法を実施するプログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000261508A JP3708809B2 (ja) 2000-08-30 2000-08-30 多次元空間データ構造を記録した記録媒体、多次元空間データ更新方法、多次元空間データ探索方法および前記方法を実施するプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2002073390A true JP2002073390A (ja) 2002-03-12
JP3708809B2 JP3708809B2 (ja) 2005-10-19

Family

ID=18749337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000261508A Expired - Lifetime JP3708809B2 (ja) 2000-08-30 2000-08-30 多次元空間データ構造を記録した記録媒体、多次元空間データ更新方法、多次元空間データ探索方法および前記方法を実施するプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3708809B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006059629A1 (ja) * 2004-11-30 2006-06-08 Hewlett-Packard Development Company, L.P. エリア情報の管理装置・方法・プログラム
JP2008504737A (ja) * 2004-06-23 2008-02-14 クゥアルコム・インコーポレイテッド ネットワークパケットの効率的な分類
JP2009199151A (ja) * 2008-02-19 2009-09-03 Hitachi Ltd k最近傍検索方法、k最近傍検索プログラム及びk最近傍検索装置
JP2012234415A (ja) * 2011-05-02 2012-11-29 Fujitsu Ltd インデックス管理方法、インデックス管理プログラムおよびインデックス管理装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008504737A (ja) * 2004-06-23 2008-02-14 クゥアルコム・インコーポレイテッド ネットワークパケットの効率的な分類
JP2011054179A (ja) * 2004-06-23 2011-03-17 Qualcomm Inc ネットワークパケットの効率的な分類
US8750285B2 (en) 2004-06-23 2014-06-10 Qualcomm Incorporated Efficient classification of network packets
WO2006059629A1 (ja) * 2004-11-30 2006-06-08 Hewlett-Packard Development Company, L.P. エリア情報の管理装置・方法・プログラム
US7619913B2 (en) 2004-11-30 2009-11-17 Hewlett-Packard Development Company, L.P. Device, method and program for managing area information
JP2009199151A (ja) * 2008-02-19 2009-09-03 Hitachi Ltd k最近傍検索方法、k最近傍検索プログラム及びk最近傍検索装置
JP2012234415A (ja) * 2011-05-02 2012-11-29 Fujitsu Ltd インデックス管理方法、インデックス管理プログラムおよびインデックス管理装置

Also Published As

Publication number Publication date
JP3708809B2 (ja) 2005-10-19

Similar Documents

Publication Publication Date Title
Kollios et al. Indexing animated objects using spatiotemporal access methods
JP3849279B2 (ja) インデクス作成方法および検索方法
Lin et al. Efficient indexing of the historical, present, and future positions of moving objects
US20070043686A1 (en) Xml sub-document versioning method in xml databases using record storages
Yang et al. Pase: Postgresql ultra-high-dimensional approximate nearest neighbor search extension
KR100284778B1 (ko) 내용기반 이미지 검색을 위한 고차원 색인구조의 삽입 방법
Lu et al. Hierarchical indexing structure for efficient similarity search in video retrieval
CN112765405B (zh) 空间数据搜索结果的聚类和查询的方法及系统
CN104598517A (zh) 基于普通数据库的树型结构表的存储与查询技术
CN112395288B (zh) 基于希尔伯特曲线的r树索引合并更新方法、装置及介质
Nam et al. A comparative study of spatial indexing techniques for multidimensional scientific datasets
CN114722139A (zh) 可自适应动态伸缩的时空多属性索引方法及其检索方法
JP2010277329A (ja) 近傍探索装置
JP2002073390A (ja) 多次元空間データ構造を記録した記録媒体、多次元空間データ更新方法、多次元空間データ探索方法および前記方法を実施するプログラムを記録した記録媒体
CN110321353B (zh) 一种基于半分解策略的多维空间数据索引方法
KR100667741B1 (ko) 특징 벡터 데이터 공간의 인덱싱 방법
CN115757896A (zh) 向量检索方法、装置、设备及可读存储介质
JP2000035965A (ja) 類似特徴量の検索方法及び装置及び類似特徴量の検索プログラムを格納した記憶媒体
Mediano et al. V-Trees-A Storage Method for Long Vector Data
KR20080052091A (ko) 데이터에 대한 검색을 수행하기 위한 자료구조를 기록한 컴퓨터로 읽을 수 있는 기록매체, 그 자료구조를 이용하여 데이터를 검색, 저장, 삭제하는 방법
Park et al. A fast and compact indexing technique for moving objects
JP2000357168A (ja) 多次元空間検索における最小包囲領域作成方法、最小包囲球符号化方法、多次元空間データ構造、多次元空間データ更新方法および多次元空間データ探索方法と前記方法を実施するプログラムを記録した記録媒体および多次元空間データ構造を記録した記録媒体
KR100446639B1 (ko) 셀 기반의 고차원 데이터 색인 장치 및 그 방법
JP3542732B2 (ja) 多次元空間データ構造および多次元空間データの更新および探索方法と前記多次元空間データ構造を記録した記録媒体および前記方法を実施するプログラムを記録した記録媒体
JP2001195425A (ja) 多次元空間データ構造を記録した記録媒体、多次元空間データ探索方法、多次元空間データ更新方法および前記方法を実施するプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050804

R150 Certificate of patent or registration of utility model

Ref document number: 3708809

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080812

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090812

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090812

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100812

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100812

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110812

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120812

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130812

Year of fee payment: 8

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term