# US 12,008,712 B2 · Inter-component residual prediction for attributes in geometry point cloud compression coding

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

- Number: US 12,008,712 B2
- Document ID: US12008712B2
- Status: Granted
- Kind: B2
- Application number: 18/296,809
- Filed: 2023-04-06
- Published: 2023-08-03
- Granted: 2024-06-11
- Earliest claimed: 2020-10-06
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Bappaditya Ray; Adarsh Krishnan Ramasubramonian; Geert Van der Auwera; Marta Karczewicz
- Web page: https://patentgrep.com/patent/US12008712B2

## CPC

- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- H04N 19/597: specially adapted for multi-view video sequence encoding
- G06T 9/00: Image coding (bandwidth or redundancy reduction for static pictures H04N1/41; coding or decoding of static colour picture signals H04N1/64; methods or arrangements for coding, decoding, compressing or decompressing digital video signals H04N19/00)
- G06T 9/001: {Model-based coding, e.g. wire frame}
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- H04N 13/161: Encoding, multiplexing or demultiplexing different image signal components (for multi-view video sequence encoding H04N19/597)
- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/50: using predictive coding (H04N19/61 takes precedence)
- H04N 19/593: involving spatial prediction techniques
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- G06T 2210/36: Level of detail
- G06T 2219/2016: Rotation, translation, scaling
- H04N 13/15: for colour aspects of image signals
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A device for decoding encoded point cloud data can be configured to, for a point of a point cloud, determine a first color value for a first color component based on a first predicted value and a first residual value; apply a scaling factor to the first residual value to determine a predicted second residual value, wherein the scaling factor has one or both of a non-integer value or an absolute value greater than one; for the point of the point cloud, receive a second residual value in the encoded point cloud data; determine a final second residual value based on the predicted second residual value and the received second residual value; and for the point of the point cloud, determine a second color value for a second color component based on a second predicted value and the final second residual value.

## Claims

### Claim 1

A device for decoding encoded point cloud data, the device comprising:
a memory configured to store the encoded point cloud data; and
one or more processors, implemented in circuitry, and configured to:
for a point of a point cloud, determine a first attribute value for a first component based on a first predicted value and a first residual value;
receive, in the encoded point cloud data, a first syntax element indicating a scalar value, wherein the scalar value is an integer value;
apply a scaling factor to the first residual value to determine a predicted second residual value, wherein the scaling factor has one or both of a non-integer value or an absolute value greater than one, and wherein to apply the scaling factor to the first residual value, the one or more processors are further configured to:
perform a multiplication by the scalar value; and
perform a right shift operation, wherein a result of a combination of the multiplication by the scalar value and the right shift operation is equal to the scaling factor;
receive, in the encoded point cloud data, a second syntax element;
for the point of the point cloud, determine a second residual value based on the second syntax element; and
for the point of the point cloud, determine a second attribute value for a second component based on a second predicted value, the second residual value, and the predicted second residual value.

### Claim 2 (depends on 1)

The device of claim 1, wherein the right shift operation comprises a right shift by 2.

### Claim 3 (depends on 1)

The device of claim 1, wherein the first syntax element indicates a difference value corresponding to a difference between the scalar value and a previously determined scalar value.

### Claim 4 (depends on 3)

The device of claim 3, wherein the point cloud comprises a point cloud for a first level of detail and the previously determined scalar value is for a second level of detail that is different than the first level of detail.

### Claim 5 (depends on 1)

The device of claim 1, wherein the one or more processors are further configured to receive the first syntax element in an attribute slice header syntax structure.

### Claim 6 (depends on 1)

The device of claim 1, wherein the one or more processors are further configured to determine the second predicted value for the point of the point cloud based on a value for a different point of the point cloud.

### Claim 7 (depends on 1)

The device of claim 1, wherein the point cloud comprises a point cloud for a first level of detail, and wherein to determine the scaling factor, the one or more processors are further configured to determine the scaling factor based on a scaling factor for a second level of detail that is different than the first level of detail.

