Bフレーム中のダイレクトマクロブロックで使われる動き予測の方式を決める。
- none:ダイレクトマクロブロックを使わない。
- spatial:モーションベクトルを近接ブロックから外挿 (default)。
- temporal:モーションベクトルを後続のPフレームから補間。
- auto:コデックが各フレーム毎に空間軸と時間軸を決定。
空間軸予測と時間軸予測は速度もPSNRも概ね同じ。どちらが適しているかは映像内容によって異なる。
Autoの方が僅かに良いが、遅い。direct_pred=noneは速度も遅く、品質も低い。
原文
Determines the type of motion prediction used for direct mac-
roblocks in B-frames.
none Direct macroblocks are not used.
spatial Motion vectors are extrapolated from neighboring blocks.(default)
temporal Motion vectors are interpolated from the following P-frame.
auto The codec selects between spatial and temporal for each frame.
Spatial and temporal are approximately the same speed and PSNR,
the choice between them depends on the video content. Auto is
slightly better, but slower. Auto is most effective when com-
bined with multipass. direct_pred=none is both slower and lower
quality.
*ログの表示
x264 [info]: direct mvs spatial:87.8% temporal:12.2%
*ゴーストとか
- temporalはゴーストが出るとの情報有り。
- Doom9コデックコンテスト2005では決勝の2例(エンコードがより困難な素材)で空間軸(spatial)を使っている。
- diret_pred=autoの登場により、ブロック毎に適切な方式を使い分けられるようになった。spatialとtemporalの比は概ねアニメで9:1。実写で7:3程度。