レート歪み最適化(RDO )は、ビデオ圧縮におけるビデオ品質を向上させる手法です。この名称は、ビデオをエンコードするために必要なデータ量(レート)に対して、歪み(ビデオ品質の低下)の量を最適化することに由来します。主にビデオエンコーダで使用されますが、レート歪み最適化は、ファイルサイズと品質の両方に同時に影響を与える決定を下す必要があるあらゆるエンコード状況(画像、ビデオ、オーディオなど)において、品質を向上させるために使用できます。
エンコードの決定を行う従来の方法は、ビデオエンコーダが最高品質の出力画像が得られる結果を選択することです。しかし、この方法には、選択によってビット数が増える一方で、品質上のメリットが比較的少ないという欠点があります。この問題の一般的な例の 1 つは、動き推定 [ 1 ]、特に 1/4 ピクセル精度の動き推定の使用に関するものです。 動き推定中に ブロックの動きに余分な精度を加えると品質が向上する可能性がありますが、場合によっては、その追加の品質は、動きベクトルをより高い精度でエンコードするために必要な追加のビット数に見合うものではありません。
レート歪み最適化は、ビデオ品質指標として機能し、ソース素材からの偏差と各決定結果におけるビットコストの両方を測定することで、前述の問題を解決します。ビットは、ビットコストにラグランジュ関数(特定の品質レベルにおけるビットコストと品質の関係を表す値)を乗じることで数学的に測定されます。ソースからの偏差は通常、PSNRビデオ品質指標を最大化するために、平均二乗誤差として測定されます。
ビットコストの計算は、最新のビデオコーデックのエントロピーエンコーダによってより困難になっています。レート歪み最適化アルゴリズムは、テスト対象のビデオの各ブロックをエントロピーコーダーに渡して、実際のビットコストを測定する必要があります。MPEGコーデックでは、プロセス全体は離散コサイン変換、量子化、エントロピー符号化で構成されます。このため、レート歪み最適化は、単純な絶対差の合計(SAD)や絶対変換差の合計(SATD)など、他のほとんどのブロックマッチングメトリックよりもはるかに低速です。そのため、通常はH.264/AVCで異なるパーティションタイプを選択するなど、動き推定プロセスの最終ステップでのみ使用されます。