Lossless triangle mesh compression must preserve both vertex positions and connectivity. Octrees support learned point cloud geometry coding and progressive refinement, but extending them to meshes requires a compatible connectivity representation. Unlike the eight occupancy decisions of a voxel, a parent edge can develop into varied child connections, making edge refinement difficult to model with a compact prediction prior. We propose OctMesh, a learned framework that codes geometry and connectivity on a shared octree hierarchy. Its key observation is that octree pooling produces parents with either one child or two to eight children. Child edges are then grouped by their endpoint parents' types and whether the endpoints share a parent. Each candidate group contains children from just one parent or two connected parents. The resulting four categories define small, fixed-shape prediction tasks: connections uniquely determined by the parent graph are inherited without bits, while three neural predictors estimate probabilities for the remaining candidates. These probabilities guide arithmetic coding of the actual edge symbols. Binarized predictions of within-parent connections provide context for predicting connections between different parents. A graph-aware parent feature extractor combines local geometry, parent connectivity and global shape. The connectivity models use dedicated weights at coarse levels and share weights at fine levels. Residual edges and a finest-level face-selection payload complete the reconstruction. On 256 frames from eight MPEG V-DMC test sequences, OctMesh losslessly recovers the finest-level vertex-coordinate, edge and unoriented face sets at an average of 7.033 bits per face, 12.8% below V-Mesh. The same hierarchical representation supports nine levels of progressive vertex-and-edge refinement.
Figures & tables
Fig. 1: Mesh compression is organized on a multiscale octree. The geometry branch refines the parent vertices Pl+1 into the child vertices Pl by predicting octant occupancy, and the connectivity branch grows the parent mesh Ml+1 into the child mesh Ml by predicting the newly added edges.
Fig. 2: Overall OctMesh framework. Top, left to right: octree pooling ( 2×2×2↓ ) and connectivity updates build the hierarchy from fine to coarse. Bottom, right to left: the geometry branch first recovers child vertices, and the connectivity branch then recovers their edges using the parent mesh. Both branches predict probabilities for arithmetic encoding (AE) and decoding (AD). Blue and red arrows indicate encoding and decoding, respectively; black arrows indicate operations shared by both.
Symbol
Meaning
Ml=(Pl,Fl,El)l=1,…,L
Mesh vertices, faces, edges; L levels ( 1 finest, L base)
p , f , e
Vertex; triangular face f=(p1,p2,p3) ; undirected edge
p′=π(p)ch(p′)
Parent mapping; children of parent p′
τ(p′)
Parent type: Disp (one child) or Split (2–8 children)
oct(p) , o(p′)
Octant index (1–8); 8-entry binary occupancy
g(p′)d , d′=d/2
GraphAware-PFE feature; feature width d ; bilinear output width d′
TABLE I: Summary of Main Symbols
Fig. 3: Four-category partition of child-level edges. Left: parent vertices 1 and 4 are Split parents, and 2 and 3 are Displacement parents. Light-blue and pink octants contain Displacement and Split children, respectively. Right: (a) Disp-Disp, (b) Split-Intra, (c) Split-Disp and (d) Split-Split distinguish whether the endpoints share a parent and the types of their parents. Black solid lines represent parent edges; black dotted lines represent candidate child edges.
Fig. 4: Connectivity prediction module. The inputs are the parent mesh Ml+1 and the decoded child vertices Pl . EdgePartitioner forms the candidate edge sets, while GraphAware-PFE extracts parent features for the three neural predictors. Disp-Disp edges are inherited without bits. The binarized Split-Intra output provides context to both Split-Disp and Split-Split. Predicted probabilities guide arithmetic encoding/decoding (AE/AD) of the corresponding edge symbols to recover the connectivity of Ml .
Fig. 5: Architecture of the learnable modules. (a) GraphAware-PFE combines KNN, graph and global attention to extract parent features. (b) Split-Intra uses octant self-attention and pairwise features to score internal connections. (c) Split-Disp uses the Split parent’s internal connectivity context to score connections to a Displacement child. (d) Split-Split uses internal context from both parents, self-attention within each parent, cross-attention between parents and a bilinear head. Circled C and + denote concatenation and addition, respectively.
Fig. 6: Split-Intra connectivity prediction. The left diagram defines the local octant indices 1–8. Both matrix axes use these indices for the same Split parent. The pink block spans occupied octants 3, 4 and 5; gray entries involve empty octants. On the right, blue cells mark predicted connections after binarization, and blue solid lines show the corresponding edges.
Fig. 7: Split-Disp connectivity prediction. The row represents the Displacement child in octant 4; pink entries mark candidate connections to Split octants 3, 4 and 5. Each S denotes the corresponding octant’s internal connectivity context, illustrated by the green edges within the Split parent. Blue cells and solid blue edges show the binarized predictions.
Fig. 8: Split-Split connectivity prediction. Columns index the upper Split parent’s octants and rows index the lower parent’s octants. Occupied columns 3, 4 and 5 and rows 2 and 3 define six pink candidates, shown as black dotted edges between the cubes. Green highlights the internal connectivity context: each Sa is an eight-entry column from the upper parent’s Split-Intra matrix, and each Sb is an eight-entry row from the lower parent’s matrix. On the right, blue cells and solid edges show the three predicted connections after binarization; black solid edges retain the internal connections.
Fig. 9: Child connectivity is built progressively on the decoded vertices Pl . Disp-Disp first inherits connections from the parent mesh Ml+1 . Split-Intra adds connections within each Split parent, after which Split-Disp and Split-Split determine how the remaining parent edges expand into child connections. Blue dotted lines highlight the parent edges being processed, while blue solid lines show the newly added child edges. These child edges are retained in black in subsequent stages, gradually forming the connectivity of Ml . An interactive version of this process is available online (see footnote 1 ).
Fig. 10: Per-level statistics of the connectivity branch. (a) Edge counts as percentages of all edges at each level, including residuals in gray; each bar sums to approximately 100% . The dashed line separates the shared branch for L1 – L3 from the dedicated branches for L4 – L8 . (b) Each bar gives that level’s share of the refinement connectivity bits, stacked by category; all bars together sum to 100% . Disp-Disp contributes no bits because its edges are inherited.
Sequence
meshopt. +zstd [ 57 ]
SC3DMC [ 25 ]
Draco [ 4 ]
V-Mesh [ 5 ]
OctMesh (Ours)
basketball_player
16.059
10.300
9.128
8.679
7.681
dancer
15.826
10.013
8.990
8.451
7.478
football
15.936
9.713
9.039
8.405
7.539
levi
15.858
9.382
8.360
7.942
6.881
longdress
13.399
7.270
5.790
6.099
5.281
mitch
16.842
10.804
9.505
9.371
8.642
TABLE II: Bitrate Comparison on Eight Sequences (BPF)
Fig. 11: Rate–distortion curves using D1-like PSNR, averaged over representative frames. The red line shows hierarchy previews at cumulative geometry-and-edge rates. The red dashed line marks its average lossless rate in Table II ( 7.033 BPF), and the star illustrates the ideal zero-distortion limit ( PSNR→∞ ). The gray dotted line marks meshoptimizer+zstd’s lossless rate.
Fig. 12: Reference hierarchy views for football, mitch, longdress and soldier, from coarse to fine. Labels give face counts and cumulative geometry-and-edge BPF; the rightmost L1 rates additionally include face selection.
Stage
Cand.
GT share
Precision
Edge BPF
Bit share
Split-Intra
8.8 M
74.1%
89.3%
0.408
20%
Split-Disp
15.4 M
53.2%
86.7%
0.494
25%
Split-Split
59.4 M
18.7%
72.9%
1.069
53%
Residual
—
—
—
0.033
2%
Total
2.004
100%
TABLE III: Per-Stage Prediction Quality and Bitrate of the Connectivity Branch
Generating compact, artist-style meshes with explicit topology typically relies on autoregressive models which incur prohibitive sequential per-token costs, or continuous flow models that depend on heuristic connectivity decoders. Next-scale generation paradigms offer a compelling alternative by enabling parallel intra-scale token prediction and coarse-to-fine refinement from global structure to local topology; yet, existing methods derive hierarchical scales via progressive mesh simplification and invert them sequentially. This eliminates intra-scale parallelism and scales generation steps linearly with face count. In this paper, we propose MeshOctave, which instead defines scale through dyadic spatial grid resolutions, framing coarsening as a deterministic collapse that merges vertices sharing a voxel cell and inherits connectivity. Its inverse operation, split-and-rewire, determines which octant sub-vertices are instantiated for each coarse face and resolves local connectivity using discrete structural tokens. These per-face operations require no serialization, each scale transition is modeled as an unordered set that adds one bit of coordinate precision, naturally supporting dynamic-length meshes and adaptive resolution refinement. We construct a scale-conditioned masked-uniform discrete diffusion model to learn split-and-rewire operation from resolution collapse hierarchies. MeshOctave outperforms strong baselines in geometric fidelity and topological validity by a non-trivial margin, while supporting adaptive resolution refinement and extending naturally to mesh subdivision tasks.
Junkai Lin, Tianhao Zhao, Hang Long +10
Huazhong University of Science and Technology · Meshy AI · Independent Researcher +1
Octree-based context learning has recently become a leading method in point cloud compression. However, its potential on lossy compression remains undiscovered. The traditional lossy compression paradigm using lossless octree representation with quantization step adjustment may result in severe distortions due to massive missing points in quantization. Therefore, we analyze data characteristics of different point clouds and propose lossy approaches specifically. For object point clouds that suffer from quantization step adjustment, we propose a new leaf nodes lossy compression method, which achieves lossy compression by performing bit-wise coding and binary prediction on leaf nodes. For LiDAR point clouds, we explore variable rate approaches and propose a simple but effective rate control method. Experimental results demonstrate that the proposed leaf nodes lossy compression method significantly outperforms the previous octree-based method on object point clouds, and the proposed rate control method achieves about 1% bit error without finetuning on LiDAR point clouds.
Kaiyu Zheng, Wei Gao, Huiming Zheng
School of Electronic and Computer Engineering, Shenzhen Graduate School, Peking University, Shenzhen, China
In this paper, we introduce a novel 3D mesh convolution-based autoencoder for geometry compression, able to deal with irregular mesh data without requiring neither preprocessing nor manifold/watertightness conditions. The proposed approach extracts meaningful latent representations by learning features directly from the mesh faces, while preserving connectivity through dedicated pooling and unpooling operations. The encoder compresses the input mesh into a compact base mesh space, which ensures that the latent space remains comparable. The decoder reconstructs the original connectivity and restores the compressed geometry to its full resolution. Extensive experiments on multi-class datasets demonstrate that our method outperforms state-of-the-art approaches in both 3D mesh geometry reconstruction and latent space classification tasks. Code available at: github.com/germainGB/MeshConv3D
Germain Bregeon, Marius Preda, Radu Ispas +1
Telecom SudParis, Institut Polytechnique de Paris, France · Keyrus, Paris, France