AV1 対 h265 (HEVC) 対 VP9: これらの圧縮規格の違いは何ですか?

AV1 対 h265 (HEVC) 対 VP9: これらの圧縮規格の違いは何ですか?

4K でのストリーミングは新しい標準ですが、820 万ピクセルを超える情報が 16 ミリ秒ごとに送信されるため、インターネット上で 4K ビデオを保存して送信するのは簡単なことではありません。

2 時間の映画は、圧縮されていない場合、1.7 テラバイト以上のストレージを占有します。では、YouTube や Netflix などの巨大なストリーミング企業は、どのようにして非常に多くのスペースを占めるビデオを保存し、ストリーミングしているのでしょうか?

動画のサイズを縮小するためにビデオ コーデックを使用しているためではありませんが、ビデオ コーデックとは何ですか。

ビデオ コーデックとは

ビデオ コーデックの複雑さを深く掘り下げる前に、ビデオがどのように作成されるかを理解することが重要です。簡単に言えば、ビデオは静止画像のセットであり、互いにすばやく入れ替わります。

パソコンで動く動画編集ソフト

この変化速度が速いため、人間の脳は画像が動いていると考え、ビデオを見ているような錯覚を引き起こします。したがって、4K でビデオを見るときは、解像度が 2160×3840 の一連の画像を見ているだけです。この高解像度の画像により、4K で撮影されたビデオは優れたビデオ体験を提供できます。とはいえ、この高解像度の画像はビデオのサイズを大きくし、インターネットなどの帯域幅が制限されたチャンネルでストリーミングすることを不可能にします.

この問題を解決するために、ビデオ コーデックがあります。コーダー/デコーダーまたは圧縮/解凍の略で、ビデオコーデックは画像​​のストリームをデータのビットに圧縮します。この圧縮は、使用される圧縮アルゴリズムに基づいて、ビデオの品質を低下させるか、影響を与えない可能性があります。

名前が示すように、コーデックの圧縮ビットは各画像のサイズを縮小します。同じことを行うために、圧縮アルゴリズムは人間の目のニュアンスを利用して、視聴するビデオが圧縮されていることをユーザーが認識できないようにします。

逆に、解凍は逆に機能し、圧縮された情報を使用してビデオをレンダリングします。

コーデックは情報の圧縮に関して優れた仕事をしますが、同じことを行うと CPU に負担がかかる可能性があります。このため、システムでビデオ圧縮アルゴリズムを実行すると、システム パフォーマンスが変動するのが普通です。

iPad で動作するビデオ編集アプリケーション

この問題を解決するために、CPU と GPU には、これらの圧縮アルゴリズムを実行できる特別なハードウェアが付属しています。専用ハードウェアがビデオ コーデックを処理している間に CPU が目の前のタスクを実行できるようにすることで、効率が向上します。

ビデオコーデックはどのように機能しますか?

ビデオコーデックが何をするかについての基本的な理解ができたので、コーデックがどのように機能するかを見てみましょう。

彩度サブサンプリング

前に説明したように、ビデオは画像で構成されており、クロマ サブサンプリングによって各画像の情報が削減されます。これを行うために、各画像に含まれる色情報を減らしますが、この色情報の減少は人間の目によってどのように検出されるのでしょうか?

人間の目は明るさの変化を感知するのが得意ですが、色についてはそうではありません。これは、人間の目には錐体 (色の識別に関与する光受容体細胞) と比較して、桿体 (明るさの変化を検出する光受容体細胞) が多いためです。桿体と錐体の違いにより、圧縮された画像と圧縮されていない画像を比較するときに、目が色の変化を検出できなくなります。

彩度サブサンプリングを使用したさまざまなレベルのビデオ圧縮
画像クレジット: Janke at English Wikipedia/Wikimedia Commons

クロマ サブサンプリングを実行するために、ビデオ圧縮アルゴリズムは RGB のピクセル情報を輝度と色のデータに変換します。その後、アルゴリズムは圧縮レベルに基づいて画像の色の量を減らします。

冗長フレーム情報の削除

