Systems and methods for compressing three-dimensional image data
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
exact text as granted — not AI-modifiedWhat is claimed is:
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.Join the waitlist — get patent alerts
Track US11842521B1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.