# US 12,192,311 B2 · Attribute residual coding in G-PCC

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

- Number: US 12,192,311 B2
- Document ID: US12192311B2
- Status: Granted
- Kind: B2
- Application number: 17/342,249
- Filed: 2021-06-08
- Published: 2021-12-09
- Granted: 2025-01-07
- Earliest claimed: 2020-06-09
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Bappaditya Ray; Geert Van der Auwera; Adarsh Krishnan Ramasubramonian; Louis Joseph Kerofsky; Marta Karczewicz
- Web page: https://patentgrep.com/patent/US12192311B2

## CPC

- H04N 19/597: specially adapted for multi-view video sequence encoding
- G06T 9/001: {Model-based coding, e.g. wire frame}
- H04L 65/61: for supporting one-way streaming services, e.g. Internet radio
- H04L 65/70: Media network packetisation
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 69/04: Protocols for data compression, e.g. ROHC
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An example method of encoding a point cloud includes determining that residual values for all components except one component of an attribute of a point in the point cloud are equal to zero; based on the determination that the residual values for all components except the one component of the attribute are equal to zero, determining a value for the one component that is equal to a magnitude of a residual value of the one component of the attribute minus an offset; encoding the value of the one component; and signaling the encoded value in a bitstream.

## Claims

### Claim 1

A method of encoding a point cloud, the method comprising:
determining respective residual values for each component of a plurality of components of one attribute of one point in the point cloud, wherein each respective residual value is based on a difference between a respective value of each component and a respective predictor for each component;
in a condition where the residual values for all components of the plurality of components of the one attribute of the one point in the point cloud except one component of the plurality of components of the one attribute are equal to zero, determining a value for the one component that is equal to a magnitude of a residual value of the one component of the one attribute minus an offset;
encoding the value of the one component; and
signaling the encoded value in a bitstream.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
encoding the value of zero for the components except the one component of the one attribute; and
signaling the encoded value of zero for the components except the one component of the one attribute.

### Claim 3 (depends on 2)

The method of claim 2, wherein encoding the value of zero for the components except the one component of the one attribute comprises encoding the value of zero for the components except the one component of the one attribute before encoding the value of the one component.

### Claim 4 (depends on 3)

The method of claim 3,
wherein, in a processing order, the one component is processed before the components except the one component, and
wherein encoding the value of zero for the components except the one component of the one attribute before encoding the value of the one component comprises encoding, in an encoding order different than the processing order, the value of zero for the components except the one component, wherein, in the encoding order, the one component is encoded after the components except the one component.

### Claim 5 (depends on 3)

The method of claim 3, wherein the one attribute is a color attribute, wherein the one component of the one attribute is a luma component, and wherein the components except the one component include chroma components.

### Claim 6 (depends on 1)

The method of claim 1, wherein the one point comprises a first point, the method further comprising:
in a condition where residual values for at least two components of one attribute of a second point in the point cloud are not equal to zero, encoding the residual values for the components of the one attribute of the second point.

### Claim 7 (depends on 1)

The method of claim 1, wherein the one attribute comprises at least one of a color, frame number, humidity, temperature, surface normal, a combination of humidity and temperature, or a combination of color and surface normal.

### Claim 8 (depends on 1)

The method of claim 1, wherein the offset is equal to 1.

### Claim 9

A method of decoding a point cloud, the method comprising:
decoding values for a plurality of components of one attribute of one point in the point cloud, the values indicative of residual values for the plurality of components;
in a condition where residual values for all components of the plurality of components of the one attribute except one component of the plurality of components of the one attribute are equal to zero, adding an offset to a decoded value for the one component of the one attribute to determine a magnitude of a residual value for the one component; and
reconstructing the components of the one attribute of the one point based on the residual values for the components, wherein reconstructing the components comprises adding a respective residual value, of the residual values, for a respective component of the plurality of components to a respective predictor for the respective component.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
decoding the value of zero for the components except the one component of the one attribute.

### Claim 11 (depends on 10)

The method of claim 10, wherein decoding the value of zero for the components except the one component of the one attribute comprises decoding the value of zero for the components except the one component of the one attribute before decoding the value of the one component.

### Claim 12 (depends on 11)

The method of claim 11,
wherein, in a processing order, the one component is processed before the components except the one component, and
wherein decoding the value of zero for the components except the one component of the one attribute before decoding the value of the one component comprises decoding, in a decoding order different than the processing order, the value of zero for the components except the one component, wherein, in the decoding order, the one component is decoded after the components except the one component.

