US 10,489,966 C1 (12,651st)
Generating a new frame using rendered content and non-rendered content from a previous perspective
Reza Nourai, Dublin, CA (US); Robert Blake Taylor, Porter Ranch, CA (US); and Michael Harold Liebenow, Loxahatchee, FL (US)
Filed by Magic Leap, Inc., Plantation, FL (US)
Assigned to MAGIC LEAP, INC., Plantation, FL (US)
Reexamination Request No. 90/019,252, Sep. 13, 2023.
Reexamination Certificate for Patent 10,489,966, issued Nov. 26, 2019, Appl. No. 16/120,020, Aug. 31, 2018.
Claims priority of provisional application 62/553,778, filed on Sep. 1, 2017.
Ex Parte Reexamination Certificate issued on Jul. 16, 2024.
Int. Cl. G06T 15/20 (2011.01); G06F 3/01 (2006.01); G06T 1/60 (2006.01); G06T 3/00 (2024.01); G06T 3/18 (2024.01); G06T 15/40 (2011.01)
CPC G06T 15/20 (2013.01) [G06F 3/011 (2013.01); G06F 3/012 (2013.01); G06T 3/18 (2024.01); G06T 15/205 (2013.01); G06T 15/40 (2013.01); G06T 1/60 (2013.01); G06T 2210/62 (2013.01)]
OG exemplary drawing
AS A RESULT OF REEXAMINATION, IT HAS BEEN DETERMINED THAT:
The patentability of claims 12-25 is confirmed.
Claim 9 is cancelled.
Claims 1, 11 and 26 are determined to be patentable as amended.
Claims 2-8 and 10, dependent on an amended claim, are determined to be patentable.
New claim 27 is added and determined to be patentable.
1. A method for constructing a new frame using rendered content and non-rendered content from a previous perspective, the method comprising:
rendering points of visible surfaces of a first set of objects from a first perspective;
storing both rendered content and non-rendered content from the first perspective, the rendered content corresponding to the points of the visible surfaces of the first set of objects from the first perspective, and the non-rendered content corresponding to non-visible portions of the first set of objects from the first perspective;
receiving a request to display a new frame from a second perspective;
generating the new frame from the second perspective using the rendered content and the non-rendered content from the first perspective; and
displaying the new frame from the second perspective, [
wherein storing both the rendered content and the non-rendered content from the first perspective comprises
predicting a head movement of a user,
calculating bounds for the predicted head movement of the user based at least in part on one or more of a predicted direction, a current speed of movement of the user, and a predicted speed of movement for the user, the bounds corresponding to a maximum predicted head movement for the second perspective,
determining content within the calculated bounds for the predicted head movement, and
storing the content within the calculated bounds.]
11. The system of claim 1 [ 12] , wherein storing both rendered content and non-rendered content for the one or more objects from the first perspective further comprises:
determining opaque points of one or more opaque objects;
storing image data corresponding to the opaque points;
determining semi-transparent points of one or more semi-transparent objects; and
storing image data of the semi-transparent points, wherein the first set of objects comprises the one or more opaque objects and the one or more semi-transparent objects.
26. A method for constructing a new frame using rendered content and non-rendered content from a previous perspective, the method comprising:
rendering one or more objects from a first perspective;
storing both rendered content and non-rendered content for the one or more objects from the first perspective, the non-rendered content corresponding to non-visible portions of the object from the first perspective;
receiving a request to display the one or more object from a second perspective;
warping at least some of the rendered content for the one or more objects to create warped content from the second perspective;
rendering at least some of the non-rendered content for the one or more objects to create second rendered content from the second perspective; and
constructing the one or more objects from the second perspective by combining both the warped content and the second rendered content from the second perspective; and
displaying the one or more objects from the second perspective [ ,
wherein storing both the rendered content and the non-rendered content from the first perspective comprises
predicting a head movement of a user,
calculating bounds for the predicted head movement of the user based at least in part on one or more of a predicted direction, a current speed of movement of the user, and a predicted speed of movement for the user, the bounds corresponding to a maximum predicted head movement for the second perspective,
determining content within the calculated bounds for the predicted head movement, and
storing the content within the calculated bounds.]
[ 27. A method for constructing a new frame using rendered content and non-rendered content from a previous perspective, the method comprising:
rendering points of visible surfaces of a first set of objects from a first perspective;
storing both rendered content and non-rendered content from the first perspective, the rendered content corresponding to the points of the visible surfaces of the first set of objects from the first perspective, and the non-rendered content corresponding to non-visible portions of the first set of objects from the first perspective;
receiving a request to display a new frame from a second perspective;
generating the new frame from the second perspective using the rendered content and the non-rendered content from the first perspective; and
displaying the new frame from the second perspective,
wherein generating the new frame from the second perspective using the rendered content and the non-rendered content from the first perspective, comprises
determining which of the rendered content and the non-rendered content from the first perspective is visible from the second perspective,
taking the stored rendered content and the stored non-rendered content from the first perspective corresponding to the determined now-visible content and constructing the new frame from the second perspective,
applying warping to the rendered content, and
filling in any holes in the warped rendered content using the non-rendered content.]