第肆話 avisynth スクリプトとフィルタ2

ここでは、「第肆話 avisynth スクリプトとフィルタ2」 に関する記事を紹介しています。

お世話になってるサイト様の新着記事

相互RCC設置しました。申請はこちらからお願いします→相互リンク/相互RCC
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
前回は、AvsPの導入と、MTmodeを使用できるように準備しました

今回は、1つ1つフィルタについて説明しようと思います

尚、フィルタの数はたくさんありすぎるので、ここでは私が使用しているフィルタしか説明しません

ですので、なんでそんなの使ってんの?とか言わないでくださいね♪
泣いちゃいますので(笑)

第陸話 avisynth 複数のavsをまとめてbat処理編
第伍話 avisynth bat出力編
avisynth バンディング低減フィルタ GradFunkMirror
第肆話 avisynth スクリプトとフィルタ2
第参話 avisynth スクリプトとフィルタ1
第弐話 avisynth エンコードの流れ編
第壱話 avisynth 導入編
序章 avisynthを使用したCLIエンコード

◎使用フィルタ     フィルタリンク先⇒avisynth-wiki
フィルタ名 説明
Trim エンコードする範囲を指定する。標準装備です
EraseLOGO ロゴ除去や付加したり出来る。要aviutlの透過性ロゴの解析データが必要
DeDot ドット妨害低減+クロスカラー除去
TIVTC24P2 インタレ解除+逆テレシネ EEDI2.dll、TDeint.dll、TIVTC.dllの3つを使用します要関数
AutoDeint インタレ解除のみする場合に使用
its VFR化するためのもの。フレームレートが変化するアニメで使用
別途defファイル必要
crop 画面端の黒ブチをクロップします
Spline36Resize 若干シャープに仕上がるリサイズフィルタ
FFT3DGPU GPUを使用した高性能なノイズ除去。ただしMTが使えない
msharpen ノイズを増幅せずに、重要なエッジをシャープにする
UnsharpMask ボケている映像を鮮明にクッキリさせる
WarpSharp 輪郭などをすっきりさせる
ConvertToYUY2 色空間をYUY2に変換する
ConvertToYV12 色空間をYV12に変換する
GradFunkMirror GradFunk2dbを改造したバンディング低減フィルタ。要関数
GradFun2DBmod GradFunkMirrorを改造したバンディング低減フィルタ
かなり重いが効果抜群! 要関数


では1つずつ説明していきたいと思います

・Trim
このフィルタはCMカットを行います。エンコードしたい範囲のみをavsに記述してください
一番簡単なのはaviutlにtrimエクスポートをインストールし、aviutlでCMカット
その後、ファイル→エクスポート→trimを行なえば、クリップボードにコピーできていますので
avsに貼り付ければOKです
---------------------------------------------------------------------------------
記述例
Trim(481,4312)++Trim(6414,22746)++Trim(24546,46932)
---------------------------------------------------------------------------------
※++は範囲をつなげる為の記述です


・EraseLOGO
ロゴ除去したり付加したり出来るフィルタ aviutlでロゴ解析したデータが必要です 要delogo.dll
---------------------------------------------------------------------------------
書式
EraseLOGO(logofile="ロゴファイルパス", pos_x=0, pos_y=0, depth=透明度,
yc_y=0, yc_u=0, yc_v=0, start=開始フレーム, fadein=フェードインフレーム数,
fadeout=フェードアウトフレーム数, end=終了フレーム, interlaced=true)

記述例
EraseLOGO(logofile="C:Program FilesAviSynth 2.5pluginsMX.lgd",
pos_x=0, pos_y=0, depth=131,yc_y=0, yc_u=0, yc_v=0,
start=0, fadein=0, fadeout=0, end=-1,interlaced=true)
---------------------------------------------------------------------------------


・DeDot
ドット妨害を除去したりクロスカラーを軽減します
最近は放送画質も綺麗になってきたのでほとんど使用していません
---------------------------------------------------------------------------------
書式
DeDot(輝度2D,輝度時間軸,色差時間軸1,色差時間軸2)

記述例
DeDot(10,40,40,0)
---------------------------------------------------------------------------------


