「エンコード方法」トピックで詳しく説明されているように、可変ビット レート (VBR) エンコードは、コンテンツ品質の一貫性を向上させるために使用されます。 バッファー パラメーター (ビット レートとバッファー ウィンドウ) を除き、定数ビット レート (CBR) ストリームをエンコードするのと同じ方法で VBR ストリームを構成します。 このセクションでは、VBR ストリームを構成する方法について説明します。
品質ベースの VBR の構成
品質ベースの VBR メソッドを使用したエンコードでは、定義済みのバッファー パラメーターは必要ありません。 代わりに、エンコーダーが適切なバッファー パラメーターを動的に決定するために使用する品質レベル (0 ~ 100) を指定します。 このエンコード モードでは、エンコード パスが 1 つだけ使用されます。
オーディオ コーデックでサポートされている品質ベースの VBR 出力の種類を列挙できます。 出力の種類を設定するときは、DMO によって返される型のいずれかを使用する必要があります。 詳細については、「 特定のエンコード モードのオーディオの種類の列挙」を参照してください。
品質ベースの VBR ビデオ ストリームを構成するには、次の表に示すプロパティを設定する必要があります。
プロパティ | Description |
---|---|
MFPKEY_VBRENABLED | VARIANT_TRUEに設定します。 |
MFPKEY_VBRQUALITY | 0 ~ 100 の目的の品質値に設定します。 すべての品質値が不連続の設定を表すわけではありません。 詳細については、プロパティの説明を参照してください。 |
制約のない VBR の構成
制約のない VBR エンコードを使用すると、エンコーダーは明示的なバッファー制限なしで個々のサンプルのサイズを変更できます。 ただし、結果のコンテンツの期間の平均ビット レートは、指定した値以下である必要があります。 制約のない VBR には、2 つのエンコード パスが必要です。
オーディオ コーデックでサポートされている 2 パス VBR 出力の種類を列挙できます。 出力の種類を設定するときは、DMO によって返される型のいずれかを使用する必要があります。 詳細については、「 特定のエンコード モードのオーディオの種類の列挙」を参照してください。
制約のない VBR ビデオ ストリームを構成するには、次の表に示すプロパティを設定する必要があります。
プロパティ | Description |
---|---|
MFPKEY_VBRENABLED | VARIANT_TRUEに設定します。 |
MFPKEY_PASSESUSED | 2 に設定します。 |
MFPKEY_RAVG | 目的の平均ビット レートに設定します。 |
VBR Peak-Constrained構成
ピーク制約付き VBR は、ストリームの期間中の平均ビット レートに限定されるという点で、制約のない VBR に似ています。 さらに、ピーク制約付き VBR はピーク バッファーに準拠しています。 このバッファーは、平均ビット レートとバッファー ウィンドウによって CBR バッファーが記述されるのと同様に、ピーク ビット レートとピーク バッファー ウィンドウを使用して記述されます。 このモードにより、エンコーダーは、ピーク時の制限に従いながら、個々のサンプルをエンコードする方法を柔軟に行うことができます。 これは、DVD プレーヤーなど、考慮する必要があるハードウェア制限があるデバイスのチップによってデコードが実行される場合に特に便利です。
サポートされているピーク制約付き VBR オーディオ エンコーダー出力の種類は、制約のない VBR に対して列挙された型と同じです。 DMO にピーク値を設定し、配信された型を使用します。 詳細については、「 特定のエンコード モードのオーディオの種類の列挙」を参照してください。
ピーク制約付き VBR ビデオ ストリームを構成するには、 IPropertyBag::Write メソッドを使用して、次の表に示すプロパティを設定する必要があります。
プロパティ | Description |
---|---|
MFPKEY_VBRENABLED | VARIANT_TRUEに設定します。 |
MFPKEY_PASSESUSED | 2 に設定します。 |
MFPKEY_RAVG | 目的の平均ビット レートに設定します。 |
MFPKEY_RMAX | 目的のピーク ビット レートに設定します。 |
MFPKEY_BMAX | ピーク ビット レートに対応するバッファー ウィンドウに設定します。 |
注意
ピーク ビット レートを平均ビット レートの少なくとも 2 倍に設定することをお勧めします。 ピーク レートを低い値に設定すると、コーデックがピーク制約付き VBR ではなく 2 パス CBR としてコンテンツをエンコードする場合があります。
関連トピック