ageha was here

◀PREV PTOP
◀ じだいおくれの地デジのはなし 表紙 会社のブログで顔出しで。▶
Download Day - Japanese

 2007/11/15を以て当ブログは更新を停止しました。
 記事は全てこのままですが、基本的に内容はOut of dateとお考え下さい。
 →Next

記事番号:249

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

△ETOP | ▲PTOP

1.基本

 AviSynthに続いてAviDemuxにも移植されたようなのでちょっと まとめ。
yadif=[mode[:field_dominance]]

Yet another("もちっと気の利いた"みたいな語感があるらしい)デインターレースフィルタ。

<mode>
0: 1フレームを1フレームとして出力。(*実験ではデフォルトの模様 *)
1: 1フィールドを1フレームとして出力。
2: 0 同様。ただし空間軸のインターレース検出をスキップ。
3: 1 同様。ただし空間軸のインターレース検出をスキップ。
<field_dominance> (DEPRECATED(*非難された?論争中?*))
tfieldsと同 様。
NOTE:このオプションは将来削除される可能性があります。
その場合は、-field-dominanceで 代用して下さい。
【メリット】

 インタレ解除能力は概ねfilmdintよ り上。解除漏れは僅かで細かい文字等の潰れもほぼ無視できる。またPPCでは、x86専用の感が有るfilmdintより安心して使える。
  以前は30/24fps混在アニメに使うと、24fps部分に止め絵のスクロール(カメラパン)でカクツキが発生するケースがあったが、07年04月現在 はほぼ気にならないレベル。
 pullupベースのビデオフィルタチェインに比べると、アニメでカクツキを感じるケースは大幅に減 る。
 手軽なのでめんどくさかったら全部コレに任せてもいいかも。

【デメリット】

 時おり映像全体が1ピクセル上下する。おそらくこれが原 因で、ズームイ ン、ズームアウト、パン(横方向のパン)、ティルト(縦方向のパン)、実写のまばたきや唇の動き、アニメの主線などにpp=mdに似た、しかしもっと細か い地味なジャギが出 る。「縦方向のジッター」と言うようだ。確かに地味にイライラする。
  とくにyadif=3:1,mcdeint=2:1:20などで60fps化するとジッターは distractingの レベルになるようだが、これは後述。

  ちなみにmcdeintで30fps化する場合でもこのジッターをベースに動き補償を行うので手許では最終画質に大差を感じない。

 AviUtil やAviDemuxで見かける「(自動)フィールドシフト」という概念は、おそらくこの辺をなんとかすんのだと思う。閾値に基づいて適応的にトップフィー ルドとボトムフィールドの合成手法を弄るとか、そんな感じか?
 したがって、純粋性能はAviUtil/AviSynthで使えるも のに劣ると思われる。

 また、pullupベースのビデオフィルタチェインに比べると、x264のSSIMが落 ちる。まだ充分な経験値は溜まっていないが、手許の設定では0.97台後半になるケースが多い。経験上、x264では24fpsだろうが30fpsだろう が60fpsだろうが、skip/directマクロブロックの効果でそうびっくりするほどの差はでないと思っていたが、CPUに言わせりゃジッターは縦 1ピクセルの「ディテイル」だ。数は少なくてもなかなかビットを喰うと思う。全体的な画質に目で見て解る程の違いはないし、時間軸画質の向上を考えるとお 釣りがくるので目くじらを立てる程のもんではないが、アニメが0.98切るのは悔しいな。

【まめちしき】

 作者はmcdeintと同じく Michael's Niedermayerさん。ffmpeg、MPlayer、libavcodec、なかんずくSNOWのキーマン。
 mcdeint と同じく、mmxなどへの最適化余地が大きい模様。Altivecもよろしくおねがいします。

2.結論

 TVキャプチャでオールラウンドに使えるもんとしては、これが望みうる最善に最 も 近いと思う。実用的な速度の中では。たぶん。
