https://trac.videolan.org/x264/timelineか ら抜粋
■10/05/06:
- 03:57Changeset [579] by pengvado
- accept mencoder's option names assynonyms (api only, not in x264cli)
MEncoder dev-SVN-r20226-4.0.1 (-x264encopts) | x264 core:54 svn-592M |
---|---|
bitrate=<value>
|
-B, --bitrate <integer>
|
qp=<0-51>※旧qp_constant
|
-q, --qp <integer>
|
crf=<1-50>
|
--crf <float>
|
pass=<1-3>
|
-p, --pass <1|2|3>
|
turbo=<0-2>
|
該 当無し |
keyint=<value>
|
-I, --keyint <integer>
|
keyint_min=<1-keyint/2>
|
-i, --min-keyint <integer>
|
scenecut=<-1-100>
|
--scenecut <integer>
|
frameref=<1-16>
|
-r, --ref <integer>
|
bframes=<0-16>
|
-b, --bframes <integer>
|
(no)b_adapt
|
--no-b-adapt
|
b_bias=<-100-100>
|
--b-bias <integer>
|
(no)b_pyramid
|
--b-pyramid
|
(no)deblock
|
--no-deblock
|
deblock=<-6-6>,<-6-6>※旧deblockalpha, deblockbeta
|
-f, --deblock <alpha:beta>
|
(no)cabac
|
--no-cabac
|
qp_min=<1-51> (ABR or two pass)
|
--qpmin <integer>
|
qp_max=<1-51> (ABR or two pass)
|
--qpmax <integer>
|
qp_step=<1-50> (ABR or two pass)
|
--qpstep <integer>
|
ratetol=<0.1-100.0> (ABR or two pass)
|
--ratetol <float>
|
vbv_maxrate=<value> (ABR or two pass)
|
--vbv-maxrate <integer>
|
vbv_bufsize=<value> (ABR or two pass)
|
--vbv-bufsize <integer>
|
vbv_init=<0.0-1.0> (ABR or two pass)
|
--vbv-init <float>
|
ip_factor=<value>
|
--ipratio <float>
|
pb_factor=<value>
|
--pbratio <float>
|
qcomp=<0-1> (ABR or two pass)
|
--qcomp <float>
|
cplx_blur=<0-999> (two pass only)
|
--cplxblur <float>
|
qblur=<0-99> (two pass only)
|
--qblur <float>
|
zones=<zone0>[/<zone1>[/...]]※旧zones=< zone0>[/<zone1>[/... (CBR or two pass mode)
|
--zones <zone0>/<zone1>/...
|
direct_pred=<name>※旧direct_pred= <1-3>
|
--direct <string>
|
(no)weight_b
|
-w, --weightb
|
partitions=<list>※旧、(no)i4x4, (no)i8x8, (no)b8x8mv, (no)8x8mv, (no)4x4mv
|
-A, --partitions <string>
|
(no)8x8dct
|
-8, --8x8dct
|
me=<name>※旧me=<1-4>
|
--me <string>
|
me_range=<4-64>
|
--merange <integer>
|
subq=<1-7>
|
-m, --subme <integer>
|
(no)chroma_me
|
--no-chroma-me
|
(no)mixed_refs
|
--mixed-refs
|
(no)brdo
|
--b-rdo
|
(no)bime
|
--bime
|
trellis=<0-2>
|
-t, --trellis <integer>
|
deadzone_inter=<0-32>
|
--deadzone-inter <int>
|
deadzone_intra=<0-32>
|
--deadzone-intra <int>
|
(no)fast_pskip
|
--no-fast-pskip
|
(no)dct_decimate
|
--no-dct-decimate
|
nr=<0-100000>
|
--nr <integer>
|
chroma_qp_offset=<-12-12>
|
--chroma-qp-offset <integer>
|
cqm=<flat|jvt|<filename>>
|
--cqm <string>
--cqmfile <string>
|
cqm4iy=<list> (also see cqm)
|
--cqm4 <list>
--cqm4i, --cqm4p
--cqm4iy, --cqm4ic, --cqm4py, --cqm4pc
|
cqm4ic=<list> (also see cqm)
|
|
cqm4py=<list> (also see cqm)
|
|
cqm4pc=<list> (also see cqm)
|
|
cqm8iy=<list> (also see cqm)
|
--cqm8 <list>
--cqm8i, --cqm8p
|
cqm8py=<list> (also see cqm)
|
|
level_idc=<10-51>
|
--level <string>
|
threads=<1-4>
|
--threads <integer>
|
(no)global_header
|
該 当無し |
(no)interlaced
|
--interlaced
※[589]fix a crash on interlace + >8 reference frames |
log=<-1-3>
|
該 当無し(x264ライブラリのAPIでは無いと思われ) |
(no)psnr
|
--no-psnr(内部的には別ものと思われ)
|
(no)ssim
|
--no-ssim(内部的には別ものと思われ)
|
(no)visualize
|
--visualize
|
該 当不詳
|
Ratecontrol: --stats <string> Filename for 2 pass stats ["x264_2pass.log"] --rceq <string> Ratecontrol equation ["blurCplx^(1-qComp)"] --qpfile <string>Force frametypes and QPs Analysis: --direct-8x8 <-1|0|1> Direct prediction size [-1] - 0: 4x4(※(no)4x4mv か?) - 1: 8x8(※(no)8x8mv, (no)b8x8mvか?) - -1: smallest possible according to level Video Usability Info (Annex E): --overscan <string> Specify crop overscan setting ["undef"] - undef, show, crop --videoformat <string> Specify video format ["undef"] - component, pal, ntsc, secam, mac, undef --fullrange <string> Specify full range samples setting ["off"] - off, on --colorprim <string> Specify color primaries ["undef"] - undef, bt709, bt470m, bt470bg smpte170m, smpte240m, film --transfer <string> Specify transfer characteristics ["undef"] - undef, bt709, bt470m, bt470bg, linear, log100, log316, smpte170m, smpte240m --colormatrix <string> Specify color matrix setting ["undef"] - undef, bt709, fcc, bt470bg smpte170m, smpte240m, GBR, YCgCo --chromaloc <integer> Specify chroma sample location (0 to 5) [0] Input/Output: --sar width:height Specify Sample Aspect Ratio 以下略 |
適用タイプ | 備考 | |
p8x8 | p16x8, p8x16, p8x8 | |
p4x4 | p8x4, p4x8, p4x4 | p4x4推奨はsubq >= 5、かつ、低解像度の場合のみ。 |
b8x8 | b16x8, b8x16, b8x8. | |
i8x8 | i8x8 | i8x8は 8x8dctと一緒に使わないと無意味。 |
i4x4 | i4x4. | |
all | 上記全て有効 | |
none | 上記全て無効 |
I | P | B | 備考 | |
一辺4 | i4x4 | p4x4 | ※ | MainProfile |
一辺8 | i8x8 | p8x8 | b8x8 | HighProfile(8x8dct必須) |
一辺16 | ※i16x16 | ※p16x16 | ※b16x16 | BaselineProfile |
-A, --analysePartitions to consider ["p8x8,b8x8,i8x8,i4x4"]
- p8x8, p4x4, b8x8, i8x8, i4x4
- none, all
(p4x4 requires p8x8. i8x8 requires --8x8dct.)
第一のパラメータは AlphaC0 (default: 0)。これはH.264のイン-ループ・デブロッキング・フィルタの閾値。 まず、このパラメータの値に従ってデブロックを使うか否かを決める。次に、このパラメータはフィルタを適用するエッジ部分の差の閾値に影響する。プラスの 値にする事でブロックノイズが減るが、スミアが増える。
第二のパラメータはBeta (default: 0)。これはディテイルの閾値に影響する。 非常にディテイルの細かいブロックにはフィルタを掛けない。というのはこのフィルタが使うスムージングはブロックノイズよりも目立つからだ。
このフィルタはデフォルト値でほとんど常に最良の結果になるので、そのまま弄らないか微調整にとどめるのがベストだ。しかし素 材に なんとかしたいほどのブロックノイズやノイズがあるなら、少し強めにしても良いだろう。
===MENCODER_PASS1===
/usr/local/bin/mencoder /Users/USERNAME/Movies/1005/僕等がいた_13_060930.mpeg -nosound -ovc x264 -x264encopts threads=2:bitrate=1024:bframes=3:b_adapt:weight_b:b_pyramid:keyint=240:keyint_min=1:scenecut=55:qp_min=10:qp_max=51:qp_step=4:qcomp=0.6:ratetol=4:deblock:deblock=0,0:cqm=jvt:cabac:direct_pred=auto:nofast_pskip:nodct_decimate:nointerlaced:noglobal_header:psnr:ssim:pass=1:turbo=1 -passlogfile /Users/USERNAME/Movies/1005/僕等がいた_13_060930.264.log -vf pullup,softskip,pp=l5,crop=704:352:4:64,scale=640:352:::3,hqdn3d=4:3:6,harddup -sws 9 -zoom -ofps 24000/1001 -of rawvideo -o /dev/null
===MENCODER_PASS2===
/usr/local/bin/mencoder /Users/USERNAME/Movies/1005/僕等がいた_13_060930.mpeg -nosound -ovc x264 -x264encopts threads=2:bitrate=1024:bframes=3:b_adapt:weight_b:b_pyramid:keyint=240:keyint_min=1:scenecut=55:qp_min=10:qp_max=51:qp_step=4:qcomp=0.6:ratetol=4:deblock:deblock=0,0:cqm=jvt:cabac:direct_pred=auto:nofast_pskip:nodct_decimate:nointerlaced:noglobal_header:psnr:ssim:pass=2:me=umh:subq=7:frameref=4:mixed_refs:8x8dct:partitions=p8x8,b8x8,i8x8,i4x4:trellis=2:brdo:bime -passlogfile /Users/USERNAME/Movies/1005/僕等がいた_13_060930.264.log -vf pullup,softskip,pp=l5,crop=704:352:4:64,scale=640:352:::3,hqdn3d=4:3:6,harddup -sws 9 -zoom -ofps 24000/1001 -of rawvideo -o /Users/USERNAME/Movies/1005/僕等がいた_13_060930.264
オプション名 | default | Profile | メモ | |
---|---|---|---|---|
threads=2 | 1 | CPU数に 応じて指定。 | ||
bitrate=1024 | off | bitrate 指定 | ||
B | bframes=3 | 0 | MP | 最大Bフ
レーム数 ※Baselineにする際は0に。 |
b_adapt | on | 適応的Bフ レーム | ||
weight_b | ? | Bフレーム
の適応重み補間予測。要bframes=1以上。 b_adaptが強力であまり意味が無い。 |
||
b_pyramid | ? | 要bframes =2以上。Bの参照フレーム化 | ||
I | keyint=240 | 250 | IDRフ レーム最大間隔 | |
keyint_min=1 | 25 | IDRフ
レーム最小間隔 1にするとやたら増える。 |
||
scenecut=55 | 40 | Iフレーム 挿入頻度 | ||
レ | ト 制 御 |
qp_min=10 | 10 | 最小量子化 値 | |
qp_max=51 | 51 | 最大量子化 値 | ||
qp_step=4 | 2 | 連続したフ
レームの間でのquantizerの変動幅。画質の急激な変化を抑止。 4はMeGUI2.0ヘルプファイルの推奨値 |
||
qcomp=0.6 | 0.6 | 画質や bitrate変動幅の調整 | ||
ratetol=4 | 1.0 | 平均ビット
レートにおける変動幅の許容値。 低い値はビットレート変化抑止。ストリーミング対応度向上、複雑な場面への対応力低下。 高い値はビットレート変化促進。複雑な場面への対応力向上、ストリーミング信頼性低下。 4はMeGUI2.0ヘルプファイルの推奨範囲の内、最大。 |
||
イ ン ラ イ ン デ ブ ロ ック |
deblock | on | デブロック フィルタの可否 | |
deblock=0,0 | 0,0 | デブロック フィルタ強度 | ||
小 技 |
cqm=jvt | flat | HP | カスタム量 子化マトリクス。切る場合はcqm=flatが安全。 |
cabac | on | MP | 切る場合はnocabacが安全。 | |
direct_pred=auto | spatial | Bフレーム 中のダイレクト・マクロブロックに使われる動き予測のタイプ決定方式 | ||
nofast_pskip | on | Pフレーム
における速い段階でのスキップ検出。速度向上。 切るとディテイルの無いエリア、例えば空などにアーティファクトが出る事がある。 |
||
nodct_decimate | on | Pフレーム
中の若干のディテイル除去。 アニメ以外の素材を高ビットレートで圧縮する場合は効果あるかも。 |
||
他 | nointerlaced | ? | インタレ保 持を切っている。 | |
noglobal_header | off | PSPなど で必要。 | ||
指 標 |
psnr | off | 画質指標の 表示 | |
ssim | off | 新しい画質
指標の表示 ※特に表示変更は見当たらなかった。 |
オプション名 | default | Profile | メモ | |
---|---|---|---|---|
pass=1 | パス指定 | |||
turbo=1 | 1st用高
速化用のプリセット設定。 ログを見ると上記共通項目の中にも効かなくなるものがあるようだ。 |
オプション名 | default | Profile | メモ | |
---|---|---|---|---|
pass=2 | パス指定 | |||
※1 | me=umh | hex | フルピクセルの動き補償アルゴリズム選択。 最大のesaは鬼のように低速。 |
|
subq=7 | 5 | subpel精製品質。7で最大。 | ||
※2 | frameref=4 | 1 | 直前よりも前のフレームを参照フレームに使う。その最大距離。 最大15。実写では6程度を境に効果急減。 |
|
mixed_refs | ? | 8x8、16x8 motion partitionが、独自に参照フレームを選べるようにする。 | ||
サ ブ マ ク ロ ブ ロ ッ ク |
8x8dct | ? | HP | 切る場合はno8x8dctが安全。 |
partitions=p8x8,b8x8,i8x8,i4x4 | 同左 | HP | オプショナルなマクロブロック・タイプの指定。 MPの場合、no8x8dctと共にi8x8も削除。 |
|
※3 | trellis=2 | 1 | レート歪み最適化(RDO)の量子化。意味不明。低速、要subq=6以上。 | |
brdo | ? | Bフレームのマクロブロックタイプにレート歪み最適化。要subq=6以上。 | ||
bime | ? | 双方向(予 測)マクロブロックで使われる2つのモーションベクトルの精密化。要Bフレーム。 |
x264 [info]: using SAR=44/45
x264 [info]: using cpu capabilities Altivec
x264 [info]: slice I:384 Avg QP:16.36 size: 21913 PSNR Mean Y:48.56 U:52.30 V:53.52 Avg:49.55 Global:49.19
x264 [info]: slice P:12378 Avg QP:18.03 size: 9563 PSNR Mean Y:46.15 U:50.67 V:52.13 Avg:47.26 Global:46.90
x264 [info]: slice B:24275 Avg QP:19.60 size: 2923 PSNR Mean Y:45.25 U:50.35 V:51.89 Avg:46.43 Global:46.09
x264 [info]: mb I I16..4: 8.1% 75.4% 16.5%
x264 [info]: mb P I16..4: 0.5% 5.9% 0.8% P16..4: 60.2% 19.0% 8.3% 0.0% 0.0% skip: 5.2%
x264 [info]: mb B I16..4: 0.0% 0.0% 0.0% B16..8: 26.1% 1.7% 3.9% direct: 5.9% skip:62.4%
x264 [info]: 8x8 transform intra:79.2% inter:44.3%
x264 [info]: direct mvs spatial:95.7% temporal:4.3%
x264 [info]: ref P 57.2% 22.4% 11.8% 8.7%
x264 [info]: ref B 71.6% 18.2% 6.1% 4.1%
x264 [info]: SSIM Mean Y:0.9835919
x264 [info]: PSNR Mean Y:45.584 U:50.475 V:51.990 Avg:46.741 Global:46.367 kb/s:1024.09
Video stream: 1025.113 kbit/s (128139 B/s) size: 197948402 bytes 1544.793 secs 46298 frames
SEC ; 7119
TIME; 1:58.39
x264 [info]: slice I: 490 Avg QP:19.21 size: 24682 PSNR Mean Y:47.78 U:49.86 V:51.00 Avg:48.38 Global:47.57ピンクが枚 数。 黄色がデータサイズ。 枚数では1.4%に過ぎないI/IDRだが、平均サイズはむちゃむちゃデカイ。そう!アイは惜しみなく奪うのだ!(どーん)。
x264 [info]: slice P:15350 Avg QP:21.01 size: 8706 PSNR Mean Y:45.88 U:48.60 V:49.90 Avg:46.69 Global:45.88
x264 [info]: slice B:18195 Avg QP:21.47 size: 1979 PSNR Mean Y:45.94 U:48.79 V:50.08 Avg:46.77 Global:45.96
『改訂版 H.264/AVC 教科書』ixページ。
しかし、我々が用いた技術は、はるかに 洗練され手の込んだものになっていて、時にベースとなっている設計原理の単純さを見失うほどです。もとのH.261 標準文書が仕様のすべてを表して25ページ以下であったのに対し、今回の新標準はその10倍以上の長さであり、技術的内容の密度も高くなっています。そ の様子は、折り紙作品に似ています。単純な基本コンセプトを幾層にも重ねることにより、新たな高度の造形に至っていて、これは注目に値する成果だと確信し ています。
x264cli (rev600準拠) |
MEncoder -x264encopts (dev-SVN-r20806準拠) |
---|
I, --keyint <integer> | keyint=<value> |
|
|
|
|
|
|
-i, --min-keyint <integer> | keyint_min=<1-keyint/2> ※式の意味不明、入力値は整数 |
|
|
|
|
|
|
--scenecut <integer> | scenecut=<-1-100> |
|
|
|
|
|
|
x264 rev 607でマルチスレッドの方式が変更され、速度が改善した。 手許(PowerPC G5 2Ghzx2)では、2パスで概ね3時間強かかっていた24分アニメが2時間半程度になった。こうかはばつぐんだ。
タイトル | FPS1 | FPS2 | FPS | Avg QP (P) | PSNR (Grobal) |
---|---|---|---|---|---|
threads=2平均(57件) | 14.42 | 5.26 | 3.85 | 20.68 | 45.25 |
threads=4平均(12件) | 18.69 | 6.42 | 4.75 | 19.02 | 46.83 |
概ね誰にでもお奨めできそう。
以前のrevでは threads=4は「まぁ、数秒くらい速く終わるかな?」程度だったので大進化。表のデータは実写もアニメも映画もテレビ番組もいっしょくたなので個別 に見れば、24fpsで吐いた映画とアニメはもっと早い。
Zero1氏(Turion 64 x2 TL-60 (2x2.0GHz)) のコメントでも、マルチスレッドが高速化し画質劣化が非常に少な くなった、お奨め。との事。もともと早いx86ではどこまでいくんだろう?
Changeset 607(06/12/16)
新しいスレッド方式:
各フレームをスライスに分割していたのを、複数参照フレームの併行処理に変更。副次効果:
速度改善、スレッディングのビットレート・ペナルティ緩和。
フレームの再エンコードはもうできないので、スレッデッド・シーンカット検出はpre-me pass(*動き予測の前のパス?*)でやらなければならない。これは高速だが、精度は落ちる。
CPU数より多くのthread数を使っても良い。--threads=autoはcpus*1.5を使うようにアップデート された。
他にレートコントロールのマイナーチェンジ。
rev 607以前の推奨はthreads=CPUコア数だったが、これで4コア以上のCPU(2007後半以降?)が出て来ても対応 できるだろう。Cell向け最適化もなんとかならんか。
なお、CPU利用効率も大きく向上した。-vfチェインにmcdeintの ようなボトルネックを使わなければ、概ねCPUメータが振り切れる。以前は振り切れる瞬間が無かった。スレッド数は最大5になる事が多い。この点、x264はApple-H.264に劣っていたが、だいぶ差が詰まった。2 パスでの画質はもとより勝負にならない。threads | Frames | Sec_1 | Sec_2 | Fps_1 | Fps_2 | PSNR | SSIM | Fps_1_diff | Fps_2_diff | PSNR_diff | SSIM_diff |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 3157 | 360 | 1124 | 8.77 | 2.81 | 40.244 | 0.9775031 | - | - | - | - |
2 | 3157 | 228 | 759 | 13.85 | 4.16 | 40.246 | 0.9775451 | 5.08 | 1.35 | 0.002 | 0.0000420 |
4 | 3157 | 240 | 649 | 13.15 | 4.86 | 40.240 | 0.9775352 | 4.38 | 2.06 | -0.004 | 0.0000321 |
16 | 3157 | 236 | 633 | 13.38 | 4.99 | 40.213 | 0.9774428 | 4.61 | 2.18 | -0.031 | -0.0000603 |
threads | Frames | Sec_1 | Sec_2 | Fps_1 | Fps_2 | PSNR | SSIM | Fps_1_diff | Fps_2_diff | PSNR_diff | SSIM_diff |
---|---|---|---|---|---|---|---|---|---|---|---|
2/16 | 3157 | 231 | 652 |
13.67 |
4.84 |
40.223 |
0.9774683 | 4.90 |
2.03 |
-0.021 |
-0.0000348 |
subq=2:frameref=1:partitions=p8x8,i8x8,i4x4:
x264 revision 610 - sliceless threading - what's new#3(Doom9)なんか16だけちょいと落ちてるけんども、これこそメニイ コア最適化であっちゅーまだべな。
(スレッドを増やすと若干の画質低下になるというのはどうなったのか? に対して)
今でもそう。だが以前ほどではない。したがって"reduces the bitrate penalty"(ビットレートペナルティの低減)。
上記はLinuxでの計測。Windowsでは効果的なスレッド同期を実現するのにたくさんの問題があった。そして現在に至る もパフォーマンスはここまでは良く無いかも知れない。Code:cpu: 4 core Xeon 5160
threads speed psnr loss
r606 r611 r606 r611
1: 1.000x 1.000x 0.000 0.000
2: 1.540x 1.739x -0.036 -0.004
3: 1.838x 2.384x -0.065 -0.002
4: 2.043x 3.224x -0.077 -0.005
5: 2.028x 3.512x -0.110 -0.009
6: 2.034x 3.629x -0.132 -0.009
7: 1.988x 3.680x -0.151 -0.015
8: 1.953x 3.702x -0.188 -0.017
9: 2.016x 3.729x -0.210 -0.020
10: 1.995x 3.742x -0.233 -0.031
11: 1.954x 3.749x -0.255 -0.030
12: 1.909x 3.765x -0.268 -0.040
13: 1.895x 3.770x -0.286 -0.045
14: 1.936x 3.759x -0.313 -0.046
15: 1.897x 3.781x -0.335 -0.045
16: 1.845x 3.765x -0.349 -0.046
scaling efficiency (speed / #cores):
r606: 51%
r611: 94%
タ イトル | fps1 | fps2 | fps_total | I枚数 | I比率 | AVG QP(P) | PSNR | SSIM | I16x16 | I8x8 | I4x4 | 1st時間 | 2nd時間 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ヴィー ナス・ヴァーサス_01_070112 | 22.02 | 6.96 | 5.29 | 412 | 0.93% | 17.09 | 48.28 | 0.9934247 | 5.7% | 74.0% | 20.3% | 0:33.28 | 1:45.54 |
ケ ロロ軍曹_070105 | 19.15 | 6.20 | 4.68 | 391 | 0.88% | 18.98 | 46.05 | 0.9915265 | 8.4% | 71.1% | 20.6% | 0:38.37 | 1:59.17 |
ケ ロロ軍曹_070112 | 20.54 | 6.06 | 4.68 | 449 | 1.01% | 19.44 | 45.92 | 0.9908702 | 8.9% | 73.6% | 17.5% | 0:35.59 | 2:01.55 |
ひ だまりスケッチ_01_070112 | 20.26 | 7.02 | 5.22 | 393 | 0.89% | 16.75 | 47.90 | 0.9950168 | 7.2% | 62.6% | 30.1% | 0:36.14 | 1:44.30 |
メ ジャー3rd_01_070106 | 22.28 | 7.44 | 5.58 | 420 | 0.93% | 17.54 | 47.59 | 0.9922558 | 8.7% | 64.4% | 26.9% | 0:33.38 | 1:40.44 |
メ ジャー3rd_02_070113 | 19.80 | 6.55 | 4.92 | 383 | 0.85% | 19.02 | 45.94 | 0.9905024 | 9.4% | 65.6% | 24.9% | 0:37.52 | 1:54.29 |
機 動戦士ガンダム0080~ポケットの中の戦争~_02_070111 | 18.22 | 6.08 | 4.56 | 440 | 0.91% | 20.09 | 46.02 | 0.9875355 | 6.1% | 77.6% | 16.3% | 0:44.22 | 2:13.01 |
タ イトル | fps1 | fps2 | fps_total | I枚数 | I比率 | AVG QP(P) | PSNR | SSIM | I16x16 | I8x8 | I4x4 | 1st時間 | 2nd時間 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ProjectBlue_01_070110 | 27.16 | 8.49 | 6.47 | 421 | 0.97% | 16.83 | 47.62 | 0.9907793 | 6.3% | 76.2% | 17.5% | 0:26.45 | 1:25.32 |
ゴー ストハント_070110 | 28.16 | 8.46 | 6.51 | 375 | 0.86% | 13.40 | 50.86 | 0.9952298 | 5.4% | 64.4% | 30.3% | 0:25.48 | 1:25.52 |
ひ まわり_01_070108 | 26.81 | 8.23 | 6.30 | 454 | 1.01% | 18.57 | 46.35 | 0.9893814 | 5.0% | 79.1% | 15.9% | 0:27.57 | 1:31.03 |
月 面兎兵器ミーナ_01 | 27.28 | 8.32 | 6.38 | 475 | 1.15% | 17.01 | 47.63 | 0.9912010 | 6.0% | 73.9% | 20.0% | 0:25.16 | 1:22.49 |
$ mencoder ケロロ軍曹_070105.mpeg -nosound -ovc x264 -x264encopts bitrate=1024:bframes=3:b_adapt:weight_b:b_pyramid:keyint=240:keyint_min=1:scenecut=65:qp_min=10:qp_max=51:qp_step=8:qcomp=0.6:ratetol=4:deblock:deblock=0,0:cqm=jvt:cabac:direct_pred=auto:nofast_pskip:nodct_decimate:nointerlaced:noglobal_header:psnr:ssim:pass=1:threads=2:turbo=1 -passlogfile ケロロ軍曹_070105.264.log -vf pullup,softskip,pp=l5,crop=720:480:0:0,scale=640:480:::3,hqdn3d=4:3:6,harddup -sws 9 -ofps 24000/1001 -of rawvideo -o /dev/null
$ mencoder ケロロ軍曹_070105.mpeg -nosound -ovc x264 -x264encopts bitrate=1024:bframes=3:b_adapt:weight_b:b_pyramid:keyint=240:keyint_min=1:scenecut=65:qp_min=10:qp_max=51:qp_step=8:qcomp=0.6:ratetol=4:deblock:deblock=0,0:cqm=jvt:cabac:direct_pred=auto:nofast_pskip:nodct_decimate:nointerlaced:noglobal_header:psnr:ssim:pass=2:threads=16:me=umh:me_range=32:subq=7:frameref=4:mixed_refs:8x8dct:partitions=all:trellis=2:brdo:bime -passlogfile ケロロ軍曹_070105.264.log -vf pullup,softskip,pp=l5,crop=720:480:0:0,scale=640:480:::3,hqdn3d=4:3:6,harddup -sws 9 -ofps 24000/1001 -of rawvideo -o ケロロ軍曹_070105.264
subq=2:frameref=1:partitions=p8x8,i8x8,i4x4:turbo =1はpartitions=i8x8を含むので、8x8dctはturbo=1と併用する意味がある。要実験。
タイトル | FPS1 | FPS2 | FPS | I枚数 | I比率 | Avg_QP_(P) | PSNR_(Grobal) | Ssim | I16x16 | I8x8 | I4x4 |
---|---|---|---|---|---|---|---|---|---|---|---|
ふたつのスピカ_01_打ち上げ花火 | 21.37 | 7.01 | 5.28 | 284 | 0.63% | 16.90 | 47.49 | 0.991 | 6.5% | 67.7% | 25.8% |
ふたつのスピカ_02_アスミの夢 | 21.15 | 6.83 | 5.16 | 301 | 0.67% | 16.72 | 48.19 | 0.993 | 7.5% | 63.5% | 29.0% |
ふたつのスピカ_03_星への一歩 | 22.45 | 6.78 | 5.21 | 301 | 0.67% | 16.52 | 48.70 | 0.994 | 8.6% | 62.2% | 29.2% |
ふたつのスピカ_04_遠い日の記憶 | 17.25 | 6.06 | 4.49 | 297 | 0.66% | 15.91 | 49.05 | 0.994 | 8.0% | 61.9% | 30.0% |
ふたつのスピカ_05_おかあさんの顔 | 22.78 | 7.40 | 5.58 | 284 | 0.63% | 16.43 | 48.27 | 0.993 | 5.0% | 70.2% | 24.8% |
ふたつのスピカ_06_テスト終了 | 20.99 | 6.61 | 5.03 | 298 | 0.66% | 16.38 | 48.82 | 0.994 | 7.6% | 65.4% | 27.1% |
ふたつのスピカ_07_宇宙学校入学式 | 20.65 | 6.07 | 4.69 | 326 | 0.73% | 17.25 | 47.77 | 0.993 | 6.6% | 67.7% | 25.7% |
ふたつのスピカ_08_ひとりの夢みんなの夢 | 21.02 | 5.51 | 4.36 | 316 | 0.70% | 17.93 | 47.31 | 0.992 | 6.6% | 67.7% | 25.6% |
ふたつのスピカ_09_カムパネルラの森 | 15.47 | 5.93 | 4.29 | 281 | 0.63% | 16.72 | 48.23 | 0.993 | 4.2% | 71.1% | 24.7% |
ふたつのスピカ_10_水の中にも宇宙 | 22.35 | 7.31 | 5.51 | 290 | 0.64% | 17.16 | 48.18 | 0.993 | 7.8% | 66.0% | 26.2% |
ふたつのスピカ_11_傷ついた翼 | 20.69 | 6.83 | 5.14 | 293 | 0.65% | 17.09 | 47.49 | 0.992 | 7.0% | 66.2% | 26.8% |
ふたつのスピカ_12_ふたりの星はっぱ星 | 22.49 | 7.33 | 5.53 | 305 | 0.68% | 17.61 | 47.27 | 0.992 | 5.1% | 72.7% | 22.2% |
ふたつのスピカ_13_約束の5人 | 20.62 | 6.46 | 4.92 | 307 | 0.68% | 17.35 | 47.40 | 0.992 | 7.5% | 66.3% | 26.2% |
ふたつのスピカ_14_悲しい笑顔 | 22.37 | 7.43 | 5.58 | 321 | 0.71% | 18.28 | 46.71 | 0.991 | 6.7% | 67.1% | 26.2% |
ふたつのスピカ_15_ひとりぼっち | 19.20 | 6.35 | 4.77 | 308 | 0.69% | 17.04 | 48.15 | 0.993 | 7.6% | 67.9% | 24.5% |
ふたつのスピカ_16_アスミの桜 | 22.20 | 7.02 | 5.33 | 290 | 0.65% | 16.80 | 48.38 | 0.993 | 7.7% | 69.3% | 23.0% |
ふたつのスピカ_17_サバイバル訓練 | 21.26 | 6.94 | 5.23 | 310 | 0.69% | 16.76 | 48.07 | 0.993 | 6.3% | 66.5% | 27.3% |
ふたつのスピカ_18_マリカとまりか | 20.59 | 6.23 | 4.78 | 301 | 0.67% | 16.85 | 47.97 | 0.992 | 4.3% | 70.4% | 25.2% |
ふたつのスピカ_19_いま君にできること | 20.12 | 6.20 | 4.74 | 295 | 0.66% | 17.06 | 47.70 | 0.992 | 5.1% | 68.7% | 26.1% |
ふたつのスピカ_20_明日を見つめて | 21.70 | 7.12 | 5.36 | 296 | 0.66% | 17.43 | 47.42 | 0.992 | 4.6% | 72.6% | 22.8% |
平均 | 20.84 | 6.67 | 5.05 | 300 | 0.67% | 17.01 | 47.93 | 0.992 | 6.5% | 67.6% | 25.9% |
![]() |
石段や茂みの質感を素材と比べると結構違う。 アニメの部分はpullupで24fps化してしまえば良いものの、時報や局ロゴはNTSC(29.97fps)だからpullupだけではジャギが目に五月蝿い。この素材ではそんな事は無いようだったが、CGの花火もNTSC(29.97fps)合成のケースもある。自分的には空間軸fps混在と呼ん でいる。 これらに対処するため、手許ではpp=l5を重ねている。単独でも性能を発揮するインタレ解除フィルタなので厳密にはやや強すぎるだろう。 素直にインタレ保持エンコすりゃいいのだが、それでは面白みが足りない。いずれにしても五月蝿い事を言えば、というレベルのハナシ。 なお、 フレーム単位でぱたぱたと動く暗階調のブロックノイズは主観的にはほぼ気にならないレベルに抑え込めている(無くはない)。 |
$ mencoder ふたつのスピカ_20_明日を見つめて.mpeg -nosound -ovc x264 -x264encopts bitrate=1024:bframes=3:b_adapt:weight_b:b_pyramid:keyint=240:keyint_min=1:scenecut=65:qp_min=10:qp_max=51:qp_step=8:qcomp=0.6:ratetol=4:deblock:deblock=0,0:cqm=jvt:cabac:direct_pred=auto:nofast_pskip:nodct_decimate:nointerlaced:noglobal_header:psnr:ssim:pass=1:threads=2:turbo=1 -passlogfile ふたつのスピカ_20_明日を見つめて.264.log -vf pullup,softskip,pp=l5,crop=720:480:0:0,scale=640:480:::3,hqdn3d=4:3:6,harddup -sws 9 -ofps 24000/1001 -of rawvideo -o /dev/null
$ mencoder ふたつのスピカ_20_明日を見つめて.mpeg -nosound -ovc x264 -x264encopts bitrate=1024:bframes=3:b_adapt:weight_b:b_pyramid:keyint=240:keyint_min=1:scenecut=65:qp_min=10:qp_max=51:qp_step=8:qcomp=0.6:ratetol=4:deblock:deblock=0,0:cqm=jvt:cabac:direct_pred=auto:nofast_pskip:nodct_decimate:nointerlaced:noglobal_header:psnr:ssim:pass=2:threads=16:me=umh:me_range=32:subq=7:frameref=4:mixed_refs:8x8dct:partitions=all:trellis=2:brdo:bime -passlogfile ふたつのスピカ_20_明日を見つめて.264.log -vf pullup,softskip,pp=l5,crop=720:480:0:0,scale=640:480:::3,hqdn3d=4:3:6,harddup -sws 9 -ofps 24000/1001 -of rawvideo -o ふたつのスピカ_20_明日を見つめて.264
subq=2:frameref=1:partitions=p8x8,i8x8,i4x4:turbo=1はpartitions=i8x8を含むので、8x8dctはturbo=1と併用する意味がある。要実験。
===FFMPEG_AUDIO===確かに128kbpsでは目を閉じて素材と聞き比べるとあれれなカンジがあった。上を見ればキリが無いが、これの歌が結構好きなので。
$ ffmpeg -i ふたつのスピカ_01_打ち上げ花火.264 -i ふたつのスピカ_01_打ち上げ花火.mpeg -y -vn -f mp4 -acodec aac -ar 48000 -ac 2 -ab 96 -map 1.1:0.0 ふたつのスピカ_01_打ち上げ花火.aac.mp4
結論:partitionsの指定値は何も考えずにallで良さそう。
AVC 規格の解説で、bondさんはこういう事を書いている。可変ブロックサイズ/可変マクロブロックパーティションMEncoder -x264encoptsの対応オプションは、partitions。x264cliでは-A, --partitions。らけった版ffmpegではおそらく、-partitions。
Variable Block Sizes/Macroblock Partitions:
MPEG-4 ASPでは、インター4V、またはインター4MVを使うと、16x16~8x8ピクセルの間でブロックサイズを変える事ができました。
AVC/H.264 では、モーションサーチの精度を決めるマクロブロックの大きさを、4x4ピクセルまで下げる事を提案しています。これは、8x4のように段階的に下げて行 く事もできます。ブロックサイズは映像内容に応じて可変です。
各マクロブロックにどの程度のブロックサイズを与えれば最も効果的 か、その判断が賢いものが良いエンコーダと呼ばれるでしょう。
x264 [info]: mb I I16..4: 14.4% 18.2% 67.4%たぶん左から16x16,8x8,4x4。PやBも出るけど、Iを見るだけでもx264のパーティション分析がどのくらい賢いかが見えて来るんじゃないかと思った。
NO. | 解 | 種 | タイトル | Frame数 | HRS1 | HRS2 | Hrs | FPS1 | FPS2 | FPS | I枚数 | I比率 | AvgQP(P) | Ssim | I16x16 | I8x8 | I4x4 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | VGA | A | 青の6号_01-02 | 103392 | 1:32.15 | 5:3.39 | 6:35.54 | 18.68 | 5.67 | 4.35 | 1217 | 1.18% | 18.48 | 0.992 | 6.1% | 79.9% | 14.0% |
2 | VGA | A | 青の6号_03-04 | 124959 | 1:41.00 | 5:46.5 | 7:27.5 | 20.62 | 6.02 | 4.66 | 1261 | 1.01% | 16.19 | 0.994 | 6.7% | 74.2% | 19.1% |
3 | VGA | R | 2002US_ソラリス | 179217 | 2:46.49 | 6:39.42 | 9:26.31 | 17.91 | 7.47 | 5.27 | 784 | 0.44% | 14.05 | 0.996 | 7.3% | 72.2% | 20.6% |
4 | VGA | R | 1963US_逆転 | 243972 | 3:21.40 | 8:50.24 | 12:11.28 | 20.22 | 7.67 | 5.56 | 1272 | 0.52% | 16.40 | 0.994 | 8.7% | 70.2% | 21.1% |
5 | VGA | R | 1962US_終身犯(白黒) | 269097 | 3:28.11 | 10:26.18 | 13:54.29 | 21.54 | 7.16 | 5.37 | 1192 | 0.44% | 17.97 | 0.992 | 7.6% | 73.7% | 18.7% |
6 | VGA | R | 1959CZ/SK_真夏の夜の夢 | 136059 | 1:54.14 | 4:31.34 | 6:25.48 | 19.85 | 8.35 | 5.88 | 630 | 0.46% | 16.39 | 0.996 | 12.5% | 70.0% | 17.6% |
7 | VGA | R | 1952US_ライムライト(白黒) | 236757 | 3:14.49 | 10:8.47 | 13:23.36 | 20.25 | 6.48 | 4.91 | 1066 | 0.45% | 20.40 | 0.987 | 3.8% | 76.0% | 20.1% |
8 | VIS | R | 2004US_アレキサンダー | 305102 | 3:52.54 | 13:38.12 | 17:31.6 | 21.83 | 6.21 | 4.84 | 2576 | 0.84% | 22.51 | 0.985 | 4.4% | 89.8% | 5.8% |
9 | VIS | A | ProjectBlue_01 | 43596 | 0:26.45 | 1:25.32 | 1:52.17 | 27.16 | 8.49 | 6.47 | 421 | 0.97% | 16.83 | 0.991 | 6.3% | 76.2% | 17.5% |
10 | VIS | A | ゴーストハント_070110 | 43595 | 0:25.48 | 1:25.52 | 1:51.40 | 28.16 | 8.46 | 6.51 | 375 | 0.86% | 13.40 | 0.995 | 5.4% | 64.4% | 30.3% |
11 | VIS | A | ひまわり_01_070108 | 44952 | 0:27.57 | 1:31.3 | 1:59.0 | 26.81 | 8.23 | 6.30 | 454 | 1.01% | 18.57 | 0.989 | 5.0% | 79.1% | 15.9% |
12 | VIS | A | 月面兎兵 器ミーナ_01 | 41360 | 0:25.16 | 1:22.49 | 1:48.5 | 27.28 | 8.32 | 6.38 | 475 | 1.15% | 17.01 | 0.991 | 6.0% | 73.9% | 20.0% |
13 | VIS | R | 1958_東京の休日 | 152343 | 1:53.4 | 6:31.11 | 8:24.15 | 22.46 | 6.49 | 5.04 | 650 | 0.43% | 18.25 | 0.990 | 5.1% | 74.7% | 20.2% |
14 | VIS | R | マトリックス・レボリューションズ | 206615 | 2:35.30 | 8:18.12 | 10:53.42 | 22.15 | 6.91 | 5.27 | 3002 | 1.45% | 21.49 | 0.983 | 3.2% | 90.2% | 6.6% |
15 | CIN | R | 1967日活_夜霧よ今夜も有難う | 168429 | 1:33.7 | 4:50.36 | 6:23.43 | 30.15 | 9.66 | 7.32 | 993 | 0.59% | 14.69 | 0.994 | 3.5% | 67.4% | 29.0% |
![]() |
![]() |
![]() |
場面1 | 場面2 | 場面3 |
[場面1] [場面2] [場面3]複数のジオラマが平台の上に作ってあり、人形が歩いて次の場面へ移動するのをカメラがパンで追いかけるという、劇場中継でたまにある回り舞台みたいなものだろう。
↑
移動←カメラ→移動
「量子化」自体を「画質劣化度」とムリヤリ肚に落としているので「量子化」「量子化値」「被量子化値」「量子化パラメータ」がそれぞれ違うらしい となるとあまり深入りするのも問題だが…。
「デッドゾーン」とは、量子化値が0になる範囲のことで、非常に細かい値は強制的に0に丸めて省略してしまへ!
という事のようだ。従って実用上は、deadzone_inter、deadzone_intraの入力値より細かい輝度値(=ほぼディテイルと 思って良いだろう)は潰してしまいますよ、という理解で良いと思う。上記の通り、x264はそれぞれにデフォルト値が入っており、細かいディテイルを潰し ている。
他方、教科書p137には「H264/AVCでは画面内、画面間符号化ともデッドゾーンの無い量子化を採用し
ています」とある。
つまり、規格上は非常に細かいフィルムグレインやスノーノイズまでがっつり残せる。
画面内符号化 | 画面間符号化 (動き補償により小さい成分が多い) |
備考 | |
---|---|---|---|
MPEG-2 | 有り |
ナシ |
|
H.264/AVC | ナシ | ナシ | intra,interで同じ量子化が使える |
ただし、フィルムグレインやスノーノイズまでがっつり保持って事になると、必要なビットレートがうなぎのぼる。
x264は実用性の観点
からデッドゾーンを採用してるって事だ。
例えば自分の場合、1024kbpsと2048kbpsの画質差はほとんど感じ取れない。bitrateの高 い方が全体的になんとなぁく、じんわりと「良いかな?」とは思うものの、噺家の顔の皺、着物の質感などにはまず違いがなく、素材と比べるとどちらも同程度 の潰れがある。
逆に古い白黒映画ではフィルムのコマ単位で輝度がばらついたり、一コマだけやたら汚れてたりする事があるのだが、そうした部分がやけに強調されて しまうケースがある。しかも素材に忠実ではないブロックノイズという形で。そのくせ衣装の毛羽立ち具合などは同程度の潰れがある。
もちろん、hqdn3d やpp=l5を-vfチェインに組み込んでいるのでその影響が一番大きいハズだが、両デッドゾーンのデフォルト値の存在と教 科書の記述の不整合から見て、x264自体が1024kbps近辺に主眼をおいたチューニングになっているのだと思う。
使い道としてはまずロスレスを考えたい。huffyuvを受け付けないQuickTime系とapple intermediate/Pixletを受け付けないlinux系を繋ぐ中間生成物だ。qp=0:deadzone_intra=0:deadzone_inter=0:nodeblockこれで理屈上は、スノウノイズだろうがフィルムグレインだろうが着物のケバ立ちだろうが噺家の顔の皺だろうがどーんと来い!って事になる。
Doom9 Explanation for new switches in x264一般的に適切なbitrateというのは存在しないが、一応の目安としてBPP表を作ってみた。
#4 IgorC
--deadzone:高bitrate でディテイルレベル向上。ノイズ、フィルムグレイン、など。#10 AlexW(x264 contributor)
IgorC が言ったように、--deadzoneは中~高bitrate領 域での精細なディテイルやフィルムグレインを向上させる。#23 akupenguin(x264 author)
まず--deadzone-intra の調整から始めるのをお奨めする。違いの大半はここで発生するみたいだから。--deadzone-intra の デフォルト値は11だが、いくぶん0に近い方がややディテイルが残るようだ。CQMと一緒に使うとなお良いハズ。
理論上、lambdaを改造すればtrellisに もdeadzoneが使える。でも実装はまだ。#10 AlexW(x264 contributor)
まだちゃんとテストしてないが、速度低下は最小限のハズだ。#14 Sharktooth
一般的なbitrateとして数字を上げるのは意味が無い。完全に素材の複雑さ次 第だからだ。#27 akupenguin(x264 author)
こんなふうに考えてくれ:
超低ビットレート=見るに耐えない画質。
低ビットレート= 悪くは無いが決して良いとは言えない。
中ビットレート= 良い。但し完璧では無い。
高ビットレート= 完璧に近い。
Deadzoneはquality-per-qpに 影響する。理想的なデブロック強度はqualityに依るが、現実のデブロック強度(規格上の定義によるもの、およびx264オプション で指定するもの)はQPと相関関係にある。qualityでは無い。#29 pinkie_1
だ からもしquality-per-qpを調節すれば、デブロックの設定も変えたいケースがあるだろう。しかしながら、デブロック設定の単位は極めて粗いの で、deadzoneを最低値の0まで下げた場合でも(推奨しない)、対応するデブロック補正はせいぜい-1に止めるべきだろう(default deadzoneの時に使っていたデブロック強度に対して-1)。反対にdeadzoneを最大値の32まで上げるなら、適切なデブロックはせいぜい+ 1。
適切なdeadzoneとbitrateとの間に特定の関係は無い。Deadzoneは常にrate-distorion optimal valueと相関関係にあるので、いかなる変化もサイコビジュアルな もので、まだ断定的な推奨値を書けるほどテストされていない。
詳しい人に--deadzone の正しい使い方を聞きたいのだが:
奇妙な組み合わせで使う人が多いように思える。例えば(4,4) 、 (6,6,)、(0,0)すらある(intra, interの順)。
自分の理解では:
1. intra < inter であるべき。
2. (0,0) は非実用的。
個人的には--deadzoneを使う際は (2,4) か (4,8) にしてる。
更新履歴
x264 [info]: slice I:576ざっと3秒に一枚。
23.976fps_アニメ(63件) | SSIM | I比率 |
---|---|---|
平均 | 0.9908766 | 1.0% |
天元突破グレンラガン_01_お前のドリルで天を突け!! | 0.9897144 | 1.3% |
そのシーンカット見つけますか賢いねぇ | なんでそこにIDRを入れないのだ君わ | メモ |
---|---|---|
![]() |
ズームではなくすぱっと 切り替わるのでカットと 言えばカット。 |
|
![]() |
![]() |
どちらも上と同じ"カット" だが、良く解らない。 |
![]() |
![]() |
さらに解らない。 輝度?複数参照? |
![]() |
さらにさらに解らない。 入れるならここは 1224だろう。 |
|
![]() |
光のつぶつぶが画面を 覆うシークエンスの中に はもっとカットがあるが IDRはこの一枚だけ だった。 これは仕方がないだろう。 |
|
![]() |
これは明らかに不正確 だと思う。 |
|
![]() |
![]() |
左に入って右に入らない のはなぜなんですくわッ。 |
天元突破グレンラガン_01_お前のドリルで天を突け!!.mpeg
===MENCODER_PASS1===
$ mencoder 天元突破グレンラガン_01_お前のドリルで天を突け!!.mpeg -nosound -ovc x264 -x264encopts bitrate=1024:bframes=3:b_adapt:weight_b:b_pyramid:keyint=240:keyint_min=1:scenecut=65:qp_min=10:qp_max=51:qp_step=8:qcomp=0.6:ratetol=4:deblock:deblock=0,0:cqm=jvt:cabac:direct_pred=auto:nofast_pskip:nodct_decimate:nointerlaced:noglobal_header:psnr:ssim:pass=1:threads=2:8x8dct:turbo=1 -passlogfile 天元突破グレンラガン_01_お前のドリルで天を突け!!.264.log -vf pullup,softskip,pp=l5,crop=704:352:4:64,scale=640:352:::3,hqdn3d=4:3:6,harddup -sws 9 -zoom -ofps 24000/1001 -of rawvideo -o /dev/null
x264 [info]: using SAR=44/45
x264 [info]: using cpu capabilities
x264 [info]: slice I:576 Avg QP:18.12 size: 20862 PSNR Mean Y:48.01 U:51.06 V:51.36 Avg:48.76 Global:47.43
x264 [info]: slice P:22732 Avg QP:19.51 size: 6951 PSNR Mean Y:46.27 U:49.68 V:50.31 Avg:47.12 Global:45.78
x264 [info]: slice B:12884 Avg QP:21.58 size: 2070 PSNR Mean Y:45.72 U:49.36 V:49.99 Avg:46.64 Global:45.45
x264 [info]: mb I I16..4: 24.8% 29.7% 45.5%
x264 [info]: mb P I16..4: 10.4% 9.5% 5.7% P16..4: 57.6% 7.0% 2.5% 0.0% 0.0% skip: 7.5%
x264 [info]: mb B I16..4: 0.5% 1.2% 0.9% B16..8: 17.6% 0.0% 0.0% direct: 9.8% skip:70.0%
x264 [info]: final ratefactor: 20.26
x264 [info]: 8x8 transform intra:37.0% inter:23.4%
x264 [info]: direct mvs spatial:98.7% temporal:1.3%
x264 [info]: SSIM Mean Y:0.9883897
x264 [info]: PSNR Mean Y:46.101 U:49.584 V:50.211 Avg:46.977 Global:45.677 kb/s:1042.41
Video stream: 1042.511 kbit/s (130313 B/s) size: 196715275 bytes 1509.550 secs 45242 frames
SEC ; 1815
TIME; 0:30.15
===MENCODER_PASS2===
04/05 03:32.16
$ mencoder 天元突破グレンラガン_01_お前のドリルで天を突け!!.mpeg -nosound -ovc x264 -x264encopts bitrate=1024:bframes=3:b_adapt:weight_b:b_pyramid:keyint=240:keyint_min=1:scenecut=65:qp_min=10:qp_max=51:qp_step=8:qcomp=0.6:ratetol=4:deblock:deblock=0,0:cqm=jvt:cabac:direct_pred=auto:nofast_pskip:nodct_decimate:nointerlaced:noglobal_header:psnr:ssim:pass=2:threads=16:me=umh:me_range=32:subq=7:frameref=4:mixed_refs:8x8dct:partitions=all:trellis=2:brdo:bime -passlogfile 天元突破グレンラガン_01_お前のドリルで天を突け!!.264.log -vf pullup,softskip,pp=l5,crop=704:352:4:64,scale=640:352:::3,hqdn3d=4:3:6,harddup -sws 9 -zoom -ofps 24000/1001 -of rawvideo -o 天元突破グレンラガン_01_お前のドリルで天を突け!!.264
x264 [info]: using SAR=44/45
x264 [info]: using cpu capabilities
x264 [info]: slice I:576 Avg QP:17.62 size: 19584 PSNR Mean Y:48.64 U:51.21 V:51.51 Avg:49.31 Global:48.46
x264 [info]: slice P:22732 Avg QP:18.50 size: 6659 PSNR Mean Y:46.96 U:49.87 V:50.48 Avg:47.74 Global:47.12
x264 [info]: slice B:12884 Avg QP:19.81 size: 2379 PSNR Mean Y:46.65 U:49.72 V:50.33 Avg:47.48 Global:46.84
x264 [info]: mb I I16..4: 6.4% 77.3% 16.3%
x264 [info]: mb P I16..4: 0.6% 8.7% 1.5% P16..4: 61.6% 10.2% 5.1% 0.3% 0.1% skip:11.9%
x264 [info]: mb B I16..4: 0.0% 0.4% 0.1% B16..8: 27.4% 1.8% 4.1% direct: 3.4% skip:62.8%
x264 [info]: 8x8 transform intra:79.4% inter:62.1%
x264 [info]: direct mvs spatial:91.2% temporal:8.8%
x264 [info]: ref P 79.4% 10.8% 6.4% 3.4%
x264 [info]: ref B 74.0% 14.3% 6.8% 4.9%
x264 [info]: SSIM Mean Y:0.9897144
x264 [info]: PSNR Mean Y:46.875 U:49.842 V:50.445 Avg:47.672 Global:47.038 kb/s:1024.49
Video stream: 1024.598 kbit/s (128074 B/s) size: 193335118 bytes 1509.550 secs 45242 frames
SEC ; 6291
TIME; 1:44.51
MB | 分類 | 画質スライダ | 備考 | |
---|---|---|---|---|
.mpeg | 5.9 | DCT | - | 素材 |
Apple intermediate.mov | 16.0 | DCT | 中 |
実質的にIのみのMPEG-2らしい。 QTPProではなぜか画質スライダが出ないが、他ソフトでは圧縮率を変えられる らしく「圧縮率(中)」みたような表示が出る。 HDVカメラというもので撮影したHD映像編集ソフト(iMovieHDなど)が使う。 左記の通り非常にコンパクトになるが劣化もこの中ではもっとも激しかった。 |
x264qp0.mp4 | 40.5 | DCT | 後述 | H.264ロスレス。 x264, interlaced, Iのみ, 量子化抜き。 BがないのでMEncoderでmp4吐き出し。 冒頭の白紙フレームも無いのでQTPProでアスペクト指定後 「そのまま」mp4書き出し。 |
MJPEG A.mov | 47.1 | DCT | 最高 | AとBがあるが良く解らないのでA。 詳細オプションはどちらも同じでインタレ保持絡みの模様。 |
Pixlet.mov | 33.6 | DWT | 最高 | これとJPEG2000とは離散ウェーブレット変換(DWT)という理屈を使う。 マクロブロックを使わないのでブロックノイズが出ないかわり、 同心円上の圧縮ノイズが出るという。圧縮率(中)で出ました。 書き出し速度も再生も他と遜色がない。 PixerとAppleの共同開発だそうで、なにやらスゴそうなものがオマケでついている わけだが、そのわりに使ってますと言う情報が無い。でもかなり優秀。 |
J2k.mov | 63.1 | DWT | 最高 | QT標準搭載のJPEG2000が.movでも使えた。 静止画専用ぢゃなかったのか。 NHK技研もいろいろ研究中っぽい。 書き出しはこのなかでは抜群に遅く、G5, 2Ghzx2では再生もカクカク。 |
J2k > Pixlet >> x264qp0 > MJPEG A >>> Apple intermediateといったところ。
ただし、Apple intermediateを除けば違いは非常に地味(Apple intermediateと他の違いもなかなか地味だけども)。-x264encopts \qp=0で量子化そのものをオミットするそうなので他にも無駄なオプションがあるかも知れない。てゆうかtrellisとかcqm=jvtとか要らない よな。8x8dctも効いてないし。てゆうか時間軸圧縮抜いてるんなら少なくとも動き補償系も要らない、、、ぶつぶつぶつ。
qp=0:\
bframes=0:\
keyint=0:keyint_min=0:scenecut=100:\
nodeblock:\
cabac:\
cqm=jvt:8x8dct:\
me=umh:me_range=32:subq=7:frameref=1:\
partitions=all:\
trellis=2:\
nofast_pskip:\
nodct_decimate:\
interlaced:\
noglobal_header:\
psnr:ssim:\
threads=1 \
-ofps 30000/1001 \
-of lavf -lavfopts format=mp4:i_certify_that_my_video_stream_does_not_use_b_frames \
///
Video stream: 49618.078 kbit/s (6202259 B/s) size: 42424490 bytes 6.840 secs 205 frames
x264 [info]: slice I:203 Avg QP: 0.00 size:208908
x264 [info]: mb I I16..4: 2.6% 0.0% 97.4%
x264 [info]: kb/s:50087.9
qp=0:bframes=0:keyint=0:keyint_min=0:scenecut=100:nodeblock:cabac:cqm=jvt:me=umh:me_range=32:subq=7:frameref=1:8x8dct:partitions=all:trellis=2:nofast_pskip:nodct_decimate:nointerlaced:noglobal_header:psnr:ssim:threads=16実験の目標その1:ここから無駄な設定を抜く。
Video stream: 41240.797 kbit/s (5155099 B/s) size: 33197640 bytes 6.440 secs 205 frames値がゼロで揃ったものは無くても良い。残すべきものは緑で。薄緑は好みで。赤がフレームロスト緩和。
x264 [info]: slice I:191 Avg QP: 0.00 size:173745
x264 [info]: mb I I16..4: 14.7% 0.0% 85.3%
x264 [info]: kb/s:41657.2
- | 変更値 | sec | frames | kb/s | I枚数 | I_size | I16 | I8 | I4 | memo |
---|---|---|---|---|---|---|---|---|---|---|
標準 | - | 24 | 205 | 41657.2 | 191 | 173745 | 14.7 | 0 | 85.3 | |
qp=0 | - | - | - | - | - | - | - | - | - | - |
bframes=0 | 14 | 24 | 0 | -1005 | 12 | -4191 | 0.5 | 0 | -0.5 | Iが203枚になったがBは無い。冒頭におかしなフレーム無し。 MovieVideoChartで確認してもチェックOK |
- | 1 | 25 | 0 | -1005 | 12 | -4191 | 0.5 | 0 | -0.5 | 同上 |
keyint=0 | 999999999 | - | - | - | - | - | - | - | - | Pが入る |
- | 1 | 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1か0 |
keyint_min=0 | 300 | 36 | 0 | -5475.9 | -189 | -12534 | 0 | 0 | 0 | Pが入る |
- | 1 | 23 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
scenecut=100 | -1 | 23 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
nodeblock | deblock | 23 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
cabac | nocabac | 16 | 0 | 5345.7 | 0 | 22296 | 1.1 | 0 | -1.1 | - |
cqm=jvt | 抜き | 23 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
me=umh | dia | 23 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
me_range=32 | 16(umh) | 26 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
subq=7 | 1 | 16 | 0 | 158.7 | 0 | 662 | 5.7 | 0 | -5.7 | 速度向上 |
frameref=1 | 15 | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
8x8dct | 抜き | 23 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
partitions=all | 抜き | 23 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
trellis=2 | 抜き | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
nofast_pskip | 抜き | 26 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
nodct_decimate | 抜き | 23 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
nointerlaced | - | - | - | - | - | - | - | - | - | - |
noglobal_header | 抜き | 23 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
psnr | 抜き | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
ssim | 抜き | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - |
threads=16 | 1 | 44 | 0 | -1005 | 12 | -4191 | 0.5 | 0 | -0.5 | Iが203枚になった。冒頭におかしなフレーム無し。 MovieVideoChartチェックOK |
mencoder INFILE.mpeg \結果は以下。
-vfm ffmpeg \
-nosound \
-ovc x264 -x264encopts \
qp=0:\
bframes=1:\
keyint=0:\
keyint_min=0:\
nodeblock:\
nocabac:\
subq=1:\
nointerlaced:\
threads=16 \
-vf yadif,hqdn3d=2:1:2,harddup \
-ofps 30000/1001 \
-of lavf -lavfopts format=mp4:i_certify_that_my_video_stream_does_not_use_b_frames \
-o OUTFILE.mp4
Video stream: 45796.340 kbit/s (5724542 B/s) size: 39156823 bytes 6.840 secs 205 frames約7sec, 5.9MBのMPEG-2が11secで37.3MBのインタレ解除済みx264ロスレス.mp4になった。但し、末尾1フレームロスト。
x264 [info]: slice I:204 Avg QP: 0.00 size:191899
x264 [info]: mb I I16..4: 21.5% 0.0% 78.5%
x264 [info]: kb/s:46009.6
sec 11
![]() |
スケーリングしてないので そのままでは720x480表示。 |
![]() |
QTPproの林檎+Jで変える。 |
![]() |
「そのまま」mp4書き出し OKだがここに非Apple製 コデックは出てこない。 これだとアスペクト指定した MP4を書き出せない。 |