# US 2023/0053544 A1 · In-tree geometry quantization 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 2023/0053544 A1
- Document ID: US20230053544A1
- Status: Published application
- Kind: A1
- Application number: 17/791,692
- Filed: 2021-01-08
- Published: 2023-02-23
- Earliest claimed: 2020-01-08
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: David Flynn; Khaled Mammou; Fabrice A. Robinet
- Web page: https://patentgrep.com/patent/US20230053544A1

## CPC

- G06T 9/40: Tree coding, e.g. quadtree, octree
- H04N 19/126: Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
- G06T 9/001: {Model-based coding, e.g. wire frame}
- G06T 17/005: {Tree description, e.g. octree, quadtree}
- H04N 19/174: the region being a slice, e.g. a line of blocks or a group of blocks
- H04N 19/597: specially adapted for multi-view video sequence encoding
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/96: Tree coding, e.g. quad-tree coding
- G06T 2210/56: Particle system, point based geometry or rendering
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An example method includes receiving (502) a plurality of points that represent a point cloud; representing a position of the point in each dimension of a three-dimensional space as a sequence of bits (504), where the position of the point is encoded according to a tree data structure; partitioning (506) at least one of the sequences of bits into a first portion of bits and a second portion of bits; quantizing (508) each of the second portions of bits according to a quantization step size, where the quantization step size is determined according to an exponential function having a quantization parameter value as an input and the quantization step size as an output; and generating (510) a data structure representing the point cloud and including the quantized second portions of bits.

## Claims

### Claim at position 1

-27. (canceled)

### Claim 28

A method comprising:
receiving, by a computer system, a data structure representing a plurality of points in a point cloud in three-dimensional space;
decoding, by the computer system, the data structure to determine one or more sequences of bits, wherein each of the sequences of bits represents a position of one of the points in one of the dimensions of the three-dimensional space, and wherein the data structure is decoded according to a tree data structure;
partitioning, by the computer system, at least one of the sequences of bits into a first portion of bits and a second portion of bits,
scaling, by the computer system, each of the second portions of bits according to a quantization step size, wherein the quantization step size is determined according to an exponential function having a quantization parameter value as an input and the quantization step size as an output;
generating, by the computer system, a reconstructed point position of at least one of the points by combining, for each of the at least one of the points, the first portion of bits and the scaled second portion of bits corresponding to that point; and
outputting, by the computer system, the reconstructed point position of the least one of the points.

### Claim 29 (depends on 28)

The method of claim 28, wherein the tree data structure is an octree.

### Claim 30 (depends on 28)

The method of claim 28, wherein partitioning at east one of the sequences of bits comprises:
partitioning at least one of the sequences of bits such that each of the first portions of bits includes the first d bits from a corresponding one of the sequences of bits, wherein d is a scaling depth of the tree data structure, and
partitioning at least one of the sequences of bits such that each of the second portions of bits includes a remainder of bits from the corresponding one of the sequences of bits.

### Claim 31 (depends on 28)

The method of claim 28, wherein scaling each of the second portions of bits comprises multiplying a numerical value indicated by each of the second portions of bits by the quantization step size.

### Claim 32 (depends on 28)

The method of claim 28, wherein at least one of the quantization step size or the quantization parameter value is indicated in the data structure.

### Claim 33 (depends on 28)

The method of claim 28, wherein the exponential function is selected such that, for positive integer quantization parameter values, a majority of the quantization step sizes outputted by the exponential function are integers.

### Claim 34 (depends on 28)

