Thread: MVTools
View Single Post
Old 1st February 2005, 13:49   #56  |  Link
Manao
Registered User
 
Join Date: Jan 2002
Location: France
Posts: 2,856
krieger2005 : The sky changed a lot between frames 8002 and 8003. That explains why the vectors are so chaotic. There's nothing you can do about it ( there could be a way, but it would be slow, so no way ( yet ? ) )

MVDenoise not only uses the vectors, but also the motion compensation stored with the vectors. This is done in order to improve the speed ( motion compensation could be computed in MVDenoise, but the data is already in the cache when the vector is computed in MVAnalyse, so it's computed there ).

You can change the motion compensation using MVChangeCompensate. You can't (yet) apply vectors to source to create a new compensation, but the code to do that is already written, so it will be available in the next release.

However, there again, it will be slow

heini011 : sorry to have taken so much time to answer. I haven't yet tested your script. However, IIRC, I changed the way the relative strength of the thresholds between 0.985 and 0.991 ( i tried to make the parameters less dependant of the blocksize ). That should explain the differences between 0.985 and 0.991 ( because the denoising is exactly the same )

The filter doesn't take into account frames that are in the other side of what is detected as a scene change. That behavior is expected, and wanted.

The filter often detects very noisy frames as scene change, so if you're handling noisy material, raise the SCD thresholds ( and prevent artifacts with thSAD / thMV / thT ).

The example in the documentation is wrong, indeed, it will be corrected.

Finally, i would recommend not to use blocksize = 4, because it slower and imho less efficient than blocksize = 8 or 16 ( vectors are too sensitive to the noise ).

Edit : krieger, i just saw your post : indeed, the vectors are wrong because of the flickering. Either deflick the clip, or don't plan to flicking areas. Anyway, there are enough thresholds in MVDenoise to prevent artifacts from appearing in such areas, so even if the vectors look like s**t, you can safely use the filter. And finally, event if it try to denoise, it will compensate for the mean luma variation it observed. I'll finally implement a flickering safe motion estimation, it won't be that hard.

Last edited by Manao; 1st February 2005 at 13:53.
Manao is offline   Reply With Quote