AV1@Scale: Kebangkitan Sintesis Film Grain
(netflixtechblog.com)- Netflix memperluas stream Film Grain Synthesis(FGS) pada AV1 secara global untuk mengurangi penggunaan data streaming sambil mempertahankan tekstur film grain
- FGS tidak mengompresi grain apa adanya, melainkan mengirim video yang grain-nya telah dihapus beserta parameter model grain, lalu mensintesisnya kembali per blok saat pemutaran
- Pada contoh They Cloned Tyrone, AV1 FGS mencapai 2804 kbps dibanding AV1 biasa 8274 kbps, menunjukkan penurunan bitrate sekitar 66% pada adegan dengan film grain yang kuat
- Dalam evaluasi sekitar 300 judul, bitrate rata-rata untuk 1080p ke atas turun 36%, tetapi untuk di bawah 1080p efeknya hanya sekitar 10% karena noise berkurang akibat downscaling
- Dalam uji A/B sebelum rollout, diamati penurunan bitrate awal 24%, bitrate rata-rata 31,6%, rebuffering 10%, dan startup delay 10%, dan penerapan skala besar pada perangkat yang didukung telah berlangsung sejak Maret 2025
Perluasan AV1 Film Grain Synthesis oleh Netflix
- Netflix baru-baru ini memperluas penerapan stream AV1 Film Grain Synthesis(FGS) kepada anggota di seluruh dunia
- FGS sudah termasuk sejak awal dalam standar AV1, tetapi saat rilis awal codec AV1 oleh Netflix pada 2021, fitur ini hanya diaktifkan untuk jumlah judul yang terbatas
- Tujuan perluasan kali ini adalah meningkatkan efisiensi data sambil mempertahankan integritas artistik film grain
- Film grain adalah elemen yang membentuk tekstur, realisme, dan nuansa nostalgia film klasik, tetapi karena sifatnya sangat acak, kompresi konvensional memerlukan kompromi antara pengurangan ukuran file dan pelestarian grain
- Pada video digital pun terdapat noise sensor kamera atau grain yang sengaja ditambahkan saat pascaproduksi, sehingga pemrosesan kompresi menjadi lebih sulit
Cara AV1 FGS menangani grain
- AV1 FGS tidak langsung mengompresi grain, melainkan terlebih dahulu mengenkode denoised video yang grain-nya telah dihapus dari video asli
- Parameter yang memodelkan bentuk dan intensitas grain dikirim bersama data video terkompresi, lalu disintesis kembali selama pemutaran
- Standar AV1 tidak menetapkan secara spesifik metode penghilangan grain, sehingga pengguna dapat memilih denoiser yang diinginkan
- Pada tahap pemutaran, film grain dipulihkan dengan metode berbasis blok yang dioptimalkan agar berjalan mulus pada perangkat konsumen
- Penjelasan lebih rinci dapat dilihat di makalah asli
Model pola dan intensitas grain
-
Film Grain Pattern
- Model auto-regressive meniru pola film grain
- Parameter utamanya adalah koefisien AR, yang dapat diestimasi dari residual antara video sumber dan denoised video
- Model ini menangkap korelasi spasial antar sampel grain untuk mempertahankan karakteristik noise asli
- Dengan menyesuaikan koefisien AR
{ai}, bentuk grain dapat dibuat lebih kasar atau lebih halus - Koefisien ini digunakan untuk membuat template noise 64x64, lalu selama pemutaran diambil patch 32x32 secara acak dan ditambahkan ke video yang telah didekode
-
Film Grain Intensity
- Fungsi penskalaan mengendalikan tampilan grain sesuai kondisi kecerahan
- Fungsi ini diestimasi saat encoding dan memodelkan hubungan antara nilai piksel dan intensitas noise sebagai fungsi linear per segmen
- Intensitas grain disesuaikan berdasarkan kecerahan dan warna video agar reproduksinya lebih mendekati tampilan video asli
Peningkatan kualitas gambar dan penghematan bitrate
- Netflix membandingkan AV1 biasa dan AV1 FGS menggunakan sebuah frame dari They Cloned Tyrone
- AV1 biasa berada di 8274 kbps, sedangkan AV1 FGS di 2804 kbps, menunjukkan penurunan bitrate sekitar 66%
- Pada contoh dengan film grain kuat ini, AV1 biasa dapat menampilkan noise terdistorsi dengan pola mirip DCT, sedangkan versi FGS mempertahankan integritas film grain bahkan pada bitrate yang lebih rendah
- Noise sintetis dapat menyamarkan compression artifact dan menghasilkan pengalaman visual yang lebih baik
- Pada stream AV1 biasa dan stream AV1 FGS tanpa noise sintetis, compression artifact terlihat
- Pada stream AV1 FGS dengan sintesis grain, sebagian compression artifact tersamarkan melalui contrast masking pada sistem visual manusia
Keterbatasan pengukuran kualitas dan evaluasi katalog
- Saat ini Netflix belum memiliki model kualitas khusus untuk sintesis film grain
- Karena noise pada video sumber dan video hasil decode muncul di posisi piksel yang berbeda, metode perbandingan berbasis piksel seperti PSNR atau VMAF dapat memberikan skor kualitas yang lebih rendah
- Evaluasi internal mengonfirmasi adanya peningkatan kualitas visual dan nilai teknis
- Pengaruh AV1 FGS dievaluasi pada sekitar 300 judul dengan tingkat grain yang beragam
- Pada resolusi 1080p ke atas, bitrate rata-rata turun 36%
- Pada resolusi di bawah 1080p, penurunan bitrate hanya sekitar 10%
- Salah satu kemungkinan alasan efek yang kecil pada resolusi rendah adalah karena noise terfilter selama proses downscaling
- Saat alat encoding FGS diaktifkan, overhead sintaks terus ditambahkan ke bitstream
Dampak streaming yang diamati dalam uji A/B
- Sebelum rollout, Netflix mengevaluasi dampak aktivasi AV1 FGS terhadap streaming secara keseluruhan melalui uji A/B
- Hasil pengujian menunjukkan QoE yang lebih mulus dan stabil
- Perbaikan yang diamati adalah sebagai berikut
- Saat mulai diputar, bitrate turun 24% dan bitrate rata-rata turun 31,6%, sehingga kebutuhan bandwidth jaringan dan penyimpanan stream unduhan berkurang
- Tingkat error pemutaran turun sekitar 3%
- Jumlah rebuffering turun 10% dan durasi rebuffering turun 5%
- Startup delay turun 10%, kemungkinan karena bitrate yang lebih rendah membuat perangkat lebih cepat mencapai target buffer
- Penurunan bitrate yang mencolok turun 10%, dan waktu yang dihabiskan pengguna untuk menyesuaikan posisi pemutaran juga turun 10%
- Pada perangkat yang mendukung 4K, sekitar 0,7% waktu tonton berpindah dari 1080p atau lebih rendah ke 2160p
- Pergeseran resolusi ini terjadi karena penurunan bitrate pada titik perpindahan membuat resolusi tertinggi lebih mudah dicapai selama sesi
Status rollout dan rencana berikutnya
- Netflix telah melakukan rollout FGS dalam skala besar sejak Maret 2025, dan saat ini banyak pengguna sudah dapat menonton stream dengan FGS aktif pada perangkat yang didukung
- Sebagai contoh pengalaman stream FGS, ditampilkan The Hot Spot, Kung Fu Cult Master, Initial D, God of Gamblers II, Baahubali 2: The Conclusion, Dept. Q
- Pada beberapa judul, untuk langsung merasakan stream FGS baru, HDR harus dimatikan di menu pengaturan
- Tulisan berikutnya akan membahas bagaimana pekerjaan ini diimplementasikan dalam pipeline encoding video Netflix serta insight yang diperoleh
1 komentar
Komentar Hacker News
Poin ini melewatkan bahwa noise sintetis mungkin tidak memuat detail dan informasi yang ada dalam noise asli.
Jika melihat encoding berkualitas tinggi yang menyertakan noise nyata, resolusinya meningkat secara mengejutkan saat beralih dari gambar diam ke video. Noise tampak seperti menari di atas sinyal, dan pada 24fps sinyal di baliknya masih terlihat jelas.
Sebaliknya, jika noise dibuang per frame diam lalu noise buatan yang secara “estetis” mirip ditambahkan kembali, detail asli tidak bisa dipulihkan dan ketika ditonton pada 24fps hasilnya secara mendasar menjadi lebih buram. Pada film lama yang banyak noise, perbedaan detail bisa mencapai 2 kali lipat.
Jika H.265 atau AV1 mempertimbangkan gerakan, melihat beberapa frame sebelum dan sesudah sekaligus, lalu membuat frame hasil “denoise”, secara teori mereka bisa menemukan dan meng-encode sinyal detail penuh di sepanjang sumbu waktu, tetapi saya tidak tahu apakah praktiknya memang begitu. Saya ingin tahu kalau saya keliru.
Intinya, perbandingan denoise dan sintesis tidak boleh dilakukan dengan gambar diam. Apakah detail dibuang atau dipertahankan harus dibandingkan berdampingan pada video sungguhan. Noise bukan sekadar noise, tetapi juga detail.
Dari sisi estetika, grain sintetis AV1 tampaknya tidak mempertimbangkan ukuran butiran pada video asli. Akibatnya, grain tebal dari kristal perak halida besar pada film lama bisa muncul sebagai grain halus dalam sintesis dan terasa janggal. Denoiser film yang bagus mungkin bisa mengurangi hal ini.
Selain itu, komponen warna film yang terpisah tidak dimodelkan dengan baik, tetapi katanya ini bukan masalah besar karena sumber video Netflix sering kali sejak awal sudah mengalami chroma subsampling: https://norkin.org/pdf/DCC_2018_AV1_film_grain.pdf
Saya hanya pernah membaca ringan tentang bidang ini, jadi bisa saja keliru.
Untuk menjelaskan aspek temporalnya, bayangkan proyektor film tradisional. Di antara tiap frame, kita melihat kegelapan total selama waktu yang sangat singkat. Kegelapan itu bisa saja disebut “noise”, dan jika kita berhenti pada momen itu, sinyal aslinya sama sekali tidak akan terlihat.
Namun sistem visual kita melakukan semacam perataan waktu sampai tingkat tertentu, sehingga kita hampir tidak menyadari kedipan itu (https://en.wikipedia.org/wiki/Flicker_fusion_threshold). Noise dan grain tampaknya juga dipersepsikan serupa, sehingga kurang menonjol dibanding bagian sinyal/gambar yang stabil.
Seperti astrofotografer yang menumpuk gambar penuh noise untuk mendapatkan gambar dengan rasio sinyal-terhadap-noise yang tinggi, menurut saya otak juga melakukan hal semacam itu sampai tingkat tertentu. Maksudnya bukan menciptakan detail yang tidak ada sebagai halusinasi, melainkan noise yang terekam kembali ke rata-ratanya seiring waktu, dan rata-rata itu menampilkan sinyal nyata dengan lebih jelas. Tentu saja ini tidak sempurna karena noise sistematis/nonacak, tetapi biasanya kurang penting.
Algoritma denoise yang hanya memproses frame individual tidak memiliki konteks ini, sehingga cenderung kehilangan detail atau mencoba mengoreksinya dengan tebakan. AV1 tidak memaksakan algoritma tertentu, jadi secara teori algoritma yang cerdas bisa memakai konteks temporal untuk mempertahankan detail tambahan.
Jika beberapa frame statis dirata-ratakan, sinyal yang tidak berubah tetap terjaga dan noise acak saling meniadakan, sehingga rasio sinyal-terhadap-noise membaik. Mempertahankan noise itu sendiri tidak berguna.
Efek yang terlihat bisa jadi adalah preferensi estetis terhadap perilaku grain asli, atau akibat membandingkan konten bandwidth rendah yang memiliki artefak kompresi kuat seperti smoothing/filter low-pass dengan versi bandwidth tinggi yang mempertahankan seluruh detail. Ini terpisah dari grain yang ditambahkan di atasnya.
Nilai dari menambahkan noise memang masih bisa diperdebatkan secara filosofis, tetapi masalah pada contoh di sini adalah proses penghilangan noise membuat semuanya terlalu kabur, sehingga baik versi yang sudah dihilangkan noise-nya maupun gambar dengan grain sintetis tampak jelas kurang tajam daripada sumber aslinya
Grain-nya sendiri juga terlihat seperti noise yang terlalu dasar, tidak seperti film grain sungguhan
Akibatnya grain asli “menyebar” ke area yang lebih luas sehingga terlihat keruh, dan saat mencoba meng-encode grain yang tajam, ketajaman adegan sebenarnya ikut hilang
Sintesis film grain masuk akal untuk streaming dengan bandwidth terbatas. Namun saya setuju bahwa grain sintetis pada contoh ini tidak terlalu terlihat seperti grain. Selain itu, detail adegan bisa menjadi kabur tergantung seberapa banyak dan dengan cara apa noise dihilangkan
Akan bagus jika ada opsi untuk menyalakan dan mematikan simulasi film
Salah satu film favorit saya, The Holdovers, melakukan simulasi film dengan sangat baik. Latar waktunya tahun 70-an, jadi film itu berusaha terlihat seperti film dari era tersebut
Di mata saya hasilnya bagus, tetapi penggemar film sejati mungkin akan melihat banyak bagian yang tidak akurat
Dalam waktu dekat, mungkin saja Netflix memproses sebagian efek pascaproduksi di sisi klien. Misalnya jika punya gangguan penglihatan warna, gunakan mode yang sesuai; jika tidak suka grain palsu, matikan saja
Ada beberapa hal yang perlu diperhatikan
Frame diam bukan cara yang terlalu baik untuk menilai kualitas video
Secara teori, filter penghilang noise yang sempurna[1] sekalipun akan selalu terlihat kurang detail dibanding sumber aslinya. Itu karena sistem otak/mata menciptakan lebih banyak detail dari gambar yang ber-noise daripada dari gambar yang kabur
[1] Sempurna di sini berarti mempertahankan 100% detail yang bukan grain, bukan memulihkan secara ajaib detail yang hilang akibat noise
Sebagai bonus, banyak penonton akan menyambut baik opsi untuk mematikannya
Cerita sebenarnya di sini adalah bagian “penerapan skala besar”. Sintesis film grain sudah cukup lama ada di encoder AV1 umum, tetapi untuk menghindari masalah diperlukan sejumlah penyesuaian manual
Karena itu, di lingkungan produksi, penggunaannya terbatas pada katalog yang sangat terbatas atau judul yang dianggap sangat penting. Di sini tidak dijelaskan secara rinci bagaimana mereka mengatasi masalah tersebut, tetapi distribusi yang lebih luas adalah hal yang menggembirakan
Mengenai pihak yang tidak menyukai grain, segala sesuatu secara alami memiliki noise atau grain sampai tingkat tertentu. Itu ada bahkan pada sensor digital terbaik, bahkan pada mata
Kegunaannya lebih dari sekadar efek estetika. Ia meningkatkan ketajaman yang dirasakan dan cenderung menyamarkan cacat seperti banding warna atau artefak kompresi
Namun itu bukan berarti semua noise dan grain itu baik. Bisa jadi tidak terhindarkan karena keterbatasan teknis, bisa merupakan hasil keputusan kreatif yang buruk, dan bisa mengganggu
Tetapi menurut saya alternatif berupa menerapkan penghilangan noise pada semuanya jauh lebih buruk. Banyak kamera saat ini melakukannya secara default, dan di mata saya penghalusan akibat penghilangan noise sering terasa tidak realistis dan jauh lebih mengganggu
Saya tidak paham dengan pernyataan “grain = realisme”. Di mata saya yang sebenarnya tidak ada grain
Namun saya mengakui peran grain sebagai alat artistik, jadi teknologinya sendiri tetap menarik
Kalau melihat sekitar, hampir semua permukaan memiliki tekstur halus dalam bentuk tertentu dan tidak seragam secara visual. Saat hal itu direkam sebagai video, tekstur halus berkurang karena optik kamera, resolusi terbatas, dan perataan oleh kompresi. Film grain memasok sebagian rangsangan visual frekuensi tinggi yang hilang
Mata dan otak kita menyukai rangsangan frekuensi tinggi seperti itu, dan tidak terlalu rewel apakah pola noise asli dari adegan semula direproduksi secara tepat. Karena itu encoder x265 untuk membuat video H.265 memang tidak punya sintesis grain, tetapi punya parameter psy-rd. Ini lebih dekat ke “buat video terkompresi tampak sama ‘berenergi’ seperti sumbernya, meski energi itu tidak berada persis di posisi yang sama”, sementara psy-rdoq lebih dekat ke “secara umum lebih pilih energi yang lebih tinggi”
Dengan menyesuaikan parameter seperti ini, video terkompresi bisa dibuat tampak lebih baik tanpa menyimpan lebih banyak data
Untungnya mata kita jauh lebih sensitif daripada kamera. Namun “realisme” di sini berasal dari cara sesuatu ditangkap dengan teknologi pada masa itu. Tidak berbeda dari noise gramofon atau cara sinyal CRT menjadi buram. Itu “nyata” bagi teknologi yang digunakan sutradara film, dan bagi cara yang mereka tahu akan digunakan penonton untuk menonton film
Sama seperti sapuan kuas Van Gogh yang nyata bagi lukisannya. Kita tentu tidak ingin mengamplas lukisan cat minyak sampai rata. Sebab itulah realitas medium aslinya. Karena itu, pada cetakan digital film pun kita jadi ingin mempertahankan realitas sumber aslinya semaksimal mungkin
Jika tahu banyak tentang suatu topik, kita bisa membaca banyak sejarah di dalamnya, dan itu juga mengubah emosi
Seorang anak yang menonton sketsa Buster Keaton sambil menahan napas, terkikik, dan menikmatinya, dan seorang kritikus film yang tahu film serta kamera apa yang dipakai, apa arti abstraksi adegan, bahkan seperti apa kain kostum Keaton, akan memiliki pengalaman estetis subjektif yang berbeda terhadap medium yang sama
Selera estetis subjektif berada di ranah kognisi. Kita membutuhkan teori kecerdasan formal yang dipetakan ke otak manusia, dan fenomena subjektif seperti ini pada akhirnya bermuara pada pemrosesan data yang dipersonalisasi dan kondisi awal
Film grain yang kontras dengan animasi cel yang bersih juga bisa membuat orang lebih mudah menangguhkan ketidakpercayaan. Sebab mereka telah belajar bahwa ketiadaan grain berkaitan dengan animasi yang tidak realistis, medium tertentu, dan CGI. Karena video rumahan dan berita memiliki grain serta kualitas rendah, grain menjadi berkorelasi dengan yang “nyata”
Menurut saya tidak ada yang lebih dalam dari itu. Kita adalah produk zaman. Empat puluh tahun lagi, mediumnya bisa berubah sehingga film grain dikaitkan dengan surealitas, atau karena pada dasarnya noise, bisa saja dihilangkan sepenuhnya
Saya tidak terlalu tahu psikologi visual di baliknya. Bisa jadi ini menambahkan frekuensi tinggi yang tersapu oleh kompresi, atau bekerja seperti semacam dithering
Soal mata, dari sudut pandang fisika kuantum, sepertinya benar bahwa mata pun memiliki grain. Hanya saja kita tidak menyadarinya karena otak menyaringnya. Saya tidak begitu tahu bagaimana hal ini berinteraksi dengan film grain
Rasanya para pembuat kaca masa lalu pasti akan sangat terpukau bahwa kita kini bisa membuat panel kaca besar dan seragam seperti sekarang, tetapi kita malah meniru kompromi yang dulu terpaksa mereka ambil hanya karena sudah terbiasa
Pernyataan bahwa “saat menonton film klasik, gerakan halus film grain menambahkan keaslian dan nostalgia pada setiap adegan” menurut saya hanya menambahkan noise visual yang menutupi detail adegan sebenarnya
Nostalgia bisa saja melekat pada petunjuk visual yang lebih menonjol, seperti aktor lama atau kenangan lama saat pertama kali menontonnya
Pernyataan bahwa itu “berkontribusi pada realisme film” juga justru kebalikannya, karena dalam realitas tidak ada grain
Meski begitu, saya senang AV1 terus berkembang dan punya mekanisme pengganti algoritmik agar tidak membuang bitrate untuk mengenkode sampah visual. Dengan begitu, ini juga bisa lebih mudah dimatikan
Jika film grain adalah bagian dari visi sutradara, itu sama sahnya dengan pilihan menaruh musik dramatis non-diegetik di balik adegan. Itu sangat tidak autentik, tetapi sangat efektif membangkitkan emosi, dan itulah tujuan seni
Sinematografer Steve Yedlin menjelaskannya sebagai memberi sesuatu yang bisa “dipegang” oleh mata penonton
Dalam panggilan telepon seluler, codec AMR-WB secara nominal menangkap 50Hz~7000Hz. Namun itu hanya pada bitrate tertinggi yang dapat dipilih, yaitu 23,85Kbps
Pada 12,65Kbps yang paling umum, hanya sampai 6400Hz yang dimuat, sedangkan 6400~7000Hz disintesis dari frekuensi rendah dan noise. Karena adanya noise terdengar lebih baik daripada tidak ada noise
Film grain harus hilang. Zamannya sudah lewat. Foto sepia dan film bisu 16fps yang diputar pada 24fps juga sudah mati, berikutnya adalah film grain
Eastman Business Park di Rochester juga sudah dibongkar
Dan tolong berhenti menambahkan debu dan goresan ke video YouTube
Rasanya agak menjengkelkan bahwa video direkam dulu, noise dihilangkan saat pascaproduksi, lalu noise ditambahkan lagi, kemudian saat encoding noise dihilangkan lagi, dan saat decoding noise ditambahkan lagi
pencahayaan palsu, bayangan palsu, langit palsu, dan sebagainya
Sekarang semuanya palsu. Saya ingin teknologi yang bekerja dengan scan film asli. Akan bagus kalau caranya bahkan tidak memakai kompresi JPEG, yang merupakan tahap pertama hilangnya detail
Deteksi gerakan, key frame, dan delta frame tidak masalah, tetapi harus berupa video lossless. Tentu saja disimpan di Blu-ray, dan saya tidak terlalu peduli soal streaming