(57)【特許請求の範囲】
【請求項１】
所定の特徴量に基づいて規定される特徴空間の位置を表す位置情報がメタデータとして関連づけられたコンテンツデータをリーフノードとし、前記特徴空間におけるノード間の距離が所定の条件を満たすノードの集合が、当該所定の条件を満たすノードの親ノードとして規定される木構造を生成する木構造生成部と、
任意の前記位置情報が指定されると、指定された前記位置情報が属する前記木構造中の前記ノードを特定するとともに、特定した前記ノードの前記木構造における位置に応じて、前記木構造中に存在する前記ノードのなかから、前記指定された位置情報が属するノード以外の１または複数のノードを抽出するノード抽出部と、
を備え、
前記ノード抽出部は、
前記木構造中に存在する前記ノードのなかから、
前記特定したノードの子ノードである全ての前記ノードと、
前記特定したノードの親ノードから分岐する当該特定したノード以外のノードと、
を抽出した後、
前記特定したノードおよび前記特定したノードの親ノードから分岐する当該特定したノード以外のノードが子ノードとなっている一の親ノードを、新たに着目ノードとし、
前記着目ノードの親ノードから分岐する当該着目ノード以外のノードを更に抽出していき、
前記着目ノードがルートノードとなるまで、ノードの抽出を繰り返す、情報処理装置。
【請求項２】
前記ノード抽出部は、
前記指定された前記位置情報が、前記木構造中の複数のノードに属する場合、
当該複数のノードのうちルートノードから最も深い位置に存在するノードを、前記指定された位置情報が属するノードとする、請求項１に記載の情報処理装置。
【請求項３】
前記ノード抽出部は、
前記指定された位置情報が、前記特徴空間における領域を指定する情報を更に含む場合、前記領域の面積の大きさに応じて抽出する前記ノードを変更する、請求項１に記載の情報処理装置。
【請求項４】
前記特徴空間は、緯度および経度によって規定される球表面上の位置を表す空間である、請求項１に記載の情報処理装置。
【請求項５】
前記特徴空間は、平面上の位置を指定する特徴量に基づいて規定される空間である、請求項１に記載の情報処理装置。
【請求項６】
前記特徴空間は、時刻を指定する特徴量に基づいて規定される空間である、請求項１に記載の情報処理装置。
【請求項７】
情報処理装置の木構造生成部が、所定の特徴量に基づいて規定される特徴空間の位置を表す位置情報がメタデータとして関連づけられたコンテンツデータをリーフノードとし、前記特徴空間におけるノード間の距離が所定の条件を満たすノードの集合が、当該所定の条件を満たすノードの親ノードとして規定される木構造を生成するステップと、
情報処理装置のノード抽出部が、指定された任意の前記位置情報が属する前記木構造中の前記ノードを特定するステップと、
情報処理装置のノード抽出部が、特定した前記ノードの前記木構造における位置に応じて、前記木構造中に存在する前記ノードのなかから、前記指定された位置情報が属するノード以外の１または複数のノードを抽出するステップと、
を含み、
前記ノードを抽出するステップでは、
前記木構造中に存在する前記ノードのなかから、
前記特定したノードの子ノードである全ての前記ノードと、
前記特定したノードの親ノードから分岐する当該特定したノード以外のノードと、
を抽出した後、
前記特定したノードおよび前記特定したノードの親ノードから分岐する当該特定したノード以外のノードが子ノードとなっている一の親ノードを、新たに着目ノードとし、
前記着目ノードの親ノードから分岐する当該着目ノード以外のノードを更に抽出していき、
前記着目ノードがルートノードとなるまで、ノードの抽出を繰り返す、情報処理方法。
【請求項８】
コンピュータに、
所定の特徴量に基づいて規定される特徴空間の位置を表す位置情報がメタデータとして関連づけられたコンテンツデータをリーフノードとし、前記特徴空間におけるノード間の距離が所定の条件を満たすノードの集合が、当該所定の条件を満たすノードの親ノードとして規定される木構造を生成する木構造生成機能と、
任意の前記位置情報が指定されると、指定された前記位置情報が属する前記木構造中の前記ノードを特定するとともに、特定した前記ノードの前記木構造における位置に応じて、前記木構造中に存在する前記ノードのなかから、前記指定された位置情報が属するノード以外の１または複数のノードを抽出するノード抽出機能と、
を実現させ、
前記ノード抽出機能は、
前記木構造中に存在する前記ノードのなかから、
前記特定したノードの子ノードである全ての前記ノードと、
前記特定したノードの親ノードから分岐する当該特定したノード以外のノードと、
を抽出した後、
前記特定したノードおよび前記特定したノードの親ノードから分岐する当該特定したノード以外のノードが子ノードとなっている一の親ノードを、新たに着目ノードとし、
前記着目ノードの親ノードから分岐する当該着目ノード以外のノードを更に抽出していき、
前記着目ノードがルートノードとなるまで、ノードの抽出を繰り返す、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
所定の特徴量により規定される特徴空間上において距離の近いデータごとにグループを作成する技術は、クラスタリングと呼ばれ、様々な分野に広く利用されている。また、クラスタリングにより生成される各クラスタに含まれるデータを、更にグループ分けすることで、木構造のデータ構造を作成することも広く行われている。
【０００３】
こうして作成されたデータ構造は、上位階層が下位階層を含むような構造になっている。そのため、粒度の荒いグループから粒度の細かいグループまでを順に選択してゆくことで所望のデータを探索する目的や、あるデータに対するグループ分けを実現する際に、階層を変更することで、様々な粒度のグループ分けを実現する目的などに用いられる（例えば、以下の特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１２２５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、データをグループ分けする際に、ある特定の位置を基準として、この特定の位置から近いデータは細かい粒度で分割し、遠く離れたデータは荒い粒度でまとめるようなグループ分けを行いたい場合もある。このようなグループ分けは、特徴空間上のデータの絶対的な位置に加え、特定の位置からのデータまでの距離も加味してクラスタリングを行うことで実現は可能となる。
【０００６】
しかしながら、クラスタリングは、特にデータが大量になる場合には、相応の演算量を必要とする。そのため、指定された位置に応じてデータをグループ分けするような際に、指定された位置自体が時々刻々と変化する場合には、指定された位置に応じてクラスタリングを再実行することが必要となり、クラスタリングを行う装置に大きな負荷が掛かるという問題があった。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、特徴空間における特定の位置からの距離に基づき、クラスタ粒度を変化させるようなクラスタリングを、クラスタリングに要する負荷を抑制しながら行うことが可能な、情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある観点によれば、所定の特徴量に基づいて規定される特徴空間の位置を表す位置情報がメタデータとして関連づけられたコンテンツデータをリーフノードとし、前記特徴空間におけるノード間の距離が所定の条件を満たすノードの集合が、当該所定の条件を満たすノードの親ノードとして規定される木構造を生成する木構造生成部と、任意の前記位置情報が指定されると、指定された前記位置情報が属する前記木構造中の前記ノードを特定するとともに、特定した前記ノードの前記木構造における位置に応じて、前記木構造中に存在する前記ノードのなかから、前記指定された位置情報が属するノード以外の１または複数のノードを抽出するノード抽出部と、を備える情報処理装置が提供される。
【０００９】
前記ノード抽出部は、前記木構造中に存在する前記ノードのなかから、前記特定したノードの子ノードである全ての前記ノードと、前記特定したノードの親ノードから分岐する当該特定したノード以外のノードと、を抽出することが好ましい。
【００１０】
前記ノード抽出部は、前記特定したノードおよび前記特定したノードの親ノードから分岐する当該特定したノード以外のノードが子ノードとなっている一の親ノードを、新たに着目ノードとし、前記着目ノードの親ノードから分岐する当該着目ノード以外のノードを更に抽出することが好ましい。
【００１１】
前記ノード抽出部は、前記着目ノードがルートノードとなるまで、ノードの抽出を繰り返してもよい。
【００１２】
前記ノード抽出部は、前記指定された前記位置情報が、前記木構造中の複数のノードに属する場合、当該複数のノードのうちルートノードから最も深い位置に存在するノードを、前記指定された位置情報が属するノードとしてもよい。
【００１３】
前記ノード抽出部は、前記指定された位置情報が、前記特徴空間における領域を指定する情報を更に含む場合、前記領域の面積の大きさに応じて抽出する前記ノードを変更してもよい。
【００１４】
前記特徴空間は、緯度および経度によって規定される球表面上の位置を表す空間であってもよい。
【００１５】
前記特徴空間は、平面上の位置を指定する特徴量に基づいて規定される空間であってもよい。
【００１６】
前記特徴空間は、時刻を指定する特徴量に基づいて規定される空間であってもよい。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、所定の特徴量に基づいて規定される特徴空間の位置を表す位置情報がメタデータとして関連づけられたコンテンツデータをリーフノードとし、前記特徴空間におけるノード間の距離が所定の条件を満たすノードの集合が、当該所定の条件を満たすノードの親ノードとして規定される木構造を生成するステップと、指定された任意の前記位置情報が属する前記木構造中の前記ノードを特定するステップと、特定した前記ノードの前記木構造における位置に応じて、前記木構造中に存在する前記ノードのなかから、前記指定された位置情報が属するノード以外の１または複数のノードを抽出するステップと、を含む情報処理方法が提供される。
【００１８】
また、上記課題を解決するために、本発明の更に別の観点によれば、コンピュータに、所定の特徴量に基づいて規定される特徴空間の位置を表す位置情報がメタデータとして関連づけられたコンテンツデータをリーフノードとし、前記特徴空間におけるノード間の距離が所定の条件を満たすノードの集合が、当該所定の条件を満たすノードの親ノードとして規定される木構造を生成する木構造生成機能と、任意の前記位置情報が指定されると、指定された前記位置情報が属する前記木構造中の前記ノードを特定するとともに、特定した前記ノードの前記木構造における位置に応じて、前記木構造中に存在する前記ノードのなかから、前記指定された位置情報が属するノード以外の１または複数のノードを抽出するノード抽出機能と、を実現させるためのプログラムが提供される。
【発明の効果】
【００１９】
以上説明したように本発明によれば、特徴空間における特定の位置からの距離に基づき、クラスタ粒度を変化させるようなクラスタリングを、クラスタリングに要する負荷を抑制しながら行うことが可能である。
【図面の簡単な説明】
【００２０】
【図１】木構造について説明するための説明図である。
【図２】本発明の第１の実施形態に係る情報処理装置が実施するクラスタリングの一例を説明するための説明図である。
【図３】同実施形態に係る情報処理装置の構成を説明するためのブロック図である。
【図４】クラスタの生成方法について説明するための説明図である。
【図５】クラスタの生成方法について説明するための説明図である。
【図６Ａ】クラスタの生成方法について説明するための説明図である。
【図６Ｂ】クラスタの生成方法について説明するための説明図である。
【図６Ｃ】クラスタの生成方法について説明するための説明図である。
【図６Ｄ】クラスタの生成方法について説明するための説明図である。
【図６Ｅ】クラスタの生成方法について説明するための説明図である。
【図７】クラスタの生成方法について説明するための説明図である。
【図８Ａ】クラスタ間の距離について説明するための説明図である。
【図８Ｂ】クラスタ間の距離について説明するための説明図である。
【図８Ｃ】クラスタ間の距離について説明するための説明図である。
【図９】クラスタの生成方法について説明するための説明図である。
【図１０】クラスタに関連付けられたメタデータについて説明するための説明図である。
【図１１】同実施形態に係る情報処理方法について説明するための説明図である。
【図１２】同実施形態に係る木構造データの一例について説明するための説明図である。
【図１３】同実施形態に係る木構造データの一例について説明するための説明図である。
【図１４】同実施形態に係る木構造データの一例について説明するための説明図である。
【図１５】同実施形態に係る木構造データの一例について説明するための説明図である。
【図１６】同実施形態に係る木構造データの一例について説明するための説明図である。
【図１７】同実施形態に係る木構造データの一例について説明するための説明図である。
【図１８】同実施形態に係る情報処理方法について説明するための説明図である。
【図１９】同実施形態に係るノード抽出方法について説明するための流れ図である。
【図２０】同実施形態に係るノード抽出方法について説明するための流れ図である。
【図２１】同実施形態に係る情報処理装置の表示画面の一例について説明するための説明図である。
【図２２Ａ】同実施形態に係る表示画面の制御方法の一例を説明するための説明図である。
【図２２Ｂ】同実施形態に係る表示画面の制御方法の一例を説明するための説明図である。
【図２２Ｃ】同実施形態に係る表示画面の制御方法の一例を説明するための説明図である。
【図２３Ａ】同実施形態に係る表示画面の制御方法の一例を説明するための説明図である。
【図２３Ｂ】同実施形態に係る表示画面の制御方法の一例を説明するための説明図である。
【図２４】同実施形態に係る表示画面の制御方法の一例を説明するための説明図である。
【図２５】同実施形態に係る表示画面の制御方法の一例を説明するための説明図である。
【図２６】同実施形態に係る表示画面の制御方法を説明するための流れ図である。
【図２７】本発明の実施形態に係る情報処理装置のハードウェア構成を説明するためのブロック図である。
【発明を実施するための形態】
【００２１】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２２】
なお、説明は、以下の順序で行うものとする。
（１）木構造について
（２）第１の実施形態
（２−１）情報処理装置が実現するクラスタリングの概略について
（２−２）情報処理装置の構成について
（２−３）ノードの抽出方法について
（２−４）表示画面の一例について
（２−５）表示画面の制御方法について
（３）本発明の実施形態に係る情報処理装置のハードウェア構成について
【００２３】
（木構造について）
まず、本発明の実施形態に係る説明を行うに先立ち、本明細書中で使用する木構造に関する用語について、図１を参照しながら簡単に説明する。図１は、木構造について説明するための説明図である。
【００２４】
図１に例示したように、木構造は、複数の要素（図１において○で示したもの）から構成されている。これら複数の要素のことを、ノードと称する。また、木構造において、一番上に位置するノードをルートノードと称する。ルートノードに着目すると、このルートノードから図の下方向に向かって枝分かれが生じており、それぞれの枝の先にノードが位置している。このような枝分かれが繰り返されることで、木構造は、図１に示したような多層的な構造となる。また、木構造において、一番下に位置するノードを、リーフノードと称する。図から明らかなように、これらリーフノードからは枝分かれが生じていない。
【００２５】
ここで、図１に示したノード「Ｂ」に着目する。ノードＢから上に向かって延びている枝は、ルートノードにつながっており、ノードＢから下に向かって延びている枝は、リーフ３およびリーフ４という２つのノード（リーフノード）につながっている。ここで、ノードＢに対するルートノードのように、上方向（換言すれば、ルートノードの方向）に向かって延びている枝に直接つながっているノードのことを、親ノードと称することとする。また、ノードＢに対するリーフ３およびリーフ４のように、下方向（換言すれば、ルートノードの方向とは逆の方向）に向かって延びている枝に直接つながっているノードのことを、子ノードと称することとする。
【００２６】
親ノード、および、子ノードという呼び方は、あくまでも相対的なものであって、着目しているノードが変わることで、その呼び方も変化する。例えば、ノードＢは、リーフ３またはリーフ４にとっては親ノードとなるが、ルートノードにとっては子ノードとなる。
【００２７】
また、木構造は、図１に示したような多層構造となっているが、以下では、ルートノードが属する階層を第０階層と呼ぶこととし、ルートノードの子ノードが属する階層を第１階層、第１階層に位置するノードの子ノードが属する階層を第２階層と呼ぶこととする。以下、必要に応じて、順に、第３階層、第４階層・・・と称することとする。
【００２８】
また、ノードＢに着目した場合におけるノードＡおよびノードＣのように、あるノードの親ノードから分岐している、着目しているノード以外の子ノードのことを、兄弟ノード（ｓｉｂｌｉｎｇ  ｎｏｄｅ）と称することとする。例えば図１において、リーフ３に着目した場合、その兄弟ノードはリーフ４となる。
【００２９】
なお、図１に示した例では、あるノードから複数の枝が分岐している場合について示しているが、ノードから下方向（ルートノードに向かう方向とは逆の方向）に延びる枝の個数は、１つのみであってもよい。また、あるノードから分岐する枝の個数は、図１に示した例に限定されるわけではない。
【００３０】
（第１の実施形態）
＜情報処理装置が実現するクラスタリングの概略について＞
まず、図２を参照しながら、本発明の第１の実施形態に係る情報処理装置が実現するクラスタリングの概略について、簡単に説明する。図２は、本実施形態に係る情報処理装置が実施するクラスタリングの一例を説明するための説明図である。
【００３１】
先に説明したように、データをグループ分け（クラスタリング）する際に、ある特定の位置を基準として、この特定の位置から近いデータは細かい粒度で分割し、遠く離れたデータは粗い粒度でまとめるようなグループ分けを行いたい場合がある。
【００３２】
例えば、地図上の現在地に応じて、周辺のお勧めスポットを表示する装置を考える。この際、現在地の近くに位置するスポットは、グループ分けが行われることなく（または、１データ＝１グループのグループ分けを行って）表示されるものとする。また、現在地から少し離れた位置のスポットは市町村毎などにグループ分けして表示され、遠く離れた外国のスポットは国毎などにグループ分けして表示されるものとする。
【００３３】
図２に示した例は、現在位置が東京の渋谷近辺である場合に、渋谷からの距離に応じてグループ（すなわち、クラスタ）の粒度を変化させながら、グループ分けの結果を示したものである。現在位置である渋谷の近傍に位置するグループ（クラスタ）である、「新宿」、「上野」、「品川」といった位置を表すクラスタは、細かい粒度で表示されており、現在位置から離れるにしたがって、クラスタの粒度が粗くなっていることがわかる。
【００３４】
このような表示が装置によって提供されることで、ユーザは、表示されているクラスタ間の位置関係を大まかに、かつ、容易に把握することが可能となる。したがって、かかる装置を実現できれば、結果としてユーザの利便性を向上させることが可能となる。
【００３５】
以上の例のように、指定された位置からの距離に応じてグループのサイズを分けたい場合、このようなグループ分けは、特徴空間上のデータの絶対的な位置に加え、特定の位置からのデータまでの距離も加味してクラスタリングを行うことで可能となる。
【００３６】
しかしながら、クラスタリングは、特にデータが大量になる場合には、演算量の負荷が大きい。したがって、上述の例のような、現在の位置に応じてスポットをグループ分けするような場合、時々刻々と変化する現在地に応じて毎回クラスタリングを実行し直すことは、システムに大きな負荷を強いる処理となる。
【００３７】
実際の現在地に基づくクラスタリングであれば、例えば現実世界ではそれほど高速な移動は考えられないことから、例えば１分に一度現在地を変更する、というような運用も考えられる。しかし、上記例と同じようなことを仮想世界で行わせようとする場合など、いつどれだけ特定位置が変化するか想定できないような場合では、かかるクラスタリングの実現は、困難となる。
【００３８】
そこで、以下で説明する本実施形態に係る情報処理装置では、クラスタ粒度の異なる多階層のクラスタ構造を生成するクラスタリングを実施し、クラスタ構造を表す木構造を生成する。また、クラスタ構造が規定される特徴空間においてある位置が指定されると、指定された位置と、生成されたクラスタ構造とを利用して、様々な階層から所望のクラスタを抽出する。これにより、本実施形態に係る情報処理装置では、特徴空間における特定の位置からの距離に基づきクラスタ粒度を変化させるようなクラスタリングを、クラスタリングに要する負荷を抑制しながら行うことが可能となる。
【００３９】
＜情報処理装置の構成について＞
次に、図３を参照しながら、本発明の第１の実施形態に係る情報処理装置の構成について、詳細に説明する。図３は、本実施形態に係る情報処理装置の構成を説明するためのブロック図である。
【００４０】
なお、本実施形態に係る情報処理装置１０で扱うコンテンツデータの一例として、静止画コンテンツ、動画コンテンツといった画像コンテンツや、ユーザ同士が各種情報の共有を行うためにサーバ等に登録した各種の文字情報・画像情報等を挙げることができる。これらのデータ以外にも、例えば、メール、楽曲、スケジュール、電子マネー使用履歴、通話履歴、コンテンツ視聴履歴、観光情報や地域情報、ニュースや天気予報、着信音モード履歴等のコンテンツに適用することができる。
【００４１】
以下の説明では、静止画コンテンツおよび動画コンテンツといった画像コンテンツを例にとって、説明を行うものとする。しかしながら、本実施形態に係る情報処理装置１０では、特徴空間における位置を表す位置情報が例えばメタデータとして添付されているデータであれば、任意の情報やコンテンツデータを扱うことが可能である。
【００４２】
また、上述のようなコンテンツデータや各種情報を表すデータは、情報処理装置１０の内部に格納されていることが好ましい。しかしながら、情報処理装置１０の外部に設けられたサーバ等の装置にデータ本体が格納されており、情報処理装置１０には、これらのデータ本体に対応するメタデータが格納されていてもよい。以下では、情報処理装置１０がコンテンツデータや各種情報を表すデータを、メタデータとともに格納している場合を例にとって説明を行うものとする。
【００４３】
本実施形態に係る情報処理装置１０は、例えば図３に示したように、木構造生成部１０１と、抽出条件設定部１０３と、ノード抽出部１０５と、表示制御部１０７と、表示部１０９と、入力部１１１と、ＧＰＳ信号処理部１１３と、記憶部１１５と、を主に備える。
【００４４】
木構造生成部１０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等により実現される。木構造生成部１０１は、所定の特徴量に基づいて規定される特徴空間の位置を表す位置情報がメタデータとして関連づけられたコンテンツデータをリーフノードとし、特徴空間において所定の条件を満たすノードの集合が、当該所定の条件を満たすノードの親ノードとして規定される木構造を生成する。
【００４５】
ここで、コンテンツデータに関連付けられた位置情報について、まず説明する。
本実施形態に係る木構造生成部１０１は、コンテンツデータに関連付けられたメタデータ中に記載されている所定の特徴量に基づき、この所定の特徴量で規定される特徴空間を想定する。メタデータ中に記載されている所定の特徴量の一例としては、例えば、コンテンツが生成された場所を特定するための緯度・経度に関する情報、コンテンツが生成された時刻に関する情報、コンテンツが生成された場所を表す住所に関する情報等を挙げることができる。これら所定の特徴量に関するメタデータは、例えば、コンテンツデータに関連付けられたＥｘｉｆ（Ｅｘｃｈａｎｇｅａｂｌｅ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）タグ等に格納されていてもよい。
【００４６】
場所を特定するための緯度・経度に関する情報は、例えばＧＰＳ信号を取得および解析することで得ることが可能な情報である。緯度・経度といった位置情報は、地球という球状の物体の表面の位置（球表面上の位置）を特定するための特徴量であるといえる。したがって、この緯度・経度に関する情報をもとに規定された特徴空間は、地球という球表面上の位置を表す空間となる。かかる特徴空間における位置は、当然ながら、緯度および経度をそれぞれ指定することで定義することができる。また、特徴空間上のある２つの位置間の距離は、いわゆる大圏距離を用いて定義することができる。
【００４７】
また、地球表面上の位置を表す情報を特徴量として用いる場合であっても、着目している領域が局所的である場合には、球表面を近似的に平面とみなすこともできる。したがって、緯度をｘ座標とし、経度をｙ座標として扱うことで、特徴空間を規定することも可能である。この場合における特徴空間は、（ｘ，ｙ）のような２次元のベクトルで規定される平面空間（ユークリッド空間）となり、特徴空間上のある２つの位置間の距離は、いわゆるユークリッド距離を用いて定義することができる。
【００４８】
また、コンテンツが生成された時刻に関する情報を特徴量として用いる場合には、時間という一次元の情報を元に特徴空間を規定することとなる。したがって、かかる場合における特徴空間は、スカラー量である時刻によって定義され、特徴空間上のある２つの位置間の距離は、時刻差で定義することができる。
【００４９】
木構造生成部１０１は、このような特徴量を用いて規定される特徴空間を想定し、この特徴空間内におけるコンテンツの分布度合いに応じて、コンテンツのクラスタリング結果を表す木構造を生成する。
【００５０】
木構造生成部１０１が生成する木構造は、以下のような特徴を有するものである。
【００５１】
（１）コンテンツデータは、リーフノードに対応している。
（２）特徴空間上で互いの距離が近いデータは、同一のノードに包含される。
（３）互いの距離が近いデータを包含するノード自体が、他のノードと近い距離に存在する場合、これらのノードは、同一のノードに包含される。
（４）階層レベルが同じノード間には、ノードサイズに関して関連性がある。
【００５２】
また、木構造生成部１０１が生成する木構造は、上記（１）〜（４）に示した特徴に加えて、以下の特徴を更に備えていても良い。
【００５３】
（５）親子関係にあるノードを除き、あるノードの特徴空間での領域は、他のノードの特徴空間での領域と重複しない。
【００５４】
木構造生成部１０１は、上述のような木構造を、例えば以下のようにして生成する。
木構造生成部１０１は、まず、情報処理装置１０が利用可能なコンテンツデータに関連付けられているメタデータを参照し、メタデータ中に記載されている位置情報に基づいて、コンテンツデータを特徴空間内の平面上に配置する。これらのコンテンツの配置は、あくまでも仮想的なものである点に注意されたい。
【００５５】
次に、木構造生成部１０１は、平面上に存在するコンテンツデータの集合に対して、各データ間の距離を算出する。続いて、木構造生成部１０１は、互いの距離が近い複数のデータ同士をまとめて、グループ化（分類）する。木構造生成部１０１が実施するこのようなグループ化処理が、クラスタリングであるといえる。また、このグループ化処理（クラスタリング）によってまとめられた各グループのことを、クラスタと称することとする。
【００５６】
木構造生成部１０１は、このようなクラスタの結合または分離の操作を経ることで、情報処理装置１０が利用可能なコンテンツを複数のクラスタに分類し、コンテンツデータがリーフノードとなり各クラスタがノードとなる多階層の木構造を生成する。
【００５７】
以下では、図４〜図１０を参照しながら、木構造生成部１０１が実施するクラスタリング方法について、簡単に説明する。
【００５８】
本実施形態に係る木構造生成部１０１が実施するクラスタリング方法は、図４に示したような流れで行われる。まず、木構造生成部１０１は、コンテンツデータに関連付けられている位置情報を参照して、図４の右上に示した内部ツリーと称する木構造をまず生成する。次に、木構造生成部１０１は、所定の条件に基づき、生成した内部ツリーを再構成することで、図４の下側に示したクラスタツリーを生成する。
【００５９】
なお、図４では、コンテンツデータに関連付けられた位置情報の例として、緯度および経度を用いた位置情報を記載している。また、図４において、斜線のつけられた○印で示したものがコンテンツデータに対応し、○印が内部ツリーにおけるノード（クラスタ）を表している。また、□印は、以下で説明するノード抽出部１０５によって抽出されるクラスタを表している。
【００６０】
まず、内部ツリーを生成する処理について説明する。
図５は、クラスタの生成方法について説明するための説明図である。ここで、図５（ａ）は、クラスタｃ１に１つのコンテンツが属する場合を示す図であり、図５（ｂ）は、クラスタｃ２に２つのクラスタが属する場合を示す図である。また、図５（ｃ）は、クラスタｃ５に少なくとも４つのクラスタが属する場合を示す図である。
【００６１】
なお、図５（ｂ）に示すクラスタｃ２は、１つのコンテンツのみを有するクラスタｃ３およびｃ４で構成されているクラスタであり、図５（ｃ）に示すクラスタｃ５は、少なくとも２以上のコンテンツを有するクラスタｃ６およびｃ７により作成されているクラスタである。また、以下では、２次元に配置されるコンテンツをクラスタリングする場合について説明する。
【００６２】
複数のコンテンツがクラスタリングされた後に生成される各クラスタは、円形状の領域であり、その円の中心位置（中心点）および半径を属性値として有する。このように、中心点および半径により定まる円形状のクラスタ領域に、当該クラスタに属するコンテンツが含まれることとなる。
【００６３】
例えば図５（ａ）に示すように、クラスタｃ１に１つのコンテンツのみが属する場合において、クラスタｃ１の中心位置は、クラスタｃ１に属するコンテンツの位置となる。また、クラスタｃ１の半径は、クラスタｃ１自体が１つの点のみで構成されているため、０（ｒ＝０）となる。
【００６４】
また、例えば図５（ｂ）に示すように、クラスタｃ２に２つのコンテンツ（クラスタｃ３およびｃ４）が属する場合、クラスタｃ２の中心位置は、２つのコンテンツの位置を結ぶ直線上に位置し、詳細な位置はこの直線の中央となる。また、クラスタｃ２の半径は、２つのコンテンツの位置を結ぶ直線の半分となる。例えば、２つのコンテンツに対応するクラスタｃ３およびｃ４を結ぶ直線の距離がＡ１の場合、クラスタｃ２の半径ｒは、Ａ１／２となる。
【００６５】
なお、クラスタリングする場合において、１つのコンテンツのみが属するクラスタ間の距離を算出する場合には、各コンテンツ間の距離を算出する。例えば、クラスタｃ３およびｃ４間の距離を算出する場合には、クラスタｃ３に属するコンテンツの位置と、クラスタｃ４に属するコンテンツの位置との間の距離を算出する。
【００６６】
また、例えば図５（ｃ）に示すように、クラスタｃ５に少なくとも４以上のコンテンツが属する場合を考える。この場合、クラスタｃ５の中心位置は、クラスタｃ６の中心位置およびクラスタｃ７の中心位置を結ぶ直線上であって、クラスタｃ５の円とクラスタｃ６の円とが接する位置と、クラスタｃ５の円とクラスタｃ７の円とが接する位置とを結ぶ直線の真中の位置となる。また、クラスタｃ５の半径は、クラスタｃ６およびｃ７の円とクラスタｃ５の円とが接する位置を結ぶ直線の半分の値となる。
【００６７】
なお、クラスタリングする場合において、複数のコンテンツが属するクラスタ間の距離を算出する場合には、各クラスタの円の外周間の最短距離を算出する。例えば、クラスタｃ６およびｃ７間の距離は、図中に示した距離ｄとなる。クラスタｃ６の半径をＡ２とし、クラスタｃ７の半径をＡ３とし、クラスタｃ５の半径をＡ４とした場合には、クラスタｃ６およびｃ７間の距離ｄは、２（Ａ４−Ａ２−Ａ３）となる。
【００６８】
なお、本実施形態に係る木構造生成部１０１で用いられるクラスタ間の距離の計算方法は、上述の方法に限定されるわけではなく、重心法（Ｃｅｎｔｒｏｉｄ）、最短距離法、最長距離法、群間平均距離法、Ｗａｒｄ法等の任意の方法を利用することができる。
【００６９】
次に、図６Ａ〜図７を参照しながら、木構造生成部１０１により実施されるクラスタリング処理の具体例について説明する。図６Ａ〜図７は、クラスタの生成方法（より詳細には、内部ツリーの生成方法）について説明するための説明図である。図６Ａ〜図７では、５つのコンテンツＣ１１〜Ｃ１５をクラスタリングする場合について図示している。
【００７０】
まず、木構造生成部１０１は、５つのコンテンツＣ１１〜Ｃ１５に関連付けられている位置情報を参照して、これらのコンテンツを特徴空間上の平面に配置する（図６Ａ）。次に、木構造生成部１０１は、各コンテンツ間の距離を計算する。この計算結果に基づいて、木構造生成部１０１は、コンテンツ間の距離が最も短くなったコンテンツＣ１１およびコンテンツＣ１２を１つのグループとしてまとめ、クラスタｃ２１とする（図６Ｂ）。ここで、木構造生成部１０１は、クラスタｃ２１を、クラスタｃ２１の要素であるコンテンツＣ１１およびコンテンツＣ１２の全てを包含するように決定する。
【００７１】
木構造生成部１０１は、同様にして処理を行い、コンテンツ間の距離が次に短くなったコンテンツＣ１４およびコンテンツＣ１５を１つのグループとしてまとめ、クラスタｃ２２とする（図６Ｃ）。この場合にも、木構造生成部１０１は、クラスタｃ２２を、クラスタｃ２２の要素であるコンテンツＣ１４およびコンテンツＣ１５の全てを包含するように決定する。
【００７２】
次に、木構造生成部１０１は、生成した２つのクラスタｃ２１およびｃ２２と、残っているコンテンツＣ１３との間の距離をそれぞれ算出する。図６Ｃに示した場合では、クラスタｃ２１とコンテンツＣ１３との距離が、クラスタｃ２２とコンテンツＣ１３との距離よりも短くなる。そのため、木構造生成部１０１は、クラスタｃ２１とコンテンツＣ１３とを１つのグループとしてまとめ、クラスタｃ２３とする（図６Ｄ）。この場合においても、木構造生成部１０１は、クラスタｃ２３を、クラスタｃ２１とコンテンツＣ１８の全てを包含するように決定する。
【００７３】
最後に、木構造生成部１０１は、残っている２つのクラスタｃ２２およびクラスタｃ２３を１つのグループとしてまとめ、クラスタｃ２４とする（図６Ｅ）。この場合においても、木構造生成部１０１は、クラスタｃ２４を、クラスタｃ２２およびクラスタｃ２３の全てを包含するように決定する。例えば、木構造生成部１０１は、２つのクラスタｃ２２およびｃ２３が表す円の外接円となるように、クラスタ２４を決定することができる。
【００７４】
木構造生成部１０１は、以上説明したようにコンテンツＣ１１〜Ｃ１５を順次クラスタリングし、クラスタｃ２１〜ｃ２４を生成する。また、木構造生成部１０１は、生成したクラスタｃ２１〜ｃ２４に基づいて、木構造（クラスタリング樹形図）を生成する。このようにして生成された木構造を、図７に示す。
【００７５】
各コンテンツＣ１１〜Ｃ１５をリーフノードとして扱うと、木構造生成部１０１により生成される各クラスタは、図７に示すような木構造を形成することがわかる。例えば図６Ｂにおいて、クラスタｃ２１は、コンテンツＣ１１およびコンテンツＣ１２の全てを包含するクラスタである旨を説明した。このような包含関係は、図７において、クラスタｃ２１から２つの枝が分岐しており、コンテンツＣ１１およびコンテンツＣ１２がクラスタｃ２１の子ノードとなっていることに対応している。同様に、例えば図６Ｅにおいて、クラスタｃ２４が、クラスタｃ２２およびクラスタｃ２３の全てを包含するクラスタである旨を説明した。このような包含関係は、図７に示した木構造において、クラスタｃ２４から２つの枝が分岐しており、クラスタｃ２２およびクラスタｃ２３がクラスタｃ２４の子ノードとなっていることに対応している。
【００７６】
また、図６Ｅおよび図７からも明らかなように、最終的に生成されたクラスタｃ２４は、全てのコンテンツ（すなわち、全てのリーフノード）および全てのクラスタ（すなわち、ノード）を包含するものである。したがって、クラスタｃ２４は、木構造において、ルートノードに対応するクラスタであることがわかる。
【００７７】
以上、木構造生成部１０１が実施する内部ツリーの生成処理を、具体例を挙げながら説明した。
【００７８】
木構造生成部１０１は、内部ツリーの生成処理が終了すると、続いて、以下で説明するようなクラスタツリーの生成処理を実施する。
【００７９】
なお、図６Ａ〜図６Ｅに示したような内部ツリーの生成処理、および、以下で説明するクラスタツリーの生成処理が行われる際には、クラスタの中心位置およびクラスタ間距離を適式に算出することが好ましい。本実施形態に係る木構造生成部１０１は、これらの情報を算出するために、任意の方法を用いることが可能であるが、例えば、以下のような方法を用いても良い。
【００８０】
例えば、コンテンツデータが全部でｎ個存在する場合、木構造生成部１０１は、まず、１つのクラスタに各データが１つの要素として属するようにクラスタを設定し、全体でｎ個のクラスタを作成する。なお、各クラスタは、属性値として、中心点Ｃおよび半径ｒを有し、中心点Ｃの初期値はデータの座標値であり、半径ｒの初期値は０である。
【００８１】
次に、木構造生成部１０１は、クラスタに属する全要素について、クラスタ中心Ｃから各要素までの距離が半径ｒ以下になるように、クラスタ中心Ｃと半径ｒとを決定する。これにより、中心点Ｃおよび半径ｒで定まる球の内部に、クラスタに属する全要素が含まれることとなる。
【００８２】
続いて、木構造生成部１０１は、クラスタ間の距離を、例えば以下のように定める。
【００８３】
クラスタｉおよびクラスタｊを併合してクラスタｋが作成される場合、木構造生成部１０１は、クラスタｉおよびクラスタｊの間の距離ｄ（ｉ，ｊ）を、以下の式１０１および式１０２を利用して算出することができる。
【００８４】
ｄ（ｉ，ｊ）＝ｒ（ｋ）−ｒ（ｉ）−ｒ（ｊ）  （ｒ（ｋ）≧ｒ（ｉ）＋ｒ（ｊ））
・・・（式１０１）
ｄ（ｉ，ｊ）＝０  （ｒ（ｋ）＜ｒ（ｉ）＋ｒ（ｊ））      ・・・（式１０２）
【００８５】
なお、上記式１０１および式１０２において、ｒ（ｉ）は、クラスタｉの半径を表す。上記式１０１および式１０２から明らかなように、クラスタ間距離ｄは、クラスタを併合した場合の半径の増分に相当する。
【００８６】
次に、２つのクラスタが併合された後の併合後のクラスタの中心点および半径を求める方法について、図８Ａ〜図８Ｃを参照しながら、簡単に説明する。図８Ａ〜図８Ｃは、２つのクラスタを併合する場合における各クラスタに属する要素の包含関係を示す図である。
【００８７】
２つのクラスタを併合する場合、木構造生成部１０１は、クラスタに属する要素の包含関係に応じて、以下の（１）〜（３）の３つのパターンに場合分けをする。
【００８８】
（ａ）  ｍ（ｉ）⊃ｍ（ｊ）
（ｂ）  ｍ（ｊ）⊃ｍ（ｉ）
（ｃ）  上記以外
【００８９】
なお、ｍ（ｉ）は、クラスタｉに属する全要素の集合を示し、ｍ（ｊ）は、クラスタｊに属する全要素の集合を示している。
【００９０】
上記（ａ）が表す状況は、図８Ａに示したように、クラスタｊに属する全ての要素が、クラスタｉに属する場合である。上記（ｂ）が表す状況は、図８Ｂに示したように、クラスタｉに属する全ての要素が、クラスタｊに属する場合である。また、上記（ｃ）は、上記（ａ）および（ｂ）以外の状況であり、例えば、クラスタｉおよびクラスタｊの包含関係が、図８Ｃに示す関係となっている場合である。
【００９１】
木構造生成部１０１は、上記（ａ）〜（ｃ）の場合分けを、クラスタｉおよびクラスタｊの各中心点の座標および各半径に基づいて決定する。
【００９２】
例えば、クラスタｉの中心点の座標Ｃ（ｉ）から半径ｒ（ｉ）の球が、中心点の座標Ｃ（ｊ）および半径ｒ（ｊ）で構成される球からなるクラスタｊを全て含む場合、木構造生成部１０１は、図８Ａにしたような上記（ａ）の状況が成立していると判断する。
【００９３】
換言すれば、木構造生成部１０１は、ｒ（ｉ）≧ｒ（ｊ）＋ｌ（ｉ，ｊ）となる場合、上記（ａ）の関係が成立していると判断する。ここで、ｌ（ｉ，ｊ）は、以下の式１０３に示すように、クラスタｉおよびクラスタｊの中心点間のユークリッド距離である。
【００９４】
ｌ（ｉ，ｊ）＝｜Ｃ（ｉ）−Ｃ（ｊ）｜  ・・・（式１０３）
【００９５】
ここで、データの次元をｄｉｍとすると、ｌ（ｉ，ｊ）は、以下の式１０４により表すことができる。ここで、以下の式１０４において、ｃ（ｉ，ｋ）は、クラスタｉの中心値を表す属性のｋ番目の値を意味する。
【００９６】
【数１】
0005446799.tif 000002
【００９７】
上記（ａ）の状況が成立している場合、木構造生成部１０１は、併合後のクラスタｋの中心点および半径として、クラスタｉのものをそのまま利用する。
【００９８】
また、上記（ｂ）の場合は、上記（ａ）の場合において添え字「ｉ」および「ｊ」を入れ替えた場合に相当するため、木構造生成部１０１は、上記（ａ）の場合と同様に処理を行うことができる。
【００９９】
上記（ｃ）の状況が成立している場合、木構造生成部１０１は、図８Ｃに示したように、クラスタｉの球およびクラスタｊの球を含む最小の球として、クラスタｋを生成する。ここで、木構造生成部１０１は、クラスタｋの半径を、以下の式１０５を用いて算出する。また、木構造生成部１０１は、クラスタｋの中心点を、以下の式１０６を用いて算出する。ここで、クラスタｋの中心点は、クラスタｉの中心点Ｃ（ｉ）およびクラスタｊの中心点Ｃ（ｊ）を結ぶ直線上に存在することとなる。
【０１００】
ｒ（ｋ）＝（ｌ（ｉ，ｊ）＋ｒ（ｉ）＋ｒ（ｊ））／２  ・・・（式１０５）
Ｃ（ｋ）＝｛（ｒ（ｉ）−ｒ（ｊ）＋ｌ（ｉ，ｊ））＊Ｃ（ｉ）
＋（ｒ（ｊ）−ｒ（ｉ）＋ｌ（ｉ，ｊ））＊Ｃ（ｊ）｝
／（２＊ｌ（ｉ，ｊ））                    ・・・（式１０６）
【０１０１】
以上説明したような方法を用いることで、木構造生成部１０１は、クラスタ間距離およびクラスタの中心点を決定することができる。
【０１０２】
木構造生成部１０１は、このようにして算出されたクラスタの中心点（中心位置）および半径を、クラスタデータを構成するクラスタに固有な属性値とする。木構造生成部１０１は、内部ツリーを構成する各クラスタに固有なこれらの属性値を利用して、以下で説明するクラスタツリーの生成処理を実行する。また、後述するノード抽出部１０５は、任意の点がクラスタに含まれるか否かを、クラスタツリーを構成する各クラスタの属性値と、任意の点に対応する位置情報とを比較することで、容易に判断することができる。また、あるクラスタ領域は、このクラスタ領域の親クラスタのクラスタ領域に全てが含まれており、クラスタの属性値（中心位置および半径）がそのクラスタに含まれる要素の範囲を示す。そのため、後述するノード抽出部１０３および表示制御部１０７は、表示画面に表示されるクラスタと要素との対応付けを容易に行うことができる。
【０１０３】
続いて、図９を参照しながら、木構造生成部１０１が行うクラスタツリーの生成処理について、簡単に説明する。図９は、クラスタの生成方法（より詳細には、クラスタツリーの生成方法）を説明するための説明図である。
【０１０４】
内部ツリーに基づくクラスタツリーの生成処理は、図９に示したようなパラメータに則して行われる。クラスタツリーの生成処理に利用されるパラメータとして、図９では、（Ａ）クラスタのどのような特徴量に着目するか、（Ｂ）ルートノードの位置する階層およびリーフノードの位置する階層以外に、いくつの階層を生成するか、（Ｃ）各階層のクラスタ粒度の条件、というパラメータが設定されている。具体的には、図９では、（Ａ）クラスタの最大直径に基づいて、（Ｂ）ルートノードの位置する階層およびリーフノードの位置する階層の間に２つの階層を生成し、（Ｃ）第１階層の最大直径Ｒ≦１００、第２階層の最大直径Ｒ≦５０、という設定がなされている。
【０１０５】
ここで、木構造生成部１０１は、生成した内部ツリーのルートノードから順に木構造を探索し、第１階層に関する条件を満たすノードを特定する。そして、木構造生成部１０１は、特定したノードが属する各ブランチについて、条件を満たす最上位のノードを、第１階層に属するノードとする。この結果、図９に示した例では、太字の点線でつないだ３つのノード（図の左から順に、Ｒ＝５３であるノード、Ｒ＝４６であるノード、および、Ｒ＝８２であるノード）が、第１階層に属するノードとして選択される。
【０１０６】
同様にして、木構造生成部１０１は、生成した内部ツリーのルートノードから順に木構造を探索し、第２階層に関する条件を満たすノードを特定する。そして、木構造生成部１０１は、特定したノードが属する各ブランチについて、条件を満たす最上位のノードを第２階層に属するノードとする。この結果、図９に示した例では、一点鎖線でつないだ６つのノード（左から順に、Ｒ＝１であるノード、Ｒ＝２０であるノード、Ｒ＝４６であるノード、左から７番目のコンテンツデータ、Ｒ＝２２であるノード、一番右のコンテンツデータ）が、第２階層に属するノードとして選択される。
【０１０７】
このような処理を行うことで、木構造生成部１０１は、図９の右側に示したようなクラスタツリーを生成する。
【０１０８】
木構造生成部１０１は、情報処理装置１０が利用可能なコンテンツについて、クラスタツリーの生成が終了すると、生成した各クラスタに対して、図１０に示したようなメタデータを関連付ける。このメタデータを、以下では、クラスタデータと称することとする。
【０１０９】
クラスタデータは、生成されたクラスタそれぞれに固有の情報である。このクラスタデータには、図１０に例示したように、クラスタに固有な識別情報（クラスタＩＤ）、クラスタ中心位置と半径に関する情報、クラスタに属するコンテンツ数、コンテンツリスト、子クラスタのリスト等が記録されている。
【０１１０】
クラスタＩＤは、クラスタデータに対応するクラスタに固有の識別情報であり、例えば、４桁の整数値が記録される。クラスタ中心位置は、クラスタデータに対応するクラスタの中心位置を示すデータであり、特徴空間における位置を指定する情報（例えば、クラスタの中心位置に対応する緯度および経度を表す情報）が記録される。クラスタ半径は、クラスタデータに対応するクラスタの半径を示すデータであり、例えば、単位をメートル（ｍ）とする値など、特徴空間を規定する特徴量を表すのに適した任意の形式で記録される。コンテンツ数は、クラスタデータに対応するクラスタの領域に含まれるコンテンツの数を示すデータである。コンテンツデータリストは、クラスタデータに対応するクラスタの領域に含まれるコンテンツのＩＤ（図１０では整数値で表されている。）を示すデータであり、例えば、コンテンツのＩＤとして整数値のリストが記録される。
【０１１１】
木構造生成部１０１は、クラスタリング処理が終了し、クラスタデータを生成した各クラスタに関連付けると、生成した木構造を表す木構造データ、および、クラスタデータを、後述する記憶部１１５等に格納する。
【０１１２】
以上、本実施形態に係る情報処理装置１０が備える木構造生成部１０１について説明した。続いて、本実施形態に係る情報処理装置１０が備える抽出条件設定部１０３について、説明する。
【０１１３】
抽出条件設定部１０３は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等により実現される。抽出条件設定部１０３は、後述する入力部１１１またはＧＰＳ信号処理部１１３から通知された情報に基づいて、後述するノード抽出部１０５が、木構造生成部１０１の生成した木構造を利用してあるノードを抽出する際に用いる抽出条件を設定する。
【０１１４】
具体的には、抽出条件設定部１０３は、入力部１１１またはＧＰＳ信号処理部１１３から通知された情報に基づいて、後述するノード抽出部１０５がノード抽出処理の際に基準として用いる位置に関する情報を生成し、生成した位置情報を抽出条件とする。
【０１１５】
抽出条件設定部１０３が設定する位置情報は、木構造生成部１０１によって設定された特徴空間の種別に対応したものとなる。例えば、特徴空間が、緯度・経度といった球表面上の位置を表す特徴量により規定されたものである場合、抽出条件設定部１０３は、緯度・経度といった特徴量で記載された位置情報を、抽出条件として設定する。また、特徴空間が、２次元ベクトルにより規定される平面空間である場合、抽出条件設定部１０３は、所定の２次元ベクトルで記載された位置情報を、抽出条件として設定する。また、特徴空間が、時刻のようなスカラー量で規定される１次元空間である場合、抽出条件設定部１０３は、所定のスカラー量で記載された位置情報を、抽出条件として設定する。
【０１１６】
抽出条件設定部１０３は、設定した位置情報を、後述するノード抽出部１０５に出力する。
【０１１７】
ノード抽出部１０５は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等により実現される。ノード抽出部１０５は、木構造生成部１０１が生成した木構造を利用し、抽出条件設定部１０３により設定された抽出条件に基づいて、木構造を構成するノードの中から、１または複数のノードを抽出する。
【０１１８】
より詳細には、ノード抽出部１０５は、抽出条件設定部１０３により任意の位置情報が抽出条件として指定されると、指定された位置情報が属する木構造中のノードに対応付けられたクラスタデータを参照して、指定された位置情報が、どのノードに属するかを特定する。また、ノード抽出部１０５は、特定したノードの木構造における位置に応じて、木構造中に存在するノードのなかから、指定された位置情報が属するノード以外の１または複数のノードを抽出する。
【０１１９】
ここで、ノード抽出部１０５は、木構造中に存在するノード（すなわちクラスタ）のなかから、（ｉ）特定したノードの子ノードである全てのノードと、（ｉｉ）特定したノードの親ノードから分岐する、特定したノード以外のノード（すなわち兄弟ノード）と、を抽出する。更に、ノード抽出部１０５は、特定したノード、および、特定したノードの兄弟ノードの親ノードを、新たに着目ノードとし、着目ノードの親ノードから分岐する当該着目ノード以外のノード（すなわち、着目ノードの兄弟ノード）を更に抽出する。ノード抽出部１０５は、このようなノード抽出処理を、着目ノードがルートノードとなるまで繰り返す。
【０１２０】
また、木構造生成部１０１が生成した木構造によっては、抽出条件設定部１０３により設定された位置情報が、木構造中の複数のノードに属する場合（換言すれば、位置情報が複数のクラスタに属する場合）も生じうる。このような場合、ノード抽出部１０５は、設定された位置情報が属する複数のノードのうち、ルートノードから最も深い位置に存在するノードを、指定された位置情報が属するノードとすることが好ましい。
【０１２１】
以下では、上述のようなノード抽出部１０５が行うノード抽出処理について、図１１〜図１７を参照しながら、具体的に説明する。
【０１２２】
なお、以下の説明では、特徴空間が、地球表面上における位置を表現する球表面上の位置空間であるものとし、特徴空間上の任意の位置は、緯度および経度によって定義されるものとする。また、特徴空間でのデータ間距離は、図１１に示した、いわゆる大圏距離で定義されるものとする。
【０１２３】
大圏距離は、球面上の２地点間の距離を表すものであり、図１１に示した曲線ｄの長さに相当するものである。この大圏距離ｄは、２つの地点の球面上での座標をそれぞれ（ｌａｔ１，ｌｏｎｇ１）、（ｌａｔ２，ｌｏｎｇ２）と表した場合に、以下の式１０７によって算出される値である。
【０１２４】
【数２】
0005446799.tif 000003
【０１２５】
このような特徴空間のもとで、メタデータとして緯度・経度に関する情報を含む画像コンテンツをクラスタリングした結果得られる木構造（クラスタツリー）の例を、図１２に示した。図１２に示した木構造は、木構造生成部１０１により生成されるものであるが、この木構造は、画像コンテンツが撮像された場所に着目してクラスタリングを行った結果を表しているものといえる。
【０１２６】
図１２において、リーフノードであるノードａ〜ノードｒが、それぞれの画像コンテンツのコンテンツデータに対応しており、木構造において、第４階層に位置している。また、第３階層〜第０階層に位置するノードが、木構造生成部１０１によるクラスタリングの結果生成されたクラスタツリーの各クラスタに対応している。
【０１２７】
図６Ａ〜図９で説明したように、木構造生成部１０１におけるクラスタリングは、データ間距離（またはクラスタ間距離）が近いもの同士をクループとみなすことで実施される。したがって、各クラスタが示す領域は、図１２の左側にクラスタの直径を用いて示したように、第４階層から第０階層に向かうにしたがって、広いものとなる。また、図１２に示した木構造では、図９で説明したように階層ごとにサイズの上限（図１２では、クラスタの直径の上限）が決まっており、階層ごとにノードの粒度（クラスタの粒度）を合わせるようになっている。
【０１２８】
ここで、第０階層から第３階層に位置するクラスタにつけられた名前は、あくまでも説明の都合上設けたものであって、木構造生成部１０１によって生成されるクラスタそれぞれに、クラスタが表す実空間での領域を特徴付けるような名前が付与されていなくともよい。また、木構造生成部１０１は、各クラスタをユーザに提示するような状況が生じうる場合には、コンテンツのメタデータに記載されている住所を表す情報や、ユーザによって入力された各種情報等を参照して、各クラスタに対して具体的な名前を付与してもよい。
【０１２９】
ここで、図１２に示した第４階層に位置するリーフノード「ｊ」、「ｋ」、「ｌ」に着目する。これらのリーフノードに対応するコンテンツデータは、メタデータに記載されている位置に関する情報が互いに近い場所になっており、特徴空間上で互いの距離が近いデータとなっている。そのため、これら３つのデータは１つのグループとしてまとめられ、「東京展望台」というノード（クラスタ）に包含されている。なお、このノードに「東京展望台」というランドマークが付与されているのは、リーフノードｊ〜ｌに関連付けられた位置に関する情報が、「東京展望台」という場所の周辺を示す情報だからである。
【０１３０】
また、図１２において、「新宿庭園」という名前が付与されているノードは、「新宿庭園」というランドマーク周辺を表す位置情報を有しているリーフノードｇ〜リーフノードｉを包含したノードである。この「新宿庭園」というノードと「東京展望台」というノードとは、互いに距離が近いため、それぞれ「東京」というノードに包含されている。
【０１３１】
また、「東京展望台」というノードが「東京」というノードに包含される、といったように、親子関係にあるノード間ではクラスタ領域の重複があるものの、それ以外のノード間、例えば「東京」と「名古屋」というノード間には、クラスタ領域の重複はない。すなわち、この木構造は、先に示した木構造の５つの特徴（１）〜（５）の全てを有する木構造である。
【０１３２】
図１２に示したような木構造が木構造生成部１０１によって生成されている際に、抽出条件設定部１０３から、ある位置情報が抽出条件として設定された場合におけるノード抽出部１０５の処理を、図１３〜図１５を参照しながら具体的に説明する。
【０１３３】
図１３は、抽出条件設定部１０３から「東京展望台」ノードの領域内に位置する位置情報が通知された場合に抽出されるノードの木構造における位置関係を示している。
【０１３４】
かかる場合において、ノード抽出部１０５は、まず、木構造生成部１０１に対して、現在生成されている木構造の有無を問い合わせ、木構造生成部１０１から、図１３に示したような木構造（クラスタツリー）に関する木構造データを取得する。続いて、ノード抽出部１０５は、通知された位置情報が、どのノードに含まれるのかを、第０階層から順に判定していく。この判定処理は、通知された位置情報と、各ノードに対応するクラスタデータに記載されているクラスタ中心位置およびクラスタ半径等により規定されるクラスタ領域と、を比較することで行われる。
【０１３５】
図１３に示した例の場合、ノード抽出部１０５は、通知された位置情報が属するノードを検索していき、第０階層から順に、「日本」ノード、「首都圏」ノード、「東京」ノード、「東京展望台」ノードという４つのノードに属している旨を把握する。
【０１３６】
続いて、ノード抽出部１０５は、通知された位置情報が属するノードのうち、一番下位の階層に位置するノードを選択する。図１３に示した例の場合、ノード抽出部１０５は、「東京展望台」というノードを選択し、ノード抽出処理の開始ノードとする。
【０１３７】
次に、ノード抽出部１０５は、開始ノードである「東京展望台」の全ての子ノードであるリーフノードｊ、リーフノードｋ、リーフノードｌを抽出する。また、ノード抽出部１０５は、開始ノードである「東京展望台」の兄弟ノードである「新宿庭園」ノードを抽出する。
【０１３８】
続いて、ノード抽出部１０５は、「東京展望台」ノードおよび「新宿庭園」ノードの親ノードである「東京」ノードを着目ノードとし、着目ノードである「東京」ノードの兄弟ノードである「千葉」ノードを抽出する。
【０１３９】
次に、ノード抽出部１０５は、抽出したノードである「千葉」ノードおよび着目ノードである「東京」ノードの親ノードである「首都圏」ノードを、新たな着目ノードとし、着目ノードである「首都圏」ノードの兄弟ノードである「中京圏」ノードを抽出する。
【０１４０】
続いて、ノード抽出部１０５は、抽出した「中京圏」ノードと着目ノードである「首都圏」ノードとの親ノードである「日本」ノードを、新たな着目ノードとする。ここで、図１３に示した木構造において「日本」ノードはルートノードであるため、ノード抽出部１０５は、ノードの抽出処理を終了する。
【０１４１】
ノード抽出部１０５は、以上のような抽出処理を行った結果、木構造中に存在するノードの中から、リーフノードｊ〜ｌ、「新宿庭園」ノード、「千葉」ノード、および、「中京圏」ノードを、指定位置を基準としたクラスタリングの結果として抽出する。
【０１４２】
図１４は、抽出条件設定部１０３から、「千葉」ノードの領域内に位置するものの、「千葉」ノードの子ノードのいずれの領域にも含まれない位置情報が通知された場合に抽出されるノードについて、木構造における位置関係を示したものである。
【０１４３】
ノード抽出部１０５は、図１４に示した例においても、図１３に示した例と同様にして、通知された抽出条件である位置情報が属するノードを選択する。この例の場合、ノード抽出部１０５は、「千葉」ノードを、ノード抽出処理の開始ノードとして選択する。
【０１４４】
次に、ノード抽出部１０５は、「千葉」ノードの子ノードである「千葉遊園地」ノードと、「千葉展示場」ノードを抽出する。また、ノード抽出部１０５は、開始ノードである「千葉」ノードの兄弟ノードである「東京」ノードを抽出する。
【０１４５】
続いて、ノード抽出部１０５は、「千葉」ノードと「東京」ノードの親ノードである「首都圏」ノードを着目ノードとし、着目ノードである「首都圏」ノードの兄弟ノードである「中京圏」ノードを抽出する。
【０１４６】
続いて、ノード抽出部１０５は、抽出した「中京圏」ノードと着目ノードである「首都圏」ノードとの親ノードである「日本」ノードを、新たな着目ノードとする。ここで、図１４に示した木構造において「日本」ノードはルートノードであるため、ノード抽出部１０５は、ノードの抽出処理を終了する。
【０１４７】
ノード抽出部１０５は、以上のような抽出処理を行った結果、木構造中に存在するノードの中から、「千葉遊園地」ノード、「千葉展示場」ノード、「東京」ノード、および、「中京圏」ノードを、指定位置を基準としたクラスタリングの結果として抽出する。
【０１４８】
図１５は、抽出条件設定部１０３から、「日本」ノードの領域内に位置するものの、「日本」ノードの子ノードのいずれの領域にも含まれない位置情報が通知された場合に抽出されるノードについて、木構造における位置関係を示したものである。
【０１４９】
ノード抽出部１０５は、図１５に示した例においても、図１３に示した例と同様にして、通知された抽出条件である位置情報が属するノードを選択する。この例の場合、ノード抽出部１０５は、「日本」ノードを、ノード抽出処理の開始ノードとして選択する。
【０１５０】
ノード抽出部１０５は、ノード抽出処理の開始ノードが木構造のルートノードである場合には、ルートノードの全ての子ノード（すなわち、第１階層に属する全てのノード）を抽出して、ノード抽出処理を終了する。したがって、図１５に示した例では、ノード抽出部１０５は、開始ノードがルートノードである旨を把握すると、ルートノードの子ノードである「首都圏」ノードおよび「中京圏」ノードを抽出し、ノード抽出処理を終了する。
【０１５１】
なお、抽出条件設定部１０３から通知された位置情報が、木構造生成部１０１から取得した木構造のルートノードにも含まれない場合も生じうる。このような場合、ノード抽出部１０５は、木構造のルートノードを抽出して処理を終了する。例えば、図１２に示したような木構造の場合において、ルートノードである「日本」ノードに含まれないような位置情報が抽出条件設定部１０３から通知された場合、ノード抽出部１０５は、ルートノードである「日本」ノードを抽出して処理を終了する。
【０１５２】
次に、図１６および図１７を参照しながら、親子関係にないノード間に領域の重複がある木構造（すなわち、先に示した５つの木構造の特徴のうち、（５）の特徴を有しないもの）を用いた場合のノード抽出処理について、説明する。
【０１５３】
図１６および図１７に示した木構造では、各図の右上に示したベン図（Ｖｅｎｎ  ｄｉａｇｒａｍ）のように、ノードＩが、２つのノード（ノードＤおよびノードＥ）の領域の双方に属している。
【０１５４】
図１６は、かかる場合において、抽出条件設定部１０３から、ノードＩの領域内に属する位置情報が通知された場合に抽出されるノードについて、木構造における位置関係を示したものである。
【０１５５】
ノード抽出部１０５は、木構造生成部１０１から取得した木構造を参照して、親子関係にないノード間に領域の重複がある旨を把握すると、以下で説明するような処理を行う。
【０１５６】
ノード抽出部１０５は、まず、ルートノードから分岐したそれぞれのブランチにおいて、通知された位置情報が含まれるノードがどのノードかを判定する。図１６に示した例の場合、ノード抽出部１０５は、通知された位置情報が、ノードＣから分岐した流れに属するノードＩと、ノードＣから分岐した流れに属するノードＥとに、含まれる旨を把握する。
【０１５７】
ノード抽出部１０５は、指定された位置情報が含まれる複数のノードを特定すると、続いて、これら複数のノードのうち、最も下層に位置するノードがどれかを判断し、最も下層に位置するノードを、ノード抽出処理の開始ノードとして選択する。図１６に示した例の場合、ノードＥは第２階層に属しており、ノードＩは第３階層に属している。したがって、ノード抽出部１０５は、第３階層に属しているノードＩを、ノード抽出処理の開始ノードとして選択する。この時点で、選択状態となっているノードは１つのみであるため、以下の処理は、図１３で説明した場合と同様の処理が行われる。その結果、図１６に示したように、ノード抽出部１０５は、リーフノードｊ〜ｌと、ノードＨと、ノードＥと、ノードＢとを、指定位置を基準としたクラスタリングの結果として抽出する。
【０１５８】
他方、図１７に示した例は、抽出条件設定部１０３から通知された位置情報が、図中のベン図に示したように、ノードＤおよびノードＥの双方に含まれる場合に、ノード抽出部１０３により抽出されるノードを示したものである。
【０１５９】
ノード抽出部１０５は、指定された位置情報が含まれる複数のノードを特定した結果、ノードＤおよびノードＥが、開始ノードの候補となることを把握する。続いて、ノード抽出部１０５は、木構造生成部１０１から取得した木構造に基づいて、どちらのノードがより下層に位置するかを判断する。本例の場合、ノード抽出部１０５は、２つのノードがともに同じ階層に属することを認識する。このように、開始ノードの候補となる複数のノードが同一の階層に属している場合には、ノード抽出部１０５は、同一の階層に属している複数のノードを、それぞれ開始ノードとして扱う。本例の場合、ノード抽出部１０５は、ノードＤおよびノードＥを、ノード抽出処理の開始ノードとして選択する。
【０１６０】
次に、ノード抽出部１０５は、開始ノードの全ての子ノードを抽出する。図１７に示した例では、ノード抽出部１０５は、ノードＤおよびノードＥそれぞれの子ノードであるノードＨ〜ノードＫを抽出する。続いて、ノード抽出部１０５は、開始ノードの兄弟ノードを全て抽出する。しかし、図１７に示した例では、開始ノードであるノードＤおよびノードＥ以外に、ノードＣの子ノードとなっているノードは存在しない（すなわち、ノードＤおよびノードＥ以外の兄弟ノードは存在しない）ため、ノード抽出部１０５は、何も選択しない。
【０１６１】
次に、ノード抽出部１０５は、各開始ノードの親ノードを着目ノードとして、ノードの抽出を継続する。本例の場合、開始ノードであるノードＤおよびノードＥの親ノードは、ともにノードＣであるため、ノード抽出部１０５は、２つ存在した選択状態を１つにまとめ、ノードＣのみを着目ノードとして、処理を継続する。
【０１６２】
ノード抽出部１０５は、かかる処理を、着目ノードの親ノードが存在しなくなるまで繰り返す。その結果、図１７に示した例では、ノード抽出部１０５は、ノードＨ、ノードＩ、ノードＪ、ノードＫおよびノードＢを、指定位置を基準としたクラスタリングの結果として抽出する。
【０１６３】
なお、木構造において、ルートノードは１つしか存在しないため、複数存在した選択状態は、最終的にはルートノードにおいて１つに統合されることとなる。
【０１６４】
以上の例では、抽出条件設定部１０３により、ある特徴空間上の点が指定された場合における、ノード抽出部１０５の処理について述べてきたが、位置だけでなく、範囲を伴うある特徴空間上の領域が指定された場合の処理について、以下で説明する。
【０１６５】
この処理は、例えばクラスタリング結果をいずれかに表示するようなケースにおいて、現在のビュー（表示可能領域）に依存したクラスタリングを行うような場合に行うことが可能な処理である。例えば、情報処理装置１０が備える表示部１０９の表示画面に、日本全体が表示されるような縮尺の地図が表示されている場合を考える。この際に、抽出条件設定部１０３から、ある点を中心とした円で表される領域が、抽出条件として通知されたとする。
【０１６６】
ここで、抽出条件設定部１０３から通知された位置情報が、図１２に示したランドマーク「東京展望台」の周辺だった場合、上述の方法であれば、リーフノードｊ，ｋ，ｌが抽出されることになる。このような粒度に対応する情報（例えば、画像コンテンツのサムネイル画像）が表示画面に表示されたとする。この場合、日本全体が表示されている地図における「東京展望台」周辺の大きさは微小なものとなると推察されるため、これらのノードに対応する情報は、互いに重なり合ってしまうと考えられる。そのため、かかる状況において、選択されたノードよりも粒度の高い「東京展望台」や「東京」などといったノード粒度で表示画面上に抽出結果を表示した方が、ユーザの視認性を高めることとなり、より適切であるといえる。
【０１６７】
そこで、かかる場合に対応するために、ノード抽出部１０５は、図１８に示したような木構造における階層レベルに対応した下限と指定領域の半径との対応関係を、予め設定しておき、後述する記憶部１１５等に格納しておく。
【０１６８】
図１８に示した例では、例えば、抽出条件設定部１０３から通知された領域が、ある位置を中心とし、半径２０ｋｍの円であった場合、ノード抽出部１０５は、図１８のような表（またはデータベース）を参照して表示する階層レベルの下限を調べ、階層レベルの下限が第３階層であることを把握する。この場合、ノード抽出部１０５は、図１３〜図１５で説明した処理において、与えられた木構造は第３階層が末端である（すなわち、それ以上子ノードが存在しない）として、抽出ノードの決定を行うことが可能である。
【０１６９】
これにより、例えば、指定位置のみの条件設定であればノード「ｊ」「ｋ」「ｌ」が抽出され得るケースにおいて、階層レベルの下限が３であった場合、ノード抽出部１０５は、これら３ノードの代わりに「東京展望台」というノードを抽出することになる。
【０１７０】
なお、上述の説明では、指定される領域が、ある位置を中心とした円であるとしたが、この指定領域は、長方形などで表される矩形領域であってもよい。この場合には、長方形の短辺の半分、または、長辺と短辺の平均の半分を、上述の指定半径と置き換えて用いることが可能である。
【０１７１】
また、円形や矩形ではなく、任意の形状を領域として指定することも可能である。この場合には、領域面積の平方根（ｎ次元であれば、体積の１／ｎ乗）を、上述の指定半径と置き換えて用いることが可能である。
【０１７２】
また、上述の例では、指定された領域の大きさに応じて、表示する階層レベルの下限を決定する場合について説明したが、指定された領域の大きさに応じて、表示する階層レベルの上限を決定してもよい。
【０１７３】
なお、ノード抽出部１０５は、図１８に示したような対応表を予め生成しておくのではなく、データ構造に応じて自動で生成するようにしてもよい。例えば、各階層において、まず同階層における最大のサイズを調査し、このサイズに予め定めた関数（例えば、最大サイズの定数倍）を作用させ、その階層レベルを下限とする指定半径を、逆に算出してもよい。
【０１７４】
また、上述の例のような地球表面上の位置を表現する場合でも、データの存在区間が局所的である場合には、球表面を近似的に平面とみなすこともできる。そのため、緯度をｘ、経度をｙとした２次元の特徴平面を考え、距離に関してもユークリッド距離で近似するようにして生成されたデータ構造（木構造）を用いてもよい。この場合であっても、先に説明した方法と同様にして、同様の結果を得ることが可能である。
【０１７５】
更に、特徴空間は、１次元の時刻空間であってもよい。この場合には、特徴空間上の位置は、スカラー量である時刻で定義され、特徴空間上でのデータ間の距離は、時刻差で定義される。このような特徴空間に対して先だって説明したような処理を行うことで、特定の時刻を基準としたグループ分けを実現することができる。
【０１７６】
例えば、特定の時刻として現在時刻を指定する場合を考える。また、データは、写真の撮影時刻を表すものであるとする。この場合、最近撮影した写真ほど細かい粒度でクラスタリングされることとなり、また撮影後時間のたった過去の写真ほど、大きな粒度でクラスタリングされることになる。そのため、例えば直近の写真は日単位くらいの粒度でクラスタリングされる一方、数か月前くらいの写真は月単位になり、さらに数年前の写真になると年単位でクラスタリングされるような効果を得ることができる。
【０１７７】
以上説明したように、本実施形態に係るノード抽出部１０５では、位置情報が指定される毎に、木構造を構築してクラスタリングを行うのではなく、特徴空間におけるデータ間の距離に基づいて予め構築された木構造（クラスタツリー）を利用して、指定された位置情報が木構造のどのノードに属するかを判断しながら、ノードを抽出する。これにより、指定される位置情報が時々刻々と変化する場合であっても、その都度クラスタリングを再実行しなくてもよくなり、特徴空間における特定の位置からの距離に基づきクラスタ粒度を変化させるようなクラスタリングを、クラスタリングに要する負荷を抑制しながら行うことが可能となる。
【０１７８】
以上、本実施形態に係るノード抽出部１０５の機能について、詳細に説明した。
続いて、再び図３に戻って、本実施形態に係る表示制御部１０７について説明する。
【０１７９】
表示制御部１０７は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等により実現される。表示制御部１０７は、後述する入力部１１１から、クラスタの閲覧を指示するユーザ操作がなされた旨の通知を受けると、ノード抽出部１０５によって抽出されたノード（すなわち、クラスタ）に基づいて、後述する記憶部１１５等に格納されているコンテンツを取得する。その後、表示制御部１０７は、取得した画像コンテンツを抽出されたクラスタに基づいてグループ化して閲覧ビューを構成し、この閲覧ビューを後述する表示部１０９に表示させる表示制御を行う。
【０１８０】
また、表示制御部１０７は、必要に応じて、木構造生成部１０１またはノード抽出部１０５に対して、木構造データの伝送を要請してもよい。また、表示制御部１０７は、必要に応じて、木構造生成部１０１またはノード抽出部１０５に対して、木構造がどのようになっているのか、または、あるノードの親ノード、子ノード、兄弟ノード等を問い合わせてもよい。
【０１８１】
表示制御部１０７で行われる表示部１０９の表示制御方法については、以下で改めて詳細に説明する。
【０１８２】
表示部１０９は、本実施形態に係る情報処理装置１０が備える表示装置の一例である。表示部１０９は、情報処理装置１０が実行可能な各種のコンテンツや、各種のアプリケーションの実行画面等を表示する表示部である。また、表示部１０９には、各種コンテンツの動作や、各種アプリケーションの実行状況等を操作するために利用される各種のオブジェクトが表示されてもよい。
【０１８３】
表示部１０９が備える表示画面には、表示制御部１０７による制御によって、様々な情報が表示される。表示部１０９に表示される表示画面の一例については、以下で改めて詳細に説明する。
【０１８４】
入力部１１１は、本実施形態に係る情報処理装置１０が備える入力装置の一例である。この入力部１１１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、入力装置等により実現される。入力部１１１は、情報処理装置１０が備えるキーボード、マウス、タッチパネル等になされたユーザ操作を、なされたユーザ操作に対応する電気的な信号に変換して、抽出条件設定部１０３および表示制御部１０７に通知する。例えば、ユーザによって、表示画面のある地点を指定する操作や、表示画面のある地点を中心とする領域を指定する操作がなされた場合、入力部１１１は、かかる地点や領域を表す情報を生成して、抽出条件設定部１０３等に出力する。
【０１８５】
ＧＰＳ信号処理部１１３は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信装置等により実現される。ＧＰＳ信号処理部１１３は、ＧＰＳ受信アンテナ（図示せず。）で受信されたＧＰＳ信号に基づいて、情報処理装置１０が位置している場所（正確には、ＧＰＳ信号を受信した場所）の位置情報を算出する。ＧＰＳ信号処理部１１３は、算出した位置情報を、抽出条件設定部１０３に出力する。なお、この算出された位置情報には、緯度、経度、高度等の各種メタデータが含まれている。
【０１８６】
記憶部１１５は、本実施形態に係る情報処理装置１０が備えるストレージ装置の一例である。この記憶部１１５には、情報処理装置１０が有する各種のコンテンツデータ、および、コンテンツデータに対応付けられたメタデータ等が格納されてもよい。また、記憶部１１５には、木構造生成部１０１が生成した木構造に対応する木構造データが格納されてもよい。また、記憶部１１５には、表示制御部１０７が、各種の情報を表示部１０９に表示するために利用する各種のアプリケーションに対応する実行データが格納されてもよい。また、この記憶部１１５には、情報処理装置１０が何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が適宜格納される。この記憶部１１５は、本実施形態に係る情報処理装置１０が備える各処理部が、自由に読み書きを行うことが可能である。
【０１８７】
なお、本実施形態に係る情報処理装置１０は、位置情報およびコンテンツの生成時刻をコンテンツや付加データファイルから取得する機能を有する装置であればよい。例えば、デジタルスチルカメラ、デジタルビデオカメラ等の撮像装置、記憶装置内蔵マルチメディアコンテンツビューワー、コンテンツを記録保存閲覧することが可能な携帯情報端末、ネットワーク上の地図サービスと連携したコンテンツ管理閲覧サービス、パーソナルコンピュータのアプリケーションソフト、写真データ管理機能を有する携帯ゲーム端末、記憶装置を有するカメラ付き携帯電話機、記憶装置、写真データ管理機能を有するデジタル家電やゲーム機に適用することができる。なお、記憶装置の容量が大きいほどグループ化の効果を発揮するものの、記憶容量の大小にかかわらず、本実施形態に係る機能を適用することができる。
【０１８８】
以上、本実施形態に係る情報処理装置１０の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、ＣＰＵ等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【０１８９】
なお、上述のような本実施形態に係る情報処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【０１９０】
また、上述の説明では、木構造の各ノードが超球である場合を例にとったが、木構造の各ノードが上述の例に限定されるわけではない。例えば、木構造におけるノード領域を、長方形をもちいてノードの領域を表現する手法（Ｒ−Ｔｒｅｅ法）、長方形と円を組み合わせてノードの領域を表現する手法（ＳＲ−Ｔｒｅｅ法）、多角形を用いて表現する方法等を利用して、表現してもよい。
【０１９１】
＜ノードの抽出方法について＞
次に、図１９および図２０を参照しながら、本実施形態に係る情報処理装置１０が実施する情報処理方法（より詳細には、ノードの抽出方法）について、簡単に説明する。図１９および図２０は、本実施形態に係る情報処理装置１０が実施するノードの抽出方法を説明するための流れ図である。
【０１９２】
なお、以下の説明に先立ち、木構造生成部１０１により情報処理装置１０が利用可能なコンテンツデータについて上述のような木構造（クラスタツリー）が生成されており、ノード抽出部１０５が、木構造生成部１０１から木構造に対応する木構造データを取得しているものとする。
【０１９３】
まず、図１９を参照しながら、親子関係にあるノード間にのみ領域の重複がある木構造（すなわち、先に説明した木構造の５つの特徴（１）〜（５）の全てを有する木構造）を用いたノードの抽出方法について、簡単に説明する。
【０１９４】
まず、ノード抽出部１０５は、抽出条件設定部１０３から、ノード抽出処理を行う際の基準となる位置に関する位置情報が通知されると、指定された位置情報が、木構造に関連する特徴空間のどの位置に該当するものであるのかを特定する（ステップＳ１０１）。次に、ノード抽出部１０５は、木構造中に存在するノードが占める特徴空間における領域と、指定された位置情報の特徴空間上での位置とを比較することで、ルートノードから順に、指定位置がノードに含まれているかを判定する（ステップＳ１０３）。次に、ノード抽出部１０５は、抽出条件設定部１０３が指定した指定位置が含まれる最も下層のノードを、ノード抽出処理の開始ノードとして選択する（ステップＳ１０５）。
【０１９５】
次に、ノード抽出部１０５は、選択中のノードを表す識別情報を、パラメータＰの内容として設定する（ステップＳ１０７）。続いて、ノード抽出部１０５は、抽出処理済みのノードを表すパラメータＣの内容を、空データ（ｎｕｌｌ）に初期化する（ステップＳ１０９）。
【０１９６】
その後、ノード抽出部１０５は、パラメータＰの内容が空データではない間、以下のステップＳ１１３およびステップＳ１１５を繰り返す（ステップＳ１１１）。
【０１９７】
ステップＳ１１３は、木構造生成部１０１から取得した木構造データを参照しながら、ノード抽出部１０５が、パラメータＰで表されるノードの子ノードのうち、パラメータＣに記載されているもの以外のノードを全て抽出するステップである。
【０１９８】
また、ステップＳ１１５は、パラメータの更新を行うステップである。すなわち、ノード抽出部１０５は、現在パラメータＰに記載されている内容を、新たにパラメータＣの内容として設定する。また、ノード抽出部１０５は、新たに設定されたパラメータＣで表されるノードの親ノードを、新たにパラメータＰの内容として設定する。
【０１９９】
このようなステップＳ１１３およびステップＳ１１５を、ステップＳ１１１に示した条件が成立している間繰り返すことにより、ノード抽出部１０５は、図１２〜図１５で説明したようなノード抽出処理を実行することができる。
【０２００】
続いて、図２０を参照しながら、親子関係にあるノード間以外に領域の重複がある木構造（すなわち、先に示した５つの木構造の特徴のうち、（５）の特徴を有しないもの）を用いたノードの抽出方法について、簡単に説明する。
【０２０１】
まず、ノード抽出部１０５は、抽出条件設定部１０３から、ノード抽出処理を行う際の基準となる位置に関する位置情報が通知されると、指定された位置情報が、木構造に関連する特徴空間のどの位置に該当するものであるのかを特定する（ステップＳ２０１）。次に、ノード抽出部１０５は、木構造中に存在するノードが占める特徴空間における領域と、指定された位置情報の特徴空間上での位置とを比較することで、ルートノードから順に、指定位置がノードに含まれているかを判定する（ステップＳ２０３）。次に、ノード抽出部１０５は、抽出条件設定部１０３が指定した指定位置が含まれる最も下層のノードＰｉをノード抽出処理の開始ノードとして選択し、リストＬに入力する（ステップＳ２０５）。
【０２０２】
次に、ノード抽出部１０５は、各種パラメータの設定を行う。すなわち、ノード抽出部１０５は、パラメータＰｉ．ｐｔｒに、選択したノードへのポインタを指定し、パラメータＰｉ．ｉｇｎｏｒｅ＿ｌｉｓｔを空データとする（ステップＳ２０７）。
【０２０３】
続いて、ノード抽出部１０５は、パラメータＰ０．ｐｔｒの内容が空データではない間、以下のステップＳ２１１〜ステップＳ２１９を繰り返す（ステップＳ２０９）。
【０２０４】
ステップＳ２１１は、木構造生成部１０１から取得した木構造データを参照しながら、ノード抽出部１０５が、パラメータＰｉ．ｐｔｒで表されるノードの子ノードのうち、パラメータＰｉ．ｉｇｎｏｒｅ＿ｌｉｓｔに記載されていないノードを全て抽出するステップである。
【０２０５】
ステップＳ２１３は、パラメータの更新を行うステップである。すなわち、ノード抽出部１０５は、現在パラメータＰｉ．ｐｔｒに記載されているポインタを、パラメータＰｉ．ｉｇｎｏｒｅ＿ｌｉｓｔに入力する。また、ノード抽出部１０５は、Ｐｉ．ｐｔｒで表されるノードの親ノードを、新たにパラメータＰｉ．ｐｔｒの内容として設定する。
【０２０６】
ステップＳ２１５は、ノード抽出部１０５は、Ｐｉ．ｐｔｒの内容が同一となるノードＰｉ，Ｐｊの組が存在するかを調査するステップである。ステップＳ２１７による判定ステップにより、Ｐｉ．ｐｔｒが同一となる（ｉ，ｊ）の組み合わせが存在した場合、ノード抽出部１０５は、以下の処理を実行する。すなわち、ノード抽出部１０５は、Ｐｉ．ｉｇｎｏｒｅ＿ｌｉｓｔとＰｊ．ｉｇｎｏｒｅ＿ｌｉｓｔを統合して、新たにＰｉ．ｉｇｎｏｒｅ＿ｌｉｓｔとするとともに、リストＬからＰｊを削除する（ステップＳ２１９）。また、Ｐｉ．ｐｔｒが同一となる（ｉ，ｊ）の組み合わせが存在しない場合には、ノード抽出部１０５は、かかるステップＳ２１９の処理は実行しない。
【０２０７】
このようなステップＳ２１１〜ステップＳ２１９を、ステップＳ２０９に示した条件が成立している間繰り返すことにより、ノード抽出部１０５は、図１６〜図１７で説明したようなノード抽出処理を実行することができる。
【０２０８】
なお、図２０に示したノード抽出方法は、図１９に示したノード抽出方法をより一般化したものであるため、図２０に示した方法にて図１２〜図１５に示したようなケースも扱うことが可能である。ただし、処理を一般化しなくてもよいのであれば、処理が単純である図１９に示した方法を利用することが好ましい。
【０２０９】
以上、本実施形態に係る情報処理装置１０で実施されるノード抽出方法について、簡単に説明した。続いて、図２１〜図２６を参照しながら、本実施形態に係る表示制御部１０７が実施する表示制御方法および表示部１０９の表示画面の一例について、詳細に説明する。
【０２１０】
＜表示画面の一例について＞
まず、図２１〜図２５を参照しながら、本実施形態に係る表示制御部１０７が表示制御することによって表示部１０９に表示される表示画面の一例について、詳細に説明する。
【０２１１】
なお、以下では、表示制御部１０７が、コンテンツデータに対応するサムネイルやアイコン等といったオブジェクトを、コンテンツデータに関連付けられた位置情報に応じた表示位置に表示するアプリケーションを実施している場合について説明する。以下の説明では、このようなアプリケーションとして、指定された位置周辺の地図を表示する地図アプリケーションを例にとり、静止画コンテンツおよび動画コンテンツといった画像コンテンツに対応するオブジェクトを表示する場合を考える。
【０２１２】
また、以下の説明に先立ち、情報処理装置１０が実行可能なコンテンツに関する木構造（クラスタツリー）が予め構築されているものとする。
【０２１３】
この地図アプリケーションを起動する操作がユーザによってなされ、そのユーザ操作に対応する操作信号が入力部１１１から通知されると、表示制御部１０７は、該当する地図アプリケーションのプログラム本体を記憶部１１５等から取得して実行し、表示部１０９の表示画面に、所定の位置周辺の地図を表示する。ここで、表示画面に最初に表示される位置は、ＧＰＳ信号処理部１１３によって通知される現在位置であってもよく、入力部１１１によって通知される、ユーザによって指定された位置であってもよい。
【０２１４】
ここで、表示制御部１０７は、この地図アプリケーションを実行して実行画面を生成する際に、入力部１１１またはＧＰＳ信号処理部１１３等から指定された位置が、実行画面の中央に位置するように調整を行う。
【０２１５】
他方、入力部１１１またはＧＰＳ信号処理部１１３により指定された位置に関する情報は、抽出条件設定部１０３を介して、ノード抽出部１０５にも通知されている。ノード抽出部１０５は、先だって説明したような処理を行って、予め構築されている木構造中に含まれるノード（クラスタ）の中から、１または複数のノードを抽出し、表示制御部１０７に出力する。
【０２１６】
ここで、表示制御部１０７は、情報処理装置１０が利用可能なコンテンツの一覧を実行画面に表示する際に、コンテンツに対応する位置情報が表す位置と、実行画面の中央位置との間の離隔距離に応じて、表示画面に表示するコンテンツのオブジェクトを変更する。
【０２１７】
より詳細には、表示制御部１０７は、実行画面として表示画面に表示されている領域内にコンテンツが含まれている場合（コンテンツの位置情報が表示領域内の位置を示すものである場合）には、該当するコンテンツのサムネイル画像等のオブジェクトを表示する。換言すれば、表示制御部１０７は、コンテンツデータに対応するリーフノードの親ノードとして表されるクラスタを考え、クラスタ領域の少なくとも一部が実行画面として表示されている領域内に含まれる場合、該当するコンテンツデータのサムネイル画像等を表示画面に表示する。
【０２１８】
また、コンテンツに対応する位置情報が表す位置が、表示画面に表示されている領域に含まれない場合も生じうる。この場合、表示制御部１０７は、ノード抽出部１０５から通知されたノードのうち該当するコンテンツを包含するノード（クラスタ）を利用して、このクラスタに対応するオブジェクトを表示画面に表示する。この際、クラスタに対応するオブジェクトとして、クラスタに付与された名前を用いることが好ましい。
【０２１９】
例えば、図１３に示したような場合を例にとって、具体的に説明する。この際、表示画面の中央位置は、「東京展望台」というノードに含まれているものとし、表示画面には、「東京展望台」周辺の地図が表示されているものとする。
【０２２０】
かかる場合において、リーフノードｊ〜ｌに対応するコンテンツは、その位置情報が表示画面に表示されている領域に含まれる。したがって、表示制御部１０７は、リーフノードｊ〜ｌに対応するコンテンツのサムネイル画像等をオブジェクトとして利用し、表示画面に表示する。
【０２２１】
また、リーフノードｇ〜ｉに対応するコンテンツは、その位置情報が表示画面に表示されている領域に含まれない。そのため、表示制御部１０７は、ノード抽出部１０５によって抽出されたノードであり、かつ、これらのリーフノードを包含するノードである「新宿庭園」ノードを利用し、このノードに対応するオブジェクトを表示する。
【０２２２】
同様に、リーフノードｍ〜ｒに対応するコンテンツは、その位置情報が表示画面に表示されている領域に含まれない。したがって、表示制御部１０７は、ノード抽出部１０５によって抽出されたノードであり、かつ、これらのリーフノードを包含するノードである「千葉」ノードを利用し、このノードに対応するオブジェクトを表示する。
【０２２３】
また、リーフノードａ〜ｆに対応するコンテンツは、その位置情報が表示画面に表示されている領域に含まれない。したがって、表示制御部１０７は、ノード抽出部１０５によって抽出されたノードであり、かつ、これらのリーフノードを包含するノードである「中京圏」ノードを利用し、このノードに対応するオブジェクトを表示する。
【０２２４】
表示制御部１０７は、このような表示制御を行うことで、表示画面の中央位置からの距離に応じたクラスタリング粒度で、情報処理装置１０が実行可能なコンテンツの一覧を、ユーザに提示することが可能となる。
【０２２５】
以上のような処理により生成される表示画面の一例を、図２１に示す。なお、図２１に示した表示画面は、図１２〜図１７に示した木構造とは異なる木構造を用いて生成されたものである。なお、表示画面の生成に用いられた木構造は、地球表面上における位置を表現する特徴空間に基づくものである。
【０２２６】
図２１の中央に示した図のように、本実施形態に係る表示制御部１０７は、表示画面の中央位置からの距離に応じて、コンテンツデータに対応するオブジェクトの表示態様を変化させながら、当該オブジェクトを表示画面中に表示させる。
【０２２７】
図２１の中央に示した図の場合、コンテンツＡおよびコンテンツＢについては、その位置情報が表示画面に表示された領域内に含まれるものであったため、サムネイル画像３０１が表示されている。また、情報処理装置１０が利用可能な他のコンテンツについては、その位置情報が表示画面に表示された領域内に含まれないため、該当するクラスタを表すオブジェクト（以下、クラスタオブジェクトと称する。）３０３が表示されている。
【０２２８】
また、クラスタを表すオブジェクトであるクラスタオブジェクト３０３には、図２１に示したように、矢印等の方向指示オブジェクト３０５が設けられる。
【０２２９】
表示画面中に複数のクラスタオブジェクト３０３が配置される場合も生じうる。この場合、表示制御部１０７は、クラスタオブジェクト３０３および方向指示オブジェクト３０５がなるべく重なりあわないように、その表示位置を調整することが好ましい。
【０２３０】
この方向指示オブジェクト３０５は、その先端が、対応するクラスタオブジェクト３０３の中心位置の方向に向くように表示画面中に表示される。以下、図２２Ａ〜図２２Ｃを参照しながら、方向指示オブジェクト３０５の描画方法について、簡単に説明する。なお、図２２Ａ〜図２２Ｃに示した座標系は、表示画面の中央を原点とする、表示画面中の各位置を表すための座標系である。
【０２３１】
図２２Ａは、表示画面に表示されている表示領域と、クラスタＡとの位置関係を模式的に表した図である。図２２Ａに示したように、表示制御部１０７は、クラスタＡに対応するクラスタオブジェクトに方向指示オブジェクト３０５を付加する場合、まず、クラスタＡのクラスタ領域について、表示画面用の座標系における中心位置Ｃ（ｃ＿ｘ，ｃ＿ｙ）を特定する。その後、表示制御部１０７は、原点と中心位置Ｃとを結ぶ直線を考え、この直線上に方向指示オブジェクト３０５を配置する。この際、図２２Ａに示したように、方向指示オブジェクト３０５の先端を、原点と中心位置Ｃとを結ぶ直線と、表示領域の境界線との交点Ａ（ａ＿ｘ，ａ＿ｙ）とすることが好ましい。
【０２３２】
また、図２２Ｂに示したように、表示制御部１０７は、表示画面の中心位置（すなわち、原点Ｏ）とクラスタＡとの間の距離に応じて、方向指示オブジェクト３０５の大きさを変化させる。より詳細には、表示制御部１０７は、クラスタＡとの距離が近づくほど、方向指示オブジェクト３０５の大きさを大きくする。かかる表示を行うことで、ユーザは、方向指示オブジェクト３０５に対応するクラスタと、表示領域の中心位置との間の距離を、感覚的に把握することが可能となる。
【０２３３】
また、図２２Ｃに示したように、表示制御部１０７は、クラスタＡのクラスタ領域の少なくとも一部が表示領域に含まれるようになると、クラスタオブジェクト３０３および方向指示オブジェクト３０５に換えて、サムネイル画像３０１を表示する。また、クラスタＡのクラスタ領域の一部が表示領域に含まれるようになった場合であっても、方向指示オブジェクト３０５を表示したままにしておいてもよい。
【０２３４】
また、図２２Ａ〜図２２Ｃでは、方向指示オブジェクト３０５の表示位置および大きさについて説明したが、クラスタオブジェクト３０３についても、クラスタＡが存在する方向を示唆するような位置に表示され、また、クラスタとの距離を示唆するような大きさで表示されることが好ましい。
【０２３５】
例えば図２２Ａに示したように、表示領域は、その対角線を現す２本の直線によって、４つの部分領域に区分することができる。ここで、各クラスタに対応するクラスタオブジェクト３０３は、クラスタが属する部分領域内に配置されることが好ましい。例えば、図２２Ａに示したクラスタＡに対応するクラスタオブジェクト３０３は、ｙ≧（ｈｅｉｇｈｔ／ｗｉｄｔｈ）ｘ、かつ、ｙ≧−（ｈｅｉｇｈｔ／ｗｉｄｔｈ）ｘで表される領域内に配置されることが好ましい。
【０２３６】
また、図２１に示したようにクラスタオブジェクト３０３が文字配列からなるオブジェクトである場合には、表示制御部１０７は、文字の大きさを、クラスタとの距離を示唆するような大きさで表示することが好ましい。例えば、表示制御部１０７は、クラスタとの距離が大きい場合には文字の大きさを小さくし、クラスタとの距離が小さい場合には文字の大きさを大きくすることが好ましい。
【０２３７】
ここで、表示制御部１０７は、クラスタオブジェクト３０３および方向指示オブジェクト３０５の具体的な大きさを任意の方法で決定することが可能であるが、表示制御部１０７は、例えば、図２３Ａに示したような関数を用いて具体的な大きさを決定してもよい。
【０２３８】
図２３Ａに示した関数において、Ｘ座標は、表示画面の中心位置からクラスタ中心までのピクセル距離を現しており、Ｙ座標は、クラスタオブジェクトおよび方向指示オブジェクトの表示倍率を表している。
【０２３９】
ここで、表示制御部１０７は、表示倍率Ｙを、以下の式１５１および式１５２のように決定する。
【０２４０】
【数３】
0005446799.tif 000004
【０２４１】
上記式より明らかなように、表示制御部１０７は、クラスタ中心との距離が所定の閾値（ＭＩＮ＿ＤＩＳＴ）未満である場合には、表示倍率を最大値（ＭＡＸ＿ＳＣＡＬＥ）とし、所定の閾値以上である場合には、表示倍率が最大値の１／Ｘとなるように変化させる。
【０２４２】
また、表示制御部１０７は、クラスタオブジェクト３０３および方向指示オブジェクト３０５の具体的な大きさを、クラスタに含まれるコンテンツ数に応じて決定してもよい。この場合、表示制御部１０７は、図２３Ｂに示したような関数を用いて具体的な大きさを決定してもよい。
【０２４３】
図２３Ｂに示した関数において、Ｘ座標は、クラスタに含まれるコンテンツ数を現しており、Ｙ座標は、クラスタオブジェクトおよび方向指示オブジェクトの表示倍率を表している。
【０２４４】
ここで、表示制御部１０７は、表示倍率Ｙを、以下の式１５３および式１５４のように決定する。
【０２４５】
【数４】
0005446799.tif 000005
【０２４６】
ここで、上記式１５３におけるパラメータｋは、関数の傾きを決める係数であり、本方法を適用する環境に応じて、任意の値を設定することが可能である。上記式より明らかなように、表示制御部１０７は、クラスタに含まれるコンテンツ数が１である場合には、表示倍率を最小値（ＭＩＮ＿ＳＣＡＬＥ）とし、クラスタに含まれるコンテンツ数が増加するに従って、上記式１５３に基づいて表示倍率を変化させる。
【０２４７】
再び図２１に戻って、表示画面の一例について説明する。
表示画面に表示されるコンテンツの数によっては、表示画面中に多くのオブジェクトが表示されてしまい、画面が煩雑になる場合も生じうる。そこで、表示制御部１０７は、表示画面に表示されるオブジェクトが増加して表示画面が煩雑になったと判断した場合、表示画面に表示するオブジェクトを更に選択してもよい。
【０２４８】
例えば、表示制御部１０７は、表示画面の中心位置からの距離、コンテンツの大きさ、クラスタが包含しているコンテンツの個数、コンテンツ視聴に関するユーザの履歴情報、コンテンツに紐付けられている各種の情報の有無や順位付け等に応じて、オブジェクトの更なる選択を行うことが可能である。
【０２４９】
また、表示画面中に表示されているクラスタオブジェクト３０３の個数が煩雑になってきた場合には、表示制御部１０７は、同一階層に属するクラスタに対応するクラスタオブジェクト３０３を一つにまとめて表示するようにしてもよい。
【０２５０】
なお、表示画面が煩雑になったか否かの判定は、任意の方法で行うことが可能であるが、例えば、表示制御部１０７は、表示画面中に表示されるオブジェクトの個数が所定の閾値を超えたか否かに基づいて、判断を行っても良い。
【０２５１】
また、表示画面を見たユーザが、表示されているコンテンツのサムネイル画像３０１をクリックしたりタッピングしたりして選択する場合もある。かかる場合、表示制御部１０７は、選択されたコンテンツに関連付けられている説明文などのメタデータを、表示画面にあわせて表示したり、説明文を表示するために表示画面を切り替えたりしてもよい。また、選択したコンテンツが動画コンテンツ等のように再生可能なコンテンツである場合には、コンテンツの再生を行っても良い。
【０２５２】
ここで、ユーザが、表示画面の中心位置を変更せずに表示領域の拡大・縮小処理を行う場合も考えうる。例えば、ユーザによりズームアウト処理が行われた場合、表示制御部１０７は、新たに表示領域内に含まれるようになったコンテンツのサムネイル画像３０１を、表示画面に表示する。また、この処理に伴い、クラスタオブジェクト３０３および方向指示オブジェクト３０５の大きさが、ズームレベルに応じて変更となる。
【０２５３】
逆に、ユーザによりズームイン処理が行われる場合もある。この際、表示制御部１０７は、ズームイン処理に伴い、位置情報に対応する位置が新たな表示画面内に存在しなくなったコンテンツについて、そのオブジェクトをサムネイル画像３０１からクラスタオブジェクト３０３に変更する。
【０２５４】
また、表示制御部１０７は、拡大・縮小処理に伴って、クラスタオブジェクト３０３として表示しているクラスタの粒度を変更してもよい。これにより、拡大・縮小処理に伴ってクラスタへの距離に大きな変化が生じたことを、ユーザに周知することができる。
【０２５５】
例えば、図２１の中央に示した図において、ズームアウト処理がなされた場合、新たに表示画面内に属することとなったコンテンツ（例えば、「富士山」クラスタ、「川崎」クラスタ、「横浜」クラスタ）に対応するサムネイル画像３０１が表示画面中に表示される。また、図２１の中央に示した図において、「北海道」と「東北」という同一階層に属するクラスタのクラスタオブジェクト３０３がまとめて表示されているが、ここで、ズームアウトによって画面の煩雑さが解消されるため、まとめて表示されていたオブジェクトが個々の表示へと変更になる。また、ズームアウト処理によって画面の縮尺が変更となった関係で、表示制御部１０７は、「西日本」クラスタとして表示していたものを、より下層のクラスタである「名古屋」クラスタへと粒度の変更を行う。
【０２５６】
また、図２１の中央に示した図において、ズームイン処理がなされた場合、コンテンツＢが表示画面中に位置しなくなり、サムネイル画像３０１からクラスタオブジェクト３０３へと、オブジェクトの態様が変化する。また、ズームイン処理によって画面の縮尺が変更となった関係で、表示制御部１０７は、「川崎」、「横浜」と分けて表示していたクラスタをより上層のクラスタである「神奈川」へと変更する。
【０２５７】
なお、上述のようなクラスタの粒度の変更を行うか否かの判断は、任意の方法に則して行うことが可能であるが、表示制御部１０７は、例えば、以下のような方法でクラスタの粒度変更を行うか否かの判断を行っても良い。
【０２５８】
例えば、表示制御部１０７は、図２４に例示したように、表示領域のうち、対象となっているクラスタに最も近い点Ａを特定し、この点Ａを起点として、図２４に示した角度θを算出する。ここで、表示制御部１０７は、拡大・縮小処理に伴って角度θの大きさが所定の閾値よりも大きくなった場合には、クラスタを分割してより小さなクラスタ粒度に変更してもよい。例えば図２４において、左側に示した図のような表示領域が設定されており、クラスタＡが表示領域内に表示されており、拡大処理において、右側に示した図のように表示領域が変化したものとする。この際、図中の角度θが所定の閾値以上となると、表示制御部１０７は、クラスタＡに変えて、クラスタＢおよびクラスタＣを表示してもよい。
【０２５９】
他方、ユーザが表示画面中に表示されている方向指示オブジェクト３０５を選択する場合もある。この場合、表示制御部１０７は、まず、選択された方向指示オブジェクト３０５に対応するクラスタがどれであるかを特定する。続いて、表示制御部１０７は、特定したクラスタのクラスタ中心位置をクラスタデータに基づいて特定し、かかる位置が表示画面の中央となるように、画面の遷移を行う。なお、表示制御部１０７は、クラスタの中心位置ではなく、クラスタ中心位置に最も近いコンテンツの位置が表示画面の中央となるように、画面の遷移を行っても良い。かかる画面の遷移を行う場合、表示制御部１０７は、遷移先のクラスタに含まれるクラスタ（またはコンテンツ）が全て表示画面内に表示されるように、実行画面（例えば地図）の縮尺を決定することが好ましい。
【０２６０】
また、かかる画面遷移を行う場合、表示制御部１０７は、ノード抽出部１０５に、再度のノード抽出処理を要請し、新たに抽出されたノードに基づいて代表的な画像を表示画面内に表示してもよい。ここで、代表的な画像として、クラスタの中心位置に近い画像、クラスタ内のコンテンツ分布の重心に近い画像等を挙げることができる。
【０２６１】
また、例えば図２５に示したように、表示制御部１０７は、コンテンツに対応するオブジェクトを、指定位置（例えば現在位置）からの距離のみに応じて、その分布を示すようにしてもよい。ここで、図中に示した距離が、指定位置からの離隔距離を示している。この場合、表示制御部１０７は、各クラスタに対して、クラスタに包含されるコンテンツの代表的なサムネイル画像３０１と、クラスタオブジェクト３０３と、離隔距離を表したオブジェクト３０７とを、表示画面に表示する。ここで、ユーザによりあるクラスタ（例えば「栃木」というクラスタ）が選択された場合には、表示制御部１０７は、そのクラスタに含まれるコンテンツが一度に表示されるように、表示画面の遷移を行う。
【０２６２】
以上説明したように、本実施形態に係る表示制御部１０７は、ノード抽出部１０５による抽出結果を利用し、位置が近いコンテンツ同士をまとめてクラスタリング結果として表示することで、表示画面が煩雑になるという状況を解消することが可能となる。また、表示制御部１０７は、指定された位置から近いコンテンツほど細かい粒度で表示画面上に表示することで、指定位置から近い位置にあるコンテンツの情報を、詳細に表示することが可能となる。
【０２６３】
なお、上記説明では、表示制御部１０７が、表示画面中に存在するコンテンツを表示する際に、このコンテンツのサムネイル画像を表示する場合について説明を行った。しかしながら、表示制御部１０７は、コンテンツのサムネイル画像ではなく、コンテンツの位置を表すピンなどのようなオブジェクトを、表示画面に表示してもよい。
【０２６４】
＜表示画面の制御方法について＞
続いて、図２６を参照しながら、本実施形態に係る表示画面の制御方法について、簡単にその流れを説明する。図２６は、本実施形態に係る表示画面の制御方法を説明するための流れ図である。
【０２６５】
なお、以下の説明に先立ち、木構造生成部１０１によって、情報処理装置１０が利用可能なコンテンツに関する木構造の生成が行われているものとする。
【０２６６】
ユーザにより所定のアプリケーションの起動を要請する操作が行われると、情報処理装置１０の表示制御部１０７は、指定されたアプリケーションを起動する（ステップＳ３０１）。また、抽出条件設定部１０３は、入力部１１１またはＧＰＳ信号処理部１１３から通知された各種情報に基づいて、ノード抽出処理に利用される抽出条件を設定し、ノード抽出部１０５に通知する。続いて、ノード抽出部１０５は、通知された抽出条件に基づいて、上で説明したようなノードの抽出処理を実施し（ステップＳ３０３）、抽出したノードに関する情報を、表示制御部１０７に通知する。
【０２６７】
続いて、表示制御部１０７は、抽出されたノードに関する情報等を利用して、表示部１０９に表示する表示画面を生成し（ステップＳ３０５）、生成した表示画面を、表示部１０９の所定の領域に表示する。
【０２６８】
その後、情報処理装置１０は、ユーザによってアプリケーションの終了操作が行われたか否かを判定する（ステップＳ３０７）。終了操作が行われた場合には、情報処理装置１０は、アプリケーションの実行を終了する。
【０２６９】
他方、終了操作が行われなかった場合には、情報処理装置１０は、表示画面の状態変化を生じさせるようなユーザ操作が行われたか否かを判断する（ステップＳ３０９）。
【０２７０】
例えば、ユーザ操作によって、あるクラスタ（クラスタオブジェクト）が選択された場合には、表示制御部１０７は、選択されたクラスタの内容を表示する表示画面を生成して（ステップＳ３１１）、表示部１０９の所定の領域に表示する。その後、情報処理装置１０は、ステップＳ３０７に戻って、処理を継続する。
【０２７１】
また、ユーザによって、表示領域が変化するような操作が行われた場合には、表示制御部１０７は、変化後の表示領域に基づいて表示画面を生成し（ステップＳ３１３）、表示部１０９の所定の領域に表示する。その後、情報処理装置１０は、ステップＳ３０７に戻って、処理を継続する。
【０２７２】
また、ユーザによって、あるコンテンツが選択された場合には、表示制御部１０７は、選択されたコンテンツに対応する説明文等の情報を表示画面に表示する処理を行う（ステップＳ３１５）。その後、情報処理装置１０は、ステップＳ３０７に戻って、処理を継続する。
【０２７３】
かかる処理を行うことで、本実施形態に係る情報処理装置１０は、表示画面が煩雑にならないように、コンテンツの内容を表示画面に表示することが可能となる。
【０２７４】
（ハードウェア構成について）
次に、図２７を参照しながら、本発明の実施形態に係る情報処理装置１０のハードウェア構成について、詳細に説明する。図２７は、本発明の実施形態に係る情報処理装置１０のハードウェア構成を説明するためのブロック図である。
【０２７５】
情報処理装置１０は、主に、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、を備える。また、情報処理装置１０は、更に、ホストバス９０７と、ブリッジ９０９と、外部バス９１１と、インターフェース９１３と、入力装置９１５と、出力装置９１７と、ストレージ装置９１９と、ドライブ９２１と、接続ポート９２３と、通信装置９２５とを備える。
【０２７６】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置１０内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバス等の内部バスにより構成されるホストバス９０７により相互に接続されている。
【０２７７】
ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【０２７８】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール手段（いわゆる、リモコン）であってもよいし、情報処理装置１０の操作に対応した携帯電話やＰＤＡ等の外部接続機器９２９であってもよい。さらに、入力装置９１５は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。情報処理装置１０のユーザは、この入力装置９１５を操作することにより、情報処理装置１０に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０２７９】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置９１７は、例えば、情報処理装置１０が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置１０が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
【０２８０】
ストレージ装置９１９は、情報処理装置１０の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０２８１】
ドライブ９２１は、記録媒体用リーダライタであり、情報処理装置１０に内蔵、あるいは外付けされる。ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２７に記録を書き込むことも可能である。リムーバブル記録媒体９２７は、例えば、ＤＶＤメディア、ＨＤ−ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア等である。また、リムーバブル記録媒体９２７は、コンパクトフラッシュ（登録商標）（ＣｏｍｐａｃｔＦｌａｓｈ：ＣＦ）、フラッシュメモリ、または、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等であってもよい。また、リムーバブル記録媒体９２７は、例えば、非接触型ＩＣチップを搭載したＩＣカード（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  ｃａｒｄ）または電子機器等であってもよい。
【０２８２】
接続ポート９２３は、機器を情報処理装置１０に直接接続するためのポートである。接続ポート９２３の一例として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。接続ポート９２３の別の例として、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。この接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置１０は、外部接続機器９２９から直接各種のデータを取得したり、外部接続機器９２９に各種のデータを提供したりする。
【０２８３】
通信装置９２５は、例えば、通信網９３１に接続するための通信デバイス等で構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデム等であってもよい。この通信装置９２５は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置９２５に接続される通信網９３１は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
【０２８４】
以上、本発明の実施形態に係る情報処理装置１０の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【０２８５】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０２８６】
１０    情報処理装置
１０１    木構造生成部
１０３    抽出条件設定部
１０５    ノード抽出部
１０７    表示制御部
１０９    表示部
１１１    入力部
１１３    ＧＰＳ信号処理部
１１５    記憶部
【図１】
0005446799.tif 000006
【図２】
0005446799.tif 000007
【図３】
0005446799.tif 000008
【図４】
0005446799.tif 000009
【図５】
0005446799.tif 000010
【図６Ａ】
0005446799.tif 000011
【図６Ｂ】
0005446799.tif 000012
【図６Ｃ】
0005446799.tif 000013
【図６Ｄ】
0005446799.tif 000014
【図６Ｅ】
0005446799.tif 000015
【図７】
0005446799.tif 000016
【図８Ａ】
0005446799.tif 000017
【図８Ｂ】
0005446799.tif 000018
【図８Ｃ】
0005446799.tif 000019
【図９】
0005446799.tif 000020
【図１０】
0005446799.tif 000021
【図１１】
0005446799.tif 000022
【図１２】
0005446799.tif 000023
【図１３】
0005446799.tif 000024
【図１４】
0005446799.tif 000025
【図１５】
0005446799.tif 000026
【図１６】
0005446799.tif 000027
【図１７】
0005446799.tif 000028
【図１８】
0005446799.tif 000029
【図１９】
0005446799.tif 000030
【図２０】
0005446799.tif 000031
【図２１】
0005446799.tif 000032
【図２２Ａ】
0005446799.tif 000033
【図２２Ｂ】
0005446799.tif 000034
【図２２Ｃ】
0005446799.tif 000035
【図２３Ａ】
0005446799.tif 000036
【図２３Ｂ】
0005446799.tif 000037
【図２４】
0005446799.tif 000038
【図２５】
0005446799.tif 000039
【図２６】
0005446799.tif 000040
【図２７】
0005446799.tif 000041