(2002/11/15) ★冬コミ 扉ページの通りです。 とりあえず、満月をさがしてネタで一作出るのは決定……と言うか、CG終わって、もうすぐマスターアップです。 あとあ、ミュウミュウ、GA、オリジナルも描きたい(^^; サボっていたツケで描きたいネタが貯まってます(^^; ★アニメキャプ、エンコ 7/13の日記の続き。 Avisynthのスクリプト、ゴースト除去@Avisynth、ゴースト除去@aviutlの三本でお送りします。んがんんっ。 ★Avisynthスクリプト なんか、Avisynth方面、すごい勢いで成長してますね(^^; エンコマシンを新調した事もあって、エンコ速度に余裕が出来た分、画質重視で使うフィルターも変わってきました。 まぁ、手っ取り早く、スクリプト晒し。 #準備:warpsharp.dll LoadPlugin("D:\avisynth\plugin\warpsharp.dll") もはや必需品。いっちゃん最初に定義。 #MPEG2ファイル読み込み:mpeg2dec.dll LoadPlugin("D:\avisynth\plugin\mpeg2dec.dll") MPEG2Source("cap.d2v") 絶対パスじゃなくてもOKなのに気付きました(^^; AVSPreviewが絶対パスじゃないと駄目なのが惜しい……まぁ、ちょっとパスを書くだけで済むのですが(^^; 色々とGUI環境も出て来ているみたいですが、テキストエディターで数値をいじくって、VirtualDubにぶち込み、即エンコ開始!(^^; パラメーターの変える所、使う値が大体決まっているので、ソース見て勘です(^^; MPEG2ソース読み込みプラグインでは、MPEGDecoder試してみたいなーとか思ってます。速いって噂なので。 #ゴースト除去:EraseGhost&同V(warpsharp.dll) EraseGhost("y",3,127,0,-88,21,-25) EraseGhostV(230, "k:\GhostV.tmp") 以前はaviutlでやっていたのですが、とうとうAvisynthにも、待望のゴースト除去フィルターが出てくれましたヽ( ̄▽ ̄)ノ Avisynthの唯一の弱点だと思っていたのですが、今ではゴースト除去するならAvisynthって感じです。 速いし使いやすいヽ(´ー`)ノ EraseGhostVの230ってパラメーターは、256でも良い気がしますが何となく(^^; #ドット妨害除去:De.dll LoadPlugin("D:\avisynth\plugin\De.dll") DeDot(10,40,100,5) DedotAを試しましたが、Dedotの方が、副作用がでないギリギリの線を狙いやすいと思います。 と言いつつ、この値だと、ソースによっては副作用出てました(^^; まぁ、コマ送りでもしないとわからん程度なので、そのまま(^^; あと、Dedotで取れないドット妨害にはGuavaComb.dll試してみましょう。取れるドット妨害の種類が違うって感じでした。なんか副作用があった気がしたけど……ちょっと実験してみた程度なので忘れました(^^; #インターレス解除:IT.dll LoadPlugin("D:\avisynth\plugin\IT.dll") IT(fps = 24, ref = "TOP", blend = false) 24fps化もしてくれるので0.03から0.04にしました。 0.05にしなかったのに、何か理由があったかな……うぐぅ思い出せない(^^; まぁ、問題ないので0.04のまま。 Auto24FPSが主流みたいですが、どうもうちではうまく行かない時が多くて。 24・30fps混合ソースでも面倒なので120fps化せずに、全編24or30fpsで済ませているのですが、この場合、ITが一番得意だと思います(^^ #色タイミング補正:UVTimingH LoadPlugin("D:\avisynth\plugin\uvtiming.dll") UVTimingH(4,0,False) 新投入。 地上波専用。ビデオのチューナーがヘボいので(T-T #画面サイズ・拡大縮小:lanczos3.vdf LoadPlugin("D:\avisynth\plugin\lanczos3.vdf") Lanczos3Resize(676,492) BilinearResize(Avisynth標準)から変更。 んー、720x480からのリサイズなんだけど、この程度のサイズ変更ではBilinearResizeでも変わらない気が(^^; まぁ、速度さも気にならないし、理論的に綺麗らしいし、ブラシーボ効果フィルターって事で(^^; #2Dノイズ除去:_2DCleanYUY2 LoadPlugin("D:\avisynth\plugin\_2DCleanYUY2.dll") _2DCleanYUY2(0,2,2,2,0,2,2) (0,●,2,2,0,2,2)→●の位置のパラメーターだけで、調整してます。……と、前の日記からコピペ(^^; パラメーターを見直して、潰れやすそうなソースの時、実写の時は使わない。(0,2,2,2,0,2,2)が俺標準。最高でも(0,4,2,2,0,2,2)にしました。 潰れるなら、ノイズが残っていた方が良いって方針に。 重いので代替フィルター模索中(^^; #シャープ:unsharpMask(warpsharp.dll) UnsharpMask(strength=20, radius=3, threshold=5) 前の日記ではstrength=80でした(^^; リンギングが出るくらいシャープなのが好きなのですが、他でファイルサイズが増える原因が出来てしまったため、最高で30くらい。使わない時もありって感じです。 warpsharpは使わなくなりました。2DNRを弱めたのもそうですが、元の絵をなるべくいじらないって方針で。 Blurも使わなくなりました。ぼかすくらいなら、ファイルサイズでかくなっても良いやって事に。 #色調補正フィルタ:ColorYUY2.dll LoadPlugin("D:\avisynth\plugin\ColorYUY2.dll") ColorYUY2( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20 ) バージョンを最新のにしました。 パラメーターはタイトルごとに一律って感じ。 #画面サイズ・クリッピング:crop(avisynth標準フィルタ) crop(16,6,640,480) 変わらず。タイトルごとに一律って感じ。 #3Dノイズ除去:Convolution3D.dll LoadPlugin("D:\avisynth\plugin\Convolution3D.dll") Convolution3d (preset="animeHQ") Temporalsoften2から変更。 エンコ時間が3割り増し、ファイルサイズが1割り増しくらいになりましたが、soften2に比べると苦手が少ないと思います。 ちょっと前のバージョンだと激重でしたが、速くなってくれたので、手の平返したように使用してます(^^; この速度差でこの画質なら、もうsoften2を使う理由はないんじゃないかと思います。 まぁ、速ければ速いほど、ファイルサイズが縮めば縮むほど良いので、これで固定って事はないと思いますが……って、全部に言える事ですが。 3DNRはGrapeSmoother.dllも試してみましたが、速いけどsoften2と同じ「もやもや傾向」で、更に残像が出やすい副作用がありましたので使うのを止めました(^^; 以上です。 エンコ時間はXP 1800+で2時間30分って所。 画質を求めた分、ファイルサイズは上昇傾向(^^; コーデックは、XviDはBフレームが安定するまで様子見しているので、DivX5.02オンリーな状況です。 200MB以内を目標にしていますが、1PASS-QB90%、シャープを使わないを画質の下限に、それでも縮まない場合、ファイルサイズは気にしないって事にしました(^^; ★ゴースト除去@Avisynth 文字だけでご勘弁を〜(^^; ゴースト除去って、重ね映りのゴースト除去→重ね映りのゴースト除去後の画像から縦線ゴースト除去……の手順が効率良いと思います。 重ね映りのゴースト除去の行程で、余計な縦線ゴーストを作ってしまう事がありますが、まずはそれを気にせずに重ね映りを除去。後でまとめて、縦線を除去って具合です。 aviutlだと重ね映りも縦線もあるのですが、各々が大元の画像から除去しようとするため、除去に除去が重なって、余計なゴーストになってしまいます。 回避策もあるのですが、結構手間でして。 Avisynthのだと、重ね映りのゴーストを除去した状態の画像を元に、縦線ゴースト除去が出来ます(^^ まぁ、普通に通りの手順でやれば良いので、特に説明は無し(^^; わからないって人は、こちらの「ゴースト除去フィルタについて」を見ておきましょう。 aviutlとTMPGencの例ですが、2種類のゴースト除去方法が理解できると思います。 EraseGhostですが、aviutlでは出来ない左ゴースト除去にも対応している、256ピクセル以上動かせるのが◎。 aviutlをGUIして設定できるのですが、付属のEraseGhost.auf.avsのままだと、±256ピクセルまでしか位置を動かせません。 キャプサイズ上限に変えてしまいましょう。 私はいつも720x480でキャプっているので、 > func.AddTrack("位置", 0, -256, 256, -256.0, 256.0) の行を全て、 > func.AddTrack("位置", 0, -719, 719, -719.0, 719.0) に書き換えています。 あと、VirtualDubのみたいに、重ねる時の「ぼかし」が欲しい。 それと位置を0.1ピクセル単位にするのは無理かな?(^^; たまに、どっちにしようかなーと1ドットに悩みます(^^; ★ゴースト除去@aviutl すぐ上のコピペですが、重ね映りのゴースト除去→重ね映りのゴースト除去後の画像から縦線ゴースト除去……の手順が効率良いと思います。 重ね映りのゴースト除去の行程で、余計な縦線ゴーストを作ってしまう事がありますが、まずはそれを気にせずに重ね映りを除去。後でまとめて、縦線を除去って具合です。 aviutlには、重ね映りゴースト除去(外部フィルター)も、縦線ゴースト除去(標準フィルター)もあるのですが、各々が大元の画像から除去しようとするため、除去に除去が重なって、余計なゴーストが増えてしまいます。 これを避けるためには、少々応用が必要です。 まずは、aviutl標準のゴースト除去で、重ね映りのゴーストを除去。 「連番BMP出力プラグイン」で、縦線ゴーストに使えそうな単色面積が広い1フレームを出力。 (出力されたBMP画像は、重ね映りのゴーストフィルターの効果が有効になってます。単に「現在のフレームをクリップボードにコピー」では、フィルターは反映されませんので、連番BMP出力プラグインを使っています) そのBMP画像をペイントツール(Windows標準のペイントで十分)で表示。 全選択してコピー。 aviutlに戻って、後でカットしそうな切り捨てるフレームに移動して「現在のフレームにクリップボードから貼り付け」。 コピペしたフレームを使って縦線ゴースト除去設定。 これで、重ね映りのゴースト除去後と縦線ゴースト除去を両方とも活かせます。 ★以上です むー、忙しいってのに、気付くと長文(^^; 忙しいのでツッコミは受けますが、質問は却下にて(^^; ツッコミは、メールよりこちらに希望→ぷちっとな |