世界を動かす技術を、日本語で。

AV1@Scale: フィルムグレイン合成、目覚め

概要

  • Netflixは AV1 Film Grain Synthesis (FGS) を大規模導入し、映像の芸術性とデータ効率を両立
  • FGSは フィルムグレインの再現 によって圧縮効率を向上し、画質も維持
  • ビットレート削減 や再生体験の安定化など、多数のユーザーメリットを実現
  • 視覚品質評価やA/Bテストで 質的・量的な改善 を確認
  • 今後もNetflixは 映像配信技術の革新 を継続予定

AV1スケールでのFilm Grain Synthesis:Netflixによる大規模展開と映像体験の向上

  • フィルムグレイン は、クラシック映画のリアリズムや深みを演出する重要なノイズ成分
  • ランダム性が高く、 従来の圧縮技術では扱いが難しい ため、画質とファイルサイズのトレードオフが発生
  • デジタル時代でも、 カメラのセンサーノイズや意図的なグレイン付加 が映像体験を豊かに
  • Netflixは AV1 FGS をグローバルで本格展開し、芸術性と配信効率を両立

AV1におけるFilm Grain Synthesisの仕組み

  • FGSは パターンモデル強度制御 の2要素で構成
    • パターンモデル: 自己回帰(AR)モデル でグレインの空間的相関を再現し、64x64ノイズテンプレートを生成
      • AR係数{ai}を調整することで、グレインの粗さや細かさをコントロール
      • 再生時には、32x32パッチをテンプレートから抽出し動画に合成
    • 強度制御: スケーリング関数 で明るさや色ごとにグレインの強さを調整
      • ピクセル値とノイズ強度の関係を 区分線形関数 でモデル化
      • 映像の明部・暗部に応じてグレイン強度を最適化
  • エンコード時に グレインを除去して圧縮 し、パターン・強度情報をメタデータとして付加
  • 再生時に デバイス上でグレイン合成、高品質かつスムーズな再生を実現

映像品質向上・ビットレート削減・ユーザーメリット

  • FGSの活用で ビットレートを大幅削減 しつつ、フィルムグレインの芸術性を保持
    • 例:通常のAV1エンコード8274kbps→FGS有効時2804kbps(約66%削減)
    • FGS適用で 圧縮ノイズのマスキング効果 も発揮し、アーティファクトを軽減
  • 品質評価では PSNRやVMAFなどピクセル比較指標が課題 となるが、主観的評価で改善を確認
  • 1080p以上の解像度で 平均36%のビットレート削減、1080p未満は10%程度の削減
  • FGS導入により ビットストリームに若干のシンタックスオーバーヘッド が発生
A/Bテストによるストリーミング体験の改善
  • 初期・平均ビットレート がそれぞれ24%、31.6%低減
  • 再生エラー率3%減少、リバッファ回数10%減少、リバッファ時間5%短縮
  • 再生開始遅延10%短縮 で、ユーザー体験の向上
  • 高解像度(2160p)視聴比率0.7%増加 で、4Kデバイスでの恩恵拡大
  • ビットレート低下・リバッファ減少 による再生安定性向上

舞台裏:NetflixのFilm Grain挑戦

  • 2021年のAV1初導入から FGSの本格展開までの歩み
  • 2024年3月から FGSを順次拡大展開、対応デバイスで利用可能
  • The Hot Spot、Kung Fu Cult Master、Initial D、God of Gamblers II、Baahubali 2: The Conclusion、Dept. Q などでFGS体験を推奨
  • 次回は ビデオエンコーディングパイプライン の詳細をNetflix Tech Blogで公開予定

感謝と協力チーム

  • Open Connectチーム (Video Algorithms, Media Encoding Pipeline, Media Foundations, Infrastructure Capacity Planning, Open Connect Control Plane)
  • Client & Partner Technologies, Streaming & Discovery Experiences, Media Compute & Storage Infrastructure, Data Science & Engineering, Global Production Technology など多部門連携
  • デバイス認証やデータ分析、A/Bテスト、運用支援 など、各分野の専門家が貢献
  • プロダクト化最大の課題はデバイス互換性 の確保

