図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図されない。
(概要)
現代のコンピューティングシステムは、種々のユーザ相互作用を保有することができる。ウェアラブルデバイスは、双方向VR/AR/MR環境を提示することができ、これは、種々の入力を通してユーザによって相互作用され得る、データ要素を備えることができる。現代のコンピューティングシステムは、典型的には、単一直接入力に基づいて、所与の出力を生成するようにエンジニアリングされる。例えば、キーボードは、ユーザの打鍵から受信されるようなテキスト入力を中継するであろう。音声認識アプリケーションは、直接入力としてのユーザの音声に基づいて、実行可能データ文字列を作成することができる。コンピュータマウスは、ユーザの直接操作(例えば、ユーザの手移動またはジェスチャ)に応答して、カーソルを誘導することができる。ユーザがシステムと相互作用し得る、種々の方法は、時として、本明細書では、ユーザ入力のモードとも称される。例えば、マウスまたはキーボードを介した、ユーザ入力は、手ジェスチャベースのモードの相互作用である(手の指がキーボード上のキーを押下する、または手がマウスを移動させるため)。
しかしながら、データが豊富でかつ動的な相互作用環境(例えば、AR/VR/MR環境)における、キーボード、ユーザ入力デバイス、ジェスチャ等の従来の入力技法は、所望のタスクを遂行するために、高度な特異性を要求し得る。そうでなければ、精密な入力の不在下では、コンピューティングシステムは、高エラー率に悩まされ得、正しくないコンピュータ動作を実施させ得る。例えば、ユーザが、タッチパッドを使用して、オブジェクトを3D空間内で移動させることを意図するとき、コンピューティングシステムは、ユーザが、タッチパッドを使用して、目的地を規定しない、またはオブジェクトを規定しない場合、移動コマンドを正しく解釈することが不可能である場合がある。別の実施例として、唯一の入力モードとして、仮想キーボードを使用して、テキストの文字列を入力する(例えば、ユーザ入力デバイスを用いて、またはジェスチャによって操作されるように)ことは、空中または仮想キーボードがレンダリングされる物理的表面(例えば、机)上に描写されるキーをタイプするために長時間の微細な運動制御を要求するため、低速であって、物理的に疲労をもたらし得る。
入力コマンドにおいて要求される特異性の程度を低減させるため、かつ不精密なコマンドと関連付けられたエラー率を低減させるために、本明細書に説明されるようなウェアラブルシステムは、選択または作用されるべきオブジェクトの識別、例えば、仮想オブジェクトを選択する、移動させる、リサイズする、または標的化するためのタスク等、オブジェクトと関連付けられた相互作用イベントの実行のために、複数の入力を動的に適用するようにプログラムされることができる。相互作用イベントは、仮想オブジェクトと関連付けられたアプリケーション(時として、アプリと称される)を実行させるステップを含むことができる(例えば、標的オブジェクトが、メディアファイルである場合、相互作用イベントは、メディアプレーヤにメディアファイル(例えば、曲またはビデオ)を再生させるステップを含むことができる)。標的仮想オブジェクトを選択するステップは、標的仮想オブジェクトと関連付けられたアプリケーションを実行するステップを含むことができる。下記に説明されるように、ウェアラブルデバイスは、タスクの実行のためのコマンドを生成する、またはその上でコマンドが実行されるべき標的オブジェクトを識別するために、2つ以上のタイプの入力(または複数の入力チャネルまたはセンサからの入力)のうちのいずれかを動的に選択することができる。
任意の時点において使用される、特定のセンサ入力は、ユーザが3D環境と相互作用するにつれて、動的に変化し得る。入力モードは、デバイスが、入力モードが仮想オブジェクトの標的化を補助するための付加的情報を提供していることを決定すると、動的に追加される(または本明細書にさらに説明されるように「融合される」)ことができ、入力モードは、その入力モードがもはや関連情報を提供していない場合、動的に除去されることができる。例えば、ウェアラブルデバイスは、ユーザの頭部姿勢および眼視線が標的オブジェクトに指向されていることを決定し得る。デバイスは、これらの2つの入力モードを使用して、標的オブジェクトの選択を補助することができる。デバイスが、ユーザがまたトーテムを標的オブジェクトに向けていることを決定する場合、デバイスは、トーテム入力を頭部姿勢および眼視線入力に動的に追加することができ、これは、ユーザが標的オブジェクトを選択することを意図していることのさらなる確実性を提供し得る。トーテム入力は、頭部姿勢入力および眼視線入力と「収束」されていると言える。本実施例を継続すると、ユーザが、ユーザの眼視線がもはや標的オブジェクトに指向されないように、標的オブジェクトから離れるように眼を逸らす場合、デバイスは、眼視線入力の使用を中止する一方、トーテム入力および頭部姿勢入力を使用し続け得る。この場合、眼視線入力は、トーテム入力および頭部姿勢入力から「発散」していると言える。
ウェアラブルデバイスは、複数の入力モードの中から発散および収束イベントの発生を動的に決定することができ、これらの複数の入力モードの中から、3D環境とのユーザの相互作用に関連する、入力モードのサブセットを動的に選択することができる。例えば、本システムは、収束している入力モードを使用することができ、発散している入力モードを考慮しないことができる。入力収束に応答して動的に融合またはフィルタリングされ得る、入力モードの数は、本実施例に説明される3つのモード(トーテム、頭部姿勢、眼視線)に限定されず、1、2、3、4、5、6つ、またはそれよりも多くのセンサ入力間で動的に切り替わることができる(異なる入力モードが収束または発散するにつれて)。
ウェアラブルデバイスは、分析のための入力を受け取ることによって、(例えば、入力センサアセンブリへの)収束性入力に利用可能である、または割り当てられるコンピューティングリソースを増加させることによって、収束性入力のうちの1つ以上のものに適用するための特定のフィルタを選択することによって、他の好適なアクションを行うことによって、および/または任意のこれらの組み合わせアクションによって、収束性入力を使用することができる。ウェアラブルデバイスは、発散性または発散しているセンサ入力に与えられる加重を使用しない、その使用を中止する、または低減させてもよい。
入力モードは、例えば、入力の入力ベクトル間の分散が閾値未満であるとき、収束していると言え得る。いったんシステムが、入力が収束されたことを認識すると、本システムは、収束入力をフィルタリングし、それらをともに融合させ、次いで、有用な作業を行うために使用され、(入力を別個に使用することによって遂行され得る場合より)高い信頼度および正確度を伴って、タスクを実施するために利用され得る、新しい調整された入力を作成し得る。種々の実施形態では、本システムは、入力の相対的収束に応答して、動的フィルタリングを適用してもよい(例えば、入力をともに動的に融合させる)。本システムは、入力が収束性であるかどうかを継続的に評価してもよい。いくつかの実施形態では、本システムは、入力収束の強度(例えば、2つ以上の入力の入力ベクトルが合致される近似度)に関連して、入力融合の強度(例えば、システムが入力をともに融合させる強度)をスケーリングしてもよい。
収束センサ入力を動的に使用する一方、発散センサ入力を無視する(またはそれに与えられる相対的加重を低減させる)、プロセスは、時として、本明細書では、トランスモード入力融合(または単に、トランスモード融合)とも称され、単に複数のセンサからの入力を受け取る技法に優る実質的利点を提供することができる。トランスモード入力融合は、動的かつリアルタイムベースで、多くの可能性として考えられるセンサ入力のうちのどれが、ユーザの3D AR/MR/VR環境内の実または仮想オブジェクトを標的化する、またはそれに作用する、ユーザの意図を伝達する、適切なモード入力であるかを予期またはさらに予測することができる。
本明細書でさらに解説されるであろうように、入力モードは、限定ではないが、手または指ジェスチャ、腕ジェスチャ、身体ジェスチャ、頭部姿勢、眼視線、身体姿勢、音声コマンド、環境入力(例えば、ユーザまたはユーザの環境内のオブジェクトの位置)、別のユーザからの共有姿勢等を含むことができる。これらの入力モードを検出するために使用されるセンサは、例えば、外向きに面したカメラ(例えば、手または身体ジェスチャを検出するため)、内向きに面したカメラ(例えば、眼視線を検出するため)、慣性測定ユニット(IMU、例えば、加速度計、重力計、磁力計)、電磁追跡センサシステム、全地球測位システム(GPS)センサ、レーダまたはライダセンサ等(例えば、図2Aおよび2Bを参照したセンサの実施例の説明参照)を含むことができる。
別の実施例として、ユーザが、「それをそこに移動させる」と発すると、ウェアラブルシステムは、頭部姿勢、眼視線、手のジェスチャの組み合わせとともに、他の環境要因(例えば、ユーザの場所またはユーザの周囲のオブジェクトの場所)を、音声コマンドと組み合わせて使用し、これらの複数の入力の適切な動的選択に応答して、移動されるべきオブジェクト(例えば、「それ」に対応するオブジェクト)と、意図される目的地(例えば、「そこに」)とを決定することができる。
本明細書にさらに説明されるであろうように、トランスモード入力のための技法は、単に、複数のユーザ入力モードの集約ではない。むしろ、そのようなトランスモード技法を採用するウェアラブルシステムは、有利なこととして、ウェアラブルシステムに提供される、3D(従来の2D相互作用と比較して)における追加深度次元をサポートすることができる。追加次元は、付加的タイプのユーザ相互作用(例えば、回転、または、デカルト座標系における付加的軸に沿った移動)を可能にするだけではなく、また、正しい結果を提供するための高精度のユーザ入力を要求する。
しかしながら、仮想オブジェクトと相互作用するためのユーザ入力は、運動制御に関するユーザの限界に起因して、常時、正確であるわけではない。従来の入力技法は、2D空間におけるユーザの運動制御の不正確性を較正および調節することができるが、そのような不正確性は、追加次元に起因して、3D空間では拡大される。しかしながら、キーボード入力等の従来の入力方法は、3D空間におけるそのような不正確性を調節することにあまり好適ではない。トランスモード入力技法によって提供される1つの利点(他の利点の中でもとりわけ)は、入力方法を3D空間内のオブジェクトとの流動的かつより正確な相互作用に適合させることである。
故に、トランスモード入力技法の実施形態は、収束している入力モードを動的に監視し、本収束入力モードのセットを使用して、ユーザがその標的と相互作用することを意図することをより正確に決定または予測することができる。トランスモード入力技法の実施形態は、発散している入力モード(例えば、入力モードがもはや潜在的標的に関連していないことを示す)を動的に監視し、これらの発散入力モードの使用を中止する(または収束入力モードと比較して、発散入力モードに与えられる加重を低減させる)ことができる。収束している、センサ入力モードのグループは、典型的には、一時的かつ持続的に変化している。例えば、異なるセンサ入力モードは、ユーザが、ユーザ入力をトーテム上に提供する、または音声コマンドを使用しながら、その手、身体、頭部、または眼を移動させるにつれて、動的に収束および発散する。したがって、トランスモード入力技法の潜在的利点は、センサ入力モードの正しいセットのみが、任意の特定の時間に、または3D環境内の任意の特定の標的オブジェクトのために使用されることである。いくつかの実施形態では、本システムは、生理学的コンテキストに基づいて、(通常、割り当てられるものより)大きい加重を所与の入力に割り当ててもよい。実施例として、本システムは、ユーザが、仮想オブジェクトを握持および移動させようとしていることを決定し得る。それに応答して、本システムは、より大きい加重を手姿勢入力に、より小さい加重を眼視線入力等の他の入力に割り当ててもよい。本システムはまた、随時、好適な様式において、入力加重を偏移させてもよい。実施例として、本システムは、手姿勢が仮想オブジェクト上に収束するにつれて、加重を手姿勢入力に偏移させ得る。
加えて、有利なこととして、いくつかの実施形態では、本明細書に説明される技法は、ウェアラブルシステムのハードウェア要件およびコストを低減させることができる。例えば、ウェアラブルデバイスは、高分解能眼追跡カメラ(高価かつ利用が複雑であり得る)単独を採用するのではなく、低分解能眼追跡カメラと併せて、タスクを実行するための音声コマンドまたは頭部姿勢を使用して、タスクを決定してもよい(例えば、これらの入力モードのうちのいくつかまたは全てが標的オブジェクト上に収束していることを決定することによって)。本実施例では、ユーザの音声コマンドの使用は、眼追跡が実施される、より低い分解能を補償することができる。故に、複数のユーザ入力モードのうちのどれが使用されるべきかの動的選択を可能にする、複数のユーザ入力モードのトランスモード組み合わせは、より低いコスト、単一入力モードの使用より低い複雑性、およびAR/VR/MRデバイスとのよりロバストなユーザ相互作用を提供することができる。実または仮想オブジェクトと相互作用するためのトランスモードセンサ融合技法に関連する付加的利点および実施例は、図13-59Bをさらに参照して下記に説明される。
トランスモード融合技法は、複数のセンサ入力の単なる集約と比較して、例えば、小オブジェクトを標的化する、多くのオブジェクトを含有する視野内のオブジェクトを標的化する、移動しているオブジェクトを標的化する、近距離、中距離、および遠距離標的化方法間での遷移を管理する、仮想オブジェクトを操作する等の機能性に関して、実質的利点を提供することができる。いくつかの実装では、トランスモード融合技法は、標的化(例えば、オブジェクトに向かうカーソルベクトルを規定する)、アクティブ化(例えば、3D環境内の具体的オブジェクトまたは面積または体積の選択)、操作(例えば、直接、選択を移動または変化させる)、アクティブ化解除(例えば、選択の解除)、および統合(例えば、必要な場合、前の選択を環境の中に戻す)のためのTAMDI相互作用モデルの提供と称される。
(ウェアラブルシステムの3Dディスプレイの実施例)
ウェアラブルシステム(本明細書では、拡張現実(AR)システムとも称される)は、2Dまたは3D仮想画像をユーザに提示するために構成されることができる。画像は、組み合わせまたは同等物における、静止画像、ビデオのフレーム、またはビデオであってもよい。ウェアラブルシステムは、ユーザ相互作用のために、単独で、または組み合わせて、VR、AR、またはMRコンテンツを環境内に提示し得る、ウェアラブルデバイスを含むことができる。ウェアラブルデバイスは、頭部搭載ディスプレイを含み得る、頭部搭載型デバイス(HMD)であることができる。いくつかの状況では、ウェアラブルデバイスは、ARデバイス(ARD)と同義的に参照される。
図1は、人物によって視認される、ある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、複合現実シナリオの例証を描写する。図1では、MR場面100が、描写され、MR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム120を特徴とする、実世界公園状設定110が見える。これらのアイテムに加え、MR技術のユーザはまた、実世界プラットフォーム120上に立っているロボット像130と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ140とが「見える」と知覚するが、これらの要素は、実世界には存在しない。
3Dディスプレイが、真の深度感覚、より具体的には、表面深度のシミュレートされた感覚を生成するために、ディスプレイの視野内の点毎に、その仮想深度に対応する遠近調節応答を生成することが望ましくあり得る。ディスプレイ点に対する遠近調節応答が、収束および立体視の両眼深度キューによって決定されるようなその点の仮想深度に対応しない場合、ヒトの眼は、遠近調節衝突を体験し、不安定な結像、有害な眼精疲労、頭痛、および遠近調節情報の不在下では、表面深度のほぼ完全な欠如をもたらし得る。
VR、AR、およびMR体験は、複数のレンダリング平面に対応する画像が視認者に提供されるディスプレイを有する、ディスプレイシステムによって提供されることができる。レンダリング平面は、深度平面または複数の深度平面に対応することができる。画像は、レンダリング平面毎に異なってもよく(例えば、場面またはオブジェクトの若干異なる提示を提供する)、視認者の眼によって別個に集束され、それによって、異なるレンダリング平面上に位置する場面に関する異なる画像特徴に合焦させるために要求される眼の遠近調節に基づいて、または合焦からずれている異なるレンダリング平面上の異なる画像特徴を観察することに基づいて、ユーザに深度キューを提供することに役立ち得る。本明細書のいずれかに議論されるように、そのような深度キューは、信用できる深度の知覚を提供する。
図2Aは、ウェアラブルシステム200の実施例を図示する。ウェアラブルシステム200は、ディスプレイ220と、ディスプレイ220の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ220は、ユーザ、装着者、または視認者210によって装着可能である、フレーム230に結合されてもよい。ディスプレイ220は、ユーザ210の眼の正面に位置付けられることができる。ディスプレイ220は、AR/VR/MRコンテンツをユーザに提示することができる。ディスプレイ220は、ユーザの頭部上に装着される、頭部搭載型ディスプレイ(HMD)を備えることができる。いくつかの実施形態では、スピーカ240が、フレーム230に結合され、ユーザの外耳道に隣接して位置付けられる(いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音響制御を提供する)。ディスプレイ220は、音認識を実行するための環境からオーディオストリームを検出するために、オーディオセンサ232(例えば、マイクロホン)を含むことができる。
ウェアラブルシステム200は、ユーザの周囲の環境内の世界を観察する、外向きに面した結像システム464(図4に示される)を含むことができる。ウェアラブルシステム200はまた、ユーザの眼移動を追跡することができる、内向きに面した結像システム462(図4に示される)を含むことができる。内向きに面した結像システムは、一方の眼の移動または両方の眼の移動のいずれかを追跡することができる。内向きに面した結像システム462は、フレーム230に取り付けられてもよく、内向きに面した結像システムによって入手された画像情報を処理し、例えば、ユーザ210の眼の瞳孔直径または配向、眼の移動、または眼姿勢を決定し得る、処理モジュール260または270と電気通信してもよい。
実施例として、ウェアラブルシステム200は、外向きに面した結像システム464または内向きに面した結像システム462を使用して、ユーザの姿勢(例えば、ジェスチャ)の画像を入手することができる。画像は、静止画像、ビデオのフレーム、ビデオ、それらの組み合わせ、または同等物であってもよい。ウェアラブルシステム200は、筋肉群のアクションを示す信号を感知する、筋電図(EMG)センサ等の他のセンサを含むことができる(例えば、図60Aおよび60Bを参照した説明参照)。
ディスプレイ220は、有線導線または無線接続等によって、フレーム230に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ210に除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載され得る、ローカルデータ処理モジュール260に動作可能に結合されることができる(250)。
ローカル処理およびデータモジュール260は、ハードウェアプロセッサおよび不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを備えてもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、a)環境センサ(例えば、フレーム230に動作可能に結合される、または別様にユーザ210に取り付けられ得る)、オーディオセンサ232(例えば、マイクロホン)から捕捉されるデータ、または、b)場合によっては処理または読出後にディスプレイ220への通過のために、遠隔処理モジュール270または遠隔データリポジトリ280を使用して入手または処理されるデータを含んでもよい。ローカル処理およびデータモジュール260は、これらの遠隔モジュールがローカル処理およびデータモジュール260へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、通信リンク262または264によって遠隔処理モジュール270または遠隔データリポジトリ280に動作可能に結合されてもよい。加えて、遠隔処理モジュール280および遠隔データリポジトリ280は、相互に動作可能に結合されてもよい。
いくつかの実施形態では、遠隔処理モジュール270は、データおよび/または画像情報を分析および処理するように構成される、1つまたはそれを上回るプロセッサを備えてもよい。いくつかの実施形態では、遠隔データリポジトリ280は、デジタルデータ記憶設備を備えてもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータは、記憶され、全ての算出は、ローカル処理およびデータモジュールにおいて実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
図2Aまたは図2B(下記に説明される)に説明されるコンポーネントに加え、またはその代替として、ウェアラブルシステム200は、環境センサを含み、オブジェクト、刺激、人々、動物、場所、またはユーザの周囲の世界の他の側面を検出することができる。環境センサは、画像捕捉デバイス(例えば、カメラ、内向きに面した結像システム、外向きに面した結像システム等)、マイクロホン、慣性測定ユニット(IMU)(例えば、加速度計、ジャイロスコープ、磁力計(コンパス))、全地球測位システム(GPS)ユニット、無線デバイス、高度計、気圧計、化学センサ、湿度センサ、温度センサ、外部マイクロホン、光センサ(例えば、露光計)、タイミングデバイス(例えば、クロックまたはカレンダ)、またはそれらの任意の組み合わせまたは副次的組み合わせを含んでもよい。ある実施形態では、IMUは、9-軸IMUであってもよく、これは、三重軸ジャイロスコープ、三重軸加速度計、および三重軸磁力計を含むことができる。
環境センサはまた、種々の生理学的センサを含んでもよい。これらのセンサは、心拍数、呼吸数、ガルバニック皮膚応答、血圧、脳波状態等のユーザの生理学的パラメータを測定または推定することができる。環境センサはさらに、レーザ、可視光、不可視波長の光、または音(例えば、可聴音、超音波、または他の周波数)等の信号を受信するように構成される、放出デバイスを含んでもよい。いくつかの実施形態では、1つ以上の環境センサ(例えば、カメラまたは光センサ)は、環境の周囲光(例えば、輝度)を測定するように構成されてもよい(例えば、環境の照明条件を捕捉するため)。歪みゲージ、縁石検出器、または同等物等の物理的接触センサもまた、環境センサとして含まれてもよい。
図2Bは、多くのセンサの実施例を含む、ウェアラブルシステム200の別の実施例を図示する。これらのセンサのいずれかからの入力は、本明細書に説明されるトランスモードセンサ融合技法において、システムによって使用されることができる。頭部搭載型ウェアラブルコンポーネント200は、ここでは、ベルトパックを頭部搭載型ディスプレイに接続するものとして、制御および迅速解放モジュール(86)をまた特徴とする、物理的マルチコア導線を使用して、ベルトパック等のローカル処理およびデータモジュール(70)に動作可能に結合されて示される(68)。頭部搭載型ウェアラブルコンポーネント200はまた、図2Bおよび以下では、参照番号58を用いて参照される。ローカル処理およびデータモジュール(70)は、ここでは、低電力Bluetooth(登録商標)等の無線接続によって、ハンドヘルドコンポーネント(606)に動作可能に結合される(100)。ハンドヘルドコンポーネント(606)はまた、低電力Bluetooth(登録商標)等の無線接続等によって、直接、頭部搭載型ウェアラブルコンポーネント(58)に動作可能に結合されてもよい(94)。概して、IMUデータが、種々のコンポーネントの姿勢検出を協調させるために通過される場合、数百または数千サイクル/秒またはより高い範囲内等の高周波数接続は、望ましい。数十サイクル/秒は、センサ(604)および伝送機(602)ペアリング等による、電磁位置特定感知のために適正であり得る。また、壁(8)等のユーザの周囲の実世界内の固定されたオブジェクトを表す、グローバル座標系(10)も示される。
クラウドリソース(46)もまた、それぞれ、ローカル処理およびデータモジュール(70)、頭部搭載型ウェアラブルコンポーネント(58)、壁(8)またはグローバル座標系(10)に対して固定される他のアイテムに結合され得る、リソースに動作可能に結合されてもよい(42、40、88、90)。壁(8)に結合される、またはグローバル座標系(10)に対して既知の位置および/または配向を有する、リソースは、無線送受信機(114)と、電磁エミッタ(602)および/または受信機(604)と、赤外線LEDビーコン等の所与のタイプの放射を放出または反射させるように構成される、ビーコンまたは反射体(112)と、セルラーネットワーク送受信機(110)と、レーダエミッタまたは検出器(108)と、ライダエミッタまたは検出器(106)と、GPS送受信機(118)と、既知の検出可能パターンを有する、ポスタまたはマーカ(122)と、カメラ(124)とを含んでもよい。
システム200は、深度カメラまたは深度センサ(154)を含むことができ、これは、例えば、ステレオ三角測量式深度センサ(受動ステレオ深度センサ、テクスチャ投影ステレオ深度センサ、または構造化光ステレオ深度センサ等)または飛行時間式深度センサ(ライダ深度センサまたは変調放出深度センサ等)のいずれかであることができる。システム200は、前方に面した「世界」カメラ(124、これは、例えば、720p範囲分解能が可能なセンサを有する、グレースケールカメラであってもよい)および比較的に高分解能「写真カメラ」(156、これは、例えば、2つのメガピクセルまたはより高い分解能が可能なセンサを有する、フルカラーカメラであってもよい)を含むことができる。
頭部搭載型ウェアラブルコンポーネント(58)は、図示されるように、赤外線カメラ(124)のための赤外線エミッタ(130)等のカメラ(124)検出器を補助するように構成される、照明エミッタ(130)に加え、類似コンポーネントを特徴とする。また、頭部搭載型ウェアラブルコンポーネント(58)は、その上の1つ以上の歪みゲージ(116)を特徴とし、これは、頭部搭載型ウェアラブルコンポーネント(58)のフレームまたは機械的プラットフォームに固定して結合され、プラットフォームの屈曲が、図2Bに描写される眼鏡状プラットフォーム上の鼻の上方の部分等のプラットフォームの薄化部分等において生じた場合、理解することが有用であり得る、電磁受信機センサ(604)またはディスプレイ要素(220)等のコンポーネントの間のそのようなプラットフォームの偏向を決定するように構成され得る。
頭部搭載型ウェアラブルコンポーネント(58)はまた、プロセッサ(128)と、1つ以上のIMU(102)とを特徴とする。コンポーネントはそれぞれ、好ましくは、プロセッサ(128)に動作可能に結合される。ハンドヘルドコンポーネント(606)およびローカル処理およびデータモジュール(70)は、類似コンポーネントを特徴とするように図示される。図2Bに示されるように、非常に多くの感知およびコネクティビティ機構を用いて、そのようなシステムは、非常に高レベルのコネクティビティ、システムコンポーネント統合、および位置/配向追跡を提供するために利用され得る。例えば、そのような構成を用いることで、種々の主要なモバイルコンポーネント(58、70、606)は、WiFi、GPS、またはセルラー信号三角測量を使用して、グローバル座標系に対する位置の観点から位置特定され得る。ビーコン、電磁追跡、レーダ、およびライダシステムは、なおもさらに場所および/または配向情報およびフィードバックを提供し得る。マーカおよびカメラもまた、相対的および絶対位置および配向に関するさらなる情報を提供するために利用されてもよい。例えば、頭部搭載型ウェアラブルコンポーネント(58)に結合されるように示されるもの等の種々のカメラコンポーネント(124)は、データを捕捉するために利用されてもよく、これは、同時位置特定およびマッピングプロトコルまたは「SLAM」において、コンポーネント(58)の場所および他のコンポーネントに対して配向される様子を決定するために利用されてもよい。
図2Aおよび2Bを参照した説明は、ウェアラブルシステム200と併用され得る、センサおよび入力モードのタイプの例証的および非限定的リストを説明する。しかしながら、これらのセンサまたは入力モードの全てが、全ての実施形態において使用される必要があるわけではない。さらに、付加的または代替センサも同様に、使用されることができる。ウェアラブルシステム200の特定の実施形態のためのセンサおよび入力モードの選択肢は、コスト、重量、サイズ、複雑性等の要因に基づくことができる。センサおよび入力モードの多くの順列および組み合わせが、検討される。図2Aおよび2Bを参照して説明されるもの等のセンサを含む、ウェアラブルシステムは、有利なこととして、本明細書に説明されるトランスモード入力融合技法を利用して、これらのセンサ入力のサブセットを動的に選択し、ユーザが、実または仮想オブジェクトを選択する、標的化する、またはそれと相互作用することを補助することができる。センサ入力のサブセット(典型的には、あらゆる可能性として考えられるセンサ入力のセット未満である)は、標的オブジェクト上に収束している、センサ入力を含むことができ、サブセットから発散している、または標的オブジェクト上に収束していない、センサ入力を除外する(またはそれへの依拠を低減させる)ことができる。
ヒト視覚系は、複雑であって、深度の現実的知覚を提供することは、困難である。理論によって限定されるわけではないが、オブジェクトの視認者は、バージェンス(vergence)と遠近調節(accommodation)の組み合わせに起因して、オブジェクトを3次元として知覚し得ると考えられる。相互に対する2つの眼のバージェンス移動(例えば、瞳孔が、相互に向かって、またはそこから離れるように移動し、眼の視線を収束させ、オブジェクトを固視するような瞳孔の回転)は、眼の水晶体の合焦(または「遠近調節」)と緊密に関連付けられる。通常条件下、焦点を1つのオブジェクトから異なる距離における別のオブジェクトに変化させるための眼のレンズの焦点の変化または眼の遠近調節は、「遠近調節-バージェンス反射」として知られる関係下、バージェンスの整合変化を自動的に同一距離に生じさせるであろう。同様に、バージェンスの変化は、通常条件下、遠近調節の整合変化を誘起するであろう。遠近調節とバージェンスとの間のより良好な整合を提供するディスプレイシステムは、3次元画像のより現実的かつ快適なシミュレーションを形成し得る。
図3は、複数のレンダリング平面を使用して3次元画像をシミュレートするためのアプローチの側面を図示する。図3を参照すると、z-軸上の眼302および304からの種々の距離におけるオブジェクトは、それらのオブジェクトが合焦するように、眼302および304によって遠近調節される。眼302および304は、特定の遠近調節された状態をとり、オブジェクトをz-軸に沿った異なる距離に合焦させる。その結果、特定の遠近調節された状態は、特定のレンダリング平面におけるオブジェクトまたはオブジェクトの一部が、眼がそのレンダリング平面に対して遠近調節された状態にあるとき、合焦するように、関連付けられた焦点距離を有する、レンダリング平面306のうちの特定の1つと関連付けられると言え得る。いくつかの実施形態では、3次元画像は、眼302および304毎に、画像の異なる提示を提供することによって、また、レンダリング平面のそれぞれに対応する画像の異なる提示を提供することによって、シミュレートされてもよい。例証を明確にするために、別個であるように示されるが、眼302および304の視野は、例えば、z-軸に沿った距離が増加するにつれて、重複し得ることを理解されたい。加えて、例証を容易にするために、平坦であるように示されるが、レンダリング平面の等高線は、レンダリング平面内の全ての特徴が特定の遠近調節された状態における眼と合焦するように、物理的空間内で湾曲され得ることを理解されたい。理論によって限定されるわけではないが、ヒトの眼は、典型的には、有限数のレンダリング平面を解釈し、深度知覚を提供することができると考えられる。その結果、知覚された深度の高度に真実味のあるシミュレーションが、眼にこれらの限定数のレンダリング平面のそれぞれに対応する画像の異なる提示を提供することによって達成され得る。
(導波管スタックアセンブリ)
図4は、画像情報をユーザに出力するための導波管スタックの実施例を図示する。ウェアラブルシステム400は、複数の導波管432b、434b、436b、438b、4400bを使用して、3次元知覚を眼/脳に提供するために利用され得る、導波管のスタックまたはスタックされた導波管アセンブリ480を含む。いくつかの実施形態では、ウェアラブルシステム400は、図2Aまたは2Bのウェアラブルシステム200に対応してもよく、図4は、より詳細にそのウェアラブルシステム200のいくつかの部分を概略的に示す。例えば、いくつかの実施形態では、導波管アセンブリ480は、図2Aまたは2Bのディスプレイ220の中に統合されてもよい。
図4を継続して参照すると、導波管アセンブリ480はまた、複数の特徴458、456、454、452を導波管間に含んでもよい。いくつかの実施形態では、特徴458、456、454、452は、レンズであってもよい。他の実施形態では、特徴458、456、454、452は、レンズではなくてもよい。むしろ、それらは、単に、スペーサであってもよい(例えば、空気間隙を形成するためのクラッディング層または構造)。
導波管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に向かって指向される、クローン化されたコリメートビームの場全体を出力してもよい。
いくつかの実施形態では、画像投入デバイス420、422、424、426、428は、それぞれ、それぞれの対応する導波管440b、438b、436b、434b、432bの中への投入のための画像情報を生成する、離散ディスプレイである。いくつかの他の実施形態では、画像投入デバイス420、422、424、426、428は、例えば、画像情報を1つ以上の光学導管(光ファイバケーブル等)を介して、画像投入デバイス420、422、424、426、428のそれぞれに送り得る、単一の多重化されたディスプレイの出力端である。
コントローラ460が、スタックされた導波管アセンブリ480および画像投入デバイス420、422、424、426、428の動作を制御する。コントローラ460は、導波管440b、438b、436b、434b、432bへの画像情報のタイミングおよび提供を調整する、プログラミング(例えば、非一過性コンピュータ可読媒体内の命令)を含む。いくつかの実施形態では、コントローラ460は、単一一体型デバイスまたは有線または無線通信チャネルによって接続される分散型システムであってもよい。コントローラ460は、いくつかの実施形態では、処理モジュール260または270(図2A、2Bに図示される)の一部であってもよい。
導波管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は、材料のその部品の表面上および/またはその内部に形成されてもよい。
図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の焦点面から生じるように解釈するように、別の漸増量の波面曲率を生成するように構成されてもよい。
他の導波管層(例えば、導波管438b、440b)およびレンズ(例えば、レンズ456、458)も同様に構成され、スタック内の最高導波管440bを用いて、人物に最も近い焦点面を表す集約焦点力のために、その出力をそれと眼との間のレンズの全てを通して送出する。スタックされた導波管アセンブリ480の他側の世界470から生じる光を視認/解釈するとき、レンズ458、456、454、452のスタックを補償するために、補償レンズ層430が、スタックの上部に配置され、下方のレンズスタック458、456、454、452の集約力を補償してもよい。そのような構成は、利用可能な導波管/レンズ対と同じ数の知覚される焦点面を提供する。導波管の光抽出光学要素およびレンズの集束側面は両方とも、静的であってもよい(例えば、動的または電気活性ではない)。いくつかの代替実施形態では、一方または両方とも、電気活性特徴を使用して動的であってもよい。
図4を継続して参照すると、光抽出光学要素440a、438a、436a、434a、432aは、光をその個別の導波管から再指向することと、本光を導波管と関連付けられた特定のレンダリング平面のための適切な量の発散またはコリメーションを伴って出力することとの両方のために構成されてもよい。その結果、異なる関連付けられたレンダリング平面を有する導波管は、関連付けられたレンダリング平面に応じて、異なる量の発散を伴う光を出力する、異なる構成の光抽出光学要素を有してもよい。いくつかの実施形態では、本明細書に議論されるように、光抽出光学要素440a、438a、436a、434a、432aは、具体的角度において光を出力するように構成され得る、立体特徴または表面特徴であってもよい。例えば、光抽出光学要素440a、438a、436a、434a、432aは、立体ホログラム、表面ホログラム、および/または回折格子であってもよい。回折格子等の光抽出光学要素は、2015年6月25日に公開された米国特許公開第2015/0178939号(参照することによってその全体として本明細書に組み込まれる)に説明される。
いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、回折パターンを形成する回折特徴、すなわち、「回折光学要素」(本明細書では、「DOE」とも称される)である。好ましくは、DOEは、ビームの光の一部のみが、DOEの各交差部で、眼410に向かって偏向される一方、残りが、全内部反射を介して、導波管を通して移動し続けるように、比較的に低回折効率を有する。画像情報を搬送する光は、したがって、複数の場所において導波管から出射する、いくつかの関連出射ビームに分割され、その結果、導波管内でバウンスする本特定のコリメートされたビームに関して、眼304に向かって非常に均一パターンの出射放出となることができる。
いくつかの実施形態では、1つ以上のDOEは、能動的に回折する「オン」状態と有意に回折しない「オフ」状態との間で切替可能であってもよい。例えば、切替可能なDOEは、ポリマー分散液晶の層を備えてもよく、その中で微小液滴は、ホスト媒体中に回折パターンを備え、微小液滴の屈折率は、ホスト材料の屈折率に実質的に整合するように切り替えられることができる(その場合、パターンは、入射光を著しく回折させない)、または微小液滴は、ホスト媒体のものに整合しない屈折率に切り替えられることができる(その場合、パターンは、入射光を能動的に回折させる)。
いくつかの実施形態では、レンダリング平面または被写界深度の数および分布は、視認者の眼の瞳孔サイズまたは配向に基づいて、動的に変動されてもよい。被写界深度は、視認者の瞳孔サイズと反比例して変化してもよい。その結果、視認者の眼の瞳孔のサイズが減少するにつれて、被写界深度は、その平面の場所が眼の焦点深度を越えるため判別不能である1つの平面が、判別可能となり、瞳孔サイズの低減および被写界深度の相当する増加に伴って、より合焦して現れ得るように増加する。同様に、異なる画像を視認者に提示するために使用される、離間されるレンダリング平面の数は、減少された瞳孔サイズに伴って減少されてもよい。例えば、視認者は、一方のレンダリング平面から他方のレンダリング平面への眼の遠近調節を調節せずに、第1のレンダリング平面および第2のレンダリング平面の両方の詳細を1つの瞳孔サイズにおいて明確に知覚することが可能ではない場合がある。しかしながら、これらの2つのレンダリング平面は、同時に、遠近調節を変化させずに、別の瞳孔サイズにおいてユーザに合焦するには十分であり得る。
いくつかの実施形態では、ディスプレイシステムは、瞳孔サイズまたは配向の決定に基づいて、または特定の瞳孔サイズまたは配向を示す電気信号の受信に応じて、画像情報を受信する導波管の数を変動させてもよい。例えば、ユーザの眼が、2つの導波管と関連付けられた2つのレンダリング平面間を区別不能である場合、コントローラ460は、これらの導波管のうちの1つへの画像情報の提供を停止するように構成またはプログラムされてもよい。有利なこととして、これは、システムへの処理負担を低減させ、それによって、システムの応答性を増加させ得る。導波管のためのDOEがオンおよびオフ状態間で切替可能である実施形態では、DOEは、導波管が画像情報を受信するとき、オフ状態に切り替えられてもよい。
いくつかの実施形態では、出射ビームに視認者の眼の直径未満の直径を有するという条件を満たさせることが望ましくあり得る。しかしながら、本条件を満たすことは、視認者の瞳孔のサイズの変動性に照らして、困難であり得る。いくつかの実施形態では、本条件は、視認者の瞳孔のサイズの決定に応答して出射ビームのサイズを変動させることによって、広範囲の瞳孔サイズにわたって満たされる。例えば、瞳孔サイズが減少するにつれて、出射ビームのサイズもまた、減少し得る。いくつかの実施形態では、出射ビームサイズは、可変開口を使用して変動されてもよい。
ウェアラブルシステム400は、世界470の一部を結像する、外向きに面した結像システム464(例えば、デジタルカメラ)を含むことができる。世界470の本部分は、世界カメラの視野(FOV)と称され得、結像システム464は、時として、FOVカメラとも称される。視認者による視認または結像のために利用可能な領域全体は、動眼視野(FOR)と称され得る。FORは、装着者が、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚することができるため、ウェアラブルシステム400を囲繞する4πステラジアンの立体角を含んでもよい。他のコンテキストでは、装着者の移動は、より抑制されてもよく、それに応じて、装着者のFORは、より小さい立体角に接し得る。外向きに面した結像システム464から得られた画像は、ユーザによって行われるジェスチャ(例えば、手または指のジェスチャ)を追跡し、ユーザの正面における世界470内のオブジェクトを検出する等のために、使用されることができる。
ウェアラブルシステム400はまた、眼移動および顔移動等のユーザの移動を観察する、内向きに面した結像システム462(例えば、デジタルカメラ)を含むことができる。内向きに面した結像システム462は、眼410の画像を捕捉し、眼304の瞳孔のサイズおよび/または配向を決定するために使用されてもよい。内向きに面した結像システム462は、ユーザが見ている方向(例えば、眼姿勢)を決定する際に使用するため、またはユーザのバイオメトリック識別のため(例えば、虹彩識別を介して)、画像を得るために使用されることができる。いくつかの実施形態では、少なくとも1つのカメラが、眼毎に、独立して、各眼の瞳孔サイズまたは眼姿勢を別個に決定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために利用されてもよい。いくつかの他の実施形態では、単一眼410のみの瞳孔直径または配向(例えば、対の眼あたり単一カメラのみを使用して)が、決定され、ユーザの両眼に関して類似すると仮定される。内向きに面した結像システム462によって得られる画像は、ユーザに提示されるべきオーディオまたは視覚的コンテンツを決定するためにウェアラブルシステム400によって使用され得る、ユーザの眼姿勢または気分を決定するために分析されてもよい。ウェアラブルシステム400はまた、IMU、加速度計、ジャイロスコープ等のセンサを使用して、頭部姿勢(例えば、頭部位置または頭部配向)を決定してもよい。
ウェアラブルシステム400は、ユーザが、コマンドをコントローラ460に入力し、ウェアラブルシステム400と相互作用し得る、ユーザ入力デバイス466を含むことができる。例えば、ユーザ入力デバイス466は、トラックパッド、タッチスクリーン、ジョイスティック、多自由度(DOF)コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、指向性パッド(Dパッド)、ワンド、触知デバイス、トーテム(例えば、仮想ユーザ入力デバイスとして機能する)等を含むことができる。マルチDOFコントローラは、コントローラの一部または全部の可能性として考えられる平行移動(例えば、左/右、前方/後方、または上/下)または回転(例えば、ヨー、ピッチ、またはロール)におけるユーザ入力を感知することができる。平行移動をサポートする、マルチDOFコントローラは、3DOFと称され得る一方、平行移動および回転をサポートする、マルチDOFコントローラは、6DOFと称され得る。ある場合には、ユーザは、指(例えば、親指)を使用して、タッチセンサ式入力デバイスを押下またはその上でスワイプし、入力をウェアラブルシステム400に提供してもよい(例えば、ユーザ入力をウェアラブルシステム400によって提供されるユーザインターフェースに提供するために)。ユーザ入力デバイス466は、ウェアラブルシステム400の使用の間、ユーザの手によって保持されてもよい。ユーザ入力デバイス466は、ウェアラブルシステム400と有線または無線通信することができる。
図5は、導波管によって出力された出射ビームの実施例を示す。1つの導波管が、図示されるが、導波管アセンブリ480内の他の導波管も、同様に機能してもよく、導波管アセンブリ480は、複数の導波管を含むことを理解されたい。光520が、導波管432bの入力縁432cにおいて導波管432bの中に投入され、TIRによって導波管432b内を伝搬する。光520がDOE432aに衝突する点において、光の一部が、出射ビーム510として導波管から出射する。出射ビーム510は、略平行として図示されるが、それらはまた、導波管432bと関連付けられたレンダリング平面に応じて、ある角度(例えば、発散出射ビーム形成)において眼410に伝搬するように再指向されてもよい。略平行出射ビームは、眼410からの遠距離(例えば、光学無限遠)におけるレンダリング平面に設定されるように現れる画像を形成するように光を外部結合する、光抽出光学要素を伴う導波管を示し得ることを理解されたい。他の導波管または他の光抽出光学要素のセットは、より発散する、出射ビームパターンを出力してもよく、これは、眼410がより近い距離に遠近調節し、網膜に合焦させることを要求し、光学無限遠より眼410に近い距離からの光として脳によって解釈されるであろう。
図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の実施形態は、図2Aまたは2Bに示されるウェアラブルシステム200の中に統合されることができる。
中継され、射出瞳が拡張された光は、分散導波管装置から1つ以上の一次平面導波管632bの中に光学的に結合され得る。一次平面導波管632bは、好ましくは、第1の軸に直交する、第2の軸(例えば、図6の図では、水平またはX-軸)に沿って、光を中継することができる。着目すべきこととして、第2の軸は、第1の軸に対して非直交軸であることができる。一次平面導波管632bは、その第2の軸(例えば、X-軸)に沿って、光の有効射出瞳を拡張させる。例えば、分散平面導波管622bは、光を垂直またはY-軸に沿って中継および拡張させ、光を水平またはX-軸に沿って中継および拡張させ得る、一次平面導波管632bにその光を通過させることができる。
光学システムは、単一モード光ファイバ640の近位端の中に光学的に結合され得る、1つ以上の着色光源(例えば、赤色、緑色、および青色レーザ光)610を含んでもよい。光ファイバ640の遠位端は、圧電材料の中空管642を通して螺合または受容されてもよい。遠位端は、固定されない可撓性カンチレバー644として、管642から突出する。圧電管642は、4つの象限電極(図示せず)と関連付けられることができる。電極は、例えば、管642の外側、外側表面または外側周縁、または直径に鍍着されてもよい。コア電極(図示せず)もまた、管642のコア、中心、内側周縁、または内径に位置してもよい。
例えば、ワイヤ660を介して電気的に結合される、駆動電子機器650は、対向する対の電極を駆動し、圧電管642を独立して2つの軸において屈曲させる。光ファイバ644の突出する遠位先端は、機械的共鳴モードを有する。共鳴の周波数は、光ファイバ644の直径、長さ、および材料性質に依存し得る。圧電管642をファイバカンチレバー644の第1の機械的共鳴モードの近傍で振動させることによって、ファイバカンチレバー644は、振動させられ、大偏向を通して掃引し得る。
2つの軸において共振振動を刺激することによって、ファイバカンチレバー644の先端は、2次元(2-D)走査を充填する面積内において2軸方向に走査される。光源610の強度をファイバカンチレバー644の走査と同期して変調させることによって、ファイバカンチレバー644から発せられる光は、画像を形成することができる。そのような設定の説明は、米国特許公開第2014/0003762号(参照することによってその全体として本明細書に組み込まれる)に提供されている。
光学結合器サブシステムのコンポーネントは、走査ファイバカンチレバー644から発せられる光をコリメートすることができる。コリメートされた光は、鏡面表面648によって、少なくとも1つの回折光学要素(DOE)622aを含有する、狭分散平面導波管622bの中に反射されることができる。コリメートされた光は、TIRによって分散平面導波管622bに沿って(図6の図に対して)垂直に伝搬し、そうすることによって、DOE622aと繰り返し交差することができる。DOE622aは、好ましくは、低回折効率を有する。これは、光の一部(例えば、10%)をDOE622aとの交差部の各点においてより大きい一次平面導波管632bの縁に向かって回折させ、光の一部をTIRを介して分散平面導波管622bの長さを辿ってそのオリジナル軌道上で継続させることができる。
DOE622aとの交差部の各点において、付加的光が、一次導波管632bの入口に向かって回折されることができる。入射光を複数の外部結合セットに分割することによって、光の射出瞳は、分散平面導波管622b内のDOE4によって垂直に拡張されることができる。分散平面導波管622bから外部結合された本垂直に拡張された光は、一次平面導波管632bの縁に進入することができる。
一次導波管632bに進入する光は、TIRを介して、一次導波管632bに沿って(図6の図に対して)水平に伝搬することができる。光は、複数の点においてDOE632aと交差するにつれて、TIRを介して、一次導波管632bの長さの少なくとも一部に沿って水平に伝搬する。DOE632aは、有利なこととして、線形回折パターンおよび半径方向対称回折パターンの総和である、位相プロファイルを有し、光の偏向および集束の両方を生成するように設計または構成され得る。DOE632aは、有利なこととして、ビームの光の一部のみが、DOE632aの各交差部において視認者の眼に向かって偏向される一方、光の残りが、TIRを介して、一次導波管632bを通して伝搬し続けるように、低回折効率(例えば、10%)を有し得る。
伝搬する光とDOE632aとの間の交差部の各点において、光の一部は、一次導波管632bの隣接面に向かって回折され、光がTIRから逃散し、一次導波管632bの面から発せられることを可能にする。いくつかの実施形態では、DOE632aの半径方向対称回折パターンは、加えて、ある焦点レベルを回折された光に付与し、個々のビームの光波面を成形(例えば、曲率を付与する)することと、ビームを設計される焦点レベルに合致する角度に操向することとの両方を行う。
故に、これらの異なる経路は、異なる角度におけるDOE632aの多重度、焦点レベル、および/または射出瞳において異なる充填パターンをもたらすことによって、光を一次平面導波管632bの外部で結合させることができる。射出瞳における異なる充填パターンは、有利なこととして、複数のレンダリング平面を伴うライトフィールドディスプレイを生成するために使用されることができる。導波管アセンブリ内の各層またはスタック内の層のセット(例えば、3層)が、個別の色(例えば、赤色、青色、緑色)を生成するために採用されてもよい。したがって、例えば、第1の3つの隣接する層のセットが、それぞれ、赤色、青色、および緑色光を第1の焦点深度において生成するために採用されてもよい。第2の3つの隣接する層のセットが、それぞれ、赤色、青色、および緑色光を第2の焦点深度において生成するために採用されてもよい。複数のセットが、種々の焦点深度を伴うフル3Dまたは4Dカラー画像ライトフィールドを生成するために採用されてもよい。
(ウェアラブルシステムの他のコンポーネント)
多くの実装では、ウェアラブルシステムは、上記に説明されるウェアラブルシステムのコンポーネントに加えて、またはその代替として、他のコンポーネントを含んでもよい。ウェアラブルシステムは、例えば、1つ以上の触知デバイスまたはコンポーネントを含んでもよい。触知デバイスまたはコンポーネントは、触覚をユーザに提供するように動作可能であってもよい。例えば、触知デバイスまたはコンポーネントは、仮想コンテンツ(例えば、仮想オブジェクト、仮想ツール、他の仮想構造)に触れると、圧力またはテクスチャの感覚を提供してもよい。触覚は、仮想オブジェクトが表す物理的オブジェクトの感覚を再現してもよい、または仮想コンテンツが表す想像上のオブジェクトまたはキャラクタ(例えば、ドラゴン)の感覚を再現してもよい。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって装着されてもよい(例えば、ユーザウェアラブルグローブ)。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって保持されてもよい。
ウェアラブルシステムは、例えば、ユーザによって操作可能であって、ウェアラブルシステムへの入力またはそれとの相互作用を可能にする、1つ以上の物理的オブジェクトを含んでもよい。これらの物理的オブジェクトは、本明細書では、トーテムと称され得る。いくつかのトーテムは、例えば、金属またはプラスチック片、壁、テーブルの表面等、無生物オブジェクトの形態をとってもよい。ある実装では、トーテムは、実際には、任意の物理的入力構造(例えば、キー、トリガ、ジョイスティック、トラックボール、ロッカスイッチ)を有していなくてもよい。代わりに、トーテムは、単に、物理的表面を提供してもよく、ウェアラブルシステムは、ユーザにトーテムの1つ以上の表面上にあるように見えるように、ユーザインターフェースをレンダリングしてもよい。例えば、ウェアラブルシステムは、トーテムの1つ以上の表面上に常駐するように見えるように、コンピュータキーボードおよびトラックパッドの画像をレンダリングしてもよい。例えば、ウェアラブルシステムは、トーテムとしての役割を果たす、アルミニウムの薄い長方形プレートの表面上に見えるように、仮想コンピュータキーボードおよび仮想トラックパッドをレンダリングしてもよい。長方形プレート自体は、任意の物理的キーまたはトラックパッドまたはセンサを有していない。しかしながら、ウェアラブルシステムは、仮想キーボードまたは仮想トラックパッドを介して行われた選択または入力として、長方形プレートを用いたユーザ操作または相互作用またはタッチを検出し得る。ユーザ入力デバイス466(図4に示される)は、トラックパッド、タッチパッド、トリガ、ジョイスティック、トラックボール、ロッカまたは仮想スイッチ、マウス、キーボード、多自由度コントローラ、または別の物理的入力デバイスを含み得る、トーテムの実施形態であってもよい。ユーザは、単独で、または姿勢と組み合わせて、トーテムを使用し、ウェアラブルシステムまたは他のユーザと相互作用してもよい。
本開示のウェアラブルデバイス、HMD、およびディスプレイシステムと使用可能な触知デバイスおよびトーテムの実施例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明される。
(例示的ウェアラブルシステム、環境、およびインターフェース)
ウェアラブルシステムは、高被写界深度をレンダリングされたライトフィールド内で達成するために、種々のマッピング関連技法を採用してもよい。仮想世界をマッピングする際、実世界内の全ての特徴および点を把握し、仮想オブジェクトを実世界に関連して正確に描くことが有利である。この目的を達成するために、ウェアラブルシステムのユーザから捕捉されたFOV画像が、実世界の種々の点および特徴についての情報を伝達する新しい写真を含むことによって、世界モデルに追加されることができる。例えば、ウェアラブルシステムは、マップ点(2D点または3D点等)のセットを収集し、新しいマップ点を見出し、世界モデルのより正確なバージョンをレンダリングすることができる。第1のユーザの世界モデルは、第2のユーザが第1のユーザを囲繞する世界を体験し得るように、(例えば、クラウドネットワーク等のネットワークを経由して)第2のユーザに通信されることができる。
図7は、MR環境700の実施例のブロック図である。MR環境700は、入力(例えば、ユーザのウェアラブルシステムからの視覚的入力702、室内カメラ等の定常入力704、種々のセンサからの感覚入力706、ユーザ入力デバイス466からのジェスチャ、トーテム、眼追跡、ユーザ入力等)を1つ以上のユーザウェアラブルシステム(例えば、ウェアラブルシステム200またはディスプレイシステム220)または定常室内システム(例えば、室内カメラ等)から受信するように構成されてもよい。ウェアラブルシステムは、種々のセンサ(例えば、加速度計、ジャイロスコープ、温度センサ、移動センサ、深度センサ、GPSセンサ、内向きに面した結像システム、外向きに面した結像システム等)を使用して、ユーザの環境の場所および種々の他の属性を決定することができる。本情報はさらに、異なる視点からの画像または種々のキューを提供し得る、部屋内の定常カメラからの情報で補完されてもよい。カメラ(室内カメラおよび/または外向きに面した結像システムのカメラ等)によって入手された画像データは、マッピング点のセットに低減されてもよい。
1つ以上のオブジェクト認識装置708が、受信されたデータ(例えば、点の集合)を通してクローリングし、点を認識またはマッピングし、画像をタグ付けし、マップデータベース710を用いて、意味論情報をオブジェクトに結び付けることができる。マップデータベース710は、経時的に収集された種々の点およびその対応するオブジェクトを備えてもよい。種々のデバイスおよびマップデータベースは、ネットワーク(例えば、LAN、WAN等)を通して相互に接続され、クラウドにアクセスすることができる。
本情報およびマップデータベース内の点集合に基づいて、オブジェクト認識装置708a-708nは、環境内のオブジェクトを認識してもよい。例えば、オブジェクト認識装置は、顔、人物、窓、壁、ユーザ入力デバイス、テレビ、ユーザの環境内の他のオブジェクト等を認識することができる。1つ以上のオブジェクト認識装置が、ある特性を伴うオブジェクトのために特殊化されてもよい。例えば、オブジェクト認識装置708aは、顔を認識するために使用されてもよい一方、別のオブジェクト認識装置は、トーテムを認識するために使用されてもよい一方、別のオブジェクト認識装置は、手、指、腕、または身体ジェスチャを認識するために使用されてもよい。
オブジェクト認識は、種々のコンピュータビジョン技法を使用して実施されてもよい。例えば、ウェアラブルシステムは、外向きに面した結像システム464(図4に示される)によって入手された画像を分析し、場面再構成、イベント検出、ビデオ追跡、オブジェクト認識、オブジェクト姿勢推定、学習、インデックス化、運動推定、または画像復元等を実施することができる。1つ以上のコンピュータビジョンアルゴリズムが、これらのタスクを実施するために使用されてもよい。コンピュータビジョンアルゴリズムの非限定的実施例は、スケール不変特徴変換(SIFT)、スピードアップロバスト特徴(SURF)、配向FASTおよび回転BRIEF(ORB)、バイナリロバスト不変スケーラブルキーポイント(BRISK)、高速網膜キーポイント(FREAK)、Viola-Jonesアルゴリズム、Eigenfacesアプローチ、Lucas-Kanadeアルゴリズム、Horn-Schunkアルゴリズム、Mean-shiftアルゴリズム、視覚的同時位置推定およびマッピング(vSLAM)技法、シーケンシャルベイズ推定器(例えば、カルマンフィルタ、拡張カルマンフィルタ等)、バンドル調節、適応閾値化(および他の閾値化技法)、反復最近傍点(ICP)、セミグローバルマッチング(SGM)、セミグローバルブロックマッチング(SGBM)、特徴点ヒストグラム、種々の機械学習アルゴリズム(例えば、サポートベクトルマシン、k最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク(畳み込みまたは深層ニューラルネットワークを含む)、または他の教師あり/教師なしモデル等)等を含む。
オブジェクト認識は、加えて、または代替として、種々の機械学習アルゴリズムによって実施されることができる。いったん訓練されると、機械学習アルゴリズムは、HMDによって記憶されることができる。機械学習アルゴリズムのいくつかの実施例は、教師ありまたは教師なし機械学習アルゴリズムを含むことができ、回帰アルゴリズム(例えば、通常の最小2乗回帰等)、インスタンスベースのアルゴリズム(例えば、学習ベクトル量子化等)、決定ツリーアルゴリズム(例えば、分類および回帰ツリー等)、ベイズアルゴリズム(例えば、単純ベイズ等)、クラスタリングアルゴリズム(例えば、k-平均クラスタリング等)、関連付けルール学習アルゴリズム(例えば、アプリオリアルゴリズム等)、人工ニューラルネットワークアルゴリズム(例えば、Perceptron等)、深層学習アルゴリズム(例えば、Deep Boltzmann Machine、すなわち、深層ニューラルネットワーク等)、次元削減アルゴリズム(例えば、主成分分析等)、アンサンブルアルゴリズム(例えば、Stacked Gneralization等)、および/または他の機械学習アルゴリズムを含む。いくつかの実施形態では、個々のモデルは、個々のデータセットのためにカスタマイズされることができる。例えば、ウェアラブルデバイスは、ベースモデルを生成または記憶することができる。ベースモデルは、開始点として使用され、データタイプ(例えば、テレプレゼンスセッション内の特定のユーザ)、データセット(例えば、テレプレゼンスセッション内のユーザの取得される付加的画像のセット)、条件付き状況、または他の変形例に特有の付加的モデルを生成してもよい。いくつかの実施形態では、ウェアラブルHMDは、複数の技法を利用して、集約されたデータの分析のためのモデルを生成するように構成されることができる。他の技法は、事前に定義された閾値またはデータ値を使用することを含んでもよい。
マップデータベース内の本情報および点の集合に基づいて、オブジェクト認識装置708a-708nは、オブジェクトを認識し、オブジェクトを意味論情報で補完し、生命をオブジェクトに与えてもよい。例えば、オブジェクト認識装置が、点のセットがドアであることを認識する場合、本システムは、いくつかの意味論情報を結び付けてもよい(例えば、ドアは、ヒンジを有し、ヒンジを中心として90度移動を有する)。オブジェクト認識装置が、点のセットが鏡であることを認識する場合、本システムは、鏡が、部屋内のオブジェクトの画像を反射させ得る、反射表面を有するという意味論情報を結び付けてもよい。経時的に、マップデータベースは、システム(ローカルに常駐し得る、または無線ネットワークを通してアクセス可能であり得る)がより多くのデータを世界から蓄積するにつれて成長する。いったんオブジェクトが認識されると、情報は、1つ以上のウェアラブルシステムに伝送されてもよい。例えば、MR環境700は、Californiaで生成している場面についての情報を含んでもよい。環境700は、New Yorkにおける1人以上のユーザに伝送されてもよい。FOVカメラおよび他の入力から受信されたデータに基づいて、オブジェクト認識装置および他のソフトウェアコンポーネントは、場面が世界の異なる部分に存在し得る第2のユーザに正確に「パス」され得るように、種々の画像から収集された点をマッピングし、オブジェクトを認識すること等ができる。環境700はまた、位置特定目的のために、トポロジマップを使用してもよい。
図8は、認識されたオブジェクトに関連して仮想コンテンツをレンダリングする方法800の実施例のプロセスフロー図である。方法800は、仮想場面がウェアラブルシステムのユーザに表され得る方法を説明する。ユーザは、その場面から地理的に遠隔に存在してもよい。例えば、ユーザは、New Yorkに存在し得るが、Californiaで現在起こっている場面を視認することを所望し得る、またはCaliforniaに存在する友人と散歩に行くことを所望し得る。
ブロック810では、ウェアラブルシステムは、ユーザの環境に関する入力をユーザおよび他のユーザから受信してもよい。これは、種々の入力デバイスおよびマップデータベース内にすでに保有されている知識を通して達成されてもよい。ユーザのFOVカメラ、センサ、GPS、眼追跡等が、ブロック810において、情報をシステムに伝達する。本システムは、ブロック820において、本情報に基づいて、疎点を決定してもよい。疎点は、ユーザの周囲における種々のオブジェクトの配向および位置を表示および理解する際に使用され得る、姿勢データ(例えば、頭部姿勢、眼姿勢、身体姿勢、または手のジェスチャ)を決定する際に使用されてもよい。オブジェクト認識装置708a-708nは、ブロック830において、これらの収集された点を通してクローリングし、マップデータベースを使用して、1つ以上のオブジェクトを認識してもよい。本情報は、次いで、ブロック840において、ユーザの個々のウェアラブルシステムに伝達されてもよく、所望の仮想場面が、ブロック850において、適宜、ユーザに表示されてもよい。例えば、所望の仮想場面(例えば、CAにおけるユーザ)が、New Yorkにおけるユーザの種々のオブジェクトおよび他の周囲に関連して、適切な配向、位置等において表示されてもよい。
図9は、ウェアラブルシステムの別の実施例のブロック図である。本実施例では、ウェアラブルシステム900は、世界に関するマップデータを含み得る、マップを備える。マップは、部分的に、ウェアラブルシステム上にローカルに常駐してもよく、部分的に、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所(例えば、クラウドシステム内)に常駐してもよい。姿勢プロセス910(例えば、頭部または眼姿勢)が、ウェアラブルコンピューティングアーキテクチャ(例えば、処理モジュール260またはコントローラ460)上で実行され、ウェアラブルコンピューティングハードウェアまたはユーザの位置および配向を決定するために、マップからのデータを利用してもよい。姿勢データは、ユーザが、システムを体験し、その世界内で動作するにつれて、オンザフライで収集されたデータから算出されてもよい。データは、実または仮想環境内のオブジェクトに関する画像、センサ(概して、加速度計およびジャイロスコープコンポーネントを備える、慣性測定ユニット等)からのデータ、および表面情報を備えてもよい。
疎点表現は、同時位置特定およびマッピング(入力が画像/視覚のみである構成を指す、SLAMまたはV-SLAM)プロセスの出力であってもよい。本システムは、世界内の種々のコンポーネントの場所だけではなく、世界が構成される内容も見出すように構成されることができる。姿勢は、マップへの取込およびマップからのデータを使用することを含め、多くの目標を達成する、構築ブロックであり得る。
一実施形態では、疎点位置は、それ自体では完全に適正であり得ず、さらなる情報が、多焦点AR、VR、またはMR体験を生成するために必要とされ得る。概して、深度マップ情報を指す、稠密表現が、少なくとも部分的に、本間隙を充填するために利用されてもよい。そのような情報は、立体視940と称されるプロセスから算出されてもよく、深度情報は、三角測量または飛行時間感知等の技法を使用して決定される。画像情報およびアクティブパターン(アクティブプロジェクタを使用して生成される赤外線パターン等)が、立体視プロセス940への入力としての役割を果たし得る。有意な量の深度マップ情報が、ともに融合されてもよく、このうちのいくつかは、表面表現を用いて要約されてもよい。例えば、数学的に定義可能な表面は、ゲームエンジンのような他の処理デバイスへの効率的(例えば、大規模点群に対して)かつ要約しやすい入力であってもよい。したがって、立体視プロセス(例えば、深度マップ)940の出力は、融合プロセス930において組み合わせられてもよい。姿勢は、同様に、本融合プロセス930への入力であってもよく、融合930の出力は、マップ取込プロセス920への入力となる。サブ表面が、トポグラフィマッピング等において相互に接続し、より大きい表面を形成し得、マップは、点および表面の大規模ハイブリッドとなる。
複合現実プロセス960における種々の側面を解決するために、種々の入力が、利用されてもよい。例えば、図9に描写される実施形態では、ゲームパラメータは、システムのユーザが1匹以上のモンスタと種々の場所においてモンスタバトルゲームをプレーしていること、モンスタが死んでいる、または種々の条件下で逃げている(ユーザがモンスタを撃つ場合等)、種々の場所における壁または他のオブジェクト、および同等物を決定するための入力であってもよい。世界マップは、複合現実に対する別の有用な入力となる、そのようなオブジェクトが相互に対する場所に関する情報を含んでもよい。世界に対する姿勢は、同様に、入力となり、ほぼあらゆる双方向システムに対して重要な役割を果たす。
ユーザからの制御または入力は、ウェアラブルシステム900への別の入力である。本明細書に説明されるように、ユーザ入力は、視覚的入力、ジェスチャ、トーテム、オーディオ入力、感覚入力等を含むことができる。動き回るまたはゲームをプレーするために、例えば、ユーザは、ウェアラブルシステム900に、所望する対象に関して命令する必要があり得る。空間内で自ら移動するだけではなく、利用され得る種々の形態のユーザ制御が、存在する。一実施形態では、トーテム(例えば、ユーザ入力デバイス)、または玩具銃等のオブジェクトが、ユーザによって保持され、システムによって追跡されてもよい。本システムは、好ましくは、ユーザがアイテムを保持していることを把握し、ユーザがアイテムと行っている相互作用の種類を理解するように構成されるであろう(例えば、トーテムまたはオブジェクトが、銃である場合、本システムは、場所および配向だけではなく、ユーザが、そのようなアクティビティがカメラのいずれかの視野内にないときでも、生じている状況の決定を補助し得る、IMU等のセンサを装備し得る、トリガまたは他の感知ボタンまたは要素をクリックしているかどうかも理解するように構成されてもよい。)
手のジェスチャ追跡または認識もまた、入力情報を提供してもよい。ウェアラブルシステム900は、ボタン押下のため、左または右、停止、握持、保持等をジェスチャするために、手のジェスチャを追跡および解釈するように構成されてもよい。例えば、1つの構成では、ユーザは、非ゲーム環境において電子メールまたはカレンダを通して捲る、または別の人物またはプレーヤと「フィストバンプ」を行うことを所望し得る。ウェアラブルシステム900は、動的である場合とそうではない場合がある、最小量の手のジェスチャを活用するように構成されてもよい。例えば、ジェスチャは、停止を示すために手を広げる、OKを示すために親指を上げる、OKではないことを示すために親指を下げる、または指向性コマンドを示すために左右または上下に手をフリップする等、単純な静的ジェスチャであってもよい。
眼追跡は、別の入力である(例えば、ユーザが見ている場所を追跡し、ディスプレイ技術を制御し、具体的深度または範囲においてレンダリングする)。一実施形態では、眼のバージェンスが、三角測量を使用して決定されてもよく、次いで、その特定の人物のために開発されたバージェンス/遠近調節モデルを使用して、遠近調節が、決定されてもよい。
音声認識は、単独で、または他の入力(例えば、トーテム追跡、眼追跡、ジェスチャ追跡等)と組み合わせて使用され得る、別の入力であり得る。システム900は、オーディオストリームを環境から受信する、オーディオセンサ232(例えば、マイクロホン)を含むことができる。受信されたオーディオストリームは、処理され(例えば、処理モジュール260、270または中央サーバ1650によって)、ユーザの音声を認識し(他の音声または背景オーディオから)、コマンド、対象、パラメータ等をオーディオストリームから抽出することができる。例えば、システム900は、オーディオストリームから、語句「それをそこに移動させる」が発せられたことを識別し、本語句がシステム900の装着者(ユーザの環境内の別の人物ではなく)によって発せられたことを識別し、語句から、実行可能コマンド(「~を移動させる」)およびある場所(「そこに」)に移動されるべきオブジェクト(「それ」)が存在することを抽出してもよい。コマンドによって作用されるべきオブジェクトは、コマンドの対象と称され得、他の情報は、パラメータとしてコマンドに提供される。本実施例では、オブジェクトが移動されるべき場所は、「移動」コマンドのためのパラメータである。パラメータは、例えば、場所、時間、相互作用されるべき他のオブジェクト(例えば、「それを赤色の椅子の隣に移動させる」または「魔法の杖をLindaに与える」)、コマンドが実行されるべき方法(例えば、「2階のスピーカを使用して曲を再生する」)等を含むことができる。
別の実施例として、システム900は、テキストの文字列を入力する、またはテキストのコンテンツを修正するために、発話認識技法を用いて、オーディオストリームを処理することができる。システム900は、発話している人物を決定するための話者認識技術および発せられている内容を決定するための発話認識技術を組み込むことができる。音声認識技術は、単独で、または組み合わせて、隠れマルコフモデル、ガウス混合モデル、パターンマッチングアルゴリズム、ニューラルネットワーク、マトリクス表現、ベクトル量子化、話者ダイアライゼーション、決定ツリー、および動的時間伸縮(DTW)技法を含むことができる。音声認識技法はまた、コホートモデルおよび世界モデル等のアンチ話者技法を含むことができる。スペクトル特徴は、話者特性を表す際に使用されてもよい。
カメラシステムに関して、図9に示される例示的ウェアラブルシステム900は、3つの対のカメラ、すなわち、ユーザの顔の両側に配列される相対的広FOVまたは受動SLAM対のカメラと、ユーザの正面に配向され、立体視結像プロセス940をハンドリングし、また、ユーザの顔の正面の手のジェスチャおよびトーテム/オブジェクトの軌道を捕捉するための異なる対のカメラとを含むことができる。立体視プロセス940のためのFOVカメラおよび対のカメラは、外向きに面した結像システム464(図4に示される)の一部であってもよい。ウェアラブルシステム900は、眼ベクトルおよび他の情報を三角測量するために、ユーザの眼に向かって配向される、眼追跡カメラ(図4に示される内向きに面した結像システム462の一部であってもよい)を含むことができる。ウェアラブルシステム900はまた、1つ以上のテクスチャ化光プロジェクタ(赤外線(IR)プロジェクタ等)を備え、テクスチャを場面の中に投入してもよい。
図10は、ウェアラブルシステムへのユーザ入力を決定するための方法1000の実施例のプロセスフロー図である。本実施例では、ユーザは、トーテムと相互作用してもよい。ユーザは、複数のトーテムを有してもよい。例えば、ユーザは、ソーシャルメディアアプリケーションのための指定される1つのトーテム、ゲームをプレーするための別のトーテム等を有してもよい。ブロック1010では、ウェアラブルシステムは、トーテムの運動を検出してもよい。トーテムの移動は、外向きに面した結像システムを通して認識されてもよい、またはセンサ(例えば、触知グローブ、画像センサ、手追跡デバイス、眼追跡カメラ、頭部姿勢センサ等)を通して検出されてもよい。
少なくとも部分的に、検出されたジェスチャ、眼姿勢、頭部姿勢、またはトーテムを通した入力に基づいて、ウェアラブルシステムは、ブロック1020において、基準フレームに対するトーテム(またはユーザの眼または頭部またはジェスチャ)の位置、配向、および/または移動を検出する。基準フレームは、それに基づいてウェアラブルシステムがトーテム(またはユーザ)の移動をアクションまたはコマンドに変換する、マップ点のセットであってもよい。ブロック1030では、トーテムとのユーザの相互作用が、マッピングされる。基準フレーム1020に対するユーザ相互作用のマッピングに基づいて、本システムは、ブロック1040において、ユーザ入力を決定する。
例えば、ユーザは、トーテムまたは物理的オブジェクトを前後に移動させ、仮想ページを捲り、次のページに移動する、または1つのユーザインターフェース(UI)ディスプレイ画面から別のUI画面に移動することを示してもよい。別の実施例として、ユーザは、ユーザのFOR内の異なる実または仮想オブジェクトを見るために、その頭部または眼を移動させてもよい。特定の実または仮想オブジェクトにおけるユーザの注視が、閾値時間より長い場合、その実または仮想オブジェクトは、ユーザ入力として選択されてもよい。いくつかの実装では、ユーザの眼のバージェンスが、追跡されることができ、遠近調節/バージェンスモデルが、ユーザが合焦しているレンダリング平面に関する情報を提供する、ユーザの眼の遠近調節状態を決定するために使用されることができる。いくつかの実装では、ウェアラブルシステムは、円錐キャスティング技法を使用して、ユーザの頭部姿勢または眼姿勢の方向に沿っている実または仮想オブジェクトを決定することができる。概して説明される、円錐キャスティング技法は、不可視の円錐をユーザが見ている方向に投影し、円錐と相互作用する、任意のオブジェクトを識別することができる。円錐キャスティングは、ARディスプレイ(ウェアラブルシステムの)から物理的または仮想オブジェクトに向かって、実質的に殆ど横幅を伴わない細い光線束を投じる、または実質的横幅を伴う光線(例えば、円錐または円錐台)を投じることを含むことができる。単一光線を伴う円錐キャスティングは、レイキャスティングとも称され得る。円錐キャスティング技法の詳細な実施例は、「Interactions with 3D Virtual Objects Using Poses and Multiple-DOF Controllers」と題され、2017年3月29日に出願された米国出願第15/473,444号(その開示は、参照することによってその全体として本明細書に組み込まれる)に説明される。
ユーザインターフェースは、本明細書に説明されるようなディスプレイシステム(図2Aまたは2Bにおけるディスプレイ220等)によって投影されてもよい。また、1つ以上のプロジェクタ等の種々の他の技法を使用して表示されてもよい。プロジェクタは、画像をキャンバスまたは球体等の物理的オブジェクト上に投影してもよい。ユーザインターフェースとの相互作用は、システムの外部またはシステムの一部の1つ以上のカメラを使用して(例えば、内向きに面した結像システム462または外向きに面した結像システム464を使用して)追跡されてもよい。
図11は、仮想ユーザインターフェースと相互作用するための方法1100の実施例のプロセスフロー図である。方法1100は、本明細書に説明されるウェアラブルシステムによって行われてもよい。
ブロック1110では、ウェアラブルシステムは、特定のUIを識別してもよい。UIのタイプは、ユーザによって予め決定されてもよい。ウェアラブルシステムは、特定のUIがユーザ入力(例えば、ジェスチャ、視覚的データ、オーディオデータ、感覚データ、直接コマンド等)に基づいて取り込まれる必要があることを識別してもよい。ブロック1120では、ウェアラブルシステムは、仮想UIのためのデータを生成してもよい。例えば、UIの境界、一般的構造、形状等と関連付けられたデータが、生成されてもよい。加えて、ウェアラブルシステムは、ウェアラブルシステムがユーザの物理的場所に関連してUIを表示し得るように、ユーザの物理的場所のマップ座標を決定してもよい。例えば、UIが、身体中心である場合、ウェアラブルシステムは、リングUIがユーザの周囲に表示され得る、または平面UIが壁上またはユーザの正面に表示され得るように、ユーザの物理的立ち位置、頭部姿勢、または眼姿勢の座標を決定してもよい。UIが、手中心の場合、ユーザの手のマップ座標が、決定されてもよい。これらのマップ点は、FOVカメラ、感覚入力を通して受信されたデータ、または任意の他のタイプの収集されたデータを通して導出されてもよい。
ブロック1130では、ウェアラブルシステムは、データをクラウドからディスプレイに送信してもよい、またはデータは、ローカルデータベースからディスプレイコンポーネントに送信されてもよい。ブロック1140では、UIは、送信されたデータに基づいて、ユーザに表示される。例えば、ライトフィールドディスプレイは、仮想UIをユーザの眼の一方または両方の中に投影することができる。いったん仮想UIが生成されると、ウェアラブルシステムは、ブロック1150において、単に、ユーザからのコマンドを待機し、より多くの仮想コンテンツを仮想UI上に生成してもよい。例えば、UIは、ユーザの身体の周囲の身体中心リングであってもよい。ウェアラブルシステムは、次いで、コマンド(ジェスチャ、頭部または眼移動、ユーザ入力デバイスからの入力等)を待機してもよく、認識される場合(ブロック1160)、コマンドと関連付けられた仮想コンテンツが、ユーザに表示されてもよい(ブロック1170)。実施例として、ウェアラブルシステムは、複数のストリームトラックを混合する前に、ユーザの手のジェスチャを待機してもよい。
ウェアラブルシステム、UI、およびユーザ体験(UX)の付加的実施例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明される。
(動眼視野(FOR)および視野(FOV)内のオブジェクトの実施例)
図12Aは、動眼視野(FOR)1200、世界カメラの視野(FOV)1270、ユーザの視野1250、およびユーザの固視野1290の実施例を図式的に図示する。図4を参照して説明されるように、FOR1200は、ウェアラブルシステムを介してユーザによって知覚されることが可能なユーザの周囲の環境の一部を備える。FORは、装着者が、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚することができるため、ウェアラブルシステムを囲繞する4πステラジアンの立体角を含んでもよい。他のコンテキストでは、装着者の移動は、より制約され得、故に、装着者のFORは、より小さい立体角に対し得る。
世界カメラ1270の視野は、外向きに面した結像システム464によって現在観察されているユーザのFORの一部を含むことができる。図4を参照すると、世界カメラ1270の視野は、所与の時間においてウェアラブルシステム400によって観察される、世界470を含んでもよい。世界カメラ1270のFOVのサイズは、外向きに面した結像システム464の光学特性に依存し得る。例えば、外向きに面した結像システム464は、ユーザの周囲の190度空間を結像し得る、広角カメラを含むことができる。ある実装では、世界カメラ1270のFOVは、ユーザの眼の自然FOVより大きいまたはそれと等しくてもよい。
ユーザのFOV1250は、ユーザが所与の時間において知覚する、FOR1200の一部を備えることができる。FOVは、ウェアラブルデバイスのディスプレイのサイズまたは光学特性に依存し得る。例えば、AR/MRディスプレイは、ユーザがディスプレイの特定の部分を通して見るとき、AR/MR機能性を提供する、光学系を含んでもよい。FOV1250は、例えば、スタックされた導波管アセンブリ480(図4)または平面導波管600(図6)等のAR/MRディスプレイを通して見るときにユーザによって知覚可能な立体角に対応してもよい。ある実施形態では、ユーザのFOV1250は、ユーザの眼の自然FOVより小さくてもよい。
ウェアラブルシステムはまた、ユーザの固視野1290を決定することができる。固視野1290は、ユーザの眼が固視し得る(例えば、視覚的視線をその部分に維持する)、FOV1250の一部を含むことができる。固視野1290は、光が当たる眼の中心窩領域に対応してもよい。固視野1290は、ユーザのFOV1250より小さくあり得る、例えば、固視野は、それを横断して数度~約5度であり得る。その結果、ユーザは、固視野1290内にないが、ユーザの周辺視野内にある、FOV1250内のいくつかの仮想オブジェクトを知覚することができる。
図12Bは、ユーザの視野(FOV)内の仮想オブジェクトおよび動眼視野(FOR)内の仮想オブジェクトの実施例を図式的に図示する。図12Bでは、FOR1200は、あるグループのオブジェクト(例えば、1210、1220、1230、1242、および1244)を含有することができ、これは、ウェアラブルシステムを介して、ユーザによって知覚されることができる。ユーザのFOR1200内のオブジェクトは、仮想および/または物理的オブジェクトであってもよい。例えば、ユーザのFOR1200は、椅子、ソファ、壁等の物理的オブジェクトを含んでもよい。仮想オブジェクトは、例えば、削除されたファイルのためのごみ箱、コマンドを入力するための端末、ファイルまたはディレクトリにアクセスするためのファイルマネージャ、アイコン、メニュー、オーディオまたはビデオストリーミングのためのアプリケーション、オペレーティングシステムからの通知、テキスト、テキスト編集アプリケーション、メッセージングアプリケーション等のオペレーティングシステムオブジェクトを含んでもよい。仮想オブジェクトはまた、例えば、アバタ、ゲーム内の仮想オブジェクト、グラフィック、または画像等のアプリケーション内のオブジェクトを含んでもよい。いくつかの仮想オブジェクトは、オペレーティングシステムオブジェクトおよびアプリケーション内のオブジェクトの両方であることができる。いくつかの実施形態では、ウェアラブルシステムは、仮想要素を既存の物理的オブジェクトに追加することができる。例えば、ウェアラブルシステムは、部屋内のテレビと関連付けられた仮想メニューを追加してもよく、仮想メニューは、ユーザに、ウェアラブルシステムを使用して、テレビをオンにする、またはチャンネルを変更するためのオプションを与えてもよい。
仮想オブジェクトは、3次元(3D)、2次元(2D)、または1次元(1D)オブジェクトであってもよい。例えば、仮想オブジェクトは、3Dコーヒーマグカップ(物理的コーヒーメーカーのための仮想制御を表してもよい)であってもよい。仮想オブジェクトはまた、時計の2Dグラフィカル表現であってもよい(現在の時間をユーザに表示する)。いくつかの実装では、1つ以上の仮想オブジェクトは、別の仮想オブジェクト内に(またはそれと関連付けられて)表示されてもよい。仮想コーヒーマグカップは、ユーザのインターフェースプレーンの内側に示されてもよいが、仮想コーヒーマグカップは、本2D平面仮想空間内では、3Dであるように現れる。
ユーザのFOR内のオブジェクトは、図9を参照して説明されるように、世界マップの一部であることができる。オブジェクトと関連付けられたデータ(例えば、場所、意味論情報、性質等)は、例えば、アレイ、リスト、ツリー、ハッシュ、グラフ等の種々のデータ構造内に記憶されることができる。各記憶されるオブジェクトのインデックスは、適用可能である場合、例えば、オブジェクトの場所によって決定されてもよい。例えば、データ構造は、基点位置からのオブジェクトの距離等の単一座標(例えば、基点位置の左または右までの距離、基点位置の上または下からの距離、または基点位置からの深度あたりの距離)によってオブジェクトをインデックス化してもよい。基点位置は、ユーザの位置(ユーザの頭部の位置等)に基づいて決定されてもよい。基点位置はまた、ユーザの環境内の仮想または物理的オブジェクト(標的オブジェクト等)の位置に基づいて決定されてもよい。故に、ユーザの環境内の3D空間は、2Dユーザインターフェース内に表され得、仮想オブジェクトは、基点位置からのオブジェクトの距離に従って配列される。
図12Bでは、FOV1250は、破線1252によって図式的に図示される。ウェアラブルシステムのユーザは、オブジェクト1242、オブジェクト1244、およびオブジェクト1230の一部等の複数のオブジェクトをFOV1250内で知覚することができる。ユーザの姿勢(例えば、頭部姿勢または眼姿勢)が変化するにつれて、FOV1250も対応して変化し、FOV1250内のオブジェクトもまた、変化し得る。例えば、地図1210は、最初に、図12Bでは、ユーザのFOV外にある。ユーザが、地図1210に眼を向ける場合、地図1210は、ユーザのFOV1250の中に移動し得、(例えば)オブジェクト1230は、ユーザのFOV1250外に移動し得る。
ウェアラブルシステムは、FOR1200内のオブジェクトおよびFOV1250内のオブジェクトを追跡してもよい。例えば、ローカル処理およびデータモジュール260は、遠隔処理モジュール270および遠隔データリポジトリ280と通信し、ユーザのFOR内の仮想オブジェクトを読み出すことができる。ローカル処理およびデータモジュール260は、仮想オブジェクトを、例えば、バッファまたは一時的記憶装置内に記憶することができる。ローカル処理およびデータモジュール260は、本明細書に説明される技法を使用して、ユーザのFOVを決定し、ユーザのFOV内の仮想オブジェクトのサブセットをレンダリングすることができる。ユーザの姿勢が変化すると、ローカル処理およびデータモジュール260は、ユーザのFOVを更新し、適宜、ユーザの現在のFOVに対応する別のセットの仮想オブジェクトをレンダリングすることができる。
(種々のユーザ入力モードの概要)
ウェアラブルシステムは、動作を実施するために、種々の入力モードを受け取るようにプログラムされることができる。例えば、ウェアラブルシステムは、以下のタイプの入力モード、すなわち、音声コマンド、頭部姿勢、身体姿勢(例えば、ベルトパック内のIMUまたはHMDの外部のセンサによって測定され得る)、眼視線(本明細書では、眼姿勢とも称される)、手のジェスチャ(または他の身体部分によるジェスチャ)、ユーザ入力デバイス(例えば、トーテム)からの信号、環境センサ等のうちの2つ以上のものを受け取ることができる。コンピューティングデバイスは、典型的には、ユーザからの単一入力に基づいて、所与の出力を生成するようにエンジニアリングされる。例えば、ユーザは、キーボード上でタイプすることによって、テキストメッセージを入力する、または手のジェスチャ入力モードの実施例である、マウスを使用して、仮想オブジェクトの移動を誘導することができる。別の実施例として、コンピューティングデバイスは、ユーザの音声からのオーディオデータのストリームを受信し、音声認識技法を使用して、オーディオデータを実行可能コマンドに変換することができる。
ユーザ入力モードは、ある場合には、直接ユーザ入力または間接ユーザ入力として、非排他的に分類され得る。直接ユーザ入力は、例えば、ユーザの身体の意志的移動(例えば、頭部または眼を方向転換させる、オブジェクトまたは場所を注視する、語句を発する、指または手を移動させる)を介してユーザによって直接供給される、ユーザ相互作用であってもよい。直接ユーザ入力の実施例として、ユーザは、例えば、頭部姿勢、眼姿勢(眼視線とも称される)、手のジェスチャ、または別の身体姿勢等の姿勢を使用して、仮想オブジェクトと相互作用することができる。例えば、ユーザは、(頭部および/または眼を用いて)仮想オブジェクトを見ることができる。直接ユーザ入力の別の実施例は、ユーザの音声である。例えば、ユーザは、「ブラウザを立ち上げる」と発し、HMDに、ブラウザアプリケーションを開かせることができる。直接ユーザ入力のさらに別の実施例として、ユーザは、例えば、タッチジェスチャ(トーテムのタッチセンサ式部分をタッチする等)または身体移動(多自由度コントローラとして機能するトーテムを回転させる等)を介して、ユーザ入力デバイスを作動させることができる。
直接ユーザ入力に加えて、またはその代替として、ユーザはまた、間接ユーザ入力に基づいて、仮想オブジェクトと相互作用することができる。間接ユーザ入力は、例えば、ユーザまたは仮想オブジェクトの地理的場所、ユーザの環境等の種々のコンテキスト要因から決定されてもよい。例えば、ユーザの地理的場所は、ユーザのオフィス内(ユーザの自宅ではなく)であってもよく、異なるタスク(例えば、仕事関連タスク)が、地理的場所(例えば、GPSセンサから導出される)に基づいて、実行されることができる。
コンテキスト要因はまた、仮想オブジェクトのアフォーダンスを含むことができる。仮想オブジェクトのアフォーダンスは、仮想オブジェクトとオブジェクトの環境との間の関係を備えることができ、これは、オブジェクトと関連付けられたアクションまたは使用のための機会を与える。アフォーダンスは、例えば、オブジェクトの機能、配向、タイプ、場所、形状、および/またはサイズに基づいて決定されてもよい。アフォーダンスはまた、仮想オブジェクトが位置する環境に基づいてもよい。実施例として、水平テーブルのアフォーダンスは、オブジェクトがテーブル上に設定されることができることであって、垂直壁のアフォーダンスは、オブジェクトが、壁から吊架される、またはその上に投影され得ることである。実施例として、「それをそこに設置する」と発せられ得、仮想オフィスカレンダが、ユーザのオフィス内のユーザの机上に水平に現れるように設定される。
直接ユーザ入力の単一モードは、種々の限定を作成し得、利用可能なユーザインターフェース動作の数またはタイプは、ユーザ入力のタイプに起因して制限され得る。例えば、ユーザは、頭部姿勢が精密なユーザ相互作用を提供することが不可能であり得るため、頭部姿勢を用いて、ズームインまたはズームアウトすることが不可能であり得る。別の実施例として、ユーザは、仮想オブジェクトを床から壁まで移動させるために、親指をタッチパッドで往復して移動させる(または親指を長距離にわたって移動させる)必要があり得、これは、経時的にユーザに疲労をもたらし得る。
しかしながら、いくつかの直接入力モードは、ユーザが提供するためにより便宜的かつ直感的であり得る。例えば、ユーザは、ジェスチャベースのキーボード入力を使用して文をタイプする必要なく、ウェアラブルシステムに話し掛け、音声コマンドを発行することができる。別の実施例として、ユーザは、カーソルを移動させ、標的仮想オブジェクトを識別するのではなく、手のジェスチャを使用して、標的仮想オブジェクトを指し示すことができる。それらは、それほど便宜的または直感的ではない場合があるが、他の直接入力モードは、ユーザ相互作用の正確度を増加させることができる。例えば、ユーザは、カーソルを仮想オブジェクトに移動させ、仮想オブジェクトが標的オブジェクトであることを示すことができる。しかしながら、上記に説明されるように、ユーザが、直接ユーザ入力(例えば、頭部姿勢、またはユーザのアクションの結果を指図する、他の入力)を使用して、同一仮想オブジェクトを選択することを所望する場合、ユーザは、頭部の精密な移動を制御する必要があり得、これは、筋肉疲労を生じさせ得る。3D環境(例えば、VR/AR/MR環境)は、ユーザ入力がまた、深度(平面表面とは対照的に)に対して規定される必要があるであろうため、付加的課題をユーザ相互作用に追加し得る。本付加的深度寸法は、2D環境よりエラーの機会を作成し得る。例えば、2D環境では、ユーザ入力は、座標系内で水平軸および垂直軸に対して変換されることができる一方、3D環境では、ユーザ入力は、3軸(水平、垂直、および深度)に対して変換される必要があり得る。故に、ユーザ入力の不精密なトランザクションは、3軸(2D環境内の2軸ではなく)においてエラーを生じさせ得る。
直接ユーザ入力の既存の利点を利用しながら、3D空間内のオブジェクトと相互作用する正確度を改良し、ユーザ疲労を低減させるために、直接入力の複数のモードが、ユーザインターフェース動作を実行するために使用されてもよい。マルチモード入力はさらに、例えば、AR、VR、またはMR環境等のデータが豊富かつ動的な環境において、仮想オブジェクトとの相互作用のために、既存のコンピューティングデバイス(特に、ウェアラブルデバイス)を改良することができる。
マルチモードユーザ入力技法では、直接入力のうちの1つ以上のものは、ユーザが相互作用するであろう、標的仮想オブジェクト(対象とも称される)を識別し、標的仮想オブジェクト上で実施されるであろう、ユーザインターフェース動作を決定するために使用されてもよい。例えば、ユーザインターフェース動作は、選択、移動、ズーム、一時停止、再生等のコマンド動作と、コマンド動作のパラメータ(例えば、動作を行う方法、動作が生じるであろう場所または時間、標的オブジェクトが相互作用するであろうオブジェクト等)とを含んでもよい。標的仮想オブジェクトを識別し、標的仮想オブジェクト上で実施されるべき相互作用を決定する実施例として、ユーザは、仮想付箋を見て(頭部または眼姿勢入力モード)、テーブルを指し示し(ジェスチャ入力モード)、「それをそこに移動させる」と発し得る(音声入力モード)。ウェアラブルシステムは、語句「それをそこに移動させる」内の標的仮想オブジェクトが、仮想付箋(「それ」)であることを識別することができ、ユーザインターフェース動作が、仮想付箋をテーブル(「そこに」)移動させること(実行可能コマンド)を伴うことを決定することができる。本実施例では、コマンド動作は、仮想オブジェクトを「移動させる」ことであり得る一方、コマンド動作のパラメータは、目的地オブジェクトを含むことができ、これは、ユーザが指し示しているテーブルである。有利なこととして、ある実施形態では、ウェアラブルシステムは、ユーザインターフェース動作の全体的正確度を増加させることができる、または直接ユーザ入力の複数のモード(例えば、上記の実施例では、3つのモード、すなわち、頭部/眼姿勢、ジェスチャ、および音声)に基づいて、ユーザインターフェース動作を実施することによって、ユーザの相互作用の利便性を増加させることができる。例えば、「最左ブラウザを右に2.5フィート移動させる」と発する代わりに、ユーザは、「それをそこに移動させる」(発話入力において移動されているオブジェクトを指し示すことなく)と発しながら、頭部または手のジェスチャを使用して、オブジェクトが最左ブラウザであることを示し、頭部または手の移動を使用して、移動の距離を示すことができる。
(種々の入力モードを使用した仮想環境内の例示的相互作用)
図13は、1つのモードのユーザ入力を使用して仮想オブジェクトと相互作用する実施例を図示する。図13では、ユーザ1310は、HMDを装着しており、3つの場面1300a、1300b、および1300cにおいて、仮想コンテンツと相互作用している。ユーザの頭部位置(および対応する眼視線方向)は、幾何学的円錐1312aによって表される。本実施例では、ユーザは、HMDのディスプレイ220を介して、仮想コンテンツを知覚することができる。HMDと相互作用する間、ユーザは、ユーザ入力デバイス466を介して、テキストメッセージを入力することができる。場面1300aでは、ユーザの頭部は、その自然な静置位置1312aにあって、ユーザの手もまた、その自然静置位置1316aにある。しかしながら、ユーザは、ユーザ入力デバイス466上でテキストをタイプすることがより快適であり得るが、ユーザは、ユーザ入力デバイス466上のインターフェースを見て、文字が正しくタイプされていることを確実にすることができない。
ユーザ入力デバイス上に打ち込まれるテキストを見るために、ユーザは、場面1300bに示されるように、手を位置1316bまで移動させることができる。故に、手は、頭部がその自然な静置位置1312aにあるとき、ユーザの頭部のFOV内にあるであろう。しかしながら、位置1316bは、手の自然な静置位置ではなく、その結果、ユーザに疲労を生じさせ得る。代替として、場面1300cに図示されるように、ユーザは、手を自然静置位置1316aに維持するために、その頭部を位置1312cに移動させることができる。しかしながら、ユーザの頸部の周囲の筋肉は、頭部の不自然な位置に起因して、疲労し得、ユーザのFOVは、外界に向かってではなく、地面または床に向かって向けられている(ユーザが混雑したエリアを歩行している場合、非安全であり得る)。場面1300bまたは場面1300cのいずれかでは、ユーザの自然人間工学は、ユーザが単一入力モードを使用してユーザインターフェース動作を実施するとき、所望のユーザインターフェース動作を満たすために犠牲にされる。
本明細書に説明されるウェアラブルシステムは、少なくとも部分的に、場面1300bおよび1300cに描写される人間工学的限界を緩和することができる。例えば、仮想インターフェースは、場面1300aでは、ユーザの視野内に投影されることができる。仮想インターフェースは、ユーザが、自然位置からタイプされる入力を観察することを可能にすることができる。
ウェアラブルシステムはまた、デバイス制約なく、仮想コンテンツを表示し、それとの相互作用をサポートすることができる。例えば、ウェアラブルシステムは、複数のタイプの仮想コンテンツをユーザに提示することができ、ユーザは、タッチパッドを使用して、1つのタイプのコンテンツと相互作用しながら、キーボードを使用して、別のタイプのコンテンツと相互作用することができる。有利なこととして、いくつかの実施形態では、ウェアラブルシステムは、信頼度スコア(より高い信頼度スコアは、システムが正しい標的仮想オブジェクトを識別したことのより高い信頼度(または尤度)を示す)を計算することによって、標的仮想オブジェクトである仮想コンテンツ(ユーザが作用するように意図される)を決定することができる。標的仮想オブジェクトを識別することに関する詳細な実施例は、図15-18Bを参照して説明される。
図14は、ユーザ入力モードの組み合わせを使用して仮想オブジェクトを選択する実施例を図示する。場面1400aでは、ウェアラブルシステムは、ユーザ1410に、正方形1422、円形1424、および三角形1426によって表される、複数の仮想オブジェクトを提示することができる。
ユーザ1410は、場面1400bに図示されるように、頭部姿勢を使用して、仮想オブジェクトと相互作用することができる。これは、頭部姿勢入力モードの実施例である。頭部姿勢入力モードは、仮想オブジェクトを標的化または選択するための円錐キャスティングを伴ってもよい。例えば、ウェアラブルシステムは、円錐1430をユーザの頭部から仮想オブジェクトに向かって投じることができる。ウェアラブルシステムは、仮想オブジェクトのうちの1つ以上のものが円錐の体積内に入るかどうかを検出し、ユーザが選択することを意図するオブジェクトを識別することができる。本実施例では、円錐1430は、円形1424および三角形1426と交差する。したがって、ウェアラブルシステムは、ユーザが円形1424または三角形1426のいずれかを選択することを意図することを決定することができる。しかしながら、円錐1430は、円形1424および三角形1426の両方と交差するため、ウェアラブルシステムは、頭部姿勢入力単独に基づいて、標的仮想オブジェクトが円形1424または三角形1426であるかどうかを確認することが不可能であり得る。
場面1400cでは、ユーザ1410は、トーテム(例えば、ハンドヘルド遠隔制御デバイス)等のユーザ入力デバイス466を手動で配向することによって、仮想オブジェクトと相互作用することができる。これは、ジェスチャ入力モードの実施例である。本場面では、ウェアラブルシステムは、これらの2つのオブジェクトが、ユーザ入力デバイス466が指し示している方向にあるため、円形1424または正方形1422のいずれかが、意図される標的であることを決定することができる。本実施例では、ウェアラブルシステムは、ユーザ入力デバイス466の位置または配向を検出することによって(例えば、ユーザ入力デバイス466内のIMUを介して)、またはユーザ入力デバイス466から生じる円錐キャスティングを実施することによって、ユーザ入力デバイス466の方向を決定することができる。円形1424および正方形1422は両方とも、標的仮想オブジェクトの候補であるため、ウェアラブルシステムは、ジェスチャ入力モードのみに基づいて、それらのうちのいずれが、ユーザが実際に選択することを所望するオブジェクトであることを確認することができない。
場面1400dでは、ウェアラブルシステムは、マルチモードユーザ入力を使用して、標的仮想オブジェクトを決定することができる。例えば、ウェアラブルシステムは、円錐キャスティング(頭部姿勢入力モード)と、ユーザ入力デバイスの配向(ジェスチャ入力モード)とから取得される両結果を使用して、標的仮想オブジェクトを識別することができる。本実施例では、円形1424が、円錐キャスティングからの結果と、ユーザ入力デバイスから取得される結果との両方において識別された候補である。したがって、ウェアラブルシステムは、これらの2つの入力モードを使用して、高信頼度を伴って、標的仮想オブジェクトが円形1424であることを決定することができる。場面1400dにさらに図示されるように、ユーザは、第3の入力モード(すなわち、音声)の実施例である、音声コマンド1442(「それを移動させる」として図示される)を与え、標的仮想オブジェクトと相互作用することができる。ウェアラブルシステムは、単語「それ」と標的仮想オブジェクト、単語「移動させる」と実行されるべきコマンドを関連付けることができ、故に、円形1424を移動させることができる。しかしながら、音声コマンド1442自体(ユーザ入力デバイス466または円錐キャスティング143からのインジケーションを伴わない)は、ウェアラブルシステムが、単語「それ」と関連付けられるオブジェクトを把握し得ないため、混乱をウェアラブルシステムに生じさせ得る。
有利なこととして、いくつかの実施形態では、複数の入力モードを受け取り、仮想オブジェクトを識別し、それと相互作用することによって、入力モード毎に要求される精度の量は、低減され得る。例えば、円錐キャスティングは、円錐がユーザからより遠く離れるにつれて、円錐の直径が増加するため、遠く離れたレンダリング平面におけるオブジェクトを正確に示すことが不可能であり得る。他の実施例として、ユーザは、入力デバイスを特定の配向に保持し、標的オブジェクトに向かって指し示し、特定の語句またはペースを用いて発話し、正しい音声入力を確実にする必要があり得る。しかしながら、音声入力および円錐キャスティングから(頭部姿勢または入力デバイスを使用したジェスチャのいずれかから)の結果を組み合わせることによって、ウェアラブルシステムは、依然として、入力(例えば、円錐キャスティングまたは音声入力)のいずれかが精密であることを要求せずに、標的仮想オブジェクトを識別することができる。例えば、円錐キャスティングが、複数のオブジェクトを選択する(例えば、場面1400b、1400cを参照して説明されるように)場合でも、音声入力は、選択を絞り込む(例えば、選択に関する信頼度スコアを増加させる)ことに役立ち得る。例えば、円錐キャスティングは、3つのオブジェクトを捕捉し得る、そのうち、第1のオブジェクトは、ユーザの右にあって、第2のオブジェクトは、ユーザの左にあって、第3のオブジェクトは、ユーザのFOVの中心にある。ユーザは、「最右オブジェクトを選択する」と発することによって、選択を絞り込むことができる。別の実施例として、2つの同じ形状のオブジェクトが、ユーザのFOV内に存在し得る。ユーザが正しいオブジェクトを選択するために、ユーザは、音声コマンドを介して、オブジェクトに対するさらなる説明を与える必要があり得る。例えば、「正方形オブジェクトを選択する」と発するのではなく、ユーザは、「赤色の正方形オブジェクトを選択する」と発する必要があり得る。しかしながら、円錐キャスティングを用いることで、音声コマンドは、精密である必要はなくなり得る。例えば、ユーザは、正方形オブジェクトのうちの1つを見て、「正方形オブジェクトを選択する」またはさらに「オブジェクトを選択する」と発することができる。ウェアラブルシステムは、ユーザの視線方向と一致する正方形オブジェクトを自動的に選択することができ、ユーザの視線方向にない正方形オブジェクトを選択することはないであろう。
いくつかの実施形態では、本システムは、入力モードの組み合わせのための選好の階層を有してもよい。例えば、ユーザは、その頭部が向いている方向を見る傾向にある。したがって、眼視線および頭部姿勢は、相互に類似する情報を提供し得る。頭部姿勢および眼視線の組み合わせは、組み合わせが、眼視線単独または頭部姿勢単独の使用と比較して、多くの余剰情報を提供しないため、あまり好ましくない場合がある。故に、本システムは、概して、重複情報ではなく、対比情報を提供する、モード入力を選択するためのモード入力選好の階層を使用してもよい。いくつかの実施形態では、階層は、頭部姿勢および音声を一次モード入力として使用し、眼視線およびジェスチャが続くものである。
故に、本明細書にさらに説明されるように、マルチモード入力に基づいて、本システムは、各そのようなオブジェクトが標的オブジェクトである、ユーザの環境内の種々のオブジェクトに関する信頼度スコアを計算することができる。本システムは、標的オブジェクトとして、最高信頼度スコアを有する環境内の特定のオブジェクトを選択することができる。
図15は、直接ユーザ入力の組み合わせを使用して仮想オブジェクトと相互作用する実施例を図示する。図15に描写されるように、ユーザ1510は、仮想コンテンツを表示するように構成される、HMD1502を装着している。HMD1502は、本明細書に説明されるウェアラブルシステム200の一部であってもよく、ベルト装着型電力および処理パック1503を含んでもよい。HMD1502は、ユーザ入力をトーテム1516から受け取るように構成されてもよい。HMD1502のユーザ1510は、第1のFOV1514を有することができる。ユーザは、第1のFOV1514内の仮想オブジェクト1512を観察することができる。
ユーザ1510は、直接入力の組み合わせに基づいて、仮想オブジェクト1512と相互作用することができる。例えば、ユーザ1510は、ユーザの頭部または眼姿勢に基づく円錐キャスティング技法を通して、またはトーテム1516によって、音声コマンドによって、またはこれらの(または他の)入力モード(例えば、図14を参照して説明されるように)の組み合わせによって、仮想オブジェクト1512を選択することができる。
ユーザ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の中心に移動させてもよい。
(マルチモードユーザ入力を用いて標的仮想オブジェクトまたはユーザインターフェース動作を識別する実施例)
図14を参照して説明されるように、いくつかの状況では、ウェアラブルシステムは、単一入力モードを使用して、ユーザが相互作用することを意図する標的仮想オブジェクトを識別する(十分な信頼度を伴って)ことが不可能であり得る。さらに、複数のモードのユーザ入力が、使用される場合でも、1つのモードのユーザ入力は、1つの仮想オブジェクトを示し得る一方、別のモードのユーザ入力は、異なる仮想オブジェクトを示し得る。
曖昧性を解決し、マルチモードユーザ入力をサポートする、改良されたウェアラブルシステムを提供するために、ウェアラブルシステムは、モードのユーザ入力を集約し、信頼度スコアを計算し、所望の仮想オブジェクトまたはユーザインターフェース動作を識別することができる。前述のように、より高い信頼度スコアは、システムが所望の標的オブジェクトを識別したことのより高い確率または尤度を示す。
図16は、入力モードを集約するための例示的コンピューティング環境を図示する。例示的環境1600は、例えば、アプリケーションA1672、B1674、およびC1676と関連付けられた3つの仮想オブジェクトを含む。図2A、2B、および9を参照して説明されるように、ウェアラブルシステムは、種々のセンサを含むことができ、種々のユーザ入力をこれらのセンサから受信し、ユーザ入力を分析し、例えば、本明細書に説明されるトランスモード入力融合技法を使用して、複合現実960と相互作用することができる。例示的環境1600では、中央ランタイムサーバ1650は、直接入力1610および間接ユーザ入力1630を集約し、アプリケーションのためのマルチモード相互作用を生産することができる。直接入力1610の実施例は、ジェスチャ1612、頭部姿勢1614、音声入力1618、トーテム1622、眼視線の方向(例えば、眼視線追跡1624)、他のタイプの直接入力1626等を含んでもよい。間接入力1630の実施例は、環境情報(例えば、環境追跡1632)、および地理的場所1634を含んでもよい。中央ランタイムサーバ1650は、遠隔処理モジュール270を含んでもよい。ある実装では、ローカル処理およびデータモジュール260(またはプロセッサ128)は、中央ランタイムサーバ1650の1つ以上の機能を実施してもよい。ローカル処理およびデータモジュール260はまた、遠隔処理モジュール270と通信し、入力モードを集約してもよい。
ウェアラブルシステムは、外向きに面した結像システム464を使用して、ジェスチャ1612を追跡することができる。ウェアラブルシステムは、図9に説明される種々の技法を使用して、手のジェスチャを追跡することができる。例えば、外向きに面した結像システム464は、ユーザの手の画像を入手し、画像を対応する手のジェスチャにマッピングすることができる。外向きに面した結像システム464は、FOVカメラまたは深度カメラ(深度検出のために構成される)を使用して、ユーザの手のジェスチャを結像してもよい。中央ランタイムサーバ1650は、オブジェクト認識装置708を使用して、ユーザの頭部ジェスチャを識別することができる。ジェスチャ1612はまた、ユーザ入力デバイス466によって追跡されることができる。例えば、ユーザ入力デバイス466は、タッチセンサ式表面を含んでもよく、これは、例えば、スワイプジェスチャまたはタップジェスチャ等のユーザの手移動を追跡することができる。
HMDは、IMUを使用して、頭部姿勢1614を認識することができる。頭部1410は、3つのタイプの回転(例えば、ヨー、ピッチ、およびロール)および3つのタイプの変換(例えば、前後揺、左右揺、および上下揺)を含む、複数の自由度を有してもよい。IMUは、例えば、頭部の3-DOF移動または6-DOF移動を測定するように構成されることができる。IMUから取得される測定値は、処理するために(例えば、頭部姿勢を識別するため)、中央ランタイムサーバ1650に通信されてもよい。
ウェアラブルシステムは、内向きに面した結像システム462を使用して、眼視線追跡1624を実施することができる。例えば、内向きに面した結像システム462は、ユーザの眼の領域の画像を取得するように構成される、眼カメラを含むことができる。中央ランタイムサーバ1650は、画像(例えば、オブジェクト認識装置708を介して)を分析し、ユーザの視線方向を推察する、またはユーザの眼移動を追跡することができる。
ウェアラブルシステムはまた、入力をトーテム1622から受信することができる。本明細書に説明されるように、トーテム1622は、ユーザ入力デバイス466の実施形態であることができる。加えて、または代替として、ウェアラブルシステムは、音声入力1618をユーザから受信することができる。トーテム1622および音声入力1618からの入力は、中央ランタイムサーバ1650に通信されることができる。中央ランタイムサーバ1650は、ユーザのオーディオデータ(例えば、マイクロホン232から入手された)を解析するために、リアルタイムまたは近リアルタイムで、自然言語処理を使用することができる。中央ランタイムサーバ1650は、例えば、隠れマルコフモデル、動的時間伸縮法(DTW)ベースの発話認識、ニューラルネットワーク、ディープフィードフォワードおよび再帰ニューラルネットワーク等の深層学習アルゴリズム、エンドツーエンド自動発話認識、機械学習アルゴリズム(図7および9を参照して説明される)、意味論分析、音響モデル化または言語モデル化等を使用する、他のアルゴリズム等の種々の発話認識アルゴリズムを適用することによって、発話の内容を識別することができる。中央ランタイムサーバ1650はまた、音声認識アルゴリズムを適用することができ、これは、話者がウェアラブルデバイスのユーザまたはユーザの背景内の人物かどうか等、話者の識別を識別することができる。
中央ランタイムサーバ1650はまた、ユーザがHMDと相互作用するとき、間接入力を受信することができる。HMDは、図2Aおよび2Bを参照して説明される種々の環境センサを含むことができる。環境センサによって入手されたデータ(単独で、または直接入力1610に関連するデータと組み合わせて)を使用して、中央ランタイムサーバ1650は、ユーザの環境(例えば、マップ920等)を再構築または更新することができる。例えば、中央ランタイムサーバ1650は、ユーザの環境に基づいてユーザの周囲光条件を決定することができる。本周囲光条件は、ユーザが相互作用し得る、仮想オブジェクトを決定するために使用されてもよい。例えば、ユーザが、明るい環境内に居るとき、中央ランタイムサーバ1650は、カメラがユーザのジェスチャ1612を観察し得るため、標的仮想オブジェクトが、ジェスチャ1612を入力モードとしてサポートする仮想オブジェクトであることを識別してもよい。しかしながら、環境が、暗い場合、中央ランタイムサーバ1650は、仮想オブジェクトが、ジェスチャ1612ではなく、音声入力1618をサポートするオブジェクトであり得ることを決定してもよい。
中央ランタイムサーバ1650は、環境追跡1632を実施し、直接入力モードを集約し、複数のアプリケーションのためのマルチモード相互作用を生産することができる。実施例として、ユーザが、静寂環境から雑音環境の中に進入すると、中央ランタイムサーバ1650は、音声入力1618を無効にしてもよい。環境に基づいて入力モードを選択するステップに関する付加的実施例は、図24をさらに参照して説明される。
中央ランタイムサーバ1650はまた、ユーザの地理的場所情報に基づいて、標的仮想オブジェクトを識別することができる。地理的場所情報1634はまた、環境センサ(例えば、GPSセンサ等)から入手されてもよい。中央ランタイムサーバ1650は、仮想オブジェクトとユーザとの間の距離が閾値距離内である、潜在的ユーザ相互作用のための仮想オブジェクトを識別してもよい。有利なこととして、いくつかの実施形態では、円錐キャスティング内の円錐は、システムによって調節可能な長さを有してもよい(例えば、環境内のオブジェクトの数または密度に基づいて)。ユーザのある半径内のオブジェクトを選択することによって、標的オブジェクトであり得る、潜在的オブジェクトの数が、有意に低減され得る。間接入力を入力モードとして使用する付加的実施例は、図21を参照して説明される。
(標的オブジェクトを確認する実施例)
中央ランタイムサーバ1650は、種々の技法を使用して、標的オブジェクトを決定することができる。図17Aは、格子ツリー分析を使用して標的オブジェクトを識別する実施例を図示する。中央ランタイムサーバ1650は、所与の値を入力ソースから導出し、ユーザが潜在的に相互作用し得る、候補仮想オブジェクトに関する可能性として考えられる値の格子を生産することができる。いくつかの実施形態では、値は、信頼度スコアであることができる。信頼度スコアは、ランク付け、格付け、評価、定量的または定質的値(例えば、1~10の範囲内の数値、パーセンテージまたはパーセンタイル、または「A」、「B」、「C」の定質的値等)等を含むことができる。各候補オブジェクトは、信頼度スコアと関連付けられてもよく、ある場合には、最高信頼度スコア(例えば、他のオブジェクトの信頼度スコアより高いまたは閾値スコアより高い)を伴う候補オブジェクトが、システムによって、標的オブジェクトとして選択される。他の場合では、閾値信頼度スコアを下回る信頼度スコアを伴うオブジェクトは、システムによって、標的オブジェクトとしての検討から排除され、これは、算出効率を改良することができる。
本明細書の多くの実施例では、標的仮想オブジェクトの選択またはあるグループの仮想オブジェクトからの選択を参照する。これは、例示的実装を例証するように意図され、限定することを意図するものではない。説明される技法は、仮想オブジェクトまたはユーザの環境内の物理的オブジェクトに適用されることができる。例えば、音声コマンド「それをそこに移動させる」は、仮想オブジェクト(例えば、仮想カレンダ)を物理的オブジェクト(例えば、ユーザの机の水平表面)上に移動させることを参照してもよい。または音声コマンド「それをそこに移動させる」は、仮想オブジェクト(例えば、仮想単語処理アプリケーション)を別の仮想オブジェクト内の別の場所(例えば、ユーザの仮想デスクトップ内の別の位置)に移動させることを参照してもよい。
コマンドのコンテキストはまた、システムが、仮想オブジェクト、物理的オブジェクト、または両方を識別するように試みるべきであるかどうかに関する情報を提供してもよい。例えば、コマンド「それをそこに移動させる」では、本システムは、AR/VR/MRシステムが、実際の物理的オブジェクトを移動させることができないため、「それ」が仮想オブジェクトであることを認識することができる。故に、本システムは、物理的オブジェクトを「それ」に関する候補として排除してもよい。上記の実施例に説明されるように、標的場所「そこに」は、仮想オブジェクト(例えば、ユーザの仮想デスクトップ)または物理的オブジェクト(例えば、ユーザの机)であり得る。
また、本システムは、コンテキストおよびその時点におけるシステムの目標に応じて、FOR、FOV、または固視野(例えば、図12A参照)であり得る、ユーザの環境内のオブジェクトに信頼度スコアを割り当ててもよい。例えば、ユーザは、両方ともユーザのFOV内にある、仮想カレンダをユーザの机上の位置に移動させることを所望し得る。本システムは、状況のコンテキストが、仮想カレンダを移動させるコマンドがユーザのFOV内の標的目的地となるであろうことを示唆するため、ユーザのFOR内の全てのオブジェクトではなく、ユーザのFOV内のオブジェクトを分析してもよく、これは、処理速度または効率を改良し得る。別の場合では、ユーザは、仮想映画アプリケーションにおいて、映画選択のメニューを閲覧し得、映画のいくつかの選択肢を固視している場合がある。本システムは、全FOV(またはFOR)ではなく、ユーザの固視野(例えば、ユーザの眼視線に基づいて)内の映画選択のみを分析してもよく(かつ、例えば、信頼度スコアを提供する)、これもまた、処理効率または速度を増加させ得る。
図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%信頼度を分割することができる。
中央ランタイムサーバ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を選択するようにプログラムされてもよい。
図17Aにおける実施例は、入力デバイスと関連付けられた値(例えば、信頼度スコア)を候補仮想オブジェクト間で等しく分割するが、ある実施形態では、値分布は、候補仮想オブジェクト間で等しくなくてもよい。例えば、頭部姿勢1614が、値10を有する場合、アプリケーションA1672は、値7を受信してもよく、アプリケーションB1674は、値3を受信してもよい(頭部姿勢が、よりA1672に向かって向いているため)。別の実施例として、頭部姿勢1614が、定質的グレード「A」を有する場合、アプリケーションA1672は、グレード「A」を割り当てられてもよい一方、アプリケーションB1674およびC1676は、頭部姿勢1614からいずれのものも受信しない。
ウェアラブルシステム(例えば、中央ランタイムサーバ1650)は、ユーザが標的仮想オブジェクトをより容易に知覚し得るように、焦点インジケータを標的仮想オブジェクトに割り当てることができる。焦点インジケータは、視覚的焦点インジケータであることができる。例えば、焦点インジケータは、後光(オブジェクトを実質的に囲繞する、またはその近傍にある)、色、知覚されるサイズまたは深度変化(例えば、選択されると、標的オブジェクトをより近くにおよび/またはより大きく現れさせる)、またはユーザの注意を引き付ける、他の視覚的効果を備えることができる。焦点インジケータはまた、振動、鳴動、ビープ等の可聴または触覚的効果を含むことができる。焦点インジケータは、システムがコマンドと関連付けられたオブジェクトを正しく決定した(例えば、「それをそこに移動させる」コマンドにおける「それ」および「そこに」を正しく決定した)ことをユーザに確認する(焦点インジケータを介して)ことによって、システムが「正しく機能している」ことの有用なフィードバックをユーザに提供することができる。例えば、識別された標的仮想オブジェクトは、第1の焦点インジケータを割り当てられることができ、目的地場所(例えば、コマンドにおける「そこに」)は、第2の焦点インジケータを割り当てられることができる。ある場合には、システムが、標的オブジェクトを正しくなく決定した場合、ユーザは、例えば、正しいオブジェクトを注視(固視)し、「それではない」等の音声コマンドを提供することによって、システムの決定を上書きしてもよい。
(標的ユーザインターフェース動作を識別する実施例)
標的仮想オブジェクトを識別することに加え、またはその代替として、中央ランタイムサーバ1650はまた、受信される複数の入力に基づいて、標的ユーザインターフェース動作を決定することができる。図17Bは、マルチモード入力に基づいて標的ユーザインターフェース動作を決定する実施例を図示する。描写されるように、中央ランタイムサーバ1650は、複数の入力を頭部姿勢1614およびジェスチャ1612の形態で受信することができる。中央ランタイムサーバ1650は、例えば、アプリケーションA1672およびアプリケーションB1674と関連付けられた複数の仮想オブジェクトをユーザに表示することができる。しかしながら、頭部姿勢入力モード自体は、頭部姿勢がアプリケーションA1672と関連付けられたユーザインターフェース動作に適用される50%信頼度(修正オプション1772として示される)が存在し、頭部姿勢がアプリケーションB1674と関連付けられた別のユーザインターフェース動作に適用される別の50%信頼度(修正オプション1774として示される)が存在するため、所望のユーザインターフェースアクションを決定するためには不十分であり得る。
種々の実施形態では、特定のアプリケーションまたはユーザインターフェース動作のタイプが、ある入力モードに対してより応答性であるようにプログラムされてもよい。例えば、アプリケーションB1674のHTMLタグまたはJava(登録商標)スクリプトプログラミングは、アプリケーションA1672のものよりジェスチャ入力に対して応答性であるように設定されてもよい。例えば、アプリケーションA1672は、ジェスチャ1612より頭部姿勢1672に対して応答性であってもよい一方、「選択」動作は、ユーザが、ある場合には、頭部姿勢より、ジェスチャを使用して、オブジェクトを選択する可能性がより高いため、頭部姿勢1614よりジェスチャ1612(例えば、タップジェスチャ)に対して応答性であってもよい。
図17Bを参照すると、ジェスチャ1612は、アプリケーションB1674におけるあるタイプのユーザインターフェース動作に対して応答性であってもよい。図示されるように、ジェスチャ1612は、アプリケーションBのためのユーザインターフェース動作と関連付けられたより高い信頼度を有し得る一方、ジェスチャ1612は、アプリケーションA1672におけるインターフェース動作のために適用不可能であり得る。故に、標的仮想オブジェクトが、アプリケーションA1672である場合、頭部姿勢1614から受信された入力は、標的ユーザインターフェース動作であり得る。しかし、標的仮想オブジェクトが、アプリケーションB1674である場合、ジェスチャ1612から受信された入力(単独で、または頭部姿勢1614に基づく入力と組み合わせて)は、標的ユーザインターフェース動作であり得る。
別の実施例として、ジェスチャ1612は、ユーザがアプリケーションBと相互作用するとき、頭部姿勢1614より高い信頼度レベルを有するため、ジェスチャ1612は、アプリケーションB1674のための一次入力モードとなり得る一方、頭部姿勢1614は、二次入力モードとなり得る。故に、ジェスチャ1612から受信された入力は、頭部姿勢1614より高い加重と関連付けられてもよい。例えば、頭部姿勢が、アプリケーションB1674と関連付けられた仮想オブジェクトが静止したままであるべきであることを示す一方、ジェスチャ1612が、仮想オブジェクトが左に移動されるべきであることを示す場合、中央ランタイムサーバ1650は、仮想オブジェクトを左に移動させてレンダリングしてもよい。ある実装では、ウェアラブルシステムは、ユーザが、一次入力モードを使用して、仮想オブジェクトと相互作用することを可能にすることができ、一次入力モードがユーザのアクションを決定するために不十分である場合、二次入力モードを検討することができる。例えば、ユーザは、主に、ジェスチャ1612を用いて、アプリケーションB1674と相互作用することができる。しかしながら、HMDが、標的ユーザインターフェース動作を決定することができない場合(例えば、複数の候補仮想オブジェクトがアプリケーションB1674内に存在し得るため、またはジェスチャ1612が明確ではない場合)、HMDは、頭部姿勢を入力として使用して、標的仮想オブジェクトまたはアプリケーションB1674上で実施されるべき標的ユーザインターフェース動作を確認することができる。
各入力モードと関連付けられたスコアは、所望のユーザインターフェース動作を決定するために集約されてもよい。図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上で実施するように意図されることを決定することができる。
本実施例では、中央ランタイムサーバ1650は、所与のオブジェクトに関する種々の入力の信頼度スコアを加算することによって生じた信頼度スコアを集約する。種々の他の実施形態では、中央ランタイムサーバ1650は、単純加算以外の技法を使用して、信頼度スコアを集約することができる。例えば、入力モードまたはスコアは、加重と関連付けられてもよい。その結果、信頼度スコアの集約は、入力モードまたはスコアに割り当てられる加重を考慮するであろう。加重は、ユーザ調節可能であって、ユーザが、HMDとのマルチモード相互作用の「応答性」を選択的に調節することを可能にしてもよい。加重はまた、コンテキストであってもよい。例えば、公共場所で使用される加重は、手のジェスチャより頭部または眼姿勢を強調し、HMDを動作させる間、ユーザに頻繁にジェスチャをとらせる可能性として考えられる社会的不適応を回避してもよい。別の実施例として、地下鉄、航空機、または電車では、音声コマンドは、ユーザが、そのような環境においてそのHMDに大声で話し掛けることを所望し得ないため、頭部または眼姿勢より低い加重を与えられてもよい。環境センサ(例えば、GPS)は、ユーザがHMDを動作させている適切なコンテキストを決定することを補助し得る。
図17A-17Cにおける実施例は、2つのオブジェクトを参照して図示されるが、本明細書に説明される技法はまた、より多いまたはより少ないオブジェクトが存在するときにも適用されることができる。加えて、これらの図を参照して説明される技法は、ウェアラブルシステムのアプリケーションまたは1つ以上のアプリケーションと関連付けられた仮想オブジェクトにも適用されることができる。さらに、本明細書に説明される技法はまた、頭部姿勢、眼視線、またはジェスチャ以外の直接または間接入力モードにも適用されることができる。例えば、音声コマンドもまた、使用されてもよい。加えて、中央ランタイムサーバ1650が、種々の入力モードの処理を説明するために、全体を通して実施例として使用されたが、HMDのローカル処理およびデータモジュール260はまた、中央ランタイムサーバ1650に加え、またはその代替として、動作の一部または全部を実施してもよい。
(信頼度スコアを計算する例示的技法)
ウェアラブルシステムは、種々の技法のうちの1つまたはその組み合わせを使用して、オブジェクトの信頼度スコアを計算することができる。図18Aおよび18Bは、ユーザのFOV内のオブジェクトに関する信頼度スコアを計算する実施例を図示する。ユーザのFOVは、例えば、円錐キャスティングの間、ユーザの頭部姿勢または眼視線に基づいて計算されてもよい。図18Aおよび18Bにおける信頼度スコアは、単一入力モード(例えば、ユーザの頭部姿勢等)に基づいてもよい。複数の信頼度スコアが、マルチモードユーザ入力に基づいて、計算され(種々のマルチモード入力の一部または全部に関して)、次いで、集約され、ユーザインターフェース動作または標的仮想オブジェクトを決定することができる。
図18Aは、仮想オブジェクトの信頼度スコアがユーザのFOV1810内に入る仮想オブジェクトの部分に基づいて計算される、実施例を図示する。図18Aでは、ユーザのFOVは、2つの仮想オブジェクト(円形1802および三角形1804によって表される)の一部を有する。ウェアラブルシステムは、FOV1810内に入るオブジェクトの投影されたエリアの割合に基づいて、信頼度スコアを円形および三角形に割り当てることができる。図示されるように、円形1802の約半分が、FOV1810内に入り、その結果、ウェアラブルシステムは、50%の信頼度スコアを円形1802に割り当ててもよい。別の実施例として、三角形の約75%は、FOV1810内にあって、したがって、ウェアラブルシステムは、75%の信頼度スコアを三角形1804に割り当ててもよい。
ウェアラブルシステムは、FOVおよびFOR内のコンテンツの回帰分析を使用して、FOV内の仮想オブジェクトの割合を計算することができる。図12Bを参照して説明されるように、ウェアラブルシステムは、FOR内のオブジェクトを追跡するが、ウェアラブルシステムは、FOV内の表示のために、FOV内のオブジェクト(またはオブジェクトの一部)をレンダリングプロジェクタ(例えば、ディスプレイ220)に送達してもよい。ウェアラブルシステムは、レンダリングプロジェクタのために提供される部分を決定し、全体としての仮想オブジェクトに対してレンダリングプロジェクタに送達される割合を分析し、FOV内の仮想オブジェクトのパーセンテージを決定することができる。
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に高い信頼度スコアを割り当てることができる。
図18Aおよび18Bを参照して説明される技法に加え、ウェアラブルシステムは、ユーザの相互作用の履歴分析に基づいて、信頼度スコアを仮想オブジェクトに割り当てることができる。実施例として、ウェアラブルシステムは、より高い信頼度スコアをユーザが頻繁に相互作用する仮想オブジェクトに割り当てることができる。別の実施例として、あるユーザは、音声コマンド(例えば、「それをそこに移動させる」)を使用して、仮想オブジェクトを移動させる傾向にあり得る一方、別のユーザは、手のジェスチャを使用することを好み得る(例えば、仮想オブジェクトに手を伸ばし、「握持」し、それを別の位置に移動させることによって)。本システムは、そのようなユーザ傾向を履歴分析から決定することができる。さらに別の実施例として、入力モードは、特定のユーザインターフェース動作または特定の仮想オブジェクトと頻繁に関連付けられ得、その結果、ウェアラブルシステムは、同一入力に基づいて、代替ユーザインターフェース動作または仮想オブジェクトが存在し得る場合でも、特定のユーザインターフェース動作または特定の仮想オブジェクトに対する信頼度スコアを増加させてもよい。
図18Aまたは18Bに描写されるように、視野1810または1820のいずれかを前提として、第2の入力モードは、適切な仮想オブジェクトまたは仮想オブジェクトにおける適切なユーザインターフェース動作の選択を促進することができる。例えば、ユーザは、「三角形を拡大する」と発し、視野1810内の三角形のサイズを増加させることができる。別の実施例として、図18Aでは、ユーザは、「それを2倍にする」等の音声コマンドを与えてもよい。ウェアラブルシステムは、仮想オブジェクト1804が、頭部姿勢に基づいて、より高い信頼度スコアを有するため、音声コマンドの対象(例えば、標的オブジェクト)が仮想オブジェクト1804であることを決定してもよい。有利なこととして、いくつかの実施形態では、これは、所望の結果を生産するために必要とされる相互作用の特異性を低減させる。例えば、ユーザは、ウェアラブルシステムが同一相互作用を達成するために、「三角形を2倍にする」と発する必要がない。
図18Aおよび18Bにおける三角形および円形は、例証目的のためだけのものである。本明細書に説明される種々の技法はまた、より複雑なユーザ相互作用をサポートする、仮想コンテンツに適用されることができる。
(物理的環境内の例示的マルチモード相互作用)
仮想オブジェクトと相互作用することに加え、またはその代替として、ウェアラブルシステムはまた、実世界環境内の広範囲の相互作用をもたらすことができる。図19Aおよび19Bは、マルチモード入力を使用して物理的環境と相互作用する実施例を図示する。図19Aでは、3つの入力モード、すなわち、手のジェスチャ1960、頭部姿勢1920、およびユーザ入力デバイス1940からの入力が、図示される。頭部姿勢1920は、姿勢センサを使用して決定されることができる。姿勢センサは、IMU、ジャイロスコープ、磁力計、加速度計、または図2Aおよび2Bを参照して説明される他のタイプのセンサであってもよい。手のジェスチャ1960は、外向きに面した結像システム464を使用して測定されてもよい一方、ユーザ入力デバイス1940は、図4に示されるユーザ入力デバイス466の実施形態であってもよい。
いくつかの実施形態では、ウェアラブルシステムはまた、ユーザの眼視線を測定することができる。眼視線は、ユーザの眼のそれぞれから2つの眼通視線が収束する位置まで延在する、ベクトルを含んでもよい。ベクトルは、ユーザが見ている方向を決定するために使用されることができ、収束点における、またはベクトルに沿った仮想コンテンツを選択または識別するために使用されることができる。そのような眼視線は、例えば、閃光検出、虹彩または瞳孔形状マッピング、赤外線照明、または個別の瞳孔配向から生じる交差点の回帰を伴う双眼結像等の眼追跡技法によって決定されてもよい。眼視線または頭部姿勢は、次いで、仮想オブジェクト選択のための円錐キャスティングまたはレイキャスティングのための源点と見なされ得る。
本明細書に説明されるように、ユーザの環境内の選択された仮想コンテンツを移動させるための相互作用イベント(例えば、「それをそこに置く」)は、コマンド動作(例えば、「置く」)、対象(例えば、上記のマルチモード選択技法から決定され得るような「それ」)、およびパラメータ(例えば、「そこに」)の決定を要求し得る。コマンド動作(または短縮してコマンド)および対象(標的オブジェクトまたは標的仮想オブジェクトとも称される)は、入力モードの組み合わせを使用して決定されてもよい。例えば、対象1912を移動させるコマンドは、単独で、または組み合わせて、頭部姿勢1920変化(例えば、頭部方向転換または点頭)または手のジェスチャ1960(例えば、スワイプジェスチャ)に基づいてもよい。別の実施例として、対象1912は、頭部姿勢および眼視線の組み合わせに基づいて決定されてもよい。故に、マルチモードユーザ入力に基づくコマンドもまた、時として、マルチモード入力コマンドと称され得る。
パラメータはまた、単一入力またはマルチモード入力を使用して決定されてもよい。パラメータは、ユーザの物理的環境内のオブジェクト(例えば、テーブルまたは壁)またはユーザの仮想環境内のオブジェクト(例えば、映画アプリケーション、アバタ、またはゲーム内の仮想建物)と関連付けられてもよい。実世界パラメータを識別するステップは、いくつかの実施形態では、より迅速かつより正確なコンテンツ設置応答を可能にすることができる。例えば、特定の仮想オブジェクト(または仮想オブジェクトの一部)は、水平配向を伴って略平面であってもよい(例えば、仮想オブジェクトの法線は、部屋の床と垂直である)。ユーザが、仮想オブジェクトを移動させる相互作用を開始すると、ウェアラブルシステムは、類似配向を伴う実世界表面(例えば、テーブルの表面)を識別し、仮想オブジェクトを実世界表面に移動させることができる。ある実施形態では、そのような移動は、自動であってもよい。例えば、ユーザは、仮想書籍を床上にある場所から移動させることを所望し得る。部屋内で利用可能な唯一の水平表面は、ユーザの勉強机であり得る。故に、ウェアラブルシステムは、机の表面が、ユーザが書籍を移動させることを所望するであろう、最も可能性が高い場所であるため、ユーザが付加的コマンドまたはパラメータを入力せずに、「それを移動させる」の音声コマンドに応答して、仮想書籍を勉強机の表面に自動的に移動させることができる。別の実施例として、ウェアラブルシステムは、所与のコンテンツのための好適なサイズの実世界表面を識別することができ、それによって、ユーザに合致するより良好なパラメータを提供してもよい。例えば、ユーザが、所与のディスプレイサイズを伴う仮想ビデオ画面を鑑賞しており、単純音声コマンドを用いて、それを特定の表面に移動させることを所望する場合、本システムは、仮想ビデオのディスプレイサイズを最良にサポートするために必要な表面積を提供する、実世界表面を決定してもよい。
ウェアラブルシステムは、標的仮想オブジェクトを識別するステップを参照して説明される技法を使用して、標的パラメータ(例えば、標的表面)を識別することができる。例えば、ウェアラブルシステムは、間接ユーザ入力または直接ユーザ入力に基づいて、複数の標的パラメータと関連付けられた信頼度スコアを計算することができる。実施例として、ウェアラブルシステムは、直接入力(ユーザの頭部姿勢等)および間接入力(壁の特性(例えば、垂直表面)等)に基づいて、壁と関連付けられた信頼度スコアを計算することができる。
(実世界パラメータを識別する例示的技法)
ウェアラブルシステムは、種々の技法を使用して、マルチモード入力コマンドのパラメータ(標的場所等)を決定することができる。例えば、ウェアラブルシステムは、例えば、SLAMプロトコルの環境深度情報への適用(例えば、図9を参照して説明される)または環境のメッシュモデルの構築またはアクセス等、種々の深度感知技法を使用することができる。いくつかの実施形態では、深度感知は、3D空間内の既知の点間の距離(例えば、HMD上のセンサ間の距離)と、実世界内のオブジェクトの表面(例えば、仮想コンテンツを位置させるための壁)上の着目点(「POI」)とを決定する。本深度情報は、世界マップ920内に記憶されてもよい。相互作用のためのパラメータは、POIの集合に基づいて決定されてもよい。
ウェアラブルシステムは、これらの深度感知技法を深度センサから取得されるデータに適用し、物理的環境の分界および境界を決定することができる。深度センサは、外向きに面した結像システム464の一部であってもよい。いくつかの実施形態では、深度センサは、IMUに結合される。深度センサから入手されたデータは、相互に対する複数のPOIの配向を決定するために使用されることができる。例えば、ウェアラブルシステムは、POIに関する切断符号付き距離関数(「TSDF」)を算出することができる。TSDFは、POI毎の数値を含むことができる。数値は、点が特定の平面の所与の公差内にあるとき、ゼロであって、点が特定の平面から第1の方向(例えば、上方または外側)に離間されるとき、正であって、点が特定の平面から第2の(例えば、反対)方向(例えば、下方または内側)に離間されるとき、負であってもよい。算出されたTSDFは、特定の平面内、その上方、および下方に整合され、特定の表面を構築するまたは表す、IMUによって決定されるような配向に沿ったブリックまたはボックスの3-D立体グリッドを定義するために使用されることができる。
所与の平面公差外のPOI(例えば、公差を上回るTSDFの絶対値を伴う)は、排除され、所与の公差内の相互に隣接する複数のPOIのみ残され、実世界環境内の表面の仮想表現を作成してもよい。例えば、実世界環境は、会議テーブルを含んでもよい。種々の他のオブジェクト(例えば、電話、ラップトップコンピュータ、コーヒーマグカップ等)が、会議テーブルの上部に存在し得る。会議テーブルの表面に関して、ウェアラブルシステムは、会議テーブルと関連付けられたPOIを保ち、他のオブジェクトに関するPOIを除去することができる。その結果、平面マップ(会議テーブルの表面の輪郭を描く)は、会議テーブルに属する点のみを伴う、会議テーブルを表すことができる。マップは、会議テーブルの上部のオブジェクトと関連付けられた点を除外することができる。ある実施形態では、平面マップ内の残りのPOIの集合は、平面マップのこれらの領域が仮想オブジェクトが設置され得る空間を表すため、環境の「作業可能表面」と称され得る。例えば、ユーザが、仮想画面をテーブルに移動させることを所望するとき、ウェアラブルシステムは、ユーザの環境内の好適な表面(テーブル上部、壁等)を識別する一方、オブジェクト(例えば、コーヒーマグカップまたは鉛筆または壁の絵)または画面を設置するために好適ではない表面(例えば、書棚の表面)を排除することができる。本実施例では、識別された好適な表面は、環境の作業可能表面であり得る。
図19Aに示される実施例に戻って参照すると、環境1900は、物理的壁1950を含むことができる。HMDまたはユーザ入力デバイス1940は、深度センサシステム(例えば、飛行時間センサまたは垂直キャビティ面発光レーザ(VCSEL)等)および姿勢センサ(例えば、IMU等)を格納することができる。深度センサシステムによって取得されるデータは、ユーザの環境内の種々のPOIを識別するために使用されることができる。ウェアラブルシステムは、略平面であるPOIをともにグループ化し、境界ポリゴン1910を形成することができる。境界ポリゴン1910は、作業可能表面の例示的実施形態であり得る。
いくつかの実施形態では、外向きに面した結像システム464は、ユーザジェスチャ1960を識別することができ、これは、実世界環境1900内の領域を指で指し示すことを含んでもよい。外向きに面した結像システム464は、境界ポリゴン1910に向かって指で指し示すことの疎点ベクトル構造を決定することによって、事前に測定された境界ポリゴン1910を識別することができる。
図19Aに図示されるように、仮想ビデオ画面1930が、境界ポリゴン1910の内側に存在することができる。ユーザは、マルチモード入力を使用して、仮想ビデオ画面1930の内側の仮想オブジェクト1912と相互作用することができる。図19Bは、実世界環境内の仮想コンテンツのマルチモード入力を使用した相互作用を描写する。図19Bにおける環境は、垂直表面1915(壁の一部であってもよい)と、テーブル上部の表面1917とを含む。第1の状態1970aでは、仮想コンテンツ1926は、最初に、壁表面1915上の境界ポリゴン1972a内に表示される。ユーザは、例えば、円錐キャスティングまたはマルチモード入力(ジェスチャ1960、頭部姿勢1920、眼視線、またはユーザ入力デバイス1940からの入力のうちの2つ以上のものを含む)を通して、仮想オブジェクト1926を選択することができる。
ユーザは、別の入力をマルチモード入力の一部として使用して、表面1917を目的地として選択することができる。例えば、ユーザは、手のジェスチャと組み合わせられる頭部姿勢を使用して、表面1917が目的地であることを示すことができる。ウェアラブルシステムは、同一平面上にあるように現れるPOIをグループ化することによって、表面1917(およびポリゴン1972b)を認識することができる。ウェアラブルシステムはまた、他の表面認識技法を使用して、表面1917を識別することができる。
ユーザはまた、第2の状態1970bに図示されるように、マルチモード入力を使用して、仮想コンテンツ1126を表面1917上の境界ポリゴン1972bに移送することができる。例えば、ユーザは、頭部姿勢の変化およびユーザ入力デバイス1940の移動の組み合わせを通して、仮想コンテンツ1926を移動させることができることができる。
別の実施例として、ユーザは、オーディオストリームを受信し、本コマンドをそれから解析し得る(本明細書に説明されるように)、ウェアラブルシステムのマイクロホン232を介して、「それをそこに移動させる」と発し得る。ユーザは、本音声コマンドと、頭部姿勢、眼視線、ジェスチャ、またはトーテムの作動を組み合わせることができる。ウェアラブルシステムは、仮想オブジェクト1926が最高信頼度オブジェクトであるため、仮想オブジェクト1926を本コマンドの対象として検出することができる(例えば、場面1970a内の破線は、ユーザの指1960を示し、HMD1920およびトーテム1940は、オブジェクト1926に向かって配向されることを参照されたい)。ウェアラブルシステムはまた、コマンド動作を「移動させる」として識別し、コマンドのパラメータが「そこに」であることを決定することができる。ウェアラブルシステムはさらに、「そこに」が、音声以外の入力モード(例えば、眼視線、頭部姿勢、ジェスチャ、トーテム)に基づいて、境界ポリゴン1972bを指すことを決定することができる。
相互作用イベントにおけるコマンドは、複数のパラメータの調節および計算を伴うことができる。例えば、パラメータは、仮想オブジェクトの目的地、場所、配向、外観(例えば、サイズまたは形状)、またはアニメーションを含んでもよい。ウェアラブルシステムは、パラメータを変化させる際、直接入力が明示的ではない場合でも、パラメータを自動的に計算することができる。実施例として、ウェアラブルシステムは、垂直表面1915から水平表面1917に移動されるとき、仮想オブジェクト1926の配向を自動的に変化させることができる。第1の状態1970aでは、仮想コンテンツ1926は、表面1915上で略垂直配向である。仮想コンテンツ1926が、第2の状態1970bにおける表面1917に移動されるとき、仮想コンテンツ1926の配向は、仮想オブジェクト1924によって示されるように、一貫して保たれ得る(例えば、垂直配向を維持する)。ウェアラブルシステムはまた、仮想コンテンツ1926が、仮想オブジェクト1922によって図示されるように、水平位置にあるように現れるように、仮想コンテンツ1926の配向を自動的に調節し、表面1917の配向と整合させることができる。本実施例では、配向は、間接入力としての環境追跡1632に基づいて、自動的に調節されてもよい。ウェアラブルシステムは、ウェアラブルシステムが、オブジェクトが標的目的地オブジェクトであることを決定するとき、オブジェクト(例えば、表面1917)の特性を自動的に考慮することができる。ウェアラブルシステムは、標的目的地オブジェクトの特性に基づいて、仮想オブジェクトのパラメータを調節することができる。本実施例では、ウェアラブルシステムは、表面1917の配向に基づいて、仮想オブジェクトの1926の配向を自動的に回転させる。
自動的に設置または移動させる仮想オブジェクトの付加的実施例は、2017年8月9日に出願され、「AUTOMATIC PLACEMENT OF A VIRTUAL
OBJECT IN A THREE-DIMENSIONAL SPACE」と題され、米国特許公開第2018\0045963として公開された、米国出願第15/673,135号(本開示は、参照することによってその全体として本明細書に組み込まれる)に説明される。
ある実装では、入力は、複数のパラメータを明示的に修正してもよい。「それをそこに平坦に設置する」の音声コマンドは、表面1917を目的地として識別することに加え、仮想オブジェクト1926の配向を改変し得る。本実施例では、単語「平坦」および単語「そこに」は両方とも、パラメータ値であることができ、「そこに」は、ウェアラブルシステムに、標的仮想オブジェクトの場所を更新させる一方、単語「平坦」は、目的地場所における標的仮想オブジェクトの配向と関連付けられる。パラメータ「平坦」を実行するために、ウェアラブルシステムは、仮想オブジェクト1926の配向を合致させ、表面1917の配向に合致させることができる。
仮想オブジェクトを選択および移動させることに加えて、またはその代替として、マルチモード入力は、他の方法において、仮想コンテンツと相互作用することができる。図20は、マルチモード入力に基づいて仮想オブジェクトを自動的にリサイズする実施例を図示する。図20では、ユーザ1510は、HMD1502を装着することができ、手のジェスチャおよび音声コマンド2024を使用して、仮想オブジェクトと相互作用することができる。図20は、4つの場面2000a、2000b、2000c、および2000dを図示する。各場面は、ディスプレイ画面と、仮想オブジェクト(スマイリーフェイスによって図示される)とを含む。
場面2000aでは、ディスプレイ画面は、サイズ2010を有し、仮想オブジェクトは、サイズ2030を有する。ユーザは、手のジェスチャをジェスチャ2020からジェスチャ2022に変化させ、ユーザが仮想オブジェクトまたはディスプレイ画面のいずれかのサイズを調節することを所望することを示すことができる。ユーザは、音声入力2024を使用して、仮想オブジェクトまたはディスプレイ画面が操作の対象であるかどうかを示すことができる。
実施例として、ユーザは、ディスプレイ画面および仮想オブジェクトの両方を拡大することを所望し得る。故に、ユーザは、入力ジェスチャ2022を拡大するコマンドとして使用することができる。拡張の程度に関するパラメータは、広げた指の程度によって表されてもよい。その一方で、ユーザは、音声入力2024を使用して、相互作用の対象を決定することができる。場面2000bに示されるように、ユーザは、「全部」と発し、拡大されたディスプレイ2012および拡大された仮想オブジェクト2032を生産してもよい。別の実施例として、場面2000cでは、ユーザは、「コンテンツ」と発し、拡大された仮想オブジェクト2034を生産してもよい一方、ディスプレイ画面のサイズは、場面2000aにおけるものと同一のままである。さらに別の実施例として、場面2000dでは、ユーザは、「ディスプレイ」と発し、拡大されたディスプレイ画面2016を生産することができる一方、仮想オブジェクトは、場面2000aにおけるものと同一サイズのままである。
(入力モードとしての間接入力の実施例)
本明細書に説明されるように、ウェアラブルシステムは、ユーザが、マルチモード入力の一部として直接ユーザ入力および間接ユーザ入力を用いて、相互作用することを可能にするようにプログラムされることができる。直接ユーザ入力は、頭部姿勢、眼視線、音声入力、ジェスチャ、ユーザ入力デバイスからの入力、または直接ユーザからの他の入力を含んでもよい。間接入力は、例えば、ユーザの位置、ユーザの特性/選好、オブジェクトの特性、ユーザの環境の特性等の種々の環境要因を含んでもよい。
図2Aおよび2Bを参照して説明されるように、ウェアラブルシステムは、例えば、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外(例えば、ユーザの背後)のオブジェクトは、候補となり得ない。別の実施例として、複数の仮想オブジェクトが、共通通視線に沿ってあり得る。例えば、円錐キャスティングは、複数の仮想オブジェクトを選択してもよい。ウェアラブルシステムは、ユーザの位置を別の入力として使用して、ユーザ相互作用のための標的仮想オブジェクトまたはパラメータを決定することができる。例えば、円錐キャスティングは、異なる深度平面に対応するオブジェクトを選択してもよいが、ウェアラブルシステムは、標的仮想オブジェクトをユーザの手の届く範囲内のオブジェクトとして識別するように構成されてもよい。
直接入力と同様に、間接入力もまた、仮想オブジェクトの信頼度スコアを計算するために使用され得る、値に割り当てられてもよい。例えば、複数の対象またはパラメータが、選択の一般的信頼度内にあったが、間接入力がさらに、信頼度要因として使用され得る。図21を参照すると、円形2122内の仮想オブジェクトは、ユーザの位置2120により近いオブジェクトが、ユーザが相互作用することに関心があるオブジェクトである可能性がより高いため、円形2122と円形2124との間の仮想オブジェクトより高い信頼度スコアを有し得る。
図21に示される実施例では、破線円形2122、2124は、便宜上、図21に示される平面上の対応する半径の球体の投影を表すように図示される。これは、例証のためのものであって、限定ではない。他の実装では、他の形状の領域(例えば、多角形)が、選定されてもよい。
図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もまた、少なくとも部分的に、ユーザに可視であるように)。
別の実施例として、仮想オブジェクトB2214は、別のユーザインターフェース画面上にあってもよい。ユーザは、仮想オブジェクトA2212を有するユーザインターフェース画面と、仮想オブジェクトB2214を有するユーザインターフェース画面との間で切り替えることを所望し得る。ウェアラブルシステムは、ユーザのFOV1250を変化させずに、切替を行うことができる。例えば、眼視線の変化またはユーザ入力デバイスの作動の検出に応じて、ウェアラブルシステムは、仮想オブジェクトA2212を有するユーザインターフェース画面をユーザのFOV1250外に自動的に移動させる一方、仮想オブジェクトB2214を有するユーザインターフェース画面をユーザのFOV1250内に移動させることができる。別の実施例として、ウェアラブルシステムは、仮想オブジェクトB2214を有するユーザインターフェース画面を、仮想オブジェクトA2212を有するユーザインターフェース画面の上部に自動的にオーバーレイすることができる。いったんユーザが、仮想ユーザインターフェース画面とのやりとりを終了したことのインジケーションを提供すると、ウェアラブルシステムは、仮想ユーザインターフェース画面をFOV1250外に自動的に移動させることができる。
有利なこととして、いくつかの実施形態では、ウェアラブルシステムは、マルチモード入力に基づいて、仮想オブジェクトB2214をFOV内に移動されるべき標的仮想オブジェクトとして識別することができる。例えば、ウェアラブルシステムは、ユーザの眼視線および仮想オブジェクトの位置に基づいて、決定を行うことができる。ウェアラブルシステムは、標的仮想オブジェクトを、ユーザの視線方向上にあって、ユーザに最も近いオブジェクトである、オブジェクトとして設定することができる。
(マルチモードユーザ入力を使用して仮想オブジェクトと相互作用する例示的プロセス)
図23は、マルチモード入力を使用して仮想オブジェクトと相互作用する例示的プロセスを図示する。プロセス2300は、本明細書に説明されるウェアラブルシステムによって実行されることができる。例えば、プロセス2300は、単独で、または組み合わせて、ローカル処理およびデータモジュール260、遠隔処理モジュール270、および中央ランタイムサーバ1650によって実行されてもよい。
ブロック2310では、ウェアラブルシステムは、随意に、開始条件を検出することができる。開始は、ユーザ開始入力であることができ、これは、ユーザがコマンドをウェアラブルシステムに発行することを意図することのインジケーションを提供することができる。開始条件は、ウェアラブルシステムによって事前決定されてもよい。開始条件は、単一入力または組み合わせ入力であってもよい。例えば、開始条件は、例えば、語句「ねえ、Magic Leap」と発すること等による、音声入力であってもよい。開始条件はまた、ジェスチャベースであることができる。例えば、ウェアラブルシステムは、ユーザの手が世界カメラのFOV(またはユーザのFOV)内で検出するとき、開始条件の存在を検出することができる。別の実施例として、開始条件は、例えば、指のスナップ等、具体的手の運動であってもよい。開始条件はまた、ユーザがユーザ入力デバイスを作動させるときに検出されることができる。例えば、ユーザは、ユーザ入力デバイス上のボタンをクリックし、ユーザがコマンドを発行するであろうことを示すことができる。ある実装では、開始条件は、マルチモード入力に基づいてもよい。例えば、音声コマンドおよび手のジェスチャの両方が、ウェアラブルシステムが開始条件の存在を検出するために要求され得る。
ブロック2310は、随意である。いくつかの実施形態では、ウェアラブルシステムは、開始条件の検出を伴わずに、マルチモード入力を受信し、解析を開始してもよい。例えば、ユーザが、ビデオを鑑賞しているとき、ウェアラブルシステムは、ユーザが、最初に、開始条件を提供することを要求せずに、ユーザのマルチモード入力を取り込み、音量、早送り、巻き戻し、次のエピソードへのスキップ等を調節してもよい。有利なこととして、いくつかの実施形態では、ユーザは、ユーザが、マルチモード入力を使用して、ビデオ画面と相互作用し得る前に、ビデオ画面をウェイクアップさせる必要がなくなり得る(例えば、ビデオ画面が、時間調節または音量調節ツールを提示し得るように)。
ブロック2320では、ウェアラブルシステムは、ユーザ相互作用のためのマルチモード入力を受信することができる。マルチモード入力は、直接または間接入力であってもよい。例示的入力モードは、音声、頭部姿勢、眼視線、(ユーザ入力デバイス上または空中での)ジェスチャ、ユーザ入力デバイス(例えば、トーテム等)上の入力、ユーザの環境、または3D空間内のオブジェクト(物理的または仮想オブジェクト)の特性を含んでもよい。
ブロック2330では、ウェアラブルシステムは、マルチモード入力を解析し、ユーザ相互作用の対象、コマンド、およびパラメータを識別することができる。例えば、ウェアラブルシステムは、信頼度スコアを候補標的仮想オブジェクト、標的コマンド、および標的パラメータに割り当て、最高信頼度スコアに基づいて、対象、コマンド、およびパラメータを選択することができる。いくつかの実施形態では、1つの入力モードは、一次入力モードであってもよい一方、別の入力モードは、二次入力モードであってもよい。二次入力モードからの入力は、一次入力モードからの入力を補完し、標的対象、コマンド、またはパラメータを確認してもよい。例えば、ウェアラブルシステムは、頭部姿勢を一次入力モードとして設定し、音声コマンドを二次入力モードとして設定してもよい。ウェアラブルシステムは、最初に、一次入力モードからの入力を可能な限り解釈し、次いで、二次入力モードからの付加的入力を解釈することができる。付加的入力が、一次入力の入力と異なる相互作用を示唆するように解釈される場合、ウェアラブルシステムは、自動的には、曖昧性解消プロンプトをユーザに提供することができる。曖昧性解消プロンプトは、ユーザが、一次入力の解釈または二次入力の解釈に基づく代替オプションから所望のタスクを選択することを要求し得る。本実施例は、一次入力モードおよび第2の入力モードを参照して説明されるが、種々の状況では、2つを上回る入力モードが存在してもよい。同一技法はまた、第3の入力モード、第4の入力モード等でも適用可能であることができる。
ブロック2340では、ウェアラブルシステムは、対象、コマンド、およびパラメータに基づいて、ユーザ相互作用を実行することができる。例えば、マルチモード入力は、眼視線および音声コマンド「それをそこに置く」を含んでもよい。ウェアラブルシステムは、相互作用の対象が、ユーザが現在相互作用しているオブジェクトであって、コマンドが、「置く」であって、パラメータが、ユーザの固視野の中心(ユーザの眼視線方向に基づいて決定される)であることを決定することができる。故に、ユーザは、ユーザが現在相互作用している仮想オブジェクトをユーザの固視野の中心に移動させることができる。
(ユーザ相互作用と関連付けられた直接入力モードを設定する実施例)
ユーザが、姿勢、ジェスチャ、または音声を使用して、ウェアラブルシステムと相互作用するとき等のいくつかの状況では、ユーザの近傍の他の人々が、これらの直接入力を使用してコマンドを発行することによって、ユーザの相互作用を「ハイジャック」し得るリスクがある。例えば、ユーザAが、公園内でユーザBの近傍に立っている。ユーザAは、音声コマンドを使用して、HMDと相互作用することができる。ユーザBが、「写真を撮る」と発することによって、ユーザAの体験をハイジャックし得る。ユーザBによって発行された本音声コマンドは、ユーザAが写真を撮るように意図していない場合でも、ユーザAのHMDに写真を撮らせることができる。別の実施例として、ユーザBは、ユーザAのHMDの世界カメラのFOV内でジェスチャを実施し得る。本ジェスチャは、ユーザAのHMDに、ユーザAがビデオゲームをプレーしている間、例えば、あるホームページに行かせ得る。
いくつかの実装では、入力は、分析され、入力がユーザから生じたかどうかを決定することができる。例えば、本システムは、話者認識技法を適用し、コマンド「写真を撮る」がユーザAまたはハイジャッカーBによって発せられたかどうかを決定することができる。本システムは、コンピュータビジョン技法を適用し、ジェスチャがユーザAの手またはハイジャッカーBの手によって行われたかどうかを決定してもよい。
加えて、または代替として、セキュリティ侵害およびユーザとウェアラブルシステムの相互作用の妨害を防止するために、ウェアラブルシステムは、間接入力に基づいて、利用可能な直接入力モードを自動的に設定する、またはコマンドが発行される前に、直接入力の複数のモードを要求することができる。図24は、ユーザ相互作用と関連付けられた直接入力モードを設定する実施例を図示する。3つの直接入力、すなわち、音声2412、頭部姿勢2414、および手のジェスチャ2416が、図24に図示される。下記にさらに説明されるように、スライダバー2422、2424、および2426は、コマンドを決定する際に各入力が加重される量を表す。スライダが、最右にある場合、入力は、全加重(例えば、100%)を与えられ、スライダが、最左にある場合、入力は、ゼロ加重(例えば、0%)を与えられ、スライダが、これらの極限設定間にある場合、入力は、部分的加重(例えば、20%または80%または0~1の値等のある他の値中間値)を与えられる。本実施例では、ウェアラブルシステムは、コマンドが実行される前に、音声コマンド2422および手のジェスチャ2426(頭部姿勢2414を使用しない間)の両方を要求するように設定されることができる。故に、ウェアラブルシステムは、音声コマンド2442およびジェスチャ2426が、異なるユーザ相互作用(または仮想オブジェクト)を示す場合、コマンドを実行し得ない。両タイプの入力を要求することによって、ウェアラブルシステムは、他者がユーザの相互作用をハイジャックする尤度を低減させることができる。
別の実施例として、1つ以上の入力モードが、無効にされてもよい。例えば、ユーザが、ドキュメント処理アプリケーションと相互作用するとき、頭部姿勢2414は、頭部姿勢スライダ2424が0に設定される、図24に示されるように、入力モードとして無効にされてもよい。
各入力は、認証レベルと関連付けられてもよい。図24では、音声2412は、認証レベル2422と関連付けられ、頭部姿勢2414は、認証レベル2424と関連付けられ、手のジェスチャ2416は、認証レベル2426と関連付けられる。認証レベルは、コマンドが実行されるために入力が要求されるかどうか、または入力が無効にされているかどうか、または入力が部分的加重(完全有効と完全無効との間)を与えられているかどうかを決定するために使用されてもよい。図24に図示されるように、音声2412および手のジェスチャ2416の認証レベルは、右の端に設定され(最大認証レベルと関連付けられる)、これらの2つの入力がコマンドを発行するために要求されることを示唆する。別の実施例として、頭部姿勢の認証レベルは、左の端に設定される(最小認証レベルと関連付けられる)。これは、頭部姿勢2414が、依然として、標的仮想オブジェクトまたは標的ユーザインターフェース動作を決定するために使用され得る場合でも、頭部姿勢2414がコマンドを発行するために要求されないことを示唆する。いくつかの状況では、認証レベルを最小に設定することによって、ウェアラブルシステムは、頭部姿勢2414を入力モードとして無効にしてもよい。
ある実装では、認証レベルはまた、仮想オブジェクトと関連付けられた信頼度レベルを計算するために使用されてもよい。例えば、ウェアラブルシステムは、より高い値をより高い認証レベルを有する入力モードに割り当ててもよい一方、より低い値をより低い認証レベルを有する入力モードに割り当てる。その結果、仮想オブジェクトに関する集約された信頼度スコアを計算するために、複数の入力モードからの信頼度スコアを集約するとき、より高い認証レベルを伴う入力モードは、集約された信頼度スコアにおいて、より低い認証レベルを伴う入力モードより大きい加重を有し得る。
認証レベルは、ユーザによって(入力を通して、または設定パネルを介して)設定されることができる、またはウェアラブルシステムによって、例えば、間接入力に基づいて、自動的に設定されることができる。ウェアラブルシステムは、ユーザが公共場所に居るとき、より多くの入力モードを要求し得る一方、ユーザが私的場所に居るとき、より少ない入力モードを要求する。例えば、ウェアラブルシステムは、ユーザが地下鉄に居るとき、音声2412および手のジェスチャ2416の両方を要求し得る。しかしながら、ユーザが自宅に居るとき、ウェアラブルシステムは、コマンドを発行するために、音声2412のみを要求し得る。別の実施例として、ウェアラブルシステムは、ユーザが公共の公園に居るとき、音声コマンドを無効にし、それによって、プライバシをユーザの相互作用に提供してもよい。しかし、音声コマンドは、ユーザが自宅に居るとき、依然として、利用可能であってもよい。
これらの実施例は、直接入力モードを設定するステップを参照して説明されるが、類似技法もまた、間接入力モードをマルチモード入力の一部として設定するステップに適用されることができる。例えば、ユーザが、公共交通機関(例えば、バス等)を使用しているとき、ウェアラブルシステムは、ウェアラブルシステムが、ユーザが公共交通機関上で具体的に座っている、または立っている場所を正確に把握し得ないため、地理的場所を入力モードとして無効にするように構成されてもよい。
(付加的例示的ユーザ体験)
本明細書に説明される実施例に加え、本節は、マルチモード入力を用いた付加的ユーザ体験を説明する。第1の実施例として、マルチモード入力は、音声入力を含むことができる。例えば、ユーザは、「ねえ、Magic Leap、彼女に電話して」等の音声コマンドを発することができ、これは、HMD上のオーディオセンサ232によって受信され、HMDシステムによって解析される。本コマンドでは、ユーザは、「ねえ、Magic
Leap」と発することによって、タスクを開始する(または開始条件を提供する)ことができる。「電話」は、事前にプログラムされた単語であることができ、したがって、ウェアラブルシステムは、電話を掛ける(ビデオ電話を開始するのではなく)べきであることを把握する。ある実装では、これらの事前にプログラムされた単語は、「ホットワード」または「キャリア語句」とも称され得、これは、システムが、ユーザが特定のアクションを行う(例えば、「電話」)ことを所望することを示すものであると認識するものであって、これは、システムに、所望のアクションを完了するためにさらなる入力を受け取る(例えば、単語「電話」後の人物(「彼女」)または電話番号を識別する)ことをアラートし得る。ウェアラブルシステムは、付加的入力を使用して、「彼女」が誰であるかを識別することができる。例えば、ウェアラブルシステムは、眼追跡を使用して、ユーザが見ている仮想連絡先リストまたはユーザの電話上の連絡先を確認することができる。ウェアラブルシステムはまた、頭部姿勢または眼追跡を使用して、ユーザが、直接、ユーザが電話することを所望する人物を見ているかどうかを決定することができる。ある実施形態では、ウェアラブルシステムは、顔認識技法(例えば、オブジェクト認識装置708を使用して)を利用して、ユーザが見ている人物の識別を決定することができる。
第2の実施例として、ユーザは、仮想ブラウザを直接壁上に設置されることができる(例えば、ウェアラブルシステムのディスプレイ220が、壁上にオーバーレイされているかのように、仮想ブラウザを投影することができる)。ユーザは、その手を伸ばして、タップジェスチャをブラウザ内のリンク上に提供することができる。ブラウザは、壁上にあるように現れるため、ユーザは、ユーザの指の投影が、壁をタップするように現れ、インジケーションを提供するように、壁をタップする、または空間内をタップしてもよい。ウェアラブルシステムは、マルチモード入力を使用して、ユーザがクリックすることを意図する、リンクを識別することができる。例えば、ウェアラブルシステムは、ジェスチャ検出(例えば、外向きに面した結像システム464によって入手されたデータを介して)、頭部姿勢ベースの円錐キャスティング、および眼視線を使用することができる。本実施例では、ジェスチャ検出は、100%未満の正確性であり得る。ウェアラブルシステムは、頭部姿勢および眼視線から入手されたデータを用いて、ジェスチャ検出を改良し、ジェスチャ追跡の正確度を増加させることができる。例えば、ウェアラブルシステムは、内向きに面した結像システム462によって入手されたデータに基づいて、眼が最も合焦している可能性が高い、半径を識別することができる。ある実施形態では、ウェアラブルシステムは、眼視線に基づいて、ユーザの固視野を識別することができる。ウェアラブルシステムはまた、環境特徴(例えば、壁の場所、ブラウザまたはウェブページの特性等)等の間接入力を使用して、ジェスチャ追跡を改良することができる。本実施例では、壁は、平面メッシュ(環境のマップ920内に事前に記憶されてもよい)によって表され得、ウェアラブルシステムは、平面メッシュに照らして、ユーザの手の位置を決定し、ユーザが標的化および選択する、リンクを決定することができる。有利なこととして、種々の実施形態では、複数の入力モードを組み合わせることによって、ユーザ相互作用のための1つの入力モードのために要求される正確度は、単一入力モードと比較して低減され得る。例えば、FOVカメラは、ウェアラブルシステムが、手のジェスチャを頭部姿勢または眼視線で補完し、意図されるユーザ相互作用を決定し得るため、手のジェスチャ認識のために、非常に高分解能を有する必要がなくなり得る。
上記の実施例におけるマルチモード入力は、オーディオ入力を含むが、オーディオ入力は、上記に説明されるマルチモード入力相互作用のために要求されない。例えば、ユーザは、2D-タッチスワイプジェスチャ(例えば、トーテム上で)を使用して、ブラウザウィンドウを1つの壁から異なる壁に移動させることができる。ブラウザは、最初に、左壁上にあってもよい。ユーザは、トーテムを作動させることによって、ブラウザを選択することができる。ユーザは、次いで、右壁を見て、右スワイプジェスチャをトーテムのタッチパッド上で行うことができる。タッチパッド上でのスワイプは、2Dスワイプ自体が容易/良好に3D移動に変換しないため、抑制力がなく、かつ不正確である。しかしながら、ウェアラブルシステムは、壁を検出し(例えば、外向きに面した結像システムによって入手された環境データに基づいて)、ユーザが壁上で具体的に見ている点(例えば、眼視線に基づいて)を検出することができる。これらの3つの入力(タッチ-スワイプ、視線、環境特徴)を用いることで、ウェアラブルシステムは、高信頼度を伴って、ユーザがブラウザウィンドウを移動させることを所望する場所にブラウザを円滑に設置することができる。
(マルチモード入力としての頭部姿勢の付加的実施例)
種々の実施形態では、マルチモード入力は、無トーテム体験(またはトーテムがあまり頻繁に使用されない体験)をサポートすることができる。例えば、マルチモード入力は、頭部姿勢および音声制御の組み合わせを含むことができ、これは、仮想オブジェクトを共有または検索するために使用されることができる。マルチモード入力はまた、頭部姿勢およびジェスチャの組み合わせを使用して、種々のユーザインターフェース平面およびユーザインターフェース平面内の仮想オブジェクトをナビゲートすることができる。頭部姿勢、音声、およびジェスチャの組み合わせは、オブジェクトを移動させる、ソーシャルネットワーキングアクティビティ(例えば、テレプレゼンスセッションを開始し、行う、投稿を共有する)を行う、ウェブページに関する情報をブラウズする、またはメディアプレーヤを制御するために使用されることができる。
図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号(本開示は、参照することによってその全体として本明細書に組み込まれる)に説明される。
頭部姿勢は、音声制御、ジェスチャ認識、および環境情報(例えば、メッシュ情報)と統合され、ハンズフリーブラウジングを提供してもよい。例えば、「Fort Lauderdaleを検索する」の音声コマンドは、ユーザが、頭部姿勢を使用して、ブラウザを標的化する場合、ブラウザによってハンドリングされるであろう。ユーザが、特定のブラウザを標的化しない場合、ウェアラブルシステムはまた、ブラウザを通さずに、本音声コマンドをハンドリングすることができる。別の実施例として、ユーザが、「これをKarenと共有する」と発すると、ウェアラブルシステムは、共有アクションをユーザが標的化している(例えば、頭部姿勢、眼視線、またはジェスチャを使用して)アプリケーション上で実行するであろう。別の実施例として、音声制御は、例えば、「ブックマークに進む」等のブラウザウィンドウ機能を実行することができる一方、ジェスチャは、例えば、クリックおよびスクロール等のウェブページの基本ナビゲーションを実施するために使用されてもよい。
マルチモード入力はまた、ユーザ入力デバイスを必要とせずに、仮想オブジェクトを立ち上げ、移動させるために使用されることができる。ウェアラブルシステムは、例えば、ジェスチャ、音声、および視線等のマルチモード入力を使用して、コンテンツをユーザおよび環境の近傍に自然に設置することができる。例えば、ユーザは、ユーザがHMDと相互作用するとき、音声を使用して、立ち上げられていないアプリケーションを開くことができる。ユーザは、「ねえ、Magic Leap、ブラウザを立ち上げて」と発することによって、音声コマンドを発行することができる。本コマンドでは、開始条件は、呼出語句「ねえ、Magic Leap」の存在を含む。コマンドは、「立ち上げる」または「開く」(相互交換可能コマンドであり得る)を含むと解釈されることができる。本コマンドの対象は、アプリケーション名、例えば、「ブラウザ」である。しかしながら、本コマンドは、パラメータを要求しない。いくつかの実施形態では、ウェアラブルシステムは、例えば、ブラウザをユーザの環境(またはユーザのFOV)内に設置する等、デフォルトパラメータを自動的に適用することができる。
マルチモード入力はまた、例えば、ブックマークを開く、新しいタブを開く、履歴にナビゲートする等、基本ブラウザ制御を実施するために使用されることができる。ハンズフリーまたはハンズフルマルチタスクシナリオにおける、ウェブコンテンツを参照する能力は、ユーザにより情報豊富かつ生産性のある状態をもたらすことができる。例えば、ユーザAdaは、そのオフィスでフィルムを読影している、放射線医師である。Adaは、フィルムを読影しながら、音声およびジェスチャを用いて、ウェブをナビゲートし、参照資料を取り出すことができ、これは、マウスを往復して移動させ、画面上でフィルムと参照資料との間で切り替えるその必要性を低減させる。別の実施例として、ユーザChrisは、仮想ブラウザウィンドウからの新しいレシピを料理中である。仮想ブラウザウィンドウは、そのキャビネット上に設置されることができる。Chrisは、音声コマンドを使用して、ブックマークされたレシピを引っ張り出しながら、食物の剪断を開始することができる。
図26は、種々のブックマークされたアプリケーションを伴う例示的ユーザインターフェースを図示する。ユーザは、アプリケーションの名称を発することによって、ユーザインターフェース2600上のアプリケーションを選択することができる。例えば、ユーザは、「食物を開く」と発し、食物アプリケーションを立ち上げることができる。別の実施例として、ユーザは、「これを開く」と発することができる。ウェアラブルシステムは、ユーザの視線方向を決定し、ユーザの視線方向と交差する、ユーザインターフェース2600上のアプリケーションを識別することができる。ウェアラブルシステムは、故に、識別されたアプリケーションを開くことができる。
ユーザはまた、音声を使用して、検索コマンドを発行することができる。検索コマンドは、ユーザが現在標的化しているアプリケーションによって実施されることができる。オブジェクトが、現在、検索コマンドをサポートしていない場合、ウェアラブルシステムは、ウェアラブルシステムのデータ記憶装置内の検索またはデフォルトアプリケーションを介した(例えば、ブラウザを介して等)情報の検索を実施してもよい。図27は、検索コマンドが発行されるときの例示的ユーザインターフェース2700を図示する。ユーザインターフェース2700は、電子メールアプリケーションおよびメディア鑑賞アプリケーションの両方を示す。ウェアラブルシステムは、ユーザが、現在、電子メールアプリケーションと相互作用していることを決定してもよい(ユーザの頭部姿勢に基づいて)。その結果、ウェアラブルシステムは、ユーザの音声コマンドを電子メールアプリケーション内の検索コマンドに自動的に変換してもよい。
マルチモード入力はまた、メディア制御のために使用されることができる。例えば、ウェアラブルシステムは、音声およびジェスチャ制御を使用して、例えば、アプリケーション(画面等)内のメディアプレーヤを制御するために、再生、一時停止、ミュート、早送り、および巻き戻し等のコマンドを発行することができる。ユーザは、メディアアプリケーションに関して、音声およびジェスチャ制御を使用し、トーテムを除外することができる。
マルチモード入力はさらに、ソーシャルネットワーキングコンテキストにおいて使用されることができる。例えば、ユーザは、ユーザ入力デバイスを用いずに、会話を開始し、体験(例えば、仮想画像、ドキュメント等)を共有することができる。別の実施例として、ユーザは、ユーザが、音声を使用して、ユーザインターフェースをナビゲートするために快適であると感じ得るように、テレプレゼンスセッションに参加し、プライベートコンテキストを設定することができる。
故に、種々の実装では、本システムは、頭部姿勢+音声(例えば、情報共有および一般的アプリケーション検索のため)、頭部姿勢+ジェスチャ(例えば、アプリケーション内のナビゲーションのため)、または頭部姿勢+音声+ジェスチャ(例えば、「それをそこに置く」機能性、メディアプレーヤ制御、ソーシャル相互作用、またはブラウザアプリケーションのため)等のマルチモード入力を利用してもよい。
(マルチモード入力の一部としてのジェスチャ制御の付加的実施例)
2つの非限定的かつ非排他的クラスのジェスチャ相互作用、すなわち、イベントジェスチャおよび動的手追跡が、存在し得る。イベントジェスチャは、例えば、野球の試合においてピッチャーに出すキャッチャーのサインまたはウェアラブルシステムに共有ダイアログを開かせるためのブラウザウィンドウにおける「いいね」サイン等、ユーザがHMDと相互作用している間のイベントに対して応答性であることができる。ウェアラブルシステムは、ユーザが実施する、1つ以上のジェスチャパターンに追従し、適宜、イベントに応答することができる。動的手追跡は、短待ち時間を伴う、ユーザの手の追跡を伴い得る。例えば、ユーザが、手をユーザのFOVにわたって移動させ得、仮想キャラクタは、ユーザの指の移動に追従し得る。
ジェスチャ追跡の品質は、ユーザ相互作用のタイプに依存し得る。品質は、複数の要因、例えば、ロバスト性、応答性、および人間工学を伴い得る。いくつかの実施形態では、イベントジェスチャは、ほぼ完璧なロバスト性であり得る。最小容認可能ジェスチャ性能に関する閾値は、ソーシャル体験、試作段階相互作用、および第三者アプリケーションでは、これらの体験の審美性が、障害、中断、短待ち時間等を容認し得るため、わずかに低くあり得るが、ジェスチャ認識は、依然として、これらの体験において非常に高性能であって、応答性を維持することができる。
ウェアラブルシステムが、ユーザのジェスチャに応答する尤度を増加させるために、本システムは、ジェスチャ検出のための(イベントジェスチャおよび動的手追跡の両方のための)待ち時間を低減または最小限にすることができる。例えば、ウェアラブルシステムは、ユーザの手が深度センサの視野内にあるときを検出し、深度センサを適切なジェスチャモードに自動的に切り替え、次いで、ジェスチャを実施し得るとき、フィードバックをユーザに与えることによって、待ち時間を低減または最小限にすることができる。
本明細書に説明されるように、ジェスチャは、他の入力モードと組み合わせて使用され、アプリケーションを立ち上げる、選択する、および移動させることができる。ジェスチャはまた、空中または表面上(例えば、テーブルまたは壁上)でタップ、スクロールすること等によって、アプリケーション内の仮想オブジェクトと相互作用するために使用されることができる。
ある実施形態では、ウェアラブルシステムは、ソーシャルネットワーキングツールを実装することができ、これは、ジェスチャ相互作用をサポートすることができる。ユーザは、意味論イベントジェスチャを実施し、通信を豊かにすることができる。例えば、ユーザは、手をFOVカメラの正面で振ることができ、手を振るアニメーションが、適宜、ユーザがチャットしている人物に送信されることができる。ウェアラブルシステムはまた、動的手追跡を用いて、ユーザの手の仮想化を提供することができる。例えば、ユーザは、その手をそのFOVの正面で持ち上げ、その手がそのアバタの手をアニメーション化するために追跡されていることの視覚的フィードバックを得ることができる。
手のジェスチャはまた、メディアプレーヤ制御のためのマルチモード入力の一部として使用されることができる。例えば、ユーザは、手のジェスチャを使用して、ビデオストリームを再生または一時停止することができる。ユーザは、ビデオを再生しているデバイス(例えば、テレビ)から離れてジェスチャ操作を実施することができる。ユーザのジェスチャを検出することに応じて、ウェアラブルシステムは、ユーザのジェスチャに基づいて、デバイスを遠隔で制御することができる。ユーザはまた、メディアパネルを見ることができ、ウェアラブルシステムは、ユーザの手のジェスチャをユーザの視線方向と組み合わせて使用し、メディアパネルのパラメータを更新することができる。例えば、摘む(OK)ジェスチャは、「再生」コマンドを示唆し得、拳ジェスチャは、「一時停止」コマンドを示唆し得る。ユーザはまた、腕のうちの一方をFOVカメラの正面で振ることによって、メニューを閉じることができる。手のジェスチャ2080の実施例は、図20に示される。
(仮想オブジェクトと相互作用する付加的実施例)
本明細書に説明されるように、ウェアラブルシステムは、ユーザの環境内のオブジェクト(物理的または仮想)との種々のマルチモード相互作用をサポートすることができる。例えば、ウェアラブルシステムは、見出されるオブジェクトを標的化する、選択する、制御する(例えば、移動または性質)等の見出されるオブジェクトとの相互作用のための直接入力をサポートすることができる。見出されるオブジェクトとの相互作用はまた、見出されるオブジェクト幾何学形状との相互作用または見出されるオブジェクト接続表面との相互作用を含むことができる。
直接入力はまた、壁またはテーブル上部を標的化および選択する等の平坦表面との相互作用のためにもサポートされる。ユーザはまた、例えば、タッチイベント、タップイベント、スワイプイベント、またはスクロールイベント等の種々のユーザインターフェースイベントを開始することができる。ユーザは、例えば、パネルスクロール、スワイプ、およびパネル内の選択要素(例えば、ボタン等の仮想オブジェクトまたはユーザインターフェース要素)等の直接相互作用を使用して、2Dユーザインターフェース要素(例えば、パネル)を操作することができる。ユーザはまた、1つ以上の直接入力を使用して、パネルを移動またはリサイズすることができる。
直接入力はさらに、異なる深度におけるオブジェクトを操作するために使用されることができる。ウェアラブルシステムは、種々の閾値距離(ユーザからの)を設定し、仮想オブジェクトの領域を決定することができる。図21を参照すると、破線円形2122内のオブジェクトは、近距離内のオブジェクトと見なされ得、破線円形2124内(但し、破線円形2122外)のオブジェクトは、中距離内のオブジェクトと見なされ得、破線円形2124外のオブジェクトは、遠距離内のオブジェクトと見なされ得る。近距離と遠距離との間の閾値距離は、例えば、1m、2m、3m、4m、5m、またはそれを上回ってもよく、かつ環境に依存し得る(例えば、屋内オフィス小区画より屋外公園において大きい)。
ウェアラブルシステムは、近距離内の仮想オブジェクトの種々の2Dまたは3D操作をサポートすることができる。例示的2D操作は、移動またはリサイズするステップを含んでもよい。例示的3D操作は、仮想オブジェクトをピンチする、描画する、移動させる、または回転させる等によって、仮想オブジェクトを3D空間内に設置するステップを含んでもよい。ウェアラブルシステムはまた、例えば、ユーザの環境内のオブジェクトをパニングおよび再位置付けする、オブジェクトの半径方向運動を実施する、またはオブジェクトを近距離または遠距離の中に移動させる等、中距離内の仮想オブジェクトとの相互作用をサポートすることができる。
ウェアラブルシステムはまた、連続指先相互作用をサポートすることができる。例えば、ウェアラブルシステムは、ユーザの指が、アトラクタのように指し示す、またはオブジェクトを正確に示し、押動相互作用をオブジェクト上で実施することを可能にすることができる。ウェアラブルシステムはさらに、例えば、手表面相互作用または手輪郭相互作用等の高速姿勢相互作用をサポートすることができる。
(ソーシャルネットワークおよび共有のコンテキストにおける音声コマンドの付加的実施例)
ウェアラブルシステムは、ソーシャルネットワーキング(またはメッセージング)アプリケーションのための入力として、音声コマンドをサポートすることができる。例えば、ウェアラブルシステムは、情報を連絡先と共有する、または連絡先に電話を掛けるために、音声コマンドをサポートすることができる。
連絡先との電話を開始する実施例として、ユーザは、「ねえ、Magic Leap、Karenに電話して」等の音声コマンドを使用することができる。本コマンドでは、「ねえ、Magic Leap」は、呼出語句であって、コマンドは、「電話」であって、コマンドのパラメータは、連絡先の名前である。ウェアラブルシステムは、メッセンジャーアプリケーション(対象として)を自動的に使用して、電話を開始することができる。コマンド「電話」は、例えば、「~との電話を開始する」、「~とのチャットを開始する」等のタスクと関連付けられてもよい。
ユーザが、「電話を開始する」と発し、次いで、名前を発する場合、ウェアラブルシステムは、名前を認識するように試みることができる。ウェアラブルシステムが、名前を認識しない場合、ウェアラブルシステムは、ユーザが名前または連絡先情報を確認するために、メッセージをユーザに通信することができる。ウェアラブルシステムが、名前を認識する場合、ウェアラブルシステムは、ダイアログプロンプトを提示してもよく、これは、ユーザが、電話を確認/拒否(またはキャンセル)する、または代替連絡先を提供することができる。
ユーザはまた、友人のリストを伴ういくつかの連絡先を用いて、電話を開始することができる。例えば、ユーザは、「ねえ、Magic Leap、Karen、Cole、およびKojoとグループチャットを開始して」と発することができる。グループチャットコマンドは、語句「グループチャットを開始する」から抽出されてもよい、またはユーザによって提供される友人のリストからであってもよい。ユーザが、電話中の間、ユーザは、別のユーザを会話に追加することができる。例えば、ユーザは、「ねえ、Magic Leap、Karenを招待して」と発することができ、語句「招待」は、招待コマンドと関連付けられることができる。
ウェアラブルシステムは、音声コマンドを使用して、仮想オブジェクトを連絡先と共有することができる。例えば、ユーザは、「ねえ、Magic Leap、画面をKarenと共有して」または「ねえ、Magic Leap、それをDavidおよびTonyと共有して」と発することができる。これらの実施例では、単語「共有」は、共有コマンドである。単語「画面」または「それ」は、ウェアラブルシステムがマルチモード入力に基づいて決定し得る、対象を参照し得る。「Karen」、「DavidおよびTony」等の名前は、コマンドのパラメータである。いくつかの実施形態では、ユーザによって提供される音声コマンドが、アプリケーション参照および連絡先との単語「共有」を含むとき、ウェアラブルシステムは、確認ダイアログを提供し、ユーザがアプリケーション自体を共有することを所望するのか、またはアプリケーションを介して参照される対象を共有するのかどうかを確認するようにユーザに求めてもよい。ユーザが、単語「共有」、アプリケーション参照、および連絡先を含む、音声コマンドを発行するとき、ウェアラブルシステムは、アプリケーション名がウェアラブルシステムによって認識されるかどうか、またはアプリケーションがユーザのシステム上に存在するかどうかを決定することができる。システムが、名称を認識しない、またはアプリケーションがユーザのシステム内に存在しない場合、ウェアラブルシステムは、メッセージをユーザに提供してもよい。メッセージは、ユーザに、音声コマンドを再び試行するように示唆してもよい。
ユーザが、直示または照応参照(例えば、「これ」または「それ」)を音声コマンド内で提供する場合、ウェアラブルシステムは、マルチモード入力(例えば、ユーザの頭部姿勢)を使用して、ユーザが共有され得るオブジェクトと相互作用しているかどうかを決定することができる。オブジェクトが、共有されることができない場合、ウェアラブルシステムは、エラーメッセージをユーザにプロンプトする、またはジェスチャ等の第2の入力モードに移行し、共有されるべきオブジェクトを決定してもよい。
ウェアラブルシステムはまた、オブジェクトが共有される連絡先が認識され得る(例えば、ユーザの連絡先リストの一部として)かどうかを決定することができる。ウェアラブルシステムが、連絡先の名前を認識する場合、ウェアラブルシステムは、確認ダイアログを提供し、ユーザが共有に進むことを所望することを確認することができる。ユーザが確認する場合、仮想オブジェクトは、共有されることができる。いくつかの実施形態では、ウェアラブルシステムは、アプリケーションと関連付けられた複数の仮想オブジェクトを共有することができる。例えば、ウェアラブルシステムは、写真のアルバム全体を共有する、またはユーザの音声コマンドに応答して、最も最近視認された写真を共有することができる。ユーザが、共有を拒否する場合、共有コマンドは、キャンセルされる。ユーザが、連絡先が誤っていることを示す場合、ウェアラブルシステムは、ユーザに、連絡先の名前を再び発話する、または連絡先を利用可能な連絡先のリストから選択するようにプロンプトしてもよい。
ある実装では、ユーザが、「共有」と発し、アプリケーション参照と発するが、連絡先を規定しない場合、ウェアラブルシステムは、ユーザのファイルへのアクセスを有する、ユーザの環境内の人々とアプリケーションをローカルで共有してもよい。ウェアラブルシステムはまた、ユーザに、本明細書に説明される入力モードのうちの1つ以上のものを使用して、名前を入力するように返答および要求してもよい。ソーシャルネットワーキング実施例と同様に、ユーザは、音声コマンドを発行し、仮想オブジェクトを1つの連絡先または連絡先のグループと共有することができる。
音声を介して電話を掛ける際の課題は、音声ユーザインターフェースが、連絡先の名前を正しくなく認識する、または認識することに失敗するときである。これは、例えば、lsi、Ileana等のあまり一般的ではないまたは非英語名に関して、特に問題となり得る。例えば、ユーザが、連絡先の名前を含む、音声コマンドを発するとき(「画面をllyと共有する」等)、ウェアラブルシステムは、名前「lly」またはその発音を識別することが不可能である場合がある。ウェアラブルシステムは、例えば、「誰ですか?」等のプロンプトとともに、連絡先ダイアログを開くことができる。ユーザは、再び、音声を用いて、「Ily」を規定する、音声またはユーザ入力デバイスを使用して、名前のスペル「I-L-Y」を伝える、またはユーザ入力デバイスを使用して、名前を利用可能な名前のパネルから迅速に選択するように試みることができる。名前「Ily」は、ユーザの連絡先内にエントリを有する、Ileanaのニックネームであり得る。いったんユーザが、システムに、「Ily」がニックネームであることを伝えると、本システムは、ニックネーム(またはニックネームと関連付けられた発音またはオーディオパターン)と友人の名前を自動的に関連付けることによって、ニックネームを「覚える」ように構成されてもよい。
(音声コマンドを使用して仮想オブジェクトを選択および移動させる付加的実施例)
ユーザは、例えば、眼視線、ジェスチャ、および音声の組み合わせ等のマルチモード入力を使用して、ユーザの環境内の仮想オブジェクトの場所を自然かつ迅速に管理することができる。例えば、Lindsayという名前のユーザが、テーブルの前に着座し、ある作業を行う準備ができたとする。彼女は、そのラップトップを開き、そのコンピュータ上のデスクトップモニタアプリを開始する。コンピュータが、ロードするにつれて、彼女は、その手をラップトップ画面の上方に伸ばし、「ねえ、Magic Leap、モニタをここに置いて」と発する。本音声コマンドに応答して、ウェアラブルシステムは、モニタ画面を自動的に立ち上げ、それらをそのラップトップの上方に設置することができる。しかしながら、Lindsayが、部屋の他側上の壁を見渡しながら、「画面をそこに置く」と発するとき、ウェアラブルシステムは、彼女から横断して画面を壁上に自動的に設置することができる。Lindsayはまた、その机を見ながら、「Halcyonをここに置く」と発し得る。Halcyonは、最初、その台所のテーブル上にあったが、音声コマンドに応答して、ウェアラブルシステムは、それをそのテーブル表面に自動的に移動させることができる。作業を進めるにつれて、彼女は、トーテムを使用して、これらのオブジェクトと相互作用し、そのスケールをその選好に合わせて調節することができる。
ユーザは、音声を使用して、立ち上げられていないアプリケーションをユーザの環境内の任意の時点で開くことができる。例えば、ユーザは、「ねえ、Magic Leap、ブラウザを立ち上げて」と発することができる。本コマンドでは、「ねえ、Magic Leap」は、呼出単語であって、単語「立ち上げる」は、立ち上げコマンドであって、単語「ブラウザ」は、対象のアプリケーションである。「立ち上げ」コマンドは、単語「立ち上げる」、「開く」、「再生する」と関連付けられてもよい。例えば、ウェアラブルシステムは、ユーザが「ブラウザを開く」と発するとき、依然として、立ち上げコマンドを識別することができる。ある実施形態では、アプリケーションは、没入型のアプリケーションであってもよく、これは、ユーザが3D仮想環境の一部であるかのように、3D仮想環境をユーザに提供することができる。その結果、没入型のアプリケーションが、立ち上げられると、ユーザは、3D仮想環境内に存在するかのように位置付けられ得る。ある実装では、没入型のアプリケーションはまた、店舗アプリケーションを含む。店舗アプリケーションが、立ち上げられると、ウェアラブルシステムは、ユーザが実店舗内で買物しているかのように感じ得るように、3D買物体験をユーザのために提供することができる。没入型のアプリケーションと対照的に、アプリケーションは、風景アプリケーションであってもよい。風景アプリケーションが、立ち上げられると、ランチャ内でトーテムを介して立ち上げられる場合に設置されるであろう場所に対して設置されてもよい。その結果、ユーザは、風景アプリケーションと相互作用することができるが、ユーザは、風景アプリケーションの一部であるように感じ得ない。
ユーザはまた、音声コマンドを使用して、仮想アプリケーションをユーザのFOV内の規定された場所に立ち上げることができる、またはユーザは、すでに設置された仮想アプリケーション(例えば、風景アプリケーション)をユーザのFOV内の具体的場所に移動させることができる。例えば、ユーザは、「ねえ、Magic Leap、ブラウザをここに置いて」、「ねえ、Magic Leap、ブラウザをそこに置いて」、「ねえ、Magic Leap、これをここに置いて」、または「ねえ、Magic Leap、それをそこに置いて」と発することができる。これらの音声コマンドは、呼出単語、設置コマンド、アプリケーション名(対象である)、および場所キュー(パラメータである)を含む。対象は、オーディオデータに基づいて、例えば、ユーザによって発話されたアプリケーションの名称に基づいて参照されてもよい。対象はまた、ユーザが単語「これ」または「それ」を代わりに発するとき、頭部姿勢または眼視線に基づいて識別されてもよい。本音声相互作用を促進するために、ウェアラブルシステムは、例えば、2つの推定、すなわち、(1)立ち上げるアプリケーションおよび(2)アプリケーションを設置する場所を行うことができる。
ウェアラブルシステムは、設置コマンドおよびアプリケーション名を使用して、立ち上げるアプリケーションを推測することができる。例えば、ユーザが、ウェアラブルシステムが認識しない、アプリケーション名を発する場合、ウェアラブルシステムは、エラーメッセージを提供してもよい。ユーザが、ウェアラブルシステムが認識する、アプリケーション名を発する場合、ウェアラブルシステムは、アプリケーションがすでにユーザの環境の中に設置されているかどうかを決定することができる。アプリケーションがすでにユーザの環境(例えば、ユーザのFOV内等)に示される場合、ウェアラブルシステムは、ユーザの環境内に存在するアプリケーションのインスタンスの数(例えば、開いているブラウザウィンドウの数)を決定することができる。単に、標的アプリケーションの1つのインスタンスが存在する場合、ウェアラブルシステムは、アプリケーションをユーザによって規定された場所に移動させることができる。発話されたアプリケーションの1つを上回るインスタンスが環境内に存在する場合、ウェアラブルシステムは、アプリケーションの全てのインスタンスを規定された場所に、または最も最近使用されたインスタンスを規定された場所に移動させることができる。仮想アプリケーションが、すでにユーザの環境内に設置されていない場合、本システムは、アプリケーションが、風景アプリケーション、没入型のアプリケーション、または店舗アプリケーション(ユーザは、他のアプリケーションをダウンロードまたは購入することができる)であるかどうかを決定することができる。アプリケーションが、風景アプリケーションである場合、ウェアラブルシステムは、仮想アプリケーションを規定された場所に立ち上げることができる。アプリケーションが、没入型のアプリケーションである場合、ウェアラブルシステムは、没入型のアプリケーションが、ユーザのFOV内の規定された場所に立ち上げる機能をサポートしないため、アプリケーションのショートカットを規定された位置に設置することができる。アプリケーションが、店舗アプリケーションである場合、本システムは、店舗アプリケーションが、仮想世界の中へのユーザの完全3D没入を要求し得、したがって、ユーザの環境内の具体的場所における立ち上げをサポートしないため、小型店舗を規定された位置に設置してもよい。小型店舗は、店舗内の仮想オブジェクトの概要またはアイコンを含んでもよい。
ウェアラブルシステムは、種々の入力を使用して、アプリケーションを設置すべき場所を決定することができる。ウェアラブルシステムは、ユーザのコマンド内の統語論(例えば、「ここに」または「そこに」)を解析し、ユーザの環境内の仮想オブジェクトと頭部姿勢ベースのレイキャスティング(または円錐キャスティング)の交差部を決定し、ユーザの手の位置を決定し、平面表面メッシュまたは環境平面メッシュ(例えば、壁またはテーブルと関連付けられたメッシュ)等を決定することができる。実施例として、ユーザが、「ここに」と発する場合、ウェアラブルシステムは、大きく広げた手がユーザのFOV内に存在するかどうか等のユーザの手のジェスチャを決定することができる。ウェアラブルシステムは、オブジェクトをユーザの広げた手の位置およびユーザの手が届く範囲の近傍のレンダリング平面に設置することができる。大きく広げた手がFOV内に存在しない場合、ウェアラブルシステムは、頭部姿勢(例えば、頭部姿勢ベースの円錐キャスティングの方向)が、ユーザの腕が届く範囲内の表面平面メッシュと交差するかどうかを決定することができる。表面平面メッシュが存在する場合、ウェアラブルシステムは、仮想オブジェクトを頭部姿勢の方向とユーザの腕が届く範囲内のレンダリング平面における表面平面メッシュの交差部に設置することができる。ユーザは、オブジェクトを表面上に平坦に設置することができる。表面平面メッシュが存在しない場合、ウェアラブルシステムは、仮想オブジェクトを腕が届く範囲と最適読取距離との間のいずれかの距離を有するレンダリング平面に設置することができる。ユーザが、「そこに」と発する場合、ウェアラブルシステムは、ユーザが「ここに」と発するときと類似動作を実施することができるが、表面平面メッシュがユーザの腕が届く範囲内に存在しない場合、ウェアラブルシステムは、仮想オブジェクトを中距離内のレンダリング平面に設置してもよい。
いったんユーザが、「アプリケーションを...に置く」と発すると、ウェアラブルシステムは、直ちに、予測フィードバックをユーザに提供し、ユーザが、「ここに」または「そこに」のいずれかと発する場合、仮想オブジェクトが利用可能な入力に基づいて設置されるであろう場所を示すことができる。本フィードバックは、焦点インジケータの形態であることができる。例えば、フィードバックは、「ここに」と発する小浮遊テキスト吹き出しを、ユーザの腕が届く範囲内のレンダリング平面におけるユーザの頭部姿勢方向と交差する、手、メッシュ、または平面表面を含んでもよい。平面表面は、ユーザのコマンドが、「ここに」である場合、近距離に位置する一方、ユーザのコマンドが、「そこに」である場合、中距離または遠距離に位置してもよい。本フィードバックは、視覚的オブジェクトの陰影または輪郭のように可視化され得る。
ユーザはまた、相互作用をキャンセルすることができる。相互作用は、種々の場合において、2つの方法で、すなわち、(1)n秒の時間切れによるコマンドの完了失敗、または(2)例えば、「いいえ」、「やっぱりいいや」、または「キャンセル」等と発するキャンセルコマンドを入力することでキャンセルされてもよい。
(ユーザ入力の組み合わせを使用したテキストとの相互作用の実施例)
複合現実環境における、自由形態のテキスト入力、特に、従来の相互作用モダリティを使用した長文字列シーケンスの入力は、問題となり得る。実施例として、特に、「ハンズフリー」環境において、キーボード、ハンドヘルドコントローラ(例えば、トーテム)、またはマウス等の入力またはインターフェースデバイスを欠いている、全体的に、自動発話認識(ASR)を依拠する、本システムは、テキスト編集(例えば、ユーザの発話の正しくない書き起こし記録等の発話認識技術自体に特有のASRエラーを補正するため)を使用することが困難であり得る。別の実施例として、「ハンズフリー」環境における仮想キーボードは、精緻化されたユーザ制御を要求し得、一次形態のユーザ入力として使用される場合、疲労をもたらし得る。
本明細書に説明されるウェアラブルシステム200は、ユーザが、例えば、音声、眼視線、ジェスチャ、頭部姿勢、トーテム入力等の2つ以上の組み合わせ等のマルチモード入力を使用して、自然かつ迅速に、仮想テキストと相互作用することを可能にするようにプログラムされることができる。語句「テキスト」は、本明細書で使用されるように、活字、文字、単語、語句、文、段落、または他のタイプの自由形態テキストを含むことができる。テキストはまた、グラフィックまたはアニメーション、例えば、絵文字、表意文字、顔文字、スマイリー、記号等を含むことができる。仮想テキストとの相互作用は、単独で、または組み合わせて、テキストを構成する、選択する(例えば、テキストの一部または全てを選択する)、または編集する(例えば、変更、コピー、切り取り、貼り付け、削除、クリア、元に戻す、やり直し、挿入、置換等)ステップを含むことができる。ユーザ入力の組み合わせを利用することによって、本明細書に説明されるシステムは、速度および利便性において、単一入力システムに優る有意な改良を提供する。
本明細書に説明されるマルチモードテキスト相互作用技法は、任意の口述記録シナリオまたはアプリケーション(例えば、本システムは、書き起こし記録が意味論評価に依拠する別のタスクの一部である場合でも、任意の意味論評価を適用するのではなく、単に、ユーザ発話を書き起こす)において適用されることができる。いくつかの例示的アプリケーションは、メッセージングアプリケーション、単語処理アプリケーション、ゲーム用アプリケーション、システム構成アプリケーション等を含むことができる。ユースケースの実施例は、ユーザが、ユーザの連絡先リスト内にある場合とそうではない場合がある、連絡先に送信されることになるテキストメッセージを書き込む、ユーザが、文字、記事、または他のテキストコンテンツを書き込む、ユーザが、コンテンツをソーシャルメディアプラットフォーム上に投稿し共有する、およびユーザが、ウェアラブルシステム200を使用して、フォームを完成または別様に埋めることを含むことができる。
ユーザ入力の組み合わせを利用するシステムは、ウェアラブルシステムである必要はない。所望に応じて、そのようなシステムは、デスクトップコンピュータ、ラップトップ、タブレット、スマートフォン、またはキーボード、トラックパッド、マイクロホン、眼または視線追跡システム、ジェスチャ認識システム等の複数のユーザ入力チャネルを有する別のコンピューティングデバイス等の任意の好適なコンピューティングシステムであってもよい。
(マルチモードユーザ入力を用いてテキストを構成する実施例)
図28A-28Fは、例えば、音声コマンドまたは眼視線等の入力の組み合わせに基づいて、テキストを構成および編集する、例示的ユーザ体験を図示する。本明細書に説明されるように、ウェアラブルシステムは、図4に示される内向きに面した結像システム462によって入手された画像に基づいて、ユーザの視線方向を決定することができる。内向きに面した結像システム462は、ユーザの瞳孔の一方または両方の配向を決定してもよく、ユーザの片眼または両眼の通視線または複数の通視線を外挿してもよい。ユーザの両眼の通視線を決定することによって、ウェアラブルシステム200は、ユーザが見ている空間内の3次元位置を決定することができる。
ウェアラブルシステムはまた、図2Aに示されるオーディオセンサ232(例えば、マイクロホン)から入手されたデータに基づいて、音声コマンドを決定することができる。本システムは、発話された入力2800をテキストに変換する、自動発話認識(ASR)エンジンを有してもよい。発話認識エンジンは、メッセージテキストをより長い発声から隔離および抽出するステップを含む、発話された入力2800をテキストに変換する際、自然言語理解を使用してもよい。
図28Aに示されるように、オーディオセンサ232は、ユーザによって発話された語句2800を受信することができる。図28Aに図示されるように、語句2800は、「~を伝えるメッセージをJohn Smithに送信する」等のコマンド、および、例えば、メッセージを構成および送信する等のコマンドのパラメータと、John Smithとしてのメッセージの宛先とを含んでもよい。語句2800はまた、構成されるべきメッセージの内容を含むことができる。本実施例では、メッセージの内容は、「Bostonからの飛行機に搭乗し、7時頃に到着予定です。オフィスの近くの角で会いましょう」を含むことができる。そのようなコンテンツは、ASRエンジン(自然言語理解を実装し、メッセージの内容および句読点(例えば、「。」)をユーザの発声から隔離および抽出することができる)を使用して、オーディオデータを解析することによって取得されることができる。いくつかの実施例では、句読点は、書き起こされた文字列のコンテキストにおける提示のために処理されてもよい(例えば、「2時」は、「2:00」として提示されてもよい、または「クエスチョンマーク」は、「?」として提示されてもよい)。ウェアラブルシステムはまた、テキスト文字列内の離散単語を隔離すること等によって、テキスト文字列をトークン化し、離散単語を複合現実環境において表示すること等によって、結果を表示することができる。
しかしながら、自動発話認識は、いくつかの状況では、エラーを被りやすくあり得る。図28Bに図示されるように、ASRエンジンを使用するシステムは、不良または特異表現発音、環境雑音、同音異義語、および他の類似音単語、躊躇または吃音、およびASRの辞書内にない語彙(例えば、外国語の語句、技術的用語、専門用語、スラング等)を含む、種々の理由から、ユーザの発話された入力に精密に合致しない、結果を生産し得る。図28Bの実施例では、本システムは、語句2800のコマンド側面を適切に解釈し、ヘッダ2802および本文2804を伴う、メッセージを生成した。しかしながら、メッセージの本文2804では、本システムは、「corner(角)」のユーザの発声を、幾分類似音である、「quarter(4分の1)」として正しくなく解釈した。全体的に音声入力に依拠する、システムでは、ユーザのために、誤認識される単語(または語句)と意図される単語(または語句)を迅速に置換することが困難であろう。しかしながら、本明細書に説明されるウェアラブルシステム200は、有利なこととして、ユーザが、図28C-28Fに図示されるように、エラーを迅速に補正することを可能にすることができる。
ウェアラブルシステム内のASRエンジンは、ユーザの発声と関連付けられた少なくとも1つの単語を含む、テキスト結果を生産し得、また、テキスト結果内の各単語(または語句)と関連付けられたASRスコアを生産し得る。高ASRスコアは、ASRエンジンがユーザの発声をテキストに正しく書き起こした高信頼度または高尤度を示し得る一方、低ASRスコアは、ASRエンジンがユーザの発声をテキストに正しく書き起こした低信頼度または低尤度を示し得る。いくつかの実施形態では、本システムは、低ASRスコア(例えば、ASR閾値を下回るASRスコア)を伴う単語を強調された様式(例えば、背景ハイライト、イタリックまたは太字フォント、異なる色フォント等を伴う)で表示してもよく、これは、ユーザが正しくなく認識された単語を識別または選択することをより容易にし得る。ある単語に関する低ASRスコアは、ASRエンジンが単語を誤認識した合理的尤度が存在するため、ユーザが、編集または置換するために、その単語を選択する可能性がより高いことを示し得る。
図28Cおよび28Dに示されるように、ウェアラブルシステムは、ユーザが、図4の内向きに面した結像システム462等の眼追跡システムを使用して、誤認識された単語(または語句)を選択することを可能にしてもよい。本実施例では、選択された単語は、先行する図を用いて上記に説明される標的仮想オブジェクトの実施例であってもよい。
ウェアラブルシステム200は、内向きに面した結像システム462に基づいて、視線方向を決定することができ、円錐2806または光線を視線方向に投じることができる。ウェアラブルシステムは、ユーザの視線方向と交差する、1つ以上の単語を選択することができる。ある実装では、単語は、ユーザの視線が少なくとも閾値時間にわたって誤った単語上に留まるとき、選択されてもよい。上記に説明されるように、誤った単語は、少なくとも部分的に、低ASRスコアと関連付けられることによって、決定されてもよい。閾値時間は、ユーザが特定の単語を選択することを所望することを示すために十分な任意の時間量であり得るが、選択を不必要に遅延させない長さである。閾値時間はまた、ユーザが特定の仮想単語を選択することを所望することを示す、信頼度スコアを決定するために使用されてもよい。例えば、ウェアラブルシステムは、ユーザがある方向/オブジェクトを注視していた長さに基づいて、信頼度スコアを計算することができ、信頼度スコアは、ある方向/オブジェクトを見るための時間持続時間が増加するにつれて増加し得る。信頼度スコアはまた、本明細書に説明されるように、マルチモード入力に基づいて計算されてもよい。例えば、ウェアラブルシステムは、ユーザの手のジェスチャおよび眼視線の両方が、ある単語が選択されるべきであることを示す場合、(眼視線単独から導出される信頼度スコア)より高い信頼度スコアを伴って、決定してもよい。
別の実施例として、ウェアラブルシステムは、本明細書により詳細に議論されるように、特定の単語の変換のASRエンジンの相対的信頼度を示し得る、ASRスコアに部分的に基づいて、信頼度スコアを計算してもよい。例えば、低ASRエンジンスコアは、ASRエンジンが、発話された単語を正しく書き起こしたことの比較的に低信頼度を有することを示し得る。したがって、ユーザが、編集または置換するために、その単語を選択する可能性が高いであろう、より高い確率が存在し得る。ユーザの視線が、低ASRスコアを有する単語上に閾値時間より長く留まる場合、本システムは、より高い信頼度スコアを割り当て、ユーザが、少なくとも2つの理由、すなわち、第1に、その単語上の眼視線の長さ、第2に、その単語がASRエンジンによって誤って書き起こされた可能性が高いという事実(両方とも、ユーザがその単語を編集または置換することを所望することになるであろうことを示す傾向にある)から、その単語を選択したことを反映することができる。
単語は、信頼度スコアが閾値基準に達する場合、選択されてもよい。実施例として、閾値時間は、0.5秒、1秒、1.5秒、2秒、2.5秒、1~2秒、1~3秒等であってもよい。したがって、ユーザは、単に、十分な時間にわたって見ることによって、容易かつ迅速に、誤った単語、「quarter(4分の1)」を選択することができる。単語は、眼視線(またはジェスチャ)時間とASR閾値を上回るASRスコアの組み合わせに基づいて選択されてもよく、両基準は、ユーザがその特定の単語を選択しようとすることのインジケーションを提供する。
実施例として、ASRエンジンの結果が、高ASRスコアを有する第1の単語(例えば、ASRエンジンが正しく認識したと比較的に確信がある単語)および低ASRスコアを有する第2の単語(例えば、ASRエンジンが正しく認識しなかったと比較的に確信がある単語)を含み、これらの2つの単語が、ウェアラブルシステムによって相互に隣接して表示される場合、ウェアラブルシステムは、ユーザが、正しく認識された第1の単語より正しくなく認識された第2の単語を編集することを所望する可能性がより高いため、第1および第2の単語の両方を包含するユーザの視線入力が、その比較的に低ASRスコアに基づいて、実際には、ユーザによる第2の単語を選択する試みであると仮定してもよい。このように、不正確であって、編集を要求する可能性がより高い、低ASRスコアを伴って、ASRエンジンによって生産された単語は、ユーザが編集するために選択することをより有意に容易にし、したがって、ユーザによる編集を促進し得る。
本実施例は、眼視線を使用して、誤認識された単語を選択するステップを説明するが、別のマルチモード入力もまた、単語を選択するために使用されることができる。例えば、円錐キャスティングは、それらがまた、仮想円錐2806の一部と交差するため、「around」、「7:00」、「the」、および「quarter」等の複数の単語を識別することができる。図29-31を参照してさらに説明されるであろうように、ウェアラブルシステムは、眼視線入力と別の入力(例えば、ジェスチャ、音声コマンド、またはユーザ入力デバイス466からの入力等)を組み合わせ、単語「quarter」をさらに編集するための単語として選択することができる。
単語2808を選択することに応じて、本システムは、選択された単語の編集を可能にすることができる。ウェアラブルシステムは、ユーザが、例えば、変更、切り取り、コピー、貼り付け、削除、クリア、元に戻す、やり直す、挿入、置換等の種々の技法を使用して、単語を編集することを可能にすることができる。図28Dに示されるように、ウェアラブルシステムは、ユーザが、単語2808を別の単語に変更することを可能にすることができる。ウェアラブルシステムは、例えば、付加的発話された入力をマイクロホンを通して受信し、選択された単語を置換または削除する、仮想キーボードを表示して、ユーザが置換語をタイプすることを可能にする、またはユーザ入力デバイスを介してユーザ入力を受信する等によって、単語2808を編集するための種々のユーザ入力をサポートすることができる。ある実装では、入力は、具体的タイプのテキスト編集と関連付けられてもよい。例えば、手を振るジェスチャは、選択されたテキストを削除するステップと関連付けられてもよい一方、テキスト内の位置を指で指し示すことを伴うジェスチャは、ウェアラブルシステムに、付加的テキストをその位置に挿入させ得る。ウェアラブルシステムはまた、ユーザ入力の組み合わせをサポートして、単語を編集することができる。図32-35を参照してさらに説明されるであろうように、本システムは、眼視線を別の入力モードと組み合わせてサポートし、単語を編集することができる。
図28Dおよび28Eの実施例では、本システムは、ユーザに、単語2808の選択に応じて、代替2810aおよび2810b等の提案される代替のアレイを自動的に提示してもよい。提案される代替は、ASRエンジンまたはシステム内の他の言語処理エンジンによって生成されてもよく、オリジナル発話入力(いくつかの実施形態では、音声入力とも称され得る)、自然言語理解、ユーザ挙動から学習されたコンテキスト、または他の好適なソースに基づいてもよい。少なくともいくつかの実施形態では、提案される代替は、ASRエンジンによって生成された代替仮定であってもよい、予測テキストエンジン(隣接する単語のコンテキストおよびテキストのユーザの履歴パターンを使用して、「ブランクを埋める」ことを試み得る)によって生成された仮定であってもよい、オリジナル変換の同音異義語であってもよい、類語辞典を使用して生成されてもよい、または他の好適な技法を使用して生成されてもよい。図示される実施例では、「quarter」の提案される代替は、「quarter」に音が類似する単語であると言語エンジンによって提供され得る、「corner」および「courter」を含む。
図28Eは、システムが、ユーザが眼視線を用いて「corner」等の所望の代替単語を選択することを可能にし得る方法を図示する。ウェアラブルシステムは、図28Cを参照して説明されるもののような類似技法を使用して、代替単語を選択してもよい。例えば、本システムは、内向きに面した結像システム462を使用して、ユーザの眼を追跡し、ユーザの視線2812が、少なくとも閾値時間にわたって、特定の代替、すなわち、代替2810Aまたは「corner」等上に合焦されていることを決定してもよい。ユーザの視線2812が閾値時間にわたって代替上に合焦されていることの決定後、本システムは、図28Fに示されるように、元々選択された単語と選択された代替単語2814を置換することによって、テキスト(メッセージ)を改訂してもよい。ウェアラブルシステムが、円錐キャスティングを使用して、単語を選択する、ある実装では、ウェアラブルシステムは、テキストの密度に基づいて、円錐のサイズを動的に調節することができる。例えば、ウェアラブルシステムは、いくつかの利用可能なオプションが存在するため、図28Eに示されるように、より大きい開口を伴う(したがって、より大きい表面積をユーザから離れた場所に伴う)円錐を提示し、編集するための代替単語を選択してもよい。しかし、ウェアラブルシステムは、単語2808が他の単語で囲繞されるため、図28Cでは、より小さい開口を伴う円錐を提示し、単語2808を選択してもよく、より小さい円錐は、別の単語を偶発的に選択するエラーレートを低減させることができる。
ウェアラブルシステムは、動作の過程全体を通して、フィードバック(例えば、視覚、聴覚、触覚等)をユーザに提供することができる。例えば、ウェアラブルシステムは、焦点インジケータを提示し、標的仮想オブジェクトのユーザ認識を促進することができる。例えば、図28Eに示されるように、ウェアラブルシステムは、コントラスト背景2830を単語「4分の1」の周囲に提供し、単語「quarter」が選択されており、ユーザが現在単語「quarter」を編集していることを示すことができる。別の実施例として、図28Fに示されるように、ウェアラブルシステムは、単語「corner」2814のフォントを変更し(例えば、太字フォントに)、ウェアラブルシステムが単語「quarter」と本代替単語「corner」の置換を確認したことを示すことができる。他の実装では、焦点インジケータは、十字線、選択されたテキストを囲繞する円形または卵形、または他のグラフィカル技法を含み、選択されたテキストをハイライトまたは強調することができる。
(マルチモードユーザ入力を用いて単語を選択する実施例)
ウェアラブルシステムは、複数のモードのユーザ入力をサポートおよび利用し、単語を選択するように構成されることができる。図29-31は、眼視線および別の入力モードの組み合わせに基づいて単語を選択する実施例を図示する。但し、他の実施例では、眼視線以外の入力もまた、テキストとの相互作用のために、別の入力モードと組み合わせて使用されることができる。
図29は、ユーザ入力デバイスおよび視線からの入力に基づいて単語を選択する実施例を図示する。図29に示されるように、本システムは、ユーザの視線2900(内向きに面した結像システム462からのデータに基づいて決定されてもよい)とユーザ入力デバイス466を介して受信されたユーザ入力を組み合わせてもよい。本実施例では、ウェアラブルシステムは、ユーザの視線方向に基づいて、円錐キャスティングを実施することができる。ウェアラブルシステムは、ユーザ入力デバイスからの入力に基づいて、単語「quarter」の選択を確認することができる。例えば、ウェアラブルシステムは、単語「quarter」がユーザの視線方向に最も近い単語であることを識別することができ、ウェアラブルシステムは、単語「quarter」がユーザ入力デバイス466のユーザの作動に基づいて選択されたことを確認することができる。別の実施例として、円錐キャスティングは、例えば、「around」、「7:00」、「the」、および「quarter」等の複数の単語を捕捉することができる。ユーザは、ユーザ入力デバイス466を介して、複数の単語の中から、さらに編集するための単語を選択することができる。ユーザの視線から独立して入力を受信することによって、本システムは、特定の単語をユーザが編集することを所望するものとして確信的に識別する前に、長く待機する必要がなくなり得る。単語を選択し、このように編集後、本システムは、代替(図28Eに関連して議論されるように)を提示する、または別様に、ユーザが選択された単語を編集することを可能にしてもよい。ユーザの視線とトーテムを介して受信されたユーザ入力を組み合わせる同一プロセスは、所望の置換単語を選択する(例えば、代替の中から単語「corner」を選択し、単語「quarter」を置換する)ステップに適用されてもよい。いくつかの実装は、信頼度スコアを利用して、ユーザによって選択されているテキストを決定してもよい。信頼度スコアは、複数の入力モダリティを集約し、選択されたテキストのより良好な決定を提供し得る。例えば、信頼度スコアは、ユーザがテキストを凝視していた時間、テキストを凝視しているとき、ユーザがユーザ入力デバイス466を作動させたかどうか、ユーザが選択されたテキストに向かって指し示していたかどうか等に基づいてもよい。信頼度スコアが閾値に達する場合、ウェアラブルシステムは、増加された信頼度を伴って、システムがユーザが所望するテキストを正しく選択したことを決定することができる。例えば、単に、眼視線を用いて、テキストを選択するために、本システムは、視線時間が1.5秒を超える場合、テキストを選択するように構成されてもよい。しかしながら、ユーザが、0.5秒しかテキストを凝視していないが、同時に、ユーザ入力デバイスを作動させる場合、本システムは、より迅速かつ確信的に、選択されたテキストを決定することができ、これは、ユーザ体験を改良し得る。
図30は、音声および視線入力の組み合わせに基づいて編集するための単語を選択する実施例を図示する。ウェアラブルシステムは、ユーザの視線に基づいて、標的仮想オブジェクトを決定することができる。図30に示されるように、本システムは、ユーザの視線3000が特定の単語(この場合、「quarter」)に指向されていることを決定してもよい。ウェアラブルシステムはまた、ユーザの音声コマンドに基づいて、標的仮想オブジェクト上で実施されるべき動作を決定することができる。例えば、ウェアラブルシステムは、オーディオセンサ232を介して、ユーザの発話された入力3010を受信してもよく、発話された入力3010をコマンドとして認識してもよく、2つのユーザ入力をコマンドに組み合わせ、コマンド動作(「編集」)を標的仮想オブジェクト(例えば、ユーザがその視線を合焦させている単語(「quarter」))に適用してもよい。前述のように、本システムは、ユーザが編集するための単語を選択後、代替単語を提示してもよい。ユーザの視線と発話された入力を組み合わせる同一プロセスは、代替単語の中から所望の置換単語を選択し、単語「quarter」を置換するステップに適用されてもよい。本明細書に説明されるように、「編集」のような用語は、1つ以上の異なるユーザ入力モダリティ毎に、編集と関連付けられた制約されたシステムコマンドライブラリを呼び出す役割を果たす、コンテキスト特有のウェイクアップ単語を表す。すなわち、そのような用語は、システムによって発話された入力として受信されると、システムに、向上された正確度を伴って、ユーザによって提供される編集関連コマンドを認識するように、続いて受信されたユーザ入力を限定されたセットの参照に対して評価させ得る。例えば、発話入力のコンテキストでは、本システムは、用語の限定されたコマンド特有の語彙を調べ、発話認識を続いて受信された発話入力上で実施し得る。別の実施例では、視線またはジェスチャ入力のコンテキストでは、本システムは、テンプレート画像の限定されるコマンド特有のライブラリを調べ、画像認識を続いて受信された視線またはジェスチャ入力上で実施し得る。「編集」のような用語は、時として、「ホットワード」または「キャリア語句」とも称され、本システムは、(編集コンテキストにおける)編集、切り取り、コピー、貼り付け、太字、イタリック、削除、移動等のいくつかの事前にプログラムされた(かつ随意にユーザ設定可能)ホットワードを含んでもよい。
図31は、視線およびジェスチャ入力の組み合わせに基づいて編集するための単語を選択する実施例を図示する。図31の実施例に図示されるように、本システムは、眼視線入力3100とともにジェスチャ入力3110を使用して、編集するための単語を選択してもよい。特に、本システムは、眼視線入力3100(例えば、内向きに面した結像システム462によって入手されたデータに基づいて)を決定してもよく、ジェスチャ入力3110(例えば、外向きに面した結像システム464によって入手された画像に基づいて)を識別してもよい。認識装置708等のオブジェクト認識装置は、編集するための単語の識別と関連付けられたジェスチャを行う、その手等のユーザの身体の一部を検出する際に使用されてもよい。
ジェスチャは、単独で、または眼視線と組み合わせて使用され、単語を選択してもよい。例えば、円錐キャスティングは、複数の単語を捕捉することができるが、ウェアラブルシステムは、それにもかかわらず、円錐キャスティングおよびユーザの手のジェスチャの両方から識別される(例えば、眼視線円錐キャスティングに加え、手のジェスチャに基づく、信頼度スコアが、ユーザが単語「quarter」を選択したことを示す信頼度閾値を超える)ため、単語「quarter」を標的仮想オブジェクトとして識別し得る。別の実施例として、円錐キャスティングは、複数の単語を捕捉することができるが、ウェアラブルシステムは、それにもかかわらず、円錐キャスティングから識別され、かつ円錐キャスティング内(またはその近傍)にあるASRエンジンからの最低ASRスコアを伴う単語であるため、単語「quarter」を標的仮想オブジェクトとして識別し得る。ある実装では、ジェスチャは、「編集」または本明細書に説明される他のホットワード等のコマンドと関連付けられ得るため、コマンド動作と関連付けられてもよい。実施例として、本システムは、ユーザが凝視している同一単語を指し示しているときを認識し、これらのユーザ入力を同一単語を編集するための要求として解釈し得る。所望に応じて、本システムはまた、ユーザが特定の単語を編集することを所望することを決定する際、同時に、「編集」の音声コマンド等の付加的ユーザ入力を利用してもよい。
(マルチモードユーザ入力を用いて単語を編集する実施例)
いったんユーザが、編集するための単語を選択すると、本システムは、任意の望ましいモードのユーザ入力を利用して、選択された単語を編集することができる。ウェアラブルシステムは、ユーザが、潜在的代替のリストを表示し、ユーザ視線入力2812を受信して、代替単語を選択し、オリジナル単語を置換することによって、選択された単語を変更または置換することを可能にすることができる(図28Eに図示される実施例参照)。図32-34は、選択された単語を編集する付加的実施例を図示し、選択された単語は、マルチモード入力を使用して編集されることができる。
図32は、眼視線および発話入力の組み合わせに基づいて単語を置換する実施例を図示する。図32では、本システムは、発話入力3210をユーザから受信する(オーディオセンサ232または他の好適なセンサを通して)。発話入力3210は、所望の置換単語を含有することができる(提案される代替3200のリストからの置換単語である場合とそうではない場合がある)。発話入力3210の受信に応じて、ウェアラブルシステムは、入力を解析し(例えば、「これを…に変更する」のようなキャリア語句を取り出すため)、ユーザによって発話された単語を識別し、選択された単語「quarter」とユーザによって発声されるような単語「corner」を置換することができる。本実施例では、置換は、単語であるが、ある実装では、ウェアラブルシステムは、単語「quarter」と語句または文またはある他の要素(例えば、絵文字)を置換するように構成されることができる。複数の単語が眼視線円錐キャスティング内に含有される、実施例では、ウェアラブルシステムは、置換単語に最も近い眼視線円錐内の単語を自動的に選択してもよい(例えば、「quarter」は、「the」または「7:00」より「corner」に近い)。
図33は、音声および視線入力の組み合わせに基づいて単語を変更する実施例を図示する。本実施例では、ウェアラブルシステムは、発話入力3310を受信し、ユーザの視線方向3300を決定することができる。図33に示されるように、発話入力3310は、語句「それを「corner」に変更する」を含む。ウェアラブルシステムは、発話入力3310を解析し、発話入力3310が、コマンド動作「変更」(キャリア語句の実施例である)、対象「それ」、およびコマンドのパラメータ(例えば、結果として生じる単語「corner」)を含むことを決定することができる。本発話入力3310は、眼視線3300と組み合わせられ、動作の対象を決定することができる。図28Aおよび28Bを参照して説明されるように、ウェアラブルシステムは、単語「quarter」を動作の対象として識別することができる。したがって、ウェアラブルシステムは、対象(「quarter」)を結果として生じる単語「corner」に変更することができる。
図34は、仮想キーボード3410を使用して選択された単語3400を編集する実施例を図示する。仮想キーボード3410は、ユーザ視線入力、ジェスチャ入力、ユーザ入力デバイスから受信された入力等によって制御されることができる。例えば、ユーザは、眼視線方向3420をウェアラブルシステム200のディスプレイによってユーザに表示される仮想キーボード3410にわたって移動させることによって、置換単語をタイプしてもよい。ユーザは、閾値時間周期にわたって、その視線を個別のキーにわたって一時停止することによって、各文字を置換単語内にタイプしてもよい、またはウェアラブルシステムは、特定のキーにわたるユーザの視線3420の方向の変化をユーザがそのキーを選択することを所望することのインジケーションとして認識してもよい(それによって、ユーザが、単語をタイプするとき、その焦点を各個々のキー上に静止して保持する必要性を排除する)。図28Dを参照して説明されるように、ある実装では、ウェアラブルシステムは、キーのサイズに基づいて、円錐のサイズを変動させてもよい。例えば、各キーのサイズが比較的に小さい、仮想キーボード3410では、ウェアラブルシステムは、円錐のサイズを低減させ、ユーザが、置換単語内の文字をより正確に識別することを可能にしてもよい(円錐キャスティングが、多数の可能性として考えられるキーを偶発的に捕捉しないであろうように)。サイズが、比較的に大きい場合、ウェアラブルシステムは、ユーザが視線方向を正確に示す必要はないように(疲労を低減させることができる)、適宜、キーのサイズを増加させることができる。
ある実装では、単語が選択された後、ウェアラブルシステムは、選択された単語を置換するための提案される代替単語のリストを表示することに加え、またはその代替として、可能性として考えられるアクションのセットを提示することができる。ユーザ210は、アクションを選択し、本明細書に説明される技法を使用して、選択された単語を編集することができる。図35は、選択された単語に適用するための可能性として考えられるアクションを表示する例示的ユーザインターフェースを図示する。図35では、編集するための単語3500の選択に応じて、ウェアラブルシステムは、(本実施例では)(1)単語を変更する(編集するための本明細書に説明される技法のいずれかを使用して)、(2)単語を切り取り、随意に、それをクリップボードに記憶させる、または単語をコピーし、それをクリップボードに記憶させる、または(3)単語または語句をクリップボードから貼り付けるオプションを含む、編集するためのオプションのリスト3510を提示してもよい。提示され得る、付加的または代替オプションは、選択を削除するオプション、やり直しオプション、元に戻すオプション、全てを選択するオプション、ここに挿入するオプション、および置換するオプションを含む。種々のオプションは、本明細書に説明されるように、視線入力、トーテム入力、ジェスチャ入力等を使用して選択されてもよい。
(マルチモードユーザ入力を用いて語句と相互作用する実施例)
先行実施例は、マルチモード入力を使用して、単語を選択および編集するステップを説明したが、これは、例証のために意図され、同一または類似プロセスおよび入力が、概して、複数の単語または文字を含む、語句または文または段落を選択および編集する際に使用されてもよい。
図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から開始する語句または文を選択することを意図することを示し得る。
図36(iii)では、ユーザ入力デバイス466の作動後、ユーザは、最後の意図される単語(例えば、単語「そこに」)を見て、ユーザが、単語「I’m」から開始し、単語「そこに」で終了する語句を選択することを所望することを示すことができる。ウェアラブルシステムはまた、ユーザがトーテム3620を作動させることを停止した(例えば、ユーザが以前に押下したボタンを解放する)ことを検出することができ、故に、語句「I’m flying in from Boston and will be there」の全体範囲3630を選択することができる。本システムは、焦点インジケータを使用して(例えば、コントラスト背景を語句内の全ての単語まで延在させることによって)、選択された語句を表示することができる。
システムは、ユーザが種々の技法を使用して、編集するための別の単語ではなく、ある語句を選択することを所望することを決定してもよい。実施例として、本システムは、ユーザが第1の単語を選択後間もなく、ユーザが第2の単語を選択するとき、ユーザが、第1の単語のその選択を元に戻すのではなく、ある語句を選択することを所望することを決定してもよい。別の実施例として、本システムは、ユーザが第1の単語の後に現れる第2の単語を選択するとき、ユーザがある語句を選択することを所望しており、ユーザが第1の選択された単語をまだ編集していないことを決定してもよい。さらに別の実施例として、ユーザは、その視線が第1の単語3610上に合焦されているとき、トーテム3620上のボタンを押下し、次いで、その視線が最後の単語上に落ち着くまで、ボタンを保持してもよい。システムが、視線3610が第1の単語上に合焦されているとき、ボタンが押下されたが、ユーザの視線3610が第2の単語に偏移した後のみ解放されたことを認識すると、本システムは、マルチモードユーザ入力をある語句の選択として認識してもよい。本システムは、次いで、第1の単語、最後の単語、およびそれらの間の全ての単語を含む、語句内の単語の全てを識別してもよく、全体としての語句の編集を可能にしてもよい。本システムは、焦点インジケータを使用して、選択されていないテキストから顕著であるように、選択された語句をハイライトしてもよい(例えば、ハイライト、強調されるテキスト(例えば、太字またはイタリックまたは異なる色)等)。本システムは、次いで、オプション3510等の選択された語句を編集するための適切なオプション、キーボード3410等の仮想キーボード、代替語句等をコンテキスト的に表示してもよい。本システムは、発話された入力、トーテム入力、ジェスチャ入力等の付加的ユーザ入力を受信し、選択された語句3630を編集する方法を決定してもよい。
図36は、ユーザが、語句の開始時にある、第1の単語3610を選択するステップを図示するが、本システムはまた、ユーザが、第1の単語3610から後方を選択することを可能にしてもよい。言い換えると、ユーザは、語句の最後の単語(例えば、「そこに」)を選択することによって、次いで、所望の語句の第1の単語(例えば、「I’m」)を選択することによって、語句を選択してもよい。
図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の対応が存在しない。そのような実施形態では、ウェアラブルシステムは、代替または二次語句および/または文を選択する、ユーザからの入力をサポートすることができる(本明細書に説明される様式のいずれかにおいて)。
図37Bに示されるように、ユーザの発話入力3700からの各単語は、一次および二次結果の集合3710、3720、3730、3740として表示されてもよい。本タイプの配列は、ユーザが、ASRエンジンによって導入される正しくない一次結果および正しい任意のエラーを迅速に入れ替えることを可能にし得る。一次結果3752は、焦点インジケータを用いて強調され(例えば、各単語は、図37Bにおける実施例では、境界ボックスによって囲繞される太字テキストである)、それらを二次結果から区別してもよい。
ユーザ210は、一次単語がユーザによって意図されるものではない場合、二次結果、例えば、二次単語、語句、または文等上で休止することができる。実施例として、集合3740内のASRエンジンの一次結果は、「slip」である一方、正しい書き起こし記録は、実際には、第1の二次結果「sleep」である。本エラーを補正するために、ユーザは、その視線を正しい二次結果「sleep」上に合焦させることができ、本システムは、ユーザの視線が、閾値時間周期にわたって、二次結果上に留まっていることを認識し得る。本システムは、ユーザ視線入力を一次結果「slip」と選択された二次結果「sleep」を置換するための要求として変換し得る。付加的ユーザ入力が、ユーザ発話入力等の所望の二次結果を選択することと併せて、受信されてもよい(例えば、ユーザは、所望の二次結果を見ながら、システムに、「編集する」、「これを使用する」、または「置換する」ように求めてもよい)。
いったんユーザが、語句「I want to sleep」の編集を終了する、または書き起こし記録が正しいことを確認すると、語句は、本明細書に説明される任意のモードのユーザ入力を使用して、テキストの本文に追加されることができる。例えば、ユーザは、「終了」等のホットワードを発し、編集された語句をテキストの本文に戻るように追加させることができる。
(ユーザ入力の組み合わせを使用してテキストと相互作用する例示的プロセス)
図38は、複数のモードのユーザ入力を使用して、テキストと相互作用する、例示的方法3800のプロセスフロー図である。プロセス3800は、本明細書に説明されるウェアラブルシステム200によって実施されることができる。
ブロック3810では、ウェアラブルシステムは、発話された入力をユーザから受信してもよい。発話入力は、1つ以上の単語を含有する、ユーザの発話を含んでもよい。一実施例では、ユーザは、メッセージを書き取らせてもよく、ウェアラブルシステムは、本書き取られたメッセージを受信してもよい。これは、オーディオセンサ232等の任意の好適な入力デバイスを通して達成されてもよい。
ブロック3820では、ウェアラブルシステムは、発話入力をテキストに変換してもよい。ウェアラブルシステムは、自動発話認識(ASR)エンジンを利用して、ユーザの発話された入力をテキスト(例えば、文字による書き起こし記録)に変換してもよく、自然言語処理技法をさらに活用し、そのようなテキストを意図および概念を示す意味論表現に変換してもよい。ASRエンジンは、自由形態テキスト入力のために最適化されてもよい。
ブロック3830では、ウェアラブルシステムは、テキストを単語、語句、または文等の離散アクション可能要素にトークン化してもよい。ウェアラブルシステムはまた、ディスプレイ220等のディスプレイシステムを使用して、ユーザのためにテキストを表示してもよい。いくつかの実施形態では、ウェアラブルシステムは、トークン化システムの間、テキストの意味を理解する必要がない。他の実施形態では、ウェアラブルシステムは、テキストの意味を理解するための能力(例えば、1つ以上の自然言語処理モデルまたは他の確率論的統計的モデル)、または単に、(i)ユーザ構成メッセージまたはその一部を表す、単語、語句、および文と、(ii)ユーザ構成メッセージまたはその一部を表さないが、代わりに、ウェアラブルシステムによって実行されるべきコマンドに対応する、単語、語句、および文とを区別する能力を装備する。例えば、ウェアラブルシステムは、ユーザによって発話されたコマンド動作またはコマンドのパラメータを認識するために、テキストの意味を把握する必要があり得る。そのようなテキストの実施例は、本明細書では、ホットワードとも称される、1つ以上の異なるユーザ入力モダリティ毎に編集と関連付けられた1つ以上の制約されたシステムコマンドライブラリを呼び出す役割を果たす、コンテキスト特有のウェイクアップ単語を含んでもよい。
ユーザは、マルチモードユーザ入力を使用して、アクション可能要素のうちの1つ以上のものと相互作用することができる。ブロック3840では、ウェアラブルシステムは、第1のインジケーションに応答して、1つ以上の要素を選択することができる。第1のインジケーションは、本明細書に説明されるように、1つのユーザ入力またはユーザ入力の組み合わせであることができる。ウェアラブルシステムは、編集するためのテキスト文字列の要素のうちの1つ以上のものを選択する入力をユーザから受信してもよい。ユーザは、単一単語または複数の単語(例えば、語句または文)を選択してもよい。ウェアラブルシステムは、限定ではないが、発話入力、視線入力(例えば、内向きに面した結像システム462を介して)、ジェスチャ入力(例えば、外向きに面した結像システム464によって捕捉されるように)、トーテム入力(例えば、ユーザ入力デバイス466の作動を介して)、または任意のそれらの組み合わせを含む、任意の所望の形態において、編集するための要素を選択するユーザ入力を受信してもよい。実施例として、ウェアラブルシステムは、閾値時間周期にわたって特定の単語上に留まるユーザの視線の形態でユーザ入力を受信してもよい、または特定の単語上のユーザの視線と同時に、マイクロホンまたはトーテムを介して、編集するためのその特定の単語の選択を示すユーザ入力を受信してもよい。
ブロック3850では、ウェアラブルシステムは、第2のインジケーションに応答して、選択された要素を編集することができる。第2のインジケーションは、限定ではないが、ユーザ視線入力、発話された入力、ジェスチャ入力、およびトーテム入力を含む、先行する図を用いて説明されるように、単一入力モードまたは入力モードの組み合わせを介して、受信されることができる。ウェアラブルシステムは、選択された要素が編集されるべき方法を示すユーザ入力を受信してもよい。ウェアラブルシステムは、ブロック3850において受信されたユーザ入力に従って、選択された要素を編集してもよい。例えば、ウェアラブルシステムは、発話入力に基づいて、選択された要素を置換することができる。ウェアラブルシステムはまた、提案される代替のリストを提示し、ユーザの眼視線に基づいて、選択された代替の中から選択することができる。ウェアラブルシステムはまた、仮想キーボードとのユーザ相互作用を介して、またはユーザ入力デバイス466(例えば、物理的キーボードまたはハンドヘルドデバイス等)を介して、入力を受信することができる。
ブロック3860では、ウェアラブルシステムは、選択された要素を編集する結果を表示することができる。ある実装では、ウェアラブルシステムは、焦点インジケータを編集される要素上に提供することができる。
矢印3870によって示されるように、ウェアラブルシステムは、ユーザが、テキストの付加的要素を編集するための付加的ユーザ入力を提供する場合、ブロック3840、3850、および3860を繰り返してもよい。
ウェアラブルシステムのためのマルチモードタスク実行およびテキスト編集に関連する付加的詳細は、2018年4月17日に出願され、「MULTIMODAL TASK EXECUTION AND TEXT EDITING FOR A WEARABLE SYSTEM」と題され、米国特許公開第2018/0307303号として公開された、米国特許出願第15/955,204号(参照することによってその全体として本明細書に組み込まれる)に提供される。
(トランスモード入力融合技法の実施例)
上記に説明されるように、適切な入力モードの動的選択を提供する、トランスモード入力融合技法は、有利なこととして、ユーザが、より正確かつ確信的に、実または仮想オブジェクトを標的化することを可能にし、よりロバストかつユーザフレンドリーなAR/MR/VR体験を提供することができる。
ウェアラブルシステムは、有利なこととして、複数のユーザ入力モードの適時的融合をサポートし、3次元(3D)環境内のユーザ相互作用を促進することができる。本システムは、ユーザが、ともに収束し得る、2つ以上の個別の入力モードを介して、2つ以上の入力を提供するときを検出することができる。実施例として、ユーザは、その指を用いて、仮想オブジェクトを指し得る一方、また、その眼視線を仮想オブジェクトに指向する。ウェアラブルシステムは、眼視線および指ジェスチャ入力の本収束を検出し、眼視線および指ジェスチャ入力の適時的融合を適用し、それによって、より高い正確度および/または速度を伴って、ユーザが指している仮想オブジェクトを決定し得る。本システムは、したがって、一次入力標的化方法の不確実性を低減させることによって、ユーザが、より小さい要素(またはより急速に移動する要素)を選択することを可能にする。本システムはまた、要素の選択を加速および簡略化するために使用されることができる。本システムは、ユーザが、移動する要素の標的化の成功率を改良することを可能にすることができる。本システムは、ディスプレイ要素の豊かなレンダリングを加速させるために使用されることができる。本システムは、オブジェクト点群データ、稠密メッシュ化、および平面入手のローカル(およびクラウド)処理を優先順位化および加速し、握持された着目オブジェクトとともに、見出されるエンティティおよび表面の圧入忠実性を改良するために使用されることができる。本明細書に説明されるトランスモード技法の実施形態は、システムが、ユーザの視点からの可変トランスモード焦点度を確立する一方、依然として、頭部、眼、および手のわずかな運動を保存し、それによって、システムがユーザの意図を理解することを大幅に向上させることを可能にする。
本明細書にさらに説明されるであろうように、トランスモード状態の識別は、利用可能な入力ベクトルのいくつかまたは全ての相対的収束の分析を通して実施されてもよい。例えば、これは、対の標的化ベクトル(例えば、ユーザの眼から標的オブジェクトまでのベクトルと、ユーザによって保持されるトーテムから標的オブジェクトに向かって向いているベクトル)の間の角距離を考察することによって達成されてもよい。次いで、各対の入力の相対的分散が、考察され得る。距離または分散が、閾値を下回る場合、バイモード状態(例えば、バイモード入力収束)が、一対の入力と関連付けられることができる。3つ組の入力が、閾値を下回る角距離または分散を伴う、標的化ベクトルを有する場合、トリモード状態が、3つ組の入力と関連付けられることができる。4つ以上の入力の収束もまた、可能性として考えられる。頭部姿勢標的化ベクトル(頭部視線)、眼のバージェンス標的化ベクトル(眼視線)、および追跡されたコントローラまたは追跡された手(手ポインタ)標的化ベクトル3つ組が、識別される、実施例では、3つ組は、トランスモード三角形と称され得る。三角形の辺の相対的サイズ、本三角形の面積、またはその関連付けられた分散は、システムが標的化およびアクティブ化意図を予測するために使用し得る、特性特質を提示し得る。例えば、トランスモード三角形の面積が、閾値面積未満である場合、トリモード状態は、3つ組の入力と関連付けられることができる。バージェンス計算の実施例は、本明細書および付属Aに提供される。予測標的化の実施例として、本システムは、ユーザの眼および頭部入力が、ユーザの手入力の収束に先立って、収束する傾向にあることを認識し得る。例えば、オブジェクトを握持しようとするとき、眼および頭部移動が、急速に実施され得、手移動入力が収束する直前(例えば、約200ms)にオブジェクト上に収束し得る。本システムは、頭部-眼収束を検出し、手移動入力が、その後間もなく収束するであろうことを予測することができる。
標的化ベクトルの対(バイモード)、3つ組(トリモード)、または4つ組(クワドモード)、またはより多数の入力(例えば、5、6、7、またはそれよりも多く)の収束が、トランスモード協調のサブタイプをさらに定義するために使用されることができる。少なくともいくつかの実施形態では、所望される融合方法が、システムの詳細なトランスモード状態に基づいて識別される。所望の融合方法はまた、少なくとも部分的に、トランスモードタイプ(例えば、収束された入力)、運動タイプ(例えば、収束入力が移動している方法)、および相互作用場タイプ(例えば、入力が集束される、図44A、44B、および44Cに関連して説明される、中距離領域、タスク空間、および作業空間相互作用領域等の相互作用場)によって決定されてもよい。少なくともいくつかの実施形態では、選択された融合方法は、利用可能な入力モード(および関連付けられる入力ベクトル)のうちのどれが選択的に収束されているかを決定してもよい。運動タイプおよび場タイプは、収束入力のうちの1つ以上のものの相対的加重またはフィルタリング等の選択された融合方法の設定を決定し得る。
仮想オブジェクトと相互作用するためのトランスモード入力および複数のユーザ入力モードの適時的融合に関連する技法の付加的利点および実施例はさらに、図39A-60B(および下記および付属A)を参照して説明される。
(あるトランスモード専門用語の解説)
トランスモード入力融合技法のために使用される、ある用語の解説が、下記に提供される。これらの解説は、トランスモード専門用語を例証するように意図され、その範囲を限定するものではない。トランスモード専門用語は、明細書、請求項、および付随の図に記載される説明全体に照らして、当業者の視点から理解されるべきである。
用語「IP領域」は、相互作用点(IP)と関連付けられる、体積を含み得る。例えば、ピンチIP領域は、人差し指の指先および親指の指先の姿勢がとられた分離によって作成された体積(例えば、球形)を含み得る。用語「着目領域(ROI)」は、意図される標的オブジェクトのための標的化ベクトルのセットと関連付けられる、重複不確実性領域(例えば、体積)から構築された体積を含み得る。ROIは、その中で意図される標的オブジェクトが見出される可能性が高い、体積を表すことができる。
用語「モード入力」は、ウェアラブルシステムのセンサのいずれかからの入力を指し得る。例えば、共通モード入力は、6自由度(6DOF)センサ(例えば、頭部姿勢またはトーテム位置または配向のため)、眼追跡カメラ、マイクロホン(例えば、音声コマンドのため)、外向きに面したカメラ(手または身体ジェスチャのため)等からの入力を含む。トランスモード入力は、複数の同時の使用、動的に結合されるモード入力を指し得る。
用語「バージェンス」は、共通相互作用点(例えば、眼視線および手のジェスチャの両方が同一空間場所を指すとき)上の複数のユーザ入力モードと関連付けられる、複数の入力ベクトルの収束を含み得る。用語「固視」は、バージェンス点または単一入力ベクトル点の局在化された減速および一時停止を含み得る。用語「停留」は、少なくとも所与の持続時間にわたって時間的に延長する、固視を含み得る。用語「視標追従」は、標的または他のオブジェクトに向かうバージェンス点の視標(例えば、発射体様)運動を含み得る。用語「平滑追従」は、標的または他のオブジェクトに向かうバージェンス点の平滑(例えば、低加速または低躍度)運動を含み得る。
用語「センサ収束」は、センサデータの収束(例えば、ジャイロスコープからのデータと慣性測定ユニット(IMU)を形成する加速度計からのデータの収束、カメラを伴うIMUからのデータの収束、SLAMプロセスのための複数のカメラの収束等)を含み得る。用語「特徴収束」は、入力の空間的収束(例えば、複数の入力モードからの入力ベクトルの収束)および入力の時間的収束(例えば、複数の入力モードの並行または順次タイミング)を含み得る。
用語「バイモード」収束は、2つの入力モードの収束(例えば、入力ベクトルが共通相互作用点上に収束するにつれた2つの入力モードの収束)を含み得る。用語「トリモード」および「クワドモード」収束は、それぞれ、3つおよび4つの入力モードの収束を含み得る。用語「トランスモード」収束は、複数の入力の遷移収束(例えば、複数のユーザ入力モードの一時的収束の検出および全体的入力体験を改良するためのそれらのユーザ入力の対応する統合または融合)を含み得る。
用語「発散」は、少なくとも1つの他の入力モードと以前に収束されていた(および結果的に融合されていた)が、もはやその他の入力モードと収束されていない、少なくとも1つの入力モードを指し得る(例えば、トリモード発散は、最初は収束性であった第3の入力ベクトルが収束された第1および第2の入力ベクトルから発散するにつれた、トリモード収束状態からバイモード収束状態への遷移を指し得る)。
用語「頭部-手-バージェンス」は、頭部および手レイキャスティングベクトルの収束または頭部姿勢および手相互作用点の収束を含み得る。用語「頭部-眼バージェンス」は、頭部姿勢および眼視線ベクトルの収束を含み得る。用語「頭部-眼-手バージェンス」は、頭部姿勢、眼視線、および手方向入力ベクトルの収束を含み得る。
用語「受動トランスモード意図」は、標的化前、標的化、頭部-眼固視および停留を含み得る。用語「能動トランスモード意図」は、頭部-眼-手停留相互作用または頭部-眼-手操作相互作用を含み得る。用語「トランスモード三角形」は、3つのモード入力ベクトルの収束によって作成された面積を含み得る(およびトリモード収束入力の不確実性の面積を指し得る)。本面積は、バージェンス面積またはモードバージェンス面積とも称され得る。用語「トランスモード四角形」は、4つのモード入力ベクトルの収束によって作成された面積を含み得る。
(ユーザ入力の実施例)
図39Aおよび39Bは、ユーザ入力デバイス上のコントローラボタンまたは入力領域を通して受信されたユーザ入力の実施例を図示する。特に、図39Aおよび39Bは、本明細書に開示されるウェアラブルシステムの一部であり得、ホームボタン3902と、トリガ3904と、バンパ3906と、タッチパッド3908とを含み得る、コントローラ3900を図示する。それぞれ、図4および15を参照して説明される、ユーザ入力デバイス466またはトーテム1516は、ウェアラブルシステム200の種々の実施形態では、コントローラ3900としての役割を果たすことができる。
コントローラ3900を通して受信され得る、潜在的ユーザ入力は、限定ではないが、ホームボタン3902の押下および解放、トリガ3904の半および完全(および他の部分的)押下、トリガ3904の解放、バンパ3906の押下および解放、タッチ、タッチしながらの移動、タッチの解放、タッチにかかる圧力の増減、タッチパッド3908の縁等の具体的部分のタッチ、またはタッチパッド3908上のジェスチャの実施(例えば、親指である形状を描くことによって)を含む。
図39Cは、コントローラまたは頭部搭載型デバイス(HMD)の物理的移動を通して受信されたユーザ入力の実施例を図示する。図39Cに示されるように、コントローラ3900および頭部搭載型ディスプレイ3910(HMD)の物理的移動は、システムの中へのユーザ入力を形成し得る。HMD3910は、図2Aに示される頭部装着型コンポーネント220、230または図2Bに示される頭部搭載型ウェアラブルコンポーネント58を備えることができる。いくつかの実施形態では、コントローラ3900は、任意の方向におけるコントローラ3900の回転を認識することによって、3自由度(3DOF)入力を提供する。他の実施形態では、コントローラ3900は、任意の方向におけるコントローラの平行移動もまた認識することによって、6自由度(6DOF)入力を提供する。さらに他の実施形態では、コントローラ3900は、6DOF未満または3DOF未満の入力を提供してもよい。同様に、頭部搭載型ディスプレイ3910は、3DOF、6DOF、6DOF未満、または3DOF未満の入力を認識および受信してもよい。
図39Dは、ユーザ入力が異なる持続時間を有し得る様子の実施例を図示する。図39Dに示されるように、あるユーザ入力は、短持続時間(例えば、0.25秒等の1秒のある割合未満の持続時間)を有してもよい、または長持続時間(例えば、0.25秒超等の1秒のある割合を上回る持続時間)を有してもよい。少なくともいくつかの実施形態では、入力の持続時間自体が、システムによって、入力として認識および利用されてもよい。短および長持続時間入力は、ウェアラブルシステム200によって、異なるように取り扱われることができる。例えば、短持続時間入力は、オブジェクトの選択を表し得る一方、長持続時間入力は、オブジェクトのアクティブ化(例えば、オブジェクトと関連付けられるアプリの実行を生じさせる)を表し得る。
図40A、40B、41A、41B、および41Cは、システムによって受信および認識され得る、ユーザ入力の種々の実施例を図示する。ユーザ入力は、1つ以上のユーザ入力モード(図示されるように、個々に、または組み合わせて)にわたって受信されてもよい。ユーザ入力は、ホームボタン3902、トリガ3904、バンパ3906、およびタッチパッド3908等のコントローラボタン、コントローラ3900またはHMD3910の物理的移動、眼視線方向、頭部姿勢方向、ジェスチャ、音声入力等を通した入力を含んでもよい。
図40Aに示されるように、ホームボタン3902の短押下および解放は、ホームタップアクションを示し得る一方、ホームボタン3902の長押下は、ホームの長押しアクションの保持を示し得る。同様に、トリガ3904またはバンパ3906の短押下および解放は、それぞれ、トリガタップアクションまたはバンパタップアクションを示し得る一方、トリガ3904またはバンパ3906の長押下は、それぞれ、トリガ長押しアクションまたはバンパ長押しアクションを示し得る。
図40Bに示されるように、タッチパッドにわたって移動する、タッチパッド3908のタッチは、タッチドラッグアクションを示し得る。タッチが実質的に移動しない、タッチパッド3908の短タッチおよび解放は、軽いタップアクションを示し得る。タッチパッド3908のそのような短タッチおよび解放が、ある閾値レベル(所定の閾値、動的に決定された閾値、学習された閾値、またはそれらのある組み合わせであってもよい)の力を上回って行われる場合、入力は、力を入れたタップ入力を示し得る。閾値レベルを上回る力を用いたタッチパッド3908のタッチは、力を入れた押下アクションを示し得る一方、そのような力を用いた長タッチは、力を入れた長押し入力を示し得る。タッチパッド3908の縁の近くのタッチは、縁押下アクションを示し得る。いくつかの実施形態では、縁押下アクションはまた、閾値レベルの圧力を上回る縁タッチを伴い得る。図40Bはまた、弧状に移動する、タッチパッド3908上のタッチが、タッチ円形アクションを示し得ることを示す。
図41Aの実施例は、コントローラ3900のタッチパッド3908との相互作用(例えば、タッチパッドにわたって親指を移動させることによって)または物理的移動(6DOF)が、仮想オブジェクトを回転させる(例えば、タッチパッド上で円形ジェスチャを行うことによって)、ユーザに向かって、またはそこから離れるように、z-方向に仮想オブジェクトを移動させる(例えば、タッチパッド上で、例えば、y-方向に、ジェスチャを行うことによって)、および仮想オブジェクトのサイズを拡大または縮小させる(例えば、タッチパッド上で、異なる方向に、例えば、x-方向に、ジェスチャを行うことによって)ために使用されることができることを図示する。
図41Aはまた、入力の組み合わせが、アクションを表し得ることを示す。特に、図41は、バンパ3906との相互作用と、ユーザがその頭部を方向転換および傾斜させる(例えば、その頭部姿勢を調節する)こととが、操作開始および/または操作終了アクションを示し得ることを図示する。実施例として、ユーザは、バンパ3906を2回タップまたは長押しすることによって、オブジェクトの操作を開始することのインジケーションを提供してもよく、次いで、付加的入力を提供することによって、オブジェクトを移動させてもよく、次いで、バンパ3906を2回タップまたは解放することによって、オブジェクトの操作を終了することのインジケーションを提供してもよい。少なくともいくつかの実施形態では、ユーザは、付加的入力を提供し、コントローラ3900の物理的移動(6または3DOF)の形態において、またはその頭部姿勢を調節する(例えば、その頭部を傾斜および/または回転させる)ことによって、オブジェクトを移動させてもよい。
図41Bは、ユーザ相互作用の付加的実施例を図示する。少なくともいくつかの実施形態では、図41Bの相互作用は、2次元(2D)コンテンツを伴う。さらに他の実施形態では、図41Bの相互作用は、3次元コンテンツのために使用されてもよい。図41Bに示されるように、頭部姿勢(2Dコンテンツに指向され得る)は、タッチパッド3908上のタッチの移動と組み合わせられ、セット選択アクションまたはスクロールアクションを示し得る。頭部姿勢は、タッチパッド3908の縁上の力を入れた押下と組み合わせられ、スクロールアクションを示し得る。頭部姿勢は、タッチパッド3908上の軽いかつ短いタップと組み合わせられ、またはタッチパッド3908上の圧力をかけた短タップと組み合わせられ、アクティブアクションを示し得る。力を入れた押下およびタッチパッド3908上での力を入れた押下の保持は、頭部姿勢(特定の頭部姿勢であり得る)と組み合わせられ、コンテキストメニューアクションを示し得る。
図41Cに示されるように、ウェアラブルデバイスは、ホームタップアクションとともに、ユーザの頭部が仮想アプリに向かって向いていることを示す頭部姿勢を使用して、アプリと関連付けられるメニューを開く、またはホーム長押しアクションとともに、頭部姿勢を使用して、ランチャアプリケーション(例えば、複数のアプリの実行を許可する、アプリ)を開くことができる。いくつかの実施形態では、ウェアラブルデバイスは、ホームタップアクション(例えば、ホームボタン3902の1回または2回タップ)を使用して、事前に標的化されたアプリケーションと関連付けられるランチャアプリケーションを開くことができる。
図42A、42B、および42Cは、微細な指ジェスチャおよび手移動の形態における、ユーザ入力の実施例を図示する。図42A、42B、および42Cに図示されるユーザ入力は、時として、本明細書では、マイクロジェスチャと称され得、親指および人差し指をともに挟む、単一の指を用いて指す、手の開閉を用いて握持する、親指を用いて指す、親指を用いてタップする等、微細な指移動の形態をとり得る。マイクロジェスチャは、一実施例として、カメラシステムを使用して、ウェアラブルシステムによって検出されてもよい。特に、マイクロジェスチャは、外向きに面した結像システム464(図4に示される)の一部であり得る、1つ以上のカメラ(ステレオ構成における一対のカメラを含んでもよい)を使用して、検出されてもよい。オブジェクト認識装置708は、外向きに面した結像システム464からの画像を分析し、図42A-42Cに示される例示的マイクロジェスチャを認識することができる。いくつかの実装では、マイクロジェスチャは、システムが、ユーザが十分に長い固視または停留時間にわたって標的オブジェクト上に合焦していることを決定する(例えば、複数の入力モードの収束がロバストであると見なされる)とき、システムによってアクティブ化される。
(知覚野、ディスプレイレンダリング平面、および相互作用領域の実施例)
図43Aは、ウェアラブルシステムの視覚的知覚野および聴覚的知覚野を図示する。図43Aに示されるように、ユーザは、一次視野(FOV)および周辺FOVをその視野内に有し得る。同様に、ユーザは、聴覚的知覚野内において、少なくとも前方、後方、および周辺方向を有する、方向を感知し得る。
図43Bは、複数の深度平面を有する、ウェアラブルシステムのディスプレイレンダリング平面を図示する。図43Bの実施例では、ウェアラブルシステムは、少なくとも2つのレンダリング平面を有し、一方が、仮想コンテンツを約1.0メートルの深度に表示し、他方が、仮想コンテンツを約3.0メートルの深度に表示する。ウェアラブルシステムは、最近ディスプレイ深度を有する、深度平面上の所与の仮想深度に、仮想コンテンツを表示してもよい。図43Bはまた、本例示的ウェアラブルシステムのための50度視野を図示する。加えて、図43Bは、約0.3メートルにおける近クリッピング平面と、約4.0メートルにおける遠クリッピング平面とを図示する。近クリッピング平面より近い仮想コンテンツは、クリッピングされ得る(例えば、表示されない)、またはユーザから離れるように偏移され得る(例えば、少なくとも近クリッピング平面の距離まで)。同様に、遠クリッピング平面よりユーザから遠い仮想コンテンツは、クリッピングされ得る、またはユーザに向かって偏移され得る(例えば、少なくとも遠クリッピング平面の距離まで)。
図44A、44B、および44Cは、中距離領域、拡張作業空間、作業空間、タスク空間、操作空間、精査空間、および頭部空間を含む、ユーザの周囲の異なる相互作用領域の実施例を図示する。これらの相互作用領域は、その中でユーザが、実および仮想オブジェクトと相互作用し得る、空間領域を表し、相互作用のタイプは、異なる領域内で異なり得、トランスモード融合のために使用されるセンサの適切なセットは、異なる領域内で異なり得る。例えば、作業空間は、ユーザの正面、ユーザの視野(FOV)内、およびユーザの手が届く範囲内(例えば、約0.7m外側)の領域を含み得る。タスク空間は、作業空間内の体積であり得、概して、その中でユーザは、その手を用いてオブジェクトを操作することが快適である、体積(例えば、約0.2~0.65m)に対応し得る。タスク空間は、概して、例えば、水平から約20度下方から水平から約45度下方まで下向きにある、角度(前方水平ベクトルから測定される)を含み得る。精査空間は、タスク空間内の体積であり得、概して、その中でユーザが、それを細かく精査するとき、オブジェクトを保持し得る、体積に対応し得る(例えば、約0.2~0.3m)。精査空間、タスク空間、および作業空間内の入力のタイプは、典型的には、頭部姿勢、眼視線、手のジェスチャ(例えば、図42A-42Cに図示されるマイクロジェスチャ)を含むことができる。ユーザからのより大きい距離では、拡張作業空間は、約1mの距離まで拡張されてもよく、作業空間は、概して、ユーザのFOV内のユーザの正面の体積であり得る一方、中距離領域は、(ユーザの頭部から)球状に約4メートルの距離までであり得る。頭部空間は、ユーザの頭部(例えば、図43Bに示される近クリッピング平面まで)および本明細書に開示されるウェアラブルシステムの任意の頭部搭載型コンポーネントによって占有される体積に対応し得る。
近距離領域は、ユーザの近くの領域を含み、ユーザから約0.7m~約1.2mまで延在する。中距離領域は、近距離を越えて、約4mまで延在する。遠距離領域は、中距離領域を越えて延在し、ウェアラブルシステムによって提供される最大レンダリング平面または最大深度平面の距離(最大10mまたは30mまたはさらに無限遠までであり得る)までの距離を含み得る。いくつかの実装では、中距離領域は、約1.2m~約2.5mに及び得、その中でユーザが、「対面」、実または仮想オブジェクトを握持する、またはそれと相互作用し得る、空間の領域を表し得る。いくつかのそのような実装では、遠距離領域は、約2.5mを越えて延在する。
図44A-44Cに示される例示的相互作用領域は、例証であって、限定ではない。ユーザ相互作用領域は、示されるものと異なるように配列されることができ、異なるサイズ、形状等を有することができる。
(入力統合の程度)
下記にさらに説明されるであろうように、トランスモード入力融合技法の展開は、複数の動的フィードバックおよびフィードフォワードシステムと連動する(例えば、使用するための入力センサを動的に予期または予測するため)、入力結合への入力フィードバックシステムに基づく動的結合を通して、静的に定義された入力システムからの入力統合の増加を表す。例えば、ユニモード技法は、排他的制御(例えば、タッチジェスチャ)を伴う、単一センサを利用し得、マルチモード技法は、並列に並行して動作する、複数の独立センサ(例えば、頭部視線および入力デバイス上のボタン選択)を利用し得る。クロスモード技法は、静的に融合された(例えば、恒久的に交差結合された)、複数のセンサを利用し得る。これら等の技法では、ウェアラブルシステムは、典型的には、全てのセンサ入力を受け取り、ユーザの可能性が高い意図を決定する(例えば、特定のオブジェクトを選択するため)。
対照的に、トランスモード入力融合技法は、センサ入力の動的結合を提供する、例えば、空間的(例えば、標的オブジェクトの周囲の空間領域内に収束されている)または時間的(例えば、固視または停留時間にわたって)に収束されている、センサ入力を識別する。
いくつかの実装では、トランスモード結合されたセンサ入力は、ユーザが3D環境と相互作用している時間の比較的に短い割合において生じる。例えば、いくつかのそのような実装では、トランスモード結合された入力は、時間の約2%のみで生じる。しかしながら、収束センサの適切なセットが識別される時間の間、トランスモード入力融合技法は、標的オブジェクト選択および相互作用の正確度を実質的に増加させることができる。
(ユニモードユーザ相互作用)
図45は、ユニモードユーザ相互作用の実施例を図示する。ユニモードユーザ相互作用では、ユーザ入力は、単一ユーザ入力モードを介して受信される。図45の実施例では、タッチ入力が、タッチジェスチャとして登録され、他の入力モードは、ユーザ入力を解釈する際に使用されない。タッチ入力は、所望に応じて、単一ユーザ入力モードの経時的変化を含んでもよい(例えば、移動後、タップが続く、タッチ)。
(マルチモードユーザ相互作用)
図46A、46B、46C、46D、および46Eは、マルチモードユーザ相互作用の実施例を図示する。マルチモードユーザ相互作用では、独立ユーザ入力モードが、ユーザ体験を改良するために、ともに受信および活用される。しかしながら、マルチモード相互作用では、異なるセンサモード様式の動的融合は、典型的には、生じない。図46Aおよび46Bに類似する図では、ユーザアクションは、左に示され(例えば、ユーザは、タッチ入力を提供する、またはその頭部、眼、または手を移動させることができる)、そして対応する入力制御(例えば、タッチジェスチャ、頭部視線(頭部姿勢とも称される)、眼視線、および手のジェスチャ)が示される。
図46Aおよび46Bの実施例に示されるように、ユーザは、その頭部視線を使用して、仮想オブジェクトを標的化し、次いで、コントローラボタンを使用して、仮想オブジェクトを選択し得る。したがって、ユーザは、2つのモード(頭部視線およびボタン)にわたって入力を提供し、本システムは、両方を活用し、ユーザが、ユーザの頭部が向いている仮想オブジェクトを選択することを所望していることを決定する。
加えて、マルチモードユーザ相互作用において組み合わせられる、ユーザ入力モードは、ある程度、相互交換可能であり得る。実施例として、ユーザは、その頭部姿勢の代わりに、その眼視線を使用して、仮想オブジェクトを標的化してもよい。別の実施例として、ユーザは、コントローラボタンではなく、瞬目、手のジェスチャ、または他の入力を使用して、仮想標的を選択してもよい。
図46Cは、実施例として、図44Bの作業空間および中距離に対応し得る、近距離および中距離相互作用領域内におけるマルチモードユーザ相互作用の実施例を図示する。図46Cに示されるように、ユーザ4610は、トーテム4602の位置と直接関連付けられる、トーテムコライダ、トーテムタッチパッドカーソル(例えば、タッチパッドを操作して、仮想オブジェクト4600にわたってマウス矢印を移動させることによって)を使用して、または特定のジェスチャ4604を仮想オブジェクト4600上またはその近くで行うことによって、近距離領域内の仮想オブジェクト4600を標的化してもよい。同様に、ユーザ4610は、頭部姿勢、眼視線姿勢、3DOF入力または6DOF入力を有する、コントローラ4602を使用して、または手または腕ジェスチャ4604を使用して、中距離領域内の仮想オブジェクト4612を標的化してもよい。図46Cの実施例では、相互作用は、ユーザが同一入力をシステムに提供するために利用可能な複数のユニモードオプションが存在するという事実に起因して、マルチモードである。
図46Cは、標的化と関連付けられる、マルチモードユーザ相互作用の実施例を図示するが、図46Dは、(近距離および中距離相互作用領域内の)標的化および選択と関連付けられる、マルチモードユーザ相互作用の実施例を図示する。図46Dに示されるように、ユーザ4610は、限定ではないが、トーテム(本明細書では、コントローラとも称される)上のバンパまたはトリガの押下、トーテム上のタッチパッドの押下またはタップ、指ピンチまたはタップ等のマイクロジェスチャの実施、またはオブジェクトを標的化するために使用される入力の長期化(例えば、停留)(例えば、その頭部姿勢、眼姿勢、トーテム投影、または手のジェスチャを、ある閾値量より長い時間にわたって、仮想オブジェクト4600または4612上に集束されたまま保つ)を含む、種々の技法を使用して、図46Cにおいて選択された仮想オブジェクト4600および4612を標的化してもよい。図46Dの実施例では、相互作用は、ユーザが複数の入力モードを使用しているという事実に起因して、マルチモードである(停留の形態における、時間自体が、入力モードであり得る)。
図46Eに図示されるように、ユーザは、標的化のために使用されるものと異なる入力モードを使用して、オブジェクト4600および4612等の標的仮想オブジェクトを選択してもよい。図46Eの種々の実施例に示されるように、ユーザは、限定ではないが、トリガまたはバンパの押下またはトーテムタッチパッド上のタップ(例えば、標的化のために、頭部姿勢、眼姿勢、またはトーテムを使用しながら)およびピンチタップ、タップジェスチャ、または指差すジェスチャ(例えば、手標的化ジェスチャを使用しながら)等の手またはマイクロジェスチャを行うことを含む、種々の技法を使用して、標的仮想オブジェクトを選択してもよい。図46Eの実施例では、相互作用は、ユーザが複数の入力モードを使用しているという事実に起因して、マルチモードである。
(クロスモードユーザ相互作用)
図47A、47B、および47Cは、クロスモードユーザ相互作用の実施例を図示する。クロスモードユーザ相互作用では、第1のユーザ入力モードは、第2のユーザ入力モードによって修正される。標的化の実施例では、一次ユーザ入力モードは、所望の仮想オブジェクトを標的化するために使用されてもよく、二次ユーザ入力モードは、一次ユーザ入力モードを調節するために使用されてもよい。これは、相対的カーソルモードと称され得る。相対的カーソルモードの実施例として、ユーザは、第1のユーザ入力モード(眼視線等)を使用して、カーソルの一次制御を提供してもよく、第2のユーザ入力モード(コントローラ上での入力等)を使用して、カーソルの位置を調節してもよい。これは、ユーザに、カーソルのより正確な制御を提供し得る。
図47Cに示されるように、仮想オブジェクト4700を概ね標的化する、頭部レイキャスティング(例えば、頭部姿勢)が、受信されてもよい。次いで、仮想オブジェクト4700の標的化を微調整するために、デルタを頭部レイキャスティングに付与する、トーテムからの入力が、受信されてもよい。いったんユーザが満足すると、ユーザは、タッチタップを提供し、標的仮想オブジェクト4700を選択してもよい。図47Cはまた、一次および二次ユーザ入力モードの異なる組み合わせを使用する類似プロセスの種々の実施例および選択入力の異なる実施例を図示する。
(トランスモードユーザ相互作用)
図48A、48B、および49は、トランスモードユーザ相互作用の種々の実施例を図示する。トランスモードユーザ相互作用では、2つ以上のユーザ入力モードが、ともに動的に結合され得る。実施例として、ウェアラブルシステムは、2つ(以上の)異なるユーザ入力モードが収束性であるときを動的に検出し得、次いで、それらのモードにわたって受信された入力を組み合わせ、任意の個々の入力がそうでなければ提供し得るものより良好な結果を達成し得る。
図48Aの実施例に示されるように、ユーザの手のジェスチャ入力、頭部姿勢入力、および眼視線入力は、入力がともに収束し、離れるように分裂するにつれて、動的に統合および分裂させることができる。
時間4800では、ユーザは、手のジェスチャ入力を提供し、特定の仮想オブジェクトを標的化する。実施例として、ユーザは、仮想オブジェクトを指していてもよい。
時間4802では、ユーザは、その眼を(ユーザがその手を用いて標的化したものと)同一仮想オブジェクト上に合焦させ、また、その頭部を同一仮想オブジェクトに向くように方向転換させている。したがって、全3つの入力モード(手のジェスチャ、眼姿勢、および頭部姿勢)が、共通仮想オブジェクト上にともに収束されている。ウェアラブルシステムは、本収束(例えば、トリモード収束)を検出し、ユーザ入力のフィルタリングを有効にし、ユーザ入力と関連付けられる任意の不確実性を低減させてもよい(例えば、システムが、ユーザが選択することを意図している仮想オブジェクトを正しく識別する、確率を増加させるために)。本システムは、ユーザ入力の異なるフィルタおよび/またはモデルを選択的に利用して、収束性入力を処理することができる(例えば、収束している入力および入力が収束している強度等の要因に基づいて)。実施例として、本システムは、収束入力毎に、不確実性領域をオーバーレイまたは別様に組み合わせ、それによって、個々の不確実性より小さい、新しい不確実性領域を決定してもよい。少なくともいくつかの実施形態では、ウェアラブルシステムは、異なるユーザ入力に与えられる異なる加重と収束入力を統合してもよい。実施例として、眼視線入力は、標的の現在の場所をより正確に示し、したがって、本短時間周期にわたって、頭部または手姿勢入力より多くの加重を与えられ得る。特に、比較的に低分解能カメラおよびサンプリングレートを伴う、眼追跡システムを使用するときでも、ユーザの眼は、他の入力に先行する傾向にあり、したがって、標的の場所のわずかな変化により迅速に応答する傾向にある。したがって、眼視線入力は、適切に調整される(例えば、フィルタリングされ、好適な加重された様式において、他の入力と融合される)とき、より正確な入力ベクトルを提供し得る。
時間4804では、ユーザは、その眼視線を仮想オブジェクトから離れるように逸らしている一方、その頭部姿勢および手のジェスチャは、仮想オブジェクトに集束されている、または向いたままである。言い換えると、ユーザの眼視線は、発散しており、もはやユーザの頭部姿勢および手のジェスチャ入力と収束されていない。ウェアラブルシステムは、本発散イベントを検出し、適宜、異なるユーザ入力のそのフィルタリングを調節してもよい。実施例として、ウェアラブルシステムは、ユーザの頭部姿勢および手のジェスチャ入力を組み合わせ続け(例えば、バイモード収束において)、ユーザが選択することを所望する仮想オブジェクトを識別する一方、その目的のために、眼視線入力を無視してもよい。
時間4806では、ユーザは、ユーザの眼視線および手のジェスチャが仮想オブジェクト上に収束されるように、その眼視線を仮想オブジェクトに戻している。ウェアラブルシステムは、本バイモード収束を検出し、加重された様式において、2つの入力を組み合わせる、または融合させることができる。
図48Bの実施例に示されるように、オブジェクトのトランスモード選択または標的化は、動的に交差結合された入力を含んでもよく、近距離(時として、タスク空間とも称される)および中距離領域等の種々の相互作用領域内の静的オブジェクトおよび視標オブジェクト(例えば、移動するオブジェクト)のために使用されてもよい。図48Bは、ユーザが、トランスモード入力を使用して、静的または移動するオブジェクトを標的し得ることを図示する。実施例として、ユーザは、その頭部および眼視線をオブジェクトに方向転換させる(および潜在的に、オブジェクト上でのそのような入力を長期化させる、および/またはそのような入力を用いてオブジェクトを追跡する)ことによって、オブジェクトを標的化してもよい。ユーザはまた、オブジェクトを選択する(例えば、頭部および/または眼視線と収束し、トリモード入力を形成する)、コントローラまたは手のジェスチャ等の付加的入力を提供してもよい。
図49の実施例に示されるように、本システムは、入力をともに動的に交差結合してもよい。時間4900では、本システムは、眼視線入力と頭部姿勢入力をともに融合させ、ユーザが、オブジェクトを選択するために眼を向けることを可能にしてもよい(その頭部姿勢を使用して、その眼視線入力の正確度を増加させながら)。時間4910では、本システムは、頭部姿勢、眼姿勢、および手のジェスチャ入力をともに融合させ、それによって、ユーザが、オブジェクトを選択するために眼を向け、それを指すことを可能にしてもよい(頭部および眼視線姿勢入力を使用して、手のジェスチャ入力の正確度を増加させながら)。
(トランスモード相互作用の例示的プロセス)
図50は、複数のユーザ入力モードを使用して、ウェアラブルシステムと相互作用する、例示的方法5000のプロセスフロー図である。プロセス5000は、本明細書に説明されるウェアラブルシステム200によって実施されることができる。
ブロック5002では、ウェアラブルシステムは、ユーザ入力を受信し、モード相互作用を分類し、異なるユーザ入力モードの任意の収束の発生を決定し得る。ウェアラブルシステムは、モード相互作用を、バイモードまたはトリモード(例えば、ともに収束された2つまたは3つの異なるユーザ入力モードを有する)またはクワドモード(例えば、4つの入力モード)またはより高い数の入力モードとして分類し得る。ブロック5002は、バイモードまたはトリモード「結束」の合体または初期形成(例えば、入力ベクトルまたは異なるユーザ入力モード間の差異がある所与の閾値を下回る場合)、バイモードまたはトリモード「結束」の定着または安定(例えば、入力ベクトル間の差異が閾値を下回って安定する場合)、および発散(例えば、入力ベクトル間の差異が閾値を超えて増加する場合)等、モード相互作用の種々の位相の検出および分類を伴い得る。ある場合には、2つの入力モードは、アクションが実施される前、または別の入力モードがそれらと収束する前に、安定し得る。例えば、頭部および眼入力は、手握持アクションが実施される前、または手入力が頭部および眼入力と収束する直前(例えば、約200ms)に、収束および安定し得る。
ブロック5002はまた、モード相互作用の運動タイプおよび相互作用領域の分類を伴い得る。特に、ブロック5002は、収束されたユーザ入力が、視標追従(例えば、可変速度または可変加速を有する)、平滑追従(例えば、低加速を伴う、より一定速度を有する)、固視(例えば、比較的に低速度および経時的加速を有する)、または停留(例えば、所与の時間量を上回って固視状態にある)にあるかどうかの決定を伴い得る。加えて、ブロック5002は、収束入力が、近距離領域(例えば、タスク野領域)、中距離領域、または遠距離領域内にあるかどうかの決定を伴い得る。本システムは、運動タイプおよび相互作用領域に応じて、トランスモード入力を異なるように処理してもよい。
ブロック5004では、ウェアラブルシステムは、フィルタリングをトランスモード入力に適用し得る。ブロック5004は、入力間のバージェンスの強度、ともに収束されている入力、入力が収束性である領域等に基づいて、異なる強度のフィルタリングの適用を伴い得る。実施例として、眼姿勢入力および手のジェスチャ入力が、中または遠距離領域内で収束されるとき、そのような入力が近距離領域内にあるときより強いフィルタリングを適用することが必要であり得る(概して、ユーザからのより大きい距離に伴うこれらの入力の不確実性の増加に起因して)。少なくともいくつかの実施形態では、ブロック5004におけるフィルタリングは、入力の調整を伴い得、入力の一部を除去するステップを含む場合とそうではない場合がある。実施例として、本システムは、一次入力姿勢を雑音フィルタリングし、標的化正確度を増加させることによって、トランスモード入力をフィルタリングしてもよい。そのようなフィルタリングは、高周波数成分をフィルタリング除去する(および適応カットオフ周波数を含み得る)、1ユーロフィルタ等の低域通過フィルタを含んでもよい。そのようなフィルタリングは、融合の不在下でも、標的化正確度を増加させることができるが、そのようなフィルタリングを恒久的にオンにしたままにすること(入力が収束される間、動的にとは対照的に)は、顕著な(および望ましくない)待ち時間の導入をもたらし得る。雑音フィルタリングを選択的に適用することによって、入力が収束されたときのみ(動作時間の小割合を表し得る)、本システムは顕著な待ち時間の大部分を回避しながら、低域通過フィルタを適用する正確度利点を留保することができる。種々の実装では、例えば、カルマンフィルタ、有限インパルス応答(FIR)フィルタ、無限インパルス応答(IIR)フィルタ、移動平均、単一または二重指数関数等を含む、他のフィルタも、使用されることができる(単独で、または組み合わせて)。フィルタの別の実施例は、入力ベクトルの低速では、カットオフ周波数が、ジッタを低減させるためにより小さく(わずかな程度の遅れまたは時間待ち時間を可能にしながら)、入力ベクトルの高速では、カットオフ周波数が、ジッタと比較して遅れを低減させるためにより大きくなるように、低域通過フィルタが動的に調節可能カットオフ周波数を有する、動的回帰的低域通過フィルタである。
ブロック5006では、ウェアラブルシステムは、収束された任意のユーザ入力を統合し得る。ユーザ入力を組み合わせる際、ウェアラブルシステムは、ユーザ入力間を補間し(線形に、球面に、または別様に)、組み合わせられたまたは融合された入力を作成し得る。いくつかの実施形態では、ウェアラブルシステムは、ジッタ入力を回避するために、イージング(線形、二次、指数関数的、または別様に)を実施し得る。特に、ウェアラブルシステムは、組み合わせられた入力の急変を平滑化し得る。実施例として、2つの入力間の差異が収束のための閾値より小さくなった瞬間に、ウェアラブルシステムのアクティブ入力は、入力のうちのアクティブなものから新しい融合された入力にジャンプし得る。ジッタを回避するために、ウェアラブルシステムは、減衰様式(例えば、オリジナルアクティブ入力から離れるように有限加速を伴って、次いで、有限減速を伴って新しい融合された入力に進行する)において、アクティブ入力(および任意の対応するカーソルまたはフィードバック機構)をオリジナルアクティブ入力から新しい融合された入力に移動させてもよい。ブロック5006におけるアクションは、方法5000が、持続的または繰り返し、収束または発散入力をチェックし、収束入力を統合し得るという点で、動的であり得る。例えば、本方法は、収束している入力を動的に統合し、発散している入力を動的に除去することができる。
ブロック5008では、ウェアラブルシステムは、随意に、ユーザ入力が、融合され、トランスモード相互作用が、現在利用可能であることのフィードバックをユーザに提供し得る。実施例として、ウェアラブルシステムは、テキスト、点、線、リング、弧、三角形(例えば、トリモード収束のため)、正方形(例えば、クワドモード収束のため)等の視覚的マーカ、およびメッシュの形態において、そのようなフィードバックを提供してもよい。
(ユニモード、バイモード、およびトリモード相互作用におけるユーザ選択プロセスの実施例)
図51は、ユニモード、バイモード、およびトリモード相互作用における、ユーザ選択の実施例を図示する。
ユニモード相互作用5100では、ユーザは、第1のユーザ入力モードを介して、ユーザ入力を提供し、所与のオブジェクトを追跡または選択する。相互作用5100におけるユーザ入力モードは、頭部姿勢、眼姿勢、手のジェスチャ、コントローラまたはトーテム入力等の任意の好適なモードであってもよい。相互作用5100におけるユーザ入力は、概して、選択のための特定の面積または体積を識別する、ユーザからの入力である。図51に図示されるように、相互作用5100におけるユーザ入力と関連付けられる、不確実性が存在し得る。特に、ユーザ入力は、概して、眼追跡システム、頭部姿勢追跡システム、ジェスチャ追跡システム等の入力デバイスの限界に起因して、少なくともある量の不確実性を有する。少なくともいくつかの実施形態では、本不確実性は、経時的に減少し得る(例えば、システムが、そうでなければ一定のユーザ入力を経時的に平均化するにつれて)。本効果は、所与のユーザ入力の不確実性を表し、経時的に縮小する(例えば、時間5102における比較的に大きい不確実性対時間5104における比較的に小さい不確実性を比較して)、円形によって、図51に図示される。
バイモード相互作用5110では、ユーザは、2つの異なるユーザ入力モードを介して、ユーザ入力を提供し、所与のオブジェクトを追跡または選択する。相互作用5110におけるユーザ入力モードは、頭部-眼、手-眼、頭部-手等の任意の好適な組み合わせモードであってもよい。図51に示されるように、本システムは、重複不確実性を使用して、ユーザ相互作用のシステムの不確実性を減少させ得る。実施例として、本システムは、バイモード相互作用5110における第1のユーザ入力モードの不確実性面積と第2のユーザ入力モードの不確実性面積の両方内にある、領域5112を識別し得る。図51に図示されるように、融合されたバイモード入力と関連付けられる、重複誤差領域5112は、構成モード入力のうちの任意の1つと関連付けられる、誤差領域より実質的に小さい。加えて、重複誤差領域5112はまた、下層モード入力のそれぞれの不確実性が減少するにつれて、経時的に縮小し得る(例えば、バイモード不確実性5112は、概して、初期時間5102から後の時間5104へと減少し得る)。
トリモード相互作用5120では、ユーザは、3つの異なるユーザ入力モードを介して、ユーザ入力を提供し、所与のオブジェクトを追跡または選択する。相互作用5110におけるユーザ入力モードは、頭部-眼-手、頭部-眼トーテム等の任意の好適な組み合わせモードであってもよい。バイモード相互作用5110に関連して議論されるように、本システムは、3つの異なるモードの重複不確実性を使用して、ユーザ相互作用のシステムの全体的不確実性を減少させる。実施例として、本システムは、第1、第2、および第3のユーザ入力モードの不確実性面積内にある、領域5122を識別し得る。全体的不確実性領域5122は、時として、トランスモード三角形(トリモード相互作用のため)およびトランスモード四角形(クワドモード相互作用のため)およびトランスモード多角形(より多数の入力相互作用のため)と称され得る。図51に示されるように、全体的不確実性領域5122はまた、下層モード入力のそれぞれの不確実性が減少するにつれて、経時的に縮小し得る(例えば、トリモード不確実性5122は、概して、初期時間5102から後の時間5104へと減少し得る)。図51はまた、相互作用5121において、三角形ではなく、円形の形態における、全体的不確実性領域5123を図示する。複数の収束されたユーザ入力モードから形成される不確実性領域の正確な形状は、下層ユーザ入力の不確実性領域の形状に依存し得る。
少なくともいくつか実施形態では、トランスモード三角形、トランスモード四角形、および/またはより高いレベルのトランスモード形状の「底辺以外の辺」の長さは、個別の底辺以外の辺と関連付けられる、各対の入力姿勢ベクトルの収束度に比例し得る。「底辺以外の辺」の長さはまた、タスクのタイプを示し、および/または個々のユーザに特徴的であり得る(例えば、異なるユーザは、「底辺以外の辺」の長さに反映され得る、異なり、かつ識別可能な方法において、相互作用する傾向にあり得る)。種々の実施形態では、トランスモード形状の「底辺以外の辺」または辺の長さが、関わるユーザ相互作用のタイプを分類する際に使用されてもよい。例えば、三角形または四角形(入力姿勢の数に応じて)の面積は、トランスモード収束に正比例し、広範囲のシナリオに適用されることができる。使用時、2つの異なる三角形は、同一面積であるが、異なる辺長を有し得る。この場合、辺の長さは、入力収束のサブタイプを分類するために使用され得、面積は、面積の分散とともに、意図の強度に関する代替的指標となり得る。
(ユーザ入力の収束に基づいてユーザ入力を解釈する実施例)
少なくともいくつかの実施形態では、本明細書に開示されるシステムは、ユーザ入力の収束に基づいて、ユーザ入力を解釈し得る。図52の実施例では、ユーザは、種々のユーザ入力を提供し、オブジェクト5200を選択する。ユーザは、その頭部をオブジェクト5200に向かって方向転換させ、したがって、頭部姿勢入力5202を提供している。ユーザは、オブジェクト5200を見ており、それによって、眼視線入力5204を提供し、ユーザは、その腕を用いて、ジェスチャを行っている。
一般に、システムが、ユーザの腕のジェスチャを解釈することは、いくつかの異なる意味を潜在的に有するため、困難であり得る。可能性として、ユーザは、ユーザの手首からその掌(または指先)までのレイキャスティングが意図される入力を表すように、オブジェクト5200を指している。代替として、可能性として、ユーザは、その指を用いて、「O」を形成し、「O」がオブジェクトを照準線のその線内に囲繞し、ユーザの頭部からその指までのレイキャスティングが意図される入力を表すように、その手を移動させている。さらに別の代替では、可能性として、ユーザは、送水ホースを車に向けており、その肩からその指先までのレイキャスティングが意図される入力を表すことを意図する。付加的情報がない場合、本システムは、意図される入力を決定することに苦労し得る。
本システムを用いることで、本システムは、潜在的入力のうちのどれ(例えば、腕または手のジェスチャ入力の潜在的解釈のうちの1つ)が、別のモードの入力(例えば、頭部または眼視線姿勢入力)と収束されているかを決定し得る。本システムは、次いで、モード収束をもたらす潜在的解釈が、意図される入力であると仮定し得る。図52の実施例では、掌-指先入力5206(例えば、手首-掌、関節-指先等)が、頭部および眼視線入力と収束されている一方、頭部-掌(例えば、頭部-指先)入力5208および肩-掌(例えば、肩-指先)入力5210は、他の入力と発散している。したがって、本システムは、掌-指先入力5206が、最も可能性が高い意図される入力であることを決定し得、次いで、選択のためのオブジェクト5200を識別する際、掌-指先入力5206を使用し得る(例えば、入力5206およびその不確実性特性を使用して、オブジェクト5200のトリモード選択に関する全体的不確実性特性を低減させることによって)。したがって、本システムは、少なくとも部分的に、どの可能性として考えられる解釈がモード収束をもたらすかに基づいて、腕ジェスチャを解釈し得る。
図53、54、55、および56は、ユーザ入力の収束に基づいてユーザ入力が解釈され得る方法の付加的実施例を図示する。
図53は、頭部姿勢(H)、眼視線姿勢(E)、および掌-指先入力(手に関するHa)のトリモード収束が、近距離領域5300(図44A、44B、および44Cに示されるタイプのタスク空間または精査空間であり得る)、中距離領域5302(図44A、44B、および44Cに示される、ユーザから約1および4メートルの中距離領域に対応し得る)、および遠距離領域5304(図44A、44B、および44Cの中距離領域を超えた領域に対応し得る)のいずれか内で生じ得る方法を図示する。図53の実施例に示されるように、H、H、およびHa入力は、点5301、5303、5305、および5307においてともに収束し得る。Ha入力は、収束点5301と関連付けられる実施例では、指先位置を伴い得る一方、Ha入力は、収束点5303、5305、および5307と関連付けられる実施例では、掌/指先レイキャスティングを伴い得る。
少なくともいくつかの実施形態では、トランスモード融合能力を有するシステムは、異なる加重(例えば、重要性値)を異なる入力上にかけ得る。一般に、入力は、それらの入力が、より低い誤差、増加された機能性(深度情報を提供する等)、より高い周波数等の要因を有するとき、優先され得る(例えば、より大きい加重を割り当てられる)。図54、55、および56は、トランスモード融合能力を有するシステムが、ユーザ入力を解釈する際、異なる入力加重を利用し得る方法を図示する。実施例として、少なくともいくつかの実施形態では、眼視線(E)入力は、眼視線入力が、深度のインジケーション(例えば、ユーザからの距離)を含む一方、頭部姿勢入力が、深度のインジケーションを含まないため、かつ眼視線(E)が、時として、手のジェスチャ(Ha)より多くのユーザ入力を示し得るため、頭部姿勢(H)入力および手のジェスチャ(Ha)より優先され得る。
図54の実施例に示されるように、眼視線(E)入力は、トランスモード融合能力を有するシステムが、種々の他の入力を解釈し得る方法を決定し得る。図54の実施例では、眼視線(E)入力および頭部姿勢(H)入力は、点5400、5402、および5404(それぞれ、近距離、中距離、および遠距離領域内にあり得る)において収束されるように現れる。しかしながら、頭部姿勢(H)入力はまた、EおよびH入力の収束点を越える、点5401、5403、および5405(図54のシート上に現れないほど実質的に遠く離れ得る)において、手のジェスチャ(Ha)入力と収束するように現れる。本明細書に説明されるシステムは、点5401、5403、および5405における見掛け収束を無視し、代わりに、点5400、5402、および5404における見掛け収束を利用することを決定し得る。本システムは、眼視線(E)入力の比較的により高い加重に基づいて、そのように行い得る。
言い換えると、図54は、頭部姿勢(H)等の入力が、複数の解釈を有し得る様子(例えば、眼視線(E)との1つの融合および手のジェスチャ(Ha)との別の融合)および本システムがより高い加重入力を伴う収束をもたらす解釈を選択し得る様子を示す。したがって、図54は、本システムが、収束が眼視線(E)入力等の別のより優先される入力と一致しないとき、見掛け入力収束を無視し得る様子を図示する。
図55は、図54に類似するが、眼視線(E)入力が、点5500、5502、および5504において、手のジェスチャ(Ha)入力と収束する、実施例を示す。加えて、頭部姿勢(H)入力は、見掛け上、点5501、5503、および5505において、Ha入力と収束している。図54と同様に、本システムは、図55の実施例では、より優先される視線(E)入力を伴う見掛け収束を優先することを決定し得る。
図56の実施例では、眼視線(E)入力は、手のジェスチャ(Ha)入力および頭部姿勢(H)入力の両方から発散する。したがって、本システムは、手のジェスチャ(Ha)入力および頭部姿勢(H)入力(例えば、点5600、5602、5604、および5606に対する入力)の見掛け収束を意図されるトランスモード入力として利用することを決定し得る。本システムは、点5601、5603、5605、および5607に対する眼視線(E)入力をフィルタリング除去し得る、または眼視線(E)入力を他の使用のために利用し得る。
(トランスモード融合能力を有するウェアラブルシステムの例示的略図)
図57Aは、複数のユーザ入力モードを融合させ、ユーザ相互作用を促進する、ウェアラブルシステム200(例えば、トランスモード能力を伴うウェアラブルシステム)の例示的処理アーキテクチャのブロック系統図である。処理アーキテクチャは、図2Aに示されるローカル処理およびデータモジュール260または図2Bに示されるプロセッサ128によって実装されてもよい。図57Aに示されるように、処理アーキテクチャは、本明細書に説明されるタイプのトランスモード融合技法を実装する、ブロック5706および5708等の1つ以上の相互作用ブロックを含んでもよい。ブロック5706は、例えば、頭部姿勢、眼視線方向、および手のジェスチャ入力等の入力を受信し、トランスモード融合技法(入力収束が検出されるときの入力のフィルタリングおよび組み合わせ等)をそれらの入力に適用することができる。同様に、ブロック5708は、コントローラ入力、音声入力、頭部姿勢入力、眼入力、および手のジェスチャ入力等の入力を受信し、トランスモード融合技法をこれらの(および任意の他の利用可能な)ユーザ入力に適用することができる。統合およびフィルタリングされたユーザ入力は、図57Aの矢印によって図示されるように、種々のソフトウェアアプリケーションに与えられ、それによって使用されることができる。
図57Bは、トランスモード入力能力を伴うウェアラブルシステム200の処理アーキテクチャの別の実施例のブロック系統図である。図57Bは、処理アーキテクチャが、トランスモード相互作用ツールキット5752をソフトウェア開発キット(SDK)の一部として含み、したがって、ソフトウェア開発者が、本システムの利用可能なトランスモード入力能力のいくつかまたは全てを選択的に実装することを可能にし得る様子を示す。
(収束および発散ユーザ相互作用に関するバージェンス距離および面積の例示的グラフ)
図58Aおよび58Bは、種々の入力対の観察されるバージェンス距離およびウェアラブルシステムとのユーザ相互作用に関するバージェンス面積のグラフであって、ユーザは、その頭部、眼、およびコントローラを使用して、静的オブジェクトを追跡するように求められた。図58Aの実施例では、動的トランスモード入力融合が、無効にされた一方、図58Bの実施例では、動的トランスモード入力融合が、有効にされた。図58Aの実施例では、ユーザは、時間5810において、第1の場所に、次いで、再び、時間5820において、第2の場所に、静的オブジェクトを提示された。図58Bの実施例では、ユーザは、時間5830において、第1の場所に、次いで、再び、時間5840において、第2の場所に、静的オブジェクトを提示された。
図58Aおよび58Bは、頭部-眼バージェンス距離5800、頭部-コントローラバージェンス距離5802、およびコントローラ-眼バージェンス距離5804の経時的変化を示す。頭部-眼バージェンス距離5800は、頭部姿勢入力ベクトルと眼視線入力ベクトルとの間の距離である。同様に、頭部-コントローラバージェンス距離5802は、頭部姿勢入力ベクトルとコントローラ入力ベクトルとの間の距離である。加えて、コントローラ-眼バージェンス距離5804は、コントローラ入力ベクトルと眼視線入力ベクトルとの間の距離である。図58Aおよび58Bはまた、バージェンス面積5806をグラフ化し、これは、ユーザ入力と関連付けられる不確実性(例えば、オブジェクトを追跡するユーザの入力と関連して本システムが有する、不確実性)の面積を示し得る。
図58Bに示されるように(特に、図58Aと対比されるとき)頭部姿勢および眼視線入力ベクトルの、トランスモードフィルタリングは、バージェンス面積5806および頭部-眼バージェンス距離5800を有意に低減させる。特に、時間5830および5840においてユーザがその入力を新しく提示されるオブジェクトに偏移させるにつれた初期スパイク後、頭部-眼バージェンス距離5800は、動的トランスモードフィルタリングによって、著しく低減される。図58Bの実施例では、動的トランスモードフィルタリングは、頭部姿勢および眼視線入力が収束されていることを識別し、次いで、入力をとも統合し、フィルタリングを適用し、入力のいずれかがそれ自体で達成し得るものより正確な結果を達成するステップを含み得る。
本システムは、図58Aおよび58Bにおけるグラフに類似する情報を使用して、ユーザの認知負荷(例えば、ユーザの作業記憶内で使用されている労力)を決定することができる。例えば、グラフ5800-5804の上昇率またはこれらの曲線のピーク間の時間差は、タスクに適用され得る、ユーザの精神的処理力を表す。例えば、認知負荷が、低い場合、ユーザがタスク(例えば、移動するオブジェクトを標的化する)を遂行するための十分な認知負荷を有するため、ユーザは、より多くの作業記憶をタスクに費やすことができ、上昇時間は、より急峻になり、ピークは、時間的により緊密に離間され得る。認知負荷が、高い場合、ユーザがタスクを遂行するためにより長く時間がかかるため、ユーザは、タスクに適用するための作業記憶を殆ど有しておらず、上昇時間は、あまり急峻ではなく、ピークは、時間的により長く離間され得る。眼入力に関する(ピークまでの)上昇時間は、頭部入力に関するものより迅速である傾向にあり、両方とも、手入力に関するものより迅速である傾向にある(例えば、頭部-コントローラグラフ5802は、図58A、58Bでは、頭部-眼グラフ5800と比較して、あまり急峻ではない上昇および遅延ピークを有することが認められ得る)ことに留意されたい。
(停留およびフィードバックの実施例)
図59Aおよび59Bは、固視および停留イベントの間のユーザ相互作用およびフィードバックの実施例を図示する。特に、図59Aおよび59Bは、ユーザが、その眼視線入力をオブジェクト5910上に偏移させ、オブジェクト5910を固視し、閾値時間周期にわたって、その視線をオブジェクト5910上に停留(例えば、長期化)させることによって、入力を提供し得る様子を示す。グラフ5900および5901は、ユーザの眼の視線入力の経時的変化率(例えば、速度)を示す。
時間5902において、ユーザは、オブジェクト5910上へのその眼視線の偏移を終了している。所望に応じて、本システムは、フィードバックをユーザに提供してもよい。フィードバックは、インジケータ5911の形態をとってもよく、オブジェクト5910が少なくとも一時的に選択されていることを示し得る。
ユーザの視線が、初期閾値周期(時間5904によって表される)にわたって、オブジェクト5910上に停留した後、本システムは、フィードバック5912をユーザに提供してもよい。ある場合には、オブジェクト上での眼に関する停留時間5904は、約500msである。フィードバック5912は、概ね停留ユーザ入力を正常に提供することを完了した停留時間のパーセンテージを示すために、進行度バー、進行度弧、または他のそのような機構の形態であってもよい。一実施例として、フィードバック5914は、持続的または徐々に更新される固定弧の形態をとってもよい。少なくともいくつかの実施形態では、固定弧5914は、漸次的により長い時間の長さにわたって、ユーザの眼視線が固視するにつれて、完了により近くなるように段階化されてもよい(例えば、グラフ5900内の垂直破線によって示されるように)。
ユーザの視線が、閾値周期(時間5906によって表される)にわたって、オブジェクト5910上に停留した後、本システムは、フィードバック5914をユーザに提供してもよい。フィードバック5914は、完了された進行度バー、完了された進行度弧、オブジェクトのハイライト等の任意の所望の形態であってもよい。図59Bの図示される実施例では、フィードバック5914は、オブジェクト5910を囲繞する、完了された正方形の形態にある。
本実施例は、眼視線に基づくが、概念は、単独で、または他の入力と組み合わせて、他のセンサ入力モード様式、例えば、頭部姿勢、手入力等にも適用可能である。例えば、オブジェクトに向かう眼視線または頭部姿勢のいずれかに関する停留時間5904、5906は、約500msであり得るが、眼視線および頭部姿勢入力の両方が、オブジェクト上に収束する場合、停留時間は、これらの2つの入力モードの収束に起因して、標的化におけるより大きな確実性を前提として、システムが、ユーザがオブジェクトを選択したことを決定するために、300msまで低減し得る。
(トランスモード入力融合技法のための個人化の実施例)
ウェアラブルシステムは、使用の間、3D環境とのユーザの相互作用およびセンサが収束または発散する傾向にある様子を監視することができる。本システムは、機械学習技法を適用し、ユーザの挙動パターンおよび収束/発散傾向を学習することができる。例えば、ユーザは、不安定な手(例えば、遺伝的影響、年齢、または疾患に起因して)を有し得、したがって、トーテム使用の間、ユーザの手が揺動させる傾向にあるため、手入力と関連付けられるより多くのジッタが存在し得る。本システムは、本挙動を学習し、閾値を調節する(例えば、手入力と他の入力の収束を決定するための分散閾値を増加させる)、または好適なフィルタリングを適用し、ユーザの手のジッタを補償することができる(例えば、低域通過フィルタ内のカットオフ周波数を調節することによって)。より安定した手を伴うユーザに関して、閾値またはフィルタは、そのユーザに関する手センサ入力が殆どジッタを表示しないであろうため、システムによって異なるように設定されることができる。本実施例を継続すると、本システムは、そのユーザに特定のセンサ収束(または発散)のシーケンスおよびタイミングを学習することによって、特定のユーザが、オブジェクトを取り上げる、または握持する方法を学習することができる(例えば、図58Bにおける頭部-眼コントローラバージェンスの時系列参照)。
故に、本システムは、任意の特定のユーザのために、その特定のユーザのための収束入力の適切なセットを適応的に統合することによって、改良されたまたは最大限のユーザ体験を提供することができる。そのような個人化は、システムが、閾値およびフィルタをカスタマイズし、入力収束(または発散)をより容易に認識することを可能にすることによって、協調運動不全、病気、年齢等を伴うユーザに有益であり得る。
トランスモード入力技法は、ウェアラブルシステムが、より効率的に動作することを可能にすることができる。ウェアラブルシステムは、内向きに面したおよび外向きに面したカメラの両方、深度カメラ、IMU、マイクロホン、ユーザ入力デバイス(例えば、トーテム)、電磁追跡センサ、超音波、レーダ、またはレーザセンサ、筋電図(EMG)センサ等を含む、多数のセンサ(例えば、図16を参照して説明されるセンサ参照)を含むことができる。本システムは、各センサ入力を追跡する、処理スレッドを有してもよい。センサ処理スレッドは、収束イベントが識別されるまで、より低いレートにおいて更新され得、次いで、(少なくとも収束入力のための)センサ更新レートは、増加されることができ、これは、収束センサ入力のためのみにより高い更新レートを有することによって、効率を改良する。上記に説明されるように、本システムは、ユーザ挙動を学習し、他のセンサ収束の時間履歴に基づいて、収束し得るセンサ入力を予測することができる。例えば、標的オブジェクト上での頭部および眼入力の収束は、ユーザが、標的オブジェクトを握持する、またはそれと相互作用するように試みていることを示し得、本システムは、故に、手入力が、その後まもなく(例えば、数百ミリ秒または最大1秒程度後に)、収束するであろうことを予測することができる。本システムは、手センサ入力が実際に収束することに先立って、本予測に基づいて、手センサスレッド更新レートを増加させることができる。そのような予測能力は、収束されたまたはすぐに収束されることになるセンサが、増加された更新レートを有し、システム内の待ち時間または遅れを低減させるため、ユーザに、ウェアラブルシステムの応答においてゼロまたはほぼ知覚されない待ち時間を提供することができる。
別の実施例として、本システムは、センサ入力の収束(または非収束)に基づいて、ある処理ルーチンを開始(またはウェイクアップ)することができる。例えば、仮想ダイヤモンドをユーザの環境内に写実的にレンダリングすることは、プロセッサ集約的表面下散乱(または表面下光輸送)技法が仮想ダイヤモンドの輝きを伝達するために適用されることを要求し得る。ユーザが仮想ダイヤモンドまたはその近くに眼を向ける度に、そのような算出上集約的タスクを実施することは、非効率的であり得る。したがって、空間収束(例えば、ユーザの頭部、眼、および手入力)または時間的収束(例えば、停留時間を上回るダイヤモンド上への眼の固視)を検出することによって、本システムは、収束が、ユーザが仮想ダイヤモンドと相互作用していることを示す(例えば、長時間にわたってそれを見ている、それを握持するために手を伸ばす等によって)ときのみ、算出上集約的表面下レンダリング技法を実施することができる。これは、これらの処理ルーチンが、必要であるときのみ実行されるため、改良された効率につながり得る。表面下散乱または光輸送技法に関して説明されるが、他の算出上集約的拡張技法、例えば、反射マップ、表面微光効果、表面下散乱、ガスレンズ効果および屈折、粒子数、高度ハイダイナミックレンジ(HDR)レンダリングまたは照明方法等も加えて、または代替として、適用されることができる。
さらに別の実施例として、ユーザの頭部は、オブジェクトに向かって方向転換され得る。本システムは、ユーザの頭部が、将来的特定の時間においてオブジェクトに向けられるであろうことを予測することができ、本システムは、ユーザの頭部が、将来的時間において、オブジェクトに到着したとき、本システムが、殆どまたは全く知覚される待ち時間を伴わずに、仮想オブジェクトをレンダリングすることが可能であるであろうように、仮想オブジェクトのレンダリング(またはレンダリングのための準備)を開始することができる。
ユーザ履歴、挙動、個人化等は、例えば、ローカルまたは遠隔で(例えば、クラウド内に)、世界マップまたはモデル920のコンポーネントとして記憶されることができる。本システムは、システムが、ユーザ挙動を学習し、それに適合するにつれて、連続的に改良される、トランスモードパラメータのデフォルトセットから開始してもよい。例えば、世界マップまたはモデル920は、そのユーザが実または仮想世界と相互作用する方法に特定の閾値、分散、フィルタ等に関する情報とともに、ユーザのためのトランスモード相互作用プロファイルを含んでもよい。トランスモード入力融合は、ユーザ中心であって、その特定のユーザのための、収束しているセンサ入力の適切なセットが、ともに統合され、改良された標的化、追跡、および相互作用を提供する。
(筋電図(EMG)センサを伴う例示的ウェアラブルシステム)
いくつかの実施形態では、微細な運動制御が、位置フィードバックまたは付加的センサ入力を提供する、図60Aおよび60Bに描写されるような付加的センサによって有効にされ得る。例えば、本明細書に説明されるような筋電図(EMG)センサシステムは、コントローラまたはジェスチャデータを提供し得、これは、トランスモード入力システムにおける付加的または代替入力としての役割を果たし得、精密な選択およびユーザ入力を促進し得る。本明細書に説明される他の入力モードのように、EMGシステムを通して受信された入力は、入力が収束すると、他の入力モードと適時的に融合され、それによって、EMG入力および任意の他の融合された入力の速度または正確度を改良し得る。故に、EMGセンサ入力は、本明細書に説明されるトランスモード、マルチモード、またはクロスモード技法のいずれかとともに利用されることができる。EMGセンサは、本明細書で使用されるように、広義の用語であって、神経筋活動または神経筋信号(例えば、筋肉を神経支配するための脊髄運動ニューロンの神経活性化、筋肉活性化、または筋肉収縮)を検出するように構成される、任意のタイプのセンサを含んでもよい。EMGセンサは、筋機図(MMG)センサ、筋音図(SMG)センサ等を含むことができる。EMGセンサは、身体の表面上または内側の電位を測定するように構成される、電極、皮膚表面振動を測定するように構成される、振動センサ、筋肉活動から生じる音響(例えば、超音波)信号を測定するように構成される、音響センサ等を含んでもよい。
図60Aおよび60Bを参照すると、付加的実施形態が、図示され、筋電図、すなわち、EMG技術が、ユーザが、ウェアラブルコンピューティングシステムを動作させるとき、ユーザの指または親指のうちの1つ以上のものの位置および/またはユーザの手のうちの1つ以上のものの位置等のユーザの身体の1つ以上の部分の位置を決定することを補助するために利用され得る。ウェアラブルコンピューティングシステムの実施例は、図60Aに描写され、それぞれ、有線または無線コネクティビティ構成(IEEE802-11コネクティビティ構成、Bluetooth(登録商標)無線構成、および同等物)等を介して、相互および他の接続されたリソース(46、例えば、記憶および/または処理のためのコンピューティングリソースとも称され得る、クラウドリソース等)に動作可能に結合6028、6032、6034、6036、6038、6042され得る、頭部搭載型モジュール58と、ハンドヘルドコントローラモジュール606と、ベルトパックまたはベースモジュール70(例えば、少なくとも図2Bに関連して本明細書にさらに説明される、モジュール)とを備える。
EMG技術は、例えば、留置電極または表面電極等の種々のセンサ構成において利用され、筋肉または筋群の活性化を監視することができる。現代の製造およびコネクティビティ進歩に伴って、EMG電極は、以前の使用に対して従来的ではない、システムまたはシステムの側面を形成するために利用され得る。再び図60Aを参照すると、カフまたは他の結合プラットフォーム(6026)が、1つ以上のEMG電極を手(6000)の近位の前腕等の身体の一部に対して結合するために利用されてもよい。EMG電極は、バッテリ等を介したオンボード電力と、コントローラまたはプロセッサと、関連付けられたEMG電極(描写される実施形態では、非留置EMG表面電極の3つのアレイ6012、6014、および6016が、図示される。しかしながら、これは、例証のためのものであって、限定ではない)から生成された情報を観察する際の信号対雑音比を低減させることを補助するための種々の増幅器とを有するように構成され得る、ローカルコントローラモジュール(6018)に動作可能に結合されてもよい(6020、6022、6024;直接ワイヤ動線または無線コネクティビティ等を介して)。EMG関連信号は、ローカルコントローラモジュール(6018)によって、またはそのように接続される場合、直接、電極(6012、6014、6016)自体から、例えば、IEEE802-11コネクティビティ構成、Bluetooth(登録商標)無線構成、および同等物等の有線または無線コネクティビティ(6044、6040、6030、6046)構成を利用して動作可能に結合されたシステムの他のモジュール(70、606、58、46)に通過され得る。
再び図60Aを参照すると、EMG電極は、それらが、手の種々の関節を移動させ、例えば、ジェスチャ等の手移動を生産する、手首の手根管を通して通過する筋肉を追跡すること等によって、関連関節内に種々の移動を生産することが既知である、種々の筋肉の活性化を追跡するために利用され得るように、ユーザの解剖学的構造に対して設置されてもよい。種々の構成では、EMG電極は、例えば、指、腕、脚部、足、頸部または頭部、胴体上等、ユーザの解剖学的構造上または内に設置されることができる。複数のEMG電極が、筋肉信号を複数の筋肉または筋群から検出するように、ユーザの解剖学的構造上または内に設置されることができる。図60Aおよび60Bに示される構成は、例証であって、限定するように意図されない。
一実施形態では、相互に動作可能に結合される、図示されるモジュールの全てを用いることで、例えば、ベルトパックまたはベースモジュール70内またはクラウド46上に常駐し得る、中央プロセッサが、頭部搭載型モジュール58のカメラ要素(例えば、図2Bの頭部搭載型ウェアラブル58の世界カメラ124等)によって可視であり得る、手6000ジェスチャの追跡を協調および精緻化するために利用され得る。ジェスチャはまた、ある実施形態では、種々のカメラ要素の位置/配向およびユーザの関連手6000の位置/配向に応じて、手6000の位置の種々の側面に関する情報を捕捉することが可能であり得る、あるカメラ要素(図2Bのハンドヘルドコンポーネント606の世界カメラ124等)を同様に特徴とし得る、ハンドヘルドコントローラモジュール70の特徴によって、追跡されてもよい。言い換えると、一実施形態では、手運動のEMGデータ予測は、単独で、または手の観察に関するカメラベースのデータとともに利用され、種々の他のモジュールに対する空間内の手の場所および手の種々の部分が行っている内容のシステムの予測を精緻化することを補助し得る。
例えば、1つ以上のカメラビューが、ユーザが、その親指および人差し指を用いて、米国式非言語的「OK」シンボルを作っている(「OK」サインの実施例が、図42Cに示される)ことの予測を提供するために利用されてもよい。ユーザの手根管を通して通過する種々の筋肉と関連付けられる、EMGデータが、実際、ユーザの親指および人差し指が、米国式非言語的「OK」シンボルを作ることと一般に相関される様式において撓曲されて見えることの理解を促すように観察され得、したがって、本システムは、ユーザが行っている内容に関するより正確な予測を提供することが可能である。「OK」の本知覚は、システムの中にフィードバックされ、次のステップ、ダイアログボックス、または同等物のいずれであっても、種々のウェアラブルコンピューティングモジュール70、606、58、6010、すなわち、ウェアラブルEMGモジュールを装着する際にユーザによって動作され得る、ソフトウェア内で受け取られていることのユーザからのインジケーションを提供し得る。1つの変形例では、例えば、所与の動作転機において、関連付けられたソフトウェアは、ユーザに、「OK」または「否認」を選択するようにユーザに求めるダイアログボックスを提示してもよい。本ダイアログボックスは、頭部搭載型モジュール58を通して、例えば、拡張現実または仮想現実可視化モードにおいて、ユーザによって観察され得る。本例証的実施例では、ソフトウェア内で「OK」ボタンを選択するために、ユーザは、上記に説明されるように、その手を用いて、「OK」シンボルを生産してもよい。3つのアレイが、EMGモジュール出力を精緻化する際、一般的モード誤差排除を補助するために利用されてもよく、および/または異なる筋肉またはその一部を観察し、例えば、ユーザの手の移動と相関される可能性が高い、ユーザの皮膚下で行われている内容の観察を補助するために利用されてもよい。
前述の実施例は、手のジェスチャ(特に、「OK」シンボル)のコンテキストで説明されるが、これは、例証のためのものであって、EMGセンサシステムの限定ではない。上記に説明されるように、EMG電極は、ユーザが任意の形態のジェスチャ(例えば、非言語的シンボル)を行っていることを決定するように、ユーザの解剖学的構造上または内に設置され、信号を他の筋群から測定することができる。ジェスチャ(または非言語的シンボル)の実施例は、図20のジェスチャ2080または図42A-42Cを参照して説明されるジェスチャを参照して説明される。したがって、EMGシステムは、指、腕、足、脚部、胴体(例えば、捻転または屈曲)、頸部または頭部等による、ジェスチャ、非言語的シンボル、位置、または移動を測定することができる。
図60Bを参照すると、例証目的のために、図60Aのものに類似するが、相互接続されたハンドヘルドモジュール606を伴わない、実施形態が、描写され、したがって、ハンドヘルドモジュールは、あるシステム構成または機能パラダイムのために必要とされない、または所望されない場合がある。
(トランスモード入力融合技法の付加的実施例)
本セクションは、トランスモード入力融合の種々の実装の実施例に関する付加的詳細を提供する。トランスモード入力融合は、マルチモード入力の適時的特徴融合を提供し、自己中心的運動動態を使用して、相互作用忠実性を改良し得る。これらの例示的実装は、例証であって、限定するように意図されない。これらの技法は、本願のいずれかの場所に説明されるウェアラブルディスプレイシステム(例えば、図2Aおよび2Bを参照して説明されるウェアラブルシステム200参照)によって実施されることができる。任意の特定のウェアラブルシステムは、これらの機能性および技法の1つ、いくつか、または全てを実装してもよい、または付加的な異なる機能性および技法を実装してもよい。
以下は、本明細書に説明されるトランスモード融合技法のために使用される、用語のうちのいくつかの解説を提供する。これらの解説は、例証であって、限定するように意図されない。
要素:離散双方向ディスプレイアイテム。
一次標的化ベクトル:空間標的化方法(例えば、レイキャスティング、円錐キャスティング、ボールキャスティング、ヒットテスト、またはコライダと関連付けられる法線)を操向するために使用される、優先入力姿勢ベクトル。
入力姿勢ベクトル:標準的システムモード入力から取得される姿勢。これは、頭部視線姿勢、眼視線姿勢、コントローラ姿勢、または手姿勢であり得る。また、コントローラおよびタッチパッドまたは眼視線およびタッチパッド導出姿勢等の静的に融合された姿勢ベクトルを作成する、クロスモードの静的に混成された入力からのものであり得る。
相互作用場:これは、ユーザの手の届く有効範囲に基づき、感知場、ディスプレイ場、およびオーディオ場からの重複限界によって制約され得る。
着目領域(ROI):これは、標的化ベクトル対または3つ組のセットと関連付けられる、重複不確実性領域(体積)から構築された体積であり得る。
トランスモード状態の識別:トランスモード状態の識別は、全ての定義され、利用可能な入力標的化ベクトルの相対的収束の分析を通して実施されることができる。これは、最初に、対の標的化ベクトル間の角距離を考察することによって達成されることができる。次いで、各対の相対的分散が、考察される。距離および分散が、定義された閾値を下回る場合、バイモード状態が、対と関連付けられることができる。3つ組標的化ベクトルが、定義された閾値を下回る角距離および分散のセットを有する場合、関連付けられた面積が、確立されることができる。頭部姿勢標的化ベクトル(頭部視線)、眼バージェンス標的化ベクトル(眼視線)、および追跡されたコントローラまたは追跡された手(手ポインタ)標的化ベクトルの3つ組が、これらの要件に合致するように作成される場合、これは、トランスモード三角形と呼ばれる。三角形の辺の相対的サイズ、本三角形の面積、およびその関連付けられた分散は、標的化およびアクティブ化意図を予測するために使用され得る、特性特質を提示する。標的化ベクトル対(バイモード)または3つ組(トリモード)(または、例えば、4、5、6、7、またはそれよりも多い大グループのセンサ入力)のグループ運動は、トランスモード協調の正確なサブタイプをさらに定義するために使用されることができる。
融合方法の選択および構成:適切な融合方法は、入力システムの詳細なトランスモード状態に基づいて識別されることができる。これは、トランスモードタイプ、運動タイプ、および相互作用場タイプによって定義されることができる。定義された融合タイプは、列挙された入力モード(および関連付けられた入力ベクトル)のうちのどれが選択的に融合されるべきかを決定する。運動タイプおよびフィールドタイプは、融合方法設定を決定する。
本明細書に説明される技法は、一次入力標的化方法の不確実性を低減させることによって、ユーザが、より小さい要素を選択することを可能にすることができる。本明細書に説明される技法はまた、要素の選択を加速および簡略化するために使用されることができる。本明細書に説明される技法は、ユーザが、移動する要素を標的化する成功率を改良することを可能にすることができる。本明細書に説明される技法は、ディスプレイ要素の豊かなレンダリングを加速するために使用されることができる。本明細書に説明される技法は、オブジェクト点群データ、稠密メッシュ化、および平面入手のローカル(およびクラウド)処理を優先順位化および加速し、握持された着目オブジェクトとともに、見出されるエンティティおよび表面の圧入忠実性を改良するために使用されることができる。
本明細書に説明される技法は、例えば、ウェアラブルシステム200が、ユーザの視点からの可変マルチモード焦点度を確立する一方、依然として、頭部、眼、および手のわずかな運動を保存し、それによって、システムがユーザの意図を理解することを大幅に向上させることを可能にする。
トランスモード入力融合技法が対処し得る、機能性のうちのいくつかの実施例が、下記に説明される。本機能性は、限定ではないが、小要素を標的化する、静的近接近要素を急速に標的化する、動的に移動する要素を標的化する、近距離および中距離標的化方法間の遷移を管理する、相対的標的化方法間の遷移を管理する、要素のアクティブ化を管理する、要素の操作を管理する、マクロおよびマイクロ操作方法間の遷移を管理する、要素のアクティブ化解除再統合を管理する、アクティブ物理的モデル化要素を管理する、ディスプレイ要素のアクティブレンダリングを管理する、稠密点群のアクティブ入手を管理する、稠密メッシュのアクティブ入手を管理する、平面表面のアクティブ入手を管理する、動的に見出されるエンティティのアクティブ入手を管理する、および握持された見出されるエンティティのアクティブモデル化を管理することを含む。
(1)小要素を標的化する:本技法は、小要素(離散双方向ディスプレイアイテム)を標的化することを提供することができる。ある距離における小アイテムを標的化することは、本質的に困難であり得る。標的アイテムの提示されるサイズが、正確度の限界内まで減少するにつれて、投影された標的化機構と確実に交差することが、ますます困難になり得る。マルチモード入力を適時的に融合させることは、一次標的化ベクトルにおける不確実性を減少させることによって、有効正確度を増加させるように作用することができる。ウェアラブルシステム200の実施形態は、以下のアクション、すなわち、現在のトランスモード状態を識別する、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、(静的/擬似静的/動的)一次標的化ベクトルのための正しい入力融合方法および設定を選択する、定義された調整を一次標的化ベクトルに適用する、増加された信頼度を伴って、安定姿勢ベクトルをアプリケーションに通信する、標的化ベクトル位置合わせ誤差、ジッタ、およびドリフトを低減させる、および近または遠距離におけるより小さい要素の確信的標的化を可能にする(モード標的化方法と比較して)ことの任意の組み合わせを実施することができる。
(2)静的近接近要素を急速に標的化する:本技法は、近接近する静的要素を確実に標的化することを提供することができる。近接近するオブジェクトは、分離距離が一次入力ベクトルの正確度を下回り得るため、分解し、確実に標的化することが本質的に困難であり得る。調整された入力姿勢ベクトルを使用して、静的近接近標的を標的化することは、知覚可能待ち時間の限定された変化を伴って、正確度の改良を提供する。ウェアラブルシステム200の実施形態は、以下のアクション、すなわち、現在のトランスモード状態を識別する、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、(擬似静的)一次標的化ベクトルのための正しい入力融合方法を選択する、定義された調整を一次標的化ベクトルに適用する、増加された信頼度を伴って、安定姿勢ベクトルをアプリケーションに提示する、および固視および停留までの時間を低減させることの任意の組み合わせを実施することができる。
(3)動的に移動する要素を標的化する:本技法は、移動する要素を確実に標的化することを提供することができる。これは、ディスプレイに対する、または世界に対する、平行移動、回転、またはスケーリングを含む。移動するオブジェクトは、動的環境内にあるとき、追従することが本質的に困難であり得る。そのような標的化は、世界分散動的3Dコンテンツおよび頭部および眼駆動ディスプレイ方法によって提供される、増加された数の自由度を提示されるとき、より困難であり得る。ウェアラブルシステム200の実施形態は、以下のアクション、すなわち、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、(動的)一次標的化ベクトルのための正しい入力融合方法を選択する、増加された信頼度を伴って、安定姿勢ベクトルをアプリケーションに通信する、標的化ベクトル位置合わせ誤差、ジッタ、およびドリフトを低減させる、非線形速度を伴うより高速で移動する近または遠距離のより小さい要素の確信的標的化を可能にする(モード標的化方法と比較して)ことの任意の組み合わせを実施することができる。
(4)近距離および中距離標的化方法間の遷移を管理する:本技法は、近距離標的化方法と中距離遠距離標的化方法との間の管理を提供する。直接および間接標的化方法のための複数の方法が、存在する。典型的には、直接方法は、近距離において生じ得、間接方法は、中距離および遠距離におけるコンテンツを標的化する。着目領域(ROI)が、近距離または中距離内にあるかどうかの理解は、方法のグループ間の選択を可能にし、また、場遷移イベントを識別し、相互作用メカニクスにおける関連付けられた遷移をハンドリングし、アプリケーション層のモード変化を明示的に管理する必要性を低減させるための機会および方法を提示する。ウェアラブルシステム200の実施形態は、能動トランスモード意図ための以下のアクション、すなわち、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、(動的)一次標的化ベクトルのための正しい入力融合方法を選択する、および増加された信頼度を伴って、安定姿勢ベクトルをアプリケーションに提示することの任意の組み合わせを実施することができる。
(5)相対的標的化方法間の遷移を管理する:本技法は、相互作用場内の最良または最も可能性が高い相互作用方法を確信的に選択することを提供することができる。ウェアラブルシステム200の実施形態は、能動トランスモード意図のための以下のアクション、すなわち、現在のトランスモード状態を識別する、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、一次入力ベクトルのための最も適切な標的化ベクトル開始および終了点を選択する、および標的化ベクトル間の任意の遷移を管理する(同一モード上またはモード間)ことの任意の組み合わせを実施することができる。視野(FOV)の標的ベクトル変化から誘発される任意の失見当識を低減させるために、標的化フィードバック間に標的化前「クールダウン」周期を施行してもよい。
(6)要素のアクティブ化を管理する:ウェアラブルシステム200の実施形態は、能動トランスモード意図のための以下のアクション、すなわち現在のトランスモード状態を識別する、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、増加された信頼度を伴って、安定姿勢ベクトルをアプリケーションに提示する、および非線形速度を伴うより高速で移動する近または遠距離のより小さい要素の確信的アクティブ化を可能にする(モード標的化方法と比較して)ことの任意の組み合わせを実施することができる。
(7)要素の操作を管理する:ウェアラブルシステム200の実施形態は、以下のアクション、すなわち、現在のトランスモード状態を識別する、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、増加された信頼度を伴って、安定姿勢ベクトルをアプリケーションに提示する、非線形速度を伴うより高速で移動する近または遠距離のより小さい要素の確信的操向および操作を可能にする(モード標的化方法と比較して)、要素の確信的マイクロ操向および操作を可能にする、および確信的マイクロ操向アクションを可能にすることの任意の組み合わせを実施することができる。
(8)マクロおよびマイクロ操作方法間の遷移を管理する:ウェアラブルシステム200の実施形態は、能動トランスモード意図のための以下のアクション、すなわち、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、関連モードマクロ相互作用方法を識別する、拡張が有効にされるかどうかをチェックする、関連マイクロ相互作用管理方法をアクティブ化する、トランスモード発散が生じているかどうかを識別する、およびトランスモード信頼度を低減させることによって、動作中のマイクロジェスチャのアクティブ化解除のためにシステムに備えることの任意の組み合わせを実施することができる。
例えば、手のジェスチャ「ピンチ」。親指_人差し指_関節_タップまたは人差し指_親指_スライドアクション等のマイクロピンチ操作を用いて、能動的に拡張されることができるが、これらの方法は、ユーザ焦点のロバストな測定値(例えば、数百~数千msの、例えば、ユーザ焦点閾値時間を超える、固視または停留時間)とともに、ロバストな追跡領域、速度、および信頼度にあるときのみ有効にされ得る。トランスモード固視は、マイクロジェスチャ分析を条件付きでアクティブ化するためのよりロバストな方法としての役割を果たす。
(9)要素のアクティブ化解除および統合を管理する:ウェアラブルシステム200の実施形態は、能動トランスモード意図のための以下のアクション、すなわち、現在のトランスモード状態を識別する、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、増加された信頼度を伴って、安定姿勢ベクトルをアプリケーションに提示する、およびよりロバストなモード入力状態変化につながり得る、確信的マイクロ運動を可能にすることの任意の組み合わせを実施することができる。
例えば、ピンチ_タッチから、ピンチ_ホバリング、そこからピンチ_終了の遷移に関するより高い信頼度は、より予測可能な仮想オブジェクト解放および取外挙動につながる。
例えば、部分的にオクルードされるときの、手軌道および姿勢遷移のより高い信頼度は、より良好なアクティブ化解除認識につながり、より信頼性がある終了状態性質を提示し得る。これは、より信頼性がある取外挙動、よりロバストな投擲力学、およびより現実的物理的挙動につながり得る。
(10)要素の物理的モデル化を管理する:ウェアラブルシステム200の実施形態は、能動トランスモード意図のための以下のアクション、すなわち、現在のトランスモード状態を識別する、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、増加された信頼度を伴って、安定姿勢ベクトルをアプリケーションに提示する、物理学エンジンのよりロバストな状態変化につながり得る、ROI内の標準的(例えば、シミュレートされた)物理的相互作用から生じるローカル条件の確信的カスタム取扱を可能にする、およびハイパーローカルソフトボティシミュレーション非弾性衝突または液体シミュレーション等の高度(例えば、シミュレートされた)物理的挙動の効率的管理およびコンテキスト駆動最適化を可能にすることの任意の組み合わせを実施することができる。
例えば、投擲または設置されたオブジェクトの結果として生じる挙動のより高い信頼度は、より予測可能かつ意図的物理的挙動を提示する。
(11)ディスプレイ要素のアクティブレンダリングを管理する:ウェアラブルシステム200の実施形態は、受動トランスモード意図のための以下のアクション、すなわち、トランスモード固視点を識別する、トランスモード固視時間および予測される停留時間に基づいて、拡張着目領域を定義する、着目領域がレンダリング要素および拡張オプションと交差するかどうかを識別する、ROI、固視時間、および予測される停留時間と互換性がある、利用可能な拡張を識別する、予測される停留時間の間にアクティブ化され得る、詳細レベル(LOD)方法等の最適レンダリング拡張オプション(第2および第3のレンダリングパスを要求し得る)をアクティブ化する、およびトランスモード発散を検出し、レンダリング優先順位を管理することの任意の組み合わせを実施することができる。そのようなLOD方法をアクティブ化することは、例えば、ユーザに表示または別様に提示される、仮想コンテンツまたは他のグラフィックの分解能または品質を増加させることを含み得る。同様に、いくつかの実装では、そのようなLOD方法をアクティブ化することは、ユーザに出力される、オーディオの品質を増加させることを含み得る。
例えば、詳細な反射マップ、表面微光効果、表面下散乱、ガスレンズ効果および屈折、粒子数、高度ハイダイナミックレンジ(HDR)レンダリングまたは照明方法等である。これらの提案される力学は、眼バージェンス場所によって駆動される典型的中心窩化レンダリング技法と異なり、一次/初回通過レンダリング方法を使用して、ポリゴン数、ピクセル密度を管理する傾向にあり得、典型的には、知覚不能のままであるために、異なる時間スケールに作用しなければならない。トランスモード固視および停留を使用することは、典型的には、算出制約に起因して、モバイルプラットフォーム上で試行されない、より長い待ち時間レンダリングオプションの含有を可能にする。
(12)稠密点群のアクティブ入手を管理する:ウェアラブルシステム200の実施形態は、受動トランスモード意図のための以下のアクション、すなわち、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、着目点群の処理を加速させる、および直接観察および相互作用に備えることによって、オブジェクト相互作用忠実性を改良することの任意の組み合わせを実施することができる。
例えば、見出されるエンティティの表面上での豊かな要素相互作用のための、見出されるエンティティのためのオブジェクト境界稠密点群(動的オブジェクトテクスチャ)。
(13)稠密メッシュのアクティブ入手を管理する:ウェアラブルシステム200の実施形態は、受動トランスモード意図のための以下のアクション、すなわち、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、着目稠密メッシュの処理を加速させる、および直接観察および相互作用に備えることによって、オブジェクト相互作用忠実性を改良することの任意の組み合わせを実施することができる。
例えば、近距離または非平面表面タッチ相互作用におけるオブジェクトの稠密メッシュオクルージョンを改良するための中心窩化メッシュ化。
(14)平面表面のアクティブ入手を管理する:ウェアラブルシステム200の実施形態は、受動トランスモード意図のための以下のアクション、すなわち、トランスモードバージェンスおよび固視によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、着目高速平面の処理を加速させる、および直接観察および相互作用に備えることによって、表面相互作用忠実性を改良することの任意の組み合わせを実施することができる。
例えば、表面タッチ相互作用を改良し、表面タッチ追跡における誤差を能動的に低減させる。
(15)動的に見出されるエンティティのアクティブ入手を管理する:ウェアラブルシステム200の実施形態は、能動トランスモード意図のための以下のアクション、すなわち、トランスモードバージェンス、固視、および平滑追従によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、見出される着目エンティティの処理を加速させる、および動的運動または相互作用に備えることによって、見出されるエンティティ相互作用忠実性を改良することの任意の組み合わせを実施することができる。
例えば、見出されるエンティティとの相互作用のためのシステムを先制して準備することは、動的に見出されるエンティティ追跡の見掛け待ち時間を低減させることができる。
(16)動的に見出されるエンティティのアクティブ握持を管理する:ウェアラブルシステム200の実施形態は、能動トランスモード意図のための以下のアクション、すなわち、トランスモードバージェンス、固視、および平滑追従によって定義されたROIを識別する、対応する相互作用場(近/中/遠距離)を識別する、見出される着目エンティティの処理を加速させる、見出される着目エンティティのローカル処理を可能にする、および手握持ベースの動的相互作用に備えることによって、見出されるエンティティ相互作用忠実性を改良することの任意の組み合わせを実施することができる。
例えば、握持されたオブジェクトを伴う手追跡との相互作用のためのシステムを先制して準備することは、握持されたオブジェクト追跡の見掛け待ち時間を低減させる、またはオブジェクトを握持するとき、リアルタイムオブジェクトセグメント化方法を改良し、手姿勢推定を改良することができる。頻繁に握持されるオブジェクトは、クラウド内により良好なセグメント化モデルをもたらし得、これは、握持された手追跡のための個人化されたユーザ特有の最適化のために使用され得る。
前述の機能性は、トランスモード入力融合技法の種々の実装によって提供されることができ、限定するものではない。ウェアラブルシステム(例えば、ウェアラブルシステム200等)は、これらの技法の1つ、いくつか、または全ての実施形態を実施することができる、または付加的または異なるトランスモード入力融合技法を実施してもよい。多くの変動および組み合わせも、可能性として考えられる。
(例示的ソフトウェアコード)
付属Aは、本明細書に説明されるトランスモード入力融合技術の例示的実装を実施するために使用され得る、C#プログラミング言語におけるコードの実施例を含む。種々の実装では、付属Aにおけるプログラムは、ローカル処理およびデータモジュール260、遠隔処理モジュール270、中央ランタイムサーバ1650、プロセッサ128、またはウェアラブルシステム200と関連付けられる他のプロセッサによって実施されることができる。付属Aの本開示は、トランスモード入力融合技術の種々の特徴の例示的実装を図示するように意図され、本技術の範囲を限定することを意図するものではない。付属Aは、本明細書の一部を形成するように、参照することによってその全体として本明細書に組み込まれる。
(トランスモード入力融合技法への例示的神経生理学的アプローチ)
任意の特定の神経生理学的モデルまたは感覚運動パラダイムによって拘束または限定されることを意図するものではないが、トランスモード入力融合システムおよび方法のある実施形態は、そのようなモデルまたはパラダイムからの教示を、例えば、センサ収束または発散、トランスモード入力融合技法、センサ入力フィルタリング、トランスモード状態の識別または特性評価、トランスモード融合入力を使用して実施されるべき動作等に適用または活用してもよい。
例えば、神経生理学の分野における多くの先導理論は、ヒト運動挙動の運動学的および動的性質が、あまりに広範かつ複雑であって、単一内部モデルまたは算出スキームによって合理的に統制されることができないと論じている。代わりに、ヒト脳は、モジュール式算出アーキテクチャを採用することを前提としている。本ヒト感覚運動パラダイムまたはその側面を説明する際に有用であり得る、理論的アーキテクチャの実施例は、多重順逆対モデル(「MPFIM」)、混合エキスパートアーキテクチャ、制御のためのモジュール選択および識別(「MOSAIC」)モデル、および同等物を含み得る。いくつかの実装では、本明細書に説明されるシステムおよび技法のうちの1つ以上のもののある側面は、そのような理論的アーキテクチャのものに機能的に類似または相似してもよい。
そのようなアーキテクチャ内では、複数の異なる「モジュール」(「相乗効果」または「協調構造」とも称される)間の切替は、コンテキストベースで実施されてもよい。各モジュールは、物理的には、神経生理学的機構に対応し得るが、論理的には、微分方程式を使用して説明され、特定の運動または感覚運動制御方略を行うように構成され得る、複雑な動的システムを表し得る。
いくつかの実施例では、各モジュールは、順モデルおよび逆モデルの両方を含有してもよい。そのような逆モデルは、例えば、特定の挙動コンテキストのために特化されていると見なされ得る一方、対応する順モデルは、現在のコンテキストにおけるそのような逆モデルに関する「責任」を決定する役割を果たしていると見なされ得る。動作時、逆モデルは、標的感覚状態を示す、基準入力を受信し、順に、システム内の「プラント」または運動ユニット(例えば、1つ以上の筋肉)への運動コマンド(例えば、1つ以上の筋肉アクティブ化信号)を算出および提供し得る。プラントは、次いで、運動コマンドを実行に移し得、これは、事実上、新しい感覚状態をもたらす。逆モデルはまた、運動コマンドの遠心コピーを順モデルに提供し得、これは、順に、予測される感覚状態を算出し得る。新しい感覚状態は、予測される感覚状態に対して評価され、誤差信号を生成し得、これは、逆モデルによって、フィードバックとして活用され、現在の移動を補正する、または別様にシステム性能を改良し得る。実際、順モデルと逆モデルとの間に形成される、フィードバックループは、モジュールへの入力とその出力との間に不可避の相互影響をもたらす。
いくつかの実施形態では、本明細書に説明されるトランスモード入力融合システムおよび技法のうちの1つ以上のものは、1つ以上のモジュールが、アクティブ化される、アクティブ化解除される、またはそれらの組み合わせである、切替イベントの発生を検出することを模索し得る。そのために、本明細書に説明されるシステムのうちの1つ以上のものは、所与のモジュールのアクティブ化直後または比較的にそのすぐ後に生じ得る(例えば、その個別のステップ応答によって)、フィードバック安定化プロセスの兆候、または他の動作分岐点の兆候に関して、モジュール出力(例えば、筋肉、関節、または本システムの電子感知コンポーネントによって追跡されることが可能な他の解剖学的特徴の移動および位置)を監視してもよい。そのようなフィードバック安定化プロセスは、モジュールへの少なくとも1つの対の入力またはそこからの出力間の確率論的収束をもたらすことができる。すなわち、モジュールへの入力またはそこからの出力は、モジュール自体が、最初に、アクティブ化に応じて安定化するにつれて、相互にますます影響を及ぼす状態になり得る。例えば、本システムによって監視される所与の対のモジュール出力間の統計的分散、共分散、または相関の変化は、収束イベント(例えば、モジュールアクティブ化、モジュール制御寄与の増加等)、発散イベント(例えば、モジュールアクティブ化解除、モジュール制御寄与の減少等)、および同等物を示し得る。
(付加的考慮点)
トランスモード入力融合のある実施例が、AR/MR/VRシステムのコンテキストにおいて、本明細書に説明されているが、これは、例証のためのものであって、限定ではない。本明細書に説明されるトランスモード入力融合技法の実施形態は、例えば、ロボット、ドローン、ユーザ誘導知覚、ヒューマンマシン相互作用、人間とコンピュータの相互作用、脳-コンピュータインターフェース、ユーザ体験設計等に適用されることができる。例えば、ロボットシステムまたはドローンは、複数の入力モードを有することができ、トランスモード技法は、上記に記載されるように、複数の入力のうちの収束を有するものを動的に決定し、収束入力モードを利用するために使用されることができる。
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされ得る、動的リンクライブラリ内にインストールされ得る、または解釈されるプログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つまたはそれを上回る物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。さらに、トランスモード技法は、センサ入力の動的監視を利用して、収束および発散イベントを検出することができ、リアルタイムで実行するために、複雑なハードウェアプロセッサまたはファームウェアベースのソリューションを利用してもよい。
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能(例えば、論理または算術)またはステップを実装するための1つまたはそれを上回る実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、追加される、削除される、修正される、または別様に本明細書に提供される例証的実施例から変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそれから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つ以上の特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要または必須ではない。
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記述されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および/またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/またはステップが、1つまたはそれを上回る実施形態に対していかようにも要求されること、または1つまたはそれを上回る実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを合意することを意図していない。用語「~を備える(comprising)」、「~を含む(including)」、「~を有する(having)」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つ以上の」または「少なくとも1つ」を意味すると解釈されるものである。
本明細書で使用されるように、項目のリスト「~のうちの少なくとも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つがそれぞれ存在するように要求することを示唆することを意図されない。
用語「閾値」は、本明細書で使用されるように、任意の可能性として考えられるタイプの閾値を指す。実施例として、用語「閾値」は、所定の閾値、動的に決定された閾値、動的に調節された閾値、および学習された閾値(例えば、ユーザ相互作用を通して学習された閾値、ユーザ選好に基づく閾値、ユーザ能力に基づく閾値等)を含む。ユーザ能力に基づく閾値は、個々のユーザの能力に基づいて、上方または下方調節されてもよい。実施例として、ユーザ能力に基づく、タッチパッド力閾値は、正常指強度より力の弱いユーザのために下方調節されてもよい(ユーザによる以前の相互作用から学習される、またはユーザ選好を通して学習されてもよい)。
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。
下記に列挙される実施例等、複数のユーザ入力モードを動的に融合させ、3次元(3D)環境内の仮想オブジェクトとの相互作用を促進する、システムの種々の実施例が、本明細書に説明される。
実施例1:システムであって、第1の入力モードにおいて第1のユーザ入力データを入手するように構成される、ウェアラブルシステムの第1のセンサと、第2の入力モードおいて第2のユーザ入力データを入手するように構成される、ウェアラブルシステムの第2のセンサであって、第2の入力モードは、第1の入力モードと異なる、第2のセンサと、第3の入力モードにおいて第3のユーザ入力データを入手するように構成される、ウェアラブルシステムの第3のセンサであって、第3の入力モードは、第1の入力モードおよび第2の入力モードと異なる、第3のセンサと、第1、第2、および第3のセンサと通信する、ハードウェアプロセッサであって、第1の入力モードにおける第1のユーザ入力データ、第2の入力モードにおける第2のユーザ入力データ、第3の入力モードにおける第3のユーザ入力データを含む、複数の入力を受信し、第1のユーザ入力データに基づいて、第1の相互作用ベクトルを識別し、第2のユーザ入力データに基づいて、第2の相互作用ベクトルを識別し、第3のユーザ入力データに基づいて、第3の相互作用ベクトルを識別し、第1の相互作用ベクトル、第2の相互作用ベクトル、および第3の相互作用ベクトルのうちの少なくとも2つの間のバージェンスを決定し、少なくとも部分的に、バージェンスに基づいて、ウェアラブルシステムの周囲の3次元(3D)領域内の候補オブジェクトのセットから標的仮想オブジェクトを識別し、第1のユーザ入力データ、第2のユーザ入力データ、第3のユーザ入力データ、およびバージェンスのうちの少なくとも1つに基づいて、標的仮想オブジェクトへのユーザインターフェース動作を決定し、ユーザインターフェース動作を標的仮想オブジェクト上で実施させる、トランスモード入力コマンドを生成するようにプログラムされる、ハードウェアプロセッサとを備える、システム。
実施例2:第1のセンサは、頭部姿勢センサを備え、第2のセンサは、眼視線センサを備え、第3のセンサは、手のジェスチャセンサを備える、実施例1に記載のシステム。
実施例3:バージェンスは、第1の相互作用ベクトル、第2の相互作用ベクトル、および第3の相互作用ベクトルの全3つの間で生じる、実施例1または2に記載のシステム。
実施例4:ハードウェアプロセッサは、バージェンスから第1の相互作用ベクトル、第2の相互作用ベクトル、または第3の相互作用ベクトルのうちの少なくとも1つの発散を決定するようにプログラムされる、実施例1-3のいずれかに記載のシステム。
実施例5:第1の相互作用ベクトル、第2の相互作用ベクトル、および第3の相互作用ベクトルのうちの少なくとも2つの間のバージェンスを決定するために、ハードウェアプロセッサは、バージェンスしていると決定されたセンサと関連付けられるユーザ入力データを含む、バージェンスデータセットを決定するようにプログラムされる、実施例1-4のいずれかに記載のシステム。
実施例6:第3のセンサは、手運動に敏感である、筋電図(EMG)センサを備える、実施例1-5のいずれかに記載のシステム。
実施例7:第3のセンサは、ユーザの手根管を通して通過する筋肉に敏感である、筋電図(EMG)センサを備える、実施例1-5のいずれかに記載のシステム。
実施例8:方法であって、ウェアラブルシステムのハードウェアプロセッサの制御下で、異なるモード様式の3つを上回る複数のセンサからのセンサデータにアクセスするステップと、異なるモード様式の3つを上回る複数のセンサからの第1のセンサおよび第2のセンサの収束イベントを識別するステップと、第1のセンサからの第1のセンサデータおよび第2のセンサからの第2のセンサデータを利用して、ウェアラブルシステムの周囲の3次元(3D)環境内のオブジェクトを標的化するステップとを含む、方法。
実施例9:第1のセンサおよび第2のセンサと融合する、第3のセンサの第2の収束イベントを識別するステップをさらに含み、第3のセンサは、異なるモード様式の3つを上回る複数のセンサからのものであって、第1のセンサからの第1のセンサデータおよび第2のセンサからの第2のセンサデータを利用して、ウェアラブルシステムの周囲の3次元(3D)環境内のオブジェクトを標的化するステップはさらに、第3のセンサからの第3のセンサデータを利用するステップを含む、実施例8に記載の方法。
実施例10:発散イベントを識別するステップをさらに含み、第1のセンサは、第2のセンサから発散する、または第3のセンサは、第1のセンサまたは第2のセンサから発散する、実施例8または9のいずれかに記載の方法。
実施例11:該利用するステップは、発散センサからのデータを利用するステップを含まない、実施例10のいずれかに記載の方法。
実施例12:該利用するステップは、収束センサからのデータより少なく発散センサからのデータに加重するステップを含む、実施例10に記載の方法。
実施例13:異なるモード様式の3つを上回る複数のセンサは、頭部姿勢センサ、眼視線センサ、手のジェスチャセンサ、およびタッチセンサを備える、実施例10-12のいずれかに記載の方法。
実施例14:第1のセンサは、手運動に敏感である、筋電図(EMG)センサを備える、実施例8-13のいずれかに記載の方法。
実施例15:第1のセンサは、手運動に敏感である、筋電図(EMG)センサを備え、第2のセンサは、カメラベースのジェスチャセンサを備え、第1のセンサおよび第2のセンサの収束イベントを識別するステップは、EMGセンサを用いて、ユーザの筋肉が、非言語的シンボルと一致する様式において撓曲されていることを決定するステップと、カメラベースの手のジェスチャセンサを用いて、ユーザの手の少なくとも一部が、非言語的シンボルと一致する様式において位置付けられていることを決定するステップとを含む、実施例8-13のいずれかに記載の方法。
実施例16:方法であって、ウェアラブルシステムのハードウェアプロセッサの制御下で、異なるモード様式の少なくとも第1および第2のセンサからのセンサデータにアクセスするステップであって、第1のセンサは、複数の潜在的解釈を有する、センサデータを提供する、ステップと、第2のセンサからのセンサデータと第1のセンサからのセンサデータの潜在的解釈のうちの所与の1つとの収束を識別するステップと、潜在的解釈のうちの所与の1つに基づいて、ウェアラブルシステムへの入力コマンドを生成するステップとを含む、方法。
実施例17:入力コマンドを生成するステップは、潜在的解釈のうちの所与の1つに基づいて、入力コマンドを生成する一方、残りの潜在的解釈を破棄するステップを含む、実施例16に記載の方法。
実施例18:第1のセンサは、ユーザの手の移動を追跡する、ジェスチャセンサを備える、実施例16または17のいずれかに記載の方法。
実施例19:第1のセンサは、ユーザの腕の移動を追跡する、ジェスチャセンサを備える、実施例16-18のいずれかに記載の方法。
実施例20:第1のセンサからのセンサデータの潜在的解釈は、ユーザの手首からユーザの指先までの第1のレイキャスティングまたは円錐キャスティングを含み、かつユーザの頭部からユーザの指先までの第2のレイキャスティングまたは円錐キャスティングを含む、実施例16-19のいずれかに記載の方法。
実施例21:第2のセンサは、眼追跡センサを備え、収束を識別するステップは、ユーザの視線および第1のレイキャスティングまたは円錐キャスティングが、空間内の共通点にほぼ向いていることを決定するステップを含む、実施例16-20のいずれかに記載の方法。
実施例22:方法であって、ウェアラブルシステムのハードウェアプロセッサの制御下で、異なるモード様式の複数のセンサからのセンサデータにアクセスするステップと、複数のセンサの第1および第2のセンサからのセンサデータの収束イベントを識別するステップと、収束イベントの間、フィルタを第1のセンサからのセンサデータに選択的に適用するステップとを含む、方法。
実施例23:収束イベントの間、フィルタを第1のセンサからのセンサデータに選択的に適用するステップは、第1および第2のセンサからのセンサデータの初期収束を検出するステップと、検出された初期収束に基づいて、フィルタを第1のセンサからのセンサデータに適用するステップとを含む、実施例22に記載の方法。
実施例24:収束イベントの間、フィルタを第1のセンサからのセンサデータに選択的に適用するステップは、第1および第2のセンサからのセンサデータの収束を検出するステップと、検出された収束に基づいて、フィルタを第1のセンサからのセンサデータに適用するステップと、第2のセンサのセンサデータからの第1のセンサのセンサデータの発散を検出するステップと、検出された発散に基づいて、第1のセンサからのセンサデータへのフィルタの適用を無効にするステップとを含む、実施例22または23のいずれかに記載の方法。
実施例25:フィルタは、適応カットオフ周波数を有する、低域通過フィルタを備える、実施例22-24のいずれかに記載の方法。
実施例26:実施例8-25のいずれかに記載の方法を実施するようにプログラムされる、ハードウェアプロセッサを備える、ウェアラブルシステム。
実施例27:異なるモード様式の少なくとも第1および第2のセンサを備える、実施例26に記載のウェアラブルシステム。
実施例28:ウェアラブルシステムであって、ウェアラブルシステムのユーザの頭部姿勢を決定するように構成される、頭部姿勢センサと、ウェアラブルシステムのユーザの眼視線方向を決定するように構成される、眼視線センサと、ウェアラブルシステムのユーザの手のジェスチャを決定するように構成される、ジェスチャセンサと、頭部姿勢センサ、眼視線センサ、およびジェスチャセンサと通信する、ハードウェアプロセッサであって、オブジェクトに対するユーザの眼視線方向と頭部姿勢との間の第1のバージェンスを決定し、少なくとも部分的に、頭部姿勢センサおよび眼視線センサからの入力に基づいて、オブジェクトと関連付けられる、第1の相互作用コマンドを実施し、オブジェクトに対するユーザの眼視線方向および頭部姿勢を用いて、手のジェスチャの第2のバージェンスを決定し、少なくとも部分的に、手のジェスチャ、頭部姿勢センサ、および眼視線センサからの入力に基づいて、オブジェクトと関連付けられる、第2の相互作用コマンドを実施するようにプログラムされる、ハードウェアプロセッサとを備える、ウェアラブルシステム。
実施例29:頭部姿勢センサは、慣性測定ユニット(IMU)を備え、眼視線センサは、眼追跡カメラを備え、ジェスチャセンサは、外向きに面したカメラを備える、実施例28に記載のウェアラブルシステム。
実施例30:第1のバージェンスを決定するために、ハードウェアプロセッサは、頭部姿勢と関連付けられる、眼視線方向と頭部姿勢方向との間の角度が、第1の閾値未満であることを決定するようにプログラムされる、実施例28または29のいずれかに記載のウェアラブルシステム。
実施例31:第2のバージェンスを決定するために、ハードウェアプロセッサは、手のジェスチャ、眼視線方向、および頭部姿勢と関連付けられる、トランスモード三角形が、第2の閾値未満であることを決定するようにプログラムされる、実施例28-30のいずれかに記載のウェアラブルシステム。
実施例32:第1の相互作用コマンドは、オブジェクトの標的化を含む、実施例28-31のいずれかに記載のウェアラブルシステム。
実施例33:第2の相互作用コマンドは、オブジェクトの選択を含む、実施例28-32のいずれかに記載のウェアラブルシステム。
実施例34:ハードウェアプロセッサはさらに、オブジェクトからの手のジェスチャ、眼視線方向、または頭部姿勢のうちの少なくとも1つの発散を決定するようにプログラムされる、実施例28-33のいずれかに記載のウェアラブルシステム。
実施例35:第1の相互作用コマンドは、第1のフィルタの適用を含む、または第2の相互作用コマンドは、第2のフィルタの適用を含む、実施例28-34のいずれかに記載のウェアラブルシステム。
実施例36:第1のフィルタは、第2のフィルタと異なる、実施例35に記載のウェアラブルシステム。
実施例37:第1のフィルタまたは第2のフィルタは、適応カットオフ周波数を有する、低域通過フィルタを備える、実施例35または36のいずれかに記載のウェアラブルシステム。
実施例38:低域通過フィルタは、1ユーロフィルタを備える、実施例37に記載のウェアラブルシステム。
実施例39:第1のバージェンスを決定するために、ハードウェアプロセッサは、オブジェクトに向いている眼視線方向および頭部姿勢の停留時間が、第1の停留時間閾値を超えることを決定するようにプログラムされる、実施例28-38のいずれかに記載のウェアラブルシステム。
実施例40:第2のバージェンスを決定するために、ハードウェアプロセッサは、オブジェクトに対する眼視線方向、頭部姿勢、および手のジェスチャの停留時間が、第2の停留時間閾値を超えることを決定するようにプログラムされる、実施例28-39のいずれかに記載のウェアラブルシステム。
実施例41:第1の相互作用コマンドまたは第2の相互作用コマンドは、オブジェクトと関連付けられる、安定標的化ベクトルの提供を含む、実施例28-40のいずれかに記載のウェアラブルシステム。
実施例42:ハードウェアプロセッサは、安定標的化ベクトルをアプリケーションに提供する、実施例41に記載のウェアラブルシステム。
実施例43:ジェスチャセンサは、ハンドヘルドユーザ入力デバイスを備える、実施例28-42のいずれかに記載のウェアラブルシステム。
実施例44:ハードウェアプロセッサは、ユーザ入力デバイスからの入力と、眼視線方向、頭部姿勢、または手のジェスチャのうちの少なくとも1つとの間の第3のバージェンスを決定するようにプログラムされる、実施例43に記載のウェアラブルシステム。
実施例45:音声センサをさらに備え、ハードウェアプロセッサは、音声センサからの入力と、眼視線方向、頭部姿勢、または手のジェスチャのうちの少なくとも1つとの間の第4のバージェンスを決定するようにプログラムされる、実施例28-44のいずれかに記載のウェアラブルシステム。
実施例46:方法であって、ウェアラブルシステムのハードウェアプロセッサの制御下で、現在のトランスモード状態を識別するステップであって、現在のトランスモード状態は、オブジェクトと関連付けられる、トランスモードバージェンスを含む、ステップと、トランスモードバージェンスと関連付けられる、着目領域(ROI)を識別するステップと、少なくとも部分的に、ROIに基づいて、対応する相互作用場を識別するステップと、少なくとも部分的に、トランスモード状態に基づいて、入力融合方法を選択するステップと、一次標的化ベクトルのための設定を選択するステップと、調整を一次標的化ベクトルに適用し、安定姿勢ベクトルを提供するステップと、安定姿勢ベクトルをアプリケーションに通信するステップとを含む、方法。
実施例47:対応する相互作用場は、近距離、中距離、または遠距離のうちの1つ以上のものを含む、実施例46に記載の方法。
実施例48:調整を適用するステップは、一次標的化ベクトルの位置合わせ誤差、ジッタ、またはドリフトを低減させるステップを含む、実施例46または47のいずれかに記載の方法。
実施例49:オブジェクトを標的化するステップをさらに含む、実施例46-48のいずれかに記載の方法。
実施例50:現在のトランスモード状態を識別するステップは、固視または停留を決定するステップを含む、実施例46-49のいずれかに記載の方法。
実施例51:固視または停留がユーザ焦点閾値を超えるかどうかを決定するステップと、固視または停留がユーザ焦点閾値を超えることの決定に応答して、マイクロジェスチャ操作をアクティブ化するステップとをさらに含む、実施例50に記載の方法。
実施例52:対応する相互作用場を識別するステップは、場遷移イベントを識別するステップを含み、場遷移イベントは、第1の相互作用場と第2の相互作用場との間の遷移を含む、実施例46-51のいずれかに記載の方法。
実施例53:現在のトランスモード状態を識別するステップは、複数の入力標的化ベクトルの中から収束を分析するステップを含む、実施例46-52のいずれかに記載の方法。
実施例54:収束を分析するステップは、対の複数の入力標的ベクトル間の角距離を決定するステップを含む、実施例53に記載の方法。
実施例55:各対の複数の入力標的ベクトル間の相対的分散を決定するステップをさらに含む、実施例54に記載の方法。
実施例56:一対の入力標的ベクトルの角距離が、第1の閾値を下回り、対の入力標的ベクトルの相対的分散は、第2の閾値を下回ることを決定するステップと、決定に応答して、現在のトランスモード状態が対の入力標的ベクトルと関連付けられるバイモード状態であると識別するステップをさらに含む、実施例55に記載の方法。
実施例57:収束を分析するステップは、入力標的ベクトルの3つ組が、面積および3つの辺を有する、トランスモード三角形と関連付けられることを決定するステップを含む、実施例53-56のいずれかに記載の方法。
実施例58:トランスモード三角形の面積が、第3の閾値を下回り、面積内の分散が、第4の閾値を下回る、またはトランスモード三角形の辺の長さにおける分散が、第5の閾値を下回ることを決定するステップと、決定に応答して、現在のトランスモード状態が入力標的ベクトルの3つ組と関連付けられるトリモード状態であると識別するステップとを含む、実施例57に記載の方法。
実施例59:現在のトランスモード状態は、バイモード状態、トリモード状態、またはクワドモード状態を含む、実施例46-58のいずれかに記載の方法。
実施例60:方法であって、ウェアラブルシステムのハードウェアプロセッサの制御下で、トランスモード固視点を識別するステップと、トランスモード固視時間またはトランスモード固視点の近くの予測される停留時間に基づいて、拡張着目領域(ROI)を画定するステップと、ROIがレンダリング要素と交差することを決定するステップと、ROI、トランスモード固視時間、または予測される停留時間と互換性がある、レンダリング拡張を決定するステップと、レンダリング拡張をアクティブ化するステップとを含む、方法。
実施例61:レンダリング拡張は、反射マップ、表面微光効果、表面下散乱、気体レンズ効果または屈折、粒子数、または高度ハイダイナミックレンジ(HDR)レンダリングまたは照明方法のうちの1つ以上のものを含む、実施例60に記載の方法。
実施例62:レンダリング拡張は、予測される停留時間またはトランスモード固視時間の間のみ、アクティブ化される、実施例60または61のいずれかに記載の方法。
実施例63:以前に収束された入力モード様式の発散を検出するステップと、レンダリング拡張をアクティブ化解除するステップとをさらに含む、実施例60-62のいずれかに記載の方法。
実施例64:実施例46-63のいずれかに記載の方法を実施するようにプログラムされる、ハードウェアプロセッサを備える、ウェアラブルシステム。
実施例65:異なるモード様式の少なくとも第1および第2のセンサを備える、実施例64に記載のウェアラブルシステム。
実施例66:異なるモード様式の少なくとも第1および第2のセンサは、頭部姿勢センサ、眼視線センサ、ジェスチャセンサ、音声センサ、またはハンドヘルドユーザ入力デバイスを備える、実施例65に記載のウェアラブルシステム。
実施例67:方法であって、ウェアラブルシステムのハードウェアプロセッサの制御下で、異なるモード様式の複数のセンサからのセンサデータを受信するステップと、異なるモード様式の複数のセンサの特定のサブセットからのデータが、ユーザが複数の所定の運動および感覚運動制御方略の中から特定の運動または感覚運動制御方略の実行を開始していることを示すことを決定するステップと、それぞれ、複数の所定の運動および感覚運動制御方略のうちの異なる1つに対応する、複数の異なるセンサデータ処理スキームの中から、特定の運動または感覚運動制御方略に対応する、特定のセンサデータ処理スキームを選択するステップと、特定のセンサデータ処理スキームに従って、異なるモード様式の複数のセンサの特定のサブセットから受信されたデータを処理するステップとを含む、方法。
実施例68:異なるモード様式の複数のセンサの特定のサブセットからのデータが、ユーザが複数の所定の運動および感覚運動制御方略の中から特定の運動または感覚運動制御方略の実行を開始していることを示すことを決定するステップは、異なるモード様式の複数のセンサの特定のサブセットからのデータが確率論的に収束していることを決定するステップを含む、実施例67に記載の方法。
実施例69:特定のセンサデータ処理スキームに従って、異なるモード様式の複数のセンサの特定のサブセットから受信されたデータを処理する間、異なるモード様式の複数のセンサの特定のサブセットからのデータが、ユーザが特定の運動または感覚運動制御方略の実行を行っていることを示すことを決定するステップと、異なるモード様式の複数のセンサの特定のサブセットからのデータが、ユーザが特定の運動または感覚運動制御方略の実行を行っていることを示すことの決定に応答して、特定のセンサデータ処理スキームに従って、異なるモード様式の複数のセンサの特定のサブセットから受信されたデータを処理することを控えるステップとをさらに含む、実施例67-68のいずれかに記載の方法。
実施例70:異なるモード様式の複数のセンサの特定のサブセットからのデータが、ユーザが特定の運動または感覚運動制御方略の実行を行っていることを示すことを決定するステップは、異なるモード様式の複数のセンサの特定のサブセットからのデータが確率論的に発散していることを決定するステップを含む、実施例69に記載の方法。
実施例71:特定のセンサデータ処理スキームに従って、異なるモード様式の複数のセンサの特定のサブセットから受信されたデータを処理するステップは、特定の様式において、異なるモード様式の複数のセンサの特定のサブセットのうちの1つ以上のものからのデータをフィルタリングするステップを含む、実施例67-70のいずれかに記載の方法。
実施例72:特定のセンサデータ処理スキームに従って、異なるモード様式の複数のセンサの特定のサブセットから受信されたデータを処理するステップは、特定の様式において、異なるモード様式の複数のセンサの特定のサブセットからのデータを融合させるステップを含む、実施例67-71のいずれかに記載の方法。
実施例73:異なるモード様式の複数のセンサの特定のサブセットからのデータが、ユーザが複数の所定の運動および感覚運動制御方略の中から特定の運動または感覚運動制御方略の実行を開始していることを示すことを決定するステップは、異なるモード様式の複数のセンサの特定のサブセットからのデータ間の1つ以上の関係を説明する、1つ以上の統計的パラメータが、1つ以上の閾値を満たすことを決定するステップを含む、実施例67-72に記載の方法。
実施例74:1つ以上の統計的パラメータは、分散、共分散、または相関のうちの1つ以上のものを含む、実施例73に記載の方法。
実施例75:方法であって、ウェアラブルシステムのハードウェアプロセッサの制御下で、異なるモード様式の複数のセンサからのセンサデータを受信するステップと、異なるモード様式の複数のセンサの特定のサブセットからのデータが、特定の様式において、確率論的に変化していることを決定するステップと、異なるモード様式の複数のセンサの特定のサブセットからのデータが、特定の様式において、確率論的に変化していることの決定に応答して、第1のセンサデータ処理スキームに従って、異なるモード様式の複数のセンサの特定のサブセットから受信されたデータを処理するステップと、第1のセンサデータ処理スキームと異なる第2のセンサデータ処理スキームに従って、異なるモード様式の複数のセンサの特定のサブセットから受信されたデータを処理するステップとの間で切り替えるステップとを含む、方法。
実施例76:異なるモード様式の複数のセンサの特定のサブセットからのデータが、特定の様式において、確率論的に変化していることを決定するステップは、異なるモード様式の複数のセンサの特定のサブセットからのデータが、確率論的に収束していることを決定するステップを含む、実施例75に記載の方法。
実施例77:異なるモード様式の複数のセンサの特定のサブセットからのデータが、特定の様式において、確率論的に変化していることを決定するステップは、異なるモード様式の複数のセンサの特定のサブセットからのデータが確率論的に発散していることを決定するステップを含む、実施例76または77のいずれかに記載の方法。
実施例78:実施例67-77のいずれかに記載の方法を実施するようにプログラムされる、ハードウェアプロセッサを備える、ウェアラブルシステム。
上記の実施例のいずれかは、本願に説明される他の実施例のいずれかまたは他の特徴のいずれかと組み合わせられることができる。実施例は、本明細書に説明される付加的要素を除外することを意図するものではない。実施例のあらゆる可能性として考えられる組み合わせおよび副次的組み合わせが、本明細書に説明される付加的特徴の有無にかかわらず、検討され、本開示の一部と見なされる。
付属A
(著作権表示)
本特許文書の開示の一部は、著作権保護を受けるべき資料を含有する。本著作権所有者は、本特許文書または本特許開示を誰が複写しても、それが特許商標局の特許ファイルまたは記録に現れる通りである限りでは異議はないが、その他の場合には、いかなる著作権も全て保有する。
以下のコンピュータコードおよび説明は、トランスモード入力融合技術の種々の実施形態を図示するように意図されるが、トランスモード入力融合技術の範囲を限定することを意図するものではない。種々の実装では、本コンピュータコードは、ローカル処理およびデータモジュール260、遠隔処理モジュール270、中心ランタイムサーバ1650、またはウェアラブルシステム200と関連付けられる他のプロセッサによって実施されることができる。
(C#スクリプト)
本明細書に開示されるスクリプトは、コンテキストが、2Dコンテキスト融合計算を使用して導出され、次いで、一次標的化ベクトル(手)の動的フィルタリングを有効化するために使用され得る方法を図示する。一次標的ベクトル姿勢へのフィルタリングは、線形および球面補間方法を使用して漸増されることができる。
計算リスト:
頭部-手中点現在位置
手-眼中点現在位置
頭部-眼中点現在位置
頭部-手中点現在距離
手-眼中点現在距離
頭部-眼中点現在距離
頭部-眼-手三角形現在中心位置
頭部-眼-手三角形現在面積
/*分散計算のために使用される*/
頭部(H)相互作用点(視線)平均位置:ローリングウィンドウ10フレーム。
眼(E)相互作用点(バージェンス)平均位置:ローリングウィンドウ10フレーム。
手(Ha)相互作用点(人差し指先)平均位置:ローリングウィンドウ10フレーム。
頭部-手中点平均位置:ローリングウィンドウ10フレーム。
手-眼中点平均位置:ローリングウィンドウ10フレーム。
頭部-眼中点平均位置:ローリングウィンドウ10フレーム。
頭部-眼-手中心点平均位置:ローリングウィンドウ10フレーム。
頭部-眼-手平均三角形面積:ローリングウィンドウ10フレーム。
頭部相互作用点(視線)位置分散:ローリングウィンドウ10フレーム。
眼相互作用点(バージェンス)位置分散:ローリングウィンドウ10フレーム。
手相互作用点(人差し指先)位置分散:ローリングウィンドウ10フレーム。
頭部-手中点位置分散:ローリングウィンドウ10フレーム。
手-眼中点位置分散:ローリングウィンドウ10フレーム。
頭部-眼中点位置分散:ローリングウィンドウ10フレーム。
頭部-眼-手中心点位置分散:ローリングウィンドウ10フレーム。
頭部-眼-手三角形面積分散:ローリングウィンドウ10フレーム。
頭部相互作用点(視線)現在速度(xy接線成分)
眼相互作用点(バージェンス)現在速度(xy接線成分)
手相互作用点(人差し指先)現在速度(xy接線成分)
頭部-手中点現在速度(xy接線成分)
手-眼中点現在速度(xy接線成分)
頭部-眼中点現在速度(xy接線成分)
頭部-眼-手中心点現在速度(xy接線成分)
頭部相互作用点(視線)平均速度:ローリングウィンドウ20フレーム(xy接線成分)
眼相互作用点(バージェンス)平均速度:ローリングウィンドウ20フレーム(xy接線成分)
手相互作用点(人差し指先)平均速度:ローリングウィンドウ20フレーム(xy接線成分)
頭部-手中点平均速度:ローリングウィンドウ10フレーム(xy接線成分)
手-眼中点平均速度:ローリングウィンドウ10フレーム(xy接線成分)
頭部-眼中点平均速度:ローリングウィンドウ10フレーム(xy接線成分)
頭部-眼-手中心点平均速度:ローリングウィンドウ10フレーム(xy接線成分)
頭部相互作用点(視線)平均加速:ローリングウィンドウ20フレーム(xy接線成分)
眼相互作用点(バージェンス)平均加速:ローリングウィンドウ20フレーム(xy接線成分)
手相互作用点(人差し指先)平均加速:ローリングウィンドウ20フレーム(xy接線成分)
頭部相互作用点(視線)現在加速(xy接線成分)
眼相互作用点(バージェンス)現在加速(xy接線成分)
手相互作用点(人差し指先)現在加速(xy接線成分)
頭部-手中点現在加速(xy接線成分)
手-眼中点現在加速(xy接線成分)
頭部-眼中点現在加速(xy接線成分)
頭部-眼-手中心点現在加速(xy接線成分)
頭部-眼-手平均三角形中心現在加速(xy接線成分)
動的フィルタリング初期オン時擬似コード:
いくつかの実施例では、融合条件が、崩壊されると、ユーロフィルタは、迅速にイーズアウトし得、ある場合には、スナップし得る。他の実装では、フィルタリングされた相互作用点(この場合、手入力標的化ベクトル)が、トリモード融合からバイモード融合に減少するにつれて、1つのフィルタは、イーズアウトされる一方、別のものは、イーズインされる。本点において、複数のフィルタが、一次標的化ベクトル(管理されるカーソル)の速度および加速における平滑遷移位置関数を作成し、ステップ関数(または途絶)を回避するために、同時に動作するであろう。
マルチモード停留初期オン時擬似コード: