I have a Blu-Ray source that seems to have an unusually high amount of grain or color splotches all over. I have seen lots of older animated things with alot of grain, but this one seems ridiculous. I can reduce the grain at the cost of some detail loss, but whats with all the messed up looking colors as well? Those color splotches do not seem to get reduced much even with strong grain removal. Its almost as if it was compressed way too much or something on the Blu-Ray.
Can I clean this up without heavy DNR, or at least make all that heavy grain and colors that are moving moving, blend in better with dithering or something? It's very distracting seeing all that moving around rapidly over everything.
Here are some example images.
+ Reply to Thread
Results 1 to 18 of 18
For low levels of noise removal (like general film noise) I just like to use qtgmc in progressive mode. It will temporally smooth it and slightly sharpen it.
QTGMC( Preset="Slow", InputType=1 )
If you're going to use QTGMC add EZDenoise=2.0 and DenoiseMC=true:
QTGMC( Preset="Slow", InputType=1, EZDenoise=2.0, DenoiseMC=true)
Other possibilities include TemporalDegrain(), MCTemporalDenoise(), TNLMeans(), etc.
Last edited by jagabo; 11th Apr 2018 at 18:01.
I'm not going to use QTGMC for denoising. I have MCTemporalDenoise for that job and that's what I was trying out before I even asked about this. Problem is, its not really getting rid of what I was hoping to. I can reduce grain with a sigma setting of 4-6, but I make it so strong that the video is getting a lot of detail loss. I was asking about doing without strong DNR.
I reduced it with a setting of sigma=2 to help keep details and get a slight cleanup, but it looks like there's a lot of color splotches/speckles in with the grain. ((Not sure of the technical term)) Even smudged to hell with a strong sigma setting and grain lessened, I still notice all those other colors or specks on there. The most obvious are the yellowish ones or purple/blue ones. That's what I really want to clean up, even more so than the grain.
Would dithering add grain that would cover the moving grain and make it appear to be moving around less as a result? I have not really used dithering so I am not a professional with it. I just know it's usually used to help cover up banding.
Try stronger noise reduction on the chroma, less on the luma. As usual, a sample of your video will get you more specific help.
Last edited by jagabo; 11th Apr 2018 at 21:29.
Here is a sample clip
I'll look at the clip later when I have time. But to apply different filtering to luma and chroma:
luma = SomeFilter() chroma = SomeDifferentFilter() MergeChroma(luma, chroma)
Do you find this acceptable? There's a little detail loss but it's much cleaner.
My suggestion for basic progressive QTGMC was more for removing finer film noise but that sample has some pretty aggressive noise. It looks to be a mixture of film noise and also the noise from a hot image sensor used to capture the film to digital, as a hot senor is also a noisy sensor.
After messing around with a few filters, I liked how the below turned out.
TemporalDegrain(degrain=3, ov=4, blksize=16, gpu=true)
Well here are the final results of both of your suggestions.
KARMA SAD1&2 GHOSTING REDUCED (SAD1=150, SAD2=100)
Karma, yours cleans it well but it introduces ghosting. I reduced the sad1 and sad2 like the readme said and it seems to have stopped the ghosting or reduced it to where I barely notice it at all, but the cleaning power is drastically reduced. It still seems to clean what I wanted better than mctemporaldenoise, even if it does more damage to details than mctemporaldenoise.
Jagabo, yours appears to have obliterated the video and removed entire things completely. It cleaned it well, but that damage is too extensive for my liking. I suppose I can play around with parameters and see if I can get it more to my liking, which I intend to do, but I am just going off of what was suggested for the examples.
It appears I will just have keep playing with the two or deal with the added grain by reducing to 720p and then try reducing it with less strength. Thanks for the suggestions.
Yes, the extremely strong filtering I did will cause loss of detail -- especially in dark, low contrast areas. The sample you provided didn't have any dark shots like that.
If you want to play with the script you may want to break it into two processes. MCTemporalDenoise() to a lossless intermediate, then TTempSmooth(). That should be much faster.
Last edited by jagabo; 15th Apr 2018 at 21:39.
I was cleaning out my temp folder and saw your video. It's probably too late now but I forgot to mention this before: the noise in the video's U channel is much worse than the noise in the V channel. You might go back to my earlier suggestion of applying stronger noise reduction to the chroma than the luma. Something along the lines of:
Y = TemporalDegrain(SAD1=150, SAD2=100, degrain=3, ov=4, blksize=16, gpu=false) U = UtoY().TemporalDegrain(SAD1=400, SAD2=300, degrain=3, ov=4, blksize=16, gpu=false).HQDN3D(ls=4.0, lt=0, ct=0) V = VtoY().TemporalDegrain(SAD1=200, SAD2=150, degrain=1, ov=4, blksize=16, gpu=false).HQDN3D(ls=4.0, lt=0, ct=0) YtoUV(U, V, Y)
Last edited by jagabo; 27th Apr 2018 at 13:13.