Netflixは今後も 映像配信技術の最前線 で、より豊かな視聴体験を追求していく方針

Hackerたちの意見

この粒子は、映画の制作中にできた小さな粒から成り立っていて、単なる視覚効果以上のものなんだ。物語の深みを増したり、リアリズムに貢献したりする重要な役割を果たしてる。正直、「粒子=リアリズム」ってのは理解できなかったけど、粒子がアートのツールとしての役割を果たすのは分かるから、これはこれでクールな技術だね。

俺の目には、少なくともすごく暗い時には粒子が見えるよ。

粒子があることで、映画が実際よりも詳細に見えるって感じかな。圧縮アーティファクトやぼやけを隠すこともできるし。心理視覚的な理由は分からないけど、圧縮によって消えがちな高周波を加えてるのかもしれないし、何かのディザリングみたいに働いてるのかも。君の目については、粒子があると思うよ。量子物理学の仕組みだから、ただ脳がそれをフィルタリングしてるだけで、気づいてないだけなんだ。でも、フィルムの粒子との関係はよく分からないけどね。

人はいつも美的な好みを合理化しようとするよね。物事の理解の深さやニュアンスが、その物事のバリエーションの見え方を変えるんだ。ギターのトーンウッド、音楽のスタイル、ペイントの種類、ビールの味、映画の粒子など、何でもそう。あるテーマについて詳しいと、その歴史を知ることができて、それがその物事に対する感じ方を変えるんだ。バスター・キートンのスキットを見て、驚いたり笑ったり楽しんだ子供と、どんな映画やカメラが使われたか、さまざまな抽象がシーンに何を意味するかを知っている映画評論家では、メディアの主観的な美的体験が全然違うんだ。主観的な美的好みは認知の領域にあって、我々は人間の脳にマッピングされた知性の正式な理論が必要だと思う。こうした主観的現象は、個別のデータ処理や初期条件に集約されるんだ。フィルムの粒子とクリーンなセルアニメーションの対比には、観客が信じられない気持ちを持続させやすくする何かがあるかもしれない。粒子がないことは、非現実的なアニメーションや特定のメディア、CGIと関連付けられていると条件付けられているからね。家庭用ビデオやニュースなどは粒子があって低品質だったから、粒子は「リアル」と関連付けられる。俺の見解では、それ以上の深い意味はないと思う。俺たちは時代の産物なんだ。40年後にはメディアが変わっていて、フィルムの粒子がシュールレアリズムと関連付けられるか、完全に排除されるかもしれない。根本的にはノイズだからね。

これ、現代の窓が偽の窓枠を持ってることを思い出させるね。実際には小さな窓がいくつかあるように見せるために貼り付けられたストリップなんだ。人々はそれに慣れていて「正しい」と感じるから。昔のガラス職人たちは、今のように均一で大きなガラスシートを作れる能力に夢中になってたと思うけど、今は彼らが妥協しなければならなかったものを模倣してるんだよね。

私の視界は視覚的な雪のせいでグレインっぽい。だからゲームではフィルムグレインをオフにするんだ、視界に重なって視覚的に混乱しちゃうから。

記事では、グレインのマスキング効果について触れていて、偽っぽい圧縮アーティファクトを隠すし、懐かしさや親しみの要素もあるって言ってる。でも、もう一つの説明を加えたいな。周りを見てみて:ほとんどの表面には何らかの細かいテクスチャーがあって、視覚的に均一じゃないよね。これが動画として記録されると、カメラの光学系や解像度の制限、圧縮によるスムージングのせいで、細かいテクスチャーが減っちゃう。フィルムグレインは、失われた高周波の視覚刺激を補ってくれるんだ。私たちの目や脳はその高周波の刺激が好きで、元のシーンの正確なノイズパターンが再現されるかどうかにはこだわらない。だから、x265のビデオエンコーダー(グレイン合成がないH.265動画を生成する)は、圧縮された動画を「元の動画と同じくらいエネルギーを保つように」と言っているpsy-rdパラメータがあって、さらに「一般的に高いエネルギーを好む」と言っているpsy-rdoqパラメータもあるんだ。これらのパラメータを調整することで、データを増やさずに圧縮動画をより良く見せることができるんだよ。

