← Back to projects
3D data · Representation research · ZFP

Point-Cloud Compression

I investigated preconditioning techniques for 3D point clouds to improve their compressibility—starting with image-based representations and progressing to structure-aware ZFP experiments.

Point cloudsImage codingZFPLZ4LASzipExperimental evaluation
The encoded PNG: a narrow 56-pixel-wide strip in which each pixel channel carries part of an XYZ coordinate.
Encoded PNG — XYZ in image channels 56 × 2591 px, shown at native size
The decoded point cloud: the Stanford Bunny reconstructed from the encoded image.
Decoded point cloud 35,947 vertices recovered from the image above

Method 1 encodes coordinates into image channels, then lets a lossless image codec do the work. Stanford Bunny, 35,947 vertices.

435.289 kB → 388.656 kB · −10.71% · median XYZ error 0.0617

00 / Interactive experiment

What happens when 3D coordinates are treated like image bytes?

This clean reproduction uses the 35,947-vertex Stanford Bunny. The original float32 XYZ payload is reshaped into an image-compatible byte layout, encoded, decoded, and rebuilt as a point cloud. Rotate the result to see how lossy image compression can leave shadows or aliases of the geometry.

Interactive representation experiment

See image coding alter a 3D point cloud.

Rotate the Stanford Bunny, compare the original XYZ cloud against the PNG- and JPEG-decoded payloads, and overlay all three to inspect geometric shadows and aliases.

Active view 00 · Original 35,947 float32 XYZ points.
Loading the Bunny comparison…

Two fingers to rotate · pinch to zoom

Original PNG decoded JPEG decoded

PNG reconstructed this payload bit-for-bit. JPEG quality 100 changed 42.4% of payload bytes; its median XYZ error was 0.0617 in the source coordinate units.

01 / What I am investigating

Can representation engineering make irregular points easier to compress?

A point cloud is often stored as an unordered list of XYZ values. Generic compressors see neighbouring rows in memory, not neighbouring points in space. My work tests whether image layouts, ordering, spherical coordinates, compact indices, and controlled precision can expose enough structure for numerical compressors to become effective.

ReduceStorage and transmission load
PreserveUseful 3D geometry
AccountDecoder metadata and point order
ExplainWhere each saving actually comes from
02 / Research problem

A smaller stream is meaningful only when the decoded cloud remains useful.

LiDAR produces large spatial datasets for autonomous driving, mapping, digital twins, and robotics. Compression can reduce storage and network demand, but file size alone is an incomplete metric. A fair experiment must also measure geometric fidelity, attribute recovery, ordering requirements, decoder completeness, and runtime.

Hypothesis

Structure matters

Point clouds become more compressible when their physical or acquisition structure is made visible to the codec.

Method

Change one representation decision

Each experiment isolates image layout, ordering, score, index coding, quantization, or numerical compression.

Evidence

Count the recoverable result

Payload, framing, permutations, precision, reconstruction error, and decoder requirements are evaluated together.

03 / Method 1

Image-based byte wrapping: a deliberately simple first probe.

Hypothesis

Image codecs may find byte-level repetition

If XYZ bytes are reshaped into an image carrier, PNG or JPEG may exploit local patterns even without understanding geometry.

Methodology

PCD → image-compatible bytes → image codec → PCD

The binary XYZ payload is reshaped into an image-compatible byte layout. PNG is tested losslessly; JPEG quality 100 is tested as an explicitly lossy control.

Experiment

Compare bytes and rebuild the cloud

Image wrapping reduced the stored payload by 10.71% with PNG and 3.93% with JPEG q100. The clean Bunny reproduction then exposes the reconstruction consequences.

Method 1 / Image representation

Image wrapping reduced the stored payload

What this shows. PNG found more byte-level redundancy than JPEG q100, while the interactive Bunny makes the geometric cost of the lossy path visible.

04 / Method 2

Order-aware preconditioning: sorting has a hidden recovery cost.

Hypothesis

Place similar values together

Sorting by radial distance or a structural score should make neighbouring numerical values easier for compression codecs to encode.

Methodology

Compress payload and permutation

Original-order, distance-sorted, and score-sorted XYZ streams are compared. Sorted variants also store the permutation needed to restore point order.

Experiment

A component improved; the archive did not

Sorting improved one component of the encoded stream, but the permutation needed to restore point order cost more than the component saved. The complete order-recoverable archive was larger than the baseline.

