GPU Octree Construction via Lookup Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods struggle to construct a complete octree data structure directly on a graphics processing unit (GPU) due to memory allocation and pointer creation issues, resulting in incomplete octrees like probability octrees that lack necessary information for surface reconstruction applications.

Innovation Solution

The development of a system and method to construct a complete octree data structure on a GPU, including node, vertex, edge, and face arrays, with neighborhood information, using parallel primitives and pre-computed look-up tables to efficiently compute neighboring nodes and additional arrays, enabling real-time construction of complete octrees.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If an octree is constructed directly on a GPU using parallel processing, then processing speed and real-time performance are improved, but memory allocation and pointer creation become more difficult

Engineering Contradiction:
Improveoctree construction speedVSAvoidmemory allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the octree construction process into distinct phases: point cloud processing, node creation, neighbor identification, and array generation. Each phase is handled by specific GPU kernels that operate independently, allowing parallel processing while managing memory allocation systematically. This segmentation resolves the contradiction by breaking down the complex memory management into manageable, parallelizable steps.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate data structures and temporary buffers as mediators between the GPU's parallel processing capabilities and the final octree structure. These intermediaries include temporary node arrays, neighbor lists, and lookup tables that facilitate memory allocation on the GPU without requiring complex pointer manipulation. This intermediary approach allows fast parallel processing while simplifying memory management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a probability octree is built on a GPU for adaptive clustering, then specific application performance is improved, but completeness of the octree data structure is reduced

Engineering Contradiction:
Improveadaptive clustering performanceVSAvoidoctree data structure completeness
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent performs preliminary actions by pre-computing and storing neighbor information, vertex data, edge data, and face data in lookup tables before the main octree construction. This preliminary preparation ensures that when the octree is built on the GPU, all necessary information is already available, preventing data loss and ensuring structural completeness while maintaining the performance benefits of GPU acceleration.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent transforms the probability octree concept into a complete octree by changing key parameters: instead of storing only probability values, the structure stores complete geometric information including vertices, edges, faces, and neighbor relationships. This parameter transformation maintains GPU compatibility while achieving full octree completeness for surface reconstruction applications.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If CPU-based octree construction is used, then complete octree data structure is achieved, but processing speed and real-time performance are reduced

Engineering Contradiction:
Improveoctree data structure completenessVSAvoidoctree construction speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the traditional CPU-based sequential construction mechanism with a GPU-based parallel processing mechanism. By substituting the mechanical sequential execution model with parallel graphics processing, the system achieves both complete octree construction and real-time performance. The substitution involves rewriting the construction algorithm in terms of GPU-compatible operations using compute shaders and parallel reduction techniques.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8169434B2Octree construction on graphics processing units
Publication Date: 2012.05.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8169434B2 patent drawing
  • US8169434B2 patent drawing
  • US8169434B2 patent drawing

AI summary

An octree GPU construction system and method for constructing a complete octree data structure on a graphics processing unit (GPU). Embodiments of the octree GPU construction system and method first defines a complete octree data structure as forming a complete partition of the 3-D space and including a vertex, edge, face, and node arrays, and neighborhood information. Embodiments of the octree GPU construction system and method input a point cloud and construct a node array. Next, neighboring nodes are computed for each of the nodes in the node arrays by using at least two pre-computed look-up tables (such as a parent look-up table and a child look-up table). Embodiments of the octree GPU construction system and method then use the neighboring nodes and neighborhood information to compute a vertex array, edge array, and face array are computed by determining owner information and self-ownership information based on the neighboring nodes.