### Claim 8 (depends on 1)

The device of claim 1, wherein the one or more processors are further configured to:
apply a second scaling factor to the first residual value to determine a predicted third residual value, wherein the second scaling factor has one or both of a non-integer value or an absolute value greater than one;
for the point of the point cloud, receive a third residual value in the encoded point cloud data;
determine a final third residual value based on the predicted third residual value and the received third residual value; and
for the point of the point cloud, determine a third color value for a third component based on a third predicted value and the final third residual value.

### Claim 9 (depends on 1)

The device of claim 1, wherein the one or more processors are further configured to reconstruct the point cloud.

### Claim 10 (depends on 9)

The device of claim 9, wherein the one or more processors are further configured to generate a map of an interior of a building based on the reconstructed point cloud.

### Claim 11 (depends on 9)

The device of claim 9, wherein the one or more processors are further configured to perform an autonomous navigation operation based on the reconstructed point cloud.

### Claim 12 (depends on 9)

The device of claim 9, wherein the one or more processors are further configured to generate computer graphics based on the reconstructed point cloud.

### Claim 13 (depends on 9)

The device of claim 9, wherein the one or more processors are configured to:
determine a position of a virtual object based on the reconstructed point cloud; and
generate an extended reality (XR) visualization in which the virtual object is at the determined position.

### Claim 14 (depends on 9)

The device of claim 9, further comprising a display to present imagery based on the reconstructed point cloud.

### Claim 15 (depends on 1)

The device of claim 1, wherein the device comprises one or more of a mobile phone, a tablet computer, a vehicle, or an extended reality device.

### Claim 16

A method of decoding encoded point cloud data, the method comprising:
for a point of a point cloud, determining a first color value for a first color component based on a first predicted value and a first residual value;
receiving, in the encoded point cloud data, a first syntax element indicating a scalar value, wherein the scalar value is an integer value;
applying a scaling factor to the first residual value to determine a predicted second residual value, wherein the scaling factor has one or both of a non-integer value or an absolute value greater than one, wherein applying the scaling factor to the first residual value comprises:
performing a multiplication by the scalar value; and
performing a right shift operation, wherein a result of a combination of the multiplication by the scalar value and the right shift operation is equal to the scaling factor;
receiving, in the encoded point cloud data, a second syntax element;
for the point of the point cloud, determining a second residual value based on the second syntax element;
for the point of the point cloud, determining a second attribute value for a second component based on a second predicted value, the second residual value, and the predicted second residual value.

### Claim 17 (depends on 16)

The method of claim 16, wherein the right shift operation comprises a right shift by 2.

### Claim 18 (depends on 16)

The method of claim 16, wherein the first syntax element indicates a difference value corresponding to a difference between the scalar value and a previously determined scalar value.

### Claim 19 (depends on 16)

The method of claim 16, further comprising:
receiving the first syntax element in an attribute slice header syntax structure.

### Claim 20

A device for encoding point cloud data to generate encoded point cloud data, the device comprising:
a memory configured to store the point cloud data; and
one or more processors, implemented in circuitry, and configured to:
for a point of a point cloud, determine a first attribute value for a first component;
encode the first attribute value for the first component as a first predicted value and a first residual value;
for the point of the point cloud, determine a second attribute value for a second component;
determine a second predicted value for the second attribute value for the second component;
determine a second residual value for the second attribute value for the second component;
apply a scaling factor to the first residual value to determine a predicted second residual value, wherein the scaling factor has a non-integer value, wherein to apply the scaling factor to the first residual value, the one or more processors are further configured to:
perform a multiplication by a scalar value; and
perform a right shift operation, wherein a result of a combination of the multiplication by the scalar value and the right shift operation is equal to the scaling factor; and
generate, for inclusion in the encoded point cloud data, a syntax element indicating the scalar value.
