JP7395577B2 - 再投影フレームのモーションスムージング - Google Patents
再投影フレームのモーションスムージング Download PDFInfo
- Publication number
- JP7395577B2 JP7395577B2 JP2021519155A JP2021519155A JP7395577B2 JP 7395577 B2 JP7395577 B2 JP 7395577B2 JP 2021519155 A JP2021519155 A JP 2021519155A JP 2021519155 A JP2021519155 A JP 2021519155A JP 7395577 B2 JP7395577 B2 JP 7395577B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel data
- frame
- motion vectors
- array
- gpu
- 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
- 230000033001 locomotion Effects 0.000 title claims description 616
- 238000009499 grossing Methods 0.000 title description 45
- 239000013598 vector Substances 0.000 claims description 545
- 238000000034 method Methods 0.000 claims description 202
- 238000009877 rendering Methods 0.000 claims description 112
- 238000013016 damping Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 103
- 238000010586 diagram Methods 0.000 description 32
- 210000003128 head Anatomy 0.000 description 32
- 238000003491 array Methods 0.000 description 23
- 230000002238 attenuated effect Effects 0.000 description 16
- 230000003287 optical effect Effects 0.000 description 13
- 238000005259 measurement Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004886 head movement Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 3
- 230000002829 reductive effect 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
- 238000004140 cleaning Methods 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000226585 Antennaria plantaginifolia Species 0.000 description 1
- 206010010071 Coma Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004873 anchoring Methods 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 201000009310 astigmatism Diseases 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000026058 directional locomotion Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000004418 eye rotation Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- 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
- 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
- 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
- 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/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/013—Eye 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing 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
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/001—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
- G09G3/003—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0261—Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/10—Special adaptations of display systems for operation with variable images
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/10—Special adaptations of display systems for operation with variable images
- G09G2320/106—Determination of movement vectors or equivalent parameters within the image
-
- 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
-
- 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/0457—Improvement of perceived resolution by subpixel rendering
-
- 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/14—Solving problems related to the presentation of information to be displayed
-
- 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/16—Determination of a pixel data signal depending on the signal applied in the previous frame
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
- Transforming Electric Information Into Light Information (AREA)
Description
仮想現実(VR)システムは、ビデオゲーム業界の内外の双方で使用されている。VRヘッドセットに内蔵されているようなVRシステム用ディスプレイは、通常、VRアプリケーションに好適である最小リフレッシュレートで動作する。例えば、90ヘルツ(Hz)は、VRディスプレイの一般的なリフレッシュレートである。「ライブレンダリング」シナリオでは、ビデオゲームなどのグラフィックベースのアプリケーションは、ディスプレイのリフレッシュレートに適合するフレームレートでレンダリングするためのフレームを出力する。つまり、アプリケーションから受信された新たなフレーム(本明細書では「実際のフレーム」と称する)は、画面がリフレッシュされるたびに表示される。このようなライブレンダリングシナリオは、アプリケーションが「フレームレートに達した」と称されることがよくある。
以下に、本出願の当初の特許請求の範囲に記載された発明を付記する。
[1]
方法であって、
ヘッドマウントディスプレイ(HMD)のグラフィックスプロセッシングユニット(GPU)への入力として、
アプリケーションから受信した第1のフレームに関連付けられた第1のピクセルデータと、
前記アプリケーションから受信した第2のフレームに関連付けられた第2のピクセルデータと、を提供することであって、
前記第2のフレームが、最後にレンダリングされたフレームであり、前記第1のフレームが、前記第2のフレームの前にレンダリングされたものであることと、
前記GPUから、前記第1のピクセルデータと前記第2のピクセルデータとの間の比較に少なくとも部分的に基づいて、前記GPUのビデオ符号化器によって生成された動きベクトルの配列を受信することと、
前記第2のピクセルデータに少なくとも部分的に基づいて、再投影フレームの第3のピクセルデータを生成することと、
前記再投影フレームのレンダリングメッシュを生成することであって、前記レンダリングメッシュが、前記動きベクトルの配列の解像度と一致する解像度で複数の頂点を有するテッセレーションされたメッシュを含むことと、
前記動きベクトルの配列の中の非ゼロ動きベクトルに少なくとも部分的に基づいて、前記非ゼロ動きベクトルの方向の前記複数の頂点のうちの頂点を、移動された頂点として前記レンダリングメッシュ内の異なる位置に移動することと、
前記レンダリングメッシュの前記移動された頂点にしたがって前記第3のピクセルデータを変更して、前記再投影フレームの変更された第3のピクセルデータを取得することと、
前記変更された第3ピクセルデータに少なくとも部分的に基づいて、前記HMDのディスプレイパネルに前記再投影フレームをレンダリングすることと、を備える、方法。
[2]
前記第2のピクセルデータがフレームバッファに出力される前に、前記第1のピクセルデータが前記フレームバッファに出力され、前記第1のフレームを前記第2のフレームの前にレンダリングさせ、前記変更された第3のピクセルデータが前記フレームバッファに出力される前に、前記第2のピクセルデータが前記フレームバッファに出力され、前記第2のフレームを前記再投影フレームの前にレンダリングさせる、[1]に記載の方法。
[3]
前記HMDの前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記HMDの前記GPUへの前記入力として、それぞれが前記ディスプレイパネルの1つ以上の端部にあるピクセルのサブセット以外のピクセルに対応する前記第1のピクセルデータの一部および前記第2のピクセルデータの一部を提供することを備える、[1]に記載の方法。
[4]
前記第1のピクセルデータの一部および前記第2のピクセルデータの一部が、それぞれ、前記ディスプレイパネルの周辺にレンダリングされたパネルマスクに対応するデータを表し、前記方法が、さらに、
前記HMDの頭部追跡モジュールによって提供される回転データに基づいて、前記HMDが前記第1のフレームのレンダリングと前記第2のフレームのレンダリングとの間で第1の向きから第2の向きに回転したことを判定することと、
前記第1のピクセルデータを変更して、前記第1のフレーム内のシーンを前記HMDの前記第2の向きに位置合わせする変更された第1のピクセルデータを取得することであって、前記変更された第1のピクセルデータの一部が、前記パネルマスクに対応するデータを表すことと、
前記第2のピクセルデータを変更して、前記第2のフレーム内のシーンを前記HMDの前記第1の向きに位置合わせする変更された第2のピクセルデータを取得することであって、前記変更された第2のピクセルデータの一部が、前記パネルマスクに対応するデータを表すことと、
前記変更された第1のピクセルデータの一部を前記変更された第2のピクセルデータの一部と組み合わせて、前記パネルマスクに対応する共通のピクセル値を有するピクセルのサブセットを判定することと、を備え、
前記HMDの前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記HMDの前記GPUへの前記入力として、それぞれが前記ピクセルのサブセット以外のピクセルに対応する前記第1のピクセルデータの特定の部分および第2のピクセルデータの特定の部分を提供することを備える、[1]に記載の方法。
[5]
方法であって、
グラフィックスプロセッシングユニット(GPU)への入力として、
アプリケーションから受信した第1のフレームであって、過去にレンダリングされた前記第1のフレームに関連付けられた第1のピクセルデータと、
前記アプリケーションから受信した第2のフレームであって、前記第1のフレームの後に過去にレンダリングされた前記第2のフレームに関連付けられた第2のピクセルデータと、を提供することと、
前記GPUから、前記第1のピクセルデータおよび前記第2のピクセルデータに少なくとも部分的に基づいて前記GPUのビデオ符号化器によって生成された動きベクトルの配列を受信することと、
前記第2のピクセルデータに少なくとも部分的に基づいて、再投影フレームの第3のピクセルデータを生成することと、
前記動きベクトルの配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更して、前記再投影フレームの変更された第3のピクセルデータを取得することと、
前記変更された第3のピクセルデータに少なくとも部分的に基づいて、ディスプレイ上に前記再投影フレームをレンダリングすることと、を備える、方法。
[6]
前記第2のピクセルデータがフレームバッファに出力される前に、前記第1のピクセルデータが前記フレームバッファに出力され、前記第1のフレームを前記第2のフレームの前にレンダリングさせ、前記変更された第3のピクセルデータが前記フレームバッファに出力される前に、前記第2のピクセルデータが前記フレームバッファに出力され、前記第2のフレームを前記再投影フレームの前にレンダリングさせる、[5]に記載の方法。
[7]
さらに、
前記再投影フレームのレンダリングメッシュを生成することであって、前記レンダリングメッシュが、複数の頂点を有するテッセレーションされたメッシュを含むことと、
前記動きベクトルの配列の中の非ゼロの動きベクトルに少なくとも部分的に基づいて、前記複数の頂点のうちの頂点を、移動された頂点として前記レンダリングメッシュ内の異なる位置に移動することであって、前記頂点が、(i)前記非ゼロの動きベクトルの方向に、および(ii)非ゼロの動きベクトルの大きさに対応する量だけ移動されることと、を備え、
前記動きベクトルの配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更することが、前記レンダリングメッシュの前記移動された頂点にしたがって前記第3のピクセルデータのピクセル値を移動して、前記再投影フレームの前記変更された第3のピクセルデータを取得することを備える、[5]に記載の方法。
[8]
前記ディスプレイがヘッドマウントディスプレイ(HMD)であり、前記方法が、さらに、
前記HMDの頭部追跡モジュールによって提供される回転データに基づいて、前記HMDが前記第1のフレームのレンダリングと前記第2のフレームのレンダリングとの間で第1の向きから第2の向きに回転したことを判定することと、
前記第1のフレーム内のシーンを前記HMDの前記第2の向きに位置合わせする変更された第1のピクセルデータを取得するために前記第1のピクセルデータ、または
前記第2のフレーム内のシーンを前記HMDの前記第1の向きに位置合わせする変更された第2のピクセルデータを取得するために前記第2のピクセルデータ、のうちの少なくとも1つを変更することと、を備え、
前記HMDの前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記HMDの前記GPUへの前記入力として、前記変更された第1のピクセルデータまたは前記変更された第2のピクセルデータのうちの少なくとも1つを提供することを備える、[5]に記載の方法。
[9]
前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記GPUへの前記入力として、それぞれが前記ディスプレイの1つ以上の端部にあるピクセルのサブセット以外のピクセルに対応する前記第1のピクセルデータの一部および前記第2のピクセルデータの一部を提供することを備える、[5]に記載の方法。
[10]
前記ディスプレイがヘッドマウントディスプレイ(HMD)であり、前記第1のピクセルデータの一部および前記第2のピクセルデータの一部が、それぞれ、前記HMDのディスプレイパネルの周辺にレンダリングされたパネルマスクに対応するデータを表し、前記方法が、さらに、
前記HMDの頭部追跡モジュールによって提供される回転データに基づいて、前記HMDが前記第1のフレームのレンダリングと前記第2のフレームのレンダリングとの間で第1の向きから第2の向きに回転したことを判定することと、
前記第1のピクセルデータを変更して、前記第1のフレーム内のシーンを前記HMDの前記第2の向きに位置合わせする変更された第1のピクセルデータを取得することであって、前記変更された第1のピクセルデータの一部が、前記パネルマスクに対応するデータを表すことと、
前記第2のピクセルデータを変更して、前記第2のフレーム内のシーンを前記HMDの前記第1の向きに位置合わせする変更された第2のピクセルデータを取得することであって、前記変更された第2のピクセルデータの一部が、前記パネルマスクに対応するデータを表すことと、
前記変更された第1のピクセルデータの一部を前記変更された第2のピクセルデータの一部と組み合わせて、前記パネルマスクに対応する共通のピクセル値を有するピクセルのサブセットを判定することと、を備え、
前記HMDの前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記HMDの前記GPUへの前記入力として、それぞれが前記ピクセルのサブセット以外のピクセルに対応する前記第1のピクセルデータの特定の部分および第2のピクセルデータの特定の部分を提供することを備える、[5]に記載の方法。
[11]
さらに、
前記動きベクトルの配列の大きさを閾値の大きさと比較することと、
前記動きベクトルの配列の動きベクトルのサブセットが前記閾値の大きさよりも大きい大きさを有することを判定することと、
前記動きベクトルのサブセットの大きさを減らして、動きベクトルの変更された配列を取得することと、を備え、
前記動きベクトルの配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更することが、前記動きベクトルの変更された配列に基づいて前記第3のピクセルデータを変更することを備える、[5]に記載の方法。
[12]
前記第1のフレームおよび前記第2のフレームが、一連のフレームにおいて連続してレンダリングされた、[5]に記載の方法。
[13]
前記第1のピクセルデータが、第1の彩度データを含み、前記第2のピクセルデータが、第2の彩度データを含み、前記動きベクトルの配列が、前記第1の彩度データおよび前記第2の彩度データに少なくとも部分的に基づいて前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第1の配列であり、前記方法が、さらに、
前記GPUへの第2の入力として、
前記第1のフレームに関連付けられた第1の輝度データと、
前記第2のフレームに関連付けられた第2の輝度データと、を提供することと、
前記GPUから、前記第1の輝度データおよび前記第2の輝度データに少なくとも部分的に基づいて、前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第2の配列を受信することと、
前記動きベクトルの第1の配列および前記動きベクトルの第2の配列の分析に基づいて、前記動きベクトルの第1の配列または前記動きベクトルの第2の配列の1つを動きベクトルの選択された配列として選択することと、を備え、
前記第3のピクセルデータを変更するために使用される前記動きベクトルの配列が、前記動きベクトルの選択された配列を含む、[5]に記載の方法。
[14]
前記動きベクトルの配列が動きベクトルの第1の配列であり、前記方法が、さらに、
第1の回転量だけ前記第1のフレームを回転させて第1の回転フレームを取得することと、
第2の回転量だけ前記第2のフレームを回転させて第2の回転フレームを取得することと、
前記GPUへの第2の入力として、
前記第1の回転フレームに関連付けられた第3のピクセルデータと、
前記第2の回転フレームに関連付けられた第4のピクセルデータと、を提供することと、
前記GPUから、前記第3のピクセルデータおよび前記第4のピクセルデータに少なくとも部分的に基づいて、動きベクトルの第2の配列を受信することと、
前記動きベクトルの第1の配列および前記動きベクトルの第2の配列における動きベクトルの方向または大きさの少なくとも1つの差異を判定することと、
前記差異に少なくとも部分的に基づいて動きベクトルの最終配列を生成することと、を備え、
前記動きベクトルの配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更することが、前記動きベクトルの最終配列に少なくとも部分的に基づいている、[5]に記載の方法。
[15]
前記動きベクトルの配列が、第1の解像度での動きベクトルの第1の配列であり、前記方法が、さらに、
前記動きベクトルの第1の配列に少なくとも部分的に基づいて、前記ディスプレイにまたがる画像領域の第1の部分における動きの欠如を検出することと、
前記動きベクトルの第1の配列に少なくとも部分的に基づいて、前記画像領域の第2の部分におけるオブジェクトの動きを検出することと、
前記GPUへの追加入力として、
前記画像領域の前記第1の部分に対応する前記第1のピクセルデータの第1の部分と、
前記画像領域の前記第1の部分に対応する前記第2のピクセルデータの第1の部分と、
前記画像領域の前記第2の部分に対応する前記第1のピクセルデータの第2の部分と、
前記画像領域の前記第2の部分に対応する前記第2のピクセルデータの第2の部分と、を提供することと、
前記GPUから、前記第1のピクセルデータの前記第1の部分および前記第2のピクセルデータの前記第1の部分に少なくとも部分的に基づいて、前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第2の配列を受信することであって、前記動きベクトルの第2の配列が、前記第1の解像度よりも高い解像度である第2の解像度で生成されることと、
前記GPUから、前記第1のピクセルデータの前記第2の部分および前記第2のピクセルデータの前記第2の部分に少なくとも部分的に基づいて、前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第3の配列を受信することであって、前記動きベクトルの第3の配列が、前記第2の解像度よりも低い解像度である第3の解像度で生成されることと、を備え、
前記動きベクトルの配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更することが、前記動きベクトルの第2の配列および前記動きベクトルの第3の配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更することを備える、[5]に記載の方法。
[16]
前記第3のピクセルデータを変更することが、さらに、深度バッファを利用して、前記変更された第3のピクセルデータのフレームバッファのピクセル値の最終セットを判定することを備える、[5]に記載の方法。
[17]
さらに、
前記動きベクトルの配列にオーバーレイされた減衰テクスチャを生成することと、
前記減衰テクスチャを使用して前記動きベクトルの配列の1つ以上の動きベクトルの大きさを減少させて、動きベクトルの変更された配列を取得することと、を備え、
前記動きベクトルの配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更することが、前記動きベクトルの変更された配列に基づいて前記第3のピクセルデータを変更することを備える、[5]に記載の方法。
[18]
システムであって、
ディスプレイと、
グラフィックスプロセッシングユニット(GPU)と、
ロジックであって、
前記GPUへの入力として、
アプリケーションから受信した第1のフレームに関連付けられた第1のピクセルデータであって、前記第1のフレームが、以前にレンダリングされている、第1のピクセルデータと、
前記アプリケーションから受信した第2のフレームに関連付けられた第2のピクセルデータであって、前記第2のフレームが、前記第1のフレームの後に以前にレンダリングされている、第2のピクセルデータと、を提供し、
前記GPUから、前記第1のピクセルデータおよび前記第2のピクセルデータに少なくとも部分的に基づいて前記GPUのビデオ符号化器によって生成された動きベクトルの配列を受信し、
前記第2のピクセルデータに少なくとも部分的に基づいて、再投影フレームの第3のピクセルデータを生成し、
前記動きベクトルの配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更して、前記再投影フレームの変更された第3のピクセルデータを取得し、
前記変更された第3のピクセルデータに少なくとも部分的に基づいて、前記ディスプレイ上に前記再投影フレームをレンダリングする、ように構成されたロジックと、を備える、システム。
[19]
前記ロジックが、さらに、
前記第2のピクセルデータがフレームバッファに出力される前に、前記第1のピクセルデータを前記フレームバッファに出力し、前記第1のフレームを前記第2のフレームの前にレンダリングさせ、
前記変更された第3のピクセルデータが前記フレームバッファに出力される前に、前記第2のピクセルデータを前記フレームバッファに出力し、前記第2のフレームを前記再投影フレームの前にレンダリングさせる、ように構成されている、[18]に記載のシステム。
[20]
前記ロジックが、さらに、
前記再投影フレームのレンダリングメッシュであって、複数の頂点を有するテッセレーションされたメッシュを含む前記レンダリングメッシュを生成し、
前記動きベクトルの配列の中の非ゼロの動きベクトルに少なくとも部分的に基づいて、前記複数の頂点のうちの頂点を、移動された頂点として前記レンダリングメッシュ内の異なる位置に移動し、前記頂点が、(i)前記非ゼロの動きベクトルの方向に、および(ii)前記非ゼロの動きベクトルの大きさに対応する量だけ移動される、ように構成されており、
前記動きベクトルの配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更することが、前記レンダリングメッシュの前記移動された頂点にしたがって前記第3のピクセルデータのピクセル値を移動して、前記再投影フレームの前記変更された第3のピクセルデータを取得することを備える、[18]に記載のシステム。
[21]
前記ディスプレイがヘッドマウントディスプレイ(HMD)であり、前記ロジックが、さらに、
前記HMDの頭部追跡モジュールによって提供される回転データに基づいて、前記HMDが前記第1のフレームのレンダリングと前記第2のフレームのレンダリングとの間で第1の向きから第2の向きに回転したことを判定し、
前記第1のフレーム内のシーンを前記HMDの前記第2の向きに位置合わせする変更された第1のピクセルデータを取得するために前記第1のピクセルデータ、または
前記第2のフレーム内のシーンを前記HMDの前記第1の向きに位置合わせする変更された第2のピクセルデータを取得するために前記第2のピクセルデータ、のうちの少なくとも1つを変更するように構成されており、
前記HMDの前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記HMDの前記GPUへの前記入力として、前記変更された第1のピクセルデータまたは前記変更された第2のピクセルデータのうちの少なくとも1つを提供することを備える、[18]に記載のシステム。
[22]
前記ロジックが、さらに、
前記第1のピクセルデータと前記第2のピクセルデータとの間の色ピクセル値を比較して、前記動きベクトルの配列内の個々の動きベクトルに対応する個々の色差値を判定し、
閾値色差よりも小さい色差値に関連付けられている動きベクトルのサブセットを判定し、
前記動きベクトルのサブセットの大きさをゼロに減らして、動きベクトルの変更された配列を取得する、ように構成されており、
前記動きベクトルの配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更することが、前記動きベクトルの変更された配列に基づいて前記第3のピクセルデータを変更することを備える、[18]に記載のシステム。
[23]
前記第1のピクセルデータが、第1の彩度データを含み、前記第2のピクセルデータが、第2の彩度データを含み、前記動きベクトルの配列が、前記第1の彩度データおよび前記第2の彩度データに少なくとも部分的に基づいて前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第1の配列であり、前記ロジックが、さらに、
前記GPUへの第2の入力として、
前記第1のフレームに関連付けられた第1の輝度データと、
前記第2のフレームに関連付けられた第2の輝度データと、を提供し、
前記GPUから、前記第1の輝度データおよび前記第2の輝度データに少なくとも部分的に基づいて、前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第2の配列を受信し、
前記動きベクトルの第1の配列および前記動きベクトルの第2の配列の分析に基づいて、前記動きベクトルの第1の配列または前記動きベクトルの第2の配列の1つを動きベクトルの選択された配列として選択するように構成されており、
前記第3のピクセルデータを変更するために使用される前記動きベクトルの配列が、前記動きベクトルの選択された配列を含む、[18]に記載のシステム。
[24]
前記ロジックが、さらに、
動きベクトルの変更された配列を取得するために前記動きベクトルの配列に対するスカラー中央値フィルタ、または
前記動きベクトルの変更された配列を取得するために前記動きベクトルの配列に対する平均最大ぼかしフィルタ、のうちの少なくとも1つを適用するように構成されており、
前記動きベクトルの配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更することが、前記動きベクトルの変更された配列に基づいて前記第3のピクセルデータを変更することを備える、[18]に記載のシステム。
Claims (24)
- 方法であって、
ヘッドマウントディスプレイ(HMD)のグラフィックスプロセッシングユニット(GPU)への入力として、
アプリケーションから受信した第1のフレームに関連付けられた第1のピクセルデータと、
前記アプリケーションから受信した第2のフレームに関連付けられた第2のピクセルデータと、を提供することであって、
前記第2のフレームが、最後にレンダリングされたフレームであり、前記第1のフレームが、前記第2のフレームの前にレンダリングされたものであることと、
前記GPUから、前記第1のピクセルデータと前記第2のピクセルデータとの間の比較に少なくとも部分的に基づいて、前記GPUのビデオ符号化器によって生成された動きベクトルの配列を受信することと、
前記第2のピクセルデータに少なくとも部分的に基づいて、再投影フレームの第3のピクセルデータを生成することと、
前記再投影フレームのレンダリングメッシュを生成することであって、前記レンダリングメッシュが、前記動きベクトルの配列の解像度と一致する解像度で複数の頂点を有するテッセレーションされたメッシュを含むことと、
前記動きベクトルの配列の中の非ゼロ動きベクトルに少なくとも部分的に基づいて、前記非ゼロ動きベクトルの方向の前記複数の頂点のうちの頂点を、移動された頂点として前記レンダリングメッシュ内の異なる位置に移動することと、
前記レンダリングメッシュの前記移動された頂点にしたがって前記第3のピクセルデータを変更して、前記再投影フレームの変更された第3のピクセルデータを取得することと、
前記変更された第3ピクセルデータに少なくとも部分的に基づいて、前記HMDのディスプレイパネルに前記再投影フレームをレンダリングすることと、を備える、方法。 - 前記第2のピクセルデータがフレームバッファに出力される前に、前記第1のピクセルデータが前記フレームバッファに出力され、前記第1のフレームを前記第2のフレームの前にレンダリングさせ、前記変更された第3のピクセルデータが前記フレームバッファに出力される前に、前記第2のピクセルデータが前記フレームバッファに出力され、前記第2のフレームを前記再投影フレームの前にレンダリングさせる、請求項1に記載の方法。
- 前記HMDの前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記HMDの前記GPUへの前記入力として、それぞれが前記ディスプレイパネルの1つ以上の端部にあるピクセルのサブセット以外のピクセルに対応する前記第1のピクセルデータの一部および前記第2のピクセルデータの一部を提供することを備える、請求項1に記載の方法。
- 前記第1のピクセルデータの一部および前記第2のピクセルデータの一部が、それぞれ、前記ディスプレイパネルの周辺にレンダリングされたパネルマスクに対応するデータを表し、前記方法が、さらに、
前記HMDの頭部追跡モジュールによって提供される回転データに基づいて、前記HMDが前記第1のフレームのレンダリングと前記第2のフレームのレンダリングとの間で第1の向きから第2の向きに回転したことを判定することと、
前記第1のピクセルデータを変更して、前記第1のフレーム内のシーンを前記HMDの前記第2の向きに位置合わせする変更された第1のピクセルデータを取得することであって、前記変更された第1のピクセルデータの一部が、前記パネルマスクに対応するデータを表すことと、
前記第2のピクセルデータを変更して、前記第2のフレーム内のシーンを前記HMDの前記第1の向きに位置合わせする変更された第2のピクセルデータを取得することであって、前記変更された第2のピクセルデータの一部が、前記パネルマスクに対応するデータを表すことと、
前記変更された第1のピクセルデータの一部を前記変更された第2のピクセルデータの一部と組み合わせて、前記パネルマスクに対応する共通のピクセル値を有するピクセルのサブセットを判定することと、を備え、
前記HMDの前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記HMDの前記GPUへの前記入力として、それぞれが前記ピクセルのサブセット以外のピクセルに対応する前記第1のピクセルデータの特定の部分および第2のピクセルデータの特定の部分を提供することを備える、請求項1に記載の方法。 - 方法であって、
グラフィックスプロセッシングユニット(GPU)への入力として、
アプリケーションから受信した第1のフレームであって、過去にレンダリングされた前記第1のフレームに関連付けられた第1のピクセルデータと、
前記アプリケーションから受信した第2のフレームであって、前記第1のフレームの後に過去にレンダリングされた前記第2のフレームに関連付けられた第2のピクセルデータと、を提供することと、
前記GPUから、前記第1のピクセルデータおよび前記第2のピクセルデータに少なくとも部分的に基づいて前記GPUのビデオ符号化器によって生成された動きベクトルの配列を受信することと、
前記動きベクトルの配列にオーバーレイされた減衰テクスチャを生成することと、
前記減衰テクスチャを使用して前記動きベクトルの配列の1つ以上の動きベクトルの大きさを減少させて、動きベクトルの変更された配列を取得することと、
前記第2のピクセルデータに少なくとも部分的に基づいて、再投影フレームの第3のピクセルデータを生成することと、
前記動きベクトルの変更された配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更して、前記再投影フレームの変更された第3のピクセルデータを取得することと、
前記変更された第3のピクセルデータに少なくとも部分的に基づいて、ディスプレイ上に前記再投影フレームをレンダリングすることと、を備える、方法。 - 前記第2のピクセルデータがフレームバッファに出力される前に、前記第1のピクセルデータが前記フレームバッファに出力され、前記第1のフレームを前記第2のフレームの前にレンダリングさせ、前記変更された第3のピクセルデータが前記フレームバッファに出力される前に、前記第2のピクセルデータが前記フレームバッファに出力され、前記第2のフレームを前記再投影フレームの前にレンダリングさせる、請求項5に記載の方法。
- さらに、
前記再投影フレームのレンダリングメッシュを生成することであって、前記レンダリングメッシュが、複数の頂点を有するテッセレーションされたメッシュを含むことと、
前記動きベクトルの変更された配列の中の非ゼロの動きベクトルに少なくとも部分的に基づいて、前記複数の頂点のうちの頂点を、移動された頂点として前記レンダリングメッシュ内の異なる位置に移動することと、を備え、
前記動きベクトルの変更された配列に少なくとも部分的に基づいて前記第3のピクセルデータを変更することが、前記レンダリングメッシュの前記移動された頂点にしたがって前記第3のピクセルデータのピクセル値を移動して、前記再投影フレームの前記変更された第3のピクセルデータを取得することを備える、請求項5に記載の方法。 - 前記ディスプレイがヘッドマウントディスプレイ(HMD)であり、前記方法が、さらに、
前記HMDの頭部追跡モジュールによって提供される回転データに基づいて、前記HMDが前記第1のフレームのレンダリングと前記第2のフレームのレンダリングとの間で第1の向きから第2の向きに回転したことを判定することと、
前記第1のフレーム内のシーンを前記HMDの前記第2の向きに位置合わせする変更された第1のピクセルデータを取得するために前記第1のピクセルデータ、または
前記第2のフレーム内のシーンを前記HMDの前記第1の向きに位置合わせする変更された第2のピクセルデータを取得するために前記第2のピクセルデータ、のうちの少なくとも1つを変更することと、を備え、
前記HMDの前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記HMDの前記GPUへの前記入力として、前記変更された第1のピクセルデータまたは前記変更された第2のピクセルデータのうちの少なくとも1つを提供することを備える、請求項5に記載の方法。 - 前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記GPUへの前記入力として、それぞれが前記ディスプレイの1つ以上の端部にあるピクセルのサブセット以外のピクセルに対応する前記第1のピクセルデータの一部および前記第2のピクセルデータの一部を提供することを備える、請求項5に記載の方法。
- 前記ディスプレイがヘッドマウントディスプレイ(HMD)であり、前記第1のピクセルデータの一部および前記第2のピクセルデータの一部が、それぞれ、前記HMDのディスプレイパネルの周辺にレンダリングされたパネルマスクに対応するデータを表し、前記方法が、さらに、
前記HMDの頭部追跡モジュールによって提供される回転データに基づいて、前記HMDが前記第1のフレームのレンダリングと前記第2のフレームのレンダリングとの間で第1の向きから第2の向きに回転したことを判定することと、
前記第1のピクセルデータを変更して、前記第1のフレーム内のシーンを前記HMDの前記第2の向きに位置合わせする変更された第1のピクセルデータを取得することであって、前記変更された第1のピクセルデータの一部が、前記パネルマスクに対応するデータを表すことと、
前記第2のピクセルデータを変更して、前記第2のフレーム内のシーンを前記HMDの前記第1の向きに位置合わせする変更された第2のピクセルデータを取得することであって、前記変更された第2のピクセルデータの一部が、前記パネルマスクに対応するデータを表すことと、
前記変更された第1のピクセルデータの一部を前記変更された第2のピクセルデータの一部と組み合わせて、前記パネルマスクに対応する共通のピクセル値を有するピクセルのサブセットを判定することと、を備え、
前記HMDの前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記HMDの前記GPUへの前記入力として、それぞれが前記ピクセルのサブセット以外のピクセルに対応する前記第1のピクセルデータの特定の部分および第2のピクセルデータの特定の部分を提供することを備える、請求項5に記載の方法。 - さらに、
前記動きベクトルの配列の大きさを閾値の大きさと比較することと、
前記動きベクトルの配列の動きベクトルのサブセットが前記閾値の大きさよりも大きい大きさを有することを判定することと、
前記動きベクトルのサブセットの大きさを減らして、前記動きベクトルの変更された配列を取得することと、を備える、請求項5に記載の方法。 - 前記第1のフレームおよび前記第2のフレームが、一連のフレームにおいて連続してレンダリングされた、請求項5に記載の方法。
- 前記第1のピクセルデータが、第1の彩度データを含み、前記第2のピクセルデータが、第2の彩度データを含み、前記動きベクトルの配列が、前記第1の彩度データおよび前記第2の彩度データに少なくとも部分的に基づいて前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第1の配列であり、前記方法が、さらに、
前記GPUへの第2の入力として、
前記第1のフレームに関連付けられた第1の輝度データと、
前記第2のフレームに関連付けられた第2の輝度データと、を提供することと、
前記GPUから、前記第1の輝度データおよび前記第2の輝度データに少なくとも部分的に基づいて、前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第2の配列を受信することと、
前記動きベクトルの第1の配列および前記動きベクトルの第2の配列の分析に基づいて、前記動きベクトルの第1の配列または前記動きベクトルの第2の配列の1つを動きベクトルの選択された配列として選択することと、を備え、
前記第3のピクセルデータを変更するために使用される前記動きベクトルの変更された配列が、前記動きベクトルの選択された配列に基づいている、請求項5に記載の方法。 - 前記動きベクトルの配列が動きベクトルの第1の配列であり、前記方法が、さらに、
第1の回転量だけ前記第1のフレームを回転させて第1の回転フレームを取得することと、
第2の回転量だけ前記第2のフレームを回転させて第2の回転フレームを取得することと、
前記GPUへの第2の入力として、
前記第1の回転フレームに関連付けられた第3のピクセルデータと、
前記第2の回転フレームに関連付けられた第4のピクセルデータと、を提供することと、
前記GPUから、前記第3のピクセルデータおよび前記第4のピクセルデータに少なくとも部分的に基づいて、動きベクトルの第2の配列を受信することと、
前記動きベクトルの第1の配列および前記動きベクトルの第2の配列における動きベクトルの方向または大きさの少なくとも1つの差異を判定することと、
前記差異に少なくとも部分的に基づいて動きベクトルの最終配列を生成することと、を備え、
前記第3のピクセルデータを変更するために使用される前記動きベクトルの変更された配列が、前記動きベクトルの最終配列に基づいている、請求項5に記載の方法。 - 前記動きベクトルの配列が、第1の解像度での動きベクトルの第1の配列であり、前記方法が、さらに、
前記動きベクトルの第1の配列に少なくとも部分的に基づいて、前記ディスプレイにまたがる画像領域の第1の部分における動きの欠如を検出することと、
前記動きベクトルの第1の配列に少なくとも部分的に基づいて、前記画像領域の第2の部分におけるオブジェクトの動きを検出することと、
前記GPUへの追加入力として、
前記画像領域の前記第1の部分に対応する前記第1のピクセルデータの第1の部分と、
前記画像領域の前記第1の部分に対応する前記第2のピクセルデータの第1の部分と、
前記画像領域の前記第2の部分に対応する前記第1のピクセルデータの第2の部分と、
前記画像領域の前記第2の部分に対応する前記第2のピクセルデータの第2の部分と、を提供することと、
前記GPUから、前記第1のピクセルデータの前記第1の部分および前記第2のピクセルデータの前記第1の部分に少なくとも部分的に基づいて、前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第2の配列を受信することであって、前記動きベクトルの第2の配列が、前記第1の解像度よりも高い解像度である第2の解像度で生成されることと、
前記GPUから、前記第1のピクセルデータの前記第2の部分および前記第2のピクセルデータの前記第2の部分に少なくとも部分的に基づいて、前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第3の配列を受信することであって、前記動きベクトルの第3の配列が、前記第2の解像度よりも低い解像度である第3の解像度で生成されることと、を備え、
前記第3のピクセルデータを変更するために使用される前記動きベクトルの変更された配列が、前記動きベクトルの第2の配列および前記動きベクトルの第3の配列に基づいて前記第3のピクセルデータを変更することを備える、請求項5に記載の方法。 - 前記第3のピクセルデータを変更することが、さらに、深度バッファを利用して、前記変更された第3のピクセルデータのフレームバッファのピクセル値の最終セットを判定することを備える、請求項5に記載の方法。
- システムであって、
ディスプレイと、
グラフィックスプロセッシングユニット(GPU)と、
ロジックであって、
前記GPUへの入力として、
アプリケーションから受信した第1のフレームに関連付けられた第1のピクセルデータであって、前記第1のフレームが、以前にレンダリングされている、第1のピクセルデータと、
前記アプリケーションから受信した第2のフレームに関連付けられた第2のピクセルデータであって、前記第2のフレームが、前記第1のフレームの後に以前にレンダリングされている、第2のピクセルデータと、を提供し、
前記GPUから、前記第1のピクセルデータおよび前記第2のピクセルデータに少なくとも部分的に基づいて前記GPUのビデオ符号化器によって生成された動きベクトルの配列を受信し、
前記第2のピクセルデータに少なくとも部分的に基づいて、再投影フレームの第3のピクセルデータを生成し、
前記再投影フレームのレンダリングメッシュを生成し、
前記動きベクトルの配列のうちの非ゼロの動きベクトルに少なくとも部分的に基づいて、移動した頂点として、前記レンダリングメッシュのうちの異なる位置に前記レンダリングメッシュの頂点を移動し、
前記レンダリングメッシュの前記移動した頂点に少なくとも部分的に基づいて前記第3のピクセルデータを変更して、前記再投影フレームの変更された第3のピクセルデータを取得し、
前記変更された第3のピクセルデータに少なくとも部分的に基づいて、前記ディスプレイ上に前記再投影フレームをレンダリングする、ように構成されたロジックと、を備える、システム。 - 前記ロジックが、さらに、
前記第2のピクセルデータがフレームバッファに出力される前に、前記第1のピクセルデータを前記フレームバッファに出力し、前記第1のフレームを前記第2のフレームの前にレンダリングさせ、
前記変更された第3のピクセルデータが前記フレームバッファに出力される前に、前記第2のピクセルデータを前記フレームバッファに出力し、前記第2のフレームを前記再投影フレームの前にレンダリングさせる、ように構成されている、請求項17に記載のシステム。 - 前記レンダリングメッシュは、前記頂点を含む複数の頂点を有するテッセレーションされたメッシュと、
(i)前記非ゼロの動きベクトルの方向に、および(ii)前記非ゼロの動きベクトルの大きさに対応する量だけ移動される、前記頂点と、
前記レンダリングメッシュの前記移動された頂点にしたがって前記第3のピクセルデータのピクセル値を移動して、前記再投影フレームの前記変更された第3のピクセルデータを取得することを備える、前記レンダリングメッシュの前記移動された頂点に少なくとも部分的に基づいて前記第3のピクセルデータを変更することと、を含む、請求項17に記載のシステム。 - 前記ディスプレイがヘッドマウントディスプレイ(HMD)であり、前記ロジックが、さらに、
前記HMDの頭部追跡モジュールによって提供される回転データに基づいて、前記HMDが前記第1のフレームのレンダリングと前記第2のフレームのレンダリングとの間で第1の向きから第2の向きに回転したことを判定し、
前記第1のフレーム内のシーンを前記HMDの前記第2の向きに位置合わせする変更された第1のピクセルデータを取得するために前記第1のピクセルデータ、または
前記第2のフレーム内のシーンを前記HMDの前記第1の向きに位置合わせする変更された第2のピクセルデータを取得するために前記第2のピクセルデータ、のうちの少なくとも1つを変更するように構成されており、
前記HMDの前記GPUへの前記入力として、前記第1のピクセルデータおよび前記第2のピクセルデータを提供することが、前記HMDの前記GPUへの前記入力として、前記変更された第1のピクセルデータまたは前記変更された第2のピクセルデータのうちの少なくとも1つを提供することを備える、請求項17に記載のシステム。 - 前記ロジックが、さらに、
前記第1のピクセルデータと前記第2のピクセルデータとの間の色ピクセル値を比較して、前記動きベクトルの配列内の個々の動きベクトルに対応する個々の色差値を判定し、
閾値色差よりも小さい色差値に関連付けられている動きベクトルのサブセットを判定し、
前記動きベクトルのサブセットの大きさをゼロに減らして、動きベクトルの変更された配列を取得する、ように構成されており、
前記非ゼロの動きベクトルの配列に少なくとも部分的に基づいて前記レンダリングメッシュの前記頂点を移動することが、前記動きベクトルの変更された配列のうちの非ゼロの動きベクトルに基づいて前記第3のピクセルデータを変更することを備える、請求項17に記載のシステム。 - 前記第1のピクセルデータが、第1の彩度データを含み、前記第2のピクセルデータが、第2の彩度データを含み、前記動きベクトルの配列が、前記第1の彩度データおよび前記第2の彩度データに少なくとも部分的に基づいて前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第1の配列であり、前記ロジックが、さらに、
前記GPUへの第2の入力として、
前記第1のフレームに関連付けられた第1の輝度データと、
前記第2のフレームに関連付けられた第2の輝度データと、を提供し、
前記GPUから、前記第1の輝度データおよび前記第2の輝度データに少なくとも部分的に基づいて、前記GPUの前記ビデオ符号化器によって生成された動きベクトルの第2の配列を受信し、
前記動きベクトルの第1の配列および前記動きベクトルの第2の配列の分析に基づいて、前記動きベクトルの第1の配列または前記動きベクトルの第2の配列の1つを動きベクトルの選択された配列として選択するように構成されており、
前記レンダリングメッシュの前記頂点を移動するために使用される前記非ゼロの動きベクトルの配列が、非ゼロの動きベクトルのうちの前記動きベクトルの選択された配列を含む、請求項17に記載のシステム。 - 前記ロジックが、さらに、
動きベクトルの変更された配列を取得するために前記動きベクトルの配列に対するスカラー中央値フィルタ、または
前記動きベクトルの変更された配列を取得するために前記動きベクトルの配列に対する平均最大ぼかしフィルタ、のうちの少なくとも1つを適用するように構成されており、
前記非ゼロの動きベクトルに少なくとも部分的に基づいて前記レンダリングメッシュの前記頂点を移動することが、前記動きベクトルの変更された配列のうちの非ゼロの動きベクトルに基づいて前記第3のピクセルデータを変更することを備える、請求項17に記載のシステム。 - 前記第1のピクセルデータと前記第2のピクセルデータとの間の色ピクセル値を比較して、前記動きベクトルの配列内の個々の動きベクトルに対応する個々の色差値を決定することと、
閾値色差未満の色差値に関連付けられた動きベクトルのサブセットを決定し、
前記動きベクトルのサブセットの大きさをゼロまで減少させて、前記動きベクトルの変更された配列を取得することと、をさらに含む、請求項5に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/155,686 US10733783B2 (en) | 2018-10-09 | 2018-10-09 | Motion smoothing for re-projected frames |
US16/155,686 | 2018-10-09 | ||
PCT/US2019/053528 WO2020076526A1 (en) | 2018-10-09 | 2019-09-27 | Motion smoothing for re-projected frames |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022504475A JP2022504475A (ja) | 2022-01-13 |
JPWO2020076526A5 JPWO2020076526A5 (ja) | 2022-10-03 |
JP7395577B2 true JP7395577B2 (ja) | 2023-12-11 |
Family
ID=70052297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021519155A Active JP7395577B2 (ja) | 2018-10-09 | 2019-09-27 | 再投影フレームのモーションスムージング |
Country Status (6)
Country | Link |
---|---|
US (1) | US10733783B2 (ja) |
EP (1) | EP3857885A4 (ja) |
JP (1) | JP7395577B2 (ja) |
KR (1) | KR102641272B1 (ja) |
CN (1) | CN113170136B (ja) |
WO (1) | WO2020076526A1 (ja) |
Families Citing this family (20)
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 |
US10152822B2 (en) * | 2017-04-01 | 2018-12-11 | Intel Corporation | Motion biased foveated renderer |
US10319064B2 (en) | 2017-04-10 | 2019-06-11 | Intel Corporation | Graphics anti-aliasing resolve with stencil mask |
CN115842907A (zh) * | 2018-03-27 | 2023-03-24 | 京东方科技集团股份有限公司 | 渲染方法、计算机产品及显示装置 |
US10861215B2 (en) * | 2018-04-30 | 2020-12-08 | Qualcomm Incorporated | Asynchronous time and space warp with determination of region of interest |
US10520739B1 (en) * | 2018-07-11 | 2019-12-31 | Valve Corporation | Dynamic panel masking |
US11381825B2 (en) * | 2018-11-27 | 2022-07-05 | Advanced Micro Devices, Inc. | Variable rate rendering based on motion estimation |
US11164395B2 (en) | 2019-05-15 | 2021-11-02 | Microsoft Technology Licensing, Llc | Structure switching in a three-dimensional environment |
US11287947B2 (en) | 2019-05-15 | 2022-03-29 | Microsoft Technology Licensing, Llc | Contextual input in a three-dimensional environment |
US11039061B2 (en) | 2019-05-15 | 2021-06-15 | Microsoft Technology Licensing, Llc | Content assistance in a three-dimensional environment |
US11030822B2 (en) * | 2019-05-15 | 2021-06-08 | Microsoft Technology Licensing, Llc | Content indicators in a 3D environment authoring application |
US11138804B2 (en) | 2019-08-02 | 2021-10-05 | Fmr Llc | Intelligent smoothing of 3D alternative reality applications for secondary 2D viewing |
US11948242B2 (en) | 2019-08-02 | 2024-04-02 | Fmr Llc | Intelligent smoothing of 3D alternative reality applications for secondary 2D viewing |
US20210192681A1 (en) * | 2019-12-18 | 2021-06-24 | Ati Technologies Ulc | Frame reprojection for virtual reality and augmented reality |
US11363247B2 (en) | 2020-02-14 | 2022-06-14 | Valve Corporation | Motion smoothing in a distributed system |
US20220345678A1 (en) * | 2021-04-21 | 2022-10-27 | Microsoft Technology Licensing, Llc | Distributed Virtual Reality |
US11587208B2 (en) * | 2021-05-26 | 2023-02-21 | Qualcomm Incorporated | High quality UI elements with frame extrapolation |
US20230088882A1 (en) * | 2021-09-22 | 2023-03-23 | Samsung Electronics Co., Ltd. | Judder detection for dynamic frame rate conversion |
EP4224289A1 (en) * | 2022-02-08 | 2023-08-09 | Nokia Technologies Oy | Mediated reality |
CN118057460A (zh) * | 2022-11-21 | 2024-05-21 | 荣耀终端有限公司 | 图像处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070035706A1 (en) | 2005-06-20 | 2007-02-15 | Digital Display Innovations, Llc | Image and light source modulation for a digital display system |
JP2012073350A (ja) | 2010-09-28 | 2012-04-12 | Canon Inc | 映像制御装置、及び映像制御方法 |
US20140307787A1 (en) | 2013-04-15 | 2014-10-16 | Santa Clara University | Method and apparatus of depth prediction mode selection |
US20180041768A1 (en) | 2015-02-24 | 2018-02-08 | Lg Electronics Inc. | Polygon unit-based image processing method, and device for same |
US20190045213A1 (en) | 2017-08-03 | 2019-02-07 | Intel Corporation | Reference frame reprojection for improved video coding |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6466185B2 (en) | 1998-04-20 | 2002-10-15 | Alan Sullivan | Multi-planar volumetric display system and method of operation using psychological vision cues |
JP4408779B2 (ja) * | 2004-09-15 | 2010-02-03 | キヤノン株式会社 | 画像処理装置 |
CA2676219C (en) | 2007-01-23 | 2017-10-24 | Euclid Discoveries, Llc | Computer method and apparatus for processing image data |
JP2008252591A (ja) * | 2007-03-30 | 2008-10-16 | Toshiba Corp | 補間フレーム生成装置、補間フレーム生成方法及び放送受信装置 |
US8208551B2 (en) * | 2007-10-31 | 2012-06-26 | Broadcom Corporation | Method and system for hierarchically layered adaptive median motion vector smoothing |
US20120021828A1 (en) | 2010-02-24 | 2012-01-26 | Valve Corporation | Graphical user interface for modification of animation data using preset animation samples |
US8624891B2 (en) | 2011-01-17 | 2014-01-07 | Disney Enterprises, Inc. | Iterative reprojection of images |
US9277129B2 (en) | 2013-06-07 | 2016-03-01 | Apple Inc. | Robust image feature based video stabilization and smoothing |
CN105794210B (zh) * | 2013-12-06 | 2019-05-10 | 联发科技股份有限公司 | 视频编码系统中用于边界像素的运动补偿预测方法及装置 |
US9824498B2 (en) * | 2014-12-30 | 2017-11-21 | Sony Interactive Entertainment Inc. | Scanning display system in head-mounted display for virtual reality |
US10037620B2 (en) * | 2015-05-29 | 2018-07-31 | Nvidia Corporation | Piecewise linear irregular rasterization |
GB2539042B (en) * | 2015-06-05 | 2019-08-21 | Imagination Tech Ltd | Tessellation method using displacement factors |
WO2017031268A1 (en) * | 2015-08-19 | 2017-02-23 | Valve Corporation | Systems and methods for detection and/or correction of pixel luminosity and/or chrominance response variation in displays |
US10026212B2 (en) * | 2015-11-20 | 2018-07-17 | Google Llc | Electronic display stabilization using pixel velocities |
US9978180B2 (en) | 2016-01-25 | 2018-05-22 | Microsoft Technology Licensing, Llc | Frame projection for augmented reality environments |
US10129523B2 (en) * | 2016-06-22 | 2018-11-13 | Microsoft Technology Licensing, Llc | Depth-aware reprojection |
US10297086B2 (en) * | 2016-07-04 | 2019-05-21 | Liquid Cinema Inc. | System and method for processing digital video |
US10861215B2 (en) * | 2018-04-30 | 2020-12-08 | Qualcomm Incorporated | Asynchronous time and space warp with determination of region of interest |
-
2018
- 2018-10-09 US US16/155,686 patent/US10733783B2/en active Active
-
2019
- 2019-09-27 KR KR1020217012646A patent/KR102641272B1/ko active IP Right Grant
- 2019-09-27 EP EP19871387.7A patent/EP3857885A4/en active Pending
- 2019-09-27 JP JP2021519155A patent/JP7395577B2/ja active Active
- 2019-09-27 WO PCT/US2019/053528 patent/WO2020076526A1/en unknown
- 2019-09-27 CN CN201980067305.5A patent/CN113170136B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070035706A1 (en) | 2005-06-20 | 2007-02-15 | Digital Display Innovations, Llc | Image and light source modulation for a digital display system |
JP2012073350A (ja) | 2010-09-28 | 2012-04-12 | Canon Inc | 映像制御装置、及び映像制御方法 |
US20140307787A1 (en) | 2013-04-15 | 2014-10-16 | Santa Clara University | Method and apparatus of depth prediction mode selection |
US20180041768A1 (en) | 2015-02-24 | 2018-02-08 | Lg Electronics Inc. | Polygon unit-based image processing method, and device for same |
US20190045213A1 (en) | 2017-08-03 | 2019-02-07 | Intel Corporation | Reference frame reprojection for improved video coding |
Also Published As
Publication number | Publication date |
---|---|
KR102641272B1 (ko) | 2024-02-27 |
KR20210071015A (ko) | 2021-06-15 |
EP3857885A4 (en) | 2022-06-22 |
EP3857885A1 (en) | 2021-08-04 |
US20200111195A1 (en) | 2020-04-09 |
JP2022504475A (ja) | 2022-01-13 |
US10733783B2 (en) | 2020-08-04 |
CN113170136A (zh) | 2021-07-23 |
WO2020076526A1 (en) | 2020-04-16 |
CN113170136B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7395577B2 (ja) | 再投影フレームのモーションスムージング | |
CN115088254A (zh) | 分布式系统中的运动平滑 | |
US11151776B2 (en) | Prediction and throttling adjustments based on application rendering performance | |
US9832451B2 (en) | Methods for reduced-bandwidth wireless 3D video transmission | |
EP2854099B1 (en) | Information processing device and information processing method | |
CN113272715B (zh) | 基于眼睛跟踪的动态渲染时间确定 | |
US10121221B2 (en) | Method and apparatus to accelerate rendering of graphics images | |
US10948730B2 (en) | Dynamic panel masking | |
US11343486B2 (en) | Counterrotation of display panels and/or virtual cameras in a HMD | |
JP7150134B2 (ja) | ヘッドマウントディスプレイおよび画像表示方法 | |
CN114026603B (zh) | 渲染计算机生成现实文本 | |
US20230306676A1 (en) | Image generation device and image generation method | |
US11120606B1 (en) | Systems and methods for image texture uniformization for multiview object capture | |
CN111612915A (zh) | 渲染对象以匹配相机噪声 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220922 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220922 |
|
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: 20231107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7395577 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |