Point cloud occupancy map compression
First Claim
1. A system comprising:
- an encoder configured to compress a point cloud, wherein to compress the point cloud, the encoder is configured to;
determine, for the point cloud, a plurality of patches each corresponding to a respective portion of the point cloud;
generate, for each patch, a patch image;
pack the generated patch images for each of the patches into one or more image frames;
generate an occupancy map for each of the one or more image frames, wherein the occupancy map indicates pixels of the image frame that are occupied by one of the patch images and pixels of the image frame that are un-occupied;
encode the respective one or more occupancy maps, wherein to encode a given one of the one or more occupancy maps the encoder is configured to;
indicate empty blocks of the given occupancy map that include only un-occupied pixels;
assign binary values to sub-blocks of each non-empty block of the given occupancy map, wherein occupied sub-blocks and non-occupied sub-blocks are assigned different binary values;
select a traversal order for encoding the sub-blocks of the given occupancy map such that sub-blocks with similar binary values are traversed sequentially; and
encode the traversal order and sequential binary values for the sub-blocks of the given occupancy map traversed according to the traversal order, wherein the encoded traversal order indicates the selected traversal order to a decoder; and
encode the one or more image frames.
1 Assignment
0 Petitions
Accused Products
Abstract
A system comprises an encoder configured to compress attribute information and/or spatial for a point cloud and/or a decoder configured to decompress compressed attribute and/or spatial information for the point cloud. To compress the attribute and/or spatial information, the encoder is configured to convert a point cloud into an image based representation. Also, the decoder is configured to generate a decompressed point cloud based on an image based representation of a point cloud. A block/sub-block organization scheme is used to encode blocks and sub-blocks of an occupancy map used in compressing the point cloud. Binary values are assigned to blocks/sub-blocks based on whether they contain patches projected on the point cloud. A traversal path is chosen that takes advantage of run-length encoding strategies to reduce a size of an encoded occupancy map. Also, auxiliary information is used to further improve occupancy map compression.
-
Citations
20 Claims
-
1. A system comprising:
an encoder configured to compress a point cloud, wherein to compress the point cloud, the encoder is configured to; determine, for the point cloud, a plurality of patches each corresponding to a respective portion of the point cloud; generate, for each patch, a patch image; pack the generated patch images for each of the patches into one or more image frames; generate an occupancy map for each of the one or more image frames, wherein the occupancy map indicates pixels of the image frame that are occupied by one of the patch images and pixels of the image frame that are un-occupied; encode the respective one or more occupancy maps, wherein to encode a given one of the one or more occupancy maps the encoder is configured to; indicate empty blocks of the given occupancy map that include only un-occupied pixels; assign binary values to sub-blocks of each non-empty block of the given occupancy map, wherein occupied sub-blocks and non-occupied sub-blocks are assigned different binary values; select a traversal order for encoding the sub-blocks of the given occupancy map such that sub-blocks with similar binary values are traversed sequentially; and encode the traversal order and sequential binary values for the sub-blocks of the given occupancy map traversed according to the traversal order, wherein the encoded traversal order indicates the selected traversal order to a decoder; and encode the one or more image frames. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A method for compressing a point cloud, the method comprising:
-
determining a plurality of patches, each corresponding to a respective portion of the point cloud; generating, for each patch, one or more patch images; packing the generated patch images into an image frame; generating an occupancy map for the image frame, wherein the occupancy map indicates pixels of the image frame that are occupied by one of the patch images and pixels of the image frames that are un-occupied; and encoding a compressed version of the occupancy map, wherein said encoding comprises; indicating empty blocks of the occupancy map that correspond to respective portions of the image frame that include only un-occupied pixels; assigning binary values to sub-blocks of each non-empty block of the occupancy map, wherein occupied sub-blocks and non-occupied sub-blocks are assigned different binary values; selecting a traversal order for encoding the sub-blocks of the occupancy map such that sub-blocks with similar binary values are traversed sequentially; and encoding the traversal order and sequential binary values for the sub-blocks of the occupancy map traversed according to the traversal order. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for decompressing a compressed version of a point cloud, the method comprising:
-
receiving an image frame comprising; occupied portions occupied with patch images; and un-occupied portions, wherein the patch images comprise attribute information or geometry information for respective patches of the point cloud; receiving a compressed version of an occupancy map for the patch image; decompressing the compressed version of the occupancy map, wherein said decompressing comprises; determining non-empty blocks of the occupancy map; and for each non-empty block; determining a traversal order for traversing sub-blocks of the non-empty block; and assigning sequential binary values from a set of encoded binary values to the sub-blocks according to the traversal order to indicate whether the sub-blocks are occupied or non-occupied sub-blocks; and identifying patch images included in the image frame, based at least in part on the decompressed occupancy map. - View Dependent Claims (19, 20)
-
Specification