Robust, Estimator-Agnostic Dynamic 3DGS Compression
Organizations: New York University
Abstract
Dynamic 3D Gaussian splats (3DGS) model time-varying scenes using a separate Gaussian set per frame. While neighboring video frames are highly correlated due to smooth motion, Gaussian representations retain this correlation to varying degrees, depending on whether the estimator tracks them across time. Some 3DGS compression methods integrate the estimation to exploit temporal redundancy; here, we focus on robust compression regardless of the estimator. We concatenate groups of frames into one Gaussian set, augment each Gaussian with a frame index, and pass it to a static (i.e., non-temporal) 3DGS codec, converting temporal redundancy into spatial redundancy. Concatenated sets are spatially partitioned to limit memory. Our technique requires neither a motion model nor knowledge of the training method. Averaged over six N3DV sequences, all six static codecs achieve gains on tracked sets (-42.0% to -71.8% BD-rate) over per-frame coding. On untracked sets, all codecs except HGSC, which appears incompatible with our technique, remain competitive with per-frame coding (-3.5% to +5.0%). We further replace D-FCGS's I-frame coding with our technique while retaining its P-frame coding, yielding an overall BD-rate of -46.2%. We propose to visualize "trackedness" using an inter-frame similarity metric. The project is available at https://wcjj1236.github.io/d3dgs-benchmark.
Figures & tables
| GoF | BD-rate % | Enc T (s/f) | Dec T (s/f) | Concat (GB) | Encode (GB) | Delay (s) |
|---|---|---|---|---|---|---|
| Baseline | 11.7 | 9.0 | ||||
| 9.3 | 7.3 | |||||
| 8.9 | 7.0 | |||||
| 8.6 | 6.9 | |||||
| 8.7 | 6.9 | |||||
| 8.6 | 6.8 |
Appendix figures & tables22 assets
Supplementary material from the paper’s appendix.
Appendix
| Resource | Contents |
|---|---|
| Appendix | notes on statements of the main text; sequences and estimators; evaluation protocol; how each static GS codec handles a concatenated set; implementation of the inter-frame similarity; mechanisms behind the gains; frame-index overhead; construction of D-GPCC; per-sequence BD-rates; an end-to-end comparison with published results |
| Code repository | estimator training and export recipes; pinned upstream version and every modification of each codec; codec configurations and rate points; coding drivers; scoring code; the coding time and peak memory of every run; all result tables with their provenance, and a script that recomputes the numbers of the paper |
| Project page | every rate–distortion curve for each sequence, codec, estimator and GoF length; PSNR in RGB, YUV and per plane, SSIM, and the ground-truth reference; the BD-rate of each curve against its own per-frame branch; inter-frame similarity matrices of all four estimators |
| Codec | Frame index | Tracked | Semi-tracked | Untracked |
|---|---|---|---|---|
| L-GSC | not charged | |||
| bits | ||||
| bits | ||||
| LGSCV | not charged | |||
| bits | ||||
| bits |
| Estimator | Pattern | Gaussians per frame | Export loss (dB) |
|---|---|---|---|
| 3DGStream, base stream | tracked | 357k–708k | |
| 4DGaussians | tracked | 118k–132k | |
| QUEEN | semi-tracked | 248k–445k | |
| INRIA 3DGS, per frame | untracked | 281k–845k | — |
| Edit | Sequences | Extent |
|---|---|---|
| SH degree zero-padding; quaternion sign canonicalized | 3DGStream, all | layout, sign |
| Non-finite values: , NaN | 3DGStream, all | of values |
| SH degree zero-padding | QUEEN, all | layout |
| Degenerate Gaussians removed (log-scale ) | QUEEN, all | of Gaussians |
| Gaussians with non-finite values removed | QUEEN, Coffee Martini | per frame in frames |
| Lower G-PCC input scale † | 4DGaussians, Coffee Martini , Flame Salmon ; QUEEN, Coffee Martini | none |
| Codec | Family | Coding | Rate points | Frame recovery |
|---|---|---|---|---|
| G-PCC | geometry | TMC13 v23.0-rc2 with our Gaussian splat coding profile: octree geometry, RAHT for SH, predictive transform for opacity, scale and rotation | 5: four attribute QP settings, attributes at unit step | frame index coded losslessly as an -bit attribute |
| HGSC | geometry | G-PCC geometry, anchors by farthest-point sampling, two levels of detail predicted from coded neighbours | 4: position with LoD bit depths | frame index coded losslessly as an -bit attribute of its geometry |
| L-GSC | geometry | fixed bit-width quantization, Morton ordering, zlib | 3: bit-width presets | Morton sort of the encoder replayed on the input positions ∗ |
| SPZ | geometry | per-Gaussian quantization, zstd | 5: SH bit depths | order preserved; split by per-frame counts |
| LGSCV | video | Morton ordering and MiniPLAS into 2D maps, SH reduced by PCA, HEVC | 5: released QP settings | map permutation recorded at the encoder ∗ |
| GSCodec-S | video | PLAS sorting into 2D maps, all-intra HEVC | 4: released QP settings | sort permutation recorded at the encoder ∗ |
| Estimator | Pattern | Range of | |
|---|---|---|---|
| QUEEN | semi-tracked | – | |
| 3DGStream | tracked | – | |
| 4DGaussians | tracked | – | |
| INRIA 3DGS | untracked | – |
| HGSC | G-PCC | |
|---|---|---|
| Position step | bounding box of the coded set | lossless on a grid derived per slice |
| Attribute step | residual range | absolute QP per attribute |
| Attribute predictor | nearest already-coded Gaussian | RAHT for SH (no prediction); three candidates for opacity, scale, rotation |
| Rate | MB per frame | MB per frame |
| Quality | dB | dB |
| BD-rate |
| Codec | Index | Input | Total (MB/f) | Index (MB/f) | Share (%) | Bits/Gaussian |
|---|---|---|---|---|---|---|
| G-PCC | in the bitstream | tracked | – | – | ||
| semi-tracked | – | – | – | – | ||
| untracked | – | – | – | – | ||
| HGSC | in the bitstream | tracked | – | – | – | – |
| semi-tracked | – | – | – | – | ||
| untracked | – | – | – | – |
| GoF | I-frames | Rate (MB/f) | PSNR (dB) |
|---|---|---|---|
| GoP | BD-rate % | Enc T (s/f) | Dec T (s/f) | Delay (s) |
|---|---|---|---|---|
| Baseline | ||||
| Pattern | Codec | CM | CS | CRB | FSa | FSt | SS | Average |
|---|---|---|---|---|---|---|---|---|
| Tracked | G-PCC | |||||||
| (3DGStream) | HGSC | |||||||
| L-GSC | ||||||||
| SPZ | ||||||||
| LGSCV | ||||||||
| GSCodec-S |
3DGS Compression
3D Gaussian Splatting compression reduces storage and rendering costs while preserving the quality of reconstructed views and scenes.
See all 85 papers