Memuat WebAssembly…
PSNR splat–
PSNR JPEG–
Ukuran splat–
Ukuran JPEG–
Bit per piksel–
Splat aktif–
Per frame
| # | Tipe | Iterasi | Splat | Byte splat | PSNR splat (dB) | Byte JPEG | PSNR JPEG (dB) | Waktu (ms) |
|---|
Cara kerja
- 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.
- Pelatihan di peramban. Render, gradien analitik, dan Adam ditulis dalam C lalu dikompilasi ke WebAssembly (sekitar 7 KB).
- Prediksi temporal. Frame berikutnya mulai dari splat frame sebelumnya, jadi cukup sedikit iterasi; yang disimpan hanya selisih parameternya.
- Tambah dan pangkas splat. Splat baru ditambahkan di area dengan galat tinggi (gerakan atau objek baru); splat berkontribusi kecil dipangkas di keyframe.
- Deteksi keyframe. Bila galat setelah prediksi melonjak dibanding keyframe terakhir, frame dilatih ulang dari awal sebagai keyframe.
- 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.