・TIVTC24P2
インタレ解除+逆テレシネを行います。誤爆も少なく一番オススメの逆テレシネです
このフィルタはEDI2.dll、TDeint.dll、TIVTC.dllの3つを組み合わせ関数を記述し使用します
EDI2.dll、TDeint.dll、TIVTC.dllをavisynthのプラグインフォルダに入れておきましょう
---------------------------------------------------------------------------------
記述例
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
}
※関数は最後に記述するreturn lastより後に記述してください
---------------------------------------------------------------------------------


・AutoDeint
インタレ解除のみする場合にだけ使用しています。30fpsのままインタレ解除のみ実施します
要warpsharp.dll
---------------------------------------------------------------------------------
記述例
AutoDeint("blend")

引数
""で自動。"blend"で二重化です
---------------------------------------------------------------------------------


・its
VFR化。24fpsと30fpsが混合する場合に使用します。当然60fpsにも使えます
its.dllと、別途Defファイルを用意する必要があります
最後にDtsEditというものを使い、Defファイルを元に作成される.tmcファイルを
出来上がったmp4ファイルに適用させます。そうすることでvfr処理が施されます
※itsでTIVTC24P2を使用した後に、再度フレームレートを変更する処理をした場合、アウトプットがおかしくなることがあるようなので、its処理後はフレームレートを変更しないでください
---------------------------------------------------------------------------------
記述例
its(def="J:animeencodedef.def", fps=-1, output="enc1.tmc")

Defファイル記述例
set [24] tivtc = 'TIVTC24P2()'
set [30] adeint = 'AutoDeint()'
set [60] tdeint = 'tdeint(mode=1)'
default 24 = tivtc
default 30 = adeint
default 60 = tdeint
0-3831[24]: tivtc
3832-4304[60]: tdeint
4305-42551[24]: tivtc
mode fps_adjust = on

DtsEditとbatファイルの中身
DtsEdit.exeと同じ場所にbatファイルを作成し、以下を記述します
dtsedit -tc "tmcファイルのフルパス" "作成したmp4ファイルのフルパス" -o "出力先の指定"
ping localhost -n 6 >nul
echo .
echo .
---------------------------------------------------------------------------------


・crop
特に説明要らないですね。普通のクロップです
---------------------------------------------------------------------------------
書式
crop(0,0,-0,-0)
※左クロップ,上クロップ,右クロップ,下クロップと対応
---------------------------------------------------------------------------------


・Spline36Resize
これも特に説明要らないですね。リサイズフィルタです
---------------------------------------------------------------------------------
書式
Spline36Resize(0,0,0,0,-0,-0)
※左から、横サイズ,縦サイズ,左クロップ,上クロップ,右クロップ,下クロップと対応
私はcropフィルタを使うので、Spline36Resizeではクロップの指定はしてないです

---------------------------------------------------------------------------------


・FFT3DGPU
GPUを使用した高性能なノイズ除去。ただしMTが使えない
強力なので強く設定しすぎるとかなりノッペリしてしまうので注意
ノイズが多い作品はどうしても処理が重くなる
---------------------------------------------------------------------------------
記述例
FFT3DGPU(sigma=1.5 ,beta=1 ,plane=1 ,bw=16 ,bh=16 ,ow=8 ,oh=8 ,bt=4 ,mode=0 ,interlaced=false ,wintype=1 )

sigmaとbetaはなるべく近い値で設定(調整が難しいのでとりあえずこれぐらいにしてある)
bw、bhはblockwideとブロックの高さ設定。4の倍数で指定する必要がある(4,8,16,32,64,128,256,512)
ow,ohはブロックの間のオーバラップの大きさ設定。bw,bhの半分を指定すればいいと思う
wintypeはノイズ除去の強さ(強 0 > 1 > 2 弱)
ノイズが多いソースはmode=0でないと速度が遅くなる
---------------------------------------------------------------------------------


・msharpen
ノイズを増幅せずに、重要なエッジをシャープにするフィルタです
aviutlではノイズが増幅してしまうのでぼかしを追加していましたがこれでは必要ないです
---------------------------------------------------------------------------------
記述例
msharpen(threshold=10, strength=40, mask=false)
左から闘値、強さ、maskするかどうかです
---------------------------------------------------------------------------------


・UnsharpMask
ボケている映像を鮮明にクッキリさせる
---------------------------------------------------------------------------------
記述例
UnsharpMask(26,8,44)
左から強さ、ぼかす処理の範囲、閾値
---------------------------------------------------------------------------------


