Man / CODEC固有オプション / -x264encopts / (no)weight_b


Man / CODEC固有オプション / -x264encopts / (no)weight_b
2010-03-15 (月) 08:12:53更新
カテゴリ:x264:Bフレーム:QT7互換性:適応重み補完予測

(no)weight_b:Bフレームの適応重み補完予測

原文

Use weighted prediction in B-frames. Without this option, bidirectionally predicted macroblocks give equal weight to each reference frame. With this option, the weights are determined by the temporal position of the B-frame relative to the references. Requires bframes > 1.

・MEncoder dev-CVS-060314-20:27-4.0.1 (C) 2000-2006 MPlayer Team
・x264 core:45 svn-467

訳文

Bフレームに適応重み補完予測方式を使う。
このオプション抜きの場合、双方向予測されたマクロブロックは前後の参照フレームを等価に扱う。
このオプション有りの場合、参照フレームに対するBフレームの時間軸上の位置に応じて、前後の参照フレームのどっちかを重要視する。
bframes > 1よりも大きな値でないと効かない。

参考

  • b_adaptの方が強力で、一緒に使うとweight_bの効果はあまり出ない。

管理人補足

weighted prediction=適応重み補完予測
H.264/AVCで定義された符号化ツールの一つ。

参照フレームに重みを付けて、直前の映像を(ブライトネス方向に) スケーリングする。といった事が可能になる。画面の輝度変化に関わる圧縮方式。
従来は動きしか符号化しないので暗転や明転には弱かったのだそうだ。特にフェード、後続の映像が直前の映像によく似ている場合に効果があるとされる。
例えば「暗転」=画面の全ドットの輝度を0(黒)に持って行くわけだから、マクロブロック単位で、輝度を0までもってく速度、を計算式で(データじゃなくて)やっちゃおうぜ。という事らしい。
理屈の上ではディゾルブ(フェードによる場面転換)にも効きそうだが、そういうものでもないらしい。

実装する場合には、白フェードインと黒フェードイン、白フェードアウト、黒フェードアウトで同じ計算式を使うと効果がばらつくので、ソレゾレ別の計算式が必要とする説もあった。ソースが読めれば式が解るかも知れない。

この(no)weight_bが実質どの場合に効果があるかは、要実験。


2ch

  • QT7と相性が悪そう。再生時に引っかかるような感じ。x264(x264 core:34 svn-295)+MP4Box(MP4Box - GPAC version 0.4.1-DEV)

このwiki内のその他の情報