2010/03/28

avisynth:インターレース解除&24fps化(逆テレシネ) その2

お勧めの24fps化(逆テレシネ)フィルターは以下の通り

TIVTC24P2
間引きの誤爆は少ないが激しい動きは破綻しがち、安定性に欠ける

関数
function TIVTC24P2(clip clip){
Interp = clip.AssumeTFF().SeparateFields().SelectEven().EEDI2(field=1)
Deinted=clip.TDeint(order=1,field=1,edeint=Interp)
clip = clip.TFM(mode=6,order=1,PP=7,slow=2,mChroma=true,clip2=Deinted)
clip = clip.TDecimate(mode=1)
return clip
}
フィールドオーダー:トップ->ボトム=order=1 ボトム->トップ=order=0
書式:TIVTC24P2()

必須プラグイン
EEDI2.dll
TDeint.dll
TIVTC.dll

TDeint + TIVTC
かなり安定している24fps化フィルター
書式:TDeint(mode=0, order=1, type=3, tryweave=true).TDecimate(mode=1, hybrid=0)
フィールドオーダー:トップ->ボトム=order=1 ボトム->トップ=order=0
必須プラグイン
TDeint.dll
TIVTC.dll

Mission Complete R.T.B

2010/03/26

avisynth:インターレース解除&24fps化(逆テレシネ) その1

エンコードの設定で一番大事なのはフレームレートの設定だと思う
いくら綺麗でもフレーム数がずれていたら元も子もない
ということで簡単なフレームレートの判別方法を紹介
まずはインターレース解除のフィルターを使いVirtualDub(日本語化パッチ)Aviutl等で読み込む

インターレース解除フィルター
IT(fps=30, ref="TOP", blend=false, diMode=1)#トップ->ボトム
IT(fps=30, ref="BOTTOM", blend=false, diMode=1)#ボトム->トップ

ソースによってフィールドオーダーが違うので
上記2つを使い分ける(判別方法はコマ送りしてカクカク不自然ならフィールドオーダーが間違っていることになる)
エンコソフトでソースを読み込んだら1コマづつ進めていき、
同じコマがないなら30fps
5コマ中2コマが同じなら24fps
というふうになる
まぁ、こんなことしなくてもaviutlに下記のavsファイルを放り込んで
フレームレートの変更はせず、インタレ解除の設定だけして
読み込めば簡単にできる
この場合、aviutlにはavsinp.auiが必須となる
avisynth.info (旧 AviSynth Wiki)参照


DGDecode_MPEG2Source("XXX.d2v",upConv=0,idct=5,cpu=0)
IT(fps=30, ref="TOP", blend=false, diMode=1)
return last


Mission Complete R.T.B

2010/03/23

avisynth:ソースの読み込み その4

DGIndexの拡張パラメーター
idct
iDCTアルゴリズムをパラメーターで指定する場合に使用
cpu
ソースの状態が悪い場合に使用するとかなり改善する
各パラメータを使用した例
DGDecode_MPEG2Source("XXX.d2v",upConv=1,idct=5,cpu=4)

Mission Complete R.T.B

2010/03/18

avisynth:ソースの読み込み その3

avisynthのDGIndex読みソースを他のエンコソフトに投げる場合、
気をつけなきゃならないのが色空間
aviutlはYV12読込みは非対応なので、
前回のスクリプトのまま投げると当然RGB読みになる
このときに有効なのがupConv、これで色空間を変える
aviutlの場合ならupConv=1でYUY2になり、
スクリプトはDGDecode_MPEG2Source("XXX.d2v",upConv=1)
ちなみに
0:ストレート(YV12のまま)
1:YUY2
2:RGB24
となる、詳しくはDGDecode Manual参照

Mission Complete R.T.B

2010/03/16

ナノックス VS アタックネオ

うちのおかんが2種類の洗剤を買ってきた
どっちがいい?
などと聞きあがるので
今回は洗剤の使用感を少々書き込むことにする
ということで見様見まねで洗濯してみたもののどうにも違いがわからん
何度かやってるうちにやっと違いが出てきた
両者とも水に対しての洗剤の量が多いように感じる
すすぎ1回にするには指定の半分以下にしないと達成できないように
思われるのだが…
まぁ、これは個人差もあるわけで自分の場合は泡で判断
ナノックスのほうが泡切れがよかったように感じた
んじゃアタックネオが劣るのかというとそうでもない、
こちらのほうが若干だが汚れが落ちてるように感じた
理由は洗濯水の色、茶色が濃い
すすぎ1回を実践してみて感じたのだが
ナノックスは洗剤のにおいが強く
いわゆるニオイ汚れを気にする人にはよいと思う
ちなみにアタックネオはナノックスほどにおわなかった
洗剤のニオイが嫌いな人向けのようだ
ざっと比べてみてどちらを選ぶのか
正直判断つきません~
今現在はおかんが交互に使ってるようで
判断つかない状況
この洗剤に限ったことではないが
手荒れにも効き目がありそうなので手荒れの人は要注意

Mission Complete R.T.B

2010/03/15

avisynth:ソースの読み込み その2

YV12の読み込み設定
DGIndexの中に含まれるDGDecode.dllをavisynthのプラグインディレクトリに格納する
(DGIndexを日本語化するなら:DGMPGDec localization patchからパッチを入手する)
[映像]->[iDCTアルゴリズム]->[IEEE1180準拠] OR [64bit浮動小数点]
[映像]->[YUV->RGB変換]->[テレビ色調]
(YV12で読ませるのならどちらでもよいが気分的にTV色調が劣化してなさそう)
[音声]->[出力形式]->[分離] or [ac3トラックをwavに]
([分離] or [ac3トラックをwavに]を選択した場合は[音声]->[トラックの選択]は必須:トラックIDはプレビューor再生で判明する)
設定完了後にプロジェクトの保存でDGIndexの作業は終了

次にテキストエディタ(メモ帳)で下記のスクリプトを拡張子avsでXXX.d2vと同じところに保存、エンコソフトでavsファイルを開けばYV12でソースを読み込むことができる

DGDecode_MPEG2Source("XXX.d2v") #Mpeg2 読み込み
return last


Mission Complete R.T.B

2010/03/12

avisynth:ソースの読み込み、色空間等

DVDをavisynthで読み込ませる場合、dvd2aviかDGIndexを使うわけで
色空間はそれぞれ、dvd2aviはRGBとYUY2、DGIndexはRGBとYV12となる
DVDの色空間はもともとYUY2かYV12なので
エンコソフトに無駄な処理をさせたくない場合は
この色空間を合わせる
そこでエンコソフトの内部処理を調べてみると
TMPGEncはRGB処理でaviutlはYUV444
VirtualDubなんかは設定次第でどうにでもなる
ちなみにavisynthの最速処理はというと
最速順に並べるとYV12,YUY2,RGBの順
ということでavisynthのYV12読み+VirtualDub+x264cliエンコが最速ではないだろうか
爆速エンコとかちょくちょく目にするが、
読み込み、内部処理等ここら辺を理解してないと爆速エンコにはならないと思う

avisynthのavsファイルソース読み込み記述例

dvd2avi
MPEG2DEC_MPEG2Source("XXX.d2v") #Mpeg2 YUY2読み込み
DGIndex
DGDecode_MPEG2Source("XXX.d2v") #Mpeg2 YV12読み込み
aviファイル
AVISource("XXX.avi",pixel_type = "YV12") #AVI読み込み

Mission Complete R.T.B