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%
世界情報通信サミット2000:セッション1 -「モバイルとデジタル家電が拓く新ビジネス」たぶん、現在に至 るまでずっとそのままなのでしょう。
※ 太字オレ。勝手に縮めてあります。発言者のみなさんすいません。
池田信夫このインターネットから孤立した方式でデジタル放送が始まると、日 本は世界から取り残されるでしょう。古川 享「古川君、インターネットのような邪 悪なものを放送の世界に持ち込まないでくれたまえ」とまで発言された方もおりました。池 田 信夫日本の 放送業界の既得権益にしがみつく排他的な態度は、かつての金融業界を思わせます。鈴 木 寛放 送と通信の融合に遅れたら、折角、携帯でかなり、盛り返した日本の情報化がまた、10年遅れてしまうと 思います。中村 伊知哉鈴木さんは10年と控え目におっ しゃったけど、テレビとインターネットの結合に失敗したら、日本の情報化は死ぬと思います。
日 本のコンテントの中核をなすテレビ番組をインターネットで流れるようにすること。使いやすい電波帯をテレビ携帯PCなどあ らゆる端末で使える太いデジタル回線にすること。
こういう筋を形づくるのは「政 治」の役割だと思うんですが。「行政」が利害調整をしているうちはスカッと打開できない。どっ ちもダメなら「ネット」の力、かな?
ブルーレイは大好きだがコピーワンスは大嫌い(ITmedia ライフスタイル:2004/10/06)
※太字原文ママ
「私はディスクを踏んで割ってしまうということがよくあるので、大切なコンテンツのバックアップを取れないのは辛い。画質が向上するとユーザーが不便になるというのは絶対におかしい」
麻倉氏がこのような話をある会合で語った時に、とある在京キー局の人がこう語ったという。
「放送は生で見るものです。アサクラさん」
「コピーワンスは、もしかしてエアチェックする気をなくさせるのが目的ですか?との質問に対して、在京キー局の人は『まさしくその通り』と答えて非常に驚いた。こういうことをいっているのだから、ハイビジョン時代になっても放送局の体質は全然変わっていない」
放送・通信の在り方に関する、私見その9(古川亨ブログ:2006年6月16日)
それに対して、1080i擁護派は、「1080iが優れた方式で、議論の余地は無い、プログレッシブの話をするなら帰れ!!」(実際に砧の某研究所で当時の所長に言われた言葉ですが...今の所長さん(E並氏)はとても紳士ですので、私は尊敬しております。決して誤解のないように)郵政省の会合でも何度となく放送のプロ達に諭(さと)されたものです。「君はPC業界に都合の良い方向へ持っていこうとしてるんでしょ」「崇高な放送の世界を邪悪な世界に引き込もうとしている」と..多くの人が同席する会議の場で私は名指しで糾弾されたものです。
将来のデジタル放送の規格に720pは絶対入れないという強い意思とあらゆる活動は「1080iと720pを併記したらどうか」と主張する陣営を徹底的に痛めつけました。
名称 | 画質 | 視聴コスト | 情報 選択の自由 |
情報 蓄積の自由 |
情報 電送の自由 |
---|---|---|---|---|---|
地上波アナログ放送 | ◎ | ◎ | X | X | X |
地上波デジタル放送 | ◎◎◎ | ◎ | X | XXX | XXX |
動画共有サービス | X | ◎ | ◎ | ◎ | ◎ |
HDレコーダ | ◎ | ◎ | ◎ | ◎ | X |
Mac or Win + iTMS/iTunes/iPod/Apple TV | X | X | △ | ◎ | △ |
HDレコーダ + ロケーションフリー | △ | ◎ | ◎ | ◎ | ◎ |
Win + Slingbox | △ | ◎ | ◎ | ◎ | ◎ |
わたしはこの ニュースをこの人に教えてあげたひ。仏 2少女、マンガの国あこがれ日本向け家出 警察に保護 - 国際(asahi.com: 2006年7月頃) ※元記事消滅
日本の漫画やロックに魅せられたパリ郊外に住む16歳の少女2人があこがれの日本を目指して家出。鉄道を乗り継ぎポーランドにたどり着いたところで警察に 保護された。
陸路ロシアを横断し、船で日本に渡る計画を立てていたが、経由国でビザ(査証)が必要だとは知らなかったという。仏紙リベラシオンが報じた。
同じ学校に通う2人は日本の忍者マンガ「NARUTO」や少女マンガ「ピーチガール」、日本のビジュアル系ロックの大ファン。「文化 から生活スタイルまで 何もかもがあこがれ」の日本に行こうと思い立った。
朝鮮半島までの陸路は鉄道を乗り継ぎ、「海は船で渡ろう」と計画。6月22日にわずかな現金と携帯電話、携帯オーディオプレーヤー、 漫画本を持って出発。 ベルギー、ドイツを経由し、25日にポーランドからビザ無しでベラルーシに出国しようとしたところで国境警察に拘束されたという。
フランスでは日本のアニメやコスプレ、Jポップが若者に絶大な人気で「オタク」「カワイイ」は仏語として定着。7月7~9日にパリ郊 外で開かれる日本の漫 画やアニメなど日本文化の紹介イベント「ジャパン・エキスポ」には6万人の人出が予想されている。
ところでシ ベリア鉄道は1904年9月に全線開通してました。従って、行動力の源泉となる「脳内あこがれ密度」は こうなります。
ふらんすへ行きたしと思へども
ふらんすはあまりに遠し
せめては新しき背廣をきて
きままなる旅にいでてみん。
汽車が山道をゆくとき
みづいろの窓によりかかりて
われひとりうれしきことをおもはむ
五月の朝のしののめ
うら若草のもえいづる心まかせに。
米国 | 世界平均 | 日本 |
---|---|---|
4.70% | 3.15% | 2.66% |
インターネットでコンテンツを入手したいというユーザーニーズの取り込みに失敗した音楽業界の前 例に留意すべきだと公言し、Slingboxの ような小さな(しかし独創的な)会社と協調して います。
平成17年2月、コンテンツ産業の現状と課題(pdf直接リン)要するに、テレビ局の支配力 がでかすぎると言っています。それが日本のコンテンツ産業の収益性を阻んでいると。そしてコンテンツ自体の価値を創造する人 々に版権を持たせろと。
- 映画配給会社、テレビ放送局などのコンテンツ流通部 門が寡占的傾向にある中で、コンテンツの制作事業者は、制作資金調達、マーケティ ング等において流通事業者に大きく依存せざるを得ない状況にある。このため、コンテンツ産業では付加価値の多くを流通事業者が取得する構造にあり、コ ンテ ンツ自体の価値を創造する生産部門が必ずしも成果に応じたリターンを得られていない状況にある(P17)
- 我 が国番組のほとんどは資金提供者が権利を確保することが多く、製作会社による二次利用の機会が有効に活用されていない状 況。一部少 数の二次利用展開の成功モデルのほとんどは、製作会社が権利を管理するパターン(例「ドラえもん」「ポケットモンスター」)(P19)
「アニメーション産業の現状と課題(経産省の検索ページへ)」意訳すると「阿漕な商売しとったら承知せんぞゴルァ!」 といったところでしょうか。
※ 太字&下線は原文ママ。
7. 経済産業省のアニメーション産業に関する施策
- 独 占禁止法体系の厳格な運用による放送局のプロダクションに対する優越的地位の濫用の防止
- 金 融機関からの資金調達環境の整備 (コンテンツファイナンス研究会の開催等)によるプロダクションの自立支援
- 海 外の配給会社やブロードバンド等、キー 局以外の流通出口を活用したビジネスモデルの促進
米国 | 世界平均 | 日本 |
---|---|---|
4.70% | 3.15% | 2.66% |
政府の知的財産戦略本部(本部長・安 倍首相)は、音楽や映像を違法コピーした「海賊版」をインターネット上からダウンロードすることを全面的に禁止する 著作権法改正に着手する。27日に開く知財本部コンテンツ専門調査会に事務局案を提案。罰則も設け、08年通常国会に提出をめざしている改正案に盛り込 む。海外でも人気が高い日本のマンガやアニメなどの権利保護を強め、コンテンツ産業の育成を促す狙いがある。
現行の著作権法では、著作権者の承諾なしに複製したコンテンツをネット上に流すことは違法だが、違法コピーをダ ウンロードしても、個人で利用する限りは著作権の侵害とはならない。このため、ネット上で違法コピーを入手する行為が横行しても、規制するのは極めて困難 だ。
政府は「世界トップクラスのコンテンツ大国を実現する」との方針を掲げ、アニメや映画、ゲーム、音楽、出版など のコンテンツ産業の市場規模を、2010年までに15兆円にしたいとの目標を04年に設定している。
知財本部は、現状を放置すれば正規のコンテンツの買い手が減り、正当な利益を得られない制作者が創作意欲を失い かねないと判断。海賊版のダウンロードが違法であることを明確にすることでその流通を減らし、コンテンツ産業を成長分野に育てたい考えだ。
タイトル | I枚数 | I比率 | Avg QP (P) |
---|---|---|---|
VGAアニメ平均値(無敵看板娘を除く33件) | 401 | 0.92% | 20.10 |
『無敵看板娘』平均
(02-12話) | 439 | 0.98% | 22.16 |
タイトル | I枚数 | I比率 | Avg QP(p) |
---|---|---|---|
ゼー ガペイン_15 | 494 | 1.16% | 21.91 |
ゼー ガペイン_16 | 541 | 1.27% | 20.70 |
ゼー ガペイン_17 | 492 | 1.16% | 20.03 |
ゼー ガペイン_18 | 436 | 1.02% | 19.93 |
ゼー ガペイン_20 | 490 | 1.15% | 19.37 |
ゼー ガペイン_21 | 441 | 1.04% | 18.74 |
ゼー ガペイン_23 | 580 | 1.36% | 21.73 |
ゼー ガペイン_25 | 581 | 1.37% | 21.58 |
タ イトル | 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と併用する意味がある。要実験。
来年4月、すべての携帯電話にGPS(日経パソコンオンライン:2006年 10月11日)根拠は総務省の報道資料っぽい。
※太字オレ
GPSモジュールを内蔵した携帯電話が、来春以降一挙に広がりを見せそうだ。きっかけ は、第3世代(3G)携帯電話へのGPS搭載の義務付けだ。
総務省は事業用電気通信設備規則を2006 年1月に改正・公布し、2007年4月に施行する。改正の大きな柱の一つが、携帯電話からの緊急通報機能を充実させる、通 称「日本版e911」だ。施行後に発売される3G端末は、原則としてGPSモジュールの内蔵が義務付けられる。 対応端末から110番/118 番/119番へ緊急通報した際に、通報者の位置情報をGPSで測位し、警察・消防・海上保安本部に自動通知する仕組みを構築する。
事業用電気通信設備規則の一部を改正する省令案等に係る情報通信審議会答申及び意見募集の結果(2005 年12月20日)これより新しいのは見当たらなかったので、その後速やかに省令等は改正されたっぽい。
※太字オレ
(1) 情報通信審議会に諮問した省令案
○事業用電気通信設備規則(昭和60年郵政省令第30号)の一部を改正する省令案(PDF)
電気通信事業者の電気通信設備のうち音声伝送役務を提供するものについて、緊急通報を扱う場合には、次の機能を有することを規定します。
1) 緊急通報の発信場所を管轄する警察機関、海上保安機関又は消防機関へ接続する機能(中略)
2) 緊急通報を発信した端末の電気通信番号及び位置情報を通知する機能
3) 通話中の回線を保留する機能
情報通信審議会の答申及び皆様から寄せられた御意見を踏まえ、速やかに省令等の改正を行うこととします。(施行日は、平成19年4月1日を予定しておりま す。)
Loren Merritt氏の見解を表にしてみた。
SSIM値 | qp設定値(※) | |
---|---|---|
0.98 以上 | 20 | オリジナルと区別がつかない。 |
0.95 | 30 | 見るに耐えない。(*または辛うじて、そこそこ見られる*) |
0.9 | 40 | 非常に醜い。 |
0.8 | 51 | これ以上は圧縮できない |
0.7以下 | - | 素材に大量のノイズを加え、さらにそのノイズを量子化工程で消し去るほどqpを高くしない限り、達成困難。 |
※おそらく、qpを使った1パスABRと思はれる。
x264 と JM (10.2) の画質を比較する際に、自分は PSNR を使っていた。 自分の理解では、JM は実際の動きやテクスチャのディテイルの再現よりは、PSNRの向上を追求したものに思える。 x264も同じ方向性だろうか? また、画質の定義として、他に産業界で一般的な数値指標はないだろうか?というのは、PSNRはミスリードを起こす事があるからだ。なにかヒントか、コメントが欲しい。 |
While comparing x264 with JM (10.2) I had been using PSNR for comparing the qualities of the two encoders. I understand JM is an encoder designed to achieve better PSNR rather than track true motion, or increase texture detail. I was wondering if x264 was based on a similar theory? Also, what other metrics are usually being used in the industry to define video quality, since PSNR can be misleading at times. Any pointers/comments? Thanks Axel |
x264 はエンコードの SSIM を表示できる。これはより正確とされている: http://en.wikipedia.org/wiki/SSIM SSIM(From Wikipedia, the free encyclopedia) Guillaume -- 喧嘩することの無い人々の協調関係というものは、最大の国家連合からタウンミーティングや教区会に至るまで、これまでに存在した事が無い。 -- トマス・ジェファーソン (MPlayer ML におけるフレーミングについてインタビューを受けた際に) http://www.brainyquote.com/quotes/quotes/t/thomasjeff157207.html |
x264 can give the SSIM of the encode, which is supposed to be less missleading: http://en.wikipedia.org/wiki/SSIM Guillaume -- An association of men who will not quarrel with one another is a thing which has never yet existed, from the greatest confederacy of nations down to a town meeting or a vestry. -- Thomas Jefferson (when interviewed about MPlayer ML flamewars) http://www.brainyquote.com/quotes/quotes/t/thomasjeff157207.html |
こ んにちは Axel。 Guilliame が書いた通り、x264は SSIM と PSNRを算出できる。 ほとんどの場合、私はSSIMを使う事を奨める。SSIM は非常に良い指標だ。 そしておそらく、PSNRよりも早く、かつ正確なものとしては唯一だ。 単に非常に良い指標では満足できず、天下無双の指標を求めているならば、そしてまた各種指標の比較を知りたいならば、VQEG FR-TV Phase I および Phase II リポートが役立つかも知れない: http://www.its.bldrdoc.gov/vqeg/projects/frtv_phaseI/COM-80E_final_report.pdf上記のテストでは、最強の画質指標は NTIA (ANSI T1.801.03-2003, ITU BT.1683)だ。SSIM はほぼこれに対等。面白い事に、おおくの有名な指標、例えば JND (Tektronix/Sarnoff)や、DVQ (Watson/NASA) 、そして PDM(EPFL) などは、どれもY-PSNRだけを使った場合とほぼ同等か、より悪い(!)。 PSNRについて: シーンカットの無いシークエンスを、同じアルゴリズム(*この場合ほぼコデックと同義か*)で、設定を変えてエンコードした場合、視覚的にはPSNRの しかしながら、PSNRにはいくつか欠点がある。 1)PSNRの値そのものにはなんの意味も無い。例えば、PSNRが40のエンコード結果とオリジナル素材が二組あった場合、片方が素材同等に見える一方 で、もう片方は汚いアーティファクトが出ている、といった事があり得る。これは素材の長さとアルゴリズムのタイプに依存する。これは、大きな違いのあるア ルゴリズムを比べる際には、PSNRは使えないという事だ。また、PSNRを元にシーンカットを跨がるbit配分を行うのは無意味という事でもある。 2)本質的には目に見える事の無いアーティファクトの中に、PSNRに大きく影響するものがある(例えば、Y軸を均等にスケーリングしたり、各ピクセルに 少量のガウシアンノイズを加えてみて欲しい)。その一方で、PSNRに非常に低い影響しか持たないが、非常に目に留まり易いアーティファクトというものも ある(例えばブロッキング)。 SSIMはこれらの問題を、相当程度に緩和する。SSIMは動画/静止画の画質指標としては*ベストではない*が、 高速に算出できるものとしてはベストだ。SSIMの絶対値比較は妥当と言える。非常におおまかなガイドとしては、0.7以下は見るに耐えない。(*または 辛うじて、そこそこ見られる*)。0.8-0.85は多少の目に見える映像の歪みが出るが、大方の人にとってはOK。0.9以上はオリジナルと区別がつか ない。 注意して欲しいのは、x264のSSIMは"ほんとうの"SSIMアルゴリズムのあるべき姿とは別の方式で算出されている事だ。windowingも、 luma maskingも、motion maskingも無い。算出しているのは、sample of all possible positionsだけだ。しかしながら、多くの場合、"ほんとうのSSIM"の数パーセントは表している。そして概ね100倍くらいは早く算出できる。 ここで"多くの場合"とは、普通の長さ(*natural footage*)という意味だ。 可能性としては(*不詳*) があり得る。 しかしそうしたケースに遭遇する事は極めて稀だろう。もし本当のSSIMが欲しければ、私にそういうコードを書くように五月蝿く騒ぎ立ててくれ。;) |
Hello Axel, As Guilliame wrote, x264 can calculate SSIM as well as PSNR. I recommend using that for most work. SSIM is a very good metric, and probably the only one that is both fast and better than PSNR. If you are looking for the absolute best metric as opposed to a merely very good metric, and also for how to compare metrics, you may wish to read the VQEG FR-TV Phase I and Phase II reports: http://www.its.bldrdoc.gov/vqeg/projects/frtv_phaseI/COM-80E_final_report.pdf In those tests, the best metric is NTIA (ANSI T1.801.03-2003, ITU BT.1683). SSIM also does quite well. Interestingly, many well-known metrics such as JND (Tektronix/Sarnoff), DVQ (Watson/NASA) and PDM (EPFL) are either about the same, or worse than, using just Y-PSNR (!). About PSNR: if you encode the same continuous (no scenecuts) sequence with the same algorithm with several different settings, the version with the lower PSNR is almost always visually better. Thus PSNR does a reasonably good job of allowing you to optimise codec parameters that you can vary during an encode (like RDO or rate control). However, PSNR fails on several counts: 1) The absolute value of PSNR means nothing. In other words, looking at two pairs of original/encoded images both with PSNR of 40 (for example), one pair may look identical and the other may have gross artifacts. It all depends on the source footage and on the type of algorithm. This means that PSNR is useless for comparing significantly different algorithms. It also means that using PSNR to allocate bits accross scenecuts will result in bad decisions. 2) Some artifacts which are essentially invisible have a huge PSNR impact (try scaling Y uniformly or adding a small amount of gaussian noise to each pixel for example). Other things which are extremely visible have an unreasonably low PSNR impact (like blocking). SSIM fixes these problems to a significant degree. It is not *the best* video/image quality metric, but it is the best that can be computed quickly. SSIM absolute values can be reasonably compared: as a very rough guide, below 0.7 is barely watchable, 0.8-0.85 has some visible distortion but ok for most people, and 0.9 and higher are indistinguishable from the original. Please note that SSIM in x264 is not calculated the way that the "real" SSIM algorithm (and papers) say it should be. There is no windowing, no luma masking, no motion masking, and only a sample of all possible positions are calculated. However, it is within few percent of the "real" SSIM in most cases, while being about a hundred times faster to calculate. "Most cases" here pretty much means any natural footage; it may be possible to construct synthetic footage so as to defeat the approximations used, but you are extremely unlikely to ever encounter such. If you want real SSIM, bug me to release my code for that ;) Regards, --Alex |
PSNRについて:^^^^^ 高い程、 PSNRはエンコードの過程で変化するコデックのパラメータ(RDOやレートコントロール)を最適化す る上では まぁまぁ役に立つ。本当に?自分の意見では、 SSIM=0.98+ (qp=20) はオリジナルと区別がつかない。 SSIM=0.95 (qp=30) は見るに耐えない。(*または辛うじて、そこそこ見られる*) SSIM=0.9 (qp=40) は非常に醜い。 そしてこれ以上は圧縮できないレベル (qp=51) ですら SSIM=0.8となる。 手許では、素材に大量のノイズを付け加え、そのノイズを量子化工程で消し去るほどqpを高くしない限り、SSIMが0.7 以下となる映像は生成出来ていない。 PSNRでもSSIMでも、指標の絶対値は、圧縮後のストリームにどれだけのqualityが残っているかを示すというよりは、素材にあるノイズの量を示 すものだ。 しかしながらおそらく、同じノイズを持っていると想定される場合、映画の中の異なった場面を比較する上ではSSIMの方が上だろう。 --Loren Merritt |
On Thu, 30 Nov 2006, Alex Izvorski wrote: About PSNR: if you encode the same continuous (no scenecuts) sequence^^^^^ higher reasonably good job of allowing you to optimise codec parameters that Really? imo, SSIM=0.98+ (qp=20) is indistinguishable from the original, SSIM=0.95 (qp=30) is barely watchable, SSIM=0.9 (qp=40) is really ugly, and there could be nothing left of the content (qp=51) and still produce SSIM=0.8. I failed to generate any videos with SSIM<0.7 except by adding tons of noise to the source and then setting qp high enough that all the noise is quantized away. With both PSNR and SSIM, the absolute value of the metric is more a measure of how much noise was in the source than it is of how much quality is left in the compressed stream. Though perhaps SSIM does better at comparing difference scenes within one movie, when they can be assumed to have the same noise. --Loren Merritt |
x264 のモード決定や動き予測の過程でSSIMを使う方法はある? |
Is there a way of using SSIM in the mode decision and ME process of x264? Thanks, Gene |
x264 の土台部分には無い。しかし、 http://akuvian.org/src/x264/x264_ssim_map.00.diff このパッチの名前からすると、smthがなんかしてるんぢゃないかと思う。 Guillaume -- 喧嘩することの無い人々の協調関係というものは、最大の国家連合からタウンミーティングや教区会に至るまで、これまでに存在した事が無い。 -- トマス・ジェファーソン (MPlayer ML におけるフレーミングについてインタビューを受けた際に) http://www.brainyquote.com/quotes/quotes/t/thomasjeff157207.html |
Not natively with vanilla x264, but the name of this patch http://akuvian.org/src/x264/x264_ssim_map.00.diff makes me think that smth is in the works. Guillaume -- An association of men who will not quarrel with one another is a thing which has never yet existed, from the greatest confederacy of nations down to a town meeting or a vestry. -- Thomas Jefferson (when interviewed about MPlayer ML flamewars) http://www.brainyquote.com/quotes/quotes/t/thomasjeff157207.html |
2007/11/01追記:x264cli svn-680に準拠した本記事のアップデートがこちらにあります。
MeGUI | x264cli | MEncoder | 常用値 (MEncoder) |
|
---|---|---|---|---|
![]() |
Deblocking: デコード中のインループ・デブロッキング・フィルタを使用。指定範囲は二つとも -6 から 6の範囲。Deblocking strength はデブロック強度、 Deblocking Threshold はデブロックをかける映像の量を指定する。 | --no-deblock -f, --deblock <alpha:beta> |
(no)deblock deblock=<-6-6>,<-6-6> |
deblock(使用) 0,0 |
Enable PSNR
calculation:
このボックスをチェックすると、x264 はログに PSNR情報をジョブの終了後に書き出す。若干遅くなる。 |
--no-psnr | (no)psnr | psnr(使用) | |
Number of
threads:
マルチコア・システムを持っている場合に、この値を増やしてそのメリットを活かす。複数のフレームを同時に処理できる。マルチスレッド化に伴う画質劣化は
取るに足りない。推奨値は 0。これで x264
はCPUのコア数を検知して最適なスレッド数を使う。このオプションを使うには、MeGUI settingsの Automatically
set
number of threads をdisableにすること。 |
--threads <integer> | threads=<1-16> | 1st,2 2nd,16 参考 |
|
fourCC: AVI
などのコンテナがコデック判定に使う4CCの指定。 |
対応なし | 対応なし | 非使用 | |
AVC profiles:
この設定は、AVCの特定プロファイルに沿った設定をする際の助けとなる。選択されたプロファイルを超えるオプションが指定できなくなる。 |
対応なし | 対応なし | 参考 | |
AVC Level: 特定のAVCレベルに沿ったエンコードをしたい場合に使う。 選択されたレベルでは使えないオプションを指定出来なくするようにはしないので、ツールメニューの "Validate AVC level" でチェックする事。 | --level <string> | level_idc=<10-51> | 参考 |
MeGUI | x264cli | MEncoder | 常用値(MEncoder) | |
---|---|---|---|---|
![]() |
Zones:
Zoneの使い方はこのドキュメントの目的を超えるが、ここでzoneの定義と適用する
Quantizer または重み付けを指定する。 |
--zones | zones | 非使用 |
Custom Commandline Options: x264(cli)の追加コマンドを使いたい場合はここに入力する。x264(cli)に新しい機能が追加されたが、MeGUI のアップデートがまだの際などに使う。 |
MeGUI | x264cli | MEncoder | 常用値 (MEncoder) |
|
---|---|---|---|---|
![]() |
VBV Buffer Size: VBV Bufferの最大サイズ | --vbv-bufsize <integer> | vbv_bufsize=<value> (ABR or two pass) |
未指定(default) |
VBV Maximum Bitrate: Video Buffer Verifierの最大ローカルビットレート | --vbv-maxrate <integer> | vbv_maxrate=<value> (ABR or two pass) |
未指定(default) | |
VBV Initial
Size: VBV bufferのイニシャル占有率。 1.0 = full, 0.0 = empty。 |
--vbv-init <float> | vbv_init=<0.0-1.0> (ABR or two pass) |
未指定(default) | |
Bitrate Variance:
ビットレートの変動範囲。 1.0 = pure VBR, 0.0 = pure CBR |
--ratetol <float> | ratetol=<0.1-100.0> (ABR or two pass) |
4。 番組ごとに地味にサイズが変わる。 |
|
Quantizer
Compression: quantizerの変動範囲。 1.0 = pure CQ, 0.0 = maximum change |
--qcomp <float>か? | qcomp=<0-1> か? (ABR or two pass) |
未指定(default) | |
Temp. Blur
of est. Frame complexity: curve compression(*不詳*)の前にquantizer curveに適用する時間軸ブラーのレベル。時間軸ブラーは量子化程度の一貫性をもたらす。この値を増やすと、映像は真のCQに近づく。 (*適用量子化値の急激な変動を多少滑らかにするものか*) |
--cplxblur <float> | cplx_blur=<0-999> (two pass only) |
未指定(default) | |
Temp. Blur
of Quant after CC: curve compression(*不詳*)の後でquantizer curveに適用する時間軸ブラーのレベル。この値を増やすと、映像はCQに近づく。 |
--qblur <float> | qblur=<0-99> (two pass only) |
未指定(default) | |
Chroma ME:
動き予測の際に、彩度情報も動きの検出に使う |
--no-chroma-me | (no)chroma_me | chroma_me(使用) 要、subq>=5 |
|
ME Range: 動き予測機構が使
う最大捜索範囲(マクロブロックの中で) |
--merange <integer> | me_range=<4-64> | 1st,16 2nd,32 実用範囲16-32程度 |
|
Scene Change Sensitivity:
シーンチェンジと看做すフレーム間の変更をパーセンテージで指定。範囲0-100。-1はシーンチェンジ検出なし。 |
--scenecut <integer> | scenecut=<-1-100> | 実写40(default) アニメ65 |
|
ME Algorithm: 動き予測
に使うサーチアルゴリズムの選択。Exhaustiveはピクセル単位となり、凄まじく遅い。 |
--me <string> | me=<name> | 1st,(turbo) 2nd,umh |
|
Subpixel refinement:
サブピクセル予測に使うアルゴリズムとパーティション決定に使う方式の選択。RDO (Rate Distortion Optimisation)
を選ぶとBフレームにRDOを使う。 |
-m, --subme <integer> | subq=<1-7> | 1st,(turbo) 2nd,7 |
|
Keyframe Interval:
I-frames間の最大間隔 |
I, --keyint <integer> | keyint=<value> | 240または300 | |
Min GOP size: I-frames 間の最小間隔 | -i, --min-keyint <integer> | keyint_min=<1-keyint/2> | 実写,24または30 アニメ1 |
|
Noise reduction: プ リプロセス・ノイズリダクション。0 = disabled。 | --nr <integer> | nr=<0-100000> | 非使用 |
MeGUI | x264cli | MEncoder | 常用値 (MEncoder) |
|
---|---|---|---|---|
![]() |
Quantizers | |||
Minimum Quantizer: x264が使う最大量子化値 | --qpmin <integer> | qp_min=<1-51> (ABR or two pass) |
10 | |
Maximum Quantizer: x264が使う最小量子化値 | --qpmax <integer> | qp_max=<1-51> (ABR or two pass) |
51 | |
Maximum Quantizer Delta: 連続フレーム間における量子化値の最大変動幅 | --qpstep <integer> | qp_step=<1-50> (ABR or two pass) |
実写4 アニメ8 |
|
Credits Quantizer: For use if you set the credit starting point in the preview window. | 不詳 | 不詳 | 不詳 | |
Factor Between I and P frame Quants: IフレームとPフレームの量子化値換算 係数。Iに適用された平均量子化値にここの値を掛けたものがPに適用される。 | --ipratio <float> | ip_factor=<value> | 未指定(default) | |
Factor between P and B frame Quants: P フレームとBフレームの量子化値換算係数。Pに適用された平均量子化値にここの値を掛けたものがBに適用される。 | --pbratio <float> | pb_factor=<value> | 未指定(default) | |
Chroma QP Offset: 輝度に適用する量子化値と彩度に適用する量子化値のオフセット。 | --chroma-qp-offset <integer> | chroma_qp_offset=<-12-12> | 未指定(default) | |
Quant Options | ||||
Trellis: Trellis RDO の適用。最終マクロブロックのみか、常時かを選択。要CABAC | -t, --trellis <integer> | trellis=<0-2> | 2 要CABAC |
|
Number of Reference Frames: 複数参照フレームの最大数。 |
-r, --ref <integer> | frameref=<1-16> | 1st,(turbo) 2nd,4 |
|
Mixed: マクロブロック・パーティション単位で参照フレームを個別に選べるようにする。 |
--mixed-refs | (no)mixed_refs | mixed_refs (使用) |
|
CABAC: 圧縮効率の高い encoding stream syntaxを使う。 | --no-cabac | (no)cabac | cabac(使用) | |
No DCT Decimation: | --no-dct-decimate | (no)dct_decimate | nodct_decimate (非使用) |
|
No Fast P-Skip: スキップ検出の非使用。画質向上 |
--no-fast-pskip | (no)fast_pskip | nofast_pskip (非使用) |
|
Quantization matrix: 使用するカ
スタム量子化マトリクスを指定。You must specify the custom matrix. (*mustの意味不明*) |
--cqm <string> --cqmfile <string> |
cqm=<flat|jvt|<filename>> | JVT | |
Macroblock Options: 各 マクロブロックパーティションの使用可否 | -A, --partitions <string> | partitions=<list> | 1st,(turbo) 2nd,all |
|
B-Frames: | ||||
Number of B-Frames: B-Frames (B-VOPs)の最大連続数 | -b, --bframes <integer> | bframes=<0-16> | 3 | |
Adaptive B-Frames: B-Frames の連続枚数を映像内容に応じて自動調節。 | --no-b-adapt | (no)b_adapt | b_adapt (使用) |
|
B-Pyramid: B-Frames も参照フレームに使う | --b-pyramid | (no)b_pyramid | b_pyramid (使用) |
|
RDO for B-Frames: B-Frames にRDOアルゴリズムを使う | --b-rdo | (no)brdo | brdo(使用) 要subq=6以上 |
|
Weighted Bi-Prediction: B-frames を参照フレームに使うかどうかの精度が高まる | -w, --weightb | (no)weight_b | weight_b (使用) |
|
Bidirection ME: 動き予測の精度最適化に前後両方向の時間軸を使う。 |
--bime | bime | bime (使用) |
|
B-Frame Mode: B-Framesのモーションベクトル予測方式。Autoでフレーム毎に最適な方式を選ぶ。 |
--direct <string> | direct_pred=<name> | auto | |
B-Frame bias: B-Framesの挿入傾向を調整。高い程Bを使う傾向が増える。低い程減る。 |
--b-bias <integer> | b_bias=<-100-100> | 未指定(default) |
改訂版H.264/AVC教科書、p183※この「明示的な指定」は、x264cli、VUI設定の--overscanで行う(参考1, 2)。
※太字オレ
例 えばHDTVの場合、走査線の数は1080本です。これに対してH.264/AVCでは垂直、水平方向とも16画素の倍数で ないと符号化できません (1080本は16の倍数ではない)。例えば、1088本(16の倍数)を符号化した場合、8ラインを捨てて表示する必要がありますが、この場合、クロッ ピング処理によって、ビットストリーム中でどの上下8ラインを捨てるのかを明示的に指定する事ができます。
Introduction paper to H.264/MPEG-4 AVC includingthe Fidelity RangeExtension. (PDF)
2. 符号化ツール(試訳)
各ピクチャは一個以上のスライスに分割することで圧縮される。各スライスはマクロブロックからなる。さらにこれは16x16ピク セルの輝度サンプ ルと、それに対応する輝度サンプルからなる。しかしながら(*これまでとは異なり*)各 マクロブロックは、動き補償予測の為に、さらにサブ・マクロブロック・パーティションに分割される。予測パーティションのサイズは7種類となる。 – 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 そして4x4だ。これまでの規格では、動き補償はマクロブロックを丸ごと使うか、新しめの規格では16x16 か8x8パーティションを使った。従って、パーティションの形にバリエーションが増えたという事は、予測精度の向上をもたらす。次に、残ったデータは 8x8(FRExtでしか使えない)か4x4で空間軸変換される。過去の主要規格ではこの変換ブロックサイズは8x8のみだった。4x4ブロックサイズの 採用で残りの差分信号の精度が向上する事になる。空間軸変換のブロックサイズは常に予測に使われるブロックサイズと同じか、より小さい。ビデオシークエン スのシークエンスからサンプル(*原注:ここでは特にサンプルとピクセルを区別しないが、厳密にはサンプルが正しい。)に至る階層構造は以下のようにな る。
シークエンス(ピクチャ(スライス(マク ロブロック(マクロブロック・パーティション(サブ-マクロブロック・パーティション(ブロック(サンプル))))))
ニコンシステム(株)H.264 解析ツールNH264H1のpdf※これらから、4x4や8x8は16x16に対するサブ区分と思われる。一番右下、田の字型に分割されてるのが8x8だと思う。
http://www.nikon-sys.co.jp/products/index_1_1.htm
MEncoder Document/ DVD映像を高画質なMPEG-4 ("DivX")にする方法/効果的にエンコードするための制限事項(試訳)※Xvidやlibavcodec mpeg-4では、入力映像の縦横が16の倍数でなかった場合、勝手に16の倍数まで映像領域が「あるものとして」エンコードする。
最 高画質を追求する場合、MPEG系圧縮の特徴からくるいくつかの制限事項を守る必要があります。MPEGは映像をマクロブロックと呼ばれる16x16の正 方形に分割します。各マクロブロックは、輝度(強度)情報を表す4個の8x8ブロックと、2個のハーフ・レゾリューション8x8ブロック(red- cyan 軸とblue-yellow軸)で構成されます。手許の動画の横幅と高さが16の倍数でない場合でも、エンコーダは映像全体をカバーできるだけの 16x16マクロブロックを使うので、余聞な無駄が出ます。
ですので、目標ファイルサイズの範囲で最高画質を求める場合は、16の倍数以外の縦横は使わないようにしよう。
2ch/DTV/x264 rev7(2006年11月下旬~12月上旬)※画質的な問題を感じている人はほとんど無いようだ。
- やっぱり16の倍数じゃないとダメっぽいとあったのですが、みなさんは16:9の映像の場合どのような解像度にしています か?
- 704x480(DVD左右クロップ) --sar 40:33
- 自動的に無効領域が追加されて16の倍数になるから問題なし
- 俺も気にしてないな。画質は全然落ちないし
- 俺は気にしてる。16の整数倍にしないとなんとなく暗部とか薄いグラデーションとかでブロック ノイズ増える気がする。ただの気のせいかもしれないけど。
- 画質に関しては関係ないと思うけど、16の倍数だと動画の圧縮率や精度が向上するのは確かだと 思うよ
『主語を抹殺した男 評伝 三上章』金谷武洋 著(朝日新聞朝刊 書評欄:2007年1月21日)太字のところ、30回くらい読んだ。略そうなどと考えるからアウト?先頭に主題を明示して、あとは主語なんて忘れろ?
※太字オレ
昔、私は、日本語には主語と述語があり、時に主語は略せると習った記憶が有る。略すと言うのは元より在るのが前提だが、三上文 法はそうではない。日本語にはそもそも主語なんてないというのである。半世紀近く前に刊行された著書『象の鼻は長い』はロン グセラーとなった一冊。
「は」という助詞が、主語でなく主題を示すものであり、句点を超えて次々と文にかかっていく重 要な係助詞であることが強調されるなど、
(*中略*)
著者(* モントリオール大学日本語科長・金谷武洋*)は三十数年前に、留学先のカナダで現地の学生に日本語を教えることになったとき、この三上文法に出 会い、(*中略*)外国語として日本語を教えるとき、もっとも役立つのが三上文法だったという。
「~は~が~」構文について(最終更新日:2003年12月15日)
スタイルシートにh1{color:red}こう記すと、一番大きい見出しの文字の色が赤になる。 この記述は 「h1は色が赤い」と読めるで はないか。
(*中略*)
コンピュータ言語のスタイルシート風に表せば、Zoo{Hana:Nagai}となろう。
h1 { margin:30px; font-size:30px; text-align:center; color:red; font-family:Osaka; }「h1は、マージンが30px、フォントサイズが30px、テキスト揃えが中央、色が赤、フォントファミリーがOsaka」。
タイトル | 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
コンテナは全てのものを統合するパートです。映像(実際の画像)、オーディオ、その他に必要なものは全てコンテナの中に入れておく必要があります。複数のファイルをZipアーカイブの中に入れるような感じです。
コンテナが必要な理由は次のようなものです:
サブページ「コンテナ(英文試訳)」に様々なコンテナの情報があります。
ビデオストリームには実際に表示される映像データが入っています(ここで"動画ファイル"と言う場合はオーディオとビデオが入ったものを指します。"ビデオストリーム"は映像のみの場合に使います)。ひらたく言うと、圧縮された映像です。
これも Matroska のみの機能。 SSA/ASS字幕をmuxする時に、小洒落たフォントを使いたいがそれが再生されるコンピュータにあるとは限らない、といった事があります。Matroskaファイルのそのフォントをアタッチしてしまえば、vsfilter(デファクトのdirectshow用字幕レンダラ)がそのフォントを使って字幕を再生してくれます。
これが何なのかは説明する必要はないでしょう。フォーマットによりチャプタのスタイルは異なります。以下はMatroskaの例です。
<Chapters>
<EditionEntry>
<EditionUID>1</EditionUID>
<EditionFlagHidden>1</EditionFlagHidden>
<EditionFlagDefault>0</EditionFlagDefault>
<ChapterAtom>
<ChapterUID>1</ChapterUID>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
<ChapterDisplay>
<ChapterString>Part A</ChapterString>
<ChapterLanguage>eng</ChapterLanguage>
</ChapterDisplay>
<ChapterTimeStart>00:00:00.000000000</ChapterTimeStart>
</ChapterAtom>
<ChapterAtom>
<ChapterUID>2</ChapterUID>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
<ChapterDisplay>
<ChapterString>Part B</ChapterString>
<ChapterLanguage>eng</ChapterLanguage>
</ChapterDisplay>
<ChapterTimeStart>00:09:48.000000000</ChapterTimeStart>
</ChapterAtom>
</EditionEntry>
やっかいですね。次はOGG フォーマットのチャプタです:
CHAPTER01=00:00:00.000
CHAPTER01NAME=Chapter 1
非常に簡単です。もちろん、Matroskaのほうが機能が豊富です。ここでは深入りしませんが、オーダード・チャプタについてだけ少し解説しておきます。
再生時に、動画ファイルの一部分として、他のmatroskaファイルを参照するチャプタ。例えば、TVシリーズをエンコードしたとしましょう。まず、全エピソードのオープニングとエンディングをカットしてそれぞれ独立したファイルを2個作ります。次に、本編ファイルにオーダード・チャプタを使えば、再生時にオープニングとエンディングを自動的に再生してくれます。
MKV と MP4コンテナに埋め込める機能。再生時に使うアスペクト(*縦横*)比の値、 anamorphic再生とも言います。例えば、16:9の映画を4:3のアスペクト比でエンコードした場合、MKVにmuxする際に再生時のアスペクトを 16/9と指定してやれば、再生ソフトは自動的にそのアスペクト比にリサイズして再生してくれます。
※何れもffmpegX0.0.9x同梱版より新しい。
$ /Users/USERNAME/Desktop/EvalVid/MP4Box -version
MP4Box - GPAC version 0.4.3-DEV
GPAC Copyright: (c) Jean Le Feuvre 2000-2005
(c) ENST 2005-200X
$ /Users/USERNAME/Desktop/EvalVid/MP4Box -h generalMEncoder -x264encoptsに無い--sarをmux時に後付けできそう。 いや、実は720x480のままでスケーリングしなけりゃMEncoderが自動でx264 [info]: using SAR=8/9っ てしてくれ るんだけども。
General Options:
//
-par tkID=PAR: sets visual track pixel aspect ratio (PAR=N:D or "none")
===MENCODER_PASS1===
/usr/local/bin/mencoder CM_pan720x480.mpeg -nosound -ovc x264 -x264encopts てきとう -vf yadif=2,pp=l5,hqdn3d=4:3:6,harddup -sws 9 -ofps 30000/1001 -of rawvideo -o /dev/null
===MENCODER_PASS2===
/usr/local/bin/mencoder CM_pan720x480.mpeg -nosound -ovc x264 -x264encopts てきとう -vf yadif=2,pp=l5,hqdn3d=4:3:6,harddup -sws 9 -ofps 30000/1001 -of rawvideo -o CM_pan720x480.264
===FFMPEG_AUDIO===
/usr/local/bin/ffmpeg -i CM_pan720x480.264 -i CM_pan720x480.mpeg -y -vn -f mp4 -acodec aac -ar 48000 -ac 2 -ab 64 -map 1.1:0.0 CM_pan720x480.aac.mp4
===MP4BOX_--mux===
/Users/USERNAME/Desktop/EvalVid/mp4box -fps 29.970030 -par 1=8:9 -add CM_pan720x480.264 -add CM_pan720x480.aac.mp4 -new CM_pan720x480.mp4
===MP4BOX_--info===
/Users/USERNAME/Desktop/EvalVid/mp4box -info CM_pan720x480.mp4
* Movie Info *
Timescale 600 - Duration 00:00:29.795
Fragmented File no - 2 track(s)
File Brand isom - version 1
Created: GMT Sun Jan 28 04:53:28 2007
File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD
Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 00:00:29.796
Media Info: Language "Undetermined" - Type "vide" - Sub Type "avc1" - 893 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 720 x 480 - Profile High @ Level 5.1
NAL Unit length bits: 32
Pixel Aspect Ratio 8:9 - Indicated track size 640 x 480
Self-synchronized
Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 00:00:29.653
Media Info: Language "Undetermined" - Type "soun" - Sub Type "mp4a" - 1390 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1
1 | 2 | 3 |
---|---|---|
![]() |
![]() |
![]() |
VLC 0.8.6a 720x540で表示。横幅に合わせて縦を拡大している。 720x576のPALに合わせた挙動なのだと思う。 素材のMPEG-2もこうなる。 |
QuickTime Player Pro 7.1.3 + avc1 Decorder 0.6.0 720x480そのままで表示。 これは「国際標準規格」準 拠の動作では無い。 素材のMPEG -2は640x480で表示する。 |
Lanczos4使用、640x480で作成したもの。 640x480で表示。 |
QTの林檎+Jで"ビジュアル設定"を見ると、"表示サイズ"は720x480のまま。なんだか良く解らない。これSARと違うの か。とりあえずおいといて、、、
主 観的な「画質」は640x480(上記3のファイル)のほうが良かった。
bitrateはどちらも同じなのでその分の差はあるが、インタレ解除とデノイズは同一。
VLCで比べた感想としては、迫力は表示面積の大きい720x480の方が上なものの、奇麗さでは640x480の方が良いと感じた。720x480
は地味に文字がボケる。ボケはコマによって変動し、時に目にうざい。文字以外の部分でも同様の現象がおきているようで、それで全体的になんと
なく画質が悪いと感じたのだと思う。全画面表示では38,400画
素の差がある720x480の方が有利かと思ったが、面白い事にさらに差が目立った。
720x480維持のほうが素材に"忠実"なのだが、実感としてはハテナな感じ。そういえばDoom9氏も640x480を推奨して いたような記憶が、、、。
VUIを使うと言う事は、再生時にリアルタイム拡縮が入ると言う事だ。
もちろん家電プレイヤはハードウェアでリアルタイム拡縮をやるわけだし、Winでも正しくグラボを設定すればできるようだ。これが--sar指定付き
720(or
704)x480の人が多い理由だと思う。その方が素材に"忠実"だし、たぶんそれで問題の無い画質になるのだろう。インタレ保持で作るにも便利だし。
だ
がMacで同じ事ができるとは期待し難い。モデルに拠ってはWinに遜色の無いグラボが付いてはいるものの(おいらのはショボイ)、Apple
の垂直統合ビジネスモデルでは、ドライバもファームウェアも基本的には門外不出だ。最悪の場合、TerraSoftがYDLの開発でやってたように、モデ
ル毎に搭載ハードウェアにリバースエンジニアリングかけ
る事になりかねん。
もちろん、グラボの差を吸収してくれるCoreVideo APIをVLCやQuickTime Player
Proがバリバリにを使い倒すのを待つという道もあるが、何年もかかる。
エンコ時に手間かけて、スクエア・ピクセルで4:3や16:9に直してしまう方が良いように思った。
タ イトル | メ
モ |
ageha | |
カ テゴ リ:-x264encopts | MEncoderのx264オプ ション関連 |
tag:H.264/AVC | H.264/AVC 規格関連 |
Lanczos 3、 Lanczos 4とはなんぞや | |
tag: x264(r600)コマンド対応 | MEncoderと
x264cliのx264オプション対応 MEncoder向けに作り直さねば自分の役に立たない。 コメントも途 絶えたようだし、そろそろ整理。 |
カ テゴ リ:mencoder | |
カ テゴ リ:動画全般 | |
MeGUI Guide_x264の設定 | 包括的なMeGUIガイドの需要
は結構ありそうだ。 C#, .NETで開発されているため、mono経由でMac OSXに移植される可能性がある。 AviSynth も3.0でLinux対応の見込み(手許でもconfigureスクリプトまでは動く)。 DGIndex、BeSweet不詳。 |
MPEG -4の基礎5 - ISO 14496-10 (ビデオ) -AVC | |
縦 横 (アスペクト)比 |
種 類 | 比 率 |
---|---|
Win | 84.21% |
Mac | 11.53% |
Linux | 3.75% |
その他 | 0.52% |
種 類 | 比 率 |
---|---|
PPC | 68.78% |
Intel | 31.22% |
種 類 | 比 率 |
---|---|
XP | 85.64% |
2000 | 11.47% |
98 |
0.97% |
Server 2003 | 0.95% |
Vista | 0.79% |
ME | 0.10% |
NT | 0.08% |