IVTC小技巧 画中画的处理方法
发表于 : 2010-09-21 14:56
画中画是映像特典、片头片尾中经常出现的表现手法。但很多时候叠加制作画中画都是telecine之后,因此常常出现画中画和背景pattern不同的情况,没有办法IVTC,只能deinterlace。同时,两方的动态也很难统一起来,造成两边动态都不流畅。今天介绍一个小把戏,可以让两边都实现自动IVTC。
整体的思路是,将两边的画面分离,分别IVTC,再重新overlay到一起。但这时就出现一个问题,那就是画中画部分的画面还好说,用crop切出来、IVTC就可以。背景的IVTC因为有画中画干扰,自动处理又不能指定画面范围,所以很难办。所以,这个技巧中最重要的一环就是排除前景对于背景IVTC的干扰。
原始画面: 首先用crop把前景切出来、IVTC:然后,用BlankClip生成一个等大的黑色画面、用overlay盖在原本画中画的位置、将这个画面送去IVTC:
之后再把IVTC完成的两个画面重新overlay到一起:
就大功告成了。
全部代码:
整体的思路是,将两边的画面分离,分别IVTC,再重新overlay到一起。但这时就出现一个问题,那就是画中画部分的画面还好说,用crop切出来、IVTC就可以。背景的IVTC因为有画中画干扰,自动处理又不能指定画面范围,所以很难办。所以,这个技巧中最重要的一环就是排除前景对于背景IVTC的干扰。
原始画面: 首先用crop把前景切出来、IVTC:
代码: 全选
s = MPEG2Source(d2v).trim(420,719)
box = s.crop(142,88,432,308).tfm(mode=3, pp=0, slow=2, chroma=true).tdecimate(mode=1)
代码: 全选
black = BlankClip(300, 432, 308, "YV12", s.framerate).killaudio
background = overlay(s, black, 142, 88).tfm(mode=3, pp=0, slow=2, chroma=true).tdecimate(mode=1)
代码: 全选
overlay = overlay(background, box, 142, 88)
return overlay
全部代码:
代码: 全选
s = MPEG2Source(d2v).trim(420,719)
box = s.crop(142,88,432,308).tfm(mode=3, pp=0, slow=2, chroma=true).tdecimate(mode=1)
black = BlankClip(300, 432, 308, "YV12", s.framerate).killaudio
background = overlay(s, black, 142, 88).tfm(mode=3, pp=0, slow=2, chroma=true).tdecimate(mode=1)
overlay = overlay(background, box, 142, 88)
return overlay