|
|
| valja |
| Posted: Apr 18 2003, 05:15 PM |
 |
|

Advanced Member
  
Group: Members
Posts: 179
Member No.: 66
Joined: 1-August 02

|
Who knows working algorithm of "Dynamic Noise Reduction" filter (by Steven Don and Avery Lee)?
I use successfully both "dynamic noise reduction" and "temporal smoother" filters with noisy sources. Work of "temporal smoother" was very well explained by phaeron, but work of "dynamic noise reduction" is entirely unclear for me, so I can't estimate results and have no idea about possible side effects. |
 |
| Kippesoep |
| Posted: Apr 18 2003, 10:20 PM |
 |
|
Moderator of the Virtualdub support forum
  
Group: Moderators
Posts: 447
Member No.: 441
Joined: 6-October 02

|
As the author of the DNR filter, I think I'm qualified to answer this
The algorithm is pretty similar to that of temporal smoother (DNR is faster, but more limited). What it does is quite simple: it compares the value of a pixel to its value in the previous frame. If the difference between them is less than the threshold you set in the configuration dialog, this is considered the result of noise and the pixel's value is substituted with the old value. If the difference is greater, this is considered motion and the pixel is let through (and the reference pixel is updated).
That was my original version. Avery Lee (phaeron) ported it to use MMX instructions (hence the shared credit), but he introduced a bug. This resulted in noise not being locked into place, but blended (when updating the reference value). This turns out to have a quality-enhancing effect, because the reference value has the noise smoothed out of it. It does however mean more changes in the frame and therefore won't help compression as much. |
 |
| phaeron |
| Posted: Apr 19 2003, 02:12 AM |
 |
|

Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
You know, if you considered this a bug, you should have told me before I released 8 versions of it in the capture module. This is the first I've heard of it.  |
 |
| Kippesoep |
| Posted: Apr 19 2003, 06:11 AM |
 |
|
Moderator of the Virtualdub support forum
  
Group: Moderators
Posts: 447
Member No.: 441
Joined: 6-October 02

|
Your words, not mine... From an e-mail you sent me, dated Sept. 19th 2000:
| QUOTE | Please check your source against the V1.4a DNR source; there was a bug in the MMX DNR code that got fixed in V1.4a and then crept back into V1.4b. The MMX code should be pixel-locking just like the non-MMX code.
|
|
 |
| phaeron |
| Posted: Apr 19 2003, 06:25 AM |
 |
|

Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
Oh, sorry. I thought you meant above that the reference plane wasn't supposed to be updated in the blend range, which was intriguing. This would have some ability to avoid drifting with noise as the current algorithm does, although I'm not sure it would be better. I wonder if having separate hold/blend ranges for output and reference would be better. |
 |