Log in

View Full Version : New Plugin from Kassandro - RemoveGrainHD


Pookie
2nd September 2007, 22:35
RemoveGrainHD 0.1
A collection of Avisynth 2.5x denoising filters

By Rainer Wittmann

http://www.removegrainhd.de.tf/

HD stands for High Definition, i.e. for high resolution input. For this kind of video RemoveGrain, which changes a pixel in terms of its eight direct neighbours, may be too narrow, because due to the high resolution noise often consists of pixel clusters rather than isolated pixels. Thus instead of RemoveGrain's 3x3 neighbourhood the filter RemoveGrainHD uses a rather arbitrary symmetric rectangle (preferrably but not neccessarily a square) around a pixel to process it. Of course not all the many RemoveGrain modes can be extended to this setting. In fact, the current version of RemoveGrainHD only contains the 4 original modes, with which RemoveGrain was started once. Nevertheless a useful Repair variant, which serves the same purpose as the Repair plugin of the RemoveGrain package, is included as well. There is even a spatio-temporal version called TemporalRemoveGrainHD, which has no counterpart in RemoveGrain at all. While RemoveGrain uses a very high level of parallelism - the SSE2/SSE3 version processes 16 pixels simultaneously - this is unfortunately no more possible for RemoveGrainHD. It is a rather ordinary C/C++ program without any inline assembler code. Nevertheless performance is not that bad thanks to some ideas, which I have taken from Tonny Petersen's (called tsp on the Doom9 forum) medianblur filter. However, there are some subtle changes, which should also improve Medianblur. Thus I have reimplemented Medianblur in this plugin. This filter is called Quantile, because it not only can calculate the median of an arbitrary surrounding rectangle but also arbitrary quantiles of these rectangels. The median then is just a special quantile. RemoveGrainHD can be emulated with an Avisynth script, which involves two instances of the filter Quantile and two Lutxy instances. However, such a script is substantially slower.

Prim3
2nd September 2007, 23:23
Nice, I might try it sometime.

Thank-you!

salehin
3rd September 2007, 00:12
Thanks for the filter. Will give it a try. Have you tried using it on Std Def (SD) content? If so, can you please post some comparisons 9screenshots, small clips and etc). I'm still learning about the usage of filters and so your guides will be very helpful

Cheers :)

- Salehin

Didée
3rd September 2007, 01:49
Splendid. :)

Revgen
3rd September 2007, 04:19
OT: Is Kassandro still banned from the forums?

Or did he just decide not to post anymore?

Boulder
3rd September 2007, 06:27
I don't think he's banned, at least I remember him posting after the ban I recall him receiving. He probably just got bored of the D9 forum and decided to set up his own.

Pookie
29th November 2007, 09:52
Version 0.3 (2007.11.26) : Completely new implementation (hopefully faster) of the RemoveGrainHD and TemporalRemoveGrainHD and a more flexible design with include skeletons of the entire plugin.

Overdrive80
31st August 2010, 17:38
What differences have removegrain 1.0pre with removegrainhd? Does the optimized speed? Do you keep more detail?

Can anyone clarify these doubts and if its use is highly recommended that of removegrain?

Didée
31st August 2010, 18:43
Blataneously simplified, RemoveGrainHD works with a bigger radius. Normal RemoveGrain works only on 3x3 pixel windows, i.e. when a pixel is processed, only the immediate neighbors of that pixel are considered. RemoveGrainHD can work on 3x3, 5x5,7x7, ... windows, also on non-square windows like e.g. 3x7 or 11x5, and has a bunch of new processing modes.

It may come handy for HD sources, since a plain 3x3 filter often is simply too small to make any reasonble filtering on HD content.

But then, it's still just basic filters, without any particular magic in themselves. The magic has to be introduced by the user, by making clever usage of the filter primitives.

Overdrive80
31st August 2010, 19:24
Thanks Didée. :thanks:

Ranguvar
24th September 2010, 01:37
OT: Is Kassandro still banned from the forums?

Or did he just decide not to post anymore?
He is still active on the Videoprocessing forum.
http://videoprocessing.11.forumer.com/viewtopic.php?t=93
As a note of caution, I am posting this link merely to aid Revgen in his question and provide him with a source of information to go along with it, no other reason.

Usedocne
24th September 2010, 01:56
Can't believe I've overlooked this filter. *downloads*

OT. It's a great shame the VE community is so fragmented.

xekon
2nd April 2015, 20:31
where can this be downloaded, appears link is dead. from what I can tell 0.5 was the latest release at some point.

captainadamo
2nd April 2015, 20:37
Can be grabbed here (http://chaosking.de/wp-content/uploads/avsfilters/Denoisers/Spatial_Denoisers/RemoveGrainHD___(0.5_-_2011-08-11).7z).

pinterf
24th February 2021, 14:43
Project moved to github.

Check v0.6 at https://github.com/pinterf/RemoveGrainHD/releases

There are no changes in core or in any functionality.
The plugin was just moved to Avisynth 2.6 interface and get it built under VS2019. x64 version is available as well.

Not tested at all, I'm not using it in any scripts. Feedback is welcome.

tormento
24th February 2021, 16:37
Check v0.6 at
Thanks!

Wouldn't be more rational to move into RgTools, where RemoveGrain(SD) exists already?

P.S: When you have time, please consider to modernize dither filter, please.

pinterf
25th February 2021, 09:43
This plugin is better left as a separated one. It has more common with MedianBlur than with RemoveGrain, and its internal logic is totally different.

New release: v0.7 (https://github.com/pinterf/RemoveGrainHD/releases)to support Y8, YV16, YV411, YV24 and 8 bit planar RGB.

kedautinh12
25th February 2021, 10:02
Thanks

FranceBB
26th February 2021, 09:41
Thanks for the update, Ferenc. :)

real.finder
4th March 2021, 21:03
I opened discussion in github about using RemoveGrainHD in the scripts I do updates https://github.com/realfinder/AVS-Stuff/discussions/135 since I didn't did something like this before and RemoveGrainHD is not same as RemoveGrain