# US 11,310,525 B2 · Predictor-copy coding mode for coding of point clouds

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,310,525 B2
- Document ID: US11310525B2
- Status: Granted
- Kind: B2
- Application number: 17/259,031
- Filed: 2019-07-08
- Published: 2021-09-09
- Granted: 2022-04-19
- Earliest claimed: 2018-07-11
- Assignees: BlackBerry Limited
- Applicants: BlackBerry Limited
- Inventors: Sébastien Lasserre; David Flynn
- Web page: https://patentgrep.com/patent/US11310525B2

## CPC

- H03M 7/30: Compression (speech analysis-synthesis for redundancy reduction G10L19/00; for image communication H04N); Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H04N 19/52: by predictive encoding
- H03M 7/3059: {Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression}
- H03M 7/3071: {Prediction}
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N 19/96: Tree coding, e.g. quad-tree coding
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Methods and devices for encoding a point cloud. A predictor-copy coding mode is described in which an encoder copies the predicted points for a sub-volume rather than encoding the occupancy data for the original points in the sub-volume. A predictor-copy coding mode flag is coded in the bitstream to signal to the decoder whether predictor-copy coding mode is active or inactive. The predictor-copy coding mode flag may only be coded for sub-volumes that are eligible to use the mode. Eligibility may be based on depth within the coding tree and/or size of the sub-volume. Predictor-copy coding mode has the result of early termination of a branch of the coding tree. Instead of decoding the occupancy for the remainder of the branch, a decoder copies the predicted points that are positioned within the sub-volume as the reconstructed points of the point cloud for that sub-volume.

## Claims

### Claim 1

A method comprising:
encoding a point cloud to generate a bitstream of compressed point cloud data, the point cloud including a set of points and being located within a volume recursively split into sub-volumes and containing the points of the point cloud, and wherein occupancy of sub-volumes of the volume is indicated using a bit sequence with each bit of the bit sequence indicating whether a respective sub-volume in a scan order within the volume contains at least one of the points in the set of points, wherein the encoding includes:
determining a prediction for a current sub-volume, the prediction being based on a reference sub-volume containing one or more previously-coded points and wherein the prediction includes at least one predicted point within the current sub-volume;
determining that the current sub-volume is to use a predictor-copy coding mode and, in response, setting a predictor-copy coding mode flag to 1, wherein the predictor-copy coding mode flag set to 1 signals that occupancy data for the current sub-volume will not be encoded and the at least one predicted point is to be copied and designated as at least one reconstructed point within the current sub-volume; and
encoding the predictor-copy coding mode flag in the bitstream.

### Claim 2 (depends on 1)

The method claimed in claim 1, wherein a coding tree corresponds to the recursively split volume, and wherein the determining that the current sub-volume is to use a predictor-copy coding mode includes early termination of a current branch of the coding tree that includes a node corresponding to the current sub-volume by not coding the occupancy data for the current sub-volume.

### Claim 3 (depends on 2)

The method claimed in claim 2, wherein the method includes, after encoding the predictor-copy coding mode flag, proceeding with encoding another branch of the coding tree.

### Claim 4 (depends on 1)

The method claimed in claim 1, further comprising determining that the current sub-volume is eligible to use the predictor-copy coding mode prior to determining that the current sub-volume is to use the predictor-copy coding mode and, wherein determining that the current sub-volume is eligible is based on the depth of a current node corresponding to the current sub-volume within a coding tree, or is based on the size of the current sub-volume.

### Claim 5 (depends on 1)

The method claimed in claim 1, wherein determining the prediction is based on either inter-prediction using a sub-volume from a previously-coded point cloud as the reference sub-volume and a motion vector, or intra-prediction using a sub-volume of a previously-coded portion of the point cloud as the reference sub-volume and an intra-coding mode, and wherein encoding includes encoding the motion vector or the intra-coding mode.

### Claim 6

A method, comprising:
decoding a bitstream of compressed point cloud data to produce a reconstructed point cloud, the point cloud including a set of points and being located within a volume recursively split into sub-volumes and containing the points of the point cloud, and wherein occupancy of sub-volumes of the volume is indicated using a bit sequence with each bit of the bit sequence indicating whether a respective sub-volume in a scan order within the volume contains at least one of the points in the set of points, wherein the decoding includes:
determining a prediction for a current sub-volume, the prediction being based on a reference sub-volume containing one or more previously-coded points, the prediction including at least one predicted point within the current sub-volume;
decoding a predictor-copy coding mode flag from the bitstream; and
determining that the decoded predictor-copy coding mode flag indicates that predictor-copy coding mode is to be used and, in response, foregoing decoding of any further occupancy data for the current sub-volume and copying the at least one predicted point as at least one reconstructed point of the current sub-volume.

### Claim 7 (depends on 6)

The method claimed in claim 6, wherein a coding tree corresponds to the recursively split volume, and wherein the determining that the decoded predictor-copy coding mode flag indicates that predictor-copy coding mode is to be used includes early termination of a current branch of the coding tree that includes a node corresponding to the current sub-volume.

### Claim 8 (depends on 7)

The method claimed in claim 7, wherein the method includes, after copying the at least one predicted point as the at least one reconstructed point of the current sub-volume, proceeding with decoding another branch of the coding tree.

