IP Library Patent Application 18047924
Patent Application
App. No. 18/047,924

Parallax Asynchronous Spacewarp for Multiple Frame Extrapolation

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
18/047,924
Abstract

In one embodiment, a method includes obtaining a first frame rendered for a first head pose and a second frame rendered for a second head pose, generating first motion vectors based on a first comparison between the first frame and the second frame, determining a first positional displacement vector based on the first head pose and the second head pose, determining a second positional displacement vector based on the second head pose and a subsequent head pose, generating a positional extrapolation for the subsequent head pose by projecting the second positional displacement vector onto the first positional displacement vector, generating a scaling factor based on the positional extrapolation, updating the second frame based on the scaling factor and the first motion vectors, and rendering a subsequent frame for the subsequent head pose based on the updated second frame.

Claims (67)

1 . A computer implemented method, comprising:

obtaining a first frame rendered for a first head pose and a second frame rendered for a second head pose;

generating first motion vectors based on a first comparison between the first frame and the second frame;

determining a first positional displacement vector based on the first head pose and the second head pose;

determining a second positional displacement vector based on the second head pose and a subsequent head pose;

generating a positional extrapolation for the subsequent head pose by projecting the second positional displacement vector onto the first positional displacement vector;

generating a scaling factor based on the positional extrapolation;

updating the second frame based on the scaling factor and the first motion vectors; and

rendering a subsequent frame for the subsequent head pose based on the updated second frame.

2 . The method of claim 1 , further comprising:

warping the first frame to have a first orientation of the second frame prior to generating the first motion vectors.

3 . The method of claim 1 , further comprising:

warping the second frame to have a second orientation of the subsequent frame.

4 . The method of claim 1 , further comprising:

determining a head motion direction based on the first head pose and the second head pose;

decomposing each of the first motion vectors into a parallel component alongside the head motion direction, and a perpendicular component orthogonal to the head motion direction;

generating a parallel scaling factor and a perpendicular scaling factor;

updating the second frame based on the parallel scaling factor and the parallel component, and the perpendicular scaling factor and the perpendicular component; and

rendering the subsequent frame for the subsequent head pose based on the updated second frame.

5 . The method of claim 4 , wherein the parallel scaling factor being position-based, or time-based.

6 . The method of claim 4 , wherein the perpendicular scaling factor being zero, or time-based.

7 . The method of claim 1 , wherein the subsequent image frame being rendered after at least two consecutive frames after the second frame.

8 . The method of claim 1 , wherein each of the first motion vectors comprises at least one of an object motion vector and a parallax motion vector.

9 . One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

obtain a first frame rendered for a first head pose and a second frame rendered for a second head pose;

generate first motion vectors based on a first comparison between the first frame and the second frame;

determine a first positional displacement vector based on the first head pose and the second head pose;

determine a second positional displacement vector based on the second head pose and a subsequent head pose;

generate a positional extrapolation for the subsequent head pose by projecting the second positional displacement vector onto the first positional displacement vector;

generate a scaling factor based on the positional extrapolation;

update the second frame based on the scaling factor and the first motion vectors; and

render a subsequent frame for the subsequent head pose based on the updated second frame.

10 . The media of claim 9 , wherein the software is further operable when executed to:

warp the first frame to have a first orientation of the second frame prior to generating the first motion vectors.

11 . The media of claim 9 , wherein the software is further operable when executed to:

warp the second frame to have a second orientation of the subsequent frame.

12 . The media of claim 9 , wherein the software is further operable when executed to:

determine a head motion direction based on the first head pose and the second head pose;

decompose each of the first motion vectors into a parallel component alongside the head motion direction, and a perpendicular component orthogonal to the head motion direction;

generate a parallel scaling factor and a perpendicular scaling factor;

update the second frame based on the parallel scaling factor and the parallel component, and the perpendicular scaling factor and the perpendicular component; and

render the subsequent frame for the subsequent head pose based on the updated second frame.

13 . The media of claim 12 , wherein the parallel scaling factor being position-based, or time-based.

14 . The media of claim 12 , wherein the perpendicular scaling factor being zero, or time-based.

15 . The media of claim 9 , wherein the subsequent image frame being rendered after at least two consecutive frames after the second frame.

16 . The media of claim 9 , wherein each of the first motion vectors comprises at least one of an object motion vector and a parallax motion vector.

17 . A system comprising:

one or more processors; and

one or more computer-readable non-transitory storage media coupled to one or more of the processors and comprising instructions operable when executed by one or more of the processors to cause the system to:

obtain a first frame rendered for a first head pose and a second frame rendered for a second head pose;

generate first motion vectors based on a first comparison between the first frame and the second frame;

determine a first positional displacement vector based on the first head pose and the second head pose;

determine a second positional displacement vector based on the second head pose and a subsequent head pose;

generate a positional extrapolation for the subsequent head pose by projecting the second positional displacement vector onto the first positional displacement vector;

generate a scaling factor based on the positional extrapolation;

update the second frame based on the scaling factor and the first motion vectors; and

render a subsequent frame for the subsequent head pose based on the updated second frame.

18 . The system of claim 17 , wherein the processors are further operable when executing the instructions to:

warp the first frame to have a first orientation of the second frame prior to generating the first motion vectors.

19 . The system of claim 17 , wherein the processors are further operable when executing the instructions to:

warp the second frame to have a second orientation of the subsequent frame.

20 . The system of claim 17 , wherein the processors are further operable when executing the instructions to:

determine a head motion direction based on the first head pose and the second head pose;

decompose each of the first motion vectors into a parallel component alongside the head motion direction, and a perpendicular component orthogonal to the head motion direction;

generate a parallel scaling factor and a perpendicular scaling factor;

update the second frame based on the parallel scaling factor and the parallel component, and the perpendicular scaling factor and the perpendicular component; and

render the subsequent frame for the subsequent head pose based on the updated second frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2022
From: KEELER, TODD DOUGLAS; LANSEL, STEVEN PAUL
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 061527/0457 →