本発明者らは、ウェアラブルXRディスプレイシステムのための、そのようなシステムの享受性および有用性を向上させる、設計および動作技法を認識し、その真価を認めた。これらの設計および/または動作技法は、限定された数のカメラを使用して、手の追跡、頭部姿勢の追跡、および世界の再構築を含む、複数の機能を実施するための情報を取得することを可能にし得、これは、仮想オブジェクトを、それらが物理的オブジェクトと現実的に相互作用するように現れるように現実的にレンダリングするために使用されてもよい。ウェアラブルクロスリアリティディスプレイシステムは、軽量であり得、動作時、低電力を消費し得る。本システムは、特定の構成のセンサを使用して、短待ち時間を伴って、物理的世界内の物理的オブジェクトについての画像情報を入手し得る。本システムは、表示されるXR環境の正確度および/または現実性を改良するために、種々のルーチンを実施してもよい。そのようなルーチンは、軽量フレームが、使用の間、歪曲する場合でも、立体視深度測定の正確度を改良するための較正ルーチンと、ユーザの周囲の物理的世界のモデル内の不完全な深度情報を検出し、それに対処するためのルーチンとを含んでもよい。
既知のXRシステムヘッドセットの重量は、ユーザ享受を限定し得る。そのようなXRヘッドセットは、340グラムを上回る重量であり得る(時として、700グラムを上回ることさえある)。眼鏡は、対照的に、50グラム未満の重量であり得る。そのような比較的に重いヘッドセットを長時間にわたって装着することは、ユーザを疲労させ、または彼らの注意を逸らし、所望の没入型のXR体験から注意を逸らさせ得る。しかしながら、本発明者らは、ヘッドセット重量を低減させる、いくつかの設計がまた、ヘッドセット柔軟性を増加させ、軽量ヘッドセットを、使用の間または経時的に、センサ位置または配向の変化を受けやすくし得ることを認識および理解している。例えば、ユーザが、カメラセンサを含む、軽量ヘッドセットを装着する際、これらのカメラセンサの相対的配向は、偏移し得る。立体視結像のために使用される、カメラの間隔における変動は、それらのヘッドセットが、相互に対して既知の位置関係を有するカメラに依存する、正確な立体視情報を入手する能力に影響を及ぼし得る。故に、ヘッドセットが装着される際に繰り返され得る、較正ルーチンは、立体視結像技法を使用して、ヘッドセットの装着者の周囲の世界についての情報を正確に入手し得る、軽量ヘッドセットを可能にし得る。
XRシステムに物理的世界内のオブジェクトについての情報を入手するためのコンポーネントを装備する必要性はまた、これらのシステムの有用性およびユーザ享受を限定し得る。入手された情報は、コンピュータ生成仮想オブジェクトを、適切な位置に、物理的オブジェクトに対する適切な外観を伴って、現実的に提示するために使用されるが、情報を入手する必要性は、XRシステムのサイズ、電力消費、および現実性に関する限界を課す。
XRシステムは、例えば、ユーザによって装着されるセンサを使用して、ユーザの視野内の物理的世界オブジェクトの位置についての情報を含む、ユーザの周囲の物理的世界内のオブジェクトについての情報を取得し得る。物理的オブジェクトが、ユーザの視野の中に入る、またはそこから退出する、またはユーザの視野内の物理的オブジェクトの位置が変化するように、オブジェクトが物理的世界内で移動するか、またはユーザが物理的世界に対するその姿勢を変化させるかのいずれかの結果として、オブジェクトがユーザの視野に対して移動し得るため、課題が生じる。現実的XRディスプレイを提示するために、物理的世界内の物理的オブジェクトのモデルは、これらの変化を捕捉するために十分に頻繁に更新され、十分に短待ち時間で処理され、その情報に基づいて表示される仮想オブジェクトが、仮想オブジェクトが表示されるにつれて、物理的オブジェクトに対する適切な位置および外観を有するであろうように、レンダリングを含む、完全待ち時間経路を網羅するように将来的に正確に予測されなければならない。そうでなければ、仮想オブジェクトは、物理的オブジェクトと整合されずに現れ、物理的および仮想オブジェクトを含む、組み合わせられる場面は、現実的に現れないであろう。例えば、仮想オブジェクトは、それらが、物理的オブジェクト上に静置するのではなく、空間中に浮遊しているかのように見え得る、または物理的オブジェクトに対して周囲でバウンスするように現れ得る。視覚的追跡の誤差は、特に、ユーザが、高速で移動しているとき、場面内に著しい進展が存在する場合、増幅される。
そのような問題は、新しいデータを高レートで入手する、センサによって回避され得る。しかしながら、そのようなセンサによって消費された電力は、より大きいバッテリの必要性につながる、システムの重量を増加させる、またはそのようなシステムの使用の長さを限定し得る。同様に、高レートで生成されたデータを処理するために必要とされるプロセッサは、バッテリを枯渇させ、付加的重量をウェアラブルシステムに追加させ、そのようなシステムの有用性または享受性をさらに限定し得る。既知のアプローチは、例えば、十分な視覚的詳細を捕捉するためのより高い分解能で、増加された時間分解能のためのより高いフレームレートセンサを動作させることである。代替ソリューションは、本ソリューションを、直接、センサに対する物理的オブジェクトの位置を示し得る、IR飛行時間センサで補完し得、短待ち時間をもたらす、単純処理が、本情報を使用して、仮想オブジェクトを表示する際に実施され得る。しかしながら、そのようなセンサは、特に、それらが太陽光下で動作する場合、実質的量の電力を消費する。
本発明者らは、XRシステムが、較正ルーチンを繰り返し実施することによって、使用の間のまたは経時的なセンサ位置または配向の変化に対処し得ることを認識し、その真価を認めた。本較正ルーチンは、ヘッドセット内に含まれるセンサの現在の相対的分離および配向を決定し得る。ウェアラブルXRシステムは、次いで、立体視深度情報を算出するとき、ヘッドセットセンサの本相対的分離および配向を考慮し得る。そのような較正能力を用いることで、XRシステムは、能動深度センサを用いずに、または能動深度感知の随時の使用のみを用いて、物理的世界内のオブジェクトまでの距離を示す、深度情報を正確に入手し得る。能動深度感知は、実質的電力を消費し得るため、能動深度感知を低減または排除することは、より少ない電力を引き出す、デバイスを可能にし、これは、バッテリを再充電せずに、本デバイスの動作時間を増加させる、またはバッテリのサイズを低減させる結果として、本デバイスのサイズを低減させることができる。
本発明者らはまた、画像センサとそれらのセンサからの画像情報を処理するための適切な技法の適切な組み合わせによって、XRシステムが、使用されるセンサの数を低減させ、リソース集約的センサを排除する、無効にする、または選択的にアクティブ化し、および/またはセンサの全体的使用量を低減させることによって、低減された電力消費でも、物理的オブジェクトについての情報を短待ち時間で入手し得ることを認識し、その真価を認めた。具体的実施例として、XRシステムは、2つの世界カメラと、カラーカメラとを伴う、ヘッドセットを含んでもよい。世界カメラは、グレースケール画像を生産してもよく、グローバルシャッタを有してもよい。これらのグレースケール画像は、類似分解能のカラー画像より小さいサイズであり得る。世界カメラは、類似分解能のカラーカメラより少ない電力を要求し得る。これらのカメラからの情報は、XRシステムの動作をサポートするために、異なる時間に、異なる方法において、使用されてもよい。
本明細書に説明される技法は、多くのタイプのデバイスとともに、または別個に、多くのタイプの場面のために、使用されてもよい。図1は、そのような場面を図示する。図2、3A、および3Bは、本明細書に説明される技法に従って動作し得る、1つ以上のプロセッサと、メモリと、センサと、ユーザインターフェースとを含む、例示的ARシステムを図示する。
図1を参照すると、AR場面4が、描写されており、ARシステムのユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム8を特徴とする、物理的世界の公園状設定6が見える。これらの物理的オブジェクトに加え、AR技術のユーザはまた、ここでは、物理的世界コンクリートプラットフォーム8上に立っている、ロボット像10として図示される、仮想オブジェクトと、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ2とが「見える」と知覚するが、これらの要素(例えば、アバタキャラクタ2およびロボット像10)は、物理的世界内には存在しない。ヒト視知覚および神経系の著しい複雑性に起因して、他の仮想または物理的世界の画像要素の中への仮想画像要素の快適で、自然な感覚で、かつ豊かな提示を促進する、ARシステムを生産することは、困難である。
そのような場面は、ユーザの周囲の実際の環境を表す画像情報を提示し、実際の環境内にはない、仮想オブジェクトを表す情報にオーバーレイすることによって、ユーザに提示され得る。ARシステムでは、ユーザは、物理的世界内のオブジェクトを見ることが可能であり得、ARシステムは、それらが、適切な場所に、仮想オブジェクトが物理的世界内のオブジェクトと共存するように現れる、適切な視覚的特性を伴って、現れるように、仮想オブジェクトをレンダリングする、情報を提供する。ARシステムでは、例えば、ユーザは、ユーザに物理的世界内のオブジェクトが見え得るように、透明画面を通して見ることになり得る。ARシステムは、ユーザに物理的世界および仮想オブジェクトの両方が見えるように、仮想オブジェクトをその画面上にレンダリングし得る。いくつかの実施形態では、画面は、一対のゴーグルまたは眼鏡のように、ユーザによって装着されてもよい。
場面は、視覚、聴覚、および/または触覚を含む、1つ以上のユーザの感覚を刺激し得る、ユーザインターフェースを含む、複数のコンポーネントを含む、システムを介して、ユーザに提示されてもよい。加えて、本システムは、場面の物理的部分内のユーザの位置および/または運動を含む、場面の物理的部分のパラメータを測定し得る、1つ以上のセンサを含んでもよい。さらに、本システムは、メモリ等の関連付けられるコンピュータハードウェアとともに、1つ以上のコンピューティングデバイスを含んでもよい。これらのコンポーネントは、単一デバイスの中に統合される、またはさらに、複数の相互接続されるデバイスを横断して分散されてもよい。いくつかの実施形態では、これらのコンポーネントのいくつかまたは全ては、ウェアラブルデバイスの中に統合されてもよい。
いくつかの実施形態では、AR体験が、ウェアラブルディスプレイシステムを通して、ユーザに提供されてもよい。図2は、ウェアラブルディスプレイシステム80(以降、「システム80」と称される)の実施例を図示する。システム80は、頭部搭載型ディスプレイデバイス62(以降、「ディスプレイデバイス62」と称される)と、ディスプレイデバイス62の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイデバイス62は、フレーム64に結合されてもよく、これは、ディスプレイシステムのユーザまたは視認者60(以降、「ユーザ60」と称される)によって装着可能であって、ディスプレイデバイス62をユーザの眼60の正面に位置付けるように構成される。種々の実施形態によると、ディスプレイデバイス62は、シーケンシャルディスプレイであってもよい。ディスプレイデバイス62は、単眼または両眼であってもよい。
いくつかの実施形態では、スピーカ66が、フレーム64に結合され、ユーザ60の外耳道に近接して位置付けられる。いくつかの実施形態では、示されない、別のスピーカが、ユーザ60の別の外耳道に隣接して位置付けられ、ステレオ/調節可能音制御を提供する。
システム80は、ローカルデータ処理モジュール70を含んでもよい。ローカルデータ処理モジュール70は、有線導線または無線コネクティビティ等によって、通信リンク68を通して、ディスプレイデバイス62に動作可能に結合されてもよい。ローカルデータ処理モジュール70は、フレーム64に固定して取り付けられる、ユーザ60によって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様に、ユーザ60に除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載されてもよい。いくつかの実施形態では、ローカルデータ処理モジュール70は、ローカルデータ処理モジュール70のコンポーネントが、ディスプレイデバイス62内に統合される、またはそれに対してディスプレイデバイス62が、広域ネットワークを通した無線通信を通して等、結合される、遠隔サーバまたは他のコンポーネントの内に実装され得るため、存在しなくてもよい。
ローカルデータ処理モジュール70は、プロセッサおよび不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを含んでもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用されてもよい。データは、a)センサ(例えば、フレーム64に動作可能に結合される、または別様に、画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等のユーザ60に取り付けられ得る)から捕捉されるデータ、および/またはb)可能性として、処理または読出後にディスプレイデバイス62への通過のために、遠隔処理モジュール72および/または遠隔データリポジトリ74を使用して入手および/または処理される、データを含んでもよい。ローカルデータ処理モジュール70は、それぞれ、これらの遠隔モジュール72、74が、相互に動作可能に結合され、リソースとしてローカル処理およびデータモジュール70に利用可能であるように、有線または無線通信リンク等を介して、通信リンク76、78によって、遠隔処理モジュール72および遠隔データリポジトリ74に動作可能に結合されてもよい。
いくつかの実施形態では、ローカルデータ処理モジュール70は、データおよび/または画像情報を分析および処理するように構成される、1つ以上のプロセッサ(例えば、中央処理ユニットおよび/または1つ以上のグラフィック処理ユニット(GPU))を含んでもよい。いくつかの実施形態では、遠隔データリポジトリ74は、デジタルデータ記憶設備を含んでもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して、利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカルデータ処理モジュール70において実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
いくつかの実施形態では、ローカルデータ処理モジュール70は、バッテリ82に動作可能に結合される。いくつかの実施形態では、バッテリ82は、市販のバッテリ等のリムーバブル電源である。他の実施形態では、バッテリ82は、リチウムイオンバッテリである。いくつかの実施形態では、バッテリ82は、システム80の非動作時間の間にユーザ60によって充電可能な内部リチウムイオンバッテリと、ユーザ60が、電源に繋ぎ、リチウムイオンバッテリを充電する必要なく、またはシステム80をシャットオフし、バッテリを交換する必要なく、より長い時間周期にわたってシステム80を動作させ得るように、リムーバブルバッテリとの両方を含む。
図3Aは、ユーザ30が物理的世界環境32(以降、「環境32」と称される)を通して移動するにつれて、ARコンテンツをレンダリングする、ARディスプレイシステムを装着している、ユーザ30を図示する。ユーザ30は、ARディスプレイシステムを位置34に位置付け、ARディスプレイシステムは、位置34に対するパス可能世界(例えば、物理的世界内の実オブジェクトの変化に伴って記憶および更新され得る、物理的世界内の実オブジェクトのデジタル表現)の周囲情報を記録する。位置34はそれぞれさらに、環境32に関連する「姿勢」および/またはマッピングされた特徴または指向性オーディオ入力と関連付けられ得る。ARディスプレイシステムをその頭部上に装着しているユーザは、特定の方向に眼を向け、その頭部を傾斜させ、環境に対するシステムの頭部姿勢を作成し得る。各位置および/または同一位置内の姿勢では、ARディスプレイシステム上のセンサは、環境32についての異なる情報を捕捉し得る。故に、位置34において収集された情報は、データ入力36に集約され、少なくとも、例えば、図2の遠隔処理モジュール72上で処理することによって実装され得る、パス可能世界モジュール38によって、処理され得る。
パス可能世界モジュール38は、少なくとも部分的に、データ入力36から決定されるように、ARコンテンツ40が物理的世界に関連して設置され得る場所および方法を決定する。ARコンテンツは、ユーザにARコンテンツおよび物理的世界の両方が見え得るような方法において、ARコンテンツを提示することによって、物理的世界内に「設置」される。そのようなインターフェースは、例えば、ユーザに透けて見え、物理的世界を視認し得、仮想オブジェクトがユーザの視野内の制御された場所に現れるように制御され得る、眼鏡を用いて、作成されてもよい。ARコンテンツは、物理的世界内のオブジェクトと相互作用するかのようにレンダリングされる。ユーザインターフェースは、物理的世界内のオブジェクトのユーザのビューが、ARコンテンツが、適切なとき、それらのオブジェクトのユーザのビューを不明瞭にする、外観を作成するように隠され得るようなものである。例えば、ARコンテンツは、環境32内の要素42(例えば、テーブル)の一部を適切に選択し、その要素42上に静置している、または別様に、それと相互作用するかのように成形および位置付けられる、ARコンテンツ40を表示および表示することによって、設置されてもよい。ARコンテンツはまた、まだ視野44内にない構造内に、または物理的世界のマッピングされたメッシュモデル46に対して、設置されてもよい。
描写されるように、要素42は、固定されているかのように取り扱われ、パス可能世界モジュール38内に記憶され得る、物理的世界内の複数の要素であり得るものの実施例である。いったんパス可能世界モジュール38内に記憶されると、それらの固定要素についての情報は、ユーザ30が、ユーザ30にそれが見える度に、システムが固定要素42にマッピングする必要なく、コンテンツを固定要素42上で知覚し得るように、情報をユーザに提示するために使用されてもよい。固定要素42は、したがって、前のモデル化セッションからマッピングされたメッシュモデルである、または別個のユーザから決定されるが、但し、複数のユーザによる将来的参照のためにパス可能世界モジュール38上に記憶され得る。したがって、パス可能世界モジュール38は、環境32を以前にマッピングされた環境から認識し、最初に、ユーザ30のデバイスが環境32をマッピングすることなく、ARコンテンツを表示し、算出プロセスおよびサイクルを節約し、任意のレンダリングされたARコンテンツの待ち時間を回避し得る。
同様に、物理的世界のマッピングされたメッシュモデル46は、ARディスプレイシステムによって作成されることができ、ARコンテンツ40と相互作用し、それを表示するための適切な表面およびメトリックが、再マップまたはモデル化する必要なく、ユーザ30または他のユーザによる将来的読出のために、マッピングされ、パス可能世界モジュール38内に記憶されることができる。いくつかの実施形態では、データ入力36は、パス可能世界モジュール38に、1つ以上の固定要素のうちのどの固定要素42が利用可能か、どのARコンテンツ40が固定要素42上に最後に設置されたか、およびその同一コンテンツを表示すべきかどうか(そのようなARコンテンツは、ユーザが特定のパス可能世界モデルを視認しているかどうかにかかわらず、「持続的」コンテンツである)を示すための地理的場所、ユーザ識別、および現在のアクティビティ等の入力である。
オブジェクトが固定されるべきと見なされる、実施形態でも、パス可能世界モジュール38は、物理的世界の変化の可能性を考慮するために、随時、更新されてもよい。固定されるオブジェクトのモデルは、非常に低周波数で更新されてもよい。物理的世界内の他のオブジェクトは、移動している、または別様に、固定されると見なされなくてもよい。AR場面を現実的感覚を伴ってレンダリングするために、ARシステムは、固定されるオブジェクトを更新するために使用されるものよりはるかに高い周波数で、これらの非固定オブジェクトの位置を更新してもよい。物理的世界内のオブジェクトの全ての正確な追跡を可能にするために、ARシステムは、1つ以上の画像センサを含む、複数のセンサからの情報を引き出してもよい。
図3Bは、視認光学系アセンブリ48と、付帯する随意のコンポーネントとの概略図である。具体的構成は、下記の図21に説明される。ユーザの眼49に対して配向されると、いくつかの実施形態では、2つの眼追跡カメラ50は、眼形状、眼瞼オクルージョン、瞳孔方向、およびユーザの眼49上の閃光等のユーザの眼49のメトリックを検出する。いくつかの実施形態では、センサのうちの1つは、飛行時間センサ等の深度センサ51であって、信号を世界に放出し、近隣のオブジェクトからのそれらの信号の反射を検出し、所与のオブジェクトまでの距離を決定してもよい。深度センサは、例えば、オブジェクトが、それらのオブジェクトの運動またはユーザの姿勢の変化のいずれかの結果として、ユーザの視野に進入したかどうかを迅速に決定し得る。しかしながら、ユーザの視野内のオブジェクトの位置についての情報が、代替として、または加えて、他のセンサを用いて収集されてもよい。いくつかの実施形態では、世界カメラ52は、周辺視野より大きいビューを記録し、環境32をマッピングし、ARコンテンツに影響を及ぼし得る、入力を検出する。いくつかの実施形態では、世界カメラ52および/またはカメラ53は、グレースケールおよび/またはカラー画像センサであってもよく、これは、グレースケールおよび/またはカラー画像フレームを、固定された時間インターバルにおいて出力してもよい。カメラ53はさらに、ユーザの視野内の物理的世界画像を具体的時間に捕捉してもよい。フレームベースの画像センサのピクセルは、その値が不変である場合でも、反復的にサンプリングされてもよい。世界カメラ52、カメラ53、および深度センサ51はそれぞれ、54、55、および56の個別の視野を有し、図3Aに描写される物理的世界環境32等の物理的世界場面からのデータを収集および記録する。
慣性測定ユニット57は、視認光学系アセンブリ48の移動および/または配向を決定してもよい。いくつかの実施形態では、各コンポーネントは、少なくとも1つの他のコンポーネントに動作可能に結合される。例えば、深度センサ51は、眼追跡カメラ50に動作可能に結合され、ユーザの眼49が見ている、物理的世界内の点および/または領域の実際の距離を確認してもよい。
視認光学系アセンブリ48は、図3Bに図示されるコンポーネントのうちのいくつかを含んでもよいことを理解されたい。例えば、視認光学系アセンブリ48は、異なる数のコンポーネントを含んでもよい。いくつかの実施形態では、例えば、視認光学系アセンブリ48は、描写される4つの世界カメラの代わりに、1つの世界カメラ52、2つの世界カメラ52、またはそれを上回る世界カメラを含んでもよい。代替として、または加えて、カメラ52および53は、その完全視野の可視光画像を捕捉する必要はない。視認光学系アセンブリ48は、他のタイプのコンポーネントを含んでもよい。いくつかの実施形態では、視認光学系アセンブリ48は、1つ以上の動的視覚センサ(DVS)を含んでもよく、そのピクセルは、閾値を超える光強度の相対的変化に非同期的に応答してもよい。
いくつかの実施形態では、視認光学系アセンブリ48は、飛行時間情報に基づく、深度センサ51を含まなくてもよい。いくつかの実施形態では、例えば、視認光学系アセンブリ48は、1つ以上のプレノプティックカメラを含んでもよく、そのピクセルは、光強度だけではなく、また、入射光の角度も捕捉してもよい。例えば、プレノプティックカメラは、透過性回折マスク(TDM)でオーバーレイされた画像センサを含んでもよい。代替として、または加えて、プレノプティックカメラは、角度感知ピクセルおよび/または位相検出自動焦点ピクセル(PDAF)および/またはマイクロレンズアレイ(MLA)を含有する、画像センサを含んでもよい。そのようなセンサは、深度センサ51の代わりに、またはそれに加え、深度情報のソースとしての役割を果たし得る。
また、図3Bにおけるコンポーネントの構成は、実施例として図示されることを理解されたい。視認光学系アセンブリ48は、ユーザが特定のセットのコンポーネントのために最大視野を有し得るように、任意の好適な構成を伴うコンポーネントを含んでもよい。例えば、視認光学系アセンブリ48が、1つの世界カメラ52を有する場合、世界カメラは、側面上の代わりに、視認光学系アセンブリの中心領域内に設置されてもよい。
視認光学系アセンブリ48内のこれらのセンサからの情報は、システム内のプロセッサのうちの1つ以上のものに結合されてもよい。プロセッサは、ユーザに物理的世界内のオブジェクトと相互作用する仮想コンテンツを知覚させるようにレンダリングされ得る、データを生成してもよい。そのレンダリングは、物理的および仮想オブジェクトの両方を描写する画像データを生成することを含む、任意の好適な方法で実装されてもよい。他の実施形態では、物理的および仮想コンテンツは、ユーザがそれを通して物理的世界を見る、ディスプレイデバイスの不透明度を変調させることによって、1つの場面内に描写されてもよい。不透明度は、仮想オブジェクトの外観を作成し、また、ユーザに、仮想オブジェクトによってオクルードされる、物理的世界内のオブジェクトが見えないように遮断するように、制御されてもよい。いくつかの実施形態では、画像データは、ユーザインターフェースを通して視認され得る、物理的世界と現実的に相互作用するように修正され得る、仮想コンテンツのみを含んでもよい(例えば、コンテンツをクリッピングし、オクルージョンを考慮する)。コンテンツがユーザに提示される方法にかかわらず、物理的世界のモデルは、仮想オブジェクトの形状、位置、運動、および可視性を含む、物理的オブジェクトによって影響され得る、仮想オブジェクトの特性が、正しく算出され得るように使用されてもよい。
物理的世界のモデルは、ユーザのウェアラブルデバイス上のセンサから収集されたデータから作成されてもよい。いくつかの実施形態では、モデルは、ユーザの全てから遠隔の(かつ「クラウド内」にあり得る)コンピューティングデバイス内に集約され得る、複数のユーザによって収集されたデータから作成されてもよい。
いくつかの実施形態では、センサのうちの少なくとも1つは、コンパクトかつ低電力のコンポーネントを使用して、短待ち時間を伴って、高周波数で、場面内の物理的オブジェクト、特に、非固定オブジェクトについての情報を入手するように構成されてもよい。そのセンサは、パッチ追跡を採用して、データ出力の量を限定してもよい。
図4は、いくつかの実施形態による、画像感知システム400を描写する。画像感知システム400は、画像センサ402を含んでもよく、これは、画像アレイ404を含んでもよく、これは、複数のピクセルを含有してもよく、それぞれ、従来の画像センサにおけるように、光に応答する。センサ402はさらに、各ピクセルにアクセスするための回路網を含んでもよい。ピクセルにアクセスすることは、そのピクセルによって生成された入射光についての情報を取得することを伴い得る。代替として、または加えて、ピクセルにアクセスすることは、あるイベントの検出に応じて、出力のみを提供するようにそれを構成すること等によって、そのピクセルを制御することを伴い得る。
図示される実施形態では、画像アレイ404は、ピクセルの複数の行および列を伴う、アレイとして構成される。そのような実施形態では、アクセス回路網は、行アドレスエンコーダ/デコーダ406と、列アドレスエンコーダ/デコーダ408として実装されてもよい。画像センサ402はさらに、アクセス回路網への入力を生成し、情報が画像アレイ404内のピクセルから読み取られる、タイミングおよび順序を制御する、回路網を含有してもよい。図示される実施形態では、その回路網は、パッチ追跡エンジン410である。各行内のピクセルによって捕捉された画像情報を連続的に出力し得る、従来の画像センサと対照的に、画像センサ402は、規定されたパッチ内の画像情報を出力するように制御されてもよい。さらに、画像アレイに対するそれらのパッチの場所は、経時的に変化してもよい。図示される実施形態では、パッチ追跡エンジン410は、画像アレイアクセス情報を出力し、パッチの場所に対応する、画像アレイ404の部分からの画像情報の出力を制御してもよく、アクセス情報は環境内のオブジェクトの運動および/またはそれらのオブジェクトに対する画像センサの運動の推定値に基づいて、動的に変化してもよい。
いくつかの実施形態では、画像センサ402は、ピクセルに関する画像性質(例えば、強度)の変化が存在するときのみ、画像情報がセンサによって提供されるように、動的視覚センサ(DVS)の機能を有してもよい。例えば、画像センサ402は、ピクセルのオンおよびオフ状態を定義する、1つ以上の閾値を適用してもよい。画像センサは、ピクセルが状態を変化させたことを検出し、状態を変化させた、それらのピクセルのみ、またはパッチ内のそれらのピクセルのみに関して、出力を選択的に提供してもよい。これらの出力は、アレイ内の全てのピクセルの読取の一部としてではなく、それらが検出されるにつれて、非同期的に行われてもよい。出力は、例えば、ピクセルアドレス(例えば、行および列)およびイベントのタイプ(オンまたはオフ)を含み得る、アドレス-イベント表現(AER)418の形態であってもよい。オンイベントは、個別のピクセルアドレスにおけるピクセルセルが、光強度の増加を感知することを示し得、オフイベントは、個別のピクセルアドレス内のピクセルセルが、光強度の減少を感知することを示し得る。増加または減少は、絶対レベルに対するものであってもよい、またはピクセルからの最後の出力におけるレベルに対する変化であってもよい。その変化は、例えば、固定オフセットとして、またはピクセルからの最後の出力における値のパーセンテージとして、表されてもよい。
パッチ追跡に関連するDVS技法の使用は、XRシステムにおいて使用するために好適な画像センサを可能にし得る。画像センサ内で組み合わせられると、生成されるデータの量は、パッチ内にあって、イベントの出力をトリガするであろう、変化を検出する、ピクセルセルからのデータに限定され得る。
いくつかのシナリオでは、高分解能画像情報が、望ましい。しかしながら、高分解能画像情報を生成するために、百万ピクセルを上回るセルを伴う、大センサは、DVS技法が使用されるとき、大量の画像情報を生成し得る。本発明者らは、DVSセンサが、背景内の移動または追跡されているオブジェクトの運動の結果とするもの以外の画像の変化を反映させる、多数のイベントを生産し得ることを認識および理解している。現在、DVSセンサの分解能は、生成されるイベントの数を限定するように、1MBを下回るように、例えば、128×128、240×180、および346×260に限定される。そのようなセンサは、オブジェクトを追跡するための分解能を犠牲にし、例えば、手の微細な指の移動を検出しない場合がある。さらに、画像センサが、画像情報を他のフォーマットにおいて出力する場合、センサアレイの分解能を管理可能な数のイベントを出力するように限定することはまた、DVS機能とともに、高分解能画像フレームを生成するための画像センサの使用を限定し得る。本明細書に説明されるようなセンサは、いくつかの実施形態では、最大8メガピクセルまたは12メガピクセルを含む、VGAより高い分解能を有し得る。それでもなお、本明細書に説明されるようなパッチ追跡が、1秒あたり画像センサによって出力されるイベントの数を限定するために使用されてもよい。結果として、少なくとも2つのモードで動作する、画像センサが、有効にされてもよい。例えば、メガピクセル分解能を伴う画像センサは、追跡されている具体的パッチ内のイベントを出力する、第1のモードで動作してもよい。第2のモードでは、高分解能画像フレームまたは画像フレームの一部を出力してもよい。そのような画像センサは、システムの機能に基づいて、これらの異なるモードで動作するようにXRシステム内で制御されてもよい。
画像アレイ404は、アレイ内に配列される、複数のピクセルセル500を含んでもよい。図5Aは、ピクセルセル500の実施例を描写し、これは、本実施形態では、DVS技法を実装する、結像アレイにおいて使用するために構成される。ピクセルセル500は、感光回路502と、差分回路506と、比較器508とを含んでもよい。感光回路502は、光ダイオードに衝打する光を測定可能電気信号に変換する、光ダイオード504を含んでもよい。本実施例では、変換は、電気電流Iに行われる。トランスコンダクタンス増幅器510は、光電流Iを電圧に変換する。その変換は、log Iの関数等に従って、線形または非線形であってもよい。具体的伝達関数にかかわらず、トランスコンダクタンス増幅器510の出力は、光ダイオード504において検出された光の量を示す。光ダイオードが、実施例として図示されるが、入射光に応答して測定可能出力を生産する、他の光感知コンポーネントが、光ダイオードの代わりに、または加えて、感光回路内に実装されてもよいことを理解されたい。
図5Aの実施形態では、ピクセルの出力が十分に変化したかどうかを決定し、そのピクセルセルに関する出力をトリガするための回路網が、ピクセル自体の中に組み込まれる。本実施例では、その機能は、差分回路506と、比較器508とによって実装される。差分回路506は、例えば、差分回路の出力を平衡し、イベントの生成後、レベルをリセットすることによって、ピクセルセル間のDC不整合を低減させるように構成されてもよい。本実施例では、差分回路506は、最後の出力以降の光ダイオード504の出力の変化を示す、出力を生産するように構成される。差分回路は、利得-Aを有する、増幅器512と、ネットワーク内に接続される単一回路要素または1つ以上のコンデンサとして実装され得る、コンデンサ514と、リセットスイッチ516とを含んでもよい。
動作時、ピクセルセルは、スイッチ516を瞬間的に閉鎖することによって、リセットされるであろう。そのようなリセットは、回路の動作の開始時およびイベントが検出された以降、随時、生じてもよい。ピクセル500が、リセットされると、コンデンサ514を横断した電圧は、トランスコンダクタンス増幅器510の出力から減算されると、ゼロ電圧が増幅器512の入力に生じるようなものとなる。スイッチ516が、開放すると、トランスコンダクタンス増幅器510の出力は、コンデンサ514を横断した電圧降下と組み合わせて、ゼロ電圧が増幅器512の入力に存在するようになるであろう。トランスコンダクタンス増幅器510の出力は、光ダイオード504に衝打する光の量の変化の結果として変化する。トランスコンダクタンス増幅器510の出力が、増加または減少すると、増幅器512の出力は、増幅器512の利得によって増幅された変化量だけ正または負に揺動するであろう。
比較器508は、イベントが生成されるかどうかと、例えば、差分回路の出力電圧Vと所定の閾値電圧Cを比較することによって、イベントの符号とを決定してもよい。いくつかの実施形態では、比較器508は、トランジスタを備える、2つの比較器を含んでもよく、一方の対は、増幅器512の出力が正の変化を示すとき動作してもよく、増加変化(オンイベント)を検出してもよく、他方の比較器は、増幅器512の出力が負の変化を示すときに動作してもよく、減少変化(オフイベント)を検出してもよい。しかしながら、増幅器512は、負の利得を有してもよいことを理解されたい。そのような実施形態では、トランスコンダクタンス増幅器510の出力の増加は、増幅器512の出力における負の電圧変化として検出され得る。同様に、正および負の電圧は、接地に対するものである、または任意の好適な基準レベルであってもよいことを理解されたい。それにかかわらず、閾値電圧Cの値は、トランジスタの特性(例えば、トランジスタサイズ、トランジスタ閾値電圧)によって、および/または比較器508に適用され得る基準電圧の値によって制御されてもよい。
図5Bは、ピクセルセル500の経時的tのイベント出力(オン、オフ)の実施例を描写する。図示される実施例では、時間t1において、差分回路の出力は、V1の値を有し、時間t2において、差分回路の出力は、V2の値を有し、時間t3において、差分回路の出力は、V3の値を有する。時間t1と時間t2との間では、光ダイオードは、光強度のある程度の増加を感知するが、Vの変化が閾値電圧Cの値を超えないため、ピクセルセルは、イベントを出力しない。時間t2では、ピクセルセルは、V2が閾値電圧Cの値だけV1より大きいため、オンイベントを出力する。時間t2と時間t3との間では、光ダイオードは、光強度のある程度の減少を感知するが、Vの変化が閾値電圧Cの値を超えないため、ピクセルセルは、イベントを出力しない。時間t3では、V3が閾値電圧Cの値だけV2未満であるため、ピクセルセルは、オフイベントを出力する。
各イベントは、AER418における出力をトリガし得る。出力は、例えば、イベントがオンまたはオフイベントであるかどうかのインジケーションと、その行および列等のピクセルの識別とを含んでもよい。他の情報が、代替として、または加えて、出力とともに含まれてもよい。例えば、タイムスタンプが、含まれ得、これは、後の伝送または処理のために、イベントが待ち行列に入れられる場合、有用であり得る。別の実施例として、増幅器510の出力における電流レベルが、含まれ得る。そのような情報は、随意に、例えば、さらなる処理が、オブジェクトの運動を検出することに加え、実施されるべきである場合、含まれ得る。
イベント出力の周波数、したがって、ピクセルセルの感度は、閾値電圧Cの値によって制御されてもよいことを理解されたい。例えば、イベント出力の周波数は、閾値電圧Cの値を増加させることによって低減される、または閾値電圧Cを低減させることによって増加されてもよい。また、閾値電圧Cは、例えば、オンイベントを検出するための比較器およびオフイベントを検出するための比較器に関する異なる基準電圧を設定することによって、オンイベントおよびオフイベントに関して異なり得ることを理解されたい。また、ピクセルセルがまた、イベントの検出を示す、符号信号の代わりに、またはそれに加え、光強度変化のサイズを示す、値を出力してもよいことを理解されたい。
図5Aおよび5Bのピクセルセル500は、いくつかの実施形態による、実施例として図示される。他の設計もまた、ピクセルセルのために好適であり得る。いくつかの実施形態では、ピクセルセルは、感光回路と、差分回路とを含むが、比較器回路を1つ以上の他のピクセルセルと共有してもよい。いくつかの実施形態では、ピクセルセルは、変化の値を計算するように構成される、回路網、例えば、ピクセルレベルにおける能動ピクセルセンサを含んでもよい。
イベントがピクセルセル毎に検出される様式にかかわらず、イベントの検出のみに応じて出力するようにピクセルを構成する能力は、非固定(すなわち、移動可能な)オブジェクトの位置のモデルを維持するために要求される、情報の量を限定するために使用されてもよい。例えば、パッチ内のピクセルは、比較的に小変化が生じるとき、閾値電圧Cがトリガされるように設定されてもよい。パッチ外の他のピクセルは、3または5倍等、より大きい閾値を有してもよい。いくつかの実施形態では、任意のパッチ外のピクセルに関する閾値電圧Cは、ピクセルが、事実上、無効にされ、変化の量にかかわらず、任意の出力を生産しないように大きく設定されてもよい。他の実施形態では、パッチ外のピクセルは、他の方法において無効にされてもよい。そのような実施形態では、閾値電圧は、全てのピクセルに関して固定されてもよいが、ピクセルは、それらがパッチ内にあるかどうかに基づいて、選択的に有効または無効にされてもよい。
さらに他の実施形態では、1つ以上のピクセルに関する閾値電圧は、画像アレイから出力されたデータの量を変調させるように、適応的に設定されてもよい。例えば、ARシステムは、1秒あたりある数のイベントを処理するための処理容量を有し得る。いくつかまたは全てのピクセルに関する閾値は、出力されている1秒あたりのイベントの数が上限を超えるとき、増加されてもよい。代替として、または加えて、閾値は、1秒あたりのイベントの数が下限を下回って降下したとき、降下され、より正確な処理のために、より多くのデータを有効にし得る。1秒あたりのイベントの数は、具体的実施例として、200~2,000イベントであってもよい。そのようなイベントの数は、例えば、1秒あたり3千万以上のピクセル値を構成するであろう、画像センサから走査出力されるピクセル値の全ての処理と比較して、1秒あたり処理されるべきデータの数の実質的低減を構成する。そのイベントの数は、より少ないが、それでもなお、1秒あたり数万のピクセル値またはそれを上回り得る、パッチ内のピクセルのみの処理と比較して、さらなる低減である。
複数のピクセル毎に閾値電圧を有効にし、および/または設定するための制御信号が、任意の好適な方法において生成されてもよい。しかしながら、図示される実施形態では、それらの制御信号は、パッチ追跡エンジン410によって、または処理モジュール72または他のプロセッサ内の処理に基づいて、設定される。
図4に戻って参照すると、画像感知システム400は、パッチ追跡エンジン410が、パッチを実装するように、少なくとも、受信された入力に基づいて、有効および/または無効にされるべき画像アレイ404の少なくとも1つの領域を動的に選択し得るように、任意の好適なコンポーネントからの入力を受信してもよい。パッチ追跡エンジン410は、パッチの1つ以上のパラメータを記憶する、メモリを有する、デジタル処理回路網であってもよい。パラメータは、例えば、パッチの境界であってもよく、画像アレイの運動とパッチと関連付けられる移動可能なオブジェクトの画像の画像アレイ内の運動との間のスケール係数についての情報等の他の情報を含んでもよい。パッチ追跡エンジン410はまた、計算を記憶された値および入力として供給される他の測定された値上で実施するように構成される、回路網を含んでもよい。
図示される実施形態では、パッチ追跡エンジン410は、入力として、現在のパッチの指定を受信する。パッチは、パッチの行および列アドレスの範囲を規定すること等によって、画像アレイ404内のそのサイズおよび位置に基づいて指定されてもよい。そのような仕様は、物理的世界についての情報を処理する、処理モジュール72(図2)または他のコンポーネントの出力として提供されてもよい。処理モジュール72は、物理的世界に対する適切な外観を伴って仮想オブジェクトをレンダリングするために、例えば、物理的世界内の各移動可能なオブジェクトまたは追跡されている移動可能なオブジェクトのサブセットの現在の場所を包含するようにパッチを指定してもよい。例えば、AR場面が、仮想オブジェクトとして、移動する玩具車等の物理的オブジェクト上に平衡される、玩具人形を含むべき場合、パッチは、その玩具車を包含するように指定されてもよい。パッチは、現実的AR場面をレンダリングするために、そのオブジェクトについての最新情報を有する必要性があまり存在し得ないため、背景内で移動している別の玩具車に関しては指定され得ない。
パッチが選択される方法にかかわらず、パッチの現在の位置についての情報は、パッチ追跡エンジン410に供給されてもよい。いくつかの実施形態では、パッチは、パッチの場所が、単に、開始および終了行および列として規定され得るように、矩形であってもよい。他の実施形態では、パッチは、円形等の他の形状を有してもよく、パッチは、中心点および半径等によって、他の方法で規定されてもよい。
いくつかの実施形態では、軌道情報もまた、パッチについて供給されてもよい。軌道は、例えば、画像アレイ404の座標に対するパッチの運動を規定し得る。処理モジュール72は、例えば、物理的世界内の移動可能なオブジェクトの運動および/または物理的世界に対する画像アレイ404の運動のモデルを構築してもよい。一方または両方の運動は、オブジェクトの画像が投影される、画像アレイ404内の場所に影響を及ぼし得るにつれて、画像アレイ404内のパッチの軌道が、一方または両方に基づいて算出されてもよい。軌道は、線形、二次、三次、または他の多項式方程式のパラメータ等の任意の好適な方法で規定されてもよい。
他の実施形態では、パッチ追跡エンジン410は、物理的世界についての情報を提供するセンサからの入力に基づいて、パッチの場所を動的に算出してもよい。センサからの情報は、直接、センサから供給されてもよい。代替として、または加えて、センサ情報は、パッチ追跡エンジン410に供給される前に、物理的世界についての情報を抽出するために処理されてもよい。抽出された情報は、例えば、物理的世界に対する画像アレイ404の運動、画像アレイ404とその画像がパッチ内に該当するオブジェクトとの間の距離、または画像アレイ404および/またはオブジェクトが移動するにつれて、画像アレイ404内のパッチと物理的世界内のオブジェクトの画像を動的に整合させるために使用され得る、他の情報を含んでもよい。
入力コンポーネントの実施例は、画像センサ412と、慣性センサ414とを含んでもよい。画像センサ412の実施例は、眼追跡カメラ50、深度センサ51、世界カメラ52、および/またはカメラ52を含んでもよい。慣性センサ414の実施例は、慣性測定ユニット57を含んでもよい。いくつかの実施形態では、入力コンポーネントは、データを比較的に高レートで提供するように選択されてもよい。慣性測定ユニット57は、例えば、800~1,200測定/秒等の200~2,000測定/秒の出力レートを有してもよい。パッチ位置も、同様に高レートで更新されてもよい。慣性測定ユニット57をパッチ追跡エンジン410への入力のソースとして使用することによって、パッチの場所は、1つの具体的実施例として、800~1,200回/秒、更新され得る。このように、移動可能なオブジェクトは、処理される必要があるイベントの数を限定する、比較的に小パッチを使用して、高正確度を伴って追跡され得る。そのようなアプローチは、画像センサの相対的位置の変化と移動可能なオブジェクトとの間の非常に短待ち時間につながり得、同様に、望ましいユーザ体験を提供するように、仮想オブジェクトのレンダリングの更新の短待ち時間を伴う。
いくつかのシナリオでは、パッチを用いて追跡されている移動可能なオブジェクトは、物理的世界内の定常オブジェクトであってもよい。ARシステムは、例えば、物理的世界から撮影された複数の画像を分析することから定常オブジェクトを識別し、定常オブジェクトのうちの1つ以上のものの特徴を、画像センサをその上に有するウェアラブルデバイスの運動を決定するための基準点として選択してもよい。センサアレイに対するこれらの基準点の場所の頻繁かつ短待ち時間の更新は、ウェアラブルデバイスのユーザの頭部姿勢の頻繁かつ短待ち時間の算出を提供するために使用されてもよい。頭部姿勢が、ウェアラブル上のユーザインターフェースを介して、仮想オブジェクトを現実的にレンダリングするために使用され得るため、頭部姿勢の頻繁かつ短待ち時間の更新は、ARシステムのユーザ体験を改良する。したがって、パッチの位置を制御する、パッチ追跡エンジン410への入力を有することは、1つ以上の慣性測定ユニット等の高出力レートを伴うセンサのみから生じ、ARシステムの望ましいユーザ体験につながり得る。
しかしながら、いくつかの実施形態では、他の情報も、パッチ追跡エンジン410に供給され、それが、軌道を算出し、および/またはパッチに適用することを可能にしてもよい。本他の情報は、パス可能世界モジュール38および/またはマッピングされたメッシュモデル46等の記憶された情報416を含んでもよい。本情報は、物理的世界に対するオブジェクトの1つ以上の前の位置を、これらの前の位置の変化および/または前の位置に対する現在の位置の変化の考慮が、物理的世界内のオブジェクトの軌道を示し得、これが、次いで、画像アレイ404を横断してパッチの軌道にマッピングされ得るように示してもよい。物理的世界のモデル内の他の情報が、代替として、または加えて、使用されてもよい。例えば、移動可能なオブジェクトのサイズおよび/または画像アレイ404に対する距離または位置に関する他の情報が、そのオブジェクトと関連付けられる画像アレイ404を横断したパッチの場所または軌道のいずれかを算出するために使用されてもよい。
軌道が決定される様式にかかわらず、パッチ追跡エンジン410は、その軌道を適用し、1回/秒または800回/秒超より高速等、高レートで画像アレイ404内のパッチの更新された場所を算出してもよい。レートは、いくつかの実施形態では、2,000回/秒未満であるように、処理能力によって限定され得る。
移動可能なオブジェクトの変化を追跡するための処理は、完全未満の物理的世界を再構築することであり得ることを理解されたい。しかしながら、30秒毎または5秒毎等、移動可能なオブジェクトの位置における更新間のインターバルより長いインターバルで、物理的世界の再構築が存在してもよい。追跡すべきオブジェクトの場所およびそれらのオブジェクトについての情報を捕捉するであろうパッチの場所は、物理的世界の再構築が存在するとき、再計算されてもよい。
図4は、パッチを動的に生成することと、そのパッチ内からの画像情報の選択的出力を制御することとの両方のための処理回路網が、アレイから出力された画像情報が選択された情報に限定されるように、直接、画像アレイ404を制御するように構成される、実施形態を図示する。そのような回路網は、例えば、画像アレイ404を格納する、同一半導体チップの中に統合されてもよい、または画像アレイ404のための別個のコントローラチップに統合されてもよい。しかしながら、画像アレイ404のための制御信号を生成する回路網は、XRシステム全体を通して分散されてもよいことを理解されたい。例えば、機能のいくつかまたは全ては、処理モジュール72内のプログラミングまたはシステム内の他のプロセッサによって実施されてもよい。
画像感知システム400は、複数のピクセル毎に、画像情報を出力してもよい。画像情報の各ピクセルは、画像アレイ404のピクセルセルのうちの1つに対応し得る。画像感知システム400から出力される画像情報は、パッチ追跡エンジン410によって選択された画像アレイ404の少なくとも1つの領域に対応する、1つ以上のパッチ毎の画像情報であり得る。いくつかの実施形態では、画像アレイ404の各ピクセルが、図5Aに図示されるものと異なる構成を有するとき等、出力された画像情報内のピクセルは、光強度の変化が1つ以上のパッチ内の画像センサ400によって検出されたピクセルを識別し得る。
いくつかの実施形態では、画像感知システム400から出力された画像情報は、パッチ追跡エンジン410によって選択された画像アレイの少なくとも1つの領域に対応する、1つ以上のパッチのそれぞれ外のピクセルに関する画像情報であり得る。例えば、シカが、流れる川を伴う、物理的世界内で走っているとし得る。川の波の詳細は、着目され得ないが、画像アレイ402のピクセルセルをトリガし得る。パッチ追跡エンジン410は、川を包囲するパッチを作成し、川を包囲するパッチに対応する、画像アレイ402の一部を無効にしてもよい。
変化されたピクセルの識別に基づいて、さらなる処理が、実施されてもよい。例えば、変化されたピクセルによって結像されている物理的世界の部分に対応する、世界モデルの部分は、更新されてもよい。これらの更新は、他のセンサを用いて収集された情報に基づいて実施されてもよい。いくつかの実施形態では、さらなる処理が、パッチ内の複数の変化されたピクセル上で調整される、またはそれによってトリガされてもよい。例えば、更新は、いったんパッチ内の10%またはある他の閾値量のピクセルが、変化を検出すると、実施されてもよい。
いくつかの実施形態では、他のフォーマットにおける画像情報が、画像センサから出力されてもよく、変化情報と組み合わせて使用され、世界モデルへの更新を行ってもよい。いくつかの実施形態では、画像センサから出力される画像情報のフォーマットは、VRシステムの動作の間、随時、変化してもよい。いくつかの実施形態では、例えば、ピクセルセル500は、ある時は、比較器508内で生産されるような差分出力を生産するように動作されてもよい。増幅器510の出力は、他の時には、光ダイオード504上に入射する光の大きさを出力するように切替可能であってもよい。例えば、増幅器510の出力は、感知ラインに切替可能に接続されてもよく、これは、ひいては、増幅器510の出力の大きさに基づいて、入射光の大きさのデジタルインジケーションを提供し得る、A/Dコンバータに接続される。
画像センサは、本構成では、ARシステムの一部として動作され、大抵の場合、差分的に出力し、閾値を上回る変化が検出されるピクセルに関するイベントのみを出力する、または閾値を上回る変化が検出されるパッチ内のピクセルに関するイベントのみを出力してもよい。5~30秒毎等、周期的に、画像アレイ内の全てのピクセルに関する情報大きさを伴う、完全画像フレームが、出力されてもよい。短待ち時間および正確な処理が、このように達成され得、差分情報は、ユーザ知覚に影響を及ぼす可能性が最も高い変化が生じた世界モデルの選択された部分を迅速に更新するために使用される一方、完全画像は、世界モデルのより大きい部分をより多く更新するために使用されてもよい。世界モデルへの完全更新は、より低速のレートにおいてのみ生じるが、モデルを更新する際の任意の遅延は、AR場面のユーザの知覚に有意義に影響を及ぼし得ない。
画像センサの出力モードは、センサが、ピクセルのいくつかまたは全てに関する強度情報およびアレイ内のピクセルのいくつかまたは全てに関する変化のインジケーションのうちの1つ以上のものを出力するように、画像センサの動作全体を通して、随時、変化されてもよい。
パッチからの画像情報が、画像アレイから出力される情報を限定することによって、画像センサから選択的に出力されることは、要件ではない。いくつかの実施形態では、画像情報は、画像アレイ内の全てのピクセルによって出力されてもよく、アレイの具体的領域についての情報のみが、画像センサから出力されてもよい。図6は、いくつかの実施形態による、画像センサ600を描写する。画像センサ600は、画像アレイ602を含んでもよい。本実施形態では、画像アレイ602は、ピクセル値の行および列を走査出力する、従来の画像アレイに類似してもよい。そのような画像アレイの動作は、他のコンポーネントによって適合されてもよい。画像センサ600はさらに、パッチ追跡エンジン604および/または比較器606を含んでもよい。画像センサ600は、出力610を画像プロセッサ608に提供してもよい。プロセッサ608は、例えば、処理モジュール72(図2)の一部であってもよい。
パッチ追跡エンジン604は、パッチ追跡エンジン410に類似する、構造および機能を有してもよい。これは、画像アレイ602の少なくとも1つの選択された領域を規定する信号を受信し、次いで、その領域によって表されるオブジェクトの画像の画像アレイ602内の、算出された軌道に基づいて、その領域の動的場所を規定する、制御信号を生成するように構成されてもよい。いくつかの実施形態では、パッチ追跡エンジン604は、領域または複数の領域に関する軌道情報を含み得る、画像アレイ602の少なくとも1つの選択された領域を規定する、信号を受信してもよい。パッチ追跡エンジン604は、軌道情報に基づいて、少なくとも1つの選択された領域内のピクセルセルを動的に識別する、算出を実施するように構成されてもよい。パッチ追跡エンジン604の実装における変形例も、可能性として考えられる。例えば、パッチ追跡エンジンは、画像アレイ602の運動および/またはパッチと関連付けられるオブジェクトの投影された運動を示す、センサに基づいて、パッチの場所を更新してもよい。
図6に図示される実施形態では、画像センサ600は、識別されたパッチ内のピクセルに関する差分情報を出力するように構成される。比較器606は、パッチ内のピクセルを識別する、制御信号を、パッチ追跡エンジン604から受信するように構成されてもよい。比較器606は、パッチ追跡エンジン604によって示されるようなパッチ内のアドレスを有する、画像アレイ602から出力されているピクセルに選択的に作用してもよい。比較器606は、画像アレイ602の少なくとも1つの領域によって検出される、感知される光の変化を示す、信号を生成するように、ピクセルセルに作用してもよい。実装の一実施例として、比較器606は、アレイ内のピクセルセルのリセット値を記憶する、メモリ要素を含有してもよい。それらのピクセルの現在の値が、画像アレイ602から走査出力されるにつれて、比較器606内の回路網は、記憶された値と現在の値を比較し、差異が閾値を超えると、インジケーションを出力してもよい。デジタル回路網が、例えば、値を記憶し、そのような比較を行うために使用されてもよい。本実施例では、画像センサ600の出力は、画像センサ400の出力のように処理されてもよい。
いくつかの実施形態では、画像アレイ602、パッチ追跡エンジン604、および比較器606は、CMOS集積回路等の単一集積回路内に実装されてもよい。いくつかの実施形態では、画像アレイ602は、単一集積回路内に実装されてもよい。パッチ追跡エンジン604および比較器606は、例えば、画像アレイ602のためのドライバとして構成される、第2の単一集積回路内に実装されてもよい。代替として、または加えて、パッチ追跡エンジンおよび/または比較器606の機能のいくつかまたは全ては、ARシステム内の他のデジタルプロセッサに分散されてもよい。
他の構成または処理回路網もまた、可能性として考えられる。図7は、いくつかの実施形態による、画像センサ700を描写する。画像センサ700は、画像アレイ702を含んでもよい。本実施形態では、画像アレイ702は、図5Aにおけるピクセル500に関して示されるような差分構成を伴う、ピクセルセルを有してもよい。しかしながら、本明細書の実施形態は、差分ピクセルセルに限定されず、パッチ追跡は、強度情報を出力する、画像センサを用いて実装されてもよい。
図7の図示される実施形態では、パッチ追跡エンジン704は、追跡されている1つ以上のパッチ内のピクセルセルのアドレスを示す、制御信号を生産する。パッチ追跡エンジン704は、パッチ追跡エンジン604のように構築され、動作してもよい。ここでは、パッチ追跡エンジン704は、制御信号をピクセルフィルタ706に提供し、これは、出力710に、パッチ内のそれらのピクセルのみからの画像情報を通過させる。示されるように、出力710は、画像プロセッサ708に結合され、これはさらに、本明細書に説明されるような技法を使用して、または他の好適な方法において、パッチ内のピクセルに関する画像情報を処理してもよい。
さらなる変形例が、図8に図示され、これは、いくつかの実施形態による、画像センサ800を描写する。画像センサ800は、画像アレイ802を含んでもよく、これは、ピクセルに関する強度値を走査出力する、従来の画像アレイであってもよい。その画像アレイは、比較器806の使用を通して、本明細書に説明されるような差分画像情報を提供するように適合されてもよい。比較器806は、比較器606と同様に、ピクセルに関する記憶された値に基づいて、差異情報を算出してもよい。それらの差異値の選択されたものは、ピクセルフィルタ808によって、出力812に通過されてもよい。ピクセルフィルタ706と同様に、ピクセルフィルタ808は、パッチ追跡エンジン804からの制御入力を受信してもよい。パッチ追跡エンジン804は、パッチ追跡エンジン704に類似してもよい。出力812は、画像プロセッサ810に結合されてもよい。画像センサ800の上記に述べられたコンポーネントのいくつかまたは全ては、単一集積回路内に実装されてもよい。代替として、コンポーネントは、1つ以上の集積回路または他のコンポーネントを横断して分散されてもよい。
本明細書に説明されるような画像センサは、拡張現実システムの一部として動作され、移動可能なオブジェクトについての情報または物理的環境についての情報と組み合わせて仮想オブジェクトの画像を現実的にレンダリングする際に有用な物理的世界についての他の情報を維持してもよい。図9は、いくつかの実施形態による、画像感知のための方法900を描写する。
方法900の少なくとも一部は、例えば、画像センサ400、600、700、または800を含む、画像センサを動作させるために実施されてもよい。方法900は、例えば、画像センサ412、慣性センサ414、および記憶された情報416を含む、1つ以上の入力からの画像情報を受信するステップ(行為902)から開始してもよい。方法900は、少なくとも部分的に、受信された情報に基づいて、画像感知システムの画像出力上の1つ以上のパッチを識別するステップ(行為904)を含んでもよい。行為904の実施例は、図10に図示される。いくつかの実施形態では、方法900は、1つ以上のパッチに関する移動する軌道を算出するステップ(行為906)を含んでもよい。行為906の実施例は、図11に図示される。
方法900はまた、少なくとも部分的に、識別された1つ以上のパッチおよび/またはその推定される移動する軌道に基づいて、画像感知システムを設定するステップ(行為908)を含んでもよい。設定は、例えば、比較器606、ピクセルフィルタ706等を通して、少なくとも部分的に、識別された1つ以上のパッチおよび/またはその推定される移動する軌道に基づいて、画像感知システムのピクセルセルの一部を有効にすることによって達成されてもよい。いくつかの実施形態では、比較器606は、画像上の選択されたパッチに対応するピクセルセルに関する、第1の基準電圧値と、画像上の任意の選択されたパッチに対応しないピクセルセルに関する、第2の基準電圧値とを受信してもよい。比較器606は、第2の基準電圧を伴う比較器セルを有する、ピクセルセルによって感知される合理的光強度変化が、ピクセルセルによる出力をもたらし得ないように、第2の基準電圧を第1の基準電圧よりはるかに高くなるように設定してもよい。いくつかの実施形態では、ピクセルフィルタ706は、画像上の任意の選択されたパッチに対応しないアドレス(例えば、行および列)を伴う、ピクセルセルからの出力を無効にしてもよい。
図10は、いくつかの実施形態による、パッチ識別904を描写する。パッチ識別904は、少なくとも部分的に、色、光強度、到着角、深度、および意味論に基づいて、1つ以上の入力からの1つ以上の画像をセグメント化するステップ(行為1002)を含んでもよい。
パッチ識別904はまた、1つ以上の画像内の1つ以上のオブジェクトを認識するステップ(行為1004)を含んでもよい。いくつかの実施形態では、オブジェクト認識1004は、少なくとも部分的に、例えば、手、眼、顔特徴を含む、オブジェクトの所定の特徴に基づいてもよい。いくつかの実施形態では、オブジェクト認識1004は、1つ以上の仮想オブジェクトに基づいてもよい。例えば、仮想動物キャラクタが、物理的鉛筆上を歩行している。オブジェクト認識1004は、仮想動物キャラクタをオブジェクトとして標的化してもよい。いくつかの実施形態では、オブジェクト認識1004は、少なくとも部分的に、画像感知システムによって受信された人工知能(AI)訓練に基づいてもよい。例えば、画像感知システムは、異なるタイプおよび色におけるネコの画像、したがって、ネコの学習された特性を読み取ることによって訓練され、物理的世界内でネコを識別することが可能となり得る。
パッチ識別904は、1つ以上のオブジェクトに基づいて、パッチを生成するステップ(行為1006)を含んでもよい。いくつかの実施形態では、オブジェクトパッチ化1006は、1つ以上のオブジェクトに関する凸包または境界ボックスを算出することによって、パッチを生成してもよい。
図11は、いくつかの実施形態による、パッチ軌道推定906を描写する。パッチ軌道推定906は、1つ以上のパッチに関する経時的移動を予測するステップ(行為1102)を含んでもよい。1つ以上のパッチに関する移動は、例えば、移動するオブジェクトおよび/または移動するユーザを含む、複数の理由によって生じ得る。運動予測1102は、受信された画像および/または受信されたAI訓練に基づいて、移動するオブジェクトおよび/または移動するユーザに関する移動速度を導出するステップを含んでもよい。
パッチ軌道推定906は、少なくとも部分的に、予測される移動に基づいて、1つ以上のパッチに関する経時的軌道を算出するステップ(行為1104)を含んでもよい。いくつかの実施形態では、軌道は、運動下のオブジェクトが同一速度で同一方向に移動し続けるであろうと仮定して、一次線形方程式をモデル化することによって算出されてもよい。いくつかの実施形態では、軌道は、曲線適合によって、または、パターン検出を含む、ヒューリスティックを使用して、算出されてもよい。
図12および13は、パッチ軌道の計算において適用され得る、係数を図示する。図12は、移動可能なオブジェクトの実施例を描写し、これは、本実施例では、ARシステムのユーザに対して移動する、移動するオブジェクト1202(例えば、手)である。本実施例では、ユーザは、頭部搭載型ディスプレイ62の一部として、画像センサを装着している。本実施例では、ユーザの眼49は、画像アレイ1200が1つの視点1204に対する眼49に関する視野(FOV)を捕捉するように、真っ直ぐ見ている。オブジェクト1202は、FOV内にあって、したがって、アレイ1200内の対応するピクセルに強度変動を作成することによって現れる。
アレイ1200は、アレイ内に配列される、複数のピクセル1208を有する。手1202を追跡するシステムに関して、時間t0においてオブジェクト1202を包含するそのアレイ内のパッチ1206は、複数のピクセルの一部を含み得る。オブジェクト1202が、移動している場合、そのオブジェクトを捕捉するパッチの場所は、経時的に変化するであろう。その変化は、パッチ1206から後の時間において使用されるパッチXおよびYへのパッチ軌道内に捕捉され得る。
パッチ軌道は、行為906等において、パッチ内のオブジェクト、例えば、図示される実施例では、指先に関する特徴1210を識別することによって、推定されてもよい。運動ベクトル1212が、特徴に関して算出されてもよい。本実施例では、軌道は、一次線形方程式としてモデル化され、予測は、オブジェクト1202が、その同一パッチ軌道1214上で経時的に継続し、2つの連続時間のそれぞれにおける、パッチ場所XおよびYにつながるという仮定に基づく。
パッチ場所が変化するにつれて、移動するオブジェクト1202の画像は、パッチ内に留まる。画像情報は、パッチ内のピクセルを用いて集められた情報に限定されるが、その画像情報は、移動するオブジェクト1202の運動を表すために十分である。これは、画像情報が強度情報または差分回路によって生産されるような差分情報であるかどうかにかかわらず、該当するであろう。差分回路の場合、例えば、強度の増加を示すイベントが、移動するオブジェクト1202の画像がピクセルにわたって移動するにつれて生じ得る。逆に言えば、移動するオブジェクト1202の画像が、あるピクセルから通り過ぎると、強度の減少を示すイベントが、生じ得る。増加および減少イベントを伴う、ピクセルのパターンは、イベントを示す、比較的に少量のデータに起因して、短待ち時間を伴って、迅速に更新され得る、移動するオブジェクト1202の運動の信頼性があるインジケーションとして使用されてもよい。具体的実施例として、そのようなシステムは、ユーザの手を追跡し、仮想オブジェクトのレンダリングを改変し、ユーザが仮想オブジェクトと相互作用していることのユーザのための感覚を作成する、現実的XRシステムにつながり得る。
パッチの位置は、他の理由からも変化し得、その任意のものまたは全てが、軌道算出に反映され得る。1つのそのような他の変化は、ユーザが画像センサを装着しているときのユーザの移動である。図13は、ユーザおよび画像センサに関する変化する視点を作成する、移動するユーザの実施例を描写する。図13では、ユーザは、最初に、視点1302を伴って、オブジェクトを真っ直ぐ見ているとし得る。本構成では、画像アレイのピクセルアレイ1300は、ユーザの正面のオブジェクトを捕捉するであろう。ユーザの正面のオブジェクトは、パッチ1312内にあり得る。
ユーザは、次いで、その頭部を方向転換させること等によって、視点を変化させ得る。視点は、視点1304に変化し得る。以前にユーザの真正面にあった、オブジェクトが、移動しない場合でも、視点1304におけるユーザの視野内の異なる位置を有するであろう。また、ユーザによって装着される画像センサの視野内の異なる点、したがって、画像アレイ1300内の異なる位置にあるであろう。そのオブジェクトは、例えば、場所1314における、パッチ内に含有され得る。
ユーザが、その視点を視点1306にさらに変化させ、画像センサが、ユーザに伴って移動する場合、以前にユーザの真正面にあった、オブジェクトの場所は、ユーザによって装着される画像センサの視野内の異なる点、したがって、画像アレイ1300内の異なる位置で結像されるであろう。そのオブジェクトは、例えば、場所1316におけるパッチ内に含有され得る。
見られ得るように、ユーザが、その視点をさらに変化させるにつれて、オブジェクトを捕捉するために必要とされる、画像アレイ内のパッチの位置は、さらに移動する。場所1312から、場所1314、場所1316への本運動の軌道は、推定され、パッチの将来的位置を追跡するために使用されてもよい。
軌道は、他の方法で推定されてもよい。例えば、ユーザが、視点1302を有するとき、慣性センサを用いた測定は、ユーザの頭部の加速および速度を示し得る。本情報は、ユーザの頭部の運動に基づいて、画像アレイ内のパッチの軌道を予測するために使用されてもよい。
パッチ軌道推定906は、少なくとも部分的に、これらの慣性測定に基づいて、ユーザが、時間t1では、視点1304を、時間t2では、視点1306を有するであろうことを予測し得る。故に、パッチ軌道推定906は、パッチ1308が、時間t1では、パッチ1310に、時間t2では、パッチ1312に移動し得ることを予測し得る。
そのようなアプローチの実施例として、ARシステム内で頭部姿勢の正確かつ短待ち時間推定を提供するために使用されてもよい。パッチは、ユーザの環境内の定常オブジェクトの画像を包含するように位置付けられてもよい。具体的実施例として、画像情報の処理は、追跡するために、認識可能かつ定常のオブジェクトとして、壁上に吊架されている写真フレームの角を識別してもよい。その処理は、パッチをそのオブジェクト上に中心合わせしてもよい。図12に関連して上記に説明される、移動するオブジェクト1202の場合と同様に、オブジェクトとユーザの頭部との間の相対的移動は、ユーザと追跡されるオブジェクトとの間の相対的運動を算出するために使用され得る、イベントを生産するであろう。本実施例では、追跡されるオブジェクトが、定常であるため、相対的運動は、ユーザによって装着されている、結像アレイの運動を示す。その運動は、したがって、物理的世界に対するユーザの頭部姿勢の変化を示し、ユーザの頭部姿勢の正確な算出を維持するために使用されることができ、これは、仮想オブジェクトを現実的にレンダリングする際に使用され得る。本明細書に説明されるような結像アレイが、更新あたり比較的に小量のデータを用いて、高速更新を提供することができるため、仮想オブジェクトをレンダリングするための算出は、正確なままである(それらは、迅速に実施され、頻繁に更新されることができる)。
図11に戻って参照すると、パッチ軌道推定906は、少なくとも部分的に、算出されたパッチ軌道に基づいて、パッチのうちの少なくとも1つのサイズを調節するステップ(行為1106)を含んでもよい。例えば、パッチのサイズは、移動可能なオブジェクトの画像またはそれに関して画像情報が生成されるべきオブジェクトの少なくとも一部が投影されるであろう、ピクセルを含むように、十分な大きさに設定されてもよい。パッチは、パッチの軌道を推定する際、任意の誤差が存在する場合、パッチが、それでもなお、画像の関連部分を含み得るように、着目オブジェクトの部分の画像の投影されたサイズより若干大きく設定されてもよい。オブジェクトが、画像センサに対して移動するにつれて、ピクセル単位のそのオブジェクトの画像のサイズは、距離、入射角、オブジェクトの配向、または他の要因に基づいて変化し得る。オブジェクトと関連付けられるパッチを定義するプロセッサが、オブジェクトに関連するパッチのサイズを、他のセンサデータに基づいて、測定すること、または世界モデルに基づいて、算出すること等によって、パッチのサイズを設定してもよい。その形状等のパッチの他のパラメータも同様に、設定または更新されてもよい。
図14は、いくつかの実施形態による、XRシステムにおいて使用するために構成される、画像感知システム1400を描写する。画像感知システム400(図4)のように、画像感知システム1400は、パッチ内の値を選択的に出力するための回路網を含み、同様に上記に説明されるように、パッチ内のピクセルに関するイベントを出力するように構成されてもよい。加えて、画像感知システム1400は、測定された強度値を選択的に出力するように構成され、これは、完全画像フレームに関して出力されてもよい。
図示される実施形態では、上記に説明されるDVS技法を用いて生成される、イベントと、強度値とに関して、別個の出力が、示される。DVS技法を用いて生成される出力は、AER418に関連して上記に説明されるような表現を使用して、AER1418として出力されてもよい。強度値を表す、出力は、ここでは、APS1420として指定される、出力を通して出力されてもよい。それらの強度出力は、パッチに関するものであってもよい、または画像フレーム全体に関するものであってもよい。AERおよびAPS出力は、同時にアクティブであってもよい。しかしながら、図示される実施形態では、画像センサ1400は、任意の所与の時間において、イベントを出力するためのモードまたは強度情報が出力されるモードで動作する。そのような画像センサが使用される、本システムは、イベント出力および/または強度情報を選択的に使用してもよい。
画像感知システム1400は、画像センサ1402を含んでもよく、これは、画像アレイ1404を含んでもよく、これは、複数のピクセル1500を含有してもよく、それぞれ、光に応答する。センサ1402はさらに、ピクセルセルにアクセスするための回路網を含んでもよい。センサ1402はさらに、情報が画像アレイ1404内のピクセルセルから読み取られる、モードを制御するために、アクセス回路網への入力を生成する、回路網を含んでもよい。
図示される実施形態では、画像アレイ1404は、両方とも読取モードにおいてアクセス可能である、ピクセルセルの複数の行および列を伴う、アレイとして構成される。そのような実施形態では、アクセス回路網は、行アドレスエンコーダ/デコーダ1406、列選択スイッチ1422を制御する、列アドレスエンコーダ/デコーダ1408、および/または1つ以上の対応するピクセルセルによって感知される入射光についての情報を一時的に保持し得る、レジスタ1424を含んでもよい。パッチ追跡エンジン1410は、随時、画像情報を提供しているピクセルセルを制御するために、アクセス回路網への入力を生成してもよい。
いくつかの実施形態では、画像センサ1402は、ロールシャッタモード、グローバルシャッタモード、または両方で動作するように構成されてもよい。例えば、パッチ追跡エンジン1410は、アクセス回路網への入力を生成し、画像アレイ1402の読取モードを制御してもよい。
センサ1402が、ロールシャッタ読取モードで動作するとき、ピクセルセルの単一列が、例えば、複数の列スイッチの単一列スイッチ1422を閉鎖することによって、各システムクロックの間に選択される。そのシステムクロックの間、ピクセルセルの選択された列は、暴露され、APS1420に読み取られる。ロールシャッタモードによって画像フレームを生成するために、センサ1402内のピクセルセルの列は、1列ずつ読み取られ、次いで、画像プロセッサによって処理され、画像フレームを生成する。
センサ1402が、グローバルシャッタモードで動作するとき、ピクセルセルの列は、複数の列内のピクセルセルによって捕捉された情報が、APS1420bに同時に読み取られ得るように、例えば、単一システムクロック内において、同時に暴露され、情報をレジスタ1424内に保存する。そのような読取モードは、さらなるデータ処理を必要とせずに、画像フレームの直接出力を可能にする。図示される実施例では、ピクセルセルによって感知される入射光についての情報は、個別のレジスタ1424内に保存される。複数のピクセルセルは、1つのレジスタ1424を共有してもよいことを理解されたい。
いくつかの実施形態では、センサ1402は、CMOS集積回路等の単一集積回路内に実装されてもよい。いくつかの実施形態では、画像アレイ1404は、単一集積回路内に実装されてもよい。パッチ追跡エンジン1410、行アドレスエンコーダ/デコーダ1406、列アドレスエンコーダ/デコーダ1408、列選択スイッチ1422、および/またはレジスタ1424は、例えば、画像アレイ1404のためのドライバとして構成される、第2の単一集積回路内に実装されてもよい。代替として、または加えて、パッチ追跡エンジン1410、行アドレスエンコーダ/デコーダ1406、列アドレスエンコーダ/デコーダ1408、列選択スイッチ1422、および/またはレジスタ1424の機能のいくつかまたは全ては、ARシステム内の他のデジタルプロセッサに分散されてもよい。
図15は、例示的ピクセルセル1500を図示する。図示される実施形態では、各ピクセルセルは、イベントまたは強度情報のいずれかを出力するように設定されてもよい。しかしながら、いくつかの実施形態では、画像センサは、両方のタイプの情報を並行して出力するように構成されてもよいことを理解されたい。
イベント情報および強度情報は両方とも、図5に関連して上記に説明されるように、光検出器504の出力に基づく。ピクセルセル1500は、イベント情報を生成するための回路網を含む。その回路網は、同様に上記に説明されるように、感光回路502と、差分回路506と、比較器508とを含む。スイッチ1520は、第1の状態にあるとき、光検出器504をイベント生成回路網に接続する。スイッチ1520または他の制御回路網は、ARシステムが動作時の実質的時間周期の間、比較的に少量の画像情報が提供されるように、ARシステムを制御する、プロセッサによって制御されてもよい。
スイッチ1520または他の制御回路網はまた、強度情報を出力するようにピクセルセル1500を構成するように制御されてもよい。図示される情報では、強度情報が、画像アレイ内のピクセル毎のピクセル強度値のストリームとして連続的に表される、完全画像フレームとして提供される。本モードで動作するために、各ピクセルセル内のスイッチ1520は、増幅器510を通して通過後、出力ラインに接続され得るように、光検出器504の出力を暴露する、第2の位置に設定されてもよい。
図示される実施形態では、出力ラインは、列ライン1510として図示される。画像アレイ内の列毎に、1つのそのような列ラインが存在してもよい。列内の各ピクセルセルは、列ライン1510に結合されてもよいが、ピクセルアレイは、一度に1つのピクセルセルが、列ライン1510に結合されるように制御されてもよい。各ピクセルセル内に1つのそのようなスイッチが存在する、スイッチ1530は、ピクセルセル1500がその個別の列ライン1510に接続されるときを制御する。行アドレスデコーダ410等のアクセス回路網は、スイッチ1530を閉鎖し、一度に1つのみのピクセルセルが各列ラインに接続されることを確実にしてもよい。スイッチ1520および1530は、画像アレイの一部である1つ以上のトランジスタまたは類似コンポーネントを使用して実装されてもよい。
図15は、いくつかの実施形態による、各ピクセルセル内に含まれ得る、さらなるコンポーネントを示す。サンプルホールド回路(S/H)1532は、光検出器504と列ライン1510との間に接続されてもよい。存在するとき、S/H1532は、画像センサ1402が、グローバルシャッタモードで動作することを可能にし得る。グローバルシャッタモードでは、トリガ信号は、並行して、アレイ内の各ピクセルセルに送信される。各ピクセルセル内では、S/H1532は、トリガ信号の時点における強度を示す、値を捕捉する。S/H1532は、その値を記憶し、次の値が捕捉されるまで、その値に基づいて、出力を生成する。
図15に示されるように、S/H1532によって記憶される値を表す信号は、スイッチ1530が閉鎖されると、列ライン1510に結合されてもよい。列ラインに結合される信号は、処理され、画像アレイの出力を生産してもよい。その信号は、例えば、列ライン1510の終了時、バッファされ、および/または増幅器1512内で増幅され、次いで、アナログ/デジタルコンバータ(A/D)1514に適用されてもよい。A/D1514の出力は、他の読取回路1516を通して、出力1420に通過されてもよい。読取回路1516は、例えば、列スイッチ1422を含んでもよい。読取回路1516内の他のコンポーネントは、A/D1514のマルチビット出力をシリアライズする等の他の機能を実施してもよい。
当業者は、本明細書に説明される機能を実施するための回路を実装する方法を理解するであろう。S/H1532は、例えば、1つ以上のコンデンサおよび1つ以上のスイッチとして実装されてもよい。しかしながら、S/H1532は、他のコンポーネントを使用して、または図15Aに図示されるもの以外の回路構成において、実装されてもよいことを理解されたい。図示されるようなもの以外の他のコンポーネントもまた、実装されてもよいことを理解されたい。例えば、図15は、列あたり1つの増幅器および1つのA/Dコンバータを示す。他の実施形態では、複数の列を横断して共有される、1つのA/Dコンバータが存在してもよい。
グローバルシャッタのために構成される、ピクセルアレイでは、各S/H1532は、同一瞬間における画像情報を反映させる強度値を記憶してもよい。これらの値は、読取相の間、各ピクセル内に記憶される値が連続的に読み取られるにつれて、記憶されてもよい。連続読取は、例えば、行内の各ピクセルセルのS/H1532をその個別の列ラインに接続することによって達成されてもよい。列ライン上の値は、次いで、一度に1つずつ、APS出力1420に通過されてもよい。そのような情報のフローは、列スイッチ1422の開閉をシーケンス化することによって制御されてもよい。その動作は、例えば、列アドレスデコーダ1408によって制御されてもよい。いったん1つの行のピクセル毎の値が、読み取られると、次の行内のピクセルセルが、その場所内の列ラインに接続されてもよい。それらの値は、一度に1つの列ずつ、読み取られてもよい。一度に1つの行に関する値を読み出すプロセスは、画像アレイ内の全てのピクセルに関する強度値が読み取られるまで、繰り返されてもよい。強度値が1つ以上のパッチに関して読み取られる、実施形態では、プロセスは、パッチ内のピクセルセルに関する値が読み取られると、完了するであろう。
ピクセルセルは、任意の好適な順序で読み取られてもよい。行は、例えば、2つおきの行がシーケンスで読み取られるように、インターリーブされてもよい。ARシステムは、それでもなお、データをデインターリービングすることによって、画像データのフレームとして、画像データを処理し得る。
S/H1532が存在しない、実施形態では、値は、依然として、値の行および列が走査出力されるにつれて、順次、各ピクセルセルから読み取られてもよい。しかしながら、各ピクセルセルから読み取られた値は、その値が、例えば、A/D1514に適用されるとき等、そのセル内の値が読取プロセスの一部として捕捉された時点における、セルの光検出器において検出された光の強度を表し得る。結果として、ロールシャッタでは、画像フレームのピクセルは、若干異なる時間における、画像アレイ上に入射する画像を表し得る。完全フレームを30Hzのレートで出力する、画像センサに関して、フレームに関する最初のピクセル値が捕捉されるときとフレームに関する最後のピクセル値が捕捉されるときとの間の時間における差異は、1/30秒異なり得、これは、多くの用途にとって、知覚不能である。
オブジェクトを追跡する等のいくつかのXR機能に関して、XRシステムは、ロールシャッタを使用して、画像センサを用いて収集された画像情報上で算出を実施してもよい。そのような算出は、連続画像フレーム間を補間し、ピクセル毎に、連続フレーム間の時間内のある点におけるピクセルの推定される値を表す、補間される値を算出し得る。同一時間が、算出を介して、補間される画像フレームが、グローバルシャッタを有する画像センサを用いて生産され得るような同一時点を表すピクセルを含有するように、全てのピクセルのために使用されてもよい。代替として、グローバルシャッタ画像アレイが、XRシステムの一部を形成する、ウェアラブルデバイス内の1つ以上の画像センサのために使用されてもよい。完全または部分的画像フレームのためのグローバルシャッタは、ロールシャッタを用いて捕捉された画像情報内の捕捉時間における変動を補償するように実施され得る、他の処理の補間を回避し得る。補間算出は、したがって、画像情報が、手または他の移動可能なオブジェクトを追跡する、またはARシステム内のウェアラブルデバイスのユーザの頭部姿勢を決定する、またはさらに、画像情報が収集される際に移動している場合がある、ウェアラブルデバイス上のカメラを使用して、物理的環境の正確な表現を構築するために処理するために生じ得るようなオブジェクトの運動を追跡するために使用される場合でも、回避され得る。
区別されたピクセルセル
いくつかの実施形態では、センサアレイ内のピクセルセルはそれぞれ、同一であり得る。各ピクセルセルは、例えば、可視光の広スペクトルに応答してもよい。各光検出器は、したがって、可視光の強度を示す、画像情報を提供し得る。本シナリオでは、画像アレイの出力は、画像アレイ上に入射する可視光の量を示す、「グレースケール」出力であってもよい。
他の実施形態では、ピクセルセルは、区別されてもよい。例えば、センサアレイ内の異なるピクセルセルは、スペクトルの特定の部分内の光の強度を示す、画像情報を出力してもよい。ピクセルセルを区別するための好適な技法は、フィルタ要素を、ピクセルセル内の光検出器につながる、光経路内に位置付けることである。フィルタ要素は、例えば、特定の色の可視光が通過することを可能にする、帯域通過であってもよい。そのようなカラーフィルタをピクセルセルにわたって適用することは、フィルタに対応する色の光の強度を示す、画像情報を提供するように、そのピクセルセルを構成する。
フィルタは、ピクセルセルの構造にかかわらず、ピクセルセルにわたって適用されてもよい。それらは、例えば、グローバルシャッタまたはロールシャッタを伴う、センサアレイ内のピクセルセルにわたって適用されてもよい。同様に、フィルタは、DVS技法を使用して強度または強度の変化を出力するように構成される、ピクセルセルに適用されてもよい。
いくつかの実施形態では、原色の光を選択的に通過させる、フィルタ要素が、センサアレイ内の各ピクセルセル内の光検出器にわたって搭載されてもよい。例えば、赤色、緑色、または青色光を選択的に通過させる、フィルタが、使用されてもよい。センサアレイは、複数のサブアレイを有してもよく、各サブアレイは、原色のそれぞれの光を感知するように構成される、1つ以上のピクセルを有する。このように、各サブアレイ内のピクセルセルは、画像センサによって結像されているオブジェクトについての強度および色情報の両方を提供する。
本発明者らは、XRシステムでは、いくつかの機能が、色情報を要求する一方、いくつかの機能が、グレースケール情報で実施され得ることを認識し、その真価を認めた。画像センサを装備し、XRシステムの動作に関する画像情報を提供する、ウェアラブルデバイスは、複数のカメラを有してもよく、そのうちのいくつかは、色情報を提供し得る、画像センサとともに形成されてもよい。カメラのその他は、グレースケールカメラであってもよい。本発明者らは、グレースケールカメラが、色を感知するように構成される匹敵する画像センサとともに形成されるカメラと同一分解能を伴って、物理的世界の同一範囲を表すために、より少ない電力を消費し、低光量条件下でより敏感であって、データをより高速で出力し、および/またはより少ないデータを出力し得ることを認識し、その真価を認めた。しかし、グレースケールカメラは、XRシステム内で実施される、多くの機能のために十分な画像情報を出力し得る。故に、XRシステムは、主に、グレースケールカメラまたは複数のカメラを使用して、カラーカメラを選択的に使用して、グレースケールおよびカラーカメラの両方とともに構成されてもよい。
例えば、XRシステムは、画像情報を収集および処理し、パス可能世界モデルを作成してもよい。その処理は、色情報を使用し得、これは、オブジェクトを区別する、同一オブジェクトと関連付けられる表面を識別する、および/またはオブジェクトを認識する等、いくつかの機能の有効性を向上させ得る。そのような処理は、例えば、ユーザが、最初に、システムをオンにする、別の部屋の中に歩いて行くこと等によって、新しい環境に移動する、またはユーザの環境の変化が、別様に検出されるとき、随時、実施または更新されてもよい。
他の機能は、色情報の使用を通して有意に改良されない。例えば、いったんパス可能世界モデルが、作成されると、XRシステムは、1つ以上のカメラからの画像を使用して、パス可能世界モデル内の特徴に対するウェアラブルデバイスの配向を決定してもよい。そのような機能は、例えば、頭部姿勢追跡の一部として行われてもよい。そのような機能のために使用されるカメラのいくつかまたは全ては、グレースケールであってもよい。頭部姿勢追跡が、XRシステムが動作するにつれて、頻繁に実施されるため、いくつかの実施形態では、本機能のために、1つ以上のグレースケールカメラを持続的に使用することは、相当な電力節約、低減された算出、または他の利点を提供し得る。
同様に、複数回、XRシステムの動作の間、本システムは、2つ以上のカメラからの立体視情報を使用して、移動可能なオブジェクトまでの距離を決定してもよい。そのような機能は、ユーザの手または他の移動可能なオブジェクトを追跡することの一部として、画像情報を高レートで処理することを要求し得る。本機能のために1つ以上のグレースケールカメラを使用することは、高分解能画像情報の処理と関連付けられるより短い待ち時間または他の利点を提供し得る。
XRシステムのいくつかの実施形態では、XRシステムは、カラーおよび少なくとも1つのグレースケールカメラの両方を有してもよく、それらのカメラからの画像情報が使用されるべき機能に基づいて、グレースケールおよび/またはカラーカメラを選択的に有効にしてもよい。
画像センサ内のピクセルセルは、ピクセルセルが敏感である光のスペクトルに基づく以外の方法で区別されてもよい。いくつかの実施形態では、ピクセルセルのいくつかまたは全ては、ピクセルセル上に入射する光の到着角を示す、強度を有する、出力を生産してもよい。到着角情報は、結像されているオブジェクトまでの距離を算出するために処理されてもよい。
そのような実施形態では、画像センサは、深度情報を受動的に入手してもよい。受動深度情報は、ピクセルセルが、そのピクセルセルに衝打する光の到着角を示す、情報を出力するように、コンポーネントをアレイ内のピクセルセルへの光経路内に設置することによって取得されてもよい。そのようなコンポーネントの実施例は、透過性回折マスク(TDM)フィルタである。
到着角情報は、計算を通して、そこから光が反射されている、オブジェクトまでの距離を示す、距離情報に変換されてもよい。いくつかの実施形態では、到着角情報を提供するように構成される、ピクセルセルは、1つ以上の色の光強度を捕捉するピクセルセルとともに散在されてもよい。結果として、到着角情報、したがって、距離情報は、オブジェクトについての他の画像情報と組み合わせられてもよい。
いくつかの実施形態では、センサのうちの1つ以上のものは、コンパクトかつ低電力のコンポーネントを使用して、短待ち時間を伴って、高周波数で、場面内の物理的オブジェクトについての情報を入手するように構成されてもよい。画像センサは、例えば、50mW未満を引き出し、デバイスが、ウェアラブルシステムの一部として使用されるために十分に小さい、バッテリで給電されることを可能にし得る。そのセンサは、1つ以上の色の情報の強度および/または強度情報の変化を示す、画像情報の代わりに、またはそれに加え、深度情報を受動的に入手するように構成される、画像センサであってもよい。そのようなセンサはまた、差分出力を提供するために、パッチ追跡を使用することによって、またはDVS技法を使用することによって、少量のデータを提供するように構成されてもよい。
受動深度情報は、アレイ内のピクセルセルのうちの1つ以上のものを、結像されているオブジェクトから発出するライトフィールドを示す、情報を出力するように適合させる、コンポーネントとともに、本明細書に説明される技法のうちの任意の1つ以上のものを組み込む、画像アレイ等の画像アレイを構成することによって取得されてもよい。その情報は、そのピクセルに衝打する光の到着角に基づいてもよい。いくつかの実施形態では、上記に説明されるもの等のピクセルセルは、プレノプティックコンポーネントをピクセルセルへの光経路内に設置することによって、到着角のインジケーションを出力するように構成されてもよい。プレノプティックコンポーネントの実施例は、透過性回折マスク(TDM)である。到着角情報は、計算を通して、そこから光が反射されているオブジェクトまでの距離を示す、距離情報に変換され、捕捉されている画像を形成してもよい。いくつかの実施形態では、到着角情報を提供するように構成される、ピクセルセルは、グレースケールで、または1つ以上の色の光強度を捕捉する、ピクセルセルとともに散在されてもよい。結果として、到着角情報はまた、オブジェクトについての他の画像情報と組み合わせられてもよい。
図16は、いくつかの実施形態による、ピクセルサブアレイ100を図示する。図示される実施形態では、サブアレイは、2つのピクセルセルを有するが、サブアレイ内のピクセルセルの数は、本発明に関する限定ではない。ここでは、第1のピクセルセル121および第2のピクセルセル122が、示され、そのうちの一方は、到着角情報を捕捉するように構成される(第1のピクセルセル121)が、到着角情報を測定するように構成される、ピクセルセルのアレイ内の数および場所は、変動され得ることを理解されたい。本実施例では、他のピクセルセル(第2のピクセルセル122)は、光の1つの色の強度を測定するように構成されるが、他の構成も、可能性として考えられ、光の異なる色に敏感であるピクセルセル、またはグレースケールカメラにおけるような光の広スペクトルに敏感である1つ以上のピクセルセルを含む。
図16のピクセルサブアレイ100の第1のピクセルセル121は、到着角/強度コンバータ101と、光検出器105と、差分読取回路網107とを含む。ピクセルサブアレイ100の第2のピクセルセル122は、カラーフィルタ102と、光検出器106と、差分読取回路網108とを含む。図16に図示されるコンポーネントが全て、全ての実施形態内に含まれる必要はないことを理解されたい。例えば、いくつかの実施形態は、差分読取回路網107および/または108を含まなくてもよく、いくつかの実施形態は、カラーフィルタ102を含まなくてもよい。さらに、図16に示されない、付加的コンポーネントが、含まれてもよい。例えば、いくつかの実施形態は、特定の偏光の光が光検出器に到達することを可能にするように配列される、偏光器を含んでもよい。別の実施例として、いくつかの実施形態は、差分読取回路網107の代わりに、または加えて、走査出力回路網を含んでもよい。別の実施例として、第1のピクセルセル121はまた、第1のピクセル121が、第1のピクセル121上に入射する光の特定の色の到着角および強度の両方を測定するように、カラーフィルタを含んでもよい。
第1のピクセル121の到着角/強度コンバータ101は、光検出器によって測定され得る、入射光111の角度θを強度に変換する、光学コンポーネントである。いくつかの実施形態では、到着角/強度コンバータ101は、屈折光学系を含んでもよい。例えば、1つ以上のレンズが、光の入射角を像面上の位置に変換するために使用されてもよく、その入射光の量は、1つ以上のピクセルセルによって検出される。いくつかの実施形態では、到着角/位置強度コンバータ101は、回折光学系を含んでもよい。例えば、1つ以上の回折格子(例えば、透過性回折マスク(TDM))が、光の入射角を、TDMの下方の光検出器によって測定され得る、強度に変換してもよい。
第1のピクセルセル121の光検出器105は、到着角/強度コンバータ101を通して通過する、入射光110を受け取り、光検出器105上に入射する光の強度に基づいて、電気信号を生成する。光検出器105は、到着角/強度コンバータ101と関連付けられる、像面に位置する。いくつかの実施形態では、光検出器105は、CMOS画像センサ等の画像センサの単一ピクセルであってもよい。
第1のピクセル121の差分読取回路網107は、信号を光検出器105から受信し、光検出器からの電気信号の振幅が、上記に説明されるようなDVS技法を実装する、光検出器105からの前の信号の振幅と異なるときのみ、イベントを出力する。
第2のピクセルセル122は、特定の波長の範囲内の光のみが、カラーフィルタ102を通して通過し、光検出器106上に入射するように、入射光112をフィルタリングするためのカラーフィルタ102を含む。カラーフィルタ102は、例えば、赤色、緑色、または青色光のうちの1つが、それを通過することを可能にし、他の波長の光を拒絶する、帯域通過フィルタであってもよく、および/または光検出器106に到達するIR光をスペクトルの特定の部分のみに限定してもよい。
本実施例では、第2のピクセルセル122はまた、光検出器106と、差分読取回路網108とを含み、これは、第1のピクセルセル121の光検出器105および差分読取回路網107と同様に作用してもよい。
上記に述べられたように、いくつかの実施形態では、画像センサは、ピクセルのアレイを含んでもよく、各ピクセルは、光検出器および読取回路と関連付けられる。ピクセルのあるサブセットは、ピクセル上に入射する検出された光の角度を決定するために使用される、到着角/強度コンバータと関連付けられてもよい。ピクセルの他のサブセットは、観察されている場面についての色情報を決定するために使用される、カラーフィルタと関連付けられてもよい、または他の特性に基づいて、光を選択的に通過または遮断してもよい。
いくつかの実施形態では、光の到着角は、単一光検出器と、2つの異なる深度における回折格子とを使用して決定されてもよい。例えば、光が、到着角を位置に変換する、第1のTDM上に入射し得、第2のTDMが、特定の角度で入射する光を選択的に通過させるために使用されてもよい。そのような配列は、平面波が回折格子上に入射すると、回折格子の画像が回折格子からある距離に作成される、近距離回折効果である、Talbot効果を利用してもよい。第2の回折格子が、第1の回折格子の画像が形成される、像面に設置される場合、到着角は、第2の格子後に位置付けられる単一光検出器によって測定される、光の強度から決定されてもよい。
図17Aは、2つの格子に関する増加された屈折率の***および/または領域が水平方向に整合される(Δs=0)(Δsは、第1のTDM141と第2のTDM143との間の水平オフセットである)ように相互に整合される、第1のTDM141と、第2のTDM143とを含む、ピクセルセル140の第1の配列を図示する。第1のTDM141および第2のTDM143は両方とも、同一格子周期dを有してもよく、2つの格子は、距離/深度zによって分離されてもよい。第2のTDM143が第1のTDM141に対して位置する、Talbot長として知られる、深度zは、分析されている光の格子周期dおよび波長λによって決定され得、以下の式によって与えられる。
図17Aに図示されるように、ゼロ度の到着角を伴う入射光142は、第1のTDM141によって回折される。第2のTDM143は、第1のTDM141の画像が、作成され、入射光142の大部分が第2のTDM143を通して通過する結果をもたらすように、Talbot長に等しい深度に位置する。随意の誘電層145は、第2のTDM143を光検出器147から分離させてもよい。光が誘電層145を通して通過するにつれて、光検出器147は、光を検出し、光検出器上に入射する光の強度に比例する性質(例えば、電圧または電流)を伴う、電気信号を生成する。他方では、非ゼロ到着角θを伴う入射光144もまた、第1のTDM141によって回折されるが、第2のTDM143は、入射光144の少なくとも一部が光検出器147に到達することを防止する。光検出器147に到達する入射光の量は、到着角θに依存し、より大きい角度では、より少ない光が、光検出器に到達する。光144から生じる破線は、光検出器147に到達する光の量が減衰されることを図示する。ある場合には、光144は、回折格子143によって完全に遮断されてもよい。したがって、入射光の到着角についての情報は、2つのTDMを使用した単一光検出器147を使用して、取得されてもよい。
いくつかの実施形態では、到着角/強度コンバータを伴わない、隣接するピクセルセルによって取得される情報は、入射光の強度のインジケーションを提供し得、到着角/強度コンバータを通して通過する、入射光の部分を決定するために使用されてもよい。本画像情報から、光検出器147によって検出される光の到着角は、下記にさらに詳細に説明されるように、算出されてもよい。
図17Bは、2つの格子に関する増加された屈折率の***および/または領域が、水平方向に整合されない(Δs≠0)(Δsは、第1のTDM151と第2のTDM153との間の水平オフセットである)ように相互に不整合される、第1のTDM151および第2のTDM153を含む、ピクセルセル150の第2の配列を図示する。第1のTDM151および第2のTDM153は両方とも、同一格子周期dを有してもよく、2つの格子は、距離/深度zによって分離されてもよい。2つのTDMが整合される、図17Aに関連して議論される状況と異なり、不整合は、第2のTDM153を通して通過する、ゼロと異なる角度の入射光をもたらす。
図17Bに図示されるように、ゼロ度の到着角を伴う入射光152は、第1のTDM151によって回折される。第2のTDM153は、Talbot長に等しい深度に位置するが、2つの格子の水平オフセットに起因して、光152の少なくとも一部は、第2のTDM153によって遮断される。光152から生じる破線は、光検出器157に到達する光の量が減衰されることを図示する。ある場合には、光152は、回折格子153によって完全に遮断されてもよい。他方では、非ゼロ到着角θを伴う入射光154は、第1のTDM151によって回折されるが、第2のTDM153を通して通過する。随意の誘電層155を横断後、光検出器157は、光検出器157上に入射する光を検出し、光検出器上に入射する光の強度に比例する性質(例えば、電圧または電流)を伴う、電気信号を生成する。
ピクセルセル140および150は、異なる入射角に関して検出された光の異なる強度を伴う、異なる出力関数を有する。しかしながら、いずれの場合も、関係は、固定され、ピクセルセルの設計に基づいて、または較正プロセスの一部としての測定によって決定されてもよい。精密な伝達関数にかかわらず、測定された強度は、到着角に変換されてもよく、これは、ひいては、結像されているオブジェクトまでの距離を決定するために使用されてもよい。
いくつかの実施形態では、画像センサの異なるピクセルセルは、TDMの異なる配列を有してもよい。例えば、ピクセルセルの第1のサブセットは、各ピクセルと関連付けられる2つのTDMの格子間の第1の水平オフセットを含んでもよい一方、ピクセルセルの第2のサブセットは、各ピクセルセルと関連付けられる2つのTDMの格子間の第2の水平オフセットを含んでもよく、第1のオフセットは、第2のオフセットと異なる。異なるオフセットを伴う、ピクセルセルの各サブセットは、異なる到着角または異なる到着角の範囲を測定するために使用されてもよい。例えば、ピクセルの第1のサブセットは、図17Aのピクセルセル140に類似するTDMの配列を含んでもよく、ピクセルの第2のサブセットは、図17Bのピクセルセル150に類似するTDMの配列を含んでもよい。
いくつかの実施形態では、画像センサの全てのピクセルセルが、TDMを含むわけではない。例えば、ピクセルセルのサブセットは、カラーフィルタを含んでもよい一方、ピクセルセルの異なるサブセットは、到着角情報を決定するためのTDMを含んでもよい。他の実施形態では、カラーフィルタは、ピクセルセルの第1のサブセットが、単に、入射光の全体的強度を測定し、ピクセルセルの第2のサブセットが、到着角情報を測定するように、使用されない。いくつかの実施形態では、TDMを伴わない、近隣のピクセルセルからの光の強度に関する情報が、1つ以上のTDMを伴う、ピクセルセル上に入射する光に関する到着角を決定するために使用されてもよい。例えば、Talbot効果を利用するように配列される、2つのTDMを使用すると、第2のTDM後の光検出器上に入射する光の強度は、第1のTDM上に入射する光の到着角のシヌソイド関数である。故に、第1のTDM上に入射する光の総強度が、既知である場合、光の到着角が、光検出器によって検出された光の強度から決定されてもよい。
いくつかの実施形態では、サブアレイ内のピクセルセルの構成は、適切な分解能を伴う、種々のタイプの画像情報を提供するように選択されてもよい。図18A-Cは、画像センサのピクセルサブアレイ内のピクセルセルの例示的配列を図示する。図示される実施例は、非限定的であって、代替ピクセル配列も本発明者らによって検討されることを理解されたい。本配列は、画像アレイを横断して繰り返されてもよく、これは、数百万のピクセルを含有してもよい。サブアレイは、入射光についての到着角情報を提供する、1つ以上のピクセルセルと、入射光についての強度情報を提供する、1つ以上の他のピクセルセル(カラーフィルタの有無にかかわらず)とを含んでもよい。
図18Aは、相互に異なり、正方形ではなく、矩形である、第1のピクセルセルのセット161と、第2のピクセルセルのセット163とを含む、ピクセルサブアレイ160の実施例である。「R」と標識されたピクセルセルは、赤色入射光が、フィルタを通して、関連付けられた光検出器に通過するように、赤色フィルタを伴う、ピクセルセルであって、「B」と標識されたピクセルセルは、青色入射光が、フィルタを通して、関連付けられた光検出器に通過するように、青色フィルタを伴う、ピクセルセルであって、「G」と標識されたピクセルセルは、緑色入射光が、フィルタを通して、関連付けられた光検出器に通過するように、緑色フィルタを伴う、ピクセルである。例示的サブアレイ160では、赤色または青色ピクセルセルより多くの緑色ピクセルセルが存在し、種々のタイプのピクセルセルが同一割合で存在する必要はないことを図示する。
A1およびA2と標識されたピクセルセルは、到着角情報を提供する、ピクセルである。例えば、ピクセルセルA1およびA2は、到着角情報を決定するための1つ以上の格子を含んでもよい。到着角情報を提供する、ピクセルセルは、同様に構成されてもよい、または異なる範囲の到着角または異なる軸に対する到着角に敏感であるように等、異なるように構成されてもよい。いくつかの実施形態では、A1およびA2と標識されたピクセルは、2つのTDMを含み、ピクセルセルA1およびA2のTDMは、異なる方向に、例えば、相互に垂直に配向されてもよい。他の実施形態では、ピクセルセルA1およびA2のTDMは、相互に平行に配向されてもよい。
ピクセルサブアレイ160を使用する、実施形態では、カラー画像データおよび到着角情報の両方が、取得されてもよい。ピクセルセル161のセット上に入射する光の到着角を決定するために、セット161上に入射する総光強度が、RGBピクセルセルからの電気信号を使用して推定される。A1/A2ピクセルによって検出される光の強度が、到着角の関数として、予測可能方法において変動するという事実を使用して、到着角は、総強度(ピクセルのグループ内のRGBピクセルセルから推定される)とA1および/またはA2ピクセルセルによって測定された強度を比較することによって決定されてもよい。例えば、A1および/またはA2ピクセル上に入射する光の強度は、入射光の到着角に対して正弦曲線状に変動し得る。ピクセルセル163のセット上に入射する光の到着角は、セット163のピクセルによって生成された電気信号を使用して、類似方法によって決定される。
図18Aは、サブアレイの具体的実施形態を示し、他の構成も、可能性として考えられることを理解されたい。いくつかの実施形態では、例えば、サブアレイは、ピクセルセル161または163のセットのみであってもよい。
図18Bは、第1のピクセルセルのセット171と、第2のピクセルセルのセット172と、第3のピクセルセルのセット173と、第4のピクセルセルのセット174とを含む、代替ピクセルサブアレイ170である。ピクセルセル171-174の各セットは、正方形であって、その中に同一配列のピクセルセルを有するが、異なる角度の範囲にわたる、または異なる平面に対する、到着角情報を決定するためのピクセルセルを有する可能性がある(例えば、ピクセルA1およびA2のTDMは、相互に垂直に配向されてもよい)。ピクセル171-174の各セットは、1つの赤色ピクセルセル(R)と、1つの青色ピクセルセル(B)と、1つの緑色ピクセルセル(G)と、1つの到着角ピクセルセル(A1またはA2)とを含む。例示的ピクセルサブアレイ170では、等数の赤色/緑色/青色ピクセルセルが各セット内に存在することに留意されたい。さらに、ピクセルサブアレイは、1つ以上の方向に繰り返され、より大きいピクセルのアレイを形成してもよいことを理解されたい。
ピクセルサブアレイ170を使用する、実施形態では、カラー画像データおよび到着角情報の両方が、取得されてもよい。ピクセルセル171のセット上に入射する光の到着角を決定するために、セット171上に入射する総光強度が、RGBピクセルセルからの信号を使用して推定されてもよい。到着角ピクセルセルによって検出された光の強度が、到着角に対して正弦波または他の予測可能応答を有するという事実を使用して、到着角は、総強度(RGBピクセルセルから推定される)とA1ピクセルによって測定された強度を比較することによって決定されてもよい。ピクセルセル172-174のセット上に入射する光の到着角は、各個別のピクセルのセットのピクセルセルによって生成された電気信号を使用して、類似方法において決定されてもよい。
図18Cは、第1のピクセルセルのセット181と、第2のピクセルセルのセット182と、第3のピクセルセルのセット183と、第4のピクセルセルのセット184とを含む、代替ピクセルサブアレイ180である。ピクセルセル181-184の各セットは、正方形であって、その中に同一配列のピクセルセルを有し、カラーフィルタは、使用されない。ピクセルセル181-184の各セットは、2つの「白色」ピクセル(例えば、赤色、青色、および緑色光が、グレースケール画像を形成するために検出されるように、カラーフィルタがない)と、第1の方向に配向される、TDMを伴う、1つの到着角ピクセルセル(A1)と、第2の間隔を伴って、または第1の方向に対して第2の方向(例えば、垂直)に配向される、TDMを伴う、1つの到着角ピクセルセル(A2)とを含む。例示的ピクセルサブアレイ170では、色情報が存在しないことに留意されたい。結果として生じる画像は、グレースケールであって、受動深度情報が、カラーまたはグレースケール画像アレイ内で本明細書に説明されるような技法を使用して入手され得ることを図示する。本明細書に説明される他のサブアレイ構成と同様に、ピクセルサブアレイ配列は、1つ以上の方向に繰り返され、より大きいピクセルのアレイを形成してもよい。
ピクセルサブアレイ180を使用する、実施形態では、グレースケール画像データおよび到着角情報の両方が、取得されてもよい。ピクセルセル181のセット上に入射する光の到着角を決定するために、セット181上に入射する総光強度が、2つの白カラーピクセルからの電気信号を使用して推定される。A1およびA2ピクセルによって検出された光の強度が、到着角に対して正弦波または他の予測可能応答を有するという事実を使用して、到着角は、総強度(白色ピクセルから推定される)とA1および/またはA2ピクセルセルによって測定された強度を比較することによって決定されてもよい。ピクセルセル182-184のセット上に入射する光の到着角は、各個別のピクセルのセットのピクセルによって生成された電気信号を使用して、類似方法において決定されてもよい。
上記の実施例では、ピクセルセルは、正方形として図示されており、正方形グリッドにおいて配列される。実施形態は、そのように限定されない。例えば、いくつかの実施形態では、ピクセルセルは、矩形形状であってもよい。さらに、サブアレイは、三角形である、または対角線上に配列される、または他の幾何学形状を有してもよい。
いくつかの実施形態では、到着角情報は、画像プロセッサ708またはローカルデータ処理モジュール70と関連付けられるプロセッサを使用して取得され、これはさらに、到着角に基づいて、オブジェクトの距離を決定してもよい。例えば、到着角情報は、1つ以上の他のタイプの情報と組み合わせられ、オブジェクトの距離を取得してもよい。いくつかの実施形態では、メッシュモデル46のオブジェクトは、ピクセルアレイからの到着角情報と関連付けられてもよい。メッシュモデル46は、ユーザからの距離を含む、オブジェクトの場所を含んでもよく、これは、到着角情報に基づいて、新しい距離値に更新されてもよい。
到着角情報を使用して、距離値を決定することは、特に、オブジェクトがユーザに近いシナリオにおいて有用であり得る。これは、画像センサからの距離の変化が、ユーザから遠くに位置付けられるオブジェクトに関する類似大きさの距離変化より大きい、近隣のオブジェクトに関する光の到着角の変化をもたらすためである。故に、到着角に基づく受動距離情報を利用する、処理モジュールは、オブジェクトの推定される距離に基づいて、その情報を選択的に使用してもよく、1つ以上の他の技法を利用して、いくつかの実施形態では、最大1メートル、最大3メートル、または最大5メートル等の閾値距離を越える、オブジェクトまでの距離を決定してもよい。具体的実施例として、ARシステムの処理モジュールは、ウェアラブルデバイスのユーザの3メートル以内のオブジェクトに関する到着角情報を使用して、受動距離測定を使用するようにプログラムされてもよいが、その範囲外のオブジェクトに関しては、2つのカメラによって捕捉された画像を使用して、立体視画像処理を使用してもよい。
同様に、到着角情報を検出するように構成される、ピクセルは、画像アレイに対する法線からある角度範囲内の距離の変化に最も敏感であり得る。処理モジュールは、同様に、その角度の範囲内の到着角測定から導出される距離情報を使用するが、その範囲外の距離を決定するためには、他のセンサおよび/または他の技法を使用するように構成されてもよい。
画像センサからオブジェクトの距離を決定する一例示的用途は、手の追跡である。手の追跡は、ARシステムにおいて、例えば、システム80のためのジェスチャベースのユーザインターフェースを提供するために、および/またはユーザが、システム80によって提供されるAR体験において、環境内の仮想オブジェクトを移動させることを可能にするために、使用されてもよい。正確な深度決定に関する到着角情報を提供する、画像センサと、ユーザの手の運動を決定するためのプロセスへのデータの量を低減させるための差分読取回路網の組み合わせは、効率的インターフェースを提供し、それによってユーザは、仮想オブジェクトと相互作用し、および/またはシステム80への入力を提供することができる。ユーザの手の場所を決定する処理モジュールは、ウェアラブルデバイスの画像センサの視野内のユーザの手の場所に応じて異なる技法を使用して入手された、距離情報を使用してもよい。手の追跡は、いくつかの実施形態によると、画像感知プロセスの間、パッチ追跡の形態として実装されてもよい。
深度情報が有用であり得る、別の用途は、オクルージョン処理である。オクルージョン処理は、深度情報を使用して、物理的世界のモデルのある部分が、ユーザの周囲の物理的環境についての画像情報を収集する1つ以上の画像センサによって捕捉されている画像情報に基づいて更新される必要がない、または更新されることができないことを決定する。例えば、第1のオブジェクトが、センサから第1の距離に存在することが決定される場合、システム80は、第1の距離を上回る距離にわたって、物理的世界のモデルを更新しないことを決定してもよい。例えば、モデルが、第2のオブジェクトをセンサから第2の距離に含み、第2の距離が第1の距離を上回る場合でも、そのオブジェクトに関するモデル情報は、第1のオブジェクトの背後にある場合、更新されなくてもよい。いくつかの実施形態では、システム80は、第1のオブジェクトの場所に基づいて、オクルージョンマスクを生成し、オクルージョンマスクによってマスクされないモデルの部分のみを更新してもよい。いくつかの実施形態では、システム80は、1つを上回るオブジェクトのために、1つを上回るオクルージョンマスクを生成してもよい。各オクルージョンマスクは、センサからの個別の距離と関連付けられてもよい。オクルージョンマスク毎に、個別のオクルージョンマスクと関連付けられる距離を上回るセンサからの距離にある、オブジェクトと関連付けられるモデル情報は、更新されないであろう。任意の所与の時間において更新される、モデルの部分を限定することによって、AR環境を生成する速さおよびAR環境を生成するために必要とされる算出リソースの量は、低減される。
図18A-Cに示されないが、画像センサのいくつかの実施形態は、カラーフィルタに加え、またはその代わりに、IRフィルタを伴う、ピクセルを含んでもよい。例えば、IRフィルタは、940nmとほぼ等しい等の波長の光が、通過し、関連付けられる光検出器によって検出されることを可能にし得る。ウェアラブルのいくつかの実施形態は、IRフィルタ(例えば、940nm)と関連付けられるものと同一波長の光を放出する、IR光源(例えば、IR LED)を含んでもよい。IR光源およびIRピクセルは、センサからのオブジェクトの距離を決定する代替方法として使用されてもよい。一例として、限定ではなく、IR光源は、パルス状であってもよく、飛行時間測定が、センサからのオブジェクト距離を決定するために使用されてもよい。
いくつかの実施形態では、システム80は、1つ以上の動作モードで動作することが可能であり得る。第1のモードは、深度決定が、例えば、到着角/強度コンバータを伴うピクセルを使用して決定された光の到着角に基づいて、受動深度測定を使用して行われる、モードであってもよい。第2のモードは、深度決定が、例えば、画像センサのIRピクセルを使用して測定されたIR光の飛行時間に基づいて、能動深度測定を使用して行われる、モードであってもよい。第3のモードは、2つの別個の画像センサからの立体視測定を使用して、オブジェクトの距離を決定してもよい。そのような立体視測定は、オブジェクトがセンサから非常に遠いとき、到着角/強度コンバータを伴うピクセルを使用して決定された光の到着角を使用するより正確であり得る。深度を決定する他の好適な方法も、深度決定のための1つ以上の付加的動作モードのために使用されてもよい。
いくつかの実施形態では、受動深度決定を、そのような技法がより少ない電力を利用するため、使用することが好ましくあり得る。しかしながら、本システムは、ある条件下では、能動モードで動作すべきであることを決定し得る。例えば、センサによって検出されている可視光の強度が、閾値を下回る場合、暗すぎて、受動深度決定を正確に実施することができない場合がある。別の実施例として、オブジェクトが、受動深度決定のために遠すぎて、正確ではない場合がある。したがって、本システムは、深度が、2つの空間的に分離される画像センサを使用して、場面の立体視測定に基づいて決定される、第3のモードで動作することを選択するようにプログラムされてもよい。別の実施例として、到着角/強度コンバータを伴うピクセルを使用して決定された光の到着角に基づいて、オブジェクトの深度を決定することは、画像センサの周縁では、不正確な場合がある。故に、オブジェクトが、画像センサの周縁の近くのピクセルによって検出されている場合、本システムは、能動深度決定を使用して、第2のモードで動作することを選択してもよい。
上記に説明される画像センサの実施形態は、スタックされたTDMを伴う、個々のピクセルセルを使用して、ピクセルセル上に入射する光の到着角を決定したが、他の実施形態は、グループの全てのピクセルにわたって単一TDMを伴う、複数のピクセルセルのグループを使用して、到着角情報を決定してもよい。TDMは、センサアレイを横断して光のパターンを投影してもよく、そのパターンは、入射光の到着角に依存する。1つのTDMと関連付けられる、複数の光検出器は、複数の光検出器の各光検出器が、像面(光を感知する光検出器を備える、像面)内の異なる位置に位置するため、そのパターンをより正確に検出し得る。各光検出器によって感知される相対的強度は、入射光の到着角を示し得る。
図19Aは、いくつかの実施形態による、単一透過性回折マスク(TDM)と関連付けられる、複数の光検出器(画像センサのピクセルセルのサブアレイであり得る、光検出器アレイ120の形態にある)の上部平面図実施例である。図19Bは、図19Aの線Aに沿った、図19Aと同一光検出器アレイの断面図である。光検出器アレイ120は、示される実施例では、16個の別個の光検出器121を含み、これは、画像センサのピクセルセル内にあってもよい。光検出器アレイ120は、光検出器の上方に配置される、TDM123を含む。ピクセルセルの各グループは、明確性および単純性のために、4つのピクセルとともに図示される(例えば、4つのピクセル×4つのピクセルのグリッドを形成する)ことを理解されたい。いくつかの実施形態は、4つを上回るピクセルセルを含んでもよい。例えば、16個のピクセルセル、64個のピクセルセル、または任意の他の数のピクセルが、各グループ内に含まれてもよい。
TDM123は、光検出器121から距離xに位置する。いくつかの実施形態では、TDM123は、図19Bに図示されるように、誘電層125の上部表面上に形成される。例えば、TDM123は、図示されるように、***から、または誘電層125の表面の中にエッチングされる、谷によって、形成されてもよい。他の実施形態では、TDM123は、誘電層内に形成されてもよい。例えば、誘電層の部分は、誘電層の他の部分に対してより高いまたはそれより低い屈折率を有するように修正され、ホログラフィック位相格子をもたらしてもよい。上方から光検出器アレイ120上に入射する光は、TDMによって回折され、光検出器121が位置する、TDM123から距離xの像面における位置に変換されるような入射光の到着角をもたらす。光検出器のアレイの各光検出器121において測定された入射光の強度は、入射光の到着角を決定するために使用されてもよい。
図20Aは、いくつかの実施形態による、複数のTDMと関連付けられる、複数の光検出器(光検出器アレイ130の形態にある)の実施例を図示する。図20Bは、図20Aの線Bを通る、図20Aと同一光検出器アレイの断面図である。図20Cは、図20Aの線Cを通る、図20Aと同一光検出器アレイの断面図である。光検出器アレイ130は、示される実施例では、16個の別個の光検出器を含み、これは、画像センサのピクセルセル内にあってもよい。図示されるように、4つのピクセルセルの4つのグループ131a、131b、131c、131dが存在する。光検出器アレイ130は、4つの別個のTDM133a、133b、133c、133dを含み、各TDMは、ピクセルセルの関連付けられるグループの上方に提供される。ピクセルセルの各グループは、明確性および単純性のために、4つのピクセルセルとともに図示されることを理解されたい。いくつかの実施形態は、4つを上回るピクセルセルを含んでもよい。例えば、16個のピクセルセル、64個のピクセルセル、または任意の他の数のピクセルセルが、各グループ内に含まれてもよい。
各TDM133a-dは、光検出器131a-dから距離xに位置する。いくつかの実施形態では、TDM133a-dは、図20Bに図示されるように、誘電層135の上部表面上に形成される。例えば、TDM123a-dは、図示されるように、***から、または誘電層135の表面の中にエッチングされる、谷によって、形成されてもよい。他の実施形態では、TDM133a-dは、誘電層内に形成されてもよい。例えば、誘電層の部分は、誘電層の他の部分に対してより高いまたはそれより低い屈折率を有するように修正され、ホログラフィック位相格子をもたらしてもよい。上方から光検出器アレイ130上に入射する光は、TDMによって回折され、光検出器131a-dが位置する、TDM133a-dから距離xの像面における位置に変換されるような入射光の到着角をもたらす。光検出器のアレイの各光検出器131a-dにおいて測定された入射光の強度は、入射光の到着角を決定するために使用されてもよい。
TDM133a-dは、相互から異なる方向に配向されてもよい。例えば、TDM133aは、TDM133bと垂直である。したがって、光検出器グループ131aを使用して検出された光の強度は、TDM133aと垂直な平面における入射光の到着角を決定するために使用されてもよく、光検出器グループ131bを使用して検出された光の強度は、TDM133bと垂直な平面における入射光の到着角を決定するために使用されてもよい。同様に、光検出器グループ131cを使用して検出された光の強度は、TDM133cと垂直な平面における入射光の到着角を決定するために使用されてもよく、光検出器グループ131dを使用して検出された光の強度は、TDM133dと垂直な平面における入射光の到着角を決定するために使用されてもよい。
深度情報を受動的に入手するように構成される、ピクセルセルは、クロスリアリティシステムにおいて有用な動作をサポートするための本明細書に説明されるような特徴とともに、画像アレイ内に統合されてもよい。いくつかの実施形態によると、深度情報を入手するように構成される、ピクセルセルは、グローバルシャッタを伴うカメラを実装するために使用される、画像センサの一部として実装されてもよい。そのような構成は、例えば、完全フレーム出力を提供してもよい。完全フレームは、深度および強度を示す、異なるピクセルに関する画像情報を同時に含み得る。本構成の画像センサを用いることで、プロセッサは、完全場面に関する深度情報を一度に入手し得る。
他の実施形態では、深度情報を提供する、画像センサのピクセルセルは、上記に説明されるようなDVS技法に従って動作するように構成されてもよい。そのようなシナリオでは、イベントは、ピクセルセルによって示されるように、オブジェクトの深度の変化を示し得る。画像アレイによって出力されたイベントは、深度の変化が検出された、ピクセルセルを示し得る。代替として、または加えて、イベントは、そのピクセルセルに関する深度情報の値を含んでもよい。本構成の画像センサを用いることで、プロセッサは、高時間分解能を提供するように、非常に高レートで、深度情報更新を入手し得る。
さらに他の実施形態では、画像センサは、完全フレームまたはDVSモードのいずれかで動作するように構成されてもよい。そのような実施形態では、画像センサからの画像情報を処理する、プロセッサは、プロセッサによって実施されている機能に基づいて、画像センサの動作モードをプログラムで制御してもよい。例えば、オブジェクトを追跡することを伴う機能を実施している間、プロセッサは、画像情報をDVSイベントとして出力するように、画像センサを構成してもよい。他方では、世界再構築を更新するために処理している間、プロセッサは、完全フレーム深度情報を出力するように、画像センサを構成してもよい。
ウェアラブル構成
複数の画像センサが、XRシステム内で使用されてもよい。画像センサは、レンズ等の光学コンポーネントおよび制御回路網と組み合わせられ、カメラを作成してもよい。それらの画像センサは、グレースケール結像、カラー結像、グローバルシャッタ、DVS技法、プレノプティックピクセルセル、および/または動的パッチ等の上記に説明される技法のうちの1つ以上のものを使用して、結像情報を入手してもよい。使用される結像技法にかかわらず、結果として生じるカメラは、支持部材に搭載され、ヘッドセットを形成してもよく、これは、プロセッサを含む、またはそれに接続されてもよい。
図21は、開示される実施形態と一致する、ウェアラブルディスプレイシステムのヘッドセット2100を図示する、概略図である。図21に示されるように、ヘッドセット2100は、視覚的情報をユーザの眼に伝送および/または表示するように構成される、光学接眼レンズまたはディスプレイであり得る、単眼2110aおよび単眼2110bを備える、ディスプレイデバイスを含んでもよい。ヘッドセット2100はまた、図3Bに関して上記に説明されるフレーム64に類似し得る、フレーム2101を含んでもよい。ヘッドセット2100はさらに、3つのカメラ(カメラ2120a、カメラ2120b、およびカメラ2140)と、エミッタ2130a、エミッタ2130b、慣性測定ユニット2170a(IMU2170a)、および慣性測定ユニット2170b(IMU2170b)等の付加的コンポーネントとを含んでもよい。
カメラ2120a、カメラ2120b、およびカメラ2140は、世界カメラであって、それらは、ヘッドセット2100を装着しているユーザによって見られるような物理的世界を結像するように配向される。いくつかの実施形態では、それらの3つのカメラは、物理的世界についての画像情報を入手するために十分であり得、それらの3つのカメラは、世界に面したカメラのみであってもよい。ヘッドセット2100はまた、図3Bに関して上記に議論されるように、眼追跡カメラ等の付加的コンポーネントを含んでもよい。
単眼2110aおよび単眼2110bは、接着剤、締結具、または圧力嵌合等の技法を使用して、フレーム2101等の支持部材に機械的に結合されてもよい。同様に、3つのカメラおよび付帯コンポーネント(例えば、エミッタ、慣性測定ユニット、眼追跡カメラ等)は、接着剤、締結具、圧力嵌合等の技法を使用して、フレーム2101に機械的に結合されてもよい。これらの機械的結合は、直接または間接であってもよい。例えば、1つ以上のカメラおよび/または付帯コンポーネントのうちの1つ以上のものは、直接、フレーム2101に取り付けられてもよい。付加的実施例として、1つ以上のカメラおよび/または付帯コンポーネントのうちの1つ以上のものは、直接、単眼に取り付けられてもよく、これは、次いで、フレーム2101に取り付けられてもよい。取付の機構は、限定することを意図するものではない。
代替として、単眼サブアセンブリが、形成され、次いで、フレーム2101に取り付けられてもよい。各サブアセンブリは、例えば、それに対して単眼2110aまたは2110bが取り付けられる、支持部材を含んでもよい。IMUおよび1つ以上のカメラは、同様に、支持部材に取り付けられてもよい。カメラおよびIMUの両方を同一支持部材に取り付けることは、カメラについての慣性情報が、IMUの出力に基づいて取得されることを可能にし得る。同様に、単眼をカメラと同一支持部材に取り付けることは、世界についての画像情報が、単眼上にレンダリングされた情報と空間的に相関されることを可能にし得る。
ヘッドセット2100は、軽量であってもよい。例えば、ヘッドセット2100は、30~300グラムの重量であってもよい。ヘッドセット2100は、プラスチックまたは薄金属コンポーネント等、使用時、撓曲する、材料から作製されてもよい。そのような材料は、長時間にわたってユーザによって装着され得る、軽量かつ快適なヘッドセットを可能にし得る。そのような軽量ヘッドセットを伴うXRシステムは、それでもなお、ヘッドセットが装着されるにつれて繰り返され、使用時、ヘッドセットの撓曲から生じるであろう、任意の不正確度を補償し得る、較正ルーチンを使用して、カメラ間の分離が把握されることを要求する、高正確度立体視画像分析をサポートし得る。いくつかの実施形態では、軽量ヘッドセットは、バッテリパックを含んでもよい。バッテリパックは、1つ以上のバッテリを含んでもよく、これは、再充電可能または非再充電可能であってもよい。バッテリパックは、軽量フレームの中に構築されてもよい、またはリムーバブルであってもよい。バッテリパックおよび軽量フレームは、単一ユニットとして形成されてもよい、またはバッテリパックは、軽量フレームと別個にユニットとして形成されてもよい。
カメラ2120aおよびカメラ2120bはそれぞれ、画像センサと、レンズとを含んでもよい。画像センサは、グレースケール画像を生産するように構成されてもよい。画像センサは、1メガピクセル~4メガピクセルのサイズの画像を入手するように構成されてもよい。例えば、画像センサは、1,016本の線の水平分解能×1,016本の線の垂直分解能を伴う、画像を入手するように構成されてもよい。画像センサは、繰り返しまたは周期的に、画像を入手するように構成されてもよい。例えば、画像センサは、60Hz等、30Hz~120Hzの周波数において画像を入手するように構成されてもよい。画像センサは、CMOS画像センサであってもよい。画像センサは、グローバルシャッタとともに構成されてもよい。図14および図15に関して上記に議論されるように、グローバルシャッタは、各ピクセルが、同時に、強度測定を入手することを可能にし得る。
カメラ2120aおよびカメラ2120bはそれぞれ、開示される実施形態と一致する、広視野を有するように構成されてもよい。例えば、カメラ2120aおよびカメラ2120bは、等距離レンズ(例えば、魚眼レンズ)を含んでもよい。カメラ2120aおよびカメラ2120bはそれぞれ、ヘッドセット2100上で内向きに角度付けられてもよい。例えば、カメラ2120aと関連付けられる視野である、視野2121aの中心を通る垂直平面は、ヘッドセット2100の正中線を通る垂直平面と交差し、それと角度形成してもよい。本角度は、1~40度であってもよい。いくつかの実施形態では、視野2121aは、水平視野と、垂直視野とを有してもよい。水平視野の範囲は、90度~175度であってもよい一方、垂直視野の範囲は、70~125度であってもよい。同様に、カメラ2120bと関連付けられる視野である、視野2121bの中心を通る垂直平面は、ヘッドセット2100の正中線を通る垂直平面と交差し、それと角度形成してもよい。本角度はまた、1~40度であってもよい。いくつかの実施形態では、カメラ2120aおよびカメラ2120bは、同一量だけ内向きに角度付けられてもよい。視野2121bは、開示される実施形態と一致する、水平視野と、垂直視野とを有してもよい。本水平視野の範囲は、90度~175度であってもよい一方、垂直視野の範囲は、70~125度であってもよい。
カメラ2120aおよびカメラ2120bは、中心視野2150の重複ビューを提供するように構成されてもよい。中心視野2150の角度範囲は、20~80度であってもよい。例えば、中心視野2150の角度範囲は、約40度(例えば、40±4度)であってもよい。中心視野2150に加え、カメラ2120a、およびカメラ2120bは、少なくとも2つの周辺視野を提供するように位置付けられてもよい。周辺視野2160aは、カメラ2120aと関連付けられてもよく、視野2121bと重複しない、視野2121aのその部分を含んでもよい。いくつかの実施形態では、周辺視野2160bの角度範囲は、40~80度の範囲であってもよい。例えば、周辺視野2160aの角度範囲は、約60度(例えば、60±6度)であってもよい。周辺視野2160bは、カメラ2120bと関連付けられてもよく、視野2121aと重複しない、視野2121bのその部分を含んでもよい。いくつかの実施形態では、周辺視野2160bの角度範囲は、40~80度の範囲であってもよい。例えば、周辺視野2160bの角度範囲は、約60度(例えば、60±6度)であってもよい。
エミッタ2130aおよびエミッタ2130bは、低光量条件下での結像および/またはヘッドセット2100による能動深度感知を可能にし得る。エミッタ2130aおよびエミッタ2130bは、光を特定の波長で放出するように構成されてもよい。本光は、ユーザの周囲の物理的世界内の物理的オブジェクトによって反射されることができる。ヘッドセット2100は、本明細書に説明されるような画像センサを含む、本反射された光を検出するためのセンサとともに、構成されてもよい。いくつかの実施形態では、これらのセンサは、カメラ2120a、カメラ2120b、またはカメラ2140のうちの少なくとも1つの中に組み込まれてもよい。例えば、図18A-18Cに関して上記に説明されるように、これらのカメラは、エミッタ2130aおよび/またはエミッタ2130bに対応する、検出器とともに構成されてもよい。例えば、これらのカメラは、エミッタ2130aおよび/またはエミッタ2130bによって放出される光を検出するように構成される、ピクセルを含んでもよい。
エミッタ2130aおよびエミッタ2130bは、開示される実施形態と一致する、IR光を放出するように構成されてもよい。IR光は、900ナノメートル~1マイクロメートルの波長を有してもよい。IR光は、940nm光源であってもよく、例えば、放出される光エネルギーは、約940nmに集中される。他の波長の光を放出するエミッタも、代替として、または加えて、使用されてもよい。屋内専用使用のために意図されるシステムに関して、例えば、約850nmに集中される光を放出するエミッタが、使用されてもよい。カメラ2120a、カメラ2120b、またはカメラ2140aのうちの少なくとも1つは、カメラの画像センサ内のピクセルの少なくともサブセットにわたって配置される、1つ以上のIRフィルタを含んでもよい。フィルタは、エミッタ2130aおよび/またはエミッタ2130bによって放出される波長における光を通過させる一方、他の波長における光を減衰させ得る。例えば、IRフィルタは、ノッチフィルタであって、エミッタのものに合致する波長を伴うIR光を通過させ得る。ノッチフィルタは、他のIR光を実質的に減衰させ得る。いくつかの実施形態では、ノッチフィルタは、IRノッチフィルタであって、IR光を遮断し、エミッタからの光が通過することを可能にし得る。IRノッチフィルタはまた、IR帯域外の光が通過することを可能にし得る。そのようなノッチフィルタは、画像センサが、可視光と、画像センサの視野内のオブジェクトから反射されたエミッタからの光の両方を受け取ることを可能にし得る。このように、ピクセルのサブセットは、エミッタ2130aおよび/またはエミッタ2130bによって放出されるIR光のための検出器としての役割を果たし得る。
いくつかの実施形態では、XRシステムのプロセッサは、低光量条件下での結像を可能にするため等、エミッタを選択的に有効にしてもよい。プロセッサは、1つ以上の画像センサによって生成された画像情報を処理してもよく、エミッタが有効にされずに、それらの画像センサによって出力された画像が物理的世界内のオブジェクトについての適正な情報を提供するかどうかを検出してもよい。プロセッサは、画像が低周囲光条件の結果として適正な画像情報を提供しないことを検出することに応答して、エミッタを有効にしてもよい。例えば、エミッタは、立体視情報が、オブジェクトを追跡するために使用されており、周囲光の欠如が、追跡されているオブジェクトの特徴間に、立体視画像技法を使用して距離を正確に決定するために不十分なコントラストを伴う、画像をもたらすとき、オンにされてもよい。
代替として、または加えて、エミッタ2130aおよび/またはエミッタ2130bは、光を短パルスにおいて放出すること等によって、能動深度測定を行う際に使用するために構成されてもよい。ウェアラブルディスプレイシステムは、エミッタ2130aの照明野2131aおよび/またはエミッタ2130bの照明野2131b内のオブジェクトからのそのようなパルスの反射を検出することによって、飛行時間測定を実施するように構成されてもよい。これらの飛行時間測定は、オブジェクトを追跡する、またはパス可能世界モデルを更新するための付加的深度情報を提供し得る。他の実施形態では、エミッタのうちの1つ以上のものは、パターン化された光を放出するように構成されてもよく、XRシステムは、そのパターン化された光によって照明されたオブジェクトの画像を処理するように構成されてもよい。そのような処理は、パターン内の変動を検出し得る、これは、オブジェクトまでの距離を明らかにし得る。
いくつかの実施形態では、エミッタと関連付けられる照明野の範囲は、少なくとも、カメラの視野を照明し、オブジェクトについての画像情報を入手するために十分であり得る。例えば、エミッタは、集合的に、中心視野2150を照明してもよい。図示される実施形態では、エミッタ2130aおよびエミッタ2130bは、集合的に、能動照明が提供され得る、範囲に及ぶ、照明野2131aおよび照明野2131bを照明するように位置付けられてもよい。本例示的実施形態では、2つのエミッタが、示されるが、より多いまたはより少ないエミッタが、所望の範囲に及ぶために使用されてもよいことを理解されたい。
いくつかの実施形態では、エミッタ2130aおよび2130b等のエミッタは、デフォルトによって、オフにされ得るが、付加的照明が、受動結像を用いて入手され得るものより多くの情報を入手するために望ましいとき、有効にされてもよい。ウェアラブルディスプレイシステムは、付加的深度情報が要求されるとき、エミッタ2130aおよび/またはエミッタ2130bを有効にするように構成されてもよい。例えば、ウェアラブルディスプレイシステムが、立体視画像情報を使用して、手または頭部姿勢を追跡するための適正な深度情報を入手することができないことを検出すると、ウェアラブルディスプレイシステムは、エミッタ2130aおよび/またはエミッタ2130bを有効にするように構成されてもよい。エミッタ2130aおよび/またはエミッタ2130bは、付加的深度情報が要求されないとき、無効にされ、それによって、電力消費を低減させ、バッテリ寿命を改良してもよい。
さらに、ヘッドセットが、IR光を検出するように構成される画像センサとともに構成される場合でも、IRエミッタが、ヘッドセット2100上にまたはヘッドセット2100上にのみ搭載されることは、要件ではない。いくつかの実施形態では、IRエミッタは、ヘッドセット2100が使用され得る、室内等の空間内に配設された外部デバイスであってもよい。そのようなエミッタは、ヒトの眼に不可視である、940nmで、ArUcoパターン等において、IR光を投影してもよい。そのようなパターンを伴う光は、ヘッドセット2100が、IRパターンを提供する電力を供給する必要がないが、それでもなお、その画像情報上で実施される処理が空間内のオブジェクトまでの距離またはその場所を決定し得るように、パターンが提示される結果として、IR画像情報を提供し得る、「計装/補助追跡」を促進し得る。外部照明源を伴うシステムはまた、より多くのデバイスが、その空間で動作することを可能にし得る。それぞれ、固定位置関係を伴わずに、空間を動き回る、複数のヘッドセットが、同一空間内で動作している場合、1つのヘッドセットによって放出される光が、別のヘッドセットの画像センサ上に投影され、したがって、その動作を妨害するであろう、リスクが存在する。ヘッドセット間のそのような干渉のリスクは、空間内で動作し得る、ヘッドセットの数を、例えば、3または4つに限定し得る。ヘッドセット上の画像センサによって結像され得るオブジェクトを照明する、1つ以上のIRエミッタを空間内で用いることで、いくつかの実施形態では、10を上回る、より多くのヘッドセットが、干渉なく、同一空間内で動作し得る。
図3Bに関して上記に開示されるように、カメラ2140は、視野2141内の物理的世界の画像を捕捉するように構成されてもよい。カメラ2140は、画像センサと、レンズとを含んでもよい。画像センサは、カラー画像を生産するように構成されてもよい。画像センサは、6メガピクセル~24メガピクセルのサイズの画像を入手するように構成されてもよい。例えば、画像センサは、4K×2K分解能(例えば、3,840本または4,096本の線の水平分解能および1,716または2,160本の線の垂直分解能)で画像を入手してもよい。画像センサは、繰り返しまたは周期的に、画像を入手するように構成されてもよい。例えば、画像センサは、60Hz等、30Hz~120Hzの周波数において、画像を入手するように構成されてもよい。
画像センサは、CMOS画像センサであってもよい。画像センサは、ロールシャッタとともに構成されてもよい。図14および図15に関して上記に議論されるように、ロールシャッタは、異なるサブセット内のピクセルが異なる時間に集められた光強度データを反映させるように、画像センサ内のピクセルのサブセットを反復的に読み取ってもよい。例えば、画像センサは、画像センサ内のピクセルの第1の行を第1の時間に、画像センサ内のピクセルの第2の行をある後の時間に読み取るように構成されてもよい。いくつかの実施形態では、センサは、CMOSセンサであってもよい。
カメラ2140の視野2141は、水平視野と、垂直視野とを含んでもよい。水平視野は、75~125度に延在し得る一方、垂直視野は、60~125度に延在してもよい。
IMU2170aおよび/またはIMU2170bは、加速および/または速度および/または傾き情報をウェアラブルディスプレイシステムに提供するように構成されてもよい。例えば、ヘッドセット2100を装着しているユーザが移動するにつれて、IMU2170aおよび/またはIMU2170bは、ユーザの頭部の加速および/または速度を説明する情報を提供してもよい。
ウェアラブルディスプレイシステムは、プロセッサに結合されてもよく、これは、カメラを用いて入手された画像情報を処理し、本明細書に説明されるようなカメラを用いて捕捉された画像からの情報を抽出し、および/または仮想オブジェクトをディスプレイデバイス上にレンダリングするように構成されてもよい。プロセッサは、フレーム2101に機械的に結合されてもよい。代替として、プロセッサは、単眼2110aまたは単眼2110bを含む、ディスプレイデバイス等のディスプレイデバイスに機械的に結合されてもよい。さらなる代替として、プロセッサは、通信リンクを通して、ヘッドセット2100および/またはディスプレイデバイスに動作可能に結合されてもよい。例えば、XRシステムは、ローカルデータ処理モジュールを含んでもよい。本ローカルデータ処理モジュールは、プロセッサを含んでもよく、物理的接続(例えば、ワイヤまたはケーブル)または無線(例えば、Bluetooth(登録商標)、Wi-Fi、Zigbee(登録商標)、または同等物)接続を通して、ヘッドセット2100またはディスプレイデバイスに接続されてもよい。
プロセッサは、世界再構築、頭部姿勢追跡、およびオブジェクト追跡動作を実施するように構成されてもよい。例えば、プロセッサは、カメラ2120a、カメラ2120b、およびカメラ2140を使用して、パス可能世界モデルを作成するように構成されてもよい。パス可能世界モデルを作成する際、プロセッサは、カメラ2120aおよびカメラ2120bによって入手された同一の物理的オブジェクトの複数の画像を使用して、深度情報を立体視的に決定するように構成されてもよい。付加的実施例として、プロセッサは、カメラ2120aおよびカメラ2120bを使用するが、カメラ2140を使用せずに、既存のパス可能世界モデルを更新するように構成されてもよい。上記に述べられたように、カメラ2120aおよびカメラ2120bは、カラーカメラ2140より比較的に低い分解能を伴う、グレースケールカメラであってもよい。その結果、カメラ2140ではなく、カメラ2120aおよびカメラ2120bによって入手された画像を使用して、パス可能世界モデルを更新することは、低減された電力消費および改良されたバッテリ寿命を伴って、迅速に実施され得る。いくつかの実施形態では、プロセッサは、随時または周期的に、カメラ2120a、カメラ2120b、およびカメラ2140を使用して、パス可能世界モデルを更新するように構成されてもよい。例えば、プロセッサは、パス可能世界品質基準がもはや満たされていない、および/またはカメラ2140によって入手された画像の最後の入手および/または使用以降、所定の時間インターバルが経過している、および/または変化が、現在、カメラ2120a、カメラ2120b、およびカメラ2140の視野内の物理的世界の一部内のオブジェクトに生じていることを決定するように構成されてもよい。
XRシステムは、いくつかの実施形態によると、ハードウェアアクセラレータを備えてもよい。ハードウェアアクセラレータは、特定用途向け集積回路(ASIC)または他の半導体デバイスとして実装されてもよく、カメラ2120aおよびカメラ2120bからの画像情報を受信するように、ヘッドセット2100内に統合される、または別様に、それに結合されてもよい。本ハードウェアアクセラレータは、2つの世界カメラ2120aおよび2120bによって入手された画像を使用して、深度情報の立体視決定を補助し得る。これらの画像は、グレースケール画像であってもよい。ハードウェア加速を使用することは、深度情報の決定を加速し、電力消費を低減させ、したがって、バッテリ寿命を増加させ得る。
プロセッサは、カメラ2120aおよびカメラ2120bからの画像を使用して、中心視野2150内のオブジェクト追跡を実施するように構成されてもよい。いくつかの実施形態では、プロセッサは、2つのカメラによって入手された第1の画像から立体視的に決定される深度情報を使用して、オブジェクト追跡を実施してもよい。非限定的実施例として、追跡されたオブジェクトは、ウェアラブルディスプレイシステムのユーザの手であってもよい。プロセッサは、カメラ2120aおよびカメラ2120bのうちの1つから入手された画像を使用して、周辺視野内のオブジェクト追跡を実施するように構成されてもよい。
例示的較正プロセス
図22は、いくつかの実施形態による、較正ルーチン(方法2200)の簡略化されたフローチャートを描写する。プロセッサは、ウェアラブルディスプレイシステムが装着されている間、較正ルーチンを実施するように構成されてもよい。較正ルーチンは、ヘッドセット2100の軽量構造から生じる歪曲に対処し得る。いくつかの実施形態では、較正ルーチンは、使用の間、温度変化またはフレーム2101の機械的歪みに起因して生じる、フレーム2101内の歪曲に対処し得る。例えば、プロセッサは、較正ルーチンが、ウェアラブルディスプレイシステムの使用の間、フレーム2101内の歪曲を補償するように、較正ルーチンを繰り返し実施してもよい。補償ルーチンは、自動的に、または手動入力(例えば、較正ルーチンを実施するためのユーザ要求)に応答して、実施されてもよい。較正ルーチンは、カメラ2120aおよびカメラ2120bの相対的位置および配向を決定するステップを含んでもよい。プロセッサは、カメラ2120aおよびカメラ2120bによって入手された画像を使用して、較正ルーチンを実施するように構成されてもよい。いくつかの実施形態では、プロセッサはさらに、IMU2170aおよびIMU2170bの出力を使用するように構成されてもよい。
ブロック2201から開始後、方法2200は、ブロック2210に進み得る。ブロック2210では、プロセッサは、カメラ2120aおよびカメラ2120bから入手された画像内の対応する特徴を識別してもよい。対応する特徴は、物理的世界内のオブジェクトの一部であってもよい。いくつかの実施形態では、オブジェクトは、較正目的のために、ユーザによって中心視野2150内に設置されてもよく、所定の相対的位置を有し得る、画像内で容易に識別可能な特徴を有してもよい。しかしながら、本明細書に説明される較正技法は、較正時に中心視野2150内に存在するオブジェクト上の特徴に基づいて、較正が、ヘッドセット2100の使用の間、繰り返されることを可能にするように実施されてもよい。種々の実施形態では、プロセッサは、視野2121aおよび視野2121bの両方内で検出された特徴を自動的に選択するように構成されてもよい。いくつかの実施形態では、プロセッサは、視野2121aおよび視野2121b内の特徴の推定される場所を使用して、特徴間の対応を決定するように構成されることができる。そのような推定は、これらの特徴を含有するオブジェクトのために構築されたパス可能世界モデルまたは特徴についての他の情報に基づいてもよい。
方法2200は、ブロック2230に進み得る。ブロック2230では、プロセッサは、慣性測定データを受信してもよい。慣性測定データは、IMU2170aおよび/またはIMU2170bから受信されてもよい。慣性測定データは、傾きおよび/または加速および/または速度測定を含んでもよい。いくつかの実施形態では、IMU2170aおよび2170bは、直接または間接的に、それぞれ、カメラ2120aおよびカメラ2120bに機械的に結合されてもよい。そのような実施形態では、IMU2170aおよび2170bによって行われる、傾き等の慣性測定における差異は、カメラ2120aおよびカメラ2120bの位置および/または配向における差異を示し得る。故に、IMU2170aおよび2170bの出力は、カメラ2120aおよびカメラ2120bの相対的位置の初期推定を行うための基礎を提供し得る。
ブロック2230後、方法2200は、ブロック2250に進み得る。ブロック2250では、プロセッサは、カメラ2120aおよびカメラ2120bの相対的位置および配向の初期推定値を算出してもよい。本初期推定値は、IMU2170aおよび/またはIMU2170bから受信された測定を使用して算出されてもよい。いくつかの実施形態では、例えば、ヘッドセットは、カメラ2120aおよびカメラ2120bの公称相対的位置および配向を用いて設計されてもよい。プロセッサは、IMU2170aとIMU2170bとの間の受信された測定における差異が、カメラ2120aおよびカメラ2120bの位置および/または配向を改変し得る、フレーム2101内の歪曲に起因すると見なすように構成されてもよい。例えば、IMU2170aおよびIMU2170bは、これらのセンサによる傾きおよび/または加速および/または速度測定が、所定の関係を有するように、直接または間接的に、フレーム2101に機械的に結合されてもよい。フレーム2101が歪曲された状態になると、本関係は、影響され得る。非限定的実施例として、IMU2170aおよびIMU2170bは、フレーム2101の歪曲が存在しないとき、これらのセンサが、ヘッドセットの移動の間、類似傾き、加速、または速度ベクトルを測定するように、フレーム2101に機械的に結合されてもよい。本非限定的実施例では、IMU2170aをIMU2170bに対して回転させる、捻転または屈曲は、IMU2170bに関する対応するベクトル測定に対してIMU2170aに関する傾き、加速、または速度ベクトル測定の対応する回転をもたらし得る。プロセッサは、したがって、IMU2170aおよびIMU2170bが、それぞれ、カメラ2120aおよびカメラ2120bに機械的に結合されるため、カメラ2120aおよびカメラ2120bのための公称相対的位置および配向をIMU2170aとIMU2170bとの間の測定された関係と一致するように調節してもよい。
他の技法も、代替として、または加えて、初期推定を行うために使用されてもよい。較正方法2200が、XRシステムの動作の間、繰り返し実施される、実施形態では、初期推定値は、例えば、直近の算出された推定値であってもよい。
ブロック2250後、サブプロセスが、開始され、カメラ2120aおよびカメラ2120bの相対的位置および配向のさらなる推定値が、行われる。推定値のうちの1つが、カメラ2120aおよびカメラ2120bによって入手された画像から立体視深度情報を算出するために、カメラ2120aおよびカメラ2120bの相対的位置および配向として選択される。そのサブプロセスは、容認可能推定値が識別されるまで、さらなる推定が各反復において行われるように、反復的に実施されてもよい。図22の実施例では、そのサブプロセスは、ブロック2270、2272、2274、および2290を含む。
ブロック2270では、プロセッサは、カメラおよび比較されている特徴の推定される相対的配向に関する誤差を算出してもよい。本誤差を算出する際、プロセッサは、カメラ2120aおよびカメラ2120bおよび較正のために使用されている推定される場所特徴の推定される相対的配向に基づいて、識別された特徴が現れるべき方法または識別された特徴がカメラ2120aおよびカメラ2120bを用いて入手された対応する画像内に位置すべき場所を推定するように構成されてもよい。いくつかの実施形態では、本推定値は、2つのカメラのそれぞれを用いて入手された画像内の対応する特徴の外観または見掛け場所と比較され、推定される相対的配向毎に、誤差を生成し得る。そのような誤差は、線形代数技法を使用して算出されてもよい。例えば、画像内の複数の特徴のそれぞれの算出場所と実際の場所との間の平均二乗偏差が、誤差のためのメトリックとして使用されてもよい。
ブロック2270後、方法2200は、ブロック2272に進み得、そこで、誤差が承認基準を満たすかどうかに関するチェックが、行われてもよい。その基準は、例えば、誤差の全体的大きさであってもよい、または反復間の誤差の変化であってもよい。誤差が承認基準を満たす場合、方法2200は、ブロック2290に進む。
ブロック2290では、プロセッサは、ブロック2272において算出された誤差に基づいて、推定される相対的配向のうちの1つを選択してもよい。選択された推定される相対的位置および配向は、最低誤差を有する、推定される相対的位置および配向であってもよい。いくつかの実施形態では、プロセッサは、カメラ2120aおよびカメラ2120bの現在の相対的位置および配向として、本最低誤差と関連付けられる、推定される相対的位置および配向を選択するように構成されてもよい。ブロック2290後、方法2200は、ブロック2299に進み得る。方法2200は、ブロック2299において終了し、カメラ2120aおよびカメラ2120bの選択された位置および配向は、それらのカメラを用いて形成される画像に基づいて、立体視画像情報を算出するために使用されてもよい。
誤差が、ブロック2272において、承認基準を満たさない場合、方法2200は、ブロック2274に進み得る。ブロック2274では、ブロック2270において誤差を算出する際に使用される推定値は、更新されてもよい。それらの更新は、カメラ2120aおよびカメラ2120bの推定される相対的位置および/または配向に対するものであってもよい。較正のために使用されている特徴のセットの相対的位置が推定される、実施形態では、ブロック2274において選択された更新された推定値は、代替として、または加えて、セット内の特徴の場所の位置に対する更新を含んでもよい。そのような更新は、複数の変数を伴う方程式のセットを解法するために使用される、線形代数技法に従って行われてもよい。具体的実施例として、推定される位置または配向のうちの1つ以上のものは、増加または減少され得る。その変化が、サブプロセスの1回の反復において、算出された誤差を減少させる場合、後続反復では、同一の推定される位置または配向が、同一方向にさらに変化されてもよい。逆に言えば、変化が、誤差を増加された場合、後続反復では、それらの推定される位置または配向は、対向方向に変化されてもよい。較正プロセスにおいて使用されているカメラおよび特徴の推定される位置および配向は、順次または組み合わせて、このように変動され得る。
いったん更新された推定値が、算出されると、サブプロセスは、ブロック2270に戻る。そこで、サブプロセスのさらなる反復が、推定される相対的位置に関する誤差の算出とともに開始される。このように、推定される位置および配向は、容認可能誤差を提供する、更新された相対的位置および配向が、選択されるまで、更新される。しかしながら、ブロック2272における処理は、容認可能誤差を見出さずに、ある数の反復を完了させる等、反復サブプロセスを終了させるために、他の基準を適用してもよいことを理解されたい。
方法2200は、カメラ2120aおよびカメラ2120bに関連して説明されるが、類似較正は、立体視結像のために使用される、任意の対のカメラのために、または相対的位置および配向が所望される、複数のカメラの任意のセットのために、実施されてもよい。例えば、カメラ2140の位置および配向は、カメラ2120aおよびカメラ2120bの一方または両方に対して算出されてもよい。
例示的カメラ構成
いくつかの実施形態によると、コンポーネントが、XRシステムの複数の機能をサポートするための視野および照明野を提供するように、ヘッドセット2100の中に組み込まれる。図23A-23Cは、いくつかの実施形態による、図21のヘッドセット2100と関連付けられる、視野または照明の例示的略図である。例示的略図はそれぞれ、異なる配向およびヘッドセットからの距離からの視野または照明を描写する。図23Aは、上昇された軸外目線からの、ヘッドセットから1メートルの距離における、視野または照明を描写する。図23Aは、カメラ2120a、2120b、および2140のための視野間の重複、特に、視野2121aおよび視野2121bがヘッドセット2100の正中線を交差するように、カメラ2120aおよびカメラ2120bが角度付けられる方法を描写する。描写されるように、エミッタ2130aおよびエミッタ2130bのための照明野は、主として、重複する。このように、エミッタ2130aおよびエミッタ2130bは、低周囲光の条件下での中心視野2150内のオブジェクトのための結像または深度測定をサポートするように構成されてもよい。図23Bは、上下目線からの、ヘッドセットから0.3メートルの距離における、視野または照明を描写する。図23Bは、視野2121a、視野2121b、および視野2141の重複が、ヘッドセットから0.3メートルに存在することを描写する。図23Cは、正面視目線からの、ヘッドセットから0.25メートルの距離における、視野または照明を描写する。図23Cは、視野2121a、視野2121b、および視野2141の重複が、ヘッドセットから0.25メートルに存在することを描写する。
図23A-23Cから理解され得るように、視野2121a、視野2121b、および視野2141の重複は、立体視結像技法が、エミッタ2130aおよびエミッタ2130bからのIR照明の有無にかかわらず、カメラ2120aおよびカメラ2120bを用いて入手されたグレースケール画像を使用して採用され得る、中心視野を作成する。本中心視野では、カメラ2140からのカラー情報は、グレースケール画像情報と組み合わせられてもよい。加えて、重複が存在しないが、単眼グレースケール画像情報が、カメラ2120aまたはカメラ2120bのうちの1つから利用可能である、周辺視野が存在する。異なる演算が、本明細書に説明されるように、中心および周辺視野のために入手された画像情報上で実施されてもよい。
世界モデル生成
いくつかの実施形態では、中心視野内で入手された画像情報は、世界モデルを構築または更新するために使用されてもよい。図24は、いくつかの実施形態による、パス可能世界モデルを作成または更新するための方法の簡略化されたフローチャート2400である。図21に関して上記に開示されるように、ウェアラブルディスプレイシステムは、プロセッサを使用して、パス可能世界モデルを決定および更新するように構成されてもよい。いくつかの実施形態では、プロセッサは、エミッタ2130aおよび2130bを使用せずに、カメラ2120aおよびカメラ2120bおよびカメラ2140の出力に基づいて、本決定および更新を実施するように構成されてもよい。しかしながら、いくつかの実施形態では、パス可能世界モデルは、不完全な場合がある。例えば、プロセッサは、壁または他の平坦表面に関する深度を不完全に決定し得る。付加的実施例として、パス可能世界モデルは、ウィンドウ、ドア、ボール、テーブル、および同等物等の多くの角、湾曲表面、透明表面、または大表面を伴う、オブジェクトを不完全に表し得る。プロセッサ2400は、そのような不完全な情報を識別し、付加的情報を入手し、付加的深度情報を使用して、世界モデルを更新するように構成されてもよい。
いくつかの実施形態では、エミッタ2130aおよび2130bは、選択的に有効にされ、そこからパス可能世界モデルを構築または更新するための付加的画像情報を収集してもよい。いくつかのシナリオでは、プロセッサは、入手された画像内のオブジェクト認識を実施し、認識されるオブジェクトのためのテンプレートを選択し、テンプレートに基づいて、情報をパス可能世界モデルに追加するように構成されてもよい。このように、ウェアラブルディスプレイシステムは、エミッタ2130aおよび2130bのような電力集約的コンポーネントを殆どまたは全く利用せずに、パス可能世界モデルを改良し、それによって、バッテリ寿命を延長させ得る。
方法2400は、ウェアラブルディスプレイシステムの動作の間、1回またはそれを上回って、開始されてもよい。プロセッサは、ユーザが、最初に、システムをオンにする、別の部屋の中に歩いて行く等によって、新しい環境に移動するとき、または概して、プロセッサが、ユーザの物理的環境の変化を検出するとき、パス可能世界モデルを作成するように構成されてもよい。代替として、または加えて、方法2400は、ウェアラブルディスプレイシステムの動作の間、または物理的世界の有意な変化が、検出されるとき、または世界モデルが物理的世界と同期していないことを示す入力等のユーザ入力に応答して、周期的に、実施されてもよい。
いくつかの実施形態では、パス可能世界モデルの全部または一部は、記憶される、XRシステムの他のユーザによって提供される、または別様に、取得されてもよい。したがって、世界モデルの作成が、説明されるが、方法2400は、他のソースから導出される世界モデルの他の部分とともに、世界モデルの一部のために使用されてもよいことを理解されたい。
ブロック2401から開始後、方法2400は、ブロック2410に進み得る。ブロック2410では、パス可能世界モデルが、作成されてもよい。図示される実施形態では、プロセッサは、カメラ2140とともに、カメラ2120aおよびカメラ2120bを使用して、パス可能世界モデルを作成してもよい。上記に説明されるように、パス可能世界モデルを生成する際、プロセッサは、パス可能世界モデルを構築するとき、カメラ2120aおよびカメラ2120bから入手されたグレースケール画像を使用して、物理的世界内のオブジェクトに関する深度情報を立体視的に決定するように構成されてもよい。いくつかの実施形態では、プロセッサは、カメラ2140からのカラー情報を受信してもよい。本カラー情報は、オブジェクトを区別するため、または同一オブジェクトと関連付けられる表面を識別するために使用されてもよい。カラー情報はまた、オブジェクトを認識するために使用されてもよい。
ブロック2410において、パス可能世界モデルを作成後、方法2400は、ブロック2430に進み得る。ブロック2430では、プロセッサは、それを用いてパス可能世界モデルを更新するために、表面および/またはオブジェクトを識別してもよい。プロセッサは、カメラ2120aおよびカメラ2120bから入手されたグレースケール画像を使用して、そのような表面またはオブジェクトを識別してもよい。いくつかの実施形態では、プロセッサは、これらのグレースケール画像を使用して、物理的世界内のオブジェクトに関する深度情報を立体視的に決定してもよい。深度情報は、パス可能世界モデルを更新するときに使用されてもよい。代替として、または加えて、単眼情報が、世界モデルを更新するために使用されてもよい。
例えば、いったんパス可能世界内の特定の場所における表面を示す、世界モデルが、ブロック2410において、作成されると、カメラ2120aおよび/またはカメラ2120bから入手されたグレースケール画像は、ほぼ同一特性の表面を検出するために使用され、パス可能世界モデルが、パス可能世界モデル内のその表面の位置を更新することによって、更新されるべきであることを決定してもよい。パス可能世界モデル内の表面とほぼ同一形状を伴う、ほぼ同一場所における表面は、例えば、パス可能世界モデル内のその表面に匹敵すると見なされてもよく、パス可能世界モデルは、適宜、更新されてもよい。別の実施例として、パス可能世界モデル内に表されるオブジェクトの位置は、カメラ2120aおよび/またはカメラ2120bから入手されたグレースケール画像に基づいて、更新されてもよい。
グレースケール情報は、立体視情報であってもよい、または単眼情報であってもよい。いくつかの実施形態では、更新は、立体視情報が利用可能である、中心視野内のオブジェクトに関する立体視情報に基づき、かつ単眼情報のみが利用可能である、カメラ2120aまたはカメラ2120bのうちの1つの周辺視野内の単眼情報に基づいてもよい。いくつかの実施形態では、更新プロセスは、オブジェクトが中心視野または周辺視野内にあるかどうかに基づいて、異なるように実施されてもよい。例えば、更新は、中心視野内の検出された表面のために実施されてもよい。周辺視野内では、更新は、例えば、プロセッサが、プロセッサが、パス可能世界モデルに対する任意の更新がそのオブジェクトと一致することを確認し得るようなモデルを有する、オブジェクトに関してのみ実施され得る。代替として、または加えて、新しいオブジェクトまたは表面が、グレースケール画像上での処理に基づいて認識されてもよい。そのような処理が、ブロック2410における処理よりオブジェクトまたは表面のあまり正確ではない表現につながる場合でも、より高速かつより低い電力処理のための正確度のトレードオフは、いくつかのシナリオでは、より良好な全体的システムにつながり得る。さらに、より低い正確度情報は、グレースケールカメラのみを用いて生成された世界モデルの部分と、グレースケールカメラと組み合わせたカラーカメラの使用を通して生成された情報を伴う部分とを作成するように、方法2400を周期的に繰り返すことによって、周期的に、より高い正確度情報によって置換されてもよい。
ブロック2430において、パス可能世界モデルを更新後、方法2400は、ブロック2450に進み得る。ブロック2450では、プロセッサは、パス可能世界モデルが不完全な深度情報を含むかどうかを識別してもよい。不完全な深度情報は、複数の方法のいずれかにおいて生じ得る。例えば、いくつかのオブジェクトは、検出可能構造を画像内にもたらさない。例えば、非常に暗い、物理的世界内の領域は、周囲照明を用いて入手された画像からの深度情報を抽出するために十分な分解能で結像され得ない。別の実施例として、窓またはガラステーブルの表面は、可視画像内のコンピュータ化された処理によって現れない、または認識され得ない。さらに別の実施例として、テーブルの表面または壁等の大均一表面は、立体視画像処理を可能にするために、2つの立体視画像内で相関し得る、十分な特徴を欠いている場合がある。結果として、プロセッサは、立体視処理を使用して、そのようなオブジェクトの場所を決定することが不可能であり得る。これらのシナリオでは、「穴」が世界モデル内に存在し、パス可能世界モデルを使用して、「穴」を通して通過する特定の方向における、表面までの距離を決定しようとするプロセスは、任意の深度情報を入手することが不可能であろう。
パス可能世界モデルが、不完全な深度情報を含まないとき、方法2400は、カメラ2120aおよびカメラ2120bから取得されるグレースケール画像を使用して、パス可能世界モデルを更新するステップに戻り得る。
不完全な深度情報の識別に続き、方法2400を制御するプロセッサは、1つ以上のアクションを講じ、付加的深度情報を入手してもよい。方法2400は、ブロック2471および/またはブロック2473に進み得る。ブロック2471では、プロセッサは、エミッタ2130aおよび/またはエミッタ2130bを有効にしてもよい。上記に開示されるように、カメラ2120a、カメラ2120b、またはカメラ2140のうちの1つ以上のものは、エミッタ2130aおよび/またはエミッタ2130bによって放出される光を検出するように構成されてもよい。プロセッサは、次いで、エミッタ2130aおよび/または2130bに、物理的世界内のオブジェクトの入手された画像を向上させ得る、光を放出させることによって、深度情報を入手してもよい。カメラ2120aおよびカメラ2120bが、放出される光に敏感であるとき、例えば、カメラ2120aおよびカメラ2120bを用いて入手された画像は、立体視情報を抽出するために処理されてもよい。他の分析技法も、代替として、または加えて、エミッタ2130aおよび/またはエミッタ2130bが有効にされると、深度情報を取得するために使用されてもよい。飛行時間測定および/または構造化された光技法が、代替として、または加えて、いくつかの実施形態では、使用されてもよい。
ブロック2473では、プロセッサは、以前に入手された深度情報からの付加的深度情報を決定してもよい。いくつかの実施形態では、例えば、プロセッサは、カメラ2120aおよび/またはカメラ2120bを用いて形成される画像内のオブジェクトを識別し、識別されたオブジェクトのモデルに基づいて、パス可能世界モデル内の任意の穴を充填するように構成されてもよい。例えば、処理は、物理的世界内の平面表面を検出してもよい。平面表面は、カメラ2120aおよび/またはカメラ2120bを用いて入手された既存の深度情報、またはパス可能世界モデル内に記憶される深度情報を使用して、検出されてもよい。平面表面は、世界モデルの一部が不完全な深度情報を含むことの決定に応答して、検出されてもよい。プロセッサは、検出された平面表面に基づいて、付加的深度情報を推定するように構成されてもよい。例えば、プロセッサは、識別された平面表面を不完全な深度情報の領域を通して延在させるように構成されてもよい。いくつかの実施形態では、プロセッサは、平面表面を延在させるとき、パス可能世界モデルの囲繞する部分に基づいて、欠測深度情報を補間するように構成されてもよい。
いくつかの実施形態では、付加的実施例として、プロセッサは、不完全な深度情報を含む、世界モデルの部分内のオブジェクトを検出するように構成されてもよい。いくつかの実施形態では、本検出は、ニューラルネットワークまたは他の機械学習ツールを使用して、オブジェクトを認識するステップを伴ってもよい。いくつかの実施形態では、プロセッサは、記憶されたテンプレートのデータベースにアクセスし、識別されたオブジェクトに対応する、オブジェクトテンプレートを選択するように構成されてもよい。例えば、識別されたオブジェクトが、窓であるとき、プロセッサは、記憶されたテンプレートのデータベースにアクセスし、対応するウィンドウテンプレートを選択するように構成されてもよい。非限定的実施例として、テンプレートは、窓、ドア、ボール、または同等物のタイプ等のオブジェクトのクラスを表す、3次元モデルであってもよい。プロセッサは、更新された世界モデル内のオブジェクトの画像に基づいて、オブジェクトテンプレートのインスタンスを構成してもよい。例えば、プロセッサは、テンプレートをスケーリング、回転、および平行移動させ、更新された世界モデル内のオブジェクトの検出された場所に合致させてもよい。付加的深度情報が、次いで、認識されるオブジェクトの表面を表す、構成されるテンプレートの境界に基づいて、推定されてもよい。
ブロック2471および/またはブロック2473後、方法2400は、ブロック2490に進み得る。ブロック2490では、プロセッサは、ブロック2471および/またはブロック2473において取得される付加的深度情報を使用して、パス可能世界モデルを更新してもよい。例えば、プロセッサは、能動IR照明を用いて行われた測定から取得される付加的深度情報を既存のパス可能世界モデルの中に混成するように構成されてもよい。付加的実施例として、プロセッサは、検出された平面表面を延在させることによって取得される補間された深度情報を既存のパス可能世界モデルの中に混成する、または構成されるテンプレートの境界から推定される付加的深度情報を既存のパス可能世界モデルの中に混成するように構成されてもよい。情報は、付加的深度情報および/またはパス可能世界モデル内の情報の性質に応じて、1つ以上の方法において混成されてもよい。混成は、例えば、パス可能世界モデルに、パス可能世界モデル内に穴が存在する、場所に関して収集された付加的深度情報を追加することによって実施されてもよい。代替として、付加的深度情報は、パス可能世界モデル内の対応する場所における情報を上書きしてもよい。さらに別の代替として、混成は、パス可能世界モデル内にすでにある情報と付加的深度情報との間で選択するステップを伴ってもよい。そのような選択は、例えば、パス可能世界モデル内にすでにあるか、または付加的深度情報を収集するために使用されているカメラに最も近い表面を表す、付加的深度情報内のものであるかのいずれかの深度情報を選択するステップに基づいてもよい。
いくつかの実施形態では、パス可能世界モデルは、接続される点のメッシュによって表されてもよい。世界モデルを更新することは、世界モデルに追加されるべきオブジェクトまたは表面のメッシュ表現を算出し、次いで、そのメッシュ表現と世界モデルのメッシュ表現を組み合わせることによって行われてもよい。本発明者らは、本順序で処理を実施することが、オブジェクトまたは表面を世界モデルに追加し、次いで、更新されたモデルのためのメッシュを算出するよりも少ない処理を要求し得ることを認識し、その真価を認めた。
図24は、ブロック2430および2490の両方で更新された世界モデルを示す。各ブロックにおける処理は、例えば、世界モデルに追加されるべきオブジェクトまたは表面のメッシュ表現を生成し、生成されたメッシュと世界モデルのメッシュを組み合わせることによって、同一方法で、または異なる方法で、実施されてもよい。いくつかの実施形態では、本マージ動作は、ブロック2430およびブロック2490において識別されたオブジェクトまたは表面の両方に関して、1回、実施されてもよい。そのような組み合わせられる処理は、例えば、ブロック2490に関連して説明されるように実施されてもよい。
いくつかの実施形態では、方法2400は、1つ以上のグレースケールカメラを用いて入手された情報に基づいて、世界モデルを更新するプロセスを繰り返すように、ブロック2430に戻ってもよい。ブロック2430における処理は、ブロック2410における処理より少ない画像およびより小さい画像上で実施され得るため、より高いレートで繰り返されてもよい。本処理は、3~7回/秒等、10回/秒未満のレートで実施されてもよい。
方法2400は、終了条件が検出されるまで、このように繰り返されてもよい。例えば、方法2400は、所定の時間周期にわたって、ユーザ入力が受信されるまで、またはヘッドセット2100のカメラの視野内の物理的世界モデルの部分の特定のタイプまたは特定の大きさの変化が検出されるまで、繰り返されてもよい。方法2400は、次いで、ブロック2499において終了してもよい。方法2400は、より高い分解能カラーカメラを用いて入手されたものを含む、世界モデルの新しい情報がブロック2410において捕捉されるように、再び開始されてもよい。方法2400は、カラーカメラを使用して、世界モデルがグレースケール画像情報のみに基づいて更新されるレートより低速の平均レートでブロック2401において処理を繰り返し、世界モデルの一部を作成するように、終了され、再開されてもよい。カラーカメラを使用した処理は、例えば、1回/秒またはより低速の平均レートで繰り返されてもよい。
オブジェクト追跡
上記に説明されるように、XRシステムのプロセッサは、物理的世界内のオブジェクトを追跡し、物理的オブジェクトに対する仮想オブジェクトの現実的レンダリングをサポートし得る。追跡は、例えば、XRシステムのユーザの手等の移動可能なオブジェクトに関連して説明された。移動可能なオブジェクトの位置を迅速に更新することは、レンダリングが、仮想オブジェクトによる物理的オブジェクトのオクルージョンまたはその逆または物理的オブジェクト内の仮想オブジェクト間の相互作用を反映させ得るため、仮想オブジェクトを現実的にレンダリングすることを可能にする。物理的世界内の固定されるオブジェクトの追跡もまた、頭部姿勢追跡の一部として説明された。ユーザの頭部姿勢を決定することは、パス可能世界モデル内の情報が、オブジェクトをウェアラブルディスプレイデバイス上にレンダリングする際に使用され得るように、パス可能世界モデル内の情報が、ユーザのウェアラブルディスプレイデバイスの基準フレームの中に変換されることを可能にする。
いくつかの実施形態によると、グレースケールの立体視情報が、中心視野2150内のオブジェクトを追跡するために使用されてもよい。そのようなオブジェクトは、周辺視野2160aまたは2160b内にあるとき、追跡されなくてもよい。代替として、または加えて、単眼画像情報のみを使用する、異なる追跡アプローチが、これらの周辺視野内で追跡するために使用されてもよい。
手の追跡は、オブジェクト追跡の実施例として使用されてもよい。図25は、いくつかの実施形態による、手の追跡の方法(方法2500)の簡略化されたフローチャートである。種々の実施形態では、プロセッサは、ユーザの手が中心視野2150内にあるとき、カメラ2120aおよびカメラ2120bを使用して、ユーザの手が周辺視野2120b内にあるとき、カメラ2120aのみを使用して、ユーザの手が周辺視野2120b内にあるとき、カメラ2120bのみを使用して、手の追跡を実施するように構成されてもよい。このように、ウェアラブルディスプレイシステムは、本構成では、利用可能な低減された数のカメラを使用して、適正な手の追跡を提供し、低減された電力消費および増加されたバッテリ寿命を可能にするように構成されてもよい。
方法2500は、XRシステムのプロセッサの制御下で、実施されてもよい。本方法は、ヘッドセット2100上のカメラのうちの任意の1つを用いて入手された画像の分析の結果として、手等の追跡されるべきオブジェクトの検出に応じて、開始されてもよい。その分析は、手の特性である、測光特性を有する、画像の領域に基づいて、オブジェクトを手として認識するステップを伴い得る。代替として、または加えて、立体視画像分析に基づいて入手された深度情報が、手を検出するために使用されてもよい。具体的実施例として、深度情報は、手の3Dモデルに合致する形状を有する、オブジェクトが存在することを示し得る。このように手の存在を検出することはまた、手のモデルのパラメータを手の配向に合致するように設定するステップを伴い得る。いくつかの実施形態では、そのようなモデルはまた、1つ以上のグレースケールカメラからの測光情報を使用して、どのように手がオリジナル位置から移動したかを決定することによって、高速の手の追跡のために使用されてもよい。
XRシステムが、ユーザの手が1つ以上のカメラの視野に進入することが予期されるように、ユーザがその手で押下を試みる可能性が高い、仮想ボタンをレンダリングする等、オブジェクトを追跡するステップを伴う動作を実施する等、他のトリガ条件が、方法2500を開始してもよい。方法2500は、30~100回/秒、例えば、40~60回/秒等、比較的に高レートで繰り返されてもよい。結果として、追跡されているオブジェクトに関する更新された位置情報が、物理的オブジェクトと相互作用する仮想オブジェクトをレンダリングするために処理するために、短待ち時間で利用可能にされ得る。
ブロック2501から開始後、方法2500は、ブロック2510に進み得る。ブロック2510では、プロセッサは、潜在的手の場所を決定してもよい。いくつかの実施形態では、潜在的手の場所は、入手された画像内の検出されたオブジェクトの場所であってもよい。手が深度情報を手の3Dモデルに合致させることに基づいて検出される、実施形態では、同一情報が、ブロック2510において、手の初期位置として使用されてもよい。
ブロック2510後、方法2500は、ブロック2520に進み得る。ブロック2520では、プロセッサは、オブジェクトが中心視野または周辺視野内にあるかどうかを決定してもよい。オブジェクトが、中心視野内にあるとき、方法2500は、ブロック2531に進み得る。ブロック2531では、プロセッサは、オブジェクトに関する深度情報を取得してもよい。その深度情報は、そこから画像情報を収集するカメラと追跡されているオブジェクトとの間の距離が算出され得る、立体視画像分析に基づいて、取得されてもよい。プロセッサは、例えば、中心視野内の特徴を選択し、選択された特徴に関する深度情報を決定してもよい。プロセッサは、カメラ2120aおよび2120bによって入手された画像を使用して、特徴に関する深度情報を立体視的に決定してもよい。
いくつかの実施形態では、選択された特徴は、骨および関節によって定義されるようなヒトの手の異なるセグメントを表し得る。特徴選択は、画像情報をヒトの手のモデルに合致させることに基づいてもよい。そのような合致は、例えば、ヒューリスティックに行われてもよい。ヒトの手は、例えば、16等の有限数のセグメントによって表されてもよく、手の画像内の点は、各セグメント上の特徴が選択され得るように、それらのセグメントのうちの1つにマッピングされてもよい。代替として、または加えて、そのような合致は、深層ニューラルネットまたは分類/決定森を使用して、分析において一連のはい/いいえ決定を適用し、手の異なる部分を識別し、手の異なる部分を表す特徴を選択してもよい。合致は、例えば、画像内の特定の点が、掌部分、手の甲、非親指の指、親指、指先、および/または指関節に属するかどうかを識別してもよい。任意の好適な分類子が、本分析段階のために使用されることができる。例えば、深層学習モジュールまたはニューラルネットワーク機構が、分類森の代わりに、またはそれに加え、使用されることができる。加えて、回帰森(例えば、Hough変換等を使用して)が、分類森に加え、使用されることができる。
選択される特徴の具体的数およびそれらの特徴を選択するために使用される技法にかかわらず、ブロック2531後、方法2500は、ブロック2550に進み得る。ブロック2550では、プロセッサは、次いで、深度情報に基づいて、手のモデルを構成してもよい。いくつかの実施形態では、手のモデルは、例えば、手内のセグメントとしての手内の骨のそれぞれと、隣接するセグメント間の可能性が高い角度の範囲を定義する、各関節とを表す、ヒトの手についての構造情報を反映させてもよい。選択された特徴の深度情報に基づいて、場所を手のモデル内のセグメントのそれぞれに割り当てることによって、XRシステムによる後続処理のために、手の位置についての情報が、提供され得る。
いくつかの実施形態では、ブロック2531および2550における処理は、反復的に実施されてもよく、それに関して深度情報が収集される、特徴の選択は、手のモデルの構成に基づいて精緻化される。手のモデルは、プロセッサが、手の成分を表す、特徴の選択を精緻化するために使用するように構成され得る、形状制約および運動制約を含んでもよい。例えば、手のセグメントを表すために選択される特徴が、手のモデルの制約に違反する、そのセクションの位置または運動を示すとき、そのセグメントを表すための異なる特徴が、選択されてもよい。
いくつかの実施形態では、手の追跡プロセスの連続反復が、深度情報の代わりに、またはそれに加え、測光画像情報を使用して実施されてもよい。各反復では、手の3Dモデルは、手の潜在的運動を反映させるように更新されてもよい。潜在的運動は、深度情報、測光情報、または手の軌道の投影等から決定されてもよい。深度情報が、使用される場合、深度情報は、処理を加速させるために、手のモデルの初期構成を設定するために使用されるものより限定された特徴のセットに関するものであってもよい。
どのように3Dの手のモデルが更新されるかにかかわらず、更新されたモデルは、測光画像情報に基づいて、精緻化されてもよい。モデルは、例えば、手の仮想画像をレンダリングし、どのように手の画像が現れることが予期されるかを表すために使用されてもよい。その予期される画像は、画像センサを用いて入手された測光画像情報と比較されてもよい。3Dモデルは、予期される測光情報と入手された測光情報との間の誤差を低減させるように調節されてもよい。調節された3Dモデルは、次いで、手の位置のインジケーションを提供する。本更新プロセスが、繰り返されるにつれて、3Dモデルは、手が移動すると、手の位置のインジケーションを提供する。
対照的に、ブロック2520における処理が、追跡されているオブジェクトが周辺視野内にあることを決定すると、立体視画像分析技法からの深度情報は、利用可能ではない場合がある。それでもなお、ブロック2535における処理では、プロセッサは、ヒトの手の構造を表す、画像内の特徴を選択し得る。そのような特徴は、ブロック2531において処理するために、上記に説明されるように、ヒューリスティックに、またはAI技法を使用して、識別されてもよい。
ブロック2555では、プロセッサは、次いで、選択された特徴および画像毎のそれらの選択された特徴の運動を、深度情報の利点を伴わずに、手のモデルに合致させるように試み得る。本合致は、ブロック2550において生成されたものほどあまりロバストではない情報をもたらし得る、またはあまり正確ではない場合がある。それでもなお、単眼情報に基づいて識別された情報は、XRシステムの動作に関する有用な情報を提供し得る。決定された情報は、例えば、手のジェスチャに対応する、手の運動の認識を含み得る。本ジェスチャ認識は、米国特許公開第2016/0026253号(手の追跡およびXRシステム内の画像情報から入手された手についての情報の使用に関連して教示する、全てに関して、参照することによって本明細書に組み込まれる)に説明される手の追跡方法を使用して実施されてもよい。
ブロック2550において、画像部分を手のモデルの部分に合致させた後、方法2500は、ブロック2599において終了してもよい。しかしながら、オブジェクト追跡は、XRシステムの動作の間、持続的に生じ得る、またはオブジェクトが1つ以上のカメラの視野内にある、インターバルの間、生じ得ることを理解されたい。故に、いったん方法2500の1回の反復が、完了されると、別の反復が、実施されてもよく、本プロセスは、オブジェクト追跡が実施されている、インターバルにわたって、実施されてもよい。いくつかの実施形態では、1回の反復において使用される情報は、後続反復において使用されてもよい。種々の実施形態では、例えば、プロセッサは、以前に検出された手の場所に基づいて、ユーザの手の更新された場所を推定するように構成されてもよい。例えば、プロセッサは、前の場所およびユーザの手の速度に基づいて、ユーザの手が次に来るであろう場所を推定してもよい。そのような情報は、パッチ追跡技法に関連して上記に説明されるように、オブジェクトの場所を検出するために処理される、画像情報の量を絞り込むために使用されてもよい。
したがって、いくつかの実施形態のいくつかの側面を説明したが、種々の改変、修正、および改良が、当業者に容易に想起されるであろうことを理解されたい。
一実施例として、実施形態は、拡張(AR)環境に関連して説明される。本明細書に説明される技法のいくつかまたは全ては、MR環境、またはより一般的に、他のXR環境において適用されてもよいことを理解されたい。
また、1つのパッチが、画像アレイに適用され、1つの移動可能なオブジェクトについての画像情報の選択的出力を制御する、画像アレイの実施形態が、説明される。物理的実施形態内には、1つを上回る移動可能なオブジェクトが存在してもよいことを理解されたい。さらに、いくつかの実施形態では、移動可能なオブジェクトが位置する場所以外の領域内の画像情報の頻繁な更新を選択的に取得することが望ましくあり得る。例えば、パッチは、仮想オブジェクトがレンダリングされるべき、物理的世界の領域についての画像情報を選択的に取得するように設定されてもよい。故に、いくつかの画像センサは、それらのパッチの軌道を追跡するための回路網の有無にかかわらず、2つ以上のパッチに関する情報を選択的に提供することが可能であり得る。
なおもさらなる実施例として、画像アレイは、入射光の大きさに関連する情報を出力するものとして説明される。大きさは、光周波数のスペクトルを横断した電力の表現であり得る。そのスペクトルは、白黒カメラ等における可視光の任意の色に対応する周波数において、比較的に広捕捉エネルギーであり得る。代替として、スペクトルは、可視光の単色に対応する、狭いものであってもよい。画像アレイ上に入射する光を特定の色の光に限定するためのフィルタが、本目的のために使用されてもよい。ピクセルが、具体的色の光を受け取るように限定される場合、異なるピクセルは、異なる色に限定されてもよい。そのような実施形態では、同一色に敏感であるピクセルの出力は、ともに処理されてもよい。
画像アレイ内のパッチを設定し、次いで、着目オブジェクトのためのパッチを更新するためのプロセスが、説明された。本プロセスは、例えば、画像センサの視野に進入するにつれて、移動可能なオブジェクト毎に、実施されてもよい。パッチは、着目オブジェクトが、パッチがもはや追跡されないように、または画像情報がパッチのために出力されないように、視野から退出すると、解除されてもよい。随時、パッチは、パッチと関連付けられるオブジェクトの場所を決定し、パッチの位置をその場所に対応するように設定すること等によって、更新されてもよいことを理解されたい。類似調節は、パッチの算出された軌道に行われることができる。オブジェクトのための運動ベクトルおよび/または画像センサの運動ベクトルが、他のセンサ情報から算出され、パッチ追跡のために画像センサまたは他のコンポーネントの中にプログラムされる値をリセットするために使用されてもよい。
例えば、オブジェクトの場所、運動、および他の特性は、広角ビデオカメラまたは立体視情報を伴う一対のビデオカメラの出力を分析することによって、決定されてもよい。これらの他のセンサからのデータは、世界モデルを更新するために使用されてもよい。更新に関連して、パッチ位置および/または軌道情報が、更新されてもよい。そのような更新は、パッチの位置がパッチ追跡エンジンによって更新されるより低いレートで生じ得る。パッチ追跡エンジンは、例えば、約1~30回/秒のレートで、新しいパッチ位置を算出してもよい。他の情報に基づく、パッチ位置の更新は、1回/秒~約1回/30秒インターバル等のより低速のレートで生じ得る。
変形例のなおもさらなる実施例として、図2は、遠隔処理モジュールと別個に頭部搭載型ディスプレイを伴う、システムを示す。本明細書に説明されるような画像センサは、システムのコンパクトな設計につながり得る。そのようなセンサは、より少ないデータを生成し、これは、ひいては、より低い処理要件およびより少ない電力消費につながる。処理および電力のより少ない必要性は、バッテリのサイズを低減させること等によって、サイズ低減を可能にする。故に、いくつかの実施形態では、拡張現実システム全体が、遠隔処理モジュールを伴わずに、頭部搭載型ディスプレイ内に統合されてもよい。頭部搭載型ディスプレイは、一対のゴーグルとして構成されてもよい、または図2に示されるように、サイズおよび形状が一対の眼鏡に類似してもよい。
さらに、画像センサが可視光に応答する、実施形態が、説明される。本明細書に説明される技法は、可視光を伴う動作に限定されないことを理解されたい。それらは、代替として、または加えて、IR光またはUV等のスペクトルの他の部分における「光」に応答してもよい。さらに、本明細書に説明されるような画像センサは、自然に生じる光に応答する。代替として、または加えて、センサは、照明源を伴うシステム内で使用されてもよい。いくつかの実施形態では、画像センサの感度は、照明源が光を放出する、スペクトルの部分に対して調整されてもよい。
別の実施例として、変化が画像センサから出力されるべきである、画像アレイの選択された領域は、画像分析が実施されるべき「パッチ」を規定することによって規定されることが説明される。しかしながら、パッチおよび選択された領域は、異なるサイズであってもよいことを理解されたい。選択された領域は、例えば、予測される軌道から逸脱する、追跡されている画像内のオブジェクトの運動を考慮し、および/またはパッチの縁の周囲の処理を可能にするために、パッチより大きくてもよい。
そのような改変、修正、および改良は、本開示の一部であるように意図され、本開示の精神および範囲内であるように意図される。
例えば、いくつかの実施形態では、画像センサのピクセルのカラーフィルタ102は、別個のコンポーネントではなく、代わりに、ピクセルサブアレイ100の他のコンポーネントのうちの1つの中に組み込まれてもよい。例えば、到着角/位置強度コンバータおよびカラーフィルタの両方を伴う、単一ピクセルを含む、実施形態では、到着角/強度コンバータは、特定の波長をフィルタリングする材料から形成される、透過性光学コンポーネントであってもよい。
いくつかの実施形態によると、ウェアラブルディスプレイシステムが、提供され、ウェアラブルディスプレイシステムは、フレームと、カメラの両方と関連付けられる、中心視野と、2つの第1のカメラの第1のものと関連付けられる、第1の周辺視野とを提供するように、フレームに機械的に結合される、2つの第1のカメラと、中心視野に重複する、カラー視野を提供するように、フレームに機械的に結合される、カラーカメラと、2つの第1のカメラおよびカラーカメラに動作可能に結合され、2つの第1のカメラによって入手された第1の画像から立体視的に決定される深度情報を使用して、中心視野内の手の運動を追跡し、2つの第1のカメラの第1のものによって入手された1つ以上の第2の画像を使用して、第1の周辺視野内の手の運動を追跡し、2つの第1のカメラおよびカラーカメラを使用して、世界モデルを作成し、2つの第1のカメラを使用して、世界モデルを更新するように構成される、プロセッサとを備えてもよい。
いくつかの実施形態では、2つの第1のカメラは、グローバルシャッタとともに構成されてもよい。いくつかの実施形態では、ウェアラブルディスプレイシステムはさらに、2つの第1のカメラによって入手された第1のグレースケール画像を使用して深度情報を立体視的に決定するための、ハードウェアアクセラレータを備えてもよい。いくつかの実施形態では、2つの第1のカメラは、等距離レンズを有してもよい。いくつかの実施形態では、2つの第1のカメラはそれぞれ、90度~175度の水平視野を有してもよい。いくつかの実施形態では、中心視野は、40~80度の角度範囲を有してもよい。いくつかの実施形態では、プロセッサはさらに、較正ルーチンを実施し、2つの第1のカメラの相対的配向を決定するように構成されてもよい。
いくつかの実施形態では、較正ルーチンは、2つの第1のカメラのそれぞれを用いて入手された画像内の対応する特徴を識別するステップと、2つの第1のカメラの複数の推定される相対的配向毎に、誤差を算出するステップであって、誤差は、2つの第1のカメラのそれぞれを用いて入手された画像内に現れるような対応する特徴と、2つの第1のカメラの推定される相対的配向に基づいて算出された識別された特徴の推定値との間の差異を示す、ステップと、決定された相対的配向として、算出された誤差に基づいて、複数の推定される相対的配向のある相対的配向を選択するステップとを含んでもよい。
いくつかの実施形態では、ウェアラブルディスプレイシステムはさらに、2つの第1のカメラの第1のものに機械的に結合される、第1の慣性測定ユニットと、2つの第1のカメラの第2のものに機械的に結合される、第2の慣性測定ユニットとを備えてもよく、較正ルーチンはさらに、部分的に、第1の慣性測定ユニットおよび第2の慣性測定ユニットの出力に基づいて、複数の推定される相対的配向のうちの少なくとも1つを選択するステップを含んでもよい。
いくつかの実施形態では、プロセッサはさらに、較正ルーチンが、ウェアラブルディスプレイシステムの使用の間、フレーム内の歪曲を補償するように、ウェアラブルディスプレイシステムが装着されている間、較正ルーチンを繰り返し実施するように構成されてもよい。いくつかの実施形態では、較正ルーチンは、温度の変化によって生じる、フレーム内の歪曲を補償してもよい。いくつかの実施形態では、較正ルーチンは、機械的歪みによって生じる、フレーム内の歪曲を補償してもよい。いくつかの実施形態では、2つの第1のカメラは、グレースケール画像を入手するように構成されてもよい。いくつかの実施形態では、ウェアラブルディスプレイシステムは、1つのカラーカメラを有してもよい。いくつかの実施形態では、プロセッサは、フレームに機械的に結合されてもよい。いくつかの実施形態では、ディスプレイデバイスは、フレームに機械的に結合されてもよく、ディスプレイデバイスは、プロセッサを備える。いくつかの実施形態では、ローカルデータ処理モジュールが、プロセッサを備えてもよく、ローカルデータ処理モジュールは、通信リンクを通して、ディスプレイデバイスに動作可能に結合されてもよく、ディスプレイデバイスは、フレームに機械的に結合されてもよい。いくつかの実施形態では、第1の画像は、1つ以上の第2の画像を備えてもよい。
いくつかの実施形態によると、ウェアラブルディスプレイシステムが、提供され、ウェアラブルディスプレイシステムは、フレームと、フレームに機械的に結合される、2つの第1のカメラと、フレームに機械的に結合される、カラーカメラと、2つの第1のカメラおよびカラーカメラに動作可能に結合され、2つの第1のカメラによって入手された第1のグレースケール画像と、カラーカメラによって入手された1つ以上のカラー画像とを使用して、世界モデルを作成し、2つの第1のカメラによって入手された第2のグレースケール画像を使用して、世界モデルを更新し、不完全な深度情報を含む、世界モデルの部分を決定し、世界モデルを、不完全な深度情報を含む、世界モデルの部分に関する付加的深度情報で更新するように構成される、プロセッサとを備えてもよい。
いくつかの実施形態では、ウェアラブルディスプレイシステムはさらに、1つ以上のエミッタを備えてもよく、付加的深度情報が、1つ以上のエミッタを使用して入手されてもよく、プロセッサはさらに、世界モデルの部分が不完全な深度情報を含むことの決定に応答して、1つ以上のエミッタを有効にするように構成されてもよい。いくつかの実施形態では、1つ以上のエミッタは、赤外線エミッタを備えてもよく、2つの第1のカメラは、赤外線光を通過させるように構成される、フィルタを備えてもよい。いくつかの実施形態では、赤外線エミッタは、900ナノメートル~1マイクロメートルの波長を有する、光を放出してもよい。
いくつかの実施形態では、プロセッサはさらに、世界モデルの部分が不完全な深度情報を含むことの決定に応答して、物理的世界内の平面表面を検出するように構成されてもよく、検出された平面表面に基づいて、付加的深度情報を推定してもよい。いくつかの実施形態では、プロセッサはさらに、不完全な深度情報を含む、世界モデルの部分内のオブジェクトを検出し、検出されたオブジェクトに対応する、オブジェクトテンプレートを識別し、更新された世界モデル内のオブジェクトの画像に基づいて、オブジェクトテンプレートのインスタンスを構成し、オブジェクトテンプレートの構成されたインスタンスに基づいて、付加的深度情報を推定するように構成されてもよい。いくつかの実施形態では、2つの第1のカメラは、第1のカメラの両方と関連付けられる、中心視野と、2つの第1のカメラの第1のものと関連付けられる、周辺視野とを提供するように、フレームに機械的に結合されてもよく、プロセッサはさらに、2つの第1のカメラによって入手された画像から決定される深度情報を使用して、中心視野内の手の運動を追跡するように構成されてもよい。
いくつかの実施形態では、深度情報を使用して中心視野内の手の運動を追跡するステップは、中心視野内の点を選択するステップと、2つの第1のカメラによって入手された画像を使用して、選択された点に関する深度情報を立体視的に決定するステップと、立体視的に決定された深度情報を使用して、深度マップを生成するステップと、深度マップの部分を、形状制約および運動制約の両方を含む、手のモデルの対応する部分に合致させるステップとを含んでもよい。いくつかの実施形態では、プロセッサはさらに、画像の部分を、形状制約および運動制約の両方を含む、手のモデルの対応する部分に合致させる事によって、2つの第1のカメラの第1のものから入手された1つ以上の画像を使用して、周辺視野内の手の運動を追跡するように構成されてもよい。いくつかの実施形態では、プロセッサは、フレームに機械的に結合されてもよい。いくつかの実施形態では、フレームに機械的に結合される、ディスプレイデバイスは、プロセッサを備えてもよい。いくつかの実施形態では、ローカルデータ処理モジュールが、プロセッサを備えてもよく、ローカルデータ処理モジュールは、通信リンクを通して、ディスプレイデバイスに動作可能に結合されてもよく、ディスプレイデバイスは、フレームに機械的に結合されてもよい。
いくつかの実施形態によると、ウェアラブルディスプレイシステムが、提供され、ウェアラブルディスプレイシステムは、フレームと、フレームに機械的に結合される、2つのグレースケールカメラであって、2つのグレースケールカメラは、第1の視野を有する、第1のグレースケールカメラと、第2の視野を有する、第2のグレースケールカメラとを備え、第1のグレースケールカメラおよび第2のグレースケールカメラは、第1の視野が第2の視野と重複する、中心視野と、第1の視野内にあって、第2の視野外にある、第1の周辺視野とを提供するように位置付けられる、2つのグレースケールカメラと、中心視野に重複する、カラー視野を提供するように、フレームに機械的に結合される、カラーカメラとを備えてもよい。
いくつかの実施形態では、2つのグレースケールは、グローバルシャッタを有してもよい。いくつかの実施形態では、カラーカメラは、ロールシャッタを有してもよい。いくつかの実施形態では、ウェアラブルディスプレイシステムは、フレームに機械的に結合される、2つの慣性測定ユニットと、フレームに機械的に結合される、1つ以上のエミッタとを備えてもよい。いくつかの実施形態では、1つ以上のエミッタは、赤外線エミッタであってもよく、2つのグレースケールカメラは、赤外線光を通過させるように構成される、フィルタを備えてもよい。いくつかの実施形態では、赤外線エミッタは、900ナノメートル~1マイクロメートルの波長を有する、光を放出してもよい。いくつかの実施形態では、1つ以上のエミッタの照明野は、中心視野と重複してもよい。いくつかの実施形態では、2つの慣性測定ユニットの第1の慣性測定ユニットは、第1のグレースケールカメラに機械的に結合されてもよく、2つの慣性測定ユニットの第2の慣性測定ユニットは、2つのグレースケールカメラの第2のグレースケールカメラに機械的に結合されてもよい。いくつかの実施形態では、2つの慣性測定ユニットは、傾き、加速、速度、またはそれらの任意の組み合わせを測定するように構成されてもよい。いくつかの実施形態では、2つのグレースケールカメラは、90度~175度の水平視野を有してもよい。いくつかの実施形態では、中心視野は、40~80度の角度範囲を有してもよい。
さらに、本開示の利点が示されるが、本開示の全ての実施形態が、全ての説明される利点を含むわけではないことを理解されたい。いくつかの実施形態は、本明細書で有利として説明される任意の特徴を実装しなくてもよい。故に、前述の説明および図面は、一例にすぎない。
本開示の前述の実施形態は、多数の方法のいずれかにおいて実装されることができる。例えば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実装されてもよい。ソフトウェア内に実装されるとき、ソフトウェアコードが、単一コンピュータ内に提供される、または複数のコンピュータ間に分散されるかどうかにかかわらず、任意の好適なプロセッサまたはプロセッサの集合上で実行されることができる。そのようなプロセッサは、いくつか挙げると、CPUチップ、GPUチップ、マイクロプロセッサ、マイクロコントローラ、またはコプロセッサ等、当技術分野において公知の市販の集積回路コンポーネントを含む、集積回路コンポーネント内の1つ以上のプロセッサとともに、集積回路として実装されてもよい。いくつかの実施形態では、プロセッサは、ASIC等のカスタム回路内に、またはプログラマブル論理デバイスを構成することから生じる半カスタム回路内に実装されてもよい。さらなる代替として、プロセッサは、市販、半カスタム、またはカスタムかどうかにかかわらず、より大きい回路または半導体デバイスの一部であってもよい。具体的実施例として、いくつかの市販のマイクロプロセッサは、1つまたはそれらのコアのサブセットがプロセッサを構成し得るように、複数のコアを有する。但し、プロセッサは、任意の好適なフォーマットにおける回路を使用して実装されてもよい。
さらに、コンピュータは、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータ等のいくつかの形態のうちのいずれかで具現化され得ることを理解されたい。加えて、コンピュータは、携帯情報端末(PDA)、スマートフォン、または任意の好適な携帯用または固定電子デバイスを含む、概してコンピュータと見なされないが好適な処理能力を伴う、デバイスで具現化されてもよい。
また、コンピュータは、1つ以上の入力および出力デバイスを有してもよい。これらのデバイスは、とりわけ、ユーザインターフェースを提示するために使用されることができる。ユーザインターフェースを提供するために使用され得る、出力デバイスの実施例は、出力の視覚的提示のためのプリンタまたはディスプレイ画面、または出力の可聴提示のためのスピーカまたは他の音生成デバイスを含む。ユーザインターフェースのために使用され得る、入力デバイスの実施例は、キーボード、およびマウス、タッチパッド、およびデジタル化タブレット等のポインティングデバイスを含む。別の実施例として、コンピュータは、発話認識を通して、または他の可聴フォーマットにおいて、入力情報を受信してもよい。図示される実施形態では、入力/出力デバイスは、コンピューティングデバイスと物理的に別個として図示される。しかしながら、いくつかの実施形態では、入力および/または出力デバイスは、プロセッサと同一ユニットまたはコンピューティングデバイスの他の要素の中に物理的に統合されてもよい。例えば、キーボードは、タッチスクリーン上のソフトキーボードとして実装され得る。いくつかの実施形態では、入力/出力デバイスは、コンピューティングデバイスから完全に接続解除され、無線接続を通して機能的に統合されてもよい。
そのようなコンピュータは、企業ネットワークまたはインターネット等、ローカルエリアネットワークまたは広域ネットワークとしての形態を含む、任意の好適な形態の1つ以上のネットワークによって相互接続されてもよい。そのようなネットワークは、任意の好適な技術に基づいてもよく、任意の好適なプロトコルに従って動作してもよく、無線ネットワーク、有線ネットワーク、または光ファイバネットワークを含んでもよい。
また、本明細書で概説される種々の方法およびプロセスは、種々のオペレーティングシステムまたはプラットフォームのうちのいずれか1つを採用する、1つ以上のプロセッサ上で実行可能である、ソフトウェアとしてコード化されてもよい。加えて、そのようなソフトウェアは、いくつかの好適なプログラミング言語および/またはプログラミングまたはスクリプト作成ツールのうちのいずれかを使用して、書き込まれてもよく、また、フレームワークまたは仮想マシン上で実行される実行可能機械言語コードまたは中間コードとしてコンパイルされてもよい。
本側面では、本開示は、1つ以上のコンピュータまたは他のプロセッサ上で実行されるときに、上記で議論される本開示の種々の実施形態を実装する方法を行う、1つ以上のプログラムで符号化される、コンピュータ可読記憶媒体(または複数のコンピュータ可読媒体)(例えば、コンピュータメモリ、1つ以上の(登録商標)ディスク、コンパクトディスク(CD)、光学ディスク、デジタルビデオディスク(DVD)、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイまたは他の半導体デバイス内の回路構成、または他の有形コンピュータ記憶媒体)として具現化されてもよい。前述の実施例から明白なように、コンピュータ可読記憶媒体は、非一過性形態においてコンピュータ実行可能命令を提供するために十分な時間の間、情報を留保し得る。そのようなコンピュータ可読記憶媒体または複数の媒体は、上記に記載されるように、その上に記憶される1つまたは複数のプログラムが、本開示の種々の側面を実装するように1つ以上の異なるコンピュータまたは他のプロセッサ上にロードされ得るように、トランスポータブルであることができる。本明細書で使用されるように、用語「コンピュータ可読記憶媒体」は、製造(すなわち、製造品)または機械と見なされ得るコンピュータ可読媒体のみを包含する。いくつかの実施形態では、本開示は、伝搬信号等のコンピュータ可読記憶媒体以外のコンピュータ可読媒体として具現化されてもよい。
用語「プログラム」または「ソフトウェア」は、上記に記載されるように、本開示の種々の側面を実装するようにコンピュータまたは他のプロセッサをプログラムするために採用され得る、任意のタイプのコンピュータコードまたはコンピュータ実行可能命令のセットを指すために、一般的意味において本明細書で使用される。加えて、本実施形態の一側面によると、実行されると、本開示の方法を行う、1つ以上のコンピュータプログラムは、単一のコンピュータまたはプロセッサ上に常駐する必要はないが、本開示の種々の側面を実装するように、いくつかの異なるコンピュータまたはプロセッサの間でモジュール様式において分散され得ることを理解されたい。
コンピュータ実行可能命令は、1つ以上のコンピュータまたは他のデバイスによって実行される、プログラムモジュール等の多くの形態であってもよい。概して、プログラムモジュールは、特定のタスクを行う、または特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。典型的には、プログラムモジュールの機能性は、種々の実施形態では、所望に応じて、組み合わせられる、または分散されてもよい。
また、データ構造は、任意の好適な形態でコンピュータ可読媒体に記憶されてもよい。例証を簡単にするために、データ構造は、データ構造内の場所を通して関係付けられるフィールドを有することが示されてもよい。そのような関係は、同様に、フィールド間の関係を伝えるコンピュータ可読媒体内の場所を伴うフィールドのために記憶装置を割り当てることによって、達成されてもよい。しかしながら、ポインタ、タグ、またはデータ要素間の関係を確立する他の機構の使用を通すことを含む、任意の好適な機構が、データ構造のフィールド内の情報の間の関係を確立するために使用されてもよい。
本開示の種々の側面は、単独で、組み合わせて、または前述の実施形態に具体的に議論されない種々の配列において使用されてもよく、したがって、その用途は、前述の説明に記載される、または図面に図示されるコンポーネントの詳細および配列に限定されない。例えば、一実施形態に説明される側面は、他の実施形態に説明される側面と任意の様式で組み合わせられてもよい。
また、本開示は、その実施例が提供されている、方法として具現化されてもよい。方法の一部として行われる作用は、任意の好適な方法で順序付けられてもよい。故に、例証的実施形態では、連続作用として示されるが、いくつかの作用を同時に行うことを含み得る、作用が図示されるものと異なる順序で行われる、実施形態が構築されてもよい。
請求項要素を修飾するための請求項における「第1の」、「第2の」、「第3の」等の順序の用語の使用は、単独では、別の要素と比べた1つの請求項要素のいかなる優先順位、先行、または順序、または方法の行為が行われる時間順序も含意しないが、順序の用語は、請求項要素を区別するために、(順序の用語の使用のためであるが)ある名前を有する1つの請求項要素と、同一の名前を有する別の要素を区別する標識としてのみ使用される。
また、本明細書で使用される語句および専門用語は、説明目的のためのものであって、限定と見なされるべきではない。本明細書の「~を含む」、「~を備える」、または「~を有する」、「~を含有する」、「~を伴う」、およびその変形の使用は、その後列挙されたアイテムおよびその均等物および付加的アイテムを包含することを意味する。