やみあがり

復活してきたので、ちょくちょく細かいタスクを潰してみたり

初代PSくんの動作確認

画面表示&CDドライブが何らかで動かないでFAぽい(アーめんどい奴)

Nextcloudアプデ

18.0.7から19.0.4にしたら19.0.4からphpのgmpとかもう1個なんか必要になる(まあ例によってWUIにでるので……)のでいれておわり
まだphp7.3ですけどそろそろ更新視野に入れた方がよさそう

病みあがりの感想

Twitterあんまりみないで過ごしてたけど全然そっち方面の消耗を感じなかったのでもうこれでいいかな。おたくたちは自己を表現するために早くブログを書く時代に戻るんだ

続ブレンド学

2ClipでのBlendはFlexibleMergeが最適解だとは僕は思ってるんですがこの世にはそれ以上でないと満足出来ない層、いると思うんですよ。かといって4も8もFlexibleMergeでトーナメント式で混ぜていくとボケる

ので3Clip用意してコーミングノイズ評価して最も悪かったClipを捨ててFlexibleMergeにする関数です。ちなみにAutoFrameSelect_Fastを参考にさせて頂きました。というより完全にそれを原理を利用した応用という名のパクりですね。これを8Clipぐらいかき集めて4Clipまたは2ClipからのFlexibleMergeの結果を返せたらいいねというのはあります


function AutoFrameSelect_Fast2(clip v1, clip v2,  clip v3) {
global sv1=v1.Combcheck()
global sv2=v2.Combcheck()
global sv3=v3.Combcheck()
v12_r=ConditionalFilter(v1, v1, v2, "AverageChromaV(sv1)", "<", "AverageChromaV(sv2)")
global sv12_r=v12_r.Combcheck()
v12=ConditionalFilter(v1, v1, v2, "AverageChromaV(sv1)", ">", "AverageChromaV(sv2)")
v123=ConditionalFilter(v12_r, v12_r, v3, "AverageChromaV(sv12_r)", ">", "AverageChromaV(sv3)")
return flexiblemerge(v12,v123,nmax=5)
}

実写コンテンツなどの60i素材で利用する場合はQTGMCなどのBob補完を通す前に使った方がいいです。フィールド単位でClipを選択出来るので。以下、例

a=AVISource("Source-A.avi",pixel_type="YV12").assumetff().separatefields()
b=AVISource("Source-B.avi",pixel_type="YV12").assumetff().separatefields()
c=AVISource("Source-C.avi",pixel_type="YV12").assumetff().separatefields()

SetMemoryMax(2048, type=DEV_TYPE_CUDA)
SetMemoryMax(4096, type=DEV_TYPE_CPU)
Autoframeselect_fast2(a,b,c)
weave()
onCPU(2).KTGMC("slower",SourceMatch=3, Lossless=2, tr0=2, tr1=2, tr2=2).onCUDA(2)
#別にSlowerならtr系は無指定でも良いとは思う

画質的にいえば、従来の手法(FlexibleMergeのみを用いた手法)で2Clip以上3Clip以下かなと思います。が、2Clip分の副作用で3Clipの力を利用出来るのは非常に強力です。

左:FlexibleMerge(3Clip) 右:AutoFrameSelect_Fast2(3Clip)

全体的にはFlexibleMerge(3Clip)の方が均されてる関係でノイズ類はきれいですが極端に汚いClipを1Clipだけとはいえ脱落させることが出来るので、効率よく良いところだけ拾うことが出来てるのではないのかなと感じます。きれいなところはきれいなClipのみで、ノイズが目立つところだけ全Clipの様な感じでうまく振り分け出来ればもう少しきれいになるのではないのかなと思います。

結局エンコード日記になってしまいましたが、やっぱりやることやらんとやってられないですね。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください