Methods and devices for binary entropy coding of point clouds
AssigneeMalikie Innovations Limited
InventorSébastien Lasserre
Life of this patent
Estimating the term…
Abstract
Methods and devices for encoding a point cloud. A bit sequence signalling an occupancy pattern for sub-volumes of a volume is coded using binary entropy coding. For a given bit in the bit sequence, a context may be based on a sub-volume neighbour configuration for the sub-volume corresponding to that bit. The sub-volume neighbour configuration depends on an occupancy pattern of a group of sub-volumes of neighbouring volumes to the volume, the group of sub-volumes neighbouring the sub-volume corresponding to the given bit. The context may be further based on a partial sequence of previously-coded bits of the bit sequence.
Claims24
A method of encoding a point cloud to generate a bitstream of compressed point cloud data, the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and that geometrically represent a volumetric space recursively split into sub-volumes containing points of the point cloud, wherein occupancy of sub-volumes of a volume is indicated using a bit sequence in which each bit indicates occupancy of a respective sub-volume in a scan order within the volume, which has a plurality of neighbouring volumes, the method comprising:
- determining, for a current node associated with a current volume split into first sub-volumes, a first bit sequence indicating occupancy statuses of the first sub-volumes, wherein each first sub-volume corresponds to a child node of the current node;
- and
- for at least one bit in the first bit sequence of the current volume:
- determining, based on occupancy data for second sub-volumes of at least one neighbouring volume of the current volume, a sub-volume neighbour configuration that depends on an occupancy pattern of a group of the second sub-volumes that neighbour a first sub-volume of the current volume that corresponds to the at least one bit in the first bit sequence;
- selecting a probability for use in entropy encoding of the at least one bit in the first bit sequence, wherein the probability is selected based at least in part on the sub-volume neighbour configuration;
- and
- entropy encoding the at least one bit in the first bit sequence based on the probability using a binary entropy encoder to produce encoded binarized data for the bitstream.
A method of decoding a bitstream of compressed point cloud data to produce a reconstructed point cloud, the reconstructed point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and that geometrically represent a volumetric space recursively split into sub-volumes containing points of the reconstructed point cloud, wherein occupancy of sub-volumes of a volume is indicated using a bit sequence in which each bit indicates occupancy of a respective sub-volume in a scan order within the volume, which has a plurality of neighbouring volumes, the method comprising:
- for a current node associated with a current volume split into first sub-volumes, wherein each first sub-volume corresponds to a child node of the current node, and for at least one bit in a first bit sequence of the current volume,
- determining, based on occupancy data for second sub-volumes of at least one neighbouring volume of the current volume, a sub-volume neighbour configuration that depends on an occupancy pattern of a group of second sub-volumes that neighbour a first sub-volume of the current volume that corresponds to the at least one bit in the first bit sequence;
- selecting a probability for use in entropy decoding of the at least one bit in the first bit sequence, wherein the probability is selected based at least in part on the sub-volume neighbour configuration;
- and
- entropy decoding said at least one bit based on the probability using a binary entropy decoder to produce a reconstructed bit from the bitstream.
An encoder for encoding a point cloud to generate a bitstream of compressed point cloud data, the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and that geometrically represent a volumetric space recursively split into sub-volumes containing points of the point cloud, wherein occupancy of sub-volumes of a volume is indicated using a bit sequence in which each bit indicates occupancy of a respective sub-volume in a scan order within the volume, which has a plurality of neighbouring volumes, the encoder comprising:
- a processor;
- memory;
- and
- an encoding application containing instructions executable by the processor that, when executed, cause the processor to:
- determine, for a current node associated with a current volume split into first sub-volumes, a first bit sequence indicating occupancy statuses of the first sub-volumes, wherein each first sub-volume corresponds to a child node of the current node;
- and
- for at least one bit in the first bit sequence of the current volume:
- determine, bases on occupancy data for second sub-volumes of at least one neighbouring volume of the current volume, a sub-volume neighbour configuration that depends on an occupancy pattern of a group of the second sub-volumes that neighbour a first sub-volume of the current volume that corresponds to the at least one bit in the first bit sequence;
- select a probability for use in entropy encoding of the at least one bit in the first bit sequence, wherein the probability is selected based at least in part on the sub-volume neighbour configuration;
- and
- entropy encode the at least one bit in the first bit sequence based on the probability using a binary entropy encoder to produce encoded binarized data for the bitstream.
A decoder for decoding a bitstream of compressed point cloud data to produce a reconstructed point cloud, the reconstructed point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and that geometrically represent a volumetric space recursively split into sub-volumes containing points of the reconstructed point cloud, wherein occupancy of sub-volumes of a volume is indicated using a bit sequence in which each bit indicates occupancy of a respective sub-volume in a scan order within the volume, which has a plurality of neighbouring volumes, the decoder comprising:
- a processor;
- memory;
- and
- a decoding application containing instructions executable by the processor that, when executed, cause the processor to be configured such that for a current node associated with a current volume split into first sub-volumes, wherein each first sub-volume corresponds to a child node of the current node, and for at least one bit in a first bit sequence of the current volume, the processor:
- determines, based on occupancy data for second sub-volumes of at least one neighbouring volume of the current volume, a sub-volume neighbour configuration that depends on an occupancy pattern of a group of second sub-volumes that neighbour a first sub-volume of the current volume that corresponds to the at least one bit in the first bit sequence;
- selects a probability for use in entropy decoding of the at least one bit in the first bit sequence, wherein the probability is selected based at least in part on the sub-volume neighbour configuration;
- and
- entropy decodes said at least one bit based on the probability using a binary entropy decoder to produce a reconstructed bit from the bitstream.
Dependencies are inferred from the claim text.