ProGS: Towards Progressive Coding for 3D Gaussian Splatting
Authors: Zhiye Tang, Lingzhuo Liu, Shengjie Jiao, Qiudan Zhang, Junhui Hou, You Yang, Xu Wang
Organizations: College of Computer Science and Software Engineering, Shenzhen University, Shenzhen, 518060, China · Department of Computer Science, City University of Hong Kong, Kowloon, Hong Kong SAR, China · School of Electronic Information and Communications, Huazhong University of Science and Technology, Wuhan, 430074, China
Progressive transmission of 3D Gaussian Splatting (3DGS) requires each completed transmission stage to be decodable from received data and directly renderable. This work presents ProGS, a progressive codec that organizes anchor-based 3DGS as parent-closed octree prefixes. ProGS combines parent-causal entropy coding, level-balanced anchor growth, bounded multi-prefix training, and lightweight parent-anchor refinement to improve early-prefix quality without altering the complete-model rendering path. One fixed-λ training run yields five deployable rate--quality points from a single bitstream. Experiments on 17 scenes from three datasets evaluate rate--distortion performance, rendering speed, and transmission efficiency against progressive and single-rate baselines. On one representative scene per dataset, ProGS reaches a common quality target with 30.7 ∼ 60.7% fewer bytes than HAC-Rand and 22.6 ∼ 53.4% fewer bytes than HAC++-Rand. Across the three dataset averages, ProGS-LR uses 4.7 ∼ 6.1% fewer bytes than HAC-high while improving SSIM by 0.002 ∼ 0.041 and reducing LPIPS by 4.8 ∼ 51.2%. The parent-closed syntax makes every prefix causally decodable and directly renderable without future topology. ProGS-HR also yields higher endpoint SSIM and lower LPIPS than PCGS across all three dataset averages, and all five prefixes render in real time. Code is available at https://github.com/ZhiyeTang/ProGS-Official
Figures & tables
Fig. 1 : ProGS structures a 3D scene as a forest of layered octrees in a shared coordinate system. Each level-of-detail (LoD) l contains the cumulative octree layers through l . With context-based progressive coding, every completed level chunk yields a decodable and renderable model at a larger received payload.
Fig. 2 : Overview of ProGS. Stage 1 constructs parent-closed octree prefixes via level-balanced growth and multi-LoD supervision, then entropy-codes anchor attributes with priors and quantization steps predicted from the decoded parent prefix and current-level structure (AE/AD: arithmetic encoding/decoding). Stage 2 freezes the base codec and predicts bounded attribute residuals for selected low-LoD anchors from uniformly quantized per-anchor tokens, leaving octree positions and topology unchanged; refinement is bypassed at the complete LoD. A 2D quadtree is shown for clarity; the method uses octrees in 3D.
Fig. 3 : Geometric operations in level-balanced strict-octree growth (2D quadtree planes). (i) Same-level candidates are generated from Gaussian offsets. (ii) Finer-level candidates are quantized to child cells; a retained child without a parent queues the missing parent before materializing. (iii) Low-opacity anchors are pruned only as leaves, preserving parent closure. Prefix-aware scoring, closure penalties, and the top- Bl budget are specified in Algo. 1 .
Fig. 4 : Training schedule of ProGS. Stage 1 optimizes the main codec for 40,000 iterations: the parent-causal entropy context is enabled at iteration 100, and level-balanced growth with multi-LoD supervision runs from iteration 1,500 to 25,000, with growth alone paused from 13,000 to 14,000 per the HAC-style densification schedule. From iteration 25,000 the octree is frozen and only the full-LoD path is optimized. Stage 2 then freezes the base codec and refines low LoDs for 5,000 iterations.
Method / category
Rate organization
Cumulative chunks
Coded-prefix renderable
Parent-closed octree
Decoding dependency
Reference representations
Single endpoint
No
No
No
–
General single-rate compression
Independent models
No
No
N/R
Method-specific
Entropy-coded single-rate compression
Independent models
No
No
No
Non-progressive
Octree-GS (official) [ 13 ]
Adaptive LoDs
No
N/A
No
View-dependent LoD
Octree-GS-EC
Cumulative LoD groups
Yes
Yes
No
Decoded previous LoD
PCGS [ 14 ]
Cumulative levels
Yes
Yes
No
Previous layers
TABLE I: Rate organization of the compared methods. Independent rate points require separate optimization. Octree-GS-EC is the entropy-coded adaptation of Octree-GS used in this comparison. Here, a coded prefix denotes a serialized cumulative bitstream prefix; N/A for official Octree-GS indicates that it reports renderable LoDs rather than coded prefixes. N/R: property not uniformly reported within a group.
Mip-NeRF360 [ 41 ]
BungeeNeRF [ 42 ]
Tanks and Temples [ 43 ]
Method / point
PSNR ↑
SSIM ↑
LPIPS ↓
MB ↓
PSNR ↑
SSIM ↑
LPIPS ↓
MB ↓
PSNR ↑
SSIM ↑
LPIPS ↓
MB ↓
Reference representations
3DGS [ 1 ]
27.46
.812
.222
750.90
24.87
.841
.205
1616.00
23.69
.844
.178
431.00
Scaffold-GS [ 11 ]
27.50
.806
.252
253.90
26.62
.865
.241
183.00
23.96
.853
.177
86.50
General single-rate compression
SOG [ 19 ]
26.56
.791
.241
16.70
22.43
.708
.339
48.25
23.15
.828
.198
9.30
TABLE II : Main quantitative comparison. Top three entries per column are bold , underlined , and italic ; ties share a rank. Octree-GS-EC denotes the entropy-coded adaptation of Octree-GS used in this comparison. For Octree-GS-EC and ProGS, LR/HR use λ=0.004/0.0005 ; full denotes the highest available LoD. Official Octree-GS and the reference representations report checkpoint storage; PCGS, Octree-GS-EC, and ProGS report cumulative coded payloads; the remaining compression methods report complete-model storage.
Fig. 5 : Dataset-average SSIM–rate (top) and PSNR–rate (bottom). The two blue ProGS curves are the lv0–lv4 prefixes of fixed- λ LR and HR models. Solid lines connect only successive points of one cumulative progressive stream (ProGS, PCGS, and Octree-GS-EC); isolated markers are separately optimized single-rate models. Scenes with fewer occupied Octree-GS-EC levels retain their final LoD. Piecewise-linear Y-axes compress the sparse low-quality range; a kink on each left spine marks the scale transition, and ticks remain in the original units.
Fig. 6 : Progressive PSNR versus cumulative received size on matched scenes. ProGS and PCGS use native prefixes; Octree-GS-EC-LR uses decoded cumulative LoD groups. HAC/HAC++ random packetizations report ten-seed mean and standard deviation. The common target Qs∗ is defined over these five methods in Eq. ( 33 ). Piecewise-linear Y-axes compress the sparse low-quality range; a kink on each left spine marks the scale transition, and ticks remain in dB.
Fig. 7 : Progressive decoding on representative test views; each row shows the scene context, ground-truth detail, and the crop from lv0 to lv4. Red boxes mark the detail region; gray tags report full-view PSNR (dB) and cumulative size (MB).
Fig. 8 : Early-prefix comparison on representative test views. Each row shows the scene context and a shared detail crop. Red boxes mark the detail region; gray tags report full-view PSNR (dB) and cumulative size (MB). The selected PCGS prefixes/decoded Octree-GS-EC-LR LoDs are lv1/LoD2, lv2/LoD0, and lv2/LoD0, respectively.
Setting
Closure
Par. feat. context
Entropy context
Level balance
Prefix superv.
Refine.
Loose hierarchy
Loose
Off
Off
Off
Bounded
Off
Strict hierarchy
Strict
Off
Off
Off
Bounded
Off
w/o entropy context
Strict
On
Off
On
Bounded
On
w/o level balance
Strict
On
On
Off
Bounded
On
w/o refinement
Strict
On
On
On
Bounded
Off
w/o prefix supervision
Strict
On
On
On
None
On
TABLE III : Configurations of the ablation variants. Bounded prefix supervision runs from iteration 1,500 to 25,000; None uses only the full-model loss.
Setting
Base full size (MB)
Δ full size (MB)
lv0 prefix size (MB)
Δ lv0 size (MB)
Full PSNR (dB)
Δ full (dB)
lv0 PSNR (dB)
Δ lv0 (dB)
Loose hierarchy
16.718
−5.047
4.199
−6.636
26.696
−0.322
21.877
−2.277
Strict hierarchy
34.724
+12.958
19.482
+8.647
27.300
+0.282
22.696
−1.458
Full ProGS
21.766
–
10.747
–
27.018
–
24.154
–
w/o entropy context
22.412
+0.647
10.778
+0.032
27.054
+0.036
24.135
−0.019
w/o level balance
24.376
+2.610
13.470
+2.723
27.156
+0.138
24.321
+0.167
w/o refinement
21.766
0.000
10.365
−0.382
27.018
0.000
22.602
−1.552
TABLE IV : Absolute ablation results. Prefix size is cumulative through lv0 and includes the refinement side stream when enabled; base full size excludes it to isolate the Stage 1 codec. Each delta is the variant value minus Full ProGS.
Fig. 9 : Average parameter sensitivity. From left to right and top to bottom, the panels scan the growth threshold, level exponent, pruning threshold, balance ratio, minimum budget, multi-LoD schedule, token dimension, and active ratio; the two-setting quantization comparison is reported in Tab. V . The gray band marks the default setting in each panel; full denotes the base complete path and refined lv0–lv2 the frozen-base refined prefixes.
Fig. 10 : Average bitstream allocation. Left: shares by parameter type. Right: shares by progressive chunk. The refinement side stream follows lv0, is shown separately, and remains in subsequent cumulative payloads.
Metric
lv0
lv1
lv2
lv3
lv4
Size (MB)
10.75
15.42
18.23
20.62
22.15
Cum. Dec. (s)
12.84
19.62
23.72
26.68
28.49
FPS
120.2
114.1
105.0
143.6
149.8
TTFF50 (s)
14.57
22.10
26.65
29.99
32.04
Train: 3.35 h
Ref.: 0.382 MB; anchors: 555k
TABLE VI : Mean ProGS prefix efficiency on one RTX 4090 (17 scenes; λe=0.004 ). lv0–lv4 are the first through fifth renderable levels. TTFF50 represents the time-to-first-frame from the start of transmission over a 50-Mbps link.
Shenzhen International Graduate School, Tsinghua University, Shenzhen, China · The Hong Kong University of Science and Technology, Hong Kong SAR, China · Harbin Institute of Technology, Shenzhen, China +6