Log in

View Full Version : Interpolation frames


slicktail
8th May 2010, 08:52
Good day!
I deal with interpolated frame, the same algorithm Vatolin MSU FRC.
Frame is divided into blocks.
Once found motion vectors must smoothly move blocks in the interpolated frames from the current frame to the next. The problem in this move smoothly. I tried to make a linear interpolation:
1. Selects the current frame L (t) and the next frame L (t +1) with the found motion vectors to move the block B (x, y)
2. Let n - number of interpolated frames to be inserted between frames L (t) and L (t +1). We consider each pixel block C1 B (x, y) in the current frame L (t) and C2 each pixel block B (x, y) in the next frame L (t +1).
Under the direction of motion vector for each pixel of an interpolated frame this gradually changes its value for each color component (Y, U, V) Cn.
For the smooth interpolated frames using the expression

c = c1 + (c2-c1) * t, 0 <t <1

where C1 - meaning the color components Y pixel (x, y) Block B (x, y) in the current frame L (t), C2 - the value of color components Y pixel (x, y) Block B (x, y) in the next frame L (t +1), Cn - meaning the color components Y pixel (x, y) Block B (x, y) in the interpolated frame n, t - parameter that specifies the linear displacement of pixels on each interpolated frame.
parameter t varies for each interpolated frame from 0 to 1
3. Step 2 is repeated for the color components U, V.
4. In the frame L (t) and L (t +1) takes the next block. Repeat steps 2-3 for as long as all the blocks will not be interpolated. Thus, you will receive n interpolated frames.
11039 11040 11042 11043 11044
This method, as we see, is not effective. Image doubles (left trace of the current frame). Tell my best methods to gradually move the blocks?

pbristow
16th May 2010, 10:05
I don't know the details of the algorithm you're using, but just from looking at the pictures, it seems that the left foot isn't being motion interpolated at all! What you have there is a simple cross-fade between the two source frames.

I would check to see if your algorithm is deciding that the frames (or parts of them) are too different to be motion-interpolated (i.e. it thinks there is a "scene change" occuring). Or it might be that it is not looking over a large enough search area to find the matching block.

Good luck! :)