IP Library › Granted Patent US 11,551,423
Granted Patent B2
US 11,551,423 · App. 16/790,322 · Granted Jan 10, 2023

Augmented reality object manipulation

Inventors: Ozi Egri (Yassur, IL); David Ben Ezra (Bet Shearim, IL); Andrew James McPhee (Culver City, CA); Qi Pan (London, GB); Eyal Zak (Megiddo, IL)
Assignee: Snap Inc.
G06T19/006G06F3/04815G06T19/20G06T2219/2004
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 11,551,423
App. No.
16/790,322
Granted
Jan 10, 2023
Kind
B2
Abstract

Among other things, embodiments of the present disclosure improve the functionality of computer imaging software and systems by facilitating the manipulation of virtual content displayed in conjunction with images of real-world objects and environments. Embodiments of the present disclosure allow different virtual objects to be moved onto different physical surfaces, as well as manipulated in other ways.

Claims (67)

1. A system comprising:

a processor;

a user interface coupled to the processor, the user interface comprising an input device, a camera, and a display screen; and

memory coupled to the processor and storing instructions that, when executed by the processor, cause the system to perform operations comprising:

causing an image comprising a real-world scene captured via the camera to be displayed on the display screen, wherein being anchored to a primary physical element within the image comprises being affixed to the primary physical element within the image;

causing a virtual object to be displayed on the display screen as being anchored to a primary physical element within the image;

tracking the primary physical element within the image;

detecting removal of the primary physical element, wherein detecting removal of the primary physical element includes detecting that the primary physical element is not within the image; and

in response to detecting removal of the primary physical element,

switching the virtual object from being anchored to the primary physical element to being anchored to a secondary physical element within the image, and

causing the virtual object to be displayed on the display screen as being anchored to the secondary physical element within the image, wherein being anchored to the secondary physical element within the image comprises being affixed to the secondary physical element within the image.

2. The system of claim 1 , wherein the memory further stores instructions for causing the system to perform operations comprising:

detecting an interaction by a tertiary physical element with the virtual object;

in response to detecting the interaction by the tertiary physical element with the virtual object,

switching the virtual object from being anchored to the secondary physical element to being anchored to the tertiary physical element, and

causing the virtual object to be displayed on the display screen as being anchored to the tertiary physical element within the image.

3. The system of claim 2 , wherein the memory further stores instructions for causing the system to perform operations comprising:

in response to detecting the interaction by the tertiary physical element with the virtual object,

determining whether the tertiary physical element surpasses a predetermined tolerance limit; and

switching from tracking the secondary physical element to tracking the tertiary physical element in response to determining that the tertiary physical element surpasses the predetermined tolerance limit.

4. The system of claim 1 , wherein the memory further stores instructions for causing the system to perform operations comprising:

in response to detecting removal of the primary physical element, switching from tracking the primary physical element to tracking the secondary physical element.

5. The system of claim 1 , wherein the secondary physical element is a physical entity in the image that was previously tracked.

6. The system of claim 1 , wherein the secondary physical element is a closest physical entity in the image to the virtual object.

7. The system of claim 6 , wherein the closest physical entity is one or more of:

a human, an animal, a surface, and an object.

8. The system of claim 1 , wherein the memory further stores instructions for causing the system to perform operations comprising triggering a behavior of the virtual object.

9. The system of claim 1 , wherein tracking the primary physical element includes tracking the primary physical element as the system is moved, and wherein movement of the system includes one or more of: a movement from a first position to a second position, and a rotation.

10. A computer-implemented method comprising:

causing, by a processor, an image comprising a real-world scene captured via a camera to be displayed on a display screen;

causing a virtual object to be displayed on the display screen as being anchored to a primary physical element within the image, wherein being anchored to the primary physical element within the image comprises being affixed to the primary physical element within the image;

tracking the primary physical element within the image;

detecting removal of the primary physical element, wherein detecting removal of the primary physical element includes detecting that the primary physical element is not within the image; and

in response to detecting removal of the primary physical element,

switching the virtual object from being anchored to the primary physical element to being anchored to a secondary physical element within the image, wherein being anchored to the secondary physical element within the image comprises being affixed to the secondary physical element within the image, and

causing the virtual object to be displayed on the display screen as being anchored to the secondary physical element within the image.

11. The computer-implemented method of claim 10 , further comprising:

detecting an interaction by a tertiary physical element with the virtual object;

in response to detecting the interaction by the tertiary physical element with the virtual object,

switching the virtual object from being anchored to the secondary physical element to being anchored to the tertiary physical element, and

causing the virtual object to be displayed on the display screen as being anchored to the tertiary physical element within the image.

12. The computer-implemented method of claim 11 , further comprising:

in response to detecting the interaction by the tertiary physical element with the virtual object,

determining whether the tertiary physical element surpasses a predetermined tolerance limit; and

switching from tracking the secondary physical element to tracking the tertiary physical element in response to determining that the tertiary physical element surpasses the predetermined tolerance limit.

13. The computer-implemented method of claim 10 , further comprising:

in response to detecting removal of the primary physical element, switching from tracking the primary physical element to tracking the secondary physical element.

14. The computer-implemented method of claim 10 , wherein the secondary physical element is a physical entity in the image that was previously tracked.

15. The computer-implemented method of claim 10 , wherein the secondary physical element is a closest physical entity in the image to the virtual object.

16. The computer-implemented method of claim 15 , wherein the closest physical entity is one or more of:

a human, an animal, a surface, and an object.

17. The computer-implemented method of claim 10 , further comprising:

triggering a behavior of the virtual object.

18. The computer-implemented method of claim 10 , wherein tracking the primary physical element includes tracking the primary physical element as a system is moved, and wherein movement of the system includes one or more of: a movement from a first position to a second position, and a rotation.

19. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising:

causing an image comprising a real-world scene captured via a camera to be displayed on a display screen;

causing a virtual object to be displayed on the display screen as being anchored to a primary physical element within the image, wherein being anchored to the primary physical element within the image comprises being affixed to the primary physical element within the image;

tracking the primary physical element within the image;

detecting removal of the primary physical element, wherein detecting removal of the primary physical element includes detecting that the primary physical element is not within the image; and

in response to detecting removal of the primary physical element,

switching the virtual object from being anchored to the primary physical element to being anchored to a secondary physical element within the image, and

causing the virtual object to be displayed on the display screen as being anchored to the secondary physical element within the image, wherein being anchored to the secondary physical element within the image comprises being affixed to the secondary physical element within the image.

20. The non-transitory computer-readable medium of claim 19 , wherein the processor to perform operations further comprising:

detecting an interaction by a tertiary physical element with the virtual object;

in response to detecting the interaction by the tertiary physical element with the virtual object,

switching the virtual object from being anchored to the secondary physical element to being anchored to the tertiary physical element, and

causing the virtual object to be displayed on the display screen as being anchored to the tertiary physical element within the image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2020
From: EGRI, OZI; EZRA, DAVID BEN; MCPHEE, ANDREW JAMES; PAN, QI; ZAK, EYAL
To: SNAP INC.
Reel/Frame 052505/0598 →
Continuity (5)
Continuation 15581994 · Apr 28, 2017
Provisional Application 62412103 · Oct 24, 2016
Provisional Application 62444218 · Jan 9, 2017
Provisional Application 62449451 · Jan 23, 2017
Related Publication 20200184731A1 · Jun 11, 2020