詳細な説明
本明細書で議論されるシステムおよび方法の理解を促進するために、いくつかの用語が、下記に説明される。本明細書で使用されるこれらの用語および他の用語は、提供される説明、用語の通常および慣例意味、および/またはそのような構造が用語のコンテキストと一致する、個別の用語に関する任意の他の含意される意味を含むものと解釈されるべきである。したがって、下記の説明は、これらの用語の意味を限定するものではなく、例示的説明のみを提供する。
コンテキスト(本明細書では、「コンテキストパラメータ」または「コンテキスト情報」とも称される):仮想現実環境のまたはそれに関連する、任意の特性。コンテキストパラメータの実施例は、ユーザデバイス特性、例えばデバイスのタイプ(例えば、仮想現実ヘッドセット、拡張現実ヘッドセット、モバイルコンピューティングデバイス、スマートフォン等)、ユーザデバイスの特性(例えば、グラフィックカード仕様、画面サイズ等)、アバタの環境(例えば、アバタが、現在位置付けられている、または位置付けられるであろう、エリア内の照明条件)、仮想環境内のアバタと関連付けられる、眼追跡システムの正確度、および/または仮想環境のまたはそれに関連する、他の特性を含んでもよい。コンテキストの他の実施例は、ユーザ選好、ユーザの位置、レンダリング環境内のオブジェクトの存在、および同等物を含んでもよい。
アバタ特性:アバタを1つまたはそれを上回るユーザデバイス上にレンダリングする際に使用され得る、アバタ(例えば、ヒトまたは仮想ヒトを表す)の任意の側面。例えば、アバタ特性は、アバタが最初にレンダリングされる際に、最初にアバタをレンダリングすることに先立って、またはアバタが仮想環境内に含まれる度に、決定されてもよい。アバタ特性は、低度、中度、または高度に写実的なアバタ等、特定のアバタを識別してもよい。アバタ特性は、アバタの一部(例えば、顔または眼)の陰影、可視虹彩対強膜の比、虹彩または強膜のコントラスト、眼移動(例えば、サッカードタイプ)、サイズ、外観、位置、配向、移動、姿勢、表現、および同等物等、アバタの写実性のレベルに影響を及ぼす、具体的性質を含んでもよい。
概要
仮想アバタは、AR/VR/MR環境内の実際または架空の人物(または創造物または擬人化されたオブジェクト)の仮想表現であってもよい。例えば、その中で2人のAR/VR/MRユーザが相互に相互作用する、テレプレゼンスセッションの間、視認者は、別のユーザのアバタを視認者の環境内で知覚し、それによって、他のユーザの存在の有形感覚を視認者の環境内に作成することができる。アバタはまた、共有仮想環境内において、ユーザが、相互に相互作用し、ともに物事を行うための方法を提供することができる。例えば、オンラインクラスに出席する生徒は、他の生徒または教師のアバタを仮想教室内で知覚することができ、他の生徒または教師のアバタと相互作用することができる。
アバタをAR/VR/MR環境のためのユーザの物理的環境内に設置するとき、アバタのサイズが、決定される必要がある。3次元(3D)空間内にスポーンする(アバタの初期レンダリング)とき、アバタは、実際は、任意のサイズ(例えば、極小、ヒトサイズ、または巨大)であり得る。アバタは、そのヒト対応者に対して1:1サイズを維持し得るが、これは、ある環境内では、意味を成さない場合がある(例えば、空間の欠如、プライバシ懸念等に起因して)。不適切にサイズ決めされたアバタは、ぎこちないソーシャル相互作用をもたらす、またはアバタと相互作用するとき、ユーザ疲労をもたらし得る。例えば、アバタが、視認者に対してあまりに大きいまたはあまりに小さい場合、視認者は、アバタとの目と目を合わせた会話に従事するために、その頭部または身体を不快な位置に位置付ける必要があり得る。さらに、不適切にサイズ決めされたアバタは、アバタのヒト対応者と視認者との間の含意される優越感(例えば、アバタがユーザより大きいとき)または劣等感(例えば、アバタがユーザより小さいとき)等の誤ったソーシャルメッセージを伝達し得る。不適切にサイズ決めされたアバタによって生じる問題に関連する付加的実施例はさらに、図11Aを参照して説明され、本問題に対するソリューションの実施例は、図12A-18Bを参照して説明される。
有利なこととして、いくつかの実施形態では、本明細書に説明されるウェアラブルシステムは、スポーン時、アバタのための適切なサイズを自動的に決定することができ、相互作用に関するコンテキスト情報に基づいて、他のユーザ(またはアバタ)との相互作用の一部または全部の全体を通して、アバタを再スケーリングすることができる。いくつかの例示的コンテキスト情報は、ユーザの位置、他のユーザの環境内のアバタのレンダリング場所、ユーザとアバタとの間の相対的高低差、レンダリング環境内のオブジェクトの存在(例えば、アバタが着座するための椅子が存在するかどうか、またはアバタの移動がアバタをテーブル等の固体オブジェクトを通して通過させるであろうかどうか)等を含むことができる。ウェアラブルシステムは、コンテキスト情報に基づいて、直接アイコンタクトを増加または最大限にし、したがって、アバタ-ヒト通信を促進するように、アバタを自動的にスケーリングすることができる。コンテキスト情報に基づいてアバタをスケーリングするための詳細はさらに、図12A-12Bに説明される。
アバタは、そのヒト対応者に基づいて、アニメーション化されることができ、ヒトの相互作用は、そのアバタにマッピングされる。ユーザとアバタとの間の1対1のマッピングは、アバタのアクションがユーザのアクションの直接マッピングであるように、AR/VR/MR環境内で採用されることができる。例えば、ユーザが、左を見る場合、そのアバタもまた、左を見る。ユーザが、起立する場合、そのアバタも、起立する。ユーザが、ある方向に歩行する場合、そのアバタも、その方向に歩行する。本1対1のマッピングは、VR環境の参加者(ユーザの仮想アバタを含む)に同一共有仮想コンテンツが見えているため、VR環境内で機能し得る。しかしながら、AR/MR環境では、各ユーザの物理的環境および他のユーザのアバタがその中に現れる方法は、2人(またはそれを上回る)ユーザが非常に異なる環境内に存在し得るため、異なり得る。例えば、Bobは、自宅の居間内に存在し得、Aliceは、オフィス建物の部屋内に存在し得る。Bobには、Bobの環境(居間)内においてBobの向かいにAliceのアバタが見え得る一方、Aliceには、Aliceの環境(オフィス部屋)内においてAliceの左に位置するBobのアバタが見える。別の実施例として、アバタは、仮想オブジェクトであって、サイズ変更可能であり得るため、Bobは、Aliceのアバタのサイズを縮小し、それをその居間内のテーブル上に設置し得る一方、Aliceは、広いオフィス部屋内に存在し得、Bobのアバタを角に立たせ、原寸大となるように選定し得る。
そのようなサイズ決めは、Bobがそのアバタに話しかけているとき、BobがAliceのアバタを見下ろす結果をもたらし得る。1対1のマッピングが、Bobのアクションに基づいて、Bobのアバタに適用される場合、Aliceのオフィス内にレンダリングされたBobのアバタは、Bobのアバタが、Aliceに話しかけている間、床を見ているであろうため(実際のBobがAliceのアバタを見下ろしているため)、Aliceにとって異常に見え得る。他方では、ユーザのある側面が保存され、別のユーザの環境内のアバタにマッピングされることが、望ましくあり得る。例えば、ユーザが、同意の際、その頭部を点頭させる、または不同意の際、その頭部を揺動させることが、そのような運動をアバタにマッピングすることによって、他のユーザに伝達されることができる。1対1のマッピングにおける問題を説明する付加的実施例はさらに、図11B-11Dを参照して提供される。
有利なこととして、いくつかの実施形態では、ウェアラブルシステムは、ユーザの相互作用を分析し、相互作用を世界成分およびローカル成分に分解することができる。世界成分は、環境と相互作用する、相互作用の部分を含むことができる。例えば、世界運動は、点Aから点Bまで歩行すること、梯子を登ること、着座または起立すること、ある方向に向くこと、環境内の(仮想または物理的)オブジェクトと相互作用することを含んでもよい。本明細書にさらに説明されるように、世界成分は、環境と関連付けられる、世界基準フレームに関して説明されることができる。ローカル成分は、ユーザに対するアクションを含むことができる(身体固定基準フレームに関して説明されることができる)。例えば、Aliceが、その頭部を点頭させる、またはその頭部を揺動させる場合、その運動は、その胴体(または身体)に対するその頭部の角度に基づいて、意味を有する。別の実施例として、Aliceは、180度方向転換し、その頭部を点頭させ得る。これらの2つの運動は、それらがその胴体に対して位置特定され、環境との相互作用を要求し得ないため、ローカルと見なされ得る。さらに別の実施例として、手を振ることは、ユーザの身体に対して定義され得るため、ローカル運動であることができる。いくつかの移動は、ローカル部分および世界部分を有してもよい。例えば、ユーザが、指を差すことによって、ジェスチャを行い得、これは、ユーザがユーザの環境内のオブジェクトを指している場合、ユーザの身体に対するローカル属性と、世界側面とを有する。例えば、Aliceが、Aliceの環境内のBobのアバタを指している場合、Aliceの手のジェスチャから決定された意図は、AliceがBobを指しているということである。Bobの環境では、Aliceは、Bobに対して異なる相対的場所または配向に現れ得、その手のジェスチャが1対1の対応においてレンダリングされる場合、Aliceのアバタは、Bobを指し得ず、したがって、Aliceの意図を反映させ得ない。Bobのウェアラブルデバイスは、AliceのアバタがBobを指しているようにレンダリングされるように、Aliceの意図をBobの環境にマッピングすることができる。
ウェアラブルシステムは、ユーザの環境、ユーザの移動、ユーザの意図等と関連付けられるコンテキスト情報に基づいて、ユーザの相互作用の意図を抽出することができる。ウェアラブルシステムは、故に、アバタの環境に基づいて、ユーザの相互作用の世界運動をアバタのアクションにマッピングし、ユーザの相互作用のローカルアクションを直接アバタにマッピングすることができる。世界運動のマッピングは、その中にアバタがレンダリングされる物理的環境と互換性があるように(単に、直接1対1の方式において特性をマッピングするのではなく)、例えば、移動、位置、配向、サイズ、顔の表情、姿勢、眼視線等のアバタの1つまたはそれを上回る特性を調節することを含むことができる。
例えば、Aliceが、椅子まで歩いて行き、椅子の上に着座すると、ウェアラブルシステムは、Bobの環境の世界マップからの情報にアクセスし、Aliceを椅子の上に着座しているようにレンダリングすることによって、Bobの環境内の椅子(または椅子が存在しない場合、別の着座可能表面)を自動的に見出すことができる。別の実施例として、ウェアラブルシステムは、Aliceがその環境内の関心オブジェクト(例えば、木または仮想書籍)と相互作用することを意図することを決定してもよい。ウェアラブルシステムは、Aliceのアバタを自動的に再配向し、関心オブジェクトの場所がAliceの環境内のものと同一ではあり得ない、Bobの環境内の関心オブジェクトと相互作用させることができる。例えば、仮想書籍の直接1対1のマッピングが、Bobの環境内のテーブルの内側または下にレンダリングされるよう生じさせるであろう場合、Bobのウェアラブルシステムは、代わりに、テーブルの上にあるように仮想書籍をレンダリングしてもよく、これは、Bobに、Aliceおよび仮想書籍とのより自然な相互作用を提供するであろう。
ウェアラブルシステムが、世界運動を再マッピングし得る間、ウェアラブルシステムは、ユーザの相互作用の点頭、手の傾斜または揺動(混乱、同意、または拒絶を示すことができる)等のローカル運動を保存することができる。例えば、Aliceは、その頭部を揺動させ、椅子に向かって歩いて行き得る。本相互作用は、椅子に向かった歩行等の世界運動と、その頭部の揺動等のローカル運動とを含む。ウェアラブルシステムは、Bobの環境内の椅子の場所に基づいて、Aliceのアバタの歩行方向を調節するが、その一方で、その頭部を揺動させるようにAliceのアバタをレンダリングすることができる。
ある実装では、ウェアラブルシステムはまた、意図に基づいて、ローカル成分をアバタにマッピングすることができる。例えば、Aliceが、サムズアップサインを与える場合、ウェアラブルシステムは、これを表象的ジェスチャ(例えば、意識的に使用され、意識的に理解され、単語の代用品として使用され、日常の身体言語より手話に近い、ジェスチャ)として解釈し、より表現的サムズアップアニメーションをBobの環境内のAliceのアバタにマッピングし、同一意図を伝達することができる。これは、例えば、掌を開いたジェスチャで手を振る、またはOKジェスチャでOKサインを与える等の他の共通する象徴的または表象的ジェスチャにも適用することができる。
そのヒト対応者の相互作用に基づいて、仮想アバタをアニメーション化することに加えて、またはその代替として、有利なこととして、いくつかの実施形態では、ウェアラブルシステムはまた、アバタがその中にレンダリングされる環境に基づいて、アバタをアニメーション化することができる。ウェアラブルシステムは、仮想アバタが、環境との相互作用に基づいて、その決定を行うことが可能であるように現れ得るように、仮想アバタをレンダリングすることができる(例えば、ウェアラブルシステムは、環境内に存在する椅子が存在する場合、着座しているようにアバタを表示するが、椅子が存在しない場合、起立しているようにアバタを表示してもよい)。
ウェアラブルシステムは、関心オブジェクト、関心エリア、音、または関心オブジェクトの成分等の視認者の環境内の関心誘引誘発要因を発見し、アバタに、関心誘引誘発要因に自動的に応答させることができる(例えば、関心誘引誘発要因を見るように方向転換する等)。一実施例として、視認者のウェアラブルシステムは、突然の大きな雑音を検出し得、視認者のウェアラブルシステムは、大きな雑音が発せられた方向を見るようにアバタを自動的に再配向することができる。
ウェアラブルシステムは、視認者がアバタのヒト対応者とのテレプレゼンスセッション中であるかどうかにかかわらず、誘発要因に基づいて、アバタをアニメーション化することができる。視認者がテレプレゼンスセッション中である状況では、アバタは、そのような関心誘引誘発要因がヒト対応者の環境内に現れない場合でも、視認者の環境内の関心誘引誘発要因に応答することができる。例えば、AliceおよびBobが、テレプレゼンスセッション中であり得る。Aliceのアバタは、最初に、Bobが話しているため、Bobに向き得る。Bobのウェアラブルシステムが、Bobの環境内の大きな雑音を検出すると、Aliceのアバタは、その注意をBobから大きな雑音の方向に切り替え得る(したがって、Bobから視線を逸らし得る)。
ある実装では、ウェアラブルシステムは、ヒト対応者ユーザが(遠隔または同一環境のいずれかに)存在する場合とそうではない場合がある場合でも、1人またはそれを上回るユーザ(例えば、アバタのヒト対応者を含む)の挙動を学習し、そのような学習に基づいて、アバタのアニメーションを駆動することができる。例えば、ウェアラブルシステムは、発話音声またはユーザの環境内のオブジェクトに関連したユーザの眼視線方向およびアイコンタクトの頻度から、ユーザが他者と相互作用する方法を学習することができる(例えば、デバイスセンサからのデータに基づいて)。ウェアラブルシステムは、故に、ユーザの学習された挙動に基づいて、アバタのアニメーションを駆動することができる。実施例として、ユーザが、カントリーミュージックに応答しない(例えば、カントリーミュージックを再生している音源を見ない)場合、ユーザと関連付けられるアバタもまた、アバタがカントリーミュージックに応答しないようにレンダリングされてもよい。
本開示における実施例は、ヒト形状のアバタをアニメーション化することを説明するが、類似技法はまた、動物、架空の生物、オブジェクト(例えば、上記に説明される仮想書籍)等にも適用されることができる。例えば、Aliceのシステムは、その環境内で動き回るイヌを検出し得る。Bobのウェアラブルシステムは、仮想イヌの移動をBobの環境内に提示することができる。Bobのウェアラブルシステムは、Bobの環境内の障害物に基づいて、仮想イヌの移動をBobの環境内に表示してもよい(例えば、仮想イヌを物理的オブジェクトを通して通過させない軌道上で仮想イヌを移動させることによって)。
故に、開示されるシステムおよび方法の実施形態は、ウェアラブルシステムのユーザとユーザの環境内のアバタとの間のはるかにより現実的相互作用を提供し得る。
ウェアラブルシステムの3Dディスプレイの実施例
ウェアラブルシステム(本明細書では、拡張現実(AR)システムとも称される)は、2Dまたは3D仮想画像をユーザに提示するために構成されることができる。画像は、組み合わせまたは同等物における、静止画像、ビデオのフレーム、またはビデオであってもよい。ウェアラブルシステムの少なくとも一部は、ユーザ相互作用のために、単独で、または組み合わせて、VR、AR、またはMR環境を提示し得る、ウェアラブルデバイス上に実装されることができる。ウェアラブルデバイスは、ARデバイス(ARD)と同義的に使用されることができる。さらに、本開示の目的のために、用語「AR」は、用語「MR」と同義的に使用される。
図1は、人物によって視認される、ある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、複合現実シナリオの例証を描写する。図1では、MR場面100が、描写され、MR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム120を特徴とする、実世界公園状設定110が見える。これらのアイテムに加え、MR技術のユーザはまた、実世界プラットフォーム120上に立っているロボット像130と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ140とが「見える」と知覚するが、これらの要素は、実世界には存在しない。
3Dディスプレイが、真の深度感覚、より具体的には、表面深度のシミュレートされた感覚を生成するために、ディスプレイの視野内の点毎に、その仮想深度に対応する遠近調節応答を生成することが望ましくあり得る。ディスプレイ点に対する遠近調節応答が、収束および立体視の両眼深度キューによって決定されるようなその点の仮想深度に対応しない場合、ヒトの眼は、遠近調節衝突を体験し、不安定な結像、有害な眼精疲労、頭痛、および遠近調節情報の不在下では、表面深度のほぼ完全な欠如をもたらし得る。
VR、AR、およびMR体験は、複数の深度面に対応する画像が視認者に提供されるディスプレイを有する、ディスプレイシステムによって提供されることができる。画像は、深度面毎に異なってもよく(例えば、場面またはオブジェクトの若干異なる提示を提供する)、視認者の眼によって別個に集束され、それによって、異なる深度面上に位置する場面に関する異なる画像特徴に合焦させるために要求される眼の遠近調節に基づいて、または合焦からずれている異なる深度面上の異なる画像特徴を観察することに基づいて、ユーザに深度キューを提供することに役立ち得る。本明細書のいずれかに議論されるように、そのような深度キューは、信用できる深度の知覚を提供する。
図2は、ウェアラブルシステム200の実施例を図示し、これは、AR/VR/MR場面を提供するように構成されることができる。ウェアラブルシステム200はまた、ARシステム200と称され得る。ウェアラブルシステム200は、ディスプレイ220と、ディスプレイ220の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ220は、ユーザ、装着者、または視認者210によって装着可能である、フレーム230に結合されてもよい。ディスプレイ220は、ユーザ210の眼の正面に位置付けられることができる。ディスプレイ220は、AR/VR/MRコンテンツをユーザに提示するができる。ディスプレイ220は、ユーザの頭部上に装着される、頭部搭載型ディスプレイ(HMD)を備えることができる。
いくつかの実施形態では、スピーカ240が、フレーム230に結合され、ユーザの外耳道に隣接して位置付けられる(いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供する)。ディスプレイ220は、環境からオーディオストリームを検出し、周囲音を捕捉するために、オーディオセンサ(例えば、マイクロホン)232を含むことができる。いくつかの実施形態では、示されない1つまたはそれを上回る他のオーディオセンサが、ステレオ音受信を提供するために位置付けられる。ステレオ音受信は、音源の場所を決定するために使用されることができる。ウェアラブルシステム200は、音声または発話認識をオーディオストリームに実施することができる。
ウェアラブルシステム200は、ユーザの周囲の環境内の世界を観察する、外向きに面した結像システム464(図4に示される)を含むことができる。ウェアラブルシステム200はまた、ユーザの眼移動を追跡し得る、内向きに面した結像システム462(図4に示される)を含むことができる。内向きに面した結像システムは、一方の眼の移動または両方の眼の移動のいずれかを追跡することができる。内向きに面した結像システム462は、フレーム230に取り付けられてもよく、内向きに面した結像システムによって入手された画像情報を処理し、例えば、ユーザ210の眼の瞳孔直径または配向、眼の移動、または眼姿勢を決定し得る、処理モジュール260または270と電気通信してもよい。内向きに面した結像システム462は、1つまたはそれを上回るカメラを含んでもよい。例えば、少なくとも1つのカメラは、各眼を結像するために使用されてもよい。カメラによって入手された画像は、眼毎に、別個に、瞳孔サイズまたは眼姿勢を決定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために使用されてもよい。
実施例として、ウェアラブルシステム200は、外向きに面した結像システム464または内向きに面した結像システム462を使用して、ユーザの姿勢の画像を入手することができる。画像は、静止画像、ビデオのフレーム、またはビデオであってもよい。
ディスプレイ220は、有線導線または無線接続等によって、フレーム230に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ210に除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載され得る、ローカルデータ処理モジュール260に動作可能に結合されることができる(250)。
ローカル処理およびデータモジュール260は、ハードウェアプロセッサおよび不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを備えてもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、a)画像捕捉デバイス(例えば、内向きに面した結像システムおよび/または外向きに面した結像システム内のカメラ)、オーディオセンサ(例えば、マイクロホン)、慣性測定ユニット(IMU)、加速度計、コンパス、全地球測位システム(GPS)ユニット、無線デバイス、またはジャイロスコープ等の(例えば、フレーム230に動作可能に結合される、または別様にユーザ210に取り付けられ得る)センサから捕捉されるデータ、または、b)可能性として処理または読出後にディスプレイ220への通過のために、遠隔処理モジュール270または遠隔データリポジトリ280を使用して入手または処理されるデータを含んでもよい。ローカル処理およびデータモジュール260は、これらの遠隔モジュールがローカル処理およびデータモジュール260へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、通信リンク262または264によって遠隔処理モジュール270または遠隔データリポジトリ280に動作可能に結合されてもよい。加えて、遠隔処理モジュール280および遠隔データリポジトリ280は、相互に動作可能に結合されてもよい。
いくつかの実施形態では、遠隔処理モジュール270は、データまたは画像情報を分析および処理するように構成される、1つまたはそれを上回るプロセッサを備えてもよい。いくつかの実施形態では、遠隔データリポジトリ280は、デジタルデータ記憶設備を備えてもよくこれは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュールにおいて実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
ウェアラブルシステムの例示的コンポーネント
図3は、ウェアラブルシステムの例示的コンポーネントを図式的に図示する。図3は、ウェアラブルシステム200を示し、これは、ディスプレイ220と、フレーム230とを含むことができる。引き伸ばし図202は、ウェアラブルシステム200の種々のコンポーネントを図式的に図示する。ある実装では、図3に図示されるコンポーネントのうちの1つまたはそれを上回るものは、ディスプレイ220の一部であることができる。種々のコンポーネントは、単独で、または組み合わせて、ウェアラブルシステム200のユーザまたはユーザの環境と関連付けられる種々のデータ(例えば、聴覚的または視覚的データ等)を収集することができる。他の実施形態は、ウェアラブルシステムが使用される用途に応じて、付加的またはより少ないコンポーネントを有してもよいことを理解されたい。なお、図3は、種々のコンポーネントのうちのいくつかと、ウェアラブルシステムを通して収集、分析、および記憶され得る、データのタイプとの基本概念を提供する。
図3は、例示的ウェアラブルシステム200を示し、これは、ディスプレイ220を含むことができる。ディスプレイ220は、ユーザの頭部、またはフレーム230に対応する、筐体またはフレーム230に搭載され得る、ディスプレイレンズ226を備えることができる。ディスプレイレンズ230は、筐体230によって、ユーザの眼302、304の正面に位置付けられる、1つまたはそれを上回る透明ミラーを備えてもよく、投影された光338を眼302、304の中にバウンスさせ、ビーム成形を促進しながら、また、ローカル環境からの少なくとも一部の光の透過を可能にするように構成されてもよい。投影された光ビーム338の波面は、投影された光の所望の焦点距離と一致するように屈曲または集束されてもよい。図示されるように、2つの広視野マシンビジョンカメラ316(世界カメラとも称される)が、筐体230に結合され、ユーザの周囲の環境を結像することができる。これらのカメラ316は、二重捕捉式可視光/非可視(例えば、赤外線)光カメラであることができる。カメラ316は、図4に示される外向きに面した結像システム464の一部であってもよい。世界カメラ316によって入手された画像は、姿勢プロセッサ336によって処理されることができる。例えば、姿勢プロセッサ336は、1つまたはそれを上回るオブジェクト認識装置708(例えば、図7に示される)を実装し、ユーザまたはユーザの環境内の別の人物の姿勢を識別する、またはユーザの環境内の物理的オブジェクトを識別することができる。
図3を継続して参照すると、光338を眼302、304の中に投影するように構成される、ディスプレイミラーおよび光学系を伴う、一対の走査式レーザ成形波面(例えば、深度のために)光プロジェクタモジュールが、示される。描写される図はまた、ユーザの眼302、304を追跡し、レンダリングおよびユーザ入力をサポート可能であるように構成される、赤外線光(発光ダイオード「LED」等)とペアリングされる、2つの小型赤外線カメラ324を示す。カメラ324は、図4に示される、内向きに面した結像システム462の一部であってもよい。ウェアラブルシステム200はさらに、センサアセンブリ339を特徴とすることができ、これは、X、Y、およびZ軸加速度計能力および磁気コンパスおよびX、Y、およびZ軸ジャイロスコープ能力を備え、好ましくは、200Hz等の比較的に高周波数でデータを提供し得る。センサアセンブリ339は、図2Aを参照して説明される、IMUの一部であってもよい。描写されるシステム200はまた、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、またはARMプロセッサ(高度縮小命令セット機械)等の頭部姿勢プロセッサ336を備えることができ、これは、リアルタイムまたは近リアルタイムユーザ頭部姿勢を捕捉デバイス316から出力された広視野画像情報から計算するように構成されてもよい。頭部姿勢プロセッサ336は、ハードウェアプロセッサであることができ、図2Aに示されるローカル処理およびデータモジュール260の一部として実装されることができる。
ウェアラブルシステムはまた、1つまたはそれを上回る深度センサ234を含むことができる。深度センサ234は、環境内のオブジェクトとウェアラブルデバイスとの間の距離を測定するように構成されることができる。深度センサ234は、レーザスキャナ(例えば、LIDAR)、超音波深度センサ、または深度感知カメラを含んでもよい。カメラ316が深度感知能力を有する、ある実装では、カメラ316はまた、深度センサ234と見なされ得る。
また、示されるものは、デジタルまたはアナログ処理を実行し、姿勢をセンサアセンブリ339からのジャイロスコープ、コンパス、または加速度計データから導出するように構成される、プロセッサ332である。プロセッサ332は、図2に示される、ローカル処理およびデータモジュール260の一部であってもよい。ウェアラブルシステム200はまた、図3に示されるように、例えば、GPS337(全地球測位システム)等の測位システムを含み、姿勢および測位分析を補助することができる。加えて、GPSはさらに、ユーザの環境についての遠隔ベース(例えば、クラウドベース)の情報を提供してもよい。本情報は、ユーザの環境内のオブジェクトまたは情報を認識するために使用されてもよい。
ウェアラブルシステムは、GPS37および遠隔コンピューティングシステム(例えば、遠隔処理モジュール270、別のユーザのARD等)によって入手されたデータを組み合わせてもよく、これは、ユーザの環境についてのより多くの情報を提供することができる。一実施例として、ウェアラブルシステムは、GPSデータに基づいて、ユーザの場所を決定し、ユーザの場所と関連付けられる仮想オブジェクトを含む、世界マップを読み出すことができる(例えば、遠隔処理モジュール270と通信することによって)。別の実施例として、ウェアラブルシステム200は、世界カメラ316(図4に示される外向きに面した結像システム464の一部であってもよい)を使用して、環境を監視することができる。世界カメラ316によって入手された画像に基づいて、ウェアラブルシステム200は、環境内のオブジェクトを検出することができる(例えば、図7に示される1つまたはそれを上回るオブジェクト認識装置708を使用することによって)。ウェアラブルシステムはさらに、GPS337によって入手されたデータを使用して、キャラクタを解釈することができる。
ウェアラブルシステム200はまた、レンダリングエンジン334を備えてもよく、これは、世界のユーザのビューのために、ユーザにローカルなレンダリング情報を提供し、スキャナの動作およびユーザの眼の中への結像を促進するように構成されることができる。レンダリングエンジン334は、ハードウェアプロセッサ(例えば、中央処理ユニットまたはグラフィック処理ユニット等)によって実装されてもよい。いくつかの実施形態では、レンダリングエンジンは、ローカル処理およびデータモジュール260の一部である。レンダリングエンジン334は、ウェアラブルシステム200の他のコンポーネントに通信可能に結合されることができる(例えば、有線または無線リンクを介して)。例えば、レンダリングエンジン334は、通信リンク274を介して、眼カメラ324に結合され、通信リンク272を介して、投影サブシステム318(網膜走査ディスプレイに類似する様式において、走査レーザ配列を介して、光をユーザの眼302、304の中に投影することができる)に結合されることができる。レンダリングエンジン334はまた、それぞれ、リンク276および294を介して、例えば、センサ姿勢プロセッサ332および画像姿勢プロセッサ336等の他の処理ユニットと通信することができる。
カメラ324(例えば、小型赤外線カメラ)は、眼姿勢を追跡し、レンダリングおよびユーザ入力をサポートするために利用されてもよい。いくつかの例示的眼姿勢は、ユーザが見ている場所または合焦させている深度(眼の輻輳・開散運動を用いて推定されてもよい)を含んでもよい。GPS337、ジャイロスコープ、コンパス、および加速度計339は、大まかなまたは高速姿勢推定を提供するために利用されてもよい。カメラ316のうちの1つまたはそれを上回るものは、画像および姿勢を入手することができ、これは、関連付けられるクラウドコンピューティングリソースからのデータと併せて、ローカル環境をマッピングし、ユーザビューを他者と共有するために利用されてもよい。
図3に描写される例示的コンポーネントは、例証目的のためだけのものである。複数のセンサおよび他の機能モジュールが、例証および説明の容易性のために、ともに示される。いくつかの実施形態は、これらのセンサまたはモジュールの1つのみまたはサブセットを含んでもよい。さらに、これらのコンポーネントの場所は、図3に描写される位置に限定されない。いくつかのコンポーネントは、ベルト搭載型コンポーネント、ハンドヘルドコンポーネント、またはヘルメットコンポーネント等、他のコンポーネント内に搭載または格納されてもよい。一実施例として、画像姿勢プロセッサ336、センサ姿勢プロセッサ332、およびレンダリングエンジン334は、ベルトパック内に位置付けられ、超広帯域、Wi-Fi、Bluetooth(登録商標)等の無線通信を介して、または有線通信を介して、ウェアラブルシステムの他のコンポーネントと通信するように構成されてもよい。描写される筐体230は、好ましくは、ユーザによって頭部搭載可能かつ装着可能である。しかしながら、ウェアラブルシステム200のいくつかのコンポーネントは、ユーザの身体の他の部分に装着されてもよい。例えば、スピーカ240が、ユーザの耳の中に挿入され、音をユーザに提供してもよい。
ユーザの眼302、304の中への光338の投影に関して、いくつかの実施形態では、カメラ324は、一般に、眼の焦点の位置または「焦点深度」と一致する、ユーザの眼の中心が幾何学的に輻輳される場所を測定するために利用されてもよい。眼が輻輳する全ての点の3次元表面は、「単視軌跡」と称され得る。焦点距離は、有限数の深度をとり得る、または無限に変動し得る。輻輳・開散運動距離から投影された光は、対象の眼302、304に集束されるように現れる一方、輻輳・開散運動距離の正面または背後の光は、ぼかされる。本開示のウェアラブルシステムおよび他のディスプレイシステムの実施例はまた、米国特許公開第2016/0270656号(参照することによってその全体として本明細書に組み込まれる)に説明される。
ヒト視覚系は、複雑であって、深度の現実的知覚を提供することは、困難である。オブジェクトの視認者は、輻輳・開散運動と遠近調節の組み合わせに起因して、オブジェクトを3次元として知覚し得る。相互に対する2つの眼の輻輳・開散運動移動(例えば、眼の視線を収束させ、オブジェクトを固視するための相互に向かった、またはそこから離れる瞳孔の回転移動)は、眼の水晶体の合焦(または「遠近調節」)と緊密に関連付けられる。正常条件下、焦点を1つのオブジェクトから異なる距離における別のオブジェクトに変化させるための眼の水晶体の焦点の変化または眼の遠近調節は、「遠近調節-輻輳・開散運動反射」として知られる関係下、輻輳・開散運動の整合変化を自動的に同一距離に生じさせるであろう。同様に、輻輳・開散運動の変化が、正常条件下、遠近調節の合致する変化を誘起するであろう。遠近調節と輻輳・開散運動との間のより良好な合致を提供するディスプレイシステムが3次元画像のより現実的かつ快適なシミュレーションを形成し得る。
さらに、約0.7ミリメートル未満のビーム直径を伴う、空間的にコヒーレントな光は、眼が合焦している場所にかかわらず、ヒトの眼によって正しく解決されることができる。したがって、適切な焦点深度の錯覚を作成するために、眼の輻輳・開散運動が、カメラ324を用いて追跡されてもよく、レンダリングエンジン334および投影サブシステム318は、単視軌跡上またはそれに近接する全てのオブジェクトを合焦させてレンダリングし、全ての他のオブジェクトを可変程度に焦点をずらしてレンダリングするために利用されてもよい(例えば、意図的に作成されたぼけを使用して)。好ましくは、ディスプレイシステム220は、ユーザに、約60フレーム/秒またはそれを上回るフレームレートでレンダリングする。上記に説明されるように、好ましくは、カメラ324は、眼追跡のために利用されてもよく、ソフトウェアは、輻輳・開散運動幾何学形状だけではなく、また、ユーザ入力としての役割を果たすための焦点場所キューも取り上げるように構成されてもよい。好ましくは、そのようなディスプレイシステムは、昼間または夜間の使用のために好適な明度およびコントラストを用いて構成される。
いくつかの実施形態では、ディスプレイシステムは、好ましくは、視覚的オブジェクト整合のために約20ミリ秒未満の待ち時間、約0.1度未満の角度整合、および約1弧分の分解能を有し、これは、理論によって限定されるわけではないが、ヒトの眼のほぼ限界であると考えられる。ディスプレイシステム220は、位置特定システムと統合されてもよく、これは、GPS要素、光学追跡、コンパス、加速度計、または他のデータソースを伴い、位置および姿勢決定を補助し得る。位置特定情報は、関連世界のユーザのビュー内における正確なレンダリングを促進するために利用されてもよい(例えば、そのような情報は、眼鏡が実世界に対する場所を把握することを促進するであろう)。
いくつかの実施形態では、ウェアラブルシステム200は、ユーザの眼の遠近調節に基づいて、1つまたはそれを上回る仮想画像を表示するように構成される。ユーザに画像が投影されている場所に合焦させるように強制する、従来の3Dディスプレイアプローチと異なり、いくつかの実施形態では、ウェアラブルシステムは、投影された仮想コンテンツの焦点を自動的に変動させ、ユーザに提示される1つまたはそれを上回る画像のより快適な視認を可能にするように構成される。例えば、ユーザの眼が、1mの現在の焦点を有する場合、画像は、ユーザの焦点と一致するように投影されてもよい。ユーザが、焦点を3mに偏移させる場合、画像は、新しい焦点と一致するように投影される。したがって、ユーザに所定の焦点を強制するのではなく、いくつかの実施形態のウェアラブルシステム200は、ユーザの眼がより自然な様式において機能することを可能にする。
そのようなウェアラブルシステム200は、仮想現実デバイスに対して典型的に観察される、眼精疲労、頭痛、および他の生理学的症状の発生率を排除または低減させ得る。これを達成するために、ウェアラブルシステム200の種々の実施形態は、1つまたはそれを上回る可変焦点要素(VFE)を通して、仮想画像を可変焦点距離に投影するように構成される。1つまたはそれを上回る実施形態では、3D知覚は、画像をユーザから固定された焦点面に投影する、多面焦点システムを通して達成されてもよい。他の実施形態は、可変面焦点を採用し、焦点面は、ユーザの焦点の現在の状態と一致するように、z-方向に往復して移動される。
多面焦点システムおよび可変面焦点システムの両方において、ウェアラブルシステム200は、眼追跡を採用し、ユーザの眼の輻輳・開散運動を決定し、ユーザの現在の焦点を決定し、仮想画像を決定された焦点に投影してもよい。他の実施形態では、ウェアラブルシステム200は、ファイバスキャナまたは他の光生成源を通して、網膜を横断して、可変焦点の光ビームをラスタパターンで可変に投影する、光変調器を備える。したがって、画像を可変焦点距離に投影するウェアラブルシステム200のディスプレイの能力は、ユーザがオブジェクトを3Dにおいて視認するための遠近調節を容易にするだけではなく、また、米国特許公開第2016/0270656号(参照することによってその全体として本明細書に組み込まれる)にさらに説明されるように、ユーザの眼球異常を補償するために使用されてもよい。いくつかの他の実施形態では、空間光変調器は、種々の光学コンポーネントを通して、画像をユーザに投影してもよい。例えば、以下にさらに説明されるように、空間光変調器は、画像を1つまたはそれを上回る導波管上に投影してもよく、これは、次いで、画像をユーザに伝送する。
導波管スタックアセンブリ
図4は、画像情報をユーザに出力するための導波管スタックの実施例を図示する。ウェアラブルシステム400は、複数の導波管432b、434b、436b、438b、4400bを使用して、3次元知覚を眼/脳に提供するために利用され得る、導波管のスタックまたはスタックされた導波管アセンブリ480を含む。いくつかの実施形態では、ウェアラブルシステム400は、図2のウェアラブルシステム200に対応し得、図4Aは、そのウェアラブルシステム200のいくつかの部分をより詳細に図式的に示す。例えば、いくつかの実施形態では、導波管アセンブリ480は、図2のディスプレイ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(図2に図示される)の一部であってもよい。
導波管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(ローカル処理およびデータモジュール260の実施形態であり得る)は、これらの導波管のうちの1つへの画像情報の提供を停止するように構成またはプログラムされることができる。有利なこととして、これは、システムへの処理負担を低減させ、それによって、システムの応答性を増加させ得る。導波管のためのDOEがオンおよびオフ状態間で切替可能である実施形態では、DOEは、導波管が画像情報を受信するとき、オフ状態に切り替えられてもよい。
いくつかの実施形態では、出射ビームに視認者の眼の直径未満の直径を有するという条件を満たさせることが望ましくあり得る。しかしながら、本条件を満たすことは、視認者の瞳孔のサイズの変動性に照らして、困難であり得る。いくつかの実施形態では、本条件は、視認者の瞳孔のサイズの決定に応答して出射ビームのサイズを変動させることによって、広範囲の瞳孔サイズにわたって満たされる。例えば、瞳孔サイズが減少するにつれて、出射ビームのサイズもまた、減少し得る。いくつかの実施形態では、出射ビームサイズは、可変開口を使用して変動されてもよい。
ウェアラブルシステム400は、世界470の一部を結像する、外向きに面した結像システム464(例えば、デジタルカメラ)を含むことができる。世界470の本部分は、世界カメラの視野(FOV)と称され得、結像システム464は、時として、FOVカメラとも称される。世界カメラのFOVは、視認者210のFOVと同一である場合とそうではない場合があり、これは、視認者210が所与の時間に知覚する、世界470の一部を包含する。例えば、いくつかの状況では、世界カメラのFOVは、ウェアラブルシステム400の視認者210の視野より大きくあり得る。視認者による視認または結像のために利用可能な領域全体は、動眼視野(FOR)と称され得る。FORは、装着者が、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚することができるため、ウェアラブルシステム400を囲繞する4πステラジアンの立体角を含んでもよい。他のコンテキストでは、装着者の移動は、より抑制されてもよく、それに応じて、装着者のFORは、より小さい立体角に接し得る。外向きに面した結像システム464から得られた画像は、ユーザによって行われるジェスチャ(例えば、手または指のジェスチャ)を追跡し、ユーザの正面における世界470内のオブジェクトを検出する等のために、使用されることができる。
ウェアラブルシステム400は、オーディオセンサ(図示せず)、例えば、マイクロホンを含み、周囲音を捕捉することができる。上記に説明されるように、いくつかの実施形態では、1つまたはそれを上回る他のオーディオセンサが、発話源の場所の決定に有用なステレオ音受信を提供するために位置付けられることができる。オーディオセンサは、別の実施例として、指向性マイクロホンを備えることができ、これはまた、オーディオ源が位置する場所に関するそのような有用な指向性情報を提供することができる。ウェアラブルシステム400は、発話源を位置特定する際、または特定の瞬間におけるアクティブ話者を決定するために等、外向きに面した結像システム464およびオーディオセンサの両方からの情報を使用することができる。例えば、ウェアラブルシステム400は、単独で、または話者の反射された画像(例えば、鏡に見られるように)と組み合わせて、音声認識を使用して、話者の識別を決定することができる。別の実施例として、ウェアラブルシステム400は、指向性マイクロホンから入手された音に基づいて、環境内の話者の位置を決定することができる。ウェアラブルシステム400は、発話認識アルゴリズムを用いて、話者の位置から生じる音を解析し、発話のコンテンツを決定し、音声認識技法を使用して、話者の識別(例えば、名前または他の人口統計情報)を決定することができる。
ウェアラブルシステム400はまた、眼移動および顔移動等のユーザの移動を観察する、内向きに面した結像システム466(例えば、デジタルカメラ)を含むことができる。内向きに面した結像システム466は、眼410の画像を捕捉し、眼304の瞳孔のサイズおよび/または配向を決定するために使用されてもよい。内向きに面した結像システム466は、ユーザが見ている方向(例えば、眼姿勢)を決定する際に使用するため、またはユーザのバイオメトリック識別のため(例えば、虹彩識別を介して)、画像を得るために使用されることができる。いくつかの実施形態では、少なくとも1つのカメラが、眼毎に、独立して、各眼の瞳孔サイズまたは眼姿勢を別個に決定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために利用されてもよい。いくつかの他の実施形態では、単一眼410のみの瞳孔直径または配向(例えば、対の眼あたり単一カメラのみを使用して)が、決定され、ユーザの両眼に関して類似すると仮定される。内向きに面した結像システム466によって得られる画像は、ユーザに提示されるべきオーディオまたは視覚的コンテンツを決定するためにウェアラブルシステム400によって使用され得る、ユーザの眼姿勢または気分を決定するために分析されてもよい。ウェアラブルシステム400はまた、IMU、加速度計、ジャイロスコープ等のセンサを使用して、頭部姿勢(例えば、頭部位置または頭部配向)を決定してもよい。
ウェアラブルシステム400は、ユーザが、コマンドをコントローラ460に入力し、ウェアラブルシステム400と相互作用し得る、ユーザ入力デバイス466を含むことができる。例えば、ユーザ入力デバイス466は、トラックパッド、タッチスクリーン、ジョイスティック、多自由度(DOF)コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、指向性パッド(Dパッド)、ワンド、触知デバイス、トーテム(例えば、仮想ユーザ入力デバイスとして機能する)等を含むことができる。マルチDOFコントローラは、コントローラの一部または全部の可能性として考えられる平行移動(例えば、左/右、前方/後方、または上/下)または回転(例えば、ヨー、ピッチ、またはロール)におけるユーザ入力を感知することができる。平行移動をサポートする、マルチDOFコントローラは、3DOFと称され得る一方、平行移動および回転をサポートする、マルチDOFコントローラは、6DOFと称され得る。ある場合には、ユーザは、指(例えば、親指)を使用して、タッチセンサ式入力デバイスを押下またはその上でスワイプし、入力をウェアラブルシステム400に提供してもよい(例えば、ユーザ入力をウェアラブルシステム400によって提供されるユーザインターフェースに提供するために)。ユーザ入力デバイス466は、ウェアラブルシステム400の使用の間、ユーザの手によって保持されてもよい。ユーザ入力デバイス466は、ウェアラブルシステム400と有線または無線通信することができる。
ウェアラブルシステムの他のコンポーネント
多くの実装では、ウェアラブルシステムは、上記に説明されるウェアラブルシステムのコンポーネントに加えて、またはその代替として、他のコンポーネントを含んでもよい。ウェアラブルシステムは、例えば、1つまたはそれを上回る触知デバイスまたはコンポーネントを含んでもよい。触知デバイスまたはコンポーネントは、触覚をユーザに提供するように動作可能であってもよい。例えば、触知デバイスまたはコンポーネントは、仮想コンテンツ(例えば、仮想オブジェクト、仮想ツール、他の仮想構造)に触れると、圧力またはテクスチャの触覚を提供してもよい。触覚は、仮想オブジェクトが表す物理的オブジェクトの感覚を再現してもよい、または仮想コンテンツが表す想像上のオブジェクトまたはキャラクタ(例えば、ドラゴン)の感覚を再現してもよい。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって装着されてもよい(例えば、ユーザウェアラブルグローブ)。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって保持されてもよい。
ウェアラブルシステムは、例えば、ユーザによって操作可能であって、ウェアラブルシステムへの入力またはそれとの相互作用を可能にする、1つまたはそれを上回る物理的オブジェクトを含んでもよい。これらの物理的オブジェクトは、本明細書では、トーテムと称され得る。いくつかのトーテムは、無生物オブジェクト、例えば、金属またはプラスチック片、壁、テーブルの表面の形態をとってもよい。ある実装では、トーテムは、実際には、任意の物理的入力構造(例えば、キー、トリガ、ジョイスティック、トラックボール、ロッカスイッチ)を有していなくてもよい。代わりに、トーテムは、単に、物理的表面を提供してもよく、ウェアラブルシステムは、ユーザにトーテムの1つまたはそれを上回る表面上にあるように見えるように、ユーザインターフェースをレンダリングしてもよい。例えば、ウェアラブルシステムは、トーテムの1つまたはそれを上回る表面上に常駐するように見えるように、コンピュータキーボードおよびトラックパッドの画像をレンダリングしてもよい。例えば、ウェアラブルシステムは、トーテムとしての役割を果たし得る、アルミニウムの薄い長方形プレートの表面上に見えるように、仮想コンピュータキーボードおよび仮想トラックパッドをレンダリングしてもよい。長方形プレート自体は、いずれの物理的キーまたはトラックパッドまたはセンサも有していない。しかしながら、ウェアラブルシステムは、仮想キーボードまたは仮想トラックパッドを介して行われた選択または入力として、長方形プレートを用いたユーザ操作または相互作用またはタッチを検出し得る。ユーザ入力デバイス466(図4に示される)は、トラックパッド、タッチパッド、トリガ、ジョイスティック、トラックボール、ロッカまたは仮想スイッチ、マウス、キーボード、多自由度コントローラ、または別の物理的入力デバイスを含み得る、トーテムの実施形態であってもよい。ユーザは、単独で、または姿勢と組み合わせて、トーテムを使用し、ウェアラブルシステムまたは他のユーザと相互作用してもよい。
本開示のウェアラブルデバイス、HMD、およびディスプレイシステムと使用可能な触知デバイスおよびトーテムの実施例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明される。
ウェアラブルシステムとのユーザ相互作用の例示的プロセス
図5は、仮想ユーザインターフェースと相互作用するための方法500の実施例のプロセスフロー図である。方法500は、本明細書に説明されるウェアラブルシステムによって実施されてもよい。方法500の実施形態は、ウェアラブルシステムによって使用され、ウェアラブルシステムのFOV内の人物またはドキュメントを検出することができる。
ブロック510では、ウェアラブルシステムは、特定のUIを識別してもよい。UIのタイプは、ユーザによって事前決定されてもよい。ウェアラブルシステムは、ユーザ入力(例えば、ジェスチャ、視覚的データ、オーディオデータ、感覚データ、直接コマンド等)に基づいて、特定のUIが取り込まれる必要があることを識別してもよい。UIは、システムの装着者がドキュメントを装着者に提示するユーザを観察している(例えば、旅行者検問所において)、セキュリティシナリオに特有であることができる。ブロック520では、ウェアラブルシステムは、仮想UIのためのデータを生成してもよい。例えば、範囲、一般的構造、UIの形状等と関連付けられるデータが、生成されてもよい。加えて、ウェアラブルシステムは、ウェアラブルシステムがUIをユーザの物理的場所に関連して表示し得るように、ユーザの物理的場所のマップ座標を決定してもよい。例えば、UIが、身体中心である場合、ウェアラブルシステムは、リングUIがユーザの周囲に表示され得る、または平面UIが壁上またはユーザの正面に表示され得るように、ユーザの物理的立ち位置の座標、頭部姿勢、または眼姿勢を決定してもよい。本明細書に説明されるセキュリティコンテキストでは、UIは、装着者が、旅行者および旅行者のドキュメントを見ながら、UIを容易に視認し得るように、UIがドキュメントをシステムの装着者に提示している旅行者を囲繞しているかのように表示されてもよい。UIが、手中心である場合、ユーザの手のマップ座標が、決定されてもよい。これらのマップ点は、FOVカメラ、感覚入力を通して受信されたデータ、または任意の他のタイプの収集されたデータを通して、導出されてもよい。
ブロック530では、ウェアラブルシステムは、データをクラウドからディスプレイに送信してもよい、またはデータは、ローカルデータベースからディスプレイコンポーネントに送信されてもよい。ブロック540では、UIは、送信されたデータに基づいて、ユーザに表示される。例えば、ライトフィールドディスプレイは、仮想UIをユーザの眼の一方または両方の中に投影することができる。いったん仮想UIが作成されると、ウェアラブルシステムは、単に、ブロック550において、より多くの仮想コンテンツを仮想UI上に生成するためのユーザからのコマンドを待機してもよい。例えば、UIは、ユーザの身体またはユーザの環境内の人物(例えば、旅行者)の身体の周囲の身体中心リングであってもよい。ウェアラブルシステムは、次いで、コマンド(ジェスチャ、頭部または眼移動、音声コマンド、ユーザ入力デバイスからの入力等)を待機してもよく、それが認識される場合(ブロック560)、コマンドと関連付けられる仮想コンテンツは、ユーザに表示されてもよい(ブロック570)。
複合現実におけるアバタレンダリングの実施例
ウェアラブルシステムは、高被写界深度をレンダリングされたライトフィールド内で達成するために、種々のマッピング関連技法を採用してもよい。仮想世界をマッピングする際、実世界内の全ての特徴および点を把握し、仮想オブジェクトを実世界に関連して正確に描くことが有利である。この目的を達成するために、ウェアラブルシステムのユーザから捕捉されたFOV画像が、実世界の種々の点および特徴についての情報を伝達する新しい写真を含むことによって、世界モデルに追加されることができる。例えば、ウェアラブルシステムは、マップ点(2D点または3D点等)のセットを収集し、新しいマップ点を見出し、世界モデルのより正確なバージョンをレンダリングすることができる。第1のユーザの世界モデルは、第2のユーザが第1のユーザを囲繞する世界を体験し得るように、(例えば、クラウドネットワーク等のネットワークを経由して)第2のユーザに通信されることができる。
図6Aは、ウェアラブルシステムの別の実施例のブロック図であって、これは、複合現実環境内へのアバタ処理およびレンダリングシステム690を備えることができる。ウェアラブルシステム600は、図2に示されるウェアラブルシステム200の一部であってもよい。本実施例では、ウェアラブルシステム600は、マップ620を備えることができ、これは、マップデータベース710(図7に示される)内のデータの少なくとも一部を含んでもよい。マップは、部分的に、ウェアラブルシステム上にローカルで常駐してもよく、部分的に、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所(例えば、クラウドシステム内)に常駐してもよい。姿勢プロセス610は、ウェアラブルコンピューティングアーキテクチャ(例えば、処理モジュール260またはコントローラ460)上で実行され、マップ620からのデータを利用して、ウェアラブルコンピューティングハードウェアまたはユーザの位置および配向を決定してもよい。姿勢データは、ユーザが、システムを体験し、世界内で動作するにつれてオンザフライで収集されたデータから、算出されてもよい。データは、画像、センサ(慣性測定ユニット等、これは、概して、加速度計と、ジャイロスコープコンポーネントとを備える)からのデータ、および実または仮想環境内のオブジェクトと関連する表面情報を含んでもよい。
疎点表現は、同時位置特定およびマッピング(例えば、入力が画像/視覚専用である構成を指す、SLAMまたはvSLAM)プロセスの出力であってもよい。本システムは、種々のコンポーネントが存在する世界内の場所だけではなく、世界が成る内容も見出すように構成されることができる。姿勢は、マップの取込およびマップからのデータの使用を含む、多くの目標を達成する、構築ブロックであり得る。
一実施形態では、疎点位置は、それだけでは完全に適正ではあり得ず、さらなる情報が、多焦点AR、VR、またはMR体験を生産するために必要とされ得る。概して、深度マップ情報を指す、稠密表現が、少なくとも部分的に、本間隙を充填するために利用されてもよい。そのような情報は、ステレオ640と称される、プロセスから算出されてもよく、深度情報は、三角測量または飛行時間感知等の技法を使用して決定される。画像情報およびアクティブパターン(アクティブプロジェクタを使用して作成された赤外線パターン等)、画像カメラから入手された画像、または手のジェスチャ/トーテム650が、ステレオプロセス640への入力としての役割を果たし得る。有意な量の深度マップ情報が、ともに融合され得、そのうちの一部は、表面表現とともに要約され得る。例えば、数学的に定義可能な表面は、効率的(例えば、大点群と比較して)であって、ゲームエンジンのような他の処理デバイスへの理解しやすい入力であり得る。したがって、ステレオプロセス(例えば、深度マップ)640の出力は、融合プロセス630において組み合わせられてもよい。姿勢610は、同様に、本融合プロセス630への入力であってもよく、融合630の出力は、マップ取込プロセス620への入力となる。サブ表面は、トポグラフィマッピングにおけるように、相互に接続し、より大きい表面を形成し得、マップは、点および表面の大規模ハイブリッドとなる。
複合現実プロセス660における種々の側面を解決するために、種々の入力が、利用されてもよい。例えば、図6Aに描写される実施形態では、ゲームパラメータが、入力され、システムのユーザが、種々の場所における1匹またはそれを上回るモンスタ、種々の条件下で死にかけている、または逃げているモンスタ(ユーザがモンスタを射撃する場合等)、種々の場所における壁または他のオブジェクト、および同等物を伴った状態で、モンスタバトルゲームをプレーしていることを決定し得る。世界マップは、オブジェクトの場所に関する情報またはオブジェクトの意味論情報(例えば、オブジェクトが、平坦または丸いかどうか、水平または垂直であるか、テーブルまたはランプであるかどうか等の分類)を含んでもよく、世界マップは、複合現実への別の有益な入力であり得る。世界に対する姿勢は、同様に、入力となり、ほぼあらゆる双方向システムに対して重要な役割を担う。
ユーザからの制御または入力は、ウェアラブルシステム600への別の入力である。本明細書に説明されるように、ユーザ入力は、視覚的入力、ジェスチャ、トーテム、オーディオ入力、感覚入力等を含むことができる。動き回る、またはゲームをプレーするために、例えば、ユーザは、自らが所望する内容に関して、ウェアラブルシステム600に命令する必要があり得る。単に、自らを空間内で移動させる以外にも利用され得る、種々の形態のユーザ制御が存在する。一実施形態では、トーテム(例えば、ユーザ入力デバイス)または玩具銃等のオブジェクトが、ユーザによって保持され、システムによって追跡されてもよい。本システムは、好ましくは、ユーザがアイテムを保持していることを把握し、ユーザがアイテムと行っている相互作用の種類を理解するように構成されるであろう(例えば、トーテムまたはオブジェクトが、銃である場合、本システムは、場所および配向と、ユーザが、トリガまたは他の感知されるボタンまたは要素(アクティビティがカメラのいずれかの視野内にないときでも、生じている内容を決定することを補助し得る、IMU等のセンサを装備し得る)をクリックしているかどうかとを理解するように構成されてもよい)。
手のジェスチャの追跡または認識もまた、入力情報を提供し得る。ウェアラブルシステム600は、ボタン押下、左または右、停止、握持、保持のジェスチャ等に関して、手のジェスチャを追跡および解釈するように構成されてもよい。例えば、1つの構成では、ユーザは、非ゲーム用環境において電子メールまたはカレンダをフリップする、または「フィストバンプ」を別の人物またはプレーヤと行うことを所望し得る。ウェアラブルシステム600は、動的である場合とそうではない場合がある、最小量の手のジェスチャを活用するように構成されてもよい。例えば、ジェスチャは、停止のために手を開く、OKのためのサムズアップ、非OKのためのサムズダウン、または指向性コマンドのための右または左または上/下への手のフリップのような単純静的ジェスチャであってもよい。
眼追跡は、別の入力である(例えば、ユーザが見ている場所を追跡し、ディスプレイ技術を制御し、具体的深度または範囲にレンダリングする)。一実施形態では、眼の輻輳・開散運動が、三角測量を使用して、決定されてもよく、次いで、その特定の人物に関して開発された輻輳・開散運動/遠近調節モデルを使用して、遠近調節が、決定されてもよい。眼追跡は、眼カメラによって実施され、眼視線(例えば、片眼または両眼の方向または配向)を決定することができる。他の技法は、例えば、眼の近傍に設置された電極による電位の測定(例えば、電気眼球図記録)等の眼追跡のために使用されることができる。
発話追跡は、単独で、または他の入力(例えば、トーテム追跡、眼追跡、ジェスチャ追跡等)と組み合わせて使用され得る、別の入力であり得る。発話追跡は、単独で、または組み合わせて、発話認識、音声認識を含んでもよい。システム600は、オーディオストリームを環境から受信する、オーディオセンサ(例えば、マイクロホン)を含むことができる。システム600は、発話している人物(例えば、発話が、ARDの装着者または別の人物または音声(例えば、環境内のラウドスピーカによって伝送される記録された音声)からのものであるかどうか)を決定するための音声認識技術と、話されている内容を決定するための発話認識技術とを組み込むことができる。ローカルデータおよび処理モジュール260または遠隔処理モジュール270は、例えば、隠れマルコフモデル、動的時間伸縮法(DTW)ベースの発話認識、ニューラルネットワーク、ディープフィードフォワードおよび再帰ニューラルネットワーク等の深層学習アルゴリズム、エンドツーエンド自動発話認識、機械学習アルゴリズム(図7を参照して説明される)、または音響モデル化または言語モデル化を使用する、他のアルゴリズム等の種々の発話認識アルゴリズムを適用することによって、マイクロホンからのオーディオデータ(または、例えば、ユーザによって鑑賞されているビデオストリーム等の別のストリーム内のオーディオデータ)を処理し、発話のコンテンツを識別することができる。
ローカルデータおよび処理モジュール260または遠隔処理モジュール270はまた、音声認識アルゴリズムを適用することができ、これは、話者が、ウェアラブルシステム600のユーザ210またはユーザが会話している別の人物であるかどうか等、話者の識別を識別することができる。いくつかの例示的音声認識アルゴリズムは、周波数推定、隠れマルコフモデル、ガウス混合物モデル、パターンマッチングアルゴリズム、ニューラルネットワーク、行列表現、ベクトル量子化、話者ダイアライゼーション、決定ツリー、および動的時間伸縮法(DTW)技法を含むことができる。音声認識技法はまた、コホートモデルおよび世界モデル等のアンチ話者技法を含むことができる。スペクトル特徴が、話者特性を表す際に使用されてもよい。ローカルデータおよび処理モジュールまたは遠隔データ処理モジュール270は、図7を参照して説明される、種々の機械学習アルゴリズムを使用して、音声認識を実施することができる。
ウェアラブルシステムの実装は、UIを介したこれらのユーザ制御または入力を使用することができる。UI要素(例えば、制御、ポップアップウィンドウ、吹き出し、データエントリフィールド等)は、例えば、情報、例えば、オブジェクトのグラフィックまたは意味論情報のディスプレイを閉じるために使用されることができる。
カメラシステムに関して、図6Aに示される例示的ウェアラブルシステム600は、3つの対のカメラ、すなわち、ユーザの顔の側面に配列される、一対の相対的広FOVまたは受動SLAMカメラと、ステレオ結像プロセス640をハンドリングし、また、ユーザの顔の正面における手のジェスチャおよびトーテム/オブジェクト追跡を捕捉するために、ユーザの顔の正面に配向される、異なる対のカメラとを含むことができる。FOVカメラおよびステレオプロセス640のための対のカメラは、外向きに面した結像システム464(図4に示される)の一部であってもよい。ウェアラブルシステム600は、眼ベクトルおよび他の情報を三角測量するために、ユーザの眼に向かって配向される、眼追跡カメラ(図4に示される内向きに面した結像システム462の一部であってもよい)を含むことができる。ウェアラブルシステム600はまた、1つまたはそれを上回るテクスチャ加工された光プロジェクタ(赤外線(IR)プロジェクタ等)を備え、テクスチャを場面の中に投入してもよい。
ウェアラブルシステム600は、アバタ処理およびレンダリングシステム690を備えることができる。アバタ処理およびレンダリングシステム690は、コンテキスト情報に基づいて、アバタを生成、更新、アニメーション化、およびレンダリングするように構成されることができる。アバタ処理およびレンダリングシステム690の一部または全部は、単独で、または組み合わせて、ローカル処理およびデータモジュール260または遠隔処理モジュール270、280の一部として実装されることができる。種々の実施形態では、複数のアバタ処理およびレンダリングシステム690(例えば、異なるウェアラブルデバイス上に実装されるように)が、仮想アバタ670をレンダリングするために使用されることができる。例えば、第1のユーザのウェアラブルデバイスは、第1のユーザの意図を決定するために使用されてもよい一方、第2のユーザのウェアラブルデバイスは、アバタの特性を決定し、第1のユーザのウェアラブルデバイスから受信された意図に基づいて、第1のユーザのアバタをレンダリングすることができる。第1のユーザのウェアラブルデバイスおよび第2のユーザのウェアラブルデバイス(または他のそのようなウェアラブルデバイス)は、例えば、図9Aおよび9Bを参照して説明されるであろうように、ネットワークを介して、通信することができる。
図6Bは、例示的アバタ処理およびレンダリングシステム690を図示する。例示的アバタ処理およびレンダリングシステム690は、単独で、または組み合わせて、3Dモデル処理システム680と、コンテキスト情報分析システム688と、アバタ自動スケーラ692と、意図マッピングシステム694と、解剖学的構造調節システム698と、刺激応答システム696とを備えることができる。システム690は、アバタ処理およびレンダリングのための機能性を図示するように意図され、限定することを意図するものではない。例えば、ある実装では、これらのシステムのうちの1つまたはそれを上回るものは、別のシステムの一部であってもよい。例えば、コンテキスト情報分析システム688の一部は、個々に、または組み合わせて、アバタ自動スケーラ692、意図マッピングシステム694、刺激応答システム696、または解剖学的構造調節システム698の一部であってもよい。
コンテキスト情報分析システム688は、図2および3を参照して説明される、1つまたはそれを上回るデバイスセンサに基づいて、環境およびオブジェクト情報を決定するように構成されることができる。例えば、コンテキスト情報分析システム688は、ユーザまたはユーザのアバタの視認者の外向きに面した結像システム464によって入手された画像を使用して、環境およびユーザの環境のオブジェクト(物理的または仮想オブジェクトを含む)またはその中にユーザのアバタがレンダリングされる環境を分析することができる。コンテキスト情報分析システム688は、単独で、または場所データまたは世界マップ(例えば、マップ620、710、910)から入手されたデータと組み合わせて、そのような画像を分析し、環境内のオブジェクトの場所およびレイアウトを決定することができる。コンテキスト情報分析システム688はまた、仮想アバタ670を現実的にアニメーション化するために、ユーザまたはヒト全般の生物学的特徴にアクセスすることができる。例えば、コンテキスト情報分析システム688は、違和感曲線を生成することができ、これは、ユーザのアバタの身体の一部(例えば、頭部)がユーザの身体の他の部分に対して違和感のある(または非現実的)位置にないように(例えば、アバタの頭部は、270度方向転換されない)、アバタに適用されることができる。ある実装では、1つまたはそれを上回るオブジェクト認識装置708(図7に示される)は、コンテキスト情報分析システム688の一部として実装されてもよい。
アバタ自動スケーラ692、意図マッピングシステム694、および刺激応答システム696、および解剖学的構造調節システム698は、コンテキスト情報に基づいて、アバタの特性を決定するように構成されることができる。アバタのいくつかの例示的特性は、サイズ、外観、位置、配向、移動、姿勢、表現等を含むことができる。アバタ自動スケーラ692は、ユーザがアバタを不快な姿勢で見る必要がないように、アバタを自動的にスケーリングするように構成されることができる。例えば、アバタ自動スケーラ692は、ユーザが、それぞれ、アバタを見下ろす、またはアバタを見上げる必要がないように、アバタのサイズを増加または減少させ、アバタをユーザの眼の高さに持って来ることができる。意図マッピングシステム694は、アバタがその中にレンダリングされる環境に基づいて、ユーザの相互作用の意図を決定し、(正確なユーザ相互作用ではなく)意図をアバタにマッピングすることができる。例えば、第1のユーザの意図は、テレプレゼンスセッションにおいて第2のユーザと通信することであり得る(例えば、図9B参照)。典型的には、2人が、通信するとき、相互に向かい合う。第1のユーザのウェアラブルシステムの意図マッピングシステム694は、テレプレゼンスセッションの間に存在するそのような対面意図を決定することができ、第1のユーザのウェアラブルシステムに、第2のユーザのアバタを第1のユーザに向かってレンダリングさせることができる。第2のユーザが、物理的に方向転換しようとする場合、第2のユーザのアバタを方向転換された位置にレンダリングする代わりに(第2のユーザのアバタの背面を第1のユーザに対してレンダリングさせるであろう)、第1のユーザの意図マッピングシステム694は、第2のアバタの顔を第1のユーザに対してレンダリングし続けることができ、これは、テレプレゼンスセッションの推測される意図(例えば、本実施例では、対面意図)である。
刺激応答システム696は、環境内の関心オブジェクトを識別し、関心オブジェクトに対するアバタの応答を決定することができる。例えば、刺激応答システム696は、アバタの環境内の音源を識別し、音源を見るようにアバタを自動的に方向転換させることができる。刺激応答システム696はまた、閾値終了条件を決定することができる。例えば、刺激応答システム696は、音源が消失した後またはある時間周期が経過した後、アバタをそのオリジナル姿勢に戻させることができる。
解剖学的構造調節システム698は、生物学的特徴に基づいて、ユーザの姿勢を調節するように構成されることができる。例えば、解剖学的構造調節システム698は、違和感曲線に基づいて、ユーザの頭部とユーザの胴体との間またはユーザの上半身と下半身との間の相対的位置を調節するように構成されることができる。
3Dモデル処理システム680は、仮想アバタ670をアニメーション化し、ディスプレイ220にレンダリングさせるように構成されることができる。3Dモデル処理システム680は、仮想キャラクタ処理システム682と、移動処理システム684とを含むことができる。仮想キャラクタ処理システム682は、ユーザの3Dモデルを生成および更新するように構成されることができる(仮想アバタを作成およびアニメーション化するため)。移動処理システム684は、例えば、アバタの姿勢を変化させることによって、アバタをユーザの環境内で移動させることによって、またはアバタの顔の表情をアニメーション化することによって等、アバタをアニメーション化するように構成されることができる。図10を参照してさらに説明されるであろうように、仮想アバタは、リギング技法(例えば、骨格系またはブレンドシェイプアニメーション技法)を使用して、アニメーション化されることができ、アバタは、2つの部分、すなわち、仮想アバタの外向き外観をレンダリングするために使用される表面表現(例えば、変形可能メッシュ)と、メッシュをアニメーション化するために相互接続された関節の階層セット(例えば、骨格)とにおいて表される。いくつかの実装では、仮想キャラクタ処理システム682は、表面表現を編集または生成するように構成されることができる一方、移動処理システム684は、アバタを移動させる、メッシュを変形させる等によって、アバタをアニメーション化するために使用されることができる。
ユーザの環境をマッピングする実施例
図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におけるユーザの種々のオブジェクトおよび他の周囲に関連して、適切な配向、位置等において表示されてもよい。
複数のウェアラブルシステム間の例示的通信
図9Aは、相互に相互作用する複数のユーザデバイスを描写する、全体的システム図を図式的に図示する。コンピューティング環境900は、ユーザデバイス930a、930b、930cを含む。ユーザデバイス930a、930b、および930cは、ネットワーク990を通して、相互に通信することができる。ユーザデバイス930a-930cはそれぞれ、ネットワークインターフェースを含み、ネットワーク990を介して、遠隔コンピューティングシステム920(また、ネットワークインターフェース971を含んでもよい)と通信することができる。ネットワーク990は、LAN、WAN、ピアツーピアネットワーク、無線、Bluetooth(登録商標)、または任意の他のネットワークであってもよい。コンピューティング環境900はまた、1つまたはそれを上回る遠隔コンピューティングシステム920を含むことができる。遠隔コンピューティングシステム920は、クラスタ化され、異なる地理的場所に位置する、サーバコンピュータシステムを含んでもよい。ユーザデバイス930a、930b、および930cは、ネットワーク990を介して、遠隔コンピューティングシステム920と通信してもよい。
遠隔コンピューティングシステム920は、遠隔データリポジトリ980を含んでもよく、これは、具体的ユーザの物理および/または仮想世界についての情報を維持することができる。データ記憶装置980は、ユーザ、ユーザの環境(例えば、ユーザの環境の世界マップ)、またはユーザのアバタの構成に関連する情報を記憶することができる。遠隔データリポジトリは、図2に示される遠隔データリポジトリ280の実施形態であってもよい。遠隔コンピューティングシステム920はまた、遠隔処理モジュール970を含んでもよい。遠隔処理モジュール970は、図2に示される遠隔処理モジュール970の実施形態であってもよい。遠隔処理モジュール970は、1つまたはそれを上回るプロセッサを含んでもよく、これは、ユーザデバイス(930a、930b、930c)および遠隔データリポジトリ980と通信することができる。プロセッサは、ユーザデバイスおよび他の源から取得される情報を処理することができる。いくつかの実装では、処理または記憶の少なくとも一部は、ローカル処理およびデータモジュール260(図2に示されるように)によって提供されることができる。遠隔コンピューティングシステム920は、所与のユーザが、具体的ユーザ自身の物理的および/または仮想世界についての情報を別のユーザと共有することを可能にしてもよい。
ユーザデバイスは、単独で、または組み合わせて、ウェアラブルデバイス(HMDまたはARD等)、コンピュータ、モバイルデバイス、または任意の他のデバイスであってもよい。例えば、ユーザデバイス930bおよび930cは、図2に示されるウェアラブルシステム200(または図4に示されるウェアラブルシステム400)の実施形態であってもよく、これは、AR/VR/MRコンテンツを提示するように構成されることができる。
ユーザデバイスのうちの1つまたはそれを上回るものは、図4に示されるユーザ入力デバイス466と併用されることができる。ユーザデバイスは、ユーザおよびユーザの環境についての情報を取得することができる(例えば、図4に示される外向きに面した結像システム464を使用して)。ユーザデバイスおよび/または遠隔コンピューティングシステム1220は、ユーザデバイスから取得される情報を使用して、画像、点、および他の情報の集合を構築、更新、および建造することができる。例えば、ユーザデバイスは、入手された未加工情報を処理し、さらなる処理のために、処理された情報を遠隔コンピューティングシステム1220に送信してもよい。ユーザデバイスはまた、処理のために、未加工情報を遠隔コンピューティングシステム1220に送信してもよい。ユーザデバイスは、処理された情報を遠隔コンピューティングシステム1220から受信し、ユーザに投影させる前に、最終処理を提供してもよい。ユーザデバイスはまた、取得された情報を処理し、処理された情報を他のユーザデバイスにパスしてもよい。ユーザデバイスは、入手された情報を処理しながら、遠隔データリポジトリ1280と通信してもよい。複数のユーザデバイスおよび/または複数のサーバコンピュータシステムが、入手された画像の構築および/または処理に関与してもよい。
物理的世界に関する情報は、経時的に展開されてもよく、異なるユーザデバイスによって収集される情報に基づいてもよい。仮想世界のモデルはまた、経時的に展開され、異なるユーザの入力に基づいてもよい。そのような情報およびモデルは、時として、本明細書では、世界マップまたは世界モデルと称され得る。図6および7を参照して説明されるように、ユーザデバイスによって入手された情報は、世界マップ910を構築するために使用されてもよい。世界マップ910は、図6Aに説明されるマップ620の少なくとも一部を含んでもよい。種々のオブジェクト認識装置(例えば、708a、708b、708c…708n)が、オブジェクトおよびタグ画像を認識するため、および意味論情報をオブジェクトに付加するために使用されてもよい。これらのオブジェクト認識装置はまた、図7に説明される。
遠隔データリポジトリ980は、データを記憶し、世界マップ910の構造を促進するために使用されることができる。ユーザデバイスは、ユーザの環境についての情報を常に更新し、世界マップ910についての情報を受信することができる。世界マップ910は、ユーザまたは別の人物によって作成されてもよい。本明細書に議論されるように、ユーザデバイス(例えば、930a、930b、930c)および遠隔コンピューティングシステム920は、単独で、または組み合わせて、世界マップ910を構築および/または更新してもよい。例えば、ユーザデバイスは、遠隔処理モジュール970および遠隔データリポジトリ980と通信してもよい。ユーザデバイスは、ユーザおよびユーザの環境についての情報を入手または処理してもよい。遠隔処理モジュール970は、遠隔データリポジトリ980およびユーザデバイス(例えば、930a、930b、930c)と通信し、ユーザおよびユーザの環境についての情報を処理してもよい。遠隔コンピューティングシステム920は、例えば、ユーザの画像を選択的にクロッピングする、ユーザの背景を修正する、仮想オブジェクトをユーザの環境に追加する、ユーザの発話に補助情報で注釈を付ける等、ユーザデバイス(例えば、930a、930b、930c)によって入手された情報を修正することができる。遠隔コンピューティングシステム920は、処理された情報を同一または異なるユーザデバイスに送信することができる。
テレプレゼンスセッションの実施例
図9Bは、個別のウェアラブルシステムの2人のユーザがテレプレゼンスセッションを行っている、実施例を描写する。2人のユーザ(本実施例では、AliceおよびBobと命名される)が、本図に示される。2人のユーザは、その個別のウェアラブルデバイス902および904を装着しており、これは、テレプレゼンスセッションにおいて他のユーザの仮想アバタを表すために、図2を参照して説明される、HMD(例えば、システム200のディスプレイデバイス220)を含むことができる。2人のユーザは、ウェアラブルデバイスを使用して、テレプレゼンスセッションを行うことができる。2人のユーザを分離する、図9Bにおける垂直線は、AliceおよびBobが、テレプレゼンスを介して彼らが通信する間、2つの異なる場所に存在し得る(但し、その必要はない)(例えば、Aliceは、Atlantaにおけるそのオフィス内に存在し得る一方、Bobは、Bostonの屋外に存在する)ことを図示するように意図されることに留意されたい。
図9Aを参照して説明されるように、ウェアラブルデバイス902および904は、相互または他のユーザデバイスおよびコンピュータシステムと通信してもよい。例えば、Aliceのウェアラブルデバイス902は、例えば、ネットワーク990(図9Aに示される)を介して、Bobのウェアラブルデバイス904と通信してもよい。ウェアラブルデバイス902および904は、ユーザの環境および環境内の移動(例えば、個別の外向きに面した結像システム464または1つまたはそれを上回る場所センサを介して)および発話(例えば、個別のオーディオセンサ232を介して)を追跡することができる。ウェアラブルデバイス902および904はまた、内向きに面した結像システム462によって入手されたデータに基づいて、ユーザの眼移動または視線を追跡することができる。いくつかの状況では、ウェアラブルデバイスはまた、ユーザが反射性表面の近傍に存在する場合、ユーザの顔の表情または他の身体移動(例えば、腕または脚部移動)を捕捉または追跡することができ、外向きに面した結像システム464は、ユーザの反射された画像を取得し、ユーザの顔の表情または他の身体移動を観察することができる。
ウェアラブルデバイスは、第1のユーザおよび環境の入手された情報を使用して、第2のユーザのウェアラブルデバイスによってレンダリングされ、第2のユーザの環境内における第1のユーザの存在の有形感覚を作成するであろう、仮想アバタをアニメーション化することができる。例えば、ウェアラブルデバイス902および904および遠隔コンピューティングシステム920は、単独で、または組み合わせて、Bobのウェアラブルデバイス904による提示のために、Aliceの画像または移動を処理してもよい、またはAliceのウェアラブルデバイス902による提示のために、Bobの画像または移動を処理してもよい。本明細書にさらに説明されるように、アバタは、例えば、ユーザの意図、ユーザの環境またはその中にアバタがレンダリングされる環境、またはヒトの他の生物学的特徴等のコンテキスト情報に基づいて、レンダリングされることができる。
実施例は、2人のみのユーザを参照するが、本明細書に説明される技法は、2人のユーザに限定されるべきではない。ウェアラブルデバイス(または他のテレプレゼンスデバイス)を使用する、複数のユーザ(例えば、2人、3人、4人、5人、6人、またはそれを上回る)が、テレプレゼンスセッションに参加してもよい。特定のユーザのウェアラブルデバイスは、テレプレゼンスセッションの間、その特定のユーザに、他のユーザのアバタを提示することができる。さらに、本図における実施例は、環境内に立っているユーザを示すが、ユーザは、立っているように要求されない。ユーザのいずれかは、テレプレゼンスセッションの間、立っている、座っている、膝をついている、横になっている、歩いている、または走っていてもよい、または任意の位置または移動状態にあってもよい。ユーザはまた、本明細書の実施例に説明される以外の物理的環境内に存在してもよい。ユーザは、テレプレゼンスセッションを行っている間、別個の環境内に存在してもよい、または同一環境内に存在してもよい。全てのユーザが、テレプレゼンスセッションにおいて、その個別のHMDを装着することが要求されるわけではない。例えば、Aliceは、ウェブカメラおよびコンピュータ画面等の他の画像入手およびディスプレイデバイスを使用してもよい一方、Bobは、ウェアラブルデバイス904を装着する。
仮想アバタの実施例
図10は、ウェアラブルシステムのユーザによって知覚されるようなアバタの実施例を図示する。図10に示される例示的アバタ1000は、部屋内の物理的植物の背後に立っている、Alice(図9Bに示される)のアバタであることができる。アバタは、例えば、サイズ、外観(例えば、皮膚色、顔色、髪型、衣類、顔特徴(例えば、しわ、ほくろ、しみ、にきび、えくぼ等))、位置、配向、移動、姿勢、表現等の種々の特性を含むことができる。これらの特性は、アバタと関連付けられるユーザに基づいてもよい(例えば、Aliceのアバタ1000は、実際の人物Aliceの一部または全部の特性を有してもよい)。本明細書にさらに説明されるように、アバタ1000は、コンテキスト情報に基づいて、アニメーション化されることができ、これは、アバタ1000の特性のうちの1つまたはそれを上回るものに対する調節を含むことができる。概して、人物(例えば、Alice)の物理的外観を表すように本明細書に説明されるが、これは、限定ではなく、例証のためのものである。Aliceのアバタは、Alice以外の別の実際または架空のヒト、擬人化されたオブジェクト、創造物、または任意の他の実際または架空の表現を表し得る。さらに、図10における植物は、物理的である必要はなく、ウェアラブルシステムによってユーザに提示される植物の仮想表現であり得る。また、図10に示されるものの付加的または異なる仮想コンテンツも、ユーザに提示され得る。
アバタをアニメーション化するための例示的制御システム
図6Bを参照して説明されるように、アバタは、リギング技法を使用して、ウェアラブルシステムによって、アニメーション化されることができる。リギングの目標は、単純なヒトによって理解可能な制御に基づいて、アバタの魅力的で高忠実性の変形を提供することである。概して、最も人を引き付ける変形は、少なくとも部分的に、実世界サンプル(例えば、身体移動、関節運動、顔のゆがみ、表現等を実施する、実際のヒトの写真測量走査)または芸術指向的展開(実世界サンプリングに基づいてもよい)に基づく。複合現実環境におけるアバタのリアルタイム制御は、図6Bを参照して説明される、アバタ処理およびレンダリングシステム690の実施形態によって提供されることができる。
リギングは、アバタの身体の変形(例えば、顔のゆがみ)についての情報をメッシュ上に転写するための技法を含む。メッシュは、3D点(例えば、頂点)の集合であって、これらの頂点を共有する、ポリゴンのセットを伴うことができる。図10は、アバタ1000の眼の周囲のメッシュ1010の実施例を示す。メッシュをアニメーション化することは、頂点の一部または全部を3D空間内の新しい位置に移動させることによって、メッシュを変形させることを含む。これらの位置は、リグ(下記に説明される)の下層骨の位置または配向によって、または顔の表情等のアニメーションのための時間または他の状態情報によってパラメータ化されたユーザ制御を通して、影響されることができる。メッシュのこれらの変形のための制御システムは、多くの場合、リグと称される。図6Bの例示的アバタ処理およびレンダリングシステム690は、3Dモデル処理システム680を含み、これは、リグを実装することができる。
独立して、各頂点を移動させ、所望の変形を達成することは、非常に時間がかかり、労力集約的であり得るため、リグは、典型的には、メッシュを制御することをより容易にする、コンピュータ化されたコマンドとして、一般的な望ましい変形を提供する。映画等の最高仕様視覚効果生産に関しては、リグが、大量の数学的算出を実施し、高度に現実的アニメーション効果を達成するための十分な生産時間が存在し得る。しかし、リアルタイムアプリケーション(複合現実において等)に関しては、変形の速さは、非常に有利であり得、異なるリギング技法が、使用されてもよい。リグは、多くの場合、骨格系および/またはブレンドシェイプに依拠する、変形を利用する。
例示的骨格系
骨格系は、階層内の関節の集合としての変形を表す。関節(骨とも呼ばれる)は、主に、平行移動、回転、およびスケールの変化を含む、空間内の変換を表す。関節の半径および長さも、表され得る。骨格系は、関節間の親-子関係を表す、階層であって、例えば、肘関節は、肩の子であって、手首は、肘関節の子である。子関節は、子関節が親の変換を継承するように、その親の関節に対して変換することができる。例えば、肩を移動させることは、指の先端までの全ての関節を移動させる結果をもたらす。その名称にもかかわらず、骨格は、実世界の骨格を表す必要はなく、メッシュの変形を制御するためにリグ内で使用される階層を説明することができる。例えば、髪は、系統内の一連の関節として表されることができ、アバタの顔のゆがみに起因する皮膚運動(例えば、笑顔になる、眉を顰める、笑う、発話する、瞬目等のアバタの表現を表す)は、顔リグによって制御される一連の顔関節によって表されることができ、筋肉変形は、関節によってモデル化されることができ、衣類の運動は、関節のグリッドによって表されることができる。
骨格系は、アバタの生物学的骨格に類似し得る、低レベル(いくつかの状況では、低次とも称される)コア骨格を含むことができる。本コア骨格は、解剖学的に正しい骨の実際のセットに正確にマッピングされ得ないが、少なくとも類似配向および場所における骨のサブセットを有することによって、骨の実際のセットに類似することができる。例えば、鎖骨は、接地面と略平行であって、大まかには、頸部と肩との間に位置し得、正確に同一の長さまたは位置ではなくてもよい。筋肉、衣類、髪等を表す、より高次の関節構造は、低レベル骨格の上に層化されることができる。リグは、コア骨格のみをアニメーション化してもよく、より高次の関節構造は、例えば、スキニング技法(例えば、線形ブレンドスキニング(LBS)等の頂点加重方法)を使用して、コア骨格のアニメーションに基づいて、リギング論理によって、アルゴリズム的に駆動されることができる。リアルタイムリギングシステム(アバタ処理およびレンダリングシステム690等)は、3Dモデル処理システム680による効率的リアルタイム処理を提供するために、所与の頂点に割り当てられ得る関節の数(例えば、8つまたはより少ない)に関して限界を課してもよい。
ブレンドシェイプ
ブレンドシェイプは、一部または全部の頂点が、加重に基づいて、所望の量だけ3D空間内で移動される、メッシュの変形を含む。各頂点は、具体的ブレンドシェイプ標的のためのその独自のカスタム運動を有し得、頂点を同時に移動させることは、所望の形状を生成するであろう。ブレンドシェイプの程度は、ブレンドシェイプ加重を使用することによって、適用されることができる。リグは、組み合わせて、ブレンドシェイプを適用し、所望の変形を達成してもよい。例えば、笑顔を生産するために、リグは、口角を引っ張り、上唇を上昇させ、下唇を低下させ、眼、眉、鼻、およびえくぼを移動させるため、ブレンドシェイプを適用してもよい。
例示的リギング技法
リグは、多くの場合、層内に構築され、より下層のより単純である層は、より高次の層を駆動し、これは、より現実的メッシュ変形を生産する。リグは、リギング制御論理によって駆動される、骨格系およびブレンドシェイプの両方を実装することができる。制御論理は、関節間の制約(例えば、具体的移動または親-子関節制約を提供するための照準、配向、および位置制約)、動態(例えば、髪および衣類のため)、姿勢ベースの変形(骨格の姿勢が、定義された姿勢からの距離に基づいて、変形を駆動するために使用される、PSD)、所望のより高いレベルの出力(例えば、顔の表情)が(骨格系またはブレンドシェイプの)より低いレベルの入力のセットから学習される、機械学習技法(例えば、図7を参照して説明されるもの)等を含むことができる。いくつかの機械学習技法は、放射基底関数(RBF)を利用することができる。
いくつかの実施形態では、3Dモデル処理システム680は、アバタを複合現実環境内にリアルタイムでアニメーション化し、(MRシステムのユーザと)双方向にさせ、適切なコンテキストアバタ挙動(例えば、意図ベースの挙動)をユーザの環境内に提供する。システム680は、アバタのより高いレベルの変形(例えば、ブレンドシェイプ、補正)を制御し、アバタの所望の移動および表現を生産する、表現、制約、変換(例えば、平行移動、回転、スケーリング、剪断等の3D空間内の頂点の移動)等のシステムをさらに駆動する、コア骨格階層を備える、層化アバタ制御システムを駆動してもよい。
仮想アバタを環境内に現実的かつ動的にレンダリングすることの例示的問題
図11A-11Dは、仮想アバタが、不自然な外観を有する、または非現実的相互作用を生じさせ得る、種々の環境内のアバタの例示的場面を図示する。アバタ1100は、Bobのアバタであってもよい。図9Bを参照して説明されるように、アバタ1100は、例えば、意図、姿勢、移動、表現、またはアクションを含む、Bobの特性に基づいて、アニメーション化されてもよい。
図11Aは、3人のユーザ1112、1114、および1116が、テレプレゼンスセッションの間、アバタ1100と相互作用する、例示的場面1102を図示する。しかしながら、示されるように、本実施例では、Bobのアバタ1100は、3人のユーザ1112、1114、および1116と比較して、比較的に小さく、これは、ヒトが、多くの場合、アイコンタクトおよび近似眼の高さを相互に維持しながら、相互に通信することが最も快適であると感じるため、ぎこちない相互作用につながり得る。したがって、アバタと3人のユーザとの間の通視線における差異に起因して、3人のユーザは、アバタ1100を見る、または会話におけるソーシャル動態を維持(または改変)するために、自らを不快な位置において姿勢をとる必要があり得る。例えば、ユーザ1112は、アバタの眼を見るために、膝をついており、ユーザ1114は、アバタを見下ろしており、ユーザ1116は、その身体を前方に屈曲させ、アバタ1100との会話に従事している。不適切にサイズ決めされたアバタによって生じる、ユーザの物理的疲労を低減させるために、有利なこととして、いくつかの実装では、ウェアラブルシステムは、例えば、他のユーザの眼の高さレベル等のコンテキスト情報に基づいて、アバタを自動的にスケーリングし、アバタのサイズを増加または減少させることができる。そのような調節は、アバタと他者との間の直接アイコンタクトを増加または最大限にする様式において実装され、したがって、アバタ-ヒト通信を促進することができる。例えば、アバタは、ウェアラブルデバイスが、アバタの頭部を視認者の眼レベルにレンダリングし得、したがって、ユーザが、アバタと相互作用する間、物理的疲労を体験する必要がなくなり得るように、スケーリングされることができる。コンテキスト情報に基づいてアバタを動的にスケーリングする詳細な説明および実施例はさらに、図12A-18Bを参照して説明される。
図6Bおよび10を参照して説明されるように、ユーザのアバタは、ユーザの特性に基づいて、アニメーション化されることができる。しかしながら、アバタの特性の中へのユーザの特性の1対1のマッピングは、不自然なユーザ相互作用をもたらす、またはユーザの誤ったメッセージまたは意図を視認者に伝達し得るため、問題となり得る。図11B-11Dは、1対1のマッピング(ユーザとアバタとの間のアニメーション化)が問題をもたらし得る、いくつかの例示的シナリオを図示する。
図11Bは、テレプレゼンスセッションの間、BobがCharlieに話しかけている、場面を図示する。本図における場面は、2つの環境1120aおよび1120bを含む。環境1120aは、Bobが常駐する、場所である。環境1120bは、Charlie1118が常駐し、物理的テーブル1122を含み、Charlie1118がテーブル1122の隣の椅子に着座している、場所である。Charlie1118は、例えば、ディスプレイ220を介して、Bobのアバタ1100を知覚することができる。環境1120a内では、Bobは、西に向いている(座標1128によって示されるように)。Bobのアバタ1100をアニメーション化するために、図11Bでは、Bob914の特性が、Bobのアバタ1100に1対1であるようにマッピングされる。しかしながら、本マッピングは、Charlieの環境を考慮せず、アバタ1100との不自然または違和感のあるユーザ相互作用体験もたらすため、問題となる。例えば、Bobのアバタは、Charlie1118が椅子に着座しているため、Charlie1118より背が高く、Charlie1118は、Bobのアバタ1100との通信を維持するために、その頸部を歪ませる必要があり得る。別の実施例として、Bobのアバタ1100は、Bobが西に向いているため、西に向いている。しかしながら、Charlie1118は、Bobのアバタ1100の東に存在する。したがって、Charlie1118は、Bobのアバタの背面を知覚し、Bobのアバタ1100によって反映されるようなBobの顔の表情を観察することができない。Charlieに対する本Bobのアバタ1100の配向はまた、BobがCharlieとフレンドリーに会話することを意図している場合でも、不正確なソーシャルメッセージ(例えば、BobがCharlieと関わることを所望していない、またはBobがCharlieに怒っている)を伝達し得る。
図11Cは、Bobのアバタ1100がCharlie1118の環境内の物理的オブジェクトを考慮せずにレンダリングされる、場面を図示する。本場面は、2つの環境1130aおよび1130bを図示する。Bobは、環境1130a内に位置し、Charlieは、環境1130b内に存在する。図示されるように、Bobは、環境1130a内の椅子1124に着座している。本実施例に図示される、Bobの姿勢とBobのアバタの姿勢の1対1のマッピングに起因して、Bobのアバタ1100もまた、Charlieの環境1130b内において着座姿勢でレンダリングされる。しかしながら、Charlieの環境には、椅子が存在しない。その結果、Bobのアバタ1100は、空中に着座しているようにレンダリングされ、これは、Bobのアバタ1100の不自然な外観をもたらし得る。
図11Dは、1対1のマッピングが仮想アバタの非現実的移動を生じさせる、例示的場面を図示する。図11Dにおける場面は、2つの環境1140aおよび1140bを図示する。Bobは、その環境1140a内において東に向かって移動している。Bobの移動1142をBobのアバタ1100がレンダリングされる環境1140bにマッピングするために、Bobのアバタ1100もまた、東に向かって移動する(例えば、位置1142aから位置1142bに)。しかしながら、環境1140bは、テーブル1126を有する。Bob1142の移動をBobのアバタ1100の移動に直接マッピングすることによって、Bobのアバタ1100は、テーブルの中に直線に移動し、テーブル1126に捕えられるように現れ、これは、Bobのアバタ1100の不自然かつ非現実的移動および外観をもたらす。
有利なこととして、いくつかの実装では、ウェアラブルシステム200は、アバタが表示される環境に関連するコンテキスト情報に基づいて、アバタをレンダリングする、またはユーザの意図を伝達するように構成されることができ(直接の1対1のマッピングではなく)、したがって、アバタによる不自然なまたは非現実的外観または相互作用を回避し得る。例えば、ウェアラブルシステム200は、コンテキスト情報およびBobのアクションを分析し、Bobのアクションの意図を決定することができる。ウェアラブルシステム200は、Bobのアクションおよびその中にBobのアバタがレンダリングされるべき環境についてのコンテキスト情報に照らして、Bobのアバタの特性を調節し、Bobの意図を反映させることができる。
例えば、図11Bを参照すると、西向きに向くようにアバタ1100をレンダリングするのではなく、ウェアラブルシステム200は、Bobが、通常、対面で生じる、フレンドリーな様式において、Charlie1118と会話することを意図するため、Charlie1118に向くようにアバタを方向転換させることができる。しかしながら、Bobが、Charlie1118に怒っている(例えば、Bobのシステム上のマイクロホンによって検出されるようなBobの発話のトーン、内容、音量、またはBobの顔の表情によって決定されるように)場合、ウェアラブルシステム200は、BobがCharlie1118から外方を向くように、Bob914の配向を保つことができる。
別の実施例として、Bobのアバタ1100を空中に着座しているようにレンダリングする(図11Cに示されるように)のではなく、ウェアラブルシステム200は、Charlieの環境内に着座するために好適な水平表面を伴うオブジェクト(例えば、ベッドまたはソファ)を自動的に識別することができ、識別された表面上に(空中ではなく)着座しているようにBobのアバタ1100をレンダリングすることができる。Charlieの環境1130b内に、Bobのアバタ1100が着座し得る場所が存在しない場合(例えば、全ての椅子が、ヒトまたは他のアバタのいずれかによって占有されている、または着座可能表面が存在しない)、ウェアラブルシステムは、代わりに、Bobのアバタを立っているようにレンダリングする、または仮想アバタが着座するための仮想椅子をレンダリングしてもよい。
さらに別の実施例として、図11Dを参照すると、テーブルの中に、またはそれを通して歩行するようにBobのアバタをレンダリングするのではなく、ウェアラブルシステムは、環境1140b内のBobのアバタのルート上の障害物として、テーブル1126の存在を検出することができる(例えば、環境1140bの世界マップ910に基づいて、または環境1140b内の視認者のウェアラブルデバイスの外向きに面した結像システム464によって入手された画像に基づいて)。ウェアラブルシステム200は、故に、テーブル1126を迂回する、またはテーブルに先立って、停止するように、アバタ1100のルートを変更することができる。意図ベースのレンダリングに関連するさらなる詳細は、図14-22を参照して説明される。
仮想アバタの意図ベースのレンダリングの実施例
図11B-11Dを参照して説明されるように、ユーザ相互作用(例えば、頭部または身体姿勢、ジェスチャ、移動、眼視線等)のアバタアクションとの1対1のマッピングは、アバタがレンダリングされる環境内で意味を成さない、ぎこちないまたは異常な結果をもたらし得るため、問題となり得る。有利なこととして、いくつかの実施形態では、ウェアラブルシステム200は、相互作用のどの部分が、遠隔環境内では異なり得る、世界成分(例えば、移動または関心オブジェクトとの相互作用)であって、相互作用のどの部分が、環境との相互作用を要求しない、ローカル成分(例えば、点頭による「はい」または「いいえ」等)であるかを決定することができる。ウェアラブルシステム200(例えば、アバタ処理およびレンダリングシステム690または意図マッピングシステム694等)は、ユーザ相互作用を2つの部分、すなわち、世界成分と、ローカル成分とに分解することができる。世界成分は、世界成分の意図が、保存されるが、意図を行うためのアバタのアクションが、他のユーザの環境内で修正され得る(例えば、異なるルート上を歩行する、異なるオブジェクト上に着座する、異なる方向に向くこと等によって)ように、ユーザの意図に基づいて、他のユーザの環境内にレンダリングされることができる(アバタのために)。ローカル成分は、ローカル運動が保存されるように、バックチャネル通信としてレンダリングされることができる。
実施例として、Aliceは、その環境内で能動的に動き回り得、ウェアラブルシステムは、その平行移動運動の一部をBobの環境(その中にAliceのアバタがレンダリングされる)に伝達してもよい。ウェアラブルシステムは、Aliceの移動をAliceの世界フレーム内で再解釈し、ユーザの意図によって提案されるように、Bobの世界フレーム内の運動に合致させることができる。例えば、Aliceは、Aliceの環境内のBobのアバタに向かって前方に歩行し得る。AliceおよびBobの頭部姿勢からの意図を分解することは、ウェアラブルシステムが、AliceおよびBobの環境のそれぞれ内の「前方」である方向を決定することを可能にすることができる。別の実施例として、Aliceが、椅子まで歩いて行き、着座する場合、Bobの環境内に椅子が存在せず、Aliceのアバタが、突然、空中に着座する場合、異常に見えるであろう。ウェアラブルシステムは、物理的場所、すなわち、Bobの環境内の着座可能表面の高さが、Aliceが着座するものと異なる場合でも、Aliceの運動(着座)の意図に焦点を当て、Bobの環境内の「着座可能」表面(椅子、ソファ等であってもよい)を識別し、Aliceのアバタを着座可能表面に移動させ、着座可能表面上に着座するようにアバタをレンダリングするように構成されることができる。別の実施例として、Aliceは、Bobのアバタを見下ろしている場合がある一方、遠隔環境内では、Bobは、Aliceのアバタを見上げている場合がある。
ある実装では、そのような意図の再マッピングは、リアルタイムで生じ得る(例えば、2人のユーザが、アバタのヒト対応者が相互作用を実施する、テレプレゼンスセッションを行っているとき)。他の状況では、再マッピングは、リアルタイムで生じなくてもよい。例えば、アバタは、メッセンジャとしての役割を果たし、メッセージをユーザに送達し得る。本状況では、アバタの再マッピングは、メッセージが作成または送信されるのと同時に生じる必要はなくなり得る。むしろ、アバタの再マッピングは、アバタがメッセージを送達するとき(例えば、ユーザがウェアラブルデバイスをオンにするとき等)、生じ得る。再マッピングは、メッセージを送達するとき、アバタにユーザ(空間内のランダム場所ではなく)を見るようにさせてもよい。意図に基づいて、世界運動をレンダリングすることによって、ウェアラブルシステムは、有利なこととして、不自然なヒト-アバタ相互作用の尤度を低減させることができる。
コンテキスト情報に基づいて仮想アバタをスケーリングする実施例
図11Aを参照して説明されるように、不適切にスケーリングされたアバタは、アバタの視認者にとって、物理的疲労をもたらし得、アバタとユーザとの間の不適切なソーシャル相互作用の尤度を増加させ得る。例えば、アバタを不適切にスケーリングすることは、ユーザにとって、不快感または痛み(例えば、頸部痛)を被り得る(例えば、ユーザが、アバタを見上げる、または見下ろす必要があるため)。そのような不適切なスケーリングはまた、ユーザにとって、ぎこちないソーシャル動態を提供し得る。実施例として、不適切にサイズ決めされたアバタ(例えば、視認者より背が低いアバタ)は、視認者の身体の不適切なまたは不適当な領域を見ているようにレンダリングされ得る。別の実施例として、ユーザとアバタとの間の異なる通視線または眼レベルは、社会的劣等感または優越感を不適切に含意し得る。
例えば、フレンドリーな会話では、ユーザの眼は、典型的には、他のユーザの顔のソーシャルトライアングルと呼ばれる領域に向かって指向される。ソーシャルトライアングルは、ユーザの眼とユーザの口の頂点との間の線上の第1の辺を用いて形成される。ソーシャルトライアングル内のアイコンタクトは、フレンドリーかつ中立であると見なされる一方、ソーシャルトライアングル外に指向される眼視線は、力の不平衡(例えば、他方の人物の前額に向かって、ソーシャルトライアングルの上方に指向される眼視線)、怒り、または会話が深刻であることを伝達し得る。したがって、視認者より背が高くレンダリングされたアバタは、視認者のソーシャルトライアングルの上方の領域を見ていると見なされる傾向にあり得、これは、視認者にとって、アバタが視認者より優れているという心理学的効果をもたらし得る。したがって、アバタの正しくないサイズ決めは、会話の実際のヒト参加者間に意図されていない、ヒトとアバタとの間のぎこちないまたは不快な敵対心につながり得る。
いくつかのウェアラブルデバイスでは、ユーザは、アバタのサイズが快適な高さであるように、アバタを手動でスケーリングすることができる。しかしながら、そのような手動制御は、完了するまでにより多くの時間がかかり、ユーザが精緻化された調節をアバタに行うことを要求し得、これは、ユーザの筋肉疲労を生じさせ、ユーザからより専門的制御を要求し得る。他のウェアラブルデバイスは、1:1スケールをアバタとユーザとの間に維持することを模索する、スケーリング方法を使用し得る(例えば、アバタは、ユーザと同一高さに自動的にスケーリングされる)。しかしながら、本技法は、アバタが、その上にユーザが、座っている、または立っている、表面より高い表面上に立っている(例えば、アバタがユーザの頭部を越えて見る)場合、不適切な通視線を生産し得る。
有利なこととして、いくつかの実施形態では、ウェアラブルシステム200は、環境内のアバタのレンダリング位置および環境内のユーザの位置または眼の高さに関するコンテキスト情報に基づいて、仮想アバタを自動的にスケーリングすることができる。ウェアラブルシステム200は、例えば、単独で、または組み合わせて、アバタのレンダリング場所、ユーザの位置、ユーザの高さ、ユーザとアバタとの間の相対的位置、アバタがその上にレンダリングされるであろう表面の高さ、ユーザが、その上に立っている、または座っている、表面の高さ等のコンテキスト要因に基づいて、仮想アバタのサイズを計算することができる。ウェアラブルシステム200は、アバタが、少なくとも部分的に、そのようなコンテキスト要因に基づいて、適切な高さを伴ってレンダリングされるように、アバタの初期レンダリング(スポーンと呼ばれる)を行うことができる。ウェアラブルシステム200はまた、例えば、アバタまたはユーザが環境内で動き回るにつれて等、コンテキスト情報の変化に応答して、仮想アバタのサイズを動的にスケーリングすることができる。
例えば、アバタをスポーンすることに先立って、またはその時点で、ウェアラブルシステムは、ユーザの頭部の高さ(したがって、眼が、典型的には、頭部の上部と底部との間のほぼ途中または頭部の上部の約4~6インチ下方にあるため、眼の高さ)を決定し、アバタのベース表面から(例えば、アバタがその上にスポーンされるであろう表面)ユーザの眼の高さまでの距離を算出することができる。本距離は、その結果として生じる頭部および通視線がユーザと同一高さであるように、アバタをスケーリングするために使用されることができる。ウェアラブルシステムは、環境表面(例えば、ユーザがその上に存在する表面、またはアバタがその上にスポーンされるであろう表面)を識別し、これらの表面またはユーザとアバタ表面との間の相対的高低差に基づいて、アバタ高さを調節することができる。例えば、ウェアラブルシステムは、床を走査し、床平面に対する頭部の高さを測定することができる。ウェアラブルシステムは、ユーザの頭部姿勢を決定し(例えば、IMUからのデータを介して)、ユーザの頭部姿勢または環境および頭部姿勢の両方によって共有される共通座標系に対する環境表面を算出することができる。本情報に基づいて、ウェアラブルシステムは、アバタのサイズを計算し、ディスプレイ220に、アバタを環境上に重畳されるように表示させるように命令することができる。
ある実装では、ユーザが、環境内で動き回る(またはアバタが動き回る)につれて、ウェアラブルシステムは、ユーザの頭部姿勢および環境表面を持続的に追跡し、アバタが元々スポーンされたときと類似方式において、これらのコンテキスト要因に基づいて、アバタのサイズを動的に調節することができる。いくつかの実施形態では、(スポーン時またはアバタが移動するにつれてリアルタイムでのいずれかにおいて)アバタを自動的にスケーリングするためのこれらの技法は、有利なこととして、アバタをユーザのローカル環境内に設置するとき、頸部疲労を最小限にし、ユーザ-アバタ通信を促進し、ユーザが行う必要がある手動調節の量を最小限にしながら、直接アイコンタクトが行われることを可能にし、それによって、両参加者(例えば、アバタおよびその視認者)が、目と目を合わせて通信し、快適な双方向相互作用をもたらすことを可能にすることができる。
いくつかの実装では、ウェアラブルシステム200は、ユーザがアバタの自動の動的再スケーリングをオフにする(一時的または恒久的に)ことを可能にすることができる。例えば、ユーザが、テレプレゼンスセッションの間、頻繁に、起立および着座する場合、ユーザは、アバタが対応して再スケーリングされないことを所望し得、これは、ヒトが、会話の間、サイズを動的に変更しないため、不快な相互作用につながり得るためである。ウェアラブルシステムは、アバタスケーリングオプションの異なるモード間で切り替えるように構成されることができる。例えば、ウェアラブルシステムは、3つのスケーリングオプション、すなわち、(1)コンテキスト情報に基づく自動調節、(2)手動制御、および(3)1:1スケーリング(アバタが視認者またはそのヒト対応者と同一サイズにレンダリングされる)を提供してもよい。ウェアラブルシステムは、コンテキスト情報に基づいて自動的に調節可能であるように、デフォルト設定することができる。ユーザは、ユーザ入力(例えば、ユーザ入力デバイス466、姿勢、または手のジェスチャ等を介して等)に基づいて、本デフォルトオプションを他のオプションに切り替えることができる。他の実装では、ウェアラブルシステムは、アバタが、サイズを急激に変化させるのではなく、短時間周期(例えば、数秒~数十秒)にわたってサイズを平滑に変化させるようにレンダリングされたように、サイズ変化間で平滑に補間してもよい。
スケーリングされたアバタをスポーンする実施例
ウェアラブルシステムは、コンテキスト情報に基づいて、アバタを自動的にスケーリングし、アバタと視認者との間の目と目を合わせた通信を可能にすることができる。アバタの高さの計算は、視認者の環境の中へのアバタの初期スポーンに応じて実施されることができる。ウェアラブルシステムは、スポーン地点におけるアバタのレンダリング場所を識別することができる。アバタのレンダリング場所は、例えば、接地面、テーブル、椅子の着座表面等の水平支持プラットフォーム(または表面)であることができる。いくつかの状況では、支持プラットフォームは、水平ではなく、傾角または垂直であってもよい(ユーザが、例えば、横たわっている場合)。
ウェアラブルシステムは、ユーザの現在の頭部位置(ユーザが、立っている、または座っているかどうかにかかわらず)およびアバタのためのスポーン地点における水平支持プラットフォームの場所に基づいて、アバタの高さを計算することができる。ウェアラブルシステムは、アバタのサイズを調節するためのスケール係数を算出するために、本プラットフォームの上方の眼の推定される高さ(プラットフォームに対して垂直および垂直の距離であり得る)を算出することができる。プラットフォームの上方の眼の推定される高さは、眼とプラットフォームとの間の距離に基づくことができる。いくつかの実装では、ウェアラブルシステムは、眼レベルを算出することができ、これは、眼が真っ直ぐ見ているレベルの1D、2D、3D、または他の数学的表現であってもよい。アバタの推定される高さは、眼レベルとプラットフォームのレベルとの間の差異に基づいて、計算されることができる。
図12Aおよび12Bは、アバタが視認者と同一表面上にスポーンされる、アバタをスケーリングする2つの場面を図示する。図12Aにおける場面1200aは、不適切にスケーリングされたアバタを示す一方、図12Bにおける場面1200bは、視認者とほぼ同一の眼の高さを維持する、スケーリングされたアバタを示す。これらの2つの図では、例示的仮想アバタ1000は、Alice912のアバタであることができる一方、ユーザ914は、図9Bにおいて識別されるようなBobであってもよい。AliceおよびBobは両方とも、図2を参照して説明されるように、ウェアラブルデバイスを装着していてもよい。これらの実施例では、Bobは、接地面(接地面平面1214によって表されるように)上に立っている一方、Alice912のアバタもまた、本実施例では、接地面上にスポーンされるであろう。
図12Aは、Aliceのアバタ1000が、視認者(Bob)がAliceのアバタ1000と相互作用するとき、見下ろす必要があるほど小さい、実施例を図示する。Aliceのアバタ100およびBobの高さは、接地面平面1214の一部であり得る、共通接地面位置線1210から測定されることができる。接地面位置線1210は、接地面平面1214に沿って、ユーザ914の位置および仮想アバタ1000の位置を接続し得る。
図12Aはまた、Bob914の眼レベル(ユーザの眼線1206によって図示されるように)と、Bobの眼レベル1206の下方にある、アバタの眼レベル(アバタ眼線1228によって図示されるように)とを示す。アバタ眼線1228およびユーザの眼線1206は、接地面位置線1210と平行であって、それぞれ、仮想アバタ1000およびユーザ914の眼と交差するように示されるが、通視線を図示する、他のタイプの眼線または表現もまた、種々の実装では、可能性として考えられる。ユーザの眼線1206およびアバタ眼線1228はそれぞれ、対応する眼線を包含し、接地面平面1214と平行である、個別の平面(図示せず)に対応してもよい。ユーザの眼線1206およびアバタ眼線1228の一方または両方は、接地面平面1214と平行であってもよい。
アバタのサイズを決定するために、ウェアラブルシステム(例えば、アバタ処理およびレンダリングシステム690内のアバタ自動スケーラ692等)は、視認者914の高さおよびアバタ1000の高さ1224を計算することができる。アバタの高さおよび視認者の高さは、アバタおよびユーザの個別の眼線から、その上にアバタがレンダリングされ、その上に視認者が立っている、接地面表面1214に対して垂直に測定されることができる。図12Aに図示されるように、アバタの眼の高さ1224は、アバタ眼線1228と接地面位置線1210との間で決定されてもよい。同様に、ユーザの眼の高さ1202は、ユーザの眼線1206と接地面位置線1210との間で決定されてもよい。ユーザの眼の高さ1202は、図12Aに図示されるように、ユーザ914の眼と交差するが、しかしながら、他の実装では、ユーザ(またはアバタ)の高さは、ユーザ(またはアバタ)の頭部の上部またはある他の便宜的基準位置を基準とされてもよい。
ある実装では、本システムは、ユーザ914と仮想アバタ1000のレンダリング位置との間の距離1242を決定するように構成されてもよい。距離1242は、仮想アバタ1000をユーザ914のためのより快適な位置または見掛け深度に表示するために使用されてもよい。例えば、ウェアラブルシステムは、視認者がアバタのより良好なビューを有し得るように、アバタが視認者から比較的に離れている場合、アバタのサイズを増加させてもよい。
図12Aに示される実施例では、アバタ1000は、アバタの眼線1228がユーザの眼線1206より低いことから、ユーザの眼線1206がアバタの眼線1228と共線形に整合されないため、適切にサイズ決めされていない。これは、アバタ1000が、小さすぎ、Aliceのアバタと相互作用するために、Bobにその頭部を下向きに傾斜させることを示唆する。これは、アバタが視認者より背が低いことを示すが、アバタサイズはまた、アバタが視認者より背が高い場合も不適切であり得、これは、Aliceのアバタと相互作用するために、Bobにその頭部を上向きに傾斜させるであろう。
図12Bは、それらの個別の眼の高さが匹敵するという意味において、そのサイズがBobに対して適切にレンダリングされている、仮想アバタ1000を示す。本実施例では、仮想アバタ1000は、視認者914の眼の高さに基づいてスケーリングされる。仮想アバタ1000をスケーリングすることは、アバタ眼の高さ1224およびユーザの眼の高さ1202を合致させることを含んでもよい。
アバタ特性の選択のためのコンテキスト要因を分析する実施例
本明細書に説明されるように、ウェアラブルシステム200は、仮想アバタをスポーンするため、または仮想アバタのサイズをリアルタイムで動的に調節するために、コンテキスト要因を自動的に識別し、仮想アバタのための標的高さを計算するように構成されることができる。
図13は、コンテキスト要因に基づいて、アバタを自動的にスケーリングするための例示的データフロー図を図示する。いくつかの例示的コンテキスト要因は、ユーザの頭部の位置、アバタのレンダリング場所、ユーザの身体位置(例えば、ユーザの足の位置)、ユーザおよびアバタがその上に位置付けられる表面の高さ(またはそれらの間の相対的高低差)等を含むことができる。例示的データフロー図1600は、本明細書に説明されるウェアラブルシステム200によって、例えば、図6Bのアバタ処理およびレンダリングシステム690のアバタ自動スケーラ692によって、実装されることができる。
ウェアラブルシステムは、図2および3を参照して説明されるもの等の1つまたはそれを上回るデバイスセンサ1674を含むことができる。デバイスセンサ1674から入手されたデータは、ユーザの環境を決定し(例えば、ユーザの環境内のオブジェクトを識別する、またはユーザの環境内の表面を検出するため等)、環境に対するユーザの位置を決定するために使用されることができる。
例えば、IMUは、例えば、ユーザの頭部姿勢または身体移動等のユーザデータを入手することができる。外向きに面した結像システム464は、ユーザの環境の画像を入手することができる。IMUおよび外向きに面した結像システム464からのデータは、頭部位置を決定するための入力であり得る。ウェアラブルシステムは、ユーザの環境と関連付けられる基準フレーム(世界フレームとも称される)に対する頭部の位置、配向、または移動を検出することができる。基準フレームは、マップ点のセットであってもよく、それに基づいて、ウェアラブルシステムは、ユーザの移動をアクションまたはコマンドに変換することができる。いくつかの実装では、カメラ較正1688が、世界フレーム内の頭部位置特定1682を決定するために実施されてもよい。カメラ較正1688は、IMU(またはウェアラブルデバイスの他のハードウェアセンサ)から決定されるようなユーザの頭部の姿勢の世界フレーム内の頭部場所へのマッピングをもたらし得る。アバタ自動スケーラ692を参照してさらに説明されるように、世界フレーム内のそのような頭部位置特定1682は、アバタ自動スケーラ692の中にフィードされることができ、アバタを自動的にスケーリングするためのユーザの頭部位置1604を決定するための入力として利用されることができる。
デバイスセンサは、1つまたはそれを上回る深度センサ234(例えば、LIDAR、飛行時間センサ、または超音波センサ)または世界カメラ(外向きに面した結像システム464の一部であってもよい)を含むことができ、世界カメラは、深度感知能力を有する(例えば、RGB-Dカメラ)。例えば、深度センサは、例えば、ユーザからのオブジェクトの距離等、環境内のオブジェクトの深度データを入手することができる。深度データは、環境点群1678を作成するために使用されることができ、これは、ユーザの環境の3D数学的表現(ユーザの環境内のオブジェクトを考慮し得る)を含むことができる。本環境点群1678は、図7に示されるマップデータベース710内に記憶(またはそこからアクセス)されてもよい。
ウェアラブルシステムは、環境点群1678に基づいて、主要な水平平面(例えば、テーブルの表面、接地面、壁、椅子表面、プラットフォーム等)を識別することができる。主要な水平平面は、その上にユーザまたはアバタが位置付けられ得る、環境表面を含むことができる。
ウェアラブルシステムは、点群を、例えば、ポリゴン(例えば、三角形)メッシュ等のメッシュ状環境に変換し、主要な水平平面をメッシュから抽出することができる。ある実装では、ウェアラブルシステムは、点群をメッシュに変換せずに、直接、点群から平面を推定することができる。直接点群から平面を推定する実施例として、ウェアラブルシステムは、単独で、または深度センサと組み合わせて、外向きに面した結像システムによって入手された画像に基づいて、1つまたはそれを上回る深度点を決定することができる。深度点は、本システムによって、世界基準フレーム上にマッピングされてもよい(ユーザの環境を表すため)。深度点は、ユーザの環境内の1つまたはそれを上回る点に対応してもよい。ウェアラブルシステムは、1つまたはそれを上回る表面を1つまたはそれを上回る深度点から抽出するように構成されてもよい。深度点から抽出された1つまたはそれを上回る表面は、1つまたはそれを上回る三角形を含んでもよい。1つまたはそれを上回る三角形のそれぞれの頂点は、近傍深度点を含んでもよい。
図13に示されるように、深度カメラ較正1688を用いることで、ウェアラブルシステムは、ブロック1680に示されるように、本点群1678を世界基準フレーム(ブロック1682における頭部位置特定のために使用され得る)内のメッシュ状環境に変換することができる。深度カメラ較正は、深度カメラから取得される点群の位置をウェアラブルシステムの基準フレームまたは環境の基準フレームの位置に関連させる方法に関する情報を含むことができる。深度カメラ較正は、ウェアラブルシステムがそれらの点が作業座標系内に位置する場所を把握するように、環境およびカメラフレームと同一基準フレーム内の点を位置特定することを可能にし得るため、有利であり得る。
メッシュ状環境は、3Dメッシュ状環境であってもよい。メッシュ状環境は、1つまたはそれを上回る表面三角形を含んでもよい。各表面三角形は、隣接する深度点に対応する頂点を含んでもよい。ウェアラブルシステムは、符号付き距離場関数を点群から構築し、例えば、マーチングキューブアルゴリズム等の三角測量アルゴリズムを使用して、点群をポリゴン(例えば、三角形)メッシュ等の三角形の表面表現に変換するように構成されることができる。いくつかの実施形態では、表面表現は、メッシュ状環境からではなく、直接、点群から決定されることができる。
ブロック1684では、ウェアラブルシステムは、世界基準フレーム内の平面環境に近似することができ、これは、メッシュからの平面抽出を含んでもよい。平面抽出は、三角形を類似配向のエリアにグループ化することができる。さらなる処理が、これらのメッシュ状エリア(平面抽出から識別されるように)に行われ、環境内の平坦エリアを表す純平面領域を抽出することができる。
ブロック1686では、ウェアラブルシステムは、さらなる処理を実施し、主要な水平平面を環境から抽出することができる。ウェアラブルシステムは、ブロック1684から識別された領域からの表面の配向、サイズ、または形状に基づいて、主要な水平平面を決定するように構成されてもよい。例えば、ウェアラブルシステムは、ユーザまたはアバタがその上に立つことを可能にするために十分に大きい、水平表面を、主要な水平平面として識別することができる。いくつかの実装では、交点におけるその法線が重力ベクトル(ウェアラブルシステム上のIMUによって決定されることができる)に近く整合される、光線と物理的水平表面の第1の交点を見出すことによって、ウェアラブルシステムは、主要な水平平面を識別することができる。
ユーザ相互作用を分解する実施例
図14は、ユーザ相互作用を分解するためのシステムの実施例を説明する。本実施例では、Aliceは、環境A1902a内に存在することができる。Aliceは、ウェアラブルシステム200のユーザであることができ、それを通して、Aliceは、その環境A1902aとの複合現実体験を有することができる。Aliceは、種々の相互作用1912aを実施することができ、これは、遠隔環境内でアバタにマッピングされてもよい。Aliceの相互作用1912aは、単独で、または組み合わせて、移動、姿勢(例えば、頭部姿勢、身体姿勢、または手のジェスチャ等)、眼視線等を含むことができる。いくつかの状況では、これらの相互作用1912aのうちの1つまたはそれを上回るものは、相互作用イベントとも称され得る。
ウェアラブルシステムは、図2および3を参照して説明される、1つまたはそれを上回るデバイスセンサを使用して、データを入手することができる。デバイスセンサによって入手されたデータは、ユーザの相互作用を決定するために使用されることができる。データに基づいて、ウェアラブルシステムは、例えば、ユーザが、相互作用する、または関心がある、オブジェクト、相互作用のタイプ(例えば、ユーザが、歩いている、座っている、立っているかどうか等)等であり得る、関心オブジェクト(関心アイテムまたは略してIOIとも称される)等の相互作用1912aの特性を決定することができる。単独で、またはデバイスセンサから入手されたデータと組み合わせて、相互作用1912aの特性に基づいて、ウェアラブルシステムは、相互作用1912aが世界成分および/またはローカル成分を含み得るかどうかを決定することができる。
図14に図示されるように、移動1920aは、ローカル運動1922aおよび/または世界運動1924aに分解されることができる。ローカル運動1922aは、固定身体基準フレームに対する運動を含むことができ、環境A1902aと相互作用し得ない。世界運動1924aは、環境A1902aとの相互作用を伴う、運動を含むことができる。そのような世界運動1924aは、世界フレームに関して説明されることができる。例えば、Aliceは、その環境内で走っている場合がある。その腕の移動は、ローカル運動1922aと見なされ得る一方、脚部の移動(例えば、環境内のある方向に向かって前方に移動している)は、世界運動1924aと見なされ得る。別の実施例として、Aliceは、その脚部を交差した状態で椅子に着座している場合がある。脚部を交差した状態で着座する姿勢は、ローカル成分と見なされる一方、椅子に着座する相互作用は、世界成分と見なされる。Aliceのアバタの視認者のウェアラブルシステムは、脚部を交差した状態でベッド上に着座しているAliceのアバタをレンダリングすることができる(遠隔環境が椅子を有していない場合)。
相互作用1912aは、時として、また、例えば、環境内の物理的オブジェクト(例えば、椅子、テーブル、ベッド、鏡等)または仮想オブジェクト(例えば、別のユーザのアバタ、仮想エンターテインメントコンテンツ、または他の仮想アプリケーション)等の関心オブジェクトと相互作用することを伴うことができる。デバイスセンサから入手されたデータに基づいて、ウェアラブルシステムは、ユーザAlice912の相互作用と関連付けられる関心オブジェクト1950aを識別することができる。例えば、関心オブジェクト1950aは、個々に、または組み合わせて、Aliceの移動1920a、姿勢1930a、眼視線1940aから識別されることができる。
本明細書にさらに説明されるように、ある実装では、関心オブジェクト1950aは、ユーザの注意を誘引する、成分を含んでもよい。上記に説明されるように、ユーザの眼は、典型的には、フレンドリーな中立会話の間、他のユーザの顔のソーシャルトライアングルと呼ばれる領域に向かって指向される。ソーシャルトライアングルは、ユーザの眼とユーザの口における頂点との間の線上の第1の辺を用いて形成される。関心オブジェクト1950aは、ソーシャルトライアングルを含んでもよい。例えば、Aliceは、ヒトが、対面会話の間、別の人物のソーシャルトライアングルを自然と見る傾向にあるため、Bobの顔上のソーシャルトライアングルを見る場合がある。関心オブジェクトとの相互作用は、それらが環境内の仮想または物理的オブジェクトと相互作用することを伴うため、世界成分と見なされ得る。
ウェアラブルシステムは、直接マッピング1962を使用して、相互作用1912aのローカル成分を仮想アバタ1970にマッピングすることができる。例えば、ウェアラブルシステムは、ローカル運動1922a、姿勢1930a、または眼視線1940aを、直接マッピング1962を使用して、アバタ1970のアクションの中にマッピングすることができる。その結果、アバタの1970のアクションは、Aliceによって実施される相互作用1912aの対応するローカル成分を反映させることができる(例えば、Aliceがその頭部を点頭すると、アバタもその頭部を点頭する)。
ウェアラブルシステムは、意図ベースのマッピング1964を使用して、相互作用1912aの世界成分をマッピングすることができる。意図ベースのマッピング1964の結果、アバタ1970のアクションは、アバタ1970のアクションがAliceのものと正確に同一ではあり得ない場合でも、Aliceによって実施される対応する相互作用1912aと同一目的を達成する。例えば、ウェアラブルシステムは、その中にアバタ1970がレンダリングされる、環境内の環境特徴(例えば、障害物、オブジェクトのレイアウト等)に基づいて、世界運動1924aをアバタ1970にマッピングすることができる。別の実施例として、ウェアラブルシステムは、仮想アバタ1970が遠隔環境内の類似関心オブジェクト1950と相互作用するように、遠隔環境内の仮想アバタ1970を移動または再配向することができる。
ある実装では、ユーザ相互作用を世界成分およびローカル成分に分解することによって、本明細書に提供される技法は、より高速の処理を有効にし、記憶要件を低減させ、待ち時間を改良することによって、改良されたウェアラブルデバイスを提供することができる。例えば、本技法は、アニメーション化されたアバタの幾何学形状全体またはユーザの運動全体が環境B1902内のBobのウェアラブルデバイスに横断して送信されることを要求しない。Aliceのウェアラブルデバイスは、Bobのウェアラブルデバイスにおいてアバタをローカルでアニメーション化するために使用され得る、センサデータのサブセットを送信することができ、したがって、Aliceのデバイスは、アバタ全体のための幾何学形状およびアニメーション更新を送信し続ける必要はない。Aliceのウェアラブルデバイスによって送信されるデータは、粗雑であり得るため、Bobのウェアラブルデバイスは、より頻繁に更新し、より応答性のアバタアニメーションを得ることができる。
頭部姿勢および眼視線追跡に基づく仮想オブジェクトとの相互作用のための意図ベースのレンダリングの例示的プロセス
図15は、頭部姿勢追跡および眼視線追跡に基づいて意図を決定するための例示的プロセスを図示する。図15に示されるプロセス2130は、Aliceの環境(図20-21Cでは、環境Aとも称される)内のAliceの相互作用をBobの環境(図20-21Cでは、環境Bとも称される)内にレンダリングされたAliceのアバタにマッピングすることによって、Aliceの意図を決定するために適用されることができる。プロセス2130は、個々に、または組み合わせて、Aliceのウェアラブルデバイス902、遠隔コンピューティングシステム920によって実施されることができる。プロセス2130はまた、図6Bに示される、意図マッピングシステム694の一部として実装されることができる。
プロセス2130は、2132において、Aliceの頭部移動データを追跡し得る、頭部姿勢追跡2134aから開始する。種々の技法が、頭部姿勢を追跡するために使用されてもよい。例えば、Aliceのウェアラブルデバイス902は、IMUおよびカメラ(例えば、外向きに面した結像システム464または内向きに面した結像システム462内のカメラ)の組み合わせを採用し、Aliceの回転および平行移動運動を記録することができる。ウェアラブルデバイス902によって記録される移動データは、環境Aと関連付けられる世界フレームに対する頭部姿勢を推定するための環境A内の特徴を抽出するために使用されることができる(データブロック2136aとして示される)。
ウェアラブルデバイス902はまた、眼追跡2134bを実施し、頭部フレーム内のAliceの視野内の眼の固視点(焦点)(頭部フレームは、Aliceに対してローカルの座標系と関連付けられる、データブロック2136bに示されるように)を取得することができる。
ブロック2138では、眼視線標的点は、固視点および頭部姿勢の組み合わせに基づいて、計算されることができる。ブロック2138における算出から取得される結果は、世界フレームに対する視線固視点および世界フレーム内の光線方向(データブロック2140aに示される)を含むことができる。
頭部姿勢および眼視線に基づいて、世界フレーム2140b内の静的仮想場面モデル(環境A内の静的仮想オブジェクトを説明し得る)、および場面2140c(環境A内の所与の位置または配向に固定される、仮想オブジェクトを含んでもよい)内の動的仮想オブジェクト(アバタを含んでもよい)が、ブロック2142において、ローカル空間内の視線固視点と交差する場面内の仮想オブジェクトを決定するために使用されることができる。例えば、ウェアラブルデバイス902は、光線ベクトルを眼から本固視点に投射することによって、レイキャスティングを実施することができる。本光線ベクトルは、ウェアラブルデバイス902を通して知覚されるようなAliceがその視野内で見ている対象を決定するために使用されることができる。
Aliceが見ている可能性があるものに関して、3つの基本可能性が存在し得る。1つ目は、Aliceが、例えば、椅子またはランプ等のその環境内の物理的オブジェクトを見ている可能性。2つ目は、Aliceが、そのウェアラブルデバイス902のディスプレイ220によって、そのAR/MR環境内にレンダリングされた仮想オブジェクトを見ている可能性。3つ目は、Aliceが、例えば、思案に暮れる、または何らかのものについて考え込んでいるとき等、特に何も見ていない可能性。
ブロック2144では、ウェアラブルシステムは、視線が仮想オブジェクトと交差するかどうかを決定することができ、該当する場合、オブジェクトがAliceのアバタの視高と異なる相対的位置(Aliceの視高と比較して)にある場合は、Aliceのアバタのための異なる頭部姿勢が、算出される必要があり得る。該当しない場合、プロセス2130は、開始ブロック2132に戻る。ある実装では、ブロック2144から決定されるような仮想オブジェクトは、関心オブジェクトであることができる。
ブロック2146では、ウェアラブルシステムは、あるオブジェクトと相互作用する等の意味論意図指示を抽出することができる。例えば、ウェアラブルシステムは、例えば、オブジェクトを移動させる、オブジェクトを注視する、オブジェクトを修正する、Bobの仮想アバタに話しかける等、ユーザによって意図されるようなオブジェクトとの相互作用を決定することができる。
オブジェクト(またはそのアバタと相互作用することから決定されるような人物)と相互作用する意図および頭部姿勢は、Bobのウェアラブルデバイスに通信されることができ、これは、意図に基づいて、Aliceの頭部姿勢をAliceのアバタ(Bobのウェアラブルデバイスによってレンダリングされるように)にマッピングすることができる。
下記のアルゴリズム(i)は、図15におけるプロセス2130の例示的擬似コード実装を説明する。
アルゴリズム(i)
世界座標フレームW内の頭部姿勢H_Wと、
頭部フレームH内の眼固視点F_Hとを前提とする。
Pをユーザの近辺内の実際の物理的オブジェクトのセットとし、
Sをウェアラブルディスプレイを介して場面内にレンダリングされた3-D静的仮想オブジェクトのセットとする。
Dを他のアバタまたは移動するオブジェクト等の動的3D仮想オブジェクトのセットとする。
H_Wおよびf_Hから、
f_W=f_HH_Wは、
世界フレームWに対する3-D固視点F_Wを表すものとし、
H_Wは、座標フレームを表す、4×4変換行列である。
e_Hは、頭部フレームH内の頭部の眼間の基準点を表すものとする。
e_W=e_HH_Wを世界フレームW内に表される点e_Hとする。
g_W=f_W-e_Wを、固視点f_Wに向かって見ており、e_Wから生じる、頭部の通視線の方向を指している、視線方向光線とする。
光線は、g_W(t)=e_W+t(f_W-e_W)としてパラメータ化されることができ、tは、[0,無限遠]内にあって、無限光線を表し、t=0は、点e_Wに対応し、t=1は、本光線上の固視点f_Wを表す。
g_Wに関して、P、S、およびDに対する本光線の交差部を試験する。tの最小値において交差する、P、S、Dの和集合内のオブジェクトOを選択する。これは、光線g_W(t)と交差する、P、S、D間の最も近いオブジェクトと一致する。
I_avatarをアバタを制御するための遠隔デバイスに送信するための意図のセットとする。
H_avatarをアバタを制御するための遠隔デバイスに送信するための現在の頭部姿勢とする。
Oが、S(静的仮想オブジェクト)の集合要素である場合、意図lookat(S)をI_avatarに追加する。
Oが、D(動的仮想オブジェクト)の集合要素である場合、意図lookat(D)をI_avatarに追加する。
H_avatar=H_Wを設定する。
出力は、I_avatarおよびH_avatarのセットである。
出力I_avatarおよびH_avatarは、ブロック2150に示されるように、意図に基づいてAliceのアバタをレンダリングするために、Bobのウェアラブルデバイスに通信されることができる。
アバタ制御セッションの間(例えば、テレプレゼンスセッションの間または視認者とアバタとの間の相互作用の間等)、ウェアラブルデバイスAは、現在の頭部姿勢を、規則的、周期的、または不規則的時間間隔において、ウェアラブルデバイスBに送信することによって、Aliceのアバタを更新することができる。アルゴリズム(i)から、ウェアラブルデバイスAは、意図(I_avatar)およびAliceの現在の頭部姿勢(H_avatar)のセットをウェアラブルデバイスBにパスすることができる。ウェアラブルデバイスBによってAliceのアバタをアニメーション化する際に使用されるためのベースライン頭部姿勢(H_baseline)を決定するために、ウェアラブルデバイスは、本段落の直下の段落における計算を実施する。
第1の時間サンプルに関して、ベースライン頭部姿勢は、H_baseline=H_avatarとして定義される。I_avatarが、設定される場合、H_baselineは、姿勢であるように算出され、これは、アバタの頭部をBobのローカル空間内の意図(lookat(S))のためのオブジェクトSに向かって向ける。Aliceのローカル空間内のSの場所は、Bobのローカル空間内のSの場所と同一ではない場合があることに留意されたい。しかしながら、意図I_avatar=lookat(S)を送信することによって、ウェアラブルデバイスBは、頭部姿勢を算出し、頭部をアバタの遠隔環境内のSに向かって指向する本意図を維持することができる。ウェアラブルデバイスAによって入手された画像のフレーム毎に、ウェアラブルデバイスBは、最初に、それをH_baselineに設定し、H_baselineとH_avatarとの間の相対的姿勢(H_relative)上に追加することによって、最終のアバタの頭部姿勢H_finalを算出することができる。結果は、意図(lookat(O))が、その環境内のローカルユーザとアバタの遠隔環境内の同一オブジェクトまたはアバタOを見ている遠隔アバタとの間に保存されることになる。
環境刺激に基づくアバタレンダリングの実施例
本明細書に開示されるシステムおよび方法は、アバタがより現実的かつ生きているように複合現実システムのユーザに現れるように、アバタをレンダリングすることができる。ユーザの環境内のオブジェクトは、現実または仮想としてカテゴリ化されることができ、ウェアラブルシステムは、アバタがその複合現実環境内で相互作用および決定を行うように構成されることができる。アバタは、アバタが、動作主性、存在性、または自然性の外観をユーザに与えるように、レンダリングされることができる。動作主性は、仮想アバタの属性であってもよい。動作主性が、仮想アバタのために有効にされると、仮想アバタは、独自に行動するように現れることができる(例えば、アバタは、関心誘引を見出す対象についてその独自の決定を行うように現れてもよい)。ウェアラブルシステムは、仮想アバタのための動作主性の外観を作成することができる(例えば、仮想アバタの画像またはアニメーションによって)。例えば、動作主性の外観を提供するために、ウェアラブルシステムは、アバタがヒトであるかのように、アバタに、視認者の環境内のイベントまたは刺激に自動的に応答させ、特定の効果または結果を生産させることができる。動作主性は、例えば、仮想アバタの環境、環境内の視認者の相互作用、および環境内のオブジェクト等の1つまたはそれを上回るコンテキスト要因によって決定されることができる。ある実装では、コンテキスト要因はまた、例えば、アバタの信念、所望、および意図等のアバタの特性を含むことができる。アバタをより自然かつ生きているようにレンダリングすることによって、ウェアラブルシステムのユーザは、アバタと相互作用するとき、異様な、不気味な、または不快な感覚を体験する可能性が低くなるであろう。例えば、アバタは、その相互作用において、ほぼヒトであるが、完全ではない、アバタに対するヒトの感情応答における急降下を表す、いわゆる、不気味の谷に陥る尤度を低減させるように、レンダリングされることができる。
いくつかの実装では、アバタの現実性のレベルが、アバタのコンテキストに基づいて、決定および/または動的に調節されてもよい。アバタ、アバタのグループ、および/または仮想環境と関連付けられる、「コンテキスト」は、ユーザデバイスのタイプまたは特性、拡張現実場面の環境特性(例えば、アバタがレンダリングされるエリア内の照明条件)、眼追跡システム(例えば、ユーザデバイスによって実装される)の正確度、および/または拡張現実セッションと関連付けられる、任意の他の要因を含んでもよい。したがって、アバタ(および/または特定のアバタ)の現実性のレベルは、アバタに関する現実性のレベルを選択するために、これらまたは他のコンテキスト要因に基づいて、選択されてもよく、これは、アバタの視線がユーザによって正確に判別される能力を最適化し得る。
2人のユーザ間で共有される仮想オブジェクトに基づいて、仮想アバタをアニメーション化することに加えて、またはその代替として、ウェアラブルシステムはまた、アバタがその中にレンダリングされる、環境に基づいて、アバタをアニメーション化することができる。ウェアラブルシステムは、仮想アバタが、自然かつヒトのような決定を行い、その中にそれがレンダリングされる複合現実環境に反応することを可能にすることによって、仮想アバタを生きているように現れさせることができ、これは、仮想アバタに動作主性および存在性の外観を与えることができる。例えば、ウェアラブルシステム(例えば、刺激応答システム696を介して)は、これに対してアバタが反応し得る、あるカテゴリの環境オブジェクトまたは環境刺激(本明細書では、関心誘引誘発要因と称される)を自動的に識別し、視認者の環境内の関心誘引誘発要因に基づいて、アバタの視認者の環境との相互作用を自動的に調節することができる。関心誘引誘発要因は、環境内の視覚的または聴覚的刺激(例えば、移動、外観、または音)であってもよく、これは、アバタの注意を誘引することができる。図16を参照してさらに説明されるように、関心誘引誘発要因は、関心オブジェクト、関心エリア、音、関心オブジェクトの成分、または視認者環境の他のコンテキスト要因と関連付けられてもよい。関心誘引誘発要因は、仮想または物理的オブジェクトおよびその中に仮想アバタがレンダリングされる仮想または物理的環境と関連付けられてもよい。
ウェアラブルシステムは、仮想アバタの自然性を維持するように、関心誘引誘発要因と相互作用するためのアバタの決定を実行することができる。
例えば、視認者の環境内に爆発音が存在するとき、ウェアラブルシステムは、爆発源から離れるように走るように仮想アバタをレンダリングすることができる(仮想アバタがヒトであるかのように)。別の実施例として、仮想アバタは、ある人物に話しかけている間、そのユーザまたは人物の顔のソーシャルトライアングル内のアバタの眼視線ベクトル(視線点および視線方向を含むことができる)を偏移させてもよく、これは、その人物とアバタとの間のより自然かつ非威嚇的ヒトのような相互作用を促す。さらに別の実施例として、仮想アバタは、長時間にわたってオブジェクトを見た後、関心を失い得る。したがって、仮想アバタは、別の関心誘引誘発要因を識別し、その注意を前のオブジェクトから他の関心誘引誘発要因に移してもよく、これは、再び、自然なヒトのような挙動により典型的である。
環境内の関心誘引誘発要因の実施例
ウェアラブルシステム200(例えば、刺激応答システム696)は、視認者の環境をモデル化し、オブジェクト(例えば、実または仮想オブジェクト)をカテゴリ化し、関心誘引誘発要因を識別することができる。関心誘引誘発要因は、その本来の関心誘引度を表すための値を有することができ、これは、時間経過、オブジェクトまたは環境の変化(関心誘引誘発要因と識別されたオブジェクトまたは環境の一部の変化を含んでもよい)、またはアバタと関連付けられるヒト対応者の相互作用等のコンテキスト要因に基づいて、減衰または増幅し得る。関心誘引度値は、トリガイベントに応答して、持続的にまたは突然、変化し得る。
関心誘引度値がトリガイベントに起因して突然変化する、実施例として、関心オブジェクトが書籍であると仮定すると、関心誘引度値は、ページ変化に応答して、増加するであろう。関心誘引度値が持続的に変化する、実施例として、関心誘引誘発要因は、話者の手として表され得、手が形状を変化させるにつれて(例えば、話者が主張している点を強調するために)、関心誘引度値は、持続的に増加し得る。関心誘引度値の変化は、関心誘引度値の調節の速さまたは加速の変化を含むことができる。例えば、関心オブジェクト上のトリガイベントに応答して、関心誘引度値の成長と関連付けられる加速または速さは、突然、増加し得る。いくつかの実装では、関心誘引度値の調節の速さまたは加速は、一定のままであり得る。例えば、関心誘引度値は、時間の経過に伴って一定の速さで減衰し得る。図16A-16Cは、視認者の環境内の関心誘引誘発要因のタイプのカテゴリ化の実施例を図示する。図16Aでは、視認者の環境は、種々の関心誘引誘発要因3110を含むことができる。関心誘引誘発要因3110は、聴覚的または視覚的刺激であってもよい。例えば、関心誘引誘発要因3110は、環境3100内の視認者の移動または雑音であってもよい。
図16Aに図示されるように、関心誘引誘発要因3110は、関心誘引オブジェクト3120または関心エリア3130を含むことができる。関心誘引オブジェクトは、関心オブジェクトの実施例であってもよい。ある実装では、関心誘引オブジェクトは、それに向かってアバタが見ている、関心オブジェクトの一部であることができる。下記にさらに説明されるであろうように、関心誘引オブジェクトは、サッカード点(同一方向における2つまたはそれを上回る固視相間の両眼の迅速かつ同時移動である、サッカード眼球運動の間の関心点と関連付けられることができる)を保持するための多角形構造として説明されることができる。例示的関心誘引オブジェクト3120は、ソーシャルトライアングル3122であることができ、これは、人物(またはアバタ)が、会話の間、合焦する、顔の領域を説明し得る。下記に説明される図16Bは、例示的ソーシャルトライアングルを図示する。
別の例示的関心誘引オブジェクト3120は、視線ボックス3114(また、図16Bに示される)であってもよく、これは、環境または関心オブジェクトとの相互作用の間、ある人物(またはアバタ)が合焦している(例えば、注視している)、オブジェクトまたは別の人物の領域と関連付けられることができる。
図16Bは、例示的ソーシャルトライアングル3112を図示する。図16Bに示されるソーシャルトライアングル3112は、人々が、会話中、合焦する傾向にある、ヒトの顔の一部を図式的に図示する。図16Bにおける実施例では、ソーシャルトライアングル3112は、ある人物の眉毛の若干上から眼を覆って、口まで延びる、三角形である。
ソーシャルトライアングル3112は、例えば、サイズ、形状、境界、エリア等の種々のパラメータを有することができる。ソーシャルトライアングルの境界は、所与の時間におけるサッカード点が第1の人物のソーシャルトライアングルの境界外に到達しないように、第2の人物(またはアバタ)のサッカード眼球運動の間のサッカード点を制約することができる。したがって、ソーシャルトライアングル3112を有する人物を見ている、アバタの眼のサッカード点は、ソーシャルトライアングル3112内に集中される傾向にあり、ソーシャルトライアングル外にならない傾向にある。サッカード点は、ウェアラブルシステムによって、所与の時間におけるアバタの眼視線ベクトルを決定するために使用されてもよい。本明細書に説明されるように、サッカード運動は、ランダムに設置されたサッカード点を伴い得、これは、アバタの眼視線ベクトルをソーシャルトライアングル3112内でランダムに偏移させ得る。眼視線ベクトルはまた、アバタの眼視線をアニメーション化するとき、ソーシャルトライアングル3112内の軌道に沿って移動することができる。例えば、眼視線ベクトルは、最初に、鼻のある点に到達し、次いで、点を左眼上に移動させ、さらに、点を右眼上に移動させる等となり得る。
いくつかの実装では、仮想アバタの性質は、その性質が、それを用いてユーザが仮想アバタの視線の方向を判断し得る、正確度に影響を及ぼす程度を試験せずに選択される。しかし、これらの性質(例えば、仮想ヒト写実性、仮想ヒトの眼および眼移動の性質、照明等)は、ユーザが仮想アバタの視線方向を判断し得る程度に有意な影響を及ぼし得る。視線方向の正確な判断は、例えば、非言語的通信のために重要であり得る。下記にさらに議論されるように、アバタの写実性のレベルは、仮想アバタの種々の特性が、没入型の現実環境において、仮想アバタの視線のユーザの知覚に影響を及ぼす程度の評価に基づいて展開される、種々のコンテキスト要因に基づいて選択されてもよい。下記にさらに議論されるように、評価パラダイムは、特定のコンテキストおよび/またはユーザに関する仮想アバタの最適性質または性質の組み合わせの選択/設計を知らせる役割を果たし得る。
ある実装では、可能性として考えられるサッカード点は、例えば、ユーザの環境内の仮想または物理的オブジェクトの存在から構築されたクエリ可能データベース等のデータ構造内に保たれ得る。可能性として考えられるサッカード点は、可視空間関心誘引オブジェクトの和(例えば、ソーシャルトライアングルまたは視線ボックス内のサッカード点)を含んでもよい。クエリ可能データベースは、図7に示されるマップデータベース710の一部であってもよい。クエリ可能データベースはまた、ウェアラブルシステムが、情報を使用して、仮想アバタの眼視線を決定し得るように、例えば、関心誘引オブジェクトに関連する情報(例えば、ソーシャルトライアングルまたは視線ボックス)、関心誘引誘発要因等の他の情報も記憶することができる。ウェアラブルシステムは、クエリ可能データベースにクエリすることによって、関心誘引オブジェクトのサッカード点を自動的に選択することができる(例えば、ランダムに、または定義されたシーケンスに従ってのいずれかにおいて)。ある実装では、サッカード点の選択の頻度は、標的関心誘引オブジェクトの関心誘引度値と関連付けられることができる。例えば、関心誘引度値が高いほど、選択の頻度を増加させ得、関心誘引度値が低いほど、選択の頻度を減少させ得る。
サッカード点をランダムに選択するために、ウェアラブルシステムは、種々の確率論的モデルを利用することができる。例えば、ウェアラブルシステムは、別のサッカード点を関心誘引オブジェクト内の現在のサッカード点の周囲の正規分布から選択することができる(例えば、アバタの眼視線ベクトルが現在設置されている、サッカード点)。別の実施例として、ウェアラブルシステムは、テクスチャチャネルに規定され、テクスチャマップとして関心誘引オブジェクトに適用される、分布関数を使用することができる。例えば、仮想アバタが絵画を見ている場合、絵画は、他の部分よりヒトの眼にとって関心を誘引する、いくつかの部分を有し得る。テクスチャマップが、いくつかの部分がオブジェクト上のその他より関心を誘引することを反映させるように作成されることができる。テクスチャマップは、ヒートマップに類似する属性を有してもよく、テクスチャマップのより明るい部分(例えば、より高い関心誘引度値を伴う部分)は、より関心を誘引する部分を表し、より暗い部分は、あまり関心を誘引しない部分(例えば、より低い関心誘引度値を伴う部分)を表す。これらのマップは、例えば、関心領域を手動で入力する、または示すことによって、プログラマまたはユーザによって定義されてもよい。これらのマップは、例えば、内向きに面した結像システム466内のカメラによって入手されたデータに基づいて等、眼追跡システムから作成されることができる。例えば、ウェアラブルシステムは、オブジェクトのある場所における視認者の眼視線ベクトルの持続時間および位置を追跡することができる。ウェアラブルシステムは、領域が眼視線ベクトルと関連付けられる点のより高い密度を有するため、または眼視線ベクトルがより長い持続時間にわたってその領域(または点)に留まるとき、より関心を誘引する領域を識別することができ、その逆も同様である。代替として、ユーザの性格、気質、プロファイル、または他の属性が、少なくとも部分的に、テクスチャマップを定義し得る。例えば、ユーザが、イヌ好きであると特性評価され、絵画内にイヌが存在する場合、絵画のその部分は、その関心誘引度値を増加させるであろう。
ソーシャルトライアングルのパラメータのうちの1つまたはそれを上回るものは、構成可能であってもよい。ソーシャルトライアングルのパラメータは、アバタの視認者によって構成されてもよい、またはウェアラブルシステムの中に事前にプログラムされてもよい。例えば、種々の実施形態では、ソーシャルトライアングルの境界は、ウェアラブルシステムによって、図16Bに示されるソーシャルトライアングル3112より少ないまたはより多いエリアを含むように構成されてもよい。別の実施例として、ウェアラブルシステムの視認者は、ソーシャルトライアングルのサイズを規定することができ、ウェアラブルシステムは、規定されたサイズを満たす顔の領域をソーシャルトライアングルとして決定することができる(例えば、眼、鼻、または口が、その中に適合するように、三角形を顔上に設置すること等によって)。ある実装では、ソーシャルトライアングルのパラメータは、顔の配向または位置に基づいて変化してもよい。例えば、ソーシャルトライアングル3212a(図17に示される)は、アバタ(図17には図示せず)が、人物3210aの顔の側面(より少ない顔特徴を有する)を知覚するが、人物3212dの顔の正面(より多くの顔特徴を有する)も知覚し得るため、ソーシャルトライアングル3212d(また、図17に示される)より小さいエリアを有する。さらに、用語「ソーシャルトライアングル」が、本開示では使用されるが(本用語は、従来的使用であるため)、ソーシャルトライアングルによって表される領域の形状は、厳密には、三角形である必要はなく、任意のタイプのポリゴン(例えば、四辺形、五角形、六角形等)、凸面平面形状(例えば、円形、楕円形、または卵形)、または3D形状であることができる。
いくつかの状況では、顔の一部は、人物またはアバタが、直接、顔のその部分を観察することが不可能である場合があるように、オクルードされ得る。例えば、視認者は、本明細書に説明されるウェアラブルデバイスを装着している場合、頭部搭載型ディスプレイは、視認者の眼および視認者の鼻の一部をオクルードし得る。その結果、視認者のソーシャルトライアングルと関連付けられるサッカード点は、視認者の眼領域上ではなく、頭部搭載型ディスプレイの表面の一部上に到達し得る。
図16Bはまた、人物がオブジェクトを見ている間のサッカード点を捕捉し得る、3D空間を含み得る、視線ボックス3114の実施例を図示する。本実施例では、視線ボックス3114は、サッカード点と関連付けられる6辺の長方形直方体視線表面によって表される。これは、幅(「W」によって表される)と、高さ(「H」によって表される)と、深度(「D」によって表される)とを有する。種々の実装では、視線ボックス3114は、図16Bに図示される直方体以外の他の2Dまたは3D形状を有することができる(例えば、ボックスは、多角形であってもよい)。視線ボックス3114はまた、ソーシャルトライアングルと類似パラメータを含むことができる。ソーシャルトライアングルを参照して本明細書に説明されるように、視線ボックス3114のパラメータもまた、視認者によって、またはウェアラブルシステムによって自動的に、構成可能であることができる。例えば、視線ボックスの境界または視線ボックスのサイズは、オブジェクトのタイプに基づいて構成されてもよい。例えば、図17に示されるように、リュックと関連付けられる視線ボックス3216は、カップと関連付けられる視線ボックス3214aより大きい。
下記を参照してさらに説明されるであろうように、ウェアラブルシステムは、関心誘引オブジェクトに基づいて、アバタの人物またはオブジェクトとの相互作用をシミュレートすることができる。例えば、ウェアラブルシステムは、ソーシャルトライアングルまたは視線ボックス内のサッカード眼球運動を用いて、アバタの眼球運動をアニメーション化することができる。したがって、アバタの眼を人物またはオブジェクト上の特定の点に合焦させるのではなく、ウェアラブルシステムは、関心誘引オブジェクト内の1つの関心点から別の関心点への高速眼移動をシミュレートし、ヒトの眼移動に類似するアバタの眼移動をレンダリングすることができる。アバタの眼のそのようなサッカード運動は、容易に明白ではない場合があるが、実際のヒトの眼移動をシミュレートするため、アバタサッカード眼球運動をレンダリングすることは、アバタと相互作用するとき、自然な感覚につながり得、これは、また、相互作用を不気味の谷から抜け出させることになる。
図16Aを参照して説明されるように、関心誘引誘発要因はまた、関心エリアを含むことができる。関心エリアは、アバタが視認者の空間内で見ている、一般的方向であることができる。これは、2Dエリアとして表され得る。しかしながら、これは、空間次元を有していなくてもよく、むしろ、アバタの視点からの関心誘引誘発要因の指向性であることができる。本タイプの関心誘引誘発要因は、一般的エリアまたは方向におけるイベントを表すために有用であり得る。例えば、光の点滅が、検出される(例えば、視認者のウェアラブルデバイスによって)場合、視認者のウェアラブルデバイスは、光の一般的方向を関心エリアとして表すことができる。有利なこととして、いくつかの実施形態では、これは、正確な位置または潜在的サッカード点のセットに頼らずに、仮想アバタが光の方向を見ることを可能にするであろう。
関心エリアの別の実施例は、音または雑音の一般的方向であることができる。図16Cは、視認者の環境内の音に基づくアバタレンダリングの実施例を図示する。図16Cは、2つの複合現実(MR)場面3150aおよび3150bを図示する。2つのMR場面は、Aliceの環境と関連付けられてもよく、Aliceは、Aliceのウェアラブルデバイス902を介して、Bobのアバタ1100を知覚することができる、ヒト(図示せず)である。Aliceのウェアラブルデバイス902は、最初に、場面3150a内において、西(座標系3154によって示されるように)に向き、その足を見ているように、Bobのアバタ1100をレンダリングしてもよい。Aliceのウェアラブルデバイス902は、Aliceの環境内の大きな雑音3152(例えば、オーディオセンサ232によって入手されたデータを介して)を検出し得る。雑音3152の原点を正確に示す必要なく、Aliceのウェアラブルデバイス902は、雑音が一般的方向3156から生じたことを決定することができる。ウェアラブルデバイス902は、故に、雑音に反応するようにアバタの配向および頭部姿勢を変化させることができる。場面3150bに示されるように、ウェアラブルデバイス902は、アバタの1100配向を西向きから東向きに変化させ、アバタ1100の頭部姿勢または眼視線方向を雑音3152に向かって方向3156を見るように変化させることができる。
関心エリアは、視認者の環境内に固定位置を有し得ないため、関心誘引エリアは、アバタが応答可能であるために仮想アバタの視錐内にあるように要求されない(例えば、コーンまたはレイキャスティングが仮想アバタの視高から実施されるとき)。故に、図16Cに示されるように、アバタは、アバタの背後から生じる音源に応答することができる。アバタは、その視野内の音源に応答することに限定されない。
音または光の一般的方向に加えて、またはその代替として、関心エリアはまた、アバタが、環境内の領域を周期的にチェックし、以前の刺激が存在するかどうかを決定し得るように、以前の刺激のメモリと関連付けられることができる。例えば、図16Cでは、いったん音3152が、フェーディングすると、アバタ1100は、場面3150aに示されるように、その以前の姿勢および配向に戻り得る。関心誘引誘発要因の時間減衰は、下記にさらに説明される。しかしながら、ウェアラブルシステムは、その特定の時間において、その方向における音3156が存在しない場合でも、音源の方向を見るために、その姿勢または配向を場面3150bに示されるものに周期的に変化させるように、アバタ1100をレンダリングしてもよい。別の実施例として、アバタ1100は、最初に、環境内の関心アイテム(例えば、仮想イヌ等)を見ている場合がある。関心アイテムは、環境から退出し得る(例えば、仮想イヌが別の部屋に移動したため)。しかしながら、アバタ1100は、関心アイテムが最後に現れた場所に時々目を向け、関心アイテムが環境内に再度現れるかどうかをチェックしてもよい。故に、いったん関心アイテムまたは関心誘引誘発要因が、環境内で識別されると、アイテムまたは誘発要因への関心低下を表すある時間減衰後、アバタは、アイテムまたは誘発要因に周期的に(または時々)戻ってチェックするかのようにレンダリングされてもよい。
仮想アバタはまた、関心誘引オブジェクトまたは関心エリア以外のコンテキスト要因にも応答することができる。仮想アバタの挙動は、アバタがその中に存在する、環境の特性に基づいて、変化してもよい。例えば、仮想アバタが、会議部屋環境内にレンダリングされる場合、視認者のシステムは、仮想アバタが過去の刺激と関連付けられる関心エリアに関してチェックする、尤度または頻度を低減させ得る(例えば、頻繁なチェックは、仕事または事業環境において不適切であり得る)。しかしながら、アバタが、自宅環境に存在するとき、仮想アバタは、過去の刺激と関連付けられる関心エリアに関してより頻繁にチェックしてもよい。別の実施例として、仮想アバタは、仮想アバタがその中に存在する、環境に基づいて、あるタイプの刺激に応答しないように構成されてもよい。上記の同一実施例を継続すると、仮想アバタが、会議環境内に存在する場合、視認者のウェアラブルシステムは、仮想アバタが、電子メッセージの到着を示す、ウェアラブルデバイスまたはから別のコンピューティングデバイスからのリングトーンに応答しないように構成されてもよい。故に、チェックするための頻度は、環境的に依存してもよく、例えば、数秒~数十秒毎、数分毎、1時間に数回の範囲内であってもよい。
環境内の関心誘引誘発要因を生成する実施例
視認者のウェアラブルシステムは、アバタがウェアラブルシステムによってレンダリングされる、ランタイム時、関心誘引オブジェクト3324の存在を検出する(例えば、図18)、または関心エリア3336を決定することができる。ウェアラブルシステムはまた、関心誘引オブジェクトまたは関心エリアの存在に基づいて、ランタイム時、関心誘引誘発要因を生成することができる。生成された関心誘引誘発要因は、例えば、その姿勢、配向、眼視線方向、移動を変化させることによって、発話することによって、発話を中止することによって等、アバタを関心誘引誘発要因に応答させ得る。
関心誘引誘発要因は、視認者の環境内の仮想または物理的刺激に結び付けられることができる。仮想刺激は、仮想コンテンツを環境内にレンダリングする、コンテンツエンジンから生成されたオブジェクトに明示的に結び付けられることができる。実施例として、関心誘引誘発要因は、視認者が仮想書籍のページをフリップすることに応答して、生成されることができる。別の実施例として、関心誘引誘発要因は、顔の表情(例えば、笑顔)または同一環境内にレンダリングされた別の仮想アバタの移動に基づくことができる。
実世界刺激は、デバイスセンサ(例えば、図3に示されるもの等)によって入手されたデータに基づいて、生成されることができる。ウェアラブルシステム200(例えば、刺激応答システム696)は、デバイスセンサから入手されたデータを分析し、検出および分類アルゴリズム(図7におけるオブジェクト認識装置708を参照して説明されるもの等)を介して、データを処理し、イベントのタイプ(例えば、あるオブジェクト、音、または光の存在)を決定することができる。ウェアラブルシステム200は、単独で、または遠隔処理モジュール270(または遠隔コンピューティングシステム920)と組み合わせて、ローカル処理およびデータモジュール260を使用して、そのようなイベント検出を実施することができる。検出および分類アルゴリズムの結果は、次いで、ウェアラブルシステム200によって処理され、関心誘引誘発要因を作成することができる。ある実装では、関心誘引誘発要因は、ウェアラブルシステム200によって記憶されてもよく、仮想アバタの知識ベースの一部であることができる。
図17は、実世界刺激に基づいて関心誘引誘発要因を生成する実施例を図示する。本図では、視認者は、ウェアラブルシステムを介して、場面3200内の人々のグループ(人物3210a-3210e)を知覚することができる。本場面3200からの関心誘引誘発要因の実施例は、個別の人物3210a-3210dと関連付けられるソーシャルトライアングル3212a-3212dである。ウェアラブルシステム(例えば、刺激応答システム)は、例えば、1つまたはそれを上回るオブジェクト認識装置708に基づいて、環境内の人物3210a-3210eの存在を検出することができる。1つまたはそれを上回るオブジェクト認識装置708は、環境内の人物3210a-3210dの顔の存在を検出するために、種々の顔検出アルゴリズムまたは骨格推定アルゴリズムを採用することができる。いったん検出されると、ソーシャルトライアングル3212a-3212dは、ウェアラブルシステムが本データに効率的にアクセスし得るように、仮想アバタの知識ベースの中に挿入されてもよい。有利なこととして、いくつかの実施形態では、ウェアラブルシステムは、複合現実環境内の他のヒト(および視認者)と注意を共有するようにアバタをレンダリングすることによって、仮想アバタの存在を向上させ、視認者と仮想アバタとの間の双方向体験を改良する。
図17には図示されないが、視認者のソーシャルトライアングルもまた、関心誘引誘発要因であることができ、例えば、アバタは、直接、視認者(例えば、ウェアラブルディスプレイデバイスの装着者)と相互作用することを所望し得る。ウェアラブルシステムは、視認者の頭部位置に基づいて(例えば、外向きに面した結像システム464、IMU等から入手されたデータに基づいて)、視認者のソーシャルトライアングルの位置および配向を取得することができる。ウェアラブルシステムは、ユーザの環境の世界フレームに対する頭部姿勢を計算することができる。ウェアラブルシステムはまた、視認者が環境内で動き回るにつれて、視認者のソーシャルトライアングルの位置および配向を追跡および更新することができる。視認者のソーシャルトライアングルはまた、仮想アバタによる相互作用のために、仮想アバタの知識ベースの中に挿入されることができる。
ある実装では、ソーシャルトライアングルの関心誘引度は、顔の表情の検出された変化に関して変調されることができる。ウェアラブルシステムは、人物の顔の表情に基づいて、人物のソーシャルトライアングルと関連付けられる関心誘引度値を修正することができる。例えば、実世界のヒトの顔上の表情が、笑顔からしかめっ面に変化するにつれて、関連付けられるソーシャルトライアングルの関心誘引度値は、上昇し得る(顔の表情の本変化に起因して)。
ウェアラブルシステムはまた、オーディオデータ(例えば、オーディオセンサ232によって入手されたデータ)に基づいて、新しいソーシャルトライアングルを識別することができる。これは、仮想アバタが、発話している個人(環境内の非話者より大きい関心誘引度値を有し得る)を見ることを可能にすることができ、これは、仮想キャラクタの存在を増加させるであろう。例えば、ウェアラブルシステムは、オーディオセンサ232を介して、発話を捕捉し、視認者の環境内の話者の位置を検出することができる。話者の位置に基づいて、ウェアラブルシステムは、以前に検出されていないソーシャルトライアングルを検出し、話者と関連付けられる新しいソーシャルトライアングルを作成することができる。例えば、図17では、ウェアラブルシステムは、人物3210eに関するソーシャルトライアングルを検出しなかった(例えば、人物3210eは、ウェアラブルシステムがその世界マップを更新する前に、場面に進入している場合がある)。しかしながら、ウェアラブルシステムは、人物3210eによる発話を捕捉し得る。本発話データは、ウェアラブルシステムに、人物3210eと関連付けられる画像の領域を再分析させ得、故に、場面3200内の新しいソーシャルトライアングル(人物3210eと関連付けられる)を識別し得る。ウェアラブルシステムは、その世界マップを更新し、人物3210eの存在および本人物と関連付けられるソーシャルトライアングルを反映させることができる。さらに、ウェアラブルシステムは、ヒトが、環境に進入してきた新しい人々に関心を持つ傾向にあり、その方向を見る傾向にあるため、人物3210e(またはそのソーシャルトライアングル)と関連付けられる関心誘引度値を増加させ得る。
ウェアラブルシステムはまた、オーディオデータに基づいて、関心誘引度値を増加させることができる。例えば、ウェアラブルシステムは、ウェアラブルシステムが、ソーシャルトライアングルと関連付けられる人物が発話していることを検出する場合、ソーシャルトライアングルの関心誘引度値を増加させることができる。代替として、ウェアラブルシステムは、ウェアラブルシステムが、ソーシャルトライアングルと関連付けられる人物が発話していない、またはある時間周期にわたって発話しなかったことを検出する場合、ソーシャルトライアングルの関心誘引度値を減少させることができる。有利なこととして、いくつかの実施形態では、オーディオデータに基づいて、ソーシャルトライアングルの関心誘引度値を増加(または減少)させることによって、ウェアラブルシステムは、有利なこととして、仮想アバタが発話している個人の方を見ることを可能にし、仮想アバタにその注意をより高い関心誘引度値を伴う別のオブジェクトに逸させ得る、関心誘引度値減衰を回避することができる。
図17はまた、複数の視線ボックス3214a、3214c、3214d、および3216を示す。視線ボックスは、物理的オブジェクト(それぞれ視線ボックス3216および3214aに対応する、リュックおよびカップ等)または物理的オブジェクトの一部(それぞれ、視線ボックス3214cおよび3214dに対応する、足または手等)のために生成されることができる。ウェアラブルシステムは、オブジェクト認識装置708を使用して、物理的オブジェクト(またはその一部)を識別することができる。例えば、オブジェクト認識装置708は、画像分類子を含むことができ、これは、視線ボックスに変換され得る、オブジェクトの3D位置および境界を提供することができる。視線ボックスはまた、仮想アバタの知識ベースの中に挿入されることができ、これは、後に、仮想アバタの注意を決定するために使用されることができる。
生成された視線ボックスの関心誘引度は、オブジェクトタイプ(例えば、オブジェクトと関連付けられる意味論情報として、オブジェクト認識装置708によって決定されることができる)および仮想キャラクタの性格(または気質)を使用して、変調されることができる。例えば、視線ボックスは、ソーダ缶と関連付けられてもよく、仮想アバタは、喉渇特徴を有する。ソーダ缶の生成された視線ボックスと関連付けられる関心誘引度値は、増加され得る。しかしながら、ヒト対応者が水を飲んだばかりであるため、またはアバタが水を飲んだばかりであるため(その仮想環境内でアニメーション化されるように)、アバタが、現時点で喉が渇いていない場合、ソーダ缶の視線ボックスと関連付けられる関心誘引度値は、減少し得る。別の実施例として、関心オブジェクトが、イヌであって、仮想アバタが、イヌに恐怖心を有する場合、イヌ(またはイヌの視線ボックス)と関連付けられる関心誘引度値は、増加し得る。いくつかの実装では、イヌが、仮想アバタのより近くに移動するにつれて、関心誘引度値の増加量は、より高速となり、増加された恐怖心を表し得る。高関心誘引度値は、仮想アバタに、イヌとの自然なヒトの相互作用を反映させる挙動を実施させる、例えば、イヌを見る、またはイヌから離れるように移動させてもよい。本実施例を継続すると、アバタとイヌとの間の距離が増加するにつれて、イヌと関連付けられる関心誘引度値は、減少し得、関心誘引度値が、閾値を下回って低下すると(イヌがもはやアバタにとって脅威ではないことを表し得る)、アバタは、イヌから離れるように移動することを停止するようにレンダリングされてもよい。したがって、環境内のオブジェクトと関連付けられる関心誘引度値を増加および減少させることは、ウェアラブルシステムが、自然かつ現実的なアバタ挙動をレンダリングすることを可能にする。
関心誘引オブジェクト(例えば、視線ボックスまたはソーシャルトライアングル)の関心誘引度値はまた、視認者の注意に基づいて、変調されることができる。例えば、視認者が、視線ボックスまたはソーシャルトライアングルを見ている場合、視線ボックスまたはソーシャルトライアングルと関連付けられる関心誘引度値もまた、視認者の環境内の仮想アバタに関して増加し、それによって、アバタもまた視線ボックスまたはソーシャルトライアングルを見るようにレンダリングされるであろう、尤度を増加させ得る。
標的関心誘引誘発要因を識別する実施例
ウェアラブルシステムは、関心誘引誘発要因の知識ベースを通して周期的に走査し、最も関心を誘引する誘発要因を標的関心誘引誘発要因として選択することができる。いったん標的関心誘引誘発要因が、選択されると、ウェアラブルシステムは、例えば、アバタがその注意を標的関心誘引誘発要因上に集中させているかのようにアバタを配向することによって等、標的関心誘引誘発要因と相互作用するように、アバタをレンダリングすることができる。
図18は、標的関心誘引誘発要因を識別する実施例を図示する。図18における環境3300は、その中にAliceのアバタ1000がレンダリングされる、複合現実環境であってもよい。本複合現実環境は、Bobのウェアラブルデバイス904によってレンダリングされることができる。環境3300は、物理的関心誘引オブジェクト3324および3322を含むことができ、これは、環境内の物理的オブジェクトの一部であってもよい。例えば、物理的関心誘引オブジェクト3324および3322は、視線ボックスと関連付けられてもよい。環境3300はまた、仮想関心誘引オブジェクト3312および3314を含むことができる。仮想関心誘引オブジェクト3312および3314は、複合現実環境3300内でAliceのアバタ1000およびBobによって共有され得る、仮想オブジェクトであってもよい。環境3300はまた、ソーシャルトライアングル3334を含むことができ、これは、Bob(Aliceのアバタ1000の視認者であり得る)のソーシャルトライアングルであってもよい。環境3300はまた、関心誘引エリア3336を含むことができる。物理的関心誘引オブジェクト3324、3322、仮想関心誘引オブジェクト3312、3314、ソーシャルトライアングル3334、および関心誘引エリア3336(例えば、関心誘引エリアの場所、方向、または境界)は、仮想アバタの1000の知識ベースの一部であることができる。
本実施例では、Bobのウェアラブルデバイス904は、デフォルトによって、Aliceのアバタが関心誘引エリア3336を見るようにレンダリングすることができる(アバタ1000の眼移動の領域を示す、サッカード錐3310によって示されるように)。しかしながら、環境3300内の関心誘引オブジェクトは、アバタ1000のために実施されるコーンキャスティングの一部であり得る、視錐3320に対して分析されることができる。いくつかの状況では、サッカード錐または視錐は、それぞれ、サッカード錐台または視覚的錐台とも称され得る。
標的関心誘引誘発要因を決定するとき、Bobのウェアラブルデバイス904は、仮想アバタ1000の頭部姿勢および眼視線に基づいて、コーンキャスティングを実施することができる。例えば、コーンのパラメータは、アバタ1000の現在の眼方向、仮想アバタの1000頭部の水平角度または垂直角度、頭部の速さ、または眼の速さに基づいて、生成されることができる。例えば、コーンキャスティングの間、仮想コーンが、仮想アバタ1000から複合現実環境の中に投射されてもよい(視錐3320によって示されるように)。仮想アバタが、その頭部または眼視線方向を移動させるにつれて、方向または移動(例えば、移動速さ)が、アバタの頭部または眼の移動および方向に従って調節されてもよい。ある実装では、コーンの水平角度または垂直角度は、仮想アバタの性格および気質によって変調される一方、頭部の速さおよび現在の眼方向は、キャラクタのアニメーションから決定されることができる。例えば、アバタ1000が、考え込みモードにある場合、アバタ1000は、環境3300の床を見下ろしていてもよい。別の実施例として、アバタが、積極的性格を有する場合、仮想アバタは、その頭部を頻繁に移動させ得る。
図18に示される実施例では、視錐3320は、物理的関心誘引オブジェクト3324、関心誘引エリア3336、ソーシャルトライアングル3334、および仮想関心誘引オブジェクト3314を捕捉することができる。ウェアラブルシステムは、これらの関心誘引オブジェクトおよび関心誘引エリアと関連付けられる関心誘引度値(例えば、図30Aおよび30Bを参照して説明される)を計算し、標的関心誘引誘発要因を決定することができる。例えば、ウェアラブルシステムは、その関心誘引誘発要因が最高関心誘引度値を有するとき、関心誘引誘発要因を標的関心誘引誘発要因として選択することができる。
ある実装では、ウェアラブルシステムは、アバタの視野(視錐3320によって決定され、表され得る)内のオブジェクトおよびエリアに関する関心誘引誘発要因のリストを維持する。関心誘引誘発要因が、アバタの視野内にない場合、関心誘引誘発要因は、リストから選抜されてもよい。例えば、仮想アバタが、その右を見るとき、物理的関心誘引オブジェクト3324は、視錐3320外に外れ得る一方、物理的関心誘引オブジェクト3322は、視錐3320の内側に移動し得る。その結果、物理的関心誘引オブジェクト3324の情報は、関心誘引誘発要因のリストから除去される一方、物理的関心誘引オブジェクト3322(アバタの視野外にあった)と関連付けられる情報は、関心誘引誘発要因のリストに追加されてもよい。物理的関心誘引オブジェクト3324は、物理的関心誘引オブジェクト3324が仮想アバタ1000の視野内にない場合でも、アバタの知識ベース内に留まってもよい。加えて、または代替として、オブジェクトが、アバタの視野外に出るにつれて、オブジェクトと関連付けられる関心誘引度値は、減少され、アバタがオブジェクトと相互作用するであろう減少された尤度を反映させてもよい。逆に言えば、オブジェクトが、アバタの視野の中に入るにつれて、オブジェクトと関連付けられる関心誘引度値は、増加され、アバタがオブジェクトと相互作用するであろう増加された尤度を反映させてもよい。
関心誘引誘発要因のリストは、環境3300内または視錐3320内のオブジェクト(実または仮想)の関心誘引度値に基づいて、ソートされてもよい。関心誘引度値は、オブジェクトの本来の関心誘引度-関心誘引度減衰に基づいて、計算されることができる。オブジェクトの本来の関心誘引度は、例えば、環境情報、関心誘引誘発要因と関連付けられる相互作用またはトリガイベント、オブジェクトの特性(例えば、移動するオブジェクトは、静的オブジェクトより高い関心誘引度値を有し得る)、アバタ(またはそのヒト対応者)の性格、視認者の特性または相互作用等のコンテキスト要因に基づいてもよい。例えば、関心誘引オブジェクトは、アバタ1000または視認者が、関心誘引オブジェクトと相互作用する場合、その関心誘引度値を上昇させ得る。別の実施例として、視認者が、発話している場合、視認者と関連付けられるソーシャルトライアングル3334は、増加された関心誘引度値を有し得る。ある実装では、本来の関心誘引度を増加または減少させるのではなく、これらのコンテキスト要因のうちの1つまたはそれを上回るものはまた、本明細書に説明されるように、関心誘引度減衰を調節するためにも使用されることができる。
関心誘引度減衰は、関心誘引度値と関連付けられる減衰または増幅率と関連付けられることができる。関心誘引度減衰は、時間またはトリガイベントに基づくことができる。例えば、仮想書籍のページをフリップすることは、仮想書籍と関連付けられる関心誘引度減衰の減少を生じさせる(関心誘引度値の増加に匹敵する)、または関心誘引度減衰を減速させ得る。別の実施例として、環境内の爆発音は、爆発を有するエリアと関連付けられる関心誘引度値の急増を生じさせるであろう(本来の関心誘引度に加え)。
標的関心誘引誘発要因に基づくアバタアニメーションの実施例
いったん関心誘引誘発要因が、標的関心誘引誘発要因として選択されると、関心誘引誘発要因の特性(例えば、関心誘引誘発要因のタイプ、関心誘引誘発要因と関連付けられる反応のタイプ等)は、潜在的アニメーションおよび台詞等の大きな挙動から、感情応答、眼の注意、およびサッカード運動等のより小さな挙動まで、アバタの相互作用を決定することができる。例えば、標的関心誘引誘発要因が、音であるとき、視認者のウェアラブルシステムは、「何があったの?」と発する台詞をアバタの近傍に提示し、および/またはアバタを音の方向に向かって見ているようにアニメーション化することができる。別の実施例として、標的関心誘引誘発要因が、別の顔のソーシャルトライアングルである場合、ウェアラブルシステムは、アバタの眼移動をソーシャルトライアングル内のサッカード運動としてレンダリングすることによって、アバタの注意をソーシャルトライアングルに指向することができる。
サッカード運動は、サッカード率を通して調整されることができ、これは、アバタの眼視線があるサッカード点から別のサッカード点に切り替えられる頻度を制御することができる。アバタのサッカード眼球運動が切り替えられる時間および場所を決定するために、サンプルサッカード点が、サッカードタイミングのランダム化されたウィンドウから選択されることができ、いったんその時間が経過すると、新しいサッカード点が、選定されることができる。サッカード率は、例えば、仮想アバタの気質および感情等の仮想アバタの特性によって、変調されることができる。例えば、興奮している、または怒っていると、サッカード率を増加させ得る一方、退屈または無気力であると、サッカード率を減少させ得る。アバタに関するサッカード率は、ヒトに関するサッカード率を表し得る。例えば、サッカードは、約20ms~約200ms持続し得、約10度/秒~数百度/秒等の角速度を有し得る。
図19は、サッカード点に基づいてアバタをアニメーション化するための眼姿勢および顔変換の実施例を図示する。図19は、眼3610および顔3600を示す。眼3610は、眼座標3612と関連付けられることができ、顔3600は、顔座標3602と関連付けられることができる。
ウェアラブルシステムは、顔に対する結果として生じる眼姿勢(例えば、選択されたサッカード点に基づいて決定されるように)を固有受容感覚システム内に記録することができる。固有受容感覚システムは、例えば、ユーザがアバタを見る必要なく、アバタの腕が上昇されるときの把握等、アバタの身体の任意の種類の知識を維持することができる。固有受容感覚システムはまた、例えば、頭部と胴体との間または頭部と眼との間の相対的回転等、異なる身体部分に対する回転のための式を保持することができ、これは、図38A-39を参照して説明される違和感曲線の一部であってもよい。固有受容感覚システムは、アバタの身体部分の相対的位置を維持するために、アバタのローカルフレームを基準としてもよい。固有受容感覚システムは、アバタ処理およびレンダリングシステム690のコンポーネントとして、例えば、解剖学的構造調節システム698の一部として実装されることができる。
図19に戻って参照すると、顔に対する結果として生じる眼姿勢は、眼/顔デルタとして計算されることができる。眼/顔デルタは、2つの角度、すなわち、水平角度と、垂直角度とに分解されることができ、水平角度は、座標3612および3602に示されるx-軸およびz-軸に対する角度であることができ、垂直角度は、座標3612および3602に示されるx-軸およびy-軸に対する角度であることができる。顔座標3602内の水平角度は、左から右(または右から左)へのアバタの頭部の方向転換のアニメーションを駆動するために使用されることができる一方、顔座標3602内の垂直角度は、見下ろすことから見上げること(または見上げることから見下ろすこと)の頭部ピッチのアニメーションを駆動するために使用されることができる。顔座標3602内の水平および垂直角度は、眼3610を左または右を見ることまたは上または下に転動させることのアニメーションを駆動するために使用されることができる。
いくつかの実施形態では、眼姿勢および頭部姿勢のアニメーションは、少なくとも部分的に、違和感曲線に基づいて、決定されることができ、これは、頭部と眼との間の相対的位置に起因して、生物学的違和感を表す値を低減または最小限にすることができる(アバタがヒトであるかのように)。例えば、アバタは、眼の位置が眼窩の縁に近すぎる場合、頭部を若干方向転換させ得る。
例示的ユーザ視線評価およびアバタカスタマイズ
いくつかの実施形態では、アバタ特性は、それを用いてユーザがアバタの視線の方向を判断し得る、正確度を最適化するために、アバタと関連付けられるコンテキストに基づいて決定されてもよい。上記に述べられたように、コンテキスト(またはコンテキストパラメータ)は、例えば、デバイスのタイプ(例えば、仮想現実ヘッドセット、拡張現実ヘッドセット、モバイルコンピューティングデバイス、スマートフォン等)、ユーザデバイスの特性(例えば、グラフィックカード仕様、画面サイズ等)、アバタの環境(例えば、アバタが、現在位置付けられている、または位置付けられるであろう、エリア内の照明条件)、および/または眼追跡システムの正確度等、仮想現実環境のまたはそれに関連する、任意の特性を含んでもよい。これらのコンテキストパラメータは、ユーザがアバタの視線方向を判断し得る程度に影響を及ぼし得、これは、非言語的通信のために重要であり得る。
下記にさらに議論されるように、コンテキストパラメータおよび/またはアバタ特性の種々の組み合わせ下で視線検出正確度を評価するための例示的プロセスが、最初に、実施され得、次いで、本試験の結果は、特定のコンテキストに関するアバタ特性を決定するために使用されてもよい。アバタ特性は、例えば、アバタの顔および/または眼の写実性/忠実性または陰影、可視虹彩対強膜の比、眼移動(例えば、サッカードタイプ)等、アバタの性質を含んでもよい。したがって、視線評価プロセスは、特定のコンテキストに関するアバタの最適アバタ特性の選択および/または設計を知らせる役割を果たし得る。いくつかの実施形態では、アバタ特性は、コンテキストパラメータを含む、および/またはそれと関連付けられる。例えば、複合現実環境のエリア内の照明を示す、コンテキストパラメータは、複合現実環境のそのエリア内にレンダリングされたアバタに関する1つまたはそれを上回る陰影、テクスチャ、色、および/または類似アバタ特性と関連付けられ得る。
視線評価システムは、アバタが、直接、ヒト観察者を見ているときを指す、直視(例えば、図21A参照)、およびアバタが、それを注視することによって、ユーザの注意を着目オブジェクトに引き付けるときを指す、参照視(例えば、図21B参照)の正確な知覚に関する最適アバタ特性の選択を含んでもよい。特定のコンテキスト(例えば、コンテキストは、環境照明条件、ヘッドセットの視覚的レンダリング/処理制約、ヘッドセット上の眼追跡システム、および/または他のコンテキストパラメータであり得る)における、ユーザによるアバタの視線の最も正確な(および少なくとも正確な)弁別を引き起こす、アバタ特性の識別は、次いで、コンテキストパラメータに基づいて、ユーザシステムによって自動的に選択されてもよい。
図20は、視線評価および実装システムの例示的概要を図示する、フローチャートである。本プロセスは、ウェアラブルヘッドセットおよび/またはローカルまたは遠隔コンピューティングシステムによって実施されてもよい。ブロック2010から開始して、1つまたはそれを上回る視線評価プロセスが、実施され、コンテキストパラメータおよびユーザの能力の種々の組み合わせ間の関係を決定し、それらの環境内のアバタの視線方向を正確に検出する。例えば、図21Aおよび21Bは、視線評価試験環境の実施例を図示する。
次に、ブロック2020では、視線評価試験(例えば、ブロック2010)の結果が、複数のユーザで実施される特定のコンテキストパラメータに関する試験等を横断して評価される。分析の結果は、コンテキストパラメータの特定の組み合わせがユーザのあるコホート(例えば、特定の仮想現実デバイスまたはデバイス処理能力を伴う、ユーザ)の視線検出正確度に影響を及ぼす程度を示し得る。図22および23は、例示的視線評価プロセスからの試験結果を図示する。
ブロック2030では、仮想環境に提示される、アバタは、仮想環境と関連付けられる、コンテキストパラメータに基づいて、カスタム選択されてもよい。
例示的視線評価
一般に、視線評価は、ヒト観察者に、アバタが、(x、y、z方向に)標的の周囲にランダムに分散される不可視注視点間において、サッカード運動する、または固視点を変化させるにつれて、ウェアラブルヘッドセット(および/または他のディスプレイデバイス)を通して、アバタを視認させることによって実施され得る。ユーザは、次いで、アバタが、ユーザ自身または別の着目オブジェクト等、特定の標的を注視していたかどうかのその知覚について尋ねられ得る。したがって、ヒト観察者は、環境のコンテキストと関連付けられる、アバタの視線について判断を行う。
図21Aの例示的試験環境では、本プロセスは、可変写実性の3つの異なるアバタ2104を横断して、アバタ視線を評価する。本実施例では、ユーザ2102は、直視、すなわち、彼らが、アバタ2104が、直接、彼らを見ていると感じるかどうかの判断を行う。注視と識別される視線の範囲は、次いで、試験およびユーザを横断して集約され得る。各セッションでは、これらの視線判断に影響を及ぼし得る、アバタの性質、例えば、写実性/忠実性、アバタの顔および/または眼の陰影、可視虹彩対強膜の比、眼移動(例えば、サッカードタイプ)等のアバタ特性が、調節される。したがって、これらの評価プロセスは、特定のコンテキスト(例えば、高照明条件)に関する最適アバタ特性(例えば、高写実性)の選択を可能にする、視線正確度データを提供し得る。
図21Aの特定の実施例では、アバタの写実性(または忠実性)が、交互される。本実施例では、3つのアバタ、すなわち、高写実性アバタ2104C、中写実性アバタ2104B、および低写実性アバタ2104Aが、図示される。アバタは、ユーザ2102の周囲にランダムに分散された不可視注視標的を見ているように、ランダム化された順序に示され得る。不可視標的を含有する、球体2103が、Xによって分界される、ユーザの頭部姿勢の周囲に心合される。本実施例では、コンテキストパラメータもまた、交互される。例えば、視認距離が、60cm~150cm(または任意の他のより小さいまたはより大きい距離範囲)間で変動される。他の実施形態では、他のアバタ特性および/またはコンテキストパラメータが、フィードバック取得プロセスの一部として調節されてもよく、ユーザは、アバタ特性および/またはコンテキストパラメータの種々の組み合わせに関するアバタの視線方向に関する情報を提供する。
一例示的試験環境では、特定のウェアラブルヘッドセット(例えば、特定のモデルおよびブランドのAR/VR/MRヘッドセット)を装着している、正常視覚を伴う、複数の参加者(例えば、数十、数百、数千、またはそれを上回る)が、カスタム試験アプリケーションにおいて、アバタを視認する。各参加者は、60cm~150cm等の複数の視認距離(例えば、2つ、3つ、4つ、またはそれを上回る)のそれぞれにおいて、可変写実性の複数のキャラクタ(例えば、3つのキャラクタ)(例えば、高写実性アバタ2104C、中写実性アバタ2104B、および低写実性アバタ2104A)等の条件のセット(例えば、アバタ特性およびコンテキストの6つの組み合わせ)を体験し得る。本例示的試験環境では、アバタ頭部は、参加者の高さに示される、ほぼ成人のヒトの頭部のサイズおよび形状である。デバイス上ハードウェアおよびアルゴリズムが、参加者の場所(例えば、その眼間の点を追跡することによって示される)を予測するために使用されてもよい。試験アプリケーションは、アバタに、全ての方向(x、y、z)において、参加者上およびその周囲のランダムに選択された不可視標的点を見させるように構成される。例えば、注視標的のランダム分布は、最小/最大約-70/70を伴う、約5cmの各方向に標的標準偏差を伴う、分布から選択されてもよい。アバタの視線は、サッカード運動のモデルを伴う、現実的視線系によって駆動されてもよい。例えば、アバタは、毎回、2~3秒の持続時間にわたって注視を保持しながら、15個の不可視標的間で、サッカード運動する、または固視点を変化させてもよいが、他の数の標的および/または注視持続時間も、使用されてもよい。
試験環境のいくつかの実装では、参加者は、遠隔制御を保持し、彼らがアバタがその眼を直視していると感じる度に、制御トリガを押下するように命令される。他の実施形態では、他の入力デバイスが、ユーザの視線知覚に関するユーザに対する入力を受信するために使用されてもよい。例えば、発話入力が、いくつかの実施形態では、使用されてもよく、例えば、ユーザが、ユーザがアバタがその眼を直視していると知覚するとき、「今」またはある他の単語を発話する。知覚の正確度が、次いで、それを用いて知覚される注視(例えば、ユーザがトリガを押下した場所)がユーザの頭部姿勢の周囲(その眼間の点)にクラスタ化される程度によって、定量化されることができる。ユーザはまた、アバタの視線および/または他のソーシャルプレゼンスキューの知覚におけるその信頼度を格付けしてもよい。いくつかの実装では、結果は、その中でユーザがアバタが直接彼らを見ていると知覚する、範囲を説明する、「視線円錐」を展開するように分析される。
図22は、例示的視線弁別試験からの結果を図示する。これらのグラフは、高写実性アバタ、中写実性アバタ、および低写実性アバタを含む、仮想キャラクタからの直視として知覚される、全ての注視のユーザの頭部姿勢(0,0)からのオフセット(例えば、cm単位)を示す。これらのアバタのそれぞれからの結果は、異なる色の楕円形を介して示される。楕円形中心は、対象(例えば、視線円錐中心)を横断した参加者の頭部姿勢からの平均オフセットを表す。楕円形の幅および高さは、左/右および上/下方向における、対象を横断した、直視として知覚される全ての注視オフセット(例えば、視線円錐範囲)の全ての標準偏差の平均値を表す。左および右グラフは、60cm~150cm視認距離条件に関する結果を示す。下記にさらに議論されるように、直視として知覚される視線の領域は、概して、低写実性アバタおよび/またはより長い視認距離で視認されるアバタに関してより大きい。加えて、視覚的詳細を殆ど伴わないと、観察者は、概して、直視と仮定するが、また、その視線方向の判断においてあまり確信的ではない。
図22に示されるように、特に、より短い視認距離(例えば、左チャートにおける60cm)では、視線円錐の中心は、低、中、および高写実性アバタ毎に、異なるようにオフセットされる。例えば、視線円錐中心は、高写実性アバタに関して、約(0,1)、中写実性アバタに関して、(-0.5,0.25)、および低写実性アバタに関して、(-0.8,-0.25)にある。これらの視線円錐中心は、アバタの写実性のレベルに基づいて、アバタに関する視線姿勢の適切なオフセットを決定する際に使用されてもよい。図22はさらに、視線円錐幅(例えば、楕円形の幅および/または高さ)が、概して、より近い距離(例えば、60cm視認距離)において、写実性のレベルが増加するにつれて増加することを図示する。より長い視認距離(例えば、150cm視認距離)では、写実性の異なるレベルにおける視線円錐幅の差異は、それほど広範ではなくなり得る。例えば、図22では、高および中写実性アバタに関する視線円錐幅は、類似する。ともに、これらの発見は、写実的アバタが改良された視線知覚を可能にすることを示唆する。
AR/VRにおける眼追跡技術が、アバタ視線を駆動するために発展し続けるにつれて、本視線評価試験および結果分析は、可変アバタ写実性のための正確度要件を決定することに役立ち得る。例えば、直視を判断するための許容度範囲は、特定のアバタに関する許容される眼追跡誤差の閾値として捉えられ得る。したがって、アバタは、特定の眼追跡システムの正確度と一致して設計されることができる。アバタ特性(例えば、頭部および身体方向)は、本または類似視線知覚試験の結果に基づいて調節されてもよい。いくつかの実装では、視線知覚は、ヒトとアバタとの間の対人通信を査定するための一次挙動メトリックとして、成果を測定する、二次メトリックに先立って、測定されてもよい。共同タスクに関する完了時間等の二次成果メトリックは、通信成功の高レベル査定を提供するが、それらは、その中でシステムが欠いている、通信の具体的側面に関する情報をもたらし得ない。本評価パラダイムは、相互注視、参照視、または非言語的通信の他の基盤の知覚を査定するための手段をもたらす。
図21Bの例示的試験環境では、ユーザは、参照視、すなわち、彼らがアバタ2104が見ていることを知覚する、ブロック2106(例えば、ブロック2106Aおよび/またはブロック2106B)の判断を行う。注視と識別された視線の範囲が、次いで、試験およびユーザを横断して集約され得る。各セッションでは、これらの視線判断に影響を及ぼし得る、アバタの性質、例えば、写実性/忠実性、アバタの顔および/または眼の陰影、可視虹彩対強膜の比、眼移動(例えば、サッカードタイプ)等のアバタ特性が、調節される。したがって、これらの評価プロセスは、特定のコンテキスト(例えば、高照明条件)に関する最適アバタ特性(例えば、高写実性)の選択を可能にする、視線正確度データを提供し得る。
図23は、複数の評価セッションを横断した、アバタ特性(例えば、低、中、および高写実性アバタ)およびコンテキストパラメータ(例えば、標的からの度または距離)を横断して比較される、例示的結果(例えば、ユーザおよび/またはユーザによって示される標的注視を含む)を図示する、グラフである。本実施例では、各球体は、ユーザの95%が、直接、標的を見ていると知覚する、標的2302の周囲のエリアを表す(例えば、図21Aにおける標的は、ユーザであって、図21Bにおける標的は、ブロック2106である)。したがって、球体が小さいほど、より正確に、ユーザがアバタの視線を知覚する。球体の各色は、異なるアバタ特性を伴う、視線評価試験を表し、例えば、球体2304Aは、低写実性アバタと関連付けられ、球体2304Bは、中写実性アバタと関連付けられ、球体2304Cは、高写実性アバタと関連付けられる。上記に述べられたように、他のアバタ特性も同様に、変動および可視化されてもよい(例えば、アバタの顔および/または眼の陰影、可視虹彩対強膜の比、眼移動等)。示されるように、高アバタ写実性(球体2304C)は、視線注視のより正確な判断をもたらし、したがって、最適と見なされる。
例示的アバタカスタマイズ
上記に述べられたように、いくつかの実施形態では、図21Aおよび21Bを参照して議論されるような視線検出試験の結果は、種々のコンテキストパラメータに基づいて、最適アバタ(および/または選択されたアバタの具体的アバタ特性)の選択において使用されてもよい。例えば、最適アバタ特性は、主として、その上にアバタがレンダリングされることになる、特定のハードウェアに基づいてもよい。例えば、特定のVRヘッドセットの処理速度、帯域幅、グラフィック能力、眼追跡能力、および同等物は、VRヘッドセット上にレンダリングされることになる1つまたはそれを上回るアバタに関するアバタ特性を決定付け得る。故に、より高いグラフィック能力を伴う、VRヘッドセットは、例えば、デフォルトとして、より高い写実性アバタを使用してもよい一方、より低いグラフィック能力を伴う、VRヘッドセットは、デフォルトとして、より低い写実性アバタを使用してもよい。他のアバタ特性も、例えば、アバタが最初にレンダリングされるとき、および/またはコンテキストパラメータが変化するにつれて動的に、任意の1つまたはそれを上回るコンテキストパラメータに基づいて調節されてもよい。いくつかの実施形態では、ユーザは、ユーザの特定の必要性に基づいて、選択してもよい(例えば、潜在的に、デフォルトアバタ特性をオーバーライドする)。例えば、ユーザが、正確な視線弁別を所望し(例えば、彼らが、家族と会話している)、ユーザのデバイスの処理/レンダリング制約が存在しない場合、正確な視線弁別をもたらす、アバタ特性が、システムによって選択されてもよい。別の実施例として、ユーザが、プライバシを所望し、および/または処理/レンダリング制約が存在する場合、あまり正確ではない視線弁別をもたらす、アバタ特性が、システムによって選択されてもよい。
別の例示的実装では、いくつかのアバタが、仮想環境内に存在する(例えば、グループ会話に従事している)場合、異なるアバタ特性が、アバタ毎に選択されてもよい。アバタ特性は、コンテキストパラメータ(例えば、特定のアバタと関連付けられる)が変化するにつれて、調節されてもよい。例えば、アバタ毎に、視線弁別の重要度に応じて、1つのアバタは、単純な漫画のような眼を有してもよい一方、その他は、高度に写実的な眼を有してもよい。別の実施例として、本システムは主催者アバタに関して、参加者/聴取者アバタに関してよりも正確な視線弁別をもたらす、アバタ特性を選択してもよい。したがって、これらの他の参加者は、例えば、正確な視線弁別を犠牲にして、あまり写実的にされなくてもよく、これは、システムにかかる処理負荷を低減させ得る。
いくつかの実施形態では、アバタの視線は、眼追跡によって駆動されてもよく、眼追跡の正確度は、適切なアバタ特性を選択する際に使用される、コンテキストパラメータであってもよい。例えば、眼追跡正確度が、低い場合、正確な視線弁別を生じさない、性質を伴う、アバタが、好ましくあり得る(例えば、ユーザは、眼追跡駆動視線における誤差に対してより寛容であり得る、眼内に詳細を伴わない、単純な漫画のようなアバタを好み得る)。眼追跡の正確度とアバタ特性との間の関係は、上記に議論されるような評価プロセスを使用して試験され、アバタ特性の複数の組み合わせ毎に、ユーザによる視線弁別における誤差のレベルを判断してもよい。
他の考慮点
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、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つまたはそれを上回る付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。