IP Library Granted Patent US 12,675,840
Granted Patent B2
US 12,675,840 · App. 18/768,841 · Granted Jul 7, 2026

Late warping to minimize latency of moving objects

Inventors: Bernhard Jung (Perchtoldsdorf, AT); Daniel Wagner (Vienna, AT)
Assignee: SNAP INC.
G06T3/18G06T13/40G06T13/80G06T15/205G06T2210/44
View Patent ↗
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 12,675,840
App. No.
18/768,841
Filed
Jul 10, 2024
Granted
Jul 7, 2026
Kind
B2
Examiner
LE, MICHAEL
Art Unit
2614
USPC
345/633
Abstract

A method for minimizing latency of moving objects in an augmented reality (AR) display device is described. In one aspect, the method includes determining an initial pose of a visual tracking device, identifying an initial location of an object in an image that is generated by an optical sensor of the visual tracking device, the image corresponding to the initial pose of the visual tracking device. rendering virtual content based on the initial pose and the initial location of the object, retrieving an updated pose of the visual tracking device, tracking an updated location of the object in an updated image that corresponds to the updated pose, and applying a time warp transformation to the rendered virtual content based on the updated pose and the updated location of the object to generate transformed virtual content.

Claims (64)

1 . A method comprising:

rendering a first layer of virtual content based on a first pose of a visual tracking device and a first location of a first object depicted in a first image generated by an optical sensor of the visual tracking device;

rendering a second layer of virtual content based on the first pose of the visual tracking device and a first location of a second object depicted in the first image;

accessing a second pose of the visual tracking device;

determining a second location of the first object in a second image that corresponds to the second pose;

determining a second location of the second object in the second image;

applying a first time warp transformation to the first layer based on a combination of the second pose and the second location of the first object;

applying a second time warp transformation to the second layer based on a combination of the second pose and the second location of the second object; and

generating transformed virtual content by combining the first layer and the second layer in a single rendered frame.

2 . The method of claim 1 , further comprising:

generating, using an augmented reality application of the visual tracking device, the virtual content;

rendering the virtual content using a rendering engine of a graphical processing unit at the visual tracking device; and

displaying the transformed virtual content in a display of the visual tracking device.

3 . The method of claim 1 , wherein the first object comprises a physical object or a virtual object.

4 . The method of claim 1 , wherein the first object comprises an animated virtual object,

wherein the first location of the first object is based on an animation behavior of the animated virtual object,

wherein the second location of the first object is based on the animation behavior of the animated virtual object and the second pose.

5 . The method of claim 4 , wherein the animation behavior describes a predefined motion path of the animated virtual object.

6 . The method of claim 1 , wherein the first pose of the visual tracking device are based on inertial sensor data of the visual tracking device.

7 . The method of claim 6 , wherein the inertial sensor data comprises angular velocity data of the visual tracking device between the first pose and the second pose.

8 . The method of claim 1 , wherein the first object comprises a first virtual object and the second object comprises a second virtual object,

wherein determining the second location of the first object is based on the second pose and a first animation behavior of the first virtual object,

wherein determining the second location of the second object is based on the second pose and a second animation behavior of the second virtual object.

9 . The method of claim 8 , wherein determining the second location of the first object further comprises accessing a first animation configuration setting of the first virtual object, wherein determining the second location of the second object further comprises accessing a second animation configuration setting of the second virtual object.

10 . The method of claim 1 , further comprising:

determining the first pose of the visual tracking device of an augmented reality device that comprises the optical sensor;

accessing the first image generated by the optical sensor, the first image corresponding to the first pose of the visual tracking device; and

determining the second pose of the visual tracking device, the second pose following the first pose,

wherein the first object is stationary or non-stationary and the second object is non-stationary or stationary.

11 . A computing apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the apparatus to perform operations comprising:

rendering a first layer of virtual content based on a first pose of a visual tracking device and a first location of a first object depicted in a first image generated by an optical sensor of the visual tracking device;

rendering a second layer of virtual content based on the first pose of the visual tracking device and a first location of a second object depicted in the first image;

accessing a second pose of the visual tracking device;

determining a second location of the first object in a second image that corresponds to the second pose;

determining a second location of the second object in the second image;

applying a first time warp transformation to the first layer based on a combination of the second pose and the second location of the first object;

applying a second time warp transformation to the second layer based on a combination of the second pose and the second location of the second object; and

generating transformed virtual content by combining the first layer and the second layer in a single rendered frame.

12 . The computing apparatus of claim 11 , wherein the operations further comprise:

generating, using an augmented reality application of the visual tracking device, the virtual content;

rendering the virtual content using a rendering engine of a graphical processing unit at the visual tracking device; and

displaying the transformed virtual content in a display of the visual tracking device.

13 . The computing apparatus of claim 11 , wherein the first object comprises a physical object or a virtual object.

14 . The computing apparatus of claim 11 , wherein the first object comprises an animated virtual object,

wherein the first location of the first object is based on an animation behavior of the animated virtual object,

wherein the second location of the first object is based on the animation behavior of the animated virtual object and the second pose.

15 . The computing apparatus of claim 14 , wherein the animation behavior describes a predefined motion path of the animated virtual object.

16 . The computing apparatus of claim 11 , wherein the first pose of the visual tracking device are based on inertial sensor data of the visual tracking device.

17 . The computing apparatus of claim 16 , wherein the inertial sensor data comprises angular velocity data of the visual tracking device between the first pose and the second pose.

