UV mapping and compression
First Claim
1. A method comprising:
- accessing, by one or more processors of a machine, a three-dimensional (3D) representation that defines a 3D surface of a 3D object;
generating, by one or more processors of the machine, an atlas of color information based on the 3D representation that defines the 3D surface of the 3D object, the generating of the atlas including;
encompassing the 3D surface in a bounding volume that includes a plurality of cubic blocks that subdivides the 3D surface;
for each cubic block that intersects the 3D surface among the plurality of cubic blocks included in the bounding volume, calculating a corresponding orthogonal projection of that cubic block onto a corresponding two-dimensional (2D) face of the bounding volume that encompasses the 3D surface, the orthogonal projection of that cubic block defining color information of a corresponding square block for that cubic block; and
grouping at least some of the square blocks that correspond to the orthogonally projected cubic blocks within a 2D image that specifies the color information generated based on the 3D representation that defines the 3D surface of the 3D object; and
providing, by one or more processors of the machine, the generated atlas of the color information, the generated atlas including the grouped square blocks.
2 Assignments
0 Petitions
Accused Products
Abstract
A machine can be specially configured to generate one or more atlases that include two-dimensional texture maps and their corresponding UV maps from a three-dimensional object, compress the atlases, decompress the atlases, store the atlases, access the atlases, communicate the atlases, apply the texture maps from the atlases to a three-dimensional model, or otherwise process the atlases, the texture maps, the UV maps, or any suitable combination thereof. The atlases, texture maps, UV maps, or any suitable combination thereof can be generated, compiled or otherwise created by the machine in a manner that is computationally efficient to compress and decompress using video compression and decompression techniques.
15 Citations
20 Claims
-
1. A method comprising:
-
accessing, by one or more processors of a machine, a three-dimensional (3D) representation that defines a 3D surface of a 3D object; generating, by one or more processors of the machine, an atlas of color information based on the 3D representation that defines the 3D surface of the 3D object, the generating of the atlas including; encompassing the 3D surface in a bounding volume that includes a plurality of cubic blocks that subdivides the 3D surface; for each cubic block that intersects the 3D surface among the plurality of cubic blocks included in the bounding volume, calculating a corresponding orthogonal projection of that cubic block onto a corresponding two-dimensional (2D) face of the bounding volume that encompasses the 3D surface, the orthogonal projection of that cubic block defining color information of a corresponding square block for that cubic block; and grouping at least some of the square blocks that correspond to the orthogonally projected cubic blocks within a 2D image that specifies the color information generated based on the 3D representation that defines the 3D surface of the 3D object; and providing, by one or more processors of the machine, the generated atlas of the color information, the generated atlas including the grouped square blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
accessing, by one or more processors of a machine, an atlas of color information generated based on a three-dimensional (3D) representation that defines a 3D surface of a 3D object, the atlas including grouped square blocks whose color information is defined by orthogonal projections of cubic blocks included in a bounding volume that encompasses the 3D surface, the represented cubic blocks intersecting and subdividing the 3D surface of the 3D object; by one or more processors of the machine, for each square block among the grouped square blocks, determining a corresponding two-dimensional (2D) face of the bounding volume by determining a corresponding dominant direction of the corresponding cubic block that intersects a corresponding portion of the 3D surface; and by one or more processors of the machine, for each square block among the grouped square blocks, assigning its corresponding color information to a 3D model of the corresponding portion of the 3D surface intersected by the corresponding cubic block. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:
-
accessing a three-dimensional (3D) representation that defines a 3D surface of a 3D object; generating an atlas of color information based on the 3D representation that defines the 3D surface of the 3D object, the generating of the atlas including; encompassing the 3D surface in a bounding volume that includes a plurality of cubic blocks that subdivides the 3D surface; for each cubic block that intersects the 3D surface among the plurality of cubic blocks included in the bounding volume, calculating a corresponding orthogonal projection of that cubic block onto a corresponding two-dimensional (2D) face of the bounding volume that encompasses the 3D surface, the orthogonal projection of that cubic block defining color information of a corresponding square block for that cubic block; and grouping at least some of the square blocks that correspond to the orthogonally projected cubic blocks within a 2D image that specifies the color information generated based on the 3D representation that defines the 3D surface of the 3D object; and providing the generated atlas of the color information, the generated atlas including the grouped square blocks. - View Dependent Claims (18)
-
-
19. A system comprising:
-
one or more processors; and a memory storing instructions that, when executed by at least one processor among the one or more processors, cause the system to perform operations comprising; accessing a three-dimensional (3D) representation that defines a 3D surface of a 3D object; generating an atlas of color information based on the 3D representation that defines the 3D surface of the 3D object, the generating of the atlas including; encompassing the 3D surface in a bounding volume that includes a plurality of cubic blocks that subdivides the 3D surface; for each cubic block that intersects the 3D surface among the plurality of cubic blocks included in the bounding volume, calculating a corresponding orthogonal projection of that cubic block onto a corresponding two-dimensional (2D) face of the bounding volume that encompasses the 3D surface, the orthogonal projection of that cubic block defining color information of a corresponding square block for that cubic block; and grouping at least some of the square blocks that correspond to the orthogonally projected cubic blocks within a 2D image that specifies the color information generated based on the 3D representation that defines the 3D surface of the 3D object; and providing the generated atlas of the color information, the generated atlas including the grouped square blocks. - View Dependent Claims (20)
-
Specification