Log in

View Full Version : mcompensate precision


Terka
8th June 2010, 11:47
have an original clip and filtered clip
filtered has correct position of blocks, but is blurry.
original has wrong position of blocks, but is sharp.
want to use mcompensate or mflow the sharp, so the blocks become correct positions.
the motion is small lets say about 1 or 2 pixels max.
coud anyone advise how to get nice precision?
pel 4?
search 0?
use external subpixel interpolation clip?

Didée
8th June 2010, 12:10
/methinks this would've fitted quite well in the other thread (http://forum.doom9.org/showthread.php?t=154775), where the "problem" originates from.


I'm not sure how serious it is in practice, but it seems somewhat whacky to search a sharp+instable clip against a blurry+stable clip. The difference in spatial representation might throw the whole thing off. (Not necessarily, but eventually.)

I'd rather try - either:

a) make the sharp+unstable clip same blurry as the stable clip (in that case, by applying FFT3D with bt=1 to the sharp clip)

or

b) keep the stable clip more sharp, by isolating the spatial component and keeping only the temporal component of the stabilization filter.


Method b) would be better, but is difficult to achieve. Try method a) first, that's much easier.


Regarding "doing only small-range search", that's a good question. (I've though about that, too. But I haven't actually looked into the matter.)
Probably something along the lines of search=0, then using "badSAD" with close-to-zero threshold, in order to force a new search, which IIRC is exhaustive with selectable search range. (Not fully sure about the exact steps to take. But I'm confident that everything can be found in MVTools' documentation.)

Terka
8th June 2010, 12:52
Thank you for reply.
/methinks this would've fitted quite well in the other thread, where the "problem" originates from.
/youthinksright. should be better there.
FFT3D with bt=1 should find myself also :devil:
tried 1st method, maybee the whole mcompensate thing could be useful.

Terka
9th June 2010, 11:45
Didee, when looked in beta2, aren`t you doing something similar in TGMC:
# Get difference orig.fields - TGMC'ed orig-fields, then motion-compensate that diff, apply result to the interpolated fields.