データや信号を一定の規則に基づいて変換することをエンコード、元に戻すことをデコードといい、このエンコードとデコードを行う規格が「コーデック」です。動画は静止画の連続であり、さらに音声を含めるとどうしてもファイルサイズが大きくなってしまいますが、コーデックによってファイルサイズを圧縮することができます。4K解像度が当たり前になりつつある時代に登場したコーデック「HEVC」「AV1」「VVC」について、ハードウェア系ニュースサイトのChips and Cheeseが比較検証を行っています。
Codecs for the 4K Era: HEVC, AV1, VVC and Beyond – Chips and Cheese
https://chipsandcheese.com/2023/04/16/codecs-for-the-4k-era-hevc-av1-vvc-and-beyond/
◆「HEVC」「AV1」「VVC」とは?
動画のコーデックで最も主流だったのが、MPEG-LAのH.264/AVC(Advanced Video Coding)でした。AVCがどうやってムービーを圧縮するのかについては以下の記事を読むとわかります。
幅広く利用される動画圧縮コーデック「H.264/MPEG-4 AVC」はどうやって巨大なサイズのムービーを劇的に圧縮するのか? – GIGAZINE
AVCを使用するにはMPEG-LAにライセンス料を支払う必要がありましたが、CiscoがOpenH264をBSDライセンスでリリースしたことで広く普及しました。その後、AVCの後継といえるHEVC(High Efficiency Video Coding)が登場しましたが、ライセンス料や法的な問題が絡んだためにYouTubeやFirefoxは採用を見送りました。そのため、HEVCが登場して10年近く経ってもなおAVCが主流のコーデックとなっています。
しかし、AVCで1080pを超える解像度をエンコードしようとすると、ビットレートを低くしたりフレームレートを落としたりしても、圧縮率の問題でファイルサイズが大きくなってしまいます。そのため、4K解像度の映像が当たり前になりつつある現代においては、H.264/AVCはやや時代遅れのコーデックであると言わざるを得ません。
2015年、Googleが率いる業界コンソーシアムのAlliance for Open Media(AOMedia)が、HEVCに変わる独自のコーデックとして「AV1」の開発をスタートし、2018年3月に正式リリースされました。
GoogleやNetflixが主導するビデオコーデック「AV1」が正式リリース、4Kストリーミングの普及に期待 – GIGAZINE
AV1はHEVC並みの圧縮率を持ちながら、オープンソースで開発されロイヤリティフリーで使うことができるという点が特徴。AV1には、YouTubeやChrome、Firefoxがすでに対応しており、今後AVCにとってかわる主流コーデックの1つになると期待されています。ただし、AV1のハードウェアエンコーディングが可能なデバイスは限られており、スマートフォンなどのモバイル機器においては記事作成時点だとまだAV1のハードウェアエンコーディングを行う手段はありません。
そして、HEVCの後継となるコーデックとして、Versatile Video Coding(VVC)がJoint Video Experts Team(JVET)によって2020年にリリースされました。VVCはHEVCよりも圧縮効率を30%~50%向上させることを目標としたコーデックで、4K・8K・16K解像度のストリーミングをサポートしておりAV1と競合する規格です。
なお、AVCとHEVCを開発したMPEG-LAは、HEVCに取って代わるライセンスフレンドリーなコーデックとしてMPEG-5 Part 1 Essential Video Coding(EVC)を開発しました。このEVCはロイヤリティフリーのLow Complexity Enhancement Video Coding(LCEVC)というサブセットを含んでおり、HEVCに相当する圧縮性能を持っているとのこと。
◆ソフトウェアや素材など
Chips and Cheeseはコーデックを比較するため、HEVCについては最もポピュラーなエンコーダー/デコーダーであるx265 3.5+95を使用したとのこと。AV1については、エンコーダーには品質と速度のバランスが取れている「SVT-AV1 1.4.1」を、デコーダーにはVideoLANのdav1d 1.1.0を使ったそうです。そして、VVCはエンコーダーにVVenC 1.7.0を、デコーダーにVVdeC 1.6.1を使用したとのこと。
また、ツールにはFFmpegを使ったそうですが、VVCは記事作成時点でFFmpegに実装されていないため、パッチを使用しているそうです。また、エンコードとデコードを行ったPCはAMD Ryzen 7950X搭載で、KVMによる仮想マシン上で実行したとのこと。また、エンコードはプリセット設定で行い、色深度は10ビットとなっています。
テストに使用したムービー素材はBlenderのオープンムービーである「Sintel」で、AVCでエンコードされた4K解像度ムービーだとのこと。Sintelがどんなムービーなのかは以下で視聴可能。
Sintel – Open Movie by Blender Foundation – YouTube
[embedded content]
また、映像品質の評価には、Netflixの映像品質評価ライブラリであるVideo Multimethod Assessment Fusion(VMAF)が採用されています。VMAFは機械学習で主観的な映像品質を予測して定量的に分析するツールで、Chips and Cheeseは平均VMAFスコア95を最高品質としています。
◆結果
HEVC(青)とAV1(橙)とVVC(緑)の圧縮効率についてまとめたものが以下のグラフ。縦軸がVMAFのスコア、横軸がビットレートです。VMAFのスコアで見ると、VVCが低ビットレートでより高い映像品質を実現できている様子。AV1とHEVCは、低ビットレートだとAV1がより高い映像品質を実現できており、高ビットレートだとHEVCの方が映像品質は高くなっています。
VMAFスコア95の映像のエンコードとデコードにかかった時間が以下。最もエンコード時間が短かったのはHEVCで、2時間34分という圧倒的な速度を見せました。一方、AV1はエンコードに18時間54分、VVCに至っては2日と10時間35分もかかったとのこと。また、デコードでもHEVCが最も速い結果を示しています。
そして、ビットレート1920kbpsでエンコードされた映像をフレームごとにVMAFで品質評価したものが以下。フレームごとの品質評価のばらつきはHEVCが最も小さく、VVCが最も大きくなっていることがわかります。つまり、「圧縮効率はVVCが最も高く、平均VMAFスコアはHEVCが最も安定している」という結果となります。
◆VMAFスコアが安定している=映像品質が高いということなのか
以下はエンコード素材である「Sintel」の1シーンで、ソースムービーをx264で再エンコードしたもの。このシーン中に含まれる11506番目のフレームは、VVCで最もVMAFが低く、HEVCでも9番目に低いVMAFスコアをたたき出したそうです。
HEVCでソースムービーをエンコードした後にx264で再エンコードし、同じシーンを切り取ったものが以下。
AV1でエンコードしてx264で再エンコードしたものだとこんな感じ。
VVCでエンコード&x264で再エンコードしたムービーが以下。
フレームごとに評価すると、「映像品質はHEVCが最も高く、VVCが最も低い」という結果になりますが、実際に映像そのものを見比べると、画質の違いはほとんど無視できるレベルといえますが、これはエンコーダーにAdaptive Quantization(AQ:適応量子化)という概念があるからだとChips and Cheeseは述べています。例えば、人間の目は映像を見ている時、動きの少ない部分よりも動きの多い部分を強く意識します。また、背景を詳細に描き込んでいても、のっぺりと描かれた手前の方を見てしまいます。そこで、エンコーダーはAQによって、人間の目が注目する場所を優先的に処理することで、背景の詳細を犠牲にしながらも被写体そのものの映像品質を向上させます。そのため、フレームごとに映像品質をチェックすると差は出てしまいますが、実際の映像を人間が見ると大きく画質に差が生まれないように感じるというわけです。
◆評価
以上の結果から、Chips and Cheeseは「バイアスを考慮した場合、同じ平均VMAFスコアであれば、AQの改善によって新しいコーデックの方が全体的に高い映像品質を主観的に実現することになります。AV1は圧縮効率の点でHEVCとほぼ同等であり、時にはそれを上回ることになります。そして、VVCは3つのコーデックの中で最も優れていることに変わりはありません」と論じていますが、VVCはまだ開発途上にあるため、ハードウェアアクセラレーションどころかVVCでエンコードされた映像を再生できるプレイヤーも限られるのがネックであることにも言及しています。さらに、VVCはHEVCと同じような特許問題を抱えているとのこと。
また、HEVCとVVCの間に生まれたAV1の最大の利点はライセンス料がかからないということで、商用利用をする上では非常に魅力的ですが、AV1はAOMediaが所有していない特許技術を回避するために非常に複雑な計算を行っており、それがエンコードに時間がかかってしまうことと電力効率が悪くなる原因となっているそうです。また、完全オープンソースを名乗っているものの、知財管理企業のSisvelが特許リストを公開し、AOMediaが権利者団体の特許を侵害していると主張しており、将来的に「完全オープンソースでロイヤリティフリー」を維持できるかはわかりません。
Chips and Cheeseは「HEVCが特許やライセンス料に悩まされていなければ、HEVC一強の時代に突入していたことでしょう」と述べ、「フリーソフトウェアのファンとして、特許を利用して利益を追求するために進歩や革新を妨げてはいけないと私は強く思います。技術そのものを見れば未来は明るいのですが、未来は気の遠くなるように複雑でもあるのです」とコメントしています。
この記事のタイトルとURLをコピーする