IP Library › Granted Patent US 11,842,521
Granted Patent B1
US 11,842,521 · App. 18/326,884 · Granted Dec 12, 2023

Systems and methods for compressing three-dimensional image data

Inventors: Nolan Taeksang Yoo (Seattle, WA); Dwayne Elahie (Los Angeles, CA)
Assignee: Illuscio, Inc.
G06T9/001G06T9/002
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,842,521
App. No.
18/326,884
Granted
Dec 12, 2023
Kind
B1
Abstract

Disclosed is a system and associated methods for compressing data in a three-dimensional (“3D”) model. The system receives the constructs that form different shapes of a 3D object represented by the 3D model. The system selects a set of the constructs based on the set of constructs forming a particular shape that is compressible with a function. The system defines the function that generates an approximate shape for the particular shape formed by the set of constructs, and compresses the 3D model by replacing the set of constructs with the function. The system may tune the function so that the approximate shape matches the particular shape with more specificity, may define a noise pattern that approximates and applies the non-uniformity of the particular shape to the approximate shape, and may define a gradient pattern that approximates and applies the coloring of the set of constructs to the approximate shape.

Claims (116)

1. A method comprising:

receiving a three-dimensional (“3D”) model comprising a plurality of constructs that form different shapes of a 3D object represented by the 3D model;

selecting a set of constructs from the plurality of constructs based on the set of constructs forming a particular shape;

defining a function that generates an approximate shape for the particular shape formed by the set of constructs;

determining a difference between the approximate shape that is generated by the function and the particular shape formed by the set of constructs;

defining a noise pattern based on the difference, wherein the noise pattern introduces variance across the approximate shape that simulates a distribution of the set of constructs forming the particular shape; and

compressing the 3D model by replacing the set of constructs with the function and the noise pattern.

2. The method of claim 1 further comprising:

receiving a request to access the 3D model from a remote device; and

streaming the 3D model after compression to the remote device in response to the request, wherein the 3D model after compression comprises the function and other constructs from the plurality of constructs that are not part of the set of constructs.

3. The method of claim 1 further comprising:

analyzing color values of the set of constructs; and

defining a gradient pattern based on the color values of the set of constructs, wherein the gradient pattern applies a color distribution across the approximate shape that is based on a color distribution for the particular shape formed by the set of constructs.

4. The method of claim 1 further comprising:

determining a region spanned by the set of constructs in a 3D space of the 3D model based on positional values defined for two or more constructs of the set of constructs; and

associating coordinates of the region spanned by the set of constructs to the function, wherein the coordinates specify a position for the approximate shape in the region spanned by the set of constructs.

5. The method of claim 1 further comprising:

selecting a second set of constructs from the plurality of constructs that does not include constructs from the set of constructs, wherein the second set of constructs form a second shape that is different than the particular shape;

defining a second function that generates the second shape formed by the second set of constructs; and

wherein compressing the 3D model comprises replacing the second set of constructs with the second function.

6. The method of claim 1 further comprising:

training a neural network with data representing a plurality of shapes;

determining unique characteristics for each shape of the plurality of shapes as a result of training the neural network; and

wherein selecting the set of constructs comprises determining that a positioning of the set of constructs matches, by a threshold amount, the unique characteristics of the particular shape.

7. The method of claim 1 further comprising:

determining a correspondence between each function of a plurality of functions and a different shape from a plurality of shapes; and

wherein defining the function comprises selecting a particular function from the plurality of functions that recreates the particular shape formed by the set of constructs in response to determining the correspondence between the particular function and the particular shape.

8. The method of claim 1 further comprising:

analyzing the particular shape formed by the set of constructs;

determining a difference between a first shape generated by the function with a first set parameters and the particular shape; and

tuning the function based on the difference, wherein tuning the function comprises defining a second set of parameters for the function that change the first shape to a second shape that matches the particular shape more closely than the first shape.

9. The method of claim 1 further comprising:

generating a compressed 3D model comprising data from a second set of constructs of the plurality of constructs and the function instead of the set of constructs.

10. The method of claim 1 , wherein selecting the set of constructs comprises:

selecting a first construct from the plurality of constructs;

expanding a selection of the first construct to include one or more constructs from the plurality of constructs that neighbor the first construct; and

determining that the selection of the first construct and the one or more constructs form a specific compressible shape from a plurality of compressible shapes.

11. The method of claim 10 ,

wherein each compressible shape of the plurality of compressible shapes is associated with a different function; and

wherein defining the function comprises selecting the different function that is associated with the specific compressible shape.

12. The method of claim 1 , wherein selecting the set of constructs comprises:

decomposing the plurality of constructs into subsets of constructs that form each of the different shapes of the 3D object; and

determining that a particular subset of constructs forms the particular shape and that the particular shape corresponds to a compressible shape that is represented by the function.

13. The method of claim 1 , wherein the function is an expression that formulaically represents the particular shape.

14. A compression system comprising:

one or more hardware processors configured to:

receive a three-dimensional (“3D”) model comprising a plurality of constructs that form different shapes of a 3D object represented by the 3D model;

select a set of constructs from the plurality of constructs based on the set of constructs forming a particular shape;

define a function that generates an approximate shape for the particular shape formed by the set of constructs;

determine a difference between the approximate shape that is generated by the function and the particular shape formed by the set of constructs;

define a noise pattern based on the difference, wherein the noise pattern introduces variance across the approximate shape that simulates a distribution of the set of constructs forming the particular shape; and

compress the 3D model by replacing the set of constructs with the function and the noise pattern.

