AV1 L1T3 Temporal Scalability Explained
The L1T3 temporal scalability structure in the AV1 video codec provides an efficient mechanism for real-time video communication systems to adapt to changing network bandwidths without renegotiating connections. By encoding a single spatial resolution across three distinct frame rate layers, an AV1-based system can dynamically drop or forward intermediate video frames to match client capabilities and network health. This article explains the architectural mechanics of L1T3, including its frame dependency hierarchy, AV1 reference buffer management, and its role in Selective Forwarding Unit (SFU) architectures.
What L1T3 Means
In standard Scalable Video Coding (SVC) nomenclature, L1T3 denotes:
- L1 (Layer 1 Spatial): A single spatial layer (native resolution remains constant, such as 720p or 1080p).
- T3 (Tier 3 Temporal): Three hierarchical temporal layers (T0, T1, and T2), offering three distinct frame rates within that single resolution.
In a typical 30 frames per second (fps) configuration, the frame rates distribute as follows:
- Base Layer (T0): 7.5 fps (1/4 of total frame rate)
- Enhancement Layer 1 (T1): 15 fps cumulative (adds 7.5 fps to T0)
- Enhancement Layer 2 (T2): 30 fps cumulative (adds 15 fps to T0 + T1)
Hierarchical Prediction and Dependency Structure
Real-time communication requires low latency, which rules out out-of-order frame displays and bidirectional B-frames. L1T3 uses a forward-only, hierarchical prediction structure:
- Layer 0 (T0 - Base Layer): Contains key frames and critical inter-frames. T0 frames only reference prior T0 frames. Dropping any other layer never corrupts T0.
- Layer 1 (T1 - Intermediate Layer): Predicted strictly from previous T0 frames (or preceding T1 frames, depending on the pattern configuration). T1 frames never serve as references for T0.
- Layer 2 (T2 - Top Layer): Highest frame rate tier. T2 frames reference T0 and T1 frames, but no other frames reference T2. T2 frames are non-reference (leaf) frames.
Because dependencies only point downward or backward within the same layer, higher layers can be dropped at any point in the transmission path without causing decoding artifacts in the lower layers.
AV1 Implementation Mechanics
AV1 handles temporal scalability directly inside its bitstream syntax using Open Bitstream Units (OBUs):
- Temporal Delimiter and OBU Headers: Every OBU
header contains an extension flag that exposes a 3-bit
temporal_id. The AV1 encoder tags each frame with its corresponding temporal ID (0, 1, or 2). This allows network middleboxes to inspect packet layers without parsing the deep compressed video payload. - Reference Frame Buffers: AV1 maintains eight reference frame buffers. For L1T3, the encoder assigns specific buffer slots to hold T0 and T1 references while ensuring T2 frames do not overwrite buffers required by future frames.
- Temporal Units (TU): Frames are ordered sequentially in presentation order to maintain real-time constraints, avoiding decoding delays.
Role in Real-Time WebRTC and SFUs
In modern WebRTC deployments, media passes through a Selective
Forwarding Unit (SFU). The SFU reads the temporal_id in the
RTP packet extension or AV1 OBU header and performs dynamic layer
filtering:
- Good Network Conditions: The SFU forwards T0, T1, and T2 packets, delivering a smooth 30 fps stream to the client.
- Network Degradation: If packet loss occurs or available bandwidth decreases, the SFU drops T2 packets instantly. The subscriber sees a drop to 15 fps (T0 + T1) with zero artifacting, no freeze, and no need to request an Intra-Frame (PLI/FIR).
- Severe Congestion: The SFU drops both T2 and T1, transmitting only the T0 base layer at 7.5 fps, preserving audio/video synchronization and continuous communication over unstable connections.