web-dev-qa-db-ja.com

H.264プロファイルの違いは何ですか?

私はAfter Effects CS5でビデオをレンダリングしていましたが、フォーマット時にH.264コーデックを選択しましたが、そのフォーマットでは、Baseline、Main、Highのプロファイルがありました。

そこで私は少しテストをしました - 両方のファイルをBaselineとHighでレンダリングします。私が気付いた唯一のことは、ビデオサイズが小さいこと、Highは小さいファイルサイズを提供することでした。

私はちょうどその違いがどれが品質にとって最良でありそしてファイルサイズにとって最良であるかのようなものが何であるかを知りたかっただけです。

54
James

プロファイルとは

H.264プロファイルは、多かれ少なかれビデオを圧縮するときにエンコーダが使用できる「ベルとホイッスル」を定義します - エンコーダが有効にできるH.264機能はたくさんあります。有効にできるものは、プロファイルによって定義されます。プロファイルは、異なるデコード機能を持つデバイス間の互換性を保証します。プロファイルでは、エンコーダとデコーダはどちらも処理できる機能セットに同意します。

さまざまなプロファイルは何をしますか?

詳細なリストについては、ウィキペディアの H.264プロファイル を参照してください。

一般に、Baselineプロファイルは、エンコーダを特定の基本機能のみに制限します。ベースラインプロファイルでエンコードされたビデオは、古いスマートフォンなど、計算能力が低いデバイスでも簡単に再生できます。たとえば、AndroidおよびiOSの電話は、公式にはベースラインプロファイルでエンコードされたビデオのみを再生しますが、HighまたはMainはできません。 /。これはここ数年で少し変わりました。ここで、ますます多くの電話が実際にメインまたはハイプロファイルビデオを再生することができますが、それでも公式の勧告 はそれを言及しません .

主に低コストのアプリケーションのために、このプロファイルはテレビ会議およびモバイルアプリケーションで最も一般的に使用されます。これは、Baseline、Main、およびHigh Profiles間で共通の機能のサブセットに対応します。

MainおよびHighに機能を追加するだけです。特に注目を集めているのは、放送でよく使われるものです。

特に高精細度テレビ用途のための放送およびディスク記憶用途のための主要なプロファイル(例えば、これはブルーレイディスク記憶フォーマットおよびDVB HDTV放送サービスによって採用されたプロファイルである)。

Bスライス は、たとえばMain以上のプロファイルでのみ使用できます。それらは帯域幅を節約するために使用することができますが、デコードすることはより困難です、それはいくつかのデバイスがそれらをサポートしないかもしれない理由です。

それは品質とどう関係がありますか?

プロファイルは間接的に品質に影響を与えるだけです。より高いプロファイルのいくつかの機能は、より低いプロファイルと比較してより低いファイルサイズで同じ品質を得ることを可能にするかもしれません。

たとえば、 CABAC エントロピーコーディング(MainおよびHigh)は CAVLCBaselineよりも効率的です。 )それはまた計算上より集中的です。そのため、エンコーダに一定のビットレートを費やすと、CAVLCを使用した場合よりもCABACを使用した場合の方がはるかに高品質のビデオを作成できるようになります。

Highプロファイルを使用してファイルサイズを小さくした理由も説明します。明らかに、一定の品質レベルを設定し、エンコーダはより高度な圧縮技術を使用してビデオを作成できます。Baselineプロファイルと同じ品質ですが、サイズが小さいファイル。

それで…あなたはどちらを使うべきですか?

いくつかの基本的な規則:

  • Baselineprofile古いモバイル機器をターゲットにしている場合
  • MainまたはHighprofileウェブストリーミング、長期保存、PCまたはMac、Bluをターゲットにしている場合-rayオーサリングなど.
75
slhck