Centroid positioning for voxelizing triangles in point cloud coding
AssigneeComcast Cable Communications, LLC
InventorSébastien Lasserre
Life of this patent
Estimating the term…
Abstract
A centroid and a plurality of points associated with a cuboid may form triangles to represent a portion of a point cloud, which represent an object or scene in content. Variations in the positions of points in the cuboid may shift the centroid's position, which may cause potential distortion. Optimizing the centroid's position, based on weighted points associated with the cuboid, may improve compression performance and rendering.
Claims42
A method comprising:
- determining, by a computing device, a plurality of vertices of a cuboid associated with a portion of a point cloud associated with content;
- determining, by the computing device, a centroid vertex of the cuboid based on a weighted sum of the plurality of vertices, wherein each vertex of the plurality of vertices has a weight based on neighboring vertices, of the plurality of vertices, of the vertex;
- determining, by the computing device, triangles based on the centroid vertex and pairs of the plurality of vertices;
- and
- voxelizing, by the computing device, the triangles to determine voxels representing the portion of the point cloud.
A method comprising:
- determining, by a computing device, a plurality of vertices of a cuboid associated with a portion of a point cloud associated with content;
- determining, by the computing device, a centroid vertex of the cuboid based on a weighted sum of the plurality of vertices, wherein each vertex of the plurality of vertices has a weight based on neighboring vertices, of the plurality of vertices, of the vertex;
- determining, by the computing device, a centroid residual based on the centroid vertex and the portion of the point cloud, wherein each of triangles comprises a triple of vertices, of the plurality of vertices, comprising a second centroid vertex and different adjacent vertices;
- and
- encoding, by the computing device, the centroid residual in a bitstream.
A method comprising:
- determining, by a computing device, a plurality of vertices of a cuboid associated with a portion of a point cloud associated with content;
- determining, by the computing device, a centroid vertex of the cuboid based on a weighted sum of the plurality of vertices, wherein each vertex of the plurality of vertices has a respective weight, of a plurality of weights, based on neighboring vertices, of the plurality of vertices, of the vertex;
- determining, by the computing device, and based on the centroid vertex and the portion of the point cloud, a centroid residual;
- and
- coding, by the computing device, the centroid residual in a bitstream.
A non-transitory computer-readable medium storing instructions that, when executed, configure a computing device to:
- determine a plurality of vertices of a cuboid associated with a portion of a point cloud associated with content;
- determine a centroid vertex of the cuboid based on a weighted sum of the plurality of vertices, wherein each vertex of the plurality of vertices has a weight based on neighboring vertices, of the plurality of vertices, of the vertex;
- determine triangles based on the centroid vertex and pairs of the plurality of vertices;
- and
- voxelize the triangles to determine voxels representing the portion of the point cloud.
A computing device comprising:
- one or more processors;
- and
- memory storing instructions that, when executed by the one or more processors, cause the computing device to:
- determine a plurality of vertices of a cuboid associated with a portion of a point cloud associated with content;
- determine a centroid vertex of the cuboid based on a weighted sum of the plurality of vertices, wherein each vertex of the plurality of vertices has a weight based on neighboring vertices, of the plurality of vertices, of the vertex;
- determine triangles based on the centroid vertex and pairs of the plurality of vertices;
- and
- voxelize the triangles to determine voxels representing the portion of the point cloud.
A non-transitory computer-readable medium storing instructions that, when executed, configure a computing device to:
- determine a plurality of vertices of a cuboid associated with a portion of a point cloud associated with content;
- determine a centroid vertex of the cuboid based on a weighted sum of the plurality of vertices, wherein each vertex of the plurality of vertices has a weight based on neighboring vertices, of the plurality of vertices, of the vertex;
- determine a centroid residual based on the centroid vertex and the portion of the point cloud, wherein each of triangles comprises a triple of vertices, of the plurality of vertices, comprising a second centroid vertex and different adjacent vertices;
- and
- encode the centroid residual in a bitstream.
A computing device comprising:
- one or more processors;
- and
- memory storing instructions that, when executed by the one or more processors, cause the computing device to:
- determine a plurality of vertices of a cuboid associated with a portion of a point cloud associated with content;
- determine a centroid vertex of the cuboid based on a weighted sum of the plurality of vertices, wherein each vertex of the plurality of vertices has a weight based on neighboring vertices, of the plurality of vertices, of the vertex;
- determine a centroid residual based on the centroid vertex and the portion of the point cloud, wherein each of triangles comprises a triple of vertices, of the plurality of vertices, comprising a second centroid vertex and different adjacent vertices;
- and
- encode the centroid residual in a bitstream.
A non-transitory computer-readable medium storing instructions that, when executed, configure a computing device to:
- determine a plurality of vertices of a cuboid associated with a portion of a point cloud associated with content;
- determine a centroid vertex of the cuboid based on a weighted sum of the plurality of vertices, wherein each vertex of the plurality of vertices has a respective weight, of a plurality of weights, based on neighboring vertices, of the plurality of vertices, of the vertex;
- determine, based on the centroid vertex and the portion of the point cloud, a centroid residual;
- and
- code the centroid residual in a bitstream.
A computing device comprising:
- one or more processors;
- and
- memory storing instructions that, when executed by the one or more processors, cause the computing device to:
- determine a plurality of vertices of a cuboid associated with a portion of a point cloud associated with content;
- determine a centroid vertex of the cuboid based on a weighted sum of the plurality of vertices, wherein each vertex of the plurality of vertices has a respective weight, of a plurality of weights, based on neighboring vertices, of the plurality of vertices, of the vertex;
- determine, based on the centroid vertex and the portion of the point cloud, a centroid residual;
- and
- code the centroid residual in a bitstream.
Dependencies are inferred from the claim text.