(57)【特許請求の範囲】
【請求項１】
第１の時点で第１のユーザ入力を受け取ることと、
前記第１のユーザ入力を受け取ったことに応答して、前記第１の時点における視線位置に対応する複数のオブジェクトのうちの第１のオブジェクトを指定することと、
前記第１のオブジェクトの指定を維持しながら、第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、
前記第１のオブジェクトの指定を停止することと、
前記複数のオブジェクトのうちの第２のオブジェクトを指定することであって、前記第２のオブジェクトを指定することは前記視線位置に基づいていない、第２のオブジェクトを指定することと、
前記第２のオブジェクトの指定を維持しながら、第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記第２のオブジェクトを選択することと、
前記第２のオブジェクトを選択した後、第２の時点で第４のユーザ入力を受け取ることと、
前記第４のユーザ入力を受け取ったことに応答して、
前記第２の時点おける視線位置が複数の選択可能な配置位置に対応するとの判定に従って、前記第２の時点における前記視線位置に対応する配置ポイントを指定することと、
前記第２の時点おける視線位置が単一の選択可能な配置位置に対応するとの判定に従って、前記第２のオブジェクトを前記第２の時点における視線位置に配置することと、
を含む、方法。
【請求項２】
前記第１のオブジェクトは、前記第１の時点における前記視線位置が２つ以上の選択可能なオブジェクトへの視線に対応するとの判定に従って指定され、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、
前記第１の時点における前記視線位置が、単一の選択可能なオブジェクトのみへの視線に対応するとの判定に従って、前記単一の選択可能なオブジェクトを選択すること、
を更に含む、請求項１に記載の方法。
【請求項３】
前記配置ポイントの指定を維持しながら、第５のユーザ入力を受け取ることと、
前記第５のユーザ入力を受け取ったことに応答して、前記第２のオブジェクトを前記配置ポイントの現在位置に配置することと、
を更に含む、請求項１に記載の方法。
【請求項４】
電子デバイスが第１のモードである間に前記第１のユーザ入力が受け取られ、前記第１のオブジェクトは、前記電子デバイスが前記第１のモードにあることに従って指定され、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、前記電子デバイスを前記第１のモードから第２のモードに切り替えることであって、前記電子デバイスが前記第２のモードにある間に前記第２のユーザ入力が受け取られ、前記第２のオブジェクトは、前記電子デバイスが前記第２のモードにあることに従って指定される、切り替えることを更に含む、
請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記第１のユーザ入力は、前記第２のユーザ入力又は前記第３のユーザ入力と同じタイプの入力である、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記第２のユーザ入力が第２の時点におけるものであり、前記第２の時点における前記第２のオブジェクトの位置は、前記第２の時点における視線位置とは異なる、請求項１から５のいずれか一項に記載の方法。
【請求項７】
電子デバイスの１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶するコンピュータ可読記憶媒体であって、前記１つ以上のプログラムは、請求項１から６のいずれか一項に記載の方法を実行する命令を含む、コンピュータ可読記憶媒体。
【請求項８】
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶するメモリであって、前記１つ以上のプログラムは、請求項１から６のいずれか一項に記載の方法を実行する命令を含む、メモリと、
を備える、電子デバイス。
【請求項９】
請求項１から６のいずれか一項に記載の方法を実行するための手段を備える、電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、電子デバイスと対話するためのユーザインタフェースに関し、より具体的には、視線を使用して電子デバイスと対話するためのユーザインタフェースに関する。
【背景技術】
【０００２】
本出願は、２０１７年９月２９日出願の「Ａｃｃｅｓｓｉｎｇ  Ｆｕｎｃｔｉｏｎｓ  ｏｆ  Ｅｘｔｅｒｎａｌ  Ｄｅｖｉｃｅｓ  Ｕｓｉｎｇ  Ｒｅａｌｉｔｙ  Ｉｎｔｅｒｆａｃｅｓ」と題する米国特許出願第６２／５６６，０７３号、２０１７年９月２９日出願の「Ｃｏｎｔｒｏｌｌｉｎｇ  Ｅｘｔｅｒｎａｌ  Ｄｅｖｉｃｅｓ  Ｕｓｉｎｇ  Ｒｅａｌｉｔｙ  Ｉｎｔｅｒｆａｃｅｓ」と題する米国特許出願第６２／５６６，０８０号、２０１７年９月２９日出願の「Ｇａｚｅ  ｂａｓｅｄ  Ｕｓｅｒ  Ｉｎｔｅｒａｃｔｉｏｎｓ」と題する米国特許出願第６２／５６６，２０６号、及び２０１８年９月２１日出願の「Ｇａｚｅ  ｂａｓｅｄ  Ｕｓｅｒ  Ｉｎｔｅｒａｃｔｉｏｎｓ」と題する米国特許出願第６２／７３４，６７８号に対する優先権を主張し、すべての目的のためにそれらの全体を本願明細書に援用したものとする。
関連技術の説明
【０００３】
従来の電子デバイスは、キーボード、ボタン、ジョイスティック、及びタッチスクリーンなどの入力メカニズムを使用して、ユーザからの入力を受け取る。いくつかの従来のデバイスはまた、ユーザの入力に応答してコンテンツを表示する画面を含む。このような入力メカニズム及びディスプレイは、ユーザが電子デバイスと対話するためのインタフェースを提供する。
【発明の概要】
【０００４】
本開示は、視線を使用して電子デバイスと対話するための技術を説明する。いくつかの実施形態によれば、ユーザは、自分の目を使用して、電子デバイス上に表示されたユーザインタフェースオブジェクトと対話する。この技術は、いくつかの例示的な実施形態では、ユーザが主に視線及びアイジェスチャ（例えば、眼球の移動、瞬き、及び凝視）を使用してデバイスを操作することを可能にすることによって、より自然かつ効率的なインタフェースを提供する。視線を使用して（例えば、オブジェクトを選択又は配置するために）初期位置を迅速に指定し、次いで、ユーザの視線の位置の不確実性及び不安定性のために、指定された位置を正確に位置特定することが困難であり得るので、視線を使用することなく指定された位置を移動する技術も説明される。この技術は、デスクトップコンピュータ、ラップトップ、タブレット、及びスマートフォンなどのデバイス上の従来のユーザインタフェースに適用することができる。この技術はまた、以下により詳細に説明するように、コンピュータ生成現実（仮想現実及び複合現実を含む）デバイス及び用途にとっても有益である。
【０００５】
いくつかの実施形態によれば、第１の表示されたオブジェクトに関連付けられたアフォーダンスが表示され、視線方向又は視線深さが判定される。視線方向又は視線深さがアフォーダンスへの視線に対応するかどうかの判定が行われる。アフォーダンスに対してアクションを取る旨の命令を表す第１の入力が受け取られ、一方で、視線方向又は視線深さは、アフォーダンスへの視線に対応すると判定され、アフォーダンスは、第１の入力を受け取ったことに応答して選択される。
【０００６】
いくつかの実施形態によれば、第１のアフォーダンス及び第２のアフォーダンスが同時に表示され、１つ以上の目の第１の視線方向又は第１の視線深さが判定される。第１の視線方向又は第１の視線深さが第１のアフォーダンスと第２のアフォーダンスの両方への視線に対応するかどうかの判定が行われる。第１の視線方向又は第１の視線深さが第１のアフォーダンスと第２のアフォーダンスの両方への視線に対応すると判定したことに応答して、第１のアフォーダンス及び第２のアフォーダンスは拡大される。
【０００７】
いくつかの実施形態によれば、電子デバイスは、３次元コンピュータ生成現実環境の視野を表示するように適合され、その視野は、見ているパースペクティブからレンダリングされる。第１のオブジェクトは、第２のオブジェクトと同時に表示され、第１のオブジェクトは、第２のオブジェクトよりも見ている位置から近くに提示される。視線位置が判定される。視線位置が第１のオブジェクトへの視線に対応するとの判定に従って、第２のオブジェクトの表示は視覚的に変更される。視線位置が第２のオブジェクトへの視線に対応するとの判定に従って、第１のオブジェクトの表示は視覚的に変更される。
【０００８】
いくつかの実施形態によれば、第１のユーザ入力は、第１の時点で受け取られる。第１のユーザ入力を受け取ったことに応答して、選択ポイントは、第１の時点における視線位置に対応する第１の位置で指定される。選択ポイントの指定を維持しながら、第２のユーザ入力が受け取られる。第２のユーザ入力を受け取ったことに応答して、選択ポイントは、第１の位置とは異なる第２の位置に移動され、選択ポイントを第２の位置に移動することは、視線位置に基づかない。選択ポイントが第２の位置にある間に、第３のユーザ入力が受け取られる。第３のユーザ入力を受け取ったことに応答して、選択ポイントは、第２の位置で確認される。
【０００９】
いくつかの実施形態によれば、第１のユーザ入力は、第１の時点で受け取られる。第１のユーザ入力を受け取ったことに応答して、第１の時点における視線位置に対応する複数のオブジェクトのうちの第１のオブジェクトが指定される。第１のオブジェクトの指定を維持しながら、第２のユーザ入力が受け取られる。第２のユーザ入力を受け取ったことに応答して、第１のオブジェクトの指定が停止され、複数のオブジェクトのうちの第２のオブジェクトが指定され、第２のオブジェクトを指定することは、視線位置に基づかない。第２のオブジェクトの指定を維持しながら、第３のユーザ入力が受け取られる。第３のユーザ入力を受け取ったことに応答して、第２のオブジェクトが選択される。
【００１０】
いくつかの実施形態によれば、オブジェクトが選択される。オブジェクトの選択を維持しながら、第１のユーザ入力は、第１の時点で受け取られる。第１のユーザ入力を受け取ったことに応答して、第１の時点における視線位置に基づいて配置ポイントが第１の位置で指定され、第１の位置は、第１の時点における視線位置に対応する。配置ポイントの指定を維持しながら、第２のユーザ入力が受け取られる。第２のユーザ入力を受け取ったことに応答して、配置ポイントは、第１の位置とは異なる第２の位置に移動され、配置ポイントを第２の位置に移動することは、視線位置に基づかない。第３のユーザ入力が受け取られ、第３のユーザ入力を受け取ったことに応答して、選択されたオブジェクトは、第２の位置に配置される。
【図面の簡単な説明】
【００１１】
説明される様々な実施形態のより良好な理解のために、以下の図面と併せて、以下の「発明を実施するための形態」を参照されたく、類似の参照番号は、それらの図の全体を通して対応する部分を指す。
【図１Ａ】仮想現実及び複合現実を含む、様々なコンピュータ生成現実技術で使用するための例示的なシステムを示す。
【図１Ｂ】仮想現実及び複合現実を含む、様々なコンピュータ生成現実技術で使用するための例示的なシステムを示す。
【図１Ｃ】モバイルデバイスの形態のシステムの実施形態を示す。
【図１Ｄ】モバイルデバイスの形態のシステムの実施形態を示す。
【図１Ｅ】モバイルデバイスの形態のシステムの実施形態を示す。
【図１Ｆ】ヘッドマウントディスプレイ（ＨＭＤ）デバイスの形態のシステムの実施形態を示す。
【図１Ｇ】ヘッドマウントディスプレイ（ＨＭＤ）デバイスの形態のシステムの実施形態を示す。
【図１Ｈ】ヘッドマウントディスプレイ（ＨＭＤ）デバイスの形態のシステムの実施形態を示す。
【図１Ｉ】ヘッドアップディスプレイ（ＨＵＤ）デバイスの形態のシステムの実施形態を示す。
【図２】様々な実施形態に係る、オブジェクトを見ているユーザを示す。
【図３】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図４】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図５】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図６】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図７】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図８】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図９】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１０】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１１】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１２】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１３】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１４】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１５】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１６】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【図１７】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【図１８】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【図１９Ａ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｂ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｃ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｄ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｅ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｆ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｇ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｈ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｉ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｊ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｋ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｌ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｍ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｎ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｏ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｐ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｑ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｒ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｓ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｔ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｕ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｖ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｗ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｘ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図１９Ｙ】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【図２０】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【図２１】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【図２２】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【発明を実施するための形態】
【００１２】
以下の説明は、例示的な方法、パラメータなどについて記載する。しかしながら、そのような説明は、本開示の範囲に対する限定として意図されるものではなく、代わりに例示的な実施形態の説明として提供されることを認識されたい。
【００１３】
電子システム及び、そのようなシステムを、仮想現実及び複合現実を含む様々なコンピュータ生成現実技術に関連して使用するための技術（物理的環境からの感覚入力を組み込む）の、様々な実施形態が説明される。
【００１４】
物理的環境（又は現実環境）とは、人々が電子システムの助けを借りずに、感知及び／又は相互作用することができる物理的世界を指す。物理的な公園などの物理的環境には、物理的な木々、物理的な建物、及び物理的な人などの物理的物品（又は物理的部ジェクト又は現実のオブジェクト）が挙げられる。人々は、視覚、触覚、聴覚、味覚、及び臭覚などを介して、物理的環境を直接感知し、及び／又はそれと相互作用することができる。
【００１５】
対照的に、コンピュータ生成現実（ＣＧＲ）環境は、人々が電子システムを介して感知及び／又は相互作用する全体的又は部分的にシミュレーションされた環境を指す。ＣＧＲでは、人の身体運動のサブセット又はその表現が追跡され、それに応答して、ＣＧＲ環境内でシミュレートされた１つ以上の仮想オブジェクトの１つ以上の特性が、少なくとも１つの物理学の法則でふるまうように調整される。例えば、ＣＧＲシステムは、人の頭部の回転を検出し、それに応答して、そのようなビュー及び音が物理的環境においてどのように変化し得るかと同様の方法で、人に提示されるグラフィックコンテンツ及び音場を調整することができる。状況によっては（例えば、アクセス性の理由から）、ＣＧＲ環境における仮想オブジェクト（単数又は複数）の特性（単数又は複数）に対する調整は、身体運動の表現（例えば、音声コマンド）に応じて行われてもよい。
【００１６】
人は、視覚、聴覚、触覚、味覚及び嗅覚を含むこれらの感覚のうちのいずれか１つを使用して、ＣＧＲオブジェクトを感知する及び／又はＣＧＲオブジェクトと対話してもよい。例えば、人は、３Ｄ空間内のポイントオーディオソースの知覚を提供する、３Ｄ又は空間オーディオ環境を作り出すオーディオオブジェクトを感知し、及び／又はそれと対話することができる。別の例では、オーディオオブジェクトは、コンピュータ生成オーディオの有無にかかわらず、物理的環境から周囲音を選択的に組み込む、オーディオ透過性を可能にすることができる。いくつかのＣＧＲ環境では、人は、オーディオオブジェクトのみを感知し、及び／又はそれと対話することができる。
【００１７】
ＣＧＲの例としては、仮想現実及び複合現実が挙げられる。
【００１８】
仮想現実（ＶＲ）環境（又は仮想環境）とは、１つ以上の感覚のためのコンピュータ生成感覚入力に完全に基づくように設計されたシミュレーション環境を指す。ＶＲ環境は、人が感知及び／又は相互作用することができる複数の仮想オブジェクトを含む。例えば、木、建物、及び人々を表すアバターのコンピュータ生成イメージは、仮想オブジェクトの例である。人は、コンピュータ生成環境内での人の存在のシミュレーションを通じて、及び／又はコンピュータ生成環境内での人の身体運動のサブセットのシミュレーションを通じて、ＶＲ環境における仮想オブジェクトを感知し、及び／又はそれと対話することができる。
【００１９】
コンピュータ生成感覚入力に完全に基づくように設計されたＶＲ環境とは対照的に、複合現実（ＭＲ）環境は、コンピュータ生成感覚入力（例えば、仮想オブジェクト）を含むことに加えて、物理的環境からの感覚入力又はその表現を組み込むように設計されたシミュレーション環境を指す。仮想の連続体上では、複合現実環境は、一方の端部における完全な物理的環境と、他方の端部における仮想現実環境との間であるがこれらを含まない、任意の場所である。
【００２０】
ＭＲ環境によっては、コンピュータ生成感覚入力は、物理的環境からの感覚入力の変更に応答し得る。また、ＭＲ環境を提示するためのいくつかの電子システムは、仮想オブジェクトが現実のオブジェクト（すなわち、物理的環境又はその表現からの物理的物品）と対話することを可能にするために、物理的環境に対する場所及び／又は向きを追跡することができる。例えば、システムは、仮想の木が物理的な地面に対して静止して見えるように、移動を考慮することができる。
【００２１】
複合現実の例としては、拡張現実及び拡張仮想が挙げられる。
【００２２】
拡張現実（ＡＲ）環境は、１つ以上の仮想オブジェクトが物理的環境上か又はその表現上に重ねられたシミュレーション環境を指す。例えば、ＡＲ環境を提示するための電子システムは、人が物理的環境を直接見ることができる透明又は半透明のディスプレイを有してもよい。システムは、透明又は半透明のディスプレイ上に仮想オブジェクトを提示するように構成されていてもよく、それによって、人はシステムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。あるいは、システムは、不透明ディスプレイと、物理的環境の表現である、物理的環境の画像又はビデオをキャプチャする１つ以上の画像センサとを有してもよい。システムは、画像又はビデオを仮想オブジェクトと合成し、その合成物を不透明なディスプレイ上に提示する。人は、システムを使用して、物理的環境の画像又はビデオによって物理的環境を間接的に見て、物理的環境上に重ねられた仮想オブジェクトを知覚する。本明細書で使用するとき、不透明ディスプレイ上に示される物理的環境のビデオは、「パススルービデオ」と呼ばれ、システムが、１つ以上の画像センサ（単数又は複数）を使用して、物理的環境の画像をキャプチャし、不透明ディスプレイ上にＡＲ環境を提示する際にそれらの画像を使用することを意味する。更に代替的に、システムは、仮想オブジェクトを、物理的環境に、例えば、ホログラムとして又は物理的表面上に投影するプロジェクションシステムを有してもよく、それによって、人は、システムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。
【００２３】
拡張現実環境はまた、物理的環境の表現がコンピュータ生成感覚情報によって変換されるシミュレーション環境を指す。例えば、パススルービデオを提供する際に、システムは、１つ以上のセンサ画像を変換して、画像センサによってキャプチャされた視点は異なる選択パースペクティブ視点（例えば、視点）を課すことができる。別の例として、物理的環境の表現は、その一部分をグラフィカルに変更（例えば、拡大）することによって変換されてもよく、それにより、変更された部分は、元のキャプチャ画像を表すが写実的ではないバージョンとなり得る。更なる例として、物理的環境の表現は、その一部分をグラフィカルに除去又は曖昧化することによって変換されてもよい。
【００２４】
拡張仮想（ＡＶ）環境は、物理的環境からの１つ以上の感覚入力を仮想環境又はコンピュータ生成環境が組み込むシミュレーション環境を指す。感覚入力は、物理的環境の１つ以上の特性の表現であり得る。例えば、ＡＶパークには、仮想の木及び仮想の建物があり得るが、顔がある人々は、物理的な人々が撮られた画像から写実的に再現される。別の例として、仮想オブジェクトは、１つ以上の画像センサによって撮像された物理的物品の形状又は色を採用してもよい。更なる例として、仮想オブジェクトは、物理的環境における太陽の位置と一致する影を採用することができる。
【００２５】
多種多様の電子システムが存在することによって、人が様々なＣＧＲ環境を感知する及び／又はＣＧＲ環境と対話できるようになる。例としては、ヘッドマウントシステム、プロジェクションベースシステム、ヘッドアップディスプレイ（ＨＵＤ）、統合表示機能を有する車両ウィンドシールド、統合表示機能を有する窓、（例えば、コンタクトレンズと同様に）人の目の上に配置されるように設計されたレンズとして形成されたディスプレイ、ヘッドホン／イヤフォン、スピーカアレイ、入力システム（例えば、触覚フィードバックを有する又は有さない、ウェアラブル又はハンドヘルドコントローラ）、スマートフォン、タブレット、及びデスクトップ／ラップトップコンピュータ、が挙げられる。ヘッドマウントシステムは、１つ以上のスピーカ（単数又は複数）及び一体型不透明ディスプレイを有してもよい。あるいは、ヘッドマウントシステムは、外部の不透明ディスプレイ（例えば、スマートフォン）を受け入れるように構成されていてもよい。ヘッドマウントシステムは、物理的環境の画像若しくはビデオをキャプチャするための１つ以上の画像センサ、及び／又は物理的環境の音声をキャプチャするための１つ以上のマイクロフォンを組み込んでいてもよい。不透明ディスプレイではなく、ヘッドマウントシステムは、透明又は半透明のディスプレイを有してもよい。透明又は半透明のディスプレイは、画像を表す光が人の目に向けられる媒体を有してもよい。ディスプレイは、デジタル光投影、ＯＬＥＤ、ＬＥＤ、ｕＬＥＤ、液晶オンシリコン、レーザスキャン光源、又はこれらの技術の任意の組み合わせを利用することができる。媒体は、光導波路、ホログラム媒体、光結合器、光反射器、又はこれらの任意の組み合わせであってもよい。一実施形態では、透明又は半透明のディスプレイは、選択的に不透明になるように構成されていてもよい。プロジェクションベースシステムは、グラフィック画像を人間の網膜上に投影する網膜投影技術を採用することができる。プロジェクションシステムはまた、例えば、ホログラムとして、又は物理的表面上に、仮想オブジェクトを物理的環境内に投影するように構成されていてもよい。
【００２６】
図１Ａ及び図１Ｂは、仮想現実及び複合現実を含む、様々なコンピュータ生成現実技術で使用するための例示的なシステム１００を示す。
【００２７】
いくつかの実施形態では、図１Ａに示すように、システム１００は、デバイス１００ａを含む。デバイス１００ａは、プロセッサ（単数又は複数）１０２、ＲＦ回路（単数又は複数）１０４、メモリ（単数又は複数）１０６、画像センサ（単数又は複数）１０８、向きセンサ（単数又は複数）１１０、マイクロフォン（単数又は複数）１１２、位置センサ（単数又は複数）１１６、スピーカ（単数又は複数）１１８、ディスプレイ（単数又は複数）１２０、及びタッチ感知面１２２などの様々な構成要素を含む。これらの構成要素は、任意選択的に、デバイス１００ａの通信バス（単数又は複数）１５０を介して通信する。
【００２８】
いくつかの実施形態では、システム１００の要素は、基地局デバイス（例えば、リモートサーバ、モバイルデバイス、又はラップトップなどのコンピューティングデバイス）内に実装され、システム１００の他の要素は、ユーザによって装着されるように設計されたヘッドマウントディスプレイ（ＨＭＤ）デバイス内に実装され、ＨＭＤデバイスは基地局デバイスと通信している。いくつかの実施形態では、デバイス１００ａは、基地局デバイス又はＨＭＤデバイス内に実装される。
【００２９】
図１Ｂに示すように、いくつかの実施形態では、システム１００は、有線接続又は無線接続などを介して通信する２つ（又はそれ以上）のデバイスを含む。第１のデバイス１００ｂ（例えば、基地局デバイス）は、プロセッサ（単数又は複数）１０２、ＲＦ回路（単数又は複数）１０４、及びメモリ（単数又は複数）１０６を含む。これらの構成要素は、任意選択的に、デバイス１００ｂの通信バス（単数又は複数）１５０を介して通信する。第２のデバイス１００ｃ（例えば、ヘッドマウントデバイス）は、プロセッサ（単数又は複数）１０２、ＲＦ回路（単数又は複数）１０４、メモリ（単数又は複数）１０６、画像センサ（単数又は複数）１０８、向きセンサ（単数又は複数）１１０、マイクロフォン（単数又は複数）１１２、位置センサ（単数又は複数）１１６、スピーカ（単数又は複数）１１８、ディスプレイ（単数又は複数）１２０、及びタッチ感知面１２２などの様々な構成要素を含む。これらの構成要素は、任意選択的に、デバイス１００ｃの通信バス（単数又は複数）１５０を介して通信する。
【００３０】
いくつかの実施形態では、システム１００は、図１Ｃ〜図１Ｅのデバイス１００ａに関して説明される実施形態などのモバイルデバイスである。いくつかの実施形態では、システム１００は、図１Ｆ〜図１Ｈのデバイス１００ａに関して説明される実施形態などのヘッドマウントディスプレイ（ＨＭＤ）デバイスである。いくつかの実施形態では、システム１００は、図１Ｉのデバイス１００ａに関して説明される実施形態などのウェアラブルＨＵＤデバイスである。
【００３１】
システム１００は、プロセッサ（単数又は複数）１０２及びメモリ（単数又は複数）１０６を含む。プロセッサ（単数又は複数）１０２は、１つ以上の汎用プロセッサ、１つ以上のグラフィックプロセッサ、及び／又は１つ以上のデジタル信号プロセッサを含む。いくつかの実施形態では、メモリ（単数又は複数）１０６は、後述する技術を実行するためにプロセッサ（単数又は複数）１０２によって実行されるように構成されているコンピュータ可読命令を記憶する１つ以上の非一時的コンピュータ可読記憶媒体（例えば、フラッシュメモリ、ランダムアクセスメモリ）である。
【００３２】
システム１００は、ＲＦ回路（単数又は複数）１０４を含む。ＲＦ回路（単数又は複数）１０４は、任意選択的に、電子デバイス、インターネット、イントラネット及び／又は、セルラーネットワーク及び無線ローカルエリアネットワーク（ＬＡＮ）などの無線ネットワークなどのネットワークと通信するための回路を含む。ＲＦ回路（単数又は複数）１０４は、任意選択的に、近距離通信及び／又はＢｌｕｅｔｏｏｔｈ（登録商標）などの短距離通信を使用して通信するための回路を含む。
【００３３】
システム１００は、ディスプレイ（単数又は複数）１２０を含む。いくつかの実施形態では、ディスプレイ（単数又は複数）１２０は、第１のディスプレイ（例えば、左目ディスプレイパネル）及び第２のディスプレイ（例えば、右目ディスプレイパネル）を含み、各ディスプレイは、ユーザのそれぞれの目に画像を表示する。対応する画像は、第１のディスプレイ及び第２のディスプレイ上に同時に表示される。任意選択的に、対応する画像は、異なる視点からの同じ物理的オブジェクトの同じ仮想オブジェクト及び／又は表現を含み、結果として、ディスプレイ上のオブジェクトの深さの錯覚をユーザに提供する視差効果をもたらす。いくつかの実施形態では、ディスプレイ（単数又は複数）１２０は、単一のディスプレイを含む。対応する画像は、ユーザのそれぞれの目のために、単一のディスプレイの第１の領域及び第２の領域上に同時に表示される。任意選択的に、対応する画像は、異なる視点からの同じ物理的オブジェクトの同じ仮想オブジェクト及び／又は表現を含み、結果として、単一のディスプレイ上のオブジェクトの深さの錯覚をユーザに提供する視差効果をもたらす。
【００３４】
いくつかの実施形態では、システム１００は、タップ入力及びスワイプ入力などのユーザ入力を受け取るためのタッチ感知面（単数又は複数）１２２を含む。いくつかの実施形態では、ディスプレイ（単数又は複数）１２０及びタッチ感知面（単数又は複数）１２２は、タッチ感知ディスプレイ（単数又は複数）を形成する。
【００３５】
システム１００は画像センサ（単数又は複数）１０８を含む。画像センサ（単数又は複数）１０８は、任意選択的に、電荷結合デバイス（ＣＣＤ）センサなどの１つ以上の可視光画像センサ、及び／又は現実環境から物理的オブジェクトの画像を取得するように動作可能な相補型金属酸化膜半導体（ＣＭＯＳ）センサを含む。画像センサ（単数又は複数）はまた、任意選択的に、現実環境からの赤外光を検出するための、パッシブＩＲセンサ又はアクティブＩＲセンサなどの１つ以上の赤外線（ＩＲ）センサ（単数又は複数）を含む。例えば、アクティブＩＲセンサは、赤外光を現実環境に放射するためのＩＲドットエミッタなどのＩＲエミッタを含む。画像センサ（単数又は複数）１０８はまた、任意選択的に、現実環境における物理的オブジェクトの移動をキャプチャするように構成されている１つ以上のイベントカメラを含む。画像センサ（単数又は複数）１０８はまた、任意選択的に、システム１００からの物理的オブジェクトの距離を検出するように構成されている１つ以上の深さセンサを含む。いくつかの実施形態では、システム１００は、ＣＣＤセンサ、イベントカメラ、及び深さセンサを組み合わせて使用して、システム１００周囲の物理的環境を検出する。いくつかの実施形態では、画像センサ（単数又は複数）１０８は、第１の画像センサ及び第２の画像センサを含む。第１の画像センサ及び第２の画像センサは、任意選択的に、２つの異なるパースペクティブから、現実環境内の物理的オブジェクトの画像をキャプチャするように構成されている。いくつかの実施形態では、システム１００は、画像センサ（単数又は複数）１０８を使用して、ハンドジェスチャなどのユーザ入力を受け取る。いくつかの実施形態では、システム１００は、画像センサ（単数又は複数）１０８を使用して、現実環境におけるシステム１００及び／又はディスプレイ（単数又は複数）１２０の位置及び向きを検出する。例えば、システム１００は、画像センサ（単数又は複数）１０８を使用して、現実環境内の１つ以上の固定オブジェクトに対するディスプレイ（単数又は複数）１２０の位置及び向きを追跡する。
【００３６】
いくつかの実施形態では、システム１００は、マイクロフォン（単数又は複数）１１２を含む。システム１００は、マイクロフォン（単数又は複数）１１２を使用して、ユーザ及び／又はユーザの現実環境からの音を検出する。いくつかの実施形態では、マイクロフォン（単数又は複数）１１２は、周囲ノイズを特定するか、又は現実環境の空間内の音源の位置を特定するために、任意選択的に並んで動作するマイクロフォンのアレイ（複数のマイクロフォンを含む）を含む。
【００３７】
システム１００は、システム１００及び／又はディスプレイ（単数又は複数）１２０の向き及び／又は移動を検出するための向きセンサ（単数又は複数）１１０を含む。例えば、システム１００は、向きセンサ（単数又は複数）１１０を使用して、システム１００及び／又はディスプレイ（単数又は複数）１２０の位置及び／又は向きの変化を、現実環境内の物理的オブジェクトなどに関して追跡する。向きセンサ（単数又は複数）１１０は、１つ以上のジャイロスコープ及び／又は１つ以上の加速度計を含む。
【００３８】
図１Ｃ〜１Ｅは、デバイス１００ａの形態のシステム１００の実施形態を示す。図１Ｃ〜図１Ｅにおいて、デバイス１００ａは、携帯電話などのモバイルデバイスである。図１Ｃは、仮想現実技術を実行するデバイス１００ａを示す。デバイス１００ａは、ディスプレイ１２０上に、太陽１６０ａ、鳥１６０ｂ、及び浜辺１６０ｃなどの仮想オブジェクトを含む仮想環境１６０を表示している。表示された仮想環境１６０と仮想環境１６０の仮想オブジェクト（例えば、１６０ａ、１６０ｂ、１６０ｃ）の両方が、コンピュータ生成イメージである。図１Ｃに示される仮想現実環境は、物理的な人１８０ａ及び物理的な木１８０ｂなどの現実環境１８０からの物理的オブジェクトの表現を、現実環境１８０のこれらの要素がデバイス１００ａの画像センサ（単数又は複数）１０８の視野内にあるとしても、含まないことに留意されたい。
【００３９】
図１Ｄは、パススルービデオを使用して、複合現実技術及び特に拡張現実技術を実行するデバイス１００ａを示す。デバイス１００ａは、ディスプレイ１２０上に、仮想オブジェクトと共に現実環境１８０の表現１７０を表示している。現実環境１８０の表現１７０は、人１８０ａの表現１７０ａ及び木１８０ｂの表現１７０ｂを含む。例えば、デバイスは、画像センサ（単数又は複数）１０８を使用して、ディスプレイ１２０上に表示するためにパススルーされる現実環境１８０の画像をキャプチャする。デバイス１００ａは、人１８０ａの表現１７０ａの頭部上に、デバイス１００ａによって生成された仮想オブジェクトである帽子１６０ｄをオーバレイする。デバイス１００ａは、仮想オブジェクトが拡張現実環境内の現実環境からの物理的オブジェクトと相互作用することを可能にするために、デバイス１００ａの位置及び／又は向きに対する物理的オブジェクトの位置及び／又は向きを追跡する。この実施形態では、デバイス１００ａは、デバイス１００ａ及び人１８０ａが互いに対して移動しても、人１８０ａの表現１７０ａの頭部上にあるものとして帽子１６０ｄを表示するために、デバイス１００ａ及び人１８０ａの移動を考慮する。
【００４０】
図１Ｅは、複合現実技術及び特に拡張仮想技術を実行するデバイス１００ａを示す。デバイス１００ａは、ディスプレイ１２０上に、物理的オブジェクトの表現と共に仮想環境１６０を表示している。仮想環境１６０は、仮想オブジェクト（例えば、太陽１６０ａ、鳥１６０ｂ）と人１８０ａの表現１７０ａとを含む。例えば、デバイス１００ａは、画像センサ（単数又は複数）１０８を使用して、現実環境１８０内の人１８０ａの画像をキャプチャする。デバイス１００ａは、ディスプレイ１２０上に表示するために、仮想環境１６０内に人１８０ａの表現１７０ａを配置する。デバイス１００ａは、任意選択的に、仮想オブジェクトが現実環境１８０からの物理的オブジェクトと相互作用することを可能にするために、デバイス１００ａの位置及び／又は向きに対する物理的オブジェクトの位置及び／又は向きを追跡する。この実施形態では、デバイス１００ａは、人１８０ａの表現１７０ａの頭部上にあるものとして帽子１６０ｄを表示するために、デバイス１００ａ及び人１８０ａの移動を考慮する。特に、この実施形態では、デバイス１００ａは、複合現実技術を実行する際に、木１８０ｂもまたデバイス１００ａの画像センサ（単数又は複数）の視野内にあるとしても、木１８０ｂの表現を表示しない。
【００４１】
図１Ｆ〜図１Ｈは、デバイス１００ａの形態のシステム１００の実施形態を示す。図１Ｆ〜図１Ｈにおいて、デバイス１００ａは、ユーザの頭部に装着されるように構成されているＨＭＤデバイスであり、ユーザのそれぞれの目は、それぞれのディスプレイ１２０ａ及び１２０ｂを見ている。図１Ｆは、仮想現実技術を実行するデバイス１００ａを示す。デバイス１００ａは、ディスプレイ１２０ａ及び１２０ｂ上に、太陽１６０ａ、鳥１６０ｂ、及び浜辺１６０ｃなどの仮想オブジェクトを含む仮想環境１６０を表示している。表示された仮想環境１６０及び仮想オブジェクト（例えば、１６０ａ、１６０ｂ、１６０ｃ）は、コンピュータ生成イメージである。この実施形態では、デバイス１００ａは、ディスプレイ１２０ａ及びディスプレイ１２０ｂ上に対応する画像を同時に表示する。対応する画像は、異なる視点からの同じ仮想環境１６０及び仮想オブジェクト（例えば、１６０ａ、１６０ｂ、１６０ｃ）を含み、結果として、ディスプレイ上のオブジェクトの深さの錯覚をユーザに提供する視差効果をもたらす。図１Ｆに示される仮想現実環境は、仮想現実技術を実行する際に、人１８０ａ及び木１８０ｂがデバイス１００ａの画像センサ（単数又は複数）の視野内にあるとしても、人１８０ａ及び木１８０ｂなどの現実環境からの物理的オブジェクトの表現を含まないことに留意されたい。
【００４２】
図１Ｇは、パススルービデオを使用して拡張現実技術を実行するデバイス１００ａを示す。デバイス１００ａは、ディスプレイ１２０ａ及び１２０ｂ上に、仮想オブジェクトと共に現実環境１８０の表現１７０を表示している。現実環境１８０の表現１７０は、人１８０ａの表現１７０ａ及び木１８０ｂの表現１７０ｂを含む。例えば、デバイス１００ａは、画像センサ（単数又は複数）１０８を使用して、ディスプレイ１２０ａ及び１２０ｂ上に表示するためにパススルーされる現実環境１８０の画像をキャプチャする。デバイス１００ａは、ディスプレイ１２０ａ及び１２０ｂのそれぞれに表示するために、人１８０ａの表現１７０ａの頭部上にコンピュータ生成された帽子１６０ｄ（仮想オブジェクト）をオーバレイしている。デバイス１００ａは、仮想オブジェクトが現実環境１８０からの物理的オブジェクトと相互作用することを可能にするために、デバイス１００ａの位置及び／又は向きに対する物理的オブジェクトの位置及び／又は向きを追跡する。この実施形態では、デバイス１００ａは、人１８０ａの表現１７０ａの頭部上にあるものとして帽子１６０ｄを表示するために、デバイス１００ａ及び人１８０ａの移動を考慮する。
【００４３】
図１Ｈは、パススルービデオを使用して、複合現実技術、具体的には拡張仮想技術を実行するデバイス１００ａを示す。デバイス１００ａは、ディスプレイ１２０ａ及び１２０ｂ上に、物理的オブジェクトの表現と共に仮想環境１６０を表示している。仮想環境１６０は、仮想オブジェクト（例えば、太陽１６０ａ、鳥１６０ｂ）と人１８０ａの表現１７０ａとを含む。例えば、デバイス１００ａは、画像センサ（単数又は複数）１０８を使用して、人１８０ａの画像をキャプチャする。デバイス１００ａは、ディスプレイ１２０ａ及び１２０ｂ上に表示するために、仮想環境内に人１８０ａの表現１７０ａを配置する。デバイス１００ａは、任意選択的に、仮想オブジェクトが現実環境１８０からの物理的オブジェクトと相互作用することを可能にするために、デバイス１００ａの位置及び／又は向きに対する物理的オブジェクトの位置及び／又は向きを追跡する。この実施形態では、デバイス１００ａは、人１８０ａの表現１７０ａの頭部上にあるものとして帽子１６０ｄを表示するために、デバイス１００ａ及び人１８０ａの移動を考慮する。特に、この実施形態では、デバイス１００ａは、複合現実技術を実行する際に、木１８０ｂもまたデバイス１００ａの画像センサ（単数又は複数）１０８の視野内にあるとしても、木１８０ｂの表現を表示しない。
【００４４】
図１Ｉは、デバイス１００ａの形態のシステム１００の実施形態を示す。図１Ｉにおいて、デバイス１００ａは、ユーザの頭部に装着されるように構成されているＨＵＤデバイス（例えば、眼鏡デバイス）であり、ユーザのそれぞれの目は、それぞれのヘッドアップディスプレイ１２０ｃ及び１２０ｄを見ている。図１Ｉは、ヘッドアップディスプレイ１２０ｃ及び１２０ｄを使用して拡張現実技術を実行するデバイス１００ａを示す。ヘッドアップディスプレイ１２０ｃ及び１２０ｄは、（少なくとも部分的に）透明ディスプレイであり、したがって、ユーザは、ヘッドアップディスプレイ１２０ｃ及び１２０ｄと組み合わせて、現実環境１８０を見ることができる。デバイス１００ａは、ヘッドアップディスプレイ１２０ｃ及び１２０ｄのそれぞれに仮想帽子１６０ｄ（仮想オブジェクト）を表示している。デバイス１００ａは、仮想オブジェクトが現実環境１８０からの物理的オブジェクトと相互作用することを可能にするために、デバイス１００ａの位置及び／又は向きに対する、かつユーザの目の位置に対する、現実環境における物理的オブジェクトの位置及び／又は向きを追跡する。この実施形態では、デバイス１００ａは、帽子１６０ｄが人１８０ａの頭部上にあるとユーザに見えるようにディスプレイ１２０ｃ及び１２０ｄ上の位置に帽子１６０ｄを表示するために、デバイス１００ａの移動、デバイス１００ａに対するユーザの目の移動、並びに人１８０ａの移動を考慮する。
【００４５】
ここで図２〜図１５を参照すると、視線を使用して電子デバイスと対話するための例示的な技術が説明される。
【００４６】
図２は、視線がオブジェクト２１０にフォーカスしているユーザ２００の上面図を示す。ユーザの視線は、ユーザの目のそれぞれの視軸によって既定される。視軸の方向は、ユーザの視線方向を既定し、軸が収束する距離は、視線深さを既定する。視線方向はまた、視線ベクトル又は見通し線と呼ばれることもある。図２において、視線方向はオブジェクト２１０の方向であり、視線深さは、ユーザに対する距離Ｄである。
【００４７】
いくつかの実施形態では、ユーザの角膜の中心、ユーザの瞳孔の中心、及び／又はユーザの眼球の回転中心は、ユーザの目の視軸の位置を判定するために判定され、したがって、ユーザの視線方向及び／又は視線深さを判定するために使用することができる。いくつかの実施形態では、視線深さは、ユーザの目の視軸の収束ポイント（若しくはユーザの目の視軸間の最小距離の位置）、又はユーザの目（単数又は複数）の焦点の何らかの他の測定値に基づいて判定される。任意選択的に、視線深さは、ユーザの目がフォーカスしている距離を推定するために使用される。
【００４８】
図２において、光線２０１Ａ及び２０１Ｂは、ユーザ２００の左右の目の視軸に沿ってそれぞれキャスティングされ、任意選択的に、レイキャスティングと呼ばれるものにおけるユーザの視線方向及び／又は視線深さを判定するために使用される。図２はまた、角度範囲２０３Ａ及び２０３Ｂをそれぞれ有する錐体２０２Ａ及び２０２Ｂを示す。錐体２０２Ａ及び２０２Ｂはまた、ユーザ２００の左右の目の視軸に沿ってそれぞれキャスティングされ、任意選択的に、錐体キャスティングと呼ばれるものにおけるユーザの視線方向及び／又は視線深さを判定するために使用される。視線方向及び視線深さは、多くの場合、眼球運動、センサ運動、サンプリング周波数、センサ待ち時間、センサ分解能、センサ位置ずれなどの要因のために、絶対的な確度又は精度で判定することができない。したがって、いくつかの実施形態では、角度分解能又は（推定される）角度誤差は、視線方向と関連付けられる。いくつかの実施形態では、深さ分解能は、視線深さに関連付けられる。任意選択的に、錐体（単数又は複数）の角度範囲（例えば、錐体２０２Ａの角度範囲２０３Ａ及び錐体２０２Ｂの角度範囲２０３Ｂ）は、ユーザの視線方向の角度分解能を表す。
【００４９】
図３は、ディスプレイ３０２を有する電子デバイス３００を示す。電子デバイス３００は、仮想オブジェクト３０６を含む仮想環境３０４を表示する。いくつかの実施形態では、環境３０４は、ＣＧＲ環境（例えば、ＶＲ環境又はＭＲ環境）である。図示した実施形態おいて、オブジェクト３０６は、ユーザ２００が視線を使用して対話することができるアフォーダンスである。いくつかの実施形態では、アフォーダンス３０６は、物理的オブジェクト（例えば、アフォーダンス３０６との対話を介して制御することができる機器又は他のデバイス）に関連付けられる。図３はまた、ユーザ２００の視線方向を示す、ユーザ２００の上方からのビューを示す。ユーザの目のそれぞれの視軸は、デバイス３００のディスプレイ３０２の平面に対応する仮想環境３０４の表示された表現の平面上に外挿される。スポット３０８は、ディスプレイ３０２上のユーザ２００の視線方向を表す。
【００５０】
図３に示すように、ユーザ２００の視線方向はアフォーダンス３０６の方向に対応する。用語「アフォーダンス」とは、ユーザが対話することができるグラフィカルユーザインタフェースオブジェクトを指す。アフォーダンスの例としては、ユーザ対話可能な画像（例えば、アイコン）、ボタン、及びテキスト（例えば、ハイパーリンク）が挙げられる。電子デバイス３００は、ユーザ２００の視線方向を判定するように構成されている。デバイス３００は、ユーザに向けられたセンサからデータをキャプチャし、センサからキャプチャされたデータに基づいて視線方向を判定する。シーン３００の３次元表現が提示されるいくつかの実施形態では、例えば、図９〜図１２に関して以下に説明する実施形態では、デバイス３００はまた（または代替的に）、視線深さを判定し、視線深さがアフォーダンス３０６に対応するかどうかを判定する。任意選択的に、視線深さがアフォーダンスの深さに対応するかどうかを判定することは、少なくとも部分的に、視線深さの深さ分解能に基づく。
【００５１】
図示した実施形態では、デバイス３００は、ユーザ２００に向けられ、ユーザ２００の目の画像データをキャプチャする画像センサ３１０を含む。いくつかの実施形態では、デバイス３００は、検出された光強度の経時的変化に基づいてユーザ（例えば、ユーザの目）からイベントデータを検出し、そのイベントデータを使用して、視線方向及び／又は視線深さを判定する、イベントカメラを含む。任意選択的に、デバイス３００は、（例えば、画像センサ、並びに画像データ及びイベントデータをキャプチャするように構成されている別個のイベントカメラ又はセンサから）画像データとイベントデータの両方を使用して、視線方向及び／又は視線深さを判定する。任意選択的に、デバイス３００は、レイキャスティング及び／又は錐体キャスティングを使用して、視線方向及び／又は視線深さを判定する。
【００５２】
視線方向に基づいて、デバイス３００は、視線方向がアフォーダンス３０６と同じ方向である（例えば、ユーザ２００の目からキャスティングされる光線又は錐体は、アフォーダンス３０６と少なくとも部分的に交差するか、又はアフォーダンス３０６の誤差のマージン内にある）ので、視線方向がアフォーダンス３０６に対応すると判定する。任意選択的に、視線方向がアフォーダンス３０６に対応すると判定することは、少なくとも部分的に、視線方向の角度分解能に基づく。シーンの３次元表現が提示されるいくつかの実施形態では、デバイス３００はまた（又は代替的に）、視線深さがアフォーダンス３０６の深さに対応するかどうかを判定する。任意選択的に、視線深さがアフォーダンスの深さに対応するかどうかを判定することは、少なくとも部分的に、視線深さの深さ分解能に基づく。任意選択的に、アフォーダンス３０６はまた、視線深さ（又は視線深さの深さ分解能に基づく深さ範囲内）に位置する。
【００５３】
いくつかの実施形態では、視線方向及び／又は視線深さは、視線方向及び／又は視線深さが、アフォーダンスともはや重なり合わなくなった後でさえ、アフォーダンスへの視線に対応し続けると判定される（例えば、視線方向及び／又は視線深さが、最初に、アフォーダンスへの視線に対応すると判定されると、視線方向及び／又は視線深さは、少なくとも所定の時間の間、又はユーザがアフォーダンスから目をそらした後の所定の時間量の間、アフォーダンスへの視線と考えられる）。
【００５４】
視線方向が、アフォーダンス３０６への視線に対応すると判定されている間に、デバイス３００は、第１のオブジェクトに対応するアフォーダンスに対してアクションを取る旨の命令を表す入力（「確認アクション」と呼ばれる）を受け取る。例えば、確認アクションは、ユーザ２００がアフォーダンス３０６を見ていると判定されている間に受け取られる。
【００５５】
確認アクションを受け取ったことに応答して、デバイス３００はアフォーダンス３０６を選択する。すなわち、アフォーダンス３０６は、ユーザがアフォーダンス３０６を見ていることと確認アクションを提供していることとの組み合わせに応答して選択される。確認アクションは、偽陽性（例えば、ユーザ２００がアフォーダンス３０６を選択するか又はそれに働きかけることを望んでいるという、デバイス３００による不正確な判定）を防止するために有益である。確認アクションの非限定的な例としては、アイジェスチャ、ボディジェスチャ、音声入力、コントローラ入力、又はこれらの組み合わせが挙げられる。
【００５６】
アイジェスチャの例としては、１回の瞬き、複数回の瞬き、所定の回数の瞬き、所定の時間内の所定の回数の瞬き、所定の期間の瞬き（例えば、１秒間にわたって目を閉じること）、瞬きパターン（例えば、ゆっくりと１回瞬きをした後に急速に２回瞬きをすること）、ウィンク、特定の目によるウィンク、ウィンクパターン（例えば、それぞれ指定の期間で、左、右、左）、所定の眼球運動（例えば、素早く見上げること）、「長く」見ること又は考え込むこと（例えば、所定の時間にわたって、アフォーダンス３０６の方向に（又はアフォーダンス３０６に対応する方向に）視線方向を連続的に維持する）、又は何らかの他の所定の基準を満たす眼球運動が挙げられる。
【００５７】
ハンドジェスチャの例としては、アフォーダンス３０６の位置に対応する位置（例えば、ユーザとアフォーダンス３０６のディスプレイとの間）での手の配置、手を振ること、（例えば、アフォーダンス３０６を指し示す運動）、又は既定の運動パターンを伴うジェスチャが挙げられる。いくつかの実施形態では、ハンドジェスチャ確認アクションは、ハンドジェスチャの位置に依存する（例えば、特定の位置におけるハンドジェスチャでなければならない）。いくつかの実施形態では、ハンドジェスチャ確認アクションは、ハンドジェスチャの位置に依存しない（例えば、ハンドジェスチャは、位置とは関係ない）。
【００５８】
音声入力の例としては、音声コマンド（例えば、「それをピックアップする」又は「ライトをつける」）が挙げられる。いくつかの実施形態では、音声入力は、アフォーダンス３０６に関連付けられたオブジェクトを明示的に特定する（例えば、「箱を選択する」）。いくつかの実施形態では、音声入力は、アフォーダンスに関連付けられたオブジェクトを明示的に特定せず、代わりに、むしろ曖昧である代名詞を使用してオブジェクトを指す（例えば、「それをつかむ」）。
【００５９】
コントローラ入力に関して、いくつかの実施形態では、デバイス３００は、例えば、ボタン、トリガ、ジョイスティック、スクロールホイール、ノブ、キーボード、又はタッチ感知面（例えば、タッチパッド又はタッチ感知ディスプレイ）を介して入力を受け取るように構成されているコントローラと通信する。いくつかの実施形態では、コントローラ及びデバイス３００は、無線で、又は有線接続を介して接続される。コントローラ入力の例としては、ボタンの押下、トリガのプル、ジョイスティックの移動、スクロールホイールの回転、ノブの回転、キーボード上のボタンの押下、又はタッチ感知面上の接触若しくはジェスチャ（例えば、タップ若しくはスワイプ）が挙げられる。
【００６０】
いくつかの実施形態では、アフォーダンス３０６を選択することは、アフォーダンス３０６上にフォーカスを適用することを含む。任意選択的に、デバイス３００は、アフォーダンス３０６が選択されたという表示を提供する。いくつかの実施形態では、表示は、音声出力（例えば、ビープ）、視覚的表示（例えば、選択されたアフォーダンスを縁取る又はハイライトする）、又は触覚出力を含む。任意選択的に、アフォーダンス３０６は、所定の時間にわたって選択されたままである（例えば、所定の時間にわたってアフォーダンス３０６上でフォーカスが維持される）。任意選択的に、アフォーダンス３０６は、選択解除入力が受け取られるまで選択されたままである。いくつかの実施形態では、選択解除入力は、確認アクションと同じ入力である。いくつかの実施形態では、選択解除入力は、確認アクションとは異なる入力である。いくつかの実施形態では、選択解除入力は、アイジェスチャ、ボディジェスチャ、音声入力、コントローラ入力、又は上述の例示的な入力などの、それらの組み合わせ若しくは部分を含む。
【００６１】
いくつかの実施形態では、アフォーダンス３０６は、アフォーダンス３０６（又は、それが関連付けられているオブジェクト）に関連付けられたアクションが実行されるまで、選択されたままである。図４は、アフォーダンス３０６に対して実行される例示的なアクションを示す。アフォーダンス３０６が選択されている間に、デバイス３００は、入力（例えば、アイジェスチャ、ボディジェスチャ、音声入力、コントローラ入力、又は上述の例示的な入力などの、それらの組み合わせ若しくは部分）を受け取る。図示された例では、入力は、ユーザ２００が、自分の視線方向がディスプレイ３０２上で位置３０８から図４に示される位置４００へと移動するように、自分の目の位置を変化させることを含む。入力を受け取ったことに応答して、デバイス３００は、入力に従ってアフォーダンス３０６に関連付けられたアクションを実行する。いくつかの実施形態では、アフォーダンス３０６に関連付けられたアクションは、デバイス３００にアフォーダンス３０６を選択させる入力に応答して実行される（例えば、アフォーダンス３０６を選択することは、アフォーダンス３０６に関連付けられたアクションを実行することを含む）。図４に示す例では、デバイス３００は、ユーザ２００の視線方向の変化に従ってアフォーダンス３０６を移動し、図３に示すアフォーダンス３０６の位置から図４に示す位置へと、ディスプレイ３０２上でアフォーダンス３０６を上方に、そして左に並進させる。
【００６２】
アフォーダンスを移動することに加えて、例示的なアクションは、アフォーダンス又はアフォーダンスに関連付けられたオブジェクトの表現を変換し（例えば、アフォーダンス３０６の回転し、ねじり、延伸し、圧縮し、拡大し、及び／又は縮小し）、そしてアフォーダンスに関連付けられたデバイスの状態を変更すること（例えば、ランプをオン又はオフにすること）を含む。例えば、いくつかの実施形態では、アフォーダンスはサーモスタットに関連付けられた仮想ダイヤルである。ユーザは、仮想ダイヤルを選択し、次いでサーモスタットの温度を調整することができる。いくつかの実施形態では、オブジェクトが移動されると、アフォーダンス（又はそれに関連付けられたオブジェクト）の位置のいくつかの態様は、自動的に判定される。例えば、最初に水平表面上に平坦に置かれている仮想ピクチャフレームが壁に移動される場合、フレームは、壁に対して平坦に置かれるように垂直方向に自動的に回転される。
【００６３】
ここで図５を参照すると、近接して間隔を置かれたオブジェクトを解決して選択する技術が記載されている。図５は、デバイス３００上に表示された仮想環境５００を示す。いくつかの実施形態では、環境５００は、ＣＧＲ環境（例えば、ＶＲ環境又はＭＲ環境）である。仮想環境５００は、アフォーダンス５０２及びアフォーダンス５０４を含み、それぞれが仮想テーブル５０６の上のそれぞれの箱に関連付けられ、ディスプレイ３０２上に同時に表示される。破線の円は、デバイス３００によって判定されたユーザ２００の視線方向５０８を表す。円の半径は、視線方向５０８の角度不確実性を表す。図５に示すように、視線方向５０８は、アフォーダンス５０２とアフォーダンス５０４の両方に重なり、ユーザ２００がアフォーダンスのうちの１つに関心があることを示す。視線方向５０８は、わずかにアフォーダンス５０２の方に向けられているが、視線方向５０８の角度不確実性は、アフォーダンス５０２とアフォーダンス５０４との間の角度分離よりも大きく、それによって、視線方向５０８がアフォーダンス５０２及びアフォーダンス５０４のうちの特定の１つに対応すると、デバイス３００が十分に高い信頼度で判定するのを防止する。言い換えれば、デバイス３００は、ユーザ２００がどのアフォーダンスを選択することを望むかを十分な信頼度で解決することができない。代わりに、デバイス２００は、視線方向５０８がアフォーダンス５０２及びアフォーダンス５０４の両方に対応すると判定する。シーンの３次元表現が提示されるいくつかの実施形態では、アフォーダンス間の深さ分離は、視線位置の角度分解能又は深さ分解能よりも小さくてもよい。
【００６４】
視線方向５０８が、アフォーダンス５０２とアフォーダンス５０４の両方に対応すると判定したことに応答して、デバイス３００は、アフォーダンス５０２及びアフォーダンス５０４を拡大する。図６は、拡大された（例えば、ズームインされた）後のアフォーダンス５０２及びアフォーダンス５０４を示す。アフォーダンス５０２及びアフォーダンス５０４は、それらがテーブル５０６の上部から移動され、ユーザ２００に対してより近くに位置付けられているかのように見える。図６では、アフォーダンス５０２及びアフォーダンス５０４は、それらの相対的なサイズ及び位置が同じままであるように、同じ量だけ拡大される（例えば、アフォーダンス５０２は、アフォーダンス５０４の前にあるように見え続ける）。アフォーダンス５０２及びアフォーダンス５０４のズームは、アフォーダンス５０２及びアフォーダンス５０４の角度範囲を増大させ、アフォーダンス５０２とアフォーダンス５０４との間の角度分離を増大させる。任意選択的に、ズーム量は、アフォーダンスのサイズ及び／又は視線方向の分解能に基づく（例えば、アフォーダンス５０２及びアフォーダンス５０４は、アフォーダンス５０４が所定の最小サイズになるように拡大される）。いくつかの実施形態では、アフォーダンス５０２及びアフォーダンス５０４は、ユーザ２００がどのアフォーダンスにフォーカスしようとしているかをデバイス３００が（所定の信頼度で）解決することができるように、ズームされる。
【００６５】
いくつかの実施形態では、アフォーダンス５０２及びアフォーダンス５０４は、ユーザ２００の視線が既定の基準を満たすとの判定に従って拡大される（例えば、視線方向５０８は、所定の時間の間、又は所定の時間ウィンドウ内の所定の時間（例えば、４秒のウィンドウ中の３秒）の間、アフォーダンス５０２とアフォーダンス５０４の両方に対応する）。いくつかの実施形態では、アフォーダンス５０２及びアフォーダンス５０４は、視線方向５０８がアフォーダンス５０２とアフォーダンス５０４の両方に対応している間に、デバイス３００が、入力（例えば、上述のようなアイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力）を受け取ったことに応答して、拡大される。このようにして、ユーザ２００は、デバイスがコンテンツをズームするときに、制御を改善することができる。また、このようにして、デバイス３００は、解決が必要な場合に対する視線の曖昧性を解消するために、ズーム機能を呼び出す瞬間を減らす又は制限することができ、それにより、ユーザに対するひずみを低減し、ユーザの体験を改善することができる。任意選択的に、視線方向に対応するアフォーダンスは、入力に従って拡大される（例えば、長い及び／又は激しいボタン押下は、短い及び／又は穏やかなボタン押下よりも拡大が結果的に大きい）。いくつかの実施形態では、アフォーダンスは、音声コマンド（例えば、「４０％のズームイン」）に従って拡大される。これにより、ユーザ２００は、ズームの制御を増大させることができる。
【００６６】
アフォーダンス５０２及びアフォーダンス５０４の拡大は、アフォーダンスの改善されたビューをユーザ２００に提供し、ユーザ２００が、アフォーダンスのうちの１つをより容易かつ確信を持って選択することを可能にする。例えば、図６に示すように、アフォーダンス５０２及びアフォーダンス５０４が拡大された後、ユーザ２００は、アフォーダンス５０２を選択することを望むと決定し、自分の視線を、アフォーダンス５０２上の視線方向５１０に移動する。特に、視線方向５１０は、もはやアフォーダンス５０４とは重ならない。したがって、デバイス３００は、（例えば、相対的に高い信頼度で）、視線方向５１０がアフォーダンス５０２の方向に対応する（かつアフォーダンス５０４の方向には対応しない）ということを判定する。視線方向５１０が拡大されたアフォーダンス５０２の方向に対応すると判定されている間に、ユーザ２００は、上述の確認アクションのうちの１つなどの確認アクションを用いてアフォーダンス５０２を選択する。任意選択的に、デバイス３００は、拡大されたアフォーダンス５０２を選択するためのユーザ２００による確認入力に応答し、かつそれに従って、及び／又はアフォーダンス５０２が選択されている間の更なる入力に応答して、アフォーダンス５０２に関連付けられたアクションを実行する。拡大されたアフォーダンス５０２を選択するためのユーザ２００による確認入力に応答して、デバイス３００は、アフォーダンス５０２及びアフォーダンス５０４を、任意選択的に縮小して（例えば、ズームアウトして）前の状態（例えば、図５に示される、拡大前のサイズ及び位置）に戻す。いくつかの実施形態では、アフォーダンス５０２は、前の状態に縮小された後に選択されたままである。
【００６７】
図５〜図６に関して上述した実施形態において、デバイス３００は、アフォーダンス５０２及び５０４のみを拡大する。いくつかの実施形態では、デバイス３００は、アフォーダンス５０２及びアフォーダンス５０４を拡大することに加えて、アフォーダンス５０２及びアフォーダンス５０４を取り囲む環境の少なくとも一部分の拡大ビューを表示する。図７は、デバイス３００が、視線方向５０８に対応するアフォーダンスを取り囲み、かつそれを含む仮想環境５００の一部分を判定する例示的な実施形態を示す。当該部分は矩形７００によって指定され、例えば、アフォーダンス５０２及び５０４に加えて、テーブル５０６の一部分を含む。図８に示すように、視線方向５０８がアフォーダンス５０２とアフォーダンス５０４の両方に対応すると判定したことに応答して、デバイス３００は、アフォーダンス５０２及びアフォーダンス５０４を含む矩形７００によって指定される仮想環境５００の当該部分を拡大する。仮想環境５００の一部分はアフォーダンス５０２及び５０４と共に拡大されているが、アフォーダンスは依然として、図５〜図６に関して上述したように選択され、作用され得る。更に、上述の実施形態は仮想環境に関連するが、同様の技術を、複合現実環境を含む他のＣＧＲ環境に適用することができる。例えば、いくつかの実施形態では、デバイスは、物理的環境のユーザのライブビュー上に重ねられたアフォーダンス５０２及び５０４を表示する透明ディスプレイを含む。デバイスはまた、ユーザの目のデータをキャプチャするためのユーザセンサと、アフォーダンス５０２及び５０４が表示される物理的環境の画像をキャプチャするためのシーンセンサとを含む。ユーザの視線方向がアフォーダンス５０２及び５０４に対応すると判定したことに応答して、例示的なデバイスは、アフォーダンス５０２及び５０４を取り囲む少なくとも物理的環境のデータをキャプチャし、アフォーダンス５０２及び５０４を取り囲む物理的環境の拡大表現（例えば、画像）を表示する。
【００６８】
上述の実施形態では、アフォーダンス５０２及び５０４は、仮想環境の２次元表現で表示される。いくつかの実施形態では、アフォーダンスは、例えば、図１Ｆ〜図１Ｈに示される仮想現実ＨＭＤ１００ａ上の環境の３次元（３Ｄ）表現で表示される。図９は、ＨＭＤ９００上に表示された仮想環境９０２の３Ｄ表現を示す。いくつかの実施形態では、環境９０２は、ＣＧＲ環境（例えば、ＶＲ環境又はＭＲ環境）である。仮想環境９０２は、アフォーダンス９０４及びアフォーダンス９０６を含む。アフォーダンス９０４は第１の深さを有し、アフォーダンス９０６は、アフォーダンス９０４の第１の深さよりも大きい第２の深さを有する。仮想環境９０２が３Ｄ表現であるため、デバイス９００は、ユーザの目からキャプチャされたデータに基づいて、視線位置を判定し、この視線位置は、図示した実施形態では、視線方向及び視線深さを含む。いくつかの実施形態では、視線位置を判定することは、視線方向を判定することを含むが、必ずしも視線深さを含むわけではない。いくつかの実施形態では、視線位置を判定することは、視線深さを判定することを含むが、必ずしも視線方向を含むわけではない。
【００６９】
図９では、視線位置９０８を取り囲む円柱の半径は、視線方向の角度分解能を表し、円筒の長さは、視線深さの深さ分解能（例えば、視線深さにおける不確実性）を表す。視線方向、角度分解能、視線深さ、及び深さ分解能に基づいて、デバイス９００は、アフォーダンス９０４及び／又はアフォーダンス９０６の位置が視線位置に対応するかどうかを判定する。いくつかの実施形態では、デバイス９００は、視線深さにかかわらず視線方向（及び任意選択的に、角度分解能）に基づいて、又は視線方向にかかわらず視線深さ（及び任意選択的に深さ分解能）に基づいて、アフォーダンス９０４及び／又はアフォーダンス９０６の位置が視線位置に対応するかどうかを判定する。
【００７０】
いくつかの実施形態では、デバイス９００は、視線位置がアフォーダンス９０４及びアフォーダンス９０６の両方に対応すると判定したことに応答して、より遠いアフォーダンス（例えば、アフォーダンス９０６）の表示を強化する。図１０に示される実施形態によれば、アフォーダンス９０６は、アフォーダンス９０４に対してアフォーダンス９０６をより明るくすることによって（例えば、アフォーダンス９０６の輝度を増大させること、アフォーダンス９０４の輝度を低下させること、又はその両方の組み合わせによって）強化される。いくつかの実施形態では、アフォーダンスを強化することは、アフォーダンス自体の視覚的外観を（例えば、アフォーダンスをより明るくするか、又はアフォーダンスの色を変更することによって）変更することを含む。いくつかの実施形態では、アフォーダンスを強化することは、環境の他の態様の視覚的外観を（例えば、別のアフォーダンス又は周囲環境をぼやけさせることによって）劣化させることを含む。同様に、３Ｄ環境の２Ｄ表現では、より小さいオブジェクト又は３Ｄ環境内で、より大きい深さ値を有するオブジェクトが任意選択的に強化される。
【００７１】
いくつかの実施形態では、デバイス９００が、視線位置９０８はアフォーダンス９０４とアフォーダンス９０６の両方に対応する（例えば、デバイス９００は、ユーザがどのアフォーダンスを見ているかを解決することができない）と判定したことに応答して、デバイス９００は、アフォーダンス９０４及びアフォーダンス９０６を拡大する。３Ｄ表現を提供するいくつかの実施形態では、アフォーダンスをユーザに向かって移動し、ユーザにより近いように見える深さでアフォーダンスを表示することによって、アフォーダンスがユーザのパースペクティブから拡大される。図１１は、図６に示される実施形態と同様の実施形態を示し、その中でアフォーダンス９０４及びアフォーダンス９０６は、それらの相対的なサイズ及び位置を維持しながら拡大される（例えば、ユーザに対してより近くに移動される）。図１２は、アフォーダンス９０４及びアフォーダンス９０６が拡大されて、アフォーダンス９０４及びアフォーダンス９０６が同じ深さで並んで表示されるように、互いに対して及び再配置される実施形態を示す。類似の技術は、環境の２Ｄ表現にも適用され得ることを認識されたい。例えば、図５に関して上述したように、視線方向５０８が、アフォーダンス５０２とアフォーダンス５０４の両方への視線に対応すると判定された場合、アフォーダンス５０２及びアフォーダンス５０４は、任意選択的に、互いに対して異なる量だけ拡大され、及び／又は互いに対して再配置され、それによりアフォーダンス５０２及びアフォーダンス５０４は、並列に表示される。更に、アフォーダンス９０４及びアフォーダンス９０６が拡大されると、デバイス９００は、更新された視線位置が拡大されたアフォーダンスのうちの１つに対応するかどうかを更に判定することができ、図３〜図４及び図６〜図８に関して先に説明した技術と類似の方法で、アフォーダンスに対してアクションを選択及び／又は実行することができる。
【００７２】
ここで図１３を参照すると、オブジェクトの深さに基づいてオブジェクトの表示を変更する技術が説明されている。図１３は、デバイス３００を再び示す。デバイス３００は、オブジェクト１３０２及びオブジェクト１３０４が同時に表示された環境１３００（例えば、ＣＧＲ環境）を表示する。図１３に示されるように、オブジェクト１３０２は、オブジェクト１３０４よりも近くに見える（例えば、より小さい深さ値を有する）。また、図１３に表示されたパースペクティブから、オブジェクト１３０２はオブジェクト１３０４のビューを部分的に遮る。視線位置１３０６は、オブジェクト１３０２上に位置する。視線位置１３０６は、任意選択的に、視線方向若しくは視線深さのいずれか、又はその両方を含む。デバイス３００は、任意選択的に、上述した技法のいずれかに従って、視線方向若しくは視線深さのいずれか、又はその両方に基づいて、視線位置がオブジェクト１３０２及び／又はオブジェクト１３０４に対応するかどうかを判定する。
【００７３】
デバイス３００は、視線位置１３０６がオブジェクト１３０２に対応するか、又はオブジェクト１３０４に対応するかに基づいて、オブジェクト１３０２及び／又はオブジェクト１３０４を視覚的に変更する。デバイス３００は、視線位置１３０６が、上述した技術のいずれかに従ってオブジェクト１３０２に対応するか、又はオブジェクト１３０４に対応するかを判定する。いくつかの実施形態では、視線位置１３０６がオブジェクト１３０２に対応すると判定したことに応答して、デバイス３００は、オブジェクト１３０４の表示を視覚的に変更し、視線位置１３０６がオブジェクト１３０４に対応すると判定したことに応答して、デバイス３００は、オブジェクト１３０２の表示を視覚的に変更する。例えば、方向若しくは深さのいずれか、又はその両方によって判定されるユーザのフォーカスが、オブジェクトのうちの１つにあると判定された場合、他のオブジェクトの視覚的外観は、ユーザのフォーカスのオブジェクトを強調するために変更される。図１４に示すように、デバイス３００は、視線位置１３０６がオブジェクト１３０２に対応すると判定し、それに応答して、オブジェクト１３０２を強調する、及び／又はオブジェクト１３０４の強調を解除する方法で、オブジェクト１３０４を視覚的に変更する。オブジェクトの強調を解除するオブジェクトを視覚的に変更する例としては、オブジェクトをぼやけさせるかファジーに見せること、オブジェクトの解像度を低下させること、オブジェクトの輝度を低下させること、オブジェクトのコントラストを低下させること、オブジェクトの透明度を増大させること、及びオブジェクトの表示を停止することが挙げられる。いくつかの実施形態では、デバイス３００は、入力（例えば、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力）を受け取ったことに応答して、そして視線位置１３０６がオブジェクト１３０２又はオブジェクト１３０４にそれぞれ対応すると判定したことに応答して、オブジェクト１３０２又はオブジェクト１３０４を視覚的に変更する。任意選択的に、デバイス３００は、両方のオブジェクトの方向が視線方向に対応するとの判定に従って、オブジェクト１３０２及びオブジェクト１３０４を変更し、オブジェクトのうちの１つが他方を遮っている可能性が高く、オブジェクトを区別することが有益であろうことを示す。
【００７４】
任意選択的に、デバイス３００はまた、視線位置に対応するオブジェクト（例えば、オブジェクト１３０２）の表示を視覚的に変更して、オブジェクトの外観を強化する。オブジェクトを視覚的に強化する例としては、オブジェクトを鮮明にすること、オブジェクトの解像度を上げること、オブジェクトの輝度を増大させること、オブジェクトのコントラストを増大させること、オブジェクトの透明度を低下させること、オオブジェクトをハイライトすること、及びオブジェクトを見えるようにすることが挙げられる。
【００７５】
図１５では、ユーザは、１３０６からオブジェクト１３０４に対応する位置１５００へと自分の視線位置を移動している。これに応答して、デバイス３００は、オブジェクト１３０２を視覚的に変更し、オブジェクト１３０４を図１３に最初に表示された外観に戻す。図１５に示す実施形態では、デバイス３００は、ユーザがフォーカスしようとするオブジェクトをより良好に見ることができるように、オブジェクト１３０２を半透明にする。任意選択的に、デバイス３００はオブジェクト１３０２を除去して、オブジェクト１３０４の遮られていないビューを提供する。
【００７６】
図２〜図１５に関して上述した実施形態は例示的なものであり、限定することを意図するものではないことが認識されるべきである。例えば、図２〜図１２の実施形態は、仮想環境に関して説明されているが、この技術は、複合現実環境を含む他のＣＧＲ環境に同様に適用することができる。
【００７７】
ここで図１６を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス１６００のフローチャートが示されている。プロセス１６００は、ユーザデバイス（例えば、１００ａ、３００、又は９００）を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス１６００は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、２つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス１６００の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス１６００は、仮想現実環境及び複合現実環境を含む、ＣＧＲ環境に適用することができ、仮想オブジェクト又は物理的オブジェクトに対応するアフォーダンスに適用することができる。プロセス１６００のブロックは、図１６では特定の順序で示されているが、これらのブロックは他の順序で実行することができる。更に、プロセス１６００の１つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック（単数又は複数）と組み合わされることができ、及び／又は追加のブロックを実行することができる。
【００７８】
ブロック１６０２において、デバイスは、第１のオブジェクト（例えば、表示されたオブジェクト）に関連付けられたアフォーダンスを表示する。
【００７９】
ブロック１６０４において、デバイスは、（例えば、１つ以上の目の）視線方向又は視線深さを判定する。いくつかの実施形態では、データは、ユーザに向けられたセンサからキャプチャされ、視線方向又は視線深さは、センサからキャプチャされたデータに基づいて判定される。いくつかの実施形態では、視線方向又は視線深さを判定することは、視線方向を判定することを含む。いくつかの実施形態では、視線方向又は視線深さを判定することは、視線深さを判定することを含む。任意選択的に、視線方向又は視線深さは、レイキャスティング又は錐体キャスティングを使用して判定される。任意選択的に、錐体キャスティングに使用される錐体の角度範囲は、視線方向の角度分解能に基づく。
【００８０】
ブロック１６０６において、デバイスは、視線方向又は視線深さがアフォーダンスへの視線に対応するかどうかを判定する。いくつかの実施形態では、視線方向又は視線深さがアフォーダンスの深さに対応すると判定することは、視線がアフォーダンスに向けられていると判定することを含む。いくつかの実施形態では、視線がアフォーダンスに向けられていると判定することは、少なくとも部分的に、視線方向の角度分解能に基づく。いくつかの実施形態では、視線方向又は視線深さがアフォーダンスへの視線に対応すると判定することは、視線深さがアフォーダンスの深さに対応すると判定することを含む。いくつかの実施形態では、視線深さがアフォーダンスの深さに対応すると判定することは、少なくとも部分的に、視線深さの深さ分解能に基づく。
【００８１】
ブロック１６０８において、視線方向又は視線深さがアフォーダンスへの視線に対応すると判定されている間に、デバイスは、第１のオブジェクトに対応するアフォーダンスに対してアクションを取る旨の命令を表す第１の入力を受け取る。いくつかの実施形態では、第１の入力は、アイジェスチャ、ハンドジェスチャ、音声入力、及び／又はコントローラ入力を含む。
【００８２】
ブロック１６１０で、デバイスは、第１の入力を受け取ったことに応答して、アフォーダンスを選択する。任意選択的に、アフォーダンスが選択されている間に、第２の入力が受け取られ、選択されたアフォーダンスに関連付けられたアクションが、第２の入力を受け取ったことに応答して、かつ第２の入力に従って実行される。いくつかの実施形態では、第２の入力は、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ上の入力を含む。
【００８３】
ここで図１７を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス１７００のフローチャートが示されている。プロセス１７００は、ユーザデバイス（例えば、１００ａ、３００、又は９００）を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス１７００は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、２つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス１７００の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス１７００は、仮想現実環境及び複合現実環境を含む、ＣＧＲ環境に適用することができ、仮想オブジェクト又は物理的オブジェクトに対応するアフォーダンスに適用することができる。プロセス１７００のブロックは、図１７では特定の順序で示されているが、これらのブロックは他の順序で実行することができる。更に、プロセス１７００の１つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック（単数又は複数）と組み合わされることができ、及び／又は追加のブロックを実行することができる。
【００８４】
ブロック１７０２において、デバイスは、第１のアフォーダンス及び第２のアフォーダンスを表示する。任意選択的に、第１のアフォーダンス及び第２のアフォーダンスは同時に表示される。いくつかの実施形態では、第１のアフォーダンス及び第２のアフォーダンスは、第１のアフォーダンス及び第２のアフォーダンスを含む環境（例えば、ＣＧＲ環境）の２次元表現又は３次元表現を用いて表示される。任意選択的に、第１のアフォーダンスは、環境の３次元表現で第１の深さで表示され、第２のアフォーダンスは、環境の３次元表現で第２の深さで表示され、第１の深さは第２の深さとは異なる。
【００８５】
ブロック１７０４において、デバイスは、（例えば、１つ以上の目の）第１の視線方向又は第１の視線深さを判定する。いくつかの実施形態では、データは、ユーザに向けられたセンサからキャプチャされ、視線方向又は視線深さは、センサからキャプチャされたデータに基づいて判定される。任意選択的に、視線方向又は視線深さは、レイキャスティング又は錐体キャスティングを使用して判定される。いくつかの実施形態では、錐体キャスティングに使用される錐体の角度範囲は、視線方向の角度分解能に基づく。
【００８６】
ブロック１７０６において、デバイスは、第１の視線方向又は第１の視線深さが第１のアフォーダンスと第２のアフォーダンスの両方への視線に対応するかどうかを判定する。任意選択的に、第１の視線方向又は第１の視線深さが第１のアフォーダンスと第２のアフォーダンスの両方に対応すると判定したことに応答して、第１のアフォーダンスの表示は、第２の深さよりも大きい第１の深さに従って強化され、第２のアフォーダンスの表示は、第１の深さよりも大きい第２の深さに従って強化される。いくつかの実施形態では、視線方向が判定され、視線方向又は視線深さが第１のアフォーダンスと第２のアフォーダンスの両方に対応すると判定することは、視線方向が第１のアフォーダンスと第２のアフォーダンスの両方に対応すると判定することを含む。任意選択的に、視線方向が第１のアフォーダンスと第２のアフォーダンスの両方に対応すると判定することは、少なくとも部分的に、視線方向の角度分解能に基づく。いくつかの実施形態では、視線方向又は視線深さを判定することは、視線深さを判定することを含み、視線方向又は視線深さが第１のアフォーダンスと第２のアフォーダンスの両方に対応すると判定することは、視線深さが第１のアフォーダンスと第２のアフォーダンスの両方に対応すると判定することを含む。任意選択的に、視線深さが第１のアフォーダンスと第２のアフォーダンスの両方に対応すると判定することは、少なくとも部分的に、視線深さの深さ分解能に基づく。
【００８７】
ブロック１７０８において、デバイスは、第１の視線方向又は第１の視線深さが第１のアフォーダンスと第２のアフォーダンスの両方への視線に対応すると判定したことに応答して、第１のアフォーダンス及び第２のアフォーダンスを拡大する。いくつかの実施形態では、第１のアフォーダンス及び第２のアフォーダンスは、ユーザの視線が既定の基準を満たすとの判定に従って拡大される。いくつかの実施形態では、第３の入力が受け取られ、第１のアフォーダンス及び第２のアフォーダンスは、第１の視線方向又は第１の視線深さが第１のアフォーダンスと第２のアフォーダンスの両方に対応すると判定したこと、及び第３の入力を受け取ったことに応答して、拡大される。いくつかの実施形態では、第３の入力は、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力を含む。いくつかの実施形態では、第１のアフォーダンス及び第２のアフォーダンスを拡大することは、第１のアフォーダンス及び第２のアフォーダンスを取り囲む環境（例えば、ＣＧＲ環境）の少なくとも一部分の拡大ビューを表示することを含む。いくつかの実施形態では、第１のアフォーダンス及び第２のアフォーダンスを取り囲む環境の少なくとも一部分の拡大ビューは、仮想環境の表現である。いくつかの実施形態では、第１のアフォーダンス及び第２のアフォーダンスを取り囲む環境の少なくとも一部分の拡大ビューは、物理的環境の表現である。いくつかの実施形態では、第１のアフォーダンス及び第２のアフォーダンスを拡大することは、環境の３次元表現で第３の深さで第１のアフォーダンスを表示することと、環境の３次元表現で第４の深さで第２のアフォーダンスを表示することとを含み、第３の深さは、第４の深さと同じである。
【００８８】
任意選択的に、第１のアフォーダンス及び第２のアフォーダンスを拡大した後、第２の視線方向又は第２の視線深さが判定され、第２の視線方向又は第２の視線深さは、第１のアフォーダンスへの視線に対応すると判定される。第２の視線方向又は第２視線深さは、第１のアフォーダンスへの視線に対応すると判定されている間に、第１のアフォーダンスにアクションを取る旨のユーザ命令を表す第１の入力が受け取られ、第１のアフォーダンスは、第１の入力を受け取ったことに応答して選択される。任意選択的に、第１の入力は、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力を含む。
【００８９】
いくつかの実施形態では、第１のアフォーダンス又は第２のアフォーダンスは、第１の入力を受け取ったことに応答して縮小される。任意選択的に、第１のアフォーダンスが選択されている間に、第２の入力が受け取られ、第２の入力に従って第１のアフォーダンスに関連付けられたアクションが、第２の入力に応答して実行される。いくつかの実施形態では、第２の入力は、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力を含む。
【００９０】
ここで図１８を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス１８００のフローチャートが示されている。プロセス１８００は、ユーザデバイス（例えば、１００ａ、３００、又は９００）を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス１８００は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、２つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス１８００の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス１８００は、仮想現実環境及び複合現実環境を含む、ＣＧＲ環境に適用することができ、仮想オブジェクト、物理的オブジェクト、及びそれらの表現に適用することができる。プロセス１８００のブロックは、図１８では特定の順序で示されているが、これらのブロックは他の順序で実行することができる。更に、プロセス１８００の１つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック（単数又は複数）と組み合わされることができ、及び／又は追加のブロックを実行することができる。
【００９１】
デバイスは、３次元コンピュータ生成現実環境の視野を表示するように適合される。視野は、見ているパースペクティブからレンダリングされる。ブロック１８０２では、デバイスが第１のオブジェクト及び第２のオブジェクトを表示する。任意選択的に、第１のオブジェクト及び第２のオブジェクトは同時に表示される。いくつかの実施形態では、第１のオブジェクト及び第２のオブジェクトは、第１のオブジェクトが見ているパースペクティブから第２のオブジェクトより近くに見える（例えば、提示される）ように表示される。
【００９２】
ブロック１８０４において、デバイスは、（例えば、１つ以上の目の）視線位置を判定する。いくつかの実施形態では、データは、ユーザに向けられたセンサからキャプチャされ、視線位置は、センサからキャプチャされたデータに基づいて判定される。いくつかの実施形態では、視線位置は、レイキャスティング又は錐体キャスティングを使用して判定される。任意選択的に、錐体キャスティングに使用される錐体の角度範囲は、視線方向の角度分解能に基づく。
【００９３】
ブロック１８０６において、デバイスは、視線位置が第１のオブジェクトに対応するか、又は第２のオブジェクトへの視線に対応するかを判定する。いくつかの実施形態では、視線方向が判定され、視線位置が第１のオブジェクト又は第２のオブジェクトへの視線に対応すると判定することは、視線が第１のオブジェクト又は第２のオブジェクトに向けられていると判定することを含む。任意選択的に、視線が第１のオブジェクトに向けられているか、又は第２のオブジェクトに向けられているかを判定することは、少なくとも部分的に、視線方向の角度分解能に基づく。いくつかの実施形態では、視線深さが判定され、視線位置が第１のオブジェクト又は第２のオブジェクトへの視線に対応すると判定することは、視線深さが（例えば、視野内に提示されるように）第１のオブジェクト又は第２のオブジェクトの深さに対応すると判定することを含む。任意選択的に、視線深さが第１のオブジェクト又は第２のオブジェクトの深さに対応すると判定することは、少なくとも部分的に、視線深さの深さ分解能に基づく。
【００９４】
ブロック１８０８において、デバイスは、視線位置が第１のオブジェクトへの視線に対応するとの判定に従って、第２のオブジェクトの表示を視覚的に変更する。いくつかの実施形態では、第２のオブジェクトは、視線位置が第１のオブジェクトへの視線に対応すると判定したことと、入力を受け取ったこととに応答して変更される。入力は、任意選択的に、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力を含む。任意選択的に、デバイスは、第１のオブジェクトの表示（例えば、表示解像度）を強化する。任意選択的に、第２のオブジェクトを視覚的に変更した後、デバイスは、ユーザの第２の視線位置を判定し、第２の視線位置が第２のオブジェクトへの視線に対応するとの判定に従って、第１のオブジェクトの表示を視覚的に変更し、第２のオブジェクトをその初期の外観に従って表示する。
【００９５】
ブロック１８１０において、デバイスは、視線位置が第２のオブジェクトへの視線に対応するとの判定に従って、第１のオブジェクトの表示を視覚的に変更する。いくつかの実施形態では、第１のオブジェクトは、視線位置が第２のオブジェクトへの視線に対応すると判定したことと、入力を受け取ったこととに応答して変更される。入力は、任意選択的に、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力を含む。任意選択的に、デバイスは、第２のオブジェクトの表示（例えば、表示解像度）を強化する。
【００９６】
上述の方法１６００、１７００及び／又は１８００の機能を実行するための実行可能命令は、任意選択的に、一時的若しくは非一時的コンピュータ可読記憶媒体（例えば、メモリ（単数又は複数）１０６）又は１つ以上のプロセッサ（例えば、プロセッサ（単数又は複数）１０２）によって実行されるように構成されている他のコンピュータプログラム製品に含まれる。更に、方法１６００におけるいくつかの動作（例えば、ブロック１６１０）は、任意選択的に、方法１７００及び／又は方法１８００に含まれ、方法１７００におけるいくつかの動作（例えば、ブロック１７０８）は、任意選択的に、方法１６００及び／又は方法１８００に含まれ、方法１８００におけるいくつかの動作（例えば、ブロック１８０６、１８０８及び／又は１８１０）は、任意選択的に、方法１６００及び／又は方法１７００に含まれる。
【００９７】
図１９Ａ〜図１９Ｙを参照すると、例えば、ＣＧＲ環境においてオブジェクト（例えば、仮想オブジェクト、物理的オブジェクト、並びに仮想オブジェクト及び物理的オブジェクトに対応するアフォーダンス）を選択及び／又は配置するための二重モダリティを提供する技術が記載されている。第１のモード（例えば、「視線係合」モード）では、位置又はオブジェクトは、ユーザの視線の位置に基づいて初期指定される。初期指定の後、第２のモード（例えば、「視線係合解除」モード）を使用して、視線を使用することなく、指定された位置を移動する又は異なるオブジェクトを指定する。視線位置は、ユーザによって急速に移動されることができ、これは、全般的な領域を素早く特定するのに効果的である。しかしながら、上述したように、ユーザの視線の位置には不確実性があり、そのため視線を使用して正確な位置を指定することが困難になる。推定された視線位置に永続的視覚インジケータを表示することは、インジケータがユーザを混乱させ、所望の指定ポイントにフォーカスするのではなく、ユーザの視線をインジケータに追従させることがあるので、正確な位置を指定するには効果が無いものであり得る。二重モダリティ技術により、ユーザは、大まかな初期指定を素早くに行い、次いで、特定のポイント又はオブジェクトを指定するために、（例えば、手動入力のみに基づいて）視線に依存しない微調整を行うことが可能になる。
【００９８】
図１９Ａは、仮想環境１９０２と対話するためにデバイス１９００を使用するユーザ２００を示す。いくつかの実施形態では、環境１９０２は、ＣＧＲ環境（例えば、ＶＲ環境又はＭＲ環境）である。デバイス１９００は、仮想現実ＨＭＤ１９００ａ及び入力デバイス１９００ｂを含む。いくつかの実施形態では、ＨＭＤ１９００ａは（例えば、図１Ｆ〜図１Ｉの）デバイス１００ａであり、入力デバイス１９００ｂは、（例えば、図１Ａ〜図１Ｂに示される通信バス（単数又は複数）１５０を介して）ＨＭＤ１９００ａと通信している。ビュー１９０２ａは、ＨＭＤ１９００ａ上でユーザ２００に表示された仮想環境１９０２のビューを示し、ビュー１９０２ｂは、ユーザ２００を含む仮想環境１９０２のパースペクティブを示す。図１９Ａはまた、ユーザ２００が仮想環境１９０２と対話するために入力を提供することを可能にするタッチ感知面１９０４（例えば、図１Ａ〜図１Ｂのタッチ感知面１２２）を含む入力デバイス１９００ｂを示す。デバイス１９００は、（上述のように）ユーザ２００の視線１９０６（例えば、視線方向及び／又は視線深さ）を判定するためのセンサ（単数又は複数）（例えば、ＨＭＤ１９００Ａ上の画像センサ（単数又は複数））を含む。いくつかの実施形態では、デバイス１９００は、（限定するものではないが）アイジェスチャ、ボディジェスチャ、及び音声入力を含む、様々なタイプのユーザ入力を検出するように構成されているセンサ（単数又は複数）を含む。いくつかの実施形態では、入力デバイスは、ボタン入力（例えば、上、下、左、右、入力など）を受け取るように構成されているコントローラを含む。
【００９９】
仮想環境１９０２は、テーブル１９１２に置かれている個々の写真１９０８ａ〜１９０８ｅを含む写真のスタック１９０８を含む。ビュー１９０２ｂに見えている視線１９０６は、ユーザ２００が写真のスタック１９０８を見ていることを示す。いくつかの実施形態では、視線１９０６を表す線は、例えば、ビュー１９０２ａに示されるように、仮想環境１９０２には見えない。
【０１００】
図１９Ａに示すように、デバイス１９００は、視線１９０６が写真のスタック１９０８に向けられている間に、ユーザ入力１９１０ａ（例えば、タッチ感知面１９０４上のタッチジェスチャ）を受け取る。いくつかの実施形態では、ユーザ入力１９１０ａは、タッチ感知面１９０４上のタッチジェスチャに加えて、又はその代わりに、アイジェスチャ、ボディジェスチャ、音声入力、コントローラ入力、又はこれらの組み合わせを含む。
【０１０１】
いくつかの実施形態では、ユーザ入力１９１０ａに対する応答は、ユーザ入力１９１０ａの特性に依存する。例えば、ユーザ入力１９１０ａが第１のタイプの入力（例えば、タッチ感知面１９０４上のタップ）であるとの判定に従って、図１９Ｂの写真のスタック１９０８の周りのフォーカスインジケータ１９１４（例えば、太線境界）によって示されるように、写真のスタック１９０８全体が選択される。いくつかの実施形態では、デバイス１９００は、更なる入力（例えば、終了ボタンの選択）を受け取ったことに応答して、写真のスタック１９０８を選択解除する。
【０１０２】
あるいは、ユーザ入力１９１０ａが異なるタイプの入力（例えば、タッチ感知面１９０４上のタッチアンドホールド）であるとの判定に従って、写真１９０８ａ〜１９０８ｅが図１９Ｃに示すように提示され、そのためユーザ２００はスタック１９０８から特定の写真をより容易に選択することができる。図１９Ｃでは、写真１９０８ａ〜１９０８ｅはテーブル１９１２から移動され、ユーザ２００の視野の中央に直立して、広げられて示される。ユーザ入力１９１０ａを受け取ったことに応答して、遠方左位置の写真１９０８ａが指定される（例えば、暫定的に選択される）。写真１９０８ａの指定は、写真１９０８ａの周りの太線境界を含むフォーカスインジケータ１９１４によって示される。いくつかの実施形態では、フォーカスインジケータ１９１４は、指定されたオブジェクトを視覚的に特定するポインタ、カーソル、ドット、球体、ハイライト、輪郭、又はゴースト像を含む。いくつかの実施形態では、デバイス１９００は、更なる入力（例えば、終了ボタンの選択又はタッチのリフトオフ）を受け取ったことに応答して、写真１９０８ａを指定解除して写真１９０８をテーブル１９１２に戻す。
【０１０３】
図１９Ｂ及び図１９Ｃに示される応答は両方とも、視線１９０６、より具体的には、ユーザ入力１９１０ａの時点のユーザ２００の視線位置に基づく。写真のスタック１９０８は、選択される（図１９Ｂ）か、又は指定されており、ユーザ２００の視線位置が写真のスタック１９０８上に位置付けられているため、更に選択するために再提示される。ユーザ入力に対する応答が視線１９０６に基づくとき、デバイス１９００は視線係合モードにあり、ユーザ２００の視線１９０６はユーザ入力と係合される。視線係合モードは、実線で示されている視線１９０６によって図１９Ａに示されている。
【０１０４】
いくつかの実施形態では、ユーザ入力１９１０ａに対する応答は、視線１９０６が２つ以上の選択可能なオブジェクトに対応するかどうかに依存する。いくつかの実施形態では、選択されるオブジェクトについての曖昧性又は不確実性が存在する場合、デバイス１９００は選択を確認しない。例えば、デバイス１９００は、視線１９０６の位置が複数の解決不能の選択可能なオブジェクト（例えば、写真のスタック１９０８）に対応するとの判定に従って、写真１９０８ａ〜１９０８ｅを表示して、写真１９０８ａ（図１９Ｃ）を指定する。いくつかのそのような実施形態では、視線１９０６の位置が単一の選択可能なオブジェクト（例えば、以下に説明する図１９Ｍに示されるマグ１９１８）のみに対応するとの判定に従って、デバイス１９００は、（例えば、オブジェクトを指定する代わりに、又は選択を更に絞り込む能力を提供する代わりに）単一の選択可能なオブジェクトを選択する。
【０１０５】
図示した実施形態では、ユーザ入力１９１０ａを受け取ったことに応答して、デバイス１９００はまた、ユーザ入力に対する応答がユーザ２００の視線１９０６に基づかず、視線１９０６が更なるユーザ入力から係合解除される、視線係合解除モードに切り替わる。視線係合解除モードは、破線で示されている視線１９０６によって図１９Ｃに示されている。
【０１０６】
図１９Ｄを参照すると、写真１９０８ａが指定される間に、デバイス１９００はユーザ入力１９１０ｂを受け取る。図１９Ｄでは、ユーザ入力１９１０ｂは、左から右へのスワイプジェスチャ又はドラッグジェスチャを含む。いくつかの実施形態では、ユーザ入力１９１０ｂは、ユーザ入力１９１０ａの続きである（例えば、ユーザ入力１９１０ａは、タッチ感知面１９０４上に維持される接触を含み、ユーザ入力１９１０ｂは接触の移動を含む）。いくつかの実施形態では、ユーザ入力１９１０ｂは、方向ボタンの押下又は口頭コマンド（「右に移動する」）を含む。ユーザ入力１９１０ｂを受け取ったことに応答して、フォーカスインジケータ１９１４は、図１９Ｅに示すように写真１９０８ｂを指定するためのユーザ入力１９１０ｂに従って（例えば、その方向）写真１９０８ａから移動される。
【０１０７】
特に、視線１９０６が係合解除されているため、写真１９０８ｂは、ユーザ入力１９１０ｂの時点で視線１９０６が写真１９０８ａ上に位置付けられているにもかかわらず、ユーザ入力１９１０ｂを受け取ったことに応答して指定される。フォーカスインジケータ１９１４は、視線１９０６の位置に対応しない位置（例えば、オブジェクト）に移動される。より一般的には、フォーカスインジケータ１９１４を移動して写真１９０８ｂを指定することは、視線１９０６に基づかない。いくつかの実施形態では、フォーカスインジケータ１９１４は、ユーザ入力１９１０ｂの特性（例えば、位置、方向、速度、持続時間など）のみに基づいて移動される。
【０１０８】
図１９Ｅに示すように、視線１９０６は係合解除されたままであり、視線１９０６が写真１９０８ａ上に位置付けられている間に更なるユーザ入力１９１０ｃを受け取ったことに応答して、フォーカスインジケータ１９１４は、図１９Ｆに示すように、写真１９０８ｂから移動されて写真１９０８ｃを指定する。
【０１０９】
図１９Ｇを参照すると、写真１９０８ｃが指定されている間に、デバイス１９００はユーザ入力１９１０ｄ（例えば、クリック、ダブルタップ、又は指のリフトオフ）を受け取る。ユーザ入力１９１０ｄを受け取ったことに応答して、現在指定されているオブジェクト、写真１９０８ｃが選択される。ユーザ入力１９１０ｄを受け取ったことに応答して、フォーカスインジケータ１９１４は写真１９０８ｃ上に留まり、他の写真１９０８ａ、１９０８ｂ、１９０８ｄ及び１９０８ｅは、図１９Ｈに示すようにテーブル１９１２に戻される。また、ユーザ２００の視線１９０６は、ユーザ入力１９１０ｄを受け取ったことに応答して再係合される。
【０１１０】
図１９Ａ〜図１９Ｈに関して説明される技術は、写真１９０８が（例えば、視線位置における不確実性に起因して）テーブル１９１２上に積み重ねられたとき、視線のみを使用して区別することが困難である特定のオブジェクト（例えば、写真１９０８の１つ）をユーザ２００が効率的に選択することができる、デュアルモード動作を提供する。ユーザ２００は、視線１９０６を使用して、オブジェクトのグループを素早く指定し、次いで、視線１９０６から独立した入力を使用して、オブジェクトのグループをナビゲートし、特定の１つを選択することができる。
【０１１１】
図１９Ｉを参照すると、写真１９０８ｃの選択を維持しながら、ユーザ２００は、写真１９０８ｆと写真１９０８ｇとの間の環境１９０２内の壁１９１６上の位置に視線１９０６を移動する。視線１９０６の移動に応答して、写真１９０８ｃは、視線位置に対応する位置に移動される。いくつかの実施形態では、写真１９０８ｃは、以下に説明するように、写真１９０８ｃの配置位置が指定又は選択されるまで、図１９Ｉに示される位置のままであるか、または（例えば、仮想環境１９０２のユーザ２００のビューを遮らないように）移動及び／又は視覚的に変更される。
【０１１２】
写真１９０８ｃが図１９Ｉに示すように置かれている間に、デバイス１９００は、ユーザ入力１９１０ｅ（例えば、タッチ感知面１９０４上のタッチ）を受け取る。ユーザ入力１９１０ｅを受け取ったことに応答して、写真１９０８ｃの配置位置は、ユーザ入力１９１０ｅの時点における視線１９０６の位置に基づいて指定される。図１９Ｊに示すように、ユーザ入力１９１０ｅを受け取ったことに応答して、選択された写真１９０８ｃが視線１９０６の位置に配置され、選択されたままであり、視線１９０６は係合解除される。いくつかの実施形態では、配置位置は、ポインタ、カーソル、ドット、球体、ハイライト、輪郭、又は（例えば、配置されているオブジェクトの）ゴースト像によって示される。
【０１１３】
いくつかの実施形態では、ユーザ入力１９１０ｅに対する応答は、ユーザ入力１９１０ｅの特性に依存する。いくつかの実施形態では、第１のタイプの入力（例えば、タッチ感知面１９０４上のタッチ）を含むユーザ入力１９１０ｅに従って、デバイス１９００は、壁１９１６上の写真１９０８ｃのための暫定的な配置位置を指定し、写真１９０８ｃは選択されたままであり、また、視線１９０６は、上述のように係合解除され、そして、第２のタイプの入力（例えば、タッチ感知面１９０４上のクリック）を含むユーザ入力１９１０ｅに従って、写真１９０８ｃが壁１９１６上に配置され、写真１９０８ｃは選択解除され、視線１９０６が再係合される。したがって、異なる入力を使用することによって、ユーザ２００は、暫定配置位置を指定しかつ写真１９０８ｃの選択を維持して、（後述するように）位置を更なる入力で調整するか、又は、配置位置として視線位置を受け入れて写真１９０８ｃを選択解除するか、のいずれかを選択することができる。
【０１１４】
図１９Ｊに戻ると、写真１９０８ｃが選択され、最初に指定された位置に位置付けられたままである間に、デバイス１９００は、下向きのスワイプジェスチャ又はドラッグジェスチャを含むユーザ入力１９１０ｆを受け取る。ユーザ入力１９１０ｆを受け取ったことに応答して、写真１９０８ｃは、図１９Ｋに示されるように、ユーザ入力１９１０ｆに従って、かつ視線１９０６の位置とは無関係に、下向きに移動される。この技術によれば、ユーザ２００は、視線１９０６を使用して、初期配置位置を素早くかつ大まかに指定し、次いで、視線に依存しない位置に対して微調整を行うことができる。写真１９０８ｃが所望の位置になる（例えば、写真１９０８ｆ及び写真１９０８ｇと位置合わせされる）と、ユーザ２００は入力１９１０ｇを提供する。入力１９１０ｇに応答して、図１９Ｋの写真１９０８ｃの位置は、最終配置位置として選択され、視線１９０６は再係合される。図１９Ｌに示すように、ユーザ入力１９１０ｇを受け取ったことに応答して、フォーカスは写真１９０８ｃから外され（写真１９０８ｃは選択解除され）、ユーザ２００が異なる位置に視線１９０６を移動するにつれて、写真１９０８ｃは選択された配置位置に留まる。
【０１１５】
ここで図１９Ｍを参照すると、仮想環境１９０２は、図１９Ｌに示すように構成されており、マグ１９１８が追加されている。図１９Ｍでは、視線１９０６がマグ１９１８と写真のスタック１９０８との間に位置付けられている間に、デバイス１９００は、ユーザ入力１９１０ｈ（例えば、タッチ感知面１９０４上のタッチ、ボタンの押下、又はボディジェスチャ）を受け取る。ユーザ入力１９１０ｈを受け取ったことに応答して、フォーカスインジケータ１９２０によって表される選択ポイントは、図１９Ｎに示すように、視線１９０６の位置に対応する位置で指定される。いくつかの実施形態では、フォーカスインジケータ１９２０は、ポインタ、カーソル、ドット、又は球体を含む。いくつかの実施形態では、視線１９０６は、ユーザ入力（例えば、最新の測定又は推定された位置）の前に、又はユーザ入力の後に（例えば、それに応答して）判定（例えば、測定又は推定）される。
【０１１６】
いくつかの実施形態では、ユーザ入力１９１０ｈに対する応答は前後関係に依存する。いくつかの実施形態では、応答は、視線位置に位置するものに基づく。例えば、デバイス１９００は、オブジェクト、複数の解決不能オブジェクト、メニューアフォーダンス、又はユーザ入力１９１０ｈの時点で視線位置にオブジェクトがないことに応じて、異なる応答をすることができる。例えば、視線１９０６が写真のスタック１９０８に対応するということをデバイス１９００が所定の確実性の度合いで判定する場合、フォーカスインジケータ１９１４は、フォーカスインジケータ１９２０の代わりに、図１９Ａ〜図１９Ｃを参照して説明したように表示される。いくつかの実施形態では、複数のオブジェクトは、オブジェクトに関連付けられたメニューオプション（例えば、以下に記載されるメニューアフォーダンス１９２４）を含む。
【０１１７】
いくつかの実施形態では、応答は、オブジェクトが現在選択されているかどうかに基づく。例えば、オブジェクトが現在選択されていない場合、デバイス１９００は選択モードで動作し、選択アクションを実行する（例えば、オブジェクトを選択すること（図１９Ｂ）、選択ポイントを指定すること（図１９Ｎ）、又は選択する複数のオブジェクトを表示すること（図１９Ｃ））ができ、オブジェクトが現在選択されている場合、デバイス１９００は、配置モードで動作し、配置アクションを実行することができる（例えば、オブジェクトを視線位置に配置すること、又は選択されたオブジェクトのゴースト像を指定された配置位置に表示することができる、上記の図１９Ｈ〜図１９Ｊ及び下記の図１９Ｐ〜図１９Ｑを参照）。
【０１１８】
図１９Ｎに戻ると、フォーカスインジケータ１９２０は、ユーザ入力１９１０ｈの時点における視線１９０６の位置に対応する複数の選択可能なオブジェクトが存在するという判定に従って表示される。例えば、視線１９０６が写真のスタック１９０８に対応するか、又はマグ１９１８に対応するかを、デバイス１９００が十分な確実性で判定することができない場合、フォーカスインジケータ１９２０は、ユーザ２００が自分はどのオブジェクトを選択したいかを明確にすることができるように表示される。図示した実施形態では、ユーザ２００は、マグ１９１８を選択することを望み、ユーザ入力１９１０ｉを提供するが、それは、フォーカスインジケータ１９２０をマグ１９１８に移動するための、タッチ感知面１９０４上の右から左へのスワイプジェスチャ又はドラッグジェスチャを含む。ユーザ入力１９１０ｉを受け取ったことに応答して、選択ポイントは、図１９Ｏのフォーカスインジケータ１９２０によって示されるように、マグ１９１８に対応する位置に移動される。選択ポイントがマグ１９１８上に位置付けられている間に、デバイス１９００はユーザ入力１９１０ｊ（例えば、クリック）を受け取る。ユーザ入力１９１０ｊを受け取ったことに応答して、選択ポイントが確認され、選択ポイントの現在位置に対応するオブジェクトが選択される。図１９Ｐに示すように、マグ１９１８は、マグ１９１８の周囲のフォーカスインジケータ１９１５（例えば、ハイライト）によって示されるように選択され、視線１９０６は再係合される。
【０１１９】
図１９Ｐに示すように、マグ１９１８が選択されたままである間に、ユーザ２００は、視線１９０６をテーブル１９２２に移動する。図示した実施形態では、マグ１９１８は同じ位置で表示されたままである（例えば、それは視線１９０６が係合されても、視線１９０６と共に移動しない）。
【０１２０】
視線１９０６が図１９Ｐに示すように位置付けられている間に、デバイス１９００はユーザ入力１９１０ｋを受け取る。ユーザ入力１９１０ｋを受け取ったことに応答して、配置ポイントは、視線１９０６に対応する位置でフォーカスインジケータ１９２０によって指定され、視線１９０６は、図１９Ｑに示すように係合解除される。いくつかの実施形態では、フォーカスインジケータ１９２０は、ポインタ、カーソル、ドット、球体、ハイライト、輪郭、又は選択されたオブジェクト（例えば、マグ１９１８）のゴースト像を含む。
【０１２１】
いくつかの実施形態では、ユーザ入力１９１０ｋに対する応答は、マグ１９１８が選択されている間に、ユーザ入力１９１０ｋの時点における視線１９０６の位置に対応する２つ以上の配置位置が存在するかどうかに依存する。図１９Ｐでは、視線１９０６の位置が複数の可能な選択可能な配置位置に対応するとの判定に従って、配置ポイントが指定される（例えば、デバイス１９００は、視線位置又はその近くに様々な可能な配置位置が存在する場合には、選択されたオブジェクトに対する配置位置を確認しない）。いくつかの実施形態では、視線１９０６の位置が単一の選択可能な配置位置のみに対応するとの判定に従って、かつユーザ入力１９１０ｋを受け取ったことに応答して、デバイス１９００は、選択されたオブジェクトを視線位置に配置し、オブジェクトを選択解除し、視線１９０６を再係合する。
【０１２２】
図１９Ｑを参照すると、配置ポイントが指定されている間に、デバイス１９００は、タッチ感知面１９０４上で、対角線のスワイプジェスチャ又は上向き及び右へのドラッグジェスチャを含むユーザ入力１９１０ｌを受け取る。ユーザ入力１９１０ｌを受け取ったことに応答して、図１９Ｒに示すとおり、配置ポイントは、テーブル１９２２の中心に向かって移動するフォーカスインジケータ１９２０によって示されるように、ユーザ入力１９１０ｌに従って移動される。配置ポイントはユーザ入力１９１０ｍを受け取ったことに応答して確認され、選択されたオブジェクト（例えば、マグ１９１８）は、図１９Ｓに示すように、テーブル１９２２上の確認された配置ポイントに配置される。視線１９０６はまた、ユーザ入力１９１０ｍを受け取ったことに応答して再係合される。
【０１２３】
ここで図１９Ｔを参照すると、仮想環境１９０２は、図１９Ｍに示すように構成されており、メニューアフォーダンス１９２４の近傍のオブジェクト（例えば、テーブル１９１２、写真１９０８及びマグ１９１８）に関連付けられているメニューアフォーダンス１９２４が追加されている。図１９Ｔでは、視線１９０６がメニューアフォーダンス１９２４上に位置付けられている間に、デバイス１９００は、ユーザ入力１９１０ｎ（例えば、タッチ）を受け取る。ユーザ入力１９１０ｎを受け取ったことに応答して、メニューアフォーダンス１９２４が選択され、図１９Ｕに示すように、視線１９０６はユーザ入力から係合解除される。
【０１２４】
メニューアフォーダンス１９２４の選択により、メニューオプション１９２６ａ〜１９２６ｄが表示され、これは、視線１９０６から独立した入力によって循環され、選択され得る。図１９Ｕに示すように、メニューオプション１９２６ａ（テーブルを選択する）は、メニューアフォーダンス１９２４の選択に応答して、フォーカスインジケータ１９２８（例えば、太線境界）で最初に指定される。
【０１２５】
図１９Ｖに示すように、デバイス１９００は、下向きのスワイプジェスチャ又はドラッグジェスチャを含むユーザ入力１９１０ｏを受け取る。ユーザ入力１９１０ｏを受け取ったことに応答して、フォーカスインジケータ１９２８は、図１９Ｗに示すように、視線１９０６の位置に関係なく、ユーザ入力１９１０ｏに従ってメニューオプション１９２６ａ（テーブルを選択する）からメニューオプション１９２６ｂ（写真を選択する）へと下に移動する。
【０１２６】
図１９Ｗでは、デバイス１９００は、追加の下向きの移動を含むユーザ入力１９１０ｐを受け取る。ユーザ入力１９１０ｐを受け取ったことに応答して、フォーカスインジケータ１９２８は、図１９Ｘに示すように、視線１９０６の位置に関係なく、ユーザ入力１９１０ｐに従ってメニューオプション１９２６ｂ（写真を選択する）からメニューオプション１９２６ｃ（マグを選択する）へと下に移動する。
【０１２７】
図１９Ｘでは、メニューオプション１９２６Ｃが指定されている間に、デバイス１９００はユーザ入力１９１０ｑを受け取る。ユーザ入力１９１０ｑを受け取ったことに応答して、図１９Ｙに示すように、メニューオプション１９２６ｃに対応するオブジェクトが選択される。図１９Ｙでは、ユーザ入力１９１０ｒを受け取ったことに応答して、マグ１９１８が選択され、ユーザ２００の視野の中心に移動される。
【０１２８】
更に、図１９Ａ〜図１９Ｙを参照して上述した実施形態は仮想環境に関連するが、同様の技術を、複合現実環境を含む他のＣＧＲ環境に適用することができる。
【０１２９】
ここで図２０を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス２０００のフローチャートが示されている。プロセス２０００は、ユーザデバイス（例えば、１００ａ、３００、９００、又は１９００）を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス２０００は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、２つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス２０００の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス２０００は、仮想現実環境及び複合現実環境を含む、ＣＧＲ環境に適用することができ、仮想オブジェクト、物理的オブジェクト、並びに仮想オブジェクト及び物理的オブジェクトに対応する表現（例えば、アフォーダンス）に適用することができる。プロセス２０００のブロックは、図２０では特定の順序で示されているが、これらのブロックは他の順序で実行することができる。更に、プロセス２０００の１つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック（単数又は複数）と組み合わされることができ、及び／又は追加のブロックを実行することができる。
【０１３０】
ブロック２００２では、デバイスは、第１の時点で第１のユーザ入力（例えば、タッチ感知面上の接触、ボタンの押下、又はボディジェスチャ）を受け取る。ブロック２００４において、第１のユーザ入力を受け取ったことに応答して、デバイスは、第１の時点における視線位置に基づいて第１の位置で選択ポイントを指定し、第１の位置は、第１の時点における視線位置に対応する。いくつかの実施形態では、第１の時点における視線位置は、第１のユーザ入力（例えば、最新の測定又は推定された位置）の前に、又は第１のユーザ入力の後に（例えば、それに応答して）判定（例えば、測定又は推定）される。
【０１３１】
いくつかの実施形態では、フォーカスインジケータは、視線位置に表示される。いくつかの実施形態では、フォーカスインジケータは、ポインタ、カーソル、ドット、球体、ハイライト、輪郭、又は（例えば、指定又は選択されたオブジェクト（単数又は複数）の）ゴースト像を含む。いくつかの実施形態では、フォーカスインジケータは、視線位置にあるオブジェクトに対応する選択ポイントを指定する。いくつかの実施形態では、デバイスは、第１のユーザ入力に応答してユーザ入力から視線を係合解除する。
【０１３２】
いくつかの実施形態では、第１の入力に対する応答は前後関係に依存している（例えば、応答は、視線位置に位置するもの（例えば、オブジェクト、複数の解決不能オブジェクト、メニューアフォーダンス、又はオブジェクトなし）か、又はオブジェクトが現在選択されているかどうかに基づく）。例えば、オブジェクトが現在選択されていない場合、デバイスは選択モードで動作し、選択アクションを実行し（例えば、選択のために複数のオブジェクトが表示され）、一方、オブジェクトが現在選択されている場合は、デバイスは配置モードで動作し、配置アクションを実行する（例えば、選択されたオブジェクトのゴースト像が暫定配置位置で表示される）。
【０１３３】
いくつかの実施形態では、選択ポイントは、第１の位置が複数の選択可能なオブジェクトに対応するとの判定に従って、第１の位置で指定される。いくつかの実施形態では、複数のオブジェクトは、ユーザの視線に基づいて解決することができない、近接して離間配置されたオブジェクトのグループである。いくつかの実施形態では、複数のオブジェクトは、視線位置におけるオブジェクト（例えば、メニューアフォーダンス）に関連付けられたメニューオプションである。例えば、選択されるオブジェクトについての曖昧性又は不確実性があると判定された場合、デバイスは、オブジェクトの選択を確認するのではなく、選択点を暫定的に指定する。いくつかのそのような実施形態では、第１のユーザ入力を受け取ったことに応答して、第１の位置が単一の選択可能なオブジェクトのみに対応するとの判定に従って、デバイスは、（例えば、第１の位置で選択ポイントを指定する代わりに）単一の選択可能なオブジェクトを選択する。
【０１３４】
いくつかの実施形態では、選択ポイントは、第１のユーザ入力が第１のタイプの入力（例えば、タッチ感知面上のタッチ、ボタンの押下、又はボディジェスチャ）であるとの判定に従って、第１の位置で指定される。いくつかのそのような実施形態では、第１のユーザ入力を受け取ったことに応答して、かつ第１のユーザ入力がタッチ感知面上の第１のタイプの入力とは異なる第２のタイプの入力（例えば、タッチ感知面上の（タッチとは対照的な）クリック、異なるボタンの押下、または異なるボディジェスチャ）であるとの判定に従って、デバイスは、第１の位置で選択ポイントを確認する。
【０１３５】
選択ポイントの指定を維持しながら、デバイスは、ブロック２００６、２００８、２０１０及び２０１２の動作を実行する。ブロック２００６において、デバイスは、第２のユーザ入力（例えば、タッチ感知面上の接触の移動、又は方向ボタンの押下）を受け取る。ブロック２００８において、第２のユーザ入力を受け取ったことに応答して、デバイスは、選択ポイントを第１の位置とは異なる第２の位置に移動し、選択ポイントを第２の位置に移動することは、視線位置に基づかない。例えば、デバイスは、フォーカスインジケータを異なるオブジェクト、選択ポイント、又は配置ポイントに移動する。いくつかの実施形態では、選択ポイントは、第２の入力の特性（例えば、位置、方向、速度、持続時間など）のみに基づいて移動される。いくつかの実施形態では、選択ポイントの移動は、視線位置から独立している（視線位置に基づかない）。いくつかの実施形態では、第２の位置は、第２のユーザ入力に関連付けられた視線位置とは異なる。
【０１３６】
いくつかの実施形態では、第１のユーザ入力は、デバイスが第１のモード（例えば、ユーザ入力に対する応答がユーザの視線に基づく視線係合モード）にある間に受け取られ、選択ポイントは、デバイスが第１のモードにあることに従って第１の位置で指定される。いくつかのそのような実施形態では、第１のユーザ入力を受け取ったことに応答して、デバイスは、第１のモードから第２のモード（例えば、視線が更なる入力から係合解除されるようにユーザ入力に対する応答がユーザの視線に基づかない、視線係合解除モード）に切り替わる。いくつかのそのような実施形態では、第２の入力は、デバイスが第２のモードにある間に受け取られ、選択ポイントは、デバイスが第２のモードにあることに従って第２の位置に移動される。
【０１３７】
ブロック２０１０において、選択ポイントが第２の位置にある間に、デバイスは、第３のユーザ入力（例えば、クリック、ダブルタップ、又はタッチ感知面からの接触のリフトオフ）を受け取る。ブロック２０１２において、第３のユーザ入力を受け取ったことに応答して、デバイスは、第２の位置で選択ポイントを確認する。いくつかの実施形態では、デバイスは、確認すると、入力を視線と再係合する（例えば、視線係合解除モードから視線係合モードに切り替える）。いくつかの実施形態では、第３の入力は、デバイスが第２のモード（視線係合解除モード）にある間に受け取られ、選択ポイントは、デバイスが第２のモードにあることに従って第２の位置で確認される。
【０１３８】
いくつかの実施形態では、選択ポイントを確認することにより、選択ポイントの位置（例えば、第２の位置）に対応するオブジェクトを選択する。例えば、第３のユーザ入力を受け取ったことに応答して、デバイスは、第２の位置に対応するオブジェクトを選択する。
【０１３９】
いくつかの実施形態では、選択ポイントを確認することにより、選択ポイントの位置にオブジェクトを配置する。例えば、第１のユーザ入力を受け取る前に、デバイスは、第２の位置とは異なる第３の位置でオブジェクトを選択し、第３のユーザ入力を受け取ったことに応答して、オブジェクトを第２の位置に配置する。いくつかの実施形態では、第１のユーザ入力を受け取る前に、デバイスは、第２の位置とは異なる第３の位置でオブジェクトを選択し、選択ポイントは、第１の位置が複数の選択可能な配置位置に対応するとの判定に従って、第１の位置で指定される（例えば、選択される位置についての曖昧性又は不確実性がある場合、デバイスは配置位置を確認しない）。いくつかのそのような実施形態では、第１のユーザ入力を受け取ったことに応答して、かつ第１の位置が単一の選択可能な配置位置のみに対応するとの判定に従って、デバイスは、単一の選択可能な配置位置にオブジェクトを配置する（例えば、デバイスは、１つのオプションしか存在しない場合には、配置位置を暫定的に指定するのをバイパスする）。
【０１４０】
いくつかの実施形態では、第１のユーザ入力は、第２のユーザ入力又は第３のユーザ入力と同じタイプの入力である。いくつかの実施形態では、シングルタップ又はボタンの押下を使用して、ポイント又はオブジェクト（単数又は複数）を指定し、別のシングルタップ又は同じボタンの押下を使用して、指定されたポイント又はオブジェクト（単数又は複数）を確認する。いくつかの実施形態では、デバイスは、デバイスが動作しているモード（例えば、選択モード又は配置モード）に基づいて、どのアクションを取るかを決定する。
【０１４１】
ここで図２１を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス２１００のフローチャートが示されている。プロセス２１００は、ユーザデバイス（例えば、１００ａ、３００、９００、又は１９００）を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス２１００は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、２つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス２１００の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス２１００は、仮想現実環境及び複合現実環境を含む、ＣＧＲ環境に適用することができ、仮想オブジェクト、物理的オブジェクト、並びに仮想オブジェクト及び物理的オブジェクトに対応する表現（例えば、アフォーダンス）に適用することができる。プロセス２１００のブロックは、図２１に特定の順序で示されているが、これらのブロックは他の順序で実行することができる。更に、プロセス２１００の１つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック（単数又は複数）と組み合わされることができ、及び／又は追加のブロックを実行することができる。
【０１４２】
ブロック２１０２において、デバイスは、第１の時点で第１のユーザ入力を受け取る。ブロック２１０４において、第１のユーザ入力を受け取ったことに応答して、デバイスは、視線位置に基づいて、複数のオブジェクトのうちの第１のオブジェクトを指定する（例えば、複数のオブジェクトの位置が第１の時点における視線位置に対応する）。いくつかの実施形態では、フォーカスインジケータは第１のオブジェクトを指定する。いくつかの実施形態では、複数のオブジェクトはハイライト若しくは拡大される、又は、視線位置におけるメニューアフォーダンスに対応するメニューオプションが表示される。
【０１４３】
いくつかの実施形態では、第１のオブジェクトは、第１の時点における視線位置が、２つ以上のオブジェクト（例えば、複数のオブジェクト）への視線に対応するとの判定に従って指定される。例えば、選択されるオブジェクトについての曖昧性又は不確実性が存在する場合、デバイスは選択を確認しない。いくつかのそのような実施形態では、第１のユーザ入力を受け取ったことに応答して、かつ第１の時点における視線位置が単一の選択可能なオブジェクトのみへの視線に対応するとの判定に従って、デバイスは単一の選択可能なオブジェクトを選択する。
【０１４４】
いくつかの実施形態では、第１のユーザ入力は、デバイスが第１のモード（例えば、ユーザ入力に対する応答がユーザの視線に基づく視線係合モード）にある間に受け取られ、第１のオブジェクトは、電子デバイスが第１のモードにあることに従って指定される。いくつかのそのような実施形態では、第１のユーザ入力を受け取ったことに応答して、デバイスは、第１のモードから第２のモードに切り替わる（例えば、視線が更なる入力から係合解除されるようにユーザ入力に対する応答がユーザの視線に基づかない、視線係合解除モードに切り替わる）。いくつかのそのような実施形態では、第２の入力は、電子デバイスが第２のモードにある間に受け取られ、第２のオブジェクトは、電子デバイスが第２のモードにあることに従って指定される。
【０１４５】
いくつかの実施形態では、第１のオブジェクトは、第１のユーザ入力が第１のタイプの入力（例えば、タッチ感知面上のタッチ、ボタンの押下、又はボディジェスチャ）であるとの判定に従って指定される。いくつかのそのような実施形態では、第１のユーザ入力を受け取ったことに応答して、かつ第１のユーザ入力がタッチ感知面上の第１のタイプの入力とは異なる第２のタイプの入力（例えば、タッチ感知面上の（タッチとは対照的な）クリック、異なるボタンの押下、または異なるボディジェスチャ）であるとの判定に従って、デバイスは、複数のオブジェクトを選択する。
【０１４６】
第１のオブジェクトの指定を維持しながら、デバイスは、ブロック２１０６及び２１０８の動作を実行する。ブロック２１０６において、デバイスは、第２のユーザ入力を受け取る。ブロック２１０８において、第２のユーザ入力を受け取ったことに応答して、デバイスは、第１のオブジェクトの指定を停止し、複数のオブジェクトのうちの第２のオブジェクトを指定し（例えば、フォーカスインジケータを異なるオブジェクトに移動し）、第２のオブジェクトを指定することは、視線位置に基づかない。いくつかの実施形態では、第２のオブジェクトは、第２のユーザ入力の特性（例えば、位置、方向、速度、持続時間など）のみに基づいて選択される。いくつかの実施形態では、第２のユーザ入力は第２の時点におけるものであり、第２の時点における第２のオブジェクトの位置は、第２の時点における視線位置とは異なる。
【０１４７】
第２のオブジェクトの指定を維持しながら、デバイスは、ブロック２１１０及び２１１２の動作を実行する。ブロック２１１０において、デバイスは、第３のユーザ入力を受け取る。ブロック２１１２において、第３のユーザ入力を受け取ったことに応答して、デバイスは第２のオブジェクトを選択する。
【０１４８】
いくつかの実施形態では、第２のオブジェクトを選択した後、デバイスは、第２の時点で第４のユーザ入力を受け取る。第４のユーザ入力を受け取ったことに応答して、かつ第４のユーザ入力が、第１のタイプの入力であるとの判定に従って、デバイスは、第２の時点で第２のオブジェクトを視線位置に配置する。第４のユーザ入力を受け取ったことに応答して、かつ第４のユーザ入力が、第１のタイプの入力とは異なる第２のタイプの入力であるとの判定に従って、デバイスは、第２の時点における視線位置に対応する配置ポイントを指定する。いくつかのそのような実施形態では、配置位置の指定を維持しながら、デバイスは第５のユーザ入力を受け取り、第５のユーザ入力を受け取ったことに応答して、第２のオブジェクトを配置ポイントの現在位置に配置する。
【０１４９】
いくつかの実施形態では、第１のユーザ入力は、第２のユーザ入力又は第３のユーザ入力と同じタイプの入力である。いくつかの実施形態では、シングルタップ又はボタンの押下を使用して、第１のオブジェクトを指定し、別のシングルタップ又は同じボタンの押下を使用して、第２のオブジェクトを選択する。
【０１５０】
ここで図２２を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス２２００のフローチャートが示されている。プロセス２２００は、ユーザデバイス（例えば、１００ａ、３００、９００、又は１９００）を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス２２００は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、２つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス２２００の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス２２００は、仮想現実環境及び複合現実環境を含む、ＣＧＲ環境に適用することができ、仮想オブジェクト、物理的オブジェクト、並びに仮想オブジェクト及び物理的オブジェクトに対応する表現（例えば、アフォーダンス）に適用することができる。プロセス２２００のブロックは、図２２に特定の順序で示されているが、これらのブロックは、他の順序で実行することができる。更に、プロセス２２００の１つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック（単数又は複数）と組み合わされることができ、及び／又は追加のブロックを実行することができる。
【０１５１】
ブロック２２０２において、デバイスは（例えば、プロセス２１００に記載されているように）オブジェクトを選択する。オブジェクトの選択を維持しながら、デバイスは、ブロック２２０４、２２０６、２２０８、２２１０、２２１２及び２２１４の動作を実行する。ブロック２２０４において、デバイスは、第１の時点で第１のユーザ入力を受け取る。ブロック２２０６において、第１のユーザ入力を受け取ったことに応答して、デバイスは、第１の時点における視線位置に基づいて第１の位置で配置ポイントを指定し、第１の位置は、第１の時点における視線位置に対応する。
【０１５２】
いくつかの実施形態では、配置ポイントは、第１のユーザ入力が第１のタイプの入力（例えば、タッチ感知面上のタッチ、ボタンの押下、又はボディジェスチャ）であるとの判定に従って、第１の位置で指定される。いくつかのそのような実施形態では、第１のユーザ入力を受け取ったことに応答して、かつ第１のユーザ入力がタッチ感知面上の第１のタイプの入力とは異なる第２のタイプの入力（例えば、タッチ感知面上の（タッチとは対照的な）クリック、異なるボタンの押下、または異なるボディジェスチャ）であるとの判定に従って、デバイスは、選択されたオブジェクトを第１の位置に配置する。
【０１５３】
いくつかの実施形態では、配置ポイントは、第１の位置が複数の選択可能な配置位置に対応するとの判定に従って、第１の位置で指定される（例えば、配置のために選択される位置についての曖昧性又は不確実性があるときに、デバイスは配置位置を確認しない）。いくつかのそのような実施形態では、第１のユーザ入力を受け取ったことに応答して、かつ第１の位置が単一の選択可能な配置位置のみに対応するとの判定に従って、デバイスは、選択されたオブジェクトを単一の選択可能な配置位置に配置する。
【０１５４】
配置ポイントの指定を維持しながら、デバイスは、ブロック２２０８、２２１０、２２１２及び２２１４の動作を実行する。ブロック２２０８において、デバイスは、第２のユーザ入力を受け取る。ブロック２２１０において、第２のユーザ入力を受け取ったことに応答して、デバイスは、配置ポイントを第１の位置とは異なる第２の位置に移動し、配置ポイントを第２の位置に移動することは、視線位置（例えば、第２のユーザ入力の時点における視線位置）に基づかない。いくつかの実施形態では、第２の位置は、第２のユーザ入力に関連付けられた視線位置とは異なる。
【０１５５】
いくつかの実施形態では、第１のユーザ入力は、電子デバイスが第１のモード（例えば、ユーザ入力に対する応答が視線位置に基づく視線係合モード）にある間に受け取られ、配置ポイントは、電子デバイスが第１のモードにあることに従って第１の位置で指定される。いくつかのそのような実施形態では、第１のユーザ入力を受け取ったことに応答して、デバイスは、第１のモードから第２のモードに切り替わる（例えば、視線が第１の入力に応答して更なる入力から係合解除されるようにユーザ入力に対する応答がユーザの視線に基づかない、視線係合解除モードへの切り替え）。いくつかのそのような実施形態では、第２のユーザ入力は、電子デバイスが第２のモードにある間に受け取られ、配置ポイントは、電子デバイスが第２のモードにあることに従って第２の位置に移動される。
【０１５６】
ブロック２２１２において、デバイスは、第３のユーザ入力を受け取る。ブロック２２１４において、第３のユーザ入力を受け取ったことに応答して、デバイスは、選択されたオブジェクトを第２の位置に配置し、任意選択的に、オブジェクトを選択解除する。いくつかの実施形態では、第１のユーザ入力は、第２のユーザ入力又は第３のユーザ入力と同じタイプの入力である。いくつかの実施形態では、シングルタップ又はボタンの押下を使用して、第１の位置で配置ポイントを指定し、別のシングルタップ又は同じボタンの押下を使用して、選択されたオブジェクトを第２の位置に配置する。
【０１５７】
上述のプロセス２０００、２１００及び／又は２２００の機能を実行するための実行可能命令は、任意選択的に、一時的若しくは非一時的コンピュータ可読記憶媒体（例えば、メモリ（単数又は複数）１０６）又は１つ以上のプロセッサ（例えば、プロセッサ（単数又は複数）１０２）によって実行されるように構成されている他のコンピュータプログラム製品に含まれる。プロセス２０００におけるいくつかの動作は、任意選択的に、プロセス２１００及び／又はプロセス２２００に含まれ（例えば、ブロック２００４及び／又はブロック２００８は、ブロック２１０４及び／又はブロック２１０８にそれぞれ含まれ）、プロセス２１００におけるいくつかの動作は、任意選択的に、プロセス２０００及び／又はプロセス２２００に含まれ（例えば、ブロック２２０２はブロック２１１２を含み）、プロセス２２００におけるいくつかの動作は、任意選択的に、プロセス２０００及び／又はプロセス２１００に含まれる（例えば、ブロック２１１２はブロック２２０２を含む）。更に、プロセス２０００、２１００及び／又は２２００におけるいくつかの動作（例えば、ブロック２００４、２００８、２１０４、２１０８、２２０６及び／又は２２１０）は、任意選択的に、プロセス１６００、１７００及び／又は１８００に含まれ、プロセス１６００、１７００及び／又は１８００におけるいくつかの動作（例えば、ブロック１６０４、１６０６、１７０４、１７０６、１８０４及び／又は１８０６）は、任意選択的に、プロセス２０００、２１００及び／又は２２００に含まれる。
【０１５８】
上述のように、本技術の一態様は、ユーザの視線に関するデータの使用を伴う。視線情報は、本技術では、ユーザの利益に使用することができる。例えば、ユーザの視線を使用して、コンピュータ生成現実環境の特定の部分に対するユーザのフォーカスを推測し、ユーザが、視野のその部分において特定のオブジェクトと対話することを可能にすることができる。しかしながら、ユーザによっては、視線情報を機密情報である、又は個人的性質に関するものであると考える場合がある可能性がある。
【０１５９】
ＣＧＲシステムによって検出された視線情報を収集、使用、転送、記憶、又は他の方法で影響を与えるエンティティは、十分に確立されたプライバシーポリシー及び／又はプライバシー慣行に従うべきである。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実装し、一貫して使用するべきである。そのようなポリシーは、ユーザによって容易にアクセス可能とするべきであり、データの収集及び／又は使用が変化するにつれて更新されるべきである。ユーザからの視線情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更には、そのような収集／共有は、ユーザに告知して同意を得た後に実施されるべきである。更には、そのようなエンティティは、そのような視線情報データへのアクセスを保護して安全化し、その視線情報データへのアクセスを有する他者（もしいるなら）が、それらのプライバシーポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。更には、ポリシー及び慣行は、収集及び／又はアクセスされる具体的な視線情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含めた、適用可能な法令及び規格に適合されるべきである。
【０１６０】
本開示はまた、視線情報の使用又は支援情報へのアクセスを、ユーザが選択的に阻止する実施形態も想到する。本技術を実装しているエンティティは、サービスの登録中又はその後のいつでも、ユーザが視線情報の収集への参加の「オプトイン」又は「オプトアウト」を選択することを可能にしながら、特定の機能を提供することができるかどうかを判定することができる。「オプトイン」及び「オプトアウト」の選択肢を提供することに加えて、本開示は、視線情報のアクセス又は使用に関する通知を提供することを想到する。例えば、ユーザは、自分の個人的な視線データがアクセスされるということを、アプリをダウンロードする際に通知されてもよい。ユーザはまた、いくつかの視線情報が特定の機能を提供するために使用されている理由に関して、平明に教示されてもよい。例えば、ユーザが見ている場所を判定するために視線情報が使用される仮想現実システムでは、仮想環境のどの視野をシステムがレンダリングすべきかを判定するために、自分の視線情報が使用されていることをユーザに知らせることができ、それによって、ユーザは、いつ視線情報の使用を可能にするべきかについて情報に基づいた決定を行うことが可能になる。
【０１６１】
それにもかかわらず、本開示の意図は、視線情報データを、非意図的若しくは非認可アクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなった時点で削除することによって、危険性を最小限に抑えることができる。更には、適用可能な場合、ユーザのプライバシーを保護するために、データの非特定化を使用することができる。非特定化は、適切な場合には、特定の識別子（例えば、ユーザ名、デバイス名など）を除去することによって、記憶されたデータの量又は特異性を制御することによって（例えば、ユーザが座標系において見ている数学的座標を収集するが、どのコンテンツがその座標で見られているかに関する情報を収集することを避ける）、どのようにデータが記憶されるか（例えば、ローカルに）を制御することによって、及び／又は他の方法によって、促進することができる。
【０１６２】
特定の実施形態の前述の説明を、例示と説明のために提示してきた。これらは、網羅的であることも、又は特許請求の範囲を開示される厳密な形態に限定することも意図するものではなく、上記の教示に照らして多くの変更及び変形が可能であることを理解されたい。
付記
１．  第１の時点で第１のユーザ入力を受け取ることと、
前記第１のユーザ入力を受け取ったことに応答して、前記第１の時点における視線位置に対応する複数のオブジェクトのうちの第１のオブジェクトを指定することと、
前記第１のオブジェクトの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、
前記第１のオブジェクトの指定を停止することと、
前記複数のオブジェクトのうちの第２のオブジェクトを指定することであって、前記第２のオブジェクトを指定することは前記視線位置に基づいていない、第２のオブジェクトを指定することと、
前記第２のオブジェクトの指定を維持しながら、
第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記第２のオブジェクトを選択することと、
を含む、方法。
２．  前記第１のオブジェクトは、前記第１の時点における前記視線位置が２つ以上の選択可能なオブジェクトへの視線に対応するとの判定に従って指定され、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、
前記第１の時点における前記視線位置が、単一の選択可能なオブジェクトのみへの視線に対応するとの判定に従って、前記単一の選択可能なオブジェクトを選択すること、
を更に含む、上記１に記載の方法。
３．  前記第２のオブジェクトを選択した後、
第２の時点で第４のユーザ入力を受け取ることと、
前記第４のユーザ入力を受け取ったことに応答して、
前記第４のユーザ入力が第１のタイプの入力であるとの判定に従って、前記第２のオブジェクトを前記第２の時点における視線位置に配置することと、
前記第４のユーザ入力が前記第１のタイプの入力とは異なる第２のタイプの入力であるとの判定に従って、前記第２の時点における前記視線位置に対応する配置ポイントを指定することと、
を更に含む、上記１から２のいずれか一項に記載の方法。
４．  前記配置位置の指定を維持しながら、第５のユーザ入力を受け取ることと、
前記第５のユーザ入力を受け取ったことに応答して、前記第２のオブジェクトを前記配置ポイントの現在位置に配置することと、
を更に含む、上記３に記載の方法。
５．  電子デバイスが第１のモードである間に前記第１のユーザ入力が受け取られ、前記第１のオブジェクトは、前記電子デバイスが前記第１のモードにあることに従って指定され、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、前記電子デバイスを前記第１のモードから第２のモードに切り替えることであって、前記電子デバイスが前記第２のモードにある間に前記第２の入力が受け取られ、前記第２のオブジェクトは、前記電子デバイスが前記第２のモードにあることに従って指定される、切り替えることを更に含む、
上記１から４のいずれか一項に記載の方法。
６．  前記第１のユーザ入力は、前記第２のユーザ入力又は前記第３のユーザ入力と同じタイプの入力である、上記１から５のいずれか一項に記載の方法。
７．  前記第２のユーザ入力が第２の時点におけるものであり、前記第２の時点における前記第２のオブジェクトの位置は、前記第２の時点における視線位置とは異なる、上記１から６のいずれか一項に記載の方法。
８．  前記第１のオブジェクトは、前記第１のユーザ入力が第１のタイプの入力であるとの判定に従って指定され、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、
前記第１のユーザ入力が前記第１のタイプの入力とは異なる第２のタイプの入力であるとの判定に従って、前記複数のオブジェクトを選択すること、
を更に含む、上記１から７のいずれか一項に記載の方法。
９．  電子デバイスの１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムは、上記１から８のいずれか一項に記載の方法を実行する命令を含む、非一時的コンピュータ可読記憶媒体。
１０．  １つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶するメモリであって、前記１つ以上のプログラムは、上記１から８のいずれか一項に記載の方法を実行する命令を含む、メモリと、
を備える、電子デバイス。
１１．  上記１から８のいずれか一項に記載の方法を実行するための手段を備える、電子デバイス。
１２．  電子デバイスの１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムは、
第１の時点で第１のユーザ入力を受け取ることと、
前記第１のユーザ入力を受け取ったことに応答して、前記第１の時点における視線位置に対応する複数のオブジェクトのうちの第１のオブジェクトを指定することと、
前記第１のオブジェクトの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、
前記第１のオブジェクトの指定を停止することと、
前記複数のオブジェクトのうちの第２のオブジェクトを指定することであって、前記第２のオブジェクトを指定することは前記視線位置に基づいていない、第２のオブジェクトを指定することと、
前記第２のオブジェクトの指定を維持しながら、
第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記第２のオブジェクトを選択することと、
を行うための命令を含む、非一時的コンピュータ可読記憶媒体。
１３．  １つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶するメモリであって、前記１つ以上のプログラムは、
第１の時点で第１のユーザ入力を受け取ることと、
前記第１のユーザ入力を受け取ったことに応答して、前記第１の時点における視線位置に対応する複数のオブジェクトのうちの第１のオブジェクトを指定することと、
前記第１のオブジェクトの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、
前記第１のオブジェクトの指定を停止することと、
前記複数のオブジェクトのうちの第２のオブジェクトを指定することであって、前記第２のオブジェクトを指定することは前記視線位置に基づいていない、第２のオブジェクトを指定することと、
前記第２のオブジェクトの指定を維持しながら、
第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記第２のオブジェクトを選択することと、
を行うための命令を含む、メモリと、
を備える、電子デバイス。
１４．  第１の時点で第１のユーザ入力を受け取るための手段と、
前記第１のユーザ入力を受け取ったことに応答して、前記第１の時点における視線位置に対応する複数のオブジェクトのうちの第１のオブジェクトを指定するための手段と、
前記第１のオブジェクトの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、
前記第１のオブジェクトの指定を停止することと、
前記複数のオブジェクトのうちの第２のオブジェクトを指定することであって、前記第２のオブジェクトを指定することは前記視線位置に基づいていない、指定をすることと、
を行うための手段と、
前記第２のオブジェクトの指定を維持しながら、
第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記第２のオブジェクトを選択することと、
を行うための手段と、
を備える、電子デバイス。
１５．  第１の時点で第１のユーザ入力を受け取ることと、
前記第１のユーザ入力を受け取ったことに応答して、第１の位置で選択ポイントを指定することであって、前記第１の位置は前記第１の時点における視線位置に対応する、指定することと、
前記選択ポイントの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、前記選択ポイントを前記第１の位置とは異なる第２の位置に移動することであって、前記選択ポイントを前記第２の位置に移動することは、前記視線位置に基づいていない、移動することと、
前記選択ポイントが前記第２の位置にある間に、第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記第２の位置で前記選択ポイントを確認することと、
を含む、方法。
１６．  前記第３のユーザ入力を受け取ったことに応答して、前記第２の位置に対応するオブジェクトを選択すること、
を更に含む、上記１５に記載の方法。
１７．  前記選択ポイントは、前記第１の位置が複数の選択可能なオブジェクトに対応するとの判定に従って、前記第１の位置で指定され、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、
前記第１の位置が単一の選択可能なオブジェクトのみに対応するとの判定に従って、前記単一の選択可能なオブジェクトを選択すること、
を更に含む、上記１５から１６のいずれか一項に記載の方法。
１８．  前記第１のユーザ入力を受け取る前に、前記第２の位置とは異なる第３の位置でオブジェクトを選択することと、
前記第３のユーザ入力を受け取ったことに応答して、前記オブジェクトを前記第２の位置に配置することと、
を更に含む、上記１５から１７のいずれか一項に記載の方法。
１９．  前記第１のユーザ入力を受け取る前に、前記第２の位置とは異なる第３の位置でオブジェクトを選択することであって、前記選択ポイントは、前記第１の位置が複数の選択可能な配置位置に対応するとの判定に従って、前記第１の位置で指定される、選択すること
を更に含み、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、
前記第１の位置が単一の選択可能な配置位置のみに対応するとの判定に従って、前記オブジェクトを前記単一の選択可能な配置位置に配置すること、
を更に含む、上記１５から１８のいずれか一項に記載の方法。
２０．  電子デバイスが第１のモードにある間に前記第１のユーザ入力が受け取られ、前記選択ポイントは、前記電子デバイスが前記第１のモードにあることに従って前記第１の位置で指定され、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、前記電子デバイスを前記第１のモードから第２のモードに切り替えることであって、前記電子デバイスが前記第２のモードにある間に前記第２の入力が受け取られ、前記電子デバイスが前記第２のモードにあることに従って、前記選択ポイントが前記第２の位置に移動され、前記第２の位置が前記選択ポイントで確認される、切り替えること、
を更に含む、上記１５から１９のいずれか一項に記載の方法。
２１．  前記第１のユーザ入力は、前記第２のユーザ入力又は前記第３のユーザ入力と同じタイプの入力である、上記１５から２０のいずれか一項に記載の方法。
２２．  前記第２の位置は、前記第２のユーザ入力に関連付けられた視線位置とは異なる、上記１５から２１のいずれか一項に記載の方法。
２３．  前記選択ポイントは、前記第１のユーザ入力が第１のタイプの入力であるとの判定に従って前記第１の位置で指定され、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、
前記第１のユーザ入力が前記第１のタイプの入力とは異なる第２のタイプの入力であるとの判定に従って、前記第１の位置で前記選択ポイントを確認すること、
を更に含む、上記１５から２２のいずれか一項に記載の方法。
２４．  電子デバイスの１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムは、上記１５から２３のいずれか一項に記載の方法を実行する命令を含む、非一時的コンピュータ可読記憶媒体。
２５．  １つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶するメモリであって、前記１つ以上のプログラムは、上記１５から２３のいずれか一項に記載の方法を実行する命令を含む、メモリと、
を備える、電子デバイス。
２６．  上記１５から２３のいずれか一項に記載の方法を実行するための手段を備える、電子デバイス。
２７．  電子デバイスの１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムは、
第１の時点で第１のユーザ入力を受け取ることと、
前記第１のユーザ入力を受け取ったことに応答して、第１の位置で選択ポイントを指定することであって、前記第１の位置は前記第１の時点における視線位置に対応する、指定することと、
選択ポイントの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、前記選択ポイントを前記第１の位置とは異なる第２の位置に移動することであって、前記選択ポイントを前記第２の位置に移動することは前記視線位置に基づいていない、移動することと、
前記選択ポイントが前記第２の位置にある間に、第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記第２の位置で前記選択ポイントを確認することと、
を行うための命令を含む、非一時的コンピュータ可読記憶媒体。
２８．  １つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶するメモリであって、前記１つ以上のプログラムは、
第１の時点で第１のユーザ入力を受け取ることと、
前記第１のユーザ入力を受け取ったことに応答して、第１の位置で選択ポイントを指定することであって、前記第１の位置は前記第１の時点における視線位置に対応する、指定することと、
選択ポイントの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、前記選択ポイントを前記第１の位置とは異なる第２の位置に移動することであって、前記選択ポイントを前記第２の位置に移動することは前記視線位置に基づいていない、移動することと、
前記選択ポイントが前記第２の位置にある間に、第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記第２の位置で前記選択ポイントを確認することと、
を行うための命令を含む、メモリと、
を備える、電子デバイス。
２９．  第１の時点で第１のユーザ入力を受け取る手段と、
前記第１のユーザ入力を受け取ったことに応答して、第１の位置における選択ポイントを指定するための手段であって、前記第１の位置は前記第１の時点における視線位置に対応する、指定するための手段と、
前記選択ポイントの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、前記選択ポイントを前記第１の位置とは異なる第２の位置に移動することであって、前記選択ポイントを前記第２の位置に移動することは前記視線位置に基づいていない、移動することと、
前記選択ポイントが前記第２の位置にある間に、第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ることに応答して、前記第２の位置で前記選択ポイントを確認することと、
を行うための手段と、
を備える、電子デバイス。
３０．  オブジェクトを選択することと、
前記オブジェクトの選択を維持しながら、
第１の時点で第１のユーザ入力を受け取ることと、
前記第１のユーザ入力を受け取ったことに応答して、前記第１の時点における視線位置に基づいて第１の位置で配置ポイントを指定することであって、前記第１の位置は、前記第１の時点における前記視線位置に対応する、指定することと、
前記配置ポイントの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、前記配置ポイントを前記第１の位置とは異なる第２の位置に移動することであって、前記配置ポイントを前記第２の位置に移動することは前記視線位置に基づいていない、移動することと、
第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記選択されたオブジェクトを前記第２の位置に配置することと、
を含む方法。
３１．  前記配置ポイントは、前記第１の位置が複数の選択可能な配置位置に対応するとの判定に従って、前記第１の位置で指定され、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、
前記第１の位置が単一の選択可能な配置位置のみに対応するとの判定に従って、前記選択されたオブジェクトを前記単一の選択可能な配置位置に配置すること、
を更に含む、上記３０に記載の方法。
３２．  電子デバイスが第１のモードにある間に前記第１のユーザ入力が受け取られ、前記配置ポイントは、前記電子デバイスが前記第１のモードにあることに従って前記第１の位置で指定され、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、前記電子デバイスを前記第１のモードから第２のモードに切り替えることであって、前記電子デバイスが前記第２のモードにある間に前記第２の入力が受け取られ、前記電子デバイスが前記第２のモードにあることに従って、前記配置ポイントが前記第２の位置に移動される、切り替えること、
を更に含む、上記３０から３１のいずれか一項に記載の方法。
３３．  前記第１のユーザ入力は、前記第２のユーザ入力又は前記第３のユーザ入力と同じタイプの入力である、上記３０から３２のいずれか一項に記載の方法。
３４．  前記第２の位置は、前記第２のユーザ入力に関連付けられた視線位置とは異なる、上記３０から３３のいずれか一項に記載の方法。
３５．  前記配置ポイントは、前記第１のユーザ入力が第１のタイプの入力であるとの判定に従って、前記第１の位置で指定され、前記方法は、
前記第１のユーザ入力を受け取ったことに応答して、
前記第１のユーザ入力が前記第１のタイプの入力とは異なる第２のタイプの入力であるとの判定に従って、前記選択されたオブジェクトを前記第１の位置に配置すること、
を更に含む、上記３０から３４のいずれか一項に記載の方法。
３６．  電子デバイスの１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムは、上記３０から３５のいずれか一項に記載の方法を実行する命令を含む、非一時的コンピュータ可読記憶媒体。
３７．  １つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶するメモリであって、前記１つ以上のプログラムは、上記３０から３５のいずれか一項に記載の方法を実行する命令を含む、メモリと、
を備える、電子デバイス。
３８．  上記３０から３５のいずれか一項に記載の方法を実行するための手段を備える、電子デバイス。
３９．  電子デバイスの１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムは、
オブジェクトを選択することと、
前記オブジェクトの選択を維持しながら、
第１の時点で第１のユーザ入力を受け取ることと、
前記第１のユーザ入力を受け取ったことに応答して、前記第１の時点における視線位置に基づいて第１の位置で配置ポイントを指定することであって、前記第１の位置は、前記第１の時点における前記視線位置に対応する、指定することと、
前記配置ポイントの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、前記配置ポイントを前記第１の位置とは異なる第２の位置に移動することであって、前記配置ポイントを前記第２の位置に移動することは前記視線位置に基づいていない、移動することと、
第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記選択されたオブジェクトを前記第２の位置に配置することと、
を行うための命令を含む、非一時的コンピュータ可読記憶媒体。
４０．  １つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されるように構成されている１つ以上のプログラムを記憶するメモリであって、前記１つ以上のプログラムは、
オブジェクトを選択することと、
前記オブジェクトの選択を維持しながら、
第１の時点で第１のユーザ入力を受け取ることと、
前記第１のユーザ入力を受け取ったことに応答して、前記第１の時点における視線位置に基づいて第１の位置で配置ポイントを指定することであって、前記第１の位置は、前記第１の時点における前記視線位置に対応する、指定することと、
前記配置ポイントの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、前記配置ポイントを前記第１の位置とは異なる第２の位置に移動することであって、前記配置ポイントを前記第２の位置に移動することは前記視線位置に基づいていない、移動することと、
第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記選択されたオブジェクトを前記第２の位置に配置することと、
を行うための命令を含む、
メモリと、
を備える、電子デバイス。
４１．  オブジェクトを選択するための手段と、
前記オブジェクトの選択を維持しながら、
第１の時点で第１のユーザ入力を受け取ることと、
前記第１のユーザ入力を受け取ったことに応答して、前記第１の時点における視線位置に基づいて第１の位置で配置ポイントを指定することであって、前記第１の位置は、前記第１の時点における前記視線位置に対応する、指定することと、
前記配置ポイントの指定を維持しながら、
第２のユーザ入力を受け取ることと、
前記第２のユーザ入力を受け取ったことに応答して、前記配置ポイントを前記第１の位置とは異なる第２の位置に移動することであって、前記配置ポイントを前記第２の位置に移動することは前記視線位置に基づいていない、移動することと、
第３のユーザ入力を受け取ることと、
前記第３のユーザ入力を受け取ったことに応答して、前記選択されたオブジェクトを前記第２の位置に配置することと、
を行うための手段と、
を備える、電子デバイス。
【図１Ａ】
0006938772.tif 000002
【図１Ｂ】
0006938772.tif 000003
【図１Ｃ】
0006938772.tif 000004
【図１Ｄ】
0006938772.tif 000005
【図１Ｅ】
0006938772.tif 000006
【図１Ｆ】
0006938772.tif 000007
【図１Ｇ】
0006938772.tif 000008
【図１Ｈ】
0006938772.tif 000009
【図１Ｉ】
0006938772.tif 000010
【図２】
0006938772.tif 000011
【図３】
0006938772.tif 000012
【図４】
0006938772.tif 000013
【図５】
0006938772.tif 000014
【図６】
0006938772.tif 000015
【図７】
0006938772.tif 000016
【図８】
0006938772.tif 000017
【図９】
0006938772.tif 000018
【図１０】
0006938772.tif 000019
【図１１】
0006938772.tif 000020
【図１２】
0006938772.tif 000021
【図１３】
0006938772.tif 000022
【図１４】
0006938772.tif 000023
【図１５】
0006938772.tif 000024
【図１６】
0006938772.tif 000025
【図１７】
0006938772.tif 000026
【図１８】
0006938772.tif 000027
【図１９Ａ】
0006938772.tif 000028
【図１９Ｂ】
0006938772.tif 000029
【図１９Ｃ】
0006938772.tif 000030
【図１９Ｄ】
0006938772.tif 000031
【図１９Ｅ】
0006938772.tif 000032
【図１９Ｆ】
0006938772.tif 000033
【図１９Ｇ】
0006938772.tif 000034
【図１９Ｈ】
0006938772.tif 000035
【図１９Ｉ】
0006938772.tif 000036
【図１９Ｊ】
0006938772.tif 000037
【図１９Ｋ】
0006938772.tif 000038
【図１９Ｌ】
0006938772.tif 000039
【図１９Ｍ】
0006938772.tif 000040
【図１９Ｎ】
0006938772.tif 000041
【図１９Ｏ】
0006938772.tif 000042
【図１９Ｐ】
0006938772.tif 000043
【図１９Ｑ】
0006938772.tif 000044
【図１９Ｒ】
0006938772.tif 000045
【図１９Ｓ】
0006938772.tif 000046
【図１９Ｔ】
0006938772.tif 000047
【図１９Ｕ】
0006938772.tif 000048
【図１９Ｖ】
0006938772.tif 000049
【図１９Ｗ】
0006938772.tif 000050
【図１９Ｘ】
0006938772.tif 000051
【図１９Ｙ】
0006938772.tif 000052
【図２０】
0006938772.tif 000053
【図２１】
0006938772.tif 000054
【図２２】
0006938772.tif 000055