昨年8月にx264のパラメータを考察したが、その後x264に各種の改良が加えられてきているため、新たな標準的なパラメータを作っておきたい。
今回はBフレーム制御についての考察。
エンコードの素材はTBS 2009-08-30放送の「鋼の錬金術師 FULLMETAL ALCHEMIST」21話「愚者の前進」の次回予告30秒+静止画約3秒。 960×540サイズにリサイズして入力した。
今回の実験に使用したx264は
x264 0.68.1179 96e2229
built on Jul 10 2009, gcc: 3.4.6
のOreAQ版。パラメータは次の通り。
x264.exe -b * -r * --crf 19 ← 解像度960x540なのでノイズが気にならないよう高めの設定 --fullrange=on ← --direct auto -i 2 --b-adapt=2 ← new! --b-pyramid --qpstep 24 --ratetol 80 --qcomp 0.3 --me umh -m 9 ← 値と動作の対応が変わった。 --mixed-refs --8x8dct -t 2 --no-fast-pskip --no-dct-decimate --sar 1:1 -f 0:0 -w --aq-strength=0.4:0.6 --aq-sensitivity=11 --psy-rd=0:0 ← 実写でグレインノイズがある時は0.5:0〜1:0で妥協する --cqm jvt --thread-input
平安時代にもお話があるように、健康によいとされる食品でも量が過ぎれば害になる。 カルシウムだって過剰摂取は他のミネラルとのバランスが崩れて体を壊す原因になるし、ポリフェノールが良いからと毎晩ワインを何本もあけたらアル中になってしまう。
合理的な非合理性 @ /.-J
食品に限らず、0か1の極論はたいていどちらもNGなんだけれど、話として分かり易いから納得してしまうことも出てくる。
このコメントに対する はてブに「思考の省エネ」という言葉が出てくる。この言葉は、いい意味に使われることもある。正しい結論に達するなら省エネは「よいこと」だけど、手間を省きすぎると間違った結論にたどり着くようになるので、それはダメというお話。
画像圧縮がそんな感じ。
JPEGで品質80くらいなら、ファイルサイズがBMPの数割にまで小さくできる。これはいい省エネ。
ところが品質20まで圧縮しちゃうと、何が何だか分からない、全面モザイクの画像になってしまう。いくらファイルサイズが30分の1になっても、用をなさないのでダメ。
この話をややこしくするのが、一見定量的に見えるけど本質的でない尺度がある場合。画像圧縮だと、PSNRとかSSIMといった数値で元画像からの変化を表現できる。だけども同じ数値でも見た目に劣化の度合が違うことはざらにある。
最終的には人間の感覚が頼りなんて科学者的には癪かもしれないけど、エンジニアリング的には大いにアリなのですよ。