-vfm ffmpeg -vf yadif=3,pp=l5,framestep=2,,, -ofps 30000/1001
  1. -vfm ffmpeg:mpeg2デコードにlibavcodecを使う。デフォルトのlibmpeg2にはlibmpeg2 decoding delayというバグがある。これは yadifと相性が悪く、冒頭に空フレームが2枚入ってしまう。
  2. yadif=3:フィールド単位でインタレ解除、1フレームとして出力(素 材がフィールド周波数59.97Hzならフレーム周 波数59.97Hzになる)。
  3. pp=l5:全ラインを一律に混ぜる(5タップの低域通過フィルタ)。
  4. framestep=2:フレームを一個飛ばしで捨てる(フ レーム周波数59.97Hzをフレーム周波数29.97Hz に半減)。

 ※-vfチェイン内部は書いた順番に適用されます。

3.理由

 TV放送のフィールドオーダー(トップフィールドとボトムフィールドの順番)は、通常はトップフィールド・ ファーストらしいのだが、なぜか不規則であるらしい(続 フィールドオーダーのナゾ)。

  おそらくコレが理由で、yadif=0または2(1フレームを1フレームとして出力)では、映像全体が1ピクセル上下するコマが出る事がある。「縦方向のジッター」と言うらし い。

  おそらくこれがびみょ〜〜〜にジャギが残って見える理由だと思う。ズームイ ン、ズームアウト、パン(横方向のパン)、ティルト(縦方向のパン)、実写のまばたきや唇の動き、アニメの主線などで、地味にイラつく事がある。

  また同じ理由から、yadif=1または3(フィールドをフレームに展開して60fps化)では、フレームの時間軸スイッチバックが起きる。可能性があ る。

 AviUtilには(自動)フィールドシフトという理屈を使ってこのへんを良きに計らってくれるプラグイン があるようだが、当然ながらMacでは使えない。悔しいので一応DLして読めるとこは読んだ。すげぇ巧緻な事をやっている印象を受けた。フィールドシフト はAviDemuxにもある。でもPAL専用だ。MEncoderの-vfにフィールドシフトと解釈できそうな文言は無い。

  そこで、だ。

 まずyadifで60fpsで吐き、吐いたもんをpp=l5で一律に混ぜちゃえば、バー チャル・フィールドシフトになりゃしませんか、 と。
 yadifで殆どのインタレ縞は取れる。ただし、ジッターとフレームの時間軸スイッチバックが残る。
 pp =l5で一律に混ぜちゃえば、ジッターのズレも混ざる。ボケだからあんま望ましくはないが、ここで混ぜるのは60fpsで吐いた前後フレームだ。悪影響は 30fpsを混ぜるより弱い。
 最後にframestep=2でフレームを一個飛ばしで捨てれば、時間軸スイッチバックが消える。

 、、、 ハズだ。

 pp=l5は単独ではジャギと色合いの劣化が目立つけど、yadifの後ならインタレ縞はほとんど取れ ている。また色情報はYUV4:2:0では前後フレームで共有してるから、60fps化したものを混ぜるならフィールドオーダーがどうだろうと色の混濁は 最小限になる。ハズである。

4.実験

機 材:PowerMac G5(2Ghzx2)
ソ フト:MEncoder dev-SVN-r23205-4.0.1
設 定:x264 lossless, 30000/1001fps出力
#!/bin/bash
# yadif_test
#070502,charset="UTF-8",LF

for x in `ls *.mpeg`;do

echo "----"
echo "${x}"
echo "${x%.mpeg}".264
echo "START; `date +%m/%d" "%H:%M.%S`"
START_SEC=`date +%s`

mencoder "${x}" \
-vfm ffmpeg \
-nosound \
-ovc x264 -x264encopts qp=0:bframes=1:keyint=0:keyint_min=0:nodeblock:nocabac:subq=1:nointerlaced:threads=16 \
-vf yadif=0,scale=640:480:::3,hqdn3d=2:1:2,harddup \
-sws 9 -zoom \
-fps 30000/1001 -ofps 30000/1001 \
-of lavf -lavfopts format=mp4:i_certify_that_my_video_stream_does_not_use_b_frames \
-o "${x%.mpeg}".yadif=0_.mp4