グレイン=リアリズムだよ。なぜなら、実際にキャプチャされたグレインは完全にランダムなノイズじゃないから。これは本物のノイズデータなんだ。キャプチャされたシーンの一部で、シーンに微妙でリアルなディテールを加えてくれる。もし私が間違っているなら教えてほしいけど、リアルなグレインも完全にランダムなノイズだとは思えない。

デジタルカメラが使われ始めた頃は、デジタル動画がリアルに見えないって感じる人が多かったから、結構大きな問題だったんだよね。フィルムで撮った映画は一般的に見た目が良くて、粒子感もあったし。今でもその印象を持ってる人が多いかも。シネフィルは、粒子感のある古い映画(つまり、ちゃんと撮られた美しい作品)を好んで見るから、そういうのがクラシックとして愛されてるんだよね。悪いフィルム映画は見ないし、デジタルで撮った今の映画の質の幅広さに触れてるから、粒子感=良いって思っちゃうかもしれない。実際はそうじゃないのにね。とにかく、シャープさを下げるためのいいツールにはなるかも!

自己矛盾してるね。フィルムの粒子感が映像を「映画っぽく」見せるのは、昔の映画がそうだったからだよ。

私の目には粒子がないんだ。でも、夜になると暗いところでは確かに粒子が見える。微かな光の中で「キラキラ」したり「静電気」のようなものが出てくるんだ。幸いなことに、私たちの目はカメラよりもずっと感度がいい。でも、「リアリズム」はその時代の技術でどうやってキャッチされたかから来てる。これは、蓄音機のヒス音やCRT信号のぼやけ方と同じことだよ。映画監督が使った技術に対して「リアル」であることが大事なんだ。彼らが自分の映画がどう見られるかを知っていたようにね。これは、ゴッホの筆使いが彼の絵にとってリアルだったのと同じ。彼の油絵を平らに削るなんてしたくないでしょ。それが元のメディアの現実なんだ。だから、デジタルプリントがあっても、元の現実をできるだけ保ちたいんだ。

ノイズを加えることのメリットについては哲学的な疑問があるけど、ここでの例はデノイジングプロセスが全体を過度にぼかしてしまってるのが問題だね。だから、合成された粒子画像も元のものより明らかにシャープさが欠けてる。粒子自体も基本的なノイズにしか見えなくて、本当の粒子っぽくないんだよね。

映画の編集者は昔からポストプロダクションでいろんなトリックを使ってきたよね。フィルムシミュレーションありとなしで見るオプションがあったらいいな。俺の好きな映画の一つ、『ホールドオーバーズ』はフィルムシミュレーションがすごく上手くできてた。70年代が舞台だから、その時代の映画みたいに見せようとしてるんだ。俺にはすごく良く見えたけど、映画オタクなら正確じゃない点がいろいろ気になるだろうね。近い将来、Netflixがクライアント側でポストエフェクトを処理できるようになるかもしれない。色盲の人にはそのためのモードがあったり、偽の粒子をオフにできたりする機能があればいいな。

最近、最終製品でノイズやグレインを見かけると、それはおそらくポストプロダクションで追加されたものだよね。理想的には、スタジオは配信業者にノイズのないソースとグレイン合成パラメータを提供するべきだと思う。ボーナスとして、多くの視聴者はそれをオフにするオプションを歓迎するだろうね。

それと合成されたグレイン画像は、ソースよりも明らかにシャープさが欠けている。 確かにそうだけど、特定のビットレートで(非常に高いビットレートに達するまでは)、圧縮されたオリジナルは通常、オリジナルのグレインをエンコードするのに多くのビットを使うから、見た目が悪くてシャープさが失われるんだ。結果として、そのオリジナルのグレインは広い範囲に「ぼかされて」しまって、マディに見える。実際のシーンのシャープさが失われるのは、シャープなグレインをエンコードしようとして(そしてしばしば失敗して)いるから。フィルムグレイン合成は帯域幅が限られているストリーミングには理にかなっているけど、例を見れば合成されたグレインはあまりグレインらしく見えないのには同意するよ。そして、デノイジングの量や方法によっては、シーンのディテールが確実にぼやけることもある。

