Log in

View Full Version : Really strong denoiser for a really noise source


Kayaker
14th May 2008, 16:54
Hi there.

First of all I'll describe my source.

It's TV captured stuff, but with a lot of noise and rain/snow (white pixels). This is because it's behind 3 cable splitters and ther's some bad/faulty connection/bad shielded and a lot of interference gets in.
Gotta fix that, but the capture has been done.

And beside the snow there are diagonal wavy slowling moving lines of interference.

What strong denoiser can I use ( I don't care about losing much detail ) to remove it ?
And it must work with interlaced content. So I can clen ans afterwards deinterlace.

The only thing that came close to really clean up this was FFT3DFilter with a Sigma of 8 to 10.
Yes, that high !!!

But it's terribly slow.

I suppose there must be some alternative in this case that I don't care much about blurring a little bit but I want to remove the noise.

And after denoising which deinterlacing filter do you suggest ?
I'm using simple Fielddeinterlace()

Thanks a lot in advance.

jeffy
14th May 2008, 19:25
It would be good if you posted a short sample of the video.

Kayaker
14th May 2008, 21:01
You're right, I know.
I don't have it here at work. Tomorrow I'll bring here at work a sample.
BTW, what site to upload the sample do you recommend ? ( something like rapidshare I guess ? )

jeffy
14th May 2008, 21:16
mediafire

thetoof
15th May 2008, 04:44
If you want to remove a LOT of noise from crappy sources, I'd recommend TemporalDegrain + your own reference clip with FFT3DFilter... but it's very slow and doesn't work with interlaced material.

I'll wait to see your sample before I go further into this.

Blue_MiSfit
15th May 2008, 04:53
DeFreq is good at handling the diagonal interference lines.

FFT3DFilter is very powerful - check into fft3dgpu if you've got a decent graphics card. It will be a _lot_ faster.

You can make any denoiser work on interlaced content by doing SeparateFields first, but that can get dicey.

For deinterlacing I suggest never using fielddeinterlace. TDeint is a good "standard". MCBob for really demanding stuff, and YADIF(mod) for other stuff seems to be the consensus around here.

~MiSfit

Kayaker
15th May 2008, 17:40
Damn .. I brought the samples but can't upload to rapidshare, megaupload , mediafire because those sites are blocked in my work's proxy.

Gotta try the GPU version of FFT3DFilter, thanks for the tip.

Kayaker
15th May 2008, 20:00
Here are the samples :


Project
http://www.savefile.com/projects/808640879

Samples

http://www.savefile.com/files/1558855
http://www.savefile.com/files/1558860
http://www.savefile.com/files/1558866
http://www.savefile.com/files/1558869
http://www.savefile.com/files/1558871

Kayaker
16th May 2008, 11:13
I've found a very strange thing.

I was capping with ffdshow MJPEG a quality Q100 ( it gives me good compression ratio ).
I don't have disk space for Huffyuv and with the crappy quality it doesn't make sense.

Anyway, If I do


AviSource("Part4.avi",pixel_type="YUY2").AssumeTFF()

Separatefields().HorizontalREduceby2()


And see field by field I see some fields with the chroma of the next or previous field ?

It's nuts. How come this happened ?

I tested yesterday cappping with Morgan MJPEG and it was fine ( no wrong chroma ).

BTW, I've tested fft3dgpu but it's slower. My crappy Nvidia FX5200 it's no good.

yup
16th May 2008, 11:33
Kayaker!
Try MVDEgrain3 from MVTools http://www.avisynth.org.ru/mvtools/mvtools.html
for me is very good, if Your source interlacd You find script in doc.
yup.

Kayaker
16th May 2008, 11:55
I think I've tested it, but I'll give it a shot again. thanks for the tip.
I've tested so many stuff that my head was in pain and after a time I didn't know what I was doing.

I gotta recap with the right codecs.
Maybe all my tests were senseless with that wrong chroma issue.

You can see this wrong chroma in Part 4 (tiny upload) (http://s000.tinyupload.com/index.php?file_id=75822503611911460045) panning scene.

thetoof
21st May 2008, 04:27
If you thought that FFT3DFilter was already way too slow, nothing I'd like to suggest you will satisfy you :p

However, you can try using what Didée suggested as a cheap alternative for Temporal Degrain's reference clip... but without TD... and even more aggressive. Use higher minblur to be even crazier than me ;)

MinBlur(8).FluxSmoothT()

Kayaker
21st May 2008, 13:16
Gotta change that crappy machine. It's old as hell, and you buddys are making scripts and filters slower and slower and more CPU intensive all the time :-)

Will Tdeint(mode=2) be affected by much noise ?

So I can deinterlace first and then use progressive denoisers ?

Or is wiser denoise interlaced and then Tdeint(mode=2) ?

g-force
21st May 2008, 17:02
Use higher minblur to be even crazier than me ;)

MinBlur(8).FluxSmoothT()

Minblur (8) doesn't do anything more than MinBlur(3).

-G

thetoof
22nd May 2008, 02:01
When you denoise, you change things spatially, so the fields won't remain "nice clean lines". So, upon deinterlacing, you will most likely run into weird artifacts if you denoised before.
That being said, you have some issues regarding the interlacing in your clip. Some of your clip is running at 25p and some of it at 25i (or something else... but I'm not used to work with PAL, so I can't tell for sure, maybe this is what's called "field blended"... dunno)

Thanks g-force, didn't know about that (actuallly, I hadn't check the script before posting, I just used a random high value :p). However, after comparing the 2, the filtering is a LOT better with Minblur(3).fluxsmootht()... weird.

Kayaker
22nd May 2008, 12:12
Thank thetoof for the explanation.
So clearly is better denoise with an interlaced capable filter and the deinterlace.

Yes there are a lot of blended fields.
That's because crappy NTSC -> PAL conversion.

I've tried restore24 but ended encoding just like it is.
Blended frames are pretty hard to remove.

BTW, I've fixed the cable shielding problem and there's little noise now.

Only the usual crosstalk and rainbows. But no so much.