# US 10,769,846 B2 · Point cloud data compression in an autonomous vehicle

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

- Number: US 10,769,846 B2
- Document ID: US10769846B2
- Status: Granted
- Kind: B2
- Application number: 16/158,262
- Filed: 2018-10-11
- Published: 2020-04-16
- Granted: 2020-09-08
- Earliest claimed: 2018-10-11
- Assignees: GM Global Technology Operations LLC
- Applicants: GM Global Technology Operations LLC
- Inventors: Georgios Georgiou
- Web page: https://patentgrep.com/patent/US10769846B2

## CPC

- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- G06T 17/05: Geographic models
- G05D 1/0088: {characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours (using knowledge based models G06N5/00)}
- G05D 1/0251: {extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision (stereoscopic image analysis H04N13/00; depth recovery from images G06T7/593)}
- 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)
- G06V 20/56: exterior to a vehicle by using sensors mounted on the vehicle
- G06V 20/64: Three-dimensional [3D] objects
- G06T 2210/56: Particle system, point based geometry or rendering
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

Autonomous vehicles and techniques that can be utilized to compress point cloud data and operate on compressed point cloud data are provided. An autonomous vehicle can include a data compression system can configure point cloud data according to a collection of three-dimensional (3D) tiles representative of the region. Each 3D tile can include a portion of the cloud point data, where each point vector in the portion of the cloud point data can be configured relative to a position vector of the 3D tile defined in a coordinate system of the collection of 3D tiles. The data compression system can utilize a fixed-point Q-format representation based on a defined number of bits to compress at least a portion of the point cloud data. The autonomous vehicle also can include a control system that can operate mathematically on compressed point cloud data, without reliance on prior decompression.

## Claims

### Claim 1

An autonomous vehicle comprising:
a sensor system that generates point cloud data representative of a region relative to the autonomous vehicle; and
a computing system functionally coupled to the sensor system, the computing system comprising:
at least one processor and
at least one memory device functionally coupled to the at least one processor, the at least one memory device having instructions encoded thereon that, in response to execution by the at least one processor, cause the computing system to perform operations comprising:
generating a lattice representation of the region, the lattice representation including three-dimensional (3D) tiles relative to an origin of a defined coordinate system;
identifying a portion of the point cloud data that corresponds to a first 3D tile of the 3D tiles, the portion of the point cloud data including point vectors expressed in the defined coordinate system, and the first 3D tile having a tile position vector relative to the origin of the defined coordinate system;
configuring a first point vector of the point vectors as a superposition of the tile position vector and a first offset vector relative to the tile position vector;
compressing the first offset vector using an integer representation having a defined number of bits, the integer representation based at least on a fixed-point Q-format representation and the compressing including:
generating an integer first point coordinate; and
replacing the first point coordinate by a rational number based at least on the integer first point coordinate; and
storing the compressed first offset vector in a first memory device of the at least one memory device.

### Claim 2 (depends on 1)

The autonomous vehicle of claim 1, wherein the sensor system comprises at least one of a lidar sensor system, a radar sensor system, or an imaging sensor system.

### Claim 3 (depends on 1)

The autonomous vehicle of claim 1, wherein the defined number of bits is one of 8 bits, 16 bits, or 32 bits.

### Claim 4 (depends on 1)

The autonomous vehicle of claim 1, wherein the generating the lattice representation comprises generating a cubic lattice comprising cubes corresponding to the 3D tiles, each one of the cubes having a side length corresponding to a defined power of two and expressed in a defined unit of length.

### Claim 5 (depends on 4)

The autonomous vehicle of claim 4, wherein the compressing comprises configuring the scaling factor to a second defined power of two having an exponent equal to a difference between the defined number of bits and an exponent of the defined power of two.

### Claim 6 (depends on 1)

The autonomous vehicle of claim 1, wherein the compressing comprises configuring the defined number of bits to be 16 bits and further configuring the scaling factor to 29.

### Claim 7 (depends on 1)

The autonomous vehicle of claim 1, wherein the operations further comprise operating on at least the compressed first offset vector using an algebra that includes arithmetic operations based at least on the fixed-point Q-format representation, wherein the operating includes implementing a process to control, at least partially, the operation of the autonomous vehicle.

### Claim 8 (depends on 7)

The autonomous vehicle of claim 7, further comprising a vehicle propulsion system, a braking system, and a steering system, wherein the operations further comprise controlling at least one of the vehicle propulsion system, the braking system, or the steering system using at least a result of the implemented process.

### Claim 9 (depends on 8)