05 / Method 3

Score-guided probing: ask which points are easier to encode.

Hypothesis

A structural score may stratify compressibility

Points ordered by a recovered log-cardinality score may reveal regions that a numerical codec encodes more efficiently.

Methodology

Remove one point and recompress

All points, the lower-score half, and the higher-score half are evaluated along a controlled removal sequence with signed byte changes.

Experiment

The score was informative, not sufficient

The score did separate easier from harder subsets, but neither subset compressed below its raw size. Informative as a diagnostic, not sufficient as a codec — and the one-by-one recompression cost grows roughly quadratically.

06 / Method 4

Iterative midpoint-delta coding: the strongest exact custom primitive.

Hypothesis

Angle dictionaries create compact integer structure

Quantized spherical angles repeat. Replacing them with indices should expose smaller, more regular values.

Methodology

Recenter, store magnitudes, pack signs

Phi and theta indices are repeatedly centred, converted to absolute deltas, and paired with explicit sign bits until four-bit magnitudes remain.

Experiment

The smallest self-contained encoding of the six tested

The iterative midpoint-delta representation with explicit sign packing produced the smallest self-contained encoding of the six exact variants tested, with exact index recovery.

07 / Method 5

Quantized spherical hybrid: combine codecs by stream type.

Hypothesis

No single codec must encode everything

Distances, angle dictionaries, index deltas, and signs have different statistical structure and can use different encoders.

Methodology

Spherical coordinates + RLE + ZFP + LZ4

XYZ is quantized in spherical form; repeated distances are run-length coded; angle indices use the midpoint-delta transform; numerical and byte streams are encoded separately.

Experiment

Separate quantization from coding gain

Quantization supplied the larger first reduction; stream-specific custom coding added a second, smaller one. Separating the two contributions was the point of the experiment.

08 / Method 6

Direct reversible ZFP: the baseline that explains the research problem.

Hypothesis

Test ZFP without preprocessing

If a raw XYZ matrix already contains sufficient numerical correlation, reversible ZFP should reduce it without a representation change.

Methodology

Compress and verify bit-for-bit recovery

The raw float64 coordinate matrix is compressed directly using reversible ZFP and decoded exactly.

Experiment

The unordered matrix expanded rather than compressed

Applying reversible ZFP directly to the unordered coordinate matrix produced a stream larger than the original payload. A rectangular array in memory is not a smooth spatial field — which is exactly what motivates the representation study.

09 / Methods tried alongside

The broader experiment record supplied baselines, controls, and alternative directions.

Point-cloud-specific codecs as baselines

LASzip/LAZ and Draco provided domain-specific reference points against which the custom experiments were measured.

Image-channel representations

Mapping coordinate axes into image channels, beyond the single-carrier layout shown in Method 1.

Ordering and local-search approaches

Iterative reordering strategies aimed at bringing spatially related points into a more regular sequence before coding.

Structure-aware lossy reductions

Local filtering and smoothing approaches trading geometric fidelity for compressibility.

10 / Why it matters

Point-cloud compression remains an application-dependent systems problem.

Large 3D streams affect logging, mapping, remote robotics, simulation, and continuous model development. Current reference directions solve different parts of the problem rather than producing one universal winner.

Standardized geometry

MPEG G-PCC

Directly codes sparse 3D geometry and attributes. Its generality brings configuration, complexity, and rate–distortion choices.

Video projection

MPEG V-PCC

Uses the video ecosystem for dynamic volumetric content, but projection and patch processing add artifacts and overhead.

Web and graphics

Google Draco

Efficiently transports meshes and point clouds, while quantization and graphics-oriented assumptions must match the downstream task.

LiDAR range images

RIDDLE · Jiffy

Exploit acquisition order and temporal range-image structure, which is powerful but sensor- and representation-dependent.

Learned spherical coding

SCP

Uses spherical LiDAR structure with learned compression; model cost, deployment complexity, and domain transfer remain practical considerations.

Scientific arrays

ZFP

Excels on structured numerical fields, but unordered particle lists do not naturally supply the smooth neighbourhoods it expects.

Collective gap

No single method simultaneously optimizes sparse and dense geometry, attributes, temporal prediction, exact order, random access, streaming latency, bounded error, and downstream perception quality. The central engineering task is to match representation, fidelity budget, and access pattern to the application—and measure the complete recoverable system.