JP2000357168A - 多次元空間検索における最小包囲領域作成方法、最小包囲球符号化方法、多次元空間データ構造、多次元空間データ更新方法および多次元空間データ探索方法と前記方法を実施するプログラムを記録した記録媒体および多次元空間データ構造を記録した記録媒体 - Google Patents
多次元空間検索における最小包囲領域作成方法、最小包囲球符号化方法、多次元空間データ構造、多次元空間データ更新方法および多次元空間データ探索方法と前記方法を実施するプログラムを記録した記録媒体および多次元空間データ構造を記録した記録媒体Info
- Publication number
- JP2000357168A JP2000357168A JP11167384A JP16738499A JP2000357168A JP 2000357168 A JP2000357168 A JP 2000357168A JP 11167384 A JP11167384 A JP 11167384A JP 16738499 A JP16738499 A JP 16738499A JP 2000357168 A JP2000357168 A JP 2000357168A
- Authority
- JP
- Japan
- Prior art keywords
- node
- minimum
- virtual
- sphere
- surrounding
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 MBSに符号化を適用し、高次元空間検索に
有効なSR−treeやSS−treeの符号化構造を
構築して、高次元空間検索に極めて高い性能を有するア
ルゴリズムを確立し得る多次元空間検索における最小包
囲領域作成方法、最小包囲球符号化方法、多次元空間デ
ータ構造、多次元空間データ更新方法および多次元空間
データ探索方法と前記方法を実施するプログラムを記録
した記録媒体および多次元空間データ構造を記録した記
録媒体を提供する。 【解決手段】 データベースに格納されるマルチメディ
アデータを組織する多次元空間データ木構造において、
親ノードの最小包囲領域を部分空間として2n 分割し、
子ノードの最小包囲球の中心点が存在する親ノードの部
分空間を検出し、子ノードの最小包囲球の中心点が存在
する部分空間と子ノードの最小包囲球のMinkowski sum
を計算することにより最小包囲球を包含する最小包囲領
域を作成する。
有効なSR−treeやSS−treeの符号化構造を
構築して、高次元空間検索に極めて高い性能を有するア
ルゴリズムを確立し得る多次元空間検索における最小包
囲領域作成方法、最小包囲球符号化方法、多次元空間デ
ータ構造、多次元空間データ更新方法および多次元空間
データ探索方法と前記方法を実施するプログラムを記録
した記録媒体および多次元空間データ構造を記録した記
録媒体を提供する。 【解決手段】 データベースに格納されるマルチメディ
アデータを組織する多次元空間データ木構造において、
親ノードの最小包囲領域を部分空間として2n 分割し、
子ノードの最小包囲球の中心点が存在する親ノードの部
分空間を検出し、子ノードの最小包囲球の中心点が存在
する部分空間と子ノードの最小包囲球のMinkowski sum
を計算することにより最小包囲球を包含する最小包囲領
域を作成する。
Description
【0001】
【発明の属する技術分野】本発明は、データベースに格
納される多次元空間データの検索技術に関し、特に多次
元空間検索における最小包囲領域作成方法、最小包囲球
符号化方法、多次元空間データ構造、多次元空間データ
更新方法および多次元空間データ探索方法と前記方法を
実施するプログラムを記録した記録媒体および多次元空
間データ構造を記録した記録媒体に関する。
納される多次元空間データの検索技術に関し、特に多次
元空間検索における最小包囲領域作成方法、最小包囲球
符号化方法、多次元空間データ構造、多次元空間データ
更新方法および多次元空間データ探索方法と前記方法を
実施するプログラムを記録した記録媒体および多次元空
間データ構造を記録した記録媒体に関する。
【0002】
【従来の技術】従来の空間アクセス法の中で、高次元空
間の探索に有用な手法としてR−treeとその派生手
法がある(以下、R−treeファミリーと呼ぶ)。R
−treeファミリーには、R−tree,R* −tr
ee,Hilbert R−tree,SS−tre
e,SR−treeなどがあり、いずれもデータオブジ
ェクトは最小包囲領域、つまり最小包囲矩形(MBR;
Minimum Bounding Rectangle)もしくは最小包囲球(M
BS;Minimum Bounding Sphere )に梱包され、更に階
層構造をなしている。R−treeファミリーの中で
も、SR−treeは高次元空間において優れた性能を
示す構造として報告されている。SR−treeはMB
RとMBSの両方をデータ構造に採り入れることによ
り、MBRのみを扱うR* −treeや、MBSのみを
扱うSS−treeよりも高い探索性能を示している。
間の探索に有用な手法としてR−treeとその派生手
法がある(以下、R−treeファミリーと呼ぶ)。R
−treeファミリーには、R−tree,R* −tr
ee,Hilbert R−tree,SS−tre
e,SR−treeなどがあり、いずれもデータオブジ
ェクトは最小包囲領域、つまり最小包囲矩形(MBR;
Minimum Bounding Rectangle)もしくは最小包囲球(M
BS;Minimum Bounding Sphere )に梱包され、更に階
層構造をなしている。R−treeファミリーの中で
も、SR−treeは高次元空間において優れた性能を
示す構造として報告されている。SR−treeはMB
RとMBSの両方をデータ構造に採り入れることによ
り、MBRのみを扱うR* −treeや、MBSのみを
扱うSS−treeよりも高い探索性能を示している。
【0003】また、R−treeを用いて探索性能を高
速化する手法として、部分空間符号化法がある。これ
は、MBRの位置座標を符号化することにより、探索処
理を実行する際のディスクアクセスを削減し、探索性能
を高めるための手法である。部分空間符号化法では、2
種類の木構造索引を構築する。絶対的位置表現を用いる
木構造である実部分(real part )、相対的位置表現を
用いる部分空間符号により構成される木構造である仮想
部分(virtual part)によって成り立っている。更に仮
想部分のノードは以下のような構造を有する。
速化する手法として、部分空間符号化法がある。これ
は、MBRの位置座標を符号化することにより、探索処
理を実行する際のディスクアクセスを削減し、探索性能
を高めるための手法である。部分空間符号化法では、2
種類の木構造索引を構築する。絶対的位置表現を用いる
木構造である実部分(real part )、相対的位置表現を
用いる部分空間符号により構成される木構造である仮想
部分(virtual part)によって成り立っている。更に仮
想部分のノードは以下のような構造を有する。
【0004】
【数1】 Node=(ε,S,child−pointeri ) (i=1,…,ε) child−pointeri=(page−numb
er,byte−offset) ここで、εはノードに格納されているエントリ数であ
る。Sは、ε個の子ノードのMBRを部分空間符号によ
って表現したものである。S内には全ての子ノードにつ
いて、全次元の始点と終点の符号が格納されている。ま
た、仮想部分においてはchild−pointeri
によって子ノードにアクセスすることができる。chi
ld−pointeri の中にはページ番号の他にby
te−offsetとしてバイト変位が格納されてい
る。R−treeにおいては、主として1ノードが1ペ
ージを占有するように設計されているが、部分空間符号
化法の仮想部分では1ページに複数のノードが格納され
る。それゆえ、子ノードを指し示すためにバイト変位が
各エントリに必要となる。
er,byte−offset) ここで、εはノードに格納されているエントリ数であ
る。Sは、ε個の子ノードのMBRを部分空間符号によ
って表現したものである。S内には全ての子ノードにつ
いて、全次元の始点と終点の符号が格納されている。ま
た、仮想部分においてはchild−pointeri
によって子ノードにアクセスすることができる。chi
ld−pointeri の中にはページ番号の他にby
te−offsetとしてバイト変位が格納されてい
る。R−treeにおいては、主として1ノードが1ペ
ージを占有するように設計されているが、部分空間符号
化法の仮想部分では1ページに複数のノードが格納され
る。それゆえ、子ノードを指し示すためにバイト変位が
各エントリに必要となる。
【0005】
【発明が解決しようとする課題】上述した従来の部分空
間符号化法は、最小包囲領域の中でもMBRにのみ適用
する手法である。すなわち、SR−treeやSS−t
reeのようにMBSを用いる手法には適用することが
できないという問題がある。
間符号化法は、最小包囲領域の中でもMBRにのみ適用
する手法である。すなわち、SR−treeやSS−t
reeのようにMBSを用いる手法には適用することが
できないという問題がある。
【0006】しかしながら、R−treeファミリーの
中でも、高次元空間の探索にはSR−treeやSS−
treeが極めて有効である。そこで、MBSの符号化
を実行できるように部分空間符号化法を改良し、SR−
treeやSS−treeに適用できるようにしたいと
いう課題がある。
中でも、高次元空間の探索にはSR−treeやSS−
treeが極めて有効である。そこで、MBSの符号化
を実行できるように部分空間符号化法を改良し、SR−
treeやSS−treeに適用できるようにしたいと
いう課題がある。
【0007】本発明は、上記に鑑みてなされたもので、
その目的とするところは、MBSに符号化を適用し、高
次元空間検索に有効なSR−treeやSS−tree
の符号化構造を構築して、高次元空間検索に極めて高い
性能を有するアルゴリズムを確立し得る多次元空間検索
における最小包囲領域作成方法、最小包囲球符号化方
法、多次元空間データ構造、多次元空間データ更新方法
および多次元空間データ探索方法と前記方法を実施する
プログラムを記録した記録媒体および多次元空間データ
構造を記録した記録媒体を提供することにある。
その目的とするところは、MBSに符号化を適用し、高
次元空間検索に有効なSR−treeやSS−tree
の符号化構造を構築して、高次元空間検索に極めて高い
性能を有するアルゴリズムを確立し得る多次元空間検索
における最小包囲領域作成方法、最小包囲球符号化方
法、多次元空間データ構造、多次元空間データ更新方法
および多次元空間データ探索方法と前記方法を実施する
プログラムを記録した記録媒体および多次元空間データ
構造を記録した記録媒体を提供することにある。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の本発明の多次元空間検索における最
小包囲領域作成方法は、データベースに格納されるマル
チメディアデータを組織する多次元空間データ木構造に
おいて、親ノードの最小包囲領域を部分空間として2n
分割し、子ノードの最小包囲球の中心点が存在する親ノ
ードの部分空間を検出し、子ノードの最小包囲球の中心
点が存在する部分空間と子ノードの最小包囲球のMinkow
ski sum を計算することにより最小包囲球を包含する最
小包囲領域を作成することを要旨とする。
め、請求項1記載の本発明の多次元空間検索における最
小包囲領域作成方法は、データベースに格納されるマル
チメディアデータを組織する多次元空間データ木構造に
おいて、親ノードの最小包囲領域を部分空間として2n
分割し、子ノードの最小包囲球の中心点が存在する親ノ
ードの部分空間を検出し、子ノードの最小包囲球の中心
点が存在する部分空間と子ノードの最小包囲球のMinkow
ski sum を計算することにより最小包囲球を包含する最
小包囲領域を作成することを要旨とする。
【0009】請求項1記載の本発明にあっては、多次元
空間データ木構造において、親ノードの最小包囲領域を
部分空間として2n 分割し、子ノードの最小包囲球の中
心点が存在する親ノードの部分空間を検出し、子ノード
の最小包囲球の中心点が存在する部分空間と子ノードの
最小包囲球のMinkowski sum を計算することにより最小
包囲球を包含する最小包囲領域を作成している。
空間データ木構造において、親ノードの最小包囲領域を
部分空間として2n 分割し、子ノードの最小包囲球の中
心点が存在する親ノードの部分空間を検出し、子ノード
の最小包囲球の中心点が存在する部分空間と子ノードの
最小包囲球のMinkowski sum を計算することにより最小
包囲球を包含する最小包囲領域を作成している。
【0010】また、請求項2記載の本発明の多次元空間
検索における最小包囲球符号化方法は、親ノードの最小
包囲領域を部分空間として2n 分割し、親ノードの最小
包囲領域全体の中で子ノードの最小包囲球の中心点が存
在する部分空間の位置をnビットを使用して示すことに
より最小包囲球を符号化することを要旨とする。
検索における最小包囲球符号化方法は、親ノードの最小
包囲領域を部分空間として2n 分割し、親ノードの最小
包囲領域全体の中で子ノードの最小包囲球の中心点が存
在する部分空間の位置をnビットを使用して示すことに
より最小包囲球を符号化することを要旨とする。
【0011】請求項2記載の本発明にあっては、親ノー
ドの最小包囲領域を部分空間として2n 分割し、親ノー
ドの最小包囲領域全体の中で子ノードの最小包囲球の中
心点が存在する部分空間の位置をnビットを使用して示
すことにより最小包囲球を符号化している。
ドの最小包囲領域を部分空間として2n 分割し、親ノー
ドの最小包囲領域全体の中で子ノードの最小包囲球の中
心点が存在する部分空間の位置をnビットを使用して示
すことにより最小包囲球を符号化している。
【0012】更に、請求項3記載の本発明の多次元空間
データ構造は、データベースに格納されるマルチメディ
アデータを組織する多次元空間木構造であって、部分空
間符号によって木構造におけるノンリーフノードを構成
し、仮想部分の1ノードが1ページを占有するように構
成し、仮想部分に対応する実部分の1ノードが複数ペー
ジを占有するように構成することを要旨とする。
データ構造は、データベースに格納されるマルチメディ
アデータを組織する多次元空間木構造であって、部分空
間符号によって木構造におけるノンリーフノードを構成
し、仮想部分の1ノードが1ページを占有するように構
成し、仮想部分に対応する実部分の1ノードが複数ペー
ジを占有するように構成することを要旨とする。
【0013】請求項3記載の本発明にあっては、部分空
間符号によって木構造におけるノンリーフノードを構成
し、仮想部分の1ノードが1ページを占有するように構
成し、仮想部分に対応する実部分の1ノードが複数ペー
ジを占有するように多次元空間データ構造を構成するた
め、木構造における枝の数を増大でき、またバイト変位
が不要となる。
間符号によって木構造におけるノンリーフノードを構成
し、仮想部分の1ノードが1ページを占有するように構
成し、仮想部分に対応する実部分の1ノードが複数ペー
ジを占有するように多次元空間データ構造を構成するた
め、木構造における枝の数を増大でき、またバイト変位
が不要となる。
【0014】請求項4記載の本発明の多次元空間データ
更新方法は、上位ノードで生成された現ノードの仮想包
囲領域と現ノードが保有する子ノードの最小包囲球から
子ノードの仮想包囲擬球を計算し、この計算において現
ノードが根である場合のみ、根ノードの最小包囲矩形と
子ノードの最小包囲球を基に子ノードの仮想包囲擬球を
計算し、木構造に最小包囲矩形を含まない索引に関して
は、現ノードの仮想包囲擬球を包含し、かつ最小の包囲
矩形を用いて仮想包囲擬球を計算し、仮想包囲矩形の部
分空間符号とともに仮想包囲擬球の部分空間符号を更新
することを要旨とする。
更新方法は、上位ノードで生成された現ノードの仮想包
囲領域と現ノードが保有する子ノードの最小包囲球から
子ノードの仮想包囲擬球を計算し、この計算において現
ノードが根である場合のみ、根ノードの最小包囲矩形と
子ノードの最小包囲球を基に子ノードの仮想包囲擬球を
計算し、木構造に最小包囲矩形を含まない索引に関して
は、現ノードの仮想包囲擬球を包含し、かつ最小の包囲
矩形を用いて仮想包囲擬球を計算し、仮想包囲矩形の部
分空間符号とともに仮想包囲擬球の部分空間符号を更新
することを要旨とする。
【0015】請求項4記載の本発明にあっては、上位ノ
ードで生成された現ノードの仮想包囲領域と現ノードが
保有する子ノードの最小包囲球から子ノードの仮想包囲
擬球を計算するが、現ノードが根である場合のみ、根ノ
ードの最小包囲矩形と子ノードの最小包囲球を基に子ノ
ードの仮想包囲擬球を計算し、また木構造に最小包囲矩
形を含まない索引に関しては、現ノードの仮想包囲擬球
を包含しかつ最小の包囲矩形を用いて仮想包囲擬球を計
算し、仮想包囲矩形の部分空間符号とともに仮想包囲擬
球の部分空間符号を更新する。
ードで生成された現ノードの仮想包囲領域と現ノードが
保有する子ノードの最小包囲球から子ノードの仮想包囲
擬球を計算するが、現ノードが根である場合のみ、根ノ
ードの最小包囲矩形と子ノードの最小包囲球を基に子ノ
ードの仮想包囲擬球を計算し、また木構造に最小包囲矩
形を含まない索引に関しては、現ノードの仮想包囲擬球
を包含しかつ最小の包囲矩形を用いて仮想包囲擬球を計
算し、仮想包囲矩形の部分空間符号とともに仮想包囲擬
球の部分空間符号を更新する。
【0016】また、請求項5記載の本発明の多次元空間
データ探索方法は、仮想部分の各ノード毎に現ノードの
仮想包囲領域と子ノードの部分空間符号を基に子ノード
の仮想包囲擬球領域を計算し、この計算において木構造
に最小包囲矩形を含まない索引に関しては現ノードの仮
想包囲擬球を包含し、かつ最小の包囲矩形と子ノードの
部分空間符号を用いて子ノードの仮想包囲擬球を計算
し、木構造に最小包囲矩形と最小包囲球の両方を含む索
引に関しては現ノードの仮想包囲矩形と子ノードの部分
空間符号を用いて子ノードの仮想包囲擬球を計算し、前
記計算によって求めた仮想包囲擬球および仮想包囲矩形
の両方を用いて、仮想包囲擬球と問い合わせ点との最小
距離を計算して枝刈り戦略を実施することを要旨とす
る。
データ探索方法は、仮想部分の各ノード毎に現ノードの
仮想包囲領域と子ノードの部分空間符号を基に子ノード
の仮想包囲擬球領域を計算し、この計算において木構造
に最小包囲矩形を含まない索引に関しては現ノードの仮
想包囲擬球を包含し、かつ最小の包囲矩形と子ノードの
部分空間符号を用いて子ノードの仮想包囲擬球を計算
し、木構造に最小包囲矩形と最小包囲球の両方を含む索
引に関しては現ノードの仮想包囲矩形と子ノードの部分
空間符号を用いて子ノードの仮想包囲擬球を計算し、前
記計算によって求めた仮想包囲擬球および仮想包囲矩形
の両方を用いて、仮想包囲擬球と問い合わせ点との最小
距離を計算して枝刈り戦略を実施することを要旨とす
る。
【0017】請求項5記載の本発明にあっては、仮想部
分の各ノード毎に現ノードの仮想包囲領域と子ノードの
部分空間符号を基に子ノードの仮想包囲擬球領域を計算
するが、木構造に最小包囲矩形を含まない索引に関して
は現ノードの仮想包囲擬球を包含しかつ最小の包囲矩形
と子ノードの部分空間符号を用いて子ノードの仮想包囲
擬球を計算し、また木構造に最小包囲矩形と最小包囲球
の両方を含む索引に関しては現ノードの仮想包囲矩形と
子ノードの部分空間符号を用いて子ノードの仮想包囲擬
球を計算し、前記計算によって求めた仮想包囲擬球およ
び仮想包囲矩形の両方を用いて、仮想包囲擬球と問い合
わせ点との最小距離を計算して枝刈り戦略を実施する。
分の各ノード毎に現ノードの仮想包囲領域と子ノードの
部分空間符号を基に子ノードの仮想包囲擬球領域を計算
するが、木構造に最小包囲矩形を含まない索引に関して
は現ノードの仮想包囲擬球を包含しかつ最小の包囲矩形
と子ノードの部分空間符号を用いて子ノードの仮想包囲
擬球を計算し、また木構造に最小包囲矩形と最小包囲球
の両方を含む索引に関しては現ノードの仮想包囲矩形と
子ノードの部分空間符号を用いて子ノードの仮想包囲擬
球を計算し、前記計算によって求めた仮想包囲擬球およ
び仮想包囲矩形の両方を用いて、仮想包囲擬球と問い合
わせ点との最小距離を計算して枝刈り戦略を実施する。
【0018】請求項6記載の本発明の多次元空間検索に
おける最小包囲領域作成プログラムは、データベースに
格納されるマルチメディアデータを組織する多次元空間
データ木構造において、親ノードの最小包囲領域を部分
空間として2n 分割し、子ノードの最小包囲球の中心点
が存在する親ノードの部分空間を検出し、子ノードの最
小包囲球の中心点が存在する部分空間と子ノードの最小
包囲球のMinkowski sum を計算することにより最小包囲
球を包含する最小包囲領域を作成する手順を記録媒体に
記録することを要旨とする。
おける最小包囲領域作成プログラムは、データベースに
格納されるマルチメディアデータを組織する多次元空間
データ木構造において、親ノードの最小包囲領域を部分
空間として2n 分割し、子ノードの最小包囲球の中心点
が存在する親ノードの部分空間を検出し、子ノードの最
小包囲球の中心点が存在する部分空間と子ノードの最小
包囲球のMinkowski sum を計算することにより最小包囲
球を包含する最小包囲領域を作成する手順を記録媒体に
記録することを要旨とする。
【0019】請求項6記載の本発明にあっては、多次元
空間データ木構造において、親ノードの最小包囲領域を
部分空間として2n 分割し、子ノードの最小包囲球の中
心点が存在する親ノードの部分空間を検出し、子ノード
の最小包囲球の中心点が存在する部分空間と子ノードの
最小包囲球のMinkowski sum を計算することにより最小
包囲球を包含する最小包囲領域を作成する多次元空間検
索における最小包囲領域作成プログラムを記録媒体に記
録しているため、該記録媒体を用いて、その流通性を高
めることができる。
空間データ木構造において、親ノードの最小包囲領域を
部分空間として2n 分割し、子ノードの最小包囲球の中
心点が存在する親ノードの部分空間を検出し、子ノード
の最小包囲球の中心点が存在する部分空間と子ノードの
最小包囲球のMinkowski sum を計算することにより最小
包囲球を包含する最小包囲領域を作成する多次元空間検
索における最小包囲領域作成プログラムを記録媒体に記
録しているため、該記録媒体を用いて、その流通性を高
めることができる。
【0020】また、請求項7記載の本発明の多次元空間
検索における最小包囲球符号化プログラムは、親ノード
の最小包囲領域を部分空間として2n 分割し、親ノード
の最小包囲領域全体の中で子ノードの最小包囲球の中心
点が存在する部分空間の位置をnビットを使用して示す
ことにより最小包囲球を符号化する手順を記録媒体に記
録することを要旨とする。
検索における最小包囲球符号化プログラムは、親ノード
の最小包囲領域を部分空間として2n 分割し、親ノード
の最小包囲領域全体の中で子ノードの最小包囲球の中心
点が存在する部分空間の位置をnビットを使用して示す
ことにより最小包囲球を符号化する手順を記録媒体に記
録することを要旨とする。
【0021】請求項7記載の本発明にあっては、親ノー
ドの最小包囲領域を部分空間として2n 分割し、親ノー
ドの最小包囲領域全体の中で子ノードの最小包囲球の中
心点が存在する部分空間の位置をnビットを使用して示
すことにより最小包囲球を符号化する多次元空間検索に
おける最小包囲球符号化プログラムを記録媒体に記録し
ているため、該記録媒体を用いて、その流通性を高める
ことができる。
ドの最小包囲領域を部分空間として2n 分割し、親ノー
ドの最小包囲領域全体の中で子ノードの最小包囲球の中
心点が存在する部分空間の位置をnビットを使用して示
すことにより最小包囲球を符号化する多次元空間検索に
おける最小包囲球符号化プログラムを記録媒体に記録し
ているため、該記録媒体を用いて、その流通性を高める
ことができる。
【0022】請求項8記載の本発明の多次元空間データ
更新プログラムは、上位ノードで生成された現ノードの
仮想包囲領域と現ノードが保有する子ノードの最小包囲
球から子ノードの仮想包囲擬球を計算し、この計算にお
いて現ノードが根である場合のみ、根ノードの最小包囲
矩形と子ノードの最小包囲球を基に子ノードの仮想包囲
擬球を計算し、木構造に最小包囲矩形を含まない索引に
関しては、現ノードの仮想包囲擬球を包含し、かつ最小
の包囲矩形を用いて仮想包囲擬球を計算し、仮想包囲矩
形の部分空間符号とともに仮想包囲擬球の部分空間符号
を更新する手順を記録媒体に記録することを要旨とす
る。
更新プログラムは、上位ノードで生成された現ノードの
仮想包囲領域と現ノードが保有する子ノードの最小包囲
球から子ノードの仮想包囲擬球を計算し、この計算にお
いて現ノードが根である場合のみ、根ノードの最小包囲
矩形と子ノードの最小包囲球を基に子ノードの仮想包囲
擬球を計算し、木構造に最小包囲矩形を含まない索引に
関しては、現ノードの仮想包囲擬球を包含し、かつ最小
の包囲矩形を用いて仮想包囲擬球を計算し、仮想包囲矩
形の部分空間符号とともに仮想包囲擬球の部分空間符号
を更新する手順を記録媒体に記録することを要旨とす
る。
【0023】請求項8記載の本発明にあっては、上位ノ
ードで生成された現ノードの仮想包囲領域と現ノードが
保有する子ノードの最小包囲球から子ノードの仮想包囲
擬球を計算するが、現ノードが根である場合のみ、根ノ
ードの最小包囲矩形と子ノードの最小包囲球を基に子ノ
ードの仮想包囲擬球を計算し、また木構造に最小包囲矩
形を含まない索引に関しては、現ノードの仮想包囲擬球
を包含しかつ最小の包囲矩形を用いて仮想包囲擬球を計
算し、仮想包囲矩形の部分空間符号とともに仮想包囲擬
球の部分空間符号を更新する多次元空間データ更新プロ
グラムを記録媒体に記録しているため、該記録媒体を用
いて、その流通性を高めることができる。
ードで生成された現ノードの仮想包囲領域と現ノードが
保有する子ノードの最小包囲球から子ノードの仮想包囲
擬球を計算するが、現ノードが根である場合のみ、根ノ
ードの最小包囲矩形と子ノードの最小包囲球を基に子ノ
ードの仮想包囲擬球を計算し、また木構造に最小包囲矩
形を含まない索引に関しては、現ノードの仮想包囲擬球
を包含しかつ最小の包囲矩形を用いて仮想包囲擬球を計
算し、仮想包囲矩形の部分空間符号とともに仮想包囲擬
球の部分空間符号を更新する多次元空間データ更新プロ
グラムを記録媒体に記録しているため、該記録媒体を用
いて、その流通性を高めることができる。
【0024】また、請求項9記載の本発明の多次元空間
データ探索プログラムは、仮想部分の各ノード毎に現ノ
ードの仮想包囲領域と子ノードの部分空間符号を基に子
ノードの仮想包囲擬球領域を計算し、この計算において
木構造に最小包囲矩形を含まない索引に関しては現ノー
ドの仮想包囲擬球を包含し、かつ最小の包囲矩形と子ノ
ードの部分空間符号を用いて子ノードの仮想包囲擬球を
計算し、木構造に最小包囲矩形と最小包囲球の両方を含
む索引に関しては現ノードの仮想包囲矩形と子ノードの
部分空間符号を用いて子ノードの仮想包囲擬球を計算
し、前記計算によって求めた仮想包囲擬球および仮想包
囲矩形の両方を用いて、仮想包囲擬球と問い合わせ点と
の最小距離を計算して枝刈り戦略を実施する手順を記録
媒体に記録することを要旨とする。
データ探索プログラムは、仮想部分の各ノード毎に現ノ
ードの仮想包囲領域と子ノードの部分空間符号を基に子
ノードの仮想包囲擬球領域を計算し、この計算において
木構造に最小包囲矩形を含まない索引に関しては現ノー
ドの仮想包囲擬球を包含し、かつ最小の包囲矩形と子ノ
ードの部分空間符号を用いて子ノードの仮想包囲擬球を
計算し、木構造に最小包囲矩形と最小包囲球の両方を含
む索引に関しては現ノードの仮想包囲矩形と子ノードの
部分空間符号を用いて子ノードの仮想包囲擬球を計算
し、前記計算によって求めた仮想包囲擬球および仮想包
囲矩形の両方を用いて、仮想包囲擬球と問い合わせ点と
の最小距離を計算して枝刈り戦略を実施する手順を記録
媒体に記録することを要旨とする。
【0025】請求項9記載の本発明にあっては、仮想部
分の各ノード毎に現ノードの仮想包囲領域と子ノードの
部分空間符号を基に子ノードの仮想包囲擬球領域を計算
するが、木構造に最小包囲矩形を含まない索引に関して
は現ノードの仮想包囲擬球を包含しかつ最小の包囲矩形
と子ノードの部分空間符号を用いて子ノードの仮想包囲
擬球を計算し、また木構造に最小包囲矩形と最小包囲球
の両方を含む索引に関しては現ノードの仮想包囲矩形と
子ノードの部分空間符号を用いて子ノードの仮想包囲擬
球を計算し、前記計算によって求めた仮想包囲擬球およ
び仮想包囲矩形の両方を用いて、仮想包囲擬球と問い合
わせ点との最小距離を計算して枝刈り戦略を実施する多
次元空間データ探索プログラムを記録媒体に記録してい
るため、該記録媒体を用いて、その流通性を高めること
ができる。
分の各ノード毎に現ノードの仮想包囲領域と子ノードの
部分空間符号を基に子ノードの仮想包囲擬球領域を計算
するが、木構造に最小包囲矩形を含まない索引に関して
は現ノードの仮想包囲擬球を包含しかつ最小の包囲矩形
と子ノードの部分空間符号を用いて子ノードの仮想包囲
擬球を計算し、また木構造に最小包囲矩形と最小包囲球
の両方を含む索引に関しては現ノードの仮想包囲矩形と
子ノードの部分空間符号を用いて子ノードの仮想包囲擬
球を計算し、前記計算によって求めた仮想包囲擬球およ
び仮想包囲矩形の両方を用いて、仮想包囲擬球と問い合
わせ点との最小距離を計算して枝刈り戦略を実施する多
次元空間データ探索プログラムを記録媒体に記録してい
るため、該記録媒体を用いて、その流通性を高めること
ができる。
【0026】更に、請求項10記載の本発明の多次元空
間データ構造は、データベースに格納されるマルチメデ
ィアデータを組織する多次元空間木構造であって、部分
空間符号によって木構造におけるノンリーフノードを構
成し、仮想部分の1ノードが1ページを占有するように
構成し、仮想部分に対応する実部分の1ノードが複数ペ
ージを占有するように構成する構造を記録媒体に記録す
ることを要旨とする。
間データ構造は、データベースに格納されるマルチメデ
ィアデータを組織する多次元空間木構造であって、部分
空間符号によって木構造におけるノンリーフノードを構
成し、仮想部分の1ノードが1ページを占有するように
構成し、仮想部分に対応する実部分の1ノードが複数ペ
ージを占有するように構成する構造を記録媒体に記録す
ることを要旨とする。
【0027】請求項10記載の本発明にあっては、部分
空間符号によって木構造におけるノンリーフノードを構
成し、仮想部分の1ノードが1ページを占有するように
構成し、仮想部分に対応する実部分の1ノードが複数ペ
ージを占有するように多次元空間データ構造を構成する
多次元空間データ構造を記録媒体に記録しているため、
該記録媒体を用いて、その流通性を高めることができ
る。
空間符号によって木構造におけるノンリーフノードを構
成し、仮想部分の1ノードが1ページを占有するように
構成し、仮想部分に対応する実部分の1ノードが複数ペ
ージを占有するように多次元空間データ構造を構成する
多次元空間データ構造を記録媒体に記録しているため、
該記録媒体を用いて、その流通性を高めることができ
る。
【0028】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面も参照しながら詳細に説明する。本発明の第1の
実施形態では、最小包囲球を包含する最小包囲領域の作
成方法について説明する。最小包囲球を包含する包囲領
域を仮想包囲擬球(VBS;VirtualBounding quasiSph
ere)と命名する。VBSに関しては、MBSの中心点
のみを近似し、半径は近似しない。この理由は以下の2
点である。第1は、MBSの中心点の蓄積コストは次元
数に比例して増加するが、半径は変動しない。従って、
高次元空間において半径長のデータが索引に占める割合
が非常に少ないためである。第2に、また半径の長さを
近似することは探索時における枝刈り性能の大きな減退
につながり、それは探索性能の大きな低減につながるた
めである。以下は具体的なVBSの計算方法である。
て図面も参照しながら詳細に説明する。本発明の第1の
実施形態では、最小包囲球を包含する最小包囲領域の作
成方法について説明する。最小包囲球を包含する包囲領
域を仮想包囲擬球(VBS;VirtualBounding quasiSph
ere)と命名する。VBSに関しては、MBSの中心点
のみを近似し、半径は近似しない。この理由は以下の2
点である。第1は、MBSの中心点の蓄積コストは次元
数に比例して増加するが、半径は変動しない。従って、
高次元空間において半径長のデータが索引に占める割合
が非常に少ないためである。第2に、また半径の長さを
近似することは探索時における枝刈り性能の大きな減退
につながり、それは探索性能の大きな低減につながるた
めである。以下は具体的なVBSの計算方法である。
【0029】n次元空間における包囲矩形Aは、対角を
なす2つの端点aとa′によって表現することができ
る。すなわち、 A=(a,a′) ここで、
なす2つの端点aとa′によって表現することができ
る。すなわち、 A=(a,a′) ここで、
【数2】a=[φ1 ,φ2 ,…,φn ],a′=
[φ1 ′,φ2 ′,…,φn ′] (φi ≦φi ′;i∈{1,2,…,n}) また、点Bも同様に以下のように表現できる。
[φ1 ′,φ2 ′,…,φn ′] (φi ≦φi ′;i∈{1,2,…,n}) また、点Bも同様に以下のように表現できる。
【0030】B=(b) ここで、
【数3】b=[ψ1 ,ψ2 ,…,ψn ] (φi ≦φi ′;i∈{1,2,…,n}) n次元空間内において、包囲矩形Aと点Bを中心点とす
る球Cが存在し、B⊆Aが成り立つものとする(BがA
に包含されているものとする)。また、qを1以上の整
数とする。点Bを、以下に示される矩形Vb によって近
似的に表現することができる。矩形Vb は仮想包囲矩形
(VBR;Virtual Bounding Rectangle)である。
る球Cが存在し、B⊆Aが成り立つものとする(BがA
に包含されているものとする)。また、qを1以上の整
数とする。点Bを、以下に示される矩形Vb によって近
似的に表現することができる。矩形Vb は仮想包囲矩形
(VBR;Virtual Bounding Rectangle)である。
【0031】Vb =(v,v′) ここで、
【数4】v=[τ1 ,τ2 ,…,τn ], v′=[τ1 ′,τ2 ′,…,τn ′],τi ≦τi ′ ただし、
【数5】 このとき、CとVb のMinkowski sum によって表現され
る幾何学的オブジェクトVc をAにおけるCの仮想包囲
擬球(VBS;Virtual Bounding quasiSphere)と呼
ぶ。
る幾何学的オブジェクトVc をAにおけるCの仮想包囲
擬球(VBS;Virtual Bounding quasiSphere)と呼
ぶ。
【0032】ここで、VBSの例を示す。例えば、図1
のように、矩形Aと球Cが与えられているとする。ま
た、rを球Cの半径、BをB⊆Aを満たす球Cの中心点
とする。このとき、点線で示されているVb がAにおけ
るBのVBR,Vc がAにおけるCのVBSである。
のように、矩形Aと球Cが与えられているとする。ま
た、rを球Cの半径、BをB⊆Aを満たす球Cの中心点
とする。このとき、点線で示されているVb がAにおけ
るBのVBR,Vc がAにおけるCのVBSである。
【0033】以上のような手法により、MBSを包含す
るVBSを計算することができる。
るVBSを計算することができる。
【0034】次に、本発明の第2の実施形態として最小
包囲球符号化方法について説明する。VBSはMBSの
中心点のみを近似して表現した幾何学的オブジェクトで
ある。VBSに関しては、MBSの中心点を符号化した
部分空間符号を索引に格納することとなる。以下におい
て、MBSの中心点に関する部分空間符号の作成方法に
ついて説明する。
包囲球符号化方法について説明する。VBSはMBSの
中心点のみを近似して表現した幾何学的オブジェクトで
ある。VBSに関しては、MBSの中心点を符号化した
部分空間符号を索引に格納することとなる。以下におい
て、MBSの中心点に関する部分空間符号の作成方法に
ついて説明する。
【0035】A=(a,a′)をn次元空間内の矩形と
する。また、B=(b)をn次元空間内の点とする。ま
た、Vb =(v,v′)を基数qのAにおけるBのVB
Rとする。ここでA,B,Vb はB⊆Vb ⊆Aの関係を
満たす。従って、下式が成り立つ。
する。また、B=(b)をn次元空間内の点とする。ま
た、Vb =(v,v′)を基数qのAにおけるBのVB
Rとする。ここでA,B,Vb はB⊆Vb ⊆Aの関係を
満たす。従って、下式が成り立つ。
【0036】φi ≦τi ≦ψi ≦τi ′≦φi ′ (i=1,2,…,n) 更に、ηi をi次元座標上の部分区間を表すq元符号と
する。すなわち、 ηi =(τi −φi )・q/(φi ′−φi ) また、F2 (ηi ,l)を符号長lとするηi の2進表
現とする
する。すなわち、 ηi =(τi −φi )・q/(φi ′−φi ) また、F2 (ηi ,l)を符号長lとするηi の2進表
現とする
【数6】 このとき以下の2進符号は、AにおけるVb の部分空間
符号である。
符号である。
【0037】S=(s) ここで、
【数7】s=[F2 (η1 ,l),F2 (η2 ,l),
…,F2 (ηn ,l)] 次に、本発明の第3の実施形態として多次元空間データ
構造について説明する。本発明は部分空間符号化法の改
良であり、この改良により大幅な探索性能の向上を可能
としている。この場合の多次元空間データ構造に関する
改良点は次の通りである。
…,F2 (ηn ,l)] 次に、本発明の第3の実施形態として多次元空間データ
構造について説明する。本発明は部分空間符号化法の改
良であり、この改良により大幅な探索性能の向上を可能
としている。この場合の多次元空間データ構造に関する
改良点は次の通りである。
【0038】部分空間符号化法においては、実部分の1
ノードが1ページを占有するように設計されている。こ
のため、仮想部分では複数ノードが1ページに格納され
ることとなり、仮想部分のノードの各エントリにはバイ
ト変位が必要となる。本発明では、部分空間符号化法の
改良として、仮想部分の1ノードが1ページを占有する
ように設計する。従って、実部分の1ノードは複数ペー
ジを占有するようになる。この改良には、2つの大きな
メリットがある。第1に、木構造における枝の数を大幅
に増やすことができる点である。R−treeファミリ
ーは動的索引であり、データオブジェクトの挿入は、個
々、順番に実施される。データ挿入の時点では最も望ま
しい場所に格納されていても、その後にオブジェクト挿
入が実行されていくうちに、元に挿入されたオブジェク
トは適切でない格納場所に位置することになる。枝の数
を増やすことは、オブジェクトが適切な位置に配置され
る可能性を高めることになるため、探索時におけるノー
ドのアクセス数の削減につながる。つまり、探索処理に
おける性能が高まる。第2に仮想部分の1ノードが1ペ
ージを占有するように設計するため、バイト変位が不要
となる。この結果、枝の数をさらに増やすことができ、
同様に探索処理における性能がさらに高まる。なお、こ
の効果については後で図6を参照して実験結果について
説明するが、効果は非常に大きいものである。
ノードが1ページを占有するように設計されている。こ
のため、仮想部分では複数ノードが1ページに格納され
ることとなり、仮想部分のノードの各エントリにはバイ
ト変位が必要となる。本発明では、部分空間符号化法の
改良として、仮想部分の1ノードが1ページを占有する
ように設計する。従って、実部分の1ノードは複数ペー
ジを占有するようになる。この改良には、2つの大きな
メリットがある。第1に、木構造における枝の数を大幅
に増やすことができる点である。R−treeファミリ
ーは動的索引であり、データオブジェクトの挿入は、個
々、順番に実施される。データ挿入の時点では最も望ま
しい場所に格納されていても、その後にオブジェクト挿
入が実行されていくうちに、元に挿入されたオブジェク
トは適切でない格納場所に位置することになる。枝の数
を増やすことは、オブジェクトが適切な位置に配置され
る可能性を高めることになるため、探索時におけるノー
ドのアクセス数の削減につながる。つまり、探索処理に
おける性能が高まる。第2に仮想部分の1ノードが1ペ
ージを占有するように設計するため、バイト変位が不要
となる。この結果、枝の数をさらに増やすことができ、
同様に探索処理における性能がさらに高まる。なお、こ
の効果については後で図6を参照して実験結果について
説明するが、効果は非常に大きいものである。
【0039】図2は、多次元空間データ構造を示す図で
ある。図2(a)に示す仮想部分および実部分に関する
ノード構成では、エントリには子ノードに関する情報を
格納している。また、仮想部分のε個のエントリそれぞ
れが実部分のε個のエントリに1対1で対応している。
図2(b)に示す仮想部分におけるエントリ構成では、
1つのエントリの中に仮想包囲矩形と仮想包囲擬球の両
方またはそのどちらか一方が格納されている。図2
(c)に示す実部分におけるエントリ構成では、1つの
エントリの中に最小包囲矩形と最小包囲球の両方または
そのどちらか一方が格納されている。
ある。図2(a)に示す仮想部分および実部分に関する
ノード構成では、エントリには子ノードに関する情報を
格納している。また、仮想部分のε個のエントリそれぞ
れが実部分のε個のエントリに1対1で対応している。
図2(b)に示す仮想部分におけるエントリ構成では、
1つのエントリの中に仮想包囲矩形と仮想包囲擬球の両
方またはそのどちらか一方が格納されている。図2
(c)に示す実部分におけるエントリ構成では、1つの
エントリの中に最小包囲矩形と最小包囲球の両方または
そのどちらか一方が格納されている。
【0040】図2(d)に示す仮想部分および実部分の
木構造では、仮想部分のノードおよびエントリは、実部
分のノードおよびエントリに1対1で対応している。例
えば、図2(d)では仮想部分のエントリV1 は実部分
のエントリR1 に対応している。仮想部分のノードが1
ページ1ノードを占有するように設計し、最大エントリ
数を決定する。実部分は1ノードが複数ページを占有す
ることになる。
木構造では、仮想部分のノードおよびエントリは、実部
分のノードおよびエントリに1対1で対応している。例
えば、図2(d)では仮想部分のエントリV1 は実部分
のエントリR1 に対応している。仮想部分のノードが1
ページ1ノードを占有するように設計し、最大エントリ
数を決定する。実部分は1ノードが複数ページを占有す
ることになる。
【0041】次に、本発明の第4の実施形態として多次
元空間データ更新方法について説明する。上述したよう
に、R−treeファミリーの中でも、SR−tree
やSS−treeは高次元空間において優れた性能を示
す構造である。これらの構造は、MBSを用いる。そこ
で、SR−treeやSS−treeの構造に符号化を
適用するには、MBSを包含するVBSの概念を用いた
データ更新アルゴリズムが必要となる。このデータ更新
アルゴリズムについて以下に説明する。なお、本実施形
態で使用される仮想包囲領域とは、VBRとVBSを総
称するものである。
元空間データ更新方法について説明する。上述したよう
に、R−treeファミリーの中でも、SR−tree
やSS−treeは高次元空間において優れた性能を示
す構造である。これらの構造は、MBSを用いる。そこ
で、SR−treeやSS−treeの構造に符号化を
適用するには、MBSを包含するVBSの概念を用いた
データ更新アルゴリズムが必要となる。このデータ更新
アルゴリズムについて以下に説明する。なお、本実施形
態で使用される仮想包囲領域とは、VBRとVBSを総
称するものである。
【0042】仮想部分において、子ノードの仮想包囲領
域を表現する部分空間符号は、現ノードの仮想包囲領域
と実部分に含まれる子ノードの最小包囲領域を基に計算
される。具体的には、MBSの中心点を近似する部分空
間符号においては、現ノードの仮想包囲領域と子ノード
のMBSの中心点を基に計算する。ただし、現ノードが
根である場合のみ、根のMBRと子ノードのMBSの中
心点を基に子ノードのVBSを計算する。また、SS−
treeのように、木構造にMBRを含まない索引に関
しては、現ノードのVBSを包含しかつ最小の包囲矩形
を計算し、求めた矩形を用いて部分空間符号を計算す
る。また、SR−treeのようにMBRとMBS、両
方の包囲領域を保有している場合は、現ノードのMBR
を近似しているVBRを用いて部分空間符号を計算す
る。
域を表現する部分空間符号は、現ノードの仮想包囲領域
と実部分に含まれる子ノードの最小包囲領域を基に計算
される。具体的には、MBSの中心点を近似する部分空
間符号においては、現ノードの仮想包囲領域と子ノード
のMBSの中心点を基に計算する。ただし、現ノードが
根である場合のみ、根のMBRと子ノードのMBSの中
心点を基に子ノードのVBSを計算する。また、SS−
treeのように、木構造にMBRを含まない索引に関
しては、現ノードのVBSを包含しかつ最小の包囲矩形
を計算し、求めた矩形を用いて部分空間符号を計算す
る。また、SR−treeのようにMBRとMBS、両
方の包囲領域を保有している場合は、現ノードのMBR
を近似しているVBRを用いて部分空間符号を計算す
る。
【0043】次に、本実施形態の多次元空間データ更新
アルゴリズムについて図3および図4に示すフローチャ
ートを参照して説明する。このアルゴリズムはSR−t
reeに符号化を施す手順を示している。
アルゴリズムについて図3および図4に示すフローチャ
ートを参照して説明する。このアルゴリズムはSR−t
reeに符号化を施す手順を示している。
【0044】図3の処理手順では、まずステップS1に
おいて、仮想部分の木構造において符号更新を必要とす
る部分木の数をIcountとして設定し、それからパ
ラメータiを0に初期化する(ステップS2)。そし
て、ステップS3からステップS19からのループ1の
符号更新をIcountで示される同数分繰り返し実施
される。この処理では、実部分でMBRを更新したノー
ドに対応する仮想部分のノードをTとしている。そし
て、符号更新アルゴリズムは更新を必要とする部分木、
すなわちTをノードトップとする部分木各々に対して実
行される。
おいて、仮想部分の木構造において符号更新を必要とす
る部分木の数をIcountとして設定し、それからパ
ラメータiを0に初期化する(ステップS2)。そし
て、ステップS3からステップS19からのループ1の
符号更新をIcountで示される同数分繰り返し実施
される。この処理では、実部分でMBRを更新したノー
ドに対応する仮想部分のノードをTとしている。そし
て、符号更新アルゴリズムは更新を必要とする部分木、
すなわちTをノードトップとする部分木各々に対して実
行される。
【0045】また、符号更新アルゴリズムでは、ステッ
プS7からステップS14のループ2においてノードT
のVBRを求める。また、Tまでの経路においてVBS
の符号を更新する。そして、ループ2を終えた後、まず
ノードT内において更新すべきエントリの符号のみを修
正する。T内において更新すべき符号とは、TのVBR
とTの子ノードのMBRを基にして計算されたVBRの
符号とTのVBRのTの子ノードのMBSを基にして計
算されたVBSの符号である。更に、ノードT配下のノ
ードに格納されている符号を修正するために、部分木内
符号修正プロシージャを実行する。
プS7からステップS14のループ2においてノードT
のVBRを求める。また、Tまでの経路においてVBS
の符号を更新する。そして、ループ2を終えた後、まず
ノードT内において更新すべきエントリの符号のみを修
正する。T内において更新すべき符号とは、TのVBR
とTの子ノードのMBRを基にして計算されたVBRの
符号とTのVBRのTの子ノードのMBSを基にして計
算されたVBSの符号である。更に、ノードT配下のノ
ードに格納されている符号を修正するために、部分木内
符号修正プロシージャを実行する。
【0046】部分木内符号修正プロシージャは、図4の
ステップS21乃至ステップS30に詳細に示すよう
に、上位ノードで生成された現ノードのVBRと現ノー
ドが保有する子ノードのMBRから子ノードのVBRを
求め、そして子ノードのVBRに関する部分空間符号を
計算し、更新する。また、現ノードのVBRと現ノード
が保有する子ノードのMBSから子ノードのVBSを求
め、そして子ノードのVBSに関する部分空間符号を計
算し、更新する。
ステップS21乃至ステップS30に詳細に示すよう
に、上位ノードで生成された現ノードのVBRと現ノー
ドが保有する子ノードのMBRから子ノードのVBRを
求め、そして子ノードのVBRに関する部分空間符号を
計算し、更新する。また、現ノードのVBRと現ノード
が保有する子ノードのMBSから子ノードのVBSを求
め、そして子ノードのVBSに関する部分空間符号を計
算し、更新する。
【0047】すなわち、部分木内符号修正プロシージャ
では、現在のノードのVBRと子ノードのMBRに基づ
いて現在のノード内に格納されている子ノードのVBR
を計算し、この計算で求めた子ノードのVBRを用いて
子ノードの符号を修正する。そして、子ノードのVBR
をパラメータとして再度部分木内符号修正プロシージャ
を実行し、子ノード内に格納されている孫ノードのVB
Rを計算し、同様に孫ノードの符号を求めて修正する。
では、現在のノードのVBRと子ノードのMBRに基づ
いて現在のノード内に格納されている子ノードのVBR
を計算し、この計算で求めた子ノードのVBRを用いて
子ノードの符号を修正する。そして、子ノードのVBR
をパラメータとして再度部分木内符号修正プロシージャ
を実行し、子ノード内に格納されている孫ノードのVB
Rを計算し、同様に孫ノードの符号を求めて修正する。
【0048】次に、本発明の第5の実施形態として多次
元空間データ探索方法について説明する。この探索方法
における改良点について説明する。
元空間データ探索方法について説明する。この探索方法
における改良点について説明する。
【0049】探索処理においては、仮想部分の各ノード
毎に、現ノードの仮想包囲領域と子ノードの部分空間符
号を基に子ノードの仮想包囲領域を計算する。具体的に
は、SS−treeのように、木構造にMBRを含まな
い索引に関しては、現ノードのVBSを包含しかつ最小
の包囲矩形を計算し、求めた矩形と、子ノードの部分空
間符号を用いて子ノードのVBSを計算する。また、S
R−treeでは、現ノードのMBRを近似しているV
BRと子ノードの部分空間符号を用いて子ノードのVB
Sを計算する。計算によって求めたVBSに対して枝刈
り戦略を適用する。
毎に、現ノードの仮想包囲領域と子ノードの部分空間符
号を基に子ノードの仮想包囲領域を計算する。具体的に
は、SS−treeのように、木構造にMBRを含まな
い索引に関しては、現ノードのVBSを包含しかつ最小
の包囲矩形を計算し、求めた矩形と、子ノードの部分空
間符号を用いて子ノードのVBSを計算する。また、S
R−treeでは、現ノードのMBRを近似しているV
BRと子ノードの部分空間符号を用いて子ノードのVB
Sを計算する。計算によって求めたVBSに対して枝刈
り戦略を適用する。
【0050】その際、VBSと問い合わせ点との最小距
離を計算する必要がある。以下に問い合わせ点とVBS
の最小距離の導出方法を記述する。問い合わせ点をQと
する。また、半径をr、中心点をBとするMBS Cの
VBSをVc とする。BのVBRをVb とするとき、Q
とVc の最小距離は以下のように求める。
離を計算する必要がある。以下に問い合わせ点とVBS
の最小距離の導出方法を記述する。問い合わせ点をQと
する。また、半径をr、中心点をBとするMBS Cの
VBSをVc とする。BのVBRをVb とするとき、Q
とVc の最小距離は以下のように求める。
【0051】
【数8】 次に、図5に示すフローチャートを参照して、本実施形
態の探索処理について説明する。この処理はVBRとV
BSを用いた近傍探索アルゴリズムについて記述したも
のである。アルゴリズムでは木構造を幅優先で探索する
ものであり、各々のノードでは、現ノードのVBRと子
ノードの部分空間符号を基に子ノードのVBRとVBS
を計算する。そして、リーフノードに到達すると、オブ
ジェクトの位置情報を収集し、候補オブジェクトとす
る。
態の探索処理について説明する。この処理はVBRとV
BSを用いた近傍探索アルゴリズムについて記述したも
のである。アルゴリズムでは木構造を幅優先で探索する
ものであり、各々のノードでは、現ノードのVBRと子
ノードの部分空間符号を基に子ノードのVBRとVBS
を計算する。そして、リーフノードに到達すると、オブ
ジェクトの位置情報を収集し、候補オブジェクトとす
る。
【0052】図5に示すフローチャートでは、まず枝刈
りリストの数を1に設定するとともに、枝刈りリストの
先頭に根ノードを設定して枝刈りリストを開封する(ス
テップS41)。そして、ステップS42からステップ
S59のループ1を実施する。ループ1では、枝刈りリ
ストの先頭ノードをNに設定する(ステップS43)。
それから、Nで指し示されているノードがリーフノード
かまたはノンリーフノードかを判定する(ステップS4
4)。
りリストの数を1に設定するとともに、枝刈りリストの
先頭に根ノードを設定して枝刈りリストを開封する(ス
テップS41)。そして、ステップS42からステップ
S59のループ1を実施する。ループ1では、枝刈りリ
ストの先頭ノードをNに設定する(ステップS43)。
それから、Nで指し示されているノードがリーフノード
かまたはノンリーフノードかを判定する(ステップS4
4)。
【0053】ノンリーフノードである場合には、ステッ
プS47からステップS53のループ2を実行する。ル
ープ2では、ノードにおいてエントリとして格納されて
いる部分空間符号と現ノードの矩形位置Rから子ノード
のVBR Vr を計算し、問い合わせ点とVr との距離
を求める。更に、部分空間符号とRから子ノードのVB
S Vs を計算し、問い合わせ点とVs との距離を求め
る。そして、距離の長い方を選択し、距離値は子ポイン
タ、Rともに枝リストに格納される。ループ2ではノー
ドに格納されている全エントリに対する計算を行い、ル
ープ2が終了後、距離の昇順に枝リストを整列する。
プS47からステップS53のループ2を実行する。ル
ープ2では、ノードにおいてエントリとして格納されて
いる部分空間符号と現ノードの矩形位置Rから子ノード
のVBR Vr を計算し、問い合わせ点とVr との距離
を求める。更に、部分空間符号とRから子ノードのVB
S Vs を計算し、問い合わせ点とVs との距離を求め
る。そして、距離の長い方を選択し、距離値は子ポイン
タ、Rともに枝リストに格納される。ループ2ではノー
ドに格納されている全エントリに対する計算を行い、ル
ープ2が終了後、距離の昇順に枝リストを整列する。
【0054】リーフノードであれば、ノードに格納され
ているエントリを候補オブジェクトとして収集バッファ
に格納する。また、枝刈り処理によって不必要なノード
を削除する。枝刈り処理が終了後、枝刈りリストにデー
タが入っていなければ候補オブジェクトを最終的な近傍
オブジェクトとして出力する。
ているエントリを候補オブジェクトとして収集バッファ
に格納する。また、枝刈り処理によって不必要なノード
を削除する。枝刈り処理が終了後、枝刈りリストにデー
タが入っていなければ候補オブジェクトを最終的な近傍
オブジェクトとして出力する。
【0055】次に、図6に示すグラフを参照して、ディ
スクアクセス数を調査した実験結果を探索性能として説
明する。図6に示す実験結果では、本発明との比較対象
として既存の方法であるSR−tree,R* −tre
e,VA−Fileを用いた場合の実験結果も示す。な
お、SR−treeとVA−Fileは、現在、高次元
空間探索において最も優れた手法である。また、本発明
の手法は、SR−treeとR* −treeに適用し、
図6では部分空間符号化法(Subspace CodingMethod)
の略したSCMを付して、SCM(SR-tree)とSCM(R
* -tree)として示されている。
スクアクセス数を調査した実験結果を探索性能として説
明する。図6に示す実験結果では、本発明との比較対象
として既存の方法であるSR−tree,R* −tre
e,VA−Fileを用いた場合の実験結果も示す。な
お、SR−treeとVA−Fileは、現在、高次元
空間探索において最も優れた手法である。また、本発明
の手法は、SR−treeとR* −treeに適用し、
図6では部分空間符号化法(Subspace CodingMethod)
の略したSCMを付して、SCM(SR-tree)とSCM(R
* -tree)として示されている。
【0056】実験条件については以下の通りである。オ
ブジェクトデータは、画像の色相ヒストグラムに基づく
点データを用いる。データ集合サイズに関しては20,
000件、探索数は20である。空間次元数は4次元か
ら56次元まで変化させている。ディスクページは4K
(4096byte)を基にしている。
ブジェクトデータは、画像の色相ヒストグラムに基づく
点データを用いる。データ集合サイズに関しては20,
000件、探索数は20である。空間次元数は4次元か
ら56次元まで変化させている。ディスクページは4K
(4096byte)を基にしている。
【0057】図6からわかるように、従来の部分空間符
号化法をR* −treeに適用した場合、12次元で1
2%程度、また16次元では10%程度の探索コストし
か低減することはできなかった。これに対し、本発明に
よる改良では図4に示すように、R* −treeに適用
した場合12次元で19.8%、56次元で46.1%
の低減化を実現している。
号化法をR* −treeに適用した場合、12次元で1
2%程度、また16次元では10%程度の探索コストし
か低減することはできなかった。これに対し、本発明に
よる改良では図4に示すように、R* −treeに適用
した場合12次元で19.8%、56次元で46.1%
の低減化を実現している。
【0058】また、本発明は上述したようにSR−tr
eeのようなMBSを格納している構造にも適用するこ
とができるが、図6に示す実験結果で本発明をSR−t
reeに適用した場合には(SCM(SR-tree))、図6に示
すように、全次元数においてVA−Fileとオリジナ
ルのSR−treeを性能面で上回っている。高次元に
なればSR−treeの性能は悪化するのに対し、本手
法の性能は高次元であっても悪化せず、VA−File
よりも優れている。加えて、次元が高くなるにつれて本
手法の優位性は増す。例えば、SR−treeと比べ4
0次元で約54.9%、56次元で約69.3%、また
VA−Fileと比べ56次元で約58.3%のコスト
削減を達成している。
eeのようなMBSを格納している構造にも適用するこ
とができるが、図6に示す実験結果で本発明をSR−t
reeに適用した場合には(SCM(SR-tree))、図6に示
すように、全次元数においてVA−Fileとオリジナ
ルのSR−treeを性能面で上回っている。高次元に
なればSR−treeの性能は悪化するのに対し、本手
法の性能は高次元であっても悪化せず、VA−File
よりも優れている。加えて、次元が高くなるにつれて本
手法の優位性は増す。例えば、SR−treeと比べ4
0次元で約54.9%、56次元で約69.3%、また
VA−Fileと比べ56次元で約58.3%のコスト
削減を達成している。
【0059】なお、上記実施形態の処理をプログラムと
して記録媒体に記録することにより該記録媒体を用い
て、その流通性を高めることができる。
して記録媒体に記録することにより該記録媒体を用い
て、その流通性を高めることができる。
【0060】
【発明の効果】以上説明したように、本発明によれば、
高次元空間探索において少ないディスクアクセスでオブ
ジェクトを検出することが可能となり、結果として探索
性能の向上を実現することができる。また、本発明は多
次元空間データとして表現される画像、映像、音声、文
書等を対象とする広範囲な情報検索に適用可能である。
高次元空間探索において少ないディスクアクセスでオブ
ジェクトを検出することが可能となり、結果として探索
性能の向上を実現することができる。また、本発明は多
次元空間データとして表現される画像、映像、音声、文
書等を対象とする広範囲な情報検索に適用可能である。
【図1】本発明の第1の実施形態におけるVBSを用い
た空間表現の例を示す説明図である。
た空間表現の例を示す説明図である。
【図2】本発明の第2の実施形態における多次元空間デ
ータ構造を示す図である。
ータ構造を示す図である。
【図3】本発明の第3の実施形態における多次元空間デ
ータ更新方法の処理手順を示すフローチャートである。
ータ更新方法の処理手順を示すフローチャートである。
【図4】図3に示す多次元空間データ更新方法の処理フ
ローにおける部分木内符号修正プロシージャの処理手順
を示すフローチャートである。
ローにおける部分木内符号修正プロシージャの処理手順
を示すフローチャートである。
【図5】本発明の第5の実施形態における多次元空間デ
ータ探索方法の処理手順を示すフローチャートである。
ータ探索方法の処理手順を示すフローチャートである。
【図6】本発明の実験結果を従来技術と比較して示すグ
ラフである。
ラフである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 植村 俊亮 奈良県生駒市高山8916−5 B−303 Fターム(参考) 5B075 ND16 ND36 5B082 EA01 GA03 GA08 (54)【発明の名称】 多次元空間検索における最小包囲領域作成方法、最小包囲球符号化方法、多次元空間データ構 造、多次元空間データ更新方法および多次元空間データ探索方法と前記方法を実施するプログラ ムを記録した記録媒体および多次元空間データ構造を記録した記録媒体
Claims (10)
- 【請求項1】 データベースに格納されるマルチメディ
アデータを組織する多次元空間データ木構造において、
親ノードの最小包囲領域を部分空間として2n 分割し、
子ノードの最小包囲球の中心点が存在する親ノードの部
分空間を検出し、子ノードの最小包囲球の中心点が存在
する部分空間と子ノードの最小包囲球のMinkowski sum
を計算することにより最小包囲球を包含する最小包囲領
域を作成することを特徴とする多次元空間検索における
最小包囲領域作成方法。 - 【請求項2】 親ノードの最小包囲領域を部分空間とし
て2n 分割し、親ノードの最小包囲領域全体の中で子ノ
ードの最小包囲球の中心点が存在する部分空間の位置を
nビットを使用して示すことにより最小包囲球を符号化
することを特徴とする多次元空間検索における最小包囲
球符号化方法。 - 【請求項3】 データベースに格納されるマルチメディ
アデータを組織する多次元空間木構造であって、部分空
間符号によって木構造におけるノンリーフノードを構成
し、仮想部分の1ノードが1ページを占有するように構
成し、仮想部分に対応する実部分の1ノードが複数ペー
ジを占有するように構成することを特徴とする多次元空
間データ構造。 - 【請求項4】 上位ノードで生成された現ノードの仮想
包囲領域と現ノードが保有する子ノードの最小包囲球か
ら子ノードの仮想包囲擬球を計算し、この計算において
現ノードが根である場合のみ、根ノードの最小包囲矩形
と子ノードの最小包囲球を基に子ノードの仮想包囲擬球
を計算し、木構造に最小包囲矩形を含まない索引に関し
ては、現ノードの仮想包囲擬球を包含し、かつ最小の包
囲矩形を用いて仮想包囲擬球を計算し、仮想包囲矩形の
部分空間符号とともに仮想包囲擬球の部分空間符号を更
新することを特徴とする多次元空間データ更新方法。 - 【請求項5】 仮想部分の各ノード毎に現ノードの仮想
包囲領域と子ノードの部分空間符号を基に子ノードの仮
想包囲擬球領域を計算し、この計算において木構造に最
小包囲矩形を含まない索引に関しては現ノードの仮想包
囲擬球を包含し、かつ最小の包囲矩形と子ノードの部分
空間符号を用いて子ノードの仮想包囲擬球を計算し、木
構造に最小包囲矩形と最小包囲球の両方を含む索引に関
しては現ノードの仮想包囲矩形と子ノードの部分空間符
号を用いて子ノードの仮想包囲擬球を計算し、前記計算
によって求めた仮想包囲擬球および仮想包囲矩形の両方
を用いて、仮想包囲擬球と問い合わせ点との最小距離を
計算して枝刈り戦略を実施することを特徴とする多次元
空間データ探索方法。 - 【請求項6】 データベースに格納されるマルチメディ
アデータを組織する多次元空間データ木構造において、
親ノードの最小包囲領域を部分空間として2n 分割し、
子ノードの最小包囲球の中心点が存在する親ノードの部
分空間を検出し、子ノードの最小包囲球の中心点が存在
する部分空間と子ノードの最小包囲球のMinkowski sum
を計算することにより最小包囲球を包含する最小包囲領
域を作成することを特徴とする多次元空間検索における
最小包囲領域作成プログラムを記録した記録媒体。 - 【請求項7】 親ノードの最小包囲領域を部分空間とし
て2n 分割し、親ノードの最小包囲領域全体の中で子ノ
ードの最小包囲球の中心点が存在する部分空間の位置を
nビットを使用して示すことにより最小包囲球を符号化
することを特徴とする多次元空間検索における最小包囲
球符号化プログラムを記録した記録媒体。 - 【請求項8】 上位ノードで生成された現ノードの仮想
包囲領域と現ノードが保有する子ノードの最小包囲球か
ら子ノードの仮想包囲擬球を計算し、この計算において
現ノードが根である場合のみ、根ノードの最小包囲矩形
と子ノードの最小包囲球を基に子ノードの仮想包囲擬球
を計算し、木構造に最小包囲矩形を含まない索引に関し
ては、現ノードの仮想包囲擬球を包含し、かつ最小の包
囲矩形を用いて仮想包囲擬球を計算し、仮想包囲矩形の
部分空間符号とともに仮想包囲擬球の部分空間符号を更
新することを特徴とする多次元空間データ更新プログラ
ムを記録した記録媒体。 - 【請求項9】 仮想部分の各ノード毎に現ノードの仮想
包囲領域と子ノードの部分空間符号を基に子ノードの仮
想包囲擬球領域を計算し、この計算において木構造に最
小包囲矩形を含まない索引に関しては現ノードの仮想包
囲擬球を包含し、かつ最小の包囲矩形と子ノードの部分
空間符号を用いて子ノードの仮想包囲擬球を計算し、木
構造に最小包囲矩形と最小包囲球の両方を含む索引に関
しては現ノードの仮想包囲矩形と子ノードの部分空間符
号を用いて子ノードの仮想包囲擬球を計算し、前記計算
によって求めた仮想包囲擬球および仮想包囲矩形の両方
を用いて、仮想包囲擬球と問い合わせ点との最小距離を
計算して枝刈り戦略を実施することを特徴とする多次元
空間データ探索プログラムを記録した記録媒体。 - 【請求項10】 データベースに格納されるマルチメデ
ィアデータを組織する多次元空間木構造であって、部分
空間符号によって木構造におけるノンリーフノードを構
成し、仮想部分の1ノードが1ページを占有するように
構成し、仮想部分に対応する実部分の1ノードが複数ペ
ージを占有するように構成することを特徴とする多次元
空間データ構造を記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11167384A JP2000357168A (ja) | 1999-06-14 | 1999-06-14 | 多次元空間検索における最小包囲領域作成方法、最小包囲球符号化方法、多次元空間データ構造、多次元空間データ更新方法および多次元空間データ探索方法と前記方法を実施するプログラムを記録した記録媒体および多次元空間データ構造を記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11167384A JP2000357168A (ja) | 1999-06-14 | 1999-06-14 | 多次元空間検索における最小包囲領域作成方法、最小包囲球符号化方法、多次元空間データ構造、多次元空間データ更新方法および多次元空間データ探索方法と前記方法を実施するプログラムを記録した記録媒体および多次元空間データ構造を記録した記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000357168A true JP2000357168A (ja) | 2000-12-26 |
Family
ID=15848717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11167384A Pending JP2000357168A (ja) | 1999-06-14 | 1999-06-14 | 多次元空間検索における最小包囲領域作成方法、最小包囲球符号化方法、多次元空間データ構造、多次元空間データ更新方法および多次元空間データ探索方法と前記方法を実施するプログラムを記録した記録媒体および多次元空間データ構造を記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000357168A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020069781A (ko) * | 2001-02-28 | 2002-09-05 | 주식회사 트윈클리틀스타 | 지리정보시스템의 지리정보 다중 캐쉬방법 |
KR100726300B1 (ko) | 2001-03-02 | 2007-06-13 | 자프 아게 | 주 메모리 데이터베이스의 다차원 색인 압축 방법 |
CN109188193A (zh) * | 2018-07-26 | 2019-01-11 | 昆明理工大学 | 一种基于特征频带收敛性闵氏距离的配电网故障选线方法 |
-
1999
- 1999-06-14 JP JP11167384A patent/JP2000357168A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020069781A (ko) * | 2001-02-28 | 2002-09-05 | 주식회사 트윈클리틀스타 | 지리정보시스템의 지리정보 다중 캐쉬방법 |
KR100726300B1 (ko) | 2001-03-02 | 2007-06-13 | 자프 아게 | 주 메모리 데이터베이스의 다차원 색인 압축 방법 |
CN109188193A (zh) * | 2018-07-26 | 2019-01-11 | 昆明理工大学 | 一种基于特征频带收敛性闵氏距离的配电网故障选线方法 |
CN109188193B (zh) * | 2018-07-26 | 2020-09-25 | 昆明理工大学 | 一种基于特征频带收敛性闵氏距离的配电网故障选线方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pfoser et al. | Novel approaches to the indexing of moving object trajectories. | |
US7139746B2 (en) | Extended markup language (XML) indexing method for processing regular path expression queries in a relational database and a data structure thereof | |
Lin et al. | Efficient indexing of the historical, present, and future positions of moving objects | |
KR101015324B1 (ko) | 데이터 맵핑 방법과 md 데이터 객체 검색을 위한 컴퓨터로 구현되는 방법, 컴퓨터로 구현되는 시스템 및 컴퓨터 판독가능 기록매체 | |
CN109166615B (zh) | 一种随机森林哈希的医学ct图像存储与检索方法 | |
JPH07191891A (ja) | 多次元データを格納しかつアクセスするコンピュータ方法及び格納構造 | |
Yang et al. | Pase: Postgresql ultra-high-dimensional approximate nearest neighbor search extension | |
CN110334290B (zh) | 一种基于MF-Octree的时空数据快速检索方法 | |
Li et al. | Skyline index for time series data | |
CN113590894B (zh) | 一种动态高效的遥感影像元数据入库检索方法 | |
KR100442991B1 (ko) | 트리구조의 동영상 색인 기술자를 이용한 검색장치 및 그 방법 | |
KR20220070482A (ko) | 이미지 증분 클러스터링 방법, 장치, 전자 기기, 저장 매체 및 프로그램 제품 | |
Fang et al. | HTPR*-Tree: An efficient index for moving objects to support predictive query and partial history query | |
CN112395288A (zh) | 基于希尔伯特曲线的r树索引合并更新方法、装置及介质 | |
CN105138674A (zh) | 一种数据库访问方法 | |
JP5470082B2 (ja) | 情報蓄積検索方法及び情報蓄積検索プログラム | |
Wang et al. | A real-time database architecture for motion capture data | |
CN110321353B (zh) | 一种基于半分解策略的多维空间数据索引方法 | |
JP2000357168A (ja) | 多次元空間検索における最小包囲領域作成方法、最小包囲球符号化方法、多次元空間データ構造、多次元空間データ更新方法および多次元空間データ探索方法と前記方法を実施するプログラムを記録した記録媒体および多次元空間データ構造を記録した記録媒体 | |
KR100667741B1 (ko) | 특징 벡터 데이터 공간의 인덱싱 방법 | |
JP2002073390A (ja) | 多次元空間データ構造を記録した記録媒体、多次元空間データ更新方法、多次元空間データ探索方法および前記方法を実施するプログラムを記録した記録媒体 | |
JP3542732B2 (ja) | 多次元空間データ構造および多次元空間データの更新および探索方法と前記多次元空間データ構造を記録した記録媒体および前記方法を実施するプログラムを記録した記録媒体 | |
CN111767285A (zh) | 一种快速判断节点关系的方法 | |
KR101299555B1 (ko) | 해시 함수 기반의 인덱스를 이용한 텍스트 검색 장치 및 방법 | |
CN110569327A (zh) | 一种支持动态更新的多关键字密文检索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050111 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050726 |