IP Library › Granted Patent US 12,154,246
Granted Patent B1
US 12,154,246 · App. 18/760,354 · Granted Nov 26, 2024

Systems and methods for distributed three-dimensional content generation

Inventor: Sean Looper (Flagstaff, AZ)
Assignee: Illuscio, Inc.
G06T19/20G06T2219/2004G06T2219/2021
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,154,246
App. No.
18/760,354
Granted
Nov 26, 2024
Kind
B1
Abstract

Systems and associated methods are provided for distributed three-dimensional (3D) content generation whereby different 3D assets for a 3D scene are generated by different asset generators at different network tiers according to the latency sensitivity of each 3D asset. The system retrieves a 3D asset for the requested 3D scene, and differentiates a first 3D asset that is latency sensitive from a second 3D asset that is latency tolerant. The system generates the first 3D asset with a first asset generator at a first network tier, and generates the second 3D asset with a second asset generator at a more distant second network tier. The system distributes the generated primitives for the first 3D asset to the user device with a first amount of latency and the generated primitives for the second 3D asset to the user device with a second amount of latency.

Claims (77)

1. A method comprising:

receiving a request for a three-dimensional (3D) scene from a user device, wherein the 3D scene comprises a plurality of 3D assets;

determining a first 3D asset from the plurality of 3D assets that is latency sensitive and a second 3D asset from the plurality of 3D assets that is latency tolerant;

generating different states of the first 3D asset with a first asset generator that communicates with the user device with a first amount of latency that is less than a threshold;

generating different states of the second 3D asset with a second asset generator that communicates with the user device with a second amount of latency that is greater than the threshold; and

distributing primitives related to the different states of the first 3D asset from the first asset generator to the user device with the first amount of latency and primitives related to the different states of the second 3D asset from the second asset generator to the user device with the second amount of latency.

2. The method of claim 1 , wherein said determining comprises:

determining that the first 3D asset is affected by user input; and

determining that the second 3D asset is not affected by the user input.

3. The method of claim 1 , wherein said determining comprises:

determining that the first 3D asset changes between the different states at a first frequency; and

determining that the second 3D asset changes between the different states at a second frequency that is less than the first frequency.

4. The method of claim 1 further comprising:

deploying the first asset generator to a network edge location that is a first number of network hops away from a location of the user device; and

deploying the second asset generator to a network location that is a second number of network hops away from the location of the user device, wherein the second number of network hops is greater than the first number of network hops.

5. The method of claim 1 further comprising:

determining a location of the user device; and

allocating the first 3D asset to the first asset generator in response to a location of the first asset generator being closer to the location of the user device than the second asset generator and other asset generators.

6. The method of claim 1 further comprising:

receiving an input from the user device;

determining that the input affects the first 3D asset and not the second 3D asset;

forwarding the input to the first asset generator; and

changing a state of the first 3D asset based on the input, wherein changing the state comprises updating one or more primitives that were generated for a last state of the first 3D asset.

7. The method of claim 1 , wherein generating the different states of the first 3D asset comprises:

updating one or more primitives that were generated for a last state of the first 3D asset at the first asset generator; and

distributing the one or more primitives that were updated by the first asset generator to the user device with the first amount of latency without redistributing other primitives of the last state that were not updated.

8. The method of claim 7 , wherein generating the different states of the second 3D asset comprises:

updating one or more primitives that were generated for a last state of the second 3D asset at the second asset generator; and

distributing the one or more primitives that were updated by the second asset generator to the user device with the second amount of latency.

9. The method of claim 7 , wherein updating the one or more primitives comprises:

receiving a user input from the user device;

determining changes that the user input causes to the first 3D asset; and

applying the changes by modifying a position, shape, or visual characteristics of the one or more primitives.

10. The method of claim 1 further comprising:

retrieving a listing of the plurality of 3D assets in response to receiving the request; and

wherein said determining comprises:

determining that the first 3D asset is latency sensitive based on a first label associated with the first 3D asset in the listing; and