18 . The computing apparatus of claim 11 , wherein the first object comprises a first virtual object and the second object comprises a second virtual object,

wherein determining the second location of the first object is based on the second pose and a first animation behavior of the first virtual object,

wherein determining the second location of the second object is based on the second pose and a second animation behavior of the second virtual object.

19 . The computing apparatus of claim 18 , wherein determining the second location of the first object further comprises accessing a first animation configuration setting of the first virtual object, wherein determining the second location of the second object further comprises accessing a second animation configuration setting of the second virtual object.

20 . A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to perform operations comprising:

rendering a first layer of virtual content based on a first pose of a visual tracking device and a first location of a first object depicted in a first image generated by an optical sensor of the visual tracking device;

rendering a second layer of virtual content based on the first pose of the visual tracking device and a first location of a second object depicted in the first image;

accessing a second pose of the visual tracking device;

determining a second location of the first object in a second image that corresponds to the second pose;

determining a second location of the second object in the second image;

applying a first time warp transformation to the first layer based on a combination of the second pose and the second location of the first object;

applying a second time warp transformation to the second layer based on a combination of the second pose and the second location of the second object; and

generating transformed virtual content by combining the first layer and the second layer in a single rendered frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2024
From: JUNG, BERNHARD; WAGNER, DANIEL
To: SNAP INC.
Reel/Frame 068141/0959 →
Continuity (3)
Continuation 17518828 · Nov 4, 2021
Provisional Application 63190119 · May 18, 2021
Related Publication 20240362743A1 · Oct 31, 2024
References Cited (40)
US 10078917B1 · Gaeta · 2018 [cited by examiner]
US 10762598B2 · Liebenow · 2020 [cited by examiner]
US 10984574B1 · De Ridder et al. · 2021 [cited by applicant]
US 12067693B2 · Jung et al. · 2024 [cited by applicant]
US 20150138233A1 · Frushour et al. · 2015 [cited by applicant]
US 20170243324A1 · Mierle · 2017 [cited by examiner]
US 20170345220A1 · Bates · 2017 [cited by examiner]
US 20180061121A1 · Yeoh · 2018 [cited by examiner]
US 20180190017A1 · Mendez · 2018 [cited by examiner]
US 20180261012A1 · Mullins et al. · 2018 [cited by applicant]
US 20180268519A1 · Liebenow · 2018 [cited by examiner]
US 20190230588A1 · Kim · 2019 [cited by examiner]
US 20200027194A1 · Nourai et al. · 2020 [cited by applicant]
US 20200050264A1 · Kruzel · 2020 [cited by examiner]
US 20200134927A1 · Huang et al. · 2020 [cited by applicant]
US 20200279432A1 · Yeoh et al. · 2020 [cited by applicant]
US 20200410740A1 · Croxford et al. · 2020 [cited by applicant]
US 20210005002A1 · Barragan et al. · 2021 [cited by applicant]
US 20210256751A1 · De Ridder · 2021 [cited by examiner]
US 20210262800A1 · Levine · 2021 [cited by examiner]
US 20220375026A1 · Jung et al. · 2022 [cited by applicant]
CN 108139815 · 2018 [cited by applicant]
CN 117321472A · 2023 [cited by applicant]
KR 20150130555 · 2015 [cited by applicant]
KR 20180121994 · 2018 [cited by applicant]
WO WO2022246384A1 · 2022 [cited by applicant]
“Korean Application Serial No. 10-2023-7043444, Response filed Jul. 19, 2024 to Notice of Preliminary Rejection mailed May 21, 2024”, w English claims, 19 pgs. [cited by applicant]
“Korean Application Serial No. 10-2023-7043444, Voluntary Amendment filed May 7, 2024”, w English claims, 22 pgs. [cited by applicant]
“U.S. Appl. No. 17/518,828, Final Office Action mailed Aug. 23, 2023”, 23 pgs. [cited by applicant]
“U.S. Appl. No. 17/518,828, Non Final Office Action mailed Jan. 13, 2023”, 21 pgs. [cited by applicant]
“U.S. Appl. No. 17/518,828, Non Final Office Action mailed Nov. 22, 2023”, 25 pgs. [cited by applicant]
“U.S. Appl. No. 17/518,828, Notice of Allowance mailed Apr. 12, 2024”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 17/518,828, Response filed Feb. 22, 2024 to Non Final Office Action mailed Nov. 22, 2023”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 17/518,828, Response filed May 15, 2023 to Non Final Office Action mailed Jan. 13, 2023”, 15 pgs. [cited by applicant]
“U.S. Appl. No. 17/518,828, Response filed Nov. 8, 2023 to Final Office Action mailed Aug. 23, 2023”, 12 pgs. [cited by applicant]
“International Application Serial No. PCT/US2022/072341, International Preliminary Report on Patentability mailed Nov. 30, 2023”, 8 pgs. [cited by applicant]
“International Application Serial No. PCT/US2022/072341, International Search Report mailed Sep. 20, 2022”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/US2022/072341, Written Opinion mailed Sep. 20, 2022”, 4 pgs. [cited by applicant]
“Korean Application Serial No. 10-2023-7043444, Notice of Preliminary Rejection mailed May 21, 2024”, w/ English Translation, 5 pgs. [cited by applicant]
“Chinese Application Serial No. 202280036131.8, Notification of the First Office Action mailed Apr. 29, 2026”, w/ English translation, 25 pgs. [cited by applicant]