JP2022517991A - 眼追跡に基づく動的レンダリング時間ターゲット化 - Google Patents

眼追跡に基づく動的レンダリング時間ターゲット化 Download PDF

Info

Publication number
JP2022517991A
JP2022517991A JP2021540310A JP2021540310A JP2022517991A JP 2022517991 A JP2022517991 A JP 2022517991A JP 2021540310 A JP2021540310 A JP 2021540310A JP 2021540310 A JP2021540310 A JP 2021540310A JP 2022517991 A JP2022517991 A JP 2022517991A
Authority
JP
Japan
Prior art keywords
hmd
pixels
display panel
frame
individual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021540310A
Other languages
English (en)
Other versions
JPWO2020150191A5 (ja
Inventor
セラン、ジェレミー・アダム
Original Assignee
バルブ コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バルブ コーポレーション filed Critical バルブ コーポレーション
Publication of JP2022517991A publication Critical patent/JP2022517991A/ja
Publication of JPWO2020150191A5 publication Critical patent/JPWO2020150191A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/22Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/3406Control of illumination source
    • G09G3/342Control of illumination source using several illumination sources separately controlled corresponding to different display panel areas, e.g. along one dimension such as lines
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0147Head-up displays characterised by optical features comprising a device modifying the resolution of the displayed image
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/02Addressing, scanning or driving the display screen or processing steps related thereto
    • G09G2310/024Scrolling of light from the illumination source over the display in combination with the scanning of the display screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0613The adjustment depending on the type of the information to be displayed
    • G09G2320/062Adjustment of illumination source parameters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2380/00Specific applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Optics & Photonics (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

ローリング照明表示パネルを備えるヘッドマウントディスプレイ(HMD)は、眼追跡に基づいて所与のフレームのレンダリング時間を動的にターゲットにすることができる。このアプローチを使用して、再投影の調整は、ユーザが見ているディスプレイ(複数可)の場所で最小限に抑えられ、その「関心領域」内の不要な再投影ベースの視覚アーチファクトを軽減する。例えば、HMDのロジックは、ユーザが所与のフレームの照明期間中に見ているディスプレイパネル上の位置を予測し得、その照明期間内で、予測位置に対応するピクセルの個々のサブセットが照明される時間を決定し得、HMDが決定された時間にとられ得る姿勢を予測し得、この予測姿勢を示す姿勢データをフレームをレンダリングするためのアプリケーションに送信し得る。【選択図】図1

Description

関連出願の相互参照
本出願は、2019年1月14日に出願された共同出願中の米国仮特許出願第62/792,305号の優先権を主張する、2019年3月27日に出願された「DYNAMIC RENDER TIME TARGETING BASED ON EYE TRACKING」と題する米国特許出願第16/367,008号の優先権を主張するPCT出願である。出願第16/367,008号および同第62/792,305号は、参照により全体が本明細書に組み込まれる。
仮想現実(VR)システムは、ビデオゲーム業界の内部および外部の両方で使用されている。VRヘッドセットに内蔵されているようなVRシステム用ディスプレイは、様々なディスプレイ駆動技術を使用して動作することができる。いくつかのVRシステムは、ディスプレイ(複数可)を駆動するために「グローバルフラッシング」技術を使用する。グローバルフラッシング技術では、ディスプレイ(複数可)のすべてのピクセルは、所与のフレームについてディスプレイ(複数可)上に画像を提示するために同期して明るくなる。他のVRシステムは、ディスプレイ(複数可)を駆動するために「ローリングバンド」技術を使用する。ローリングバンド技術において、ピクセルの行は、所与のフレームについてディスプレイ(複数可)上に画像を提示するために順番に(典型的には上から下に)明るくされる。言い換えれば、ローリングバンドディスプレイ駆動技術では、照明は、所与のフレームについての画像の提示中にディスプレイにわたって伝播(または「ロール」)する。
ローリングバンドディスプレイ駆動技術を実装するVRヘッドセットのユーザは、ディスプレイ(複数可)の上部または下部を見ると、それらの領域内の移動またはアニメ化しているオブジェクトに関して、「ジャダ」などの望ましくない視覚的アーチファクトに気づき得る。ジャダは、移動しているオブジェクト、ディスプレイの底部で移動しているユーザの手の仮想表現など、が2つの場所の間で(またはそれ自体から離れて)フレーム間で跳ね返るように見える、「ダブルゴースト効果」をユーザに知覚させる。ディスプレイ(複数可)の上部および下部付近のこの望ましくない視覚アーチファクトの原因は、所与のフレームをレンダリングするためにアプリケーションに提供されるターゲットレンダリング時間に部分的に起因し、部分的には、ユーザの頭部姿勢の最新推定値と整列した画像を提示するためにアプリケーションによってレンダリングされたフレームに回転補正を適用する再投影ステップに起因する。
VRヘッドセットのディスプレイパネルに画像を提示するために使用されるレンダリングされたフレームを出力する、ビデオゲームなどのグラフィックベースのアプリケーションを検討する。ユーザの頭部姿勢に基づいて正しいシーンをレンダリングするために、アプリケーションは、入力として、ユーザの頭部の予測された姿勢を受信する。しかしながら、ラスタライゼーションベースのレンダリングアプローチでは、アプリケーションは、問題のフレームをレンダリングするための入力として(単一のターゲットレンダリング時間に基づいて)単一の姿勢のみを受け入れることができる。これは、ユーザの頭部の元の姿勢予測のために、単一のターゲットレンダリング時間を選択する必要があることを意味する。ローリングバンドディスプレイ駆動技術を使用するVRシステムにおいて、1つのオプションは、各フレームのターゲットレンダリング時間として、ピクセルの中央行が照明される時間を選択することである。このアプローチは、フレーム全体の再投影調整の総量を最小限に抑えることが期待されるが、それにもかかわらず、ユーザが常にディスプレイパネル(複数可)の中央を見ているわけではないため、ディスプレイ(複数可)の上部および下部付近でユーザが気付く不要なジャダアーチファクトを軽減することはできない。実際、ユーザの眼はディスプレイパネル(複数可)の周りをさまよう傾向があり、VRヘッドセットが使用されるときにディスプレイ(複数可)の上部または下部をしばしば見つめる。ユーザの眼がディスプレイの中央からディスプレイの上部または下部に迷っている場合、例えば、ディスプレイ(複数可)の上部または下部付近のピクセル値に適用される再投影調整は、ディスプレイのそれらの領域内の移動またはアニメーション化オブジェクトに関して顕著なジャダアーチファクトを引き起こし得る。
本明細書では、これらのシステムおよび他のシステムを改善および強化するための技術的解決法を提供する。
詳細な説明を、添付の図面を参照して説明する。図において、参照符号の左端の数字は、参照符号が最初に現れる図を指す。異なる図における同じ参照番号の使用は、類似または同一の部品または機能を示す。
本明細書に開示される実施形態による、眼追跡に基づいて、所与のフレームのレンダリング時間を動的にターゲットにするための例示的な技術を例示する図である。 本明細書に開示される実施形態による、眼追跡に基づいて所与のフレームのレンダリング時間を動的にターゲットにするためのアプローチを使用する場合に、異なるサブセットのピクセルについての再投影調整の程度がディスプレイ全体でどのように変化するかを例示する図である。 本明細書に開示される実施形態による、眼追跡に基づいて所与のフレームのレンダリング時間を動的にターゲット化するための例示的なプロセスのフロー図を例示する。 本明細書に開示される実施形態による、再投影調整を適用するための例示的なサブプロセスのフロー図を例示する。 本明細書に開示される技術が実装され得る、VRヘッドセットなどの装着用デバイスの例示的な構成要素を例示する。
本明細書では、とりわけ、眼追跡およびピクセルの個々のサブセットの暗黙のスキャンアウト待ち時間に基づいて、所与のフレームのレンダリング時間を動的にターゲットにするためのヘッドマウントディスプレイ(HMD)システムを含む技術およびシステムについて説明される。このアプローチを使用して、ユーザが画像提示中に見ているディスプレイ(複数可)の場所でのピクセル値にほとんど再投影調整が適用され、これは、ユーザが見ている「関心領域」内の不要な再投影ベースの視覚アーチファクトを軽減する。一般に、大規模な再投影調整がアプリケーションによって再投影されたフレームに適用されると、結果として生じる再投影されたフレームは、ジャダなどの望ましくない視覚的アーチファクトを呈し、ジャダは、フレーム間で2つ以上のオブジェクトに分割された可動オブジェクトまたはアニメーションオブジェクトとして現れる。対照的に、小規模の再投影調整がアプリケーションにより再投影されたフレームに適用される場合、結果として生じる再投影されたフレームは、再投影によって引き起こされるこれらの望ましくない視覚的アーチファクトを軽減する。したがって、フレームを正しくレンダリングするための予測を可能な限り正確に行い、再投影中に可能な限り少ない再投影調整を行うことを目的として、本明細書に記載の技術およびシステムは、ユーザが関心領域内のピクセル値への再投影調整を最小限に抑えることによって、関心領域内の画質を改善する。これにより、ローリングバンド表示駆動技術を実装するHMDの表示品質が向上する。
例示的な例では、HMDは、ユーザが仮想現実(VR)環境または拡張現実(AR)環境に没入する目的で、ユーザによって装着され得る。HMDの1つ以上のディスプレイパネルは、アプリケーション(例えば、ビデオゲーム)によって出力されたフレームに基づいて画像を提示し、これらの画像は、HMDに含まれる光学系を通してユーザに表示され、ユーザは、ユーザがVRまたはAR環境に没入しているかのように画像を知覚する。HMDは、ローリングバンド技術を利用して、照明期間にわたってピクセルの個々のサブセットを順次照明することによってHMDのディスプレイパネル(複数可)を駆動し得る。したがって、照明は、所与のフレームについての画像の提示中にディスプレイパネル(複数可)にわたって伝播する(または「ロールする」)。
HMDを含むHMDシステムはまた、「再投影」と呼ばれる技術を利用して、HMDの元の姿勢予測におけるわずかな不正確さを補償し、および/または、わずかに不正確な元の姿勢予測と同じ効果を有する、フレームレートに達していないアプリケーションを補償し得る。例えば、HMDの姿勢の更新された予測を考慮した様式でアプリケーションレンダリングされたフレームを変換することによって(例えば、回転および再投影の計算を通して)、アプリケーションレンダリングされたフレームのピクセルデータを使用して再投影されたフレームを生成することができる。
本明細書では、ユーザが見ているディスプレイ上の関心領域(複数可)における再投影によって引き起こされる望ましくない視覚的アーチファクトを軽減するための技術およびシステムが説明され、それによって、これらの望ましくない視覚的アーチファクトが存在する場合、それらが関心領域内に現れることがないため、視認ユーザが気付かないようにすることによって、ディスプレイ性能を改善する。例示的なプロセスでは、姿勢データを次のフレームをレンダリングするためのアプリケーションへの入力として提供する前に、HMDシステム(例えば、コンポジタ)のロジックは、ユーザ(HMDを装着している)がフレームの照明期間中に見ているディスプレイパネル上の位置を予測し得る。この予測は、HMDシステムの眼追跡システムによって生成された眼追跡データに少なくとも部分的に基づいてよい。いくつかの実施形態では、HMDシステムのロジックは、眼追跡データに基づいて照明期間中にユーザが見ている注視点を予測し、予測注視点に対応するディスプレイパネル上の位置を決定するように構成される。HMDシステムのロジックはまた、照明期間内で、ディスプレイパネル上の予測位置に対応するピクセルの個々のサブセットが照明される時間を決定するように構成される。HMDシステムの頭部追跡システムによって生成された頭部追跡データを使用して、ロジックは、次いで、HMDが決定された時間に(照明期間中にユーザがどこを見ているかを示す眼追跡データに基づいて動的にターゲットにされる)とる姿勢を予測することができる。次いで、HMDの予測された姿勢を示す姿勢データをフレームレンダリングのためにアプリケーションに送信することができ、HMDシステムのロジックは、アプリケーションからフレームを受信すると、アプリケーションによってレンダリングされたフレームについてのピクセルデータに再投影調整を適用することができ、再投影されたフレームに関連付けられた修正されたピクセルデータを取得する。この修正ピクセルデータは、フレームバッファに出力されて、ディスプレイパネル(複数可)上の画像を提示し得、ピクセルの個々のサブセットが照明期間にわたって順番に照明されて、画像を提示する。
眼追跡およびピクセルの個々のサブセットの暗黙のスキャンアウト待ち時間に基づいて、アプリケーションによってレンダリングされたフレームのレンダリング時間を動的にターゲット化することによって、シーン(または画像)は、ディスプレイパネル(複数可)上の関心領域からの光(フォトン)が実際にユーザの眼に到達する時間にわたってレンダリングされ得る。これは、シーンが関心領域内で正しくレンダリングされ得ることを意味し、したがって、単なる小規模な再投影調整(存在する場合)が、画像提示中にユーザが見ている関心領域内のピクセルデータ(値)に適用される。言い換えれば、ユーザの眼を追跡することによって、ユーザがローリング照明期間中にディスプレイパネル(複数可)の上部内のピクセルのサブセットを見る可能性が高いと決定され得る場合、HMDシステムのロジック(例えば、コンポジタ)は、ローリング照明期間中にそのピクセルのサブセットが照明される時間について予測されるユーザの頭部姿勢にしたがってシーンをレンダリングするようにアプリケーションに指示することができる。後続のフレームについて、ユーザがローリング照明期間中にディスプレイパネル(複数可)の下部内のピクセルのサブセットを見ることが予測される場合、ロジックは、ローリング照明期間中にそのピクセルのサブセットが照明される時間について予測されるユーザの頭部姿勢にしたがってシーンをレンダリングするようにアプリケーションに指示することができる。したがって、ピクセルの中央行が点灯する時間のために所与のフレームを常にレンダリングする代わりに、本明細書に記載される技術は、ディスプレイパネル(複数可)上のユーザが画像提示中に見ると予測される場所に基づいて、次のフレームのレンダリング時間を動的に選択することを対象とする。前記別の方法では、各フレームについて、HMDシステムのロジックは、ディスプレイパネル(複数可)上に提示される「世界の写真」に対してどの時点を選択するかをアプリケーションに通知するように構成され、この時点は、その世界の写真が提示される場合にユーザがどこを見ているかの予測に基づいて選択される。
本明細書では、本明細書に開示される技術およびプロセスを実装するように構成されたシステム、例えば、ディスプレイシステム(例えば、HMDシステム)を含むシステム、ならびに本明細書に開示される技術およびプロセスを実装するためのコンピュータ実行可能命令を記憶する非一時的コンピュータ可読媒体もまた、開示される。本明細書に開示される技術およびシステムは、例として、ビデオゲームアプリケーション、特にVRゲームアプリケーションの文脈で議論されているが、本明細書に説明される技術およびシステムは、非限定的に、非VRアプリケーション(例えば、ARアプリケーション)、および/または産業機械アプリケーション、防衛アプリケーション、ロボットアプリケーションなどの非ゲームアプリケーションを含む、他のアプリケーションに利益を提供し得ることを理解されたい。
図1は、眼追跡に基づいて所与のフレームのレンダリング時間を動的にターゲット化するための例示的な技術を示す図である。図1は、ユーザ102によって装着されたヘッドマウントディスプレイ(HMD)100を図示する。図1の例のHMD100は、ステレオ対の左ディスプレイパネルおよび右ディスプレイパネルなどの、単一のディスプレイパネル104または複数のディスプレイパネル104を含み得る。HMD100の1つ以上のディスプレイパネル104は、HMD100を装着しているユーザ102によって視認可能である一連の画像フレーム(以下、「フレーム」と呼ぶ)を提示するために使用され得る。HMD100は、任意の数のディスプレイパネル104(例えば、2つ以上のディスプレイパネル、一対のディスプレイパネル、または単一のディスプレイパネル)を含み得ることを理解されたい。したがって、「ディスプレイパネル」という用語は、本明細書の単数形に使用される際、2パネルHMD100の一対のディスプレイパネルのいずれかのディスプレイパネル104を指し得るか、または任意の数のディスプレイパネル(例えば、単一パネルHMD100またはマルチパネルHMD100)を有するHMD100の単一のディスプレイパネル104を指し得る。2パネルHMD100では、ステレオフレームバッファは、例えば、HMD100の両方のディスプレイパネル上で2160 ×1200ピクセル(例えば、ディスプレイパネルあたり1080×1200ピクセル)をレンダリングし得る。
HMD100のディスプレイパネル(複数可)104は、ディスプレイパネル(複数可)104上でのフレームの提示中に発光素子(例えば、発光ダイオード(LED))を利用して光を放出する発光ディスプレイなど、任意の好適なタイプのディスプレイ技術を利用して、光を放出し得る。一例として、HMD100のディスプレイパネル104は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、無機発光ダイオード(ILED)ディスプレイ、またはHMDアプリケーションに対して任意の他の好適なタイプのディスプレイ技術を含み得る。
HMD100のディスプレイパネル(複数可)104は、90ヘルツ(Hz)リフレッシュレートなど、任意の好適なリフレッシュレートで動作し得る。ディスプレイの「リフレッシュレート」は、ディスプレイが画面を再描画できる1秒あたりの回数である。毎秒表示されるフレームの数は、ディスプレイのリフレッシュレートによって制限され得る。したがって、一連のフレームは、一連のフレームのうちの1つのフレームが画面の更新ごとに表示されるように、処理され(例えば、レンダリングされ)、ディスプレイ上に画像として表示され得る。すなわち、ディスプレイパネル(複数可)104上に一連の画像を提示するために、ディスプレイパネル(複数可)104は、一連のフレーム内で、ディスプレイのリフレッシュレートでフレーム間に遷移し得、画面のリフレッシュごとにピクセルを照明する。いくつかの実施形態では、フレームレートは、抑制されることができ、(再投影に基づく)ファントムフレームは、適用によりレンダリングされたフレーム間に挿入することができる。
HMD100のディスプレイシステムはまた、ローリングバンドタイプのディスプレイ駆動スキームを実装し得る。すなわち、ディスプレイパネル(複数可)104の発光素子は、発光素子の個々のサブセット、したがってピクセルの個々のサブセットが、照明期間中に照明のローリングバンド内で独立して順次照明され得るように、個別にアドレス指定可能であり得る。いくつかの実施形態では、ピクセルのアレイおよびディスプレイパネル(複数可)104上の発光素子(複数可)の両方は、行および列に配置されるが、必ずしも1個の発光素子対応ごとに1ピクセルではない。この構成では、発光素子の個々の行および/または個々の列は順番にアドレス指定されてもよく、および/または発光素子の連続する行の個々のグループおよび/または連続する列の個々のグループは順番にアドレス指定されてもよい。この「ローリング」様式で発光素子にアドレス指定する結果、これらの個別にアドレス指定可能な発光素子のサブセットに対応するピクセルのサブセットは、独立して「照明」され得る。
本明細書で使用される場合、「ピクセルを照明する」とは、そのピクセルに対応する発光素子を照明することを意味する。例えば、LCDは、バックライトの発光素子を照明して、ディスプレイの対応するピクセル(複数可)を照明する。さらに、本明細書で使用される場合、「ピクセルのサブセット」は、個々のピクセルまたは複数のピクセル(例えば、ピクセルのグループ)を含み得る。いくつかの実施形態では、ピクセルのサブセットは、ピクセルの行、ピクセルの列、ピクセルの連続行のグループ、またはピクセルの連続列のグループを含む。したがって、本明細書に記載の技術およびシステムの態様では、ピクセルのサブセットは、ピクセルの第1の行(例えば、ピクセルの上部行)から始まり、ピクセルの最後の行(例えば、ピクセルの下部行)で終わる、ピクセルの各行を順番にスキャンおよび照明することによってなど、順番にスキャンおよび照明することができる。しかしながら、任意の好適な照明パターンは、本明細書に記載の技術およびシステム(例えば、ヘビのような照明パターン、列ごとの照明、一度に複数の行/列のピクセルなど)を使用して使用され得る。
この「ローリング」様式でディスプレイパネル(複数可)104を駆動するために、HMD100は、とりわけ、ディスプレイコントローラ(複数可)、ディスプレイ駆動回路、およびディスプレイパネル(複数可)104を駆動するための類似の電子機器を含み得る。ディスプレイ駆動回路は、ディスプレイパネル(複数可)104の発光素子のアレイに、柔軟な印刷回路上の金属トレースなどの導電路を介して結合され得る。一例では、ディスプレイコントローラ(複数可)は、ディスプレイ駆動回路に通信可能に結合され、信号、情報、および/またはデータをディスプレイ駆動回路に提供するように構成されてもよい。ディスプレイ駆動回路によって受信された信号、情報、および/またはデータは、ディスプレイ駆動回路に特定の方法で発光素子を照明させ得る。すなわち、ディスプレイコントローラ(複数可)は、どの発光素子(複数可)が照明されるか、どの発光素子(複数可)を照明するか、および発光素子(複数可)によって発光される光出力のレベルを決定してもよく、その目的を達成するために、適切な信号、情報、および/またはデータをディスプレイ駆動回路に伝達してもよい。
所与のフレームのピクセルデータは、フレームをディスプレイパネル104上の画像として提示するためにフレームバッファに出力され得る。各フレームのピクセルデータは、いくつかの実施形態では、ピクセルごとの値(例えば、色値)の2次元配列を含み得る。いくつかの実施形態では、ピクセルデータは、奥行値などの追加のデータまたはメタデータをさらに含む。いくつかの実施形態では、ピクセルデータは、単一の色およびアルファ値のセットによって表される各ピクセルのデータを含み得る(例えば、赤チャネルの1つの色値、緑チャネルの1つの色値、青チャネルの1つの色値、および1つ以上のアルファチャネルの1つ以上の値)。このピクセルデータは、フレームバッファ(例えば、ステレオフレームバッファ)に出力されて、HMD100のディスプレイパネル(複数可)104上の画像(複数可)に所望の視覚効果を提示し得る。
HMD100は、VRゲームシステムで使用するためなど、VRシステムで使用するためのVRヘッドセットを表し得る。しかしながら、HMD100は、追加的に、または代替的に、ARアプリケーションで使用するためのARヘッドセットとして実装され得る。ARでは、ユーザ102は、実世界環境上に重ね合わされた仮想オブジェクトを見るが、VRでは、ユーザ102は、実世界環境を見ることはなく、HMD100のディスプレイパネル104および光学系(例えば、レンズ)を介して知覚されるような仮想環境に完全に没入する。本明細書で説明する例は、主にVRベースのHMD100に関係するが、HMD100は、VRアプリケーションでの実装に限定されないことを理解されたい。
一般的に、HMDシステムの一部として、HMD100自体、またはHMD100と関連付けられ、かつそれに連結されたコンピューティングデバイス(例えば、パーソナルコンピュータ(PC)、ゲームコンソールなどの)、コンピューティングデバイス上で実行されるグラフィックベースアプリケーション106は、一連のフレーム108(1)、108(2)、108(3)など(まとめて108)を出力するように構成され得る。一連のフレーム108は、最終的に、HMD100のディスプレイパネル(複数可)104上の画像として提示される。図1の例は、レンダリングタイムライン110に関して3つの例示的なフレーム108(1)(またはフレーム「F」)、108(2)(またはフレーム「F+1」)、および108(3)(またはフレーム「F+2」)を図示して、フレーム108が直列にレンダリングされ得る方法を例示する。ここで、アプリケーション106は、レンダリングタイムライン110上で左から右に、順番に、最初にフレームF、次いで、フレームF+1、さらに次いで、フレームF+2をレンダリングする。レンダリングタイムライン110はまた、各フレーム108の各レンダリング間隔の終端に向かって、HMD100(またはHMDシステム)のコンポジタ114のレンダリング作業負荷112も示す。所与のフレーム108についてのコンポジタ114の個々のレンダリング作業負荷112は、HMD100上に最終画像をレンダリングする前に、アプリケーション106によって出力されたピクセルデータに適用される調整を表し得る。そのような調整は、HMD100上に最終画像をレンダリングする前に、アプリケーション106によって出力されたフレーム108に適用される、色彩収差、パネルマスキング、再投影などのための調整を含み得るが、これらに限定されない。したがって、図1に示されるフレーム108は、ビデオゲームアプリケーションまたは任意の他のタイプのグラフィックスアプリケーションを表し得るアプリケーション106から出力されるという意味で「実際の」フレームを表すことを意味する。アプリケーション106は、ピクセルデータを出力するグラフィックスパイプラインで実行され得、コンポジタ114は、そのピクセルデータを修正し、修正されたピクセルデータをフレームバッファ(例えば、ステレオフレームバッファ)に出力するように構成される。
実行中、HMD100(またはHMDシステム)の眼追跡システムは、ユーザ102が任意の所与のモーメントを時間内に見ている注視点の周りに眼追跡データを生成し得る。眼追跡システムは、ユーザの眼116の画像データを捕捉するためにHMD100の内部にカメラまたは他の光学センサを含んでもよく、捕捉された画像データを使用して、ねじれおよび回転の大きさ(例えば、ロール、ピッチ、およびヨー)ならびに各眼116の注視方向を含む、動きベクトル、瞳孔間距離、眼間距離、HMD100に対する各眼116の3次元(3D)位置を決定することができる。一例では、赤外光が、HMD100内で放出され、各眼116から反射される。反射光は、HMD100のカメラによって受光または検出され、各眼116によって反射された赤外光の変化から眼球回転を抽出するために分析される。いくつかの実施形態では、眼追跡システムは、過去の測定値からの情報、ユーザ102の頭部の位置を識別する測定値、およびディスプレイパネル(複数可)104上に提示されるシーンを記述する3D情報を統合し得る。したがって、ユーザ102の眼116の位置および方向についての情報は、ユーザ102が見ている、HMD100によって提示された仮想シーン内の注視点を決定するために使用され得る。ユーザ102の眼116を追跡するための多くの方法が、HMD100(またはHMDシステム)の眼追跡システムによって使用され得、これらは、使用され得る眼追跡技術の単なる例である。
いずれの場合においても、HMD100(またはHMDシステム)の眼追跡システムによって生成された眼追跡データは、コンポジタ114によって使用されて、ユーザ102が来るべきフレーム108についての照明期間中に見ている注視点を予測することができ、この注視点は、任意の好適な粒度レベルで定義され得るディスプレイパネル(複数可)104上の位置(例えば、ピクセルの個々のサブセット(例えば、行)、ピクセルの個々の連続するサブセット(例えば、複数行)のグループ、ディスプレイパネル(複数可)104の他の領域等)と相関し得る。いくつかの実施形態では、最新の眼追跡データ(例えば、注視点)は、ユーザ102が、来るべきフレーム108についての照明期間中にどこを見ているかを予測するための代用として使用され得る。今日の眼追跡技術では、眼の動きが速い間に眼が現れる弾道運動のため、将来の眼の位置を正確に予測することは困難である。これは、最近の注視点推定を、将来の注視点を予測するための代用として使用する1つの理由である。しかしながら、眼追跡が経時的に改善するにつれて、ユーザ102が将来の時間をどこで見ているかの予測がより正確になり得、したがって、将来の注視点の予測は、過去の眼追跡データの関数として決定され得る。例えば、ユーザの眼116の動きベクトル推定に基づいて、および/または追加データに基づいて、将来の注視点を予測することができる。
図1はまた、レンダリングタイムライン110においてレンダリングされる各フレーム108に対応する照明期間を例示するための「スキャンアウト+照明」タイムライン118を示す。例えば、フレームFがアプリケーション106によってレンダリングされた後、およびコンポジタ114がそのレンダリング作業負荷112(1)を実行してフレームFについてのピクセルデータを修正した後、フレームFに対応する画像が、フレームFについての照明期間120(1)中にディスプレイパネル104上に提示される。この照明期間120(1)中、フレームFについてのピクセル値(ピクセルデータ)のサブセットが、順番にディスプレイポート(例えば、高精細マルチメディアインターフェース(HDMI))を介してディスプレイパネル104にスキャンされ、ディスプレイパネル(複数可)104の発光素子が順番に照明されて、ピクセルの個々のサブセットを順番に照明させる。図1は、ピクセルの個々のサブセットがピクセルの個々の行に対応する例を例示する。例えば、ディスプレイパネル(複数可)104は、ピクセルの複数の行を有し得、第1の行(「行1」)から始まり、これは最上位の行であり得、最後の行(「行N」)で終わり、これは最下位の行であり得る。照明期間120はまた、図1に示される時間t~tに関して説明され得る。例えば、ピクセルの第1のサブセット(例えば、「行1」)は、時間tに照らしてもよく、ピクセルの最後のサブセット(例えば、「行N」)は、時間tに照らしてもよく、一方、ピクセルの中間サブセットは、照明期間120のこれらの外側境界間のそれぞれの時間に照らしてもよい。上述したように、90Hzのリフレッシュレートに関して、照明期間120は、およそ11msの持続時間であり得る。
図1の例では、フレームFをレンダリングするために、コンポジタ114は、ユーザ102がフレームFについての照明期間120(1)の間に見ている注視点を予測し得る。図1の例では、フレームFの予測された注視点は、表示パネル(複数可)104の上部内のピクセルの個々のサブセット(または連続するサブセットのグループ)に対応する注視点である。これは、コンポジタ114がディスプレイパネル(複数可)104の位置を予測し、そこでユーザ102が照明期間120(1)中に見ていることになり得、この場合、フレームFの予測された位置は、ディスプレイパネル(複数可)104の上部内のピクセルの個々のサブセット(または連続するサブセットのグループ)に対応する位置である。ディスプレイパネル(複数可)104の「位置」は、ディスプレイパネル(複数可)104上でユーザ102がどこを見ているかを説明するのに好適な任意の好適な様式および/または任意の好適なレベルの粒度で画定され得ることを理解されたい。図1の例は、ディスプレイパネル(複数可)のピクセルの行に基づいてディスプレイパネル(複数可)104の位置を決定することができる例を例示する。HMD100(またはHMDシステム)の眼追跡システムの精度、およびピクセルの個々のサブセットをアドレス指定することができる解像度に応じて、ユーザ102がどこを見ているかの予測は、任意の好適な粒度レベルで、例えば、ユーザ102がピクセルの所与のサブセット(複数可)(例えば、ピクセルの個々の行(複数可)、ピクセルの個々の列(複数可)など)、またはピクセルの連続するサブセットの個々のグループ(例えば、連続する行のグループ、連続する列のグループなど)を見ていることを推定することによって行うことができる。
コンポジタ114が、フレームFに対応する画像が提示される場合に、ユーザ102がどこを見ているかを決定すると、コンポジタ114は、フレームFについての照明期間120(1)内に、表示パネル(複数可)104上の位置(ユーザ102が見ていると予測される位置)に対応するピクセルの個々のサブセットが照明される時間を決定するようにさらに構成され得る。例えば、ユーザ102が、フレームFについての照明期間120(1)の間にディスプレイパネル(複数可)104の上部内のピクセルの個々のサブセット(または連続するサブセットのグループ)を見ていると予測される場合、コンポジタ114は、そのピクセルのサブセットが(ディスプレイパネル(複数可)104の上部内の)照明される時間を決定し得る。一例では、コンポジタ114は、ディスプレイパネル(複数可)104の上部部分内にあるピクセルの第1の行(例えば、「行1」)が時間tで明るくなると決定し得る。この例では、ユーザ102は、眼追跡データに基づいて、フレームFについての照明期間120(1)の間に表示パネル(複数可)104の上部内のピクセルの第1の行に対応する位置を見ていると予測されるため、コンポジタ114は、ターゲットレンダリング時間=tとして(フレームFについての照明期間120(1)内で)ターゲットレンダリング時間を決定してよい。別の例として、ユーザ102が、例えば、第200の行のピクセルを見ていると予測される場合、コンポジタ114は、ターゲットレンダリング時間として、第200の行のピクセルの照明時間を決定し得る。
眼追跡システムに加えて、HMD100(またはHMDシステム)の頭部追跡システムは、HMD100の姿勢に関する頭部追跡データを生成し得、コンポジタ114は、決定された時間(ターゲットにされたレンダリング時間)にHMD100がとり得る姿勢を予測するように構成される。したがって、フレームFについて、コンポジタ114は、表示パネル(複数可)104の上部部分内のピクセルのサブセット(例えば、「行1」)が照明期間120(1)の間に照明される時間であると決定された時間tにおいて、HMD100がとり得る姿勢を予測してもよい。コンポジタ114は、フレームFをレンダリングするために予測された姿勢を示す姿勢データをアプリケーション106に送信してよい。姿勢データを事前にアプリケーション106に提供することは、アプリケーション106が将来のターゲットにされたレンダリング時間tにおけるユーザ102の予測された頭部姿勢に対して正しい方法においてHMD100上で画像をレンダリングするためのピクセルデータを出力することを可能にする。つまり、アプリケーション106は、ユーザ102が見ていると予測されるディスプレイパネル(複数可)104の一部からの光が、ユーザの眼(複数可)116に到達した場合に、時間tにて、ユーザの予測される頭部姿勢に適切なシーンをレンダリングする。
HMD100(またはHMDシステム)のグラフィックスロジックは、非同期であってもよく、または同期であってもよい。非同期システムでは、コンポジタ114は、HMD100(またはHMDシステム)のグラフィックス処理ユニット(GPU)上のアプリケーション106とは別個に(別個の非同期スレッド上で)実行される。例えば、アプリケーション106は、コンポジタ114から姿勢データを受信するための関数を呼び出し得、コンポジタ114は、アプリケーション106に、シーンのレンダリングに使用される仮想カメラ姿勢に対応する姿勢データにしたがってアプリケーション106がフレーム108(例えば、フレームF)をレンダリングすることができるように、要求された姿勢データ(フレームFのターゲットレンダリング時間tに予測される)を提供し得る。コンポジタの作業負荷112が開始する前にアプリケーション106がフレーム108のレンダリングを終了すると仮定すると、コンポジタ114は、アプリケーション106からフレーム108(例えば、左右の画像フレーム)を受け取り、HMD100のディスプレイパネル(複数可)104上へのバックバッファ(複数可)内にフレーム(複数可)108を歪ませるように構成される。例えば、コンポジタ114は、アプリケーション106によって出力されたフレーム108に基づいて、HMD100上に最終画像をレンダリングする前に、非限定的に、色彩収差、パネルマスキング、再投影などを実施し得る。
コンポジタ114は、高優先度コンテキストモードで実行し得、これは、コンポジタ114がその作業負荷112を開始する時間になると、GPUドライバは、コンポジタ114がアプリケーション106をプリエンプトすることを可能にする(例えば、アプリケーションが依然としてフレーム108をレンダリングしている場合、アプリケーション106がレンダリングすることを中断させる、および/またはアプリケーション106が次のフレーム108のレンダリングを開始することを防止する)ことを意味する。コンポジタ114は、アプリケーション106で何が起こっているかにかかわらず、その作業112を行うために、各レンダリング間隔の終端にタイムスロット(平均で最大1ms)を割り当て得る。したがって、すべてのレンダリング間隔において、コンポジタ114は、コンポジタ114がアプリケーション106から取得し得る最良のフレーム108(例えば、フレッシュ/新しいフレーム108、または以前にレンダリングされたフレーム108のいずれか)を取得するという意味で「何か」をレンダリングし、コンポジタ114は、そのフレーム108と関連付けられたピクセルデータを使用して、HMD100のディスプレイパネル(複数可)104上に出力するために、ピクセルデータをフレームバッファに入れる。各画面更新に対する異なるピクセルデータを出力するコンポジタ114の機能は、どのような場合でも、アプリケーション106がフレームレートに達していない場合に、すべてを「ライブ」に保ち、HMD100上にレンダリングされた画像がひどくヒッチしないように保つ機構である。
レンダリング時間を、ユーザが見ている場所に最も近いピクセルのサブセットが照明される時間(例えば、フレームFについてのt)として動的にターゲット化することによって、フレームFに対応する画像は、照明期間120の間に、ユーザ102が照明期間120の間に見ているディスプレイパネル104上の位置で、ある場合、単なる小規模の再投影調整を伴って提示され得る。これは、ユーザ102が画像の提示中にユーザが見ている関心領域内にて移動しているかまたはアニメ化しているオブジェクトに関して再投影によって引き起こされる望ましくない視覚的アーチファクトを見ないことを意味する。
フレームFがレンダリングされた後、動的レンダリング時間ターゲット化は、レンダリングされる際に、一連のフレーム108内の各フレームについて反復し得る。例えば、フレームF+1について、眼追跡データは、ユーザ102が、フレームF+1についての照明期間120(2)の間にディスプレイパネル104の中間部分内のピクセルの個々のサブセット(または連続するサブセットのグループ)を見ていることを示し得、これにより、コンポジタ114は、フレームF+1のレンダリング時間として、ディスプレイパネル104の中間部分内のピクセルのそのサブセット(またはサブセットのグループ)が照明される時間を動的にターゲットにする。例えば、コンポジタ114は、ピクセルの中央行がある時間に照明されることを決定し得、t/2、したがって、HMD100がある時間でとることになる姿勢を予測し得る、t/2。コンポジタ114は、フレームF+1をレンダリングするために、この予測された姿勢を示す姿勢データをアプリケーション106に送信し得、応答して、コンポジタ114は、フレームF+1のピクセルデータを受信し得る。コンポジタ114のフレームF+1に対するレンダリング作業負荷112(2)の間、コンポジタ114は、レンダリング作業負荷112(2)の間に適用される他の調整の中でも、フレームF+1のピクセルデータに再投影調整を適用して、フレームF+1の再投影されたフレームと関連付けられた修正されたピクセルデータを取得し得、コンポジタ114は、修正されたピクセルデータをフレームバッファに出力し得、これにより、対応する画像がフレームF+1についての照明期間120(2)の間にディスプレイパネル(複数可)104上に提示され得る。
同様に、フレームF+2について、眼追跡データは、ユーザ102が、フレームF+2についての照明期間120(3)中にディスプレイパネル(複数可)104の下部内のピクセルの個々のサブセット(または連続するサブセットのグループ)を見ていることを示し得、これにより、コンポジタ114は、フレームF+2のレンダリング時間として、ディスプレイパネル(複数可)104の下部内のピクセルのそのサブセット(またはサブセットのグループ)が照明される時間を動的にターゲットにする。例えば、コンポジタ114は、第N行 のピクセルが時間tで照明されることを決定し得、したがって、HMD100が時間tでとり得る姿勢を予測し得る。コンポジタ114は、フレームF+2をレンダリングするために、この予測された姿勢を示す姿勢データをアプリケーション106に送信し、それに応答して、コンポジタ114は、フレームF+2のためにアプリケーション106からピクセルデータを受信し得る。コンポジタ114のフレームF+2についてのレンダリング作業負荷112(3)の間、コンポジタ114は、他の調整の中でも、フレームF+2に関するピクセルデータに再投影調整を適用して、フレームF+2に関する再投影されたフレームと関連付けられた修正されたピクセルデータを取得し得、コンポジタ114は、修正されたピクセルデータをフレームバッファに出力し得、対応する画像が、フレームF+2に関する照明期間120(3)の間にディスプレイパネル(複数可)104上に提示され得る。
いくつかの実施形態では、HMD100(またはHMDシステム)のロジックは、異なる解像度でディスプレイパネル(複数可)104の異なる位置にアドレス指定するように構成され得る。このようにして、眼追跡データを使用して、ユーザ102が画像提示中に見ているディスプレイパネル(複数可)104上の関心領域を予測することができるため、HMD100(またはHMDシステム)は、この動的アドレス指定機構を強化して、ユーザ102が第1の(高)解像度を見ているディスプレイパネル(複数可)104の位置に動的にアドレス指定し、第1の解像度より低い第2の(低)解像度でディスプレイパネル(複数可)104の残りの部分に動的にアドレス指定することができる。これは、関心領域内の改善された表示品質、ならびに関心領域の外側の領域がスキャンアウトするピクセルデータをより少なく有するので、ピクセルデータをスキャンアウトするための待ち時間を低減するという点で改善された表示性能を提供し得る。
図2は、本明細書に開示される実施形態による、眼追跡に基づいて所与のフレーム108のレンダリング時間を動的にターゲットにするアプローチを使用する場合、異なるサブセットのピクセルについて、再投影調整の程度がディスプレイ全体でどのように変化するかを例示する図である。図2は、HMD100のディスプレイパネル104を示し、これらの両方は図1に導入されていた。いくつかの実施形態では、このディスプレイパネル104は、HMD100のステレオ対のディスプレイパネルの左ディスプレイパネルまたは右ディスプレイパネルを表し得る。表示パネル104は、M×Nピクセルのアレイを含むものとして示されている。この場合、ピクセルはM列およびN行に配置され、Mは任意の好適な数であり、Nは任意の好適な数であり、MおよびNは等しくてもよく、等しくなくてもよい。本明細書で説明するように、表示パネル104は、ローリングバンドディスプレイ駆動技術を使用して駆動されるため、所与のフレーム108の画像の提示中のローリング照明は、図1に導入された照明期間120にわたってピクセルの個々のサブセットのピクセルを順番に照明することによって生じる。図2の例では、ピクセルの個々のサブセットは、ピクセルの個々の行(例えば、行1~N)に対応し、行は、所与のフレーム108の照明期間120にわたって、第1の行(「行1」)から最後の行(「行N」)まで順番に照明される。例示される例では、これは、ローリング照明が上から下に発生することを意味するが、これは単なるサブセットのピクセルが照明され得る例示的なシーケンスであることを理解されたい。
ターゲットにされたレンダリング時間200が、時間tから時間tまでの期間として記述され得る、照明期間120内の時間tであると予測される例を考慮する。このターゲットにされたレンダリング時間200の例は、例えば、眼追跡データが、所与のフレームについての照明期間120の間に、ユーザ102がディスプレイパネル104の上部内のピクセルの個々のサブセット(または連続するサブセットのグループ)を見ていることを示す場合、例えば、ピクセルの第3の行(「行3」)を決定し得る。したがって、コンポジタ114は、HMD100がターゲットにされたレンダリング時間200(例えば、時間t)にとるであろう姿勢を予測するように構成され、コンポジタ114は、所与のフレーム108をレンダリングするために、この予測された姿勢を示す姿勢データをアプリケーション106に送信することができる。アプリケーションレンダリングされたフレーム108についてのピクセルデータを受信した後、コンポジタ114は、所与のフレーム108についてのそのレンダリング作業負荷112の間、ピクセルデータに再投影調整を適用することができる。
受信したピクセルデータに適用される再投影調整を決定するために、コンポジタ114は、ピクセルデータを受信した後、HMD100(またはHMDシステム)の頭部追跡システムによって生成された更新された頭部追跡データに少なくとも部分的に基づいて、ピクセルの個々のサブセットが照明される照明期間120内に、HMD100の複数の更新された姿勢を複数回予測することができる。例えば、所与のフレーム108に関連付けられたピクセルデータをアプリケーション106から受信すると、コンポジタ114は、ピクセルの第1の行(「行1」)について、HMD100が時間tにある第1の更新された姿勢を、ピクセルの第2の行(「行2」)について、HMD100が時間tにある第2の更新された姿勢を、ピクセルの第3の行(「行3」)について、HMD100が時間tにある第3の更新された姿勢を、…、ピクセルの第Nの行(「行N」)について、HMD100が時間tにある第Nの更新された姿勢を予測することができる。複数の更新された姿勢予測を手にして、コンポジタ114は、元の姿勢予測と更新された姿勢の個々の姿勢との間の比較に少なくとも部分的に基づいて、複数の調整202(1)~(N)を計算(またはそれ以外の場合、決定)することができる。例えば、複数の調整202(1)~(N)は、ピクセルの第1の個々のサブセット(例えば、ピクセルの第1の行、「行1」)についての第1の調整202(1)、ピクセルの第2の個々のサブセット(例えば、ピクセルの第2の行、「行2」)についての第2の調整202(2)、ピクセルの第3の個々のサブセット(例えば、ピクセルの第3の行、「行3」)についての第3の調整202(3)、…、およびピクセルの第Nの個々のサブセット(例えば、ピクセルの第Nの行、「行N」)についての第Nの調整202(N)を含んでよい。図2の例では、個々の調整(例えば、第1の調整202(1))は、アプリケーション106への入力として提供された元の姿勢予測および対応するピクセルサブセットについての更新された姿勢予測(例えば、ピクセルの第1の行(「行1」)が明るくなる時間tについての更新された姿勢予測)に基づいて差分計算として計算され得る(またはそうでなければ決定され得る)。
図2に示されるグラフ204は、再投影調整が、ユーザ102が見ているディスプレイパネル104の場所の近くのピクセルのサブセットのどれほど小規模な調整であるのかを示す。図2の例では、これらのピクセルは、ピクセルの第3の行(「行3」)の近くのピクセルに対応する。例えば、ピクセルの第3の行(「行3」)についてのピクセル値に加えられたほとんどまったくない再投影調整、および隣接する行のピクセルのピクセル値についての単なる小規模の再投影調整があってもよい。これは、図2の例において、ターゲットレンダリング時間tについて元の姿勢予測が行われたためであり、これは、ピクセルの第3の行(「行3」)が照明期間120の間(すなわち、画像提示の間)に照明される時間であり、同じ時間の更新された姿勢予測tは、ピクセルの第3の行(「行3」)に関連付けられる可能性が高いためであり、あるいは、異なる場合、その差は、元の姿勢予測と更新された姿勢予測の他の予測との差よりも小さいと予想される。したがって、ピクセルの第3の行(「行3」)のピクセル値に適用される再投影調整は、いずれかがまったく適用されない場合、小規模の再投影調整である。再投影調整は、ピクセルの第3の行(「行3」)から離れた行の量を徐々に増加させる。したがって、ピクセルの第3の行(「行3」)に隣接するピクセルの個々のサブセット(行)に対する任意の再投影調整は、ピクセルの第3の行(「行3」)から遠い(すなわち、隣接しない)ピクセルのそれらのサブセット(行)に対する再投影調整より少なくなり得る。これは、ピクセルの第Nの行(「行N」)のピクセル値に適用される再投影調整が、例えば、ピクセルの第2の行(「行2」)のピクセル値に適用される再投影調整よりもはるかに大きい理由である。しかしながら、ユーザ102が画像提示中にディスプレイパネル104の上部内のピクセル(例えば、ピクセルの第3の行(「行3」))の個々のサブセット(または連続するサブセットのグループ)を見ているため、ディスプレイパネル104の下部での再投影調整によって引き起こされる任意の望ましくない視覚アーチファクトは、気付かれない。一方では、ユーザ102が見ている関心領域には、再投影によるこれらの種類の望ましくない視覚アーチファクトが存在しない。
本明細書に記載のプロセスは、ロジックフローグラフ内のブロックの集合として例解され、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせ(つまり、ロジック)に実装することができる一連の動作を表す。ソフトウェアのコンテキストにおいて、ブロックは、1つ以上のプロセッサによって実行される場合、詳述された動作を実行するコンピュータ実行可能命令を表す。一般的に、コンピュータ実行可能命令は、特定の機能を実行するかまたは特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、部品、データ構造などを含む。動作が記載される順序は、限定として解釈されることを意図するものではなく、記載される任意の数のブロックは、プロセスを実装するために任意の順序で、および/または並列に組み合わせることができる。
図3は、本明細書に開示される実施形態による、眼追跡に基づいて所与のフレームのレンダリング時間を動的にターゲット化するための例示的なプロセス300のフロー図を例示する。考察目的で、前図を参照してプロセス300を説明する。
302において、一連のフレームのうちの1つのフレーム108は、HMD100のディスプレイパネル104上に対応する画像を提示するためにレンダリングされ得る。上述したように、HMD100が一対のディスプレイパネルを含む場合、このフレーム108は、左ディスプレイパネル104上に第1の画像を提示し、右ディスプレイパネル104上に第2の画像を提示するために、またはその逆のためにレンダリングされ得る。302内の様々なサブブロックによって示されるように、ブロック302においてフレーム108をレンダリングする目的で、HMD100(またはHMDシステム)のロジックによって実行される様々なサブ動作が存在し得る。
サブブロック304において、HMD100(またはHMDシステム)のロジック(例えば、コンポジタ114を含むロジック)は、HMD100を装着しているユーザ102がフレーム108についての照明期間120中に見ているであろうディスプレイパネル104上の位置を予測し得る。ここで、照明期間120は、ディスプレイパネル104上のピクセルの個々のサブセットが順次照明されてディスプレイパネル104上に画像を提示する期間である。サブブロック306によって示されるように、ユーザ102が見ているディスプレイパネル104上の位置の予測は、HMD100(またはHMDシステム)の眼追跡システムによって生成された眼追跡データに少なくとも部分的に基づき得る。例えば、サブブロック306において、ロジック(例えば、コンポジタ114)は、眼追跡システムによって生成された眼追跡データに少なくとも部分的に基づいて、ユーザ102がフレーム108についての照明期間120の間に見ているであろう注視点を予測し得、この注視点は、ディスプレイパネル104上の特定の位置に対応し得る。したがって、ロジック(例えば、コンポジタ114)は、予測注視点に対応するディスプレイパネル104上の位置を決定するように構成され得る(例えば、可能な注視点とディスプレイパネル104上の様々な位置との間の関連データにアクセスすること、および/または眼追跡データおよび他のパラメータに基づいて位置を計算することによって)。例示的な例では、眼追跡データ(例えば、眼の方向データ)は、HMD100の視野(FOV)パラメータの中間線から何度であるかの形態のように、HMD100を装着するユーザの眼の向きを示し得る。例えば、HMD100のFOVパラメータ(例えば、110度)に基づいて、かつ場合によってはHMD光学系の歪みパラメータに基づいて)、眼の方向データを使用して、ユーザが次に来るフレームの照明期間中に見ているところに最も近い、または最も近いピクセルのサブセット(例えば、行)または連続するサブセットのグループ(例えば、連続する行のグループ)を推定し得る。例えば、眼の方向データが、ユーザが110度FOVの中間線から+20度を見ていることを示す場合、これは計算された度オフセットであってもよく、数学的計算を通じて、ディスプレイパネル104の行(または連続する行のグループ)と相関してもよい(例えば、1200行のディスプレイパネル上の第400の行)。したがって、ユーザが見ているディスプレイパネル104の位置の予測は、眼追跡データとの組み合わせにおいて、HMD100のFOVパラメータに基づき得る。
サブブロック308において、ロジック(例えば、コンポジタ114)は、ディスプレイパネル104上で、ユーザ102がどこを見ているかの予測に基づいて、フレーム108のレンダリング時間200を動的にターゲットにし得る。すなわち、ロジックは、フレーム108の照明期間120内で、表示パネル104上の位置に対応する(例えば、その中にある)ピクセルの個々のサブセットが照明される時間を決定し得る。図3の右側の図では、サブブロック304において、ロジックが、ユーザ102がディスプレイパネル104の下部部分を見ていることを予測し、サブブロック308において、ロジックが、ディスプレイパネル104の下部部分のピクセルのサブセット(例えば行)が点灯する時間に対応する照明期間120内のターゲットにされたレンダリング時間200(例えば、時間tから時間tまで)を決定する例が示される。
サブブロック310において、ロジック(例えば、コンポジタ114)は、サブブロック308で決定された時間(すなわち、ターゲットにされたレンダリング時間200)にHMD100がとり得る姿勢を予測し得る。サブブロック310におけるHMD100の姿勢の元の予測は、HMD100(またはHMDシステム)の頭部追跡システムによって生成された頭部追跡データに少なくとも部分的に基づいてもよい。
サブブロック312では、ロジック(例えば、コンポジタ114)は、フレーム108をレンダリングする目的で、サブブロック310で予測される姿勢を示す姿勢データをアプリケーション106に送信し得る。
サブブロック314において、ロジック(例えば、コンポジタ114)は、アプリケーション106から、フレーム108に関するピクセルデータを受信してもよい。ピクセルデータは、本明細書で説明されるように、ディスプレイパネル104のピクセルのアレイ内の個々のピクセルに関するピクセル値を含み得る。
サブブロック316では、ロジック(例えば、コンポジタ114)は、フレーム108についてのピクセルデータに再投影調整を適用し得、再投影されたフレームに関連付けられた修正されたピクセルデータを取得する。図1では、これは、コンポジタ114のレンダリング作業負荷112の間に、アプリケーション106からフレーム108のピクセルデータを受信した後に発生し得る。
サブブロック318において、ロジック(例えば、コンポジタ114)は、修正されたピクセルデータをフレームバッファ(複数可)に出力し得る。再び、一対のディスプレイパネル104を有するHMD100に関して、このピクセルデータは、一対のディスプレイパネル104上に表示される一対の画像を表すフレームに対応し得る。
320では、HMD100(またはHMDシステム)のロジック(例えば、ディスプレイコントローラ、ディスプレイ駆動回路など)は、ブロック302でレンダリングされたフレーム108に基づいて(例えば、サブブロック318でフレームバッファに出力された修正されたピクセルデータに少なくとも部分的に基づいて)画像をディスプレイパネル104上に提示させ得る。サブブロック322および324によって示されるように、ブロック320における画像の提示は、1つ以上のサブ動作を含み得る。
サブブロック322において、例えば、修正されたピクセルデータは、ディスプレイパネル104上のピクセルの個々のサブセットについて順番にスキャンされ得る。例えば、ピクセルの個々の行についてのピクセル値は、ディスプレイポート(例えば、HDMI)を介してディスプレイパネル(複数可)104に順次スキャンされ得、ピクセルの第1のサブセット(例えば、行)から始まり、ピクセルの最後のサブセット(例えば、行)で終わる。
サブブロック324において、ピクセルの個々のサブセットは、ディスプレイパネル(複数可)104上に画像を提示するために、フレーム108の照明期間120にわたってシーケンスで照明され得る。これは、ディスプレイパネル(複数可)104の個々の発光素子サブセットが画像提示中に対応するピクセルサブセットを順次照明させるローリングバンドディスプレイ駆動技術を使用してディスプレイパネル(複数可)104の発光素子を駆動することによって達成され得る。
図4は、本明細書に開示される実施形態による、再投影調整(例えば、プロセス300のブロック316のサブプロセス)を適用するための例示的なサブプロセス400のフロー図を例示する。考察目的で、前図を参照してプロセス400を説明する。
402において、コンポジタ114がアプリケーション106からフレーム108についてのピクセルデータを受信した後、HMD100(またはHMDシステム)のロジック(例えば、コンポジタ114を含むロジック)は、HMD100(またはHMDシステム)の頭部追跡システムによって生成された更新された(第2の)頭部追跡データに少なくとも部分的に基づいて、フレーム108についての照明期間120内に、HMD100の複数の更新された姿勢を複数回予測してもよく、そこでピクセルの個々のサブセットが照明される。ピクセルの個々のサブセットがピクセルの個々の行である例では、ブロック402において予測される複数の更新された姿勢は、ピクセルの第1の行(「行1」)が照明される時間についてのHMD100の第1の更新された姿勢、ピクセルの第2の行(「行2」)が照明される時間についてのHMD100の第2の更新された姿勢、さらにピクセルの第Nの行についての姿勢などを含んでよく、Nは任意の好適な数である。
406において、ロジック(例えば、コンポジタ114)は、元に予測された姿勢と更新された姿勢の個々の姿勢との間の比較に少なくとも部分的に基づいて、複数の調整(例えば、再投影調整)を計算する(またはそうでなければ決定する)ことができる。すなわち、ブロック402において予測される更新された姿勢の個々の姿勢は、プロセス300のブロック310において予測され、フレーム108をレンダリングするための入力としてアプリケーション106に送信された元の姿勢と比較され得る。ブロック406における姿勢間の比較は、元の予測された姿勢に適用され得、問題の個々の更新された姿勢を取得する変換を決定し得る。例えば、ブロック406において決定された調整のうちの1つは、例えば、元々予測された姿勢に適用されて、ピクセルの第1の行についてのHMD100の更新された姿勢を取得することができる変換に対応し得る。追加の変換は、ピクセルの他のサブセットについて同様の手法で決定され得る。
408において、ロジック(例えば、コンポジタ114)は、ブロック406で計算された複数の調整に少なくとも部分的に基づいて、フレーム108(アプリケーション106から受信された)についてのピクセルデータを修正し得、再投影されたフレームに関連付けられた修正されたピクセルデータを取得する。図2を再び簡潔に参照すると、グラフ204は、ブロック406で計算された調整が、異なる時間、順番にピクセルの個々のサブセットを照明するローリングバンドディスプレイ駆動技術、およびユーザ102の頭部が常に空間内で移動し得るという事実に起因して、ディスプレイパネル(複数可)104にわたってどのように変化し得るかを例示する。ターゲットにされたレンダリング時間200に関連付けられたピクセルのサブセットに隣接するピクセルのサブセットについての調整は小規模な調整であり、一方、ターゲットにされたレンダリング時間200に関連付けられたピクセルのサブセットに隣接しないピクセルのサブセットについての他の調整は、より大きなスケールの調整であり、これらのより大きいスケールの調整が、隣接するピクセルのサブセットの小規模な調整と比較してどれだけ大きいかは、フレーム108がレンダリングされ、対応する画像が提示される間に生じる頭部の回転の量(またはレート)に依存する。いずれにしても、図2のグラフ204に示すように、複数の調整のうち、ターゲットにされたレンダリング時間200に関連付けられたピクセルのサブセットに隣接するピクセルの第1の個々のサブセットの第1の調整は、ターゲットにされたレンダリング時間200に関連付けられたピクセルのサブセットに隣接しないピクセルの第2の個々のサブセットの第2の調整より少ない可能性が高い。これは、ディスプレイパネル(複数可)104上に提示される画像が、ユーザ102が見ているディスプレイパネル(複数可)104上の位置での再投影によって引き起こされる不要なアーチファクト(例えば、ジャダ)を含まないことを意味する。
図5は、具現化され得る本明細書に開示される実施形態による、VRヘッドセットなどのHMD500(またはHMD500を含むHMDシステム)の例示的な構成要素を示す。HMD500は、前の図で参照したHMD100と同一または同様であり得、したがって、図5に示されるHMD500の構成要素は、HMD100に実装され得る。HMD500は、ユーザ102によって(例えば、ユーザ102の頭部に)装着されることになるスタンドアロンデバイスとして実装され得る。いくつかの実施形態では、HMD500は、ユーザ102が、ユーザ102の頭部の周囲に収まるようにサイズ決めされる固設機構(例えば、調整可能バンド)を使用して、HMD500をユーザの頭部に固設することを可能にすることなどによって、頭部に装着可能であり得る。いくつかの実施形態において、HMD500は、ニアアイまたはニアツーアイディスプレイ(複数可)を含む仮想現実(VR)または拡張現実(AR)ヘッドセットを含む。したがって、「装着可能デバイス」、「装着可能電子デバイス」、「VRヘッドセット」、「ARヘッドセット」、および「ヘッドマウントディスプレイ(HMD)」という用語は、本明細書では互換的に使用されて、図5のデバイス500を指し得る。しかしながら、これらのタイプのデバイスは、HMD500の単なる例であることを理解されたい、HMD500は、様々な他のフォームファクタで実装され得ることを理解されたい。図5に示される構成要素の一部または全部が、HMD500上に実装され得ることも理解されたい。したがって、いくつかの実施形態では、図5に示される構成要素のサブセットは、HMDシステムの一部であるが、PC、ゲームコンソール、または任意の他の好適なコンピューティングデバイスなどのHMD500自体とは別個のコンピューティングデバイス上に実装され得る。
例示された実装では、HMD500は、1つ以上のプロセッサ502およびメモリ504(例えば、コンピュータ可読媒体504)を含む。いくつかの実装では、プロセッサ(複数可)502は、中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)(複数可)503、CPUおよびGPU503の両方、マイクロプロセッサ、デジタルシグナルプロセッサ、または当該技術分野で既知の他の処理ユニットもしくは構成要素を含み得る。代替的に、または追加的に、本明細書で機能的に説明されるのは、少なくとも部分的に、1つ以上のハードウェアロジック構成要素によって実施されることができる。例えば、非限定的に、使用され得るハードウェアロジック部品の例示的なタイプとしては、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)などが挙げられる。加えて、プロセッサ(複数可)502の各々は、プログラムモジュール、プログラムデータ、および/または1つ以上のオペレーティングシステムも記憶し得る独自のローカルメモリを保有し得る。
メモリ504は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの、情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性メモリ、着脱可能および着脱不能媒体を含み得る。そのようなメモリは、これらに限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光メモリ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、RAIDストレージシステム、または所望の情報を記憶するために使用することができ、かつコンピューティングデバイスからアクセスすることができる任意の他の媒体を含む。メモリ504は、コンピュータ可読記憶媒体(「CRSM」)として実装され得、これは、メモリ502に記憶された命令を実行するためにプロセッサ(複数可)502によってアクセス可能な任意の利用可能な物理媒体であり得る。1つの基本的な実装形態では、CRSMには、ランダムアクセスメモリ(「RAM」)およびフラッシュメモリを含み得る。他の実装では、CRSMは、限定されるものではないが、読み出し専用メモリ(「ROM」)、電気的消去可能プログラム可能読み出し専用メモリ(「EEPROM」)、または所望の情報を記憶するために使用され得、かつプロセッサ(複数可)502によってアクセスされ得る、任意の他の有形媒体を含み得る。
一般に、HMD500は、本明細書に説明される技術、機能、および/または動作を実装するように構成されるロジック(例えば、ソフトウェア、ハードウェア、および/またはファームウェアなど)を含み得る。コンピュータ可読媒体504は、命令、データストアなどの、様々なモジュールを含むものとして示され、これらのモジュールは、本明細書に説明される技術、機能、および/または動作を実施するためにプロセッサ(複数可)502上で実行するように構成され得る。コンピュータ可読媒体504に記憶され、かつプロセッサ(複数可)502上で実行可能なものとして、数個の例示的な機能モジュールが示されているが、同じ機能が、代替的に、ハードウェア、ファームウェア内に、またはシステムオンチップ(SOC)および/もしくは他のロジックとして実装されてもよい。
オペレーティングシステムモジュール506は、他のモジュールの便宜のために、HMD500内に連結されたハードウェアを管理するように構成され得る。加えて、いくつかの事例では、HMD500は、メモリ504に記憶されているか、またはさもなければHMD500にアクセス可能な1つ以上のアプリケーション106を含み得る。この実装では、アプリケーション(複数可)106は、ゲームアプリケーション510を含む。しかしながら、HMD500は、任意の数またはタイプのアプリケーションを含み得、ここに示される特定の例に限定されない。ゲームアプリケーション510は、ユーザ102によってプレイ可能であるビデオベースのインタラクティブゲーム(例えば、VRゲーム)のゲームプレイを開始し、HMD500のディスプレイパネル上にレンダリングされるべきフレーム108を出力するように構成され得る。コンポジタ114は、HMD500の他のロジックと組み合わせて、眼追跡に基づいて、アプリケーション(例えば、アプリケーション106)のレンダリング時間を動的にターゲットにするために、本明細書に説明される技術を実施するように構成され得る。
一般的に、HMD500は、入力デバイス512および出力デバイス514を有する。入力デバイス512は、制御ボタンを含み得る。いくつかの実装では、1つ以上のマイクロフォンが、ユーザ音声入力などのオーディオ入力を受信するための入力デバイス512として機能し得る。いくつかの実装では、1つ以上のカメラまたは他のタイプのセンサ(例えば、慣性測定ユニット(IMU))が、ユーザ102の手および/または頭部の動きなどの、ジェスチャ入力を受信するための入力デバイス512として機能し得る。いくつかの実施形態において、追加の入力デバイス512が、キーボード、キーパッド、マウス、タッチスクリーン、ジョイスティックなどの形態で提供され得る。他の実施形態において、HMD500は、キーボード、キーパッド、または他の同様の形態の機械的入力を省略してもよい。代わりに、HMD500は、入力デバイス512の比較的単純な形態、ネットワークインターフェース(無線または有線ベース)、電源、および処理/メモリ機能で実装され得る。例えば、1つ以上の入力部品の限定されたセット(例えば、構成を開始する、電源をオン/オフするなどのための専用ボタン)が用いられ得、HMD500は、その後に使用され得る。一実装において、入力デバイス(複数可)512は、音量を増加/減少させるための基本的な音量制御ボタン(複数可)、ならびに電源およびリセットボタンなどの制御機構を含み得る。
出力デバイス514は、ディスプレイ516を含み得、これは、本明細書に記載されるように、1つ以上のディスプレイパネル104(例えば、ディスプレイパネル104のステレオ対)を含み得る。出力デバイス514は、非限定的に、光要素(例えば、LED)、触覚感覚を生み出すためのバイブレータ、スピーカ(複数可)(例えば、ヘッドフォン)などをさらに含み得る。例えば、電源がオンになっている場合などの状態を示すための単純な光要素(例えば、LED)もあり得る。
HMD500は、ネットワークへの無線接続を容易にするために、アンテナ520に連結された無線ユニット518をさらに含み得る。無線ユニット518は、Wi-Fi、Bluetooth、無線周波数(RF)などの、様々な無線技術のうちの1つ以上を実装し得る。HMD500は、ネットワーク、接続された周辺デバイス(PC、ゲームコンソールなどを含む)、または他の無線ネットワークと通信し、HMDシステムの一部であり得るプラグインネットワークデバイスへの有線接続を容易にするための物理ポートをさらに含み得ることを理解されたい。
HMD500は、1つ以上の光学要素を使用して、電子ディスプレイ(複数可)516からユーザの眼(複数可)に光を向ける光学サブシステム522をさらに含み得る。光学サブシステム522は、非限定的に、アパーチャ、レンズ(例えば、フレネルレンズ、凸レンズ、凹レンズなど)、フィルタなどを含む、異なる光学要素の様々なタイプおよび組み合わせを含み得る。いくつかの実施形態では、光学サブシステム522内の1つ以上の光学要素は、反射防止コーティングなどの1つ以上のコーティングを有し得る。光学サブシステム522による画像光の拡大は、電子ディスプレイ(複数可)516が、より大型のディスプレイよりも物理的により小型で、軽量で、より低消費電力であることを可能にする。加えて、画像光の拡大は、表示されたコンテンツ(例えば、画像)の視野(FOV)を増加させ得る。例えば、表示されたコンテンツのFOVは、表示されたコンテンツが、ユーザのFOVのほぼすべて(例えば、対角120~150度)、場合によってはすべてを使用して提示されるようなものである。ARアプリケーションは、より狭いFOV(例えば、約40度のFOV)を有していてもよい。光学サブシステム522は、非限定的に、樽型歪み、ピンクッション歪み、長手方向色収差、横収差、球面収差、像面湾曲、非点収差などの、1つ以上の光学誤差を補正するように設計され得る。いくつかの実施形態では、表示のために電子ディスプレイ(複数可)516に提供されるコンテンツは、事前に歪められており、光学サブシステム522は、コンテンツに基づいて生成された、電子ディスプレイ(複数可)516からの画像光を受光する場合にその歪みを補正する。
HMD500は、動き、位置、および方向データを生成するために使用されるセンサなどの、1つ以上のセンサ524をさらに含み得る。これらのセンサ524は、ジャイロスコープ、加速度計、磁力計、ビデオカメラ、カラーセンサ、または他の動き、位置、および方向センサであり得るか、またはそれらを含み得る。センサ524はまた、動き、位置、および方向データを生成するためにカメラまたはカラーセンサによって外部から視認され得る一連の能動または受動マーカなどの、センサの二次的部分を含み得る。例えば、VRヘッドセットは、その外部に、外部カメラで見た場合、または光(例えば、赤外光または可視光)で照らした場合に、反射器または光(例えば、赤外光または可視光)などの複数のマーカを含み得、動き、位置、および方向データを生成するために、ソフトウェアによる解釈のための1つ以上の基準点を提供し得る。HMD500は、HMD500の環境内の基地局によって投影または散布される光(例えば、赤外光または可視光)に対して感応性である光センサを含み得る。
一例では、センサ(複数可)524は、慣性測定ユニット(IMU)526を含み得る。IMU526は、加速度計、ジャイロスコープ、磁力計、および/または動きの検出、IMU526と関連付けられた誤差の補正、もしくはそれらのいくつかの組み合わせに好適な他のセンサから受信された測定信号に基づいて、較正データを生成する電子デバイスであり得る。測定信号に基づいて、IMU526のような、そのような動きベースのセンサは、HMD500の初期位置に対するHMD500の推定された位置を示す較正データを生成し得る。例えば、複数の加速度計が並進運動(前方/後方、上/下、左/右)を測定し、複数のジャイロスコープが回転運動(例えば、ピッチ、ヨー、ロール)を測定してもよい。IMU526は、例えば、測定信号を迅速にサンプリングし、サンプリングされたデータからHMD500の推定された位置を計算し得る。例えば、IMU526は、経時的に加速度計から受信された測定信号を統合して速度ベクトルを推定し得、経時的に速度ベクトルを統合して、HMD500上の基準点の推定された位置を決定する。基準点は、HMD500の位置を説明するために使用され得る点である。基準点は、一般的に、空間内の点として定義され得るが、様々な実施形態では、基準点は、HMD500内の点(例えば、IMU526の中心)として定義される。代替的に、IMU526は、サンプリングされた測定信号を外部コンソール(または他のコンピューティングデバイス)に提供し、外部コンソールが較正データを決定する。
センサ524は、センサデータを高レートで提供するために、比較的高い周波数で動作し得る。例えば、センサデータは、1000Hzのレート(または1ミリ秒ごとに1つのセンサ読み取り)で生成され得る。このようにして、1秒間に1000回の読み取りが行われる。センサがこの速度で(またはそれ以上の速度で)これだけのデータを生成する場合、動きを予測するために使用されるデータセットは、数十ミリ秒ほどの比較的短い期間でも非常に大きくなる。
言及されるように、いくつかの実施形態では、センサ524は、3D空間内のHMD500の位置および/または方向、姿勢などを追跡する目的で、HMD500の環境内の基地局によって放出される光に対して感応性である光センサを含み得る。位置および/または方向の計算は、光パルスのタイミング特性、およびセンサ524によって検出される光の有無に基づき得る。
HMD500は、眼追跡データを生成するシステムとして本明細書の他の箇所に記載されるように、眼追跡システム528をさらに含み得る。眼追跡システム528は、限定されないが、ユーザの眼116の画像データ(または情報)を捕捉するためにHMD500の内部のカメラまたは他の光学センサを含み得、眼追跡システム528は、捕捉されたデータ/情報を使用して、ねじれおよび回転の大きさ(すなわち、ロール、ピッチ、およびヨー)ならびに各眼116の注視方向を含む、動きベクトル、瞳孔間距離、眼間距離、HMD500に対する各眼116の3次元(3D)位置を決定し得る。一例では、赤外光が、HMD500内で放出され、各眼116から反射される。反射光は、眼追跡システム528のカメラによって受光または検出され、各眼116によって反射された赤外光の変化から眼の回転を抽出するために分析される。ユーザ102の眼116を追跡するための多くの方法が、眼追跡システム528によって使用され得る。したがって、眼追跡システム528は、各眼の最大6自由度(すなわち、3D位置、ロール、ピッチ、およびヨー)を追跡し得、追跡された量の少なくともサブセットが、注視点(すなわち、ユーザが見ている仮想シーン内の3D場所または位置)を推定するためにユーザ102の2つの眼116から組み合わせられ得、その注視点は、ユーザ102が、ディスプレイパネル(複数可)104のピクセルの個々のサブセット(例えば、行)または連続サブセットのグループ(例えば、連続行のグループ)に関してどこを見ているかを予測するためにディスプレイパネル(複数可)104の位置(複数可)にマッピングされ得る。例えば、眼追跡システム528は、過去の測定値からの情報、ユーザ102の頭部の位置を識別する測定値、および電子ディスプレイ(複数可)516によって提示されるシーンを記述する3D情報を統合し得る。したがって、ユーザ102の眼116の位置および方向の情報は、ユーザ102が見ている、HMD500によって提示された仮想シーン内の注視点を決定し、その注視点を、HMD100のディスプレイパネル(複数可)104上の位置(複数可)にマッピングするために使用される。先に述べたように、ユーザ102が見ている表示パネル(複数可)104上の注視点(複数可)または位置(複数可)の最新の推定/予測は、所与のフレーム108についての今後の照明期間120中にユーザ102がどこを見ているかを予測するための代用として使用されてもよい。しかしながら、眼の動きの軌跡を予測するために動きベクトルを利用するなど、ユーザ102が将来どこを見るかを予測するための他の技術が利用され得る。
HMD500は、頭部追跡システム530をさらに含み得る。頭部追跡システム530は、上記のように、センサ524のうちの1つ以上を利用して、ユーザ102の頭部の回転を含む頭部の動きを追跡し得る。例えば、頭部追跡システム530は、HMD500の最大6自由度(すなわち、3D位置、ロール、ピッチ、およびヨー)を追跡し得る。これらの計算は、一連のフレーム108の各フレーム108で行われ得るため、アプリケーション106は、頭部の位置および方向に応じて、次のフレーム108内でシーンをどのようにレンダリングするかを決定し得る。いくつかの実施形態では、頭部追跡システム530および/または頭部追跡システム530を使用するコンポジタ114は、本明細書に記載されるように、現在および/または過去のデータに基づいて、および/またはローリングバンドディスプレイ駆動技術を実装するディスプレイシステム内のピクセルの個々のサブセットの既知/暗黙のスキャンアウト待ち時間に基づいて、HMD500の将来の姿勢(位置および/または方向)を予測するように構成される。これは、ユーザ102がディスプレイ(複数可)516上で光(したがって、画像)を実際に見る前に、アプリケーションがフレーム108をレンダリングするように求められるためである。したがって、次のフレーム108は、所与のフレーム108について決定されたターゲットレンダリング時間200に応じて、フレーム108をレンダリングする前のおよそ12~30ミリ秒(ms)の範囲内であり得るより早い時点で行われた、頭部の位置および/または方向の将来の予測に基づいて、レンダリングすることができる。頭部追跡システム530によって提供される回転データは、任意の好適な測定単位で、HMD500の回転方向およびHMD500の回転量の両方を決定するために使用され得る。例えば、回転方向は、左、右、上、および下に対応する正または負の水平方向および正または負の垂直方向の観点で単純化されて出力され得る。回転量は、度、ラジアンなどの単位であり得る。角速度が、HMD500の回転速度を決定するために計算されてもよい。
本主題は、構造的特徴に特有の言語で説明されているが、添付の特許請求の範囲に定義された主題は、必ずしも説明された特定の特徴に限定されるものではないことを理解されたい。むしろ、特定の特徴は、特許請求の範囲を実装する例示的な形態として開示される。