### Claim 13 (depends on 11)

The method of claim 11, wherein the one attribute is a color attribute, wherein the one component of the one attribute is a luma component, and wherein the components except the one component include chroma components.

### Claim 14 (depends on 9)

The method of claim 9, wherein the one point comprises a first point, the method further comprising:
in a condition where residual values for at least two components of one attribute of a second point in the point cloud are not equal to zero, decoding the residual values for the components of the one attribute of the second point.

### Claim 15 (depends on 9)

The method of claim 9, wherein the one attribute comprises at least one of a color, frame number, humidity, temperature, surface normal, a combination of humidity and temperature, or a combination of color and surface normal.

### Claim 16 (depends on 9)

The method of claim 9, wherein the offset is equal to 1.

### Claim 17

A device for encoding a point cloud, the device comprising:
one or more memories configured to store the point cloud; and
processing circuitry configured to:
determine respective residual values for each component of a plurality of components of one attribute of one point in the point cloud, wherein each respective residual value is based on a difference between a respective value of each component and a respective predictor for each component;
in a condition where the residual values for all components of the plurality of components of the one attribute of the one point in the point cloud except one component of the plurality of components of the one attribute are equal to zero, determine a value for the one component that is equal to a magnitude of a residual value of the one component of the one attribute minus an offset;
encode the value of the one component; and
signal the encoded value in a bitstream.

### Claim 18 (depends on 17)

The device of claim 17, wherein the processing circuitry is configured to:
encode the value of zero for the components except the one component of the one attribute; and
signal the encoded value of zero for the components except the one component of the one attribute.

### Claim 19 (depends on 18)

The device of claim 18, wherein to encode the value of zero for the components except the one component of the one attribute, the processing circuitry is configured to encode the value of zero for the components except the one component of the one attribute before encoding the value of the one component.

### Claim 20 (depends on 19)

The device of claim 19,
wherein, in a processing order, the one component is processed before the components except the one component, and
wherein to encode the value of zero for the components except the one component of the one attribute before encoding the value of the one component, the processing circuitry is configured to encode, in an encoding order different than the processing order, the value of zero for the components except the one component, wherein, in the encoding order, the one component is encoded after the components except the one component.

### Claim 21 (depends on 19)

The device of claim 19, wherein the one attribute is a color attribute, wherein the one component of the one attribute is a luma component, and wherein the components except the one component include chroma components.

### Claim 22 (depends on 17)

The device of claim 17, wherein the one point comprises a first point, and wherein the processing circuitry is configured to:
in a condition where residual values for at least two components of one attribute of a second point in the point cloud are not equal to zero, encode the residual values for the components of the one attribute of the second point.

### Claim 23 (depends on 17)

The device of claim 17, wherein the one attribute comprises at least one of color, frame number, humidity, temperature, surface normal, a combination of humidity and temperature, or a combination of color and surface normal.

### Claim 24 (depends on 17)

The device of claim 17, wherein the offset is equal to 1.

### Claim 25 (depends on 17)

The device of claim 17, wherein the processing circuitry is configured to generate the point cloud.

### Claim 26 (depends on 25)

The device of claim 25, wherein the processing circuitry is configured to, as part of generating the point cloud, generate the point cloud based on signals from a LIDAR apparatus.

### Claim 27 (depends on 17)

The device of claim 17, wherein the device is one of a mobile phone or tablet computer.

### Claim 28 (depends on 17)

The device of claim 17, wherein the device is a vehicle.

### Claim 29 (depends on 17)

The device of claim 17, wherein the device is an extended reality device.

### Claim 30 (depends on 17)

The device of claim 17, wherein the device comprises an interface configured to transmit data of the point cloud.

### Claim 31

A device for decoding a point cloud, the device comprising:
one or more memories configured to store the point cloud; and
processing circuitry configured to:
decode values for a plurality of components of one attribute of one point in the point cloud, the values indicative of residual values for the plurality of components;
in a condition where residual values for all components of the plurality of components except one component of the plurality of components of the one attribute are equal to zero, add an offset to a decoded value for the one component of the one attribute to determine a magnitude of a residual value for the one component; and
reconstruct the components of the one attribute of the one point based on the residual values for the components, wherein to reconstruct the components, the processing circuitry is configured to add a respective residual value, of the residual values, for a respective component of the plurality of components to a respective predictor for the respective component.

### Claim 32 (depends on 31)

The device of claim 31, wherein the processing circuitry is configured to:
decode the value of zero for the components except the one component of the one attribute.

