View Full Version : Fft3dfilter and washed out saturation


anton_foy
18th September 2021, 20:54
Hello, I have tried to find any answers to why fft3dfilter of chroma result in such a washed out chroma but I cannot find anywhere why or how.
I have seen this occur with hqdn3d and other denoisers aswell but not as severe. Is there a way to compensate this in a more sophisticated way than to add saturation afterwards or is the only way to use another filtering technique? Thanks.

StainlessS
19th September 2021, 00:03
Plane=0 only processes Luma, so should be no different.
[0 Y, 1 U, 2 V, 3 U+V, 4 Y+U+V, IIRC]

anton_foy
19th September 2021, 12:03
Plane=0 only processes Luma, so should be no different.
[0 Y, 1 U, 2 V, 3 U+V, 4 Y+U+V, IIRC]

I think you misunderstand what I meant and maybe I was unclear. I mean that when processing chroma with FFT3D the image loose saturation and gives a very "dull" look afterwards which other denoiser does not (fluxsmooth, mdegrain, temporalsoften for example) when chroma is processed. Why is this and is there a way to work around it or compensate for it instead of just cranking up the saturation after?

kedautinh12
19th September 2021, 12:27
I think you use DFTTest or neo-dfttest replace fft3dfilter. They will produce better

anton_foy
19th September 2021, 13:18
I think you use DFTTest or neo-dfttest replace fft3dfilter. They will produce better

Thank you yes I agree but fft3d is alot faster and if there is a fix or workaround for the saturation/dullness problem I would like to know.

Boulder
19th September 2021, 17:15
Since FFT3DFilter doesn't seem to have a separate setting for sigma strength of the UV channels, you probably need to use MergeChroma to compensate if the effect is too strong.

I.e. something like this:
w = 0.5
denoised = FFT3DFilter(sigma=3, plane=4)
MergeChroma(last, denoised, weight=w)

anton_foy
20th September 2021, 07:57
Since FFT3DFilter doesn't seem to have a separate setting for sigma strength of the UV channels, you probably need to use MergeChroma to compensate if the effect is too strong.

I.e. something like this:
w = 0.5
denoised = FFT3DFilter(sigma=3, plane=4)
MergeChroma(last, denoised, weight=w)

Thanks I will try that!

StainlessS
20th September 2021, 14:47
You can also do luma and chroma separately

YS=...
CS=...
c=c.FFT3DFilter(sigma=YS,plane=0)
c=c.FFT3DFilter(sigma=CS,plane=3)

or even

YS=...
US=...
VS=...
c=c.FFT3DFilter(sigma=YS,plane=0)
c=c.FFT3DFilter(sigma=US,plane=1)
c=c.FFT3DFilter(sigma=VS,plane=2)

where non selected planes are just copied, at each step.

anton_foy
20th September 2021, 15:09
You can also do luma and chroma separately

YS=...
CS=...
c=c.FFT3DFilter(sigma=YS,plane=0)
c=c.FFT3DFilter(sigma=CS,plane=3)

or even

YS=...
US=...
VS=...
c=c.FFT3DFilter(sigma=YS,plane=0)
c=c.FFT3DFilter(sigma=US,plane=1)
c=c.FFT3DFilter(sigma=VS,plane=2)

where non selected planes are just copied, at each step.

Thanks StainlessS! Yes now I was more thinking generally that FFT3D desaturates or dull down the color and "vividness" (if that is a word?).
I guess a little of the same effect as if you would blur the chroma mergechroma(fastgaussblur=10) or so. I can show before/after comparison to demonstrate what I mean later today. Maybe this is just how spatial softening affects the colors usually.

StainlessS
20th September 2021, 15:20
Maybe post before and after images [load in vdub2, Export single image as png, upload to PostImage.org, without an account, post on D9 using "Hotlink for forums" link].
So others with good eyes can see diff.
I've never noticed any difference.
Also post your complete used script.
Also say what version FFT3DFilter your using, and also if latest version of the system required fftw3.dll [or libfftw3f-3.dll, same file, different name].

Boulder
20th September 2021, 20:48
I used to use FFT3DFilter for getting rid of DV chroma noise. It was quite effective so it's no wonder if it ends up flattening colors.

StainlessS
20th September 2021, 21:05
Arh, well I only use it with about sigma=1.5 -> 1.8. (usually)

anton_foy
20th September 2021, 22:34
Maybe post before and after images [load in vdub2, Export single image as png, upload to PostImage.org, without an account, post on D9 using "Hotlink for forums" link].
So others with good eyes can see diff.
I've never noticed any difference.
Also post your complete used script.
Also say what version FFT3DFilter your using, and also if latest version of the system required fftw3.dll [or libfftw3f-3.dll, same file, different name].

Check this link's before and after images:
https://forum.doom9.org/showpost.php?p=1952770&postcount=39

Used FFT3Dfilter ver2.9

Script:

FFVideoSource("F:\...mp4")
Deblock_QED(quant1=26, aOff1=1, aOff2=1, bOff1=2, bOff2=2, uv=3)
convertbits(16)
Levels(0, 1, 65280, 0, 235*256, coring=false, dither=false)
hqmc_exl(lt=9,ct=12,cs=6,sigma=1.9)
neo_f3kdb(range=15, Y=45, Cb=30, Cr=30, grainY=0, grainC=0, sample_mode=2, blur_first=true, dynamic_grain=false, mt=true)
ConverttoYUV444()
ConvertBits(bits=10, dither=1)