Claims (20)

  1. ヘッドマウントディスプレイ(HMD)システムであって、
    ピクセルアレイを有するディスプレイパネルを含むHMDと、
    眼追跡システムと、
    頭部追跡システムと、
    プロセッサと、
    前記プロセッサによって実行される場合に、前記HMDシステムに、
    前記眼追跡システムによって生成された眼追跡データに少なくとも部分的に基づいて、前記HMDを装着しているユーザが照明期間中に見ているであろう前記ディスプレイパネル上の位置を予測させることであって、前記ピクセルの個々のサブセットが、前記照明期間にわたって順番に照明されて、前記ディスプレイパネル上に画像を提示するように、予測させ、
    前記照明期間内で、前記ディスプレイパネル上の前記位置に対応する前記ピクセルの個々のサブセットが照明される時間を決定させ、
    前記頭部追跡システムによって生成された頭部追跡データに少なくとも部分的に基づいて、前記HMDが前記時間にとり得る姿勢を予測させ、
    前記画像に対応するフレームをレンダリングするためのアプリケーションに前記姿勢を示す姿勢データを送信させ、
    前記アプリケーションから、前記フレームのピクセルデータを受信させ、
    再投影されたフレームに関連付けられた修正されたピクセルデータを取得するために、前記フレームについての前記ピクセルデータに再投影調整を適用させ、
    前記修正されたピクセルデータに少なくとも部分的に基づいて、前記画像を前記ディスプレイパネル上に提示させる、コンピュータ実行可能命令を記憶しているメモリと、を含み、前記ピクセルの前記個々のサブセットが、前記ディスプレイパネル上の前記画像の提示中に、前記照明期間にわたって前記シーケンス内で照明されている、HMDシステム。
  2. 前記ピクセルアレイのピクセルが、行および列に配置され、
    前記ピクセルの前記個々のサブセットが、前記ピクセルの個々の行に対応し、
    前記ピクセルの前記個々の行が照明される前記シーケンスは、上から下である、請求項1に記載のHMDシステム。
  3. 前記位置を予測することが、前記HMDの視野(FOV)パラメータにさらに基づいている、請求項1に記載のHMDシステム。
  4. 修正されたピクセルデータを取得するために、前記再投影調整を前記ピクセルデータに適用することが、
    前記頭部追跡システムによって生成された第2の頭部追跡データに少なくとも部分的に基づいて、前記ピクセルの前記個々のサブセットが照明され得る前記照明期間内に、前記HMDの複数の更新された姿勢を複数回予測することと、
    前記姿勢と前記更新された姿勢の個々の姿勢との間の比較に少なくとも部分的に基づいて、複数の調整を計算することと、
    前記再投影されたフレームに関連付けられた前記修正されたピクセルデータを取得するために、前記複数の調整に少なくとも部分的に基づいて、前記フレームについての前記ピクセルデータを修正することと、を含む、請求項1に記載のHMDシステム。
  5. 前記複数の調整は、
    前記ディスプレイパネル上の前記位置に対応する前記ピクセルの前記個々のサブセットに隣接する前記ピクセルの第1の個々のサブセットの第1の調整と、
    前記ディスプレイパネル上の前記位置に対応する前記ピクセルの前記個々のサブセットに隣接していない前記ピクセルの第2の個々のサブセットの第2の調整と、を含み、
    前記第1の調整が、前記第2の調整より少ない、請求項4に記載のHMDシステム。
  6. 前記ディスプレイパネルが、前記第1のディスプレイパネルおよび第2のディスプレイパネルを含む一対のディスプレイパネルの第1のディスプレイパネルであり、
    前記画像が、前記ピクセルデータに少なくとも部分的に基づいて、前記一対のディスプレイパネル上に提示される一対の画像の第1の画像である、請求項1に記載のHMDシステム。
  7. ピクセルアレイを有するディスプレイパネルを含むヘッドマウントディスプレイ(HMD)システムによって実施される方法であって、
    前記HMDシステムの眼追跡システムによって生成された眼追跡データに少なくとも部分的に基づいて、HMDを装着しているユーザが照明期間中に見ているであろう前記ディスプレイパネル上の位置を予測することであって、前記ピクセルの個々のサブセットが、前記照明期間にわたって順番に照明されて、前記ディスプレイパネル上に画像を提示する、予測することと、
    前記照明期間内で、前記ディスプレイパネル上の前記位置に対応する前記ピクセルの個々のサブセットが照明される時間を決定することと、
    前記HMDシステムの頭部追跡システムによって生成された頭部追跡データに少なくとも部分的に基づいて、前記HMDが前記時間にとり得る姿勢を予測することと、
    前記画像に対応するフレームをレンダリングするためのアプリケーションに前記姿勢を示す姿勢データを送信することと、
    前記アプリケーションから、前記フレームに関するピクセルデータを受信することと、
    再投影されたフレームに関連付けられた修正されたピクセルデータを取得するために、前記フレームについての前記ピクセルデータに再投影調整を適用することと、
    前記修正されたピクセルデータに少なくとも部分的に基づいて、前記ディスプレイパネル上に前記画像を提示することであって、前記ピクセルの前記個々のサブセットが、前記ディスプレイパネル上での前記画像の提示中に、前記照明期間にわたって前記シーケンスにおいて照明されている、提示することと、を含む、方法。
  8. 前記再投影されたフレームに関連付けられた前記修正されたピクセルデータを取得するために、前記フレームに対して前記再投影調整を前記ピクセルデータに前記適用することがpf、
    前記頭部追跡システムによって生成された第2の頭部追跡データに少なくとも部分的に基づいて、前記ピクセルの前記個々のサブセットが照明され得る前記照明期間内に、前記HMDの複数の更新された姿勢を複数回予測することと、
    前記姿勢と前記更新された姿勢の個々の姿勢との間の比較に少なくとも部分的に基づいて、複数の調整を計算することと、
    前記再投影されたフレームに関連付けられた前記修正されたピクセルデータを取得するために、前記複数の調整に少なくとも部分的に基づいて、前記フレームについての前記ピクセルデータを修正することと、を含む、請求項7に記載の方法。
  9. 前記複数の調整は、
    前記ディスプレイパネル上の前記位置に対応する前記ピクセルの前記個々のサブセットに隣接する前記ピクセルの第1の個々のサブセットの第1の調整と、
    前記ディスプレイパネル上の前記位置に対応する前記ピクセルの前記個々のサブセットに隣接していない前記ピクセルの第2の個々のサブセットの第2の調整と、を含み、
    前記第1の調整が、前記第2の調整より少ない、請求項8に記載の方法。
  10. 前記眼追跡データは、前記ユーザが前記ディスプレイパネルの前記位置を見ていることを示し、
    前記照明期間中に前記ユーザが見ているであろう前記ディスプレイパネル上の前記位置の前記予測は、前記ディスプレイパネル上の前記ユーザが前記照明期間中にどこを見ているかを予測するための代用として前記ユーザが見ている前記ディスプレイパネルの前記位置を使用することを含む、請求項7に記載の方法。
  11. 前記ピクセルアレイのピクセルが、行および列に配置され、
    前記ピクセルの前記個々のサブセットが、前記ピクセルの個々の行または前記ピクセルの連続する行の個々のグループのうちの少なくとも1つに対応し、
    前記ピクセルの前記個々のサブセットが照明されるシーケンスは、上から下である、請求項7に記載の方法。
  12. 前記眼追跡データは、前記ユーザの眼の方向を示し、前記位置は、前記ユーザの前記眼の方向に対してピクセルの最も近いサブセットとして予測される、請求項7に記載の方法。
  13. 前記ディスプレイパネルが、前記第1のディスプレイパネルおよび第2のディスプレイパネルを含む一対のディスプレイパネルの第1のディスプレイパネルであり、
    前記画像が、前記ピクセルデータに少なくとも部分的に基づいて、前記一対のディスプレイパネル上に提示される一対の画像の第1の画像である、請求項7に記載の方法。
  14. 前記HMDが、仮想現実(VR)ヘッドセットである、請求項7に記載の方法。
  15. 前記位置を予測することが、前記HMDの視野(FOV)パラメータにさらに基づいている、請求項7に記載の方法。
  16. ヘッドマウントディスプレイ(HMD)システムであって、
    ピクセルアレイを有するディスプレイパネルを含むHMDと、
    眼追跡システムと、
    頭部追跡システムと、
    プロセッサと、
    前記プロセッサによって実行される場合に、前記HMDシステムに、
    前記眼追跡システムによって生成された眼追跡データに少なくとも部分的に基づいて、前記HMDを装着しているユーザが照明期間中に見ているであろう注視点の位置を予測させることであって、前記ピクセルの個々のサブセットが、前記照明期間にわたって順番に照明されて、前記ディスプレイパネル上に画像を提示するように、予測させ、
    前記注視点に対応する前記ピクセルの個々のサブセットを決定させ、
    前記頭部追跡システムによって生成された頭部追跡データに少なくとも部分的に基づいて、前記HMDがその時間に、前記ピクセルの前記個々のサブセットにおいて、前記照明期間内に、とり得る姿勢を予測することと、
    前記画像に対応するフレームをレンダリングするためのアプリケーションに前記姿勢を示す姿勢データを送信させ、
    前記アプリケーションから、前記フレームのピクセルデータを受信させ、
    再投影されたフレームに関連付けられた修正されたピクセルデータを取得するために、前記フレームについての前記ピクセルデータに再投影調整を適用させ、
    前記修正されたピクセルデータに少なくとも部分的に基づいて、前記画像を前記ディスプレイパネル上に提示させる、コンピュータ実行可能命令を記憶しているメモリと、を含み、前記ピクセルの前記個々のサブセットが、前記ディスプレイパネル上の前記画像の提示中に、前記照明期間にわたって前記シーケンス内で照明されている、HMDシステム。
  17. 前記再投影されたフレームに関連付けられた前記修正されたピクセルデータを取得するために、前記再投影調整を前記フレームの前記ピクセルデータに適用することが、
    前記頭部追跡システムによって生成された第2の頭部追跡データに少なくとも部分的に基づいて、前記ピクセルの前記個々のサブセットが照明され得る前記照明期間内に、前記HMDの複数の更新された姿勢を複数回予測することと、
    前記姿勢と前記更新された姿勢の個々の姿勢との間の比較に少なくとも部分的に基づいて、複数の調整を計算することと、
    前記再投影されたフレームに関連付けられた前記修正されたピクセルデータを取得するために、前記複数の調整に少なくとも部分的に基づいて、前記フレームについての前記ピクセルデータを修正することと、を含む、請求項16に記載のHMDシステム。
  18. 前記ピクセルアレイのピクセルが、行および列に配置され、
    前記ピクセルの前記個々のサブセットが、前記ピクセルの個々の行または前記ピクセルの連続する行の個々のグループのうちの少なくとも1つに対応し、
    前記ピクセルの前記個々のサブセットが照明される前記シーケンスは、上から下であり、
    前記注視点に対応する前記ピクセルの前記個々のサブセットを決定することは、前記ユーザが見ているであろう前記ピクセルの個々の行または前記ピクセルの連続する行の個々のグループのうちの少なくとも1つを推定することを含む、請求項16に記載のHMDシステム。
  19. 前記HMDが、仮想現実(VR)ヘッドセットである、請求項16に記載のHMDシステム。
  20. 前記眼追跡データは、前記ユーザが見ている前記注視点を示し、
    前記照明期間中に前記ユーザがどこを見ているか前記注視点を予測することは、前記照明期間中に前記ユーザがどこを見ているかを予測するための代用として前記ユーザが見ているであろう前記注視点を使用することを含む、請求項16に記載のHMDシステム。
