IP Library Granted Patent US 9,990,759
Granted Patent B2
US 9,990,759 · App. 15/592,939 · Granted Jun 5, 2018

Offloading augmented reality processing

Inventor: Brian Mullins (Altadena, CA)
Assignee: DAQRI, LLC
G06T15/005G06F3/011G06T19/006H04L67/38G06T2215/16
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 9,990,759
App. No.
15/592,939
Granted
Jun 5, 2018
Kind
B2
Abstract

A system and method for offloading augmented reality processing is described. A first sensor of a server generates a first set of sensor data corresponding to a location and an orientation of a display device. The server receives a request from the display device to offload a combination of at least one of a tracking process and a rendering process from the display device. The server generates offloaded processed data based on a combination of at least one of the first set of sensor data and a second set of sensor data. The second set of sensor data is generated by a second sensor at the display device. The server streams the offloaded processed data to the display device.

Claims (43)

1. A method comprising:

receiving, by a server system, a first set of sensor data from a first sensor that is external to a viewing device, the first set of sensor data describing a location and an orientation of the viewing device;

receiving, by the server system, a request from the viewing device to offload a tracking process of the viewing device to the server system;

in response to receiving the request, generating offloaded processed data based on the first set of sensor data and a second set of sensor data, the second set of sensor data gathered by a second sensor that is internal to the viewing device; and

streaming the offloaded processed data to the viewing device, the viewing device configured to present, on a display of the viewing device, virtual objects based on the offloaded processed data.

2. The method of claim 1 , further comprising:

rendering a first number of virtual objects less than a total number of virtual objects associated with the location and the orientation of the viewing device, the viewing device being configured to render a second number of virtual objects less than the total number of virtual objects associated with the location and orientation of the viewing device.

3. The method of claim 2 , wherein the first number of virtual objects is associated with a central portion of a display of the viewing device, and the second number of virtual objects is associated with a peripheral portion of the display of the viewing device.

4. The method of claim 1 , wherein the first set of sensor data includes externally tracked data based on the location and the orientation of the viewing device relative to the first sensor that is external to the viewing device, and the second set of sensor data includes internally tracked data based on a geographic location and a position of the viewing device.

5. The method of claim 4 , further comprising:

rendering virtual objects based on the externally tracked data.

6. The method of claim 4 , further comprising:

rendering virtual objects based on the internally tracked data.

7. The method of claim 4 , wherein the offloaded processed data includes the externally tracked data, the viewing device being configured to render virtual objects based on the externally tracked data received from the server system, the virtual objects displayed on a display of the viewing device relative to predefined references of a physical environment local to the viewing device.

8. A server system comprising:

one or more computer processors; and

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the server system to perform operations comprising:

receiving, from a first sensor that is external to a viewing device, a first set of sensor data, the first set of sensor data describing a location and an orientation of the viewing device;

receiving a request from the viewing device to offload a tracking process of the viewing device to the server system;

in response to receiving the request, generating offloaded processed data based on the first set of sensor data and a second set of sensor data, the second set of sensor data gathered by a second sensor that is internal to the viewing device; and

streaming the offloaded processed data to the viewing device, the viewing device configured to present, on a display of the viewing device, virtual objects based on the offloaded processed data.

9. The server system of claim 8 , the operations further comprising:

rendering a first number of virtual objects less than a total number of virtual objects associated with the location and the orientation of the viewing device, the viewing device being configured to render a second number of virtual objects less than the total number of virtual objects associated with the location and orientation of the viewing device.

10. The server system of claim 9 , wherein the first number of virtual objects is associated with a central portion of a display of the viewing device, and the second number of virtual objects is associated with a peripheral portion of the display of the viewing device.

11. The server system of claim 8 , wherein the first set of sensor data includes externally tracked data based on the location and the orientation of the viewing device relative to the first sensor that is external to the viewing device, and the second set of sensor data includes internally tracked data based on a geographic location and a position of the viewing device.

12. The server system of claim 11 , the operations further comprising:

rendering virtual objects based on the externally tracked data.

13. The server system of claim 11 , the operations further comprising:

rendering virtual objects based on the internally tracked data.

14. The server system of claim 11 , wherein the offloaded processed data includes the externally tracked data, the viewing device being configured to render virtual objects based on the externally tracked data received from the server system, the virtual objects displayed on a display of the viewing device relative to predefined references of a physical environment local to the viewing device.

15. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a server system, cause the server system to perform operations comprising:

receiving, from a first sensor that is external to a viewing device, a first set of sensor data, the first set of sensor data describing a location and an orientation of the viewing device;

receiving a request from the viewing device to offload a tracking process of the viewing device to the server system;

in response to receiving the request, generating offloaded processed data based on the first set of sensor data and a second set of sensor data, the second set of sensor data gathered by a second sensor that is internal to the viewing device; and

streaming the offloaded processed data to the viewing device, the viewing device configured to present, on a display of the viewing device, virtual objects based on the offloaded processed data.

16. The non-transitory computer-readable medium of claim 15 , the operations further comprising:

rendering a first number of virtual objects less than a total number of virtual objects associated with the location and the orientation of the viewing device, the viewing device being configured to render a second number of virtual objects less than the total number of virtual objects associated with the location and orientation of the viewing device, wherein the first number of virtual objects is associated with a central portion of a display of the viewing device, and the second number of virtual objects is associated with a peripheral portion of the display of the viewing device.

17. The non-transitory computer-readable medium of claim 15 , wherein the first set of sensor data includes externally tracked data based on the location and the orientation of the viewing device relative to the first sensor that is external to the viewing device, and the second set of sensor data includes internally tracked data based on a geographic location and a position of the viewing device.

18. The non-transitory computer-readable medium of claim 17 , the operations further comprising:

rendering virtual objects based on the externally tracked data.

19. The non-transitory computer-readable medium of claim 17 , the operations further comprising:

rendering virtual objects based on the internally tracked data.

20. The non-transitory computer-readable medium of claim 17 , wherein the offloaded processed data includes the externally tracked data, the viewing device being configured to render virtual objects based on the externally tracked data received from the server system, the virtual objects displayed on a display of the viewing device relative to predefined references of a physical environment local to the viewing device.

Assignments (12)
CHANGE OF NAME Recorded Aug 3, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060936/0494 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2021
From: RPX CORPORATION
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 056777/0588 →
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
RELEASE OF SECURITY INTEREST Recorded Aug 14, 2020
From: AR HOLDINGS I, LLC
To: DAQRI, LLC
Reel/Frame 053498/0580 →
PATENT SECURITY AGREEMENT Recorded Aug 14, 2020
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 053498/0095 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2020
From: DAQRI, LLC
To: RPX CORPORATION
Reel/Frame 053413/0642 →
RELEASE OF SECURITY INTEREST Recorded Oct 23, 2019
From: SCHWEGMAN, LUNDBERG & WOESSNER, P.A.
To: DAQRI, LLC
Reel/Frame 050805/0606 →
LIEN Recorded Oct 8, 2019
From: DAQRI, LLC
To: SCHWEGMAN, LUNDBERG & WOESSNER, P.A.
Reel/Frame 050672/0601 →
SECURITY INTEREST Recorded Jun 26, 2019
From: DAQRI, LLC
To: AR HOLDINGS I LLC
Reel/Frame 049596/0965 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2017
From: MULLINS, BRIAN
To: DAQRI, LLC
Reel/Frame 042345/0520 →
Continuity (3)
Continuation 15041437 · Feb 11, 2016
Continuation 14144359 · Dec 30, 2013
Related Publication 20170249774A1 · Aug 31, 2017