IP Library › Granted Patent US 12,387,415
Granted Patent B2
US 12,387,415 · App. 18/507,377 · Granted Aug 12, 2025

Compression of attribute values comprising unit vectors

Inventors: Khaled Mammou (Danville, CA); Deepak S Tolani (Sunnyvale, CA); Alexandros Tourapis (Los Gatos, CA)
Assignee: Apple Inc.
G06T15/04G06T9/00G06T11/40G06T15/08G06T17/20
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,387,415
App. No.
18/507,377
Granted
Aug 12, 2025
Kind
B2
Abstract

A system compresses and decompresses attribute information for visual volumetric content, such as a mesh representation. Attribute values are included in the visual volumetric representation, wherein at least some of the attribute values include unitary vectors, such as surface normal vectors or surface tangent vectors having a magnitude of one unit. In order to compress the attribute information the three-dimensional unit vectors are mapped into two dimensional parametric coordinates for a planar representation of a unit sphere. To reduce negative effects on compression due to distortion or discontinuities in the planar representation, mappings for compressing respective unit vectors are adaptively selected.

Claims (84)

1. A non-transitory computer-readable medium storing program instructions that, when executed using one or more processors, cause the one or more processors to:

receive, or generate, attribute information for volumetric visual content, wherein the attribute information comprises unit vectors associated with respective vertices in geometry information; and

for respective ones of the vertices, select a mapping for mapping a unit vector into 2D parametric coordinates of a planar representation of a unit sphere,

wherein the mapping is selected such that a point on the unit sphere corresponding to the unit vector is located proximate to an origin point in the planar representation and away from discontinuous or distorted portions of the unit sphere in the planar representation; and

compress the attribute information based on the selected mappings for the respective ones of the vertices.

2. The non-transitory, computer-readable medium of claim 1 , wherein to compress the attribute information, for the respective ones of the vertices, the program instructions cause the one or more processors to:

predict 2D parametric coordinates for the unit vector for the vertex based on other signaled or predicted parametric coordinates for other unit vectors neighboring the unit vector in the planar representation of the unit sphere;

map, using the selected mapping, an original version of the unit vector included in the received or generated attribute information into 2D parametric coordinates; and

determine an attribute correction value for the predicted 2D parametric coordinates for the vertex based on a difference between the predicted 2D parametric coordinates and the 2D parametric coordinates of the original version of the unit vector that has been mapped into the planar representation according to the selected mapping.

3. The non-transitory, computer-readable medium of claim 2 , wherein the program instructions, when executed using the one or more processors, further cause the one or more processors to:

entropy encode the determined attribute correction values for the parametric coordinates for unit vectors for the respective ones of the vertices.

4. The non-transitory, computer-readable medium of claim 2 , wherein to predict the 2D parametric coordinates, the program instructions, when executed using the one or more processors, further cause the one or more processors to:

adaptively select a prediction technique to use to perform the prediction from a set of prediction techniques comprising two or more of:

an orthogonal projection technique with signaled orthogonal projection direction sign;

an orthogonal projection technique without signaled orthogonal projection direction sign;

a parallelogram prediction technique;

a linear prediction technique;

an average prediction technique; or

a delta prediction technique.

5. The non-transitory, computer-readable medium of claim 1 , wherein the program instructions, when executed using the one or more processors, further cause the one or more processors to:

receive, or generate, the geometry information, wherein the geometry information is mesh geometry information comprising vertices information and connectivity information for a geometric mesh representation of the volumetric visual content.

6. The non-transitory, computer-readable medium of claim 1 , wherein to select the mapping, the program instructions, when executed using the one or more processors, further cause the one or more processors to:

select a shape approximating the unit sphere to be used for the mapping, wherein the selected shape is cut or unfolded to generate the planar representation.

7. The non-transitory, computer-readable medium of claim 6 wherein the selected shape is selected from a set of shapes comprising two or more of:

an octahedron approximating the unit sphere;

a sub-divided octahedron approximating the unit sphere, wherein respective faces of the octahedron are divided into two or more triangles;

