MediaCoder @Wiki

x264詳細設定

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

Bitstream profile

プロファイル設定です。
Auto,Baseline,Main,Highの四つプロファイルがあります。
低画質Baseline→Main→High高画質

Bitstream level

基本的にはLevel.4(40)です。詳細設定じゃなくても、普通の設定のところで設定できます。
基本的にPCで再生する場合にはLevelは気にしなくていい。PSP、iPodなどのデバイスで使用する際に適正な数値にしないと再生不可になる。

P-frame Quantitizer

映像の品質を一定に保って圧縮していくモード 初期値は26
アニメならば20~22程度、実写ならば24~28程度でおそらく特に不満を感じない程度だと思います。
値を少なくすると画質が向上します。サイズも大きくなります。
0にすると量子化を行わないので可逆圧縮となります。

Maximum interval between IDR-frames/Minimum interval between IDR-frames

IDRフレームの最大間隔
大きい値の方がbitが節約できるので品質が向上するが、シークの精密さと引き換えになる。
MPEG-1/2/4とは違って、 H.264はkeyintを大きくしてもDCT driftで苦しむ事が無い。

IDRフレームの最小間隔を指定。
この最小間隔の中にシーンチェンジが含まれた場合、エンコードはIフレームとして行うが、新しいGOPを開始しない。
H.264では、Iフレームは必ずしもclosed GOPに束縛されない。
なぜなら、Pフレームを直前より前のフレームを基に予測しても良いからだ (framerefも参照)。この為に、Iフレームは必ずしもシーク可能では無くなった。
IDRフレームは、後続のPフレームに、自分より前にある全フレームを参照禁止にする。

Frames used as predictors B and P frames

P/Bフレームと参照フレームまでの最大距離
アニメには効果的だが、実写では6程度を境に効果が急激に低下する。
デコードの速度には影響しないが、必要メモリ量が増える。
デコーダによっては最大15までしか受け付けない。
3~4が妥当
レベルと参照フレーム数

Maximum Bframe between I and Pframes

IとPフレーム間でのBフレームの最大連続数。

B-frame decision

bframes=<0-16>で指定された最大Bフレーム数の範囲で、いつ、どれだけの数のBフレームを使うか自動的に決断する。
オフの場合、前述のbframes=<0-16>(デフォルトで0)の最大Bフレーム数を使用する。

B-frames used as for predicting

