Papers
Topics
Authors
Recent
Search
2000 character limit reached

NSVQ for 3DGS Compression

Updated 6 February 2026
  • NSVQ is a differentiable quantization framework that compresses 3D Gaussian Splatting scenes by jointly learning discrete attribute codebooks using a noise substitution mechanism.
  • It selectively preserves high-precision attributes while compressing others via separate codebooks, achieving up to a 45× reduction in memory with minimal rendering quality loss.
  • NSVQ enables efficient gradient flow, integrates seamlessly with standard 3DGS pipelines, and boosts rendering speed for bandwidth- and latency-sensitive applications.

Noise-Substituted Vector Quantization (NSVQ) is a differentiable quantization framework introduced for compressing 3D Gaussian Splatting (3DGS) scene representations. 3DGS relies on millions of “splats” (anisotropic 3D Gaussians) parameterized by high-dimensional float attributes, which results in prohibitive storage requirements—typically around 1 GB per scene. NSVQ addresses this limitation by jointly learning discrete attribute codebooks and attribute assignments while preserving end-to-end differentiability using a noise-injection mechanism. This permits substantial memory reduction with minimal loss in rendering quality and guarantees compatibility with standard 3DGS pipelines (Wang et al., 3 Apr 2025).

1. Model Framework and Attribute Factorization

A standard 3DGS model represents a scene as NN splats, each GiG_i defined by a vector of 59 real-valued attributes:

  • xiR3x_i \in \mathbb{R}^3: 3D position
  • oiRo_i \in \mathbb{R}: opacity
  • siR3s_i \in \mathbb{R}^3: scaling parameters
  • riR4r_i \in \mathbb{R}^4: rotation (covariance)
  • ciR3c_i \in \mathbb{R}^3: color
  • shiR45sh_i \in \mathbb{R}^{45}: spherical-harmonic coefficients

NSVQ-GS preserves xx and oo in full precision, while the attributes (s,r,c,sh)(s, r, c, sh) are compressed via four separate codebooks. Each codebook CR2K×DC_*\in\mathbb{R}^{2^{K_*} \times D_*} discretizes its respective attribute using 2K2^{K_*} codes, where KK_* is the bitwidth:

Attribute Codebook (CC_*) Dimensionality (DD_*) Bitwidth (KK_*)
ss CsC_s 3 KsK_s
rr CrC_r 4 KrK_r
cc CcC_c 3 KcK_c
shsh CshC_{sh} 45 KshK_{sh}

Each splat stores the code indices (ksi,kri,kci,kshi)(k_{si}, k_{ri}, k_{ci}, k_{shi}), i.e., only Ks+Kr+Kc+KshK_s + K_r + K_c + K_{sh} bits per splat for these attributes (Wang et al., 3 Apr 2025).

2. Differentiable Quantization via Noise Substitution

Hard vector quantization by argmineCze2\arg\min_{e\in C}\|z-e\|^2 is non-differentiable due to the discrete assignment. To enable backpropagation, NSVQ replaces the attribute vector by a noisy substitute:

z~q=z+zei2nn2,nN(0,ID)\tilde z^q = z + \|z - e_i\|_2 \cdot \frac{n}{\|n\|_2}, \quad n \sim \mathcal{N}(0, I_D)

Here zz is the current attribute vector, eie_i is its closest codebook element, and nn is a random vector. Both zei2\|z - e_i\|_2 and n/n2n/\|n\|_2 are differentiable with respect to zz and eie_i, thus gradients flow from the loss to both the encoder and the codebook entries. This circumvents the need for a straight-through estimator (Wang et al., 3 Apr 2025).

During training, this mechanism is applied independently to each attribute (s,r,c,shs, r, c, sh) via their respective codebooks.

3. Training Objective and Optimization Schedule

The joint optimization combines:

  • Reconstruction loss: LreconL_{\mathrm{recon}} (per-pixel L2L_2 error between rendered and ground-truth images)
  • Opacity regularization: Lopacity=i=1NoiL_{\mathrm{opacity}} = \sum_{i=1}^N o_i (used for pruning low-opacity splats)
  • (Optional) VQ commitment loss: LVQ=LVQ,s+LVQ,r+LVQ,c+LVQ,shL_{VQ} = L_{VQ,s} + L_{VQ,r} + L_{VQ,c} + L_{VQ,sh} (as in VQ-VAE, to encourage codebook utilization)