### Claim 33 (depends on 32)

The device of claim 32, wherein to decode the value of zero for the components except the one component of the one attribute, the processing circuitry is configured to decode the value of zero for the components except the one component of the one attribute before decoding the value of the one component.

### Claim 34 (depends on 33)

The device of claim 33,
wherein, in a processing order, the one component is processed before the components except the one component, and
wherein to decode the value of zero for the components except the one component of the one attribute before decoding the value of the one component, the processing circuitry is configured to decode, in a decoding order different than the processing order, the value of zero for the components except the one component, wherein, in the decoding order, the one component is decoded after the components except the one component.

### Claim 35 (depends on 33)

The device of claim 33, wherein the one attribute is a color attribute, wherein the one component of the one attribute is a luma component, and wherein the components except the one component include chroma components.

### Claim 36 (depends on 31)

The device of claim 31, wherein the one point comprises a first point, and wherein the processing circuitry is configured to:
in a condition where residual values for at least two components of one attribute of a second point in the point cloud are not equal to zero, decode the residual values for the components of the one attribute of the second point.

### Claim 37 (depends on 31)

The device of claim 31, wherein the one attribute comprises at least one of color, frame number, humidity, temperature, surface normal, a combination of humidity and temperature, or a combination of color and surface normal.

### Claim 38 (depends on 31)

The device of claim 31, wherein the offset is equal to 1.

### Claim 39 (depends on 31)

The device of claim 31, wherein the processing circuitry is configured to generate a map of an interior of a building based on the reconstructed components.

### Claim 40 (depends on 31)

The device of claim 31, wherein the processing circuitry is configured to perform an autonomous navigation operation based on the reconstructed components.

### Claim 41 (depends on 31)

The device of claim 31, wherein the processing circuitry is configured to generate computer graphics based on the reconstructed components.

### Claim 42 (depends on 41)

The device of claim 41, wherein the processing circuitry is configured to:
determine a position of a virtual object based on the reconstructed components; and
generate an extended reality (XR) visualization in which the virtual object is at the determined position.

### Claim 43 (depends on 31)

The device of claim 31, wherein the device is one of a mobile phone or tablet computer.

### Claim 44 (depends on 31)

The device of claim 31, wherein the device is a vehicle.

### Claim 45 (depends on 31)

The device of claim 31, wherein the device is an extended reality device.

### Claim 46 (depends on 31)

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

### Claim 47

A computer-readable storage medium storing instructions thereon that when executed cause one or more processors of a device for encoding a point cloud to:
determine respective residual values for each component of a plurality of components of one attribute of one point in the point cloud, wherein each respective residual value is based on a difference between a respective value of each component and a respective predictor for each component;
in a condition where the residual values for all components of the plurality of components of the one attribute of the one point in the point cloud except one component of the plurality of components of the one attribute are equal to zero, determine a value for the one component that is equal to a magnitude of a residual value of the one component of the one attribute minus an offset;
encode the value of the one component; and
signal the encoded value in a bitstream.

### Claim 48

A computer-readable storage medium storing instructions thereon that when executed cause one or more processors of a device for decoding a point cloud to:
decode values for a plurality of components of one attribute of one point in the point cloud, the values indicative of residual values for the plurality of components;
in a condition where residual values for all components of the plurality of components of the one attribute except one component of the plurality of components of the one attribute are equal to zero, add an offset to a decoded value for the one component of the one attribute to determine a magnitude of a residual value for the one component; and
reconstruct the components of the one attribute of the one point based on the residual values for the components, wherein the instructions that cause the one or more processors to reconstruct the components comprise instructions that cause the one or more processors to add a respective residual value, of the residual values, for a respective component of the plurality of components to a respective predictor for the respective component.

### Claim 49 (depends on 17)

The device of claim 17, wherein the processing circuitry is configured to determine that the residual values for all components except the one component of the one attribute of the one point in the point cloud are equal to zero, and based on the determination that the residual values for all components of the plurality of components of the one attribute of the one point in the point cloud except the one component of the plurality of components of the one attribute are equal to zero, determine the value for the one component that is equal to the magnitude of the residual value of the one component of the one attribute minus the offset.

### Claim 50 (depends on 31)

The device of claim 31, wherein the processing circuitry is configured to determine that the residual values for all components except the one component of the one attribute are equal to zero, and based on the determination that the residual values for all components of the plurality of components except the one component of the plurality of components of the one attribute are equal to zero, add the offset to the decoded value for the one component of the one attribute to determine the magnitude of the residual value for the one component.