an authagraph approximating the unit sphere;

a dodecahedron approximating the unit sphere;

an icosahedron approximating the unit sphere; or

a truncated icosahedron approximating the unit sphere.

8. A device, comprising:

a memory storing program instructions; and

one or more processors, wherein the program instructions when executed using the one or more processors, cause the one or more processors to:

receive, or generate, attribute information for volumetric visual content, wherein the attribute information comprises unit vectors associated with respective vertices in geometry information; and

for respective ones of the vertices, select a mapping for mapping a unit vector into 2D parametric coordinates of a planar representation of a unit sphere,

wherein the mapping is selected such that a point on the unit sphere corresponding to the unit vector is located proximate to an origin point in the planar representation and away from discontinuous or distorted portions of the unit sphere in the planar representation; and

compress the attribute information based on the selected mappings for the respective ones of the vertices.

9. The device of claim 8 , wherein to select the mapping, the program instructions, when executed using the one or more processors, cause the one or more processors to:

select an orientation for a shape approximating the unit sphere used in the mapping, wherein the shape approximates the unit sphere and is cut or unfolded to generate the planar representation.

10. The device of claim 9 , wherein the shape approximating the unit sphere comprises a plurality of faces, and

wherein to select the mapping, the program instructions, when executed using the one or more processors, further cause the one or more processors to:

select a face of the shape approximating the unit sphere on to which the point on the unit sphere corresponding to a predicted unit vector is to be projected, wherein the orientation of the shape approximating the unit sphere is selected such that the point is projected onto the selected face, and

wherein to select the face, the program instructions, when executed using the one or more processors, further cause the one or more processors to:

select the face based on a signed distance of the point on the unit sphere with respect to respective planes corresponding to each of the faces of the shape approximating the unit sphere;

select the face based on a computed dot product of the predicted unit vector and normal vectors for the respective planes corresponding to each of the faces of the shape approximating the unit sphere; or

select the face based on searching an octree structure that stores center locations in 3D space for each face, wherein a face having a closest center location to the predicted unit vector is selected.

11. The device of claim 10 , wherein to select the face the program instructions, when executed using the one or more processors, further cause the one or more processors to:

map the point on the unit sphere to a region in 3D space; and

limit a search of faces onto which to project the point to a set of faces of the shape approximating the unit sphere that reside in the region into which the point on the unit sphere is mapped.

12. The device of claim 10 , wherein the plurality of faces comprise one or more triangles, and wherein to perform the mapping the program instructions, when used by the one or more processors cause the one or more processors to:

project the point on the unit sphere into a given one of the triangles of the selected face; and

compute the parametric coordinates as barycentric coordinates in reference to the given triangle of the selected face.

13. The device of claim 8 , wherein the mapping comprises a mapping that maps the point on the unit sphere to a point on an octahedron that approximates the unit sphere, wherein the octahedron is cut and unfolded into the planar representation, and

wherein to select the mapping, the program instructions, when executed using the one or more processors, further cause the one or more processors to:

select an orientation of the octahedron such that the point on the unit sphere is projected onto the point on the octahedron at a location proximate to an origin of the octahedron and away from cut portions of the octahedron when the octahedron is cut and unfolded into the planar representation.

14. The device of claim 13 , wherein to select the orientation of the octahedron, the program instructions, when executed using the one or more processors, further cause the one or more processors to:

select the orientation such that the origin point is along a positive x-axis in 3D space based on a positive x-component of a predicted unit vector being greater than an absolute value of a y-component or an absolute value of a z-component of the predicted unit vector;

select the orientation such that the origin point is along a negative x-axis in 3D space based on a negative x-component of the predicted unit vector being greater than an absolute value of a y-component or an absolute value of a z-component of the predicted unit vector;

select the orientation such that the origin point is along a positive y-axis in 3D space based on a positive x-component of the predicted unit vector being greater than an absolute value of a z-component or an absolute value of a z-component of the predicted unit vector;

select the orientation such that the origin point is along a negative y-axis in 3D space based on a negative y-component of the predicted unit vector being greater than an absolute value of a x-component or an absolute value of a z-component of the predicted unit vector;

