2024-04-15

LCEVCとMulti-Layer VVCのはなし

CAEについて

3年前から弊社ではシーンベースでのエンコーディングに力を入れていました。これを Content Aware Encoding (CAE) と呼びます。

CAEは最近増えてきているようで、NetflixもCAEベースになっているようです。

CAEの特徴としては、ビットレート変化量が時間ごとに変わることが特徴で、通常、ビットレートはコンテンツごとに最適な設定がされますが、CAEの場合はシーンごとに最適なビットレートが設定されます。例えばスポーツは動きが多いので8Mbpsですが、アニメの場合は動きが少ないので4Mbps、といった感じでシーンごとにビットレートが動的に変わる感じです。

このCAEを知らないまま、3年前にこの提案をしていたのですが、いつの間にか時代が追い付いていたようです。

コンテンツ符号化の話でいうと、LCEVCとMulti-Layer VVCに注目です。

EVC

LCEVCを語る前に、EVCについてご紹介しましょう。

EVCとは、MPEG-5で規定されているEssential Video Codingのことです。H.265/HEVCでは、パテントプールによる特許問題があり、なかなか普及しませんでした。これを狙って、ロイヤリティフリーな技術を使ったものがEVCです。EVCの目標はHEVCと同等の圧縮率を目指しています。

ロイヤリティフリーといえば、Ciscoが公開したH.264ライブラリを思い出しますね。

OpenH264とは何か?

このEVCですが、ロイヤリティフリーの半面、技術の制約がとても強く、現代では枯れているといってもいいアルゴリズムが組み合わさっているため、どうしても符号化パフォーマンスや量子化に課題は出てきています。そのため、HEVCを超えることはなかなか難しいと言われています。

LCEVC

このEVCですが、マルチレイヤー符号化のアプローチとして、LCEVCと呼ばれる符号化が誕生しました。

LCEVCとは、Low Complexity Enhancement Videocodingのことで、EVCとは異なり、V-Nova社がライセンスを持っています。デコードには適用されませんが、エンコードする際はライセンス契約が必要です。

LCEVCのすごいところは、低解像度のストリームに対して、差分データにより、アップスケーリングが可能ということです。

例えば、元素材の4分の1の解像度でエンコードされたH.264ストリームがあるとしましょう。これをオリジナルの解像度のストリームと比較して、エンハンスメントツールを使い、スパースデータ(残差データ)として取り出し、これをもとに、デコーダ側で4分の1のストリームからスパースデータを活用してオリジナルサイズまで復元を行うというものです。

LCEVCの主な特徴として、演算の複雑性がなく、モバイルデバイスでも利用可能なところや、様々なビデオコーデックに対応しており、ベース部分ではハードウェアデコードが活用可能であることや、ブロック間予測ではなく、独自のトランスフォーム処理によって並列に行える点などが挙げられます。

LCEVCは、EVCと異なり、これ自体が動画コーデックではなく、コーデックを補う技術であることは注意してください。

このLCEVCと似たものとして、マルチレイヤーVVCも似たような技術ですが、実際は全く違う技術のようです。

VVC

VVCとは、MPEG-I Versatile Video Codingのことで、HEVCの後継となるコーデックです。

HEVCと比べて40%向上されているといわれており、CTU(マクロブロックユニットのようなもの)は64x64から128x128に拡張されています。動き補償の進化やDCTサイズについても32x32から64x64に拡張されて圧縮率も向上しています。その他、新たなフィルターやコンテキストベースのCABACなどにも対応しています。

Multi-layer Coding / VVC

このVVCですが、 Muiti-layer Codingといって、LCEVCと似たアプローチを持ちます。

VVCのマルチレイヤー符号化では、基本的な考え方はLCEVCと一緒ですが、符号化処理が全く異なります。VVCの場合、ベースレイヤーとして、低解像度のストリームがあり、そこから高解像度の残差データをエンハンスメントレイヤーとして保持します。エンハンスメントレイヤーは積み重ねることが出来るので、480pから720p、720pから1080pと積み上げることが可能です。ここはLCEVCにはない大きな特徴で、将来的にはABRごとに各画質の動画を生成しなくてもよくなります。

VVCのマルチレイヤー符号化は、これらを標準規格として定めようとしており、LCEVCのようにサブセットではなく、VVCの仕様として入る見込みです。

現在、NHK技術研究所が中心となって、仕様化に向けて推進しています。