詳細な説明
本明細書に説明されるように、ディスプレイシステム(例えば、拡張現実または仮想現実ディスプレイシステム)は、ユーザから異なる知覚深度におけるユーザへの提示のために仮想コンテンツをレンダリングし得る。拡張現実ディスプレイシステムでは、異なる深度面は、仮想コンテンツを投影するために利用されてもよく、各深度面は、ユーザからの特定の知覚深度と関連付けられる。例えば、異なる波面発散を用いて光を出力するように構成される、導波管のスタックが、利用されてもよく、各深度面は、対応する波面発散を有し、少なくとも1つの導波管と関連付けられる。仮想コンテンツが、ユーザの視野を中心として移動するにつれて、仮想コンテンツは、3つの離散軸に沿って調節されてもよい。例えば、仮想コンテンツは、仮想コンテンツがユーザからの異なる知覚深度に提示され得るように、X、Y、およびZ軸に沿って調節されてもよい。ディスプレイシステムは、仮想コンテンツが、ユーザからより遠くに、またはそれに対してより近くに移動されると知覚されるように、深度面間で切り替えてもよい。切替深度面は、仮想コンテンツを形成する光の波面発散を離散ステップにおいて変化させるステップを伴ってもよいことを理解されたい。導波管ベースのシステムでは、いくつかの実施形態では、そのような深度面切替は、光を出力し、仮想コンテンツを形成する、導波管を切り替えるステップを伴ってもよい。
いくつかの実施形態では、ディスプレイシステムは、ユーザの眼の視線を監視し、ユーザが固視している、3次元固視点を決定するように構成されてもよい。固視点は、とりわけ、ユーザの眼間の距離および各眼の視線方向に基づいて決定されてもよい。これらの変数は、三角形の1つの角における固視点および他の角における眼と三角形を形成すると理解され得ることを理解されたい。また、較正が、ユーザの眼の配向を正確に追跡し、それらの眼の視線を決定または推定し、固視点を決定するために実施されてもよいことを理解されたい。したがって、完全較正を受けた後、ディスプレイデバイスは、そのデバイスのメインユーザに関する較正ファイルまたは較正情報を有し得る。メインユーザは、本明細書では、較正されたユーザとも称され得る。較正および眼追跡に関するさらなる詳細は、例えば、「EYE TRACKING CALIBRATION TECHNIQUES」と題された米国特許出願第15/993,371号(参照することによってその全体として本明細書に組み込まれる)に見出され得る。
ディスプレイシステムは、時として、完全較正を完了していないゲストユーザによっても使用され得る。加えて、これらのゲストユーザは、完全較正を実施する時間を有していない、またはそのように所望しない場合がある。しかしながら、ディスプレイシステムが、ゲストユーザの固視点を実際に追跡しない場合、深度面切替は、ユーザのための現実的かつ快適な視認体験を提供するために適切ではない場合がある。
したがって、ディスプレイシステムの現在のユーザは、較正されたユーザまたはゲストユーザとしてカテゴリ化され得ることを理解されたい。いくつかの実施形態では、ディスプレイシステムは、例えば、現在のユーザによって提供される、および/またはそこから取得される、情報が較正されたユーザと関連付けられる情報に合致するかどうかを決定するための識別または認証プロセスを実施することによる、現在のユーザが較正されたユーザであるかどうかを決定することによって、現在のユーザをカテゴリ化するように構成されてもよい。例えば、認証または識別プロセスは、ユーザ名および/またはパスワードを尋ね、それを照合する、虹彩走査を行う(例えば、ユーザの虹彩の現在の画像と基準画像を比較することによって)、音声認識を行う(例えば、ユーザの音声の現在のサンプルと基準音声ファイルを比較することによって)、およびIPD合致のうちの1つまたはそれを上回るものであってもよい。いくつかの実施形態では、IPD合致は、現在のユーザのIPDが較正されたユーザのIPDに合致するかどうかを決定するステップを含んでもよい。合致が存在する場合、現在のユーザは、いくつかの実施形態では、較正されたユーザであると仮定され得る。合致が存在しない場合、現在のユーザは、いくつかの実施形態では、較正されたユーザではない(例えば、ゲストユーザである)と仮定され得る。いくつかの他の実施形態では、複数の認証プロセスが、現在のユーザに関して、現在のユーザが較正されたユーザであるかどうかの決定の正確度を増加させるために行われてもよい。
いくつかの実施形態では、現在のユーザが、較正されたユーザではない(例えば、ゲストユーザである)と決定される場合、ディスプレイシステムは、コンテンツベースの深度面切替を使用してもよい。例えば、ユーザの眼の固視点を決定し、固視点が位置する深度面に基づいて、深度面を切り替えるのではなく、ディスプレイシステムは、3D空間内においてそのコンテンツ(例えば、仮想オブジェクト)が設置されるように規定される、適切な量の波面発散を用いて、コンテンツを表示するように構成されてもよい。仮想オブジェクトは、関連付けられる場所または座標をユーザの周囲の3次元体積内に有し得、ディスプレイシステムは、その3次元体積内でユーザに対してオブジェクトの深度のために適切な波面発散の量を伴う光を使用して、オブジェクトを提示するように構成されてもよいことを理解されたい。
異なる深度における複数の仮想オブジェクトが表示されるべき場合、コンテンツベースの深度面切替は、固視されている仮想オブジェクトに関する大まかな決定を行うステップと、次いで、その仮想オブジェクトの場所を使用して、それに対して深度面切替が切り替えられるべき平面を確立するステップとを伴ってもよい。例えば、ユーザが特定の仮想オブジェクトを概ね固視していることを決定することに応じて、ディスプレイシステムは、その仮想オブジェクトと関連付けられる深度面に対応する波面発散を伴う光を出力するように構成されてもよい。いくつかの実施形態では、ユーザがオブジェクトを固視しているかどうかの本大まかな決定は、固視点がオブジェクトに一意のディスプレイシステム定義体積内にあるかどうかを決定するステップと、該当する場合、決定された固視点の深度に関係なく、そのオブジェクトと関連付けられる深度面に切り替わるステップとを伴ってもよい(体積が、複数の深度面を横断して延在する場合、ディスプレイシステムは、オブジェクトと関連付けられる深度面に切り替わるであろうように)。
いくつかの実施形態では、現在のユーザが、較正されたユーザではない(例えば、ゲストユーザである)と決定される場合、ディスプレイシステムは、ゲストユーザの瞳孔間距離(IPD)を測定することによって、大まかな較正を実施してもよい。本大まかな較正は、動的較正とも称され得る。好ましくは、IPDは、ユーザの眼が、光学無限遠におけるオブジェクトに指向されている、またはその上に合焦されている間に測定される。いくつかの実施形態では、本IPD値は、最大IPD値であると理解され得る。最大IPD値は、使用されてもよい、またはサンプリングされた値の分布内で選択されたより少ない値(例えば、サンプリングされたIPD値の95パーセンタイルにおける値)が、固視点を決定するための基準値として利用されてもよい。例えば、本IPD値は、その固視点が角(例えば、頂点)を形成する、想像上の三角形の1辺(例えば、底辺)を構成し得る。
したがって、いくつかの実施形態では、ディスプレイシステムは、ユーザがメインまたはゲストユーザであるかどうかを監視するように構成されてもよい。ユーザが、メインユーザである場合、較正ファイルが、アクセスされてもよい。ユーザが、ゲストユーザである場合、コンテンツベースの深度面切替が、利用されてもよく、および/またはIPDを決定するステップを伴う、大まかな較正が、基準IPD値を確立するために実施されてもよい。ディスプレイシステムは、本基準IPD値を使用して、ゲストユーザの固視点を決定または推定し、したがって、深度面を切り替えるべきとき(例えば、仮想コンテンツを形成するために使用される光の波面発散を切り替えるべきとき)に関する決定を行うように構成されてもよい。
いくつかの実施形態では、ディスプレイシステムは、現在のユーザの動的較正に基づいて、コンテンツベースの深度面切替の実施から深度面切替の実施に遷移してもよい。例えば、そのような遷移は、コンテンツベースの深度面切替スキームに関連して取得されるデータが、信頼性がないと見なされる(例えば、ユーザが概ね固視している仮想オブジェクトに関する値が高レベルの不確実性または変動性を有する)、またはコンテンツが、複数の深度面に及ぶ異なる深度の範囲に提供される(例えば、仮想コンテンツが閾値数を上回る深度面に及ぶ)、状況において生じ得る。
ここで、同様の参照番号が全体を通して同様の部分を指す、図面を参照する。別様に示されない限り、図面は、概略であって、必ずしも、正確な縮尺で描かれていない。
ウェアラブルシステムの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を備えることができる。ディスプレイレンズ226は、筐体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を追跡し、レンダリングおよびユーザ入力をサポート可能であるように構成される、赤外線光源326(発光ダイオード「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はさらに、ユーザの環境についての遠隔ベース(例えば、クラウドベース)の情報を提供してもよい。本情報は、ユーザの環境内のオブジェクトまたは情報を認識するために使用されてもよい。
ウェアラブルシステムは、GPS337および遠隔コンピューティングシステム(例えば、遠隔処理モジュール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は、レンズであってもよい。いくつかの実施形態では、レンズは、可変焦点要素(VFE)であってもよい。例えば、いくつかの実施形態では、導波管アセンブリ480は、単に、2つの可変焦点要素と、それらの2つの可変焦点要素間の1つまたはそれを上回る導波管とを含んでもよい。VFEを伴う導波管アセンブリの実施例は、2017年10月12日に公開された米国特許公開第2017/0293145号(その開示全体は、参照することによって本明細書に組み込まれる)に開示される。他の実施形態では、特徴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の集約力を補償してもよい。(補償レンズ層430およびスタックされた導波管アセンブリ480は、全体として、世界470から生じる光が、最初にスタックされた導波管アセンブリ480によって受光されたときに光が有していたものと実質的に同一レベルの発散(またはコリメーション)で眼410に伝達されるように構成され得る。)そのような構成は、利用可能な導波管/レンズ対と同じ数の知覚される焦点面を提供する。導波管の光抽出光学要素およびレンズの集束側面は両方とも、静的であってもよい(例えば、動的または電気活性ではない)。いくつかの代替実施形態では、一方または両方とも、電気活性特徴を使用して動的であってもよい。
図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は、オーディオセンサ232、例えば、マイクロホンを含み、周囲音を捕捉することができる。上記に説明されるように、いくつかの実施形態では、1つまたはそれを上回る他のオーディオセンサが、発話源の場所の決定に有用なステレオ音受信を提供するために位置付けられることができる。オーディオセンサ232は、別の実施例として、指向性マイクロホンを備えることができ、これはまた、オーディオ源が位置する場所に関するそのような有用な指向性情報を提供することができる。ウェアラブルシステム400は、発話源を位置特定する際、または特定の瞬間におけるアクティブ話者を決定するために等、外向きに面した結像システム464およびオーディオセンサ230の両方からの情報を使用することができる。例えば、ウェアラブルシステム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は、眼瞼504と、強膜508(「白眼」)と、虹彩512と、瞳孔516とを伴う、眼500の画像を図示する。曲線516aは、瞳孔516と虹彩512との間の瞳孔境界を示し、曲線512aは、虹彩512と強膜508との間の辺縁境界を示す。眼瞼504は、上側眼瞼504aと、下側眼瞼504bとを含む。眼500は、自然静置姿勢(例えば、ユーザの顔および視線の両方が、ユーザの真正面の遠距離オブジェクトに向かうであろうように配向される)に図示される。眼500の自然静置姿勢は、自然静置姿勢(例えば、図5に示される眼500に関しては、すぐ面外)にあって、本実施例では、瞳孔516内に中心合わせされるときの眼500の表面に直交する方向である、自然静置方向520によって示され得る。
眼500が、異なるオブジェクトに向かって見るように移動するにつれて、眼姿勢は、自然静置方向520に対して変化するであろう。現在の眼姿勢は、眼の表面に直交する(かつ瞳孔516内に中心合わせされる)方向であるが、眼が現在指向されているオブジェクトに向かって配向される、眼姿勢方向524を参照して決定されることができる。図5に示される例示的座標系を参照すると、眼500の姿勢は、両方とも眼の自然静置方向520に対する、眼の眼姿勢方向524の方位角偏向および天頂偏向を示す、2つの角度パラメータとして表され得る。例証目的のために、これらの角度パラメータは、θ(基点方位角から決定される、方位角偏向)およびφ(時として、極性偏向とも称される、天頂偏向)として表され得る。いくつかの実装では、眼姿勢方向524の周囲の眼の角度ロールが、眼姿勢の決定に含まれることができ、角度ロールは、以下の分析に含まれることができる。他の実装では、眼姿勢を決定するための他の技法が、例えば、ピッチ、ヨー、および随意に、ロール系が、使用されることができる。
眼画像は、任意の適切なプロセスを使用して、例えば、画像を1つまたはそれを上回るシーケンシャルフレームから抽出し得る、ビデオ処理アルゴリズムを使用して、ビデオから取得されることができる。眼の姿勢は、種々の眼追跡技法を使用して、眼画像から決定されることができる。例えば、眼姿勢は、提供される光源に及ぼす角膜のレンズ効果を検討することによって決定されることができる。任意の好適な眼追跡技法が、本明細書に説明される眼瞼形状推定技法において眼姿勢を決定するために使用されることができる。
眼追跡システムの実施例
図6は、眼追跡システムを含む、ウェアラブルシステム600の概略図を図示する。ウェアラブルシステム600は、少なくともいくつかの実施形態では、頭部搭載型ユニット602内に位置するコンポーネントと、非頭部搭載型ユニット604内に位置するコンポーネントとを含んでもよい。非頭部搭載型ユニット604は、実施例として、ベルト搭載型コンポーネント、ハンドヘルドコンポーネント、リュック内のコンポーネント、遠隔コンポーネント等であってもよい。ウェアラブルシステム600のコンポーネントのうちのいくつかを非頭部搭載型ユニット604内に組み込むことは、頭部搭載型ユニット602のサイズ、重量、複雑性、およびコストを低減させることに役立ち得る。いくつかの実装では、頭部搭載型ユニット602および/または非頭部搭載型604の1つまたはそれを上回るコンポーネントによって実施されているように説明される機能性の一部または全部は、ウェアラブルシステム600内のいずれかに含まれる1つまたはそれを上回るコンポーネントを用いて提供されてもよい。例えば、頭部搭載型ユニット602のCPU612と関連して下記に説明される機能性の一部または全部は、非頭部搭載型ユニット604のCPU616を用いて提供されてもよく、その逆も同様である。いくつかの実施例では、そのような機能性の一部または全部は、ウェアラブルシステム600の周辺デバイスを用いて提供されてもよい。さらに、いくつかの実装では、そのような機能性の一部または全部は、図2を参照して上記に説明されたものに類似する様式において、1つまたはそれを上回るクラウドコンピューティングデバイスまたは他の遠隔に位置するコンピューティングデバイスを用いて提供されてもよい。
図6に示されるように、ウェアラブルシステム600は、ユーザの眼610の画像を捕捉する、カメラ324を含む、眼追跡システムを含むことができる。所望に応じて、眼追跡システムはまた、光源326aおよび326b(発光ダイオード「LED」等)を含んでもよい。光源326aおよび326bは、閃光(すなわち、カメラ324によって捕捉された眼の画像内に現れる、ユーザの眼からの反射)を生成し得る。カメラ324に対する光源326aおよび326bの位置は、既知であり得、その結果、カメラ324によって捕捉された画像内の閃光の位置が、ユーザの眼を追跡する際に使用されてもよい(図7-11に関連して下記により詳細に議論されるであろうように)。少なくとも一実施形態では、1つの光源326と、ユーザの眼610の片方と関連付けられる1つのカメラ324とが存在してもよい。別の実施形態では、1つの光源326と、ユーザの眼610のそれぞれと関連付けられる1つのカメラ324とが存在してもよい。さらに他の実施形態では、1つまたはそれを上回るカメラ324と、ユーザの眼610の一方またはそれぞれと関連付けられる1つまたはそれを上回る光源326とが存在してもよい。具体的実施例として、2つの光源326aおよび326bと、ユーザの眼610のそれぞれと関連付けられる1つまたはそれを上回るカメラ324とが存在してもよい。別の実施例として、光源326aおよび326b等の3つまたはそれを上回る光源と、ユーザの眼610のそれぞれと関連付けられる1つまたはそれを上回るカメラ324とが存在してもよい。
眼追跡モジュール614は、画像を眼追跡カメラ324から受信してもよく、画像を分析し、種々の情報を抽出してもよい。実施例として、眼追跡モジュール614は、ユーザの眼姿勢、眼追跡カメラ324(および頭部搭載型ユニット602)に対するユーザの眼の3次元位置、合焦されているユーザの眼610の一方または両方の方向、ユーザの輻輳・開散運動深度(すなわち、ユーザが合焦しているユーザからの深度)、ユーザの瞳孔の位置、ユーザの角膜および角膜球面の位置、ユーザの眼のそれぞれの回転中心、およびユーザの眼のそれぞれの視点の中心を検出してもよい。眼追跡モジュール614は、図7-11に関連して下記に説明される技法を使用して、そのような情報を抽出してもよい。図6に示されるように、眼追跡モジュール614は、頭部搭載型ユニット602内のCPU612を使用して実装される、ソフトウェアモジュールであってもよい。眼追跡モジュールコンポーネントの作成、調節、および使用について議論するさらなる詳細は、「EYE TRACKING CALIBRATION TECHNIQUES」と題された米国特許出願第15/993,371号(参照することによってその全体として本明細書に組み込まれる)に提供される。
眼追跡モジュール614からのデータは、ウェアラブルシステム内の他のコンポーネントに提供されてもよい。実施例として、そのようなデータは、ライトフィールドレンダリングコントローラ618および位置合わせオブザーバ620のためのソフトウェアモジュールを含む、CPU616等の非頭部搭載型ユニット604内のコンポーネントに伝送されてもよい。
レンダリングコントローラ618は、レンダリングエンジン622(例えば、GPU620内のソフトウェアモジュールであり得、画像をディスプレイ220に提供し得る、レンダリングエンジン)によって、眼追跡モジュール614からの情報を使用して、ユーザに表示される画像を調節してもよい。実施例として、レンダリングコントローラ618は、ユーザの回転中心または視点の中心に基づいて、ユーザに表示される画像を調節してもよい。特に、レンダリングコントローラ618は、ユーザの視点の中心に関する情報を使用して、レンダリングカメラをシミュレートしてもよく(すなわち、ユーザの視点からの画像の収集をシミュレートする)、シミュレートされたレンダリングカメラに基づいて、ユーザに表示される画像を調節してもよい。
時として、「ピンホール透視投影カメラ」(または単に、「透視投影カメラ」)または「仮想ピンホールカメラ」(または単に、「仮想カメラ」)とも称される、「レンダリングカメラ」は、可能性として、仮想世界内のオブジェクトのデータベースからの仮想画像コンテンツをレンダリングする際に使用するためのシミュレートされたカメラである。オブジェクトは、ユーザまたは装着者に対する、および可能性として、ユーザまたは装着者を囲繞する環境内の実オブジェクトに対する、場所および配向を有してもよい。換言すると、レンダリングカメラは、そこからユーザまたは装着者がレンダリング空間の3D仮想コンテンツ(例えば、仮想オブジェクト)を視認すべきである、レンダリング空間内の視点を表し得る。レンダリングカメラは、レンダリングエンジンによって管理され、眼に提示されるべき仮想オブジェクトのデータベースに基づいて、仮想画像をレンダリングしてもよい。仮想画像は、ユーザまたは装着者の視点から撮影されたかのようにレンダリングされ得る。例えば、仮想画像は、固有のパラメータの具体的セット(例えば、焦点距離、カメラピクセルサイズ、主点座標、歪/歪曲パラメータ等)と、付帯パラメータの具体的セット(例えば、仮想世界に対する平行移動成分および回転成分)とを有する、ピンホールカメラ(「レンダリングカメラ」に対応する)によって捕捉されたかのようにレンダリングされ得る。仮想画像は、レンダリングカメラの位置および配向(例えば、レンダリングカメラの付帯パラメータ)を有する、そのようなカメラの視点から撮影される。システムは、固有のおよび付帯レンダリングカメラパラメータを定義および/または調節し得るということになる。例えば、システムは、仮想画像が、ユーザまたは装着者の視点からであるように現れる画像を提供するように、ユーザまたは装着者の眼に対する具体的場所を有する、カメラの視点から捕捉されたかのようにレンダリングされ得るように、特定のセットの付帯レンダリングカメラパラメータを定義してもよい。システムは、後に、具体的場所との位置合わせを維持するように、付帯レンダリングカメラパラメータをオンザフライで動的に調節してもよい。同様に、固有のレンダリングカメラパラメータも、定義され、経時的に動的に調節されてもよい。いくつかの実装では、画像は、開口(例えば、ピンホール)をユーザまたは装着者の眼に対する具体的場所(視点の中心または回転中心または他の場所等)に有するカメラの視点から捕捉されたかのようにレンダリングされる。
いくつかの実施形態では、システムは、ユーザの眼が、相互から物理的に分離され、したがって、一貫して異なる場所に位置付けられるにつれて、ユーザの左眼のための1つのレンダリングカメラおよびユーザの右眼のために別のレンダリングカメラを作成または動的に再位置付けおよび/または再配向してもよい。少なくともいくつかの実装では、視認者の左眼と関連付けられるレンダリングカメラの視点からレンダリングされた仮想コンテンツは、頭部搭載型ディスプレイ(例えば、頭部搭載型ユニット602)の左側の接眼レンズを通してユーザに提示され得、ユーザの右眼と関連付けられるレンダリングカメラの視点からレンダリングされた仮想コンテンツは、そのような頭部搭載型ディスプレイの右側の接眼レンズを通してユーザに提示され得るということになる。レンダリングプロセスにおけるレンダリングカメラの作成、調節、および使用について議論するさらなる詳細は、「METHODS AND SYSTEMS FOR DETECTING AND COMBINING STRUCTURAL FEATURES IN 3D RECONSTRUCTION」と題された米国特許出願第15/274,823号(あらゆる目的のために、参照することによってその全体として本明細書に明示的に組み込まれる)に提供される。
いくつかの実施例では、システム600の1つまたはそれを上回るモジュール(またはコンポーネント)(例えば、ライトフィールドレンダリングコントローラ618、レンダリングエンジン620等)は、ユーザの頭部および眼の位置および配向(例えば、それぞれ、頭部姿勢および眼追跡データに基づいて決定されるように)に基づいて、レンダリング空間内のレンダリングカメラの位置および配向を決定してもよい。例えば、システム600は、事実上、ユーザの頭部および眼の位置および配向を3D仮想環境内の特定の場所および角位置にマッピングし、レンダリングカメラを3D仮想環境内の特定の場所および角位置に設置および配向し、レンダリングカメラによって捕捉されるであろうにつれて、仮想コンテンツをユーザのためにレンダリングし得る。実世界/仮想世界マッピングプロセスについて議論するさらなる詳細は、「SELECTING VIRTUAL OBJECTS IN A THREE-DIMENSIONAL SPACE」と題された米国特許出願第15/296,869号(あらゆる目的のために、参照することによってその全体として本明細書に明示的に組み込まれる)に提供される。実施例として、レンダリングコントローラ618は、画像が、画像を表示するために任意の所与の時間に利用される深度面(または複数の深度面)を選択することによって表示される、深度を調節してもよい。いくつかの実装では、そのような深度面切替は、1つまたはそれを上回る固有のレンダリングカメラパラメータの調節を通して、行われてもよい。
位置合わせオブザーバ620は、眼追跡モジュール614からの情報を使用して、頭部搭載型ユニット602がユーザの頭部上に適切に位置付けられているかどうかを識別してもよい。実施例として、眼追跡モジュール614は、カメラ324に対するユーザの眼の3次元位置を示す、ユーザの眼の回転中心の位置等の眼場所情報を提供してもよく、頭部搭載型ユニット602および眼追跡モジュール614は、場所情報を使用して、ディスプレイ220がユーザの視野内に適切に整合されているかどうか、または頭部搭載型ユニット602(またはヘッドセット)が滑脱している、または別様にユーザの眼と不整合状態であるかどうかを決定してもよい。実施例として、位置合わせオブザーバ620は、頭部搭載型ユニット602が、ユーザの鼻梁から滑脱しており、したがって、ディスプレイ220をユーザの眼から離れさせ、そこから下方に移動させている(望ましくあり得ない)かどうか、頭部搭載型ユニット602が、ユーザの鼻梁の上方に移動しており、したがって、ディスプレイ220をユーザの眼により近づけ、そこから上方に移動させているかどうか、頭部搭載型ユニット602が、ユーザの鼻梁に対して左または右に偏移されているかどうか、頭部搭載型ユニット602が、ユーザの鼻梁の上方に持ち上げられているかどうか、または頭部搭載型ユニット602が、これらまたは他の方法において、所望の位置または位置の範囲から離れて移動されているかどうかを決定することが可能であり得る。一般に、位置合わせオブザーバ620は、一般に、頭部搭載型ユニット602、特に、ディスプレイ220が、ユーザの眼の正面に適切に位置付けられているかどうかを決定することが可能であり得る。換言すると、位置合わせオブザーバ620は、ディスプレイシステム220内の左ディスプレイが、ユーザの左眼と適切に整合されており、ディスプレイシステム220内の右ディスプレイが、ユーザの右眼と適切に整合されているかどうかを決定し得る。位置合わせオブザーバ620は、頭部搭載型ユニット602が、ユーザの眼に対する位置および/または配向の所望の範囲内に位置付けられ、配向されているかどうかを決定することによって、頭部搭載型ユニット602が適切に位置付けられているかどうかを決定してもよい。
少なくともいくつかの実施形態では、位置合わせオブザーバ620は、アラート、メッセージ、または他のコンテンツの形態におけるユーザフィードバックを生成してもよい。そのようなフィードバックは、ユーザに提供され、ユーザに、頭部搭載型ユニット602の任意の不整合を、不整合を補正する方法に関する随意のフィードバック(頭部搭載型ユニット602を特定の様式において調節するための提案等)とともに知らせてもよい。
位置合わせオブザーバ620によって利用され得る、例示的位置合わせ観察およびフィードバック技法は、2017年9月27日に出願された、米国特許出願第15/717,747号(弁理士整理番号第MLEAP.052A2号)(参照することによってその全体として本明細書に組み込まれる)に説明される。
眼追跡モジュールの実施例
例示的眼追跡モジュール614の詳細なブロック図が、図7Aに示される。図7Aに示されるように、眼追跡モジュール614は、種々の異なるサブモジュールを含んでもよく、種々の異なる出力を提供してもよく、ユーザの眼を追跡する際に、種々の利用可能なデータを利用してもよい。実施例として、眼追跡モジュール614は、光源326および頭部搭載型ユニット602に対する眼追跡カメラ324の幾何学的配列、ユーザの角膜曲率の中心とユーザの眼の平均回転中心との間の約4.7mmの典型的距離またはユーザの回転中心と視点の中心との間の典型的距離等の仮定された眼寸法704、および特定のユーザの瞳孔間距離等のユーザ毎の較正データ706等の眼追跡の付帯性質および固有性質を含む、利用可能なデータを利用してもよい。眼追跡モジュール614によって採用され得る、付帯性質、固有性質、および他の情報の付加的実施例は、2017年4月26日に出願された、米国特許出願第15/497,726号(弁理士整理番号第MLEAP.023A7号)(参照することによってその全体として本明細書に組み込まれる)に説明される。
画像前処理モジュール710は、画像を眼カメラ324等の眼カメラから受信してもよく、1つまたはそれを上回る前処理(すなわち、調整)動作を受信された画像上に実施してもよい。実施例として、画像前処理モジュール710は、ガウスぼけを画像に適用してもよい、画像をより低い分解能にダウンサンプリングしてもよい、アンシャープマスクを適用してもよい、縁シャープニングアルゴリズムを適用してもよい、または後の検出、位置特定、および眼カメラ324からの画像内の閃光、瞳孔、または他の特徴の標識化を補助する、他の好適なフィルタを適用してもよい。画像前処理モジュール710は、高周波数雑音を瞳孔境界516a(図5参照)等から除去し、それによって瞳孔および閃光決定を妨害し得る、雑音を除去し得る、オープンフィルタ等の低域通過フィルタまたは形態学的フィルタを適用してもよい。画像前処理モジュール710は、前処理された画像を瞳孔識別モジュール712および閃光検出および標識化モジュール714に出力してもよい。
瞳孔識別モジュール712は、前処理された画像を画像前処理モジュール710から受信してもよく、ユーザの瞳孔を含む、それらの画像の領域を識別してもよい。瞳孔識別モジュール712は、いくつかの実施形態では、カメラ324からの眼追跡画像内のユーザの瞳孔の位置の座標、すなわち、中心または重心の座標を決定してもよい。少なくともいくつかの実施形態では、瞳孔識別モジュール712は、眼追跡画像内の輪郭(すなわち、瞳孔虹彩境界の輪郭)を識別し、輪郭モーメント(すなわち、質量中心)を識別し、スターバースト瞳孔検出および/またはCanny縁検出アルゴリズムを適用し、強度値に基づいて外れ値を除外し、サブピクセル境界点を識別し、眼カメラ歪曲(例えば、眼カメラ324によって捕捉された画像内の歪曲)を補正し、ランダムサンプルコンセンサス(RANSAC)反復アルゴリズムを適用し、楕円形を眼追跡画像内の境界に適合させ、追跡フィルタを画像に適用し、ユーザの瞳孔重心のサブピクセル画像座標を識別してもよい。瞳孔識別モジュール712は、ユーザの瞳孔を示すと識別された前処理画像モジュール712の領域を示し得る、瞳孔識別データを、閃光検出および標識化モジュール714に出力してもよい。瞳孔識別モジュール712は、各眼追跡画像内のユーザの瞳孔の2D座標(すなわち、ユーザの瞳孔の重心の2D座標)を閃光検出モジュール714に提供してもよい。少なくともいくつかの実施形態では、瞳孔識別モジュール712はまた、同一種類の瞳孔識別データを座標系正規化モジュール718に提供してもよい。
瞳孔識別モジュール712によって利用され得る、瞳孔検出技法は、2017年2月23日に公開された米国特許公開第2017/0053165号および2017年2月23日に公開された米国特許公開第2017/0053166号(それぞれ、参照することによってその全体として本明細書に組み込まれる)に説明される。
閃光検出および標識化モジュール714は、前処理された画像をモジュール710から、瞳孔識別データをモジュール712から受信してもよい。閃光検出モジュール714は、本データを使用して、閃光(すなわち、光源326からの光のユーザの眼からの反射)をユーザの瞳孔を示す前処理された画像の領域内で検出および/または識別してもよい。実施例として、閃光検出モジュール714は、ユーザの瞳孔の近傍にある、時として、本明細書では、「ブロブ」または局所強度最大値とも称される、眼追跡画像内の明るい領域を検索してもよい。少なくともいくつかの実施形態では、閃光検出モジュール714は、瞳孔楕円形を再スケーリング(例えば、拡大)し、付加的閃光を包含してもよい。閃光検出モジュール714は、サイズおよび/または強度によって、閃光をフィルタリングしてもよい。閃光検出モジュール714はまた、眼追跡画像内の閃光のそれぞれの2D位置を決定してもよい。少なくともいくつかの実施例では、閃光検出モジュール714は、瞳孔-閃光ベクトルとも称され得る、ユーザの瞳孔に対する閃光の2D位置を決定してもよい。閃光検出および標識化モジュール714は、閃光を標識化し、標識された閃光を伴う前処理画像を3D角膜中心推定モジュール716に出力してもよい。閃光検出および標識化モジュール714はまた、モジュール710からの前処理された画像およびモジュール712からの瞳孔識別データ等のデータを伝えてもよい。
モジュール712および714等のモジュールによって実施されるような瞳孔および閃光検出は、任意の好適な技法を使用することができる。実施例として、縁検出が、眼画像に適用され、閃光および瞳孔を識別することができる。縁検出は、種々の縁検出器、縁検出アルゴリズム、またはフィルタによって適用されることができる。例えば、Canny縁検出器が、画像に適用され、画像の線等の縁を検出することができる。縁は、局所最大導関数に対応する、線に沿って位置する点を含んでもよい。例えば、瞳孔境界516a(図5参照)が、Canny縁検出器を使用して、位置特定されることができる。瞳孔の場所が決定されると、種々の画像処理技法が、瞳孔116の「姿勢」を検出するために使用されることができる。眼画像の眼姿勢の決定は、眼画像の眼姿勢の検出とも称され得る。姿勢は、視線、向いている方向、または眼の配向とも称され得る。例えば、瞳孔は、オブジェクトに向かって左を見ている場合があり、瞳孔の姿勢は、左向き姿勢として分類され得る。他の方法も、瞳孔または閃光の場所を検出するために使用されることができる。例えば、同心リングが、Canny縁検出器を使用した眼画像内に位置し得る。別の実施例として、積分微分演算子が、瞳孔または虹彩の角膜輪部境界を見出すために使用されてもよい。例えば、Daugman積分微分演算子、Hough変換、または他の虹彩セグメント化技法が、瞳孔または虹彩の境界を推定する、曲線を返すために使用されることができる。
3D角膜中心推定モジュール716は、検出された閃光データおよび瞳孔識別データを含む、前処理された画像を、モジュール710、712、714から受信してもよい。3D角膜中心推定モジュール716は、これらのデータを使用して、ユーザの角膜の3D位置を推定してもよい。いくつかの実施形態では、3D角膜中心推定モジュール716は、眼の角膜曲率またはユーザの角膜球面の中心、すなわち、概して、ユーザの角膜と同延の表面部分を有する、想像上の球面の中心の3D位置を推定してもよい。3D角膜中心推定モジュール716は、角膜球面および/またはユーザの角膜の推定された3D座標を示すデータを、座標系正規化モジュール718、光学軸決定モジュール722、および/またはライトフィールドレンダリングコントローラ618に提供してもよい。3D角膜中心推定モジュール716の動作のさらなる詳細は、図8A-8Eに関連して本明細書に提供される。3D角膜中心推定モジュール716および本開示のウェアラブルシステム内の他のモジュールによって利用され得る、角膜または角膜球面等の眼特徴の位置を推定するための技法は、2017年4月26日に出願された、米国特許出願第15/497,726号(弁理士整理番号第MLEAP.023A7号)(参照することによってその全体として本明細書に組み込まれる)に議論される。
座標系正規化モジュール718は、随意に、(その破線輪郭によって示されるように)眼追跡モジュール614内に含まれてもよい。座標系正規化モジュール718は、ユーザの角膜の中心(および/またはユーザの角膜球面の中心)の推定された3D座標を示すデータを、3D角膜中心推定モジュール716から受信してもよく、また、データを他のモジュールから受信してもよい。座標系正規化モジュール718は、眼カメラ座標系を正規化してもよく、これは、ウェアラブルデバイスの滑脱(例えば、位置合わせオブザーバ620によって識別され得る、ユーザの頭部上のその正常静置位置からの頭部搭載型コンポーネントの滑脱)を補償することに役立ち得る。座標系正規化モジュール718は、座標系を回転させ、座標系のz-軸(すなわち、輻輳・開散運動深度軸)と角膜中心(例えば、3D角膜中心推定モジュール716によって示されるように)を整合させてもよく、カメラ中心(すなわち、座標系の原点)を30mm等の角膜中心から離れた所定の距離に平行移動させてもよい(すなわち、モジュール718は、眼カメラ324が所定の距離より近くまたは遠くにあるように決定されるかどうかに応じて、眼追跡画像を拡大または収縮し得る)。本正規化プロセスを用いることで、眼追跡モジュール614は、比較的に、ユーザの頭部上に位置付けられるヘッドセットの変動から独立して、眼追跡データ内の一貫した配向および距離を確立することが可能であり得る。座標系正規化モジュール718は、角膜(および/または角膜球面)の中心の3D座標、瞳孔識別データ、および前処理された眼追跡画像を3D瞳孔中心ロケータモジュール720に提供してもよい。座標系正規化モジュール718の動作のさらなる詳細は、図9A-9Cに関連して本明細書に提供される。
3D瞳孔中心ロケータモジュール720は、正規化または非正規化座標系内において、ユーザの角膜(および/または角膜球面)の中心の3D座標、瞳孔場所データ、および前処理された眼追跡画像を含む、データを受信してもよい。3D瞳孔中心ロケータモジュール720は、そのようなデータを分析して、正規化または非正規化眼カメラ座標系内のユーザの瞳孔中心の3D座標を決定してもよい。3D瞳孔中心ロケータモジュール720は、瞳孔重心の2D位置(モジュール712によって決定されるように)、角膜中心の3D位置(モジュール716によって決定されるように)、典型的ユーザの角膜球面のサイズおよび角膜中心から瞳孔中心までの典型的距離等の仮定された眼寸法704、および角膜の屈折率(空気の屈折率に対する)等の眼の光学性質、または任意のこれらの組み合わせに基づいて、3次元におけるユーザの瞳孔の場所を決定してもよい。3D瞳孔中心ロケータモジュール720の動作のさらなる詳細は、図9D-9Gに関連して本明細書に提供される。3D瞳孔中心ロケータモジュール720および本開示のウェアラブルシステム内の他のモジュールによって利用され得る、瞳孔等の眼特徴の位置を推定するための技法は、2017年4月26日に出願された、米国特許出願第15/497,726号(弁理士整理番号第MLEAP.023A7号)(参照することによってその全体として本明細書に組み込まれる)に議論される。
光学軸決定モジュール722は、ユーザの角膜およびユーザの瞳孔の中心の3D座標を示すデータを、モジュール716および720から受信してもよい。そのようなデータに基づいて、光学軸決定モジュール722は、角膜中心の位置から(すなわち、角膜球面の中心から)、ユーザの眼の光学軸を定義し得る、ユーザの瞳孔中心までのベクトルを識別してもよい。光学軸決定モジュール722は、実施例として、ユーザの光学軸を規定する出力をモジュール724、728、730、および732に提供してもよい。
回転中心(CoR)推定モジュール724は、ユーザの眼の光学軸のパラメータ(すなわち、頭部搭載型ユニット602に対して既知の関係を伴う座標系内の光学軸の方向を示すデータ)を含むデータを、モジュール722から受信してもよい。CoR推定モジュール724は、ユーザの眼の回転中心(すなわち、ユーザの眼が左、右、上、および/または下に回転するとき、その周囲でユーザの眼が回転する、点)を推定し得る。眼が、単点の周囲で完璧に回転し得ない場合でも、単点が十分であり得ると仮定する。少なくともいくつかの実施形態では、CoR推定モジュール724は、瞳孔中心(モジュール720によって識別される)または角膜の曲率中心(モジュール716によって識別されるように)を網膜に向かって光学軸(モジュール722によって識別される)に沿って特定の距離だけ移動させることによって、眼の回転中心を推定し得る。本特定の距離は、仮定された眼寸法704であってもよい。一実施例として、角膜の曲率中心とCoRとの間の特定の距離は、約4.7mmであってもよい。本距離は、ユーザの年齢、性別、視覚処方箋、他の関連特性等を含む、任意の関連データに基づいて、特定のユーザのために変動され得る。
少なくともいくつかの実施形態では、CoR推定モジュール724は、ユーザの眼のそれぞれの回転中心のその推定値を経時的に精緻化してもよい。実施例として、時間が経過するにつれて、ユーザは、最終的に、その眼を回転させ(他の場所、より近く、より遠くの何らかのもの、またはある時に左、右、上、または下を見るため)、その眼のそれぞれの光学軸において偏移させるであろう。CoR推定モジュール724は、次いで、モジュール722によって識別される2つの(またはそれを上回る)光学軸を分析し、それらの光学軸の交点の3D点を位置特定してもよい。CoR推定モジュール724は、次いで、その交点の3D点にある回転中心を決定してもよい。そのような技法は、経時的に改良する正確度を伴う、回転中心の推定値を提供し得る。種々の技法が、CoR推定モジュール724および左および右眼の決定されたCoR位置の正確度を増加させるために採用されてもよい。実施例として、CoR推定モジュール724は、種々の異なる眼姿勢に関して経時的に決定された光学軸の交点の平均点を見出すことによって、CoRを推定してもよい。付加的実施例として、モジュール724は、推定されたCoR位置を経時的にフィルタリングまたは平均化してもよく、推定されたCoR位置の移動平均を経時的に計算してもよく、および/またはカルマンフィルタおよび眼および眼追跡システムの既知の動態を適用し、CoR位置を経時的に推定してもよい。具体的実施例として、モジュール724は、決定されたCoRが、ユーザに関する眼追跡データが取得されるにつれて、仮定されたCoR位置(すなわち、眼の角膜曲率の中心の4.7mm背後)からユーザの眼内の若干異なる場所に経時的にゆっくりと移り、それによって、CoR位置のユーザ毎精緻化を可能にし得るように、光学軸交点の決定された点および仮定されたCoR位置(眼の角膜曲率の中心から4.7mm等)の加重平均を計算してもよい。
瞳孔間距離(IPD)推定モジュール726は、ユーザの左および右眼の回転中心の推定された3D位置を示すデータを、CoR推定モジュール724から受信してもよい。IPD推定モジュール726は、次いで、ユーザの左および右眼の回転中心間の3D距離を測定することによって、ユーザのIPDを推定してもよい。一般に、ユーザの左眼の推定されたCoRとユーザの右眼の推定されたCoRとの間の距離は、ユーザが光学無限遠を見ている(すなわち、ユーザの眼の光学軸が相互に略平行である)とき、ユーザの瞳孔中心間の距離と概ね等しくあり得、これは、瞳孔間距離(IPD)の典型的定義である。ユーザのIPDは、ウェアラブルシステム内の種々のコンポーネントおよびモジュールによって使用されてもよい。実施例として、ユーザのIPDは、位置合わせオブザーバ620に提供され、ウェアラブルデバイスがユーザの眼と整合されている程度(例えば、左および右ディスプレイレンズが、ユーザのIPDに従って適切に離間されているかどうか)を査定する際に使用されてもよい。別の実施例として、ユーザのIPDは、輻輳・開散運動深度推定モジュール728に提供され、ユーザの輻輳・開散運動深度を決定する際に使用されてもよい。モジュール726は、CoR推定モジュール724に関連して議論されるもの等の種々の技法を採用し、推定されたIPDの正確度を増加させてもよい。実施例として、IPD推定モジュール724は、正確な様式におけるユーザのIPDの推定の一部として、フィルタリング、経時的に平均、仮定されたIPD距離を含む、加重平均、カルマンフィルタ等を適用してもよい。
いくつかの実施形態では、IPD推定モジュール726は、3D瞳孔中心ロケータモジュールおよび/または3D角膜中心推定モジュール716から、ユーザの瞳孔および/または角膜の推定される3D位置を示す、データを受信してもよい。IPD推定モジュール726は、次いで、瞳孔と角膜との間の距離を参照することによって、ユーザのIPDを推定してもよい。一般に、これらの距離は、ユーザが、その眼を回転させ、その輻輳・開散運動の深度を変化させるにつれて、経時的に変動するであろう。ある場合には、IPD推定モジュール726は、ユーザが光学無限遠の近傍を見ている間に生じるはずであって、概して、ユーザの瞳孔間距離に対応するはずである、瞳孔および/または角膜間の最大測定距離を探してもよい。他の場合では、IPD推定モジュール726は、ユーザの瞳孔(および/または角膜)間の測定距離をその輻輳・開散運動深度の関数として人物の瞳孔間距離がどのように変化するかの数学的関係に適合させてもよい。いくつかの実施形態では、これらまたは他の類似技法を使用して、IPD推定モジュール726は、ユーザが光学無限遠を見ていることの観察を伴わなくても(例えば、ユーザが光学無限遠より近い距離に輻輳していたことの1つまたはそれを上回る観察から外挿することによって)、ユーザのIPDを推定することが可能であり得る。
輻輳・開散運動深度推定モジュール728は、データを眼追跡モジュール614内の種々のモジュールおよびサブモジュール(図7Aに関連して示されるように)から受信してもよい。特に、輻輳・開散運動深度推定モジュール728は、瞳孔中心の推定された3D位置(例えば、上記に説明されるモジュール720によって提供されるように)、光学軸の1つまたはそれを上回る決定されたパラメータ(例えば、上記に説明されるモジュール722によって提供されるように)、回転中心の推定された3D位置(例えば、上記に説明されるモジュール724によって提供されるように)、推定されたIPD(例えば、回転中心の推定された3D位置間のユークリッド距離)(例えば、上記に説明されるモジュール726によって提供されるように)、および/または光学軸および/または視軸の1つまたはそれを上回る決定されたパラメータ(例えば、下記に説明されるモジュール722および/またはモジュール730によって提供されるように)を示すデータを採用してもよい。輻輳・開散運動深度推定モジュール728は、ユーザの眼が合焦されるユーザからの距離であり得る、ユーザの輻輳・開散運動深度の測定値を検出または別様に取得してもよい。実施例として、ユーザが、彼らの正面から3フィートのオブジェクトを見ているとき、ユーザの左および右眼は、3フィートの輻輳・開散運動深度を有する一方、ユーザが遠距離の景観を見ている(すなわち、ユーザの眼の光学軸が、ユーザの瞳孔中心間の距離が、ユーザの左および右眼の回転中心間の距離と概ね等しくあり得るように、相互に略平行である)とき、ユーザの左および右眼は、無限遠の輻輳・開散運動深度を有する。いくつかの実装では、輻輳・開散運動深度推定モジュール728は、ユーザの瞳孔の推定された中心(例えば、モジュール720によって提供されるように)を示すデータを利用し、ユーザの瞳孔の推定された中心間の3D距離を決定してもよい。輻輳・開散運動深度推定モジュール728は、瞳孔中心間のそのような決定された3D距離と推定されたIPD(例えば、回転中心の推定された3D位置間のユークリッド距離)(例えば、上記に説明されるモジュール726によって示されるように)を比較することによって、輻輳・開散運動深度の測定値を取得してもよい。瞳孔中心間の3D距離および推定されたIPDに加え、輻輳・開散運動深度推定モジュール728は、既知の、仮定された、推定された、および/または決定された幾何学形状を利用して、輻輳・開散運動深度を計算してもよい。実施例として、モジュール728は、瞳孔中心間の3D距離、推定されたIPD、および三角法計算における3DCoR位置を組み合わせて、ユーザの輻輳・開散運動深度を推定(すなわち、決定)してもよい。実際、推定されたIPDに対する瞳孔中心間のそのような決定された3D距離の評価は、光学無限遠に対するユーザの現在の輻輳・開散運動深度の測定値を示す役割を果たし得る。いくつかの実施例では、輻輳・開散運動深度推定モジュール728は、単に、輻輳・開散運動深度のそのような測定値を取得する目的のために、ユーザの瞳孔の推定された中心間の推定された3D距離を示すデータを受信する、またはそれにアクセスしてもよい。いくつかの実施形態では、輻輳・開散運動深度推定モジュール728は、ユーザの左および右光学軸を比較することによって、輻輳・開散運動深度を推定してもよい。特に、輻輳・開散運動深度推定モジュール728は、ユーザの左および右光学軸が交差する(または水平平面等の平面上のユーザの左および右光学軸の投影が交差する)、ユーザからの距離を位置特定することによって、輻輳・開散運動深度を推定してもよい。モジュール728は、ゼロ深度をユーザの左および右光学軸がユーザのIPDによって分離される深度であると設定することによって、本計算において、ユーザのIPDを利用してもよい。少なくともいくつかの実施形態では、輻輳・開散運動深度推定モジュール728は、眼追跡データを、既知のまたは導出された空間関係とともに三角測量することによって、輻輳・開散運動深度を決定してもよい。
いくつかの実施形態では、輻輳・開散運動深度推定モジュール728は、ユーザが合焦している距離のより正確なインジケーションを提供し得る、ユーザの視軸の交点に基づいて(その光学軸の代わりに)、ユーザの輻輳・開散運動深度を推定してもよい。少なくともいくつかの実施形態では、眼追跡モジュール614は、光学軸/視軸マッピングモジュール730を含んでもよい。図10に関連してさらに詳細に議論されるように、ユーザの光学軸および視軸は、概して、整合されない。視軸は、それに沿って人物が見ている軸である一方、光学軸は、その人物の水晶体および瞳孔中心によって定義され、人物の網膜の中心を通して進み得る。特に、ユーザの視軸は、概して、ユーザの網膜の中心からオフセットされ、それによって、異なる光学および視軸をもたらし得る、ユーザの中心窩の場所によって定義される。これらの実施形態のうちの少なくともいくつかでは、眼追跡モジュール614は、光学軸/視軸マッピングモジュール730を含んでもよい。光学軸/視軸マッピングモジュール730は、ユーザの光学軸と視軸との間の差異を補正し、輻輳・開散運動深度推定モジュール728およびライトフィールドレンダリングコントローラ618等のウェアラブルシステム内の他のコンポーネントに対するユーザの視軸に関する情報を提供してもよい。いくつかの実施例では、モジュール730は、光学軸と視軸との間の内向きの(鼻側に、ユーザの鼻に向かって)約5.2°の典型的オフセットを含む、仮定された眼寸法704を使用してもよい。換言すると、モジュール730は、ユーザの左および右光学軸の方向を推定するために、ユーザの左光学軸を5.2°鼻に向かって(鼻側に)右に、ユーザの右光学軸を5.2°鼻に向かって(鼻側に)左に偏移させ得る。他の実施例では、モジュール730は、光学軸(例えば、上記に説明されるモジュール722によって示されるように)を視軸にマッピングする際、ユーザ毎較正データ706を利用してもよい。付加的実施例として、モジュール730は、ユーザの光学軸を鼻側に4.0°~6.5°、4.5°~6.0°、5.0°~5.4°等、またはこれらの値のいずれかによって形成される任意の範囲だけ偏移させてもよい。いくつかの配列では、モジュール730は、少なくとも部分的に、その年齢、性別、視覚処方箋、または他の関連特性等の特定のユーザの特性に基づいて、偏移を適用してもよく、および/または少なくとも部分的に、特定のユーザのための較正プロセス(すなわち、特定のユーザの光学軸-視軸オフセットを決定するため)に基づいて、偏移を適用してもよい。少なくともいくつかの実施形態では、モジュール730はまた、左および右光学軸の原点を偏移させ、ユーザのCoRの代わりに、ユーザのCoP(モジュール732によって決定されるように)に対応させてもよい。
随意の視点中心(CoP)推定モジュール732が、提供されるとき、ユーザの左および右視点中心(CoP)の場所を推定してもよい。CoPは、ウェアラブルシステムのための有用な場所であって、少なくともいくつかの実施形態では、瞳孔の真正面の位置であり得る。少なくともいくつかの実施形態では、CoP推定モジュール732は、ユーザの瞳孔中心の3D場所、ユーザの角膜曲率の中心の3D場所、またはそのような好適なデータ、またはそれらの任意の組み合わせに基づいて、ユーザの左および右視点中心の場所を推定してもよい。実施例として、ユーザのCoPは、角膜曲率の中心の正面の約5.01mm(すなわち、角膜球面中心から、眼の角膜に向かい、光学軸に沿った方向に5.01mm)にあり得、光学または視軸に沿ってユーザの角膜の外面の約2.97mm背後にあり得る。ユーザの視点中心は、その瞳孔中心の真正面にあり得る。実施例として、ユーザのCoPは、ユーザの瞳孔から約2.0mm未満、ユーザの瞳孔から約1.0mm未満、またはユーザの瞳孔から約0.5mm未満、またはこれらの値のいずれかの間の任意の範囲であり得る。別の実施例として、視点中心は、眼の前房内の場所に対応し得る。他の実施例として、CoPは、1.0mm~2.0mm、約1.0mm、0.25mm~1.0mm、0.5mm~1.0mm、または0.25mm~0.5mmにあり得る。
(レンダリングカメラのピンホールの潜在的に望ましい位置およびユーザの眼内の解剖学的位置としての)本明細書に説明される視点中心は、望ましくない視差偏移を低減および/または排除する役割を果たす、位置であり得る。特に、ユーザの眼の光学系は、レンズの正面のピンホールが画面上に投影することによって形成される理論的システムにほぼ概ね匹敵し、ピンホール、レンズ、および画面は、それぞれ、ユーザの瞳孔/虹彩、水晶体、および網膜に概ね対応する。さらに、ユーザの眼から異なる距離における2つの点光源(またはオブジェクト)が、ピンホールの開口部を中心として厳密に回転する(例えば、ピンホールの開口部からのその個別の距離と等しい曲率半径に沿って回転される)とき、殆どまたは全く視差偏移が存在しないことが望ましくあり得る。したがって、CoPは、眼の瞳孔中心に位置するはずであると考えられるであろう(およびそのようなCoPが、いくつかの実施形態では、使用されてもよい)。しかしながら、ヒトの眼は、水晶体および瞳孔のピンホールに加え、付加的屈折力を網膜に向かって伝搬する光に付与する、角膜を含む。したがって、本段落に説明される理論的システム内のピンホールの解剖学的均等物は、ユーザの眼の角膜の外面とユーザの眼の瞳孔または虹彩の中心との間に位置付けられる、ユーザの眼の領域であり得る。例えば、ピンホールの解剖学的均等物は、ユーザの眼の前房内の領域に対応し得る。本明細書で議論される種々の理由から、CoPをユーザの眼の前房内のそのような位置に設定することが所望され得る。CoPの導出および有意性は、本願の一部を形成する、付属(第1章および第2章)により詳細に議論される。
上記に議論されるように、眼追跡モジュール614は、左および右眼回転中心(CoR)の推定された3D位置、輻輳・開散運動深度、左および右眼光学軸、ユーザの眼の3D位置、ユーザの角膜曲率の左および右中心の3D位置、ユーザの左および右瞳孔中心の3D位置、ユーザの左および右視点中心の3D位置、ユーザのIPD等のデータを、ウェアラブルシステム内のライトフィールドレンダリングコントローラ618および位置合わせオブザーバ620等の他のコンポーネントに提供してもよい。眼追跡モジュール614はまた、ユーザの眼の他の側面と関連付けられるデータを検出および生成する、他のサブモジュールを含んでもよい。実施例として、眼追跡モジュール614は、ユーザが瞬目する度に、フラグまたは他のアラートを提供する、瞬目検出モジュールと、ユーザの眼がサッカードする(すなわち、焦点を別の点に迅速に偏移させる)度に、フラグまたは他のアラートを提供する、サッカード検出モジュールとを含んでもよい。
レンダリングコントローラの実施例
例示的ライトフィールドレンダリングコントローラ618の詳細なブロック図が、図7Bに示される。図6および7Bに示されるように、レンダリングコントローラ618は、眼追跡情報を眼追跡モジュール614から受信してもよく、出力をレンダリングエンジン622に提供してもよく、これは、ウェアラブルシステムのユーザによって視認するために表示されるべき画像を生成し得る。実施例として、レンダリングコントローラ618は、輻輳・開散運動深度、左および右眼回転中心(および/または視点中心)、および瞬目データ、サッカードデータ等の他の眼データを受信してもよい。
深度面選択モジュール750は、輻輳・開散運動深度情報および他の眼データを受信してもよく、そのようなデータに基づいて、レンダリングエンジン622に、特定の深度面(すなわち、特定の遠近調節または焦点距離)を伴うコンテンツをユーザに伝達させてもよい。図4に関連して議論されるように、ウェアラブルシステムは、それぞれ、可変レベルの波面曲率を伴う画像情報を伝達する、複数の導波管によって形成される、複数の離散深度面を含んでもよい。いくつかの実施形態では、ウェアラブルシステムは、経時的に変動するレベルの波面曲率を伴う画像情報を伝達する、光学要素等の1つまたはそれを上回る可変深度面を含んでもよい。これらおよび他の実施形態では、深度面選択モジュール750が、レンダリングエンジン622に、部分的に、ユーザの輻輳・開散運動深度に基づいて、コンテンツを選択された深度においてユーザに伝達させてもよい(すなわち、レンダリングエンジン622に、ディスプレイ220に深度面を切り替えるように指示させる)。少なくともいくつかの実施形態では、深度面選択モジュール750およびレンダリングエンジン622は、コンテンツを異なる深度にレンダリングし、また、深度面選択データを生成し、および/またはディスプレイ220等のディスプレイハードウェアに提供してもよい。ディスプレイ220等のディスプレイハードウェアは、深度面選択モジュール750およびレンダリングエンジン622等のモジュールによって生成および/または提供される深度面選択データ(制御信号であり得る)に応答して、電気深度面切替を実施してもよい。
一般に、深度面選択モジュール750が、ユーザが正確な遠近調節キューを提供されるように、ユーザの現在の輻輳・開散運動深度に合致する深度面を選択することが望ましくあり得る。しかしながら、また、慎重かつ目立たない様式において深度面を切り替えることが望ましくあり得る。実施例として、深度面間の過剰な切替を回避することが望ましくあり得、および/または瞬目または眼サッカードの間等のユーザが切替に気付く可能性が低い時間に深度面を切り替えることが望ましくあり得る。
ヒステリシス帯交差検出モジュール752は、特に、ユーザの輻輳・開散運動深度が2つの深度面間の中点または遷移点で変動するとき、深度面間の過剰な切替を回避することに役立ち得る。特に、モジュール752は、深度面選択モジュール750に、ヒステリシスを深度面のその選択に呈させてもよい。実施例として、モジュール752は、深度面選択モジュール750に、ユーザの輻輳・開散運動深度が第1の閾値を通過した後のみ、第1のより遠い深度面から第2のより近い深度面に切り替えさせてもよい。同様に、モジュール752は、深度面選択モジュール750に(ひいては、ディスプレイ220等のディスプレイに指示し得る)、ユーザの輻輳・開散運動深度が第1の閾値よりユーザから遠い第2の閾値を通過した後のみ、第1のより遠い深度面に切り替えさせてもよい。第1の閾値と第2の閾値との間の重複領域では、モジュール750は、深度面選択モジュール750に、いずれかの深度面が選択された深度面として現在選択されているように維持させ、したがって、深度面間の過剰な切替を回避してもよい。
眼球イベント検出モジュール750は、他の眼データを図7Aの眼追跡モジュール614から受信してもよく、深度面選択モジュール750に、眼球イベントが生じるまで、いくつかの深度面切替を遅延させてもよい。実施例として、眼球イベント検出モジュール750は、深度面選択モジュール750に、ユーザ瞬目が検出されるまで、計画された深度面切替を遅延させてもよく、眼追跡モジュール614内の瞬目検出コンポーネントから、ユーザが現在瞬目していることを示す、データを受信してもよく、それに応答して、深度面選択モジュール750に、瞬目イベントの間、計画された深度面切替を実行させてもよい(モジュール750に、瞬目イベントの間、ディスプレイ220に深度面切替を実行するように指示させることによって等)。少なくともいくつかの実施形態では、ウェアラブルシステムは、ユーザが偏移を知覚する可能性が低いように、瞬目イベントの間、コンテンツを新しい深度面上に偏移させることが可能であり得る。別の実施例として、眼球イベント検出モジュール750は、眼サッカードが検出されるまで、計画された深度面切替を遅延させてもよい。眼瞬目に関連して議論されるように、そのような配列は、深度面の離散偏移を促進し得る。
所望に応じて、深度面選択モジュール750は、眼球イベントの不在下であっても、深度面切替を実行する前に、限定された期間にわたってのみ、計画された深度面切替を遅延させてもよい。同様に、深度面選択モジュール750は、眼球イベントの不在下であっても、ユーザの輻輳・開散運動深度が、現在選択されている深度面外に実質的にあるとき(すなわち、ユーザの輻輳・開散運動深度が、深度面切替のための通常閾値を超える所定の閾を超えたとき)、深度面切替を実行してもよい。これらの配列は、眼球イベント検出モジュール754が、深度面切替を無限に遅延させず、大遠近調節誤差が存在するとき、深度面切替を遅延させないことを確実にすることに役立ち得る。深度面選択モジュール750の動作およびモジュールが深度面切替のタイミングを合わせ得る方法のさらなる詳細は、図13に関連して本明細書に提供される。
レンダリングカメラコントローラ758は、ユーザの左および右眼の場所を示す情報を、レンダリングエンジン622に提供してもよい。レンダリングエンジン622は、次いで、カメラをユーザの左および右眼の位置においてシミュレートし、シミュレートされたカメラの視点に基づいて、コンテンツを生成することによって、コンテンツを生成してもよい。上記に議論されるように、レンダリングカメラは、可能性として、仮想世界内のオブジェクトのデータベースから仮想画像コンテンツをレンダリングする際に使用するためのシミュレートされたカメラである。オブジェクトは、ユーザまたは装着者に対する、可能性として、ユーザまたは装着者を囲繞する環境内の実オブジェクトに対する、場所および配向を有してもよい。レンダリングカメラは、レンダリングエンジン内に含まれ、眼に提示されるべき仮想オブジェクトのデータベースに基づいて、仮想画像をレンダリングしてもよい。仮想画像は、ユーザまたは装着者の視点から撮影されたかのようにレンダリングされてもよい。例えば、仮想画像は、仮想世界内のオブジェクトを視認する、開口、レンズ、および検出器を有する、カメラ(「レンダリングカメラ」に対応する)によって捕捉されたかのようにレンダリングされてもよい。仮想画像は、「レンダリングカメラ」の位置を有する、そのようなカメラの視点から撮影される。例えば、仮想画像は、ユーザまたは装着者の視点からであるように現れる画像を提供するように、ユーザまたは装着者の眼に対する具体的場所を有する、カメラの視点から捕捉されたかのようにレンダリングされてもよい。いくつかの実装では、画像は、ユーザまたは装着者の眼に対する具体的場所(本明細書に議論されるような視点中心または回転中心または他の場所等)に開口を有する、カメラ視点から捕捉されたかのようにレンダリングされる。
レンダリングカメラコントローラ758は、CoR推定モジュール724によって決定された左および右眼回転中心(CoR)に基づいて、および/またはCoP推定モジュール732によって決定された左および右眼視点中心(CoP)に基づいて、左および右カメラの位置を決定してもよい。いくつかの実施形態では、レンダリングカメラコントローラ758は、種々の要因に基づいて、CoR場所とCoP場所との間で切り替えてもよい。実施例として、レンダリングカメラコントローラ758は、種々のモードでは、レンダリングカメラをCoR場所に常時位置合わせする、レンダリングカメラをCoP場所に常時位置合わせする、種々の要因に基づいて、経時的に、CoR場所へのレンダリングカメラの位置合わせとCoP場所へのレンダリングカメラの位置合わせとの間でトグルする、または離散的に切り替える、または種々の要因に基づいて、経時的に、CoR場所とCoP場所との間で光学(または視)軸に沿った異なる位置の範囲のいずれかにレンダリングカメラを動的に位置合わせしてもよい。CoRおよびCoP位置は、随意に、平滑フィルタ756を通して通過し得(レンダリングカメラ位置付けのための前述のモードのいずれかにおいて)、これは、CoRおよびCoP場所を経時的に平均し、これらの位置における雑音を低減させ、シミュレートされたレンダリングカメラをレンダリングする際のジッタを防止し得る。
少なくともいくつかの実施形態では、レンダリングカメラは、眼追跡モジュール614によって識別される推定されたCoRまたはCoPの位置に配置されるピンホールを伴うピンホールカメラとしてシミュレートされてもよい。CoPは、CoRからオフセットされるため、レンダリングカメラの位置がユーザのCoPに基づくときは常時、レンダリングカメラおよびそのピンホールの両方の場所が、ユーザの眼が回転するにつれて偏移する。対照的に、レンダリングカメラの位置が、ユーザのCoRに基づくときは常時、レンダリングカメラのピンホールの場所は、眼回転に伴って移動しないが、レンダリングカメラ(ピンホールの背後)は、いくつかの実施形態では、眼回転に伴って移動し得る。レンダリングカメラの位置がユーザのCoRに基づく、他の実施形態では、レンダリングカメラは、ユーザの眼に伴って移動(すなわち、回転)しなくてもよい。
位置合わせオブザーバの実施例
例示的位置合わせオブザーバ620のブロック図が、図7Cに示される。図6、7A、および7Cに示されるように、位置合わせオブザーバ620は、眼追跡情報を眼追跡モジュール614(図6および7A)から受信し得る。実施例として、位置合わせオブザーバ620は、ユーザの左および右眼回転中心(例えば、共通座標系上にある、または頭部搭載型ディスプレイシステム600と共通基準フレームを有し得る、ユーザの左および右眼の回転中心の3次元位置)に関する情報を受信し得る。他の実施例として、位置合わせオブザーバ620は、ディスプレイ付帯性質、適合公差、および眼追跡有効インジケータを受信し得る。ディスプレイ付帯性質は、ディスプレイの視野、1つまたはそれを上回るディスプレイ表面のサイズ、および頭部搭載型ディスプレイシステム600に対するディスプレイ表面の位置等、ディスプレイ(例えば、図2のディスプレイ200)に関する情報を含み得る。適合公差は、ユーザの左および右眼がディスプレイ性能が影響を受ける前に公称位置から移動し得る距離を示し得る、ディスプレイ位置合わせ体積に関する情報を含み得る。加えて、適合公差は、ユーザの眼の位置の関数として予期される、ディスプレイ性能影響の量を示し得る。
図7Cに示されるように、位置合わせオブザーバ620は、3D位置適合モジュール770を含んでもよい。位置適合モジュール770は、実施例として、左眼回転中心3D位置(例えば、CoR左)、右眼回転中心3D位置(例えば、CoR右)、ディスプレイ付帯性質、および適合公差を含む、種々のデータを取得および分析し得る。3D位置適合モジュール770は、個別の左および右眼公称位置からのユーザの左および右眼の距離を決定し得(例えば、3D左誤差および3D右誤差を計算し得)、誤差距離(例えば、3D左誤差および3D右誤差)をデバイス3D適合モジュール772に提供し得る。
3D位置適合モジュール770はまた、誤差距離とディスプレイ付帯性質および適合公差を比較し、ユーザの眼が、公称体積、部分的に低下された体積(例えば、その中でディスプレイ220の性能が部分的に低下された体積)、または完全に低下された、またはほぼ完全に低下された体積(例えば、その中でディスプレイ220がコンテンツをユーザの眼に提供することが実質的に不可能である、体積)内にあるかどうかを決定し得る。少なくともいくつかの実施形態では、3D位置適合モジュール770または3D適合モジュール772は、図7Cに示される適合の質の出力等、ユーザ上へのHMDの適合を定質的に説明する出力を提供してもよい。実施例として、モジュール770は、ユーザ上へのHMDの現在の適合が、良好、許容可能、または失敗であるかどうかを示す、出力を提供してもよい。良好な適合は、ユーザが画像の少なくともあるパーセンテージ(90%等)を視認することを可能にする適合に対応し得、許容可能な適合は、ユーザが画像の少なくともより低いパーセンテージ(80%等)を視認することを可能にし得る一方、適合失敗は、その中で画像のさらにより低いパーセンテージのみがユーザに可視である適合であり得る。
別の実施例として、3D位置適合モジュール770および/またはデバイス3D適合モジュール772は、ユーザに可視のディスプレイ220による画像表示の全体的面積(またはピクセル)のパーセンテージであり得る、可視面積メトリックを計算してもよい。モジュール770および772は、1つまたはそれを上回るモデル(例えば、数学的または幾何学的モデル)、1つまたはそれを上回るルックアップテーブル、または他の技法またはこれらおよび他の技法の組み合わせを使用して、ディスプレイ220に対するユーザの左および右眼の位置(例えば、ユーザの眼の回転中心に基づき得る)を評価し、ユーザの眼の位置の関数としてユーザに可視の画像のパーセンテージを決定することによって、可視面積メトリックを計算してもよい。加えて、モジュール770および772は、ユーザの眼の位置の関数としてユーザに可視であることが予期される、ディスプレイ220による画像表示の領域または部分を決定してもよい。
位置合わせオブザーバ620はまた、デバイス3D適合モジュール772を含んでもよい。モジュール772は、3D位置適合モジュール770からのデータを受信してもよく、また、眼追跡モジュール614によって提供され得、眼追跡システムが現在ユーザの眼の位置を追跡しているかどうかまたは眼追跡データが利用不可能である、または誤差条件下にある(例えば、信頼性がないと決定される)かどうかを示し得る、眼追跡有効インジケータを受信してもよい。デバイス3D適合モジュール772は、所望に応じて、眼追跡有効データの状態に応じて、3D位置適合モジュール770から受信された適合の質データを修正してもよい。例えば、眼追跡システムからのデータが、利用可能ではない、または誤差を有すると示される場合、デバイス3D適合モジュール772は、誤差が存在することの通知を提供し、および/または適合の質または適合誤差に関する出力をユーザに提供しなくてもよい。
少なくともいくつかの実施形態では、位置合わせオブザーバ620は、適合の質および誤差の性質および大きさの詳細に関するフィードバックをユーザに提供してもよい。実施例として、頭部搭載型ディスプレイシステムは、較正または着用プロセス(例えば、設定プロシージャの一部として)の間、フィードバックをユーザに提供してもよく、動作の間も、フィードバックを提供してもよい(例えば、適合が、滑脱に起因して低下する場合、位置合わせオブザーバ620は、ユーザに、頭部搭載型ディスプレイシステムを再調節するようにプロンプトしてもよい)。いくつかの実施形態では、位置合わせ分析は、自動的に実施されてもよく(例えば、頭部搭載型ディスプレイシステムの使用の間)、フィードバックが、ユーザ入力を伴わずに提供されてもよい。これらは、単に、例証的実施例である。
眼追跡システムを用いてユーザの角膜を位置特定する実施例
図8Aは、眼の角膜球面を示す、眼の概略図である。図8Aに示されるように、ユーザの眼810は、角膜812と、瞳孔822と、水晶体820とを有し得る。角膜812は、角膜球面814によって示される、略球状形状を有し得る。角膜球面814は、角膜中心とも称される、中心点816と、半径818とを有し得る。ユーザの眼の半球状角膜は、角膜中心816の周囲に湾曲し得る。
図8B-8Eは、3D角膜中心推定モジュール716および眼追跡モジュール614を使用してユーザの角膜中心816を位置特定する、実施例を図示する。
図8Bに示されるように、3D角膜中心推定モジュール716は、角膜閃光854を含む、眼追跡画像852を受信してもよい。3D角膜中心推定モジュール716は、次いで、光線856を眼カメラ座標系内に投射するために、眼カメラ座標系850内において、眼カメラ324および光源326の既知の3D位置(眼追跡付帯性質および固有性質データベース702、仮定された眼寸法データベース704、および/またはユーザ毎較正データ706内のデータに基づき得る)をシミュレートしてもよい。少なくともいくつかの実施形態では、眼カメラ座標系850は、その原点を眼追跡カメラ324の3D位置に有してもよい。
図8Cでは、3D角膜中心推定モジュール716は、第1の位置における角膜球面814a(データベース704からの仮定された眼寸法に基づき得る)および角膜曲率中心816aをシミュレートする。3D角膜中心推定モジュール716は、次いで、角膜球面814aが光を光源326から閃光位置854に適切に反射させるであろうかどうかをチェックしてもよい。図8Cに示されるように、第1の位置は、光線860aが光源326と交差しないため、合致しない。
図8Dと同様に、3D角膜中心推定モジュール716は、第2の位置における角膜球面814bおよび角膜曲率中心816bをシミュレートする。3D角膜中心推定モジュール716は、次いで、角膜球面814bが、光を光源326からの閃光位置854に適切に反射させるかどうかをチェックする。図8Dに示されるように、第2の位置もまた、合致しない。
図8Eに示されるように、3D角膜中心推定モジュール716は、最終的に、角膜球面の正しい位置が角膜球面814cおよび角膜曲率中心816cであることを決定することが可能である。3D角膜中心推定モジュール716は、源326からの光が、角膜球面から適切に反射し、カメラ324によって画像852上の閃光854の正しい場所に結像されるであろうことをチェックすることによって、図示される位置が正しいことを確認する。本配列、および光源326、カメラ324の既知の3D位置、およびカメラの光学性質(焦点距離等)を用いることで、3D角膜中心推定モジュール716は、角膜の曲率の中心816の3D場所(ウェアラブルシステムに対する)を決定し得る。
少なくとも図8C-8Eに関連して本明細書に説明されるプロセスは、事実上、ユーザの角膜中心の3D位置を識別するための反復、繰り返し、または最適化プロセスであり得る。したがって、複数の技法(例えば、反復、最適化技法等)のいずれかが、効率的かつ迅速に選別する、または可能性として考えられる位置の検索空間を低減させるために使用されてもよい。さらに、いくつかの実施形態では、システムは、光源326等の2つ、3つ、4つ、またはそれを上回る光源を含んでもよく、これらの光源の全てのうちのいくつかは、異なる位置に配置され、画像852上の異なる位置に位置する、閃光854等の複数の閃光および異なる原点および方向を有する、光線856等の複数の光線をもたらしてもよい。そのような実施形態は、モジュール716が、閃光および光線の一部または全部がその個別の光源と画像852上のその個別の位置との間に適切に反射される結果をもたらす、角膜位置を識別することを模索し得るため、3D角膜中心推定モジュール716の正確度を向上させ得る。換言すると、これらの実施形態では、光源の一部または全部の位置が、図8B-8Eの3D角膜位置決定(例えば、反復、最適化技法等)プロセスに依拠し得る。
眼追跡画像の座標系を正規化する実施例
図9A-9Cは、図7Aの座標系正規化モジュール718等のウェアラブルシステム内のコンポーネントによる、眼追跡画像の座標系の例示的正規化を図示する。ユーザの瞳孔場所に対する眼追跡画像の座標系の正規化は、ユーザの顔に対するウェアラブルシステムの滑脱(すなわち、ヘッドセット滑脱)を補償し得、そのような正規化は、眼追跡画像とユーザの眼との間の一貫した配向および距離を確立し得る。
図9Aに示されるように、座標系正規化モジュール718は、ユーザの角膜の回転中心の推定された3D座標900を受信してもよく、画像852等の非正規化眼追跡画像を受信してもよい。眼追跡画像852および座標900は、実施例として、眼追跡カメラ324の場所に基づく、非正規化座標系850内にあってもよい。
第1の正規化ステップでは、座標系正規化モジュール718は、図9Bに示されるように、座標系のz-軸(すなわち、輻輳・開散運動深度軸)が座標系の原点と角膜曲率中心座標900との間のベクトルと整合され得るように、座標系850を回転座標系902の中に回転させてもよい。特に、座標系正規化モジュール718は、ユーザの角膜曲率中心の座標900が回転画像904の平面に対して直交するまで、眼追跡画像850を回転眼追跡画像904の中に回転させてもよい。
第2の正規化ステップとして、座標系正規化モジュール718は、図9Cに示されるように、角膜曲率中心座標900が正規化された座標系910の原点から標準的な正規化された距離906にあるように、回転座標系902を正規化された座標系910へと平行移動させてもよい。特に、座標系正規化モジュール718は、回転眼追跡画像904を正規化された眼追跡画像912へと平行移動させてもよい。少なくともいくつかの実施形態では、標準的な正規化された距離906は、約30ミリメートルであってもよい。所望に応じて、第2の正規化ステップは、第1の正規化ステップに先立って実施されてもよい。
眼追跡システムを用いてユーザの瞳孔重心を位置特定する実施例
図9D-9Gは、3D瞳孔中心ロケータモジュール720および眼追跡モジュール614を使用してユーザの瞳孔中心(すなわち、図8Aに示されるように、ユーザの瞳孔822の中心)を位置特定する、実施例を図示する。
図9Dに示されるように、3D瞳孔中心ロケータモジュール720は、瞳孔重心913(すなわち、瞳孔識別モジュール712によって識別されるようなユーザの瞳孔中心)を含む、正規化された眼追跡画像912を受信してもよい。3D瞳孔中心ロケータモジュール720は、次いで、眼カメラ324の正規化された3D位置910をシミュレートし、瞳孔重心913を通して、光線914を正規化された座標系910内に投射してもよい。
図9Eでは、3D瞳孔中心ロケータモジュール720は、3D角膜中心推定モジュール716からのデータに基づいて(および図8B-8Eに関連してより詳細に議論されるように)、曲率中心900を有する角膜球面901等の角膜球面をシミュレートしてもよい。実施例として、角膜球面901は、図8Eに関連して識別された曲率中心816cの場所に基づいて、および図9A-9Cの正規化プロセスに基づいて、正規化された座標系910内に位置付けられてもよい。加えて、3D瞳孔中心ロケータモジュール720は、図9Eに示されるように、光線914(すなわち、正規化された座標系910の原点とユーザの瞳孔の正規化された場所との間の光線)とシミュレートされた角膜との間の第1の交点916を識別してもよい。
図9Fに示されるように、3D瞳孔中心ロケータモジュール720は、角膜球面901に基づいて、瞳孔球面918を決定してもよい。瞳孔球面918は、角膜球面901と共通曲率中心を共有するが、小半径を有し得る。3D瞳孔中心ロケータモジュール720は、角膜中心と瞳孔中心との間の距離に基づいて、角膜中心900と瞳孔球面918との間の距離(すなわち、瞳孔球面918の半径)を決定してもよい。いくつかの実施形態では、瞳孔中心と角膜曲率中心との間の距離は、図7Aの仮定された眼寸法704から、眼追跡付帯性質および固有性質データベース702から、および/またはユーザ毎較正データ706から決定されてもよい。他の実施形態では、瞳孔中心と角膜曲率中心との間の距離は、図7Aのユーザ毎較正データ706から決定されてもよい。
図9Gに示されるように、3D瞳孔中心ロケータモジュール720は、種々の入力に基づいて、ユーザの瞳孔中心の3D座標を位置特定してもよい。実施例として、3D瞳孔中心ロケータモジュール720は、瞳孔球面918の3D座標および半径、シミュレートされた角膜球面901と正規化された眼追跡画像912内の瞳孔重心913と関連付けられる光線914との間の交点916の3D座標、角膜の屈折率に関する情報、および空気の屈折率等の他の関連情報(眼追跡付帯性質および固有性質データベース702内に記憶されてもよい)を利用して、ユーザの瞳孔中心の3D座標を決定してもよい。特に、3D瞳孔中心ロケータモジュール720は、シミュレーションにおいて、空気(約1.00の第1の屈折率における)と角膜材料(約1.38の第2の屈折率における)との間の屈折差に基づいて、光線916を屈折された光線922へと屈曲させてもよい。角膜によって生じる屈折を考慮後、3D瞳孔中心ロケータモジュール720は、屈折された光線922と瞳孔球面918との間の第1の交点920の3D座標を決定してもよい。3D瞳孔中心ロケータモジュール720は、ユーザの瞳孔中心920が屈折された光線922と瞳孔球面918との間でおおよそ第1の交点920に位置することを決定してもよい。本配列を用いることで、3D瞳孔中心ロケータモジュール720は、瞳孔中心920の3D場所(ウェアラブルシステムに対する)を正規化された座標系910内で決定し得る。所望に応じて、ウェアラブルシステムは、瞳孔中心920の座標をオリジナル眼カメラ座標系850の中に正規化解除することができる。瞳孔中心920は、角膜曲率中心900とともに使用され、とりわけ、光学軸決定モジュール722を使用して、ユーザの光学軸と、輻輳・開散運動深度推定モジュール728によって、ユーザの輻輳・開散運動深度とを決定してもよい。
光学軸と視軸との間の差異の実施例
図7Aの光学軸/視軸マッピングモジュール730に関連して議論されるように、ユーザの光学軸および視軸は、部分的に、ユーザの視軸がその中心窩によって定義され、中心窩が概して人物の網膜の中心にないことに起因して、概して、整合されない。したがって、人物が、特定のオブジェクトに集中することを所望するとき、人物は、その視軸をそのオブジェクトと整合させ、その光学軸(その瞳孔中心およびその角膜の曲率中心によって定義される)が、実際には、そのオブジェクトから若干オフセットされる間、オブジェクトからの光がその中心窩上に当たることを確実にする。図10は、眼の光学軸1002と、眼の視軸1004と、これらの軸間のオフセットとを図示する、眼1000の実施例である。加えて、図10は、眼の瞳孔中心1006と、眼の角膜曲率の中心1008と、眼の平均回転中心(CoR)1010とを図示する。少なくともいくつかの母集団では、眼の角膜曲率の中心1008は、寸法1012によって示されるように、眼の平均回転中心(CoR)1010の正面の約4.7mmにあり得る。加えて、眼の視点中心1014は、眼の角膜曲率の中心1008の正面の約5.01mm、ユーザの角膜の外面1016の約2.97mm背後、および/またはユーザの瞳孔中心1006の真正面(例えば、眼1000の前房内の場所に対応する)にあり得る。付加的実施例として、寸法1012は、3.0mm~7.0mm、4.0~6.0mm、4.5~5.0mm、または4.6~4.8mm、またはこれらの範囲のいずれか内の任意の値と任意の値との間の任意の範囲であってもよい。眼の視点中心(CoP)1014は、少なくともいくつかの実施形態では、レンダリングカメラをCoPに位置合わせすることが、視差アーチファクトを低減または排除することに役立ち得るため、ウェアラブルシステムのための有用な場所であり得る。
図10はまた、それとレンダリングカメラのピンホールが整合され得る、ヒトの眼1000内のそのような場所を図示する。図10に示されるように、レンダリングカメラのピンホールは、ヒトの眼1000の(a)瞳孔または虹彩1006の中心および(b)角膜曲率の中心1008の両方より角膜の外面に近い、ヒトの眼1000の光学軸1002または視軸1004に沿った場所1014と位置合わせされてもよい。例えば、図10に示されるように、レンダリングカメラのピンホールは、角膜1016の外面から後方に約2.97ミリメートルおよび角膜曲率の中心1008から前方に約5.01ミリメートルにある、ヒトの眼1000の光学軸1002に沿った場所1014と位置合わせされてもよい。レンダリングカメラのピンホールの場所1014および/またはそれに対して場所1014が対応するヒトの眼1000の解剖学的領域は、ヒトの眼1000の視点中心を表すと見なされ得る。図10に示されるようなヒトの眼1000の光学軸1002は、角膜曲率の中心1008および瞳孔または虹彩1006の中心を通る最短線を表す。ヒトの眼1000の視軸1004は、ヒトの眼1000の中心窩から瞳孔または虹彩1006の中心まで延在する線を表すため、光学軸1002と異なる。
コンテンツをレンダリングし、眼追跡に基づいて位置合わせをチェックする、例示的プロセス
図11は、コンテンツをレンダリングする際、眼追跡を使用して、ウェアラブルデバイス内の位置合わせに関するフィードバックを提供するための例示的方法1100のプロセスフロー図である。方法1100は、本明細書に説明されるウェアラブルシステムによって実施されてもよい。方法1100の実施形態は、ウェアラブルシステムによって、コンテンツをレンダリングし、眼追跡システムからのデータに基づいて、位置合わせ(すなわち、ユーザとのウェアラブルデバイスの適合)に関するフィードバックを提供するために使用されることができる。
ブロック1110では、ウェアラブルシステムは、ユーザの片眼または両眼の画像を捕捉してもよい。ウェアラブルシステムは、少なくとも図3の実施例に示されるように、1つまたはそれを上回る眼カメラ324を使用して、眼画像を捕捉してもよい。所望に応じて、ウェアラブルシステムはまた、IR光をユーザの眼上で光輝させ、対応する閃光を眼カメラ324によって捕捉された眼画像内に生産するように構成される、1つまたはそれを上回る光源326を含んでもよい。本明細書に議論されるように、閃光は、眼追跡モジュール614によって、眼が見ている場所を含む、ユーザの眼についての種々の情報を導出するために使用されてもよい。
ブロック1120では、ウェアラブルシステムは、ブロック1110において捕捉された眼画像内で閃光および瞳孔を検出してもよい。実施例として、ブロック1120は、閃光検出および標識化モジュール714によって、眼画像を処理し、眼画像内の閃光の2次元位置を識別するステップと、瞳孔識別モジュール712によって、眼画像を処理し、眼画像内の瞳孔の2次元位置を識別するステップとを含んでもよい。
ブロック1130では、ウェアラブルシステムは、ウェアラブルシステムに対するユーザの左および右角膜の3次元位置を推定してもよい。実施例として、ウェアラブルシステムは、ユーザの左および右角膜の曲率中心の位置およびそれらの曲率中心とユーザの左および右角膜との間の距離を推定してもよい。ブロック1130は、少なくとも図7Aおよび8A-8Eに関連して本明細書に説明されるように、曲率中心の位置を識別する3D角膜中心推定モジュール716を伴ってもよい。
ブロック1140では、ウェアラブルシステムは、ウェアラブルシステムに対するユーザの左および右瞳孔中心の3次元位置を推定してもよい。実施例として、ウェアラブルシステムおよび3D瞳孔中心ロケータモジュール720は、特に、少なくとも図7Aおよび9D-9Gに関連して説明されるように、ブロック1140の一部として、ユーザの左および右瞳孔中心の位置を推定してもよい。
ブロック1150では、ウェアラブルシステムは、ウェアラブルシステムに対するユーザの左および右中心または回転(CoR)の3次元位置を推定してもよい。実施例として、ウェアラブルシステムおよびCoR推定モジュール724は、特に、少なくとも図7Aおよび10に関連して説明されるように、ユーザの左および右眼に関するCoRの位置を推定してもよい。特定の実施例として、ウェアラブルシステムは、角膜の曲率中心から網膜に向かう光学軸に沿って逆行することによって、眼のCoRを見出し得る。
ブロック1160では、ウェアラブルシステムは、ユーザのIPD、輻輳・開散運動深度、視点中心(CoP)、光学軸、視軸、および他の所望の属性を眼追跡データから推定してもよい。実施例として、ブロック1160の一部として、IPD推定モジュール726は、左および右CoRの3D位置を比較することによって、ユーザのIPDを推定してもよく、輻輳・開散運動深度推定モジュール728は、左光学軸と右光学軸の交点(または近交点)または左軸と右視軸の交点を見出すことによって、ユーザの深度を推定してもよく、光学軸決定モジュール722は、左および右光学軸を経時的に識別してもよく、光学軸/視軸マッピングモジュール730は、左および右視軸を経時的に識別してもよく、CoP推定モジュール732は、左および右視点中心を識別してもよい。
ブロック1170では、ウェアラブルシステムは、コンテンツをレンダリングしてもよく、随意に、ブロック1120-1160において識別された眼追跡データに部分的に基づいて、位置合わせに関するフィードバック(すなわち、ユーザの頭部とのウェアラブルシステムの適合)を提供してもよい。実施例として、ウェアラブルシステムは、ライトフィールドレンダリングコントローラ618(図7B)およびレンダリングエンジン622に関連して議論されるように、レンダリングカメラのための好適な場所を識別し、次いで、レンダリングカメラの場所に基づいて、ユーザのためのコンテンツを生成してもよい。別の実施例として、ウェアラブルシステムは、位置合わせオブザーバ620に関連して議論されるように、ユーザに適切に適合されているか、またはユーザに対するその適切な場所から滑脱しているかどうかを決定してもよく、デバイスの適合が調節の必要があるかどうかを示す、随意のフィードバックをユーザに提供してもよい。いくつかの実施形態では、ウェアラブルシステムは、不適切なまたはずれた位置合わせの影響を低減させる、最小限にする、または補償する試みにおいて、不適切なまたは準理想的位置合わせに基づいて、レンダリングされたコンテンツを調節してもよい。
位置合わせ座標系の実施例
図12A-12Bは、本明細書に説明されるウェアラブルシステムのディスプレイに対するユーザの左および右眼の3次元位置を定義するために使用され得る、例示的眼位置座標系を図示する。実施例として、座標系は、軸x、y、およびzを含んでもよい。座標系の軸zは、深度、すなわち、ユーザの眼がある平面とディスプレイ220がある平面(例えば、ユーザの顔の正面の平面に対して法線の方向)との間の距離に対応し得る。座標系の軸xは、ユーザの左眼と右眼との間の距離等、左右方向に対応し得る。座標系の軸yは、ユーザが直立しているときの垂直方向であり得る、上下方向に対応し得る。
図12Aは、ユーザの眼1200およびディスプレイ表面1202(図2のディスプレイ220の一部であり得る)の側面図を図示する一方、図12Bは、ユーザの眼1200およびディスプレイ表面1202の上下図を図示する。ディスプレイ表面1202は、ユーザの眼の正面に位置し得、画像光をユーザの眼に出力し得る。実施例として、ディスプレイ表面1202は、1つまたはそれを上回る外部結合光要素と、アクティブまたはピクセルディスプレイ要素とを備えてもよく、図4のスタックされた導波管アセンブリ480等の導波管のスタックの一部であってもよい。いくつかの実施形態では、ディスプレイ表面1202は、平面であってもよい。いくつかの他の実施形態では、ディスプレイ表面1202は、他のトポロジ(例えば、湾曲される)を有してもよい。ディスプレイ表面1202は、ディスプレイの物理的表面である、または単に、画像光がディスプレイ220からユーザの眼に伝搬すると理解される、平面または他の想像上の表面であり得ることを理解されたい。
図12Aに示されるように、ユーザの眼1200は、公称位置1206からオフセットされた実際の位置1204を有し得、ディスプレイ表面1202は、位置1214にあり得る。図12Aはまた、ユーザの眼1200の角膜頂点1212を図示する。ユーザの照準線(例えば、その光学および/または視軸)は、実際の位置1204と角膜頂点1212との間の線に実質的に沿ってあり得る。図12Aおよび12Bに示されるように、実際の位置1204は、z-オフセット1210、y-オフセット1208、およびx-オフセット1209だけ公称位置1206からオフセットされ得る。公称位置1206は、ディスプレイ表面1202に対するユーザの眼1200のために好ましい位置(時として、概して、所望の体積内に中心合わせされ得る、設計位置とも称される)を表し得る。ユーザの眼1200が、公称位置1206から離れるように移動するにつれて、ディスプレイ表面1202の性能は、例えば、図14に関連して本明細書に議論されるように、低下され得る。
ユーザの眼1200と関連付けられる点または体積は、本明細書の位置合わせの分析におけるユーザの眼の位置を表すために使用され得ることを理解されたい。代表的点または体積は、眼1200と関連付けられる、任意の点または体積であり得、好ましくは、一貫して使用される。例えば、点または体積は、眼1200上または内にあってもよい、または眼1200から離れるように配置されてもよい。いくつかの実施形態では、点または体積は、眼1200の回転中心である。回転中心は、本明細書に説明されるように決定されてもよく、眼1200内の種々の軸上に概ね対称的に配置され、光学軸と整合される単一ディスプレイ位置合わせ体積が分析のために利用されることを可能にするため、位置合わせ分析を簡略化するための利点を有し得る。
図12Aはまた、ディスプレイ表面1202が、ユーザの水平線の下方に中心合わせされ得(ユーザが地面と平行なその光学軸を伴って真っ直ぐ見ているときの、y-軸に沿って見られるように)、傾斜され得る(y-軸に対して)ことを図示する。特に、ディスプレイ表面1202は、眼1200が位置1206にあるとき、ユーザが、ディスプレイ表面1202の中心を見るために、おおよそ角度1216において下を向く必要があるであろうように、ユーザの水平線の幾分下方に配置されてもよい。これは、ユーザが、その水平線の上方よりその水平線の下方のコンテンツを快適に視認し得るため、特に、より短い深度(またはユーザからの距離)にレンダリングされたコンテンツを視認するとき、ディスプレイ表面1202とのより自然かつ快適な相互作用を促進し得る。加えて、ディスプレイ表面1202は、ユーザがディスプレイ表面1202の中心を見ている(例えば、ユーザの水平線の若干下方を見ている)とき、ディスプレイ表面1202が、概して、ユーザの照準線と垂直であるように、角度1218等で傾斜されてもよい(y-軸に対して)。少なくともいくつかの実施形態では、ディスプレイ表面1202はまた、ユーザの眼の公称位置に対して左または右に(例えば、x-軸に沿って)偏移されてもよい。実施例として、左眼ディスプレイ表面は、右向きに偏移されてもよく、右-眼ディスプレイ表面は、無限遠未満のある距離に合焦されるとき、ユーザの通視線がディスプレイ表面の中心に衝打するように、左向きに偏移されてもよく(例えば、ディスプレイ表面1202は、相互に向かって偏移されてもよく)、これは、ウェアラブルデバイス上での典型的使用の間、ユーザ快適性を増加させ得る。
ユーザの眼移動に応答してコンテンツをレンダリングする例示的グラフ
図13は、ウェアラブルシステムが、ユーザの眼移動に応答して深度面を切り替え得る方法を図示する、例示的グラフ1200a-1200jのセットを含む。図4および7に関連して本明細書に議論されるように、ウェアラブルシステムは、複数の深度面を含んでもよく、種々の深度面は、異なるシミュレートされた深度において、または異なる遠近調節キューを伴って(すなわち、種々のレベルの波面曲率または光線発散を伴って)、コンテンツをユーザに提示するように構成される。実施例として、ウェアラブルシステムは、第1の深度の範囲をシミュレートするように構成される、第1の深度面と、第2の深度の範囲をシミュレートするように構成される、第2の深度面とを含んでもよく、これらの2つの範囲は、望ましくは、重複し、切替の際のヒステリシスを促進し得るが、第2の深度の範囲は、概して、ユーザからより長い距離に延在してもよい。そのような実施形態では、ウェアラブルシステムは、ユーザの輻輳・開散運動深度、サッカード移動、および瞬目を追跡し、過剰な深度面切替、過剰な遠近調節-輻輳・開散運動不整合、および遠近調節-輻輳・開散運動不整合の過剰な周期を回避し、深度面切替の可視性を低減させることを模索する(すなわち、瞬目およびサッカードの間、深度面を偏移させることによって)様式において、第1の深度面と第2の深度面との間で切り替え得る。
グラフ1200aは、ユーザの輻輳・開散運動深度の実施例を経時的に図示する。グラフ1200bは、ユーザのサッカード信号または眼移動の速度の実施例を経時的に図示する。
グラフ1200cは、眼追跡モジュール614によって生成された輻輳・開散運動深度データ、特に、輻輳・開散運動深度推定モジュール728によって生成されたデータを図示し得る。グラフ1200c-1200hに示されるように、眼追跡データは、眼追跡モジュール614内において、約60Hzのレートでサンプリングされ得る。グラフ1200bと1200cとの間に示されるように、眼追跡モジュール614内の眼追跡データは、ユーザの実際の眼移動から遅延1202だけ遅れ得る。実施例として、時間t1では、ユーザの輻輳・開散運動深度は、ヒステリシス閾値1210aを交差し得るが、眼追跡モジュール614は、遅延1202後の時間t2まで、イベントを認識し得ない。
グラフ1200cはまた、ヒステリシス帯域内の種々の閾値1210a、1210b、1210cを図示し、これは、第1の深度面と第2の深度面(すなわち、図13における深度面#1および#0)との間の遷移と関連付けられ得る。いくつかの実施形態では、ウェアラブルシステムは、ユーザの輻輳・開散運動深度が閾値1210bを上回る度に、深度面#1を用いてコンテンツを表示し、ユーザの輻輳・開散運動深度が閾値1210b未満となる度に深度面#0を用いてコンテンツを表示しようとし得る。しかしながら、過剰な切替を回避するために、ウェアラブルシステムは、ヒステリシスを実装し得、それによって、ウェアラブルシステムは、ユーザの輻輳・開散運動深度が外側閾値1210cを超えるまで、深度面#1から深度面#0に切り替わらないであろう。同様に、ウェアラブルシステムは、ユーザの輻輳・開散運動深度が外側閾値1210aを超えるまで、深度面#0から深度面#1に切り替わらないであろう。
グラフ1200dは、ユーザの輻輳・開散運動深度が、概して、深度面#1と関連付けられる、体積、または概して、深度面#2と関連付けられる体積内にあるかどうか(すなわち、ユーザの輻輳・開散運動深度が閾値1210bを上回るまたはそれ未満であるかどうか)を示す、深度面選択モジュール750またはヒステリシス帯域交点検出モジュール752によって生成され得る、内部フラグを図示する。
グラフ1200eは、ユーザの輻輳・開散運動深度が閾値1210aまたは1210c等の外側閾値を超えるかどうかを示す、深度面セクションモジュール750またはヒステリシス帯域交点検出モジュール752によって生成され得る、内部ヒステリシス帯域フラグを図示する。特に、グラフ1200eは、ユーザの輻輳・開散運動深度が、ヒステリシス帯域を完全に交差し、アクティブ深度面の体積の外側の領域の中に(すなわち、アクティブ深度面以外の深度面と関連付けられる領域の中に)入り込み、したがって、潜在的に、望ましくない遠近調節-輻輳・開散運動不整合(AVM)につながるかどうかを示す、フラグを図示する。
グラフ1200fは、ユーザの輻輳・開散運動が、所定の時間を上回ってアクティブ深度面の体積の外側にあったかどうかを示す、深度面選択モジュール750またはヒステリシス帯域交点検出モジュール752によって生成され得る、内部AVMフラグを図示する。AVMフラグは、したがって、ユーザが、ほぼ過剰または過剰な期間にわたって、望ましくない遠近調節-輻輳・開散運動不整合を受けていた可能性があるときを識別し得る。加えて、または代替として、内部AVMフラグはまた、ユーザの輻輳・開散運動が、アクティブ深度面の体積を超えて所定の距離に及んだ、したがって、潜在的に過剰な遠近調節-輻輳・開散運動不整合をもたらしたかどうかを示し得る。換言すると、AVMフラグは、ユーザの輻輳・開散運動が、閾値1210aおよび1210cよりも閾値1210bからさらに付加的閾値だけ超えているときを示し得る。
グラフ1200gは、眼球イベント検出モジュール754によって生成され得る、内部瞬目フラグを図示し、これは、ユーザが、瞬目した、または瞬目しているときを決定し得る。本明細書に記載されるように、ユーザの瞬目に応じて、深度面を切り替え、ユーザが平面の深度の切替を知覚する尤度を低減させることが所望され得る。
グラフ1200hは、深度面選択モジュール750からの例示的出力を図示する。特に、グラフ1200hは、深度面選択モジュール750が、経時的に変化し得る、選択された深度面を利用するための命令を、レンダリングエンジン622(図6参照)等のレンダリングエンジンに出力し得ることを示す。
グラフ1200iおよび1200jは、レンダリングエンジン622が深度面を切り替えることによる遅延と、新しい画像フレームと関連付けられる光を新しい深度面内に提供し、深度面の変化をもたらす必要があり得る、ディスプレイ220による遅延とを含む、ウェアラブルシステム内に存在し得る、遅延を図示する。
ここで、種々の時間(t0-t10)におけるグラフ1200a-1200jに図示される、イベントを参照する。
時間t0の周囲のある時点において、ユーザの輻輳・開散運動深度は、閾値1210aを超え、これは、ヒステリシス閾値外となり得る。画像捕捉および信号処理と関連付けられる遅延後、ウェアラブルシステムは、グラフ1200eに示されるように、ユーザの輻輳・開散運動深度がヒステリシス帯域内にあることを示す、信号を生成し得る。グラフ1200eの実施例では、眼追跡モジュール614は、ユーザの輻輳・開散運動深度が閾値1210aを超えることに連動して、おおよそ時間t1においてヒステリシス帯域を超えたことのフラグを提示し得る。
ユーザの輻輳・開散運動深度は、時間t0からおおよそ時間t4まで減少し続け得、その後、増加し得る。
時間t1では、ユーザの輻輳・開散運動深度は、閾値1210bを超え得、これは、深度面#1および#0等の2つの深度面間の中点であり得る。処理遅延1202後、眼追跡モジュール614は、グラフ1200dに図示されるように、内部フラグを改変し、ユーザの輻輳・開散運動深度が、概して、深度面#1と関連付けられる、体積から、概して、深度面#0と関連付けられる、体積の中に移動したことを示し得る。
時間t3では、眼追跡モジュール614は、グラフ1200aに示されるように、ユーザの輻輳・開散運動深度が、ヒステリシス帯域を通して全体的に移動し、外側閾値1210cを超えたことを決定し得る。その結果、眼追跡モジュール614は、グラフ1200eに示されるように、ユーザの輻輳・開散運動深度がヒステリシス帯域外にあることを示す、信号を生成し得る。少なくともいくつかの実施形態では、眼追跡モジュール614は、ユーザの輻輳・開散運動深度がそれらの2つの深度面間のヒステリシス帯域外にあるときのみ、第1の深度面と第2の深度面との間で切り替え得る。
少なくともいくつかの実施形態では、眼追跡モジュール614は、時間t3において、深度面を切り替えるように構成されてもよい。特に、眼追跡モジュール614は、輻輳・開散運動深度が、現在選択されている深度面(グラフ1200hによって示されるような、深度面#1)の体積から別の深度面(深度面#0)の体積の中に移動し、ヒステリシス帯域を全体的に超えることの決定に基づいて、深度面を切り替えるように構成されてもよい。換言すると、眼追跡モジュール614は、ヒステリシス帯域を超え(グラフ1200eが高である)、不整合の時間または大きさに基づく遠近調節-輻輳・開散運動不整合が検出される(グラフ1200fが高である)度に、深度面切替を実装し得る。そのような実施形態では、眼追跡モジュール614は、レンダリングエンジン622に他の深度面(深度面#0)に切り替えるように命令する、信号をレンダリングエンジン622に提供し得る。しかしながら、図13の実施例では、眼追跡モジュール614は、少なくとも1つの他の条件が満たされるまで、深度面切替を遅延させるように構成されてもよい。これらの付加的条件は、実施例として、瞬目条件、遠近調節-輻輳・開散運動不整合タイムアウト条件、および遠近調節-輻輳・開散運動大きさ条件を含んでもよい。
時間t4において、図13の実施例では、眼追跡モジュール614は、深度面を切り替えるように構成されてもよい。特に、眼追跡モジュール614は、ユーザの輻輳・開散運動が、所定の閾値時間より長い時間にわたって、深度面#0と関連付けられる体積内にあった(随意に、また、その期間にわたって、ヒステリシス帯域にあった)ことを決定し得る。所定の閾値時間の実施例は、5秒、10秒、20秒、30秒、1分、および90秒、およびこれらの値のいずれかの間の任意の範囲を含む。そのような決定に応じて、眼追跡モジュール614は、グラフ1200fに示されるように、AVMフラグを生成し、グラフ1200hに示されるように、レンダリングエンジン622に深度面#0に切り替えるように指示し得る。いくつかの実施形態では、眼追跡モジュール614は、ユーザの輻輳・開散運動深度が現在の選択された深度体積から閾値距離を上回って検出される場合、AVMフラグを生成し、レンダリングエンジン622に深度面を切り替えるように指示し得る。
時間t5では、遅延1204後、レンダリングエンジン622は、コンテンツを新しく選択された深度面#0にレンダリングすることを開始し得る。レンダリングおよびディスプレイ220を通したユーザへの光の伝達と関連付けられる遅延1206後、ディスプレイ220は、時間t6までに、新しく選択された深度面#0に完全に切り替えられ得る。
したがって、グラフ1200a-jは、時間t0およびとt6との間において、システムが、ユーザの輻輳・開散運動が、所定の期間を上回る時間にわたって、前の深度体積から離れて移動した後、ユーザの変化する輻輳・開散運動に応答し得、深度面を切り替え得る方法を図示する。グラフ1200a-jは、時間t7とt10との間において、システムが、所定の期間に先立ち得る、ユーザの変化する輻輳・開散運動に応答し得、ユーザの瞬目の検出に応じて、深度面を切り替え得る方法を図示し得る。
時間t7では、眼追跡モジュール614は、ユーザの輻輳・開散運動深度が深度面#0と#1との間のヒステリシス領域に進入した(すなわち、ユーザの輻輳・開散運動深度が外側閾値1210cを超えた)ことを検出し得る。それに応答して、眼追跡モジュール614は、グラフ1200eに示されるように、ヒステリシスフラグを改変し得る。
時間t8では、眼追跡モジュール614は、ユーザの輻輳・開散運動深度が閾値1210bを超え、概して、深度面#0と関連付けられる、体積から、概して、深度面#1と関連付けられる、体積の中に移動したことを検出し得る。したがって、眼追跡モジュール614は、グラフ1200dに示されるように、深度体積フラグを改変し得る。
時間t9では、眼追跡モジュール614は、ユーザの輻輳・開散運動深度が、閾値1210aを超え、ヒステリシス体積から、概して、深度面#1と排他的に関連付けられる、体積の中に移動したことを検出し得る。それに応答して、眼追跡モジュール614は、グラフ1200eに示されるように、ヒステリシスフラグを改変し得る。
時間t10の周囲では、ユーザは、瞬目し得、眼追跡モジュール614は、その瞬目を検出し得る。一実施例として、眼球イベント検出モジュール754は、ユーザの瞬目を検出してもよい。それに応答して、眼追跡モジュール614は、グラフ1200hに示されるように、瞬目フラグを生成し得る。少なくともいくつかの実施形態では、眼追跡モジュール614は、ヒステリシス帯域を超え(グラフ1200eが高である)、瞬目が検出される(グラフ1200gが高である)度に、深度面切替を実装し得る。したがって、眼追跡モジュール614は、レンダリングエンジン622に、時間t10において、深度面を切り替えるように命令し得る。
深度面選択の較正の例示的プロセス
本明細書に議論されるように、図2のディスプレイ220等の頭部搭載型ディスプレイは、複数の深度面を含んでもよく、これは、それぞれ、異なる量の波面発散を提供し、異なる遠近調節キューをユーザの眼に提供する。深度面は、図4の導波管432b、434b、436b、および440b等の光学要素から形成されてもよく、これは、実施例として、所望のレベルの波面発散を用いて、画像情報をユーザの眼に送信するように構成されてもよい。
少なくともいくつかの実施形態では、ディスプレイ220を含む、ウェアラブルシステムは、ユーザの視線の現在の固視点または輻輳・開散運動深度に基づく遠近調節キューを有する、画像コンテンツを表示するように構成されてもよい(例えば、遠近調節-輻輳・開散運動不整合を低減または最小限にするために)。換言すると、ウェアラブルシステムは、ユーザの視線の輻輳・開散運動深度を識別し(例えば、実施例として、図7Aの輻輳・開散運動深度推定モジュール728を使用して)、次いで、画像コンテンツを、現在の輻輳・開散運動深度と関連付けられる遠近調節キューを提供する、深度面上に表示するように構成されてもよい。したがって、ユーザが、光学無限遠を見ているとき、ウェアラブルシステムは、画像コンテンツを、光学無限遠の遠近調節キューを提供する、第1の深度面上に表示してもよい。対照的に、ユーザが、近距離内(例えば、1メートル以内)を見ているとき、ウェアラブルシステムは、画像コンテンツを、遠近調節キューを近距離内または少なくともそのより近くに提供する、第2の深度面上に表示してもよい。
上記に記載されるように、図7Aの輻輳・開散運動深度推定モジュール728によって実施され得る、輻輳・開散運動深度推定は、部分的に、現在のユーザの瞳孔間距離(IPD)に基づいてもよい。特に、いくつかの実施形態では、輻輳・開散運動深度を決定するステップは、ユーザの左および右眼の光学および/または視軸を投影し(その個別の視線を決定するために)、それらの軸が空間内で交差する場所、したがって、ユーザの固視点または輻輳・開散運動深度がある場所を決定するステップを伴ってもよい。幾何学的に、光学および/または視軸は、三角形の辺であって、三角形の底辺は、ユーザのIPDであって、三角形の先端は、ユーザの固視点または輻輳・開散運動深度である。したがって、ユーザのIPDは、輻輳・開散運動深度を決定する際に有用であることを理解されたい。
種々の実施形態では、ウェアラブルシステムは、特定のメインユーザに対して較正されてもよい。較正は、種々のプロセスを含んでもよく、ユーザが異なる場所および深度におけるオブジェクトに合焦されるにつれてユーザの眼が移動する程度を決定するステップを含んでもよい。較正はまた、ユーザのIPD(例えば、ユーザが光学無限遠に合焦するときのユーザの瞳孔間の距離)を識別するステップを含んでもよい。較正はまた、近距離(例えば、2.0メートル未満)内のオブジェクトおよび中距離(例えば、約2.0および3.0メートル)内のオブジェクト等、ユーザが光学無限遠より近いオブジェクトに合焦するときのユーザの瞳孔距離を決定するステップを含んでもよい。そのような較正データに基づいて、ウェアラブルシステムは、ユーザの瞳孔距離を監視することによって、ユーザが見ている深度を決定することが可能であり得る。換言すると、ユーザの瞳孔距離が、その最大値にある(例えば、ユーザのIPDに等しいまたはそれに近い)とき、ウェアラブルシステムは、ユーザの輻輳・開散運動距離が光学無限遠またはその近くにあることを推測することが可能であり得る。対照的に、ユーザの瞳孔距離が、その最小値の近くにあるとき、ウェアラブルシステムは、ユーザの輻輳・開散運動距離が較正によって決定された距離におけるユーザに近いことを推測することが可能であり得る。
いくつかの実施形態では、ウェアラブルシステムは、深度面選択のための1つまたはそれを上回る代替プロセスを利用してもよい。一実施例として、ウェアラブルシステムは、コンテンツベースの切替スキームを実装してもよい。仮想コンテンツは、そのコンテンツが位置すべき仮想空間内の場所についての情報を含んでもよいことを理解されたい。本場所を前提として、仮想コンテンツは、波面発散の関連付けられる量を効果的に規定し得る。その結果、ユーザの眼の固視点を決定し、深度面を切り替える(例えば、仮想オブジェクトを形成するための光の波面発散の量を切り替えるために)のではなく、ディスプレイシステムは、その中に仮想コンテンツを設置すべき仮想空間内の所望の場所に基づいて、深度面を切り替えるように構成されてもよい。
いくつかの実施形態では、ウェアラブルシステムは、依然として、その仮想コンテンツのために規定された深度面に切り替えるために、ユーザが仮想コンテンツを見ているかどうかに関する決定を行ってもよい。例えば、ディスプレイシステムは、依然として、ユーザの視線を追跡し、彼らが仮想オブジェクトを見ているかどうかを決定してもよく、いったんその決定が行われると、仮想コンテンツと関連付けられる深度情報を使用して、深度面を切り替えるかどうかを決定してもよい。別の実施例として、ウェアラブルシステムは、ユーザが特定の実または仮想オブジェクトを見るであろうことの仮定に基づいて、ユーザが見ている可能性が最も高い実または仮想オブジェクトを識別してもよい。例えば、ウェアラブルシステムは、ユーザから1メートル離れるように、ビデオを2D仮想画面上においてユーザに提示してもよい。ユーザが、画面から視線を逸らし、別のオブジェクトを見ている可能性もあるが、ユーザがビデオ画面を見ているであろうと仮定するのが合理的であり得る。いくつかの実施形態では、ウェアラブルシステムは、移動または可視変化または他の実または仮想コンテンツより多くの移動または変化を有する、ユーザが実または仮想コンテンツを見ていると仮定を行うように構成されてもよい。例えば、ウェアラブルシステムは、スコアをユーザの視野内の実または仮想コンテンツによる視覚的外観の移動または変化の量に割り当て、ユーザが最高スコア(例えば、ビデオを表示する仮想画面等の最も多くの移動または視覚的変化)を伴う実または仮想コンテンツを見ているという仮定を行ってもよい。
代替深度面選択プロセスの別の実施例は、動的較正である。動的較正は、現在のユーザが専用較正プロセスを実施していない(またはまだ実施していない)時に有益であり得る。実施例として、動的較正は、ゲストユーザがデバイスを装着しているときに利用されてもよい。動的較正システムの一実施例では、ウェアラブルシステムは、現在のユーザのIPDを推定するために、眼追跡データを収集してもよく、次いで、推定されるIPDを使用して(および図7Aのモジュール728に関連して議論されるように、その眼視線方向)、ユーザの輻輳・開散運動深度を推定してもよい。IPD推定は、図7AのIPD推定モジュール726によって実施されてもよく、付加的詳細および例示的実施形態は、モジュール726に関連して本明細書に議論される。動的較正は、背景プロセスとして生じ、具体的アクションをユーザから要求しなくてもよい。加えて、動的較正は、ユーザの眼のサンプルまたは画像を持続的に取得し、IPD推定値をさらに精緻化してもよい。下記にさらに詳細に議論されるように、ウェアラブルシステムは、全ての測定されたIPD値の95パーセンタイル(または他のパーセンタイル)としてユーザのIPDを推定し得る。換言すると、測定されたIPD値の最大5%が、除外され得、次いで、最大の残りの測定されたIPD値が、ユーザのIPDとして求められ得る。このように計算されるIPD値は、本明細書では、IPD_95と称され得る。
ディスプレイシステムは、IPDを継続的に監視するように構成されてもよいことを理解されたい。したがって、特定のパーセンタイルと関連付けられる値を決定するために使用される、サンプルまたは個々のIPD測定値の数は、経時的に増加し、潜在的に、IPD決定の正確度を増加させ得る。いくつかの実施形態では、IPD値(例えば、IPD95)は、継続的または周期的に、更新されてもよい。例えば、IPD値は、所定の時間量が経過した後、および/または個々のIPD測定値の所定の数が行われた後、更新されてもよい。
いくつかの実施形態では、動的較正プロセスは、ユーザのIPD(例えば、ユーザが、光学無限遠を見ているとき等のユーザの最大瞳孔距離)を識別することを求めてもよい。そのような実施形態では、ウェアラブルシステムは、IPDのみに基づいて、深度面選択を較正することが可能であり得る。
特定の実施例として、ユーザの瞳孔距離が、その最大IPDから0.6mm低減される場合、ユーザは、約78mmの深度に合焦している可能性が高いことが決定されている。78mmは、本明細書に開示されるいくつかの実施形態では、深度面間の切替点に対応し得る(例えば、システムは、ユーザが78mm未満に合焦しているとき、第1の深度面を利用し、ユーザが78mmを上回って合焦しているとき、第2の深度面を利用することを好み得る)。異なる焦点深度に生じる切替点を伴う実施形態では、その最大IPDに対する関連付けられる瞳孔距離低減は、切替点の変化に関連して変化するであろう(例えば、そのような実施形態では、78mmから切替点があるいずれかの場所に)。
いくつかのインスタンスでは、ウェアラブルシステムは、単に、ユーザの現在の瞳孔距離とその最大IPDとの間の差異を考慮するだけではなく、また、そのような関係がユーザの最大IPDに関連して変化する程度を考慮することによって、ユーザの輻輳・開散運動深度のその計算を精緻化してもよい。特に、上記に議論される0.6mmの数は、全体として母集団に適用され、ウェアラブルシステム内の種々のバイアスを考慮する、平均数であり得る(例えば、平均して、その最大IPDより0.6mm少ない現在の瞳孔距離を有する、ユーザは、78mmの距離に輻輳している場合がある)。しかしながら、78mmの輻輳・開散運動距離(または、先行段落に議論されるような他の切替点距離)と関連付けられる、(最大値と現在値との間の)実際のIPD差異は、0.6mmより大きいまたはそれを上回ってもよく、ユーザの解剖学的IPDの関数であってもよい。特定の実施例として、54mmのIPDを伴う人物は、その現在のIPDがその最大IPD(例えば、少なくとも10メートルの距離を見ているときのそのIPD)より0.73mm少ないとき、78mmの輻輳・開散運動距離を有し得、64mmのIPDを伴う人物は、その現在のIPDがその最大IPDより0.83mm少ないとき、78mmの輻輳・開散運動距離を有し得、72mmのIPDを伴う人物は、その現在のIPDがその最大IPDより0.93mm少ないとき、78mmの輻輳・開散運動距離を有し得る。これらの数は、限定ではないが、0.6mmの数が、異なるIPDを伴うユーザ間で区別されないこと、0.6mmの数が、IPD_95値を参照し得る(例えば、実際には、光学無限遠を見ているときのユーザの解剖学的IPDより若干低い、IPD値を参照し得る)ことを含め、種々の理由から、0.6mmの数と異なり得る。いくつかの実施形態では、0.6mmの数は、ユーザの最大IPDに応じて変動し得る。例えば、0.6mmの数からの所定の数の逸脱が、利用可能であってもよく、最大IPD値の異なる範囲と関連付けられてもよい。
そのような関係を使用して、ウェアラブルシステムは、その最大IPDと現在の瞳孔間距離(その輻輳・開散運動距離が減少するにつれて、1つまたはそれを上回る数学的関数に従って低減され得る)を比較することによって、ユーザの現在の輻輳・開散運動深度を決定することが可能であり得る。ユーザの最大IPDを決定するステップは、実施例として、ユーザのIPDに関するデータを経時的に収集し、収集されたデータ内の最大IPDを識別するステップを伴ってもよい。他の実施形態では、ウェアラブルシステムは、ユーザが光学無限遠を見ていないときでも、ヒューリスティックまたは他のプロセスを使用して、ユーザの最大IPDを決定してもよい。特に、ウェアラブルシステムは、ユーザの最大IPDをより近い輻輳・開散運動深度と関連付けられる複数の瞳孔距離から外挿してもよい。ウェアラブルシステムはまた、ユーザに、仮想コンテンツを光学無限遠に提示し、ユーザにその注意を仮想コンテンツ上に集中させるように求めることによって、光学無限遠を見るように促してもよい。
図14は、既存の較正、コンテンツベースの切替スキーム、および/または動的較正を使用する、深度面選択のための例示的方法1400のプロセスフロー図である。方法1400は、本明細書に説明されるウェアラブルシステムによって実施されてもよい。方法1400の実施形態は、ウェアラブルシステムによって、コンテンツを、概して、そうでなければ、ユーザ不快感および疲労につながる、任意の輻輳・開散運動-遠近調節不整合を低減または最小限にする、深度面上にレンダリングするために使用されることができる。
ブロック1402では、ウェアラブルシステムは、それがユーザによって装着されていないことを決定してもよい。ウェアラブルシステムは、眼カメラ324のような眼追跡システム等の1つまたはそれを上回るセンサを使用して、それが装着されていないことを決定してもよい。実施例として、ウェアラブルシステムは、眼カメラ324によって捕捉された眼追跡画像内に眼が存在しないことの決定に基づいて、それがユーザによって装着されていないことを決定してもよい。特に、ウェアラブルシステムは、少なくとも所与の期間(例えば、所定の期間、動的に決定された期間等)にわたって、眼追跡画像内に眼を検出することに失敗した後、ウェアラブルシステムがユーザによって装着されていないことを決定してもよい。
カメラ324によって捕捉されたもの等の眼追跡画像内のユーザの眼の一方または両方の検出に応じて、方法1400は、ブロック1404に進んでもよい。ブロック1404では、ウェアラブルシステムは、それが装着されていることを決定してもよい。いくつかの実施形態では、ブロック1402および/またはブロック1406と関連付けられる決定のいくつかまたは全ては、少なくとも部分的に、IMU、加速度計、ジャイロスコープ、近接度センサ、タッチセンサ、および同等物等のウェアラブルシステムからの1つまたはそれを上回る他のセンサからのデータに基づいて行われてもよい。例えば、これらの実施形態では、ウェアラブルシステムは、ウェアラブルシステムが、ユーザの頭部上に設定されている、またはそこから除去されていることのインジケーションのために、1つまたはそれを上回るIMU、加速度計、および/またはジャイロスコープからのデータを監視してもよい、1つまたはそれを上回る近接度センサおよび/またはタッチセンサからのデータを監視し、ユーザの物理的存在を検出してもよい、または両方であってもよい。例えば、ウェアラブルシステムは、これらのセンサのうちの1つまたはそれを上回るものから受信されたデータを比較してもよく、ウェアラブルシステムは、個別のセンサと関連付けられる閾値を有してもよい。一実施例では、ウェアラブルシステムは、次いで、1つまたはそれを上回る近接度センサからの値が、閾値を満たし、またはそれを超え、随意に、IMU、加速度計、および/またはジャイロスコープからのデータと併せて、本デバイスが除去されていることの結論を支持するために十分な移動(例えば、閾値を超える)を示すことに基づいて、デバイスがユーザの頭部から除去されていることを決定してもよい。
ブロック1406では、ウェアラブルシステムは、識別プロセスを実施することによって、現在のユーザを識別するように試みてもよい。一実施例として、ウェアラブルシステムは、現在のユーザのIPDを推定し、現在のユーザのIPDが較正されたユーザのIPDに合致するかどうか(例えば、2つのIPDが相互にある閾値内にあるかどうか)を決定してもよい。いくつかの実施形態では、ウェアラブルシステムは、較正されたIPDおよび現在のユーザのIPDが、較正されたユーザのIPDの閾値、例えば、0.5mm、1.0mm、1.5mm、または2.0mm以内にある場合、現在のユーザが較正されたユーザであることを決定してもよい。一般に、より大きい閾値は、より高速の決定を促進し、較正されたユーザが識別され、その較正パラメータが使用されることを確実にすることに役立ち得る。例えば、より大きい閾値は、現在のユーザが較正されたユーザであることを見出すようにバイアスされる。少なくともいくつかの実施形態では、ウェアラブルシステムは、比較的に短タイムフレーム内に比較的に高正確度(例えば、95%)(例えば、眼追跡画像の約150~200フレームに対応し得る、5~7秒の眼追跡データ)を伴って、現在のユーザのIPDを決定することが可能であり得る。
現在のユーザのIPDと較正されたユーザのIPDとの間に合致が存在する場合、ウェアラブルシステムは、現在のユーザが較正されたユーザであると仮定し、ブロック1408において、既存の較正をロードしてもよい。既存の較正は、較正されたユーザがウェアラブルシステムを装着している状態で較正プロセスの間に生成された、較正パラメータまたはデータであってもよい。現在のユーザは、実際には較正されたユーザではなく、単に、類似IPDを有する場合、ブロック1408においてロードされた較正データは、現在のユーザのための合理的性能を提供する一方、現在のユーザが、さらなる詳細な較正を実施することなく、ウェアラブルシステムを使用することを可能にする、容認可能較正であり得る。
いくつかの実施形態では、ウェアラブルシステムは、ユーザのIPD以外の(またはそれに加え)測定を使用して、現在のユーザを識別してもよい。実施例として、ウェアラブルシステムは、ユーザに、ユーザ名および/またはパスワードを尋ねてもよく、ウェアラブルシステムは、虹彩走査(例えば、ユーザの虹彩の現在の画像と基準画像を比較し、合致が存在するかどうかを決定し、合致は、現在のユーザが較正されたユーザであることを意味すると解釈される)、音声認識(例えば、ユーザの音声の現在のサンプルと基準音声ファイルを比較し、合致は、現在のユーザが較正されたユーザであることを意味すると解釈される)、またはこれらおよび他の認証または識別技法のある組み合わせを実施してもよい。いくつかの実施形態では、2つまたはそれを上回る識別プロセスが、現在のユーザが較正されたユーザであるかどうかの決定の正確度を増加させるために実施されてもよい。例えば、現在のユーザは、較正されたユーザであると仮定されてもよいが、実施される識別プロセスの全てが現在のユーザを較正されたユーザとして識別することに失敗する場合、較正されたユーザではないと決定されてもよい。別の実施例として、種々の実施される識別プロセスからの結果は、組み合わせられたスコアに集約されてもよく、現在のユーザは、組み合わせられたスコアが所定の閾値を超えない限り、較正されたユーザであると仮定されてもよい。
いくつかの実施形態では、ディスプレイシステムが、複数のユーザのための複数の較正ファイルを含む場合、付加的基準が、適切な較正ファイルを選択するために必要とされ得る。例えば、ユーザは、適切な較正ファイルを選択するようにプロンプトされてもよく、および/または本明細書に開示される識別スキームの複数のものが、利用されてもよい。
いくつかの実施形態では、複数の識別スキームが、ユーザ識別の正確度を増加させるために利用されてもよい。例えば、IPDは、比較的に大まかな識別基準であることを理解されたい。いくつかの実施形態では、IPDは、現在のユーザが較正されたユーザである可能性が高いかどうかを識別するための第1の基準として使用されてもよく、次いで、より精密なまたは正確な識別スキームが、利用されてもよい(例えば、虹彩走査)。そのようなマルチステップ識別スキームは、有利なこととして、より正確な識別スキームがよりリソース集約的であり得るため、処理リソースを節約し得る。その結果、処理リソースは、IPD決定が較正されたユーザが存在することを示すまで、より正確なリソース集約的識別スキームの使用を遅延させることによって保存され得る。
図14を継続して参照すると、現在のユーザのIPDが、較正されたユーザのIPDに合致しない場合、ウェアラブルは、ブロック1410において、動的較正を実施してもよい。動的較正は、本明細書に議論されるように、眼追跡データを監視し、その輻輳・開散運動距離の関数としてユーザの瞳孔間距離が変化する程度を推定するステップを伴ってもよい。一実施例として、動的較正は、ユーザの最大IPDを推定し、次いで、最大IPDを現在の瞳孔間距離とともに使用して、現在の輻輳・開散運動距離を推定するステップを伴ってもよい。
ブロック1412では、ウェアラブルシステムは、コンテンツベースの切替を実装してもよい。コンテンツベースの切替を用いることで、深度面選択は、ユーザが見ていると決定される仮想コンテンツ(例えば、コンテンツ作成者によって識別され得る、表示されている最も重要なまたは関心を引くコンテンツ、ユーザの眼の視線に基づく等)の深度に基づく。少なくともいくつかの実施形態では、ブロック1412は、現在のユーザが較正されたユーザであるかどうかにかかわらず、ウェアラブルシステムのコンテンツ作成者または他の設計者によって選択されたときに実施されてもよい。種々の実施形態では、ブロック1412におけるコンテンツベースの切替は、較正されたユーザが存在しないときに実施されてもよい。そのような実施形態では、ブロック1406は、所望に応じて、スキップされてもよい。加えて、いくつかの実施形態では、ブロック1412のコンテンツベースの切替は、ブロック1408および/または1410(およびこれらのブロックに関連するブロック)が、実施される、またはディスプレイシステムに利用可能であるかどうかにかかわらず、実施されてもよい。例えば、いくつかの実施形態では、ディスプレイシステムは、深度面切替を決定するために、ブロック1412のみを実施してもよい。
本明細書に説明されるように、各仮想オブジェクトは、3次元場所情報等の場所情報と関連付けられてもよい。ウェアラブルシステムは、場所情報に基づいて、各仮想オブジェクトをユーザに提示してもよい。例えば、特定の仮想オブジェクトに関する場所情報は、オブジェクトが提示されるべきX、Y、およびZ座標を示してもよい(例えば、オブジェクトの中心または重心が、座標に提示されてもよい)。したがって、ウェアラブルシステムは、各仮想オブジェクトが提示されるべき深度面を示す、情報を取得し得る。
図16A-18に関して下記にさらに詳細に説明されるであろうように、ウェアラブルシステムは、空間の個別の体積(本明細書では、「ゾーン」またはマーカとも称される)を各オブジェクトを囲繞するように割り当ててもよい。空間のこれらの体積は、好ましくは、重複し得ない。ウェアラブルシステムは、ユーザの視線を識別し、ユーザの視線を含む、ゾーンを識別してもよい。例えば、視線は、ユーザが固視している3次元場所(例えば、近似3次元場所)を示し得る。ウェアラブルシステムは、次いで、識別されたゾーン内に含まれる仮想オブジェクトと関連付けられる深度面に、仮想コンテンツの提示を生じさせてもよい。したがって、いくつかの実施形態では、いったんディスプレイシステムが、ユーザが見ているオブジェクトに関する決定を行うと、深度面間の切替が、ユーザの眼の固視点ではなく、仮想オブジェクトと関連付けられる場所または深度面に基づいて生じ得る。
ブロック1414では、ウェアラブルシステムは、深度面切替を実施してもよい。ブロック1414の深度面切替は、ブロック1408、1410、または1412においてロードまたは生成された構成パラメータを用いて実施されてもよい。特に、現在のユーザが、較正されたユーザである場合、ブロック1414は、そのユーザでの較正の間に生成された構成パラメータに従って、深度面切替を実施してもよい。現在のユーザが、較正ユーザではないと識別され、動的較正が、ブロック1410において実施された場合、ブロック1412は、動的較正の一部としてブロック1410において生成された較正パラメータに従って、深度面切替を伴ってもよい。少なくともいくつかの実施形態では、ブロック1410において生成された較正パラメータは、ユーザのIPDであってもよく、ブロック1414における深度面切替は、ユーザのIPDに基づいてもよい。ウェアラブルシステムが、ブロック1412において、コンテンツベースの切替を実装する場合(較正されたユーザが存在しないとき、および/またはコンテンツ作成者またはユーザがコンテンツベースの切替を利用することを好むときに生じ得る)、深度面切替は、ユーザが見ていると仮定されるコンテンツの深度に従って実施されてもよい。
図14を継続して参照すると、ディスプレイシステムは、ユーザの識別を継続的に確認するように構成されてもよいことを理解されたい。例えば、ブロック1414後、ディスプレイシステムは、ブロック1406に戻り、ユーザを識別するように構成されてもよい。いくつかのインスタンスでは、ディスプレイシステムは、ブロック1406において以前に検出された較正されたユーザがディスプレイデバイスを装着していることの追跡を喪失し得る。これは、例えば、較正されたユーザがディスプレイデバイスを外したために生じ得る、または待ち時間問題点、または較正されたユーザが依然としてディスプレイデバイスを装着している場合でも、ディスプレイデバイスがもはやユーザによって装着されていないことを誤って示す、感知誤差に起因し得る。いくつかの実施形態では、ディスプレイデバイスが、較正されたユーザがもはやディスプレイデバイスを装着していないことを検出するときでも、ディスプレイシステムは、それぞれ、ブロック1412および1410のコンテンツベースの深度面切替スキームまたは動的較正スキームに切り替える前に、所定の時間量にわたって、または所定の数のフレームにわたって、較正されたユーザの較正プロファイルを使用し続けてもよい。本明細書に議論されるように、ディスプレイシステムは、ブロック1406を持続的に実施するように構成されてもよく、較正されたユーザを検出し続けない場合がある。較正されたユーザが、所定の時間量または所定の数のフレームにわたって、検出されないことの決定に応答して、システムは、それぞれ、ブロック1412および1410のコンテンツベースの深度面切替スキームまたは動的較正スキームに切り替えてもよい。有利なこととして、較正されたユーザは、典型的には、ディスプレイデバイスのユーザである可能性が最も高いため、較正されたユーザの較正プロファイルを使用し続けることによって、較正されたユーザは、システムが較正されたユーザを検出することに誤って失敗する場合、ユーザ体験において有意な劣化を体験し得ない。
深度面選択のための方法の別の実施例は、図15に示される。図15は、ユーザの瞳孔間距離に基づく、深度面選択のための例示的方法1500のプロセスフロー図である。方法1500は、本明細書に説明されるウェアラブルシステムによって実施されてもよい。方法1500の実施形態は、ウェアラブルシステムによって使用され、コンテンツを、概して、そうでなければ、ユーザ不快感および疲労につながる、任意の輻輳・開散運動-遠近調節不整合を低減または最小限にする、深度面上にレンダリングすることができる。
ブロック1502では、ウェアラブルシステムは、それがユーザによって装着されていないことを決定してもよい。実施例として、ウェアラブルシステムは、閾値期間(5秒、10秒、20秒等)を上回って、眼追跡システムを介してユーザの眼を検出することに失敗した後、装着されていないことを決定してもよい。
ブロック1504では、ウェアラブルシステムは、それがユーザによって装着されていることを決定してもよい。ウェアラブルシステムは、1つまたはそれを上回るセンサを使用して、それが装着されていることを決定してもよい。実施例として、ウェアラブルシステムは、ウェアラブルシステムがユーザの頭部上に設置されるとトリガされる、近接度センサまたはタッチセンサを含んでもよく、そのようなセンサからの信号に基づいて、システムが装着されていることを決定してもよい。別の実施例として、ウェアラブルシステムは、眼追跡画像内のユーザの眼の存在を識別後、それが装着されていることを決定してもよい。いくつかのインスタンスでは、ウェアラブルシステムは、1)ユーザがその眼を閉じているため、ユーザの眼を検出することに失敗したことと、2)ユーザがウェアラブルシステムを除去しているため、ユーザの眼を検出することに失敗したこととの間で区別することが可能であり得る。したがって、ウェアラブルシステムが、ユーザの閉鎖された眼を検出するとき、ウェアラブルシステムは、デバイスが装着されていると決定し得る。いくつかの実施形態では、ブロック1502および/またはブロック1504と関連付けられる決定のいくつかまたは全ては、それぞれ、図14を参照して上記に説明されるように、ブロック1402および/またはブロック1404と関連付けられるものに類似する、または実質的に同一であってもよい。
ブロック1506では、ウェアラブルシステムは、それが任意のユーザに対して以前に較正されているかどうかをチェックしてもよい。ブロック1506は、種々の実施形態では、現在のユーザが較正されたユーザ(または複数の較正されたユーザが存在する場合、較正されたユーザのうちの1人)であるかどうかを識別するステップの一部として、較正されたユーザのIPDを取得するステップを伴ってもよい。いくつかの実施形態では、ウェアラブルシステムは、本明細書に議論されるように、コンテンツベースの切替を実装してもよく、ウェアラブルシステムが任意のユーザに対して以前に較正されていない(または任意のそのような較正がウェアラブルシステムから削除または除去されている)場合、ブロック1516において、コンテンツベースの切替をアクティブ化してもよい。ウェアラブルシステムはまた、具体的コンテンツのために、および/またはユーザまたはコンテンツ作成者による要求に応じて、コンテンツベースの切替を実装してもよい。換言すると、コンテンツ作成者またはユーザは、ウェアラブルシステムが以前に較正されているときでも、およびウェアラブルシステムが現在のユーザのために較正されているときでも、コンテンツベースの切替の使用を規定または要求することが可能であり得る。
ブロック1508では、ウェアラブルシステムは、現在のユーザのIPDを推定してもよく、ブロック1510では、ウェアラブルシステムは、現在のユーザのIPDに関する眼追跡データを蓄積してもよい。ブロック1510において蓄積されたIPDデータは、ユーザの瞳孔間距離の経時的測定値、ユーザの左および右の回転中心の経時的測定値、経時的に測定された最大瞳孔間距離のインジケーション、または任意の他の関連データであってもよい。少なくともいくつかの実施形態では、ウェアラブルシステムは、ブロック1508において、比較的に短タイムフレーム内に比較的に高正確度(例えば、95%)(例えば、眼追跡画像の約150~200フレームに対応し得る、5~7秒の眼追跡データ)を伴って、現在のユーザのIPDを決定することが可能であり得る。
いくつかの実施形態では、ウェアラブルシステムは、(例えば、ブロック1518における動的較正の間および/またはブロック1510におけるIPDデータの蓄積の間)収集された全てのIPD値の特定のパーセンタイル(例えば、95パーセンタイル)としてユーザのIPDを推定してもよい。例えば、95パーセンタイルに関して、測定されたIPD値の最大5%が、除外されてもよく、次いで、最大の残りの測定されたIPD値が、ユーザのIPDとして求められてもよい。このように計算されるIPD値は、本明細書では、IPD_95と称され得る。このようにユーザのIPD値を計算する1つの利点は、ユーザの解剖学的IPDを上回り得る外れ値が、除外され得ることである。理論によって限定されるわけではないが、ユーザの解剖学的IPDの近くまたはそれにおける十分な数の測定されたIPD値が存在する状態では、IPD_95値がユーザの解剖学的IPDを正確に反映させると考えられる。実施例として、IPD測定値の概ね10%が、ユーザの解剖学的IPDに近い場合、IPD_95値は、最大5%値が除外される場合でも、依然として、ユーザの解剖学的IPD値を反映させるはずである。所望に応じて、最大測定IPD値の異なるパーセンテージを除外するステップを伴い得る、他のIPD計算が、使用されてもよい。実施例として、IPD値が除外されない、IPD_100値が、使用されてもよい、または値の最大2%のみが除外される、IPD_98値が、使用されてもよい(比較的に少ない外れIPD測定値を生産する、眼追跡システムを伴うシステムにおいて好ましくあり得る)。付加的実施例として、IPD_90値が、使用されてもよい、IPD_85値が、使用されてもよい、または測定された値の所望のパーセンテージが除外される、他のIPD値が、使用されてもよい。
ブロック1512では、ウェアラブルシステムは、現在のユーザの推定されるIPDが較正されたユーザの(または複数のそのようなユーザが存在する場合、較正されたユーザのうちの1人のIPDのうちの1つの)IPDの閾値以内であるかどうかを決定してもよい。閾値は、実施例として、0.5mm、1.0mm、1.5mm、2.0mm、または2.5mmであってもよい。1つの特定の実施例として、閾値は、1.0mmであってもよく、これは、較正されたユーザが、較正されたユーザとして迅速および正確に認識される一方、非較正ユーザが、概して、非較正ユーザと識別され得るように十分に大きくあり得る。一般に、較正されたユーザを較正されたユーザとして識別することに失敗するリスクを冒すよりも、非較正ユーザを較正されたユーザとして誤って識別することが好ましくあり得る。換言すると、較正のためのユーザ識別における未検出は、較正されたユーザのための最適性能の所望が、非較正またはゲストユーザに関する僅かな犠牲を上回り得るため、かつ較正されたユーザが、所与のディスプレイシステムのユーザである可能性がより高い、またはより頻繁なユーザであり得るため、誤検出よりも最悪であり得る。
現在のユーザのIPDが、較正されたユーザのIPDの閾値以内である場合、ウェアラブルシステムは、現在のユーザを較正されたユーザとして割り当ててもよく、ブロック1514において、関連付けられる較正パラメータをロードしてもよい。実施例として、ブロック1514においてロードされた較正パラメータは、較正されたユーザのIPD、視覚的光学軸オフセットパラメータ、および他の利用可能な較正パラメータを含んでもよい。
現在のユーザのIPDが、較正されたユーザのIPDの閾値以内にない場合、ウェアラブルシステムは、現在のユーザがゲストユーザであると仮定してもよく、ブロック1518において、動的較正(またはブロック1516において、コンテンツベースの切替)を実施してもよい。ブロック1518では、ウェアラブルシステムは、動的較正をアクティブ化してもよく(例えば、較正パラメータを動的に生成する)、これは、本明細書に議論されるように、現在のユーザの推定されるIPDに基づくオンザフライ較正を含んでもよい。
ブロック1516では、ウェアラブルシステムは、以前の較正データが利用可能ではないとき等、本明細書に議論されるような状況下において、コンテンツベースの切替を実装してもよい。本ブロックでは、本明細書に議論されるように、深度面選択が、ユーザの輻輳・開散運動深度を追跡することとは対照的に、表示されている仮想コンテンツと関連付けられる深度に従って行われてもよい。コンテンツベースの深度面切替はさらに、図16-17Bに関して議論される。
ブロック1520では、ウェアラブルシステムは、深度面切替を実施してもよい。ブロック1520の深度面切替は、ブロック1514、1516、または1518においてロードまたは生成された構成パラメータを用いて実施されてもよい。特に、現在のユーザが、較正されたユーザである場合、ブロック1520は、そのユーザでの較正の間に生成された構成パラメータに従って、深度面切替を実施してもよい。現在のユーザが、較正ユーザではないと識別され、動的較正が、ブロック1518において実施された場合、ブロック1520は、動的較正の一部としてブロック1520において生成された較正パラメータに従って、深度面切替を伴ってもよい。少なくともいくつかのインスタンスでは、ブロック1518において生成された較正パラメータは、ユーザのIPDであってもよく、ブロック1520における深度面切替は、ユーザのIPDに基づいてもよい。ウェアラブルシステムが、ブロック1516において、コンテンツベースの切替を実装する場合(較正されたユーザが存在しないとき、および/またはコンテンツ作成者またはユーザがコンテンツベースの切替の利用を選択するときに生じ得る)、ブロック1520の深度面切替は、ユーザが見ていると決定されたコンテンツの深度に従って実施されてもよい。
コンテンツベースの切替
本明細書に説明されるように、ウェアラブルシステムは、特定の深度面を介して、仮想コンテンツを提示してもよい。仮想コンテンツが、更新されるにつれて、例えば、仮想オブジェクトが移動する、および/または異なる仮想オブジェクトと置換されるにつれて、ウェアラブルシステムは、仮想コンテンツを提示すべき異なる深度面を選択してもよい。付加的非限定的実施例として、ウェアラブルシステムのユーザが、ユーザの視野に伴って、異なる仮想オブジェクトまたは異なる場所に合焦するにつれて、ウェアラブルシステムは、仮想コンテンツを提示すべき異なる深度面を選択してもよい。
本明細書では、コンテンツベースの切替と称される、深度面を選択するための例示的スキームはさらに、図16A-17Bを参照して下記に議論される。コンテンツベースの切替では、ウェアラブルシステムは、ユーザが見ている可能性が高い仮想オブジェクトの決定に基づいて、仮想コンテンツを提示すべき深度面を選択してもよい。いくつかの実施形態では、本決定は、ユーザが特定のゾーン内を固視しているかどうかに応じて行われてもよい。例えば、ウェアラブルシステムは、ゾーンと仮想コンテンツとしてユーザに提示されるべき各仮想オブジェクトを関連付けてもよい。ゾーンは、例えば、仮想オブジェクトを囲繞する、空間の体積であってもよい。空間の体積は、球体、立方体、超直方体、角錐、または任意の恣意的3次元多角形(例えば、多面体)であってもよい。説明されるであろうように、ゾーンは、好ましくは、重複せず、したがって、各ゾーンによって包含される空間は、単一仮想オブジェクトとのみ関連付けられ得る。
いくつかの実施形態では、ウェアラブルシステムは、ユーザの視線を監視し、例えば、(例えば、ユーザの視野内の)ユーザが視認している場所を識別してもよい。例示的視線に関して、ウェアラブルシステムは、ユーザによって視認されている場所を含む、ゾーンを識別してもよい。識別されたゾーンを有し、1つのみの仮想オブジェクトをそのゾーン内に有する、本実施例では、ウェアラブルシステムは、識別されたゾーン内に含まれる仮想オブジェクトに対応する、深度面を選択してもよい。ウェアラブルシステムは、次いで、仮想オブジェクトと関連付けられる深度面である、選択された深度面に、仮想コンテンツを提示してもよい。
有利なこととして、ウェアラブルシステムは、深度面切替が固視点の深度を正確に決定するステップに依存した場合、要求され得るものより高い待ち時間眼追跡、または別様に、あまり正確ではない眼追跡スキームを利用してもよい。いくつかの実施形態では、複数の仮想オブジェクトが別々の深度に表示されるシナリオに関して、統計的確率または空間相関が、ユーザが、観察する、または注意を向ける可能性が高いコンテンツを区別するために利用されてもよい。したがって、ウェアラブルシステムは、固定面積または固定体積(例えば、精密な固視点ではなく)を決定し、固定面積または体積に基づいて、深度面を選択してもよい。いくつかの実施形態では、利用された最後のアプリケーションまたはユーザの視線が変化した程度等の加重係数が、統計的確率、したがって、ゾーンのサイズ/形状を調節することができる。いくつかの実施形態では、ゾーンのサイズ/形状は、ユーザが特定の体積内を固視している統計的確率と相関される。例えば、大量の不確実性が存在する(例えば、雑音、眼追跡システム内の低公差、最も最近使用されたアプリケーションの追跡詳細、ユーザの視線の変化の速さ等に起因して、不確実性が閾値を超える場合)場合、ゾーンのサイズは、増加し得、あまり不確実性が存在しない場合、ゾーンのサイズは、減少し得る。
図16Aに説明されるであろうように、いくつかの実施形態では、ゾーンは、個別の角距離(例えば、ユーザの眼からユーザからの無限遠まで延在する)を包含し得る。本実施例では、ウェアラブルシステムは、したがって、ユーザの視線をXおよびY平面の特定の部分内に設置するためにのみ十分である正確度を要求し得る。
いくつかの実施形態では、ディスプレイシステムは、コンテンツベースの深度面切替の実施から動的較正に基づく深度面切替の実施に遷移してもよい。そのような遷移は、例えば、コンテンツベースの深度面切替スキームを実施するために取得されるデータが信頼性がないと決定されるとき、またはコンテンツが複数の深度面に及ぶ異なる深度の範囲に提供される場合に生じ得る。本明細書に記載されるように、ユーザが固視しているゾーンの決定において計算される不確実性の量は、雑音、眼追跡システムの公差、最も最近使用されたアプリケーションの追跡詳細、ユーザの視線の変化の速さ等、種々の要因に基づいて変動し得る。いくつかの実施形態では、ディスプレイシステムは、不確実性(例えば、ユーザの固視点の位置を決定するステップと関連付けられる不確実性)が閾値を超えるとき、動的較正に基づく深度面切替に遷移すように構成されてもよい。いくつかの他の実施形態では、特定の仮想コンテンツは、複数の深度面を横断して及び得る。閾値数の深度面(例えば、3つの深度面)を横断して及ぶコンテンツに関して、ディスプレイシステムは、動的較正に基づく深度面切替に遷移するように構成されてもよい。
いくつかの実施形態では、ディスプレイシステムは、仮想コンテンツの深度と関連付けられる不確実性が閾値を超えることの決定に応答して、コンテンツベースの深度面切替の実施から動的較正に基づく深度面切替の実施に遷移するように構成されてもよい。例えば、ディスプレイシステムは、ディスプレイシステム上で起動する特定のアプリケーションによって利用可能にされている仮想コンテンツに関する深度または場所情報が、比較的に信頼性がないことを決定してもよく(例えば、特定のアプリケーションが、ユーザに対する複合現実仮想コンテンツの深度または場所が、それぞれ、ユーザの位置が変化する、またはユーザが所定のレベルの位置変化または移動を超えて移動するときでも静的であることを示す)、ひいては、動的較正に基づく深度面切替に遷移してもよい。そのような遷移は、より快適および/または現実的視認体験を促進し得る。
主に、深度面切替のコンテキストにおいて説明されたが、図14および/または図15を参照して本明細書に説明される技法のうちの1つまたはそれを上回るものが、異なる量の波面発散を用いて光をユーザの眼に出力することが可能である、種々の異なるディスプレイシステムのいずれかにおいて活用されてもよいことを理解されたい。例えば、いくつかの実施形態では、図14および/または図15を参照して本明細書に説明される技法のうちの1つまたはそれを上回るものは、1つまたはそれを上回る可変焦点要素(VFE)を含む、頭部搭載型ディスプレイシステムにおいて活用されてもよい。例えば、レンズ458、456、454、452(図4)のうちの1つまたはそれを上回るものは、本明細書に議論されるように、VFEであってもよい。これらの実施形態では、頭部搭載型ディスプレイシステムは、少なくとも部分的に、頭部搭載型ディスプレイシステムの装着者が較正されたユーザまたはゲストユーザであると決定されるかどうかに基づいて、その1つまたはそれを上回るVFEの動作をリアルタイムで制御してもよい。すなわち、頭部搭載型ディスプレイシステムは、少なくとも部分的に、頭部搭載型ディスプレイシステムの装着者が較正されたユーザまたはゲストユーザであると決定されるかどうかに基づいて、それを用いて光が装着者に出力される、波面発散の量(光の焦点距離)を制御または調節してもよい。可変焦点接眼レンズのためのアーキテクチャおよび制御スキームの実施例は、2016年4月21日に公開された米国特許公開第2016/0110920号および2017年10月12日に公開された米国特許公開第2017/0293145号(それぞれ、参照することによってその全体として本明細書に組み込まれる)に開示される。他の構成も、可能性として考えられる。
図16Aは、ユーザの視野1602の表現を図示する。ユーザの視野1602(図示される実施形態では、3次元錐台)は、ユーザの眼1606からz-方向に延在する、複数の深度面1604A-Dを含んでもよい。視野1602は、異なるゾーン1608A-Dに分離されてもよい。各ゾーンは、したがって、視野1602内に含まれる空間の特定の体積を包含し得る。本実施例では、各ゾーンは、好ましくは、異なる深度面1604A-Dの全てを含む、空間の体積を包含する。例えば、ゾーン1608Aは、ユーザの眼1606から、例えば、眼1606からの無限遠までz-方向に沿って延在してもよい。x-方向等の直交方向に沿って、ゾーン1608Aは、ゾーン1608Aと1608Bとの間の境界線まで、視野1602の末端から延在してもよい。
図示される実施形態では、ゾーン1608Bは、木の仮想オブジェクト1610を含む。木の仮想オブジェクト1610は、深度面C 1604Cに提示されるように図示される。例えば、木の仮想オブジェクト1610は、場所情報(例えば、ウェアラブルシステムに記憶される、または別様にアクセス可能である)と関連付けられてもよい。上記に説明されるように、本場所情報は、木の仮想オブジェクト1610が提示されるべき3次元場所を識別するために利用されてもよい。図示されるように、ディスプレイシステムはまた、本を仮想オブジェクト1612として表示してもよい。ゾーン1608Cは、本の仮想オブジェクト1612を含む。したがって、ウェアラブルシステムは、木の仮想オブジェクト1610と、本の仮想オブジェクト1612とを備える、仮想コンテンツを提示している。
ユーザの眼1606は、視野1602を中心として移動し、例えば、視野1602に伴って、異なる場所に固視される、またはそれを視認し得る。ユーザの眼1606が、木の仮想オブジェクト1610、すなわち、深度面Cを固視する場合、ウェアラブルシステムは、仮想コンテンツを提示するために深度面C 1604Cを選択することを決定してもよい。同様に、ユーザの眼1606が、本の仮想オブジェクト1612、すなわち、深度面Bを固視する場合、ウェアラブルシステムは、仮想コンテンツを提示するために、深度面B 1604Bを選択することを決定してもよい。少なくとも図14に説明されるように、ウェアラブルシステムは、異なるスキームを利用して、深度面の選択を生じさせてもよい。
コンテンツベースの切替に関して、ウェアラブルシステムは、ユーザの眼1606によって固視されている場所を含む、ゾーンを識別してもよい。ウェアラブルシステムは、次いで、識別されたゾーン内に含まれる仮想オブジェクトに対応する深度面を選択してもよい。例えば、図16Aは、例示的固視点1614を図示する。ウェアラブルシステムは、ユーザの眼1606に基づいて、ユーザが固視点1614を視認していることを決定してもよい。ウェアラブルシステムは、次いで、固視点1614がゾーン1608C内に含まれることを識別してもよい。本ゾーン1608Cは、本の仮想オブジェクト1612を含むため、ウェアラブルシステムは、仮想コンテンツの提示を深度面C 1604Cに生じさせてもよい。理論によって限定されるわけではないが、これは、ゾーン1608C内で固視され得る唯一の仮想オブジェクトが本の仮想オブジェクト1612であって、したがって、その本の仮想オブジェクト1612の深度面に切り替えることが適切であろうため、快適な視認体験を提供すると考えられる。
その結果、ユーザが、固視を固視点1616または1618に調節する場合、ウェアラブルシステムは、提示を深度面C 1604Bに維持してもよい。しかしながら、ユーザが、固視をゾーン1608B内に調節する場合、ウェアラブルシステムは、仮想コンテンツを提示する、深度面C 1604Cを選択してもよい。図16Aの実施例は、4つのゾーンを含むが、より少ないゾーンまたはより多い数のゾーンが利用されてもよいことを理解されたい。随意に、ゾーンの数は、仮想オブジェクト毎に一意のゾーンを伴って、仮想オブジェクトの数と同一であってもよく、いくつかの実施形態では、ゾーンの数は、仮想オブジェクトの数が変化するにつれて、動的に変動してもよい(好ましくは、1つを上回るオブジェクトが同一ゾーンを占有せずに、例えば、2つまたはそれを上回るオブジェクトがユーザに対して概ね同一通視線内にない状態で、ディスプレイ錐台の正面から背面まで延在することができる限り)。例えば、2つのゾーンが、図16Aの実施例では利用されてもよく、これは、ユーザまでの重複する通視線を有していない、2つの仮想オブジェクトを有する。随意に、ウェアラブルシステムは、各ゾーンによって包含される空間の体積を動的に調節してもよい。例えば、視線検出の正確度が、増加または減少するにつれて、空間の体積は、数が増加、減少、またはゾーン調節されてもよい。
図16Bは、図16Aの各ゾーンによって包含される空間の体積の、斜視図で示される、実施例を図示する。図示されるように、各ゾーン1608A、1608B、1608C、および1608Dは、ディスプレイ錐台1602の正面から背面までz-方向に延在する。x-y軸上に図示されるように、ゾーンは、垂直に延在し、x-軸に沿って視野をセグメントまたは分割する。いくつかの他の実施形態では、x-y軸上では、ゾーンは、水平に延在し、y-軸に沿って視野をセグメント化してもよい。そのような実施形態では、図示される錐台は、事実上、x-y平面上で90°回転され得る。さらに他の実施形態では、x-y軸上では、ゾーンは、xおよびy軸の両方上で視野をセグメント化または分割し、それによって、グリッドをx-y軸上に形成してもよい。全てのこれらの実施形態では、各ゾーンは、依然として、好ましくは、ディスプレイ錐台1602の正面から背面まで(例えば、ディスプレイシステムがコンテンツを表示し得る、最も近くの平面から、最も遠い平面まで)延在する。
図17Aは、コンテンツベースの切替のためのユーザの視野1602の別の表現を図示する。図17Aの実施例では、図16Aにおけるように、ユーザの視野1602は、深度面A-D1604A-Dを含む。しかしながら、各仮想オブジェクトと関連付けられる空間の体積は、図16A-Bと異なる。例えば、その中に本の仮想オブジェクト1612が位置する、ゾーン1702は、空間の球状体積、空間の円筒形体積、立方体、多面体等の封入された形状を包含するように図示される。好ましくは、ゾーン1702は、z-軸上において、ディスプレイ錐台1602の深度全体未満まで延在する。有利なこととして、ゾーンのそのような配列は、ユーザにとって類似する通視線であり得る、オブジェクト間の区別を可能にする。
随意に、ウェアラブルシステムは、1つまたはそれを上回る閾値を超える眼追跡正確度に基づいて、図17Aのゾーンを調節してもよい。例えば、ゾーンのサイズは、追跡正確度における信頼度が増加するにつれて、減少してもよい。別の実施例として、各仮想オブジェクトが、関連付けられるゾーンを有することを理解されたい。ウェアラブルシステムは、重複ゾーンを回避するために、図17Aのゾーンを調節してもよい。例えば、新しい仮想オブジェクトが、異なる仮想オブジェクトに対応するゾーン内に表示されるべき場合、一方または両方の仮想オブジェクトのためのゾーンが、重複を回避するために、サイズを減少されてもよい。例えば、図17Aにおける本の仮想オブジェクト1612が、木の仮想オブジェクト1610の正面(例えば、ゾーン1608A内)に移動される場合、ウェアラブルシステムは、図17Aにおけるゾーンを調節し、仮想オブジェクトのより近くに付着し(例えば、図17Aに図示されるように)、重複を防止してもよい。
図17Aを継続して参照すると、木の仮想オブジェクト1610は、第1のゾーン1706および第2のゾーン1708内に含まれるように図示される。随意に、第1のゾーン1706は、木の仮想オブジェクト1610を囲繞する、空間の比較的に小体積を表し得る。第2のゾーン1708は、木の仮想オブジェクト1610を囲繞する、空間の現在の体積を表し得る。例えば、仮想オブジェクトが、視野1602内を動き回るにつれて、ゾーンによって包含される空間の体積は、調節されてもよい(例えば、リアルタイムで)。本実施例では、調節は、各ゾーンが任意の他のゾーンと重複しないことを確実にし得る。したがって、本の仮想オブジェクト1612が、木の仮想オブジェクト1610のより近くに移動する場合、ウェアラブルシステムは、木の仮想オブジェクト1610、本の仮想オブジェクト1612、または両方を囲繞する、ゾーンの空間の体積を低減させてもよい。例えば、第2のゾーン1708は、第1のゾーン1706のより近くになるように体積を低減されてもよい。
本明細書に記載されるように、コンテンツベースの深度面切替では、固視点ではなく、仮想オブジェクトと関連付けられる深度面が、優先される。これの実施例が、固視点1704に対して図示される。図示されるように、本の仮想オブジェクト1612の例示的ゾーン1702は、深度面B 1604Bおよび深度面1604Cによって定義された部分を含む、空間の体積を包含し得る。ある場合には、ウェアラブルシステムは、ユーザが深度面C内の点1704を固視していることを決定し、また、本固視点1704がゾーン1702内に含まれるものとして識別する。本の仮想オブジェクト1612と関連付けられる深度面が、深度面切替を優先するため、ウェアラブルシステムは、固視点1704の深度面Cではなく、本の仮想オブジェクト1612の深度面Bに切り替える。図17Bは、図17Aの表現の斜視図の実施例を図示する。
図18は、コンテンツベースの切替に基づいて深度面を選択するための例示的プロセスのフローチャートを図示する。便宜上、プロセス1800は、1つまたはそれを上回るプロセッサのウェアラブルシステム(例えば、上記に説明されるウェアラブルシステム200等のウェアラブルシステム)によって実施されるものとして説明されるであろう。
ブロック1802では、ウェアラブルシステムは、仮想コンテンツを特定の深度面に提示する。上記に説明されるように、深度面は、遠近調節キューをウェアラブルシステムのユーザに提供するために利用されてもよい。例えば、各深度面は、ウェアラブルシステムによってユーザに提示される光の波面発散の量と関連付けられてもよい。仮想コンテンツは、1つまたは複数の仮想オブジェクトを備えてもよい。
ブロック1804では、ウェアラブルシステムは、固視点を決定する。ウェアラブルシステムは、カメラ等のセンサを利用して、ユーザが固視している3次元場所を推定してもよい。これらのカメラは、30Hz、60Hz等の特定のレートで更新してもよい。ウェアラブルシステムは、ユーザの眼から(例えば、眼の中心または瞳孔から)延在するベクトルを決定し、ベクトルが交差する、3次元場所を推定してもよい。いくつかの実施形態では、固視点は、IPDに基づいて、推定されてもよく、最大IPDからのIPDの所定の変化は、特定の深度面における固視と相関すると仮定される。加えて、随意に、IPDに加え、ユーザの視線が、固視点の近似位置をさらに位置特定するために決定されてもよい。本推定される場所は、それと関連付けられるある誤差を有し得、ウェアラブルシステムは、したがって、その中に仮想コンテンツに対する固視点がある可能性が高い、空間の体積を決定し得る。
ブロック1806では、ウェアラブルシステムは、固視点を含む、ゾーンを識別する。図16A-17Bに関して議論されるように、ウェアラブルシステムは、ゾーンと各仮想オブジェクトを関連付けてもよい。例えば、ゾーンは、特定の(例えば、単一)仮想オブジェクトを含んでもよい。好ましくは、異なる仮想オブジェクトのためのゾーンは、重複しない。
ブロック1808では、ウェアラブルシステムは、識別されたゾーン内に含まれる仮想コンテンツと関連付けられる、深度面を選択する。ウェアラブルシステムは、ブロック1806において識別されたゾーンと関連付けられる仮想コンテンツを識別してもよい。ウェアラブルシステムは、次いで、仮想コンテンツが提示されるべき深度面を示す、情報を取得してもよい。例えば、仮想コンテンツは、3次元場所を示す、場所情報と関連付けられてもよい。ウェアラブルシステムは、次いで、3次元場所と関連付けられる深度面を識別してもよい。本深度面は、仮想コンテンツを提示するように選択されてもよい。
図19は、コンテンツベースの切替に基づいてゾーンを調節するための例示的プロセスのフローチャートを図示する。便宜上、プロセス1800は、1つまたはそれを上回るプロセッサのウェアラブルシステム(例えば、上記に説明されるウェアラブルシステム200等のウェアラブルシステム)によって実施されるように説明されるであろう。
ブロック1902では、ウェアラブルシステムは、仮想オブジェクトを提示する。ウェアラブルシステムは、本明細書に説明されるように、提示される仮想オブジェクトと関連付けられるゾーンを有してもよい。例えば、ゾーンは、空間の体積を包含し、特定の仮想オブジェクト(例えば、単一仮想オブジェクト)を含んでもよい。ゾーンは、任意の形状または多面体であってもよく、いくつかの実施形態では、1つまたはそれを上回る方向に無限に延在してもよい。ゾーンの実施例は、図16A-17Bに図示される。
ブロック1904では、ウェアラブルシステムは、いくつかの仮想オブジェクトを調節する、または仮想オブジェクトの場所を調節する。ウェアラブルシステムは、付加的仮想オブジェクトを提示してもよい、例えば、ブロック1902では、5つの仮想オブジェクトが、提示されてもよい。ブロック1904では、8つの仮想オブジェクトが、提示されてもよい。随意に、ウェアラブルシステムは、仮想オブジェクトの場所を更新してもよい。例えば、ブロック1902に提示される仮想オブジェクトは、蜂であってもよい。仮想オブジェクトは、したがって、ユーザの視野を中心として進行してもよい。
ブロック1906では、ウェアラブルシステムは、1つまたはそれを上回る仮想オブジェクトと関連付けられるゾーンを更新する。提示される付加的仮想オブジェクトの実施例に関して、仮想オブジェクトは、ともにより近づき得る。各ゾーンは、単一仮想オブジェクトを含むことのみを可能にされる得るため、いくつかの実施形態では、仮想オブジェクトの数の増加は、ゾーンの調節を要求し得る。例えば、図16Aは、2つの仮想オブジェクトを図示する。付加的仮想オブジェクトが、含まれる場合、それらは、その中に2つの仮想オブジェクトのいずれかもまた含まれる、ゾーン内に含まれ得る。したがって、ウェアラブルシステムは、ゾーンを調節する、例えば、各ゾーンに割り当てられる空間の体積を調節してもよい(例えば、空間の体積を低減させる)。このように、各ゾーンは、単一仮想オブジェクトを含んでもよい。仮想オブジェクトが移動する実施例に関して、移動する仮想オブジェクトは、別の仮想オブジェクトにより近づき得る。したがって、移動する仮想オブジェクトは、他の仮想オブジェクトと関連付けられるゾーンの中に延在し得る。上記と同様に、ウェアラブルシステムは、ゾーンを調節し、各仮想オブジェクトがその独自のゾーン内に含まれることを確実にしてもよい。
更新の実施例として、ウェアラブルシステムは、ゾーンとブロック1902において識別された仮想オブジェクトを関連付けてもよい。例えば、ゾーンは、図16Aに図示されるゾーン1608A-1608Dに類似してもよい。ウェアラブルシステムは、空間のより小さい体積を包含するようにゾーンを調節してもよい。例えば、ウェアラブルシステムは、図17Aに図示されるゾーン1702、1706に類似するようにゾーンを更新してもよい。
更新の別の実施例として、ゾーンは、図17Aのゾーンに類似してもよい。図17Aに関して、本の仮想オブジェクト1612が、木の仮想オブジェクト1610のより近くに移動する場合、木の仮想オブジェクト1610を囲繞する、ゾーン1708は、本の仮想オブジェクト1612を含み得る。したがって、ウェアラブルシステムは、ゾーン1708を更新し、それが包含する空間の体積を低減させてもよい。例えば、ゾーン1708は、ゾーン1706となるように調節されてもよい。別の実施例として、ゾーン1708は、ゾーン1706により近づくように調節されてもよい。図17Aに説明されるように、ゾーン1706は、随意に、木の仮想オブジェクト1610の周囲の最小ゾーンを反映させてもよい。
図20は、ユーザ識別に基づいて、頭部搭載型ディスプレイシステムを動作させるための例示的プロセスのフローチャートを図示する。便宜上、方法2000は、1つまたはそれを上回るプロセッサ(例えば、上記に説明される、ウェアラブルシステム200等のウェアラブルシステム)のウェアラブルシステムによって実施されるものとして説明されるであろう。方法2000の種々の実装では、下記に説明されるブロックは、任意の好適な順序またはシーケンスで実施されることができ、ブロックは、組み合わせられる、または並べ替えられることができる、または他のブロックが、追加されることができる。いくつかの実装では、方法2000は、ユーザの片眼または両眼の画像を捕捉するように構成される、1つまたはそれを上回るカメラと、1つまたはそれを上回るカメラに結合される、1つまたはそれを上回るプロセッサとを含む、頭部搭載型システムによって実施されてもよい。そのような実装のうちの少なくともいくつかでは、方法2000の動作のいくつかまたは全ては、少なくとも部分的に、本システムの1つまたはそれを上回るプロセッサによって実施されてもよい。
ブロック2002-2006(すなわち、ブロック2002、2004、および2006)では、方法2000は、ウェアラブルシステムが、それがユーザによって装着されていないかどうかを決定するステップから開始してもよい。ウェアラブルシステムは、眼カメラ324のような眼追跡システム等の1つまたはそれを上回るセンサを使用して、それが装着されていないことを決定し得る。いくつかの実施形態では、ブロック2004と関連付けられる動作のいくつかまたは全ては、図14および15を参照して上記に説明されるようなブロック1402、1404、1502、および/または1504のうちの1つまたはそれを上回るものと関連付けられるものと類似または実質的に同一であり得る。いくつかの実施例では、方法2000は、ウェアラブルシステムが、ブロック2004において、それがユーザによって装着されていることを決定するまで、待機状態に留まってもよい。ブロック2004において、ウェアラブルシステムが、ユーザによって装着されていることの決定に応答して、方法2000は、ブロック2008に進み得る。
ブロック2008では、方法2000は、ウェアラブルシステムが、1つまたはそれを上回る虹彩認証動作を実施するステップを含んでもよい。いくつかの実施形態では、ブロック2008と関連付けられる動作のいくつかまたは全ては、その中で虹彩走査または認証が採用される、実装のために、それぞれ、図14および15を参照して上記に説明されるようなブロック1406および/または1506のうちの1つまたはそれを上回るものと関連付けられるものと類似または実質的に同一であり得る。いくつかの実施例では、ブロック2008と関連付けられる動作のうちの1つまたはそれを上回るものは、ウェアラブルシステムが仮想標的をユーザに提示するステップ(例えば、1つまたはそれを上回るディスプレイを用いて)と、仮想標的がユーザに提示されている間、ユーザの片眼または両眼の1つまたはそれを上回る画像を捕捉するステップ(例えば、1つまたはそれを上回る眼追跡カメラを用いて)と、1つまたはそれを上回る画像に基づいて、1つまたはそれを上回る虹彩コードまたはトークンを生成するステップと、1つまたはそれを上回る生成された虹彩コードまたはトークンを、登録されたユーザと関連付けられる、1つまたはそれを上回る所定の虹彩コードまたはトークンのセットに対して評価するステップと、評価に基づいて、認証結果を生成するステップとを含んでもよい。これらの実施例のうちの少なくともいくつかでは、ユーザの片眼または両眼のそれぞれの虹彩が、1つまたはそれを上回る画像のいくつかまたは全てに示され得る。いくつかの実装では、仮想標的は、ユーザの注意を引く、または別様に、ある方向に、および/または3次元空間内のある場所に向かって、ユーザの眼視線を誘導する、意図とともに提示されてもよい。したがって、仮想標的は、例えば、マルチカラーおよび/またはアニメーション化された仮想コンテンツを含んでもよい、ユーザに、付随のオーディオ、触知フィードバック、および/または他の刺激とともに提示されてもよい、またはそれらの組み合わせであってもよい。これらの実装のうちの少なくともいくつかでは、仮想標的は、ユーザに、ユーザが、仮想標的に目を向ける、または別様にそれを固視するように命令または提案する、1つまたはそれを上回るプロンプトとともに提示されてもよい。いくつかの実施形態では、1つまたはそれを上回る虹彩コードまたはトークンを生成および評価するステップの代わりに、またはそれに加え、ブロック2008と関連付けられる動作のうちの1つまたはそれを上回るものは、ウェアラブルシステムが、1つまたはそれを上回る画像のうちの少なくとも1つを1つまたはそれを上回る基準画像を用いて評価し、合致が存在するかどうかを決定するステップと、評価に基づいて、認証結果を生成するステップとを含んでもよい。虹彩結像、分析、認識、および認証動作の実施例は、2018年3月23日に出願され、2018年9月27日に米国特許公開第2018/0276467号として公開された、米国特許出願第15/934,941号、2016年10月12日に出願され、2017年4月20日に米国特許公開第2017/0109580号として公開された、米国特許出願第15/291,929号、2017年1月17日に出願され、2017年7月20日に米国特許公開第2017/0206412号として公開された、米国特許出願第15/408,197号、および2016年5月14日に出願され、2016年12月8日に米国特許公開第2016/0358181号として公開された、米国特許出願第15/155,013号(それぞれ、参照することによってその全体として本明細書に組み込まれる)に開示される。いくつかの実施形態では、ブロック2008では、方法2000は、ウェアラブルシステムが、前述の特許出願に説明される虹彩結像、分析認識、および認証動作のうちの1つまたはそれを上回るものを実施するステップを含んでもよい。加えて、いくつかの実装では、前述の特許出願に説明される虹彩結像、分析認識、および認証動作のうちの1つまたはそれを上回るものは、下記に説明される、ブロック2010、2012、および2018のうちの1つまたはそれを上回るもの等の方法2000の1つまたはそれを上回る他の論理ブロックと関連付けられて実施されてもよい。他の構成も、可能性として考えられる。
ブロック2010では、方法2000は、ウェアラブルシステムが、認証結果(例えば、ブロック2008における1つまたはそれを上回る虹彩認証動作を実施することを通して取得されるように)がウェアラブルシステムを現在装着しているユーザが登録されたユーザであるかどうかを示すかどうかを決定するステップを含んでもよい。いくつかの実施例では、登録されたユーザは、較正されたユーザ(例えば、それと既存の較正プロファイルが関連付けられる、ユーザ)と類似または実質的に同一であり得る。いくつかの実装では、ブロック2010では、方法2000はさらに、ウェアラブルシステムが、較正プロファイルがデバイスの現在のユーザのために存在するかどうかを決定するステップを含んでもよい。いくつかの実施形態では、ブロック2004と関連付けられる動作のいくつかまたは全ては、それぞれ、図14および15を参照して上記に説明されるようなブロック1406および/または1506のうちの1つまたはそれを上回るものと関連付けられるものと類似または実質的に同一であり得る。
ウェアラブルシステムが、ブロック2010において、ウェアラブルシステムを現在装着しているユーザが実際に登録されたユーザであることを決定することに応答して、方法2000は、ブロック2020に進み得る。ブロック2020では、方法2000は、ウェアラブルシステムが、登録されたユーザと関連付けられる設定を選択するステップを含んでもよい。いくつかの実施形態では、ブロック2020と関連付けられる動作のいくつかまたは全ては、それぞれ、図14および15を参照して上記に説明されるようなブロック1408および/または1514のうちの1つまたはそれを上回るものと関連付けられるものと類似または実質的に同一であり得る。
他方では、方法2000は、ウェアラブルシステムが、(i)ブロック2010において、ウェアラブルシステムを現在装着しているユーザが登録されたユーザではないことを決定する、または(ii)ブロック2010において、ウェアラブルシステムを現在装着しているユーザが登録されたユーザであることを決定することに失敗することに応答して、ブロック2010からブロック2012に進み得る。ブロック2012では、方法2000は、ウェアラブルシステムが、認証結果と関連付けられる信頼度値が所定の閾値を超えるかどうかを決定するステップを含んでもよい。いくつかの実施形態では、ブロック2012では、方法2000は、ウェアラブルシステムが、認証結果と関連付けられる信頼度値を生成または別様に取得するステップと、信頼度値を所定の閾値に対して比較するステップとを含んでもよい。いくつかの実装では、ブロック2012において取得される信頼度値は、ウェアラブルシステムを現在装着しているユーザが登録されたユーザではないことの信頼度のレベルを示してもよい。いくつかの実施例では、信頼度値は、少なくとも部分的に、任意の虹彩コードまたはトークンが、ブロック2008において、正常に生成または別様に抽出されたかどうかに基づいて、決定されてもよい。種々の異なる要因および環境条件が、ブロック2008において、1つまたはそれを上回る虹彩コードまたはトークンを正常に生成または別様に抽出するウェアラブルシステムの能力に影響を及ぼし得る。そのような要因および条件の実施例は、現在のユーザに対するウェアラブルシステムの適合または位置合わせ、1つまたはそれを上回る画像が捕捉された時間における1つまたはそれを上回るカメラの位置および/または配向に対するユーザの片眼または両眼のそれぞれの虹彩の位置および/または配向、照明条件、またはそれらの組み合わせを含んでもよい。したがって、そのような要因および条件もまた、それを用いてウェアラブルシステムが現在のユーザが登録されたユーザではないことを決定することが可能であり得る、信頼度の程度に影響を及ぼし得るということになる。
ウェアラブルシステムが、ブロック2012において、認証結果と関連付けられる信頼度値が実際に所定の閾値を超えることを決定することに応答して、方法2000は、ブロック2014に進み得る。いくつかの実施例では、ブロック2012におけるそのような決定は、ウェアラブルシステムが、比較的に高信頼度の程度を伴って、ウェアラブルシステムを現在装着しているユーザが登録されたユーザではないことを決定していることを示し得る。ブロック2014では、方法2000は、ウェアラブルシステムが、ユーザが、虹彩認証にエンロールし、および/またはユーザのための較正プロファイルを生成するために、1つまたはそれを上回る眼較正プロシージャに参加するように提案する、プロンプトをユーザに提示するステップ(例えば、1つまたはそれを上回るディスプレイを用いて)を含んでもよい。いくつかの実施形態では、そのようなプロンプトは、ユーザが提案される登録プロシージャに進むことに合意したかどうかを示すことを要求してもよい。ブロック2016では、方法2000は、ウェアラブルシステムが、プロンプトに応答して、ユーザ入力を受信するステップと、受信されたユーザ入力が、ユーザが提案される登録プロシージャに進むことに合意したことを示すかどうかを決定するステップとを含んでもよい。いくつかの実施例では、ブロック2016では、方法2000は、ウェアラブルシステムが、ユーザが提案される登録プロシージャに進むことに合意したかどうかを示す、プロンプトに応答して、ユーザ入力を受信するまで、受信されたユーザ入力を監視し、および/または一時停止してもよい。
ウェアラブルシステムが、ブロック2016において、ユーザが提案される登録プロシージャのいくつかまたは全てに実際に進むことに合意したことを示す、プロンプトに応答して、ユーザ入力が受信されたことを決定することに応答して、方法2000は、ブロック2018に進み得る。ブロック2018では、方法2000は、プロンプトに応答して受信されたユーザ入力に従って、ウェアラブルシステムが、提案される登録プロシージャのいくつかまたは全てを行うステップを含んでもよい。いくつかの実施形態では、そのような登録プロシージャを行うステップは、ウェアラブルシステムが、虹彩認証エンロールメントおよび/または眼較正と関連付けられる、1つまたはそれを上回る動作を実施するステップを含んでもよい。下記にさらに詳細に説明されるように、いくつかの実施形態では、ブロック2018と関連付けられる、そのような登録プロシージャは、現在のユーザのための眼追跡較正プロファイルを生成するための1つまたはそれを上回るプロシージャ、現在のユーザを虹彩認証にエンロールするための1つまたはそれを上回る動作、それらの組み合わせを含んでもよい。ブロック2018と関連付けられる、登録プロシージャの完了成功に応じて、方法2000は、ブロック2020に進み得る。
他方では、方法2000は、ウェアラブルシステムが、(i)ブロック2016において、プロンプトに応答して、ユーザが提案される登録プロシージャのいくつかまたは全てに進むことに合意しないことを示す、ユーザ入力が受信されたことを決定する、または(ii)ブロック2016において、プロンプトに応答して、ユーザが提案される登録プロシージャのいくつかまたは全てに進むことに合意したことを示す、ユーザ入力が受信されたことを決定することに失敗することに応答して、ブロック2016からブロック2022に進み得る。ブロック2022では、方法2000は、ウェアラブルシステムが、デフォルト設定を選択するステップを含んでもよい。いくつかの実施形態では、ブロック2022と関連付けられる動作のいくつかまたは全ては、図14および15を参照して上記に説明されるようなブロック1410、1412、1508-1512、1516、および/または1518のうちの1つまたはそれを上回るものと関連付けられるものと類似または実質的に同一であり得る。
ウェアラブルシステムが、ブロック2012において、認証結果と関連付けられる信頼度値が所定の閾値を超えないことを決定することに応答して、方法2000は、ブロック2012からブロック2028に進み得る。いくつかの実施例では、ブロック2012におけるそのような決定は、ウェアラブルシステムが、ウェアラブルシステムを現在装着しているユーザが登録されたユーザではないことのその決定において、比較的に低信頼度を有することを示し得る。ブロック2028では、方法2000は、ウェアラブルシステムが、それが所定の閾値時間量を上回って現在のユーザを認証することを試みた(例えば、ブロック2008において、1つまたはそれを上回る虹彩認証動作を実施することによって)かどうかを決定するステップを含んでもよい。ウェアラブルシステムが、ブロック2028において、それが所定の閾値時間量を上回って現在のユーザを認証することを実際に試みたことを決定することに応答して、方法2000は、ブロック2022に進み得る。
ウェアラブルシステムが、ブロック2028において、それが所定の閾値時間量を上回って現在のユーザを認証することをまだ試みていないことを決定することに応答して、方法2000は、ブロック2030-2032に進み得る。ブロック2032では、方法2000は、ウェアラブルシステムが、ユーザの識別に関する決定が増加された信頼度の程度を伴って行われることを有効にするように、1つまたはそれを上回る動作を実施し、ブロック2008に関連して実施される1つまたはそれを上回る虹彩認証動作の正確度および/または信頼性を改良するように試みるステップを含んでもよい。上記に述べられたように、種々の異なる要因および環境条件が、1つまたはそれを上回る虹彩コードまたはトークンを正常に生成または別様に抽出するウェアラブルシステムの能力に影響を及ぼし得る。ブロック2032と関連付けられる、1つまたはそれを上回る動作を実施することを通して、ウェアラブルシステムは、1つまたはそれを上回るそのような要因および条件に対抗する、または別様にそれを補償しようと試み得る。したがって、ブロック2032では、方法2000は、ウェアラブルシステムが、虹彩コードまたはトークンをユーザの片眼または両眼の画像から正常に生成または別様に抽出する尤度を増加させるように、1つまたはそれを上回る動作を実施するステップを含んでもよい。いくつかの実装では、ブロック2032では、方法2000は、ウェアラブルシステムが、1つまたはそれを上回る適合または位置合わせ関連動作、ブロック2008において続いて提示される仮想標的の位置を変化させるための1つまたはそれを上回る動作、ユーザの眼が可視であるかどうかを決定するための1つまたはそれを上回る動作、またはそれらの組み合わせを実施するステップを含んでもよい。
いくつかの実施形態では、そのような1つまたはそれを上回る適合または位置合わせ関連動作は、位置合わせオブザーバ620および/または図11のブロック1170を参照して上記に説明されるもののうちの1つまたはそれを上回るものに対応し得る。すなわち、これらの実施形態では、ウェアラブルシステムは、1つまたはそれを上回る動作を実施し、ユーザに対するウェアラブルシステムの適合または位置合わせを評価し、および/またはそれを改良するように試みてもよい。そのために、ウェアラブルシステムは、ユーザに、ウェアラブルシステムの適合、位置付け、および/または構成(例えば、鼻パッド、頭部パッド等)を調節するためのフィードバックおよび/または提案を提供してもよい。適合および位置合わせ関連動作の付加的実施例は、2018年3月16日に出願された、米国仮出願第62/644,321号、2019年1月17日に出願された、米国特許出願第16/251,017号、2018年7月24日に出願された、米国仮出願第62/702,866号、および2019年7月23日に出願された、国際特許出願第PCT/US2019/043096号(それぞれ、参照することによってその全体として本明細書に組み込まれる)に開示される。いくつかの実施形態では、ブロック2032では、方法2000は、ウェアラブルシステムが、前述の特許出願に説明される、虹彩適合および位置合わせ関連動作のうちの1つまたはそれを上回るものを実施するステップを含んでもよい。他の構成も、可能性として考えられる。
上記に述べられたように、いくつかの実装では、方法2000は、ウェアラブルシステムが、ブロック2008において続いて提示される、仮想標的の位置を変化させるための1つまたはそれを上回る動作を実施するステップを含んでもよい。これらの実施例では、方法2000は、ブロック2032からブロック2008に進み、ブロック2008に関連して1つまたはそれを上回る虹彩認証動作を実施する際、仮想標的が方法2000の前の反復においてユーザに提示された場所と異なる、1つまたはそれを上回る場所において、ユーザのために仮想標的を提示してもよい。いくつかの実施例では、仮想標的は、ユーザの片眼または両眼のそれぞれの虹彩の真正面画像を捕捉する機会を増加させるような様式において、ユーザに提示されてもよい。すなわち、そのような実施例では、仮想標的は、ユーザが、目を向ける、および/または固視し続けるために、ユーザに、その眼の一方または両方を1つまたはそれを上回るカメラに向かって再配向するように要求し得る、3次元空間内の1つまたはそれを上回る場所において、ユーザに提示されてもよい。いくつかの実施形態では、仮想標的の1つまたはそれを上回る他の特性(例えば、サイズ、形状、色等)が、改変されてもよい。また、上記に述べられたように、いくつかの実装では、ブロック2032において、方法2000は、ウェアラブルシステムが、ユーザの眼が可視であるかどうかを決定するための1つまたはそれを上回る動作を実施するステップを含んでもよい。いくつかのそのような実装では、方法2000は、ウェアラブルシステムが、(i)ブロック2032において、ユーザの眼が不可視であることを決定する、または(ii)、ブロック2032において、ユーザの眼が可視であることを決定することに失敗することに応答して、ブロック2022に進み得る。
ブロック2020またはブロック2022に到達し、それと関連付けられる、動作を実施することに応じて、方法2000は、ブロック2024に進み得る。ブロック2024では、方法2000は、ウェアラブルシステムが、ブロック2020またはブロック2022において選択された設定に従って、動作するステップを含んでもよい。いくつかの実施形態では、ブロック2024と関連付けられる動作のいくつかまたは全ては、それぞれ、図14および15を参照して上記に説明されるようなブロック1414および/または1520のうちの1つまたはそれを上回るものと関連付けられるものと類似または実質的に同一であり得る。いくつかの実装では、ブロック2020またはブロック2022からブロック2024に遷移する際、方法2000は、ウェアラブルシステムが、「ロック解除」状態に入る、または別様に現在のユーザにある特徴へのアクセスを付与するステップを含んでもよい。ブロック2026では、方法2000は、ウェアラブルシステムが、それがユーザによって装着されていないかどうかを決定するステップを含んでもよい。いくつかの実施形態では、ブロック2004と関連付けられる動作のいくつかまたは全ては、図14、15、および20を参照して上記に説明されるようなブロック1402、1404、1502、1504、および/または2004のうちの1つまたはそれを上回るものと関連付けられるものと類似または実質的に同一であり得る。
ブロック2026において、ウェアラブルシステムが、ユーザによって装着されていることの決定に応答して、方法2000は、ブロック2024に進み得る。すなわち、ブロック2024-2026に到達することに応じて、ウェアラブルシステムは、ウェアラブルシステムが、ブロック2026において、それがもはやユーザによって装着されていないことを決定するまで、ブロック2020またはブロック2022において選択された設定に従って動作し続けてもよい。ブロック2026において、ウェアラブルシステムが、もはやユーザによって装着されていないことの決定に応答して、方法2000は、ブロック2004に戻るように遷移し得る。いくつかの実装では、ブロック2026からブロック2004に遷移する際、方法2000は、ウェアラブルシステムが、「ロック」状態に入る、または別様にある特徴へのアクセスを制限するステップを含んでもよい。いくつかの実施形態では、ブロック2026からブロック2004に遷移する際、方法2000は、ウェアラブルシステムが、2024を参照して上記に説明される動作のうちの1つまたはそれを上回るものの実施を中断または中止するステップを含んでもよい。
上記に述べられたように、いくつかの実施形態では、ブロック2018では、方法2000は、ウェアラブルシステムが、登録プロシージャを行うステップを含んでもよく、これは、現在のユーザのための眼追跡較正プロファイルを生成するための1つまたはそれを上回る動作、現在のユーザを虹彩認証にエンロールするための1つまたはそれを上回る動作、それらの組み合わせを実施するステップを含んでもよい。いくつかの実装では、ブロック2018では、方法2000は、ウェアラブルシステムが、現在のユーザのための較正を実施するステップ、または別様に現在のユーザのための眼追跡較正プロファイルを生成するための1つまたはそれを上回る動作を実施するステップを含んでもよい。較正は、種々のプロセスを含んでもよく、ユーザが異なる場所および深度におけるオブジェクトに合焦するにつれてユーザの眼が移動した程度を決定するステップを含んでもよい。いくつかの実施形態では、ウェアラブルシステムは、ユーザの眼の視線を監視し、そこにユーザが固視している、3次元固視点を決定するように構成されてもよい。固視点は、とりわけ、ユーザの眼と各眼の視線方向との間の距離に基づいて決定されてもよい。これらの変数は、三角形の1つの角における固視点と、他の角における眼と三角形を形成すると理解され得ることを理解されたい。また、較正が、ユーザの眼の配向を正確に追跡し、それらの眼の視線を決定または推定し、固視点を決定するために実施されてもよいことを理解されたい。較正はまた、ユーザのIPD(例えば、ユーザが光学無限遠に合焦しているときのユーザの瞳孔間の距離)を識別するステップを含んでもよい。較正はまた、ユーザが、近距離(例えば、2.0メートル未満)におけるオブジェクトおよび中距離(例えば、約2.0~3.0メートル)におけるオブジェクト等の光学無限遠より近いオブジェクトに合焦しているとき、ユーザの瞳孔距離を決定するステップを含んでもよい。そのような較正データに基づいて、ウェアラブルシステムは、ユーザの瞳孔距離を監視することによって、ユーザが見ている深度を決定することが可能であり得る。換言すると、ユーザの瞳孔距離が、その最大値である(例えば、ユーザのIPDに等しいまたはそれに近い)とき、ウェアラブルシステムは、ユーザの輻輳・開散運動距離が光学無限遠またはその近くにあることを推測することが可能であり得る。対照的に、ユーザの瞳孔距離が、その最小値の近くにあるとき、ウェアラブルシステムは、ユーザの輻輳・開散運動距離が、較正によって決定された距離において、ユーザに近いことを推測することが可能であり得る。したがって、完全較正を受けた後、ウェアラブルシステムは、現在のユーザに関する較正ファイルおよび/または較正情報を記憶してもよい。較正および眼追跡に関するさらなる詳細は、2018年5月30日に出願され、2018年12月6日に米国特許公開第2018/0348861号として公開された、米国特許出願第15/993,371号、2018年8月3日に出願された、米国仮出願第62/714,649号、2019年7月17日号に出願された、米国仮出願第62/875474号、および2019年8月2日に出願された、米国特許出願第16/530,904号(それぞれ、参照することによってその全体として本明細書に組み込まれる)に見出され得る。いくつかの実施形態では、ブロック2018では、方法2000は、ウェアラブルシステムが、前述の特許出願に説明される、のうちの1つまたはそれを上回るもの較正および眼追跡動作を実施するステップを含んでもよい。他の構成も、可能性として考えられる。
いくつかの実装では、ブロック2018では、方法2000は、ウェアラブルシステムが、現在のユーザを虹彩認証にエンロールするための1つまたはそれを上回る動作を実施するステップを含んでもよい。いくつかの実施例では、そのような動作は、ウェアラブルシステムが、仮想標的をユーザに提示するステップ(例えば、1つまたはそれを上回るディスプレイを用いて)と、仮想標的がユーザに提示されている間、ユーザの片眼または両眼の1つまたはそれを上回る画像を捕捉するステップ(例えば、1つまたはそれを上回る眼追跡カメラを用いて)と、1つまたはそれを上回る画像に基づいて、ユーザの片眼または両眼のそれぞれの虹彩の表現(例えば、1つまたはそれを上回る虹彩コードまたはトークン)を生成するステップと、生成された表現を記憶するステップとを含んでもよい。いくつかの実装では、ユーザの片眼または両眼のそれぞれの虹彩の表現(例えば、1つまたはそれを上回る虹彩コードまたはトークン)を生成および記憶する代わりに、またはそれに加え、そのような動作は、1つまたはそれを上回る画像のうちの少なくとも1つを基準またはテンプレート画像として記憶するステップを含んでもよい。いくつかの実装では、ウェアラブルシステムは、虹彩コードまたはトークンをユーザの片眼または両眼の画像から正常に生成または別様に抽出する尤度を増加させるように、ブロック2018と関連付けられるもののうちの1つまたはそれを上回るもの等の現在のユーザを虹彩認証にエンロールするための1つまたはそれを上回る動作を実施するとき、ブロック2032と関連付けられる動作のうちの1つまたはそれを上回るものを実施してもよい。いくつかの実施形態では、ウェアラブルシステムは、現在のユーザのための前述の較正プロシージャと並行して、現在のユーザを虹彩認証にエンロールするための1つまたはそれを上回るそのような動作を実施してもよい。他の実施形態では、ウェアラブルシステムは、現在のユーザを虹彩認証にエンロールするための1つまたはそれを上回るそのような動作および別個の時間における現在のユーザのための前述の較正プロシージャを実施してもよい。
いくつかの実施例では、ブロック2018では、方法2000は、ウェアラブルシステムが、相互に関連付けられる、較正ファイルまたは較正情報および生成された表現(例えば、1つまたはそれを上回る虹彩コードまたはトークン)を記憶するステップを含んでもよい。いくつかの実施形態では、相互に関連付けられる、較正ファイルまたは較正情報および生成された表現を記憶するステップの代わりに、またはそれに加えブロック2018では、方法2000は、ウェアラブルシステムが、相互に関連付けられる、較正ファイルまたは較正情報および1つまたはそれを上回る画像のうちの少なくとも1つを記憶するステップを含んでもよい。いくつかの実施形態では、ブロック2018と関連付けられる動作のいくつかまたは全ては、方法2000から独立して実施されてもよい。例えば、ウェアラブルシステムは、ユーザからの要求時、またはウェアラブルシステムが、最初に、オンにされる、または設定されるとき、ユーザを虹彩認証にエンロールするための1つまたはそれを上回る動作および/またはユーザのための較正を実施するための関連付けられる1つまたはそれを上回る動作を実施してもよい。
いくつかの実施形態では、ウェアラブルシステムが、ブロック2012において、認証結果と関連付けられる信頼度値が所定の閾値を超えないことを決定することに応答して、方法2000は、ブロック2012からブロック2028以外の1つまたはそれを上回る論理ブロックに進み得る。例えば、これらの実施形態では、ウェアラブルシステムが、ブロック2012において、認証結果と関連付けられる信頼度値が所定の閾値を超えないことを決定することに応答して、ウェアラブルシステムは、現在のユーザに、1つまたはそれを上回る代替認証オプションを提示してもよい。例えば、ウェアラブルシステムは、現在のユーザに、ピン、パスワード、および/または他の証明書を入力としてウェアラブルシステムに提供することによって、その識別を照合するオプションを提供してもよい。これらの実施形態のうちのいくつかでは、方法2000は、前述の代替認証オプションのうちの1つまたはそれを上回るものを使用して、現在のユーザを登録されたユーザとして正常に識別することに応じて、ブロック2020に進み得る。同様に、これらの実施形態のうちのいくつかでは、方法2000は、前述の代替認証オプションのうちの1つまたはそれを上回るものを使用して、現在のユーザを登録されたユーザとして正常に識別することに失敗することに応じて、ブロック2016に進み得る。そのような転機では、方法2000は、ブロック2022に進むか、またはその中でウェアラブルシステムが現在のユーザを登録するための1つまたはそれを上回る動作を行う、ブロック2018に類似する、1つまたはそれを上回る論理ブロックに進むかのいずれかであってもよい。
いくつかの実施例では、現在のユーザを登録するためのそのような1つまたはそれを上回る動作は、現在のユーザのための眼追跡較正プロファイルを生成するための1つまたはそれを上回るプロシージャ、現在のユーザを虹彩認証にエンロールするための1つまたはそれを上回る動作、現在のユーザを前述の代替認証オプションのうちの1つまたはそれを上回るものにエンロールするための1つまたはそれを上回る動作、またはそれらの組み合わせを含んでもよい。いくつかの実施形態では、ブロック2018では、方法2000はさらに、ウェアラブルシステムが、現在のユーザを前述の代替認証オプションのうちの1つまたはそれを上回るものにエンロールするための1つまたはそれを上回る動作を実施するステップを含んでもよい。これらの実施形態では、現在のユーザを前述の代替認証オプションのうちの1つまたはそれを上回るものにエンロールするための1つまたはそれを上回る動作を実施するステップに関連して、ウェアラブルシステムによって生成または別様に取得される情報は、であってもよい。
これらの実施形態では、ブロック2018において、方法2000は、ウェアラブルシステムが、現在のユーザを現在のユーザに関する較正ファイルまたは情報と関連付けられる前述の代替認証オプションのうちの1つまたはそれを上回るものにエンロールするための1つまたはそれを上回る動作を実施するステップに関連してウェアラブルシステムによって生成または別様に取得される情報、現在のユーザのための生成された1つまたはそれを上回る虹彩表現(例えば、虹彩コードまたはトークン)、ユーザの片眼または両眼の1つまたはそれを上回る画像、またはそれらの組み合わせを記憶するステップを含んでもよい。ブロック2018においてユーザによって手動で供給されるような付加的情報(例えば、名前、電子メールアドレス、関心、ユーザ選好等)もまた、前述の情報のうちの1つまたはそれを上回るものと関連付けて記憶されてもよい。他の構成も、可能性として考えられる。
周囲環境内のオブジェクトを検出するためのコンピュータビジョン
上記に議論されるように、ディスプレイシステムは、ユーザを囲繞する環境内のオブジェクトまたはその性質を検出するように構成されてもよい。検出は、本明細書に議論されるように、種々の環境センサ(例えば、カメラ、オーディオセンサ、温度センサ等)を含む、種々の技法を使用して遂行されてもよい。
いくつかの実施形態では、環境内に存在するオブジェクトは、コンピュータビジョン技法を使用して、検出されてもよい。例えば、本明細書に開示されるように、ディスプレイシステムの前向きに面したカメラは、周囲環境を結像するように構成されてもよく、ディスプレイシステムは、画像分析を画像上で実施し、周囲環境内のオブジェクトの存在を決定するように構成されてもよい。ディスプレイシステムは、外向きに面した結像システムによって入手された画像を分析し、場面再構成、イベント検出、ビデオ追跡、オブジェクト認識、オブジェクト姿勢推定、学習、インデックス化、運動推定、または画像復元等を実施してもよい。他の実施例として、ディスプレイシステムは、顔および/または眼認識を実施し、ユーザの視野内の顔および/またはヒトの眼の存在および場所を決定するように構成されてもよい。1つまたはそれを上回るコンピュータビジョンアルゴリズムが、これらのタスクを実施するために使用されてもよい。コンピュータビジョンアルゴリズムの非限定的実施例は、スケール不変特徴変換(SIFT)、スピードアップロバスト特徴(SURF)、配向FASTおよび回転BRIEF(ORB)、バイナリロバスト不変スケーラブルキーポイント(BRISK)、高速網膜キーポイント(FREAK)、Viola-Jonesアルゴリズム、Eigenfacesアプローチ、Lucas-Kanadeアルゴリズム、Horn-Schunkアルゴリズム、Mean-shiftアルゴリズム、視覚的同時位置推定およびマッピング(vSLAM)技法、シーケンシャルベイズ推定器(例えば、カルマンフィルタ、拡張カルマンフィルタ等)、バンドル調節、適応閾値化(および他の閾値化技法)、反復最近傍点(ICP)、セミグローバルマッチング(SGM)、セミグローバルブロックマッチング(SGBM)、特徴点ヒストグラム、種々の機械学習アルゴリズム(例えば、サポートベクトルマシン、k最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク(畳み込みまたは深層ニューラルネットワークを含む)、または他の教師あり/教師なしモデル等)等を含む。
これらのコンピュータビジョン技法のうちの1つまたはそれを上回るものはまた、他の環境センサ(例えば、マイクロホン等)から入手されたデータと併用され、センサによって検出されたオブジェクトの種々の性質を検出および決定してもよい。
本明細書に議論されるように、周囲環境内のオブジェクトは、1つまたはそれを上回る基準に基づいて、検出されてもよい。ディスプレイシステムが、コンピュータビジョンアルゴリズムを使用して、または1つまたはそれを上回るセンサアセンブリ(ディスプレイシステムの一部である場合とそうではない場合がある)から受信されたデータを使用して、周囲環境内の基準の存在または不在を検出するとき、ディスプレイシステムは、次いで、オブジェクトの存在を信号伝達してもよい。
機械学習
種々の機械学習アルゴリズムは、周囲環境内のオブジェクトの存在を識別するように学習するために使用されてもよい。いったん訓練されると、機械学習アルゴリズムは、ディスプレイシステムによって記憶されてもよい。機械学習アルゴリズムのいくつかの実施例は、教師ありまたは教師なし機械学習アルゴリズムを含み得、回帰アルゴリズム(例えば、通常の最小2乗回帰等)、インスタンスベースのアルゴリズム(例えば、学習ベクトル量子化等)、決定ツリーアルゴリズム(例えば、分類および回帰ツリー等)、ベイズアルゴリズム(例えば、単純ベイズ等)、クラスタリングアルゴリズム(例えば、k-平均クラスタリング等)、関連付けルール学習アルゴリズム(例えば、アプリオリアルゴリズム等)、人工ニューラルネットワークアルゴリズム(例えば、Perceptron等)、深層学習アルゴリズム(例えば、Deep Boltzmann Machine、すなわち、深層ニューラルネットワーク等)、次元削減アルゴリズム(例えば、主成分分析等)、アンサンブルアルゴリズム(例えば、Stacked Gneralization等)、または他の機械学習アルゴリズムを含む。いくつかの実施形態では、個々のモデルは、個々のデータセットのためにカスタマイズされてもよい。例えば、ウェアラブルデバイスは、ベースモデルを生成または記憶してもよい。ベースモデルは、開始点として使用され、データタイプ(例えば、特定のユーザ)、データセット(例えば、取得される付加的画像のセット)、条件付き状況、または他の変形例に特有の付加的モデルを生成してもよい。いくつかの実施形態では、ディスプレイシステムは、複数の技法を利用して、集約されたデータの分析のためのモデルを生成するように構成されることができる。他の技法は、事前に定義された閾値またはデータ値を使用することを含んでもよい。
オブジェクトを検出するための基準は、1つまたはそれを上回る閾値条件を含んでもよい。環境センサによって入手されたデータの分析が、閾値条件に達したことを示す場合、ディスプレイシステムは、周囲環境内のオブジェクトの存在の検出を示す信号を提供してもよい。閾値条件は、定量的および/または定質的測定値を伴ってもよい。例えば、閾値条件は、反射および/またはオブジェクトが環境内に存在する尤度と関連付けられるスコアまたはパーセンテージを含んでもよい。ディスプレイシステムは、環境センサのデータから計算されるスコアと閾値スコアを比較してもよい。スコアが、閾値レベルより高い場合、ディスプレイシステムは、反射および/またはオブジェクトの存在を検出し得る。いくつかの他の実施形態では、ディスプレイシステムは、スコアが閾値より低い場合、環境内のオブジェクトの存在を信号伝達してもよい。いくつかの実施形態では、閾値条件は、ユーザの感情状態および/またはユーザの周囲環境との相互作用に基づいて決定されてもよい。
いくつかの実施形態では、閾値条件、機械学習アルゴリズム、またはコンピュータビジョンアルゴリズムは、具体的コンテキストのために特殊化されてもよい。例えば、診断コンテキストでは、コンピュータビジョンアルゴリズムは、刺激に対するある応答を検出するために特殊化されてもよい。別の実施例として、ディスプレイシステムは、本明細書に議論されるように、顔認識アルゴリズムおよび/またはイベントトレーシングアルゴリズムを実行し、刺激に対するユーザの反応を感知してもよい。
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つまたはそれを上回る物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得ることを理解されたい。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされ得る、動的リンクライブラリ内にインストールされ得る、またはインタープリタ型プログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つまたはそれを上回る物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。いくつかの実施形態では、非一過性コンピュータ可読媒体は、ローカル処理およびデータモジュール(140)、遠隔処理モジュール(150)、遠隔データリポジトリ(160)のうちの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つまたはそれを上回る付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成し得る。