ビデオはいくつかのフレームの画像で構成されており、ほとんどの場合、これらのフレームにはすべて同じ情報が含まれています。たとえば、固定された背景に対して人が話しているビデオを想像してみてください。このような場合、ビデオ内のすべてのフレームが同様の構図になります。したがって、ビデオをレンダリングするためにすべての画像が必要なわけではありません。必要なのは、あるフレームから別のフレームに移動するときの変更に関連するすべての情報とデータを含む基本画像だけです。

したがって、ビデオ サイズを縮小するために、圧縮アルゴリズムはビデオ フレームを I フレームと P フレーム (予測フレーム) に分割します。ここで、I フレームはグラウンド トゥルースであり、P フレームの作成に使用されます。P フレームは、I フレームの情報とその特定のフレームの変更情報を使用してレンダリングされます。この方法論を使用すると、ビデオはさらにビデオを圧縮する P フレームにインターリーブされた I フレームのセットに分割されます。

モーション圧縮

ビデオを I フレームと P フレームに分割したので、次にモーション圧縮を検討する必要があります。I フレームを使用して P フレームを作成するビデオ圧縮アルゴリズムの一部。これを行うために、圧縮アルゴリズムは I フレームをマクロブロックと呼ばれるブロックに分割します。次に、これらのブロックには、あるフレームから別のフレームに遷移するときにこれらのブロックが移動する方向を定義する動きベクトルが与えられます。

ゲームプレイ画像のモーション ベクトル
画像クレジット: Blender Foundation/ウィキメディア

各ブロックのこのモーション情報は、ビデオ圧縮アルゴリズムが次のフレーム内の各ブロックの位置を予測するのに役立ちます。

高周波画像データの削除

カラーデータの変化と同じように、画像中の高周波成分の微妙な変化は人間の目では認識できませんが、高周波成分とは何でしょう? 画面に表示される画像は複数のピクセルで構成されており、これらのピクセルの値は表示される画像に基づいて変化します。

写真の一部の領域では、ピクセル値が徐々に変化し、そのような領域は低頻度であると言われています。一方、画素データに急激な変化がある場合、その領域は高頻度データを有すると分類される。ビデオ圧縮アルゴリズムは、離散コサイン変換を使用して高周波成分を削減します。

これがどのように機能するかです。最初に、DCT アルゴリズムが各マクロブロックで実行され、ピクセル強度の変化が非常に急激な領域が検出されます。次に、これらのデータ ポイントを画像から削除して、ビデオのサイズを縮小します。

エンコーディング

ビデオ内の冗長な情報がすべて削除されたので、残りのデータ ビットを保存できます。これを行うために、ビデオ圧縮アルゴリズムはハフマン エンコーディングなどのエンコーディング スキームを使用します。これは、フレーム内のすべてのデータ ビットをビデオ内で発生する回数にリンクし、それらをツリーのような方法で接続します。このエンコードされたデータはシステムに保存され、ビデオを簡単にレンダリングできます。

ハフマン符号化構造
画像クレジット: Redor/ウィキメディア

AV1 対 HEVC 対 VP9: どのコーデックが最適か?

コーデックがどのように機能するかを理解したので、AV1、HEVC、および VP9 のどれが最適かを判断できます。

圧縮率と品質

システムで多くのスペースを占有する 4K ビデオがあり、お気に入りのストリーミング プラットフォームにアップロードできない場合は、最適な圧縮率を提供するビデオ コーデックを探している可能性があります。ただし、ビデオを圧縮し続けると、提供される品質が低下することも考慮する必要があります。したがって、圧縮アルゴリズムを選択する際には、特定のビットレートで提供される品質を確認することが不可欠ですが、ビデオのビットレートは何ですか?

簡単に言えば、ビデオのビットレートは、ビデオを 1 秒間再生するのに必要なビット数として定義されます。たとえば、60 フレームで実行される 24 ビットの非圧縮 4K ビデオのビットレートは 11.9 Gb/s です。したがって、圧縮されていない 4K ビデオをインターネットでストリーミングする場合、Wi-Fi は毎秒 11.9 ギガビットのデータを配信する必要があり、毎月のデータ クォータを数分で使い果たします。