これを探求した映画はアントニオーニの『ブロウアップ』だよ: https://ja.wikipedia.org/wiki/ブロウアップ

それに、グレインのことを言うのは控えめすぎる。RGBノイズ効果が追加されたように見えるだけだ。フィルムグレインはRGBノイズには見えない。私にとって、フィルムグレインはフィルムのフィルムらしさを与える要素の一部に過ぎない。ハイライトがクリップするのではなく、ぼんやりと広がる感じ。それに、現代のデジタル取得の超シャープさとは違って、もっと自然でオーガニックな感じがあった。SoftFXやBlack Mistタイプのフィルターを使うのもいいけど、デジタルとアナログの取得の違いがあるから、同じにはならないんだ。こういう見た目を作ろうとする試みは、同じように失敗し続けてる。でも、今回はクールなテックブログがあるみたいだね。フィルムグレインフィルターはずっと前からあったけど、みんなあまり気にしてない。Blu-rayの時代でも、エンコードでグレインを取り除いて再生時に適用する試みがあったけど、Netflixは新しいことを考えてるわけじゃないし、結果から見ると特にワクワクするようなこともないみたい。

同意だな。映画フィルムの近くでの見え方を研究しすぎた人間としては、これってあんまりリアルに見えないよね。結局、ただのディザリングに過ぎない。

AV1は調整可能なFGSレベルがあって、個人的にはちょっと高めに設定されてる気がする(ただし、トレードオフがあるからね;あるビットレートでは、ぼやけ+再ノイズ化が他の視覚的アーティファクトよりもずっと良くなるから、そのくらいの高さが必要になることもある)。いくつかのポイントを挙げると、- 静止画は動画品質を評価するにはイマイチな方法だよ。- 理論的に完璧なノイズ除去フィルターは、元のソースよりも常に詳細が少なく見える。なぜなら、脳や目はノイズのある画像に対してはより多くの詳細を想像するから。つまり、100%の非粒子詳細を保持するフィルターのことを言ってるんだ。ノイズによって失われた詳細を魔法のように回復するフィルターじゃないよ。

レトロゲーム好きの人たちにやらせてみて!すぐに現実と見分けがつかないフィルムグレインシェーダーを作ってくれるはず。

「スケールで」という部分が本当のポイントだね。フィルム粒子合成は、通常のAV1エンコーダーでしばらく前から利用可能だったけど、問題を避けるために手動で調整する必要があったから、限られたカタログや特に重要なタイトルでしか使われてなかった。ここでどうやってその問題を克服したのか詳しくは書いてないけど、もっと広く使われるようになってるのは嬉しいね。

こんな感じを想像してみて:クラシック映画を見ていて、フィルムグレインの微妙なダンスが、各シーンに本物らしさとノスタルジーを加えている。 それはただの視覚的ノイズで、本物のシーンのディテールを隠してしまうし、ノスタルジーは古い俳優や、初めて見た時の自分の古い思い出など、目立つ視覚的な手がかりに結びつくのを妨げるものはない... > [映画の]リアリズムに寄与している。でも現実にはグレインなんてないから、逆のことになるんだよね。 それに、AV1が進んでいるのは嬉しいし、ビットレートを無駄にする代わりに視覚的なゴミをエンコードするのではなく、アルゴリズムによる置き換え機構があるから、オフにするのも簡単になるんだ。

それはただの視覚的ノイズで、本物のシーンのディテールを隠してしまう。 現代のビデオ圧縮技術よりも多くのものを追加しているのかな? 映画におけるノイズとは、ある意味主観的なものだよね。

でも現実にはグレインなんてないから、逆のことになる。 まあ、実際には照明は本質的にランダムだから、シーンの時間制限付きキャプチャ(目がすることを含めて)はショットノイズの影響を受けるんだよね: https://ja.wikipedia.org/wiki/ショットノイズ

