x 264プリセットクラスパラメータの詳細

13296 ワード

x 264プリセットクラスパラメータの詳細
転載先:http://www.cnblogs.com/zyl910/archive/2011/12/04/x264_presets.html
x 264-
x264 core:116 r2074 2641b9e

 
「fullhelp」パラメータを追加すると、x 264の完全版ヘルプを表示できます.
x264 --fullhelp

 
プリセットクラスパラメータの説明は次のとおりです.
Presets:

      --profile       Force the limits of an H.264 profile
                                  Overrides all settings.
                                  - baseline:
                                    --no-8x8dct --bframes 0 --no-cabac
                                    --cqm flat --weightp 0
                                    No interlaced.
                                    No lossless.
                                  - main:
                                    --no-8x8dct --cqm flat
                                    No lossless.
                                  - high:
                                    No lossless.
                                  - high10:
                                    No lossless.
                                    Support for bit depth 8-10.
      --preset        Use a preset to select encoding settings [medium]
                                  Overridden by user settings.
                                  - ultrafast:
                                    --no-8x8dct --aq-mode 0 --b-adapt 0
                                    --bframes 0 --no-cabac --no-deblock
                                    --no-mbtree --me dia --no-mixed-refs
                                    --partitions none --rc-lookahead 0 --ref 1
                                    --scenecut 0 --subme 0 --trellis 0
                                    --no-weightb --weightp 0
                                  - superfast:
                                    --no-mbtree --me dia --no-mixed-refs
                                    --partitions i8x8,i4x4 --rc-lookahead 0
                                    --ref 1 --subme 1 --trellis 0 --weightp 1
                                  - veryfast:
                                    --no-mixed-refs --rc-lookahead 10
                                    --ref 1 --subme 2 --trellis 0 --weightp 1
                                  - faster:
                                    --no-mixed-refs --rc-lookahead 20
                                    --ref 2 --subme 4 --weightp 1
                                  - fast:
                                    --rc-lookahead 30 --ref 2 --subme 6
                                    --weightp 1
                                  - medium:
                                    Default settings apply.
                                  - slow:
                                    --b-adapt 2 --direct auto --me umh
                                    --rc-lookahead 50 --ref 5 --subme 8
                                  - slower:
                                    --b-adapt 2 --direct auto --me umh
                                    --partitions all --rc-lookahead 60
                                    --ref 8 --subme 9 --trellis 2
                                  - veryslow:
                                    --b-adapt 2 --bframes 8 --direct auto
                                    --me umh --merange 24 --partitions all
                                    --ref 16 --subme 10 --trellis 2
                                    --rc-lookahead 60
                                  - placebo:
                                    --bframes 16 --b-adapt 2 --direct auto
                                    --slow-firstpass --no-fast-pskip
                                    --me tesa --merange 24 --partitions all
                                    --rc-lookahead 60 --ref 16 --subme 11
                                    --trellis 2
      --tune          Tune the settings for a particular type of source
                              or situation
                                  Overridden by user settings.
                                  Multiple tunings are separated by commas.
                                  Only one psy tuning can be used at a time.
                                  - film (psy tuning):
                                    --deblock -1:-1 --psy-rd :0.15
                                  - animation (psy tuning):
                                    --bframes {+2} --deblock 1:1
                                    --psy-rd 0.4: --aq-strength 0.6
                                    --ref {Double if >1 else 1}
                                  - grain (psy tuning):
                                    --aq-strength 0.5 --no-dct-decimate
                                    --deadzone-inter 6 --deadzone-intra 6
                                    --deblock -2:-2 --ipratio 1.1 
                                    --pbratio 1.1 --psy-rd :0.25
                                    --qcomp 0.8
                                  - stillimage (psy tuning):
                                    --aq-strength 1.2 --deblock -3:-3
                                    --psy-rd 2.0:0.7
                                  - psnr (psy tuning):
                                    --aq-mode 0 --no-psy
                                  - ssim (psy tuning):
                                    --aq-mode 2 --no-psy
                                  - fastdecode:
                                    --no-cabac --no-deblock --no-weightb
                                    --weightp 0
                                  - zerolatency:
                                    --bframes 0 --force-cfr --no-mbtree
                                    --sync-lookahead 0 --sliced-threads
                                    --rc-lookahead 0


 
文字が多すぎてめまいがするので、表に整理しました.
  