### Claim 9 (depends on 6)

The method claimed in claim 6, further comprising determining that the current sub-volume is eligible to use the predictor-copy coding mode prior to decoding the predictor-copy coding mode flag.

### Claim 10 (depends on 9)

The method claimed in claim 9, wherein determining that the current sub-volume is eligible is based on the depth of a current node corresponding to the current sub-volume within a coding tree, or is based on the size of the current sub-volume.

### Claim 11 (depends on 6)

The method claimed in claim 6, wherein determining the prediction is based on either inter-prediction using a sub-volume from a previously-coded point cloud as the reference sub-volume and a motion vector, or intra-prediction using a sub-volume of a previously-coded portion of the point cloud as the reference sub-volume and an intra-coding mode, and wherein decoding includes decoding the motion vector or the intra-coding mode.

### Claim 12

An encoder comprising:
a processor;
memory; and
an encoding application containing instructions executable by the processor that, when executed, cause the processor to:
encode a point cloud to generate a bitstream of compressed point cloud data, the point cloud including a set of points and being located within a volume recursively split into sub-volumes and containing the points of the point cloud, and wherein occupancy of sub-volumes of the volume is indicated using a bit sequence with each bit of the bit sequence indicating whether a respective sub-volume in a scan order within the volume contains at least one of the points in the set of points, wherein the instruction cause the processor to encode by causing the processor to:
determine a prediction for a current sub-volume, the prediction being based on a reference sub-volume containing one or more previously-coded points and wherein the prediction includes at least one predicted point within the current sub-volume;
determine that the current sub-volume is to use a predictor-copy coding mode and, in response, set a predictor-copy coding mode flag to 1, wherein the predictor-copy coding mode flag set to 1 signals that occupancy data for the current sub-volume will not be encoded and the at least one predicted point is to be copied and designated as at least one reconstructed point within the current sub-volume; and
encode the predictor-copy coding mode flag in the bitstream.

### Claim 13 (depends on 12)

The encoder claimed in claim 12, wherein a coding tree corresponds to the recursively split volume, and the instructions, when executed, are to cause the processor, based on the determination that the current sub-volume is to use a predictor-copy coding mode, to terminate a current branch of the coding tree that includes a node corresponding to the current sub-volume by not coding the occupancy data for the current sub-volume.

### Claim 14 (depends on 12)

The encoder claimed in claim 12, wherein the instructions, when executed, further cause the processor to determine that the current sub-volume is eligible to use the predictor-copy coding mode prior to determining that the current sub-volume is to use the predictor-copy coding mode and wherein determining that the current sub-volume is eligible is based on the depth of a current node corresponding to the current sub-volume within a coding tree, or is based on the size of the current sub-volume.

### Claim 15

A decoder comprising:
a processor;
memory; and
a decoding application containing instructions executable by the processor that, when executed, cause the processor to:
decode a bitstream of compressed point cloud data to produce a reconstructed point cloud, the point cloud having a set of points and being located within a volume recursively split into sub-volumes and containing the points of the point cloud, and wherein occupancy of sub-volumes of the volume is indicated using a bit sequence with each bit of the bit sequence indicating whether a respective sub-volume in a scan order within the volume contains at least one of the points in the set of points, wherein the instruction cause the processor to decode by causing the processor to:
determine a prediction for a current sub-volume, the prediction being based on a reference sub-volume containing one or more previously-coded points, the prediction including at least one predicted point within the current sub-volume;
decode a predictor-copy coding mode flag from the bitstream; and
determine that the decoded predictor-copy coding mode flag indicates that predictor-copy coding mode is to be used and, in response, forego decoding of any further occupancy data for the current sub-volume and copy the at least one predicted point as at least one reconstructed point of the current sub-volume.

### Claim 16 (depends on 15)

The decoder claimed in claim 15, wherein a coding tree corresponds to the recursively split volume, and wherein the instructions, when executed, are to cause the processor, based on the determination that the decoded predictor-copy coding mode flag indicates that predictor-copy coding mode is to be used, to terminate a current branch of the coding tree that includes a node corresponding to the current sub-volume.

### Claim 17 (depends on 16)

The decoder claimed in claim 16, wherein the instructions, when executed, further cause the processor to proceed with decoding another branch of the coding tree after copying the at least one predicted point as the at least one reconstructed point of the current sub-volume.

### Claim 18 (depends on 15)

The decoder claimed in claim 15, wherein the instructions, when executed, further cause the processor to determine that the current sub-volume is eligible to use the predictor-copy coding mode prior to decoding the predictor-copy coding mode flag.

### Claim 19 (depends on 18)

The decoder claimed in claim 18, wherein the instructions, when executed, are to cause the processor to determine that the current sub-volume is eligible based on the depth of a current node corresponding to the current sub-volume within a coding tree, or is based on the size of the current sub-volume.

### Claim 20 (depends on 15)

The decoder claimed in claim 15, wherein the instructions, when executed, are to cause the processor to determine the prediction based on either inter-prediction using a sub-volume from a previously-coded point cloud as the reference sub-volume and a motion vector, or intra-prediction using a sub-volume of a previously-coded portion of the point cloud as the reference sub-volume and an intra-coding mode, and wherein the instructions, when executed, are to cause the processor to decode the motion vector or the intra-coding mode.
