The Tiliam Blog

Musing on technologies for video and cinematography

Speeding Things Up

In the latest MotionBend 1.5 we have completely rewritten our motion analysis module. The basic method is more or less the same but we have switched to newer, faster techniques; we have investigated and implemented several speed ups in areas that are traditionally slow; we have optimized code, made short cuts, streamlined data flow and we’ve improved our formats for faster data access.

So how much faster is the new version ? We’re deliberately not making any claims about how much faster it is. It’s not because we don’t measure these things (we do). The reason is that the amount of speed increase is dependent on many factors so it is not responsible to start quoting any numbers. These factors are relevant in any type of video post processing that requires analysis.

1. Level of Detail

If you are working on video that has little detail, like a cloudless sky, then the software will have a very different amount of work to do compared to a busy street scene in a city. If there are a lot of details then it can be easier to lock on to the correct analysis faster, but only if the details are “good”. If there are confusing details then it will take longer to arrive at a result. If there are a massive amount of details then it can take a long time to look at them all and evaluate if they are good or bad, calculating the result can also take longer.

2. Size of Content

This is similar to the level of detail: if you are working on 720P video then the maximum number of details possible will be less than 4K video and the analysis will be faster for the same level of detail. Furthermore, 14 bit RAW will be more data to handle than 8 bit video.

3. Difficulty of Analysis

In video stabilization we are trying to understand how the camera moved. If the camera moved a lot then there can be more distortion between images, it is more difficult to match images if they have changed a lot. If the camera only moved a little bit then it is easier. In stabilization we can’t make any expectations about the camera motion because the camera could move wildly at any time, after all, if you are stabilizing video it is because you think it has bad motion. This applies to lots of other post production techniques that analyze more than one frame at a time; the more going on, the more difficult it will be.

4. Hardware Specification

Each person using our software can be running a different level of hardware. While some optimizations will work very well with a certain configuration of processor and memory, they may not have much impact on other machines. Some CPUs have more cores or more cache on chip, resulting in big changes to speed up.

MotionBend 1.5 New Features

New Portrait Mode

MotionBend now handles video from devices that specify rotation in the metadata, such as mobile phones and tablets. Video will automatically be rotated and output at the correct orientation.

Screenshot with Portait Video

Screenshot with Portait Video

Burnt in Captions

MotionBend now attempts to detect burnt in captions, also known as titles or subtitles, and ignore them. In the last blog post we proposed a work around where you can use the foreground region marking tools to tell MotionBend where the captions are. You can still do that if the captions move, but for static captions it won’t be necessary.

Screenshot with Captions

Screenshot with Captions