(57)【特許請求の範囲】
【請求項１】
画面上に複数のオブジェクトを表示させると共に前記オブジェクトに対する操作に応じた処理を実行するオブジェクト表示処理装置であって、
前記複数のオブジェクトから一対のオブジェクトを抽出して該一対のオブジェクト間の前記画面上における距離を算出する距離算出手段と、
前記算出された距離に基づいて前記画面上で空間的にまとめられているオブジェクトを１つのグループとしてグループ化するグループ化手段と、
前記オブジェクトの前記グループへの帰属を示すグループ識別表示と共に前記オブジェクトを前記画面上に表示させる表示手段と、
前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するグループ処理手段と、
を備え、
前記グループ化手段は、グループ化されていない一対のオブジェクト間の距離が第１の閾値以下である場合に該グループ化されていない一対のオブジェクト同士をグループ化すると共に、既にグループ化されている一対のオブジェクト間の距離が前記第１の閾値よりも大きい第２の閾値以下である場合に該グループ化されている一対のオブジェクト同士のグループ化を維持するオブジェクト表示処理装置。
【請求項２】
前記距離算出手段は、前記複数のオブジェクトから抽出される一対のオブジェクトのすべてについて前記距離を算出し、前記グループ化手段は、前記算出された距離が所定の閾値以下である一対のオブジェクト同士をグループ化する請求項１に記載のオブジェクト表示処理装置。
【請求項３】
前記グループ化手段は、前記画面上における前記オブジェクトの位置関係が変更されたときに前記オブジェクトのグループ化を実行する請求項１または２に記載のオブジェクト表示処理装置。
【請求項４】
前記グループ化手段によるグループ化と前記表示手段による表示処理と前記グループ処理手段によるグループ処理とが有効とされるグループモードの選択および該選択の解除を可能とするグループモード設定手段を更に備える請求項１から３の何れかに記載のオブジェクト表示処理装置。
【請求項５】
請求項１から４の何れかに記載のオブジェクト表示処理装置において、
前記複数のオブジェクトの前記画面上における位置を取得するオブジェクト位置取得手段と、
前記取得された前記オブジェクトの各々の位置と所定の制約とに基づいて前記グループの前記画面上における範囲であるグループ範囲を設定するグループ範囲設定手段と、
を更に備え、
前記表示手段は、前記設定されたグループ範囲を前記グループ識別表示として前記オブジェクトと共に前記画面上に表示させるオブジェクト表示処理装置。
【請求項６】
請求項５に記載のオブジェクト表示処理装置において、
前記グループ範囲設定手段は、
前記取得された前記オブジェクトの各々の位置と前記オブジェクトの各々に付与された仮想的なポテンシャル場とに基づくポテンシャルを前記複数のオブジェクトに対応した領域について算出するポテンシャル算出手段と、
前記算出されたポテンシャルが所定の閾値以上となる領域を囲む境界を前記グループ範囲として設定する境界設定手段と、
を含むオブジェクト表示処理装置。
【請求項７】
前記ポテンシャル場は、前記オブジェクトの所定の基準位置におけるポテンシャルを最大とし、該基準位置から径方向に離れるほどポテンシャルを小さく規定する濃度関数として定められている請求項６に記載のオブジェクト表示処理装置。
【請求項８】
前記ポテンシャル算出手段は、前記画面に対して設定された複数のグリッドの少なくとも前記オブジェクトの各々に対応したグリッドごとに前記ポテンシャルを算出する請求項６または７に記載のオブジェクト表示処理装置。
【請求項９】
前記ポテンシャル算出手段は、前記画面上における前記オブジェクトのまとまり具合に応じた前記ポテンシャル場の減衰を伴って前記ポテンシャルを算出する請求項６から８の何れかに記載のオブジェクト表示処理装置。
【請求項１０】
前記ポテンシャル算出手段は、前記オブジェクトごとに該オブジェクトの所定の基準位置の前記表示画面上における位置のポテンシャルである基準ポテンシャルを算出した上で、前記オブジェクトごとの前記基準ポテンシャルに基づく前記ポテンシャル場の減衰を伴って前記ポテンシャルを算出する請求項６から９の何れかに記載のオブジェクト表示処理装置。
【請求項１１】
前記ポテンシャル算出手段は、何れかのオブジェクトに対応した領域のポテンシャルを算出する際に、当該何れかのオブジェクトと同一のグループに帰属していないオブジェクトの前記ポテンシャル場に負の重みを付与する請求項６から１０の何れかに記載のオブジェクト表示処理装置。
【請求項１２】
前記グループ処理手段は、前記画面上に前記グループに帰属する複数のオブジェクトの少なくとも一部が互いに重なり合うように表示されているときに、所定の拡張要求操作に応じて前記オブジェクト同士の重なりが概ね解消されるように前記グループに帰属する前記複数のオブジェクトを再表示させる請求項１から１１の何れかに記載のオブジェクト表示処理装置。
【請求項１３】
請求項１２に記載のオブジェクト表示処理装置において、
前記グループ処理手段は、
前記グループに帰属する複数のオブジェクトの中から一対のオブジェクトを抽出するオブジェクト対抽出手段と、
前記抽出された一対のオブジェクトにおける重なりを解消するための該一対のオブジェクト間の相対位置関係を導出する相対位置関係導出手段と、
前記導出された相対位置関係と所定の位置制約とに基づいて前記抽出された一対のオブジェクトの前記重なりの解消後における前記画面上の目標位置を設定する目標位置設定手段と、
を含むオブジェクト表示処理装置。
【請求項１４】
前記目標位置設定手段は、前記目標位置を自由変数とし、該目標位置に基づく前記一対のオブジェクトの相対位置関係と、前記設定された相対位置関係との間における残差の二乗の総和を表すエネルギ関数を最小二乗法で最小化して前記目標位置を設定する請求項１３に記載のオブジェクト表示処理装置。
【請求項１５】
前記グループ処理手段は、前記画面上で前記グループを分断するストロークの入力操作がなされたときに、前記入力されたストロークに基づいて前記グループを新たな複数のグループに分割する請求項１から１４の何れかに記載のオブジェクト表示処理装置。
【請求項１６】
前記グループ処理手段は、前記グループに帰属するオブジェクトのうち、前記ストロークよりも一側に位置するオブジェクトを新たな１つのグループとしてグループ化し、前記入力されたストロークよりも他側に位置するオブジェクトを新たな１つのグループとしてグループ化する請求項１５に記載のオブジェクト表示処理装置。
【請求項１７】
請求項１５または１６に記載のオブジェクト表示処理装置において、
前記複数のオブジェクトの前記画面上における位置と前記オブジェクトの各々に付与された仮想的なポテンシャル場とに基づくポテンシャルを前記複数のオブジェクトに対応した領域について算出するポテンシャル算出手段と、
前記算出されたポテンシャルが所定の閾値以上となる領域を囲む境界を設定する境界設定手段とを更に備え、
前記グループ処理手段は、前記境界と前記ストロークとに基づいて形成される２つのループごとに、該ループ内のオブジェクトを１つのグループとしてグループ化するオブジェクト表示処理装置。
【請求項１８】
前記グループに帰属する何れかのオブジェクトに対する所定の操作がなされたときに、該操作に応じた前記何れかのオブジェクトに対する処理である個別処理を実行する個別処理手段を更に備える請求項１から１７の何れかに記載のオブジェクト表示処理装置。
【請求項１９】
前記オブジェクトは、前記画面上に表示されるアイコンである請求項１から１８の何れかに記載のオブジェクト表示処理装置。
【請求項２０】
画面上に複数のオブジェクトを表示させると共に前記オブジェクトに対する操作に応じた処理を実行するためのオブジェクト表示処理方法であって、
（ａ）複数のオブジェクトから一対のオブジェクトを抽出して該一対のオブジェクト間の前記画面上における距離を算出するステップと、
（ｂ）ステップ（ａ）で算出された距離に基づいて前記画面上で空間的にまとめられているオブジェクトを１つのグループとしてグループ化するステップと、
（ｃ）前記オブジェクトの前記グループへの帰属を示すグループ識別表示と共に前記オブジェクトを前記画面上に表示させるステップと、
（ｄ）前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するステップと、
を含み、
ステップ（ｂ）は、グループ化されていない一対のオブジェクト間の距離が第１の閾値以下である場合に該グループ化されていない一対のオブジェクト同士をグループ化すると共に、既にグループ化されている一対のオブジェクト間の距離が前記第１の閾値よりも大きい第２の閾値以下である場合に該グループ化されている一対のオブジェクト同士のグループ化を維持するオブジェクト表示処理方法。
【請求項２１】
画面上に複数のオブジェクトを表示させると共に前記オブジェクトに対する操作に応じた処理を実行するオブジェクト表示処理装置としてコンピュータを機能させるオブジェクト表示処理用プログラムであって、
複数のオブジェクトから一対のオブジェクトを抽出して該一対のオブジェクト間の前記画面上における距離を算出する距離算出モジュールと、
前記算出された距離に基づいて前記画面上で空間的にまとめられているオブジェクトを１つのグループとしてグループ化するグループ化モジュールと、
前記オブジェクトの前記グループへの帰属を示すグループ識別表示と共に前記オブジェクトを前記画面上に表示させる表示モジュールと、
前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するグループ処理モジュールと、
を備え、
前記グループ化モジュールは、グループ化されていない一対のオブジェクト間の距離が第１の閾値以下である場合に該グループ化されていない一対のオブジェクト同士をグループ化すると共に、既にグループ化されている一対のオブジェクト間の距離が前記第１の閾値よりも大きい第２の閾値以下である場合に該グループ化されている一対のオブジェクト同士のグループ化を維持するオブジェクト表示処理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面上に複数のオブジェクトを表示させると共に前記オブジェクトに対する操作に応じた処理を実行するオブジェクト表示処理装置、オブジェクト表示処理方法、およびオブジェクト表示処理用プログラムに関する。
【背景技術】
【０００２】
一般に、グラフィカルユーザインターフェース（ＧＵＩ）を実装したオペレーティングシステム等においては、階層的なフォルダ構造を構築すると共にフォルダ内にオブジェクトとしてのアイコンを保管することにより多数のファイルが分類・整理される。このようなフォルダ構造は、ある程度確定的かつ永続的なファイルの分類には適したものではあるが、明示的なフォルダの作成と当該フォルダへのファイル（アイコン）の格納操作とを要求するものであることから、相互の関係が比較的曖昧なファイルの分類や頻繁に再分類されるようなファイルの管理には必ずしも有用なものとはならない。このため、Manderらは、デスクトップ上でのファイル管理手法として、フォルダの代替としてファイルを積み重ねた‘Pile’（書類の山）を作成することにより多数のファイルを分類・整理する‘Pile’Metaphorを提案している（非特許文献１参照。）。
【非特許文献１】R. Mander, G. Salomon, and Y. Y. Wong. A 'Pile' Metaphor for Supporting Casual Organization of Information. In Proceedings of the SIGCHI conference on Human factors in computing systems, pp. 13-23, 1994.
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記‘Pile’Metaphorにおいては、画面上でファイル同士が完全に重なり合ってしまい、しかも‘Pile’の中身である個々のファイルの操作に特定の動作が要求されることから‘Pile’自体が実質的に独自のフォルダを構成することとなり、結局のところファイルの分類・整理の省力化や利便性の改善はさほど図られていない。その一方で、従来から、相互に関連性を有する複数のアイコンを画面上で互いに近接させたり重ね合わせたりすることにより空間的にまとめて配置し、それら複数のアイコンのまとまりを見た目上１つのグループとして表す手法も広く活用されている。このような手法は、単にアイコンを移動させるだけで明示的なグループ化操作なしにグループを表現し得る点で手軽かつ有用なものではある。しかしながら、これらのアイコンはシステムによってグループとして認識されているものではないから、グループを一括して操作することは不可能である。また、数多くのアイコンが重なり合っていると個々のアイコンに対するアクセスや操作が極めて面倒なものとなってしまう。
【０００４】
そこで、本発明によるオブジェクト表示処理装置、オブジェクト表示処理方法、およびオブジェクト表示処理用プログラムは、画面上の複数のオブジェクトを簡単に効率よく分類・管理可能とすることを目的の１つとする。また、本発明によるオブジェクト表示処理装置、オブジェクト表示処理方法、およびオブジェクト表示処理用プログラムは、画面上に表示されるオブジェクトを分類、管理する際の操作性を向上させることを目的の１つとする。
【課題を解決するための手段】
【０００５】
本発明による本発明のオブジェクト表示処理装置、オブジェクト表示処理方法、およびオブジェクト表示処理用プログラムは、上述の目的の少なくとも一部を達成するために以下の手段を採っている。
【０００６】
本発明によるオブジェクト表示処理装置は、
画面上に複数のオブジェクトを表示させると共に前記オブジェクトに対する操作に応じた処理を実行するオブジェクト表示処理装置であって、
前記複数のオブジェクトから一対のオブジェクトを抽出して該一対のオブジェクト間の前記画面上における距離を算出する距離算出手段と、
前記算出された距離に基づいて前記画面上で空間的にまとめられているオブジェクトを１つのグループとしてグループ化するグループ化手段と、
前記オブジェクトの前記グループへの帰属を示すグループ識別表示と共に前記オブジェクトを前記画面上に表示させる表示手段と、
前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するグループ処理手段と、
を備えるものである。
【０００７】
このオブジェクト表示処理装置では、複数のオブジェクトから抽出された一対のオブジェクト間の画面上における距離が算出されると共に算出された距離に基づいて画面上で空間的にまとめられているオブジェクトが１つのグループとしてグループ化され、オブジェクトのグループへの帰属を示すグループ識別表示と共にオブジェクトが画面上に表示される。そして、画面上でグループに対する所定の操作がなされたときには、該操作に応じたグループに対する処理であるグループ処理が実行される。これにより、画面上でオブジェクトの空間的なまとまりを構築すれば、複数のオブジェクトをグループ化すると共にグループ化されたオブジェクトへのグループ処理を実行することが可能となる。従って、このオブジェクト表示処理装置によれば、画面上の複数のオブジェクトを簡単に効率よく分類・管理することができる。
【０００８】
また、前記距離算出手段は、前記複数のオブジェクトから抽出される一対のオブジェクトのすべてについて前記距離を算出するものであってもよく、前記グループ化手段は、前記算出された距離が所定の閾値以下である一対のオブジェクト同士をグループ化するものであってもよい。これにより、画面上のオブジェクトを空間的なまとまり具合に応じてグループ化することが可能となる。
【０００９】
また、前記グループ化手段は、グループ化されていない一対のオブジェクト間の距離が第１の閾値以下である場合に該グループ化されていない一対のオブジェクト同士をグループ化すると共に、既にグループ化されている一対のオブジェクト間の距離が前記第１の閾値よりも大きい第２の閾値以下である場合に該グループ化されている一対のオブジェクト同士のグループ化を維持するものであってもよい。これにより、それまでにグループ化されていないオブジェクト同士を比較的グループ化し難くすると共に、一旦構築されたグループのグループ化を解除し難くすることが可能となる。従って、意図しないオブジェクトのグループ化やグループ化の解除を抑制しながら、画面上にオブジェクトを自在に配置できるようになるので、画面上に表示されるオブジェクトを分類、管理する際の操作性や利便性を向上させることが可能となる。
【００１０】
更に、前記グループ化手段は、前記画面上における前記オブジェクトの位置関係が変更されたときに前記オブジェクトのグループ化を実行するものであってもよい。この場合には、画面上で何れかのオブジェクトやグループが移動されたり、新たなオブジェクトが作成されたりして画面上におけるオブジェクトの位置関係が変更されると、オブジェクトのグループ化が実行されることになる。従って、あるオブジェクトあるいはグループ付近に新たなオブジェクトが追加されたり、画面上で何れかのオブジェクトあるいはグループを他のオブジェクトあるいはグループに接近させたりすれば、それらのオブジェクト等を自動的にグループ化することが可能となる。また、あるグループから何れかのオブジェクトを画面上で引き離せば、当該何れかのオブジェクトのグループ化を解除することができるので、オブジェクトの再分類も簡単に効率よく実行可能となる。
【００１１】
また、本発明によるオブジェクト表示処理装置は、前記グループ化手段によるグループ化と前記表示手段による表示処理と前記グループ処理手段によるグループ処理とが有効とされるグループモードの選択および該選択の解除を可能とするグループモード設定手段を更に備えてもよい。これにより、グループモードの任意の選択が可能となり、複数のグループの構築あるいはグループ化の解除等をワンアクションで実行することも可能となる。
【００１２】
更に、本発明によるオブジェクト表示処理装置は、前記複数のオブジェクトの前記画面上における位置を取得するオブジェクト位置取得手段と、前記取得された前記オブジェクトの各々の位置と所定の制約とに基づいて前記グループの前記画面上における範囲であるグループ範囲を設定するグループ範囲設定手段とを更に備えてもよく、前記表示手段は、前記設定されたグループ範囲を前記グループ識別表示として前記オブジェクトと共に前記画面上に表示させるものであってもよい。これにより、画面上におけるオブジェクトの空間的なまとまり具合に応じてグループ範囲がより適正に設定された上でグループ識別表示として画面上に表示されるので、１つのグループとそれに帰属するオブジェクトとを画面上で容易に識別させることが可能となる。
【００１３】
また、前記グループ範囲設定手段は、前記取得された前記オブジェクトの各々の位置と前記オブジェクトの各々に付与された仮想的なポテンシャル場とに基づくポテンシャルを前記複数のオブジェクトに対応した領域について算出するポテンシャル算出手段と、前記算出されたポテンシャルが所定の閾値以上となる領域を囲む境界を前記グループ範囲として設定する境界設定手段とを含むものであってもよい。このように、各オブジェクトに仮想的なポテンシャル場を付与し、各オブジェクトの位置とポテンシャル場とに基づくポテンシャルを複数のオブジェクトに対応した領域（画面領域）について算出した場合、オブジェクトの密度が高い領域、すなわち、画面上で空間的にまとめられているオブジェクト群の周辺ほどポテンシャルの算出値が大きくなる。従って、算出したポテンシャルが所定の閾値以上となる領域を囲む境界をグループ範囲とすれば、オブジェクトのグループへの帰属を示すグループ識別表示を画面上におけるオブジェクトの空間的なまとまり具合に応じてより適正に設定して画面上に表示させることが可能となる。そして、上述のようにして算出されるポテンシャルに基づく境界をグループ識別表示として画面上に表示させれば、画面上でオブジェクト等が移動されると、その移動に応じてグループ識別表示が伸縮するように画面上に表示されることになるので、グループ化やグループ化の解除がなされた否かを視覚的にわかりやすく提示することが可能となる。
【００１４】
更に、前記ポテンシャル場は、前記オブジェクトの所定の基準位置におけるポテンシャルを最大とし、該基準位置から径方向に離れるほどポテンシャルを小さく規定する濃度関数として定められもよい。このように、各オブジェクトに付与するポテンシャル場として、いわゆるメタボールを２次元に応用した濃度関数を用いれば、いわゆるマーチングスクエア法を利用することにより、画面上におけるオブジェクトの空間的なまとまり具合に応じて、グループ識別表示としての境界をより適正に設定することが可能となる。
【００１５】
また、前記グループ化手段は、前記画面に対して設定された複数のグリッドの少なくとも前記オブジェクトの各々に対応したグリッドごとに前記ポテンシャルを算出するものであってもよい。
【００１６】
更に、前記ポテンシャル算出手段は、前記画面上での前記オブジェクトのまとまり具合に応じた前記ポテンシャル場の減衰を伴って前記ポテンシャルを算出するものであってもよい。これにより、画面上で空間的にまとめられたオブジェクトの各々のポテンシャル場同士が重なり合ったとしても、そのようなポテンシャル場の重なり合いに起因してポテンシャルが上記閾値以上となる領域すなわち上述の境界が拡大してしまうことを抑制することができる。従って、グループ範囲としての境界すなわちグループ識別表示が画面上に不必要に拡大して表示されることを抑制して、無駄な画面スペースの消費を回避することが可能となる。
【００１７】
この場合、前記オブジェクトごとに該オブジェクトの所定の基準位置の前記表示画面上における位置のポテンシャルである基準ポテンシャルを算出した上で、前記オブジェクトごとの前記基準ポテンシャルに基づく前記ポテンシャル場の減衰を伴って前記ポテンシャルを算出するものであってもよい。すなわち、オブジェクトの基準位置の表示画面上における位置のポテンシャルである基準ポテンシャルは、オブジェクト同士のまとまり具合に応じたポテンシャル場同士の重なりの度合に依存して定まる。従って、オブジェクトごとに基準ポテンシャルに基づいてポテンシャル場を減衰させれば、ポテンシャル場同士の重なりの度合に応じてより適正にオブジェクトのポテンシャル場を減衰させることができるので、グループ範囲としての境界すなわちグループ識別表示を画面上にコンパクトに表示させることが可能となる。
【００１８】
また、前記ポテンシャル算出手段は、何れかのオブジェクトに対応した領域のポテンシャルを算出する際に、当該何れかのオブジェクトと同一のグループに帰属していないオブジェクトの前記ポテンシャル場に負の重みを付与するものであってもよい。このように、ポテンシャルの算出に際して、あるオブジェクトと同一のグループに帰属していないオブジェクトのポテンシャル場によるポテンシャルを負の重みに応じて減算すれば、画面上におけるオブジェクトの位置関係の変更に伴い、上述のようにして算出されるポテンシャルに基づく境界に基づくグループ識別表示同士が画面上で接近したときに、両者を互いに反発し合うように表示させることができる。これにより、それまでにグループ化されていないオブジェクト同士が比較的グループ化され難い様子を視覚的に提示することが可能となる。
【００１９】
更に、本発明によるオブジェクト表示処理装置において、前記グループ処理手段は、前記画面上に前記グループに帰属する複数のオブジェクトの少なくとも一部が互いに重なり合うように表示されているときに、所定の拡張要求操作に応じて前記オブジェクト同士の重なりが概ね解消されるように前記グループに帰属する前記複数のオブジェクトを再表示させるものであってもよい。これにより、１つのグループに帰属する複数のオブジェクトの少なくとも一部が互いに重なり合うように表示されていても、拡張要求操作を実行すれば、その重なりが概ね解消され、当該グループに帰属する複数のオブジェクトの各々に対するアクセスや操作を簡単に実行可能となるので、画面上に表示されるオブジェクトを分類、管理する際の操作性を向上させることができる。なお、ここでいう“重なりが「概ね解消」される”とは、オブジェクト同士の重なりが完全に解消されることに加えて、少なくとも下側のオブジェクトに対するアクセスが可能な程度に重なりが解消されることを含む。
【００２０】
この場合、前記グループ処理手段は、前記グループに帰属する複数のオブジェクトの中から一対のオブジェクトを抽出するオブジェクト対抽出手段と、前記抽出された一対のオブジェクトにおける重なりを解消するための該一対のオブジェクト間の相対位置関係を導出する相対位置関係導出手段と、前記導出された相対位置関係と所定の位置制約とに基づいて前記抽出された一対のオブジェクトの前記重なりの解消後における前記画面上の目標位置を設定する目標位置設定手段とを含むものであってもよい。これにより、重なり解消前のオブジェクトの相対的な位置関係を概ね維持すると共にグループの表示範囲を不必要に拡張することを抑制しながら、オブジェクト同士の重なりが解消されるように当該グループに帰属する複数のオブジェクトを再表示させることが可能となる。
【００２１】
また、前記目標位置設定手段は、前記目標位置を自由変数とし、該目標位置に基づく前記一対のオブジェクトの相対位置関係と、前記設定された相対位置関係との間における残差の二乗の総和を表すエネルギ関数を最小二乗法で最小化して前記目標位置を設定するものであってもよい。
【００２２】
更に、本発明によるオブジェクト表示処理装置において、前記グループ処理手段は、前記画面上で前記グループを分断するストロークの入力操作がなされたときに、前記入力されたストロークに基づいて前記グループを新たな複数のグループに分割するものであってもよい。これにより、画面上におけるオブジェクトの空間的なまとまり具合に応じて構築された１つのグループを再度複数のグループに簡単に分割することが可能となる。また、グループ化を意図されていないオブジェクトを含むグループが構築された場合には、グループ化が意図されたオブジェクトとそうではないオブジェクトとを切り分けるようにストロークを入力すれば、本来意図されたグループを簡単に構築することが可能となる。従って、このようなグループ処理手段を備えたオブジェクト表示処理装置では、画面上に表示されるオブジェクトを分類、管理する際の利便性を向上させることが可能となる。なお、ここでいう「新たな複数のグループ」は、単一のオブジェクトのみを含むものであってもよい。
【００２３】
この場合、前記グループ処理手段は、前記グループに帰属するオブジェクトのうち、前記ストロークよりも一側に位置するオブジェクトを新たな１つのグループとしてグループ化し、前記入力されたストロークよりも他側に位置するオブジェクトを新たな１つのグループとしてグループ化するものであってもよい。また、オブジェクト表示処理装置が、前記複数のオブジェクトの前記画面上における位置と前記オブジェクトの各々に付与された仮想的なポテンシャル場とに基づくポテンシャルを前記複数のオブジェクトに対応した領域について算出するポテンシャル算出手段と、前記算出されたポテンシャルが所定の閾値以上となる領域を囲む境界を設定する境界設定手段とを更に備える場合、前記グループ処理手段は、前記境界と前記ストロークとに基づいて形成される２つのループごとに、該ループ内のオブジェクトを１つのグループとしてグループ化するものであってもよい。
【００２４】
更に、本発明によるオブジェクト表示処理装置は、前記グループに帰属する何れかのオブジェクトに対する所定の操作がなされたときに、該操作に応じた前記何れかのオブジェクトに対する処理である個別処理を実行する個別処理手段を更に備えてもよい。
【００２５】
そして、本発明によるオブジェクト表示処理装置におけるオブジェクトは、前記画面上に表示されるアイコンであってもよい。すなわち、本発明によるオブジェクト表示処理装置は、デスクトップ等に表示させるアイコンを分類・管理する装置として構成されると極めて有用である。
【００２６】
本発明によるオブジェクト表示処理方法は、
画面上に複数のオブジェクトを表示させると共に前記オブジェクトに対する操作に応じた処理を実行するためのオブジェクト表示処理方法であって、
（ａ）複数のオブジェクトから一対のオブジェクトを抽出して該一対のオブジェクト間の前記画面上における距離を算出するステップと、
（ｂ）ステップ（ａ）で算出された距離に基づいて前記画面上で空間的にまとめられているオブジェクトを１つのグループとしてグループ化するステップと、
（ｃ）前記オブジェクトの前記グループへの帰属を示すグループ識別表示と共に前記オブジェクトを前記画面上に表示させるステップと、
（ｄ）前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するステップと、
を含むものである。
【００２７】
このオブジェクト表示処理方法によれば、画面上でオブジェクトの空間的なまとまりを構築すれば、複数のオブジェクトをグループ化すると共にグループ化されたオブジェクトへのグループ処理を実行することが可能となるので、画面上の複数のオブジェクトを簡単に効率よく分類・管理することができる。
【００２８】
本発明によるオブジェクト表示処理用プログラムは、
複数のオブジェクトを画面上に表示させると共に前記オブジェクトに対する操作に応じた処理を実行するオブジェクト表示処理装置としてコンピュータを機能させるオブジェクト表示処理用プログラムであって、
複数のオブジェクトから一対のオブジェクトを抽出して該一対のオブジェクト間の前記画面上における距離を算出する距離算出モジュールと、
前記算出された距離に基づいて前記画面上で空間的にまとめられているオブジェクトを１つのグループとしてグループ化するグループ化モジュールと、
前記オブジェクトの前記グループへの帰属を示すグループ識別表示と共に前記オブジェクトを前記画面上に表示させる表示モジュールと、
前記画面上で前記グループに対する所定の操作がなされたときに、該操作に応じた前記グループに対する処理であるグループ処理を実行するグループ処理モジュールと、
を備えるものである。
【００２９】
このオブジェクト表示処理用プログラムがインストールされたコンピュータは、上述の本発明によるオブジェクト表示処理装置として機能することから、このオブジェクト表示処理用プログラムを用いれば、画面上の複数のオブジェクトを簡単に効率よく分類・管理することが可能となる。このオブジェクト表示処理プログラムは、例えばコンピュータにインストールされる既存のオペレーティングシステムにプラグインを追加することにより実現されるものであってもよい。
【発明を実施するための最良の形態】
【００３０】
次に、実施例を参照しながら本発明を実施するための最良の形態について説明する。
【実施例】
【００３１】
図１は、本発明の一実施例に係るオブジェクト表示処理装置としてのコンピュータ２０の概略構成図である。同図に示すように、実施例のコンピュータ２０は、図示しないＣＰＵ，ＲＯＭ，ＲＡＭ、グラフィックプロセッサ（ＧＰＵ）、システムバス、各種インターフェース、記憶装置（ハードディスクドライブ）、外部記憶装置等を含む汎用のコンピュータとして構成されており、液晶ディスプレイ等の表示装置３０や、入力装置としてのキーボード４０やマウス５０等と接続されて使用される。また、コンピュータ２０には、グラフィカルユーザインターフェース（ＧＵＩ）を実装すると共に装置全体を統括的に制御するオペレーティングシステムがインストールされており、当該オペレーティングシステムには、本発明によるオブジェクト表示処理用プログラムが予めまたはプラグインの追加により組み込まれている。オブジェクト表示処理用プログラムは、デスクトップやデスクトップ上のウィンドウに表示されるオブジェクトとしてのアイコンの自動グループ化やグループ化されたアイコンに対する一括的な処理であるグループ処理等を実現することにより、アイコンの分類・管理を簡単に効率よく実行可能とするものである。
【００３２】
そして、コンピュータ２０には、ＣＰＵやＲＯＭ，ＲＡＭ，ＧＰＵ、各種インターフェース、記憶装置といったハードウエアと、インストールされたオペレーティングシステムを始めとするアプリケーションプログラムとの一方または双方の協働により、画像処理部２１と、画像データ記憶部２２と、グループ化演算部２３と、ポテンシャル算出部２４と、バブル境界設定部２５と、個別処理部２６と、グループ処理部２７とが機能ブロックとして構築されている。画像処理部２１は、様々なタスクに関連した画像処理を実行し、画像データ記憶部２２は、生成された各種画像データ等を記憶する。また、グループ化演算部２３は、アイコンの自動グループ化のための演算処理を実行して表示画面３１上で空間的にまとめられているアイコンをグループ化する。更に、ポテンシャル算出部２４は、アイコンの表示画面３１上における位置（座標）と各アイコンに付与された仮想的なポテンシャル場とに基づくポテンシャルを算出し、バブル境界設定部２５は、ポテンシャル算出部２４により算出されたポテンシャルに基づいてグループ化されたアイコン（グループ）の範囲であるグループ範囲としてのバブル境界を設定する。そして、個別処理部２６は、グループ化されているか否かに拘わらず、マウス５０を介して何れか１つのアイコンに対して何らかの操作が実行された際に、当該操作に応じた処理である個別処理を実行し、グループ処理部２７は、グループ化されたアイコンに対する特定のグループ処理を実行する。グループ処理部２７により実行されるグループ処理には、グループ化されたアイコンをアイコン同士の重なりが解消されるように拡張して再表示させる拡張表示処理や、グループ化されたアイコンを更に複数のグループに分割するグループ分割処理等が含まれる。このため、グループ処理部２７は、拡張表示処理を実行する拡張表示処理部２８やグループ分割処理を実行するグループ分割処理部２９等を含む。
【００３３】
図２は、上述のコンピュータ２０に接続された表示装置３０の表示画面３１上に表示されるデスクトップの一例を示す説明図である。同図は、表示装置３０に通常表示されるデスクトップを例示するものであり、当該通常時におけるデスクトップ上には、基本的に既存のコンピュータに接続された表示装置の表示画面に表示されるデスクトップと同様に、プログラムやフォルダ、各種ファイル等を示すアイコン１０がユーザの意図に従って配列される。ここで、実施例のコンピュータ２０では、このような通常時のデスクトップ上でマウス５０を右クリックすると、図２に示すように、オペレーティングシステムにより提供されるデスクトップメニューＤＭが表示される。デスクトップメニューＤＭは、基本的には、既存のものと同様のメニュー項目を含むものであるが、実施例のデスクトップメニューＤＭには、一般的なメニュー項目に加えて、上述のグループ化演算部２３やグループ処理部２７の機能を有効にするための“グループモード”なるメニュー項目が用意されている。そして、ユーザが図２に示すように“グループモード”を選択（チェック）すると、デスクトップ上で互いに近接されたり、重ね合わされたりして空間的にまとめられているアイコン１０同士が所定のグループ化条件の成立に伴ってグループ化され、図３に示すようなグループモード選択時のデスクトップが瞬時に表示される。
【００３４】
グループモード選択時のデスクトップには、通常時と同一の配列（位置関係）を保ったままで通常時に表示されていたアイコン１０がそのまま表示されるが、それに加えて、各アイコン１０の周囲に薄色のバブル１１が表示される。図３からわかるように、他のアイコン１０からある程度距離を隔てて配置されているアイコン１０（例えば、図３における「DATA」、「memo」といったファイル）の周囲には、アイコン１０の基準位置（実施例ではアイコン１０の画像中心）を中心とする概ね円形のバルブ１１が表示される。一方、互いに近接したり、重なり合ったりしてグループ化されたアイコン１０（例えば、ファイル「abstract」と「figure」、あるいはフォルダ「0825」とファイル「bubble」、「004」、「007」等）の周囲には、グループに帰属する全アイコン１０を取り囲むようにバブル１１が表示される。すなわち、バブル１１は、アイコン１０のグループへの帰属やグループ範囲を示すグループ識別表示として機能する。
【００３５】
また、グループモードのもとでは、グループ化されているアイコン１０の周囲のバブル１１を左クリックによりドラッグすれば、グループ化されたアイコン１０を一体的に移動させることができる。更に、グループ化されているアイコン１０の周囲のバブル１１を右クリックすれば、図３に示すように、オペレーティングシステムにより提供されるグループメニューＧＭが表示される。グループメニューＧＭは、グループ化されているアイコン１０に対する一括的な処理であるグループ処理の選択を可能とするものであり、グループ全体の“切り取り”、グループ全体の“コピー”、グループ全体の“貼り付け”、…、“グループ化解除”、グループをフォルダ化するための“フォルダの作成”、グループに帰属するアイコン１０の少なくとも一部が重なり合っている場合にアイコン１０同士の重なりが解消されるようにアイコン１０を再表示させるための“拡張表示”といったグループ処理に対応した複数のメニュー項目を含む。このようなグループメニューＧＭの中から所望のグループ処理を選択すれば、上述のグループ処理部２７等によりグループ化されたアイコン１０が一括して処理されることになる。
【００３６】
もちろん、グループモードのもとでも、グループ化されているか否かに拘わらず、マウス５０を介して何れか１つのアイコン１０に対して何らかの操作が実行された際に、当該操作に応じた処理が上述の個別処理部２６により実行される。例えば「０８２５」なるフォルダをダブルクリックすれば、表示画面３１上には図３に示すようにフォルダの中身を示す新たなウィンドウが表示される。この際、グループモードのもとでは、新たに表示されたウィンドウにおいても、図３に示すように、アイコン１０の周囲にはバブル１１が表示され、当該ウィンドウ内にグループ化されたアイコン１０（グループ）が存在すれば、グループに帰属するすべてのアイコン１０を取り囲むバブル１１が表示される。また、何れか１つのアイコン１０上で右クリックすれば、当該アイコン１０に対する個別処理の選択を可能とする図示しない個別メニューが表示される。
【００３７】
更に、グループモードのもとでは、表示画面３１上で何れかのアイコン１０または何れかのグループの位置が変更されたときにもアイコン１０のグループ化が実行される。すなわち、グループモードのもとでは、表示画面３１上で何れか１つのアイコン１０または何れかのグループを他の何れかのアイコン１０またはグループに近接させれば、それらのアイコン１０をグループ化することができる。また、表示画面３１上で、あるグループから何れかのアイコン１０を引き離せば、当該何れかのアイコン１０のグループ化を解除することもできる。この際、バブル１１は、移動されるアイコン１０等の位置に応じて変形し、バブル１１の境界は、グループ化やその解除に応じて変化する。従って、バブル１１は、グループ化の可否を視覚的に認識するための手がかりとなる連結領域としての役割をも果たすことになる。
【００３８】
次に、実施例のコンピュータ２０における上述のようなアイコン１０のグループ化を実現するための処理であるグループ化表示処理について説明する。また、グループ化表示処理の説明に引き続いて、グループ処理部２７により実行されるグループ処理の代表例として拡張表示処理およびグループ分割処理について説明する。
【００３９】
〔グループ化表示処理〕
図４は、実施例のコンピュータ２０において実行されるグループ化表示処理の一例を示すフローチャートである。このグループ化表示処理は、通常時のデスクトップ上でデスクトップメニューＤＭから“グループモード”が選択されたときや、グループモードのもとで新たなアイコン１０が作成されたときに１サイクル実行され、グループモードのもとで何れかのアイコン１０またはグループを表示画面３１上で移動させる移動操作がなされたときに当該移動操作の開始から完了までの間に繰り返し実行されるものである。
【００４０】
図４のグループ化表示処理の開始に際して、コンピュータ２０のグループ化演算部２３は、表示画面３１上に表示されている全アイコン１０の画像中心の表示画面３１における位置、すなわち表示画面３１の座標系（例えばピクセル単位の座標系）に基づく全アイコン１０の画像中心の座標を取得する（ステップＳ１００）。次いで、表示画面３１上に表示されている全アイコン１０における一対のアイコン１０の組み合わせを抽出し、抽出した一対のアイコン１０のすべてについて、ステップＳ１００にて取得した各アイコン１０の座標に基づいて画像中心間の距離ｄを算出する（ステップＳ１１０）。そして、得られた一対のアイコン１０間における距離ｄに基づいて、表示画面３１上で空間的にまとめられているアイコン１０を１つのグループとするグループ化を実行する（ステップＳ１２０）。
【００４１】
かかるステップＳ１２０のグループ化処理について図５を参照しながら具体的に説明する。図５のグループ化処理の開始に際して、グループ化演算部２３は、予め定められた最初の一対のアイコン１０に対応した距離ｄを取得した上で（ステップＳ２００）、取得した距離ｄに対応する一対のアイコン１０同士が既にグループ化されているか否かを判定する（ステップＳ２１０）。そして、当該一対のアイコン１０同士がグループ化されていない場合には、一対のアイコン１０をグループ化する際の判定基準となる閾値ｄｒｅｆを第１の値ｄｒｅｆ１に設定する（ステップＳ２２０）。また、対象となる一対のアイコン１０同士が既にグループ化されている場合には、判定基準としての閾値ｄｒｅｆを第１の値ｄｒｅｆ１よりも大きい第２の値ｄｒｅｆ２に設定する（ステップＳ２２０）。続いて、ステップＳ２２０またはＳ２３０にて設定した閾値ｄｒｅｆとステップＳ２００にて取得した距離ｄとを比較し（ステップＳ２４０）、距離ｄが閾値ｄｒｅｆ以下であれば、対象となる一対のアイコン１０同士をグループ化する一方（ステップＳ２５０）、距離ｄが閾値ｄｒｅｆを上回っていれば、対象となる一対のアイコン１０同士のグループ化を解除（グループ化されていない状態を維持）する（ステップＳ２６０）。その後、一対のアイコン１０すべてについての処理が完了したか否かを判定し（ステップＳ２７０）、処理が完了していなければ、予め定められた順番に従って残りの一対のアイコン１０についてステップＳ２００〜Ｓ２５０またはＳ２６０の処理を繰り返し実行し、ステップＳ２７０にて肯定判断がなされた段階で本処理を終了させる。これにより、ステップＳ１２０のグループ化処理が実行されれば、ステップＳ２４０における判定基準を満たすアイコン１０同士、すなわち表示画面３１上で空間的にまとめられているアイコン１０が順次グループ化されていくことになる。なお、ここでいうグループ化とは、上述のグループメニューＧＭに含まれる“切り取り”、“コピー”、“貼り付け”といったグループ処理に関し、ステップＳ２４０における判定基準を満たすアイコン１０同士を１つのアイコンと見なされるように互いに関連付けすることを意味する。
【００４２】
上述のようなグループ化処理の後、グループ化演算部２３に取り込まれた全アイコン１０の座標がポテンシャル算出部２４に与えられ、ポテンシャル算出部２４は、各アイコン１０の座標と各アイコン１０に対して付与されている仮想的なポテンシャル場とを用いて、表示画面３１に対して設定された複数のポテンシャルグリッドの各アイコン１０に対応したグリッドごとに各アイコン１０の座標と各アイコン１０のポテンシャル場とに基づくポテンシャルを算出する（ステップＳ１３０）。ここで、実施例では、各アイコン１０に付与される仮想的なポテンシャル場として、図６に示すような、いわゆるメタボールを２次元に応用した濃度関数が用いられている。すなわち、各ポテンシャル場は、アイコン１０の基準位置である画像中心（あるいは画像重心）におけるポテンシャルを最大値Ｐｍａｘ（＞１）とし、画像中心から径方向に離れるにつれて所定の法則に従ってポテンシャルを小さく規定するものである。そして、実施例では、アイコン１０の画像中心からの距離が各アイコン１０の画像に概ね外接する円よりも多少大きい円の半径ｒ０となる箇所のポテンシャルを値１とし、画像中心からの距離が値ｒ１となる箇所のポテンシャルを値０としている。また、複数のポテンシャルグリッドは、例えば所定数のピクセル間隔で等間隔に並設されたものであり、表示画面３１の座標系と対応関係を有している。このように各アイコン１０に仮想的なポテンシャル場を付与し、各アイコン１０の画像中心の座標（位置）とポテンシャル場とに基づくポテンシャルを各アイコン１０に対応したポテンシャルグリッドについて算出した場合、図６に示すように、ポテンシャル場の重なりにより、アイコン１０の密度が高い領域、すなわち画面上で空間的にまとめられているアイコン１０の周辺に対応したポテンシャルグリッドほどポテンシャルが大きくなる。従って、表示画面３１上でまとめられているアイコン１０は、算出したポテンシャルがある閾値Ｐｒｅｆ以上となるポテンシャルグリッドに基づく領域に含まれることになり、図７に示すように、この領域に対しては、それを囲む閉じた境界であるバブル境界ｂｂを設定することができる。ステップＳ１３０の処理は、このようなバブル境界ｂｂの設定を目的として、各アイコン１０に対応したポテンシャルグリッドごとにポテンシャルを算出するものである。
【００４３】
かかるステップＳ１３０のポテンシャル算出処理について図８を参照しながら具体的に説明する。図８のポテンシャル算出処理の開始に際して、ポテンシャル算出部２４は、まず、ステップＳ１００にて取得された各アイコン１０の座標とステップＳ１２０のグループ化処理の結果とに基づいて表示画面３１上におけるポテンシャル算出エリアＰＡ（図２参照。）を設定する（ステップＳ３００）。ポテンシャル算出エリアＰＡは、図２からわかるように、ステップＳ１２０にて規定されたグループの数と、ステップＳ１２０にてグループ化されなかった単一のアイコン１０の数との合計の数だけ設定される。そして、グループ化されなかった単一のアイコン１０に関しては、当該アイコン１０の画像中心の座標と、当該アイコン１０のポテンシャル場の外延となる画像中心を中心とした半径ｒ１の円の外接四角形とに基づいてポテンシャル算出エリアＰＡが設定される。また、グループ化されたアイコン１０に関しては、当該グループに帰属する各アイコン１０の画像中心の座標と上記外接四角形とに基づいて、互いに重なり合った外接四角形群の外周の内側領域がポテンシャル算出エリアＰＡとして設定される。
【００４４】
こうして、表示画面３１におけるすべてのポテンシャル算出エリアＰＡを設定したならば、予め定められた最初のポテンシャル算出エリアＰＡ（グループ）に含まれる全アイコン１０（アイコン１０が１個であることもある。）の画像中心（基準位置）の表示画面３１上における座標のポテンシャルである基準ポテンシャルＰｃを算出する（ステップＳ３１０）。かかるステップＳ３１０では、基準ポテンシャルＰｃは、あるアイコン１０の画像中心の座標について当該アイコン１０のポテンシャル場によるポテンシャル（Ｐｍａｘ）と他のすべてのアイコン１０の画像中心との距離に基づくポテンシャルとを加算したものであり、対象となるポテンシャル算出エリアＰＡの全アイコン１０について算出される。このように算出される基準ポテンシャルＰｃは、画像中心間の距離が値ｒ１未満となる状態で複数のアイコン１０（ポテンシャル場）が表示画面３１上で互いに重なり合っているときに、画像中心間の距離が小さくなればなるほど大きな値（値Ｐｍａｘ以上の値）となる。そして、対象となるポテンシャル算出エリアＰＡの全アイコン１０について基準ポテンシャルＰｃを算出したならば、当該ポテンシャル算出エリアＰＡ内のアイコン１０ごとに、１つのアイコン１０のポテンシャル場によるポテンシャルの最大値Ｐｍａｘを算出された基準ポテンシャルＰｃで除する計算を行ってポテンシャル場を減衰させるための減衰係数ζを設定する（ステップＳ３２０）。
【００４５】
続いて、対象となるポテンシャル算出エリアＰＡに対応した複数のポテンシャルグリッドの各々について、当該ポテンシャル算出エリアＰＡ（グループ）内の全アイコン１０の座標およびポテンシャル場に基づくポテンシャルを算出する（ステップＳ３３０）。かかるステップＳ３３０では、対象となるポテンシャル算出エリアＰＡに対応した１つのポテンシャルグリッドにおけるポテンシャルが、当該１つのポテンシャルグリッドと当該エリアＰＡ内の全アイコン１０の画像中心との距離に基づいて濃度関数としてのポテンシャル場から得られる値を加算することにより求められるが、この際、各アイコン１０のポテンシャル場によるポテンシャルには、ステップＳ３２０にて設定された減衰係数ζが乗じられる。すなわち、ステップＳ３３０の処理に際しては、対象となるポテンシャル算出エリアＰＡ内の全アイコン１０のポテンシャル場がステップＳ３２０に設定された減衰係数ζに基づいて減衰される。次いで、ステップＳ３３０にて算出された各ポテンシャルグリッドのポテンシャルから、対象となるポテンシャル算出エリアＰＡ外の（グループに帰属していない）全アイコン１０の座標およびポテンシャル場に基づくポテンシャルを減算する（ステップＳ３４０）。すなわち、ステップＳ３４０では、対象となるポテンシャル算出エリアＰＡ外、すなわち当該エリアＰＡ内のアイコン１０とは同一のグループに帰属していないアイコン１０のポテンシャル場に負の重みｗが付与され、ステップＳ３３０にて算出された各ポテンシャルグリッドのポテンシャルから対象となるポテンシャル算出エリアＰＡ外の各アイコン１０のポテンシャル場によるポテンシャルに負の重みｗを乗じた値が減算される。実施例では、かかる負の重みｗを例えば値−０．４としている。また、ステップＳ３４０においても、ステップＳ３３０と同様に、当該エリアＰＡ外の各アイコン１０のポテンシャル場によるポテンシャルには、ステップＳ３２０にて設定された減衰係数ζが乗じられる。その後、ステップＳ３００にて設定されたすべてのポテンシャル算出エリアＰＡについての処理が完了したか否かを判定し（ステップＳ３５０）、処理が完了していなければ、予め定められた順番に従って残りのポテンシャル算出エリアＰＡについてステップＳ３１０〜Ｓ３４０の処理を繰り返し実行し、ステップＳ３５０にて肯定判断がなされた段階で本処理を終了させる。
【００４６】
このようにしてポテンシャル算出部２４により算出された各ポテンシャルグリッドのポテンシャルは、上述のバブル境界ｂｂの設定に供されるべく、バブル境界設定部２５に与えられ、バブル境界設定部２５は、ポテンシャル算出部２４からの各ポテンシャルグリッドのポテンシャルに基づいて上述のバブル１１の境界たるバブル境界ｂｂ（図７参照。）を設定する（ステップＳ１４０）。この場合、バブル境界設定部２５は、いわゆるマーチングキューブ法を２次元に応用したマーチングスクエア法を用いて、算出された各ポテンシャルグリッドのポテンシャルと所定の閾値Ｐｒｅｆとの比較を行うことにより、上述のバブル１１の境界たるバブル境界ｂｂを設定する。このように各ポテンシャルグリッドのポテンシャルと閾値Ｐｒｅｆとを比較した場合、何れか１つのポテンシャルグリッドのポテンシャルが閾値Ｐｒｅｆ以上となったのに対して、当該何れか１つのポテンシャルグリッドに隣接するポテンシャルグリッドのポテンシャルが閾値Ｐｒｅｆ未満となった場合には、これら２つのポテンシャルグリッド間には、マーチングキューブ法における等値面に相当する境界が存在していることになる。これを踏まえて、実施例では、４つのポテンシャルグリッド間におけるポテンシャルの算出値と閾値Ｐｒｅｆとの比較結果に対応した境界を図９（ａ）〜図９（ｇ）に例示するようにパターン化したルックアップテーブルが画像データ記憶部２２に記憶されており（ただし、図９において黒い丸印はポテンシャルが閾値Ｐｒｅｆ以上となるポテンシャルグリッドを示し、白い丸印はポテンシャルが閾値Ｐｒｅｆ未満となるポテンシャルグリッドを示す。）、ステップＳ１４０において、バブル境界設定部２５は、当該ルックアップテーブルを参照しながら各ポテンシャルグリッドのポテンシャル値と所定の閾値Ｐｒｅｆとの比較結果に基づいて表示画面３１に表示させるバブル１１のバブル境界ｂｂの座標を設定する。これにより、表示画面３１上の全アイコン１０に関して、グループ化されるべきアイコン１０の表示画面３１上における範囲（グループ範囲）であるバブル境界ｂｂをより高速に設定することが可能となる。なお、図３等に示すように、他のアイコン１０からある程度距離を隔てて配置されているアイコン１０に関しては、閾値Ｐｒｅｆが値１であれば、バブル境界ｂｂは、画像中心を中心とした半径ｒ０の円として設定される。こうして表示画面３１上のすべてのアイコン１０に関するバブル境界ｂｂが設定されると、画像処理部２１は、必要なデータを画像データ記憶部２２から読み出し、ステップＳ１００にて入力された座標に基づいて各アイコン１０を表示させると共に、ステップＳ１４０にて設定されたバブル境界ｂｂの座標に基づいて各アイコン１０に対応したバブル１１を表示させ（ステップＳ１５０）、本処理を一旦終了させる。
【００４７】
このように、実施例のコンピュータ２０では、通常時のデスクトップ上でデスクトップメニューＤＭから“グループモード”が選択されると、上述のグループ化表示処理が実行されるので、複数のグループの構築あるいはグループ化の解除をワンアクションで実行することが可能となる。また、“グループモード”が選択されている状態で、何れかのアイコン１０やグループが表示画面３１上で移動されたり、表示画面３１上で新たなアイコン１０が作成されたりして表示画面３１上におけるアイコン１０の位置関係が変更されると、アイコン１０の作成直後あるいは移動操作の開始から完了まで上述のグループ化表示処理が実行されるので、それにより、変更後のアイコン１０の位置関係に応じたグループを構築することが可能となる。
【００４８】
ここで、図１０から図１４を参照しながら、表示画面３１の表示状態を例にとって、上述のグループ化表示処理について具体的に説明する。なお、以後、各図面において説明をわかりやすくするためにバブル境界ｂｂを実線で明瞭に示すこととする。図１０は、表示画面３１上でアイコン１０を移動させたときの表示画面３１の表示状態を例示する説明図である。図１０（ａ）に示すように、何れか１つのアイコン１０（あるいはその周囲のバブル１１）をドラッグして他のグループ化されているアイコン１０（グループ）に接近させると、ドラッグされたアイコン１０と当該グループ化されたアイコン１０の何れかとの距離ｄが閾値ｄｒｅｆ（＝ｄｒｅｆ１）以下となった時点で（ステップＳ１２０，Ｓ２４０）、ドラッグされたアイコン１０と当該他のグループ化されているアイコン１０とがグループ化される（ステップＳ１２０，Ｓ２５０）。そして、このようなグループ化がなされたときには、ドラッグされたアイコン１０と当該他のグループ化されているアイコン１０とが十分に接近し合っており、ポテンシャル場同士の接合（重なり合い）に起因して、これらのアイコン１０はポテンシャルが閾値Ｐｒｅｆ以上となる領域に含まれるようになる。これに伴い、ステップＳ１３０にて算出されたポテンシャルに基づいてドラッグされたアイコン１０と当該何れかのグループに帰属するアイコン１０とを取り囲むバブル境界ｂｂが設定され（ステップＳ１４０）、それまで図１０（ｂ）に示すように別々に表示されていた単一のアイコン１０のバブル１１とグループ化されているアイコン１０を取り囲むバブル１１とが、ステップＳ１５０にてあたかも互いに結合されたかのように一体に表示される（図１０（ｃ）参照。）。そして、ドラッグされたアイコン１０が表示画面３１上で停止すると、図１０（ｄ）に示すように、グループ化されたすべてのアイコン１０の位置（座標）に基づくバブル１１が表示される。このように、実施例のコンピュータ２０では、表示画面３１上で何れかのアイコン１０あるいはグループを他のアイコン１０あるいはグループに接近させれば、それらのアイコン１０等を自動的にグループ化すると共にグループ範囲を示すバブル１１を表示画面３１上に表示させることが可能となる。
【００４９】
一方、実施例のコンピュータ２０では、グループ化されている複数のアイコン１０のうち、所望のアイコン１０を例えばキーボード４０のシフトキーを押しながらドラッグすると、図１０（ｅ）のように、当該所望のアイコン１０をグループ化されている他のアイコン１０から引き離すように移動させることができる。そして、そのアイコン１０を移動させていくと、グループ化されているアイコン１０を取り囲むバルブ１１は、ポテンシャル場同士の重なり合いが減少することに起因して徐々に引き延ばされるように変形していき（図１０（ｆ）参照。）、ドラッグされたアイコン１０と他のアイコン１０の何れかとの距離ｄが閾値ｄｒｅｆ（＝ｄｒｅｆ２）を上回った時点でドラッグされたアイコン１０と当該他のアイコン１０とのグループ化が解除される（ステップＳ１２０，Ｓ２６０）。また、このようなグループ解除がなされたときには、両者は表示画面３１上で十分に離間し合っており、ポテンシャル場同士の分離（重なり合いの解消）に起因して、ステップＳ１３０にて算出されたポテンシャルに基づいてドラッグされたアイコン１０を取り囲むバブル境界ｂｂと当該グループに帰属する他のアイコン１０を取り囲むバブル境界ｂｂとが設定されるので（ステップＳ１４０）、ドラッグされたアイコン１０を取り囲むバブル１１と、残された他のアイコン１０を取り囲むバブル１１とが分離して表示される（ステップＳ１５０）。そして、ドラッグされたアイコン１０が表示画面３１上で停止すると、図１０（ｈ）に示すように、グループから引き離されたアイコン１０の周囲にそれを取り囲む概ね円形のバブル１１が表示されると共に、グループ化されたままのアイコン１０の周囲には、それらを取り囲むバブル１１が表示される。このように、実施例のコンピュータ２０では、あるグループから何れかのアイコン１０を表示画面３１上で引き離せば、当該何れかのアイコン１０のグループ化を解除することができるので、アイコン１０の再分類も簡単に効率よく実行可能となる。
【００５０】
更に、実施例のコンピュータ２０では、グループモードのもとで表示画面３１上においてアイコン１０（グループ）を移動させれば、上述のグループ化表示処理が実行されるので、図１１（ａ）〜図１１（ｄ）に示すように、何れかのアイコン１０あるいはグループをドラッグし、順次他のアイコン１０またはグループ上でリリースすることを繰り返していけば、リリースがなされるたびに新たなグループが構築されていることになるので、いわゆるベリーピッキングを簡単に効率よく実行することもできる。これにより、表示画面３１上に分散して配置されている多数のアイコン１０を極めて効率よく分類・管理することが可能となる。なお、図１１において、ハッチングが施されているアイコン１０は、他のグループ上でリリースされたアイコン１０を示す。また、ユーザが表示画面３１においてドラッグした何れかのアイコン１０またはグループを他のアイコン１０またはグループ上でリリースするケースとしては、ドラッグしたアイコン１０等と他のアイコン１０等とのグループ化を望むケース（グループ化）と、ドラッグしたアイコン１０等をフォルダである他のアイコン１０または他のグループのフォルダにドロップするケース（ドラッグアンドドロップ）とが含まれる。このため、実施例のコンピュータ２０では、これらのグループ化とドラッグアンドドロップとの何れか実行されたかを識別できるように、ドラッグアンドドロップが実行された際には、ドロップ先のフォルダあるいは当該フォルダを含むグループのバブル１１のバブル境界ｂｂを一時的に濃色で表示するようにしている。
【００５１】
また、実施例のコンピュータ２０では、表示画面３１上でのアイコン１０のまとまり具合に応じたポテンシャル場の減衰を伴ってポテンシャルグリッドのポテンシャルが算出されるので（ステップＳ３２０，Ｓ３３０およびＳ３４０）、空間的にまとめられたアイコン１０の各々のポテンシャル場同士が重なり合ったとしても、図１２に示すように、そのようなポテンシャル場の重なり合いに起因してポテンシャルが閾値Ｐｒｅｆ以上となる領域すなわちバブル境界ｂｂが拡大してしまうことを抑制することができる。すなわち、複数のアイコン１０が表示画面３１上で互いに重なり合っている場合、画像中心間の距離が小さくなればなるほど、当該複数のアイコン１０のポテンシャル場同士の重なり合いが大きくなる。そして、ポテンシャル場同士の重なり合いが大きくなればなるほど、重なり合ったポテンシャル場に対応したグリッドのポテンシャルが大きくなり、図１２（ａ）および図１２（ｂ）の上段に示すように、アイコン１０を取り囲むバブル１１のバブル境界ｂｂが拡大されてしまう。これに対して、表示画面３１上のアイコン１０ごとに、基準位置たる画像中心の表示画面３１上における座標のポテンシャルである基準ポテンシャルＰｃを算出した上で（ステップＳ３１０）、アイコン１０ごとに１つのポテンシャル場によるポテンシャルの最大値Ｐｍａｘを基準ポテンシャルＰｃで除して得られる減衰係数ζ（ステップＳ３２０）を用いて各アイコン１０のポテンシャル場によるポテンシャルを減衰させながら対象となるポテンシャルグリッドのポテンシャルを算出すれば（ステップＳ３３０，Ｓ３４０）、図１２（ａ）および図１２（ｂ）の下段に示すように、より適正に各アイコン１０のポテンシャル場を減衰させてグループ範囲としてのバブル境界ｂｂを表示画面３１上にコンパクトに表示させることが可能となる。すなわち、各アイコン１０の画像中心の座標における基準ポテンシャルＰｃは、表示画面３１上におけるアイコン１０のまとまり具合に応じたポテンシャル場同士の重なりの度合に依存して定まるものであるから、基準ポテンシャルＰｃに基づく減衰係数ζを用いてアイコン１０ごとにポテンシャル場によるポテンシャルを減衰させれば、複数のポテンシャル場が重なり合っている領域に対応したポテンシャルグリッドのポテンシャルをポテンシャル場同士の重なりの度合に応じて減少させることが可能となり、それにより、バブル境界ｂｂの拡大を抑制することができる。
【００５２】
加えて、実施例のコンピュータ２０では、設定されたポテンシャル算出エリアＰＡに対応したグリッドのポテンシャルを算出する際に、ポテンシャル算出エリアＰＡ内のアイコン１０と同一のグループに帰属していないアイコン１０のポテンシャル場に負の重みｗが付与され、ステップＳ３３０にて算出された各ポテンシャルグリッドの同一グループに帰属する各アイコン１０の座標およびポテンシャル場に基づくポテンシャルから、対象となるポテンシャル算出エリアＰＡ外の（グループに帰属していない）全アイコン１０の座標およびポテンシャル場に基づくポテンシャルが減算される（ステップＳ３４０）。これにより、グループ化されたアイコン１０を取り囲むバブル１１のバブル境界ｂｂは、図１３に示すように、当該バブル１１内のアイコン１０と同一のグループに帰属していない周囲のアイコン１０により押されて内側に凹んでいるかのように表示されることになる。そして、このように対象となるポテンシャル算出エリアＰＡに対応したポテンシャルグリッドのポテンシャルを算出する際に、あるアイコン１０と同一のグループに帰属していないアイコン１０のポテンシャル場によるポテンシャルを負の重みｗに応じて減算すれば、図１４に示すような表示画面３１におけるアイコン１０の位置関係の変更に伴い、バブル１１（バブル境界ｂｂ）同士が表示画面３１上で接近したときに（図１４（ｂ）参照。）、両者を互いに反発し合うように表示させることが可能となる。
【００５３】
以上説明したように、実施例のコンピュータ２０では、表示画面３１上の複数のアイコン１０から抽出される一対のアイコン１０のすべてについて表示画面３１上における距離ｄが算出されると共に（ステップＳ１１０）、算出された距離ｄに基づいて表示画面３１上で空間的にまとめられているアイコン１０が１つのグループとしてグループ化され（ステップＳ１２０）、アイコン１０のグループへの帰属を示すグループ識別表示としてのバブル１１と共にアイコン１０が表示画面３１上に表示される（ステップＳ１５０）。すなわち、コンピュータ２０では、複数のアイコン１０から抽出される一対のアイコン１０のすべてについて画像中心間の距離ｄが算出され、算出された距離ｄが閾値ｄｒｅｆ（第１の値ｄｒｅｆ１または第２の値ｄｒｅｆ２）以下である一対のアイコン１０同士がグループ化されていく（ステップＳ２４０〜Ｓ２６０）。これにより、コンピュータ２０では、表示画面３１上でアイコン１０の空間的なまとまりを構築すれば、まとまり具合に応じて複数のアイコン１０をグループ化することができる。そして、実施例のコンピュータ２０では、表示画面３１上でマウス５０を介した移動操作やグループメニューＧＭを介したメニュー選択といったグループに対する操作がなされたときには、当該操作に応じたグループに対する処理であるグループ処理が実行される。また、グループに帰属する何れかのアイコン１０に対して何らかの操作が実行された際に、当該操作に応じた処理が実行される。従って、実施例のコンピュータ２０によれば、表示画面３１上の複数のアイコン１０を簡単に効率よく分類・管理すると共に、分類されたアイコン１０を簡単かつ効率よく再分類したり、管理したりすることが可能となる。
【００５４】
また、ステップＳ１２０のグループ化処理に際しては、それまでにグループ化されていない一対のアイコン１０間の距離ｄが第１の値ｄｒｅｆ１以下である場合に当該グループ化されていない一対のアイコン１０同士がグループ化され、既にグループ化されている一対のアイコン１０間の距離ｄが第１の閾値ｄｒｅｆ１よりも大きい第２の閾値ｄｒｅｆ２以下である場合に当該グループ化されている一対のアイコン１０同士のグループ化が維持されることになる。これにより、表示画面３１上におけるアイコン１０の位置関係が変更されたときに、それまでにグループ化されていないアイコン１０同士を比較的グループ化し難くすると共に、一旦構築されたグループのグループ化を解除し難くすることが可能となる。従って、意図しないアイコン１０のグループ化やグループ化の解除を抑制しながら、表示画面３１上にアイコン１０を自在に配置できるようになるので、表示画面３１上に表示されるアイコン１０を分類、管理する際の操作性や利便性を向上させることが可能となる。
【００５５】
更に、実施例のコンピュータ２０では、複数のアイコン１０の表示画面３１上における座標（位置）が取得され（ステップＳ１００）、取得されたアイコン１０の座標と所定の制約としての上述のポテンシャル算出処理（ステップＳ１３０）の結果とに基づいて表示画面３１上におけるグループの範囲であるバブル境界ｂｂが設定された後（ステップＳ１４０）、設定されたバブル境界ｂｂ（グループ範囲）がグループ識別表示としてアイコン１０と共に表示画面３１上に表示される（ステップＳ１５０）。このように、各アイコン１０に仮想的なポテンシャル場を付与し、各アイコン１０の座標（位置）とポテンシャル場とに基づくポテンシャルを各アイコン１０に対応したポテンシャルグリッドごとに算出し、算出したポテンシャルが所定の閾値Ｐｒｅｆ以上となる領域を囲むバブル境界ｂｂを設定すれば、グループ範囲としてのバブル境界ｂｂを表示画面３１上におけるアイコン１０の空間的なまとまり具合に応じてより適正に設定することができる。また、このようなポテンシャル算出処理（ステップＳ１３０）およびバブル境界ｂｂの設定（ステップＳ１４０）をグループ化処理（ステップＳ１２０）と分離することにより、演算負荷を軽減することも可能となる。
【００５６】
また、各アイコン１０に付与するポテンシャル場として、いわゆるメタボールを２次元に応用した濃度関数を用いれば、いわゆるマーチングスクエア法を利用することにより、表示画面３１上におけるアイコン１０の空間的なまとまり具合に応じて、グループ識別表示としてのバブル境界ｂｂをより適正に設定することが可能となる。そして、このようなポテンシャル場を利用したポテンシャルの算出に際し、表示画面３１上でのアイコン１０のまとまり具合を示す各アイコン１０の画像中心の座標における基準ポテンシャルＰｃに基づいて各アイコン１０のポテンシャル場を減衰させれば、空間的にまとめられたアイコン１０の各々のポテンシャル場同士が重なり合ったとしても、そのようなポテンシャル場の重なり合いに起因してポテンシャルが閾値Ｐｒｅｆ以上となる領域を囲むバブル境界ｂｂが拡大してしまうことを抑制することができる。これにより、グループ範囲としてのバブル境界ｂｂを表示画面３１上にコンパクトに表示させることができるので、バブル境界ｂｂが表示画面３１上に不必要に拡大して表示されることを抑制して無駄な画面スペースの消費を回避することが可能となる。
【００５７】
更に、設定されたバブル境界ｂｂをグループ識別表示として表示画面３１上に表示させれば、１つのグループとそれに帰属するアイコン１０とを表示画面３１上で容易に識別させることが可能となる。また、ステップＳ１４０にて設定されるバブル境界ｂｂは、上述のようにして算出されるポテンシャルに基づくものであるので、表示画面３１上でアイコン１０やグループが移動されると、その移動に応じてバブル１１が伸縮するように表示されることになり、グループ化やグループ化の解除がなされた否かを視覚的にわかりやすく提示することが可能となる。加えて、ポテンシャルの算出に際して、あるアイコン１０と同一のグループに帰属していないアイコン１０のポテンシャル場に負の重みｗを付与してポテンシャルを負の重みｗに応じて減算すれば、表示画面３１上でバブル境界ｂｂ同士が接近したときに、両者を互いに反発し合うように表示させることができる。これにより、それまでにグループ化されていないアイコン１０同士が比較的グループ化され難い様子を視覚的に提示することが可能となる。ただし、グループ識別表示は、必ずしもバブル境界ｂｂに基づくものである必要はなく、バブル１１の代わりに、アイコン１０のグループへの帰属を示すグループ識別表示としてグループ化されたアイコン１０に何らかのマークを表示させてもよく、グループ化されたアイコン１０の色を変化させてグループ識別表示としてもよい。また、通常時には、グループ識別表示としてのバブル１１を表示画面３１上に表示させず、表示画面３１上でマウスカーソルが空間的にまとめられているアイコン１０のバブル境界ｂｂの内側に置かれたときに、バブル１１あるいはバブル境界ｂｂを表示させるようにしてもよい。
【００５８】
なお、実施例では、ステップＳ１２０のグループ化処理後にポテンシャル算出処理（ステップＳ１３０）を実行し、ポテンシャル算出処理の結果に基づいてバブル境界ｂｂを設定しているため（ステップＳ１４０）、場合によっては、ステップＳ１２０にて定められた１つのグループに対して複数のバブル境界ｂｂが設定されてしまうおそれもないとはいえない。従って、１つのグループに対して複数のバブル境界ｂｂが設定された場合には、ステップＳ１４０の処理の後に、各ポテンシャルグリッドのポテンシャルと比較される閾値Ｐｒｅｆの値を小さくするか、あるいは当該１つのグループに帰属するアイコン１０のポテンシャル場を強めてバブル境界ｂｂを再設定する後処理を実行してもよい。また、ステップＳ１２０にて定められた１つのグループに対してステップＳ１４０にて複数のバブル境界ｂｂが設定された場合には、ステップＳ１４０の後に、設定されたバブル境界ｂｂの内側に位置するアイコン１０を１つのグループとして再グループ化する後処理を実行してもよい。
【００５９】
〔拡張表示処理〕
続いて、実施例のコンピュータ２０のグループ処理部２７によるグループ処理の一つである拡張表示処理について説明する。拡張表示処理は、図１５（ａ）に示すように、表示画面３１上に同一のグループに帰属する複数のアイコン１０の少なくとも一部が互いに重なり合うように表示されているときに、ユーザによる拡張要求操作に応じてアイコン１０同士の重なりが解消されるように当該グループに帰属する複数のアイコン１０を再表示させる処理である（図１５（ｂ）参照。）。実施例では、上述のグループメニューＧＭから“拡張表示”を選択すること、図１５（ａ）に示すようにグループ化されたアイコン１０の周囲のバブル１１上に所定時間だけマウスカーソルを置くこと、グループ化されたアイコン１０の周囲のバブル１１をダブルクリックすること等がユーザにより実行可能な拡張要求操作として規定されている。そして、このような拡張要求操作が実行されると、主としてグループ処理部２７の拡張表示処理部２８により図１６に示す拡張表示処理が実行される。
【００６０】
図１６の拡張表示処理の開始に際して、拡張表示処理部２８は、まず拡張要求操作を受けたグループ（以下、適宜「対象グループ」という）に帰属する全アイコン１０の画像中心の表示画面３１における座標を取得した上で（ステップＳ４００）、取得した各アイコン１０の座標を入力点群とした周知のドロネー三角形分割処理を実行する（ステップＳ４１０）。このようなドロネー三角形分割処理を実行することにより、図１７に示すように、画像中心同士がドロネー辺で結ばれた一対のアイコン１０を対象グループに帰属する全アイコン１０における２個のアイコン１０の組み合わせとして抽出することができる。続いて、抽出した一対のアイコン１０のすべてに関し、ステップＳ４００にて取得した各アイコン１０の画像中心の座標や予め記憶されている各アイコン１０の画像外周の画像中心からの距離等に基づいてアイコン１０同士が重ならないようにする理想相対位置関係を導出する（ステップＳ４２０）。実施例において、ステップＳ４２０では、図１８（ａ）や図１８（ｂ）に例示するように一対のアイコン１０同士が重なり合っている場合、当該一対のアイコン１０を両者に対応したドロネー辺（図１８における破線参照。）と平行に離間させて両者の画像外周間の最短距離が所定値Ｇｍｉｎとなるときの両者間における相対位置ベクトルを理想相対位置関係として導出する。また、一対のアイコン１０同士が重なり合っていない場合には、理想相対位置関係としての相対位置ベクトルをゼロベクトルとして設定する。図１９に、このような理想相対位置関係を求めるためのプログラムのソースコードの一例を示す。
【００６１】
こうして抽出した一対のアイコン１０のすべてについて理想相対位置関係としての相対位置ベクトルを導出したならば、対象グループに帰属する全アイコン１０の新たな目標座標すなわち拡張表示時における画像中心の座標を自由変数とし、かかる目標座標に基づく一対のアイコン１０の相対位置関係とステップＳ４２０にて設定された理想相対位置関係との間における残差の二乗の総和を表す次式（１）のようなエネルギ関数を抽出した一対のアイコン１０のすべてについて作成する（ステップＳ４３０）。そして、これらのエネルギ関数を最小二乗法で最小化し（ステップＳ４４０）、各エネルギ関数の最小二乗解を当該エネルギ関数に対応した各アイコン１０の目標座標として設定する（ステップＳ４５０）。ここで、式（１）において、ＶiおよびＶjは、互いに対をなすアイコン１０の各々の位置ベクトルを示し、ｄＶijは、ステップＳ４２０にて設定された当該一対のアイコン１０における理想相対位置関係としての相対位置ベクトルである。また、実施例におけるステップＳ４３０の処理は、拡張要求操作直前の対象グループにおける全アイコン１０の画像中心に基づいて得られる対象グループの表示画面３１上における重心が不変（移動しない）であるものとして、上記各エネルギ関数を自由変数で偏微分して得られる連立１次方程式を解くものとされる。
【００６２】
Σi,j｛| Vi - Vj -dVij |2｝…（１）
【００６３】
次いで、ステップＳ４５０にて設定された対象グループに帰属する全アイコン１０の目標座標はポテンシャル算出部２４に与えられ、ポテンシャル算出部２４は、対象グループの各アイコン１０の目標座標と各アイコン１０に対して付与されているポテンシャル場とを用いて、表示画面３１上で対象グループを必要十分に囲む領域に対応した複数のポテンシャルグリッドの各々におけるポテンシャルを算出する（ステップＳ４６０）。ここで、対象グループを必要十分に囲む領域は、上述のポテンシャル算出エリアＰＡと同様に、例えば、各アイコン１０に付与されているポテンシャル場の外延となる画像中心を中心とした半径ｒ１の円の外接四角形と対象グループに帰属する全アイコン１０のステップＳ４５０にて設定された目標座標とに基づいて設定され得るものである。ステップＳ４６０にて算出された各ポテンシャルグリッドのポテンシャルは、バブル境界設定部２５に与えられ、バブル境界設定部２５は、上述のマーチングスクエア法を用いて各ポテンシャルグリッドのポテンシャルと所定の閾値Ｐｒｅｆとの比較を行うことにより、ステップＳ４５０にて設定された対象グループに帰属する全アイコン１０の目標座標に対応したバブル境界ｂｂを設定する（ステップＳ４７０）。そして、画像処理部２１は、必要なデータを画像データ記憶部２２から読み出し、ステップＳ４５０にて設定された目標座標に基づいて対象グループの各アイコン１０を表示させると共に、ステップＳ４７０にて設定されたバブル境界ｂｂの座標に基づいて各アイコン１０に対応したバブル１１を表示させ（ステップＳ４８０）、本処理を終了させる。
【００６４】
以上説明したように、実施例のコンピュータ２０では、表示画面３１上で１つのグループに帰属する複数のアイコン１０の少なくとも一部が互いに重なり合うように表示されていても、拡張要求操作を実行すれば、当該グループに帰属する複数のアイコン１０の各々に対するアクセスや操作を簡単に実行可能となる。例えば、図１５（ａ）のアイコン１０ｘのように、同じグループに帰属する他のアイコン１０によって覆い隠されたアイコン１０が存在していても、拡張要求操作を実行することにより、図１５（ｂ）に示すようにアイコン１０同士の重なりが解消されるように当該グループに帰属する複数のアイコン１０が瞬時に拡張して再表示され（ステップＳ４８０）、それにより、それまでマウスカーソルを置き難い状態にあったアイコン１０ｘに対するアクセスや操作を極めて容易に実行可能となる。従って、実施例のコンピュータ２０では、表示画面３１上に表示されるアイコン１０を分類、管理する際の操作性を向上させることができる。
【００６５】
また、実施例のコンピュータ２０では、上述のように、対象グループに帰属する複数のアイコン１０の中から一対のアイコン１０を抽出し（ステップＳ４１０）、抽出した一対のアイコン１０のすべてについて重なりを解消するための当該一対のアイコン１０間の相対位置関係を導出する共に（ステップＳ４２０）、例えば対象グループの重心を固定するという位置制約のもとで、導出した相対位置関係と再表示（拡張表示）時における目標座標に基づく一対のアイコン１０の相対位置関係との間における残差の二乗の総和を表すエネルギ関数を最小二乗法で最小化して各アイコン１０の目標座標を設定している（ステップＳ４４０，Ｓ４５０）。これにより、重なり解消前の対象グループにおけるアイコン１０の相対的な位置関係を概ね維持すると共に対象グループの表示範囲たるバブル１１を不必要に拡張することを抑制しながら、アイコン１０同士の重なりが解消されるように対象グループに帰属する複数のアイコン１０を再表示させることが可能となる。なお、かかる拡張表示処理に関しても、ステップＳ４７０にて対象グループに対して複数のバブル境界ｂｂが設定されてしまうおそれもないとはいえないので、対象グループに対して複数のバブル境界ｂｂが設定された場合には、各ポテンシャルグリッドのポテンシャルと比較される閾値Ｐｒｅｆの値を小さくするか、あるいは対象グループに帰属するアイコン１０のポテンシャル場を強めてバブル境界ｂｂを再設定する後処理を実行してもよい。もちろん、最初から対象グループに対して複数のバブル境界ｂｂが設定されないように、予めステップＳ４６０にて対象グループに帰属するアイコン１０のポテンシャル場を強めてもよく、あるいはステップＳ４７０にて各ポテンシャルグリッドのポテンシャルと比較される閾値Ｐｒｅｆの値を小さくしてもよい。
【００６６】
また、上述のステップＳ４００〜Ｓ４４０の処理を１サイクル実行すれば、基本的に各アイコン１０へのアクセスが可能な程度に対象グループを拡張表示することができるものと考えられるが、対象グループにおけるアイコン１０の空間的なまとまり具合によっては、アイコン１０の重なりを完全に解消し得ないことも想定される。従って、ステップＳ４００〜Ｓ４４０の処理を複数サイクル（例えば１０サイクル）実行した後に、ステップＳ４５０にて対象グループの全アイコン１０の目標座標を設定してもよい。このようにステップＳ４００〜Ｓ４４０の処理を複数サイクルだけ繰り返す際には、前サイクルのステップＳ４５０にて設定された目標座標を次サイクルのステップＳ４００における各アイコンの画像中心の座標として用いればよい。更に、ステップＳ４４０の処理に際しては、対象グループの重心を固定するという位置制約の代わりに、ユーザによりクリックされたアイコン１０の画像中心やクリックされた位置を固定するという位置制約を用いてもよい。また、対象グループが表示画面３１の縁の比較的近くにあるときには、表示画面３１の縁やコーナに最も近いアイコン１０の画像中心等を固定するという位置制約を用いてもよい。
【００６７】
そして、実施例では、ステップＳ４８０の再表示後に所定の条件が成立すると、表示画面３１上には、対象グループに帰属するアイコン１０が拡張要求操作前の元の位置に表示され、対象グループのバブル１１も拡張要求操作前の元のグループ範囲を示すものとして表示される。この場合、拡張表示を元に戻すための条件としては、ステップＳ４８０における再表示後に所定時間が経過すること、ステップＳ４８０における再表示後に対象グループに帰属する何れかのアイコン１０に対して何らかの操作がなされること、対象グループのバブル１１からマウスカーソルが離れること、対象グループのバブル１１外で何らかの操作がなされること等が挙げられる。また、ステップＳ４８０の再表示後に例えばマウスカーソルが拡張表示された対象グループのアイコン１０やバブル１１上になお置かれたままである場合には、そのまま拡張表示を維持してもよい。
【００６８】
〔グループ分割処理〕
引き続き、実施例のコンピュータ２０のグループ処理部２７によるグループ処理の一つであるグループ分割処理について説明する。図２０は、主としてグループ処理部２７のグループ分割処理部２９により実行されるグループ分割処理の一例を示すフローチャートである。実施例のコンピュータ２０では、デスクトップメニューＤＭから“グループモード”が選択されている状態で、例えばマウス５０を左クリックして表示画面３１で移動させると、表示画面３１上に任意のストロークを入力することができる。そして、図２０のグループ分割処理は、図２１に示すように、ユーザにより入力されたストロークＳによって表示画面３１上の複数のアイコン１０を囲むバブル１１すなわち何れかのグループのバブル１１が分断されたときに開始される。
【００６９】
図２０のグループ分割処理の開始に際して、グループ分割処理部２９は、まず、ストロークＳにより分断されたバブル１１により囲まれている全アイコン１０の画像中心の座標と、当該バブルのバブル境界ｂｂの座標と、入力されたストロークＳの座標とを取得する（ステップＳ５００）。次いで、取得したバブル境界ｂｂの座標とストロークＳの座標とに基づいて図１６（ｂ）に示すような２つの閉じたループＬ１，Ｌ２を作成する（Ｓ５１０）。このような２つのループＬ１およびＬ２を作成したならば、ステップＳ５００にて取得した各アイコン１０の座標等を用いて、アイコン１０ごとにループＬ１，Ｌ２のうちの何れの内側に位置するか否かを判定し、判定結果に基づいてアイコン１０のグループ化を実行する（ステップＳ５２０）。ここでいうグループ化は、１つのループＬ１またはＬ２内に位置するすべてのアイコン１０を上述のグループメニューＧＭに含まれる“切り取り”、“コピー”、“貼り付け”といったグループ処理に関して１つのアイコンと見なされるように互いに関連付けすることを意味する。このようにしてストロークＳにより分断されたバブル１１により囲まれているアイコン１０の再グループ化を実行したならば、上述のポテンシャル算出部２４により、ステップＳ５１０にて設定されたループＬ１を必要十分に囲む表示画面３１上の領域に対応した複数のポテンシャルグリッドと、ステップＳ５１０にて設定されたループＬ２を必要十分に囲む表示画面３１上の領域に対応した複数のポテンシャルグリッドとのポテンシャルが算出される（ステップＳ５３０）。この場合、ループＬ１に対応した複数のポテンシャルグリッドについては、ループＬ１内に位置するアイコン１０のみのポテンシャル場によるポテンシャルが算出され、ループＬ２に対応した複数のポテンシャルグリッドについては、ループＬ２内に位置するアイコン１０のみのポテンシャル場によるポテンシャルが算出される。また、ループＬ１，Ｌ２を必要十分に囲む領域も、各アイコン１０に付与されているポテンシャル場の外延となる画像中心を中心とした半径ｒ１の円の外接四角形とループＬ１またはＬ２内に位置するアイコン１０の画像中心の座標とに基づいて設定され得るものである。こうしてステップＳ５３０にて算出された各ポテンシャルグリッドのポテンシャルは、バブル境界設定部２５に与えられ、バブル境界設定部２５は、上述のマーチングスクエア法を用いて各ポテンシャルグリッドのポテンシャルと所定の閾値Ｐｒｅｆとの比較を行うことにより、ループＬ１内に位置するアイコン１０に対応したバブル境界ｂｂと、ループＬ２内に位置するアイコン１０に対応したバブル境界ｂｂとの座標を設定する（ステップＳ５４０）。そして、画像処理部２１は、必要なデータを画像データ記憶部２２から読み出し、ステップＳ５００に取得された座標に基づいて各アイコン１０を表示させると共に、ステップＳ５４０にて設定されたバブル境界ｂｂの座標に基づいて各ループＬ１，Ｌ２に対応したバブル１１を表示させ（ステップＳ５５０）、本処理を終了させる。
【００７０】
以上説明したように、実施例のコンピュータ２０では、表示画面３１上で複数のアイコン１０を取り囲むバブル１１すなわちグループを分断するストロークＳの入力操作がなされたときに、当該バブル１１のバブル境界ｂｂとストロークＳとに基づいて形成される２つのループＬ１，Ｌ２ごとに、ループＬ１，Ｌ２内のオブジェクトが１つのグループとしてグループ化される。すなわち、コンピュータ２０では、何れかのバブル１１を分断するストロークＳが入力されると、図２１（ｂ）および（ｃ）に示すように、当該ストロークＳよりも一側（図中左側）に位置するアイコン１０が新たな１つのグループとしてグループ化され、入力されたストロークＳよりも他側に位置するアイコン１０が新たな１つのグループとしてグループ化される。これにより、表示画面３１上におけるアイコン１０の空間的なまとまり具合に応じて構築された１つのグループを再度複数のグループに簡単に分割することが可能となる。また、グループ化を意図されていないアイコン１０を含むグループが構築された場合には、グループ化が意図されたアイコン１０とそうではないアイコン１０とを切り分けるようにストロークＳを入力すれば、本来意図されたグループを簡単に構築することが可能となる。従って、このようなグループ分割処理が実行され得るコンピュータ２０では、表示画面３１上に表示されるアイコン１０を分類、管理する際の利便性を向上させることが可能となる。
【００７１】
なお、ストロークＳの入力の仕方によっては、バブル境界ｂｂとストロークＳとにより形成される２つのループＬ１，Ｌ２の何れかまたは双方にアイコン１０が１つのみ含まれることもあり得るので、ここでいう「新たな複数のグループ」は、単一のアイコン１０のみが帰属するものを含むことになる。そして、表示画面３１上におけるアイコン１０の空間的なまとまり具合によっては、図２１（ｃ）に示すように、ステップＳ５４０にて設定されるループＬ１に対応したバブル境界ｂｂとループＬ２に対応したバブル境界ｂｂとが交差し、それにより表示画面３１上でループＬ１に対応したバブル境界ｂｂとループＬ２に対応したバブル境界ｂｂとが重なり合うこともあり得る。ただし、このようにバブル境界ｂｂ同士が重なり合っても、その後、ユーザにより双方のバブル１１（グループ）は表示画面３１上で互いに離間されると想定されることから、実用上何ら不都合はないと考えられる。
【００７２】
また、このようなストロークＳに基づくグループ分割処理に関連した他のグループ処理の一例としては、次のようなグループの一括削除が挙げられる。すなわち、複数のアイコン１０を取り囲むバブル１１（グループ）を完全に分断しないストローク、つまり複数のアイコン１０を取り囲むバブル１１のバブル境界ｂｂと１点（１箇所）のみで交差するストロークＳが入力された場合には、当該バブル１１に対応したグループを一括して削除するようにしてもよい。
【００７３】
以上、実施例を用いて本発明の実施の形態について説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において、様々な変更をなし得ることはいうまでもない。
【００７４】
例えば、本発明は、コンピュータ２０に接続された表示装置３０の表示画面３１上におけるアイコン１０の分類・管理に適用される代わりに、チャットシステムやＢＢＳにおけるテキストボックスの管理や、ウェブページのブックマーク管理、音楽再生装置のプレイリスト管理に適用されてもよい。図２２に本発明が適用された２次元チャットシステムの表示画面を例示する。図２２の２次元チャットシステムにおいてチャットを行う際、ユーザは、既存のメッセージに対する自己のメッセージをオブジェクトとしてのテキストボックス１０Ｔに書き込んだ後、当該既存にメッセージが書き込まれたテキストボックス１０Ｔの周辺に配置する。これにより、それぞれ共通のテーマに関連した既存のテキストボックス１０Ｔと新たなテキストボックス１０Ｔとが図２２に示すようにグループ化されると共にグループ化されたテキストボックス１０Ｔの周囲にはグループ識別表示としてのバブル１１が表示されることになる。また、この２次元チャットシステムでは、テキストボックス１０Ｔ同士の重なり合いにより隠されてしまっているテキストボックス１０Ｔが存在していても、所定の拡張要求操作を実行すれば、グループ全体を拡張表示させて、それまで隠されていたテキストボックス１０Ｔに書き込まれているメッセージを読むことが可能となる。更に、この２次元チャットシステムにおいても、表示画面上で上述のストロークＳを入力することにより、テキストボックス１０Ｔの再グループ化等を実行することができる。
【産業上の利用可能性】
【００７５】
本発明は、情報処理分野において有用である。
【図面の簡単な説明】
【００７６】
【図１】本発明の一実施例に係るオブジェクト表示処理装置であるコンピュータ２０の概略構成図である。
【図２】実施例のコンピュータ２０に接続された表示装置３０の表示画面３１上に表示されるデスクトップの一例を示す説明図である。
【図３】グループモードが選択されたときに実施例のコンピュータ２０に接続された表示装置３０の表示画面３１上に表示されるデスクトップの一例を示す説明図である。
【図４】実施例のコンピュータ２０において実行されるグループ化表示処理の一例を示すフローチャートである。
【図５】図４のステップＳ１２０におけるグループ化処理の一例を示すフローチャートである。
【図６】実施例のコンピュータ２０において各アイコン１０に付与されるポテンシャル場を例示する説明図である。
【図７】各アイコン１０の座標と各アイコン１０に付与されたポテンシャル場とに基づくポテンシャルにより規定されるバブル境界ｂｂを示す説明図である。
【図８】図４のステップＳ１３０におけるポテンシャル算出処理の一例を示すフローチャートである。
【図９】（ａ），（ｂ），（ｃ），（ｄ），（ｅ），（ｆ）および（ｇ）は、バブル境界ｂｂを設定する際に用いられるルックアップテーブルを例示する説明図である。
【図１０】（ａ），（ｂ），（ｃ），（ｄ），（ｅ），（ｆ），（ｇ）および（ｈ）は、表示画面３１上でアイコン１０を移動させたときの表示画面３１の表示状態を例示する説明図である。
【図１１】（ａ），（ｂ），（ｃ）および（ｄ）は、表示画面３１上でいわゆるベリーピッキングを実行した場合の表示画面３１の表示状態を例示する説明図である。
【図１２】（ａ）および（ｂ）は、複数のアイコン１０が重ね合わされたときのバブル１１の表示状態を例示する説明図である。
【図１３】グループ化されたアイコン１０を取り囲むバブル１１のバブル境界ｂｂを例示する説明図である。
【図１４】（ａ），（ｂ），（ｃ），（ｄ）および（ｅ）は、表示画面３１上でアイコン１０を移動させたときの表示画面３１の表示状態を例示する説明図である。
【図１５】（ａ）および（ｂ）は、実施例のコンピュータ２０におけるグループ処理の一つである拡張表示処理を説明するための説明図である。
【図１６】実施例のコンピュータ２０において実行される拡張表示処理の一例を示すフローチャートである。
【図１７】ドロネー三角形分割処理を説明するための説明図である。
【図１８】（ａ）および（ｂ）は、アイコン１０同士が重ならないようにする理想相対位置関係を導出する手順を示す説明図である。
【図１９】理想相対位置関係を求めるためのプログラムのソースコードの一例を示す説明図である。
【図２０】実施例のコンピュータ２０において実行されるグループ分割処理の一例を示すフローチャートである。
【図２１】（ａ）および（ｂ）は、実施例のコンピュータ２０において実行されるグループ分割処理を説明するための説明図である。
【図２２】本発明の変形例としての２次元チャットシステムの表示画面を例示する説明図である。
【符号の説明】
【００７７】
１０，１０ｘ  アイコン、１０Ｔ  テキストボックス、１１  バブル、２０  コンピュータ、２１  画像処理部、２２  画像データ記憶部、２３  グループ化演算部、２４  ポテンシャル算出部、２５  バブル境界設定部、２６  個別処理部、２７  グループ処理部、２８  拡張表示処理部、２９  グループ分割処理部、３０  表示装置、３１  表示画面、４０  キーボード、５０  マウス、ｂｂ  バブル境界、Ｌ１，Ｌ２  ループ
【図１】
0004759743.tif 000002
【図２】
0004759743.tif 000003
【図３】
0004759743.tif 000004
【図４】
0004759743.tif 000005
【図５】
0004759743.tif 000006
【図６】
0004759743.tif 000007
【図７】
0004759743.tif 000008
【図８】
0004759743.tif 000009
【図９】
0004759743.tif 000010
【図１０】
0004759743.tif 000011
【図１１】
0004759743.tif 000012
【図１２】
0004759743.tif 000013
【図１３】
0004759743.tif 000014
【図１４】
0004759743.tif 000015
【図１５】
0004759743.tif 000016
【図１６】
0004759743.tif 000017
【図１７】
0004759743.tif 000018
【図１８】
0004759743.tif 000019
【図１９】
0004759743.tif 000020
【図２０】
0004759743.tif 000021
【図２１】
0004759743.tif 000022
【図２２】
0004759743.tif 000023