# US 12,217,463 B2 · Adaptable and hierarchical point cloud compression

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

- Number: US 12,217,463 B2
- Document ID: US12217463B2
- Status: Granted
- Kind: B2
- Application number: 17/854,842
- Filed: 2022-06-30
- Published: 2024-01-04
- Granted: 2025-02-04
- Earliest claimed: 2022-06-30
- Assignees: Raytheon Company
- Applicants: Raytheon Company
- Inventors: Allen R. Hainline
- Web page: https://patentgrep.com/patent/US12217463B2

## CPC

- 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)
- H03M 7/3077: {Sorting}
- G06T 3/40: Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T 5/70: Denoising; Smoothing
- G06T 9/001: {Model-based coding, e.g. wire frame}
- H03M 7/70: {Type of the data to be coded, other than image and sound}
- H04N 19/597: specially adapted for multi-view video sequence encoding
- G06T 2207/10028: Range image; Depth image; 3D point clouds
- G06T 2207/20021: Dividing image into blocks, subimages or windows
- H03M 7/3086: {employing a sliding window, e.g. LZ77}
- H03M 7/6029: {Pipelining}
- H04N 19/124: Quantisation
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- 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

Systems and methods are provided for point cloud compression. An exemplary method includes: receiving point cloud data; quantizing the point cloud data to remove noise to produce quantized point cloud data; generating, using the quantized point cloud data, a plurality of multi-level tiles; performing reordering within the multi-level tiles to optimize a compression rate producing a plurality of reordered multi-level tiles; bit packing the reordered multi-level tiles minimizing bits required to store per tile header data producing a bit packed multi-level tile data; and performing additional compression on the bit-packed multi-level tile data using a first compression algorithm.

## Claims

### Claim 1

A system for compressing a point cloud, the system comprising:
one or more computing device processors; and
one or more computing device memories, coupled to the one or more computing device processors, the one or more computing device memories storing instructions executed by the one or more computing device processors, wherein the instructions are configured to:
receive point cloud data;
quantize the point cloud data to remove noise producing quantized point cloud data;
generate, using the quantized point cloud data, a plurality of multi-level tiles;
perform reordering of the multi-level tiles to optimize a compression rate producing a plurality of reordered multi-level tiles;
bit pack the reordered multi-level tiles minimizing bits required to store per tile header data producing a bit packed multi-level tile data; and
perform additional compression on the bit-packed multi-level tile data using a first compression algorithm.

### Claim 2 (depends on 1)

The system of claim 1, wherein while quantizing the point cloud data, the instructions are configured to quantize the point cloud data in a scaled, fixed-point binary format.

### Claim 3 (depends on 1)

The system of claim 1, wherein multi-level tiles comprise a plurality of tile configured to organize storage within tiles so that high-order bits are the same within a tile.

### Claim 4 (depends on 1)

The system of claim 1, wherein while performing reordering within the multi-level tiles, the instructions are configured to store attribute value relative to a minimum of a tile.

### Claim 5 (depends on 1)

The system of claim 1, wherein while performing reordering within the multi-level tiles, the instructions are configured to store attribute values relative to a neighboring value in a reordered set of points.

### Claim 6 (depends on 1)

The system of claim 1, wherein while performing reordering within the multi-level tiles, the instructions are configured to compute a maximum of a plurality of elevation values.

### Claim 7 (depends on 1)

The system of claim 1, wherein while performing reordering within the multi-level tiles, the instructions are configured to store attributes using run-length encoding.

### Claim 8 (depends on 1)

The system of claim 1, wherein while bit packing the reordered multi-level tiles, the instructions are configured to group a select number of the multi-level tiles to form a super-tile.

### Claim 9 (depends on 1)

The system of claim 1, wherein the first compression algorithm is a Lempel-Ziv-Markov chain algorithm (LZMA).

### Claim 10

A method for compressing a point cloud, the method comprising:
receiving point cloud data;
quantizing the point cloud data to remove noise producing quantized point cloud data;
generating, using the quantized point cloud data, a plurality of multi-level tiles;
performing reordering within the multi-level tiles to optimize a compression rate producing a plurality of reordered multi-level tiles;
bit packing the reordered multi-level tiles minimizing bits required to store per tile header data producing a bit packed multi-level tile data; and
performing additional compression on the bit-packed multi-level tile data using a first compression algorithm.

### Claim 11 (depends on 10)

The method of claim 10, wherein quantizing the point cloud data comprises quantizing the point cloud data in a scaled, fixed-point binary format.

### Claim 12 (depends on 10)

The method of claim 10, wherein multi-level tiles comprise a plurality of tile configured to organize storage within tiles so that high-order bits are the same within a multi-level tile.

### Claim 13 (depends on 10)

The method of claim 10, wherein performing reordering within the multi-level tiles comprises storing attribute value relative to the minimum of a tile.

### Claim 14 (depends on 10)

The method of claim 10, wherein performing reordering within the multi-level tiles comprises storing attribute values relative to a neighboring value in a reordered set of points.

### Claim 15 (depends on 10)

The method of claim 10, wherein performing reordering within the multi-level tiles comprises computing a maximum of a plurality of elevation values.

### Claim 16 (depends on 10)

The method of claim 10, wherein performing reordering within the multi-level tiles comprises storing attributes using a run-length encoding.

### Claim 17 (depends on 10)

The method of claim 10, wherein bit packing the reordered multi-level tiles comprises grouping a select number of the multi-level tiles to form a super-tile.

### Claim 18 (depends on 17)

The method of claim 17, wherein bit packing the reordered multi-level tiles comprises determining a minimum elevation within the super-tile.

### Claim 19 (depends on 10)

The method of claim 10, wherein the first compression algorithm is a Lempel-Ziv-Markov chain algorithm (LZMA).

### Claim 20

A non-transitory computer-readable storage medium storing instructions which when executed by a computer cause the computer to perform a method for compressing a point cloud, the method comprising:
receiving point cloud data;
quantizing the point cloud data to remove noise producing quantized point cloud data;
generating, using the quantized point cloud data, a plurality of multi-level tiles;
performing reordering within the multi-level tiles to optimize a compression rate producing a plurality of reordered multi-level tiles;
bit packing the reordered multi-level tiles minimizing bits required to store per tile header data producing a bit packed multi-level tile data; and
performing additional compression on the bit-packed multi-level tile data using a first compression algorithm.
