# US 10,372,728 B2 · System and method providing a scalable and efficient space filling curve approach to point cloud feature generation

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

- Number: US 10,372,728 B2
- Document ID: US10372728B2
- Status: Granted
- Kind: B2
- Application number: 15/267,275
- Filed: 2016-09-16
- Published: 2018-03-22
- Granted: 2019-08-06
- Earliest claimed: 2016-09-16
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Michael Axel Ludwig Horhammer; Siva K. Ravada; Cheng-Hua Wang
- Web page: https://patentgrep.com/patent/US10372728B2

## CPC

- G06F 16/283: {Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methods, and other embodiments are disclosed for identifying features within point cloud data. In one embodiment, point cloud data is read which represents multiple points of at least one point cloud in a multi-dimensional space. Each point in the point cloud data is defined by an attribute value quantifying an attribute of the point and a set of coordinates specifying a location of the point in the multi-dimensional space. The set of coordinates for each point is transformed into a space-filling distance value representing a distance along a space-filling curve. The points are sorted according to the space-filling distance values to generate a sorted order of the points. The points are traversed in the sorted order and output data points are derived, while traversing the points, based on a specified feature criterion. The output data points identify a feature within the at least one point cloud.

## Claims

### Claim 1

A computer-implemented method performed by at least a processor for executing instructions from a memory, the method comprising:
specifying, via at least the processor, at least one feature criterion;
reading point cloud data of at least one point cloud from at least one data structure via at least the processor, wherein the point cloud data represents a plurality of points of the at least one point cloud in a multi-dimensional space, and wherein each point of the plurality of points is defined by:
at least one attribute value of an attribute of the point, and
a set of coordinates in the multi-dimensional space for the point;
transforming, via at least the processor, the set of coordinates for each point of the plurality of points into a space-filling distance value representing a distance along a single dimensional space-filling curve;
sorting, via at least the processor, the plurality of points according to the space-filling distance value of each point of the plurality of points to generate a sorted order of the plurality of points;
traversing the plurality of points in the sorted order via at least the processor; and
deriving output data points during the traversing based on the at least one feature criterion, wherein the output data points identify at least one feature within the at least one point cloud.

### Claim 2 (depends on 1)

The method of claim 1, further comprising outputting, via at least the processor, the output data points in a point cloud format.

### Claim 3 (depends on 1)

The method of claim 1, further comprising transforming, via at least the processor, the output data points into a vector format.

### Claim 4 (depends on 1)

The method of claim 1, wherein the at least one feature represents an iso-line through the at least one point cloud, and wherein the at least one feature criterion is a condition of crossing a specified attribute boundary value when traversing the plurality of points in the sorted order.

### Claim 5 (depends on 1)

The method of claim 1, wherein the at least one feature represents an iso-surface through the at least one point cloud, and wherein the at least one feature criterion is a condition of crossing a specified attribute boundary value when traversing the plurality of points in the sorted order.

### Claim 6 (depends on 1)

The method of claim 1, wherein the at least one feature represents a planar cross-section through the at least one point cloud, and wherein the at least one feature criterion is a condition of crossing a user-specified plane of points specified within the multi-dimensional space.

### Claim 7 (depends on 1)

The method of claim 1, wherein the at least one feature represents an intersection of a first point cloud and a second point cloud of the at least one point cloud represented in the multi-dimensional space.

### Claim 8 (depends on 1)

The method of claim 1, further comprising controlling user specification of the at least one feature criterion via a graphical user interface or an application program interface.

### Claim 9 (depends on 1)

The method of claim 1, wherein the single dimensional space-filling curve is a Hilbert curve.

### Claim 10 (depends on 1)

The method of claim 1, wherein the attribute includes one of intensity, elevation, color, density, temperature, return number, or number-of-occurrences.

### Claim 11

A database system, comprising:
a processor;
a data cache configured to store at least one record of point cloud data, wherein the at least one record of point cloud data represents a plurality of points of at least one point cloud in a multi-dimensional space, and wherein each point of the plurality of points is defined by:
at least one attribute value of an attribute of the point, and
a set of coordinates in the multi-dimensional space for the point;
a read/write module stored in a non-transitory computer-readable medium including instructions that when executed cause the processor to read the at least one record of the point cloud data from the data cache;
a transforming module stored in the non-transitory computer-readable medium including instructions that when executed cause the processor to transform the set of coordinates for each point of the plurality of points into a space-filling distance value representing a distance along a single dimensional space-filling curve, wherein the single dimensional space-filling curve is a Hilbert curve;
a sorting module stored in the non-transitory computer-readable medium including instructions that when executed cause the processor to sort the plurality of points according to the space-filling distance value of each point of the plurality of points to generate a sorted order of the plurality of points;
an analysis module stored in the non-transitory computer-readable medium including instructions that when executed cause the processor to perform:
traversing of the plurality of points in the sorted order, and
deriving of output data points during the traversing based on at least one specified feature criterion, wherein the output data points identify at least one feature within the at least one point cloud.

### Claim 12 (depends on 11)

The database system of claim 11, further comprising a vectorization module stored in the non-transitory computer-readable medium including instructions that when executed cause the processor to transform the output data points into a vector format.

### Claim 13 (depends on 11)

The database system of claim 11, wherein the read/write module stored in the non-transitory computer-readable medium further includes instructions that when executed cause the processor to write the output data points to the data cache.

### Claim 14 (depends on 11)

The database system of claim 11, wherein the attribute includes one of intensity, elevation, color, density, temperature, return number, or number-of-occurrences.

### Claim 15 (depends on 11)

The database system of claim 11, further comprising a visual user interface module stored in the non-transitory computer-readable medium including instructions that when executed cause the processor to provide a graphical user interface that controls user specification of the at least one specified feature criterion.

### Claim 16 (depends on 15)

The database system of claim 15, further comprising a display screen configured to display and facilitate user interaction with at least the graphical user interface provided by the visual user interface module.

### Claim 17

A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a computing device, cause the computing device to at least:
control a reading of point cloud data of at least one point cloud from at least one data structure via the one or more processors, wherein the point cloud data represents a plurality of points of the at least one point cloud in a multi-dimensional space, and wherein each point of the plurality of points is defined by:
at least one attribute value of an attribute of the point, wherein the attribute includes one of intensity, elevation, color, density, temperature, return number, or number-of-occurrences; and
a set of coordinates in the multi-dimensional space for the point;
control a transforming of, via the one or more processors, the set of coordinates for each point of the plurality of points into a space-filling distance value representing a distance along a single dimensional space-filling curve;
control a sorting of, via the one or more processors, the plurality of points according to the space-filling distance value of each point of the plurality of points to generate a sorted order of the plurality of points;
control a traversing of, via the one or more processors, the plurality of points in the sorted order; and
generating, via the one or more processors, output data points during the traversing based on at least one specified feature criterion, wherein the output data points identify at least one feature within the at least one point cloud.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the instructions further comprise instructions that, when executed by the one or more processors, cause the computing device to at least control user specification of the at least one specified feature criterion via a graphical user interface or an application program interface.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17:
wherein the single dimensional space-filling curve is a Hilbert curve.
