GSVC Web

Kompresi video dengan 2D Gaussian Splatting, dilatih langsung di peramban dengan WebAssembly. Tidak ada server, tidak ada GPU.

Memuat WebAssembly…
Asli
Rekonstruksi splat (setelah kuantisasi)
JPEG q=0.7 (pembanding)
PSNR splat–
PSNR JPEG–
Ukuran splat–
Ukuran JPEG–
Bit per piksel–
Splat aktif–

Per frame

#TipeIterasiSplatByte splatPSNR splat (dB)Byte JPEGPSNR JPEG (dB)Waktu (ms)

Cara kerja

  1. Representasi. Tiap frame dinyatakan sebagai kumpulan Gaussian 2D: posisi, faktor Cholesky kovarians invers, dan warna RGB. Piksel adalah jumlah warna berbobot (accumulated blending), seperti GaussianImage/GSVC.
  2. Pelatihan di peramban. Render, gradien analitik, dan Adam ditulis dalam C lalu dikompilasi ke WebAssembly (sekitar 7 KB).
  3. Prediksi temporal. Frame berikutnya mulai dari splat frame sebelumnya, jadi cukup sedikit iterasi; yang disimpan hanya selisih parameternya.
  4. Tambah dan pangkas splat. Splat baru ditambahkan di area dengan galat tinggi (gerakan atau objek baru); splat berkontribusi kecil dipangkas di keyframe.
  5. Deteksi keyframe. Bila galat setelah prediksi melonjak dibanding keyframe terakhir, frame dilatih ulang dari awal sebagai keyframe.
  6. Kuantisasi dan entropi. Posisi dikuantisasi 12 bit, kovarians dan warna 8 bit (rentang per kanal ditetapkan di keyframe). Frame prediksi hanya mengirim selisih yang berarti (dead-zone), lalu semuanya dikompres deflate. PSNR diukur setelah dekuantisasi, persis seperti yang dilihat decoder.

Demo ini adalah implementasi ringan yang terinspirasi GSVC (Wang, Shi & Ooi, arXiv:2501.12060), bukan port kode resmi. Hasilnya tidak sebanding dengan angka di paper, yang memakai GPU, resolusi penuh, dan kuantisasi yang dipelajari.