Bフレームを参照フレーム~他のフレームが予測に使う~に使うことを許可する。
Onにすると速度低下抜きで圧縮率が僅かに向上する。(必ずしも効果があるとは限らない
b_pyramidはQuickTime Player7非互換
最新版は対応してます。

Alpha parameter of deblocking filter

第一のパラメータは AlphaC0 (default: 0)。これはH.264のイン-ループ・デブロッキング・フィルタの閾値。
まず、このパラメータの値に従ってデブロックを使うか否かを決める。次に、このパラメータはフィルタを適用するエッジ部分の差の閾値に影響する。プラスの値にする事でブロックノイズが減るが、スミアが増える。
スミア †
絵をこすったような滲み。細かいディテイルが潰れる。

Beta parameter of deblocking filter

第二のパラメータはBeta (default: 0)。これはディテイルの閾値に影響する。
非常にディテイルの細かいブロックにはフィルタを掛けない。というのはこのフィルタが使うスムージングはブロックノイズよりも目立つからだ。

Use CABAC

エンコード、デコードとも多少遅くなるが、ビットレートは10~15%下がる。
デコードの速度を求めるので無い限り、オフにしない方が良い。
nocabacの場合、CAVLCが適用される。iPod用はこちら。

minimum Quantizer

量子化の最小値 10-30が適正範囲のようだ。無駄に低い数値を指定するとエンコード速度が低下する場合がある。(アップデートにより、かなり改善された様だ。)

maximum Quantizer

量子化の最大値 低い数値にするとサイズも増えるが、画質が落ちすぎるのを防ぐことができる。30以下にするのはお勧めしない

Quantizer step

フレーム間でquantizerが増加/減少し得る最大値。

Maximum local bitrate

ローカルビットレートの最大値。単位はkbits/s

Averaging period for maximum local bitrate

Maximum local bitrateで使う平均化区間。単位kbits。
Maximum local bitrateを指定した時(1以上)はこちらも必須

Initial buffer occupancy

vbv_bufsizeの係数 unknown

Quantizer compression percentage

quantizerの圧縮。低い数値にするとビットレートの変動幅が低くなる。=画質の変動幅が大きくなる。
高い数値にするとquantizerの変動幅が低くなる。=画質の変動幅が小さくなる。

Direct macroblocks prediction

spetialとTemporalは速度もPSNRも概ね同じ。どちらが適しているかは映像内容によって異なる。
Autoの方が僅かに良いが、少し遅い。noneは速度も遅く、品質も低い。

Use weighted prediction for B-frames.

画面の輝度変化に関わる圧縮方式。Maximum Bframe between I and Pframesが1よりも大きな値でないと効かない。
後続の映像が直前の映像によく似ている場合に効果があるとされる。フェードイン・アウトとか。

Enable all macroblock type

8×4、4×8、および4×4を含むすべてのマクロブロックタイプを可能にする
これはsubqが5以上の時だけ可能、そして低い解像度のときにお勧めです。

Adaptive spatial transform size

空間軸の状況適応変形サイズ。:マクロブロックを4x4と8x8 DCTの2種類から選択可能にする。また、i8x8マクロブロックタイプも許可する。このオプション抜きの場合、4x4 DCTしか使わない。
ちょっとCPUに負荷がかかる

fullpixel motion estimation algorithm

フルピクセルの動き補償アルゴリズム選択。
Fast
ダイヤモンドサーチ、半径 1 (高速)

Normal
六角形サーチ、半径 2 (デフォルト)

Slow
不等複数六角形サーチ (遅いが画質良)

Exhaustive
徹底サーチ (超低速、Slowより全く良くなるところが無い)

Motion search radius

徹底的にサーチ(Exhaustive)と不等複数六角形サーチ(Slow)の動き捜索範囲。

Ignore chroma in motion estimation

サブピクセル動きサーチで彩度情報も参照する。
設定がno_chroma_meと、Ignore chroma in motion estimationをしなくていいかどうか訊いているので、defaultのnoはサブピクセル動きサーチで彩度情報も参照するということ

Subpel refinement quality

subpel精製品質の調整。このパラメータは動き予測の過程で、品質と速度のトレードオフを取り扱う。 subq=5 はsubq=1よりも最大で10% 圧縮できる。

1:最速:全てのマクロブロックタイプに対してフルピクセル精度で動き予測を行った後、ベストのタイプを選択し、そのタイプの動きを、高速な1/4ピクセル精度の動き予測に精製する。
2:1に同じ。ただし、若干低速なフルピクセルサーチと若干低速な1/4ピクセル精度の動き予測精製を使う。
3:全てのマクロブロックタイプに対して1/2ピクセル精度で動き予測を行った後、ベストの形式を選択し、1/4ピクセル精度の動き予測に精製する。
4:全てのマクロブロック形式に対して高速な1/4ピクセル精度で動き予測を行った後、ベストの形式を選択し、1/4ピクセル精度の動き予測に精製する。
5:デフォルト:ベストのマクロブロック形式を選択する前に、全てのマクロブロック形式に対して最高品質の1/4ピクセル精度で動き予測を行う。
6:I、Pフレームのマクロブロックタイプにrate-distortion最適化を行う。
7:ベスト:モーションベクトルとイントラモードに rate-distortion最適化を行う

5以上が(・∀・)イイ

Mixed reference frame

複数参照(マルチレファレンス)フレーム:動き補償で、1つのフレームだけではなく、複数のフレームを参照する方式。

MPEG-4以前のI/Pピクチャでは、直前のPピクチャのみから動き補償予測を行っていた。
これに対しH.264/AVCでは、複数のピクチャを参照ピクチャとして用いる事ができ、この中からブロックごとに最適なものを選択して動き補償を行う。
選択された参照ピクチャを特定するため、動き補償ブロックごとに参照ピクチャ番号(ref_idx)を付ける。
これによる効果は動く物体の影に隠れてしまう背景なども予測可能になる事。その結果、動き補償の効率が向上する。

Rate-distortion optimization of B-frames macroblock types

Bフレームのマクロブロックタイプにレート歪み最適化(rate-distortion optimization)を使う。Subpel refinement qualityが6以上必要。

Refine motion vectors used in bidirectional macroblocks

双方向(予測)マクロブロックで使われる2つのモーションベクトルを、フォワードおよびバックワードサーチの結果を再利用せず、精密化。
Bフレームが無いと効果が無い。

Rate-distortion optimal quantization (trellis)

レート歪み最適化(RDO)の量子化(quantization)


Disabled 非使用(default)
Enabled only for the final encode 最終エンコードでのみ使用
Enabled during all mode decisions 全モード決定で使用。(低速、要subq>=6)
画質の劣化が激しい部分に多めのビットを振り分ける分、劣化が少ない部分でビットを落としたりする。非使用に比べて同ビットレートでも画質が向上しているような感じになる。

Intra luma quantization deadzone

非trellis量子化におけるイントラ(画面内)輝度量子化のデッドゾーン。
deadzone_interと同じだが、効果はイントラフレームに出る。
この値より細かいディティルは潰してしまいます って感じ
基本的にデフォルトでいい。数値を変えるとレート歪み最適化が無効になる

Inter luma quantization deadzone

非trellis量子化におけるインター(画面間)輝度量子化のデッドゾーン(default: 21)。
低くすると細かいディテイルやフィルムグレインの保持に効果がある(一般的には高ビットレート/高画質エンコード向け)。
高くするとこうしたディテイルをフィルタリングしてbitを節約し、他のマクロブロックやフレームに回す(一般的にはbitrateの厳しいエンコード向け)。
上に同じく数値を変えるとレート歪み最適化が無効になる

Performs early skip detection in P-frames

Pフレームにおける速い段階でのスキップ検出。デフォルトはyes
通常は(*画質低下等の*)ペナルティ無しで速度向上。
ただし、ディテイルの無いエリア、例えば空など、にアーティファクトが出る事がある。

Eliminate DCT blocks with small coefficient

Pフレーム中の僅かな係数しか含まないDCTブロックを除去する(デフォルトはenabled)。
若干のディテイル除去になるので、その分のビットを他のフレームに回せる。全体としては、主観的な画質向上が期待できる。
アニメ以外の素材を高ビットレートで圧縮する場合は、disableにして可能な限りディテイルを残したいと思うかもしれない。

Noise reduction

ノイズリダクション。0でdisable(デフォルト)。有用な範囲は一般的なコンテンツでは100-1000だが、非常にノイジーな素材ではもう少し大きくしたい人もあるだろう。速度への影響は少ないので、目的によってはビデオフィルタでdenoise3dやhqdn3dを使うよりこちらが望ましい。

Interlaced video content

インターレースを保持してエンコードする。

Global header

SPSとPPSをビットストリームの先頭に一回だけ書き込むようにする(default: no)。 Sony PSPなど一部のプレイヤで必要になる。デフォルトではSPSとPPSは各IDRフレームよりも前に書き込む。

Use access unit delimiters

不明

Enable picture timing data

具体的にはよくわからないが、PSP用のを作るときに使われている。

Set SPS and PPS id numbers

JM-compatible custom quant matrices file

JMフォーマットのmatrixファイルを使う (ファイル名指定

Threads

複数CPUでパラレル・エンコードをするためにスレッドを分散*1。
圧縮品質に僅かな悪影響がある。
0 または ’auto’でx264はCPU数を検出し、適切なthread数を自動選択する。

Non-deterministic

反復を犠牲にして、SMPの品質を改善します
小さな物体やその輪郭によく出るゴミを抑えることが出来る

Crop overscan setting

クロップ過剰スキャン設定 (機械翻訳

Video format

NTSCなどの規格設定

Fullrange samples setting

完全な範囲サンプル設定 (機械翻訳

Color primaries

?

transfer characteristics

??

Color matrix setting

Chroma sumple location

Turbo mode

高速1st passモード
2(以上)パスエンコードの1stパスは、取るに足りない、あるいは、最終出力品質に影響しないオプションを切って高速化できる。
Disable:ターボオフ
Reduce subq:subq、framerefを低減し、inter-macroblockパーテーション分析モードをいくつか切る。
Reduce subq and frameref to 1:subq、framerefを1に設定。dia-mond ME search(me=1)使用、パーテーション分析モードは全て切る。

Extra Options

w --8x8dct などのパラメータを入れて設定できる

Path

x264のパス