(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023144096
(43)【公開日】2023-10-06
(54)【発明の名称】ウェアラブルシステムのためのマルチモード実行およびテキスト編集
(51)【国際特許分類】
G06F 3/01 20060101AFI20230928BHJP
G06F 3/04842 20220101ALI20230928BHJP
G06F 3/16 20060101ALI20230928BHJP
G06F 3/038 20130101ALI20230928BHJP
【FI】
G06F3/01 510
G06F3/01 570
G06F3/04842
G06F3/16 650
G06F3/16 620
G06F3/16 610
G06F3/038 310A
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023133400
(22)【出願日】2023-08-18
(62)【分割の表示】P 2022104508の分割
【原出願日】2018-04-17
(31)【優先権主張番号】62/487,364
(32)【優先日】2017-04-19
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/609,647
(32)【優先日】2017-12-22
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】ジェイムズ エム. パウダーリー
(72)【発明者】
【氏名】サバンナ ナイルズ
(72)【発明者】
【氏名】ジェニファー エム.アール. ディバイン
(72)【発明者】
【氏名】アダム シー. カールソン
(72)【発明者】
【氏名】ジェフリー ソマーズ
(72)【発明者】
【氏名】プラヴィーン バブ ジェイディー
(72)【発明者】
【氏名】アジョイ サヴィオ フェルナンデス
(72)【発明者】
【氏名】アンソニー ロバート シーダー
(57)【要約】
【課題】好適なウェアラブルシステムのためのマルチモード実行およびテキスト編集を提供すること。
【解決手段】ウェアラブルシステムおよび方法の実施例は、複数の入力(例えば、ジェスチャ、頭部姿勢、眼視線、音声、および/または環境要因(例えば、場所))を使用して、実行されるべきコマンドおよび作用されるべき3次元(3D)環境内のオブジェクトを決定することができる。複数の入力はまた、例えば、テキストを構成、選択、または編集する等、ユーザがテキストと相互作用することを可能にするために、ウェアラブルシステムによって使用されることができる。
【選択図】
図14
【特許請求の範囲】
【請求項1】
システムであって、
3次元(3D)仮想コンテンツをユーザに提示するように構成されるウェアラブルシステムの頭部搭載型ディスプレイ(HMD)と、
2つ以上のユーザ入力コンポーネントであって、前記2つ以上のユーザ入力コンポーネントは、少なくとも、音を捕捉するように構成されるオーディオ感知デバイスと、眼視線方向を検出するように構成される眼視線追跡デバイスと、前記ユーザの手のジェスチャを示すデータを入手するように構成されるジェスチャ追跡デバイスとを備える、2つ以上のユーザ入力コンポーネントと、
頭部搭載型ディスプレイおよび前記2つ以上のユーザ入力コンポーネントに通信可能に結合されるハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
前記オーディオ感知デバイスから、前記ユーザによって発話された1つ以上の単語の発声をエンコードする発話データを受信することと、
前記受信された発話データに少なくとも基づいて、前記ユーザによって発話された前記1つ以上の単語に関する書き起こし記録を取得することと、
前記頭部搭載型ディスプレイを制御して、前記取得された書き起こし記録を表すテキスト文字の文字列を前記ユーザに提示することと、
前記眼視線追跡デバイスから眼視線方向を受信することと、
前記ジェスチャ追跡デバイスから手ジェスチャデータを受信することと、
前記眼視線追跡デバイスから受信された前記眼視線方向および前記ジェスチャ追跡デバイスから受信された前記手ジェスチャデータに少なくとも基づいて、前記テキスト文字の特定のサブセットを固視している間において前記ユーザが1つ以上の所定の手のジェスチャを行なったことを決定することと、
前記テキスト文字の前記特定のサブセットを固視している間において前記ユーザが前記1つ以上の所定の手のジェスチャを行なったことの決定に応答して、前記眼視線方向および前記手ジェスチャデータが、編集するための前記テキスト文字の前記特定のサブセットを選択するコマンドを表すことを決定することと、
前記2つ以上のユーザ入力コンポーネントのいずれかからの続いて受信されるデータが、前記テキスト文字の前記特定のサブセットを特定の様式で修正するコマンドを表すかどうかを決定することと
を行うようにプログラムされる、システム。
【請求項2】
前記ハードウェアプロセッサはさらに、
前記眼視線追跡デバイスから受信されたデータに少なくとも基づいて、前記ユーザが閾値時間周期より長くにわたって前記テキスト文字の前記特定のサブセットを固視していることを決定することと、
前記ユーザが閾値時間周期より長くにわたって前記テキスト文字の前記特定のサブセットを固視していることの決定に応答して、他のユーザ入力コンポーネントから受信された前記ユーザ入力データが、編集するための前記テキスト文字の前記特定のサブセットを選択する前記コマンドを表すことを決定することと
を行うようにプログラムされる、請求項1に記載のシステム。
【請求項3】
前記ハードウェアプロセッサはさらに、
前記オーディオ感知デバイスから、前記ユーザによって発話された語句の発声をエンコードする付加的発話データを受信することと、
前記眼視線追跡デバイスから受信されたデータおよび前記オーディオ感知デバイスから受信された前記付加的発話データに少なくとも基づいて、前記テキスト文字の前記特定のサブセットを固視している間において前記ユーザが1つ以上の所定のホットワードを発声したことを決定することと、
前記テキスト文字の前記特定のサブセットを固視している間において前記ユーザが1つ以上の所定のホットワードを発声したことの決定に応答して、眼視線追跡デバイスから受信された前記データおよび前記オーディオ感知デバイスから受信された前記付加的発話データが、編集するための前記テキスト文字の前記特定のサブセットを選択する前記コマンドを表すことを決定することと
を行うようにプログラムされる、請求項1に記載のシステム。
【請求項4】
前記2つ以上のユーザ入力コンポーネントはさらに、それとの物理的相互作用を示すデータを入手するように構成されるタッチセンサ式デバイスを備え、
前記ハードウェアプロセッサはさらに、
前記眼視線追跡デバイスから、前記眼視線方向を示すデータを受信することと、
前記タッチセンサ式デバイスから、前記タッチセンサ式デバイスとの前記物理的相互作用を示すデータを受信することと、
前記眼視線追跡デバイスから受信された前記データおよび前記タッチセンサ式デバイスから受信された前記データに少なくとも基づいて、前記テキスト文字の前記特定のサブセットを固視している間において前記ユーザが1つ以上の所定のタッチ入力を提供したかどうかを決定することと、
前記テキスト文字の前記特定のサブセットを固視している間において前記ユーザが1つ以上の所定のタッチ入力を提供したことの決定に応答して、眼視線追跡デバイスおよび前記タッチセンサ式デバイスから受信された前記データが、編集するための前記テキスト文字の前記特定のサブセットを選択する前記コマンドを表すことを決定することと
を行うようにプログラムされる、請求項1に記載のシステム。
【請求項5】
前記ハードウェアプロセッサは、自動発話認識(ASR)エンジンを実装して前記書き起こし記録を取得するようにプログラムされる、請求項1に記載のシステム。
【請求項6】
前記ASRエンジンは、前記ASRエンジンがテキストの前記文字列内の1つ以上の単語を正しく書き起こした尤度を示す、そのような単語と関連付けられたスコアを生成するように構成される、請求項5に記載のシステム。
【請求項7】
前記ハードウェアプロセッサはさらに、正しい書き起こしの尤度が閾値レベルを下回る場合に前記HMDに前記1つ以上の単語を強調させるようにプログラムされる、請求項6に記載のシステム。
【請求項8】
システムであって、
仮想コンテンツをユーザに提示するように構成されるウェアラブルシステムのディスプレイと、
前記ユーザによって発話された単語を捕捉し、発話データを生成するように構成されるオーディオ感知デバイスと、
前記ユーザの視線を追跡するように構成される前記ウェアラブルシステムの眼視線追跡デバイスと、
前記ディスプレイ、前記オーディオ感知デバイス、および前記眼視線追跡デバイスに通信可能に結合されるハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
前記オーディオ感知デバイスからの前記発話データに少なくとも部分的に基づいて、前記ユーザによって発話された1つ以上の単語のテキストへの書き起こし記録を取得することと、
前記ディスプレイを制御して前記テキストを前記ユーザに提示することと、
前記ユーザの視線が前記ディスプレイによって提示される前記提示されたテキストの一部上に合焦していた間において、ユーザ入力デバイスがユーザ入力を受信したことを示す、別のユーザ入力デバイスからのデータおよび前記眼視線追跡デバイスからのデータに基づいて、前記ユーザが編集するための前記提示されたテキストの前記一部を選択するコマンドを与えたことを決定することと、
編集アクションを前記提示されたテキストの前記一部上で実施することと
を行うようにプログラムされる、システム。
【請求項9】
前記ハードウェアプロセッサはさらに、前記ユーザの視線が、少なくとも閾値時間周期にわたって、前記ディスプレイによって提示される前記提示されたテキストの前記一部上に留まったことを示す、前記眼視線追跡デバイスからのデータに基づいて、前記ユーザが編集するための前記所与の単語を選択する前記コマンドを与えたことを決定するようにプログラムされる、請求項8に記載のシステム。
【請求項10】
前記ハードウェアプロセッサは、前記ユーザの視線が前記ディスプレイによって提示される前記提示されたテキストの前記一部上に合焦していた間において前記オーディオ感知デバイスが音声コマンドを受信したことを示す、前記オーディオ感知デバイスからのデータおよび前記眼視線追跡デバイスからのデータに基づいて、前記ユーザが編集するための前記提示されたテキストの前記一部を選択する前記コマンドを与えたことを決定するようにプログラムされる、請求項8に記載のシステム。
【請求項11】
前記ユーザの少なくとも1つの手を結像する結像システムをさらに備え、前記ハードウェアプロセッサは、前記ユーザの視線が前記ディスプレイによって提示される前記提示されたテキストの前記一部上に合焦していた間において、前記ユーザがその手を用いてコマンドジェスチャを行なったことを示す、前記結像システムからのデータおよび前記眼視線追跡デバイスからのデータに基づいて、前記ユーザが編集するための前記提示されたテキストの前記一部を選択する前記コマンドを与えたことを決定するように構成される、請求項8に記載のシステム。
【請求項12】
前記ハードウェアプロセッサはさらに、編集するための前記所与の単語を選択する前記コマンドに応答して、前記ディスプレイを制御して、前記提示されたテキストの前記一部の代替書き起こし記録を提示するようにプログラムされる、請求項8に記載のシステム。
【請求項13】
前記ハードウェアプロセッサはさらに、
前記眼視線追跡デバイスから受信された付加的データに基づいて、前記ユーザが前記提示されたテキストの前記一部と選択された代替書き起こし記録を置換するコマンドを与えたことを決定することと、
前記テキストを改訂して、前記提示されたテキストの前記一部と前記選択された代替書き起こし記録を置換することと、
前記ディスプレイを制御して、前記改訂されたテキストを前記ユーザに提示することと
を行うようにプログラムされる、請求項8に記載のシステム。
【請求項14】
前記ハードウェアプロセッサはさらに、前記テキスト内の1つ以上の単語が正しく書き起こされた尤度を示す、そのような単語と関連付けられたスコアを生成するようにプログラムされる、請求項8に記載のシステム。
【請求項15】
前記ハードウェアプロセッサはさらに、正しい書き起こし記録の尤度が閾値レベルを下回る場合に前記ディスプレイに前記1つ以上の単語を強調させるようにプログラムされる、請求項14に記載のシステム。
【請求項16】
方法であって、
ハードウェアプロセッサの制御下で、
ユーザからの発話された入力をマイクロホンから受信することと、
前記発話された入力を複数の単語を含むテキストに変換することと、
ウェアラブルディスプレイに、前記テキストを前記ユーザに提示させることと、
実質的に、前記ユーザが編集を要求する所定のコマンドジェスチャを行なったことを示す、ジェスチャ追跡システムからのデータを受信する間において、前記ユーザの視線が前記表示されるテキスト内の前記提示されたテキストの一部上に合焦させられていることに少なくとも基づいて、前記提示されたテキストの前記一部の選択を決定することと、
前記ユーザに、前記提示されたテキストの前記一部を編集する機会を提供することと
を行うことを含む、方法。
【請求項17】
前記視線追跡システムからの少なくとも1つのデータに基づいて、前記表示されるテキスト内の付加的単語の選択を受信することと、
前記ユーザに、前記提示されたテキストの前記一部または前記テキストの付加的部分から形成される語句を編集する機会を提供することと
をさらに含む、請求項16に記載の方法。
【請求項18】
前記テキストの少なくとも一部は、前記ディスプレイ上で強調され、前記一部は、前記発話された入力から前記テキストの対応する部分への変換が正しいことの低信頼度と関連付けられる、請求項16に記載の方法。
【請求項19】
方法であって、
マルチモード入力を受信することであって、前記マルチモード入力は、
ウェアラブルデバイスのコンポーネントからの第1のユーザ入力であって、前記第1のユーザ入力は、第1のモードのユーザ入力と関連付けられる、第1のユーザ入力と、
眼視線方向を検出するように構成される前記ウェアラブルデバイスの眼視線追跡コンポーネントからの第2のユーザ入力であって、前記第2のユーザ入力は、第2のモードのユーザ入力と関連付けられる、第2のユーザ入力と
を含む、ことと、
前記第1のユーザ入力および前記第2のユーザ入力に基づいて、マルチモード入力コマンドを識別することであって、前記マルチモード入力コマンドは、少なくとも、
テキストの少なくとも一部を備える対象と、
前記テキストとの相互作用を備えるコマンド動作と
を備える、ことと、
前記マルチモード入力コマンドを実行して、前記ユーザマルチモード入力の結果をユーザに表示させることと
を含む、方法。
【請求項20】
前記対象は、文を備え、前記コマンド動作は、編集するための前記文を選択することを備え、前記方法はさらに、
前記文をテキストの本文から抜き出すことを含む第1のユーザインターフェース動作を実施することと、
前記文を処理してトークンのシーケンスを生成することと、
一次結果としての前記トークンのシーケンスとして表示することであって、前記一次結果は、前記ユーザの発話から書き起こされるような前記文を備える、ことと、
二次結果をさらに表示することであって、前記二次結果は、トークンの代替単語を前記シーケンス内に備える、ことと、
前記シーケンスを単語毎に編集するための、第3のモードの入力および第4のモードの入力を備える別のマルチモード入力を受信することと、
前記シーケンスの編集が完了したことのインジケーションに応答して、前記編集されたシーケンスを前記テキストの本文に戻すように挿入することと
を含む、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2017年4月19日に出願され“MULTI-MODAL CONTEXTUAL TASK EXECUTION FOR AUGMENTED REALITY”と題された米国仮出願第62/487,364号および2017年12月22日に出願され“MULTI-MODAL TEXT COMPOSITION AND EDITING FOR AUGMENTED REALITY”と題された米国仮出願第62/609,647号に対する35 U.S.C.§119(e)のもとでの優先権の利益を主張するものであり、これらの開示は、全体が参照により本明細書中に援用される。
【0002】
本開示は、仮想現実および拡張現実結像ならびに可視化システムに関し、より具体的には、ユーザ入力の組み合わせを使用して、3次元(3D)環境内の仮想オブジェクトまたはテキストと相互作用することに関する。
【背景技術】
【0003】
現代のコンピューティングおよびディスプレイ技術は、デジタル的に再現された画像またはその一部が、現実であるように見える、もしくはそのように知覚され得る様式でユーザに提示される、いわゆる「仮想現実」、「拡張現実」、または「複合現実」体験のためのシステムの開発を促進している。仮想現実または「VR」シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。拡張現実または「AR」シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。複合現実または「MR」は、物理的および仮想オブジェクトが、共存し、リアルタイムで相互作用する、新しい環境を生成するための実世界と仮想世界の融合に関連する。結論から述べると、ヒトの視知覚系は、非常に複雑であって、他の仮想または実世界画像要素の中で仮想画像要素の快適で、自然のような感覚で、かつ豊かな提示を促進する、VR、AR、またはMR技術の生産は、困難である。本明細書に開示されるシステムおよび方法は、VR、AR、ならびにMR技術に関連する種々の課題に対処する。
【発明の概要】
【課題を解決するための手段】
【0004】
本明細書に説明されるウェアラブルシステムおよび方法の実施例は、複数の入力(例えば、ジェスチャ、頭部姿勢、眼視線、音声、または環境要因(例えば、場所))を使用して、実行されるべきコマンドおよび作用されるべき3次元(3D)環境内のオブジェクトを決定することができる。複数の入力はまた、例えば、テキストを構成、選択、または編集する等のユーザがテキストと相互作用することを可能にするために、ウェアラブルデバイスによって使用されることができる。
【0005】
例えば、ウェアラブルディスプレイデバイスは、タスクの実行のために、マルチモード入力を解析するように構成されることができる。ウェアラブルデバイスは、頭部姿勢、眼視線、手のジェスチャ、音声コマンド、環境要因(例えば、ユーザの場所またはユーザの周囲のオブジェクト)等の複数の入力の組み合わせを使用して、ウェアラブルデバイスが作用するであろう、ユーザの環境内の仮想オブジェクト、ウェアラブルデバイスが仮想オブジェクト上で実行し得る、動作のタイプ、およびウェアラブルデバイスが動作を実行する方法を決定することができる。
【0006】
別の実施例として、ウェアラブルデバイスは、テキストと相互作用するために、マルチモード入力を解析するように構成されることができる。ウェアラブルデバイスは、音声入力、眼視線、手のジェスチャ、およびトーテム入力等の複数の入力の組み合わせを使用して、テキストを構成(例えば、入力)編集することができる。ウェアラブルデバイスは、ユーザが、第1の入力モード(例えば、音声入力)を利用して、テキストをシステムに書き取らせ、第2の異なる入力モード(例えば、眼視線入力または身体ジェスチャ)を利用して、編集するためのテキストの部分を選択し、第1のモード、第2のモード、さらに別のモード、またはそれらのモードの組み合わせを利用して、選択されたテキストを編集することを可能にしてもよい。
本発明は、例えば、以下を提供する。
(項目1)
システムであって、
第1の入力モードにおける第1のユーザ入力データを入手するように構成されるウェアラブルシステムの第1のセンサと、
第2の入力モードにおける第2のユーザ入力データを入手するように構成される前記ウェアラブルシステムの第2のセンサであって、前記第2の入力モードは、前記第1の入力モードと異なる、第2のセンサと、
前記第1および第2のセンサと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、
前記第1の入力モードにおける第1のユーザ入力データおよび前記第2の入力モードにおける第2のユーザ入力データを備えるマルチモード入力を受信することと、
前記第1のユーザ入力データに基づいて、相互作用のための第1のセットの候補オブジェクトを識別することと、
前記第2のユーザ入力データに基づいて、相互作用のための第2のセットの候補オブジェクトを識別することと、
前記第1のユーザ入力データおよび前記第2のユーザ入力データの組み合わせに基づいて、標的仮想オブジェクトを前記第1のセットの候補オブジェクトおよび前記第2のセットの候補オブジェクトから決定することと、
前記第1のユーザ入力データまたは前記第2のユーザ入力データのうちの少なくとも1つに基づいて、前記標的仮想オブジェクト上でのユーザインターフェース動作を決定することと、
前記ユーザインターフェース動作を前記標的仮想オブジェクト上で実施させる、マルチモード入力コマンドを生成することと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、システム。
(項目2)
前記マルチモード入力は、以下の入力モード、すなわち、頭部姿勢、眼視線、ユーザ入力デバイス、手のジェスチャ、または音声のうちの少なくとも2つを備える、項目1に記載のシステム。
(項目3)
前記ユーザインターフェース動作は、前記標的仮想オブジェクトを選択する、移動させる、またはリサイズすることのうちの少なくとも1つを備える、項目1に記載のシステム。
(項目4)
前記ハードウェアプロセッサはさらに、前記ユーザインターフェース動作における前記標的仮想オブジェクトのための標的場所、配向、または移動のうちの少なくとも1つを決定するように構成される、項目1に記載のシステム。
(項目5)
前記標的仮想オブジェクトのための標的場所を決定するために、前記ハードウェアプロセッサは、前記標的仮想オブジェクトを載上するための物理的環境内の作業可能表面を識別するようにプログラムされる、項目4に記載のシステム。
(項目6)
前記作業可能表面は、
前記物理的環境内の物理的オブジェクト上の着目点(POI)に関する距離関数を計算することと、
平面公差外の前記POIのうちの1つ以上のものを排除することと、
残りのPOIに基づいて、前記作業可能表面の輪郭を描くことと
によって識別される、項目5に記載のシステム。
(項目7)
前記ハードウェアプロセッサは、前記標的仮想オブジェクトを前記標的場所の配向に合致するように自動的に配向するようにプログラムされる、項目5に記載のシステム。
(項目8)
前記動作は、前記第1の入力モードにおける第1のユーザ入力データに基づいて決定され、前記対象または前記パラメータのうちの少なくとも1つは、前記第1の入力モードおよび前記第2の入力モードの組み合わせに基づいて決定される、項目1に記載のシステム。
(項目9)
前記第1の入力モードは、前記ウェアラブルシステムのユーザの場所情報に基づく間接入力モードを備える、項目1に記載のシステム。
(項目10)
前記ハードウェアプロセッサは、オブジェクトが前記ユーザの閾値範囲内にあることの決定に応答して、仮想オブジェクトを前記第1のセットのオブジェクトおよび前記第2のセットのオブジェクトからの前記標的仮想オブジェクトとして識別するようにプログラムされる、項目9に記載のシステム。
(項目11)
前記ユーザインターフェース動作は、仮想アプリケーションと関連付けられ、前記仮想アプリケーションは、前記第1のセンサまたは前記第2のセンサのうちの一方に対してより応答性であるようにプログラムされる、項目1に記載のシステム。
(項目12)
前記標的仮想オブジェクトを前記第1のセットの候補オブジェクトおよび前記第2のセットの候補オブジェクトから決定するために、前記ハードウェアプロセッサは、前記第1のユーザ入力データおよび前記第2のユーザ入力データに基づいて、ツリーベースの分析を前記第1のセットの候補オブジェクトおよび前記第2のセットの前記候補オブジェクト上で実施するようにプログラムされる、項目1に記載のシステム。
(項目13)
前記標的仮想オブジェクトを前記第1のセットの候補オブジェクトおよび前記第2のセットの候補オブジェクトから決定するために、前記ハードウェアプロセッサは、
前記第1のユーザ入力データに基づいて、前記第1のセットの候補オブジェクト内の候補オブジェクトに関する第1の信頼度スコアを計算することと、
前記第2のユーザ入力データに基づいて、前記候補オブジェクトに関する第2の信頼度スコアを計算することと、
前記候補オブジェクトに関する集約されたスコアを少なくとも前記第1の信頼度スコアおよび前記第2の信頼度から計算することと、
前記集約されたスコアが閾値条件を満たすことの決定に応答して、前記候補オブジェクトを前記標的仮想オブジェクトとして設定することと
を行うようにプログラムされる、項目12に記載のシステム。
(項目14)
前記標的仮想オブジェクトを決定するために、前記ハードウェアプロセッサは、
視野内の前記仮想オブジェクトの周囲の空間の均一性、
前記ユーザの視野外にある前記仮想オブジェクトの第2の部分に対する、前記ユーザの視野内にある前記仮想オブジェクトの第1の部分に関する比例面積、または
前記仮想オブジェクトとのユーザの相互作用の履歴分析
のうちの少なくとも1つを計算することによって、仮想オブジェクトに関する信頼度スコアを計算するようにプログラムされる、項目1に記載のシステム。
(項目15)
前記ハードウェアプロセッサはさらに、前記マルチモード入力に基づいて、前記ハードウェアプロセッサをトリガし、前記標的仮想オブジェクトおよび前記ユーザインターフェース動作を決定する、前記相互作用イベントに関する開始条件を検出するようにプログラムされる、項目1に記載のシステム。
(項目16)
前記開始条件は、トリガ語句を備える、項目15に記載のシステム。
(項目17)
前記第1の入力モードは、一次入力モードであり、前記第2の入力モードは、二次入力モードであり、前記ハードウェアプロセッサは、前記第2のユーザ入力データに基づいて、前記標的仮想オブジェクトおよび前記ユーザインターフェース動作のうちの少なくとも1つにおける曖昧性を解決するようにプログラムされる、項目1に記載のシステム。
(項目18)
前記第1のユーザ入力データは、仮想オブジェクトに対する直示または照応参照を備え、ハードウェアプロセッサは、前記第2のユーザ入力データに基づいて、前記仮想オブジェクトを前記対象としての前記標的仮想オブジェクトとして識別するようにプログラムされる、項目1に記載のシステム。
(項目19)
前記ハードウェアプロセッサはさらに、少なくとも部分的に、ユーザ設定または前記ユーザの環境に基づいて、前記第1の入力モード、前記第2の入力モード、または両方の感度を自動的に有効にする、無効にする、または調節するようにプログラムされる、項目1に記載のシステム。
(項目20)
前記ハードウェアプロセッサは、少なくとも部分的に、前記マルチモード入力に基づいて、前記ユーザの視野外の標的仮想オブジェクトを識別し、ユーザ相互作用のために、前記仮想オブジェクトを前記視野内に自動的に移動させるようにプログラムされる、項目1に記載のシステム。
(項目21)
方法であって、
ユーザ入力データを入手するように構成される複数のセンサと通信するウェアラブルシステムのハードウェアプロセッサの制御下で、
ユーザと環境の相互作用イベントに関する前記ユーザ入力データを前記複数のセンサから受信するステップと、
前記ユーザ入力データを分析し、前記環境と相互作用するためのマルチモード入力を識別するステップであって、前記マルチモード入力は、第1の入力チャネルにおける第1の入力および第2の入力チャネルにおける第2の入力を備える、ステップと、
前記第1の入力および前記第2の入力に基づいて、前記環境との前記相互作用イベントを記述するために、対象、パラメータ、または動作のうちの1つ以上のものを備える、マルチモード入力コマンドを決定するステップであって、前記対象、前記パラメータ、または前記動作のうちの少なくとも1つは、前記第1の入力および前記第2の入力の組み合わせに基づいて識別される、ステップと、
前記ウェアラブルデバイスに、前記相互作用イベントのための前記マルチモード入力コマンドを実行させるステップと
を含む、方法。
(項目22)
前記動作は、前記対象を選択する、移動させる、またはリサイズすることのうちの少なくとも1つを備える、前記対象は、前記ユーザが相互作用しようとしている標的仮想オブジェクトを備える、または、前記パラメータは、前記対象の少なくとも標的場所、配向、または移動を備える、項目21に記載の方法。
(項目23)
前記標的場所は、
物理的オブジェクト上の着目点(POI)に関する距離関数を計算することと、
所与の平面公差外の前記POIのうちの1つ以上のものを排除することと、
残りのPOIに基づいて、前記物理的オブジェクト上の作業可能表面の輪郭を描くことと
によって決定される、項目22に記載の方法。
(項目24)
前記方法は、前記仮想オブジェクトを自動的に配向し、前記標的場所のものに合致させるステップを含む、項目22に記載の方法。
(項目25)
前記マルチモード入力は、以下の入力モード、すなわち、頭部姿勢、眼視線、ユーザ入力デバイス、手のジェスチャ、または音声のうちの少なくとも2つを備える、項目21に記載の方法。
(項目26)
前記第1の入力チャネルは、音声であり、前記第2の入力チャネルは、頭部姿勢または手のジェスチャである、項目25に記載の方法。
(項目27)
前記動作、対象、またはパラメータのうちの少なくとも1つはさらに、前記ユーザの環境または場所情報に基づいて識別される、項目21に記載の方法。
(項目28)
前記対象は、前記ユーザの閾値範囲内のあるグループのオブジェクトから選択される、項目27に記載の方法。
(項目29)
前記相互作用イベントは、仮想アプリケーション内で生じ、前記仮想アプリケーションは、前記第1の入力チャネルまたは前記第2の入力チャネルのうちの一方に対してより応答性であるようにプログラムされる、項目21に記載の方法。
(項目30)
前記対象は、格子ツリー分析を使用して、前記第1の入力および前記第2の入力を分析し、前記対象として設定するための仮想オブジェクトを識別することによって識別される、項目21に記載の方法。
(項目31)
前記マルチモード入力コマンドにおける前記対象または前記パラメータは、
候補オブジェクトまたはパラメータに関して、前記第1の入力と相関する第1の信頼度スコアおよび前記第2の入力と相関する第2の信頼度スコアを計算することと、
前記候補オブジェクトまたはパラメータに関する集約されたスコアを少なくとも前記第1の信頼度スコアおよび前記第2の信頼度から計算することと、
少なくとも部分的に、前記集約されたスコアに基づいて、前記候補オブジェクトまたはパラメータを、それぞれ、前記相互作用イベントのための前記対象または前記パラメータとして設定することと
によって決定される、項目21に記載の方法。
(項目32)
候補仮想オブジェクトは、前記ユーザの視野内の仮想オブジェクトの信頼度スコアに基づいて、前記対象として識別され、前記信頼度コードは、
前記視野内の前記候補仮想オブジェクトの周囲の空間の均一性、
前記ユーザの視野外の前記候補仮想オブジェクトの第2の部分に対する、前記ユーザの視野内の前記候補仮想オブジェクトの第1の部分に関する比例面積、または
前記候補仮想オブジェクトとのユーザの相互作用の履歴分析
のうちの少なくとも1つに基づいて計算される、項目21に記載の方法。
(項目33)
前記複数のセンサのうちの1つ以上のセンサから受信されたデータに基づいて、前記相互作用イベントに関する開始条件を検出するステップをさらに含み、前記開始条件は、前記受信、分析、決定、および発生ステップをトリガする、項目21に記載の方法。
(項目34)
前記第1の入力チャネルからの前記第1の入力は、一次入力であり、前記第2の入力チャネルからの前記第2の入力は、二次入力であり、前記方法は、
前記第1の入力を解析し、前記対象、前記パラメータ、および前記動作を識別するステップと、
前記第2の入力に基づいて、前記対象、前記パラメータ、または前記動作のうちの少なくとも1つにおける曖昧性を解決し、前記マルチモード入力コマンドを生成するステップと
を含む、項目21に記載の方法。
(項目35)
前記方法はさらに、少なくとも部分的に、ユーザ設定または前記ユーザの環境に基づいて、入力チャネルの感度を自動的に有効にする、無効にする、または調節するステップを含む、項目21に記載の方法。
(項目36)
前記方法はさらに、少なくとも部分的に、前記ユーザ相互作用に基づいて、前記ユーザの視野外の仮想オブジェクトを前記対象として識別するステップと、ユーザ相互作用のために、前記仮想オブジェクトを前記視野内に自動的に移動させるステップとを含む、項目21に記載の方法。
(項目37)
前記第1の入力は、前記対象として直示または照応参照を備え、前記方法はさらに、前記第2の入力に基づいて、標的オブジェクトを前記対象として選択するステップを含む、項目21に記載の方法。
(項目38)
システムであって、
3次元(3D)仮想コンテンツをユーザに提示するように構成されるウェアラブルシステムの頭部搭載型ディスプレイ(HMD)と、
個別のモダリティのユーザ入力を受信するように構成される2つ以上のユーザ入力コンポーネントであって、前記ユーザ入力コンポーネントのうちの1つは、音を捕捉するように構成されるオーディオ感知デバイスを備える、ユーザ入力コンポーネントと、
前記ディスプレイおよび前記2つ以上のユーザ入力コンポーネントに通信可能に結合されるハードウェアプロセッサであって、前記ハードウェアプロセッサは、
前記オーディオ感知デバイスから、ユーザによって発話された1つ以上の単語の発声をエンコードする発話データを受信することと、
少なくとも、前記受信された発話データに基づいて、ユーザによって発話された前記1つ以上の単語に関する書き起こし記録を取得することと、
前記ディスプレイを制御し、前記取得された書き起こし記録を表すテキスト文字の文字列をユーザに提示することと、
前記2つ以上のユーザ入力コンポーネントの別のものから、別の異なるモダリティのユーザ入力を示すユーザ入力データを受信することと、
前記他のユーザ入力コンポーネントから受信された前記ユーザ入力データが、編集するための前記テキスト文字の特定のサブセットを選択するコマンドを表すことを決定することと、
前記他のユーザ入力コンポーネントから受信された前記ユーザ入力データが、編集するための前記テキスト文字の特定のサブセットを選択するコマンドを表すことの決定に応答して、
前記2つ以上のユーザ入力コンポーネントのいずれかから続いて受信されるデータが、前記テキスト文字の特定のサブセットを特定の様式で修正するコマンドを表すかどうかを決定することと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、システム。
(項目39)
前記他のユーザ入力コンポーネントは、前記ユーザの眼視線方向を示すデータを入手するように構成される眼視線追跡デバイスを備える、項目38に記載のシステム。
(項目40)
前記ハードウェアプロセッサはさらに、
少なくとも、前記眼視線追跡デバイスから受信されたデータに基づいて、前記ユーザが、閾値より長い時間周期にわたって、前記テキスト文字の特定のサブセットを固視していることを決定することと、
前記ユーザが、閾値より長い時間周期にわたって、前記テキスト文字の特定のサブセットを固視していることの決定に応答して、前記他のユーザ入力コンポーネントから受信された前記ユーザ入力データが、編集するための前記テキスト文字の特定のサブセットを選択するコマンドを表すことを決定することと
を行うようにプログラムされる、項目39に記載のシステム。
(項目41)
前記ハードウェアプロセッサはさらに、
前記オーディオ感知デバイスから、ユーザによって発話された語句の発声をエンコードする付加的発話データを受信することと、
少なくとも、前記眼視線追跡デバイスから受信されたデータおよび前記オーディオ感知デバイスから受信された付加的発話データに基づいて、前記テキスト文字の特定のサブセットを固視している間、前記ユーザが1つ以上の所定のホットワードを発声したことを決定することと、
前記テキスト文字の特定のサブセットを固視している間、前記ユーザが1つ以上の所定のホットワードを発声したことの決定に応答して、前記眼視線追跡デバイスから受信されたデータおよび前記オーディオ感知デバイスから受信された付加的発話データが、編集するための前記テキスト文字の特定のサブセットを選択するコマンドを表すことを決定することと
を行うようにプログラムされる、項目39に記載のシステム。
(項目42)
前記2つ以上のユーザ入力コンポーネントはさらに、前記ユーザの手のジェスチャを示すデータを入手するように構成されるジェスチャ追跡デバイスを備え、
前記ハードウェアプロセッサはさらに、
前記眼視線追跡デバイスから、前記ユーザの眼視線方向を示すデータを受信することと、
前記ジェスチャ追跡デバイスから、前記ユーザの手のジェスチャを示すデータを受信することと、
少なくとも、前記眼視線追跡デバイスから受信されたデータおよび前記ジェスチャ追跡デバイスから受信されたデータに基づいて、前記テキスト文字の特定のサブセットを固視している間、前記ユーザが1つ以上の所定の手のジェスチャを行なったことを決定することと、
前記テキスト文字の特定のサブセットを固視している間、前記ユーザが1つ以上の所定の手のジェスチャを行なったことの決定に応答して、前記眼視線追跡デバイスおよび前記ジェスチャ追跡デバイスから受信されたデータが、編集するための前記テキスト文字の特定のサブセットを選択するコマンドを表すことを決定することと
を行うようにプログラムされる、項目39に記載のシステム。
(項目43)
前記2つ以上のユーザ入力コンポーネントはさらに、それとの前記ユーザの物理的相互作用を示すデータを入手するように構成される、タッチセンサ式デバイスを備え、
前記ハードウェアプロセッサはさらに、
前記眼視線追跡デバイスから、前記ユーザの前記ユーザの眼視線方向を示すデータを受信することと、
前記タッチセンサ式デバイスから、前記タッチセンサ式デバイスとの前記ユーザの物理的相互作用を示すデータを受信することと、
少なくとも、前記眼視線追跡デバイスから受信されたデータおよび前記タッチセンサ式デバイスから受信されたデータに基づいて、前記テキスト文字の特定のサブセットを固視している間、前記ユーザが1つ以上の所定のタッチ入力を提供したかどうかを決定することと、
前記テキスト文字の特定のサブセットを固視している間、前記ユーザが1つ以上の所定のタッチ入力を提供したことの決定に応答して、眼視線追跡デバイスおよび前記タッチセンサ式デバイスから受信されたデータが、編集するための前記テキスト文字の特定のサブセットを選択するコマンドを表すことを決定することと
を行うようにプログラムされる、項目39に記載のシステム。
(項目44)
前記ハードウェアプロセッサは、自動発話認識(ASR)エンジンを実装し、前記書き起こし記録を取得するようにプログラムされる、項目38に記載のシステム。
(項目45)
前記ASRエンジンは、前記ASRエンジンがそのような単語を正しく書き起こした尤度を示す、前記テキストの文字列内の1つ以上の単語と関連付けられたスコアを生産するように構成される、項目44に記載のシステム。
(項目46)
前記ハードウェアプロセッサはさらに、正しい書き起こしの尤度が閾値レベルを下回る場合、前記HMDに前記1つ以上の単語を強調させるようにプログラムされる、項目45に記載のシステム。
(項目47)
システムであって、
仮想コンテンツをユーザに提示するように構成されるウェアラブルシステムのディスプレイと、
ユーザによって発話された単語を捕捉し、発話データを生成するように構成されるオーディオ感知デバイスと、
前記ユーザの視線を追跡するように構成される前記ウェアラブルシステムの眼視線追跡デバイスと、
前記ディスプレイ、前記オーディオ感知デバイス、および前記眼視線追跡デバイスに通信可能に結合されるハードウェアプロセッサであって、前記ハードウェアプロセッサは、
少なくとも部分的に、前記オーディオ感知デバイスからの前記発話データに基づいて、ユーザによって発話された1つ以上の単語のテキストへの書き起こし記録を取得することと、
前記ディスプレイを制御し、前記テキストをユーザに提示することと、
少なくとも、前記眼視線追跡デバイスから受信されたデータに基づいて、前記ユーザが編集するための前記提示されたテキストの一部を選択するコマンドを与えたことを決定することと、
編集アクションを前記提示されたテキストの一部上で実施することと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、システム。
(項目48)
前記ハードウェアプロセッサはさらに、前記ユーザの視線が、少なくとも閾値時間周期にわたって、前記ディスプレイによって提示される前記提示されたテキストの一部上に留まったことを示す、前記眼視線追跡デバイスからのデータに基づいて、前記ユーザが編集するための前記所与の単語を選択するコマンドを与えたことを決定するようにプログラムされる、項目47に記載のシステム。
(項目49)
ユーザ入力デバイスをさらに備え、前記ハードウェアプロセッサはさらに、前記ユーザの視線が前記ディスプレイによって提示される前記提示されたテキストの一部上に合焦していた間、前記ユーザ入力デバイスがユーザ入力を受信したことを示す、前記ユーザ入力デバイスからのデータおよび前記眼視線追跡デバイスからのデータに基づいて、前記ユーザが編集するための前記提示されたテキストの一部を選択するコマンドを与えたことを決定するようにプログラムされる、項目47に記載のシステム。
(項目50)
前記ハードウェアプロセッサは、前記ユーザの視線が前記ディスプレイによって提示される前記提示されたテキストの一部上に合焦していた間、前記オーディオ感知デバイスが音声コマンドを受信したことを示す、前記オーディオ感知デバイスからのデータおよび前記眼視線追跡デバイスからのデータに基づいて、前記ユーザが編集するための前記提示されたテキストの一部を選択するコマンドを与えたことを決定するようにプログラムされる、項目47に記載のシステム。
(項目51)
前記ユーザの少なくとも1つの手を結像する結像システムをさらに備え、前記プロセッサは、前記ユーザの視線が前記ディスプレイによって提示される前記提示されたテキストの一部上に合焦していた間、前記ユーザがその手を用いてコマンドジェスチャを行なったことを示す、前記結像システムからのデータおよび前記眼視線追跡デバイスからのデータに基づいて、前記ユーザが編集するための前記提示されたテキストの一部を選択するコマンドを与えたことを決定するように構成される、項目47に記載のシステム。
(項目52)
前記ハードウェアプロセッサはさらに、編集するための前記所与の単語を選択するコマンドに応答して、前記ディスプレイを制御して、前記提示されたテキストの一部の代替書き起こし記録を提示するようにプログラムされる、項目47に記載のシステム。
(項目53)
前記ハードウェアプロセッサはさらに、
前記眼視線追跡デバイスから受信された付加的データに基づいて、前記ユーザが前記提示されたテキストの一部と選択された代替書き起こし記録を置換するコマンドを与えたことを決定することと、
前記テキストを改訂し、前記提示されたテキストの一部と前記選択された代替書き起こし記録を置換することと、
前記ディスプレイを制御して、前記改訂されたテキストをユーザに提示することと
を行うようにプログラムされる、項目47に記載のシステム。
(項目54)
前記ハードウェアプロセッサはさらに、1つ以上の単語が正しく書き起こされた尤度を示す、前記テキスト内のそのような単語と関連付けられたスコアを生産するようにプログラムされる、項目47に記載のシステム。
(項目55)
前記ハードウェアプロセッサはさらに、正しい書き起こし記録の尤度が閾値レベルを下回る場合、前記ディスプレイに前記1つ以上の単語を強調させるようにプログラムされる、項目54に記載のシステム。
(項目56)
方法であって、
ハードウェアプロセッサの制御下で、
ユーザから発話された入力をマイクロホンから受信するステップと、
前記発話された入力を複数の単語を含むテキストに変換するステップと、
ウェアラブルディスプレイに、前記テキストをユーザに提示させるステップと、
少なくとも、視線追跡システムからのデータに基づいて、前記表示されるテキスト内の前記提示されたテキストの一部の選択を受信するステップと、
前記ユーザに、前記提示されたテキストの一部を編集する機会を提供するステップと
を含む、方法。
(項目57)
前記提示されたテキストの一部の選択を受信するステップは、
前記ユーザの視線が、少なくとも所定の閾値時間周期にわたって、前記所与の単語上に合焦されていることを決定するステップ、
前記マイクロホンを用いて編集を要求する前記ユーザから発話された所定のコマンドを受信する間、前記ユーザの視線が前記提示されたテキストの一部上に合焦されていることを決定するステップ、
ユーザ入力デバイスの作動のためのデータを受信する間、前記ユーザの視線が前記提示されたテキストの一部上に合焦されていることを決定するステップ、または
実質的に、前記ユーザが編集を要求する所定のコマンドジェスチャを行なったことを示す、ジェスチャ追跡システムからのデータを受信する間、前記ユーザの視線が前記提示されたテキストの一部上に合焦されていることを決定するステップ
のうちの1つ以上のものを含む、項目56に記載の方法。
(項目58)
少なくとも、前記視線追跡システムからのデータに基づいて、前記表示されるテキスト内の付加的単語の選択を受信するステップと、
前記ユーザに、前記提示されたテキストの一部または前記テキストの付加的部分から形成される語句を編集する機会を提供するステップと
をさらに含む、項目56に記載の方法。
(項目59)
前記テキストの少なくとも一部は、前記ディスプレイ上で強調され、前記部分は、前記発話された入力から前記テキストの対応する部分への変換が正しいことの低信頼度と関連付けられる、項目56に記載の方法。
(項目60)
方法であって、
マルチモード入力を受信するステップであって、前記マルチモード入力は、
ウェアラブルデバイスのハードウェアコンポーネントからの第1のユーザ入力であって、前記第1のユーザ入力は、第1のモードのユーザ入力と関連付けられる、第1のユーザ入力と、
第2のユーザ入力であって、前記第2のユーザ入力は、第2のモードのユーザ入力と関連付けられる、第2のユーザ入力と
を含む、ステップと、
前記第1のユーザ入力および前記第2のユーザ入力に基づいて、マルチモード入力コマンドを識別するステップであって、前記マルチモード入力コマンドは、少なくとも、
テキストの少なくとも一部を備える対象と、
前記テキストとの相互作用を備えるコマンド動作と
を備える、ステップと、
前記マルチモード入力コマンドを実行し、前記ユーザマルチモード入力の結果をユーザに表示させるステップと
を含む、方法。
(項目61)
前記第1のモードのユーザ入力は、前記ウェアラブルデバイスのオーディオセンサから受信された発話入力を備え、前記方法はさらに、前記発話入力を書き起こし、前記テキスト、前記対象、または前記コマンド動作のうちの少なくとも1つを識別するステップを含む、項目60に記載の方法。
(項目62)
前記第2のモードのユーザ入力は、ユーザ入力デバイス、ジェスチャ、または眼視線のうちの少なくとも1つからの入力を備える、項目60に記載の方法。
(項目63)
前記テキストとの相互作用は、前記テキストを選択する、編集する、または構成することのうちの少なくとも1つを備える、項目60に記載の方法。
(項目64)
前記対象は、単語、語句、または文のうちの1つ以上のものを備える、項目60に記載の方法。
(項目65)
前記対象は、文を備え、前記コマンド動作は、編集するための前記文を選択することを備え、前記方法はさらに、
第1のユーザインターフェース動作を実施し、前記文をテキストの本文から抜き出させるステップと、
前記文を一次結果としてのトークンのシーケンスとして表示するステップであって、前記一次結果は、前記ユーザの発話から書き起こされるような前記文を備える、ステップと、
二次結果をさらに表示するステップであって、前記二次結果は、トークンの代替単語を前記シーケンス内に備える、ステップと、
前記シーケンスを単語毎に編集するための、第3の入力モードおよび第4の入力モードを備える、別のマルチモード入力を受信するステップと、
前記シーケンスの編集が完了したことのインジケーションに応答して、前記編集されたシーケンスを前記テキストの本文に戻すように挿入するステップと
を含む、項目60に記載の方法。
【0007】
本明細書に説明される主題の1つ以上の実装の詳細が、付随の図面および以下の説明に記載される。他の特徴、側面、および利点は、説明、図面、ならびに請求項から明白となるであろう。本概要または以下の発明を実施するための形態のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。
【図面の簡単な説明】
【0008】
【
図1】
図1は、人物によって視認されるある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、複合現実シナリオの例証を描写する。
【0009】
【
図2】
図2は、ウェアラブルシステムの実施例を図式的に図示する。
【0010】
【
図3】
図3は、複数の深度平面を使用して3次元画像をシミュレートするためのアプローチの側面を図式的に図示する。
【0011】
【
図4】
図4は、画像情報をユーザに出力するための導波管スタックの実施例を図式的に図示する。
【0012】
【
図5】
図5は、導波管によって出力され得る、例示的出射ビームを示す。
【0013】
【
図6】
図6は、導波管装置と、光を導波管装置へまたはそこから光学的に結合するための光学結合器サブシステムと、多焦点立体ディスプレイ、画像、またはライトフィールドの生成において使用される、制御サブシステムとを含む、光学システムを示す、概略図である。
【0014】
【
図7】
図7は、ウェアラブルシステムの実施例のブロック図である。
【0015】
【
図8】
図8は、認識されるオブジェクトに関連して仮想コンテンツをレンダリングする方法の実施例のプロセスフロー図である。
【0016】
【
図9】
図9は、ウェアラブルシステムの別の実施例のブロック図である。
【0017】
【
図10】
図10は、ウェアラブルシステムへのユーザ入力を決定するための方法の実施例のプロセスフロー図である。
【0018】
【
図11】
図11は、仮想ユーザインターフェースと相互作用するための方法の実施例のプロセスフロー図である。
【0019】
【
図12A】
図12Aは、動眼視野(FOR)、世界カメラの視野(FOV)、ユーザの視野、およびユーザの固視野の実施例を図式的に図示する。
【0020】
【
図12B】
図12Bは、ユーザの視野内の仮想オブジェクトおよび動眼視野内の仮想オブジェクトの実施例を図式的に図示する。
【0021】
【
図13】
図13は、1つのモードのユーザ入力を使用して仮想オブジェクトと相互作用する実施例を図示する。
【0022】
【
図14】
図14は、ユーザ入力モードの組み合わせを使用して仮想オブジェクトを選択する実施例を図示する。
【0023】
【
図15】
図15は、直接ユーザ入力の組み合わせを使用して仮想オブジェクトと相互作用する実施例を図示する。
【0024】
【
図16】
図16は、入力モードを集約するための例示的コンピューティング環境を図示する。
【0025】
【
図17A】
図17Aは、格子ツリー分析を使用して標的仮想オブジェクトを識別する実施例を図示する。
【0026】
【
図17B】
図17Bは、マルチモード入力に基づいて、標的ユーザインターフェース動作を決定する実施例を図示する。
【0027】
【
図17C】
図17Cは、仮想オブジェクトのための入力モードと関連付けられた信頼度スコアを集約する実施例を図示する。
【0028】
【
図18】
図18Aおよび18Bは、ユーザのFOV内のオブジェクトに関する信頼度スコアを計算する実施例を図示する。
【0029】
【
図19A】
図19Aおよび19Bは、マルチモード入力を使用して、物理的環境と相互作用する実施例を図示する。
【
図19B】
図19Aおよび19Bは、マルチモード入力を使用して、物理的環境と相互作用する実施例を図示する。
【0030】
【
図20】
図20は、マルチモード入力に基づいて、仮想オブジェクトを自動的にリサイズする実施例を図示する。
【0031】
【
図21】
図21は、オブジェクトの場所に基づいて、標的仮想オブジェクトを識別する実施例を図示する。
【0032】
【
図22】
図22Aおよび22Bは、直接および間接入力の組み合わせに基づいて、ユーザの環境と相互作用する別の実施例を図示する。
【0033】
【
図23】
図23は、マルチモード入力を使用して、仮想オブジェクトと相互作用する例示的プロセスを図示する。
【0034】
【
図24】
図24は、ユーザ相互作用と関連付けられた直接入力モードを設定する実施例を図示する。
【0035】
【
図25】
図25は、マルチモード入力を用いたユーザ体験の実施例を図示する。
【0036】
【
図26】
図26は、種々のブックマークされたアプリケーションを伴う例示的ユーザインターフェースを図示する。
【0037】
【
図27】
図27は、検索コマンドが発行されたときの例示的ユーザインターフェースを図示する。
【0038】
【
図28A】
図28A-28Fは、音声および視線入力の組み合わせに基づいてテキストを構成および編集する例示的ユーザ体験を図示する。
【
図28B】
図28A-28Fは、音声および視線入力の組み合わせに基づいてテキストを構成および編集する例示的ユーザ体験を図示する。
【
図28C】
図28A-28Fは、音声および視線入力の組み合わせに基づいてテキストを構成および編集する例示的ユーザ体験を図示する。
【
図28D】
図28A-28Fは、音声および視線入力の組み合わせに基づいてテキストを構成および編集する例示的ユーザ体験を図示する。
【
図28E】
図28A-28Fは、音声および視線入力の組み合わせに基づいてテキストを構成および編集する例示的ユーザ体験を図示する。
【
図28F】
図28A-28Fは、音声および視線入力の組み合わせに基づいてテキストを構成および編集する例示的ユーザ体験を図示する。
【0039】
【
図29】
図29は、ユーザ入力デバイスおよび視線からの入力に基づいて単語を選択する実施例を図示する。
【0040】
【
図30】
図30は、音声および視線入力の組み合わせに基づいて編集するための単語を選択する実施例を図示する。
【0041】
【
図31】
図31は、視線およびジェスチャ入力の組み合わせに基づいて編集するための単語を選択する実施例を図示する。
【0042】
【
図32】
図32は、眼視線および音声入力の組み合わせに基づいて、単語を置換する実施例を図示する。
【0043】
【
図33】
図33は、音声および視線入力の組み合わせに基づいて、単語を変更する実施例を図示する。
【0044】
【
図34】
図34は、仮想キーボードを使用して選択された単語を編集する実施例を図示する。
【0045】
【
図35】
図35は、選択された単語に適用するための可能性として考えられるアクションを表示する、例示的ユーザインターフェースを図示する。
【0046】
【
図36】
図36は、マルチモード入力を使用して語句と相互作用する実施例を図示する。
【0047】
【
図37A】
図37Aおよび37Bは、マルチモード入力を使用してテキストと相互作用する付加的実施例を図示する。
【
図37B】
図37Aおよび37Bは、マルチモード入力を使用してテキストと相互作用する付加的実施例を図示する。
【0048】
【
図38】
図38は、複数のモードのユーザ入力を使用してテキストと相互作用する例示的方法のプロセスフロー図である。
【発明を実施するための形態】
【0049】
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図されない。
概要
【0050】
現代のコンピューティングシステムは、種々のユーザ相互作用を保有することができる。ウェアラブルデバイスは、双方向VR/AR/MR環境を提示することができ、これは、種々の入力を通してユーザによって相互作用され得る、データ要素を備えることができる。現代のコンピューティングシステムは、典型的には、単一直接入力に基づいて、所与の出力を生成するようにエンジニアリングされる。例えば、キーボードは、ユーザの打鍵から受信されるようなテキスト入力を中継するであろう。音声認識アプリケーションは、直接入力としてのユーザの音声に基づいて、実行可能データ文字列を作成することができる。コンピュータマウスは、ユーザの直接操作(例えば、ユーザの手移動またはジェスチャ)に応答して、カーソルを誘導することができる。ユーザがシステムと相互作用し得る、種々の方法は、時として、本明細書では、ユーザ入力のモードとも称される。例えば、マウスまたはキーボードを介した、ユーザ入力は、手ジェスチャベースのモードの相互作用である(手の指がキーボード上のキーを押下する、または手がマウスを移動させるため)。
【0051】
しかしながら、データが豊富でかつ動的な相互作用環境(例えば、AR/VR/MR環境)における、キーボード、ユーザ入力デバイス、ジェスチャ等の従来の入力技法は、所望のタスクを遂行するために、高度な特異性を要求し得る。そうでなければ、精密な入力の不在下では、コンピューティングシステムは、高エラー率に悩まされ得、正しくないコンピュータ動作を実施させ得る。例えば、ユーザが、タッチパッドを使用して、オブジェクトを3D空間内で移動させることを意図するとき、コンピューティングシステムは、ユーザが、タッチパッドを使用して、目的地を規定しない、またはオブジェクトを規定しない場合、移動コマンドを正しく解釈することが不可能である場合がある。別の実施例として、唯一の入力モードとして、仮想キーボードを使用して、テキストの文字列を入力する(例えば、ユーザ入力デバイスを用いて、またはジェスチャによって操作されるように)ことは、空中または仮想キーボードがレンダリングされる物理的表面(例えば、机)上に描写されるキーをタイプするために長時間の細かい運動制御を要求するため、低速であって、物理的に疲労をもたらし得る。
【0052】
入力コマンドにおいて要求される特異性の程度を低減させるため、かつ不精密なコマンドと関連付けられたエラー率を低減させるために、本明細書に説明されるようなウェアラブルシステムは、例えば、仮想オブジェクトを選択する、移動させる、リサイズする、または標的化するためのタスク等、相互作用イベントの実行のために、マルチモード入力を適用するようにプログラムされることができる。相互作用イベントは、仮想オブジェクトと関連付けられたアプリケーションを実行させるステップを含むことができる(例えば、標的オブジェクトが、メディアプレーヤである場合、相互作用イベントは、メディアプレーヤに曲またはビデオを再生させるステップを含むことができる)。標的仮想オブジェクトを選択するステップは、標的仮想オブジェクトと関連付けられたアプリケーションを実行するステップを含むことができる。マルチモード入力は、2つ以上のタイプの入力(または複数の入力チャネルからの入力)を利用して、タスクの実行のためのコマンドを生成する。本明細書にさらに説明されるであろうように、入力モードは、限定ではないが、手のジェスチャ、頭部姿勢、眼視線、音声コマンド、環境入力(例えば、ユーザの位置またはユーザの環境内のオブジェクト)等を含むことができる。例えば、ユーザが、「それをそこに移動させる」と発すると、ウェアラブルシステムは、頭部姿勢、眼視線、手のジェスチャとともに、他の環境要因(例えば、ユーザの場所またはユーザの周囲のオブジェクトの場所)を、音声コマンドと組み合わせて使用し、これらのマルチモード入力に応答して、移動されるべきオブジェクト(例えば、「それ」に対応するオブジェクト)と、意図される目的地(例えば、「そこに」)とを決定することができる。
【0053】
本明細書にさらに説明されるであろうように、マルチモード入力のための技法は、単に、複数のユーザ入力モードの集約ではない。むしろ、そのような技法を採用するウェアラブルシステムは、有利には、ウェアラブルシステムに提供される、3D(従来の2D相互作用と比較して)における追加深度次元をサポートすることができる。追加次元は、付加的タイプのユーザ相互作用(例えば、回転、すなわち、デカルト座標系における付加的軸に沿った移動)を可能にするだけではなく、また、正しい結果を提供するための高精度のユーザ入力を要求する。しかしながら、仮想オブジェクトと相互作用するためのユーザ入力は、運動制御に関するユーザの限界に起因して、常時、正確であるわけではない。従来の入力技法は、2D空間におけるユーザの運動制御の不正確性を較正および調節することができるが、そのような不正確性は、追加次元に起因して、3D空間では拡大される。しかしながら、キーボード入力等の従来の入力方法は、3D空間におけるそのような不正確性を調節することにあまり好適ではない。故に、マルチモード入力技法によって提供される1つの利点(他の利点の中でもとりわけ)は、従来の入力方法を3D空間内のオブジェクトとの流動的かつより正確な相互作用に適合させることである。
【0054】
加えて、有利には、いくつかの実施形態では、本明細書に説明される技法は、ウェアラブルシステムのハードウェア要件およびコストを低減させることができる。例えば、ウェアラブルデバイスは、低分解能眼追跡カメラと併せて、高分解能眼追跡カメラ(高価かつ利用が複雑であり得る)単独を採用するのではなく、タスクを実行するための音声コマンドを使用して、ユーザの眼の視線方向および音声コマンドのマルチモード組み合わせに基づいて、タスクを決定してもよい。本実施例では、ユーザの音声コマンドの使用は、眼追跡が実施される、より低い分解能を補償することができる。故に、複数のユーザ入力モードのマルチモード組み合わせは、より低いコスト、単一入力モードの使用より低い複雑性、およびAR/VR/MRデバイスとのよりロバストなユーザ相互作用を提供することができる。仮想オブジェクトと相互作用するためのマルチモード入力に関連する技法の付加的利点および実施例は、
図13-27をさらに参照して説明される。
【0055】
ウェアラブルシステムはまた、有利には、マルチモード入力制御を使用して、テキストとの相互作用をサポートすることができる。前述のように、個々に採用される、従来の入力技法は、AR/VR/MR環境において問題となる。例えば、細かい運動制御を要求する、ユーザ入力デバイス、ジェスチャ、または眼視線(例えば、仮想キーボードとの相互作用を介して)を用いた入力は、したがって、低速かつ疲労をもたらし得る。視線によって操作される文字挿入を伴う仮想キーボードは、テキスト入力の速度(例えば、約10~35単語/分と推定される)に関して、比較的に低限界を有する。発話される入力は、非常に高速(例えば、約100~150単語/分と推定される)であるが、誤認識または吃音のアーチファクト(例えば、不良発音、環境雑音、同音異義語の使用、特異表現の使用、または単に一般的ではない語彙等の種々の理由から)に起因して、エラーを受けやすくあり得る。単一モード入力を使用する、テキスト編集(例えば、エラーの補正、他の理由からの改訂)は、非常に正確なコマンドのセットの不在下では、選択および代用することが難しいため、特に困難であり得る。
【0056】
有利には、いくつかの実施形態では、本明細書に説明されるウェアラブルシステムは、利用可能な入力方法を組み合わせ、ユーザが、ユーザ入力の組み合わせを利用して、テキストとの効率的相互作用(例えば、テキストを構成する、選択する、および編集する等)を遂行することを可能にすることによって、複合現実システムを含む、種々のシステムにおいて、テキスト入力および編集を促進することができる。実施例として、発話は、テキストをシステムの中に入力する一次方法として使用されてもよい。発話は、編集および改訂するためのテキストの選択ならびにグラフィカルユーザインターフェース要素全般の操作の方法として、眼視線と組み合わせられることができる。ウェアラブルシステムはまた、相互作用モダリティの組み合わせ(例えば、視線を使用した選択および発話を使用した置換)を使用して、任意の所与のタスク(例えば、特定のテキスト文字列と異なる文字列を置換する)の実行を可能にすることができる。
【0057】
故に、
図28A-38を参照してさらに説明されるであろうように、ウェアラブルシステムは、ユーザに、発話を使用してテキスト、メッセージを構成し、発話と異なる視線または別のタイプの入力(例えば、身体ジェスチャ)を使用して、そのようなメッセージを編集する能力を提供する。ウェアラブルシステムは、例えば、発話入力(例えば、発声)または環境からの音等のオーディオ入力をユーザから受信し、発話入力の書き起こし記録を生成し(例えば、自動発話認識(ASR)を使用して)、ユーザに、生成された書き起こし記録のテキスト表現(例えば、複合現実において表示されるテキスト文字)を提示し、ユーザからの別のタイプの入力(例えば、視線入力、ジェスチャ入力等)を受信し、ユーザから受信された他のタイプの入力に基づいて、書き起こし記録の一部を選択および編集するように構成されてもよい。
【0058】
ユーザ入力モダリティをこのように組み合わせることによって、テキスト構成および編集プロセスは、発話入力が、構成のための視線入力(例えば、視線タイプは、疲労をもたらし得る)より効果的であり得、視線入力(またはジェスチャ入力)が、編集するため、発話入力(例えば、発話を使用して書き起こされたメッセージを選択または変更することは、エラーを受けやすくあり得る)より効果的であり得るため、高速かつより直感的となり得る。
ウェアラブルシステムの3Dディスプレイの実施例
【0059】
ウェアラブルシステム(本明細書では、拡張現実(AR)システムとも称される)は、2Dまたは3D仮想画像をユーザに提示するために構成されることができる。画像は、組み合わせまたは同等物における、静止画像、ビデオのフレーム、またはビデオであってもよい。ウェアラブルシステムは、ユーザ相互作用のために、単独で、または組み合わせて、VR、AR、またはMRコンテンツを環境内に提示し得る、ウェアラブルデバイスを含むことができる。ウェアラブルデバイスは、頭部搭載ディスプレイを含み得る、頭部搭載型デバイス(HMD)であることができる。いくつかの状況では、ウェアラブルデバイスは、ARデバイス(ARD)と同義的に参照される。
【0060】
図1は、人物によって視認される、ある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、複合現実シナリオの例証を描写する。
図1では、MR場面100が、描写され、MR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム120を特徴とする、実世界公園状設定110が見える。これらのアイテムに加え、MR技術のユーザはまた、実世界プラットフォーム120上に立っているロボット像130と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ140とが「見える」と知覚するが、これらの要素は、実世界には存在しない。
【0061】
3Dディスプレイが、真の深度感覚、より具体的には、表面深度のシミュレートされた感覚を生成するために、ディスプレイの視野内の点毎に、その仮想深度に対応する遠近調節応答を生成することが望ましくあり得る。ディスプレイ点に対する遠近調節応答が、収束および立体視の両眼深度キューによって決定されるようなその点の仮想深度に対応しない場合、ヒトの眼は、遠近調節衝突を体験し、不安定な結像、有害な眼精疲労、頭痛、および遠近調節情報の不在下では、表面深度のほぼ完全な欠如をもたらし得る。
【0062】
VR、AR、およびMR体験は、複数のレンダリング平面に対応する画像が視認者に提供されるディスプレイを有する、ディスプレイシステムによって提供されることができる。レンダリング平面は、深度平面または複数の深度平面に対応することができる。画像は、レンダリング平面毎に異なってもよく(例えば、場面またはオブジェクトの若干異なる提示を提供する)、視認者の眼によって別個に集束され、それによって、異なるレンダリング平面上に位置する場面に関する異なる画像特徴に合焦させるために要求される眼の遠近調節に基づいて、または合焦からずれている異なるレンダリング平面上の異なる画像特徴を観察することに基づいて、ユーザに深度キューを提供することに役立ち得る。本明細書のいずれかに議論されるように、そのような深度キューは、信用できる深度の知覚を提供する。
【0063】
図2は、ウェアラブルシステム200の実施例を図示する。ウェアラブルシステム200は、ディスプレイ220と、ディスプレイ220の機能をサポートするための種々の機械的ならびに電子的モジュールおよびシステムとを含む。ディスプレイ220は、ユーザ、装着者、または視認者210によって装着可能である、フレーム230に結合されてもよい。ディスプレイ220は、ユーザ210の眼の正面に位置付けられることができる。ディスプレイ220は、AR/VR/MRコンテンツをユーザに提示することができる。ディスプレイ220は、ユーザの頭部上に装着される、頭部搭載型ディスプレイ(HMD)を備えることができる。いくつかの実施形態では、スピーカ240が、フレーム230に結合され、ユーザの外耳道に隣接して位置付けられる(いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音響制御を提供する)。ディスプレイ220は、音認識を実行するための環境からオーディオストリームを検出するために、オーディオセンサ232(例えば、マイクロホン)を含むことができる。
【0064】
ウェアラブルシステム200は、ユーザの周囲の環境内の世界を観察する、外向きに面した結像システム464(
図4に示される)を含むことができる。ウェアラブルシステム200はまた、ユーザの眼移動を追跡することができる、内向きに面した結像システム462(
図4に示される)を含むことができる。内向きに面した結像システムは、一方の眼の移動または両方の眼の移動のいずれかを追跡することができる。内向きに面した結像システム462は、フレーム230に取り付けられてもよく、内向きに面した結像システムによって入手された画像情報を処理し、例えば、ユーザ210の眼の瞳孔直径もしくは配向、眼の移動、または眼姿勢を決定し得る、処理モジュール260または270と電気通信してもよい。
【0065】
実施例として、ウェアラブルシステム200は、外向きに面した結像システム464または内向きに面した結像システム462を使用して、ユーザの姿勢の画像を入手することができる。画像は、静止画像、ビデオのフレーム、ビデオ、それらの組み合わせ、または同等物であってもよい。
【0066】
ディスプレイ220は、有線導線または無線接続等によって、フレーム230に固定して取り付けられる、ユーザによって装着されるヘルメットもしくは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ210に除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載され得る、ローカルデータ処理モジュール260に動作可能に結合されることができる(250)。
【0067】
ローカル処理およびデータモジュール260は、ハードウェアプロセッサならびに不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを備えてもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、環境センサ(例えば、フレーム230に動作可能に結合される、または別様にユーザ210に取り付けられ得る)、オーディオセンサ232(例えば、マイクロホン)から捕捉されるデータ(a)または、場合によっては処理もしくは読出後にディスプレイ220への通過のために、遠隔処理モジュール270もしくは遠隔データリポジトリ280を使用して入手もしくは処理されるデータ(b)を含んでもよい。ローカル処理およびデータモジュール260は、これらの遠隔モジュールがローカル処理およびデータモジュール260へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、通信リンク262または264を遠隔処理モジュール270または遠隔データリポジトリ280に動作可能に結合されてもよい。加えて、遠隔処理モジュール280および遠隔データリポジトリ280は、相互に動作可能に結合されてもよい。
【0068】
いくつかの実施形態では、遠隔処理モジュール270は、データおよび/または画像情報を分析および処理するように構成される、1つもしくはそれを上回るプロセッサを備えてもよい。いくつかの実施形態では、遠隔データリポジトリ280は、デジタルデータ記憶設備を備えてもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータは、記憶され、全ての算出は、ローカル処理およびデータモジュールにおいて実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
【0069】
図2に説明されるコンポーネントに加え、またはその代替として、ウェアラブルシステム200は、環境センサを含み、オブジェクト、刺激、人々、動物、場所、またはユーザの周囲の世界の他の側面を検出することができる。環境センサは、画像捕捉デバイス(例えば、カメラ、内向きに面した結像システム、外向きに面した結像システム等)、マイクロホン、慣性測定ユニット(IMU)、加速度計、磁力計(コンパス)、全地球測位システム(GPS)ユニット、無線デバイス、ジャイロスコープ、高度計、気圧計、化学センサ、湿度センサ、温度センサ、外部マイクロホン、光センサ(例えば、露光計)、タイミングデバイス(例えば、クロックまたはカレンダ)、またはそれらの任意の組み合わせもしくは副次的組み合わせを含んでもよい。ある実施形態では、IMUは、9-軸IMUであってもよく、これは、三重軸ジャイロスコープ、三重軸加速度計、および三重軸磁力計を含むことができる。
【0070】
環境センサはまた、種々の生理学的センサを含んでもよい。これらのセンサは、心拍数、呼吸数、ガルバニック皮膚応答、血圧、脳波状態等のユーザの生理学的パラメータを測定または推定することができる。環境センサはさらに、レーザ、可視光、不可視波長の光、または音(例えば、可聴音、超音波、または他の周波数)等の信号を受信するように構成される、放出デバイスを含んでもよい。いくつかの実施形態では、1つ以上の環境センサ(例えば、カメラまたは光センサ)は、環境の周囲光(例えば、輝度)を測定するように構成されてもよい(例えば、環境の照明条件を捕捉するため)。歪みゲージ、縁石検出器、または同等物等の物理的接触センサもまた、環境センサとして含まれてもよい。
【0071】
ヒト視覚系は、複雑であって、深度の現実的知覚を提供することは、困難である。理論によって限定されるわけではないが、オブジェクトの視認者は、輻輳・開散運動(vergence)移動と遠近調節(accmmodation)の組み合わせに起因して、オブジェクトを3次元として知覚し得ると考えられる。相互に対する2つの眼の輻輳・開散運動移動(例えば、瞳孔が、相互に向かって、またはそこから離れるように移動し、眼の視線を収束させ、オブジェクトを固視するような瞳孔の回転)は、眼の水晶体の合焦(または「遠近調節」)と緊密に関連付けられる。通常条件下、焦点を1つのオブジェクトから異なる距離における別のオブジェクトに変化させるための眼のレンズの焦点の変化または眼の遠近調節は、「遠近調節-輻輳・開散運動反射」として知られる関係下、輻輳・開散運動の整合変化を自動的に同一距離に生じさせるであろう。同様に、輻輳・開散運動の変化は、通常条件下、遠近調節の整合変化を誘起するであろう。遠近調節と輻輳・開散運動との間のより良好な整合を提供するディスプレイシステムは、3次元画像のより現実的かつ快適なシミュレーションを形成し得る。
【0072】
図3は、複数のレンダリング平面を使用して3次元画像をシミュレートするためのアプローチの側面を図示する。
図3を参照すると、z-軸上の眼302および304からの種々の距離におけるオブジェクトは、それらのオブジェクトが合焦するように、眼302および304によって遠近調節される。眼302および304は、特定の遠近調節された状態をとり、オブジェクトをz-軸に沿った異なる距離に合焦させる。その結果、特定の遠近調節された状態は、特定のレンダリング平面におけるオブジェクトまたはオブジェクトの一部が、眼がそのレンダリング平面に対して遠近調節された状態にあるとき、合焦するように、関連付けられた焦点距離を有する、レンダリング平面306のうちの特定の1つと関連付けられると言え得る。いくつかの実施形態では、3次元画像は、眼302および304毎に、画像の異なる提示を提供することによって、また、レンダリング平面のそれぞれに対応する画像の異なる提示を提供することによって、シミュレートされてもよい。例証を明確にするために、別個であるように示されるが、眼302および304の視野は、例えば、z-軸に沿った距離が増加するにつれて、重複し得ることを理解されたい。加えて、例証を容易にするために、平坦であるように示されるが、レンダリング平面の等高線は、レンダリング平面内の全ての特徴が特定の遠近調節された状態における眼と合焦するように、物理的空間内で湾曲され得ることを理解されたい。理論によって限定されるわけではないが、ヒトの眼は、典型的には、有限数のレンダリング平面を解釈し、深度知覚を提供することができると考えられる。その結果、知覚された深度の高度に真実味のあるシミュレーションが、眼にこれらの限定数のレンダリング平面のそれぞれに対応する画像の異なる提示を提供することによって達成され得る。
導波管スタックアセンブリ
【0073】
図4は、画像情報をユーザに出力するための導波管スタックの実施例を図示する。ウェアラブルシステム400は、複数の導波管432b、434b、436b、438b、4400bを使用して、3次元知覚を眼/脳に提供するために利用され得る、導波管のスタックまたはスタックされた導波管アセンブリ480を含む。いくつかの実施形態では、ウェアラブルシステム400は、
図2のウェアラブルシステム200に対応してもよく、
図4は、そのウェアラブルシステム200のいくつかの部分をより詳細に概略的に示す。例えば、いくつかの実施形態では、導波管アセンブリ480は、
図2のディスプレイ220の中に統合されてもよい。
【0074】
図4を継続して参照すると、導波管アセンブリ480はまた、複数の特徴458、456、454、452を導波管間に含んでもよい。いくつかの実施形態では、特徴458、456、454、452は、レンズであってもよい。他の実施形態では、特徴458、456、454、452は、レンズではなくてもよい。むしろ、それらは、単に、スペーサであってもよい(例えば、空気間隙を形成するためのクラッディング層または構造)。
【0075】
導波管432b、434b、436b、438b、440bまたは複数のレンズ458、456、454、452は、種々のレベルの波面曲率または光線発散を用いて、画像情報を眼に送信するように構成されてもよい。各導波管レベルは、特定のレンダリング平面と関連付けられてもよく、そのレンダリング平面に対応する画像情報を出力するように構成されてもよい。画像投入デバイス420、422、424、426、428は、それぞれ、眼410に向かって出力するために、各個別の導波管を横断して入射光を分散させるように構成され得る、導波管440b、438b、436b、434b、432bの中に画像情報を投入するために利用されてもよい。光は、画像投入デバイス420、422、424、426、428の出力表面から出射し、導波管440b、438b、436b、434b、432bの対応する入力縁の中に投入される。いくつかの実施形態では、光の単一ビーム(例えば、コリメートされたビーム)が、各導波管の中に投入され、特定の導波管と関連付けられたレンダリング平面に対応する特定の角度(および発散量)において眼410に向かって指向される、クローン化されたコリメートビームの場全体を出力してもよい。
【0076】
いくつかの実施形態では、画像投入デバイス420、422、424、426、428は、それぞれ、それぞれの対応する導波管440b、438b、436b、434b、432bの中への投入のための画像情報を生成する、離散ディスプレイである。いくつかの他の実施形態では、画像投入デバイス420、422、424、426、428は、例えば、画像情報を1つ以上の光学導管(光ファイバケーブル等)を介して、画像投入デバイス420、422、424、426、428のそれぞれに送り得る、単一の多重化されたディスプレイの出力端である。
【0077】
コントローラ460が、スタックされた導波管アセンブリ480および画像投入デバイス420、422、424、426、428の動作を制御する。コントローラ460は、導波管440b、438b、436b、434b、432bへの画像情報のタイミングおよび提供を調整する、プログラミング(例えば、非一過性コンピュータ可読媒体内の命令)を含む。いくつかの実施形態では、コントローラ460は、単一一体型デバイスまたは有線もしくは無線通信チャネルによって接続される分散型システムであってもよい。コントローラ460は、いくつかの実施形態では、処理モジュール260または270(
図2に図示される)の一部であってもよい。
【0078】
導波管440b、438b、436b、434b、432bは、全内部反射(TIR)によって各個別の導波管内で光を伝搬するように構成されてもよい。導波管440b、438b、436b、434b、432bはそれぞれ、主要な上部および底部表面ならびにそれらの主要上部表面と底部表面との間に延在する縁を伴う、平面である、または別の形状(例えば、湾曲)を有してもよい。図示される構成では、導波管440b、438b、436b、434b、432bはそれぞれ、光を再指向させ、各個別の導波管内で伝搬させ、導波管から、画像情報を眼410に出力することによって、光を導波管から抽出するように構成される、光抽出光学要素440a、438a、436a、434a、432aを含んでもよい。抽出された光はまた、外部結合光と称され得、光抽出光学要素はまた、外部結合光学要素と称され得る。抽出された光のビームは、導波管によって、導波管内を伝搬する光が光再指向要素に衝打する場所に出力される。光抽出光学要素(440a、438a、436a、434a、432a)は、例えば、反射または回折光学特徴であってもよい。説明の容易性および図面の明確性のために、導波管440b、438b、436b、434b、432bの底部主要表面に配置されて図示されるが、いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、上部または底部主要表面に配置されてもよい、または導波管440b、438b、436b、434b、432bの容積内に直接配置されてもよい。いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、透明基板に取り付けられ、導波管440b、438b、436b、434b、432bを形成する、材料の層内に形成されてもよい。いくつかの他の実施形態では、導波管440b、438b、436b、434b、432bは、材料のモノリシック部品であってもよく、光抽出光学要素440a、438a、436a、434a、432aは、材料のその部品の表面上および/またはその内部に形成されてもよい。
【0079】
図4を継続して参照すると、本明細書に議論されるように、各導波管440b、438b、436b、434b、432bは、光を出力し、特定のレンダリング平面に対応する画像を形成するように構成される。例えば、眼の最近傍の導波管432bは、そのような導波管432bの中に投入されるにつれて、コリメートされた光を眼410に送達するように構成されてもよい。コリメートされた光は、光学無限遠焦点面を表し得る。次の上方の導波管434bは、眼410に到達し得る前に、第1のレンズ452(例えば、負のレンズ)を通して通過する、コリメートされた光を送出するように構成されてもよい。第1のレンズ452は、眼/脳が、その次の上方の導波管434bから生じる光を光学無限遠から眼410に向かって内向きにより近い第1の焦点面から生じるように解釈するように、若干の凸面波面曲率を生成するように構成されてもよい。同様に、第3の上方の導波管436bは、眼410に到達する前に、その出力光を第1のレンズ452および第2のレンズ454の両方を通して通過させる。第1および第2のレンズ452ならびに454の組み合わせられた屈折力は、眼/脳が、第3の導波管436bから生じる光が次の上方の導波管434bからの光であった光学無限遠から人物に向かって内向きにさらにより近い第2の焦点面から生じるように解釈するように、別の漸増量の波面曲率を生成するように構成されてもよい。
【0080】
他の導波管層(例えば、導波管438b、440b)およびレンズ(例えば、レンズ456、458)も同様に構成され、スタック内の最高導波管440bを用いて、人物に最も近い焦点面を表す集約焦点力のために、その出力をそれと眼との間のレンズの全てを通して送出する。スタックされた導波管アセンブリ480の他側の世界470から生じる光を視認/解釈するとき、レンズ458、456、454、452のスタックを補償するために、補償レンズ層430が、スタックの上部に配置され、下方のレンズスタック458、456、454、452の集約力を補償してもよい。そのような構成は、利用可能な導波管/レンズ対と同じ数の知覚される焦点面を提供する。導波管の光抽出光学要素およびレンズの集束側面は両方とも、静的であってもよい(例えば、動的または電気活性ではない)。いくつかの代替実施形態では、一方または両方とも、電気活性特徴を使用して動的であってもよい。
【0081】
図4を継続して参照すると、光抽出光学要素440a、438a、436a、434a、432aは、光をその個別の導波管から再指向し、かつ本光を導波管と関連付けられた特定のレンダリング平面のための適切な量の発散またはコリメーションを伴って出力することの両方のために構成されてもよい。その結果、異なる関連付けられたレンダリング平面を有する導波管は、関連付けられたレンダリング平面に応じて、異なる量の発散を伴う光を出力する、異なる構成の光抽出光学要素を有してもよい。いくつかの実施形態では、本明細書に議論されるように、光抽出光学要素440a、438a、436a、434a、432aは、具体的角度において光を出力するように構成され得る、立体または表面特徴であってもよい。例えば、光抽出光学要素440a、438a、436a、434a、432aは、体積ホログラム、表面ホログラム、および/または回折格子であってもよい。回折格子等の光抽出光学要素は、2015年6月25日に公開された米国特許公開第2015/0178939号(参照することによってその全体として本明細書に組み込まれる)に説明される。
【0082】
いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、回折パターンを形成する回折特徴、すなわち、「回折光学要素」(本明細書では、「DOE」とも称される)である。好ましくは、DOEは、ビームの光の一部のみが、DOEの各交差点を用いて、眼410に向かって偏向される一方、残りが、全内部反射を介して、導波管を通して移動し続けるように、比較的に低回折効率を有する。画像情報を搬送する光は、したがって、複数の場所において導波管から出射する、いくつかの関連出射ビームに分割され、その結果、導波管内でバウンスする本特定のコリメートされたビームに関して、眼304に向かって非常に均一パターンの出射放出となることができる。
【0083】
いくつかの実施形態では、1つ以上のDOEは、能動的に回折する「オン」状態と有意に回折しない「オフ」状態との間で切替可能であってもよい。例えば、切替可能なDOEは、ポリマー分散液晶の層を備えてもよく、その中で微小液滴は、ホスト媒体中に回折パターンを備え、微小液滴の屈折率は、ホスト材料の屈折率に実質的に整合するように切り替えられることができる(その場合、パターンは、入射光を著しく回折させない)、または微小液滴は、ホスト媒体のものに整合しない屈折率に切り替えられることができる(その場合、パターンは、入射光を能動的に回折させる)。
【0084】
いくつかの実施形態では、レンダリング平面または被写界深度の数および分布は、視認者の眼の瞳孔サイズまたは配向に基づいて、動的に変動されてもよい。被写界深度は、視認者の瞳孔サイズと反比例して変化してもよい。その結果、視認者の眼の瞳孔のサイズが減少するにつれて、被写界深度は、その平面の場所が眼の焦点深度を越えるため判別不能である1つの平面が、判別可能となり、瞳孔サイズの低減および被写界深度の相当する増加に伴って、より合焦して現れ得るように増加する。同様に、異なる画像を視認者に提示するために使用される、離間されるレンダリング平面の数は、減少された瞳孔サイズに伴って減少されてもよい。例えば、視認者は、一方のレンダリング平面から他方のレンダリング平面への眼の遠近調節を調節せずに、第1のレンダリング平面および第2のレンダリング平面の両方の詳細を1つの瞳孔サイズにおいて明確に知覚することが可能ではない場合がある。しかしながら、これらの2つのレンダリング平面は、同時に、遠近調節を変化させずに、別の瞳孔サイズにおいてユーザに合焦するには十分であり得る。
【0085】
いくつかの実施形態では、ディスプレイシステムは、瞳孔サイズまたは配向の決定に基づいて、もしくは特定の瞳孔サイズまたは配向を示す電気信号の受信に応じて、画像情報を受信する導波管の数を変動させてもよい。例えば、ユーザの眼が、2つの導波管と関連付けられた2つのレンダリング平面間を区別不能である場合、コントローラ460は、これらの導波管のうちの1つへの画像情報の提供を停止するように構成またはプログラムされてもよい。有利には、これは、システムへの処理負担を低減させ、それによって、システムの応答性を増加させ得る。導波管のためのDOEがオンおよびオフ状態間で切替可能である実施形態では、DOEは、導波管が画像情報を受信するとき、オフ状態に切り替えられてもよい。
【0086】
いくつかの実施形態では、出射ビームに視認者の眼の直径未満の直径を有するという条件を満たさせることが望ましくあり得る。しかしながら、本条件を満たすことは、視認者の瞳孔のサイズの変動性に照らして、困難であり得る。いくつかの実施形態では、本条件は、視認者の瞳孔のサイズの決定に応答して出射ビームのサイズを変動させることによって、広範囲の瞳孔サイズにわたって満たされる。例えば、瞳孔サイズが減少するにつれて、出射ビームのサイズもまた、減少し得る。いくつかの実施形態では、出射ビームサイズは、可変開口を使用して変動されてもよい。
【0087】
ウェアラブルシステム400は、世界470の一部を結像する、外向きに面した結像システム464(例えば、デジタルカメラ)を含むことができる。世界470の本部分は、世界カメラの視野(FOV)と称され得、結像システム464は、時として、FOVカメラとも称される。視認者による視認または結像のために利用可能な領域全体は、動眼視野(FOR)と称され得る。FORは、装着者が、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚することができるため、ウェアラブルシステム400を囲繞する4πステラジアンの立体角を含んでもよい。他のコンテキストでは、装着者の移動は、より抑制されてもよく、それに応じて、装着者のFORは、より小さい立体角に接し得る。外向きに面した結像システム464から得られた画像は、ユーザによって行われるジェスチャ(例えば、手または指のジェスチャ)を追跡し、ユーザの正面における世界470内のオブジェクトを検出する等のために、使用されることができる。
【0088】
ウェアラブルシステム400はまた、眼移動および顔移動等のユーザの移動を観察する、内向きに面した結像システム462(例えば、デジタルカメラ)を含むことができる。内向きに面した結像システム462は、眼410の画像を捕捉し、眼304の瞳孔のサイズおよび/または配向を決定するために使用されてもよい。内向きに面した結像システム462は、ユーザが見ている方向(例えば、眼姿勢)を決定する際に使用するため、またはユーザのバイオメトリック識別のため(例えば、虹彩識別を介して)、画像を得るために使用されることができる。いくつかの実施形態では、少なくとも1つのカメラが、眼毎に、独立して、各眼の瞳孔サイズまたは眼姿勢を別個に決定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために利用されてもよい。いくつかの他の実施形態では、単一眼410のみの瞳孔直径または配向(例えば、対の眼あたり単一カメラのみを使用して)が、決定され、ユーザの両眼に関して類似すると仮定される。内向きに面した結像システム462によって得られる画像は、ユーザに提示されるべきオーディオまたは視覚的コンテンツを決定するためにウェアラブルシステム400によって使用され得る、ユーザの眼姿勢または気分を決定するために分析されてもよい。ウェアラブルシステム400はまた、IMU、加速度計、ジャイロスコープ等のセンサを使用して、頭部姿勢(例えば、頭部位置または頭部配向)を決定してもよい。
【0089】
ウェアラブルシステム400は、ユーザが、コマンドをコントローラ460に入力し、ウェアラブルシステム400と相互作用し得る、ユーザ入力デバイス466を含むことができる。例えば、ユーザ入力デバイス466は、トラックパッド、タッチスクリーン、ジョイスティック、多自由度(DOF)コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、指向性パッド(Dパッド)、ワンド、触知デバイス、トーテム(例えば、仮想ユーザ入力デバイスとして機能する)等を含むことができる。マルチDOFコントローラは、コントローラの一部または全部の可能性として考えられる平行移動(例えば、左/右、前方/後方、もしくは上/下)または回転(例えば、ヨー、ピッチ、もしくはロール)におけるユーザ入力を感知することができる。平行移動をサポートする、マルチDOFコントローラは、3DOFと称され得る一方、平行移動および回転をサポートする、マルチDOFコントローラは、6DOFと称され得る。ある場合には、ユーザは、指(例えば、親指)を使用して、タッチセンサ式入力デバイスを押下またはその上でスワイプし、入力をウェアラブルシステム400に提供してもよい(例えば、ユーザ入力をウェアラブルシステム400によって提供されるユーザインターフェースに提供するために)。ユーザ入力デバイス466は、ウェアラブルシステム400の使用の間、ユーザの手によって保持されてもよい。ユーザ入力デバイス466は、ウェアラブルシステム400と有線または無線通信することができる。
【0090】
図5は、導波管によって出力された出射ビームの実施例を示す。1つの導波管が、図示されるが、導波管アセンブリ480内の他の導波管も、同様に機能してもよく、導波管アセンブリ480は、複数の導波管を含むことを理解されたい。光520が、導波管432bの入力縁432cにおいて導波管432bの中に投入され、TIRによって導波管432b内を伝搬する。光520がDOE432aに衝突する点において、光の一部が、出射ビーム510として導波管から出射する。出射ビーム510は、略平行として図示されるが、それらはまた、導波管432bと関連付けられたレンダリング平面に応じて、ある角度(例えば、発散出射ビーム形成)において眼410に伝搬するように再指向されてもよい。略平行出射ビームは、眼410からの遠距離(例えば、光学無限遠)におけるレンダリング平面に設定されるように現れる画像を形成するように光を外部結合する、光抽出光学要素を伴う導波管を示し得ることを理解されたい。他の導波管または他の光抽出光学要素のセットは、より発散する、出射ビームパターンを出力してもよく、これは、眼410がより近い距離に遠近調節し、網膜に合焦させることを要求し、光学無限遠より眼410に近い距離からの光として脳によって解釈されるであろう。
【0091】
図6は、導波管装置と、光を導波管装置へまたはそこから光学的に結合するための光学結合器サブシステムと、多焦点立体ディスプレイ、画像、またはライトフィールドの生成において使用される制御サブシステムとを含む、光学システムを示す、概略図である。光学システムは、導波管装置と、光を導波管装置にまたはそこから光学的に結合するための光学結合器サブシステムと、制御サブシステムとを含むことができる。光学システムは、多焦点立体、画像、またはライトフィールドを生成するために使用されることができる。光学システムは、1つ以上の一次平面導波管632a(1つのみのが
図6に示される)と、一次導波管632aの少なくともいくつかのそれぞれと関連付けられた1つ以上のDOE632bとを含むことができる。平面導波管632bは、
図4を参照して議論される導波管432b、434b、436b、438b、440bに類似することができる。光学システムは、分散導波管装置を採用し、光を第1の軸(
図6の図では、垂直またはY-軸)に沿って中継し、第1の軸(例えば、Y-軸)に沿って光の有効射出瞳を拡張されてもよい。分散導波管装置は、例えば、分散平面導波管622bと、分散平面導波管622bと関連付けられた少なくとも1つのDOE622a(二重破線によって図示される)とを含んでもよい。分散平面導波管622bは、少なくともいくつかの点において、それと異なる配向を有する一次平面導波管632bと類似または同じであってもよい。同様に、少なくとも1つのDOE622aは、少なくともいくつかの点において、DOE632aと類似または同じであってもよい。例えば、分散平面導波管622bまたはDOE622aは、それぞれ、一次平面導波管632bまたはDOE632aと同一材料から成ってもよい。
図6に示される光学ディスプレイシステム600の実施形態は、
図2に示されるウェアラブルシステム200の中に統合されることができる。
【0092】
中継され、射出瞳が拡張された光は、分散導波管装置から1つ以上の一次平面導波管632bの中に光学的に結合され得る。一次平面導波管632bは、好ましくは、第1の軸に直交する、第2の軸(例えば、
図6の図では、水平またはX-軸)に沿って、光を中継することができる。着目すべきこととして、第2の軸は、第1の軸に対して非直交軸であることができる。一次平面導波管632bは、その第2の軸(例えば、X-軸)に沿って、光の有効射出瞳を拡張させる。例えば、分散平面導波管622bは、光を垂直またはY-軸に沿って中継および拡張させ、光を水平またはX-軸に沿って中継および拡張させ得る、一次平面導波管632bにその光を通過させることができる。
【0093】
光学システムは、単一モード光ファイバ640の近位端の中に光学的に結合され得る、1つ以上の着色光源(例えば、赤色、緑色、および青色レーザ光)610を含んでもよい。光ファイバ640の遠位端は、圧電材料の中空管642を通して螺合または受容されてもよい。遠位端は、固定されない可撓性カンチレバー644として、管642から突出する。圧電管642は、4つの象限電極(図示せず)と関連付けられることができる。電極は、例えば、管642の外側、外側表面もしくは外側周縁、または直径に鍍着されてもよい。コア電極(図示せず)もまた、管642のコア、中心、内側周縁、または内径に位置してもよい。
【0094】
例えば、ワイヤ660を介して電気的に結合される、駆動電子機器650は、対向する対の電極を駆動し、圧電管642を独立して2つの軸において屈曲させる。光ファイバ644の突出する遠位先端は、機械的共鳴モードを有する。共鳴の周波数は、光ファイバ644の直径、長さ、および材料性質に依存し得る。圧電管642をファイバカンチレバー644の第1の機械的共鳴モードの近傍で振動させることによって、ファイバカンチレバー644は、振動させられ、大偏向を通して掃引し得る。
【0095】
2つの軸において共振振動を刺激することによって、ファイバカンチレバー644の先端は、2次元(2D)走査を充填する面積内において2軸方向に走査される。光源610の強度をファイバカンチレバー644の走査と同期して変調させることによって、ファイバカンチレバー644から発せられる光は、画像を形成することができる。そのような設定の説明は、米国特許公開第2014/0003762号(参照することによってその全体として本明細書に組み込まれる)に提供されている。
【0096】
光学結合器サブシステムのコンポーネントは、走査ファイバカンチレバー644から発せられる光をコリメートすることができる。コリメートされた光は、鏡面表面648によって、少なくとも1つの回折光学要素(DOE)622aを含有する、狭分散平面導波管622bの中に反射されることができる。コリメートされた光は、TIRによって分散平面導波管622bに沿って(
図6の図に対して)垂直に伝搬し、そうすることによって、DOE622aと繰り返し交差することができる。DOE622aは、好ましくは、低回折効率を有する。これは、光の一部(例えば、10%)をDOE622aとの交差点の各点においてより大きい一次平面導波管632bの縁に向かって回折させ、光の一部をTIRを介して分散平面導波管622bの長さを辿ってそのオリジナル軌道上で継続させることができる。
【0097】
DOE622aとの交差点の各点において、付加的光が、一次導波管632bの入口に向かって回折されることができる。入射光を複数の外部結合セットに分割することによって、光の射出瞳は、分散平面導波管622b内のDOE4によって垂直に拡張されることができる。分散平面導波管622bから外部結合された本垂直に拡張された光は、一次平面導波管632bの縁に進入することができる。
【0098】
一次導波管632bに進入する光は、TIRを介して、一次導波管632bに沿って(
図6の図に対して)水平に伝搬することができる。光は、複数の点においてDOE632aと交差するにつれて、TIRを介して、一次導波管632bの長さの少なくとも一部に沿って水平に伝搬する。DOE632aは、有利には、線形回折パターンおよび半径方向対称回折パターンの総和である、位相プロファイルを有し、光の偏向および集束の両方を生成するように設計または構成され得る。DOE632aは、有利には、ビームの光の一部のみが、DOE632aの各交差点において視認者の眼に向かって偏向される一方、光の残りが、TIRを介して、一次導波管632bを通して伝搬し続けるように、低回折効率(例えば、10%)を有し得る。
【0099】
伝搬する光とDOE632aとの間の交差点の各点において、光の一部は、一次導波管632bの隣接面に向かって回折され、光がTIRから逃散し、一次導波管632bの面から発せられることを可能にする。いくつかの実施形態では、DOE632aの半径方向対称回折パターンは、加えて、ある焦点レベルを回折された光に付与し、個々のビームの光波面を成形(例えば、曲率を付与する)し、かつビームを設計される焦点レベルに合致する角度に操向することの両方を行う。
【0100】
故に、これらの異なる経路は、異なる角度におけるDOE632aの多重度、焦点レベル、および/または射出瞳において異なる充填パターンをもたらすことによって、光を一次平面導波管632bの外部で結合させることができる。射出瞳における異なる充填パターンは、有利には、複数のレンダリング平面を伴うライトフィールドディスプレイを生成するために使用されることができる。導波管アセンブリ内の各層またはスタック内の層のセット(例えば、3層)が、個別の色(例えば、赤色、青色、緑色)を生成するために採用されてもよい。したがって、例えば、第1の3つの隣接する層のセットが、それぞれ、赤色、青色、および緑色光を第1の焦点深度において生成するために採用されてもよい。第2の3つの隣接する層のセットが、それぞれ、赤色、青色、および緑色光を第2の焦点深度において生成するために採用されてもよい。複数のセットが、種々の焦点深度を伴うフル3Dまたは4Dカラー画像ライトフィールドを生成するために採用されてもよい。
ウェアラブルシステムの他のコンポーネント
【0101】
多くの実装では、ウェアラブルシステムは、上記に説明されるウェアラブルシステムのコンポーネントに加えて、またはその代替として、他のコンポーネントを含んでもよい。ウェアラブルシステムは、例えば、1つもしくはそれを上回る触知デバイスまたはコンポーネントを含んでもよい。触知デバイスまたはコンポーネントは、触覚をユーザに提供するように動作可能であってもよい。例えば、触知デバイスまたはコンポーネントは、仮想コンテンツ(例えば、仮想オブジェクト、仮想ツール、他の仮想構造)に触れると、圧力またはテクスチャの感覚を提供してもよい。触覚は、仮想オブジェクトが表す物理的オブジェクトの感覚を再現してもよい、または仮想コンテンツが表す想像上のオブジェクトもしくはキャラクタ(例えば、ドラゴン)の感覚を再現してもよい。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって装着されてもよい(例えば、ユーザウェアラブルグローブ)。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって保持されてもよい。
【0102】
ウェアラブルシステムは、例えば、ユーザによって操作可能であって、ウェアラブルシステムへの入力またはそれとの相互作用を可能にする、1つ以上の物理的オブジェクトを含んでもよい。これらの物理的オブジェクトは、本明細書では、トーテムと称され得る。いくつかのトーテムは、例えば、金属またはプラスチック片、壁、テーブルの表面等、無生物オブジェクトの形態をとってもよい。ある実装では、トーテムは、実際には、任意の物理的入力構造(例えば、キー、トリガ、ジョイスティック、トラックボール、ロッカスイッチ)を有していなくてもよい。代わりに、トーテムは、単に、物理的表面を提供してもよく、ウェアラブルシステムは、ユーザにトーテムの1つ以上の表面上にあるように見えるように、ユーザインターフェースをレンダリングしてもよい。例えば、ウェアラブルシステムは、トーテムの1つ以上の表面上に常駐するように見えるように、コンピュータキーボードおよびトラックパッドの画像をレンダリングしてもよい。例えば、ウェアラブルシステムは、トーテムとしての役割を果たす、アルミニウムの薄い長方形プレートの表面上に見えるように、仮想コンピュータキーボードおよび仮想トラックパッドをレンダリングしてもよい。長方形プレート自体は、任意の物理的キーまたはトラックパッドもしくはセンサを有していない。しかしながら、ウェアラブルシステムは、仮想キーボードまたは仮想トラックパッドを介して行われた選択または入力として、長方形プレートを用いたユーザ操作または相互作用もしくはタッチを検出し得る。ユーザ入力デバイス466(
図4に示される)は、トラックパッド、タッチパッド、トリガ、ジョイスティック、トラックボール、ロッカもしくは仮想スイッチ、マウス、キーボード、多自由度コントローラ、または別の物理的入力デバイスを含み得る、トーテムの実施形態であってもよい。ユーザは、単独で、または姿勢と組み合わせて、トーテムを使用し、ウェアラブルシステムまたは他のユーザと相互作用してもよい。
【0103】
本開示のウェアラブルデバイス、HMD、およびディスプレイシステムと使用可能な触知デバイスおよびトーテムの実施例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明されている。
例示的ウェアラブルシステム、環境、およびインターフェース
【0104】
ウェアラブルシステムは、高被写界深度をレンダリングされたライトフィールド内で達成するために、種々のマッピング関連技法を採用してもよい。仮想世界をマッピングする際、実世界内の全ての特徴および点を把握し、仮想オブジェクトを実世界に関連して正確に描くことが有利である。この目的を達成するために、ウェアラブルシステムのユーザから捕捉されたFOV画像が、実世界の種々の点および特徴についての情報を伝達する新しい写真を含むことによって、世界モデルに追加されることができる。例えば、ウェアラブルシステムは、マップ点(2D点または3D点等)のセットを収集し、新しいマップ点を見出し、世界モデルのより正確なバージョンをレンダリングすることができる。第1のユーザの世界モデルは、第2のユーザが第1のユーザを囲繞する世界を体験し得るように、(例えば、クラウドネットワーク等のネットワークを経由して)第2のユーザに通信されることができる。
【0105】
図7は、MR環境700の実施例のブロック図である。MR環境700は、入力(例えば、ユーザのウェアラブルシステムからの視覚的入力702、室内カメラ等の定常入力704、種々のセンサからの感覚入力706、ユーザ入力デバイス466からのジェスチャ、トーテム、眼追跡、ユーザ入力等)を1つ以上のユーザウェアラブルシステム(例えば、ウェアラブルシステム200もしくはディスプレイシステム220)または定常室内システム(例えば、室内カメラ等)から受信するように構成されてもよい。ウェアラブルシステムは、種々のセンサ(例えば、加速度計、ジャイロスコープ、温度センサ、移動センサ、深度センサ、GPSセンサ、内向きに面した結像システム、外向きに面した結像システム等)を使用して、ユーザの環境の場所および種々の他の属性を決定することができる。本情報はさらに、異なる視点からの画像または種々のキューを提供し得る、部屋内の定常カメラからの情報で補完されてもよい。カメラ(室内カメラおよび/または外向きに面した結像システムのカメラ等)によって入手された画像データは、マッピング点のセットに低減されてもよい。
【0106】
1つ以上のオブジェクト認識装置708が、受信されたデータ(例えば、点の集合)を通してクローリングし、点を認識またはマッピングし、画像をタグ付けし、マップデータベース710を用いて、意味論情報をオブジェクトに結び付けることができる。マップデータベース710は、経時的に収集された種々の点およびその対応するオブジェクトを備えてもよい。種々のデバイスおよびマップデータベースは、ネットワーク(例えば、LAN、WAN等)を通して相互に接続され、クラウドにアクセスすることができる。
【0107】
本情報およびマップデータベース内の点集合に基づいて、オブジェクト認識装置708a-708nは、環境内のオブジェクトを認識してもよい。例えば、オブジェクト認識装置は、顔、人物、窓、壁、ユーザ入力デバイス、テレビ、ユーザの環境内の他のオブジェクト等を認識することができる。1つ以上のオブジェクト認識装置が、ある特性を伴うオブジェクトのために特殊化されてもよい。例えば、オブジェクト認識装置708aは、顔を認識するために使用されてもよい一方、別のオブジェクト認識装置は、トーテムを認識するために使用されてもよい。
【0108】
オブジェクト認識は、種々のコンピュータビジョン技法を使用して実施されてもよい。例えば、ウェアラブルシステムは、外向きに面した結像システム464(
図4に示される)によって入手された画像を分析し、場面再構成、イベント検出、ビデオ追跡、オブジェクト認識、オブジェクト姿勢推定、学習、インデックス化、運動推定、または画像復元等を実施することができる。1つ以上のコンピュータビジョンアルゴリズムが、これらのタスクを実施するために使用されてもよい。コンピュータビジョンアルゴリズムの非限定的実施例は、スケール不変特徴変換(SIFT)、スピードアップロバスト特徴(SURF)、配向FASTおよび回転BRIEF(ORB)、バイナリロバスト不変スケーラブルキーポイント(BRISK)、高速網膜キーポイント(FREAK)、Viola-Jonesアルゴリズム、Eigenfacesアプローチ、Lucas-Kanadeアルゴリズム、Horn-Schunkアルゴリズム、Mean-shiftアルゴリズム、視覚的同時位置推定およびマッピング(vSLAM)技法、シーケンシャルベイズ推定器(例えば、カルマンフィルタ、拡張カルマンフィルタ等)、バンドル調節、適応閾値化(および他の閾値化技法)、反復最近傍点(ICP)、セミグローバルマッチング(SGM)、セミグローバルブロックマッチング(SGBM)、特徴点ヒストグラム、種々の機械学習アルゴリズム(例えば、サポートベクトルマシン、k最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク(畳み込みまたは深層ニューラルネットワークを含む)、または他の教師あり/教師なしモデル等)等を含む。
【0109】
オブジェクト認識は、加えて、または代替として、種々の機械学習アルゴリズムによって実施されることができる。いったん訓練されると、機械学習アルゴリズムは、HMDによって記憶されることができる。機械学習アルゴリズムのいくつかの実施例は、教師ありまたは教師なし機械学習アルゴリズムを含むことができ、回帰アルゴリズム(例えば、通常の最小2乗回帰等)、インスタンスベースのアルゴリズム(例えば、学習ベクトル量子化等)、決定ツリーアルゴリズム(例えば、分類および回帰ツリー等)、ベイズアルゴリズム(例えば、単純ベイズ等)、クラスタリングアルゴリズム(例えば、k-平均クラスタリング等)、関連付けルール学習アルゴリズム(例えば、アプリオリアルゴリズム等)、人工ニューラルネットワークアルゴリズム(例えば、Perceptron等)、深層学習アルゴリズム(例えば、Deep Boltzmann Machine、すなわち、深層ニューラルネットワーク等)、次元削減アルゴリズム(例えば、主成分分析等)、アンサンブルアルゴリズム(例えば、Stacked Gneralization等)、および/または他の機械学習アルゴリズムを含む。いくつかの実施形態では、個々のモデルは、個々のデータセットのためにカスタマイズされることができる。例えば、ウェアラブルデバイスは、ベースモデルを生成または記憶することができる。ベースモデルは、開始点として使用され、データタイプ(例えば、テレプレゼンスセッション内の特定のユーザ)、データセット(例えば、テレプレゼンスセッション内のユーザの取得される付加的画像のセット)、条件付き状況、または他の変形例に特有の付加的モデルを生成してもよい。いくつかの実施形態では、ウェアラブルHMDは、複数の技法を利用して、集約されたデータの分析のためのモデルを生成するように構成されることができる。他の技法は、事前に定義された閾値またはデータ値を使用することを含んでもよい。
【0110】
マップデータベース内の本情報および点の集合に基づいて、オブジェクト認識装置708a-708nは、オブジェクトを認識し、オブジェクトを意味論情報で補完し、生命をオブジェクトに与えてもよい。例えば、オブジェクト認識装置が、点のセットがドアであることを認識する場合、システムは、いくつかの意味論情報を結び付けてもよい(例えば、ドアは、ヒンジを有し、ヒンジを中心として90度移動を有する)。オブジェクト認識装置が、点のセットが鏡であることを認識する場合、システムは、鏡が、部屋内のオブジェクトの画像を反射させ得る、反射表面を有するという意味論情報を結び付けてもよい。経時的に、マップデータベースは、システム(ローカルに常駐し得る、または無線ネットワークを通してアクセス可能であり得る)がより多くのデータを世界から蓄積するにつれて成長する。いったんオブジェクトが認識されると、情報は、1つ以上のウェアラブルシステムに伝送されてもよい。例えば、MR環境700は、Californiaで生成している場面についての情報を含んでもよい。環境700は、New Yorkにおける1人以上のユーザに伝送されてもよい。FOVカメラおよび他の入力から受信されたデータに基づいて、オブジェクト認識装置および他のソフトウェアコンポーネントは、場面が世界の異なる部分に存在し得る第2のユーザに正確に「パス」され得るように、種々の画像から収集された点をマッピングし、オブジェクトを認識すること等ができる。環境700はまた、位置特定目的のために、トポロジマップを使用してもよい。
【0111】
図8は、認識されたオブジェクトに関連して仮想コンテンツをレンダリングする方法800の実施例のプロセスフロー図である。方法800は、仮想場面がウェアラブルシステムのユーザに表され得る方法を説明する。ユーザは、その場面から地理的に遠隔に存在してもよい。例えば、ユーザは、New Yorkに存在し得るが、Californiaで現在起こっている場面を視認することを所望し得る、またはCaliforniaに存在する友人と散歩に行くことを所望し得る。
【0112】
ブロック810では、ウェアラブルシステムは、ユーザの環境に関する入力をユーザおよび他のユーザから受信してもよい。これは、種々の入力デバイスおよびマップデータベース内にすでに保有されている知識を通して達成されてもよい。ユーザのFOVカメラ、センサ、GPS、眼追跡等が、ブロック810において、情報をシステムに伝達する。システムは、ブロック820において、本情報に基づいて、疎点を決定してもよい。疎点は、ユーザの周囲における種々のオブジェクトの配向および位置を表示ならびに理解する際に使用され得る、姿勢データ(例えば、頭部姿勢、眼姿勢、身体姿勢、または手のジェスチャ)を決定する際に使用されてもよい。オブジェクト認識装置708a、708nは、ブロック830において、これらの収集された点を通してクローリングし、マップデータベースを使用して、1つ以上のオブジェクトを認識してもよい。本情報は、次いで、ブロック840において、ユーザの個々のウェアラブルシステムに伝達されてもよく、所望の仮想場面が、ブロック850において、適宜、ユーザに表示されてもよい。例えば、所望の仮想場面(例えば、CAにおけるユーザ)が、New Yorkにおけるユーザの種々のオブジェクトおよび他の周囲に関連して、適切な配向、位置等において表示されてもよい。
【0113】
図9は、ウェアラブルシステムの別の実施例のブロック図である。本実施例では、ウェアラブルシステム900は、世界に関するマップデータを含み得る、マップを備える。マップは、部分的に、ウェアラブルシステム上にローカルに常駐してもよく、部分的に、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所(例えば、クラウドシステム内)に常駐してもよい。姿勢プロセス910(例えば、頭部または眼姿勢)が、ウェアラブルコンピューティングアーキテクチャ(例えば、処理モジュール260またはコントローラ460)上で実行され、ウェアラブルコンピューティングハードウェアまたはユーザの位置および配向を決定するために、マップからのデータを利用してもよい。姿勢データは、ユーザが、システムを体験し、その世界内で動作するにつれて、オンザフライで収集されたデータから算出されてもよい。データは、実または仮想環境内のオブジェクトに関する画像、センサ(概して、加速度計およびジャイロスコープコンポーネントを備える、慣性測定ユニット等)からのデータ、および表面情報を備えてもよい。
【0114】
疎点表現は、同時位置特定およびマッピング(入力が画像/視覚のみである構成を指す、SLAMまたはV-SLAM)プロセスの出力であってもよい。システムは、世界内の種々のコンポーネントの場所だけではなく、世界が構成される内容も見出すように構成されることができる。姿勢は、マップへの取込およびマップからのデータを使用することを含め、多くの目標を達成する、構築ブロックであり得る。
【0115】
一実施形態では、疎点位置は、それ自体では完全に適正であり得ず、さらなる情報が、多焦点AR、VR、またはMR体験を生成するために必要とされ得る。概して、深度マップ情報を指す、稠密表現が、少なくとも部分的に、本間隙を充填するために利用されてもよい。そのような情報は、立体視940と称されるプロセスから算出されてもよく、深度情報は、三角測量または飛行時間感知等の技法を使用して決定される。画像情報およびアクティブパターン(アクティブプロジェクタを使用して生成される赤外線パターン等)が、立体視プロセス940への入力としての役割を果たし得る。有意な量の深度マップ情報が、ともに融合されてもよく、このうちのいくつかは、表面表現を用いて要約されてもよい。例えば、数学的に定義可能な表面は、ゲームエンジンのような他の処理デバイスへの効率的(例えば、大規模点群に対して)かつ要約しやすい入力であってもよい。したがって、立体視プロセス(例えば、深度マップ)940の出力は、融合プロセス930において組み合わせられてもよい。姿勢は、同様に、本融合プロセス930への入力であってもよく、融合930の出力は、マップ取込プロセス920への入力となる。サブ表面が、トポグラフィマッピング等において相互に接続し、より大きい表面を形成し得、マップは、点および表面の大規模ハイブリッドとなる。
【0116】
複合現実プロセス960における種々の側面を解決するために、種々の入力が、利用されてもよい。例えば、
図9に描写される実施形態では、ゲームパラメータは、システムのユーザが1匹以上のモンスタと種々の場所においてモンスタバトルゲームをプレーしていること、モンスタが死んでいる、または種々の条件下で逃げている(ユーザがモンスタを撃つ場合等)、種々の場所における壁または他のオブジェクト、および同等物を決定するための入力であってもよい。世界マップは、複合現実に対する別の有用な入力となる、そのようなオブジェクトが相互に対する場所に関する情報を含んでもよい。世界に対する姿勢は、同様に、入力となり、ほぼあらゆる双方向システムに対して重要な役割を果たす。
【0117】
ユーザからの制御または入力は、ウェアラブルシステム900への別の入力である。本明細書に説明されるように、ユーザ入力は、視覚的入力、ジェスチャ、トーテム、オーディオ入力、感覚入力等を含むことができる。動き回るまたはゲームをプレーするために、例えば、ユーザは、ウェアラブルシステム900に、所望する対象に関して命令する必要があり得る。空間内で自ら移動するだけではなく、利用され得る種々の形態のユーザ制御が、存在する。一実施形態では、トーテム(例えば、ユーザ入力デバイス)、または玩具銃等のオブジェクトが、ユーザによって保持され、システムによって追跡されてもよい。システムは、好ましくは、ユーザがアイテムを保持していることを把握し、ユーザがアイテムと行っている相互作用の種類を理解するように構成されるであろう(例えば、トーテムまたはオブジェクトが、銃である場合、システムは、場所および配向だけではなく、ユーザが、そのようなアクティビティがカメラのいずれかの視野内にないときでも、生じている状況の決定を補助し得る、IMU等のセンサを装備し得る、トリガまたは他の感知ボタンもしくは要素をクリックしているかどうかも理解するように構成されてもよい。)
【0118】
手のジェスチャ追跡または認識もまた、入力情報を提供してもよい。ウェアラブルシステム900は、ボタン押下のため、左または右、停止、握持、保持等をジェスチャするために、手のジェスチャを追跡および解釈するように構成されてもよい。例えば、1つの構成では、ユーザは、非ゲーム環境において電子メールもしくはカレンダを通して捲る、または別の人物もしくはプレーヤと「フィストバンプ」を行うことを所望し得る。ウェアラブルシステム900は、動的である場合とそうではない場合がある、最小量の手のジェスチャを活用するように構成されてもよい。例えば、ジェスチャは、停止を示すために手を広げる、OKを示すために親指を上げる、OKではないことを示すために親指を下げる、または指向性コマンドを示すために左右もしくは上下に手をフリップする等、単純な静的ジェスチャであってもよい
【0119】
眼追跡は、別の入力である(例えば、ユーザが見ている場所を追跡し、ディスプレイ技術を制御し、具体的深度または範囲においてレンダリングする)。一実施形態では、眼の輻輳・開散運動が、三角測量を使用して決定されてもよく、次いで、その特定の人物のために開発された輻輳・開散運動/遠近調節モデルを使用して、遠近調節が、決定されてもよい。
【0120】
音声認識は、単独で、または他の入力(例えば、トーテム追跡、眼追跡、ジェスチャ追跡等)と組み合わせて使用され得る、別の入力であり得る。システム900は、オーディオストリームを環境から受信する、オーディオセンサ232(例えば、マイクロホン)を含むことができる。受信されたオーディオストリームは、処理され(例えば、処理モジュール260、270または中央サーバ1650によって)、ユーザの音声を認識し(他の音声または背景オーディオから)、コマンド、対象、パラメータ等をオーディオストリームから抽出することができる。例えば、システム900は、オーディオストリームから、語句「それをそこに移動させる」が発せられたことを識別し、本語句がシステム900の装着者(ユーザの環境内の別の人物ではなく)によって発せられたことを識別し、語句から、実行可能コマンド(「~を移動させる」)およびある場所(「そこに」)に移動されるべきオブジェクト(「それ」)が存在することを抽出してもよい。コマンドによって作用されるべきオブジェクトは、コマンドの対象と称され得、他の情報は、パラメータとしてコマンドに提供される。本実施例では、オブジェクトが移動されるべき場所は、「移動」コマンドのためのパラメータである。パラメータは、例えば、場所、時間、相互作用されるべき他のオブジェクト(例えば、「それを赤色の椅子の隣に移動させる」または「魔法の杖をLindaに与える」)、コマンドが実行されるべき方法(例えば、「2階のスピーカを使用して曲を再生する」)等を含むことができる。
【0121】
別の実施例として、システム900は、テキストの文字列を入力する、またはテキストのコンテンツを修正するために、発話認識技法を用いて、オーディオストリームを処理することができる。システム900は、発話している人物を決定するための話者認識技術ならびに発せられている内容を決定するための発話認識技術を組み込むことができる。音声認識技術は、単独で、または組み合わせて、隠れマルコフモデル、ガウス混合モデル、パターンマッチングアルゴリズム、ニューラルネットワーク、マトリクス表現、ベクトル量子化、話者ダイアライゼーション、決定ツリー、および動的時間伸縮(DTW)技法を含むことができる。音声認識技法はまた、コホートモデルおよび世界モデル等のアンチ話者技法を含むことができる。スペクトル特徴は、話者特性を表す際に使用されてもよい。
【0122】
カメラシステムに関して、
図9に示される例示的ウェアラブルシステム900は、3つの対のカメラ、すなわち、ユーザの顔の両側に配列される相対的広FOVまたは受動SLAM対のカメラと、ユーザの正面に配向され、立体視結像プロセス940をハンドリングし、また、ユーザの顔の正面の手のジェスチャおよびトーテム/オブジェクトの軌道を捕捉するための異なる対のカメラとを含むことができる。立体視プロセス940のためのFOVカメラまたは対のカメラはまた、カメラ16と称され得る。立体視プロセス940のためのFOVカメラおよび対のカメラは、外向きに面した結像システム464(
図4に示される)の一部であってもよい。ウェアラブルシステム900は、眼ベクトルおよび他の情報を三角測量するために、ユーザの眼に向かって配向される、眼追跡カメラ(
図4に示される内向きに面した結像システム462の一部であってもよい)を含むことができる。ウェアラブルシステム900はまた、1つ以上のテクスチャ化光プロジェクタ(赤外線(IR)プロジェクタ等)を備え、テクスチャを場面の中に投入してもよい。
【0123】
図10は、ウェアラブルシステムへのユーザ入力を決定するための方法1000の実施例のプロセスフロー図である。本実施例では、ユーザは、トーテムと相互作用してもよい。ユーザは、複数のトーテムを有してもよい。例えば、ユーザは、ソーシャルメディアアプリケーションのための指定される1つのトーテム、ゲームをプレーするための別のトーテム等を有してもよい。ブロック1010では、ウェアラブルシステムは、トーテムの運動を検出してもよい。トーテムの移動は、外向きに面した結像システムを通して認識されてもよい、またはセンサ(例えば、触知グローブ、画像センサ、手追跡デバイス、眼追跡カメラ、頭部姿勢センサ等)を通して検出されてもよい。
【0124】
少なくとも部分的に、検出されたジェスチャ、眼姿勢、頭部姿勢、またはトーテムを通した入力に基づいて、ウェアラブルシステムは、ブロック1020において、基準フレームに対するトーテム(またはユーザの眼もしくは頭部もしくはジェスチャ)の位置、配向、および/または移動を検出する。基準フレームは、それに基づいてウェアラブルシステムがトーテム(またはユーザ)の移動をアクションまたはコマンドに変換する、マップ点のセットであってもよい。ブロック1030では、トーテムとのユーザの相互作用が、マッピングされる。基準フレーム1020に対するユーザ相互作用のマッピングに基づいて、システムは、ブロック1040において、ユーザ入力を決定する。
【0125】
例えば、ユーザは、トーテムまたは物理的オブジェクトを前後に移動させ、仮想ページを捲り、次のページに移動する、または1つのユーザインターフェース(UI)ディスプレイ画面から別のUI画面に移動することを示してもよい。別の実施例として、ユーザは、ユーザのFOR内の異なる実または仮想オブジェクトを見るために、その頭部または眼を移動させてもよい。特定の実または仮想オブジェクトにおけるユーザの注視が、閾値時間より長い場合、その実または仮想オブジェクトは、ユーザ入力として選択されてもよい。いくつかの実装では、ユーザの眼の輻輳・開散運動が、追跡されることができ、遠近調節/輻輳・開散運動モデルが、ユーザが合焦しているレンダリング平面に関する情報を提供する、ユーザの眼の遠近調節状態を決定するために使用されることができる。いくつかの実装では、ウェアラブルシステムは、円錐キャスティング技法を使用して、ユーザの頭部姿勢または眼姿勢の方向に沿っている実または仮想オブジェクトを決定することができる。概して説明される、円錐キャスティング技法は、不可視の円錐をユーザが見ている方向に投影し、円錐と相互作用する、任意のオブジェクトを識別することができる。円錐キャスティングは、ARディスプレイ(ウェアラブルシステムの)から物理的または仮想オブジェクトに向かって、実質的に殆ど横幅を伴わない細い光線束を投じる、または実質的横幅を伴う光線(例えば、円錐または円錐台)を投じることを含むことができる。単一光線を伴う円錐キャスティングは、レイキャスティングとも称され得る。円錐キャスティング技法の詳細な実施例は、「Interactions with 3D Virtual Objects Using Poses and Multiple-DOF Controllers」と題され、2017年3月29日に出願された米国出願第15/473,444号(その開示は、参照することによってその全体として本明細書に組み込まれる)に説明される。
【0126】
ユーザインターフェースは、本明細書に説明されるようなディスプレイシステム(
図2におけるディスプレイ220等)によって投影されてもよい。また、1つ以上のプロジェクタ等の種々の他の技法を使用して表示されてもよい。プロジェクタは、画像をキャンバスまたは球体等の物理的オブジェクト上に投影してもよい。ユーザインターフェースとの相互作用は、システムの外部またはシステムの一部の1つ以上のカメラを使用して(例えば、内向きに面した結像システム462または外向きに面した結像システム464を使用して)追跡されてもよい。
【0127】
図11は、仮想ユーザインターフェースと相互作用するための方法1100の実施例のプロセスフロー図である。方法1100は、本明細書に説明されるウェアラブルシステムによって行われてもよい。
【0128】
ブロック1110では、ウェアラブルシステムは、特定のUIを識別してもよい。UIのタイプは、ユーザによって与えられてもよい。ウェアラブルシステムは、特定のUIがユーザ入力(例えば、ジェスチャ、視覚的データ、オーディオデータ、感覚データ、直接コマンド等)に基づいて取り込まれる必要があることを識別してもよい。ブロック1120では、ウェアラブルシステムは、仮想UIのためのデータを生成してもよい。例えば、UIの境界、一般的構造、形状等と関連付けられたデータが、生成されてもよい。加えて、ウェアラブルシステムは、ウェアラブルシステムがユーザの物理的場所に関連してUIを表示し得るように、ユーザの物理的場所のマップ座標を決定してもよい。例えば、UIが、身体中心である場合、ウェアラブルシステムは、リングUIがユーザの周囲に表示され得る、または平面UIが壁上またはユーザの正面に表示され得るように、ユーザの物理的立ち位置、頭部姿勢、または眼姿勢の座標を決定してもよい。UIが、手中心の場合、ユーザの手のマップ座標が、決定されてもよい。これらのマップ点は、FOVカメラ、感覚入力を通して受信されたデータ、または任意の他のタイプの収集されたデータを通して導出されてもよい。
【0129】
ブロック1130では、ウェアラブルシステムは、データをクラウドからディスプレイに送信してもよい、またはデータは、ローカルデータベースからディスプレイコンポーネントに送信されてもよい。ブロック1140では、UIは、送信されたデータに基づいて、ユーザに表示される。例えば、ライトフィールドディスプレイは、仮想UIをユーザの眼の一方または両方の中に投影することができる。いったん仮想UIが生成されると、ウェアラブルシステムは、ブロック1150において、単に、ユーザからのコマンドを待機し、より多くの仮想コンテンツを仮想UI上に生成してもよい。例えば、UIは、ユーザの身体の周囲の身体中心リングであってもよい。ウェアラブルシステムは、次いで、コマンド(ジェスチャ、頭部または眼移動、ユーザ入力デバイスからの入力等)を待機してもよく、認識される場合(ブロック1160)、コマンドと関連付けられた仮想コンテンツが、ユーザに表示されてもよい(ブロック1170)。実施例として、ウェアラブルシステムは、複数のストリームトラックを混合する前に、ユーザの手のジェスチャを待機してもよい。
【0130】
ウェアラブルシステム、UI、およびユーザ体験(UX)の付加的実施例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明されている。
動眼視野(FOR)および視野(FOV)内のオブジェクトの実施例
【0131】
図12Aは、動眼視野(FOR)1200、世界カメラの視野(FOV)1270、ユーザの視野1250、およびユーザの固視野1290の実施例を図式的に図示する。
図4を参照して説明されるように、FOR1200は、ウェアラブルシステムを介してユーザによって知覚されることが可能なユーザの周囲の環境の一部を備える。FORは、装着者が、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚することができるため、ウェアラブルシステムを囲繞する4πステラジアンの立体角を含んでもよい。他のコンテキストでは、装着者の移動は、より制約され得、故に、装着者のFORは、より小さい立体角に対し得る。
【0132】
世界カメラ1270の視野は、外向きに面した結像システム464によって現在観察されているユーザのFORの一部を含むことができる。
図4を参照すると、世界カメラ1270の視野は、所与の時間においてウェアラブルシステム400によって観察される、世界470を含んでもよい。世界カメラ1270のFOVのサイズは、外向きに面した結像システム464の光学特性に依存し得る。例えば、外向きに面した結像システム464は、ユーザの周囲の190度空間を結像し得る、広角カメラを含むことができる。ある実装では、世界カメラ1270のFOVは、ユーザの眼の自然FOVより大きいまたはそれと等しくてもよい。
【0133】
ユーザのFOV1250は、ユーザが所与の時間において知覚する、FOR1200の一部を備えることができる。FOVは、ウェアラブルデバイスのディスプレイのサイズまたは光学特性に依存し得る。例えば、AR/MRディスプレイは、ユーザがディスプレイの特定の部分を通して見るとき、AR/MR機能性を提供する、光学系を含んでもよい。FOV1250は、例えば、スタックされた導波管アセンブリ480(
図4)または平面導波管600(
図6)等のAR/MRディスプレイを通して見るときにユーザによって知覚可能な立体角に対応してもよい。ある実施形態では、ユーザのFOV1250は、ユーザの眼の自然FOVより小さくてもよい。
【0134】
ウェアラブルシステムはまた、ユーザの固視野1290を決定することができる。固視野1290は、ユーザの眼が固視し得る(例えば、視覚的視線をその部分に維持する)、FOV1250の一部を含むことができる。固視野1290は、光が当たる眼の中心窩領域に対応してもよい。固視野1290は、ユーザのFOV1250より小さくあり得る、例えば、固視野は、それを横断して数度~約5度であり得る。その結果、ユーザは、固視野1290内にないが、ユーザの周辺視野内にある、FOV1250内のいくつかの仮想オブジェクトを知覚することができる。
【0135】
図12Bは、ユーザの視野内の仮想オブジェクト(FOV)および動眼視野内の仮想オブジェクト(FOR)の実施例を図式的に図示する。
図12Bでは、FOR1200は、あるグループのオブジェクト(例えば、1210、1220、1230、1242、および1244)を含有することができ、これは、ウェアラブルシステムを介して、ユーザによって知覚されることができる。ユーザのFOR1200内のオブジェクトは、仮想および/または物理的オブジェクトであってもよい。例えば、ユーザのFOR1200は、椅子、ソファ、壁等の物理的オブジェクトを含んでもよい。仮想オブジェクトは、例えば、削除されたファイルのためのごみ箱、コマンドを入力するための端末、ファイルまたはディレクトリにアクセスするためのファイルマネージャ、アイコン、メニュー、オーディオまたはビデオストリーミングのためのアプリケーション、オペレーティングシステムからの通知、テキスト、テキスト編集アプリケーション、メッセージングアプリケーション等のオペレーティングシステムオブジェクトを含んでもよい。仮想オブジェクトはまた、例えば、アバタ、ゲーム内の仮想オブジェクト、グラフィック、または画像等のアプリケーション内のオブジェクトを含んでもよい。いくつかの仮想オブジェクトは、オペレーティングシステムオブジェクトおよびアプリケーション内のオブジェクトの両方であることができる。いくつかの実施形態では、ウェアラブルシステムは、仮想要素を既存の物理的オブジェクトに追加することができる。例えば、ウェアラブルシステムは、部屋内のテレビと関連付けられた仮想メニューを追加してもよく、仮想メニューは、ユーザに、ウェアラブルシステムを使用して、テレビをオンにする、またはチャンネルを変更するためのオプションを与えてもよい。
【0136】
仮想オブジェクトは、3次元(3D)、2次元(2D)、または1次元(1D)オブジェクトであってもよい。例えば、仮想オブジェクトは、3Dコーヒーマグカップ(物理的コーヒーメーカーのための仮想制御を表してもよい)であってもよい。仮想オブジェクトはまた、時計の2Dグラフィカル表現であってもよい(現在の時間をユーザに表示する)。いくつかの実装では、1つ以上の仮想オブジェクトは、別の仮想オブジェクト内に(またはそれと関連付けられて)表示されてもよい。仮想コーヒーマグカップは、ユーザのインターフェースプレーンの内側に示されてもよいが、仮想コーヒーマグカップは、本2D平面仮想空間内では、3Dであるように現れる。
【0137】
ユーザのFOR内のオブジェクトは、
図9を参照して説明されるように、世界マップの一部であることができる。オブジェクトと関連付けられたデータ(例えば、場所、意味論情報、性質等)は、例えば、アレイ、リスト、ツリー、ハッシュ、グラフ等の種々のデータ構造内に記憶されることができる。各記憶されるオブジェクトのインデックスは、適用可能である場合、例えば、オブジェクトの場所によって決定されてもよい。例えば、データ構造は、基点位置からのオブジェクトの距離等の単一座標(例えば、基点位置の左または右までの距離、基点位置の上または下からの距離、または基点位置からの深度あたりの距離)によってオブジェクトをインデックス化してもよい。基点位置は、ユーザの位置(ユーザの頭部の位置等)に基づいて決定されてもよい。基点位置はまた、ユーザの環境内の仮想または物理的オブジェクト(標的オブジェクト等)の位置に基づいて決定されてもよい。故に、ユーザの環境内の3D空間は、2Dユーザインターフェース内に表され得、仮想オブジェクトは、基点位置からのオブジェクトの距離に従って配列される。
【0138】
図12Bでは、FOV1250は、破線1252によって図式的に図示される。ウェアラブルシステムのユーザは、オブジェクト1242、オブジェクト1244、およびオブジェクト1230の一部等の複数のオブジェクトをFOV1250内で知覚することができる。ユーザの姿勢(例えば、頭部姿勢または眼姿勢)が変化するにつれて、FOV1250も対応して変化し、FOV1250内のオブジェクトもまた、変化し得る。例えば、地
図1210は、最初に、
図12Bでは、ユーザのFOV外にある。ユーザが、地
図1210に眼を向ける場合、地
図1210は、ユーザのFOV1250の中に移動し得、(例えば)オブジェクト1230は、ユーザのFOV1250外に移動し得る。
【0139】
ウェアラブルシステムは、FOR1200内のオブジェクトならびにFOV1250内のオブジェクトを追跡してもよい。例えば、ローカル処理およびデータモジュール260は、遠隔処理モジュール270および遠隔データリポジトリ280と通信し、ユーザのFOR内の仮想オブジェクトを読み出すことができる。ローカル処理およびデータモジュール260は、仮想オブジェクトを、例えば、バッファまたは一時的記憶装置内に記憶することができる。ローカル処理およびデータモジュール260は、本明細書に説明される技法を使用して、ユーザのFOVを決定し、ユーザのFOV内の仮想オブジェクトのサブセットをレンダリングすることができる。ユーザの姿勢が変化すると、ローカル処理およびデータモジュール260は、ユーザのFOVを更新し、適宜、ユーザの現在のFOVに対応する別のセットの仮想オブジェクトをレンダリングすることができる。
種々のユーザ入力モードの概要
【0140】
ウェアラブルシステムは、動作を実施するために、種々の入力モードを受け取るようにプログラムされることができる。例えば、ウェアラブルシステムは、以下のタイプの入力モード、すなわち、音声コマンド、頭部姿勢、身体姿勢(例えば、ベルトパック内のIMUまたはHMDの外部のセンサによって測定され得る)、眼視線(本明細書では、眼姿勢とも称される)、手のジェスチャ(または他の身体部分によるジェスチャ)、ユーザ入力デバイス(例えば、トーテム)からの信号、環境センサ等のうちの2つ以上のものを受け取ることができる。コンピューティングデバイスは、典型的には、ユーザからの単一入力に基づいて、所与の出力を生成するようにエンジニアリングされる。例えば、ユーザは、キーボード上でタイプすることによって、テキストメッセージを入力する、または手のジェスチャ入力モードの実施例である、マウスを使用して、仮想オブジェクトの移動を誘導することができる。別の実施例として、コンピューティングデバイスは、ユーザの音声からのオーディオデータのストリームを受信し、音声認識技法を使用して、オーディオデータを実行可能コマンドに変換することができる。
【0141】
ユーザ入力モードは、ある場合には、直接ユーザ入力または間接ユーザ入力として、非排他的に分類され得る。直接ユーザ入力は、例えば、ユーザの身体の意志的移動(例えば、頭部または眼を方向転換させる、オブジェクトまたは場所を注視する、語句を発する、指または手を移動させる)を介してユーザによって直接供給される、ユーザ相互作用であってもよい。直接ユーザ入力の実施例として、ユーザは、例えば、頭部姿勢、眼姿勢(眼視線とも称される)、手のジェスチャ、または別の身体姿勢等の姿勢を使用して、仮想オブジェクトと相互作用することができる。例えば、ユーザは、(頭部および/または眼を用いて)仮想オブジェクトを見ることができる。直接ユーザ入力の別の実施例は、ユーザの音声である。例えば、ユーザは、「ブラウザを立ち上げる」と発し、HMDに、ブラウザアプリケーションを開かせることができる。直接ユーザ入力のさらに別の実施例として、ユーザは、例えば、タッチジェスチャ(トーテムのタッチセンサ式部分をタッチする等)または身体移動(多自由度コントローラとして機能するトーテムを回転させる等)を介して、ユーザ入力デバイスを作動させることができる。
【0142】
直接ユーザ入力に加えて、またはその代替として、ユーザはまた、間接ユーザ入力に基づいて、仮想オブジェクトと相互作用することができる。間接ユーザ入力は、例えば、ユーザまたは仮想オブジェクトの地理的場所、ユーザの環境等の種々のコンテキスト要因から決定されてもよい。例えば、ユーザの地理的場所は、ユーザのオフィス内(ユーザの自宅ではなく)であってもよく、異なるタスク(例えば、仕事関連タスク)が、地理的場所(例えば、GPSセンサから導出される)に基づいて、実行されることができる。
【0143】
コンテキスト要因はまた、仮想オブジェクトのアフォーダンスを含むことができる。仮想オブジェクトのアフォーダンスは、仮想オブジェクトとオブジェクトの環境との間の関係を備えることができ、これは、オブジェクトと関連付けられたアクションまたは使用のための機会を与える。アフォーダンスは、例えば、オブジェクトの機能、配向、タイプ、場所、形状、および/またはサイズに基づいて決定されてもよい。アフォーダンスはまた、仮想オブジェクトが位置する環境に基づいてもよい。実施例として、水平テーブルのアフォーダンスは、オブジェクトがテーブル上に設定されることができることであって、垂直壁のアフォーダンスは、オブジェクトが、壁から吊架される、またはその上に投影され得ることである。実施例として、「それをそこに設置する」と発せられ得、仮想オフィスカレンダが、ユーザのオフィス内のユーザの机上に水平に現れるように設定される。
【0144】
直接ユーザ入力の単一モードは、種々の限定を作成し得、利用可能なユーザインターフェース動作の数またはタイプは、ユーザ入力のタイプに起因して制限され得る。例えば、ユーザは、頭部姿勢が精密なユーザ相互作用を提供することが不可能であり得るため、頭部姿勢を用いて、ズームインまたはズームアウトことが不可能であり得る。別の実施例として、ユーザは、仮想オブジェクトを床から壁まで移動させるために、親指をタッチパッドで往復して移動させる(または親指を長距離にわたって移動させる)必要があり得、これは、経時的にユーザに疲労をもたらし得る。
【0145】
しかしながら、いくつかの直接入力モードは、ユーザが提供するためにより便宜的かつ直感的であり得る。例えば、ユーザは、ジェスチャベースのキーボード入力を使用して文をタイプする必要なく、ウェアラブルシステムに話し掛け、音声コマンドを発行することができる。別の実施例として、ユーザは、カーソルを移動させ、標的仮想オブジェクトを識別するのではなく、手のジェスチャを使用して、標的仮想オブジェクトを指し示すことができる。それらは、それほど便宜的または直感的ではない場合があるが、他の直接入力モードは、ユーザ相互作用の正確度を増加させることができる。例えば、ユーザは、カーソルを仮想オブジェクトに移動させ、仮想オブジェクトが標的オブジェクトであることを示すことができる。しかしながら、上記に説明されるように、ユーザが、直接ユーザ入力(例えば、頭部姿勢、またはユーザのアクションの結果を指図する、他の入力)を使用して、同一仮想オブジェクトを選択することを所望する場合、ユーザは、頭部の精密な移動を制御する必要があり得、これは、筋肉疲労を生じさせ得る。3D環境(例えば、VR/AR/MR環境)は、ユーザ入力がまた、深度(平面表面とは対照的に)に対して規定される必要があるであろうため、付加的課題をユーザ相互作用に追加し得る。本付加的深度寸法は、2D環境よりエラーの機会を作成し得る。例えば、2D環境では、ユーザ入力は、座標系内で水平軸および垂直軸に対して変換されることができる一方、3D環境では、ユーザ入力は、3軸(水平、垂直、および深度)に対して変換される必要があり得る。故に、ユーザ入力の不精密なトランザクションは、3軸(2D環境内の2軸ではなく)においてエラーを生じさせ得る。
【0146】
直接ユーザ入力の既存の利点を利用しながら、3D空間内のオブジェクトと相互作用する正確度を改良し、ユーザ疲労を低減させるために、直接入力の複数のモードが、ユーザインターフェース動作を実行するために使用されてもよい。マルチモード入力はさらに、例えば、AR、VR、またはMR環境等のデータが豊富かつ動的な環境において、仮想オブジェクトとの相互作用のために、既存のコンピューティングデバイス(特に、ウェアラブルデバイス)を改良することができる。
【0147】
マルチモードユーザ入力技法では、直接入力のうちの1つ以上のものは、ユーザが相互作用するであろう、標的仮想オブジェクト(対象とも称される)を識別し、標的仮想オブジェクト上で実施されるであろう、ユーザインターフェース動作を決定するために使用されてもよい。例えば、ユーザインターフェース動作は、選択、移動、ズーム、一時停止、再生等のコマンド動作と、コマンド動作のパラメータ(例えば、動作を行う方法、動作が生じるであろう場所または時間、標的オブジェクトが相互作用するであろうオブジェクト等)とを含んでもよい。標的仮想オブジェクトを識別し、標的仮想オブジェクト上で実施されるべき相互作用を決定する実施例として、ユーザは、仮想付箋を見て(頭部または眼姿勢入力モード)、テーブルを指し示し(ジェスチャ入力モード)、「それをそこに移動させる」と発し得る(音声入力モード)。ウェアラブルシステムは、語句「それをそこに移動させる」内の標的仮想オブジェクトが、仮想付箋(「それ」)であることを識別することができ、ユーザインターフェース動作が、仮想付箋をテーブル(「そこに」)移動させる(実行可能コマンド)ことを伴うことを決定することができる。本実施例では、コマンド動作は、仮想オブジェクトを「移動させる」ことであり得る一方、コマンド動作のパラメータは、目的地オブジェクトを含むことができ、これは、ユーザが指し示しているテーブルである。有利には、ある実施形態では、ウェアラブルシステムは、ユーザインターフェース動作の全体的正確度を増加させることができる、または直接ユーザ入力の複数のモード(例えば、上記の実施例では、3つのモード、すなわち、頭部/眼姿勢、ジェスチャ、および音声)に基づいて、ユーザインターフェース動作を実施することによって、ユーザの相互作用の利便性を増加させることができる。例えば、「最左ブラウザを右に2.5フィート移動させる」と発する代わりに、ユーザは、「それをそこに移動させる」(発話入力において移動されているオブジェクトを指し示すことなく)と発しながら、頭部または手のジェスチャを使用して、オブジェクトが最左ブラウザであることを示し、頭部または手の移動を使用して、移動の距離を示すことができる。
種々の入力モードを使用した仮想環境内の例示的相互作用
【0148】
図13は、1つのモードのユーザ入力を使用して仮想オブジェクトと相互作用する実施例を図示する。
図13では、ユーザ1310は、HMDを装着しており、3つの場面1300a、1300b、および1300cにおいて、仮想コンテンツと相互作用している。ユーザの頭部位置(および対応する眼視線方向)は、幾何学的円錐1312aによって表される。本実施例では、ユーザは、HMDのディスプレイ220を介して、仮想コンテンツを知覚することができる。HMDと相互作用する間、ユーザは、ユーザ入力デバイス466を介して、テキストメッセージを入力することができる。場面1300aでは、ユーザの頭部は、その自然な静置位置1312aにあって、ユーザの手もまた、その自然静置位置1316aにある。しかしながら、ユーザは、ユーザ入力デバイス466上でテキストをタイプすることがより快適であり得るが、ユーザは、ユーザ入力デバイス466上のインターフェースを見て、文字が正しくタイプされていることを確実にすることができない。
【0149】
ユーザ入力デバイス上に打ち込まれるテキストを見るために、ユーザは、場面1300bに示されるように、手を位置1316bまで移動させることができる。故に、手は、頭部がその自然な静置位置1312aにあるとき、ユーザの頭部のFOV内にあるであろう。しかしながら、位置1316bは、手の自然な静置位置ではなく、その結果、ユーザに疲労を生じさせ得る。代替として、場面1300cに図示されるように、ユーザは、手を自然静置位置1316aに維持するために、その頭部を位置1312cに移動させることができる。しかしながら、ユーザの頸部の周囲の筋肉は、頭部の不自然な位置に起因して、疲労し得、ユーザのFOVは、外界に向かってではなく、地面または床に向かって向けられている(ユーザが混雑したエリアを歩行している場合、非安全であり得る)。場面1300bまたは場面1300cのいずれかでは、ユーザの自然人間工学は、ユーザが単一入力モードを使用してユーザインターフェース動作を実施するとき、所望のユーザインターフェース動作を満たすために犠牲にされる。
【0150】
本明細書に説明されるウェアラブルシステムは、少なくとも部分的に、場面1300bおよび1300cに描写される人間工学的限界を緩和することができる。例えば、仮想インターフェースは、場面1300aでは、ユーザの視野内に投影されることができる。仮想インターフェースは、ユーザが、自然位置からタイプされる入力を観察することを可能にすることができる。
【0151】
ウェアラブルシステムはまた、デバイス制約なく、仮想コンテンツを表示し、それとの相互作用をサポートすることができる。例えば、ウェアラブルシステムは、複数のタイプの仮想コンテンツをユーザに提示することができ、ユーザは、タッチパッドを使用して、1つのタイプのコンテンツと相互作用しながら、キーボードを使用して、別のタイプのコンテンツと相互作用することができる。有利には、いくつかの実施形態では、ウェアラブルシステムは、信頼度スコア(より高い信頼度スコアは、システムが正しい標的仮想オブジェクトを識別したことのより高い信頼度(または尤度)を示す)を計算することによって、標的仮想オブジェクトである仮想コンテンツ(ユーザが作用するように意図される)を決定することができる。標的仮想オブジェクトを識別することに関する詳細な実施例は、
図15-18Bを参照して説明される。
【0152】
図14は、ユーザ入力モードの組み合わせを使用して仮想オブジェクトを選択する実施例を図示する。場面1400aでは、ウェアラブルシステムは、ユーザ1410に、正方形1422、円形1424、および三角形1426によって表される、複数の仮想オブジェクトを提示することができる。
【0153】
ユーザ1410は、場面1400bに図示されるように、頭部姿勢を使用して、仮想オブジェクトと相互作用することができる。これは、頭部姿勢入力モードの実施例である。頭部姿勢入力モードは、仮想オブジェクトを標的化または選択するための円錐キャスティングを伴ってもよい。例えば、ウェアラブルシステムは、円錐1430をユーザの頭部から仮想オブジェクトに向かって投じることができる。ウェアラブルシステムは、仮想オブジェクトのうちの1つ以上のものが円錐の体積内に入るかどうかを検出し、ユーザが選択することを意図するオブジェクトを識別することができる。本実施例では、円錐1430は、円形1424および三角形1426と交差する。したがって、ウェアラブルシステムは、ユーザが円形1424または三角形1426のいずれかを選択することを意図することを決定することができる。しかしながら、円錐1430は、円形1424および三角形1426の両方と交差するため、ウェアラブルシステムは、頭部姿勢入力単独に基づいて、標的仮想オブジェクトが円形1424または三角形1426であるかどうかを確認することが不可能であり得る。
【0154】
場面1400cでは、ユーザ1410は、トーテム(例えば、ハンドヘルド遠隔制御デバイス)等のユーザ入力デバイス466を手動で配向することによって、仮想オブジェクトと相互作用することができる。これは、ジェスチャ入力モードの実施例である。本場面では、ウェアラブルシステムは、これらの2つのオブジェクトが、ユーザ入力デバイス466が指し示している方向にあるため、円形1424または正方形1422のいずれかが、意図される標的であることを決定することができる。本実施例では、ウェアラブルシステムは、ユーザ入力デバイス466の位置または配向を検出することによって(例えば、ユーザ入力デバイス466内のIMUを介して)、またはユーザ入力デバイス466から生じる円錐キャスティングを実施することによって、ユーザ入力デバイス466の方向を決定することができる。円形1424および正方形1422は両方とも、標的仮想オブジェクトの候補であるため、ウェアラブルシステムは、ジェスチャ入力モードのみに基づいて、それらのうちのいずれが、ユーザが実際に選択することを所望するオブジェクトであることを確認することができない。
【0155】
場面1400dでは、ウェアラブルシステムは、マルチモードユーザ入力を使用して、標的仮想オブジェクトを決定することができる。例えば、ウェアラブルシステムは、円錐キャスティング(頭部姿勢入力モード)と、ユーザ入力デバイスの配向(ジェスチャ入力モード)とから取得される両結果を使用して、標的仮想オブジェクトを識別することができる。本実施例では、円形1424が、円錐キャスティングからの結果と、ユーザ入力デバイスから取得される結果との両方において識別された候補である。したがって、ウェアラブルシステムは、これらの2つの入力モードを使用して、高信頼度を伴って、標的仮想オブジェクトが円形1424であることを決定することができる。場面1400dにさらに図示されるように、ユーザは、第3の入力モード(すなわち、音声)の実施例である、音声コマンド1442(「それを移動させる」として図示される)を与え、標的仮想オブジェクトと相互作用することができる。ウェアラブルシステムは、単語「それ」と標的仮想オブジェクト、単語「移動させる」と実行されるべきコマンドを関連付けることができ、故に、円形1424を移動させることができる。しかしながら、音声コマンド1442自体(ユーザ入力デバイス466または円錐キャスティング143からのインジケーションを伴わない)は、ウェアラブルシステムが、単語「それ」と関連付けられるオブジェクトを把握し得ないため、混乱をウェアラブルシステムに生じさせ得る。
【0156】
有利には、いくつかの実施形態では、複数の入力モードを受け取り、仮想オブジェクトを識別し、それと相互作用することによって、入力モード毎に要求される精度の量は、低減され得る。例えば、円錐キャスティングは、円錐がユーザからより遠く離れるにつれて、円錐の直径が増加するため、遠く離れたレンダリング平面におけるオブジェクトを正確に示すことが不可能であり得る。他の実施例として、ユーザは、入力デバイスを特定の配向に保持し、標的オブジェクトに向かって指し示し、特定の語句またはペースを用いて発話し、正しい音声入力を確実にする必要があり得る。しかしながら、音声入力および円錐キャスティングから(頭部姿勢または入力デバイスを使用したジェスチャのいずれかから)の結果を組み合わせることによって、ウェアラブルシステムは、依然として、入力(例えば、円錐キャスティングまたは音声入力)のいずれかが精密であることを要求せずに、標的仮想オブジェクトを識別することができる。例えば、円錐キャスティングが、複数のオブジェクトを選択する(例えば、場面1400b、1400cを参照して説明されるように)場合でも、音声入力は、選択を絞り込む(例えば、選択に関する信頼度スコアを増加させる)ことに役立ち得る。例えば、円錐キャスティングは、3つのオブジェクトを捕捉し得る、そのうち、第1のオブジェクトは、ユーザの右にあって、第2のオブジェクトは、ユーザの左にあって、第3のオブジェクトは、ユーザのFOVの中心にある。ユーザは、「最右オブジェクトを選択する」と発することによって、選択を絞り込むことができる。別の実施例として、2つの同じ形状のオブジェクトが、ユーザのFOV内に存在し得る。ユーザが正しいオブジェクトを選択するために、ユーザは、音声コマンドを介して、オブジェクトに対するさらなる説明を与える必要があり得る。例えば、「正方形オブジェクトを選択する」と発するのではなく、ユーザは、「赤色の正方形オブジェクトを選択する」と発する必要があり得る。しかしながら、円錐キャスティングを用いることで、音声コマンドは、精密である必要はなくなり得る。例えば、ユーザは、正方形オブジェクトのうちの1つを見て、「正方形オブジェクトを選択する」またはさらに「オブジェクトを選択する」と発することができる。ウェアラブルシステムは、ユーザの視線方向と一致する正方形オブジェクトを自動的に選択することができ、ユーザの視線方向にない正方形オブジェクトを選択することはないであろう。
【0157】
いくつかの実施形態では、システムは、入力モードの組み合わせのための選好の階層を有してもよい。例えば、ユーザは、その頭部が向いている方向を見る傾向にある。したがって、眼視線および頭部姿勢は、相互に類似する情報を提供し得る。頭部姿勢および眼視線の組み合わせは、組み合わせが、眼視線単独または頭部姿勢単独の使用と比較して、多くの余剰情報を提供しないため、あまり好ましくない場合がある。故に、システムは、概して、重複情報ではなく、対比情報を提供する、モード入力を選択するためのモード入力選好の階層を使用してもよい。いくつかの実施形態では、階層は、頭部姿勢および音声を一次モード入力として使用し、眼視線およびジェスチャが続くものである。
【0158】
故に、本明細書にさらに説明されるように、マルチモード入力に基づいて、システムは、各そのようなオブジェクトが標的オブジェクトである、ユーザの環境内の種々のオブジェクトに関する信頼度スコアを計算することができる。システムは、標的オブジェクトとして、最高信頼度スコアを有する環境内の特定のオブジェクトを選択することができる。
【0159】
図15は、直接ユーザ入力の組み合わせを使用して仮想オブジェクトと相互作用する実施例を図示する。
図15に描写されるように、ユーザ1510は、仮想コンテンツを表示するように構成される、HMD1502を装着している。HMD1502は、本明細書に説明されるウェアラブルシステム200の一部であってもよく、ベルト装着型電力および処理パック1503を含んでもよい。HMD1502は、ユーザ入力をトーテム1516から受け取るように構成されてもよい。HMD1502のユーザ1510は、第1のFOV1514を有することができる。ユーザは、第1のFOV1514内の仮想オブジェクト1512を観察することができる。
【0160】
ユーザ1510は、直接入力の組み合わせに基づいて、仮想オブジェクト1512と相互作用することができる。例えば、ユーザ1510は、ユーザの頭部または眼姿勢に基づく円錐キャスティング技法を通して、またはトーテム1516によって、音声コマンドによって、もしくはこれらの(または他の)入力モード(例えば、
図14を参照して説明されるように)の組み合わせによって、仮想オブジェクト1512を選択することができる。
【0161】
ユーザ1510は、その頭部姿勢を偏移させ、選択された仮想オブジェクト1512を移動させてもよい。例えば、ユーザは、その頭部を左に方向転換させ、FOVを第1のFOV1514から第2のFOV1524に(場面1500aから場面1500bに示されるように)更新させることができる。ユーザの頭部の移動は、他の直接入力と組み合わせられ、仮想オブジェクトを第1のFOV1514から第2のFOV1524に移動させることができる。例えば、頭部姿勢の変化は、例えば、音声コマンド(「それをそこに移動させる」)、トーテム1516からの誘導、または眼視線方向(例えば、
図4に示される内向きに面した結像システム462によって記録されるように)等の他の入力を用いて、集約されることができる。本実施例では、HMD1502は、更新されたFOV1524を仮想オブジェクト1512が移動されるべき一般的領域として使用することができる。HMD1502はさらに、ユーザの視線方向に基づいて、仮想オブジェクト1512の移動の目的地を決定することができる。別の実施例として、HMDは、音声コマンド「それをそこに移動させる」を捕捉してもよい。HMDは、仮想オブジェクト1512をユーザが相互作用するであろうオブジェクトとして識別することができる(ユーザは、仮想オブジェクト1512を事前に選択しているため)。HMDはさらに、ユーザの頭部姿勢の変化を検出することによって、ユーザがオブジェクトをFOV1514からFOV1524に移動させることを意図することを決定することができる。本実施例では、仮想オブジェクト1512は、最初に、ユーザの第1のFOV1514の中心部分にあってもよい。音声コマンドおよびユーザの頭部姿勢に基づいて、HMDは、仮想オブジェクトをユーザの第2のFOV1524の中心に移動させてもよい。
マルチモードユーザ入力を用いて標的仮想オブジェクトまたはユーザインターフェース動作を識別する実施例
【0162】
図14を参照して説明されるように、いくつかの状況では、ウェアラブルシステムは、単一入力モードを使用して、ユーザが相互作用することを意図する標的仮想オブジェクトを識別する(十分な信頼度を伴って)ことが不可能であり得る。さらに、複数のモードのユーザ入力が、使用される場合でも、1つのモードのユーザ入力は、1つの仮想オブジェクトを示し得る一方、別のモードのユーザ入力は、異なる仮想オブジェクトを示し得る。
【0163】
曖昧性を解決し、マルチモードユーザ入力をサポートする、改良されたウェアラブルシステムを提供するために、ウェアラブルシステムは、モードのユーザ入力を集約し、信頼度スコアを計算し、所望の仮想オブジェクトまたはユーザインターフェース動作を識別することができる。前述のように、より高い信頼度スコアは、システムが所望の標的オブジェクトを識別したことのより高い確率または尤度を示す。
【0164】
図16は、入力モードを集約するための例示的コンピューティング環境を図示する。例示的環境1600は、例えば、アプリケーションA1672、B1674、およびC1676と関連付けられた3つの仮想オブジェクトを含む。
図9を参照して説明されるように、ウェアラブルシステムは、種々のセンサを含むことができ、種々のユーザ入力をこれらのセンサから受信し、ユーザ入力を分析し、複合現実960と相互作用することができる。例示的環境1600では、中央ランタイムサーバ1650は、直接入力1610および間接ユーザ入力1630を集約し、アプリケーションのためのマルチモード相互作用を生産することができる。直接入力1610の実施例は、ジェスチャ1612、頭部姿勢1614、音声入力1618、トーテム1622、眼視線の方向(例えば、眼視線追跡1624)、他のタイプの直接入力1626等を含んでもよい。間接入力1630の実施例は、環境情報(例えば、環境追跡1632)、および地理的場所1634を含んでもよい。中央ランタイムサーバ1650は、遠隔処理モジュール270を含んでもよい。ある実装では、ローカル処理およびデータモジュール260は、中央ランタイムサーバ1650の1つ以上の機能を実施してもよい。ローカル処理およびデータモジュール260はまた、遠隔処理モジュール270と通信し、入力モードを集約してもよい。
【0165】
ウェアラブルシステムは、外向きに面した結像システム464を使用して、ジェスチャ1612を追跡することができる。ウェアラブルシステムは、
図9に説明される種々の技法を使用して、手のジェスチャを追跡することができる。例えば、外向きに面した結像システム464は、ユーザの手の画像を入手し、画像を対応する手のジェスチャにマッピングすることができる。外向きに面した結像システム464は、FOVカメラまたは深度カメラ(深度検出のために構成される)を使用して、ユーザの手のジェスチャを結像してもよい。中央ランタイムサーバ1650は、オブジェクト認識装置708を使用して、ユーザの頭部ジェスチャを識別することができる。ジェスチャ1612はまた、ユーザ入力デバイス466によって追跡されることができる。例えば、ユーザ入力デバイス466は、タッチセンサ式表面を含んでもよく、これは、例えば、スワイプジェスチャまたはタップジェスチャ等のユーザの手移動を追跡することができる。
【0166】
HMDは、IMUを使用して、頭部姿勢1614を認識することができる。頭部1410は、3つのタイプの回転(例えば、ヨー、ピッチ、およびロール)および3つのタイプの変換(例えば、前後揺、左右揺、および上下揺)を含む、複数の自由度を有してもよい。IMUは、例えば、頭部の3-DOF移動または6-DOF移動を測定するように構成されることができる。IMUから取得される測定値は、処理するために(例えば、頭部姿勢を識別するため)、中央ランタイムサーバ1650に通信されてもよい。
【0167】
ウェアラブルシステムは、内向きに面した結像システム462を使用して、眼視線追跡1624を実施することができる。例えば、内向きに面した結像システム462は、ユーザの眼の領域の画像を取得するように構成される、眼カメラを含むことができる。中央ランタイムサーバ1650は、画像(例えば、オブジェクト認識装置708を介して)を分析し、ユーザの視線方向を推察する、またはユーザの眼移動を追跡することができる。
【0168】
ウェアラブルシステムはまた、入力をトーテム1622から受信することができる。本明細書に説明されるように、トーテム1622は、ユーザ入力デバイス466の実施形態であることができる。加えて、または代替として、ウェアラブルシステムは、音声入力1618をユーザから受信することができる。トーテム1622および音声入力1618からの入力は、中央ランタイムサーバ1650に通信されることができる。中央ランタイムサーバ1650は、ユーザのオーディオデータ(例えば、マイクロホン232から入手された)を解析するために、リアルタイムまたは近リアルタイムで、自然言語処理を使用することができる。中央ランタイムサーバ1650は、例えば、隠れマルコフモデル、動的時間伸縮法(DTW)ベースの発話認識、ニューラルネットワーク、ディープフィードフォワードおよび再帰ニューラルネットワーク等の深層学習アルゴリズム、エンドツーエンド自動発話認識、機械学習アルゴリズム(
図7および9を参照して説明される)、意味論分析、音響モデル化または言語モデル化等を使用する、他のアルゴリズム等の種々の発話認識アルゴリズムを適用することによって、発話の内容を識別することができる。中央ランタイムサーバ1650はまた、音声認識アルゴリズムを適用することができ、これは、話者がウェアラブルデバイスのユーザまたはユーザの背景内の人物かどうか等、話者の識別を識別することができる。
【0169】
中央ランタイムサーバ1650はまた、ユーザがHMDと相互作用するとき、間接入力を受信することができる。HMDは、
図2を参照して説明される種々の環境センサを含むことができる。環境センサによって入手されたデータ(単独で、または直接入力1610に関連するデータと組み合わせて)を使用して、中央ランタイムサーバ1650は、ユーザの環境(例えば、マップ920等)を再構築または更新することができる。例えば、中央ランタイムサーバ1650は、ユーザの環境に基づいてユーザの周囲光条件を決定することができる。本周囲光条件は、ユーザが相互作用し得る、仮想オブジェクトを決定するために使用されてもよい。例えば、ユーザが、明るい環境内に居るとき、中央ランタイムサーバ1650は、カメラがユーザのジェスチャ1612を観察し得るため、標的仮想オブジェクトが、ジェスチャ1612を入力モードとしてサポートする仮想オブジェクトであることを識別してもよい。しかしながら、環境が、暗い場合、中央ランタイムサーバ1650は、仮想オブジェクトが、ジェスチャ1612ではなく、音声入力1618をサポートするオブジェクトであり得ることを決定してもよい。
【0170】
中央ランタイムサーバ1650は、環境追跡1632を実施し、直接入力モードを集約し、複数のアプリケーションのためのマルチモード相互作用を生産することができる。実施例として、ユーザが、静寂環境から雑音環境の中に進入すると、中央ランタイムサーバ1650は、音声入力1618を無効にしてもよい。環境に基づいて入力モードを選択するステップに関する付加的実施例は、
図24をさらに参照して説明される。
【0171】
中央ランタイムサーバ1650はまた、ユーザの地理的場所情報に基づいて、標的仮想オブジェクトを識別することができる。地理的場所情報1634はまた、環境センサ(例えば、GPSセンサ等)から入手されてもよい。中央ランタイムサーバ1650は、仮想オブジェクトとユーザとの間の距離が閾値距離内である、潜在的ユーザ相互作用のための仮想オブジェクトを識別してもよい。有利には、いくつかの実施形態では、円錐キャスティング内の円錐は、システムによって調節可能な長さを有してもよい(例えば、環境内のオブジェクトの数または密度に基づいて)。ユーザのある半径内のオブジェクトを選択することによって、標的オブジェクトであり得る、潜在的オブジェクトの数が、有意に低減され得る。間接入力を入力モードとして使用する付加的実施例は、
図21を参照して説明される。
標的オブジェクトを確認する実施例
【0172】
中央ランタイムサーバ1650は、種々の技法を使用して、標的オブジェクトを決定することができる。
図17Aは、格子ツリー分析を使用して標的オブジェクトを識別する実施例を図示する。中央ランタイムサーバ1650は、所与の値を入力ソースから導出し、ユーザが潜在的に相互作用し得る、候補仮想オブジェクトに関する可能性として考えられる値の格子を生産することができる。いくつかの実施形態では、値は、信頼度スコアであることができる。信頼度スコアは、ランク付け、格付け、評価、定量的または定質的値(例えば、1~10の範囲内の数値、パーセンテージまたはパーセンタイル、または「A」、「B」、「C」の定質的値等)等を含むことができる。各候補オブジェクトは、信頼度スコアと関連付けられてもよく、ある場合には、最高信頼度スコア(例えば、他のオブジェクトの信頼度スコアより高いまたは閾値スコアより高い)を伴う候補オブジェクトが、システムによって、標的オブジェクトとして選択される。他の場合では、閾値信頼度スコアを下回る信頼度スコアを伴うオブジェクトは、システムによって、標的オブジェクトとしての検討から排除され、これは、算出効率を改良することができる。
【0173】
本明細書の多くの実施例では、標的仮想オブジェクトの選択またはあるグループの仮想オブジェクトからの選択を参照する。これは、例示的実装を例証するように意図され、限定することを意図するものではない。説明される技法は、仮想オブジェクトまたはユーザの環境内の物理的オブジェクトに適用されることができる。例えば、音声コマンド「それをそこに移動させる」は、仮想オブジェクト(例えば、仮想カレンダ)を物理的オブジェクト(例えば、ユーザの机の水平表面)上に移動させることを参照してもよい。または音声コマンド「それをそこに移動させる」は、仮想オブジェクト(例えば、仮想単語処理アプリケーション)を別の仮想オブジェクト内の別の場所(例えば、ユーザの仮想デスクトップ内の別の位置)に移動させることを参照してもよい。
【0174】
コマンドのコンテキストはまた、システムが、仮想オブジェクト、物理的オブジェクト、または両方を識別するように試みるべきであるかどうかに関する情報を提供してもよい。例えば、コマンド「それをそこに移動させる」では、システムは、AR/VR/MRシステムが、実際に物理的オブジェクトを移動させることができないため、「それ」が仮想オブジェクトであることを認識することができる。故に、システムは、物理的オブジェクトを「それ」に関する候補として排除してもよい。上記の実施例に説明されるように、標的場所「そこに」は、仮想オブジェクト(例えば、ユーザの仮想デスクトップ)または物理的オブジェクト(例えば、ユーザの机)であり得る。
【0175】
また、システムは、コンテキストおよびその時点におけるシステムの目標に応じて、FOR、FOV、または固視野(例えば、
図12A参照)であり得る、ユーザの環境内のオブジェクトに信頼度スコアを割り当ててもよい。例えば、ユーザは、両方ともユーザのFOV内にある、仮想カレンダをユーザの机上の位置に移動させることを所望し得る。システムは、状況のコンテキストが、仮想カレンダを移動させるコマンドがユーザのFOV内の標的目的地となるであろうことを示唆するため、ユーザのFOR内の全てのオブジェクトではなく、ユーザのFOV内のオブジェクトを分析してもよく、これは、処理速度または効率を改良し得る。別の場合では、ユーザは、仮想映画アプリケーションにおいて、映画選択のメニューを閲覧し得、映画のいくつかの選択肢を固視している場合がある。システムは、全FOV(またはFOR)ではなく、ユーザの固視野(例えば、ユーザの眼視線に基づいて)内の映画選択のみを分析してもよく(かつ、例えば、信頼度スコアを提供する)、これもまた、処理効率または速度を増加させ得る。
【0176】
図17Aに示される実施例を参照すると、ユーザは、2つの入力モード、すなわち、頭部姿勢1614および眼視線1624を使用して、仮想環境と相互作用することができる。頭部姿勢1614に基づいて、中央ランタイムサーバ1650は、アプリケーションA1672およびアプリケーションB1674と関連付けられた2つの候補仮想オブジェクトを識別することができる。中央ランタイムサーバ1650は、100%の信頼度スコアをアプリケーションA1672とアプリケーションB1674との間に均一に分散させることができる。その結果、アプリケーションA1672およびアプリケーションB1674はそれぞれ、信頼度スコア50%を割り当てられてもよい。中央ランタイムサーバ1650はまた、眼視線1624の方向に基づいて、2つの候補仮想オブジェクト(アプリケーションA1672およびアプリケーションC1676)を識別することができる。中央ランタイムサーバ1650はまた、アプリケーションA1672とアプリケーションC1676との間の100%信頼度を分割することができる。
【0177】
中央ランタイムサーバ1650は、格子圧縮論理関数1712を実施し、複数の入力モードの中で共通しない、誤対応信頼度値またはある閾値を下回るそれらの信頼度値を低減または排除し、ユーザが相互作用することを意図する最も可能性が高いアプリケーションを決定してもよい。例えば、
図17Aでは、中央ランタイムサーバ1650は、これらの2つの仮想オブジェクトが、頭部姿勢1614および眼視線1624分析の両方によって識別されないため、アプリケーションB1674およびアプリケーションC1676を排除することができる。別の実施例として、中央ランタイムサーバ1650は、各アプリケーションに割り当てられる値を集約することができる。中央ランタイムサーバ1650は、閾値信頼度値を80%と等しい以上のように設定することができる。本実施例では、アプリケーションA1672の集約された値は、100%(50%+50%)であって、アプリケーションB1674の集約された値は、50%であって、アプリケーションC1676の値は、50%である。アプリケーションBおよびCに関する個々の信頼度値は、閾値信頼度値を下回るため、中央ランタイムサーバ1650は、アプリケーションAの集約された信頼度値(100%)が閾値信頼度値を上回るため、アプリケーションBおよびCを選択するのではなく、むしろ、アプリケーションA1672を選択するようにプログラムされてもよい。
【0178】
図17Aにおける実施例は、入力デバイスと関連付けられた値(例えば、信頼度スコア)を候補仮想オブジェクト間で等しく分割するが、ある実施形態では、値分布は、候補仮想オブジェクト間で等しくなくてもよい。例えば、頭部姿勢1614が、値10を有する場合、アプリケーションA1672は、値7を受信してもよく、アプリケーションB1674は、値3を受信してもよい(頭部姿勢が、よりA1672に向かって向いているため)。別の実施例として、頭部姿勢1614が、定質的グレード「A」を有する場合、アプリケーションA1672は、グレード「A」を割り当てられてもよい一方、アプリケーションB1674およびC1676は、頭部姿勢1614からいずれのものも受信しない。
【0179】
ウェアラブルシステム(例えば、中央ランタイムサーバ1650)は、ユーザが標的仮想オブジェクトをより容易に知覚し得るように、焦点インジケータを標的仮想オブジェクトに割り当てることができる。焦点インジケータは、視覚的焦点インジケータであることができる。例えば、焦点インジケータは、後光(オブジェクトを実質的に囲繞する、またはその近傍にある)、色、知覚されるサイズまたは深度変化(例えば、選択されると、標的オブジェクトをより近くにおよび/またはより大きく現れさせる)、もしくはユーザの注意を引き付ける、他の視覚的効果を備えることができる。焦点インジケータはまた、振動、鳴動、ビープ等の可聴または触覚的効果を含むことができる。焦点インジケータは、システムがコマンドと関連付けられたオブジェクトを正しく決定した(例えば、「それをそこに移動させる」コマンドにおける「それ」および「そこに」を正しく決定した)ことをユーザに確認する(焦点インジケータを介して)ことによって、システムが「正しく機能している」ことの有用なフィードバックをユーザに提供することができる。例えば、識別された標的仮想オブジェクトは、第1の焦点インジケータを割り当てられることができ、目的地場所(例えば、コマンドにおける「そこに」)は、第2の焦点インジケータを割り当てられることができる。ある場合には、システムが、標的オブジェクトを正しくなく決定した場合、ユーザは、例えば、正しいオブジェクトを注視(固視)し、「それではない」等の音声コマンドを提供することによって、システムの決定を上書きしてもよい。
標的ユーザインターフェース動作を識別する実施例
【0180】
標的仮想オブジェクトを識別することに加え、またはその代替として、中央ランタイムサーバ1650はまた、受信される複数の入力に基づいて、標的ユーザインターフェース動作を決定することができる。
図17Bは、マルチモード入力に基づいて標的ユーザインターフェース動作を決定する実施例を図示する。描写されるように、中央ランタイムサーバ1650は、複数の入力を頭部姿勢1614およびジェスチャ1612の形態で受信することができる。中央ランタイムサーバ1650は、例えば、アプリケーションA1672およびアプリケーションB1674と関連付けられた複数の仮想オブジェクトをユーザに表示することができる。しかしながら、頭部姿勢入力モード自体は、頭部姿勢がアプリケーションA1672と関連付けられたユーザインターフェース動作に適用される50%信頼度(修正オプション1772として示される)が存在し、頭部姿勢がアプリケーションB1674と関連付けられた別のユーザインターフェース動作に適用される別の50%信頼度(修正オプション1774として示される)が存在するため、所望のユーザインターフェースアクションを決定するためには不十分であり得る。
【0181】
種々の実施形態では、特定のアプリケーションまたはユーザインターフェース動作のタイプが、ある入力モードに対してより応答性であるようにプログラムされてもよい。例えば、アプリケーションB1674のHTMLタグまたはJava(登録商標)スクリプトプログラミングは、アプリケーションA1672のものよりジェスチャ入力に対して応答性であるように設定されてもよい。例えば、アプリケーションA1672は、ジェスチャ1612より頭部姿勢1672に対して応答性であってもよい一方、「選択」動作は、ユーザが、ある場合には、頭部姿勢より、ジェスチャを使用して、オブジェクトを選択する可能性がより高いため、頭部姿勢1614よりジェスチャ1612(例えば、タップジェスチャ)に対して応答性であってもよい。
【0182】
図17Bを参照すると、ジェスチャ1612は、アプリケーションB1674におけるあるタイプのユーザインターフェース動作に対して応答性であってもよい。図示されるように、ジェスチャ1612は、アプリケーションBのためのユーザインターフェース動作と関連付けられたより高い信頼度を有し得る一方、ジェスチャ1612は、アプリケーションA1672におけるインターフェース動作のために適用不可能であり得る。故に、標的仮想オブジェクトが、アプリケーションA1672である場合、頭部姿勢1614から受信された入力は、標的ユーザインターフェース動作であり得る。しかし、標的仮想オブジェクトが、アプリケーションB1674である場合、ジェスチャ1612から受信された入力(単独で、または頭部姿勢1614に基づく入力と組み合わせて)は、標的ユーザインターフェース動作であり得る。
【0183】
別の実施例として、ジェスチャ1612は、ユーザがアプリケーションBと相互作用するとき、頭部姿勢1614より高い信頼度レベルを有するため、ジェスチャ1612は、アプリケーションB1674のための一次入力モードとなり得る一方、頭部姿勢1614は、二次入力モードとなり得る。故に、ジェスチャ1612から受信された入力は、頭部姿勢1614より高い加重と関連付けられてもよい。例えば、頭部姿勢が、アプリケーションB1674と関連付けられた仮想オブジェクトが静止したままであるべきであることを示す一方、ジェスチャ1612が、仮想オブジェクトが左に移動されるべきであることを示す場合、中央ランタイムサーバ1650は、仮想オブジェクトを左に移動させてレンダリングしてもよい。ある実装では、ウェアラブルシステムは、ユーザが、一次入力モードを使用して、仮想オブジェクトと相互作用することを可能にすることができ、一次入力モードがユーザのアクションを決定するために不十分である場合、二次入力モードを検討することができる。例えば、ユーザは、主に、ジェスチャ1612を用いて、アプリケーションB1674と相互作用することができる。しかしながら、HMDが、標的ユーザインターフェース動作を決定することができない場合(例えば、複数の候補仮想オブジェクトがアプリケーションB1674内に存在し得るため、またはジェスチャ1612が明確ではない場合)、HMDは、頭部姿勢を入力として使用して、標的仮想オブジェクトまたはアプリケーションB1674上で実施されるべき標的ユーザインターフェース動作を確認することができる。
【0184】
各入力モードと関連付けられたスコアは、所望のユーザインターフェース動作を決定するために集約されてもよい。
図17Cは、仮想オブジェクトのための入力モードと関連付けられた信頼度スコアを集約する実施例を図示する。本実施例で図示されるように、頭部姿勢入力1614は、アプリケーションB(30%信頼度)よりアプリケーションA(80%信頼度)に関して高い信頼度スコアを生産する一方、ジェスチャ入力1612は、アプリケーションA(30%信頼度)よりアプリケーションB(60%信頼度)に関して高い信頼度スコアを生産する。中央ランタイムサーバ1650は、各ユーザ入力モードから導出される信頼度スコアに基づいて、オブジェクト毎に信頼度スコアを集約することができる。例えば、中央ランタイムサーバ1650は、アプリケーションA1672に関する集約スコア110と、アプリケーションB1674に関する集約スコア90とを生産することができる。集約されたスコアは、加重または非加重平均もしくは他の数学的組み合わせであってもよい。アプリケーションA1672は、アプリケーションB1674より高い集約スコアを有するため、中央ランタイムサーバ1650は、アプリケーションAを相互作用されるべきアプリケーションとして選択してもよい。加えて、または代替として、アプリケーションA1672のより高い集約スコアに起因して、中央ランタイムサーバ1650は、アプリケーションBがアプリケーションAよりジェスチャ1612に対して「応答性」であるが、頭部姿勢1614およびジェスチャ1612が、ユーザインターフェース動作をアプリケーションA1672上で実施するように意図されることを決定することができる。
【0185】
本実施例では、中央ランタイムサーバ1650は、所与のオブジェクトに関する種々の入力の信頼度スコアを加算することによって生じた信頼度スコアを集約する。種々の他の実施形態では、中央ランタイムサーバ1650は、単純加算以外の技法を使用して、信頼度スコアを集約することができる。例えば、入力モードまたはスコアは、加重と関連付けられてもよい。その結果、信頼度スコアの集約は、入力モードまたはスコアに割り当てられる加重を考慮するであろう。加重は、ユーザ調節可能であって、ユーザが、HMDとのマルチモード相互作用の「応答性」を選択的に調節することを可能にしてもよい。加重はまた、コンテキストであってもよい。例えば、公共場所で使用される加重は、手のジェスチャより頭部または眼姿勢を強調し、HMDを動作させる間、ユーザに頻繁にジェスチャをとらせる可能性として考えられる社会的不適応を回避してもよい。別の実施例として、地下鉄、航空機、または電車では、音声コマンドは、ユーザが、そのような環境においてそのHMDに大声で話し掛けることを所望し得ないため、頭部または眼姿勢より低い加重を与えられてもよい。環境センサ(例えば、GPS)は、ユーザがHMDを動作させている適切なコンテキストを決定することを補助し得る。
【0186】
図17A-17Cにおける実施例は、2つのオブジェクトを参照して図示されるが、本明細書に説明される技法はまた、より多いまたはより少ないオブジェクトが存在するときにも適用されることができる。加えて、これらの図を参照して説明される技法は、ウェアラブルシステムのアプリケーションまたは1つ以上のアプリケーションと関連付けられた仮想オブジェクトにも適用されることができる。さらに、本明細書に説明される技法はまた、頭部姿勢、眼視線、またはジェスチャ以外の直接または間接入力モードにも適用されることができる。例えば、音声コマンドもまた、使用されてもよい。加えて、中央ランタイムサーバ1650が、種々の入力モードの処理を説明するために、全体を通して実施例として使用されたが、HMDのローカル処理およびデータモジュール260はまた、中央ランタイムサーバ1650に加え、またはその代替として、動作の一部または全部を実施してもよい。
信頼度スコアを計算する例示的技法
【0187】
ウェアラブルシステムは、種々の技法のうちの1つまたはその組み合わせを使用して、オブジェクトの信頼度スコアを計算することができる。
図18Aおよび18Bは、ユーザのFOV内のオブジェクトに関する信頼度スコアを計算する実施例を図示する。ユーザのFOVは、例えば、円錐キャスティングの間、ユーザの頭部姿勢または眼視線に基づいて計算されてもよい。
図18Aおよび18Bにおける信頼度スコアは、単一入力モード(例えば、ユーザの頭部姿勢等)に基づいてもよい。複数の信頼度スコアが、マルチモードユーザ入力に基づいて、計算され(種々のマルチモード入力の一部または全部に関して)、次いで、集約され、ユーザインターフェース動作または標的仮想オブジェクトを決定することができる。
【0188】
図18Aは、仮想オブジェクトの信頼度スコアがユーザのFOV1810内に入る仮想オブジェクトの部分に基づいて計算される、実施例を図示する。
図18Aでは、ユーザのFOVは、2つの仮想オブジェクト(円形1802および三角形1804によって表される)の一部を有する。ウェアラブルシステムは、FOV1810内に入るオブジェクトの投影されたエリアの割合に基づいて、信頼度スコアを円形および三角形に割り当てることができる。図示されるように、円形1802の約半分が、FOV1810内に入り、その結果、ウェアラブルシステムは、50%の信頼度スコアを円形1802に割り当ててもよい。別の実施例として、三角形の約75%は、FOV1810内にあって、したがって、ウェアラブルシステムは、75%の信頼度スコアを三角形1804に割り当ててもよい。
【0189】
ウェアラブルシステムは、FOVおよびFOR内のコンテンツの回帰分析を使用して、FOV内の仮想オブジェクトの割合を計算することができる。
図12Bを参照して説明されるように、ウェアラブルシステムは、FOR内のオブジェクトを追跡するが、ウェアラブルシステムは、FOV内の表示のために、FOV内のオブジェクト(またはオブジェクトの一部)をレンダリングプロジェクタ(例えば、ディスプレイ220)に送達してもよい。ウェアラブルシステムは、レンダリングプロジェクタのために提供される部分を決定し、全体としての仮想オブジェクトに対してレンダリングプロジェクタに送達される割合を分析し、FOV内の仮想オブジェクトのパーセンテージを決定することができる。
【0190】
FOV内に入る比例面積に基づいて、信頼度スコアを計算することができるに加えて、またはその代替として、ウェアラブルシステムはまた、FOV内のオブジェクトの近傍の空間を分析し、オブジェクトの信頼度スコアを決定することができる。
図18Bは、FOV1820内の仮想オブジェクトを囲繞する空間の均一性に基づいて、信頼度スコアを計算する実施例を図示する。FOV1820は、三角形1814および円形1812によって描写されるように、2つの仮想オブジェクトを含む。各仮想オブジェクトの周囲の空間は、ベクトルによって表されてもよい。例えば、仮想オブジェクト1812の周囲の空間は、ベクトル1822a、1822b、1822c、および1822dによって表されてもよい一方、仮想オブジェクト1814の周囲の空間は、ベクトル1824a、1824b、1824c、および1824dによって表されてもよい。ベクトルは、仮想オブジェクト(または仮想オブジェクトとの境界)から生じ、FOV1820の縁で終了し得る。システムは、オブジェクトからFOVの縁までのベクトルの長さの分布を分析し、よりFOVの中心に向かって位置付けられるオブジェクトを決定することができる。例えば、円形FOVの非常に中心におけるオブジェクトベクトル長さの比較的に均一分布を有するであろう一方、縁に非常に近接するオブジェクトは、ベクトル長さの非均一分布を有するであろう(近傍の縁を指し示すいくつかのベクトルは、より短くなるであろうが、最も遠い縁を指し示すベクトルは、より長くなるであろうため)。
図18Bに描写されるように、仮想三角形1814から視野1820の縁までのベクトルの長さの分布は、円形1812から視野1820の縁までのベクトルの長さの分布より変動し、これは、仮想円形1812が仮想三角形1814よりFOV1820の中心に向かっていることを示す。ベクトル長さの分布の変動性は、長さの標準偏差または分散(または他の統計的測定値)によって表されてもよい。ウェアラブルシステムは、故に、仮想三角形1814より仮想円形1812に高い信頼度スコアを割り当てることができる。
【0191】
図18Aおよび18Bを参照して説明される技法に加え、ウェアラブルシステムは、ユーザの相互作用の履歴分析に基づいて、信頼度スコアを仮想オブジェクトに割り当てることができる。実施例として、ウェアラブルシステムは、より高い信頼度スコアをユーザが頻繁に相互作用する仮想オブジェクトに割り当てることができる。別の実施例として、あるユーザは、音声コマンド(例えば、「それをそこに移動させる」)を使用して、仮想オブジェクトを移動させる傾向にあり得る一方、別のユーザは、手のジェスチャを使用することを好み得る(例えば、仮想オブジェクトに手を伸ばし、「握持」し、それを別の位置に移動させることによって)。システムは、そのようなユーザ傾向を履歴分析から決定することができる。さらに別の実施例として、入力モードは、特定のユーザインターフェース動作または特定の仮想オブジェクトと頻繁に関連付けられ得、その結果、ウェアラブルシステムは、同一入力に基づいて、代替ユーザインターフェース動作または仮想オブジェクトが存在し得る場合でも、特定のユーザインターフェース動作または特定の仮想オブジェクトに対する信頼度スコアを増加させてもよい。
【0192】
図18Aまたは18Bに描写されるように、視野1810または1820のいずれかを前提として、第2の入力モードは、適切な仮想オブジェクトまたは仮想オブジェクトにおける適切なユーザインターフェース動作の選択を促進することができる。例えば、ユーザは、「三角形を拡大する」と発し、視野1810内の三角形のサイズを増加させることができる。別の実施例として、
図18Aでは、ユーザは、「それを2倍にする」等の音声コマンドを与えてもよい。ウェアラブルシステムは、仮想オブジェクト1804が、頭部姿勢に基づいて、より高い信頼度スコアを有するため、音声コマンドの対象(例えば、標的オブジェクト)が仮想オブジェクト1804であることを決定してもよい。有利には、いくつかの実施形態では、これは、所望の結果を生産するために必要とされる相互作用の特異性を低減させる。例えば、ユーザは、ウェアラブルシステムが同一相互作用を達成するために、「三角形を2倍にする」と発する必要がない。
【0193】
図18Aおよび18Bにおける三角形および円形は、例証目的のためだけのものである。本明細書に説明される種々の技法はまた、より複雑なユーザ相互作用をサポートする、仮想コンテンツに適用されることができる。
物理的環境内の例示的マルチモード相互作用
【0194】
仮想オブジェクトと相互作用することに加え、またはその代替として、ウェアラブルシステムはまた、実世界環境内の広範囲の相互作用をもたらすことができる。
図19Aおよび19Bは、マルチモード入力を使用して物理的環境と相互作用する実施例を図示する。
図19Aでは、3つの入力モード、すなわち、手のジェスチャ1960、頭部姿勢1920、およびユーザ入力デバイス1940からの入力が、図示される。頭部姿勢1920は、姿勢センサを使用して決定されることができる。姿勢センサは、IMU、ジャイロスコープ、磁力計、加速度計、または
図2に説明される他のタイプのセンサであってもよい。手のジェスチャ1960は、外向きに面した結像システム464を使用して測定されてもよい一方、ユーザ入力デバイス1940は、
図4に示されるユーザ入力デバイス466の実施形態であってもよい。
【0195】
いくつかの実施形態では、ウェアラブルシステムはまた、ユーザの眼視線を測定することができる。眼視線は、ユーザの眼のそれぞれから2つの眼通視線が収束する位置まで延在する、ベクトルを含んでもよい。ベクトルは、ユーザが見ている方向を決定するために使用されることができ、収束点における、またはベクトルに沿った仮想コンテンツを選択または識別するために使用されることができる。そのような眼視線は、例えば、閃光検出、虹彩または瞳孔形状マッピング、赤外線照明、または個別の瞳孔配向から生じる交点の回帰を伴う双眼結像等の眼追跡技法によって決定されてもよい。眼視線または頭部姿勢は、次いで、仮想オブジェクト選択のための円錐キャスティングまたはレイキャスティングのための源点と見なされ得る。
【0196】
本明細書に説明されるように、ユーザの環境内の選択された仮想コンテンツを移動させるための相互作用イベント(例えば、「それをそこに置く」)は、コマンド動作(例えば、「置く」)、対象(例えば、上記のマルチモード選択技法から決定され得るような「それ」)、およびパラメータ(例えば、「そこに」)の決定を要求し得る。コマンド動作(または短縮してコマンド)および対象(標的オブジェクトまたは標的仮想オブジェクトとも称される)は、入力モードの組み合わせを使用して決定されてもよい。例えば、対象1912を移動させるコマンドは、単独で、または組み合わせて、頭部姿勢1920変化(例えば、頭部方向転換または点頭)または手のジェスチャ1960(例えば、スワイプジェスチャ)に基づいてもよい。別の実施例として、対象1912は、頭部姿勢および眼視線の組み合わせに基づいて決定されてもよい。故に、マルチモードユーザ入力に基づくコマンドもまた、時として、マルチモード入力コマンドと称され得る。
【0197】
パラメータはまた、単一入力またはマルチモード入力を使用して決定されてもよい。パラメータは、ユーザの物理的環境内のオブジェクト(例えば、テーブルまたは壁)またはユーザの仮想環境内のオブジェクト(例えば、映画アプリケーション、アバタ、またはゲーム内の仮想建物)と関連付けられてもよい。実世界パラメータを識別するステップは、いくつかの実施形態では、より迅速かつより正確なコンテンツ設置応答を可能にすることができる。例えば、特定の仮想オブジェクト(または仮想オブジェクトの一部)は、水平配向を伴って略平面であってもよい(例えば、仮想オブジェクトの法線は、部屋の床と垂直である)。ユーザが、仮想オブジェクトを移動させる相互作用を開始すると、ウェアラブルシステムは、類似配向を伴う実世界表面(例えば、テーブルの表面)を識別し、仮想オブジェクトを実世界表面に移動させることができる。ある実施形態では、そのような移動は、自動であってもよい。例えば、ユーザは、仮想書籍を床上にある場所から移動させることを所望し得る。部屋内で利用可能な唯一の水平表面は、ユーザの勉強机であり得る。故に、ウェアラブルシステムは、机の表面が、ユーザが書籍を移動させることを所望するであろう、最も可能性が高い場所であるため、ユーザが付加的コマンドまたはパラメータを入力せずに、「それを移動させる」の音声コマンドに応答して、仮想書籍を勉強机の表面に自動的に移動させることができる。別の実施例として、ウェアラブルシステムは、所与のコンテンツのための好適なサイズの実世界表面を識別することができ、それによって、ユーザに合致するより良好なパラメータを提供してもよい。例えば、ユーザが、所与のディスプレイサイズを伴う仮想ビデオ画面を鑑賞しており、単純音声コマンドを用いて、それを特定の表面に移動させることを所望する場合、システムは、仮想ビデオのディスプレイサイズを最良にサポートするために必要な表面積を提供する、実世界表面を決定してもよい。
【0198】
ウェアラブルシステムは、標的仮想オブジェクトを識別するステップを参照して説明される技法を使用して、標的パラメータ(例えば、標的表面)を識別することができる。例えば、ウェアラブルシステムは、間接ユーザ入力または直接ユーザ入力に基づいて、複数の標的パラメータと関連付けられた信頼度スコアを計算することができる。実施例として、ウェアラブルシステムは、直接入力(ユーザの頭部姿勢等)および間接入力(壁の特性(例えば、垂直表面)等)に基づいて、壁と関連付けられた信頼度スコアを計算することができる。
実世界パラメータを識別する例示的技法
【0199】
ウェアラブルシステムは、種々の技法を使用して、マルチモード入力コマンドのパラメータ(標的場所等)を決定することができる。例えば、ウェアラブルシステムは、例えば、SLAMプロトコルの環境深度情報への適用(例えば、
図9を参照して説明される)または環境のメッシュモデルの構築もしくはアクセス等、種々の深度感知技法を使用することができる。いくつかの実施形態では、深度感知は、3D空間内の既知の点間の距離(例えば、HMD上のセンサ間の距離)と、実世界内のオブジェクトの表面(例えば、仮想コンテンツを位置させるための壁)上の着目点(「POI」)とを決定する。本深度情報は、世界マップ920内に記憶されてもよい。相互作用のためのパラメータは、POIの集合に基づいて決定されてもよい。
【0200】
ウェアラブルシステムは、これらの深度感知技法を深度センサから取得されるデータに適用し、物理的環境の分界および境界を決定することができる。深度センサは、外向きに面した結像システム464の一部であってもよい。いくつかの実施形態では、深度センサは、IMUに結合される。深度センサから入手されたデータは、相互に対する複数のPOIの配向を決定するために使用されることができる。例えば、ウェアラブルシステムは、POIに関する切断符号付き距離関数(「TSDF」)を算出することができる。TSDFは、POI毎の数値を含むことができる。数値は、点が特定の平面の所与の公差内にあるとき、ゼロであって、点が特定の平面から第1の方向(例えば、上方または外側)に離間されるとき、正であって、点が特定の平面から第2の(例えば、反対)方向(例えば、下方または内側)に離間されるとき、負であってもよい。算出されたTSDFは、特定の平面内、その上方、および下方に整合され、特定の表面を構築するまたは表す、IMUによって決定されるような配向に沿ったブリックまたはボックスの3-D立体グリッドを定義するために使用されることができる。
【0201】
所与の平面公差外のPOI(例えば、公差を上回るTSDFの絶対値を伴う)は、排除され、所与の公差内の相互に隣接する複数のPOIのみ残され、実世界環境内の表面の仮想表現を作成してもよい。例えば、実世界環境は、会議テーブルを含んでもよい。種々の他のオブジェクト(例えば、電話、ラップトップコンピュータ、コーヒーマグカップ等)が、会議テーブルの上部に存在し得る。会議テーブルの表面に関して、ウェアラブルシステムは、会議テーブルと関連付けられたPOIを保ち、他のオブジェクトに関するPOIを除去することができる。その結果、平面マップ(会議テーブルの表面の輪郭を描く)は、会議テーブルに属する点のみを伴う、会議テーブルを表すことができる。マップは、会議テーブルの上部のオブジェクトと関連付けられた点を除外することができる。ある実施形態では、平面マップ内の残りのPOIの集合は、平面マップのこれらの領域が仮想オブジェクトが設置され得る空間を表すため、環境の「作業可能表面」と称され得る。例えば、ユーザが、仮想画面をテーブルに移動させることを所望するとき、ウェアラブルシステムは、ユーザの環境内の好適な表面(等テーブル上部、壁等)を識別する一方、オブジェクト(例えば、コーヒーマグカップまたは鉛筆もしくは壁の絵)または画面を設置するために好適ではない表面(例えば、書棚の表面)を排除することができる。本実施例では、識別された好適な表面は、環境の作業可能表面であり得る。
【0202】
図19Aに示される実施例に戻って参照すると、環境1900は、物理的壁1950を含むことができる。HMDまたはユーザ入力デバイス1940は、深度センサシステム(例えば、飛行時間センサまたは垂直キャビティ面発光レーザ(VCSEL)等)および姿勢センサ(例えば、IMU等)を格納することができる。深度センサシステムによって取得されるデータは、ユーザの環境内の種々のPOIを識別するために使用されることができる。ウェアラブルシステムは、略平面であるPOIをともにグループ化し、境界ポリゴン1910を形成することができる。境界ポリゴン1910は、作業可能表面の例示的実施形態であり得る。
【0203】
いくつかの実施形態では、外向きに面した結像システム464は、ユーザジェスチャ1960を識別することができ、これは、実世界環境1900内の領域を指で指し示すことを含んでもよい。外向きに面した結像システム464は、境界ポリゴン1910に向かって指で指し示すことの疎点ベクトル構造を決定することによって、事前に測定された境界ポリゴン1910を識別することができる。
【0204】
図19Aに図示されるように、仮想ビデオ画面1930が、境界ポリゴン1910の内側に存在することができる。ユーザは、マルチモード入力を使用して、仮想ビデオ画面1930の内側の仮想オブジェクト1912と相互作用することができる。
図19Bは、実世界環境内の仮想コンテンツのマルチモード入力を使用した相互作用を描写する。
図19Bにおける環境は、垂直表面1915(壁の一部であってもよい)と、テーブル上部の表面1917とを含む。第1の状態1970aでは、仮想コンテンツ1926は、最初に、壁表面1915上の境界ポリゴン1972a内に表示される。ユーザは、例えば、円錐キャスティングまたはマルチモード入力(ジェスチャ1960、頭部姿勢1920、眼視線、またはユーザ入力デバイス1940からの入力のうちの2つ以上のものを含む)を通して、仮想オブジェクト1926を選択することができる。
【0205】
ユーザは、別の入力をマルチモード入力の一部として使用して、表面1917を目的地として選択することができる。例えば、ユーザは、手のジェスチャと組み合わせられる頭部姿勢を使用して、表面1917が目的地であることを示すことができる。ウェアラブルシステムは、同一平面上にあるように現れるPOIをグループ化することによって、表面1917(およびポリゴン1972b)を認識することができる。ウェアラブルシステムはまた、他の表面認識技法を使用して、表面1917を識別することができる。
【0206】
ユーザはまた、第2の状態1970bに図示されるように、マルチモード入力を使用して、仮想コンテンツ1126を表面1917上の境界ポリゴン1972bに移送することができる。例えば、ユーザは、頭部姿勢の変化およびユーザ入力デバイス1940の移動の組み合わせを通して、仮想コンテンツ1926を移動させることができることができる。
【0207】
別の実施例として、ユーザは、オーディオストリームを受信し、本コマンドをそれから解析し得る(本明細書に説明されるように)、ウェアラブルシステムのマイクロホン232を介して、「それをそこに移動させる」と発し得る。ユーザは、本音声コマンドと、頭部姿勢、眼視線、ジェスチャ、またはトーテムの作動を組み合わせることができる。ウェアラブルシステムは、仮想オブジェクト1926が最高信頼度オブジェクトであるため、仮想オブジェクト1926を本コマンドの対象として検出することができる(例えば、場面1970a内の破線は、ユーザの指1960を示し、HMD1920およびトーテム1940は、オブジェクト1926に向かって配向されることを参照されたい)。ウェアラブルシステムはまた、コマンド動作を「移動させる」として識別し、コマンドのパラメータが「そこに」であることを決定することができる。ウェアラブルシステムはさらに、「そこに」が、音声以外の入力モード(例えば、眼視線、頭部姿勢、ジェスチャ、トーテム)に基づいて、境界ポリゴン1972bを指すことを決定することができる。
【0208】
相互作用イベントにおけるコマンドは、複数のパラメータの調節および計算を伴うことができる。例えば、パラメータは、仮想オブジェクトの目的地、場所、配向、外観(例えば、サイズまたは形状)、または動画を含んでもよい。ウェアラブルシステムは、パラメータを変化させる際、直接入力が明示的ではない場合でも、パラメータを自動的に計算することができる。実施例として、ウェアラブルシステムは、垂直表面1915から水平表面1917に移動されるとき、仮想オブジェクト1926の配向を自動的に変化させることができる。第1の状態1970aでは、仮想コンテンツ1926は、表面1915上で略垂直配向である。仮想コンテンツ1926が、第2の状態1970bにおける表面1917に移動されるとき、仮想コンテンツ1926の配向は、仮想オブジェクト1924によって示されるように、一貫して保たれ得る(例えば、垂直配向を維持する)。ウェアラブルシステムはまた、仮想コンテンツ1926が、仮想オブジェクト1922によって図示されるように、水平位置にあるように現れるように、仮想コンテンツ1926の配向を自動的に調節し、表面1917の配向と整合させることができる。本実施例では、配向は、間接入力としての環境追跡1632に基づいて、自動的に調節されてもよい。ウェアラブルシステムは、ウェアラブルシステムが、オブジェクトが標的目的地オブジェクトであることを決定するとき、オブジェクト(例えば、表面1917)の特性を自動的に考慮することができる。ウェアラブルシステムは、標的目的地オブジェクトの特性に基づいて、仮想オブジェクトのパラメータを調節することができる。本実施例では、ウェアラブルシステムは、表面1917の配向に基づいて、仮想オブジェクトの1926の配向を自動的に回転させる。
【0209】
自動的に設置または移動させる仮想オブジェクトの付加的実施例は、2017年8月9日に出願され、「AUTOMATIC PLACEMENT OF A VIRTUAL
OBJECT IN A THREE-DIMENSIONAL SPACE」と題された米国出願第15/673,135号(本開示は、参照することによってその全体として本明細書に組み込まれる)に説明される。
【0210】
ある実装では、入力は、複数のパラメータを明示的に修正してもよい。「それをそこに平坦に設置する」の音声コマンドは、表面1917を目的地として識別することに加え、仮想オブジェクトの1926の配向を改変し得る。本実施例では、単語「平坦」および単語「そこに」は両方とも、パラメータ値であることができ、「そこに」は、ウェアラブルシステムに、標的仮想オブジェクトの場所を更新させる一方、単語「平坦」は、目的地場所における標的仮想オブジェクトの配向と関連付けられる。パラメータ「平坦」を実行するために、ウェアラブルシステムは、仮想オブジェクト1926の配向を合致させ、表面1917の配向に合致させることができる。
【0211】
仮想オブジェクトを選択および移動させることに加えて、またはその代替として、マルチモード入力は、他の方法において、仮想コンテンツと相互作用することができる。
図20は、マルチモード入力に基づいて仮想オブジェクトを自動的にリサイズする実施例を図示する。
図20では、ユーザ1510は、HMD1502を装着することができ、手のジェスチャおよび音声コマンド2024を使用して、仮想オブジェクトと相互作用することができる。
図20は、4つの場面2000a、2000b、2000c、および2000dを図示する。各場面は、ディスプレイ画面と、仮想オブジェクト(スマイリーフェイスによって図示される)とを含む。
【0212】
場面2000aでは、ディスプレイ画面は、サイズ2010を有し、仮想オブジェクトは、サイズ2030を有する。ユーザは、手のジェスチャをジェスチャ2020からジェスチャ2022に変化させ、ユーザが仮想オブジェクトまたはディスプレイ画面のいずれかのサイズを調節することを所望することを示すことができる。ユーザは、音声入力2024を使用して、仮想オブジェクトまたはディスプレイ画面が操作の対象であるかどうかを示すことができる。
【0213】
実施例として、ユーザは、ディスプレイ画面および仮想オブジェクトの両方を拡大することを所望し得る。故に、ユーザは、入力ジェスチャ2022を拡大するコマンドとして使用することができる。拡張の程度に関するパラメータは、広げた指の程度によって表されてもよい。その一方で、ユーザは、音声入力2024を使用して、相互作用の対象を決定することができる。場面2000bに示されるように、ユーザは、「全部」と発し、拡大されたディスプレイ2012および拡大された仮想オブジェクト2032を生産してもよい。別の実施例として、場面2000cでは、ユーザは、「コンテンツ」と発し、拡大された仮想オブジェクト2034を生産してもよい一方、ディスプレイ画面のサイズは、場面2000aにおけるものと同一のままである。さらに別の実施例として、場面2000dでは、ユーザは、「ディスプレイ」と発し、拡大されたディスプレイ画面2016を生産することができる一方、仮想オブジェクトは、場面2000aにおけるものと同一サイズのままである。
入力モードとしての間接入力の実施例
【0214】
本明細書に説明されるように、ウェアラブルシステムは、ユーザが、マルチモード入力の一部として直接ユーザ入力および間接ユーザ入力を用いて、相互作用することを可能にするようにプログラムされることができる。直接ユーザ入力は、頭部姿勢、眼視線、音声入力、ジェスチャ、ユーザ入力デバイスからの入力、または直接ユーザからの他の入力を含んでもよい。間接入力は、例えば、ユーザの位置、ユーザの特性/選好、オブジェクトの特性、ユーザの環境の特性等の種々の環境要因を含んでもよい。
【0215】
図2を参照して説明されるように、ウェアラブルシステムは、例えば、GPSまたはレーダもしくはライダ等の場所センサを含むことができる。ウェアラブルシステムは、オブジェクトとユーザの近接度の関数として、ユーザの相互作用の対象を決定することができる。
図21は、オブジェクトの場所に基づいて標的仮想オブジェクトを識別する実施例を図示する。
図21は、ユーザのFORの鳥瞰
図2100を図式的に図示する。FORは、複数の仮想オブジェクト2110a-2110qを含むことができる。ユーザは、HMDを装着することができ、これは、場所センサを含むことができる。ウェアラブルシステムは、オブジェクトとユーザの近接度に基づいて、候補標的オブジェクトを決定することができる。例えば、ウェアラブルシステムは、ユーザから閾値半径(例えば、1m、2m、3m、5m、10m、以上の)内の仮想オブジェクトを候補標的仮想オブジェクトとして選択することができる。
図21では、仮想オブジェクト(例えば、仮想オブジェクト2110o、2110p、2110q)は、ユーザの位置2120から閾値半径(破線円形2122によって図示される)内に入る。その結果、ウェアラブルシステムは、仮想オブジェクト2110o-2110qを候補標的仮想オブジェクトとして設定することができる。ウェアラブルシステムはさらに、他の入力(例えば、ユーザの頭部姿勢等)に基づいて、選択を精緻化することができる。閾値半径は、ユーザの場所等のコンテキスト要因に依存し得る。例えば、閾値半径は、ユーザがそのオフィス内に居る場合、ユーザが公園における屋外に居る場合より小さくなり得る。候補オブジェクトは、ユーザから閾値半径内の領域2122の一部から選択されることができる。例えば、円形2122およびユーザのFOV(例えば、概して、ユーザの正面)の両方内のそれらのオブジェクトのみが、候補となり得る一方、円形2122内にあるが、ユーザのFOV外(例えば、ユーザの背後)のオブジェクトは、候補となり得ない。別の実施例として、複数の仮想オブジェクトが、共通通視線に沿ってあり得る。例えば、円錐キャスティングは、複数の仮想オブジェクトを選択してもよい。ウェアラブルシステムは、ユーザの位置を別の入力として使用して、ユーザ相互作用のための標的仮想オブジェクトまたはパラメータを決定することができる。例えば、円錐キャスティングは、異なる深度平面に対応するオブジェクトを選択してもよいが、ウェアラブルシステムは、標的仮想オブジェクトをユーザの手の届く範囲内のオブジェクトとして識別するように構成されてもよい。
【0216】
直接入力と同様に、間接入力もまた、仮想オブジェクトの信頼度スコアを計算するために使用され得る、値に割り当てられてもよい。例えば、複数の対象またはパラメータが、選択の一般的信頼度内にあったが、間接入力がさらに、信頼度要因として使用され得る。
図21を参照すると、円形2122内の仮想オブジェクトは、ユーザの位置2120により近いオブジェクトが、ユーザが相互作用することに関心があるオブジェクトである可能性がより高いため、円形2122と円形2124との間の仮想オブジェクトより高い信頼度スコアを有し得る。
【0217】
図21に示される実施例では、破線円形2122、2124は、便宜上、
図21に示される平面上の対応する半径の球体の投影を表すように図示される。これは、例証のためのものであって、限定ではない。他の実装では、他の形状の領域(例えば、多角形)が、選定されてもよい。
【0218】
図22Aおよび22Bは、直接および間接入力の組み合わせに基づいて、ユーザの環境と相互作用する別の実施例を図示する。これらの2つの図は、2つの仮想オブジェクト、すなわち、仮想オブジェクトA2212および仮想オブジェクトB2214を世界カメラのFOV1270内に示し、これは、ユーザのFOV1250より大きくあり得る。仮想オブジェクトA2212はまた、ユーザのFOV1250内にある。例えば、仮想オブジェクトA2212は、ユーザが現在視認している仮想ドキュメントであってもよい一方、仮想オブジェクトB2214は、壁上の仮想付箋であってもよい。しかしながら、ユーザは、仮想オブジェクトA2212と相互作用するが、ユーザは、仮想オブジェクトB2214を見て、付加的情報を仮想オブジェクトB2214から取得することを所望し得る。その結果、ユーザは、仮想オブジェクトB2214を視認するために、頭部を右に方向転換させてもよい(FOV1250を変化させる)。有利には、いくつかの実施形態では、頭部を方向転換させるのではなく、ウェアラブルシステムは、ユーザの視線方向の変化(仮想オブジェクトB2214の方向に向かう)を検出してもよく、その結果、ウェアラブルシステムは、ユーザがその頭部姿勢を変化させる必要なく、ユーザのFOV内の仮想オブジェクトB2214を自動的に移動させることができる。仮想オブジェクトBは、仮想オブジェクトAにオーバーレイしてもよい(またはオブジェクトA内に含まれる)、またはオブジェクトBは、ユーザFOV1250内に設置されるが、少なくとも部分的に、オブジェクトAから離間されてもよい(オブジェクトAもまた、少なくとも部分的に、ユーザに可視であるように)。
【0219】
別の実施例として、仮想オブジェクトB2214は、別のユーザインターフェース画面上にあってもよい。ユーザは、仮想オブジェクトA2212を有するユーザインターフェース画面と、仮想オブジェクトB2214を有するユーザインターフェース画面との間で切り替えることを所望し得る。ウェアラブルシステムは、ユーザのFOV1250を変化させずに、切替を行うことができる。例えば、眼視線の変化またはユーザ入力デバイスの作動の検出に応じて、ウェアラブルシステムは、仮想オブジェクトA2212を有するユーザインターフェース画面をユーザのFOV1250外に自動的に移動させる一方、仮想オブジェクトB2214を有するユーザインターフェース画面をユーザのFOV1250内移動させることができる。別の実施例として、ウェアラブルシステムは、仮想オブジェクトB2214を有するユーザインターフェース画面を、仮想オブジェクトA2212を有するユーザインターフェース画面の上部に自動的にオーバーレイすることができる。いったんユーザが、仮想ユーザインターフェース画面とのやりとりを終了したことのインジケーションを提供すると、ウェアラブルシステムは、仮想ユーザインターフェース画面をFOV1250外に自動的に移動させることができる。
【0220】
有利には、いくつかの実施形態では、ウェアラブルシステムは、マルチモード入力に基づいて、仮想オブジェクトB2214をFOV内に移動されるべき標的仮想オブジェクトとして識別することができる。例えば、ウェアラブルシステムは、ユーザの眼視線および仮想オブジェクトの位置に基づいて、決定を行うことができる。ウェアラブルシステムは、標的仮想オブジェクトを、ユーザの視線方向上にあって、ユーザに最も近いオブジェクトである、オブジェクトとして設定することができる。
マルチモードユーザ入力を使用して仮想オブジェクトと相互作用する例示的プロセス
【0221】
図23は、マルチモード入力を使用して仮想オブジェクトと相互作用する例示的プロセスを図示する。プロセス2300は、本明細書に説明されるウェアラブルシステムによって実行されることができる。例えば、プロセス2300は、単独で、または組み合わせて、ローカル処理およびデータモジュール260、遠隔処理モジュール270、および中央ランタイムサーバ1650によって実行されてもよい。
【0222】
ブロック2310では、ウェアラブルシステムは、随意に、開始条件を検出することができる。開始は、ユーザ開始入力であることができ、これは、ユーザがコマンドをウェアラブルシステムに発行することを意図することのインジケーションを提供することができる。開始条件は、ウェアラブルシステムによって事前決定されてもよい。開始条件は、単一入力または組み合わせ入力であってもよい。例えば、開始条件は、例えば、語句「ねえ、Magic Leap」と発すること等による、音声入力であってもよい。開始条件はまた、ジェスチャベースであることができる。例えば、ウェアラブルシステムは、ユーザの手が世界カメラのFOV(またはユーザのFOV)内で検出するとき、開始条件の存在を検出することができる。別の実施例として、開始条件は、例えば、指のスナップ等、具体的手の運動であってもよい。開始条件はまた、ユーザがユーザ入力デバイスを作動させるときに検出されることができる。例えば、ユーザは、ユーザ入力デバイス上のボタンをクリックし、ユーザがコマンドを発行するであろうことを示すことができる。ある実装では、開始条件は、マルチモード入力に基づいてもよい。例えば、音声コマンドおよび手のジェスチャの両方が、ウェアラブルシステムが開始条件の存在を検出するために要求され得る。
【0223】
ブロック2310は、随意である。いくつかの実施形態では、ウェアラブルシステムは、開始条件の検出を伴わずに、マルチモード入力を受信し、解析を開始してもよい。例えば、ユーザが、ビデオを鑑賞しているとき、ウェアラブルシステムは、ユーザが、最初に、開始条件を提供することを要求せずに、ユーザのマルチモード入力を取り込み、音量、早送り、巻き戻し、次のエピソードへのスキップ等を調節してもよい。有利には、いくつかの実施形態では、ユーザは、ユーザが、マルチモード入力を使用して、ビデオ画面と相互作用し得る前に、ビデオ画面をウェイクアップさせる必要がなくなり得る(例えば、ビデオ画面が時間調節または音量調節ツールを提示し得るように)。
【0224】
ブロック2320では、ウェアラブルシステムは、ユーザ相互作用のためのマルチモード入力を受信することができる。マルチモード入力は、直接または間接入力であってもよい。例示的入力モードは、音声、頭部姿勢、眼視線、(ユーザ入力デバイス上または空中での)ジェスチャ、ユーザ入力デバイス(例えば、トーテム等)上の入力、ユーザの環境、または3D空間内のオブジェクト(物理的または仮想オブジェクト)の特性を含んでもよい。
【0225】
ブロック2330では、ウェアラブルシステムは、マルチモード入力を解析し、ユーザ相互作用の対象、コマンド、およびパラメータを識別することができる。例えば、ウェアラブルシステムは、信頼度スコアを候補標的仮想オブジェクト、標的コマンド、および標的パラメータに割り当て、最高信頼度スコアに基づいて、対象、コマンド、およびパラメータを選択することができる。いくつかの実施形態では、1つの入力モードは、一次入力モードであってもよい一方、別の入力モードは、二次入力モードであってもよい。二次入力モードからの入力は、一次入力モードからの入力を補完し、標的対象、コマンド、またはパラメータを確認してもよい。例えば、ウェアラブルシステムは、頭部姿勢を一次入力モードとして設定し、音声コマンドを二次入力モードとして設定してもよい。ウェアラブルシステムは、最初に、一次入力モードからの入力を可能な限り解釈し、次いで、二次入力モードからの付加的入力を解釈することができる。付加的入力が、一次入力の入力と異なる相互作用を示唆するように解釈される場合、ウェアラブルシステムは、自動的には、曖昧性解消プロンプトをユーザに提供することができる。曖昧性解消プロンプトは、ユーザが、一次入力の解釈または二次入力の解釈に基づく代替オプションから所望のタスクを選択することを要求し得る。本実施例は、一次入力モードおよび第2の入力モードを参照して説明されるが、種々の状況では、2つを上回る入力モードが存在してもよい。同一技法はまた、第3の入力モード、第4の入力モード等でも適用可能であることができる。
【0226】
ブロック2340では、ウェアラブルシステムは、対象、コマンド、およびパラメータに基づいて、ユーザ相互作用を実行することができる。例えば、マルチモード入力は、眼視線および音声コマンド「それをそこに置く」を含んでもよい。ウェアラブルシステムは、相互作用の対象が、ユーザが現在相互作用しているオブジェクトであって、コマンドが、「置く」であって、パラメータが、ユーザの固視野の中心(ユーザの眼視線方向に基づいて決定される)であることを決定することができる。故に、ユーザは、ユーザが現在相互作用している仮想オブジェクトをユーザの固視野の中心に移動させることができる。
ユーザ相互作用と関連付けられた直接入力モードを設定する実施例
【0227】
ユーザが、姿勢、ジェスチャ、または音声を使用して、ウェアラブルシステムと相互作用するとき等のいくつかの状況では、ユーザの近傍の他の人々が、これらの直接入力を使用してコマンドを発行することによって、ユーザの相互作用を「ハイジャック」し得るリスクがある。例えば、ユーザAが、公園内でユーザBの近傍に立っている。ユーザAは、音声コマンドを使用して、HMDと相互作用することができる。ユーザBが、「写真を撮る」と発することによって、ユーザAの体験をハイジャックし得る。ユーザBによって発行された本音声コマンドは、ユーザAが写真を撮るように意図していない場合でも、ユーザAのHMDに写真を撮らせることができる。別の実施例として、ユーザBは、ユーザAのHMDの世界カメラのFOV内でジェスチャを実施し得る。本ジェスチャは、ユーザAのHMDに、ユーザAがビデオゲームをプレーしている間、例えば、あるホームページに行かせ得る。
【0228】
いくつかの実装では、入力は、分析され、入力がユーザから生じたかどうかを決定することができる。例えば、システムは、話者認識技法を適用し、コマンド「写真を撮る」がユーザAまたはハイジャッカーBによって発せられたかどうかを決定することができる。システムは、コンピュータビジョン技法を適用し、ジェスチャがユーザAの手またはハイジャッカーBの手によって行われたかどうかを決定してもよい。
【0229】
加えて、または代替として、セキュリティ侵害およびユーザとウェアラブルシステムの相互作用の妨害を防止するために、ウェアラブルシステムは、間接入力に基づいて、利用可能な直接入力モードを自動的に設定する、またはコマンドが発行される前に、直接入力の複数のモードを要求することができる。
図24は、ユーザ相互作用と関連付けられた直接入力モードを設定する実施例を図示する。3つの直接入力、すなわち、音声2412、頭部姿勢2414、および手のジェスチャ2416が、
図24に図示される。下記にさらに説明されるように、スライダバー2422、2424、および2426は、コマンドを決定する際に各入力が加重される量を表す。スライダが、最右にある場合、入力は、全加重(例えば、100%)を与えられ、スライダが、最左にある場合、入力は、ゼロ加重(例えば、0%)を与えられ、スライダが、これらの極限設定間にある場合、入力は、部分的加重(例えば、20%または80%もしくは0~1の値等のある他の値中間値)を与えられる。本実施例では、ウェアラブルシステムは、コマンドが実行される前に、音声コマンド2422および手のジェスチャ2426(頭部姿勢2414を使用しない間)の両方を要求するように設定されることができる。故に、ウェアラブルシステムは、音声コマンド2442およびジェスチャ2426が、異なるユーザ相互作用(または仮想オブジェクト)を示す場合、コマンドを実行し得ない。両タイプの入力を要求することによって、ウェアラブルシステムは、他者がユーザの相互作用をハイジャックする尤度を低減させることができる。
【0230】
別の実施例として、1つ以上の入力モードが、無効にされてもよい。例えば、ユーザが、ドキュメント処理アプリケーションと相互作用するとき、頭部姿勢2414は、頭部姿勢スライダ2424が0に設定される、
図24に示されるように、入力モードとして無効にされてもよい。
【0231】
各入力は、認証レベルと関連付けられてもよい。
図24では、音声2412は、認証レベル2422と関連付けられ、頭部姿勢2414は、認証レベル2424と関連付けられ、手のジェスチャ2416は、認証レベル2426と関連付けられる。認証レベルは、コマンドが実行されるために入力が要求されるかどうか、または入力が無効にされているかどうか、もしくは入力が部分的加重(完全有効と完全無効との間)を与えられているかどうかを決定するために使用されてもよい。
図24に図示されるように、音声2412および手のジェスチャ2416の認証レベルは、最右に設定され(最大認証レベルと関連付けられる)、これらの2つの入力がコマンドを発行するために要求されることを示唆する。別の実施例として、頭部姿勢の認証レベルは、最左に設定される(最小認証レベルと関連付けられる)。これは、頭部姿勢2414が、依然として、標的仮想オブジェクトまたは標的ユーザインターフェース動作を決定するために使用され得る場合でも、頭部姿勢2414がコマンドを発行するために要求されないことを示唆する。いくつかの状況では、認証レベルを最小に設定することによって、ウェアラブルシステムは、頭部姿勢2414を入力モードとして無効にしてもよい。
【0232】
ある実装では、認証レベルはまた、仮想オブジェクトと関連付けられた信頼度レベルを計算するために使用されてもよい。例えば、ウェアラブルシステムは、より高い値をより高い認証レベルを有する入力モードに割り当ててもよい一方、より低い値をより低い認証レベルを有する入力モードに割り当てる。その結果、仮想オブジェクトに関する集約された信頼度スコアを計算するために、複数の入力モードからの信頼度スコアを集約するとき、より高い認証レベルを伴う入力モードは、集約された信頼度スコアにおいて、より低い認証レベルを伴う入力モードより大きい加重を有し得る。
【0233】
認証レベルは、ユーザによって(入力を通して、または設定パネルを介して)設定されることができる、またはウェアラブルシステムによって、例えば、間接入力に基づいて、自動的に設定されることができる。ウェアラブルシステムは、ユーザが公共場所に居るとき、より多くの入力モードを要求し得る一方、ユーザが私的場所に居るとき、より少ない入力モードを要求する。例えば、ウェアラブルシステムは、ユーザが地下鉄に居るとき、音声2412および手のジェスチャ2416の両方を要求し得る。しかしながら、ユーザが自宅に居るとき、ウェアラブルシステムは、コマンドを発行するために、音声2412のみを要求し得る。別の実施例として、ウェアラブルシステムは、ユーザが公共の公園に居るとき、音声コマンドを無効にし、それによって、プライバシをユーザの相互作用に提供してもよい。しかし、音声コマンドは、ユーザが自宅に居るとき、依然として、利用可能であってもよい。
【0234】
これらの実施例は、直接入力モードを設定するステップを参照して説明されるが、類似技法もまた、間接入力モードをマルチモード入力の一部として設定するステップに適用されることができる。例えば、ユーザが、公共交通機関(例えば、バス等)を使用しているとき、ウェアラブルシステムは、ウェアラブルシステムが、ユーザが公共交通機関上で具体的に着っている、または立っている場所を正確に把握し得ないため、地理的場所を入力モードとして無効にするように構成されてもよい。
付加的例示的ユーザ体験
【0235】
本明細書に説明される実施例に加え、本節は、マルチモード入力を用いた付加的ユーザ体験を説明する。第1の実施例として、マルチモード入力は、音声入力を含むことができる。例えば、ユーザは、「ねえ、Magic Leap、彼女に電話して」等の音声コマンドを発することができ、これは、HMD上のオーディオセンサ232によって受信され、HMDシステムによって解析される。本コマンドでは、ユーザは、「ねえ、Magic
Leap」と発することによって、タスクを開始する(または開始条件を提供する)ことができる。「電話」は、事前にプログラムされた単語であることができ、したがって、ウェアラブルシステムは、電話を掛ける(ビデオ電話を開始するのではなく)べきであることを把握する。ある実装では、これらの事前にプログラムされた単語は、「ホットワード」または「キャリア語句」とも称され得、これは、システムが、ユーザが特定のアクションを行う(例えば、「電話」)ことを所望することを示すものであると認識するものであって、これは、システムに、所望のアクションを完了するためにさらなる入力を受け取る(例えば、単語「電話」後の人物(「彼女」)または電話番号を識別する)ことをアラートし得る。ウェアラブルシステムは、付加的入力を使用して、「彼女」が誰であるかを識別することができる。例えば、ウェアラブルシステムは、眼追跡を使用して、ユーザが見ている仮想連絡先リストまたはユーザの電話上の連絡先を確認することができる。ウェアラブルシステムはまた、頭部姿勢または眼追跡を使用して、ユーザが、直接、ユーザが電話することを所望する人物を見ているかどうかを決定することができる。ある実施形態では、ウェアラブルシステムは、顔認識技法(例えば、オブジェクト認識装置708を使用して)を利用して、ユーザが見ている人物の識別を決定することができる。
【0236】
第2の実施例として、ユーザは、仮想ブラウザを直接壁上に設置されることができる(例えば、ウェアラブルシステムのディスプレイ220が、壁上にオーバーレイされているかのように、仮想ブラウザを投影することができる)。ユーザは、その手を伸ばして、タップジェスチャをブラウザ内のリンク上に提供することができる。ブラウザは、壁上にあるように現れるため、ユーザは、ユーザの指の投影が、壁をタップするように現れ、インジケーションを提供するように、壁をタップする、または空間内をタップしてもよい。ウェアラブルシステムは、マルチモード入力を使用して、ユーザがクリックすることを意図する、リンクを識別することができる。例えば、ウェアラブルシステムは、ジェスチャ検出(例えば、外向きに面した結像システム464によって入手されたデータを介して)、頭部姿勢ベースの円錐キャスティング、および眼視線を使用することができる。本実施例では、ジェスチャ検出は、100%未満の正確性であり得る。ウェアラブルシステムは、頭部姿勢および眼視線から入手されたデータを用いて、ジェスチャ検出を改良し、ジェスチャ追跡の正確度を増加させることができる。例えば、ウェアラブルシステムは、内向きに面した結像システム462によって入手されたデータに基づいて、眼が最も合焦している可能性が高い、半径を識別することができる。ある実施形態では、ウェアラブルシステムは、眼視線に基づいて、ユーザの固視野を識別することができる。ウェアラブルシステムはまた、環境特徴(例えば、壁の場所、ブラウザまたはウェブページの特性等)等の間接入力を使用して、ジェスチャ追跡を改良することができる。本実施例では、壁は、平面メッシュ(環境のマップ920内に事前に記憶されてもよい)によって表され得、ウェアラブルシステムは、平面メッシュに照らして、ユーザの手の位置を決定し、ユーザが標的化および選択する、リンクを決定することができる。有利には、種々の実施形態では、複数の入力モードを組み合わせることによって、ユーザ相互作用のための1つの入力モードのために要求される正確度は、低単一入力モードと比較して減され得る。例えば、FOVカメラは、ウェアラブルシステムが、手のジェスチャを頭部姿勢または眼視線で補完し、意図されるユーザ相互作用を決定し得るため、手のジェスチャ認識のために、非常に高分解能を有する必要がなくなり得る。
【0237】
上記の実施例におけるマルチモード入力は、オーディオ入力を含むが、オーディオ入力は、上記に説明されるマルチモード入力相互作用のために要求されない。例えば、ユーザは、2D-タッチスワイプジェスチャ(例えば、トーテム上で)を使用して、ブラウザウィンドウを1つの壁から異なる壁に移動させることができる。ブラウザは、最初に、左壁上にあってもよい。ユーザは、トーテムを作動させることによって、ブラウザを選択することができる。ユーザは、次いで、右壁を見て、右スワイプジェスチャをトーテムのタッチパッド上で行うことができる。タッチパッド上でのスワイプは、2Dスワイプ自体が容易/良好に3D移動に変換しないため、抑制力がなく、かつ不正確である。しかしながら、ウェアラブルシステムは、壁を検出し(例えば、外向きに面した結像システムによって入手された環境データに基づいて)、ユーザが壁上で具体的に見ている点(例えば、眼視線に基づいて)を検出することができる。これらの3つの入力(タッチ-スワイプ、視線、環境特徴)を用いることで、ウェアラブルシステムは、高信頼度を伴って、ユーザがブラウザウィンドウを移動させることを所望する場所にブラウザを円滑に設置することができる。
マルチモード入力としの頭部姿勢の付加的実施例
【0238】
種々の実施形態では、マルチモード入力は、無トーテム体験(またはトーテムがあまり頻繁に使用されない体験)をサポートすることができる。例えば、マルチモード入力は、頭部姿勢および音声制御の組み合わせを含むことができ、これは、仮想オブジェクトを共有または検索するために使用されることができる。マルチモード入力はまた、頭部姿勢およびジェスチャの組み合わせを使用して、種々のユーザインターフェース平面およびユーザインターフェース平面内の仮想オブジェクトをナビゲートすることができる。頭部姿勢、音声、およびジェスチャの組み合わせは、オブジェクトを移動させる、ソーシャルネットワーキングアクティビティ(例えば、テレプレゼンスセッションを開始し、行う、投稿を共有する)を行う、ウェブページに関する情報をブラウズする、またはメディアプレーヤを制御するために使用されることができる。
【0239】
図25は、マルチモード入力を用いたユーザ体験の実施例を図示する。例示的場面2500aでは、ユーザ2510は、頭部姿勢を用いて、アプリケーション2512および2514を標的化および選択することができる。ウェアラブルシステムは、焦点インジケータ2524aを表示し、頭部姿勢を用いて、ユーザが現在仮想オブジェクトと相互作用していることを示すことができる。いったんユーザが、アプリケーション2514を選択すると、ウェアラブルシステムは、アプリケーション2514のための焦点インジケータ2524aを示してもよい(例えば、
図25に示されるような標的グラフィック、アプリケーション2514の周囲の後光、または仮想オブジェクト2514をユーザのより近くに現れさせる等)。ウェアラブルシステムはまた、焦点インジケータの外観を焦点インジケータ2524aから焦点インジケータ2524b(例えば、場面2500bに示される矢印グラフィック)に変化させ、ユーザ入力デバイス466による相互作用もまた、ユーザが仮想オブジェクト2514を用いて選択後に利用可能になることを示すことができる。音声およびジェスチャ相互作用は、頭部姿勢に手のジェスチャを加えた本相互作用パターンにも拡張する。例えば、ユーザが、音声コマンドを発行すると、頭部姿勢を用いて標的化されたアプリケーションは、音声コマンドに応答する、またはそれによって操作されてもよい。仮想オブジェクトが、例えば、頭部姿勢、手のジェスチャ、および音声認識の組み合わせと相互作用する付加的実施例は、2016年10月18日に出願され、「SELECTING VIRTUAL OBJECTS IN A THREE-DIMENSIONAL SPACE」と題され、米国特許公開第2017/0109936号として公開された米国出願第15/296,869号(本開示は、参照することによってその全体として本明細書に組み込まれる)に説明される。
【0240】
頭部姿勢は、音声制御、ジェスチャ認識、および環境情報(例えば、メッシュ情報)と統合され、ハンズフリーブラウジングを提供してもよい。例えば、「Fort Lauderdaleを検索する」の音声コマンドは、ユーザが、頭部姿勢を使用して、ブラウザを標的化する場合、ブラウザによってハンドリングされるであろう。ユーザが、特定のブラウザを標的化しない場合、ウェアラブルシステムはまた、ブラウザを通さずに、本音声コマンドをハンドリングすることができる。別の実施例として、ユーザが、「これをKarenと共有する」と発すると、ウェアラブルシステムは、共有アクションをユーザが標的化している(例えば、頭部姿勢、眼視線、またはジェスチャを使用して)アプリケーション上で実行するであろう。別の実施例として、音声制御は、例えば、「ブックマークに進む」等のブラウザウィンドウ機能を実行することができる一方、ジェスチャは、例えば、クリックおよびスクロール等のウェブページの基本ナビゲーションを実施するために使用されてもよい。
【0241】
マルチモード入力はまた、ユーザ入力デバイスを必要とせずに、仮想オブジェクトを立ち上げ、移動させるために使用されることができる。ウェアラブルシステムは、例えば、ジェスチャ、音声、および視線等のマルチモード入力を使用して、コンテンツをユーザおよび環境の近傍に自然に設置することができる。例えば、ユーザは、ユーザがHMDと相互作用するとき、音声を使用して、立ち上げられていないアプリケーションを開くことができる。ユーザは、「ねえ、Magic Leap、ブラウザを立ち上げて」と発することによって、音声コマンドを発行することができる。本コマンドでは、開始条件は、呼出語句「ねえ、Magic Leap」の存在を含む。コマンドは、「立ち上げる」または「開く」(相互交換可能コマンドであり得る)を含むと解釈されることができる。本コマンドの対象は、アプリケーション名、例えば、「ブラウザ」である。しかしながら、本コマンドは、パラメータを要求しない。いくつかの実施形態では、ウェアラブルシステムは、例えば、ブラウザをユーザの環境(またはユーザのFOV)内に設置する等、デフォルトパラメータを自動的に適用することができる。
【0242】
マルチモード入力はまた、例えば、ブックマークを開く、新しいタブを開く、履歴にナビゲートする等、基本ブラウザ制御を実施するために使用されることができる。ハンズフリーまたはハンズフルマルチタスクシナリオにおける、ウェブコンテンツを参照する能力は、ユーザにより情報豊富かつ生産性のある状態をもたらすことができる。例えば、ユーザAdaは、そのオフィスでフィルムを読影している、放射線医師である。Adaは、フィルムを読影しながら、音声およびジェスチャを用いて、ウェブをナビゲートし、参照資料を取り出すことができ、これは、マウスを往復して移動させ、画面上でフィルムと参照資料との間で切り替えるその必要性を低減させる。別の実施例として、ユーザChrisは、仮想ブラウザウィンドウからの新しいレシピを料理中である。仮想ブラウザウィンドウは、そのキャビネット上に設置されることができる。Chrisは、音声コマンドを使用して、ブックマークされたレシピを引っ張り出しながら、食物の剪断を開始することができる。
【0243】
図26は、種々のブックマークされたアプリケーションを伴う例示的ユーザインターフェースを図示する。ユーザは、アプリケーションの名称を発することによって、ユーザインターフェース2600上のアプリケーションを選択することができる。例えば、ユーザは、「食物を開く」と発し、食物アプリケーションを立ち上げることができる。別の実施例として、ユーザは、「これを開く」と発することができる。ウェアラブルシステムは、ユーザの視線方向を決定し、ユーザの視線方向と交差する、ユーザインターフェース2600上のアプリケーションを識別することができる。ウェアラブルシステムは、故に、識別されたアプリケーションを開くことができる。
【0244】
ユーザはまた、音声を使用して、検索コマンドを発行することができる。検索コマンドは、ユーザが現在標的化しているアプリケーションによって実施されることができる。オブジェクトが、現在、検索コマンドをサポートしていない場合、ウェアラブルシステムは、ウェアラブルシステムのデータ記憶装置内の検索またはデフォルトアプリケーションを介した(例えば、ブラウザを介して等)情報の検索を実施してもよい。
図27は、検索コマンドが発行されるときの例示的ユーザインターフェース2700を図示する。ユーザインターフェース2700は、電子メールアプリケーションおよびメディア鑑賞アプリケーションの両方を示す。ウェアラブルシステムは、ユーザが、現在、電子メールアプリケーションと相互作用していることを決定してもよい(ユーザの頭部姿勢に基づいて)。その結果、ウェアラブルシステムは、ユーザの音声コマンドを電子メールアプリケーション内の検索コマンドに自動的に変換してもよい。
【0245】
マルチモード入力はまた、メディア制御のために使用されることができる。例えば、ウェアラブルシステムは、音声およびジェスチャ制御を使用して、例えば、アプリケーション(画面等)内のメディアプレーヤを制御するために、再生、一時停止、ミュート、早送り、および巻き戻し等のコマンドを発行することができる。ユーザは、メディアアプリケーションに関して、音声およびジェスチャ制御を使用し、トーテムを除外することができる。
【0246】
マルチモード入力はさらに、ソーシャルネットワーキングコンテキストにおいて使用されることができる。例えば、ユーザは、ユーザ入力デバイスを用いずに、会話を開始し、体験(例えば、仮想画像、ドキュメント等)を共有することができる。別の実施例として、ユーザは、ユーザが、音声を使用して、ユーザインターフェースをナビゲートするために快適であると感じ得るように、テレプレゼンスセッションに参加し、プライベートコンテキストを設定することができる。
【0247】
故に、種々の実装では、システムは、頭部姿勢+音声(例えば、情報共有および一般的アプリケーション検索のため)、頭部姿勢+ジェスチャ(例えば、アプリケーション内のナビゲーションのため)、または頭部姿勢+音声+ジェスチャ(例えば、「それをそこに置く」機能性、メディアプレーヤ制御、ソーシャル相互作用、またはブラウザアプリケーションのため)等のマルチモード入力を利用してもよい。
マルチモード入力の一部としてのジェスチャ制御の付加的実施例
【0248】
2つの非限定的かつ非排他的クラスのジェスチャ相互作用、すなわち、イベントジェスチャおよび動的手追跡が、存在し得る。イベントジェスチャは、例えば、野球の試合においてピッチャーに出すキャッチャーのサインまたはウェアラブルシステムに共有ダイアログを開かせるためのブラウザウィンドウにおける「いいね」サイン等、ユーザがHMDと相互作用している間のイベントに対して応答性であることができる。ウェアラブルシステムは、ユーザが実施する、1つ以上のジェスチャパターンに追従し、適宜、イベントに応答することができる。動的手追跡は、短待ち時間を伴う、ユーザの手の追跡を伴い得る。例えば、ユーザが、手をユーザのFOVにわたって移動させ得、仮想キャラクタは、ユーザの指の移動に追従し得る。
【0249】
ジェスチャ追跡の品質は、ユーザ相互作用のタイプに依存し得る。品質は、複数の要因、例えば、ロバスト性、応答性、および人間工学を伴い得る。いくつかの実施形態では、イベントジェスチャは、ほぼ完璧なロバスト性であり得る。最小容認可能ジェスチャ性能に関する閾値は、ソーシャル体験、試作段階相互作用、および第三者アプリケーションでは、これらの体験の審美性が、障害、中断、短待ち時間等を容認し得るため、わずかに低くあり得るが、ジェスチャ認識は、依然として、これらの体験において非常に高性能であって、応答性を維持することができる。
【0250】
ウェアラブルシステムが、ユーザのジェスチャに応答する尤度を増加させるために、システムは、ジェスチャ検出のための(イベントジェスチャおよび動的手追跡の両方のための)待ち時間を低減または最小限にすることができる。例えば、ウェアラブルシステムは、ユーザの手が深度センサの視野内にあるときを検出し、深度センサを適切なジェスチャモードに自動的に切り替え、次いで、ジェスチャを実施し得るとき、フィードバックをユーザに与えることによって、待ち時間を低減または最小限にすることができる。
【0251】
本明細書に説明されるように、ジェスチャは、他の入力モードと組み合わせて使用され、アプリケーションを立ち上げる、選択する、および移動させることができる。ジェスチャはまた、空中または表面上(例えば、テーブルまたは壁上)でタップ、スクロールすること等によって、アプリケーション内の仮想オブジェクトと相互作用するために使用されることができる。
【0252】
ある実施形態では、ウェアラブルシステムは、ソーシャルネットワーキングツールを実装することができ、これは、ジェスチャ相互作用をサポートすることができる。ユーザは、意味論イベントジェスチャを実施し、通信を豊かにすることができる。例えば、ユーザは、手をFOVカメラの正面で振ることができ、手を振る動画が、適宜、ユーザがチャットしている人物に送信されることができる。ウェアラブルシステムはまた、動的手追跡を用いて、ユーザの手の仮想化を提供することができる。例えば、ユーザは、その手をそのFOVの正面で持ち上げ、その手がそのアバタの手を動画化するために追跡されていることの視覚的フィードバックを得ることができる。
【0253】
手のジェスチャはまた、メディアプレーヤ制御のためのマルチモード入力の一部として使用されることができる。例えば、ユーザは、手のジェスチャを使用して、ビデオストリームを再生または一時停止することができる。ユーザは、ビデオを再生しているデバイス(例えば、テレビ)から離れてジェスチャ操作を実施することができる。ユーザのジェスチャを検出することに応じて、ウェアラブルシステムは、ユーザのジェスチャに基づいて、デバイスを遠隔で制御することができる。ユーザはまた、メディアパネルを見ることができ、ウェアラブルシステムは、ユーザの手のジェスチャをユーザの視線方向と組み合わせて使用し、メディアパネルのパラメータを更新することができる。例えば、摘む(OK)ジェスチャは、「再生」コマンドを示唆し得、拳ジェスチャは、「一時停止」コマンドを示唆し得る。ユーザはまた、腕のうちの一方をFOVカメラの正面で振ることによって、メニューを閉じることができる。手のジェスチャ2080の実施例は、
図20に示される。
仮想オブジェクトと相互作用する付加的実施例
【0254】
本明細書に説明されるように、ウェアラブルシステムは、ユーザの環境内のオブジェクト(物理的または仮想)との種々のマルチモード相互作用をサポートすることができる。例えば、ウェアラブルシステムは、見出されるオブジェクトを標的化する、選択する、制御する(例えば、移動または性質)等の見出されるオブジェクトとの相互作用のための直接入力をサポートすることができる。見出されるオブジェクトとの相互作用はまた、見出されるオブジェクト幾何学形状との相互作用または見出されるオブジェクト接続表面との相互作用を含むことができる。
【0255】
直接入力はまた、壁またはテーブル上部を標的化および選択する等の平坦表面との相互作用のためにもサポートされる。ユーザはまた、例えば、タッチイベント、タップイベント、スワイプイベント、またはスクロールイベント等の種々のユーザインターフェースイベントを開始することができる。ユーザは、例えば、パネルスクロール、スワイプ、およびパネル内の選択要素(例えば、ボタン等の仮想オブジェクトまたはユーザインターフェース要素)等の直接相互作用を使用して、2Dユーザインターフェース要素(例えば、パネル)を操作することができる。ユーザはまた、1つ以上の直接入力を使用して、パネルを移動またはリサイズすることができる。
【0256】
直接入力はさらに、異なる深度におけるオブジェクトを操作するために使用されることができる。ウェアラブルシステムは、種々の閾値距離(ユーザからの)を設定し、仮想オブジェクトの領域を決定することができる。
図21を参照すると、破線円形2122内のオブジェクトは、近距離内のオブジェクトと見なされ得、破線円形2124内(但し、破線円形2122外)のオブジェクトは、中距離内のオブジェクトと見なされ得、破線円形2124外のオブジェクトは、遠距離内のオブジェクトと見なされ得る。近距離と遠距離との間の閾値距離は、例えば、1m、2m、3m、4m、5m、またはそれを上回ってもよく、および環境に依存し得る(例えば、屋内オフィス小区画より屋外公園において大きい)。
【0257】
ウェアラブルシステムは、近距離内の仮想オブジェクトの種々の2Dまたは3D操作をサポートすることができる。例示的2D操作は、移動またはリサイズするステップを含んでもよい。例示的3D操作は、仮想オブジェクトをピンチング、描画する、移動させる、または回転させる等によって、仮想オブジェクトを3D空間内に設定するステップを含んでもよい。ウェアラブルシステムはまた、例えば、ユーザの環境内のオブジェクトをパニングおよび再位置付けする、オブジェクトの半径方向運動を実施する、またはオブジェクトを近距離または遠距離の中に移動させる等、中距離内の仮想オブジェクトとの相互作用をサポートすることができる。
【0258】
ウェアラブルシステムはまた、連続指先相互作用をサポートすることができる。例えば、ウェアラブルシステムは、ユーザの指が、アトラクタのように指し示す、またはオブジェクトを正確に示し、押動相互作用をオブジェクト上で実施することを可能にすることができる。ウェアラブルシステムはさらに、例えば、手表面相互作用または手輪郭相互作用等の高速姿勢相互作用をサポートすることができる。
ソーシャルネットワークおよび共有のコンテキストにおける音声コマンドの付加的実施例
【0259】
ウェアラブルシステムは、ソーシャルネットワーキング(またはメッセージング)アプリケーションのための入力として、音声コマンドをサポートすることができる。例えば、ウェアラブルシステムは、情報を連絡先と共有する、または連絡先に電話を掛けるために、音声コマンドをサポートすることができる。
【0260】
連絡先との電話を開始する実施例として、ユーザは、「ねえ、Magic Leap、Karenに電話して」等の音声コマンドを使用することができる。本コマンドでは、「ねえ、Magic Leap」は、呼出語句であって、コマンドは、「電話」であって、コマンドのパラメータは、連絡先の名前である。ウェアラブルシステムは、メッセンジャーアプリケーション(対象として)を自動的に使用して、電話を開始することができる。コマンド「電話」は、例えば、「~との電話を開始する」、「~とのチャットを開始する」等のタスクと関連付けられてもよい。
【0261】
ユーザが、「電話を開始する」と発し、次いで、名前を発する場合、ウェアラブルシステムは、名前を認識するように試みることができる。ウェアラブルシステムが、名前を認識しない場合、ウェアラブルシステムは、ユーザが名前または連絡先情報を確認するために、メッセージをユーザに通信することができる。ウェアラブルシステムが、名前を認識する場合、ウェアラブルシステムは、ダイアログプロンプトを提示してもよく、これは、ユーザが、電話を確認/拒否(またはキャンセル)する、または代替連絡先を提供することができる。
【0262】
ユーザはまた、友人のリストを伴ういくつかの連絡先を用いて、電話を開始することができる。例えば、ユーザは、「ねえ、Magic Leap、Karen、Cole、およびKojoとグループチャットを開始して」と発することができる。グループチャットコマンドは、語句「グループチャットを開始する」から抽出されてもよい、またはユーザによって提供される友人のリストからであってもよい。ユーザが、電話中の間、ユーザは、別のユーザを会話に追加することができる。例えば、ユーザは、「ねえ、Magic Leap、Karenを招待して」と発することができ、語句「招待」は、招待コマンドと関連付けられることができる。
【0263】
ウェアラブルシステムは、音声コマンドを使用して、仮想オブジェクトを連絡先と共有することができる。例えば、ユーザは、「ねえ、Magic Leap、画面をKarenと共有して」または「ねえ、Magic Leap、それをDavidおよびTonyと共有して」と発することができる。これらの実施例では、単語「共有」は、共有コマンドである。単語「画面」または「それ」は、ウェアラブルシステムがマルチモード入力に基づいて決定し得る、対象を参照し得る。「Karen」、「DavidおよびTony」等の名前は、コマンドのパラメータである。いくつかの実施形態では、ユーザによって提供される音声コマンドが、アプリケーション参照および連絡先との単語「共有」を含むとき、ウェアラブルシステムは、確認ダイアログを提供し、ユーザがアプリケーション自体を共有することを所望するのか、またはアプリケーションを介して参照される対象を共有するのかどうかを確認するようにユーザに求めてもよい。ユーザが、単語「共有」、アプリケーション参照、および連絡先を含む、音声コマンドを発行するとき、ウェアラブルシステムは、アプリケーション名がウェアラブルシステムによって認識されるかどうか、またはアプリケーションがユーザのシステム上に存在するかどうかを決定することができる。システムが、名称を認識しない、またはアプリケーションがユーザのシステム内に存在しない場合、ウェアラブルシステムは、メッセージをユーザに提供してもよい。メッセージは、ユーザに、音声コマンドを再び試行するように示唆してもよい。
【0264】
ユーザが、直示または照応参照(例えば、「これ」または「それ」)を音声コマンド内で提供する場合、ウェアラブルシステムは、マルチモード入力(例えば、ユーザの頭部姿勢)を使用して、ユーザが共有され得るオブジェクトと相互作用しているかどうかを決定することができる。オブジェクトが、共有されることができない場合、ウェアラブルシステムは、エラーメッセージをユーザにプロンプトする、またはジェスチャ等の第2の入力モードに移行し、共有されるべきオブジェクトを決定してもよい。
【0265】
ウェアラブルシステムはまた、オブジェクトが共有される連絡先が認識され得る(例えば、ユーザの連絡先リストの一部として)かどうかを決定することができる。ウェアラブルシステムが、連絡先の名前を認識する場合、ウェアラブルシステムは、確認ダイアログを提供し、ユーザが共有に進むことを所望することを確認することができる。ユーザが確認する場合、仮想オブジェクトは、共有されることができる。いくつかの実施形態では、ウェアラブルシステムは、アプリケーションと関連付けられた複数の仮想オブジェクトを共有することができる。例えば、ウェアラブルシステムは、写真のアルバム全体を共有する、またはユーザの音声コマンドに応答して、最も最近視認された写真を共有することができる。ユーザが、共有を拒否する場合、共有コマンドは、キャンセルされる。ユーザが、連絡先が誤っていることを示す場合、ウェアラブルシステムは、ユーザに、連絡先の名前を再び発話する、または連絡先を利用可能な連絡先のリストから選択するようにプロンプトしてもよい。
【0266】
ある実装では、ユーザが、「共有」と発し、アプリケーション参照と発するが、連絡先を規定しない場合、ウェアラブルシステムは、ユーザのファイルへのアクセスを有する、ユーザの環境内の人々とアプリケーションをローカルで共有してもよい。ウェアラブルシステムはまた、ユーザに、本明細書に説明される入力モードのうちの1つ以上のものを使用して、名前を入力するように返答および要求してもよい。ソーシャルネットワーキング実施例と同様に、ユーザは、音声コマンドを発行し、仮想オブジェクトを1つの連絡先または連絡先のグループと共有することができる。
【0267】
音声を介して電話を掛ける際の課題は、音声ユーザインターフェースが、連絡先の名前を正しくなく認識する、または認識することに失敗するときである。これは、例えば、lsi、Ileana等のあまり一般的ではないまたは非英語名に関して、特に問題となり得る。例えば、ユーザが、連絡先の名前を含む、音声コマンドを発するとき(「画面をllyと共有する」等)、ウェアラブルシステムは、名前「lly」またはその発音を識別することが不可能である場合がある。ウェアラブルシステムは、例えば、「誰ですか?」等のプロンプトとともに、連絡先ダイアログを開くことができる。ユーザは、再び、音声を用いて、「Ily」を規定する、音声またはユーザ入力デバイスを使用して、名前のスペル「I-L-Y」を伝える、またはユーザ入力デバイスを使用して、名前を利用可能な名前のパネルから迅速に選択するように試みることができる。名前「Ily」は、ユーザの連絡先内にエントリを有する、Ileanaのニックネームであり得る。いったんユーザが、システムに、「Ily」がニックネームであることを伝えると、システムは、ニックネーム(またはニックネームと関連付けられた発音もしくはオーディオパターン)と友人の名前を自動的に関連付けることによって、ニックネームを「覚える」ように構成されてもよい。
音声コマンドを使用して仮想オブジェクトを選択および移動させる付加的実施例
【0268】
ユーザは、例えば、眼視線、ジェスチャ、および音声の組み合わせ等のマルチモード入力を使用して、ユーザの環境内の仮想オブジェクトの場所を自然かつ迅速に管理することができる。例えば、Lindsayという名前のユーザが、テーブルの前に着座し、ある作業を行う準備ができたとする。彼女は、そのラップトップを開き、そのコンピュータ上のデスクトップモニタアプリを開始する。コンピュータが、ロードするにつれて、彼女は、その手をラップトップ画面の上方に伸ばし、「ねえ、Magic Leap、モニタをここに置いて」と発する。本音声コマンドに応答して、ウェアラブルシステムは、モニタ画面を自動的に立ち上げ、それらをそのラップトップの上方に設置することができる。しかしながら、Lindsayが、部屋の他側上の壁を見渡しながら、「画面をそこに置く」と発するとき、ウェアラブルシステムは、彼女から横断して画面を壁上に自動的に設置することができる。Lindsayはまた、その机を見ながら、「Halcyonをここに置く」と発し得る。Halcyonは、最初、その台所のテーブル上にあったが、音声コマンドに応答して、ウェアラブルシステムは、それをそのテーブル表面に自動的に移動させることができる。作業を進めるにつれて、彼女は、トーテムを使用して、これらのオブジェクトと相互作用し、そのスケールをその選好に合わせて調節することができる。
【0269】
ユーザは、音声を使用して、立ち上げられていないアプリケーションをユーザの環境内の任意の時点で開くことができる。例えば、ユーザは、「ねえ、Magic Leap、ブラウザを立ち上げて」と発することができる。本コマンドでは、「ねえ、Magic Leap」は、呼出単語であって、単語「立ち上げる」は、立ち上げコマンドであって、単語「ブラウザ」は、対象のアプリケーションである。「立ち上げ」コマンドは、単語「立ち上げる」、「開く」、「再生する」と関連付けられてもよい。例えば、ウェアラブルシステムは、ユーザが「ブラウザを開く」と発するとき、依然として、立ち上げコマンドを識別することができる。ある実施形態では、アプリケーションは、没入型のアプリケーションであってもよく、これは、ユーザが3D仮想環境の一部であるかのように、3D仮想環境をユーザに提供することができる。その結果、没入型のアプリケーションが、立ち上げられると、ユーザは、3D仮想環境内に存在するかのように位置付けられ得る。ある実装では、没入型のアプリケーションはまた、店舗アプリケーションを含む。店舗アプリケーションが、立ち上げられると、ウェアラブルシステムは、ユーザが実店舗内で買物しているかのように感じ得るように、3D買物体験をユーザのために提供することができる。没入型のアプリケーションと対照的に、アプリケーションは、風景アプリケーションであってもよい。風景アプリケーションが、立ち上げられると、ランチャ内でトーテムを介して立ち上げられる場合に設置されるであろう場所に対して設置されてもよい。その結果、ユーザは、風景アプリケーションと相互作用することができるが、ユーザは、風景アプリケーションの一部であるように感じ得ない。
【0270】
ユーザはまた、音声コマンドを使用して、仮想アプリケーションをユーザのFOV内の規定された場所に立ち上げることができる、またはユーザは、すでに設置された仮想アプリケーション(例えば、風景アプリケーション)をユーザのFOV内の具体的場所に移動させることができる。例えば、ユーザは、「ねえ、Magic Leap、ブラウザをここに置いて」、「ねえ、Magic Leap、ブラウザをそこに置いて」、「ねえ、Magic Leap、これをここに置いて」、または「ねえ、Magic Leap、それをそこに置いて」と発することができる。これらの音声コマンドは、呼出単語、設置コマンド、アプリケーション名(対象である)、および場所キュー(パラメーであるタ)を含む。対象は、オーディオデータに基づいて、例えば、ユーザによって発話されたアプリケーションの名称に基づいて参照されてもよい。対象はまた、ユーザが単語「これ」または「それ」を代わりに発するとき、頭部姿勢または眼視線に基づいて識別されてもよい。本音声相互作用を促進するために、ウェアラブルシステムは、例えば、2つの推定、すなわち、(1)立ち上げるアプリケーションおよび(2)アプリケーションを設置する場所を行うことができる。
【0271】
ウェアラブルシステムは、設置コマンドおよびアプリケーション名を使用して、立ち上げるアプリケーションを推測することができる。例えば、ユーザが、ウェアラブルシステムが認識しない、アプリケーション名を発する場合、ウェアラブルシステムは、エラーメッセージを提供してもよい。ユーザが、ウェアラブルシステムが認識する、アプリケーション名を発する場合、ウェアラブルシステムは、アプリケーションがすでにユーザの環境の中に設置されているかどうかを決定することができる。アプリケーションがすでにユーザの環境(例えば、ユーザのFOV内等)に示される場合、ウェアラブルシステムは、ユーザの環境内に存在するアプリケーションのインスタンスの数(例えば、開いているブラウザウィンドウの数)を決定することができる。単に、標的アプリケーションの1つのインスタンスが存在する場合、ウェアラブルシステムは、アプリケーションをユーザによって規定された場所に移動させることができる。発話されたアプリケーションの1つを上回るインスタンスが環境内に存在する場合、ウェアラブルシステムは、アプリケーションの全てのインスタンスを規定された場所に、または最も最近使用されたインスタンスを規定された場所に移動させることができる。仮想アプリケーションが、すでにユーザの環境内に設置されていない場合、システムは、アプリケーションが、風景アプリケーション、没入型のアプリケーション、または店舗アプリケーション(ユーザは、他のアプリケーションをダウンロードまたは購入することができる)であるかどうかを決定することができる。アプリケーションが、風景アプリケーションである場合、ウェアラブルシステムは、仮想アプリケーションを規定された場所に立ち上げることができる。アプリケーションが、没入型のアプリケーションである場合、ウェアラブルシステムは、没入型のアプリケーションが、ユーザのFOV内の規定された場所に立ち上げる機能をサポートしないため、アプリケーションのショートカットを規定された位置に設置することができる。アプリケーションが、店舗アプリケーションである場合、システムは、店舗アプリケーションが、仮想世界の中へのユーザの完全3D没入を要求し得、したがって、ユーザの環境内の具体的場所における立ち上げをサポートしないため、小型店舗を規定された位置に設置してもよい。小型店舗は、店舗内の仮想オブジェクトの概要またはアイコンを含んでもよい。
【0272】
ウェアラブルシステムは、種々の入力を使用して、アプリケーションを設置すべき場所を決定することができる。ウェアラブルシステムは、ユーザのコマンド内の統語論(例えば、「ここに」または「そこに」)を解析し、ユーザの環境内の仮想オブジェクトと頭部姿勢ベースのレイキャスティング(または円錐キャスティング)の交点を決定し、ユーザの手の位置を決定し、平面表面メッシュまたは環境平面メッシュ(例えば、壁またはテーブルと関連付けられたメッシュ)等を決定することができる。実施例として、ユーザが、「ここに」と発する場合、ウェアラブルシステムは、大きく広げた手がユーザのFOV内に存在するかどうか等のユーザの手のジェスチャを決定することができる。ウェアラブルシステムは、オブジェクトをユーザの広げた手の位置およびユーザの手が届く範囲の近傍のレンダリング平面に設置することができる。大きく広げた手がFOV内に存在しない場合、ウェアラブルシステムは、頭部姿勢(例えば、頭部姿勢ベースの円錐キャスティングの方向)がユーザの腕が届く範囲内の表面平面メッシュと交差するかどうかを決定することができる。表面平面メッシュが存在する場合、ウェアラブルシステムは、仮想オブジェクトを頭部姿勢の方向とユーザの腕が届く範囲内のレンダリング平面における表面平面メッシュの交点に設置することができる。ユーザは、オブジェクトを表面上に平坦に設置することができる。表面平面メッシュが存在しない場合、ウェアラブルシステムは、仮想オブジェクトを腕が届く範囲と最適読取距離との間のいずれかの距離を有するレンダリング平面に設置することができる。ユーザが、「そこに」と発する場合、ウェアラブルシステムは、ユーザが「ここに」と発するときと類似動作を実施することができるが、表面平面メッシュがユーザの腕が届く範囲内に存在しない場合、ウェアラブルシステムは、仮想オブジェクトを中距離内のレンダリング平面に設置してもよい。
【0273】
いったんユーザが、「アプリケーションを...に置く」と発すると、ウェアラブルシステムは、直ちに、予測フィードバックをユーザに提供し、ユーザが、「ここに」または「そこに」のいずれかと発する場合、仮想オブジェクトが利用可能な入力に基づいて設置されるであろう場所を示すことができる。本フィードバックは、焦点インジケータの形態であることができる。例えば、フィードバックは、「ここに」と発する小浮遊テキスト吹き出しを、ユーザの腕が届く範囲内のレンダリング平面におけるユーザの頭部姿勢方向と交差する、手、メッシュ、または平面表面を含んでもよい。平面表面は、ユーザのコマンドが、「ここに」である場合、近距離に位置する一方、ユーザのコマンドが、「そこに」である場合、中距離または遠距離に位置してもよい。本フィードバックは、視覚的オブジェクトの陰影または輪郭のように可視化され得る。
【0274】
ユーザはまた、相互作用をキャンセルすることができる。相互作用は、種々の場合において、2つの方法で、すなわち、(1)n秒の時間切れによるコマンドの完了失敗、または(2)例えば、「いいえ」、「やっぱりいいや」、または「キャンセル」等と発するキャンセルコマンドを入力することでキャンセルされてもよい。
ユーザ入力の組み合わせを使用したテキストとの相互作用の実施例
【0275】
複合現実環境における、自由形態のテキスト入力、特に、従来の相互作用モダリティを使用した長文字列シーケンスの入力は、問題となり得る。実施例として、特に、「ハンズフリー」環境において、キーボード、ハンドヘルドコントローラ(例えば、トーテム)、またはマウス等の入力またはインターフェースデバイスを欠いている、全体的に、自動発話認識(ASR)を依拠する、システムは、テキスト編集(例えば、ユーザの発話の正しくない書き起こし記録等の発話認識技術自体に特有のASRエラーを補正するため)を使用することが困難であり得る。別の実施例として、「ハンズフリー」環境における仮想キーボードは、精緻化されたユーザ制御を要求し得、一次形態のユーザ入力として使用される場合、疲労をもたらし得る。
【0276】
本明細書に説明されるウェアラブルシステム200は、ユーザが、例えば、音声、眼視線、ジェスチャ、頭部姿勢、トーテム入力等の2つ以上の組み合わせ等のマルチモード入力を使用して、自然かつ迅速に、仮想テキストと相互作用することを可能にするようにプログラムされることができる。語句「テキスト」は、本明細書で使用されるように、活字、文字、単語、語句、文、段落、または他のタイプの自由形態テキストを含むことができる。テキストはまた、グラフィックまたは動画、例えば、絵文字、表意文字、顔文字、スマイリー、記号等を含むことができる。仮想テキストとの相互作用は、単独で、または組み合わせて、テキストを構成する、選択する(例えば、テキストの一部または全てを選択する)、または編集する(例えば、変更、コピー、切り取り、貼り付け、削除、クリア、元に戻す、やり直し、挿入、置換等)ステップを含むことができる。ユーザ入力の組み合わせを利用することによって、本明細書に説明されるシステムは、速度および利便性において、単一入力システムに優る有意な改良を提供する。
【0277】
本明細書に説明されるマルチモードテキスト相互作用技法は、任意の口述記録シナリオまたはアプリケーション(例えば、システムは、書き起こし記録が意味論評価に依拠しない別のタスクの一部である場合でも、任意の意味論評価を適用するのではなく、単に、ユーザ発話を書き起こす)において適用されることができる。いくつかの例示的アプリケーションは、メッセージングアプリケーション、単語処理アプリケーション、ゲーム用アプリケーション、システム構成アプリケーション等を含むことができる。ユースケースの実施例は、ユーザが、ユーザの連絡先リスト内にある場合とそうではない場合がある、連絡先に送信されることになるテキストメッセージを書き込む、ユーザが、文字、記事、または他のテキストコンテンツを書き込む、ユーザが、コンテンツをソーシャルメディアプラットフォーム上に投稿し共有する、およびユーザが、ウェアラブルシステム200を使用して、フォームを完成または別様に埋めることを含むことができる。
【0278】
ユーザ入力の組み合わせを利用するシステムは、ウェアラブルシステムである必要はない。所望に応じて、そのようなシステムは、デスクトップコンピュータ、ラップトップ、タブレット、スマートフォン、またはキーボード、トラックパッド、マイクロホン、眼または視線追跡システム、ジェスチャ認識システム等の複数のユーザ入力チャネルを有する別のコンピューティングデバイス等の任意の好適なコンピューティングシステムであってもよい。
マルチモードユーザ入力を用いてテキストを構成する実施例
【0279】
図28A-28Fは、例えば、音声コマンドまたは眼視線等の入力の組み合わせに基づいて、テキストを構成および編集する、例示的ユーザ体験を図示する。本明細書に説明されるように、ウェアラブルシステムは、
図4に示される内向きに面した結像システム462によって入手された画像に基づいて、ユーザの視線方向を決定することができる。内向きに面した結像システム462は、ユーザの瞳孔の一方または両方の配向を決定してもよく、ユーザの片眼または両眼の通視線または複数の通視線を外挿してもよい。ユーザの両眼の通視線を決定することによって、ウェアラブルシステム200は、ユーザが見ている空間内の3次元位置を決定することができる。
【0280】
ウェアラブルシステムはまた、
図2に示されるオーディオセンサ232(例えば、マイクロホン)から入手されたデータに基づいて、音声コマンドを決定することができる。システムは、発話された入力2800をテキストに変換する、自動発話認識(ASR)エンジンを有してもよい。発話認識エンジンは、メッセージテキストをより長い発声から隔離および抽出するステップを含む、発話された入力2800をテキストに変換する際、自然言語理解を使用してもよい。
【0281】
図28Aに示されるように、オーディオセンサ232は、ユーザによって発話された語句2800を受信することができる。
図28Aに図示されるように、語句2800は、「~を伝えるメッセージをJohn Smithに送信する」等のコマンド、ならびに、例えば、メッセージを構成および送信する等のコマンドのパラメータと、John Smithとしてのメッセージの宛先とを含んでもよい。語句2800はまた構成されるべきメッセージの内容を含むことができる。本実施例では、メッセージの内容は、「Bostonからの飛行機に搭乗し、7時頃に到着予定です。オフィスの近くの角で会いましょう」を含むことができる。そのようなコンテンツは、ASRエンジン(自然言語理解を実装し、メッセージの内容および句読点(例えば、「。」)をユーザの発声から隔離および抽出することができる)を使用して、オーディオデータを解析することによって取得されることができる。いくつかの実施例では、句読点は、書き起こされた文字列のコンテキストにおける提示のために処理されてもよい(例えば、「2時」は、「2:00」として提示されてもよい、または「クエスチョンマーク」は、「?」として提示されてもよい)。ウェアラブルシステムはまた、テキスト文字列内の離散単語を隔離すること等によって、テキスト文字列をトークン化し、離散単語を複合現実環境において表示すること等によって、結果を表示することができる。
【0282】
しかしながら、自動発話認識は、いくつかの状況では、エラーを被りやすくあり得る。
図28Bに図示されるように、ASRエンジンを使用するシステムは、不良または特異表現発音、環境雑音、同音異義語、および他の類似音単語、躊躇または吃音、およびASRの辞書内にない語彙(例えば、外国語の語句、技術的用語、専門用語、スラング等)を含む、種々の理由から、ユーザの発話された入力に精密に合致しない、結果を生産し得る。
図28Bの実施例では、システムは、語句2800のコマンド側面を適切に解釈し、ヘッダ2802および本文2804を伴う、メッセージを生成した。しかしながら、メッセージの本文2804では、システムは、「corner(角)」のユーザの発声を、幾分類似音である、「quarter(4分の1)」として正しくなく解釈した。全体的に音声入力に依拠する、システムでは、ユーザのために、誤認識される単語(または語句)と意図される単語(または語句)を迅速に置換することが困難であろう。しかしながら、本明細書に説明されるウェアラブルシステム200は、有利には、ユーザが、
図28C-28Fに図示されるように、エラーを迅速に補正することを可能にすることができる。
【0283】
ウェアラブルシステム内のASRエンジンは、ユーザの発声と関連付けられた少なくとも1つの単語を含む、テキスト結果を生産し得、また、テキスト結果内の各単語(または語句)と関連付けられたASRスコアを生産し得る。高ASRスコアは、ASRエンジンがユーザの発声をテキストに正しく書き起こした高信頼度または高尤度を示し得る一方、低ASRスコアは、ASRエンジンがユーザの発声をテキストに正しく書き起こした低信頼度または低尤度を示し得る。いくつかの実施形態では、システムは、低ASRスコア(例えば、ASR閾値を下回るASRスコア)を伴う単語を強調された様式(例えば、背景ハイライト、イタリックまたは太字フォント、異なる色フォント等を伴う)で表示してもよく、これは、ユーザが正しくなく認識された単語を識別または選択することをより容易にし得る。ある単語に関する低ASRスコアは、ASRエンジンが単語を誤認識した合理的尤度が存在するため、ユーザが、編集または置換するために、その単語を選択する可能性がより高いことを示し得る。
【0284】
図28Cおよび28Dに示されるように、ウェアラブルシステムは、ユーザが、
図4の内向きに面した結像システム462等の眼追跡システムを使用して、誤認識された単語(または語句)を選択することを可能にしてもよい。本実施例では、選択された単語は、先行する図を用いて上記に説明される標的仮想オブジェクトの実施例であってもよい。
【0285】
ウェアラブルシステム200は、内向きに面した結像システム462に基づいて、視線方向を決定することができ、円錐2806または光線を視線方向に投じることができる。ウェアラブルシステムは、ユーザの視線方向と交差する、1つ以上の単語を選択することができる。ある実装では、単語は、ユーザの視線が少なくとも閾値時間にわたって誤った単語上に留まるとき、選択されてもよい。上記に説明されるように、誤った単語は、少なくとも部分的に、低ASRスコアと関連付けられることによって、決定されてもよい。閾値時間は、ユーザが特定の単語を選択することを所望することを示すために十分な任意の時間量であり得るが、選択を不必要に遅延させない長さである。閾値時間はまた、ユーザが特定の仮想単語を選択することを所望することを示す、信頼度スコアを決定するために使用されてもよい。例えば、ウェアラブルシステムは、ユーザがある方向/オブジェクトを注視していた長さに基づいて、信頼度スコアを計算することができ、信頼度スコアは、ある方向/オブジェクトを見るための時間持続時間が増加するにつれて増加し得る。信頼度スコアはまた、本明細書に説明されるように、マルチモード入力に基づいて計算されてもよい。例えば、ウェアラブルシステムは、ユーザの手のジェスチャおよび眼視線の両方が、ある単語が選択されるべきであることを示す場合、(眼視線単独から導出される信頼度スコア)より高い信頼度スコアを伴って、決定してもよい。
【0286】
別の実施例として、ウェアラブルシステムは、本明細書により詳細に議論されるように、特定の単語の変換のASRエンジンの相対的信頼度を示し得る、ASRスコアに部分的に基づいて、信頼度スコアを計算してもよい。例えば、低ASRエンジンスコアは、ASRエンジンが、発話された単語を正しく書き起こしたことの比較的に低信頼度を有することを示し得る。したがって、ユーザが、編集または置換するために、その単語を選択する可能性が高いであろう、より高い確率が存在し得る。ユーザの視線が、低ASRスコアを有する単語上に閾値時間より長く留まる場合、システムは、より高い信頼度スコアを割り当て、ユーザが、少なくとも2つの理由、すなわち、第1に、その単語上の眼視線の長さ、第2に、その単語がASRエンジンによって誤って書き起こされた可能性が高いという事実(両方とも、ユーザがその単語を編集または置換することを所望することになるであろうことを示す傾向にある)から、その単語を選択したことを反映することができる。
【0287】
単語は、信頼度スコアが閾値基準に達する場合、選択されてもよい。実施例として、閾値時間は、0.5秒、1秒、1.5秒、2秒、2.5秒、1~2秒、1~3秒等であってもよい。したがって、ユーザは、単に、十分な時間にわたって見ることによって、容易かつ迅速に、誤った単語、「quarter(4分の1)」を選択することができる。単語は、眼視線(またはジェスチャ)時間とASR閾値を上回るASRスコアの組み合わせに基づいて選択されてもよく、両基準は、ユーザがその特定の単語を選択しようとすることのインジケーションを提供する。
【0288】
実施例として、ASRエンジンの結果が、高ASRスコアを有する第1の単語(例えば、ASRエンジンが正しく認識したと比較的に自信がある単語)および低ASRスコアを有する第2の単語(例えば、ASRエンジンが正しく認識しなかったと比較的に自信がある単語)を含み、これらの2つの単語が、ウェアラブルシステムによって相互に隣接して表示される場合、ウェアラブルシステムは、ユーザが、正しく認識された第1の単語より正しくなく認識された第2の単語を編集することを所望する可能性がより高いため、第1および第2の単語の両方を包含するユーザの視線入力が、その比較的に低ASRスコアに基づいて、実際には、ユーザによる第2の単語を選択する試みであると仮定してもよい。このように、不正確であって、編集を要求する可能性がより高い、低ASRスコアを伴って、ASRエンジンによって生産された単語は、ユーザが編集するために選択することをより有意に容易にし、したがって、ユーザによる編集を促進し得る。
【0289】
本実施例は、眼視線を使用して、誤認識された単語を選択するステップを説明するが、別のマルチモード入力もまた、単語を選択するために使用されることができる。例えば、円錐キャスティングは、それらがまた、仮想円錐2806の一部と交差するため、「around」、「7:00」、「the」、および「quarter」等の複数の単語を識別することができる。
図29-31を参照してさらに説明されるであろうように、ウェアラブルシステムは、眼視線入力と別の入力(等例えば、ジェスチャ、音声コマンド、または入力ユーザから入力デバイス466)を組み合わせ、単語「quarter」をさらに編集するための単語として選択することができる。
【0290】
単語2808を選択することに応じて、システムは、選択された単語の編集を可能にすることができる。ウェアラブルシステムは、ユーザが、例えば、変更、切り取り、コピー、貼り付け、削除、クリア、元に戻す、やり直す、挿入、置換等の種々の技法を使用して、単語を編集することを可能にすることができる。
図28Dに示されるように、ウェアラブルシステムは、ユーザが、単語2808を別の単語に変更することを可能にすることができる。ウェアラブルシステムは、例えば、付加的発話された入力をマイクロホンを通して受信し、選択された単語を置換または削除する、仮想キーボードを表示して、ユーザが置換語をタイプすることを可能にする、またはユーザ入力デバイスを介してユーザ入力を受信する等によって、単語2808を編集するための種々のユーザ入力をサポートすることができる。ある実装では、入力は、具体的タイプのテキスト編集と関連付けられてもよい。例えば、手を振るジェスチャは、選択されたテキストを削除するステップと関連付けられてもよい一方、テキスト内の位置を指で指し示すことを伴うジェスチャは、ウェアラブルシステムに、付加的テキストをその位置に挿入させ得る。ウェアラブルシステムはまた、ユーザ入力の組み合わせをサポートして、単語を編集することができる。
図32-35を参照してさらに説明されるであろうように、システムは、眼視線を別の入力モードと組み合わせてサポートし、単語を編集することができる。
【0291】
図28Dおよび28Eの実施例では、システムは、ユーザに、単語2808の選択に応じて、代替2810aおよび2810b等の提案される代替のアレイを自動的に提示してもよい。提案される代替は、ASRエンジンまたはシステム内の他の言語処理エンジンによって生成されてもよく、オリジナル発話入力(いくつかの実施形態では、音声入力とも称され得る)、自然言語理解、ユーザ挙動から学習されたコンテキスト、または他の好適なソースに基づいてもよい。少なくともいくつかの実施形態では、提案される代替は、ASRエンジンによって生成された代替仮定であってもよい、予測テキストエンジン(隣接する単語のコンテキストおよびテキストのユーザの履歴パターンを使用して、「ブランクを埋める」ことを試み得る)によって生成された仮定であってもよい、オリジナル変換の同音異義語であってもよい、類語辞典を使用して生成されてもよい、または他の好適な技法を使用して生成されてもよい。図示される実施例では、「quarter」の提案される代替は、「quarter」に音が類似する単語であると言語エンジンによって提供され得る、「corner」および「courter」を含む。
【0292】
図28Eは、システムが、ユーザが眼視線を用いて「corner」等の所望の代替単語を選択することを可能にし得る方法を図示する。ウェアラブルシステムは、
図28Cを参照して説明されるもののような類似技法を使用して、代替単語を選択してもよい。例えば、システムは、内向きに面した結像システム462を使用して、ユーザの眼を追跡し、ユーザの視線2812が、少なくとも閾値時間にわたって、特定の代替、すなわち、代替2810Aまたは「corner」等上に合焦されていることを決定してもよい。ユーザの視線2812が閾値時間にわたって代替上に合焦されていることの決定後、システムは、
図28Fに示されるように、元々選択された単語と選択された代替単語2814を置換することによって、テキスト(メッセージ)を改訂してもよい。ウェアラブルシステムが、円錐キャスティングを使用して、単語を選択する、ある実装では、ウェアラブルシステムは、テキストの密度に基づいて、円錐のサイズを動的に調節することができる。例えば、ウェアラブルシステムは、いくつかの利用可能なオプションが存在するため、
図28Eに示されるように、より大きい開口を伴う(したがって、より大きい表面積をユーザから離れた場所に伴う)円錐を提示し、編集するための代替単語を選択してもよい。しかし、ウェアラブルシステムは、単語2808が他の単語で囲繞されるため、
図28Cでは、より小さい開口を伴う円錐を提示し、単語2808を選択してもよく、より小さい円錐は、別の単語を偶発的に選択するエラーレートを低減させることができる。
【0293】
ウェアラブルシステムは、動作の過程全体を通して、フィードバック(例えば、視覚、聴覚、触覚等)をユーザに提供することができる。例えば、ウェアラブルシステムは、焦点インジケータを提示し、標的仮想オブジェクトのユーザ認識を促進することができる。例えば、
図28Eに示されるように、ウェアラブルシステムは、コントラスト背景2830を単語「4分の1」の周囲に提供し、単語「quarter」が選択されており、ユーザが現在単語「quarter」を編集していることを示すことができる。別の実施例として、
図28Fに示されるように、ウェアラブルシステムは、単語「corner」2814のフォントを変更し(例えば、太字フォントに)、ウェアラブルシステムが単語「quarter」と本代替単語「corner」の置換を確認したことを示すことができる。他の実装では、焦点インジケータは、十字線、選択されたテキストを囲繞する円形または卵形、もしくは他のグラフィカル技法を含み、選択されたテキストをハイライトまたは強調することができる。
マルチモードユーザ入力を用いて単語を選択する実施例
【0294】
ウェアラブルシステムは、複数のモードのユーザ入力をサポートおよび利用し、単語を選択するように構成されることができる。
図29-31は、眼視線および別の入力モードの組み合わせに基づいて単語を選択する実施例を図示する。但し、他の実施例では、眼視線以外の入力もまた、テキストとの相互作用のために、別の入力モードと組み合わせて使用されることができる。
【0295】
図29は、ユーザ入力デバイスおよび視線からの入力に基づいて単語を選択する実施例を図示する。
図29に示されるように、システムは、ユーザの視線2900(内向きに面した結像システム462からのデータに基づいて決定されてもよい)とユーザ入力デバイス466を介して受信されたユーザ入力を組み合わせてもよい。本実施例では、ウェアラブルシステムは、ユーザの視線方向に基づいて、円錐キャスティングを実施することができる。ウェアラブルシステムは、ユーザ入力デバイスからの入力に基づいて、単語「quarter」の選択を確認することができる。例えば、ウェアラブルシステムは、単語「quarter」がユーザの視線方向に最も近い単語であることを識別することができ、ウェアラブルシステムは、単語「quarter」がユーザ入力デバイス466のユーザの作動に基づいて選択されたことを確認することができる。別の実施例として、円錐キャスティングは、例えば、「around」、「7:00」、「the」、および「quarter」等の複数の単語を捕捉することができる。ユーザは、ユーザ入力デバイス466を介して、複数の単語の中から、さらに編集するための単語を選択することができる。ユーザの視線から独立して入力を受信することによって、システムは、特定の単語をユーザが編集することを所望するものとして自信を持って識別する前に、長く待機する必要がなくなり得る。単語を選択し、このように編集後、システムは、代替(
図28Eに関連して議論されるように)を提示する、または別様に、ユーザが選択された単語を編集することを可能にしてもよい。ユーザの視線とトーテムを介して受信されたユーザ入力を組み合わせる同一プロセスは、所望の置換単語を選択する(例えば、代替の中から単語「corner」を選択し、単語「quarter」を置換する)ステップに適用されてもよい。いくつかの実装は、信頼度スコアを利用して、ユーザによって選択されているテキストを決定してもよい。信頼度スコアは、複数の入力モダリティを集約し、選択されたテキストのより良好な決定を提供し得る。例えば、信頼度スコアは、ユーザがテキストを凝視していた時間、テキストを凝視しているとき、ユーザがユーザ入力デバイス466を作動させたかどうか、ユーザが選択されたテキストに向かって指し示していたかどうか等に基づいてもよい。信頼度スコアが閾値に達する場合、ウェアラブルシステムは、増加された信頼度を伴って、システムがユーザが所望するテキストを正しく選択したことを決定することができる。例えば、単に、眼視線を用いて、テキストを選択するために、システムは、視線時間が1.5秒を超える場合、テキストを選択するように構成されてもよい。しかしながら、ユーザが、0.5秒しかテキストを凝視していないが、同時に、ユーザ入力デバイスを作動させる場合、システムは、より迅速かつ自信を持って、選択されたテキストを決定することができ、これは、ユーザ体験を改良し得る。
【0296】
図30は、音声および視線入力の組み合わせに基づいて編集するための単語を選択する実施例を図示する。ウェアラブルシステムは、ユーザの視線に基づいて、標的仮想オブジェクトを決定することができる。
図30に示されるように、システムは、ユーザの視線3000が特定の単語(この場合、「quarter」)に指向されていることを決定してもよい。ウェアラブルシステムはまた、ユーザの音声コマンドに基づいて、標的仮想オブジェクト上で実施されるべき動作を決定することができる。例えば、ウェアラブルシステムは、オーディオセンサ232を介して、ユーザの発話された入力3010を受信してもよく、発話された入力3010をコマンドとして認識してもよく、2つのユーザ入力をコマンドに組み合わせ、コマンド動作(「編集」)を標的仮想オブジェクト(例えば、ユーザがその視線を合焦させている単語(「quarter」))に適用してもよい。前述のように、システムは、ユーザが編集するための単語を選択後、代替単語を提示してもよい。ユーザの視線と発話された入力を組み合わせる同一プロセスは、代替単語の中から所望の置換単語を選択し、単語「quarter」を置換するステップに適用されてもよい。本明細書に説明されるように、「編集」のような用語は、1つ以上の異なるユーザ入力モダリティ毎に、編集と関連付けられた制約されたシステムコマンドライブラリを呼び出す役割を果たす、コンテキスト特有のウェイクアップ単語を表す。すなわち、そのような用語は、システムによって発話された入力として受信されると、システムに、向上された正確度を伴って、ユーザによって提供される編集関連コマンドを認識するように、続いて受信されたユーザ入力を限定されたセットの参照に対して評価させ得る。例えば、発話入力のコンテキストでは、システムは、用語の限定されたコマンド特有の語彙を調べ、発話認識を続いて受信された発話入力上で実施し得る。別の実施例では、視線またはジェスチャ入力のコンテキストでは、システムは、テンプレート画像の限定されるコマンド特有のライブラリを調べ、画像認識を続いて受信された視線またはジェスチャ入力上で実施し得る。「編集」のような用語は、時として、「ホットワード」または「キャリア語句」とも称され、システムは、(編集コンテキストにおける)編集、切り取り、コピー、貼り付け、太字、イタリック、削除、移動等のいくつかの事前にプログラムされた(かつ随意にユーザ設定可能)ホットワードを含んでもよい。
【0297】
図31は、視線およびジェスチャ入力の組み合わせに基づいて編集するための単語を選択する実施例を図示する。
図31の実施例に図示されるように、システムは、眼視線入力3100とともにジェスチャ入力3110を使用して、編集するための単語を選択してもよい。特に、システムは、眼視線入力3100(例えば、内向きに面した結像システム462によって入手されたデータに基づいて)を決定してもよく、ジェスチャ入力3110(例えば、外向きに面した結像システム464によって入手された画像に基づいて)を識別してもよい。認識装置708等のオブジェクト認識装置は、編集するための単語の識別と関連付けられたジェスチャを行う、その手等のユーザの身体の一部を検出する際に使用されてもよい。
【0298】
ジェスチャは、単独で、または眼視線と組み合わせて使用され、単語を選択してもよい。例えば、円錐キャスティングは、複数の単語を捕捉することができるが、ウェアラブルシステムは、それにもかかわらず、円錐キャスティングおよびユーザの手のジェスチャの両方から識別される(例えば、眼視線円錐キャスティングに加え、手のジェスチャに基づく、信頼度スコアが、ユーザが単語「quarter」を選択したことを示す信頼度閾値を超える)ため、単語「quarter」を標的仮想オブジェクトとして識別し得る。別の実施例として、円錐キャスティングは、複数の単語を捕捉することができるが、ウェアラブルシステムは、それにもかかわらず、円錐キャスティングから識別され、かつ円錐キャスティング内(またはその近傍)にあるASRエンジンからの最低ASRスコアを伴う単語であるため、単語「quarter」を標的仮想オブジェクトとして識別し得る。ある実装では、ジェスチャは、「編集」または本明細書に説明される他のホットワード等のコマンドと関連付けられ得るため、コマンド動作と関連付けられてもよい。実施例として、システムは、ユーザが凝視している同一単語を指し示しているときを認識し、これらのユーザ入力を同一単語を編集するための要求として解釈し得る。所望に応じて、システムはまた、ユーザが特定の単語を編集することを所望することを決定する際、同時に、「編集」の音声コマンド等の付加的ユーザ入力を利用してもよい。
マルチモードユーザ入力を用いて単語を編集する実施例
【0299】
いったんユーザが、編集するための単語を選択すると、システムは、任意の望ましいモードのユーザ入力を利用して、選択された単語を編集することができる。ウェアラブルシステムは、ユーザが、潜在的代替のリストを表示し、ユーザ視線入力2812を受信して、代替単語を選択し、オリジナル単語を置換することによって、選択された単語を変更または置換することを可能にすることができる(
図28Eに図示される実施例参照)。
図32-34は、選択された単語を編集する付加的実施例を図示し、選択された単語は、マルチモード入力を使用して編集されることができる。
【0300】
図32は、眼視線および発話入力の組み合わせに基づいて単語を置換する実施例を図示する。
図32では、システムは、発話入力3210をユーザから受信する(オーディオセンサ232または他の好適なセンサを通して)。発話入力3210は、所望の置換単語を含有することができる(提案される代替3200のリストからの置換単語である場合とそうではない場合がある)。発話入力3210の受信に応じて、ウェアラブルシステムは、入力を解析し(例えば、「これを…に変更する」のようなキャリア語句を取り出すため)、ユーザによって発話された単語を識別し、選択された単語「quarter」とユーザによって発声されるような単語「corner」を置換することができる。本実施例では、置換は、単語であるが、ある実装では、ウェアラブルシステムは、単語「quarter」と語句または文もしくはある他の要素(例えば、絵文字)を置換するように構成されることができる。複数の単語が眼視線円錐キャスティング内に含有される、実施例では、ウェアラブルシステムは、置換単語に最も近い眼視線円錐内の単語を自動的に選択してもよい(例えば、「quarter」は、「the」または「7:00」より「corner」に近い)。
【0301】
図33は、音声および視線入力の組み合わせに基づいて単語を変更する実施例を図示する。本実施例では、ウェアラブルシステムは、発話入力3310を受信し、ユーザの視線方向3300を決定することができる。
図33に示されるように、発話入力3310は、語句「それを「corner」に変更する」を含む。ウェアラブルシステムは、発話入力3310を解析し、発話入力3310が、コマンド動作「変更」(キャリア語句の実施例である)、対象「それ」、およびコマンドのパラメータ(例えば、結果として生じる単語「corner」)を含むことを決定することができる。本発話入力3310は、眼視線3300と組み合わせられ、動作の対象を決定することができる。
図28Aおよび28Bを参照して説明されるように、ウェアラブルシステムは、単語「quarter」を動作の対象として識別することができる。したがって、ウェアラブルシステムは、対象(「quarter」)を結果として生じる単語「corner」に変更することができる。
【0302】
図34は、仮想キーボード3410を使用して選択された単語3400を編集する実施例を図示する。仮想キーボード3410は、ユーザ視線入力、ジェスチャ入力、ユーザ入力デバイスから受信された入力等によって制御されることができる。例えば、ユーザは、眼視線方向3420をウェアラブルシステム200のディスプレイによってユーザに表示される仮想キーボード3410にわたって移動させることによって、置換単語をタイプしてもよい。ユーザは、閾値時間周期にわたって、その視線を個別のキーにわたって一時停止することによって、各文字を置換単語内にタイプしてもよい、またはウェアラブルシステムは、特定のキーにわたるユーザの視線3420の方向の変化をユーザがそのキーを選択することを所望することのインジケーションとして認識してもよい(それによって、ユーザが、単語をタイプするとき、その焦点を各個々のキー上に静止して保持する必要性を排除する)。
図28Dを参照して説明されるように、ある実装では、ウェアラブルシステムは、キーのサイズに基づいて、円錐のサイズを変動させてもよい。例えば、各キーのサイズが比較的に小さい、仮想キーボード3410では、ウェアラブルシステムは、円錐のサイズを低減させ、ユーザが、置換単語内の文字をより正確に識別することを可能にしてもよい(円錐キャスティングが、多数の可能性として考えられるキーを偶発的に捕捉しないであろうように)。サイズが、比較的に大きい場合、ウェアラブルシステムは、ユーザが視線方向を正確に示す必要はないように(疲労を低減させることができる)、適宜、キーのサイズを増加させることができる。
【0303】
ある実装では、単語が選択された後、ウェアラブルシステムは、選択された単語を置換するための提案される代替単語のリストを表示することに加え、またはその代替として、可能性として考えられるアクションのセットを提示することができる。ユーザ210は、アクションを選択し、本明細書に説明される技法を使用して、選択された単語を編集することができる。
図35は、選択された単語に適用するための可能性として考えられるアクションを表示する例示的ユーザインターフェースを図示する。
図35では、編集するための単語3500の選択に応じて、ウェアラブルシステムは、(本実施例では)(1)単語を変更する(編集するための本明細書に説明される技法のいずれかを使用して)、(2)単語を切り取り、随意に、それをクリップボードに記憶させる、または単語をコピーし、それをクリップボードに記憶させる、または(3)単語または語句をクリップボードから貼り付けるオプションを含む、編集するためのオプションのリスト3510を提示してもよい。提示され得る、付加的または代替オプションは、選択を削除するオプション、やり直しオプション、元に戻すオプション、全てを選択するオプション、ここに挿入するオプション、および置換するオプションを含む。種々のオプションは、本明細書に説明されるように、視線入力、トーテム入力、ジェスチャ入力等を使用して選択されてもよい。
マルチモードユーザ入力を用いて語句と相互作用する実施例
【0304】
先行実施例は、マルチモード入力を使用して、単語を選択および編集するステップを説明したが、これは、例証のために意図され、同一または類似プロセスおよび入力が、概して、複数の単語または文字を含む、語句または文もしくは段落を選択および編集する際に使用されてもよい。
【0305】
図36(i)-36(iii)は、マルチモード入力を使用して語句と相互作用する実施例を図示する。
図36(i)では、ウェアラブルシステムは、ユーザの視線3600方向を決定し、ユーザの視線方向に基づいて、円錐キャスティングを実施することができる。
図36(ii)では、システムは、ユーザ210の視線3600が第1の単語3610(例えば、「I’m」)上に合焦されていることを認識し得る。システムは、限定ではないが、ユーザの視線3600が、閾値時間周期にわたって、特定の単語上に休止している(例えば、留まっている)、ユーザの視線3600が特定の単語上にあることと同時に、ユーザが、音声、ジェスチャ、またはトーテム入力を提供していること等を認識することを含む、本明細書で議論される技法のいずれかを使用して、第1の単語3610のそのような決定を行ってもよい。ウェアラブルシステムはまた、焦点インジケータ(例えば、示されるように、コントラスト背景)を選択された単語「I’m」3610上に表示し、単語が眼視線円錐キャスティングから決定されたことを示すことができる。ユーザは、第1の単語3610を見ながら、トーテム3620を作動させることができる(ユーザ入力デバイス466の実施例である)。本作動は、ユーザが第1の単語3610から開始する語句または文を選択することを意図することを示し得る。
【0306】
図36(iii)では、ユーザ入力デバイス466の作動後、ユーザは、最後の意図される単語(例えば、単語「そこに」)を見て、ユーザが、単語「I’m」から開始し、単語「そこに」で終了する語句を選択することを所望することを示すことができる。ウェアラブルシステムはまた、ユーザがトーテム3620を作動させることを停止した(例えば、ユーザ以前に押下したボタンを解放する)ことを検出することができ、故に、語句「I’m flying in from Boston and will be there」の全体範囲3630を選択することができる。システムは、焦点インジケータを使用して(例えば、コントラスト背景を語句内の全ての単語まで延在させることによって)、選択された語句を表示することができる。
【0307】
システムは、ユーザが種々の技法を使用して、編集するための別の単語ではなく、ある語句を選択することを所望することを決定してもよい。実施例として、システムは、ユーザが第1の単語を選択後間もなく、ユーザが第2の単語を選択するとき、ユーザが、第1の単語のその選択を元に戻すのではなく、ある語句を選択することを所望することを決定してもよい。別の実施例として、システムは、ユーザが第1の単語の後に現れる第2の単語を選択するとき、ユーザがある語句を選択することを所望しており、ユーザが第1の選択された単語をまだ編集していないことを決定してもよい。さらに別の実施例として、ユーザは、その視線が第1の単語3610上に合焦されているとき、トーテム3620上のボタンを押下し、次いで、その視線が最後の単語上に落ち着くまで、ボタンを保持してもよい。システムが、視線3610が第1の単語上に合焦されているとき、ボタンが押下されたが、ユーザの視線3610が第2の単語に偏移した後のみ解放されたことを認識すると、システムは、マルチモードユーザ入力をある語句の選択として認識してもよい。システムは、次いで、第1の単語、最後の単語、およびそれらの間の全ての単語を含む、語句内の単語の全てを識別してもよく、全体としての語句の編集を可能にしてもよい。システムは、焦点インジケータを使用して、選択されていないテキストから顕著であるように、選択された語句をハイライトしてもよい(例えば、ハイライト、強調されるテキスト(例えば、太字またはイタリックもしくは異なる色)等)。システムは、次いで、オプション3510等の選択された語句を編集するための適切なオプション、キーボード3410等の仮想キーボード、代替語句等をコンテキスト的に表示してもよい。システムは、発話された入力、トーテム入力、ジェスチャ入力等の付加的ユーザ入力を受信し、選択された語句3630を編集する方法を決定してもよい。
【0308】
図36は、ユーザが、語句の開始時にある、第1の単語3610を選択するステップを図示するが、システムはまた、ユーザが、第1の単語3610から後方を選択することを可能にしてもよい。言い換えると、ユーザは、語句の最後の単語(例えば、「そこに」)を選択することによって、次いで、所望の語句の第1の単語(例えば、「I’m」)を選択することによって、語句を選択してもよい。
【0309】
図37A-37Bは、マルチモード入力を使用してテキストと相互作用する別の実施例を図示する。
図37Aでは、ユーザ210は、文(「I want to sleep」)を発声する。ウェアラブルシステムは、ユーザの発声を発話入力3700として捕捉することができる。本発話入力に関して、ウェアラブルシステムは、
図37Bに示されるように、単語毎に、一次および二次結果の両方を自動発話認識(ASR)エンジンから表示することができる。単語毎の一次結果は、発話入力3700内でユーザによって発話された単語に関するASRエンジンの最良推測(例えば、ユーザが実際に発話した単語を示すことに関する最高ASRスコアを有する、単語)を表してもよい一方、二次結果は、ASRエンジンの最良推測より低いASRスコアを有する、同様の音の代替または単語を表してもよい。本
図37Bでは、一次結果は、シーケンス3752として表示される。いくつかの実施形態では、ウェアラブルシステムは、代替結果または仮定を、代替単語とは対照的に、代替語句および/または文全体として提示してもよい。実施例として、ウェアラブルシステムは、一次結果「four score and seven years ago」とともに二次結果「force caring seven years to go」を提供してもよく、一次および二次結果内の離散単語間に、1対1の対応が存在しない。そのような実施形態では、ウェアラブルシステムは、代替もしくは二次語句および/または文を選択する、ユーザからの入力をサポートすることができる(本明細書に説明される様式のいずれかにおいて)。
【0310】
図37Bに示されるように、ユーザの発話入力3700からの各単語は、一次および二次結果の集合3710、3720、3730、3740として表示されてもよい。本タイプの配列は、ユーザが、ASRエンジンによって導入される正しくない一次結果および正しい任意のエラーを迅速に入れ替えることを可能にし得る。一次結果3752は、焦点インジケータを用いて強調され(例えば、各単語は、
図37Bにおける実施例では、境界ボックスによって囲繞される太字テキストである)、それらを二次結果から区別してもよい。
【0311】
ユーザ210は、一次単語がユーザによって意図されるものではない場合、二次結果、例えば、二次単語、語句、または文等上で休止することができる。実施例として、集合3740内のASRエンジンの一次結果は、「slip」である一方、正しい書き起こし記録は、実際には、第1の二次結果「sleep」である。本エラーを補正するために、ユーザは、その視線を正しい二次結果「sleep」上に合焦させることができ、システムは、ユーザの視線が、閾値時間周期にわたって、二次結果上に留まっていることを認識し得る。システムは、ユーザ視線入力を一次結果「slip」と選択された二次結果「sleep」を置換するための要求として変換し得る。付加的ユーザ入力が、ユーザ発話入力等の所望の二次結果を選択することと併せて、受信されてもよい(例えば、ユーザは、所望の二次結果を見ながら、システムに、「編集する」、「これを使用する」、または「置換する」ように求めてもよい)。
【0312】
いったんユーザが、語句「I want to sleep」の編集を終了する、または書き起こし記録が正しいことを確認すると、語句は、本明細書に説明される任意のモードのユーザ入力を使用して、テキストの本文に追加されることができる。例えば、ユーザは、「終了」等のホットワードを発し、編集された語句をテキストの本文に戻るように追加させることができる。
ユーザ入力の組み合わせを使用してテキストと相互作用する例示的プロセス
【0313】
図38は、複数のモードのユーザ入力を使用して、テキストと相互作用する、例示的方法3800のプロセスフロー図である。プロセス3800は、本明細書に説明されるウェアラブルシステム200によって実施されることができる。
【0314】
ブロック3810では、ウェアラブルシステムは、発話された入力をユーザから受信してもよい。発話入力は、1つ以上の単語を含有する、ユーザの発話を含んでもよい。一実施例では、ユーザは、メッセージを書き取らせてもよく、ウェアラブルシステムは、本欠き取られたメッセージを受信してもよい。これは、オーディオセンサ232等の任意の好適な入力デバイスを通して達成されてもよい。
【0315】
ブロック3820では、ウェアラブルシステムは、発話入力をテキストに変換してもよい。ウェアラブルシステムは、自動発話認識(ASR)エンジンを利用して、ユーザの発話された入力をテキスト(例えば、文字による書き起こし記録)に変換してもよく、自然言語処理技法をさらに活用し、そのようなテキストを意図および概念を示す意味論表現に変換してもよい。ASRエンジンは、自由形態テキスト入力のために最適化されてもよい。
【0316】
ブロック3830では、ウェアラブルシステムは、テキストを単語、語句、または文等の離散アクション可能要素にトークン化してもよい。ウェアラブルシステムはまた、ディスプレイ220等のディスプレイシステムを使用して、ユーザのためにテキストを表示してもよい。いくつかの実施形態では、ウェアラブルシステムは、トークン化システムの間、テキストの意味を理解する必要がない。他の実施形態では、ウェアラブルシステムは、テキストの意味を理解するための能力(例えば、1つ以上の自然言語処理モデルまたは他の確率論的統計的モデル)、または単に、(i)ユーザ構成メッセージまたはその一部を表す、単語、語句、および文と、(ii)ユーザ構成メッセージまたはその一部を表さないが、代わりに、ウェアラブルシステムによって実行されるべきコマンドに対応する、単語、語句、および文とを区別する能力を装備する。例えば、ウェアラブルシステムは、ユーザによって発話されたコマンド動作またはコマンドのパラメータを認識するために、テキストの意味を把握する必要があり得る。そのようなテキストの実施例は、本明細書では、ホットワードとも称される、1つ以上の異なるユーザ入力モダリティ毎に編集と関連付けられた1つ以上の制約されたシステムコマンドライブラリを呼び出す役割を果たす、コンテキスト特有のウェイクアップ単語を含んでもよい。
【0317】
ユーザは、マルチモードユーザ入力を使用して、アクション可能要素のうちの1つ以上のものと相互作用することができる。ブロック3840では、ウェアラブルシステムは、第1のインジケーションに応答して、1つ以上の要素を選択することができる。第1のインジケーションは、本明細書に説明されるように、1つのユーザ入力またはユーザ入力の組み合わせであることができる。ウェアラブルシステムは、編集するためのテキスト文字列の要素のうちの1つ以上のものを選択する入力をユーザから受信してもよい。ユーザは、単一単語または複数の単語(例えば、語句または文)を選択してもよい。ウェアラブルシステムは、限定ではないが、発話入力、視線入力(例えば、内向きに面した結像システム462を介して)、ジェスチャ入力(例えば、外向きに面した結像システム464によって捕捉されるように)、トーテム入力(例えば、ユーザ入力デバイス466の作動を介して)、または任意のそれらの組み合わせを含む、任意の所望の形態において、編集するための要素を選択するユーザ入力を受信してもよい。実施例として、ウェアラブルシステムは、閾値時間周期にわたって特定の単語上に留まるユーザの視線の形態でユーザ入力を受信してもよい、または特定の単語上のユーザの視線と同時に、マイクロホンまたはトーテムを介して、編集するためのその特定の単語の選択を示すユーザ入力を受信してもよい。
【0318】
ブロック3850では、ウェアラブルシステムは、第2のインジケーションに応答して、選択された要素を編集することができる。第2のインジケーションは、限定ではないが、ユーザ視線入力、発話された入力、ジェスチャ入力、およびトーテム入力を含む、先行する図を用いて説明されるように、単一入力モードまたは入力モードの組み合わせを介して、受信されることができる。ウェアラブルシステムは、選択された要素が編集されるべき方法を示すユーザ入力を受信してもよい。ウェアラブルシステムは、ブロック3850において受信されたユーザ入力に従って、選択された要素を編集してもよい。例えば、ウェアラブルシステムは、発話入力に基づいて、選択された要素を置換することができる。ウェアラブルシステムはまた、提案される代替のリストを提示し、ユーザの眼視線に基づいて、選択された代替の中から選択することができる。ウェアラブルシステムはまた、仮想キーボードとのユーザ相互作用を介して、またはユーザ入力デバイス466(例えば、物理的キーボードまたはハンドヘルドデバイス等)を介して、入力を受信することができる。
【0319】
ブロック3860では、ウェアラブルシステムは、選択された要素を編集する結果を表示することができる。ある実装では、ウェアラブルシステムは、焦点インジケータを編集される要素上に提供することができる。
【0320】
矢印3870によって示されるように、ウェアラブルシステムは、ユーザが、テキストの付加的要素を編集するための付加的ユーザ入力を提供する場合、ブロック3840、3850、および3860を繰り返してもよい。
付加的側面
【0321】
第1の側面では、仮想コンテンツと相互作用するための方法であって、第1の直接ユーザ入力を受信するステップと、第1の直接ユーザ入力と相関される第1の信頼度スコアを決定するステップと、第2の直接ユーザ入力を受信するステップと、第2の直接ユーザ入力と相関される第2の信頼度スコアを決定するステップと、集約信頼度スコアを少なくとも第1の信頼度スコアおよび第2の信頼度スコアから計算するステップと、対象仮想オブジェクトを操作し、パラメータ条件を満たすステップとを含む、方法。
【0322】
第2の側面では、第1の直接ユーザ入力は、発話入力、手のジェスチャ、頭部姿勢、および眼視線から成る群から選択される、側面1に記載の方法。
【0323】
第3の側面では、第2の直接ユーザ入力は、発話入力、手のジェスチャ、頭部姿勢、および眼視線から成る群から選択される、側面1-2のいずれか1項に記載の方法。
【0324】
第4の側面では、パラメータは、対象仮想オブジェクトの位置である、側面1-3のいずれか1項に記載の方法。
【0325】
第5の側面では、パラメータは、対象仮想オブジェクトのサイズである、側面1-4のいずれか1項に記載の方法。
【0326】
第6の側面では、パラメータは、対象仮想オブジェクトの機能性である、側面1-5のいずれか1項に記載の方法。
【0327】
第7の側面では、仮想コンテンツと相互作用するための方法であって、直接ユーザ入力を受信するステップと、直接ユーザ入力と相関される第1の信頼度スコアを決定するステップと、間接ユーザ入力を受信するステップと、間接ユーザ入力と相関される第2の信頼度スコアを決定するステップと、集約信頼度スコアを少なくとも第1の信頼度スコアおよび第2の信頼度スコアから計算するステップと、対象仮想オブジェクトを操作し、パラメータ条件を満たすステップとを含む、方法。
【0328】
第8の側面では、直接ユーザ入力は、発話入力、手のジェスチャ、頭部姿勢、および眼視線から成る群から選択される、側面7に記載の方法。
【0329】
第9の側面では、間接ユーザ入力は、地理的場所である、側面8に記載の方法。
【0330】
第10の側面では、パラメータは、対象仮想オブジェクトの位置である、側面7-8のいずれか1項に記載の方法。
【0331】
第11の側面では、パラメータは、対象仮想オブジェクトのサイズである、側面7-10のいずれか1項に記載の方法。
【0332】
第12の側面では、パラメータは、対象仮想オブジェクトの機能性である、側面7-11のいずれか1項に記載の方法。
【0333】
上記の側面1-12のいずれか1項に記載の方法は、本明細書に説明されるウェアラブルシステム200の制御下で実施されることができる。
【0334】
第13の側面では、ウェアラブルデバイスのためのオブジェクトと相互作用するためのシステムであって、3次元(3D)ビューをユーザに提示し、ユーザがユーザの動眼視野(FOR)内のオブジェクト相互作用と相互作用することができる可能にするように構成される、ウェアラブルデバイスのディスプレイシステムであって、FORは、ディスプレイシステムを介してユーザによって知覚されることが可能なユーザの周囲の環境の一部を備える、ディスプレイシステムと、センサおよびディスプレイシステムと通信する、ハードウェアプロセッサであって、ユーザ相互作用のためのマルチモード入力を受信し、マルチモード入力を解析し、ユーザ相互作用の対象、コマンド、およびパラメータを識別し、対象、コマンド、およびパラメータに基づいて、ユーザ相互作用を実行するようにプログラムされる、ハードウェアプロセッサとを備える、システム。
【0335】
第14の側面では、システムは、マイクロホン、慣性測定ユニット、外向きに面した結像システム、または内向きに面した結像システムのうちの少なくとも1つを備える、側面13に記載のシステム。
【0336】
第15の側面では、マルチモード入力は、頭部姿勢、眼視線、手のジェスチャ、または発話入力のうちの少なくとも1つを備える、直接入力を備える、側面14に記載のシステム。
【0337】
第16の側面では、マルチモード入力は、ユーザ入力デバイスからの入力または間接入力のうちの少なくとも1つを備え、間接入力は、ユーザの場所またはユーザの環境内のオブジェクトの場所を備える、側面13-14のいずれか1項に記載のシステム。
【0338】
第17の側面では、対象は、ユーザが相互作用することを意図する標的仮想オブジェクトを備え、コマンドは、ウェアラブルシステムが標的仮想オブジェクト上で実施するアクションを備え、パラメータは、アクションの特性を備える、側面13-16のいずれか1項に記載のシステム。
【0339】
第18の側面では、パラメータは、標的仮想オブジェクトの設置、配向、目的地位置を備える、側面17に記載のシステム。
【0340】
第19の側面では、ユーザ相互作用の対象を識別するために、ウェアラブルデバイスは、マルチモード入力の第1の入力に対する第1の値にアクセスし、マルチモード入力の第2の入力に対する第2の値にアクセスし、第1または第2の値に基づいて、第1の候補仮想オブジェクトに関する第1の信頼度スコアを計算し、第1または第2の値に基づいて、第2の候補仮想オブジェクトに関する第2の信頼度スコアを計算し、第1の信頼度スコアの比較に基づいて、対象を第1の候補仮想オブジェクトまたは第2の候補仮想オブジェクトのいずれかに設定するようにプログラムされる、側面13-18のいずれか1項に記載のシステム。
【0341】
第20の側面では、第1の入力は、第1の加重と関連付けられ、第2の入力は、第2の加重と関連付けられ、第1の値および第2の値は、それぞれ、第1の加重および第2の加重に基づいて割り当てられる、側面19に記載のシステム。
【0342】
第21の側面では、コンピュータプロセッサはさらに、ユーザ相互作用と関連付けられた開始条件を検出するように構成され、開始条件は、呼出語句または手のジェスチャを備える、側面13-20のいずれか1項に記載のシステム。
【0343】
第22の側面では、開始条件は、2つの入力モードの組み合わせを備え、2つの入力モードは、一貫して、ユーザ相互作用を示す、側面21に記載のシステム。
【0344】
第23の側面では、プロセッサはさらに、ウェアラブルデバイスの環境センサからの環境データを受信し、環境データに基づいて、入力モードと関連付けられた認証レベルを自動的に設定するようにプログラムされる、側面13-22のいずれか1項に記載のシステム。
【0345】
第24の側面では、ユーザ相互作用は、仮想オブジェクトを選択または移動させる、テレプレゼンスセッションを行う、仮想オブジェクトを修正する、または仮想オブジェクトを別のウェアラブルデバイスと共有することのうちの少なくとも1つを備える、側面13-23のいずれか1項に記載のシステム。
【0346】
第25の側面では、マルチモード入力は、頭部姿勢および発話入力を備える、側面13-24のいずれか1項に記載のシステム。
【0347】
第26の側面では、マルチモード入力はさらに、ジェスチャまたは眼視線を備える、側面25に記載のシステム。
【0348】
第27の側面では、システムであって、第1の入力モードにおける第1のユーザ入力データを入手するように構成される、第1のセンサと、第2の入力モードにおける第2のユーザ入力データを入手するように構成される、第2のセンサであって、第2の入力モードは、第1の入力モードと異なる、第2のセンサと、第1および第2のセンサと通信する、ハードウェアプロセッサとを備える、システム。システムは、オブジェクトと相互作用するためのウェアラブルシステムであってもよく、第1のセンサおよび第2のセンサは、ウェアラブルシステムの一部であってもよい。システムのハードウェアプロセッサは、第1の入力モードにおける第1のユーザ入力データおよび第2の入力モードにおける第2のユーザ入力データを備える、マルチモード入力を受信し、第1のユーザ入力データに基づいて、相互作用のための第1のセットの候補オブジェクトを識別し、第2のユーザ入力データに基づいて、相互作用のための第2のセットの候補オブジェクトを識別し、第1のユーザ入力データおよび第2のユーザ入力データの組み合わせに基づいて、標的仮想オブジェクトを第1のセットの候補オブジェクトおよび第2のセットの候補オブジェクトから決定し、第1のユーザ入力データまたは第2のユーザ入力データのうちの少なくとも1つに基づいて、標的仮想オブジェクト上でのユーザインターフェース動作を決定し、ユーザインターフェース動作を標的仮想オブジェクト上で実施させる、マルチモード入力コマンドを生成するようにプログラムされることができる。
【0349】
第28の側面では、マルチモード入力は、以下の入力モード、すなわち、頭部姿勢、眼視線、ユーザ入力デバイス、手のジェスチャ、または音声のうちの少なくとも2つを備える、側面27に記載のシステム。
【0350】
第29の側面では、ユーザインターフェース動作は、標的仮想オブジェクトを選択する、移動させる、またはリサイズすることのうちの少なくとも1つを備える、側面27または28に記載のシステム。
【0351】
第30の側面では、ハードウェアプロセッサはさらに、ユーザインターフェース動作における標的仮想オブジェクトのための標的場所、配向、または移動のうちの少なくとも1つを決定するように構成される、側面27-29のいずれか1項に記載のシステム。
【0352】
第31の側面では、標的仮想オブジェクトのための標的場所を決定するために、ハードウェアプロセッサは、標的仮想オブジェクトを載上するための物理的環境内の作業可能表面を識別するようにプログラムされる、側面30に記載のシステム。
【0353】
第32の側面では、作業可能表面は、物理的環境内の物理的オブジェクト上の着目点(POI)に関する距離関数を計算し、平面公差外のPOIのうちの1つ以上のものを排除し、残りのPOIに基づいて、作業可能表面の輪郭を描くことによって識別される、側面31に記載のシステム。
【0354】
第33の側面では、ハードウェアプロセッサは、標的仮想オブジェクトを標的場所の配向に合致するように自動的に配向するようにプログラムされる、側面31または32に記載のシステム。
【0355】
第34の側面では、動作は、第1の入力モードにおける第1のユーザ入力データに基づいて決定され、対象またはパラメータのうちの少なくとも1つは、第1の入力モードおよび第2の入力モードの組み合わせに基づいて決定される、側面27-33のいずれか1項に記載のシステム。
【0356】
第35の側面では、第1の入力モードは、ウェアラブルシステムのユーザの場所情報に基づく、間接入力モードを備える、側面27-34のいずれか1項に記載のシステム。
【0357】
第36の側面では、ハードウェアプロセッサは、オブジェクトがユーザの閾値範囲内にあることの決定に応答して、仮想オブジェクトを第1のセットのオブジェクトおよび第2のセットのオブジェクトからの標的仮想オブジェクトとして識別するようにプログラムされる、側面35に記載のシステム。
【0358】
第37の側面では、ユーザインターフェース動作は、仮想アプリケーションと関連付けられ、仮想アプリケーションは、第1のセンサまたは第2のセンサのうちの一方に対してより応答性であるようにプログラムされる、側面27-36に記載のシステム。
【0359】
第38の側面では、標的仮想オブジェクトを第1のセットの候補オブジェクトおよび第2のセットの候補オブジェクトから決定するために、ハードウェアプロセッサは、第1のユーザ入力データおよび第2のユーザ入力データに基づいて、ツリーベースの分析を第1のセットの候補オブジェクトおよび第2のセットの候補オブジェクト上で実施するようにプログラムされる、側面27-37に記載のシステム。
【0360】
第39の側面では、標的仮想オブジェクトを第1のセットの候補オブジェクトおよび第2のセットの候補オブジェクトから決定するために、ハードウェアプロセッサは、第1のユーザ入力データに基づいて、第1のセットの候補オブジェクト内の候補オブジェクトに関する第1の信頼度スコアを計算し、第2のユーザ入力データに基づいて、候補オブジェクトに関する第2の信頼度スコアを計算し、候補オブジェクトに関する集約されたスコアを少なくとも第1の信頼度スコアおよび第2の信頼度から計算し、集約されたスコアが閾値条件を満たすことの決定に応答して、候補オブジェクトを標的仮想オブジェクトとして設定するようにプログラムされる、側面38に記載のシステム。
【0361】
第40の側面では、標的仮想オブジェクトを決定するために、ハードウェアプロセッサは、視野内の仮想オブジェクトの周囲の空間の均一性、ユーザの視野外にある仮想オブジェクトの第2の部分に対する、ユーザの視野内にある仮想オブジェクトの第1の部分に関する比例面積、または仮想オブジェクトとのユーザの相互作用の履歴分析、のうちの少なくとも1つを計算することによって、仮想オブジェクトに関する信頼度スコアを計算するようにプログラムされる、側面27-39のいずれか1項に記載のシステム。
【0362】
第41の側面では、ハードウェアプロセッサはさらに、マルチモード入力に基づいて、ハードウェアプロセッサをトリガし、標的仮想オブジェクトおよびユーザインターフェース動作を決定する、相互作用イベントに関する開始条件を検出するようにプログラムされる、側面27-40のいずれか1項に記載のシステム。
【0363】
第42の側面では、開始条件は、トリガ語句を備える、側面41に記載のシステム。
【0364】
第43の側面では、第1の入力モードは、一次入力モードであって、第2の入力モードは、二次入力モードであって、ハードウェアプロセッサは、第2のユーザ入力データに基づいて、標的仮想オブジェクトおよびユーザインターフェース動作のうちの少なくとも1つにおける曖昧性を解決するようにプログラムされる、側面27-42のいずれか1項に記載のシステム。
【0365】
第44の側面では、第1のユーザ入力データは、仮想オブジェクトに対する直示または照応参照を備え、ハードウェアプロセッサは、第2のユーザ入力データに基づいて、仮想オブジェクトを対象としての標的仮想オブジェクトとして識別するようにプログラムされる、側面27-43のいずれか1項に記載のシステム。
【0366】
第45の側面では、ハードウェアプロセッサはさらに、少なくとも部分的に、ユーザ設定またはユーザの環境に基づいて、第1の入力モード、第2の入力モード、または両方の感度を自動的に有効にする、無効にする、または調節するようにプログラムされる、側面27-44に記載のシステム。
【0367】
第46の側面では、ハードウェアプロセッサは、少なくとも部分的に、マルチモード入力に基づいて、ユーザの視野外の標的仮想オブジェクトを識別し、ユーザ相互作用のために、仮想オブジェクトを視野内に自動的に移動させるようにプログラムされる、側面27-45に記載のシステム。
【0368】
第47の側面では、方法が、説明される。方法は、オブジェクトと相互作用するためのものであることができ、ユーザ入力データを入手するように構成される複数のセンサと通信する、ウェアラブルシステムのハードウェアプロセッサの制御下で実施されることができる。方法は、ユーザと環境の相互作用イベントに関するユーザ入力データを複数のセンサから受信するステップと、ユーザ入力データを分析し、環境と相互作用するためのマルチモード入力を識別するステップであって、マルチモード入力は、第1の入力チャネルにおける第1の入力および第2の入力チャネルにおける第2の入力を備える、ステップと、第1の入力および第2の入力に基づいて、環境との相互作用イベントを記述するために、対象、パラメータ、または動作のうちの1つ以上のものを備える、マルチモード入力コマンドを決定するステップであって、対象、パラメータ、または動作のうちの少なくとも1つは、第1の入力および第2の入力の組み合わせに基づいて識別される、ステップと、ウェアラブルデバイスに、相互作用イベントのためのマルチモード入力コマンドを実行させるステップとを含むことができる。
【0369】
第48の側面では、動作は、対象を選択する、移動させる、またはリサイズすることのうちの少なくとも1つを備え、対象は、ユーザが相互作用しようとしている標的仮想オブジェクトを備える、またはパラメータは、対象の少なくとも標的場所、配向、または移動を備える、側面47に記載の方法。
【0370】
第49の側面では、標的場所は、物理的オブジェクト上の着目点(POI)に関する距離関数を計算し、所与の平面公差外のPOIのうちの1つ以上のものを排除し、残りのPOIに基づいて、物理的オブジェクト上の作業可能表面の輪郭を描くことによって決定される、側面48に記載の方法。
【0371】
第50の側面では、方法は、仮想オブジェクトを自動的に配向し、標的場所のものに合致させるステップを含む、側面48または49に記載の方法。
【0372】
第51の側面では、マルチモード入力は、以下の入力モード、すなわち、頭部姿勢、眼視線、ユーザ入力デバイス、手のジェスチャ、または音声のうちの少なくとも2つを備える、側面47-50のいずれか1項に記載の方法。
【0373】
第52の側面では、第1の入力チャネルは、音声であって、第2の入力チャネルは、頭部姿勢または手のジェスチャである、側面51に記載の方法。
【0374】
第53の側面では、動作、対象、またはパラメータのうちの少なくとも1つはさらに、ユーザの環境または場所情報に基づいて識別される、側面47-52のいずれか1項に記載の方法。
【0375】
第54の側面では、対象は、ユーザの閾値範囲内のあるグループのオブジェクトから選択される、側面53に記載の方法。
【0376】
第55の側面では、相互作用イベントは、仮想アプリケーション内で生じ、仮想アプリケーションは、第1の入力チャネルまたは第2の入力チャネルのうちの一方に対してより応答性であるようにプログラムされる、側面47-54のいずれか1項に記載の方法。
【0377】
第56の側面では、対象は、格子ツリー分析を使用して、第1の入力および第2の入力を分析し、対象として設定するための仮想オブジェクトを識別することによって識別される、側面47-55のいずれか1項に記載の方法。
【0378】
第57の側面では、マルチモード入力コマンドにおける対象またはパラメータは、候補オブジェクトまたはパラメータに関して、第1の入力と相関する第1の信頼度スコアおよび第2の入力と相関する第2の信頼度スコアを計算し、候補オブジェクトまたはパラメータに関する集約されたスコアを少なくとも第1の信頼度スコアおよび第2の信頼度から計算し、少なくとも部分的に、集約されたスコアに基づいて、候補オブジェクトまたはパラメータを、それぞれ、相互作用イベントのための対象またはパラメータとして設定することによって決定される、側面47-56のいずれか1項に記載の方法。
【0379】
第58の側面では、候補仮想オブジェクトは、ユーザの視野内の仮想オブジェクトの信頼度スコアに基づいて、対象として識別され、信頼度コードは、視野内の候補仮想オブジェクトの周囲の空間の均一性、ユーザの視野外の候補仮想オブジェクトの第2の部分に対する、ユーザの視野内の候補仮想オブジェクトの第1の部分に関する比例面積、または候補仮想オブジェクトとのユーザの相互作用の履歴分析のうちの少なくとも1つに基づいて計算される、側面47-57のいずれか1項に記載の方法。
【0380】
第59の側面では、複数のセンサのうちの1つ以上のセンサから受信されたデータに基づいて、相互作用イベントに関する開始条件を検出するステップをさらに含み、開始条件は、受信、分析、決定、および発生ステップをトリガする、側面47-58のいずれか1項に記載の方法。
【0381】
第60の側面では、第1の入力チャネルからの第1の入力は、一次入力であって、第2の入力チャネルからの第2の入力は、二次入力であって、方法は、第1の入力を解析し、対象、パラメータ、および動作を識別するステップと、第2の入力に基づいて、対象、パラメータ、または動作のうちの少なくとも1つにおける曖昧性を解決し、マルチモード入力コマンドを生成するステップとを含む、側面47-59のいずれか1項に記載の方法。
【0382】
第61の側面では、方法はさらに、少なくとも部分的に、ユーザ設定またはユーザの環境に基づいて、入力チャネルの感度を自動的に有効にする、無効にする、または調節するステップを含む、側面47-60のいずれか1項に記載の方法。
【0383】
第62の側面では、方法はさらに、少なくとも部分的に、ユーザ相互作用に基づいて、ユーザの視野外の仮想オブジェクトを対象として識別するステップと、ユーザ相互作用のために、仮想オブジェクトを視野内に自動的に移動させるステップとを含む、側面47-61のいずれか1項に記載の方法。
【0384】
第63の側面では、第1の入力は、対象に対する直示または照応参照を備え、方法はさらに、第2の入力に基づいて、標的オブジェクトを対象として選択するステップを含む、側面47-62のいずれか1項に記載の方法。
【0385】
第64の側面では、システムであって、3次元(3D)仮想コンテンツをユーザに提示するように構成される、頭部搭載型ディスプレイ(HMD)と、個別のモダリティのユーザ入力を受信するように構成される、2つ以上のユーザ入力コンポーネントであって、ユーザ入力コンポーネントのうちの1つは、音を捕捉するように構成される、オーディオ感知デバイスを備える、ユーザ入力コンポーネントと、ディスプレイおよび2つ以上のユーザ入力コンポーネントに通信可能に結合される、ハードウェアプロセッサとを備える、システム。HMDは、ウェアラブルシステムの一部であってもよい。ハードウェアプロセッサは、オーディオ感知デバイスから、ユーザによって発話された1つ以上の単語の発声をエンコードする発話データを受信し、少なくとも、受信された発話データに基づいて、ユーザによって発話された1つ以上の単語に関する書き起こし記録を取得し、ディスプレイを制御し、取得された書き起こし記録を表すテキスト文字の文字列をユーザに提示し、2つ以上のユーザ入力コンポーネントの別のものから、別の異なるモダリティのユーザ入力を示すユーザ入力データを受信し、他のユーザ入力コンポーネントから受信されたユーザ入力データが、編集するためのテキスト文字の特定のサブセットを選択するコマンドを表すことを決定し、他のユーザ入力コンポーネントから受信されたユーザ入力データが、編集するためのテキスト文字の特定のサブセットを選択するコマンドを表すことの決定に応答して、2つ以上のユーザ入力コンポーネントのいずれかから続いて受信されるデータが、テキスト文字の特定のサブセットを特定の様式で修正するコマンドを表すかどうかを決定するようにプログラムされてもよい。
【0386】
第65の側面では、他のユーザ入力コンポーネントは、ユーザの眼視線方向を示すデータを入手するように構成される、眼視線追跡デバイスを備える、側面64に記載のシステム。
【0387】
第66の側面では、ハードウェアプロセッサはさらに、少なくとも、眼視線追跡デバイスから受信されたデータに基づいて、ユーザが、閾値より長い時間周期にわたって、テキスト文字の特定のサブセットを固視していることを決定し、ユーザが、閾値より長い時間周期にわたって、テキスト文字の特定のサブセットを固視していることの決定に応答して、他のユーザ入力コンポーネントから受信されたユーザ入力データが、編集するためのテキスト文字の特定のサブセットを選択するコマンドを表すことを決定するようにプログラムされる、側面65に記載のシステム。
【0388】
第67の側面では、ハードウェアプロセッサはさらに、オーディオ感知デバイスから、ユーザによって発話された語句の発声をエンコードする付加的発話データを受信し、少なくとも、眼視線追跡デバイスから受信されたデータおよびオーディオ感知デバイスから受信された付加的発話データに基づいて、テキスト文字の特定のサブセットを固視している間、ユーザが1つ以上の所定のホットワードを発声したことを決定し、テキスト文字の特定のサブセットを固視している間、ユーザが1つ以上の所定のホットワードを発声したことの決定に応答して、眼視線追跡デバイスから受信されたデータおよびオーディオ感知デバイスから受信された付加的発話データが、編集するためのテキスト文字の特定のサブセットを選択するコマンドを表すことを決定するようにプログラムされる、側面65または66に記載のシステム。
【0389】
第68の側面では、2つ以上のユーザ入力コンポーネントはさらに、ユーザの手のジェスチャを示すデータを入手するように構成される、ジェスチャ追跡デバイスを備え、ハードウェアプロセッサはさらに、眼視線追跡デバイスから、ユーザの眼視線方向を示すデータを受信し、ジェスチャ追跡デバイスから、ユーザの手のジェスチャを示すデータを受信し、少なくとも、眼視線追跡デバイスから受信されたデータおよびジェスチャ追跡デバイスから受信されたデータに基づいて、テキスト文字の特定のサブセットを固視している間、ユーザが1つ以上の所定の手のジェスチャを行なったことを決定し、テキスト文字の特定のサブセットを固視している間、ユーザが1つ以上の所定の手のジェスチャを行なったことの決定に応答して、眼視線追跡デバイスおよびジェスチャ追跡デバイスから受信されたデータが、編集するためのテキスト文字の特定のサブセットを選択するコマンドを表すことを決定するようにプログラムされる、側面65-67のいずれか1項に記載のシステム。
【0390】
第69の側面では、2つ以上のユーザ入力コンポーネントはさらに、それとのユーザの物理的相互作用を示すデータを入手するように構成される、タッチセンサ式デバイスを備え、ハードウェアプロセッサはさらに、眼視線追跡デバイスから、ユーザのユーザの眼視線方向を示すデータを受信し、タッチセンサ式デバイスから、タッチセンサ式デバイスとのユーザの物理的相互作用を示すデータを受信し、少なくとも、眼視線追跡デバイスから受信されたデータおよびタッチセンサ式デバイスから受信されたデータに基づいて、テキスト文字の特定のサブセットを固視している間、ユーザが1つ以上の所定のタッチ入力を提供したかどうかを決定し、テキスト文字の特定のサブセットを固視している間、ユーザが1つ以上の所定のタッチ入力を提供したことの決定に応答して、眼視線追跡デバイスおよびタッチセンサ式デバイスから受信されたデータが、編集するためのテキスト文字の特定のサブセットを選択するコマンドを表すことを決定するようにプログラムされる、側面65-68のいずれか1項に記載のシステム。
【0391】
第70の側面では、ハードウェアプロセッサは、自動発話認識(ASR)エンジンを実装し、書き起こし記録を取得するようにプログラムされる、側面64-69のいずれか1項に記載のシステム。
【0392】
第71の側面では、ASRエンジンは、ASRエンジンがそのような単語を正しく書き起こした尤度を示す、テキストの文字列内の1つ以上の単語と関連付けられたスコアを生産するように構成される、側面70に記載のシステム。
【0393】
第72の側面では、ハードウェアプロセッサはさらに、正しい書き起こしの尤度が閾値レベルを下回る場合、HMDに1つ以上の単語を強調させるようにプログラムされる、側面71に記載のウェアラブルシステム。
【0394】
第73の側面では、システムであって、仮想コンテンツをユーザに提示するように構成される、ディスプレイと、ユーザによって発話された単語を捕捉し、発話データを生成するように構成される、オーディオ感知デバイスと、ユーザの視線を追跡するように構成される、眼視線追跡デバイスと、ディスプレイ、オーディオ感知デバイス、および眼視線追跡デバイスに通信可能に結合される、ハードウェアプロセッサとを備える、システム。システムは、ウェアラブルシステムであってもよく、ハードウェアプロセッサは、少なくとも部分的に、オーディオ感知デバイスからの発話データに基づいて、ユーザによって発話された1つ以上の単語のテキストへの書き起こし記録を取得し、ディスプレイを制御し、テキストをユーザに提示し、少なくとも、眼視線追跡デバイスから受信されたデータに基づいて、ユーザが編集するための提示されたテキストの一部を選択するコマンドを与えたことを決定し、編集アクションを提示されたテキストの一部上で実施するようにプログラムされてもよい。
【0395】
第74の側面では、ハードウェアプロセッサはさらに、ユーザの視線が、少なくとも閾値時間周期にわたって、ディスプレイによって提示される提示されたテキストの一部上に留まったことを示す、眼視線追跡デバイスからのデータに基づいて、ユーザが編集するための所与の単語を選択するコマンドを与えたことを決定するようにプログラムされる、側面73に記載のシステム。
【0396】
第75の側面では、ユーザ入力デバイスをさらに備え、ハードウェアプロセッサはさらに、ユーザの視線がディスプレイによって提示される提示されたテキストの一部上に合焦していた間、ユーザ入力デバイスがユーザ入力を受信したことを示す、ユーザ入力デバイスからのデータおよび眼視線追跡デバイスからのデータに基づいて、ユーザが編集するための提示されたテキストの一部を選択するコマンドを与えたことを決定するようにプログラムされる、側面73または74に記載のシステム。
【0397】
第76の側面では、ハードウェアプロセッサは、ユーザの視線がディスプレイによって提示される提示されたテキストの一部上に合焦していた間、オーディオ感知デバイスが音声コマンドを受信したことを示す、オーディオ感知デバイスからのデータおよび眼視線追跡デバイスからのデータに基づいて、ユーザが編集するための提示されたテキストの一部を選択するコマンドを与えたことを決定するようにプログラムされる、側面73-75のいずれか1項に記載のシステム。
【0398】
第77の側面では、ユーザの少なくとも1つの手を結像する、結像システムをさらに備え、プロセッサは、ユーザの視線がディスプレイによって提示される提示されたテキストの一部上に合焦していた間、ユーザがその手を用いてコマンドジェスチャを行なったことを示す、結像システムからのデータおよび眼視線追跡デバイスからのデータに基づいて、ユーザが編集するための提示されたテキストの一部を選択するコマンドを与えたことを決定するように構成される側面73-76のいずれか1項に記載のシステム。
【0399】
第78の側面では、ハードウェアプロセッサはさらに、編集するための所与の単語を選択するコマンドに応答して、ディスプレイを制御して、提示されたテキストの一部の代替書き起こし記録を提示するようにプログラムされる、側面73-77のいずれか1項に記載のシステム。
【0400】
第79の側面では、ハードウェアプロセッサはさらに、眼視線追跡デバイスから受信された付加的データに基づいて、ユーザが提示されたテキストの一部と選択された代替書き起こし記録を置換するコマンドを与えたことを決定し、テキストを改訂し、提示されたテキストの一部と選択された代替書き起こし記録を置換し、ディスプレイを制御して、改訂されたテキストをユーザに提示するようにプログラムされる、側面73-78のいずれか1項に記載のシステム。
【0401】
第80の側面では、ハードウェアプロセッサはさらに、1つ以上の単語が正しく書き起こされた尤度を示す、テキスト内のそのような単語と関連付けられたスコアを生産するようにプログラムされる、側面73-79のいずれか1項に記載のシステム。
【0402】
第81の側面では、ハードウェアプロセッサはさらに、正しい書き起こし記録の尤度が閾値レベルを下回る場合、ディスプレイに1つ以上の単語を強調させるようにプログラムされる、側面80に記載のウェアラブルシステム。
【0403】
第82の側面では、方法であって、ユーザから発話された入力をマイクロホンから受信するステップと、発話された入力を複数の単語を含むテキストに変換するステップと、ウェアラブルディスプレイに、テキストをユーザに提示させるステップと、少なくとも、視線追跡システムからのデータに基づいて、表示されるテキスト内の提示されたテキストの一部の選択を受信するステップと、ユーザに、提示されたテキストの一部を編集する機会を提供するステップとを含む、方法。方法は、マルチモード入力に基づいて、仮想コンテンツと相互作用するためのものであることができ、方法は、ハードウェアプロセッサの制御下で実施されてもよい。
【0404】
第83の側面では、提示されたテキストの一部の選択を受信するステップは、ユーザの視線が、少なくとも所定の閾値時間周期にわたって、所与の単語上に合焦されていることを決定するステップ、マイクロホンを用いて編集を要求するユーザから発話された所定のコマンドを受信する間、ユーザの視線が提示されたテキストの一部上に合焦されていることを決定するステップ、ユーザ入力デバイスの作動のためのデータを受信する間、ユーザの視線が提示されたテキストの一部上に合焦されていることを決定するステップ、または実質的に、ユーザが編集を要求する所定のコマンドジェスチャを行なったことを示す、ジェスチャ追跡システムからのデータを受信する間、ユーザの視線が提示されたテキストの一部上に合焦されていることを決定するステップのうちの1つ以上のものを含む、側面82に記載の方法。
【0405】
第84の側面では、少なくとも、視線追跡システムからのデータに基づいて、表示されるテキスト内の付加的単語の選択を受信するステップと、ユーザに、提示されたテキストの一部またはテキストの付加的部分から形成される語句を編集する機会を提供するステップとをさらに含む、側面82または83に記載の方法。
【0406】
第85の側面では、テキストの少なくとも一部は、ディスプレイ上で強調され、その部分は、発話された入力からテキストの対応する部分への変換が正しいことの低信頼度と関連付けられる、側面82-84のいずれか1項に記載の方法。
【0407】
第86の側面では、方法であって、マルチモード入力を受信するステップと、ウェアラブルデバイスのハードウェアコンポーネントからの第1のユーザ入力であって、第1のモードのユーザ入力と関連付けられる、第1のユーザ入力と、第2のユーザ入力であって、第2のモードのユーザ入力と関連付けられる、第2のユーザ入力と、第1のユーザ入力および第2のユーザ入力マルチモード入力に基づいて、コマンドを識別するステップであって、マルチモード入力コマンドは、少なくとも、テキストの少なくとも一部を備える、対象と、テキストとの相互作用を備える、コマンド動作と、マルチモード入力コマンドを実行し、ユーザマルチモード入力の結果をユーザに表示させるステップとを含む、方法。方法は、ハードウェアプロセッサの制御下で実施されることができ、マルチモード入力に基づいて、仮想コンテンツと相互作用するためのものであってもよい。
【0408】
第87の側面では、第1のモードのユーザ入力は、ウェアラブルデバイスのオーディオセンサから受信された発話入力を備え、方法はさらに、発話入力を書き起こし、テキスト、対象、またはコマンド動作のうちの少なくとも1つを識別するステップを含む、側面86に記載の方法。
【0409】
第88の側面では、第2のモードのユーザ入力は、ユーザ入力デバイス、ジェスチャ、または眼視線のうちの少なくとも1つからの入力を備える、側面86または87に記載の方法。
【0410】
第89の側面では、テキストとの相互作用は、テキストを選択する、編集する、または構成することのうちの少なくとも1つを備える、側面86-88のいずれか1項に記載の方法。
【0411】
第90の側面では、対象は、単語、語句、または文のうちの1つ以上のものを備える、側面86-89のいずれか1項に記載の方法。
【0412】
第91の側面では、対象は、文を備え、コマンド動作は、編集するための文を選択することを備え、方法はさらに、第1のユーザインターフェース動作を実施し、文をテキストの本文から抜き出させるステップと、文を一次結果としてのトークンのシーケンスとして表示するステップであって、一次結果は、ユーザの発話から書き起こされるような文を備える、ステップと、二次結果をさらに表示するステップであって、二次結果は、トークンの代替単語をシーケンス内に備える、ステップと、シーケンスを単語毎に編集するための、第3の入力モードおよび第4の入力モードを備える、別のマルチモード入力を受信するステップと、シーケンスの編集が完了したことのインジケーションに応答して、編集されたシーケンスをテキストの本文に戻すステップとを含む、側面86-90のいずれか1項に記載の方法。
付加的考慮点
【0413】
本明細書に説明される、ならびに/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全もしくは部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされ得る、動的リンクライブラリ内にインストールされ得る、または解釈されるプログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
【0414】
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つもしくはそれを上回る物理的コンピューティングデバイスは、例えば、関与する計算の量もしくは複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。
【0415】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性もしくは不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログもしくはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一もしくは多重化アナログ信号の一部として、または複数の離散デジタルパケットもしくはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的もしくは別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
【0416】
本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、もしくは機能性は、プロセスにおいて具体的機能(例えば、論理もしくは算術)またはステップを実装するための1つもしくはそれを上回る実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、追加される、削除される、修正される、または別様に本明細書に提供される例証的実施例から変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムもしくはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそれから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
【0417】
本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線もしくは無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
【0418】
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【0419】
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、もしくは任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つ以上の特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要もしくは必須ではない。
【0420】
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および/またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/またはステップが、1つもしくはそれを上回る実施形態に対していかようにも要求されること、または1つもしくはそれを上回る実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/またはステップが任意の特定の実施形態において含まれる、もしくは実施されるべきかどうかを決定するための論理を必然的に含むことを示唆することを意図されない。用語「~を備える」、「~を含む」、「~を有する」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つ以上の」もしくは「少なくとも1つ」を意味するように解釈されるべきである。
【0421】
本明細書で使用されるように、項目のリスト「~のうちの少なくとも1つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、ならびにA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在するように要求することを示唆することを意図されない。
【0422】
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、もしくは連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。