(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023179485
(43)【公開日】2023-12-19
(54)【発明の名称】視線ベースのユーザ対話
(51)【国際特許分類】
G06F 3/04842 20220101AFI20231212BHJP
G06F 3/01 20060101ALI20231212BHJP
G06F 3/038 20130101ALI20231212BHJP
【FI】
G06F3/04842
G06F3/01 510
G06F3/038 310A
【審査請求】有
【請求項の数】9
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023149802
(22)【出願日】2023-09-15
(62)【分割の表示】P 2021142308の分割
【原出願日】2018-09-28
(31)【優先権主張番号】62/566,073
(32)【優先日】2017-09-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/566,080
(32)【優先日】2017-09-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/566,206
(32)【優先日】2017-09-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/734,678
(32)【優先日】2018-09-21
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】バル-ジーヴ アヴィ
(72)【発明者】
【氏名】バーゴイン ライアン エス
(72)【発明者】
【氏名】チャルマーズ デヴィン ウィリアム
(72)【発明者】
【氏名】デリス センテーノ ルイス アール
(72)【発明者】
【氏名】ナイル ラフル
(72)【発明者】
【氏名】オリオール ティモシー アール
(72)【発明者】
【氏名】パランギー アレクシス
(57)【要約】 (修正有)
【課題】視線を使用して電子デバイスと対話するための方法及びユーザインタフェースを提供する。
【解決手段】電子デバイスにおける方法は、オブジェクトを選択する(2202)ことと、オブジェクトの選択を維持しながら、第1の時点で第1のユーザ入力を受け取る(2204)ことと、第1のユーザ入力を受け取ったことに応答して、第1の時点における視線位置に基づいて第1の位置で配置ポイントを指定する(2206)ことと、配置ポイントの指定を維持しながら、第2のユーザ入力を受け取る(2208)ことと、第2のユーザ入力を受け取ったことに応答して、配置ポイントを第1の位置とは異なる第2の位置に移動する(2210)ことと、第3のユーザ入力を受け取る(2212)ことと、第3のユーザ入力を受け取ったことに応答して、選択されたオブジェクトを第2の位置に配置する(2214)ことと、を含む。
【選択図】
図22
【特許請求の範囲】
【請求項1】
第1の時点で第1のユーザ入力を受け取ることと、
前記第1のユーザ入力を受け取ったことに応答して、前記第1の時点における視線位置に対応する複数のオブジェクトのうちの第1のオブジェクトを指定することと、
前記第1のオブジェクトの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、
前記第1のオブジェクトの指定を停止することと、
前記複数のオブジェクトのうちの第2のオブジェクトを指定することであって、前記第2のオブジェクトを指定することは前記視線位置に基づいていない、第2のオブジェクトを指定することと、
前記第2のオブジェクトの指定を維持しながら、
第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記第2のオブジェクトを選択することと、
を含む、方法。
【請求項2】
前記第1のオブジェクトは、前記第1の時点における前記視線位置が2つ以上の選択可能なオブジェクトへの視線に対応するとの判定に従って指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、
前記第1の時点における前記視線位置が、単一の選択可能なオブジェクトのみへの視線に対応するとの判定に従って、前記単一の選択可能なオブジェクトを選択すること、
を更に含む、請求項1に記載の方法。
【請求項3】
前記第2のオブジェクトを選択した後、
第2の時点で第4のユーザ入力を受け取ることと、
前記第4のユーザ入力を受け取ったことに応答して、
前記第4のユーザ入力が第1のタイプの入力であるとの判定に従って、前記第2のオブジェクトを前記第2の時点における視線位置に配置することと、
前記第4のユーザ入力が前記第1のタイプの入力とは異なる第2のタイプの入力であるとの判定に従って、前記第2の時点における前記視線位置に対応する配置ポイントを指定することと、
を更に含む、請求項1から2のいずれか一項に記載の方法。
【請求項4】
前記配置位置の指定を維持しながら、第5のユーザ入力を受け取ることと、
前記第5のユーザ入力を受け取ったことに応答して、前記第2のオブジェクトを前記配置ポイントの現在位置に配置することと、
を更に含む、請求項3に記載の方法。
【請求項5】
電子デバイスが第1のモードである間に前記第1のユーザ入力が受け取られ、前記第1のオブジェクトは、前記電子デバイスが前記第1のモードにあることに従って指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、前記電子デバイスを前記第1のモードから第2のモードに切り替えることであって、前記電子デバイスが前記第2のモードにある間に前記第2の入力が受け取られ、前記第2のオブジェクトは、前記電子デバイスが前記第2のモードにあることに従って指定される、切り替えることを更に含む、
請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記第1のユーザ入力は、前記第2のユーザ入力又は前記第3のユーザ入力と同じタイプの入力である、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記第2のユーザ入力が第2の時点におけるものであり、前記第2の時点における前記第2のオブジェクトの位置は、前記第2の時点における視線位置とは異なる、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記第1のオブジェクトは、前記第1のユーザ入力が第1のタイプの入力であるとの判定に従って指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、
前記第1のユーザ入力が前記第1のタイプの入力とは異なる第2のタイプの入力であるとの判定に従って、前記複数のオブジェクトを選択すること、
を更に含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
電子デバイスの1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、請求項1から8のいずれか一項に記載の方法を実行する命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項10】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶するメモリであって、前記1つ以上のプログラムは、請求項1から8のいずれか一項に記載の方法を実行する命令を含む、メモリと、
を備える、電子デバイス。
【請求項11】
請求項1から8のいずれか一項に記載の方法を実行するための手段を備える、電子デバイス。
【請求項12】
電子デバイスの1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、
第1の時点で第1のユーザ入力を受け取ることと、
前記第1のユーザ入力を受け取ったことに応答して、前記第1の時点における視線位置に対応する複数のオブジェクトのうちの第1のオブジェクトを指定することと、
前記第1のオブジェクトの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、
前記第1のオブジェクトの指定を停止することと、
前記複数のオブジェクトのうちの第2のオブジェクトを指定することであって、前記第2のオブジェクトを指定することは前記視線位置に基づいていない、第2のオブジェクトを指定することと、
前記第2のオブジェクトの指定を維持しながら、
第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記第2のオブジェクトを選択することと、
を行うための命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項13】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶するメモリであって、前記1つ以上のプログラムは、
第1の時点で第1のユーザ入力を受け取ることと、
前記第1のユーザ入力を受け取ったことに応答して、前記第1の時点における視線位置に対応する複数のオブジェクトのうちの第1のオブジェクトを指定することと、
前記第1のオブジェクトの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、
前記第1のオブジェクトの指定を停止することと、
前記複数のオブジェクトのうちの第2のオブジェクトを指定することであって、前記第2のオブジェクトを指定することは前記視線位置に基づいていない、第2のオブジェクトを指定することと、
前記第2のオブジェクトの指定を維持しながら、
第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記第2のオブジェクトを選択することと、
を行うための命令を含む、メモリと、
を備える、電子デバイス。
【請求項14】
第1の時点で第1のユーザ入力を受け取るための手段と、
前記第1のユーザ入力を受け取ったことに応答して、前記第1の時点における視線位置に対応する複数のオブジェクトのうちの第1のオブジェクトを指定するための手段と、
前記第1のオブジェクトの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、
前記第1のオブジェクトの指定を停止することと、
前記複数のオブジェクトのうちの第2のオブジェクトを指定することであって、前記第2のオブジェクトを指定することは前記視線位置に基づいていない、指定をすることと、
を行うための手段と、
前記第2のオブジェクトの指定を維持しながら、
第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記第2のオブジェクトを選択することと、
を行うための手段と、
を備える、電子デバイス。
【請求項15】
第1の時点で第1のユーザ入力を受け取ることと、
前記第1のユーザ入力を受け取ったことに応答して、第1の位置で選択ポイントを指定することであって、前記第1の位置は前記第1の時点における視線位置に対応する、指定することと、
前記選択ポイントの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、前記選択ポイントを前記第1の位置とは異なる第2の位置に移動することであって、前記選択ポイントを前記第2の位置に移動することは、前記視線位置に基づいていない、移動することと、
前記選択ポイントが前記第2の位置にある間に、第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記第2の位置で前記選択ポイントを確認することと、
を含む、方法。
【請求項16】
前記第3のユーザ入力を受け取ったことに応答して、前記第2の位置に対応するオブジェクトを選択すること、
を更に含む、請求項15に記載の方法。
【請求項17】
前記選択ポイントは、前記第1の位置が複数の選択可能なオブジェクトに対応するとの判定に従って、前記第1の位置で指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、
前記第1の位置が単一の選択可能なオブジェクトのみに対応するとの判定に従って、前記単一の選択可能なオブジェクトを選択すること、
を更に含む、請求項15から16のいずれか一項に記載の方法。
【請求項18】
前記第1のユーザ入力を受け取る前に、前記第2の位置とは異なる第3の位置でオブジェクトを選択することと、
前記第3のユーザ入力を受け取ったことに応答して、前記オブジェクトを前記第2の位置に配置することと、
を更に含む、請求項15から17のいずれか一項に記載の方法。
【請求項19】
前記第1のユーザ入力を受け取る前に、前記第2の位置とは異なる第3の位置でオブジェクトを選択することであって、前記選択ポイントは、前記第1の位置が複数の選択可能な配置位置に対応するとの判定に従って、前記第1の位置で指定される、選択すること
を更に含み、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、
前記第1の位置が単一の選択可能な配置位置のみに対応するとの判定に従って、前記オブジェクトを前記単一の選択可能な配置位置に配置すること、
を更に含む、請求項15から18のいずれか一項に記載の方法。
【請求項20】
電子デバイスが第1のモードにある間に前記第1のユーザ入力が受け取られ、前記選択ポイントは、前記電子デバイスが前記第1のモードにあることに従って前記第1の位置で指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、前記電子デバイスを前記第1のモードから第2のモードに切り替えることであって、前記電子デバイスが前記第2のモードにある間に前記第2の入力が受け取られ、前記電子デバイスが前記第2のモードにあることに従って、前記選択ポイントが前記第2の位置に移動され、前記第2の位置が前記選択ポイントで確認される、切り替えること、
を更に含む、請求項15から19のいずれか一項に記載の方法。
【請求項21】
前記第1のユーザ入力は、前記第2のユーザ入力又は前記第3のユーザ入力と同じタイプの入力である、請求項15から20のいずれか一項に記載の方法。
【請求項22】
前記第2の位置は、前記第2のユーザ入力に関連付けられた視線位置とは異なる、請求項15から21のいずれか一項に記載の方法。
【請求項23】
前記選択ポイントは、前記第1のユーザ入力が第1のタイプの入力であるとの判定に従って前記第1の位置で指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、
前記第1のユーザ入力が前記第1のタイプの入力とは異なる第2のタイプの入力であるとの判定に従って、前記第1の位置で前記選択ポイントを確認すること、
を更に含む、請求項15から22のいずれか一項に記載の方法。
【請求項24】
電子デバイスの1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、請求項15から23のいずれか一項に記載の方法を実行する命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項25】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶するメモリであって、前記1つ以上のプログラムは、請求項15から23のいずれか一項に記載の方法を実行する命令を含む、メモリと、
を備える、電子デバイス。
【請求項26】
請求項15から23のいずれか一項に記載の方法を実行するための手段を備える、電子デバイス。
【請求項27】
電子デバイスの1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、
第1の時点で第1のユーザ入力を受け取ることと、
前記第1のユーザ入力を受け取ったことに応答して、第1の位置で選択ポイントを指定することであって、前記第1の位置は前記第1の時点における視線位置に対応する、指定することと、
選択ポイントの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、前記選択ポイントを前記第1の位置とは異なる第2の位置に移動することであって、前記選択ポイントを前記第2の位置に移動することは前記視線位置に基づいていない、移動することと、
前記選択ポイントが前記第2の位置にある間に、第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記第2の位置で前記選択ポイントを確認することと、
を行うための命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項28】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶するメモリであって、前記1つ以上のプログラムは、
第1の時点で第1のユーザ入力を受け取ることと、
前記第1のユーザ入力を受け取ったことに応答して、第1の位置で選択ポイントを指定することであって、前記第1の位置は前記第1の時点における視線位置に対応する、指定することと、
選択ポイントの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、前記選択ポイントを前記第1の位置とは異なる第2の位置に移動することであって、前記選択ポイントを前記第2の位置に移動することは前記視線位置に基づいていない、移動することと、
前記選択ポイントが前記第2の位置にある間に、第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記第2の位置で前記選択ポイントを確認することと、
を行うための命令を含む、メモリと、
を備える、電子デバイス。
【請求項29】
第1の時点で第1のユーザ入力を受け取る手段と、
前記第1のユーザ入力を受け取ったことに応答して、第1の位置における選択ポイントを指定するための手段であって、前記第1の位置は前記第1の時点における視線位置に対応する、指定するための手段と、
前記選択ポイントの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、前記選択ポイントを前記第1の位置とは異なる第2の位置に移動することであって、前記選択ポイントを前記第2の位置に移動することは前記視線位置に基づいていない、移動することと、
前記選択ポイントが前記第2の位置にある間に、第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ることに応答して、前記第2の位置で前記選択ポイントを確認することと、
を行うための手段と、
を備える、電子デバイス。
【請求項30】
オブジェクトを選択することと、
前記オブジェクトの選択を維持しながら、
第1の時点で第1のユーザ入力を受け取ることと、
前記第1のユーザ入力を受け取ったことに応答して、前記第1の時点における視線位置に基づいて第1の位置で配置ポイントを指定することであって、前記第1の位置は、前記第1の時点における前記視線位置に対応する、指定することと、
前記配置ポイントの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、前記配置ポイントを前記第1の位置とは異なる第2の位置に移動することであって、前記配置ポイントを前記第2の位置に移動することは前記視線位置に基づいていない、移動することと、
第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記選択されたオブジェクトを前記第2の位置に配置することと、
を含む方法。
【請求項31】
前記配置ポイントは、前記第1の位置が複数の選択可能な配置位置に対応するとの判定に従って、前記第1の位置で指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、
前記第1の位置が単一の選択可能な配置位置のみに対応するとの判定に従って、前記選択されたオブジェクトを前記単一の選択可能な配置位置に配置すること、
を更に含む、請求項30に記載の方法。
【請求項32】
電子デバイスが第1のモードにある間に前記第1のユーザ入力が受け取られ、前記配置ポイントは、前記電子デバイスが前記第1のモードにあることに従って前記第1の位置で指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、前記電子デバイスを前記第1のモードから第2のモードに切り替えることであって、前記電子デバイスが前記第2のモードにある間に前記第2の入力が受け取られ、前記電子デバイスが前記第2のモードにあることに従って、前記配置ポイントが前記第2の位置に移動される、切り替えること、
を更に含む、請求項30から31のいずれか一項に記載の方法。
【請求項33】
前記第1のユーザ入力は、前記第2のユーザ入力又は前記第3のユーザ入力と同じタイプの入力である、請求項30から32のいずれか一項に記載の方法。
【請求項34】
前記第2の位置は、前記第2のユーザ入力に関連付けられた視線位置とは異なる、請求項30から33のいずれか一項に記載の方法。
【請求項35】
前記配置ポイントは、前記第1のユーザ入力が第1のタイプの入力であるとの判定に従って、前記第1の位置で指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、
前記第1のユーザ入力が前記第1のタイプの入力とは異なる第2のタイプの入力であるとの判定に従って、前記選択されたオブジェクトを前記第1の位置に配置すること、
を更に含む、請求項30から34のいずれか一項に記載の方法。
【請求項36】
電子デバイスの1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、請求項30から35のいずれか一項に記載の方法を実行する命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項37】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶するメモリであって、前記1つ以上のプログラムは、請求項30から35のいずれか一項に記載の方法を実行する命令を含む、メモリと、
を備える、電子デバイス。
【請求項38】
請求項30から35のいずれか一項に記載の方法を実行するための手段を備える、電子デバイス。
【請求項39】
電子デバイスの1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、
オブジェクトを選択することと、
前記オブジェクトの選択を維持しながら、
第1の時点で第1のユーザ入力を受け取ることと、
前記第1のユーザ入力を受け取ったことに応答して、前記第1の時点における視線位置に基づいて第1の位置で配置ポイントを指定することであって、前記第1の位置は、前記第1の時点における前記視線位置に対応する、指定することと、
前記配置ポイントの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、前記配置ポイントを前記第1の位置とは異なる第2の位置に移動することであって、前記配置ポイントを前記第2の位置に移動することは前記視線位置に基づいていない、移動することと、
第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記選択されたオブジェクトを前記第2の位置に配置することと、
を行うための命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項40】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶するメモリであって、前記1つ以上のプログラムは、
オブジェクトを選択することと、
前記オブジェクトの選択を維持しながら、
第1の時点で第1のユーザ入力を受け取ることと、
前記第1のユーザ入力を受け取ったことに応答して、前記第1の時点における視線位置に基づいて第1の位置で配置ポイントを指定することであって、前記第1の位置は、前記第1の時点における前記視線位置に対応する、指定することと、
前記配置ポイントの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、前記配置ポイントを前記第1の位置とは異なる第2の位置に移動することであって、前記配置ポイントを前記第2の位置に移動することは前記視線位置に基づいていない、移動することと、
第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記選択されたオブジェクトを前記第2の位置に配置することと、
を行うための命令を含む、
メモリと、
を備える、電子デバイス。
【請求項41】
オブジェクトを選択するための手段と、
前記オブジェクトの選択を維持しながら、
第1の時点で第1のユーザ入力を受け取ることと、
前記第1のユーザ入力を受け取ったことに応答して、前記第1の時点における視線位置に基づいて第1の位置で配置ポイントを指定することであって、前記第1の位置は、前記第1の時点における前記視線位置に対応する、指定することと、
前記配置ポイントの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、前記配置ポイントを前記第1の位置とは異なる第2の位置に移動することであって、前記配置ポイントを前記第2の位置に移動することは前記視線位置に基づいていない、移動することと、
第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記選択されたオブジェクトを前記第2の位置に配置することと、
を行うための手段と、
を備える、電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、電子デバイスと対話するためのユーザインタフェースに関し、より具体的には、視線を使用して電子デバイスと対話するためのユーザインタフェースに関する。
【背景技術】
【0002】
本出願は、2017年9月29日出願の「Accessing Functions of External Devices Using Reality Interfaces」と題する米国特許出願第62/566,073号、2017年9月29日出願の「Controlling External Devices Using Reality Interfaces」と題する米国特許出願第62/566,080号、2017年9月29日出願の「Gaze based User Interactions」と題する米国特許出願第62/566,206号、及び2018年9月21日出願の「Gaze based User Interactions」と題する米国特許出願第62/734,678号に対する優先権を主張し、すべての目的のためにそれらの全体を本願明細書に援用したものとする。
関連技術の説明
【0003】
従来の電子デバイスは、キーボード、ボタン、ジョイスティック、及びタッチスクリーンなどの入力メカニズムを使用して、ユーザからの入力を受け取る。いくつかの従来のデバイスはまた、ユーザの入力に応答してコンテンツを表示する画面を含む。このような入力メカニズム及びディスプレイは、ユーザが電子デバイスと対話するためのインタフェースを提供する。
【発明の概要】
【0004】
本開示は、視線を使用して電子デバイスと対話するための技術を説明する。いくつかの実施形態によれば、ユーザは、自分の目を使用して、電子デバイス上に表示されたユーザインタフェースオブジェクトと対話する。この技術は、いくつかの例示的な実施形態では、ユーザが主に視線及びアイジェスチャ(例えば、眼球の移動、瞬き、及び凝視)を使用してデバイスを操作することを可能にすることによって、より自然かつ効率的なインタフェースを提供する。視線を使用して(例えば、オブジェクトを選択又は配置するために)初期位置を迅速に指定し、次いで、ユーザの視線の位置の不確実性及び不安定性のために、指定された位置を正確に位置特定することが困難であり得るので、視線を使用することなく指定された位置を移動する技術も説明される。この技術は、デスクトップコンピュータ、ラップトップ、タブレット、及びスマートフォンなどのデバイス上の従来のユーザインタフェースに適用することができる。この技術はまた、以下により詳細に説明するように、コンピュータ生成現実(仮想現実及び複合現実を含む)デバイス及び用途にとっても有益である。
【0005】
いくつかの実施形態によれば、第1の表示されたオブジェクトに関連付けられたアフォーダンスが表示され、視線方向又は視線深さが判定される。視線方向又は視線深さがアフォーダンスへの視線に対応するかどうかの判定が行われる。アフォーダンスに対してアクションを取る旨の命令を表す第1の入力が受け取られ、一方で、視線方向又は視線深さは、アフォーダンスへの視線に対応すると判定され、アフォーダンスは、第1の入力を受け取ったことに応答して選択される。
【0006】
いくつかの実施形態によれば、第1のアフォーダンス及び第2のアフォーダンスが同時に表示され、1つ以上の目の第1の視線方向又は第1の視線深さが判定される。第1の視線方向又は第1の視線深さが第1のアフォーダンスと第2のアフォーダンスの両方への視線に対応するかどうかの判定が行われる。第1の視線方向又は第1の視線深さが第1のアフォーダンスと第2のアフォーダンスの両方への視線に対応すると判定したことに応答して、第1のアフォーダンス及び第2のアフォーダンスは拡大される。
【0007】
いくつかの実施形態によれば、電子デバイスは、3次元コンピュータ生成現実環境の視野を表示するように適合され、その視野は、見ているパースペクティブからレンダリングされる。第1のオブジェクトは、第2のオブジェクトと同時に表示され、第1のオブジェクトは、第2のオブジェクトよりも見ている位置から近くに提示される。視線位置が判定される。視線位置が第1のオブジェクトへの視線に対応するとの判定に従って、第2のオブジェクトの表示は視覚的に変更される。視線位置が第2のオブジェクトへの視線に対応するとの判定に従って、第1のオブジェクトの表示は視覚的に変更される。
【0008】
いくつかの実施形態によれば、第1のユーザ入力は、第1の時点で受け取られる。第1のユーザ入力を受け取ったことに応答して、選択ポイントは、第1の時点における視線位置に対応する第1の位置で指定される。選択ポイントの指定を維持しながら、第2のユーザ入力が受け取られる。第2のユーザ入力を受け取ったことに応答して、選択ポイントは、第1の位置とは異なる第2の位置に移動され、選択ポイントを第2の位置に移動することは、視線位置に基づかない。選択ポイントが第2の位置にある間に、第3のユーザ入力が受け取られる。第3のユーザ入力を受け取ったことに応答して、選択ポイントは、第2の位置で確認される。
【0009】
いくつかの実施形態によれば、第1のユーザ入力は、第1の時点で受け取られる。第1のユーザ入力を受け取ったことに応答して、第1の時点における視線位置に対応する複数のオブジェクトのうちの第1のオブジェクトが指定される。第1のオブジェクトの指定を維持しながら、第2のユーザ入力が受け取られる。第2のユーザ入力を受け取ったことに応答して、第1のオブジェクトの指定が停止され、複数のオブジェクトのうちの第2のオブジェクトが指定され、第2のオブジェクトを指定することは、視線位置に基づかない。第2のオブジェクトの指定を維持しながら、第3のユーザ入力が受け取られる。第3のユーザ入力を受け取ったことに応答して、第2のオブジェクトが選択される。
【0010】
いくつかの実施形態によれば、オブジェクトが選択される。オブジェクトの選択を維持しながら、第1のユーザ入力は、第1の時点で受け取られる。第1のユーザ入力を受け取ったことに応答して、第1の時点における視線位置に基づいて配置ポイントが第1の位置で指定され、第1の位置は、第1の時点における視線位置に対応する。配置ポイントの指定を維持しながら、第2のユーザ入力が受け取られる。第2のユーザ入力を受け取ったことに応答して、配置ポイントは、第1の位置とは異なる第2の位置に移動され、配置ポイントを第2の位置に移動することは、視線位置に基づかない。第3のユーザ入力が受け取られ、第3のユーザ入力を受け取ったことに応答して、選択されたオブジェクトは、第2の位置に配置される。
【図面の簡単な説明】
【0011】
説明される様々な実施形態のより良好な理解のために、以下の図面と併せて、以下の「発明を実施するための形態」を参照されたく、類似の参照番号は、それらの図の全体を通して対応する部分を指す。
【
図1A】仮想現実及び複合現実を含む、様々なコンピュータ生成現実技術で使用するための例示的なシステムを示す。
【
図1B】仮想現実及び複合現実を含む、様々なコンピュータ生成現実技術で使用するための例示的なシステムを示す。
【
図1C】モバイルデバイスの形態のシステムの実施形態を示す。
【
図1D】モバイルデバイスの形態のシステムの実施形態を示す。
【
図1E】モバイルデバイスの形態のシステムの実施形態を示す。
【
図1F】ヘッドマウントディスプレイ(HMD)デバイスの形態のシステムの実施形態を示す。
【
図1G】ヘッドマウントディスプレイ(HMD)デバイスの形態のシステムの実施形態を示す。
【
図1H】ヘッドマウントディスプレイ(HMD)デバイスの形態のシステムの実施形態を示す。
【
図1I】ヘッドアップディスプレイ(HUD)デバイスの形態のシステムの実施形態を示す。
【
図2】様々な実施形態に係る、オブジェクトを見ているユーザを示す。
【
図3】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図4】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図5】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図6】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図7】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図8】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図9】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図10】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図11】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図12】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図13】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図14】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図15】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図16】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【
図17】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【
図18】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【
図19A】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19B】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19C】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19D】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19E】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19F】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19G】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19H】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19I】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19J】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19K】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19L】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19M】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19N】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19O】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19P】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19Q】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19R】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19S】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19T】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19U】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19V】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19W】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19X】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図19Y】様々な実施形態に係る、視線を使用して電子デバイスと対話するためのユーザインタフェースを示す。
【
図20】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【
図21】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【
図22】様々な実施形態に係る、視線を使用して電子デバイスと対話するための例示的なプロセスのフローチャートを示す。
【発明を実施するための形態】
【0012】
以下の説明は、例示的な方法、パラメータなどについて記載する。しかしながら、そのような説明は、本開示の範囲に対する限定として意図されるものではなく、代わりに例示的な実施形態の説明として提供されることを認識されたい。
【0013】
電子システム及び、そのようなシステムを、仮想現実及び複合現実を含む様々なコンピュータ生成現実技術に関連して使用するための技術(物理的環境からの感覚入力を組み込む)の、様々な実施形態が説明される。
【0014】
物理的環境(又は現実環境)とは、人々が電子システムの助けを借りずに、感知及び/又は相互作用することができる物理的世界を指す。物理的な公園などの物理的環境には、物理的な木々、物理的な建物、及び物理的な人などの物理的物品(又は物理的部ジェクト又は現実のオブジェクト)が挙げられる。人々は、視覚、触覚、聴覚、味覚、及び臭覚などを介して、物理的環境を直接感知し、及び/又はそれと相互作用することができる。
【0015】
対照的に、コンピュータ生成現実(CGR)環境は、人々が電子システムを介して感知及び/又は相互作用する全体的又は部分的にシミュレーションされた環境を指す。CGRでは、人の身体運動のサブセット又はその表現が追跡され、それに応答して、CGR環境内でシミュレートされた1つ以上の仮想オブジェクトの1つ以上の特性が、少なくとも1つの物理学の法則でふるまうように調整される。例えば、CGRシステムは、人の頭部の回転を検出し、それに応答して、そのようなビュー及び音が物理的環境においてどのように変化し得るかと同様の方法で、人に提示されるグラフィックコンテンツ及び音場を調整することができる。状況によっては(例えば、アクセス性の理由から)、CGR環境における仮想オブジェクト(単数又は複数)の特性(単数又は複数)に対する調整は、身体運動の表現(例えば、音声コマンド)に応じて行われてもよい。
【0016】
人は、視覚、聴覚、触覚、味覚及び嗅覚を含むこれらの感覚のうちのいずれか1つを使用して、CGRオブジェクトを感知する及び/又はCGRオブジェクトと対話してもよい。例えば、人は、3D空間内のポイントオーディオソースの知覚を提供する、3D又は空間オーディオ環境を作り出すオーディオオブジェクトを感知し、及び/又はそれと対話することができる。別の例では、オーディオオブジェクトは、コンピュータ生成オーディオの有無にかかわらず、物理的環境から周囲音を選択的に組み込む、オーディオ透過性を可能にすることができる。いくつかのCGR環境では、人は、オーディオオブジェクトのみを感知し、及び/又はそれと対話することができる。
【0017】
CGRの例としては、仮想現実及び複合現実が挙げられる。
【0018】
仮想現実(VR)環境(又は仮想環境)とは、1つ以上の感覚のためのコンピュータ生成感覚入力に完全に基づくように設計されたシミュレーション環境を指す。VR環境は、人が感知及び/又は相互作用することができる複数の仮想オブジェクトを含む。例えば、木、建物、及び人々を表すアバターのコンピュータ生成イメージは、仮想オブジェクトの例である。人は、コンピュータ生成環境内での人の存在のシミュレーションを通じて、及び/又はコンピュータ生成環境内での人の身体運動のサブセットのシミュレーションを通じて、VR環境における仮想オブジェクトを感知し、及び/又はそれと対話することができる。
【0019】
コンピュータ生成感覚入力に完全に基づくように設計されたVR環境とは対照的に、複合現実(MR)環境は、コンピュータ生成感覚入力(例えば、仮想オブジェクト)を含むことに加えて、物理的環境からの感覚入力又はその表現を組み込むように設計されたシミュレーション環境を指す。仮想の連続体上では、複合現実環境は、一方の端部における完全な物理的環境と、他方の端部における仮想現実環境との間であるがこれらを含まない、任意の場所である。
【0020】
MR環境によっては、コンピュータ生成感覚入力は、物理的環境からの感覚入力の変更に応答し得る。また、MR環境を提示するためのいくつかの電子システムは、仮想オブジェクトが現実のオブジェクト(すなわち、物理的環境又はその表現からの物理的物品)と対話することを可能にするために、物理的環境に対する場所及び/又は向きを追跡することができる。例えば、システムは、仮想の木が物理的な地面に対して静止して見えるように、移動を考慮することができる。
【0021】
複合現実の例としては、拡張現実及び拡張仮想が挙げられる。
【0022】
拡張現実(AR)環境は、1つ以上の仮想オブジェクトが物理的環境上か又はその表現上に重ねられたシミュレーション環境を指す。例えば、AR環境を提示するための電子システムは、人が物理的環境を直接見ることができる透明又は半透明のディスプレイを有してもよい。システムは、透明又は半透明のディスプレイ上に仮想オブジェクトを提示するように構成されていてもよく、それによって、人はシステムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。あるいは、システムは、不透明ディスプレイと、物理的環境の表現である、物理的環境の画像又はビデオをキャプチャする1つ以上の画像センサとを有してもよい。システムは、画像又はビデオを仮想オブジェクトと合成し、その合成物を不透明なディスプレイ上に提示する。人は、システムを使用して、物理的環境の画像又はビデオによって物理的環境を間接的に見て、物理的環境上に重ねられた仮想オブジェクトを知覚する。本明細書で使用するとき、不透明ディスプレイ上に示される物理的環境のビデオは、「パススルービデオ」と呼ばれ、システムが、1つ以上の画像センサ(単数又は複数)を使用して、物理的環境の画像をキャプチャし、不透明ディスプレイ上にAR環境を提示する際にそれらの画像を使用することを意味する。更に代替的に、システムは、仮想オブジェクトを、物理的環境に、例えば、ホログラムとして又は物理的表面上に投影するプロジェクションシステムを有してもよく、それによって、人は、システムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。
【0023】
拡張現実環境はまた、物理的環境の表現がコンピュータ生成感覚情報によって変換されるシミュレーション環境を指す。例えば、パススルービデオを提供する際に、システムは、1つ以上のセンサ画像を変換して、画像センサによってキャプチャされた視点は異なる選択パースペクティブ視点(例えば、視点)を課すことができる。別の例として、物理的環境の表現は、その一部分をグラフィカルに変更(例えば、拡大)することによって変換されてもよく、それにより、変更された部分は、元のキャプチャ画像を表すが写実的ではないバージョンとなり得る。更なる例として、物理的環境の表現は、その一部分をグラフィカルに除去又は曖昧化することによって変換されてもよい。
【0024】
拡張仮想(AV)環境は、物理的環境からの1つ以上の感覚入力を仮想環境又はコンピュータ生成環境が組み込むシミュレーション環境を指す。感覚入力は、物理的環境の1つ以上の特性の表現であり得る。例えば、AVパークには、仮想の木及び仮想の建物があり得るが、顔がある人々は、物理的な人々が撮られた画像から写実的に再現される。別の例として、仮想オブジェクトは、1つ以上の画像センサによって撮像された物理的物品の形状又は色を採用してもよい。更なる例として、仮想オブジェクトは、物理的環境における太陽の位置と一致する影を採用することができる。
【0025】
多種多様の電子システムが存在することによって、人が様々なCGR環境を感知する及び/又はCGR環境と対話できるようになる。例としては、ヘッドマウントシステム、プロジェクションベースシステム、ヘッドアップディスプレイ(HUD)、統合表示機能を有する車両ウィンドシールド、統合表示機能を有する窓、(例えば、コンタクトレンズと同様に)人の目の上に配置されるように設計されたレンズとして形成されたディスプレイ、ヘッドホン/イヤフォン、スピーカアレイ、入力システム(例えば、触覚フィードバックを有する又は有さない、ウェアラブル又はハンドヘルドコントローラ)、スマートフォン、タブレット、及びデスクトップ/ラップトップコンピュータ、が挙げられる。ヘッドマウントシステムは、1つ以上のスピーカ(単数又は複数)及び一体型不透明ディスプレイを有してもよい。あるいは、ヘッドマウントシステムは、外部の不透明ディスプレイ(例えば、スマートフォン)を受け入れるように構成されていてもよい。ヘッドマウントシステムは、物理的環境の画像若しくはビデオをキャプチャするための1つ以上の画像センサ、及び/又は物理的環境の音声をキャプチャするための1つ以上のマイクロフォンを組み込んでいてもよい。不透明ディスプレイではなく、ヘッドマウントシステムは、透明又は半透明のディスプレイを有してもよい。透明又は半透明のディスプレイは、画像を表す光が人の目に向けられる媒体を有してもよい。ディスプレイは、デジタル光投影、OLED、LED、uLED、液晶オンシリコン、レーザスキャン光源、又はこれらの技術の任意の組み合わせを利用することができる。媒体は、光導波路、ホログラム媒体、光結合器、光反射器、又はこれらの任意の組み合わせであってもよい。一実施形態では、透明又は半透明のディスプレイは、選択的に不透明になるように構成されていてもよい。プロジェクションベースシステムは、グラフィック画像を人間の網膜上に投影する網膜投影技術を採用することができる。プロジェクションシステムはまた、例えば、ホログラムとして、又は物理的表面上に、仮想オブジェクトを物理的環境内に投影するように構成されていてもよい。
【0026】
図1A及び
図1Bは、仮想現実及び複合現実を含む、様々なコンピュータ生成現実技術で使用するための例示的なシステム100を示す。
【0027】
いくつかの実施形態では、
図1Aに示すように、システム100は、デバイス100aを含む。デバイス100aは、プロセッサ(単数又は複数)102、RF回路(単数又は複数)104、メモリ(単数又は複数)106、画像センサ(単数又は複数)108、向きセンサ(単数又は複数)110、マイクロフォン(単数又は複数)112、位置センサ(単数又は複数)116、スピーカ(単数又は複数)118、ディスプレイ(単数又は複数)120、及びタッチ感知面122などの様々な構成要素を含む。これらの構成要素は、任意選択的に、デバイス100aの通信バス(単数又は複数)150を介して通信する。
【0028】
いくつかの実施形態では、システム100の要素は、基地局デバイス(例えば、リモートサーバ、モバイルデバイス、又はラップトップなどのコンピューティングデバイス)内に実装され、システム100の他の要素は、ユーザによって装着されるように設計されたヘッドマウントディスプレイ(HMD)デバイス内に実装され、HMDデバイスは基地局デバイスと通信している。いくつかの実施形態では、デバイス100aは、基地局デバイス又はHMDデバイス内に実装される。
【0029】
図1Bに示すように、いくつかの実施形態では、システム100は、有線接続又は無線接続などを介して通信する2つ(又はそれ以上)のデバイスを含む。第1のデバイス100b(例えば、基地局デバイス)は、プロセッサ(単数又は複数)102、RF回路(単数又は複数)104、及びメモリ(単数又は複数)106を含む。これらの構成要素は、任意選択的に、デバイス100bの通信バス(単数又は複数)150を介して通信する。第2のデバイス100c(例えば、ヘッドマウントデバイス)は、プロセッサ(単数又は複数)102、RF回路(単数又は複数)104、メモリ(単数又は複数)106、画像センサ(単数又は複数)108、向きセンサ(単数又は複数)110、マイクロフォン(単数又は複数)112、位置センサ(単数又は複数)116、スピーカ(単数又は複数)118、ディスプレイ(単数又は複数)120、及びタッチ感知面122などの様々な構成要素を含む。これらの構成要素は、任意選択的に、デバイス100cの通信バス(単数又は複数)150を介して通信する。
【0030】
いくつかの実施形態では、システム100は、
図1C~
図1Eのデバイス100aに関して説明される実施形態などのモバイルデバイスである。いくつかの実施形態では、システム100は、
図1F~
図1Hのデバイス100aに関して説明される実施形態などのヘッドマウントディスプレイ(HMD)デバイスである。いくつかの実施形態では、システム100は、
図1Iのデバイス100aに関して説明される実施形態などのウェアラブルHUDデバイスである。
【0031】
システム100は、プロセッサ(単数又は複数)102及びメモリ(単数又は複数)106を含む。プロセッサ(単数又は複数)102は、1つ以上の汎用プロセッサ、1つ以上のグラフィックプロセッサ、及び/又は1つ以上のデジタル信号プロセッサを含む。いくつかの実施形態では、メモリ(単数又は複数)106は、後述する技術を実行するためにプロセッサ(単数又は複数)102によって実行されるように構成されているコンピュータ可読命令を記憶する1つ以上の非一時的コンピュータ可読記憶媒体(例えば、フラッシュメモリ、ランダムアクセスメモリ)である。
【0032】
システム100は、RF回路(単数又は複数)104を含む。RF回路(単数又は複数)104は、任意選択的に、電子デバイス、インターネット、イントラネット及び/又は、セルラーネットワーク及び無線ローカルエリアネットワーク(LAN)などの無線ネットワークなどのネットワークと通信するための回路を含む。RF回路(単数又は複数)104は、任意選択的に、近距離通信及び/又はBluetooth(登録商標)などの短距離通信を使用して通信するための回路を含む。
【0033】
システム100は、ディスプレイ(単数又は複数)120を含む。いくつかの実施形態では、ディスプレイ(単数又は複数)120は、第1のディスプレイ(例えば、左目ディスプレイパネル)及び第2のディスプレイ(例えば、右目ディスプレイパネル)を含み、各ディスプレイは、ユーザのそれぞれの目に画像を表示する。対応する画像は、第1のディスプレイ及び第2のディスプレイ上に同時に表示される。任意選択的に、対応する画像は、異なる視点からの同じ物理的オブジェクトの同じ仮想オブジェクト及び/又は表現を含み、結果として、ディスプレイ上のオブジェクトの深さの錯覚をユーザに提供する視差効果をもたらす。いくつかの実施形態では、ディスプレイ(単数又は複数)120は、単一のディスプレイを含む。対応する画像は、ユーザのそれぞれの目のために、単一のディスプレイの第1の領域及び第2の領域上に同時に表示される。任意選択的に、対応する画像は、異なる視点からの同じ物理的オブジェクトの同じ仮想オブジェクト及び/又は表現を含み、結果として、単一のディスプレイ上のオブジェクトの深さの錯覚をユーザに提供する視差効果をもたらす。
【0034】
いくつかの実施形態では、システム100は、タップ入力及びスワイプ入力などのユーザ入力を受け取るためのタッチ感知面(単数又は複数)122を含む。いくつかの実施形態では、ディスプレイ(単数又は複数)120及びタッチ感知面(単数又は複数)122は、タッチ感知ディスプレイ(単数又は複数)を形成する。
【0035】
システム100は画像センサ(単数又は複数)108を含む。画像センサ(単数又は複数)108は、任意選択的に、電荷結合デバイス(CCD)センサなどの1つ以上の可視光画像センサ、及び/又は現実環境から物理的オブジェクトの画像を取得するように動作可能な相補型金属酸化膜半導体(CMOS)センサを含む。画像センサ(単数又は複数)はまた、任意選択的に、現実環境からの赤外光を検出するための、パッシブIRセンサ又はアクティブIRセンサなどの1つ以上の赤外線(IR)センサ(単数又は複数)を含む。例えば、アクティブIRセンサは、赤外光を現実環境に放射するためのIRドットエミッタなどのIRエミッタを含む。画像センサ(単数又は複数)108はまた、任意選択的に、現実環境における物理的オブジェクトの移動をキャプチャするように構成されている1つ以上のイベントカメラを含む。画像センサ(単数又は複数)108はまた、任意選択的に、システム100からの物理的オブジェクトの距離を検出するように構成されている1つ以上の深さセンサを含む。いくつかの実施形態では、システム100は、CCDセンサ、イベントカメラ、及び深さセンサを組み合わせて使用して、システム100周囲の物理的環境を検出する。いくつかの実施形態では、画像センサ(単数又は複数)108は、第1の画像センサ及び第2の画像センサを含む。第1の画像センサ及び第2の画像センサは、任意選択的に、2つの異なるパースペクティブから、現実環境内の物理的オブジェクトの画像をキャプチャするように構成されている。いくつかの実施形態では、システム100は、画像センサ(単数又は複数)108を使用して、ハンドジェスチャなどのユーザ入力を受け取る。いくつかの実施形態では、システム100は、画像センサ(単数又は複数)108を使用して、現実環境におけるシステム100及び/又はディスプレイ(単数又は複数)120の位置及び向きを検出する。例えば、システム100は、画像センサ(単数又は複数)108を使用して、現実環境内の1つ以上の固定オブジェクトに対するディスプレイ(単数又は複数)120の位置及び向きを追跡する。
【0036】
いくつかの実施形態では、システム100は、マイクロフォン(単数又は複数)112を含む。システム100は、マイクロフォン(単数又は複数)112を使用して、ユーザ及び/又はユーザの現実環境からの音を検出する。いくつかの実施形態では、マイクロフォン(単数又は複数)112は、周囲ノイズを特定するか、又は現実環境の空間内の音源の位置を特定するために、任意選択的に並んで動作するマイクロフォンのアレイ(複数のマイクロフォンを含む)を含む。
【0037】
システム100は、システム100及び/又はディスプレイ(単数又は複数)120の向き及び/又は移動を検出するための向きセンサ(単数又は複数)110を含む。例えば、システム100は、向きセンサ(単数又は複数)110を使用して、システム100及び/又はディスプレイ(単数又は複数)120の位置及び/又は向きの変化を、現実環境内の物理的オブジェクトなどに関して追跡する。向きセンサ(単数又は複数)110は、1つ以上のジャイロスコープ及び/又は1つ以上の加速度計を含む。
【0038】
図1C~1Eは、デバイス100aの形態のシステム100の実施形態を示す。
図1C~
図1Eにおいて、デバイス100aは、携帯電話などのモバイルデバイスである。
図1Cは、仮想現実技術を実行するデバイス100aを示す。デバイス100aは、ディスプレイ120上に、太陽160a、鳥160b、及び浜辺160cなどの仮想オブジェクトを含む仮想環境160を表示している。表示された仮想環境160と仮想環境160の仮想オブジェクト(例えば、160a、160b、160c)の両方が、コンピュータ生成イメージである。
図1Cに示される仮想現実環境は、物理的な人180a及び物理的な木180bなどの現実環境180からの物理的オブジェクトの表現を、現実環境180のこれらの要素がデバイス100aの画像センサ(単数又は複数)108の視野内にあるとしても、含まないことに留意されたい。
【0039】
図1Dは、パススルービデオを使用して、複合現実技術及び特に拡張現実技術を実行するデバイス100aを示す。デバイス100aは、ディスプレイ120上に、仮想オブジェクトと共に現実環境180の表現170を表示している。現実環境180の表現170は、人180aの表現170a及び木180bの表現170bを含む。例えば、デバイスは、画像センサ(単数又は複数)108を使用して、ディスプレイ120上に表示するためにパススルーされる現実環境180の画像をキャプチャする。デバイス100aは、人180aの表現170aの頭部上に、デバイス100aによって生成された仮想オブジェクトである帽子160dをオーバレイする。デバイス100aは、仮想オブジェクトが拡張現実環境内の現実環境からの物理的オブジェクトと相互作用することを可能にするために、デバイス100aの位置及び/又は向きに対する物理的オブジェクトの位置及び/又は向きを追跡する。この実施形態では、デバイス100aは、デバイス100a及び人180aが互いに対して移動しても、人180aの表現170aの頭部上にあるものとして帽子160dを表示するために、デバイス100a及び人180aの移動を考慮する。
【0040】
図1Eは、複合現実技術及び特に拡張仮想技術を実行するデバイス100aを示す。デバイス100aは、ディスプレイ120上に、物理的オブジェクトの表現と共に仮想環境160を表示している。仮想環境160は、仮想オブジェクト(例えば、太陽160a、鳥160b)と人180aの表現170aとを含む。例えば、デバイス100aは、画像センサ(単数又は複数)108を使用して、現実環境180内の人180aの画像をキャプチャする。デバイス100aは、ディスプレイ120上に表示するために、仮想環境160内に人180aの表現170aを配置する。デバイス100aは、任意選択的に、仮想オブジェクトが現実環境180からの物理的オブジェクトと相互作用することを可能にするために、デバイス100aの位置及び/又は向きに対する物理的オブジェクトの位置及び/又は向きを追跡する。この実施形態では、デバイス100aは、人180aの表現170aの頭部上にあるものとして帽子160dを表示するために、デバイス100a及び人180aの移動を考慮する。特に、この実施形態では、デバイス100aは、複合現実技術を実行する際に、木180bもまたデバイス100aの画像センサ(単数又は複数)の視野内にあるとしても、木180bの表現を表示しない。
【0041】
図1F~
図1Hは、デバイス100aの形態のシステム100の実施形態を示す。
図1F~
図1Hにおいて、デバイス100aは、ユーザの頭部に装着されるように構成されているHMDデバイスであり、ユーザのそれぞれの目は、それぞれのディスプレイ120a及び120bを見ている。
図1Fは、仮想現実技術を実行するデバイス100aを示す。デバイス100aは、ディスプレイ120a及び120b上に、太陽160a、鳥160b、及び浜辺160cなどの仮想オブジェクトを含む仮想環境160を表示している。表示された仮想環境160及び仮想オブジェクト(例えば、160a、160b、160c)は、コンピュータ生成イメージである。この実施形態では、デバイス100aは、ディスプレイ120a及びディスプレイ120b上に対応する画像を同時に表示する。対応する画像は、異なる視点からの同じ仮想環境160及び仮想オブジェクト(例えば、160a、160b、160c)を含み、結果として、ディスプレイ上のオブジェクトの深さの錯覚をユーザに提供する視差効果をもたらす。
図1Fに示される仮想現実環境は、仮想現実技術を実行する際に、人180a及び木180bがデバイス100aの画像センサ(単数又は複数)の視野内にあるとしても、人180a及び木180bなどの現実環境からの物理的オブジェクトの表現を含まないことに留意されたい。
【0042】
図1Gは、パススルービデオを使用して拡張現実技術を実行するデバイス100aを示す。デバイス100aは、ディスプレイ120a及び120b上に、仮想オブジェクトと共に現実環境180の表現170を表示している。現実環境180の表現170は、人180aの表現170a及び木180bの表現170bを含む。例えば、デバイス100aは、画像センサ(単数又は複数)108を使用して、ディスプレイ120a及び120b上に表示するためにパススルーされる現実環境180の画像をキャプチャする。デバイス100aは、ディスプレイ120a及び120bのそれぞれに表示するために、人180aの表現170aの頭部上にコンピュータ生成された帽子160d(仮想オブジェクト)をオーバレイしている。デバイス100aは、仮想オブジェクトが現実環境180からの物理的オブジェクトと相互作用することを可能にするために、デバイス100aの位置及び/又は向きに対する物理的オブジェクトの位置及び/又は向きを追跡する。この実施形態では、デバイス100aは、人180aの表現170aの頭部上にあるものとして帽子160dを表示するために、デバイス100a及び人180aの移動を考慮する。
【0043】
図1Hは、パススルービデオを使用して、複合現実技術、具体的には拡張仮想技術を実行するデバイス100aを示す。デバイス100aは、ディスプレイ120a及び120b上に、物理的オブジェクトの表現と共に仮想環境160を表示している。仮想環境160は、仮想オブジェクト(例えば、太陽160a、鳥160b)と人180aの表現170aとを含む。例えば、デバイス100aは、画像センサ(単数又は複数)108を使用して、人180aの画像をキャプチャする。デバイス100aは、ディスプレイ120a及び120b上に表示するために、仮想環境内に人180aの表現170aを配置する。デバイス100aは、任意選択的に、仮想オブジェクトが現実環境180からの物理的オブジェクトと相互作用することを可能にするために、デバイス100aの位置及び/又は向きに対する物理的オブジェクトの位置及び/又は向きを追跡する。この実施形態では、デバイス100aは、人180aの表現170aの頭部上にあるものとして帽子160dを表示するために、デバイス100a及び人180aの移動を考慮する。特に、この実施形態では、デバイス100aは、複合現実技術を実行する際に、木180bもまたデバイス100aの画像センサ(単数又は複数)108の視野内にあるとしても、木180bの表現を表示しない。
【0044】
図1Iは、デバイス100aの形態のシステム100の実施形態を示す。
図1Iにおいて、デバイス100aは、ユーザの頭部に装着されるように構成されているHUDデバイス(例えば、眼鏡デバイス)であり、ユーザのそれぞれの目は、それぞれのヘッドアップディスプレイ120c及び120dを見ている。
図1Iは、ヘッドアップディスプレイ120c及び120dを使用して拡張現実技術を実行するデバイス100aを示す。ヘッドアップディスプレイ120c及び120dは、(少なくとも部分的に)透明ディスプレイであり、したがって、ユーザは、ヘッドアップディスプレイ120c及び120dと組み合わせて、現実環境180を見ることができる。デバイス100aは、ヘッドアップディスプレイ120c及び120dのそれぞれに仮想帽子160d(仮想オブジェクト)を表示している。デバイス100aは、仮想オブジェクトが現実環境180からの物理的オブジェクトと相互作用することを可能にするために、デバイス100aの位置及び/又は向きに対する、かつユーザの目の位置に対する、現実環境における物理的オブジェクトの位置及び/又は向きを追跡する。この実施形態では、デバイス100aは、帽子160dが人180aの頭部上にあるとユーザに見えるようにディスプレイ120c及び120d上の位置に帽子160dを表示するために、デバイス100aの移動、デバイス100aに対するユーザの目の移動、並びに人180aの移動を考慮する。
【0045】
ここで
図2~
図15を参照すると、視線を使用して電子デバイスと対話するための例示的な技術が説明される。
【0046】
図2は、視線がオブジェクト210にフォーカスしているユーザ200の上面図を示す。ユーザの視線は、ユーザの目のそれぞれの視軸によって既定される。視軸の方向は、ユーザの視線方向を既定し、軸が収束する距離は、視線深さを既定する。視線方向はまた、視線ベクトル又は見通し線と呼ばれることもある。
図2において、視線方向はオブジェクト210の方向であり、視線深さは、ユーザに対する距離Dである。
【0047】
いくつかの実施形態では、ユーザの角膜の中心、ユーザの瞳孔の中心、及び/又はユーザの眼球の回転中心は、ユーザの目の視軸の位置を判定するために判定され、したがって、ユーザの視線方向及び/又は視線深さを判定するために使用することができる。いくつかの実施形態では、視線深さは、ユーザの目の視軸の収束ポイント(若しくはユーザの目の視軸間の最小距離の位置)、又はユーザの目(単数又は複数)の焦点の何らかの他の測定値に基づいて判定される。任意選択的に、視線深さは、ユーザの目がフォーカスしている距離を推定するために使用される。
【0048】
図2において、光線201A及び201Bは、ユーザ200の左右の目の視軸に沿ってそれぞれキャスティングされ、任意選択的に、レイキャスティングと呼ばれるものにおけるユーザの視線方向及び/又は視線深さを判定するために使用される。
図2はまた、角度範囲203A及び203Bをそれぞれ有する錐体202A及び202Bを示す。錐体202A及び202Bはまた、ユーザ200の左右の目の視軸に沿ってそれぞれキャスティングされ、任意選択的に、錐体キャスティングと呼ばれるものにおけるユーザの視線方向及び/又は視線深さを判定するために使用される。視線方向及び視線深さは、多くの場合、眼球運動、センサ運動、サンプリング周波数、センサ待ち時間、センサ分解能、センサ位置ずれなどの要因のために、絶対的な確度又は精度で判定することができない。したがって、いくつかの実施形態では、角度分解能又は(推定される)角度誤差は、視線方向と関連付けられる。いくつかの実施形態では、深さ分解能は、視線深さに関連付けられる。任意選択的に、錐体(単数又は複数)の角度範囲(例えば、錐体202Aの角度範囲203A及び錐体202Bの角度範囲203B)は、ユーザの視線方向の角度分解能を表す。
【0049】
図3は、ディスプレイ302を有する電子デバイス300を示す。電子デバイス300は、仮想オブジェクト306を含む仮想環境304を表示する。いくつかの実施形態では、環境304は、CGR環境(例えば、VR環境又はMR環境)である。図示した実施形態おいて、オブジェクト306は、ユーザ200が視線を使用して対話することができるアフォーダンスである。いくつかの実施形態では、アフォーダンス306は、物理的オブジェクト(例えば、アフォーダンス306との対話を介して制御することができる機器又は他のデバイス)に関連付けられる。
図3はまた、ユーザ200の視線方向を示す、ユーザ200の上方からのビューを示す。ユーザの目のそれぞれの視軸は、デバイス300のディスプレイ302の平面に対応する仮想環境304の表示された表現の平面上に外挿される。スポット308は、ディスプレイ302上のユーザ200の視線方向を表す。
【0050】
図3に示すように、ユーザ200の視線方向はアフォーダンス306の方向に対応する。用語「アフォーダンス」とは、ユーザが対話することができるグラフィカルユーザインタフェースオブジェクトを指す。アフォーダンスの例としては、ユーザ対話可能な画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)が挙げられる。電子デバイス300は、ユーザ200の視線方向を判定するように構成されている。デバイス300は、ユーザに向けられたセンサからデータをキャプチャし、センサからキャプチャされたデータに基づいて視線方向を判定する。シーン300の3次元表現が提示されるいくつかの実施形態では、例えば、
図9~
図12に関して以下に説明する実施形態では、デバイス300はまた(または代替的に)、視線深さを判定し、視線深さがアフォーダンス306に対応するかどうかを判定する。任意選択的に、視線深さがアフォーダンスの深さに対応するかどうかを判定することは、少なくとも部分的に、視線深さの深さ分解能に基づく。
【0051】
図示した実施形態では、デバイス300は、ユーザ200に向けられ、ユーザ200の目の画像データをキャプチャする画像センサ310を含む。いくつかの実施形態では、デバイス300は、検出された光強度の経時的変化に基づいてユーザ(例えば、ユーザの目)からイベントデータを検出し、そのイベントデータを使用して、視線方向及び/又は視線深さを判定する、イベントカメラを含む。任意選択的に、デバイス300は、(例えば、画像センサ、並びに画像データ及びイベントデータをキャプチャするように構成されている別個のイベントカメラ又はセンサから)画像データとイベントデータの両方を使用して、視線方向及び/又は視線深さを判定する。任意選択的に、デバイス300は、レイキャスティング及び/又は錐体キャスティングを使用して、視線方向及び/又は視線深さを判定する。
【0052】
視線方向に基づいて、デバイス300は、視線方向がアフォーダンス306と同じ方向である(例えば、ユーザ200の目からキャスティングされる光線又は錐体は、アフォーダンス306と少なくとも部分的に交差するか、又はアフォーダンス306の誤差のマージン内にある)ので、視線方向がアフォーダンス306に対応すると判定する。任意選択的に、視線方向がアフォーダンス306に対応すると判定することは、少なくとも部分的に、視線方向の角度分解能に基づく。シーンの3次元表現が提示されるいくつかの実施形態では、デバイス300はまた(又は代替的に)、視線深さがアフォーダンス306の深さに対応するかどうかを判定する。任意選択的に、視線深さがアフォーダンスの深さに対応するかどうかを判定することは、少なくとも部分的に、視線深さの深さ分解能に基づく。任意選択的に、アフォーダンス306はまた、視線深さ(又は視線深さの深さ分解能に基づく深さ範囲内)に位置する。
【0053】
いくつかの実施形態では、視線方向及び/又は視線深さは、視線方向及び/又は視線深さが、アフォーダンスともはや重なり合わなくなった後でさえ、アフォーダンスへの視線に対応し続けると判定される(例えば、視線方向及び/又は視線深さが、最初に、アフォーダンスへの視線に対応すると判定されると、視線方向及び/又は視線深さは、少なくとも所定の時間の間、又はユーザがアフォーダンスから目をそらした後の所定の時間量の間、アフォーダンスへの視線と考えられる)。
【0054】
視線方向が、アフォーダンス306への視線に対応すると判定されている間に、デバイス300は、第1のオブジェクトに対応するアフォーダンスに対してアクションを取る旨の命令を表す入力(「確認アクション」と呼ばれる)を受け取る。例えば、確認アクションは、ユーザ200がアフォーダンス306を見ていると判定されている間に受け取られる。
【0055】
確認アクションを受け取ったことに応答して、デバイス300はアフォーダンス306を選択する。すなわち、アフォーダンス306は、ユーザがアフォーダンス306を見ていることと確認アクションを提供していることとの組み合わせに応答して選択される。確認アクションは、偽陽性(例えば、ユーザ200がアフォーダンス306を選択するか又はそれに働きかけることを望んでいるという、デバイス300による不正確な判定)を防止するために有益である。確認アクションの非限定的な例としては、アイジェスチャ、ボディジェスチャ、音声入力、コントローラ入力、又はこれらの組み合わせが挙げられる。
【0056】
アイジェスチャの例としては、1回の瞬き、複数回の瞬き、所定の回数の瞬き、所定の時間内の所定の回数の瞬き、所定の期間の瞬き(例えば、1秒間にわたって目を閉じること)、瞬きパターン(例えば、ゆっくりと1回瞬きをした後に急速に2回瞬きをすること)、ウィンク、特定の目によるウィンク、ウィンクパターン(例えば、それぞれ指定の期間で、左、右、左)、所定の眼球運動(例えば、素早く見上げること)、「長く」見ること又は考え込むこと(例えば、所定の時間にわたって、アフォーダンス306の方向に(又はアフォーダンス306に対応する方向に)視線方向を連続的に維持する)、又は何らかの他の所定の基準を満たす眼球運動が挙げられる。
【0057】
ハンドジェスチャの例としては、アフォーダンス306の位置に対応する位置(例えば、ユーザとアフォーダンス306のディスプレイとの間)での手の配置、手を振ること、(例えば、アフォーダンス306を指し示す運動)、又は既定の運動パターンを伴うジェスチャが挙げられる。いくつかの実施形態では、ハンドジェスチャ確認アクションは、ハンドジェスチャの位置に依存する(例えば、特定の位置におけるハンドジェスチャでなければならない)。いくつかの実施形態では、ハンドジェスチャ確認アクションは、ハンドジェスチャの位置に依存しない(例えば、ハンドジェスチャは、位置とは関係ない)。
【0058】
音声入力の例としては、音声コマンド(例えば、「それをピックアップする」又は「ライトをつける」)が挙げられる。いくつかの実施形態では、音声入力は、アフォーダンス306に関連付けられたオブジェクトを明示的に特定する(例えば、「箱を選択する」)。いくつかの実施形態では、音声入力は、アフォーダンスに関連付けられたオブジェクトを明示的に特定せず、代わりに、むしろ曖昧である代名詞を使用してオブジェクトを指す(例えば、「それをつかむ」)。
【0059】
コントローラ入力に関して、いくつかの実施形態では、デバイス300は、例えば、ボタン、トリガ、ジョイスティック、スクロールホイール、ノブ、キーボード、又はタッチ感知面(例えば、タッチパッド又はタッチ感知ディスプレイ)を介して入力を受け取るように構成されているコントローラと通信する。いくつかの実施形態では、コントローラ及びデバイス300は、無線で、又は有線接続を介して接続される。コントローラ入力の例としては、ボタンの押下、トリガのプル、ジョイスティックの移動、スクロールホイールの回転、ノブの回転、キーボード上のボタンの押下、又はタッチ感知面上の接触若しくはジェスチャ(例えば、タップ若しくはスワイプ)が挙げられる。
【0060】
いくつかの実施形態では、アフォーダンス306を選択することは、アフォーダンス306上にフォーカスを適用することを含む。任意選択的に、デバイス300は、アフォーダンス306が選択されたという表示を提供する。いくつかの実施形態では、表示は、音声出力(例えば、ビープ)、視覚的表示(例えば、選択されたアフォーダンスを縁取る又はハイライトする)、又は触覚出力を含む。任意選択的に、アフォーダンス306は、所定の時間にわたって選択されたままである(例えば、所定の時間にわたってアフォーダンス306上でフォーカスが維持される)。任意選択的に、アフォーダンス306は、選択解除入力が受け取られるまで選択されたままである。いくつかの実施形態では、選択解除入力は、確認アクションと同じ入力である。いくつかの実施形態では、選択解除入力は、確認アクションとは異なる入力である。いくつかの実施形態では、選択解除入力は、アイジェスチャ、ボディジェスチャ、音声入力、コントローラ入力、又は上述の例示的な入力などの、それらの組み合わせ若しくは部分を含む。
【0061】
いくつかの実施形態では、アフォーダンス306は、アフォーダンス306(又は、それが関連付けられているオブジェクト)に関連付けられたアクションが実行されるまで、選択されたままである。
図4は、アフォーダンス306に対して実行される例示的なアクションを示す。アフォーダンス306が選択されている間に、デバイス300は、入力(例えば、アイジェスチャ、ボディジェスチャ、音声入力、コントローラ入力、又は上述の例示的な入力などの、それらの組み合わせ若しくは部分)を受け取る。図示された例では、入力は、ユーザ200が、自分の視線方向がディスプレイ302上で位置308から
図4に示される位置400へと移動するように、自分の目の位置を変化させることを含む。入力を受け取ったことに応答して、デバイス300は、入力に従ってアフォーダンス306に関連付けられたアクションを実行する。いくつかの実施形態では、アフォーダンス306に関連付けられたアクションは、デバイス300にアフォーダンス306を選択させる入力に応答して実行される(例えば、アフォーダンス306を選択することは、アフォーダンス306に関連付けられたアクションを実行することを含む)。
図4に示す例では、デバイス300は、ユーザ200の視線方向の変化に従ってアフォーダンス306を移動し、
図3に示すアフォーダンス306の位置から
図4に示す位置へと、ディスプレイ302上でアフォーダンス306を上方に、そして左に並進させる。
【0062】
アフォーダンスを移動することに加えて、例示的なアクションは、アフォーダンス又はアフォーダンスに関連付けられたオブジェクトの表現を変換し(例えば、アフォーダンス306の回転し、ねじり、延伸し、圧縮し、拡大し、及び/又は縮小し)、そしてアフォーダンスに関連付けられたデバイスの状態を変更すること(例えば、ランプをオン又はオフにすること)を含む。例えば、いくつかの実施形態では、アフォーダンスはサーモスタットに関連付けられた仮想ダイヤルである。ユーザは、仮想ダイヤルを選択し、次いでサーモスタットの温度を調整することができる。いくつかの実施形態では、オブジェクトが移動されると、アフォーダンス(又はそれに関連付けられたオブジェクト)の位置のいくつかの態様は、自動的に判定される。例えば、最初に水平表面上に平坦に置かれている仮想ピクチャフレームが壁に移動される場合、フレームは、壁に対して平坦に置かれるように垂直方向に自動的に回転される。
【0063】
ここで
図5を参照すると、近接して間隔を置かれたオブジェクトを解決して選択する技術が記載されている。
図5は、デバイス300上に表示された仮想環境500を示す。いくつかの実施形態では、環境500は、CGR環境(例えば、VR環境又はMR環境)である。仮想環境500は、アフォーダンス502及びアフォーダンス504を含み、それぞれが仮想テーブル506の上のそれぞれの箱に関連付けられ、ディスプレイ302上に同時に表示される。破線の円は、デバイス300によって判定されたユーザ200の視線方向508を表す。円の半径は、視線方向508の角度不確実性を表す。
図5に示すように、視線方向508は、アフォーダンス502とアフォーダンス504の両方に重なり、ユーザ200がアフォーダンスのうちの1つに関心があることを示す。視線方向508は、わずかにアフォーダンス502の方に向けられているが、視線方向508の角度不確実性は、アフォーダンス502とアフォーダンス504との間の角度分離よりも大きく、それによって、視線方向508がアフォーダンス502及びアフォーダンス504のうちの特定の1つに対応すると、デバイス300が十分に高い信頼度で判定するのを防止する。言い換えれば、デバイス300は、ユーザ200がどのアフォーダンスを選択することを望むかを十分な信頼度で解決することができない。代わりに、デバイス200は、視線方向508がアフォーダンス502及びアフォーダンス504の両方に対応すると判定する。シーンの3次元表現が提示されるいくつかの実施形態では、アフォーダンス間の深さ分離は、視線位置の角度分解能又は深さ分解能よりも小さくてもよい。
【0064】
視線方向508が、アフォーダンス502とアフォーダンス504の両方に対応すると判定したことに応答して、デバイス300は、アフォーダンス502及びアフォーダンス504を拡大する。
図6は、拡大された(例えば、ズームインされた)後のアフォーダンス502及びアフォーダンス504を示す。アフォーダンス502及びアフォーダンス504は、それらがテーブル506の上部から移動され、ユーザ200に対してより近くに位置付けられているかのように見える。
図6では、アフォーダンス502及びアフォーダンス504は、それらの相対的なサイズ及び位置が同じままであるように、同じ量だけ拡大される(例えば、アフォーダンス502は、アフォーダンス504の前にあるように見え続ける)。アフォーダンス502及びアフォーダンス504のズームは、アフォーダンス502及びアフォーダンス504の角度範囲を増大させ、アフォーダンス502とアフォーダンス504との間の角度分離を増大させる。任意選択的に、ズーム量は、アフォーダンスのサイズ及び/又は視線方向の分解能に基づく(例えば、アフォーダンス502及びアフォーダンス504は、アフォーダンス504が所定の最小サイズになるように拡大される)。いくつかの実施形態では、アフォーダンス502及びアフォーダンス504は、ユーザ200がどのアフォーダンスにフォーカスしようとしているかをデバイス300が(所定の信頼度で)解決することができるように、ズームされる。
【0065】
いくつかの実施形態では、アフォーダンス502及びアフォーダンス504は、ユーザ200の視線が既定の基準を満たすとの判定に従って拡大される(例えば、視線方向508は、所定の時間の間、又は所定の時間ウィンドウ内の所定の時間(例えば、4秒のウィンドウ中の3秒)の間、アフォーダンス502とアフォーダンス504の両方に対応する)。いくつかの実施形態では、アフォーダンス502及びアフォーダンス504は、視線方向508がアフォーダンス502とアフォーダンス504の両方に対応している間に、デバイス300が、入力(例えば、上述のようなアイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力)を受け取ったことに応答して、拡大される。このようにして、ユーザ200は、デバイスがコンテンツをズームするときに、制御を改善することができる。また、このようにして、デバイス300は、解決が必要な場合に対する視線の曖昧性を解消するために、ズーム機能を呼び出す瞬間を減らす又は制限することができ、それにより、ユーザに対するひずみを低減し、ユーザの体験を改善することができる。任意選択的に、視線方向に対応するアフォーダンスは、入力に従って拡大される(例えば、長い及び/又は激しいボタン押下は、短い及び/又は穏やかなボタン押下よりも拡大が結果的に大きい)。いくつかの実施形態では、アフォーダンスは、音声コマンド(例えば、「40%のズームイン」)に従って拡大される。これにより、ユーザ200は、ズームの制御を増大させることができる。
【0066】
アフォーダンス502及びアフォーダンス504の拡大は、アフォーダンスの改善されたビューをユーザ200に提供し、ユーザ200が、アフォーダンスのうちの1つをより容易かつ確信を持って選択することを可能にする。例えば、
図6に示すように、アフォーダンス502及びアフォーダンス504が拡大された後、ユーザ200は、アフォーダンス502を選択することを望むと決定し、自分の視線を、アフォーダンス502上の視線方向510に移動する。特に、視線方向510は、もはやアフォーダンス504とは重ならない。したがって、デバイス300は、(例えば、相対的に高い信頼度で)、視線方向510がアフォーダンス502の方向に対応する(かつアフォーダンス504の方向には対応しない)ということを判定する。視線方向510が拡大されたアフォーダンス502の方向に対応すると判定されている間に、ユーザ200は、上述の確認アクションのうちの1つなどの確認アクションを用いてアフォーダンス502を選択する。任意選択的に、デバイス300は、拡大されたアフォーダンス502を選択するためのユーザ200による確認入力に応答し、かつそれに従って、及び/又はアフォーダンス502が選択されている間の更なる入力に応答して、アフォーダンス502に関連付けられたアクションを実行する。拡大されたアフォーダンス502を選択するためのユーザ200による確認入力に応答して、デバイス300は、アフォーダンス502及びアフォーダンス504を、任意選択的に縮小して(例えば、ズームアウトして)前の状態(例えば、
図5に示される、拡大前のサイズ及び位置)に戻す。いくつかの実施形態では、アフォーダンス502は、前の状態に縮小された後に選択されたままである。
【0067】
図5~
図6に関して上述した実施形態において、デバイス300は、アフォーダンス502及び504のみを拡大する。いくつかの実施形態では、デバイス300は、アフォーダンス502及びアフォーダンス504を拡大することに加えて、アフォーダンス502及びアフォーダンス504を取り囲む環境の少なくとも一部分の拡大ビューを表示する。
図7は、デバイス300が、視線方向508に対応するアフォーダンスを取り囲み、かつそれを含む仮想環境500の一部分を判定する例示的な実施形態を示す。当該部分は矩形700によって指定され、例えば、アフォーダンス502及び504に加えて、テーブル506の一部分を含む。
図8に示すように、視線方向508がアフォーダンス502とアフォーダンス504の両方に対応すると判定したことに応答して、デバイス300は、アフォーダンス502及びアフォーダンス504を含む矩形700によって指定される仮想環境500の当該部分を拡大する。仮想環境500の一部分はアフォーダンス502及び504と共に拡大されているが、アフォーダンスは依然として、
図5~
図6に関して上述したように選択され、作用され得る。更に、上述の実施形態は仮想環境に関連するが、同様の技術を、複合現実環境を含む他のCGR環境に適用することができる。例えば、いくつかの実施形態では、デバイスは、物理的環境のユーザのライブビュー上に重ねられたアフォーダンス502及び504を表示する透明ディスプレイを含む。デバイスはまた、ユーザの目のデータをキャプチャするためのユーザセンサと、アフォーダンス502及び504が表示される物理的環境の画像をキャプチャするためのシーンセンサとを含む。ユーザの視線方向がアフォーダンス502及び504に対応すると判定したことに応答して、例示的なデバイスは、アフォーダンス502及び504を取り囲む少なくとも物理的環境のデータをキャプチャし、アフォーダンス502及び504を取り囲む物理的環境の拡大表現(例えば、画像)を表示する。
【0068】
上述の実施形態では、アフォーダンス502及び504は、仮想環境の2次元表現で表示される。いくつかの実施形態では、アフォーダンスは、例えば、
図1F~
図1Hに示される仮想現実HMD100a上の環境の3次元(3D)表現で表示される。
図9は、HMD900上に表示された仮想環境902の3D表現を示す。いくつかの実施形態では、環境902は、CGR環境(例えば、VR環境又はMR環境)である。仮想環境902は、アフォーダンス904及びアフォーダンス906を含む。アフォーダンス904は第1の深さを有し、アフォーダンス906は、アフォーダンス904の第1の深さよりも大きい第2の深さを有する。仮想環境902が3D表現であるため、デバイス900は、ユーザの目からキャプチャされたデータに基づいて、視線位置を判定し、この視線位置は、図示した実施形態では、視線方向及び視線深さを含む。いくつかの実施形態では、視線位置を判定することは、視線方向を判定することを含むが、必ずしも視線深さを含むわけではない。いくつかの実施形態では、視線位置を判定することは、視線深さを判定することを含むが、必ずしも視線方向を含むわけではない。
【0069】
図9では、視線位置908を取り囲む円柱の半径は、視線方向の角度分解能を表し、円筒の長さは、視線深さの深さ分解能(例えば、視線深さにおける不確実性)を表す。視線方向、角度分解能、視線深さ、及び深さ分解能に基づいて、デバイス900は、アフォーダンス904及び/又はアフォーダンス906の位置が視線位置に対応するかどうかを判定する。いくつかの実施形態では、デバイス900は、視線深さにかかわらず視線方向(及び任意選択的に、角度分解能)に基づいて、又は視線方向にかかわらず視線深さ(及び任意選択的に深さ分解能)に基づいて、アフォーダンス904及び/又はアフォーダンス906の位置が視線位置に対応するかどうかを判定する。
【0070】
いくつかの実施形態では、デバイス900は、視線位置がアフォーダンス904及びアフォーダンス906の両方に対応すると判定したことに応答して、より遠いアフォーダンス(例えば、アフォーダンス906)の表示を強化する。
図10に示される実施形態によれば、アフォーダンス906は、アフォーダンス904に対してアフォーダンス906をより明るくすることによって(例えば、アフォーダンス906の輝度を増大させること、アフォーダンス904の輝度を低下させること、又はその両方の組み合わせによって)強化される。いくつかの実施形態では、アフォーダンスを強化することは、アフォーダンス自体の視覚的外観を(例えば、アフォーダンスをより明るくするか、又はアフォーダンスの色を変更することによって)変更することを含む。いくつかの実施形態では、アフォーダンスを強化することは、環境の他の態様の視覚的外観を(例えば、別のアフォーダンス又は周囲環境をぼやけさせることによって)劣化させることを含む。同様に、3D環境の2D表現では、より小さいオブジェクト又は3D環境内で、より大きい深さ値を有するオブジェクトが任意選択的に強化される。
【0071】
いくつかの実施形態では、デバイス900が、視線位置908はアフォーダンス904とアフォーダンス906の両方に対応する(例えば、デバイス900は、ユーザがどのアフォーダンスを見ているかを解決することができない)と判定したことに応答して、デバイス900は、アフォーダンス904及びアフォーダンス906を拡大する。3D表現を提供するいくつかの実施形態では、アフォーダンスをユーザに向かって移動し、ユーザにより近いように見える深さでアフォーダンスを表示することによって、アフォーダンスがユーザのパースペクティブから拡大される。
図11は、
図6に示される実施形態と同様の実施形態を示し、その中でアフォーダンス904及びアフォーダンス906は、それらの相対的なサイズ及び位置を維持しながら拡大される(例えば、ユーザに対してより近くに移動される)。
図12は、アフォーダンス904及びアフォーダンス906が拡大されて、アフォーダンス904及びアフォーダンス906が同じ深さで並んで表示されるように、互いに対して及び再配置される実施形態を示す。類似の技術は、環境の2D表現にも適用され得ることを認識されたい。例えば、
図5に関して上述したように、視線方向508が、アフォーダンス502とアフォーダンス504の両方への視線に対応すると判定された場合、アフォーダンス502及びアフォーダンス504は、任意選択的に、互いに対して異なる量だけ拡大され、及び/又は互いに対して再配置され、それによりアフォーダンス502及びアフォーダンス504は、並列に表示される。更に、アフォーダンス904及びアフォーダンス906が拡大されると、デバイス900は、更新された視線位置が拡大されたアフォーダンスのうちの1つに対応するかどうかを更に判定することができ、
図3~
図4及び
図6~
図8に関して先に説明した技術と類似の方法で、アフォーダンスに対してアクションを選択及び/又は実行することができる。
【0072】
ここで
図13を参照すると、オブジェクトの深さに基づいてオブジェクトの表示を変更する技術が説明されている。
図13は、デバイス300を再び示す。デバイス300は、オブジェクト1302及びオブジェクト1304が同時に表示された環境1300(例えば、CGR環境)を表示する。
図13に示されるように、オブジェクト1302は、オブジェクト1304よりも近くに見える(例えば、より小さい深さ値を有する)。また、
図13に表示されたパースペクティブから、オブジェクト1302はオブジェクト1304のビューを部分的に遮る。視線位置1306は、オブジェクト1302上に位置する。視線位置1306は、任意選択的に、視線方向若しくは視線深さのいずれか、又はその両方を含む。デバイス300は、任意選択的に、上述した技法のいずれかに従って、視線方向若しくは視線深さのいずれか、又はその両方に基づいて、視線位置がオブジェクト1302及び/又はオブジェクト1304に対応するかどうかを判定する。
【0073】
デバイス300は、視線位置1306がオブジェクト1302に対応するか、又はオブジェクト1304に対応するかに基づいて、オブジェクト1302及び/又はオブジェクト1304を視覚的に変更する。デバイス300は、視線位置1306が、上述した技術のいずれかに従ってオブジェクト1302に対応するか、又はオブジェクト1304に対応するかを判定する。いくつかの実施形態では、視線位置1306がオブジェクト1302に対応すると判定したことに応答して、デバイス300は、オブジェクト1304の表示を視覚的に変更し、視線位置1306がオブジェクト1304に対応すると判定したことに応答して、デバイス300は、オブジェクト1302の表示を視覚的に変更する。例えば、方向若しくは深さのいずれか、又はその両方によって判定されるユーザのフォーカスが、オブジェクトのうちの1つにあると判定された場合、他のオブジェクトの視覚的外観は、ユーザのフォーカスのオブジェクトを強調するために変更される。
図14に示すように、デバイス300は、視線位置1306がオブジェクト1302に対応すると判定し、それに応答して、オブジェクト1302を強調する、及び/又はオブジェクト1304の強調を解除する方法で、オブジェクト1304を視覚的に変更する。オブジェクトの強調を解除するオブジェクトを視覚的に変更する例としては、オブジェクトをぼやけさせるかファジーに見せること、オブジェクトの解像度を低下させること、オブジェクトの輝度を低下させること、オブジェクトのコントラストを低下させること、オブジェクトの透明度を増大させること、及びオブジェクトの表示を停止することが挙げられる。いくつかの実施形態では、デバイス300は、入力(例えば、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力)を受け取ったことに応答して、そして視線位置1306がオブジェクト1302又はオブジェクト1304にそれぞれ対応すると判定したことに応答して、オブジェクト1302又はオブジェクト1304を視覚的に変更する。任意選択的に、デバイス300は、両方のオブジェクトの方向が視線方向に対応するとの判定に従って、オブジェクト1302及びオブジェクト1304を変更し、オブジェクトのうちの1つが他方を遮っている可能性が高く、オブジェクトを区別することが有益であろうことを示す。
【0074】
任意選択的に、デバイス300はまた、視線位置に対応するオブジェクト(例えば、オブジェクト1302)の表示を視覚的に変更して、オブジェクトの外観を強化する。オブジェクトを視覚的に強化する例としては、オブジェクトを鮮明にすること、オブジェクトの解像度を上げること、オブジェクトの輝度を増大させること、オブジェクトのコントラストを増大させること、オブジェクトの透明度を低下させること、オオブジェクトをハイライトすること、及びオブジェクトを見えるようにすることが挙げられる。
【0075】
図15では、ユーザは、1306からオブジェクト1304に対応する位置1500へと自分の視線位置を移動している。これに応答して、デバイス300は、オブジェクト1302を視覚的に変更し、オブジェクト1304を
図13に最初に表示された外観に戻す。
図15に示す実施形態では、デバイス300は、ユーザがフォーカスしようとするオブジェクトをより良好に見ることができるように、オブジェクト1302を半透明にする。任意選択的に、デバイス300はオブジェクト1302を除去して、オブジェクト1304の遮られていないビューを提供する。
【0076】
図2~
図15に関して上述した実施形態は例示的なものであり、限定することを意図するものではないことが認識されるべきである。例えば、
図2~
図12の実施形態は、仮想環境に関して説明されているが、この技術は、複合現実環境を含む他のCGR環境に同様に適用することができる。
【0077】
ここで
図16を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス1600のフローチャートが示されている。プロセス1600は、ユーザデバイス(例えば、100a、300、又は900)を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス1600は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、2つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス1600の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス1600は、仮想現実環境及び複合現実環境を含む、CGR環境に適用することができ、仮想オブジェクト又は物理的オブジェクトに対応するアフォーダンスに適用することができる。プロセス1600のブロックは、
図16では特定の順序で示されているが、これらのブロックは他の順序で実行することができる。更に、プロセス1600の1つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック(単数又は複数)と組み合わされることができ、及び/又は追加のブロックを実行することができる。
【0078】
ブロック1602において、デバイスは、第1のオブジェクト(例えば、表示されたオブジェクト)に関連付けられたアフォーダンスを表示する。
【0079】
ブロック1604において、デバイスは、(例えば、1つ以上の目の)視線方向又は視線深さを判定する。いくつかの実施形態では、データは、ユーザに向けられたセンサからキャプチャされ、視線方向又は視線深さは、センサからキャプチャされたデータに基づいて判定される。いくつかの実施形態では、視線方向又は視線深さを判定することは、視線方向を判定することを含む。いくつかの実施形態では、視線方向又は視線深さを判定することは、視線深さを判定することを含む。任意選択的に、視線方向又は視線深さは、レイキャスティング又は錐体キャスティングを使用して判定される。任意選択的に、錐体キャスティングに使用される錐体の角度範囲は、視線方向の角度分解能に基づく。
【0080】
ブロック1606において、デバイスは、視線方向又は視線深さがアフォーダンスへの視線に対応するかどうかを判定する。いくつかの実施形態では、視線方向又は視線深さがアフォーダンスの深さに対応すると判定することは、視線がアフォーダンスに向けられていると判定することを含む。いくつかの実施形態では、視線がアフォーダンスに向けられていると判定することは、少なくとも部分的に、視線方向の角度分解能に基づく。いくつかの実施形態では、視線方向又は視線深さがアフォーダンスへの視線に対応すると判定することは、視線深さがアフォーダンスの深さに対応すると判定することを含む。いくつかの実施形態では、視線深さがアフォーダンスの深さに対応すると判定することは、少なくとも部分的に、視線深さの深さ分解能に基づく。
【0081】
ブロック1608において、視線方向又は視線深さがアフォーダンスへの視線に対応すると判定されている間に、デバイスは、第1のオブジェクトに対応するアフォーダンスに対してアクションを取る旨の命令を表す第1の入力を受け取る。いくつかの実施形態では、第1の入力は、アイジェスチャ、ハンドジェスチャ、音声入力、及び/又はコントローラ入力を含む。
【0082】
ブロック1610で、デバイスは、第1の入力を受け取ったことに応答して、アフォーダンスを選択する。任意選択的に、アフォーダンスが選択されている間に、第2の入力が受け取られ、選択されたアフォーダンスに関連付けられたアクションが、第2の入力を受け取ったことに応答して、かつ第2の入力に従って実行される。いくつかの実施形態では、第2の入力は、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ上の入力を含む。
【0083】
ここで
図17を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス1700のフローチャートが示されている。プロセス1700は、ユーザデバイス(例えば、100a、300、又は900)を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス1700は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、2つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス1700の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス1700は、仮想現実環境及び複合現実環境を含む、CGR環境に適用することができ、仮想オブジェクト又は物理的オブジェクトに対応するアフォーダンスに適用することができる。プロセス1700のブロックは、
図17では特定の順序で示されているが、これらのブロックは他の順序で実行することができる。更に、プロセス1700の1つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック(単数又は複数)と組み合わされることができ、及び/又は追加のブロックを実行することができる。
【0084】
ブロック1702において、デバイスは、第1のアフォーダンス及び第2のアフォーダンスを表示する。任意選択的に、第1のアフォーダンス及び第2のアフォーダンスは同時に表示される。いくつかの実施形態では、第1のアフォーダンス及び第2のアフォーダンスは、第1のアフォーダンス及び第2のアフォーダンスを含む環境(例えば、CGR環境)の2次元表現又は3次元表現を用いて表示される。任意選択的に、第1のアフォーダンスは、環境の3次元表現で第1の深さで表示され、第2のアフォーダンスは、環境の3次元表現で第2の深さで表示され、第1の深さは第2の深さとは異なる。
【0085】
ブロック1704において、デバイスは、(例えば、1つ以上の目の)第1の視線方向又は第1の視線深さを判定する。いくつかの実施形態では、データは、ユーザに向けられたセンサからキャプチャされ、視線方向又は視線深さは、センサからキャプチャされたデータに基づいて判定される。任意選択的に、視線方向又は視線深さは、レイキャスティング又は錐体キャスティングを使用して判定される。いくつかの実施形態では、錐体キャスティングに使用される錐体の角度範囲は、視線方向の角度分解能に基づく。
【0086】
ブロック1706において、デバイスは、第1の視線方向又は第1の視線深さが第1のアフォーダンスと第2のアフォーダンスの両方への視線に対応するかどうかを判定する。任意選択的に、第1の視線方向又は第1の視線深さが第1のアフォーダンスと第2のアフォーダンスの両方に対応すると判定したことに応答して、第1のアフォーダンスの表示は、第2の深さよりも大きい第1の深さに従って強化され、第2のアフォーダンスの表示は、第1の深さよりも大きい第2の深さに従って強化される。いくつかの実施形態では、視線方向が判定され、視線方向又は視線深さが第1のアフォーダンスと第2のアフォーダンスの両方に対応すると判定することは、視線方向が第1のアフォーダンスと第2のアフォーダンスの両方に対応すると判定することを含む。任意選択的に、視線方向が第1のアフォーダンスと第2のアフォーダンスの両方に対応すると判定することは、少なくとも部分的に、視線方向の角度分解能に基づく。いくつかの実施形態では、視線方向又は視線深さを判定することは、視線深さを判定することを含み、視線方向又は視線深さが第1のアフォーダンスと第2のアフォーダンスの両方に対応すると判定することは、視線深さが第1のアフォーダンスと第2のアフォーダンスの両方に対応すると判定することを含む。任意選択的に、視線深さが第1のアフォーダンスと第2のアフォーダンスの両方に対応すると判定することは、少なくとも部分的に、視線深さの深さ分解能に基づく。
【0087】
ブロック1708において、デバイスは、第1の視線方向又は第1の視線深さが第1のアフォーダンスと第2のアフォーダンスの両方への視線に対応すると判定したことに応答して、第1のアフォーダンス及び第2のアフォーダンスを拡大する。いくつかの実施形態では、第1のアフォーダンス及び第2のアフォーダンスは、ユーザの視線が既定の基準を満たすとの判定に従って拡大される。いくつかの実施形態では、第3の入力が受け取られ、第1のアフォーダンス及び第2のアフォーダンスは、第1の視線方向又は第1の視線深さが第1のアフォーダンスと第2のアフォーダンスの両方に対応すると判定したこと、及び第3の入力を受け取ったことに応答して、拡大される。いくつかの実施形態では、第3の入力は、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力を含む。いくつかの実施形態では、第1のアフォーダンス及び第2のアフォーダンスを拡大することは、第1のアフォーダンス及び第2のアフォーダンスを取り囲む環境(例えば、CGR環境)の少なくとも一部分の拡大ビューを表示することを含む。いくつかの実施形態では、第1のアフォーダンス及び第2のアフォーダンスを取り囲む環境の少なくとも一部分の拡大ビューは、仮想環境の表現である。いくつかの実施形態では、第1のアフォーダンス及び第2のアフォーダンスを取り囲む環境の少なくとも一部分の拡大ビューは、物理的環境の表現である。いくつかの実施形態では、第1のアフォーダンス及び第2のアフォーダンスを拡大することは、環境の3次元表現で第3の深さで第1のアフォーダンスを表示することと、環境の3次元表現で第4の深さで第2のアフォーダンスを表示することとを含み、第3の深さは、第4の深さと同じである。
【0088】
任意選択的に、第1のアフォーダンス及び第2のアフォーダンスを拡大した後、第2の視線方向又は第2の視線深さが判定され、第2の視線方向又は第2の視線深さは、第1のアフォーダンスへの視線に対応すると判定される。第2の視線方向又は第2視線深さは、第1のアフォーダンスへの視線に対応すると判定されている間に、第1のアフォーダンスにアクションを取る旨のユーザ命令を表す第1の入力が受け取られ、第1のアフォーダンスは、第1の入力を受け取ったことに応答して選択される。任意選択的に、第1の入力は、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力を含む。
【0089】
いくつかの実施形態では、第1のアフォーダンス又は第2のアフォーダンスは、第1の入力を受け取ったことに応答して縮小される。任意選択的に、第1のアフォーダンスが選択されている間に、第2の入力が受け取られ、第2の入力に従って第1のアフォーダンスに関連付けられたアクションが、第2の入力に応答して実行される。いくつかの実施形態では、第2の入力は、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力を含む。
【0090】
ここで
図18を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス1800のフローチャートが示されている。プロセス1800は、ユーザデバイス(例えば、100a、300、又は900)を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス1800は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、2つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス1800の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス1800は、仮想現実環境及び複合現実環境を含む、CGR環境に適用することができ、仮想オブジェクト、物理的オブジェクト、及びそれらの表現に適用することができる。プロセス1800のブロックは、
図18では特定の順序で示されているが、これらのブロックは他の順序で実行することができる。更に、プロセス1800の1つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック(単数又は複数)と組み合わされることができ、及び/又は追加のブロックを実行することができる。
【0091】
デバイスは、3次元コンピュータ生成現実環境の視野を表示するように適合される。視野は、見ているパースペクティブからレンダリングされる。ブロック1802では、デバイスが第1のオブジェクト及び第2のオブジェクトを表示する。任意選択的に、第1のオブジェクト及び第2のオブジェクトは同時に表示される。いくつかの実施形態では、第1のオブジェクト及び第2のオブジェクトは、第1のオブジェクトが見ているパースペクティブから第2のオブジェクトより近くに見える(例えば、提示される)ように表示される。
【0092】
ブロック1804において、デバイスは、(例えば、1つ以上の目の)視線位置を判定する。いくつかの実施形態では、データは、ユーザに向けられたセンサからキャプチャされ、視線位置は、センサからキャプチャされたデータに基づいて判定される。いくつかの実施形態では、視線位置は、レイキャスティング又は錐体キャスティングを使用して判定される。任意選択的に、錐体キャスティングに使用される錐体の角度範囲は、視線方向の角度分解能に基づく。
【0093】
ブロック1806において、デバイスは、視線位置が第1のオブジェクトに対応するか、又は第2のオブジェクトへの視線に対応するかを判定する。いくつかの実施形態では、視線方向が判定され、視線位置が第1のオブジェクト又は第2のオブジェクトへの視線に対応すると判定することは、視線が第1のオブジェクト又は第2のオブジェクトに向けられていると判定することを含む。任意選択的に、視線が第1のオブジェクトに向けられているか、又は第2のオブジェクトに向けられているかを判定することは、少なくとも部分的に、視線方向の角度分解能に基づく。いくつかの実施形態では、視線深さが判定され、視線位置が第1のオブジェクト又は第2のオブジェクトへの視線に対応すると判定することは、視線深さが(例えば、視野内に提示されるように)第1のオブジェクト又は第2のオブジェクトの深さに対応すると判定することを含む。任意選択的に、視線深さが第1のオブジェクト又は第2のオブジェクトの深さに対応すると判定することは、少なくとも部分的に、視線深さの深さ分解能に基づく。
【0094】
ブロック1808において、デバイスは、視線位置が第1のオブジェクトへの視線に対応するとの判定に従って、第2のオブジェクトの表示を視覚的に変更する。いくつかの実施形態では、第2のオブジェクトは、視線位置が第1のオブジェクトへの視線に対応すると判定したことと、入力を受け取ったこととに応答して変更される。入力は、任意選択的に、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力を含む。任意選択的に、デバイスは、第1のオブジェクトの表示(例えば、表示解像度)を強化する。任意選択的に、第2のオブジェクトを視覚的に変更した後、デバイスは、ユーザの第2の視線位置を判定し、第2の視線位置が第2のオブジェクトへの視線に対応するとの判定に従って、第1のオブジェクトの表示を視覚的に変更し、第2のオブジェクトをその初期の外観に従って表示する。
【0095】
ブロック1810において、デバイスは、視線位置が第2のオブジェクトへの視線に対応するとの判定に従って、第1のオブジェクトの表示を視覚的に変更する。いくつかの実施形態では、第1のオブジェクトは、視線位置が第2のオブジェクトへの視線に対応すると判定したことと、入力を受け取ったこととに応答して変更される。入力は、任意選択的に、アイジェスチャ、ハンドジェスチャ、音声入力、又はコントローラ入力を含む。任意選択的に、デバイスは、第2のオブジェクトの表示(例えば、表示解像度)を強化する。
【0096】
上述の方法1600、1700及び/又は1800の機能を実行するための実行可能命令は、任意選択的に、一時的若しくは非一時的コンピュータ可読記憶媒体(例えば、メモリ(単数又は複数)106)又は1つ以上のプロセッサ(例えば、プロセッサ(単数又は複数)102)によって実行されるように構成されている他のコンピュータプログラム製品に含まれる。更に、方法1600におけるいくつかの動作(例えば、ブロック1610)は、任意選択的に、方法1700及び/又は方法1800に含まれ、方法1700におけるいくつかの動作(例えば、ブロック1708)は、任意選択的に、方法1600及び/又は方法1800に含まれ、方法1800におけるいくつかの動作(例えば、ブロック1806、1808及び/又は1810)は、任意選択的に、方法1600及び/又は方法1700に含まれる。
【0097】
図19A~
図19Yを参照すると、例えば、CGR環境においてオブジェクト(例えば、仮想オブジェクト、物理的オブジェクト、並びに仮想オブジェクト及び物理的オブジェクトに対応するアフォーダンス)を選択及び/又は配置するための二重モダリティを提供する技術が記載されている。第1のモード(例えば、「視線係合」モード)では、位置又はオブジェクトは、ユーザの視線の位置に基づいて初期指定される。初期指定の後、第2のモード(例えば、「視線係合解除」モード)を使用して、視線を使用することなく、指定された位置を移動する又は異なるオブジェクトを指定する。視線位置は、ユーザによって急速に移動されることができ、これは、全般的な領域を素早く特定するのに効果的である。しかしながら、上述したように、ユーザの視線の位置には不確実性があり、そのため視線を使用して正確な位置を指定することが困難になる。推定された視線位置に永続的視覚インジケータを表示することは、インジケータがユーザを混乱させ、所望の指定ポイントにフォーカスするのではなく、ユーザの視線をインジケータに追従させることがあるので、正確な位置を指定するには効果が無いものであり得る。二重モダリティ技術により、ユーザは、大まかな初期指定を素早くに行い、次いで、特定のポイント又はオブジェクトを指定するために、(例えば、手動入力のみに基づいて)視線に依存しない微調整を行うことが可能になる。
【0098】
図19Aは、仮想環境1902と対話するためにデバイス1900を使用するユーザ200を示す。いくつかの実施形態では、環境1902は、CGR環境(例えば、VR環境又はMR環境)である。デバイス1900は、仮想現実HMD1900a及び入力デバイス1900bを含む。いくつかの実施形態では、HMD1900aは(例えば、
図1F~
図1Iの)デバイス100aであり、入力デバイス1900bは、(例えば、
図1A~
図1Bに示される通信バス(単数又は複数)150を介して)HMD1900aと通信している。ビュー1902aは、HMD1900a上でユーザ200に表示された仮想環境1902のビューを示し、ビュー1902bは、ユーザ200を含む仮想環境1902のパースペクティブを示す。
図19Aはまた、ユーザ200が仮想環境1902と対話するために入力を提供することを可能にするタッチ感知面1904(例えば、
図1A~
図1Bのタッチ感知面122)を含む入力デバイス1900bを示す。デバイス1900は、(上述のように)ユーザ200の視線1906(例えば、視線方向及び/又は視線深さ)を判定するためのセンサ(単数又は複数)(例えば、HMD1900A上の画像センサ(単数又は複数))を含む。いくつかの実施形態では、デバイス1900は、(限定するものではないが)アイジェスチャ、ボディジェスチャ、及び音声入力を含む、様々なタイプのユーザ入力を検出するように構成されているセンサ(単数又は複数)を含む。いくつかの実施形態では、入力デバイスは、ボタン入力(例えば、上、下、左、右、入力など)を受け取るように構成されているコントローラを含む。
【0099】
仮想環境1902は、テーブル1912に置かれている個々の写真1908a~1908eを含む写真のスタック1908を含む。ビュー1902bに見えている視線1906は、ユーザ200が写真のスタック1908を見ていることを示す。いくつかの実施形態では、視線1906を表す線は、例えば、ビュー1902aに示されるように、仮想環境1902には見えない。
【0100】
図19Aに示すように、デバイス1900は、視線1906が写真のスタック1908に向けられている間に、ユーザ入力1910a(例えば、タッチ感知面1904上のタッチジェスチャ)を受け取る。いくつかの実施形態では、ユーザ入力1910aは、タッチ感知面1904上のタッチジェスチャに加えて、又はその代わりに、アイジェスチャ、ボディジェスチャ、音声入力、コントローラ入力、又はこれらの組み合わせを含む。
【0101】
いくつかの実施形態では、ユーザ入力1910aに対する応答は、ユーザ入力1910aの特性に依存する。例えば、ユーザ入力1910aが第1のタイプの入力(例えば、タッチ感知面1904上のタップ)であるとの判定に従って、
図19Bの写真のスタック1908の周りのフォーカスインジケータ1914(例えば、太線境界)によって示されるように、写真のスタック1908全体が選択される。いくつかの実施形態では、デバイス1900は、更なる入力(例えば、終了ボタンの選択)を受け取ったことに応答して、写真のスタック1908を選択解除する。
【0102】
あるいは、ユーザ入力1910aが異なるタイプの入力(例えば、タッチ感知面1904上のタッチアンドホールド)であるとの判定に従って、写真1908a~1908eが
図19Cに示すように提示され、そのためユーザ200はスタック1908から特定の写真をより容易に選択することができる。
図19Cでは、写真1908a~1908eはテーブル1912から移動され、ユーザ200の視野の中央に直立して、広げられて示される。ユーザ入力1910aを受け取ったことに応答して、遠方左位置の写真1908aが指定される(例えば、暫定的に選択される)。写真1908aの指定は、写真1908aの周りの太線境界を含むフォーカスインジケータ1914によって示される。いくつかの実施形態では、フォーカスインジケータ1914は、指定されたオブジェクトを視覚的に特定するポインタ、カーソル、ドット、球体、ハイライト、輪郭、又はゴースト像を含む。いくつかの実施形態では、デバイス1900は、更なる入力(例えば、終了ボタンの選択又はタッチのリフトオフ)を受け取ったことに応答して、写真1908aを指定解除して写真1908をテーブル1912に戻す。
【0103】
図19B及び
図19Cに示される応答は両方とも、視線1906、より具体的には、ユーザ入力1910aの時点のユーザ200の視線位置に基づく。写真のスタック1908は、選択される(
図19B)か、又は指定されており、ユーザ200の視線位置が写真のスタック1908上に位置付けられているため、更に選択するために再提示される。ユーザ入力に対する応答が視線1906に基づくとき、デバイス1900は視線係合モードにあり、ユーザ200の視線1906はユーザ入力と係合される。視線係合モードは、実線で示されている視線1906によって
図19Aに示されている。
【0104】
いくつかの実施形態では、ユーザ入力1910aに対する応答は、視線1906が2つ以上の選択可能なオブジェクトに対応するかどうかに依存する。いくつかの実施形態では、選択されるオブジェクトについての曖昧性又は不確実性が存在する場合、デバイス1900は選択を確認しない。例えば、デバイス1900は、視線1906の位置が複数の解決不能の選択可能なオブジェクト(例えば、写真のスタック1908)に対応するとの判定に従って、写真1908a~1908eを表示して、写真1908a(
図19C)を指定する。いくつかのそのような実施形態では、視線1906の位置が単一の選択可能なオブジェクト(例えば、以下に説明する
図19Mに示されるマグ1918)のみに対応するとの判定に従って、デバイス1900は、(例えば、オブジェクトを指定する代わりに、又は選択を更に絞り込む能力を提供する代わりに)単一の選択可能なオブジェクトを選択する。
【0105】
図示した実施形態では、ユーザ入力1910aを受け取ったことに応答して、デバイス1900はまた、ユーザ入力に対する応答がユーザ200の視線1906に基づかず、視線1906が更なるユーザ入力から係合解除される、視線係合解除モードに切り替わる。視線係合解除モードは、破線で示されている視線1906によって
図19Cに示されている。
【0106】
図19Dを参照すると、写真1908aが指定される間に、デバイス1900はユーザ入力1910bを受け取る。
図19Dでは、ユーザ入力1910bは、左から右へのスワイプジェスチャ又はドラッグジェスチャを含む。いくつかの実施形態では、ユーザ入力1910bは、ユーザ入力1910aの続きである(例えば、ユーザ入力1910aは、タッチ感知面1904上に維持される接触を含み、ユーザ入力1910bは接触の移動を含む)。いくつかの実施形態では、ユーザ入力1910bは、方向ボタンの押下又は口頭コマンド(「右に移動する」)を含む。ユーザ入力1910bを受け取ったことに応答して、フォーカスインジケータ1914は、
図19Eに示すように写真1908bを指定するためのユーザ入力1910bに従って(例えば、その方向)写真1908aから移動される。
【0107】
特に、視線1906が係合解除されているため、写真1908bは、ユーザ入力1910bの時点で視線1906が写真1908a上に位置付けられているにもかかわらず、ユーザ入力1910bを受け取ったことに応答して指定される。フォーカスインジケータ1914は、視線1906の位置に対応しない位置(例えば、オブジェクト)に移動される。より一般的には、フォーカスインジケータ1914を移動して写真1908bを指定することは、視線1906に基づかない。いくつかの実施形態では、フォーカスインジケータ1914は、ユーザ入力1910bの特性(例えば、位置、方向、速度、持続時間など)のみに基づいて移動される。
【0108】
図19Eに示すように、視線1906は係合解除されたままであり、視線1906が写真1908a上に位置付けられている間に更なるユーザ入力1910cを受け取ったことに応答して、フォーカスインジケータ1914は、
図19Fに示すように、写真1908bから移動されて写真1908cを指定する。
【0109】
図19Gを参照すると、写真1908cが指定されている間に、デバイス1900はユーザ入力1910d(例えば、クリック、ダブルタップ、又は指のリフトオフ)を受け取る。ユーザ入力1910dを受け取ったことに応答して、現在指定されているオブジェクト、写真1908cが選択される。ユーザ入力1910dを受け取ったことに応答して、フォーカスインジケータ1914は写真1908c上に留まり、他の写真1908a、1908b、1908d及び1908eは、
図19Hに示すようにテーブル1912に戻される。また、ユーザ200の視線1906は、ユーザ入力1910dを受け取ったことに応答して再係合される。
【0110】
図19A~
図19Hに関して説明される技術は、写真1908が(例えば、視線位置における不確実性に起因して)テーブル1912上に積み重ねられたとき、視線のみを使用して区別することが困難である特定のオブジェクト(例えば、写真1908の1つ)をユーザ200が効率的に選択することができる、デュアルモード動作を提供する。ユーザ200は、視線1906を使用して、オブジェクトのグループを素早く指定し、次いで、視線1906から独立した入力を使用して、オブジェクトのグループをナビゲートし、特定の1つを選択することができる。
【0111】
図19Iを参照すると、写真1908cの選択を維持しながら、ユーザ200は、写真1908fと写真1908gとの間の環境1902内の壁1916上の位置に視線1906を移動する。視線1906の移動に応答して、写真1908cは、視線位置に対応する位置に移動される。いくつかの実施形態では、写真1908cは、以下に説明するように、写真1908cの配置位置が指定又は選択されるまで、
図19Iに示される位置のままであるか、または(例えば、仮想環境1902のユーザ200のビューを遮らないように)移動及び/又は視覚的に変更される。
【0112】
写真1908cが
図19Iに示すように置かれている間に、デバイス1900は、ユーザ入力1910e(例えば、タッチ感知面1904上のタッチ)を受け取る。ユーザ入力1910eを受け取ったことに応答して、写真1908cの配置位置は、ユーザ入力1910eの時点における視線1906の位置に基づいて指定される。
図19Jに示すように、ユーザ入力1910eを受け取ったことに応答して、選択された写真1908cが視線1906の位置に配置され、選択されたままであり、視線1906は係合解除される。いくつかの実施形態では、配置位置は、ポインタ、カーソル、ドット、球体、ハイライト、輪郭、又は(例えば、配置されているオブジェクトの)ゴースト像によって示される。
【0113】
いくつかの実施形態では、ユーザ入力1910eに対する応答は、ユーザ入力1910eの特性に依存する。いくつかの実施形態では、第1のタイプの入力(例えば、タッチ感知面1904上のタッチ)を含むユーザ入力1910eに従って、デバイス1900は、壁1916上の写真1908cのための暫定的な配置位置を指定し、写真1908cは選択されたままであり、また、視線1906は、上述のように係合解除され、そして、第2のタイプの入力(例えば、タッチ感知面1904上のクリック)を含むユーザ入力1910eに従って、写真1908cが壁1916上に配置され、写真1908cは選択解除され、視線1906が再係合される。したがって、異なる入力を使用することによって、ユーザ200は、暫定配置位置を指定しかつ写真1908cの選択を維持して、(後述するように)位置を更なる入力で調整するか、又は、配置位置として視線位置を受け入れて写真1908cを選択解除するか、のいずれかを選択することができる。
【0114】
図19Jに戻ると、写真1908cが選択され、最初に指定された位置に位置付けられたままである間に、デバイス1900は、下向きのスワイプジェスチャ又はドラッグジェスチャを含むユーザ入力1910fを受け取る。ユーザ入力1910fを受け取ったことに応答して、写真1908cは、
図19Kに示されるように、ユーザ入力1910fに従って、かつ視線1906の位置とは無関係に、下向きに移動される。この技術によれば、ユーザ200は、視線1906を使用して、初期配置位置を素早くかつ大まかに指定し、次いで、視線に依存しない位置に対して微調整を行うことができる。写真1908cが所望の位置になる(例えば、写真1908f及び写真1908gと位置合わせされる)と、ユーザ200は入力1910gを提供する。入力1910gに応答して、
図19Kの写真1908cの位置は、最終配置位置として選択され、視線1906は再係合される。
図19Lに示すように、ユーザ入力1910gを受け取ったことに応答して、フォーカスは写真1908cから外され(写真1908cは選択解除され)、ユーザ200が異なる位置に視線1906を移動するにつれて、写真1908cは選択された配置位置に留まる。
【0115】
ここで
図19Mを参照すると、仮想環境1902は、
図19Lに示すように構成されており、マグ1918が追加されている。
図19Mでは、視線1906がマグ1918と写真のスタック1908との間に位置付けられている間に、デバイス1900は、ユーザ入力1910h(例えば、タッチ感知面1904上のタッチ、ボタンの押下、又はボディジェスチャ)を受け取る。ユーザ入力1910hを受け取ったことに応答して、フォーカスインジケータ1920によって表される選択ポイントは、
図19Nに示すように、視線1906の位置に対応する位置で指定される。いくつかの実施形態では、フォーカスインジケータ1920は、ポインタ、カーソル、ドット、又は球体を含む。いくつかの実施形態では、視線1906は、ユーザ入力(例えば、最新の測定又は推定された位置)の前に、又はユーザ入力の後に(例えば、それに応答して)判定(例えば、測定又は推定)される。
【0116】
いくつかの実施形態では、ユーザ入力1910hに対する応答は前後関係に依存する。いくつかの実施形態では、応答は、視線位置に位置するものに基づく。例えば、デバイス1900は、オブジェクト、複数の解決不能オブジェクト、メニューアフォーダンス、又はユーザ入力1910hの時点で視線位置にオブジェクトがないことに応じて、異なる応答をすることができる。例えば、視線1906が写真のスタック1908に対応するということをデバイス1900が所定の確実性の度合いで判定する場合、フォーカスインジケータ1914は、フォーカスインジケータ1920の代わりに、
図19A~
図19Cを参照して説明したように表示される。いくつかの実施形態では、複数のオブジェクトは、オブジェクトに関連付けられたメニューオプション(例えば、以下に記載されるメニューアフォーダンス1924)を含む。
【0117】
いくつかの実施形態では、応答は、オブジェクトが現在選択されているかどうかに基づく。例えば、オブジェクトが現在選択されていない場合、デバイス1900は選択モードで動作し、選択アクションを実行する(例えば、オブジェクトを選択すること(
図19B)、選択ポイントを指定すること(
図19N)、又は選択する複数のオブジェクトを表示すること(
図19C))ができ、オブジェクトが現在選択されている場合、デバイス1900は、配置モードで動作し、配置アクションを実行することができる(例えば、オブジェクトを視線位置に配置すること、又は選択されたオブジェクトのゴースト像を指定された配置位置に表示することができる、上記の
図19H~
図19J及び下記の
図19P~
図19Qを参照)。
【0118】
図19Nに戻ると、フォーカスインジケータ1920は、ユーザ入力1910hの時点における視線1906の位置に対応する複数の選択可能なオブジェクトが存在するという判定に従って表示される。例えば、視線1906が写真のスタック1908に対応するか、又はマグ1918に対応するかを、デバイス1900が十分な確実性で判定することができない場合、フォーカスインジケータ1920は、ユーザ200が自分はどのオブジェクトを選択したいかを明確にすることができるように表示される。図示した実施形態では、ユーザ200は、マグ1918を選択することを望み、ユーザ入力1910iを提供するが、それは、フォーカスインジケータ1920をマグ1918に移動するための、タッチ感知面1904上の右から左へのスワイプジェスチャ又はドラッグジェスチャを含む。ユーザ入力1910iを受け取ったことに応答して、選択ポイントは、
図19Oのフォーカスインジケータ1920によって示されるように、マグ1918に対応する位置に移動される。選択ポイントがマグ1918上に位置付けられている間に、デバイス1900はユーザ入力1910j(例えば、クリック)を受け取る。ユーザ入力1910jを受け取ったことに応答して、選択ポイントが確認され、選択ポイントの現在位置に対応するオブジェクトが選択される。
図19Pに示すように、マグ1918は、マグ1918の周囲のフォーカスインジケータ1915(例えば、ハイライト)によって示されるように選択され、視線1906は再係合される。
【0119】
図19Pに示すように、マグ1918が選択されたままである間に、ユーザ200は、視線1906をテーブル1922に移動する。図示した実施形態では、マグ1918は同じ位置で表示されたままである(例えば、それは視線1906が係合されても、視線1906と共に移動しない)。
【0120】
視線1906が
図19Pに示すように位置付けられている間に、デバイス1900はユーザ入力1910kを受け取る。ユーザ入力1910kを受け取ったことに応答して、配置ポイントは、視線1906に対応する位置でフォーカスインジケータ1920によって指定され、視線1906は、
図19Qに示すように係合解除される。いくつかの実施形態では、フォーカスインジケータ1920は、ポインタ、カーソル、ドット、球体、ハイライト、輪郭、又は選択されたオブジェクト(例えば、マグ1918)のゴースト像を含む。
【0121】
いくつかの実施形態では、ユーザ入力1910kに対する応答は、マグ1918が選択されている間に、ユーザ入力1910kの時点における視線1906の位置に対応する2つ以上の配置位置が存在するかどうかに依存する。
図19Pでは、視線1906の位置が複数の可能な選択可能な配置位置に対応するとの判定に従って、配置ポイントが指定される(例えば、デバイス1900は、視線位置又はその近くに様々な可能な配置位置が存在する場合には、選択されたオブジェクトに対する配置位置を確認しない)。いくつかの実施形態では、視線1906の位置が単一の選択可能な配置位置のみに対応するとの判定に従って、かつユーザ入力1910kを受け取ったことに応答して、デバイス1900は、選択されたオブジェクトを視線位置に配置し、オブジェクトを選択解除し、視線1906を再係合する。
【0122】
図19Qを参照すると、配置ポイントが指定されている間に、デバイス1900は、タッチ感知面1904上で、対角線のスワイプジェスチャ又は上向き及び右へのドラッグジェスチャを含むユーザ入力1910lを受け取る。ユーザ入力1910lを受け取ったことに応答して、
図19Rに示すとおり、配置ポイントは、テーブル1922の中心に向かって移動するフォーカスインジケータ1920によって示されるように、ユーザ入力1910lに従って移動される。配置ポイントはユーザ入力1910mを受け取ったことに応答して確認され、選択されたオブジェクト(例えば、マグ1918)は、
図19Sに示すように、テーブル1922上の確認された配置ポイントに配置される。視線1906はまた、ユーザ入力1910mを受け取ったことに応答して再係合される。
【0123】
ここで
図19Tを参照すると、仮想環境1902は、
図19Mに示すように構成されており、メニューアフォーダンス1924の近傍のオブジェクト(例えば、テーブル1912、写真1908及びマグ1918)に関連付けられているメニューアフォーダンス1924が追加されている。
図19Tでは、視線1906がメニューアフォーダンス1924上に位置付けられている間に、デバイス1900は、ユーザ入力1910n(例えば、タッチ)を受け取る。ユーザ入力1910nを受け取ったことに応答して、メニューアフォーダンス1924が選択され、
図19Uに示すように、視線1906はユーザ入力から係合解除される。
【0124】
メニューアフォーダンス1924の選択により、メニューオプション1926a~1926dが表示され、これは、視線1906から独立した入力によって循環され、選択され得る。
図19Uに示すように、メニューオプション1926a(テーブルを選択する)は、メニューアフォーダンス1924の選択に応答して、フォーカスインジケータ1928(例えば、太線境界)で最初に指定される。
【0125】
図19Vに示すように、デバイス1900は、下向きのスワイプジェスチャ又はドラッグジェスチャを含むユーザ入力1910oを受け取る。ユーザ入力1910oを受け取ったことに応答して、フォーカスインジケータ1928は、
図19Wに示すように、視線1906の位置に関係なく、ユーザ入力1910oに従ってメニューオプション1926a(テーブルを選択する)からメニューオプション1926b(写真を選択する)へと下に移動する。
【0126】
図19Wでは、デバイス1900は、追加の下向きの移動を含むユーザ入力1910pを受け取る。ユーザ入力1910pを受け取ったことに応答して、フォーカスインジケータ1928は、
図19Xに示すように、視線1906の位置に関係なく、ユーザ入力1910pに従ってメニューオプション1926b(写真を選択する)からメニューオプション1926c(マグを選択する)へと下に移動する。
【0127】
図19Xでは、メニューオプション1926Cが指定されている間に、デバイス1900はユーザ入力1910qを受け取る。ユーザ入力1910qを受け取ったことに応答して、
図19Yに示すように、メニューオプション1926cに対応するオブジェクトが選択される。
図19Yでは、ユーザ入力1910rを受け取ったことに応答して、マグ1918が選択され、ユーザ200の視野の中心に移動される。
【0128】
更に、
図19A~
図19Yを参照して上述した実施形態は仮想環境に関連するが、同様の技術を、複合現実環境を含む他のCGR環境に適用することができる。
【0129】
ここで
図20を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス2000のフローチャートが示されている。プロセス2000は、ユーザデバイス(例えば、100a、300、900、又は1900)を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス2000は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、2つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス2000の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス2000は、仮想現実環境及び複合現実環境を含む、CGR環境に適用することができ、仮想オブジェクト、物理的オブジェクト、並びに仮想オブジェクト及び物理的オブジェクトに対応する表現(例えば、アフォーダンス)に適用することができる。プロセス2000のブロックは、
図20では特定の順序で示されているが、これらのブロックは他の順序で実行することができる。更に、プロセス2000の1つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック(単数又は複数)と組み合わされることができ、及び/又は追加のブロックを実行することができる。
【0130】
ブロック2002では、デバイスは、第1の時点で第1のユーザ入力(例えば、タッチ感知面上の接触、ボタンの押下、又はボディジェスチャ)を受け取る。ブロック2004において、第1のユーザ入力を受け取ったことに応答して、デバイスは、第1の時点における視線位置に基づいて第1の位置で選択ポイントを指定し、第1の位置は、第1の時点における視線位置に対応する。いくつかの実施形態では、第1の時点における視線位置は、第1のユーザ入力(例えば、最新の測定又は推定された位置)の前に、又は第1のユーザ入力の後に(例えば、それに応答して)判定(例えば、測定又は推定)される。
【0131】
いくつかの実施形態では、フォーカスインジケータは、視線位置に表示される。いくつかの実施形態では、フォーカスインジケータは、ポインタ、カーソル、ドット、球体、ハイライト、輪郭、又は(例えば、指定又は選択されたオブジェクト(単数又は複数)の)ゴースト像を含む。いくつかの実施形態では、フォーカスインジケータは、視線位置にあるオブジェクトに対応する選択ポイントを指定する。いくつかの実施形態では、デバイスは、第1のユーザ入力に応答してユーザ入力から視線を係合解除する。
【0132】
いくつかの実施形態では、第1の入力に対する応答は前後関係に依存している(例えば、応答は、視線位置に位置するもの(例えば、オブジェクト、複数の解決不能オブジェクト、メニューアフォーダンス、又はオブジェクトなし)か、又はオブジェクトが現在選択されているかどうかに基づく)。例えば、オブジェクトが現在選択されていない場合、デバイスは選択モードで動作し、選択アクションを実行し(例えば、選択のために複数のオブジェクトが表示され)、一方、オブジェクトが現在選択されている場合は、デバイスは配置モードで動作し、配置アクションを実行する(例えば、選択されたオブジェクトのゴースト像が暫定配置位置で表示される)。
【0133】
いくつかの実施形態では、選択ポイントは、第1の位置が複数の選択可能なオブジェクトに対応するとの判定に従って、第1の位置で指定される。いくつかの実施形態では、複数のオブジェクトは、ユーザの視線に基づいて解決することができない、近接して離間配置されたオブジェクトのグループである。いくつかの実施形態では、複数のオブジェクトは、視線位置におけるオブジェクト(例えば、メニューアフォーダンス)に関連付けられたメニューオプションである。例えば、選択されるオブジェクトについての曖昧性又は不確実性があると判定された場合、デバイスは、オブジェクトの選択を確認するのではなく、選択点を暫定的に指定する。いくつかのそのような実施形態では、第1のユーザ入力を受け取ったことに応答して、第1の位置が単一の選択可能なオブジェクトのみに対応するとの判定に従って、デバイスは、(例えば、第1の位置で選択ポイントを指定する代わりに)単一の選択可能なオブジェクトを選択する。
【0134】
いくつかの実施形態では、選択ポイントは、第1のユーザ入力が第1のタイプの入力(例えば、タッチ感知面上のタッチ、ボタンの押下、又はボディジェスチャ)であるとの判定に従って、第1の位置で指定される。いくつかのそのような実施形態では、第1のユーザ入力を受け取ったことに応答して、かつ第1のユーザ入力がタッチ感知面上の第1のタイプの入力とは異なる第2のタイプの入力(例えば、タッチ感知面上の(タッチとは対照的な)クリック、異なるボタンの押下、または異なるボディジェスチャ)であるとの判定に従って、デバイスは、第1の位置で選択ポイントを確認する。
【0135】
選択ポイントの指定を維持しながら、デバイスは、ブロック2006、2008、2010及び2012の動作を実行する。ブロック2006において、デバイスは、第2のユーザ入力(例えば、タッチ感知面上の接触の移動、又は方向ボタンの押下)を受け取る。ブロック2008において、第2のユーザ入力を受け取ったことに応答して、デバイスは、選択ポイントを第1の位置とは異なる第2の位置に移動し、選択ポイントを第2の位置に移動することは、視線位置に基づかない。例えば、デバイスは、フォーカスインジケータを異なるオブジェクト、選択ポイント、又は配置ポイントに移動する。いくつかの実施形態では、選択ポイントは、第2の入力の特性(例えば、位置、方向、速度、持続時間など)のみに基づいて移動される。いくつかの実施形態では、選択ポイントの移動は、視線位置から独立している(視線位置に基づかない)。いくつかの実施形態では、第2の位置は、第2のユーザ入力に関連付けられた視線位置とは異なる。
【0136】
いくつかの実施形態では、第1のユーザ入力は、デバイスが第1のモード(例えば、ユーザ入力に対する応答がユーザの視線に基づく視線係合モード)にある間に受け取られ、選択ポイントは、デバイスが第1のモードにあることに従って第1の位置で指定される。いくつかのそのような実施形態では、第1のユーザ入力を受け取ったことに応答して、デバイスは、第1のモードから第2のモード(例えば、視線が更なる入力から係合解除されるようにユーザ入力に対する応答がユーザの視線に基づかない、視線係合解除モード)に切り替わる。いくつかのそのような実施形態では、第2の入力は、デバイスが第2のモードにある間に受け取られ、選択ポイントは、デバイスが第2のモードにあることに従って第2の位置に移動される。
【0137】
ブロック2010において、選択ポイントが第2の位置にある間に、デバイスは、第3のユーザ入力(例えば、クリック、ダブルタップ、又はタッチ感知面からの接触のリフトオフ)を受け取る。ブロック2012において、第3のユーザ入力を受け取ったことに応答して、デバイスは、第2の位置で選択ポイントを確認する。いくつかの実施形態では、デバイスは、確認すると、入力を視線と再係合する(例えば、視線係合解除モードから視線係合モードに切り替える)。いくつかの実施形態では、第3の入力は、デバイスが第2のモード(視線係合解除モード)にある間に受け取られ、選択ポイントは、デバイスが第2のモードにあることに従って第2の位置で確認される。
【0138】
いくつかの実施形態では、選択ポイントを確認することにより、選択ポイントの位置(例えば、第2の位置)に対応するオブジェクトを選択する。例えば、第3のユーザ入力を受け取ったことに応答して、デバイスは、第2の位置に対応するオブジェクトを選択する。
【0139】
いくつかの実施形態では、選択ポイントを確認することにより、選択ポイントの位置にオブジェクトを配置する。例えば、第1のユーザ入力を受け取る前に、デバイスは、第2の位置とは異なる第3の位置でオブジェクトを選択し、第3のユーザ入力を受け取ったことに応答して、オブジェクトを第2の位置に配置する。いくつかの実施形態では、第1のユーザ入力を受け取る前に、デバイスは、第2の位置とは異なる第3の位置でオブジェクトを選択し、選択ポイントは、第1の位置が複数の選択可能な配置位置に対応するとの判定に従って、第1の位置で指定される(例えば、選択される位置についての曖昧性又は不確実性がある場合、デバイスは配置位置を確認しない)。いくつかのそのような実施形態では、第1のユーザ入力を受け取ったことに応答して、かつ第1の位置が単一の選択可能な配置位置のみに対応するとの判定に従って、デバイスは、単一の選択可能な配置位置にオブジェクトを配置する(例えば、デバイスは、1つのオプションしか存在しない場合には、配置位置を暫定的に指定するのをバイパスする)。
【0140】
いくつかの実施形態では、第1のユーザ入力は、第2のユーザ入力又は第3のユーザ入力と同じタイプの入力である。いくつかの実施形態では、シングルタップ又はボタンの押下を使用して、ポイント又はオブジェクト(単数又は複数)を指定し、別のシングルタップ又は同じボタンの押下を使用して、指定されたポイント又はオブジェクト(単数又は複数)を確認する。いくつかの実施形態では、デバイスは、デバイスが動作しているモード(例えば、選択モード又は配置モード)に基づいて、どのアクションを取るかを決定する。
【0141】
ここで
図21を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス2100のフローチャートが示されている。プロセス2100は、ユーザデバイス(例えば、100a、300、900、又は1900)を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス2100は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、2つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス2100の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス2100は、仮想現実環境及び複合現実環境を含む、CGR環境に適用することができ、仮想オブジェクト、物理的オブジェクト、並びに仮想オブジェクト及び物理的オブジェクトに対応する表現(例えば、アフォーダンス)に適用することができる。プロセス2100のブロックは、
図21に特定の順序で示されているが、これらのブロックは他の順序で実行することができる。更に、プロセス2100の1つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック(単数又は複数)と組み合わされることができ、及び/又は追加のブロックを実行することができる。
【0142】
ブロック2102において、デバイスは、第1の時点で第1のユーザ入力を受け取る。ブロック2104において、第1のユーザ入力を受け取ったことに応答して、デバイスは、視線位置に基づいて、複数のオブジェクトのうちの第1のオブジェクトを指定する(例えば、複数のオブジェクトの位置が第1の時点における視線位置に対応する)。いくつかの実施形態では、フォーカスインジケータは第1のオブジェクトを指定する。いくつかの実施形態では、複数のオブジェクトはハイライト若しくは拡大される、又は、視線位置におけるメニューアフォーダンスに対応するメニューオプションが表示される。
【0143】
いくつかの実施形態では、第1のオブジェクトは、第1の時点における視線位置が、2つ以上のオブジェクト(例えば、複数のオブジェクト)への視線に対応するとの判定に従って指定される。例えば、選択されるオブジェクトについての曖昧性又は不確実性が存在する場合、デバイスは選択を確認しない。いくつかのそのような実施形態では、第1のユーザ入力を受け取ったことに応答して、かつ第1の時点における視線位置が単一の選択可能なオブジェクトのみへの視線に対応するとの判定に従って、デバイスは単一の選択可能なオブジェクトを選択する。
【0144】
いくつかの実施形態では、第1のユーザ入力は、デバイスが第1のモード(例えば、ユーザ入力に対する応答がユーザの視線に基づく視線係合モード)にある間に受け取られ、第1のオブジェクトは、電子デバイスが第1のモードにあることに従って指定される。いくつかのそのような実施形態では、第1のユーザ入力を受け取ったことに応答して、デバイスは、第1のモードから第2のモードに切り替わる(例えば、視線が更なる入力から係合解除されるようにユーザ入力に対する応答がユーザの視線に基づかない、視線係合解除モードに切り替わる)。いくつかのそのような実施形態では、第2の入力は、電子デバイスが第2のモードにある間に受け取られ、第2のオブジェクトは、電子デバイスが第2のモードにあることに従って指定される。
【0145】
いくつかの実施形態では、第1のオブジェクトは、第1のユーザ入力が第1のタイプの入力(例えば、タッチ感知面上のタッチ、ボタンの押下、又はボディジェスチャ)であるとの判定に従って指定される。いくつかのそのような実施形態では、第1のユーザ入力を受け取ったことに応答して、かつ第1のユーザ入力がタッチ感知面上の第1のタイプの入力とは異なる第2のタイプの入力(例えば、タッチ感知面上の(タッチとは対照的な)クリック、異なるボタンの押下、または異なるボディジェスチャ)であるとの判定に従って、デバイスは、複数のオブジェクトを選択する。
【0146】
第1のオブジェクトの指定を維持しながら、デバイスは、ブロック2106及び2108の動作を実行する。ブロック2106において、デバイスは、第2のユーザ入力を受け取る。ブロック2108において、第2のユーザ入力を受け取ったことに応答して、デバイスは、第1のオブジェクトの指定を停止し、複数のオブジェクトのうちの第2のオブジェクトを指定し(例えば、フォーカスインジケータを異なるオブジェクトに移動し)、第2のオブジェクトを指定することは、視線位置に基づかない。いくつかの実施形態では、第2のオブジェクトは、第2のユーザ入力の特性(例えば、位置、方向、速度、持続時間など)のみに基づいて選択される。いくつかの実施形態では、第2のユーザ入力は第2の時点におけるものであり、第2の時点における第2のオブジェクトの位置は、第2の時点における視線位置とは異なる。
【0147】
第2のオブジェクトの指定を維持しながら、デバイスは、ブロック2110及び2112の動作を実行する。ブロック2110において、デバイスは、第3のユーザ入力を受け取る。ブロック2112において、第3のユーザ入力を受け取ったことに応答して、デバイスは第2のオブジェクトを選択する。
【0148】
いくつかの実施形態では、第2のオブジェクトを選択した後、デバイスは、第2の時点で第4のユーザ入力を受け取る。第4のユーザ入力を受け取ったことに応答して、かつ第4のユーザ入力が、第1のタイプの入力であるとの判定に従って、デバイスは、第2の時点で第2のオブジェクトを視線位置に配置する。第4のユーザ入力を受け取ったことに応答して、かつ第4のユーザ入力が、第1のタイプの入力とは異なる第2のタイプの入力であるとの判定に従って、デバイスは、第2の時点における視線位置に対応する配置ポイントを指定する。いくつかのそのような実施形態では、配置位置の指定を維持しながら、デバイスは第5のユーザ入力を受け取り、第5のユーザ入力を受け取ったことに応答して、第2のオブジェクトを配置ポイントの現在位置に配置する。
【0149】
いくつかの実施形態では、第1のユーザ入力は、第2のユーザ入力又は第3のユーザ入力と同じタイプの入力である。いくつかの実施形態では、シングルタップ又はボタンの押下を使用して、第1のオブジェクトを指定し、別のシングルタップ又は同じボタンの押下を使用して、第2のオブジェクトを選択する。
【0150】
ここで
図22を参照すると、視線を使用して電子デバイスと対話するための例示的なプロセス2200のフローチャートが示されている。プロセス2200は、ユーザデバイス(例えば、100a、300、900、又は1900)を使用して実行することができる。ユーザデバイスは、例えば、ハンドヘルドモバイルデバイス、ヘッドマウントデバイス、又はヘッドアップデバイスである。いくつかの実施形態では、プロセス2200は、ベースデバイスなどの別のデバイスに通信可能に結合されたユーザデバイスなどの、2つ以上の電子デバイスを使用して実行される。これらの実施形態では、プロセス2200の動作は、ユーザデバイスと他のデバイスとの間で任意の方法で分散される。更に、ユーザデバイスのディスプレイは、透明又は不透明であってもよい。プロセス2200は、仮想現実環境及び複合現実環境を含む、CGR環境に適用することができ、仮想オブジェクト、物理的オブジェクト、並びに仮想オブジェクト及び物理的オブジェクトに対応する表現(例えば、アフォーダンス)に適用することができる。プロセス2200のブロックは、
図22に特定の順序で示されているが、これらのブロックは、他の順序で実行することができる。更に、プロセス2200の1つ以上のブロックは、部分的に実行され、任意選択的に実行され、別のブロック(単数又は複数)と組み合わされることができ、及び/又は追加のブロックを実行することができる。
【0151】
ブロック2202において、デバイスは(例えば、プロセス2100に記載されているように)オブジェクトを選択する。オブジェクトの選択を維持しながら、デバイスは、ブロック2204、2206、2208、2210、2212及び2214の動作を実行する。ブロック2204において、デバイスは、第1の時点で第1のユーザ入力を受け取る。ブロック2206において、第1のユーザ入力を受け取ったことに応答して、デバイスは、第1の時点における視線位置に基づいて第1の位置で配置ポイントを指定し、第1の位置は、第1の時点における視線位置に対応する。
【0152】
いくつかの実施形態では、配置ポイントは、第1のユーザ入力が第1のタイプの入力(例えば、タッチ感知面上のタッチ、ボタンの押下、又はボディジェスチャ)であるとの判定に従って、第1の位置で指定される。いくつかのそのような実施形態では、第1のユーザ入力を受け取ったことに応答して、かつ第1のユーザ入力がタッチ感知面上の第1のタイプの入力とは異なる第2のタイプの入力(例えば、タッチ感知面上の(タッチとは対照的な)クリック、異なるボタンの押下、または異なるボディジェスチャ)であるとの判定に従って、デバイスは、選択されたオブジェクトを第1の位置に配置する。
【0153】
いくつかの実施形態では、配置ポイントは、第1の位置が複数の選択可能な配置位置に対応するとの判定に従って、第1の位置で指定される(例えば、配置のために選択される位置についての曖昧性又は不確実性があるときに、デバイスは配置位置を確認しない)。いくつかのそのような実施形態では、第1のユーザ入力を受け取ったことに応答して、かつ第1の位置が単一の選択可能な配置位置のみに対応するとの判定に従って、デバイスは、選択されたオブジェクトを単一の選択可能な配置位置に配置する。
【0154】
配置ポイントの指定を維持しながら、デバイスは、ブロック2208、2210、2212及び2214の動作を実行する。ブロック2208において、デバイスは、第2のユーザ入力を受け取る。ブロック2210において、第2のユーザ入力を受け取ったことに応答して、デバイスは、配置ポイントを第1の位置とは異なる第2の位置に移動し、配置ポイントを第2の位置に移動することは、視線位置(例えば、第2のユーザ入力の時点における視線位置)に基づかない。いくつかの実施形態では、第2の位置は、第2のユーザ入力に関連付けられた視線位置とは異なる。
【0155】
いくつかの実施形態では、第1のユーザ入力は、電子デバイスが第1のモード(例えば、ユーザ入力に対する応答が視線位置に基づく視線係合モード)にある間に受け取られ、配置ポイントは、電子デバイスが第1のモードにあることに従って第1の位置で指定される。いくつかのそのような実施形態では、第1のユーザ入力を受け取ったことに応答して、デバイスは、第1のモードから第2のモードに切り替わる(例えば、視線が第1の入力に応答して更なる入力から係合解除されるようにユーザ入力に対する応答がユーザの視線に基づかない、視線係合解除モードへの切り替え)。いくつかのそのような実施形態では、第2のユーザ入力は、電子デバイスが第2のモードにある間に受け取られ、配置ポイントは、電子デバイスが第2のモードにあることに従って第2の位置に移動される。
【0156】
ブロック2212において、デバイスは、第3のユーザ入力を受け取る。ブロック2214において、第3のユーザ入力を受け取ったことに応答して、デバイスは、選択されたオブジェクトを第2の位置に配置し、任意選択的に、オブジェクトを選択解除する。いくつかの実施形態では、第1のユーザ入力は、第2のユーザ入力又は第3のユーザ入力と同じタイプの入力である。いくつかの実施形態では、シングルタップ又はボタンの押下を使用して、第1の位置で配置ポイントを指定し、別のシングルタップ又は同じボタンの押下を使用して、選択されたオブジェクトを第2の位置に配置する。
【0157】
上述のプロセス2000、2100及び/又は2200の機能を実行するための実行可能命令は、任意選択的に、一時的若しくは非一時的コンピュータ可読記憶媒体(例えば、メモリ(単数又は複数)106)又は1つ以上のプロセッサ(例えば、プロセッサ(単数又は複数)102)によって実行されるように構成されている他のコンピュータプログラム製品に含まれる。プロセス2000におけるいくつかの動作は、任意選択的に、プロセス2100及び/又はプロセス2200に含まれ(例えば、ブロック2004及び/又はブロック2008は、ブロック2104及び/又はブロック2108にそれぞれ含まれ)、プロセス2100におけるいくつかの動作は、任意選択的に、プロセス2000及び/又はプロセス2200に含まれ(例えば、ブロック2202はブロック2112を含み)、プロセス2200におけるいくつかの動作は、任意選択的に、プロセス2000及び/又はプロセス2100に含まれる(例えば、ブロック2112はブロック2202を含む)。更に、プロセス2000、2100及び/又は2200におけるいくつかの動作(例えば、ブロック2004、2008、2104、2108、2206及び/又は2210)は、任意選択的に、プロセス1600、1700及び/又は1800に含まれ、プロセス1600、1700及び/又は1800におけるいくつかの動作(例えば、ブロック1604、1606、1704、1706、1804及び/又は1806)は、任意選択的に、プロセス2000、2100及び/又は2200に含まれる。
【0158】
上述のように、本技術の一態様は、ユーザの視線に関するデータの使用を伴う。視線情報は、本技術では、ユーザの利益に使用することができる。例えば、ユーザの視線を使用して、コンピュータ生成現実環境の特定の部分に対するユーザのフォーカスを推測し、ユーザが、視野のその部分において特定のオブジェクトと対話することを可能にすることができる。しかしながら、ユーザによっては、視線情報を機密情報である、又は個人的性質に関するものであると考える場合がある可能性がある。
【0159】
CGRシステムによって検出された視線情報を収集、使用、転送、記憶、又は他の方法で影響を与えるエンティティは、十分に確立されたプライバシーポリシー及び/又はプライバシー慣行に従うべきである。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実装し、一貫して使用するべきである。そのようなポリシーは、ユーザによって容易にアクセス可能とするべきであり、データの収集及び/又は使用が変化するにつれて更新されるべきである。ユーザからの視線情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更には、そのような収集/共有は、ユーザに告知して同意を得た後に実施されるべきである。更には、そのようなエンティティは、そのような視線情報データへのアクセスを保護して安全化し、その視線情報データへのアクセスを有する他者(もしいるなら)が、それらのプライバシーポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。更には、ポリシー及び慣行は、収集及び/又はアクセスされる具体的な視線情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含めた、適用可能な法令及び規格に適合されるべきである。
【0160】
本開示はまた、視線情報の使用又は支援情報へのアクセスを、ユーザが選択的に阻止する実施形態も想到する。本技術を実装しているエンティティは、サービスの登録中又はその後のいつでも、ユーザが視線情報の収集への参加の「オプトイン」又は「オプトアウト」を選択することを可能にしながら、特定の機能を提供することができるかどうかを判定することができる。「オプトイン」及び「オプトアウト」の選択肢を提供することに加えて、本開示は、視線情報のアクセス又は使用に関する通知を提供することを想到する。例えば、ユーザは、自分の個人的な視線データがアクセスされるということを、アプリをダウンロードする際に通知されてもよい。ユーザはまた、いくつかの視線情報が特定の機能を提供するために使用されている理由に関して、平明に教示されてもよい。例えば、ユーザが見ている場所を判定するために視線情報が使用される仮想現実システムでは、仮想環境のどの視野をシステムがレンダリングすべきかを判定するために、自分の視線情報が使用されていることをユーザに知らせることができ、それによって、ユーザは、いつ視線情報の使用を可能にするべきかについて情報に基づいた決定を行うことが可能になる。
【0161】
それにもかかわらず、本開示の意図は、視線情報データを、非意図的若しくは非認可アクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなった時点で削除することによって、危険性を最小限に抑えることができる。更には、適用可能な場合、ユーザのプライバシーを保護するために、データの非特定化を使用することができる。非特定化は、適切な場合には、特定の識別子(例えば、ユーザ名、デバイス名など)を除去することによって、記憶されたデータの量又は特異性を制御することによって(例えば、ユーザが座標系において見ている数学的座標を収集するが、どのコンテンツがその座標で見られているかに関する情報を収集することを避ける)、どのようにデータが記憶されるか(例えば、ローカルに)を制御することによって、及び/又は他の方法によって、促進することができる。
【0162】
特定の実施形態の前述の説明を、例示と説明のために提示してきた。これらは、網羅的であることも、又は特許請求の範囲を開示される厳密な形態に限定することも意図するものではなく、上記の教示に照らして多くの変更及び変形が可能であることを理解されたい。
【手続補正書】
【提出日】2023-10-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つ以上の入力デバイスと通信するように構成された電子デバイスにおいて、
オブジェクトを選択することと、
前記オブジェクトの選択を維持しながら、
第1の時点で第1のユーザ入力を受け取ることと、
前記第1のユーザ入力を受け取ったことに応答して、前記第1の時点における視線位置に基づいて第1の位置で配置ポイントを指定することであって、前記第1の位置は、前記第1の時点における前記視線位置に対応する、指定することと、
前記配置ポイントの指定を維持しながら、
第2のユーザ入力を受け取ることと、
前記第2のユーザ入力を受け取ったことに応答して、前記配置ポイントを前記第1の位置とは異なる第2の位置に移動することであって、前記配置ポイントを前記第2の位置に移動することは前記視線位置に基づいていない、移動することと、
第3のユーザ入力を受け取ることと、
前記第3のユーザ入力を受け取ったことに応答して、前記選択されたオブジェクトを前記第2の位置に配置することと、
を含む方法。
【請求項2】
前記配置ポイントは、前記第1の位置が複数の選択可能な配置位置に対応するとの判定に従って、前記第1の位置で指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、
前記第1の位置が単一の選択可能な配置位置に対応するとの判定に従って、前記選択されたオブジェクトを前記単一の選択可能な配置位置に配置すること、
を更に含む、請求項1に記載の方法。
【請求項3】
電子デバイスが第1のモードにある間に前記第1のユーザ入力が受け取られ、前記配置ポイントは、前記電子デバイスが前記第1のモードにあることに従って前記第1の位置で指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、前記電子デバイスを前記第1のモードから第2のモードに切り替えることであって、前記電子デバイスが前記第2のモードにある間に前記第2の入力が受け取られ、前記電子デバイスが前記第2のモードにあることに従って、前記配置ポイントが前記第2の位置に移動される、切り替えること、
を更に含む、請求項1または2に記載の方法。
【請求項4】
前記第1のユーザ入力は、前記第2のユーザ入力又は前記第3のユーザ入力と同じタイプの入力である、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記第2の位置は、前記第2のユーザ入力に関連付けられた視線位置とは異なる、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記配置ポイントは、前記第1のユーザ入力が第1のタイプの入力であるとの判定に従って、前記第1の位置で指定され、前記方法は、
前記第1のユーザ入力を受け取ったことに応答して、
前記第1のユーザ入力が前記第1のタイプの入力とは異なる第2のタイプの入力であるとの判定に従って、前記選択されたオブジェクトを前記第1の位置に配置すること、
を更に含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
コンピュータに、請求項1から6のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【請求項8】
電子デバイスであって、
請求項7に記載のコンピュータプログラムを記憶するメモリと、
前記メモリに記憶された前記コンピュータプログラムを実行可能な1つ以上のプロセッサと、
を備え、
前記電子デバイスは、1つ以上の入力デバイスと通信するように構成されている、電子デバイス。
【請求項9】
1つ以上の入力デバイスと通信するように構成された電子デバイスであって、
請求項1から6のいずれか一項に記載の方法を実行するための手段を備える、電子デバイス。
【外国語明細書】