・WarpSharp
輪郭などをすっきりさせる
---------------------------------------------------------------------------------
記述例
WarpSharp(95,3,85,0)
左からワープの深度、凹凸をぼかす回数、凹凸検出時の閾値、三次補間の係数
※凹凸をぼかす回数は最低1回はやる必要がある
---------------------------------------------------------------------------------


・ConvertToYUY2
・ConvertToyv12
色空間をYUY2に変換する
色空間をYV12に変換する
記述が一緒なので、一緒に説明します
---------------------------------------------------------------------------------
書式
ConvertToYV12 (clip [, string "matrix"] [, bool "interlaced"])

matrixはRGB<->YUV変換において使用される色係数と倍率を制御します
"Rec601" : ITU-R BT.601 係数を使用。TV スケール [16,235] に圧縮される
"PC.601" : ITU-R BT.601 係数を使用。フルスケール*1 [0,255] を保持する
"Rec709" : ITU-R BT.709 係数を使用。TV スケールに圧縮される
"PC.709" : ITU-R BT.709 係数を使用。フルスケールを保持する

interlacedは使用する段階でソースがインタレかプログレかで指定が変わってきます
インタレの時に使用するなら"true" プログレの時に使用するなら"false"です
---------------------------------------------------------------------------------


・GradFunkMirroravisynth バンディング低減フィルタ GradFunkMirror
・GradFun2DBmod
この2つについてはいろいろ長くなると思うので、別に紹介します



関連タグ : avisynth, aviutl, フィルタ, スクリプト,

コメント
この記事へのコメント
いつの間にかレイアウト変わりましたね
2カラムになって本文幅が広がり、より読みやすくなったような気がする
2010/02/11(木) 19:42 | URL | 玖遠 #WE/xn6Vw[ 編集]
玖遠さんへ
3カラムは記事の幅が狭かったので、私も編集しにくかったのです。
自分で見ても読みにくかったので、他のみんなも見にくいと思ってると思ってました。2カラムにしたことで、大き目の画像も使えますし、文字も大きく詠みやすく出来たと思ってます。
2010/02/11(木) 20:38 | URL | 暁 #6XGrrLw2[ 編集]
はじめまして、最近私もエンコードに
のめりこみ始めましたが、非常に勉強になります!
ほかのサイトと違い、「何をするための作業か」と
いうのが明確に書かれているので、理解しやすいです。

また、エンコード時のパラメータやAviSynthスクリプトを
公開されているのも嬉しい限りです。

今後ともご活躍ください!
2010/02/14(日) 17:27 | URL | Noge #v0W2OX1k[ 編集]
Nogeさんへ
いやぁそのように言っていただけると、とてもやる気になります。
至らない点がたたありますが、なるべく判りやすい様にコンテンツを充実させていきますので、よろしく今後ともお願い致します
2010/02/15(月) 10:24 | URL | 暁 #6XGrrLw2[ 編集]
このコメントは管理人のみ閲覧できます
2010/02/20(土) 12:31 | | #[ 編集]
こんばんは。私もこのページを参考にx264エンコの道に踏み出しました。
でも最初は音ずれが酷くて、DelayAudioを使って何とかわからない程度に抑えることが出来ました。設定が決まるまでは何度もやり直しやり直しでいい加減疲れましたがw、一度設定が決まってしまえば非常に楽で良いですね。
2010/02/26(金) 23:59 | URL | にだ #O3eGwzts[ 編集]
このコメントは管理人のみ閲覧できます
2010/03/11(木) 00:52 | | #[ 編集]
↑ の非公開でコメントを送った者ですが、改めて。
はじめまして、エンコード関連記事の作成、応援しております。

