AV1 Per-Segment Parameter Controls Explained
AV1 video coding includes a powerful segmentation feature that allows an encoder to divide a frame into up to eight distinct segments, applying unique coding parameters to each. This article outlines the specific parameter controls that can be assigned on a per-segment basis within the AV1 bitstream, detailing how each feature alters encoding behavior to optimize visual quality, rate control, and region-of-interest (ROI) processing.
AV1 Segmentation Framework
AV1 frames can be partitioned into up to eight segments (labeled 0 through 7). A segmentation map assigns individual blocks to a specific segment ID. Once assigned, each segment can independently enable or disable specific features and apply either absolute values or differential offsets (deltas) relative to the frame-level baseline parameters.
Per-Segment Parameter Controls
The AV1 specification defines eight distinct segment-level features
(SEG_LVL_*):
1. Alternative Quantizer
(SEG_LVL_ALT_Q)
This parameter adjusts the base quantization parameter (QP) for the segment.
- It can specify an absolute quantizer index or an offset relative to the frame's baseline QP.
- This is the primary mechanism used for Region of Interest (ROI) encoding, allowing higher fidelity (lower QP) on faces or focal points, and lower fidelity (higher QP) on background or high-motion regions.
2–5. Loop
Filter Strength Adjustments (SEG_LVL_ALT_LF_*)
AV1 allows fine-grained deblocking loop filter adjustments per segment to prevent over-smoothing in sharp regions or blocking artifacts in flat regions. Four separate controls are available:
SEG_LVL_ALT_LF_Y_V: Modifies the loop filter strength for vertical luma edges.SEG_LVL_ALT_LF_Y_H: Modifies the loop filter strength for horizontal luma edges.SEG_LVL_ALT_LF_U: Modifies the loop filter strength for chroma U channels.SEG_LVL_ALT_LF_V: Modifies the loop filter strength for chroma V channels.
These offsets alter the edge-filtering intensity to maintain sharp textures where needed or smooth out compression boundary lines where quantization is coarse.
6. Reference
Frame Constraint (SEG_LVL_REF_FRAME)
This control forces all blocks within the segment to use a specific
reference frame (such as LAST_FRAME,
GOLDEN_FRAME, or ALTREF_FRAME) for
inter-prediction. Restricting the reference frame eliminates the
signaling overhead of per-block reference selection and directs
prediction toward the most relevant temporal data.
7. Block Skip Flag
(SEG_LVL_SKIP)
When enabled for a segment, this parameter forces all blocks in the segment to skip the transmission of transform coefficients and residual data. It effectively signals that the predicted block (via intra or inter-prediction) is sufficient without transmitting error corrections, drastically saving bitrate in static or predictable backgrounds.
8. Global Motion
Vector Mode (SEG_LVL_GLOBALMV)
This control constrains inter-coded blocks within the segment to use the global motion parameters established at the frame level rather than searching for local motion vectors. This is beneficial for smooth, consistent background motion (e.g., camera pans) and reduces motion vector signaling overhead.
Application Modes: Delta vs. Absolute
Segment parameters are applied using one of two modes defined in the frame header:
- Delta Mode: The segment values represent signed deltas added to the frame's default settings (most commonly used for QP and loop filter adjustments).
- Absolute Mode: The segment values explicitly overwrite the frame-level defaults, ignoring the baseline configuration entirely.