Log in

View Full Version : Filters with interlaced DV footage


ADLANCAS
4th May 2006, 21:50
While reading comments from Scharfis_Brain "...But you should go for some more advanced denoising filters."
thread http://forum.doom9.org/showthread.php?t=110579
, I think now about "more advanced filters" to be used with interlaced DV footage.

Normally I use a old-fashion Convolution3d, like this:
avisource("capture.avi")
SeparateFields()
odd=SelectOdd.Convolution3D(1, 6, 10, 6, 8, 2.8, 0)
evn=SelectEven.Convolution3D(1, 6, 10, 6, 8, 2.8, 0)
Interleave(evn,odd)
Weave()Which filters and settings do you recommend ?

Alexandre

Serbianboss
4th May 2006, 22:27
For convolution you can try agressive settings for bad source like this:

(1, 32, 128, 16, 64, 10, 0)

Another good noise removal filter is DegrainMedian.

for applying on interlaced source you can use this:

degrainmedian(interlaced=true)

or whit some parametars:

degrainmedian(limitY=5,limitUV=7,mode=0,interlaced=true)

Terka
5th May 2006, 17:52
in sum, which filters are suitable for DV source?
how does the filtering improve compressibility (is the gain in 1% or 10%)?

ADLANCAS
6th May 2006, 15:56
@Serbianboss, thanks for your suggestions. IŽll have a look.

@Terka,
Compressibility depends on which filters and settings you use. You can look examples in this thread:
http://forum.doom9.org/showthread.php?t=51181

Unfortunately the real life makes my free time not enough to test a lot of avisynth filters available.
Suggestions are welcome;)

Alexandre

ADLANCAS
9th May 2006, 03:07
Any ideas ?
:)

WorBry
10th May 2006, 08:47
I would definitely include hqdn3d in the list

http://students.washington.edu/lorenm/src/avisynth/hqdn3d/

For some time Convolution3D (1,4,5,3,4,2.8,0).RemoveGrain(2) was my favored ‘general purpose’ denoiser combo for ‘clean-to-slightly noisy’ PAL DV home video footage. However, at that time I was using the Sony DV codec for decompression and converting to YUY2 for filtration.

I then switched to the Cedocida codec for ‘total processing’ in YV12 and naively assumed that the same settings could be applied to Conv3D-YV12, until it was pointed out to me (by Boulder) that the temporal influence parameter in this version was never developed; although I note that AutoRV10 still uses these Conv3D-YV12 settings for ‘light denoising’.

With this knowledge, I played around with Deen and for a while settled on ("a3d", 1,3,4,3) as a reasonable alternative to Conv3D but was never totally happy with the preservation of fine detail. Other filters I tried included FluxSmooth(5,3) and LRemoveDustYV12(17,2) which achieved a comparable compression boost, but at the expense of a little too much ‘dull smoothing’ for my taste. FFT3D, I found a little too blocky. The newer ‘motion compensated’ denoisers, including Hein011’s RemoveNoiseMC filters are subjectively quite impressive but very slow, so much so that I never completed any comparative metric tests. Also, I would prefer to retain natural detail rather than attempting to accentuate it with sharpeners.

Finally, I revisited hqdn3d and am very happy with the results. For 50i and (deinterlaced) 25p sources, I’ve found hqdn3d(3).RemoveGrain(2) to be on par with Deen ("a3d", 1,3,4,3).RemoveGrain(2), in terms of processing speed and compression boost, but IMHO with better preservation of fine detail.

For ‘bob-deinterlaced’ (MVBob) 50p renders, I generally notch up to hqdn3d(4) to provide a little extra compression boost prior to conversion to XviD. In so doing, I can usually achieve consistently high quality (Quant 2.67 – 3.00) encodes at full res (720 x 544) with an acceptable bitrate (3700 – 3900 kbps) and CPU demand (30 – 40%), ensuring sustained, smooth playback on my AMD XP2800+.

Unfortunately, I’m away from home right now and don’t have access to the results of the quality metric tests that I did. However, I would definitely suggest that hqdn3d is included in any future objective comparison of available denoisers. Sometimes the 'oldies' are still 'goodies'.

Another worth looking at is the spatio-temporal denoiser built into the MSU Lossless Codec v 0.60. Obviously, this requires that the process chain includes a rendered intermediate, but it is a good option if you plan to archive DV footage in a denoised state.

WorBry
10th May 2006, 13:12
Most of the metric comparisons I did previously were with deinterlaced (25p and 50p) renders converted to XviD or DivX. Here are the results of a quick 'on-the-fly' comparison of hqdn3d and Deen for interlaced denoising. The source is a 1minute PAL Type II DV clip that I use for all of my tests. It's a collection of all of the variables I usually encounter in my home videos - outdoors, cast window light, back light, video light, fluorescent light, high motion, low motion, pans, high detail, vivid colors, titles etc.

Decoder: Cedocida DV codec, forced YV12, MPEG-2 interlaced sampling

Script:

avisource("C:Test PAL DV Type II.avi")
Tweak(coring=true)
SeparateFields()
odd=SelectOdd.Denoisers
evn=SelectEven.Denoisers
Interleave(evn,odd)
Weave()
DoubleWeave.SelectEven()

Output:
FFDShow HuffYuv-YV12, Median Predictor, Huffman tables

Results:

Filter Encode time (m:s), File Size(MB)
-----------------------------------------------------------

No denoise 2.01 365

hqdn3d(3).RemoveGrain(2) 2.31 320

Deen(a3d,1,3,4,3).RemoveGrain(2) 2.32 339

I'm also attaching a comparison of the relative degree of luma 'blurring' in the 3 encodes as measured with MSU Video Quality Measure tool ('Blurring Measure' Y-YUV).

Red = no denoise
Green = hqdn3d(3).RemoveGrain(2)
Blue=Deen(a3d,1,3,4,3).RemoveGrain(2)

Actually, for interlaced encodes hqdn3d and Deen appear to give quite similar results with this measure, which might be taken to inversely relect the degree of preserved detail. Subjectively, though I still prefer hqdn3d.

ADLANCAS
30th May 2006, 04:12
After making some tests, here are results:
Filters:
0-No Filter
1-Convolution3D(0,12,30,10,10,10,0)
2-hqdn3d(3).RemoveGrain(2)
3-Deen("a3d",1,3,4,3).RemoveGrain(2)
4-degrainmedian(interlaced=true)
5-hqdn3d(3).TBilateral(diameterL=3,diameterC=3,sDevL=1.4,sDevC=1.4)
6-VagueDenoiser(threshold = 2, wavelet = 3, method=1, nsteps=6 ,chromaT=0.8, Wiener = false,
\ percent = 80, interlaced = true)

% Time % File Size
0- 100 100
4- 119 91
2- 125 86
3- 131 90
1- 206 85
5- 263 82
6- 263 91
Very good results with VagueDenoise and TBilateral, but the last one produces some extra little dots in very noisy scenes.
I agree with WorBry. Details, Compress and time processing give me the choice => hqdn3d(3).RemoveGrain(2).
DeGrainMedian is fast, but get blurred images. hq+RemoveGrain(3) is also blurred.
Should be nice to use this combo with a fast spatial denoise with noisy scenes. Any ideas ?