Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 1st January 2010, 03:27   #1  |  Link
flebber
Practising Schemer
 
Join Date: Feb 2008
Location: Newcastle, Australia
Posts: 791
Noise removal VCR Capture

I have started to convert some old videos I own to X264 files. I am capturing the files via Virtualdub and FFdshow mjpeg codec with the dscaler FLT_temporalcomb filter enabled.

I am trying to use avisynth when converting to x264. I am using a basic set of filters to try and remove noise, the results are okay but not great. Was hoping for any opinions on filter combinations you may have had success with.

My current filter:
Code:
DeGrainMedian(limitY=3,limitUV=4,mode=3,norow=true)
DeGrainMedian(limitY=3,limitUV=4,mode=3,norow=true)
VagueDenoiser(threshold=0.8, method=1, nsteps=6, chromaT=0.8)
asharp(1.75,4.0,0.25,hqbf=true)
results in this output.
and
flebber is offline   Reply With Quote
Old 1st January 2010, 11:21   #2  |  Link
flebber
Practising Schemer
 
Join Date: Feb 2008
Location: Newcastle, Australia
Posts: 791
Any other recommendations other than DegrainMedian ? Or should I use Degrainmedia via avisynth when capturing will this better eliminate the noise?

Last edited by flebber; 1st January 2010 at 12:00.
flebber is offline   Reply With Quote
Old 1st January 2010, 12:01   #3  |  Link
thetoof
Sleepy overworked fellow
 
Join Date: Feb 2008
Location: Maple syrup's homeland
Posts: 933
temporaldegrain with user-specified prefiltered clip, fft3dfilter with adaptive sigmas or dfttest for denoising

