(57)【要約】ユーザー・インターフェースにおいて選択の対象とすることが難しいエレメントの選択を手助けするようにユーザーのカーソルの動きを補助する技術を説明する。１より多くのエレメントと重畳できるエリア・カーソルを提供する。その場合、重なる各エレメントに対して、カーソルとの重畳部分とエレメントの全面積とに基づく計算結果（例えば重畳割合値）を計算し、最大の重畳割合値を選択する。小さいエレメントは、分母において小さい面積を有するので、計算（例えば、重なった面積を全エレメント面積で除算）は、小さいエレメントを有利に扱う。また、エレメントに重ねることの手助けとなるように、及び／又は１つ以上の基準に基づいて、カーソルの大きさを変更することを説明する。更に、エレメントの実際の大きさに加えて、またはそれに代えて、重み付けに基づいてエレメントの大きさを決定することを説明する。重み付けは１つ以上の基準に基づくことができる。
2014533414.tif 000002
【特許請求の範囲】
【請求項１】
計算環境において、少なくとも１つのプロセッサーにおいて少なくとも部分的に行われる方法であって、
カーソルを、ユーザー・インターフェースのエレメントの中で、ユーザーにより制御されるカーソル移動に基づいて配置するステップと、
前記カーソルが複数のエレメントと重なるかを判定するステップと、
を含み、重なる場合に、
それぞれの重なったエレメントに関して計算結果を計算するステップであって、前記計算結果は、該エレメントと前記カーソルとの重畳部分に対応する第１サイズと、該エレメントの大きさに対応する第２サイズとに基づくものであり、複数の重なった前記エレメントに対しての複数の計算結果が提供される、ステップと、
重なった複数の前記エレメントのうちの何れを選択の対象とするかに関してのユーザー選択意図を判定するために、前記複数の計算結果を用いるステップと
を含む、
方法。
【請求項２】
請求項１に記載の方法であって、各エレメントは二次元エリアに対応し、前記カーソルは二次元エリア・カーソルであり、各エレメントの前記計算結果は、前記エリア・カーソルと重なる該エレメントの面積を該エレメントの全面積で除算したものからなる重畳割合値に対応する、方法。
【請求項３】
請求項１に記載の方法であって、各エレメントの前記計算結果は、前記エリア・カーソルと重なる該エレメントの面積または体積を該エレメントの全面積または全体積で除算したものからなる重畳割合値に対応し、
重なった複数の前記エレメントのうちの何れを選択の対象とするかに関してのユーザー選択意図を判定するために、前記複数の計算結果を用いる前記ステップは、最大の前記重畳割合値に対応するエレメントを選択するステップを含む、
方法。
【請求項４】
請求項１に記載の方法であって、前記エレメントの大きさは、重み付けされた大きさを含み、
前記重み付けされた大きさを、少なくとも１つの重み付け基準に基づいて、または前記エレメントの実際の大きさおよび少なくとも１つの重み付け基準に基づいて、計算するステップ
を更に含む
方法。
【請求項５】
請求項１に記載の方法であって、前記カーソルの大きさを、少なくとも１つの拡大基準に基づいて、または前記カーソルがエレメントの所定量を囲むまで、またはこれら双方で、変更するステップを更に含む方法。
【請求項６】
システムであって、
ユーザー・インターフェースのエリア・カーソルの位置に対応するデータを処理するように構成されるアダプティブ・エリア・カーソル機構を含み、
前記アダプティブ・エリア・カーソル機構は更に、前記エリア・カーソルが複数のエレメントと重なるときに１つのエレメントを選択の対象とするように構成され、
重なる前記複数のエレメントに対して計算される値に基づいて、選択の対象とされるエレメントを選択することを含み、
各値は、前記複数のエレメントのうちの１つの重なるエレメントと関連し、且つ該エレメントの大きさに対してのカーソルとの重畳部分に対応する、
システム。
【請求項７】
請求項６に記載のシステムであって、
前記アダプティブ・エリア・カーソル機構は、前記エリア・カーソルの大きさを、少なくとも１つのエレメントと重なるように変更するように、及び／又は前記エリア・カーソルの大きさを、１つ以上の基準に基づいて変更するように構成され、
前記基準は、カーソル運動速度、ＵＩエレメントの密度、ユーザーから表示されるプログラム・エレメントまでの距離、またはユーザー特性、または、カーソル運動速度、ＵＩエレメントの密度、ユーザーから表示されるプログラム・エレメントまでの距離、またはユーザー特性の何れかの組み合わせを含む、
システム。
【請求項８】
請求項６に記載のシステムであって、前記アダプティブ・エリア・カーソル機構は、少なくとも１つのエレメントの大きさを、
タスクの相対的重要性、過去のユーザー挙動、またはページ・エレメントの間の関係を含む１つ以上の基準に基づく重み付けされた大きさに対応するように変更するように、または
タスクの相対的重要性、過去のユーザー挙動、またはページ・エレメントの間の関係を含む１つ以上の基準に基づく重み付けされた大きさの何れかの組み合わせに対応するように変更するように、
構成される、システム。
【請求項９】
コンピューター実行可能命令を有する１つ以上のコンピューター読取可能媒体であって、前記コンピューター実行可能命令が実行されたときに、
エリア・カーソルと、ユーザー・インターフェースの少なくとも１つのエレメントとの間の重畳部分を検出するステップと、
前記重畳部分が、１つのエレメントとのものである場合に、該エレメントを、選択の対象とされたエレメントとして選択するステップと、
前記重畳部分が、１つより多くのエレメントとのものである場合に、重なったそれぞれのエレメントの何パーセントが前記エリア・カーソルと重なるかを示す重畳割合値を決定し、最大の前記重畳割合値を有するエレメントを、選択の対象とされたエレメントとして選択するステップと
を含むステップを行わせる、コンピューター読取可能媒体。
【請求項１０】
請求項９に記載の１つ以上のコンピューター読取可能媒体であって、所定数のエレメントと重なってそれぞれの重畳部分が十分な量になるまで、前記エリア・カーソルを拡大させるステップを含む更なるコンピューター実行可能命令を有するコンピューター読取可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  カーソルを操作するために、低精度のポインティング・デバイス、例えば、ゲーム・コントローラーやジョイスティックやエア・ジェスチャ（例えば、デプス・カメラをベースにするもの）などを用いるシステムでは、ユーザー・インターフェース（ＵＩ）は、理想的には、大きいＵＩエレメントを用いること、および／またはエレメント間の間隔を相対的に大きく離した散在型レイアウトを用いることにより、精度の不足に適応させる。しかし、これらのレイアウトの制約を有するＵＩは、提供されないことや、提供すること自体が現実的ではないことが多い。例えば、システムは、高精度のポインティング・デバイス（例えば、マウスやトラックボールやスタイラス）に対して本来は設計されているウェブ・ページなどのような、様々な大きさのＵＩエレメントおよび／または互いに近接したＵＩエレメントを含むユーザー・インターフェースを、レンダリングするものであり得る。
【０００２】
[0002]  更に、ユーザーが比較的高精度の入力デバイスを操作する場合でさえ、そのユーザーがエレメントから離れたところにいる場合、例えば、大型テレビジョン・スクリーンにおいて、それに応じて可視性を考慮して拡大されたカーソルを用いてブラウジングを行う場合には、ＵＩエレメント間での操作が難しいこともある。ユーザーにより使用可能な膨大な量の既存のウェブ・ページおよび他のコンテンツがあるが、ウェブ・ページの著者や他のユーザー・インターフェース開発者が、それらの者のユーザー・インターフェースを、低精度の入力デバイスのため及び／又は比較的遠距離からの操作のために再設計することは、可能ではない。
【０００３】
[0003]  これらの状況において、何らかの形態の補助されるターゲティングを提供することが望まれる。「磁気」ＵＩコントロール("magnetic" UI controls)およびエリア・カーソル（従来のカーソルよりも大きい範囲をカバーする）などのような既存の解決法は、この難題に対して部分的には対応するが、特に、ウェブ・ページなどのような任意のＵＩレイアウトでは、うまく働かない。
【発明の概要】
【０００４】
[0004]  この概要は、以下の詳細な説明で更に説明する代表的概念の選択したものを、簡素化した形で紹介するものである。この概要は、特許請求される主題事項の鍵となる特徴や本質的な特徴を特定することを意図しておらず、また、特許請求される主題事項の範囲を限定するであろう何れのことに用いることも意図していない。
【０００５】
[0005]  簡潔には、ここで説明する主題事項の様々な構成は、ユーザーにより制御されるカーソルの動きに基づいて、ユーザー・インターフェースのエレメントの中でカーソルを配置する技術に関する。２次元エリア・カーソルまたは３次元エリア・カーソルであり得るカーソルは、１つ以上のエレメントと重なる（小さすぎるエレメントや、選択可能でると意図されていないエレメントは除外することができる）。カーソルが複数のエレメントと重なる場合には、それぞれの重なったエレメントに関して計算結果が計算されるが、この計算結果は、そのエレメントとカーソルとの重畳部分に対応する第１サイズと、そのエレメントの大きさに対応する第２サイズとに基づくものであり、複数の重なったエレメントに対しての複数の計算結果が提供される。複数の計算結果は、重なった複数のエレメントのうちの何れを選択の対象とするかに関するユーザーの意図を判定する。限定ではなく例として、各エレメントに対する計算結果は、エリア・カーソルと重なるエレメントの面積をエレメントの全面積で除算したものからなる重畳割合値に対応するものとすることができ、最大の重畳割合値を持つエレメントが選択の対象とされる。
【０００６】
[0006]  一つの構成では、カーソルの大きさは、少なくとも１つの基準に基づいて大きくすることができる。例えば、カーソルの大きさは、少なくとも１つのエレメントがカーソルと重なるまで（少なくとも十分な量まで）、または少なくとも２つのエレメントがカーソルと重なるまで（少なくとも十分な量まで）、大きくすることができる。別の例として、カーソルの大きさは、カーソルがエレメントの所定量を取り囲むまで、大きくすることができる。一つの構成では、エリア・カーソルの大きさは１つ以上の基準に基づいて変更することができ、基準は、カーソルの移動速度、エレメントの密度、ユーザーから表示されたプログラム・エレメントまでの距離、および／またはユーザーの特性を含む。
【０００７】
[0007]  一つの構成では、エレメントの大きさは、エレメントの実際の大きさに加えて、またはそれに代えて、重み付けした大きさを含むことができる。重み付けは１つ以上の基準に基づくことができ、基準は、タスクの相対的重要性、過去のユーザーの挙動、および／またはページ・エレメントの間の関係を含む。
【０００８】
[0008]  他の利点は、以下の詳細な説明および添付の図面から明らかになるであろう。
[0009]  本発明は、例を用いて示されるが、添付の図面に限定されるものではない。添付の図面では、同じ参照番号は同様のエレメントを示す。
【図面の簡単な説明】
【０００９】
【図１】図１は、一つの例示の実施形態に従った、エレメントの中でのカーソルを操作する場合においてユーザーを補助するためのアダプティブ・エリア・カーソルを提供するように構成された例示のコンポーネントを示すブロック図である。
【図２Ａ】図２Ａないし図２Ｃは、様々な例示の実装に従った、どのようにアダプティブ・エリア・カーソルを操作することができるかと、どのようにアダプティブ・エリア・カーソルを選択のために使用できるかとを表す。
【図２Ｂ】図２Ａないし図２Ｃは、様々な例示の実装に従った、どのようにアダプティブ・エリア・カーソルを操作することができるかと、どのようにアダプティブ・エリア・カーソルを選択のために使用できるかとを表す。
【図２Ｃ】図２Ａないし図２Ｃは、様々な例示の実装に従った、どのようにアダプティブ・エリア・カーソルを操作することができるかと、どのようにアダプティブ・エリア・カーソルを選択のために使用できるかとを表す。
【図３】図３は、一つの例示の実装に従った、アダプティブ・エリア・カーソルの操作を処理するために行うことができる例示のステップを表すフロー図である。
【図４】図４は、一つの例示の実装に従った、アダプティブ・エリア・カーソルに対して何れのエレメントを選択するかを判定するために行うことができる例示のステップを表すフロー図である。
【図５】図５は、ここで説明する主題事項の構成を組み込むことができる、ゲーム・システムの形態の例示の計算環境を表すブロック図である。
【発明を実施するための形態】
【００１０】
[0015]  ここで説明する技術の様々な構成は、一般には、ユーザー・インターフェース（ＵＩ）・エレメント（ＵＩコントロールやＵＩオブジェクトとも呼ばれる）に対して選択の対象を定めること及びそれを選択すること、特に、大型エレメントと小型エレメントとが混在しているＵＩにおいて、ユーザーを補助するアダプティブ・エリア・カーソルに関する。一つの実装では、アダプティブ・エリア・カーソルは、エレメントに選択の対象を定めるために用いられ、この方法では、カーソルを、望まれるエレメントの近くに配すること及び／又は望まれるエレメントに重ねること（必ずしも全て重ねるということではない）により、ユーザーがＵＩエレメントを選択・操作することを可能にする。エリア・カーソルが１つより多くのエレメントに重なる状況では、選択の対象は、アダプティブ・エリア・カーソル機構により選択され、この機構は、一般に、選択の対象とすることが難しいエレメントを有利に扱う（従来のカーソルを用いる場合と比較して）。例えば、この機構は、エレメントを、カーソルのエリアと重なる各エレメントの面積の割合に基づいて、選択することができる。
【００１１】
[0016]  ここでの何れの例も限定ではないことを理解すべきである。実際、２次元の例を説明するが、この技術は３次元の領域にも適用できる。更に、この技術は、ゲーム・システム、パーソナル・コンピューター、及び／又はタブレットなど、何れの計算デバイスを用いても作用することができる。従って、本発明は、ここで説明される何れの特定の実施形態、構成、概念、構造、機能、または例にも限定されない。むしろ、ここで説明される何れの特定の実施形態、構成、概念、構造、機能、または例も、限定されるものではなく、本発明は、一般的な計算およびコンピューター入力における利益および利点を提供する様々な様式で用いることができる。
【００１２】
[0017]  図１はブロック図であり、この図では、デプス・カメラ（depth camera）などのような入力デバイス１０２が、コンピューター・システム１０４への入力として用いられており、コンピューター・システム１０４がアダプティブ・エリア・カーソルを制御することを含んでいる。理解されるように、ゲーム・コントローラー、ジョイスティック、マウスまたは他のポインティング・デバイス、スタイラス、指などを含めての、カーソルを制御できる何れのヒューマン・インターフェース・デバイスも、ここで説明する技術から利益を得ることができる。従って、入力デバイス１０２は、そのようなデバイスの何れのものをも表す。
【００１３】
[0018]  図１の例では、入力デバイス１０２からの入力信号は、ここで説明されるアダプティブ・エリア・カーソルの提供および使用のために、アダプティブ・エリア・カーソル機構１１０を含む入力処理機構１０８により処理される。例えば、入力処理機構１０８は、オペレーティング・システムの一部とすることができ、それは、サービスとして使用可能なリスト・コンテキストなどであり、アプリケーション及び他のオペレーティング・システム・コンポーネントを含む任意のプログラムにより使用可能であり、且つそれらのプログラムに対して基本的に透明である。この例では、入力処理機構１０８は、レイアウト機構の形であるレンダリング・コード１１２と通信し、プログラム１１４により配されたＵＩエレメントＥ１〜Ｅ７を考慮して、どのようにアダプティブ・エリア・カーソルを適応させるかを決定し、重畳テストを行うことができる。代替的には、プログラムは、入力処理機構１０８へ、対象となるエリア（例えば、そのエレメントの位置および大きさ）の集合を、例えば、ＡＰＩコールを介して又は別の適切なインターフェースを介して、提供することができる。更に、ブラウザーなどのようなプログラムは、エリア・アダプテーション（area adaptation）および重畳テストを含めての、それ自体のカーソル操作を行うことができる。従って、図１は単なる一つの限定ではない例を示す。
【００１４】
[0019]  図１に表すように、アダプティブ・エリア・カーソル１０６は、出力機構１１６上でＵＩエレメントＥ１〜Ｅ７の中に混ざって見えるものとして示されている。容易に理解できるように、例示しているよりも多い数または少ない数のエレメントを呈示することができ、また、エレメントは、プログラム・ウィンドゥ内にあるものとすることも、１つのビュー領域に配することもできる。
【００１５】
[0020]  アダプティブ・エリア・カーソル１０６は、図１では円として示されているが、エリア・ベースの検出のための他の任意の形状を用いることもでき、他の任意の形状は、矩形や三角形などのような他の幾何学形状、矢印、砂時計、十時線などのような形状、および人間の手をレンダリングしたもの（これは、何らかの追加の見方をユーザーに与えるので、ジェスチャー・ベースの制御においてユーザーには有用であり得る）を含む他の形状を含む。３次元（ボリューム型）の相互作用空間では、球形などのようなボリューム型カーソル形状を用いることができる。エリア・カーソルの大きさは、固定とすることも変化させることもでき、例えば、様々な方法で決定することができ、それは、カーソルの移動の速度、表示されたエレメントの密度、ユーザーの特性に基づくもの（例えば、ユーザーの指や手のひらの大きさ）、ユーザーから表示されたプログラム・エレメントまでの距離（デプス・カメラのデータから知ることができる）、ユーザーが明示した性能情報などを含む。
【００１６】
[0021]  アダプティブ・エリア・カーソル１０６は、何らかの方法で可視にすることができ（ソリッドまたは半透明）、また、覆われたエリアに関しては不可視にすることができる（場合によっては、ユーザーの操作を補助するために、カーソルの可視表現を用い、また、タッチ・スクリーンのシナリオでは、可視カーソル表現が全く無いようにすることができる）。これは、既存の任意のＵＩレイアウトおよびカーソルの視覚化とのコンパチビリティを容易なものとする。例えば、矢印（カーソルを単に重ねているときにポインティング・ハンド（pointing hand）に変わる）は、カーソルとしてユーザーに対して可視とすることができるが、矢印／ポインター・フィンガー（pointer finger）の先端またはその付近に中心がある不可視の円は、矢印の先端が有効にカバーするエリアを拡大することができ、それにより、エリア・カーソルを提供する。そのような「レギュラー」カーソルは、例えばその色を変更するなどのような、何らかの様式での変更を行って（特に、アダプティブ・エリア・カーソルが不可視の場合）、ターゲティングの補助がアクティブであることを示すようにできる。更に、理解されるように、アダプティブ・エリア・カーソルは、その大きさを適合させることができ、また、この変更された大きさは、ユーザーに対して可視とすることも不可視とすることもできる。即ち、アダプティブ・エリア・カーソルは、ユーザーに対して、可視、完全に不可視（例えば、可能性としては、任意の適切な方法で表される「レギュラー」カーソルやそれと同様のものを用いる）、または部分的に可視で部分的に不可視とすることができる。
【００１７】
[0022]  図２Ａ〜図２Ｃは、エレメントに選択の対象を定める際にユーザーを支援するようにアダプティブ・エリア・カーソルを操作できる様々な様式を示す。図２Ａの例では、アダプティブ・エリア・カーソル２０６は、点Ｃ（１画素の小さいものとすることができる）に中心があり、ユーザーにより配されたとおりに、１つのエレメントＥ８およびＥ９と重なっている。
【００１８】
[0023]  図２Ａにおいて理解できるように、エリア・カーソルは、１つより多くのＵＩエレメントと同時に重なることができる。幾つかの既知のシステムでは、単純なエリア・カーソルは、同時に複数のオブジェクトに対して選択の対象を定めること（例えば、リスト内の複数アイテムにわたる選択を「ペイントする」こと）を可能とされている。選択の対象が１つでなければならない他のシステムでは、カーソルが最も多く重なっているエレメントに基づいて、オブジェクトのうちの１つが選択される。図２Ａの例の場合、選択の対象が１つでなければならないシステムでは、大きい方のエレメントＥ８が選択の対象とされる（ユーザーの意図に対して、誤っている場合も多い）が、それは単に、カーソルの表面面積におけるより多くの面積がそのエレメントと重なっているから、即ち、エレメントＥ８は、最も多くの画素がカーソルにより覆われているからである。
【００１９】
[0024]  ここで説明するように、そのような他のシステムとは対照的に、ユーザーは何れのエレメントに選択の対象を定めることを意図していると思われるか、ということの考慮に基づいて選択される。一つの実装では、カーソル２０６のエリアと重なるエレメントの表面面積の割合に基づいて、エレメントＥ９が選択される。これは図２においても同じで、図２Ａでは、エレメントＥ９の重なっている絶対面積はエレメントＥ８の重なっている絶対面積ほど大きくないが、小さい方のエレメントＥ９が選択の対象とされる。なぜなら、エレメントＥ８におけるカーソル２０６と重なる表面面積の割合と比較して、高い割合のエレメントＥ９の表面面積がカーソル２０６と重なっているからである。このように、大きいエレメントの近くにある小さいエレメントは、より多くのターゲティング支援を受け、従って、比較的選択し易い。より特定的な例としては、ページを視覚的に再フォーマットせずに、大きいカテゴリーの見出し及び／又はイメージの近くにある小さいテキストのハイパーリンクや他のオブジェクトを、容易に選択可能である。
【００２０】
[0025]  しかし、アダプティブ・エリア・カーソル機構１１０が、特定のエレメントを除外するロジックを含むことができることに、留意されたい。例えば、幾つかのページは、追跡目的などに用いるが、選択されることを意図していない１画素×１画素のエレメント（one pixel by one pixel element）を含む。そのような小さいエレメントは、アダプティブ・エリア・カーソル機構１１０の選択判定において無視する（フィルタリングして除外する）ことができる。なぜなら、それらの画素は、重なったときにはどのような場合でも１００％カバーされるが、選択可能とすることを意図されていないからである。このフィルタリングは、ＵＩオブジェクトの大きさやタイプに基づくこと、またはそのオブジェクトの何らかの他の形態のデータに基づくことができる。
【００２１】
[0026]  理解できるように、割合に基づく判定は、小型エレメントを選択の対象とすることにおける支援となり、例えば、各エレメントに関して、割合は、重なる画素の数を、そのエレメントの画素の総数で除算したものと等しい。また、割合の比較は、２より多くのエレメントの場合でも機能する。更には、最大割合を自動的に選択することに代えて、何らかの閾値を用いることもでき、例えば、２つのエレメントに関して、少なくとも６０パーセント対４０パーセントの重畳割合についての閾値を必要とするようにし、そうでない場合には第２の機構（例えば、最大の重畳画素数）を用いるようにすることができる。何れのそのような閾値も変数に基づいて変化させることができ、変数は、ディスプレイからユーザーまでの距離（これはデプス・カメラのデータを介して知ることができる）、エレメントの大きさ及び／又は離隔距離（例えば、２つの小型のエレメントは、５０パーセントに近い閾値を有することができる）、エリア・カーソルの大きさなどである。更に、比較するための最終的な値として、正確な割合を使わないようにすることができ、例えば、何れか又は全ての計算された値を、乗算の係数や加算または減算される値などにより変更することができる。これらの係数の計算は、ローカルで、または入力を受け取る機械で、または例えばインターネットのようなコンピューター・ネットワークを介しての別の機械との通信を通じてリモートで、完了することができる。
【００２２】
[0027]  別の構成では、エレメントの大きさは、エレメントの実際の大きさによるものではなく、異なる重み付けをしたものとすることができる。即ち、計算で用いられるエレメントの大きさを、その実際の大きさとせずに、１つ以上の基準に基づいて変更することができる。例えば、エレメントの重み付けされた大きさは、タスクに対してのその相対的重要性に基づくことができる。より特定的な例として、ディスエーブルとされていることが知られている選択ボタン（例えば、クリックに対する処理を行わなかったという情報を戻すことによる）は、重みを与えないようにするか、または少なくとも、近くのイネーブルとされたボタンよりもかなり小さい重みを与えるようにする（例えば、割合を用いたモデルでは、重み付けされた大きさを、その実際の大きさに対して大きくするか、または選択されたと考慮されるために必要とされる割合を、変更する）が、これは、２つのボタンへ向けてカーソルを移動させたユーザーが、イネーブルとされたものを選択することを意図している可能性が高いと予測してのことである。以前のユーザーの挙動（ユーザーのグループの中の観察された所与のユーザーに関して）もまた、相対的重要性を変更するための基準として用いることができ、ユーザーの挙動は、例えば、より多くのユーザーが、リンクのリストにおける人気のあるリンクの隣のリンクよりも、その人気のあるリンクをクリックすることや、推測された順に操作することなどでる。スポンサーのあるリンクにも、より多くの重みを与えることができる。
【００２３】
[0028]  更に、エレメントを選択するユーザーの意図に関して、ページ・エレメントの間の関係を、エレメントを重み付けするために用いることができる。例えば、ページのタブの順（ユーザーがタブ・キーをクリックした場合の、リンクが操作された順）を、１つのエレメントを別のエレメントと相対して有効に重み付けするために用いることができる。ユーザーが或るフォームへ記入した場合を考えると、その記入において、ユーザーが、ユーザーの番地（street address）を入力し、そのフォーム内の次のエントリの近くへカーソルを移動させ、ユーザーの市区町村（city）を入力したとする。ここで、ユーザー（または殆どのユーザー）は、既に完了させたエレメントやデータ入力とは関係の無いエレメントなどのような別のエレメントではなく、市区町村のデータの入力エレメントへの移動を意図していることを、観察することができる。従って、市区町村の入力エレメントへ追加の重みを与えることができる（例えば、エレメントを有効に小さくして、その重畳割合値を大きくする）。
【００２４】
[0029]  図２Ｂは別の例を示し、この例では、アダプティブ・エリア・カーソル２０６は、２つのエレメントの近くにあるが、何れとも重なっていない。この例では、アダプティブ・エリア・カーソル２０６は、エレメントに重なるまで、そのエリアを大きくさせる（大きい破線の円２２２で示しており、破線の矢印は、変更の方向を示す）。この例では、重なるエレメントはエレメントＥ１１である。重なっていると考えられるためには、重畳部分が少なくとも或る十分な量となる必要があるようにし、その量は最小の場合で１画素とすることができるが、それより多くすることも可能である。大きさの変更は、カーソル・エリアを拡大または縮小させることにより、及び／又はスクリーンをズームすることにより、達成できることに留意されたい。大きさに対しての制限を適用することができ、例えば、それにより、ユーザーは、エレメントに選択の対象を定めないように（例えば、カーソルを単に重ねたり、外観を変える）、スクリーンの空白領域にカーソルを意図的に配することができる。カーソルの大きさの変更は、負の方向とすることもでき、例えば、カーソルの移動速度及び／又は他の変数に応じてエリアを縮めることができる。カーソルの大きさの変更は、カーソルを単に重ねた場合ではなく、エレメントの実際のユーザー選択に限定することができ、例えば、ユーザーは、アダプティブ・エリア・カーソル２０６が拡大して最も近くのエレメントの場所を示す前に、カーソルを配置してエレメントを選択するアクション（例えば、マウスのクリックに対応する）を行う必要がある（下にあるページ自体がクリック可能なエレメントであることもあり、従って、変更後の大きさの限定は、少なくとも１つの前景エレメントへ到達するように常に拡大させるのではなく、ユーザーがページをクリックできることを確実にするために用いられ得ることに、留意されたい）。
【００２５】
[0030]  図２Ｃは、アダプティブ・エリア・カーソル２０６が大きさを大きくすることにより適応しているという点において図２Ｂの例と類似の例を示すが、図２Ｃでは、カーソル・エリアは、少なくとも２つのエレメントと重なるまで拡大される。この時、割合を用いた選択機構（または他のユーザー意図判定機構）を用いて、何れのエレメントに選択の対象が定められるかを判定することができる。この例では、拡大ステップの前に、或る最小数の画素の重畳部分（これはディスプレイに応じたものとすることができる）を必要とし、それにより、例えば、意味のある割合を計算することができる。従って、図２Ｃは、エリア・カーソルの直径が拡大して、エレメントＥ１０の最初の画素へ到達した時点で停止するのではなく、少なくとも、重なっていると考慮される十分な量までエレメントＥ１０の或る広さを覆うことを、表している。
【００２６】
[0031]  カーソルの大きさを変更する他の方法もあり得る。例えば、一つの方法は、１つのエレメントを完全に囲むまで、エリアを大きく（例えば、円の半径を或る最大量まで）することである。別の方法は、完全包囲未満となる或る所定の割合を用いることであり、例えば、カーソルがエレメントの７０パーセントと重なるまで大きく（最大まで）する。
【００２７】
[0032]  円形カーソルは対称的に大きくしたり小さくしたりするが、非対称的な拡大も考慮されることに、留意されたい。例えば、円形カーソルは、ｘ軸とｙ軸とで異なって大きくなることにより楕円になることができ、任意の他の形状のカーソルも同様であり、例えば、矩形は幅を広くしたり高くしたりできるが、必ずしも同じレートにしなくてもよい。カーソルは、ディスプレイ・スクリーンのｘ次元およびｙ次元や、プログラム・ウィンドゥのｘ次元およびｙ次元（またはそれらの何らかの組み合わせ）に比例して、拡大または縮小することができる。ユーザーがカーソルを主として水平方向に動かしているか又は主として垂直方向に動かしているか、ということもカーソルの大きさを変更する際に考慮することができる。
【００２８】
[0033]  更に、アダプティブ・エリア・カーソルは、１つ以上の他の変数や基準に基づいて、大きさを動的に変更することができる。例えば、選択の対象となるＵＩの密度を、カーソルを大きくする場合の基準とすることができ、例えば、近くにある選択の対象となるエレメントが少ない場合に、カーソルの大きさを大きくする。別の基準はエレメントの大きさとすることができ、例えば、２つのエレメントが、それぞれ容易に選択されるほど十分な大きさの場合には、カーソルを大きくさせない（または僅かに大きくする）ようにする。更に別の基準は、現在または最近のカーソルの動きの速度とすることができ、例えば、ユーザーにより１つの場所へ素早く動かされるカーソルは、その場所へゆっくりと動かされる場合よりも不正確に配される場合が多く、従って、大きさを変更（または通常よりも大きい大きさの変更）をすることができる。例えば、円の半径を、カーソルの動きの現在の速度に基づいて、拡大または縮小（或る最小のところまで）させることができる。ユーザーに速度を落とすことを奨励するように、カーソルを、何らかの別の方法でフェード・アウトまたは視覚的に変更することができる。大きさの変更の決定（例えば、全く大きくしない／どの程度大きくする／１つのオブジェクトに対して大きくする又はそれより多くに対して大きくするか）における別の変数は、使用される入力デバイスのタイプとすることができ、また、知られている場合には、ユーザーからディスプレイまでの距離とすることもできる。ユーザー・パフォーマンス・データも変数とすることができる。
【００２９】
[0034]  図３は、アダプティブ・エリア・カーソル・オペレーションを介して補助されるターゲティングをフロー図にまとめており、フロー図は、一つの実装の例示のステップを含み、これはステップ３０２で開始し、そのステップでは、適切にカーソルを動かすことによりプロセスが開始される。ステップ３０４は、上述したスクリーン・カーソルの動きの速度、近隣の選択の対象となるＵＩの密度、タブの順などに基づいて、パラメーター（例えば、エレメントの重み、カーソルの大きさ）を調節するオプションのステップを表す。ステップ３０６は、カーソルがスクリーンの場所へ動くことを可能にすることを表す。
【００３０】
[0035]  ステップ３０８は、カーソルが少なくとも１つのエレメントと重なったかを判定することを表す（このステップは、１画素×１画素のエレメントなどのような選択不可能なエレメントを除外／フィルタリング除去する論理を含み得ることに留意されたい）。しない場合であり、且つ、ステップ３１０において、カーソルの大きさを変更する（例えば、拡大させる）オプションがアクティブである場合には、ステップ３１２において、停止基準に適合するまでカーソル・エリアを拡大させるが、停止基準は、例えば、１つのエレメントを十分に重なる（図２Ｂ）、２つのエレメントを十分に重なる（図２Ｃ）などである。カーソルが拡大しない場合または適切なエレメント重畳部分が無く拡大制限に該当した場合（ステップ３１２からの破線）、カーソルは、ユーザーが何れのエレメントに対しても選択の対象を定めなかったかのように配され、ステップ３０２へ戻り、更なる動きを待つ。
【００３１】
[0036]  ユーザーが配置することにより、またはカーソル・エリアの変更により、エレメントを直接に重なった場合、ステップ３１４は、選択の対象とされたエレメントを決定することを表し、これは上記で一般的に説明されており、図４で更に例示されている。１つより多くの選択の対象とするエレメントを選択することが可能であるが、それは、プログラムがそのようなシナリオを望む場合のことである。実際、アダプティブ・エリア・カーソル機構は、重なったエレメントのランク付けリストや、それぞれに重畳割合値を付随させたエレメントのリストを返すことがでる。
【００３２】
[0037]  図４において、ステップ４０２は、１つより多くのエレメントに重なったかを評価することを表す。１つのエレメントのみに重なった場合、ステップ４０４において、重なったエレメントが選択される。１つより多くのエレメントに重なった場合、ステップ４０６において、上述のようにユーザーの意図を判定する。
【００３３】
[0038]  図４の例では、各エレメントに対して、ステップ４０６において、そのエレメントの大きさに対しての、カーソルがエレメントと重なった割合が計算される。上述のように、この大きさは、実際のエレメントの大きさと等しい必要はなく、１つ以上の別の基準に基づいて重み付けした大きさとすることができ、基準は、例えば、エレメントの重要性、タブの順、このユーザー及び／又は他のユーザーの過去の挙動などである。ステップ４０８では、選択されたターゲット・エレメントとして、最大の重畳割合値を持つものを選ぶ。その結果として、アダプティブ・エリア・カーソルは、そのカーソルと重なる小さいエレメントを、競合する大きいエレメントがより多くの重なっている画素を有しているか否かにかかわらず、その大きいエレメントに勝るものとして選ぶ（選択の対象とし、随意に選択する）。
[0039]  図３に戻ると、ステップ３１４はまた、選択されたエレメントを何らかの方法で適切なように示すことを表す。例えば、図３において説明したカーソルを単に重ねるシナリオでは、カーソルは、エレメントが選択されたことを示すために、形状を変更することができる。カーソルはエレメント間に位置することができるので、可視カーソルはまた、システムにより自動的に動かすこと（例えば、選択されたエレメントの中心に対応する位置へジャンプさせる）ができ、それにより、その特定の選ばれたエレメントが選択されたことを更に明確に示せることに、留意されたい。カーソルを単に重ねるシナリオではないシナリオでは、カーソルの動きの停止をステップ３０８のトリガーとする代わりに、ユーザーによる選択のアクティブなインジケーション（例えば、クリックに対応する）がステップ３０８およびその先のものをトリガーする。
【００３４】
[0040]  ステップ３１６は、選択の対象としたエレメントを選択するためにユーザーが何らかのアクションを行うことを示し、アクションは、例えば、カーソルを単に重ねているエレメントにおいてのマウスのクリックの発生、カーソルを単に重ねている状況の一定時間以上の継続、コンテンツ・メニューの呼び出しなどのようなものである。そうである場合、ステップ３１８により表すようにアクションが行われ、例えば、エレメントを提供したプログラムに応じて適切に、クリックしたリンクに対応する新たなページのブラウジング、アイテムのハイライト化、ドロップダウン・メニューの提供などを行う。アクションが行われない場合、ステップ３２０により表すように、システムは、ユーザーがエレメントからカーソルを離すまで、現在の状態にとどまり、それにより、プロセスのターゲティング判定部分は、ユーザーがカーソルの動きを止めるまで、ステップ３０４および３０６を通じて待機する。
【００３５】
[0041]  理解できるように、選択の対象とすることが難しいエレメントを選択の対象にする際にユーザーを補助するアダプティブ・エリア・カーソルが提供される。その結果として、ユーザーは、小さいＵＩエレメントを選択するために、そのＵＩエレメントの直上にカーソルを正確に動かす必要がなくなる。そのためには、円状の領域などのようなエリアを、実際のカーソル位置と関連して（例えば、実際のカーソル位置を中心として）配することができ、それぞれのインタラクティブＵＩエレメントと関連する重畳領域を決定する（重畳領域の大きさは、それぞれのオブジェクトの視覚表現と一致することも、一致しないこともある）。カーソルのエリアは、近くにあるＵＩオブジェクトの大きさ及び／又は位置に基づいて変更することができ、例えば、停止基準に適合するまで、エリアを拡大させることができ、停止基準は、例えば、少なくとも１つのインタラクティブ・エレメントに重なること、少なくとも２以上のインタラクティブ・エレメントに重なること、１つのエレメントを取り囲むことなどである。１つのエレメントが選択の対象とされ、これは、ユーザーの選択の意図と一致させることを試みるが、この試みは、例えば、カーソルの大きさと重なるそれぞれのエレメントの大きさ（例えば、表面面積または重み付けされた面積）の割合に基づき、最大の割合を用いて選択を行う。
【００３６】
例示の動作環境
[0042]  上記の実装とその代替形態とを、任意の適切な計算デバイスにおいてインプリメントできることが容易に理解でき、計算デバイスは、ゲーム・システム、パーソナル・コンピューター、タブレット、スマートフォンなどを含む。説明を目的として、ゲーム（媒体を含む）・システムを、動作環境の一例として以下で説明する。
【００３７】
[0043]  図５は、ゲームおよびメディア・システム５００の機能ブロック図であり、より詳細に機能コンポーネントを示す。コンソール５０１は、中央処理装置（ＣＰＵ）５０２とメモリ・コントローラー５０３とを含み、処理装置が様々なタイプのメモリへアクセスすることを容易にし、メモリは、フラッシュ・リード・オンリー・メモリ（ＲＯＭ）５０４、ランダム・アクセス・メモリ（ＲＡＭ）５０６、ハード・ディスク・ドライブ５０８、およびポータブル・メディア・ドライブ５０９を含む。一つの実装では、ＣＰＵ５０２は、レベル１キャッシュ５１０およびレベル２キャッシュ５１２を含み、一時的にデータを格納し、それにより、ハード・ドライブに対して行われるメモリ・アクセスのサイクルの数を低減し、それにより処理速度およびスループットを向上させる。
【００３８】
[0044]  ＣＰＵ５０２、メモリ・コントローラー５０３、および様々なメモリ・デバイスは、１つ以上のバス（図示せず）を介して相互接続される。この実装で用いられるバスの詳細は、ここで説明している対象となる主題事項を理解することと、特には関連しない。しかし、そのようなバスが、様々なバス・アーキテクチャーのうちの任意のものを用いるシリアル・バスおよびパラレル・バス、メモリ・バス、周辺バス、およびプロセッサー・バスまたはローカル・バスのうちの１つ以上のものを含み得ることは、理解されるであろう。例として、そのようなアーキテクチャーは、インダストリー・スタンダード・アーキテクチャー（ＩＳＡ）・バス、マイクロ・チャンネル・アーキテクチャー（ＭＣＡ）・バス、エンハンストＩＳＡ（ＥＩＳＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（ＶＥＳＡ）・ローカル・バス、およびメザニン・バスとしても知られているペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）・バスを含むことができる。
【００３９】
[0045]  一つの実装では、ＣＰＵ５０２、メモリ・コントローラー５０３、ＲＯＭ５０４、およびＲＡＭ５０６は、共通モジュール５１４上に統合される。この実装では、ＲＯＭ５０４は、フラッシュＲＯＭとして構成され、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）・バスなど及びＲＯＭバスなど（何れも示していない）を介して、メモリ・コントローラー５０３へ接続される。ＲＡＭ５０６は、別個にされたバス（図示せず）を介してメモリ・コントローラー５０３により独立して制御される複数のダブル・データ・レート・シンクロナス・ダイナミックＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）モジュールとして構成することができる。示されているハード・ディスク・ドライブ５０８およびポータブル・メディア・デバイス５０９は、ＰＣＩバスおよびＡＴアタッチメント（ＡＴＡ）・バス５１６を介してメモリ・コントローラー５０３へ接続されている。しかし、別の実装では、別のタイプの専用のデータ・バス構造を代替物において適用することもできる。
【００４０】
[0046]  三次元グラフィックス処理装置５２０とビデオ・エンコーダー５２２とが、高速および高分解能（例えば、高精細）のグラフィックス処理のためのビデオ処理パイプラインを形成する。データは、グラフィックス処理装置５２０からデジタル・ビデオ・バス（図示せず）を介してビデオ・エンコーダー５２２へ搬送される。オーディオ処理装置５２４とオーディオ・コーデック（コーダー／デコーダー）５２６とは、様々なデジタル・オーディオ・フォーマットのマルチチャンネル・オーディオ処理のための、対応するオーディオ処理パイプラインを形成する。オーディオ・データは、オーディオ処理装置５２４とオーディオ・コーデック５２６との間で通信リンク（図示せず）を介して搬送される。ビデオ処理パイプラインおよびオーディオ処理パイプラインは、データを、テレビジョンまたは他のディスプレイへ送信するために、Ａ／Ｖ（オーディオ／ビデオ）ポート５２８へ出力する。例示の実装では、ビデオおよびオーディオの処理コンポーネント５２０、５２２、５２４、５２６、および５２８は、モジュール５１４へ取り付けられる。
【００４１】
[0047]  図５は、ＵＳＢホスト・コントローラー５３０とネットワーク・インターフェース（ＮＷ  Ｉ／Ｆ）５３２とを含むモジュール５１４を示し、これは、有線コンポーネント及び／又はワイヤレス・コンポーネントを含むことができる。示されているＵＳＢホスト・コントローラー５３０は、バス（例えば、ＰＣＩバス）介してＣＰＵ５０２およびメモリ・コントローラー５０３と通信し、ペリフェラル・コントローラー５３４のホストとして働く。ネットワーク・インターフェース５３２は、ネットワーク（例えば、インターネット、ホーム・ネットワークなど）へのアクセスを提供し、様々な多種の有線またはワイヤレスのインターフェース・コンポーネントのうちの任意のものとすることができ、そのインターフェース・コンポーネントは、イーサネット（登録商標）・カードまたはインターフェース・モジュール、モデム、Ｂｌｕｅｔｏｏｔｈ（登録商標）・モジュール、ケーブル・モデムなどを含む。
【００４２】
[0048]  図５に示す例示の実装では、コンソール５０１は４つのゲーム・コントローラー５４１（１）〜５４１（４）をサポートするためのコントローラー・サポート・サブアセンブリ５４０を含む。コントローラー・サポート・サブアセンブリ５４０は、例えばメディアおよびゲーム・コントローラーなどのような外部制御デバイスとの有線及び／又はワイヤレスのオペレーションをサポートするために必要な任意のハードウェアおよびソフトウェアのコンポーネントを含む。フロント・パネルＩ／Ｏサブアセンブリ５４２は、パワー・ボタン５４３、イジェクト・ボタン５４４および他の任意のボタン、および任意のＬＥＤ（発光ダイオード）や、コンソール５０１の外面に露出した他のインジケーターの複数の機能を、サポートする。サブアセンブリ５４０および５４２は、１つ以上のケーブル・アセンブリ５４２などを介してモジュール５１４と通信する。別の実装では、コンソール５０１は、追加の制御サブアセンブリを含むことができる。例示の実装はまた、信号を送信および受信（例えば、リモート・コントローラー５４９から）するように構成される光Ｉ／Ｏインターフェース５４８示し、この信号はモジュール５１４と通信することができる。
【００４３】
[0049]  メモリ・ユニット（ＭＵ）５５０（１）および５５０（２）は、それぞれ、ＭＵポート「Ａ」５５２（１）およびＭＵポート「Ｂ」５５２（２）へ接続可能なものとして示されている。それぞれのＭＵ５５０は、ゲーム、ゲーム・パラメーター、および他のデータを格納することができる追加のストレージを提供する。幾つかの実装では、他のデータは、デジタル・ゲーム・コンポーネント、実行可能ゲーム・アプリケーション、ゲーム・アプリケーションを拡張するための命令セット、およびメディア・ファイルのうちの１つ以上のものを含むことができる。それぞれのＭＵ５５０は、コンソール５０１へ挿入されたときに、メモリ・コントローラー５０３によりアクセスされ得る。
【００４４】
[0050]  システム電源モジュール５５４は、ゲーム・システム５００のコンポーネントへ電力を提供する。ファン５５６は、コンソール５０１内の回路を冷却する。
[0051]  マシン命令を含むアプリケーション５６０は、典型的には、ハード・ディスク・ドライブ５０８に格納される。コンソール５０１がパワー・オンされると、アプリケーション５６０の様々な部分が、ＣＰＵ５０２での実行のために、ＲＡＭ５０６及び／又はキャッシュ５１０および５１２へロードされる。一般に、アプリケーション５６０は、様々な表示機能を行うための１つ以上のプログラム・モジュールを含むことができ、それらの機能とは、ディスプレイ（例えば、高精細モニター）へ表示するためのダイアログ・スクリーンの制御、ユーザー入力に基づくトランザクションの制御、およびコンソール５０１と外部接続されたデバイスとの間でのデータの送信および受信の制御などである。
【００４５】
[0052]  ゲーム・システム５００は、システムを、テレビジョン、ビデオ・プロジェクター、または他のディスプレイ・デバイスへ接続することにより、スタンドアローンとして動作させることができる。このスタンドアローン・モードでは、ゲーム・システム５００は、１人以上のプレーヤーがゲームを行うことや、例えば映画を見たり音楽を聴いたりすることにより、デジタル・メディアを楽しむことを、可能にする。しかし、ネットワーク・インターフェース５３２を介して使用可能とされるブロードバンド・コネクティビティと統合されると、ゲーム・システム１００は、更に、大きいネットワーク・ゲームのコミュニティやシステムにおける参加コンポーネントとして動作させることができる。
【００４６】
まとめ
[0053]  本発明は、様々な変更や代替の構成が可能であるが、その特定の例示の実施形態が図面に示され、上記で詳細に説明された。しかし、本発明を、開示した特定の形態に限定することは意図しておらず、逆に、本発明は、本発明の精神内および範囲内にある全ての変更物、代替構成、および等価物をカバーすると理解すべきである。
【図１】
2014533414.tif 000003
【図２Ａ】
2014533414.tif 000004
【図２Ｂ】
2014533414.tif 000005
【図２Ｃ】
2014533414.tif 000006
【図３】
2014533414.tif 000007
【図４】
2014533414.tif 000008
【図５】
2014533414.tif 000009
【国際調査報告】
2014533414.tif 000010
2014533414.tif 000011
2014533414.tif 000012
2014533414.tif 000013
2014533414.tif 000014
2014533414.tif 000015