(57)【特許請求の範囲】
【請求項１】
空間変換に基づく楕円体問合せにおける包囲矩形と問合せ点との楕円体距離の計算において、
コンピュータシステムにより、
元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、第１のメモリに格納する第１のステップと、
前記第１の変換行列を前記第１のメモリから読み出して、元の空間における索引構造に含まれる包囲矩形を、当該第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、第２のメモリに格納する第２のステップと、
空間変換された前記平行四辺形を前記第２のメモリから読み出して、当該平行四辺形を包含する矩形で近似し、近似された当該矩形と前記原点との間のユークリッド距離を計算して、第３のメモリに格納する第３のステップと、
計算結果を前記第３のメモリから読み出して、当該計算結果を元の空間における楕円体距離の計算結果に置き換える第４のステップと、
を有することを特徴とする空間変換に基づく楕円体問合せ方法。
【請求項２】
前記第１の変換行列は要素ａｉｊで構成されるものであって、
前記第２のステップは、当該第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項１に記載の空間変換に基づく楕円体問合せ方法。
【数２１】
0003949915.tif 000030
【請求項３】
前記索引構造はＲ−ｔｒｅｅの索引構造であって、
前記第２のステップは、元の空間における前記問合せ点と前記索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された当該近似距離が、前記問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項１に記載の空間変換に基づく楕円体問合せ方法。
【請求項４】
前記第２のステップは、前記問合せ行列における固有値の次元が、しきい値よりも小さい場合に、当該小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項１に記載の空間変換に基づく楕円体問合せ方法。
【請求項５】
空間変換に基づく楕円体問合せにおける包囲矩形と問合せ点との楕円体距離の計算において、
コンピュータシステムに、
元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、第１のメモリに格納する第１の処理と、
前記第１の変換行列を前記第１のメモリから読み出して、元の空間における索引構造に含まれる包囲矩形を、当該第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、第２のメモリに格納する第２の処理と、
空間変換された前記平行四辺形を前記第２のメモリから読み出して、当該平行四辺形を包含する矩形で近似し、近似された当該矩形と前記原点との間のユークリッド距離を計算して、第３のメモリに格納する第３の処理と、
計算結果を前記第３のメモリから読み出して、当該計算結果を元の空間における楕円体距離の計算結果に置き換える第４の処理と、
を実行させることを特徴とする空間変換に基づく楕円体問合せプログラム。
【請求項６】
前記第１の変換行列は要素ａｉｊで構成されるものであって、
前記第２の処理は、当該第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項５に記載の空間変換に基づく楕円体問合せプログラム。
【数２１】
0003949915.tif 000031
【請求項７】
前記索引構造はＲ−ｔｒｅｅの索引構造であって、
前記第２の処理は、元の空間における前記問合せ点と前記索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された当該近似距離が、前記問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項５に記載の空間変換に基づく楕円体問合せプログラム。
【請求項８】
前記第２の処理は、前記問合せ行列における固有値の次元が、しきい値よりも小さい場合に、当該小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項５に記載の空間変換に基づく楕円体問合せプログラム。
【請求項９】
空間変換に基づく楕円体問合せにおける包囲矩形と問合せ点との楕円体距離の計算において、
コンピュータシステムに、
元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、第１のメモリに格納する第１の処理と、
前記第１の変換行列を前記第１のメモリから読み出して、元の空間における索引構造に含まれる包囲矩形を、当該第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、第２のメモリに格納する第２の処理と、
空間変換された前記平行四辺形を前記第２のメモリから読み出して、当該平行四辺形を包含する矩形で近似し、近似された当該矩形と前記原点との間のユークリッド距離を計算して、第３のメモリに格納する第３の処理と、
計算結果を前記第３のメモリから読み出して、当該計算結果を元の空間における楕円体距離の計算結果に置き換える第４の処理と、
を実行させることを特徴とする空間変換に基づく楕円体問合せプログラムを記録した記録媒体。
【請求項１０】
前記第１の変換行列は要素ａｉｊで構成されるものであって、
前記第２の処理は、当該第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項９に記載の空間変換に基づく楕円体問合せプログラムを記録した記録媒体。
【数２１】
0003949915.tif 000032
【請求項１１】
前記索引構造はＲ−ｔｒｅｅの索引構造であって、
前記第２の処理は、元の空間における前記問合せ点と前記索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された当該近似距離が、前記問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項９に記載の空間変換に基づく楕円体問合せプログラムを記録した記録媒体。
【請求項１２】
前記第２の処理は、前記問合せ行列における固有値の次元が、しきい値よりも小さい場合に、当該小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項９に記載の空間変換に基づく楕円体問合せプログラムを記録した記録媒体。
【請求項１３】
空間変換に基づく楕円体問合せにおける包囲矩形と問合せ点との楕円体距離の計算において、
元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、第１のメモリに格納する第１の手段と、
前記第１の変換行列を前記第１のメモリから読み出して、元の空間における索引構造に含まれる包囲矩形を、当該第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、第２のメモリに格納する第２の手段と、
空間変換された前記平行四辺形を前記第２のメモリから読み出して、当該平行四辺形を包含する矩形で近似し、近似された当該矩形と前記原点との間のユークリッド距離を計算して、第３のメモリに格納する第３の手段と、
計算結果を前記第３のメモリから読み出して、当該計算結果を元の空間における楕円体距離の計算結果に置き換える第４の手段と、
を有することを特徴とする空間変換に基づく楕円体問合せ装置。
【請求項１４】
前記第１の変換行列は要素ａｉｊで構成されるものであって、
前記第２の手段は、当該第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項１３に記載の空間変換に基づく楕円体問合せ装置。
【数２１】
0003949915.tif 000033
【請求項１５】
前記索引構造はＲ−ｔｒｅｅの索引構造であって、
前記第２の手段は、元の空間における前記問合せ点と前記索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された当該近似距離が、前記問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項１３に記載の空間変換に基づく楕円体問合せ装置。
【請求項１６】
前記第２の手段は、前記問合せ行列における固有値の次元が、しきい値よりも小さい場合に、当該小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを特徴とする請求項１３に記載の空間変換に基づく楕円体問合せ装置。
【請求項１７】
複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せ方法であって、
前記第２のステップは、
前記複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、当該行列の固有値を計算することによって当該行列式が１となるように当該行列を正規化し、正規化された当該行列をユークリッド空間における行列に変換する第２の変換行列を導出し、当該第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された当該点を用いて前記任意の楕円体に対する索引構造を前記複数の楕円体ごとに作成してメモリに格納し、
前記複数の索引構造を当該メモリから読み出して、読み出した当該複数の索引構造の中から前記問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とすることを特徴とする請求項１に記載の空間変換に基づく楕円体問合せ方法。
【請求項１８】
複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せ装置であって、
前記第２の手段は、
前記複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、当該行列の固有値を計算することによって当該行列式が１となるように当該行列を正規化し、正規化された当該行列をユークリッド空間における行列に変換する第２の変換行列を導出し、当該第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された当該点を用いて前記任意の楕円体に対する索引構造を前記複数の楕円体ごとに作成してメモリに格納し、
前記複数の索引構造を当該メモリから読み出して、読み出した当該複数の索引構造の中から前記問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とすることを特徴とする請求項１３に記載の空間変換に基づく楕円体問合せ装置。
【請求項１９】
複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せプログラムであって、
前記第２の処理は、
前記複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、当該行列の固有値を計算することによって当該行列式が１となるように当該行列を正規化し、正規化された当該行列をユークリッド空間における行列に変換する第２の変換行列を導出し、当該第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された当該点を用いて前記任意の楕円体に対する索引構造を前記複数の楕円体ごとに作成してメモリに格納し、
前記複数の索引構造を当該メモリから読み出して、読み出した当該複数の索引構造の中から前記問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とすることを特徴とする請求項５に記載の空間変換に基づく楕円体問合せプログラム。
【請求項２０】
複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せプログラムを記録した記録媒体であって、
前記第２の処理は、
前記複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、当該行列の固有値を計算することによって当該行列式が１となるように当該行列を正規化し、正規化された当該行列をユークリッド空間における行列に変換する第２の変換行列を導出し、当該第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された当該点を用いて前記任意の楕円体に対する索引構造を前記複数の楕円体ごとに作成してメモリに格納し、
前記複数の索引構造を当該メモリから読み出して、読み出した当該複数の索引構造の中から前記問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とすることを特徴とする請求項９に記載の空間変換に基づく楕円体問合せプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、空間変換に基づく楕円体問合せにおける包囲矩形と問合せ点との楕円体距離の計算を高速かつ効率的に行い得る空間変換に基づく楕円体問合せ方法および装置と空間変換に基づく楕円体問合せプログラムおよび該プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
マルチメディア内容検索システムは、マルチメディアデータから抽出した特徴ベクトルを用い、問合せオブジェクトと類似したデータオブジェクトを検索する。システムに実装されているパターン認識手法の多様化、データベースの大規模化に伴い、これらのシステムでは検索精度と検索性能の両方の向上が必要である。そこで、探索手法は、より一般的な距離関数に基づいた情報検索および類似検索処理の高速化が必要となる。
【０００３】
マルチメディア内容検索システムにおける類似検索メカニズムは、ユークリッド距離関数のみならず、より一般的な楕円体距離関数を扱える能力を持つことが望ましい。ユークリッド距離空間では、すべての次元が互いに独立しているため、利用者の好みを十分に反映することができない。これに対して、楕円体距離関数は次元間の相関や重みを表現することができ、これらの関数を用いた検索メカニズムは関数決定の自由度が高く、利用者が望むデータオブジェクトを高い精度で検索することができる。問合せ行列をＭ、問合せ点をｑ、データ集合に含まれる任意の点をｐとするとき、楕円体距離は
【数１】
0003949915.tif 000002
のように計算され、Ｍは正定行列であるために
【数２】
0003949915.tif 000003
となる。
【０００４】
ｄ次元空間では、ユークリッド距離関数は図６（ａ）に示すように等距離面が球となる。重み付きユークリッド距離関数の等距離面は図６（ｂ）に示すように楕円体であり、その主軸は座標に沿ったものである。楕円体距離関数の等距離面は図６（ｃ）に示すように楕円体であり、その主軸は任意の方向を向いている。すなわち、楕円体距離関数はユークリッド距離関数や重み付きユークリッド距離関数を一般化したものと見なすことができ、楕円体距離関数はユークリッド距離関数よりも利用者の意思をより正確に表現することができる。
【０００５】
従来技術として、例えば文献：Thomas Seidl and Hans-Peter Kriegel.“Efficient User-Adaptable Similarity Search in Large Multimedia Databases",In Proc.of 23rd International Conference on Very Large Data Bases(VLDB),pp.506-515,Athens,August 1997（以下、文献１と称する）では、利用者適応の楕円体問合せを処理するための手法を提案している。利用者適応の楕円体問合せとは、毎回または利用者毎に異なる重みや相関を反映した問合せのことを指す。この手法は、索引構造を用い、包囲矩形と問合せ点との厳密な距離を最急降下法に基づいて計算し、探索処理を行っている。しかしながら、ｄを次元数、ωを最急降下法の繰り返し回数とするとき、問合せ点と包囲矩形の距離計算にＯ（ω・ｄ2 ）時間を必要とし、これは検索処理におけるディスクアクセスに要する時間を超えている。
【０００６】
また、文献：Mihael Ankerst,Bernhard Braunmuller,Hans-Peter Kriegel,and Thomas Seidl,“Improving Adaptable Similarity Query Processing by Using Approximations",In Proc.of the 24th International Conference on Very Large Data Bases(VLDB),pp.206-217,New York City,NY,August 1998（以下、文献２と称する）の探索アルゴリズムでは、ＡnkerstらがＣＰＵコストを削減するために、ＭＢＢ（Minimum Bounding Box）距離関数とＭＢＳ（Minimum Bounding Sphere）距離関数を用いて厳密な距離計算回数を削減している。次式は、ＭＢＢ 距離とＭＢＳ距離の定義式である。
【０００７】
【数３】
0003949915.tif 000004
ここで、λMi（ｉ＝１，…，ｄ）は、Ｍの固有値であり、λMminはＭの最小の固有値である。ＭＢＢ距離関数は矩形を用いて楕円体問合せの領域を包囲し近似する。ＭＢＳ距離関数は球を用いて近似する。２つの関数は、距離計算にＯ（ｄ）時間しか必要としない。この文献２の探索アルゴリズムでは、ＭＢＢとＭＢＳ距離関数を用いてＣＰＵコストを低減化させている。ここで、この手法をＭＢＢ−ＭＢＳ近似法と称する。しかしながら、このＭＢＢ−ＭＢＳ近似法は、次元数が増加したり、または問合せ行列によって形作られる楕円体が扁平になるに従い近似精度が低下する。そして、低い近似精度はＣＰＵ時間の増加につながる。
【０００８】
【発明が解決しようとする課題】
上述した文献１に記載されている従来の手法は、索引構造を用い、包囲矩形と問合せ点との厳密な距離を最急降下法に基づいて計算し、探索処理を行っているが、ｄを次元数、ωを最急降下法の繰り返し回数とするとき、問合せ点と包囲矩形の距離計算にＯ（ω・ｄ2）時間を必要とし、これは検索処理におけるディス クアクセスに要する時間を超えるという問題がある。
【０００９】
また、前記文献２に記載されている従来の手法は、ＭＢＢとＭＢＳ距離関数を用いてＣＰＵコストを低減化させているが、このＭＢＢ−ＭＢＳ近似法は、次元数が増加したり、または問合せ行列によって形作られる楕円体が扁平になるに従い近似精度が低下し、この低い近似精度がＣＰＵ時間の増加につながるという問題がある。
【００１０】
マルチメディアデータベースのサイズやデータの次元数が増えたとき、高速に検索するための索引手法が必要となり、種々の手法が提案され、特にＡ−ｔｒｅｅは高次元データにおいて高い性能を示すが、これらの索引手法はユークリッド距離関数に基づく探索にのみ焦点をあてているが、上述したように、楕円体距離関数はユークリッド距離関数や重み付きユークリッド距離関数を一般化したものと見なすことができ、楕円体距離関数はユークリッド距離関数よりも利用者の意思をより正確に表現することができるという点から鑑みても、楕円体問合せのための新規な探索手法が要望されている。
【００１１】
本発明は、上記に鑑みてなされたもので、その目的とするところは、空間変換に基づく楕円体問合せにおける包囲矩形と問合せ点との楕円体距離の計算を高速かつ効率的に行い得る空間変換に基づく楕円体問合せ方法および装置と空間変換に基づく楕円体問合せプログラムおよび該プログラムを記録した記録媒体を提供することにある。
【００１２】
上記目的を達成するため、請求項１記載の本発明は、空間変換に基づく楕円体問合せにおける包囲矩形と問合せ点との楕円体距離の計算において、コンピュータシステムにより、元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、第１のメモリに格納する第１のステップと、前記第１の変換行列を前記第１のメモリから読み出して、元の空間における索引構造に含まれる包囲矩形を、当該第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、第２のメモリに格納する第２のステップと、空間変換された前記平行四辺形を前記第２のメモリから読み出して、当該平行四辺形を包含する矩形で近似し、近似された当該矩形と前記原点との間のユークリッド距離を計算して、第３のメモリに格納する第３のステップと、計算結果を前記第３のメモリから読み出して、当該計算結果を元の空間における楕円体距離の計算結果に置き換える第４のステップと、を有することを要旨とする。
【００１３】
請求項１記載の本発明にあっては、コンピュータシステムにより、元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、元の空間における索引構造に含まれる包囲矩形を、この第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、この平行四辺形を包含する矩形で近似し、近似された矩形と原点との間のユークリッド距離を計算して、計算結果を元の空間における楕円体距離の計算結果に置き換えるため、利用者適応の楕円体問合せのための類似探索において少ない時間でオブジェクトを検出することが可能となり、低いＣＰＵコストにも関わらず、優れた近似精度を示し、高い探索性能を実現することができる。
【００１４】
また、請求項２記載の本発明は、請求項１記載の発明において、前記第１の変換行列は要素ａｉｊで構成されるものであって、前記第２のステップは、当該第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換することを要旨とする。
【数２１】
0003949915.tif 000005
【００１５】
請求項２記載の本発明にあっては、第１の変換行列は要素ａｉｊで構成されるものであって、第２のステップは、第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換するため、計算時間を短縮することができる。
【数２１】
0003949915.tif 000006
【００１６】
更に、請求項３記載の本発明は、請求項１記載の発明において、前記索引構造はＲ−ｔｒｅｅの索引構造であって、前記第２のステップは、元の空間における前記問合せ点と前記索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された当該近似距離が、前記問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを要旨とする。
【００１７】
請求項３記載の本発明にあっては、索引構造はＲ−ｔｒｅｅの索引構造であって、第２のステップは、元の空間における問合せ点と索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された近似距離が、問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換するため、計算時間を全体として短縮することができる。
【００１８】
請求項４記載の本発明は、請求項１記載の発明において、前記第２のステップは、前記問合せ行列における固有値の次元が、しきい値よりも小さい場合に、当該小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを要旨とする。
【００１９】
請求項４記載の本発明にあっては、第２のステップは、問合せ行列における固有値の次元が、しきい値よりも小さい場合に、小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換するため、探索処理の計算時間を短縮することができる。
【００２０】
また、請求項５記載の本発明は、空間変換に基づく楕円体問合せにおける包囲矩形と問合せ点との楕円体距離の計算において、コンピュータシステムに、元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、第１のメモリに格納する第１の処理と、前記第１の変換行列を前記第１のメモリから読み出して、元の空間における索引構造に含まれる包囲矩形を、当該第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、第２のメモリに格納する第２の処理と、空間変換された前記平行四辺形を前記第２のメモリから読み出して、当該平行四辺形を包含する矩形で近似し、近似された当該矩形と前記原点との間のユークリッド距離を計算して、第３のメモリに格納する第３の処理と、計算結果を前記第３のメモリから読み出して、当該計算結果を元の空間における楕円体距離の計算結果に置き換える第４の処理と、を実行させることを要旨とする。
【００２１】
請求項５記載の本発明にあっては、コンピュータシステムに、元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、元の空間における索引構造に含まれる包囲矩形を、この第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、この平行四辺形を包含する矩形で近似し、近似された矩形と原点との間のユークリッド距離を計算して、計算結果を元の空間における楕円体距離の計算結果に置き換えさせるため、利用者適応の楕円体問合せのための類似探索において少ない時間でオブジェクトを検出することが可能となり、低いＣＰＵコストにも関わらず、優れた近似精度を示し、高い探索性能を実現することができる。
【００２２】
更に、請求項６記載の本発明は、請求項５記載の発明において、前記第１の変換行列は要素ａｉｊで構成されるものであって、前記第２の処理は、当該第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換することを要旨とする。
【数２１】
0003949915.tif 000007
【００２３】
請求項６記載の本発明にあっては、第１の変換行列は要素ａｉｊで構成されるものであって、第２の処理は、第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換するため、計算時間を短縮することができる。
【数２１】
0003949915.tif 000008
【００２４】
請求項７記載の本発明は、請求項５記載の発明において、前記索引構造はＲ−ｔｒｅｅの索引構造であって、前記第２の処理は、元の空間における前記問合せ点と前記索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された当該近似距離が、前記問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを要旨とする。
【００２５】
請求項７記載の本発明にあっては、索引構造はＲ−ｔｒｅｅの索引構造であって、第２の処理は、元の空間における問合せ点と索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された近似距離が、問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換するため、計算時間を全体として短縮することができる。
【００２６】
また、請求項８記載の本発明は、請求項５記載の発明において、前記第２の処理は、前記問合せ行列における固有値の次元が、しきい値よりも小さい場合に、当該小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを要旨とする。
【００２７】
請求項８記載の本発明にあっては、第２の処理は、問合せ行列における固有値の次元が、しきい値よりも小さい場合に、小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換するため、探索処理の計算時間を短縮することができる。
【００２８】
更に、請求項９記載の本発明は、空間変換に基づく楕円体問合せにおける包囲矩形と問合せ点との楕円体距離の計算において、コンピュータシステムに、元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、第１のメモリに格納する第１の処理と、前記第１の変換行列を前記第１のメモリから読み出して、元の空間における索引構造に含まれる包囲矩形を、当該第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、第２のメモリに格納する第２の処理と、空間変換された前記平行四辺形を前記第２のメモリから読み出して、当該平行四辺形を包含する矩形で近似し、近似された当該矩形と前記原点との間のユークリッド距離を計算して、第３のメモリに格納する第３の処理と、計算結果を前記第３のメモリから読み出して、当該計算結果を元の空間における楕円体距離の計算結果に置き換える第４の処理と、を実行させる空間変換に基づく楕円体問合せプログラムを記録媒体に記録することを要旨とする。
【００２９】
請求項９記載の本発明にあっては、コンピュータシステムに、元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、元の空間における索引構造に含まれる包囲矩形を、この第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、この平行四辺形を包含する矩形で近似し、近似された矩形と原点との間のユークリッド距離を計算して、計算結果を元の空間における楕円体距離の計算結果に置き換えさせる空間変換に基づく楕円体問合せプログラムを記録媒体に記録しているため、該記録媒体を用いて、その流通性を高めることができる。
【００３０】
請求項１０記載の本発明は、請求項９記載の発明において、前記第１の変換行列は要素ａｉｊで構成されるものであって、前記第２の処理は、当該第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換する空間変換に基づく楕円体問合せプログラムを記録媒体に記録することを要旨とする。
【数２１】
0003949915.tif 000009
【００３１】
請求項１０記載の本発明にあっては、第１の変換行列は要素ａｉｊで構成されるものであって、第２の処理は、第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換する空間変換に基づく楕円体問合せプログラムを記録媒体に記録しているため、該記録媒体を用いて、その流通性を高めることができる。
【数２１】
0003949915.tif 000010
【００３２】
また、請求項１１記載の本発明は、請求項９記載の発明において、前記索引構造はＲ−ｔｒｅｅの索引構造であって、前記第２の処理は、元の空間における前記問合せ点と前記索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された当該近似距離が、前記問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換する空間変換に基づく楕円体問合せプログラムを記録媒体に記録することを要旨とする。
【００３３】
請求項１１記載の本発明にあっては、索引構造はＲ−ｔｒｅｅの索引構造であって、第２の処理は、元の空間における問合せ点と索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された近似距離が、問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換する空間変換に基づく楕円体問合せプログラムを記録媒体に記録しているため、該記録媒体を用いて、その流通性を高めることができる。
【００３４】
請求項１２記載の本発明は、請求項９記載の発明において、前記第２の処理は、前記問合せ行列における固有値の次元が、しきい値よりも小さい場合に、当該小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換する空間変換に基づく楕円体問合せプログラムを記録媒体に記録することを要旨とする。
【００３５】
請求項１２記載の本発明にあっては、第２の処理は、問合せ行列における固有値の次元が、しきい値よりも小さい場合に、小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換する空間変換に基づく楕円体問合せプログラムを記録媒体に記録しているため、該記録媒体を用いて、その流通性を高めることができる。
【００３６】
請求項１３記載の本発明は、空間変換に基づく楕円体問合せにおける包囲矩形と問合せ点との楕円体距離の計算において、元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、第１のメモリに格納する第１の手段と、前記第１の変換行列を前記第１のメモリから読み出して、元の空間における索引構造に含まれる包囲矩形を、当該第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、第２のメモリに格納する第２の手段と、空間変換された前記平行四辺形を前記第２のメモリから読み出して、当該平行四辺形を包含する矩形で近似し、近似された当該矩形と前記原点との間のユークリッド距離を計算して、第３のメモリに格納する第３の手段と、計算結果を前記第３のメモリから読み出して、当該計算結果を元の空間における楕円体距離の計算結果に置き換える第４の手段と、を有することを要旨とする。
【００３７】
請求項１３記載の本発明にあっては、元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、元の空間における索引構造に含まれる包囲矩形を、この第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、この平行四辺形を包含する矩形で近似し、近似された矩形と原点との間のユークリッド距離を計算して、計算結果を元の空間における楕円体距離の計算結果に置き換えるため、利用者適応の楕円体問合せのための類似探索において少ない時間でオブジェクトを検出することが可能となり、低いＣＰＵコストにも関わらず、優れた近似精度を示し、高い探索性能を実現することができる。
【００３８】
また、請求項１４記載の本発明は、請求項１３記載の発明において、前記第１の変換行列は要素ａｉｊで構成されるものであって、前記第２の手段は、当該第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換することを要旨とする。
【数２１】
0003949915.tif 000011
【００３９】
請求項１４記載の本発明にあっては、第１の変換行列は要素ａｉｊで構成されるものであって、第２の手段は、第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換するため、計算時間を短縮することができる。
【数２１】
0003949915.tif 000012
【００４０】
更に、請求項１５記載の本発明は、請求項１３記載の発明において、前記索引構造はＲ−ｔｒｅｅの索引構造であって、前記第２の手段は、元の空間における前記問合せ点と前記索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された当該近似距離が、前記問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを要旨とする。
【００４１】
請求項１５記載の本発明にあっては、索引構造はＲ−ｔｒｅｅの索引構造であって、第２の手段は、元の空間における問合せ点と索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された近似距離が、問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換するため、計算時間を全体として短縮することができる。
【００４２】
請求項１６記載の本発明は、請求項１３記載の発明において、前記第２の手段は、前記問合せ行列における固有値の次元が、しきい値よりも小さい場合に、当該小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、前記第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換することを要旨とする。
【００４３】
請求項１６記載の本発明にあっては、第２の手段は、問合せ行列における固有値の次元が、しきい値よりも小さい場合に、小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換するため、探索処理の計算時間を短縮することができる。
【００４４】
また、請求項１７記載の本発明は、請求項１記載の発明において、複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せ方法であって、前記第２のステップは、前記複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、当該行列の固有値を計算することによって当該行列式が１となるように当該行列を正規化し、正規化された当該行列をユークリッド空間における行列に変換する第２の変換行列を導出し、当該第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された当該点を用いて前記任意の楕円体に対する索引構造を前記複数の楕円体ごとに作成してメモリに格納し、前記複数の索引構造を当該メモリから読み出して、読み出した当該複数の索引構造の中から前記問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とすることを要旨とする。
【００４５】
請求項１７記載の本発明にあっては、複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せ方法であって、第２のステップは、複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、行列の固有値を計算することによって行列式が１となるように行列を正規化し、正規化された行列をユークリッド空間における行列に変換する第２の変換行列を導出し、第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された点を用いて任意の楕円体に対する索引構造を複数の楕円体ごとに作成し、作成した複数の索引構造の中から問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とするため、行列の正規化により索引の行列と問合せ行列との非類似度を正確に計算でき、これにより問合せ行列に適した索引を選択できるとともに、また各問合せに適した索引を選択することにより計算時間とハードディスクのページアクセス数を削減することができる。
【００４６】
更に、請求項１８記載の本発明は、請求項１３記載の発明において、複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せ装置であって、前記第２の手段は、前記複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、当該行列の固有値を計算することによって当該行列式が１となるように当該行列を正規化し、正規化された当該行列をユークリッド空間における行列に変換する第２の変換行列を導出し、当該第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された当該点を用いて前記任意の楕円体に対する索引構造を前記複数の楕円体ごとに作成してメモリに格納し、前記複数の索引構造を当該メモリから読み出して、読み出した当該複数の索引構造の中から前記問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とすることを要旨とする。
【００４７】
請求項１８記載の本発明にあっては、複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せ装置であって、第２の手段は、複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、行列の固有値を計算することによって行列式が１となるように行列を正規化し、正規化された行列をユークリッド空間における行列に変換する第２の変換行列を導出し、第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された点を用いて任意の楕円体に対する索引構造を複数の楕円体ごとに作成し、作成した複数の索引構造の中から問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とするため、行列の正規化により索引の行列と問合せ行列との非類似度を正確に計算でき、これにより問合せ行列に適した索引を選択できるとともに、また各問合せに適した索引を選択することにより計算時間とハードディスクのページアクセス数を削減することができる。
【００４８】
請求項１９記載の本発明は、請求項５記載の発明において、複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せプログラムであって、前記第２の処理は、前記複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、当該行列の固有値を計算することによって当該行列式が１となるように当該行列を正規化し、正規化された当該行列をユークリッド空間における行列に変換する第２の変換行列を導出し、当該第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された当該点を用いて前記任意の楕円体に対する索引構造を前記複数の楕円体ごとに作成してメモリに格納し、前記複数の索引構造を当該メモリから読み出して、読み出した当該複数の索引構造の中から前記問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とすることを要旨とする。
【００４９】
請求項１９記載の本発明にあっては、複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せプログラムであって、第２の処理は、複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、行列の固有値を計算することによって行列式が１となるように行列を正規化し、正規化された行列をユークリッド空間における行列に変換する第２の変換行列を導出し、第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された点を用いて任意の楕円体に対する索引構造を複数の楕円体ごとに作成し、作成した複数の索引構造の中から問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とするため、行列の正規化により索引の行列と問合せ行列との非類似度を正確に計算でき、これにより問合せ行列に適した索引を選択できるとともに、また各問合せに適した索引を選択することにより計算時間とハードディスクのページアクセス数を削減することができる。
【００５０】
また、請求項２０記載の本発明は、請求項９記載の発明において、複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せプログラムを記録した記録媒体であって、前記第２の処理は、前記複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、当該行列の固有値を計算することによって当該行列式が１となるように当該行列を正規化し、正規化された当該行列をユークリッド空間における行列に変換する第２の変換行列を導出し、当該第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された当該点を用いて前記任意の楕円体に対する索引構造を前記複数の楕円体ごとに作成してメモリに格納し、前記複数の索引構造を当該メモリから読み出して、読み出した当該複数の索引構造の中から前記問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とすることを要旨とする。
【００５１】
請求項２０記載の本発明にあっては、複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せプログラムを記録した記録媒体であって、第２の処理は、複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、行列の固有値を計算することによって行列式が１となるように行列を正規化し、正規化された行列をユークリッド空間における行列に変換する第２の変換行列を導出し、第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された点を用いて任意の楕円体に対する索引構造を複数の楕円体ごとに作成し、作成した複数の索引構造の中から問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とする空間変換に基づく楕円体問合せプログラムを記録媒体に記録しているため、該記録媒体を用いて、その流通性を高めることができる。
【００５２】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態を説明する。まず、図１を参照して、本発明の第１の実施形態として、利用者適応の楕円体問合せを効率的に処理する空間変換法（以下、ＳＴＴ（Spatial Transformation Technique）と略称する）について説明する。
【００５３】
まず、厳密な楕円体距離の計算においては、問合せ点と索引構造に含まれる包囲矩形との距離の計算には多くのＣＰＵコストを必要とする。ωを最急降下法の繰り返し回数であるとすると、計算時間はＯ（ω・ｄ2）である。ＳＴＴの基本 的なアイデアは、問合せ点からの距離を楕円体距離関数で計算しなければならないような元の空間に位置する包囲矩形をユークリッド距離関数に基づく新たな空間に位置する空間オブジェクトに変換することである。ＳＴＴは、距離計算に関して繰り返しを必要とせず、包囲矩形を空間変換することによって低いＣＰＵコストにも関わらず優れた近似精度を示し、楕円体距離に基づく類似探索を高速化することができる。
【００５４】
ここで、空間変換について説明する。問合せ行列Ｍ、問合せ点ｑが与えられているとき、ｄ次元空間Ｓにおける任意の点ｐとｑまでの楕円体距離は、以下の式によって得ることができる。
【００５５】
【数４】
0003949915.tif 000013
問合せ行列Ｍは正値対称行列であるため、以下のようにスペクトル分解が可能である。
【００５６】
【数５】
0003949915.tif 000014
ここで、ＥM はＭの固有ベクトル、ΛM はｄ個のＭの固有値λMi（ｉ＝１，２，…ｄ）を対角成分とする対角行列である。式（３）を用いて、式（２）を以下のように変形することができる。
【００５７】
【数６】
0003949915.tif 000015
ここで、ユークリッド空間Ｓ′内の点
【数７】
0003949915.tif 000016
を考える。式（４）より、ユークリッド空間Ｓ′における原点Ｏとｐ′とのユークリッド距離は、Ｓにおける楕円体距離ｄM2（ｐ，ｑ）に等しい。すなわち、ｄM2（ｐ，ｑ）＝ｐ′・ｐ′t。ここで、Ｍの変換行列を以下のように定義する。
【００５８】
【数８】
0003949915.tif 000017
変換行列ＡM を用いることにより、Ｓ内の楕円体距離関数による計算をＳ′内のユークリッド距離関数による計算に置き換えることができる。これを、ｐのｐ′への空間変換と呼ぶ。
【００５９】
次に、矩形の空間変換について説明する。ＳＴＴでは、索引構造に含まれる包囲矩形を空間変換する。図１は、矩形の空間変換の例を示している。図１（ａ）において、Ｓ内の包囲矩形Ｐは、Ｓ′内のｄ次元平行四辺形Ｐ′に変換される。高次元空間における多角形と原点Ｏとの距離計算は多くの計算時間を必要とする。そこで、図１（ｂ）のようにＰ′を矩形Ｒで近似する。この近似により、少ない計算時間でユークリッド距離を得ることができる。
【００６０】
空間Ｓ内の矩形Ｐ、問合せ点ｑを考える。Ｐにおいて対角する頂点をｐa とｐb とし、Ｐのｉ次元の辺長をｌi とする。このとき、ｐa の空間変換によって得られるＳ′内の点ｐa′の位置は
【数９】
0003949915.tif 000018
である。変換行列ＡM の要素ａijから、以下のような二種類の成分を抽出する。
【数１０】
0003949915.tif 000019
式（６），（７）から、矩形Ｐの空間関数である平行四辺形を包含する矩形Ｒは、下式により得られる。
【００６１】
【数１１】
0003949915.tif 000020
ここで、ｒa とｒb はＲにおいて対角する頂点を表している。空間Ｓ′において、ＲはＰ′を完全に包含しているため、Ｐとｑの楕円体距離ｄM2（Ｐ，ｑ）の計算をＲとＯのユークリッド距離ｄ2（Ｒ，Ｏ）の計算に置き換えることができる 。すなわち、ｄ2（Ｒ，Ｏ）≦ｄM2（Ｐ，ｑ）である。
【００６２】
例えば、図１に示すように、問合せ点ｑ＝（２，２）と行列
【数１２】
0003949915.tif 000021
が与えられているとする。Ｓ内の包囲矩形Ｐの頂点ｐa ，ｐb ，ｐc ，ｐd は、Ｍを用いることによってＳ′内の平行四辺形Ｐ′の頂点ｐa′，ｐb′，ｐc′， ｐd′に変換される。また、Ｒ＝（ｒa ,ｒb）はＰ′を包含する。ｄM2（Ｐ，ｑ ）はｄ2（Ｒ，Ｏ）によって近似されるため、ｄM2（Ｐ，ｑ）の代わりにｄ2（Ｒ，Ｏ）を探索に用いることができる。
【００６３】
次に、本発明の第２の実施形態について説明する。本実施形態では、上述した第１の実施形態において探索処理で包囲矩形を空間変換するにあたり、探索処理の実行前に０でない変換行列の要素を検出することであり、これにより計算時間を短縮することである。すなわち、上述した第１の実施形態では、空間変換のための式（５），（６），（７），（８）を示したが、アクセスしたすべての矩形について問合せ点との距離をこれらの式に基づいて忠実に計算することは無駄が多い。そこで、この第２の実施形態では、ＣＰＵ時間を削減するために２つのアイデアを導入する。
【００６４】
第１に、式（５），（７）の計算結果は、アクセスした矩形の位置に依存しない。従って、これらの計算を探索処理の最初に実行することにより、その計算結果はアクセスされる矩形すべての空間変換に当てはめることができる。
【００６５】
第２に、式（８）に関する計算時間の削減である。式（７）において、平均してφij ，ψij の値の半分は０である。従って、実装上においては、φij≠０，ψij≠０となる行番号ｉと列番号ｊのすべてのペアを、ノードにアクセスする前に調査する。そして、この調査を探索処理の最初に実行することにより、式（８）におけるＲの計算時間、すなわちｒaj とｒbj の計算時間を半分に抑制することができる。
【００６６】
例えば、行列φijの第ｊ列において、φij≠０となる成分の数をｃaj とする 。そして第ｊ列におけるｃaj個の成分各々の行番号をｕjk（ｋ＝１，…，ｃaj）とする。同様に行列ψij の第ｊ列において、ψij≠０となる成分の数をｃbj とし、第ｊ列におけるｃbj個の成分各々の行番号をｖjk（ｋ＝１，…，ｃbj）とする。このとき、式（８）は以下のように変形することにより計算時間の短縮が可能である。
【００６７】
【数１３】
0003949915.tif 000022
ここで、式（９）におけるｃaj とｃbj は、平均してｄ／２である。
【００６８】
次に、本発明の第３の実施形態について説明する。本実施形態は、包囲矩形と問合せ点との楕円体距離の計算を実施する際、最初に距離を近似関数によって計算し、近似距離が問合せ点と現在の最近傍との距離以下であれば、厳密な距離計算を実施するものである。主要な多次元データの問合せとして、範囲問合せ、ｋ近傍問合せがあるが、本実施形態の空間変換に基づく探索アルゴリズムは両方の問合せを効率よく処理することができる。以下の説明では、ｋ近傍問合せに焦点をあててアルゴリズムを説明するが、範囲問合せについても同様に処理することが可能である。
【００６９】
図２に示すフローチャートを参照して、Ｒ−ｔｒｅｅファミリーの索引構造を用いた楕円体問合せのための探索アルゴリズムについて説明する。この探索アルゴリズムは、包囲矩形と問合せ点との距離を評価する場合に空間変換を用いる。厳密な楕円体距離計算よりも、ＭＢＢ−ＭＢＳ近似法やＳＴＴの方が距離計算に必要とする時間が少ない。そこで、包囲矩形までの距離を評価する時、探索アルゴリズムは最初に問合せ点までの距離を近似関数によって計算する。そして、近似距離が問合せ点と現在のｋ番目の最近傍との距離以下である場合には、厳密な楕円体距離関数に基づいて矩形から問合せ点までの距離を評価する。
【００７０】
図２に示す処理では、まず問合せ行列の計算および変換行列ＡM の各成分の調査を実施し、またキューに根ノードへのポインタおよび距離０を設定し（ステップＳ１）、以下の処理をキューが空になるまでループ１として繰り返し行う（ステップＳ２〜Ｓ８）。そして、問合せ点から最も近いノードＮをキューから取り出す（ステップＳ３）。この取り出したノードＮがデータノードであるか否かを判定する（ステップＳ４）。
【００７１】
この判定の結果、ノードＮがデータノード以外の場合には、ステップＳ５の処理Ａとして図３に示すフローチャートの処理に進み、ループ２を実行するが、ノードＮがデータノードである場合には、ステップＳ７の処理Ｂとして図４に示すフローチャートの処理に進み、ループ３を実行する。
【００７２】
図３に示すフローチャートの処理では、まずノードＮ内のエントリ数ｅｎｔを計数するためのパラメータｉを０に設定し（ステップＳ５１）、ループ２に入る（ステップＳ５２）。このループ２では、まずパラメータｉを＋１インクリメントし（ステップＳ５３）、ノードＮに格納されているｉ番目のエントリＥを取り出し（ステップＳ５４）、このエントリＥと問合せ点との包囲矩形のＭＢＢ−ＭＢＳ距離Ｄ1 を計算する（ステップＳ５５）。
【００７３】
この計算した近似距離Ｄ1 がｋ近傍距離以下であるか否かを判定する（ステップＳ５６）。近似距離Ｄ1 がｋ近傍距離以下であれば、包囲矩形の空間変換ＲをΦに基づいて計算する。空間変換によって得られた矩形Ｒと原点Ｏとのユークリッド距離Ｄ2 を計算する（ステップＳ５７）。そして、空間変換によって求められた距離Ｄ2 が現在のｋ近傍距離以下であるか否かを判定する（ステップＳ５８）。距離Ｄ2 が現在のｋ近傍距離以下である場合には、厳密な楕円体距離Ｄ3 を計算により求める（ステップＳ５９）。
【００７４】
それから、この計算した厳密な楕円体距離Ｄ3 がｋ近傍距離以下であるか否かを判定する（ステップＳ６０）。距離Ｄ3 がｋ近傍距離以下である場合には、ノードＮのｉ番目のエントリに格納されている子ポインタと距離Ｄ3 をキューに格納する（ステップＳ６１）。上述したループ２の処理をノードに格納されているすべてのエントリについて行い、ループ２が終了すると（ステップＳ６３）、キューの先頭データを削除してデータを前詰めし、距離の昇順にキュー内のデータをソートし（ステップＳ６４）、図２のステップＳ８に戻る。以上の処理を更にループ１としてキューが空になるまで繰り返し行い、最近傍リストに格納されている候補オブジェクトを近傍オブジェクトとして出力する（ステップＳ９）。
【００７５】
一方、図２のステップＳ４の判定において、ノードＮがデータノードである場合には、ステップＳ７の処理Ｂとして図４に示すフローチャートの処理に進む。
【００７６】
図４に示すフローチャートの処理では、まずノードＮ内のエントリ数ｅｎｔを計数するためのパラメータｉを０に設定し（ステップＳ７１）、ループ３に入る（ステップＳ７２）。このループ３では、まずパラメータｉを＋１インクリメントし（ステップＳ７３）、ノードＮに格納されているｉ番目のエントリＥを取り出し（ステップＳ７４）、このエントリＥと問合せ点との包囲矩形のＭＢＢ−ＭＢＳ距離Ｄ1 を計算する（ステップＳ７５）。
【００７７】
そして、この計算した近似距離Ｄ1 がｋ近傍距離以下であるか否かを判定する（ステップＳ７６）。近似距離Ｄ1 がｋ近傍距離以下であれば、問合せ点とデータオブジェクトの厳密な楕円体距離Ｄ2 を計算する（ステップＳ７７）。この計算した厳密な楕円体距離Ｄ2 がｋ近傍距離以下であるか否かを判定する（ステップＳ７８）。距離Ｄ2 がｋ近傍距離以下である場合には、Ｅを候補オブジェクトとしてＥと前記距離Ｄ2 を最近傍リストに格納しソートする（ステップＳ７９）。上述したループ３の処理をノードに格納されているすべてのエントリ（全データオブジェクト）について行い、ループ３が終了すると（ステップＳ８０）、最近傍リストによるフィルタリング処理、すなわち最近傍リストに格納されている候補オブジェクトを用いてキューの中でアクセスする必要のないデータ、すなわちキューの先頭データの削除を行う（ステップＳ８２）。それから、図２のステップＳ８に戻る。以上の処理を更にループ１としてキューが空になるまで繰り返し行い、最近傍リストに格納されている候補オブジェクトを近傍オブジェクトとして出力する（ステップＳ９）。
【００７８】
次に、本発明の第４の実施形態について説明する。この実施形態では、問合せ行列において小さい固有値の次元を省略することによって探索処理の計算時間を短縮しようとするものである。詳しくは、問合せ行列によって形作られた楕円体が扁平になると、小さい固有値の固有ベクトルが存在することになる。すなわち、空間変換によって生成される空間において、その固有のベクトルが示す次元は、他の次元と同じだけの計算時間を要するにも関わらず、近似精度に寄与する度合いが低いことになる。ＳＴＴにおける次元縮退では、近似精度に貢献しないような小さい固有値の次元を省略することによって計算時間の短縮を図る。
【００７９】
空間変換によって作られる空間Ｓ′において、原点Ｏに最も近接する矩形Ｒの頂点をｒ＝（ｒ1 ，ｒ2 ，…，ｒd）とする。次元縮退を実施するとき、ＲとＯ の距離は以下のようになる。
【００８０】
【数１４】
0003949915.tif 000023
ここで、ηは次元縮退のためのしきい値である。また、固有値λi は昇順になっているものとする。すなわち、λ1≧λ2≧…≧λd＞０。関数ＣＯＵＮＴ（Γ） は、Γの条件を満たす要素の数を表している。式（１０）は、距離計算を行うときに１からｎまでの限られた次元しか使用しないことを示している（ｎ≦ｄ）。従って、次元縮退によって式（１０）の計算のみならず、式（６），（７），（９）の計算時間もｎ／ｄに短縮される。
【００８１】
次に、上述した本発明のＳＴＴの有効性を確認するために探索時間を調査した実験結果について図５を参照して説明する。この実験結果では、本発明との比較を行う比較対象として従来手法のＭＢＢ−ＭＢＳ近似法を用いている。
【００８２】
まず、実験条件について説明する。本発明の手法の性能を計測するための実データとして、画像から抽出したカラーヒストグラムによる特徴ベクトルを用いる。次元数は２７、サイズは１００，０００件である。探索性能の評価では、ページアクセス数とＣＰＵ時間を問合せ数１００の平均によって求めた。最近傍探索の探索数は２０であり、問合せには索引に含まれているデータとは異なるデータを用いている。ページサイズは８ＫＢ、ＣＰＵ時間はＳＵＮ ＵｌｔｒａＳＰＡ ＲＣ−II ４５０ＭＨｚによって計測した。索引は、高次元空間において優れた 性能を示すＡ−ｔｒｅｅを用いる。問合せ行列Ｍについて、Ｍの要素ｍij を下式を用いて求める。
【００８３】
【数１５】
ｍij＝ｅｘｐ（−α（ｄw（ｃi ，ｃj）／ｄmax)2）
ここで、αは正の定数であり、ｄw（ｃi ，ｃj）は色ｃi とｃj の間の重み付きユークリッド距離を表している。距離ｄw の要素ｗ＝（ｗr ，ｗg ，ｗb）は、 ＲＧＢ色空間における赤、緑、青の各成分の重みを示している。評価では、αを１０とし、ｗg とｗb は１に固定した。ｗr は１から１，０００まで変化させた。ＳＴＴの次元縮退に関して、η＝０．０１を選択した。
【００８４】
上述した実験条件で行った実験結果では、図５に示すように、縦軸にＣＰＵ時間を示し、横軸に重み（Weight）を示し、本発明のＳＴＴおよび次元縮退技術を用いた場合の本発明のＳＴＴ（ＤＲ）のＣＰＵ時間を従来のＭＢＢ−ＭＢＳ近似法と比較して示している。楕円体問合せは問合せ点と包囲矩形との距離の計算に多くの時間を必要とするが、図５からわかるように、本発明のＳＴＴがすべてのデータ集合においてＣＰＵ時間を低減させていることを示し、最大で７４％のＣＰＵ時間を削減している。
【００８５】
次に、本発明の第５の実施形態に係る空間変換に基づく楕円体問合せ方法について説明する。第５の実施形態は、上述したＳＴＴを拡張した手法であるＭＳＴＴ（Multiple Spatial Transformation Technique）を使用しているものである 。
【００８６】
上述したように、ユークリッド距離関数に基づいて作成された索引を使って楕円体探索を行う場合において、問合せ行列が単位行列に類似している場合、すなわち探索処理がユークリッド距離関数に基づく探索に近い場合は好ましい性能を示すものの、問合せ行列が単位行列からかけ離れるにしたがい、ノードのアクセス数が増加し、探索性能の劣化を招く。この問題を解決するため、ＭＳＴＴは様々な楕円体距離によって複数の索引を作成し、探索処理ではこれら作成した索引群の中から望ましい索引を選択して探索を行うものである。
【００８７】
ＭＳＴＴは２つ以上の索引を用いる。図７はＭＳＴＴの検索メカニズムを示している。メカニズムはまず初めに、代表的な楕円体問合せ行列Ｃi（ｉ＝１，… ，ε）を利用者の問合せログから決定する。そして、Ｃi に基づいて索引Ｘi を作成する。探索処理では、問合せ行列Ｍと最も類似した行列Ｃsimilar を選択し、Ｃsimilar によって作成された索引Ｘsimilar を用いて類似オブジェクトを検索する。もしＭ＝Ｃsimilar である場合、その問合せはユークリッド距離に基づく探索処理を求める。
【００８８】
本実施形態の楕円体問合せ方法は、固有値を計算することによって行列式が１になるように行列を正規化し、この正規化された行列から変換行列を計算し、この変換行列によって点データを変換し、この変換された点によって索引を作成し、任意の行列によって作成された複数の索引の中から索引の行列と問合せ行列との非類似度が最小である索引を選択し、この選択された索引を用いて問合せ処理を行うものである。
【００８９】
また、この楕円体問合せ方法を実施する装置は、固有値を計算することによって行列式が１になるように行列を正規化する正規化手段と、この正規化された行列から変換行列を計算する変換行列計算手段と、この変換行列によって点データを変換し、この変換された点によって索引を作成する索引作成手段と、任意の行列によって作成された複数の索引の中から索引の行列と問合せ行列との非類似度が最小である索引を選択する索引選択手段と、この選択された索引を用いて問合せ処理を行う問合せ手段とを有する。
【００９０】
次に、図８に示すフローチャートを参照して、本実施形態のＭＳＴＴにおける索引の作成方法について説明する。
【００９１】
図８に示すフローチャートでは、まずステップＳ１０１において、作成する索引の数をεとするとともに、次に示すステップＳ１０３からステップＳ１１７の間のループ１の処理を索引数εだけ繰り返し行うための繰り返し回数を管理するパラメータをｉとし、このパラメータｉを０に設定する。それから、ループ１に入り（ステップＳ１０３）、ここでまずパラメータｉを＋１インクリメントする（ステップＳ１０５）。
【００９２】
それから、このｉ番目の索引を作成するための行列をＣi（ｉ＝１，…，ε） とする（ステップＳ１０７）。そして、この行列Ｃi を正規化する（ステップＳ１０９）。この正規化は固有値を計算することによって行列式が１になるように行列を正規化する。
【００９３】
このように正規化した後、以下のようにスペクトル分解を行う。
【００９４】
【数１６】
0003949915.tif 000024
ここで、ＥCi はＣi の固有ベクトル、ΛCi は、ｄ個のＣi の固有値を対角成分とする対角行列である。そして、下式で示される変換行列Ａi を計算する（ステップＳ１１１）。
【００９５】
【数１７】
0003949915.tif 000025
次に、索引を作成するために、すべての点データ（特徴ベクトル）を変換行列Ａi を用いて変換する（ステップＳ１１３）。例えば、点ｐは変換行列Ａi によってｐ′＝ｐ・Ａi に変換される。それから、この変換された点データを用いて、索引Ｘi を作成する（ステップＳ１１５）。以上の処理をループ１として示すように、索引数εの数だけ繰り返し行う（ステップＳ１１７）。
【００９６】
次に、図９に示すフローチャートを参照して、ＭＳＴＴにおける探索方法、すなわち楕円体問合せ方法について説明する。
【００９７】
図９の処理では、まずステップＳ１２１において、作成する索引の数をεとするとともに、次に示すステップＳ１２３からステップＳ１３３の間のループ２の処理を索引数εだけ繰り返し行うための繰り返し回数を管理するパラメータをｉとし、このパラメータｉを０に設定し、またパラメータｍを∞に設定し、更に問合せ点をｑとし、問合せ行列をＭとし、この問合せ行列Ｍを正規化する。
【００９８】
それから、ループ２に入り（ステップＳ１２３）、ここでまずパラメータｉを＋１インクリメントする（ステップＳ１２５）。そして、索引Ｘi を用いて探索処理を行うために、変換行列Ａi を用いて、次式に示すように問合せ行列ＭをＭi′に変換する（ステップＳ１２７）。
【００９９】
【数１８】
0003949915.tif 000026
そして、Ｍi′の固有値の分散σi2 を計算する（ステップＳ１２９）。ＭＳＴＴでは、分散σi2 を、ＭとＸi の非類似度の尺度として使用する。２つ以上の 検索を作成したとき、探索処理はアクセスする索引を１つ選択しなければならない。そこで、問合せ行列ＭとＸi の非類似度の計算を索引数εだけ繰り返し、非類似度が最小となる索引Ｍn を探索処理に用いる索引として選択する（ステップＳ１３０−Ｓ１３３）。具体的には、まず前記分散σi2 が最初∞に設定された パラメータｍより大きいか否かを判定し（ステップＳ１３０）、そうである場合には、この場合のパラメータｉをｎに設定するとともに、またσi2 をパラメー タｍに設定する（ステップＳ１３１）という処理を索引数εだけ繰り返し行う。
【０１００】
このようにして探索処理に使用する索引が決定すると、変換行列Ａi を用いて、問合せ点ｑをｑ′＝ｑ・Ａn に変換する（ステップＳ１３５）。そして、行列Ｍn′を問合せ行列、問合せ点をｑ′として、索引Ｘn を用いて探索処理を実施 する（ステップＳ１３７）。
【０１０１】
点ｐと問合せ点ｑとの間の問合せ行列Ｍによる距離は以下のように展開できる。
【０１０２】
【数１９】
0003949915.tif 000027
従って、Ｍi′を問合せ行列、問合せ点をｑ′とする問合せをＸi を用いて実 施することは、Ｍの楕円体問合せと等価である。つまり、Ｍi′を問合せ行列、 問合せ点をｑ′とすることにより、Ｘi を用いてＭの楕円体問合せを処理することができる。もしＭ＝Ｃi のとき、Ｍi′は単位行列となるため、Ｘi はＭの問 合せを効率的に支援することができる。このとき、その問合せ処理はユークリッド距離関数に基づく探索を意味する。ＭＳＴＴによる類似探索において、Ｍに関するＸi の効率性はσi2 が減少するにしたがって向上する。従って、問合せ行 列が与えられた時、非類似度が最小となる索引を選択する。このことによって、探索コストを低減化することができる。
【０１０３】
次に、問合せ行列Ｍと索引の行列Ｃの非類似度を計算するために、２つの行列をｄｅｔ（Ｃ）＝ｄｅｔ（Ｍ）＝１のように正規化する必要がある。Ｍの正規化行列Ｎは以下の式によって得られる。
【０１０４】
【数２０】
0003949915.tif 000028
ここで、ΛN はＮの固有値λNi（ｉ＝１，…，ｄ）を対角成分とする対角行列であり、λMi はＭの固有値である。Ｃについても同様に正規化することができる 。
【０１０５】
上述した本発明のＭＳＴＴの有効性を確認するために、ＣＰＵ時間とページアクセス数を調査した実験結果について図１０を参照して説明する。探索手法として空間変換法（ＳＴＴ）を用いる。評価ではｗr の値を変化させて３０の問合せ行列を作成した。
【０１０６】
ｗr＝１０random
ここでｒａｎｄｏｍはランダムに発生させた０から３までの数である。αを１０とし、ｗg とｗb は１に固定した。索引として以下の３種類を用いた。
【０１０７】
（１）単位行列から作成した索引
（２）ｗr＝１０の行列から作成した索引
（３）ｗr＝１０００の行列から作成した索引
図１０は、ＭＳＴＴの性能を示し、図１０（ａ）は重み（weight）に対するＣＰＵ時間を示し、図１０（ｂ）は重みに対するページアクセス数を示している。各々３０種類の問合せは、１００個の問合せ点による計測値の平均である。図は以下の探索性能を示している。
【０１０８】
（１）Ｄｉｓｓｉｍｉｌａｒｉｔｙ：非類似度の関数によって選択された索引を用いた探索処理の性能
（２）Ｕｎｉｔ：単位行列から作成された索引を用いた探索処理の性能
（３）Ｂｅｓｔ：各問合せ行列に関して最適な索引を用いた探索処理の性能
単位行列から作成した索引しか使わない従来手法はＵｎｉｔに示されている計測値であり、ＭＳＴＴはＤｉｓｓｉｍｉｌａｒｉｔｙによって示されている計測値である。従来手法が高い探索コストを示しているのに対し、本発明の方法であるＭＳＴＴは非類似度関数を用いて望ましい索引を選択し、探索コスト、すなわちＣＰＵ時間とページアクセス数の低減化に成功している。
【０１０９】
なお、上記実施形態の空間変換に基づく楕円体問合せ方法の処理手順をプログラムとして例えばＣＤやＦＤなどの記録媒体に記録して、この記録媒体をコンピュータシステムに組み込んだり、または記録媒体に記録されたプログラムを通信回線を介してコンピュータシステムにダウンロードしたり、または記録媒体からインストールし、該プログラムでコンピュータシステムを作動させることにより、楕円体問合せ方法を実施する楕円体問合せ装置として機能させることができることは勿論であり、このような記録媒体を用いることにより、その流通性を高めることができるものである。
【０１１０】
【発明の効果】
以上説明したように、本発明によれば、元の空間における問合せ点と楕円体上の任意の点との間の楕円体距離を問合せ行列を用いて示す楕円体距離関数を、ユークリッド空間における原点からのユークリッド距離関数に変換する第１の変換行列を導出し、元の空間における索引構造に含まれる包囲矩形を、この第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換し、この平行四辺形を包含する矩形で近似し、近似された矩形と原点との間のユークリッド距離を計算して、計算結果を元の空間における楕円体距離の計算結果に置き換えるので、利用者適応の楕円体問合せのための類似探索において少ない時間でオブジェクトを検出することが可能となり、低いＣＰＵコストにも関わらず、優れた近似精度を示し、高い探索性能を実現することができる。本発明は多次元空間データとして表現することができる画像、映像、音声、文書などを対象とする広範囲な情報検索に適用可能である。
【０１１１】
また、本発明によれば、第１の変換行列は要素ａｉｊで構成されるものであって、第２のステップは、第１の変換行列から次式を満たすφｉｊ及びψｉｊの２種類の成分を抽出し、φｉｊ≠０及びψｉｊ≠０となる成分を用いてユークリッド空間における平行四辺形に空間変換するので、計算時間を短縮することができる。
【数２１】
0003949915.tif 000029
【０１１２】
更に、本発明によれば、索引構造はＲ−ｔｒｅｅの索引構造であって、第２のステップは、元の空間における問合せ点と索引構造に含まれる包囲矩形との間の近似距離を近似関数で計算し、計算された近似距離が、問合せ点とｋ近傍問合せに基づくｋ番目の最近傍との間の距離以下である場合に、元の空間における索引構造に含まれる包囲矩形を、第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換するので、距離計算を全体として短縮することができる。
【０１１３】
本発明によれば、第２のステップは、問合せ行列における固有値の次元が、しきい値よりも小さい場合に、小さい次元の固有値を省略して、元の空間における索引構造に含まれる包囲矩形を、第１の変換行列を用いてユークリッド空間における平行四辺形に空間変換するため、探索処理の計算時間を短縮することができる。
【０１１４】
また、本発明によれば、複数の楕円体に対して複数の索引を事前に作成し、作成された索引の中から望ましい索引を選択して問合せ処理を行う空間変換に基づく楕円体問合せ方法であって、第２のステップは、複数の楕円体のうち、任意の楕円体に対する索引構造を作成するための行列において、行列の固有値を計算することによって行列式が１となるように行列を正規化し、正規化された行列をユークリッド空間における行列に変換する第２の変換行列を導出し、第２の変換行列を用いて元の空間における全ての点をユークリッド空間における点に変換して、変換された点を用いて任意の楕円体に対する索引構造を複数の楕円体ごとに作成し、作成した複数の索引構造の中から問合せ行列と非類似度を最小とする索引構造を選択し、選択した索引構造に含まれる包囲矩形を、元の空間における索引構造とするので、行列の正規化により索引の行列と問合せ行列との非類似度を正確に計算でき、これにより問合せ行列に適した索引を選択できるとともに、また各問合せに適した索引を選択することにより計算時間とハードディスクのページアクセス数を削減することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を説明するための矩形の空間変換方法を説明するための図である。
【図２】本発明の第２の実施形態における楕円体問合せのための探索アルゴリズムを示すフローチャートである。
【図３】図２に示すフローチャートにおけるステップＳ５の処理Ａの手順を示すフローチャートである。
【図４】図２に示すフローチャートにおけるステップＳ７の処理Ｂの手順を示すフローチャートである。
【図５】本発明のＳＴＴの有効性を確認するために探索時間を調査した実験結果を示すグラフである。
【図６】距離関数の等距離面を示した図である。
【図７】本発明の第５の実施形態に使用されるＭＳＴＴの検索メカニズムを示す図である。
【図８】第５の実施形態のＭＳＴＴにおける索引の作成方法を示すフローチャートである。
【図９】第５の実施形態のＭＳＴＴにおける探索方法を示すフローチャートである。
【図１０】第５の実施形態のＭＳＴＴの有効性を確認するためのＣＰＵ時間とページアクセス数を調査した実験データを示すグラフである。
【図１】
0003949915.tif 000034
【図２】
0003949915.tif 000035
【図３】
0003949915.tif 000036
【図４】
0003949915.tif 000037
【図５】
0003949915.tif 000038
【図６】
0003949915.tif 000039
【図７】
0003949915.tif 000040
【図８】
0003949915.tif 000041
【図９】
0003949915.tif 000042
【図１０】
0003949915.tif 000043