(57)【特許請求の範囲】
【請求項１】
グラフィック入力ディスプレイ装置と該グラフィック入力ディスプレイ装置に接続されたプロセッサとを備えて複数のグラフィック・オブジェクトを動的にグループ化するシステムにおいて、前記グラフィック入力ディスプレイ装置に表示される複数のグラフィック・オブジェクトを動的にグループ化するための方法であって、
前記プロセッサが、
少なくとも１つの距離を決定するステップであって、各距離が１対のグラフィック・オブジェクトの間であり、複数の異なったタイプの時間距離および空間距離に基づくステップと、
各求められた距離に基づいて、前記グラフィック入力ディスプレイ装置に表示される複数のグラフィック・オブジェクトの階層的な集塊性を表すクラスタ・ツリーを形成するステップであって、クラスタ・ツリーの各クラスタ・レベルがグラフィック・オブジェクトの１つの新しいクラスタを定義するステップと、
の各処理を実行する複数のグラフィック・オブジェクトの動的グループ化方法。
【請求項２】
更に、
少なくとも１つのグラフィック・オブジェクトを選択するステップと、
選択された少なくとも１つのグラフィック・オブジェクトを含むグラフィック・オブジェクト・グループを、対応するクラスタ・レベルに基づき、グラフィック入力ディスプレイ装置での表示するステップと、
を含む、請求項１の方法。
【請求項３】
更に、対応するクラスタが選択された少なくとも１つのグラフィック・オブジェクトを含むクラスタ・ツリーの他のクラスタ・レベルを選択するステップと、
選択されたクラスタ・レベルに基づき他のグラフィック・オブジェクト・グループをグラフィック入力ディスプレイ装置に表示するステップと、
を含む、請求項２の方法。
【請求項４】
他のクラスタ・レベルを選択するステップが、
アップ／ダウン・インタフェースを使用して、クラスタ・レベルを選択するステップと、
ジェスチャー認識装置を使用して、クラスタ・レベルを選択するステップと、
音声反応装置を使用して、クラスタ・レベルを選択するステップと、
少なくとも１つのグラフィック・オブジェクトの選択の期間に基づいて、クラスタ・レベルを決定するステップと、
の内の少なくとも１つを含む、請求項３の方法。
【請求項５】
対応するクラスタ・レベルが予め定義される、請求項２の方法。
【請求項６】
予め定義されたクラスタ・レベルが、グラフィック・オブジェクト、ワード、線、段落またはページの内の１つに対応する、請求項５の方法。
【請求項７】
少なくとも１つのグラフィック・オブジェクトを選択するステップが、
アップ／ダウン・インタフェースを使用して、少なくとも１つのグラフィック・オブジェクトを選択するステップと、
ジェスチャー認識装置を使用して、少なくとも１つのグラフィック・オブジェクトを選択するステップと、
音声反応装置を使用して、少なくとも１つのグラフィック・オブジェクトを選択するステップと、
の内の少なくとも１つを含む、請求項２の方法。
【請求項８】
クラスタ・ツリーを形成するステップが、
グラフィック・オブジェクトの内の１つを選択するステップと、
選択されたグラフィック・オブジェクトに基づいてクラスタ・ツリーを形成するステップと、
を含む、請求項１の方法。
【請求項９】
各距離が、時間距離および空間距離の関数である、請求項１の方法。
【請求項１０】
複数のグラフィック・オブジェクトの相対的なサイズに基づき、空間距離をスケ−リングするステップを更に含む、請求項９の方法。
【請求項１１】
グラフィック・オブジェクトＸとＹの各対に対して、距離が、
Ｄ＝ＤT（Ｘ，Ｙ） +αＤS（Ｘ，Ｙ）
であり、
この場合、
Ｄが対様式の距離であり、
ＤTが対様式の時間距離であり、
ＤSが対様式の空間距離であり、
αが時間距離を空間距離に関係付ける定数である、
請求項９の方法。
【請求項１２】
ＤS ＝ｄx + βｄx
である場合に、
ｄxが、水平座標方向に沿ったグラフィック・オブジェクトＸとグラフィック・オブジェクトＹの間の距離であり、
ｄyが、垂直座標方向に沿ったグラフィック・オブジェクトＸとグラフィック・オブジェクトＹの間の距離であり、
βが、ｄx距離とｄy距離の相対的な重要性を指定する定数である、
請求項１１の方法。
【請求項１３】
ＤS ＝ｄx／ｂx + β（ｄy／ｂy）、
ｂx ＝ＸL + ＹL 、および
ｂx ＝ＸH + ＹH
である場合に、
ＸLが、水平座標方向のグラフィック・オブジェクトＸの長さであり、
ＹLが、水平座標方向のグラフィック・オブジェクトＹの長さであり、
ＸHが、垂直座標方向のグラフィック・オブジェクトＸの高さであり、
ＹHが、垂直座標方向のグラフィック・オブジェクトＹの高さであり、
βが、ｄx距離とｄy距離の相対的な重要性を定義する定数である、
請求項１１の方法。
【請求項１４】
ＤT ＝Ｍ，Ｙs - Ｘe＞Ｍ
それ以外の場合，ＤT ＝Ｙs - Ｘe
であり、ここで、
Ｍが、グラフィック・オブジェクトＸとグラフィック・オブジェクトＹの作成の間の制限時間を定義する定数であり、
Ｘeが、グラフィック・オブジェクトＸの作成の終了時刻であり、
Ｙsが、グラフィック・オブジェクトＹの作成の開始時刻である、
請求項１１の方法。
【請求項１５】
グラフィック入力ディスプレイ装置と該グラフィック入力ディスプレイ装置に接続されたプロセッサとを備えて複数のグラフィック・オブジェクトを動的にグループ化するシステムにおいて、前記グラフィック入力ディスプレイ装置上に表示される複数のグラフィック・オブジェクトを動的にグループ化するための方法であって、
前記プロセッサが、
複数のグラフィック・オブジェクトの各々をそれ自体のクラスタとして初めにグループ化するステップと、
少なくとも１つの対様式の距離を決定するステップであって、各対様式の距離が、１対のクラスタの間であり、クラスタの対の作成の間の時間距離と、クラスタの対の間の空間距離の組み合わせに基づくステップと、
前記グラフィック入力ディスプレイ装置に表示される複数のグラフィック・オブジェクトの階層的な集塊性を表すクラスタ・ツリーを形成するために、少なくとも１つの対様式の距離に基づき互いにもっとも近いクラスタの対をマージして、単一クラスタおよびクラスタ・レベルを形成するステップと、
の各処理を実行する複数のグラフィック・オブジェクトの動的グループ化方法。
【請求項１６】
更に、各連続クラスタ・レベルに対し、マージ・ステップの後に多くても１つのクラスタが存在するまで、決定ステップおよびマージステップを繰り返すことを含む、請求項１５の方法。
【請求項１７】
更に、複数のグラフィック・オブジェクトの相対的なサイズに基づいて空間距離をスケーリングすることを含む、請求項１５の方法。
【請求項１８】
グラフィック・オブジェクトＸとＹの各対について、距離が以下の通りであり、
Ｄ＝ＤT（Ｘ，Ｙ） +αＤS（Ｘ，Ｙ）
この場合、
Ｄが、対様式の距離であり、
ＤTが、対様式の時間距離であり、
ＤSが、対様式の空間距離であり、
αが、時間距離を空間距離に関係付ける定数である、
請求項１５の方法。
【請求項１９】
更に、
少なくとも１つのグラフィック・オブジェクトを選択するステップと、
選択された少なくとも１つのグラフィック・オブジェクトを含むグラフィック・オブジェクト・グループを、対応するクラスタ・レベルに基づき、グラフィック入力ディスプレイ装置上に表示することと、
を含む、請求項１８の方法。
【請求項２０】
更に、
クラスタ・ツリーの他のクラスタ・レベルを選択するステップであって、その対応するクラスタが、選択された少なくとも１つのグラフィック・オブジェクトを含むステップと、
選択されたクラスタ・レベルに基づいて、他のグラフィック・オブジェクト・グループをグラフィック入力ディスプレイ装置に表示するステップと、
を含む、請求項１９の方法。
【請求項２１】
対応するクラスタ・レベルが予め定義される、請求項１９の方法。
【請求項２２】
予め定義されたクラスタ・レベルは、グラフィック・オブジェクト、ワード、線、段落、またはページの内の１つに対応する、請求項２１の方法。
【請求項２３】
更に、
少なくとも１つのグラフィック・オブジェクトを選択するステップと、
選択された少なくとも１つのグラフィック・オブジェクトを含むグラフィック・オブジェクト・グループを、対応するクラスタ・レベルに基づき、グラフィック入力ディスプレイ装置上に表示するステップと、
を含む、請求項１５の方法。
【請求項２４】
更に、
クラスタ・ツリーの他のクラスタ・レベルを選択するステップであって、その対応するクラスタが、選択された少なくとも１つのグラフィック・オブジェクトを含むステップと、
選択されたクラスタ・レベルに基づいて、他のグラフィック・オブジェクト・グループをグラフィック入力ディスプレイ装置に表示するステップと、
を含む、請求項２３の方法。
【請求項２５】
他のクラスタ・レベルを選択するステップが、
アップ／ダウン・インタフェースを使用して、クラスタ・レベルを選択するステップと、
ジェスチャー認識装置を使用して、クラスタ・レベルを選択するステップと、
音声反応装置を使用して、クラスタ・レベルを選択するステップと、
少なくとも１つのグラフィック・オブジェクトの選択の期間に基づいて、クラスタ・レベルを決定するステップと、
の内の少なくとも１つを含む、請求項２４の方法。
【請求項２６】
少なくとも１つのグラフィック・オブジェクトを選択するステップが、
アップ／ダウン・インタフェースを使用して、少なくとも１つのグラフィック・オブジェクトを選択するステップと、
ジェスチャー認識装置を使用して、少なくとも１つのグラフィック・オブジェクトを選択するステップと、
音声反応装置を使用して、少なくとも１つのグラフィック・オブジェクトを選択するステップと、
少なくとも１つのグラフィック・オブジェクトの選択の期間に基づいて、クラスタ・レベルを決定するステップと、
の内の少なくとも１つを含む、請求項２３の方法。
【請求項２７】
更に、複数のグラフィック・オブジェクトからグラフィック・オブジェクトの１つを選択するステップを含み、決定するステップが、選択されたグラフィック・オブジェクトを含むクラスタと各他のグラフィック・オブジェクトとの間の対様式の距離を求め、選択されたグラフィック・オブジェクトを含むクラスタにもっとも近いグラフィック・オブジェクトを決定し、マージ・ステップが、選択されたグラフィック・オブジェクトを含むクラスタともっとも近いグラフィック・オブジェクトをマージし、単一クラスタを定義する、請求項１５の方法。
【請求項２８】
更に、各連続クラスタ・レベルに対し、マージ・ステップの後に多くても１つのクラスタが存在するまで、決定ステップおよびマージ・ステップを繰り返すことを含む、請求項２７の方法。
【請求項２９】
グラフィック・オブジェクトＸとＹの各対に関し、距離が以下の通りであり、
Ｄ＝ＤT（Ｘ，Ｙ） +αＤS（Ｘ，Ｙ）
この場合、
Ｄが、対様式の距離であり、
ＤTが、対様式の時間距離であり、
ＤSが、対様式の空間距離であり、
αが、時間距離を空間距離に関係付ける定数である、
請求項２７の方法。
【請求項３０】
更に、複数のグラフィック・オブジェクトの相対的なサイズに基づき、空間距離をスケーリングすることを含む、請求項２９の方法。
【請求項３１】
更に、
少なくとも１つのグラフィック・オブジェクトを選択するステップと、
選択された少なくとも１つのグラフィック・オブジェクトを含むグラフィック・オブジェクトのグループを、対応するクラスタ・レベルに基づき、グラフィック入力ディスプレイ装置に表示するステップと、
を含む、請求項２９の方法。
【請求項３２】
更に、
クラスタ・ツリーの他のクラスタ・レベルを選択するステップであって、その対応するクラスタが、選択された少なくとも１つのグラフィック・オブジェクトを含むステップと、
選択されたクラスタ・レベルに基づき他のグラフィック・オブジェクト・グループをグラフィック入力ディスプレイ装置上に表示するステップと、
を含む、請求項３１の方法。
【請求項３３】
他のクラスタ・レベルを選択するステップが、
アップ／ダウン・インタフェースを使用して、クラスタ・レベルを選択するステップと、
ジェスチャー認識装置を使用して、クラスタ・レベルを選択するステップと、  音声反応装置を使用して、クラスタ・レベルを選択するステップと、
少なくとも１つのグラフィック・オブジェクトの選択の期間に基づき、クラスタ・レベルを決定するステップと、
の内の少なくとも１つを含む、請求項３２の方法。
【請求項３４】
少なくとも１つのグラフィック・オブジェクトを選択するステップが、
アップ／ダウン・インタフェースを使用して、少なくとも１つのグラフィック・オブジェクトを選択するステップと、
ジェスチャー認識装置を使用して、少なくとも１つのジェスチャー・オブジェクトを選択するステップと、
音声反応装置を使用して、少なくとも１つのグラフィック・オブジェクトを選択するステップと、
少なくとも１つのグラフィック・オブジェクトの選択の期間に基づき、クラスタ・レベルを決定するステップと、
の内の少なくとも１つを含む、請求項３１の方法。
【請求項３５】
複数のグラフィック・オブジェクトを動的にグループ化するためのシステムであって、
複数のグラフィック・オブジェクトを少なくとも表示するためのグラフィック入力ディスプレイ装置と、
グラフィック入力ディスプレイ装置と通信する制御システムであって、少なくとも１対のグラフィック・オブジェクトの間の異なるタイプの時間距離および空間距離を組み合わせ、クラスタ・ツリーの各レベルを形成することによって、複数のグラフィック・オブジェクトのクラスタ・ツリーを形成する制御システムと、
グラフィック・オブジェクトおよびクラスタ・ツリーを記憶するためのメモリと、
を備える、複数のグラフィック・オブジェクトの動的グループ化システム。
【請求項３６】
制御システムが、
異なったタイプの距離に基づき、少なくとも１対のグラフィック・オブジェクトの距離を決定する距離ジェネレータと、
距離ジェネレータによって生成される少なくとも１つの距離に基づき、クラスタ・ツリーのクラスタ・レベルを生成する、クラスタ・レベル・ジェネレータと、
クラスタ・ツリーを生成するクラスタ・ジェネレータと、
クラスタ・ツリーに基づき、グラフィック入力ディスプレイ装置上でグラフィック・オブジェクトの表示を生成するディスプレイ・ジェネレータと、
を備える、請求項３５のシステム。
【請求項３７】
更に、任意のグラフィック・オブジェクトを選択するために使用でき、選択されたグラフィック・オブジェクトに対応するクラスタ・レベルを選択するために使用できるセレクタを備える、請求項３６のシステム。
【請求項３８】
セレクタが、
アップ／ダウン・インタフェースと、
ジェスチャー認識装置と、
音声応答装置と、
選択装置と、
の内の少なくとも１つを備え、クラスタ・レベルが、セレクタによって、少なくとも１つのグラフィック・オブジェクトの選択の期間に基づいて決定される、請求項３７のシステム。
【請求項３９】
距離ジェネレータが、グラフィック・オブジェクトの各対の間の距離を決定し、対様式の距離が、時間距離と空間距離の組み合わせである、請求項３６のシステム。
【請求項４０】
グラフィック・オブジェクトＸとＹの各対に関し、距離が、以下の通りであり、
Ｄ＝ＤT（Ｘ，Ｙ） +αＤS（Ｘ，Ｙ）
この場合、
Ｄが、対様式の距離測定基準であり、
ＤTが、対様式の時間距離であり、
ＤSが、対様式の空間距離であり、
αが、時間距離を空間距離に関係付ける定数である、請求項３９のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、グラフィック編集システムに関する。特に、本発明は、複数のグラフィック・オブジェクトをグラフィック編集のために動的にグループ化するための方法およびシステムに関する。
【０００２】
【従来の技術】
グラフィック・オブジェクトのグループ化は、それにより１つまたは複数のグラフィック・オブジェクトが１つの単一単位として選択できるようになるので、デジタル・インクを使用して動作するシステムのようなグラフィック編集システムでは重要なインタフェース問題である。ユーザは、グラフィック・オブジェクトの削除または移動のような動作を編集するため、またはグラフィック・オブジェクトに特性またはデータタイプを追加するためにグラフィック・オブジェクトを選択する。手書きのノートの場合、グラフィック・オブジェクトの所望の選択は、典型的には、１つのワード、１本の線、または１つの段落を形成するインク・ストロークのグループである。キーボード入力システムにおいては、選択は、ワード、線、および段落が、ワード間のスペース文字、段落間の段落文字、および類似物によって区別できる十分に定義された単位であるという事実によって容易にされる。キーボード入力システムでは、ユーザは、ワードを選択する場合は１度、線を選択する場合は２度、あるいは段落を選択する場合は３度マウスをクリックすることがある。対照的に、デジタル・インク・ストロークを含むグラフィック・オブジェクトは、このようにして意味をもった単位にマッピングすることはできない。
【０００３】
したがって、典型的なグラフィック編集システムでは、グラフィック・オブジェクトのグループは、所望のオブジェクトの上で矩形をドラッグすることによって選択される。ただし、所望のグラフィック・オブジェクトが、グラフィック・オブジェクトとしてのインク・ストロークが斜めにされたり、斜めに描画される場合などの、基本的に矩形ではない場合、この技法は不利である可能性がある。
【０００４】
グラフィック編集でグラフィック・オブジェクトをグループ化する別の方法は、所望のグループ化を示すためにグラフィック・オブジェクトの回りにループを描画することを含む。この方法は、ティヴォリ（Tivoli）で使用される。ティヴォリは、イー．ペダーセン（E. Pedersen ）ら、ＩＮＴＥＲＣＨＩ１９９３年、３９１−３９８ページ（１９９３年４月２４−２９日）「ティヴォリ：非公式作業グループ会議用電子ホワイトボード（An Electronic Whiteboard for Informal Workgroup Meetings）」に説明される。ティヴォリとは、非公式作業グループ会議用の電子ホワイトボードのことである。グラフィック・オブジェクトの回りにループを描画することは、スキューの問題を回避できるが、さまざまなグループのストロークがオーバーラップするときには、１つのグループのストロークだけの選択は達成するのが困難である。
【０００５】
グラフィック・オブジェクトまたはストロークのグループを選択するための別の方法は、モラン（Moran ）らに対する米国特許第５，５４８，７０５号（以下、Ｍｏｒａｎ１と称する）に開示されるようなワイピングである。Ｍｏｒａｎ１は、特殊なワイピング・モードが選択され、ペンが所望のグラフィック・オブジェクトまたはストロークの上で移動される、動的に選択されたグラフィック・オブジェクトのワイピング用の技法を説明する。ただし、ワイプによってタッチされないストロークまたはグラフィック・オブジェクトは、ページ上の実際の距離で、またはそれらが作成された時間でどれほど近いのかのどちらかで、それらが選択されたグラフィック・オブジェクトまたはストロークにどれほど近いのかに従って含まれることができる。
【０００６】
０７４３０  ニュージャージー州マーワー（Mahwah, NewJersey ）のシャープ（Sharp Corporation ）のシャープザウルス・モデル（Sharp Zaurus Model）ＺＲ−５７００／ＺＲ−５８００操作マニュアルでは、一定の時間しきい値内に作成されたストロークがまとめてグループ化されるように、グラフィック・オブジェクトとしてのインク・ストロークは、時間ごとに自動的にグループ化される。ただし、この技法では、ストロークをグループ化するためのしきい値は、書込み速度に依存する。また、この技法は、空間的な接近を考慮に入れない。従って、ページ上で隣接するが、異なる時間に作成されるグラフィック・オブジェクトまたはストロークは、グループ化されず、時間によってグループ化されたグラフィック・オブジェクトまたはストロークを分離することは困難である。
【０００７】
インクライター（アハ！）（InkWriter (Aha!)）システム、「アハ！ソフトウェア製品」１９９５年においては、グラフィック・オブジェクトまたはストロークは、画面上の事前に描画された線の間に書き込まれ、ワードはストローク間の間隔に基づいて認識される。このシステムによって、ユーザは、テキスト・ワード・プロセッサにおいてのように、インク、つまり画面に適合するようにフォーマットし直されたグラフィック・オブジェクトで、挿入、削除、切り取りおよび貼り付けを使用して、手書きのノートを編集することができる。
【０００８】
モラン（Moran ）らへの米国特許第５，４０４，４３９号（Ｍｏｒａｎ２）は、グラフィック・オブジェクトを、矩形領域、ループの描画、またはワイピングによって行われる選択に対するその空間的な近さと時相的な近さを考慮することによって動的に選択するための技法を説明する。
【０００９】
【発明が解決しようとする課題】
本発明は、ディジタル・インクのようなグラフィック・オブジェクトを、タイプ入力テキスト・システムでの選択に類似した方法で、ワード、線または段落によって選択する方法および装置を提供する。
【００１０】
本発明は、さらに、図面またはその他の非テキスト・ノートのようなグラフィック・オブジェクトを正確に編集するために適用可能であるグラフィック編集用の正確な選択技法を有する方法および装置を提供する。
【００１１】
本発明は、さらに、ユーザが調べる必要がある可能性があるクラスタ・レベルの数および代替グループの数を削減することができる方法および装置を提供する。
【００１２】
【課題を解決するための手段】
本発明の方法および装置（システム）は、クラスタ・ツリーを形成するために階層的な集塊性のクラスタ化を使用して、グラフィック・オブジェクトをグループ化する。クラスタ・ツリーは、時間距離および空間距離のようなさまざまなタイプの距離に基づいており、さまざまなタイプの距離は単一の距離（distance metric ）に結合される。
【００１３】
本発明の方法および装置は、グラフィック・オブジェクトの意味を持ったグループを推論するために動的クラスタ化を使用する。本発明の方法および装置は、おおまかにワード、線、および段落に対応する、グラフィック・オブジェクト・クラスタの階層を作成する。ユーザは、ポインティングすることによってまたはジェスチャーを使用することによって、所望のグループ化を選択し、グラフィック・オブジェクトのクラスタ・レベル、即ち動的なグループ化・レベルを調整する。
【００１４】
本発明の動的なグループ化方法および装置は、ワード、線または段落のようなグラフィック・オブジェクトを分類しようとしないため、選択技法は、ストロークのようなテキスト・オブジェクトに対してだけではなく、図面およびその他の非テキスト・ノートにも有利かつ適用可能である。
【００１５】
本発明の方法では、ユーザは、所望のグラフィック・オブジェクトを選択する。選択されたグラフィック・オブジェクトの「回りの」その他のグラフィック・オブジェクトのグループ化は、そのグラフィック・オブジェクトの選択されたクラスタ・レベルに基づいて表示される。次に、ユーザは選択化されたクラスタ・レベルを単に増加または減少することができ、それによって取り囲むグラフィック・オブジェクトの動的なグループ化を増加または減少する。
【００１６】
本発明の方法では、ユーザによって現在選択されているクラスタ・レベル内でのグラフィック・オブジェクトは、選択されたクラスタ内のグラフィック・オブジェクトのなんらかの外観特徴を変化することによって表示される。外観特徴とは、シェーディング、背景シェーディング、インクの色（着色、色相、飽和または輝度のような）、フォント、太さ、傾き、またはそれ以外の外観特性となる場合がある。クラスタ・レベルは、グラフィック・オブジェクトをポインティングし、選択の期間、つまりドエルに基づきクラスタ・レベルを変化することによって選択することができる。
【００１７】
本発明のシステムでは、ユーザは、アップ／ダウン・インタフェース、マウス、ペン・ジェスチャーまたは音声起動を使用して、クラスタ・レベルを選択、変更し、次に高いクラスタ・レベルに増加するか、次に低いクラスタ・レベルに減少する。或いは、ユーザは、選択にとどまることによって多様なクラスタ・レベルを通って循環することもできる。従って、ユーザは、容易に所望のクラスタ・レベルを選択し、グラフィック・オブジェクトが非テキスト・フォーマットとなることがある、手書きのテキスト内でのようなグラフィック・オブジェクトの意味を持ったグルーピングを表示することができる。
【００１８】
本発明の第１の態様は、グラフィック入力ディスプレイ装置と該グラフィック入力ディスプレイ装置に接続されたプロセッサとを備えて複数のグラフィック・オブジェクトを動的にグループ化するシステムにおいて、前記グラフィック入力ディスプレイ装置に表示される複数のグラフィック・オブジェクトを動的にグループ化するための方法であって、
前記プロセッサが、
少なくとも１つの距離を決定するステップであって、各距離が１対のグラフィック・オブジェクトの間であり、複数の異なったタイプの時間距離および空間距離に基づくステップと、
各求められた距離に基づいて、前記グラフィック入力ディスプレイ装置に表示される複数のグラフィック・オブジェクトの階層的な集塊性を表すクラスタ・ツリーを形成するステップであって、クラスタ・ツリーの各クラスタ・レベルがグラフィック・オブジェクトの１つの新しいクラスタを定義するステップと、
の各処理を実行する複数のグラフィック・オブジェクトの動的グループ化方法である。
【００１９】
第２の態様は、複数のグラフィック・オブジェクトを動的にグループ化するためのシステムであって、
複数のグラフィック・オブジェクトを少なくとも表示するためのグラフィック入力ディスプレイ装置と、
グラフィック入力ディスプレイ装置と通信する制御システムであって、少なくとも１対のグラフィック・オブジェクトの間の異なるタイプの時間距離および空間距離を組み合わせ、クラスタ・ツリーの各レベルを形成することによって、複数のグラフィック・オブジェクトのクラスタ・ツリーを形成する制御システムと、
グラフィック・オブジェクトおよびクラスタ・ツリーを記憶するためのメモリと、
を備える、複数のグラフィック・オブジェクトの動的グループ化システムである。
【００２０】
本発明のこれらのおよびその他の特徴および利点は、好ましい実施の形態の以下に続く詳細な記述に説明され、詳細な記述から明らかになる。
【００２１】
【発明の実施の形態】
本発明は、類似した参照番号が類似した要素を表す図面を参照して説明される。
【００２２】
図１に図示されるように、グラフィック・オブジェクト入力システム１０は、キーボード１２、マイクロフォン１４、マウス１５、およびペン１６のような多様な入力装置を具備する。プロセッサ１８は、入力装置１２〜１６からデータを受け取り、メモリまたは記憶装置２０、スピーカ２２、およびディスプレイ２４を制御する。
【００２３】
ディスプレイ２４は、入力装置１２−１６の内の１つまたは複数を介してグラフィック・オブジェクト入力システム１０で入力される多様なグラフィック・オブジェクトを表示する。ユーザがペン１６を使用する場合、ユーザは、好ましくは、ペン１６によって作成されるストロークをグラフィック・オブジェクトに変換する既知の回路およびセンサも具備するディスプレイ装置２４上で描画する。これらのグラフィック・オブジェクトは、ユーザがペン１６を使ってストロークを作成したディスプレイ２４上の位置で、ディスプレイ２４に表示される。
【００２４】
ディスプレイが電子テキストまたはグラフィック・ファイルを表示している場合も、ペン１６で作成されるストロークは、代りに、ユーザがストロークを作成した電子ファイルの位置に「配置」することができる。この場合、ストロークは、インク・ペンによって紙上に残されるマークが紙上に埋め込まれるのと同じように電子ファイル内に埋め込まれるので、「ディジタル・インク」と呼ばれる。
【００２５】
表示されたグラフィック・オブジェクトが、キーボード１２を介して入力されるマークであってもよい。グラフィック・オブジェクトは、テキストまたは図面である場合もあれば、例えばマイクロフォン１４を介して入力された音声データのグラフィック表記である場合もある。
【００２６】
図２は、プロセッサ１８をさらに詳細に示す。制御装置３０は、多様なプロセスおよび入力装置を制御し、調整する。制御装置３０は、記憶装置２０およびディスプレイ２４と通信し、グラフィック・オブジェクトおよびグラフィック・オブジェクトの動的グループを生成し、表示する。制御装置は、距離ジェネレータ３２、クラスタ・レベル・ジェネレータ３４、クラスタ・ジェネレータ３６、およびディスプレイ・ジェネレータ３８に接続される。距離ジェネレータ３２は、グラフィック・オブジェクトとグラフィック・オブジェクトのクラスタとの間でさまざまなタイプの距離を計算する。
【００２７】
クラスタ・レベル・ジェネレータ３４は、多様なグラフィック・オブジェクトのコレクション（集合）から、距離ジェネレータ３２から出力されるそのコレクションの距離に基づき、階層的な集塊性のクラスタ・ツリーを生成する。いったんクラスタ・レベル・ジェネレータ３４によってクラスタ・レベルが生成されると、クラスタ・ジェネレータ３６は、グラフィック・オブジェクトの動的なグループを、クラスタ・レベル・ジェネレータ３４によって決定されたグラフィック・オブジェクトのコレクションの、またはグラフィック・オブジェクトの内の選択された１つのクラスタ・レベルに基づいて生成する。
【００２８】
クラスタ・ジェネレータ３６は、クラスタ・レベル・ジェネレータ３４および制御装置３０と通信する。クラスタ・ジェネレータ３６は、グラフィック・オブジェクトの多様なグループ分けを、クラスタ・レベル・ジェネレータ３４によって生成されるクラスタ・ツリーに基づいて生成する。クラスタ・ジェネレータ３６は、ディスプレイ・ジェネレータ３８と通信し、複数のグラフィック・オブジェクトのグループ分けまたは選択されたグラフィック・オブジェクトのグループ分けに対応する１つまたは複数のクラスタ・レベルだけではなく、グラフィック・オブジェクトをディスプレイ２４に表示する。
【００２９】
システム１０は、例として、本文中に参照して全体として取り入れられる、１９９７年３月２０日に出願された米国出願第０８／８２１，３１１号でのような、手書きデータおよび音声データを捕捉、検索するためのシステム内で実現することができる。本発明が適用できるシステムの例は、ディジタル・インクのようなグラフィック・オブジェクトを入力できるポータブル電子ノートブックである。
【００３０】
図３は、ディジタル・ページ４２を有する例示的なディジタル・ノートパッドを表示するディスプレイ２４の画面４０を示す。グラフィック・オブジェクト４４としてのノートマークまたはストロークが、ディジタル・ページ４２に入力され、記憶装置２０に記憶される。ディジタル・ページ４２のサイズは、ユーザによって定義される。日付および時刻４６も、各ディジタル・ページ４２に対応する。
【００３１】
ディジタル・ページ４２の背景４８は、ユーザによって選択される。図３に図示される背景４８は、左余白のあるペーパーベースのラインが付されたぺージである。他のサンプル背景は、無罫の白いページまたは名前または均一資源ロケーター（ＵＲＬ）のような指定の情報用に事前に定義された領域を有するその他の形式ベースのページを含むことがある。
【００３２】
グラフィック・オブジェクトを入力する上でユーザを補助するには多様なジェスチャーが使用できる。これらのジェスチャーは、ディスプレイ２４上に記すために、キーボード１２を通してまたはペン１６を使用してプロセッサ１８に入力される。ジェスチャーは、新しいページ、挿入のポイントの上または下に空間を作成したり、グラフィック・オブジェクトを削除または取り消すために使用することができる。ジェスチャーは、任意のグラフィック・オブジェクトを選択したり、グラフィック・オブジェクト４４の動的なグループ分けの１つまたは複数の対応するクラスタ・レベルを選択するためのユーザ・インタフェースとして働く。
【００３３】
図３では、ディジタル・ページ４２に対応するテキスト・キーボード５４が、ディジタル・ページ４２の余白内に表示される。キーワードは、以前に決定されたキーワードから選択し、ポップアップ・キーボードを使用して入力されるか、またはキーボード・エントリ・ボックス内で手書きされることができ、標準手書き認識パッケージを使用して認識することができる。
【００３４】
イネーブル時、音声データはマイクロフォン１４を通して受け取られる。音声データは、録音され、対応するグラフィック・オブジェクトと結び付けることができる。複数のグラフィック・オブジェクトの動的なグループ分けにより選択されるとき、対応する音声データは、スピーカ２２を通して再生されることができる。
【００３５】
各々がグラフィック・オブジェクト４４の多様なものを含む多様なディジタル・ページ４２または画面４０は、ディスプレイ２４で見られ、ディジタル・ページ４２は作成の時間を基準にして順序付けられる。さらに、グラフィック・オブジェクト４４の多様なグループ分けは、あるページ４２から別のページ４２へ、あるいはある画面４２から他の画面４０へ移動することができる。従って、グラフィック・オブジェクト４４は、ディジタル・ページ４２のクラスタ・ツリー内のグラフィック・オブジェクトのグループ分けに追加、またはグループ分けから削除され、別のディジタル・ページ４２または画面４０の別のクラスタ・ツリーに移動することができる。
【００３６】
ディジタル・インクのようなグラフィック・オブジェクト４４は、階層的な集塊性のクラスタ化アルゴリズムを使用してクラスタ化される。アルゴリズムは、グラフィック・オブジェクトの動的なグループ分けを提供する。最初、各グラフィック・オブジェクトはそれ自体のクラスタである。グラフィック・オブジェクトの間の距離が計算される。クラスタ・ツリーのレベルは、時間距離と空間距離の組み合わせのような異なるタイプの距離により形成される対様式の距離に基づいて定義される。
【００３７】
図４は、グラフィック・オブジェクトＡ−Ｍの集合のクラスタ・ツリー７０を示す。図４に図示されるように、グラフィック・オブジェクトは、順序Ａ−Ｍで時間的に作成され、図示されるように互いに関して空間的に配置される。最初、各グラフィック・オブジェクトＡ−Ｍは、レベルＬ０ではそれ自体クラスタである。クラスタ・ツリー７０を生成する上で、オブジェクトＡ−Ｍの各対の間の対様式の時間距離および空間距離が、１つの単一の距離に結合される。２つのもっとも近いクラスタが１つの単一クラスタを形成するためにマージ（併合）され、クラスタ・ツリー７０の第1レベル、即ちレベルＬ１を作り出す。次に、各レベルに存在するクラスタのすべての対様式の結合された距離が調べられ、各レベルでの存在する２つのもっとも近いクラスタがマージされて、クラスタ・ツリー７０の次のレベルを形成するように、プロセスが繰り返される。再び、単一のクラスタだけがクラスタ・ツリー７０の最終レベルに残るまで、必要に応じてプロセスが繰り返され、追加レベルを形成する。
【００３８】
このようにして、図４に図示されるように、ベースクラスタＧとＨが結合され、レベル１Ｇ−Ｈクラスタを形成する。次に、クラスタ・ツリー７０のレベルＬ２では、Ｇ−ＨクラスタおよびＦクラスタが結合され、レベル２Ｆ−Ｈクラスタを形成する。次に、レベルＬ３とＬ４では、ＡとＢ、およびＣとＤのクラスタがそれぞれ結合され、レベル３Ａ−Ｂクラスタとレベル４Ｃ−Ｄクラスタを形成する。
【００３９】
次に、レベルＬ５では、レベル３Ａ−Ｂクラスタが、レベル４クラスタと結合され、レベル５Ａ−Ｄクラスタを形成する。このプロセスは、最終レベル１２Ｍ−Ｌクラスタが形成されるまで、各レベルで繰り返される。
【００４０】
グラフィック・オブジェクトのまたは選択されたグラフィック・オブジェクトのためのクラスタ化は、選択され、ディスプレイ２４の画面４０で観察できる。例えば、図４を参照すると、レベルＬ５では、第１行のグラフィック・オブジェクトＡ−Ｄが、第２行のグラフィック・オブジェクトＦ−Ｈが形成するように、１つのクラスタを形成する。クラスタ・レベルＬ９では、第３行のグラフィック・オブジェクトＩ−Ｌが、第２行のグラフィック・オブジェクトＥ−Ｈおよび第１行のグラフィック・オブジェクトＡ−Ｄが行うように、１つのクラスタを形成する。このように、このクラスタ・レベルは、基本的には行選択レベルである。
【００４１】
グラフィック・オブジェクトＭは、後に作成されたため、このレベルの第１行には含まれていない。しかしながら、レベルＬ１０では、グラフィック・オブジェクトＭは、第１行クラスタに含まれる。クラスタ・レベルＬ１１では、最初の２行が１つの単一クラスタにマージされ、グラフィック・オブジェクトＡ−ＨおよびＭを含む。クラスタ・レベルＬ１２では、すべて１３のグラフィック・オブジェクトＡ−Ｍが１つの単一クラスタにマージされた。従って、このレベルは、１つの段落、即ちページ選択レベルに同等である。
【００４２】
図５は、クラスタ・レベルＬ１−Ｌ１２を生成するために代替アルゴリズムを使用して形成されたグラフィック・オブジェクトＡ−Ｍの第２クラスタ・ツリー８０を示す。図４では、クラスタ・ツリー７０は、最初に、ユーザによって選択されるグラフィック・オブジェクトの後ではあるが、ユーザによって選択されるグラフィック・オブジェクトとは関係なく、グラフィック・オブジェクトのグループに対して生成される。対照的に、図５に示されるクラスタ・ツリー８０は、最初に選択されたグラフィック・オブジェクトに関して生成される。このようにして、図５では、クラスタ・ツリー８０は、選択されたグラフィック・オブジェクトＦを基準にして決定される。クラスタ・ツリー８０を生成するためのこの代替アルゴリズムは、選択されたグラフィック・オブジェクトのグラフィック・オブジェクト・グループ分けが小さい別個のレベルだけで変化するという事実に基づいている。
【００４３】
図５を参照すると、ユーザは最初に任意のグラフィック・オブジェクトを選択する。クラスタ・ツリー８０の各レベル毎に、次にもっとも近いグラフィック・オブジェクトが、選択されたグラフィック・オブジェクトを含むクラスタにマージされる。図５は、選択されたグラフィック・オブジェクトＦに対して生成されたクラスタ・ツリー８０を示す。クラスタ・ツリー８０を生成するために使用される距離は、選択されたグラフィック・オブジェクトＦから、または選択されたグラフィック・オブジェクトＦを含むクラスタからの、グラフィック・オブジェクトＡ−ＥおよびＧ−Ｍの時間距離および空間距離の対様式の組み合わせに基づいている。
【００４４】
図５の代替アルゴリズムは、クラスタ・ツリー７０に関して特定のグラフィック・オブジェクトのクラスタ・サイズのより漸次的な増加または減少を提供する。しかしながら、クラスタ・ツリー７０に比較すると、ユーザは、クラスタ・ツリー８０のさらに多くのレベルを通して移動し、適切なクラスタ・レベルを発見しなければならない。例えば、図４に示されるクラスタ・ツリー７０では、グラフィック・オブジェクトＦのクラスタ化の範囲、即ち、クラスタ・レベルＬ２、Ｌ８、Ｌ１１およびＬ１２を提供するためには、４つのレベルだけが必要とされる。
【００４５】
対照的に、クラスタ・ツリー８０のために代替アルゴリズムを使用する場合、すべてのレベルＬ１−Ｌ１２が必要とされる。しかしながら、クラスタ・ツリー８０の一つの利点とは、それがユーザによって選択されるグラフィック・オブジェクトであるグラフィック・オブジェクトＦを、正確に所望のクラスタ・レベルでグループ化できるようにするという点である。このように、クラスタ・ツリー８０は、グラフィック・オブジェクトＦを、同じ行のグラフィック・オブジェクトＥ、ＧおよびＨと、および前の行のグラフィック・オブジェクトＤとグループ化できるようにする。これは、図４に示されるクラスタ・ツリー７０の場合ほど容易に達成されない。
【００４６】
図６、図７、および図８は、距離がどのようにして決定されるのかを説明する。距離のこれらの例示的な計算は、図４に図示されるクラスタ・ツリー７０と図５に図示されるクラスタ・ツリー８０の両方の生成に当てはまる。距離を計算する際には、グラフィック・オブジェクトまたはクラスタ間の対様式の距離が使用されるのが好ましい。グラフィック・オブジェクトの任意の２つのクラスタの間の対様式の距離は、クラスタの中に含まれるグラフィック・オブジェクトの間の対様式の距離の最低値であるのが好ましい。
【００４７】
グラフィック・オブジェクトの２つのクラスタの間の最小対様式距離（即ち距離）を決定する１つの方法は、一つのクラスタの各グラフィック・オブジェクトと別のクラスタの各グラフィック・オブジェクトの間の各距離を決定することである。次に、このように決定された各距離の距離の最小値は、２つのクラスタの間の最小対様式距離として選択される。また、グラフィック・オブジェクトの２つのクラスタの間の最大または平均対様式距離（または距離）を、代りに使用することができる。一般的には、２つのクラスタの間の距離を決定する任意の既知の方法を使用することができる。
【００４８】
さらに、２つのグラフィック・オブジェクトの間の距離は、それらが作成された時間の間の距離と、それらの間の空間的な距離の結合関数であるのが好ましい。
【００４９】
２つのグラフィック・オブジェクト１００と１２０（ＸとＹ）の間の距離Ｄを測定する１つの方法とは、以下の通りで、
Ｄ＝ＤT（Ｘ，Ｙ） +αＤS（Ｘ，Ｙ）  （１）
ここで、ＤSはグラフィック・オブジェクトＸとＹの間の空間距離である。
ＤTは、グラフィック・オブジェクトＸとＹの作成の間の時間距離であり、
αは、時間距離ＤTに関して空間距離ＤSを重み付けする定数である。
【００５０】
グラフィック・オブジェクトＸがグラフィック・オブジェクトＹより時間的に早期に作成されると仮定する場合のグラフィック・オブジェクトＸとＹの間の時間距離ＤTの好ましい測定とは以下の通りであり、
ＤT (X，Y）＝Ｍ，Ｙs - Ｘe＞Ｍ
それ以外の場合，ＤT (X，Y）＝Ｙs - Ｘe   （２）
ここで、Ｘeはグラフィック・オブジェクトＸの作成終了時刻である。
Ｙsは、グラフィック・オブジェクトＹの作成開始時刻である。
Ｍは、時間差ＤＴに対する制限定数である。
従って、定数Ｍは、ＸeとＹsの間の時間距離ＤTに外的な(outer)制限を課す。
【００５１】
グラフィック・オブジェクトＸとＹの間の空間距離ＤSを計算する１つの方法は、水平距離と垂直距離の重み付け総計であり、
ＤS （Ｘ、Ｙ）＝ｄx + βｄy   （３）
ここで、ｄxは、グラフィック・オブジェクト対の間のｘ（即ち水平）距離である。
ｄyは、グラフィック・オブジェクト対の間のｙ（即ち垂直）距離である。
βは、ｄx距離とｄy距離の相対的な重要性を指定する定数である。
大部分のユーザは水平線に沿って書くので、定数βは、典型的には、１より大きい任意の値に設定される。これによって水平グループ分けの方が垂直グループ分けより、よりあり得る。
【００５２】
距離ｄxは、ｘ座標方向でのグラフィック・オブジェクトＸの最後からグラフィック・オブジェクトＹの始まりまでの距離である。距離ｄyは、ｙ座標方向でのグラフィック・オブジェクトＸとグラフィック・オブジェクトＹの間の高さ差である。図７は、グラフィック・オブジェクトＸとＹ、それぞれ１００と１２０の間の距離ｄxを示す。また、図８は、グラフィック・オブジェクトＸとＹの間の距離ｄyを示す。
【００５３】
グラフィック・オブジェクト１００と１２０の境界ボックスが、空間距離ＤSを求める上で使用されるのが好ましい。図６、図７、および図８では、それぞれグラフィック・オブジェクト１００と１２０が、それぞれ境界ボックス１０２と１２２によって境界を付けられて示されている。境界ボックス１０２と１２２は一般的には矩形であり、グラフィック・オブジェクト１００と１２０を最小限に囲む。グラフィック・オブジェクト１００と１２０の境界ボックス１０２と１２２は、矩形の境界ボックス１０２と１２２を形成する線セグメントを画定する４つの端点座標を有する。グラフィック・オブジェクト１００の境界ボックスは、点１０４、１０６、１０８、および１１０によって画定される。グラフィック・オブジェクト１２０の境界ボックス１２２は、点、１２４、１２６、１２８および１３０によって画定される。これらの点のそれぞれと対応するのが、ｘ―ｙ座標系での点を識別するｘとｙの座標である。
【００５４】
特に、図６、図７、および図８に図示されるように、左上の点１０４および１２４は、それぞれ座標Ｘu1xとＸu1y、およびＹu1xとＹu1yを有する。右上の点１０６と１２６は、それぞれ座標ＸurxとＸury、およびＹurxとＹuryを有する。左下の点１０８と１２８は、それぞれ座標Ｘ11xとＸ11y、およびＹ11xとＹ11yを有し、右下の点１１０と１３０は、それぞれ座標Ｘ1rxとＹ1rx、およびＹ1rxとＹ1ryを有する。
【００５５】
図７に図示されるように距離ｄxを計算する１つの方法は以下の通りであり、
ｄx ＝σx ，  σx ＞０          （４）
＝０，  σx ＜０
ここで、σxは、以下のように定義され、
σx ＝Ｙu1x −（Ｘu1x + ＸL）  （５）
以下を仮定し、
Ｙu1x ＞Ｘu1x                   （６）
ここで、前記に概略されるように、
Ｙu1x は、境界ボックス１２２の左上角のｘ座標である。
Ｘu1x は、境界ボックス１０２の左上角のｘ座標である。
ＸLは、ｘ軸に沿った境界ボックス１０２の幅である。
【００５６】
図８に示される例では、ｄx＝０である。
【００５７】
同様に、図８に図示されるように、距離ｄyを計算する１つの方法は、以下の通りであり、
0003775076.tif 000002
σyは、以下のように定義され、
σy ＝Ｙu1y −（Ｘu1y + ＸH）  （８）
この場合、以下の通りである。
Ｙu1y ＞Ｘu1y   （９）
Ｙu1yは、境界ボックス１２２の左上角のｙ座標である。
Ｘu1yは、境界ボックス１０２の左上角のy座標である。
ＸHは、ｙ軸に沿った境界ボックス１０２の高さである。
【００５８】
実質的な変動がグラフィック・オブジェクトのサイズに存在する場合、通常、グラフィック・オブジェクト・サイズに基づいて空間的な距離ＤSをスケーリング（拡大／縮小）することが必要または望ましい。グラフィック・オブジェクト１００と１２０の間の空間的な距離ＤSをスケーリングする１つの方法とは、以下の通りであり、
ＤS （Ｘ，Ｙ）＝ｄx／ｂx + β（ｄy／ｂy）  （１０）
この場合、以下の通りであり、
ｂx ＝ＸL + ＹL   （１１）および、
ｂx ＝ＸH + ＹH   （１２）
ｄxは、グラフィック・オブジェクト対の間のｘ（即ち水平）距離である。
ｄyは、グラフィック・オブジェクト対の間のｙ（即ち垂直）距離である。
βは、ｄxとｄyの相対的な重要性を指定する定数である。
ＸLは、ｘ軸に沿った境界ボックス１０２の幅である。
ＸHは、ｙ軸に沿った境界ボックス１０２の高さである。
ＹLは、ｘ軸に沿った境界ボックス１２２の幅である。
ＹHは、ｙ軸に沿った境界ボックス１２２の高さである。
【００５９】
代りに、ｂxは、ＸLとＹLの最大となり、ｂyはＸHとＹHの最大となることがある。スケーリングが使用されない場合には、ｂxとｂyは１に設定される。このようにして等式１０は等式３に変形する(reduces)。
【００６０】
図９は、空間距離のスケーリングの１つの例を示す。図９は、変化するサイズのグラフィック・オブジェクトを示す。グラフィック・オブジェクト１４０と１４２は、相対的に同じサイズである。しかし、グラフィック・オブジェクト１４６と１４８は、相対的に同じサイズではあるが、グラフィック・オブジェクト１４０と１４２の相対的なサイズよりかなり大きい。グラフィック・オブジェクトＸ1、Ｙ1、Ｘ1およびＹ2（１４０，１４２，１４６，１４８）のための図６でのような境界ボックスは、説明を容易にするために図９では省略されている。
【００６１】
空間距離ＤSをスケーリングすることによって提供される利点を説明するために、グラフィック・オブジェクト１４０と１４２の場合、スケーリングされていない空間距離ＤSは４であり、グラフィック・オブジェクト１４６と１４８の場合８である。それは、等式３を使用して、以下のように求められる。
【００６２】
図９に図示されるように、グラフィック・オブジェクト１４０と１４２の対、および１４６と１４８の対の場合、垂直距離ｄyは０である。この例の場合、ｘ軸に沿ったグラフィック・オブジェクト１４０と１４２の間の距離であるｄx1は、４であると仮定される。同様に、ｘ軸に沿ったグラフィック・オブジェクト１４６と１４８の間の距離であるｄx2は８であると仮定される。従って、グラフィック・オブジェクト１４０と１４２の間の空間距離ＤSは、以下の通りであり、
0003775076.tif 000003
グラフィック・オブジェクト１４６と１４８の間の空間距離は、以下の通りである。
0003775076.tif 000004
従って、グラフィック・オブジェクト１４６と１４８の間の空間距離は、グラフィック・オブジェクト１４０と１４２の間の空間距離の2倍である。
【００６３】
或いは、スケーリングが空間距離ＤSを求めるために使用される場合は、等式１０が使用される。再び、前記に概略されるように、ｄx1＝４、ｄx2＝８、およびｄy＝０である。さらに、距離ＸL1は２であると仮定され、距離ＹL1は２であると仮定され、距離ＸL2は４であると仮定され、距離ＹL2は４であると仮定され、距離ＸH1は３であると仮定され、距離ＹH1は３であると仮定され、距離ＸH2は６であると仮定され、距離ＹX2は６であると仮定される。これらの空間距離に基づき、グラフィック・オブジェクト１４０と１４２の間の倍率ｂxおよびｂyは、以下の通りである。
ｂx1＝２ +２＝４
ｂy1＝３ +３＝６
【００６４】
従って、グラフィック・オブジェクト１４０と１４２の間のスケーリングされた空間距離ＤS1は、以下の通りである。
0003775076.tif 000005
【００６５】
同様に、グラフィック・オブジェクト１４６と１４８の間の倍率ｂxおよびｂyは、以下の通りである。
ｂx2＝４ +４＝８
ｂy2＝６ +６＝１２
【００６６】
従って、グラフィック・オブジェクト１４６と１４８の間のスケーリングされた空間距離ＤS2は、以下の通りである。
0003775076.tif 000006
【００６７】
従って、スケーリングを使用すると、ＤS1およびＤS2はともに１に等しくなる。即ち、スケーリングは、変化するサイズのグラフィック・オブジェクトの間の空間距離を正規化する。従って、グラフィック・オブジェクト・サイズの変動は存在するが、スケーリングは、動的にグラフィック・オブジェクトをグループ化し、多様なクラスタ・レベルを提供することを可能にする。
【００６８】
図１０は、グラフィック・オブジェクトおよびクラスタ・レベルを選択するための選択ウィンドウ１５０を示す。ユーザは、ディスプレイ２４で１つ（または複数の）グラフィック・オブジェクトをポインティングすることによって、任意の１つの（または複数の）グラフィック・オブジェクトを選択する。応じて、選択ウィンドウ１５０のディスプレイ・ウィンドウ１５６が選択されたグラフィック・オブジェクトの回りに配置される。ポインティングすることは、マウス１５を使用することによって、キーボード１２から入力されるキーボード命令によって、またはディスプレイ２４でペン１６を使用してポインティングことによって達成される。
【００６９】
次に、図１および図２に示されるシステム１０が、クラスタ・ツリーを作成し、選択ウィンドウ１５０でそれらを表示することによって１つの（または複数の）選択されたグラフィック・オブジェクトを示す。さらに、クラスタ・ツリーの構造およびデフォルトの表示されたクラスタ・レベルに応じて、システム１０は、選択ウィンドウ１５０内に追加のグラフィック・オブジェクトを表示することもできる。例えば、図４に図示されるクラスタ・ツリー７０に基づいて、デフォルト・クラスタ・レベルがＬ９であり、グラフィック・オブジェクトＬが選択される場合、グラフィック・オブジェクトＩ−Ｌが選択ボックス１５０に示されるだろう。
【００７０】
選択されたグラフィック・オブジェクトに基づいてグラフィック・オブジェクトのグループ分けを選択するために、ユーザは表示されたクラスタ・レベルを増加または減少する。例えば、図４では、選択されたグラフィック・オブジェクトとしてグラフィック・オブジェクトＬのグループ化を達成するクラスタ・レベルは、各グラフィック・オブジェクトが単一クラスタである初期レベルＬ０、中間レベルＬ７とＬ９、およびすべてのグラフィック・オブジェクトが単一のクラスタでグループ化される最終レベルＬ１２である。
【００７１】
また、図１０で図示される選択ウィンドウ１５０は、選択されたクラスタ・レベルを増加するための「アップ」ボタン１５２、および選択されたクラスタ・レベルを減少するための「ダウン」ボタン１５４を有する。「アップ」ボタン１５２は、それが選択されたクラスタ・レベルを増加することを示すための「＋」ボタン・アイコンを有する。対照的に、「ダウン」ボタンは、それが選択されたクラスタ・レベルを減少することを示す「−」ボタン・アイコンを有する。ユーザは、次に高いクラスタレベルを選択するために「アップ」ボタン１５２の上で「クリックする」。対照的に、「ダウン」ボタン１５４を「クリックする」と、次に低いクラスタ・レベルが選択される。次に高いまたは低いクラスタ・レベルを選択することに応えて、選択ウィンドウ１５０は、新規に選択されたクラスタ・レベルのグラフィック・オブジェクトを含むようにサイズ変更される。
【００７２】
従って、図４に示されるクラスタ・ツリー７０に基づいてグラフィック・オブジェクトＬのグループ分けを選択するためには、選択ウィンドウ１５０が、少なくともグラフィック・オブジェクトＬを囲むだろう。デフォルトのクラスタ・レベルが設定されている場合、あるいは選択されたクラスタがレベルＬ０に対してである場合、グラフィック・オブジェクトＬは、単一グラフィック・オブジェクトとして選択ウィンドウ１５０によって囲まれ、レベルＬ７の場合は、グラフィック・オブジェクトＫとＬがグループとして、レベルＬ９の場合は、グラフィック・オブジェクトＩ−Ｌがグループとして、線を示し、レベルＬ１２の場合はページ上のすべてのグラフィック・オブジェクトＡ−Ｍが１つのクラスタ・グループとして囲まれる。
【００７３】
「アップ」または「ダウン」ボタン１５２と１５４を「クリックする」ことは、キーボード１２によって命令を入力し、マウス５を使用してポインティングし、適切なボタン１５２または１５４の上でクリックすることによるか、あるいは適切なボタン１５２または１５４が表示されるディスプレイ２４の位置にペン１６を押し付けることによって達成される。これらの動作の内の１つを繰り返すことによって、ユーザは、選択されたグラフィック・オブジェクトのグループ分けを変更する多様なクラスタ・レベルを通って循環することができる。このようにして、最終Ｌ１２クラスタが表示された後、再び「アップ」ボタン１５２を選択すると、初期レベルＬ０が選択ウィンドウ１５０上に表示される。クラスタ・レベルを選択することは、「さらに多く」または「さらに少なく」のようにマイクロフォン１４による音声コマンド入力によって実行することもできる。代りに、ユーザは、選択を保持するか、あるいは選択を引き延ばすことによって、クラスタ・レベルを通って循環することもできる。
【００７４】
図１１は、グラフィック・オブジェクト４４の多様なクラスタ・レベルの破線の境界ボックスのある画面４０を示す。多様なクラスタ・レベルを表す図１１の破線の境界ボックスは、前述されるように選択される。
【００７５】
図１１では、境界ボックス１７０は、選択されたグラフィック・オブジェクト、文字「ｏ」のディスプレイ・ウィンドウ１５６を表す。次に高いクラスタ・レベルを選択することに応えて、ディスプレイ・ウィンドウ１５６は、境界ボックス１７２、ワード「Ｄｏ」に対応する。「Ａｌｌｏｗ」での「ｏ」のような別のグラフィック・オブジェクトを選択すると、選択ウィンドウがリセットされる。
【００７６】
典型的には、デフォルト・レベルが設定されるか、前に選択されたレベルにリセットされる。この場合では、例えば、デフォルト・レベルがレベルＬ０であり、「Ａｌｌｏｗ」の「ｏ」に対応すると仮定する。従って、ディスプレイ・ウィンドウ１５６は、グラフィック・オブジェクト「ｏ」だけを表示する。これは、破線の境界ボックス１７４によって示される。「アップ」ボタン１５２を選択することによってクラスタ・レベルを増加すると、レベルＬ１クラスタを表示するために、グラフィック・オブジェクト「ｏ」および「ｗ」を含む、ディスプレイ・ウィンドウ１５６が拡大される。これは、破線の境界ボックス１７６によって示される。
【００７７】
再び、クラスタ・レベルを増加すると、「ｏ」を含む次のクラスタ・レベルを表示するために、ディスプレイ１５６が拡大される。これは、ワード・グループ「Ａｌｌｏｗ」を囲む、破線の境界ボックス１７８によって示される。さらに、クラスタ・レベルを増加すると、破線の境界ボックス１８０によって表される線グループ、破線の境界ボックス１８２によって表される副段落グループ、および破線の境界ボックス１８４によって表される段落グループを示すために、ディスプレイ・ウィンドウ１５６が拡大される。
【００７８】
従って、破線の境界ボックス１７４−１８４は、グラフィック編集のために、ワード、線、関係する線、または段落の位置に対応する多様なクラスタ・レベルを示す。図１１には図示されていないが、境界ボックスは、画面４０内の情報のすべてを含み、グラフィック・オブジェクトのページ全体を含むことができるだろう。
【００７９】
現在ユーザによって選択されている選択されたクラスタ・レベル内のグラフィック・オブジェクトは、前述される境界ボックスよりむしろ、選択されるクラスタ内のグラフィック・オブジェクトの特徴となる外観を改変することによって、示されるのが好ましい。外観特性とは、シャドウ化、背景陰影付け、または着色、色相、飽和、または輝度のようなインクの色の変更、あるいはフォント属性、肉太さ、傾斜、またはそれ以外の外観特性の変更であってもよい。これによって、そうでなければ境界ボックス内に該当するクラスタ化されていないオブジェクトをクラスタ内のオブジェクトから区別することができる。
【００８０】
図１２は、複数のグラフィック・オブジェクトを動的にグループ化するための方法の１つの実施の形態を概略するフローチャートである。
【００８１】
図１２に図示されるように、制御ルーチンはステップＳ１００で開始する。ステップＳ２００では、グラフィック・オブジェクトがディスプレイ２４上に形成される。次に、ステップ３００で、グラフィック・オブジェクトがディスプレイ２４上に表示される。次に、ステップＳ４００では、制御ルーチンが、グラフィック・オブジェクトが選択されたか否かを判断する。選択されていない場合、制御はステップＳ２００にジャンプして戻る。次に、制御ルーチンは、グラフィック・オブジェクトが選択されるまでステップＳ２００−Ｓ４００を通してループする。ステップＳ４００では、いったんグラフィック・オブジェクトが選択されると、制御はステップＳ５００に進む。
【００８２】
ステップＳ５００では、クラスタ・ツリーおよびクラスタ・レベルが、表示されたグラフィック・オブジェクトに対して形成される。次に、ステップＳ６００では、デフォルト・クラスタ・レベルが、選択されたクラスタ・レベルとして選択される。デフォルト・クラスタ・レベルは、言うまでもなく、以前に選択されたレベルのような所定のクラスタ・レベルである場合もあれば、ユーザによって選択されるレベルである場合もある。次に、ステップＳ７００では、選択ウィンドウがディスプレイ２４上に表示され、表示ウィンドウ１５６は選択されたグラフィック・オブジェクト、および選択されたクラスタ・レベルに基づいて、ゼロ個またはそれ以上の追加グラフィック・オブジェクトを囲む。次に、制御はステップＳ８００に続行する。
【００８３】
ステップＳ８００では、制御ルーチンは、選択されたクラスタ・レベルが、前記に概略されるように変更されなければならないか否かを判断する。変更されなければならない場合、制御はステップＳ９００に続行する。それ以外の場合、制御はステップＳ１０００にジャンプする。ステップＳ９００では、制御ルーチンは、選択されたクラスタ・レベルとして新しいクラスタ・レベルを設定する。次に、制御はステップＳ７００にジャンプして戻る。
【００８４】
ステップＳ１０００では、ユーザが選択されたクラスタ・レベルに満足している場合には、そのクラスタ・レベルが設定される。満足していない場合、制御はステップＳ８００にジャンプして戻る。次に、ステップＳ１１００で、制御ルーチンは、クラスタに対して動作を実行する必要があるかどうかを判断する。動作は、表示されたディジタル・ページの異なる部分または異なるディジタル・ページにクラスタを移動することを含むことができる。それ以外の動作は、選択されたクラスタ・レベルのグラフィック・オブジェクトをクラスタ・ツリーから削除すること、または追加のグラフィック・オブジェクトをそのグループに追加することを含むだろう。ステップＳ１１００で、動作が選択されたクラスタ・レベルに対して実行されなければならない場合、制御はステップＳ１２００に続行する。それ以外の場合、制御はＳ１３００に続行する。
【００８５】
ステップＳ１２００では、選択された動作が、選択されたグラフィック・オブジェクトに対して実行される。制御はステップＳ１３００に戻る。ステップＳ１３００では、制御ルーチンが、システム１０または類似物で実行中のプログラムを閉じることによって、グラフィック編集プロセスを停止しなければならないか否かを判断する。停止しなければならない場合には、制御はステップＳ１４００に続行し、停止する。停止しなくてもいい場合、制御はステップＳ２００に戻る。
【００８６】
クラスタ・レベルは、図１０に図示されるインタフェースを使用するよりむしろ、グラフィック・オブジェクトをポインティングし、選択の期間、即ちドエルに基づいてクラスタ・レベルを改変することによって選択されるのが好ましい。すなわち、選択されたグラフィック・オブジェクトは、マウスやその他の選択装置によって制御されるポインタ・アイコンのような、またはペンのようななんらかのポインティング装置を使用して選択される。従って、クラスタ・レベルはドエルによって制御される。
【００８７】
即ち、選択されたグラフィック・オブジェクトの位置で、ペンを画面に対して保持している間に、クラスタ・レベルは、適切なレートで連続して増加する。次に、クラスタ・レベルは、画面からペンを持ち上げることによって選択される。クラスタ・レベルが、ペンを持ち上げられないで一番上のレベルに達すると、選択されたクラスタ・レベルは、選択されたグラフィック・オブジェクトだけのベースクラスタ・レベルに循環して戻るか、あるいは減少される。このケースでは、ベースクラスタ・レベルに達すると、選択されたクラスタ・レベルは再び増加できる。
【００８８】
この同じステップのセットは、グラフィック・オブジェクトがマウスによって制御されるポインタ・アイコンなどのなんらかの他のポインティング装置によってポインティングされた場合に起こる。マウス・ボタンを押すことによってそのグラフィック・オブジェクトを選択することによって、クラスタ・レベルは、マウス・ボタンがリリースされるまで、適切なレートで連続的に変化するだろう。
【００８９】
図１３は、図１２のステップＳ５００を形成するクラスタ・ツリー／クラスタ・レベルの１つの実施の形態を詳細に示すフローチャートである。特に、図１３のフローチャートは、図４に図示されるクラスタ・ツリーを作成する。ステップＳ５００で開始し、制御は、表示されたグラフィック・オブジェクトの対様式の距離が決定される、ステップＳ５０５に続行する。前記に概略されるように、距離Ｄは、空間距離と時間距離のような異なるタイプの距離の組み合わせである。最初、各グラフィック・オブジェクトはそれ自体のクラスタである。クラスタの各対の間の対様式の距離Ｄは、例えば、前述された方法の内の１つによって求められる。次に、ステップＳ５１０では、最小の対様式の距離が突き止められる。次に、ステップＳ５１５では、最小の対様式の距離Ｄを有するクラスタが、次のレベルのクラスタにグループ化される。次に、制御はステップＳ５２０に続行する。
【００９０】
ステップＳ５２０では、制御ルーチンは、次のクラスタ・レベルに残っている表示されたグラフィック・オブジェクトのクラスタがただ１つだけであるか否か判断する。１つだけではない場合、制御は、対様式の距離Ｄが、ステップＳ５１５で形成される新規に形成されたクラスタに基づいて更新される、ステップＳ５０５に戻る。それ以外の場合、制御は、一番上のレベルのクラスタが形成されたように、ステップＳ５２５に続行する。ステップＳ５２５では、制御はステップＳ６００に戻る。
【００９１】
図１４は、図１２のステップＳ５００を形成するクラスタ・ツリー／クラスタ・レベルの第２実施の形態を詳細に示すフローチャートである。特に、図１４のフローチャートは、図５に示されるクラスタ・ツリーを作成する。ステップＳ５００で開始し、制御はステップＳ５５０に続行する。ステップＳ５５０では、制御ルーチンは、どのグラフィック・オブジェクトがステップＳ４００で選択されたのかを判断する。次に、ステップＳ５５５では、距離Ｄが、選択されたグラフィック・オブジェクトから、または選択されたグラフィック・オブジェクトに関して、他の表示されたグラフィック・オブジェクトの各々に関して求められる。ステップＳ５５５では、グラフィック・オブジェクトがクラスタとして処理され、距離が、選択されたグラフィック・オブジェクトを含む現在のクラスタとその他のクラスタとの間で計算されることが理解されなければならない。
【００９２】
次に、ステップＳ５６０では、最小距離が求められる。距離（即ち対様式の距離）は、選択されたグラフィック・オブジェクトを含む現在のクラスタ内の各グラフィック・オブジェクトと、現在のクラスタ内にない各グラフィック・オブジェクトの間で求められ、すべてのこのように求められた距離の最小値が最小距離である。次に、ステップＳ５６５では、選択されたグラフィック・オブジェクトを含むクラスタと、最小距離に対応するクラスタが、次のレベルのために、単一クラスタにマージされる。次に、制御はステップＳ５７０に続行する。
【００９３】
ステップＳ５７０では、制御ルーチンは、表示されたグラフィック・オブジェクトの単一クラスタだけが、ステップＳ５６５でのマージの後に残るか否かを判断する。残らない場合、次のレベルのクラスタが、選択されたグラフィック・オブジェクトを含む現在のレベル・クラスタになる。次に、制御は、ステップＳ５５５に戻る。それ以外の場合、単一のクラスタだけが残る場合、一番上のレベルのクラスタが形成された。この場合では、制御はステップＳ５７５に続行する。ステップ５７５では、制御はステップＳ６００に戻る。
【００９４】
図１および図２に示されるように、複数のグラフィック・オブジェクトを動的にグループ化するためのシステム１０は、プログラミングされた汎用コンピュータで実現されるのが好ましい。しかしながら、システム１０は、特殊な目的のコンピュータ、プログラミングされたマイクロプロセッサやマイクロコントローラ、および周辺集積回路要素、ＡＳＩＣまたはその他の集積回路、離散エレメント回路のような配線による電子回路や論理回路、ＰＬＤ、ＰＬＡ、ＦＰＧＡまたはＰＡＬのようなプログラム可能な論理装置、または類似物でも実現できる。一般的には、有限状態の機械が図１２〜１４に示されるフローチャートを実現することができる任意の装置が、本発明の複数のグラフィック・オブジェクトを動的にグループ化するためのプロセスを実現するために使用できる。
【００９５】
本発明の複数のグラフィック・オブジェクトを動的にグループ化するための方法および装置は、テキスト、特に手書きテキストや音声テキストを捕捉または検索するためのポータブル電子ノートブックのような手書きのテキストを記憶する装置、あるいは特に手書きの図面から図面を作成するシステムに適用することができる。従って、本発明は、前記に概略された特定の実施の形態に関して説明されてきたが、多くの代替策、変更、およびバリエーションが当業者にとって明らかとなることは明白である。従って、前記に述べられた本発明の実施の形態は、制限的ではなく、例証的であることを意図される。多様な変更が、請求項に定義されるように、本発明の精神および適用範囲から逸脱することなく加えられることがある。
【図面の簡単な説明】
【図１】  本発明に従ったシステムのブロック図である。
【図２】  図１のプロセッサのブロック図である。
【図３】  図１のディスプレイ上に表示可能な多様なグラフィック・オブジェクトを説明するサンプル・インタフェースである。
【図４】  本発明の方法の１つの実施の形態に従ったグラフィック・オブジェクトのクラスタ化の結果生じるクラスタ・ツリーの１つの実施の形態を示す。
【図５】  本発明の方法の別の実施の形態に従ったグラフィック・オブジェクトのクラスタ化の結果生じる別の実施の形態である。
【図６】  階層的な集塊性のクラスタ化のための、１対の例示的なグラフィック・オブジェクト、および方向座標系および時間軸に関するその境界ボックスを示す。
【図７】  １対の例示的なグラフィック・オブジェクト、および、本発明の階層的な集塊クラスタ化のための座標軸に関するその境界ボックスを示す。
【図８】  １対の例示的なグラフィック・オブジェクト、および、本発明の階層的な集塊クラスタ化のための座標軸に関するその境界ボックスを示す。
【図９】  空間的な距離をスケーリングするためのさまざまなサイズの多くのグラフィック・オブジェクトを図解する。
【図１０】  グループ化レベルまたはクラスタ化レベルを動的に選択するための選択ウィンドウを示す。
【図１１】  グラフィック・オブジェクト、およびグラフィック・オブジェクトの多様なクラスタ・レベル、即ち動的なグループ化を有する図３のサンプル・インタフェースを示す。
【図１２】  グラフィック・オブジェクトを動的にグループ化し、希望される動的なクラスタ・レベルを選択するための方法を概略するフローチャートである。
【図１３】  図４に図解されるクラスタ・ツリーを形成するためにクラスタ・レベルを形成することを詳細に示すフローチャートである。
【図１４】  図５に図解されるクラスタ・ツリーを形成するために、クラスタ・レベルを形成することを詳細に示すフローチャートである。
【図１】
0003775076.tif 000007
【図２】
0003775076.tif 000008
【図３】
0003775076.tif 000009
【図４】
0003775076.tif 000010
【図５】
0003775076.tif 000011
【図６】
0003775076.tif 000012
【図７】
0003775076.tif 000013
【図８】
0003775076.tif 000014
【図９】
0003775076.tif 000015
【図１０】
0003775076.tif 000016
【図１１】
0003775076.tif 000017
【図１２】
0003775076.tif 000018
【図１３】
0003775076.tif 000019
【図１４】
0003775076.tif 000020