(57)【要約】  実施形態は、一般に、視標追跡システムにおける画像の調整に関する。一部の実施形態では、方法は、１つまたは複数の画像をユーザに提示することを含む。この方法はさらに、ユーザに提示された１つまたは複数の画像に関するユーザの視線に関する視線追跡データを取得することを含む。この方法はさらに、視線追跡データから１つまたは複数の第１の視線特性を検出することを含み、１つまたは複数の第１の視線特性は、ユーザの視線の第１の状態を示す。この方法はさらに、ユーザに提示された１つまたは複数の画像の少なくとも一部の輝度を、１つまたは複数の第１の視線特性に基づいて低下させることを含む。【選択図】図１
2021513154.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
ユーザに１つまたは複数の画像を提示することと；
前記ユーザに提示された前記１つまたは複数の画像に関する前記ユーザの視線に関する視線追跡データを取得することと；
前記視線追跡データから１つまたは複数の第１の視線特性を検出することであって、前記１つまたは複数の第１の視線特性は、前記ユーザの前記視線の第１の状態を示す、前記検出することと；
前記ユーザに提示された前記１つまたは複数の画像の少なくとも一部の輝度を、前記１つまたは複数の第１の視線特性に基づいて低下させることとを含む、前記方法。
【請求項２】
前記１つまたは複数の画像が、ヘッドマウントディスプレイのディスプレイデバイスによって前記ユーザに提示される、請求項１に記載の方法。
【請求項３】
前記視線追跡データの前記取得が、ヘッドマウントディスプレイで実行される、請求項１に記載の方法。
【請求項４】
前記視線追跡データの前記取得が、ヘッドマウントディスプレイの視標追跡デバイスによって実行される、請求項１に記載の方法。
【請求項５】
前記視線追跡データの前記取得が、ヘッドマウントディスプレイの内蔵カメラを用いて実行される、請求項１に記載の方法。
【請求項６】
前記視線追跡データが、前記ユーザの少なくとも片方の目の角膜からの光の反射量を備える、請求項１に記載の方法。
【請求項７】
前記ユーザの前記視線の前記第１の状態が、目を細めている状態である、請求項１に記載の方法。
【請求項８】
前記１つまたは複数の第１の視線特性が、目を細めている量を示す、請求項１に記載の方法。
【請求項９】
前記１つまたは複数の第１の視線特性を検出することが、前記ユーザの少なくとも片方の目において消失しているいくつかの輝きを判定することを備える、請求項１に記載の方法。
【請求項１０】
目を細めている値を生成することをさらに含み、前記目を細めている値は、目を細めている量を表す、請求項１に記載の方法。
【請求項１１】
目を細めている値を生成することをさらに含み、前記目を細めている値は、前記ユーザの少なくとも片方の目に関連する角膜反射値の低下に基づく、請求項１に記載の方法。
【請求項１２】
前記１つまたは複数の第１の視線特性が、前記ユーザの少なくとも片方の目に関連する角膜反射値の変化を備える、請求項１に記載の方法。
【請求項１３】
前記１つまたは複数の第１の視線特性が、前記ユーザの少なくとも片方の目に関連する角膜反射値の低下を備える、請求項１に記載の方法。
【請求項１４】
所定の期間にわたって前記１つまたは複数の画像の前記輝度を低下させることをさらに含む、請求項１に記載の方法。
【請求項１５】
前記１つまたは複数の画像の前記輝度を、前記第１の視線特性に基づいて低下させることをさらに含む、請求項１に記載の方法。
【請求項１６】
前記１つまたは複数の画像の前記輝度を、１つまたは複数の第２の視線特性に基づいて復元することをさらに含む、請求項１に記載の方法。
【請求項１７】
前記１つまたは複数の画像の前記輝度を、前記第１の状態の変化に基づいて復元することをさらに含む、請求項１に記載の方法。
【請求項１８】
前記ユーザの視線が前記第１の状態から第２の状態に変化したときに、前記１つまたは複数の画像の前記輝度を復元することをさらに含み、前記第２の状態は、目を細めていない状態である、請求項１に記載の方法。
【請求項１９】
プログラム命令がその上に格納された非一時的なコンピュータ可読記憶媒体であって、前記プログラム命令は、１つまたは複数のプロセッサによって実行されると、
ユーザに１つまたは複数の画像を提示すること；
前記ユーザに提示された前記１つまたは複数の画像に関する前記ユーザの視線に関する視線追跡データを取得すること；
前記視線追跡データから１つまたは複数の第１の視線特性を検出することであって、前記１つまたは複数の第１の視線特性は、前記ユーザの前記視線の第１の状態を示す、前記検出すること；及び、
前記ユーザに提示された前記１つまたは複数の画像の少なくとも一部の輝度を、前記１つまたは複数の第１の視線特性に基づいて低下させることを備える動作を実行するように動作可能である、前記非一時的なコンピュータ可読記憶媒体。
【請求項２０】
１つまたは複数のプロセッサと；
前記１つまたは複数のプロセッサによる実行のために１つまたは複数の非一時的なコンピュータ可読記憶媒体で符号化され、かつ、実行されると、
ユーザに１つまたは複数の画像を提示すること；
前記ユーザに提示された前記１つまたは複数の画像に関する前記ユーザの視線に関する視線追跡データを取得すること；
前記視線追跡データから１つまたは複数の第１の視線特性を検出することであって、前記１つまたは複数の第１の視線特性は、前記ユーザの前記視線の第１の状態を示す、前記検出すること；及び、
前記ユーザに提示された前記１つまたは複数の画像の少なくとも一部の輝度を、前記１つまたは複数の第１の視線特性に基づいて低下させることを備える動作を実行するように動作可能であるロジックとを備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、あらゆる目的のために本出願に完全に記載されているかのように参照により本明細書に援用される、２０１８年１月３１日に出願された、視標追跡システムの画像調整と題された米国特許出願第１５／８８５，１７６号の優先権を主張する。
【背景技術】
【０００２】
ヘッドマウントディスプレイ（ＨＭＤ）デバイスは、ユーザの頭部に装着されるグラフィックディスプレイデバイスである。ＨＭＤは、通常、片方の目またはそれぞれの目の前にあるディスプレイ光学系を使用することで、ユーザに広い視野を提供する。一部の視標追跡システムでは、目を細めることにより、視標追跡を精度低下させる、または、完全に失敗させることがある。これは、視標追跡システムが、目の領域（すなわち眼球）から反射した、光源からの「輝き」または特定の光反射に依存している場合に起こり得る。輝きは、検出され、目の位置を解釈するのに用いることができる。ユーザが目を細めると、まぶた、眼窩底などといった周囲の皮膚によって目がより多く覆われ、輝きの１つ以上が、遮られ得、または、検出器もしくはセンサへ反射し返すことが妨げられ得る。
【発明の概要】
【０００３】
実施形態は、一般に、視標追跡システムにおける画像の調整に関する。ヘッドマウントディスプレイ（ＨＭＤ）デバイスなどの環境において、システムは、ユーザが目を細めていることを検出した場合、ユーザに提示された１つまたは複数の画像の少なくとも一部の輝度を動的に低下させる。輝度の低下は、ユーザの目に、目を細めることをやめるよう働きかけ、その後、システムは、輝度を復元する。
【０００４】
一部の実施形態では、方法は、１つまたは複数の画像をユーザに提示することを含む。この方法はさらに、ユーザに提示された１つまたは複数の画像に関するユーザの視線に関する視線追跡データを取得することを含む。この方法はさらに、視線追跡データから１つまたは複数の第１の視線特性を検出することを含み、１つまたは複数の第１の視線特性は、ユーザの視線の第１の状態を示す。この方法はさらに、ユーザに提示された１つまたは複数の画像の少なくとも一部の輝度を、１つまたは複数の第１の視線特性に基づいて低下させることを含む。
【０００５】
さらにこの方法に関して、一部の実施形態では、１つまたは複数の画像は、ヘッドマウントディスプレイのディスプレイデバイスによってユーザに提示される。一部の実施形態では、視線追跡データの取得は、ヘッドマウントディスプレイで実行される。一部の実施形態では、視線追跡データの取得は、ヘッドマウントディスプレイの視標追跡デバイスによって実行される。一部の実施形態では、視線追跡データの取得は、ヘッドマウントディスプレイの内蔵カメラを用いて実行される。一部の実施形態では、視線追跡データは、ユーザの少なくとも片方の目の角膜からの光の反射量を備える。一部の実施形態では、ユーザの視線の第１の状態は、目を細めている状態である。一部の実施形態では、１つまたは複数の第１の視線特性は、目を細めている量を示す。一部の実施形態では、１つまたは複数の第１の視線特性を検出することは、ユーザの少なくとも片方の目において消失しているいくつかの輝きを判定することを備える。一部の実施形態では、この方法はさらに、目を細めている値を生成することを含み、目を細めている値は、目を細めている量を表す。一部の実施形態では、この方法はさらに、目を細めている値を生成することを含み、目を細めている値は、ユーザの少なくとも片方の目に関連する角膜反射値の低下に基づく。一部の実施形態では、１つまたは複数の第１の視線特性は、ユーザの少なくとも片方の目に関連する角膜反射値の変化を備える。一部の実施形態では、１つまたは複数の第１の視線特性は、ユーザの少なくとも片方の目に関連する角膜反射値の低下を備える。一部の実施形態では、この方法はさらに、所定の期間にわたって１つまたは複数の画像の輝度を低下させることを含む。一部の実施形態では、この方法はさらに、１つまたは複数の画像の輝度を、第１の視線特性に基づいて低下させることを含む。一部の実施形態では、この方法はさらに、１つまたは複数の画像の輝度を、１つまたは複数の第２の視線特性に基づいて復元することを含む。一部の実施形態では、この方法はさらに、１つまたは複数の画像の輝度を、第１の状態の変化に基づいて復元することを含む。一部の実施形態では、この方法はさらに、ユーザの視線が第１の状態から第２の状態に変化したときに、１つまたは複数の画像の輝度を復元することを含む。第２の状態は、目を細めていない状態である。
【０００６】
一部の実施形態では、プログラム命令をその上に有する非一時的なコンピュータ可読記憶媒体が提供される。１つまたは複数のプロセッサによって実行されると、命令は、１つまたは複数の画像をユーザに提示すること；ユーザに提示された１つまたは複数の画像に関するユーザの視線に関する視線追跡データを取得すること；視線追跡データから１つまたは複数の第１の視線特性を検出することであって、１つまたは複数の第１の視線特性は、ユーザの視線の第１の状態を示す、検出すること；及び、１つまたは複数の第１の視線特性に基づいて、ユーザに提示された１つまたは複数の画像の少なくとも一部の輝度を低下させることを含む動作を実行するように動作可能である。
【０００７】
一部の実施形態では、システムは、１つまたは複数のプロセッサを含み、かつ、１つまたは複数のプロセッサによる実行のための１つまたは複数の非一時的なコンピュータ可読記憶媒体にエンコードされたロジックを含む。実行されると、ロジックは、１つまたは複数の画像をユーザに提示すること；ユーザに提示された１つまたは複数の画像に関するユーザの視線に関する視線追跡データを取得すること；視線追跡データから１つまたは複数の第１の視線特性を検出することであって、１つまたは複数の第１の視線特性は、ユーザの視線の第１の状態を示す、検出すること；及び、１つまたは複数の第１の視線特性に基づいて、ユーザに提示された１つまたは複数の画像の少なくとも一部の輝度を低下させることを含む動作を実行するように動作可能である。
【０００８】
本明細書中に開示された特定の実施形態の性質及び利点のさらなる理解は、明細書の残りの部分及び添付の図面を参照することによって実現され得る。
【図面の簡単な説明】
【０００９】
【図１】本明細書中で説明される実施形態に使用され得る視線追跡システムを示す図である。
【図２】本明細書中で説明される実施形態に使用され得るユーザの目及びディスプレイデバイスを示す図である。
【図３】本明細書中で説明される実施形態に使用され得る視標追跡システムを示すブロック図である。
【図４】一部の実施形態による、視標追跡システムにおいて画像を調整するための例示的なフロー図である。
【図５】一部の実施形態による、ユーザに提示された１つまたは複数の画像の輝度レベルを低下させるための例示的なフロー図である。
【図６】本明細書中で説明される実施形態に使用され得るグラフィックス処理システムのブロック図である。
【発明を実施するための形態】
【００１０】
本明細書中に記載される実施形態は、一般に、視標追跡システムにおける画像の調整に関する。ヘッドマウントディスプレイ（ＨＭＤ）デバイスなどの環境において、システムは、ユーザが目を細めていることを検出した場合、ユーザに提示された１つまたは複数の画像の少なくとも一部の輝度を動的に低下させる。輝度の低下は、ユーザの目に、目を細めることをやめるよう促し、その後、システムは輝度を復元する。
【００１１】
バーチャルリアリティ（ＶＲ）などのアプリケーションで視標追跡を用いる場合、瞬きするまたは目を細めるなどの一部のユーザ動作により、レンダリングにエラーが発生し得る。これは、視標追跡ハードウェアが目の輝きを確実に確認できないことによる。本明細書中でより詳細に説明されるように、システムは、目を細めていることを検出すると、画面の輝度を動的に下げる。こうすると光出力が低下するので、ユーザは目を再び開くはずである。これにより、視標追跡の適切な再開が可能となる。このようにして、目を細めていることの検出に応じて画面の輝度を調節することによって、これらエラーの一部は解消され得る。
【００１２】
一部の実施形態では、システムは、１つまたは複数の画像をユーザに提示する。このシステムはさらに、ユーザに提示された１つまたは複数の画像に関するユーザの視線に関する視線追跡データを取得する。このシステムはさらに、視線追跡データから１つまたは複数の第１の視線特性を検出する。１つまたは複数の第１の視線特性は、ユーザの視線の第１の状態（例えば、目を細めている状態）を示す。このシステムは次いで、ユーザに提示された１つまたは複数の画像の少なくとも一部の輝度を、１つまたは複数の第１の視線特性に基づいて低下させる。このシステムは次いで、１つまたは複数の画像の輝度を、１つまたは複数の第２の視線特性に基づいて復元する。１つまたは複数の第２の視線特性は、ユーザの視線の第２の状態（例えば、目を細めていない状態）を示す。
【００１３】
本明細書中で開示される実施形態は、ヘッドマウントデバイスの文脈で説明されるが、実施形態は、ユーザに広い視野を提供する他のグラフィック表示技術にも適用され得る。例えば、実施形態は眼鏡に適用され得る。実施形態は、外部の投影デバイスまたはシステムなどといった、ユーザの頭部に物理的に装着されてもよいまたはされなくてもよい技術に適用され得る。
【００１４】
特定の実施形態は、中心窩レンダリングなどの画像レンダリング用途に関連し得るが、本明細書中で説明される機能は、視標追跡が有用または望ましい任意のシステムまたは状況に適用することができる。
【００１５】
以下に、本明細書中で説明される実施形態の文脈内で視線追跡を説明する。視線追跡は、医学研究、自動車技術、コンピュータエンターテインメント及びビデオゲームプログラム、ＶＲアプリケーション、制御入力デバイス、拡張現実眼鏡などを含む幅広い用途で用いられる。視線追跡としても知られる視標追跡にはいくつかの技術が存在する。これら技術の一部は、ユーザの目の瞳孔の向きからユーザの視線方向を判定する。一部の既知の視線追跡技術は、１つまたは複数の光源から光を放出することによって目を照らすことと、放出された光の角膜からの反射をセンサを用いて検出することとを含む。通常、これは、赤外領域の不可視光源を用い、照らされた目の画像データ（例えば、画像または動画）を赤外線感知カメラを用いてキャプチャすることで達成される。次に、画像処理アルゴリズムを用いて画像データを分析し、視線方向を判定する。一部の実施形態は赤外光を使用するものとして説明されているが、これらの実施形態及び他の実施形態は、反射を生成するのに、任意の可視光または不可視光を使用し得る。
【００１６】
一般に、視標追跡画像分析は、光が目からどのように反射されるかに特有の特性を利用して、画像から視線方向を判定する。例えば、画像を分析して、画像データにおける角膜反射に基づいて目の位置を特定し得、さらに画像を分析して、画像における瞳孔の相対位置に基づいて視線方向を判定し得る。
【００１７】
瞳孔の位置に基づいて視線方向を判定する２つの一般的な視線追跡技術は、明瞳孔法と暗瞳孔法として知られている。明瞳孔法は、カメラの光軸と実質的に一致する光源で目を照らすことを含み、これは、放出された光を網膜に反射させ、瞳孔を通してカメラに戻す。瞳孔は、従来のフラッシュ撮影中に画像に発生する赤目効果と同様に、瞳孔の位置に識別可能な明るいスポットとして画像に現れる。この視線追跡の方法では、瞳孔と虹彩のコントラストが十分でない場合に、瞳孔自体からの明るい反射が、システムが瞳孔を位置付けることを助ける。
【００１８】
暗瞳孔法は、カメラの光軸から実質的にずれている光源を用いて照らすことを含み、これは、瞳孔を通して方向付けられた光を、カメラの光軸から離れる方に反射させ、その結果、瞳孔の位置において、画像に特定可能な暗いスポットを生じさせる。別の暗瞳孔法システムでは、目に向けられた赤外光源及びカメラは、角膜反射を見ることができる。このようなカメラベースのシステムは、瞳孔及び角膜の反射の位置を追跡し、これにより、反射の深さが異なるため視差が得られ、精度を向上させる。
【００１９】
図１は、本明細書中で説明される実施形態に使用され得る視線追跡システム１００を示す図である。様々な実施形態では、視線追跡システム１００は、暗瞳孔視線追跡システムであり得る。視線追跡システムは、可視画像が提示されるディスプレイ画面１０１に対するユーザの目Ｅの向きを追跡する。
【００２０】
例示的なシステム１００ではディスプレイ画面が利用されるが、特定の代替の実施形態は、ユーザの目に直接画像を投影することができる画像投影システムを利用し得る。これらの実施形態では、ユーザの目Ｅは、ユーザの目に投影された画像に対して追跡される。この例では、目Ｅは、画面１０１から可変虹彩Ｉを介して光を集め；レンズＬは、網膜Ｒに画像を投影する。虹彩の開口部は、瞳孔として知られている。筋肉は、脳からの神経インパルスに応答して目Ｅの回転を制御する。上まぶた及び下まぶたの筋肉ＵＬＭ、ＬＬＭは、それぞれ、他の神経インパルスに応答して、上まぶた及び下まぶたＵＬ、ＬＬを制御する。
【００２１】
網膜Ｒ上の感光性細胞は、視神経ＯＮを介してユーザの脳（図示せず）に送られる電気インパルスを生成する。脳の視覚野は、インパルスを解釈する。網膜Ｒのすべての部分に同等な感光性があるわけではない。具体的には、感光性細胞は、中心窩として知られている領域に集中している。
【００２２】
図示の画像追跡システムは、１つまたは複数の赤外光源１０２、例えば、非可視光（例えば、赤外光）を目Ｅに向ける発光ダイオード（ＬＥＤ）を含む。非可視光の一部は目の角膜Ｃに反射し、一部は虹彩に反射する。反射した非可視光は、波長選択ミラー１０６によって、画像センサ（例えば、赤外線カメラ）などの適切なセンサ１０４に向けられる。ミラーは、画面１０１からの可視光は透過するが、目から反射した非可視光は反射する。
【００２３】
センサ１０４は、画像センサ、例えば、瞳孔の相対位置から視線方向ＧＤを判定するために分析され得る目Ｅの画像を生成することができるデジタルカメラであることが好ましい。この画像は、ローカルプロセッサ１２０を用いて、または、取得された視線追跡データをリモートコンピューティングデバイス１６０に送信することによって生成され得る。ローカルプロセッサ１２０は、例えば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサコプロセッサ、セルプロセッサなどといった周知のアーキテクチャに従って構成され得る。画像追跡データは、有線接続（図示せず）を介してセンサ１０４とリモートコンピューティングデバイス１６０の間で、または、視標追跡デバイスに含まれる無線トランシーバ１２５とリモートコンピューティングデバイス１６０に含まれる第２の無線トランシーバ１２６の間でワイヤレスに送信され得る。無線トランシーバは、ローカルエリアネットワーク（ＬＡＮ）またはパーソナルエリアネットワーク（ＰＡＮ）を、適切なネットワークプロトコル、例えばＰＡＮの場合ブルートゥースを介して実装するように構成され得る。
【００２４】
視線追跡システム１００はまた、例えば、目Ｅの上かつ下にそれぞれ配置されるように構成された上部センサ１０８及び下部センサ１０９を含み得る。センサ１０８及び１０９は、独立した構成要素であってもよく、または代替として、以下に限定するものではないが、センサ１０４、ローカルプロセッサ１２０、もしくは以下に記載される慣性センサ１１５の任意の組み合わせを含み得る、ユーザの頭部に装着される構成要素１１０の一部であってもよい。例示的なシステム１００では、センサ１０８及び１０９は、目Ｅを囲む領域から神経系の電気インパルスならびに／または筋肉系の運動及び／または振動に関するデータを収集することができる。このデータには、例えば、上部センサ１０８及び下部センサ１０９によってモニタリングされる、目Ｅを囲む筋肉及び／または神経の電気生理学的かつ／または振動情報が含まれ得る。センサ１０８及び１０９によって収集された電気生理学的情報には、例えば、脳波記録（ＥＥＧ）、筋電図記録（ＥＭＧ）、または目Ｅの周りの領域（複数可）における神経機能を受けて収集された誘発電位情報が含まれ得る。センサ１０８及び１０９はまた、例えば、目Ｅを囲む筋肉の筋肉振動またはけいれんを検出した結果として、筋音図または表面筋電図情報を収集することが可能であり得る。センサ１０８及び１０９によって収集されたデータは、上述のようなローカルプロセッサ１２０及び／またはリモートコンピューティングデバイス１６０に、画像追跡データとともに配信され得る。
【００２５】
視線追跡システム１００はまた、ユーザの頭部を追跡することも可能であり得る。頭部の追跡は、ユーザの頭部の位置、動き、向き、または向きの変化に応答して信号を生成することができる慣性センサ１１５によって実行され得る。このデータは、ローカルプロセッサ１２０に送信されてもよく、かつ／または、リモートコンピューティングデバイス１６０に送られてもよい。慣性センサ１１５は、独立した構成要素であってもよく、または代替として、以下に限定するものではないが、センサ１０４、ローカルプロセッサ１２０、または上述したセンサ１０８及び１０９の任意の組み合わせを含み得る、ユーザの頭部に装着される構成要素１１０の一部であってもよい。代替の実施形態では、頭部の追跡は、光源の追跡を介して、または、構成要素１１０に取り付けられた他の機構による追跡を介して実行され得る。
【００２６】
リモートコンピューティングデバイス１６０は、本開示の態様にしたがって視線追跡を実行し照明条件を判定するために、視標追跡デバイス及びディスプレイ画面１０１と連携して動作するように構成され得る。コンピューティングデバイス１６０は、例えば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサコプロセッサ、セルプロセッサなどといった周知のアーキテクチャに従って構成され得る１つまたは複数のプロセッサユニット１７０を含み得る。コンピューティングデバイス１６０はまた、１つまたは複数のメモリユニット１７２（例えば、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、読み取り専用メモリ（ＲＯＭ）など）を含み得る。
【００２７】
プロセッサユニット１７０は、１つまたは複数のプログラムを実行し得、その一部はメモリ１７２に格納され得、プロセッサ１７０は、例えばデータバス１７８を介してメモリにアクセスすることによって、メモリ１７２に動作可能に結合し得る。プログラムは、視線追跡を実行しシステム１００の照明条件を判定するように構成され得る。限定ではなく例として、プログラムは、視線追跡プログラム１７３を含み得、その実行により、システム１００は、ユーザの視線を追跡し得る。例えば、上述のように、ユーザの視線は、エラー及び状態パラメータ判定プログラム１７４、画像調整プログラム１７５（ＲＯＩ調整とラベル付けされている）、ならびに、その実行により、画像がレンダリングされディスプレイ上に提示される画像レンダリングプログラム１７６によって追跡され得る。一部の実施形態では、画像調整プログラム１７５は、提示された画像になすことができる潜在的な調整を判定する、及び、ディスプレイ上に提示される画像を調整するそれぞれのために、エラー及び／または状態パラメータを用い得る。
【００２８】
限定ではなく例として、視線追跡プログラム１７３は、システム１００に、光が光源１０２から放出されながら、センサ１０４で集められた視標追跡データならびに上部センサ１０８及び下部センサ１０９から集められた目の動きデータそれぞれから、システム１００の１つまたは複数の視線追跡パラメータを判定させるプロセッサ実行可能命令を含み得る。一部の実施形態では、視線追跡プログラム１７３はまた、照明条件の変化の存在を検出するためにセンサ１０４を用いて集められた画像を分析する命令を含み得る。
【００２９】
図２は、本明細書中で説明される実施形態に使用され得るユーザの目及びディスプレイデバイスを示す図である。図１及び図２の両方を参照すると、ユーザの目Ｅを示す画像１８０を分析して、瞳孔の相対位置から視線方向ＧＤを判定し得る。例えば、画像分析は、画像における目Ｅの中心からの瞳孔Ｐの２次元オフセットを判定し得る。中心に対する瞳孔の位置は、眼球の既知のサイズ及び形状に基づく三次元ベクトルの単純な幾何学的計算によって、画面１０１に対する視線方向に変換され得る。判定された視線方向ＧＤは、目Ｅが画面１０１に対して動くときの目Ｅの回転及び加速を示すことができる。
【００３０】
画像はまた、角膜Ｃ及びレンズＬそれぞれからの非可視光の反射１８７及び１８８を含み得る。角膜とレンズの深さが異なるので、反射間の視差と屈折率を使用して、視線方向ＧＤを判定する際の精度を高め得る。このタイプの視標追跡システムの例は、デュアルプルキニエトラッカであり、ここで、角膜反射は、第１のプルキニエ像であり、レンズ反射は、第４のプルキニエ像である。一部のシナリオでは、ユーザが眼鏡をかけている場合、ユーザの眼鏡１９３からの反射１９０も在り得る。
【００３１】
一部の実施形態では、カメラベースの視標追跡は、瞬きフェーズ中に視標追跡を更新する他の方法で補強することができる。補強の例には、眼筋活動を誘発する神経インパルスを検出するために、画像情報に加えてＥＥＧ情報を提供することが含まれる。この情報はまた、瞬き及びサッケードの開始及び終了の検出を助けるのに使用することができる。視標追跡システムは、目の動きの速度に基づいて、ハイパスフィルタリングによって、視覚システムがサッケードにあるか否かを判定することができる。
【００３２】
視標追跡システムのパフォーマンスは、光源（赤外光［ＩＲ］、可視光など）及びカメラの配置、ユーザが眼鏡またはコンタクトを装着しているかどうか、ＨＭＤ光学系、フレームレート、露出時間、カメラ光学系、追跡システムのレイテンシ、眼球運動の速度、目の形状（１日の中で変化する、または動きの結果として変化する可能性がある）、目の状態、例えば弱視、視線安定性、動いているオブジェクトへの注視、ユーザに提示されているシーン、ならびにユーザの頭部の動きを含む多数の要因に依存する。
【００３３】
図３は、本明細書中で説明される実施形態に使用され得る視標追跡システム３００を示すブロック図である。例示的なシステム３００は、本開示の態様にしたがって、視線追跡及び／または視線追跡に対する較正を実行するために視標追跡デバイス３０２及びディスプレイデバイス３０４に結合されたコンピューティングデバイス３６０を含み得る。ディスプレイデバイス３０４は、陰極線管（ＣＲＴ）、フラットパネルスクリーン、タッチスクリーン、プロジェクタ、網膜撮像装置、またはテキスト、数字、グラフィックシンボル、もしくは他の視覚的オブジェクトを表示する他のデバイスの形態であり得る。本開示の態様によれば、コンピューティングデバイス３６０は、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、ゲームコンソールなどであってもよい。さらに、コンピューティングデバイス３６０、視標追跡デバイス３０２、ディスプレイデバイス３０４、またはそれらの任意の組み合わせは、一体型ユニットを形成してもよく、または、互いに通信し得る別個のコンポーネントとして実装されてもよい。
【００３４】
視標追跡デバイス３０２は、コンピューティングデバイス３６０に結合されてもよく、かつ、動的照明光源３１０を含んでもよい。限定ではなく例として、照明光源３１０は、１つまたは複数の赤外線ＬＥＤという形の不可視照明光源であってもよく、これは、カメラ３１２などのセンサを用いて視標追跡データを集めるためにユーザの目を照らすように構成され得る。視標追跡デバイスのカメラ３１２は、光源３１０から放出された光を感知する検出器であり得る。例えば、カメラ３１２は、赤外線カメラなどの光源を感知するカメラであってもよく、カメラ３１２は、照明光源３１０によって照らされた領域の画像を取り込み得るように、視標追跡デバイス３０２及び照明光源３１０に対して配置され得る。
【００３５】
コンピューティングデバイス３６０は、本開示の態様にしたがって、視線追跡を実行し照明条件を判定するために、視標追跡デバイス３０２及びディスプレイデバイス３０４と連携して動作するように構成され得る。コンピューティングデバイス３６０は、例えば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサコプロセッサ、セルプロセッサなどといった周知のアーキテクチャに従って構成され得る１つまたは複数のプロセッサユニット３７０を含み得る。コンピューティングデバイス３６０はまた、１つまたは複数のメモリユニット３７２（例えば、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、読み取り専用メモリ（ＲＯＭ）など）を含み得る。
【００３６】
プロセッサユニット３７０は、１つまたは複数のプログラムを実行し得、その一部は、メモリ３７２に格納され得、プロセッサ３７０は、例えば、データバス３７６を介してメモリにアクセスすることによって、メモリ３７２に動作可能に結合され得る。プログラムは、視線追跡を実行するようにかつシステム３００の照明条件を判定するように構成され得る。限定ではなく例として、プログラムは、その実行によりシステム３００がユーザの視線を追跡し得る視線追跡プログラム３７３と、その実行によりディスプレイ上に提示される画像を調整する画像調整プログラム３７４と、その実行によりディスプレイ上に提示される画像をレンダリングする画像レンダリングプログラム３７５とを含み得る。限定ではなく例として、視線追跡プログラム３７３は、システム３００に、動的照明光源３１０から光が放出されながら、カメラ３１２を用いて集められた視線追跡データからシステム３００の１つまたは複数の視線追跡パラメータを判定させるプロセッサ実行可能命令を含み得る。視線追跡プログラム３７３はまた、カメラ３１２を用いて集められた画像を分析する命令を含み得る。
【００３７】
コンピューティングデバイス３６０はまた、入力／出力（Ｉ／Ｏ）回路３７９、電源（Ｐ／Ｓ）３８０、クロック（ＣＬＫ）３８１、及びキャッシュ３８２などのサポート回路３７８を含み得、これらは、例えばデータバス３７６を介して、システムの他のコンポーネントと通信し得る。Ｉ／Ｏ回路は、視標追跡デバイス３０２及びディスプレイデバイス３０４上の同様に構成されたトランシーバとの通信を容易にする無線トランシーバを含み得る。プロセッサユニット３７０及び無線トランシーバは、ローカルエリアネットワーク（ＬＡＮ）またはパーソナルエリアネットワーク（ＰＡＮ）を、適切なネットワークプロトコル、例えばＰＡＮの場合ブルートゥースを介して実装するように構成され得る。コンピューティングデバイス３６０は、任意選択で、ディスクドライブ、ＣＤ−ＲＯＭドライブ、テープドライブ、フラッシュメモリなどの大容量記憶装置３８４を含み得、大容量記憶装置３８４は、プログラム及び／またはデータを記憶し得る。コンピューティングデバイス３６０はまた、システム３００とユーザ間のインタラクションを容易にするためのユーザインターフェース３８８を含み得る。ユーザインターフェース３８８は、キーボード、マウス、ライトペン、ゲームコントロールパッド、タッチインターフェース、及び／または他のデバイス（複数可）を含み得る。
【００３８】
システム３００はまた、プロセッサユニット３７０によって実行されるプログラムとインタラクトするために視標追跡デバイス３０２とインターフェースするコントローラ（図示せず）を含み得る。システム３００はまた、ビデオゲームなどの１つまたは複数の一般的なコンピュータアプリケーション（図示せず）を実行し得、これらは、視標追跡デバイス３０２によって感知されかつ追跡プログラム３７３、画像調整プログラム３７４及び画像レンダリングプログラム３７５によって処理されるように視線追跡の態様を組み込み得る。
【００３９】
コンピューティングデバイス３６０は、Ｗｉ−Ｆｉ、イーサネットポート、または他の通信方法の使用を可能にするように構成されたネットワークインターフェース３９０を含み得る。ネットワークインターフェース３９０は、電気通信ネットワークを介した通信を容易にするために、適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの何らかの組み合わせを組み込み得る。ネットワークインターフェース３９０は、ローカルエリアネットワーク及びインターネットなどのワイドエリアネットワークを介して有線または無線通信を実装するように構成され得る。ネットワークインターフェース３９０はまた、視標追跡デバイス３０２及びディスプレイデバイス３０４との無線通信を容易にする前述の無線トランシーバも含み得る。コンピューティングデバイス３６０は、ネットワークを通じて１つまたは複数のデータパケット３９９を介してデータ及び／またはファイルのリクエストを送受信し得る。
【００４０】
様々な実施形態では、画像レンダリングは、ユーザによる目を細めていることの検出に基づいて、レンダリングプロセスの特定のパラメータを調整することによって実装され得る。そのような調整は、ユーザに提示された１つまたは複数の画像の少なくとも一部の輝度を低下させることを含み得る。
【００４１】
本明細書に示すように、システムは、カメラを使用して、ユーザの目における反射を検出し、ユーザの視線を判定する。一部のシナリオでは、ユーザは、視力の問題、何かに集中しようとすること、目の疲れなどのために目を細めることがある。そうしたユーザの行動によりパフォーマンスの問題が生じる場合がある。例えば、ユーザが目を細めると、ユーザのまぶたは反射を遮る。その結果、完全な反射がなく、視標追跡の効果が薄れたり、または失敗する場合がある。また、システムが目を正確に追跡することができなくなるため、画像レンダリングプロセスが失敗する場合がある。結果として、画像領域は、ユーザが認知し得る、システムがユーザの視線を期待する場所にジャンプすることができる。
【００４２】
図４は、一部の実施形態による、視標追跡システムにおいて画像を調整するための例示的なフロー図を示す。図１、２及び４の両方を参照すると、方法は、ブロック４０２で開始し、システムは、１つまたは複数の画像をユーザに提示する。様々な実施形態では、１つまたは複数の画像は、ヘッドマウントディスプレイ（ＨＭＤ）のディスプレイデバイスによってユーザに提示される。
【００４３】
ブロック４０４で、このシステムは、ユーザに提示された１つまたは複数の画像に関するユーザの視線に関する視線追跡データを取得する。様々な実施形態では、視線追跡データの取得は、ＨＭＤのヘッドマウントディスプレイで実行される。一部の実施形態では、視線追跡データの取得は、ＨＭＤの視標追跡デバイスによって実行される。一部の実施形態では、視線追跡データの取得は、ＨＭＤの内蔵カメラを用いて実行される。一部の実施形態は、視線追跡データを取得するためにカメラを使用し得るが、視線追跡データを取得するために他の技術も使用され得る。例えば、視標追跡システムは、微小電気機械システム（ＭＥＭＳ）デバイスまたは他の検出方法を使用し得る。
【００４４】
様々な実施形態では、視線追跡データは、所与の時間における、ユーザの少なくとも片方の目の角膜からの光の反射量を含む。所与の角膜からの光の反射量は、角膜反射値と称される場合がある。様々な実施形態では、システムは、毎秒複数回、視線追跡データを収集して、ユーザの各目の角膜反射値を判定する。
【００４５】
ブロック４０６で、このシステムは、視線追跡データから１つまたは複数の第１の視線特性を検出する。１つまたは複数の第１の視線特性は、ユーザの視線の特定の状態を示す。例えば、一部の実施形態では、ユーザの視線の特定の状態は、目を細めている状態である。目を細めている状態は、ユーザが目を部分的に閉じている状態である。これは、例えば、ユーザが特定の画像または画像の詳細に視覚的に焦点を合わせている場合に生じ得る。明確にするために、第１の視線特性は、目を細めている状態を示し、第２の視線特性（以下でより詳細に説明する）は、目を細めていない状態を示す。
【００４６】
一部の実施形態では、１つまたは複数の第１の視線特性は、目を細めている量を示し得る。例えば、視線特性は、目が少し閉じているか、それとも大幅に閉じている（ほとんど閉じている）かを示し得る。このようにして、１つまたは複数の第１の視線特性を検出することは、ユーザの少なくとも片方の目において消失しているいくつかの輝きを判定することを含む。
【００４７】
本明細書中でより詳細に説明するように、一部の実施形態では、目を細めている量を定量化するために、システムは、目を細めている値を生成し得、目を細めている値は、目を細めている量を表す。一部の実施形態では、このシステムは、目を細めている値を生成し得、目を細めている値は、ユーザの少なくとも片方の目に関連する角膜反射値の低下に基づく。目を細めている値は、角膜反射値に反比例し得る。例えば、ユーザが目を細めている（目が部分的に閉じている）場合、システムは、低下した角膜反射値を検出し、その後、角膜反射値に基づいて、増加した目を細めている値を生成し得る。
【００４８】
一部の実施形態では、１つまたは複数の第１の視線特性は、ユーザの少なくとも片方の目に関連する角膜反射値の変化を含む。例えば、目を細めていることによって角膜反射値が減少した場合、システムは、角膜反射値が変化したことを記録／ログする。
【００４９】
一部の実施形態では、１つまたは複数の第１の視線特性は、ユーザの少なくとも片方の目に関連する角膜反射値の低下を含む。例えば、目を細めていることによって角膜反射値が減少した場合、システムは、様々な時点における角膜反射値に加えて、角膜反射値がどのくらい変化したかを記録／ログする。
【００５０】
ブロック４０８で、このシステムは、ユーザに提示された１つまたは複数の画像の少なくとも一部の輝度を、１つまたは複数の第１の視線特性に基づいて低下させ、第１の視線特性は、目を細めている状態を示す。このシステムは、特定の実施形態に応じて、画面または画像の特定の部分、特定の画像、複数の画像の複数の部分、またはすべての画像の輝度を低下させ得る。画面輝度を動的に下げることにより、目に入る光の量が減る。これにより、瞳孔はより多くの光を受け取ろうと不随意に拡張し得、そして、ユーザに、目を開かせ（目を細めるのをやめさせ）得る。
【００５１】
一部の実施形態では、このシステムは、所定の期間にわたって１つまたは複数の画像の輝度を低下させる。例えば、このシステムは、１つまたは複数の画像の輝度を低下させ、設定された期間（例えば、０．１０秒、０．２０秒など）、低下した輝度を維持する。不随意に目を細めることの継続時間は、原因によって異なり得る（例えば、０．５秒、１．０秒など）。輝度を一瞬でも低下させることにより、ユーザに、即座に目を開けさせ、目を細めるのをやめさせ得る。
【００５２】
一部の実施形態では、このシステムは、１つまたは複数の画像の輝度を、第１の視線特性に基づいて低下させる。このシステムは、１つまたは複数の画像の輝度を、目を細めている値に基づいて低下させ得る。例えば、このシステムは、目を細めている値がより大きい場合、１つまたは複数の画像の輝度を低下させ得る。逆に、このシステムは、目を細めている値が小さい場合、１つまたは複数の画像の輝度を相対的に小さく低下させ得る。このようにして、輝度の低下量は、目を細めている量に比例する。言い換えれば、大きく目を細めるほど、画面はより暗くなる。
【００５３】
様々な実施形態では、このシステムは、ユーザの目が目を細めるのをやめるように促すまたはやめさせるのに十分長い間、輝度を低下させる。以下でより詳細に説明するように、このシステムは、ユーザ経験を損なうような輝度の変化にユーザが意識として気が付かないくらい迅速に輝度を復元する。例えば、これらの動作は、１２０Ｈｚの画面リフレッシュレートまたは２４０Ｈｚの視標追跡リフレッシュレートなどで起こり得る。
【００５４】
ブロック４１０で、このシステムは、１つまたは複数の画像の輝度を、１つまたは複数の第２の視線特性に基づいて復元する。第２の視線特性は、目を細めていない状態を示す。輝度を（例えば、完全な輝度に）復元することにより、ユーザに目を開けさせ（目を細めているのをやめさせ）得、これにより、視標追跡は、完全な反射を受信し、正しく動作することが可能となるだろう。一部の実施形態では、このシステムは、１つまたは複数の画像の輝度を、ユーザの目の状態の変化に基づいて復元する。例えば、このシステムは、ユーザの視線が目を細めている状態からそれに続く目を細めていない状態に変化したときに、１つまたは複数の画像の輝度を復元し得る。一部の実施形態では、このシステムは、輝度を直ちに上げることによって輝度を復元し得る。一部の実施形態では、このシステムは、輝度を迅速に増加させることによって輝度を復元し得る。一部の実施形態では、このシステムは、どのように輝度が自動的に復元されるかをユーザが調整することを可能にし得る。
【００５５】
一部の実施形態では、このシステムは、視線追跡データから１つまたは複数の第２の視線特性を検出する。上述のように、かかる第２の視線特性は、ユーザの視線の目を細めていない状態を示す。ユーザの視線が目を細めていない状態であると判定されると、このシステムは、１つまたは複数の画像の輝度を増大させる。一部の実施形態では、このシステムは、輝度を、目を細める前の状態における前回のレベルまで増大させる。
【００５６】
ステップ、動作、または計算は特定の順序で提示され得るが、特定の実施形態においてこの順序は変更されてもよい。特定の実施形態次第で、ステップの他の順序が可能である。一部の特定の実施形態では、本明細書で順次的に示されている複数のステップを同時に実行し得る。また、一部の実施形態は、示されているすべてのステップを有さない場合があり、かつ／または、本明細書中に示されているステップの代わりにもしくはそれらに加えて、他のステップを有する場合がある。
【００５７】
図５は、一部の実施形態による、ユーザに提示された１つまたは複数の画像の輝度レベルを低下させるための例示的なフロー図を示す。図１、２及び５の両方を参照すると、方法は、ブロック５０２で開始し、システムは、視線追跡データから角膜反射値を判定する。本明細書中に示されるように、角膜反射値は、ユーザの少なくとも片方の目の角膜からの光の反射量を表す。
【００５８】
ブロック５０４で、このシステムは、角膜反射値に基づいて、目を細めている値の増加を判定する。本明細書中に示されるように、目を細めている値は、目を細めている量を表す。より具体的には、目を細めている値の増加は、ユーザの少なくとも片方の目の角膜からの光の反射量の低下を表す。言い換えると、目を細めている値の増加は、角膜反射値の減少に対応する。
【００５９】
ブロック５０６で、このシステムは、目を細めている値の増加量を判定する。
【００６０】
ブロック５０８で、このシステムは、増加量を、所定の目を細めている値の閾値と比較する。
【００６１】
ブロック５１０で、このシステムは、増加量が、所定の目を細めている値の閾値を越えているかどうかを判定する。超えていない場合、このシステムは、ブロック５０４における、角膜反射値に基づく目を細めている値の増加の判定に進む。
【００６２】
ブロック５１２で、このシステムは、１つまたは複数の画像の少なくとも一部の輝度レベルを、１つまたは複数の第１の視線特性に基づいて低下させる。様々な実施形態では、視線特性は、目を細めている値の増加量と、目を細めている値が所定の目を細めている値の閾値を超える継続時間とを含む。一部の実施形態では、このシステムは、所定の目を細めている値の閾値に対する増加量に基づいて、輝度の低下値を判定する。このようにして、このシステムは、１つまたは複数の画像の少なくとも一部の輝度レベルを、輝度の低下値に基づいて低下させる。
【００６３】
ステップ、動作、または計算は特定の順序で提示され得るが、特定の実施形態においてこの順序は変更されてもよい。特定の実施形態次第で、ステップの他の順序が可能である。一部の特定の実施形態では、本明細書で順次的に示されている複数のステップを同時に実行し得る。また、一部の実施形態は、示されているすべてのステップを有さない場合があり、かつ／または、本明細書中に示されているステップの代わりにもしくはそれらに加えて、他のステップを有する場合がある。
【００６４】
一部の実施形態では、目の輝きを生成するために仮想現実（ＶＲ）ヘッドセットに表示されている画像（例えば、ビデオゲーム画像）が、カメラによって検出されてもよい。一部の実施形態では、専用パターン（「輝き画像」）及び／または実際のゲーム画像（「提示画像」）を使用して、センサでの反射を、画面によって提示されている既知の画像と相関付けることによって目の位置を読み取り得る。ディスプレイのレンダリングと輝き検出が協調システムの制御下にあるシステム（例えば、同一セットのプロセッサ及び／もしくはソフトウェア、または通信もしくは同期している２つ以上のシステム）において、輝き画像を生成するのに個別のコンポーネント及びシステムを用意するのではなく、ディスプレイ画面自体を使用して、ユーザの目に輝き画像またはパターンを生成することができる。一部の実施形態では、提示画像は、輝き検出を提供するために変更する必要はなく、例えばコンピュータゲームのように、レンダリングされたフレームの通常のコースであり得る。レンダリングされているピクセル値のすべてまたは一部のデータを使用して、目における提示画像の感知された反射と相関付けることができ、かつ、目の位置及び／または追跡を判定することができる。
【００６５】
これは、本明細書中で説明する一部の実施形態とは、目においてパターンを生成するため別個のＬＥＤエミッタを使用するのではなく、目の位置を判定するという点で異なる。一部の実施形態では、提示されている画像及び目における反射の受信に対して完全な知識及び制御が存在する。
【００６６】
そのような技術は、代替的または補足的（例えば、ＬＥＤとともに使用される）であり得る。補足モードは、特定の追跡状況によってトリガーされてオンまたはオフにされ得る。例えば、目の最周辺位置は、グラフィックで作成された輝きを介してより多くの光を加えるのに有用であり得る。
【００６７】
一部の実施形態では、このシステムは、画面の視野内に内部マイクロカメラまたは他のセンサを含み得る。１つまたは複数のセンサは、視野、視野角、錐台などとも称されるビューイングコーンの外側にセンサが取り付けられたシステムとは対照的に、ディスプレイシステムで使用される画面と同一のビューイングコーンの前に、後ろに、内に、重なって、統合されて、または別の方法で占有して在り得る。画面と同一の視野を占めるセンサの例を図１に示す。ここでは、マイクロカメラ１２２は、画面１０１の後ろに示される。このシステムは、ユーザが「カメラ」を直視しながらディスプレイを見ることを可能にする複数（例えば、いくつかの、多数の、数十の、数千のなど）の小さな画像センサが埋め込まれたＬＣＤまたは同様のデバイスと通信し得る。このシステムは、個々のセンサによって蓄積されたデータをより大きな画像へとつなぎ合わせ、その画像を視標追跡そして画像の表示に使用し得る。
【００６８】
一部の実施形態では、このシステムは、時分割多重動作を実行して、提示画像を輝き画像から分離し得る。例えば、液晶ディスプレイ（「ＬＣＤ」）または他のシャッターシステムを画像データとセンサの間に使用して、コンピュータで生成された輝き追跡画像データを可能にしながら、センサから提示画像をマスクすることができる。この手法を使用すると、輝きセンサの１つまたは複数をユーザの視線方向と直接揃えることができ、パフォーマンスを向上することができるという利点が存在し得る。
【００６９】
図６は、本明細書中で説明される実施形態に使用され得るグラフィックス処理システム６００のブロック図である。実施形態は、関心部分であると判定された画面空間の部分に対して画面空間の選択された部分の頂点の密度を調整することにより、有効解像度が画面位置によって異なるグラフィックス処理を実装するように構成されたグラフィックス処理システムを含み得る。限定ではなく例として、図示するように、コンピュータシステム６００を用いて、本開示の態様によるグラフィックス処理を実装し得る。本開示の態様によれば、システム６００は、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、ゲームコンソールなどであってもよい。
【００７０】
システム６００は、一般に、中央処理装置（ＣＰＵ）６０２、グラフィックプロセッサ装置（ＧＰＵ）６０４、及びＣＰＵとＧＰＵの両方にアクセス可能なメモリ６０８を含む。システム６００はまた、例えばデータバス６０９を介して、システムの他のコンポーネントと通信し得る周知のサポート機能６１０を含み得る。このようなサポート機能は、以下に限定するものではないが、入力／出力（Ｉ／Ｏ）要素６１１、電源（Ｐ／Ｓ）６１２、クロック（ＣＬＫ）６１３、及びキャッシュ６１４を含み得る。キャッシュ６１４に加えて、ＧＰＵ６０４は、それ自体のＧＰＵキャッシュ６１９を含み得、ＧＰＵは、ＧＰＵ６０４上で実行されているプログラムがＧＰＵキャッシュ６１９をリードスルーまたはライトスルーできるように構成され得る。
【００７１】
システム６００は、上述のように、画像レンダリングの最適化のために視線追跡情報を取得かつ分析するように構成され得る。一部の実施形態では、システム６００は、図３に関して上記で説明したように、照明光源３１２及びカメラ３１２を備えた視標追跡デバイス３０２を含み得る。代替として、システムは、これらのコンポーネントと、例えばＩ／Ｏ要素６１１を介して相互運用するように構成され得る。
【００７２】
システム６００は、レンダリングされたグラフィック６１７をユーザに提示するためのディスプレイデバイス６１６を含み得る。代替の実施形態では、ディスプレイデバイス６１６は、システム６００と連携して機能する別個のコンポーネントである。ディスプレイデバイス６１６は、フラットパネルディスプレイ、ヘッドマウントディスプレイ（ＨＭＤ）、陰極線管（ＣＲＴ）画面、プロジェクタ、またはテキスト、数字、グラフィックシンボルもしくは画像を表示することができる他のデバイスの形態であり得る。特に有用な実施形態では、ディスプレイ６１６は、９０度以上（例えば、１１４度以上）の視野を有する画面を備えた大きな視野（ＦＯＶ）デバイスである。ディスプレイデバイス６１６は、本明細書中に記載された様々な技術にしたがって処理されたレンダリングされたグラフィック画像６１７（例えば、完成したフレーム６６０）を表示する。
【００７３】
システム６００は、任意選択で、プログラム及び／またはデータを記憶するためのディスクドライブ、ＣＤ−ＲＯＭドライブ、フラッシュメモリ、テープドライブなどといった大容量記憶装置６１５を含み得る。システム６００はまた、任意選択で、システム６００とユーザの間のインタラクションを促進するためのインターフェースユニット６１８を含み得る。ユーザインターフェース６１８には、キーボード、マウス、ジョイスティック、ライトペン、ゲームコントローラ及び／またはグラフィカルユーザインタフェース（ＧＵＩ）と連携して使用され得る他のデバイス（複数可）が含まれ得る。システム６００はまた、デバイスがネットワーク６２２を通じて他のリモートデバイス６２５と通信することを可能にするためのネットワークインターフェース６２０を含み得る。ネットワーク６２２は、例えば、ローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク、ブルートゥースネットワークなどのパーソナルエリアネットワーク、または他のタイプのネットワークであり得る。これらのコンポーネントは、ハードウェア、ソフトウェア、もしくはファームウェア、またはこれらのうちの２つ以上の何らかの組み合わせで実装され得る。
【００７４】
一部の仮想現実（ＶＲ）アプリケーション、例えばマルチプレーヤオンラインビデオゲームまたは仮想世界は、リモートデバイス６２５の観客が、システム６００のユーザが見ているシーンを視聴することを可能とするＶＲソーシャルスクリーン機能を含む。
【００７５】
ＣＰＵ６０２及びＧＰＵ６０４はそれぞれ、１つまたは複数のプロセッサコア、例えば、単一のコア、２つのコア、４つのコア、８つのコア、またはそれ以上を含み得る。メモリ６０８は、アドレス可能メモリを提供する集積回路、例えば、ＲＡＭ、ＤＲＡＭなどの形式であり得る。メモリ６０８は、グラフィックリソースを格納し得、かつ、グラフィックスレンダリングパイプラインのためのデータのグラフィックバッファ６０５を一時的に格納し得る専用グラフィックメモリ６２８を含み得る。グラフィックバッファ６０５は、例えば、頂点パラメータ値を格納するための頂点バッファＶＢ、頂点インデックスを保持するためのインデックスバッファＩＢ、グラフィックスコンテンツの深度値を格納するための深度バッファ（例えば、Ｚバッファ）ＤＢ、ステンシルバッファＳＢ、ディスプレイに送信される完成したフレームを格納するためのフレームバッファＦＢ、及びその他のバッファを含み得る。図６に示す例では、グラフィックメモリ６２８は、メインメモリの一部として示される。代替の実施形態では、グラフィックメモリ６２８は、別個のハードウェアコンポーネントであり得、場合によってはＧＰＵ６０４に組み込まれる。メモリ６０８（場合によってはグラフィックメモリ６２８）はまた、ポリゴンデータ、中心窩データ、頂点密度データ、ピクセル解像度データ、及びテッセレーションされた頂点データなどを一時的に格納し得る。
【００７６】
限定ではなく例として、ＣＰＵ６０２及びＧＰＵ６０４は、１つまたは複数のバス６０９を介してメモリ６０８にアクセスし得る。場合によっては、システム６００が２つ以上の異なるバスを含むことが有用な場合がある。メモリ６０８は、ＣＰＵ６０２及びＧＰＵ６０４がアクセスすることができるデータを含み得る。ＧＰＵ６０４は、グラフィックス処理タスクを並列に実行するように構成された複数の計算ユニットを含み得る。各計算ユニットは、ローカルデータシェアなどの、それ自体の専用ローカルメモリストアを含み得る。代替として、コンピュータユニットはそれぞれ、メモリ６０８または専用グラフィックメモリ６２８にアクセスし得る。
【００７７】
ＣＰＵは、グラフィック、コンパイラ及びグラフィックＡＰＩを利用するアプリケーションを含み得るＣＰＵコード６０３を実行するように構成され得る。ＣＰＵコード６０３はまた、視線追跡及び画像領域調整を実装し得る。グラフィックＡＰＩは、ＧＰＵ６０４によって実装されたプログラムに描画コマンドを発行するように構成することができる。ＣＰＵコード６０３はまた、物理シミュレーション及び他の機能を実装し得る。ＧＰＵ６０４は、上述のように動作するように構成され得る。さらに、ＧＰＵコード６０７はまた、計算シェーダＣＳ、頂点シェーダＶＳ、及びピクセルシェーダＰＳなどの周知のシェーダを実装し得る。計算シェーダＣＳと頂点シェーダＶＳの間のデータの受け渡しを容易にするために、システムは、フレームバッファＦＢを含み得る１つまたは複数のバッファ６０５を含み得る。ＧＰＵコード６０７はまた、任意選択で、ピクセルシェーダまたはジオメトリシェーダなどの他のタイプのシェーダ（図示せず）を実装し得る。各計算ユニットは、ローカルデータシェアなどの、それ自体の専用ローカルメモリストアを含み得る。ＧＰＵ６０４は、グラフィックスパイプラインの一部としてプリミティブにテクスチャを適用するための特定の動作を実行するように構成された１つまたは複数のテクスチャユニット６０６を含み得る。
【００７８】
本開示の特定の態様によれば、ＣＰＵコード６０３及びＧＰＵコード６０７及びシステム６００の他の要素は、ＧＰＵ６０４がポリゴンデータを受信し得るグラフィックスパイプラインを実装するように構成される。ポリゴンデータは、ＣＰＵ６０２によるＣＰＵコード６０３の実行によって実装される計算、例えば、３次元仮想空間におけるオブジェクトの物理シミュレーションから生成することができる。ＧＰＵ６０４は、ディスプレイデバイス６１６の画面空間へのポリゴン頂点の投影、及び結果的に投影されたポリゴンのテッセレーションを実行する。ＧＰＵ６０４は、頂点の密度が画面空間の選択された部分でより高く、残りの部分でより低くなるように、画像データ及び頂点密度データにしたがってポリゴンのテッセレーションにおける頂点の密度を調整し得る。代替として、ＧＰＵ６０４は、ピクセル解像度が画面空間における選択された関心領域でより高く、残りの部分でより低くなるように、画像データ及びピクセル解像度データにしたがって、ディスプレイ上に提示される画像の部分のピクセル解像度を調整し得る。一部の実施形態では、ＧＰＵ６０４は、頂点密度及びピクセル解像度が画面空間における選択された関心領域でより高く、残りの部分でより低くなるように、画像データ、頂点密度データ及びピクセル解像度データにしたがって、頂点密度及びピクセル解像度の両方を調整し得る。
【００７９】
次に、ＧＰＵ６０４は、頂点に対してプリミティブアセンブリを実行して、画面空間への頂点の投影から画面空間に１つまたは複数のプリミティブを生成し得る。次に、１つまたは複数のプリミティブに対してスキャン変換を実行して、画面空間のどのピクセルが、対応するプリミティブの一部であるかを判定し得る。次に、ＧＰＵ６０４は、対応するプリミティブの一部である１つまたは複数のピクセルにピクセル値を割り当てるピクセル処理を実行することによって、完成したフレームを生成し得る。完成したフレームは、メモリ６０８もしくはグラフィックメモリ６２８（例えば、フレームバッファＦＢ）に格納、または、ディスプレイデバイス６１６に表示することができる。
【００８０】
画面空間及びグラフィックスパイプラインの他の関連部分へのポリゴン頂点の投影は、ソフトウェアで、例えば計算シェーダＣＳとして実装されたフロントエンドによって実行することができる。代替として、画面空間及びグラフィックスパイプラインの他の関連部分への頂点の投影は、これらの機能を実装するように構成された特別に設計されたハードウェアコンポーネントＨＷによって実装することができる。
【００８１】
本開示の態様はまた、画像データ及び／または頂点密度データ及び／またはピクセル解像度データが動的に調整される実施形態も含む。そのような実施形態では、システム６００は、ユーザの視線、すなわち、ユーザの目が指している場所を追跡し、この情報を、例えば上述かつ以下でさらに説明するように、ユーザが見ている対応する画面位置に関連付けるためのハードウェアを含む。そのようなハードウェアの一例には、ディスプレイデバイス６１６の画面に対して既知の場所にあり、かつ、ユーザの一般的な方向に向けられたデジタルカメラが含まれ得る。デジタルカメラは、ユーザインターフェース６１８の一部または別個のコンポーネントであり得る。ＣＰＵコード６０３は、カメラからの画像を分析して（ａ）ユーザが画像内にいるかどうか、（ｂ）ユーザがカメラを向いているかどうか、（ｃ）ユーザが画面を向いているかどうか、（ｄ）ユーザの目が可視であるかどうか、（ｅ）ユーザの頭部に対してのユーザの目の瞳孔の向き、及び（ｆ）カメラに対してのユーザの頭部の向きを判定する画像分析ソフトウェアを含み得る。画面に対してのカメラの既知の位置及び向きと、ユーザの頭部に対してのユーザの目の瞳孔の向きと、カメラに対してのユーザの頭部の向きとから、画像分析ソフトウェアは、ユーザが画面を見ているかどうかを判定し得、ユーザが画面を見ている場合は、ユーザが見ている画面の部分の画面空間座標を判定し得る。次に、ＣＰＵコード６０３は、これらの画面座標をＧＰＵコード６０７に渡し得、ＧＰＵコード６０７は、１つまたは複数の関心領域に対応する１つまたは複数のサブセクションを判定し得る。次に、ＧＰＵコード６０７は、それに応じて、頂点及びまたはピクセル解像度の調整を修正することができる。
【００８２】
限定ではなく例として、専用設計されたハードウェア、テクスチャユニット（複数可）６０６、特定のタイプのシェーダ、及び以下で説明するグラフィックスパイプラインの他の部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはシステムオンチップ（ＳｏＣまたはＳＯＣ）などの特殊目的のハードウェアによって実装され得る。
【００８３】
本明細書中で使用され、かつ、当業者によって一般に理解されるように、特定用途向け集積回路（ＡＳＩＣ）は、汎用用途向けではなく、特定の用途向けにカスタマイズされた集積回路である。
【００８４】
本明細書中で使用され、かつ、当業者によって一般に理解されるように、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）は、製造後に顧客または設計者によって構成されるように設計された―したがって「フィールドプログラマブル」な集積回路である。ＦＰＧＡ構成は一般に、ＡＳＩＣに使用されるものと同様のハードウェア記述言語（ＨＤＬ）を使用して指定される。
【００８５】
本明細書中で使用され、かつ、当業者によって一般に理解されるように、チップ上のシステムすなわちシステムオンチップ（ＳｏＣまたはＳＯＣ）は、コンピュータまたは他の電子システムのすべてのコンポーネントを単一のチップに統合する集積回路（ＩＣ）である。これは、デジタル、アナログ、混合信号、及び多くの場合無線周波数の機能―すべてを単一のチップ基板上に含み得る。典型的な用途は、組み込みシステムの分野にある。
【００８６】
典型的なＳｏＣは、以下のハードウェアコンポーネント：１つまたは複数のプロセッサコア（例えば、マイクロコントローラ、マイクロプロセッサ、またはデジタルシグナルプロセッサ（ＤＳＰ）コア）；メモリブロック、例えば、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、電気的に消去可能なプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）及びフラッシュメモリ；発振器またはフェーズロックループなどのタイミングソース；カウンタータイマー、リアルタイムタイマーまたはパワーオンリセットジェネレータなどの周辺機器；外部インターフェース、例えば、ユニバーサルシリアルバス（ＵＳＢ）、ＦｉｒｅＷｉｒｅ、イーサネット、ユニバーサル非同期受信機／送信機 （ＵＳＡＲＴ）、シリアルペリフェラルインターフェース（ＳＰＩ）バスなどの業界標準；アナログデジタルコンバータ（ＡＤＣ）及びデジタルアナログコンバータ（ＤＡＣ）を含むアナログインターフェース；ならびに電圧レギュレータ及び電源管理回路を含み得る。
【００８７】
これらのコンポーネントは、独自バスまたは業界標準バスのいずれかによって接続されている。ダイレクトメモリアクセス（ＤＭＡ）コントローラは、外部インターフェースとメモリの間でデータを直接ルーティングし、プロセッサコアをバイパスすることで、ＳｏＣのデータスループットを向上させる。
【００８８】
典型的なＳｏＣは、上記のハードウェアコンポーネントと、プロセッサコア（複数可）、周辺機器及びインターフェースを制御する実行可能命令（例えばソフトウェアまたはファームウェア）との両方を含む。
【００８９】
一部の実施形態では、グラフィックスパイプラインの一部の機能の一部またはすべては、代替として、例えばＧＰＵ６０４によって実行される計算シェーダＣＳとして、ソフトウェアプログラマブル汎用コンピュータプロセッサによって実行される適切に構成されたソフトウェア命令によって実装され得る。そのような命令は、コンピュータ可読媒体、例えば、メモリ６０８、グラフィックメモリ６２８、または記憶装置６１５で具現化され得る。
【００９０】
本明細書では、ヘッドマウントディスプレイ（ＨＭＤ）用途に関して例が説明されているが、本開示の態様は、そうした実施形態に限定されない。ＨＭＤの実施形態は、ユーザの目とディスプレイ画面の相対的な位置がおおむね固定されたままであるので、比較的単純な実施形態を表す。しかしながら、原則として、開示されたシステム及び方法は、視線追跡を用いて機能することができる任意の画像表示システムに適合させられ得る。視線追跡システムは、これらが固定されていない実施形態において、ディスプレイ画面に対してのユーザの頭部及び目（複数可）の位置及び向きを追跡するように修正され得る。
【００９１】
説明は特定の実施形態に関して記載されてきたが、これらの特定の実施形態は単なる例示であり、限定的ではない。例に示されている概念は、他の例及び実施形態に適用され得る。
【００９２】
様々な実施形態では、ソフトウェアは、１つまたは複数のプロセッサによる実行のために、１つまたは複数の非一時的なコンピュータ可読媒体でエンコードされる。ソフトウェアは、１つまたは複数のプロセッサによって実行されると、本明細書で説明される実施形態及び他の機能を実行するように動作可能である。
【００９３】
特定の実施形態のルーチンを実装するのに、Ｃ、Ｃ＋＋、Ｊａｖａ、アセンブリ言語などを含む任意の適切なプログラミング言語を使用することができる。手続き型言語またはオブジェクト指向言語などのさまざまなプログラミング技術を用いることができる。ルーチンは、単一の処理デバイスまたは複数のプロセッサ上で実行することができる。ステップ、動作、または計算は特定の順序で提示され得るが、様々な特定の実施形態においてこの順序は変更されてもよい。一部の特定の実施形態では、本明細書で順次的に示されている複数のステップを同時に実行することができる。
【００９４】
特定の実施形態は、命令実行システム、装置、もしくはデバイスによってまたはこれらと関連して使用するための非一時的なコンピュータ可読記憶媒体（機械可読記憶媒体とも称される）に実装され得る。特定の実施形態は、ソフトウェアまたはハードウェアまたは両方の組み合わせにおける制御ロジックの形で実装することができる。制御ロジックは、１つまたは複数のプロセッサによって実行されると、本明細書中で説明される実施形態及び他の機能を実行するように動作可能である。例えば、ハードウェア記憶装置などの有形の媒体を使用して、実行可能命令を含み得る制御ロジックを格納することができる。
【００９５】
特定の実施形態は、プログラム可能な汎用デジタルコンピュータを使用することによって、かつ／または、特定用途向け集積回路、プログラム可能なロジックデバイス、フィールドプログラマブルゲートアレイ、光学、化学、生物学、量子もしくはナノ工学システム、コンポーネント、及びメカニズムを使用することによって実装され得る。一般に、特定の実施形態の機能は、当技術分野で知られている任意の手段によって達成することができる。分散、ネットワーク化システム、コンポーネント、及び／または回路を使用することができる。データの通信または転送は、有線、無線、または任意の他の手段によるものとし得る。
【００９６】
「プロセッサ」は、任意の適切なハードウェア及び／もしくはソフトウェアシステム、機構、またはデータ、信号、もしくは他の情報を処理するコンポーネントを含み得る。プロセッサは、汎用中央処理装置、複数の処理装置、機能を実現するための専用回路、または他のシステムを備えるシステムを含み得る。処理は地理的な場所に限定される必要はなく、または時間的な制限を有する必要もない。例えば、プロセッサは、その機能を「リアルタイム」、「オフライン」、「バッチモード」などで実行し得る。処理の一部は、異なる（または同一の）処理システムによって、異なる時間かつ異なる場所で実行され得る。コンピュータは、メモリと通信する任意のプロセッサであり得る。メモリは、任意の適切なデータストレージ、メモリ、及び／または、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、磁気ストレージデバイス（ハードディスクドライブなど）、フラッシュ、光学ストレージデバイス（ＣＤ、ＤＶＤなど）、磁気もしくは光ディスク、またはプロセッサによる実行のための命令（例えば、プログラムまたはソフトウェア命令）を格納するのに適した他の有形の媒体などの電子記憶装置を含む非一時的なコンピュータ可読記憶媒体であり得る。例えば、ハードウェア記憶装置などの有形の媒体を使用して、実行可能命令を含み得る制御ロジックを格納することができる。命令はまた、例えば、サーバー（例えば、分散システム及び／またはクラウドコンピューティングシステム）から配信されるサービスとしてのソフトウェア（ＳａａＳ）の形で、電子信号として含まれ、提供され得る。
【００９７】
また、図面／図に示されている要素の１つまたは複数は、特定の用途にしたがって有用なように、特定のケースでは、より分離または統合されて実装したり、または削除もしくは操作不能にしたりすることすらできることも理解されよう。コンピュータが上記の方法のいずれかを実行することを可能にするため機械可読媒体に格納することができるプログラムまたはコードを実装することも、趣旨及び範囲内にある。
【００９８】
本明細書中の説明において、かつ下記の特許請求の範囲にわたって用いられる「ａ」、「ａｎ」及び「ｔｈｅ」は、文脈が別途明確に指示しない限り、複数の指示対象を含む。本明細書の説明において、かつ下記の特許請求の範囲にわたって用いられる「ｉｎ」の意味は、文脈が別途明確に指示しない限り、「ｉｎ」及び「ｏｎ」を含む。
【００９９】
したがって、本明細書中では特定の実施形態について説明したが、修正の幅、さまざまな変更、及び置換が前述の開示で意図されており、場合によっては、特定の実施形態のいくつかの機能が、上記の範囲及び趣旨から逸脱することなく、他の機能の対応した使用なしに用いられることが理解されよう。したがって、特定の状況または材料を本質的な範囲及び趣旨に適合させるのに、多くの変更を加え得る。
【図１】
2021513154.tif 000003
【図２】
2021513154.tif 000004
【図３】
2021513154.tif 000005
【図４】
2021513154.tif 000006
【図５】
2021513154.tif 000007
【図６】
2021513154.tif 000008
【国際調査報告】
2021513154.tif 000009