Log in

View Full Version : Processing of material of variable quality


Poutnik
1st February 2013, 08:55
In the Avisynth processing every stuff has different demand for suitable script choosing or settings.

But what if the material is of highly variable quality ? It is highly not practical to process every piece independently.
There is e.g many TV documents, being mix of historical low or very low quality noisy footage and high quality DTV recording.

There is often desirable to keep authenticity of low quality, or that one can choose some average level of processing.

But anyway, is there available any tried script that behaves like being adaptive to current quality ? Probably based on noise measurement ?

Edit: I mean just decreasing quality dynamic, not targeting the constant quality.

Poutnik
1st February 2013, 09:06
PS: Or , do existing scripts like MCTemporalDenoise or similar already have any kind of built in adaptation ?

If usable scripts exists, it there any significant subjective improvement over constant settings processing ?

Poutnik
1st February 2013, 10:35
I have some concept idea about
AdaptiveFiltering(clip c, float LNoiseLevel, float LSigma, float HNoiseLevel, float HSigma, float Adaptability )

XNoiselevel would be somehow based on realtime SAD related Avisynth functions.

I may be wrong here, but AFAIK there is obstacle in realtime function usage in internal filters only.
Therefore adaptive component of the script a/o function would have to be based on Internal Noise filters like Blur or Spatial/Temporal soften.

XSigma would be effort level filtering parameter
like sigma of FFT3DFilter, MCTD, or limit in LRemoveDust

For typical HQ and LQ footage parts there would be
Parameters XNoiseLevel determined by displaying related AVS internal functions
Parameters XSigma would be visually determined by filter strength.

For Noise <= LNoiselevel would be LSigma,
For Noise >= HNoiselevel would be HSigma,
In between would be interpolated.

Adaptabability 0.0 .. 1.0 would mean
0.0 = no adaptation, equivalent to constant settings processing with some average sigma value.
1.0 = full adaptation, equivalent to manually choosing static parameters for clip cuts, according to schema above.

lisztfr9
1st February 2013, 12:51
Use edge detection & AverageLuma. The edge detection will convert noise into luma, this is a way to spot noisy frames, on witch you can/could then apply some spacial filtering. I should do such a script myself... ! with Grunt etc.