15. A method comprising:

receiving a three-dimensional (“3D”) model comprising a plurality of constructs that form different shapes of a 3D object represented by the 3D model;

selecting a first set of constructs from the plurality of constructs based on the first set of constructs forming a first shape;

defining a first function that generates an approximate shape for the first shape formed by the first set of constructs;

selecting a second set of constructs from the plurality of constructs that does not include constructs from the first set of constructs, wherein the second set of constructs form a second shape that is different than the first shape;

defining a second function that generates the second shape formed by the second set of constructs; and

compressing the 3D model by replacing the first set of constructs with the first function and the second set of constructs with the second function.

16. A compression system comprising:

one or more hardware processors configured to:

receive a three-dimensional (“3D”) model comprising a plurality of constructs that form different shapes of a 3D object represented by the 3D model;

select a first set of constructs from the plurality of constructs based on the first set of constructs forming a first shape;

define a first function that generates an approximate shape for the first shape formed by the first set of constructs;

select a second set of constructs from the plurality of constructs that does not include constructs from the first set of constructs, wherein the second set of constructs form a second shape that is different than the first shape;

define a second function that generates the second shape formed by the second set of constructs; and

compress the 3D model by replacing the first set of constructs with the first function and the second set of constructs with the second function.

17. A method comprising:

training a neural network with data representing a plurality of shapes;

determining unique characteristics for each shape of the plurality of shapes as a result of training the neural network;

receiving a three-dimensional (“3D”) model comprising a plurality of constructs that form different shapes of a 3D object represented by the 3D model;

selecting a set of constructs from the plurality of constructs based on the set of constructs forming a particular shape, wherein selecting the set of constructs comprises determining that a positioning of the set of constructs matches, by a threshold amount, the unique characteristics of the particular shape;

defining a function that generates an approximate shape for the particular shape formed by the set of constructs; and

compressing the 3D model by replacing the set of constructs with the function.

18. A compression system comprising:

one or more hardware processors configured to:

train a neural network with data representing a plurality of shapes;

determine unique characteristics for each shape of the plurality of shapes as a result of training the neural network;

receive a three-dimensional (“3D”) model comprising a plurality of constructs that form different shapes of a 3D object represented by the 3D model;

select a set of constructs from the plurality of constructs based on the set of constructs forming a particular shape, wherein selecting the set of constructs comprises determining that a positioning of the set of constructs matches, by a threshold amount, the unique characteristics of the particular shape;

define a function that generates an approximate shape for the particular shape formed by the set of constructs; and

compress the 3D model by replacing the set of constructs with the function.

19. A method comprising:

receiving a three-dimensional (“3D”) model comprising a plurality of constructs that form different shapes of a 3D object represented by the 3D model;

selecting a set of constructs from the plurality of constructs based on the set of constructs forming a particular shape;

analyzing the particular shape formed by the set of constructs;

defining a function that generates an approximate shape for the particular shape formed by the set of constructs;

determining a difference between a first shape, that is generated by the function with a first set parameters, and the particular shape;

tuning the function based on the difference, wherein tuning the function comprises defining a second set of parameters for the function that change the first shape to a second shape that matches the particular shape more closely than the first shape; and

compressing the 3D model by replacing the set of constructs with the function defined with the second set of parameters.

20. A compression system comprising:

one or more hardware processors configured to:

receive a three-dimensional (“3D”) model comprising a plurality of constructs that form different shapes of a 3D object represented by the 3D model;

select a set of constructs from the plurality of constructs based on the set of constructs forming a particular shape;

analyze the particular shape formed by the set of constructs;

define a function that generates an approximate shape for the particular shape formed by the set of constructs;

determine a difference between a first shape, that is generated by the function with a first set parameters, and the particular shape;

tune the function based on the difference, wherein tuning the function comprises defining a second set of parameters for the function that change the first shape to a second shape that matches the particular shape more closely than the first shape; and

compress the 3D model by replacing the set of constructs with the function defined with the second set of parameters.

21. A method comprising:

receiving a three-dimensional (“3D”) model comprising a plurality of constructs that form different shapes of a 3D object represented by the 3D model;

selecting a set of constructs from the plurality of constructs based on the set of constructs forming a particular shape, wherein selecting the set of constructs comprises:

selecting a first construct from the plurality of constructs;

expanding a selection of the first construct to include one or more constructs from the plurality of constructs that neighbor the first construct; and

determining that the selection of the first construct and the one or more constructs form a specific compressible shape from a plurality of compressible shapes;

defining a function that generates an approximate shape for the particular shape formed by the set of constructs; and

compressing the 3D model by replacing the set of constructs with the function.

22. A compression system comprising:

one or more hardware processors configured to:

receive a three-dimensional (“3D”) model comprising a plurality of constructs that form different shapes of a 3D object represented by the 3D model;

select a set of constructs from the plurality of constructs based on the set of constructs forming a particular shape, wherein selecting the set of constructs comprises:

select a first construct from the plurality of constructs;

expand a selection of the first construct to include one or more constructs from the plurality of constructs that neighbor the first construct; and

determine that the selection of the first construct and the one or more constructs form a specific compressible shape from a plurality of compressible shapes;

define a function that generates an approximate shape for the particular shape formed by the set of constructs; and

compress the 3D model by replacing the set of constructs with the function.

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 May 31, 2023
From: YOO, NOLAN T; ELAHIE, DWAYNE
To: ILLUSCIO, INC.
Reel/Frame 063816/0656 →