反対に、圧縮アルゴリズムを使用すると、品質を低下させることなく、選択したビットレートに基づいてビットレートを非常に小さい値にまで下げることができます。

圧縮率/品質の数値に関しては、AV1 が群を抜いており、H.265 と比較して 28.1% 優れた圧縮を提供し、VP9 と比較して 27.3% の節約を提供しながら、同様の品質を提供します。

したがって、品質を低下させずに最適な圧縮を探している場合は、AV1 が最適な圧縮率です。AV1 コーデックの優れた圧縮対品質比により、Google のビデオ会議アプリケーション Google Duo や Netflix で使用され、低帯域幅のデータ接続でビデオを送信します。

互換性

前に説明したように、ビデオ圧縮アルゴリズムは、圧縮後にビデオをエンコードします。このビデオを再生するには、デバイスで同じものをデコードする必要があります。したがって、デバイスにビデオを解凍するためのハードウェア/ソフトウェア サポートがない場合、ビデオを実行することはできません。

したがって、圧縮アルゴリズムの互換性の側面を理解することが重要です。なぜなら、多くのデバイスで実行できないコンテンツを作成して圧縮することに何の意味があるのでしょうか?

したがって、互換性を求めている場合は、20 億を超えるエンドポイントでサポートされ、すべてのブラウザー、スマートフォン、スマート TV で実行できる VP9 が最適なコーデックです。

AV1 についても同じことは言えません。より新しい、より複雑なアルゴリズムを使用してビデオのファイル サイズを縮小し、古いデバイスでは再生できないからです。ブラウザのサポートに関しては、Safari では AV1 を再生できませんが、Firefox や Chrome などのブラウザでは問題なく AV1 ビデオを再生できます。

ハードウェア サポートに関しては、Snapdragon 8 Gen 2、Samsung Exynos 2200、MediaTek Dimensity 1000 5G、Google Tensor G2、Nvidia の RTX 4000 シリーズ、Intel Xe および Arc GPU などの新しい SoC および GPU が、AV1 コーデックの高速化されたハードウェア デコーディングをサポートします。 . したがって、これらのチップセットを搭載したデバイスを所有している場合は、CPU/GPU の電力を使い果たすことなく、AV1 コーデックを使用して圧縮されたストリーミング コンテンツを楽しむことができます。

H.265 コーデックに関しては、Safari、Firefox、Google Chrome などの最も一般的なブラウザで、圧縮アルゴリズムを使用してエンコードされたビデオを問題なく実行できます。とはいえ、AV1 や VP9 と比較すると、H.265 はオープン ソースではなく、H.265 コーデックを使用するにはライセンスを取得する必要があります。このため、オペレーティング システムに付属する Microsoft の映画 & テレビ ビデオ プレーヤーのようなアプリは、デフォルトでは H.265 を使用してエンコードされたビデオを実行できません。代わりに、ユーザーは Windows ストアから追加のアドオンをインストールして、そのようなビデオを実行する必要があります。

エンコード速度

ビデオ コーデックはビデオのサイズを大幅に縮小しますが、ビデオのサイズを縮小するには、圧縮されていないビデオをソフトウェアで処理する必要があり、時間がかかります。したがって、ビデオのサイズを小さくしたい場合は、圧縮アルゴリズムを使用してビデオを圧縮するのにかかる時間を調べる必要があります。

エンコード効率に関しては、VP9 が群を抜いており、ビデオを圧縮するためのエンコード時間は H.265 や AV1 よりもはるかに短くなっています。一方、AV1 はエンコード時間が最も遅く、H.265 と比較すると、ビデオのエンコードに 3 倍以上の時間がかかる可能性があります。

どのコーデックを選択する必要がありますか?

ビデオ コーデックに関しては、すべてのコーデックが異なる機能を提供するため、完璧なコーデックを見つけることは非常に主観的です。

最高のビデオ品質をお探しの場合は、AV1 をお選びください。一方、最も互換性のあるビデオ コーデックを探している場合は、VP9 が最適です。

最後に、H.265 コーデックは、エンコードのオーバーヘッドなしで高品質と圧縮が必要な場合に最適です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です