ドキュメンタリーは現実を正確に表現することを気にするかもしれないけど、他の映画ジャンルでは「本物らしさ」は必ずしも目標じゃないよね。もしフィルムグレインが監督のビジョンの一部なら、それはシーンの背景でドラマチックな非対話的音楽を流す選択と同じくらい有効な選択なんだ。これって本物らしくないけど、感情を引き出すのにはすごく効果的だから、アートの目的でもあるしね。

でも現実には粒子はないから、逆のことをしてるね。著者はフィルム粒子のメリットをうまく伝えられなかったと思う。彼が何を意味していたのかは分からないけど、たとえそれがただの錯覚でも、画像のシャープさやディテールの認識を高めることは確かだよ。撮影監督のスティーブ・イェドリンは、視聴者の目に「掴む」ものを与えると言ってる。

撮影した映像がまず撮影されて、次にポストでデノイズされて、再度ポストでグレインが追加されて、エンコーディングでデノイズされて、最後にデコーディングで再度グレインが追加されるのはちょっとイライラするよね。

それに気づいているのは、99.9%の動画コンテンツを消費している人たちにはいないからね。視聴者の視点からすると、ビットレートのコストなんてどうでもいい、単なる重要じゃない実装の細かい部分なんだよ。

心配しすぎだよ、全部フェイクだから。君が「映像」だと思っているものは、いろんなソースからの多層が合成されているんだ。フェイクの光、フェイクの影、フェイクの空、…

グレインを嫌うコメントに対して:すべてのものには自然にある程度のノイズやグレインがあるんだよね。最高のデジタルセンサーでもそうだし、実際、目だってそう。美的なものだけじゃなくて、役立つこともあるんだ。知覚されるシャープネスを増やしたり、色のバンディングや圧縮アーティファクトのような欠陥を隠したりするからね。もちろん、すべてのノイズやグレインが良いわけじゃない。劣った技術のせいで避けられないこともあるし、クリエイティブな選択が悪い結果を招くこともある。気を散らすこともあるけど、すべてがデノイズ処理される代替案(今のカメラの多くがデフォルトでやってること)よりは、私の意見ではずっと悪いよ。デノイズ処理によるスムージングは、しばしば非現実的で、もっと気を散らすように見えるからね。

私の問題は、グレインがコンテンツのクリエイターのクリエイティブな決定に基づいて良いということ。1と0を圧縮しているオタクたちが決めることじゃないと思うんだ。

具体例として、HBOのアニメーションを挙げるね。昔のアナログ時代の静止画を使ってるんだけど、4Kでも見た目がひどい。ランダムノイズは、ここで説明されている正確な戦略なしには圧縮できないから。

携帯電話で話すとき、コーデックAMR-WBは名目上50Hzから7000Hzをキャッチするんだけど、これはオプションの最高ビットレート23.85Kbpsの場合だけ。最も一般的なビットレート12.65Kbpsだと6400Hzまでしか行かなくて、6400Hzから7000Hzは低い周波数やノイズから合成されてるんだ。ノイズがないよりはマシに聞こえるからね!

これ、すごく面白い話に繋がった!ありがとう!

合成されたノイズは、元のノイズの詳細や情報が欠けてることを認識してないね。実際のノイズを含む高品質なエンコードを見たとき、静止画から動画を見ることで解像度が驚くほど上がるんだ。ノイズは信号の上で踊ってる感じで、24fpsでは信号はその後ろで完全にクリアなんだよ。一方、ノイズを捨てて静止画をロス圧縮してから、元の「美的」に合わせるために人工的なノイズを加えると、元の詳細はフレームごとに失われてしまう。24fpsで見ると、根本的にぼやけた視聴体験になる。しかも、微妙じゃない。古いノイズのある映画では、詳細の違いが2倍になることもあるからね。もしh.265やAV1が、常に前後のフレームを考慮しながら「ノイズ除去」フレームを構築しているなら、理論的には時間を通じての詳細の信号を発見してエンコードできるはずで、詳細の損失はないはず。でも、そうは思えないんだよね。間違ってたら教えてほしいけど。要するに、ノイズ除去と合成の比較は静止画像ではできないってこと。実際の動画を並べて比較しないと、詳細が捨てられているのか保持されているのか判断できない。ノイズはただのノイズじゃなくて、詳細でもあるんだ。

