特許第5754676号(P5754676)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧 ▶ 大学共同利用機関法人情報・システム研究機構の特許一覧

特許5754676検索木描画装置、検索木描画方法およびプログラム
<>
  • 特許5754676-検索木描画装置、検索木描画方法およびプログラム 図000002
  • 特許5754676-検索木描画装置、検索木描画方法およびプログラム 図000003
  • 特許5754676-検索木描画装置、検索木描画方法およびプログラム 図000004
  • 特許5754676-検索木描画装置、検索木描画方法およびプログラム 図000005
  • 特許5754676-検索木描画装置、検索木描画方法およびプログラム 図000006
  • 特許5754676-検索木描画装置、検索木描画方法およびプログラム 図000007
  • 特許5754676-検索木描画装置、検索木描画方法およびプログラム 図000008
  • 特許5754676-検索木描画装置、検索木描画方法およびプログラム 図000009
  • 特許5754676-検索木描画装置、検索木描画方法およびプログラム 図000010
  • 特許5754676-検索木描画装置、検索木描画方法およびプログラム 図000011
  • 特許5754676-検索木描画装置、検索木描画方法およびプログラム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5754676
(24)【登録日】2015年6月5日
(45)【発行日】2015年7月29日
(54)【発明の名称】検索木描画装置、検索木描画方法およびプログラム
(51)【国際特許分類】
   G06F 17/30 20060101AFI20150709BHJP
【FI】
   G06F17/30 360Z
   G06F17/30 419A