lsfmod for sharpening, but you need dehaloing (like dehalo_alpha) before
__________________
AnimeIVTC() - v2.00
-http://boinc.berkeley.edu/-
Let all geeks use their incredibly powerful comps for the greater good (no, no, it won't slow your filtering/encoding :p)
thetoof is offline   Reply With Quote
Old 1st January 2010, 15:03   #4  |  Link
flebber
Practising Schemer
 
Join Date: Feb 2008
Location: Newcastle, Australia
Posts: 791
Thanks, trying a few pf the filters on a test clip now
flebber is offline   Reply With Quote
Old 1st January 2010, 22:30   #5  |  Link
markanini
Registered User
 
Join Date: Apr 2006
Posts: 299
Quote:
Originally Posted by flebber View Post
Thanks, trying a few pf the filters on a test clip now
thetoof's advice seems wise. Please post some shots of your results.
markanini is offline   Reply With Quote
Old 3rd January 2010, 06:25   #6  |  Link
flebber
Practising Schemer
 
Join Date: Feb 2008
Location: Newcastle, Australia
Posts: 791
Quote:
Originally Posted by markanini View Post
thetoof's advice seems wise. Please post some shots of your results.
I will post results not intending to be rude, I haven't used some of thee scripts thetoof suggested and they are giving errors which I need to figure out.

Dehalo_alpha errors that expand is an invalid function.

LSFmod errors that mode 19 in the below section of the script is an invalid mode.

Code:
sharpdiff = mt_lutxy(sharpdiff,sharpdiff.removegrain(19,-1),
\                    "x 128 - abs y 128 - abs > y "+string(soft)+" * x "+string(100-soft)+" * + 100 / x ?",U=1,V=1)
I have changed it to below to get it working though I not sure thats what they intended.
Code:
sharpdiff = mt_lutxy(sharpdiff,sharpdiff.RemoveGrain(mode=2).RemoveGrain(mode=2),
\                    "x 128 - abs y 128 - abs > y "+string(soft)+" * x "+string(100-soft)+" * + 100 / x ?",U=1,V=1)

Last edited by flebber; 3rd January 2010 at 06:29.
flebber is offline   Reply With Quote
Old 3rd January 2010, 06:37   #7  |  Link
markanini
Registered User
 
Join Date: Apr 2006
Posts: 299
No obiligation flebber just a personal wish. I'm guessing you have an issue lsfmod due to incorrect masktools version. Make sure you have v2.0a35 in your plugin directory. No idea about Dehalo_alpha but I'd do a forum search for updated versions of the script.
markanini is offline   Reply With Quote
Old 3rd January 2010, 06:58   #8  |  Link
flebber
Practising Schemer
 
Join Date: Feb 2008
Location: Newcastle, Australia
Posts: 791
I had masktools 2.0a36 I will change it to 35
flebber is offline   Reply With Quote
Old 3rd January 2010, 12:16   #9  |  Link
LaTo
LaTo INV.
 
LaTo's Avatar
 
Join Date: Jun 2007
Location: France
Posts: 701
Quote:
Originally Posted by flebber View Post
I had masktools 2.0a36 I will change it to 35
You should use v2.0a36 but you only need mt_masktools-25.dll and not mt_masktools-26.dll (delete this one)
LaTo is offline   Reply With Quote
Old 3rd January 2010, 12:40   #10  |  Link
flebber
Practising Schemer
 
Join Date: Feb 2008
Location: Newcastle, Australia
Posts: 791
Quote:
Originally Posted by LaTo View Post
You should use v2.0a36 but you only need mt_masktools-25.dll and not mt_masktools-26.dll (delete this one)
Thanks and you have got the up to date LSFmod in your signature too. Bonus.
flebber is offline   Reply With Quote
Old 3rd January 2010, 23:38   #11  |  Link
flebber
Practising Schemer
 
Join Date: Feb 2008
Location: Newcastle, Australia
Posts: 791
TemporalDegrain(degrain=1, ov=2, hq=1).dfttest(sigma=1.2).BlindDeHalo3(2.00,2.00,100,ppmode=-3).LSFmod()
flebber is offline   Reply With Quote
Old 4th January 2010, 01:51   #12  |  Link
markanini
Registered User
 
Join Date: Apr 2006
Posts: 299
pretty good results your getting there. degrainmedian is good for what it is but nothing looks as clean and natural as mdegrain and derived scripts. did you try upping degrain and ov? that might just make dffttest reduant if your source allows for it. Yours seem to be a tough case for edge ringing, wish I could help more with that but i don't have much experince with blinddehalo etc. I do think ringing is a bigger problen than haloing in you source. Maybe try edgecleaner in mctemporaldenoisepp? I belive it's the latest and greatest of it's kind.
markanini is offline   Reply With Quote
Old 8th January 2010, 14:11   #13  |  Link
flebber
Practising Schemer
 
Join Date: Feb 2008
Location: Newcastle, Australia
Posts: 791
Quote:
Originally Posted by markanini View Post
pretty good results your getting there. degrainmedian is good for what it is but nothing looks as clean and natural as mdegrain and derived scripts. did you try upping degrain and ov? that might just make dffttest reduant if your source allows for it. Yours seem to be a tough case for edge ringing, wish I could help more with that but i don't have much experince with blinddehalo etc. I do think ringing is a bigger problen than haloing in you source. Maybe try edgecleaner in mctemporaldenoisepp? I belive it's the latest and greatest of it's kind.
Definitely looking at other options to replace dfftest too. On my system it is very slow.
flebber is offline   Reply With Quote
Old 8th January 2010, 23:12   #14  |  Link
flebber
Practising Schemer
 
Join Date: Feb 2008
Location: Newcastle, Australia
Posts: 791
You were definitely right with the edgeclean theory on this one. This filter setup worked a charm

Quote:
TemporalDegrain(degrain=1, ov=2, hq=1)
fft3dfilter(sigma=2.75, plane=3, bt=5, bw=32, bh=32)
MCTemporalDenoise(settings="low", edgeclean=true, ecrad=4, stabilize=true, maxr=2)
LSFmod()
flebber is offline   Reply With Quote
Old 9th January 2010, 06:21   #15  |  Link
R3Z
Silver Über Alles
 
R3Z's Avatar
 
Join Date: Aug 2006
Location: Australia
Posts: 269
Mate, check the videos you are about to convert arent on rage first!

www.abc.net.au/rage

In regards to your filtering, how many fps are tyou getting ? The filtering looks like overkill for such videos.
R3Z is offline   Reply With Quote
Old 9th January 2010, 12:07   #16  |  Link
flebber
Practising Schemer
 
Join Date: Feb 2008
Location: Newcastle, Australia
Posts: 791
Quote:
Originally Posted by R3Z View Post
Mate, check the videos you are about to convert arent on rage first!

www.abc.net.au/rage

In regards to your filtering, how many fps are tyou getting ? The filtering looks like overkill for such videos.
Dfftest was killing me its not much better without. Rage is a good idea but these are full band video's screaming jets - insanitary, anthrax persistence of time, cult - pure cult etc.

Any advice on filters gladly accepted, the one above is slow but the result was good.
flebber is offline   Reply With Quote
Old 9th January 2010, 23:29   #17  |  Link
markanini
Registered User
 
Join Date: Apr 2006
Posts: 299
I've had good experiences with mctemporaldenoise at medium or high presets on sources that look like yours. That would make the other denoisers redundant and you could use 'gpu=true' which would further decrease processing time if you have a relatively modern video card. Running different denoisers on top of each other can lead to weird motion and loss of details, Mctemporaldenoise is really good at balancing detail/noise.
markanini is offline   Reply With Quote
Old 10th January 2010, 06:56   #18  |  Link
R3Z
Silver Über Alles
 
R3Z's Avatar
 
Join Date: Aug 2006
Location: Australia
Posts: 269
I would give the following a try (the TempGaussMC or YadifMod with Nnedi2 are only valid if its interlaced video);

Code:
TempGaussMC_beta1(blocksize=16,edimode="nnedi2",tr0=1,tr1=1,tr2=1,sovs=0,svthin=0,sharp=0)

#~ yadifmod(order=1, mode=1, edeint=nnedi2(field=3,threads=2)) Try either of these ! TempGauss is better but slower.


super = MSuper(pel=2, sharp=2)
backward_vec2 = super.MAnalyse(isb = true, delta = 2, overlap=8,blksize=16)
backward_vec1 = super.MAnalyse(isb = true, delta = 1, overlap=8,blksize=16)
forward_vec1 = super.MAnalyse(isb = false, delta = 1, overlap=8,blksize=16)
forward_vec2 = super.MAnalyse(isb = false, delta = 2, overlap=8,blksize=16)
MDegrain2(super, backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400)

LimitedSharpenFaster(Strength=35,smode=3,soft=25)
I usually add some noise back in at the end, otherwise the videos tend to look lifeless and stale (a processed look).
R3Z is offline   Reply With Quote
Old 10th January 2010, 07:17   #19  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
Also, if you do dehaloing, follow thetoof's advice and use Dehalo_Alpha. It really beats the pants off any current alternatives in regards of detail retention (not-detail-massacre actually) and actual halo removal.
__________________
Read Decomb's readmes and tutorials, the IVTC tutorial and the capture guide in order to learn about combing and how to deal with it.
Chainmax is offline   Reply With Quote
Reply

Tags
avisynth, filter, noise, removal, vcr

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 20:10.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.