1 profile(レベル)
 
 
シーケンス
name
名前
8x8dct
cqm
bframes
cabac
weightp
interlaced
1
baseline
ベースライン
no
flat
0
no
0
no
2
main
メイン
no
flat
制限なし
制限なし
制限なし
制限なし
3
high
高い
制限なし
制限なし
制限なし
制限なし
制限なし
制限なし
4
high10
上位10位
制限なし
制限なし
制限なし
制限なし
制限なし
制限なし
bframes:IフレームとPフレームの間にBフレーム数(Number of B-frames)の最大値を挿入でき、範囲は0-16である.
cqm:カスタム量子化マトリクス(custom quantization matrices).デフォルトはflatとJVTです.
Weightp:x 264は、Pフレームの圧縮を改善するために明確な重み付け予測(explicit weighted prediction)を使用することができる.また、フェード/フェードの品質も改善される.モードが高いほど遅い.
8 x 8 dct:弾性8 x 8離散コサイン変換(Adaptive 8 x 8 DCT).
Cabac:フレックスコンテンツのバイナリ演算符号化(CABAC:Context Adaptive Binary Arithmetic Coder).
interlaced:インターレーススキャン. 
 
 
2 preset(プリセット)
  x264预设类参数详解_第1张图片
b-adapt:弾性Bフレーム位置決定アルゴリズムを設定します.この設定は、x 264が、PフレームまたはBフレームを配置する方法を決定する方法を制御する.
bframes:IフレームとPフレームの間にBフレーム数(Number of B-frames)の最大値を挿入でき、範囲は0-16である.
Direct:direct動的ベクトルの予測モード.spatialとtemporalの2つのモードが使用できます.noneを指定してdirect動的ベクトルを非アクティブにし、autoを指定してx 264を適切なモードに切り替えることができます.
me:全画素(full-pixel)運動推定(motion estimation)のアルゴリズム.
merange:動き推定を制御する最大範囲(単位は画素).hexおよびdiaの場合、範囲は4~16に制限されます.umhおよびesaの場合、デフォルト値16を超えて範囲の広いダイナミックサーチを可能にするために増加することができ、HD通信および高ダイナミックレンズに役立ちます.umh、esaおよびtesaの場合、merangeを増加させると符号化速度が大幅に低下することに注意してください.
partitions:H.264メッセージは、圧縮中に16 x 16のマクロブロックに分割される.これらのブロックは、このオプションが制御する部分であるより小さな分割にさらに分割できます.
rc-lookahead:mb-treeビットレート制御とvbv-lookaheadで使用するフレーム数を設定します.最大許容値は250です.mb-treeセクションでは、フレーム数を増やすとより効果的ですが、より遅くなります.mb-treeで使用される最大バッファ値はMIN(rc-lookahead,--keyint)です.
ref:復号ピクチャバッファ(DPB:Decoded Picture Buffer)のサイズを制御します.範囲は0から16です.つまり、この値は、参照フレームとして以前に使用されたフレーム数(Bフレームが使用可能な数は、参照フレームとして使用されているかどうかによって1つまたは2つ少なくなります).参照可能な最小ref数は1です.
subme:サブピクセル(subpixel)を設定して複雑度を推定する.値が高いほど良い.階層1~5はサブピクセル細分化(refinement)強度を制御するだけである.階層6はモード決定にRDOを有効にし、階層8は動的ベクトルと内部予測モードにRDOを有効にする.RDO階層は明らかに以前の階層より遅い.
Trellis:効率を向上させるためにTrellis quantizationを実行します.
Weightp:x 264は、Pフレームの圧縮を改善するために明確な重み付け予測(explicit weighted prediction)を使用することができる.また、フェード/フェードの品質も改善される.モードが高いほど遅い.
No-8 x 8 dct:弾性8 x 8離散コサイン変換(Adaptive 8 x 8 DCT)を無効にします.
aq-mode:弾性量子化モード.AQがない場合、x 264は不足したビット数を細部の少ない部分に割り当てやすい.AQは、視聴中のすべてのマクロブロック間の利用可能なビット数をよりよく割り当てるために使用される.
No-cabac:フレキシブルコンテンツのバイナリ演算符号化(CABAC:Context Adaptive Binary Arithmetic Coder)データストリーム圧縮を停止し、より効率の低いフレキシブルコンテンツの可変長符号化(CAVLC:Context Adaptive Variable Length Coder)システムに切り替えます.圧縮効率(通常10~20%)と復号化のハードウェア要件を大幅に低減します.
No-deblock:ループフィルタを無効にします.持続ループデブロッキングとも呼ばれます.
No-mbtree:マクロブロックツリー(macroblock tree)ビットレート制御を無効にします.マクロブロックツリービットレート制御を使用すると、全体的な圧縮率が改善され、フレーム間の時間伝播(temporal propagation)を追跡し、それに応じて重み付けされます.
No-mixed-refs:ブレンド参照は、マクロブロックごとではなく、8 x 8分割ごとに参照を選択します.複数の参照フレームを使用すると、速度は多少失われますが、品質が向上します.このオプションを設定すると、この機能は無効になります.
scenecut:I/IDRフレーム位置のしきい値を設定します(シーン変更検知).
No-weightb:重み付けBフレームの参照を無効にします.
slow-firstpass:低速pass.
No-fast-pskip:Pフレームを非アクティブにする初期検出(early skip detection)を省略します.非常に軽く品質を向上させますが、多くの速度を失います.
 
 
3 tune(校正)
x264预设类参数详解_第2张图片
ref:復号ピクチャバッファ(DPB:Decoded Picture Buffer)のサイズを制御します.範囲は0から16です.つまり、この値は、参照フレームとして以前に使用されたフレーム数(Bフレームが使用可能な数は、参照フレームとして使用されているかどうかによって1つまたは2つ少なくなります).参照可能な最小ref数は1です.
bframes:IフレームとPフレームの間にBフレーム数(Number of B-frames)の最大値を挿入でき、範囲は0-16である.
deblock:制御サイクルフィルタリング(持続サイクルデブロッキングとも呼ばれる).
psy-rd:最初の数はPsy-RDOの強度(subme>=6が必要)です.2番目の数はPsy-Trellisの強度(trellis>=1が必要)です.
aq-strength:弾性量子化強度.AQが低ディテール(平面)に偏っているマクロブロックの強度を設定します.負の数は許可されません.0.0~2.0以外の値は推奨されません.
No-dct-decimate:DCT Decimationを無効にします.DCT Desimationは、「不要」と思われるDCTブロックを破棄します.これにより、符号化効率が改善され、品質が低下するのは通常、わずかである.
deadzone-inter/intra:inter/intra輝度量子化反応領域の設定(deadzone)の大きさ.反応領域の範囲は0~32であるべきである.この値はx 264が微細な細部を残すことを試みないレベルを任意に捨てるように設定されている.非常に微細な細部は見えにくいし、ビット数もかかるが、これらの細部を捨てることは、視聴のような低収益画面にビット数を浪費する必要はない.反応領域は--trellisと相容れない.
ipratio:Iフレーム量子化値のPフレーム量子化値に対する目標平均増分を修正します.値を大きくするほどIフレームの品質が向上します.
pbratio:Bフレームの量子化値をPフレームの量子化値よりも修正する目標平均減量.値を大きくするほど、Bフレームの品質が低下します.mbtreeが有効になっている場合(デフォルトで有効になっている場合)、この設定は機能せず、mbtreeは自動的に最適値を計算します.
qcomp:量子化値曲線圧縮係数.0.0は固定ビットレート、1.0は固定量子化値です.mbtreeがオンの場合、mbtreeの強度に影響します(qcompが大きいほどmbtreeは弱くなります).
aq-mode:弾性量子化モード.AQがない場合、x 264は不足したビット数を細部の少ない部分に割り当てやすい.AQは、視聴中のすべてのマクロブロック間の利用可能なビット数をよりよく割り当てるために使用される.
No-cabac:フレキシブルコンテンツのバイナリ演算符号化(CABAC:Context Adaptive Binary Arithmetic Coder)データストリーム圧縮を停止し、より効率の低いフレキシブルコンテンツの可変長符号化(CAVLC:Context Adaptive Variable Length Coder)システムに切り替えます.圧縮効率(通常10~20%)と復号化のハードウェア要件を大幅に低減します.
Weightp:x 264は、Pフレームの圧縮を改善するために明確な重み付け予測(explicit weighted prediction)を使用することができる.また、フェード/フェードの品質も改善される.モードが高いほど遅い.
force-cfr:ffms 2またはlavf分離器を使用し、出力ファイルがraw形式でない場合は、入力ファイルからタイムコードをコピーします.このオプションは、この機能をオフにし、x 264に自分で生成するように強制します.このオプションを使用すると、fpsも設定されると推定されます.
No-mbtree:マクロブロックツリー(macroblock tree)ビットレート制御を無効にします.マクロブロックツリービットレート制御を使用すると、全体的な圧縮率が改善され、フレーム間の時間伝播(temporal propagation)を追跡し、それに応じて重み付けされます.
sync-lookahead:スレッド予測用のフレームキャッシュサイズを設定します.最大値は250です.第2のマルチパス符号化またはスライススレッドベースで自動的にオフになります.0に設定すると、スレッド予測が閉じ、遅延は減少しますが、パフォーマンスの低下を代価とします.
sliced-threads:スライスベースのスレッドを開きます.デフォルト方式よりも品質が低く、効率が低いが、符号化遅延はない.
rc-lookahead:mb-treeビットレート制御とvbv-lookaheadで使用するフレーム数を設定します.最大許容値は250です.mb-treeセクションでは、フレーム数を増やすとより効果的ですが、より遅くなります.mb-treeで使用される最大バッファ値はMIN(rc-lookahead,--keyint)です.