【請求項の数】6
【全頁数】17
(21)【出願番号】特願2012-183775(P2012-183775)
(22)【出願日】2012年8月23日
(65)【公開番号】特開2014-41504(P2014-41504A)
(43)【公開日】2014年3月6日
【審査請求日】2014年7月11日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504202472
【氏名又は名称】大学共同利用機関法人情報・システム研究機構
(74)【代理人】
【識別番号】100119677
【弁理士】
【氏名又は名称】岡田 賢治
(74)【代理人】
【識別番号】100115794
【弁理士】
【氏名又は名称】今下 勝博
(72)【発明者】
【氏名】森 皓平
(72)【発明者】
【氏名】中村 隆幸
(72)【発明者】
【氏名】荒川 豊
(72)【発明者】
【氏名】計 宇生
(72)【発明者】
【氏名】ウルリッヒ アルビノ マイス
【審査官】 山本 俊介
(56)【参考文献】
【文献】 特開平04−011286(JP,A)
【文献】 国際公開第2011/074033(WO,A1)
【文献】 特開2009−187113(JP,A)
【文献】 特開2004−005649(JP,A)
【文献】 特開2012−123578(JP,A)
【文献】 米国特許第06297824(US,B1)
【文献】 特開2002−259446(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
属性名と属性値の組を1つ以上含むデータの集合を木構造で保持するデータ蓄積手段と、
前記木構造の各ノードを錐体により描画する錐体描画手段と、
該錐体の側面に情報を描画する側面情報描画手段と、
前記木構造のノードのうちの子ノードを表す錐体を、当該子ノードを表す錐体の頂点が前記木構造のノードのうちの親ノードを表す錐体の底面の外周上に接し、当該子ノードを表す錐体の底面の外周が隣接する他の子ノードと接しない位置に配置する錐体配置手段と、
該錐体描画手段と該側面情報描画手段と該錐体配置手段とを各ノードについて再帰的に実行する検索木描画手段と、
を有し、
前記側面情報描画手段は、
各ノードを表す錐体の側面に対して、少なくとも該検索木が含むデータ集合に含まれる属性種類数の領域に分割し、分割した各領域に各属性種類の属性を1対1の関係で関連付け、各ノードを表す錐体の側面が含む該領域に関連付けられた属性に関する情報を描画し、
各ノードを表す錐体の側面が含む該領域に描画する該領域に関連付けられた属性に関する情報として、該ノードが下位に含むデータ集合に含まれる該領域に関連付けた属性値の最大値から最小値の範囲を該検索木が含む全データ集合に含まれる該領域に関連付けた属性値の最大値と最小値の範囲で正規化した情報を描画する
ことを特徴とする検索木描画装置。
【請求項2】
前記錐体の回転角度を算出する回転角度算出手段をさらに有し、
前記側面情報描画手段は、各錐体の側面上に描画した情報を、各錐体の頂点から各底面に垂直に下ろした垂線を中心に該回転角度だけ一斉に回転させた状態で再描画する
ことを特徴とする請求項に記載の検索木描画装置。
【請求項3】
該木構造がUBI−Treeである
ことを特徴とする請求項1又は2に記載の検索木描画装置。
【請求項4】
属性名と属性値の組を1つ以上含むデータの集合を木構造で保持するデータ蓄積手段と、錐体描画手段と、側面情報描画手段と、錐体配置手段と、を有する検索木描画装置が実行する検索木描画方法であって、
前記錐体描画手段が、前記データ蓄積手段に蓄積されている前記木構造の各ノードを錐体により描画する錐体描画手順と、
前記側面情報描画手段が、該錐体の側面に情報を描画する側面情報描画手順と、
前記錐体配置手段が、前記木構造のノードのうちの子ノードを表す錐体を、当該子ノードを表す錐体の頂点が前記木構造のノードのうちの親ノードを表す錐体の底面の外周上に接し、当該子ノードを表す錐体の底面の外周が隣接する他の子ノードと接しない位置に配置する錐体配置手順と、
を有し、
前記側面情報描画手順では、前記側面情報描画手段が、
各ノードを表す錐体の側面に対して、少なくとも該検索木が含むデータ集合に含まれる属性種類数の領域に分割し、分割した各領域に各属性種類の属性を1対1の関係で関連付け、各ノードを表す錐体の側面が含む該領域に関連付けられた属性に関する情報を描画し、
各ノードを表す錐体の側面が含む該領域に描画する該領域に関連付けられた属性に関する情報として、該ノードが下位に含むデータ集合に含まれる該領域に関連付けた属性値の最大値から最小値の範囲を該検索木が含む全データ集合に含まれる該領域に関連付けた属性値の最大値と最小値の範囲で正規化した情報を描画する
ことを特徴とする検索木描画方法。
【請求項5】
前記検索木描画装置は、回転角度算出手段をさらに有し、
前記回転角度算出手段が、前記錐体の回転角度を算出し、前記側面情報描画手段が、各錐体の側面上に描画した情報を、各錐体の頂点から各底面に垂直に下ろした垂線を中心に該回転角度だけ一斉に回転させた状態で再描画する回転処理手順を、
さらに有することを特徴とする請求項に記載の検索木描画方法。
【請求項6】
錐体描画手段が、属性名と属性値の組を1つ以上含むデータの集合を木構造で保持するデータ蓄積手段に蓄積されている前記木構造の各ノードを錐体により描画する錐体描画手順と、
側面情報描画手段が、該錐体の側面に情報を描画する側面情報描画手順と、
錐体配置手段が、前記木構造のノードのうちの子ノードを表す錐体を、当該子ノードを表す錐体の頂点が前記木構造のノードのうちの親ノードを表す錐体の底面の外周上に接し、当該子ノードを表す錐体の底面の外周が隣接する他の子ノードと接しない位置に配置する錐体配置手順と、
をコンピュータに実行させるための検索木描画プログラムであって、
前記側面情報描画手順では、前記側面情報描画手段が、
各ノードを表す錐体の側面に対して、少なくとも該検索木が含むデータ集合に含まれる属性種類数の領域に分割し、分割した各領域に各属性種類の属性を1対1の関係で関連付け、各ノードを表す錐体の側面が含む該領域に関連付けられた属性に関する情報を描画し、
各ノードを表す錐体の側面が含む該領域に描画する該領域に関連付けられた属性に関する情報として、該ノードが下位に含むデータ集合に含まれる該領域に関連付けた属性値の最大値から最小値の範囲を該検索木が含む全データ集合に含まれる該領域に関連付けた属性値の最大値と最小値の範囲で正規化した情報を描画する
ことを特徴とする検索木描画プログラム
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索木の木構造を描画する方法に関する。
【背景技術】
【0002】
データベースやファイルシステムにおいては、蓄積されたデータ集合の中から所望のデータを高速に検索するために、B−TreeやR−Treeなどの検索木を用いてデータを管理する。B−Treeは1種類の属性の属性値集合の索引となる検索木であり、R−Treeは多種類の属性の属性値集合の索引となる検索木である。B−TreeにはB+−Treeなど、R−TreeにはRD−Treeなどの改良技術も存在する。
【0003】
R−Treeでは、全てのデータが同じ種類の属性を持つ多属性データ集合を対象に管理するが、異なる種類、異なる数の属性をもつ異種異数多属性データ集合を対象に管理するUBI−Treeという検索木も近年考案されている(特許文献1および特許文献2)。UBI−Treeは特徴として、uTuple形式という、「キー=値」の並びにより属性名と属性値とを自由に表現した形式のデータを管理する。このとき「キー=値」は「属性名=属性値」と同義となる。例えば、「センサID=1、時間=3、温度=20」のように表現することで、センサIDと時間と温度という3つの属性名とこれに対応する属性値を表現する。
【0004】
一般に検索木は、管理するデータ集合について、各ノードが下位に含むデータ集合に含まれる属性名と属性値範囲を管理するという特徴を持つ。B−Treeのように属性が1種類の場合には、通常属性名が省略され、各ノードが下位に含むデータ集合に含まれる属性値範囲のみを管理する。
【0005】
一方、検索木の木構造を可視化する検索木可視化方法として、検索木のノードを表す図形を円錐上に配置して3次元的に表示し、ノードを表す図形間をエッジと呼ばれる直線で繋ぐことでノード間の関連性を表すCone Tree(非特許文献1)や、検索木の各ノードやデータを表す図形を四角形で表し、各ノードやデータに対応する四角形を親ノードに対応する四角形の内側に配置することによって検索木の木構造を2次元平面上に表すデータ宝石箱(非特許文献2)などがある。
【0006】
また前記データ宝石箱は、検索木が管理するデータまたはノードを表す図形に対し、該図形が存在する2次元平面とは直行する方向に、該データが含む1つの属性の属性値または該ノードが下位に含むデータ集合に含まれる1つの属性の属性値集約値、すなわち属性値の最大値や平均値などの統計値の大きさに応じた長さを持たせた直方体または錐体を表す機能を有し、該機能を併用して可視化することで検索木の木構造に加えて1つの属性の属性値や属性値集約値を一覧することが可能である。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2011−170460号公報
【特許文献2】特開2011−170461号公報
【非特許文献】
【0008】
【非特許文献1】George G.Robertson, Jock D.Mackinlay, Stuart K.Card, “Cone Trees: Animated 3D Visualizations of Hierarchical Information,” Proceedings of ACM Conference on Human Factors in Computing Systems (CHI’91), ACM Press, 1991,pp.189−194.
【非特許文献2】伊藤貴之、梶永泰正、池端裕子、“データ宝石箱:大規模階層型データのグラフィックスショーケース、”情報処理学会グラフィクス&CAD 研究会、2001−CG−104、pp.65−70、2001。
【発明の概要】
【発明が解決しようとする課題】
【0009】
検索木の研究開発や検索木の理解・学習、あるいはデータベース管理者が行う検索木の状態確認やデータ集合の管理状況確認においては、検索木の木構造に加えて各ノードが下位に含むデータ集合に含まれる属性についてその属性値範囲を俯瞰出来ると良い。特に、前記UBI−Treeのように異種異数多属性データ集合を管理する場合においては、各ノードが下位に含むデータ集合に含まれる属性種類数がノードごとに異なることから、検索木の木構造に加えて各ノードが下位に含むデータ集合に含まれるのはどの属性で、それぞれどのような属性値範囲を保有するかを俯瞰できるよう可視化することが重要である。
【0010】
しかしながら、従来の可視化方法では1度に描画することが出来る情報の種類が限定されてしまう方法か、情報を描画することが出来る領域が小さく制限される方法しかなく、上記の要求を満たした可視化は出来なかった。例えば従来の可視化方法では、Cone Treeやデータ宝石箱という可視化方法があるが、可視化方法にCone Treeを用いた場合、検索木の木構造は明確に描画することが出来るが、各ノードが下位に含むデータ集合に含まれる属性についてその属性値範囲を俯瞰出来るように可視化することは困難だという問題がある。
【0011】
ノード間の関連性を表すエッジの色、太さ、形状といった要素を変更することで各ノードが下位に含むデータ集合に含まれる属性についてその属性値範囲を描画する方法が考えられるが、各要素につき1種類の属性の属性値範囲しか描画することは出来ない。
【0012】
またノードを表す図形を大きく描画することで当該図形上に各ノードが下位に含むデータ集合に含まれる属性についてその属性値範囲を描画する方法も考えられるが、ノードを表す図形以外にもエッジを表す図形を描画する必要があり、その分だけノードを表す図形の大きさが制限されることから多くの属性についてその属性値範囲を描画することは困難であった。
【0013】
また、可視化方法にデータ宝石箱を用いても、2次元的に可視化した検索木の木構造に加えて、データまたはノードを表す図形が存在する2次元平面とは直交する方向に長さを持たせた直方体または錐体に該データが含む1つの属性の属性値または該ノードが下位に含むデータ集合に含まれる1つの属性の属性値集約値を描画することしか出来ず、各ノードが下位に含むデータ集合に含まれる複数の属性の属性値範囲を同時に、可視化することは出来ないという問題があった。本発明はこうした問題を解決する。
【課題を解決するための手段】
【0014】
上記目的を達成するために、本願発明の検索木描画装置、検索木描画方法およびプログラムは、ノードを表す図形を錐体で表し、子ノードを表す錐体の頂点が親ノードを表す錐体の底面の外周上に接し隣接する他の子ノードと接しないよう各ノードを表す錐体を配置することで、3次元的に検索木の木構造を描画し、さらに錐体の側面に情報を描画する。
【0015】
具体的には、本発明に係る検索木描画装置は、属性名と属性値の組を1つ以上含むデータの集合を木構造で保持するデータ蓄積手段と、前記木構造の各ノードを錐体により描画する錐体描画手段と、該錐体の側面に情報を描画する側面情報描画手段と、前記木構造のノードのうちの子ノードを表す錐体を、当該子ノードを表す錐体の頂点が前記木構造のノードのうちの親ノードを表す錐体の底面の外周上に接し、当該子ノードを表す錐体の底面の外周が隣接する他の子ノードと接しない位置に配置する錐体配置手段と、該錐体描画手段と該側面情報描画手段と該錐体配置手段とを各ノードについて再帰的に実行する検索木描画手段と、を有し、前記側面情報描画手段は、各ノードを表す錐体の側面に対して、少なくとも該検索木が含むデータ集合に含まれる属性種類数の領域に分割し、分割した各領域に各属性種類の属性を1対1の関係で関連付け、各ノードを表す錐体の側面が含む該領域に関連付けられた属性に関する情報を描画し、各ノードを表す錐体の側面が含む該領域に描画する該領域に関連付けられた属性に関する情報として、該ノードが下位に含むデータ集合に含まれる該領域に関連付けた属性値の最大値から最小値の範囲を該検索木が含む全データ集合に含まれる該領域に関連付けた属性値の最大値と最小値の範囲で正規化した情報を描画することを特徴とする。
【0016】
本発明に係る検索木描画装置では、ノードを表す錐体の側面を検索木が含むデータ集合に含まれる属性種類数以上の数の領域に分割し、分割した各領域に各属性を1対1の関係で関連付け、各領域に関連付けられた属性に関する情報を描画することにより、各ノードが下位に含むデータ集合に含まれる1つ以上の属性に関する情報を各ノードについて俯瞰することが可能となる。
【0017】
また、ノードを表す錐体の側面の各領域に各ノードが下位に含むデータ集合に含まれる該領域に関連付けた属性値の最大値から最小値の範囲を該検索木が含む全データ集合に含まれる該領域に関連付けた属性値の最大値と最小値の範囲で正規化した情報を描画することで、各ノードが下位に含むデータ集合に含まれる1つ以上の属性についてその属性値範囲をノード間で俯瞰出来るように可視化することが可能となる。
【0018】
本発明に係る検索木描画装置では、前記錐体の回転角度を算出する回転角度算出手段をさらに有し、前記側面情報描画手段は、各錐体の側面上に描画した情報を、各錐体の頂点から各底面に垂直に下ろした垂線を中心に該回転角度だけ一斉に回転させた状態で再描画してもよい。
各錐体の側面に描画する情報を各錐体の頂点から各底面に垂直に下ろした垂線を中心に、一斉に回転させた状態を再描画することで、各錐体の側面に描画する全ての情報について容易に把握し、ノード間で該情報を比較することが出来る。
【0019】
本発明に係る検索木描画装置では、該木構造がUBI−Treeであってもよい。
【0020】
具体的には、本発明に係る検索木描画方法は、属性名と属性値の組を1つ以上含むデータの集合を木構造で保持するデータ蓄積手段と、錐体描画手段と、側面情報描画手段と、錐体配置手段と、を有する検索木描画装置が実行する検索木描画方法であって、前記錐体描画手段が、前記データ蓄積手段に蓄積されている前記木構造の各ノードを錐体により描画する錐体描画手順と、前記側面情報描画手段が、該錐体の側面に情報を描画する側面情報描画手順と、前記錐体配置手段が、前記木構造のノードのうちの子ノードを表す錐体を、当該子ノードを表す錐体の頂点が前記木構造のノードのうちの親ノードを表す錐体の底面の外周上に接し、当該子ノードを表す錐体の底面の外周が隣接する他の子ノードと接しない位置に配置する錐体配置手順と、を有し、前記側面情報描画手順では、前記側面情報描画手段が、各ノードを表す錐体の側面に対して、少なくとも該検索木が含むデータ集合に含まれる属性種類数の領域に分割し、分割した各領域に各属性種類の属性を1対1の関係で関連付け、各ノードを表す錐体の側面が含む該領域に関連付けられた属性に関する情報を描画し、各ノードを表す錐体の側面が含む該領域に描画する該領域に関連付けられた属性に関する情報として、該ノードが下位に含むデータ集合に含まれる該領域に関連付けた属性値の最大値から最小値の範囲を該検索木が含む全データ集合に含まれる該領域に関連付けた属性値の最大値と最小値の範囲で正規化した情報を描画することを特徴とする
【0021】
本発明に係る検索木描画方法では、前記検索木描画装置は、回転角度算出手段をさらに有し、前記回転角度算出手段が、前記錐体の回転角度を算出し、前記側面情報描画手段が、各錐体の側面上に描画した情報を、各錐体の頂点から各底面に垂直に下ろした垂線を中心に該回転角度だけ一斉に回転させた状態で再描画する回転処理手順を、
さらに有していてもよい。
【0022】
具体的には、本発明に係る検索木描画プログラムは、錐体描画手段が、属性名と属性値の組を1つ以上含むデータの集合を木構造で保持するデータ蓄積手段に蓄積されている前記木構造の各ノードを錐体により描画する錐体描画手順と、側面情報描画手段が、該錐体の側面に情報を描画する側面情報描画手順と、錐体配置手段が、前記木構造のノードのうちの子ノードを表す錐体を、当該子ノードを表す錐体の頂点が前記木構造のノードのうちの親ノードを表す錐体の底面の外周上に接し、当該子ノードを表す錐体の底面の外周が隣接する他の子ノードと接しない位置に配置する錐体配置手順と、をコンピュータに実行させるための検索木描画プログラムであって、前記側面情報描画手順では、前記側面情報描画手段が、各ノードを表す錐体の側面に対して、少なくとも該検索木が含むデータ集合に含まれる属性種類数の領域に分割し、分割した各領域に各属性種類の属性を1対1の関係で関連付け、各ノードを表す錐体の側面が含む該領域に関連付けられた属性に関する情報を描画し、各ノードを表す錐体の側面が含む該領域に描画する該領域に関連付けられた属性に関する情報として、該ノードが下位に含むデータ集合に含まれる該領域に関連付けた属性値の最大値から最小値の範囲を該検索木が含む全データ集合に含まれる該領域に関連付けた属性値の最大値と最小値の範囲で正規化した情報を描画することを特徴とする検索木描画プログラムである。
【0023】
なお、上記各発明は、可能な限り組み合わせることができる。
【発明の効果】
【0024】
本発明によれば、ノードを表す図形を錐体で表し、子ノードを表す錐体の頂点が親ノードを表す錐体の底面の外周上に接し隣接する他の子ノードと接しないよう各ノードを表す錐体を配置することで、3次元的に検索木の木構造を描画し、さらに錐体の側面に情報を描画する。これにより、エッジを用いないことでノードを表す錐体を大きく描画することが可能となり、錐体の側面に多くの情報を描画することが可能となる。またこのとき、ノードを表す図形として錐体を用い、さらに前記配置方法を行うことで、エッジを用いずともノード間の関連性は表現可能である。
【図面の簡単な説明】
【0025】
図1】本実施の形態における装置構成を示す。
図2】本実施の形態におけるデータ蓄積部(101)が保持するデータ集合(120)を管理する木構造を示す。
図3】本実施の形態におけるデータ蓄積部(101)が保持するデータ集合(120)の内容を示す。
図4】本実施の形態におけるデータ蓄積部(101)が保持するデータを管理する木構造が保持するポインタ表と属性値範囲表を示す。
図5】本実施の形態における検索木描画部(114)が実施する検索木描画処理(ステップ300)のフローチャートを示す。
図6】本実施の形態における錐体描画部(110)が錐体描画処理(ステップ301)により描画対象ノードを表す錐体を円錐にて描画した錐体描画イメージ(400)を示す。
図7】本実施の形態における側面情報描画部(111)が側面情報描画処理(ステップ302)により描画対象ノードを表す円錐の側面を複数の領域に分割した側面情報描画イメージ(401)を示す。
図8】本実施の形態における側面情報描画部(111)が側面情報描画処理(ステップ302)により、さらに描画対象ノードとしてnRT(200)を表す円錐の側面の各領域に情報を描画した側面情報描画イメージ(402)を示す。
図9】本実施の形態における側面情報描画部(111)が側面情報描画処理(ステップ302)により、さらに描画対象ノードとしてn1(201)を表す円錐の側面の各領域に情報を描画した側面情報描画イメージ(403)を示す。
図10】本実施の形態における錐体配置部(112)が錐体配置処理(ステップ303)により描画対象ノードの子ノードを表す円錐の頂点を算出した際の、算出した座標を側面情報描画イメージ(404)上に示したものである。
図11】本実施の形態において、描画処理を再帰的に実施する検索木描画処理により描画される検索木描画イメージ(405)を示す。
【発明を実施するための形態】
【0026】
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施の例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【0027】
(検索木描画装置の装置構成)
第1図は本実施の形態における装置構成を示す。
検索木描画装置(100)は、データ蓄積部(101)を具備する。データ蓄積部(101)は、木構造によりデータ集合(120)を保持する。さらに、検索木描画装置(100)は、検索木描画部(114)と錐体描画部(110)と側面情報描画部(111)と錐体配置部(112)とを具備する。さらに、検索木描画装置(100)は、回転角度算出部(113)を具備する。
【0028】
第2図は本実施の形態におけるデータ蓄積部(101)が保持するデータ集合(120)を管理する木構造を示す。
本実施形態においてデータ蓄積部(101)が保持するデータ集合(120)を管理する木構造はUBI−Treeとする。ただし、本実施形態はUBI−Treeとするが、本発明はそれに限らず、木構造をもつ検索木であればよく、例えば前記B−Treeや前記R−Treeでもよい。
【0029】
データ蓄積部(101)が保持するデータ集合(120)を管理する木構造は、nRT(200)、n1(201)、n2(202)の3つのノードから構成され、第3図で示す4つのデータを保持している。さらに、各ノードは第4図で示すポインタ表と属性値範囲表を保持している。またデータ蓄積部(101)は木構造情報表(210)を保持し、木構造情報表(210)は子ノード数最大値(211)とnRTの高さ(212)とnRTへのポインタ(213)と回転角度Rを保持する。
【0030】
本実施形態では、検索木は子ノード数最大値(211)が4、木の高さ、すなわちnRTの高さ(212)が2、また回転角度Rが90であるが、本発明はこれに限らずそれぞれより大きい値でも小さい値でもよい。またnRTへのポインタ(213)の値はbfffdc18であるが、実行のタイミングや実行環境により当然変化し得る。
【0031】
第3図は本実施の形態におけるデータ蓄積部(101)が保持するデータ集合(120)の内容を示す。
データ集合(120)はデータ(ア)〜(エ)を含む。本発明におけるデータとは、「キー=値」の任意個の並びから構成されるデータ形式によって記述することとする。このとき「キー=値」は「属性名=属性値」と同義となる。例えば、データ(ア)は「x=0、y=5」のように表現することで、xとyという2つの属性とこれに対応する属性値を表現する。
【0032】
本発明のいうデータについて具体的に例を挙げると、属性には、温度や湿度、電流あるいは電圧、流体の流量、物質の濃度、明度、騒音、位置、加速度などが挙げられる。属性値は各属性に対応する値となる。またこれに限らず、値を持ち「属性名=属性値」の形式で表現することが出来れば、どのようなデータでも良い。例えばWebやインターネットを経由して取得したデータであっても良い。また本実施形態ではデータの数が4つであるが、より多くのデータを同様に扱うことも可能である。
【0033】
第4図は本実施の形態におけるデータ蓄積部(101)が保持するデータを管理する木構造が保持するポインタ表と属性値範囲表を示す。
本実施形態ではnRT(200)はポインタ表(220)と属性値範囲表(230)を保持する。このとき、nRTのポインタ表(220)はn1(201)とn2(202)へのポインタ、属性値範囲表(230)はn1(201)とn2(202)が保持する属性値範囲表を統合した属性名と属性値範囲を保持する。つまり、nRT(200)の保持する属性値範囲表(230)は、n1(201)の保持する属性値範囲表(231)が「x=0〜5、y=5〜10」、n2(202)の保持する属性値範囲表(232)が「x=5〜10、y=0〜5」であるとき、「x=0〜10、y=0〜10」となる。
【0034】
またn1(201)はポインタ表(221)と属性値範囲表(231)を保持する。このときn1(201)のポインタ表(221)はデータ(ア)とデータ(イ)へのポインタ、属性値範囲表(231)はデータ(ア)とデータ(イ)が保持する属性名と、その属性値の範囲を保持する。つまり、n1(201)の保持する属性値範囲表(231)は、n1(201)の保持するデータ(ア)が「x=0、y=5」、データ(イ)が「x=5、y=10」であるとき、「x=0〜5、y=5〜10」となる。
【0035】
同様に、n2(202)はポインタ表(222)と属性値範囲表(232)を保持する。このときn2(202)のポインタ表(222)はデータ(ウ)とデータ(エ)へのポインタ、属性値範囲表(232)はデータ(ウ)とデータ(エ)が保持する属性名と属性値の範囲を保持する。
【0036】
(検索木描画装置における全体フローチャート)
第5図は本実施の形態における検索木描画部(114)が実施する検索木描画処理(ステップ300)のフローチャートを示す。本実施形態に係る検索木描画方法は、初期化処理(ステップ501)と、描画処理(ステップ502)と、を順に有する。
まず初期化処理(ステップ501)として、データ蓄積部(101)の木構造情報表(210)からnRTの高さ(212)とnRTへのポインタ(213)を取得し、nRTの高さ(212)を描画対象ノードの高さ、nRTへのポインタ(213)を描画対象ノードへのポインタ、空間座標(X、Y、Z)上の点(0、0、100)を描画対象ノードの頂点座標とする。また、変数kにnRT(200)の属性値範囲表(230)の行数、すなわち2を代入し、変数nRTpにnRTへのポインタを代入する。なお、kは該木構造に含まれる属性種類数に等しい。また、本実施形態では点(0、0、100)を初期化処理時の描画対象ノードの頂点座標としたが、本発明はこれに限らず、頂点座標は任意の座標としても良い。
【0037】
次に、初期化を行った描画対象ノードへのポインタ、描画対象ノードの頂点座標、描画対象ノードの高さ、k、nRTpを引数として描画処理を実行する(ステップ502)。
描画処理においては、
まず、錐体描画部(110)に該引数を渡し、錐体描画処理により描画対象ノードを表す錐体を描画し(ステップ301)、
次に側面情報描画部(111)に該引数を渡し、側面情報描画処理により描画対象ノードを表す錐体の側面に情報を描画し(ステップ302)、
次に錐体配置部(112)に該引数を渡し、錐体配置処理により描画対象ノードの各子ノードを表す錐体の頂点座標をそれぞれ算出する。
ただし、描画対象ノードの高さが1、すなわち描画対象ノードがリーフノードであるならば、次のステップ304をスキップする(ステップ303)。
【0038】
さらに、描画対象ノードの高さを1減らした後、描画対象ノードの各子ノードについて、描画処理を実行する(ステップ304)。このとき、前記1減らした値を描画対象ノードの高さ、各子ノードへのポインタを描画対象ノードへのポインタ、錐体配置処理(ステップ303)で算出した各子ノードを表す錐体の頂点座標を描画対象ノードの頂点座標とし、変数kはそのままの値、すなわち2を、変数nRTpはそのままの値、すなわちnRTへのポインタとして、これらを引数とする。なお、各子ノードへのポインタは描画対象ノードのポインタ表より取得する。
【0039】
錐体描画処理(ステップ301)、側面情報描画処理(ステップ302)、錐体配置処理(ステップ303)の詳細については後述する。
なお、描画する際には、DirectXやOpenGLなどの既存の描画ライブラリを用いて、該描画ライブラリにデータ蓄積部が保持する情報や該描画処理において算出した情報を入力することで、容易に描画イメージを作成することが可能である。
本実施の形態において、描画結果は検索木描画装置(100)に接続したスクリーンに表示してもよい。あるいは、検索木描画装置(100)をWebアプリケーションサーバとし、ネットワークに接続し、当該ネットワークに接続されたWebブラウザに対して描画イメージを送出して当該Webブラウザ上に図形を表示する構成としてもよい。
【0040】
なお、本実施形態では、描画処理(ステップ502)をステップ301〜ステップ304の順で行う例について説明するが、本発明はこれに限定されない。例えば、描画対象ノードの基線を錐体描画処理(ステップ301)において定めることとすれば、錐体配置処理(ステップ303)の後に側面情報描画処理(ステップ302)を行うこととしても良い。また、描画対象ノードの基線を錐体描画処理(ステップ301)において定めることとし、錐体描画処理(ステップ301)と錐体配置処理(ステップ303)により算出された各ノードを表す円錐の頂点座標、高さ、底面の半径を記憶しておくこととすれば、各ノードについて錐体描画処理(ステップ301)と錐体配置処理(ステップ303)を再帰的に実行した後に、各ノードについて側面情報描画処理(ステップ302)のみを再帰的に実行しても良い。
【0041】
(錐体描画部110)
第6図は本実施の形態における錐体描画部(110)が錐体描画処理(ステップ301)により描画対象ノードを表す錐体を円錐にて描画した錐体描画イメージ(400)を示す。本図を用いて錐体描画処理(ステップ301)について説明する。
【0042】
まず錐体描画処理(ステップ301)は、描画対象ノードの高さと木構造情報表(210)の子ノード数最大値(211)から、描画対象ノードを表す円錐の高さ、すなわち頂点座標から円錐の底面の中心点までの長さを算出する。本実施形態においては、「高さbの描画対象ノードを表す円錐の高さ=100×((1/子ノード数最大値)^(nRTの高さ−b))」により円錐の高さを算出する。このときnRTの高さ(212)は木構造情報表(210)から読み出す。
次に、錐体描画処理(ステップ301)は、描画対象ノードを表す円錐の底面の半径を算出する。本実施形態においては円錐の底面の半径は高さと同等とする。
【0043】
次に、錐体描画処理(ステップ301)は、円錐の頂点座標、円錐の高さ、円錐の底面の半径に従い描画対象ノードを表す円錐を描画する。例として、nRT(200)を表す円錐の描画について記述する。
まず錐体描画処理(ステップ301)は、nRT(200)を表す円錐の高さを算出する。子ノード数最大値(211)は4、nRTの高さ(212)は2、また描画対象ノードの高さbも同様に2となるため、「高さ2のnRT(200)を表す円錐の高さ=100×((1/4)^(2−2))=100」となる。このとき、nRT(200)を表す円錐の頂点座標は(0、0、100)としたため、nRT(200)を表す円錐の底面の中心点は(0、0、0)となる。
次に、錐体描画処理(ステップ301)は、nRT(200)を表す円錐の底面の半径を算出する。本実施形態においては円錐の底面の半径は高さと同等とするため100とする。
次に、錐体描画処理(ステップ301)は、与えられたnRT(200)を表す円錐の頂点座標と、算出した円錐の高さ、円錐の底面の半径に従い、nRT(200)を表す円錐を描画することで、第6図に示す錐体描画イメージ(400)が描画される。
【0044】
なお、本発明はこれに限らず、別の方法で各円錐の高さを算出してもよい。例えば、全円錐を同じ高さにしても良いし、親ノードを表す円錐の高さに対して子ノードを表す円錐の高さを1/10にするという方法でもよい。また円錐の底面の半径は高さと同等としたが、本発明はこれに限らず高さの1/2にするなどとしてもよい。
【0045】
(側面情報描画部111における領域分割)
第7図は、本実施の形態における側面情報描画部(111)が側面情報描画処理(ステップ302)により描画対象ノードを表す円錐の側面を複数の領域に分割した側面情報描画イメージ(401)を示す。本図を用いて側面情報描画処理(ステップ302)について説明する。
【0046】
まず側面情報描画処理(ステップ302)は、描画対象ノードを表す円錐の側面にk本の線分を描画し、円錐の側面をk個の領域に分割し、分割した各領域にk種類の属性を1対1の関係で関連付ける。具体的には、k本の線分は、描画対象ノードを表す円錐の底面の中心点と、X軸方向に円錐の底面の半径だけ移動した円錐の底面の外周との交点を結ぶ直線を描画対象ノードの基線とし、円錐の底面において基線から「R度+(360度/k)×n」(n=0、1、2、・・・、k−2、k−1)の角度にある直線と底面の円周の交点と、円錐の頂点を結ぶ線分とする。このとき回転角度Rは木構造情報表(210)より読み出す。
【0047】
本実施形態では、k、すなわちnRT(200)の属性値範囲表(230)の行数は2であることから、2本の線分を円錐の側面上に描画する。回転角度Rは本実施形態において90であるから、nRT(200)においてはnRT(200)を表す円錐の底面の中心点(0、0、0)と、X軸方向に円錐の底面の半径だけ移動した円錐の底面の外周との交点(100、0、0)を結ぶ直線をnRT(200)の基線(411)とし、1本目の線分、すなわちn=0の線分は基線(411)から「90度」のところにある点(0、−100、0)と円錐の頂点(0、0、100)を結ぶ線分であり、2本目の線分は「90度+(360度/2)×1」、すなわち基線(411)から「270度」のところにある点(0、100、0)と円錐の頂点(0、0、100)を結ぶ線分となる。これにより第7図に示す側面情報描画イメージ(401)が描画される。
【0048】
本実施形態では、各領域の大きさが均等になるよう分割したが、本発明はこれに限らず、異なる大きさに分割しても良い。またk個以上の領域に分割しても良い。
【0049】
次に側面情報描画処理(ステップ302)は、k本の線分によって分割された領域を、それぞれk個の属性に関連付ける。本実施形態では、2本の線分によって分割された領域のうち、1本目の線分、すなわちn=0の線分から2本目の線分、すなわちn=1の線分までの領域を属性xに、同様に2本目の線分から1本目の線分までの領域を属性yに関連付ける。本発明はこれに限らず、逆順に各領域を各属性に関連付けても良い。
【0050】
(側面情報描画部111における情報描画)
第8図及び第9図は、それぞれ、本実施の形態における側面情報描画部(111)が側面情報描画処理(ステップ302)により、さらに描画対象ノードを表す円錐の側面の各領域に情報を描画した側面情報描画イメージ(402)及び(403)を示す。本図を用いて側面情報描画処理(ステップ302)について説明する。
【0051】
側面情報描画処理(ステップ302)は、nRT(200)の属性値範囲表(230)と描画対象描画対象ノードの属性値範囲表を参照し、各属性についてnRT(200)の属性値範囲表(230)に記載された属性値範囲、すなわち該木構造が保持する全データ集合における属性値範囲R1と、描画対象ノードの属性値範囲表に記載された属性値範囲、すなわち描画対象ノード以下に保持するデータ集合における属性値範囲R2とを取得し、該領域において、関連付けられた該属性のR1に対するR2の範囲を描画する。本実施形態においては、該領域のうち、円錐の底面と接する点をR1の範囲の始点、円錐の頂点となる点をR1の範囲の終点とし、その中でR2の占める範囲を第8図に示すように斜線あるいは点線の網掛けで描画する。
【0052】
例として、nRT(200)、n1(201)を表す円錐の描画について記述する。
本実施形態におけるnRT(200)を表す円錐においては、属性xについて、R1がx=0〜10に対し、R2も同様にx=0〜10であることから、属性xに関連付けられた該領域において全範囲を斜線の網掛けで描画する。属性yについては、R1がy=0〜10に対し、R2も同様にy=0〜10であることから、属性yに関連付けられた該領域において全範囲を点線の網掛けで描画する。これにより、第8図に示す側面情報描画イメージ(402)が描画される。
【0053】
n1(201)を描画対象とする場合には、属性xについて、R1がx=0〜10に対し、R2はx=0〜5、すなわちR1の範囲に対してR2は0%〜50%の部分の範囲となるため、属性xに関連付けられた該領域において、底面に近い方から0〜50%の範囲を斜線の網掛けで描画する。属性yについては、R1がy=0〜10に対し、R2はy=5〜10、すなわちR1の範囲に対してR2は50%〜100%の部分の範囲となるため、属性yに関連付けられた該領域において、底面に近い方から50%〜100%の範囲を点線の網掛けで描画する。これにより、第9図に示す側面情報描画イメージ(403)が描画される。
【0054】
なお、R1が0〜10であり、かつR2が2〜4の場合には、底面に近い方から20%〜40%の範囲を斜線または点線の網掛けで描画することになる。
ただし、本発明はこれに限らず、円錐の頂点と接する点をR1の範囲の始点、円錐の底面となる点をR1の範囲の終点としても良く、範囲の描画に用いる網掛けを属性に関わらず斜線、または点線で統一しても良い。また、範囲の描画に属性ごとに異なる色彩を用いても良く、該色彩を半透明化させても良い。また、R1に対するR2の範囲を色彩の濃さ、あるいは輝度によって変化させることにより描画しても良い。
【0055】
本発明における正規化は、本実施形態では、このように、描画対象ノードが下位にデータ集合に含まれる該領域に関連付けた属性の属性値範囲を、該検索木が含む全データ集合に含まれる該領域に関連付けた属性の属性値範囲の中で占める範囲に変換することを指す。
【0056】
(錐体配置部112)
第10図は本実施の形態における錐体配置部(112)が錐体配置処理(ステップ303)により描画対象ノードの子ノードを表す円錐の頂点を算出した際の、算出した座標を側面情報描画イメージ(404)上に示したものである。本図を用いて錐体配置処理(ステップ303)について説明する。
【0057】
まず、錐体配置部(112)は、描画対象ノードを表す円錐の底面の基線と外周の交点を基点とし、この基点を1つ目の子ノードを表す円錐の頂点座標とする。例えば、描画対象ノードがnRT(200)の場合、基線(411)と外周の交点(100、0、0)が基点となる。
【0058】
次に、錐体配置部(112)は、円錐の底面の中心角360度を子ノード数で分割し、分割した角度において円錐の底面の中心点から外周に向けて伸ばした直線と円錐の底面の外周の交点を各子ノードの頂点座標とする。このとき、子ノード数は描画対象ノードのポインタ表の行数により算出する。本実施形態におけるnRT(200)を表す円錐においては、nRT(200)はn1(201)とn2(202)の2つの子ノードを有し、ポインタ表(220)の行数は2であるため、円錐の底面の中心角360度を2で分割する。この場合、n1は基線(411)上の基点(100、0、0)、n2は基線(411)を基点(100、0、0)から360度/2だけ回転したときの外周との交点(−100、0、0)が頂点座標となる。
【0059】
以上の描画処理を再帰的に実施することにより、検索木全体を描画することができる。このようにして描画された検索木は、ノード間の関連性を表すエッジを用いることなく、各ノードを表す円錐とその配置によって3次元的に検索木の木構造を表現し、さらに各ノードを表す円錐の側面の各領域上に該領域に関係づけられた属性に関する情報を表現し、さらに該領域に関係づけられた属性に関する情報として該円錐に対応するノードが下位に含むデータ集合に含まれる該属性の属性値範囲を表現しており、これにより各ノードが下位に含むデータ集合には、どの属性がどの程度の属性値範囲だけ含まれているかを俯瞰することが出来るという特徴を持つ。
【0060】
(完成図)
第11図は本実施の形態において、描画処理を再帰的に実施する検索木描画処理により
描画される検索木描画イメージ(405)を示す。本実施形態において描画された検索木は、このようにノード間の関連性を表すエッジを用いることなく、nRT(200)、n1(201)、n2(202)のノードを表す円錐とその配置によって3次元的に検索木の木構造を表現し、さらに各ノードを表す円錐の側面の各領域上に該領域に関係づけられた属性xと属性yに関する情報を表現し、さらに該領域に関係づけられた属性xと属性yに関する情報として該円錐に対応するノードが下位に含むデータ集合に含まれる属性xと属性yの属性値範囲を表現しており、これにより各ノードが下位に含むデータ集合には、属性xと属性yがどの程度の属性値範囲だけ含まれているかを俯瞰することが出来る。
【0061】
なお、本実施形態では検索木描画部(114)がルートノードから再帰的に描画する例について説明したが、本発明はそれに限らず、検索木描画部(114)は任意のインナーノードから再帰的に描画することにより、該インナーノード以下の部分木のみを描画しても良い。また子ノードから親ノードへのポインタも各子ノードで管理することとすれば、リーフノードを起点として他のノードを描画することも可能である。
【0062】
(回転角度算出部113を用いた回転処理)
さらに、検索木描画装置(100)は、第11図で示した描画イメージにおいて、各ノードを表す円錐の側面の各領域に描画された情報を、各円錐の頂点から底面に下した垂線を中心とし、回転角度算出部(113)が算出した角度だけ各円錐を回転させた側面情報描画イメージを再描画する回転処理を実行してもよい。
【0063】
以下に本実施形態におけるその回転処理手順を示す。
検索木描画部(114)が検索木描画処理(ステップ300)を実施した後、回転角度算出部(113)が以下の処理を行う。
回転角度算出部(113)は、一定期間毎に、木構造情報表(210)の回転角度Rの値を90からΔずつ大きくした値に更新し、さらに検索木描画部(114)の検索木描画処理(ステップ300)を呼び出す。
【0064】
本実施形態においてはΔは5であり、一定期間経過後のRは「R=90+5」、すなわち95となる。さらに一定期間経過後の木構造情報表(210)の回転角度Rは「R=95+5」、すなわち100となる。また本実施形態では3秒を該一定期間とする。すると本実施形態では、3秒経過毎に各領域に描画する情報を5度ずつ回転させて再描画されることとなる。
【0065】
ただし本発明はこれに限らず、1秒毎に回転させて再描画しても良いし、ユーザからの操作命令を受け付け、操作命令を受け付けたタイミングで回転させて再描画しても良い。また回転角度Δはマイナスの値を取り、各領域に描画する情報を逆回転させて再描画しても良い。
【0066】
また、回転処理は、検索木描画部(114)が検索木描画処理(ステップ300)を実施し描画した木構造について、錐体描画処理(ステップ301)と錐体配置処理(ステップ303)により算出された各ノードを表す円錐の頂点座標、高さ、底面の半径を記憶しておくことで、各ノードについて側面情報描画処理(ステップ302)のみを再帰的に実行し、各領域に描画する情報を再描画しても良い。
【0067】
このように、各ノードを表す円錐の側面の各領域に描画された情報を回転させて再描画することで、どの領域も前面に描画することを可能とする。これにより各錐体の側面に描画する全ての情報を容易に把握することが可能となり、またノード間で全情報を見比べることが可能となる。
【産業上の利用可能性】
【0068】
本発明は情報通信産業に適用することができる。
【符号の説明】
【0069】
100:検索木描画装置
101:データ蓄積部
110:錐体描画部
111:側面情報描画部
112:錐体配置部
113:回転角度算出部
114:検索木描画部
120:データ集合
200:nRT
201:n1
202:n2
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11