オーディオとビデオ - イントラ予測

H264 エンコード (イントラ予測)

イントラ予測モードでは、予測ブロックPは、符号化された再構成ブロックと現在のブロックに基づいて形成される。輝度ピクセルの場合、P ブロックは 4×4 サブブロックまたは 16×16 マクロブロックの相関演算に使用されます。4×4 輝度サブブロックには 9 種類の予測モードがあり、各 4×4 輝度サブブロックを独立して予測するため、詳細な画像符号化に適しています。16×16 輝度ブロックには 4 種類の予測モードがあり、 16×16 ルマ ブロック全体を予測し、平坦領域での画像符号化に適しています。クロマ ブロックにも、16×16 ルマ ブロック予測モードと同様の 4 つの予測モードがあります。エンコーダは通常、P ブロックとコード化されたブロックの差を最小限にする予測モードを選択します。

4×4ルミナンス予測モード

図 6.14 に示すように、4×4 ルマ ブロックの上と左のピクセル A ~ M が符号化および再構築され、コーデックで予測参照ピクセルとして使用されます。a~p は予測対象のピクセルで、A~M 値と 9 つのモードを使用して実現されます。このうち、モード 2 (DC 予測) は A ~ M の符号化画素に基づいて予測され、他のモードは必要な予測画素がすべて揃った場合にのみ使用できます。図 6.15 矢印は各モードの予測の方向を示します。モード 3 ~ 8 の場合、予測ピクセルは A ~ M の加重平均によって取得されます。たとえば、モード 4 では、d=round(B/4+C/2+D/4) になります。

ここに画像の説明を挿入
ここに画像の説明を挿入

モデル 説明する
モード0(縦) A、B、C、Dから対応するピクセル値を垂直方向に押し出す
モード1(横) I、J、K、L レベルから導出された対応するピクセル値
モード2(DC) A〜DとI〜Lの平均値からすべてのピクセル値を推定します
モード 3 (左下斜め) 45°方向の画素補間により対応する画素値を取得
モード 4 (右下斜め) 45°方向の画素補間により対応する画素値を取得
モード 5 (右垂直) 対応する画素値は26.6°方向の画素値を補間することで得られます。
モード 6 (下位レベル) 対応する画素値は26.6°方向の画素値を補間することで得られます。
モード 7 (左垂直) 対応する画素値は26.6°方向の画素値を補間することで得られます。
モード8(上位レベル) 対応する画素値は26.6°方向の画素値を補間することで得られます。

ここに画像の説明を挿入

16×16予測モード

ここに画像の説明を挿入

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-5Rt0ISof-1690336701808)(img/18.png)]

モデル 説明する
モード0(縦) 上のピクセルから対応するピクセル値を推定します。
モード1(横) 左のピクセルから対応するピクセル値を推定します。
モード2(DC) 対応するピクセル値は、上と左のピクセルの平均値から導出されます。
モード3(フラット) 線形「平面」関数と左と上のピクセルを使用して、明るさの変化が緩やかな領域に適した、対応するピクセル値を導出します。

8×8クロマブロック予測モード

各イントラ符号化マクロブロックの 8×8 色差成分は、符号化された左上の色差ピクセルから予測され、通常、2 つの色差成分は同じ予測モードを使用します。

4 つの予測モードはイントラ 16×16 予測の 4 つの予測モードと似ていますが、モード番号が異なります。その中には、DC (モード 0)、水平 (モード 1)、垂直 (モード 2)、および平面 (モード 3) があります。

ここに画像の説明を挿入

現在のブロック C のコーデックは次のように計算されます。

probableprediction mode=

​          min{prediction mode of A, predictionmodes of B}

当A (或者 B)的预测模式不可用时,

​         prediction mode of A= 2.

例えば

A ブロックと B ブロックの予測モードはそれぞれ 3 と 1 です。

   most probable mode for block C =1

エンコーダは 4x4 ブロックごとにフラグを送信し、デコーダは次のようにデコードします。

Ifflag==1, prediction mode=most_probable_mode

Ifflag==0

   If rem_intra4×4_pred_mode< most_probable_mode

​     prediction mode=rem_intra4×4_pred_mode

   else

​     prediction mode=rem_intra4×4_pred_mode+1

これは、9 つ​​の予測モードに必要な値は 8 つだけ (0 ~ 7) であることを意味します。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_39431405/article/details/131932626