映像を「全部描く」時代の終わり | 映像圧縮とDLSSの共通点
映像技術は長い間、「いかに高画質な映像を、より少ないデータ量で扱うか」という方向で進化してきました。MPEGによる動画圧縮も、その代表例です。
しかし最近では、単純に圧縮率を上げるだけではなく、「そもそも、全部のピクセルを送ったり描いたりする必要があるのか?」という方向に変わりつつあります。この考え方は、次世代映像圧縮だけでなく、NVIDIAのDLSSのようなリアルタイムレンダリング技術にも共通しています。今回はこのあたりを整理してみようと思います。
MPEG-1から始まった映像圧縮
MPEGは、映像や音声を効率よく圧縮するために策定されてきた規格群です。大まかに見ると、次のように発展してきました。
MPEG-1
└─ VCD、MP3
↓
MPEG-2
└─ DVD、テレビ放送
↓
MPEG-4
├─ H.264 / AVC
├─ AAC
└─ MP4
↓
H.265 / HEVC
↓
H.266 / VVC
↓
Beyond VVC
MPEG-1は、CD-ROMなどで動画を扱うことを想定した初期の規格です。代表的なものにはMPEG-1 VideoとMPEG-1 Audioがありますが、このうちMPEG-1 Audio Layer IIIが、現在でもよく知られているMP3です。
MPEG-2とMPEG-3
MPEG-2では、テレビ放送やDVDなど、より本格的な映像用途に対応しました。DVD-Videoやデジタルテレビ放送、衛星放送、MPEG-2 Transport Streamなどが代表的な用途で、特に放送用途では非常に長く使われてきました。
ちなみにMPEG-3は、もともとHDTV向けの規格として開発されていましたが、MPEG-2を拡張すればHDTVにも対応できることが分かり、開発途中でMPEG-2へ統合されました。そのため、MPEG-3という完成した独立規格は存在しません。なおMP3はMPEG-3ではなく、MPEG-1 Audio Layer IIIの略称です。地味に誤解されがちなポイントです。
MPEG-4とH.264
MPEG-4になると、単なる1つの映像コーデックではなく、多数の規格を含む巨大な規格群になります。中でもよく使われるのが MPEG-4 Part 10(= H.264 = AVC)と、MPEG-4 Part 14(= MP4コンテナ)です。
ここで重要なのは、MP4とH.264は別物という点です。MP4は映像や音声を格納する「箱」であり、H.264は映像を圧縮する「コーデック」です。
その後、映像圧縮の主流はH.264/AVC → H.265/HEVC → H.266/VVCと発展してきました。目的は一貫していて、同じような画質を、より少ないビットレートで表現することです。言い換えると、できるだけ少ないデータとデコーダ側での再構成を組み合わせて、元映像に近い映像を作る、という考え方です。
H.266の次は?
現在は、H.266/VVCのさらに先となる次世代映像圧縮技術の標準化、いわゆるBeyond VVCも進み始めています。ここでは単純な圧縮効率だけでなく、UHDやHDR、ゲーム映像、XR、Screen Content、Machine Vision、AI処理なども重要になっていて、特に注目されているのがNeural Video Codingです。
従来の動画圧縮は、映像を動き予測・変換・量子化・エントロピー符号化という流れで処理してビットストリームにするのが基本でした。これに対してニューラル映像圧縮では、映像をNeural Networkに通して特徴量・潜在表現に変換し、それを圧縮して、再度Neural Networkで映像を再構築する、という方式が可能になります。つまり、元映像のピクセルをそのまま保持するのではなく、映像を再現するために必要な特徴だけを保存する、という考え方です。
「AIが見る映像」の圧縮
さらに、映像を見る相手が人間ではないケースも増えています。例えば監視カメラでは、Camera → 動画を圧縮 → Network → Server → AIで人物検出、という流れが一般的です。
しかし将来的には、Camera側で特徴量を抽出し、AIに必要な情報だけを圧縮してServerに送り、そこで物体認識を行う、という構成も考えられます。つまり、人間が見て綺麗な映像ではなく、AIが認識するために必要な情報を優先して圧縮するわけです。
そしてDLSS
ここでゲーム側を見ると、非常によく似た方向の技術があります。NVIDIAのDLSSです。
従来のレンダリングは、GPUがすべてのピクセルを描画して完成画像を作る、という考え方が基本でした。しかしDLSS Super Resolutionでは、低解像度でレンダリングした映像に、Motion VectorやDepth、過去フレームの情報を加えてNeural Networkに通し、高解像度画像を再構築します。つまり、全部のピクセルを計算しなくても、最終的に必要な画像が作れればよい、という考え方です。
DLSSは単なるアップスケーリング技術から、徐々に範囲を広げています。
- Super Resolution: 低解像度でレンダリングした映像から、AIで高解像度の映像を再構築する
- Ray Reconstruction: レイトレーシングで不足している情報やノイズを、AIを使って再構成する
- Frame Generation: 実際にはレンダリングしていないフレームをAIで生成する。Multi Frame Generationでは、複数の中間フレームを生成する方向にも発展している
Neural Rendering
さらに先では、Neural Texture CompressionやNeural Materials、Neural Shaders、Neural Radiance CacheといったNeural Renderingという考え方が重要になります。
従来は、TextureやGeometry、Material、Lightingといった情報をGPUで大量に計算してPixelにする、という流れでした。これに対して将来的には、それらの情報の一部だけを計算し、圧縮された特徴量にしてNeural Networkに通し、最終画像を作る、という構成が増えていく可能性があります。
MPEGとDLSSは似ている
動画圧縮とリアルタイムレンダリングは、用途こそ違いますが、考え方を比較すると非常によく似ています。
| 動画圧縮 | DLSS / Neural Rendering |
|---|---|
| 全ピクセルを送ると重い | 全ピクセルを描くと重い |
| 不要な情報を削る | 不要な計算を削る |
| 必要なデータだけ送る | 必要な情報だけ描画する |
| デコーダ側で再構築する | Neural Networkで再構築する |
| 通信量を減らす | 描画負荷を減らす |
かなり単純化すると、映像圧縮は送らなくていいものは送らない、DLSSは描かなくていいものは描かないという違いです。
「全部のピクセル」が必要とは限らない
これまで映像技術では、解像度を上げる、フレームレートを上げる、色数を増やすというように、扱う情報量を増やす方向の進化が注目されてきました。しかし4K、8K、120fps、レイトレーシング、VRなどへ進むほど、必要な計算量や通信量は急激に増えていきます。そこで、本当に全部を正確に計算する必要があるのか、という発想が重要になってきます。
この考え方はVRとの相性も特に良いです。VRでは高解像度・高フレームレート・低遅延・左右2画面を同時に要求されるため、単純にすべてを高品質で描画すると非常に大きなGPU負荷がかかります。そこでFoveated RenderingやDLSS、Frame Generation、Neural Rendering、Neural Compressionといった技術を組み合わせることで、人間が実際に認識できる部分だけを高品質に処理する、という方向が重要になっていくと考えられます。
まとめ
映像技術は、全部のピクセルを扱う時代から、必要な情報だけ持って不足分を再構築する時代へ移りつつあります。
動画圧縮ではH.264 → H.265 → H.266 → Beyond VVC → Neural Video Codingという流れがあり、リアルタイムグラフィックスではNative Rendering → DLSS Super Resolution → Ray Reconstruction → Frame Generation → Neural Renderingという流れがあります。
一見すると別々の技術ですが、目指している方向には共通点があります。全部の情報を処理するのではなく、必要な情報だけを残し、残りは再構築する、という方向性です。もしかすると将来、「映像を送る」「映像を描く」という言葉自体の意味が、今とは少し違うものになっているかもしれません。