JP7391939B2 - アプリケーションレンダリング性能に基づく予測およびスロットル調整 - Google Patents
アプリケーションレンダリング性能に基づく予測およびスロットル調整 Download PDFInfo
- Publication number
- JP7391939B2 JP7391939B2 JP2021506489A JP2021506489A JP7391939B2 JP 7391939 B2 JP7391939 B2 JP 7391939B2 JP 2021506489 A JP2021506489 A JP 2021506489A JP 2021506489 A JP2021506489 A JP 2021506489A JP 7391939 B2 JP7391939 B2 JP 7391939B2
- Authority
- JP
- Japan
- Prior art keywords
- level
- hmd
- frames
- throttle
- frame
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims description 133
- 238000000034 method Methods 0.000 claims description 83
- 230000008859 change Effects 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 description 31
- 230000008569 process Effects 0.000 description 31
- 239000000872 buffer Substances 0.000 description 28
- 210000003128 head Anatomy 0.000 description 25
- 230000003287 optical effect Effects 0.000 description 14
- 238000005259 measurement Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000009499 grossing Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000036544 posture Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 230000004075 alteration Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 241001236644 Lavinia Species 0.000 description 2
- 208000003028 Stuttering Diseases 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 230000004886 head movement Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000226585 Antennaria plantaginifolia Species 0.000 description 1
- 206010010071 Coma Diseases 0.000 description 1
- 238000004873 anchoring Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 201000009310 astigmatism Diseases 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004418 eye rotation Effects 0.000 description 1
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0093—Optical 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0435—Change or adaptation of the frame rate of the video stream
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0464—Positioning
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Optics & Photonics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
- Transforming Electric Information Into Light Information (AREA)
Description
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]
方法であって、
最小スロットルレベルおよび最小予測レベルを使用して、ヘッドマウントディスプレイ(HMD)に一連のフレームのうちの第1のフレームをレンダリングすることであって、前記最小スロットルレベルが、前記HMDのコンポジタに、アプリケーションのフレームレートをスロットルさせて、前記HMDのリフレッシュレートと一致させ、それにより、前記第1のフレームの個々のフレームが前記HMD上に対応する画像を提示するために1回使用されるように標的化され、前記最小予測レベルが、前記HMDの前記コンポジタに、前記HMDの姿勢データを、前記第1のフレームの前記個々のフレームの前記姿勢データを予測する時間に対する、将来の垂直同期(VSync)間隔の第1の標的数に対応する時間について予測させる、レンダリングすることと、
前記第1のフレームのうちの過去のN個のレンダリングされたフレームの中から遅延フレームの数を決定することであって、遅延フレームが、前記HMDのグラフィックスプロセッシングユニット(GPU)を使用してレンダリングを終了するために、前記アプリケーション用のVSync間隔の第1の標的数よりも多くを要したフレームである、決定することと、
前記遅延フレームの数が遅延フレームの閾値数を満たすかまたは超えることを決定することと、
前記最小予測レベルを中間予測レベルに上げることと、
前記最小スロットルレベルおよび前記中間予測レベルを使用して、前記HMD上に前記一連のフレームのうちの第2のフレームをレンダリングすることであって、前記中間予測レベルが、前記HMDの前記コンポジタに、前記HMDの前記姿勢データを、前記第2のフレームの個々のフレームの姿勢データを予測する時間に対する、将来のVSync間隔の第2の標的数に対応する時間について予測させる、レンダリングすることと、
前記第2のフレームのうちの過去のM個のレンダリングされたフレームの中から過剰提示されたフレームの数を決定することであって、過剰提示されたフレームが、前記HMD上に複数の対応する画像を提示するために2回以上多く使用されたフレームである、決定することと、
過剰提示されたフレームの前記数が、過剰提示されたフレームの閾値数を満たすかまたは超えることを決定することと、
前記最小スロットルレベルを中間スロットルレベルに上げることと、
前記中間スロットルレベルおよび前記中間予測レベルを使用して、前記HMD上に前記一連のフレームのうちの第3のフレームをレンダリングすることであって、前記中間スロットルレベルが、前記HMDの前記コンポジタに、前記アプリケーションの前記フレームレートを前記HMDの前記リフレッシュレートの半分にスロットルさせ、それにより、前記第3のフレームの個々のフレームが、前記HMD上に対応する画像を提示するために2回使用されるように標的化される、レンダリングすることと、を含む、方法。
[2]
前記最小予測レベルを前記中間予測レベルに上げた後に、および前記第2のフレームをレンダリングする前に、前記第1のフレームと関連付けられた第1の統計を維持した1つ以上のリングバッファを消去することをさらに含む、[1]の方法。
[3]
前記第3のフレームのうちの過去のP個の連続的にレンダリングされたフレームが、前記HMDの前記GPUを使用してレンダリングを終了するために、前記アプリケーション用のVSync間隔の前記第1の標的数以下を要したことを決定することと、
前記中間予測レベルを前記最小予測レベルに下げることと、
前記最小予測レベルへの前記中間予測レベルの低下と同期して、前記中間スロットルレベルを前記最小スロットルレベルに下げることと、
前記最小予測レベルおよび前記最小スロットルレベルを使用して、前記HMD上に前記一連のフレームのうちの第4のフレームをレンダリングすることと、をさらに含む、[1]の方法。
[4]
方法であって、
第1の予測レベルに設定された予測レベルを使用して、一連のフレームのうちの第1のフレームをヘッドマウントディスプレイ(HMD)にレンダリングすることであって、前記第1の予測レベルが、前記HMDのコンポジタに、前記HMDの姿勢データを、前記第1のフレームの個々のフレームの前記姿勢データを予測する時間に対する、将来の垂直同期(VSync)間隔の第1の標的数に対応する時間について予測させる、レンダリングすることと、
前記第1のフレームのうちの過去のN個のレンダリングされたフレームの中から、遅延フレームの閾値数を満たすかまたは超える遅延フレームの数を決定することであって、遅延フレームが、前記HMDのグラフィックスプロセッシングユニット(GPU)を使用してレンダリングを終了するために、アプリケーションのVSync間隔の第1の標的数よりも多くを要したフレームである、決定することと、
前記予測レベルを前記第1の予測レベルから第2の予測レベルに上げることと、
前記第2の予測レベルに設定された前記予測レベルを使用して前記HMD上に前記一連のフレームのうちの第2のフレームをレンダリングすることであって、前記第2の予測レベルが、前記HMDの前記コンポジタに、前記HMDの前記姿勢データを、前記第2のフレームの個々のフレームの前記姿勢データを予測する時間に対し、将来のVSync間隔の第2の標的数に対応する時間について予測させ、VSync間隔の前記第2の標的回数がVSync間隔の前記第1の標的回数を超える、レンダリングすることと、を含む、方法。
[5]
前記第1のフレームが、第1のスロットルレベルに設定されたスロットルレベルを使用してレンダリングされ、前記第1のスロットルレベルが、前記コンポジタに、前記HMDのリフレッシュレートに対して前記アプリケーションのフレームレートをスロットルさせ、それにより、前記第1のフレームの個々のフレームが、前記HMD上に1つ以上の対応する画像を提示するために第1の標的回数使用されるように標的化され、前記方法は、前記予測レベルを前記第1の予測レベルから前記第2の予測レベルに上げた後に、
前記第2のフレームのうちの過去のM個のレンダリングされたフレームの中から、過剰提示されたフレームの閾値数を満たすかまたは超える過剰提示されたフレームの数を決定することであって、過剰提示されたフレームが、前記HMD上に複数の対応する画像を提示するために第1の標的回数よりも多く使用されたフレームである、決定することと、
前記スロットルレベルを前記第1のスロットルレベルから第2のスロットルレベルに上げることと、
前記第2のスロットルレベルに設定された前記スロットルレベルを使用して、前記HMD上に前記一連のフレームのうちの第3のフレームをレンダリングすることであって、前記第2のスロットルレベルが、前記コンポジタに、前記HMDの前記リフレッシュレートに対して前記アプリケーションの前記フレームレートをスロットルさせ、それにより、前記第3のフレームの個々のフレームが、前記HMD上に対応する画像を提示するために第2の標的回数使用されるように標的化され、前記第2の標的回数が、前記第1の標的回数を超える、レンダリングすることと、をさらに含む、[4]の方法。
[6]
前記予測レベルを前記第1の予測レベルから前記第2の予測レベルに上げた後、および前記第2のフレームをレンダリングする前に、前記第1のフレームと関連付けられた第1の統計をメモリから削除することをさらに含む、[5]の方法。
[7]
前記メモリから前記第1の統計を削除した後に、
前記第2のフレームと関連付けられた第2の統計を前記メモリに記憶することをさらに含み、
前記第2のフレームのうちの前記過去のM個のレンダリングされたフレームの中から、過剰提示されたフレームの前記閾値数を満たすかまたは超える過剰提示されたフレームの前記数を決定することが、前記メモリに記憶された前記第2の統計に少なくとも部分的に基づく、[6]の方法。
[8]
前記第1のフレームが、第1のスロットルレベルに設定されたスロットルレベルを使用してレンダリングされ、前記第1のスロットルレベルが、前記コンポジタに、前記HMDのリフレッシュレートに対して前記アプリケーションのフレームレートをスロットルさせ、それにより、前記第1のフレームの個々のフレームが、前記HMD上に1つ以上の対応する画像を提示するために第1の標的回数使用されるように標的化され、前記方法は、前記予測レベルを前記第1の予測レベルから前記第2の予測レベルに上げる前に、
動き平滑化が有効化されていることを決定することであって、動き平滑化が、前記GPUのビデオエンコーダによって生成された動きベクトルを使用して、レンダリング前に前記第1のフレームの少なくともサブセットの画素データを修正する、決定することと、
前記第1の予測レベルから前記第2の予測レベルへの前記予測レベルの前記上昇と同期して、前記スロットルレベルを前記第1のスロットルレベルから第2のスロットルレベルに上げることと、
前記第2のスロットルレベルに設定された前記スロットルレベルを使用して、前記第2のフレームをレンダリングすることであって、前記第2のスロットルレベルが、前記コンポジタに、前記HMDの前記リフレッシュレートに対して前記アプリケーションの前記フレームレートをスロットルさせ、それにより、前記第3のフレームの個々のフレームが、前記HMD上に対応する画像を提示するために第2の標的回数使用されるように標的化され、前記第2の標的回数が、前記第1の標的回数を超える、レンダリングすることと、をさらに含む、[4]の方法。
[9]
前記第1のフレームが、第1のスロットルレベルに設定されたスロットルレベルを使用してレンダリングされ、前記第1のスロットルレベルが、前記コンポジタに、前記HMDのリフレッシュレートに対して前記アプリケーションのフレームレートをスロットルさせ、それにより、前記第1のフレームの個々のフレームが、前記HMD上に1つ以上の対応する画像を提示するために第1の標的回数使用されるように標的化され、前記予測レベルおよび前記スロットルレベルが、同じスケールを使用して独立して調整可能であり、前記方法は、
前記予測レベルおよび前記スロットルレベルが、前記同じスケール上で同じレベルに設定されることを決定することをさらに含み、
前記予測レベルを上げることは、前記予測レベルおよび前記スロットルレベルが前記同じレベルに設定されることを決定することに応答して発生する、[4]の方法。
[10]
前記予測レベルが最大レベルまで上昇していないことを決定することをさらに含み、
前記予測レベルを上げることは、前記予測レベルが前記最大レベルまで上昇していないことを決定することに応答して発生する、[4]の方法。
[11]
前記予測レベルを上げた後に、
前記第2フレームのうちの過去のP個の連続的にレンダリングされたフレームが、前記HMDの前記GPUを使用してレンダリングを終了するために、前記アプリケーション用のVSync間隔の前記第1の標的数以下を要したことを決定することと、
前記予測レベルを前記第2の予測レベルから前記第1の予測レベルに下げることと、
前記第1の予測レベルに設定された前記予測レベルを使用して、前記HMD上に前記一連のフレームのうちの第3のフレームをレンダリングすることと、をさらに含む、[4]の方法。
[12]
前記第1のフレームが、第1のスロットルレベルに設定されたスロットルレベルを使用してレンダリングされ、前記第1のスロットルレベルが、前記コンポジタに、前記HMDのリフレッシュレートに対して前記アプリケーションのフレームレートをスロットルさせ、それにより、前記第1のフレームの個々のフレームが、前記HMD上に1つ以上の対応する画像を提示するために第1の標的回数使用されるように標的化され、前記方法は、
前記スロットルレベルを前記第1のスロットルレベルから第2のスロットルレベルに上げることと、
前記第2のフレームのうちの過去のP個の連続的にレンダリングされたフレームが、前記HMDの前記GPUを使用してレンダリングを終了するために、前記アプリケーション用のVSync間隔の前記第1の標的数以下を要したことを決定することと、
前記予測レベルを前記第2の予測レベルから前記第1の予測レベルに下げることと、
前記第2の予測レベルから前記第1の予測レベルへの前記予測レベルの前記低下と同期して、前記スロットルレベルを前記第2のスロットルレベルから第1のスロットルレベルに下げることと、
前記第1の予測レベルに設定された前記予測レベルおよび前記第1のスロットルレベルに設定された前記スロットルレベルを使用して、前記HMD上に前記一連のフレームのうちの第3のフレームをレンダリングすることと、をさらに含む、[4]の方法。
[13]
ヘッドマウントディスプレイ(HMD)であって、
グラフィックスプロセッシングユニット(GPU)と、
前記HMDのメモリに記憶されたコンポジタと、を備え、前記コンポジタは、
第1の予測レベルに設定された予測レベルを使用して、一連のフレームのうちの第1のフレームをレンダリングして、前記HMDの姿勢データを、前記第1のフレームの個々のフレームの前記姿勢データを予測する時間に対する、将来の垂直同期(VSync)間隔の第1の標的数に対応する時間について予測することと、
前記第1のフレームのうちの過去のN個のレンダリングされたフレームの中から、遅延フレームの閾値数を満たすかまたは超える遅延フレームの数を決定することであって、遅延フレームが、前記HMDの前記GPUを使用してレンダリングを終了するために、アプリケーションのVSync間隔の第1の標的数よりも多くを要したフレームである、決定することと、
前記予測レベルを前記第1の予測レベルから第2の予測レベルに上げることと、
前記第2の予測レベルに設定された前記予測レベルを使用して、前記HMD上に前記一連のフレームのうちの第2のフレームをレンダリングして、前記HMDの前記姿勢データを、前記第2のフレームの個々のフレームの前記姿勢データを予測する時間に対し、VSync間隔の第2の標的回数が、VSync間隔の第1の標的回数を超える、将来のVSync間隔の第2の標的数に対応する時間について予測することと、を行う、HMD。
[14]
前記コンポジタが、
第1のスロットルレベルに設定されたスロットルレベルを使用して、前記第1のフレームをレンダリングして、前記HMDのリフレッシュレートに対して前記アプリケーションのフレームレートをスロットルすることであって、それにより、前記第1のフレームの個々のフレームが、前記HMD上に1つ以上の対応する画像を提示するために第1の標的回数使用されるように標的化される、スロットルすることと、
前記第2のフレームのうちの過去のM個のレンダリングされたフレームの中から、過剰提示されたフレームの閾値数を満たすかまたは超える過剰提示されたフレームの数を決定することであって、過剰提示されたフレームが、前記HMD上に複数の対応する画像を提示するために第1の標的回数よりも多く使用されたフレームである、決定することと、
前記スロットルレベルを前記第1のスロットルレベルから第2のスロットルレベルに上げることと、
前記第2のスロットルレベルに設定された前記スロットルレベルを使用して、前記HMD上に前記一連のフレームのうちの第3のフレームをレンダリングして、前記HMDの前記リフレッシュレートに対して前記アプリケーションの前記フレームレートをスロットルすることであって、それにより、前記第3のフレームの個々のフレームが、前記HMD上に対応する画像を提示するために第2の標的回数使用されるように標的化され、前記第2の標的回数が、前記第1の標的回数を超える、スロットルすることと、を行うようにさらに構成される、[13]のHMD。
[15]
前記コンポジタが、
メモリから前記第1のフレームと関連付けられた第1の統計を削除するようにさらに構成されており、前記メモリから前記第1の統計を削除することが、前記予測レベルを前記第1の予測レベルから前記第2の予測レベルに上げた後、および前記第2のフレームをレンダリングする前に発生する、[14]のHMD。
[16]
前記コンポジタが、
前記メモリから前記第1の統計を削除した後に、前記第2のフレームと関連付けられた第2の統計を前記メモリに記憶するようにさらに構成されており、
前記第2のフレームのうちの前記過去のM個のレンダリングされたフレームの中から、過剰提示されたフレームの前記閾値数を満たすかまたは超える過剰提示されたフレームの前記数を決定することが、前記メモリに記憶された前記第2の統計に少なくとも部分的に基づく、[15]のHMD。
[17]
前記コンポジタが、
第1のスロットルレベルに設定されたスロットルレベルを使用して、前記第1のフレームをレンダリングして、前記HMDのリフレッシュレートに対して前記アプリケーションのフレームレートをスロットルすることであって、それにより、前記第1のフレームの個々のフレームが、前記HMD上に1つ以上の対応する画像を提示するために第1の標的回数使用されるように標的化される、スロットルすることと、
動き平滑化が有効化されていることを決定することであって、動き平滑化が、前記GPUのビデオエンコーダによって生成された動きベクトルを使用して、レンダリング前に前記第1のフレームの少なくともサブセットの画素データを修正する、決定することと、
前記第1の予測レベルから前記第2の予測レベルに前記予測レベルを上げることと同期して、前記スロットルレベルを前記第1のスロットルレベルから第2のスロットルレベルに上げることと、
前記第2のスロットルレベルに設定された前記スロットルレベルを使用して、前記第2のフレームをレンダリングして、前記HMDの前記リフレッシュレートに対して前記アプリケーションの前記フレームレートをスロットルすることであって、それにより、前記第2のフレームの個々のフレームが、前記HMD上に対応する画像を提示するために第2の標的回数使用されるように標的化され、前記第2の標的回数が、前記第1の標的回数を超える、スロットルすることと、を行うようにさらに構成される、[13]のHMD。
[18]
前記予測レベルが、前記第1のレベル、前記第2のレベル、第3のレベル、および第4のレベルを含む4つの異なる増分レベル間で調整可能であり、前記第1のレベルが、最小レベルであり、前記第4のレベルが、最大レベルである、[13]のHMD。
[19]
前記コンポジタが、
前記第2のフレームのうちの過去のP個の連続的にレンダリングされたフレームが、前記HMDの前記GPUを使用してレンダリングを終了するために、前記アプリケーション用のVSync間隔の前記第1の標的数以下を要したことを決定することと、
前記予測レベルを前記第2の予測レベルから前記第1の予測レベルに下げることと、
前記第1の予測レベルに設定された前記予測レベルを使用して、前記HMD上に前記一連のフレームのうちの第3のフレームをレンダリングすることと、を行うようにさらに構成される、[13]のHMD。
[20]
前記コンポジタが、
第1のスロットルレベルに設定されたスロットルレベルを使用して、前記第1のフレームをレンダリングして、前記HMDのリフレッシュレートに対して前記アプリケーションのフレームレートをスロットルすることであって、それにより、前記第1のフレームの個々のフレームが、前記HMD上に1つ以上の対応する画像を提示するために第1の標的回数使用されるように標的化される、スロットルすることと、
前記スロットルレベルを前記第1のスロットルレベルから第2のスロットルレベルに上げることと、
前記第2のフレームのうちの過去のP個の連続的にレンダリングされたフレームが、前記HMDの前記GPUを使用してレンダリングを終了するために、前記アプリケーション用のVSync間隔の前記第1の標的数以下を要したことを決定することと、
前記予測レベルを前記第2の予測レベルから前記第1の予測レベルに下げることと、
前記第2の予測レベルから前記第1の予測レベルに前記予測レベルを下げることと同期して、前記スロットルレベルを前記第2のスロットルレベルから第1のスロットルレベルに下げることと、
前記第1の予測レベルに設定された前記予測レベルおよび前記第1のスロットルレベルに設定された前記スロットルレベルを使用して、前記HMD上に前記一連のフレームのうちの第3のフレームをレンダリングすることと、を行うようにさらに構成される、[13]のHMD。
Claims (20)
- 第1の予測レベルに設定された予測レベルを使用してヘッドマウントディスプレイ(HMD)に一連のフレームのうちの複数の第1のフレームをレンダリングすることであって、前記複数の第1のフレームのうちの第1のフレームに対して、前記第1の予測レベルに基づいて第1の将来の時間に対する前記HMDの姿勢データを1以上のプロセッサに予測させることを含むことと、
アプリケーションのレンダリング性能に関する第1の統計を決定することと、
少なくとも部分的に前記第1の統計に基づいて、前記予測レベルを前記第1の予測レベルから第2の予測レベルに変更することと、
前記第2の予測レベルに設定された前記予測レベルを使用して前記HMDに前記一連のフレームのうちの複数の第2のフレームをレンダリングすることであって、前記複数の第2のフレームのうちの第2のフレームに対して、前記第2の予測レベルに基づいて第2の将来の時間に対する前記HMDの前記姿勢データを前記1以上のプロセッサに予測させることを含むことと、
を具備する方法。 - 前記予測レベルを変更することは、前記予測レベルを上げることを具備し、
前記方法は、
前記アプリケーションの前記レンダリング性能に関する第2の統計であって、前記第1の統計と異なる前記第2の統計を決定することと、
少なくとも部分的に前記第2の統計に基づいて、前記予測レベルを前記第2の予測レベルから前記第1の予測レベルに下げることと、
前記第1の予測レベルに設定された前記予測レベルを使用して前記HMDに前記一連のフレームのうちの複数の第3のフレームをレンダリングすることと、
をさらに具備する、請求項1の方法。 - 前記第1の統計は、少なくとも部分的に、前記アプリケーションが前記複数の第1のフレームのうちの少なくとも1つをレンダリングし終えるのにかかった時間に基づいている、請求項1の方法。
- 前記複数の第1のフレームは、第1のスロットルレベルに設定されたスロットルレベルを使用してレンダリングされ、前記第1のフレームが前記HMDに1以上の対応する第1の画像を提示するために第1の標的回数使用されるように標的化されるように、前記第1のスロットルレベルは、前記HMDのリフレッシュレートに対して前記アプリケーションのフレームレートを前記1以上のプロセッサにスロットルさせる、請求項1の方法。
- 前記予測レベルを変更することに同期して、前記スロットルレベルを前記第1のスロットルレベルから第2のスロットルレベルに変更することをさらに具備する、請求項4の方法。
- 前記予測レベルを変更することは、前記予測レベルを上げることを具備し、前記方法は、前記予測レベルを上げた後に、
前記アプリケーションの前記レンダリング性能に関する第2の統計であって、前記第1の統計と異なる前記第2の統計を決定することと、
少なくとも部分的に前記第2の統計に基づいて、前記スロットルレベルを前記第1のスロットルレベルから第2のスロットルレベルに下げることと、
をさらに具備する、請求項4の方法。 - 前記第2の統計は、少なくとも部分的に、前記複数の第2のフレームのうちの少なくとも1つが前記HMDに1以上の対応する第2の画像を提示するために使用された回数に基づいている、請求項6の方法。
- 前記第1の将来の時間は、前記第1のフレームに対する前記姿勢データを予測する第1の時間に関連する、請求項1の方法。
- 1以上のプロセッサと、
前記1以上のプロセッサによって実行されると、前記1以上のプロセッサに、
第1の予測レベルに設定された予測レベルを使用してヘッドマウントディスプレイ(HMD)に一連のフレームのうちの複数の第1のフレームをレンダリングさせて、前記複数の第1のフレームのうちの第1のフレームに対して、前記第1の予測レベルに基づいて第1の将来の時間に対する前記HMDの姿勢データを予測させ、
アプリケーションのレンダリング性能に関する第1の統計を決定させ、
少なくとも部分的に前記第1の統計に基づいて、前記予測レベルを前記第1の予測レベルから第2の予測レベルに変更させ、
前記第2の予測レベルに設定された前記予測レベルを使用して前記HMDに前記一連のフレームのうちの複数の第2のフレームをレンダリングさせ、前記複数の第2のフレームのうちの第2のフレームに対して、前記第2の予測レベルに基づいて第2の将来の時間に対する前記HMDの前記姿勢データを予測させる、
コンピュータ実行可能命令を格納するメモリと、
を具備するシステム。 - 前記第1の統計は、少なくとも部分的に、前記アプリケーションが前記複数の第1のフレームのうちの少なくとも1つをレンダリングし終えるのにかかった時間に基づいている、請求項9のシステム。
- 前記複数の第1のフレームは、第1のスロットルレベルに設定されたスロットルレベルを使用してレンダリングされ、前記第1のフレームが前記HMDに1以上の対応する第1の画像を提示するために第1の標的回数使用されるように標的化されるように、前記HMDのリフレッシュレートに対して前記アプリケーションのフレームレートをスロットルさせる、請求項9のシステム。
- 前記コンピュータ実行可能命令は、前記1以上のプロセッサによって実行されると、前記1以上のプロセッサに、さらに、前記予測レベルを変更することに同期して、前記スロットルレベルを前記第1のスロットルレベルから第2のスロットルレベルに変更させる、
請求項11のシステム。 - 前記予測レベルを変更することは、前記予測レベルを下げることを具備し、前記予測レベルおよび前記スロットルレベルは、同じスケールを使用して独立して調整可能であり、
前記コンピュータ実行可能命令は、前記1以上のプロセッサによって実行されると、前記1以上のプロセッサに、さらに、
前記予測レベルおよび前記スロットルレベルが前記同じスケールで同じレベルに設定されていないことを決定させ、
前記予測レベルを下げることは、少なくとも部分的に、前記予測レベルおよび前記スロットルレベルが前記同じレベルに設定されていないことを決定することに基づいて、前記スロットルレベルを下げることなく、発生する、
請求項11のシステム。 - 前記第1の将来の時間は、前記第1のフレームに対する前記姿勢データを予測する第1の時間に対する、将来の垂直同期(VSync)間隔の第1の標的数に対応する時間である、請求項9のシステム。
- 第1のスロットルレベルに設定されたスロットルレベルを使用してヘッドマウントディスプレイ(HMD)に一連のフレームのうちの複数の第1のフレームをレンダリングすることであって、前記複数の第1のフレームのうちの第1のフレームが前記HMDに1以上の対応する第1の画像を提示するために第1の標的回数使用されるように標的化されるように、前記第1のスロットルレベルは、1以上のプロセッサに、前記HMDのリフレッシュレートに対してアプリケーションのフレームレートをスロットルさせることと、
前記アプリケーションのレンダリング性能に関する第1の統計を決定することと、
少なくとも部分的に第1の統計に基づいて、前記スロットルレベルを前記第1のスロットルレベルから第2のスロットルレベルに変更することと、
前記第2のスロットルレベルに設定された前記スロットルレベルを使用して前記HMDに前記一連のフレームのうちの複数の第2のフレームをレンダリングすることであって、
前記複数の第2のフレームのうちの第2のフレームが前記HMDに対応する第2の画像を提示するために第2の標的回数使用されるように標的化されるように、前記第2のスロットルレベルは、前記1以上のプロセッサに、前記HMDのリフレッシュレートに対して前記アプリケーションの前記フレームレートをスロットルさせることと、
を具備する方法。 - 前記スロットルレベルを変更することは前記スロットルレベルを上げることを具備し、前記第2の標的回数は前記第1の標的回数より大きく、前記方法は、
前記アプリケーションの前記レンダリング性能に関する第2の統計であって、前記第1の統計と異なる前記第2の統計を決定することと、
少なくとも部分的に前記第2の統計に基づいて、前記スロットルレベルを前記第2のスロットルレベルから前記第1のスロットルレベルに下げることと、
前記第1のスロットルレベルに設定された前記スロットルレベルを使用して前記HMDに前記一連のフレームのうちの複数の第3のフレームをレンダリングすることと、
をさらに具備する、請求項15の方法。 - 前記第1の統計は、少なくとも部分的に、前記複数の第1のフレームが前記HMDに前記対応する第1の画像のうちの複数の画像を提示するために使用された回数に基づいている、請求項15の方法。
- 前記複数の第1のフレームは、第1の予測レベルに設定された予測レベルを使用してレンダリングされ、前記第1のフレームに対して、前記1以上のプロセッサに、前記第1の予測レベルに基づいて第1の将来の時間に対する前記HMDの姿勢データを予測させることを含む、請求項15の方法。
- 前記スロットルレベルを変更することに同期して、前記予測レベルを前記第1の予測レベルから第2の予測レベルに変更することをさらに具備する、請求項18の方法。
- 前記スロットルレベルを変更することは前記スロットルレベルを上げることを具備し、前記第2の標的回数は前記第1の標的回数より大きく、前記方法は、前記スロットルレベルを上げた後に、
前記アプリケーションの前記レンダリング性能に関する第2の統計であって、前記第1の統計と異なる前記第2の統計を決定することと、
少なくとも部分的に前記第2の統計に基づいて、前記予測レベルを前記第1の予測レベルから第2の予測レベルに上げることと、
をさらに具備する請求項18の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/056,277 | 2018-08-06 | ||
US16/056,277 US10600236B2 (en) | 2018-08-06 | 2018-08-06 | Prediction and throttling adjustments based on application rendering performance |
PCT/US2019/045290 WO2020033396A1 (en) | 2018-08-06 | 2019-08-06 | Prediction and throttling adjustments based on application rendering performance |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021533498A JP2021533498A (ja) | 2021-12-02 |
JPWO2020033396A5 JPWO2020033396A5 (ja) | 2022-08-08 |
JP7391939B2 true JP7391939B2 (ja) | 2023-12-05 |
Family
ID=69229793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021506489A Active JP7391939B2 (ja) | 2018-08-06 | 2019-08-06 | アプリケーションレンダリング性能に基づく予測およびスロットル調整 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10600236B2 (ja) |
EP (1) | EP3830632A4 (ja) |
JP (1) | JP7391939B2 (ja) |
KR (1) | KR20210038669A (ja) |
CN (1) | CN112639577B (ja) |
WO (1) | WO2020033396A1 (ja) |
Families Citing this family (14)
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 |
US10600236B2 (en) * | 2018-08-06 | 2020-03-24 | Valve Corporation | Prediction and throttling adjustments based on application rendering performance |
US11048465B2 (en) * | 2018-09-18 | 2021-06-29 | Canon Kabushiki Kaisha | Imaging display device, wearable device, and imaging display system |
JP7134060B2 (ja) * | 2018-10-18 | 2022-09-09 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置および画像生成方法 |
US11178379B2 (en) * | 2019-08-07 | 2021-11-16 | Magic Leap, Inc. | Determining a predicted head pose time |
US11315326B2 (en) * | 2019-10-15 | 2022-04-26 | At&T Intellectual Property I, L.P. | Extended reality anchor caching based on viewport prediction |
US20210192681A1 (en) * | 2019-12-18 | 2021-06-24 | Ati Technologies Ulc | Frame reprojection for virtual reality and augmented reality |
GB2592942B (en) * | 2020-03-11 | 2023-09-20 | Sony Interactive Entertainment Inc | Apparatus and method |
US11803221B2 (en) * | 2020-03-23 | 2023-10-31 | Microsoft Technology Licensing, Llc | AI power regulation |
US11099396B2 (en) | 2020-04-10 | 2021-08-24 | Samsung Electronics Company, Ltd. | Depth map re-projection based on image and pose changes |
WO2022082555A1 (en) * | 2020-10-22 | 2022-04-28 | Qualcomm Incorporated | Dynamic frame rate optimization |
WO2024043614A1 (ko) * | 2022-08-23 | 2024-02-29 | 삼성전자 주식회사 | 프레임율을 조정하는 디스플레이 장치, 웨어러블 디바이스 및 그 동작 방법 |
EP4380146A1 (en) * | 2022-10-20 | 2024-06-05 | Samsung Electronics Co., Ltd. | Electronic device and method for display synchronization |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017097122A (ja) | 2015-11-20 | 2017-06-01 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置および画像生成方法 |
JP2017215875A (ja) | 2016-06-01 | 2017-12-07 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、画像生成システム、および画像生成方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9690099B2 (en) | 2010-12-17 | 2017-06-27 | Microsoft Technology Licensing, Llc | Optimized focal area for augmented reality displays |
US9897805B2 (en) * | 2013-06-07 | 2018-02-20 | Sony Interactive Entertainment Inc. | Image rendering responsive to user actions in head mounted display |
US9645395B2 (en) * | 2013-03-15 | 2017-05-09 | Mark Bolas | Dynamic field of view throttling as a means of improving user experience in head mounted virtual environments |
CN105229719B (zh) | 2013-03-15 | 2018-04-27 | 奇跃公司 | 显示系统和方法 |
US9514571B2 (en) * | 2013-07-25 | 2016-12-06 | Microsoft Technology Licensing, Llc | Late stage reprojection |
JP6349908B2 (ja) * | 2014-04-22 | 2018-07-04 | 富士通株式会社 | データ処理方法、データ処理装置及びプログラム |
US20160027141A1 (en) | 2014-07-22 | 2016-01-28 | Oculus Vr, Llc | In-band latency detection system |
US9824498B2 (en) * | 2014-12-30 | 2017-11-21 | Sony Interactive Entertainment Inc. | Scanning display system in head-mounted display for virtual reality |
US9240069B1 (en) * | 2015-06-30 | 2016-01-19 | Ariadne's Thread (Usa), Inc. | Low-latency virtual reality display system |
US9928655B1 (en) * | 2015-08-31 | 2018-03-27 | Amazon Technologies, Inc. | Predictive rendering of augmented reality content to overlay physical structures |
US9832451B2 (en) * | 2015-11-17 | 2017-11-28 | Survios, Inc. | Methods for reduced-bandwidth wireless 3D video transmission |
US10229540B2 (en) * | 2015-12-22 | 2019-03-12 | Google Llc | Adjusting video rendering rate of virtual reality content and processing of a stereoscopic image |
US10237531B2 (en) * | 2016-06-22 | 2019-03-19 | Microsoft Technology Licensing, Llc | Discontinuity-aware reprojection |
US10379611B2 (en) * | 2016-09-16 | 2019-08-13 | Intel Corporation | Virtual reality/augmented reality apparatus and method |
KR20180075732A (ko) * | 2016-12-26 | 2018-07-05 | 엘지디스플레이 주식회사 | 헤드 마운티드 디스플레이 및 그 제어 방법 |
DE102017129795A1 (de) * | 2017-06-30 | 2019-01-03 | Lg Display Co., Ltd. | Anzeigevorrichtung und gate-treiberschaltkreis davon, ansteuerungsungsverfahren und virtuelle-realität-vorrichtung |
US10534454B2 (en) * | 2018-02-02 | 2020-01-14 | Sony Interactive Entertainment Inc. | Head-mounted display to controller clock synchronization over EM field |
US10861215B2 (en) * | 2018-04-30 | 2020-12-08 | Qualcomm Incorporated | Asynchronous time and space warp with determination of region of interest |
US10600236B2 (en) * | 2018-08-06 | 2020-03-24 | Valve Corporation | Prediction and throttling adjustments based on application rendering performance |
-
2018
- 2018-08-06 US US16/056,277 patent/US10600236B2/en active Active
-
2019
- 2019-08-06 EP EP19846361.4A patent/EP3830632A4/en active Pending
- 2019-08-06 JP JP2021506489A patent/JP7391939B2/ja active Active
- 2019-08-06 CN CN201980052386.1A patent/CN112639577B/zh active Active
- 2019-08-06 WO PCT/US2019/045290 patent/WO2020033396A1/en unknown
- 2019-08-06 KR KR1020217006524A patent/KR20210038669A/ko active Search and Examination
-
2020
- 2020-01-21 US US16/748,599 patent/US11151776B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017097122A (ja) | 2015-11-20 | 2017-06-01 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置および画像生成方法 |
JP2017215875A (ja) | 2016-06-01 | 2017-12-07 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、画像生成システム、および画像生成方法 |
Also Published As
Publication number | Publication date |
---|---|
US10600236B2 (en) | 2020-03-24 |
CN112639577B (zh) | 2023-06-06 |
US11151776B2 (en) | 2021-10-19 |
CN112639577A (zh) | 2021-04-09 |
EP3830632A4 (en) | 2022-04-27 |
EP3830632A1 (en) | 2021-06-09 |
KR20210038669A (ko) | 2021-04-07 |
JP2021533498A (ja) | 2021-12-02 |
WO2020033396A1 (en) | 2020-02-13 |
US20200043223A1 (en) | 2020-02-06 |
US20200160591A1 (en) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7391939B2 (ja) | アプリケーションレンダリング性能に基づく予測およびスロットル調整 | |
US11836289B2 (en) | Use of eye tracking to adjust region-of-interest (ROI) for compressing images for transmission | |
US10775886B2 (en) | Reducing rendering computation and power consumption by detecting saccades and blinks | |
US11314322B2 (en) | Display system with dynamic light output adjustment for maintaining constant brightness | |
EP3855290A1 (en) | Remote rendering for virtual images | |
JP2022504475A (ja) | 再投影フレームのモーションスムージング | |
JP2022517991A (ja) | 眼追跡に基づく動的レンダリング時間ターゲット化 | |
KR20220116150A (ko) | 머리 착용 디스플레이(hmd)와 호스트 컴퓨터 사이의 렌더링 분할 | |
US10948730B2 (en) | Dynamic panel masking | |
WO2020003860A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JPWO2018155233A1 (ja) | 画像処理装置、画像処理方法、および画像システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220729 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220729 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230921 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231031 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231122 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7391939 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |