How AV1 NEWMV Mode Signals Displacement Vectors

This article provides an overview of how the AOMedia Video 1 (AV1) video codec signals displacement vectors—commonly known as motion vectors—when using the NEWMV prediction mode. It details the process of establishing a reference predictor, calculating the motion vector difference, encoding the directional components through structured syntax elements, and applying adaptive sub-pixel precision.

In AV1 inter-frame prediction, blocks can either inherit motion vectors directly from spatial and temporal neighbors or signal updated motion information. The NEWMV mode indicates that the current block requires an explicitly transmitted displacement vector rather than fully reusing an existing vector from adjacent blocks.

Motion Vector Predictor Selection

Rather than encoding the full, absolute coordinates of a displacement vector, AV1 encodes a motion vector difference (MVD). To compute this difference, the decoder first determines a Motion Vector Predictor (MVP):

  1. Candidate List Generation: AV1 scans spatial neighbors (left, above, and corners) as well as temporal collocated blocks to construct a sorted list of candidate motion vectors.
  2. Predictor Indexing: For NEWMV, the encoder signals an index into this candidate stack (often the primary candidate ref_mv[0], or selected via reference indexing if multiple candidates exist).
  3. Base Vector: The selected candidate serves as the base vector (\(\text{MVP}\)), against which the delta vector (\(\text{MVD}\)) is applied: \[\text{MV} = \text{MVP} + \text{MVD}\]

Syntax Decomposition of the Motion Vector Difference

The displacement difference \(\text{MVD}\) is split into horizontal and vertical components (\(MVD_x\) and \(MVD_y\)). Each component is signaled independently using an entropy-coded syntax structure designed to maximize compression efficiency:

Adaptive Motion Vector Precision

AV1 supports multiple motion vector precision levels at the frame and block levels, including 1/8-pel, 1/4-pel, 1/2-pel, and integer-pel precision. When lower precision modes (such as integer-pel) are active, fractional syntax elements are omitted entirely from the bitstream, reducing bit overhead for scenes with large, uniform motion or low detail.

Compound Prediction Handling

In compound prediction modes involving two reference frames, AV1 extends NEWMV to compound variants such as NEAR_NEWMV, NEW_NEARMV, and NEW_NEWMV.