以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.第1の実施形態
2.第2の実施形態
3.第3の実施形態
4.第4の実施形態
5.第5の実施形態
6.第6の実施形態
7.第7の実施形態
8.ハードウェア構成
9.補足
(1.第1の実施形態)
まず、図1〜8を参照して、本開示の第1の実施形態について説明する。
(装置構成)
図1は、本開示の第1の実施形態に係る情報処理装置の概略的な機能構成を示すブロック図である。
情報処理装置10は、例えばPC(Personal Computer)、ゲーム機、デジタルカメラ、ビデオカメラ、携帯電話、スマートフォン、タブレット端末、カーナビゲーションシステム、PDA(Personal Digital Assistant)などである。情報処理装置10は、操作取得部11、クラスタ編集部12、クラスタ名称編集部13、表示制御部14、および表示部15を含む。
操作取得部11は、表示部15に表示されるデータ表示、クラスタ表示、またはクラスタ名称表示へのユーザの操作を取得する。操作取得部11は、例えばタッチパネルやマウスなどの入力装置、または入力装置からの情報を取得するインターフェースによって実現される。操作取得部11は、取得された操作をクラスタ編集部12、またはクラスタ名称編集部13に提供する。また、操作取得部11は、取得された操作を表示制御部14に提供してもよい。
クラスタ編集部12は、操作取得部11が取得した操作に応じてクラスタを編集する。クラスタ編集部12は、例えば情報処理装置10のCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)などによって実現される。クラスタには特徴空間の位置データが分類される。クラスタ編集部12は、クラスタの編集として、例えばクラスタの生成、結合、分割、削除などを実行する。クラスタ編集部12は、編集結果をクラスタ情報16に反映させるとともに表示制御部14に提供する。
クラスタ名称編集部13は、操作取得部11が取得した操作に応じてクラスタ名称を編集する。クラスタ名称編集部13は、例えば情報処理装置10のCPU、RAM、ROMなどによって実現される。クラスタ名称は、クラスタに与えられる名称である。クラスタ名称編集部13は、クラスタ名称の編集として、例えばクラスタ名称の長さの変更、クラスタ名称の内容の変更などを実行する。クラスタ名称編集部13は、編集結果をクラスタ情報16に反映させるとともに表示制御部14に提供する。
表示制御部14は、データ表示、クラスタ表示、またはクラスタ名称表示のうちの少なくとも1つを表示部15に表示させる。表示制御部14は、例えば情報処理装置10のCPU、RAM、ROMなどによって実現される。表示制御部14は、クラスタ編集部12またはクラスタ名称編集部13によるクラスタまたはクラスタ名称の編集結果に応じて、表示部15に表示させるクラスタ表示またはクラスタ名称表示を変化させる。また、表示制御部14は、操作取得部11によって取得された操作、例えばポインティング操作の軌跡などを表示部15に表示させてもよい。
表示部15には、表示制御部14によってデータ表示、クラスタ表示、またはクラスタ名称表示のうちの少なくとも1つが表示される。表示部15は、例えば情報処理装置10の出力装置によって実現され、特徴空間の位置データ、クラスタ、およびクラスタ名称を視覚的にユーザに提示する。なお、表示部15は、必ずしも情報処理装置10に含まれていなくてもよく、情報処理装置10は、別体の表示装置によって実現される表示部15と通信して表示部15にデータ表示、クラスタ表示、またはクラスタ名称表示を表示させてもよい。
クラスタ情報16は、特徴空間の位置データの情報、位置データが分類されるクラスタの情報、およびクラスタの名称の情報を含む情報である。クラスタ情報16は、例えば情報処理装置10のストレージ装置に格納される。なお、クラスタ情報16は、必ずしも情報処理装置10の内部に保持されなくてもよく、情報処理装置10は、ネットワーク上のストレージから必要に応じてクラスタ情報16を取得してもよい。
(クラスタの生成)
図2および図3は、本開示の第1の実施形態においてクラスタが生成される例を示す図である。図2は、クラスタが生成される前の状態を示し、図3は、クラスタを生成するためのユーザの操作とクラスタが生成された後の状態とを示す。
図2では、表示制御部14が、表示部15に、地図100と、画像アイコン110とを表示させる。地図100は、位置が緯度および経度によって表現される2次元の特徴空間である。また、画像アイコン110は、撮影された画像コンテンツを示すアイコンである。撮影された画像コンテンツには、撮影位置の情報が地図100上の位置データとして付加されている。画像アイコンは、この位置データに基づいて、地図100上の各画像コンテンツの撮影位置に表示される。つまり、画像アイコン110は、特徴空間の位置データを示すデータ表示である。
図3(a)では、操作取得部11が、表示部15に表示された画像アイコン110への、ユーザのポインティング操作の軌跡120を取得する。軌跡120は、例えば、操作取得部11がマウスである場合には、マウスによってポインタが移動された軌跡として取得されうる。また、例えば、操作取得部11がタッチパネルである場合には、表示部15に対するユーザの接触の軌跡として取得されうる。
さらに、操作取得部11がタッチパネルである場合、操作取得部11は、図示されているように、表示部15の左下の隅の部分などの特定の部分へのユーザの接触を検出した場合に、通常モードからクラスタ編集モードに入り、軌跡120を取得してもよい。例えば、通常モードでは、操作取得部11は、表示部15に対するユーザの接触の移動を地図100の移動のためのドラッグ操作などとして取得する。一方、表示部15の特定の部分へのユーザの接触が持続している間のクラスタ編集モードでは、操作取得部11は、表示部15に対するユーザの接触から軌跡120を取得する。
これによって、ユーザがクラスタを編集しようとする場合を識別することが可能になり、通常モードでのドラッグ操作などの操作性と、クラスタ編集モードでの軌跡120を用いたクラスタ編集の操作性とを両立させることができる。
また、操作取得部11は、軌跡120の情報をクラスタ編集部12と表示制御部14とに提供する。軌跡120の情報を取得したクラスタ編集部12は、軌跡120の形状によって、どのようにクラスタを編集するかを判定する。一方、軌跡120の情報を取得した表示制御部14は、軌跡120を図示されているように表示部15に表示させる。
図示された例において、軌跡120は、画像アイコン110を3つのグループに分けて囲む。このように、軌跡120が画像アイコン110を囲む場合、クラスタ編集部12は、囲まれた画像アイコン110によって示される画像コンテンツを包含する新たなクラスタを生成する。従って、図示された例において、クラスタ編集部12は、3つの新たなクラスタを生成する。
図3(b)では、クラスタ編集部12が、画像アイコン110によって示される画像コンテンツを包含するクラスタを生成する。このクラスタは、画像アイコン110を包含する地図100上の領域として表現される。クラスタ編集部12は、生成されたクラスタの情報を表示制御部14に提供し、表示制御部14は、生成されたクラスタを示すクラスタ表示130を表示部15に表示させる。なお、図示された例において、クラスタ表示130は円形であるが、これには限られず、例えば矩形や多角形など様々な形でありうる。
このとき、表示制御部14は、クラスタ表示130に包含される画像アイコン110を表示部15から消滅させてもよい。これによって、クラスタ表示130と画像アイコン110とが輻輳することを防ぎ、視認性を向上させることができる。また、表示制御部14が表示部15に表示させるオブジェクトの数を削減し、表示を高速化することができる。
また、表示制御部14は、クラスタ表示130に合わせて、表示される地図100を移動させてもよい。例えば、表示制御部14は、クラスタ表示130の中心に地図100の中心を一致させる。クラスタ表示130が複数である場合、表示制御部14は、複数のクラスタ表示130の中心に地図100の中心を一致させてもよい。
さらに、表示制御部14は、クラスタ表示130に合わせて、表示される地図100の縮尺を変更してもよい。例えば、表示制御部14は、クラスタ表示130の直径が地図100の短辺に収まる最大の縮尺で地図100を表示する。クラスタ表示130が複数である場合、表示制御部14は、複数のクラスタ表示130がすべて表示されるように地図100の縮尺を設定してもよい。
このように、表示制御部14が、編集前後のクラスタ表示130に合わせて表示される地図100を移動させたり、表示される地図100の縮尺を変更したりすることによって、編集後のクラスタ表示130に対して、さらに続けて編集の操作をすることが容易になる。
一方、クラスタ編集部12は、生成されたクラスタの情報をクラスタ名称編集部13に提供し、クラスタ名称編集部13は、生成されたクラスタについてクラスタ名称を生成してもよい。なお、クラスタ名称の生成には、公知のあらゆる技術が用いられうる。この場合、クラスタ名称編集部13は、生成したクラスタ名称の情報を表示制御部14に提供し、表示制御部14は、クラスタ名称をクラスタ名称表示140として対応するクラスタ表示130の近傍に表示する。
(クラスタの結合)
図4は、本開示の第1の実施形態においてクラスタが結合される例を示す図である。図4は、クラスタが結合される前後の状態を示す。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130と、クラスタ名称表示140とを表示させる。また、操作取得部11が、軌跡120を取得する。操作取得部11は、軌跡120の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡120を図示されているように表示部15に表示させる。ここでも、クラスタの生成の例と同様に、操作取得部11は、表示部15の特定の部分へのユーザの接触によって通常モードからクラスタ編集モードに入り、軌跡120を取得してもよい。
図示された例において、軌跡120は、2つのクラスタ表示130を囲む。このように、軌跡120がクラスタ表示130を囲む場合、クラスタ編集部12は、囲まれたクラスタ表示130によって示されるクラスタを包含する新たなクラスタを生成する。従って、図示された例において、クラスタ編集部12は、“神奈川学園高校”および“横浜駅”のクラスタ表示130によって示されるクラスタを包含する新たなクラスタを生成する。
(b)では、クラスタ編集部12が、上記の2つのクラスタ表示130によって示されるクラスタを包含する新たなクラスタを生成する。新たなクラスタは、元の2つのクラスタが結合されたクラスタともいえる。このとき、クラスタ編集部12は、元の2つのクラスタの情報をクラスタ情報16に保持せず、新たなクラスタによって置き換えてもよい。また、クラスタ編集部12は、元の2つのクラスタの情報をクラスタ情報16に保持し、さらに、これらのクラスタの上位のクラスタとして新たなクラスタを生成してもよい。この場合、元の2つのクラスタと新たなクラスタとは木構造における親と子の関係になり、クラスタ情報16にはこれらのクラスタによって形成される木構造の情報が保持される。
ここで、クラスタ編集部12は、生成された新たなクラスタの情報を表示制御部14に提供し、表示制御部14は、新たなクラスタを示すクラスタ表示130を表示部15に表示させる。ここでも、クラスタの生成の例と同様に、表示制御部14は、クラスタの結合後のクラスタ表示130に合わせて、表示される地図100を移動させたり、表示される地図100の縮尺を変更したりしてもよい。
また、表示制御部14は、新たなクラスタに包含される元の2つのクラスタを示すクラスタ表示130を表示部15から消滅させてもよい。これによって、クラスタ表示130同士が輻輳することを防ぎ、視認性を向上させることができる。また、表示制御部14が表示部15に表示させるオブジェクトの数を削減し、表示を高速化することができる。元のクラスタ表示130の消滅や、新たなクラスタ表示130の出現は、フェードアウトやフェードインなどのアニメーションを用いて表示されてもよい。これによって、クラスタの結合が実行されていることをユーザに直感的に示すことができる。
一方、元のクラスタの情報がクラスタ情報16において保持される場合、表示制御部14は、新たなクラスタに包含される元の2つのクラスタを示すクラスタ表示130を表示部15に継続して表示してもよい。これによって、元の2つのクラスタと新たなクラスタとが親と子の関係にあることをユーザに直感的に示すことができる。
さらに、クラスタ編集部12は、生成されたクラスタの情報をクラスタ名称編集部13に提供し、クラスタ名称編集部13は、生成されたクラスタについてクラスタ名称を生成してもよい。なお、クラスタ名称の生成には、公知のあらゆる技術が用いられうる。この場合、クラスタ名称編集部13は、生成したクラスタ名称の情報を表示制御部14に提供し、表示制御部14は、クラスタ名称表示140を対応するクラスタ表示130の近傍に表示する。図示された例では、“西区、神奈川区”というクラスタ名称が生成され、クラスタ名称表示140として表示部15に表示される。
(クラスタの分割)
図5は、本開示の第1の実施形態においてクラスタが分割される第1の例を示す図である。図5は、クラスタが分割される前後の状態を示す。
この第1の例では、クラスタ情報16に保持されたクラスタの木構造の情報を用いてクラスタが分割される。つまり、クラスタの分割は、クラスタ表示130として表示されるクラスタを、木構造の親クラスタから子クラスタに変更することによって実行される。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130と、クラスタ名称表示140とを表示させる。また、操作取得部11が、軌跡120を取得する。操作取得部11は、軌跡120の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡120を図示されているように表示部15に表示させる。ここでも、クラスタ生成の例と同様に、操作取得部11は、表示部15の特定の部分へのユーザの接触によって通常モードからクラスタ編集モードに入り、軌跡120を取得してもよい。
図示された例において、軌跡120は、クラスタ表示130を横断する。このように、軌跡120がクラスタ表示130を横断する場合、クラスタ編集部12は、横断されたクラスタ表示130によって示されるクラスタを分割する。従って、図示された例において、クラスタ編集部12は、“西区、神奈川区”のクラスタ表示130によって示されるクラスタを分割する。
(b)では、クラスタ編集部12が、上記のクラスタ表示130によって示されるクラスタを2つのクラスタに分割する。上述のように、分割後の2つのクラスタは、クラスタの木構造で元のクラスタの下位のクラスタである。クラスタ編集部12は、分割後のクラスタの情報を表示制御部14に提供し、表示制御部14は、分割後のクラスタを示すクラスタ表示130を表示部15に表示させる。このとき、表示制御部14は、分割前のクラスタを示すクラスタ表示130を表示部15から消滅させる。ここで、クラスタ表示130の出現および消滅は、フェードインやフェードアウトなどのアニメーションを用いて表示されてもよい。これによって、クラスタの分割が実行されていることをユーザに直感的に示すことができる。
また、表示制御部14は、クラスタの分割に合わせて、表示される地図100を移動させてもよい。例えば、表示制御部14は、分割前のクラスタ表示130の中心に地図100の中心を一致させる。
さらに、表示制御部14は、クラスタの分割に合わせて、表示される地図100の縮尺を変更してもよい。例えば、表示制御部14は、分割前のクラスタ表示130の直径が地図100の短辺に収まる最大の縮尺で地図100を表示する。
一方、クラスタ編集部12は、分割後のクラスタの情報をクラスタ名称編集部13に提供し、クラスタ名称編集部13は、分割後のクラスタについてクラスタ名称を生成してもよい。なお、クラスタ名称の生成には、公知のあらゆる技術が用いられうる。この場合、クラスタ名称編集部13は、生成したクラスタ名称の情報を表示制御部14に提供し、表示制御部14は、クラスタ名称表示140を対応するクラスタ表示130の近傍に表示する。クラスタ名称がクラスタの木構造の情報とともにクラスタ情報16に保持されている場合には、クラスタ名称編集部13は新たにクラスタ名称を生成せず、クラスタ情報16に保持されているクラスタ名称が表示制御部14に提供されてもよい。
図6は、本開示の第1の実施形態においてクラスタが分割される第2の例を示す図である。図6は、クラスタが分割される前後の状態を示す。
この第2の例では、第1の例と同様に、クラスタ情報16に保持されたクラスタの木構造の情報を用いてクラスタが分割される。ただし、第2の例では、分割後のクラスタが、木構造の子クラスタの中からユーザによって選択される点が第1の例とは異なる。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130と、サブクラスタ表示135と、クラスタ名称表示140と、サブクラスタ名称表示145とを表示させる。サブクラスタ表示135は、クラスタ表示130の一種であり、クラスタ表示130によって示されるクラスタを親クラスタとした場合の子クラスタを示す表示である。サブクラスタ名称表示145は、サブクラスタ表示135によって示されるクラスタのクラスタ名称を示す表示である。
一方、操作取得部11は、軌跡120を取得する。操作取得部11は、軌跡120の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡120を図示されているように表示部15に表示させる。ここでも、クラスタ生成の例と同様に、操作取得部11は、表示部15の特定の部分へのユーザの接触によって通常モードからクラスタ編集モードに入り、軌跡120を取得してもよい。
図示された例において、軌跡120は、クラスタ表示130を横断する。このように、軌跡120がクラスタ表示130を横断する場合、クラスタ編集部12は、横断されたクラスタ表示130によって示されるクラスタを分割する。
さらに、図示された例において、軌跡120は、“西区、神奈川区”のクラスタ表示130によって示されるクラスタに包含される3つのサブクラスタ表示135を、“北軽井沢”および“南軽井沢”のサブクラスタ表示135と、“神奈川学園高校”のサブクラスタ表示135とに区分する。このような場合、クラスタ編集部12は、軌跡120による複数のサブクラスタ表示135の区分に従って、クラスタ表示130によって示されるクラスタを分割する。
(b)では、クラスタ編集部12が、上記のクラスタ表示130によって示されるクラスタを2つのクラスタに分割する。上述のように、これらのクラスタは、クラスタの木構造で元のクラスタの下位のクラスタから、軌跡120によるサブクラスタ表示135の区分に従って生成される。クラスタ編集部12は、分割後のクラスタの情報を表示制御部14に提供し、表示制御部14は、分割後のクラスタを示すクラスタ表示130を表示部15に表示させる。
より具体的に、クラスタ編集部12は、(a)で“西区、神奈川区”のクラスタ表示130によって示されるクラスタを、(b)で“北軽井沢と南軽井沢”および“神奈川学園高校”のクラスタ表示130によって示されるクラスタに分割する。このうち、“神奈川学園高校”のクラスタは、(a)で同じ名称のサブクラスタ表示135によって示されるサブクラスタに対応する。一方、“北軽井沢と南軽井沢”のクラスタは、(a)で“北軽井沢”および“南軽井沢”のサブクラスタ表示135によって示される2つのサブクラスタが結合されたものである。
このように、分割後のクラスタが、複数のサブクラスタが結合されたクラスタである場合、例えば、クラスタ編集部12は、クラスタの木構造にノードを追加することによって分割後のクラスタの情報を生成してもよい。この場合、木構造のノード“西区、神奈川区”とノード“北軽井沢”および“南軽井沢”との間に、新たなノード“北軽井沢と南軽井沢”が追加されうる。
また、例えば、クラスタ編集部12は、クラスタの木構造のノードを変化させることによって分割後のクラスタの情報を生成してもよい。この場合、木構造のノード“北軽井沢”および“南軽井沢”が結合されて、新たなノード“北軽井沢と南軽井沢”に置換されうる。
一方、このとき、表示制御部14は、分割前のクラスタを示すクラスタ表示130を表示部15から消滅させる。ここでも、第1の例と同様に、クラスタ表示130の出現および消滅は、アニメーションを用いて表示されてもよい。また、表示制御部14は、クラスタの分割に合わせて、表示される地図100を移動させたり、表示される地図100の縮尺を変更したりしてもよい。
また、第1の例と同様に、クラスタ編集部12は、分割後のクラスタの情報をクラスタ名称編集部13に提供し、クラスタ名称編集部13は、分割後のクラスタについてクラスタ名称を生成してもよい。生成されたクラスタ名称は、表示制御部14に提供され、表示制御部14は、クラスタ名称をクラスタ名称表示140として表示部15に表示させうる。
図7は、本開示の第1の実施形態においてクラスタが分割される第3の例を示す図である。図7は、クラスタが分割される前後の状態を示す。
この第3の例では、第1および第2の例とは異なり、クラスタは必ずしも木構造を有さなくてもよい。
(a)では、表示制御部14が、表示部15に、地図100と、画像アイコン110と、クラスタ表示130と、クラスタ名称表示140とを表示させる。また、操作取得部11が、軌跡120を取得する。操作取得部11は、軌跡120の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡120を図示されているように表示部15に表示させる。ここでも、クラスタ生成の例と同様に、操作取得部11は、表示部15の特定の部分へのユーザの接触によって通常モードからクラスタ編集モードに入り、軌跡120を取得してもよい。
図示された例において、軌跡120は、クラスタ表示130を横断する。このように、軌跡120がクラスタ表示130を横断する場合、クラスタ編集部12は、横断されたクラスタ表示130によって示されるクラスタを分割する。
さらに、図示された例において、軌跡120は、クラスタ表示130によって示されるクラスタに包含される画像アイコン110を、画像アイコン110aと画像アイコン110bとに区分する。このような場合、クラスタ編集部12は、軌跡120による画像アイコン110の区分に従って、クラスタ表示130によって示されるクラスタを分割する。
(b)では、クラスタ編集部12が、上記のクラスタ表示130によって示されるクラスタを2つのクラスタに分割する。これらのクラスタは、軌跡120によって区分された画像アイコン110aおよび画像アイコン110bによって示される画像コンテンツをそれぞれ包含するクラスタである。クラスタ編集部12は、分割後のクラスタの情報を表示制御部14に提供し、表示制御部14は、分割後のクラスタを示すクラスタ表示130を表示部15に表示させる。
このとき、表示制御部14は、分割前のクラスタを示すクラスタ表示130を表示部15から消滅させる。画像アイコン110は、それぞれのクラスタ表示130によって示されるクラスタに包含される画像コンテンツを示すために引き続き表示されてもよいし、視認性の向上および表示の高速化のために消滅させられてもよい。
ここでも、第1の例と同様に、クラスタ表示130の出現および消滅は、アニメーションを用いて表示されてもよい。また、表示制御部14は、クラスタの分割に合わせて、表示される地図100を移動させたり、表示される地図100の縮尺を変更したりしてもよい。
(クラスタの削除)
図8は、本開示の第1の実施形態においてクラスタが削除される例を示す図である。図8は、クラスタが削除される前後の状態を示す。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130と、クラスタ名称表示140とを表示させる。また、操作取得部11が、軌跡120を取得する。操作取得部11は、軌跡120の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡120を図示されているように表示部15に表示させる。ここでも、クラスタの生成の例と同様に、操作取得部11は、表示部15の特定の部分へのユーザの接触によって通常モードからクラスタ編集モードに入り、軌跡120を取得してもよい。
図示された例において、軌跡120は、クラスタ表示130を4回横断する。このように、軌跡120がクラスタ表示130を複数回横断する場合、クラスタ編集部12は、横断されたクラスタ表示130によって示されるクラスタを削除する。
本実施形態において、クラスタの分割とクラスタの削除は、いずれも、軌跡120がクラスタ表示130を横断する場合に実行される。ユーザがポインティング操作の軌跡によってクラスタ表示130を横断する動作は、クラスタの分割および削除のいずれをも直感的に想起させる動作である。従って、軌跡120がクラスタ表示130を横断することをクラスタの分割および削除の両方のトリガーとしつつ、ユーザにとって自然に感じられる何らかの基準で、クラスタを分割する場合とクラスタを削除する場合とを判定することが望ましい。
そこで、クラスタ編集部12は、軌跡120がクラスタ表示130を横断する回数によって、クラスタを分割するか削除するかを判定する。つまり、軌跡120がクラスタ表示130を1回横断する場合、クラスタ編集部12はクラスタを分割する。また、軌跡120がクラスタ表示130を複数回横断する場合、クラスタ編集部12はクラスタを削除する。このとき、クラスタ編集部12は、削除されたクラスタに含まれていた画像コンテンツをあわせて削除してもよい。この場合、上記の回数による判定に、クラスタだけを削除するか画像コンテンツを含めて削除するかの判定が含まれてもよい。例えば、軌跡120がクラスタ表示130を2〜3回横断する場合、クラスタ編集部12はクラスタだけを削除し、軌跡120がクラスタ表示130を4回以上横断する場合、クラスタ編集部12はクラスタおよびクラスタに含まれる画像コンテンツを削除してもよい。
なお、判定の基準になる回数は、上記の例には限られない。例えば、クラスタの分割の第2の例や第3の例のように、軌跡120によってクラスタ表示130に包含されるサブクラスタ表示135や画像アイコン110を区分することでクラスタが分割される場合には、区分のために軌跡120が複雑な形状になることが想定されるため、より多くの回数を判定の基準にしてもよい。また、誤操作によってクラスタが削除されることを防ぐために、例えば軌跡120が3回以上クラスタ表示130を横断しなければクラスタが削除されないようにしてもよい。
(b)では、クラスタ編集部12が、上記のクラスタ表示130によって示されるクラスタを削除する。削除されたクラスタに分類されていた画像コンテンツは、クラスタに分類されていない状態になる。クラスタ編集部12は、削除されたクラスタおよび削除されたクラスタに分類されていた画像コンテンツの情報を表示制御部14に提供する。表示制御部14は、削除されたクラスタを示すクラスタ表示130を表示部15から消滅させるとともに、削除されたクラスタに分類されていた画像コンテンツを示す画像アイコン110を表示部15に表示させる。
ここで、クラスタ表示130の消滅および画像アイコン110の出現は、上記のクラスタの分割の例と同様に、フェードアウトやフェードインなどのアニメーションを用いて表示されてもよい。また、表示制御部14は、クラスタの削除に合わせて、表示される地図100を移動させてもよい。例えば、表示制御部14は、削除前のクラスタ表示130の中心に地図100の中心を一致させる。
さらに、表示制御部14は、クラスタの削除に合わせて、表示される地図100の縮尺を変更してもよい。例えば、表示制御部14は、削除前のクラスタ表示130の直径が地図100の短辺に収まる最大の縮尺で地図100を表示する。
このように、本実施形態では、クラスタ表示130へのユーザの操作を、ポインティング操作の軌跡120として取得し、軌跡120の形状に応じて様々なクラスタの編集をすることが可能である。これによって、ユーザは、直感的な操作によって、クラスタ表示130として表示されたクラスタに対して様々な編集を加えることができる。
(2.第2の実施形態)
次に、図9〜13を参照して、本開示の第2の実施形態について説明する。本開示の第2の実施形態は、操作取得部11が取得するユーザの操作、およびクラスタ編集部12が実行するクラスタ編集について上記の第1の実施形態とは異なるが、それ以外については第1の実施形態と同様であるため、詳細な説明を省略する。
(クラスタ表示の移動によるクラスタの結合)
図9は、本開示の第2の実施形態において、クラスタ表示の移動によってクラスタが結合される例を示す図である。図9は、クラスタが結合される過程を示す。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130とを表示させる。また、操作取得部11が、ユーザがクラスタ表示130bをクラスタ表示130aに向かって移動させる操作を取得する。ここで、ユーザがクラスタ表示130を移動させる操作は、例えばクラスタ表示130の領域に対するドラッグ操作やフリック操作などである。操作取得部11は、上記の操作の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、この操作に従って、クラスタ表示130bをクラスタ表示130aに向かって移動させて表示する。
(b)では、表示制御部14が、ユーザの操作による移動の結果として、クラスタ表示130bをクラスタ表示130aに重複させて表示する。例えば、操作取得部11がタッチパネルによるユーザのドラッグ操作を取得する場合、図示されているように、ユーザはクラスタ表示130bへの接触を継続している。また、例えば、操作取得部11がタッチパネルによるユーザのフリック操作を取得する場合、この時点でユーザのクラスタ表示130bへの接触は解除されていてもよい。
図示された例において、クラスタ編集部12は、ユーザの操作による移動の結果、クラスタ表示130bがクラスタ表示130aと重複した場合に、クラスタ表示130aおよびクラスタ表示130bによって示されるクラスタを結合させる。
例えば、操作取得部11がタッチパネルによるユーザのドラッグ操作を取得する場合、図示されているように複数のクラスタ表示130同士が重複した状態でユーザのドラッグ操作が解除された時点で、クラスタ編集部12は当該複数のクラスタ表示130によって示されるクラスタを結合させることを決定してもよい。
また、例えば、操作取得部11がタッチパネルによるユーザのフリック操作を取得する場合、複数のクラスタ表示130同士が重複した時点で、クラスタ編集部12は当該複数のクラスタ表示130によって示されるクラスタを結合させることを決定してもよい。
図示されているように、表示制御部14は、クラスタ表示130bがクラスタ表示130aに重複している場合に、クラスタ表示130aまたはクラスタ表示130bの一方または両方の表示を変化させてもよい。例えば、表示制御部14は、図示されているように、クラスタ表示130aおよびクラスタ表示130bの表示色を変化させてもよい。これによって、クラスタ表示130aとクラスタ表示130bとを重複させることによってクラスタの結合が実行されることを、ユーザに直感的に示すことができる。
(c)では、クラスタ編集部12が、クラスタ表示130aおよびクラスタ表示130bによって示されるクラスタを結合したクラスタを生成する。このクラスタは、クラスタ表示130aおよびクラスタ表示130bに外接するクラスタ表示130cとして地図100上に表現される。クラスタ編集部12は、生成されたクラスタの情報を表示制御部14に提供し、表示制御部14は、クラスタ表示130cを表示部15に表示させる。ここで、上記の第1の実施形態の例と同様に、表示制御部14は、クラスタ表示130cに合わせて、表示される地図100を移動させたり、表示される地図100の縮尺を変更したりしてもよい。
(b)から(c)への表示の遷移において、表示制御部14は、アニメーションを表示してもよい。アニメーションは、例えば、ユーザの操作によって移動されたクラスタ表示130bをフェードアウトさせるとともに、結合先のクラスタ表示130aを拡大および移動させることによって結合後のクラスタ表示130cに変化させるものでありうる。このようなアニメーションによって、クラスタの結合が実行されていることをユーザに直感的に示すことができる。
(ピンチ操作によるクラスタの結合)
図10は、本開示の第2の実施形態において、ピンチ操作によってクラスタが結合される例を示す図である。図10は、クラスタが結合される過程を示す。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130とを表示させる。また、操作取得部11が、ユーザがクラスタ表示130aとクラスタ表示130bとをピンチインする操作を取得する。ここで、ピンチインとは、ユーザが表示部15上の2つの点に指で接触し、この2点を近づけるように指を動かす操作である。一方、ユーザが表示部15上の2つの点に指で接触し、この2点を遠ざけるように指を動かす操作は、ピンチアウトという。本明細書では、ピンチインとピンチアウトとを総称してピンチ操作という。操作取得部11は、上記のピンチインする操作の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、この操作に従って、クラスタ表示130aとクラスタ表示130bとを互いに接近するように移動して表示させる。ピンチ操作の結果、クラスタ表示130aおよびクラスタ表示130bは移動するため、このピンチ操作は、クラスタ表示130を移動させる操作ともいえる。
(b)では、表示制御部14が、ユーザの操作による移動の結果として、クラスタ表示130aとクラスタ表示130bとを重複させて表示する。この時点で、ユーザのクラスタ表示130aおよびクラスタ表示130bへの接触は継続されていてもよいし、また既に解除されていてもよい。
図示された例において、クラスタ編集部12は、ユーザの操作による移動の結果、クラスタ表示130aとクラスタ表示130bとが重複した場合に、クラスタ表示130aおよびクラスタ表示130bによって示されるクラスタを結合させる。
ここで、クラスタ編集部12は、クラスタ表示130aとクラスタ表示130bとが重複した場合には、ユーザのクラスタ表示130aおよびクラスタ表示130bへの接触が継続されているか否かに関わらず、クラスタ表示130aおよびクラスタ表示130bによって示されるクラスタを結合させることを決定してもよい。
また、クラスタ編集部12は、クラスタ表示130aとクラスタ表示130bとが重複した状態で、ユーザのクラスタ表示130aおよびクラスタ表示130bへの接触が解除された場合に、クラスタ表示130aおよびクラスタ表示130bによって示されるクラスタを結合させることを決定してもよい。
図示されているように、表示制御部14は、クラスタ表示130bがクラスタ表示130aに重複している場合に、クラスタ表示130aまたはクラスタ表示130bの一方または両方の表示を変化させてもよい。例えば、表示制御部14は、図示されているように、クラスタ表示130aおよびクラスタ表示130bの表示色を変化させてもよい。これによって、クラスタ表示130aとクラスタ表示130bとを重複させることによってクラスタの結合が実行されることを、ユーザに直感的に示すことができる。
(c)では、クラスタ編集部12が、クラスタ表示130aおよびクラスタ表示130bによって示されるクラスタを結合したクラスタを生成する。このクラスタは、クラスタ表示130aおよびクラスタ表示130bに外接するクラスタ表示130cとして地図100上に表現される。クラスタ編集部12は、生成されたクラスタの情報を表示制御部14に提供し、表示制御部14は、クラスタ表示130cを表示部15に表示させる。ここで、上記の第1の実施形態の例と同様に、表示制御部14は、クラスタ表示130cに合わせて、表示される地図100を移動させたり、表示される地図100の縮尺を変更したりしてもよい。
(b)から(c)への表示の遷移において、表示制御部14は、アニメーションを表示してもよい。アニメーションは、例えば、クラスタ表示130aおよびクラスタ表示130bを拡大させながらフェードアウトさせるとともに、結合後のクラスタ表示130cをフェードインさせるものでありうる。このようなアニメーションによって、クラスタの結合が実行されていることをユーザに直感的に示すことができる。
(ピンチ操作によるクラスタの分割)
図11は、本開示の第2の実施形態において、ピンチ操作によってクラスタが分割される例を示す図である。図11は、クラスタが分割される過程を示す。
(a)および(b)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130とを表示させる。また、操作取得部11が、ユーザがクラスタ表示130をピンチインまたはピンチアウトする操作を取得する。操作取得部11は、ピンチインまたはピンチアウトの操作の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、この操作に従って、クラスタ表示130を圧縮または伸張して表示させる。
図示された例において、クラスタ編集部12は、ユーザのピンチ操作によって、クラスタ表示130が所定の割合を超えて圧縮または伸張された場合に、クラスタ表示130によって示されるクラスタを分割しうる。また、クラスタ編集部12は、ユーザのピンチ操作によるクラスタ表示130の圧縮および伸張が所定の回数以上繰り返された場合に、クラスタ表示130によって示されるクラスタを分割してもよい。
さらに、クラスタ編集部12は、ユーザのピンチ操作の速さに応じて、クラスタを分割する細かさを変化させてもよい。本実施形態では、クラスタ情報16に保持されたクラスタの木構造の情報を用いてクラスタが分割される。つまり、クラスタの分割は、クラスタ表示130として表示されるクラスタを、木構造の上位のクラスタから下位のクラスタに変更することによって実行される。このとき、表示されるクラスタを、元のクラスタからどの程度下位のクラスタにするかによって、クラスタを分割する細かさが決まる。
例として、表示されるクラスタを、元のクラスタを親クラスタとする子クラスタ、つまり元のクラスタのすぐ下位のクラスタに変更する場合と、元のクラスタを親クラスタとする孫クラスタ、つまり元のクラスタの2段階下位のクラスタに変更する場合とを考える。この場合、孫クラスタは、子クラスタよりもさらに細かいクラスタである。従って、前者の方がクラスタの分割が粗く、後者の方がクラスタの分割が細かいといえる。
図示された例において、ユーザのピンチ操作の速さが所定の閾値を超えない場合、クラスタ編集部12は、比較的粗くクラスタを分割する。この場合の例を、(c)および(d)に示す。一方、ユーザのピンチ操作の速さが所定の閾値を超える場合、クラスタ編集部12は、比較的細かくクラスタを分割する。この場合の例を、(e)および(f)に示す。
(c)では、クラスタ編集部12が、クラスタを分割することを表示制御部14に通知し、表示制御部14が、クラスタが分割されることを示すエフェクト表示150aを表示部15に表示させる。(c)のケースでは、比較的ゆっくりしたピンチ操作によって比較的粗くクラスタが分割されるため、エフェクト表示150aは、比較的小さく、また穏やかなアニメーションを伴って表示されうる。図示された例では、エフェクト表示150aは、泡が弾けるようなアニメーションとして表示される。
(d)では、クラスタ編集部12が、上記のクラスタ表示130によって示されるクラスタを、サブクラスタ表示135によって示されるサブクラスタに分割する。これらのサブクラスタは、クラスタの木構造において、クラスタ表示130によって示されるクラスタの下位のクラスタである。クラスタ編集部12は、分割後のサブクラスタの情報を表示制御部14に提供し、表示制御部14は、サブクラスタを示すサブクラスタ表示135を表示部15に表示させる。図示された例において、表示制御部14は、3つのサブクラスタ表示135aを表示させる。このとき、上記の第1の実施形態の例と同様に、表示制御部14は、クラスタの分割に合わせて、表示される地図100を移動させたり、表示される地図100の縮尺を変更したりしてもよい。
(c)から(d)への表示の遷移において、表示制御部14は、アニメーションを表示してもよい。アニメーションは、例えば、エフェクト表示150aをフェードアウトさせるとともに、サブクラスタ表示135aをフェードインさせるものでありうる。このようなアニメーションによって、クラスタの分割が実行されていることをユーザに直感的に示すことができる。
(e)では、(c)と同様に、表示制御部14が、クラスタが分割されることを示すエフェクト表示150bを表示部15に表示させる。(e)のケースでは、比較的速いピンチ操作によって比較的細かくクラスタが分割されるため、エフェクト表示150bは、比較的大きく、また激しいアニメーションを伴って表示されうる。図示された例では、エフェクト表示150bは、泡が弾けるようなアニメーションとして表示される。
(f)では、(d)と同様に、クラスタ編集部12がクラスタをサブクラスタに分割し、表示制御部14がサブクラスタ表示135を表示部15に表示させる。図示された例において、表示制御部14は、7つのサブクラスタ表示135bを表示させる。サブクラスタ表示135bによって示されるサブクラスタは、クラスタの木構造において、サブクラスタ表示135aのクラスタよりもさらに下位のクラスタである。このとき、表示制御部14は、(c)の例と同様に、クラスタの分割に合わせて、表示される地図100を移動させたり、表示される地図100の縮尺を変更したりしてもよい。また、(e)から(f)への表示の遷移において、表示制御部14は、(c)から(d)への表示の遷移と同様のアニメーションを表示してもよい。
(拡縮操作によるクラスタの階層の変更)
図12は、本開示の第2の実施形態において、拡縮操作によってクラスタ表示の階層が変更される例を示す図である。図12は、クラスタ表示の階層が変更される過程を示す。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130とを表示させる。
(b)では、操作取得部11が、ユーザが表示部15の任意の部分をピンチインする操作を取得する。操作取得部11は、このピンチインの操作の情報をクラスタ編集部12に提供する。クラスタ編集部12は、ピンチイン操作に応じて、クラスタ情報16に保持されたクラスタの木構造の情報から、クラスタ表示130によって示されるクラスタの下位のクラスタであるサブクラスタの情報を取得して表示制御部14に提供する。表示制御部14は、クラスタ表示130に代えて、より細かい3つのサブクラスタ表示135aを表示部15に表示させる。
(c)では、操作取得部11が、ユーザが表示部15の任意の部分をさらにピンチインする操作を取得する。操作取得部11は、このピンチインの操作の情報をクラスタ編集部12に提供する。クラスタ編集部12は、さらなるピンチイン操作に応じて、クラスタ情報16に保持されたクラスタの木構造の情報から、サブクラスタ表示135aによって示されるサブクラスタのさらに下位のクラスタであるサブクラスタの情報を取得して表示制御部14に提供する。表示制御部14は、サブクラスタ表示135aに代えて、さらに細かい7つのサブクラスタ表示135bを表示部15に表示させる。
(c)の状態で、操作取得部11が、ユーザが表示部15の任意の部分をピンチアウトする操作を取得した場合、クラスタ編集部12は上記の例とは逆の処理を実行し、表示部15の表示は(b)の状態に戻る。ここで、さらに、操作取得部11が、ユーザが表示部15の任意の部分をピンチアウトする操作を取得した場合、クラスタ編集部12は上記の例とは逆の処理を実行し、表示部15の表示は(a)の状態に戻る。
ここで、クラスタ表示130によって示されるクラスタよりも上位のクラスタを表示しようとすると、地図100の縮尺の変更が必要になったりして表示が煩雑になる場合がある。そのため、最初に表示されていた(a)の状態で操作取得部11によってピンチアウトの操作が取得されても、クラスタ表示130を変化させないようにクラスタ編集部12が設定されていてもよい。
このように、図12の例では、クラスタ表示130を含む表示部15の表示に対するユーザのピンチインおよびピンチアウトの操作に応じて、表示されるクラスタの木構造における階層が変化する。このとき、表示部15に表示される地図100の縮尺は維持される。
ここで、表示部15の表示に対するピンチインおよびピンチアウトの操作は、通常、表示部15の表示を縮小および拡大させるために用いられる。つまり、ピンチインおよびピンチアウトの操作は、クラスタ表示130を含む表示を拡縮させる操作ともいえる。このような拡縮の操作を表示の拡縮に用いる場合と、クラスタ表示130の階層を変化させる場合とを識別するために、操作取得部11がユーザの所定の操作を取得した場合に通常モードからクラスタ編集モードに入るように設定されていてもよい。
この場合、例えば、通常モードでは、操作取得部11がユーザのピンチ操作の情報を表示制御部14に提供し、表示制御部14がピンチ操作に応じて地図100の縮尺を変化させる。一方、クラスタ編集モードでは、上述のように、操作取得部11がユーザのピンチ操作の情報をクラスタ編集部12に提供し、クラスタ編集部12がピンチ操作に応じて異なる階層のクラスタの情報を表示制御部14に提供する。
また、操作取得部11が通常モードからクラスタ編集モードに入るための所定の操作は、例えばクラスタ表示130に対する長押しまたはタップの操作でありうる。また、所定の操作は、例えば別途に表示される“編集開始”ボタンなどの操作でもありうる。また、所定の操作は、第1の実施形態と同様に、表示部15の特定の部分へのユーザの接触の持続でもありうる。
(移動操作によるクラスタの分割)
図13は、本開示の第2の実施形態において、移動操作によってクラスタが分割される例を示す図である。図13は、クラスタが分割される過程を示す。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130と、サブクラスタ表示135aとを表示させる。また、操作取得部11が、ユーザがサブクラスタ表示135aのうちの1つをクラスタ表示130の外側へ移動させる操作を取得する。ここで、ユーザがクラスタ表示130を移動させる操作は、例えばドラッグ操作やフリック操作などである。操作取得部11は、上記の操作の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、この操作に従って、サブクラスタ表示135aをクラスタ表示130の外側に向かって移動させて表示する。
ここで、サブクラスタ表示135aは、通常は、クラスタ表示130の視認性を高めるために表示されていなくてもよい。この場合、操作取得部11がユーザの所定の操作を取得した場合に、表示制御部14が通常モードからクラスタ編集モードに入り、サブクラスタ表示135aを表示させてもよい。操作取得部11は、所定の操作として、例えば、クラスタ表示130に対する長押しもしくはタップ、別途に表示される“編集開始”ボタンなどの操作、または表示部15の特定の部分へのユーザの接触の持続などを取得する。
図示された例において、クラスタ編集部12は、ユーザの操作による移動の結果、サブクラスタ表示135aの全体がクラスタ表示130の外側に出た場合に、サブクラスタ表示135aによって示されるサブクラスタをクラスタ表示130によって示されるクラスタから分割し、同じ階層のクラスタに変化させる。
(b)では、クラスタ編集部12が、サブクラスタをクラスタから分割することを決定し、クラスタを分割することを表示制御部14に通知する。通知を受けた表示制御部14は、クラスタが分割されることを示すアニメーションを表示部15に表示させる。例えば、表示制御部14は、クラスタ表示130を縮小させて、残った2つのサブクラスタ表示135aに外接する最小の形状になるよう変化させる。また、表示制御部14は、クラスタ表示130の外側まで移動されたサブクラスタ表示135aを、元々の位置まで移動させる。この移動は、例えばサブクラスタ表示135aがユーザのドラッグ操作によって移動される場合には、ユーザのドラッグ操作が解除された時点で実行されてもよい。
(c)では、クラスタ編集部12が、サブクラスタをクラスタから分割し、分割後のクラスタの情報を表示制御部14に提供する。表示制御部14は、提供された情報に従って、クラスタ表示130およびサブクラスタ表示135を表示部15に表示させる。図示された例では、分割されたサブクラスタが元のクラスタと同じ階層のクラスタになり、2つのクラスタ表示130が表示される。元のクラスタを示すクラスタ表示130の内側には、残った2つのサブクラスタ表示135aが表示される。また、分割されたクラスタを示すクラスタ表示130の内側には、サブクラスタ表示135aによって示されるサブクラスタのさらに下位のサブクラスタを示すサブクラスタ表示135bが表示される。
ここで、例えば表示制御部14を通常モードからクラスタ編集モードに切り替えるための操作と同様の操作によって、表示制御部14がクラスタ編集モードから通常モードに戻り、サブクラスタ表示135を表示部15から消滅させるように設定されていてもよい。また、上記の第1の実施形態の例と同様に、表示制御部14は、クラスタの分割に合わせて、表示される地図100を移動させたり、表示される地図100の縮尺を変更したりしてもよい。
このように、図13の例では、サブクラスタ表示135を移動させるユーザの操作に応じて、サブクラスタ表示135によって示されるサブクラスタがクラスタ表示130によって示されるクラスタから分割され、新たにクラスタ表示130として表示される。これによって、直感的な操作によって、サブクラスタを分割して元のクラスタと同じ階層のクラスタにする操作ができる。
なお、上述のように、本実施形態は、第1の実施形態とは異なるユーザの操作によって、異なるクラスタ編集を実行するものであるため、第1の実施形態と組み合わせて実現されうる。この場合、クラスタ編集部12は、操作取得部11がクラスタ編集モードで取得したユーザのポインティング操作の軌跡120に従ってクラスタの生成、結合、分割または削除などを実行し、かつ、操作取得部11が取得したクラスタ表示130に対するドラッグ、フリック、またはピンチなどの操作に従ってクラスタの結合または分割などを実行する。
(3.第3の実施形態)
次に、図14〜図18を参照して、本開示の第3の実施形態について説明する。本開示の第3の実施形態は、表示制御部14によるクラスタに関する情報の表示について上記の第1および第2の実施形態とは異なるが、それ以外については第1および第2の実施形態と同様であるため、詳細な説明を省略する。
(木構造のノードとしてのクラスタ表示)
図14は、本開示の第3の実施形態において、クラスタが木構造のノードとして表示される例を示す図である。
図14では、表示制御部14が、表示部15に、地図100と、クラスタ表示130と、クラスタ名称表示140と、木構造表示160とを表示させる。木構造表示160は、クラスタ表示130によって示されるクラスタを含むクラスタの木構造を示す。木構造表示160では、ノード161によってそれぞれのクラスタが示される。なお、ノード161も、クラスタを示す表示であるため、クラスタ表示の一種といえる。ノード161の間にはリンクが表示され、木構造における親子関係を示す。
このとき、地図100にクラスタ表示130として表示されているクラスタに対応するノード161aは、それ以外のノード161bとは異なる色で表示されうる。図示された例では、“自宅”および“自宅周辺”のクラスタがクラスタ表示130として地図100に表示されているため、“自宅”および“自宅周辺”のクラスタを示すノード161aが、他のノード161bとは異なる色で表示されている。
このように、本実施形態では、地図100上のクラスタ表示130によるクラスタの表示とともに、木構造表示160上のノード161によるクラスタの表示がユーザに提供される。これによって、クラスタ表示130として表示されているクラスタに限らず、木構造に含まれるクラスタ全体の情報を俯瞰的にユーザに提供することができる。
図示された例において、ノード161は、操作取得部11が取得するユーザによるタッチやタップなどの操作によって選択可能であってもよい。ここで、いずれかのノード161を選択する操作が操作取得部11によって取得された場合、表示制御部14は、当該ノード161によって示されるクラスタのクラスタ表示130が表示されるように、地図100の表示を変化させる。表示制御部14は、例えば、表示される地図100を移動させたり、表示される地図100の縮尺を変更したりして、対象になるクラスタ表示130が、地図100の中央付近など適切な位置に、適切なサイズで表示されるように調整してもよい。クラスタ表示130として表示されるクラスタが変化するのに伴って、ノード161のうちのどれが他とは異なる色でノード161aとして表示されるかも変化する。
(木構造のノード間を移動する表示)
図15は、本開示の第3の実施形態において、木構造のノードとして表示されたクラスタの間を移動する例について説明するための図である。
図15では、クラスタの木構造を示す一群のノード161が示されている。図示された例では、“日本”を根ノードとして、都道府県、市町村などの階層でノード161の木構造が展開されている。
上述のように、本実施形態では、木構造表示160上のノード161として表示されたクラスタの中から、地図100にクラスタ表示130として表示するクラスタを選択することが可能である。この選択に応じて、表示制御部14は、例えば、表示される地図100を移動させたり、表示される地図100の縮尺を変更したりして、表示されるクラスタ表示130を変更する。このような場合における地図100の移動や縮尺の変更を、以下では地図100の表示の遷移という。
図示された例では、“大崎”のノード161で表示されるクラスタから、“中富良野町”のノード161で表示されるクラスタへと、表示されるクラスタが変更される。このとき、表示制御部14は、クラスタの木構造において、変更前のクラスタから変更後のクラスタまでの経路上に存在するクラスタが表示部15にクラスタ表示130として順次表示されるように地図100の表示を遷移させる。
かかる表示の遷移について、図15の例で具体的に説明する。まず、表示制御部14は、ノード161“大崎”のクラスタを、クラスタ表示130として表示部15に表示させている。次に、表示制御部14は、“大崎”の上位のノード161“品川区”のクラスタを、クラスタ表示130として表示部15に表示させる。さらに、表示制御部14は、“品川区”のさらに上位のノード161“東京都”のクラスタを、クラスタ表示130として表示部15に表示させる。このように、より上位のノード161のクラスタをクラスタ表示130として表示させる場合、表示制御部14は、地図100の縮尺を小さく(ズームアウト)する。また、表示制御部14は、新たに表示されるクラスタ表示130が地図100の中央付近などの適切な位置に表示されるように、地図100を移動させてもよい。
ここで、ノード161“大崎”と、ノード161“中富良野町”との共通の上位ノードは、ノード161“日本”である。従って、表示制御部14は、ノード161“日本”のクラスタがクラスタ表示130として表示部15に表示されるまで、より上位のノード161のクラスタをクラスタ表示130として表示するための地図100の表示の遷移を継続する。
ノード161“日本”のクラスタがクラスタ表示130として表示部15に表示された後、表示制御部14は、より下位のノード161のクラスタをクラスタ表示130として順次表示するように変化する。具体的には、表示制御部14は、ノード161“北海道”のクラスタをクラスタ表示130として表示部15に表示させる。次に、表示制御部14は、“北海道”の下位のノード161“空知郡”のクラスタを、クラスタ表示130として表示部15に表示させる。さらに、表示制御部14は、“空知郡”のさらに下位にある目的のノード161“中富良野町”のクラスタを、クラスタ表示130として表示部15に表示させる。
上記の例において、ノード161の階層の間隔が空いているために、地図100の表示の遷移が見づらくなる場合、表示制御部14は、親ノードの表示と子ノードの表示との間に、別の地図100の表示を補間してもよい。例えば、ノード161“品川区”のクラスタをクラスタ表示130として表示する場合の地図100の表示と、ノード161“東京都”のクラスタをクラスタ表示130として表示する場合の地図100の表示との間で、縮尺および位置の一方または両方が、ユーザが見やすいと感じる範囲を超えて大きく異なる場合、表示制御部14は、これらの表示の間に別の地図100の表示を補間する。
ここで補間される地図100の位置は、親ノードの表示と子ノードの表示とのそれぞれにおける地図100の位置から線形補間によって求められうる。また、補間される地図100の縮尺は、親ノードの表示と子ノードの表示とのそれぞれにおける地図100の縮尺から線形補間によって求められてもよいし、また所定のズームレベルに基づいて設定されてもよい。
所定のズームレベルとは、地図100の表示のために、表示制御部14に予め設定されているズームレベルである。これについて、最大縮尺の表示をズームレベル“0”とし、縮尺が小さくなるに従ってズームレベルが大きくなる場合を例として説明する。この例において、ノード161“大崎”のクラスタを表示するためのズームレベルは“18”であり、その上位のノード161“品川区”のクラスタを表示するためのズームレベルは“17”である。この場合、表示制御部14は、地図100の表示を補間することなく、表示を“大崎”から“品川区”に遷移させる。一方、ノード161“品川区”の上位のノード161“東京都”のクラスタを表示するためのズームレベルは“15”である。この場合、表示を“品川区”から“東京都”に直接遷移させたのでは、ズームレベルが“17”から“15”に飛んでしまい、ユーザに表示の遷移が唐突な印象を与える可能性がある。そこで、表示制御部14は、これらの表示の間に、ズームレベルが“16”の地図100の表示を補間する。補間される地図100の表示の中心位置は、“品川区”を表示するときの地図100の中心位置と、“東京都”を表示するときの地図100の中心位置とから線形補間によって求められた位置でありうる。さらに、ノード161“空知郡”のクラスタを表示するためのズームレベルは“15”であり、その下位のノード161“中富良野町”を表示するためのズームレベルは“19”である。この場合、表示制御部14は、これらの表示の間に、ズームレベルが“16”、“17”、および“18”の地図100の表示を補間する。このように、表示制御部14が補間する地図100の表示は、複数であってもよい。
上記のような表示によって、地図100にクラスタ表示130として表示されるクラスタがどのように変化するかを、ユーザに直感的に提示することができる。なお、表示制御部14は、表示されるクラスタの変化をさらに直感的に提示するために、例えば、表示の変化の前後で表示されている親ノードと子ノードにあたるノード161を、他のノードとは異なる色で表示してもよい。また、表示制御部14は、表示の変化の前後で表示されている親ノードと子ノードにあたるノード161の名称のいずれかまたは両方を、表示部15に表示してもよい。
(木構造表示でのクラスタの分割)
図16は、本開示の第3の実施形態において、木構造表示を用いてクラスタが分割される例を示す図である。
図16では、図14と同様に、表示制御部14が、地図100および木構造表示160を表示部15に表示させている。さらに、操作取得部11が、木構造表示160に表示されたノード161の間のリンクを横断する、ユーザのポインティング操作の軌跡120を取得する。操作取得部11は、軌跡120の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡120を図示されているように表示部15に表示させる。以下の例においても、第1の実施形態と同様に、操作取得部11は、表示部15の特定の部分へのユーザの接触によって通常モードからクラスタ編集モードに入り、軌跡120を取得してもよい。
図示された例において、軌跡120は、ノード161の間のリンクを横断する。このように、軌跡120がノード161の間のリンクを横断する場合、クラスタ編集部12は、クラスタの木構造において、軌跡120によって横断されたリンクを削除する。従って、図示された例において、クラスタ編集部12は、“自宅周辺”のノード161と“横浜駅”のノード161との間のリンクを削除する。
ここで、木構造において、リンクの削除は、ノードの親子関係の解消を意味する。すなわち、上記の例において、クラスタ編集部12は、ノード161“自宅周辺”と、ノード161“横浜駅”との間の親子関係を解消する。この結果、ノード161“横浜駅”のクラスタは、ノード161“自宅周辺”のクラスタには含まれない、独立したクラスタになる。これは、“自宅周辺”のクラスタから、“横浜駅”のサブクラスタを分割する処理ともいえる。クラスタ編集部12は、この編集の結果をクラスタ情報16に反映させる。なお、分割されたノード161“横浜駅”が子ノードを有する場合、これらの子ノードとの親子関係は維持され、ノード161“横浜駅”を根ノードとする独立した木構造が形成されうる。
また、クラスタ編集部12は、上記の編集の結果を表示制御部14に提供し、表示制御部14は、地図100に表示されるクラスタ表示130で、“自宅周辺”のクラスタから“横浜駅”のクラスタを独立させて表示してもよい。このように、表示制御部14は、ユーザの木構造表示160への操作によるクラスタ編集の結果を、リアルタイムで地図100のクラスタ表示130に反映させてもよい。また、逆に、表示制御部14は、ユーザのクラスタ表示130への操作によるクラスタ編集の結果を、リアルタイムで木構造表示160に反映させてもよい。つまり、クラスタ表示130と木構造表示160とは、クラスタ編集についてインタラクティブな表示でありうる。
(木構造表示でのクラスタの生成と結合)
図17は、本開示の第3の実施形態において、木構造表示を用いてクラスタが生成および結合される例を示す図である。図17は、クラスタが生成され、結合される過程を示す。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130と、クラスタ名称表示140と、木構造表示160と、ノード161とを表示させる。この表示は、図16の例においてクラスタが分割された後の表示と同様である。つまり、木構造表示160には、ノード161“自宅と自宅周辺”を根ノードとするクラスタの木構造と、この木構造から独立したノード161“横浜駅”とが表示されている。地図100には、“自宅”と“自宅周辺”、および分割によって“自宅周辺”から独立した“横浜駅”のクラスタがクラスタ表示130として表示されている(“自宅周辺”以外のクラスタ名称表示140は、木構造表示160に隠れている)。これらのクラスタを示すノード161aは、それ以外のノード161bとは異なる色で表示されている。
ここで、操作取得部11が、木構造表示160の任意の位置を選択するユーザの操作を取得する。ここで取得される操作は、例えばダブルタップなどの操作でありうる。操作取得部11は、取得された操作の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、この操作に従って、木構造表示160のユーザによって選択された位置に新たなノード161nを表示させる。一方、クラスタ編集部12は、この操作によって、クラスタの木構造に新たなノード161nが追加されることを認識するが、このノード161nが木構造のどこに配置されるかはまだ決定されていない。
(b)では、操作取得部11が、ノード161の間にリンクを描画する、ユーザのポインティング操作の軌跡120を取得する。操作取得部11は、軌跡120の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡120を図示されているように表示部15に表示させる。一方、クラスタ編集部12は、クラスタの木構造において、新たなノード161nと、“自宅と自宅周辺”のノード161、および“横浜駅”のノード161との間にリンクを設定する。つまり、新たなノード161nは、ノード161“自宅と自宅周辺”、およびノード161“横浜駅”の親ノードとして生成される。これは、“自宅と自宅周辺”のクラスタと“横浜駅”のクラスタとを結合して新たなクラスタにする処理ともいえる。
(c)では、クラスタ編集部12が、上記の編集の結果を、クラスタ情報16に反映させるとともに、クラスタ名称編集部13、および表示制御部14に提供する。クラスタ名称編集部13は、新たなノード161nによって示されるクラスタについて、クラスタ名称を生成する。図示された例において、クラスタ名称編集部13は、親ノードが新たに生成された場合、子ノードにあたるクラスタの名称を併記して、クラスタ名称を生成する。具体的には、クラスタ名称編集部13は、“自宅と自宅周辺”と“横浜駅”とを併記して、新たなノード161nによって示されるクラスタの名称“自宅と自宅周辺、横浜駅”を生成する。クラスタ名称編集部13は、生成されたクラスタ名称の情報を表示制御部14に提供する。
一方、表示制御部14は、クラスタ編集部12、およびクラスタ名称編集部13から提供されたクラスタおよびクラスタ名称の情報を、クラスタ表示130およびクラスタ名称表示140に反映させる。具体的には、表示制御部14は、新たに生成された“自宅と自宅周辺、横浜駅”のクラスタを示すクラスタ表示130と、クラスタ名称表示140とを地図100上に表示させる。(b)でクラスタ表示130として表示されていた“自宅”、“自宅周辺”、および“横浜駅”のクラスタは、新たに表示される“自宅と自宅周辺、横浜駅”のクラスタのサブクラスタにあたるため、これらのクラスタのクラスタ表示130およびクラスタ名称表示140は、表示部15から消滅させてもよい。
また、表示制御部14は、これらの情報を、木構造表示160の表示にも反映させる。具体的には、表示制御部14は、新たなノード161nに、名称“自宅と自宅周辺、横浜駅”を表示し、ノード161nと“自宅と自宅周辺”および“横浜駅”のノード161との間にリンクを表示する。さらに、表示制御部14は、クラスタ表示130の変化に対応して、ノード161nとして表示されていた“自宅と自宅周辺、横浜駅”のノードを、ノード161aとして、他のノード161bとは異なる色で表示する。
(木構造表示でのクラスタの削除)
図18は、本開示の第3の実施形態において、木構造表示を用いてクラスタが削除される例を示す図である。図18は、クラスタが削除される前後の状態を示す。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130と、クラスタ名称表示140と、木構造表示160と、ノード161とを表示させる。この表示は、図17の例においてクラスタが結合された後の表示と同様である。つまり、木構造表示160には、ノード161“自宅と自宅周辺、横浜駅”を根ノードとするクラスタの木構造が表示されている。地図100には、“自宅と自宅周辺、横浜駅”のクラスタがクラスタ表示130として表示されている。“自宅と自宅周辺、横浜駅”のクラスタを示すノード161aは、それ以外のノード161bとは異なる色で表示されている。
ここで、操作取得部11が、木構造表示160に表示されたノード161を複数回横断する、ユーザのポインティング操作の軌跡120を取得する。操作取得部11は、軌跡120の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡120を図示されているように表示部15に表示させる。一方、クラスタ編集部12は、クラスタの木構造において、軌跡120によってそれぞれ複数回横断された“自宅と自宅周辺、横浜駅”のノード161と、“横浜駅”のノード161とを削除する。
(b)では、クラスタ編集部12が、上記の編集の結果を、クラスタ情報16に反映させるとともに、表示制御部14に提供する。表示制御部14は、削除された“自宅と自宅周辺、横浜駅”のノード161に対応するクラスタ表示130およびクラスタ名称表示140を、表示部15から消滅させる。ここで、削除された“自宅と自宅周辺、横浜駅”のノード161の子ノードのうち、“自宅と自宅周辺”のノード161は削除されていない。そこで、表示制御部14は、“自宅と自宅周辺”のクラスタ表示130およびクラスタ名称表示140を、“自宅と自宅周辺、横浜駅”のものに代えて地図100上に表示する。一方、削除された“自宅と自宅周辺、横浜駅”のノード161の子ノードのうち、“横浜駅”のノード161は、親ノードとともに削除されている。また、“横浜駅”のノード161は、子ノードを持たない葉ノードである。そこで、表示制御部14は、“横浜駅”のクラスタに含まれていた画像コンテンツを、画像アイコン110として地図100上に表示させる(図では木構造表示160に隠れている)。
また、表示制御部14は、上記の変化を、木構造表示160の表示に反映させる。具体的には、表示制御部14は、削除された“自宅と自宅周辺、横浜駅”および“横浜駅”のノード161、およびこれらのノード161に接続するリンクの表示を木構造表示160から削除する。また、表示制御部14は、新たにクラスタ表示130として表示された“自宅と自宅周辺”のノード161aを、他のノード161bとは異なる色で表示させる。
このように、本実施形態では、木構造表示160上のノード161へのユーザの操作によって、ノード161によって示されるクラスタを編集することが可能である。これによって、ユーザは、木構造に含まれるクラスタ全体の情報を俯瞰的に把握しつつ、クラスタの編集を実行することができる。
なお、上述のように、本実施形態は、第1および第2の実施形態で表示される地図100に加えて木構造表示160を表示するものであるため、第1および第2の実施形態と組み合わせて実現されうる。この場合、地図100におけるクラスタ表示130へのユーザの操作、および木構造表示160におけるノード161へのユーザの操作の両方に従ってクラスタの編集が実行されるようにクラスタ編集部12が設定される。また、表示制御部14は、クラスタの編集の結果を、それぞれの表示にインタラクティブに反映させる。
(4.第4の実施形態)
次に、図19〜22を参照して、本開示の第4の実施形態について説明する。本開示の第4の実施形態は、クラスタ名称編集部13によってクラスタ名称の編集が実行される点で上記の第1〜第3の実施形態とは異なるが、それ以外については第1〜第3の実施形態と同様であるため、詳細な説明を省略する。
(クラスタ名称の木構造)
図19は、本開示の第4の実施形態において、クラスタ名称が有する木構造について説明するための図である。
図19では、クラスタの名称Nが、クラスタに分類される個々のコンテンツの住所Aを元に生成される例が示されている。この例において、クラスタに分類される“コンテンツ1”から“コンテンツn”までのn個のコンテンツは、撮影された画像コンテンツであり、それぞれが撮影位置を示す住所情報A1〜Anを有する。ここで、住所情報Aは、例えば“日本、関東、神奈川県、横浜市、西区、駅前、1丁目”というような情報である。この例において、住所情報は、“国、地方、県、市、区、町、丁目”という階層構造を有している。
本実施形態では、このような住所情報の階層構造のうち、1または複数の任意の階層の名称を用いてクラスタの名称が生成される。まず、“区”の階層の名称を用いてクラスタの名称を生成する場合、各コンテンツの住所情報Aに含まれる“区”の階層の名称が抽出される。その結果、“西区”、“神奈川区”、“緑区”、“川崎区”、および“幸区”の名称N5−1〜N5−5が抽出される。従って、“区”の階層の名称を用いて生成されるクラスタ名称は、例えば“西区、神奈川区、緑区、川崎区、幸区”のような名称になる。
次に、“市”の階層の名称を用いてクラスタの名称を生成する場合、各コンテンツの住所情報Aに含まれる“市”の階層の名称が抽出される。その結果、“横浜市”および“川崎市”の名称N4−1,N4−2が抽出される。従って、“市”の階層の名称を用いて生成されるクラスタ名称は、例えば“横浜市、川崎市”のような名称になる。
次に、“県”の階層の名称を用いてクラスタの名称を生成する場合、各コンテンツの住所情報Aに含まれる“県”の階層の名称が抽出される。その結果、“神奈川県”の名称N3が抽出される。つまり、図示された例において、クラスタに分類されるコンテンツは、すべて神奈川県で撮影されたものである。従って、“県”の階層の名称を用いて生成されるクラスタ名称は、名称N3“神奈川県”を用いた名称になる。同様に、“地方”の階層の名称を用いて生成されるクラスタ名称は、名称N2“関東”を用いた名称になる。また、“国”の名称を用いて生成されるクラスタ名称は、名称N1“日本”を用いた名称になる。
(移動の操作によるクラスタ名称の変更)
図20は、本開示の第4の実施形態において、クラスタ名称表示への移動の操作によってクラスタ名称が変更される例を示す図である。図20は、クラスタ名称が変更される過程を示す。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130と、クラスタ名称表示140とを表示させる。また、操作取得部11が、クラスタ名称表示140を右に移動させるユーザの操作を取得する。ここで、ユーザがクラスタ名称表示140を移動させる操作は、例えばクラスタ名称表示140の領域に対するドラッグ操作やフリック操作などである。操作取得部11は、上記の操作の情報をクラスタ名称編集部13に提供する。
(b)では、クラスタ名称編集部13が、クラスタ名称表示140として表示される名称を変更する。クラスタ名称編集部13は、図19を参照して説明したようなクラスタ名称を生成するための住所の階層構造を利用して、元のクラスタ名称表示140に用いられていた名称の1つ上の階層の名称を用いたクラスタ名称を生成する。具体的には、クラスタ名称編集部13は、(a)でクラスタ名称表示140に用いられていた“横浜市、川崎市”という“市”のレベルの名称よりも1つ上の“県”の階層の名称である“神奈川県”を用いたクラスタ名称を生成する。
クラスタ名称編集部13は、クラスタ名称の変更をクラスタ情報16に反映させるとともに、新たなクラスタ名称の情報を表示制御部14に提供する。表示制御部14は、提供された新たなクラスタ名称を、クラスタ名称表示140として表示部15に表示させる。具体的には、表示制御部14は、クラスタ名称表示140のテキスト142を“横浜市、川崎市”から“神奈川県”に変化させる。このとき、表示制御部14は、クラスタ名称表示140の枠141の表示位置を変化させずに、枠141の大きさを変更後のテキスト142に合わせて調整してもよい。
ここで、操作取得部11が、クラスタ名称表示140をさらに右に移動させるユーザの操作を取得した場合、クラスタ名称編集部13は、さらに上位の階層の名称を用いたクラスタ名称を生成する。具体的には、クラスタ名称編集部13は、(b)でクラスタ名称表示140に用いられていた“神奈川県”という“県”のレベルの名称よりも1つ上の“地方”の階層の名称である“関東”を用いたクラスタ名称を生成する。
(c)では、“関東”を用いたクラスタ名称が表示制御部14に提供され、クラスタ名称表示140として表示部15に表示される。
このように、クラスタ名称表示140は、クラスタ名称表示140を移動させるユーザの操作に応じて、クラスタ名称表示140として用いられる名称の階層を変更する。図示された例では、クラスタ名称表示140を右に移動させる操作に応じて、より上位の名称がクラスタ名称表示140として表示される。一方、クラスタ名称表示140を左に移動させる操作があった場合、より下位の名称がクラスタ名称表示140として表示される。つまり、操作取得部11によってクラスタ名称表示140を左に移動させる操作が取得された場合、表示部15の表示は、(c)から(b)へ、また(b)から(a)へと変化する。
なお、クラスタ名称表示140として表示される名称は、図示された3階層の例には限られず、さらに多くの階層の間で変更されてもよい。例えば、(a)の状態でクラスタ名称表示140を左に移動させる操作が取得された場合、“市”のレベルの名称よりも1つ下の階層の名称である“西区、神奈川区、緑区、川崎区、幸区”を用いたクラスタ名称がクラスタ名称編集部13によって生成され、クラスタ名称表示140として表示されてもよい。
このように、クラスタ名称表示を移動させる操作に応じてクラスタ名称の階層を変更することによって、例えば、ユーザは、より大きな領域を指す上位の階層の名称を用いてクラスタ名称を簡潔にするか、より小さな領域を指す下位の階層の名称を併記してクラスタの内容をより細かく示すかを、簡単に切り替えることができる。また、より上位の階層の名称を使用する場合と、より下位の階層の名称を使用する場合とを、クラスタ名称表示を移動させる操作の相異なる向きに関連付けることによって、階層の変更の操作がより直感的になる。
(クラスタ名称のリストからの選択)
図21は、本開示の第4の実施形態において、クラスタ名称をリストからの選択によって変更する例を示す図である。図21は、クラスタ名称が変更される過程を示す。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130と、クラスタ名称リスト表示143とを表示させる。ここで、表示制御部14は、操作取得部11がユーザの所定の操作を取得した場合に、通常モードからクラスタ名称編集モードに入り、クラスタ名称リスト表示143を表示させるように設定されていてもよい。所定の操作は、例えば、クラスタ名称表示140に対する長押しまたはタップの操作でありうる。また、所定の操作は、例えば別途に表示される“編集開始”ボタンなどの操作でもありうる。また、所定の操作は、第1の実施形態と同様に、表示部15の特定の部分へのユーザの接触の持続でもありうる。
クラスタ名称リスト表示143は、クラスタ名称編集部13がクラスタ名称表示140として表示されうる2つ以上の名称の情報を表示制御部14に提供することによって表示されうる。図示された例において、クラスタ名称リスト表示143は、住所の階層構造に応じたリストである。具体的には、クラスタ名称リスト表示143には、“県”のレベルの名称である“神奈川県”、“市”のレベルの名称である“横浜市、川崎市”、および“区”のレベルの名称である“西区・神奈川区・緑区・川崎区・幸区”などがリスト表示される。操作取得部11は、ユーザがクラスタ名称リスト表示143に表示された名称のいずれかを選択する操作を取得する。
(b)では、クラスタ名称編集部13が、操作取得部11が取得した操作によって選択された名称の情報を表示制御部14に提供し、表示制御部14は、この名称を示すクラスタ名称表示140を表示部15に表示させる。図示された例では、“横浜市、川崎市”を用いたクラスタ名称表示140が表示される。
ここで、表示されるクラスタ名称表示140のテキスト142では、“横浜市”の部分がより大きく、“川崎市”の部分がより小さく表示されている。これは、クラスタ表示130によって示されるクラスタに含まれる画像コンテンツのうち、“横浜市”の領域に含まれるものが“川崎市”の領域に含まれるものよりも多いことを示す。このように、表示制御部14は、クラスタ名称に用いられている複数の名称の属性情報をクラスタ名称編集部13から取得し、その数に応じてテキスト142の文字の表示方法を変化させてもよい。図示された例では、それぞれの名称が示す領域に含まれる画像コンテンツの数の情報が、属性情報としてクラスタ名称編集部13から取得される。表示制御部14は、この属性情報に応じて、表示方法の変化として文字の大きさを変化させる。
上記の例において、属性情報は、名称が示す領域に含まれる画像コンテンツの数の他にも、例えば名称のカテゴリ(商業施設、公共施設、住宅施設、観光名所など)、名称が示す領域の面積、人口もしくは世帯数、名称が示す領域の人気度、名称が示す領域が首都や都道府県庁所在地、政令指定都市であるか否か、名称がユーザの編集操作によって選択された回数などでありうる。
また、上記の例において、テキスト142の文字の表示方法の変化は、文字の大きさの変化の他にも、例えばフォントの種類(例えば明朝体、ゴシック体など)の変化、色の変化、太字にするか否か、アンダーラインを付すか否かなどの変化でありうる。
このように、名称の属性情報に応じてテキスト142の文字の表示方法を変化させることによって、例えば、より多くの画像コンテンツを含む領域や、より著名な領域など、ユーザが妥当であると感じる可能性が高い領域の名称を、クラスタ名称表示140においてより目立つように表示することができる。また、ユーザが画像コンテンツの撮影時などに指定したカテゴリに含まれていたり、ユーザによって既に何度か用いられていたりして、ユーザが所望する可能性が高い領域の名称を、クラスタ名称表示140においてより目立つように表示することができる。
(ピンチ操作によるクラスタ名称の変更)
図22は、本開示の第4の実施形態において、クラスタ名称表示へのピンチ操作によってクラスタ名称が変更される例を示す図である。図21は、クラスタ名称が変更される過程を示す。
(a)では、表示制御部14が、表示部15に、地図100と、クラスタ表示130と、クラスタ名称表示140とを表示させる。また、操作取得部11が、クラスタ名称表示140へのピンチアウト操作を取得する。操作取得部11は、ピンチアウト操作の情報をクラスタ名称編集部13および表示制御部14に提供する。
(b)では、表示制御部14が、ピンチアウト操作に従って、クラスタ名称表示140の枠141を拡大させる。クラスタ名称編集部13は、(a)でクラスタ名称表示140として表示されていた名称“神奈川県”に、下位の階層の名称“横浜市、川崎市”を付加した名称“神奈川県横浜市、川崎市”の情報を表示制御部14に提供する。表示制御部14は、枠141の大きさが十分に大きくなった時点で、テキスト142を“神奈川県横浜市、川崎市”に変更する。つまり、表示制御部14は、ピンチアウト操作による枠141の拡大に伴って、クラスタ名称表示140として表示される名称により下位の名称を付加した、より長い名称を表示する。なお、このとき、地図100の縮尺や、クラスタ表示130の大きさは変化しない。
(c)では、(b)の状態で引き続き操作取得部11がピンチアウト操作を取得した結果、表示制御部14が、枠141をさらに拡大させる。クラスタ名称編集部13は、“神奈川県横浜市、川崎市”に、さらに下位の階層の名称“西区・神奈川区・緑区・川崎区・幸区”を付加した名称“神奈川県横浜市西区・神奈川区・緑区、川崎市川崎区・幸区”の情報を表示制御部14に提供する。表示制御部14は、枠141の大きさが十分に大きくなった時点で、テキスト142を“神奈川県横浜市西区・神奈川区・緑区、川崎市川崎区・幸区”に変更する。
なお、この場合、新たに表示される名称は、(b)で表示されていた名称に単に下位の階層の名称を付加したものではなく、“横浜市”の後に“西区・神奈川区・緑区”を挿入し、“川崎市”の後に“川崎区・幸区”を挿入したものである。このように、クラスタ名称編集部13は、図19で示されたような名称の階層構造を反映した位置に下位の階層の名称を挿入することによって、より長いクラスタ名称を生成してもよい。
一方、操作取得部11が、クラスタ名称表示140へのピンチイン操作を取得した場合、表示制御部14は、枠141を縮小させる。クラスタ名称編集部13は、クラスタ名称表示140として表示されている名称から、最も下位の階層の名称を削除した名称の情報を表示制御部14に提供する。表示制御部14は、枠141の大きさがテキスト142を表示しきれないほど小さくなった時点で、テキスト142をクラスタ名称編集部13から提供されたより短いクラスタ名称に変更する。つまり、ピンチイン操作が取得された場合、表示部15の表示は、(c)から(b)へ、また(b)から(a)へと変化する。
このように、本実施形態では、クラスタ名称表示140へのユーザの操作によって、住所などの階層構造を有する名称によって生成されるクラスタ名称を編集することが可能である。これによって、ユーザは、直感的な操作によって表示される名称の階層を変化させることができ、クラスタを表現するのにふさわしいと考えられるクラスタ名称を容易に検索することができる。
なお、上述のように、本実施形態は、第1〜第3の実施形態とは異なりクラスタ名称表示140を操作するものであるため、第1〜第3の実施形態と組み合わせて実現されうる。例えば、本実施形態が第1または第2の実施形態と組み合わせられる場合、クラスタ表示130への操作に対しては第1または第2の実施形態の処理が、クラスタ名称表示140への操作に対しては本実施形態の処理が、それぞれ実行されるように情報処理装置10が設定される。また、本実施形態が第3の実施形態と組み合わせられる場合、地図100におけるクラスタ表示130およびクラスタ名称表示140への操作、および木構造表示160におけるノード161への操作のそれぞれに従ってクラスタおよびクラスタ名称の編集が実行されるように情報処理装置10が設定される。この場合、クラスタおよびクラスタ名称の編集の結果は、クラスタ表示130、クラスタ名称表示140、および木構造表示160の表示に、それぞれインタラクティブに反映される。
(5.第5の実施形態)
次に、図23を参照して、本開示の第5の実施形態について説明する。本開示の第5の実施形態は、木構造表示を用いて編集されるのがクラスタ名称である点で上記の第3の実施形態とは異なるが、それ以外については第3の実施形態と同様であるため、詳細な説明を省略する。
図23は、本開示の第5の実施形態において、木構造表示を用いてクラスタ名称が設定される例を示す図である。図23は、クラスタ名称が設定される過程を示す。
(a)では、表示制御部14が、地図100と、クラスタ表示130と、クラスタ名称表示140と、木構造表示160とを表示部15に表示させている。ここで、表示制御部14は、操作取得部11がユーザの所定の操作を取得した場合に、通常モードからクラスタ名称編集モードに入り、クラスタ名称表示140のテキスト142を消去して枠141だけにし、木構造表示160を表示させるように設定されていてもよい。所定の操作は、例えば、クラスタ名称表示140に対する長押しまたはタップの操作でありうる。また、所定の操作は、例えば別途に表示される“編集開始”ボタンなどの操作でもありうる。また、所定の操作は、第1の実施形態と同様に、表示部15の特定の部分へのユーザの接触の持続でもありうる。
(b)では、操作取得部11が、ノード161を選択するユーザの操作を取得する。操作取得部11は、この操作の情報をクラスタ名称編集部13に提供する。クラスタ名称編集部13は、ユーザの操作によって選択されたノード161の名称を用いてクラスタ名称を生成する。図示された例では、“自宅”、“神奈川学園高校”、および“横浜駅”の3つのノード161が選択されており、クラスタ名称編集部13は、これらのノード161の名称を併記したクラスタ名称“自宅、神奈川学園高校、横浜駅”を生成する。クラスタ名称編集部13は、生成したクラスタ名称の情報を表示制御部14に提供する。
(c)では、表示制御部14が、提供されたクラスタ名称をクラスタ名称表示140のテキスト142として表示部15に表示させる。このとき、表示制御部14は、表示されるテキスト142の長さに合わせて、枠141の大きさを調整してもよい。表示制御部14は、クラスタ名称編集モードを終了して木構造表示160を表示部15から消滅させてもよいし、木構造表示160がクラスタ名称編集モードに入る前から表示されていたような場合には、木構造表示160の表示を継続してもよい。
このように、本実施形態では、木構造表示160上のノード161へのユーザの操作によって、クラスタ名称表示140として表示する名称を編集することが可能である。これによって、ユーザは、木構造に含まれるクラスタ全体の情報を俯瞰的に把握しつつ、クラスタ名称の編集を実行することができる。
なお、上述のように、本実施形態は、第3の実施形態と同様の構成を有するため、第3の実施形態と同様に、他のそれぞれの実施形態と組み合わせて実現されうる。
(6.第6の実施形態)
次に、図24および図25を参照して、本開示の第6の実施形態について説明する。本開示の第6の実施形態は、上記の第1〜第5の実施形態を、任意の次元の特徴空間に適用したものである。従って、特徴空間の次元以外は、上記各実施形態と同様であるため、詳細な説明を省略する。
図24は、任意の次元の特徴空間と2次元の特徴空間との関係について説明するための図である。図24には、任意の次元の特徴空間におけるクラスタCと、クラスタCの2次元平面への射影Cpとが示されている。クラスタCは、射影Cpへの変換によって、情報処理装置10の表示部15に表示されうる。本実施形態では、この射影Cpに対する、2次元の特徴空間におけるクラスタと同様の編集操作に基づいて、クラスタCに編集が加えられる。
図25は、本開示の第6の実施形態においてクラスタが結合される例を示す図である。図25は、クラスタが結合される前後の状態を示す。
(a)では、表示制御部14が、表示部15に、3次元空間200と、クラスタ表示230と、クラスタ名称表示140とを表示させる。3次元空間200は、例えば地理的な空間が表示される3次元の特徴空間である。図示された例では、3次元空間200には富士山が表示されている。クラスタ表示230は、3次元空間200におけるクラスタの2次元平面への射影として表示されうる。
ここで、操作取得部11が、“富士山山頂”および“富士山山麓”の2つのクラスタ表示230を囲む、ユーザのポインティング操作の軌跡120を取得する。操作取得部11は、軌跡120の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡120を図示されているように表示部15に表示させる。
(b)では、クラスタ編集部12が、上記の2つのクラスタ表示230によって示されるクラスタを包含する新たなクラスタを生成する。クラスタ編集部12は、生成されたクラスタの情報を表示制御部14に提供し、表示制御部14は、新たなクラスタの2次元平面への射影をクラスタ表示130として表示部15に表示させる。また、クラスタ編集部12は、生成されたクラスタの情報をクラスタ名称編集部13に提供し、クラスタ名称編集部13は、生成されたクラスタについてクラスタ名称を生成する。クラスタ名称編集部13は、生成されたクラスタ名称を表示制御部14に提供し、表示制御部14は、クラスタ名称“富士山”をクラスタ名称表示140として表示部15に表示させる。
このように、本実施形態では、3次元の特徴空間である3次元空間200におけるクラスタの2次元平面への射影をクラスタ表示230として表示し、このクラスタ表示230に対する操作に応じて、クラスタを編集する。同様に、任意の次元の特徴空間におけるクラスタの2次元平面への射影をクラスタ表示として表示し、このクラスタ表示に対する操作に応じてクラスタを編集することによって、上記の第1〜第5の実施形態と同様の構成が、2次元の特徴空間である地図100の場合に限られず、任意の次元の特徴空間に対して適用されうる。
(7.第7の実施形態)
次に、図26〜図31を参照して、本開示の第7の実施形態について説明する。本開示の第7の実施形態は、ファイルシステムにおけるファイルおよびフォルダの表示を1次元の特徴空間における位置データおよびクラスタの表示とみなす点で上記の各実施形態とは異なるが、それ以外については上記の各実施形態と同様であるため、詳細な説明を省略する。
図26は、本開示の第7の実施形態における特徴空間および位置データについて説明するための図である。
図26では、表示制御部14が、表示部15に、ファイルアイコン310を表示させる。ファイルアイコン310は、予め設定された基準、例えば名称、更新日時、サイズ、種類などに従って配列される。本実施形態では、このファイル配列300を、1次元の特徴空間としてとらえる。そうすると、ファイルアイコン310は、特徴空間の位置データを示すデータ表示であるといえる。
(フォルダの生成)
図27は、本開示の第7の実施形態においてフォルダが生成される例を示す図である。図27は、フォルダが生成される前後の状態を示す。
(a)では、操作取得部11が、表示部15に表示されたファイルアイコン310への、ユーザのポインティング操作の軌跡320を取得する。軌跡320は、例えば、操作取得部11がマウスである場合には、マウスによってポインタが移動された軌跡として取得されうる。また、例えば、操作取得部11がタッチパネルである場合には、表示部15に対するユーザの接触の軌跡として取得されうる。操作取得部11は、軌跡320の情報をクラスタ編集部12と表示制御部14とに提供する。軌跡320の情報を取得した表示制御部14は、軌跡320を図示されているように表示部15に表示させる。
一方、軌跡320の情報を取得したクラスタ編集部12は、軌跡320の形状によって、どのようにフォルダを編集するかを判定する。図示された例において、軌跡320は、“テキストA.txt”および“テキストB.txt”の2つのファイルアイコン310を囲む。このように、軌跡320がファイルアイコン310を囲む場合、クラスタ編集部12は、囲まれたファイルアイコン310によって示されるファイルを包含する新たなフォルダを生成する。なお、本実施形態において、フォルダは、ファイル配列300の特定の位置に配置される位置データであるファイルが分類されるクラスタとして扱われる。
(b)では、クラスタ編集部12が、上記の2つのファイルを包含するフォルダを生成する。クラスタ編集部12は、生成されたフォルダの情報を表示制御部14に提供し、表示制御部14は、生成されたフォルダを示すフォルダアイコン330を表示部15に表示させる。このとき、表示制御部14は、フォルダに包含されるファイルを示すファイルアイコン310を表示部15から消滅させる。
一方、クラスタ編集部12は、生成されたフォルダの情報をクラスタ名称編集部13に提供し、クラスタ名称編集部13は、生成されたフォルダについてフォルダ名称を生成する。クラスタ名称編集部13は、例えば、フォルダに含まれるファイルの名称を併記して“テキストAとテキストB”というフォルダ名称を生成する。クラスタ名称生成部は、生成したフォルダ名称の情報を表示制御部14に提供し、表示制御部14は、フォルダ名称をフォルダ名称表示340として対応するフォルダアイコン330の近傍に表示する。
(フォルダの結合)
図28は、本開示の第7の実施形態においてフォルダが結合される例を示す図である。図28は、フォルダが結合される前後の状態を示す。
(a)では、表示制御部14が、表示部15に、フォルダアイコン330と、フォルダ名称表示340とを表示させる。また、操作取得部11が、軌跡320を取得する。操作取得部11は、軌跡320の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡320を図示されているように表示部15に表示させる。
図示された例において、軌跡320は、2つのフォルダアイコン330を囲む。このように、軌跡320がフォルダアイコン330を囲む場合、クラスタ編集部12は、囲まれたフォルダアイコン330によって示されるフォルダを包含する新たなフォルダを生成する。
(b)では、クラスタ編集部12が、上記の2つのフォルダアイコン330によって示されるフォルダを包含する新たなフォルダを生成する。このとき、クラスタ編集部12は、元の2つのフォルダの情報をクラスタ情報16に保持し、さらに、これらのフォルダの上位のフォルダとして新たなフォルダを生成する。この場合、元の2つのフォルダと新たなフォルダとは木構造における親と子の関係になり、クラスタ情報16にはこれらのフォルダによって形成される木構造の情報が保持される。
ここで、クラスタ編集部12は、生成された新たなフォルダの情報を表示制御部14に提供し、表示制御部14は、新たなフォルダを示すフォルダアイコン330を表示部15に表示させる。また、表示制御部14は、新たなフォルダに包含される元の2つのフォルダを示すフォルダアイコン330を表示部15から消滅させる。
一方、クラスタ編集部12は、生成されたフォルダの情報をクラスタ名称編集部13に提供し、クラスタ名称編集部13は、生成されたフォルダについてフォルダ名称を生成する。クラスタ名称編集部13は、例えば、フォルダに含まれるフォルダの名称を併記して“テキストと音楽”というフォルダ名称を生成する。クラスタ名称生成部は、生成したフォルダ名称の情報を表示制御部14に提供し、表示制御部14は、フォルダ名称をフォルダ名称表示340として対応するフォルダアイコン330の近傍に表示する。
(フォルダの分割)
図29は、本開示の第7の実施形態においてフォルダが分割される第1の例を示す図である。図29は、フォルダが分割される前後の状態を示す。
この第1の例では、クラスタ情報16に保持されたフォルダの木構造の情報を用いてフォルダが分割される。つまり、フォルダの分割は、フォルダアイコン330として表示されるフォルダを、木構造の親フォルダから子フォルダに変更することによって実行される。
(a)では、表示制御部14が、表示部15に、フォルダアイコン330と、フォルダ名称表示340とを表示させる。また、操作取得部11が、軌跡320を取得する。操作取得部11は、軌跡320の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡320を図示されているように表示部15に表示させる。
図示された例において、軌跡320は、フォルダアイコン330を横断する。このように、軌跡320がフォルダアイコン330を横断する場合、クラスタ編集部12は、横断されたフォルダアイコン330によって示されるフォルダを分割する。
(b)では、クラスタ編集部12が、上記のフォルダアイコン330によって示されるフォルダを2つのフォルダに分割する。上述のように、分割後の2つのフォルダは、フォルダの木構造で元のフォルダの下位のフォルダである。クラスタ編集部12は、分割後のフォルダの情報を表示制御部14に提供し、表示制御部14は、分割後のフォルダを示すフォルダアイコン330を表示部15に表示させる。このとき、表示制御部14は、分割前のフォルダを示すフォルダアイコン330を表示部15から消滅させる。
一方、クラスタ編集部12は、分割後のフォルダの情報をクラスタ名称編集部13に提供し、クラスタ名称編集部13は、クラスタ情報16に保持されている分割後のフォルダのフォルダ名称を取得して、表示制御部14に提供する。表示制御部14は、提供されたフォルダ名称をフォルダ名称表示340として対応するフォルダアイコン330の近傍に表示する。
図30は、本開示の第7の実施形態においてフォルダが分割される第2の例を示す図である。図30は、フォルダが分割される前後の状態を示す。
(a)では、表示制御部14が、表示部15に、フォルダアイコン330と、サムネイル表示331とを表示させる。ここで、サムネイル表示331は、フォルダアイコン330によって示されるフォルダに含まれるファイルを縮小画像などによって示すアイコンである。また、操作取得部11が、軌跡320を取得する。操作取得部11は、軌跡320の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡320を図示されているように表示部15に表示させる。
図示された例において、軌跡320は、フォルダアイコン330を横断する。このように、軌跡320がフォルダアイコン330を横断する場合、クラスタ編集部12は、横断されたフォルダアイコン330によって示されるフォルダを分割する。
さらに、図示された例において、軌跡320は、フォルダアイコン330によって示されるフォルダに含まれるサムネイル表示331を、サムネイル表示331aとサムネイル表示331bとに区分する。このような場合、クラスタ編集部12は、軌跡320によるサムネイル表示331の区分に従って、フォルダアイコン330によって示されるフォルダを分割する。
(b)では、クラスタ編集部12が、上記のフォルダアイコン330によって示されるフォルダを2つのフォルダに分割する。これらのフォルダは、軌跡320によって区分されたサムネイル表示331aおよびサムネイル表示331bによって示されるファイルをそれぞれ包含するフォルダである。クラスタ編集部12は、分割後のフォルダの情報を表示制御部14に提供し、表示制御部14は、分割後のフォルダを示すフォルダアイコン330を表示部15に表示させる。このとき、表示制御部14は、分割前のフォルダを示すフォルダアイコン330を表示部15から消滅させるが、サムネイル表示331は、それぞれのフォルダアイコン330によって示されるフォルダに包含されるファイルを示すために引き続き表示されてもよい。
(フォルダの削除)
図31は、本開示の第7の実施形態においてフォルダが削除される例を示す図である。図31は、フォルダが結合される前後の状態を示す。
(a)では、表示制御部14が、表示部15に、フォルダアイコン330と、フォルダ名称表示340とを表示させる。また、操作取得部11が、軌跡320を取得する。操作取得部11は、軌跡320の情報をクラスタ編集部12と表示制御部14とに提供する。表示制御部14は、軌跡320を図示されているように表示部15に表示させる。
図示された例において、軌跡320は、フォルダアイコン330を3回横断する。このように、軌跡320がフォルダアイコン330を複数回横断する場合、クラスタ編集部12は、横断されたフォルダアイコン330によって示されるフォルダを削除する。
本実施形態において、フォルダの分割とフォルダの削除は、いずれも、軌跡320がフォルダアイコン330を横断する場合に実行される。ユーザがポインティング操作の軌跡によってフォルダアイコン330を横断する動作は、フォルダの分割および削除のいずれをも直感的に想起させる動作である。従って、軌跡320がフォルダアイコン330を横断することをフォルダの分割および削除の両方のトリガーとしつつ、ユーザにとって自然に感じられる何らかの基準で、フォルダを分割する場合とフォルダを削除する場合とを判定することが望ましい。
そこで、クラスタ編集部12は、軌跡320がフォルダアイコン330を横断する回数によって、フォルダを分割するか削除するかを判定する。つまり、軌跡320がフォルダアイコン330を1回横断する場合、クラスタ編集部12はフォルダを分割する。また、軌跡320がフォルダアイコン330を複数回横断する場合、クラスタ編集部12はフォルダを削除する。このとき、クラスタ編集部12は、削除されたフォルダに含まれていたファイルをあわせて削除してもよい。この場合、上記の回数による判定に、フォルダだけを削除するかファイルを含めて削除するかの判定が含まれてもよい。例えば、軌跡320がフォルダアイコン330を2〜3回横断する場合、クラスタ編集部12はフォルダだけを削除し、軌跡320がフォルダアイコン330を4回以上横断する場合、クラスタ編集部12はフォルダおよびフォルダに含まれるファイルを削除してもよい。
なお、判定の基準になる回数は、上記の例には限られない。例えば、フォルダの分割の第2の例のように、軌跡320によってフォルダアイコン330に包含されるサムネイル表示331を区分することでフォルダが分割される場合には、区分のために軌跡320が複雑な形状になることが想定されるため、より多くの回数を判定の基準にしてもよい。また、誤操作によってフォルダが削除されることを防ぐために、例えば軌跡320が3回以上フォルダアイコン330を横断しなければフォルダが削除されないようにしてもよい。
(b)では、クラスタ編集部12が、上記のフォルダアイコン330によって示されるフォルダを削除する。削除されたフォルダに含まれていたファイルは、フォルダに含まれていない(正確には、表示されていないルートフォルダに直接含まれる)状態になる。クラスタ編集部12は、削除されたフォルダおよび削除されたフォルダに分類されていたファイルの情報を表示制御部14に提供する。表示制御部14は、削除されたフォルダを示すフォルダアイコン330を表示部15から消滅させるとともに、削除されたフォルダに含まれていたファイルを示すファイルアイコン310を表示部15に表示させる。
このように、本実施形態では、フォルダアイコン330へのユーザの操作を、ポインティング操作の軌跡320として取得し、軌跡320の形状に応じて様々なフォルダの編集をすることが可能である。これによって、ユーザは、直感的な操作によって、フォルダアイコン330として表示されたフォルダに対して様々な編集を加えることができる。
(8.ハードウェア構成)
次に、図32を参照しながら、上記で説明された本開示の一実施形態に係る情報処理装置10のハードウェア構成について詳細に説明する。図32は、本開示の実施形態に係る情報処理装置のハードウェア構成を説明するためのブロック図である。
情報処理装置10は、CPU901、ROM903、およびRAM905を含む。さらに、情報処理装置10は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、および通信装置925を含んでもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置10内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。
ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置10の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の装置を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置10のユーザは、この入力装置915を操作することにより、情報処理装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置917は、例えば、情報処理装置10が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置10が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
ストレージ装置919は、情報処理装置10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、記録媒体用リーダライタであり、情報処理装置10に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD−DVDメディア、Blu−ray(登録商標)メディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(Compact Flash:CF)、フラッシュメモリ、または、SDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)または電子機器等であってもよい。
接続ポート923は、機器を情報処理装置10に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS−232Cポート、光オーディオ端子、HDMI(High-Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、情報処理装置10は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。
通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイス等で構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
以上、情報処理装置10のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、上記各実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
(9.補足)
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)特徴空間の位置データを示すデータ表示または前記位置データが含まれるクラスタを示すクラスタ表示の一方または両方を表示部に表示させる表示制御部と、
前記データ表示または前記クラスタ表示へのユーザの操作を取得する操作取得部と、
前記操作に応じて前記クラスタを編集するクラスタ編集部と、
を備える情報処理装置。
(2)前記操作取得部は、前記ユーザのポインティング操作の軌跡を取得する、前記(1)に記載の情報処理装置。
(3)前記クラスタ編集部は、前記軌跡が前記クラスタ表示を横断する場合に前記クラスタを分割または削除する、前記(2)に記載の情報処理装置。
(4)前記クラスタ編集部は、前記軌跡が前記クラスタ表示を横断する回数によって前記クラスタを分割するか削除するかを判定する、前記(3)に記載の情報処理装置。
(5)前記表示制御部は、前記クラスタに含まれる前記位置データまたは他のクラスタを示す表示を前記表示部に表示させ、
前記クラスタ編集部は、前記軌跡による前記位置データまたは前記他のクラスタを示す表示の区分に従って前記クラスタを分割する、前記(3)または(4)に記載の情報処理装置。
(6)前記クラスタ編集部は、前記軌跡が前記データ表示または前記クラスタ表示を囲む場合に、前記位置データまたは前記クラスタを包含する新たなクラスタを生成する、前記(2)〜(5)のいずれか1項に記載の情報処理装置。
(7)前記操作取得部は、前記クラスタ表示への前記ユーザのピンチ操作を取得する、前記(1)〜(6)のいずれか1項に記載の情報処理装置。
(8)前記表示制御部は、前記ピンチ操作に応じて前記クラスタ表示を圧縮または伸張して表示させ、
前記クラスタ編集部は、前記クラスタ表示が所定の割合または回数以上圧縮または伸張された場合に前記クラスタを分割する、前記(7)に記載の情報処理装置。
(9)前記クラスタ編集部は、前記ピンチ操作の速さに応じて前記クラスタの分割の細かさを変化させる、前記(8)に記載の情報処理装置。
(10)前記操作取得部は、前記ユーザが前記クラスタ表示を移動させる操作を取得する、前記(1)〜(9)のいずれか1項に記載の情報処理装置。
(11)前記クラスタ編集部は、前記移動させる操作によって前記クラスタ表示が別のクラスタ表示と重複した場合に前記クラスタと前記別のクラスタ表示によって示されるクラスタとを結合させる、前記(10)に記載の情報処理装置。
(12)前記表示制御部は、前記クラスタを包含する別のクラスタを示す表示を前記表示部に表示させ、
前記クラスタ編集部は、前記移動させる操作によって前記クラスタ表示が前記別のクラスタを示す表示の外側に出た場合に前記別のクラスタから前記クラスタを分割する、前記(10)または(11)に記載の情報処理装置。
(13)前記操作取得部は、前記ユーザが前記クラスタ表示を含む表示を拡縮させる操作を取得し、
前記クラスタ編集部は、前記拡縮される操作に応じて、前記クラスタを含み木構造を有するクラスタ群の情報から前記木構造において前記クラスタの上位または下位にある別のクラスタの情報を取得し、
前記表示制御部は、前記別のクラスタを示すクラスタ表示を前記クラスタ表示に代えて前記表示部に表示させる、前記(1)〜(12)のいずれか1項に記載の情報処理装置。
(14)前記表示制御部は、前記クラスタ表示を含む表示の縮尺を維持する、前記(13)に記載の情報処理装置。
(15)前記クラスタ編集部は、前記クラスタを含み木構造を有するクラスタ群の情報を取得し、
前記表示制御部は、前記クラスタ表示を前記木構造のノードとして表示させる、前記(1)〜(14)のいずれか1項に記載の情報処理装置。
(16)前記操作取得部は、前記ユーザのポインティング操作の軌跡を取得し、
前記クラスタ編集部は、前記軌跡が前記木構造のリンクを横断する場合に、前記リンクを解除するように前記クラスタ群の情報を更新する、前記(15)に記載の情報処理装置。
(17)前記操作取得部は、前記ユーザのポインティング操作の軌跡を取得し、
前記クラスタ編集部は、前記軌跡が複数の前記ノードを連結する場合に、これらのノードの間にリンクを設定するように前記クラスタ群の情報を更新する、前記(15)または(16)に記載の情報処理装置。
(18)前記クラスタ編集部は、前記クラスタを含み木構造を有するクラスタ群の情報を取得し、
前記表示制御部は、前記クラスタ表示を前記クラスタ群の別のクラスタを示す別のクラスタ表示に変化させる場合に、前記木構造における前記クラスタから前記別のクラスタまでの経路上に存在するクラスタを示すクラスタ表示を前記表示部に順次表示させる、前記(1)〜(17)のいずれか1項に記載の情報処理装置。
(19)特徴空間の位置データを示すデータ表示または前記位置データが含まれるクラスタを示すクラスタ表示の一方または両方を表示部に表示させることと、
前記データ表示または前記クラスタ表示へのユーザの操作を取得することと、
前記操作に応じて前記クラスタを編集することと、
を含む情報処理方法。
(20)特徴空間の位置データを示すデータ表示または前記位置データが含まれるクラスタを示すクラスタ表示の一方または両方を表示部に表示させる機能と、
前記データ表示または前記クラスタ表示へのユーザの操作を取得する機能と、
前記操作に応じて前記クラスタを編集する機能と、
をコンピュータに実現させるためのプログラム。