JP2021540310A 2019-01-14 2020-01-14 眼追跡に基づく動的レンダリング時間ターゲット化 Pending JP2022517991A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962792305P 2019-01-14 2019-01-14
US62/792,305 2019-01-14
US16/367,008 2019-03-27
US16/367,008 US10802287B2 (en) 2019-01-14 2019-03-27 Dynamic render time targeting based on eye tracking
PCT/US2020/013441 WO2020150191A1 (en) 2019-01-14 2020-01-14 Dynamic render time targeting based on eye tracking

Publications (2)

Publication Number Publication Date
JP2022517991A true JP2022517991A (ja) 2022-03-11
JPWO2020150191A5 JPWO2020150191A5 (ja) 2023-01-20

Family

ID=71517537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021540310A Pending JP2022517991A (ja) 2019-01-14 2020-01-14 眼追跡に基づく動的レンダリング時間ターゲット化

Country Status (6)

Country Link
US (1) US10802287B2 (ja)
EP (1) EP3884340A4 (ja)
JP (1) JP2022517991A (ja)
KR (1) KR20210113602A (ja)
CN (1) CN113272715A (ja)
WO (1) WO2020150191A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
US10520739B1 (en) * 2018-07-11 2019-12-31 Valve Corporation Dynamic panel masking
US11962819B2 (en) * 2018-07-17 2024-04-16 Dolby Laboratories Licensing Corporation Foviation and HDR
WO2020086380A1 (en) * 2018-10-24 2020-04-30 Pcms Holdings, Inc. Systems and methods for region of interest estimation for virtual reality
SE542556C2 (en) * 2018-12-12 2020-06-02 Tobii Ab Method Computer Program and Driver Unit for Streaming Gaze Data Packets
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
US11803221B2 (en) * 2020-03-23 2023-10-31 Microsoft Technology Licensing, Llc AI power regulation
CN114040184A (zh) * 2021-11-26 2022-02-11 京东方科技集团股份有限公司 图像显示方法、系统、存储介质及计算机程序产品
US11977672B2 (en) * 2022-06-03 2024-05-07 Qualcomm Incorporated Distributed pose prediction
US11880503B1 (en) * 2022-12-19 2024-01-23 Rockwell Collins, Inc. System and method for pose prediction in head worn display (HWD) headtrackers

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040104935A1 (en) * 2001-01-26 2004-06-03 Todd Williamson Virtual reality immersion system
US9690099B2 (en) * 2010-12-17 2017-06-27 Microsoft Technology Licensing, Llc Optimized focal area for augmented reality displays
US10585472B2 (en) * 2011-08-12 2020-03-10 Sony Interactive Entertainment Inc. Wireless head mounted display with differential rendering and sound localization
US9443355B2 (en) * 2013-06-28 2016-09-13 Microsoft Technology Licensing, Llc Reprojection OLED display for augmented reality experiences
WO2015038160A1 (en) * 2013-09-16 2015-03-19 Intel Corporation Camera and light source synchronization for object tracking
US9727136B2 (en) * 2014-05-19 2017-08-08 Microsoft Technology Licensing, Llc Gaze detection calibration
US20160238852A1 (en) * 2015-02-13 2016-08-18 Castar, Inc. Head mounted display performing post render processing
US10274728B2 (en) * 2015-05-18 2019-04-30 Facebook Technologies, Llc Stacked display panels for image enhancement
US11010956B2 (en) * 2015-12-09 2021-05-18 Imagination Technologies Limited Foveated rendering
US9978180B2 (en) * 2016-01-25 2018-05-22 Microsoft Technology Licensing, Llc Frame projection for augmented reality environments
US10089725B2 (en) * 2016-02-09 2018-10-02 Google Llc Electronic display stabilization at a graphics processing unit
US9829710B1 (en) * 2016-03-02 2017-11-28 Valve Corporation Display with stacked emission and control logic layers
US10372205B2 (en) * 2016-03-31 2019-08-06 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
US11017712B2 (en) * 2016-08-12 2021-05-25 Intel Corporation Optimized display image rendering
US9928660B1 (en) * 2016-09-12 2018-03-27 Intel Corporation Hybrid rendering for a wearable display attached to a tethered computer
US10379611B2 (en) 2016-09-16 2019-08-13 Intel Corporation Virtual reality/augmented reality apparatus and method
US20180081434A1 (en) * 2016-09-22 2018-03-22 Apple Inc. Eye and Head Tracking
US10565777B2 (en) * 2016-09-30 2020-02-18 Sony Interactive Entertainment Inc. Field of view (FOV) throttling of virtual reality (VR) content in a head mounted display
US10043318B2 (en) 2016-12-09 2018-08-07 Qualcomm Incorporated Display synchronized image warping
US10212428B2 (en) * 2017-01-11 2019-02-19 Microsoft Technology Licensing, Llc Reprojecting holographic video to enhance streaming bandwidth/quality
US10643528B2 (en) * 2018-01-23 2020-05-05 Valve Corporation Rolling burst illumination for a display
US10890968B2 (en) * 2018-05-07 2021-01-12 Apple Inc. Electronic device with foveated display and gaze prediction
US10520739B1 (en) * 2018-07-11 2019-12-31 Valve Corporation Dynamic panel masking
US20200050353A1 (en) * 2018-08-09 2020-02-13 Fuji Xerox Co., Ltd. Robust gesture recognizer for projector-camera interactive displays using deep neural networks with a depth camera

Also Published As

Publication number Publication date
US10802287B2 (en) 2020-10-13
WO2020150191A1 (en) 2020-07-23
CN113272715A (zh) 2021-08-17
US20200225473A1 (en) 2020-07-16
EP3884340A1 (en) 2021-09-29
EP3884340A4 (en) 2022-08-24
KR20210113602A (ko) 2021-09-16

Similar Documents

Publication Publication Date Title
US11314322B2 (en) Display system with dynamic light output adjustment for maintaining constant brightness
JP2022517991A (ja) 眼追跡に基づく動的レンダリング時間ターゲット化
US11151776B2 (en) Prediction and throttling adjustments based on application rendering performance
US11303875B2 (en) Split rendering between a head-mounted display (HMD) and a host computer
JP2022504475A (ja) 再投影フレームのモーションスムージング
US10948730B2 (en) Dynamic panel masking
US11343486B2 (en) Counterrotation of display panels and/or virtual cameras in a HMD
JP7367689B2 (ja) 情報処理装置、情報処理方法、及び記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240409