☆用語・パラメータ解説(簡易版)

最終更新日:2012.11.1

今回のテストを行うにあたって処理速度・品質に大きな影響を与えそうなパラメータをネットで調べ、わかりやすくまとめたものです

かなり簡略化していますので語弊を招く表記、間違い等あるかもしれません

設定の間違いなどでトラブルが発生しても責任は負いかねますので悪しからず・・・


●特に品質・処理速度に影響するパラメータと推奨値
me_method(hexがベスト、品質優先でumh)
subme(7でOK、品質優先で9、速度優先で6、5以下は×) ※速度とのバランスでは6がベスト
me_range(SD解像度で8-16、HD解像度で24) ※17-24はumh以上のみ設定可能

trellis(1が基本、速度優先で0、品質優先で2)

CABAC(基本ONだが、ONだとPDAで再生できなくなる可能性大)

refs(3が基本、速度優先で2or1)

partitions(MediaInfoではanalyseで表示される)

               (0x113はpartitions=+parti8x8+parti4x4+partp8x8+partb8x8 p4x4以外)

               (0x131partitions=+parti8x8+parti4x4+partp8x8+partb8x8+partp4x4 =全部)

8x8dct(品質向上に特に重要だが、ONだとPDAで再生できなくなる可能性大) ※high profileになる

mixed-refs(1が基本、速度優先で0)

 

少し検証しての私見ですが、8x8dctは品質向上にかなり効果的かつ速度低下が少なく常にONでいいような感じです

partitionsを全オフにすると速度はかなり上がります(FVCの初期設定が速いのはこれが大きい)

当然品質は下がりますが、8x8dctを入れてある程度のビットレートがあれば大きく崩れることはないようです

dia,hex,umhの品質の差もあまり感じないのでhexが一番効率良い感じ

その他、trellisも確実に速度が落ちるが品質の違いがあまりわからない


プロファイル(Baseline、Main、High)
再生機器に合わせて選ぶ必要がある
Baselineしか再生出来ない機器なのにMainの動画を作ると再生出来ない

○Baseline(モバイル機器向けの設定)
 B-フレーム、CABAC、適応型DCTが設定出来ない
 AQモードを無効化にする必要もあり
○Main(一般的な設定)
 適応型DCTが設定出来ない
○High(HD解像度向けに作られた設定)

PDAでの再生用途以外ならHighまたはMain推奨

(Highでは余計な処理のためMainより逆に品質がわずかに落ちているという人もいる)

(元々High Profileは品質向上のためでなく、HD再生負荷軽減のためのものらしい)


CABAC(no-cabac)デフォルトon
使えば画質はかなり向上するが再生負荷はそれ以上に跳ね上がる
無効にすると再生時の負荷が大幅に減少するが、ビットレートが元々足りないような動画でこれを切ると、画質は大幅にダウンする
再生負荷軽減を図る場合にはoffにする場合もあるが、x264には必要不可欠といってもいい・・・程のものらしい


参照距離(ref 3)
参照に使えるフレームの最大距離数。範囲1~16(0は1扱い)
数値を上げすぎるとエンコード時間が延び、再生時のメモリ消費量が増える
6くらいまでというか3又は4で十分

 

動き予測アルゴリズム(me "hex")
【dia】  Diamond Search

【hex】 Hexagonal Search

【umh】Uneven Multi-Hexagon search

【esa】 Exhaustive Search

【tesa】Hadamard Exhaustive Search

の5種類がある
diaとhexは処理時間にほとんど変わりなし、umhは5-70%程遅くなる、esaは7倍程、tesaに至っては10倍強の時間がかかる
当然、それに従い品質は向上する・・・はずだがほとんど変わらない場合が多いらしい
hex一択と思われる(または高画質設定ならumhで)

サブピクセル動き予測(subme 7)
0から11までの12段階だが、7と9を使う場合はbframes 1以上、10以上は更に条件が厳しくなるため、現実的には9が最高と考えて良い(高いほど画質が上がるが遅くなる)
7以上推奨(7で十分と思われる)

