(57)【特許請求の範囲】
【請求項１】
図表により視覚化されるワークスペース中で複数のファイルを表示する方法であって、
コンピュータにより再生される複数のファイルを取得し、
前記ワークスペース中に前記複数のファイルを表す各代替画像を、前記複数のファイルの間の類似性に基づいて定められた距離に応じて図表的に配置し、
前記複数のファイルの少なくとも一部のファイルを含む少なくとも一つのスタックを決定し、
前記ワークスペース中で前記少なくとも一つのスタックに近接するファイルを判別し、近接すると判断された前記ファイルを用いて近接部を形成する、
ことを特徴とするファイルの表示方法。
【請求項２】
前記近接部に属するファイルを前記スタックからの距離に基づいて決定することを特徴とする請求項１記載のファイルの表示方法。
【請求項３】
前記近接部に属するファイルを決定するための閾値となる前記スタックからの距離は、前記近接部が形成された後に変更されることを特徴とする請求項２記載のファイルの表示方法。
【請求項４】
前記近接部に属するファイルが、前記近接部の形成後に前記ファイルの間の距離を再調整するときに現在属する前記近接部よりも近接する近接部が存在しても、前記ファイルが属する近接部を変更しないように制御することを特徴とする請求項２記載のファイルの表示方法。
【請求項５】
前記近接部に属するファイルが、前記近接部の形成後に現在属する前記近接部に属する条件を満たさなくなった場合、前記ファイルが属する近接部を変更しないように制御する
ことを特徴とする請求項２記載のファイルの表示方法。
【請求項６】
前記近接部が形成された後、前記複数のファイルの少なくとも一つが前記近接部に属する条件を満たした場合にも、前記少なくとも一つのファイルを前記近接部に属さないように制御することを特徴とする請求項２記載のファイルの表示方法。
【請求項７】
図表により視覚化されるワークスペース中で複数のファイルを表示装置上に表示する装置であって、
コンピュータにより再生される複数のファイルを取得する取得手段と、
前記ワークスペース中に前記複数のファイルを表す代替画像の各々を、前記複数のファイルの間の類似性に基づいて定められた距離に応じて図表的に配置する配置手段と、
前記複数のファイルの少なくとも一部のファイルを含む少なくとも一つのスタックを決定するスタック形成手段と、
前記ワークスペース中で前記少なくとも一つのスタックに近接する前記ファイルを判別し、近接すると判断された前記ファイルを用いて近接部を形成する近接部形成手段と
を備えることを特徴とするファイルの表示装置。
【請求項８】
前記近接部形成手段は、前記近接部に属するファイルを前記スタックからの距離に基づいて決定することを特徴とする請求項７記載のファイルの表示装置。
【請求項９】
前記近接部形成手段は、前記近接部に属するファイルを決定するための閾値となる前記スタックからの距離を、前記近接部が形成された後に変更することを特徴とする請求項８記載のファイルの表示装置。
【請求項１０】
前記近接部形成手段は、前記近接部に属するファイルが、前記近接部の形成後に前記ファイルの間の距離を再調整するときに現在属する前記近接部よりも近接する近接部が存在した場合でも、前記ファイルが属する近接部を変更しないように制御することを特徴とする請求項８記載のファイルの表示装置。
【請求項１１】
前記近接部形成手段は、前記近接部に属するファイルが、前記近接部の形成後に現在属する前記近接部に属する条件を満たさなくなった場合、前記ファイルが属する近接部を変更しないように制御することを特徴とする請求項８記載のファイルの表示装置。
【請求項１２】
前記近接部形成手段は、前記近接部が形成された後、前記複数のファイルの少なくとも一つが前記近接部に属する条件を満たした場合にも、前記少なくとも一つのファイルを前記近接部に属さないように制御することを特徴とする請求項８記載のファイルの表示装置。
【請求項１３】
コンピュータに、図表によって視覚化されるワークスペース中で複数のファイルを表示手段上に表示させる機能を実現させるためのコンピュータプログラムであって、
前記機能は、
コンピュータにより再生される複数のファイルを取得し、
前記ワークスペース中に前記複数のファイルを表す代替画像の各々を、前記複数のファイルの間の類似性に基づいて定められた距離に基づいて図表的に配置し、
前記複数のファイルの少なくとも一部のファイルを含む少なくとも一つのスタックを決定し、
前記ワークスペース中で前記少なくとも一つのスタックに近接する前記ファイルを判別し、近接すると判別された前記ファイルを用いて近接部を形成する、
ことを含む、ファイルの表示用コンピュータプログラム。
【請求項１４】
前記ワークスペースには前記ファイルの間が所定の類似性を有する場合に前記ファイルの間を接続する線分を表示させ、前記近接部に属するファイルと前記近接部外に属するファイルとの間には線分を表示させないように表示制御を行わせることを特徴とする請求項１３記載のファイルの表示用コンピュータプログラム。
【請求項１５】
前記ファイルの類似性に基づいて定められた距離は、前記複数のファイルが前記スタック内にあるときは前記スタック外にある時よりも短くなるように制御させることを特徴とする請求項１３記載の表示用コンピュータプログラム。
【請求項１６】
前記近接部に属するファイルを前記スタックからの距離に基づいて決定させることを特徴とする請求項１３記載の表示用コンピュータプログラム。
【請求項１７】
前記近接部に属するファイルを決定するための前記スタックからの距離閾値は、前記近接部が形成された後に変更させることを特徴とする請求項１３記載の表示用コンピュータプログラム。
【請求項１８】
前記近接部に属するファイルが、前記近接部の形成後に前記ファイルの間の距離を再調整するときに現在属する前記近接部よりも近接する近接部が存在しても、前記ファイルが属する近接部を変更しないように制御させることを特徴とする請求項１３記載の表示用コンピュータプログラム。
【請求項１９】
前記近接部に属するファイルが、前記近接部の形成後に現在属する前記近接部に属する条件を満たさなくなった場合、前記ファイルが属する近接部を変更しないように制御させることを特徴とする請求項１３記載の表示用コンピュータプログラム。
【請求項２０】
前記近接部が形成された後、前記複数のファイルの少なくとも一つが前記近接部に属する条件を満たした場合にも、前記少なくとも一つのファイルを前記近接部に属さないように制御させることを特徴とする請求項１３記載の表示用コンピュータプログラム。
【請求項２１】
複数の前記近接部間の類似性を図表により表示させることを特徴とする請求項１３記載の表示用コンピュータプログラム。
【請求項２２】
前記近接部に属する前記ファイルの周囲を取り囲む色付けされた領域を用いて前記類似性を表示させることを特徴とする請求項１３記載の表示用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話型で適応性のある、図表配置（ｇｒａｐｈ−ｂａｓｅｄ  ｌａｙｏｕｔ）により複数のファイルを表示するためのシステムおよび方法に関し、より詳細には類似性に基づく積み重ねとグルーピングを用い対話的で視覚的なワークスペース内にファイルを表示するためのシステムおよび方法に関する。
【背景技術】
【０００２】
写真間の関係に基づいて写真をグルーピングして整理することは、写真に関する基本的な操作である。大量の画像を扱う作業では、オンラインレポジトリからの写真の選択、個人のフォトコレクションおよび共有されたフォトコレクションの整理、そしてデジタルライブラリにメタデータを付加したりイメージを関連付けたりといったことが、多様な作業の一部となる。これらの作業で用いるインターフェースの多くは、グーグル（登録商標）、Flickr（登録商標）での検索結果およびＰｉｃａｓａ（登録商標）やマイクロソフト（登録商標）ウィンドウズ（登録商標）エクスプローラの閲覧インターフェースに見られるような、リストやサムネイルを並置するものである。画像に加え、他のドキュメントについても、ユーザが互いを識別できるようなサムネイル表示を用いることで同様の手法での整理を行うことができる。
【０００３】
しかし、グリッドベースの表示では、ファイル間の関係を適切に描くにはあまりに制約的であり素材の表示に限界がある。加えて、ファイルをノードとし、それらの関係を描くためにノードを結合するような表示においては、他のクラスのファイルを整理するために、あるノードをある位置に固定したい場合が頻繁に生ずる。固定されていないノードが、一つ以上の固定されたノードに対して短い理想距離(desired distance)を持つ場合もある。もしそれらの固定されたノードが離れた位置にある場合、固定していない写真（ファイル）はこれらの固定されたノード間を結ぶ直線に沿って積み上がり、両ノードに対する類似性を描くうえで、両ノードに対する実際の類似性を不正確に描くことになる。
【０００４】
また、ファイルの整理や可視化を行うための多くのシステムでは、ユーザが整理のための追加ルールを手動で導入することや、既存のルールを置き換えることは許していない。このため、ユーザはソフトウェアベースのシステムにより設定された整理手順に行き詰ってしまうことも多くある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−０９９２２６号公報
【非特許文献】
【０００６】
【非特許文献１】コホーネン、テウヴォ、「自己組織化マップ」、第３版、スプリンガー−ヴァーラグ社刊、２００１年
【非特許文献２】チャンら、「コレクションの理解」,デジタルライブラリに関するＡＣＭ／ＩＥＥＥ共同会議予稿集（Proceedings of the ACM/IEEE Joint Conference on Digital Libraries）、頁３３４〜３４２
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、柔軟かつユーザによる操作が可能となるグラフベース（図表配置）でファイルを配置する表示システムおよび方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の態様の一つは、上記目的を達成するために、図表により視覚化されるワークスペース中で複数のファイルを表示する方法であって、コンピュータにより再生される複数のファイルを取得し、前記ワークスペース中に前記複数のファイルを表す代替画像の各々を、前記複数のファイルの間の類似性に基づいて定められた距離に応じて図表的に配置し、前記複数のファイルの少なくとも一部のファイルを含む少なくとも一つのスタックを決定し、前記ワークスペース中で前記少なくとも一つのスタックに近接するファイルを判別し、近接すると判断された前記ファイルを用いて近接部を形成することを特徴とする。
【０００９】
本発明の態様の他の一つは、上記目的を達成するために、図表により視覚化されるワークスペース中で複数のファイルを表示装置上に表示する装置であって、コンピュータにより再生される複数のファイルを取得する取得手段と、前記ワークスペース中に前記複数のファイルを表す代替画像の各々を、前記複数のファイルの間の類似性に基づいて定められた距離に応じて図表的に配置する配置手段と、前記複数のファイルの少なくとも一部のファイルを含む少なくとも一つのスタックを決定するスタック形成手段と、前記ワークスペース中で前記少なくとも一つのスタックに近接する前記ファイルを判別し、近接すると判断された前記ファイルを用いて近接部を形成する隣接部形成手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
ワークスペース上に、図表的に配置された視認性に優れるファイルの表示を行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】ワークスペース中でサムネイルにより表される複数のファイルの初期レイアウトを示すものであり、距離計測に基づいてサムネイル画像を配置した、本発明の一形態を表すものである。
【図２】選択された一つのサムネイル画像に応じて、どのように類似のサムネイル画像がハイライトされ、接続されるかを示す、本発明の一形態を表すものである。
【図３】どのように類似するファイルが検索され、ワークスペース内に表示されるかを示す、本発明の一形態を表すものである。
【図４】３つの固定されたサムネイル画像あるいはサムネイル画像のスタックがより大きなサムネイル画像によって表される様子、そして、隣接部に基づいたスタック中のサムネイル画像を取り囲む色付けされたヘイローにより隣接部が表される様子を示す、本発明の一形態を表すものである。
【図５】（Ａ）から（Ｄ）にしたがって、赤いヘイローで示される新しい隣接部が作成され、残りのワークスペースとは独立して隣接部が動く様子を示す、本発明の一形態を表すものである。
【図６】隣接部と他の隣接部に属する写真との関係を色付けしたヘイローおよび色付けした接続線で表現した例を示す、本発明の一形態を表すものである。
【図７】文章ドキュメントを適用した様子を示す、本発明の一形態を表すものである。
【図８】サムネイル画像のスタックに対応する楕円形状のポップアップウィンドウと、スタック中の各サムネイル画像を楕円形状として表示した例を示す、本発明の一形態を表すものである。
【図９】本発明のシステムを実現するコンピュータプラットフォームの典型例を表す、本発明の一形態を表すものである。
【発明を実施するための形態】
【００１２】
以下の詳細な説明において、対応する図面中の符号は、同じ機能要素については同様の番号を付してある。これらの図面は例示であって、その手法を限定するものではなく、個々の実施形態および適用例は今回の発明の原理を示すためのものである。これらの適用例は当業者が実施可能な程度に十分な詳細が記載されており、他の適用例への適用、構成の変更や各構成要素の変更および／または置き換えが、本発明の範囲および思想から逸脱することなく適用できることは理解されるだろう。従って、以下の詳細な説明は限定的に解釈されるものではない。加えて、記述される多様な実施形態は、一般用のコンピュータ上で動作するソフトウェアの形態、専用のハードウェアから成る形態、あるいはソフトウェアとハードウェアとの組み合わせにより実現されるものである。
【００１３】
本発明は、反復過程（ｉｔｅｒａｔｉｖｅ  ｐｒｏｃｅｓｓ）により支援されたファイルの管理のための適応型の対話的な視覚的ワークスペースのデザインに関するものである。一つの実施形態として、例えば写真のグループのような関連するファイルのサムネイル画像を、初期配置として所定の写真の類似度計測の分析結果に基づいて、ディスプレイに表示されたワークスペース中において互いに近くに配置する。ユーザは次にユーザインターフェースを介して関連する写真をスタックしてグループ化する指示を行う。システムは、ユーザによる検討を促すために、スタックに含まれる写真との所定の関連性に基づいて追加の関連性のある写真を記憶領域から抽出して、ワークスペース中のスタックの周囲に配置して表示する。ユーザは関連性のある写真を選ぶうえで、視覚的、時間的および地理的な属性に基づいて選択基準を設定してもよい。これらの対話的な過程を経て、ユーザはある特定の表示に適した写真のコレクションを見出すことができるようにもなる。この過程は、後の検索の支援となる写真の関連付けにも有効である。
【００１４】
また、異なる写真属性に注目するときに、ワークスペース上にある写真を他の写真に対してどの位近付けるかを決定するときに、グラフベースレイアウト手法では、ワークスペース中に写真間の理想距離(desired distance)と実際の距離との差が最小となるように写真を配置する。ノードがワークスペース中で他の箇所にドラッグされるときには、関連するノードは類似性に基づいてドラッグされたノードに付いて行く。ノードは特定の箇所に固定することもでき、固定されていないノードだけがグラフレイアウトのアルゴリズムにしたがって動くことができる。グラフレイアウト法は、審美的基準に沿ってグラフをレイアウトするときにどのようなノード配置が審美的基準を最適化するかを探索する公知の手法であり、大まかに２種類に分類され、グラフ理論をベースにしたアルゴリズム的アプローチ、物理モデルをベースとしたモデル的アプローチがある。さらにこれを改良したものがどのような理論、物理モデル、基準を適用するかで多様にあるが、本発明にはどのモデルを適用することもできる。
【００１５】
本発明の一つのポイントは、ユーザが他の写真や既存のスタック（積み重ね）にユーザインターフェースを用いて写真をドラッグ等することによって、写真のスタックを作る点である。写真のスタックは、ネットワーク中の他のノードに対して理想距離に応じた位置で図表中にグラフのノードとして表示される。なお、スタックが実際に積み重なっているように表示されている必要はなく、一群として識別できるように表示されればよい。例えばスタックはスタックから選ばれた写真、あるいはスタックから選ばれた写真のコラージュで視覚化される。スタックはヘイロー（ｈａｌｏ 光輪）によって視覚化された隣接部（ｎｅｉｇｈｂｏｒｈｏｏｄ）を有することもでき、隣接部にはスタックの写真に関連する写真が含まれる。より適切に分離させるために、スタックの隣接部の写真はワークスペースの他の部分とは切り離されており（例えば隣接部外のノードとの相互作用が小さいあるいは働かないものとしてスタック、隣接部および他のノードの理想距離を計算する）、固定された写真とその隣接部がワークスペースの他の部分に影響を与えないで独立に移動するように構成される。
【００１６】
写真に加えて、この手法は他の種類のファイル、ビデオ、テキストベースのドキュメントなどにも適用することができる。テキスト類似性のような他の種類の類似性をテキストベースのファイルに適用することもできる。サムネイル画像はファイルの種別に関わらず、ワークスペース中のファイルを表す。
【００１７】
また、ワークスペース内のファイルの分離は、ファイル間の距離計算を用いて決定される。用途に適した距離計算手法を用いることで、システムはファイルを直感的に理解しやすくグルーピングする。ユーザはシステムの操作を通じてこれに関与する。このためユーザは意味あるやり方でファイルを整理することができる。システムによるファイルの関係分析結果が不十分なときには、ユーザは隣接部中のファイルの関係を手動で調整するための制御をすることもできる。
【００１８】
本発明の一例では、写真のような複数のファイルの配置および整理に関してユーザを支援する２次元のワークスペースを提供する。このワークスペースはグリッドに縛られることなく２次元空間に関連した写真を互いに近接配置することができる。ユーザは、関連する写真を見付けるためのいくつかの類似性指標を選択できるようにしてもよい。ユーザはワークスペース中の特定の位置に写真を固定すること、スタックに写真を配置すること、写真およびスタックをスペース内で移動すること、ができる。ユーザがそれぞれの写真やスタックを移動するときに、システムは類似性に基づいて固定されていない写真を移動させる。スタックの関係が相対的曖昧さを持って視覚化されており、固定されていない写真の移動ができるので、ユーザは別の類似性クライテリアに基づくシステムの支援を利用しながら、写真の整理をすることができる。ユーザは選択した写真グループに類似した追加写真の検索をすることもできる。
【００１９】
他の態様では、初期のレイアウトを、時刻、地理上の位置（ＧＰＳの位置）、タグやメタデータ、視覚的な類似性といった多様な写真に関する特徴に基づく、写真間の類似指標に基づいて配置する。一般に、類似した写真は近接配置し、異なる写真は互いに離して配置するように初期のレイアウトは作成される。ユーザは類似あるいは関連した写真のグループを作成し、それらをワークスペースに配置する。スタックが形成されると、システムはスタックに類似する写真を識別し、そのグループへの追加候補としてそのスタックの隣接部内や、その近辺の追加候補であることが認識される領域に配置して提示をする。一つ以上のスタックに近接している写真は最も近接しているスタックの隣接部に配置される。システムは、隣接部のメンバーになる候補について、現在のスタックの隣接部への重複する可能性の程度に応じて他のスタックの隣接部を着色することで、その重複を視覚化する。このフィードバックに基づいて、写真の現在のスタックへの移動および追加、新規スタックの作成、スタックの隣接部からの写真の追加あるいは削除、を指示することで、ユーザはワークスペースを再配置させることができる。
【００２０】
スタックの隣接部は、隣接部を形成するスタックと同様に、黙示的な写真のクエリとして作用する。スタックに対し写真を追加あるいは削除することで、黙示的なクエリは変更される。異なる距離指標に変更するときは、スタックの隣接部はその距離指標によって決定される。スタックの黙示的なクエリの中に異なる距離指標を組み合わせるために、隣接部は部分的あるいは完全に写真の追加や除外がされないようにすることもできる。写真の追加がされなくなると、その隣接部は異なる複数の距離指標の潜在的な隣接部の積集合（共通部分）を形成する。逆に、隣接部から写真の除外がされないようにすると、隣接部は潜在的な隣接部の和集合を形成する。
【００２１】
これ以降の説明は、特に写真の使用に焦点を当てている。しかし、このアプローチはビデオのような他のマルチメディアドキュメント、あるいは、テキストファイルなどのいかなる種類のドキュメントに対しても適用することができる。いずれのファイルも、ビデオのキーフレームやページの印刷イメージのような形式の、視覚的表示をもつことができる。それらの類似性は、それぞれ種類に適した距離指標を元に表現することができる。
【００２２】
ワークスペース内で意味あるグループにユーザが写真を整理するのを支援するために、写真および写真のストック間の類似性に基づいた距離を表示する略完全に接続されたグラフがワークスペース内に保持される。スタックがない場合には、そのグラフは例えば全てのサムネイル間の距離指標を計算して、完全に接続される。選択された距離閾値以下の距離指標を有する写真だけが、写真間を結ぶ線で繋げられて表示される。それぞれのスタックの隣接部では、その隣接部内では完全に接続されているが他とは接続されない、独立したグラフを形成する。
【００２３】
グラフレイアウトモデルを使用することにはいくつかの理由がある。第１に、距離が必要なだけなので、非ユークリッド距離を使うことができる。第２に、自己組織化マップ（例えば、非特許文献１などを参照）とは異なり、ノードはどの位置においてもよく、グリッドや同様のセル構造に当てはめる必要もない。第３に、グラフレイアウトはユーザによる配置も考慮にいれることができる。それは多次元スケーリングのようなアプローチとの差異である。加えて、反復過程での移動方向をガイドする偏導関数とともに距離指標を用いることで、満足が得られる状態に早くたどり着ける。
【００２４】
ノード間の最適な距離を決定するために、差分距離指標を用いることができる。単純な距離指標としては、２つの写真を撮影した時間差がある。もし写真に位置情報が含まれているならば、位置間の地理的な距離を距離指標として利用することができる。例えば、写真、ビデオ、あるいはテキスト文章の作成した場所が近いかといった指標となる。例示としては、時間、地理コード、写真の視覚的な類似度といったものを含む多様な差分距離指標を利用できる。視覚的な類似度は、多様な手法で得ることができる。一つの例示としては、カラーヒストグラムあるいはカラー自己相関分布（ｃｏｌｏｒ  ｃｏｒｒｅｌｏｇｒａｍ）を用いることができる。カラーヒストグラムは、画像中のカラー分布を表すもので、通常２次元あるいは３次元のカラー空間における所定の色範囲それぞれのピクセル数を計数することで得られる。カラー自己相関分布は、ピクセル間の距離の関数として、色のペアの空間的な相関を計算するものである。カラーヒストグラムとカラー自己相関分布に関する詳細は、周知であるので説明は省略する。
【００２５】
「基本操作」
ユーザは、写真を互いに写真の上にドラッグすることで写真をスタックする。それらのスタックは個別の写真のようにグラフレイアウト中のノードとして扱われる。写真のスタックは通常ユーザにより作成されるが、システムは既定の距離指標に基づいて自動的に写真をクラスタ化し、関係する写真を同じスタックに配置するオプションを提供してもよい。このようにすれば、ワークスペース中に多くのスタックが散らかることなく、より多くの写真をユーザは取り扱うことができる。
【００２６】
写真あるいは写真のスタックをドラッグした後、写真あるいは写真のスタックは新しい位置に固定される。このやり方で、ユーザは写真の整理のためにいくつかのスタックをワークスペースのエリアの異なる領域に固定することができる。固定された写真あるいはスタックはユーザの意思によるものなので、グラフレイアウト全体を見たときに固定されていない写真に対してその意図がわかりやすくなる。
【００２７】
固定されていないノードは、一より多くの固定されたノードに対して短い距離を有するかもしれない。もしそれらの固定されたノードどうしが離れていたら、固定されていない写真は二つの固定されたノード間を結ぶ直線に沿って積み上がってしまう。こうした問題に対して、我々は隣接部のコンセプトを導入することで、ノードに近接する固定されていないノードは一つの隣接部中に含まれるようにする。隣接部に属していない写真およびスタックに対して独立に隣接部は移動する。
【００２８】
全体グラフおよび隣接部のレイアウトは、写真の類似性に関するシステムの解析結果を視覚的に示す。隣接部の類似性を視覚化することで、ユーザが定義したカテゴリに関するシステムの解析結果が相対的あいまいさを持ってフィードバックされることとなる。
【００２９】
「グラフレイアウト」
理想距離（ｄｅｓｉｒｅｄ  ｄｉｓｔａｎｃｅ）に応じてノード間の距離を最適化した完全接続グラフのレイアウトの生成のためのアプローチにはいくつか異なる手法がある。例えば、理想距離と実際の距離との間の二乗差を最小とする標準的な最適化アルゴリズムを使うことができる。
【００３０】
最初の態様においては、グラフレイアウトに関して力学モデルの使用を選択した。その力はフックの法則に基づく、ばねでモデル化する。ばねは自然長ｌでばね定数ｋとする。ばねｌ、ｋで接続された距離ｄのノードにはｋ×（ｄ−ｌ）の力が作用する。なお、ｄ＜ｌのときはこれは反発力となる。我々のばねモデルは完全に接続されたばねモデルを仮定している（すなわち、全てのノード間にばねがある）。静止状態でのばね長がノード間の理想距離に対応する。上述のように、グラフをいくつかのサブグラフに分割し、各サブグラフ内だけで接続するようにしてもよい。
【００３１】
図１は、ワークスペース１０２中に、各写真がサムネイル画像１０４により表現された、写真セットの初期レイアウトが示されている。各ノード１０６は、個々のサムネイル画像１０４あるいは写真のスタック１２２（図３）である。一例としては、スプリングモデルは、スプリングシステムが最小のエネルギー状態となるようにノード１０６の初期レイアウト１００を決定するのに使われる。こうしたレイアウト１００は、短い理想距離を有する関連ノード１０８，１１０を、互いに近接して配置し、関係のないノード１１０，１１２は互いが離れるように配置する。接続線１１４は類似する写真間に描く。
【００３２】
初期レイアウト１００を生成するために、サムネイル１０４はまずランダムな位置に配置され、最小エネルギー状態になるまで小さな距離の移動を繰り返す。局所最適を避けるために、スプリングモデルを異なったランダム状態から開始し、何回かの繰り返しの後最小エネルギーの状態となるように改善する。
【００３３】
その後ワークスペースに写真が追加された場合には、それらも同様にまずランダムな位置に配置される。そして、新たに追加された写真だけを、低いエネルギーとなるような位置に繰り返し移動させる。新しい写真が満足する位置に移動した後にだけ、全体のエネルギー状態を低くするように新旧の写真を繰り返し移動させる。この２段階アプローチにより、古い写真を以前の位置に近い場所に配置させ続けることが可能となるため、ユーザの混乱を抑えることができる。
【００３４】
「距離指標とばね長」
この実施例では、ばねの自然長は写真間の類似性指標に基づいて決定される。任意のばね長で完全に接続されたばねシステムは殆どの場合ノードの位置を過剰に抑圧する。ある程度低いエネルギーの状態が見出される一方で、いくつかのノードは直感的ではない位置に配置されており、この状態は多くのエネルギーをいまだ残している。我々は、ばね長が十分に一様な分布を有する場合にはこの状況が改善されることを見出した。図２は、初期レイアウト１００の拡大図を示しており、一つのサムネイル１０４が選ばれると、サムネイル１０４の周囲で、類似する写真１１６が太い境界線１１８により強調表示される様子を示している。選択した写真と関係する写真との間には強調表示された接続線１２０もまた表示される。殆どの類似した写真１１６は近隣に配置され、そうでないものは遠くに配置されることがわかる。
【００３５】
距離の規格化はすべてのペア間の距離をソートし、各距離値のパーセントを決定することで実現される。そして、１０％の理想距離にはばね長０．１を割り当て、８０％の理想距離には０．８のばね長を割り当てる。この手法はノードが数千あった場合でも速く処理できる。他の計算方法としては、全てのペア間の距離の平均および標準偏差を代わりに計算し、それを正規分布のパラメータとして用いることもできる。正規分布からは、各距離値の累積確率を計算し、その確率をばね長として割り当てる。
【００３６】
ノード間の分離を好ましくするためには、最小ばね長ｌｍｉｎを設定するのが望ましい。ばね長は次の式を用いて修正される。
ｌ’  ＝  ｌｍｉｎ  ＋  ｌ  ＊  （ｌｍａｘ  −  ｌｍｉｎ）／ｌｍａｘ
ここで、ｌｍａｘは２つのノード間の最長ばね長で、通常、正規化された空間では１である。最小ばね長を指定する代わりに、定数ｍにより定義される各ノード間の反発力を加えることもできる。反発する距離ｄの２つのノードには定数ｍによりｍ／ｄ2の力が作用する。このような反発力の既定はスタックにとって有益であり、スタックに接続されない写真がスタック付近から外に押し出されることになる。
【００３７】
「スタック」
ユーザはある個別の写真を、当初その一つの写真しか含まないスタックに変更することもできる。スタックはワークスペースに固定される。スタックを作成し、そのスタックに写真を追加することは、ユーザがそのワークスペースを整理する上での基本的な手段である。スタックの作成の指示に応じて、スタックに関する情報（例えば識別ＩＤ，属する写真ファイル識別ＩＤ、ワークスペース上の座標、利用する距離指標等）を設定して記憶する。図３は、３つの固定されたスタック１２２、１２４、１２６を含むワークスペースを示す。
【００３８】
グラフレイアウト中の新たな要素としてスタックを作成すると、構成する写真の置き換えおよび他の写真やスタックとの理想距離の決定をすることになる。より多くの写真がスタックに追加された場合、システムはそれらの距離も適合させる。本実施例では、スタックメンバーと他のグラフノード間でのペア間の平均距離を用いた。他の手法としては、クラスタリング法において周知の最大ペア間距離を用いることもできる。
【００３９】
図８に示すように、ユーザはスタック１２２に含まれるメンバーを展開ビュースタックウィンドウ１２８内に展開して調べることができる。このウィンドウ１２８には、１以上の楕円形状ウィンドウ１２８内に環状に配置されたスタック１２２内の写真のサムネイル１０４が表示される。環状配置により適合させるためと美観的な理由で、サムネイル１０４で与えられる写真の一部もまた楕円形状で表示させる。ユーザが楕円形状のサムネイル１０４、言い換えれば代替表示物にマウスのポインタを重ねることで、その代替表示物のより大きなサムネイルの詳細画像が表示される。ユーザは展開ビュースタックウィンドウ１２８の円の外にサムネイル１０４をドラッグして移動することで、スタック１２２からその写真を取り除くこともできる。写真スタック１２２、１２４、１２６と個々の写真とは、ワークスペース内でポップアップウィンドウによって閲覧できるようにしてもよく、スタック内にある全ての要素をユーザに対し次々と切り替え表示させるようにしてもよい（ポップアップウィンドウやスライドショーの技術は周知のため図示しない）。図４には、初期レイアウト１００および全ワークスペース１０２の全景中に展開ビュースタックウィンドウ１２８を表示した例である。
【００４０】
「写真およびスタックのドラッグと固定（Ｐｉｎｎｉｎｇ）」
ワークスペース１０２中のスタック１２２の位置は、このばねシステムがそれらを他の場所に動かしてしまえないように固定される。言い換えると、ばね力は固定されていないノード１０６全部を新しい場所に移動させ得る。マウスによるドラッグ動作毎に、ばねシステムが低エネルギー状態に戻るまで繰り返し他のノードの位置が調整される。ばねシステムにおけるばね力は偏微分を用いて計算することで、どのノード１０６をどの方向に動かせばこのシステムの全エネルギーがより低くなるかを容易に計算できる。この特徴のため、新しいレイアウト１００は数分の１秒で数百のノードについて計算でき、こうしたレイアウト変更をユーザのマウス操作に応じてインタラクティブに計算することができる。
【００４１】
本発明の一つの側面として、ユーザがスタック１２２をある位置に固定するということは、ユーザがそれらの写真が現在の状態とどのように関連するかを特定しているということになる。このユーザによる操作は、ワークスペース１０２のレイアウト１００における、システムが当初評価した写真の類似性以上に、大きな影響を与えるべきである。写真の類似性の点もある程度維持した上で、ユーザの操作を考慮するために、システムはユーザが定義したスタックのばね力を元のばね力よりも増加させる。我々の実験では、スタックのばね力を当初より１５％強化することでよい結果が得られ、この因子を調整するためのスライダ等の調整入力部を設けることもできる。ユーザが固定をし、あるいは固定を解除したとき、他のノードは、ばね力と以下で述べる隣接部の調整により、新しい位置に移動する。この新しい位置への移動は、ユーザがどこにノードが移動したかを認識しやすくなるようにアニメーションで表示するとよい（繰り返し計算毎の位置にノードを移動させてアニメーションを表示する手法は、グラフレイアウト法で慣用されている手法であるので説明は省略する）。
【００４２】
「スタックの隣接部」
図３に示すように、ワークスペース全体へのレイアウトの影響なく、類似した写真セットへの操作を可能とするために、隣接部の影響を及ぼす範囲１３０を各スタック１２２、１２４、１２６に設定する。写真のサムネイルがスタック１２６の隣接部１３０に属するように、当該写真とスタック１２２との最大距離を記述する閾値ｄｎを定義する。もし、写真が一つ以上の隣接部１３０に属する場合には、最も近くにあるスタック１２２の隣接部１３０に当初割り当てる。
【００４３】
各隣接部１３０では、その隣接部１３０外へと繋がる全てのばね接続が切断される（ばね力が無いものとして計算する）。この結果、スタック１２２を新しい位置にドラッグすることができ、他に影響を与えずに、隣接部１３０の全てのサムネイル１０４を追従させることが可能となる。隣接部１３０を新しい位置へ移動させる手順を図５の（Ａ）〜（Ｄ）に示す。図５の（Ａ）は、ワークスペース１０２の初期レイアウト１００を示し、既存のスタック１２２、１２４、１２６とともに新しいスタック１３２が示されている。各スタックには対応する隣接部１３４、１３６、１３８と新しい隣接部１４０とが表示される。図５の（Ａ）で、スタック１３２および隣接部１４０はスタック１２４およびその隣接部１３６の隣に折り重なっているので、スタック１３２および隣接部１４０がよりすっきりと表示されるように、ユーザがスタック１３２をワークスペース内でドラッグする様子を示したのが図５の（Ｂ）、（Ｃ）、（Ｄ）である。図５の（Ｂ）〜（Ｄ）を通して、スタック１３２は、隣接部１４０としての閾値条件を満たす距離にある全てのサムネイル１０４を、引き連れて移動する。図５の（Ｄ）では、スタック１３２と隣接部１４０の移動がスタック１２２、１２４あるいは１２６あるいはそれらに対応する隣接部１３４、１３６、１３８にまったく影響していないことがわかる。さらに、いずれの隣接部にも属さない個別のノード１０６として機能するサムネイル１０４は、やはりスタック１３２および隣接部１４０の移動には影響されない。このため、ユーザは初期レイアウト１００中の写真の既存のクラス、カテゴリあるいはファイルの関係に影響を与えずに、写真のクラスやカテゴリを整理することができる。
【００４４】
距離閾値ｄｎには、例えば全ての接続されたノードの平均長（例えば、２０％）を用いることができる。固定のパーセントを使用する以外に、ノードの数に応じて閾値を調整してもよい。ノード数の逆二乗根に比例するようなパーセンテージを使用する場合もよい結果が得られる。
【００４５】
「「粘着」および「凍結」隣接部」
隣接部間での頻繁な移動を避け、隣接部を形成する上で異なる距離指標を組み合わせることを可能とするために、隣接部は粘着あるいは凍結させることができる。これは隣接部の種類属性を設定することでシステムに写真の移動の判断をさせる。粘着隣接部は、もし、より好ましい隣接部が用意されたとしても、隣接部間が所定の距離条件を満たしているうちは隣接部を維持する。凍結隣接部は、距離条件を越えた場合でも隣接部は移動することができない。一例として、隣接部が粘着性であるとして、例えば追加の写真をあるスタックに追加した場合、もし、他のスタックの方が今より近いとしてもその写真は初期に振り分けたスタック隣接部に留まる。より適した隣接部があったとしても、写真は現在の隣接部から離れることを妨げられる。ただし、その写真と隣接部との距離が距離閾値ｄｎを超えると、写真はその隣接部を離れ、他の隣接部に加わるか、レイアウトの一部となる。ユーザは一時的に隣接部を凍結することもでき、写真は距離が閾値を超えたとしても移動しなくなる。他との関連のない写真は凍結隣接部に追加できるようにしてもよい。凍結隣接部を用いると、写真はその隣接部内に累積し続ける。この手法は、ワークスペースを他の類似性指標で整理するときに有効である。例えば、最初に視覚的に類似した写真を隣接部に集め、続いて時間的に類似したもの、最後に空間的に類似したもの、を集めるといったことが可能となる。
【００４６】
また、システムはその写真が異なる（最適でない）隣接部中にあってもより適合するように表示するが、ユーザはそれらをその隣接部から放出するよう選択することもできる。例えば、図３では、ユーザが隣接部内で写真をハイライトすると、ポップアップメニュー１５２が隣接部に重なって表示される。ポップアップメニュー１５２は、隣接部から選択した写真を放出するためのオプションとして、写真をレイアウト１０２内に戻すか、より適当な他の隣接部に移動するかを提示してもよい。もし写真がその写真にとって現状で最適な隣接部である場合には、この放出オプションはグレーアウトされてユーザに移動の必要がないことを知らせる。このとき、写真に対する隣接部への帰属のためのユーザ指示は無い場合にその写真の帰属する隣接部を予め算出し、その写真の属性として最適隣接部の識別ＩＤを付与しておき、ポップアップメニューの表示時に、オプションの表示あるいは非表示の制御を行うようにするとよい。
【００４７】
ユーザは、明示的に隣接部に対する写真の追加あるいは削除を指示できるようにしてもよい。追加された写真は、距離に関わらず隣接部内に維持される。除外された写真は、その後自動的にその隣接部に再度追加されないようにしてもよい。例えば、隣接部の属性情報として追加禁止の写真ＩＤを付与する、あるいは写真に帰属させない隣接部ＩＤを属性として付与するなどして、ユーザによる追加操作の処理時に制御を行うことができる。
【００４８】
図３に示すように、各スタック１２２は、環状のヘイロー１４２により視覚化された隣接部１３０に囲まれる。ヘイロー１４２の半径は先に記述した隣接部１３０の閾値距離に応じて決定し、例えば、これと等しくする。ただし厳密に一致している必要は勿論なく、直感的に隣接部の範囲が把握できるように表示すればよい。これにより、どのノード１０６が固定ノード１０６の隣接部１３０の中にあるかをユーザに視覚的に簡単にわかりやすく知らせることができる。加えて、隣接部の距離閾値以内のばねの接続は薄い線で表示させることもできる。ただしノード１０６は隣接部１３０以外とは完全に接続されているので、あえてすべてのばね接続１１４を表示する理由がない。そこで、例えば図２に示すように、固定あるいは非固定のノード１０６にマウスポインタを重ねたときに、距離閾値内のノード１０６と接続１１４を介して接続されたノード１０６への全てのばね接続１１４をハイライト表示させるようにすることができる。この視覚化手法はユーザが閉じた接続関係を見る手段としても利用できる。
【００４９】
デフォルト設定としては、全てのヘイロー１４２は同じ色である（例えば本実施例では青）。図６に示すように、ユーザが隣接部１３０Ｂを選択あるいはマウスオーバーしたとき、隣接部１３０Ａ、１３０Ｃのヘイローの色は、その隣接部１３０Ｂにそれらの隣接部がどれだけ関係しているかを表わすように表示する。密接に関連した隣接部は赤いヘイロー１４４で表示し、ほぼ無関係な隣接部１３０Ｃは青いヘイロー１４６で表示する。密接に関連したノードと殆ど無関係なノードに関し隣接部は色により表現され、例えば、隣接部１３０Ａの周囲にグレーがかった赤いヘイロー１４８あるいはグレーがかった青のヘイロー（図示せず）として表示する。上述のように、写真はもし複数のスタックに類似していたとしても、一つの隣接部１３０にのみ属することができる。２つのスタックの関連性を決定するには、距離閾値の条件を満たす、両方の隣接部に属し得る写真の数を調べる。一形態としては、２つの隣接部の類似性はＪａｃａｒｄ係数、すなわち、隣接部間の積集合をその和集合で割った値に応じて計算し、類似性を判断し、色付けをする。この視覚化方法ではシステムの視点で密接に関連するスタックが示唆されるので、システムにより誤って配置された要素をユーザが見つけ出すのに適した、誤りが発生しやすい場所となる。
【００５０】
また本実施形態では、図６に示すように、一つの隣接部１３０Ａ中の、類似した隣接部１３０Ｂにも属し得る写真１０６を、隣接部１３０Ａ中の該写真１０６を隣接部１３０Ｂのスタック１２２へと接続するハイライトされた接続線１２０によって視覚化することもできる。他の形態としては、関連するスタック間を単に接続するのに加えて、関連する隣接部間の写真も接続してもよい。
【００５１】
図７は、写真に変えて、テキストベースのドキュメント１５０の関係を視覚化したシステムの実施形態である。ドキュメント１５０のスタック１２２と隣接部１３０は同様に整理され、各ドキュメントはそのドキュメントの最初のページのサムネイル画像で視覚化される。図７に示すように、ドキュメント１５０としては、スプレッドシート、グラフ、ウェブページ、あるいは写真を含むテキストベースのドキュメントなどが含まれる。当業者であればドキュメント間の距離の関係を同様に、時間、地理コード、視覚的観点で前の実施形態の写真を用いたときと同様に実現できることは明らかであろう。
【００５２】
「ワークスペース内での拡大」
ユーザは、ワークスペース１０２をズームインあるいはズームアウトすることができる。複数のサムネイル間の距離とサムネイル画像１０４のサイズ間の距離が同じ拡大率で調整されると、ユーザは重なり合った写真を分離することができない。一方で、ズーム倍率がサムネイル間の距離だけに適用され、画像１０４のサイズが一定なら、ユーザはサムネイル画像をよく見ることができない。このため、システムはサムネイル間とサムネイル画像１０４のサイズとにそれぞれ別のズーム倍率を適用する。本実施形態では、システムはサムネイル画像のサイズのズーム倍率としてワークスペースのズーム倍率の平方根を用いる。例えば、もし写真間の距離が倍率４で増加した場合、サムネイル１０４のサイズは２倍だけ増加する。
【００５３】
「追加写真の要求」
ユーザは任意の類似性指標（視覚的、時間的、空間的等）を用いてスタック１２２に類似する、ワークスペース１０２外からの追加写真を検索できるようにすることもできる。検索された写真は最初に検索に使われたスタック１２２の隣接部１３０に加えられるが、ユーザが他の隣接部１３０に移動させることもできる。図３は、ワークスペース１０２に配置され追加されることになる、追加の類似写真が要求されたスタック１２４に重なってポップアップメニュー１５２が表示された様子を示す。例えば、ユーザが本発明を実現するコンピュータプログラムを実行させて、ユーザのコンピュータ上に保存される一部の写真だけを整理するようにする例を示す。まだワークスペース上に含まれていない、ユーザのコンピュータのハードディスクドライブ上にある追加の関連写真を整理したい場合には、ユーザはポップメニュー１５２上の「Ｇｅｔ  Ｓｉｍｉｌａｒ」（類似検索）オプションを選択し、ハードディスクに対して追加の関連写真検索を実行させる。
【００５４】
「最適距離計測」
ユーザ定義のカテゴリを確立するための反復（iterative）手法は、ユーザの操作に応じたワークスペースの最適化手法に依存する。隣接部を有するスプリング（ばね）レイアウトでは、スタックに類似する画像がそのスタックの近くに移動し、隣接部間の潜在的な重なりがユーザに示される、という最適化の簡単な一形態である。より複雑な最適化手法は、各スタックに特別の距離指標を適用し、作成されたスタックに基づいて全体的に距離指標を再定義することでなされる。
【００５５】
スタックの距離指標を再定義する一手法は、先に説明したような、スタック中の写真間の平均２点間距離（ａｖｅｒａｇｅ  ｐａｉｒ  ｗｉｓｅ  ｄｉｓｔａｎｃｅ）がある。新しい写真がこのスタックに追加されたとき、この距離はユーザの定義を反映して変化する。他には、例えばガウス分布を用いた、スタック中の写真に対する確率モデルを推定する方法がある。スタックにおける写真の距離は、そのスタックのガウシアンモデルに基づく写真の確率の負の対数（ｎｅｇａｔｉｖｅ  ｌｏｇ)とする。ガウシアンモデルの平均および共分散マトリクスはスタック中の写真に基づいて計算され、スタックに新しい写真が追加されるか除外されると更新される。作成日、地理的な距離、色コレログラムやコンセプトベクトルといった写真に関する様々な特徴を利用することができる。ユーザがグループに追加した写真に基づいてガウシアンが更新されると、分散の小さい特徴により高い重み付けをすることで、１以上のこれらのカテゴリについてグループ分けに関するユーザの意図を反映させる。スタックに対し他の最適化学習手法を使用することもできる。
【００５６】
より経験則的な手法でこれを行うには、スタックの要素をもっとも代表している特徴に基づいてスタックの距離指標の再定義を行う。これらの特徴を特定するには、スタック中の画像のサブセットの各特徴の平均（および標準偏差）をシステムが比較し、それらを写真コレクション全体の平均と標準偏差に対して比較する。上記コレクションの特徴中の一つの標準偏差よりも高い平均を有する特徴は、スタックへの理想距離の計算において重み付けが増加される。例えば、あるスタックは視覚的な距離については０．８の重み付けを、時間と地理的距離についてはそれぞれ０．１の重み付けを行う。他のスタックでは、地理的距離に関してより大きい重み付けを与えることもできる。平均以下の１以上の標準偏差の特徴を含めることもできるが、一方で否定証拠（implicit negative evidence）が潜在しているときには、現在のサブセットでは存在しない要素が偶然発生し、それらの多様な要素によって、ユーザが望むものに対して、より多くの誤検知（false positive）に基づく指示を生じてしまうかもしれないので注意が必要である。
【００５７】
このように、各スタックはそれぞれの距離指標を用いることになるため、ワークスペースでは効果的にカテゴリを表現することができ、それらの定義のために特徴空間の多様に変化するサブセットを用いる。このため、時間、位置、視覚的類似性、顔認識および他の特徴は、ある場合には距離計算で含めることができるが、含めることができない場合もある。
【００５８】
「シナリオ」
インタラクティブに写真をクラスタ化できることは様々なタスクにおいて有益である。以下のシナリオでは、プレゼンテーションのために写真を配置するため、写真セットにメタデータを付与するため、そして写真のコレクションを整理するための、ワークスペースを作成する。
【００５９】
「プレゼンテーション用の写真の配置」
友人と家族へ送る写真を選択するとき、トピックを概観するための写真を選択するとき、人々はそのプレゼンテーションに含めたい写真のカテゴリを特定する必要がある場合が多く、それにより各カテゴリから限定された数の写真を選択する。
【００６０】
既述したように、ワークスペースは異なる画像特徴に基づくカテゴリの作成を容易にする。このため、ローマ旅行の写真はコロセウム、人、噴水などの写真に分類され得る。ユーザは各カテゴリ中の１枚以上の写真を、旅行の全体像を代表的に表すために含めようとする。
【００６１】
これらのカテゴリは異なった定義の特徴を有する。地理的な位置および撮影時間はコロセウムの写真の強い特徴にはなりやすいが、他のカテゴリにとってはそうではない。同様に、顔認識に基づく特徴は人間の写真には強く結び付けられるが、他のカテゴリにはそうでもない。噴水の写真は視覚的な特徴でおそらくもっとも特徴付けられる。
【００６２】
最終的なプレゼンテーションに含めて例示したい写真のタイプについてのカテゴリをユーザが作成するとき、システムはそれらの異なるカテゴリにおける共通の特徴を用いて再定義された距離指標を使って空間を最適化する
【００６３】
「写真へのメタデータの付与」
上記と同様のシナリオで、写真のタグおよびメタデータは異なる画像特徴に基づいている。ゴールデンゲートブリッジの写真は強い場所の特徴を持ちやすいが、大晦日の祝賀の写真は、強い時間特徴を有し、日没の写真は強い視覚的特徴を持つ。カテゴリが定義され、ワークスペースが最適化されたとき、ユーザはカテゴリ中の要素と、定義したカテゴリ中の領域内の選択した写真にタグ／メタデータを付与することができる。
【００６４】
「写真コレクションの概観」
写真コレクションがコンピュータおよびインターネット上を移動するとき、これらのコレクションを管理するツールが必要となる。特に、管理者はそのコレクションの利用を支援するための、特徴に基づくコレクションの整理方法を考えなければならない。支援用のコンポーネントは、コレクションの内容の概要を示すため、訪問者はそのコレクションがニーズにマッチした素材を含んでいそうかをすぐに決定することができる。
【００６５】
コラージュ、モンタージュ、そして他の視覚化手法は、コレクションを理解するための支援手法として研究されており、その作業におけるそのコレクションの価値についての印象をユーザに提供する（非特許文献２）。この手法は選択した写真がコレクション全体を代表しているという期待が前提となっており、コレクションからの写真の選択に依存する傾向がある。
【００６６】
コレクションの理解の支援のためにワークスペースは二つの代替案を提供する。訪問者は現時点での関心に基づいて写真を移動させるためにワークスペースを使用し、システムはレイアウトを操作し、彼らの関心に基づいて空間中へのより多くの画像の抽出を支援する。他のアプローチとしてはコレクションの管理者が１以上のワークスペースを作成し、その内容がわかるようなコレクションの代替ビューを提供する。これらのワークスペースはインタラクティブで、訪問者が管理者による分類から始めて、訪問者の現在の活動により適合したカテゴリに移動することを支援する。
【００６７】
「コンピュータによる実現例」
図９は、本発明の実施形態に関わるコンピュータ／サーバーシステム９００の実現例を例示したものである。このシステム９００は、コンピュータ／サーバプラットフォーム９０１、周辺装置９０２とネットワークリソース９０３とを含んで構成される。
【００６８】
コンピュータプラットフォーム９０１は、情報をコンピュータプラットフォーム９０１内の多様なモジュールとの間で通信するためのデータバス９０４あるいは他の通信機構を有している。そして、プロセッサ（ＣＰＵ）９０５は、情報処理や他の計算および制御処理を行うために、バス９０４と接続されている。コンピュータプラットフォーム９０１はさらに、多様な情報やプロセッサ９０５で処理される命令を記憶する、ランダムアクセスメモリ（RAM）や他の動的記憶装置のような揮発性記憶領域９０６がバス９０４に接続されている。揮発性記憶領域９０６はプロセッサ９０５の処理において一時的な変数や中間情報を記憶するために用いられてもよい。コンピュータプラットフォーム９０１は、統計情報や、基本入出力システム（BIOS）のような、プロセッサ９０５の命令や、様々なシステムのパラメータを記憶するために、バス９０４に接続されたリードオンリーメモリ（ROM）や他の静的記憶装置を備えても良い。
【００６９】
コンピュータプラットフォーム９０１には、システム管理者あるいはユーザに情報を提示するために、CRT、プラズマディスプレイ、ＥＬディスプレイあるいは液晶ディスプレイなどのディスプレイ９０９が、バス９０４を介して接続されている。入力装置（キーボード）９１０はアルファベットと他のキーを備えており、プロセッサ９０５との通信や指示のためにバス９０４に接続されている。他のユーザ用入力装置としては、方向に関する情報を通信し、ディスプレイ９０９上でのカーソルの動きを制御するマウス、トラックボールあるいはカーソル方向キーのようなカーソル制御装置９１１がある。この入力装置は通常２軸での自由度をもっており、第１の軸（例えばｘ）および第２の軸（例えばｙ）を持つことで平面上での位置をそのデバイスで特定できることとなる。
【００７０】
外部記憶装置９１２を、拡張あるいは取り外し可能な記憶容量をコンピュータプラットフォーム９０１に提供するために、バス９０４を介してコンピュータプラットフォーム９０１に接続してもよい。コンピュータシステム９００の一例で、外付けのリムーバブルメモリ（外部記憶装置９１２）は他のコンピュータシステムとのデータ交換を容易にするために、使用されてもよい。
【００７１】
本発明は、ここに記述された技術を実現するためのコンピュータシステム９００の使い方に関連するものである。実施形態として、コンピュータプラットフォーム９０１のような機械上に、本発明に関するシステムを搭載する。本発明の一形態としては、ここで記載された技術を、揮発性メモリ９０６中の１以上の命令による１以上の処理をプロセッサ９０５に処理させることで実現させる。こうした命令は不揮発性記憶領域９０８のような他のコンピュータ読取可能な媒体から、揮発性メモリ９０６に読み出してもよい。揮発性メモリ９０６中に保持された一連の命令をプロセッサ９０５に実行させることで、ここに述べた処理ステップを実現させる。他の形態としては、ハードウェアの電子回路を、発明を実現するソフトウェアと、一部置き換え、あるいは、組み合わせてもよい。なお、本発明は特定のスペックを有するハードウェアやソフトウェアの組み合わせに限定されるものではない。
【００７２】
ここで、コンピュータ可読媒体とは、プロセッサ９０５が実行するための命令を提供するために用いられるあらゆる媒体を指す。コンピュータ可読媒体は機械読取可能媒体の一例であり、ここで述べた、いずれの方法もしくは技術をも実現するための命令を保持することができるものである。このような媒体は多様な形態をとり、不揮発性媒体、揮発性媒体、そして通信媒体といったものに限られない。不揮発性媒体としては、例えば、記憶装置（不揮発性記憶領域９０８）のような、光、磁気ディスクが含まれる。揮発性媒体としては、例えば揮発性記憶装置９０６のような動的メモリを含む。通信媒体は、データバス９０４のような配線を含む同軸ケーブル、銅線、光ファイバーなどであってよい。通信媒体は、電磁波や赤外光データ通信のような、音波や光を利用したものも含む。
【００７３】
コンピュータ可読媒体の一般的な形態は、例えば、フロッピー（登録商標）ディスク、ハードディスク、磁気テープあるいは他の磁気媒体、CD-ROMあるいは他の光記憶媒体、パンチカード、紙テープなどの穴の配置を用いる媒体、RAM、ROM、EPROM、フラッシュEPROM、フラッシュドライブ、メモリーカードなどのメモリチップやカートリッジ、通信波、あるいはコンピュータが読み取ることができる他の媒体、といった通常のコンピュータ可読媒体を含む。
【００７４】
さまざまな形態のコンピュータ可読媒体が、プロセッサ９０５で処理される１以上の処理を実行させるために用いることができる。例えば、その命令が最初はリモートコンピュータから磁気ディスクに保持されてもよい。あるいは、リモートコンピュータがその命令を動的記憶装置にロードして、モデムを用いた電話回線を通じて該命令を送信してもよい。コンピュータシステム９００に接続されたモデムは、電話回線を通じてデータを受け取るとともに、データを赤外線信号に変換して赤外線として伝送するようにしてもよい。赤外線検出装置は、赤外線信号に重畳されたデータを受信し、適当な回路がそのデータをデータバス９０４に伝送する。バス９０４は揮発性記憶領域９０６にデータを伝送し、プロセッサ９０５がその命令を参照して実行できる状態におく。揮発メモリ（揮発性記憶領域９０６）から受け取った命令はプロセッサ９０５により処理される前あるいは後に不揮発性記憶装置９０８に保存されるようにしてもよい。命令は、周知のネットワークデータ通信プロトコルのいずれかで、インターネットを介してコンピュータプラットフォーム９０１にダウンロードするようにしてもよい。
【００７５】
コンピュータプラットフォーム９０１は、データバス９０４に結合したネットワークインターフェースカード９１３のような通信インターフェースも有する。通信インターフェース９１３はローカルネットワーク９１５に接続されたネットワークリンク９１４に接続し、双方向のデータ通信が可能とされる。例えば、通信インターフェース９１３はＩＳＤＮカードやモデムと一体化され、対応する電話回線でのデータ通信を行わせるようにしてもよい。他の例としては、LANや802.11a, 802.11b, 802.11g として周知の無線LANリンクに適合したデータ通信接続を行うローカルエリアネットワークインターフェースカード（LAN NIC）としたり、Bluetooth(登録商標)を用いたりして実現してもよい。いずれの場合でも、通信インターフェース９１３は、様々なタイプの情報を表すデジタルデータ列を伝送する、電気、電磁、あるいは光信号を送受信する。
【００７６】
ネットワークリンク９１４は、１以上の他のネットワークとのデータ通信を通常可能とする。例えば、ネットワークリンク９１４は、ローカルネットワーク９１５を介して、ホストコンピュータ９１６やネットワークストレージやサーバー９２２への接続を提供する。加えて、あるいは代替として、ネットワークリンク９１４は、インターネットのような、広域あるいはグローバルネットワーク９１８にゲートウェイ／ファイアウォール９１７を通じて接続する。そしてコンピュータプラットフォーム９０１はインターネット９１８上のどこかにある、例えばリモートネットワークストレージ／サーバー９１９といった、ネットワークリソースにもアクセスすることが可能となる。一方、コンピュータプラットフォーム９０１は、ローカルエリアネットワーク９１５および／またはインターネット９１８上のいかなる位置にいるクライアントからもアクセスできるようにしてもよい。ネットワーククライアント９２０および９２１は、プラットフォーム９０１と同様のコンピュータプラットフォームに基づいて構築しても良い。
【００７７】
ローカルネットワーク９１５とインターネット９１８は、共に電気、電磁、あるいは光信号を、データ信号列を伝播するために用いる。なお、デジタルデータをコンピュータプラットフォーム９０１に入出させる、多様なネットワークを通じた信号、ネットワークリンク９１４上や、通信インターフェース９１３を介した信号は情報伝送の伝送波の例示的な形態である。
【００７８】
コンピュータプラットフォーム９０１は、メッセージの送信、プログラムコードを含むデータの受信を、インターネット９１８およびLAN９１５を含む多様なネットワーク、ネットワークリンク９１４および通信インターフェース９１３を介して行うことができる。インターネットの例では、コンピュータプラットフォーム９０１はネットワークサーバとして機能し、クライアント９２０および／または９２１で実行されるアプリケーションプログラム用の、リクエストコードやデータを、インターネット９１８、ゲートウェイ／ファイアウォール９１７、ローカルエリアネットワーク９１５および通信インターフェース９１３を介して伝送する。同様に、他のネットワークリソースからコードを受信してもよい。
【００７９】
受信したコードはプロセッサ９０５によって受信時に実行されるか、不揮発記憶装置９０８あるいは揮発記憶装置９０６に保存してもよいし、あるいは他の不揮発性記憶領域に記憶して、後で実行してもよい。このようにしてコンピュータ９０１は伝送波からアプリケーションコードを取得できる。
【００８０】
このように本発明は、複数のファイルのグループを、それらの関係に基づいて、適応的で、インタラクティブなグラフベースの視覚的なワークスペース内で表示するシステムおよび方法に関するものである。例えば、ファイルの関係は、直接的なグラフベースのレイアウト操作による直感的なカテゴリの修正を用いて視覚化される。視覚的なワークスペースは関連するファイルのサムネイル画像をグラフとして結合した状態から開始され、ユーザが、異なるカテゴリに対応するファイルのスタックを作成したことに応じて隣接部（neighborhoods）にこれらを分割する。リンクを図示するためのばねの長さを規格化することで全体的なレイアウトの品質を向上させることもできる。さらに、検索されたファイルを以前からのファイルを大きく移動させること無く加えることもできる。表示手法を異ならせることで互いのファイルの関係を示すこともできる。例えば、楕円形状のサムネイルをリング状に配置した楕円形状のウィンドウは、簡単に視覚的およびスペースを有効に使って、ファイルのグループを表示できる。またファイルの位置によりズーム倍率を異ならせるとき、楕円形状の表示代替物のサイズが増加していったとしても、ファイル間の分離を増やすことも可能となる。
【００８１】
最後に、ここに記載した方法や技法は、特定の装置固有に成り立つものでなく、いかなる適当な構成要素の組み合わせによっても実現できることを理解されたい。また、この開示の示唆に従って、多様な一般用途の装置を用いてもよい。またここで開示した手法を実現する専用の装置を作成することも有効である。この発明は特定の例示に基づいて記述されているが、それらは全て限定的にするためではなく、例示するためのものである。当業者であれば、ハードウェア、ソフトウェアおよびファームウェアの多くの異なる組み合わせが本発明を実施するのに適当であることは理解され得ることであろう。例えば、ソフトウェアの記述は、アセンブラ, C/C++, pearl, shell, PHP, Java（登録商標）といった多様なプログラムあるいはスクリプト言語を用いて実現できる。
【００８２】
さらに、当業者であればここに開示された本発明の明細書および実施例に基づいて、本発明の他の改良もまた明らかであろう。実施形態に記述された多様な観点や構成は、このコンピュータにより実現される画像検索システムを単独もしくは組み合わることにより利用することができる。明細書と実施例は例示的なものと解釈され、真の発明の示す範囲と思想はクレームにより示されるものである。
【符号の説明】
【００８３】
１００  レイアウト
１０２  ワークスペース
１０４  サムネイル画像
１０６、１０８、１１０、１１１、１１２  ノード
１２０  接続線
１２２、１２４、１２６  スタック
１３４、１３６、１３８、１４０  隣接部
１４２、１４４、１４６、１４８  ヘイロー
１５０  ドキュメント
１６０  ポップアップウィンドウ
【図１】
0005444776.tif 000002
【図２】
0005444776.tif 000003
【図３】
0005444776.tif 000004
【図４】
0005444776.tif 000005
【図５】
0005444776.tif 000006
【図６】
0005444776.tif 000007
【図７】
0005444776.tif 000008
【図８】
0005444776.tif 000009
【図９】
0005444776.tif 000010