View Full Version : Rev398 explanation


max-holz
10th January 2006, 10:37
Changeset [398] by pengvado
dct-domain noise reduction (ported from lavc)
This means that I can remove denoiser filter from the avs script?

foxyshadis
10th January 2006, 12:36
http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=1530445

Unfortunately, you have to be a member (or Google) to read it, and I'm not. I'd really like to check it out, but I suppose a summary from Pengvado would work.

DeathTheSheep
10th January 2006, 20:46
So this is an internal progression, not a seperate tag that can be enabled/disabled, right?

According to the synopsis you provided, foxyshadis, it seems like this will be of great benefit to AVC encoding, but it didn't do anything for me at q35 (but by then there might be no need for filtering anyway--all significant, noisey detail is gone ;)).

akupenguin
10th January 2006, 23:48
Summary for those without an ieee account (actually, I didn't read that paper until just now, but it's similar enough):

1) Estimate the noise-to-signal ratio of each frequency band: We assume a constant amount of noise (specified by --nr), and thus the ratio is just inversely proportional to the amount of signal (= average coefficient magnitude).
2) Filter: Before quantization, bias each coef of the residual towards 0, with strength determined above.

Try --nr values on the order of 100-1000.
It may or may not match the quality of a good avisynth-based denoiser, but is much faster.

TheBashar
12th January 2006, 02:03
It may or may not match the quality of a good avisynth-based denoiser, but is much faster.

So.. functionally would you say this is attempting to eliminate the same kind of noise as FFT3DFilter?

Episodio1
12th January 2006, 02:29
akupenguin, so where did you find the algorithm or info about that dct?

Sharktooth
12th January 2006, 15:09
@Episodio1: in libavcodec

akupenguin
15th January 2006, 09:21
Heya,
Mind explaining this thread a little more clearly as I don't quite understand it for writing this help doco.

What is there to explain? We have the effect (denoising), the reason you might use it (it's fast), the algorithm (yes, it really is 2 lines of english / 20 lines of C), and the source (libavcodec).

mgh
15th January 2006, 16:25
A common problem with some of my old analog tv caps used to be problem of thick and thin lines running across the width of the frame.Problem was only with couple of channels.If I complained to my cable guy, the problem was shifted to some other channel.
In the worst cases, could never find filters which would clean without noticeable blurring.
I have been trying some of those bad cases with noise filter set at 50 (100 caused some blurring to my eye,though noise removal was almost total) along with
"removedirt().turnleft().removedirt().turnright()"
(which was removing thin lines without blurring). The videos are now eminently suitable for watching.
The quality of the filter almost matches the neatvideo filter for virtualdub but is very much faster.:thanks: