AV1 Scalability Mode Identifiers and L3T3 Explained

AV1 scalability mode identifiers, such as L3T3, define standardized configurations for Scalable Video Coding (SVC) within the AV1 video codec framework. These identifiers describe how an encoded video stream is partitioned into distinct spatial (resolution) and temporal (frame rate) layers. This article explains the syntax of these identifiers, breaks down the components of L3T3, details how layer dependencies work, and highlights their practical role in adaptive streaming and real-time WebRTC communications.

The Role of Scalability in AV1

Scalable Video Coding enables a single video encoder to produce a layered bitstream containing a base layer and one or more enhancement layers. Instead of encoding multiple distinct bitstreams for different network conditions (simulcast), an AV1 encoder can produce a single SVC bitstream. A Selective Forwarding Unit (SFU) or video player can drop enhancement layers without decoding the stream, adapting instantly to bandwidth fluctuations or device constraints.

To eliminate ambiguity between encoders, media servers, and decoders, the Alliance for Open Media (AOM) and the W3C WebRTC working group established standard scalability mode identifiers.

Breaking Down the Identifier Syntax: L3T3

The identifier format follows a concise naming convention that details the exact layering structure:

  • L (Spatial Layers): The letter "L" denotes the number of spatial layers with inter-layer dependency, where higher layers depend on lower layers to reconstruct the picture. The number following "L" indicates the count. In L3T3, L3 means there are three spatial layers (for example, 360p, 720p, and 1080p).
  • T (Temporal Layers): The letter "T" denotes the number of temporal layers. The number following "T" indicates the frame rate steps available. In L3T3, T3 means there are three temporal layers (for example, 15 fps, 30 fps, and 60 fps).

An L3T3 configuration creates a matrix of 9 potential operational points (3 spatial × 3 temporal). A receiver with limited bandwidth can receive the base spatial layer at the lowest frame rate, while a high-bandwidth desktop receiver can consume all layers for maximum quality and frame rate.

Dependency and Structural Variants

The AV1 scalability specification includes variations on this basic syntax to define how frames reference each other:

  • S-Modes (Simulcast/Independent): An identifier starting with S (such as S3T3) indicates that the spatial layers are independent. Unlike L layers, an S spatial layer cannot reference frames from lower spatial layers. This reduces decoding complexity at the cost of higher compression overhead.
  • Keyframe Alignment Modifiers: Suffixes such as _KEY or _KEY_SHIFT specify keyframe synchronization across layers:
    • _KEY: Indicates that all spatial layers share synchronized keyframes. When a keyframe arrives, all spatial layers can be decoded immediately from that point.
    • _KEY_SHIFT: Allows keyframes across spatial layers to be staggered over time to prevent bit-rate spikes.
  • Ratio Modifiers: Suffixes like h (half) indicate non-standard resolution scaling factors. By default, spatial layers often scale by a factor of 2:1, but specific modifiers can alter this to 1.5:1.

Practical Application in WebRTC

In real-time communication architectures, L3T3 allows a client to transmit one coherent video feed containing high-definition, standard-definition, and low-definition options at various frame rates. Media servers (SFUs) inspect the AV1 RTP packet headers and forward only the layers that match each participant's downlink capacity. This eliminates the CPU overhead of server-side transcoding while providing instantaneous resilience against packet loss and congestion.