O_VectorGenerator

O_VectorGenerator generates motion vector fields for each view in a stereo image. A motion vector field maps the location of a pixel on one frame to the location of the corresponding pixel in a neighbouring frame. It has the same dimensions as the image, but contains an (x,y) offset per pixel. These offsets show how to warp a neighbouring image onto the current image.

Inputs and Controls

Connection Type

Connection Name

Function

Input

Fg

An optional mask that specifies the only areas to include in the motion calculation. You can use this to create a motion layer for a foreground element. To create layers for different elements, use several O_VectorGenerator nodes.

If necessary, you can also use the Ignore mask to exclude elements in the foreground region. Note that masks should exist in both views, and O_VectorGenerator expects alpha values of either 0 (for background) or 1 (for foreground).

Ignore

An optional mask that specifies areas to exclude from the motion calculation. You can use this input to prevent distortions at occlusions or to calculate motion for a background layer by ignoring all foreground elements.

Note:  Masks should exist in both views, and O_VectorGenerator expects alpha values of either 0 (for regions to use) or 1 (for regions to ignore).

Solver

If the Source sequence doesn’t contain features that O_Solver is able to match well, you can use O_Solver on another sequence shot with the same camera setup. If you do, connect O_Solver to this input.

Source

A stereo pair of images.

Unless you are using the Solver input, the images should be followed by an O_Solver node. If disparity channels aren’t embedded in the images, you should also have an O_DisparityGenerator node in this input.

Control (UI)

Knob (Scripting)

Default Value

Function

O_VectorGenerator Tab

Views to Use

viewPair

Dependent on Source

Sets the two views you want to use to calculate the motion vectors. These views will be mapped for the left and right eye.

Ignore Mask

ignoreMask

None

Sets an optional mask that specifies areas to exclude from the motion calculation. You can use this input to prevent distortions at occlusions or to calculate motion for a background layer by ignoring all foreground elements.

Note:  Masks should exist in both views, and O_VectorGenerator expects alpha values of either 0 (for regions to use) or 1 (for regions to ignore).

None - do not use an ignore mask.

Source Alpha - use the alpha channel of the Source clip as an ignore mask.

Source Inverted Alpha - use the inverted alpha channel of the Source clip as an ignore mask.

Mask Luminance - use the luminance of the Ignore input as an ignore mask.

Mask Inverted Luminance - use the inverted luminance of the Ignore input as an ignore mask.

Mask Alpha - use the alpha channel of the Ignore input as an ignore mask.

Mask Inverted Alpha - use the inverted alpha channel of the Ignore input as an ignore mask.

Foreground Mask

foregroundMask

None

Sets an optional mask that specifies the only areas to include in the motion calculation. You can use this to create a motion layer for a foreground element. To create layers for different elements, use several O_VectorGenerator nodes.

If necessary, you can also use the Ignore mask to exclude elements in the foreground region.

Note:  Masks should exist in both views, and O_VectorGenerator expects alpha values of either 0 (for background) or 1 (for foreground).

None - do not use a foreground mask.

Source Alpha - use the alpha channel of the Source clip as a foreground mask.

Source Inverted Alpha - use the inverted alpha channel of the Source clip as a foreground mask.

Mask Luminance - use the luminance of the Fg input as a foreground mask.

Mask Inverted Luminance - use the inverted luminance of the Fg input as a foreground mask.

Mask Alpha - use the alpha channel of the Fg input as a foreground mask.

Mask Inverted Alpha - use the inverted alpha channel of the Fg input as a foreground mask.

Noise

noiseLevel

0

Sets the amount of noise O_VectorGenerator should ignore in the input footage when calculating the motion vectors.

The higher the value, the smoother the motion vector field. You may want to increase this value if you find that the motion vector field is noisy in low-contrast image regions.

Strength

strength

1

Sets the strength in matching pixels between frames. Higher values allow you to accurately match similar pixels in one image to another, concentrating on detail matching even if the resulting motion field is jagged.

Lower values may miss local detail, but are less likely to provide you with the odd spurious vector, producing smoother results. Often, it is necessary to trade one of these qualities off against the other. You may want to increase this value to force the images to match, for example, where fine details are missed, or decrease it to smooth out the motion vectors.

Alignment

alignment

0.1

Sets how much to constrain the motion vectors to match the horizontal alignment defined by an upstream O_Solver node.

A value of 0 calculates the motion vectors using unconstrained motion estimation. Increasing the value forces the vectors to be aligned. In most cases, you want this set to 0 or the default value of 0.1.

Sharpness

sharpness

0

Sets how distinct object boundaries should be in the calculated motion vector field. Increase this value to produce distinct borders and separate objects.

Decrease the value to blur motion layers together and minimise occlusions. For better picture building with O_Retimer, you can set this value to 0.

Smoothness

smoothness

0

Sets the amount of extra smoothing applied to the motion vector field as a post process after image matching.

The higher the value, the smoother the result. You can use this in conjunction with the Sharpness parameter to smooth out the motion vector field separately for distinct objects in the shot.