(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-07
(45)【発行日】2022-01-12
(54)【発明の名称】オプティカル・フローを用いる眼球追跡
(51)【国際特許分類】
H04N 5/66 20060101AFI20220104BHJP
G06F 3/01 20060101ALI20220104BHJP
G06F 3/0346 20130101ALI20220104BHJP
G06F 3/038 20130101ALI20220104BHJP
A61B 3/113 20060101ALI20220104BHJP
【FI】
H04N5/66 Z
G06F3/01 510
G06F3/0346 423
G06F3/038 310A
A61B3/113
【外国語出願】
(21)【出願番号】P 2019151231
(22)【出願日】2019-08-21
(62)【分割の表示】P 2018521527の分割
【原出願日】2016-11-04
【審査請求日】2019-10-21
(32)【優先日】2015-11-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515046968
【氏名又は名称】フェイスブック・テクノロジーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】FACEBOOK TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】特許業務法人World IP
(72)【発明者】
【氏名】ペレク、デイビッド アール.
(72)【発明者】
【氏名】ハント、ウォーレン アンドリュー
(72)【発明者】
【氏名】デピュー、マーシャル トーマス
(72)【発明者】
【氏名】キャビン、ロバート デール
【審査官】益戸 宏
(56)【参考文献】
【文献】特開2014-086091(JP,A)
【文献】特開平10-146319(JP,A)
【文献】国際公開第2007/113975(WO,A1)
【文献】国際公開第2014/155288(WO,A2)
【文献】米国特許出願公開第2015/0097772(US,A1)
【文献】米国特許出願公開第2011/0150334(US,A1)
【文献】特開2004-234494(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/66
G09G 5/00
G02B 27/02
G06F 3/00
A61B 3/10
(57)【特許請求の範囲】
【請求項1】
システムであって、
ヘッドセットと、
前記ヘッドセットに結合されたコンソールと、を備え、
前記ヘッドセットは、
前記ヘッドセットのユーザの眼球に向けて光を放射するように構成された光源と、
前記眼球の一部によって反射された前記光源からの光のラスタ画像を撮像するように構成されたカメラであって、前記ヘッドセットの前記ユーザの眼球によって反射された前記光源からの光を撮像するように各々構成された1つまたは複数のピクセルを含むカメラと、を含み、
前記コンソールは、
前記カメラ内に含まれる画像センサの
サブピクセルに対応する前記ユーザの眼球の一部の表面上の距離を示すサブピクセル距離と、前記ユーザの眼球の一部によって反射された前記光源からの光の1つまたは複数の以前の撮像画像とを含む較正データを記憶し、
前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の眼球位置を求める
ように構成されており、前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の位置を求めることが、
前記眼球の一部によって反射された前記光源からの光の撮像画像から表面特徴を抽出し、
抽出した前記表面特徴を、前記ユーザの眼球の一部によって反射された前記光源からの光の前記1つまたは複数の以前の撮像画像の少なくとも一つのセットから抽出された追加の表面特徴と比較し、
前記比較に基づいて、基準眼球位置に関連付けられている前記ユーザの眼球の一部によって反射された前記光源からの光の以前の撮像画像を選択し、
前記ユーザの眼球の一部によって反射された前記光源からの光の撮像画像の前記表面特徴と、前記眼球の一部によって反射された前記光源からの光の前記選択した以前の撮像画像の前記表面特徴との間のサブピクセル・シフトを求め、
前記ユーザの眼球の位置を前記サブピクセル・シフトと前記サブピクセル距離との積として求める
ことを含む、システム。
【請求項2】
前記表面特徴が、前記ユーザの眼球の一部の表面の特定部分に関連付けられたオプティカル・フロー・パターンを含む、請求項1に記載のシステム。
【請求項3】
システムであって、
ヘッドセットと、
前記ヘッドセットに結合されたコンソールと、を備え、
前記ヘッドセットは、
前記ヘッドセットのユーザの眼球に向けて光を放射するように構成された光源と、
前記眼球の一部によって反射された前記光源からの光のラスタ画像を撮像するように構成されたカメラであって、前記ヘッドセットの前記ユーザの眼球によって反射された前記光源からの光を撮像するように各々構成された1つまたは複数のピクセルを含むカメラと、を含み、
前記コンソールは、
前記カメラ内に含まれる画像センサの
サブピクセルに対応する前記ユーザの眼球の一部の表面上の距離を示すサブピクセル距離と、前記ユーザの眼球の一部によって反射された前記光源からの光の1つまたは複数の以前の撮像画像とを含む較正データを記憶し、
前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の眼球位置を求める
ように構成されており、前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の位置を求めることが、
前記ユーザの眼球の一部によって反射された前記光源からの光の撮像画像と、前記ユーザの眼球の一部によって反射された前記光源からの光の以前の撮像画像との間のサブピクセル・シフトを求め、
前記ユーザの眼球の一部によって反射された前記光源からの光の以前の撮像画像に対応する前記ユーザの眼球の位置に対する、前記光源からの光の撮像画像に対応する前記ユーザの眼球の位置を、前記サブピクセル・シフトと前記サブピクセル距離との積として求める
ことを含む、システム。
【請求項4】
ヘッドセット内部に取り付けられた光源でユーザの眼球の一部を照射すること、
前記ヘッドセット内部に取り付けられたカメラで、前記眼球の一部によって反射された前記光源からの光の画像を撮像すること、
前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の位置および向きを求めることであって、前記較正データが、前記カメラ内に含まれる画像センサのサブピクセルに対応する前記ユーザの眼球の一部の表面上の距離を示すサブピクセル距離と、前記ユーザの眼球の一部によって反射された前記光源からの光の1つまたは複数の以前の撮像画像とを含み、前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の位置を求めることが、
前記ユーザの眼球の一部によって反射された前記光源からの光の撮像画像と、前記ユーザの眼球の一部によって反射された前記光源からの光の以前の撮像画像との間のサブピクセル・シフトを求め、
前記ユーザの眼球の一部によって反射された前記光源からの光の以前の撮像画像に対応する前記ユーザの眼球の位置に対する、前記光源からの光の撮像画像に対応する前記ユーザの眼球の位置を、前記サブピクセル・シフトと前記サブピクセル距離との積として求める
ことを含む、前記ユーザの眼球の位置および向きを求めること、
求めた前記眼球の位置に基づいて前記ヘッドセットにコンテンツを供給するように構成されたシステム環境の1つまたは複数の構成要素に、前記ユーザの眼球の位置および向きを供給すること、
を備える方法。
【請求項5】
ヘッドセット内部に取り付けられた光源でユーザの眼球の一部を照射すること、
前記ヘッドセット内部に取り付けられたカメラで、前記眼球の一部によって反射された前記光源からの光の画像を撮像すること、
前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の位置および向きを求めることであって、前記較正データが、前記カメラ内に含まれる画像センサのサブピクセルに対応する前記ユーザの眼球の一部の表面上の距離を示すサブピクセル距離と、前記ユーザの眼球の一部によって反射された前記光源からの光の1つまたは複数の以前の撮像画像とを含み、前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の位置を求めることが、
前記眼球の一部によって反射された前記光源からの光の撮像画像から表面特徴を抽出し、
抽出した前記表面特徴を、前記ユーザの眼球の一部によって反射された前記光源からの光の前記1つまたは複数の以前の撮像画像の少なくとも一つのセットから抽出された追加の表面特徴と比較し、
前記比較に基づいて、基準眼球位置に関連付けられている前記ユーザの眼球の一部によって反射された前記光源からの光の以前の撮像画像を選択し、
前記ユーザの眼球の一部によって反射された前記光源からの光の撮像画像の前記表面特徴と、前記眼球の一部によって反射された前記光源からの光の前記選択した以前の撮像画像の前記表面特徴との間のサブピクセル・シフトを求め、
前記ユーザの眼球の位置を前記サブピクセル・シフトと前記サブピクセル距離との積として求める
ことを含む、前記ユーザの眼球の位置および向きを求めること、
求めた前記眼球の位置に基づいて前記ヘッドセットにコンテンツを供給するように構成されたシステム環境の1つまたは複数の構成要素に、前記ユーザの眼球の位置および向きを供給すること、
を備える方法。
【請求項6】
前記表面特徴が、前記ユーザの眼球の一部の表面の特定部分に関連付けられたオプティカル・フロー・パターンを含む、請求項5に記載の方法。
【請求項7】
システムであって、
ヘッドセットと、
前記ヘッドセットに結合されたコンソールと、を備え、
前記ヘッドセットは、
前記ヘッドセットのユーザの眼球に向けて光を放射するように構成された光源と、
前記眼球の一部によって反射された前記光源からの光のラスタ画像を撮像するように構成されたカメラであって、前記ヘッドセットの前記ユーザの眼球によって反射された前記光源からの光を撮像するように各々構成された1つまたは複数のピクセルを含むカメラと、を含み、
前記コンソールは、
前記カメラ内に含まれる画像センサの
サブピクセルに対応する前記ユーザの眼球の一部の表面上の距離を示すサブピクセル距離と、前記ユーザの眼球の一部によって反射された前記光源からの光の1つまたは複数の以前の撮像画像とを含む較正データを記憶し、
前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の眼球位置を求める
ように構成されており、前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の位置を求めることが、
前記眼球の一部によって反射された前記光源からの光の撮像画像の代表的性能指数を求め、
前記代表的性能指数を妥当性しきい値と比較し、
前記代表的性能指数が前記妥当性しきい値以上であると判定したことに応答して、前記記憶された較正データにアクセスし、
前記眼球の一部によって反射された前記光源からの光の撮像画像と、前記記憶された較正データとに基づいて前記ユーザの眼球の眼球位置を求める
ことを含む、システム。
【請求項8】
前記コンソールが、求めた前記眼球位置に基づいて、前記ヘッドセットにコンテンツを供給するようにさらに構成されている、請求項7に記載のシステム。
【請求項9】
前記代表的性能指数が、前記眼球の一部によって反射された前記光源からの光の撮像画像内のピクセルのサブセットの性能指数に基づく、請求項7に記載のシステム。
【請求項10】
前記代表的性能指数が、前記眼球の一部によって反射された前記光源からの光の撮像画像内のすべてのピクセルの性能指数に基づく、請求項7に記載のシステム。
【請求項11】
前記妥当性しきい値が、前記眼球の一部によって反射された前記光源からの光の撮像画像が撮像されたときにしきい時間内において以前に撮像された前記眼球の一部によって反射された前記光源からの光の追加の画像の性能指数値のトレーリング平均を含む、請求項7に記載のシステム。
【請求項12】
前記光源がコヒーレント光源であり、
前記ヘッドセットがさらに、前記ユーザの眼球の一部によって反射される前記コヒーレント光源からの光を修正するように構成された反射光偏光子を含み、前記反射光偏光子は、前記カメラのピクセルが修正光を撮像する前に前記コヒーレント光源からの光を修正する、請求項7に記載のシステム。
【請求項13】
前記反射光偏光子が4分の1波長板を含む、請求項12に記載のシステム。
【請求項14】
前記反射光偏光子が、前記ユーザの眼球の一部によって反射される前記コヒーレント光源からの光の偏光状態を変更するように構成された液晶素子を含み、前記液晶素子は、前記液晶素子に加えられた電場に従って前記偏光状態を変更することにより前記液晶素子内の液晶の向きを修正する、請求項13に記載のシステム。
【請求項15】
ヘッドセット内部に取り付けられた光源でユーザの眼球の一部を照射すること、
前記ヘッドセット内部に取り付けられたカメラで、前記眼球の一部によって反射された前記光源からの光の画像を撮像すること、
前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の位置および向きを求めることであって、前記較正データが、前記カメラ内に含まれる画像センサのサブピクセルに対応する前記ユーザの眼球の一部の表面上の距離を示すサブピクセル距離と、前記ユーザの眼球の一部によって反射された前記光源からの光の1つまたは複数の以前の撮像画像とを含み、前記眼球の一部によって反射された前記光源からの光の撮像画像と、記憶された較正データとに基づいて前記ユーザの眼球の位置を求めることが、
前記眼球の一部によって反射された前記光源からの光の撮像画像の代表的性能指数を求め、
前記代表的性能指数を妥当性しきい値と比較し、
前記代表的性能指数が前記妥当性しきい値以上であると判定したことに応答して、前記記憶された較正データにアクセスし、
前記眼球の一部によって反射された前記光源からの光の撮像画像と、前記記憶された較正データとに基づいて前記ユーザの眼球の眼球位置を求める
ことを含む、前記ユーザの眼球の位置および向きを求めること、
求めた前記眼球位置に基づいて前記ヘッドセットにコンテンツを供給するように構成されたシステム環境の1つまたは複数の構成要素に、前記ユーザの眼球の位置および向きを供給すること、
を備える方法。
【請求項16】
前記代表的性能指数が、前記眼球の一部によって反射された前記光源からの光の撮像画像内のピクセルのサブセットの性能指数に基づく、請求項15に記載の方法。
【請求項17】
前記代表的性能指数が、前記眼球の一部によって反射された前記光源からの光の撮像画像内のすべてのピクセルの性能指数に基づく、請求項15に記載の方法。
【請求項18】
前記妥当性しきい値が、前記眼球の一部によって反射された前記光源からの光の撮像画像が撮像されたときにしきい時間内において以前に撮像された前記眼球の一部によって反射された前記光源からの光の追加の画像の性能指数のトレーリング平均を含む、請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般には仮想現実システムのユーザの眼球位置を追跡することに関し、より
詳細には、眼球の表面上のコヒーレント光の回折パターンを使用して眼球位置を追跡する
ことに関する。
【背景技術】
【0002】
仮想現実システムは通常、仮想現実画像を提示するディスプレイ・パネルを含み、ディ
スプレイ・パネルは、仮想現実環境のみに属する要素を示すことができる。ディスプレイ
・パネルはまた、拡張現実応用例と同様に、現実の要素(例えば、物理世界の丈の高い草
)を仮想要素(例えば、丈の高い草に隠れているアニメ動物)と組み合わせることができ
る。仮想現実システムと対話するために、ユーザは、仮想現実画像の一部に向けられる入
力を作成する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
いくつかの仮想現実システムは、手および指の運動を入力信号に変換するための専用周
辺機器を含む。しかしながら、従来型の周辺機器はユーザを仮想環境から人工的に分離す
るため、ユーザが仮想環境に完全に没入する体験を持つことが妨げられる。眼球追跡シス
テムは、ハンドヘルド周辺機器に主に依拠するインターフェースよりも没入型のインター
フェースを提供する。しかしながら、既存の眼球追跡システムは、ポータブルで軽量かつ
高性能な仮想現実ヘッドセットでの使用には不適切である。
【課題を解決するための手段】
【0004】
仮想現実(VR)システム環境が、電子ディスプレイを介してユーザにコンテンツを
提示するように構成されたVRヘッドセットと、ユーザに提示するためのコンテンツを生
成し、生成したコンテンツを提示のためにVRヘッドセットに提供するように構成された
VRコンソールとを含む。提示されたコンテンツとのユーザ対話を改善するために、VR
コンソールは、ユーザの眼球を追跡することによって求められるユーザが見ている場所に
基づいて、コンテンツを修正または生成する。したがって、VRヘッドセットは、レーザ
などの、VRヘッドセットに取り付けられた(例えば、VRヘッドセット内部の)コヒー
レント光源でユーザの眼球の表面を照射する。
【0005】
VRヘッドセットに含まれる撮像デバイスが、ユーザの眼球の表面で反射した光を撮像
する。いくつかの実施形態では、ユーザの眼球の表面から反射した光は、撮像デバイス内
の撮像センサが眼球表面から反射した光を受ける前に反射光偏光子により偏光されるか、
もしくは眼球表面から反射した光を集束または修正するレンズ・アセンブリによって屈折
させることができる。眼球の表面は粗いので、撮像デバイスの撮像センサによって撮像さ
れる光は、ユーザの眼球の表面の複数の部分から反射した光の組合せから形成されたスペ
ックルまたは回折パターンとなり得る。
【0006】
いくつかの実施形態では、VRヘッドセットは、1つまたは複数の画像処理を実施して
、撮像デバイスによって撮像された光から生成された画像のコントラストを改善する。例
示的画像処理には、センサ補正(例えば、黒レベル調節、レンズ歪曲補正、ガンマ補正)
および照明レベル補正(例えば、ホワイト・バランス補正)が含まれる。VRヘッドセッ
トはまた、ヒストグラム等化または任意の他の技法を実施して、撮像された光からの画像
のコントラストを向上させることができる。いくつかの実施形態では、VRヘッドセット
は、照明レベル補正を実施して、電子ディスプレイまたは外部光源によるユーザの眼球の
表面の可変照明によって引き起こされるノイズを低減することができる。代替または追加
として、VRコンソールは、VRヘッドセット内の撮像デバイスによって得られ、VRヘ
ッドセットからVRコンソールに通信された画像に対して1つまたは複数の画像処理を実
施する。
【0007】
VRヘッドセットは、取り込まれた光から撮像デバイスによって撮像された画像、また
その撮像画像から導出されたデータを含む眼球追跡データをVRコンソールに送る。例え
ば、眼球追跡データは、1つまたは複数の画像処理による修正版の撮像画像を含む。別の
例として、眼球追跡データは、画像撮像デバイスによって撮像された画像と、コヒーレン
ト光源以外の光源によるユーザの眼球の表面の照明を記述するデータとを含む。代替とし
て、VRヘッドセットは、ユーザの眼球を追跡するための構成要素を含み、したがってV
Rヘッドセットは、VRコンソールに眼球追跡データを送らない。
【0008】
いくつかの実施形態では、VRコンソールは、受け取った眼球追跡データが眼球位置を
正確に求めるために使用可能な有効な測定値に対応することを検証する。例えば、VRコ
ンソールは、眼球追跡データの代表的性能指数を求め、代表的性能指数を妥当性しきい値
と比較する。代表的性能指数が妥当性しきい値未満である場合、VRコンソールは、受け
取った眼球追跡データが有効でないと判定する。しかしながら、代表的性能指数が妥当性
しきい値以上である場合、VRコンソールは、受け取った眼球追跡データが有効な測定値
に対応することを検証する。代表的性能指数は、画像データ内のピクセル値の和、平均、
中央値、範囲、標準偏差、または他の定量化(例えば、ピクセル・グレイ・レベル、輝度
値、相対ピクセル強度)とすることができる。代表的性能指数は、受け取った眼球追跡デ
ータ内に含まれる画像内のすべてのピクセルの性能指数から求めることができ、または受
け取った眼球追跡データ内に含まれる画像内のピクセルのサブセットからサンプリング技
法によって推定することができる。例えば、ユーザがまばたきすると、ピクセル強度値の
和が減少する。したがって、VRコンソールは、相対ピクセル強度の和が妥当性しきい値
未満であると判定したことに応答して、受け取った眼球追跡データが有効でないと判定す
る。種々の実施形態では、妥当性しきい値は、VRヘッドセットの製造中に指定され、ま
たはVRヘッドセットの較正中に求められる。相対ピクセル強度に基づいて性能指数を求
めるとき、相対強度が求められる種々のピクセルの指数が、種々の実施形態での性能指数
の決定に影響を及ぼす。受け取った眼球追跡データの妥当性を検証するときに、変動する
外部照明条件を反映するために、受け取った眼球追跡データのしきい時間内に取り込まれ
た、以前に受け取った眼球追跡データの代表的性能指数のトレーリング平均、または受け
取った眼球追跡データのしきい時間内に取り込まれ、有効であると判定された、以前に受
け取った眼球追跡データの代表的性能指数のトレーリング平均に基づいて、妥当性しきい
値を動的に求めることができる。
【0009】
VRコンソールは、受け取った眼球追跡データから眼球位置を求めるために較正データ
にアクセスする。較正データは、画像撮像デバイスの画像センサのサブピクセルに対応す
るユーザの眼球の表面上の距離を示すサブピクセル距離を含むことができる。画像センサ
のサブピクセルがユーザの眼球の表面上の矩形(または楕円形)エリアに対応する場合、
較正データは、ユーザの眼球の表面に沿った直交する方向に対応する2つのサブピクセル
距離(例えば、ユーザの眼球の表面上のエリアの長さおよび幅)を含むことができる。サ
ブピクセル距離は、部分的には画像センサとユーザの眼球の表面との間の距離から求める
ことができる。画像センサとユーザの眼球の表面との間の距離は、較正期間中に求めるこ
とができ、またはVRヘッドセット内に含まれる測距デバイス(例えば、レーザ・レンジ
ファインダ、ソナー)を介して動的に求めることができる。種々の実施形態では、VRヘ
ッドセットは、画像センサとユーザの眼球の表面との間の距離を周期的に(例えば、毎秒
1回)求め、VRヘッドセットの電源オンに応答して、画像センサとユーザの眼球の表面
との間の距離を求め、またはユーザの頭部のVRヘッドセットの調節を示す測定信号をV
Rヘッドセット内に含まれる位置センサから受信したことに応答して、画像センサとユー
ザの眼球の表面との間の距離を求める。サブピクセル距離は、画像撮像デバイスの特性で
あるピクセルに対応するラジアン単位の角度に、画像センサとユーザの眼球の表面との間
の距離を掛けることによって求めることができる。サブピクセル距離を使用して、VRコ
ンソールは、受け取った眼球追跡データからのユーザの眼球の表面の2つの画像間のサブ
ピクセル・シフトから眼球位置の変化を求める。
【0010】
代替または追加として、VRコンソールは、較正期間中に撮像された基準画像を含むテ
ーブル(例えば、ルックアップ・テーブル)からの較正データにアクセスする。基準画像
は、既知の眼球位置、VRヘッドセットの電子ディスプレイ上の特定の眼球注視点、また
はその両方に対応する。例示的な較正期間の間、VRヘッドセットは、電子ディスプレイ
上の一連のアイコンを注視するようにユーザに指示し、ユーザが各アイコンを注視すると
きに基準画像を撮像する。基準画像は、撮像時のアイコンの眼球注視点に対応し、VRコ
ンソールは、眼球のモデル、およびVRヘッドセット内に含まれる他の眼球追跡システム
から、基準画像に対応する眼球位置を推論する。VRコンソールは、基準画像を記憶する
ことができ、または受け取った眼球追跡データからの後続の画像とのマッチングを容易に
するために、基準画像の凝縮表現を記憶することができる。例えば、VRコンソールは、
各基準画像についてのフィンガープリントを生成するか、各基準画像から特徴(例えば、
ブロブ、縁部、リッジ、コーナ)を抽出するか、またはその両方を行う。抽出した特徴を
、ユーザの眼球の表面上の特徴の位置を特定する情報、特徴の構成ピクセルの値、または
その両方に関連付けて記憶することができる。基準画像(またはその凝縮表現)を使用し
て、VRコンソールは、受け取った眼球追跡データからの単一の画像を参照して眼球位置
を求めることができる。
【0011】
アクセスした較正データを使用して、VRコンソールは、受け取った眼球追跡データか
ら眼球位置を求める。いくつかの実施形態では、VRコンソールは、基準眼球位置に関連
付けられた基準画像を取得する。例えば、画像撮像デバイスが基準画像を撮像するのと同
時に、別の眼球追跡システム(例えば、低速眼球追跡システム)が基準眼球位置を独立し
て求める。VRコンソールは、更新画像と基準画像との間のサブピクセル・シフトを求め
、サブピクセル・シフトからの眼球シフト距離を求め、基準眼球位置を眼球シフト距離と
組み合わせることによって更新後の眼球位置を求める。サブピクセル・シフトを求めるた
めに、VRコンソールは、任意の運動追跡またはオプティカル・フロー技術(例えば、位
相相関、ブロック・マッチング、差分オプティカル・フロー方法)を使用することができ
る。VRコンソールは、求めたサブピクセル・シフトに、アクセスした較正データからの
サブピクセル距離値を掛けることによって眼球シフト距離を求める。サブピクセル・シフ
トは2次元(例えば、5サブピクセル上方、3サブピクセル左方)とすることができ、し
たがって眼球シフト距離も2次元とすることができる(例えば50マイクロメートル上方
、30マイクロメートル左方)。眼球シフト距離を使用して、VRコンソールは、基準眼
球位置を眼球シフト距離だけシフトすることによって更新後の眼球位置を求める。更新後
の眼球位置を求めるとき、VRコンソールは、眼球の向きおよび場所を更新するか、更新
後の眼球回転軸を求めるか、電子ディスプレイ上の新しい注視場所を求めるか、またはそ
れらの組合せを行い得る。
【0012】
代替または追加として、VRコンソールは、更新画像を、アクセスした較正データから
の基準画像とマッチングすることによって眼球位置を求める。VRコンソールは、画像撮
像デバイスからの画像を種々の基準画像と比較して、合致する基準画像を決定する。VR
コンソールは、更新画像と合致する程度に基づいて基準画像をスコアリングし、最高のス
コアを有する基準画像を選択することによって、合致する基準画像を求めることができる
。代替または追加として、しきい値を超えるスコアを有する基準画像が識別されるまで、
基準画像が更新画像と比較され、スコアリングされる。画像撮像デバイスが眼球の1平方
ミリメートルに対応する画像を撮像する場合、較正データは、眼球の全可動域にわたって
撮像可能なユーザの眼球の表面の異なる部分に対応する約500個の画像を含む。いくつ
かの実施形態では、VRコンソールは、更新画像の凝縮表現(例えば、フィンガープリン
ト、特徴のセット)を生成し、更新画像の凝縮表現を基準画像の凝縮表現と比較して、合
致する基準画像を求めるための時間および計算資源を削減する。VRコンソールが合致す
る基準画像を求めるとき、VRコンソールは、更新画像と基準画像との間のサブピクセル
・シフトだけ、合致する基準画像に関連付けられた基準位置を調節することによって、更
新位置を求める。
【0013】
VRコンソールは、求めた眼球位置に基づいて、VRヘッドセットによる提示のための
コンテンツを決定する。例えば、VRコンソールは、求めた眼球位置内に含まれる推定注
視点を、仮想世界への入力として使用する。注視点に基づいて、VRコンソールは、ユー
ザに提示するためのコンテンツを選択する(例えば、仮想剣闘コンテストでの別の仮想ア
ニメ生物に対する配置のために、注視点に対応する仮想アニメ生物を選択したり、仮想メ
ニューをナビゲートしたり、仮想世界内でプレイするためのスポーツ・ボールのタイプを
選択したり、またはファンタジー・スポーツ・ボール・チームに加えるための有名なスポ
ーツ・ボール・プレーヤを選択したりする)ことができる。
【図面の簡単な説明】
【0014】
【
図1】一実施形態による仮想現実システムを含むシステム環境のブロック図。
【
図2A】一実施形態による仮想現実ヘッドセットの図。
【
図2B】一実施形態による、
図2AのVRヘッドセットの前部剛体の断面図。
【
図3A】一実施形態による例示的な眼球追跡ユニットの図。
【
図3B】一実施形態による偏光感応性素子を含む例示的な眼球追跡ユニットの図。
【
図3C】一実施形態による、シャー干渉効果を生み出すために1つまたは複数の素子を含む例示的な眼球追跡ユニットの図。
【
図4A】一実施形態による眼球追跡ユニットによって撮像される例示的画像を示す図。
【
図4B】一実施形態による、
図4Aの画像から導出される眼球運動と、ディスプレイに対する眼球追跡との間の関係を示す概念図。
【
図5】一実施形態による眼球位置を求める例示的方法のフローチャート。
【発明を実施するための形態】
【0015】
図面は、単に例示を目的として本開示の実施形態を示す。本明細書で説明される本開示
の原理または提示される利点から逸脱することなく、本明細書に示される構造および方法
の代替実施形態を利用できることを、以下の説明から当業者は容易に理解し得る。
【0016】
図1は、一実施形態による仮想現実(VR)システム環境100のブロック図である。
図1で示されるVRシステム環境100は、VRコンソール110にそれぞれ結合される
、VRヘッドセット105、外部撮像デバイス135、およびVR入力周辺機器140を
備える。
図1は、1つのVRヘッドセット105、1つの外部撮像デバイス135、およ
び1つのVR入力周辺機器140を含む例示的VRシステム環境100を示すが、任意の
数のこれらの構成要素をVRシステム環境100内に含めることができ、または構成要素
のいずれかを省略することができる。例えば、VRコンソール110と通信する1つまた
は複数の外部撮像デバイス135によって監視される複数のVRヘッドセット105が存
在し得る。代替構成では、異なる構成要素または追加の構成要素をVRシステム環境10
0内に含めることができる。
【0017】
VRヘッドセット105は、ユーザにコンテンツを提示するヘッド・マウント・ディス
プレイである。VRヘッドセット105によって提示されるコンテンツの例には、1つま
たは複数の画像、ビデオ、オーディオ、またはそれらの任意の組合せが含まれる。いくつ
かの実施形態では、オーディオは、VRヘッドセット105、VRコンソール110、ま
たはその両方からオーディオ情報を受け取り、そのオーディオ情報に基づいてオーディオ
・データを提示する外部デバイス(例えば、スピーカおよび/またはヘッドフォン)を介
して提示される。VRヘッドセット105の一実施形態を、
図2Aおよび
図2Bにより以
下でさらに説明する。VRヘッドセット105は1つまたは複数の剛体を含むことができ
、1つまたは複数の剛体を互いに固定式または非固定式に結合することができる。剛体間
の固定結合は、結合された剛体を単一の剛体として働かせる。一方、剛体間の非固定結合
は、剛体が互いに移動することを可能にする。しかしながら、種々の実施形態では、ガラ
スを含む任意の適切な形状因子でVRヘッドセット105を実装することができる。さら
に、種々の実施形態では、VRヘッドセット105の外部の環境の画像と、VRコンソー
ル110から、またはユーザに提示するためのコンテンツを生成および提供する任意の他
のコンソールから受け取ったコンテンツとを組み合わせるヘッドセット内で、本明細書で
説明される機能を使用することができる。したがって、VRヘッドセット105、および
本明細書で説明される眼球追跡のための方法は、生成されたコンテンツでVRヘッドセッ
ト105の外部の環境の画像を拡張し、拡張現実をユーザに提示することができる。
【0018】
種々の実施形態では、VRヘッドセット105は、電子ディスプレイ115、ディスプ
レイ光学ブロック118、1つまたは複数のロケータ120、1つまたは複数の位置セン
サ125、慣性測定ユニット(IMU)130、および眼球追跡ユニット160を含む。
種々の実施形態では、VRヘッドセット105は、これらの要素のいずれかを省略するこ
とができ、または追加の要素を含むことができる。さらに、いくつかの実施形態では、V
Rヘッドセット105は、
図1で説明される種々の要素の機能を組み合わせる要素を含む
。
【0019】
[VRディスプレイ・サブシステム]
電子ディスプレイ115は、VRコンソール110から受け取ったデータに従って、ユ
ーザに画像を表示する。種々の実施形態では、電子ディスプレイ115は、液晶ディスプ
レイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブ・マトリッ
クスOLEDディスプレイ(AMOLED)、透明OLEDディスプレイ(TOLED)
、または任意の他のディスプレイなどの1つまたは複数のディスプレイ・パネルを含むこ
とができる。例えば、電子ディスプレイ115は、フロントTOLEDパネルと、リア・
ディスプレイ・パネルと、フロントディスプレイ・パネルとリア・ディスプレイ・パネル
との間の光学構成要素(例えば、減衰器、偏光子、回折フィルム、またはスペクトルフィ
ルム)とを含む。電子ディスプレイ115は、赤、緑、青、白、黄などの主色の光を放射
するためのサブピクセルを含むことができる。電子ディスプレイ115は、画像深度の主
観的知覚を生み出すために2次元(2D)パネルによって生成されるステレオ効果を通じ
て、3次元(3D)画像を表示することができる。例えば、電子ディスプレイ115は、
ユーザの左目および右目の前方にそれぞれ配置された左側ディスプレイおよび右側ディス
プレイを含む。左側ディスプレイおよび右側ディスプレイは、立体効果(すなわち、画像
を閲覧するユーザによる画像深度の知覚)を生み出すために、互いに水平方向にシフトさ
れた画像のコピーを提示する。
【0020】
ディスプレイ光学ブロック118は、電子ディスプレイ115から受けた画像光を拡大
し、画像光に関連付けられた光学誤差を補正し、補正した画像光をVRヘッドセット10
5のユーザに提示する。種々の実施形態では、ディスプレイ光学ブロック118は1つま
たは複数の光学素子を含む。例示的光学素子には、アパーチャ、フレネル・レンズ、凸レ
ンズ、凹レンズ、フィルタ、または電子ディスプレイ115から放射された画像光に作用
する任意の他の適切な光学素子が含まれる。ディスプレイ光学ブロック118は、異なる
光学素子の組合せとともに、組合せ内の光学素子の相対的間隔および向きを維持するため
の機械的結合を含み得る。ディスプレイ光学ブロック118内の1つまたは複数の光学素
子は、反射防止膜などの光学コーティング、または光学コーティングの組合せを有する。
【0021】
ディスプレイ光学ブロック118による画像光の拡大は、電子ディスプレイ115をよ
り大型のディスプレイよりも物理的に小さくし、軽量にし、電力の消費を少なくすること
を可能にする。さらに、拡大は、表示されるコンテンツの視野を増大させることができる
。例えば、表示されるコンテンツの視野は、ユーザの視野のほぼすべて(例えば、対角1
10度)またはすべてを使用して、表示されるメディアが提示されるようなものである。
いくつかの実施形態では、ディスプレイ光学ブロック118は、電子ディスプレイ115
によって投影される画像光を拡大するために、ディスプレイ光学ブロック118と電子デ
ィスプレイ115との間の間隔よりも長い有効焦点距離を有する。さらに、ディスプレイ
光学ブロック118による画像光の拡大量を、ディスプレイ光学ブロック118に光学素
子を追加し、またはディスプレイ光学ブロック118から光学素子を除去することによっ
て調節することができる。
【0022】
ディスプレイ光学ブロック118は、2次元光学誤差、3次元光学誤差、またはそれら
の組合せなどの1つまたは複数のタイプの光学誤差を補正するように設計することができ
る。2次元誤差は、2次元で生じる光学収差である。2次元誤差の例示的タイプには、樽
形歪曲、糸巻き形歪曲、縦方向色収差、および横方向色収差が含まれる。3次元誤差は、
3次元で生じる光学誤差である。3次元誤差の例示的タイプには、球面収差、コマ収差、
像面湾曲、および非点収差が含まれる。いくつかの実施形態では、表示のために電子ディ
スプレイ115に提供されるコンテンツが事前歪曲され、ディスプレイ光学ブロック11
8は、コンテンツに基づいて生成された画像光を電子ディスプレイ115から受けたとき
、歪曲を補正する。
【0023】
[外部VRヘッドセット追跡サブシステム]
複数のロケータ120は、VRヘッドセット105上の特定の基準点に対して配置され
るとともに、VRヘッドセット105上の特定の位置に互いに配置された物体である。仮
想現実コンソール110は、外部撮像デバイス135によって撮像された画像内のロケー
タ120を特定して、仮想現実ヘッドセットの位置、向き、またはその両方を求める。ロ
ケータ120は、発光ダイオード(LED)、コーナー・キューブ反射器、反射マーカ、
VRヘッドセット105が動作する環境と対照をなすタイプの光源、またはそれらの任意
の組合せとすることができる。ロケータ120が能動的(すなわち、LEDまたは他のタ
イプの発光デバイス)である実施形態では、ロケータ120は、可視帯域(約380nm
~750nm)、赤外線(IR)帯域(約750nm~1mm)、紫外線帯域(10nm
~380nm)、電磁スペクトルの別の部分、または電磁スペクトルの各部分の任意の組
合せの中で光を放射することができる。
【0024】
いくつかの実施形態では、ロケータ120は、VRヘッドセット105の外面の下に配
置される。ロケータ120と、VRヘッドセット105の外部の実体(例えば、外部撮像
デバイス135、VRヘッドセット105の外面を見ているユーザ)との間のVRヘッド
セット105の部分は、ロケータ120によって放射または反射される光の波長に対して
透明であり、またはロケータ120によって放射または反射される光の波長を大幅に減衰
しないように十分に薄いものである。いくつかの実施形態では、VRヘッドセット105
の外面または他の部分は、光の波長の可視帯域内で不透明である。したがって、ロケータ
120は、IR帯域で透明であるが、可視帯域内で不透明である外面の下で、IR帯域内
の光を放射することができる。
【0025】
外部撮像デバイス135は、VRコンソール110から受け取った較正パラメータに従
って、低速較正データを生成する。低速較正データは、外部撮像デバイス135によって
検出可能なロケータ120の観測された位置を示す1つまたは複数の画像を含む。外部撮
像デバイス135は、1つまたは複数のカメラ、1つまたは複数のビデオ・カメラ、ロケ
ータ120のうちの1つまたは複数を含む画像を撮像することのできる任意の他のデバイ
ス、あるいはそれらの任意の組合せを含むことができる。さらに、外部撮像デバイス13
5は、(例えば、信号対雑音比を向上させるために)1つまたは複数のフィルタを含むこ
とができる。外部撮像デバイス135は、ロケータ120から放射または反射された光を
外部撮像デバイス135の視野内で検出するように構成される。ロケータ120が受動素
子(例えば、再帰反射器)を含む実施形態では、外部撮像デバイス135は、ロケータ1
20のうちのいくつかまたはすべてを照射する光源を含むことができ、ロケータ120は
、外部撮像デバイス135内の光源に光を再帰反射する。低速較正データが、外部撮像デ
バイス135からVRコンソール110に通信され、外部撮像デバイス135は、VRコ
ンソール110から1つまたは複数の較正パラメータを受け取り、1つまたは複数の撮像
パラメータ(例えば、焦点距離、フォーカス、フレーム・レート、センサ温度、シャッタ
速度、アパーチャ)を調節する。
【0026】
[内部VRヘッドセット追跡サブシステム]
IMU130は、位置センサ125のうちの1つまたは複数から受け取った測定信号に
基づいて高速較正データを生成する電子デバイスである。位置センサ125は、VRヘッ
ドセット105の運動に応答して、1つまたは複数の測定信号を生成する。位置センサ1
25の例には、加速度計ジャイロスコープ、磁力計、他の運動検出もしくは誤差補正セン
サ、またはそれらの任意の組合せが含まれる。いくつかの実施形態では、種々の位置セン
サ125が互いに直交に配向される。位置センサ125をIMU130の外部に配置し、
IMU130の内部に配置し、またはそれらの任意の組合せで配置することができる。
【0027】
1つまたは複数の位置センサ125からの1つまたは複数の測定信号に基づいて、IM
U130は、VRヘッドセット105の初期位置に対するVRヘッドセット105の推定
位置を示す高速較正データを生成する。例えば、位置センサ125は、並進運動(前方/
後方、上方/下方、左方/右方)を測定するための複数の加速度計と、回転運動(例えば
、ピッチ、ヨー、ロール)を測定するための複数のジャイロスコープとを含む。いくつか
の実施形態では、IMU130は測定信号を迅速にサンプリングし、サンプリングしたデ
ータからVRヘッドセット105の推定位置を計算する。例えば、IMU130は、加速
度計から受け取った測定信号を時間で積分して速度ベクトルを推定し、速度ベクトルを時
間で積分して、VRヘッドセット105上の基準点の推定位置を求める。代替として、I
MU130は、サンプリングした測定信号をVRコンソール110に供給し、VRコンソ
ール110は高速較正データを求める。一般には基準点を空間内の点として定義すること
ができるが、種々の実施形態では、基準点をVRヘッドセット105内の点(例えば、I
MU130の中心)として定義することができる。
【0028】
[眼球追跡サブシステム]
眼球追跡ユニット160は、眼球追跡データを取り込むように構成された1つまたは複
数の撮像デバイスを含み、眼球追跡モジュール165は、眼球追跡データを使用して、V
Rヘッドセット・ユーザの眼球を追跡する。眼球追跡データとは、眼球追跡ユニット16
0によって出力されるデータを指す。例示的眼球追跡データは、眼球追跡ユニット160
によって撮像された画像、または眼球追跡ユニット160によって撮像された画像から導
出された情報を含む。眼球追跡とは、VRヘッドセット105に対する眼球の向きおよび
場所を含む、眼球の位置を求めることを指す。例えば、眼球追跡モジュール165は、眼
球追跡ユニット160によって撮像された眼球の画像に基づいて、眼球のピッチおよびヨ
ーを出力する。種々の実施形態では、眼球追跡ユニット160は、眼球によって反射され
た電磁エネルギーを測定し、測定した電磁エネルギーを眼球追跡モジュール165に通信
し、眼球追跡モジュール165は、測定された電磁エネルギーに基づいて眼球の位置を求
める。例えば、眼球追跡ユニット160は、ユーザの眼球によって反射された可視光、赤
外線光、電波、マイクロ波、電磁スペクトルの任意の他の部分内の波、またはこれらの組
合せなどの電磁波を測定する。
【0029】
眼球追跡ユニット160は1つまたは複数の眼球追跡システムを含むことができる。眼
球追跡システムは、1つまたは複数の眼球を撮像するための撮像システムを含み、任意選
択で、光放射源を含むことができ、光放射源は、眼球に向かう光を生成し、したがって眼
球によって反射される光を撮像システムによって撮像することができる。例えば、眼球追
跡ユニット160は、可視スペクトルまたは赤外線スペクトル内の光を放射するコヒーレ
ント光源、ならびにユーザの眼球によって放射された光の反射を撮像するカメラを含む。
別の例として、眼球追跡ユニット160は、小型レーダー・ユニットによって放射された
電波の反射を撮像する。眼球追跡ユニット160は、眼球を痛めず、または身体的不快を
引き起こさない周波数および強度で光を放射する低電力光放射源を使用する。眼球追跡ユ
ニット160は、眼球追跡ユニット160によって撮像される眼球の画像内のコントラス
トを向上させるとともに、眼球追跡ユニット160によって消費される全電力を削減する
(例えば、眼球追跡ユニット160内に含まれる光放射源および撮像システムによって消
費される電力を削減する)ように構成される。例えば、眼球追跡ユニット160が消費す
る電力は100ミリワット未満である。
【0030】
いくつかの実施形態では、眼球追跡ユニット160は、ユーザの眼球のそれぞれを追跡
するために1つの光放射源および1つのカメラを含む。眼球追跡ユニット160はまた、
眼球追跡正確さおよび応答性の改善を実現するために共に動作する、異なる眼球追跡シス
テムをも含むことができる。例えば、眼球追跡ユニット160は、高速な応答時間を有す
る高速眼球追跡システムと、より低速な応答時間を有する低速眼球追跡システムとを含む
。高速眼球追跡システムは、眼球を頻繁に測定して、眼球追跡モジュール165によって
使用されるデータを取り込み、基準眼球位置に対する眼球の位置を求める。低速眼球追跡
システムは、眼球を独立して測定して、眼球追跡モジュール165によって使用されるデ
ータを取り込み、前に求めた眼球位置を参照することなく基準眼球位置を求める。低速眼
球追跡システムによって取り込まれたデータにより、眼球追跡モジュール165は、高速
眼球追跡システムによって取り込まれたデータから求めた眼球の位置よりも高い正確さで
基準眼球位置を求めることが可能となる。種々の実施形態では、低速眼球追跡システムは
、高速眼球追跡システムよりも低い頻度で眼球追跡モジュール165に眼球追跡データを
供給する。例えば、低速眼球追跡システムは、電力を節約するために、より低速な応答時
間を有し、またはより低い頻度で動作する。
【0031】
[VR入力周辺機器]
VR入力周辺機器140は、ユーザがVRコンソール110に動作要求を送ることを可
能にするデバイスである。動作要求は特定の動作を実施するための要求である。例えば、
動作要求は、アプリケーションを開始もしくは終了すること、またはアプリケーション内
で特定の動作を実施することとすることができる。VR入力周辺機器140は1つまたは
複数の入力デバイスを含むことができる。例示的入力デバイスには、キーボード、マウス
、ゲーム・コントローラ、グローブ、または動作要求を受け取り、受け取った動作要求を
VRコンソール110に通信するための任意の他の適切なデバイスが含まれる。VR入力
周辺機器140によって受信された動作要求はVRコンソール110に通信され、VRコ
ンソール110は動作要求に対応する動作を実施する。いくつかの実施形態では、VR入
力周辺機器140は、VRコンソール110から受け取った命令に従って、触覚フィード
バックをユーザに与えることができる。例えば、動作要求が受け取られるとき、またはV
Rコンソール110が、VRコンソール110が動作を実施するときにVR入力周辺機器
140に触覚フィードバックを生成させる命令をVR入力周辺機器140に通信するとき
、VR入力周辺機器140は触覚フィードバックを与える。
【0032】
[VRコンソール]
VRコンソール110は、外部撮像デバイス135、VRヘッドセット105、および
VR入力周辺機器140のうちの1つまたは複数から受け取った情報に従って、ユーザに
提示するためにVRヘッドセット105にメディアを供給する。
図1に示される例では、
VRコンソール110は、アプリケーション・ストア145、ヘッドセット追跡モジュー
ル150、仮想現実(VR)エンジン155、および眼球追跡モジュール165を含む。
VRコンソール110のいくつかの実施形態は、
図1で説明されたものとは異なるモジュ
ールまたは追加のモジュールを有する。同様に、以下でさらに説明される機能は、ここで
説明されるものとは異なる方式でVRコンソール110の構成要素間に分散させることが
できる。
【0033】
いくつかの実施形態では、VRコンソール110は、プロセッサと、プロセッサによっ
て実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体とを含む。プロセッサは
、命令を並列に実行する複数の処理装置を含むことができる。コンピュータ可読記憶媒体
は、ハード・ディスク・ドライブ、取外し可能メモリ、ソリッドステート・ドライブ(例
えば、フラッシュ・メモリ、ダイナミック・ランダム・アクセス・メモリ(DRAM))
などの任意のメモリとすることができる。種々の実施形態では、
図1で説明されたVRコ
ンソール110のモジュールが、プロセッサによって実行されるとき、以下でさらに説明
される機能をプロセッサに実施させる、非一時的コンピュータ可読記憶媒体内の命令とし
て符号化される。
【0034】
アプリケーション・ストア145は、VRコンソール110によって実行するための1
つまたは複数のアプリケーションを記憶する。アプリケーションは、プロセッサによって
実行されるとき、ユーザに提示するためのコンテンツを生成する命令のグループである。
アプリケーションによって生成されるコンテンツは、VRヘッドセット105またはVR
入力周辺機器140の運動を介してユーザから受け取った入力に応答するものとすること
ができる。アプリケーションの例には、ゲーミング・アプリケーション、会議アプリケー
ション、ビデオ再生アプリケーション、または他の適切なアプリケーションが含まれる。
【0035】
ヘッドセット追跡モジュール150は、1つまたは複数の較正パラメータを使用してV
Rシステム環境100を較正し、1つまたは複数の較正パラメータを調節して、VRヘッ
ドセット105の位置を求める際の誤差を低減することができる。例えば、ヘッドセット
追跡モジュール150は、VRヘッドセット105上の観測されたロケータについてのよ
り正確な位置を得るために、外部撮像デバイス135のフォーカスを調節する。さらに、
ヘッドセット追跡モジュール150によって実施される較正は、IMU130から受け取
った情報も反映する。さらに、VRヘッドセット105の追跡が失われる(例えば、外部
撮像デバイス135が少なくともしきい数のロケータ120の視線を失う)場合、ヘッド
セット追跡モジュール150は、較正パラメータのいくつかまたはすべてを再較正する。
【0036】
ヘッドセット追跡モジュール150は、外部撮像デバイス135からの低速較正情報を
使用して、VRヘッドセット105の運動を追跡する。例えば、ヘッドセット追跡モジュ
ール150は、低速較正情報から観測したロケータおよびVRヘッドセット105のモデ
ルを使用して、VRヘッドセット105の基準点の位置を求める。ヘッドセット追跡モジ
ュール150はまた、高速較正情報からの位置情報を使用して、VRヘッドセット105
の基準点の位置を求める。さらに、いくつかの実施形態では、ヘッドセット追跡モジュー
ル150は、高速較正情報、低速較正情報、またはそれらの任意の組合せの部分を使用し
て、VRヘッドセット105の将来の場所を予測することができる。ヘッドセット追跡モ
ジュール150は、VRヘッドセット105の推定または予測した将来位置をVRエンジ
ン155に供給する。
【0037】
VRエンジン155はVRシステム環境100内でアプリケーションを実行し、VRヘ
ッドセット105の位置情報、VRヘッドセット105の加速情報、VRヘッドセット1
05の速度情報、VRヘッドセット105の予測将来位置、またはそれらの任意の組合せ
をヘッドセット追跡モジュール150から受け取る。VRエンジン155はまた、眼球追
跡モジュール165から推定眼球位置および向き情報を受け取る。受け取った情報に基づ
いて、VRエンジン155は、ユーザに提示するためにVRヘッドセット105に提供す
るためのコンテンツを求める。例えば、受け取った情報が、ユーザが左側を向いていたこ
とを示す場合、VRエンジン155は、仮想環境内のユーザの運動を反映する、VRヘッ
ドセット105についてのコンテンツを生成する。さらに、VRエンジン155は、VR
入力周辺機器140から受け取った動作要求に応答してVRコンソール110上で実行す
るアプリケーション内の動作を実施し、動作が実施されたことを示すフィードバックをユ
ーザに与える。フィードバックは、VRヘッドセット105を介する視覚的もしくは聴覚
的フィードバック、またはVR入力周辺機器140を介する触覚フィードバックとするこ
とができる。
【0038】
眼球追跡モジュール165は、眼球追跡ユニット160から眼球追跡データを受け取り
、眼球についての眼球追跡データに基づいてユーザの眼球の眼球位置を求める。眼球位置
は、VRヘッドセット105またはその任意の要素に対する、眼球の向き、場所、または
その両方を指定する。眼球の回転軸は眼窩内の眼球の場所に応じて変化するので、眼窩内
の眼球の場所を求めることにより、眼球追跡モジュール165が眼球の向きをより正確に
求めることが可能となる。眼球位置はまた、眼球の位置、場所、またはその両方から求め
られた、眼球の焦点が合う電子ディスプレイ115のエリアを特定することができる。
【0039】
いくつかの実施形態では、眼球追跡ユニット160は、眼球の画像を含む眼球追跡デー
タを出力し、眼球追跡モジュール165は、その画像から眼球の位置を求める。例えば、
眼球追跡モジュール165は、眼球追跡ユニット160によって撮像された画像と眼球位
置との間のマッピングを記憶して、眼球追跡ユニット160によって撮像された撮像画像
から基準眼球位置を求める。代替または追加として、眼球追跡モジュール165は、基準
眼球位置が求められたときに眼球追跡ユニット160によって撮像された画像を、更新後
の眼球位置が求められたときの撮像画像と比較することによって、基準眼球位置に対する
更新後の眼球位置を求める。眼球追跡モジュール165は、異なる撮像デバイスまたは他
のセンサからの測定を使用して眼球位置を求めることができる。例えば、眼球追跡モジュ
ール165は、低速眼球追跡システムからの測定値を使用して基準眼球位置を求め、次い
で、低速眼球追跡システムからの測定に基づいて次の基準眼球位置を求めるまで、高速眼
球追跡システムからの基準眼球位置に対する更新位置を求める。
【0040】
眼球追跡モジュール165は、眼球追跡の精度および正確さを改善するために眼球較正
パラメータを求めることができる。眼球較正パラメータは、ユーザがVRヘッドセット1
05をかぶり、または調節するときにはいつでも変化し得るパラメータを含む。例示的眼
球較正パラメータは、眼球追跡ユニット160の構成要素と、眼球の中心、ひとみ、角膜
境界、眼球の表面上の点などの眼球の1つまたは複数の部分との間の推定距離を含む。他
の例示的な眼球較正パラメータは特定のユーザに特有のものとすることができ、推定平均
眼球半径、平均角膜半径、平均強膜半径、眼球表面上の特徴のマップ、および推定眼球表
面輪郭を含むことができる。(いくつかの拡張現実応用例のように)VRヘッドセット1
05の外部からの光が眼球に達する実施形態では、較正パラメータは、VRヘッドセット
105の外部からの光の変動のために、強度およびカラー・バランスのための補正係数を
含むことができる。眼球追跡モジュール165は、眼球較正パラメータを使用して、眼球
追跡ユニット160によって取り込まれた測定値によって眼球追跡モジュール165が正
確な眼球位置(本明細書では「有効測定値」とも呼ばれる)を求めることがいつ可能にな
るかを決定することができる。ユーザがまばたきし、ヘッドセットを調節し、またはヘッ
ドセットを取り外すことにより、またVRヘッドセット105が外部光によるしきい照明
変化を超えるものを受けることにより、眼球追跡モジュール165が正確な眼球位置を求
めることが不可能である非有効測定値が引き起こされ得る。
【0041】
[VRヘッドセット]
図2Aは、仮想現実(VR)ヘッドセット105の一実施形態の図である。VRヘッド
セット200は、前部剛体205およびバンド210を含む。前部剛体205は、電子デ
ィスプレイ115(
図2Aには図示せず)、IMU130(
図2Aには図示せず)、1つ
または複数の位置センサ125(
図2Aには図示せず)、ロケータ120、および眼球追
跡ユニット160を含む。他の実施形態では、VRヘッドセット200は、
図2Aに示さ
れるものとは異なる構成要素または追加の構成要素を含むことができる。
【0042】
複数のロケータ120は、基準点に対して前部剛体205上の固定位置に互いに配置さ
れる。例えば、基準点はIMU130の中心に配置される。各ロケータ120は、外部撮
像デバイス135によって検出可能な光を放射する。ロケータ120、またはロケータ1
20の各部分は、
図2Aの例では、前部剛体205の前側220A、上側220B、下側
220C、右側220D、および左側220E上に配置される。
【0043】
図2Aの例では、眼球追跡ユニット160は、VRヘッドセット200の外側からは見
えない。眼球追跡ユニット160は、後ろからVRヘッドセット200内を見るユーザに
とって見えることがあり、または見えないことがある。しかしながら、眼球追跡ユニット
160は通常、電子ディスプレイ115のユーザのビューを遮ることを避けるために、上
側220B、下側220C、右側220D、または左側220Eに配置される。例えば、
眼球追跡ユニット160は、上側220B、右側220D、下側220C、または左側2
20Eのうちの2つの間の縁部に沿ったVRヘッドセット220のコーナに配置される。
【0044】
図2Bは、
図2Aに示されるVRヘッドセット200の実施形態の前部剛体205の断
面225である。
図2Bに示されるように、前部剛体205は、電子ディスプレイ115
からの画像光を変更し、変更した画像光を眼球245の角膜255内に位置する眼球24
5のひとみに供給するディスプレイ光学ブロック118を含む。眼球追跡ユニット160
は、ディスプレイ光学ブロック118よりも眼球245の近くに配置される。種々の実施
形態では、眼球追跡ユニット160は、ディスプレイ光学ブロック118および電子ディ
スプレイ115に対するユーザの視線の上方、下方、左方、または右方に配置される。例
えば、眼球追跡ユニット160の1つまたは複数の構成要素が、ディスプレイ光学ブロッ
ク118のコーナに隣接して配置される。眼球追跡ユニット160の詳細を示すために、
図2Bは、VRヘッドセットの構成要素間のいくつかの距離または角度を誇張することが
ある。例えば、いくつかの実施形態では、光学ブロック118と電子ディスプレイ115
との間の距離は、眼球245とディスプレイ光学ブロック118との間の距離を上回る。
例示のために、
図2Bは、単一の眼球245に関連する断面225を示すが、別のディス
プレイ光学ブロック118、別の電子ディスプレイ115、またはその両方が、変更され
た画像光をユーザの別の眼球に供給することができる。同様に、別の眼球追跡ユニット1
60がユーザの別の眼球を追跡することができる。
【0045】
眼球追跡ユニット160は、レーザ260などのコヒーレント光源、ならびにカメラ2
70などの撮像システムを含む。レーザ260は眼球の表面250の一部を照射し、カメ
ラ270は、眼球表面250によって反射された光を測定する。眼球表面250は、眼球
の強膜、虹彩、またはその両方の表面を指すことがある。レーザ260は、眼球245の
表面法線ベクトル265に対してレーザ角度275で取り付けられ、カメラ270は、眼
球245の表面法線ベクトル265に対してカメラ角度280で取り付けられる。表面法
線ベクトル265は、レーザ260によって照射される眼球表面250の一部と直交する
。例えば、レーザ角度275は、表面法線ベクトル265と、レーザ260によって照射
される眼球表面250のその一部の中心からレーザの出力アパーチャの中心までの直線と
の間で測定される。カメラ角度280は、表面法線ベクトル265と、眼球表面250の
照射された部分の中心からカメラの光センサまたは光入力アパーチャの中心までの直線と
の間で測定することができる。いくつかの実施形態では、レーザ角度275とカメラ角度
280との間の差はしきい量未満であり、したがってカメラ270は、眼球表面250に
入射する光の鏡面反射の画像を撮像し、そのことは、有益なことに、得られる画像のコン
トラストを向上させ、光出力損失および電力消費を最小限に抑える。
【0046】
種々の実施形態では、レーザ260は、眼球表面250の一部をコヒーレント光で照射
する。例えば、レーザ260は、832nm~852nmの間の波長を有する赤外線スペ
クトル内の光を放射する。別の例として、レーザ260は、900nm~1550nmの
間の波長を有する光を放射する。代替として、レーザ260は、可視スペクトル内の波長
を有する光を放射する。しかしながら、赤外線スペクトル内の眼球表面250を照射する
ことは、有益なことに、電子ディスプレイ115によって放射された可視光からの、また
はいくつかの拡張現実応用例のように、VRヘッドセット200内に入る外部可視光から
の干渉およびノイズを低減する。レーザ260は、眼球245のひとみに入射する光を最
小限に抑えるように配置することができる。さらに、レーザ260は通常、ユーザの不快
または傷害を防止するために低電力を有する。例えば、レーザは、約0.3マイクロワッ
トの出力を有するClass1レーザである。別の例として、レーザ260は、端面発光
型半導体レーザまたは垂直共振器型面発光レーザ(VCSEL)である。
【0047】
眼球追跡ユニット160は通常、コヒーレント光源(すなわち、無視できる位相差の精
密な波長の光を放射する光源)を含むが、非コヒーレント光源を使用することができる。
いくつかの実施形態では、眼球追跡ユニット160は、可視帯域内または赤外線帯域内の
波長を有する光を放射する発光ダイオード(LED)を含む。しかしながら、LEDはレ
ーザ260と比較して広い波長帯にわたって放射するので、LEDは、コヒーレント光源
を使用して生成される画像よりも低いコントラストの画像を生成することがある。いくつ
かの実施形態では、追加のレーザ260(または他の光源)が、レーザ260(またはL
EDまたは他の光源)を補足し、レーザ260(または他の光源)とは異なる波長の光を
放射して、眼球追跡精度を向上させる。
【0048】
カメラ270は、レーザ260または他のコヒーレント光源によって照射される眼球表
面250の部分によって反射される光を撮像する。例えば、カメラ270は、30ピクセ
ル×30ピクセルのピクセル・アレイで画像を撮像し、ピクセルは、眼球表面250の1
5から40マイクロメートルの解像度に対応する。この例では、眼球表面250の撮像部
分は、0.20から1.44平方ミリメートルの間の面積を有する。眼球表面250の撮
像部分は、レーザ260によって照射される眼球表面250の部分のサイズのしきい量以
内のサイズを有する。
【0049】
種々の実施形態では、カメラ270は、眼球追跡精度および精度を向上させるために、
向上した解像度を有する。例えば、カメラ270は、320ピクセル×240ピクセルの
ピクセル・アレイを有するQVGA解像度を有する。カメラ270内に含まれるピクセル
数を増加させることにより、ピクセルに対応する眼球表面250のサイズを低減すること
が可能となり、カメラ270によって撮像される眼球表面250の面積を増加させること
が可能となり、またはこれらの任意の組合せが可能となる。しかしながら、より少ないピ
クセルを使用することは、有益なことに、カメラ270によって消費される電力を削減し
、撮像および照明のために使用する面積がより小さいと、有益なことに、レーザ260に
よる電力消費が削減される。いくつかの実施形態では、カメラ270は、光学式マウス・
センサ、または非常に高いフレーム・レートを取り込む他のセンサである。例えば、カメ
ラ270は、精密な眼球追跡データを実現するために毎秒約5000個の画像を撮像する
。
【0050】
[眼球追跡ユニット]
図3Aは、眼球追跡ユニット160の一実施形態の図である。眼球追跡ユニット160
は、コリメーティング・レンズ310を含むレーザ260と、レンズ・アセンブリ320
および画像センサ330を含むカメラ270とを含む。別の実施形態では、眼球追跡ユニ
ット160は、
図3Aで説明されたものとは異なる構成要素および/または追加の構成要
素を含むことができる。
【0051】
コリメーティング・レンズ310は、レーザ260によって放射された光を、眼球表面
250に向かう平行ビームに整列する。いくつかの実施形態では、コリメーティング・レ
ンズ310はレーザ260と一体である。レーザ260によって放射された光をコリメー
トすることにより、レーザによって放射された光が、カメラ270によって撮像される眼
球表面250の一部を一様に照射する。眼球表面250の照射される部分の非一様な照射
により、カメラ270によって撮像される画像の異なる部分が異なる輝度範囲を有するこ
とになり、カメラ270によって撮像される眼球表面250の画像のコントラストが低下
する。したがって、コリメーティング・レンズ310は、カメラ270によって撮像され
る、得られる画像内のコントラストを改善する。さらに、コリメーティング・レンズ31
0または他の構成要素を使用してレーザ260によって放射されるコリメートする光は、
眼球表面250の撮像される部分の外側の眼球表面250に入射するレーザ260からの
光を低減する。このことは、その後でカメラ270に向かって反射されないレーザによっ
て放射される光を低減することにより、レーザ260によって消費される電力を削減する
。
【0052】
図3Aの例では、レーザ260から放射された光は、点AとBとの間、および点BとC
との間の眼球表面250を照射する。
図3Aの断面図は、レーザ260から放射された光
が円弧を照射することを示すが、レーザ260によって放射される、コリメート後の光は
通常、眼球表面250の円形または楕円形エリアを照射する。(例えば、毛細血管や隆起
などの特徴のために)眼球表面250は粗いので、眼球表面250は入射光を複数の方向
に散乱させる。眼球表面250の異なる部分は異なる特徴の構成を有し、したがって眼球
表面250の一部から反射する光からの回折パターンは、その一部の中の特徴の構成を反
映し、それによって、その回折パターンからの、眼球表面250のその部分の識別が可能
となる。眼球表面250に入射する光は、反射および散乱する前に、眼球内に短い距離だ
け屈折することがあり(例えば、放射光が赤外線スペクトル内にあるとき)、したがって
本明細書での「眼球表面」への参照は、放射光および反射光が透過する眼球の部分をも含
む。
【0053】
レンズ・アセンブリ320は、眼球表面250によって反射された光を収集し、画像セ
ンサ330上に結像する。さらに、レンズ・アセンブリ320は、(ディスプレイ光学ブ
ロック118に関して上記で説明されたような)1つまたは複数の光学誤差を補正して、
画像センサ330によって撮像された画像のコントラストおよび他の特性を改善する。い
くつかの実施形態では、レンズ・アセンブリ320は反射光を拡大することができる。代
替として、レンズ・アセンブリ320は、無視できる拡大だけを反射光に適用する。
【0054】
画像センサ330は、レンズ・アセンブリ320によって集束された入射光を撮像する
。眼球表面250での散乱のために、
図3Aの画像センサ330上の点Dに入射する光は
、点A、B、Cなどの眼球表面250の照射部分内の複数の点から反射した光からの干渉
の結果として生じる。同様に、
図3Aの画像センサ330の点Eと点Fの両方に入射する
光は、眼球表面250上の複数の点から反射した光の間の干渉の結果として生じる。した
がって、画像センサ330は、眼球表面250の回折またはスペックル・パターンを撮像
する。各ピクセルについて、画像センサ330は、ピクセルへの入射光の強度に比例する
電流または電圧を出力する光感応性回路を含む。
【0055】
一実施形態では、画像センサ330は、レーザ260によって放射された波長を含む光
波長の狭帯域に感応し、したがってピクセルまたはサブピクセルに対応する光感応回路の
出力は、ピクセルまたはサブピクセル上の波長の狭帯域内の波長を有する光の強度に比例
する。別の実施形態では、画像センサ330は、広帯域または多帯域感度を有し、したが
ってピクセルまたはサブピクセルに対応する光感応回路の出力は、ピクセルまたはサブピ
クセル上の画像センサ330の広帯域範囲内の波長を有する光の強度に比例する。例えば
、画像センサ330は相補型金属酸化物半導体(CMOS)アレイを含み、CMOSアレ
イは、約850nm未満の波長を有するレーザ光とともに使用することができる。別の例
として、画像センサ330は、インジウム・ガリウム砒素(InGaAs)合金に基づく
アレイを含む。そのような画像センサ330は、約900nm~約1550nmの間の波
長を有するレーザ光を放射するレーザ260とともに使用することができる。
【0056】
図3Bは、偏光感応性素子を含む眼球追跡ユニット160の一実施形態の図である。図
3Bに示される眼球追跡ユニット160は、レーザ260、コリメーティング・レンズ3
10、入射光偏光子340、反射光偏光子350、およびカメラ270を含む。しかしな
がら、他の実施形態では、眼球追跡ユニット160は、
図3Bで説明されたのとは異なる
構成要素および/または追加の構成要素を含むことができる。代替として、眼球追跡ユニ
ット160は、
図3Bで説明された実施形態での複数の構成要素によって提供される機能
を組み合わせる構成要素を含むことができる。
【0057】
入射光偏光子340は、レーザ260から放射された光を偏光する。例えば、入射光偏
光子340は、レーザ260によって放射された光を円偏光する4分の1波長板である。
別の例として、入射光偏光子340は、液晶素子などの可変光偏光子である。液晶の向き
を修正するために電場を加えることにより、眼球追跡ユニット160は、眼球表面250
に入射する光の偏光状態を動的に変更することができる。いくつかの実施形態では、偏光
子340は省略される。例えば、レーザ260は、眼球表面250によって反射される光
の入射面内で直線偏光された光を放射する。眼球表面250は、眼球表面250を照射す
るレーザ260によって放射された光の偏光状態(例えば、偏光向き、偏光の程度)を修
正する。眼球は一般には楕円形であり、粗い表面を有するので、眼球表面250の異なる
部分を照射するレーザ260によって放射された光は、異なる角度および異なる偏光状態
で反射される。
【0058】
反射光偏光子350は、眼球表面250からカメラ270に反射する光を特定の偏光面
にフィルタリングし、したがってカメラ270は、反射光が反射光偏光子350の偏光面
に適合する程度を測定する。例えば、反射光偏光子350は、カメラ270によって撮像
された光を直線偏光する半波長板である。カメラ270は、眼球表面250によって反射
された光の偏光状態が反射光偏光子350の偏光面に合致する程度を測定する。例えば、
反射光偏光子350は、眼球表面250によって反射された光の入射面に光を偏光する。
代替または追加として、反射光偏光子350は液晶素子であり、液晶素子は、液晶の向き
を修正する、加えられた電場に従って、眼球表面250によって反射された光の偏光状態
を動的に変更することができる。他の実施形態では、反射光偏光子350はまた、直線偏
光を円偏光し、カメラ270の機能を改善するために、4分の1波長板をも含む。偏光を
使用することによって、レーザ260以外の光源からの干渉が削減される。
【0059】
カメラ270に入射する光の強度は、反射光偏光子350に入射する光が反射光偏光子
350の偏光面に合致する程度を示す。したがって、カメラ270は、ピクセルの強度が
眼球表面250の特定部分からの偏光状態を示す画像を撮像し、したがって、電子振動の
局所的方向、および眼球表面250の特定部分での表面法線ベクトルの向きについての情
報を提供する。眼球表面250に入射する光の偏光状態に応じて、カメラ270によって
撮像される偏光フィルタリング後の光の強度は、それぞれの特定のピクセルで、局所極小
、局所極大、またはその間の任意の強度値を有することができる。眼球追跡モジュール1
65は、直線偏光の角度を計算することによって、画像のピクセルの強度から眼球表面2
50の異なる部分の表面法線ベクトルを求めることができる。これらの表面法線ベクトル
を使用して、眼球追跡モジュール165は、眼球表面の輪郭のモデルを導出する。代替ま
たは追加として、眼球追跡モジュール165は、各ピクセルの直線偏光の程度を求めるこ
とができる。直線偏光の程度を画像のピクセル値として使用して、眼球追跡モジュール1
65は、
図4A~
図5に関して説明されるように眼球位置を求める。
【0060】
図3Cは、シャー干渉効果を生み出すために1つまたは複数の素子を含む眼球追跡ユニ
ット160の一実施形態の図である。
図3Cの例では、眼球追跡ユニット160は、コリ
メーティング・レンズ310を備えるレーザ260と、シャー・プレート360と、カメ
ラ270とを含む。しかしながら、他の実施形態では、眼球追跡ユニット160は、
図3
Cで説明されたのとは異なる構成要素および/または追加の構成要素を含むことができる
。代替として、眼球追跡ユニット160は、
図3Cで説明された実施形態での複数の構成
要素によって提供される機能を組み合わせる構成要素を含むことができる。
【0061】
シャー・プレート360は、シャー・プレート360からのシフトされた反射間のシャ
ー干渉効果を生み出し、これにより、カメラ270によって撮像される画像のコントラス
トが向上する。シャー・プレート360の前面が、眼球表面250から反射した入射光の
一部を反射する。シャー・プレート360への入射光の別の部分は、シャー・プレート3
60の前面によって反射され、シャー・プレート360の背面に対して反射され、シャー
・プレート360の前面によって再び反射される。したがって、シャー・プレート360
は、カメラ270によって撮像される2つ以上の干渉反射を生み出す。これらの複数の反
射の間の干渉縞は、シャー・プレート360の前面および背面の傾きの間の差に依存する
。例えば、シャー・プレート360は、カメラ270の感度を最大にする、眼球表面25
0によって反射される光に対して45°に配向される顕微鏡カバーガラスである。他の実
施形態では、シャー・プレート360は、干渉を引き起こす格子、または空気ウェッジ・
シャーリング干渉計である。シャー・プレート360の代わりに格子を使用することによ
り、光路の長さが低減することができ、小型化を容易にすることができる。
【0062】
眼球表面250から反射される光は、眼球表面250上の高さ変動に対応する振幅およ
び位相情報を含む。シャー・プレート360(または格子)は、眼球表面250によって
反射される光と、眼球表面250によって反射される光の空間的に分離されたコピーとの
間の干渉を引き起こす。得られる画像は、眼球表面250の向き(ならびにシャー・プレ
ートの前面および背面の相対的な向き)に依存する。有益なことに、シャー・プレート3
60(または格子)は、得られる画像のコントラストを向上させる。
【0063】
例示のために別々の実施形態として示されるが、
図3A、
図3B、および
図3Cに示さ
れる要素の任意の組合せが、眼球追跡ユニット160の種々の実施形態に存在することが
できる。例えば、眼球追跡ユニット160は、偏光感応効果とともにシャー干渉効果を生
み出すために、入射光偏光子340、反射光偏光子350、シャー・プレート360、ま
たはそれらの任意の組合せを含む。眼球表面250に入射する平行光を使用して、カメラ
270に入射する偏光フィルタリング後の光、カメラ270に入射するシャーリング後の
光、またはそれらの組合せにより、眼球表面250によって散乱される光のコントラスト
が向上し、眼球追跡ユニット160の精度を低下させることなく、より低出力のレーザの
使用が可能となる。
【0064】
[眼球追跡]
図4Aは、眼球追跡ユニット160によって撮像される例示的な画像401,402を
示す。カメラ270は、初期時刻に眼球表面250の画像401を撮像し、後の時刻に眼
球表面250の画像402を撮像する。例示のために、画像401,402は、画像セン
サ330によって撮像される画像を10×10ピクセル・アレイで提示するが、他の実施
形態は異なるピクセル数を有することができる。
図4Aでは、ピクセルの異なるカラーは
、眼球表面250の複数の点から散乱した光の間の干渉からの光の異なる強度に対応する
。したがって、画像401,402は、眼球表面250の照射部分の回折パターンと解釈
することができる。
【0065】
眼球の位置変化を求めるために、眼球追跡モジュール165は、画像401と画像40
2との間のサブピクセル・シフトを求める。サブピクセル・シフトにピクセル当たりの較
正距離を掛けることにより、眼球追跡モジュール165が、初期時刻と後の時刻との間で
眼球表面250がシフトした距離を求めることが可能となる。例えば、画像402で取り
込まれたパターンが、画像401で取り込まれたパターンに対して2サブピクセルだけ左
にシフトする。例えばサブピクセルが眼球表面250での10マイクロメートルの距離に
対応する場合、眼球表面250は、画像401の初期時刻での位置に対して、画像402
の後の時刻で20マイクロメートルだけ左に移動した。
【0066】
代替または追加として、眼球追跡モジュール165は、眼球の既知の位置を有する以前
の画像との比較により、画像401または画像402での眼球の位置を求める。例えば、
眼球追跡モジュール165は、基準眼球位置にそれぞれ関連付けられた画像のデータベー
スを含む。画像402を記憶された画像とマッチングすることによって、眼球追跡モジュ
ール165は、記憶された画像に関連付けられた基準眼球位置を眼球が有すると判定する
。いくつかの実施形態では、眼球追跡モジュール165は、撮像画像402の一部の中の
表面特徴を識別する。表面特徴は、眼球表面250の特定部分に関連付けられた回折パタ
ーンまたはオプティカル・フロー・パターンである。眼球追跡モジュール165は、表面
特徴が基準画像内に取り込まれたとき、表面特徴に関連付けられた基準眼球位置を取り出
し、撮像画像内の表面特徴と基準画像内の表面特徴との間のサブピクセル・シフトを求め
、ピクセル当たりの較正距離を使用して、求めたサブピクセル・シフトに従って基準眼球
位置を修正することにより眼球位置を求めることができる。
【0067】
図4Bは、
図4Aの画像から導出される眼球運動と、ディスプレイ115に対する眼球
追跡との間の例示的関係を示す概念図である。
図4Bは、カメラ270、眼球245、お
よび電子ディスプレイ115を含むVRヘッドセット105の簡略化された断面図を示す
。他の実施形態は、眼球のひとみと電子ディスプレイ115との間の光路を修正し、した
がって図示される例で与えられる関係を修正する追加の素子を含むことができる。
【0068】
図4Bでは、基準点Aは表面特徴の基準位置であり、点A´は、更新後の眼球位置に対
応する表面特徴の位置である。眼球追跡モジュール165は、表面特徴の基準位置と表面
特徴の更新位置との間の差に対応する、点AとA´との間の眼球シフト距離xを求める。
いくつかの実施形態では、基準位置は、以前に撮像された画像(例えば、画像401)の
ときの眼球位置であり、眼球シフト距離xは、以前に撮像された画像を更新後の画像(例
えば、画像402)と比較することによって求められる。いくつかの実施形態では、表面
特徴の基準位置は、眼球位置を記述する座標系の軸に対応する眼球位置であり、眼球シフ
ト距離xは、基準位置での表面特徴の場所に対する更新後の眼球位置での表面特徴の変位
を表す。このケースでは、眼球シフト距離xは、(例えば、画像402を、表面特徴の基
準位置からの眼球シフト距離xでの表面特徴の位置を含む、記憶された画像とマッチング
することによって)単一の画像から求めることができる。
【0069】
較正パラメータに基づいて、眼球追跡モジュール165は眼球245の半径Rを取り出
す。半径Rは、点A´または基準点Aに関連付けられた局所的半径とすることができる。
半径Rに基づいて、眼球追跡モジュール165は、式θ=x/Rに従って眼球運動角度θ
を求め、眼球運動角度θは、断面の平面内の基準位置に対する更新後の眼球位置の角度変
位を表す。
【0070】
注視点B´は、撮像画像から求められた更新後の眼球位置でのユーザの視覚の焦点を表
す。ユーザは、角膜255内のひとみを通じて、電子ディスプレイ115上の注視点B´
への視線410を有する。基準注視点Bは、眼球が基準位置にあるときの、電子ディスプ
レイ115上のユーザの視覚の焦点を表す。例えば、基準注視点Bは、表面特徴が基準点
Aに向けられたときの較正中のユーザの視覚の焦点、またはユーザの眼球が配置され、し
たがって表面特徴が基準点Aに向けられたときに以前の画像が撮像されたときのユーザの
視覚の焦点である。眼球が基準位置にあるとき、ユーザは、電子ディスプレイ115上の
基準注視点Bへの基準視線405を有する。視線405と視線410との間の角度は眼球
運動角度θに等しい。
【0071】
眼球追跡モジュール165は、眼球と電子ディスプレイ115との間の相対的向きに基
づいて、基準注視点Bに対する注視点B´の注視位置yを求める。
図4Bに示される簡略
化された図面では、眼球追跡モジュール165は、電子ディスプレイ115に対して直交
する直線415に沿った、眼球の回転軸と電子ディスプレイ115との間の距離Dを得る
。較正パラメータから求められる、基準視線405と直線415との間の角度αに基づい
て、眼球追跡モジュールは、注視位置をy=D・tan(α)-D・tan(α-θ)と
して求める。眼球が移動するにつれて眼球の向きの軸が変化することがあるので、眼球追
跡モジュール165は、最後に求められた眼球位置に少なくとも部分的に基づいて、距離
D、角度α、および直線415の位置を動的に求めることができる。
【0072】
[眼球追跡]
図5は、眼球位置を求めるための方法の一実施形態のフローチャートである。いくつか
の実施形態では、方法は、
図5で説明されたものとは異なるステップまたは追加のステッ
プを含むことができる。さらに、いくつかの実施形態では、方法は、
図5で説明された順
序とは異なる順序でステップを実施することができる。
【0073】
VRヘッドセット105は、レーザ260などのVRヘッドセット105に取り付けら
れた(例えば、VRヘッドセット105の内部の)コヒーレント光源で眼球表面250を
照射する(510)。種々の実施形態では、コヒーレント光源が、VRヘッドセット10
5内の眼球追跡ユニット160内に含まれる。
図3Aおよび
図3Bで説明したように、眼
球表面250を照射(510)する光は、コリメーティング・レンズ310によってコリ
メートされ得るか、入射光偏光子340によって偏光され得るか、またはその両方である
。
【0074】
VRヘッドセット105の眼球追跡ユニット160に含まれるカメラ270などの撮像
デバイスは、眼球表面250によって反射された光を撮像する(520)。いくつかの実
施形態では、撮像デバイス内の撮像センサ330が眼球表面250から反射した光を受け
る前に、眼球表面250から反射した光は、反射光偏光子350によって偏光され得るか
、もしくは眼球表面250から反射した光を集束または修正するレンズ・アセンブリ32
0によって屈折され得る。眼球表面250が粗いので、撮像デバイスの撮像センサ330
によって撮像された(520)光は、眼球表面250の複数の部分から反射した光の組合
せから形成されたスペックルまたは回折パターンとなり得る。
【0075】
いくつかの実施形態では、VRヘッドセット105は、1つまたは複数の画像処理を実
施して、撮像デバイスによって撮像された(520)光から生成された画像のコントラス
トを改善する。例示的画像処理には、センサ補正(例えば、黒レベル調節、レンズ歪曲補
正、ガンマ補正)および照明レベル補正(例えば、ホワイト・バランス補正)が含まれる
。VRヘッドセット105はまた、ヒストグラム等化または任意の他の技法を実施して、
撮像された光の画像のコントラストを向上させることができる。いくつかの実施形態では
、VRヘッドセット105は、照明レベル補正を実施して、電子ディスプレイ115また
は外部光源による眼球表面250の可変照明によって引き起こされるノイズを低減するこ
とができる。カメラ270は通常、コヒーレント光源の波長に対応する単一色で画像を撮
像するが、VRヘッドセット105は、カメラ270が複数の色で画像を撮像する実施形
態では、色補正(例えば、デベイヤリング(debayering)、輝度-クロマ空間への色空間
変換)を適用することができる。代替または追加として、VRコンソール110は、VR
ヘッドセット105内の撮像デバイスによって得られ、VRヘッドセット105からVR
コンソール110に通信される画像に対して1つまたは複数の画像処理を実施する。
【0076】
VRヘッドセット105は、撮像された光または撮像された画像から導出されたデータ
から撮像デバイスによって撮像される画像を含む眼球追跡データをVRコンソール110
に送る。例えば、眼球追跡データは、1つまたは複数の画像処理による修正版の撮像画像
を含む。別の例として、眼球追跡データは、眼球追跡ユニット160によって撮像された
画像と、眼球追跡ユニット160のコヒーレント光源以外の光源による眼球表面250の
照明を記述するデータとを含む。VRヘッドセット105が眼球追跡モジュール165に
関連する機能を実施する実施形態では、眼球追跡データはVRコンソール110に通信さ
れない。
【0077】
眼球追跡モジュール165は、受け取った眼球追跡データが眼球位置を正確に求めるた
めに使用可能な有効な測定値に対応することを検証する(530)。例えば、眼球追跡モ
ジュール165は、眼球追跡データの代表的性能指数を求め、代表的性能指数を妥当性し
きい値と比較する。代表的性能指数が妥当性しきい値未満である場合、眼球追跡モジュー
ル165は、受け取った眼球追跡データが有効でないと判定する。しかしながら、代表的
性能指数が妥当性しきい値以上である場合、眼球追跡モジュール165は、受け取った眼
球追跡データが有効な測定値に対応することを検証する(530)。代表的性能指数は、
和、平均、中央値、範囲、標準偏差、または画像データ内のピクセル値の他の定量化(例
えば、ピクセル・グレイ・レベル、輝度値、強度値)とすることができる。代表的性能指
数は、受け取った眼球追跡データ内に含まれる画像内のすべてのピクセルの性能指数から
求めることができ、またはサンプリング技法によって、受け取った眼球追跡データ内に含
まれる画像内のピクセルのサブセットから推定することができる。いくつかの実施形態で
は、眼球追跡モジュール165は、画像内の種々のピクセルの相対強度を求め、相対強度
の和を求め、和を妥当性しきい値と比較する。例えば、ユーザがまばたきするとき、相対
ピクセル強度の和が減少し、したがって眼球追跡モジュール165は、相対ピクセル強度
値(または他の代表的値)の和が妥当性しきい値未満であると判定したことに応答して、
受け取った眼球追跡データが有効でないと判定する。種々の実施形態では、妥当性しきい
値は、VRヘッドセット105の製造中に指定され、またはVRヘッドセット105の較
正中に求められる。受け取った眼球追跡データの妥当性を検証する(530)ときに、変
動する外部照明条件を反映するために、受け取った眼球追跡データのしきい時間内に取り
込まれた以前に受け取った眼球追跡データの代表的性能指数またはピクセルの相対強度の
組合せのトレーリング平均、または受け取った眼球追跡データのしきい時間内に取り込ま
れ、有効であると判定された、以前に受け取った眼球追跡データの代表的性能指数または
ピクセルの相対強度のトレーリング平均に基づいて、妥当性しきい値を動的に求めること
ができる。種々の実施形態では、トレーリング平均は、有限インパルス応答(FIR)フ
ィルタとして適用され、あるいは無限インパルス応答(IIR)やFIRフィルタなどと
ともに、時間または周波数の点で制御された応答を受け取るように数値的にフィルタリン
グされる。他の実施形態では、トレーリング平均は、指定の応答に対して同調することが
できる任意のFIRフィルタとして適用することができ、あるいは任意の他の適切なフィ
ルタを使用して代替として適用することができる。
【0078】
眼球追跡モジュール165は、受け取った眼球追跡データから眼球位置を求めるために
較正データにアクセスする(540)。較正データは、眼球追跡ユニット160の画像セ
ンサ330のサブピクセルに対応する眼球表面250上の距離を示すサブピクセル距離値
を含むことができる。画像センサ330のサブピクセルが眼球表面250上の矩形(また
は楕円形)エリアに対応する場合、較正データは、眼球表面250に沿った直交する方向
(例えば、眼球表面250上のエリアの長さおよび幅)に対応する2つのサブピクセル距
離値を含むことができる。サブピクセル距離値は、画像センサ330(またはレンズ・ア
センブリ320)と眼球表面250との間の距離から部分的に求めることができる。画像
センサ330と眼球表面250との間の距離は、較正期間中に求めることができ、または
VRヘッドセット105(例えば、レーザ・レンジファインダ、ソナー)内に含まれる測
距デバイスを介して動的に求めることができる。種々の実施形態では、VRヘッドセット
105は、画像センサ330と眼球表面250との間の距離を周期的に(例えば、毎秒1
回)求め、VRヘッドセット105の電源オンに応答して、画像センサ330と眼球表面
250との間の距離を求め、またはユーザの頭部のVRヘッドセット105の調節を示す
測定信号を位置センサ125から受信したことに応答して、画像センサ330と眼球表面
250との間の距離を求める。サブピクセル距離値は、カメラ230またはレンズ・アセ
ンブリ320の特性である、サブピクセルに対応するラジアン単位の角度に、画像センサ
330と眼球表面250との間の距離を掛けることによって求めることができる。サブピ
クセル距離値を使用して、眼球追跡モジュール165は、受け取った眼球追跡データから
の眼球表面250の2つの画像間のサブピクセル・シフトから眼球位置の変化を求める。
【0079】
代替または追加として、眼球追跡モジュール165は、較正期間中に撮像された基準画
像を含むテーブル(例えば、ルックアップ・テーブル)からの較正データにアクセスする
(540)。基準画像は、既知の眼球位置、電子ディスプレイ115上の特定の眼球注視
点、またはその両方に対応する。例示的較正期間の間、VRヘッドセット105は、電子
ディスプレイ115上の一連のアイコンを注視するようにユーザに指示し、ユーザが各ア
イコンを注視するとき、基準画像を撮像する。基準画像は、撮像時のアイコンの眼球注視
点に対応し、眼球追跡モジュール165は、眼球のモデル、および眼球追跡ユニット16
0内に含まれる他の眼球追跡システムから、基準画像に対応する眼球位置を推論する。眼
球追跡モジュール165は、基準画像を記憶することができ、または受け取った眼球追跡
データからの後続の画像とのマッチングを容易にするために基準画像の凝縮表現を記憶す
ることができる。例えば、眼球追跡モジュール165は、各基準画像についてのフィンガ
ープリントを生成するか、各基準画像から特徴(例えば、ブロブ、縁部、リッジ、コーナ
)を抽出するか、またはその両方を行う。抽出した特徴は、眼球表面250上の特徴の位
置を特定する情報か、特徴の構成ピクセルの値か、またはその両方に関連付けて記憶され
得る。基準画像(またはその凝縮表現)を使用して、眼球追跡モジュール165は、受け
取った眼球追跡データからの単一の画像を参照して眼球位置を求めることができる。
【0080】
アクセスした較正データを使用して、眼球追跡モジュール165は、受け取った眼球追
跡データから眼球位置を求める(550)。いくつかの実施形態では、眼球追跡モジュー
ル165は、基準眼球位置に関連付けられた基準画像を取得する。例えば、カメラ270
が基準画像を撮像するのと同時に、眼球追跡ユニット160内の別の眼球追跡システム(
例えば、低速眼球追跡システム)が基準眼球位置を独立して求める。眼球追跡モジュール
165は、更新画像と基準画像との間のサブピクセル・シフトを求め、サブピクセル・シ
フトからの眼球シフト距離を求め、基準眼球位置を眼球シフト距離と組み合わせることに
よって更新後の眼球位置を求める(550)。サブピクセル・シフトを求めるために、眼
球追跡モジュール165は、任意の運動追跡またはオプティカル・フロー技法(例えば、
位相相関、ブロック・マッチング、差分オプティカル・フロー方法)を使用することがで
きる。眼球追跡モジュール165は、求めたサブピクセル・シフトに、アクセスした較正
データからのサブピクセル距離値を掛けることによって眼球シフト距離を求める。サブピ
クセル・シフトは2次元(例えば、5ピクセル上方、3ピクセル左方)とすることができ
、したがって眼球シフト距離も2次元とすることができる(例えば50マイクロメートル
上方、30マイクロメートル左方)。眼球シフト距離を使用して、眼球追跡モジュール1
65は、基準眼球位置を眼球シフト距離だけシフトすることによって更新後の眼球位置を
求める(550)。更新後の眼球位置を求める(550)とき、眼球追跡モジュール16
5は、眼球の向きおよび場所を更新するか、更新後の眼球回転軸を求めるか、電子ディス
プレイ115上の新しい注視場所を(
図4Bに関連してさらに詳細に説明したように)求
めるか、またはそれらの組合せを行い得る。
【0081】
代替または追加として、眼球追跡モジュール165は、更新画像を、アクセスした較正
データからの基準画像とマッチングすることによって眼球位置を求める(550)。眼球
追跡モジュール165は、更新画像を種々の基準画像と比較して、合致する基準画像を求
める。眼球追跡モジュール165は、更新画像と合致する程度に基づいて基準画像をスコ
アリングし、最高のスコアを有する基準画像を選択することによって、合致する基準画像
を求めることができる。代替または追加として、しきい値を超えるスコアを有する基準画
像が識別されるまで、基準画像が更新画像と比較され、スコアリングされる。カメラ27
0が眼球の1平方ミリメートルに対応する画像を撮像する場合、較正データは、眼球の全
可動域にわたって撮像することのできる眼球表面250の異なる部分に対応する約500
個の画像を含む。いくつかの実施形態では、眼球追跡モジュール165は、更新画像の凝
縮表現(例えば、フィンガープリント、特徴のセット)を生成し、更新画像の凝縮表現を
基準画像の凝縮表現と比較して、合致する基準画像を求めるための時間および計算資源を
削減する。眼球追跡モジュール165が合致する基準画像を求めるとき、眼球追跡モジュ
ール165は、更新画像と基準画像との間のサブピクセル・シフトだけ、合致する基準画
像に関連付けられた基準位置を調節することによって更新位置を求める。
【0082】
眼球追跡モジュール165は、求めた眼球位置をVRコンソール110の他の構成要素
に供給する(560)。例えば、眼球追跡モジュール165は、求めた眼球位置内に含ま
れる推定注視点をVRエンジン155に供給し(560)、VRエンジン155は、注視
点を仮想世界への入力として使用する。注視点に基づいて、VRエンジン155は、ユー
ザに提示するためのコンテンツを選択する(例えば、仮想剣闘コンテストでの別の仮想ア
ニメ生物に対する配置のために、注視点に対応する仮想アニメ生物を選択したり、仮想メ
ニューをナビゲートしたり、仮想世界内でプレイするためのスポーツ・ボールのタイプを
選択したり、またはファンタジー・スポーツ・ボール・チームに加えるための有名なスポ
ーツ・ボール・プレーヤを選択したりする)ことができる。
【0083】
[追加の構成情報]
実施形態の上記の説明は、例示のために提示されたものであり、網羅的なものでも、開
示された厳密な形態に特許権を限定するものでもない。上記の開示に照らして多くの変更
形態および変形形態が可能であることを関連技術の技術者は理解し得る。
【0084】
この説明のいくつかの部分は、情報に対する処理のアルゴリズムおよび記号表現の点か
ら実施形態を説明する。これらのアルゴリズム説明および表現は、データ処理技術分野の
技術者によって、自らの研究の題材を当業者に効果的に伝達するために一般的に使用され
る。これらの処理は、機能的、計算的、または論理的に説明されるが、コンピュータ・プ
ログラム、または等価な電気回路、マイクロコードなどによって実装されると理解され得
る。さらには、一般性を失うことなく、これらの処理の構成をモジュールとして参照する
ことが便利な場合があることも認識されている。説明される処理および関連するモジュー
ルは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで実
施することができる。
【0085】
本明細書で説明されるステップ、処理、または方法のいずれも、1つまたは複数のハー
ドウェアまたはソフトウェア・モジュールだけで、または他のデバイスと組み合わせて実
施または実装することができる。一実施形態では、ソフトウェア・モジュールは、コンピ
ュータ・プログラム・コードを含むコンピュータ可読媒体を含むコンピュータ・プログラ
ム製品で実装され、コンピュータ・プログラム・コードは、説明されるステップ、処理、
または方法のいずれかまたはすべてを実施するためにコンピュータ・プロセッサによって
実行することができる。
【0086】
実施形態はまた、本明細書での処理を実施するための装置に関するものでもよい。この
装置は、必要とされる目的のために特別に構築することができ、および/またはコンピュ
ータ内に記憶されたコンピュータ・プログラムによって選択的に活動化または再構成され
る汎用コンピューティング・デバイスを備えることができる。そのようなコンピュータ・
プログラムは、コンピュータ・システム・バスに結合することのできる、非一時的な有形
のコンピュータ可読記憶媒体、または電子命令を記憶するのに適した任意のタイプの媒体
内に記憶することができる。さらに、本明細書内で参照される任意のコンピューティング
・システムは、単一のプロセッサを含むことができ、またはコンピューティング能力の向
上のために複数のプロセッサ設計を利用するアーキテクチャとすることができる。
【0087】
実施形態はまた、本明細書で説明されるコンピューティング方法によって生成される製
品に関するものでもよい。そのような製品は、コンピューティング方法から得られる情報
を含むことができ、情報は、非一時的な有形のコンピュータ可読記憶媒体上に記憶され、
本明細書で説明されるコンピュータ・プログラム製品または他のデータ組合せの任意の実
施形態を含むことができる。
【0088】
最後に、本明細書内で用いられる表現は、主に読み易さおよび説明のために選択され、
特許権を示しまたは定めるために選択されていない場合がある。このため、特許権の範囲
は、上記詳細な説明によってではなく、本明細書に基づく出願で発行される任意の請求項
によって限定される。したがって、実施形態の開示は、特許請求の範囲に記載の特許権の
範囲の限定ではなく、例示的なものである。