If you've ever seen an action video of skaters defying gravity or of kite surfer leaving the crest of a wave and jumping into the air and then seemingly slow down in mid-air, almost coming to a complete stop while experiencing their version of Nirvana, you've witnessed slow motion, or slo-mo. How did they do that, if they didn't have a high-speed camera shooting at 10 times normal speed? Well, perhaps they used Motion Prediction.
What if you recorded at the usual 30 frames per second, and you decided later that there's a short segment in there set, which lasts just 2-3 seconds, but which you'd rather see last for 10 -15 or even 20 seconds? Could you slow it down and make it look like it was shot it at high frame rate, and do so without flickering, blurring or strobing effects?
What if you had a short, rendered 3D clip that you created with extra-high photo realism and which took many hours to complete, and yet which resulted in just 3-4 seconds worth of finished animation (at 30 fps)? What if your boss customer told you it needed to last twice or three times as long, and you hadt 30 minutes to re-do it?! Could you do it, without re-rendering the whole 3D sequence?
You could try time stretching, retiming and frame blending, but it may not show the needed results or quality. Frame blending transitions each pixel from one frame to the corresponding pixel in the next frame. For example, say you have a black pixel in one frame, and it turns out to be colored white in the next frame. In order to make the two frames last about 10 times longer, we'd insert 9 or 10 more frames and we'd interpolate the colors of the pixels to go from the color in frame 1 to the color in frame 2 from black to white, over 10 shades of grey. But how to interpolate through this? Is linear best? Is it through RGB space or better do a transform into HSV and interpolate in that color space?
Label: Frame Blending artifact: strobing or blinking effects due to fast-moving or high-contrast elements
Either way, you're likely to notice a side effect of frame blending: strobing, especially with fast moving items of high contrast. It's largely unavoidable. One can try to reduce the amount of it by various means of interpolation between more than the two adjacent frames, but it then introduces other side-effects such as motion blurring. Time stretch with motion blur can only do so much. A different technique is needed for better results.
The Mother of all Motion Estimation: the Motion Tracker
In order to understandmotion estimation, or motion prediction, one has to understand one of its components: motion tracking.
In Project Dogwaffle, and probably in numerous other applications, motion tracking lets you designate a square region of interest in your video's first frame. This is called the tracking area.