PDA

View Full Version : Home video - Combine Stabilize and denoise - How?


chrishallowell
6th September 2007, 16:38
Hi experts,
I need to stabilize and denoise (And color adjust) my home videos.
Capture method: Camcorder ----S-Video--->DVDRecorder--->VOB
It is NTSC, Top Field first interlaced.
The source is: HomeVideo.d2v
The target medium is DVD NTSC interlaced.

Here is what I want to use. I'm just not sure how to put it all together in 1 script....

DEINTERLACE using Yadif

COLOR adjustment using YlevelsS(0, 1.2, 255, 0, 255)

STABILIZE using motion compensation and depanStabilize:
mdata=DePanEstimate(last)
DepanStabilize(last, data=mdata,initzoom=1.2, addzoom=false, zoommax=1.5,prev=1,dxmax=120,dymax=60,rotmax=5,pixaspect=0.911)

DENOISE using motion compensation and dfttest:
vf1=noisy.mvanalyse(pel=2,blksize=8,isb=false,idx=1,overlap=4,sharp=2,truemotion=true)
vf2=noisy.mvanalyse(pel=2,blksize=8,isb=false,idx=1,delta=2,overlap=4,sharp=2,truemotion=true)
vb1=noisy.mvanalyse(pel=2,blksize=8,isb=true,idx=1,overlap=4,sharp=2,truemotion=true)
vb2=noisy.mvanalyse(pel=2,blksize=8,isb=true,idx=1,delta=2,overlap=4,sharp=2,truemotion=true)
interleave(\
mvcompensate(noisy,vf2,idx=1,thSCD1=800)\
, mvcompensate(noisy,vf1,idx=1,thSCD1=800)\
, noisy\
, mvcompensate(noisy,vb1,idx=1,thSCD1=800)\
, mvcompensate(noisy,vb2,idx=1,thSCD1=800))
dfttest(sigma=3.6,bsize=8,osize=6,ssr=0,tsr=2,max2dblocks=5)
selectevery(5,2)

INTERLACE: Not sure how to reinterlace it :confused:

Thanks,
Chris

Didée
6th September 2007, 17:42
Interesting. Can't remember that tritical ever had made dfttest available for public.


Mpeg2Source("HomeVideo.d2v")

#DEINTERLACE using Yadif
Yadif(mode=1) # or 3

#COLOR adjustment using YlevelsS
YlevelsS(0, 1.2, 255, 0, 255)

#STABILIZE using motion compensation and depanStabilize:
mdata=DePanEstimate(last)
DepanStabilize(last, data=mdata,initzoom=1.2, addzoom=false, zoommax=1.5,prev=1,dxmax=120,dymax=60,rotmax=5,pixaspect=0.911)
noisy=last

#DENOISE using motion compensation and dfttest:
vf1=noisy.mvanalyse(pel=2,blksize=8,isb=false,idx=1,delta=1,overlap=4,sharp=2,truemotion=true)
vf2=noisy.mvanalyse(pel=2,blksize=8,isb=false,idx=1,delta=2,overlap=4,sharp=2,truemotion=true)
vb1=noisy.mvanalyse(pel=2,blksize=8,isb=true, idx=1,delta=1,overlap=4,sharp=2,truemotion=true)
vb2=noisy.mvanalyse(pel=2,blksize=8,isb=true, idx=1,delta=2,overlap=4,sharp=2,truemotion=true)
interleave( mvcompensate(noisy,vf2,idx=1,thSCD1=800),
\ mvcompensate(noisy,vf1,idx=1,thSCD1=800),
\ noisy,
\ mvcompensate(noisy,vb1,idx=1,thSCD1=800),
\ mvcompensate(noisy,vb2,idx=1,thSCD1=800) )

dfttest(sigma=3.6,bsize=8,osize=6,ssr=0,tsr=2,max2dblocks=5,riddle=wheredidyougetthisfrom)
selectevery(5,2)

#INTERLACE: Not sure how to reinterlace it
SeparateFields().SelectEvery(4,0,3).Weave()

chrishallowell
6th September 2007, 22:36
Thanks Didee.
Isn't the script doing 2 motion compensating routines (IE: depanestimate and mvanalyse)? Is this needed or can they be combined into one?

About dfttest. I just saw in one of the posts that it was the best denoiser so I assumed it was available...

Thanks,
Chris