IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

<>
  • 特許-視標追跡システムの画像調整 図1
  • 特許-視標追跡システムの画像調整 図2
  • 特許-視標追跡システムの画像調整 図3
  • 特許-視標追跡システムの画像調整 図4
  • 特許-視標追跡システムの画像調整 図5
  • 特許-視標追跡システムの画像調整 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-28
(45)【発行日】2022-01-20
(54)【発明の名称】視標追跡システムの画像調整
(51)【国際特許分類】
   G06F 3/01 20060101AFI20220113BHJP
   G06F 3/0346 20130101ALI20220113BHJP
   G09G 5/00 20060101ALI20220113BHJP
   G09G 5/10 20060101ALI20220113BHJP
【FI】
G06F3/01 510
G06F3/0346 423
G09G5/00 550C
G09G5/10 B
G09G5/00 510A
G09G5/00 550B
【請求項の数】 18
(21)【出願番号】P 2020541913
(86)(22)【出願日】2019-01-28
(65)【公表番号】
(43)【公表日】2021-05-20
(86)【国際出願番号】 US2019015379
(87)【国際公開番号】W WO2019152306
(87)【国際公開日】2019-08-08
【審査請求日】2020-07-31
(31)【優先権主張番号】15/885,176
(32)【優先日】2018-01-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100092093
【弁理士】
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(72)【発明者】
【氏名】ノーデン クリス
【審査官】岩橋 龍太郎
(56)【参考文献】
【文献】特開2017-224141(JP,A)
【文献】特開2012-239550(JP,A)
【文献】特開2012-103840(JP,A)
【文献】特開2008-067218(JP,A)
【文献】特開2019-008041(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048-3/0489
G06F 3/033-3/038
G09G 5/00- 5/40
A61B 3/00- 3/18
(57)【特許請求の範囲】
【請求項1】
コンピュータで行う方法であって、
ユーザに1つまたは複数の画像を提示することと;
前記ユーザに提示された前記1つまたは複数の画像に関する前記ユーザの視線に関する視線追跡データを取得することと;
前記視線追跡データから1つまたは複数の第1の視線特性を検出することであって、前記1つまたは複数の第1の視線特性は、前記ユーザの前記視線の第1の状態を示し、前記ユーザの前記視線の前記第1の状態は目を細めている状態である、前記検出することと;
前記ユーザの少なくとも1つの目における角膜反射値を測定することと;
前記角膜反射の測定から角膜反射値に基づいて目を細めている値を生成することであって、目を細めている値は角膜反射値に反比例するとともに角膜反射値の低下に基づくものであり、目を細めている値は、目を細めている状態に関連する目を細めている量を表す、目を細めている値を生成することと;及び
前記ユーザに提示された前記1つまたは複数の画像の少なくとも一部の輝度を、前記目を細めている値に基づいて低下させることであって、輝度の低下の量は前記目を細めている値に比例し、前記1つまたは複数の画像の少なくとも一部は前記1つまたは複数の画像のサブセクションである、前記低下させることと、
を含む、前記方法。
【請求項2】
前記1つまたは複数の画像が、ヘッドマウントディスプレイのディスプレイデバイスによって前記ユーザに提示される、請求項1に記載の方法。
【請求項3】
前記視線追跡データの前記取得が、ヘッドマウントディスプレイで実行される、請求項1に記載の方法。
【請求項4】
前記視線追跡データの前記取得が、ヘッドマウントディスプレイの視標追跡デバイスによって実行される、請求項1に記載の方法。
【請求項5】
前記視線追跡データの前記取得が、ヘッドマウントディスプレイの内蔵カメラを用いて実行される、請求項1に記載の方法。
【請求項6】
前記視線追跡データが、前記ユーザの少なくとも片方の目の角膜からの光の反射量を備える、請求項1に記載の方法。
【請求項7】
前記1つまたは複数の第1の視線特性が、目を細めている量を示す、請求項1に記載の方法。
【請求項8】
前記1つまたは複数の第1の視線特性を検出することが、前記ユーザの少なくとも片方の目において消失しているいくつかの輝きを判定することを備える、請求項1に記載の方法。
【請求項9】
目を細めている値を生成することをさらに含み、前記目を細めている値は、前記ユーザの少なくとも片方の目に関連する角膜反射値の低下に基づく、請求項1に記載の方法。
【請求項10】
前記1つまたは複数の第1の視線特性が、前記ユーザの少なくとも片方の目に関連する角膜反射値の変化を備える、請求項1に記載の方法。
【請求項11】
前記1つまたは複数の第1の視線特性が、前記ユーザの少なくとも片方の目に関連する角膜反射値の低下を備える、請求項1に記載の方法。
【請求項12】
所定の期間にわたって前記1つまたは複数の画像の前記輝度を低下させることをさらに含む、請求項1に記載の方法。
【請求項13】
前記1つまたは複数の画像の前記輝度を、1つまたは複数の第2の視線特性に基づく所定の速度で増大させることをさらに含む、請求項1に記載の方法。
【請求項14】
前記1つまたは複数の画像の前記輝度を、1つまたは複数の第2の視線特性に基づいて復元することをさらに含む、請求項1に記載の方法。
【請求項15】
前記1つまたは複数の画像の前記輝度を、ユーザの視線の前記第1の状態の変化に基づいて復元することをさらに含む、請求項1に記載の方法。
【請求項16】
前記ユーザの視線がユーザの視線の前記第1の状態からユーザの視線の第2の状態に変化したときに、前記1つまたは複数の画像の前記輝度を復元することをさらに含み、ユーザの視線の前記第2の状態は、目を細めていない状態である、請求項1に記載の方法。
【請求項17】
プログラム命令がその上に格納された非一時的なコンピュータ可読記憶媒体であって、前記プログラム命令は、1つまたは複数のプロセッサによって実行されると、
ユーザに1つまたは複数の画像を提示すること;
前記ユーザに提示された前記1つまたは複数の画像に関する前記ユーザの視線に関する視線追跡データを取得すること;
前記視線追跡データから1つまたは複数の第1の視線特性を検出することであって、前記1つまたは複数の第1の視線特性は、前記ユーザの前記視線の第1の状態を示し、前記ユーザの前記視線の前記第1の状態は目を細めている状態である、前記検出すること;
前記ユーザの少なくとも1つの目における角膜反射値を測定すること;
前記角膜反射の測定から角膜反射値に基づいて目を細めている値を生成することであって、目を細めている値は角膜反射値に反比例するとともに角膜反射値の低下に基づくものであり、目を細めている値は、目を細めている状態に関連する目を細めている量を表す、前記目を細めている値を生成すること;及び、
前記ユーザに提示された前記1つまたは複数の画像の少なくとも一部の輝度を、前記目を細めている値に基づいて低下させることであって、輝度の低下の量は前記目を細めている値に比例し、前記1つまたは複数の画像の少なくとも一部は前記1つまたは複数の画像のサブセクションである、前記低下させること、
を備える動作を実行するように動作可能である、前記非一時的なコンピュータ可読記憶媒体。
【請求項18】
1つまたは複数のプロセッサと;
前記1つまたは複数のプロセッサによる実行のために1つまたは複数の非一時的なコンピュータ可読記憶媒体で符号化され、かつ、実行されると、
ユーザに1つまたは複数の画像を提示すること;
前記ユーザに提示された前記1つまたは複数の画像に関する前記ユーザの視線に関する視線追跡データを取得すること;
前記視線追跡データから1つまたは複数の第1の視線特性を検出することであって、前記1つまたは複数の第1の視線特性は、前記ユーザの前記視線の第1の状態を示し、前記ユーザの前記視線の前記第1の状態は目を細めている状態である、前記検出すること;
前記ユーザの少なくとも1つの目における角膜反射値を測定すること;
前記角膜反射の測定から角膜反射値に基づいて目を細めている値を生成することであって、目を細めている値は角膜反射値に反比例するとともに角膜反射値の低下に基づくものであり、目を細めている値は、目を細めている状態に関連する目を細めている量を表す、前記目を細めている値を生成すること;及び、
前記ユーザに提示された前記1つまたは複数の画像の少なくとも一部の輝度を、前記目を細めている値に基づいて低下させることであって、輝度の低下の量は前記目を細めている値に比例し、前記1つまたは複数の画像の少なくとも一部は前記1つまたは複数の画像のサブセクションである、前記低下させること、
を備える動作を実行するように動作可能であるロジックとを備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、あらゆる目的のために本出願に完全に記載されているかのように参照により本明細書に援用される、2018年1月31日に出願された、視標追跡システムの画像調整と題された米国特許出願第15/885,176号の優先権を主張する。
【背景技術】
【0002】
ヘッドマウントディスプレイ(HMD)デバイスは、ユーザの頭部に装着されるグラフィックディスプレイデバイスである。HMDは、通常、片方の目またはそれぞれの目の前にあるディスプレイ光学系を使用することで、ユーザに広い視野を提供する。一部の視標追跡システムでは、目を細めることにより、視標追跡を精度低下させる、または、完全に失敗させることがある。これは、視標追跡システムが、目の領域(すなわち眼球)から反射した、光源からの「輝き」または特定の光反射に依存している場合に起こり得る。輝きは、検出され、目の位置を解釈するのに用いることができる。ユーザが目を細めると、まぶた、眼窩底などといった周囲の皮膚によって目がより多く覆われ、輝きの1つ以上が、遮られ得、または、検出器もしくはセンサへ反射し返すことが妨げられ得る。
【発明の概要】
【0003】
実施形態は、一般に、視標追跡システムにおける画像の調整に関する。ヘッドマウントディスプレイ(HMD)デバイスなどの環境において、システムは、ユーザが目を細めていることを検出した場合、ユーザに提示された1つまたは複数の画像の少なくとも一部の輝度を動的に低下させる。輝度の低下は、ユーザの目に、目を細めることをやめるよう働きかけ、その後、システムは、輝度を復元する。
【0004】
一部の実施形態では、方法は、1つまたは複数の画像をユーザに提示することを含む。この方法はさらに、ユーザに提示された1つまたは複数の画像に関するユーザの視線に関する視線追跡データを取得することを含む。この方法はさらに、視線追跡データから1つまたは複数の第1の視線特性を検出することを含み、1つまたは複数の第1の視線特性は、ユーザの視線の第1の状態を示す。この方法はさらに、ユーザに提示された1つまたは複数の画像の少なくとも一部の輝度を、1つまたは複数の第1の視線特性に基づいて低下させることを含む。
【0005】
さらにこの方法に関して、一部の実施形態では、1つまたは複数の画像は、ヘッドマウントディスプレイのディスプレイデバイスによってユーザに提示される。一部の実施形態では、視線追跡データの取得は、ヘッドマウントディスプレイで実行される。一部の実施形態では、視線追跡データの取得は、ヘッドマウントディスプレイの視標追跡デバイスによって実行される。一部の実施形態では、視線追跡データの取得は、ヘッドマウントディスプレイの内蔵カメラを用いて実行される。一部の実施形態では、視線追跡データは、ユーザの少なくとも片方の目の角膜からの光の反射量を備える。一部の実施形態では、ユーザの視線の第1の状態は、目を細めている状態である。一部の実施形態では、1つまたは複数の第1の視線特性は、目を細めている量を示す。一部の実施形態では、1つまたは複数の第1の視線特性を検出することは、ユーザの少なくとも片方の目において消失しているいくつかの輝きを判定することを備える。一部の実施形態では、この方法はさらに、目を細めている値を生成することを含み、目を細めている値は、目を細めている量を表す。一部の実施形態では、この方法はさらに、目を細めている値を生成することを含み、目を細めている値は、ユーザの少なくとも片方の目に関連する角膜反射値の低下に基づく。一部の実施形態では、1つまたは複数の第1の視線特性は、ユーザの少なくとも片方の目に関連する角膜反射値の変化を備える。一部の実施形態では、1つまたは複数の第1の視線特性は、ユーザの少なくとも片方の目に関連する角膜反射値の低下を備える。一部の実施形態では、この方法はさらに、所定の期間にわたって1つまたは複数の画像の輝度を低下させることを含む。一部の実施形態では、この方法はさらに、1つまたは複数の画像の輝度を、第1の視線特性に基づいて低下させることを含む。一部の実施形態では、この方法はさらに、1つまたは複数の画像の輝度を、1つまたは複数の第2の視線特性に基づいて復元することを含む。一部の実施形態では、この方法はさらに、1つまたは複数の画像の輝度を、第1の状態の変化に基づいて復元することを含む。一部の実施形態では、この方法はさらに、ユーザの視線が第1の状態から第2の状態に変化したときに、1つまたは複数の画像の輝度を復元することを含む。第2の状態は、目を細めていない状態である。
【0006】
一部の実施形態では、プログラム命令をその上に有する非一時的なコンピュータ可読記憶媒体が提供される。1つまたは複数のプロセッサによって実行されると、命令は、1つまたは複数の画像をユーザに提示すること;ユーザに提示された1つまたは複数の画像に関するユーザの視線に関する視線追跡データを取得すること;視線追跡データから1つまたは複数の第1の視線特性を検出することであって、1つまたは複数の第1の視線特性は、ユーザの視線の第1の状態を示す、検出すること;及び、1つまたは複数の第1の視線特性に基づいて、ユーザに提示された1つまたは複数の画像の少なくとも一部の輝度を低下させることを含む動作を実行するように動作可能である。
【0007】
一部の実施形態では、システムは、1つまたは複数のプロセッサを含み、かつ、1つまたは複数のプロセッサによる実行のための1つまたは複数の非一時的なコンピュータ可読記憶媒体にエンコードされたロジックを含む。実行されると、ロジックは、1つまたは複数の画像をユーザに提示すること;ユーザに提示された1つまたは複数の画像に関するユーザの視線に関する視線追跡データを取得すること;視線追跡データから1つまたは複数の第1の視線特性を検出することであって、1つまたは複数の第1の視線特性は、ユーザの視線の第1の状態を示す、検出すること;及び、1つまたは複数の第1の視線特性に基づいて、ユーザに提示された1つまたは複数の画像の少なくとも一部の輝度を低下させることを含む動作を実行するように動作可能である。
【0008】
本明細書中に開示された特定の実施形態の性質及び利点のさらなる理解は、明細書の残りの部分及び添付の図面を参照することによって実現され得る。
【図面の簡単な説明】
【0009】
図1】本明細書中で説明される実施形態に使用され得る視線追跡システムを示す図である。
図2】本明細書中で説明される実施形態に使用され得るユーザの目及びディスプレイデバイスを示す図である。
図3】本明細書中で説明される実施形態に使用され得る視標追跡システムを示すブロック図である。
図4】一部の実施形態による、視標追跡システムにおいて画像を調整するための例示的なフロー図である。
図5】一部の実施形態による、ユーザに提示された1つまたは複数の画像の輝度レベルを低下させるための例示的なフロー図である。
図6】本明細書中で説明される実施形態に使用され得るグラフィックス処理システムのブロック図である。
【発明を実施するための形態】
【0010】
本明細書中に記載される実施形態は、一般に、視標追跡システムにおける画像の調整に関する。ヘッドマウントディスプレイ(HMD)デバイスなどの環境において、システムは、ユーザが目を細めていることを検出した場合、ユーザに提示された1つまたは複数の画像の少なくとも一部の輝度を動的に低下させる。輝度の低下は、ユーザの目に、目を細めることをやめるよう促し、その後、システムは輝度を復元する。
【0011】
バーチャルリアリティ(VR)などのアプリケーションで視標追跡を用いる場合、瞬きするまたは目を細めるなどの一部のユーザ動作により、レンダリングにエラーが発生し得る。これは、視標追跡ハードウェアが目の輝きを確実に確認できないことによる。本明細書中でより詳細に説明されるように、システムは、目を細めていることを検出すると、画面の輝度を動的に下げる。こうすると光出力が低下するので、ユーザは目を再び開くはずである。これにより、視標追跡の適切な再開が可能となる。このようにして、目を細めていることの検出に応じて画面の輝度を調節することによって、これらエラーの一部は解消され得る。
【0012】
一部の実施形態では、システムは、1つまたは複数の画像をユーザに提示する。このシステムはさらに、ユーザに提示された1つまたは複数の画像に関するユーザの視線に関する視線追跡データを取得する。このシステムはさらに、視線追跡データから1つまたは複数の第1の視線特性を検出する。1つまたは複数の第1の視線特性は、ユーザの視線の第1の状態(例えば、目を細めている状態)を示す。このシステムは次いで、ユーザに提示された1つまたは複数の画像の少なくとも一部の輝度を、1つまたは複数の第1の視線特性に基づいて低下させる。このシステムは次いで、1つまたは複数の画像の輝度を、1つまたは複数の第2の視線特性に基づいて復元する。1つまたは複数の第2の視線特性は、ユーザの視線の第2の状態(例えば、目を細めていない状態)を示す。
【0013】
本明細書中で開示される実施形態は、ヘッドマウントデバイスの文脈で説明されるが、実施形態は、ユーザに広い視野を提供する他のグラフィック表示技術にも適用され得る。例えば、実施形態は眼鏡に適用され得る。実施形態は、外部の投影デバイスまたはシステムなどといった、ユーザの頭部に物理的に装着されてもよいまたはされなくてもよい技術に適用され得る。
【0014】
特定の実施形態は、中心窩レンダリングなどの画像レンダリング用途に関連し得るが、本明細書中で説明される機能は、視標追跡が有用または望ましい任意のシステムまたは状況に適用することができる。
【0015】
以下に、本明細書中で説明される実施形態の文脈内で視線追跡を説明する。視線追跡は、医学研究、自動車技術、コンピュータエンターテインメント及びビデオゲームプログラム、VRアプリケーション、制御入力デバイス、拡張現実眼鏡などを含む幅広い用途で用いられる。視線追跡としても知られる視標追跡にはいくつかの技術が存在する。これら技術の一部は、ユーザの目の瞳孔の向きからユーザの視線方向を判定する。一部の既知の視線追跡技術は、1つまたは複数の光源から光を放出することによって目を照らすことと、放出された光の角膜からの反射をセンサを用いて検出することとを含む。通常、これは、赤外領域の不可視光源を用い、照らされた目の画像データ(例えば、画像または動画)を赤外線感知カメラを用いてキャプチャすることで達成される。次に、画像処理アルゴリズムを用いて画像データを分析し、視線方向を判定する。一部の実施形態は赤外光を使用するものとして説明されているが、これらの実施形態及び他の実施形態は、反射を生成するのに、任意の可視光または不可視光を使用し得る。
【0016】
一般に、視標追跡画像分析は、光が目からどのように反射されるかに特有の特性を利用して、画像から視線方向を判定する。例えば、画像を分析して、画像データにおける角膜反射に基づいて目の位置を特定し得、さらに画像を分析して、画像における瞳孔の相対位置に基づいて視線方向を判定し得る。
【0017】
瞳孔の位置に基づいて視線方向を判定する2つの一般的な視線追跡技術は、明瞳孔法と暗瞳孔法として知られている。明瞳孔法は、カメラの光軸と実質的に一致する光源で目を照らすことを含み、これは、放出された光を網膜に反射させ、瞳孔を通してカメラに戻す。瞳孔は、従来のフラッシュ撮影中に画像に発生する赤目効果と同様に、瞳孔の位置に識別可能な明るいスポットとして画像に現れる。この視線追跡の方法では、瞳孔と虹彩のコントラストが十分でない場合に、瞳孔自体からの明るい反射が、システムが瞳孔を位置付けることを助ける。
【0018】
暗瞳孔法は、カメラの光軸から実質的にずれている光源を用いて照らすことを含み、これは、瞳孔を通して方向付けられた光を、カメラの光軸から離れる方に反射させ、その結果、瞳孔の位置において、画像に特定可能な暗いスポットを生じさせる。別の暗瞳孔法システムでは、目に向けられた赤外光源及びカメラは、角膜反射を見ることができる。このようなカメラベースのシステムは、瞳孔及び角膜の反射の位置を追跡し、これにより、反射の深さが異なるため視差が得られ、精度を向上させる。
【0019】
図1は、本明細書中で説明される実施形態に使用され得る視線追跡システム100を示す図である。様々な実施形態では、視線追跡システム100は、暗瞳孔視線追跡システムであり得る。視線追跡システムは、可視画像が提示されるディスプレイ画面101に対するユーザの目Eの向きを追跡する。
【0020】
例示的なシステム100ではディスプレイ画面が利用されるが、特定の代替の実施形態は、ユーザの目に直接画像を投影することができる画像投影システムを利用し得る。これらの実施形態では、ユーザの目Eは、ユーザの目に投影された画像に対して追跡される。この例では、目Eは、画面101から可変虹彩Iを介して光を集め;レンズLは、網膜Rに画像を投影する。虹彩の開口部は、瞳孔として知られている。筋肉は、脳からの神経インパルスに応答して目Eの回転を制御する。上まぶた及び下まぶたの筋肉ULM、LLMは、それぞれ、他の神経インパルスに応答して、上まぶた及び下まぶたUL、LLを制御する。
【0021】
網膜R上の感光性細胞は、視神経ONを介してユーザの脳(図示せず)に送られる電気インパルスを生成する。脳の視覚野は、インパルスを解釈する。網膜Rのすべての部分に同等な感光性があるわけではない。具体的には、感光性細胞は、中心窩として知られている領域に集中している。
【0022】
図示の画像追跡システムは、1つまたは複数の赤外光源102、例えば、非可視光(例えば、赤外光)を目Eに向ける発光ダイオード(LED)を含む。非可視光の一部は目の角膜Cに反射し、一部は虹彩に反射する。反射した非可視光は、波長選択ミラー106によって、画像センサ(例えば、赤外線カメラ)などの適切なセンサ104に向けられる。ミラーは、画面101からの可視光は透過するが、目から反射した非可視光は反射する。
【0023】
センサ104は、画像センサ、例えば、瞳孔の相対位置から視線方向GDを判定するために分析され得る目Eの画像を生成することができるデジタルカメラであることが好ましい。この画像は、ローカルプロセッサ120を用いて、または、取得された視線追跡データをリモートコンピューティングデバイス160に送信することによって生成され得る。ローカルプロセッサ120は、例えば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサコプロセッサ、セルプロセッサなどといった周知のアーキテクチャに従って構成され得る。画像追跡データは、有線接続(図示せず)を介してセンサ104とリモートコンピューティングデバイス160の間で、または、視標追跡デバイスに含まれる無線トランシーバ125とリモートコンピューティングデバイス160に含まれる第2の無線トランシーバ126の間でワイヤレスに送信され得る。無線トランシーバは、ローカルエリアネットワーク(LAN)またはパーソナルエリアネットワーク(PAN)を、適切なネットワークプロトコル、例えばPANの場合ブルートゥース(登録商標)を介して実装するように構成され得る。
【0024】
視線追跡システム100はまた、例えば、目Eの上かつ下にそれぞれ配置されるように構成された上部センサ108及び下部センサ109を含み得る。センサ108及び109は、独立した構成要素であってもよく、または代替として、以下に限定するものではないが、センサ104、ローカルプロセッサ120、もしくは以下に記載される慣性センサ115の任意の組み合わせを含み得る、ユーザの頭部に装着される構成要素110の一部であってもよい。例示的なシステム100では、センサ108及び109は、目Eを囲む領域から神経系の電気インパルスならびに/または筋肉系の運動及び/または振動に関するデータを収集することができる。このデータには、例えば、上部センサ108及び下部センサ109によってモニタリングされる、目Eを囲む筋肉及び/または神経の電気生理学的かつ/または振動情報が含まれ得る。センサ108及び109によって収集された電気生理学的情報には、例えば、脳波記録(EEG)、筋電図記録(EMG)、または目Eの周りの領域(複数可)における神経機能を受けて収集された誘発電位情報が含まれ得る。センサ108及び109はまた、例えば、目Eを囲む筋肉の筋肉振動またはけいれんを検出した結果として、筋音図または表面筋電図情報を収集することが可能であり得る。センサ108及び109によって収集されたデータは、上述のようなローカルプロセッサ120及び/またはリモートコンピューティングデバイス160に、画像追跡データとともに配信され得る。
【0025】
視線追跡システム100はまた、ユーザの頭部を追跡することも可能であり得る。頭部の追跡は、ユーザの頭部の位置、動き、向き、または向きの変化に応答して信号を生成することができる慣性センサ115によって実行され得る。このデータは、ローカルプロセッサ120に送信されてもよく、かつ/または、リモートコンピューティングデバイス160に送られてもよい。慣性センサ115は、独立した構成要素であってもよく、または代替として、以下に限定するものではないが、センサ104、ローカルプロセッサ120、または上述したセンサ108及び109の任意の組み合わせを含み得る、ユーザの頭部に装着される構成要素110の一部であってもよい。代替の実施形態では、頭部の追跡は、光源の追跡を介して、または、構成要素110に取り付けられた他の機構による追跡を介して実行され得る。
【0026】
リモートコンピューティングデバイス160は、本開示の態様にしたがって視線追跡を実行し照明条件を判定するために、視標追跡デバイス及びディスプレイ画面101と連携して動作するように構成され得る。コンピューティングデバイス160は、例えば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサコプロセッサ、セルプロセッサなどといった周知のアーキテクチャに従って構成され得る1つまたは複数のプロセッサユニット170を含み得る。コンピューティングデバイス160はまた、1つまたは複数のメモリユニット172(例えば、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、読み取り専用メモリ(ROM)など)を含み得る。
【0027】
プロセッサユニット170は、1つまたは複数のプログラムを実行し得、その一部はメモリ172に格納され得、プロセッサ170は、例えばデータバス178を介してメモリにアクセスすることによって、メモリ172に動作可能に結合し得る。プログラムは、視線追跡を実行しシステム100の照明条件を判定するように構成され得る。限定ではなく例として、プログラムは、視線追跡プログラム173を含み得、その実行により、システム100は、ユーザの視線を追跡し得る。例えば、上述のように、ユーザの視線は、エラー及び状態パラメータ判定プログラム174、画像調整プログラム175(ROI調整とラベル付けされている)、ならびに、その実行により、画像がレンダリングされディスプレイ上に提示される画像レンダリングプログラム176によって追跡され得る。一部の実施形態では、画像調整プログラム175は、提示された画像になすことができる潜在的な調整を判定する、及び、ディスプレイ上に提示される画像を調整するそれぞれのために、エラー及び/または状態パラメータを用い得る。
【0028】
限定ではなく例として、視線追跡プログラム173は、システム100に、光が光源102から放出されながら、センサ104で集められた視標追跡データならびに上部センサ108及び下部センサ109から集められた目の動きデータそれぞれから、システム100の1つまたは複数の視線追跡パラメータを判定させるプロセッサ実行可能命令を含み得る。一部の実施形態では、視線追跡プログラム173はまた、照明条件の変化の存在を検出するためにセンサ104を用いて集められた画像を分析する命令を含み得る。
【0029】
図2は、本明細書中で説明される実施形態に使用され得るユーザの目及びディスプレイデバイスを示す図である。図1及び図2の両方を参照すると、ユーザの目Eを示す画像180を分析して、瞳孔の相対位置から視線方向GDを判定し得る。例えば、画像分析は、画像における目Eの中心からの瞳孔Pの2次元オフセットを判定し得る。中心に対する瞳孔の位置は、眼球の既知のサイズ及び形状に基づく三次元ベクトルの単純な幾何学的計算によって、画面101に対する視線方向に変換され得る。判定された視線方向GDは、目Eが画面101に対して動くときの目Eの回転及び加速を示すことができる。
【0030】
画像はまた、角膜C及びレンズLそれぞれからの非可視光の反射187及び188を含み得る。角膜とレンズの深さが異なるので、反射間の視差と屈折率を使用して、視線方向GDを判定する際の精度を高め得る。このタイプの視標追跡システムの例は、デュアルプルキニエトラッカであり、ここで、角膜反射は、第1のプルキニエ像であり、レンズ反射は、第4のプルキニエ像である。一部のシナリオでは、ユーザが眼鏡をかけている場合、ユーザの眼鏡193からの反射190も在り得る。
【0031】
一部の実施形態では、カメラベースの視標追跡は、瞬きフェーズ中に視標追跡を更新する他の方法で補強することができる。補強の例には、眼筋活動を誘発する神経インパルスを検出するために、画像情報に加えてEEG情報を提供することが含まれる。この情報はまた、瞬き及びサッケードの開始及び終了の検出を助けるのに使用することができる。視標追跡システムは、目の動きの速度に基づいて、ハイパスフィルタリングによって、視覚システムがサッケードにあるか否かを判定することができる。
【0032】
視標追跡システムのパフォーマンスは、光源(赤外光[IR]、可視光など)及びカメラの配置、ユーザが眼鏡またはコンタクトを装着しているかどうか、HMD光学系、フレームレート、露出時間、カメラ光学系、追跡システムのレイテンシ、眼球運動の速度、目の形状(1日の中で変化する、または動きの結果として変化する可能性がある)、目の状態、例えば弱視、視線安定性、動いているオブジェクトへの注視、ユーザに提示されているシーン、ならびにユーザの頭部の動きを含む多数の要因に依存する。
【0033】
図3は、本明細書中で説明される実施形態に使用され得る視標追跡システム300を示すブロック図である。例示的なシステム300は、本開示の態様にしたがって、視線追跡及び/または視線追跡に対する較正を実行するために視標追跡デバイス302及びディスプレイデバイス304に結合されたコンピューティングデバイス360を含み得る。ディスプレイデバイス304は、陰極線管(CRT)、フラットパネルスクリーン、タッチスクリーン、プロジェクタ、網膜撮像装置、またはテキスト、数字、グラフィックシンボル、もしくは他の視覚的オブジェクトを表示する他のデバイスの形態であり得る。本開示の態様によれば、コンピューティングデバイス360は、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、ゲームコンソールなどであってもよい。さらに、コンピューティングデバイス360、視標追跡デバイス302、ディスプレイデバイス304、またはそれらの任意の組み合わせは、一体型ユニットを形成してもよく、または、互いに通信し得る別個のコンポーネントとして実装されてもよい。
【0034】
視標追跡デバイス302は、コンピューティングデバイス360に結合されてもよく、かつ、動的照明光源310を含んでもよい。限定ではなく例として、照明光源310は、1つまたは複数の赤外線LEDという形の不可視照明光源であってもよく、これは、カメラ312などのセンサを用いて視標追跡データを集めるためにユーザの目を照らすように構成され得る。視標追跡デバイスのカメラ312は、光源310から放出された光を感知する検出器であり得る。例えば、カメラ312は、赤外線カメラなどの光源を感知するカメラであってもよく、カメラ312は、照明光源310によって照らされた領域の画像を取り込み得るように、視標追跡デバイス302及び照明光源310に対して配置され得る。
【0035】
コンピューティングデバイス360は、本開示の態様にしたがって、視線追跡を実行し照明条件を判定するために、視標追跡デバイス302及びディスプレイデバイス304と連携して動作するように構成され得る。コンピューティングデバイス360は、例えば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサコプロセッサ、セルプロセッサなどといった周知のアーキテクチャに従って構成され得る1つまたは複数のプロセッサユニット370を含み得る。コンピューティングデバイス360はまた、1つまたは複数のメモリユニット372(例えば、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、読み取り専用メモリ(ROM)など)を含み得る。
【0036】
プロセッサユニット370は、1つまたは複数のプログラムを実行し得、その一部は、メモリ372に格納され得、プロセッサ370は、例えば、データバス376を介してメモリにアクセスすることによって、メモリ372に動作可能に結合され得る。プログラムは、視線追跡を実行するようにかつシステム300の照明条件を判定するように構成され得る。限定ではなく例として、プログラムは、その実行によりシステム300がユーザの視線を追跡し得る視線追跡プログラム373と、その実行によりディスプレイ上に提示される画像を調整する画像調整プログラム374と、その実行によりディスプレイ上に提示される画像をレンダリングする画像レンダリングプログラム375とを含み得る。限定ではなく例として、視線追跡プログラム373は、システム300に、動的照明光源310から光が放出されながら、カメラ312を用いて集められた視線追跡データからシステム300の1つまたは複数の視線追跡パラメータを判定させるプロセッサ実行可能命令を含み得る。視線追跡プログラム373はまた、カメラ312を用いて集められた画像を分析する命令を含み得る。
【0037】
コンピューティングデバイス360はまた、入力/出力(I/O)回路379、電源(P/S)380、クロック(CLK)381、及びキャッシュ382などのサポート回路378を含み得、これらは、例えばデータバス376を介して、システムの他のコンポーネントと通信し得る。I/O回路は、視標追跡デバイス302及びディスプレイデバイス304上の同様に構成されたトランシーバとの通信を容易にする無線トランシーバを含み得る。プロセッサユニット370及び無線トランシーバは、ローカルエリアネットワーク(LAN)またはパーソナルエリアネットワーク(PAN)を、適切なネットワークプロトコル、例えばPANの場合ブルートゥース(登録商標)を介して実装するように構成され得る。コンピューティングデバイス360は、任意選択で、ディスクドライブ、CD-ROMドライブ、テープドライブ、フラッシュメモリなどの大容量記憶装置384を含み得、大容量記憶装置384は、プログラム及び/またはデータを記憶し得る。コンピューティングデバイス360はまた、システム300とユーザ間のインタラクションを容易にするためのユーザインターフェース388を含み得る。ユーザインターフェース388は、キーボード、マウス、ライトペン、ゲームコントロールパッド、タッチインターフェース、及び/または他のデバイス(複数可)を含み得る。
【0038】
システム300はまた、プロセッサユニット370によって実行されるプログラムとインタラクトするために視標追跡デバイス302とインターフェースするコントローラ(図示せず)を含み得る。システム300はまた、ビデオゲームなどの1つまたは複数の一般的なコンピュータアプリケーション(図示せず)を実行し得、これらは、視標追跡デバイス302によって感知されかつ追跡プログラム373、画像調整プログラム374及び画像レンダリングプログラム375によって処理されるように視線追跡の態様を組み込み得る。
【0039】
コンピューティングデバイス360は、Wi-Fi、イーサネットポート、または他の通信方法の使用を可能にするように構成されたネットワークインターフェース390を含み得る。ネットワークインターフェース390は、電気通信ネットワークを介した通信を容易にするために、適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの何らかの組み合わせを組み込み得る。ネットワークインターフェース390は、ローカルエリアネットワーク及びインターネットなどのワイドエリアネットワークを介して有線または無線通信を実装するように構成され得る。ネットワークインターフェース390はまた、視標追跡デバイス302及びディスプレイデバイス304との無線通信を容易にする前述の無線トランシーバも含み得る。コンピューティングデバイス360は、ネットワークを通じて1つまたは複数のデータパケット399を介してデータ及び/またはファイルのリクエストを送受信し得る。
【0040】
様々な実施形態では、画像レンダリングは、ユーザによる目を細めていることの検出に基づいて、レンダリングプロセスの特定のパラメータを調整することによって実装され得る。そのような調整は、ユーザに提示された1つまたは複数の画像の少なくとも一部の輝度を低下させることを含み得る。
【0041】
本明細書に示すように、システムは、カメラを使用して、ユーザの目における反射を検出し、ユーザの視線を判定する。一部のシナリオでは、ユーザは、視力の問題、何かに集中しようとすること、目の疲れなどのために目を細めることがある。そうしたユーザの行動によりパフォーマンスの問題が生じる場合がある。例えば、ユーザが目を細めると、ユーザのまぶたは反射を遮る。その結果、完全な反射がなく、視標追跡の効果が薄れたり、または失敗する場合がある。また、システムが目を正確に追跡することができなくなるため、画像レンダリングプロセスが失敗する場合がある。結果として、画像領域は、ユーザが認知し得る、システムがユーザの視線を期待する場所にジャンプすることができる。
【0042】
図4は、一部の実施形態による、視標追跡システムにおいて画像を調整するための例示的なフロー図を示す。図1、2及び4の両方を参照すると、方法は、ブロック402で開始し、システムは、1つまたは複数の画像をユーザに提示する。様々な実施形態では、1つまたは複数の画像は、ヘッドマウントディスプレイ(HMD)のディスプレイデバイスによってユーザに提示される。
【0043】
ブロック404で、このシステムは、ユーザに提示された1つまたは複数の画像に関するユーザの視線に関する視線追跡データを取得する。様々な実施形態では、視線追跡データの取得は、HMDのヘッドマウントディスプレイで実行される。一部の実施形態では、視線追跡データの取得は、HMDの視標追跡デバイスによって実行される。一部の実施形態では、視線追跡データの取得は、HMDの内蔵カメラを用いて実行される。一部の実施形態は、視線追跡データを取得するためにカメラを使用し得るが、視線追跡データを取得するために他の技術も使用され得る。例えば、視標追跡システムは、微小電気機械システム(MEMS)デバイスまたは他の検出方法を使用し得る。
【0044】
様々な実施形態では、視線追跡データは、所与の時間における、ユーザの少なくとも片方の目の角膜からの光の反射量を含む。所与の角膜からの光の反射量は、角膜反射値と称される場合がある。様々な実施形態では、システムは、毎秒複数回、視線追跡データを収集して、ユーザの各目の角膜反射値を判定する。
【0045】
ブロック406で、このシステムは、視線追跡データから1つまたは複数の第1の視線特性を検出する。1つまたは複数の第1の視線特性は、ユーザの視線の特定の状態を示す。例えば、一部の実施形態では、ユーザの視線の特定の状態は、目を細めている状態である。目を細めている状態は、ユーザが目を部分的に閉じている状態である。これは、例えば、ユーザが特定の画像または画像の詳細に視覚的に焦点を合わせている場合に生じ得る。明確にするために、第1の視線特性は、目を細めている状態を示し、第2の視線特性(以下でより詳細に説明する)は、目を細めていない状態を示す。
【0046】
一部の実施形態では、1つまたは複数の第1の視線特性は、目を細めている量を示し得る。例えば、視線特性は、目が少し閉じているか、それとも大幅に閉じている(ほとんど閉じている)かを示し得る。このようにして、1つまたは複数の第1の視線特性を検出することは、ユーザの少なくとも片方の目において消失しているいくつかの輝きを判定することを含む。
【0047】
本明細書中でより詳細に説明するように、一部の実施形態では、目を細めている量を定量化するために、システムは、目を細めている値を生成し得、目を細めている値は、目を細めている量を表す。一部の実施形態では、このシステムは、目を細めている値を生成し得、目を細めている値は、ユーザの少なくとも片方の目に関連する角膜反射値の低下に基づく。目を細めている値は、角膜反射値に反比例し得る。例えば、ユーザが目を細めている(目が部分的に閉じている)場合、システムは、低下した角膜反射値を検出し、その後、角膜反射値に基づいて、増加した目を細めている値を生成し得る。
【0048】
一部の実施形態では、1つまたは複数の第1の視線特性は、ユーザの少なくとも片方の目に関連する角膜反射値の変化を含む。例えば、目を細めていることによって角膜反射値が減少した場合、システムは、角膜反射値が変化したことを記録/ログする。
【0049】
一部の実施形態では、1つまたは複数の第1の視線特性は、ユーザの少なくとも片方の目に関連する角膜反射値の低下を含む。例えば、目を細めていることによって角膜反射値が減少した場合、システムは、様々な時点における角膜反射値に加えて、角膜反射値がどのくらい変化したかを記録/ログする。
【0050】
ブロック408で、このシステムは、ユーザに提示された1つまたは複数の画像の少なくとも一部の輝度を、1つまたは複数の第1の視線特性に基づいて低下させ、第1の視線特性は、目を細めている状態を示す。このシステムは、特定の実施形態に応じて、画面または画像の特定の部分、特定の画像、複数の画像の複数の部分、またはすべての画像の輝度を低下させ得る。画面輝度を動的に下げることにより、目に入る光の量が減る。これにより、瞳孔はより多くの光を受け取ろうと不随意に拡張し得、そして、ユーザに、目を開かせ(目を細めるのをやめさせ)得る。
【0051】
一部の実施形態では、このシステムは、所定の期間にわたって1つまたは複数の画像の輝度を低下させる。例えば、このシステムは、1つまたは複数の画像の輝度を低下させ、設定された期間(例えば、0.10秒、0.20秒など)、低下した輝度を維持する。不随意に目を細めることの継続時間は、原因によって異なり得る(例えば、0.5秒、1.0秒など)。輝度を一瞬でも低下させることにより、ユーザに、即座に目を開けさせ、目を細めるのをやめさせ得る。
【0052】
一部の実施形態では、このシステムは、1つまたは複数の画像の輝度を、第1の視線特性に基づいて低下させる。このシステムは、1つまたは複数の画像の輝度を、目を細めている値に基づいて低下させ得る。例えば、このシステムは、目を細めている値がより大きい場合、1つまたは複数の画像の輝度を低下させ得る。逆に、このシステムは、目を細めている値が小さい場合、1つまたは複数の画像の輝度を相対的に小さく低下させ得る。このようにして、輝度の低下量は、目を細めている量に比例する。言い換えれば、大きく目を細めるほど、画面はより暗くなる。
【0053】
様々な実施形態では、このシステムは、ユーザの目が目を細めるのをやめるように促すまたはやめさせるのに十分長い間、輝度を低下させる。以下でより詳細に説明するように、このシステムは、ユーザ経験を損なうような輝度の変化にユーザが意識として気が付かないくらい迅速に輝度を復元する。例えば、これらの動作は、120Hzの画面リフレッシュレートまたは240Hzの視標追跡リフレッシュレートなどで起こり得る。
【0054】
ブロック410で、このシステムは、1つまたは複数の画像の輝度を、1つまたは複数の第2の視線特性に基づいて復元する。第2の視線特性は、目を細めていない状態を示す。輝度を(例えば、完全な輝度に)復元することにより、ユーザに目を開けさせ(目を細めているのをやめさせ)得、これにより、視標追跡は、完全な反射を受信し、正しく動作することが可能となるだろう。一部の実施形態では、このシステムは、1つまたは複数の画像の輝度を、ユーザの目の状態の変化に基づいて復元する。例えば、このシステムは、ユーザの視線が目を細めている状態からそれに続く目を細めていない状態に変化したときに、1つまたは複数の画像の輝度を復元し得る。一部の実施形態では、このシステムは、輝度を直ちに上げることによって輝度を復元し得る。一部の実施形態では、このシステムは、輝度を迅速に増加させることによって輝度を復元し得る。一部の実施形態では、このシステムは、どのように輝度が自動的に復元されるかをユーザが調整することを可能にし得る。
【0055】
一部の実施形態では、このシステムは、視線追跡データから1つまたは複数の第2の視線特性を検出する。上述のように、かかる第2の視線特性は、ユーザの視線の目を細めていない状態を示す。ユーザの視線が目を細めていない状態であると判定されると、このシステムは、1つまたは複数の画像の輝度を増大させる。一部の実施形態では、このシステムは、輝度を、目を細める前の状態における前回のレベルまで増大させる。
【0056】
ステップ、動作、または計算は特定の順序で提示され得るが、特定の実施形態においてこの順序は変更されてもよい。特定の実施形態次第で、ステップの他の順序が可能である。一部の特定の実施形態では、本明細書で順次的に示されている複数のステップを同時に実行し得る。また、一部の実施形態は、示されているすべてのステップを有さない場合があり、かつ/または、本明細書中に示されているステップの代わりにもしくはそれらに加えて、他のステップを有する場合がある。
【0057】
図5は、一部の実施形態による、ユーザに提示された1つまたは複数の画像の輝度レベルを低下させるための例示的なフロー図を示す。図1、2及び5の両方を参照すると、方法は、ブロック502で開始し、システムは、視線追跡データから角膜反射値を判定する。本明細書中に示されるように、角膜反射値は、ユーザの少なくとも片方の目の角膜からの光の反射量を表す。
【0058】
ブロック504で、このシステムは、角膜反射値に基づいて、目を細めている値の増加を判定する。本明細書中に示されるように、目を細めている値は、目を細めている量を表す。より具体的には、目を細めている値の増加は、ユーザの少なくとも片方の目の角膜からの光の反射量の低下を表す。言い換えると、目を細めている値の増加は、角膜反射値の減少に対応する。
【0059】
ブロック506で、このシステムは、目を細めている値の増加量を判定する。
【0060】
ブロック508で、このシステムは、増加量を、所定の目を細めている値の閾値と比較する。
【0061】
ブロック510で、このシステムは、増加量が、所定の目を細めている値の閾値を越えているかどうかを判定する。超えていない場合、このシステムは、ブロック504における、角膜反射値に基づく目を細めている値の増加の判定に進む。
【0062】
ブロック512で、このシステムは、1つまたは複数の画像の少なくとも一部の輝度レベルを、1つまたは複数の第1の視線特性に基づいて低下させる。様々な実施形態では、視線特性は、目を細めている値の増加量と、目を細めている値が所定の目を細めている値の閾値を超える継続時間とを含む。一部の実施形態では、このシステムは、所定の目を細めている値の閾値に対する増加量に基づいて、輝度の低下値を判定する。このようにして、このシステムは、1つまたは複数の画像の少なくとも一部の輝度レベルを、輝度の低下値に基づいて低下させる。
【0063】
ステップ、動作、または計算は特定の順序で提示され得るが、特定の実施形態においてこの順序は変更されてもよい。特定の実施形態次第で、ステップの他の順序が可能である。一部の特定の実施形態では、本明細書で順次的に示されている複数のステップを同時に実行し得る。また、一部の実施形態は、示されているすべてのステップを有さない場合があり、かつ/または、本明細書中に示されているステップの代わりにもしくはそれらに加えて、他のステップを有する場合がある。
【0064】
一部の実施形態では、目の輝きを生成するために仮想現実(VR)ヘッドセットに表示されている画像(例えば、ビデオゲーム画像)が、カメラによって検出されてもよい。一部の実施形態では、専用パターン(「輝き画像」)及び/または実際のゲーム画像(「提示画像」)を使用して、センサでの反射を、画面によって提示されている既知の画像と相関付けることによって目の位置を読み取り得る。ディスプレイのレンダリングと輝き検出が協調システムの制御下にあるシステム(例えば、同一セットのプロセッサ及び/もしくはソフトウェア、または通信もしくは同期している2つ以上のシステム)において、輝き画像を生成するのに個別のコンポーネント及びシステムを用意するのではなく、ディスプレイ画面自体を使用して、ユーザの目に輝き画像またはパターンを生成することができる。一部の実施形態では、提示画像は、輝き検出を提供するために変更する必要はなく、例えばコンピュータゲームのように、レンダリングされたフレームの通常のコースであり得る。レンダリングされているピクセル値のすべてまたは一部のデータを使用して、目における提示画像の感知された反射と相関付けることができ、かつ、目の位置及び/または追跡を判定することができる。
【0065】
これは、本明細書中で説明する一部の実施形態とは、目においてパターンを生成するため別個のLEDエミッタを使用するのではなく、目の位置を判定するという点で異なる。一部の実施形態では、提示されている画像及び目における反射の受信に対して完全な知識及び制御が存在する。
【0066】
そのような技術は、代替的または補足的(例えば、LEDとともに使用される)であり得る。補足モードは、特定の追跡状況によってトリガーされてオンまたはオフにされ得る。例えば、目の最周辺位置は、グラフィックで作成された輝きを介してより多くの光を加えるのに有用であり得る。
【0067】
一部の実施形態では、このシステムは、画面の視野内に内部マイクロカメラまたは他のセンサを含み得る。1つまたは複数のセンサは、視野、視野角、錐台などとも称されるビューイングコーンの外側にセンサが取り付けられたシステムとは対照的に、ディスプレイシステムで使用される画面と同一のビューイングコーンの前に、後ろに、内に、重なって、統合されて、または別の方法で占有して在り得る。画面と同一の視野を占めるセンサの例を図1に示す。ここでは、マイクロカメラ122は、画面101の後ろに示される。このシステムは、ユーザが「カメラ」を直視しながらディスプレイを見ることを可能にする複数(例えば、いくつかの、多数の、数十の、数千のなど)の小さな画像センサが埋め込まれたLCDまたは同様のデバイスと通信し得る。このシステムは、個々のセンサによって蓄積されたデータをより大きな画像へとつなぎ合わせ、その画像を視標追跡そして画像の表示に使用し得る。
【0068】
一部の実施形態では、このシステムは、時分割多重動作を実行して、提示画像を輝き画像から分離し得る。例えば、液晶ディスプレイ(「LCD」)または他のシャッターシステムを画像データとセンサの間に使用して、コンピュータで生成された輝き追跡画像データを可能にしながら、センサから提示画像をマスクすることができる。この手法を使用すると、輝きセンサの1つまたは複数をユーザの視線方向と直接揃えることができ、パフォーマンスを向上することができるという利点が存在し得る。
【0069】
図6は、本明細書中で説明される実施形態に使用され得るグラフィックス処理システム600のブロック図である。実施形態は、関心部分であると判定された画面空間の部分に対して画面空間の選択された部分の頂点の密度を調整することにより、有効解像度が画面位置によって異なるグラフィックス処理を実装するように構成されたグラフィックス処理システムを含み得る。限定ではなく例として、図示するように、コンピュータシステム600を用いて、本開示の態様によるグラフィックス処理を実装し得る。本開示の態様によれば、システム600は、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、ゲームコンソールなどであってもよい。
【0070】
システム600は、一般に、中央処理装置(CPU)602、グラフィックプロセッサ装置(GPU)604、及びCPUとGPUの両方にアクセス可能なメモリ608を含む。システム600はまた、例えばデータバス609を介して、システムの他のコンポーネントと通信し得る周知のサポート機能610を含み得る。このようなサポート機能は、以下に限定するものではないが、入力/出力(I/O)要素611、電源(P/S)612、クロック(CLK)613、及びキャッシュ614を含み得る。キャッシュ614に加えて、GPU604は、それ自体のGPUキャッシュ619を含み得、GPUは、GPU604上で実行されているプログラムがGPUキャッシュ619をリードスルーまたはライトスルーできるように構成され得る。
【0071】
システム600は、上述のように、画像レンダリングの最適化のために視線追跡情報を取得かつ分析するように構成され得る。一部の実施形態では、システム600は、図3に関して上記で説明したように、照明光源312及びカメラ312を備えた視標追跡デバイス302を含み得る。代替として、システムは、これらのコンポーネントと、例えばI/O要素611を介して相互運用するように構成され得る。
【0072】
システム600は、レンダリングされたグラフィック617をユーザに提示するためのディスプレイデバイス616を含み得る。代替の実施形態では、ディスプレイデバイス616は、システム600と連携して機能する別個のコンポーネントである。ディスプレイデバイス616は、フラットパネルディスプレイ、ヘッドマウントディスプレイ(HMD)、陰極線管(CRT)画面、プロジェクタ、またはテキスト、数字、グラフィックシンボルもしくは画像を表示することができる他のデバイスの形態であり得る。特に有用な実施形態では、ディスプレイ616は、90度以上(例えば、114度以上)の視野を有する画面を備えた大きな視野(FOV)デバイスである。ディスプレイデバイス616は、本明細書中に記載された様々な技術にしたがって処理されたレンダリングされたグラフィック画像617(例えば、完成したフレーム660)を表示する。
【0073】
システム600は、任意選択で、プログラム及び/またはデータを記憶するためのディスクドライブ、CD-ROMドライブ、フラッシュメモリ、テープドライブなどといった大容量記憶装置615を含み得る。システム600はまた、任意選択で、システム600とユーザの間のインタラクションを促進するためのインターフェースユニット618を含み得る。ユーザインターフェース618には、キーボード、マウス、ジョイスティック、ライトペン、ゲームコントローラ及び/またはグラフィカルユーザインタフェース(GUI)と連携して使用され得る他のデバイス(複数可)が含まれ得る。システム600はまた、デバイスがネットワーク622を通じて他のリモートデバイス625と通信することを可能にするためのネットワークインターフェース620を含み得る。ネットワーク622は、例えば、ローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク、ブルートゥース(登録商標)ネットワークなどのパーソナルエリアネットワーク、または他のタイプのネットワークであり得る。これらのコンポーネントは、ハードウェア、ソフトウェア、もしくはファームウェア、またはこれらのうちの2つ以上の何らかの組み合わせで実装され得る。
【0074】
一部の仮想現実(VR)アプリケーション、例えばマルチプレーヤオンラインビデオゲームまたは仮想世界は、リモートデバイス625の観客が、システム600のユーザが見ているシーンを視聴することを可能とするVRソーシャルスクリーン機能を含む。
【0075】
CPU602及びGPU604はそれぞれ、1つまたは複数のプロセッサコア、例えば、単一のコア、2つのコア、4つのコア、8つのコア、またはそれ以上を含み得る。メモリ608は、アドレス可能メモリを提供する集積回路、例えば、RAM、DRAMなどの形式であり得る。メモリ608は、グラフィックリソースを格納し得、かつ、グラフィックスレンダリングパイプラインのためのデータのグラフィックバッファ605を一時的に格納し得る専用グラフィックメモリ628を含み得る。グラフィックバッファ605は、例えば、頂点パラメータ値を格納するための頂点バッファVB、頂点インデックスを保持するためのインデックスバッファIB、グラフィックスコンテンツの深度値を格納するための深度バッファ(例えば、Zバッファ)DB、ステンシルバッファSB、ディスプレイに送信される完成したフレームを格納するためのフレームバッファFB、及びその他のバッファを含み得る。図6に示す例では、グラフィックメモリ628は、メインメモリの一部として示される。代替の実施形態では、グラフィックメモリ628は、別個のハードウェアコンポーネントであり得、場合によってはGPU604に組み込まれる。メモリ608(場合によってはグラフィックメモリ628)はまた、ポリゴンデータ、中心窩データ、頂点密度データ、ピクセル解像度データ、及びテッセレーションされた頂点データなどを一時的に格納し得る。
【0076】
限定ではなく例として、CPU602及びGPU604は、1つまたは複数のバス609を介してメモリ608にアクセスし得る。場合によっては、システム600が2つ以上の異なるバスを含むことが有用な場合がある。メモリ608は、CPU602及びGPU604がアクセスすることができるデータを含み得る。GPU604は、グラフィックス処理タスクを並列に実行するように構成された複数の計算ユニットを含み得る。各計算ユニットは、ローカルデータシェアなどの、それ自体の専用ローカルメモリストアを含み得る。代替として、コンピュータユニットはそれぞれ、メモリ608または専用グラフィックメモリ628にアクセスし得る。
【0077】
CPUは、グラフィック、コンパイラ及びグラフィックAPIを利用するアプリケーションを含み得るCPUコード603を実行するように構成され得る。CPUコード603はまた、視線追跡及び画像領域調整を実装し得る。グラフィックAPIは、GPU604によって実装されたプログラムに描画コマンドを発行するように構成することができる。CPUコード603はまた、物理シミュレーション及び他の機能を実装し得る。GPU604は、上述のように動作するように構成され得る。さらに、GPUコード607はまた、計算シェーダCS、頂点シェーダVS、及びピクセルシェーダPSなどの周知のシェーダを実装し得る。計算シェーダCSと頂点シェーダVSの間のデータの受け渡しを容易にするために、システムは、フレームバッファFBを含み得る1つまたは複数のバッファ605を含み得る。GPUコード607はまた、任意選択で、ピクセルシェーダまたはジオメトリシェーダなどの他のタイプのシェーダ(図示せず)を実装し得る。各計算ユニットは、ローカルデータシェアなどの、それ自体の専用ローカルメモリストアを含み得る。GPU604は、グラフィックスパイプラインの一部としてプリミティブにテクスチャを適用するための特定の動作を実行するように構成された1つまたは複数のテクスチャユニット606を含み得る。
【0078】
本開示の特定の態様によれば、CPUコード603及びGPUコード607及びシステム600の他の要素は、GPU604がポリゴンデータを受信し得るグラフィックスパイプラインを実装するように構成される。ポリゴンデータは、CPU602によるCPUコード603の実行によって実装される計算、例えば、3次元仮想空間におけるオブジェクトの物理シミュレーションから生成することができる。GPU604は、ディスプレイデバイス616の画面空間へのポリゴン頂点の投影、及び結果的に投影されたポリゴンのテッセレーションを実行する。GPU604は、頂点の密度が画面空間の選択された部分でより高く、残りの部分でより低くなるように、画像データ及び頂点密度データにしたがってポリゴンのテッセレーションにおける頂点の密度を調整し得る。代替として、GPU604は、ピクセル解像度が画面空間における選択された関心領域でより高く、残りの部分でより低くなるように、画像データ及びピクセル解像度データにしたがって、ディスプレイ上に提示される画像の部分のピクセル解像度を調整し得る。一部の実施形態では、GPU604は、頂点密度及びピクセル解像度が画面空間における選択された関心領域でより高く、残りの部分でより低くなるように、画像データ、頂点密度データ及びピクセル解像度データにしたがって、頂点密度及びピクセル解像度の両方を調整し得る。
【0079】
次に、GPU604は、頂点に対してプリミティブアセンブリを実行して、画面空間への頂点の投影から画面空間に1つまたは複数のプリミティブを生成し得る。次に、1つまたは複数のプリミティブに対してスキャン変換を実行して、画面空間のどのピクセルが、対応するプリミティブの一部であるかを判定し得る。次に、GPU604は、対応するプリミティブの一部である1つまたは複数のピクセルにピクセル値を割り当てるピクセル処理を実行することによって、完成したフレームを生成し得る。完成したフレームは、メモリ608もしくはグラフィックメモリ628(例えば、フレームバッファFB)に格納、または、ディスプレイデバイス616に表示することができる。
【0080】
画面空間及びグラフィックスパイプラインの他の関連部分へのポリゴン頂点の投影は、ソフトウェアで、例えば計算シェーダCSとして実装されたフロントエンドによって実行することができる。代替として、画面空間及びグラフィックスパイプラインの他の関連部分への頂点の投影は、これらの機能を実装するように構成された特別に設計されたハードウェアコンポーネントHWによって実装することができる。
【0081】
本開示の態様はまた、画像データ及び/または頂点密度データ及び/またはピクセル解像度データが動的に調整される実施形態も含む。そのような実施形態では、システム600は、ユーザの視線、すなわち、ユーザの目が指している場所を追跡し、この情報を、例えば上述かつ以下でさらに説明するように、ユーザが見ている対応する画面位置に関連付けるためのハードウェアを含む。そのようなハードウェアの一例には、ディスプレイデバイス616の画面に対して既知の場所にあり、かつ、ユーザの一般的な方向に向けられたデジタルカメラが含まれ得る。デジタルカメラは、ユーザインターフェース618の一部または別個のコンポーネントであり得る。CPUコード603は、カメラからの画像を分析して(a)ユーザが画像内にいるかどうか、(b)ユーザがカメラを向いているかどうか、(c)ユーザが画面を向いているかどうか、(d)ユーザの目が可視であるかどうか、(e)ユーザの頭部に対してのユーザの目の瞳孔の向き、及び(f)カメラに対してのユーザの頭部の向きを判定する画像分析ソフトウェアを含み得る。画面に対してのカメラの既知の位置及び向きと、ユーザの頭部に対してのユーザの目の瞳孔の向きと、カメラに対してのユーザの頭部の向きとから、画像分析ソフトウェアは、ユーザが画面を見ているかどうかを判定し得、ユーザが画面を見ている場合は、ユーザが見ている画面の部分の画面空間座標を判定し得る。次に、CPUコード603は、これらの画面座標をGPUコード607に渡し得、GPUコード607は、1つまたは複数の関心領域に対応する1つまたは複数のサブセクションを判定し得る。次に、GPUコード607は、それに応じて、頂点及びまたはピクセル解像度の調整を修正することができる。
【0082】
限定ではなく例として、専用設計されたハードウェア、テクスチャユニット(複数可)606、特定のタイプのシェーダ、及び以下で説明するグラフィックスパイプラインの他の部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはシステムオンチップ(SoCまたはSOC)などの特殊目的のハードウェアによって実装され得る。
【0083】
本明細書中で使用され、かつ、当業者によって一般に理解されるように、特定用途向け集積回路(ASIC)は、汎用用途向けではなく、特定の用途向けにカスタマイズされた集積回路である。
【0084】
本明細書中で使用され、かつ、当業者によって一般に理解されるように、フィールドプログラマブルゲートアレイ(FPGA)は、製造後に顧客または設計者によって構成されるように設計された―したがって「フィールドプログラマブル」な集積回路である。FPGA構成は一般に、ASICに使用されるものと同様のハードウェア記述言語(HDL)を使用して指定される。
【0085】
本明細書中で使用され、かつ、当業者によって一般に理解されるように、チップ上のシステムすなわちシステムオンチップ(SoCまたはSOC)は、コンピュータまたは他の電子システムのすべてのコンポーネントを単一のチップに統合する集積回路(IC)である。これは、デジタル、アナログ、混合信号、及び多くの場合無線周波数の機能―すべてを単一のチップ基板上に含み得る。典型的な用途は、組み込みシステムの分野にある。
【0086】
典型的なSoCは、以下のハードウェアコンポーネント:1つまたは複数のプロセッサコア(例えば、マイクロコントローラ、マイクロプロセッサ、またはデジタルシグナルプロセッサ(DSP)コア);メモリブロック、例えば、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)及びフラッシュメモリ;発振器またはフェーズロックループなどのタイミングソース;カウンタータイマー、リアルタイムタイマーまたはパワーオンリセットジェネレータなどの周辺機器;外部インターフェース、例えば、ユニバーサルシリアルバス(USB)、FireWire(登録商標)、イーサネット、ユニバーサル非同期受信機/送信機 (USART)、シリアルペリフェラルインターフェース(SPI)バスなどの業界標準;アナログデジタルコンバータ(ADC)及びデジタルアナログコンバータ(DAC)を含むアナログインターフェース;ならびに電圧レギュレータ及び電源管理回路を含み得る。
【0087】
これらのコンポーネントは、独自バスまたは業界標準バスのいずれかによって接続されている。ダイレクトメモリアクセス(DMA)コントローラは、外部インターフェースとメモリの間でデータを直接ルーティングし、プロセッサコアをバイパスすることで、SoCのデータスループットを向上させる。
【0088】
典型的なSoCは、上記のハードウェアコンポーネントと、プロセッサコア(複数可)、周辺機器及びインターフェースを制御する実行可能命令(例えばソフトウェアまたはファームウェア)との両方を含む。
【0089】
一部の実施形態では、グラフィックスパイプラインの一部の機能の一部またはすべては、代替として、例えばGPU604によって実行される計算シェーダCSとして、ソフトウェアプログラマブル汎用コンピュータプロセッサによって実行される適切に構成されたソフトウェア命令によって実装され得る。そのような命令は、コンピュータ可読媒体、例えば、メモリ608、グラフィックメモリ628、または記憶装置615で具現化され得る。
【0090】
本明細書では、ヘッドマウントディスプレイ(HMD)用途に関して例が説明されているが、本開示の態様は、そうした実施形態に限定されない。HMDの実施形態は、ユーザの目とディスプレイ画面の相対的な位置がおおむね固定されたままであるので、比較的単純な実施形態を表す。しかしながら、原則として、開示されたシステム及び方法は、視線追跡を用いて機能することができる任意の画像表示システムに適合させられ得る。視線追跡システムは、これらが固定されていない実施形態において、ディスプレイ画面に対してのユーザの頭部及び目(複数可)の位置及び向きを追跡するように修正され得る。
【0091】
説明は特定の実施形態に関して記載されてきたが、これらの特定の実施形態は単なる例示であり、限定的ではない。例に示されている概念は、他の例及び実施形態に適用され得る。
【0092】
様々な実施形態では、ソフトウェアは、1つまたは複数のプロセッサによる実行のために、1つまたは複数の非一時的なコンピュータ可読媒体でエンコードされる。ソフトウェアは、1つまたは複数のプロセッサによって実行されると、本明細書で説明される実施形態及び他の機能を実行するように動作可能である。
【0093】
特定の実施形態のルーチンを実装するのに、C、C++、Java(登録商標)、アセンブリ言語などを含む任意の適切なプログラミング言語を使用することができる。手続き型言語またはオブジェクト指向言語などのさまざまなプログラミング技術を用いることができる。ルーチンは、単一の処理デバイスまたは複数のプロセッサ上で実行することができる。ステップ、動作、または計算は特定の順序で提示され得るが、様々な特定の実施形態においてこの順序は変更されてもよい。一部の特定の実施形態では、本明細書で順次的に示されている複数のステップを同時に実行することができる。
【0094】
特定の実施形態は、命令実行システム、装置、もしくはデバイスによってまたはこれらと関連して使用するための非一時的なコンピュータ可読記憶媒体(機械可読記憶媒体とも称される)に実装され得る。特定の実施形態は、ソフトウェアまたはハードウェアまたは両方の組み合わせにおける制御ロジックの形で実装することができる。制御ロジックは、1つまたは複数のプロセッサによって実行されると、本明細書中で説明される実施形態及び他の機能を実行するように動作可能である。例えば、ハードウェア記憶装置などの有形の媒体を使用して、実行可能命令を含み得る制御ロジックを格納することができる。
【0095】
特定の実施形態は、プログラム可能な汎用デジタルコンピュータを使用することによって、かつ/または、特定用途向け集積回路、プログラム可能なロジックデバイス、フィールドプログラマブルゲートアレイ、光学、化学、生物学、量子もしくはナノ工学システム、コンポーネント、及びメカニズムを使用することによって実装され得る。一般に、特定の実施形態の機能は、当技術分野で知られている任意の手段によって達成することができる。分散、ネットワーク化システム、コンポーネント、及び/または回路を使用することができる。データの通信または転送は、有線、無線、または任意の他の手段によるものとし得る。
【0096】
「プロセッサ」は、任意の適切なハードウェア及び/もしくはソフトウェアシステム、機構、またはデータ、信号、もしくは他の情報を処理するコンポーネントを含み得る。プロセッサは、汎用中央処理装置、複数の処理装置、機能を実現するための専用回路、または他のシステムを備えるシステムを含み得る。処理は地理的な場所に限定される必要はなく、または時間的な制限を有する必要もない。例えば、プロセッサは、その機能を「リアルタイム」、「オフライン」、「バッチモード」などで実行し得る。処理の一部は、異なる(または同一の)処理システムによって、異なる時間かつ異なる場所で実行され得る。コンピュータは、メモリと通信する任意のプロセッサであり得る。メモリは、任意の適切なデータストレージ、メモリ、及び/または、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、磁気ストレージデバイス(ハードディスクドライブなど)、フラッシュ、光学ストレージデバイス(CD、DVDなど)、磁気もしくは光ディスク、またはプロセッサによる実行のための命令(例えば、プログラムまたはソフトウェア命令)を格納するのに適した他の有形の媒体などの電子記憶装置を含む非一時的なコンピュータ可読記憶媒体であり得る。例えば、ハードウェア記憶装置などの有形の媒体を使用して、実行可能命令を含み得る制御ロジックを格納することができる。命令はまた、例えば、サーバー(例えば、分散システム及び/またはクラウドコンピューティングシステム)から配信されるサービスとしてのソフトウェア(SaaS)の形で、電子信号として含まれ、提供され得る。
【0097】
また、図面/図に示されている要素の1つまたは複数は、特定の用途にしたがって有用なように、特定のケースでは、より分離または統合されて実装したり、または削除もしくは操作不能にしたりすることすらできることも理解されよう。コンピュータが上記の方法のいずれかを実行することを可能にするため機械可読媒体に格納することができるプログラムまたはコードを実装することも、趣旨及び範囲内にある。
【0098】
本明細書中の説明において、かつ下記の特許請求の範囲にわたって用いられる「a」、「an」及び「the」は、文脈が別途明確に指示しない限り、複数の指示対象を含む。本明細書の説明において、かつ下記の特許請求の範囲にわたって用いられる「in」の意味は、文脈が別途明確に指示しない限り、「in」及び「on」を含む。
【0099】
したがって、本明細書中では特定の実施形態について説明したが、修正の幅、さまざまな変更、及び置換が前述の開示で意図されており、場合によっては、特定の実施形態のいくつかの機能が、上記の範囲及び趣旨から逸脱することなく、他の機能の対応した使用なしに用いられることが理解されよう。したがって、特定の状況または材料を本質的な範囲及び趣旨に適合させるのに、多くの変更を加え得る。
図1
図2
図3
図4
図5
図6