determining that the second 3D asset is latency tolerant based on a second label associated with the second 3D asset in the listing.

11. The method of claim 1 , wherein said determining comprises:

prioritizing each 3D asset from the plurality of 3D assets based on tracked state changes associated with each 3D asset in a prior access of the 3D scene.

12. The method of claim 1 further comprising:

assigning the first 3D asset to the first asset generator in response to determining that the first 3D asset is latency sensitive and the first amount of latency associated with the first asset generator being less than latency associated with other asset generators; and

assigning the second 3D asset to the second asset generator in response to determining that the second 3D asset is latency tolerant and the second amount of latency associated with the second asset generator being greater than the first amount of latency.

13. The method of claim 1 , wherein each 3D asset of the plurality of 3D assets corresponds to one of a point cloud, mesh model, or another 3D definition of an object.

14. A system comprising:

a controller comprising one or more hardware processors configured to:

receive a request for a three-dimensional (3D) scene from a user device, wherein the 3D scene comprises a plurality of 3D assets; and

determine a first 3D asset from the plurality of 3D assets that is latency sensitive and a second 3D asset from the plurality of 3D assets that is latency tolerant; and

a plurality of asset generators at different network locations, wherein the plurality of asset generators are configured to:

generate different states of the first 3D asset with a first asset generator of the plurality of asset generators that communicates with the user device with a first amount of latency that is less than a threshold;

generate different states of the second 3D asset with a second asset generator of the plurality of asset generators that communicates with the user device with a second amount of latency that is greater than the threshold; and

distribute primitives related to the different states of the first 3D asset from the first asset generator to the user device with the first amount of latency and primitives related to the different states of the second 3D asset from the second asset generator to the user device with the second amount of latency.

15. The system of claim 14 , wherein said determining comprises:

determining that the first 3D asset is affected by user input; and

determining that the second 3D asset is not affected by the user input.

16. The system of claim 14 , wherein said determining comprises:

determining that the first 3D asset changes between the different states at a first frequency; and

determining that the second 3D asset changes between the different states at a second frequency that is less than the first frequency.

17. The system of claim 14 , wherein the one or more hardware processors are further configured to:

determine a location of the user device; and

allocate the first 3D asset to the first asset generator in response to a location of the first asset generator being closer to the location of the user device than the second asset generator and other asset generators.

18. The system of claim 14 ,

wherein the one or more hardware processors are further configured to:

receive an input from the user device;

determine that the input affects the first 3D asset and not the second 3D asset; and

forward the input to the first asset generator;

wherein the first asset generator is further configured to:

change a state of the first 3D asset based on the input, wherein changing the state comprises updating one or more primitives that were generated for a last state of the first 3D asset.

19. The system of claim 14 , wherein generating the different states of the first 3D asset comprises:

updating one or more primitives that were generated for a last state of the first 3D asset at the first asset generator; and

distributing the one or more primitives that were updated by the first asset generator to the user device with the first amount of latency without redistributing other primitives of the last state that were not updated.

20. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a three-dimensional (3D) interactive system, cause the 3D interactive system to perform operations comprising:

receiving a request for a 3D scene from a user device, wherein the 3D scene comprises a plurality of 3D assets;

determining a first 3D asset from the plurality of 3D assets that is latency sensitive and a second 3D asset from the plurality of 3D assets that is latency tolerant;

generating different states of the first 3D asset with a first asset generator that communicates with the user device with a first amount of latency that is less than a threshold;

generating different states of the second 3D asset with a second asset generator that communicates with the user device with a second amount of latency that is greater than the threshold; and

distributing primitives related to the different states of the first 3D asset from the first asset generator to the user device with the first amount of latency and primitives related to the different states of the second 3D asset from the second asset generator to the user device with the second amount of latency.

Assignments (2)
CHANGE OF NAME Recorded Sep 18, 2025
From: ILLUSCIO, INC.
To: MIRIS, INC.
Reel/Frame 072896/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2024
From: LOOPER, SEAN
To: ILLUSCIO, INC.
Reel/Frame 067883/0286 →