粒子はフレームごとに独立してる。シーンの物体と一緒に動くわけじゃない(動画が変にエンコードされてない限り)。合成されたノイズに明らかな時間的パターンがなければ、静止画を比較するのは問題ないはず。美的観点から言うと、AV1の合成粒子は元の動画の粒子のサイズを考慮してないと思う。だから、古いフィルムソースの大きな銀ハロゲン結晶からの粗い粒子が、合成では細かい粒子として現れるのはおかしい(これは良いフィルムノイズ除去器で軽減できるかも)。それに、フィルムの色成分を正しくモデル化してないけど、Netflixの動画ソースはしばしばクロマサブサンプリングされてるから、あんまり関係ないらしい。https://norkin.org/pdf/DCC_2018_AV1_film_grain.pdf ただ、私はこれについてカジュアルに読んだだけだから、間違ってるかもしれない。

ノイズには信号が含まれてないし、信号の上で踊るわけでもない。単なるランダムな変動が信号に加えられてるだけだ。静止フレームをいくつか平均すると、変わらない信号を保ちながらランダムなノイズが打ち消し合うから、SNRが改善される。ノイズをそのまま保つのは役に立たないと思う。あなたが見ている効果は、元の粒子の挙動に対する美的な好みか、低帯域幅のコンテンツと圧縮アーティファクト(スムージングやローパスフィルタリング)を比較しているからかもしれない(細かいディテールを保存しないことでかなりの帯域幅を節約できる)高帯域幅のバージョンと全く関係ない粒子が重なってるだけかもしれない。

まずAIや圧縮センシングでアップスケールして、複数のフレームを使ってそれを基にした動画を送ってから、再度粒子を加えるっていうのもありかもね。

これは本当にいい指摘だね。時間的な側面を考えると、伝統的なフィルムプロジェクターを思い浮かべてみて。フレームとフレームの間には、実際に短い間、完全な暗闇があるんだ。その暗闇を「ノイズ」と呼ぶこともできるけど、その瞬間に留まると元の信号は何も見えなくなる。でも、私たちの視覚システムはある程度、時間的に平均化するから、そのちらつきにはほとんど気づかないんだよね(https://en.wikipedia.org/wiki/Flicker_fusion_threshold)。ノイズや粒子も似たように認識されていて、信号や画像の安定した部分と比べると目立たなくなると思う。天体写真家はノイズのある画像を重ねて、より高いSNRの画像を得るんだ。私たちの脳もそれに近いことをしていると思うけど、それは存在しない詳細を幻覚しているわけじゃない。記録されたノイズは時間が経つにつれて平均に戻るし、その平均が実際の信号のより明確な表現を示すんだ(ただし、系統的なノイズやランダムでないノイズのせいで完全ではないけど、そこまで重要じゃないことが多い)。個々のフレームで動作するデノイジングアルゴリズムにはその文脈がないから、詳細を失ったり、推測で補おうとしたりするんだ。AV1は特定のアルゴリズムを指定していないから、理論的には賢いアルゴリズムが時間的な文脈を使って追加の詳細を保つことができるかもしれないね。

フィルム粒子はもう終わりにすべきだ。時代遅れだよ。セピア写真や、16 FPSのサイレント映画を24 FPSで再生するのはもう死んでる。次はフィルム粒子だ。ロチェスターのイーストマンビジネスパークは解体されたし、YouTubeの動画にホコリや傷を入れるのはやめてほしい。ありがとう。

フェイクフィルム粒子ならいいけど、すべてのフィルム粒子が消えるべきだって言うのは、油絵の筆使いが消えるべきだって言ってるようなもんだよ。

でも、なんでフィルムグレインは消える必要があるの?

数年前、デジタルプロジェクションが普通になり始めた頃を覚えてる。映画を見たんだけど(どの映画かは覚えてない)、オープニングシーンで「なんでクレジットが揺れてるんだ?あ、これ実際にフィルムで投影されてるんだ!」って思ったのを覚えてる。50代前半だからフィルムのことはよく覚えてる。ビニールやカセットと同じで、もう戻りたくないし、芸術的な選択でない限り、劣った技術を模倣した映画は見たくないな。