The autonomous vehicle of claim 8, wherein the operations further comprise:
compressing a portion of the point cloud data using the integer representation having the defined number of bits;
receiving second point cloud data; and
compressing a portion of the second point cloud data using the integer representation having the defined number of bits;
wherein the implementing the process comprises implementing a scene registration process between the compressed portion of the point cloud data and the compressed portion of the second point cloud data.

### Claim 10 (depends on 9)

The autonomous vehicle of claim 9, wherein the implementing the scene registration process comprises implementing at least one of a principal component analysis (PCA) process, a single value decomposition (SVD) process, or an iterative closest point (ICP) process.

### Claim 11

A method, comprising:
generating point cloud data by a sensor system of an autonomous vehicle, the point cloud data associated with a region at least neighboring the autonomous vehicle;
generating a lattice representation of the region by a computing compression system of the autonomous vehicle, the lattice representation including three-dimensional (3D) tiles relative to an origin of a defined coordinate system;
identifying, by the computing compression system, a portion of the point cloud data that corresponds to a first 3D tile of the 3D tiles, the portion of the point cloud data including point vectors expressed in the defined coordinate system, and the first 3D tile having a tile position vector relative to the origin of the defined coordinate system;
configuring, by the computing compression system, a first point vector of the point vectors as a superposition of the tile position vector and a first offset vector relative to the tile position vector;
compressing, by the computing compression system, the first offset vector using an integer representation having a defined number of bits, the integer representation based at least on a fixed-point Q-format representation and the compressing including:
multiplying a first point coordinate of the first offset vector by a scaling factor based on the defined number of bits, resulting in an integer first point coordinate, and
replacing the first point coordinate by the integer first point coordinate, resulting in a compressed first offset vector; and
storing, by the computing compression system, the compressed first offset vector in a memory device of the autonomous vehicle.

### Claim 12 (depends on 11)

The method of claim 11, wherein the generating the lattice representation comprises configuring the first 3D tile to have a cube shape having a side length corresponding to a defined power of two and expressed in a defined unit of length.

### Claim 13 (depends on 12)

The method of claim 12, wherein the compressing comprises configuring the scaling factor to a second defined power of two having an exponent equal to a difference between the defined number of bits and an exponent of the defined power of two.

### Claim 14 (depends on 11)

The method of claim 11, wherein the compressing comprises configuring the defined number of bits to be 16 bits and further configuring the scaling factor to 29.

### Claim 15 (depends on 11)

The method of claim 11, further comprising operating, by a control system of the autonomous vehicle, on at least the compressed first offset vector using an algebra that includes arithmetic operations based at least on the fixed-point Q-format representation, wherein the operating includes implementing a process to control, at least partially, the operation of the autonomous vehicle.

### Claim 16 (depends on 15)

The method of claim 15, further comprising controlling, by the control system, a motion of the autonomous vehicle using at least a result of the implemented process.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
compressing, by the computing compression system, a portion of the point cloud data using the integer representation having the defined number of bits;
receiving second point cloud data; and
compressing, by the computing compression system, a portion of the second point cloud data using the integer representation having the defined number of bits;
wherein the implementing the process comprises implementing a scene registration process between the compressed portion of the point cloud data and the compressed portion of the second point cloud data.

### Claim 18

An autonomous vehicle, comprising:
at least one processor; and
at least one memory device functionally coupled to the at least one processor, the at least one memory device having instructions encoded thereon that, in response to execution, cause the at least one processor to perform or facilitate operations comprising:
receiving point cloud data representative of a region surrounding the autonomous vehicle;
generating a lattice representation of the region, the lattice representation including three-dimensional (3D) tiles relative to an origin of a defined coordinate system;
identifying a portion of the point cloud data that corresponds to a first 3D tile of the 3D tiles, the portion of the point cloud data including point vectors expressed in the defined coordinate system, and the first 3D tile having a tile position vector relative to the origin of the defined coordinate system;
configuring the point vectors as respective superpositions of the tile position vector and respective offset vectors relative to the tile position vector;
compressing the respective offset vectors using an integer representation having a defined number of bits; and
storing the compressed respective offset vectors in a memory device of the autonomous vehicle.

### Claim 19 (depends on 18)

The autonomous vehicle of claim 18, wherein the integer representation is based at least on a fixed-point Q-format representation, and wherein the compressing comprises:
multiplying a first point coordinate of the first offset vector by a scaling factor based on the defined number of bits, resulting in an integer first point coordinate, and replacing the first point coordinate by the integer first point coordinate.

### Claim 20 (depends on 19)

The autonomous vehicle of claim 19, wherein the scaling factor is determined by a subset of the defined number of bits, and wherein the first 3D tile has a cube shape having a side length corresponding to a defined power of two, the exponent of the defined power of two corresponding to a difference between the defined number of bits and the subset of the defined number of bits.
