版面规则
提问时请注意:尽量详细描述操作过程、AVS脚本内容等,最好能写出片名,只贴图有时无法看出问题原因。
提示:发布原创内容请尽量使用附件上传。使用网盘会出现过期失效的问题,请注意。
海波湛蓝
帖子: 68
注册时间: 2011-02-24 21:39

[求教]遇到渣源,30p中随机混合“24t被二重化”的段子,求教有没有解法?

问题段落规律性地

3帧正常,2帧重影
或部分
4帧正常,1帧重影

请教众菊苣,不知是否有解法…


补充说明:

该dvd源为480p,似乎是24t的1080i录制后直接resize为480的。

晚上上图。
头像
vempx
管理猿
帖子: 146
注册时间: 2010-09-19 20:45

Re: [求教]遇到渣源,30p中随机混合“24t被二重化”的段子,求教有没有解法?

重影这个东西基本上是制作的过程中烂掉了,大概无解
不过我久远的记忆中貌似有plugin可以解二重化,似乎当年我在TMPGEnc里面看到过,AVS里有没有忘记了
这种烂源要么就地图炮轰,要么就TIVTC里面手动写ovr进行精细处理
就是个时间和效果的权衡了
在提问前还请仔细查阅公告帖以及各版置顶帖
相信置顶中也许会有您需要的内容


~My Blog~
头像
msg7086
帖子: 600
注册时间: 2011-02-19 0:49

Re: [求教]遇到渣源,30p中随机混合“24t被二重化”的段子,求教有没有解法?

直接resize的话应该无解吧,两场完全融合了。以前听说过一个词叫fieldblend,不知道能不能查到什么。
Delogo LGD Collections 各种台标下载 | Home Of VapourSynth Evolution

<回答が無い理由>
1. 誰も知らない
2. 質問文が意味不明
3. 知ってるが、お前の態度が気に入らない
4. 良いボケが思いつかない
头像
Billy Herrington
帖子: 83
注册时间: 2013-01-09 9:54

Re: [求教]遇到渣源,30p中随机混合“24t被二重化”的段子,求教有没有解法?

How to de-blend for blended 24t:

3:2 pulldown:
1a 1a 2a 3a 4a
1a 2b 3b 3b 4b

Now frame 2 and 3 are blended after blended IVTC.

If these two frame are purely blended ( Average(1a, 2b) and Average(2a, 3b) ):
blended_frame_1 = orig_frame_1
blended_frame_2 = (orig_frame_1 + orig_frame_2) / 2
Thus,
orig_frame_2 = blended_frame_2 * 2 - orig_frame_1 = blended_frame_2 * 2 - blended_frame_1

If you know masktools it is simply like this:
last = mt_average(a, b, U=3, V=3)
then:
a = mt_lutxy(last, b, "x 2 * y -", U=3, V=3)
b = mt_lutxy(last, a, "x 2 * y -", U=3, V=3)

So fix such blended IVTC using (assuming 3:2 pulldown from exact 1st frame in the section, or shift the frame number manually):
f_1 = SelectEvery(0, 5) # 1a and 1b
f_2 = SelectEvery(1, 5) # blended of 1a and 2b
f_3 = SelectEvery(2, 5) # blended of 2a and 3b
f_4 = SelectEvery(3, 5) # 3a and 3b
f_5 = SelectEvery(4, 5) # 4a and 4b

f_2 = mt_lutxy(f_2, f_1, "x 2 * y -", U=3, V=3) # Restore to 2b
f_3 = mt_lutxy(f_3, f_4, "x 2 * y -", U=3, V=3) # Restore to 2a

Now f_2 and f_3 should be same ( or similar but with field shift ). Decimate one of them like:
Interleave(f_1, f_2, f_4, f_5)
or if you would like to do manually ovr:
Interleave(f_1, f_2, f_3, f_4, f_5).TDecimate(ovr="deci-ovr.txt")

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

Limitations:
1. Blended IVTC must be accurately average(a, b), otherwise you need to analyse the weight by BlendWeight or similar tools. Blame the blenders.
2. We assume that 1a and 1b are same, but it may actually contain field shift. Fixes on that might be needed.
3. There might be rounded error, in both average and restore. Normally it might shift YUV value by no more than 1. If you're lucky enough it may also be 0 for all pixels. There's nothing we can do other than post-MC-temporal-smooth, but it is not a big problem for your eyes compared to blending.
4. I don't know if it still works after resizing = =

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

P.S.
1. There're some filters named Restore/Mrestore/Srestore/Exblend/... to do something similar, and with some PP, but may not be that accurate for purely half-half blended source like this one, and have many other limitations. Furthermore, I'd like to take control of the process of every single field and the process of decimation.
2. With some dirty blends, shifting and softening might be problems that you can never get rid of. Personally for some dirty sources I would like to use the above method to construct a reference frame, and use MVTools to construct final frame using the reference frame to get accurate timing in interpolation.

回到 “AviSynth”