P/Bフレームは予測の際に自分より前のフレームを参照フレームに使う。
H264/AVCでは直前よりも前のフレームを参照フレームに使う事ができる。
このオプションはその際、最大でどのくらい前のフレームを参照フレームとして使えるかを指定するもの。
アニメには効果的だが、実写では6程度を境に効果が急激に低下する。
デコードの速度には影響しないが、必要メモリ量が増える。
デコーダによっては最大15までしか受け付けない。
各8x8 または 16x8 motion partitionが、独自に参照フレームを選べるようにする。
このオプション抜きの場合、マクロブロック全体が同一の参照フレームを使わなければならない。要frameref>1。
Number of reference frames
範囲:1 - 16
参照フレームの数を指定。
これにより、P/Bフレームの予測に使う参照フレームを、デコード済みフレームをさかのぼって選べるようになる(指定した枚数まで)。
高くすると一定ポイントまで圧縮効率があがる。これは原理的にアニメに非常に効果的だ。というのは、キャラクタが喋る時に口だけが同じような動きを繰り返してあとは変化しない場面、とか、風になびく髪のように同じ動きがループするような場面はよくあるから。
http://aflux.deltaanime.net/Zero1/MP4/x264.html#frame-type-options
--ref
Usage: --ref <integer> (default=1) [1 - 16]
This is for setting the number of reference frames. It allows new P and B frames to be predicted by using a previously decoded frames (up to the number specified in --ref). Setting a higher value will increase efficiency up to a point. Naturally this is a very beneficial feature for anime since you often get many similar frames say for when a character is speaking and only the mouth is changing, or for loops where something is repeated like hair swaying in the wind.
http://www.marumo.ne.jp/db2007_7.htm#10
H.264 では、MPEG-1/2/4 までとは異なり、動き補償 (予測) の際に複数の参照フレームを利用することができる。x264 の --ref オプションでは、何枚のフレームを参照するかを指定するためのもの。
複数参照フレームが最も効果を発揮するのはフラッシュが多用されている映像。次に効果が出るのは背景の上で物体が動いてるような場合。直前フレームにはボールがあったけど、現在のフレームでは背景だけになっている部分。専門用語でこーゆーのを uncovered background (覆いがはずれた背景) とか呼ぶのだけど、これは複数参照フレームでさらに前のフレームを参照してしまえばよく似た部分が見つかる。
規格上、参照フレームはMB全体の他に8x8 サブブロック単位で別々の参照フレームを見ることもできる。--mixed-refs はその切り替えオプション。
フラッシュのシーンだけ救えれば十分だという場合は --mixed-refs を指定する必要はないだろうけど、uncovered backgroud を救いたい場合は --mixed-refs を指定した方がよいはず。MB の一部だけに差し掛かる物体の場合は 8x8 単位で別々の参照フレームを使えた方がより効率の良い符号化ができるはずなので。
まるも製作所:2007/07/15(日) x264 [15] --b-rdoより
--ref 1 # 参照フレームは 1 枚に制限 (マルチレフ無効)
各8x8 または 16x8 motion partitionが、独自に参照フレームを選べるようにする。このオプション抜きの場合、マクロブロック全体が同一の参照フレームを使う。明白に圧縮効率があがり速度が落ちる。またデコードに必要なRAMが増える(しかし参照フレームが大量にあっても~*以下不明*~)。
参照フレームが1以上必要。--ref 1など。
http://aflux.deltaanime.net/Zero1/MP4/x264.html#analysis
--mixed-refsAllows each 8x8/16 macroblock partition to choose it's own reference frame as opposed to the whole macroblock using the same reference. This obviously results in improved efficiency at the cost of encoding speed. Decoder wise it will increase the RAM requirement (but the level of videos you will be creating won't require extorionate amounts even with a large amount of reference frames). This mode requires more than one reference frame, ie --ref 1
extorionateの意味不明:「しかし参照フレームが大量にあってもlevel指定を変える必要は無い」?
動き補償で1つのフレームだけではなく、複数のフレームを参照する方式。MPEG-4以前のPピクチャは、直前のピクチャから動き補償予測を行っていた。これに対しH.264/AVCでは、複数のピクチャを参照ピクチャとして用いる事ができ、ブロックごとに最適なものを選択して動き補償を行う。選択された参照ピクチャを特定するため、動き補償ブロックごとに参照ピクチャ番号(ref_idx)を付ける。これによる効果は動く物体の影に隠れてしまう背景なども予測可能になり動き補償の効率が向上する事。