expr `date +%s` - "${START_SEC}"
echo "END; `date +%m/%d" "%H:%M.%S`"

done
 ※x264 lossless設定の詳細は、H.264/AVCロスレス〜其の弐を参照。

4.1. 実験1:アニメ

素 材:アニメ, MPEG-2 PS, 5"30秒,221.9MB, 映画・あしたのジョー2冒頭部分(先日のBSアニメ夜話スペシャル)
 一般的に24fpsアニメの画像混濁コマは前後が均等に 混ざっている物 だが、この素材は不均等な画像混濁コマがある。本編中にあるのも珍しい。良く見かけるのはCMへの切り替えなどだ。
 なんつうか、力 石徹のカオが心霊写真のように中空に浮かんでたり。する。直前のコマには全身描いてあるのに。
 恐らく、一般的にはフィルムスキャナ のようなものでデジタルデータを作ってからテレシネ処理をするのに対し、この素材はフィルムを上映しながら撮影するタイプのテレシネをかけたと思われる。 きっとお金かかってる。NHKえらい。
 えらいんだけど、pullupで逆テレシネかけるとすんげぇカクツク箇所があった。カクツ クってよりガクガク。オリジナルは絶対フィルム撮りなのにフィルム撮りなのにフィルム撮りなのに!
仮番 -vf メ モ サイズ 時間
A1 yadif=0 1 フレームを1フレームとして出力。 1.45GB 543(09"03)
A2 yadif=2 0 同様。ただし空間軸のインターレース検出をスキップ。 1.46GB 537(08"57)
A3 yadif=1,framestep=2 1 フィールドを1フレームとして出力。 1.45GB 777(12"57)
A4 yadif=3,framestep=2 1 同様。ただし空間軸のインターレース検出をスキップ。 1.46GB 715(11"55)
B1 pp=l5 全 ラインを一律に混ぜる(5タップの低域通過フィルタ)。 1.50GB 471(07"51)
A4+B1 yadif=3,pp=l5,framestep=2 1.46GB 818(13"38)
感 想:
 Aシリーズの差は僅かでほとんど問題とするに値しない。 A1,2と A3,4の間に僅かにジッターの改善らしきものが見られた。
 空間軸のインターレース検出(yadif=0/1)は、不足ラインの埋 め方にやや問題があるようで、非常に細かい文字などが荒れる。空間軸のインターレース検出をスキップ(yadif=2/3)すると、地味な解除漏れが残る (Lair Of The Multimedia Guru » Deinterlacing filtersの図参照)。
 各コマが最も素材に忠実(主に心霊写真ぶりが)なのはB1だが、母線のジャギも最 も激しい。
B1 A4+B1
 つう か、↑ここで「あ。」とか思う自分がちょっとイヤ^^;。
 ただまぁ、B1以外はほとんど差を感じないと思います。アニメでは。 pullupなら二重化はほぼ完全に避けられるが、この素材ではやむを得ない。三回パンとか三回パンとか三回パンとか。ガタツクと「くっ、クロスカウン タぁッ!!」感が減る。減るんだってば。

4.2. 実験2:実写

素材:実写, MPEG-2 PS, 2"00秒,53MB, NHKスペシャル・「日本国憲法誕生」冒頭部分
 資料映像の白黒(24fpsフィルム)、バストアップの インタビュー、 紙資料のどアップが混ざっている。
  落語の経験上、yadifは唇やまばたきにやや不満が残る。ズームイ ン、ズームアウト、パン(横方向のパン)、ティルト(縦方向のパン)も。
 また紙資料のどアップはなかなかインタレ解除が厳しいもの がある。インクの滲みまくった米軍文書はいいけど、明朝体の和文は文字の横線が厳しい。旧かな使いだと漢字ややこしいし。
 どうも動 きのあ る斜めの直線がジャギる。水平に近いほど激しくジャギる。肩とか。パンやズームの時の机のへりとか舞台のへりとか文字の横棒とか車中撮影の道路の白線とか ヘリ撮影の国会議事堂のてっぺんの段々とか。自動的にんなとこに視線が行く自分がちょっとイヤ。
仮番 -vf メ モ サイズ 時間
A1 yadif=0 1 フレームを1フレームとして出力。 713.8MB 222(3"42)
A2 yadif=2 0 同様。ただし空間軸のインターレース検出をスキップ。 省略 省 略
A3 yadif=1,framestep=2 1 フィールドを1フレームとして出力。 省略 省略
A4 yadif=3,framestep=2 1 同様。ただし空間軸のインターレース検出をスキップ。 716.3MB 270(4"30)
B1 pp=l5 全 ラインを一律に混ぜる(5タップの低域通過フィルタ)。 742.6MB 187(6"07)
A4+B1 yadif=3,pp=l5,framestep=2 719.8MB 303(5"03)
感 想:
A4で解除漏れが出た。紙資料のどアップ。極めて僅かでコ マ送りでないと 気が付かない。
B1は解除漏れはないが、ジャギが最も激しい。人間の肩や、図書館の人が資料を弄る軍手をはめた手、など。
A1 とA4+B1の差はほぼ完全に無いが、A1にはごく小さなジャギの痕跡らしきものがある。1ピクセルの白点、これもコマ送りでないと気が付かない。液晶の ドット欠けかと思った。

余談:

 経験上、結果は素材によって非常 にばらつくので、手 許では実験の時だけ死ぬほどコマ送り で見ます。
 でも目が疲れるのでほどほどにしたほうがいいと思った。あとMacだと拡大してもOSがなんか補間してくれるっぽいの で、素直にピクセルの角が出 ません。


agehaにオリジナル無し

更新履歴

  • 2007/04/29:初出
  • 2007/05/03:実験結果等を追記

△ETOP | ▲PTOP

▶コメント(-0)

コメントの投稿
管理者にだけ表示を許可する

▶トラバ(-0)

トラックバックURL
http://agehatype0.blog50.fc2.com/tb.php/249-32e4f092

    ▲PTOP

    ◀ じだいおくれの地デジのはなし 表紙 会社のブログで顔出しで。▶

    Most Viewd:(070101-071031)

    1. じだいおくれの地デジのはなし
    2. 牛乳有害説
    3. MeGUI ガイド_x264の設定
    4. MP4 faq
    5. tag:H.264/AVC
    6. 続・あたらしい著作権のはなし
    7. Xbox360、PS3、AppleTVの対応動画
    8. cat: 動画全般
    9. tag:MPEG-4
    10. 縦横(アスペクト)比
    11. Apple TV改造 - Xvid
    12. MP4Boxの主要コマンド
    13. MPEG-4の基礎 5 - ISO14496-10(ビデオ) - AVC
    14. cat:MPEG-4全般
    15. cat:-x264encopts
    16. ffmpeg コマンドその1(らけった版)
    17. tag:MeGUI
    18. tag:x264(r600)コマンド対応
    19. date:20070801
    20. PSPファームウェア3.30
    21. tag:mp4box

    ▶ Index

    表紙
    全記事一覧
    ここについて
    人気記事
    x264関連
    ageha更新終了の辞

     2007/11/15を以て当ブログは更新を停止しました。
     記事は全てこのままですが、基本的に内容はOut of dateとお考え下さい。
     →Next

    ▶ カテゴリー

    ▶ タグ検索

    ▶ Archive R

    FC2Ad

    FC2ブログ 一戸建て

    ▶ 管理/なかのひと

    ▶ StyleKeeper

    ▶ StyleChanger

    public my share