ビデオバッファリング ベリファイア(VBV) は理論上のMPEGビデオ バッファ モデルであり、エンコードされたビデオ ストリームが正しくバッファリングされ、デコーダー デバイスで再生されることを確認するために使用されます。
定義上、VBVは、入力がVBV準拠のストリームである場合、オーバーフローもアンダーフローも発生しません(low_delayの場合を除く)。したがって、そのようなストリームをエンコードする際には、VBVの要件に準拠することが重要です。
VBVを考える一つの方法は、最大ビットレートと最大バッファサイズの両方を考慮することです。ビデオデータがバッファにどのくらいの速度で入力されるかを知る必要があります。ビデオデータのビットレートは常に変化するため、データの入力速度を示す定数は存在しないことに注意してください。より大きな問題は、バッファがオーバーフローするまでの時間がどれくらいかということです。バッファサイズが大きいということは、デコーダーが高ビットレートを長時間許容できることを意味しますが、バッファは無限ではないため、最終的には大きなバッファでもオーバーフローが発生します。
操作モード
VBVには、固定ビットレート(CBR)と可変ビットレート(VBR)の2つの動作モードがあります。CBRでは、デコーダーのバッファは一定のデータレートで時間の経過とともに満たされます。VBRでは、バッファは一定ではないレートで満たされます。どちらの場合も、データは符号化されたフレームの実際のサイズに応じて、さまざまなチャンクでバッファから削除されます。
標準
H.264およびVC-1標準では、VBV はHypothetical Reference Decoder (HRD) と呼ばれる一般化バージョンに置き換えられています。
参考文献
- MPEGチュートリアル - ビデオバッファリング検証ツール 2016年11月12日アーカイブ- Wayback Machine