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

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

▶ バルブ コーポレーションの特許一覧

特許7631224一定の明るさを維持するための動的なライト出力調節を備えたディスプレイシステム
<>
  • 特許-一定の明るさを維持するための動的なライト出力調節を備えたディスプレイシステム 図1
  • 特許-一定の明るさを維持するための動的なライト出力調節を備えたディスプレイシステム 図2
  • 特許-一定の明るさを維持するための動的なライト出力調節を備えたディスプレイシステム 図3
  • 特許-一定の明るさを維持するための動的なライト出力調節を備えたディスプレイシステム 図4
  • 特許-一定の明るさを維持するための動的なライト出力調節を備えたディスプレイシステム 図5
  • 特許-一定の明るさを維持するための動的なライト出力調節を備えたディスプレイシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-07
(45)【発行日】2025-02-18
(54)【発明の名称】一定の明るさを維持するための動的なライト出力調節を備えたディスプレイシステム
(51)【国際特許分類】
   G09G 3/20 20060101AFI20250210BHJP
   H04N 5/64 20060101ALI20250210BHJP
   G09G 3/34 20060101ALI20250210BHJP
   G09G 3/36 20060101ALI20250210BHJP
   G09G 3/3233 20160101ALI20250210BHJP
【FI】
G09G3/20 611E
G09G3/20 631A
G09G3/20 680A
G09G3/20 641A
G09G3/20 641C
H04N5/64 511A
G09G3/34 J
G09G3/36
G09G3/3233
【請求項の数】 20
(21)【出願番号】P 2021564418
(86)(22)【出願日】2020-04-28
(65)【公表番号】
(43)【公表日】2022-07-01
(86)【国際出願番号】 US2020030300
(87)【国際公開番号】W WO2020223251
(87)【国際公開日】2020-11-05
【審査請求日】2023-04-21
(31)【優先権主張番号】16/399,804
(32)【優先日】2019-04-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517160525
【氏名又は名称】バルブ コーポレーション
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】セラン、ジェレミー・アダム
【審査官】佐藤 嘉純
(56)【参考文献】
【文献】国際公開第2016/024307(WO,A1)
【文献】特開2017-097122(JP,A)
【文献】米国特許出願公開第2015/0348509(US,A1)
【文献】特開2018-101053(JP,A)
【文献】特開2012-002952(JP,A)
【文献】特開2015-095045(JP,A)
【文献】中国特許出願公開第109194951(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09G 3/20
H04N 5/64
G09G 3/34
G09G 3/36
G09G 3/3233
(57)【特許請求の範囲】
【請求項1】
ディスプレイシステムであって、
発光要素のアレイを有するディスプレイであって、前記ディスプレイが、可変リフレッシュレートをサポートするように構成されている、ディスプレイと、
1つ以上のプロセッサと、
コンピュータ実行可能命令を記憶するメモリと、を備え、前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されたとき、前記ディスプレイシステムに、
一連のフレームのうちの第1のフレームに関連付けられた第1のピクセルデータを出力することと、
前記一連のフレームのうちの先行フレームに対する前記発光要素の照明と、前記第1のフレームに対する前記発光要素の次回の照明との間の第1の時間の差異を決定することと、ここで、前記先行フレームと前記第1のフレームとは連続したフレームであり、前記第1の時間の差異は、(1)前記照明の開始点と前記次回の照明の開始点との間(2)前記照明の中間点と前記次回の照明の中間点との間(3)前記照明の終了点と前記次回の照明の終了点との間、のうちのいずれか一つである
前記第1の時間の差異と基準フレーム時間との比率を決定することと、
前記比率に少なくとも部分的に基づいて、ライト出力パラメータの第1の値を決定することと、
前記第1のピクセルデータに少なくとも部分的に基づいて、第1の画像を前記ディスプレイ上に提示することと、
前記ディスプレイ上の前記第1の画像の提示中に、前記ライト出力パラメータの前記第1の値に従って前記発光要素を照明することと、を行わせる、ディスプレイシステム。
【請求項2】
前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されたとき、前記ディスプレイシステムに、
前記一連のフレームのうちの第2のフレームに関連付けられた第2のピクセルデータを出力することと、
前記第1のフレームに対する前記発光要素の照明と、前記第2のフレームに対する前記発光要素の次回の照明との間の第2の時間の差異を決定することと、
前記第2の時間の差異に少なくとも部分的に基づいて、前記ライト出力パラメータの第2の値を決定することと、
前記第2のピクセルデータに少なくとも部分的に基づいて、第2の画像を前記ディスプレイ上に提示することと、
前記ディスプレイ上の前記第2の画像の提示中に、前記ライト出力パラメータの前記第2の値に従って前記発光要素を照明することと、をさらに行わせ、
前記第2の時間の差異が、前記第1の時間の差異よりも大きく、
前記ライト出力パラメータの前記第2の値により、前記発光要素が、前記ライト出力パラメータの前記第1の値よりも大きい輝度で、または前記第1の値よりも長い持続時間にわたって、ライトを発することを引き起こし、
前記第2の時間の差異が、前記第1の時間の差異よりも小さく、
前記ライト出力パラメータの前記第2の値により、前記発光要素が、前記ライト出力パラメータの前記第1の値よりも小さい輝度で、または前記第1の値よりも短い持続時間にわたって、ライトを発することを引き起こす、請求項1に記載のディスプレイシステム。
【請求項3】
前記ライト出力パラメータの前記第1の値が、
前記発光要素を照明するためのライトパルスの大きさ、
前記発光要素を照明するための前記ライトパルスの持続時間、または
前記ディスプレイ上の前記第1の画像の前記提示中に、前記発光要素の個々のサブセットを順次照明する間に同時に照明される前記発光要素の数のうちの少なくとも1つに対応する、請求項1に記載のディスプレイシステム。
【請求項4】
前記第1のフレームをレンダリングしたアプリケーションが、最小フレームレートから最大フレームレートまでのフレームレートの範囲内のフレームレートを目標とするように構成され、前記基準フレーム時間が、前記最小フレームレートと前記最大フレームレートとの間の中間フレームレートに対応する、請求項1に記載のディスプレイシステム。
【請求項5】
前記ディスプレイが、ヘッドマウントディスプレイ(HMD)であり、前記ディスプレイシステムが、ヘッド追跡システムをさらに備え、前記コンピュータ実行可能命令が、前記第1のピクセルデータを出力する前に、前記1つ以上のプロセッサによって実行されたとき、前記ディスプレイシステムに、
前記発光要素が前記第1のフレームを照明する期間を表す予測照明時間を決定すことと、
前記ヘッド追跡システムによって生成されたヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記予測照明時間においてとるであろう予測姿勢を決定することと、
前記予測姿勢を示す姿勢データを、前記第1のフレームをレンダリングするためのアプリケーションに送信することと、
前記アプリケーションから、前記第1のフレームのピクセルデータを受信することと、
前記アプリケーションが前記第1のフレームをレンダリングするのに費やした時間量に少なくとも部分的に基づいて、前記発光要素が前記第1のフレームを照明する前記期間を表す新しい予測照明時間を決定することと、
前記ヘッド追跡システムによって生成された前記ヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記新しい予測照明時間においてとるであろう新しい予測姿勢を決定することと、
前記予測姿勢と前記新しい予測姿勢との比較に少なくとも部分的に基づいて、前記ピクセルデータに再投影調節を適用して、前記第1のフレームに関連付けられた前記第1のピクセルデータを取得することと、ここで前記再投影調節を適用することは、前記予測姿勢における不正確さを補償するために前記ピクセルデータを変換することである、をさらに行わせる、請求項1に記載のディスプレイシステム。
【請求項6】
前記予測照明時間を決定することが、
前記アプリケーションが前記先行フレームをレンダリングするのに費やした第1の時間量を決定することと、
前記第1の時間量に少なくとも部分的に基づいて、前記アプリケーションが前記第1のフレームをレンダリングするのに費やすであろう時間量を表す予測レンダリング時間を決定することと、を含み、
前記予測照明時間が、前記予測レンダリング時間に少なくとも部分的に基づいて決定される、請求項5に記載のディスプレイシステム。
【請求項7】
前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されたとき、前記ディスプレイシステムに、
前記アプリケーションが前記先行フレームに先行する前のフレームをレンダリングするのに費やした第2の時間量を決定することと、
前記第1の時間量および前記第2の時間量に少なくとも部分的に基づいて、平均レンダリング時間を決定することと、をさらに行わせ、
前記予測レンダリング時間を前記決定することが、前記平均レンダリング時間に少なくとも部分的に基づく、請求項6に記載のディスプレイシステム。
【請求項8】
前記ディスプレイシステムが、仮想現実(VR)ディスプレイシステムまたは拡張現実(AR)ディスプレイシステムのうちの少なくとも1つである、請求項1に記載のディスプレイシステム。
【請求項9】
発光要素のアレイを有するディスプレイを含むディスプレイシステムによって実装される方法であって、前記方法が、
第1のピクセルデータを出力することであって、前記第1のピクセルデータが、一連のフレームのうちの第1のフレームに関連付けられ、
前記一連のフレームのうちの先行フレームに対する前記発光要素のライトパルスと、前記第1のフレームに対する前記発光要素の次回のライトパルスとの間の第1の時間の差異を決定することと、ここで、前記先行フレームと前記第1のフレームとは連続したフレームであり、前記第1の時間の差異は、(1)前記ライトパルスの開始点と前記次回のライトパルスの開始点との間(2)前記ライトパルスの中間点と前記次回のライトパルスの中間点との間(3)前記ライトパルスの終了点と前記次回のライトパルスの終了点との間、のうちのいずれか一つである
前記第1の時間の差異と基準フレーム時間との比率を決定することと、
前記比率に少なくとも部分的に基づいて、ライト出力パラメータの第1の値を決定することと、
前記第1のピクセルデータに少なくとも部分的に基づいて、第1の画像を前記ディスプレイ上に提示することと、
前記ディスプレイ上の前記第1の画像の提示中に、前記ライト出力パラメータの前記第1の値に従って、ライトパルスを発するように前記発光要素を制御することと、を含む、方法。
【請求項10】
前記ライト出力パラメータの前記第1の値が、
前記第1のフレームに対する前記ライトパルスの大きさ、
前記第1のフレームに対する前記ライトパルスの持続時間、または
前記第1のフレームに対する前記ライトパルス中に同時に照明される前記発光要素の数のうちの少なくとも1つに対応する、請求項9に記載の方法。
【請求項11】
前記ディスプレイが、ヘッドマウントディスプレイ(HMD)であり、前記方法が、前記第1のピクセルデータを前記出力する前に、
前記第1のフレームに対する前記ライトパルスが発生する期間を表す予測照明時間を決定することと、
前記ディスプレイシステムのヘッド追跡システムによって生成されたヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記予測照明時間においてとるであろう予測姿勢を決定することと、
前記予測姿勢を示す姿勢データを、前記第1のフレームをレンダリングするためのアプリケーションに送信することと、
前記アプリケーションから、前記第1のフレームのピクセルデータを受信することと、
前記アプリケーションが前記第1のフレームをレンダリングするのに費やした時間量に少なくとも部分的に基づいて、前記第1のフレームに対する前記ライトパルスが発生する前記期間を表す新しい予測照明時間を決定することと、
前記ヘッド追跡システムによって生成された前記ヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記新しい予測照明時間においてとるであろう新しい予測姿勢を決定することと、
前記予測姿勢と前記新しい予測姿勢との比較に少なくとも部分的に基づいて、前記ピクセルデータに再投影調節を適用して、前記第1のフレームに関連付けられた前記第1のピクセルデータを取得することと、ここで前記再投影調節を適用することは、前記予測姿勢における不正確さを補償するために前記ピクセルデータを変換することである、をさらに含む、請求項9に記載の方法。
【請求項12】
前記アプリケーションが前記先行フレームをレンダリングするのに費やした第1の時間量を決定することと、
前記第1の時間量に少なくとも部分的に基づいて、前記アプリケーションが前記第1のフレームをレンダリングするのに費やすであろう時間量を表す予測レンダリング時間を決定することと、をさらに含み、
前記予測照明時間が、前記予測レンダリング時間に少なくとも部分的に基づいて決定される、請求項11に記載の方法。
【請求項13】
前記ライトパルスを発するように前記発光要素を前記制御することが、
前記発光要素が同時にライトを発することを引き起こすこと、または
前記発光要素の個々のサブセットが前記ライトを順次発することを引き起こすことのうちの少なくとも1つを含む、請求項9に記載の方法。
【請求項14】
システムであって、
ライト源のアレイを有するディスプレイと、
前記ライト源のアレイに連結されたディスプレイドライバ回路と、
1つ以上のプロセッサと、を備え、前記1つ以上のプロセッサが、
第1のピクセルデータを出力することであって、前記第1のピクセルデータが、一連のフレームのうちの第1のフレームに関連付けられ、
前記一連のフレームのうちの先行フレームに対する前記ライト源の照明と、前記第1のフレームに対する前記ライト源の次回の照明との間の第1の時間の差異を決定することと、ここで、前記先行フレームと前記第1のフレームとは連続したフレームであり、前記第1の時間の差異は、(1)前記照明の開始点と前記次回の照明の開始点との間(2)前記照明の中間点と前記次回の照明の中間点との間(3)前記照明の終了点と前記次回の照明の終了点との間、のうちのいずれか一つである
前記第1の時間の差異と基準フレーム時間との比率を決定することと、
前記比率に少なくとも部分的に基づいて、ライト出力パラメータの第1の値を決定することと、
前記第1のピクセルデータに少なくとも部分的に基づいて、第1の画像を前記ディスプレイ上に提示することと、
前記ディスプレイ上の前記第1の画像の提示中に、前記ディスプレイドライバ回路に、前記ライト出力パラメータの前記第1の値に従って、前記ライト源を照明させることと、を行う、システム。
【請求項15】
前記ライト出力パラメータの前記第1の値が、
前記ライト源を照明するためのライトパルスの大きさ、
前記ライト源を照明するための前記ライトパルスの持続時間、または
前記ディスプレイ上の前記第1の画像の前記提示中に、前記ライト源の個々のサブセットを順次照明する間に同時に照明される前記ライト源の数のうちの少なくとも1つに対応する、請求項14に記載のシステム。
【請求項16】
ヘッド追跡システムをさらに備え、前記ディスプレイが、ヘッドマウントディスプレイ(HMD)であり、前記1つ以上のプロセッサが、前記第1のピクセルデータを出力する前に、
前記ライト源が前記第1のフレームを照明する期間を表す予測照明時間を決定することと、
前記ヘッド追跡システムによって生成されたヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記予測照明時間においてとるであろう予測姿勢を決定することと、
前記予測姿勢を示す姿勢データを、前記第1のフレームをレンダリングするためのアプリケーションに送信することと、
前記アプリケーションから、前記第1のフレームのピクセルデータを受信することと、
前記アプリケーションが前記第1のフレームをレンダリングするのに費やした時間量に少なくとも部分的に基づいて、前記ライト源が前記第1のフレームを照明する前記期間を表す新しい予測照明時間を決定することと、
前記ヘッド追跡システムによって生成された前記ヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記新しい予測照明時間においてとるであろう新しい予測姿勢を決定することと、
前記予測姿勢と前記新しい予測姿勢との比較に少なくとも部分的に基づいて、前記ピクセルデータに再投影調節を適用して、前記第1のフレームに関連付けられた前記第1のピクセルデータを取得することと、ここで前記再投影調節を適用することは、前記予測姿勢における不正確さを補償するために前記ピクセルデータを変換することである、を行うようにさらに構成されている、請求項14に記載のシステム。
【請求項17】
前記1つ以上のプロセッサが、
前記アプリケーションが前記先行フレームをレンダリングするのに費やした第1の時間量を決定することと、
前記第1の時間量に少なくとも部分的に基づいて、前記アプリケーションが前記第1のフレームをレンダリングするのに費やすであろう時間量を表す予測レンダリング時間を決定することと、を行うようにさらに構成されており、
前記予測照明時間が、前記予測レンダリング時間に少なくとも部分的に基づいて決定される、請求項16に記載のシステム。
【請求項18】
前記第1のフレームをレンダリングしたアプリケーションが、最小フレームレートから最大フレームレートまでのフレームレートの範囲内のフレームレートを目標とするように構成され、前記基準フレーム時間が、前記最小フレームレートと前記最大フレームレートとの間の中間フレームレートに対応する、請求項14に記載のシステム。
【請求項19】
前記システムが、仮想現実(VR)ディスプレイシステムまたは拡張現実(AR)ディスプレイシステムのうちの少なくとも1つである、請求項14に記載のシステム。
【請求項20】
前記第1のフレームをレンダリングしたアプリケーションが、最小フレームレートから最大フレームレートまでのフレームレートの範囲内のフレームレートを目標とするように構成され、前記基準フレーム時間が、前記最小フレームレートと前記最大フレームレートとの間の中間フレームレートに対応する、請求項9に記載の方法。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
これは、全体が参照により本明細書に組み込まれる、2019年4月30日に出願された「DISPLAY SYSTEM WITH DYNAMIC LIGHT OUTPUT ADJUSTMENT FOR MAINTAINING CONSTANT BRIGHTNESS」と題した米国特許出願第16/399,804号の優先権を主張するPCT出願である。
【背景技術】
【0002】
仮想現実(VR)システム(VRヘッドセットに埋め込まれているようなものなど)のための従来のディスプレイは、固定リフレッシュレートで動作する。ディスプレイの「リフレッシュレート」とは、ディスプレイが画像をリフレッシュし得るか、またはスクリーンを再描画し得る、毎秒の回数である(例えば、90ヘルツ(Hz)のディスプレイは、90回/秒、画像をリフレッシュする)。グラフィックスの進歩は、フレームがレンダリングされるにつれてディスプレイのリフレッシュレートが動的に変化することを意味する可変リフレッシュレートをサポートするディスプレイの開発につながっている。これにより、ビデオゲームなどのグラフィックスレンダリングアプリケーションからの様々なフレームレートと同期してリフレッシュレートを保つことができる。例えば、NVIDIA(登録商標)Corporationから入手可能な技術であるG-SYNC(商標)、およびAdvanced Micro Devices(登録商標),Inc.から入手可能な技術であるFreeSync(商標)の両方は、ディスプレイのリフレッシュレートをビデオゲームのフレームレートに一致させる論理を提供する。これらの技術は、スクリーンティアリングを排除し(例えば、画像が先行フレームからのいくつかのピクセルと、現在のフレームからのいくつかのピクセルと、を含む場合)、かつこれらの技術により、実行中のビデオゲームが、単一のフレームレートを目標とする代わりに、フレームレートの範囲を目標とすることができ、これにより、グラフィックス処理ユニット(GPU)の速度を考慮して、可能な限り最速のフレームレートから恩恵を受けることができる場合がある。
【0003】
可変リフレッシュレート技術は、バックライトが一連のフレームにわたってほとんどの時間オンになっている高持続性ディスプレイでの使用に適しているが、これらの技術は、ほとんどのVRシステムがディスプレイのリフレッシュレートでバックライトのオンとオフをパルスする低持続性ディスプレイを使用するため、VRシステムでの使用には適していない。可変リフレッシュレートが低持続性ディスプレイで使用されている場合、視認中のユーザは、リフレッシュレートの変化に伴って明るさが変化するときに、ディスプレイのちらつきに気付くであろう。これは、より高いリフレッシュレートでは、ライトパルスが時間的に互いにより近くで発生し、増光効果を生み出すが、より低いリフレッシュレートでは、ライトパルスが時間的により遠く離れて発生し、減光効果を生み出すためである。これは、ヘッドマウントディスプレイ(HMD)を着用しているユーザにとって、ディスプレイの継続的な増光および減光(すなわち、ちらつき)として現れる。実際には、複雑性の低いシーン(例えば、移動する物体が多くなく、テクスチャが単純なシーン)は、リフレッシュレートが複雑性の低いシーンについてはより高くなる可能性が高いため、ユーザにとって非常に明るく見えることになるが、複雑性の高いシーン(例えば、移動する物体が多く、テクスチャが複雑なシーン)は、リフレッシュレートが複雑性の高いシーンについてはより低くなる可能性が高いため、ユーザにとって非常に薄暗く見えることになる。したがって、可変リフレッシュレートディスプレイ技術は、低持続性ディスプレイを使用するVRシステムでの使用には適していなかった。
【0004】
本明細書では、これらのシステムおよび他のシステムを改善および増強するための技術的解決法を提供する。
【図面の簡単な説明】
【0005】
詳細な説明を、添付の図面を参照して説明する。図において、参照番号の左端の数字は、参照番号が最初に現れる図を識別する。異なる図における同じ参照番号の使用は、類似または同一の構成要素または特徴を示す。
【0006】
図1】本明細書に開示される実施形態による、一連のフレームにわたって一定の明るさを維持するために、低持続性の可変リフレッシュレートディスプレイのライト出力を動的に調節するための例示的な技法を説明する図である。
【0007】
図2】本明細書に開示される実施形態による、一連のフレームにわたって一定の明るさを維持するために、低持続性の可変リフレッシュレートディスプレイのライト出力を動的に調節するための別の例示的な技法を説明する図である。
【0008】
図3】本明細書に開示される実施形態による、可変フレームレートでの再投影により一連のフレームをレンダリングし、対応する画像を可変リフレッシュレートで提示するための例示的なタイムラインを説明する図である。
【0009】
図4】本明細書に開示される実施形態による、低持続性の可変リフレッシュレートディスプレイシステムでの再投影によりフレームをレンダリングするための例示的なプロセスのフロー図を説明する。
【0010】
図5】本明細書に開示される実施形態による、画像の提示中に低持続性の可変リフレッシュレートディスプレイを照明するためのライト出力パラメータの値を動的に決定するための例示的なプロセスのフロー図を説明する。
【0011】
図6】本明細書に開示される技法を実装することができる、VRヘッドセットなどのウェアラブルデバイスを含むシステムの例示的な構成要素を説明する。
【発明を実施するための形態】
【0012】
本明細書では、とりわけ、一連のフレームにわたって一定の明るさを維持するための、低持続性の可変リフレッシュレートディスプレイのライト出力を動的に調節するための、技法およびシステムについて説明する。ディスプレイシステムは、発光要素(またはライト源)のアレイを有するディスプレイを含み得る。上述のように、ディスプレイシステムは、発光要素がフレーム時間のごく一部にわたってライトを発することを意味する、低持続性ディスプレイシステムであってもよい。例えば、90Hzのリフレッシュレートでの所与のフレームの場合、発光要素は、合計フレーム時間のうちのおよそ1ミリ秒(ms)の持続時間にわたって照明する(またはライトパルスを発する)ことができ、合計フレーム時間は、およそ11.11msである。説明的な実施例では、本明細書に開示されるディスプレイシステムのディスプレイは、ユーザによって着用され得るヘッドマウントディスプレイ(HMD)であってもよい。この実施例では、ディスプレイシステムは、仮想現実(VR)システムであっても、拡張現実(AR)システムであってもよい。HMDなどのディスプレイ自体は、ビデオゲームなどのグラフィックスレンダリングアプリケーションによって出力されるフレームに基づいて画像を提示する、1つまたは複数のディスプレイパネルを含み得る。これらの画像は、HMDに含まれる光学系を通してユーザによって視認され、ユーザに、ユーザがVRまたはAR環境に没入しているかのように画像を知覚させる。
【0013】
本明細書に記載のディスプレイは、可変リフレッシュレートをサポートし得る。したがって、ビデオゲームなどのグラフィックスレンダリングアプリケーションは、可変フレームレートでフレームをレンダリングし得、ディスプレイのリフレッシュレートは、アプリケーションのフレームレートと一致する(または同期したままである)ように動的に調節され得る。このようにして、アプリケーションは、フレームレートの範囲を目標とすることができ、ディスプレイのリフレッシュレートは、単一のフレームがレンダリングされ、対応する画像が、スクリーンリフレッシュのたびに提示されるように、アプリケーションのフレームレートに結び付けられ得る。リフレッシュレートは動的に変化し得るため、発光要素のライト出力が各ライトパルスにわたって一定のままである場合、ディスプレイの明るさは、一連のフレームにわたって変動し得、これは、ディスプレイのちらつきとしてユーザによって知覚され得る。
【0014】
したがって、本明細書では、可変リフレッシュレートをサポートする低持続性ディスプレイの一定の明るさを維持するための、技法およびシステムについて説明する。開示されるディスプレイシステムの論理は、ディスプレイ上に対応する第1の画像を提示する目的で、第1のピクセルデータをフレームバッファに出力するように構成され得、第1のピクセルデータは、一連のフレームのうちの第1のフレームに関連付けられる。論理は、一連のフレームのうちの先行フレームに対するディスプレイの発光要素の照明(またはライトパルス)と、提示される第1の画像に対応する第1のフレームに対する発光要素の次回の照明(またはライトパルス)との間の第1の時間の差異を決定し得る。(ディスプレイの瞬時リフレッシュレートを示す)この第1の時間の差異に基づいて、ディスプレイシステムの論理は、ライト出力パラメータの第1の値を決定し得る。ディスプレイ上の第1の画像の提示中に、発光要素は、ライト出力パラメータの第1の値に従って照明するように制御され得る。このプロセスは、各フレームに対するライト出力パラメータの値を動的に決定することによって、一連のフレームにわたって繰り返すことができ、この方法で一連のフレームにわたってライト出力パラメータを変化させる結果として、ディスプレイの明るさは、一連のフレームにわたって実質的に一定のままであり、それによって、ちらつきを排除するか、または少なくとも軽減する。
【0015】
概して、一対の連続したフレームに対応する一対の連続したライトパルス間の時間の差異が比較的短い(比較的高いリフレッシュレートを意味する)場合、ディスプレイシステムの論理は、発光要素から出力されるライトの大きさまたは持続時間の減少を引き起こすライト出力パラメータの値を決定する。一方、一対の連続したライトパルス間の時間の差異が比較的長い(比較的低いリフレッシュレートを意味する)場合、ディスプレイシステムの論理は、発光要素から出力されるライトの大きさまたは持続時間の増加を引き起こすライト出力パラメータの値を決定する。このようにして、比較的低いリフレッシュレートで出力されるライトの大きさおよび/または持続時間を増加させ、比較的高いリフレッシュレートで出力されるライトの大きさおよび/または持続時間を減少させることによって、一定の明るさが達成される。
【0016】
上述のように、ディスプレイの発光要素のライト出力を調節することは、複数の方法で達成することができる。例えば、所与のフレームに対するライトのパルスを、(例えば、より高い光度でライトを発するように発光要素を制御することによって)先行フレームまたは基準パルスの高さよりも高くすることができる。逆の方向では、所与のフレームに対するライトのパルスを、(例えば、より低い光度で発光要素を照明することによって)先行フレームまたは基準パルスの高さよりも短くすることができる。さらに、または代替的に、ライトのパルスをより高くまたはより短くするために、所与のフレームに対するライトのパルスを、(例えば、より長い持続時間にわたって発光要素を照明することによって)先行フレームまたは基準パルスの幅よりも広くすることができる。逆の方向では、所与のフレームに対するライトのパルスを、(例えば、より短い持続時間にわたって発光要素を照明することによって)先行フレームまたは基準パルスの幅よりも薄くすることができる。一定の明るさを維持するために、パルスの下の区域(例えば、パルスを表す正方形の波形の下の区域)は、パルスの高さおよび/もしくは幅(またはパルスの代表的な波形)に対する動的調節にかかわらず、一定のままであってもよい。
【0017】
いくつかの実施形態では、基準フレーム時間は、ディスプレイが一定のままである明るさの目標レベルに関連付けられる。この基準フレーム時間を使用して、ライト出力パラメータの値を決定することができる。例えば、一対の連続したフレームに対応する連続したライトパルス間の時間の差異を決定すると、論理は、時間の差異と基準フレーム時間との比率を決定することができ、この比率を使用して、現在のフレームに対する発光要素のライト出力を調節するためのライト出力パラメータの値を決定することができる。基準フレーム時間は、アプリケーションが目標とするフレームレートの範囲の、最小フレームレートと最大フレームレートとの間の中間フレームレートに対応する時間であってもよい。例えば、アプリケーションが45フレーム/秒(FPS)~144FPSのフレームレートの範囲を目標とする場合、前述の比率を決定するために使用される基準フレーム時間は、およそ11.11msのフレーム時間である90FPSのフレームレートでのフレーム時間に対応し得る。これは単に一実施例であり、基準フレーム時間は、本明細書に記載の技法が実装されるディスプレイシステムの仕様に部分的に基づいて構成可能である。
【0018】
本明細書では、HMDを含むディスプレイシステムなどの低持続性の可変リフレッシュレートディスプレイシステムに「再投影」調節を適用するための、技法およびシステムについても記載する。記載の再投影技法を使用して、所与のフレームがレンダリングされる前に予測される所与のフレームに対する予測照明時間に基づく、HMDの元の姿勢の予測におけるわずかな不正確さを補償することができる。再投影を使用して、所与のフレームに対してアプリケーションから受信されるピクセルデータを、フレームの実際のレンダリング時間がディスプレイシステムに対して認められた後にHMDの姿勢の更新された予測を考慮に入れる方法でピクセルデータを(例えば、回転および再投影の計算を通じて)変換することなどによって、修正することができる。再投影を使用して、ディスプレイからのライトがユーザの目に到達した時点で正しいピクセルを提示することによって、望ましくない視覚的アーチファクトを軽減することができる。
【0019】
一対の連続したフレームに対するライトの連続したパルス間の時間の差異(瞬時フレームレートを示す時間の差異)に基づいてライト出力を動的に調節することにより、一連のフレームにわたるディスプレイのちらつき(すなわち、明るさの変動)を、除去されない場合に、軽減することができる。これは、再投影とは無関係に、または再投影と組み合わせて行うことができる。動的なライト出力調節を本明細書に記載の再投影技法と組み合わせると、視覚的アーチファクトを軽減しながら、ディスプレイの一定の明るさも維持する、より堅牢なディスプレイシステムが提供される。言い換えれば、本明細書に記載の技法およびシステムにより、ディスプレイシステムは、ユーザが現在見ている場所の正しいシーンを提示し、かつそうしながら、ディスプレイの一定の明るさを維持することができる。
【0020】
本明細書に開示される技法およびプロセスは、HMDシステムなどのシステムによって実装され得る。本明細書には、本明細書に開示される技法およびプロセスを実装するためのコンピュータ実行可能命令を記憶する非一時的なコンピュータ可読媒体もまた、開示される。本明細書に開示される技法およびシステムを、例として、ビデオゲームアプリケーション、具体的にはVRゲームアプリケーションの文脈において考察するが、本明細書に記載の技法およびシステムは、非VRアプリケーション(例えば、ARアプリケーション)、および/または産業機械アプリケーション、防衛アプリケーション、ロボットアプリケーションなどの非ゲームアプリケーションを含むが、これらに限定されない、他のアプリケーションに利益を提供し得ることを理解されたい。さらに、本明細書に記載の技法およびプロセスは、「ニアツーアイ」ディスプレイシステムとみなされない、またはウェアラブルデバイスを伴わない、他のディスプレイシステムなどの非HMDシステムに実装され得る。さらに、特定の利点を、可変リフレッシュレートをサポートする低持続性ディスプレイシステムについて記載するが、本明細書に記載の技法およびプロセスを他のタイプのディスプレイシステムで実装することができ、本明細書に記載の技法およびプロセスは、必ずしも低持続性ディスプレイシステムまたは可変リフレッシュレートディスプレイシステムに限定されるものではないことを理解されたい。
【0021】
図1は、本明細書に開示される実施形態による、一連のフレームにわたって一定の明るさを維持するために、低持続性の可変リフレッシュレートディスプレイのライト出力を動的に調節するための例示的な技法を説明する図である。図1は、ユーザ102によって着用されたヘッドマウントディスプレイ(HMD)100を描写する。HMD100は、本明細書に記載の技法およびプロセスを実装し得る、ディスプレイシステムの実施例である。したがって、HMD100は、本明細書では単に「ディスプレイ」または「ディスプレイシステム」と称されることがある場合がある。図1の実施例のHMD100は、ステレオ対のディスプレイパネルの左ディスプレイパネルおよび右ディスプレイパネルなどの、単一のディスプレイパネル104または複数のディスプレイパネル104を含み得る。HMD100の1つ以上のディスプレイパネル104は、HMD100を着用しているユーザ102によって視認可能である一連の画像フレーム(以下、「フレーム」と呼ぶ)を提示するために使用され得る。HMD100は、任意の数のディスプレイパネル104(例えば、3つ以上のディスプレイパネル、一対のディスプレイパネル、または単一のディスプレイパネル)を含み得ることを理解されたい。したがって、「ディスプレイパネル」という用語は、本明細書において単数として使用される場合、任意の数のディスプレイパネルを有するディスプレイシステムの単一のディスプレイパネル104を指し得る(例えば、「ディスプレイパネル」とは、一対のディスプレイパネルのいずれかのディスプレイパネル104を指し得る)。例えば、2パネルHMD100では、ステレオフレームバッファは、例えば、HMD100の両方のディスプレイパネル上で2160×1200ピクセル(例えば、ディスプレイパネルあたり1080×1200ピクセル)をレンダリングし得る。
【0022】
HMD100は、ディスプレイパネル104上でのフレームの提示中に発光要素(例えば、発光ダイオード(LED))を利用してライトを発する、発光ディスプレイなどの任意の好適なタイプのディスプレイ技術を利用し得る。一実施例として、HMD100のディスプレイパネル104は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、無機発光ダイオード(ILED)ディスプレイ、またはHMDアプリケーションのための任意の他の好適なタイプのディスプレイ技術を含み得る。
【0023】
HMD100のディスプレイパネル104は、可変リフレッシュレートをサポートし得る。したがって、HMD100は、45ヘルツ(Hz)~144Hzの範囲、45Hz~120Hzの範囲、90Hz~144Hzの範囲、または任意の好適な範囲のリフレッシュレートなどの、任意の好適な範囲のリフレッシュレートにわたって動作可能であってもよい。ディスプレイの「リフレッシュレート」とは、ディスプレイが画像をリフレッシュし得るか、またはスクリーンを再描画し得る、毎秒の回数である。毎秒表示されるフレーム数は、ディスプレイの瞬時リフレッシュレートと同等であり得る。言い換えれば、一連のフレームが処理される(例えば、レンダリングされる)とき、および画像がディスプレイ上に提示されるときの、HMD100の論理は、スクリーンリフレッシュごとに一連のフレームのうちの単一のフレームについて画像を提示するという目的を目標とし得る。
【0024】
HMD100は、「グローバルフラッシング」タイプのディスプレイ駆動方式、または「ローリングバンド」タイプのディスプレイ駆動方式を含むが、これらに限定されない、任意の好適な低持続性駆動方式を実装し得る。グローバルフラッシング技術を使用して、すべての発光要素106(例えば、本明細書において「ライト源」106と称されることがある発光要素106のM×N個のアレイ)が、ディスプレイのすべてのピクセルを照明することによって、所与のフレームに対してディスプレイ上に単一の画像を提示するように、同期して照明し得る。ローリングバンド技法を使用して、発光要素106の個々のサブセット、ひいては、ピクセルの個々のサブセットが、照明期間中に照明のローリングバンド内で独立して順次照明され得る。このローリングバンド技法は、発光要素106が個々にアドレス指定可能であることによって可能になる場合がある。いくつかの実施形態では、ピクセルのアレイおよびディスプレイパネル104上の発光要素106の両方は、行および列に配列されるが、必ずしも1つの発光要素106対応ごとに1ピクセルではない。この構成では、ローリングバンドタイプのディスプレイ駆動方式の場合、発光要素106の個々の行および/もしくは個々の列を順次アドレス指定することができ、かつ/または発光要素106の連続する行の個々のグループおよび/もしくは連続する列の個々のグループを順次アドレス指定することができる。この「ローリング」様式で発光要素106をアドレス指定する結果、これらの個々にアドレス指定可能な発光要素のサブセットに対応するピクセルのサブセットを独立して「照明」することができる。
【0025】
本明細書で使用される場合、「ピクセルを照明する」とは、そのピクセルに対応する発光要素106を照明することを意味する。例えば、LCDは、バックライトの発光要素106を照明して、ディスプレイの対応するピクセルを照明する。さらに、本明細書で使用される場合、「ピクセルのサブセット」は、個々のピクセルまたは複数のピクセル(例えば、ピクセルのグループ)を含み得る。同様に、「発光要素106のサブセット」は、個々の発光要素106または複数の発光要素106(例えば、発光要素106のグループ)を含み得る。いくつかの実施形態では、ピクセルのサブセットは、ピクセルの行、ピクセルの列、ピクセルの連続行のグループ、またはピクセルの連続列のグループを含む。同様に、発光要素106のサブセットは、発光要素106の行、発光要素106の列、発光要素106の連続行のグループ、または発光要素106の連続列のグループを含む。したがって、本明細書に記載の技法およびシステムの態様では、ピクセルのサブセットは、ピクセルの第1の行(例えば、ピクセルの上部行)から始まり、ピクセルの最後の行(例えば、ピクセルの下部行)で終わるピクセルの各行を、対応する発光要素のサブセットを順次照明することなどによって、順次スキャンおよび照明することなどによって、順次スキャンおよび照明することができる。しかしながら、本明細書に記載の技法およびシステムを使用して、任意の好適な照明のパターン(例えば、ヘビのような照明のパターン、列ごとの照明、複数の行/列のピクセルまたは発光要素106を一度に順次など)を用いることができる。
【0026】
ディスプレイパネル104を駆動するために、HMD100は、とりわけ、マイクロコントローラまたは類似のプロセッサなどのディスプレイコントローラ、ディスプレイドライバ回路、およびディスプレイパネル104を駆動するための類似の電子機器を含み得る。ディスプレイドライバ回路は、可撓性のプリント回路上の金属トレースなどの導電路を介して、ディスプレイパネル104の発光要素106のアレイに連結され得る。一実施例では、ディスプレイコントローラは、ディスプレイドライバ回路に通信可能に連結され、信号、情報、および/またはデータをディスプレイドライバ回路に提供するように構成され得る。ディスプレイドライバ回路によって受信される信号、情報、および/またはデータは、ディスプレイドライバ回路に特定の方法で発光要素106を照明させる1つ以上のライト出力パラメータを含み得る。つまり、ディスプレイコントローラは、どの発光要素106が照明されるか、いつ要素106が照明されるか、ライト出力の大きさ(例えば、パルスの高さ)、および/またはライト出力の持続時間(例えば、パルスの幅)などを決定し得、ディスプレイコントローラは、その目的を達成するために、適切な信号、情報、および/またはデータ(例えば、1つ以上のライト出力パラメータ)をディスプレイドライバ回路に通信し得る。
【0027】
所与のフレームのピクセルデータは、HMD100、またはHMD100のディスプレイパネル104上の画像としてフレームを提示するためのフレームバッファに出力され得る。各フレームのピクセルデータは、いくつかの実施形態では、ピクセルごとの値(例えば、色値)の二次元アレイを含み得る。いくつかの実施形態では、ピクセルデータは、深度値などの追加のデータまたはメタデータをさらに含む。いくつかの実施形態では、ピクセルデータは、単一の色およびアルファ値のセットによって表される各ピクセルのデータを含み得る(例えば、赤チャネルの1つの色値、緑チャネルの1つの色値、青チャネルの1つの色値、および1つ以上のアルファチャネルの1つ以上の値)。このピクセルデータは、フレームバッファ(例えば、ステレオフレームバッファ)に出力されて、HMD100のディスプレイパネル104上の画像に所望の視覚効果を提示し得る。
【0028】
HMD100は、VRゲームシステムで使用するためなど、VRシステムで使用するためのVRヘッドセットを表し得る。しかしながら、HMD100は、追加的に、または代替的に、ARアプリケーションで使用するためのARヘッドセットとして実装され得る。ARでは、ユーザ102は、現実世界の環境にオーバーレイされた仮想の物体を見るが、VRでは、ユーザ102は、現実世界の環境を見ることはなく、HMD100のディスプレイパネル104および光学系(例えば、レンズ)を介して知覚されるような仮想環境に完全に没入する。本明細書に記載の実施例は、主にVRベースのHMD100に関係するが、HMD100は、VRアプリケーションでの実装に限定されず、ディスプレイシステムも、HMD100での実装に限定されないことを理解されたい。
【0029】
概して、HMD100自体、またはディスプレイ/HMDシステムの一部としてHMD100に関連付けられ、かつHMD100に連結されたコンピューティングデバイス(例えば、パーソナルコンピュータ(PC)、ゲームコンソールなど)のようなコンピューティングデバイス上で実行されるグラフィックスベースのアプリケーション(例えば、ビデオゲーム)は、一連のフレームを出力するように構成され得る。一連のフレームは、最終的に、HMD100のディスプレイパネル104上の画像として提示される。単一のフレームに対応する単一の画像の提示中に、低持続性ディスプレイシステムは、ディスプレイパネル104の発光要素106をパルス化するように構成されており、その結果、ライトをユーザ102の目に向かって発することにより、ユーザ102はライト108のパルス化中にディスプレイ上に提示される画像を見ることができる。図1に示されるタイムライン110は、ディスプレイシステムの可変リフレッシュレートで発生し得る一連のライトパルス108(1)、108(2)、…108(N)(集合的に108)を照明する。これらのライトパルス108の各々は、所与のフレームに対する発光要素106からのライトの個別の発出を表す。一連のライトパルス108は、HMD100のリフレッシュレートを、フレームをレンダリングしているアプリケーションのフレームレートに一致させる論理に起因するアプリケーションによる一連のフレームのレンダリングからオフセットされるが、それと同期される。
【0030】
図1のタイムライン110によって示されるように、HMD100は、経時的に、(タイムライン110の左側に向かって)比較的高いリフレッシュレートから、(タイムライン110の右側に向かって)比較的低いリフレッシュレートに移行する。説明の実施例では、タイムライン110の左側に向かうリフレッシュレートは、144Hzほどであってもよく、タイムライン110の右側に向かうリフレッシュレートは、60Hzほどであってもよい。この点で、図1のタイムライン110は縮尺どおりではないが、単に可変リフレッシュレートを全般的に説明している。
【0031】
図1は、ディスプレイが一定のままである明るさの目標レベルに関連付けられ得る、基準フレーム時間112(「公称」フレーム時間と称されることもある)を示す。基準フレーム時間112がおよそ11.11msであり、90Hzのリフレッシュレートに対応する、実施例を考慮する。この実施例では、リフレッシュレートが90Hzで一定のままであった場合、発光要素106は、図1のタイムライン110の中央に示されるように、パルスの持続時間114およびパルスの大きさ116を有する、ライトパルス108に対応するライト出力パラメータの値に従って、一連のフレームにわたって一貫して照明される。基準フレーム時間112に対応するリフレッシュレートにおける、パルスの持続時間114およびパルスの大きさ116を有するライトパルス108は、ディスプレイが一定のままである明るさの目標レベルを達成する。したがって、リフレッシュレートが変化するにつれて、この目標レベルで明るさを一定に保つために、ライト出力調節が動的に行われる。
【0032】
タイムライン110の左側に向かう比較的高いリフレッシュレートの間、およびライトパルス108(1)とライトパルス108(2)との間の時間において、ディスプレイシステムの論理は、ライトパルス108(1)(つまり、一連のフレームのうちの先行フレームに対する発光要素106の照明)と、次回のライトパルス108(2)(つまり、現在のフレームに対する発光要素106の次回の照明)との間の第1の時間の差異118(1)を決定し得る。第1の時間の差異118(1)(瞬時リフレッシュレートを示す)に少なくとも部分的に基づいて、論理は、ライト出力パラメータの値を決定し得る。図1の実施例では、ライト出力パラメータは、現在のフレームに対するライトパルス108(2)の高さに対応するか、または当該高さを必要とする。したがって、時間の差異118(1)に基づいて決定されるライト出力パラメータのこの値を使用して、特定の大きさでライトパルス108(2)を発するように発光要素106を制御することができる。ライトパルス108(2)のこの特定の大きさは、基準フレーム時間112の明るさの目標レベルに関連付けられたパルスの大きさ116よりも小さいものとして図1に示される。言い換えれば、タイムライン110の左に向かうリフレッシュレートが、タイムライン110の中央の基準フレーム時間112に対応するリフレッシュレートよりも高いため、ライトパルス108(2)の高さまたは大きさを、ライト出力調節120(1)を介して、基準フレーム時間112に関連付けられたパルスの大きさ116よりも小さい大きさに調節することができる。つまり、破線の輪郭は、パルスの大きさ116およびパルスの持続時間114における、「基準パルス」を表し、しっかりした輪郭は、実際のライトパルス108(2)を表し、基準パルスは、基準パルスの大きさ116に対するライトパルス108(2)の大きさを説明するために示される。ライトパルス108(2)に対するライト出力の光度を制御することは、基準フレーム時間112に対応するリフレッシュレートで発光要素106を駆動するために使用され得る、電流および/または電圧よりも低い電流および/または電圧で発光要素106を駆動することを含み得る。いくつかの実施形態では、ライト出力(またはライト出力調節120(1))の制御は、ライトパルス108(2)のライト出力を制御するためにデジタル化された値を設定することによってデジタル方式で実施される。
【0033】
タイムライン110の右側に向かう比較的低いリフレッシュレートの間、およびライトパルス108(N-1)とライトパルス108(N)との間の時間において、ディスプレイシステムの論理は、ライトパルス108(N-1)(または、一連のフレームのうちの先行フレームに対する発光要素106の照明)と、次回のライトパルス108(N)(または、現在のフレームに対する発光要素106の次回の照明)との間のN番目の時間の差異118(N)を決定し得る。N番目の時間の差異118(N)(瞬時リフレッシュレートを示す)に少なくとも部分的に基づいて、論理は、現在のフレームに対するライトパルス108(N)の高さに対応し得るか、または当該高さを必要とし得る、ライト出力パラメータの値を決定し得る。したがって、時間の差異118(N)に基づいて決定されるライト出力パラメータのこの値を使用して、特定の大きさでライトパルス108(N)を発するように発光要素106を制御することができる。ライトパルス108(N)のこの特定の大きさは、基準フレーム時間112の明るさの目標レベルに関連付けられたパルスの大きさ116よりも大きいものとして図1に示される。言い換えれば、タイムライン110の右に向かうリフレッシュレートが、タイムライン110の中央の基準フレーム時間112に対応するリフレッシュレートよりも低いため、ライトパルス108(N)の高さまたは大きさを、ライト出力調節120(N)を介して、基準フレーム時間112に関連付けられたパルスの大きさ116よりも大きい大きさに調節することができる。ライトパルス108(N)に対するライト出力の光度を制御することは、基準フレーム時間112に対応するリフレッシュレートで発光要素106を駆動するために使用され得る、電流および/または電圧よりも高い電流および/または電圧で発光要素106を駆動することを含み得る。いくつかの実施形態では、ライト出力(またはライト出力調節120(N))の制御は、ライトパルス108(N)のライト出力を制御するためにデジタル化された値を設定することによってデジタル方式で実施される。特に、ディスプレイ駆動回路は、パルスの高さを増加させる能力を提供するのに十分な(または余分な)バンド幅を有する。
【0034】
いくつかの実施形態では、基準フレーム時間112を使用して、図1に示されるライトパルス108の大きさに対応するライト出力パラメータの値を決定する。例えば、ディスプレイシステムの論理は、第1の時間の差異118(1)と基準フレーム時間112との比率を決定し得、この比率を使用して、ライトパルス108(2)に関連付けられたライト出力調節120(1)のためのライト出力パラメータの値を決定することができる。第1の時間の差異118(1)が、120Hzのリフレッシュレートに対応する、およそ8.3msであり、基準フレーム時間112が、90Hzのリフレッシュレートに対応する、およそ11.11msである、実施例を考慮する。この実施例では、以下の比率を計算することができる。
【数1】

この実施例では、ライトパルス108(2)は、基準フレーム時間112に対する明るさの目標レベルに関連付けられたパルスの大きさ116のおよそ75%の大きさに調節され得る。パルス108(1)および108(2)は時間的に比較的互いにより近いため、パルスの大きさの下方調節は、HMD100に対して一定の明るさを維持する比較的高いリフレッシュレートで、より密集して束ねられたライトパルス108によって引き起こされた明るさの増加を補償する。
【0035】
N番目の時間の差異118(N)が、60Hzのリフレッシュレートに対応する、およそ16.66msであり、基準フレーム時間112が依然として11.11msである、実施例を考慮する。この実施例では、以下の比率を計算することができる。
【数2】

この実施例では、ライトパルス108(N)は、基準フレーム時間112に対する明るさの目標レベルに関連付けられたパルスの大きさ116のおよそ150%の大きさに調節され得る。パルス108(N-1)および108(N)は時間的に比較的遠く離れているため、パルスの大きさの上方調節は、HMD100に対して一定の明るさを維持する比較的低いリフレッシュレートで、より分散したライトパルス108によって引き起こされた明るさの減少を補償する。
【0036】
図2は、本明細書に開示される実施形態による、一連のフレームにわたって一定の明るさを維持するために、低持続性の可変リフレッシュレートディスプレイのライト出力を動的に調節するための別の例示的な技法を説明する図である。図1の実施例と同様に、図2のタイムライン210によって示されるように、HMD200は、経時的に、(タイムライン210の左側に向かって)比較的高いリフレッシュレートから、(タイムライン210の右側に向かって)比較的低いリフレッシュレートに移行する。説明の実施例では、タイムライン210の左側に向かうリフレッシュレートは、144Hzほどであってもよく、タイムライン210の右側に向かうリフレッシュレートは、60Hzほどであってもよい。この点で、図2のタイムライン210もまた縮尺どおりではないが、単に可変リフレッシュレートを全般的に説明している。
【0037】
図2は、ここでもまた、ディスプレイが一定のままである明るさの目標レベルに関連付けられ得る、基準フレーム時間212を示す。基準フレーム時間212に対応するリフレッシュレートにおける、パルスの持続時間214およびパルスの大きさ216を有するライトパルス208は、ディスプレイが一定のままである明るさの目標レベルを達成する。したがって、リフレッシュレートが変化するにつれて、この目標レベルで明るさを一定に保つために、ライト出力調節が動的に行われる。
【0038】
タイムライン210の左側に向かう比較的高いリフレッシュレートの間、およびライトパルス208(1)とライトパルス208(2)との間の時間において、ディスプレイシステムの論理は、ライトパルス208(1)(つまり、一連のフレームのうちの先行フレームに対する発光要素206の照明)と、次回のライトパルス208(2)(つまり、現在のフレームに対する発光要素206の次回の照明)との間の第1の時間の差異218(1)を決定し得る。第1の時間の差異218(1)(瞬時リフレッシュレートを示す)に少なくとも部分的に基づいて、論理は、ライト出力パラメータの値を決定し得る。図2の実施例では、ライト出力パラメータは、現在のフレームに対するライトパルス208(2)の幅に対応するか、または当該幅を必要とする。したがって、時間の差異218(1)に基づいて決定されるライト出力パラメータのこの値を使用して、特定の持続時間にわたってライトパルス208(2)を発するように発光要素206を制御することができる。ライトパルス208(2)のこの特定の持続時間は、基準フレーム時間212の明るさの目標レベルに関連付けられたパルスの大きさ214よりも短いものとして図2に示される。言い換えれば、タイムライン210の左に向かうリフレッシュレートが、タイムライン210の中央の基準フレーム時間212に対応するリフレッシュレートよりも高いため、ライトパルス208(2)の幅または持続時間を、ライト出力調節220(1)を介して、基準フレーム時間212に関連付けられたパルスの持続時間214よりも少ない持続時間に調節することができる。ライトパルス208(2)に対するライト出力の持続時間を制御することは、発光要素206が、基準フレーム時間212に対応するリフレッシュレートで駆動され得る時間量よりも短い時間量にわたって発光要素206を駆動することを含み得る。いくつかの実施形態では、ライト出力(またはライト出力調節220(1))の制御は、ライトパルス208(2)のライト出力を制御するためにデジタル化された値を設定することによってデジタル方式で実施される。
【0039】
タイムライン210の右側に向かう比較的低いリフレッシュレートの間、およびライトパルス208(N-1)とライトパルス208(N)との間の時間において、ディスプレイシステムの論理は、ライトパルス208(N-1)(または、一連のフレームのうちの先行フレームに対する発光要素206の照明)と、次回のライトパルス208(N)(または、現在のフレームに対する発光要素206の次回の照明)との間のN番目の時間の差異218(N)を決定し得る。N番目の時間の差異218(N)(瞬時リフレッシュレートを示す)に少なくとも部分的に基づいて、論理は、現在のフレームに対するライトパルス208(N)の幅に対応し得るか、または当該幅を必要とし得る、ライト出力パラメータの値を決定し得る。したがって、時間の差異218(N)に基づいて決定されるライト出力パラメータのこの値を使用して、特定の持続時間にわたってライトパルス208(N)を発するように発光要素206を制御することができる。ライトパルス208(N)のこの特定の持続時間は、基準フレーム時間212の明るさの目標レベルに関連付けられたパルスの持続時間214よりも長いものとして図2に示される。言い換えれば、タイムライン210の右に向かうリフレッシュレートが、タイムライン210の中央の基準フレーム時間212に対応するリフレッシュレートよりも低いため、ライトパルス208(N)の高さまたは大きさを、ライト出力調節220(N)を介して、基準フレーム時間212に関連付けられたパルスの持続時間214よりも大きい、幅または持続時間に調節することができる。ライトパルス208(N)に対するライト出力の持続時間を制御することは、発光要素206が、基準フレーム時間212に対応するリフレッシュレートで駆動され得る時間量よりも長い時間量にわたって発光要素106を駆動することを含み得る。いくつかの実施形態では、ライト出力(またはライト出力調節220(N))の制御は、ライトパルス208(N)のライト出力を制御するためにデジタル化された値を設定することによってデジタル方式で実施される。特に、ディスプレイ駆動回路は、パルスの幅を増加させる能力を提供するのに十分な(または余分な)バンド幅を有する。
【0040】
ここでもまた、基準フレーム時間212を使用して、図2に示されるライトパルス108の持続時間に対応するライト出力パラメータの値を決定することができる。例えば、ディスプレイシステムの論理は、第1の時間の差異218(1)と基準フレーム時間212との比率を決定し得、この比率を使用して、ライトパルス208(2)に関連付けられたライト出力調節220(1)のためのライト出力パラメータの値を決定することができる。第1の時間の差異218(1)が、120Hzのリフレッシュレートに対応する、およそ8.3msであり、基準フレーム時間212が、90Hzのリフレッシュレートに対応する、およそ11.11msである、実施例を考慮する。この実施例では、以下の比率を計算することができる。
【数3】

この実施例では、ライトパルス208(2)は、基準フレーム時間212に対する明るさの目標レベルに関連付けられたパルスの持続時間214のおよそ75%の持続時間に調節され得る。パルス208(1)および208(2)は時間的に比較的互いにより近いため、パルスの持続時間を短くすることは、HMD200に対して一定の明るさを維持する比較的高いリフレッシュレートで、より密集して束ねられたライトパルス208によって引き起こされた明るさの増加を補償する。
【0041】
N番目の時間の差異218(N)が、60Hzのリフレッシュレートに対応する、およそ16.66msであり、基準フレーム時間212が依然として11.11msである、実施例を考慮する。この実施例では、以下の比率を計算することができる。
【数4】

この実施例では、ライトパルス208(N)は、基準フレーム時間212に対する明るさの目標レベルに関連付けられたパルスの持続時間214のおよそ150%の持続時間に調節され得る。パルス208(N-1)および208(N)は時間的に比較的遠く離れているため、パルスの持続時間を長くすることは、HMD200に対して一定の明るさを維持する比較的低いリフレッシュレートで、より分散したライトパルス208によって引き起こされた明るさの減少を補償する。
【0042】
いくつかの実施形態では、図1および2に示されるそれぞれのアプローチを組み合わせることができる。例えば、ライトパルス108/208の大きさに対応する第1のライト出力パラメータの第1の値を決定し、ライトパルス108/208の持続時間に対応する第2のライト出力パラメータの第2の値を決定することによって、ライトパルス108の大きさおよび持続時間を動的に調節することができ、発光要素を、第1の値および第2の値の両方に従って照明して、ライト出力を調節する。
【0043】
ディスプレイシステムがローリングバンドタイプのディスプレイ駆動方式を使用する実施形態では、ライト出力は、所与のフレームの照明期間中にディスプレイパネル104/204を横断するローリングバンドの厚さを変更することによって少なくとも部分的に調節され得る。つまり、ライト出力パラメータの値は、同時に照明されるいくつかの発光要素(例えば、照明のローリングバンドを構成するいくつかの行)に対応し得る。グローバルフラッシングタイプのディスプレイ駆動方式を使用するディスプレイシステムは、ライトパルス108/208の持続時間を調節することができ、一方、ライトパルスの持続時間を調節することに等しいローリングバンドは、照明期間中に同時に照明される発光要素の数を調節する(例えば、増加または減少させる)ことができる。「より厚い」ローリングバンドは、ライトパルスの持続時間を効果的に短縮し得、一方、「より薄い」ローリングバンドは、ライトパルスの持続時間を効果的に長くし得る。
【0044】
連続した一対のフレームに対応する連続した一対のライトパルス108/208間の時間の差異118/218を決定することは、一対のライトパルス108/208または一対のフレーム間の任意の2つの対応する点の間の時間の差異を決定することを含み得ることを理解されたい。例えば、各ライトパルス108/208の開始点と、各ライトパルス108/208の中間点と、各ライトパルス108/208の終了点との間などの時間の差異118/218を決定することができる。ディスプレイシステムの論理は、いくつかの実施形態では、各アプリケーションによってレンダリングされたフレーム間のピクセルデータにフレーム開始マーカを含み得、これらのフレーム開始マーカを使用して、ライト出力パラメータの値を決定する目的で時間の差異を決定することができる。
【0045】
図3は、本明細書に開示される実施形態による、可変フレームレートでの再投影により一連のフレーム302をレンダリングし、対応する画像を可変リフレッシュレートで提示するための、例示的なタイムライン310(1)および310(2)を説明する図である。図3の実施例は、レンダリングタイムライン310(1)に関して3つの例示的なフレーム302(1)(またはフレーム「F」)、302(2)(またはフレーム「F+1」)、および302(3)(またはフレーム「F+2」)を図示して、フレーム302が直列にレンダリングされ得る方法を説明する。ここで、アプリケーション304は、レンダリングタイムライン310(1)上で左から右に、順次、最初にフレームF、次いで、フレームF+1、さらに次いで、フレームF+2をレンダリングする。レンダリングタイムライン310(1)はまた、各フレーム302の各レンダリング間隔の終端に向かって、HMD100/200(またはディスプレイシステム)のコンポジタ308のレンダリング作業負荷306を示す。アプリケーション304は、各フレーム302をレンダリングするのにある量の時間を費やす。この時間量は、図3において、アプリケーションレンダリング時間312として示される。フレームレートは変化し得るため、フレーム302(1)(またはフレーム「F」)のアプリケーションレンダリング時間312(1)、フレーム302(2)(またはフレーム「F+1」)のアプリケーションレンダリング時間312(2)、およびフレーム302(2)(またはフレーム「F+2」)のアプリケーションレンダリング時間312(3)は、異なる時間量であってもよい。図3は、アプリケーションレンダリング時間312がフレームFからフレームF+2まで漸進的に長くなる実施例を示す。
【0046】
所与のフレーム302についてのコンポジタ308の個々のレンダリング作業負荷306は、HMD100/200上に最終画像をレンダリングする前に、アプリケーション304によって出力されたピクセルデータに適用される調節を表し得る。レンダリング作業負荷306は、アプリケーション304のレンダリング作業負荷の約1%~5%であってもよく、これは、通常、アプリケーション304がフレーム302をレンダリングするには、コンポジタ308がコンポジタ308のレンダリング作業負荷306中にアプリケーション304によって出力されたピクセルデータに調節を適用するよりもはるかに長い時間がかかることを意味する。かかる調節には、HMD100/200上に最終画像をレンダリングする前に、アプリケーション304によって出力されたフレーム302に適用される、色彩収差、パネルマスキング、再投影などのための調節が含まれ得るが、これらに限定されない。アプリケーション304は、ビデオゲームアプリケーション、または任意の他のタイプのグラフィックスベースのアプリケーションを表し得る。アプリケーション304は、ピクセルデータを出力するグラフィックスパイプラインで実行され得、コンポジタ308は、そのピクセルデータを修正し、修正されたピクセルデータをフレームバッファ(例えば、ステレオフレームバッファ)に出力するように構成される。
【0047】
アプリケーション304が所与のフレーム302のレンダリングを開始する前に、ディスプレイシステム(例えば、コンポジタ308)の論理は、所与のフレーム302についての予測照明時間314を決定し得、これは、発光要素106/206が所与のフレーム302に対して照明する時間を表す。フレーム302(1)、302(2)、および302(3)の実際の照明時間314(1)、314(2)、および314(3)はそれぞれ、「スキャンアウト+照明」タイムライン310(2)上に示される。コンポジタ308(または他の論理)は、この照明時間314をフレームごとに予測することをタスクとし、これは、可変フレームレートおよび可変リフレッシュレートに起因して可変である。コンポジタ308による照明時間314の予測は、過去のアプリケーションレンダリング時間312に基づき得る。例えば、コンポジタ308は、先行フレーム(図3に示されていないフレームF-1)のアプリケーションレンダリング時間312を調べることができ、フレームFのアプリケーションレンダリング時間312(1)が先行フレームと同じであると仮定することができる。コンポジタ308は、固定スキャンアウト時間316を予測アプリケーションレンダリング時間312に追加して、予測照明時間314を決定することができる。
【0048】
この予測照明時間314を、HMD100/200のヘッド追跡システムによって生成されたヘッド追跡データとともに使用して、HMD100/200が所与のフレーム302の予測照明時間314でとる予測姿勢を決定する。コンポジタ308は、フレーム302をレンダリングするために、この予測姿勢を示す姿勢データをアプリケーション304に送信し、フレーム302のレンダリングが終了したときに、アプリケーション304から、フレーム302のピクセルデータを受信する。姿勢データを事前にアプリケーション304に提供することにより、アプリケーション304は、将来の予測照明時間314におけるユーザの102/202の頭の予測姿勢に対して正しい方法で、HMD100/200上で画像をレンダリングするためのピクセルデータを出力することができる。これは、アプリケーション304が、ディスプレイパネル104/204からのライトがユーザの102/202の目に到達するときの、照明時間314におけるユーザの頭の予測姿勢に適切なシーンをレンダリングすることを意味する。図3の実施例では、フレームFがアプリケーション304によってレンダリングされた後に、コンポジット308は、フレームFの実際のアプリケーションレンダリング時間312(1)を決定し得、照明時間314に対してのコンポジット308の予測を更新し得、照明時間314に対してのこの更新予測に基づいて、HMD100/200の新しい予測姿勢を決定することができる。HMD100/200の元の予測姿勢およびHMD100/200の新しい予測姿勢に基づいて(例えば、姿勢データの2つのセットを比較することによって)、コンポジタ308は、再投影調節を決定し、これらの再投影調節を、レンダリング作業負荷306(1)の間にピクセルデータに適用して、フレームFのピクセルデータを修正することができる。フレームFの修正されたピクセルデータは、フレームバッファに出力され、スキャンアウト時間316(1)の間にスキャンアウトされて、照明時間314(1)においてHMD100/200のディスプレイパネル104上に、(再投影調節で修正された)フレームFに対応する画像を提示する。スキャンアウト時間316の間、フレームFのピクセル値(ピクセルデータ)のサブセットは、ディスプレイポート(例えば、高精細マルチメディアインターフェイス(HDMI(登録商標)))を介してディスプレイパネル104に順次スキャンアウトされる。照明時間314の間、ディスプレイパネル104の発光要素106/206は、ピクセルを照明させるために照明される。照明は、すべての発光要素106/206が同時に行われるグローバルフラッシングであっても、発光要素106/206のサブセットが順次行われるローリング照明であってもよい。いずれの場合も、照明は、本明細書では、所与のフレームに対するライト108/208のパルスとして考慮される。
【0049】
HMD100/200(またはディスプレイシステム)のグラフィックス論理は、非同期であっても、同期であってもよい。非同期システムでは、コンポジタ308は、HMD100/200(ディスプレイシステムまたはHMDシステム)のグラフィックス処理ユニット(GPU)上のアプリケーション304とは別個に(別個の非同期スレッド上で)実行される。例えば、アプリケーション304は、コンポジタ308から姿勢データを受信するための関数を呼び出し得、コンポジタ308は、アプリケーション304に、シーンのレンダリングに使用される仮想カメラ姿勢に対応する姿勢データに従って、アプリケーション304がフレーム302(1)(例えば、フレームF)をレンダリングすることができるように、(フレームFの予測照明時間314(1)に対して予測された)要求された姿勢データを提供し得る。可変リフレッシュレートがサポートされているため、コンポジタの作業負荷306は、アプリケーション304がフレーム302のレンダリングを終了した後に開始する(アプリケーションレンダリング時間312は可変である)。コンポジタ308は、アプリケーション304からフレーム302(例えば、左右の画像)を受け取り、HMD100/200のディスプレイパネル104/204上のバックバッファ内にフレーム302を歪ませるように構成され得る。コンポジタ308のこの作業負荷306の間、再投影調節が適用され得る。
【0050】
リフレッシュレートをアプリケーション304のフレームレートに動的に一致させることによって、新たにレンダリングされたフレーム302が、スクリーンリフレッシュごとにアプリケーション304から受信され、所与のフレーム302に対応する画像が、存在する場合、小さな規模の再投影調節のみで提示され得る。予測アプリケーションレンダリング時間312が正確である場合、再投影調節の程度は最小限に抑えられる。アプリケーションレンダリング時間312の不正確な予測、ひいては、不正確な姿勢予測であっても、ディスプレイシステムの可変リフレッシュレート機能により、再投影の量は小さくなり、これは、移動する物体またはアニメーション化される物体に関して再投影によって引き起こされる望ましくない視覚的アーチファクトが軽減されることを意味する。
【0051】
本明細書に記載のプロセスは、論理フローグラフ内のブロックの集合として説明され、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせ(すなわち、論理)に実装することができる一連の動作を表す。ソフトウェアの文脈において、ブロックは、コンピュータ実行可能命令を表し、コンピュータ実行可能命令は、1つ以上のプロセッサによって実行されると、列挙された動作を実施する。概して、コンピュータ実行可能命令は、特定の機能を実施するか、または特定の抽象データタイプを実装する、ルーチン、プログラム、物体、構成要素、データ構造などを含む。動作が記載される順番は、限定として解釈されることを意図するものではなく、記載される任意の数のブロックは、プロセスを実装するために任意の順番で、および/または並列に組み合わせることができる。
【0052】
図4は、本明細書に開示される実施形態による、低持続性の可変リフレッシュレートディスプレイシステムでの再投影によりフレームをレンダリングするための例示的なプロセス400のフロー図を説明する。考察目的で、前図を参照してプロセス400を説明する。
【0053】
402において、一連のフレームのうちのあるフレーム302は、HMD100/200のディスプレイパネル104/204上に対応する画像を提示するためにレンダリングされ得る。考察目的で、このフレーム302を第1のフレーム302(1)と称する。HMD100/200が一対のディスプレイパネルを含む場合、第1のフレーム302(1)は、左ディスプレイパネル104/204上に第1の画像を提示し、右ディスプレイパネル104/204上に第2の画像を提示するために、またはその逆のためにレンダリングされ得る。402内の様々なサブブロックによって示されるように、ブロック402において第1のフレーム302(1)をレンダリングする目的で、HMD100/200(またはHMDシステム)の論理によって実施される様々なサブ動作が存在し得る。
【0054】
サブブロック404において、HMD100/200(またはHMDシステム)の論理(例えば、コンポジタ308を含む論理)は、第1のフレーム302(1)に対する予測照明時間314(1)を決定し得る。この照明時間の予測の前に、アプリケーション304は、HMD100/200の姿勢を求めるコンポジタ308に対して呼び出しを行うことができ、これにより、アプリケーション304は、そのHMDの姿勢に対して第1のフレーム302(1)を適切にレンダリングすることができる。サブブロック404で決定された予測照明時間314は、発光要素106/206が第1のフレーム302(1)に対して照明する時間を表し得る。言い換えると、サブブロック404における照明時間の予測は、第1のフレーム302(1)に対応する画像がHMD100/200のディスプレイパネル104/204上に提示されたときに、ライトがユーザ102/202の目に実際に到達するときの予測である。サブブロック404内のサブブロック406および408によって示されるように、サブブロック404において予測照明時間314(1)を決定する目的で、HMD100/200(またはHMDシステム)の論理によって実施される様々なサブ動作が存在し得る。
【0055】
サブブロック406において、HMD100/200(またはHMDシステム)の論理(例えば、コンポジタ308を含む論理)は、アプリケーション304が先行フレーム302をレンダリングするのに費やした第1の時間量を決定し得る。
【0056】
サブブロック408において、論理は、サブブロック406で決定された第1の時間量に少なくとも部分的に基づいて、アプリケーション304が第1のフレーム302(1)をレンダリングするのに費やす時間量を表す予測レンダリング時間312(1)を決定し得る(アプリケーションレンダリング時間312は、シーンの複雑さおよび/または処理リソースに対する現在の負荷などに応じて、一連のフレーム302にわたって可変であるため)。一実施例では、アプリケーション304が先行フレーム302をレンダリングするのに11msを費やした場合、サブブロック408で決定された予測レンダリング時間312(1)は、同じ時間量11msであってもよい。これは、次回のフレーム302が、先行フレーム302がレンダリングに要した時間と同じくらいレンダリングに要すると仮定することが適度に安全であるという考えに基づく。サブブロック408で決定された予測レンダリング時間312(1)は、アプリケーション304が第1のフレーム302(1)のレンダリングを終了する予測時間の形態であり得るか、またはアプリケーション304が第1のフレーム302(1)をレンダリングするために(例えば、開始から終了まで)かかる予測時間量の形態であり得る。したがって、サブブロック406および408は、第1のフレーム302(1)に対するアプリケーションレンダリング時間312(1)の予測が、前のフレーム302(すなわち、第1のフレーム302(1)の前に来たフレーム302)の1つ以上の過去のレンダリング時間312にどのように基づいているかを説明する。しかしながら、アプリケーションレンダリング時間312(1)の予測は、シーンの複雑さ、現在の処理負荷などといった、様々な他のファクタに基づき得ることを理解されたい。
【0057】
簡単に言えば、アプリケーションレンダリング時間312(1)(すなわち、アプリケーション304が第1のフレーム302(1)をレンダリングするための時間量)は可変であるが、第1のフレーム302(1)に対するスキャンアウト時間316(1)は固定され、スキャンアウト時間316(1)に照明時間314(1)を加えたものは、可能なフレームレートの範囲の中で最速のフレームレートに対応し得る。したがって、フレームレートが、ハイエンドで、例えば、可変リフレッシュレートディスプレイのために144Hzにプッシュされる場合、ピクセルデータはスキャンアウトされ、画像が、およそ6.9msごとに、各フレーム302に対してディスプレイ上に提示される。言い換えれば、フレームバッファからピクセルデータをスキャンアウトし、所与のフレーム302に対してディスプレイ上でピクセルを照明するのに約6.9msかかるはずである(ハイエンドで144Hzのリフレッシュレートを達成することができるディスプレイシステムの場合)。ピクセルデータがスキャンアウトされた後に発生する(技術的には期間である)照明時間314(1)は、アプリケーションレンダリング時間312(1)およびスキャンアウト時間316(1)の両方と比較して、非常に短い。照明時間314(1)は、沈降時間も含む。例えば、LCDの場合、結晶は、多くの場合、沈降するのに数ms余分に時間を要するので、発光要素106/206は、結晶が沈降した後に照明される。これらの期間の一部またはすべてが、サブブロック404において予測照明時間314(1)を決定するために考慮され得る。最低でも、フレームレートが可変であるため、予測照明時間314(1)は、第1のフレーム302(1)に対する予測アプリケーションレンダリング時間312(1)に少なくとも部分的に基づいて決定される。いくつかの実施形態では、ローリングバンドタイプのディスプレイ駆動方式などでは、サブブロック404における照明時間の予測は、ディスプレイパネル104/204上で、ユーザ102/202がどこを見るかの予測に基づき得、これは、HMD100/200の目追跡システムによって生成された目追跡データから決定され得る。
【0058】
いくつかの実施形態では、サブブロック406において、論理は、複数の前のフレーム302に対するアプリケーションレンダリング時間312を決定し得、第1のフレーム302(1)に対するアプリケーションレンダリング時間312(1)を予測するために、これらの過去のレンダリング時間に基づいて平均アプリケーションレンダリング時間312を決定し得る。例えば、論理は、アプリケーション304が先行フレーム302をレンダリングするのに費やした第1の時間量と、アプリケーション304が先行フレーム302に先行する前のフレーム302をレンダリングするのに費やした第2の時間量と、を決定し得、次いで、第1の時間量および第2の時間量に基づいて、平均レンダリング時間312が決定され得る。この実行中の平均レンダリング時間の計算のために考慮すべき前のフレーム302の数が構成可能である(例えば、10個の最近レンダリングされた(前の)フレーム302のレンダリング時間312に基づいて平均レンダリング時間312を計算する)。このような平均を取ることは、異常なレンダリング時間に反応せず、代わりに、照明時間の予測を調節する前に、レンダリング時間が少し沈降するのを待つという利点を提供し得る。
【0059】
サブブロック410では、論理(例えば、コンポジット308)は、HMD100/200がサブブロック404で決定された予測照明時間314(1)においてとるであろう予測姿勢を決定し得る。これは、第1のフレーム302(1)に対するHMD100/200の姿勢の元の予測であり、HMD100/200(またはHMDシステム)のヘッド追跡システムによって生成されたヘッド追跡データに少なくとも部分的に基づき得る。
【0060】
サブブロック412では、論理(例えば、コンポジタ308)は、第1のフレーム302(1)をレンダリングする目的で、サブブロック410で予測される姿勢を示す姿勢データをアプリケーション304に送信し得る。
【0061】
サブブロック414において、論理(例えば、コンポジタ308)は、アプリケーション304から、第1のフレーム302(1)に関するピクセルデータを受信し得る。ピクセルデータは、本明細書で説明されるように、ディスプレイパネル104/204のピクセルのアレイ内の個々のピクセルに関するピクセル値を含み得る。
【0062】
サブブロック416では、論理(例えば、コンポジット308)は、アプリケーション304が第1のフレーム302(1)をレンダリングするのに費やした時間量に少なくとも部分的に基づいて、発光要素106/206が第1のフレーム302(1)に対して照明する時間を表す新しい予測照明時間314(1)を決定し得る。(サブブロック418で決定され得る)第1のフレーム302(1)の実際のレンダリング時間312は、元の予測レンダリング時間312よりも少ない場合があり、その場合、コンポジット308は、予測よりも速くアプリケーション304からピクセルデータを受信する。第1のフレーム302(1)の実際のレンダリング時間312は、元の予測レンダリング時間312よりも大きい場合があり、その場合、コンポジット308は、予測より遅れてアプリケーション304からピクセルデータを受信する。予測アプリケーションレンダリング時間312が正確であった可能性があり、これは、ピクセルデータが、受信されると予測されたときに正確に受信されたことを意味するが、多くの場合、予測レンダリング時間と、第1のフレーム302(1)に対する実際のレンダリング時間との間に、小さいものではあるものの、デルタが存在し得る。
【0063】
サブブロック420では、論理(例えば、コンポジット308)は、HMD100/200のヘッド追跡システムによって生成されたヘッド追跡データに少なくとも部分的に基づいて、HMD100/200が新しい予測照明時間314(1)においてとるであろう新しい予測姿勢を決定し得る。元の姿勢の予測と新しい姿勢の予測との間のデルタは、アプリケーションレンダリング時間312の予測の正確さに依存する。しかしながら、示されるように、このデルタは、プレー時の期間が比較的短いことを考えると、小さくなる可能性が高い。
【0064】
サブブロック422では、論理(例えば、コンポジタ308)は、第1のフレーム302(1)についてのピクセルデータに再投影調節を適用して、第1のフレーム302(1)に関連付けられた、修正された(第1の)ピクセルデータを取得することができる。図3の図では、これは、コンポジタ308のレンダリング作業負荷306(1)の間に、アプリケーション304から第1のフレーム302(1)のピクセルデータを受信した後に発生し得る。再投影調節は、姿勢データの2つのセットを比較してオフセットを決定することなどによって、元の予測姿勢(サブブロック410で決定)および新しい予測姿勢(サブブロック420で決定)に少なくとも部分的に基づいて決定され得る。説明の実施例では、コンポジタ308は、第1のフレーム302(1)についてのピクセルデータを、予測よりも1もしくは2ms速く、または予測よりも1もしくは2ms遅く受信し得る。ピクセルデータは、フレームバッファに出力され、できるだけ速くディスプレイにスキャンアウトされるため、照明時間314(1)の更新予測は、元の予測照明時間314(1)とはわずかに異なる(例えば、1または2ms程度異なる)ことがあり、HMDの姿勢予測を、このわずかなデルタに基づいて更新して、ピクセルデータに対して行われる再投影調節を決定することができる。
【0065】
サブブロック424において、論理(例えば、コンポジタ308)は、第1のフレーム302(1)に対する修正された(第1の)ピクセルデータをフレームバッファに出力し得る。ここでもまた、一対のディスプレイパネル104/204を有するHMD100/200の場合、このピクセルデータは、一対のディスプレイパネル104/204上に表示される一対の画像を表すフレームに対応し得る。ページ外参照「A」によって示されるように、プロセス400は、図5に示されるプロセス500の第1のブロックに続く場合がある。
【0066】
図5は、本明細書に開示される実施形態による、画像の提示中に低持続性の可変リフレッシュレートディスプレイを照明するためのライト出力パラメータの値を動的に決定するための例示的なプロセス500のフロー図を説明する。図4および5のページ外参照「A」によって示されるように、プロセス500は、プロセス400から続く場合がある。プロセス500はまた、フレームバッファに出力される任意のピクセルデータに基づいて独立して実施され得る。考察目的で、前図を参照してプロセス500を説明する。
【0067】
502において、HMD100/200(またはHMDシステム)などのディスプレイシステムの論理(例えば、ディスプレイコントローラ、ディスプレイドライバ回路など)は、図4のプロセス400で説明されるように、アプリケーション304によって、場合によっては、再投影により、レンダリングされたフレーム302についてのピクセルデータに少なくとも部分的に基づいて、ディスプレイ上に画像を提示させ得る。考察目的で、および図4で考察される実施例に続いて、画像を、第1のフレーム302(1)の第1のピクセルデータに対応する第1の画像と称する。サブブロック504および506によって示されるように、ブロック502における画像の提示は、1つ以上のサブ動作を含み得る。
【0068】
サブブロック504では、例えば、第1のフレーム302(1)についての修正された(第1の)ピクセルデータは、ディスプレイシステムのディスプレイパネル104/204上でスキャンアウトされ得る。例えば、ピクセルの個々の行についてのピクセル値は、ディスプレイポート(例えば、HDMI)を介してディスプレイパネル104/204に順次スキャンアウトされ得、ピクセルの第1のサブセット(例えば、行)から始まり、ピクセルの最後のサブセット(例えば、行)で終わる。
【0069】
サブブロック506において、ディスプレイの発光要素106/206は、ディスプレイ上の第1の画像の提示中に照明され得る。照明は、ライトパルス108/208を発することによって発生し得る。つまり、低持続性ディスプレイシステムは、本明細書で説明されるように可変であり得る、ディスプレイのリフレッシュレートで一連のフレームにわたって発光要素106/206のオンとオフをパルス化することができる。本明細書で説明されるように、サブブロック506での照明中のライトのパルスは、発光要素106/206が同時に照明する照明のグローバルフラッシングであっても、発光要素106/206の個々のサブセットがライトパルス108/208中に順次照明する照明のローリングバンドであってもよい。サブブロック508~514によって示されるように、第1の画像の提示中に発光要素106/206を照明するためのライト出力パラメータの値は、一連のフレームにわたって、ディスプレイの明るさが一定のままであるように、決定され得る。
【0070】
サブブロック508では、ディスプレイシステム(例えば、HMD100/200)の論理は、一連のフレームのうちの先行フレーム302に対する発光要素106/206のライトパルス108(0)(または、照明)と、第1のフレーム302(1)に対する発光要素106/206の次回のライトパルス108(1)(または、照明)との間の第1の時間の差異118(1)/218(1)を決定し得る。第1の時間の差異118(1)/218(1)は、本明細書では現在のフレーム時間と称され得、ディスプレイの現在のリフレッシュレートから導出され得る。説明の実施例では、120Hzの瞬時リフレッシュレートを示す8.3msの第1の時間の差異118(1)/218(1)(または現在のフレーム時間)を考慮する。連続した一対のフレーム302に対応する連続した一対のライトパルス108/208間の第1の時間の差異118(1)/218(1)を決定することは、一対のライトパルス108/208または一対のフレーム間の任意の2つの対応する点の間の時間の差異を決定することを含み得ることを理解されたい。例えば、各ライトパルス108/208の開始点と、各ライトパルス108/208の中間点と、各ライトパルス108/208の終了点との間などの時間の差異118/218を決定することができる。ディスプレイシステムの論理は、いくつかの実施形態では、各アプリケーションによってレンダリングされたフレーム間のピクセルデータにフレーム開始マーカを含み得、これらのフレーム開始マーカを使用して、サブブロック508における第1の時間の差異118(1)/218(1)を決定することができる。
【0071】
サブブロック510において、ディスプレイシステム(例えば、HMD100/200)の論理は、第1の時間の差異118(1)/218(1)に少なくとも部分的に基づいて、ライト出力パラメータの第1の値を決定し得る。本明細書に記載されるように、ライト出力パラメータの値は、第1のフレーム302(1)に対するライトパルス108(1)の大きさに対応し得る。別のライト出力パラメータの値は、第1のフレーム302(1)に対するライトパルス108(1)の持続時間に対応し得る。ローリングバンドタイプのディスプレイ駆動方式では、ライト出力パラメータの値は、ライトパルス108(1)中に同時に照明されるいくつかの発光要素106/206(例えば、照明のローリングバンドの厚さ)に対応し得る。いくつかの実施形態では、これらのライト出力パラメータのうちの複数を決定し、組み合わせ適用して、ライト出力を制御することができる。
【0072】
サブブロック512において、ライト出力パラメータの第1の値を決定することの一部として、論理は、第1の時間の差異118(1)/218(1)と基準フレーム時間112/212との比率を決定し得る。本明細書に記載されるように、基準フレーム時間112/212は、アプリケーション304が目標とするフレームレートの範囲の、最小フレームレートと最大フレームレートとの間の中間フレームレートに対応する時間であってもよい。例えば、アプリケーション304が45FPS~144FPSのフレームレートの範囲を目標とする場合、前述の比率を決定するために使用される基準フレーム時間は、およそ11.11msのフレーム時間である90FPSのフレームレートでのフレーム時間に対応し得る。この実施例では、基準フレーム時間112/212は、11.11msであることになる。しかしながら、これは単に一実施例であり、基準フレーム時間112/212は、本明細書に記載の技法が実装されるディスプレイシステムの仕様に部分的に基づいて構成可能である。説明の実施例では、第1の時間の差異118(1)/218(1)(または、現在のフレーム時間)が8.3msであり、基準フレーム時間112/212が11.11msである場合、サブブロック512において決定される比率は、約0.75であることになる。これは、基準フレームレート112/212における公称ライト出力の75%であるライト出力ファクタであると考えることができ、ライト出力ファクタは、ライト出力を(それが、ライトパルス108(1)の大きさまたは持続時間などの減少であろうと)何らかの方法で減少させることを意味する。いずれの場合も、ライト出力パラメータの第1の値は、この比率に少なくとも部分的に基づいて決定され得る。
【0073】
サブブロック514において、発光要素106/206は、ディスプレイ上の第1の画像の提示中に、ライト出力パラメータの第1の値に従って、ライトパルス108(1)(または、照明)を発するように制御され得る。このプロセス500は、一連のフレームの各フレーム302に対するライト出力パラメータの値を動的に決定することによって、一連のフレームにわたって繰り返すことができる。このように一連のフレーム302にわたってライト出力パラメータを変化させる結果として、ディスプレイの明るさは一連のフレームにわたって実質的に一定のままであり、それによって、ディスプレイのちらつきを排除するか、または少なくとも軽減する。
【0074】
図6は、具現化され得る本明細書に開示される実施形態による、VRヘッドセットなどのHMD600(またはHMD600を含むHMDシステム)の例示的な構成要素を示す。HMD600は、前の図で参照したHMD100/200と同一または同様であり得、したがって、図6に示されるHMD600の構成要素は、HMD100/200に実装され得る。HMD600は、ユーザ102によって(例えば、ユーザ102の頭の上に)着用されることになるスタンドアロンデバイスとして実装され得る。いくつかの実施形態では、HMD600は、ユーザ102が、ユーザ102の頭の周囲に収まるようにサイズ決めされる固設機構(例えば、調節可能バンド)を使用して、HMD600をユーザの頭の上に固設することを可能にすることなどによって、頭に装着可能であってもよい。いくつかの実施形態において、HMD600は、ニアアイまたはニアツーアイディスプレイを含む、仮想現実(VR)または拡張現実(AR)ヘッドセットを含む。したがって、「ウェアラブルデバイス」、「ウェアラブル電子デバイス」、「VRヘッドセット」、「ARヘッドセット」、および「ヘッドマウントディスプレイ(HMD)」という用語は、本明細書では互換的に使用されて、図6のデバイス600を指し得る。しかしながら、これらのタイプのデバイスは、HMD600の単なる実施例であることを理解されたい、HMD600は、様々な他のフォームファクタで実装され得ることを理解されたい。図6に示される構成要素の一部または全部が、HMD600上に実装され得ることも理解されたい。したがって、いくつかの実施形態では、図6に示される構成要素のサブセットは、HMDシステムの一部であるが、PC、ゲームコンソール、または任意の他の好適なコンピューティングデバイスなどのHMD600自体とは別個のコンピューティングデバイス上に実装され得る。非HMDシステムが、本明細書に記載の動的ライト出力調節の技法およびプロセスを少なくとも実装するために、いくつかの類似の構成要素を含み得ることも理解されたい。
【0075】
説明される実装例では、HMD600は、1つ以上のプロセッサ602およびメモリ604(例えば、コンピュータ可読媒体604)を含む。いくつかの実装例では、プロセッサ602は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)603、CPUおよびGPU603の両方、マイクロプロセッサ、デジタル信号プロセッサ、または当該技術分野で既知の他の処理ユニットもしくは構成要素を含み得る。代替的に、またはさらに、本明細書で機能的に説明されるのは、1つ以上のハードウェア論理構成要素によって少なくとも部分的に実施され得る。例えば、非限定的に、使用され得るハードウェア論理構成要素の例示的なタイプとしては、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、複合プログラマブル論理デバイス(CPLD)などが挙げられる。加えて、プロセッサ602の各々は、プログラムモジュール、プログラムデータ、および/または1つ以上のオペレーティングシステムを記憶することもできる、プロセッサ独自のローカルメモリを保有し得る。
【0076】
メモリ604は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性メモリ、取り外し可能媒体および取り外し不可能媒体を含み得る。かかるメモリとしては、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、RAIDストレージシステム、または所望の情報を記憶するために使用することができ、かつコンピューティングデバイスからアクセスすることができる任意の他の媒体が挙げられるが、これらに限定されない。メモリ604は、コンピュータ可読記憶媒体(「CRSM」)として実装され得、これは、メモリ602に記憶された命令を実行するためにプロセッサ602によってアクセス可能な任意の利用可能な物理媒体であり得る。1つの基本的な実装例では、CRSMは、ランダムアクセスメモリ(「RAM」)およびフラッシュメモリを含み得る。他の実装例では、CRSMは、読み出し専用メモリ(「ROM」)、電気的に消去可能なプログラマブル読み出し専用メモリ(「EEPROM」)、または所望の情報を記憶するために使用され得、かつプロセッサ602によってアクセスされ得る、任意の他の有形媒体を含み得るが、これらに限定されない。
【0077】
概して、HMD600(またはHMDシステム)は、本明細書に説明される技法、機能、および/または動作を実装するように構成される論理(例えば、ソフトウェア、ハードウェア、および/またはファームウェアなど)を含み得る。コンピュータ可読媒体604は、命令、データストアなどのような、様々なモジュールを含むものとして示され、これらのモジュールは、本明細書に説明される技法、機能、および/または動作を行うためにプロセッサ602上で実行するように構成され得る。コンピュータ可読媒体604に記憶され、かつプロセッサ602上で実行可能なものとして、数個の例示的な機能モジュールが示されているが、同じ機能が、代替的に、ハードウェア、ファームウェア内に、またはシステムオンチップ(SOC)および/もしくは他の論理として実装されてもよい。
【0078】
オペレーティングシステムモジュール606は、他のモジュールの便宜のために、HMD600内でHMD600に連結されたハードウェアを管理するように構成され得る。加えて、いくつかの事例では、HMD600は、メモリ604に記憶されているか、またはさもなければHMD600にアクセス可能な1つ以上のアプリケーション304を含み得る。この実装例では、アプリケーション304は、ゲームアプリケーション608を含む。しかしながら、HMD600は、任意の数またはタイプのアプリケーションを含み得、ここに示される特定の実施例に限定されない。ゲームアプリケーション608は、ユーザ102によってプレー可能であるビデオベースのインタラクティブゲーム(例えば、VRゲーム)のゲームプレーを開始し、HMD600のディスプレイパネル上にレンダリングされるべきフレーム302を出力するように構成され得る。コンポジタ308は、HMD600の他の論理と組み合わせて、本明細書に記載の技法を実施して、プロセス400の実装によるなどの、再投影によりフレーム302をレンダリングするように構成され得る。ライト出力調節構成要素610は、HMD600の他の論理と組み合わせて、本明細書に記載の技法を実施して、連続したフレーム302に対応する連続したライトパルス108/208間の時間の差異に基づいて、発光要素106/206のライト出力を動的に調節するように構成され得る。
【0079】
概して、HMD500は、入力デバイス612および出力デバイス614を有する。入力デバイス612は、制御ボタンを含み得る。いくつかの実装例では、1つ以上のマイクロフォンが、ユーザ音声入力などのオーディオ入力を受信するための入力デバイス612として機能し得る。いくつかの実装例では、1つ以上のカメラまたは他のタイプのセンサ(例えば、慣性測定ユニット(IMU))が、ユーザ102の手および/または頭の動きなどの、ジェスチャ入力を受信するための入力デバイス612として機能し得る。いくつかの実施形態において、追加の入力デバイス612が、キーボード、キーパッド、マウス、タッチスクリーン、ジョイスティック、ハンドヘルドコントローラなどの形態で提供され得る。他の実施形態において、HMD600は、キーボード、キーパッド、または他の同様の形態の機械的入力を省略してもよい。代わりに、HMD600は、入力デバイス612の比較的単純な形態、ネットワークインターフェイス(無線または有線ベース)、電源、および処理/メモリ機能で実装され得る。例えば、1つ以上の入力構成要素の限定されたセット(例えば、構成を開始する、電源をオン/オフするなどのための専用ボタン)が用いられ得、HMD600は、その後に使用され得る。1つの実装例において、入力デバイス612は、音量を増加/減少させるための基本的な音量制御ボタン、ならびに電源およびリセットボタンなどの制御機構を含み得る。
【0080】
出力デバイス614は、ディスプレイ616を含み得、ディスプレイ616は、本明細書に記載されるように、発光要素106/206を含む1つまたは複数のディスプレイパネル104/204(例えば、ディスプレイパネル104/204のステレオ対)を含み得る。出力デバイス614は、ライト要素(例えば、LED)、触覚感覚を作り出すためのバイブレータ、スピーカ(例えば、ヘッドフォン)などをさらに含み得るが、これらに限定されない。例えば、電源がオンであるときなどの状態を示すための単純なライト要素(例えば、LED)も存在し得る。
【0081】
HMD600は、ネットワークへの無線接続を容易にするために、アンテナ620に連結された無線ユニット618をさらに含み得る。無線ユニット618は、Wi-Fi、Bluetooth、無線周波数(RF)などといった、様々な無線技術のうちの1つ以上を実装し得る。HMD600は、ネットワーク、接続された周辺デバイス(PC、ゲームコンソールなどを含む)、または他の無線ネットワークと通信し、HMDシステムの一部であり得るプラグインネットワークデバイスへの有線接続を容易にするための物理ポートをさらに含み得ることを理解されたい。
【0082】
HMD600は、1つ以上の光学要素を使用して、電子ディスプレイ616からユーザの目にライトを向ける光学サブシステム622をさらに含み得る。光学サブシステム622は、非限定的に、アパーチャ、レンズ(例えば、フレネルレンズ、凸レンズ、凹レンズなど)、フィルタなどを含む、異なる光学要素の様々なタイプおよび組み合わせを含み得る。いくつかの実施形態では、光学サブシステム622内の1つ以上の光学要素は、反射防止コーティングなどの1つ以上のコーティングを有し得る。光学サブシステム622による画像ライトの拡大により、電子ディスプレイ616を、より大きなディスプレイよりも物理的により小さく、軽量で、より消費電力が少ないものにすることができる。加えて、画像ライトの拡大は、表示されたコンテンツ(例えば、画像)の視野(FOV)を増加させ得る。例えば、表示されたコンテンツのFOVは、表示されたコンテンツが、ユーザのFOVのほぼすべて(例えば、対角120~150度)、場合によってはすべてを使用して提示されるようなものである。ARアプリケーションは、より狭いFOV(例えば、約40度のFOV)を有していてもよい。光学サブシステム622は、非限定的に、樽型歪み、ピンクッション歪み、長手方向色収差、横収差、球面収差、コマ収差、像面湾曲、非点収差などといった、1つ以上の光学誤差を補正するように設計され得る。いくつかの実施形態では、表示のために電子ディスプレイ616に提供されるコンテンツは、事前に歪められており、光学サブシステム622は、コンテンツに基づいて生成された、電子ディスプレイ616からの画像ライトを受けると、その歪みを補正する。
【0083】
HMD600は、動き、位置、および向きのデータを生成するために使用されるセンサなどの、1つ以上のセンサ624をさらに含み得る。これらのセンサ624は、ジャイロスコープ、加速度計、磁力計、ビデオカメラ、カラーセンサ、または他の動き、位置、および向きのセンサであり得るか、もしくはこれらを含み得る。センサ624はまた、動き、位置、および向きのデータを生成するために、カメラまたはカラーセンサによって外部から視認され得る一連の能動または受動マーカなどの、センサの二次的部分を含み得る。例えば、VRヘッドセットは、その外部に、外部カメラによって視認した場合、またはライト(例えば、赤外線もしくは可視ライト)によって照明した場合に、動き、位置、および向きのデータを生成するために、ソフトウェアによる解釈のための1つ以上の基準点を提供し得る、反射器またはライト(例えば、赤外線もしくは可視ライト)などの複数のマーカを含み得る。HMD600は、HMD600の環境内の基地局によって投影または散布されるライト(例えば、赤外線または可視ライト)に対して感応性であるライトセンサを含み得る。
【0084】
一実施例では、センサ624は、慣性測定ユニット(IMU)626を含み得る。IMU626は、加速度計、ジャイロスコープ、磁力計、および/または動きの検出、IMU626に関連付けられた誤差の補正、もしくはこれらのいくつかの組み合わせに好適な他のセンサから受信された測定信号に基づいて、較正データを生成する電子デバイスであり得る。測定信号に基づいて、IMU626などの、かかる動きベースのセンサは、HMD600の初期位置に対するHMD600の推定位置を示す較正データを生成し得る。例えば、複数の加速度計が並進方向の動き(前方/後方、上/下、左/右)を測定し、複数のジャイロスコープが回転方向の動き(例えば、ピッチ、ヨー、およびロール)を測定してもよい。IMU626は、例えば、測定信号を迅速にサンプリングし、サンプリングされたデータからHMD600の推定位置を計算し得る。例えば、IMU626は、経時的に加速度計から受信された測定信号を統合して速度ベクトルを推定し得、経時的に速度ベクトルを統合して、HMD600上の基準点の推定位置を決定する。基準点は、HMD600の位置を説明するために使用され得る点である。基準点は、概して、空間内の点として定義され得るが、様々な実施形態では、基準点は、HMD600内の点(例えば、IMU626の中心)として定義される。代替的に、IMU626は、サンプリングされた測定信号を外部コンソール(または他のコンピューティングデバイス)に提供し、外部コンソールが較正データを決定する。
【0085】
センサ624は、センサデータを高レートで提供するために、比較的高い周波数で動作し得る。例えば、センサデータは、1000Hzのレート(または1ミリ秒ごとに1つのセンサ読み取り)で生成され得る。このようにして、1秒間に1000回の読み取りが行われる。センサがこのレートで(またはそれ以上のレートで)これだけのデータを生成する場合、動きを予測するために使用されるデータセットは、数十ミリ秒ほどの比較的短い期間でも非常に大きくなる。
【0086】
言及されるように、いくつかの実施形態では、センサ624は、3D空間内のHMD600の位置および/または向き、姿勢などを追跡する目的で、HMD600の環境内の基地局が発するライトに対して感応性であるライトセンサを含み得る。位置および/または向きの計算は、ライトパルスのタイミング特性、およびセンサ624によって検出されるライトの有無に基づき得る。
【0087】
HMD600は、目追跡データを生成する目追跡システム628をさらに含み得る。目追跡システム628は、限定されないが、ユーザの目の画像データ(または情報)をキャプチャするためにHMD600の内部のカメラまたは他の光学センサを含み得、目追跡システム628は、キャプチャされたデータ/情報を使用して、ねじれおよび回転の大きさ(すなわち、ロール、ピッチ、およびヨー)ならびに各目の視線の方向を含む、動きベクトル、瞳孔間距離、眼間距離、HMD600に対する各目の三次元(3D)位置を決定することができる。1つの実施例では、赤外線ライトが、HMD600内で発され、各目から反射される。反射ライトは、目追跡システム628のカメラによって受けられるか、または検出され、各目によって反射された赤外線ライトの変化から目の回転を抽出するために分析される。ユーザ102の目を追跡するための多くの方法が、目追跡システム628によって使用され得る。したがって、目追跡システム628は、目ごとに最大6自由度(すなわち、3D位置、ロール、ピッチ、およびヨー)を追跡し得、少なくとも追跡された量のサブセットが、視線の点(すなわち、ユーザが見ている仮想シーン内の3Dの場所または位置)を推定するためにユーザ102の2つの目から組み合わせられ得、その視線の点は、ユーザ102が、ディスプレイパネル104/204のピクセルの個々のサブセット(例えば、行)または連続サブセットのグループ(例えば、連続行のグループ)に関してどこを見ているかを予測するためにディスプレイパネル104/204上の場所にマッピングされ得る。例えば、目追跡システム628は、過去の測定値からの情報、ユーザ102の頭の位置を識別する測定値、および電子ディスプレイ616によって提示されるシーンを説明する3D情報を統合し得る。したがって、ユーザ102の目の位置および向きの情報は、ユーザ102が見ている、HMD600によって提示された仮想シーン内の視線の点を決定し、その視線の点を、HMD600のディスプレイパネル104/204上の場所にマッピングするために使用される。動きベクトルは、目の運動の軌道などを予測するために利用され得る。
【0088】
HMD600は、ヘッド追跡システム630をさらに含み得る。ヘッド追跡システム630は、上記のように、センサ624のうちの1つ以上を利用して、ユーザ102の頭の回転を含む頭の動きを追跡し得る。例えば、ヘッド追跡システム630は、HMD600の最大6自由度(すなわち、3D位置、ロール、ピッチ、およびヨー)を追跡し得る。これらの計算を、一連のフレーム302のすべてのフレーム302で行うことができ、これにより、アプリケーション304は、頭の位置および向きに応じて、次のフレーム302内でシーンをどのようにレンダリングするかを決定することができ、かつこれにより、コンポジタ308は、再投影調節のコンピュータ処理を行うことができる。いくつかの実施形態では、ヘッド追跡システム630、および/またはヘッド追跡システム630を使用するコンポジタ308は、本明細書に記載されるように、現在および/もしくは過去のデータに基づいて、ならびに/またはローリングバンドディスプレイ駆動技法を実装するディスプレイシステム内のピクセルの個々のサブセットの既知/暗黙のスキャンアウト待ち時間に基づいて、HMD600の将来の姿勢(位置および/または向き)を予測するように構成される。これは、ユーザ102がディスプレイ616上でライト(および、ひいては、画像)を実際に見る前に、アプリケーション304がフレーム302をレンダリングするように求められるためである。したがって、次のフレーム302は、瞬時フレームレートおよび/またはリフレッシュレートに応じて、フレーム302をレンダリングする前のおよそ12~30ミリ秒(ms)の範囲内であり得るより早い時点で行われた、頭の位置および/または向きの将来の予測に基づいて、レンダリングすることができる。ヘッド追跡システム630によって提供される回転データは、任意の好適な測定単位で、HMD600の回転方向およびHMD600の回転量の両方を決定するために使用され得る。例えば、回転方向は、左、右、上、および下に対応する、正または負の水平方向および正または負の垂直方向の観点で単純化されて出力され得る。回転量は、度、ラジアンなどで表すことがでる。角速度を計算して、HMD600の回転のレートを決定することができる。
【0089】
本主題は、構造的特徴に特有の言語で説明されているが、添付の特許請求の範囲に定義された主題は、必ずしも説明された特定の特徴に限定されるものではないことを理解されたい。むしろ、特定の特徴は、特許請求の範囲を実装する例示的な形態として開示される。
以下に、本願出願時の特許請求の範囲に記載された発明を付記する。
[1] ディスプレイシステムであって、
発光要素のアレイを有するディスプレイであって、前記ディスプレイが、可変リフレッシュレートをサポートするように構成されている、ディスプレイと、
1つ以上のプロセッサと、
コンピュータ実行可能命令を記憶するメモリと、を備え、前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されたとき、前記ディスプレイシステムに、
一連のフレームのうちの第1のフレームに関連付けられた第1のピクセルデータをフレームバッファに出力することと、
前記一連のフレームのうちの先行フレームに対する前記発光要素の照明と、前記第1のフレームに対する前記発光要素の次回の照明との間の第1の時間の差異を決定することと、
前記第1の時間の差異に少なくとも部分的に基づいて、ライト出力パラメータの第1の値を決定することと、
前記第1のピクセルデータに少なくとも部分的に基づいて、第1の画像を前記ディスプレイ上に提示することと、
前記ディスプレイ上の前記第1の画像の提示中に、前記ライト出力パラメータの前記第1の値に従って前記発光要素を照明することと、を行わせる、ディスプレイシステム。
[2] 前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されたとき、前記ディスプレイシステムに、
前記一連のフレームのうちの第2のフレームに関連付けられた第2のピクセルデータを前記フレームバッファに出力することと、
前記第1のフレームに対する前記発光要素の照明と、前記第2のフレームに対する前記発光要素の次回の照明との間の第2の時間の差異を決定することと、
前記第2の時間の差異に少なくとも部分的に基づいて、前記ライト出力パラメータの第2の値を決定することと、
前記第2のピクセルデータに少なくとも部分的に基づいて、第2の画像を前記ディスプレイ上に提示することと、
前記ディスプレイ上の前記第2の画像の提示中に、前記ライト出力パラメータの前記第2の値に従って前記発光要素を照明することと、をさらに行わせ、
前記第2の時間の差異が、前記第1の時間の差異よりも大きく、
前記ライト出力パラメータの前記第2の値により、前記発光要素が、前記ライト出力パラメータの前記第1の値よりも大きい輝度で、または前記第1の値よりも長い持続時間にわたって、ライトを発することを引き起こし、
前記第2の時間の差異が、前記第1の時間の差異よりも小さく、
前記ライト出力パラメータの前記第2の値により、前記発光要素が、前記ライト出力パラメータの前記第1の値よりも小さい輝度で、または前記第1の値よりも短い持続時間にわたって、ライトを発することを引き起こす、[1]に記載のディスプレイシステム。
[3] 前記ライト出力パラメータの前記第1の値が、
前記発光要素を照明するためのライトのパルスの大きさ、
前記発光要素を照明するための前記ライトのパルスの持続時間、または
前記ディスプレイ上の前記第1の画像の前記提示中に、前記発光要素の個々のサブセットを順次照明する間に同時に照明される前記発光要素の数のうちの少なくとも1つに対応する、[1]に記載のディスプレイシステム。
[4] 前記第1の時間の差異に少なくとも部分的に基づいて、前記ライト出力パラメータの前記第1の値を決定することが、
前記第1の時間の差異と基準フレーム時間との比率を決定することと、
前記比率に少なくとも部分的に基づいて、前記ライト出力パラメータの前記第1の値を決定することと、を含む、[1]に記載のディスプレイシステム。
[5] 前記第1のフレームをレンダリングしたアプリケーションが、最小フレームレートから最大フレームレートまでのフレームレートの範囲内のフレームレートを目標とするように構成され、前記基準フレーム時間が、前記最小フレームレートと前記最大フレームレートとの間の中間フレームレートに対応するフレーム時間に対応する、[4]に記載のディスプレイシステム。
[6] 前記ディスプレイが、ヘッドマウントディスプレイ(HMD)であり、前記ディスプレイシステムが、ヘッド追跡システムをさらに備え、前記コンピュータ実行可能命令が、前記第1のピクセルデータを前記フレームバッファに出力する前に、前記1つ以上のプロセッサによって実行されたとき、前記ディスプレイシステムに、
前記発光要素が前記第1のフレームに対して照明する時間を表す予測照明時間を決定すことと、
前記ヘッド追跡システムによって生成されたヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記予測照明時間においてとるであろう予測姿勢を決定することと、
前記予測姿勢を示す姿勢データを、前記第1のフレームをレンダリングするためのアプリケーションに送信することと、
前記アプリケーションから、前記第1のフレームのピクセルデータを受信することと、
前記アプリケーションが前記第1のフレームをレンダリングするのに費やした時間量に少なくとも部分的に基づいて、前記発光要素が前記第1のフレームに対して照明する前記時間を表す新しい予測照明時間を決定することと、
前記ヘッド追跡システムによって生成された前記ヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記新しい予測照明時間においてとるであろう新しい予測姿勢を決定することと、
前記予測姿勢および前記新しい予測姿勢に少なくとも部分的に基づいて、前記ピクセルデータに再投影調節を適用して、前記第1のフレームに関連付けられた前記第1のピクセルデータを取得することと、をさらに行わせる、[1]に記載のディスプレイシステム。
[7]
前記予測照明時間を決定することが、
前記アプリケーションが前記先行フレームをレンダリングするのに費やした第1の時間量を決定することと、
前記第1の時間量に少なくとも部分的に基づいて、前記アプリケーションが前記第1のフレームをレンダリングするのに費やすであろう時間量を表す予測レンダリング時間を決定することと、を含み、
前記予測照明時間が、前記予測レンダリング時間に少なくとも部分的に基づいて決定される、[6]に記載のディスプレイシステム。
[8] 前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されたとき、前記ディスプレイシステムに、
前記アプリケーションが前記先行フレームに先行する前のフレームをレンダリングするのに費やした第2の時間量を決定することと、
前記第1の時間量および前記第2の時間量に少なくとも部分的に基づいて、平均レンダリング時間を決定することと、をさらに行わせ、
前記予測レンダリング時間を前記決定することが、前記平均レンダリング時間に少なくとも部分的に基づく、[7]に記載のディスプレイシステム。
[9] 前記ディスプレイシステムが、仮想現実(VR)ディスプレイシステムまたは拡張現実(AR)ディスプレイシステムのうちの少なくとも1つである、[1]に記載のディスプレイシステム。
[10] 発光要素のアレイを有するディスプレイを含むディスプレイシステムによって実装される方法であって、前記方法が、
第1のピクセルデータをフレームバッファに出力することであって、前記第1のピクセルデータが、一連のフレームのうちの第1のフレームに関連付けられる、出力することと、
前記一連のフレームのうちの先行フレームに対する前記発光要素のライトパルスと、前記第1のフレームに対する前記発光要素の次回のライトパルスとの間の第1の時間の差異を決定することと、
前記第1の時間の差異に少なくとも部分的に基づいて、ライト出力パラメータの第1の値を決定することと、
前記第1のピクセルデータに少なくとも部分的に基づいて、第1の画像を前記ディスプレイ上に提示することと、
前記ディスプレイ上の前記第1の画像の提示中に、前記ライト出力パラメータの前記第1の値に従って、ライトパルスを発するように前記発光要素を制御することと、を含む、方法。
[11] 前記ライト出力パラメータの前記第1の値が、
前記第1のフレームに対する前記ライトパルスの大きさ、
前記第1のフレームに対する前記ライトパルスの持続時間、または
前記ライトパルス中に同時に照明される前記発光要素の数のうちの少なくとも1つに対応する、[10]に記載の方法。
[12] 前記第1の時間の差異に少なくとも部分的に基づいて、前記ライト出力パラメータの前記第1の値を前記決定することが、
前記第1の時間の差異と基準フレーム時間との比率を決定することと、
前記比率に少なくとも部分的に基づいて、前記ライト出力パラメータの前記第1の値を決定することと、を含む、[10]に記載の方法。
[13] 前記ディスプレイが、ヘッドマウントディスプレイ(HMD)であり、前記方法が、前記第1のピクセルデータを前記フレームバッファに前記出力する前に、
前記第1のフレームに対する前記ライトパルスが発生する時間を表す予測照明時間を決定することと、
前記ディスプレイシステムのヘッド追跡システムによって生成されたヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記予測照明時間においてとるであろう予測姿勢を決定することと、
前記予測姿勢を示す姿勢データを、前記第1のフレームをレンダリングするためのアプリケーションに送信することと、
前記アプリケーションから、前記第1のフレームのピクセルデータを受信することと、
前記アプリケーションが前記第1のフレームをレンダリングするのに費やした時間量に少なくとも部分的に基づいて、前記第1のフレームに対する前記ライトパルスが発生する前記時間を表す新しい予測照明時間を決定することと、
前記ヘッド追跡システムによって生成された前記ヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記新しい予測照明時間においてとるであろう新しい予測姿勢を決定することと、
前記予測姿勢および前記新しい予測姿勢に少なくとも部分的に基づいて、前記ピクセルデータに再投影調節を適用して、前記第1のフレームに関連付けられた前記第1のピクセルデータを取得することと、をさらに含む、[10]に記載の方法。
[14] 前記アプリケーションが前記先行フレームをレンダリングするのに費やした第1の時間量を決定することと、
前記第1の時間量に少なくとも部分的に基づいて、前記アプリケーションが前記第1のフレームをレンダリングするのに費やすであろう時間量を表す予測レンダリング時間を決定することと、をさらに含み、
前記予測照明時間が、前記予測レンダリング時間に少なくとも部分的に基づいて決定される、[13]に記載の方法。
[15] 前記ライトパルスを発するように前記発光要素を前記制御することが、
前記発光要素が同時にライトを発することを引き起こすこと、または
前記発光要素の個々のサブセットが前記ライトを順次発することを引き起こすことのうちの少なくとも1つを含む、[10]に記載の方法。
[16] システムであって、
ライト源のアレイを有するディスプレイと、
前記ライト源のアレイに連結されたディスプレイドライバ回路と、
1つ以上のプロセッサと、を備え、前記1つ以上のプロセッサが、
第1のピクセルデータをフレームバッファに出力することであって、前記第1のピクセルデータが、一連のフレームのうちの第1のフレームに関連付けられる、出力することと、
前記一連のフレームのうちの先行フレームに対する前記ライト源の照明と、前記第1のフレームに対する前記ライト源の次回の照明との間の第1の時間の差異を決定することと、
前記第1の時間の差異に少なくとも部分的に基づいて、ライト出力パラメータの第1の値を決定することと、
前記第1のピクセルデータに少なくとも部分的に基づいて、第1の画像を前記ディスプレイ上に提示することと、
前記ディスプレイ上の前記第1の画像の提示中に、前記ディスプレイドライバ回路に、前記ライト出力パラメータの前記第1の値に従って、前記ライト源を照明させることと、を行う、システム。
[17] 前記ライト出力パラメータの前記第1の値が、
前記ライト源を照明するためのライトのパルスの大きさ、
前記ライト源を照明するための前記ライトのパルスの持続時間、または
前記ディスプレイ上の前記第1の画像の前記提示中に、前記ライト源の個々のサブセットを順次照明する間に同時に照明される前記ライト源の数のうちの少なくとも1つに対応する、[16]に記載のシステム。
[18] 前記第1の時間の差異に少なくとも部分的に基づいて、前記ライト出力パラメータの前記第1の値を決定することが、
前記第1の時間の差異と基準フレーム時間との比率を決定することと、
前記比率に少なくとも部分的に基づいて、前記ライト出力パラメータの前記第1の値を決定することと、を含む、[16]に記載のシステム。
[19] ヘッド追跡システムをさらに備え、前記ディスプレイが、ヘッドマウントディスプレイ(HMD)であり、前記1つ以上のプロセッサが、前記第1のピクセルデータを前記フレームバッファに出力する前に、
前記ライト源が前記第1のフレームに対して照明する時間を表す予測照明時間を決定することと、
前記ヘッド追跡システムによって生成されたヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記予測照明時間においてとるであろう予測姿勢を決定することと、
前記予測姿勢を示す姿勢データを、前記第1のフレームをレンダリングするためのアプリケーションに送信することと、
前記アプリケーションから、前記第1のフレームのピクセルデータを受信することと、
前記アプリケーションが前記第1のフレームをレンダリングするのに費やした時間量に少なくとも部分的に基づいて、前記ライト源が前記第1のフレームに対して照明する前記時間を表す新しい予測照明時間を決定することと、
前記ヘッド追跡システムによって生成された前記ヘッド追跡データに少なくとも部分的に基づいて、前記HMDが前記新しい予測照明時間においてとるであろう新しい予測姿勢を決定することと、
前記予測姿勢および前記新しい予測姿勢に少なくとも部分的に基づいて、前記ピクセルデータに再投影調節を適用して、前記第1のフレームに関連付けられた前記第1のピクセルデータを取得することと、を行うようにさらに構成されている、[16]に記載のシステム。
[20] 前記1つ以上のプロセッサが、
前記アプリケーションが前記先行フレームをレンダリングするのに費やした第1の時間量を決定することと、
前記第1の時間量に少なくとも部分的に基づいて、前記アプリケーションが前記第1のフレームをレンダリングするのに費やすであろう時間量を表す予測レンダリング時間を決定することと、を行うようにさらに構成されており、
前記予測照明時間が、前記予測レンダリング時間に少なくとも部分的に基づいて決定される、[19]に記載のシステム。
図1
図2
図3
図4
図5
図6