VCU は次のレート制御モードをサポートしています。
- 可変ビットレート (VBR)
- 固定ビットレート (CBR)
- 低レイテンシ
レート制御プロセスは MCU ファームウェアが処理します。レート制御プロセス中、信号 (ソフトウェア API または FPGA 信号) はトリガーされません。
VBR
VBR を使用する場合、エンコーダー バッファーはアンダーフロー (空) になることが可能で、最大ビットレート (バッファリング モデルで使用する伝送ビットレート) をターゲット ビットレートより高くできます。したがって、VBR ではバッファー制約が緩和され、単純なコンテンツに対するビットレートを下げ、複雑なフレームにより多くのビットを割り当てることで品質を改善できます。VBR モードでは、最大値を指定してビットレートを制約し、可能な限りターゲット ビットレートが維持されます。CBR 同様、QP を大きくすることによってバッファー アンダーフローを避けることができます。ただし、ターゲット ビットレートが最大ビットレートを上回ることがあります。したがって、QP を少しずつ大きくする必要があります。バッファー オーバーフローが発生すると QP が変化せず、ビットレートが低下します。
CBR
CBR の目標は、1 ~数 GOP のレベルで平均してターゲット ビットレートを達成すること、およびデコーダー バッファー オーバーフローおよびアンダーフローを避けながら HRD (Hypothetical Reference Decoder) モデルに準拠することにあります。CBR モードでは、1 つのビットレート値でターゲット ストリーム ビットレートと出力/送信 (リーキー バケット) ビットレートの両方を定義します。リファレンス デコーダー バッファーには、Coded Picture Buffer (CPBSize) と Initial Delay のパラメーターがあります。CBR レート制御モードは、バッファー オーバーフローおよびアンダーフローを避けながらビットレートを一定に保つようにします。バッファー アンダーフローが発生した場合、QP の値を大きくして (最大値は MaxQP) 次のフレームのビット サイズを小さくします。バッファー オーバーフローが発生した場合、QP の値を小さくして (最小値は MinQP)、ビット サイズを大きくします。
低レイテンシ
フレームを複数のスライスに分割し、VCU エンコーダー出力とデコーダー入力はスライス モードで動作します。VCU エンコーダー入力とデコーダー出力は、フレーム モードのままです。