The combined loss:

L=Lrecon+λopacityLopacity+β(LVQ,s+LVQ,r+LVQ,c+LVQ,sh)L = L_{\mathrm{recon}} + \lambda_{\mathrm{opacity}}\,L_{\mathrm{opacity}} + \beta (L_{VQ,s} + L_{VQ,r} + L_{VQ,c} + L_{VQ,sh})

where λopacity\lambda_{\mathrm{opacity}} and β\beta control regularization during pruning and codebook stabilization, respectively. In fine-tuning, assignments are frozen and β\beta is set to zero (Wang et al., 3 Apr 2025).

The four-phase training schedule is:

  1. Warm-up: Full precision rendering and latent optimization
  2. Pruning: Remove low-opacity splats
  3. Vector quantization: Train with NSVQ and update codebooks
  4. Fine-tuning: Freeze quantization, optimize only model parameters

4. Pseudocode for NSVQ Training Loop

The training procedure is as follows:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Initialize 3DGS model; initialize codebooks C_s, C_r, C_c, C_sh via K-means.

for iter = 1 to 45_000:
    if iter <= 15_000:  # Warm-up
        render with full-precision Gaussians
        L  L_recon
    elif iter <= 20_000:  # Pruning
        render full-precision
        L  L_recon + λ_opacity  sum(o_i)
        prune low-opacity splats
    elif iter <= 43_000:  # Vector quantization
        for each splat i:
            compute z_s = s_i; nearest code e_s = C_s[k_si]
            tilde_s_i = NSVQ(z_s, e_s)
            # Repeat for r, c, sh
        render with quantized attributes
        L  L_recon + βL_{VQ}
        backpropagate L; update model and codebooks
        every M batches: replace unused codes
    else:  # Fine-tuning
        fix code indices; tilde_s_i = e_s
        render, L  L_recon
        update only model parameters
(Wang et al., 3 Apr 2025)

5. Compression Ratio, Reconstruction Fidelity, and Rendering Speed

NSVQ-GS achieves significant storage savings by storing only code indices and codebooks:

  • Original memory: NN splats × 59 floats × 32 bits
  • Compressed: N×(3×32+1×32+Ks+Kr+Kc+Ksh)N \times (3 \times 32 + 1 \times 32 + K_s + K_r + K_c + K_{sh}) bits for splats, plus codebooks

The compression ratio is defined as:

Compression Ratio=Original MemoryCompressed Memory\text{Compression Ratio} = \frac{\text{Original Memory}}{\text{Compressed Memory}}

For NSVQ-GS(16k) (Ks=14K_s = 14), on Mip-NeRF360:

Model PSNR SSIM LPIPS Size Compression Ratio FPS (rendering)
NSVQ-GS(16k) 27.28 0.807 0.239 16.4 MB 45×\approx 45\times 103
CompGS(16k) 27.03 0.804 0.243 18 MB
Baseline 3DGS \sim1 GB (\sim734 MB float) 43

Rendering throughput approximately doubles after compression, attributed to reduced per-splat data transfer and cache-friendly codebook access (Wang et al., 3 Apr 2025).

6. Codebook Utilization and Gradient Flow

NSVQ’s differentiable formulation enables gradient flow w.r.t. both attributes and codebook vectors. Only active codes receive gradients; hence, to prevent codebook collapse, rarely used codes are periodically replaced by randomly perturbed copies of active codes during training.

This mechanism negates the need for straight-through estimators and ensures joint optimization stability. In fine-tuning, code assignments become fixed and the noise-injection is removed, yielding deterministic attribute decoding at inference (Wang et al., 3 Apr 2025).

7. Compatibility, Deployment, and Practical Implications

The final NSVQ-GS model is a standard list of Gaussians with associated codebooks and per-splat code indices. All inference-time operations—codebook lookup, attribute decoding, and α\alpha-blending—are compatible with existing 3DGS viewers (CPU or GPU) and do not require auxiliary neural decoders. This design ensures seamless integration with web-based viewers, 3D editors, and SLAM systems. The memory and speed improvements are preconditions for practical deployment in bandwidth- or latency-sensitive environments.

A plausible implication is that NSVQ-GS enables large-scale 3D scene distribution and complex scene rendering with commodity hardware, aligning 3DGS compression performance with industry application requirements (Wang et al., 3 Apr 2025).

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Noise-Substituted Vector Quantization (NSVQ).