Global Motion eStimation


Short description

GlobMoeSt (Global Motion eStimation) tries to construct one large picture from the individual frames of a camera pan (especially animated content). It supports arbitrary motion search ranges (limited by processing power), internal cropping and more.


The table below contains images from two sources, one with real live footage, one with animated content. It displays the first and last input frame, the constructed image in each input mode, and a link to the motion vector file. More examples shall be added later.

InputBlendAddonlyNoblendMotion Vectors
LotR Input LotR Blend LotR Addonly LotR Noblend lotr_motion_vectors.txt
RA Input RA Blend RA Addonly RA Noblend ra_motion_vectors.txt

Please note that, depending on content, GlobMoeSt may work better with a much smaller number of frames.


Currently, the program works by determining the global motion vectors between each two subsequent frames via an exhaustive search within a specified motion search range, which can be tweaked depending on the input data. Nonlinear motion is supported. Motion vectors can be saved to a file, allowing for speedier tinkering with options (like construction mode or cropping of input frames), after a first pass.

The image difference function can use different color spaces (RGB and YUV) and can be influenced via user supplied coefficients, which allows the user to assign different weightings to different color components.

After determining the best motion vectors, the image is assembled, using one of currently three modes, one of which tries to avoid any intra-frame motion, while another one blends areas in which frames overlap.

The blending mode is able to reduce (film or compression) noise (especially for animated content, when there is little to no intra-frame motion, but only global motion), and can give a (blurry) impression of movement in case of intra-frame motion (which may, or may not be wanted). It can also be used to blend pictures, without using the motion estimation component.


This is the long-term todo list:




Building GlobMoeSt

  1. Unpack globmoest-X.Y.Z.tar.bz2
  2. Open Makefile in your favourite text editor and follow the instructions.
  3. make
  4. Optional: Enter the testcases directory, execute and check whether the results look ok.


Note: To use the windows binary, you have to get the DLL files from the DevIL "End User Package" and put them into the GlobMoeSt directory. Also the windows executable is compiled without any compiler optimizations, which makes it quite slow. I'm working on this.


Author: Arne Bochem <globmoest NEAR arneb PERIOD remove this de>

General information Logo