(57)【特許請求の範囲】
【請求項１】
コンピュータ画面上でグラフィカルユーザインターフェース（ＧＵＩ）を提供する、コンピュータによって実施される方法であって、
コンピュータとインタラクションするために前記ＧＵＩをコンピュータ画面内に表示するステップと、
前記ＧＵＩの様々なコマンド領域のうちで選択されるターゲットオブジェクトを予測するステップであって、前記ターゲットオブジェクトが前記コマンド領域の１つに対応する、ステップと、
前記予測されたターゲットオブジェクトのユーザ選択及び獲得を容易にするように、前記予測されたターゲットオブジェクトが獲得される前に、前記予測されたターゲットオブジェクトに対応する前記コマンド領域を拡大し、前記拡大されたコマンド領域の活性化エリアを拡大するステップであって、前記予測されたターゲットオブジェクトを隣接するコマンド領域と重ね合わせるステップと
を具え、
前記ターゲットオブジェクトを予測するステップは、
カーソルの検出された移動に基づいて、第１の位置から第２の位置にベクトルを作成するステップと、
前記ベクトルと交差する前記様々なコマンド領域の１つを決定するステップであって、前記カーソルが前記ターゲットオブジェクトに達することとは無関係に決定するステップと
を含むことを特徴とする方法。
【請求項２】
前記拡大されたコマンド領域を強調表示するステップをさらに含むことを特徴とする請求項１記載のコンピュータによって実施される方法。
【請求項３】
前記第１の位置は、入力デバイスイベントを受け取ったとき計算されることを特徴とする請求項１記載のコンピュータによって実施される方法。
【請求項４】
前記ベクトルは、前記移動が閾値を超えたとき作成されることを特徴とする請求項１記載のコンピュータによって実施される方法。
【請求項５】
前記閾値は、ピクセル単位の距離であることを特徴とする請求項４記載のコンピュータによって実施される方法。
【請求項６】
前記拡大されたコマンド領域に対応する領域に隣接する第２の領域内への前記カーソルの第２の移動を検出するステップと、
前記拡大されたコマンド領域を非拡大サイズに復元するステップと、
前記第２の領域に対応する第２のコマンド領域を拡大するステップと
をさらに具えたことを特徴とする請求項１記載のコンピュータによって実施される方法。
【請求項７】
前記ＧＵＩは、前記コマンド領域を分離するいくつかの区分を含むことを特徴とする請求項１記載のコンピュータによって実施される方法。
【請求項８】
前記拡大されたコマンド領域の活性化エリア内にカーソルが入ったことを検出するステップと
前記拡大されたコマンド領域に対応するコンピュータ演算を実施するステップと
をさらに具えたことを特徴とする請求項１記載のコンピュータによって実施される方法。
【請求項９】
前記コマンド領域の配列が円形、直線、および格子のうちの１つであることを特徴とする請求項１記載のコンピュータによって実施される方法。
【請求項１０】
プログラム命令が記憶されたコンピュータ可読媒体であって、前記プログラム命令は、プロセッサによって実行されたとき、前記プロセッサに、
コンピュータ画面上に表示されたＧＵＩの様々なコマンド領域のうちでターゲットオブジェクトを予測させ、前記ターゲットオブジェクトは前記コマンド領域の１つに対応し、
前記予測されたターゲットオブジェクトが獲得される前に、前記予測されたターゲットオブジェクトに対応する前記コマンド領域を拡大させ、前記拡大されたコマンド領域の活性化エリアを拡大させ、前記予測されたターゲットオブジェクトを隣接するコマンド領域と重ね合わせ、前記予測されたターゲットオブジェクトのユーザ選択及び獲得を容易にし、
カーソルの検出された移動に基づいて、第１の位置から第２の位置にベクトルを作成すること、および
前記ベクトルと交差する前記様々なコマンド領域の１つを決定することであって、前記カーソルがターゲットオブジェクトに達することとは無関係に決定すること
によって、前記プロセッサに前記ターゲットオブジェクトを予測させることを特徴とするコンピュータ可読媒体。
【請求項１１】
請求項１から請求項９のいずれかに記載の方法を実施することを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予測的ターゲットを拡大させるための方法、および、システムに関し、具体的には、予測ターゲットオブジェクトに対応するコマンド領域を拡大させるための方法、および、システムに関し、より詳細には、グラフィカルユーザインターフェース（ＧＵＩ）を用いてユーザ入力を支援するための技術において、ＧＵＩの様々なコマンド領域のうちの予測されたターゲットオブジェクトに対応するコマンド領域が拡大され、予測されたターゲットオブジェクトのユーザ選択を容易にすることが可能な、コンピュータ画面上でグラフィカルユーザインターフェース（ＧＵＩ）を提供することが可能な方法、および、システムに関する。
【背景技術】
【０００２】
（関連出願）
本出願は、米国特許法第１１９条に基づいて、２００９年６月５日に出願された米国特許仮出願第６１／２１７９３４号明細書および２００９年６月９日に出願された第６１／２６８１０１号明細書に対する利益を主張する。上記出願の教示全体を参照により本明細書に組み込む。
【０００３】
一般に、コンピュータシステムのユーザは、マウスなどカーソル制御型（ｃｕｒｓｏｒ−ｃｏｎｔｒｏｌｌｅｄ）ポインティングデバイスを移動し、次いでポインティングデバイスがコンピュータ画面上でポインタを移動することによって、グラフィカルなコンピュータアプリケーションと対話する。ポインタは、メニュー、メニューアイテム、ボタンなど、コンピュータ画面上の様々なグラフィカルユーザインターフェース（ＧＵＩ）ターゲットオブジェクトへ移動される。ポインタがターゲットオブジェクトに重なると、そのターゲットオブジェクトは、あるイベントを開始することができ、そのイベントにコンピュータアプリケーションが応答する。ヒューマンコンピュータインタラクションの分野では、このタイプのインタラクションは、一般にターゲット獲得（ｔａｒｇｅｔ  ａｃｑｕｉｓｉｔｉｏｎ）として知られている。
【０００４】
ユーザがターゲットオブジェクトを獲得するのが困難な場合がある。ユーザがターゲットオブジェクトをいかに容易に獲得することができるかに影響を及ぼすのが、ターゲットオブジェクトのサイズとポインタまでの最初の近さである。ポールフィッツ（Ｐａｕｌ  Ｆｉｔｔｓ）によって１９５４年に初めて公開され、フィッツの法則として知られるヒューマンコンピュータインタラクションの数学的モデルは、ターゲットオブジェクトへ移動するために必要とされる時間を、ターゲットオブジェクトまでの距離およびそのサイズの関数として予測する。フィッツの法則は、同じ距離では、より小さなターゲットオブジェクトが、より大きなターゲットオブジェクトより多くの、獲得するための時間を必要とし、マウスポインタから遠く離れているターゲットオブジェクトが、マウスポインタにより近い同じサイズのターゲットオブジェクトより多くの獲得するための時間を必要とすることを確立している。したがって、より容易なコンピュータヒューマンインタラクションのためにコンピュータインターフェースを設計するとき、ターゲットのサイズと距離がしばしば考慮される。
【０００５】
ターゲットのサイズおよび距離が考察されている（非特許文献１参照）。しかし、マクガフィン（ＭｃＧｕｆｆｉｎ）の手法は、ポインタがターゲットオブジェクトに近くなる（たとえば、ターゲットオブジェクトまでの距離の９０％を完了する）まで待ってからターゲットオブジェクトが伸長されることを推奨する。さらに、マクガフィンは単一のターゲットオブジェクトを使用したが、これは非常に単純な場合をモデル化するものである。複数の潜在的なターゲットを含む実際の応用例では、マクガフィンの手法では不足であり、マクガフィンは、どのオブジェクトを伸長するか判定するために予測的論理をいかに使用することができるかを指摘していない。
【０００６】
獲得するためにターゲットを伸長するための技法が、パトリックマルクスボーディッシュ（Ｐａｔｒｉｃｋ  Ｍａｒｋｕｓ  Ｂａｕｄｉｓｃｈ）によって米国特許に記載されており、この特許は、ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎに譲渡されている（特許文献１参照）。ボーディッシュの要約によれば、ボーディッシュの伸長されたターゲットは、「ボロノイ多角形」として生成される。ボーディッシュの詳細な説明の第１段落は、「ターゲットは、伸長されたターゲットによって覆い隠されることも、わきへ押しやられることもない」と説明している。さらに、ボーディッシュの発明の目的は、「ターゲットを、他のターゲットと衝突していない、使用可能な表示空間内に伸長することである」（詳細な説明、第５段落参照）。
【０００７】
しかし、ある解決策は、ターゲットオブジェクトのサイズを増大するのではなく、ターゲットオブジェクトを囲む活性化エリアのサイズを増大することができ、それにより、ポインタがターゲットオブジェクトの指定された距離内にあるとき、ターゲットオブジェクトを選択することができる。この解決策はさらに、ニューヨーク州アーモンクのＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎに譲渡されている米国特許に記載されている（特許文献２参照）。
【０００８】
Ａｐｐｌｅ  ＣｏｍｐｕｔｅｒのＭＡＣ  ＯＳ  Ｘ  Ｄｏｃｋコントロールは、ターゲットオブジェクトの獲得の問題に対処しないが、Ｄｏｃｋコントロールは、ターゲットオブジェクトが獲得された後、ターゲットオブジェクトとの容易なインタラクションに対処する。Ｄｏｃｋコントロールは、ポインタがターゲットオブジェクトと重なり合った後でターゲットオブジェクトのサイズを増大することによって、それを行う。ユーザがポインタをＤｏｃｋ領域内に移動したとき、隣接するターゲットオブジェクトもまた動的に拡大される。カリフォルニア州クパチーノのＡｐｐｌｅ，Ｉｎｃ．に譲渡された米国特許がＤｏｃｋコントロールについて記載している（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許第７５３００３０号明細書
【特許文献２】米国特許第６６３６２４４号明細書
【特許文献３】米国特許第７４３４１７７号明細書
【非特許文献】
【００１０】
【非特許文献１】Ｍｉｃｈａｅｌ  ＭｃＧｕｆｆｉｍ，  ｅｔ  ａｌ．，  Ａｃｑｕｉｓｉｔｉｏｎ  ｏｆ  Ｅｘｐａｎｄｉｎｇ  Ｔａｒｇｅｔｓ，  ＡＣＭ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｈｕｍａｎ  Ｆａｃｔｏｒｓ  ｉｎ  Ｃｏｍｐｕｔｉｎｇ  Ｓｙｓｔｅｍｓ  （ＣＨＩ）  ２００２，  ｐｐ．  ５７−６４
【発明の概要】
【発明が解決しようとする課題】
【００１１】
現況技術のシステムの欠点は、候補になり得るターゲットオブジェクトが重なり合うことを許さないこと、ターゲットオブジェクトが拡大される前にポインタを（たとえば、カーソル制御Ｉ／Ｏデバイスを介して）所望のターゲットオブジェクトへ移動する必要があること、およびどのユーザインターフェースアイテムが所望のターゲットオブジェクトであるか予測することができないことを含む。他の欠点は、ＧＵＩオブジェクトを拡大することが、他のＧＵＩオブジェクトの配置変更を必要とすることである。これらの欠点および他の欠点に対処するシステムおよび方法は、ターゲットオブジェクトの獲得をより迅速に、より効率的に可能にすることにより、現況技術のコンピュータ化システムを大きく向上させることになる。
【課題を解決するための手段】
【００１２】
本発明の一実施形態は、コンピュータ画面上でグラフィカルユーザインターフェース（ＧＵＩ）を提供する、コンピュータによって実施される方法である。ＧＵＩの様々なコマンド領域のうちでユーザによって選択されるターゲットオブジェクトが予測される。ターゲットオブジェクトは、コマンド領域の１つに対応する。予測されたターゲットオブジェクト（以下、予測ターゲットオブジェクト）に対応するコマンド領域が拡大され、予測ターゲットオブジェクトのユーザ選択を容易にする。
【００１３】
拡大されたコマンド領域の活性化エリアもまた拡大することができる。また、拡大されたコマンド領域を強調表示することができる。
【００１４】
予測論理は、カーソルの第１の位置から第２の位置への移動を決定する、または他の方法で検出すること、および第１の位置に基づいて複数の領域を決定し、それらの領域がそれぞれのコマンド領域に関連付けられていることを含むことができる。検出された移動に基づいて、たとえば第１の位置から第２の位置にベクトルが作成される。それらの領域のうちのどれがベクトルと交差するかについて判定される。この判定は、カーソルがターゲットオブジェクトに達することとは無関係に行うことができる。第１の位置は、ユーザコマンド、たとえばマウスクリックまたは他のカーソルコントロール／入力デバイスイベントに基づくものとすることができる。
【００１５】
ベクトルは、移動が閾値、たとえば距離閾値または速度閾値を超えたとき作成することができる。１５ピクセルの距離閾値を使用することができる。
【００１６】
一実施形態では、カーソルコントロールがクリックされ、クリックされた状態で保持された後だけ、移動を決定することができる。
【００１７】
この方法は、拡大されたコマンド領域に対応する領域に隣接する第２の領域内へのカーソルの第２の移動を検出すること、以前に拡大されたコマンド領域を非拡大サイズに復元すること、および第２の領域に対応する第２のコマンド領域を拡大することをさらに含むことができる。
【００１８】
予測は、実質的にカーソルがターゲットオブジェクトに達する前、たとえば最初のイベントから１５ピクセルの距離だけの距離の後で行うことができる。
【００１９】
予測ターゲットオブジェクトを拡大することにより、予測ターゲットオブジェクトは、隣接するコマンド領域と重なり合う、かつ／または隣接するコマンド領域を覆うことができる。
【００２０】
この方法は、パイメニューなどＧＵＩオブジェクトをコンピュータ画面上で表示することをさらに含むことができる。ＧＵＩオブジェクトは、コマンド領域を指定するいくつかの区分を含むことができる。
【００２１】
この方法は、拡大されたコマンド領域の活性化エリア内にカーソルが入ったことを検出すること、およびターゲットオブジェクトに対応する拡大されたコマンド領域のコンピュータ演算を実施することをさらに含むことができる。この方法は、ＧＵＩオブジェクトをコンピュータ画面から除去することをさらに含むことができる。ＧＵＩオブジェクトは、コンピュータ演算が実施される前、または実施された後で除去することができる。
【００２２】
一実施形態では、ＧＵＩオブジェクトは、マウスボタン（たとえば、右マウスボタン）がクリックされ保持されているときだけ表示されたままとなる。換言すれば、カーソルがコマンド領域の上に移動されその領域をターゲットオブジェクトとして選択する前にマウスボタンが開放された場合には、ＧＵＩオブジェクト（たとえば、パイメニュー）が表示から除去される。
【００２３】
これらのコマンド領域は、円形、直線（たとえば、垂直のアレイまたは水平のアレイ）で、またはそれらの組合せ（たとえば、格子）で配列することができる。
【００２４】
予測ターゲットオブジェクトを拡大することは、予測ターゲットオブジェクトを複数の次元で、たとえば水平ならびに垂直に拡大することができる。
【００２５】
本発明の他の実施形態は、プログラム命令が記憶されたコンピュータ可読媒体であって、そのプログラム命令は、プロセッサによって実行されたとき、プロセッサに、ＧＵＩの様々なコマンド領域のうちでユーザによって選択されるターゲットオブジェクトを予測させ、ターゲットオブジェクトはコマンド領域の１つに対応し、また予測ターゲットオブジェクトに対応するコマンド領域を拡大させ、予測ターゲットオブジェクトのユーザ選択を容易にする。
【００２６】
前述は、様々な図を通して同様の符号が同じ部分を指す添付の図面に示されている、以下の本発明の例示的な実施形態のより具体的な説明から明らかになろう。図面は必ずしも原寸に比例しておらず、本発明の実施形態を例示することに重点が置かれている。
【発明の効果】
【００２７】
本発明によれば、グラフィカルユーザインターフェース（ＧＵＩ）を用いてユーザ入力を支援するための技法において、ＧＵＩの様々なコマンド領域のうちのターゲットオブジェクトが、たとえば実質的にカーソルがターゲットオブジェクトに達する前に予測され、予測されたターゲットオブジェクトに対応するコマンド領域が拡大され、予測されたターゲットオブジェクトのユーザ選択を容易にする。予測されたターゲットオブジェクトを拡大することにより、ターゲットオブジェクトは、近くのコマンド領域と重なり合う、かつ／または近くのコマンド領域を覆うことができ、第１のターゲットオブジェクトが予測された後で、更新されたカーソル移動に基づいて、予測を変更することができる。予測的ターゲット拡大を使用することにより、ユーザには、ターゲットについて早期の視覚的フィードバックが与えられ、また獲得するためのより大きなターゲットが与えられ、これにより、ユーザはより速く、所望の結果を得ることができる。
【図面の簡単な説明】
【００２８】
【図１】コンピュータによって生成されたモデル、および本発明の一実施形態における、ウィンドウ内に表示されたユーザインターフェースのフィーチャマネージャ部分の図である。
【図２Ａ】本発明の一実施形態における、異なるコマンド領域が強調表示された状態のユーザインターフェースオブジェクトの図である。
【図２Ｂ】本発明の一実施形態における、異なるコマンド領域が強調表示された状態のユーザインターフェースオブジェクトの図である。
【図３】本発明の一実施形態における、ユーザインターフェースオブジェクトを、それぞれのコマンド領域に対応する等しいサイズのエリアに区分したところの図である。
【図４Ａ】本発明の一実施形態における、異なるコマンド領域が拡大された状態のユーザインターフェースオブジェクトの図である。
【図４Ｂ】本発明の一実施形態における、異なるコマンド領域が拡大された状態のユーザインターフェースオブジェクトの図である。
【図５】本発明の一実施形態のプロセスを示す流れ図である。
【図６】本発明の一実施形態における、ウィンドウ内に直線で配列されたコマンド領域の図である。
【図７】本発明の実施形態が実装されるコンピュータシステムの概略図である。
【発明を実施するための形態】
【００２９】
以下は、本発明の例示的な実施形態の説明である。
【００３０】
本発明は、どのグラフィカルユーザインターフェース（ＧＵＩ）オブジェクト（たとえば、ボタン、アイコン）が、ユーザが獲得しようとするオブジェクトか予測する。ユーザは、非限定的な例として、選択を示すために、またはコマンドを開始するためにＧＵＩオブジェクトを獲得したいと望む可能性がある。予測は、マウス、タッチパッド、ポインティングスティック、または他のカーソル制御入力／出力（Ｉ／Ｏ）デバイスなど、Ｉ／Ｏデバイスによって制御されるカーソル（本明細書では、ポインタとも称する）の動きの方向に基づくものである。本発明の一実施形態は、獲得の前に予測ターゲットオブジェクトを拡大し、予測ターゲットオブジェクトが他の隣接する近くのＧＵＩオブジェクトと重なり合い、覆うことを可能にする。ターゲットオブジェクトを予測し拡大することによって、ユーザは、より容易にターゲットオブジェクトを獲得し、コンピュータソフトウェアアプリケーションに対してイベントを開始することができる。
【００３１】
次に図１を参照すると、コンピュータモニタ上に表示されたウィンドウ１０２が示されている。ウィンドウ１０２は、コンピュータシステムによって実行される例示的なソフトウェアによって生成され、コンピュータシステムの一例が後で図７を参照して示される。ウィンドウ１０２は、ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎから入手可能なものなど、従来の市販のソフトウェアプログラミングツールを使用して当業者がプログラムすることができる従来の、コンピュータによって生成されたウィンドウである。
【００３２】
コンピュータによって生成された３Ｄモデル１０４が、ウィンドウ１０２のモデリング部内に表示される。３Ｄモデル１０４のサーフェスを表示することができる。すなわち、３Ｄモデル１０４は、実線および破線を使用し、３Ｄモデル１０４のそれぞれ可視の辺および隠れた辺を示して、表示することができる。
【００３３】
典型的には、ユーザがマウスまたは他のカーソル制御型Ｉ／Ｏデバイスを操作し、ソフトウェアアプリケーション内でコマンドを開始するＧＵＩアイコン、ボタン、および他のオブジェクトを選択する。ウィンドウ１０２のモデリング部１０６内の、マウスに対応する位置は、ポインタ１０８によって示すことができ、ポインタ１０８は、ソフトウェアアプリケーション内でコマンドを開始するために使用されるパイメニュー１１０の中央に示されている。
【００３４】
例示的な実施形態では、本発明は、パイメニュー内のＧＵＩターゲットオブジェクトを予測する。パイメニューは、Ｉ／Ｏデバイスによって制御されるポインタを囲む円形メニューである。パイメニューは、輪として設計することも、ドーナツ型とすることもでき、ポインタを囲む円形配列でいくつかのコマンドを有する。
【００３５】
図２Ａを参照すると、円形パターンで等間隔に配置された８つのコマンドアイコンを有するパイメニュー２００が示されている。この例示的な実施形態では、コマンドアイコン領域間の区分が、本明細書で述べられているようにアイコン領域のうちの１つが強調表示されるまで明瞭に仕切られておらず、他の実施形態では、パイメニューが表示されたときはいつでも、コマンドアイコン間の区分がユーザに対して明瞭に示され、それによりコマンドアイコン領域を明示的に示す。視覚的に描画されたコマンド、および周囲の領域（たとえば、図２Ａに示されている強調表示されたエリア）を、本明細書では、コマンド領域またはコマンドアイコン領域と称する。平面図コマンドアイコン領域２０２は、ポインタ２０４の真上にあり、ポインタ２０４の動きの方向が、平面図コマンド領域２０２に向かっていることを示すように強調表示され（または他の方法で視覚的に識別され）、平面図コマンド領域２０２は、本明細書でさらに述べられる論理に従って最終的に獲得されることになるターゲットオブジェクトであると予測される。
【００３６】
一実施形態では、平面図コマンド領域２０２を強調表示することにより、平面図コマンド領域２０２が予測ターゲットオブジェクトであることが示される。図２Ａに示されている実施形態では、強調表示されたエリア全体が予測ターゲットオブジェクトであると言われ、他の実施形態では、コマンドをグラフィックで描画したもの（本明細書ではコマンドアイコンと称する）だけがターゲットオブジェクトとみなされ、周囲の領域はみなされない。例示のために、モデルの上面図を表示するためのコマンドを、陰影のある上面を有する立方体としてグラフィックで描画することができ、この立方体を描画したものをターゲットオブジェクトとみなし、この立方体を囲むどの空間もターゲットオブジェクトとみなさないことができる。
【００３７】
種々の実施形態では、ポインタ２０４が強調表示されたコマンド領域２０２に単純に入ったとき、またはポインタ２０４が強調表示されたコマンド領域に入った後でマウスボタン押下イベントが発生したとき、関連付けられたコマンド（たとえば、モデルの上面図を示す）を開始することができる。ポインタ２０４がターゲット領域に単純に入ったときコマンドを開始する実施形態は、一般に、別の入力イベント（たとえば、マウスボタン押下イベント）を必要とする実施形態より迅速にコマンドを開始する。
【００３８】
一実施形態では、パイメニュー２００は、ユーザによって（たとえば、右マウスボタンを押すことにより）指示されたときだけ表示され、ポインタ２０４がコマンド領域のうちの１つの上（またはそのコマンド領域を包含する活性化エリア内）に移動されたとき、ターゲットオブジェクトに達した（またはターゲットオブジェクトが獲得された）とみなされる。次いで、ターゲットオブジェクトに関連付けられたコンピュータ演算を直ちに実施することも、カーソル制御型Ｉ／Ｏデバイス上のボタンが押されたときのユーザ指示があったとき実施することもできる。コンピュータ演算が実施された後で、パイメニュー２００を表示から除去することができる。
【００３９】
他の実施形態では、パイメニュー２００は、ユーザ指示なしに自動的に表示することができる。たとえば、ポインタ２０４が１つまたは複数のコマンド領域からある距離の中に入った後で、ターゲット予測論理を自動的に開始することができる。
【００４０】
図２Ｂは、等角投影図コマンド領域２０６が強調表示された状態のパイメニュー２００を示す。図２Ｂでは、ユーザがポインタ２０４の動きの方向を変更し、図２Ａで強調表示されている平面図コマンド領域２０２に対応するコマンド領域から離れ、等角投影図コマンド領域２０６に対応するパイメニュー２００の領域に向かったので、等角投影図コマンド領域２０６が強調表示されている可能性がある。このようにして、本発明の一実施形態は、ポインタの動きの方向もしくは位置、または両方により、等角投影図コマンド領域２０６が所期のターゲットオブジェクトであると予測する。
【００４１】
本発明は、ポインタの移動の方向を監視することによってユーザの所期のターゲットオブジェクトを予測する。ターゲットオブジェクトが予測された後で、ポインタ２０４を使用してターゲットオブジェクトをより容易に獲得するようにターゲットオブジェクトが拡大される。この文脈における拡大されたとは、他のコマンド領域に対して増大されたことを意味し、それにより、拡大された領域と他の領域との視覚的な区別を生み出す（それにより、拡大された領域のユーザ選択がより容易になる）。予測ターゲットオブジェクトはまた、他のコマンド領域と重なり合い、隣接するコマンド領域を部分的に覆うことができる。
【００４２】
図２Ａおよび図２Ｂを再び参照すると、ターゲットオブジェクトでないコマンドアイコン領域は、全体的なサイズを示す確認可能な境界を有しておらず、一方、ターゲットオブジェクトであるコマンド領域（すなわち、それぞれ領域２０２および領域２０６）は、確認可能な境界を有する。平面図コマンド領域２０２および等角投影図コマンド領域２０６が重なり合った場合、平面図ターゲットオブジェクト２０２の右側が等角投影図ターゲットオブジェクト２０６の左側と重なり合うことになる。コマンド領域のサイズは、そのコマンド領域、または隣接するコマンド領域がターゲットオブジェクトであるかどうかに応じて変わる。
【００４３】
図３を参照すると、８つのコマンドアイコンを有するパイメニュー３００の一例が示されている。最初に、各コマンドアイコン領域は、円形のパイメニュー３００の４５°円弧に沿って延在する。（たとえば、平面図コマンド領域３０２を参照されたい。）ターゲットオブジェクトが予測された後で、対応するコマンドアイコン領域が拡大され、そのコマンドアイコンに関連付けられたコンピュータ命令を開始するための活性化エリアになる。
【００４４】
図４Ａおよび図４Ｂに示されているように、破線は、メニュー３００内の等間隔で配置されたコマンド領域に関連付けられた４５°扇形（すなわち、くさび形エリア）を示し、実線は、本発明の一実施形態におけるターゲットオブジェクトに関連付けられた、拡大されたくさび形領域を示す。そのような実施形態では、予測ターゲットオブジェクトが、パイメニューの６６°スライスに拡大される。８つのアイコンのパイメニューの他の実施形態では、予測ターゲット領域を４５°より大きい他の値に拡大することができ、ユーザによって指定される値であってもよい。２つの隣接するコマンドアイコン領域は、（（４５°−（６６°−４５°）／２）＝３４．５°）という計算を使用して、事実上、サイズが縮小される。隣接するコマンド領域と重なり合う６６°ターゲットオブジェクト領域４１０により、ユーザは、（図４Ａおよび図４Ｂに強調表示されて示されている）ターゲットオブジェクトを獲得するために、予測ターゲット領域４１０内に、より容易に留まることができる。ターゲットオブジェクトは、ポインタが６６°の拡大されたくさび形領域４１０から外へ移動するまで、ターゲットオブジェクトのままである。ポインタが１つの６６°くさび形領域を離れた後で、別のくさび形領域に入った後で、その別のくさび形領域が予測ターゲットオブジェクト領域になり、６６°に拡大され、一方、各隣接するくさび形領域は、３４．５°扇形になる。
【００４５】
８つのコマンドのパイメニュー以外を有する実施形態では、等しいスライスを得るために、スライスのサイズが３６０°／コマンドの数という計算に従って変わり、拡大された予測ターゲット領域のサイズは、等しいスライスサイズに基づく。さらに、諸実施形態は、絶対値または相対値として、予測ターゲットオブジェクトのユーザによって指定されたサイズを可能にすることができる。
【００４６】
いくつかの実施形態では、拡大された領域を補償するために、１つまたは複数の隣接するパイ領域のサイズが縮小され、他の実施形態では、拡大された領域以外のすべてのサイズが縮小される。
【００４７】
一実施形態では、本発明の予測論理は、最初のイベント、たとえば右マウスボタン押下イベントについてカーソル制御型デバイスを監視する。イベントが発生したときのカーソルの位置が初期位置として使用される。ユーザインターフェースオブジェクト（たとえば、パイメニュー３００）が、マウスボタンが押された状態で保持されている限り表示される。予測論理は、カーソルの動きを初期位置から追跡し、距離、速度、またはポインタの動きの他の属性で測定される何らかの指定された閾値だけカーソルが移動した後で、初期位置とポインタの現在位置との間でベクトルが形成される。一実施形態では、１５ピクセルの距離閾値が、小さな不慮のポインタの移動により予測が引き起こされないことを確実にする。それぞれのコマンドアイコンに対応するコマンド領域が、前述のように決定される。どのコマンド領域がターゲットオブジェクトであるかについて、どのコマンド領域がベクトルと交差するかに基づいて予測される。この予測は、典型的には、ポインタが実際にターゲット領域に達する前に行われる。というのは、開始位置からわずか数（たとえば、１５）ピクセルの移動後に予測を行うことができるからである。その意味で、予測は、カーソル（ポインタ）がターゲットオブジェクトまたはターゲット領域に達することとは無関係に行われる。
【００４８】
いくつかの実施形態では、最初のポインタ位置の決定をトリガする最初のイベントは、必ずしもマウスボタン押下イベントでなく、ポインタ位置に基づく何らかの他のイベントである。たとえば、コマンド領域のうちの１つまでの近さなど空間閾値によって画定されたエリア内に入ることについて、カーソルを監視することができる。
【００４９】
一実施形態では、予測ターゲットオブジェクトは、対応する活性化エリアと共に拡大される。カーソルが（述べられているような同様のベクトル計算を介して検出された）隣接するコマンド領域内に移動した場合、拡大された予測ターゲットオブジェクトは、非拡大サイズに復元され、新たに予測されたターゲットオブジェクトが拡大される。
【００５０】
本発明の実施形態は、重なり合うターゲットオブジェクトを使用し、より大きな視覚的ターゲット、ならびにマウスの挙動がわずかにターゲットオブジェクトのどちら側に外れてもより大きなゆとりをユーザに与え、それによりターゲット獲得の助けとなる。というのは、ユーザはターゲットをより迅速に認識することができ、正確にマウスを挙動させることを要求されないからである。予測ターゲットオブジェクトは、強調表示されて、ターゲットオブジェクトを認識する際にさらにユーザの助けとなる。
【００５１】
図５を参照すると、プロセス５００がＧＵＩターゲットオブジェクトを予測する。プロセス５００は、非限定的な例として、コンピューティングシステムがマウスボタン押下イベントを受け取った後、またはポインタが、コマンドアイコンの直線配列などＧＵＩオブジェクトの指定された範囲内にあることを検出した後で、実行を開始することができる。プロセス５００の第１のステップでは、所定の閾値（たとえば、１５ピクセルの距離）を超えるポインタの動きが検出される（ステップ５１０）。次いで、最初のポインタ位置が記憶される（ステップ５２０）。プロセス５００は、最初のポインタ位置から現在のポインタ位置にベクトルを作成することによって続行する（ステップ５３０）。次のステップでは、プロセス５００は、どのコマンド領域がベクトルと交差するか判定する（ステップ５４０）。この判定は、当業者によって知られている干渉検出またはベクトル解析計算を使用して行うことができる。次いで、ベクトルの方向のコマンド領域が拡大され（ステップ５５０）、隣のコマンド領域と重なり合う。ポインタが、隣接するコマンドくさび形に入ることについて（ステップ５７０）監視され（ステップ５６０）、その場合には、新しい最初のポインタ位置が記憶され、また拡大されたコマンド領域によって示されたターゲットオブジェクトの獲得について（ステップ５８０）監視され、その場合には、対応する（または関連付けられた）コマンドが開始され（ステップ５９０）、プロセス５００が終了する。
【００５２】
本明細書で述べられている予測的ターゲットの実施形態を使用することの利点は、ターゲットについて早期の視覚的フィードバックをユーザにもたらすこと、および獲得するためのより大きなターゲットを提供することを含み、それにより、ユーザがＧＵＩとより迅速に、あまり正確でなくてもインタラクションし（たとえば、本発明は、徘徊するポインタを可能にする）、しかし依然として所望の結果を得ることを可能にする。
【００５３】
本発明の他の実施形態は、円形に配列されたコマンド領域以外のターゲットオブジェクトを予測し拡大する。たとえば、図６は、ツールバー６０６として構成されたＧＵＩコントロールの直線配列を示す。本発明の実施形態は、ツールバー６０６内のコマンド領域のうちのどれがターゲットオブジェクトであるか予測し、対応するコマンド領域を拡大することができる。ポインタがツールバー６０６の指定された距離内にあるときのポインタの位置として計算することができる最初のポインタ位置から、各辺がツールバー６０６内のコマンド領域の範囲に延長され、それによりくさび形エリアが形成される。このようにして、図３に示されているくさび形エリアと同様のくさび形エリアが形成される。同様のくさび形エリアは、各コマンド領域について、扇形構成で形成される。
【００５４】
アイコンの円形配列の場合とは異なり、直線で配列されたアイコンに対応するくさび形エリアは、サイズが等しくない。しかし、予測に関する同様の原理が使用される。閾値（たとえば、最初のカーソル位置からの距離、またはポインタ速度）に達した後で、ターゲットオブジェクトが、最初のポインタ位置と現在のポインタ位置との間で計算されたベクトルがコマンド領域の１つと交差することに基づいて予測される。予測ターゲットオブジェクトであるコマンド領域は、拡大され（かついくつかの実施形態では強調表示され）、近くのコマンド領域と重なり合い、覆うことができる。コマンド領域は、複数の次元で（たとえば垂直ならびに水平に）、または単一の次元で拡大することができる。
【００５５】
いくつかの実施形態では、ターゲットオブジェクトは、ベクトルがコマンド領域と交差することではなく、２つのベクトルの交差に基づいて予測される。たとえば、一実施形態では、最初のポインタ位置および現在のポインタ位置に基づいて、第１のベクトルが決定される。非限定的な例として、水平ツールバーの場合には、第２のベクトルが、最も左側のコマンド領域（たとえば、ツールバーボタン）の左隅（または辺）および最も右側のコマンド領域の右隅（または辺）によって画定される。すなわち、第２のベクトルは、ツールバーにわたって水平に延びる。第２のベクトルは、ツールバーボタンに１つずつ区間に分解され、各区間は、対応するツールバーボタンが幅広であるほど長いものになる。いくつかの実施形態では、拡大されたボタンが、拡大されていない区間より長いベクトル区間を有し、隣接するツールバーボタン（たとえば、拡大されたボタンの各側のＧＵＩボタン）は、それらの隣接するボタンが、拡大されたボタンによって部分的に覆われるので、他の拡大されていないツールバーボタンより小さい空間を有する。２つのベクトルは、特定の位置で交差する。コマンド領域は、第２のベクトルのどの区間を第１のベクトルが横切るかに基づいて、ターゲットオブジェクトとして予測される。
【００５６】
本発明の代替の実施形態は、本明細書で前述したものほどしばしばポインタ位置を再計算することを必要としない。直線で配列されたコマンド領域と共に使用することができるこの代替の実施形態では、非限定的な例として、最初のポインタ位置がマウスボタン押下イベントに基づいて決定されない。そうではなく、ポインタは、画面を横断して移動されたとき監視される。また、この実施形態では、ポインタがコマンド領域の上で位置決めされた後で、対応するコマンドが直ちに開始されない。そうではなく、コマンドは、マウスボタン押下イベントが検出されたときだけ開始される。さらに、ポインタが拡大されたコマンド領域の上で位置決めされた後で、ポインタ位置が変化したとき、ベクトルが必ずしも絶えず更新されることはなく、ポインタがツールバーに沿って移動したとき、ポインタの現在位置だけがチェックされ、その現在位置を使用し、ポインタが依然として特定の拡大されたコマンド領域の上にあるか、それとも新しい拡大されたコマンド領域になる別のコマンド領域の上に移動されたか判定する。コマンドは、ポインタが拡大されたコマンド領域内にある間にマウスボタン押下イベントが検出されたときだけ開始される。したがって、この実施形態では、ひとたびカーソルがツールバーエリア全体の中で位置決めされたなら、ベクトル計算が必要とされない。
【００５７】
直線配列（たとえば、ツールバー）のいくつかのコマンド領域のどれがターゲットオブジェクトであるか予測することに加えて、本発明の実施形態は、ペインスプリッタ／サイズ変更コントロールおよびダイアログボックスコマンドボタンなど、孤立したコントロールを予測しサイズ変更する。一般に、本発明の実施形態は、Ｉ／Ｏデバイスによって制御されるポインタの動きの方向に基づいて獲得ターゲットとして予測することができる任意のＧＵＩコントロールに適用される。さらに、ユーザがプロパティを設定し、本発明によってターゲットが拡大されることになる量を指定することができる。
【００５８】
一実施形態では、コマンドおよび関連の領域、ならびに拡大されたターゲット領域に関する情報を記憶するために、コンピュータメモリ内にあるデータ構造が使用される。データ構造は、どの領域がターゲット領域であるかを追跡する。
【００５９】
図７を参照すると、コンピュータシステム７００が示されており、ＣＰＵ７０２、コンピュータモニタ７０４、キーボード入力デバイス７０６、マウス入力デバイス７０８、記憶デバイス７１０を含む。ＣＰＵ７０２、コンピュータモニタ７０４、キーボード７０６、マウス７０８、記憶デバイス７１０は、共通して使用可能なコンピュータハードウェアデバイスを含むことができる。たとえば、ＣＰＵ７０２は、Ｐｅｎｔｉｕｍ（登録商標）ベースのプロセッサを含むことができる。マウス７０８は、ユーザが押し、ＣＰＵ７０２によって実行されるソフトウェアプログラムに対してコマンドを発行することができる従来の左ボタンおよび右ボタンを有することができる。代替として、またはマウス７０８に加えて、コンピュータ化システム７００は、トラックボール、タッチパッド、またはキーボード７０６に内蔵されたポインティングデバイスおよびボタンなど、ポインティングデバイスを含むことができる。当業者なら、本明細書でマウスデバイスを参照して述べられている同じ結果を、別の使用可能なポインティングデバイスを使用して得ることができることを理解している。以下の考察から明らかになるように、他の適切なコンピュータハードウェアプラットフォームも好適である。そのようなコンピュータハードウェアプラットフォームは、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）２０００、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ、Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）  ７、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）、またはＭａｃ  ＯＳ（登録商標）オペレーティングシステムを動作させることが可能であることが好ましい。
【００６０】
追加のコンピュータ処理ユニットおよびハードウェアデバイス（たとえば、グラフィックアクセラレータプロセッサ、高速プロトタイピングデバイス、ビデオデバイス、およびプリンタデバイス）がコンピュータ化システム７００に含まれてもよい。さらに、コンピュータ化システム７００は、ネットワークハードウェアおよびソフトウェアを含むことができ、それによりハードウェアプラットフォーム７１２との通信を可能にし、コンピュータコンポーネントの中でもとりわけＣＰＵおよび記憶システムを含む多数のコンピュータシステム間での通信を容易にする。
【００６１】
コンピュータソフトウェアは、記憶デバイス７１０上に記憶され、ＣＰＵ７０２によってロードし実行することができる。コンピュータソフトウェアは、本明細書で述べられている発明の諸態様を実装する。ＣＰＵ７０２は、コンピュータモニタ７０４を使用し、述べられているＧＵＩおよびその他の態様を表示する。キーボード７０６およびマウス７０８を使用して、ユーザは、ＧＵＩとインタラクションすることができる。ＣＰＵ７０２は、キーボード７０６およびマウス７０８から入力を受け入れ、処理する。ＣＰＵ７０２は、入力を処理し、コンピュータソフトウェアによって指令されたようにコンピュータモニタ７０４上に表示されるものに対して、対応する適切な変更を加える。一実施形態では、コンピュータソフトウェアは、３Ｄモデルを構築するために使用することができるモデリングシステムに基づくものである。
【００６２】
本発明は、デジタル電子回路内に、またはコンピュータハードウェア、ファームウェア、ソフトウェア内に、あるいはそれらの組合せで実装することができる。本発明の装置は、プログラム可能なプロセッサによって実行するために機械可読記憶デバイスに有形に含まれるコンピュータプログラム製品内に実装されてもよく、本発明の方法ステップは、入力データに働きかけ出力を生成することによって本発明の機能を実施するように命令のプログラムを実行する、プログラム可能なプロセッサによって実施されてもよい。本発明は、データ記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受け取るように、かつそれらにデータおよび命令を送信するように結合された少なくとも１つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能である１つまたは複数のコンピュータプログラム内に実装することができることが有利である。各コンピュータプログラムは、上位の手続き型もしくはオブジェクト指向型プログラミング言語、または望むならアセンブリ言語もしくは機械語で実装することができ、いずれの場合も、言語は、コンパイル言語またはインタープリタ言語とすることができる。好適なプロセッサは、非限定的な例として、汎用マイクロプロセッサおよび専用マイクロプロセッサを共に含む。一般に、プロセッサは、読取り専用メモリおよび／またはランダムアクセスメモリから命令およびデータを受け取る。コンピュータプログラム命令およびデータを有形に含むのに好適な記憶デバイスは、例としてＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスなど半導体メモリデバイス、内蔵ハードディスクおよび取外し式ディスクなど磁気ディスク、磁気光学ディスク、ならびにＣＤ−ＲＯＭディスクを含めて、あらゆる形態の不揮発性メモリを含む。前述のいずれかを、特注設計のＡＳＩＣ（特定用途向け集積回路）によって補い、またはその中に組み込むことができる。
【００６３】
本発明の利点は、ポインタがターゲットオブジェクトに達する前に所望のターゲットオブジェクトを予測すること、およびポインタがターゲットオブジェクトに達する前にターゲットオブジェクトを拡大することを含む。本明細書で述べられているようにＧＵＩターゲットを予測することは、ユーザがターゲットオブジェクトを迅速に選択することを可能にすることなど、時間節約の利点を実現する。予測的ターゲット拡大は、より容易かつより速いターゲット獲得を可能にし、それによりユーザは、本発明を使用するコンピュータシステム上でより効率的に作業することができる。さらに、より効率的に作業することは、ユーザ体験を向上させる可能性が高い。さらに、ターゲットオブジェクトを隣接するオブジェクトと重ね合わせることは、正確にマウスを挙動させることを要求されないという利点をユーザにもたらす。予測ターゲットオブジェクトは、強調表示されて、ターゲットオブジェクトを認識する際にさらにユーザの助けとなる。
【００６４】
本発明について、その例示的な実施形態を参照して具体的に示し、かつ述べたが、添付の特許請求の範囲によって包含される本発明の範囲から逸脱することなしに、本発明に形態および詳細の様々な変更を加えることができることを、当業者なら理解するであろう。たとえば、当業者なら、タッチスクリーンインターフェース、キーボードによって活性化されるインターフェース、マウスインターフェース、および他のカーソル制御型インターフェースを含めて、様々なタイプのユーザインターフェースに対して本明細書で述べられているシステムおよび方法をいかに実装すべきか気付くであろう。さらに、実装により、動作が実施される順序が変更されてもよい。さらに、実装の必要に応じて、本明細書で述べられている特定の動作を、組み合わせられた動作として実装することも、省略することも、追加することも、他の方法で再構成することもできる。
【００６５】
さらに、直線配列（水平、垂直、または斜め）、円形もしくは楕円形配列、またはそれらの組合せ（たとえば、格子配列）を含めて、アイコン（ＧＵＩオブジェクト）の様々な配列と共に実施形態を使用することができる。複数の領域が、予測するために使用されるベクトルと交差することができる（たとえば、格子レイアウト、３次元ＧＵＩ配列、または複数の領域が互いに重なり合う可能性があるときのコマンド領域の単一の列の場合）。複数の領域がポインタの方向ベクトルと交差するとき、交差する領域のどれがターゲットオブジェクトに対応する可能性が最も高いかについて判定することができる。いくつかの実施形態（たとえば、格子レイアウト、３次元ＧＵＩレイアウト、または同心円のレイアウト）では、複数のコマンド領域を、ターゲットオブジェクトと決定し、拡大および／または強調表示することができる（たとえば、予測のために使用されるベクトルによって画定される同様の方向に沿った近くのアイコンと遠くのアイコン）。また、その場合には、複数の領域および活性化エリアを拡大することができる。
【００６６】
また、上記の説明はポインタを参照している。様々な実施形態において、他のカーソル、ロケータ、インジケータなども好適であり、同様に処理される。
【図１】
0005843762.tif 000002
【図２Ａ】
0005843762.tif 000003
【図２Ｂ】
0005843762.tif 000004
【図３】
0005843762.tif 000005
【図４Ａ】
0005843762.tif 000006
【図４Ｂ】
0005843762.tif 000007
【図５】
0005843762.tif 000008
【図６】
0005843762.tif 000009
【図７】
0005843762.tif 000010