特許第6124908号(P6124908)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

<>
  • 特許6124908-アダプティブ・エリア・カーソル 図000002
  • 特許6124908-アダプティブ・エリア・カーソル 図000003
  • 特許6124908-アダプティブ・エリア・カーソル 図000004
  • 特許6124908-アダプティブ・エリア・カーソル 図000005
  • 特許6124908-アダプティブ・エリア・カーソル 図000006
  • 特許6124908-アダプティブ・エリア・カーソル 図000007
  • 特許6124908-アダプティブ・エリア・カーソル 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6124908
(24)【登録日】2017年4月14日
(45)【発行日】2017年5月10日
(54)【発明の名称】アダプティブ・エリア・カーソル
(51)【国際特許分類】
   G06F 3/0481 20130101AFI20170424BHJP
【FI】
   G06F3/0481 120
【請求項の数】13
【全頁数】17
(21)【出願番号】特願2014-542336(P2014-542336)
(86)(22)【出願日】2012年11月6日
(65)【公表番号】特表2014-533414(P2014-533414A)
(43)【公表日】2014年12月11日
(86)【国際出願番号】US2012063738
(87)【国際公開番号】WO2013074333
(87)【国際公開日】20130523
【審査請求日】2015年10月28日
(31)【優先権主張番号】13/295,546
(32)【優先日】2011年11月14日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100153028
【弁理士】
【氏名又は名称】上田 忠
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100119781
【弁理士】
【氏名又は名称】中村 彰吾
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(74)【代理人】
【識別番号】100173565
【弁理士】
【氏名又は名称】末松 亮太
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】クライン,クリスチャン
(72)【発明者】
【氏名】ローサー,ピーター・ディー
【審査官】 萩島 豪
(56)【参考文献】
【文献】 米国特許出願公開第2010/0262933(US,A1)
【文献】 米国特許出願公開第2009/0217209(US,A1)
【文献】 特表2002−533803(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048 − 3/0489
(57)【特許請求の範囲】
【請求項1】
計算環境において、少なくとも1つのプロセッサにおいて少なくとも部分的に行われる方法であって、
入力デバイスによって、オブジェクトを選択するためのカーソル・エリアを有するカーソルを制御するためのユーザー入力を受け付けるステップと、
ユーザー・インターフェースの複数のエレメントが表示されているディスプレイ上の、受け付けたユーザー入力に基づいた位置に、カーソルを表示するステップと、
カーソルがユーザー・インターフェースの複数のエレメントのいずれとも重複しない場合に、ユーザー・インターフェースの複数のエレメントに含まれる第一のエレメントと第二のエレメントのそれぞれと一定値以上重なるように、受け付けた入力に基づいた位置において、カーソル・エリアの大きさを増加させるステップと、
第一のエレメントと第二のエレメントのいずれについて、ユーザー選択意図があるかを判定するステップであって、ユーザー選択意図は、第一のエレメントとカーソル・エリアの重複と、第二のエレメントとカーソル・エリアの重複に基づき、第一のエレメントとカーソル・エリアの重複は、第一のエレメントとカーソル・エリアの重複領域の大きさについての第一の大きさと、第一のエレメントの領域の大きさについての第二の大きさに基づき、第二のエレメントとカーソル・エリアの重複は、第二のエレメントとカーソル・エリアの重複領域の大きさについての第三の大きさと、第一のエレメントの領域の大きさについての第四の大きさに基づくステップと、
第一のエレメントと第二のエレメントのいずれについて、ユーザー選択意図があるか判定した結果に基づいて、第一のエレメントと第二のエレメントについての選択を、ディスプレイ上に表示するステップと、
を含む、方法。
【請求項2】
請求項1に記載の方法であって、
第一のエレメントと第二のエレメントのいずれについて、ユーザー選択意図があるかを判定するステップは、前記第一の大きさを前記第二の大きさで除算したものからなる重畳割合値と、前記第三の大きさを前記第四の大きさで除算したものからなる重畳割合値の、いずれが大きいかによって、第一のエレメントと第二のエレメントのいずれについて、ユーザー選択意図があるかを判定する、
方法。
【請求項3】
請求項1又は2に記載の方法であって、
前記第一のエレメントの領域の大きさは、第一のエレメントの重み付けされた大きさを含み、
更に、第一のエレメントの重み付けされた大きさを、第一のエレメントの実際の大きさと、タスクにおける第一のエレメントの相対的な重要性と、第一のエレメントのコンテキストに基づいて、計算するステップ
を含
方法。
【請求項4】
請求項1〜3のいずれか一項に記載の方法であって、更に、ユーザー選択の対象とするには小さすぎるエレメント、ないし、ユーザー選択の対象とすることが禁じられているエレメントを除外するステップを含む、方法。
【請求項5】
請求項1〜4のいずれか一項に記載の方法であって、カーソルがユーザー・インターフェースの複数のエレメントのいずれとも重複しない場合に、ユーザー・インターフェースの複数のエレメントに含まれる第一のエレメントと第二のエレメントのそれぞれと一定値以上重なるように、受け付けた入力に基づいた位置において、カーソル・エリアの大きさを増加させるステップが、
ユーザー入力の方向を判定するステップと、
カーソル・エリアの大きさを、前記ユーザ入力の方向に関連する第一の次元に第一の率で増加させ、前記ユーザ入力の方向に関連し第一の次元とは異なる第二の次元に第二の率で増加させるステップと、
を含む方法。
【請求項6】
請求項1〜5のいずれか一項に記載の方法を実行するためのプログラム。
【請求項7】
請求項1〜5のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。
【請求項8】
プロセッサと、プロセッサに接続されたメモリを含むシステムであって、前記プロセッサは、
入力デバイスによって、オブジェクトを選択するためのカーソル・エリアを有するカーソルを制御するためのユーザー入力を受け付けるステップと、
ユーザー・インターフェースの複数のエレメントが表示されているディスプレイ上の、受け付けたユーザー入力に基づいた位置に、カーソルを表示するステップと、
カーソルがユーザー・インターフェースの複数のエレメントのいずれとも重複しない場合に、ユーザー・インターフェースの複数のエレメントに含まれる第一のエレメントと第二のエレメントのそれぞれと一定値以上重なるように、受け付けた入力に基づいた位置において、カーソル・エリアの大きさを増加させるステップと、
第一のエレメントと第二のエレメントのいずれについて、ユーザー選択意図があるかを判定するステップであって、ユーザー選択意図は、第一のエレメントとカーソル・エリアの重複と、第二のエレメントとカーソル・エリアの重複に基づき、第一のエレメントとカーソル・エリアの重複は、第一のエレメントとカーソル・エリアの重複領域の大きさについての第一の大きさと、第一のエレメントの領域の大きさについての第二の大きさに基づき、第二のエレメントとカーソル・エリアの重複は、第二のエレメントとカーソル・エリアの重複領域の大きさについての第三の大きさと、第一のエレメントの領域の大きさについての第四の大きさに基づくステップと、
第一のエレメントと第二のエレメントのいずれについて、ユーザー選択意図があるか判定した結果に基づいて、第一のエレメントと第二のエレメントについての選択を、ディスプレイ上に表示するステップと、 を実行するようにプログラムされているシステム。
【請求項9】
請求項に記載のシステムであって、
第一のエレメントと第二のエレメントのいずれについて、ユーザー選択意図があるかを判定するステップは、前記第一の大きさを前記第二の大きさで除算したものからなる重畳割合値と、前記第三の大きさを前記第四の大きさで除算したものからなる重畳割合値の、いずれが大きいかによって、第一のエレメントと第二のエレメントのいずれについて、ユーザー選択意図があるかを判定する、
システム。
【請求項10】
請求項8又は9に記載のシステムであって、
前記第一のエレメントの領域の大きさは、第一のエレメントの重み付けされた大きさを含み、
前記プロセッサは、更に、
第一のエレメントの重み付けされた大きさを、第一のエレメントの実際の大きさと、タスクにおける第一のエレメントの相対的な重要性と、第一のエレメントのコンテキストに基づいて、計算するステップ、
を実行するようにプログラムされている
システム。
【請求項11】
請求項8〜10のいずれか一項に記載のシステムであって、
前記プロセッサは、更に、
ユーザー選択の対象とするには小さすぎるエレメント、ないし、ユーザー選択の対象とすることが禁じられているエレメントを除外するステップ、
を実行するようにプログラムされている
システム。
【請求項12】
請求項8〜11のいずれか一項に記載のシステムであって、
カーソルがユーザー・インターフェースの複数のエレメントのいずれとも重複しない場合に、ユーザー・インターフェースの複数のエレメントに含まれる第一のエレメントと第二のエレメントのそれぞれと一定値以上重なるように、受け付けた入力に基づいた位置において、カーソル・エリアの大きさを増加させるステップが、
ユーザー入力の方向を判定するステップと、
カーソル・エリアの大きさを、前記ユーザ入力の方向に関連する第一の次元に第一の率で増加させ、前記ユーザ入力の方向に関連し第一の次元とは異なる第二の次元に第二の率で増加させるステップと、
を含むシステム。
【請求項13】
請求項8〜12のいずれか一項に記載のシステムであって、前記システムが、ゲーム・システム、セットトップボックス、タブレット、パーソナル・コンピュータ、又は、モバイル・デバイスのいずれかであることを特徴とするシステム。
【発明の詳細な説明】
【背景技術】
【0001】
[0001] カーソルを操作するために、低精度のポインティング・デバイス、例えば、ゲーム・コントローラーやジョイスティックやエア・ジェスチャ(例えば、デプス・カメラをベースにするもの)などを用いるシステムでは、ユーザー・インターフェース(UI)は、理想的には、大きいUIエレメントを用いること、および/またはエレメント間の間隔を相対的に大きく離した散在型レイアウトを用いることにより、精度の不足に適応させる。しかし、これらのレイアウトの制約を有するUIは、提供されないことや、提供すること自体が現実的ではないことが多い。例えば、システムは、高精度のポインティング・デバイス(例えば、マウスやトラックボールやスタイラス)に対して本来は設計されているウェブ・ページなどのような、様々な大きさのUIエレメントおよび/または互いに近接したUIエレメントを含むユーザー・インターフェースを、レンダリングするものであり得る。
【0002】
[0002] 更に、ユーザーが比較的高精度の入力デバイスを操作する場合でさえ、そのユーザーがエレメントから離れたところにいる場合、例えば、大型テレビジョン・スクリーンにおいて、それに応じて可視性を考慮して拡大されたカーソルを用いてブラウジングを行う場合には、UIエレメント間での操作が難しいこともある。ユーザーにより使用可能な膨大な量の既存のウェブ・ページおよび他のコンテンツがあるが、ウェブ・ページの著者や他のユーザー・インターフェース開発者が、それらの者のユーザー・インターフェースを、低精度の入力デバイスのため及び/又は比較的遠距離からの操作のために再設計することは、可能ではない。
【0003】
[0003] これらの状況において、何らかの形態の補助されるターゲティングを提供することが望まれる。「磁気」UIコントロール("magnetic" UI controls)およびエリア・カーソル(従来のカーソルよりも大きい範囲をカバーする)などのような既存の解決法は、この難題に対して部分的には対応するが、特に、ウェブ・ページなどのような任意のUIレイアウトでは、うまく働かない。
【発明の概要】
【0004】
[0004] この概要は、以下の詳細な説明で更に説明する代表的概念の選択したものを、簡素化した形で紹介するものである。この概要は、特許請求される主題事項の鍵となる特徴や本質的な特徴を特定することを意図しておらず、また、特許請求される主題事項の範囲を限定するであろう何れのことに用いることも意図していない。
【0005】
[0005] 簡潔には、ここで説明する主題事項の様々な構成は、ユーザーにより制御されるカーソルの動きに基づいて、ユーザー・インターフェースのエレメントの中でカーソルを配置する技術に関する。2次元エリア・カーソルまたは3次元エリア・カーソルであり得るカーソルは、1つ以上のエレメントと重なる(小さすぎるエレメントや、選択可能でると意図されていないエレメントは除外することができる)。カーソルが複数のエレメントと重なる場合には、それぞれの重なったエレメントに関して計算結果が計算されるが、この計算結果は、そのエレメントとカーソルとの重畳部分に対応する第1サイズと、そのエレメントの大きさに対応する第2サイズとに基づくものであり、複数の重なったエレメントに対しての複数の計算結果が提供される。複数の計算結果は、重なった複数のエレメントのうちの何れを選択の対象とするかに関するユーザーの意図を判定する。限定ではなく例として、各エレメントに対する計算結果は、エリア・カーソルと重なるエレメントの面積をエレメントの全面積で除算したものからなる重畳割合値に対応するものとすることができ、最大の重畳割合値を持つエレメントが選択の対象とされる。
【0006】
[0006] 一つの構成では、カーソルの大きさは、少なくとも1つの基準に基づいて大きくすることができる。例えば、カーソルの大きさは、少なくとも1つのエレメントがカーソルと重なるまで(少なくとも十分な量まで)、または少なくとも2つのエレメントがカーソルと重なるまで(少なくとも十分な量まで)、大きくすることができる。別の例として、カーソルの大きさは、カーソルがエレメントの所定量を取り囲むまで、大きくすることができる。一つの構成では、エリア・カーソルの大きさは1つ以上の基準に基づいて変更することができ、基準は、カーソルの移動速度、エレメントの密度、ユーザーから表示されたプログラム・エレメントまでの距離、および/またはユーザーの特性を含む。
【0007】
[0007] 一つの構成では、エレメントの大きさは、エレメントの実際の大きさに加えて、またはそれに代えて、重み付けした大きさを含むことができる。重み付けは1つ以上の基準に基づくことができ、基準は、タスクの相対的重要性、過去のユーザーの挙動、および/またはページ・エレメントの間の関係を含む。
【0008】
[0008] 他の利点は、以下の詳細な説明および添付の図面から明らかになるであろう。
[0009] 本発明は、例を用いて示されるが、添付の図面に限定されるものではない。添付の図面では、同じ参照番号は同様のエレメントを示す。
【図面の簡単な説明】
【0009】
図1図1は、一つの例示の実施形態に従った、エレメントの中でのカーソルを操作する場合においてユーザーを補助するためのアダプティブ・エリア・カーソルを提供するように構成された例示のコンポーネントを示すブロック図である。
図2A図2Aないし図2Cは、様々な例示の実装に従った、どのようにアダプティブ・エリア・カーソルを操作することができるかと、どのようにアダプティブ・エリア・カーソルを選択のために使用できるかとを表す。
図2B図2Aないし図2Cは、様々な例示の実装に従った、どのようにアダプティブ・エリア・カーソルを操作することができるかと、どのようにアダプティブ・エリア・カーソルを選択のために使用できるかとを表す。
図2C図2Aないし図2Cは、様々な例示の実装に従った、どのようにアダプティブ・エリア・カーソルを操作することができるかと、どのようにアダプティブ・エリア・カーソルを選択のために使用できるかとを表す。
図3図3は、一つの例示の実装に従った、アダプティブ・エリア・カーソルの操作を処理するために行うことができる例示のステップを表すフロー図である。
図4図4は、一つの例示の実装に従った、アダプティブ・エリア・カーソルに対して何れのエレメントを選択するかを判定するために行うことができる例示のステップを表すフロー図である。
図5図5は、ここで説明する主題事項の構成を組み込むことができる、ゲーム・システムの形態の例示の計算環境を表すブロック図である。
【発明を実施するための形態】
【0010】
[0015] ここで説明する技術の様々な構成は、一般には、ユーザー・インターフェース(UI)・エレメント(UIコントロールやUIオブジェクトとも呼ばれる)に対して選択の対象を定めること及びそれを選択すること、特に、大型エレメントと小型エレメントとが混在しているUIにおいて、ユーザーを補助するアダプティブ・エリア・カーソルに関する。一つの実装では、アダプティブ・エリア・カーソルは、エレメントに選択の対象を定めるために用いられ、この方法では、カーソルを、望まれるエレメントの近くに配すること及び/又は望まれるエレメントに重ねること(必ずしも全て重ねるということではない)により、ユーザーがUIエレメントを選択・操作することを可能にする。エリア・カーソルが1つより多くのエレメントに重なる状況では、選択の対象は、アダプティブ・エリア・カーソル機構により選択され、この機構は、一般に、選択の対象とすることが難しいエレメントを有利に扱う(従来のカーソルを用いる場合と比較して)。例えば、この機構は、エレメントを、カーソルのエリアと重なる各エレメントの面積の割合に基づいて、選択することができる。
【0011】
[0016] ここでの何れの例も限定ではないことを理解すべきである。実際、2次元の例を説明するが、この技術は3次元の領域にも適用できる。更に、この技術は、ゲーム・システム、パーソナル・コンピューター、及び/又はタブレットなど、何れの計算デバイスを用いても作用することができる。従って、本発明は、ここで説明される何れの特定の実施形態、構成、概念、構造、機能、または例にも限定されない。むしろ、ここで説明される何れの特定の実施形態、構成、概念、構造、機能、または例も、限定されるものではなく、本発明は、一般的な計算およびコンピューター入力における利益および利点を提供する様々な様式で用いることができる。
【0012】
[0017] 図1はブロック図であり、この図では、デプス・カメラ(depth camera)などのような入力デバイス102が、コンピューター・システム104への入力として用いられており、コンピューター・システム104がアダプティブ・エリア・カーソルを制御することを含んでいる。理解されるように、ゲーム・コントローラー、ジョイスティック、マウスまたは他のポインティング・デバイス、スタイラス、指などを含めての、カーソルを制御できる何れのヒューマン・インターフェース・デバイスも、ここで説明する技術から利益を得ることができる。従って、入力デバイス102は、そのようなデバイスの何れのものをも表す。
【0013】
[0018] 図1の例では、入力デバイス102からの入力信号は、ここで説明されるアダプティブ・エリア・カーソルの提供および使用のために、アダプティブ・エリア・カーソル機構110を含む入力処理機構108により処理される。例えば、入力処理機構108は、オペレーティング・システムの一部とすることができ、それは、サービスとして使用可能なリスト・コンテキストなどであり、アプリケーション及び他のオペレーティング・システム・コンポーネントを含む任意のプログラムにより使用可能であり、且つそれらのプログラムに対して基本的に透明である。この例では、入力処理機構108は、レイアウト機構の形であるレンダリング・コード112と通信し、プログラム114により配されたUIエレメントE1〜E7を考慮して、どのようにアダプティブ・エリア・カーソルを適応させるかを決定し、重畳テストを行うことができる。代替的には、プログラムは、入力処理機構108へ、対象となるエリア(例えば、そのエレメントの位置および大きさ)の集合を、例えば、APIコールを介して又は別の適切なインターフェースを介して、提供することができる。更に、ブラウザーなどのようなプログラムは、エリア・アダプテーション(area adaptation)および重畳テストを含めての、それ自体のカーソル操作を行うことができる。従って、図1は単なる一つの限定ではない例を示す。
【0014】
[0019] 図1に表すように、アダプティブ・エリア・カーソル106は、出力機構116上でUIエレメントE1〜E7の中に混ざって見えるものとして示されている。容易に理解できるように、例示しているよりも多い数または少ない数のエレメントを呈示することができ、また、エレメントは、プログラム・ウィンドゥ内にあるものとすることも、1つのビュー領域に配することもできる。
【0015】
[0020] アダプティブ・エリア・カーソル106は、図1では円として示されているが、エリア・ベースの検出のための他の任意の形状を用いることもでき、他の任意の形状は、矩形や三角形などのような他の幾何学形状、矢印、砂時計、十時線などのような形状、および人間の手をレンダリングしたもの(これは、何らかの追加の見方をユーザーに与えるので、ジェスチャー・ベースの制御においてユーザーには有用であり得る)を含む他の形状を含む。3次元(ボリューム型)の相互作用空間では、球形などのようなボリューム型カーソル形状を用いることができる。エリア・カーソルの大きさは、固定とすることも変化させることもでき、例えば、様々な方法で決定することができ、それは、カーソルの移動の速度、表示されたエレメントの密度、ユーザーの特性に基づくもの(例えば、ユーザーの指や手のひらの大きさ)、ユーザーから表示されたプログラム・エレメントまでの距離(デプス・カメラのデータから知ることができる)、ユーザーが明示した性能情報などを含む。
【0016】
[0021] アダプティブ・エリア・カーソル106は、何らかの方法で可視にすることができ(ソリッドまたは半透明)、また、覆われたエリアに関しては不可視にすることができる(場合によっては、ユーザーの操作を補助するために、カーソルの可視表現を用い、また、タッチ・スクリーンのシナリオでは、可視カーソル表現が全く無いようにすることができる)。これは、既存の任意のUIレイアウトおよびカーソルの視覚化とのコンパチビリティを容易なものとする。例えば、矢印(カーソルを単に重ねているときにポインティング・ハンド(pointing hand)に変わる)は、カーソルとしてユーザーに対して可視とすることができるが、矢印/ポインター・フィンガー(pointer finger)の先端またはその付近に中心がある不可視の円は、矢印の先端が有効にカバーするエリアを拡大することができ、それにより、エリア・カーソルを提供する。そのような「レギュラー」カーソルは、例えばその色を変更するなどのような、何らかの様式での変更を行って(特に、アダプティブ・エリア・カーソルが不可視の場合)、ターゲティングの補助がアクティブであることを示すようにできる。更に、理解されるように、アダプティブ・エリア・カーソルは、その大きさを適合させることができ、また、この変更された大きさは、ユーザーに対して可視とすることも不可視とすることもできる。即ち、アダプティブ・エリア・カーソルは、ユーザーに対して、可視、完全に不可視(例えば、可能性としては、任意の適切な方法で表される「レギュラー」カーソルやそれと同様のものを用いる)、または部分的に可視で部分的に不可視とすることができる。
【0017】
[0022] 図2A図2Cは、エレメントに選択の対象を定める際にユーザーを支援するようにアダプティブ・エリア・カーソルを操作できる様々な様式を示す。図2Aの例では、アダプティブ・エリア・カーソル206は、点C(1画素の小さいものとすることができる)に中心があり、ユーザーにより配されたとおりに、1つのエレメントE8およびE9と重なっている。
【0018】
[0023] 図2Aにおいて理解できるように、エリア・カーソルは、1つより多くのUIエレメントと同時に重なることができる。幾つかの既知のシステムでは、単純なエリア・カーソルは、同時に複数のオブジェクトに対して選択の対象を定めること(例えば、リスト内の複数アイテムにわたる選択を「ペイントする」こと)を可能とされている。選択の対象が1つでなければならない他のシステムでは、カーソルが最も多く重なっているエレメントに基づいて、オブジェクトのうちの1つが選択される。図2Aの例の場合、選択の対象が1つでなければならないシステムでは、大きい方のエレメントE8が選択の対象とされる(ユーザーの意図に対して、誤っている場合も多い)が、それは単に、カーソルの表面面積におけるより多くの面積がそのエレメントと重なっているから、即ち、エレメントE8は、最も多くの画素がカーソルにより覆われているからである。
【0019】
[0024] ここで説明するように、そのような他のシステムとは対照的に、ユーザーは何れのエレメントに選択の対象を定めることを意図していると思われるか、ということの考慮に基づいて選択される。一つの実装では、カーソル206のエリアと重なるエレメントの表面面積の割合に基づいて、エレメントE9が選択される。これは図2においても同じで、図2Aでは、エレメントE9の重なっている絶対面積はエレメントE8の重なっている絶対面積ほど大きくないが、小さい方のエレメントE9が選択の対象とされる。なぜなら、エレメントE8におけるカーソル206と重なる表面面積の割合と比較して、高い割合のエレメントE9の表面面積がカーソル206と重なっているからである。このように、大きいエレメントの近くにある小さいエレメントは、より多くのターゲティング支援を受け、従って、比較的選択し易い。より特定的な例としては、ページを視覚的に再フォーマットせずに、大きいカテゴリーの見出し及び/又はイメージの近くにある小さいテキストのハイパーリンクや他のオブジェクトを、容易に選択可能である。
【0020】
[0025] しかし、アダプティブ・エリア・カーソル機構110が、特定のエレメントを除外するロジックを含むことができることに、留意されたい。例えば、幾つかのページは、追跡目的などに用いるが、選択されることを意図していない1画素×1画素のエレメント(one pixel by one pixel element)を含む。そのような小さいエレメントは、アダプティブ・エリア・カーソル機構110の選択判定において無視する(フィルタリングして除外する)ことができる。なぜなら、それらの画素は、重なったときにはどのような場合でも100%カバーされるが、選択可能とすることを意図されていないからである。このフィルタリングは、UIオブジェクトの大きさやタイプに基づくこと、またはそのオブジェクトの何らかの他の形態のデータに基づくことができる。
【0021】
[0026] 理解できるように、割合に基づく判定は、小型エレメントを選択の対象とすることにおける支援となり、例えば、各エレメントに関して、割合は、重なる画素の数を、そのエレメントの画素の総数で除算したものと等しい。また、割合の比較は、2より多くのエレメントの場合でも機能する。更には、最大割合を自動的に選択することに代えて、何らかの閾値を用いることもでき、例えば、2つのエレメントに関して、少なくとも60パーセント対40パーセントの重畳割合についての閾値を必要とするようにし、そうでない場合には第2の機構(例えば、最大の重畳画素数)を用いるようにすることができる。何れのそのような閾値も変数に基づいて変化させることができ、変数は、ディスプレイからユーザーまでの距離(これはデプス・カメラのデータを介して知ることができる)、エレメントの大きさ及び/又は離隔距離(例えば、2つの小型のエレメントは、50パーセントに近い閾値を有することができる)、エリア・カーソルの大きさなどである。更に、比較するための最終的な値として、正確な割合を使わないようにすることができ、例えば、何れか又は全ての計算された値を、乗算の係数や加算または減算される値などにより変更することができる。これらの係数の計算は、ローカルで、または入力を受け取る機械で、または例えばインターネットのようなコンピューター・ネットワークを介しての別の機械との通信を通じてリモートで、完了することができる。
【0022】
[0027] 別の構成では、エレメントの大きさは、エレメントの実際の大きさによるものではなく、異なる重み付けをしたものとすることができる。即ち、計算で用いられるエレメントの大きさを、その実際の大きさとせずに、1つ以上の基準に基づいて変更することができる。例えば、エレメントの重み付けされた大きさは、タスクに対してのその相対的重要性に基づくことができる。より特定的な例として、ディスエーブルとされていることが知られている選択ボタン(例えば、クリックに対する処理を行わなかったという情報を戻すことによる)は、重みを与えないようにするか、または少なくとも、近くのイネーブルとされたボタンよりもかなり小さい重みを与えるようにする(例えば、割合を用いたモデルでは、重み付けされた大きさを、その実際の大きさに対して大きくするか、または選択されたと考慮されるために必要とされる割合を、変更する)が、これは、2つのボタンへ向けてカーソルを移動させたユーザーが、イネーブルとされたものを選択することを意図している可能性が高いと予測してのことである。以前のユーザーの挙動(ユーザーのグループの中の観察された所与のユーザーに関して)もまた、相対的重要性を変更するための基準として用いることができ、ユーザーの挙動は、例えば、より多くのユーザーが、リンクのリストにおける人気のあるリンクの隣のリンクよりも、その人気のあるリンクをクリックすることや、推測された順に操作することなどでる。スポンサーのあるリンクにも、より多くの重みを与えることができる。
【0023】
[0028] 更に、エレメントを選択するユーザーの意図に関して、ページ・エレメントの間の関係を、エレメントを重み付けするために用いることができる。例えば、ページのタブの順(ユーザーがタブ・キーをクリックした場合の、リンクが操作された順)を、1つのエレメントを別のエレメントと相対して有効に重み付けするために用いることができる。ユーザーが或るフォームへ記入した場合を考えると、その記入において、ユーザーが、ユーザーの番地(street address)を入力し、そのフォーム内の次のエントリの近くへカーソルを移動させ、ユーザーの市区町村(city)を入力したとする。ここで、ユーザー(または殆どのユーザー)は、既に完了させたエレメントやデータ入力とは関係の無いエレメントなどのような別のエレメントではなく、市区町村のデータの入力エレメントへの移動を意図していることを、観察することができる。従って、市区町村の入力エレメントへ追加の重みを与えることができる(例えば、エレメントを有効に小さくして、その重畳割合値を大きくする)。
【0024】
[0029] 図2Bは別の例を示し、この例では、アダプティブ・エリア・カーソル206は、2つのエレメントの近くにあるが、何れとも重なっていない。この例では、アダプティブ・エリア・カーソル206は、エレメントに重なるまで、そのエリアを大きくさせる(大きい破線の円222で示しており、破線の矢印は、変更の方向を示す)。この例では、重なるエレメントはエレメントE11である。重なっていると考えられるためには、重畳部分が少なくとも或る十分な量となる必要があるようにし、その量は最小の場合で1画素とすることができるが、それより多くすることも可能である。大きさの変更は、カーソル・エリアを拡大または縮小させることにより、及び/又はスクリーンをズームすることにより、達成できることに留意されたい。大きさに対しての制限を適用することができ、例えば、それにより、ユーザーは、エレメントに選択の対象を定めないように(例えば、カーソルを単に重ねたり、外観を変える)、スクリーンの空白領域にカーソルを意図的に配することができる。カーソルの大きさの変更は、負の方向とすることもでき、例えば、カーソルの移動速度及び/又は他の変数に応じてエリアを縮めることができる。カーソルの大きさの変更は、カーソルを単に重ねた場合ではなく、エレメントの実際のユーザー選択に限定することができ、例えば、ユーザーは、アダプティブ・エリア・カーソル206が拡大して最も近くのエレメントの場所を示す前に、カーソルを配置してエレメントを選択するアクション(例えば、マウスのクリックに対応する)を行う必要がある(下にあるページ自体がクリック可能なエレメントであることもあり、従って、変更後の大きさの限定は、少なくとも1つの前景エレメントへ到達するように常に拡大させるのではなく、ユーザーがページをクリックできることを確実にするために用いられ得ることに、留意されたい)。
【0025】
[0030] 図2Cは、アダプティブ・エリア・カーソル206が大きさを大きくすることにより適応しているという点において図2Bの例と類似の例を示すが、図2Cでは、カーソル・エリアは、少なくとも2つのエレメントと重なるまで拡大される。この時、割合を用いた選択機構(または他のユーザー意図判定機構)を用いて、何れのエレメントに選択の対象が定められるかを判定することができる。この例では、拡大ステップの前に、或る最小数の画素の重畳部分(これはディスプレイに応じたものとすることができる)を必要とし、それにより、例えば、意味のある割合を計算することができる。従って、図2Cは、エリア・カーソルの直径が拡大して、エレメントE10の最初の画素へ到達した時点で停止するのではなく、少なくとも、重なっていると考慮される十分な量までエレメントE10の或る広さを覆うことを、表している。
【0026】
[0031] カーソルの大きさを変更する他の方法もあり得る。例えば、一つの方法は、1つのエレメントを完全に囲むまで、エリアを大きく(例えば、円の半径を或る最大量まで)することである。別の方法は、完全包囲未満となる或る所定の割合を用いることであり、例えば、カーソルがエレメントの70パーセントと重なるまで大きく(最大まで)する。
【0027】
[0032] 円形カーソルは対称的に大きくしたり小さくしたりするが、非対称的な拡大も考慮されることに、留意されたい。例えば、円形カーソルは、x軸とy軸とで異なって大きくなることにより楕円になることができ、任意の他の形状のカーソルも同様であり、例えば、矩形は幅を広くしたり高くしたりできるが、必ずしも同じレートにしなくてもよい。カーソルは、ディスプレイ・スクリーンのx次元およびy次元や、プログラム・ウィンドゥのx次元およびy次元(またはそれらの何らかの組み合わせ)に比例して、拡大または縮小することができる。ユーザーがカーソルを主として水平方向に動かしているか又は主として垂直方向に動かしているか、ということもカーソルの大きさを変更する際に考慮することができる。
【0028】
[0033] 更に、アダプティブ・エリア・カーソルは、1つ以上の他の変数や基準に基づいて、大きさを動的に変更することができる。例えば、選択の対象となるUIの密度を、カーソルを大きくする場合の基準とすることができ、例えば、近くにある選択の対象となるエレメントが少ない場合に、カーソルの大きさを大きくする。別の基準はエレメントの大きさとすることができ、例えば、2つのエレメントが、それぞれ容易に選択されるほど十分な大きさの場合には、カーソルを大きくさせない(または僅かに大きくする)ようにする。更に別の基準は、現在または最近のカーソルの動きの速度とすることができ、例えば、ユーザーにより1つの場所へ素早く動かされるカーソルは、その場所へゆっくりと動かされる場合よりも不正確に配される場合が多く、従って、大きさを変更(または通常よりも大きい大きさの変更)をすることができる。例えば、円の半径を、カーソルの動きの現在の速度に基づいて、拡大または縮小(或る最小のところまで)させることができる。ユーザーに速度を落とすことを奨励するように、カーソルを、何らかの別の方法でフェード・アウトまたは視覚的に変更することができる。大きさの変更の決定(例えば、全く大きくしない/どの程度大きくする/1つのオブジェクトに対して大きくする又はそれより多くに対して大きくするか)における別の変数は、使用される入力デバイスのタイプとすることができ、また、知られている場合には、ユーザーからディスプレイまでの距離とすることもできる。ユーザー・パフォーマンス・データも変数とすることができる。
【0029】
[0034] 図3は、アダプティブ・エリア・カーソル・オペレーションを介して補助されるターゲティングをフロー図にまとめており、フロー図は、一つの実装の例示のステップを含み、これはステップ302で開始し、そのステップでは、適切にカーソルを動かすことによりプロセスが開始される。ステップ304は、上述したスクリーン・カーソルの動きの速度、近隣の選択の対象となるUIの密度、タブの順などに基づいて、パラメーター(例えば、エレメントの重み、カーソルの大きさ)を調節するオプションのステップを表す。ステップ306は、カーソルがスクリーンの場所へ動くことを可能にすることを表す。
【0030】
[0035] ステップ308は、カーソルが少なくとも1つのエレメントと重なったかを判定することを表す(このステップは、1画素×1画素のエレメントなどのような選択不可能なエレメントを除外/フィルタリング除去する論理を含み得ることに留意されたい)。カーソルがいずれのエレメントと重ならない場合であり、且つ、ステップ310において、カーソルの大きさを変更する(例えば、拡大させる)オプションがアクティブである場合には、ステップ312において、停止基準に適合するまでカーソル・エリアを拡大させるが、停止基準は、例えば、1つのエレメントを十分に重なる(図2B)、2つのエレメントを十分に重なる(図2C)などである。カーソルが拡大しない場合または適切なエレメント重畳部分が無く拡大制限に該当した場合(ステップ312からの破線)、カーソルは、ユーザーが何れのエレメントに対しても選択の対象を定めなかったかのように配され、ステップ302へ戻り、更なる動きを待つ。
【0031】
[0036] ユーザーが配置することにより、またはカーソル・エリアの変更により、エレメントを直接に重なった場合、ステップ314は、選択の対象とされたエレメントを決定することを表し、これは上記で一般的に説明されており、図4で更に例示されている。1つより多くの選択の対象とするエレメントを選択することが可能であるが、それは、プログラムがそのようなシナリオを望む場合のことである。実際、アダプティブ・エリア・カーソル機構は、重なったエレメントのランク付けリストや、それぞれに重畳割合値を付随させたエレメントのリストを返すことがでる。
【0032】
[0037] 図4において、ステップ402は、1つより多くのエレメントに重なったかを評価することを表す。1つのエレメントのみに重なった場合、ステップ404において、重なったエレメントが選択される。1つより多くのエレメントに重なった場合、ステップ406において、上述のようにユーザーの意図を判定する。
【0033】
[0038] 図4の例では、各エレメントに対して、ステップ406において、そのエレメントの大きさに対しての、カーソルがエレメントと重なった割合が計算される。上述のように、この大きさは、実際のエレメントの大きさと等しい必要はなく、1つ以上の別の基準に基づいて重み付けした大きさとすることができ、基準は、例えば、エレメントの重要性、タブの順、このユーザー及び/又は他のユーザーの過去の挙動などである。ステップ408では、選択されたターゲット・エレメントとして、最大の重畳割合値を持つものを選ぶ。その結果として、アダプティブ・エリア・カーソルは、そのカーソルと重なる小さいエレメントを、競合する大きいエレメントがより多くの重なっている画素を有しているか否かにかかわらず、その大きいエレメントに勝るものとして選ぶ(選択の対象とし、随意に選択する)。
[0039] 図3に戻ると、ステップ314はまた、選択されたエレメントを何らかの方法で適切なように示すことを表す。例えば、図3において説明したカーソルを単に重ねるシナリオでは、カーソルは、エレメントが選択されたことを示すために、形状を変更することができる。カーソルはエレメント間に位置することができるので、可視カーソルはまた、システムにより自動的に動かすこと(例えば、選択されたエレメントの中心に対応する位置へジャンプさせる)ができ、それにより、その特定の選ばれたエレメントが選択されたことを更に明確に示せることに、留意されたい。カーソルを単に重ねるシナリオではないシナリオでは、カーソルの動きの停止をステップ308のトリガーとする代わりに、ユーザーによる選択のアクティブなインジケーション(例えば、クリックに対応する)がステップ308およびその先のものをトリガーする。
【0034】
[0040] ステップ316は、選択の対象としたエレメントを選択するためにユーザーが何らかのアクションを行うことを示し、アクションは、例えば、カーソルを単に重ねているエレメントにおいてのマウスのクリックの発生、カーソルを単に重ねている状況の一定時間以上の継続、コンテンツ・メニューの呼び出しなどのようなものである。そうである場合、ステップ318により表すようにアクションが行われ、例えば、エレメントを提供したプログラムに応じて適切に、クリックしたリンクに対応する新たなページのブラウジング、アイテムのハイライト化、ドロップダウン・メニューの提供などを行う。アクションが行われない場合、ステップ320により表すように、システムは、ユーザーがエレメントからカーソルを離すまで、現在の状態にとどまり、それにより、プロセスのターゲティング判定部分は、ユーザーがカーソルの動きを止めるまで、ステップ304および306を通じて待機する。
【0035】
[0041] 理解できるように、選択の対象とすることが難しいエレメントを選択の対象にする際にユーザーを補助するアダプティブ・エリア・カーソルが提供される。その結果として、ユーザーは、小さいUIエレメントを選択するために、そのUIエレメントの直上にカーソルを正確に動かす必要がなくなる。そのためには、円状の領域などのようなエリアを、実際のカーソル位置と関連して(例えば、実際のカーソル位置を中心として)配することができ、それぞれのインタラクティブUIエレメントと関連する重畳領域を決定する(重畳領域の大きさは、それぞれのオブジェクトの視覚表現と一致することも、一致しないこともある)。カーソルのエリアは、近くにあるUIオブジェクトの大きさ及び/又は位置に基づいて変更することができ、例えば、停止基準に適合するまで、エリアを拡大させることができ、停止基準は、例えば、少なくとも1つのインタラクティブ・エレメントに重なること、少なくとも2以上のインタラクティブ・エレメントに重なること、1つのエレメントを取り囲むことなどである。1つのエレメントが選択の対象とされ、これは、ユーザーの選択の意図と一致させることを試みるが、この試みは、例えば、カーソルの大きさと重なるそれぞれのエレメントの大きさ(例えば、表面面積または重み付けされた面積)の割合に基づき、最大の割合を用いて選択を行う。
【0036】
例示の動作環境
[0042] 上記の実装とその代替形態とを、任意の適切な計算デバイスにおいてインプリメントできることが容易に理解でき、計算デバイスは、ゲーム・システム、パーソナル・コンピューター、タブレット、スマートフォンなどを含む。説明を目的として、ゲーム(媒体を含む)・システムを、動作環境の一例として以下で説明する。
【0037】
[0043] 図5は、ゲームおよびメディア・システム500の機能ブロック図であり、より詳細に機能コンポーネントを示す。コンソール501は、中央処理装置(CPU)502とメモリ・コントローラー503とを含み、処理装置が様々なタイプのメモリへアクセスすることを容易にし、メモリは、フラッシュ・リード・オンリー・メモリ(ROM)504、ランダム・アクセス・メモリ(RAM)506、ハード・ディスク・ドライブ508、およびポータブル・メディア・ドライブ509を含む。一つの実装では、CPU502は、レベル1キャッシュ510およびレベル2キャッシュ512を含み、一時的にデータを格納し、それにより、ハード・ドライブに対して行われるメモリ・アクセスのサイクルの数を低減し、それにより処理速度およびスループットを向上させる。
【0038】
[0044] CPU502、メモリ・コントローラー503、および様々なメモリ・デバイスは、1つ以上のバス(図示せず)を介して相互接続される。この実装で用いられるバスの詳細は、ここで説明している対象となる主題事項を理解することと、特には関連しない。しかし、そのようなバスが、様々なバス・アーキテクチャーのうちの任意のものを用いるシリアル・バスおよびパラレル・バス、メモリ・バス、周辺バス、およびプロセッサー・バスまたはローカル・バスのうちの1つ以上のものを含み得ることは、理解されるであろう。例として、そのようなアーキテクチャーは、インダストリー・スタンダード・アーキテクチャー(ISA)・バス、マイクロ・チャンネル・アーキテクチャー(MCA)・バス、エンハンストISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)・ローカル・バス、およびメザニン・バスとしても知られているペリフェラル・コンポーネント・インターコネクト(PCI)・バスを含むことができる。
【0039】
[0045] 一つの実装では、CPU502、メモリ・コントローラー503、ROM504、およびRAM506は、共通モジュール514上に統合される。この実装では、ROM504は、フラッシュROMとして構成され、ペリフェラル・コンポーネント・インターコネクト(PCI)・バスなど及びROMバスなど(何れも示していない)を介して、メモリ・コントローラー503へ接続される。RAM506は、別個にされたバス(図示せず)を介してメモリ・コントローラー503により独立して制御される複数のダブル・データ・レート・シンクロナス・ダイナミックRAM(DDR SDRAM)モジュールとして構成することができる。示されているハード・ディスク・ドライブ508およびポータブル・メディア・デバイス509は、PCIバスおよびATアタッチメント(ATA)・バス516を介してメモリ・コントローラー503へ接続されている。しかし、別の実装では、別のタイプの専用のデータ・バス構造を代替物において適用することもできる。
【0040】
[0046] 三次元グラフィックス処理装置520とビデオ・エンコーダー522とが、高速および高分解能(例えば、高精細)のグラフィックス処理のためのビデオ処理パイプラインを形成する。データは、グラフィックス処理装置520からデジタル・ビデオ・バス(図示せず)を介してビデオ・エンコーダー522へ搬送される。オーディオ処理装置524とオーディオ・コーデック(コーダー/デコーダー)526とは、様々なデジタル・オーディオ・フォーマットのマルチチャンネル・オーディオ処理のための、対応するオーディオ処理パイプラインを形成する。オーディオ・データは、オーディオ処理装置524とオーディオ・コーデック526との間で通信リンク(図示せず)を介して搬送される。ビデオ処理パイプラインおよびオーディオ処理パイプラインは、データを、テレビジョンまたは他のディスプレイへ送信するために、A/V(オーディオ/ビデオ)ポート528へ出力する。例示の実装では、ビデオおよびオーディオの処理コンポーネント520、522、524、526、および528は、モジュール514へ取り付けられる。
【0041】
[0047] 図5は、USBホスト・コントローラー530とネットワーク・インターフェース(NW I/F)532とを含むモジュール514を示し、これは、有線コンポーネント及び/又はワイヤレス・コンポーネントを含むことができる。示されているUSBホスト・コントローラー530は、バス(例えば、PCIバス)介してCPU502およびメモリ・コントローラー503と通信し、ペリフェラル・コントローラー534のホストとして働く。ネットワーク・インターフェース532は、ネットワーク(例えば、インターネット、ホーム・ネットワークなど)へのアクセスを提供し、様々な多種の有線またはワイヤレスのインターフェース・コンポーネントのうちの任意のものとすることができ、そのインターフェース・コンポーネントは、イーサネット(登録商標)・カードまたはインターフェース・モジュール、モデム、Bluetooth(登録商標)・モジュール、ケーブル・モデムなどを含む。
【0042】
[0048] 図5に示す例示の実装では、コンソール501は4つのゲーム・コントローラー541(1)〜541(4)をサポートするためのコントローラー・サポート・サブアセンブリ540を含む。コントローラー・サポート・サブアセンブリ540は、例えばメディアおよびゲーム・コントローラーなどのような外部制御デバイスとの有線及び/又はワイヤレスのオペレーションをサポートするために必要な任意のハードウェアおよびソフトウェアのコンポーネントを含む。フロント・パネルI/Oサブアセンブリ542は、パワー・ボタン543、イジェクト・ボタン544および他の任意のボタン、および任意のLED(発光ダイオード)や、コンソール501の外面に露出した他のインジケーターの複数の機能を、サポートする。サブアセンブリ540および542は、1つ以上のケーブル・アセンブリ542などを介してモジュール514と通信する。別の実装では、コンソール501は、追加の制御サブアセンブリを含むことができる。例示の実装はまた、信号を送信および受信(例えば、リモート・コントローラー549から)するように構成される光I/Oインターフェース548示し、この信号はモジュール514と通信することができる。
【0043】
[0049] メモリ・ユニット(MU)550(1)および550(2)は、それぞれ、MUポート「A」552(1)およびMUポート「B」552(2)へ接続可能なものとして示されている。それぞれのMU550は、ゲーム、ゲーム・パラメーター、および他のデータを格納することができる追加のストレージを提供する。幾つかの実装では、他のデータは、デジタル・ゲーム・コンポーネント、実行可能ゲーム・アプリケーション、ゲーム・アプリケーションを拡張するための命令セット、およびメディア・ファイルのうちの1つ以上のものを含むことができる。それぞれのMU550は、コンソール501へ挿入されたときに、メモリ・コントローラー503によりアクセスされ得る。
【0044】
[0050] システム電源モジュール554は、ゲーム・システム500のコンポーネントへ電力を提供する。ファン556は、コンソール501内の回路を冷却する。
[0051] マシン命令を含むアプリケーション560は、典型的には、ハード・ディスク・ドライブ508に格納される。コンソール501がパワー・オンされると、アプリケーション560の様々な部分が、CPU502での実行のために、RAM506及び/又はキャッシュ510および512へロードされる。一般に、アプリケーション560は、様々な表示機能を行うための1つ以上のプログラム・モジュールを含むことができ、それらの機能とは、ディスプレイ(例えば、高精細モニター)へ表示するためのダイアログ・スクリーンの制御、ユーザー入力に基づくトランザクションの制御、およびコンソール501と外部接続されたデバイスとの間でのデータの送信および受信の制御などである。
【0045】
[0052] ゲーム・システム500は、システムを、テレビジョン、ビデオ・プロジェクター、または他のディスプレイ・デバイスへ接続することにより、スタンドアローンとして動作させることができる。このスタンドアローン・モードでは、ゲーム・システム500は、1人以上のプレーヤーがゲームを行うことや、例えば映画を見たり音楽を聴いたりすることにより、デジタル・メディアを楽しむことを、可能にする。しかし、ネットワーク・インターフェース532を介して使用可能とされるブロードバンド・コネクティビティと統合されると、ゲーム・システム100は、更に、大きいネットワーク・ゲームのコミュニティやシステムにおける参加コンポーネントとして動作させることができる。
【0046】
まとめ
[0053] 本発明は、様々な変更や代替の構成が可能であるが、その特定の例示の実施形態が図面に示され、上記で詳細に説明された。しかし、本発明を、開示した特定の形態に限定することは意図しておらず、逆に、本発明は、本発明の精神内および範囲内にある全ての変更物、代替構成、および等価物をカバーすると理解すべきである。
図1
図2A
図2B
図2C
図3
図4
図5