First, I propose giving users finer-grained control over noise amounts/noise reduction levels. Currently, there are six settings for each:
- High [Frequency]
- Mid
- Low
- Y [Channel]
- Cr
- Cb
- High Y
- Mid Y
- Low Y
- High Cr
- Mid Cr
- Low Cr
- High Cb
- Mid Cb
- Low Cb
My second suggestion is a bit more interesting: I propose either splitting the temporal threshold into two temporal thresholds, or decoupling the temporal filter from the spatial filter. The reason is because the temporal threshold setting seems to affect two logically different aspects of filtering: First, setting it lower reduces the strength of the effect on grainy noise, and setting it higher increases the strength of the effect on grainy noise. That is to be expected. However, setting it higher actually reduces the effect of the spatial filter on persistent features, resulting in less spatial noise reduction than if temporal filtering were disabled entirely.
I understand the rationale behind doing things the way they seem to be done now: "Hey, the user turned on temporal filtering, so why don't we take temporal results into account during spatial noise reduction and reduce the effects on persistent features?" The problem is, this makes Neat Video significantly less effective when a video has both random grain and persistent noise patterns. To give an example of a persistent noise pattern, look at this relatively recent thread from butler360: http://www.neatvideo.com/nvforum/viewtopic.php?t=563
My own persistent noise pattern is somewhat different. On top of regular VHS noise, I have an odd "scanline" issue in my old VHS home movies where approximately every other line within each interlaced field is darker than the previous line, although the strength of this effect depends on the color tones underneath. (It's very strong on red/peach/yellow highlights, for instance.). It doesn't seem to be an interlacing issue, since it actually occurs within each interlaced field. After weaving the image together, the pattern repeats every four lines (two regular lines followed by two darkened lines, or vice versa). It seems to be an artifact of the camcorder, and I've seen it in direct VHS playback from both VCR's I've tried.
In my testing, I created a noise profile to specifically target this issue, since it's much more noticeable and distracting than regular noise. This is important, because the ordinary noise somewhat masks this pattern in the source, and it's very stark when regular noise is removed without specifically targetting the pattern as well. Even with a carefully constructed 100% profile (chosen from several 100% profiles I've made ), the pattern can still be mildly distracting in some areas, unless I ramp up luma noise reduction to 100% (major overkill for all other noise) and end up with an artificial-looking image. Still, I can get it to do very well for the most part...at least until I crank up the temporal threshold. Then, Neat Video decides that the persistent noise pattern must be genuine detail and leaves it in (and sharpens it ).
This creates a dilemma for people with both grainy noise and persistent noise patterns: Do we keep the temporal threshold low, leaving in more grain, or do we bump it up, strengthening persistent noise patterns? As far as I see, there are two solutions:
a.) Include two temporal thresholds: One should affect how much noise the temporal filter should reduce. The second should affect how much detail (or "detail") the temporal filter should prevent the spatial filter from removing.
b.) Completely decouple the temporal and spatial filters, so that the spatial filter is not influenced by what the temporal filter thinks is detail. (This seems a bit extreme though, since the second threshold in option a would essentially determine the strength of this coupling).
I should also note that increasing the temporal radius similarly makes persistent noise patterns starker. Actually, increasing the radius from 1 to 2 makes the persistent noise patterns worse than increasing the threshold from the default to the max. I guess this is because the more frames the temporal filter gets, the higher its level of confidence that a persistent feature is genuine detail? In addition, turning on adaptive filtering seems to make persistent noise patterns starker too, but I don't really know what to make of that.
Finally, I thought I'd mention something odd: Using Neat Video in progressive mode works significantly better for me than using it in interlaced mode, and I'm working with interlaced sources. For some reason, interlaced mode obscures certain details, like thin diagonal (more horizontal than vertical) lines in wood grain, whereas they come out crystal clear in progressive mode. My best guess is that individual fields do not have a high enough resolution for Neat Video to clearly recognize certain details/patterns within, and denoising/sharpening the fields separately results in subpar results here. Interlaced mode also adds occasional artifacts, such as dark scanlines (this time I'm talking about actual scanlines corresponding to interlaced fields) near the top and bottom of the image in some scenes, though I haven't figured out why. In both cases, it doesn't seem to matter whether the noise profile was created in progressive or interlaced mode.
I'm not a licensed user or anything (yet, at least), so take my opinion with a grain of salt. Still, I thought my feedback might be helpful anyway.