IP Library › Granted Patent US 10,891,792
Granted Patent B1
US 10,891,792 · App. 16/264,504 · Granted Jan 12, 2021

Precise plane detection and placement of virtual objects in an augmented reality environment

Inventors: Devin Bhushan (San Jose, CA); Jesse Chor (Los Gatos, CA); Glen Wong (Santa Clara, CA)
Assignee: SPLUNK INC.
G06T19/006G06T7/70G06K19/06037
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 10,891,792
App. No.
16/264,504
Filed
Jan 31, 2019
Granted
Jan 12, 2021
Kind
B1
Examiner
WU, YANNA
Art Unit
2611
USPC
345/633
Abstract

A mobile device executes an augmented reality (AR) software application that detects an orientation of a client device. The AR software application projects a line from a reference position on the client device to a physical object. The AR software application identifies a first location on the physical object that intersects with the line. The AR software application determines an x-coordinate and a y-coordinate of a portion of the physical object included in an image displayed on the client device based on the first location. The AR software application receives a z-coordinate of the portion of the physical object. In response to receiving user input via the client device, the AR software application anchors an augmented reality object at a second location that corresponds to the x-coordinate, the y-coordinate, and the z-coordinate. The orientation of the augmented reality object corresponds to the orientation of the client device.

Claims (90)

1. A computer-implemented method, comprising:

detecting a first orientation of a client device;

projecting a line from a reference position on the client device to a physical object;

identifying a first location on the physical object that intersects with the line;

determining an x-coordinate and a y-coordinate of a portion of the physical object included in an image displayed on the client device based on the first location;

receiving a z-coordinate of the portion of the physical object; and

in response to receiving user input via the client device, anchoring an augmented reality object at a second location that corresponds to the x-coordinate, the y-coordinate, and the z-coordinate, wherein an orientation of the anchored augmented reality object is determined based on the first orientation of the client device without consideration of an orientation of the physical object.

2. The computer-implemented method of claim 1 , further comprising:

receiving tag data via a tag that is associated with the physical object; and

generating the augmented reality object based on the tag data.

3. The computer-implemented method of claim 1 , further comprising:

receiving tag data via a tag that is associated with the physical object; and

generating the augmented reality object based on the tag data;

wherein the tag comprises at least one of a quick response (QR) code, a near-field communication (NFC) tag, and a universal product code (UPC) marker.

4. The computer-implemented method of claim 1 , further comprising:

receiving tag data via a tag that is associated with the physical object;

transmitting, to a server, a query based on the tag data;

receiving, from the server, search results in response to the query; and

generating the augmented reality object based on the search results.

5. The computer-implemented method of claim 1 , wherein the x-coordinate of the portion of the physical object corresponds to an x-coordinate associated with the first location, and the y-coordinate of the portion of the physical object corresponds to a y-coordinate associated with the first location.

6. The computer-implemented method of claim 1 , wherein the z-coordinate is determined by:

computing a distance between the reference position and the first location; and

setting the z-coordinate based on the distance.

7. The computer-implemented method of claim 1 , wherein the augmented reality object comprises an overlay of a visual representation of data associated with the physical object.

8. The computer-implemented method of claim 1 , wherein the augmented reality object comprises an overlay of a visual representation of data associated with the physical object, and the data is generated by executing a query of machine data.

9. The computer-implemented method of claim 1 , further comprising establishing an anchor point within an augmented reality environment, wherein the first location is specified relative to the anchor point.

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

generating a model of a plurality of physical objects, including the physical object, that are visible within an augmented reality environment; and

determining the first location based on the model of the plurality of physical objects.

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

generating a model of a plurality of physical objects, including the physical object, that are visible within an augmented reality environment; and

determining the first location based on the model of the plurality of physical objects;

wherein the model of the plurality of physical objects is based on at least one of optical analysis of the physical object as displayed via the client device, perspective analysis of the augmented reality environment, and data from a location sensor associated with the client device.

12. The computer-implemented method of claim 1 , wherein the reference position is associated with at least one of a camera related to the client device and a location sensor related to the client device.

13. The computer-implemented method of claim 1 , wherein the first orientation of the client device is determined via analysis of at least one of data from a location sensor associated with the client device and one or more images captured by a camera associated with the client device.

14. The computer-implemented method of claim 1 , wherein detecting the first orientation of the client device comprises:

detecting a two-dimensional plane based on a surface of the client device; and

setting the first orientation of the client device based on the two-dimensional plane.

15. One or more non-transitory computer-readable storage media including instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:

detecting a first orientation of a client device;

projecting a line from a reference position on the client device to a physical object;

identifying a first location on the physical object that intersects with the line;

determining an x-coordinate and a y-coordinate of a portion of the physical object included in an image displayed on the client device based on the first location;

receiving a z-coordinate of the portion of the physical object; and

in response to receiving user input via the client device, anchoring an augmented reality object at a second location that corresponds to the x-coordinate, the y-coordinate, and the z-coordinate, wherein an orientation of the anchored augmented reality object is determined based on the first orientation of the client device without consideration of an orientation of the physical object.

16. The one or more non-transitory computer-readable storage media of claim 15 , further including instructions that, when executed by the processor, cause the processor to perform the steps of:

receiving tag data via a tag that is associated with the physical object; and

generating the augmented reality object based on the tag data.

17. The one or more non-transitory computer-readable storage media of claim 15 , further including instructions that, when executed by the processor, cause the processor to perform the steps of:

receiving tag data via a tag that is associated with the physical object; and

generating the augmented reality object based on the tag data;

wherein the tag comprises at least one of a quick response (QR) code, a near-field communication (NFC) tag, and a universal product code (UPC) marker.

18. The one or more non-transitory computer-readable storage media of claim 15 , further including instructions that, when executed by the processor, cause the processor to perform the steps of:

receiving tag data via a tag that is associated with the physical object;

transmitting, to a server, a query based on the tag data;

receiving, from the server, search results in response to the query; and

generating the augmented reality object based on the search results.

19. The one or more non-transitory computer-readable storage media of claim 15 , wherein the x-coordinate of the portion of the physical object corresponds to an x-coordinate associated with the first location, and the y-coordinate of the portion of the physical object corresponds to a y-coordinate associated with the first location.

20. The one or more non-transitory computer-readable storage media of claim 15 , wherein the z-coordinate is determined by:

computing a distance between the reference position and the first location; and

setting the z-coordinate based on the distance.

21. The one or more non-transitory computer-readable storage media of claim 15 , wherein the augmented reality object comprises an overlay of a visual representation of data associated with the physical object.

22. The one or more non-transitory computer-readable storage media of claim 15 , wherein the augmented reality object comprises an overlay of a visual representation of data associated with the physical object, and the data is generated by executing a query of machine data.

23. A computing device, comprising:

a memory that includes instructions; and

a processor that is coupled to the memory and, when executing the instructions:

detects a first orientation of a client device;

projects a line from a reference position on the client device to a physical object;

identifies a first location on the physical object that intersects with the line;

determines an x-coordinate and a y-coordinate of a portion of the physical object included in an image displayed on the client device based on the first location;

receives a z-coordinate of the portion of the physical object; and

in response to receiving user input via the client device, anchors an augmented reality object at a second location that corresponds to the x-coordinate, the y-coordinate, and the z-coordinate, wherein an orientation of the anchored augmented reality object is determined based on the first orientation of the client device without consideration of an orientation of the physical object.

24. The computing device of claim 23 , wherein the processor further:

receives tag data via a tag that is associated with the physical object; and

generates the augmented reality object based on the tag data.

25. The computing device of claim 23 , wherein the processor further:

receives tag data via a tag that is associated with the physical object; and

generates the augmented reality object based on the tag data;

wherein the tag comprises at least one of a quick response (QR) code, a near-field communication (NFC) tag, and a universal product code (UPC) marker.

26. The computing device of claim 23 , wherein the processor further:

receives tag data via a tag that is associated with the physical object;

transmits, to a server, a query based on the tag data;

receives, from the server, search results in response to the query; and

generates the augmented reality object based on the search results.

27. The computing device of claim 23 , wherein the x-coordinate of the portion of the physical object corresponds to an x-coordinate associated with the first location, and the y-coordinate of the portion of the physical object corresponds to a y-coordinate associated with the first location.

28. The computing device of claim 23 , wherein the z-coordinate is determined by:

computing a distance between the reference position and the first location; and

setting the z-coordinate based on the distance.

29. The computing device of claim 23 , wherein the augmented reality object comprises an overlay of a visual representation of data associated with the physical object.

30. The computing device of claim 23 , wherein the augmented reality object comprises an overlay of a visual representation of data associated with the physical object, and the data is generated by executing a query of machine data.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: BHUSHAN, DEVIN; CHOR, JESSE; WONG, GLEN
To: SPLUNK INC.
Reel/Frame 048221/0601 →
Cited By (1)
US 12,567,202