select the orientation such that the origin point is along a positive z-axis in 3D space based on a positive z-component of the predicted unit vector being greater than an absolute value of a x-component or an absolute value of a y-component of the predicted unit vector; or

select the orientation such that the origin point is along a negative z-axis in 3D space based on a negative z-component of the predicted unit vector being greater than an absolute value of a x-component or an absolute value of a y-component of the predicted unit vector.

15. A non-transitory computer-readable medium storing program instructions that, when executed using one or more processors, cause the one or more processors to:

receive geometry information for volumetric visual content, wherein the geometry information comprises vertices information and connectivity information for a geometric representation of the volumetric visual content;

receive attribute information indicating 2D parametric coordinates for vertices of the geometric representation; and

for respective ones of the vertices of the geometric representation:

select a mapping for mapping a unit vector into 2D parametric coordinates of a planar representation comprising a planar representation of a unit sphere; and

map the 2D parametric coordinates into 3D space using the selected mapping to generate a decompressed version of the unit vector for the vertex.

16. The non-transitory, computer-readable medium of claim 15 , wherein the geometry information is mesh geometry information,

wherein the attribute information is compressed attribute information comprising correction values for the unit vectors associated with the respective ones of the vertices of the geometric representation, and

wherein, for the respective ones of the vertices of the of the geometric representation, the program instructions cause the one or more processors to:

predict 2D parametric coordinates for the unit vector for the vertex based on other signaled or predicted parametric coordinates for other unit vectors neighboring the unit vector to be predicted in the planar representation of the unit sphere; and

apply an attribute correction value for the predicted 2D parametric coordinates for the vertex to generate decompressed 2D parametric coordinates for the vertex.

17. The non-transitory, computer-readable medium of claim 15 , wherein the program instructions, when executed using the one or more processors, further cause the one or more processors to:

for respective ones of the vertices of the geometric representation:

normalize the decompressed version of the unit vector by dividing x, y, and, z components of the decompressed version of the unit vector by an Euclidean length of the decompressed version of the unit vector.

18. The non-transitory, computer-readable medium of claim 15 , wherein the attribute information further comprises mapping selection indicators for the respective vertices,

wherein to adaptively select the mapping, the program instructions cause the one or more processors to:

select respective mappings for the respective vertices, based on the corresponding mapping selection indicators for the respective vertices included in the attribute information.

19. The non-transitory, computer-readable medium of claim 15 , wherein to adaptively select the mapping, the program instructions cause the one or more processors to:

predict a corresponding unit vector for the vertex based on one or more other signaled or predicted unit vectors for one or more other ones of the vertices; and

adaptively select respective mappings for the respective vertices such that a point on the unit sphere corresponding to the predicted unit vector is located proximate to an origin point in the planar representation and away from discontinuous or distorted portions of the unit sphere in the planar representation.

20. The non-transitory, computer-readable medium of claim 15 , wherein to adaptively select the mapping, the program instructions, when executed using the one or more processors, further cause the one or more processors to:

adaptively select an orientation for a shape approximating the unit sphere used in the mapping, wherein the shape approximates the unit sphere and is cut or unfolded to generate the planar representation.

Continuity (3)
Continuation 17663820 · May 17, 2022
Provisional Application 63197288 · Jun 4, 2021
Related Publication 20240078738A1 · Mar 7, 2024
References Cited (8)
US 7271377B2 · Mueller et al. · 2007 [cited by applicant]
US 11276203B2 · Tourapis et al. · 2022 [cited by applicant]
US 11284091B2 · Tourapis et al. · 2022 [cited by applicant]
US 11854112B1 · Mammou · 2023 [cited by examiner]
US 20130300740A1 · Snyder et al. · 2013 [cited by applicant]
US 20220366610A1 · Hur et al. · 2022 [cited by applicant]
WO 20060696162 · 2006 [cited by applicant]
U.S. Appl. No. 17/663,820, filed May 17, 2022, Khaled Mammou et al. [cited by applicant]