The method of claim 28, wherein the exponential function is selected such that, for positive integer quantization parameter values, N of the quantization step sizes outputted by the exponential function are non-integers, wherein N=(p×log2 p+1, and wherein p is the number of quantization parameters per doubling of the quantization step size.

### Claim 35 (depends on 28)

The method of claim 28, wherein the exponential function is QS=(1×0.125×mod[QP, 8])×2└QP/8┘, wherein QS is the quantization step size, and QP is the quantization parameter value.

### Claim 36 (depends on 28)

The method of claim 28, further comprising rendering three-dimensional content based on the reconstructed point position of the least one of the points, wherein the three-dimensional content is at least one of virtual reality content or augmented reality content.

### Claim 37

A device comprising:
one or more processors; and
memory storing instructions that when executed by the one or more processors, cause the one or more processors to perform operations comprising:
receiving a data structure representing a plurality of points in a point cloud in three-dimensional space;
decoding the data structure to determine one or more sequences of bits, wherein each of the sequences of bits represents a position of one of the points in one of the dimensions of the three-dimensional space, and wherein the data structure is decoded according to a tree data structure;
partitioning at least one of the sequences of bits into a first portion of bits and a second portion of bits;
scaling each of the second portions of bits according to a quantization step size, wherein the quantization step size is determined according to an exponential function having a quantization parameter value as an input and the quantization step size as an output;
generating a reconstructed point position of at least one of the points by combining, for each of the at least one of the points, the first portion of bits and the scaled second portion of bits corresponding to that point; and
outputting the reconstructed point position of the least one of the points.

### Claim 38 (depends on 37)

The device of claim 37, wherein the tree data structure is an octree.

### Claim 39 (depends on 37)

The device of claim 37, wherein partitioning at least one of the sequences of bits comprises:
partitioning at least one of the sequences of bits such that each of the first portions of bits includes the first d bits from a corresponding one of the sequences of bits, wherein d is a scaling depth of the tree data structure, and
partitioning at least one of the sequences of bits such that each of the second portions of bits includes a remainder of bits from the corresponding one of the sequences of bits.

### Claim 40 (depends on 37)

The device of claim 37, wherein scaling each of the second portions of bits comprises multiplying a numerical value indicated by each of the second portions of bits by the quantization step size.

### Claim 41 (depends on 37)

The device of claim 37, wherein at least one of the quantization step size or the quantization parameter value is indicated in the data structure.

### Claim 42 (depends on 37)

The device of claim 37, wherein the exponential function is selected such that, for positive integer quantization parameter values, a majority of the quantization step sizes outputted by the exponential function are integers.

### Claim 43 (depends on 37)

The device of claim 37, wherein the exponential function is selected such that, for positive integer quantization parameter values, N of the quantization step sizes outputted by the exponential function are non-integers, wherein N=×log2p)−p+1, and wherein p is the number of quantization parameters per doubling of the quantization step size.

### Claim 44 (depends on 37)

The device of claim 37, wherein the exponential function is QS=(1+0.125×mod[QP, 8])×2└QP/8┘, wherein QS is the quantization step size, and QP is the quantization parameter value.

### Claim 45 (depends on 37)

The device of claim 37, the operations further comprising rendering three-dimensional content based on the reconstructed point position of the least one of the points, wherein the three-dimensional content is at least one of virtual reality content or augmented reality content.

### Claim 46

A non-transitory, computer-readable storage medium having instructions stored thereon, that when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving a data structure representing a plurality of points in a point cloud in three-dimensional space;
decoding the data structure to determine one or more sequences of bits, wherein each of the sequences of bits represents a position of one of the points in one of the dimensions of the three-dimensional space, and wherein the data structure is decoded according to a tree data structure;
partitioning at least one of the sequences of bits into a first portion of bits and a second portion of bits;
scaling each of the second portions of bits according to a quantization step size, wherein the quantization step size is determined according to an exponential function having a quantization parameter value as an input and the quantization step size as an output;
generating a reconstructed point position of at least one of the points by combining, for each of the at least one of the points, the first portion of bits and the scaled second portion of bits corresponding to that point; and
outputting the reconstructed point position of the least one of the points.

### Claim 47 (depends on 46)

The non-transitory, computer-readable storage medium of claim 46, wherein the tree data structure is an octree.

### Claim at position 22

-54. (canceled)
