View Full Version : Need some denoise/degrain help
nibus
18th June 2010, 00:08
Hi guys, I could use some help denoising my Wolverine bluRay. It's very grainy and what I usually use isn't cutting it.
I usually just apply a light MVdegrain via this SMDegrain script:
http://forum.doom9.org/showthread.php?t=152326&highlight=smdegrain
It does a great job at light denoising and is also pretty fast.
LoadPlugin("C:\Apps\Multimedia\Video\MeGUI\tools\dgavcindex\DGAVCDecode.dll")
AVCSource("F:\Encode\BluRay\X4\X4.dga")
crop( 0, 132, 0, -132)
Spline36Resize(1280,544) # Spline36 (Neutral)
SMDegrain(tr=1, thSAD=200)
Most of my BluRays have worked fine with a value of 200, but this one is particularly grainy and could use a higher value:
SMDegrain(tr=1, thSAD=200)
http://dl.dropbox.com/u/5637223/wolverine_thSAD200.png
But unfortunately when I raise the value higher than 200 it adds blockiness to the picture during fast motion scenes (present with 1080p and resized 720p):
SMDegrain(tr=1, thSAD=400)
http://dl.dropbox.com/u/5637223/wolverine_thSAD400.png
I don't want to obliterate the grain and detail, but I would like to be able to increase the denoising higher than the thSAD=200 screenshot shows.
I don't know a whole lot of denoising techniques so I'd really appreciate some help from you encoding wizards. :cool:
Here is the 1080p clip from which those screenshots were taken:
http://dl.dropbox.com/u/5637223/wolverine.demuxed.264
Any help would be much appreciated! :)
onesloth
18th June 2010, 00:34
Did you try keeping the thSAD at 200 and using a tr of 2 or 3?
nibus
18th June 2010, 00:45
Did you try keeping the thSAD at 200 and using a tr of 2 or 3?
Yeah I did, the tr=2 and tr=3 both still add blockiness even when set at lower values like 200. Plus they are much much slower. (I try to keep things crunching at somewhere around 5-6 fps with really high x264 settings)
tr=2:
http://dl.dropbox.com/u/5637223/tr%3D2.png
tr=3:
http://dl.dropbox.com/u/5637223/tr%3D3.png
onesloth
18th June 2010, 00:52
How about a pre-filtered analysis clip and then use your original settings? I can give you a script if you need one.
Didée
18th June 2010, 00:53
It seems that SMDegrain uses a default overlap=2 with blksize=8.
Increase to overlap=4.
Consider using blksize=16,overlap=8.
BigDid
18th June 2010, 01:01
Hi,
Hi guys, I could use some help denoising my Wolverine bluRay. It's very grainy and what I usually use isn't cutting it.
I usually just apply a light MVdegrain via this SMDegrain script:
...
SMDegrain(tr=1, thSAD=200)
But unfortunately when I raise the value higher than 200 it adds blockiness to the picture during fast motion scenes (present with 1080p and resized 720p):
...
I don't want to obliterate the grain and detail, but I would like to be able to increase the denoising higher than the thSAD=200 screenshot shows.
I agree with onesloth, begin with trying tr=2 or tr=3 (I usuallly prefer using tr=3 but could be a matter of taste).
Difference will be slower (tr=2) to even more slower (tr=3) with very good to good details retention.
Smdegrain uses Mvtools/Mdegrain processing 1 frame before/after (tr1), 2 frames (tr2) or 3 frames(tr3).
If not enough, you can also increase the thsad to 300/400/500 or higher if needed (I just stop around 500);
With theses values, blocking is not uncommon; if so and if you encode with x264, try increasing the noise/deblocking parameter (if it was -2,-2 try 0,0 and so forth) if not x264, try some deblocking function or script.
Did
Edit: Didée's approach is also to consider; I just wanted to stay simple :)
nibus
18th June 2010, 01:52
How about a pre-filtered analysis clip and then use your original settings? I can give you a script if you need one.
I wish I knew how to do this... I'll do some searching on the subject.
It seems that SMDegrain uses a default overlap=2 with blksize=8.
Increase to overlap=4.
Consider using blksize=16,overlap=8.
That fixed it! It did exactly what I was looking for:
http://dl.dropbox.com/u/5637223/blksize%3D16.png
Thanks Didée and everyone for your quick suggestions! :D Where can I donate?
Motenai Yoda
18th June 2010, 07:08
tr2 should be more artifacts-free also u can try fft3dfilter(sigma=2.0,sharpen=0.5) or fft3dgpu(sigma=2.0,precision=0,mode=1,sharpen=1)
nibus
18th June 2010, 07:32
tr2 should be more artifacts-free also u can try fft3dfilter(sigma=2.0,sharpen=0.5) or fft3dgpu(sigma=2.0,precision=0,mode=1,sharpen=1)
Thanks I'll check those out.
I have one more question for you pros - do you prefer to denoise before or after resize? I know it's slower to denoise first but I'm thinking it might yield better results.
Motenai Yoda
18th June 2010, 08:06
~#these are my personal considerations
mdegrain or mvdegrain shoud be used with the correct aspect ratio (aka par 1:1) and should be used as one of the last filters (if after of resize) or used after an upsample of only one side to achieve the correct ar (if before of resize).
> The reason for which I disturb you is a discussion that I am having
> with some rippers. The discussion is reassumed in my following
> affirmations:
>
> 1. The motion must be analyzed on the image the more similar to the
> final one.
>
Probably yes. But remember I do not understand what do you want to do
> 2. VOBs are anamorfic; MVtools work with PAR 1:1, therefore the same
> quantity of motion is otherwise valued, depending on its direction;
> MVtools don't give precise results when used with anamorfic images.
>
Yes, PAR is 1:1 in MVTools.
> 3. An analysis of motion must be done on the final cropped image, so
> that not to include pixels not contained into the final active image.
>
Yes. You may even crop a little more to scip block near borders.
> 4. Null speed in front of very fast movements (or scene changes) is
> not an anomaly, but a limit of MVtools. This situation can rise up
> after the crop, but only because the useless part of the pixels (black
> borders) has been eliminated.
>
Probably you know about thSCD1 and thSCD2 parameters.
> 5. It seems that you have said (the source is not verifiable) that the
> analysis of a native VOB is the fastest method to perform the analysis
> with MVtools; in base to my measurements, an analysis done after the
> filters ColorMatrix(), Spline16Resize(640,256,0,78,0,-78) and
> Limiter(16,235,16,240) is faster than 35%.
>
> Some rippers affirm that the analysis of movement is more efficient
> and fast on VOBs, in contrast with my point of view that I have just
> reassumed you.
>
I never said this. MVTools do not use any direct information from VOB. Question is not-correct. You may resize to 2048x1526 for example and you will got extra slow MVTools processing.
> I would like to know your opinion in the hope that your patience and
> gentleness are superior to my ability to explain me in a language that
> I know bad.
>
I do not speak English well too. I understand your message but I do not
understand your goal.
> Last but not least: I would like your permission to publish this
> letter on that public board, together with your possible answer.
>
no problem with it. But my answers is almost empty
fft3d contrariwise imho should be used before resize for better precision, or next to resize.
DCT, RemoveGrain, undot at the end to improve their increase of compressibility (depending of the rest of script).
foxyshadis
18th June 2010, 23:14
I always do strong denoising after resizing, in HD:
1. Less work is always faster, of course.
2. Noise will automatically be averaged into the signal, provided you don't use lanczos or point, and provided it's not clustered noise.
3. Motion compensation works better on high-motion and no worse on low motion, and can use faster settings. MVTools is very good at capturing subpixel motion, so I wouldn't worry too much about losing details; instead, details are more compact and easier to find & match, and the noise reduction of #2 often gives you slightly better matches.
However in SD, you can remove so much of the signal, or make details so tiny, that resizing before denoising is more detrimental to quality. It depends on how much fine detail you want to keep.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.