LoginSignup
0
0

More than 5 years have passed since last update.

AV1 specification を読む (デコード処理:イントラ予測の解説)

Last updated at Posted at 2017-08-22

イントラ予測モードの図示

AV1 specification を読む (デコード処理:イントラ予測)について、図を交えて解説します。
http://qiita.com/srmfsan/items/4e3936243baaf4975b82

AV1のイントラ予測は8方向+TM予測+DC予測で、H.264/AVCとほぼ同等です。
予測方向を示します。

IntraDirection.png

予測ブロックサイズ=変換ブロックサイズです。
予測ブロックに隣接する画素を使って、予測ブロック内の画素を生成します。

隣接画素は、1-2-1フィルタ・1-1フィルタ・単純コピーのどれかを適用します。
このページでの表記法は以下の通りとします。

IntraNotation.png

●で開始する矢印は隣接画素にフィルタを適用したものを、矢印の先の画素の予測値とするものです。
画素中心に●がある場合(上段)では、隣接3画素に1-2-1フィルタを適用します。
画素間に●がある場合(中段)では、隣接2画素に1-1フィルタを適用します。
単なる矢印(下段)では、フィルタを適用せずに画素をコピーします。

橙色の隣接画素は、その予測モードでブロックを予測する場合に参照される画素です。

では、順番に予測モードごとの処理をみていきましょう。

V_PRED, H_PRED

V_PREDは垂直方向の予測、H_PREDは水平予測の予測です。
それぞれ、上・左の隣接画素の単純コピーです。

IntraVH.png

D45_PRED, D135_PRED(45度方向の予測)

D45_PREDは右上-左下方向の予測です。
1-2-1フィルタをかけて予測します。
予測ブロック右下端だけは特殊で、1-3-0 フィルタとなります。
これは、右上方向の隣接画素の制限によるものです。

IntraD45.png

D135_PREDは左上-右下方向の予測です。
D45_PREDと同様、1-2-1フィルタをかけて予測します。

IntraD135.png

D117_PRED, D153_PRED

斜め方向の予測です。
D117_PREDでは、偶数行と奇数行に分けて図示しています。
予測方向に対する隣接画素の位置に応じて、1-2-1フィルタ、1-1フィルタを使い分けていることに注意しましょう。

IntraD117.png

D153_PREDはD117_PREDを90度回転させたものです。

IntraD153.png

D63_PRED, D207_PRED

こちらも斜め方向の予測です。

D63_PREDでは、偶数列と奇数列に分けて図示しています。
予測方向に対する隣接画素の位置に応じて、1-2-1フィルタ、1-1フィルタを使い分けていることに注意しましょう。
また、連続する2行の画素値が同じになることにも注意しましょう。

IntraD63.png

D207_PREDはD63_PREDを90度回転させたものです。

IntraD207.png

TM予測

TM_PREDは予測対象の画素の真上・真左・左上画素を使って予測します。
H.264のPlane予測、H.265のPlanar予測と似ていますが、予測対象ブロックが平面や曲面となるような予測ではありません。
傾きを予測するのではなく直接画素値を使用するので、隣接画素のテクスチャ情報を保存したまま予測することになります。

intraTM.png

隣接画素の取得

イントラ予測では、予測モードに応じて予測ブロックの右上・上・左上・左の隣接画素を必要とします。
隣接画素は常に利用可能 (available) であるわけではなく、画面端・未処理ブロックなどのために利用できない (not available) 場合があります。

ここでは、どのように隣接画素を取得するかについて説明します。

・・・後で書く


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0