長々とした文章をコメント欄に書いてしまいましたが、後々でメールフォームがある事に気付きました。。そちらから送った方が適切でしたね、どうもスミマセン。
内容に不明確な点などがありましたらご返信ください。
2010/03/12(金) 18:07 | URL | maki #39BQaHp2[ 編集]
いえ、するどい指摘ありがとうございます。
色の事に関してはほとんど分かっていないので、かなり助かりました。
2010/03/13(土) 01:02 | URL | 管理人 -暁- #6XGrrLw2[ 編集]
EraseLOGOでTBSやテレビ東京のロゴを消すときってどのように指定してあげればいいんでしょうか?
2010/03/31(水) 12:18 | URL | hogehoge #YN/SKQbA[ 編集]
aviutlでロゴは解析済みでしょうか?
解析したら、データをavisynthのプラグインフォルダに入れておきます。
後は、記事に書いてある通りやってもらえれば、出来ると思います。
うまく消せない場合は、
start=0, fadein=0, fadeout=0, end=0 の値をいじって調整してください。
私のaviutlの記事ですが、http://daybreakdeath.blog66.fc2.com/blog-entry-41.html#more に各放送局の指定すべき大体の数値が書いてあります。
2010/04/02(金) 00:28 | URL | 管理人 -暁- #6XGrrLw2[ 編集]
ロゴは解析済みです。
すみません、書き方が悪かったです。
AviUtlですとプロジェクトごとに分けることでCM明けのフェードインとかに対応できるのですが、avsだと最初と最後しかできなかったので、質問させていただきました。
OP-CM-Aパート-CM-Bパート-ED-CM-次回予告-提供
このCMの部分をカットしてavsでロゴ除去を行うと、Aパート始まりの数フレームがロゴの部分が逆に黒くなってしまいました。
2010/04/02(金) 00:45 | URL | hogehoge #YN/SKQbA[ 編集]
hogehogeさん
そういうことでしたか。
EraseLOGOの前にtrimでちゃんと区切ってないとダメです。
そしてEraseLOGOは必要になる分だけ、次の行にまたEraseLOGOを追加します。

こんな感じです。
EraseLOGO(start=5,end=2696)・・・開始~OP終まで
EraseLOGO(start=2701,end=24063)・・・Aパート~Aパート終
EraseLOGO(start=24098,end=43750)・・・Bパート~END

一応私のファイルをダウンロードできるようにしてますので、参考までにどうぞ。
http://daybreakdeath.blog66.fc2.com/blog-entry-93.html
2010/04/02(金) 06:33 | URL | 管理人 -暁- #6XGrrLw2[ 編集]
初めましてこんばんは。
MX等の、L字テロップの除去のスクリプトを紹介して頂けると
幸いです。
自分で始めたのですが、AviSynthを使い始めたばかりの
人間にはレベルが高い作業でした。
2010/08/16(月) 22:16 | URL | #-[ 編集]
あーL字ですか・・・おそらく最近あった「みつどもえ」ですかね
L字処理に関して私は詳しくないので、他の放送局で補うか、
再放送またはDVDやbul-rayを待つことにしています。
処理がすごくめんどくさいのと、どうしても微妙におかしくなる部分が残るからです
お力になれずに申し訳ないです。
時間があれば、うまくできる方法を探したり研究したりしてみます
2010/08/22(日) 21:56 | URL | 暁 #6XGrrLw2[ 編集]
このコメントは管理者の承認待ちです
2011/10/31(月) 10:00 | | #[ 編集]
> すいません
> すごく基本的なことで申し訳ないのですがItsなどを使うときの24fps,30fps,60fpsの判定はどのようにすればいいのでしょうか?(どのフレームからどのフレームまでが30fpsだといった判定はどうすればいいかということです)

返事遅くて申し訳ないです。最近仕事忙しくて・・・
もう解決されたかもしれませんが答えますね。
ページにも例が書いてありますが、Defファイル内で記述するのです。
別途メモ帳を作成して、その中にDefファイル記述例のように記載します。

ここが範囲指定場所です。
0-3831[24]: tivtc (0から3831は24fpsでやれって処理)
3832-4304[60]: tdeint (3832-4304は60fpsでやれって処理)
4305-42551[24]: tivtc (4305から42551は24fpsでやれって処理)

記載が終わったらメモ帳の拡張子を.defに変更してくださいね。
後は、avsファイル内の記述にitsでこのdefファイルを指定してあげればOKです
エンコード実行して出来上がると、mp4ファイルとtmcファイルが出来上がります
最後に、dtseditで出来上がったmp4ファイルにtmcファイルを適用させてあげればいいのです。

2011/11/12(土) 12:16 | URL | 暁 #-[ 編集]
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://daybreakdeath.blog66.fc2.com/tb.php/92-56a9cef8
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。