概要
例えば、AR、MR、またはVRディスプレイシステム等のウェアラブルディスプレイシステムは、仮想コンテンツをユーザが見ている場所に向かって投影するために、ユーザの眼を追跡することができる。眼追跡システムは、内向きに向いた眼追跡カメラと、ユーザの角膜からの反射(閃光と呼ばれる)を提供する、光源(例えば、赤外線発光ダイオード)とを含むことができる。プロセッサは、眼追跡カメラによって撮影されたユーザの眼の画像を分析し、閃光および他の眼特徴(例えば、瞳孔または虹彩)の位置を取得し、眼視線を閃光および眼特徴から決定することができる。
閃光だけではなく、また、眼特徴を示すために十分である、眼画像は、比較的に長露光時間(例えば、数百~千μs)を伴って撮影され得る。しかしながら、閃光は、そのようなより長い露光の画像では、飽和され得、これは、閃光中心の位置を正確に識別することを困難にし得る。例えば、閃光位置における不確実性は、10~20ピクセルであり得、これは、約20~50分(arcminute)の視線方向における対応する誤差を導入し得る。
故に、本明細書に説明される眼追跡システムの種々の実施形態は、異なる露光時間または異なるフレームレートにおいて、眼の画像を取得する。例えば、より長い露光時間において撮影される、眼のより長い露光の画像は、虹彩または瞳孔特徴を示し得、より短い露光の画像は、角膜から反射された閃光のピークを示し得る。より短い露光の画像は、時として、本明細書では、それらが、画像内の閃光の座標位置を識別するために使用され得るため、閃光画像とも称される。より短い露光の閃光画像は、いくつかの実装では、正確な視線予測のために、高フレームレート(HFR)(例えば、より長い露光の画像のためのフレームレートより高いフレームレート)において撮影されてもよい。より短い露光の閃光画像は、(例えば、数分以内まで、またはより良好な)視線方向の正確な予測につながる、サブピクセル正確度までの閃光場所を提供するために分析されることができる。より長い露光の画像は、瞳孔中心または回転中心のために分析されることができる。
いくつかの実装では、閃光画像の少なくとも一部は、一時的に、バッファ内に記憶され、閃光画像のその部分は、その部分内に位置し得る、1つ以上の閃光の位置を識別するために分析される。例えば、部分は、閃光画像の比較的に小数のピクセル、行、または列を含み得る。ある場合には、部分は、閃光画像のn×m部分を含み得、nおよびmは、約1~20の範囲内であり得る、整数である。閃光の位置が、識別された後、バッファは、クリアされてもよい。閃光画像の付加的部分が、次いで、閃光画像全体が処理されるか、または全て(一般に、4つ)の閃光が識別されるかのいずれかとなるまで、分析のためにバッファ内に記憶されてもよい。閃光位置(例えば、デカルト座標)が、眼追跡プロセスにおける後続アクションのために使用されてもよく、閃光位置が、記憶された、または好適なプロセッサに通信された後、閃光画像は、メモリ(バッファメモリまたは他の揮発性または不揮発性記憶装置)から削除されてもよい。そのようなバッファは、有利なこととして、閃光位置を識別するための閃光画像の高速処理を可能にする、または閃光画像が使用後に削除され得るため、眼追跡プロセスの記憶の必要性を低減させ得る。
故に、ある実施形態では、より短い露光の画像は、眼追跡のために使用される、ハイダイナミックレンジ(HDR)画像を取得するために、より長い露光の画像と組み合わせられない。むしろ、いくつかのそのような実施形態では、より短い露光の画像およびより長い露光の画像は、別個に処理され、異なる情報を決定するために使用される。例えば、より短い露光の画像は、閃光位置(例えば、閃光中心の座標)または眼視線方向を識別するために使用されてもよい。より短い露光の画像は、閃光位置が決定された後、メモリ(例えば、バッファ)から削除されてもよい。より長い露光の画像は、瞳孔中心または回転中心を決定する、バイオメトリックセキュリティ用途のための虹彩特徴を抽出する、眼瞼形状または眼瞼による虹彩または瞳孔のオクルージョンを決定する、瞳孔サイズを測定する、レンダリングカメラパラメータを決定する等のために使用されてもよい。いくつかの実装では、異なるプロセッサが、より短いおよびより長い露光の画像の処理を実施する。例えば、頭部搭載型ディスプレイ内のプロセッサは、より短い露光の画像を処理してもよく、非頭部搭載型ユニット(例えば、ベルトパック)内のプロセッサは、より長い露光の画像を処理してもよい。
したがって、本明細書に説明される多重露光時間技法の種々の実施形態は、そのような短および長露光の画像をともに(例えば、HDR画像として)組み合わせる、合成する、マージする、または別様に処理せずに、集合的に、より短いおよびより長い露光の画像の両方によって提供される、HDR光度の利点を得ることができる。したがって、多重露光眼追跡システムの種々の実施形態は、HDR画像を生成または別様に取得するために、そのような短および長露光の画像を使用しない。
種々の実施形態では、より長い露光の画像の露光時間は、200μs~1,200μsの範囲内、例えば、約700μsであってもよい。より長い露光の画像は、10フレーム/秒(fps)~60fps(例えば、30fps)、30fps~60fpsの範囲、またはある他の範囲内のフレームレートにおいて撮影されることができる。閃光画像の露光時間は、5μs~100μsの範囲内、例えば、約40μs未満であってもよい。より短い露光の閃光画像のための露光時間に対するより長い露光の画像のための露光時間の比は、5~50、10~20の範囲、またはある他の範囲内であることができる。閃光画像は、種々の実施形態では、50fps~1,000fps(例えば、120fps)、200fps~400fpsの範囲、またはある他の範囲内のフレームレートにおいて撮影されることができる。より長い露光の画像のためのフレームレートに対する閃光画像のためのフレームレートの比は、1~100、1~50、2~20、3~10の範囲内、またはある他の比であることができる。
いくつかのウェアラブルシステムは、仮想コンテンツが、主に、ユーザが見ている方向にレンダリングされ得る、中心窩化レンダリング技法を利用してもよい。眼追跡システムの実施形態は、(例えば、将来の約50ms先の)将来的視線方向を正確に推定することができ、これは、将来的レンダリングのために仮想コンテンツを準備するためにレンダリングシステムによって使用されることができ、これは、有利なこととして、レンダリング待ち時間を低減させ、ユーザ体験を改良し得る。
ウェアラブルシステムの3Dディスプレイの実施例
ウェアラブルシステム(本明細書では、拡張現実(AR)システムとも称される)は、2Dまたは3D仮想画像をユーザに提示するために構成されることができる。画像は、組み合わせまたは同等物における、静止画像、ビデオのフレーム、またはビデオであってもよい。ウェアラブルシステムの少なくとも一部は、ユーザ相互作用のために、単独で、または組み合わせて、VR、AR、またはMR環境を提示し得る、ウェアラブルデバイス上に実装されることができる。ウェアラブルデバイスは、ARデバイス(ARD)と同義的に使用されることができる。さらに、本開示の目的のために、用語「AR」は、用語「MR」と同義的に使用される。
図1は、人物によって視認される、ある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、複合現実シナリオの例証を描写する。図1では、MR場面100が、描写され、MR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム120を特徴とする、実世界公園状設定110が見える。これらのアイテムに加え、MR技術のユーザはまた、実世界プラットフォーム120上に立っているロボット像130と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ140とが「見える」と知覚するが、これらの要素は、実世界には存在しない。
3Dディスプレイが、真の深度感覚、より具体的には、表面深度のシミュレートされた感覚を生成するために、ディスプレイの視野内の点毎に、その仮想深度に対応する遠近調節応答を生成することが望ましくあり得る。ディスプレイ点に対する遠近調節応答が、収束および立体視の両眼深度キューによって決定されるようなその点の仮想深度に対応しない場合、ヒトの眼は、遠近調節衝突を体験し、不安定な結像、有害な眼精疲労、頭痛、および遠近調節情報の不在下では、表面深度のほぼ完全な欠如をもたらし得る。
VR、AR、およびMR体験は、複数の深度面に対応する画像が視認者に提供されるディスプレイを有する、ディスプレイシステムによって提供されることができる。画像は、深度面毎に異なってもよく(例えば、場面またはオブジェクトの若干異なる提示を提供する)、視認者の眼によって別個に集束され、それによって、異なる深度面上に位置する場面に関する異なる画像特徴に合焦させるために要求される眼の遠近調節に基づいて、または合焦からずれている異なる深度面上の異なる画像特徴を観察することに基づいて、ユーザに深度キューを提供することに役立ち得る。本明細書のいずれかに議論されるように、そのような深度キューは、信用できる深度の知覚を提供する。
図2は、ウェアラブルシステム200の実施例を図示し、これは、AR/VR/MR場面を提供するように構成されることができる。ウェアラブルシステム200はまた、ARシステム200と称され得る。ウェアラブルシステム200は、ディスプレイ220と、ディスプレイ220の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ220は、フレーム230に結合されてもよく、これは、ユーザ、装着者、または視認者210によって装着可能である。ディスプレイ220は、ユーザ210の眼の正面に位置付けられることができる。ディスプレイ220は、AR/VR/MRコンテンツをユーザに提示することができる。ディスプレイ220は、ユーザの頭部上に装着される、頭部搭載型ディスプレイ(HMD)を備えることができる。
いくつかの実施形態では、スピーカ240が、フレーム230に結合され、ユーザの外耳道に隣接して位置付けられる(いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供する)。ディスプレイ220は、環境からオーディオストリームを検出し、周囲音を捕捉するために、オーディオセンサ(例えば、マイクロホン)232を含むことができる。いくつかの実施形態では、示されない1つ以上の他のオーディオセンサが、ステレオ音受信を提供するために位置付けられる。ステレオ音受信は、音源の場所を決定するために使用されることができる。ウェアラブルシステム200は、音声または発話認識をオーディオストリームに実施することができる。
ウェアラブルシステム200は、ユーザの周囲の環境内の世界を観察する、外向きに向いた結像システム464(図4に示される)を含むことができる。ウェアラブルシステム200はまた、ユーザの眼移動を追跡し得る、内向きに向いた結像システム462(図4に示される)を含むことができる。内向きに向いた結像システムは、一方の眼の移動または両方の眼の移動のいずれかを追跡することができる。内向きに向いた結像システム462は、フレーム230に取り付けられてもよく、内向きに向いた結像システムによって入手された画像情報を処理し、例えば、ユーザ210の眼の瞳孔直径または配向、眼の移動、または眼姿勢を決定し得る、処理モジュール260または270と電気通信してもよい。内向きに向いた結像システム462は、1つ以上のカメラを含んでもよい。例えば、少なくとも1つのカメラは、各眼を結像するために使用されてもよい。カメラによって入手された画像は、眼毎に、別個に、瞳孔サイズまたは眼姿勢を決定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために使用されてもよい。
実施例として、ウェアラブルシステム200は、外向きに向いた結像システム464または内向きに向いた結像システム462を使用して、ユーザの姿勢の画像を入手することができる。画像は、静止画像、ビデオのフレーム、またはビデオであってもよい。
ディスプレイ220は、有線導線または無線接続等によって、フレーム230に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ210に除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載され得る、ローカルデータ処理モジュール260に動作可能に結合されることができる(250)。
ローカル処理およびデータモジュール260は、ハードウェアプロセッサおよび不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを備えてもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、a)画像捕捉デバイス(例えば、内向きに向いた結像システムまたは外向きに向いた結像システム内のカメラ)、オーディオセンサ(例えば、マイクロホン)、慣性測定ユニット(IMU)、加速度計、コンパス、全地球測位システム(GPS)ユニット、無線デバイス、またはジャイロスコープ等の(例えば、フレーム230に動作可能に結合される、または別様にユーザ210に取り付けられ得る)センサから捕捉されるデータ、またはb)可能性として、処理または読出後にディスプレイ220への通過のために、遠隔処理モジュール270および/または遠隔データリポジトリ280を使用して入手および/または処理されるデータを含んでもよい。ローカル処理およびデータモジュール260は、これらの遠隔モジュールがローカル処理およびデータモジュール260へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、通信リンク262または264によって、遠隔処理モジュール270または遠隔データリポジトリ280に動作可能に結合されてもよい。加えて、遠隔処理モジュール280および遠隔データリポジトリ280は、相互に動作可能に結合されてもよい。
いくつかの実施形態では、遠隔処理モジュール270は、データまたは画像情報を分析および処理するように構成される、1つ以上のプロセッサを備えてもよい。いくつかの実施形態では、遠隔データリポジトリ280は、デジタルデータ記憶設備を備えてもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュールにおいて実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
ウェアラブルシステムの例示的コンポーネント
図3は、ウェアラブルシステムの例示的コンポーネントを図式的に図示する。図3は、ウェアラブルシステム200を示し、これは、ディスプレイ220と、フレーム230とを含むことができる。引き伸ばし図202は、ウェアラブルシステム200の種々のコンポーネントを図式的に図示する。ある実装では、図3に図示されるコンポーネントのうちの1つ以上のものは、ディスプレイ220の一部であることができる。種々のコンポーネントは、単独で、または組み合わせて、ウェアラブルシステム200のユーザまたはユーザの環境と関連付けられた種々のデータ(例えば、聴覚的または視覚的データ等)を収集することができる。他の実施形態は、ウェアラブルシステムが使用される用途に応じて、付加的またはより少ないコンポーネントを有してもよいことを理解されたい。なお、図3は、種々のコンポーネントのうちのいくつかと、ウェアラブルシステムを通して収集、分析、および記憶され得る、データのタイプの基本概念とを提供する。
図3は、例示的ウェアラブルシステム200を示し、これは、ディスプレイ220を含むことができる。ディスプレイ220は、ユーザの頭部、またはフレーム230に対応する、筐体またはフレーム230に搭載され得る、ディスプレイレンズ226を備えることができる。ディスプレイレンズ226は、筐体230によって、ユーザの眼302、304の正面に位置付けられる、1つ以上の透明ミラーを備えてもよく、投影された光338を眼302、304の中にバウンスさせ、ビーム成形を促進しながら、また、ローカル環境からの少なくとも一部の光の透過を可能にするように構成されてもよい。投影された光ビーム338の波面は、投影された光の所望の焦点距離と一致するように屈曲または集束されてもよい。図示されるように、2つの広視野マシンビジョンカメラ316(世界カメラとも称される)が、筐体230に結合され、ユーザの周囲の環境を結像することができる。これらのカメラ316は、二重捕捉式可視光/非可視(例えば、赤外線)光カメラであることができる。カメラ316は、図4に示される外向きに向いた結像システム464の一部であってもよい。世界カメラ316によって入手された画像は、姿勢プロセッサ336によって処理されることができる。例えば、姿勢プロセッサ336は、1つ以上のオブジェクト認識装置708(例えば、図7に示される)を実装し、ユーザまたはユーザの環境内の別の人物の姿勢を識別する、またはユーザの環境内の物理的オブジェクトを識別することができる。
図3を継続して参照すると、光338を眼302、304の中に投影するように構成される、ディスプレイミラーおよび光学系を伴う、一対の走査式レーザ成形波面(例えば、深度のための)光投影モジュールが、示される。描写される図はまた、ユーザの眼302、304を追跡し、レンダリングおよびユーザ入力をサポート可能であるように構成される、光源326(発光ダイオード「LED」等)とペアリングされる、2つの小型赤外線カメラ324を示す。光源326は、眼302、304が、IR光に敏感ではなく、不快となるであろう、ユーザの眼の中に光輝するような光源を知覚しないであろうため、光学スペクトルの赤外線(IR)部分内の光を放出し得る。カメラ324は、図4に示される、内向きに向いた結像システム462の一部であってもよい。ウェアラブルシステム200はさらに、センサアセンブリ339を特徴とすることができ、これは、X、Y、およびZ軸加速度計能力および磁気コンパスおよびX、Y、およびZ軸ジャイロスコープ能力を備え、好ましくは、200Hz等の比較的に高周波数でデータを提供し得る。センサアセンブリ339は、図2Aを参照して説明される、IMUの一部であってもよい。描写されるシステム200はまた、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、またはARMプロセッサ(高度縮小命令セット機械)等の頭部姿勢プロセッサ336を備えることができ、これは、リアルタイムまたは近リアルタイムユーザ頭部姿勢を捕捉デバイス316から出力された広視野画像情報から計算するように構成されてもよい。頭部姿勢プロセッサ336は、ハードウェアプロセッサであることができ、図2に示されるローカル処理およびデータモジュール260の一部として実装されることができる。
ウェアラブルシステムはまた、1つ以上の深度センサ234を含むことができる。深度センサ234は、環境内のオブジェクトとウェアラブルデバイスとの間の距離を測定するように構成されることができる。深度センサ234は、レーザスキャナ(例えば、LIDAR)、超音波深度センサ、または深度感知カメラを含んでもよい。カメラ316が深度感知能力を有する、ある実装では、カメラ316はまた、深度センサ234と見なされ得る。
また、示されるものは、デジタルまたはアナログ処理を実行し、姿勢をセンサアセンブリ339からのジャイロスコープ、コンパス、または加速度計データから導出するように構成される、プロセッサ332である。プロセッサ332は、図2に示される、ローカル処理およびデータモジュール260の一部であってもよい。ウェアラブルシステム200はまた、図3に示されるように、例えば、GPS337(全地球測位システム)等の測位システムを含み、姿勢および測位分析を補助することができる。加えて、GPSはさらに、ユーザの環境についての遠隔ベース(例えば、クラウドベース)の情報を提供してもよい。本情報は、ユーザの環境内のオブジェクトまたは情報を認識するために使用されてもよい。
ウェアラブルシステムは、GPS337および遠隔コンピューティングシステム(例えば、遠隔処理モジュール270、別のユーザのARD等)によって入手されたデータを組み合わせてもよく、これは、ユーザの環境についてのより多くの情報を提供することができる。一実施例として、ウェアラブルシステムは、GPSデータに基づいて、ユーザの場所を決定し、ユーザの場所と関連付けられた仮想オブジェクトを含む、世界マップを読み出すことができる(例えば、遠隔処理モジュール270と通信することによって)。別の実施例として、ウェアラブルシステム200は、世界カメラ316(図4に示される外向きに向いた結像システム464の一部であってもよい)を使用して、環境を監視することができる。世界カメラ316によって入手された画像に基づいて、ウェアラブルシステム200は、環境内のオブジェクトを検出することができる。ウェアラブルシステムはさらに、GPS337によって入手されたデータを使用して、キャラクタを解釈することができる。
ウェアラブルシステム200はまた、レンダリングエンジン334を備えてもよく、これは、世界のユーザのビューのために、ユーザにローカルなレンダリング情報を提供し、スキャナの動作およびユーザの眼の中への結像を促進するように構成されることができる。レンダリングエンジン334は、ハードウェアプロセッサ(例えば、中央処理ユニットまたはグラフィック処理ユニット等)によって実装されてもよい。いくつかの実施形態では、レンダリングエンジンは、ローカル処理およびデータモジュール260の一部である。レンダリングエンジン334は、図6および7を参照して説明される、ライトフィールドレンダリングコントローラ618を備えてもよい。レンダリングエンジン334は、ウェアラブルシステム200の他のコンポーネントに通信可能に結合されることができる(例えば、有線または無線リンクを介して)。例えば、レンダリングエンジン334は、通信リンク274を介して、眼カメラ324に結合され、通信リンク272を介して、投影サブシステム318(網膜走査ディスプレイに類似する様式において、走査レーザ配列を介して、光をユーザの眼302、304の中に投影することができる)に結合されることができる。レンダリングエンジン334はまた、それぞれ、リンク276および294を介して、例えば、センサ姿勢プロセッサ332および画像姿勢プロセッサ336等の他の処理ユニットと通信することができる。
カメラ324(例えば、小型赤外線カメラ)は、眼姿勢を追跡し、レンダリングおよびユーザ入力をサポートするために利用されてもよい。いくつかの例示的眼姿勢は、ユーザが見ている場所または合焦させている深度(眼の輻輳・開散運動(vergence)を用いて推定されてもよい)を含んでもよい。カメラ324および赤外線光源326は、本明細書に説明される多重露光時間眼追跡技法のためのデータを提供するために使用されることができる。GPS337、ジャイロスコープ、コンパス、および加速度計339は、大まかなまたは高速姿勢推定を提供するために利用されてもよい。カメラ316のうちの1つ以上のものは、画像および姿勢を入手することができ、これは、関連付けられたクラウドコンピューティングリソースからのデータと併せて、ローカル環境をマッピングし、ユーザビューを他者と共有するために利用されてもよい。
図3に描写される例示的コンポーネントは、例証目的のためだけのものである。複数のセンサおよび他の機能モジュールが、例証および説明の容易性のために、ともに示される。いくつかの実施形態は、これらのセンサまたはモジュールの1つのみまたはサブセットを含んでもよい。さらに、これらのコンポーネントの場所は、図3に描写される位置に限定されない。いくつかのコンポーネントは、ベルト搭載型コンポーネント、ハンドヘルドコンポーネント、またはヘルメットコンポーネント等、他のコンポーネント内に搭載または格納されてもよい。一実施例として、画像姿勢プロセッサ336、センサ姿勢プロセッサ332、およびレンダリングエンジン334は、ベルトパック内に位置付けられ、超広帯域、Wi-Fi、Bluetooth(登録商標)等の無線通信を介して、または有線通信を介して、ウェアラブルシステムの他のコンポーネントと通信するように構成されてもよい。描写される筐体230は、好ましくは、ユーザによって頭部搭載可能かつ装着可能である。しかしながら、ウェアラブルシステム200のいくつかのコンポーネントは、ユーザの身体の他の部分に装着されてもよい。例えば、スピーカ240が、ユーザの耳の中に挿入され、音をユーザに提供してもよい。
ユーザの眼302、304の中への光338の投影に関して、いくつかの実施形態では、カメラ324は、一般に、眼の焦点の位置または「焦点深度」と一致する、ユーザの眼の中心が幾何学的に輻輳される場所を測定するために利用されてもよい。眼が輻輳する全ての点の3次元表面は、「単視軌跡」と称され得る。焦点距離は、有限数の深度をとり得る、または無限に変動し得る。輻輳・開散運動距離から投影された光は、対象の眼302、304に集束されるように現れる一方、輻輳・開散運動距離の正面または背後の光は、ぼかされる。本開示のウェアラブルデバイスおよび他のディスプレイシステムの実施例はまた、米国特許公開第2016/0270656号(参照することによってその全体として本明細書に組み込まれる)に説明される。
ヒト視覚系は、複雑であって、深度の現実的知覚を提供することは、困難である。オブジェクトの視認者は、輻輳・開散運動と遠近調節(accommodation)の組み合わせに起因して、オブジェクトを3次元として知覚し得る。相互に対する2つの眼の輻輳・開散運動移動(例えば、眼の視線を収束させ、オブジェクトを固視するための相互に向かった、またはそこから離れる瞳孔の回転移動)は、眼の水晶体の合焦(または「遠近調節」)と緊密に関連付けられる。正常条件下、焦点を1つのオブジェクトから異なる距離における別のオブジェクトに変化させるための眼の水晶体の焦点の変化または眼の遠近調節は、「遠近調節-輻輳・開散運動反射」として知られる関係下、輻輳・開散運動の整合変化を自動的に同一距離に生じさせるであろう。同様に、輻輳・開散運動の変化が、正常条件下、遠近調節の合致する変化を誘起するであろう。遠近調節と輻輳・開散運動との間のより良好な合致を提供するディスプレイシステムが、3次元画像のより現実的かつ快適なシミュレーションを形成し得る。
さらに、約0.7ミリメートル未満のビーム直径を伴う、空間的にコヒーレントな光は、眼が合焦している場所にかかわらず、ヒトの眼によって正しく分解され得る。したがって、適切な焦点深度の錯覚を作成するために、眼の輻輳・開散運動が、カメラ324を用いて追跡されてもよく、レンダリングエンジン334および投影サブシステム318は、単視軌跡上またはそれに近接する全てのオブジェクトを合焦させてレンダリングし、全ての他のオブジェクトを可変程度に焦点をずらしてレンダリングするために利用されてもよい(例えば、意図的に作成されたぼけを使用して)。好ましくは、システム220は、ユーザに、約60フレーム/秒以上のフレームレートでレンダリングする。上記に説明されるように、好ましくは、カメラ324は、眼追跡のために利用されてもよく、ソフトウェアは、輻輳・開散運動幾何学形状だけではなく、また、ユーザ入力としての役割を果たすための焦点場所キューも取り上げるように構成されてもよい。好ましくは、そのようなディスプレイシステムは、昼間または夜間の使用のために好適な明度およびコントラストを用いて構成される。
いくつかの実施形態では、ディスプレイシステムは、好ましくは、視覚的オブジェクト整合のために約20ミリ秒未満の待ち時間、約0.1度未満の角度整合、および約1分の分解能を有し、これは、理論によって限定されるわけではないが、ヒトの眼のほぼ限界であると考えられる。ディスプレイシステム220は、位置特定システムと統合されてもよく、これは、GPS要素、光学追跡、コンパス、加速度計、または他のデータソースを伴い、位置および姿勢決定を補助し得る。位置特定情報は、関連世界のユーザのビュー内における正確なレンダリングを促進するために利用されてもよい(例えば、そのような情報は、眼鏡が実世界に対する場所を把握することを促進するであろう)。
いくつかの実施形態では、ウェアラブルシステム200は、ユーザの眼の遠近調節に基づいて、1つ以上の仮想画像を表示するように構成される。ユーザに画像が投影されている場所に合焦させるように強制する、従来の3Dディスプレイアプローチと異なり、いくつかの実施形態では、ウェアラブルシステムは、投影された仮想コンテンツの焦点を自動的に変動させ、ユーザに提示される1つ以上の画像のより快適な視認を可能にするように構成される。例えば、ユーザの眼が、1mの現在の焦点を有する場合、画像は、ユーザの焦点と一致するように投影されてもよい。ユーザが、焦点を3mに偏移させる場合、画像は、新しい焦点と一致するように投影される。したがって、ユーザに所定の焦点を強制するのではなく、いくつかの実施形態のウェアラブルシステム200は、ユーザの眼がより自然な様式において機能することを可能にする。
そのようなウェアラブルシステム200は、仮想現実デバイスに対して典型的に観察される、眼精疲労、頭痛、および他の生理学的症状の発生率を排除または低減させ得る。これを達成するために、ウェアラブルシステム200の種々の実施形態は、1つ以上の可変焦点要素(VFE)を通して、仮想画像を可変焦点距離に投影するように構成される。1つ以上の実施形態では、3D知覚は、画像をユーザから固定された焦点面に投影する、多面焦点システムを通して達成されてもよい。他の実施形態は、可変平面焦点を採用し、焦点面は、ユーザの焦点の現在の状態と一致するように、z-方向に往復して移動される。
多面焦点システムおよび可変平面焦点システムの両方において、ウェアラブルシステム200は、眼追跡を採用し、ユーザの眼の輻輳・開散運動を決定し、ユーザの現在の焦点を決定し、仮想画像を決定された焦点に投影してもよい。他の実施形態では、ウェアラブルシステム200は、ファイバスキャナまたは他の光生成源を通して、網膜を横断して、可変焦点の光ビームをラスタパターンで可変に投影する、光変調器を備える。したがって、画像を可変焦点距離に投影するウェアラブルシステム200のディスプレイの能力は、ユーザがオブジェクトを3Dにおいて視認するための遠近調節を容易にするだけではなく、また、米国特許公開第2016/0270656号(参照することによってその全体として本明細書に組み込まれる)にさらに説明されるように、ユーザの眼球異常を補償するために使用されてもよい。いくつかの他の実施形態では、空間光変調器は、種々の光学コンポーネントを通して、画像をユーザに投影してもよい。例えば、以下にさらに説明されるように、空間光変調器は、画像を1つ以上の導波管上に投影してもよく、これは、次いで、画像をユーザに伝送する。
導波管スタックアセンブリ
図4は、画像情報をユーザに出力するための導波管スタックの実施例を図示する。ウェアラブルシステム400は、複数の導波管432b、434b、436b、438b、440bを使用して、3次元知覚を眼/脳に提供するために利用され得る、導波管のスタックまたはスタックされた導波管アセンブリ480を含む。いくつかの実施形態では、ウェアラブルシステム400は、図2のウェアラブルシステム200に対応し得、図4は、そのウェアラブルシステム200のいくつかの部分をより詳細に図式的に示す。例えば、いくつかの実施形態では、導波管アセンブリ480は、図2のディスプレイ220の中に統合されてもよい。
図4を継続して参照すると、導波管アセンブリ480はまた、複数の特徴458、456、454、452を導波管の間に含んでもよい。いくつかの実施形態では、特徴458、456、454、452は、レンズであってもよい。他の実施形態では、特徴458、456、454、452は、レンズではなくてもよい。むしろ、それらは、単に、スペーサ(例えば、空気間隙を形成するためのクラッディング層または構造)であってもよい。
導波管432b、434b、436b、438b、440bまたは複数のレンズ458、456、454、452は、種々のレベルの波面曲率または光線発散を用いて、画像情報を眼に送出するように構成されてもよい。各導波管レベルは、特定の深度面と関連付けられてもよく、その深度面に対応する画像情報を出力するように構成されてもよい。画像投入デバイス420、422、424、426、428は、それぞれ、眼410に向かって出力するために、各個別の導波管を横断して入射光を分散させるように構成され得る、導波管440b、438b、436b、434b、432bの中に画像情報を投入するために利用されてもよい。光は、画像投入デバイス420、422、424、426、428の出力表面から出射し、導波管440b、438b、436b、434b、432bの対応する入力縁の中に投入される。いくつかの実施形態では、光の単一ビーム(例えば、コリメートされたビーム)が、各導波管の中に投入され、特定の導波管と関連付けられた深度面に対応する特定の角度(および発散量)において眼410に向かって指向される、クローン化されるコリメートされたビームの場全体を出力してもよい。
いくつかの実施形態では、画像投入デバイス420、422、424、426、428はそれぞれ、対応する導波管440b、438b、436b、434b、432bの中への投入のための画像情報をそれぞれ生成する、離散ディスプレイである。いくつかの他の実施形態では、画像投入デバイス420、422、424、426、428は、例えば、1つ以上の光学導管(光ファイバケーブル等)を介して、画像情報を画像投入デバイス420、422、424、426、428のそれぞれに送り得る、単一の多重化されたディスプレイの出力端である。
コントローラ460が、スタックされた導波管アセンブリ480および画像投入デバイス420、422、424、426、428の動作を制御する。コントローラ460は、導波管440b、438b、436b、434b、432bへの画像情報のタイミングおよび提供を調整する、プログラミング(例えば、非一過性コンピュータ可読媒体内の命令)を含む。いくつかの実施形態では、コントローラ460は、単一一体型デバイスまたは有線または無線通信チャネルによって接続される分散型システムであってもよい。コントローラ460は、いくつかの実施形態では、処理モジュール260または270(図2に図示される)の一部であってもよい。
導波管440b、438b、436b、434b、432bは、全内部反射(TIR)によって各個別の導波管内で光を伝搬するように構成されてもよい。導波管440b、438b、436b、434b、432bはそれぞれ、主要上部表面および底部表面およびそれらの主要上部表面と底部表面との間に延在する縁を伴う、平面である、または別の形状(例えば、湾曲)を有してもよい。図示される構成では、導波管440b、438b、436b、434b、432bはそれぞれ、各個別の導波管内で伝搬する光を導波管から外に再指向し、画像情報を眼410に出力することによって、光を導波管から抽出するように構成される、光抽出光学要素440a、438a、436a、434a、432aを含んでもよい。抽出された光はまた、外部結合光と称され得、光抽出光学要素はまた、外部結合光学要素と称され得る。抽出された光のビームは、導波管によって、導波管内で伝搬する光が光再指向要素に衝打する場所において出力される。光抽出光学要素(440a、438a、436a、434a、432a)は、例えば、反射または回折光学特徴であってもよい。説明を容易にし、図面を明確性にするために、導波管440b、438b、436b、434b、432bの底部主要表面に配置されて図示されるが、いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、上部または底部主要表面に配置されてもよい、または導波管440b、438b、436b、434b、432bの容積内に直接配置されてもよい。いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、透明基板に取り付けられ、導波管440b、438b、436b、434b、432bを形成する、材料の層内に形成されてもよい。いくつかの他の実施形態では、導波管440b、438b、436b、434b、432bは、材料のモノリシック片であってもよく、光抽出光学要素440a、438a、436a、434a、432aは、その材料片の表面上および/または内部に形成されてもよい。
図4を継続して参照すると、本明細書に議論されるように、各導波管440b、438b、436b、434b、432bは、光を出力し、特定の深度面に対応する画像を形成するように構成される。例えば、眼の最近傍の導波管432bは、そのような導波管432bの中に投入されるにつれて、コリメートされた光を眼410に送達するように構成されてもよい。コリメートされた光は、光学無限遠焦点面を表し得る。次の上方の導波管434bは、眼410に到達し得る前に、第1のレンズ452(例えば、負のレンズ)を通して通過する、コリメートされた光を送出するように構成されてもよい。第1のレンズ452は、眼/脳が、その次の上方の導波管434bから生じる光を光学無限遠から眼410に向かって内向きにより近い第1の焦点面から生じるものとして解釈するように、若干の凸面波面曲率を生成するように構成されてもよい。同様に、第3の上方の導波管436bは、眼410に到達する前に、その出力光を第1のレンズ452および第2のレンズ454の両方を通して通過させる。第1および第2のレンズ452および454の組み合わせられた屈折力は、眼/脳が、第3の導波管436bから生じる光が次の上方の導波管434bからの光であったよりも光学無限遠から人物に向かって内向きにさらに近い第2の焦点面から生じるものとして解釈するように、別の漸増量の波面曲率を生成するように構成されてもよい。
他の導波管層(例えば、導波管438b、440b)およびレンズ(例えば、レンズ456、458)も同様に構成され、スタック内の最高導波管440bが、人物に最も近い焦点面を表す集約焦点力のために、その出力をそれと眼との間のレンズの全てを通して送出する。スタックされた導波管アセンブリ480の他側の世界470から生じる光を視認/解釈するとき、レンズ458、456、454、452のスタックを補償するために、補償レンズ層430が、スタックの上部に配置され、下方のレンズスタック458、456、454、452の集約力を補償してもよい。(補償レンズ層430およびスタックされた導波管アセンブリ480は、全体として、世界470から生じる光が、最初にスタックされた導波管アセンブリ480によって受光されたときに光が有していたものと実質的に同一レベルの発散(またはコリメーション)で眼410に伝達されるように構成され得る。)そのような構成は、利用可能な導波管/レンズ対と同じ数の知覚される焦点面を提供する。導波管の光抽出光学要素およびレンズの集束側面は両方とも、静的であってもよい(例えば、動的または電気活性ではない)。いくつかの代替実施形態では、一方または両方とも、電気活性特徴を使用して動的であってもよい。
図4を継続して参照すると、光抽出光学要素440a、438a、436a、434a、432aは、導波管と関連付けられる特定の深度面のために、光をそれらの個別の導波管から外に再指向し、かつ本光を適切な量の発散またはコリメーションを伴って出力するように構成されてもよい。その結果、異なる関連付けられる深度面を有する導波管が、関連付けられる深度面に応じて、異なる量の発散を伴って光を出力する、異なる構成の光抽出光学要素を有してもよい。いくつかの実施形態では、本明細書に議論されるように、光抽出光学要素440a、438a、436a、434a、432aは、光を具体的角度で出力するように構成され得る、立体または表面特徴であってもよい。例えば、光抽出光学要素440a、438a、436a、434a、432aは、立体ホログラム、表面ホログラム、および/または回折格子であってもよい。回折格子等の光抽出光学要素は、2015年6月25日に公開された米国特許公開第2015/0178939号(参照することによってその全体として本明細書に組み込まれる)に説明される。
いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、回折パターンを形成する回折特徴または「回折光学要素」(本明細書では、「DOE」とも称される)である。好ましくは、DOEは、ビームの光の一部のみがDOEの各交点で眼410に向かって偏向される一方、残りが、全内部反射を介して、導波管を通して移動し続けるように、比較的に低回折効率を有する。画像情報を搬送する光は、したがって、複数の場所において導波管から出射する、いくつかの関連出射ビームに分割され、その結果、導波管内でバウンスする本特定のコリメートされたビームに関して、眼304に向かって非常に均一なパターンの出射放出となり得る。
いくつかの実施形態では、1つ以上のDOEは、それらが能動的に回折する「オン」状態と有意に回折しない「オフ」状態との間で切替可能であり得る。例えば、切替可能なDOEは、微小液滴がホスト媒体中に回折パターンを備える、ポリマー分散液晶の層を備えてもよく、微小液滴の屈折率は、ホスト材料の屈折率に実質的に合致するように切り替えられてもよい(その場合、パターンは、入射光を著しく回折させない)、または微小液滴は、ホスト媒体のものに合致しない屈折率に切り替えられてもよい(その場合、パターンは、入射光を能動的に回折させる)。
いくつかの実施形態では、深度面または被写界深度の数および分布は、視認者の眼の瞳孔サイズまたは配向に基づいて、動的に変動されてもよい。被写界深度は、視認者の瞳孔サイズと反比例して変化してもよい。その結果、視認者の眼の瞳孔のサイズが減少するにつれて、被写界深度は、その平面の場所が眼の焦点深度を越えるため判別不能である1つの平面が、判別可能となり、瞳孔サイズの低減および被写界深度の相当する増加に伴って、より合焦して現れ得るように増加する。同様に、異なる画像を視認者に提示するために使用される、離間された深度面の数は、減少された瞳孔サイズに伴って減少され得る。例えば、視認者は、一方の深度面から他方の深度面への眼の遠近調節を調節することなく、第1の深度面および第2の深度面の両方の詳細を1つの瞳孔サイズにおいて明確に知覚することが可能ではない場合がある。しかしながら、これらの2つの深度面は、同時に、遠近調節を変化させることなく、別の瞳孔サイズにおいてユーザにとって十分に合焦し得る。
いくつかの実施形態では、ディスプレイシステムは、瞳孔サイズまたは配向の決定に基づいて、または特定の瞳孔サイズまたは配向を示す電気信号の受信に応じて、画像情報を受信する導波管の数を変動させてもよい。例えば、ユーザの眼が、2つの導波管と関連付けられる2つの深度面間を区別不能である場合、コントローラ460(ローカル処理およびデータモジュール260の実施形態であり得る)は、これらの導波管のうちの1つへの画像情報の提供を停止するように構成またはプログラムされることができる。有利なこととして、これは、システムへの処理負担を低減させ、それによって、システムの応答性を増加させ得る。導波管のためのDOEがオンおよびオフ状態間で切替可能である実施形態では、DOEは、導波管が画像情報を受信するとき、オフ状態に切り替えられてもよい。
いくつかの実施形態では、出射ビームに視認者の眼の直径未満の直径を有するという条件を満たさせることが望ましくあり得る。しかしながら、本条件を満たすことは、視認者の瞳孔のサイズの変動性に照らして、困難であり得る。いくつかの実施形態では、本条件は、視認者の瞳孔のサイズの決定に応答して出射ビームのサイズを変動させることによって、広範囲の瞳孔サイズにわたって満たされる。例えば、瞳孔サイズが減少するにつれて、出射ビームのサイズもまた、減少し得る。いくつかの実施形態では、出射ビームサイズは、可変開口を使用して変動されてもよい。
ウェアラブルシステム400は、世界470の一部を結像する、外向きに向いた結像システム464(例えば、デジタルカメラ)を含むことができる。世界470の本部分は、世界カメラの視野(FOV)と称され得、結像システム464は、時として、FOVカメラとも称される。世界カメラのFOVは、視認者210のFOVと同一である場合とそうではない場合があり、これは、視認者210が所与の時間に知覚する、世界470の一部を包含する。例えば、いくつかの状況では、世界カメラのFOVは、ウェアラブルシステム400の視認者210の視認者210より大きくあり得る。視認者による視認または結像のために利用可能な領域全体は、動眼視野(FOR)と称され得る。FORは、装着者が、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚し得るため、ウェアラブルシステム400を囲繞する4πステラジアンの立体角を含んでもよい。他のコンテキストでは、装着者の移動は、より抑制されてもよく、それに応じて、装着者のFORは、より小さい立体角に接し得る。外向きに向いた結像システム464から得られた画像は、ユーザによって行われるジェスチャ(例えば、手または指のジェスチャ)を追跡し、ユーザの正面における世界470内のオブジェクトを検出する等のために、使用されることができる。
ウェアラブルシステム400は、オーディオセンサ232、例えば、マイクロホンを含み、周囲音を捕捉することができる。上記に説明されるように、いくつかの実施形態では、1つ以上の他のオーディオセンサが、発話源の場所の決定に有用なステレオ音受信を提供するために位置付けられることができる。オーディオセンサ232は、別の実施例として、指向性マイクロホンを備えることができ、これはまた、オーディオ源が位置する場所に関するそのような有用な指向性情報を提供することができる。ウェアラブルシステム400は、発話源を位置特定する際、または特定の瞬間におけるアクティブ話者を決定するために等、外向きに向いた結像システム464およびオーディオセンサ230の両方からの情報を使用することができる。例えば、ウェアラブルシステム400は、単独で、または話者の反射された画像(例えば、鏡に見られるように)と組み合わせて、音声認識を使用して、話者の識別を決定することができる。別の実施例として、ウェアラブルシステム400は、指向性マイクロホンから入手された音に基づいて、環境内の話者の位置を決定することができる。ウェアラブルシステム400は、発話認識アルゴリズムを用いて、話者の位置から生じる音を解析し、発話のコンテンツを決定し、音声認識技法を使用して、話者の識別(例えば、名前または他の人口統計情報)を決定することができる。
ウェアラブルシステム400はまた、眼移動(例えば、眼追跡のため)および顔移動等のユーザの移動を観察する、内向きに向いた結像システム466(例えば、デジタルカメラを備える)を含むことができる。内向きに向いた結像システム466は、眼410の画像を捕捉し、眼304の瞳孔のサイズおよび/または配向を決定するために使用されてもよい。内向きに向いた結像システム466は、ユーザが見ている方向(例えば、眼姿勢)を決定する際に使用するため、またはユーザのバイオメトリック識別のため(例えば、虹彩識別を介して)、画像を得るために使用されることができる。内向きに向いた結像システム426は、本明細書に説明される多重露光時間眼追跡技法のための入力画像および情報を提供するために使用されることができる。いくつかの実施形態では、少なくとも1つのカメラが、眼毎に、独立して、各眼の瞳孔サイズまたは眼姿勢を別個に決定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために利用されてもよい。いくつかの他の実施形態では、片眼410のみの瞳孔直径または配向が、(例えば、対の眼あたり単一カメラのみを使用して)決定され、ユーザの両眼に関して類似すると仮定された。内向きに向いた結像システム466によって得られる画像は、ユーザに提示されるべきオーディオまたは視覚的コンテンツを決定するためにウェアラブルシステム400によって使用され得る、ユーザの眼姿勢または気分を決定するために分析されてもよい。ウェアラブルシステム400はまた、IMU、加速度計、ジャイロスコープ等のセンサを使用して、頭部姿勢(例えば、頭部位置または頭部配向)を決定してもよい。内向きに向いた結像システム426は、図3を参照して説明される、カメラ324および光源326(例えば、IR LED)を備えることができる。
ウェアラブルシステム400は、ユーザが、コマンドをコントローラ460に入力し、ウェアラブルシステム400と相互作用し得る、ユーザ入力デバイス466を含むことができる。例えば、ユーザ入力デバイス466は、トラックパッド、タッチスクリーン、ジョイスティック、多自由度(DOF)コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、指向性パッド(Dパッド)、ワンド、触知デバイス、トーテム(例えば、仮想ユーザ入力デバイスとして機能する)等を含むことができる。マルチDOFコントローラは、コントローラの一部または全部の可能性として考えられる平行移動(例えば、左/右、前方/後方、または上/下)または回転(例えば、ヨー、ピッチ、またはロール)におけるユーザ入力を感知することができる。平行移動をサポートする、マルチDOFコントローラは、3DOFと称され得る一方、平行移動および回転をサポートする、マルチDOFコントローラは、6DOFと称され得る。ある場合には、ユーザは、指(例えば、親指)を使用して、タッチセンサ式入力デバイスを押下またはその上でスワイプし、入力をウェアラブルシステム400に提供してもよい(例えば、ユーザ入力をウェアラブルシステム400によって提供されるユーザインターフェースに提供するために)。ユーザ入力デバイス466は、ウェアラブルシステム400の使用の間、ユーザの手によって保持されてもよい。ユーザ入力デバイス466は、ウェアラブルシステム400と有線または無線通信することができる。
眼画像の実施例
図5は、眼瞼504と、強膜508(「白眼」)と、虹彩512と、瞳孔516とを伴う、眼500の画像を図示する。曲線516aは、瞳孔516と虹彩512との間の瞳孔境界を示し、曲線512aは、虹彩512と強膜508との間の辺縁境界を示す。眼瞼504は、上側眼瞼504aと、下側眼瞼504bとを含む。眼500は、自然静置姿勢(例えば、ユーザの顔および視線の両方が、ユーザの真正面の遠距離オブジェクトに向かうであろうように配向される)に図示される。眼500の自然静置姿勢は、自然静置姿勢(例えば、図5に示される眼500に関しては、すぐ面外)にあって、本実施例では、瞳孔516内に心合されるときの眼500の表面に直交する方向である、自然静置方向520によって示され得る。
眼500が、異なるオブジェクトに向かって見るように移動するにつれて、眼姿勢は、自然静置方向520に対して変化するであろう。現在の眼姿勢は、眼の表面に直交する(かつ瞳孔516内に心合される)方向であるが、眼が現在指向されているオブジェクトに向かって配向される、眼姿勢方向524を参照して決定されることができる。図5Aに示される例示的座標系を参照すると、眼500の姿勢は、両方とも眼の自然静置方向520に対する、眼の眼姿勢方向524の方位角偏向および天頂偏向を示す、2つの角度パラメータとして表され得る。例証目的のために、これらの角度パラメータは、θ(基点方位角から決定される、方位角偏向)およびφ(時として、極性偏向とも称される、天頂偏向)として表され得る。いくつかの実装では、眼姿勢方向524の周囲の眼の角度ロールが、眼姿勢の決定に含まれることができ、角度ロールは、眼追跡に含まれることができる。他の実装では、眼姿勢を決定するための他の技法が、例えば、ピッチ、ヨー、および随意に、ロール系が、使用されることができる。したがって、眼姿勢は、2DOFまたは3DOF配向として提供されることができる。
光源326は、眼500を(例えば、IR内で)照明することができ、眼からの(典型的には、角膜からの)光源の反射は、閃光と称される。図5は、4つの閃光550が存在する、実施例を図式的に示す。閃光550の位置、数、明度等は、光源326の位置および数、眼の姿勢等に依存し得る。下記にさらに説明されるであろうように、眼追跡カメラ324は、眼画像を取得することができ、プロセッサは、眼追跡のために、眼画像を分析し、閃光の位置および移動を決定することができる。いくつかの実施形態では、異なる露光時間または異なるフレームレートを伴う、複数の眼画像が、高正確度眼追跡を提供するために使用されることができる。
眼画像は、任意の適切なプロセスを使用して、例えば、画像を1つ以上のシーケンシャルフレーム(または非シーケンシャルフレーム)から抽出し得る、ビデオ処理アルゴリズムを使用して、ビデオから取得されることができる。図4の内向きに向いた結像システム426または図3のカメラ324および光源326は、眼の一方または両方のビデオまたは画像を提供するために利用されることができる。眼の姿勢は、種々の眼追跡技法、例えば、本明細書に説明される、正確な角膜閃光検出のための多重露光時間技法を使用して、眼画像から決定されることができる。例えば、眼姿勢は、提供される光源に及ぼす角膜のレンズ効果を検討することによって決定されることができる。任意の好適な眼追跡技法が、本明細書に説明される眼瞼形状推定技法において眼姿勢を決定するために使用されることができる。
眼追跡システムの実施例
図6は、眼追跡システム601を含む、ウェアラブルシステム600の概略図を図示する。ウェアラブルシステム600は、図2-4を参照して説明される、ウェアラブルシステム200および400の実施形態であってもよい。ウェアラブルシステム600は、少なくともいくつかの実施形態では、頭部搭載型ユニット602内に位置するコンポーネントと、非頭部搭載型ユニット604内に位置するコンポーネントとを含む。非頭部搭載型ユニット604は、実施例として、ベルト搭載型コンポーネント、ハンドヘルドコンポーネント、リュック内のコンポーネント、遠隔コンポーネント等であってもよい。ウェアラブルシステム600のコンポーネントのうちのいくつかを非頭部搭載型ユニット604内に組み込むことは、頭部搭載型ユニット602のサイズ、重量、複雑性、およびコストを低減させることに役立ち得る。いくつかの実装では、頭部搭載型ユニット602および/または非頭部搭載型ユニット604の1つ以上のコンポーネントによって実施されているように説明される機能性の一部または全部は、ウェアラブルシステム600内のいずれかに含まれる1つ以上のコンポーネントを用いて提供されてもよい。例えば、頭部搭載型ユニット602のCPU612と関連して下記に説明される機能性の一部または全部は、非頭部搭載型ユニット604のCPU616を用いて提供されてもよく、その逆も同様である。いくつかの実施例では、そのような機能性の一部または全部は、ウェアラブルシステム600の周辺デバイスを用いて提供されてもよい。さらに、いくつかの実装では、そのような機能性の一部または全部は、図2を参照して上記に説明されたものに類似する様式において、1つ以上のクラウドコンピューティングデバイスまたは他の遠隔に位置するコンピューティングデバイスを用いて提供されてもよい。
図6に示されるように、ウェアラブルシステム600は、ユーザの眼610の画像を捕捉する、カメラ324を含む、眼追跡システム601を含むことができる。所望に応じて、眼追跡システムはまた、光源326aおよび326b(発光ダイオード「LED」等)を含んでもよい。光源326aおよび326bは、閃光(例えば、カメラ324によって捕捉された眼の画像内に現れる、ユーザの眼からの反射)を生成し得る。閃光550の概略実施例は、図5に示される。カメラ324に対する光源326aおよび326bの位置は、既知であり得、その結果、カメラ324によって捕捉された画像内の閃光の位置が、ユーザの眼を追跡する際に使用されることができる(下記により詳細に説明されるであろうように)。少なくとも一実施形態では、1つの光源326と、ユーザの眼610の片方と関連付けられた1つのカメラ324とが存在してもよい。別の実施形態では、1つの光源326と、ユーザの眼610のそれぞれと関連付けられた1つのカメラ324とが存在してもよい。さらに他の実施形態では、1つ以上のカメラ324と、ユーザの眼610の一方またはそれぞれと関連付けられた1つ以上の光源326とが存在してもよい。具体的実施例として、2つの光源326aおよび326bと、ユーザの眼610のそれぞれと関連付けられた1つ以上のカメラ324とが存在してもよい。別の実施例として、光源326aおよび326b等の3つ以上の光源と、ユーザの眼610のそれぞれと関連付けられた1つ以上のカメラ324とが存在してもよい。
眼追跡モジュール614は、画像を眼追跡カメラ324から受信してもよく、画像を分析し、種々の情報を抽出してもよい。本明細書に説明されるように、眼追跡カメラからの画像は、より短い露光(閃光)画像と、より長い露光の画像とを含んでもよい。実施例として、眼追跡モジュール614は、ユーザの眼姿勢、眼追跡カメラ324(および頭部搭載型ユニット602)に対するユーザの眼の3次元位置、合焦されているユーザの眼610の一方または両方の方向、ユーザの輻輳・開散運動深度(例えば、ユーザが合焦しているユーザからの深度)、ユーザの瞳孔の位置、ユーザの角膜および角膜球面の位置、ユーザの眼のそれぞれの回転中心、またはユーザの眼のそれぞれの目線中心を検出してもよい。図6に示されるように、眼追跡モジュール614は、頭部搭載型ユニット602内のCPU612を使用して実装される、ソフトウェアモジュールであってもよい。
眼追跡モジュール614からのデータは、ウェアラブルシステム内の他のコンポーネントに提供されてもよい。実施例として、そのようなデータは、ライトフィールドレンダリングコントローラ618および位置合わせオブザーバ620のためのソフトウェアモジュールを含む、CPU616等の非頭部搭載型ユニット604内のコンポーネントに伝送されてもよい。
本明細書にさらに説明されるように、多重露光時間眼追跡技術のいくつかの実装では、機能性は、例証的であって、限定することを意図するものではない、図6(または図7)に示されるものと異なるように実施されてもよい。例えば、いくつかの実装では、より短い露光の閃光画像は、頭部搭載型ユニット602内のCPU612(カメラ324内に配置されてもよい)によって処理されることができ、より長い露光の画像は、非頭部搭載型ユニット604内の(例えば、ベルトパック内の)CPU616(またはGPU621)によって処理されることができる。いくつかのそのような実装では、眼追跡モジュール614によって実施される眼追跡機能性のうちのいくつかは、非頭部搭載型ユニット604(例えば、ベルトパック)内のプロセッサ(例えば、CPU616またはGPU621)によって実施されてもよい。これは、眼追跡機能性のうちのいくつかが、CPU集約的であり得、ある場合には、非頭部搭載型ユニット604内に配置されるより強力なプロセッサによって、より効率的または迅速に実施され得るため、有利であり得る。
レンダリングコントローラ618は、レンダリングエンジン622(例えば、GPU620内のソフトウェアモジュールであり得、画像をディスプレイ220に提供し得る、レンダリングエンジン)によって、眼追跡モジュール614からの情報を使用して、ユーザに表示される画像を調節してもよい。実施例として、レンダリングコントローラ618は、ユーザの回転中心または目線中心に基づいて、ユーザに表示される画像を調節してもよい。特に、レンダリングコントローラ618は、ユーザの目線中心に関する情報を使用して、レンダリングカメラをシミュレートしてもよく(例えば、ユーザの目線からの画像の収集をシミュレートする)、シミュレートされたレンダリングカメラに基づいて、ユーザに表示される画像を調節してもよい。レンダリングプロセスにおけるレンダリングカメラの作成、調節、および使用について議論するさらなる詳細は、「METHODS AND SYSTEMS FOR DETECTING AND COMBINING STRUCTURAL FEATURES IN 3D RECONSTRUCTION」と題された、米国特許出願公開第2017/0091996号として公開された米国特許出願第15/274,823号(参照することによってその全体として本明細書に明示的に組み込まれる)に提供される。
いくつかの実施例では、システム600の1つ以上のモジュール(またはコンポーネント)(例えば、ライトフィールドレンダリングコントローラ618、レンダリングエンジン620等)は、ユーザの頭部および眼の位置および配向(例えば、それぞれ、頭部姿勢および眼追跡データに基づいて決定されるように)に基づいて、レンダリング空間内のレンダリングカメラの位置および配向を決定してもよい。例えば、システム600は、事実上、ユーザの頭部および眼の位置および配向を3D仮想環境内の特定の場所および角位置にマッピングし、レンダリングカメラを3D仮想環境内の特定の場所および角位置に設置および配向し、レンダリングカメラによって捕捉されるであろうにつれて、仮想コンテンツをユーザのためにレンダリングし得る。実世界/仮想世界マッピングプロセスについて議論するさらなる詳細は、「SELECTING VIRTUAL OBJECTS IN A THREE-DIMENSIONAL SPACE」と題された、米国特許出願公開第2017/0109936号として公開された米国特許出願第15/296,869号(参照することによってその全体として本明細書に明示的に組み込まれる)に提供される。実施例として、レンダリングコントローラ618は、画像が、画像を表示するために任意の所与の時間に利用される深度面(または複数の深度面)を選択することによって表示される、深度を調節してもよい。いくつかの実装では、そのような深度面切替は、1つ以上の固有のレンダリングカメラパラメータの調節を通して、行われてもよい。
位置合わせオブザーバ620は、眼追跡モジュール614からの情報を使用して、頭部搭載型ユニット602がユーザの頭部上に適切に位置付けられているかどうかを識別してもよい。実施例として、眼追跡モジュール614は、カメラ324に対するユーザの眼の3次元位置を示す、ユーザの眼の回転中心の位置等の眼場所情報を提供してもよく、頭部搭載型ユニット602および眼追跡モジュール614は、場所情報を使用して、ディスプレイ220がユーザの視野内に適切に整合されているかどうか、または頭部搭載型ユニット602(またはヘッドセット)が滑脱している、または別様にユーザの眼と不整合状態であるかどうかを決定してもよい。実施例として、位置合わせオブザーバ620は、頭部搭載型ユニット602が、ユーザの鼻梁から滑脱しており、したがって、ディスプレイ220をユーザの眼から離れさせ、そこから下方に移動させている(望ましくあり得ない)かどうか、頭部搭載型ユニット602が、ユーザの鼻梁の上方に移動しており、したがって、ディスプレイ220をユーザの眼により近づけ、そこから上方に移動させているかどうか、頭部搭載型ユニット602が、ユーザの鼻梁に対して左または右に偏移されているかどうか、頭部搭載型ユニット602が、ユーザの鼻梁の上方に持ち上げられているかどうか、または頭部搭載型ユニット602が、これらまたは他の方法において、所望の位置または位置の範囲から離れて移動されているかどうかを決定することが可能であり得る。一般に、位置合わせオブザーバ620は、一般に、頭部搭載型ユニット602、特に、ディスプレイ220が、ユーザの眼の正面に適切に位置付けられているかどうかを決定することが可能であり得る。換言すると、位置合わせオブザーバ620は、ディスプレイシステム220内の左ディスプレイが、ユーザの左眼と適切に整合されており、ディスプレイシステム220内の右ディスプレイが、ユーザの右眼と適切に整合されているかどうかを決定し得る。位置合わせオブザーバ620は、頭部搭載型ユニット602が、ユーザの眼に対する位置および/または配向の所望の範囲内に位置付けられ、配向されているかどうかを決定することによって、頭部搭載型ユニット602が適切に位置付けられているかどうかを決定してもよい。位置合わせオブザーバ620によって利用され得る、例示的位置合わせ観察およびフィードバック技法は、2017年9月27日に出願され、「PERIOCULAR TEST FOR MIXED REALITY CALIBRATION」と題された、米国特許出願公開第2018/0096503号として公開された米国特許出願第15/717,747号、および2019年1月17日に出願され、「DISPLAY SYSTEMS AND METHODS FOR DETERMINING REGISTRATION BETWEEN A DISPLAY AND A USER’S EYES」と題された、米国特許出願公開第2019/0222830号として公開された米国特許出願第16/251,017号(その両方とも、参照することによってその全体として本明細書に組み込まれる)に説明される。
レンダリングコントローラ618は、眼追跡情報を眼追跡モジュール614から受信することができ、出力をレンダリングエンジン622に提供してもよく、これは、ウェアラブルシステム600のユーザによって視認するために表示されるべき画像を生成することができる。実施例として、レンダリングコントローラ618は、輻輳・開散運動深度、左および右眼回転中心(および/または目線中心)、および瞬目データ、サッカードデータ等の他の眼データを受信してもよい。そのようなデータに基づく、輻輳・開散運動深度情報および他の眼データは、レンダリングエンジン622に、(例えば、特定の遠近調節または焦点距離における)特定の深度面を伴うコンテンツをユーザに伝達させることができる。図4に関連して議論されるように、ウェアラブルシステムは、それぞれ、可変レベルの波面曲率を伴う画像情報を伝達する、複数の導波管によって形成される、複数の離散深度面を含んでもよい。いくつかの実施形態では、ウェアラブルシステムは、経時的に変動するレベルの波面曲率を伴う画像情報を伝達する、光学要素等の1つ以上の可変深度面を含んでもよい。レンダリングエンジン622は、部分的に、ユーザの輻輳・開散運動深度に基づいて、選択された深度において、コンテンツをユーザに伝達することができる(例えば、レンダリングエンジン622に、ディスプレイ220に深度面を切り替えるように指示させる)。
レンダリングエンジン622は、ユーザの左および右眼の位置におけるカメラをシミュレートし、シミュレートされたカメラの目線に基づいて、コンテンツを生成することによって、コンテンツを生成することができる。上記に議論されるように、レンダリングカメラは、可能性として、仮想世界内のオブジェクトのデータベースから仮想画像コンテンツをレンダリングする際に使用するためのシミュレートされたカメラである。オブジェクトは、ユーザまたは装着者に対する、可能性として、ユーザまたは装着者を囲繞する環境内の実オブジェクトに対する、場所および配向を有してもよい。レンダリングカメラは、眼に提示されるための仮想オブジェクトのデータベースに基づいて仮想画像をレンダリングするために、レンダリングエンジン内に含まれてもよい。仮想画像は、ユーザまたは装着者の目線から撮影されたかのようにレンダリングされてもよい。例えば、仮想画像は、仮想世界内のオブジェクトを視認する、開口、レンズ、および検出器を有する、カメラ(「レンダリングカメラ」に対応する)によって捕捉されたかのようにレンダリングされてもよい。仮想画像は、「レンダリングカメラ」の位置を有する、そのようなカメラの目線から撮影される。例えば、仮想画像は、ユーザまたは装着者の目線からであるように現れる画像を提供するように、ユーザまたは装着者の眼に対する具体的場所を有する、カメラの目線から捕捉されたかのようにレンダリングされてもよい。いくつかの実装では、画像は、ユーザまたは装着者の眼に対する具体的場所(本明細書に議論されるような目線中心または回転中心または他の場所等)に開口を有する、カメラ目線から捕捉されたかのようにレンダリングされる。
眼追跡モジュールの実施例
例示的眼追跡モジュール614の詳細なブロック図が、図7に示される。図7に示されるように、眼追跡モジュール614は、種々の異なるサブモジュールを含んでもよく、種々の異なる出力を提供してもよく、ユーザの眼を追跡する際に、種々の利用可能なデータを利用してもよい。実施例として、眼追跡モジュール614は、光源326および頭部搭載型ユニット602に対する眼追跡カメラ324の幾何学的配列、ユーザの角膜曲率の中心とユーザの眼の平均回転中心との間の約4.7mmの典型的距離またはユーザの回転中心と目線中心との間の典型的距離等の仮定された眼寸法704、および特定のユーザの瞳孔間距離等のユーザ毎の較正データ706等の眼追跡の付帯性質および固有性質を含む、利用可能なデータを利用してもよい。眼追跡モジュール614によって採用され得る、付帯性質、固有性質、および他の情報の付加的実施例は、2017年4月26日に出願され、米国特許出願公開第2018/0018515号として公開され、「IRIS BOUNDARY ESTIMATION USING CORNEA CURVATURE」と題された、米国特許出願第15/497,726号(参照することによってその全体として本明細書に組み込まれる)に説明される。眼追跡モジュール614として実装される、または別様に眼追跡モジュール614によって利用され得る、例示的眼追跡モジュールおよび技法は、2019年1月17日に出願され、米国特許出願公開第2019/0243448号として公開され、「EYE CENTER OF ROTATION DETERMINATION, DEPTH PLANE SELECTION, AND RENDER CAMERA POSITIONING IN DISPLAY SYSTEMS」と題された、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に説明される。
画像前処理モジュール710は、画像を眼カメラ324等の眼カメラから受信してもよく、1つ以上の前処理(例えば、調整)動作を受信された画像上に実施してもよい。実施例として、画像前処理モジュール710は、ガウスぼけを画像に適用してもよい、画像をより低い分解能にダウンサンプリングしてもよい、アンシャープマスクを適用してもよい、縁シャープニングアルゴリズムを適用してもよい、または後の検出、位置特定、および眼カメラ324からの画像内の閃光、瞳孔、または他の特徴の標識化を補助する、他の好適なフィルタを適用してもよい。画像前処理モジュール710は、高周波数雑音を瞳孔境界516a(図5参照)等から除去し、それによって瞳孔および閃光決定を妨害し得る、雑音を除去し得る、オープンフィルタ等の低域通過フィルタまたは形態学的フィルタを適用してもよい。画像前処理モジュール710は、前処理された画像を瞳孔識別モジュール712および閃光検出および標識化モジュール714に出力してもよい。
瞳孔識別モジュール712は、前処理された画像を画像前処理モジュール710から受信してもよく、ユーザの瞳孔を含む、それらの画像の領域を識別してもよい。瞳孔識別モジュール712は、いくつかの実施形態では、カメラ324からの眼追跡画像内のユーザの瞳孔の位置の座標、すなわち、中心または重心の座標を決定してもよい。少なくともいくつかの実施形態では、瞳孔識別モジュール712は、眼追跡画像内の輪郭(例えば、瞳孔虹彩境界の輪郭)を識別し、輪郭モーメント(例えば、質量中心)を識別し、スターバースト瞳孔検出および/またはCanny縁検出アルゴリズムを適用し、強度値に基づいて外れ値を除外し、サブピクセル境界点を識別し、眼カメラ歪曲(例えば、眼カメラ324によって捕捉された画像内の歪曲)を補正し、ランダムサンプルコンセンサス(RANSAC)反復アルゴリズムを適用し、楕円形を眼追跡画像内の境界に適合させ、追跡フィルタを画像に適用し、ユーザの瞳孔重心のサブピクセル画像座標を識別してもよい。瞳孔識別モジュール712は、ユーザの瞳孔を示すと識別された前処理画像モジュール712の領域を示し得る、瞳孔識別データを、閃光検出および標識化モジュール714に出力してもよい。瞳孔識別モジュール712は、各眼追跡画像内のユーザの瞳孔の2D座標(例えば、ユーザの瞳孔の重心の2D座標)を閃光検出モジュール714に提供してもよい。少なくともいくつかの実施形態では、瞳孔識別モジュール712はまた、同一種類の瞳孔識別データを座標系正規化モジュール718に提供してもよい。
瞳孔識別モジュール712によって利用され得る、瞳孔検出技法は、2017年2月23日に公開された米国特許公開第2017/0053165号および2017年2月23日に公開された米国特許公開第2017/0053166号(それぞれ、参照することによってその全体として本明細書に組み込まれる)に説明される。
閃光検出および標識化モジュール714は、前処理された画像をモジュール710から、瞳孔識別データをモジュール712から受信してもよい。閃光検出モジュール714は、本データを使用して、閃光(例えば、光源326からの光のユーザの眼からの反射)をユーザの瞳孔を示す前処理された画像の領域内で検出および/または識別してもよい。実施例として、閃光検出モジュール714は、ユーザの瞳孔または虹彩の近傍にある、時として、本明細書では、「ブロブ」または局所強度最大値とも称される、眼追跡画像内の明るい領域を検索してもよい。少なくともいくつかの実施形態では、閃光検出モジュール714は、瞳孔楕円形を再スケーリング(例えば、拡大)し、付加的閃光を包含してもよい。閃光検出モジュール714は、サイズまたは強度によって、閃光をフィルタリングしてもよい。閃光検出モジュール714はまた、眼追跡画像内の閃光のそれぞれの2D位置を決定してもよい。少なくともいくつかの実施例では、閃光検出モジュール714は、瞳孔-閃光ベクトルとも称され得る、ユーザの瞳孔に対する閃光の2D位置を決定してもよい。閃光検出および標識化モジュール714は、閃光を標識化し、標識された閃光を伴う前処理画像を3D角膜中心推定モジュール716に出力してもよい。閃光検出および標識化モジュール714はまた、モジュール710からの前処理された画像およびモジュール712からの瞳孔識別データ等のデータを伝えてもよい。いくつかの実装では、閃光検出および標識化モジュール714は、各識別された閃光を生産した(例えば、赤外線光源326aおよび326bを含む、システムの複数の光源の中の)光源を決定してもよい。これらの実施例では、閃光検出および標識化モジュール714は、閃光を関連付けられた光源を識別する情報で標識化し、標識された閃光を伴う前処理画像を3D角膜中心推定モジュール716に出力してもよい。
モジュール712および714等のモジュールによって実施されるような瞳孔および閃光検出は、任意の好適な技法を使用することができる。実施例として、縁検出が、眼画像に適用され、閃光、瞳孔、または虹彩を識別することができる。縁検出は、種々の縁検出器、縁検出アルゴリズム、またはフィルタによって適用されることができる。例えば、Canny縁検出器が、画像に適用され、画像の線等の縁を検出することができる。縁は、局所最大導関数に対応する、線に沿って位置する点を含んでもよい。例えば、瞳孔境界516aまたは虹彩(角膜輪部)境界512a(図5参照)が、Canny縁検出器を使用して、位置特定されることができる。瞳孔または虹彩の場所が決定されると、種々の画像処理技法が、瞳孔116の「姿勢」を検出するために使用されることができる。姿勢は、視線、向いている方向、または眼の配向とも称され得る。例えば、瞳孔は、オブジェクトに向かって左を見ている場合があり、瞳孔の姿勢は、左向き姿勢として分類され得る。他の方法も、瞳孔または閃光の場所を検出するために使用されることができる。例えば、同心リングが、Canny縁検出器を使用した眼画像内に位置し得る。別の実施例として、積分微分演算子が、瞳孔または虹彩の角膜輪部境界を見出すために使用されることができる。例えば、Daugman積分微分演算子、Hough変換、または他の虹彩セグメント化技法が、瞳孔または虹彩の境界を推定する、曲線を返すために使用されることができる。モジュール712、714は、異なる露光時間または異なるフレームレートを用いて捕捉された複数の眼画像を使用し得る、本明細書に説明される閃光検出技法に適用することができる。
3D角膜中心推定モジュール716は、検出された閃光データおよび瞳孔(または虹彩)識別データを含む、前処理された画像を、モジュール710、712、714から受信してもよい。3D角膜中心推定モジュール716は、これらのデータを使用して、ユーザの角膜の3D位置を推定してもよい。いくつかの実施形態では、3D角膜中心推定モジュール716は、眼の角膜曲率の中心またはユーザの角膜球面、例えば、概して、ユーザの角膜と同延の表面部分を有する、想像上の球面の中心の3D位置を推定してもよい。3D角膜中心推定モジュール716は、角膜球面および/またはユーザの角膜の推定された3D座標を示すデータを、座標系正規化モジュール718、光学軸決定モジュール722、および/またはライトフィールドレンダリングコントローラ618に提供してもよい。3D角膜中心推定モジュール716および本開示のウェアラブルシステム内の他のモジュールによって利用され得る、角膜または角膜球面等の眼特徴の位置を推定するための技法は、2017年4月26日に出願された、米国特許出願公開第2018/0018515号として公開された米国特許出願第15/497,726号(参照することによってその全体として本明細書に組み込まれる)に議論される。
座標系正規化モジュール718は、随意に、(その破線輪郭によって示されるように)眼追跡モジュール614内に含まれてもよい。座標系正規化モジュール718は、ユーザの角膜の中心(および/またはユーザの角膜球面の中心)の推定された3D座標を示すデータを、3D角膜中心推定モジュール716から受信してもよく、また、データを他のモジュールから受信してもよい。座標系正規化モジュール718は、眼カメラ座標系を正規化してもよく、これは、ウェアラブルデバイスの滑脱(例えば、位置合わせオブザーバ620によって識別され得る、ユーザの頭部上のその正常静置位置からの頭部搭載型コンポーネントの滑脱)を補償することに役立ち得る。座標系正規化モジュール718は、座標系を回転させ、座標系のz-軸(例えば、輻輳・開散運動深度軸)と角膜中心(例えば、3D角膜中心推定モジュール716によって示されるように)を整合させてもよく、カメラ中心(例えば、座標系の原点)を30mm等の角膜中心から離れた所定の距離に平行移動させてもよい(例えば、モジュール718は、眼カメラ324が所定の距離より近くまたは遠くにあるように決定されるかどうかに応じて、眼追跡画像を拡大または収縮し得る)。本正規化プロセスを用いることで、眼追跡モジュール614は、比較的に、ユーザの頭部上に位置付けられるヘッドセットの変動から独立して、眼追跡データ内の一貫した配向および距離を確立することが可能であり得る。座標系正規化モジュール718は、角膜(および/または角膜球面)の中心の3D座標、瞳孔識別データ、および前処理された眼追跡画像を3D瞳孔中心ロケータモジュール720に提供してもよい。
3D瞳孔中心ロケータモジュール720は、正規化または非正規化座標系内において、ユーザの角膜(および/または角膜球面)の中心の3D座標、瞳孔場所データ、および前処理された眼追跡画像を含む、データを受信してもよい。3D瞳孔中心ロケータモジュール720は、そのようなデータを分析して、正規化または非正規化眼カメラ座標系内のユーザの瞳孔中心の3D座標を決定してもよい。3D瞳孔中心ロケータモジュール720は、瞳孔重心の2D位置(モジュール712によって決定されるように)、角膜中心の3D位置(モジュール716によって決定されるように)、典型的ユーザの角膜球面のサイズおよび角膜中心から瞳孔中心までの典型的距離等の仮定された眼寸法704、および角膜の屈折率(空気の屈折率に対する)等の眼の光学性質、または任意のこれらの組み合わせに基づいて、3次元におけるユーザの瞳孔の場所を決定してもよい。3D瞳孔中心ロケータモジュール720および本開示のウェアラブルシステム内の他のモジュールによって利用され得る、瞳孔等の眼特徴の位置を推定するための技法は、2017年4月26日に出願された、米国特許出願公開第2018/0018515号として公開された米国特許出願第15/497,726号(参照することによってその全体として本明細書に組み込まれる)に議論される。
光学軸決定モジュール722は、ユーザの角膜およびユーザの瞳孔中心の3D座標を示すデータを、モジュール716および720から受信してもよい。そのようなデータに基づいて、光学軸決定モジュール722は、角膜中心の位置から(例えば、角膜球面の中心から)、ユーザの眼の光学軸を定義し得る、ユーザの瞳孔中心までのベクトルを識別してもよい。光学軸決定モジュール722は、実施例として、ユーザの光学軸を規定する出力をモジュール724、728、730、および732に提供してもよい。
回転中心(CoR)推定モジュール724は、ユーザの眼の光学軸のパラメータ(例えば、頭部搭載型ユニット602に対して既知の関係を伴う座標系内の光学軸の方向を示すデータ)を含むデータを、モジュール722から受信してもよい。CoR推定モジュール724は、ユーザの眼の回転中心(例えば、ユーザの眼が左、右、上、および/または下に回転するとき、その周囲でユーザの眼が回転する、点)を推定し得る。眼が、単点の周囲で完璧に回転し得ない場合でも、単点が十分であり得ると仮定する。少なくともいくつかの実施形態では、CoR推定モジュール724は、瞳孔中心(モジュール720によって識別される)または角膜の曲率中心(モジュール716によって識別されるように)を網膜に向かって光学軸(モジュール722によって識別される)に沿って特定の距離だけ移動させることによって、眼の回転中心を推定し得る。本特定の距離は、仮定された眼寸法704であってもよい。一実施例として、角膜の曲率中心とCoRとの間の特定の距離は、約4.7mmであってもよい。本距離は、ユーザの年齢、性別、視覚処方箋、他の関連特性等を含む、任意の関連データに基づいて、特定のユーザのために変動され得る。
少なくともいくつかの実施形態では、CoR推定モジュール724は、ユーザの眼のそれぞれの回転中心のその推定値を経時的に精緻化してもよい。実施例として、時間が経過するにつれて、ユーザは、最終的に、その眼を回転させ(他の場所、より近く、より遠くの何らかのもの、またはある時に左、右、上、または下を見るため)、その眼のそれぞれの光学軸において偏移させるであろう。CoR推定モジュール724は、次いで、モジュール722によって識別される2つ(以上の)光学軸を分析し、それらの光学軸の交点の3D点を位置特定してもよい。CoR推定モジュール724は、次いで、その交点の3D点にある回転中心を決定してもよい。そのような技法は、経時的に改良する正確度を伴う、回転中心の推定値を提供し得る。種々の技法が、CoR推定モジュール724および左および右眼の決定されたCoR位置の正確度を増加させるために採用されてもよい。実施例として、CoR推定モジュール724は、種々の異なる眼姿勢に関して経時的に決定された光学軸の交点の平均点を見出すことによって、CoRを推定してもよい。付加的実施例として、モジュール724は、推定されたCoR位置を経時的にフィルタリングまたは平均化してもよく、推定されたCoR位置の移動平均を経時的に計算してもよく、および/またはカルマンフィルタおよび眼および眼追跡システムの既知の動態を適用し、CoR位置を経時的に推定してもよい。具体的実施例として、モジュール724は、決定されたCoRが、ユーザに関する眼追跡データが取得されるにつれて、仮定されたCoR位置(例えば、眼の角膜曲率の中心の4.7mm背後)からユーザの眼内の若干異なる場所に経時的にゆっくりと移り、それによって、CoR位置のユーザ毎精緻化を可能にし得るように、光学軸交点の決定された点および仮定されたCoR位置(眼の角膜曲率の中心から4.7mm等)の加重平均を計算してもよい。
瞳孔間距離(IPD)推定モジュール726は、ユーザの左および右眼の回転中心の推定された3D位置を示すデータを、CoR推定モジュール724から受信してもよい。IPD推定モジュール726は、次いで、ユーザの左および右眼の回転中心間の3D距離を測定することによって、ユーザのIPDを推定してもよい。一般に、ユーザの左眼の推定されたCoRとユーザの右眼の推定されたCoRとの間の距離は、ユーザが光学無限遠を見ている(例えば、ユーザの眼の光学軸が相互に略平行である)とき、ユーザの瞳孔中心間の距離と概ね等しくあり得、これは、瞳孔間距離(IPD)の典型的定義である。ユーザのIPDは、ウェアラブルシステム内の種々のコンポーネントおよびモジュールによって使用されてもよい。実施例として、ユーザのIPDは、位置合わせオブザーバ620に提供され、ウェアラブルデバイスがユーザの眼と整合されている程度(例えば、左および右ディスプレイレンズが、ユーザのIPDに従って適切に離間されているかどうか)を査定する際に使用されてもよい。別の実施例として、ユーザのIPDは、輻輳・開散運動深度推定モジュール728に提供され、ユーザの輻輳・開散運動深度を決定する際に使用されてもよい。モジュール726は、CoR推定モジュール724に関連して議論されるもの等の種々の技法を採用し、推定されたIPDの正確度を増加させてもよい。実施例として、IPD推定モジュール724は、正確な様式におけるユーザのIPDの推定の一部として、フィルタリング、経時的に平均、仮定されたIPD距離を含む、加重平均、カルマンフィルタ等を適用してもよい。
いくつかの実施形態では、IPD推定モジュール726は、ユーザの瞳孔および/または角膜の推定される3D位置を示す、データを3D瞳孔中心ロケータモジュールおよび/または3D角膜中心推定モジュール716から受信してもよい。IPD推定モジュール726は、次いで、瞳孔と角膜との間の距離を参照することによって、ユーザのIPDを推定してもよい。一般に、これらの距離は、ユーザがその眼を回転させ、その輻輳・開散運動の深度を変化させるにつれて、経時的に変動するであろう。ある場合には、IPD推定モジュール726は、ユーザが光学無限遠の近傍を見ている間に生じ得、概して、ユーザの瞳孔間距離に対応する、瞳孔および/または角膜間の最大測定距離を探し得る。他の場合では、IPD推定モジュール726は、ユーザの瞳孔(および/または角膜)間の測定された距離を人物の瞳孔間距離がその輻輳・開散運動深度の関数として変化する程度の数学的関係に適合させ得る。いくつかの実施形態では、これらまたは他の類似技法を使用して、IPD推定モジュール726は、ユーザが光学無限遠を見ていることの観察を伴わなくても(例えば、ユーザが光学無限遠より近い距離において輻輳・開散運動していたという1つ以上の観察から外挿することによって)、ユーザのIPDを推定することが可能であり得る。
輻輳・開散運動深度推定モジュール728は、データを眼追跡モジュール614内の種々のモジュールおよびサブモジュール(図7に関連して示されるように)から受信してもよい。特に、輻輳・開散運動深度推定モジュール728は、瞳孔中心の推定された3D位置(例えば、上記に説明されるモジュール720によって提供されるように)、光学軸の1つ以上の決定されたパラメータ(例えば、上記に説明されるモジュール722によって提供されるように)、回転中心の推定された3D位置(例えば、上記に説明されるモジュール724によって提供されるように)、推定されたIPD(例えば、回転中心の推定された3D位置間のユークリッド距離)(例えば、上記に説明されるモジュール726によって提供されるように)、および/または光学軸および/または視軸の1つ以上の決定されたパラメータ(例えば、下記に説明されるモジュール722および/またはモジュール730によって提供されるように)を示すデータを採用してもよい。輻輳・開散運動深度推定モジュール728は、ユーザの眼が合焦されるユーザからの距離であり得る、ユーザの輻輳・開散運動深度の測定値を検出または別様に取得してもよい。実施例として、ユーザが、彼らの正面から3フィートのオブジェクトを見ているとき、ユーザの左および右眼は、3フィートの輻輳・開散運動深度を有する一方、ユーザが遠距離の景観を見ている(例えば、ユーザの眼の光学軸が、ユーザの瞳孔中心間の距離が、ユーザの左および右眼の回転中心間の距離と概ね等しくあり得るように、相互に略平行である)とき、ユーザの左および右眼は、無限遠の輻輳・開散運動深度を有する。いくつかの実装では、輻輳・開散運動深度推定モジュール728は、ユーザの瞳孔の推定された中心(例えば、モジュール720によって提供されるように)を示すデータを利用し、ユーザの瞳孔の推定された中心間の3D距離を決定してもよい。輻輳・開散運動深度推定モジュール728は、瞳孔中心間のそのような決定された3D距離と推定されたIPD(例えば、回転中心の推定された3D位置間のユークリッド距離)(例えば、上記に説明されるモジュール726によって示されるように)を比較することによって、輻輳・開散運動深度の測定値を取得してもよい。瞳孔中心間の3D距離および推定されたIPDに加え、輻輳・開散運動深度推定モジュール728は、既知の、仮定された、推定された、および/または決定された幾何学形状を利用して、輻輳・開散運動深度を計算してもよい。実施例として、モジュール728は、瞳孔中心間の3D距離、推定されたIPD、および三角法計算における3DCoR位置を組み合わせて、ユーザの輻輳・開散運動深度を推定(例えば、決定)してもよい。実際、推定されたIPDに対する瞳孔中心間のそのような決定された3D距離の評価は、光学無限遠に対するユーザの現在の輻輳・開散運動深度の測定値を示す役割を果たし得る。いくつかの実施例では、輻輳・開散運動深度推定モジュール728は、単に、輻輳・開散運動深度のそのような測定値を取得する目的のために、ユーザの瞳孔の推定された中心間の推定された3D距離を示すデータを受信する、またはそれにアクセスしてもよい。いくつかの実施形態では、輻輳・開散運動深度推定モジュール728は、ユーザの左および右光学軸を比較することによって、輻輳・開散運動深度を推定してもよい。特に、輻輳・開散運動深度推定モジュール728は、ユーザの左および右光学軸が交差する(または水平平面等の平面上のユーザの左および右光学軸の投影が交差する)、ユーザからの距離を位置特定することによって、輻輳・開散運動深度を推定してもよい。モジュール728は、ゼロ深度をユーザの左および右光学軸がユーザのIPDによって分離される深度であると設定することによって、本計算において、ユーザのIPDを利用してもよい。少なくともいくつかの実施形態では、輻輳・開散運動深度推定モジュール728は、眼追跡データを、既知のまたは導出された空間関係とともに三角測量することによって、輻輳・開散運動深度を決定してもよい。
いくつかの実施形態では、輻輳・開散運動深度推定モジュール728は、ユーザが合焦している距離のより正確なインジケーションを提供し得る、ユーザの視軸の交点に基づいて(その光学軸の代わりに)、ユーザの輻輳・開散運動深度を推定してもよい。少なくともいくつかの実施形態では、眼追跡モジュール614は、光学軸/視軸マッピングモジュール730を含んでもよい。図10に関連してさらに詳細に議論されるように、ユーザの光学軸および視軸は、概して、整合されない。視軸は、それに沿って人物が見ている軸である一方、光学軸は、その人物の水晶体および瞳孔の中心によって定義され、人物の網膜の中心を通して進み得る。特に、ユーザの視軸は、概して、ユーザの網膜の中心からオフセットされ、それによって、異なる光学軸および視軸をもたらし得る、ユーザの中心窩の場所によって定義される。これらの実施形態のうちの少なくともいくつかでは、眼追跡モジュール614は、光学軸/視軸マッピングモジュール730を含んでもよい。光学軸/視軸マッピングモジュール730は、ユーザの光学軸と視軸との間の差異を補正し、輻輳・開散運動深度推定モジュール728およびライトフィールドレンダリングコントローラ618等のウェアラブルシステム内の他のコンポーネントに対するユーザの視軸に関する情報を提供してもよい。いくつかの実施例では、モジュール730は、光学軸と視軸との間の内向きの(鼻側に、ユーザの鼻に向かって)約5.2°の典型的オフセットを含む、仮定された眼寸法704を使用してもよい。換言すると、モジュール730は、ユーザの左および右光学軸の方向を推定するために、ユーザの左光学軸を5.2°鼻に向かって(鼻側に)右に、ユーザの右光学軸を5.2°鼻に向かって(鼻側に)左に偏移させ得る。他の実施例では、モジュール730は、光学軸(例えば、上記に説明されるモジュール722によって示されるように)を視軸にマッピングする際、ユーザ毎較正データ706を利用してもよい。付加的実施例として、モジュール730は、ユーザの光学軸を鼻側に4.0°~6.5°、4.5°~6.0°、5.0°~5.4°等、またはこれらの値のいずれかによって形成される任意の範囲だけ偏移させてもよい。いくつかの配列では、モジュール730は、少なくとも部分的に、その年齢、性別、視覚処方箋、または他の関連特性等の特定のユーザの特性に基づいて、偏移を適用してもよく、および/または少なくとも部分的に、特定のユーザのための較正プロセス(例えば、特定のユーザの光学軸-視軸オフセットを決定するため)に基づいて、偏移を適用してもよい。少なくともいくつかの実施形態では、モジュール730はまた、左および右光学軸の原点を偏移させ、ユーザのCoRの代わりに、ユーザのCoP(モジュール732によって決定されるように)に対応させてもよい。
随意の目線中心(CoP)推定モジュール732が、提供されるとき、ユーザの左および右目線中心(CoP)の場所を推定してもよい。CoPは、ウェアラブルシステムのための有用な場所であって、少なくともいくつかの実施形態では、瞳孔の真正面の位置であり得る。少なくともいくつかの実施形態では、CoP推定モジュール732は、ユーザの瞳孔中心の3D場所、ユーザの角膜曲率の中心の3D場所、またはそのような好適なデータ、またはそれらの任意の組み合わせに基づいて、ユーザの左および右目線中心の場所を推定してもよい。実施例として、ユーザのCoPは、角膜曲率の中心の正面の約5.01mm(例えば、角膜球面中心から、眼の角膜に向かい、光学軸に沿った方向に5.01mm)にあり得、光学または視軸に沿ってユーザの角膜の外面の約2.97mm背後にあり得る。ユーザの目線中心は、その瞳孔中心の真正面にあり得る。実施例として、ユーザのCoPは、ユーザの瞳孔から約2.0mm未満、ユーザから瞳孔の約1.0mm未満、またはユーザの瞳孔から約0.5mm未満、またはこれらの値のいずれかの間の任意の範囲であり得る。別の実施例として、目線中心は、眼の前房内の場所に対応し得る。他の実施例として、CoPは、1.0mm~2.0mm、約1.0mm、0.25mm~1.0mm、0.5mm~1.0mm、または0.25mm~0.5mmにあり得る。
(レンダリングカメラのピンホールの潜在的に望ましい位置およびユーザの眼内の解剖学的位置としての)本明細書に説明される目線中心は、望ましくない視差偏移を低減および/または排除する役割を果たす、位置であり得る。特に、ユーザの眼の光学系は、レンズの正面のピンホールが画面上に投影することによって形成される理論的システムにほぼ概ね匹敵し、ピンホール、レンズ、および画面は、それぞれ、ユーザの瞳孔/虹彩、水晶体、および網膜に概ね対応する。さらに、ユーザの眼から異なる距離における2つの点光源(またはオブジェクト)が、ピンホールの開口部を中心として厳密に回転する(例えば、ピンホールの開口部からのその個別の距離と等しい曲率半径に沿って回転される)とき、殆どまたは全く視差偏移が存在しないことが望ましくあり得る。したがって、CoPは、眼の瞳孔中心に位置するはずであると考えられるであろう(およびそのようなCoPが、いくつかの実施形態では、使用されてもよい)。しかしながら、ヒトの眼は、水晶体および瞳孔のピンホールに加え、付加的屈折力を網膜に向かって伝搬する光に付与する、角膜を含む。したがって、本段落に説明される理論的システム内のピンホールの解剖学的均等物は、ユーザの眼の角膜の外面とユーザの眼の瞳孔または虹彩の中心との間に位置付けられる、ユーザの眼の領域であり得る。例えば、ピンホールの解剖学的均等物は、ユーザの眼の前房内の領域に対応し得る。本明細書で議論される種々の理由から、CoPをユーザの眼の前房内のそのような位置に設定することが所望され得る。
上記に議論されるように、眼追跡モジュール614は、左および右眼回転中心(CoR)の推定された3D位置、輻輳・開散運動深度、左および右眼光学軸、ユーザの眼の3D位置、ユーザの角膜曲率の左および右中心の3D位置、ユーザの左および右瞳孔中心の3D位置、ユーザの左および右目線中心の3D位置、ユーザのIPD等のデータを、ウェアラブルシステム内のライトフィールドレンダリングコントローラ618および位置合わせオブザーバ620等の他のコンポーネントに提供してもよい。眼追跡モジュール614はまた、ユーザの眼の他の側面と関連付けられたデータを検出および生成する、他のサブモジュールを含んでもよい。実施例として、眼追跡モジュール614は、ユーザが瞬目する度に、フラグまたは他のアラートを提供する、瞬目検出モジュールと、ユーザの眼がサッカードする(例えば、焦点を別の点に迅速に偏移させる)度に、フラグまたは他のアラートを提供する、サッカード検出モジュールとを含んでもよい。
眼追跡システムを用いた閃光の位置特定の実施例
図8Aは、眼の角膜820、虹彩822、水晶体824、および瞳孔826を示す、眼の断面の概略図である。強膜(眼の白眼)が、虹彩822を囲繞する。角膜は、角膜球面802によって示される、略球状形状を有することができ、これは、中心804を有する。眼光学軸は、瞳孔中心806および角膜中心804を通して通過する、線(実線830によって示される)である。ユーザの視線方向(破線832によって示され、時として、視線ベクトルとも称される)は、ユーザの視軸であって、概して、眼光学軸からの小オフセット角度にある。各特定の眼に特有である、オフセットは、眼画像からのユーザ較正によって決定されることができる。ユーザ測定オフセットは、ウェアラブルディスプレイシステムによって記憶され、視線方向を眼光学軸の測定から決定するために使用されることができる。
光源326aおよび326b(発光ダイオード、LED等)が、眼を照明し、カメラ324aによって結像される、閃光(例えば、ユーザの眼からの鏡面反射)を生成することができる。閃光550の概略実施例は、図5に示される。カメラ324に対する光源326aおよび326bの位置は、既知であって、その結果、カメラ324によって捕捉された画像内の閃光の位置が、ユーザの眼を追跡し、かつ角膜球面802をモデル化し、その中心804を決定する際に使用されることができる。図8Bは、(本例示的写真に関しては)4つの光源によって生産される、4つの閃光550の実施例を示す、眼の写真である。概して、光源326a、326bは、ユーザに、注意を逸らし得る、光源が見えないように、赤外線(IR)光を生産する。
いくつかの眼追跡システムでは、眼の単一画像が、瞳孔(例えば、その中心を決定するため)および閃光(例えば、眼画像内のその位置)についての情報を決定するために使用される。下記にさらに説明されるであろうように、単一露光からの瞳孔情報および閃光情報の両方の測定は、例えば、閃光の画像が、瞳孔情報を抽出するために十分な詳細もまた示す画像内では、飽和され得るため、眼光学軸または視線の決定における誤差につながり得る。
そのような誤差の実施例は、図9A-9Cに図式的に図示される。図9A-9Cでは、実視線ベクトルは、瞳孔中心806および角膜球面802の中心804を通して通過する、実線830として示され、眼画像から抽出された視線ベクトルは、破線930として示される。図9Aは、瞳孔中心の測定された位置のみに小誤差900aが存在するときの、抽出された視線ベクトルにおける誤差の実施例を示す。図9Bは、角膜中心の測定された位置のみに小誤差900bが存在するときの、抽出された視線ベクトルにおける誤差の実施例を示す。図9Cは、瞳孔中心の測定された位置における小誤差900aと、角膜中心の測定された位置における小誤差900bとが存在するときの、抽出された視線ベクトルにおける誤差の実施例を示す。ウェアラブルシステム200のいくつかの実施形態では、視線決定における誤差は、眼画像内の閃光の決定におけるピクセル毎に約20分の誤差となり得る一方、本明細書に説明される多重露光時間眼追跡技法のいくつかの実施形態を用いると、誤差は、ピクセルあたり約3分未満まで低減されることができる。
異なる露光時間を用いた複数の画像を使用した眼結像
図10Aは、閃光が単一の長露光眼画像1002aから取得されるときの、閃光位置における不確実性の実施例を示す。本実施例では、眼画像1002aのための露光時間は、約700μsであった。画像1002a内の閃光のうちの1つは、拡大画像1006aに示され、等高線プロット1008aは、閃光の強度輪郭を示す。拡大画像1006aは、閃光が飽和され、閃光強度のピークが欠けていることを示す。画像1006a内の強度のダイナミックレンジは、より低い強度の瞳孔および虹彩特徴およびより高い強度の閃光の両方を捕捉するために比較的に高くあり得る。閃光が、画像1006a内の多くのピクセルを網羅し、これは、特に、閃光のピーク強度が欠けているとき、閃光の中心を正確に決定することを困難にし得る。閃光1006aの半値全幅(FWHM)は、約15ピクセルである。ウェアラブルシステム200のいくつかの実施形態に関して、閃光の中心(または重心)を決定する際の各ピクセルの誤差は、視線方向または眼光学軸の方向を決定する際の約20分の誤差に対応する。異なる露光時間を用いて捕捉された複数の眼画像を使用した眼結像の実施形態は、有利なこととして、閃光位置をより正確に識別することができ、有利なこととして、視線方向または光学軸方向における誤差を数分またはそれ未満まで低減させることができる。
図10Bは、異なる露光時間において撮影される複数の画像を使用した技法が使用されるときの、閃光位置の不確実性の実施例を示す。本実施例では、2つの順次画像、すなわち、第1のより長い露光の画像1002bと、第2のより短い露光の画像1004とが、眼追跡カメラによって捕捉される。2つの画像1002b、1004のための総捕捉時間は、約1.5msである。画像1002bおよび1004に適用されるような標識「第1」および「第2」は、画像が撮影された時間的順序を示すことを意図するものではなく、単に、2つの画像のそれぞれを指すための便宜的方法としてのものである。故に、第1の画像1002bは、第2の画像1004の前、第2の画像1004の後に撮影されることができる、または2つの露光は、少なくとも部分的に重複してもよい。
より長い露光の画像1002bは、図10Aに示される画像1002aに類似する、露光時間を有し得、これは、本実施例では、約700μsである。第1のより長い露光の画像1002bは、瞳孔(または虹彩)特徴を決定するために使用されることができる。例えば、より長い露光の画像1002bは、瞳孔中心または回転中心(CoR)を決定する、バイオメトリックセキュリティ用途のために虹彩特徴を抽出する、眼瞼形状または眼瞼による虹彩または瞳孔のオクルージョンを決定する、瞳孔サイズを測定する、レンダリングカメラパラメータを決定する等のために分析されることができる。しかしながら、図10Aを参照して説明されるように、閃光は、そのようなより長い露光の画像では、飽和され得、これは、閃光位置における比較的に大誤差につながり得る。
いくつかの実装では、より長い露光の画像内の瞳孔コントラストは、より良好な変調伝達関数(MTF)、例えば、回折限界MTFにより近いMTFを有する、眼追跡カメラを使用することによって、増加されることができる。例えば、結像センサのためのより良好なMTFまたはカメラの結像レンズのためのより良好なMTFが、ピクセルコントラストを改良するために選択されることができる。そのようなMTFを有する眼追跡カメラとして実装される、または別様に本明細書に説明される眼追跡システムのうちの1つ以上のものにおいて採用され得る、例示的結像感知デバイスおよび技法は、2018年12月13日に出願され、「GLOBAL SHUTTER PIXEL CIRCUIT AND METHOD FOR COMPUTER VISION APPLICATIONS」と題された、米国特許出願公開第2019/0181171号として公開された米国特許出願第16/219,829号、および2018年12月13日に出願され、「DIFFERENTIAL PIXEL CIRCUIT AND METHOD OF COMPUTER VISION APPLICATIONS」と題された、米国特許出願公開第2019/0181169号として公開された米国特許出願第16/219,847号(その両方とも、参照することによってその全体として本明細書に組み込まれる)に説明される。種々の実施形態では、眼追跡カメラ324は、5~6ピクセル、1~4ピクセル等の瞳孔コントラスト(例えば、瞳孔と虹彩との間の遷移において測定される)を伴う、画像を生産することができる。眼追跡カメラ324として実装される、または、いくつかの実施形態において、別様に本明細書に説明される眼追跡システムのうちの1つ以上のものにおいて採用され得る、付加的例示的結像感知デバイスおよび技法は、2016年5月19日に出願され、「SEMI-GLOVAL SHUTTER IMAGER」と題された、米国特許出願公開第2016/0344957号として公開された米国特許出願第15/159,491号(参照することによってその全体として本明細書に組み込まれる)に説明される。
第2のより短い露光の画像1004のための露光時間は、実質的に、第1の画像1002bの露光時間未満であって、閃光550を飽和させる(例えば、画像内の閃光ピークを欠けさせる)尤度を低減させることができる。上記に述べられたように、第2のより短い露光の画像1004は、時として、本明細書では、閃光位置を正確に識別するために使用され得るため、閃光画像とも称される。本実施例では、第2の画像1004の露光時間は、40μs未満であった。閃光は、第2の画像1004内で知覚可能であるが、瞳孔(または虹彩)特徴は、容易に知覚可能ではなく、これは、より長い露光第1の画像1002bが、瞳孔中心抽出またはCoR決定のために使用され得る理由であることに留意されたい。画像1006bは、第2の画像1004内の閃光のうちの1つの拡大図である。画像1006b内の閃光のより小さいサイズ(画像1006a内のサイズと比較して)は、容易に明白であって、これは、閃光が、画像1006b内で飽和されていないことを実証する。等高線プロット1008bは、閃光に関するはるかに小さい輪郭パターン(等高線プロット1008aに示される輪郭と比較して)を示す。本実施例では、閃光の中心の場所は、サブピクセル正確度、例えば、ピクセルの約1/10まで決定されることができる(本実施例では、視線または光学軸方向におけるわずか約2分の誤差に対応する)。いくつかの実装では、ピクセル中心の場所は、例えば、2次元(2D)ガウス(または他の釣鐘形状の曲線)を閃光ピクセル値に適合させることによって、第2のより短い露光の画像1004から非常に正確に決定されることができる。いくつかの実施形態では、閃光の質量中心の場所が、閃光の中心の場所のものに類似するキャパシティにおいて決定され、依拠され得る。閃光場所を決定するために使用される閃光画像の露光時間は、閃光のピークを結像するためにのみ十分な長さであるように選択されることができる。
眼結像技法は、したがって、より長い露光の画像(瞳孔性質の抽出のために使用され得る)およびより短い露光の閃光画像(閃光位置の抽出のために使用され得る)の捕捉を利用し得る。上記に述べられたように、より長いおよびより短い画像は、任意の順序において撮影されることができる、または露光時間は、少なくとも部分的に重複することができる。第1の画像のための露光時間は、200μs~1,200μsの範囲内であってもよい一方、第2の画像のための露光時間は、5μs~100μsの範囲内であってもよい。第2の画像のための露光時間に対する第1の画像のための露光時間の比は、5~50、10~20の範囲、またはある他の範囲内であることができる。より長いおよびより短い露光の画像が捕捉され得る、フレームレートは、図11を参照して説明される。
閃光位置を第2のより短い露光の画像から決定することの潜在的利点は、閃光が比較的に小数のピクセルを網羅し(例えば、画像1006bと画像1006aを比較して)、閃光中心を見出すことが、算出上迅速かつ効率的に実施され得ることである。例えば、閃光に関する検索面積は、いくつかの実施形態では、わずか約2~10ピクセルの直径を有し得る。さらに、閃光がより小数のピクセルを網羅するため、画像の比較的に小部分のみが、分析または(例えば、バッファ内に)記憶され得、これは、実質的メモリ節約を提供することができる。加えて、閃光画像のダイナミックレンジは、周囲の環境光源(例えば、室内灯、空等)の画像が、短露光時間に起因して、知覚可能ではないほど十分に低くあり得、これは、有利なこととして、そのような周囲光源が、閃光に干渉しない、またはそのように間違えられないであろうことを意味する。
さらに、比較的に短露光時間を使用することはまた、サッカードまたは別様に高速移動に従事する眼の画像内のモーションブラーの存在を低減させる役割を果たし得る。例示的眼追跡およびサッカード検出システムおよび技法およびそれと関連付けられる露光時間切替および調節スキームは、2018年4月19日に出願され、「SYSTEMS AND METHODS FOR ADJUSTING OPERATIONAL PARAMETERS OF A HEAD-MOUNTED DISPLAY SYSTEM BASED ON USER SACCADES」と題された、米国仮特許出願第62/660,180号、および2019年4月19日に出願され、「SYSTEMS AND METHODS FOR OPERATING A DISPLAY SYSTEM BASED ON USER PERCEPTIBILITY」と題された、米国特許出願公開第2019/0324276号として公開された米国特許出願第16/389,529号(参照することによってその全体として本明細書に組み込まれる)に説明される。いくつかの実装では、そのような例示的システム、技法、およびスキームのうちの1つ以上のものは、本明細書に説明されるシステムおよび技法のうちの1つ以上のものとして実装される、または別様に活用されてもよい(例えば、眼追跡モジュール614によって)。より短い時間の露光とより長い時間の露光との間の切替の付加的詳細は、図11を参照して下記に説明される。
上記に説明されるように、いくつかの実装では、閃光画像の少なくとも一部は、バッファ内に一時的に記憶され、閃光画像のその部分は、その部分内に位置し得る、1つ以上の閃光の位置を識別するために分析される。例えば、部分は、比較的に小数のピクセル、行、または列の閃光画像を含み得る。ある場合には、部分は、閃光画像のn×m部分を含み得、nおよびmは、約1~20の範囲内である。例えば、閃光画像の5×5部分が、バッファ内に記憶されてもよい。
閃光の位置が、識別された後、バッファは、クリアされてもよい。閃光画像の付加的部分が、次いで、閃光画像全体が、処理されるか、または全て(一般に、4つ)の閃光が、識別されるかのいずれかとなるまで、分析のためにバッファ内に記憶されてもよい。ある場合には、画像の閃光の1つを上回るものが、処理のために同時にバッファ内にある。ある場合には、画像の閃光の大部分が、処理のために同時にバッファ内にある。ある場合には、画像の全ての閃光が、処理のために同時にバッファ内にある。閃光位置(例えば、デカルト座標)が、眼追跡プロセスにおける後続アクションのために使用されてもよく、閃光位置が、記憶された、または好適なプロセッサに通信された後、閃光画像は、メモリ(バッファメモリまたは他の揮発性または不揮発性記憶装置)から削除されてもよい。そのようなバッファは、有利なこととして、閃光位置を識別するための閃光画像の高速処理を可能にする、または閃光画像が使用後に削除され得るため、眼追跡プロセスの記憶の必要性を低減させ得る。
いくつかの実装では、より短い露光の閃光画像は、ウェアラブルシステム200、400、または600内のハードウェアプロセッサによって処理される。例えば、閃光画像は、図6を参照して説明される、頭部搭載型ユニット602のCPU612によって処理されてもよい。CPU612は、バッファ615を含み、またはそれと通信してもよく、これは、処理する(例えば、閃光位置を識別する)ための閃光画像の少なくとも一部を一時的に記憶するために使用され得る。CPU612は、いくつかの実装では、識別された閃光の位置を、より長い露光の画像を分析する、別のプロセッサ(例えば、図6を参照して説明される、CPU616またはGPU620)に出力してもよい。本他のプロセッサは、いくつかの実装では、頭部搭載型ディスプレイユニットから遠隔にあってもよい。他のプロセッサは、例えば、ベルトパック内にあってもよい。故に、いくつかの実装では、CPU612等のハードウェアプロセッサは、識別された閃光の位置(例えば、閃光ピークのデカルト座標)を、可能性として、識別された閃光の強度(例えば、閃光のピーク強度)を示すデータとともに、別のプロセッサ(例えば、図6を参照して説明される、CPU616またはGPU620)に出力してもよい。いくつかの実施形態では、CPU612およびバッファ615は、眼追跡カメラ324内にある、またはそれと関連付けられる、ハードウェアプロセッサ内にある。そのような配列は、より短い露光の閃光画像が、カメラ回路網によって処理されることができ、(頭部搭載型ユニット602上または外のいずれかにある)別の処理ユニットに通信される必要がないため、増加された効率を提供することができる。カメラ324が、単に、閃光位置(例えば、閃光ピークのデカルト座標)を別の処理ユニット(例えば、CPU612、616またはGPU620等のより長い露光の画像を分析する、ハードウェアプロセッサ)に出力してもよい。故に、いくつかの実施形態では、カメラ324内にある、またはそれと関連付けられる、ハードウェアプロセッサが、識別された閃光の位置(例えば、閃光ピークのデカルト座標)を、可能性として、識別された閃光のそれぞれの強度(例えば、閃光のピーク強度)を示すデータとともに、別のプロセッサ(例えば、図6を参照して説明される、CPU612、616またはGPU620)に出力してもよい。いくつかの実装では、より短い露光の閃光画像は、ハードウェアプロセッサ(例えば、CPU612)によって処理され、本ハードウェアプロセッサは、潜在的に、閃光画像であり得る、識別された閃光候補の位置(例えば、閃光ピークのデカルト座標)を、可能性として、識別された閃光候補の強度(例えば、閃光のピーク強度)を示すデータとともに、別のプロセッサに出力してもよい。本他のプロセッサは、識別された閃光候補のサブセットを閃光として識別してもよい。本他のプロセッサはまた、識別された閃光候補のサブセット(例えば、他のプロセッサによって閃光と見なされる識別された閃光候補のサブセット)に基づいて、1つ以上の動作(例えば、視線方向を決定するための1つ以上の動作)を実施してもよい。故に、いくつかの実装では、より短い露光の閃光画像は、ハードウェアプロセッサ(例えば、CPU612、カメラ324内にある、またはそれと関連付けられる、ハードウェアプロセッサ等)によって処理され、本ハードウェアプロセッサは、識別された閃光候補の位置(例えば、閃光ピークのデカルト座標)を、可能性として、識別された閃光候補の強度(例えば、閃光のピーク強度)を示すデータとともに、別のプロセッサ(例えば、図6を参照して説明される、CPU616またはGPU620)に出力してもよく、本他のプロセッサ(例えば、図6を参照して説明される、CPU616またはGPU620)は、識別された閃光候補のサブセット(例えば、他のプロセッサによって閃光と見なされる識別された閃光候補のサブセット)に基づいて、1つ以上の動作(例えば、視線方向を決定するための1つ以上の動作)を実施してもよい。いくつかの実装では、より短い露光の閃光画像を処理する、ハードウェアプロセッサはさらに、異なる識別された閃光候補の強度(例えば、閃光のピーク強度)を示すデータを他のプロセッサ(例えば、図6を参照して説明される、CPU616またはGPU620)に出力してもよく、いくつかの実施例では、本他のプロセッサは、識別された閃光候補の位置および識別された閃光候補の強度の一方または両方に基づいて、識別された閃光候補のサブセットを選択してもよく、可能性として、識別された閃光候補の選択されたサブセットに基づいて、1つ以上の動作(例えば、視線方向を決定するための1つ以上の動作)をさらに実施してもよい。例えば、これらの実装のうちの少なくともいくつかでは、他のプロセッサ(例えば、図6を参照して説明される、CPU616またはGPU620)は、少なくとも部分的に、識別された閃光候補の選択されたサブセットおよび該眼の瞳孔中心(例えば、1つ以上のより長い露光の画像に基づいて、他のプロセッサによって決定されるように)に基づいて、眼の視線方向を決定してもよい。いくつかの実装では、他のプロセッサによって選択された識別された閃光候補のサブセットは、システムによって採用される赤外線光源毎に、1つの閃光候補のみを含んでもよい一方、識別され、他のプロセッサに通信される、閃光候補の量は、システムによって採用される、赤外線光源の量を超えてもよい。他の構成およびアプローチも、可能性として考えられる。
種々の実装では、より長い露光の画像は、CPU612によって処理されてもよい、または、例えば、CPU616またはGPU621によって処理するために、非頭部搭載型ユニット604に通信されてもよい。記載されるように、いくつかの実装では、CPU616またはGPU621は、バッファ615によって記憶された閃光画像を分析するようにプログラムされる、別のプロセッサ(例えば、CPU612)からのより短い露光の画像から識別された閃光位置を取得してもよい。
多重露光時間眼結像のためのフレームレート
上記に説明されるように、異なる露光時間を用いて複数の眼画像を捕捉することは、有利なこととして、閃光中心の正確な決定(例えば、より短い露光の画像から)および瞳孔中心の正確な決定(例えば、より長い露光の画像から)を提供することができる。閃光中心の位置は、角膜の姿勢を決定するために使用されることができる。
ユーザの眼が、移動するにつれて、閃光も、対応して移動するであろう。眼移動を追跡するために、複数の短閃光露光が、閃光の運動を捕捉するために撮影されることができる。故に、眼追跡システムの実施形態は、例えば、約100フレーム/秒(fps)~500fpsの範囲内の比較的に高フレームレート(例えば、より長い露光の画像のフレームレートと比較して)において、閃光露光を捕捉することができる。したがって、連続短閃光露光間の時間周期は、種々の実施形態では、約1~2msから最大約5~10msの範囲内であってもよい。
瞳孔中心決定のためのより長い露光の画像は、閃光画像のためのフレームレートより低いフレームレートにおいて捕捉されてもよい。例えば、より長い露光の画像のためのフレームレートは、種々の実施形態では、約10fps~60fpsの範囲内であることができる。これは、要件ではなく、いくつかの実施形態では、より短いおよびより長い露光の画像の両方のフレームレートは、同一である。
図11は、より長い露光の画像は、50fps(例えば、連続画像間が20ms)のフレームレートにおいて撮影され、閃光画像が、200fps(例えば、連続画像間が5ms)のフレームレートにおいて撮影される、組み合わせられた動作モードの実施例を示す。組み合わせられた動作モードは、図6および7を参照して説明される、眼追跡モジュール614によって実施されてもよい。図11における水平軸は、時間(ms単位)である。図11の上の行は、(例えば、IR光源による)眼の照明と、例えば、眼追跡カメラ324による、対応する画像の捕捉とを図式的に図示する。閃光画像1004は、先鋭の三角形として図示される一方、より長い露光の画像は、より広い平坦な上部の台形として図示される。本実施例では、閃光画像は、後続の長露光の画像の前に捕捉されるが、順序は、他の実装では、逆転されることができる。本実施例では、閃光画像1004のためのフレームレートは、より長い露光の画像1002のためのフレームレートより高い(例えば、本実施例では、4倍高い)ため、図11は、次のより長い露光の画像が撮影される前(例えば、最初のより長い露光の画像が捕捉されてから20ms後)に捕捉される、4つの閃光画像(約5msずつ分離される)を示す。
他の実装では、閃光画像フレームレートまたはより長い露光の画像フレームレートは、図11に図示されるものと異なり得る。例えば、閃光画像フレームレートは、約100fps~約1000fpsの範囲内であることができ、より長い露光の画像フレームレートは、約10fps~約100fpsの範囲内であることができる。種々の実施形態では、閃光画像フレームレート対より長い露光フレームレートの比は、約1~20、4~10の範囲、またはある他の範囲内であることができる。
図11の中央行は、閃光およびより長い露光の画像データの読取(読取は、画像が捕捉された後に生じる)を図式的に図示し、図11の下の行は、眼追跡システムの動作(例えば、閃光画像を使用した閃光優先、またはより長い露光の画像を使用した瞳孔優先)モードを示す。したがって、本実施例では、閃光位置は、短露光の閃光画像から5ms毎に決定され、瞳孔中心(またはCoR)は、より長い露光の画像から20ms毎に決定される。より長い露光の画像の露光時間は、瞳孔および虹彩特徴を捕捉するために十分に長く、かつ十分なダイナミックレンジを有するが、眼が、露光の間、実質的に移動しないように十分な短さであり得る(例えば、画像内のぼけの尤度を低減させるために)。上記に述べられたように、より長い露光の画像の露光時間は、いくつかの実施形態では、約700μsであることができ、閃光画像の露光時間は、約40μs未満であることができる。
いくつかの実施形態では、眼追跡モジュール614は、例えば、より短い露光時間とより長い露光時間との間の露光時間を動的に調節してもよい。例えば、露光時間は、ディスプレイシステムによって、決定されている情報のタイプに基づいて、(例えば、ある範囲の露光時間から)選択されてもよい。実施例として、眼追跡モジュール614は、サッカードの発生を決定してもよい。しかしながら、他の実施例では、ウェアラブルディスプレイシステム200は、1つ以上の画像を取得し、ユーザの眼と関連付けられる視線を決定してもよい。例えば、ディスプレイシステムは、図8Aを参照して説明される、ユーザの眼の幾何学形状を利用して、ユーザの中心窩または眼光学軸から延在するベクトルを決定してもよい。ディスプレイシステムは、したがって、より短い露光時間を選択し、モーションブラーの存在を低減させてもよい。加えて、ディスプレイシステムは、ユーザの眼の画像に基づいて、バイオメトリック認証プロセスを実施してもよい。例えば、ディスプレイシステムは、ユーザの眼の既知の眼特徴と画像内で識別されたユーザの眼特徴を比較してもよい。したがって、ディスプレイシステムは、同様に、より短い露光時間を選択し、モーションブラーの存在を低減させてもよい。
露光時間を動的に調節するとき、眼追跡モジュール614は、第1の露光時間(例えば、長露光)における画像の取得と、第2の露光時間(例えば、短露光)における画像の取得との間で交互してもよい。例えば、眼追跡モジュールは、第1の露光時間において、画像を取得し、ユーザがサッカードを実施しているかどうかを決定し、次いで、続いて、第2の露光時間において、画像を取得してもよい。加えて、ウェアラブルディスプレイシステム200の特定の動作条件は、画像が第1または第2の露光時間において取得されるべきかどうかの知識を与え得る。
いくつかの実施形態では、眼追跡モジュール614は、露光時間のうちの1つ以上のものを動的に調節してもよい。例えば、眼追跡モジュールは、サッカード検出または閃光位置のために使用される、露光時間を増加または減少させてもよい。本実施例では、眼追跡モジュールは、モーションブラーと関連付けられる測定値が、高すぎる、または低すぎることを決定してもよい。すなわち、測定値は、露光時間に起因して、サッカードを正確に検出していない、または過剰に検出している場合がある。例えば、眼追跡モジュールは、モーションブラー検出および連続的に捕捉された画像フレーム間の比較の両方を使用して、サッカード検出を実施するように構成されてもよい。画像フレーム間の比較が、サッカードの発生のより正確な決定を提供すると仮定すると、複数の画像を比較することによって提供される結果は、基準として使用されてもよく、モーションブラー検出は、所望の(例えば、高)レベルの一致がサッカード検出のための2つのスキームの結果間で到達されるまで調節されてもよい。画像フレーム比較が、サッカードが過小検出されていることを示す場合、眼追跡モジュールは、露光時間を増加させるように構成されてもよい。逆に言えば、サッカードが、誤って検出されている場合、露光時間は、減少されてもよい。
眼追跡モジュールは、加えて、または代替として、瞳孔または虹彩性質(例えば、瞳孔中心、CoR等)を決定するために使用される、より長い露光の画像のための露光時間を動的に調節してもよい。例えば、より長い露光の画像が、虹彩詳細が飽和されるようなハイダイナミックレンジを有する場合、眼追跡モジュールは、露光時間を減少させてもよい。
いくつかの実施形態では、バイオメトリック認証プロセスを実施するとき、またはユーザの視線を決定するとき、眼追跡モジュールはまた、露光時間を調節してもよい。例えば、ディスプレイシステムは、露光時間を動的に低減させ、モーションブラーを低減させてもよい、または眼追跡モジュールは、取得される画像が適切に露光されていない場合(例えば、画像が暗すぎる場合)、露光時間を増加させてもよい。
いくつかの実施形態では、眼追跡モジュールは、ユーザの眼から取得される画像毎に、同一カメラ(例えば、カメラ324)を利用してもよい。すなわち、眼追跡モジュールは、特定のユーザの眼に向いているカメラを利用してもよい。ユーザが、サッカードを実施するとき、両眼は、対応する様式(例えば、類似速度および振幅)において移動し得る。したがって、眼追跡モジュールは、同一の眼の画像を利用して、サッカードが実施されているかどうかを確実に決定し得る。随意に、眼追跡モジュールは、ユーザの各眼に向いているカメラを利用してもよい。そのような実施形態では、眼追跡モジュールは、随意に、同一カメラを利用して、同一の眼の画像を取得してもよい、または利用するためのカメラを選択してもよい。例えば、眼追跡モジュールは、現在利用されていない、カメラを選択してもよい。眼追跡モジュールは、サッカードの発生を決定する以外の目的のために、ユーザの眼の画像を取得してもよい。実施例として、眼追跡モジュールは、視線検出等を実施してもよい(例えば、眼追跡モジュールは、ユーザが固視している、3次元点、将来的視線方向の予測(例えば、中心窩化レンダリングのために)、バイオメトリック認証(例えば、眼追跡モジュールは、ユーザの眼が既知の眼と合致するどうかを決定してもよい)を決定してもよい)。いくつかの実施形態では、眼追跡モジュールが、画像が撮影されるべきであることのコマンドを提供するとき、カメラのうちの1つは、使用中である場合がある。したがって、眼追跡モジュールは、サッカード検出、視線方向決定、閃光識別、バイオメトリック認証等のために使用されるための画像を取得するために、使用中ではないカメラを選択してもよい。
随意に、眼追跡モジュールは、両方のカメラをトリガし、画像を同時に取得してもよい。例えば、各カメラは、画像を個別の露光時間において取得してもよい。このように、眼追跡モジュールは、第1の眼の第1の画像を取得し、モーションブラーの測定値、閃光位置等を決定する一方、第2の眼の第2の画像を取得し、他の情報(例えば、視線検出、瞳孔中心決定、認証等のために使用されるための情報)を決定してもよい。随意に、両方の画像が、ユーザがサッカードを実施しているかどうかを決定するために利用されてもよい。例えば、眼追跡モジュールは、第2の画像に示されるような同一特徴と比較して、第1の画像に示される特徴(例えば、ユーザの眼、閃光等)の変形を決定してもよい。随意に、眼追跡モジュールは、各カメラに、例えば、相互から位相がずれるように、2つの露光値間で交互させてもよい。例えば、第1のカメラは、第1の露光値(例えば、より短い露光時間)において、画像を取得してもよく、同時に、第2のカメラは、第2の露光値(例えば、より長い露光時間)において、画像を取得してもよい。続いて、第1のカメラは、第2の露光値において、画像を取得してもよく、第2のカメラは、第1の露光値において、画像を取得してもよい。
閃光運動検出器
図12は、比較的に高フレームレートにおいて捕捉される短露光の閃光画像の使用が、眼が移動するにつれて、ロバストな閃光検出および追跡を提供し得る様子の実施例を図式的に図示する。フレーム#1では、4つの例示的閃光が、示される。フレーム#2は、フレーム#1後間もなく撮影された、閃光画像であって(例えば、200fpsレートにおいて、約5ms後)、初期閃光位置(#1として標識される)が#2によって標識された位置に移動した程度を図示する。同様に、フレーム#3は、フレーム#2後間もなく撮影された、別の閃光画像であって(例えば、200fpsレートにおいて、約5ms後)、初期閃光位置が#3によって標識された位置に移動し続けた程度を図示する。フレーム#2では、#2によって標識された位置における閃光のみが、画像内に現れ、#1によって標識された位置における閃光は、参照のために示され、フレーム#3に関しても同様であることに留意されたい。故に、図12は、閃光の例示的コンステレーションまたはパターンがフレーム毎に移動した程度を図式的に示す。
閃光画像は、比較的に高フレームレートにおいて捕捉され得るため、より早期のフレームにおける閃光位置の決定は、比較的に高フレームレートにおいて撮影されるとき、閃光がフレーム間で著しく移動しないため、後続フレーム内の閃光の予期される位置を決定することを補助することができる(例えば、図12に描写される閃光移動参照)。そのような閃光結像は、眼追跡システムが、フレーム毎検索領域を前の閃光位置の周囲の小数のピクセル(例えば、2~10のピクセル)に限定することを可能にし、これは、有利なこととして、処理速度および効率を改良し得る。例えば、上記に説明されるように、閃光画像の一部のみ(例えば、ピクセルの5×5グループ)が、関連付けられるCPU612によって処理するために、一時的メモリバッファ615内に記憶されてもよい。画像部分内に存在する、閃光は、迅速かつ効率的に識別され、その位置が、決定され得る。閃光位置は、(例えば、より長い露光の画像を用いた)後続処理のために使用され、閃光画像は、メモリから削除されてもよい。
そのような閃光結像のさらなる利点は、眼追跡システムがフレーム毎の閃光のわずかな移動に追従し得るため、閃光のそれぞれの標識化が、誤差をもたらす(例えば、左上閃光を右上閃光または左下閃光として誤標識化する)可能性が低いことであり得る。例えば、図12に描写される4つの閃光の「コンステレーション」は、眼が移動するにつれて、フレーム毎に実質的に共通速度において移動する傾向にあり得る。共通速度は、コンステレーションの代表速度または平均速度を表し得る。したがって、本システムは、全ての識別された閃光がほぼ同一速度で移動していることをチェックすることができる。「コンステレーション」内の閃光のうちの1つ(以上のもの)が、実質的に異なる速度(例えば、共通速度から閾値量を上回って異なる)で移動する場合、その閃光は、誤識別されている場合がある、または閃光は、角膜の非球状部分から反射されている場合がある。
したがって、フレーム毎の閃光位置のわずかな変化は、例えば、全4つの閃光が匹敵する位置の変化を呈する場合、比較的に高信頼度を伴って依拠され得るということになる。したがって、いくつかの実装では、眼追跡モジュール614は、わずか2つの画像フレームに基づいて、比較的に高信頼度を伴って、サッカードおよびマイクロサッカード移動を検出することが可能であり得る。例えば、これらの実装では、眼追跡モジュールは、あるフレームから次のフレームの閃光位置の大域的変化が閾値を超えるかどうかを決定し、そのようなグローバル変化が実際に閾値を超えないことの決定に応答して、ユーザの眼がサッカード(またはマイクロサッカード)移動に従事していることを決定するように構成されてもよい。これは、有利なこととして、例えば、2018年4月19日に出願された、上記に組み込まれる米国特許出願第62/660,180号および米国特許出願公開第No.2019/0324276号に説明されるように、深度面切替を実施するために利用されてもよい。
概して、図8Aに類似する、図13Aは、閃光のうちの1つが、角膜の非球状部分から反射される状況を図示する。眼追跡システムが、角膜球面1402の角膜モデル化中心を光源326aおよび326bからの閃光から決定し得る。例えば、光源326a、326bからの反射は、両方の破線1302が共通点において衝合する、角膜モデル化中心804に戻るように投影され得る(破線1302として示される)。しかしながら、システムが、光源326cからの閃光を中心に向かって投影する場合、破線1304は、角膜モデル化中心804において衝合しない。眼追跡システムが、光源326cからの閃光を使用して、角膜球面802の中心804を見出すように試みることになる場合、誤差が、中心位置に導入されるであろう(線1304が中心804と交差しないため)。故に、閃光画像内の閃光位置を追跡することによって、本システムは、閃光が角膜の非球状領域から反射された可能性が高い、状況を識別し(例えば、閃光速度がコンステレーションの共通速度と異なるため)、閃光を角膜球面モデル化計算から除去する(またはその閃光に割り当てられる加重を低減させる)ことができる。非球状角膜領域内の閃光の閃光速度は、多くの場合、球状領域に関する閃光速度よりはるかに高速であって、本速度の増加は、少なくとも部分的に、閃光が非球状角膜領域から生じるときを識別するために使用されることができる。
ユーザが、瞬目すると、ユーザの眼瞼は、少なくとも部分的に、光源がそこから反射されるであろう、角膜の一部を被覆し得る。本領域から生じる閃光は、より低い強度を有する、または実質的に非球状である、画像形状を有し得る(その位置を決定する際に誤差を導入し得る)。図13Bは、部分的オクルージョンが存在する、閃光550aの実施例を示す、画像である。閃光結像はまた、画像内の閃光の強度を監視することによって、閃光が少なくとも部分的にオクルードされた状態になるときを識別するために使用されることができる。オクルージョンがない場合、各閃光は、フレーム毎にほぼ同一強度を有し得る一方、少なくとも部分的オクルージョンが存在する場合、閃光の強度は、急速に減少するであろう。したがって、眼追跡システムは、時間の関数として(例えば、フレーム毎に)閃光強度を監視し、部分的または完全オクルージョンが生じるときを決定し、閃光を眼追跡分析から除去する(またはその閃光に割り当てられる加重を低減させる)ことができる。さらに、閃光のコンステレーションは、ほぼ類似強度を有し得、したがって、本システムは、コンステレーションの共通強度からの特定の閃光強度の差異が存在するかどうかを監視することができる。そのような決定に応答して、眼追跡システムは、閃光を眼追跡分析から除去する(またはその閃光に割り当てられる加重を低減させる)ことができる。代替として、図20を参照して下記にさらに詳細に説明されるように、いくつかの実装では、眼追跡システムは、部分的または全体的にオクルードされた閃光の場所を推定してもよい。
図7を参照して説明される、閃光検出および標識化モジュール714は、したがって、有利なこととして、閃光運動検出器を含み、閃光結像におけるフレーム毎の閃光速度または閃光強度を監視し、閃光位置のよりロバストな決定を提供することができ、これは、(例えば、図7の3D角膜中心推定モジュール716によって決定される)角膜球面の中心のよりロバストな決定を提供することができる。
例示的閃光-瞳孔運動関係
本出願人は、眼画像内の閃光の移動と瞳孔の移動との間には、ある関係が存在することを決定した。図14Aおよび14Bは、デカルト(x,y)座標系内の閃光移動対瞳孔移動の実施例のグラフであって、x-軸は、水平であって、y-軸は、垂直である。図14Aは、閃光x-場所(ピクセル単位)対瞳孔x-場所(ピクセル単位)を示し、図14Bは、閃光y-場所(ピクセル単位)対瞳孔y-場所(ピクセル単位)を示す。これらの実施例では、4つの閃光(A、B、C、およびD)が、追跡され、測定の間、眼追跡(ET)システムに対するユーザの頭部の移動は、存在しなかった。図14Aおよび14Bから分かるように、閃光移動と瞳孔移動との間には、強い線形関係が存在する。例えば、閃光移動は、瞳孔移動の速度の約2分の1を有する。図14Aおよび14Bにおける線形関係および傾きの特定の値は、測定のために使用される眼追跡システムの幾何学形状に起因し得、閃光移動と瞳孔移動との間の類似関係は、他の眼追跡システムのためにも存在するであろう(および眼追跡画像の分析によって決定されることができる)ことが予期される。上記に述べられたように、いくつかの実装では、眼追跡システムは、部分的または全体的にオクルードされた閃光の場所を推定してもよい。図20を参照して下記にさらに詳細に説明される、これらの実装では、眼追跡システムは、1つ以上の部分的または全体的にオクルードされた閃光の場所を推定するように、そのような閃光-瞳孔関係の確率論的統計的モデルを活用してもよい。
閃光-瞳孔関係は、閃光結像によって提供される閃光決定のロバスト性とともに、ロバスト性を瞳孔中心(または回転中心、CoR)の決定に提供するために使用されることができる。さらに、閃光-瞳孔関係を活用して、瞳孔位置を決定することは、有利なこととして、モジュール712またはモジュール720等の図7のモジュールのうちの1つ以上のものを参照して上記に説明される、瞳孔識別および位置決定技法の算出節約を提供し得る。例えば、閃光位置は、閃光画像からロバストに決定されることができ(例えば、サブピクセル正確度まで)、瞳孔中心(またはCoR)の位置の推定値が、少なくとも部分的に、閃光-瞳孔関係(例えば、図14Aおよび14B参照)に基づいて予測されることができる。閃光画像が捕捉される、比較的に短時間周期にわたって(例えば、2~10ms毎に)、瞳孔中心(またはCoR)は、著しく変化しない。閃光位置は、複数の閃光フレーム捕捉(例えば、1~10フレーム)にわたって、追跡および平均されることができる。閃光-瞳孔関係を使用すると、平均閃光位置は、瞳孔位置(またはCoR)の推定値を提供する。いくつかの実施形態では、本推定値は、次いで、より長い露光の画像の分析において使用され、より正確かつ確実に、瞳孔中心(またはCoR)を決定することができる。他の実施形態では、本推定値は、単独で、システムに瞳孔中心の知識を与える役割を果たし得る。したがって、これらの実施形態のうちの少なくともいくつかでは、眼追跡モジュールは、瞳孔中心(またはCoR)を決定するために、より長い露光の画像に依拠する必要はない。むしろ、そのような実施形態では、眼追跡モジュールは、他の目的のために、より長い露光の画像に依拠し得る、またはいくつかの実施例では、そのようなより長い露光の画像の捕捉を完全に省いてもよい。
中心窩化レンダリングのための視線予測
図6を参照して説明されるように、レンダリングコントローラ618は、眼追跡モジュール614からの情報を使用して、レンダリングエンジン622(例えば、GPU620内のソフトウェアモジュールであり得、画像をウェアラブルシステム200のディスプレイ220に提供し得る、レンダリングエンジン)によって、ユーザに表示される画像を調節することができる。実施例として、レンダリングコントローラ618は、ユーザの回転中心または目線中心に基づいて、ユーザに表示される画像を調節してもよい。
いくつかのシステムでは、ディスプレイ220内のピクセルは、視線方向の近くでは、視線方向から離れたディスプレイ220の領域内(ある場合には、全くレンダリングされなくてもよい)より高い分解能またはフレームレートにおいてレンダリングされる。これは、時として、中心窩化レンダリングとも称され、主に、実質的に視線方向内のピクセルのみが、レンダリングされ得るため、実質的算出性能利得を提供し得る。中心窩化レンダリングは、レンダリング帯域幅の増加およびシステム200による電力消費の減少を提供し得る。中心窩化レンダリングを利用する、ウェアラブルシステム200の実施例は、「Depth Based Foveated Rendering for Display Systems」と題された、米国特許公開第2018/0275410号(参照することによってその全体として本明細書に組み込まれる)に説明される。
図15は、中心窩化レンダリングの実施例を図式的に図示する。視線方向のオリジナル場所(中心窩とも称される)を伴う、ディスプレイ(例えば、ディスプレイ220)の視野(FoV)は、円形1502として示される。矢印1504は、眼の高速サッカード(例えば、約300分/秒)を表す。破線円形1506は、視線方向が高速サッカードの場合であり得る、不確実性の領域を表す。領域1506内のディスプレイのピクセルは、レンダリングされてもよい一方、ディスプレイ領域1506の外側のディスプレイのピクセルは、レンダリングされなくてもよい(またはより低いフレームレートまたは分解能においてレンダリングされる)。領域1506の面積は、視線が新しい方向に移動するときと、画像がレンダリングパイプラインによって実際にレンダリングされ得るときとの間の時間(時として、運動から画像描画までのタイムスケールとも称される)の約二乗として増加する。ウェアラブルシステム200の種々の実施形態では、運動から画像描画までのタイムスケールは、約10ms~100msの範囲内である。故に、眼追跡システムが、レンダリングパイプラインが、ユーザの眼が将来的視線方向に移動するとき、表示のために、画像データの生成を開始し得るように、(表示のために、運動から画像描画までのおよその時間分先の)将来的視線方向を予測することが可能であることが有利であり得る。中心窩化レンダリングのための将来的視線方向のそのような予測は、例えば、ディスプレイの増加された見掛け応答性、画像生成における低減された待ち時間等、ユーザに利点を提供することができる。
図16は、眼追跡のための多重露光時間眼結像の実施形態を利用する、レンダリングパイプラインのための例示的タイミング図1600を図式的に図示する。レンダリングパイプラインは、最初に、アイドル1602であって(次の閃光露光を待機している)、次いで、閃光露光1604が、捕捉される(露光時間は、50μs未満であってもよい)。閃光画像は、カメラスタックによって読み取られ1606、読取時間は、閃光画像のピークのみを読み取ることによって、減少されることができる。閃光および閃光位置が、1608において、抽出され、眼追跡システムが、1610において、視線を決定する。レンダラ(例えば、レンダリングコントローラ618およびレンダリングエンジン622)が、表示のために、1612において、画像をレンダリングする。
図17は、中心窩化レンダリングのための例示的視線予測システム1700のブロック図である。システム1700は、例えば、図6および7を参照して説明される、システム600の一部として実装されることができる。システム1700は、2つのパイプライン、すなわち、閃光画像を取得するための画像パイプラインと、閃光を処理し、視線予測時間分先の将来的視線方向を予測するための閃光パイプラインとを有する。上記に説明されるように、中心窩化レンダリングのための視線予測時間は、システム600のための運動から画像描画までの時間(例えば、種々の実装では、10ms~100ms)に匹敵してもよい。いくつかのレンダリング用途に関して、視線予測時間は、約20ms~50ms、例えば、約25ms~30msの範囲内である。図17に示されるブロックは、例証的であって、他の実施形態では、ブロックのうちの1つ以上のものは、組み合わせられる、再編成される、省略される、または付加的ブロックが、システム1700に追加されることができる。
ブロック1702では、システム1700は、閃光画像を受信する。閃光画像の実施例は、閃光のピークが結像される、図10Bに示される画像1004である。ブロック1706では、本システムは、画像を閾値処理する、例えば、最低画像ピクセル値の強度値をより低い閾値(例えば、ゼロ)に設定することができる。ブロック1710では、閃光画像内の非最大値は、抑制または除去され、これは、閃光ピークのみを見出すことを補助することができる。例えば、システム1700は、画像の行(または列)を横断して走査し、最大値を見出すことができる。ブロック1710に進むと、近最大値は、緊密に離間された最大値のグループのより低い最大値(例えば、相互から閾値ピクセル距離、例えば、2~20ピクセル内の最大値)を除去するように処理されることができる。例えば、ユーザは、コンタクトレンズを装着し得る。光源の反射326は、コンタクトレンズの正面および角膜の両方において生じ、2つの緊密に離間された閃光をもたらし得る。ブロック1710における非最大値抑制は、一次または第1の鏡面反射のみがさらなる処理のために保たれるように、より低い最大値を排除することができる。
閃光パイプラインは、処理された閃光画像を画像パイプラインから受信する。閃光追跡および分類(例えば、標識化)が、ブロック1714において実施されることができる。図12を参照して説明されるように、以前に識別された閃光に関する情報(例えば、位置、強度等)が、ブロック1716から受信されることができ、ブロック1714は、本情報を使用して、閃光のそれぞれが見出される可能性が高い、閃光画像内の検索領域を識別することができる(検索時間を低減させ、処理効率を増加させ得る)。ブロック1716からの前の閃光情報もまた、閃光が、少なくとも部分的に、オクルードされている、または閃光が、角膜の非球状部分から生じているかどうかを識別する際に有用であり得る。そのような閃光は、ブロック1714において、閃光追跡から除去されてもよい。代替として、図13Bおよび14A-14Bを参照して上記に述べられたように、いくつかの実装では、眼追跡システムは、部分的または全体的にオクルードされた閃光の場所を推定してもよい。付加的詳細は、図20を参照して下記に提供される。
ブロック1718では、システム1700は、現在の視線(例えば、眼光学軸または視線ベクトル)をブロック1714から受信された閃光情報から算出する。ブロック1720では、前の視線情報(例えば、前の閃光画像から決定される)は、ブロック1722に入力され、そこで、将来的視線方向が、算出される。例えば、システム1700は、現在の視線(ブロック1718)および1つ以上の前の視線(ブロック1720)から外挿し、将来的視線時間における(例えば、将来の10ms~100ms先の)視線を予測することができる。ブロック1722から予測される視線は、レンダリングエンジンに提供され、中心窩化レンダリングを可能にすることができる。
いくつかの実施形態では、システム1700内のパイプラインは、閃光結像を高フレームレート(例えば、100fps~400fps)において起動する。
図18A-18Dは、視線予測システム1700の実施形態を使用して将来的視線を予測する実験の結果を図示する。本例示的実験では、閃光画像フレームレートは、160fpsであった。図18Aは、ユーザの眼が、約40分×20分であった視野にわたって移動していたときの、4つの閃光毎の閃光経路を示す。4つの閃光の経路は、異なる塗り潰された点によって示され、これらの閃光の平均値の経路は、塗り潰されていない正方形によって示される。図18Bは、視線予測(短実線)対閃光の平均値(本実験に関しては、グラウンドトゥルースと見なされる)の(塗り潰されていない正方形内の)経路の比較を示す。将来的予測時間は、37.5msであって、18.75msに遡った過去からの閃光が、予測のために使用された。図18Bから分かるように、予測の大部分ではないにしても、その多くが、眼の平均経路を正確に追跡する。図18Cは、眼角速度(度/秒単位)対フレームのプロットであって、速度ヒストグラム1820を図の左側に伴う。図18Cは、眼移動の大部分が比較的に低角速度(例えば、約25度/秒を下回る)で生じることを示し、持続的であるが、幾分、最大約200度/秒の散発的またはランダムな移動を伴う。図18Dは、受信者動作特性(ROC)プロットであって、予測パーセンタイル対予測とグラウンドトゥルース(GT)との間の誤差を示す。異なる線は、6.25ms~60msの異なる将来的予測時間に関するものである。線が垂直に近いほど(左に向かって)、予測がより正確である。約6.25msの予測時間(本実験に関しては、フレームレートの逆数)に関して、誤差は、非常に小さい。誤差は、予測時間がより長くなるにつれて増加するが、50msの予測時間でも、視線予測の90パーセント超は、5ピクセル未満の誤差を有する。
眼追跡のための例示的方法
図19は、眼追跡のための例示的方法1900を図示する、フローチャートである。方法1900は、例えば、図6および7を参照して説明される、眼追跡システム601を使用して、ウェアラブルディスプレイシステム200、400、または600の実施形態によって実施されることができる。方法1900の種々の実施形態では、下記に説明されるブロックは、任意の好適な順序またはシーケンスで実施されることができ、ブロックは、組み合わせられる、または再配列されることができる、または他のブロックが、追加されることができる。
ブロック1904では、方法1900は、例えば、眼追跡カメラ324を使用して、眼のより長い露光の画像を捕捉する。より長い露光の画像の露光時間は、200μs~1,200μsの範囲内、例えば、約700μsであってもよい。より長い露光の画像のための露光時間は、眼追跡カメラ324の性質に依存し得、他の実施形態では、異なり得る。より長い露光の画像のための露光時間は、瞳孔または虹彩の特徴を捕捉するために十分なダイナミックレンジを有するべきである。より長い露光の画像は、種々の実施形態では、10fps~60fpsの範囲内のフレームレートにおいて撮影されることができる。
ブロック1908では、方法1900は、例えば、眼追跡カメラ324を使用して、眼のより短い露光(閃光)の画像を捕捉する。閃光画像の露光時間は、5μs~100μsの範囲内、例えば、約40μs未満であってもよい。より短い露光の閃光画像のための露光時間は、ブロック1904において捕捉されるより長い露光の画像のための露光時間未満であってもよい。閃光画像のための露光時間は、眼追跡カメラ324の性質に依存し得、他の実施形態では、異なり得る。閃光画像のための露光時間は、光源326からの閃光のピークを結像するために十分であるべきである。露光時間は、閃光中心のサブピクセル場所を可能にするために、閃光が、飽和されず、数(例えば、1~5)ピクセルの幅を有するために十分であり得る。閃光画像のための露光時間に対するより長い露光の画像のための露光時間の比は、5~50、10~20の範囲、またはある他の範囲内であることができる。閃光画像は、種々の実施形態では、100fps~1,000fpsの範囲内のフレームレートにおいて撮影されることができる。より長い露光の画像のためのフレームレートに対する閃光画像のためのフレームレートの比は、1~100、1~50、2~20、3~10の範囲内、またはある他の比であることができる。
ブロック1912では、方法1900(例えば、CPU612を使用する)は、瞳孔中心(または回転中心、CoR)をブロック1904において取得されるより長い露光の画像から決定することができる。方法1900は、他のバイオメトリック用途のために、他の眼特徴(例えば、虹彩コード)に関してより長い露光の画像を分析することができる。
ブロック1916では、方法1900(例えば、CPU612を使用する)は、閃光位置をブロック1908において取得される閃光画像から決定することができる。例えば、方法1900は、2-Dガウスを閃光画像に適合させ、閃光位置を決定することができる。他の機能性は、ブロック1916において実施されることができる。例えば、図17を参照して説明されるように、方法1900は、閃光画像を閾値処理し、非最大値または近最大値を閃光画像等から除去することができる。方法1900は、閃光の「コンステレーション」を追跡し、コンステレーションの平均速度を使用して、推定される閃光位置、閃光が、角膜の非球状領域から反射されている、少なくとも部分的オクルージョンを被っているかどうか等を識別することを補助することができる。ブロック1916では、方法1900は、(例えば、前の閃光画像内の)閃光の以前に決定された位置を利用して、現在の閃光画像内の閃光を位置特定または標識化することを補助することができる。
ブロック1920では、方法1900(例えば、CPU612を使用する)は、より長い露光の画像およびより短い露光の閃光画像から決定される情報を使用して、現在の視線を決定することができる。例えば、閃光画像から取得される閃光位置およびより長い露光の画像から取得される瞳孔中心は、視線方向を決定するために使用されることができる。視線方向は、図5Aを参照して説明される、2つの角度、例えば、θ(基点方位角から決定される、方位角偏向)およびφ(時として、極性偏向とも称される、天頂偏向)として表され得る。
ブロック1924では、方法1900(例えば、CPU612を使用する)は、将来的視線を現在の視線および1つ以上の前の視線から予測することができる。図15-17を参照して説明されるように、将来的視線は、有利なこととして、中心窩化レンダリングのために使用されることができる。将来的視線は、外挿技法を介して予測されることができる。ブロック1924は、将来的視線時間における(例えば、現在の視線が算出された時間から10ms~100ms後の)将来的視線を予測することができる。
ブロック1928では、方法1900(例えば、レンダリングコントローラ618またはレンダリングエンジン622を使用する)は、ウェアラブルディスプレイシステムのユーザへの提示のために、仮想コンテンツをレンダリングすることができる。上記に説明されるように、中心窩化レンダリングのために、ユーザの将来的視線方向の知識が、ユーザが将来的視線方向を見ているときのレンダリングのための仮想コンテンツの準備をより効率的に開始するために使用されることができ、これは、有利なこととして、待ち時間を低減させ、レンダリング性能を改良し得る。
いくつかの実施形態では、ウェアラブルディスプレイシステムは、中心窩化レンダリング技法を利用しなくてもよく、方法1900は、将来的視線方向を予測しなくてもよい。そのような実施形態では、ブロック1924は、随意である。
図13B、14A-14B、および17を参照して上記に述べられたように、いくつかの状況では、1つ以上の閃光は、部分的または全体的に、ユーザの眼瞼、睫毛、および同等物によってオクルードされ得る。いくつかの実装では、眼追跡システムは、部分的または全体的にオクルードされた閃光の場所を推定してもよい。図20を参照して下記にさらに詳細に説明される、これらの実装では、眼追跡システムは、1つ以上の部分的または全体的にオクルードされた閃光の場所を推定するように、閃光-瞳孔関係の確率論的統計的モデルを活用してもよい。そのような閃光-瞳孔関係は、いくつかの実施例では、図14A-14Bを参照して上記に説明される閃光-瞳孔関係のうちの1つ以上のものに類似し得る。いくつかの実施例では、眼追跡システムは、閃光の所定の最小閾値量(例えば、2つの閃光)未満が検出されたことの決定に応答して、1つ以上の部分的または全体的にオクルードされた閃光の場所を推定し得る。いくつかの実装では、眼追跡システムは、検出された閃光場所、決定された瞳孔場所、または両方を閃光-瞳孔関係の確率論的統計的モデルに適用し、その中に閃光が示されることが予期される、画像内の領域を識別し、そこで閃光が示されることが予期される、画像内の場所を推定してもよい。いくつかの実施例では、眼追跡システムは、検出された閃光場所を推定される閃光場所とともに使用して、眼姿勢を決定し、および/または1つ以上の下流モジュールへの出力のために、推定される閃光場所を検出された閃光場所とともに提供してもよい。
いくつかの実装では、閃光場所推定のための眼追跡システムによって活用される、確率論的統計的モデルは、各ユーザのために生成および/または適合されてもよい。すなわち、いくつかの実装では、眼追跡システムは、ある時間周期にわたって所与のユーザに関して取得された眼追跡データ(例えば、決定された瞳孔場所および決定された閃光場所)に基づいて、そのユーザに関する瞳孔場所の関数として、閃光場所のモデルを展開してもよい。図14A-14Bを参照して上記に説明されるように、瞳孔と閃光場所との間には、略線形関係が存在する。したがって、眼追跡システムは、線形回帰を所与のユーザに関して取得された眼追跡データ上で実施することによって、そのユーザに関する閃光-瞳孔関係のそのような確率論的統計的モデルを展開してもよい。いくつかの実装では、眼追跡システムは、新しい眼追跡データが到着するにつれて、例えば、最小二乗アプローチを使用して、線形適合を経時的に再帰的に更新してもよい。いくつかの実施例では、眼追跡システムは、1つ以上のカルマンフィルタリング技法を採用して、モデルを経時的に更新してもよい。
図20は、閃光推定のための例示的方法2000を図示する、フローチャートである。方法2000は、例えば、図6および7を参照して説明される眼追跡システム601を使用して、ウェアラブルディスプレイシステム200、400、または600の実施形態によって実施されることができる。方法2000の種々の実施形態では、下記に説明されるブロックは、任意の好適な順序またはシーケンスで実施されることができる、ブロックは、組み合わせられる、または並べ替えられることができる、または他のブロックは、追加または除去されることができる、またはそれらの任意の組み合わせであることができる。
いくつかの実装では、方法2000は、ユーザの眼の画像を捕捉するように構成される、1つ以上のカメラと、閃光を1つ以上のカメラによって捕捉されたユーザの眼の画像内に生産するような様式において、ユーザの眼を照明するように構成される、複数の光源(例えば、赤外線光源)と、1つ以上のカメラに結合される、1つ以上のプロセッサとを含む、頭部搭載型システムによって実施されてもよい。そのような実装のうちの少なくともいくつかでは、方法2000の動作のいくつかまたは全ては、少なくとも部分的に、システムの1つ以上のプロセッサによって実施されてもよい。いくつかの実施例では、複数の光源は、3つ以上の光源を含んでもよい。
ブロック2002では、方法2000は、ユーザの眼の画像を受信するステップを含んでもよい。これは、例えば、1つ以上のプロセッサが画像を1つ以上のカメラから受信するステップに対応してもよい。ブロック2004では、方法2000は、画像内の1つ以上の閃光のセットを検出するステップを含んでもよい。例えば、ブロック2004では、本明細書に説明される閃光検出技法のうちの1つ以上のものが、そこで閃光が示される、画像内の場所を検出するために採用されてもよい。
ブロック2006では、方法2000は、1つ以上の閃光の検出されたセットが、最小量未満の閃光を含むかどうかを決定するステップを含んでもよい。例えば、これは、1つ以上の閃光の検出されたセットが2つ未満の閃光を含むかどうかを決定するステップを含んでもよい。
ブロック2006における、1つ以上の閃光の検出されたセットが最小量未満の閃光を含むことの決定に応答して、ブロック2008と関連付けられる動作が、実施されてもよい。例えば、1つ以上の閃光の検出されたセットは、1つ以上の閃光の部分的または全体的オクルージョンの結果として、最小量未満の閃光を含み得る。ブロック2008では、方法2000は、1つ以上の閃光の検出されたセットをモデルに適用し、画像内の1つ以上の閃光のセットを推定するステップを含んでもよい。例えば、そのようなモデルは、閃光-瞳孔関係の確率論的統計的モデルに対応し得る。いくつかの実装では、そのようなモデルは、各ユーザのために生成および/または適合されてもよい。例えば、1つ以上の閃光場所の推定されるセットは、部分的または全体的にオクルードされていない場合、そこで1つ以上の閃光が示され得る、画像内の場所に対応し得る。
ブロック2010では、方法2000は、1つ以上の閃光の検出されたセットおよび1つ以上の閃光の推定されるセットに基づいて、眼の姿勢を決定するステップを含んでもよい。ブロック2010に続いて、ブロック2012では、方法2000は、少なくとも部分的に、1つ以上の閃光の検出されたセットに基づいて、モデルを更新するステップを含んでもよい。例えば、これは、例えば、最小二乗アプローチを使用して、線形適合を経時的に更新するステップを含んでもよい。
ブロック2006における、1つ以上の閃光の検出されたセットが少なくとも最小量の閃光を含むことの決定に応答して、ブロック2011と関連付けられる動作が、実施されてもよい。ブロック2011では、方法2000は、1つ以上の閃光の検出されたセットに基づいて、眼の姿勢を決定するステップを含んでもよい。ブロック2011に続いて、ブロック2012では、方法2000は、少なくとも部分的に、1つ以上の閃光の検出されたセットに基づいて、モデルを更新するステップを含んでもよい。
いくつかの実装では、方法2000はさらに、そこでユーザの眼の瞳孔の中心が示される、ユーザの眼の画像内の場所を識別するステップを含んでもよい。これらの実装では、ブロック2008において、方法2000は、瞳孔の中心の識別された場所および1つ以上の閃光の検出されたセットをモデルに適用し、画像内の1つ以上の閃光のセットを推定するステップを含んでもよい。
ブロック2012に続いて、ブロック2002では、方法2000は、ユーザの眼の別の画像を受信するステップを含んでもよい。ブロック2004に続いて、ブロック2006における、1つ以上の閃光の検出されたセットが最小量未満の閃光を含むことの決定に応答して、ブロック2008と関連付けられる動作が、実施されてもよい。しかしながら、本分岐では、ブロック2008と関連付けられるそのような動作は、1つ以上の閃光の検出されたセットを、ブロック2012において更新されたようなモデルに適用し、画像内の1つ以上の閃光のセットを推定するステップを含む。方法2000における本再帰は、確率論的統計的モデルが可能性として所与のユーザに関して経時的に更新され得る方法を実証する。
加えて、これらの実装のうちの少なくともいくつかでは、方法2000はさらに、ユーザの眼の瞳孔の中心の識別された場所をモデルに適用し、そこで複数の閃光がそれぞれ示されることが予期される、ユーザの眼の画像内の複数の領域を識別するステップを含んでもよい。いくつかの実施例では、画像内のそのような識別された領域は、本明細書に説明される「検索」エリアまたは領域のうちの1つ以上のものに類似し得る。そのような実装では、ブロック2004において、方法2000は、それぞれ、複数の識別された領域のうちの1つ以上のもの内の1つ以上の場所のセットを検出するステップを含んでもよい。
これらの実装のうちのいくつかでは、ブロック2008において、方法2000は、(i)それぞれ、ユーザの眼の瞳孔の中心の識別された場所を確率論的統計的モデルに適用し、そこで1つ以上の閃光が示されることが予期される、ユーザの眼の画像内の1つ以上の領域を識別するステップと、(ii)1つ以上の閃光場所の検出されたセットを確率論的統計的モデルに適用し、そこで1つ以上の閃光がそれぞれ示される、ユーザの眼の画像の1つ以上の識別された領域内の1つ以上の場所のセットを推定するステップを含んでもよい。
これらの実装のうちのいくつかでは、ブロック2012において、方法2000は、ユーザの眼の瞳孔の中心の識別された場所および1つ以上の閃光場所の検出されたセットに基づいて、確率論的統計的モデルを更新するステップを含んでもよい。
いくつかの実施例では、2010において、方法2000は、少なくとも部分的に、1つ以上の閃光場所の検出されたセットおよび1つ以上の閃光場所の推定されるセットに基づいて、ユーザの眼の角膜の中心の場所、ユーザの眼の回転中心の場所、および/またはユーザの眼の視線方向を決定するステップを含んでもよい。故に、種々の実施例では、2010において、方法2000は、少なくとも部分的に、1つ以上の閃光場所の検出されたセットおよび1つ以上の閃光場所の推定されるセットに基づいて、眼またはユーザの眼の視覚(例えば、目線中心)と関連付けられる1つ以上の数を決定するステップを含んでもよい。
実施例
実施例1.頭部搭載型システムであって、
ユーザの眼の画像を捕捉するように構成される、1つ以上のカメラと、
閃光を1つ以上のカメラによって捕捉されたユーザの眼の画像内に生産するような様式において、ユーザの眼を照明するように構成される、複数の光源であって、複数の光源内に含まれる光源の総数は、特定の値以上である、複数の光源と、
1つ以上のカメラに動作可能に結合される、1つ以上のプロセッサであって、
ユーザの眼の画像を1つ以上のカメラから受信し、
そこで1つ以上の閃光がそれぞれ示される、ユーザの眼の画像内の1つ以上の場所のセットを検出し、
1つ以上の閃光場所の検出されたセット内に含まれる場所の総数が特定の値未満であるかどうかを決定し、
1つ以上の閃光場所の検出されたセット内に含まれる場所の総数が特定の値未満であることの決定に応答して、
1つ以上の閃光場所の検出されたセットを確率論的統計的モデルに適用し、そこで1つ以上の閃光がそれぞれ示される、ユーザの眼の画像内の1つ以上の場所のセットを推定し、1つ以上の閃光場所の推定されるセットは、1つ以上の閃光場所の検出されたセットと異なり、
少なくとも部分的に、1つ以上の閃光場所の検出されたセットおよび1つ以上の閃光場所の推定されるセットに基づいて、ユーザの眼の姿勢を決定する、
ように構成される、1つ以上のプロセッサと、
を備える、システム。
実施例2.1つ以上のプロセッサはさらに、
そこでユーザの眼の瞳孔の中心が示される、ユーザの眼の画像内の場所を識別するように構成され、
1つ以上の閃光場所の検出されたセットを確率論的統計的モデルに適用し、そこで1つ以上の閃光がそれぞれ示される、ユーザの眼の画像内の1つ以上の場所のセットを推定するために、1つ以上のプロセッサは、
ユーザの眼の瞳孔の中心の識別された場所および1つ以上の閃光場所の検出されたセットを確率論的統計的モデルに適用し、そこで1つ以上の閃光がそれぞれ示される、ユーザの眼の画像内の1つ以上の場所のセットを推定するように構成される、実施例1に記載のシステム。
実施例3.1つ以上のプロセッサはさらに、
ユーザの眼の瞳孔の中心の識別された場所を確率論的統計的モデルに適用し、そこで複数の閃光がそれぞれ示されることが予期される、ユーザの眼の画像内の複数の領域を識別するように構成され、複数の識別された領域内に含まれる領域の総数は、特定の値以上であり、
そこで1つ以上の閃光がそれぞれ示される、ユーザの眼の画像内の1つ以上の場所のセットを検出するために、1つ以上のプロセッサは、
それぞれ、複数の識別された領域のうちの1つ以上のもの内の1つ以上の場所のセットを検出するように構成される、実施例2に記載のシステム。
実施例4.ユーザの眼の瞳孔の中心の識別された場所および1つ以上の閃光場所の検出されたセットを確率論的統計的モデルに適用し、そこで1つ以上の閃光がそれぞれ示される、ユーザの眼の画像内の1つ以上の場所のセットを推定するために、1つ以上のプロセッサは、
ユーザの眼の瞳孔の中心の識別された場所を確率論的統計的モデルに適用し、そこで1つ以上の閃光がそれぞれ示されることが予期される、ユーザの眼の画像内の1つ以上の領域を識別し、
1つ以上の閃光場所の検出されたセットを確率論的統計的モデルに適用し、そこで1つ以上の閃光がそれぞれ示される、ユーザの眼の画像の1つ以上の識別された領域内の1つ以上の場所のセットを推定する、
ように構成される、実施例2または3に記載のシステム。
実施例5.1つ以上のプロセッサはさらに、ユーザの眼の瞳孔の中心の識別された場所および1つ以上の閃光場所の検出されたセットに基づいて、確率論的統計的モデルを更新するように構成される、実施例2-4のいずれかに記載のシステム。
実施例6.特定の値は、2の値に対応する、上記実施例のいずれかに記載のシステム。
実施例7.複数の光源内に含まれる光源の総数は、3の値以上である、実施例6に記載のシステム。
実施例8.複数の光源は、複数の赤外線光源を備える、上記実施例のいずれかに記載のシステム。
実施例9.少なくとも部分的に、1つ以上の閃光場所の検出されたセットおよび1つ以上の閃光場所の推定されるセットに基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、
少なくとも部分的に、1つ以上の閃光場所の検出されたセットおよび1つ以上の閃光場所の推定されるセットに基づいて、ユーザの眼の角膜の中心の場所を決定するように構成される、上記実施例のいずれかに記載のシステム。
実施例10.少なくとも部分的に、1つ以上の閃光場所の検出されたセットおよび1つ以上の閃光場所の推定されるセットに基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、
少なくとも部分的に、1つ以上の閃光場所の検出されたセットおよび1つ以上の閃光場所の推定されるセットに基づいて、ユーザの眼の回転中心の場所を決定するように構成される、上記実施例のいずれかに記載のシステム。
実施例11.少なくとも部分的に、1つ以上の閃光場所の検出されたセットおよび1つ以上の閃光場所の推定されるセットに基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、
少なくとも部分的に、1つ以上の閃光場所の検出されたセットおよび1つ以上の閃光場所の推定されるセットに基づいて、ユーザの眼の視線方向を決定するように構成される、上記実施例のいずれかに記載のシステム。
実施例12.1つ以上のプロセッサはさらに、
1つ以上の閃光場所の検出されたセット内に含まれる場所の総数が特定の値を上回ることの決定に応答して、
少なくとも部分的に、1つ以上の閃光場所の検出されたセットに基づいて、ユーザの眼の姿勢を決定するように構成される、上記実施例のいずれかに記載のシステム。
付加的実施例
実施例1.頭部搭載型システムであって、
ユーザの眼の画像を捕捉するように構成される、1つ以上のカメラと、
複数の閃光を1つ以上のカメラによって捕捉されたユーザの眼の画像内に生産するような様式において、ユーザの眼を照明するように構成される、1つ以上の光源と、
1つ以上のカメラに動作可能に結合される、1つ以上のプロセッサであって、
ユーザの眼の1つ以上の画像を1つ以上のカメラから受信し、
1つ以上の閃光を検出し、該1つ以上の検出された閃光と関連付けられる、個別の場所を決定し、
1つ以上の検出された閃光内に含まれる閃光の総数が予期される閃光の数未満であるかどうかを決定し、
1つ以上の検出された閃光内の閃光の総数が予期される閃光の数未満であることの決定に応答して、
該1つ以上の検出された閃光と異なる、1つ以上の個別の閃光に関する1つ以上の場所を推定し、推定される1つ以上の閃光場所は、検出された1つ以上の閃光と関連付けられる場所と異なり、
少なくとも部分的に、該1つ以上の検出された閃光と関連付けられる場所および推定される1つ以上の閃光場所に基づいて、ユーザの眼の姿勢を決定する、
ように構成される、1つ以上のプロセッサと、
を備える、システム。
実施例2:該1つ以上の光源は、複数の光源を備える、実施例1に記載のシステム。
実施例3.該光源の個別のものは、対応する閃光を形成する、実施例2に記載のシステム。
実施例4.1つ以上の光源は、1つ以上の赤外線光源を備える、実施例1-3のいずれかに記載のシステム。
実施例5.該1つ以上の検出された閃光内に含まれる閃光の総数を決定することは、該1つ以上の検出された閃光と関連付けられる1つ以上の決定された場所内に含まれる閃光場所の総数を決定することを含む、上記実施例のいずれかに記載のシステム。
実施例6.該1つ以上の検出された閃光と異なる、1つ以上の個別の閃光に関する1つ以上の場所を推定することは、検出された1つ以上の閃光と関連付けられる個別の場所を確率論的統計的モデルに適用することを含む、上記実施例のいずれかに記載のシステム。
実施例7.1つ以上のプロセッサはさらに、ユーザの眼の瞳孔の中心と関連付けられる場所を識別するように構成される、上記実施例のいずれかに記載のシステム。
実施例8.該1つ以上のプロセッサは、ユーザの眼の瞳孔の中心と関連付けられる識別された場所および1つ以上の検出された閃光と関連付けられる個別の閃光場所を使用して、該1つ以上の検出された閃光と異なる、1つ以上の個別の閃光に関する該推定される1つ以上の場所を提供するように構成される、実施例7に記載のシステム。
実施例9.該1つ以上のプロセッサは、ユーザの眼の瞳孔の中心と関連付けられる識別された場所および1つ以上の検出された閃光と関連付けられる個別の閃光場所を確率論的統計的モデルに適用し、該1つ以上の検出された閃光と異なる、1つ以上の個別の閃光に関する該推定される1つ以上の場所を提供するように構成される、実施例7または8に記載のシステム。
実施例10.該1つ以上のプロセッサはさらに、そこで複数の個別の閃光が示されることが予期される、ユーザの眼の画像内の複数の領域を識別するように構成される、上記実施例のいずれかに記載のシステム。
実施例11.該複数の識別された領域内に含まれる領域の総数は、予期される閃光の数以上である、実施例10に記載のシステム。
実施例12.該1つ以上の検出された閃光と関連付けられる個別の場所を決定するために、1つ以上のプロセッサは、複数の識別された領域のうちの1つ以上のもの内の1つ以上の個別の場所を決定するように構成される、実施例10または11に記載のシステム。
実施例13.該1つ以上の検出された閃光と関連付けられる個別の場所を決定するために、1つ以上のプロセッサは、眼の瞳孔の中心の識別された場所を使用するように構成される、実施例12に記載のシステム。
実施例14.該1つ以上の検出された閃光と関連付けられる個別の場所を決定するために、1つ以上のプロセッサは、ユーザの眼の瞳孔の中心の識別された場所を確率論的統計的モデルに適用するように構成される、実施例12に記載のシステム。
実施例15.ユーザの眼の瞳孔の中心の識別された場所および1つ以上の検出された閃光と関連付けられる個別の場所を使用して、該1つ以上の検出された閃光と異なる、1つ以上の個別の閃光に関する1つ以上の場所を推定するために、1つ以上のプロセッサは、瞳孔の中心の識別された場所を使用して、1つ以上の個別の閃光が予期される、1つ以上の領域を識別し、1つ以上の識別された領域内の、該1つ以上の検出された閃光と異なる、1つ以上の個別の閃光の1つ以上の場所を推定するように構成される、実施例7-9のいずれかに記載のシステム。
実施例16.ユーザの眼の瞳孔の中心の識別された場所および1つ以上の検出された閃光と関連付けられる個別の場所は、確率論的統計的モデルに適用され、該1つ以上の検出された閃光と異なる、1つ以上の個別の閃光に関する1つ以上の場所を推定し、1つ以上のプロセッサは、ユーザの眼の瞳孔の中心の識別された場所を確率論的統計的モデルに適用し、1つ以上の個別の閃光が予期される、1つ以上の領域を識別し、1つ以上の検出された閃光と関連付けられる1つ以上の個別の場所を確率論的統計的モデルに適用し、1つ以上の識別された個別の領域内の1つ以上の場所を推定するように構成される、実施例7-9および15のいずれかに記載のシステム。
実施例17.1つ以上のプロセッサはさらに、1つ以上の検出された閃光と関連付けられる個別の場所に基づいて、確率論的統計的モデルを更新するように構成される、実施例6、9、14、および16のいずれかに記載のシステム。
実施例18.1つ以上のプロセッサはさらに、ユーザの眼の瞳孔の中心の識別された場所に基づいて、確率論的統計的モデルを更新するように構成される、実施例6、9、14、16、および17のいずれかに記載のシステム。
実施例19.複数の光源内に含まれる光源の総数は、2を備える、上記実施例のいずれかに記載のシステム。
実施例20.複数の光源内に含まれる光源の総数は、3の値以上である、上記実施例のいずれかに記載のシステム。
実施例21.検出された閃光の数は、2である、上記実施例のいずれかに記載のシステム。
実施例22.予期される閃光の数は、3の値以上である、上記実施例のいずれかに記載のシステム。
実施例23.少なくとも部分的に、1つ以上の検出された閃光と関連付けられる個別の場所および該1つ以上の検出された閃光と異なる1つ以上の個別の閃光に関する推定される1つ以上の場所に基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、1つ以上の検出された閃光と関連付けられる個別の場所および推定される1つ以上の閃光場所に基づいて、ユーザの眼の角膜の中心の場所を決定するように構成される、上記実施例のいずれかに記載のシステム。
実施例24.少なくとも部分的に、1つ以上の検出された閃光と関連付けられる個別の場所および該1つ以上の検出された閃光と異なる1つ以上の個別の閃光に関する推定される1つ以上の場所に基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、1つ以上の検出された閃光と関連付けられる個別の場所および推定される1つ以上の閃光場所に基づいて、ユーザの眼の回転中心の場所を決定するように構成される、上記実施例のいずれかに記載のシステム。
実施例25.少なくとも部分的に、1つ以上の検出された閃光と関連付けられる個別の場所および該1つ以上の検出された閃光と異なる1つ以上の個別の閃光に関する推定される1つ以上の場所に基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、1つ以上の検出された閃光と関連付けられる場所および推定される1つ以上の閃光場所に基づいて、ユーザの眼の視線方向を決定するように構成される、上記実施例のいずれかに記載のシステム。
実施例26.1つ以上のプロセッサはさらに、該1つ以上の検出された閃光と関連付けられる決定された場所内に含まれる閃光場所の総数が特定の値を上回ることの決定に応答して、少なくとも部分的に、該1つ以上の検出された閃光と関連付けられる決定された場所に基づいて、ユーザの眼の姿勢を決定するように構成される、上記実施例のいずれかに記載のシステム。
実施例27.該1つ以上の検出された閃光と関連付けられる個別の場所を決定することは、そこで1つ以上の個別の閃光が示される、ユーザの眼の画像内の1つ以上の場所を決定することを含む、上記実施例のいずれかに記載のシステム。
実施例28.1つ以上の個別の閃光に関する1つ以上の場所を推定することは、そこで1つ以上の閃光がそれぞれ示される、ユーザの眼の画像内の1つ以上の場所を推定することを含む、上記実施例のいずれかに記載のシステム。
実施例29.該1つ以上の検出された閃光と関連付けられる個別の場所を決定することは、そこで1つ以上の閃光がそれぞれ示される、ユーザの眼の画像内の1つ以上の場所のセットを決定することを含む、上記実施例のいずれかに記載のシステム。
実施例30.1つ以上の個別の閃光に関する1つ以上の場所を推定することは、そこで1つ以上の閃光がそれぞれ示される、ユーザの眼の画像内の1つ以上の場所のセットを推定することを含む、上記実施例のいずれかに記載のシステム。
実施例31.ユーザの眼の瞳孔の中心と関連付けられる場所を識別することは、そこでユーザの眼の瞳孔の中心が示される、ユーザの眼の画像内の場所を識別することを含む、上記実施例のいずれかに記載のシステム。
実施例32.少なくとも部分的に、1つ以上の検出された閃光と関連付けられる個別の場所および該1つ以上の検出された閃光と異なる1つ以上の個別の閃光に関する推定される1つ以上の場所に基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、1つ以上の検出された閃光と関連付けられる個別の場所および推定される1つ以上の閃光場所に基づいて、ユーザの眼の目線中心の場所を決定するように構成される、上記実施例のいずれかに記載のシステム。
実施例33.該1つ以上の検出された閃光と関連付けられる場所は、該1つ以上の検出された閃光の場所を備える、上記実施例のいずれかに記載のシステム。
実施例34.該1つ以上の検出された閃光と関連付けられる場所は、ユーザの眼の1つ以上の画像内の該1つ以上の検出された閃光の場所を備える、上記実施例のいずれかに記載のシステム。
実施例35.頭部搭載型システムは、光を頭部搭載型ディスプレイの装着者の眼に出力することによって、仮想コンテンツを提示するように構成される、頭部搭載型ディスプレイを備える、上記実施例のいずれかに記載のシステム。
実施例36.頭部搭載型システムは、拡張現実頭部搭載型ディスプレイを備える、上記実施例のいずれかに記載のシステム。
実施例37.予期される閃光の数は、光源の数に対応する、上記実施例のいずれかに記載のシステム。
米国特許出願第16/751076号(弁護士整理番号:第MLEAP.224A/ML-0592US号)に関連する実施例
実施例1.ウェアラブルディスプレイシステムであって、
光を頭部搭載型ディスプレイの装着者の眼に出力することによって、仮想コンテンツを提示するように構成される、頭部搭載型ディスプレイと、
光を装着者の眼に向かって指向するように構成される、光源と、
第1のフレームレートおよび第1の露光時間において捕捉された装着者の眼の第1の画像と、
第1のフレームレート以上である第2のフレームレートにおいて、かつ第1の露光時間未満の第2の露光時間において捕捉された装着者の眼の第2の画像と、
を捕捉するように構成される、眼追跡カメラと、
頭部搭載型ディスプレイおよび眼追跡カメラに通信可能に結合される、ハードウェアプロセッサであって、
第1の画像を分析し、眼の瞳孔の中心を決定し、
第2の画像を分析し、眼からの光源の反射の位置を決定し、
瞳孔中心および反射の位置から、眼の視線方向を決定し、
視線方向および前の視線方向データから、将来的視線時間における眼の将来的視線方向を推定し、
頭部搭載型ディスプレイに、少なくとも部分的に、将来的視線方向に基づいて、将来的視線時間において、仮想コンテンツを提示させる、
ようにプログラムされる、ハードウェアプロセッサと、
を備える、ウェアラブルディスプレイシステム。
実施例2.光源は、赤外線光源を備える、実施例1に記載のウェアラブルディスプレイシステム。
実施例3.ハードウェアプロセッサは、第1の画像または第2の画像を分析し、装着者の眼の回転中心または目線中心を決定するようにプログラムされる、実施例1または実施例2に記載のウェアラブルディスプレイシステム。
実施例4.第2の画像を分析するために、ハードウェアプロセッサは、閾値を第2の画像に適用し、第2の画像内の非最大値を識別する、または第2の画像内の非最大値を抑制または除去するようにプログラムされる、実施例1-3のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例5.第2の画像を分析するために、ハードウェアプロセッサは、少なくとも部分的に、第2の画像からの前の画像内の光源の反射の位置に基づいて、第2の画像からの現在の画像内の光源の反射に関する検索領域を識別するようにプログラムされる、実施例1-4のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例6.第2の画像を分析するために、ハードウェアプロセッサは、
複数の光源の反射の共通速度を決定し、
光源の反射の速度が閾値量を上回って共通速度と異なるかどうかを決定する、
ようにプログラムされる、実施例1-5のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例7.第2の画像を分析するために、ハードウェアプロセッサは、光源の反射が眼の角膜の非球状部分からであるかどうかを決定するようにプログラムされる、実施例1-6のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例8.第2の画像を分析するために、ハードウェアプロセッサは、光源の反射の少なくとも部分的オクルージョンの存在を識別するようにプログラムされる、実施例1-7のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例9.ハードウェアプロセッサは、少なくとも部分的に、光源の反射の位置および閃光-瞳孔関係に基づいて、瞳孔の中心の推定される位置を決定するようにプログラムされる、実施例1-8のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例10.閃光-瞳孔関係は、閃光位置と瞳孔中心位置との間の線形関係を備える、実施例9に記載のウェアラブルディスプレイシステム。
実施例11.第1の露光時間は、200μs~1,200μsの範囲内である、実施例1-10のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例12.第1のフレームレートは、10フレーム/秒~60フレーム/秒の範囲内である、実施例1-11のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例13.第2の露光時間は、5μs~100μsの範囲内である、実施例1-12のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例14.第2のフレームレートは、100フレーム/秒~1,000フレーム/秒の範囲内である、実施例1-13のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例15.第1の露光時間対第2の露光時間の比は、5~50の範囲内である、実施例1-14のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例16.第2のフレームレート対第1のフレームレートの比は、1~100の範囲内である、実施例1-15のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例17.将来的視線時間は、5ms~100msの範囲内である、実施例1-16のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例18.ハードウェアプロセッサは、
ウェアラブルディスプレイシステムの非頭部搭載型コンポーネント上に配置される、第1のハードウェアプロセッサと、
頭部搭載型ディスプレイ内または上に配置される、第2のハードウェアプロセッサと、
を備え、
第1のハードウェアプロセッサは、第1の画像を分析するために利用され、
第2のハードウェアプロセッサは、第2の画像を分析するために利用される、
実施例1-17のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例19.第2のハードウェアプロセッサは、第2の画像のそれぞれの少なくとも一部を記憶するように構成される、メモリバッファを含む、またはそれと関連付けられ、第2のハードウェアプロセッサは、眼からの光源の反射の位置の決定後、第2の画像のそれぞれの少なくとも一部を削除するようにプログラムされる、実施例18に記載のウェアラブルディスプレイシステム。
実施例20.ハードウェアプロセッサは、第1の画像と第2の画像を組み合わせないようにプログラムされる、実施例1-19のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例21.眼追跡のための方法であって、
眼追跡カメラによって、第1のフレームレートおよび第1の露光時間において、眼の第1の画像を捕捉するステップと、
眼追跡カメラによって、第1のフレームレート以上である第2のフレームレートにおいて、かつ第1の露光時間未満の第2の露光時間において、眼の第2の画像を捕捉するステップと、
少なくとも第1の画像から、眼の瞳孔の中心を決定するステップと、
少なくとも第2の画像から、眼からの光源の反射の位置を決定するステップと、
瞳孔中心および反射の位置から、眼の視線方向を決定するステップと、
を含む、方法。
実施例22.ディスプレイに、少なくとも部分的に、視線方向に基づいて、仮想コンテンツをレンダリングさせるステップをさらに含む、実施例21に記載の方法。
実施例23.少なくとも部分的に、視線方向および前の視線方向データに基づいて、将来的視線時間における将来的視線方向を推定するステップをさらに含む、実施例21または実施例22に記載の方法。
実施例24.ディスプレイに、少なくとも部分的に、将来的視線方向に基づいて、仮想コンテンツをレンダリングさせるステップをさらに含む、実施例23に記載の方法。
実施例25.第1の露光時間は、200μs~1,200μsの範囲内である、実施例21-24のいずれか1項に記載の方法。
実施例26.第1のフレームレートは、10フレーム/秒~60フレーム/秒の範囲内である、実施例21-25のいずれか1項に記載の方法。
実施例27.第2の露光時間は、5μs~100μsの範囲内である、実施例21-26のいずれか1項に記載の方法。
実施例28.第2のフレームレートは、100フレーム/秒~1,000フレーム/秒の範囲内である、実施例21-27のいずれか1項に記載の方法。
実施例29.第1の露光時間対第2の露光時間の比は、5~50の範囲内である、実施例21-28のいずれか1項に記載の方法。
実施例30.第2のフレームレート対第1のフレームレートの比は、1~100の範囲内である、実施例21-29のいずれか1項に記載の方法。
実施例31.ウェアラブルディスプレイシステムであって、
光を頭部搭載型ディスプレイの装着者の眼に出力することによって、仮想コンテンツを提示するように構成される、頭部搭載型ディスプレイと、
光を装着者の眼に向かって指向するように構成される、光源と、
装着者の眼の画像を捕捉するように構成される、眼追跡カメラであって、交互に、
第1の露光時間において、第1の画像を捕捉し、
第1の露光時間未満の第2の露光時間において、第2の画像を捕捉する、
ように構成される、眼追跡カメラと、
複数の電子ハードウェアコンポーネントであって、そのうちの少なくとも1つは、頭部搭載型ディスプレイ、眼追跡カメラ、および複数の電子ハードウェアコンポーネント内の少なくとも1つの他の電子ハードウェアコンポーネントに通信可能に結合される、ハードウェアプロセッサを備え、ハードウェアプロセッサは、
第1の露光時間において眼追跡カメラによって捕捉された装着者の眼の各第1の画像を受信し、少なくとも1つの他の電子ハードウェアコンポーネントに中継し、
第2の露光時間において眼追跡カメラによって捕捉された装着者の眼の各第2の画像のピクセルを受信し、バッファに記憶し、
バッファ内に記憶されるピクセルを分析し、光源の反射が第2の露光時間において眼追跡カメラによって捕捉された装着者の眼の各第2の画像内に存在する、場所を識別し、
場所を示す場所データを少なくとも1つの他の電子ハードウェアコンポーネントに伝送する、
ようにプログラムされ、少なくとも1つの他の電子ハードウェアコンポーネントは、
第1の露光時間において眼追跡カメラによって捕捉された装着者の眼の各第1の画像を分析し、眼の瞳孔の中心の場所を識別し、
瞳孔の中心の場所およびハードウェアプロセッサから受信された場所データから、装着者の眼の視線方向を決定する、
ように構成される、複数の電子ハードウェアコンポーネントと、
を備える、ウェアラブルディスプレイシステム。
実施例32.第1の露光時間は、200μs~1,200μsの範囲内である、実施例31に記載のウェアラブルディスプレイシステム。
実施例33.第2の露光時間は、5μs~100μsの範囲内である、実施例31または実施例32に記載のウェアラブルディスプレイシステム。
実施例34.眼追跡カメラは、10フレーム/秒~60フレーム/秒の範囲内である、第1のフレームレートにおいて、第1の画像を捕捉するように構成される、実施例31-33のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例35.眼追跡カメラは、100フレーム/秒~1,000フレーム/秒の範囲内である、第2のフレームレートにおいて、第2の画像を捕捉するように構成される、実施例31-34のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例36.第1の露光時間対第2の露光時間の比は、5~50の範囲内である、実施例31-35のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例37.少なくとも1つの他の電子ハードウェアコンポーネントは、ウェアラブルディスプレイシステムの非頭部搭載型コンポーネント内または上に配置される、実施例31-36のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例38.非頭部搭載型コンポーネントは、ベルトパックを備える、実施例37に記載のウェアラブルディスプレイシステム。
実施例39.眼の各第2の画像のピクセルは、各第2の画像のピクセルの全てより少ないピクセルを備える、実施例31-38のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例40.ピクセルは、n×mアレイのピクセルを備え、nおよびmはそれぞれ、1~20の範囲内の整数である、実施例31-39のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例41.複数の電子ハードウェアコンポーネントはさらに、
視線方向および前の視線方向データから、将来的視線時間における将来的眼の視線方向を推定し、
頭部搭載型ディスプレイに、少なくとも部分的に、将来的視線方向に基づいて、将来的視線時間において、仮想コンテンツを提示させる、
ように構成される、実施例31-40のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例42.ハードウェアプロセッサは、閾値をバッファ内に記憶されるピクセルに適用し、バッファ内に記憶されるピクセル内の非最大値を識別する、またはバッファ内に記憶されるピクセル内の非最大値を抑制または除去するようにプログラムされる、実施例31-41のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例43.ハードウェアプロセッサは、
光源の反射の共通速度を決定し、
光源の反射の速度が閾値量を上回って共通速度と異なるかどうかを決定する、
ようにプログラムされる、実施例31-42のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例44.ハードウェアプロセッサは、光源の反射の場所が眼の角膜の非球状部分からであるかどうかを決定するようにプログラムされる、実施例31-43のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例45.ハードウェアプロセッサは、光源の反射の少なくとも部分的オクルージョンの存在を識別するようにプログラムされる、実施例31-44のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
実施例46.少なくとも1つの他の電子ハードウェアコンポーネントは、少なくとも部分的に、光源の反射の場所および閃光-瞳孔関係に基づいて、瞳孔の中心の場所を識別するようにプログラムされる、実施例31-45のうちのいずれか1項に記載のウェアラブルディスプレイシステム。
付加的考慮点
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされ得る、動的リンクライブラリ内にインストールされ得る、またはインタープリタ型プログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つ以上の物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、動画またはビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。加えて、AR、MR、VRウェアラブルデバイスのためのリアルタイム眼追跡は、算出上困難であって、多重露光時間眼追跡技法は、効率的CPU、GPU、ASIC、またはFPGAを利用してもよい。
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能(例えば、論理または算術)またはステップを実装するための1つ以上の実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、本明細書に提供される例証的実施例に追加される、そこから削除される、修正される、または別様にそこから変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、いずれの特定のシーケンスにも限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそこから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証目的のためであり、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つ以上の特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要または必須ではない。
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/またはステップが、1つ以上の実施形態に対していかようにも要求されること、または1つ以上の実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを合意することを意図されない。用語「~を備える(comprising)」、「~を含む(including)」、「~を有する(having)」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つ以上の」または「少なくとも1つ」を意味するように解釈されるべきである。
本明細書で使用されるように、項目のリスト「~のうちの少なくとも1つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、およびA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在するように要求することを示唆することを意図されない。
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。