可変ビット レート (VBR) エンコード

[このページに関連付けられている機能である Windows Media Format 11 SDK は、レガシ機能です。 これは、ソース リーダーシンク ライターによって置き換えられます。 ソース リーダーシンク ライターは、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、Windows Media Format 11 SDK ではなくソース リーダーシンク ライターを使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

可変ビット レート (VBR) エンコードは、定数ビット レート エンコード (CBR) の代替手段であり、一部のコーデックでサポートされています。 CBR エンコードでエンコードされたメディアのビット レートを維持する場合、VBR はエンコードされたメディアの可能な限り最高の品質を実現するよう努めています。

エンコードされたコンテンツの品質は、コンテンツが圧縮および展開されたときに失われたデータの量で決まります。 多数の要因が圧縮プロセスのデータ損失に影響を与えますが、一般的に、元のデータが複雑で圧縮率が高いほど、圧縮プロセスでより多くの詳細が失われます。

VBR エンコードには、品質ベース、制約なし、制約の 3 種類があります。

品質ベースの VBR エンコード

VBR エンコードの最初の種類は品質ベースであり、1 つのエンコード パスを使用します。 品質ベースの VBR エンコードを使用すると、ビット レートではなくデジタル メディア ストリームの品質レベルを指定できます。 その後、コーデックはコンテンツをエンコードして、すべてのサンプルが同等の品質になるようにします。

品質ベースの VBR エンコードのメイン利点は、ファイル内とファイル間で品質が一貫性があることです。 たとえば、CD からコンピューター上の ASF ファイルに曲をコピーするプログラムを作成できます。 この場合、一貫性のあるファイル サイズよりも、エンド ユーザー エクスペリエンスにとって一貫性のある品質が重要である可能性があります。 品質ベースの VBR エンコードを使用すると、コピーされるすべての曲の品質が同じになります。

品質ベースの VBR エンコードの欠点は、エンコード前にエンコードされたメディアのサイズまたは帯域幅の要件を知る方法が実際に存在しないということです。 これにより、ポータブル メディア プレーヤーや低帯域幅のインターネット接続など、メモリや帯域幅が制限されている状況では、品質ベースの VBR でエンコードされたファイルが不適切になる可能性があります。

一般に、品質ベースの VBR エンコードは、ローカル再生や高帯域幅のネットワーク接続に適しています。 そのような場合、一貫した品質により、ユーザー エクスペリエンスが向上します。

制約のない VBR エンコード

制約のない VBR エンコードでは、2 つのエンコード パスが使用されます。 制約のない VBR エンコードを使用する場合は、CBR エンコードの場合と同様に、ストリームのビット レートを指定します。 ただし、コーデックはこの値をストリームの平均ビット レートとしてのみ使用し、平均を維持しながら品質を可能な限り高くするためにエンコードします。 エンコードされたストリーム内の任意の時点での実際のビット レートは、平均値と大きく異なる場合があります。

CBR でエンコードされたストリームの場合と同様に、制約のない VBR エンコード用のバッファー ウィンドウは設定しません。 代わりに、コーデックは、エンコードされたサンプルの要件に基づいて、必要なバッファー ウィンドウのサイズを計算します。

制約のない VBR エンコードの利点は、予測可能な平均帯域幅内に留まりつつ、圧縮ストリームの品質が可能な限り高くなることです。

制約付き VBR エンコード

制約付き VBR エンコードは、プロファイルで最大ビット レートと最大バッファー ウィンドウを指定する点を除き、制約のない VBR エンコードと同じです。 その後、コーデックは最大値を使用して、データを圧縮する方法を決定します。 最大値を十分に高く設定すると、制約付き VBR エンコードでは、制約のない VBR エンコードと同じエンコードされたストリームが生成されます。

エンコード方法の選択

コーデック機能

ストリームの構成

VBR ストリームの構成

定数ビット レート (CBR) エンコード

2 パス エンコード

Two-Pass エンコードの使用