動き検索範囲(merange 16)
hexまでの設定なら4-16、umh以上なら4-64まで設定可能
解像度が高い場合は数値を上げるといいらしいが、非常に処理速度が遅くなるらしい
SD解像度で8-16、通常は16、HD解像度の高画質設定なら24がオススメ

レート歪み最適化(trellis 1)
DCT(Discrete Cosine Transform)で失われた情報を回復させて画質を若干向上させるモードを使用するかどうか
0(None),1(Last MB Encode),2(All MB Encode)で数字が大きいほど画質優先で遅くなる
体験上、0にしてもほとんど違いを感じられず処理速度は5%ほど向上したが、全てのソフトで1が初期設定となっている(速度優先なら0でも可)

ビットレート変動量(qcomp 0.6)
ビットレートの変動許容量
通常で0.6-0.7、アニメの場合は0.8程度に設定してもOK

初期設定の0.6は開発者でもちょっと小さいかもと考えているらしい

QPの下限(qpmin 3)
最小量子化値で、値が小さいほど低圧縮・高画質となる
16あたりから違いが認識できなくなるらしい
初期値の3は小さすぎなので10-16推奨

QPの上限(qpmax 69または51)
51で最高圧縮・最低画質であり、52以上は特殊処理時に使用されるらしい
Freemakeは51、他は69が最大値だが、x264はこの値を自動調整しているらしいのでいじらないほうがいいらしい

Psy-RD(視覚心理最適化)(psy-rd 1.0:0.0)
視覚心理的に見て複雑とみられる部分や、色が激しく変化する部分などのqp値を下げ、最適化する
エンコード時に潰れやすい細部やフィルムグレインなどの表現力が高まる。
アニメなどの素材では0.3:0.0やオフ(0.0:0.0)にしてもOK

マクロブロックタイプの指定
    8x8 離散コサイン変換(8x8dct)
    8x8, 8x16 and 16x8 Pフレーム動き補償(p8x8)
    8x8, 8x16 and 16x8 Bフレーム動き補償(b8x8)
    4x4, 4x8 and 8x4 Pフレーム動き補償(p4x4)
    8x8 イントラ動き補償(i8x8)
    4x4 イントラ動き補償(i4x4)
16x16のマクロブロックを、場面やフレームタイプに応じてさらに細かく分割できるようにするもの
8x8 離散コサイン変換はONにしたほうがよいが、High Profileになるためipod等のPDAでは使用できない
他は高画質を狙うならばチェックを多くつけておいたほうが良いが、再生負荷も大きくなる
p4x4は得られる画質の向上に比べてエンコード負荷が大きいので切ってもよい(互換性の問題もあり特にHD動画では切ったほうがいいらしい)

キーフレーム間隔の上限(keyint 250)
IDRフレームの最大間隔で、fps×10が一般的
大きくするとIDRフレームの数が減って、相対的に必要なビットレートが下がる(画質があがる)かもしれない(250でOK)

 

混合参照(mixed-refs)
デフォルトはon(推奨)
サブブロック単位で参照するフレームを変える
画質、圧縮効率は上がり、エンコード、デコードは遅くなる

スレッド数(threads=0)
x264のスレッド数の指定
0だと自動でCPU数を検索し、論理CPU数の1.5倍の数値になる(推奨)

動き予測方式(direct=3)
B-Framesの中に「ダイレクト」というマクロブロックタイプがあった時に、そこで使うモーションベクトルの予測方式
Autoでフレーム毎に最適な方式を選ぶ(通常2が最大値だが3にすることでAutoとなる)

重み付け予測(wpred=2)=Weightp
フェードインやフェードアウトの圧縮効率改善を狙ったもの

バッファサイズ(bufsize=指定なし)
レートコントロールのバッファサイズ

携帯端末向けの設定で、それぞれの機器によって異なる
x264 を使う場合はbufsizeを指定しないとmaxrate制限は機能しない
bufsizeを小さくしすぎると再生に影響がでるので、端末の許す限り大きな値を指定

bpyramid=2
B フレームを参照フレームとして使えるようにする
速度低下抜きで画質・圧縮率が僅かに向上するらしいが、HB以外(TMPG/XR/FVC)全て初期値0
他サイトでは速度低下がないとなっていたが、検証の結果4%程低下することがわかった