AV1 Bitstream Conformance Syntax Explained
In the AV1 video coding format, bitstream conformance ensures that encoded content complies with specific processing and memory constraints so that standard-compliant decoders can reliably reconstruct the video. This article explains the syntax elements that establish and govern these conformance requirements, detailing the role of the Sequence Header, operating points, profile definitions, and level indicators.
The Sequence Header OBU
The primary syntax structure governing bitstream conformance in AV1
is the Sequence Header Open Bitstream Unit
(sequence_header_obu). Conformance is defined on a
per-sequence basis, meaning the syntax elements declared in this
structure dictate the processing requirements for the entire Coded Video
Sequence (CVS). If any frame violates the boundaries declared in the
active sequence header, the bitstream is non-conforming.
Profile Syntax:
seq_profile
The seq_profile syntax element directly dictates the
profile conformance of an AV1 bitstream. It restricts the coding tools,
bit depths, and chroma formats allowed within the sequence:
- Profile 0 (Main): Restricts color depth to 8-bit or 10-bit with 4:2:0 chroma subsampling.
- Profile 1 (High): Expands support to 8-bit or 10-bit with 4:4:4 chroma subsampling.
- Profile 2 (Professional): Adds support for 12-bit depth, as well as 4:2:2 chroma formats.
A compliant decoder configured for a lower profile will reject
bitstreams declaring a higher seq_profile value.
Operating
Points and Conformance: operating_point_idc
AV1 introduces scalable video capabilities, where conformance is
evaluated at specific target operational tiers called "Operating
Points." Within the sequence header, the number of operating points is
signaled by operating_points_cnt_minus_1.
For each operating point, the syntax element
operating_point_idc[i] defines which temporal and spatial
layers are included. Decoders conform not necessarily to the entire raw
stream, but to a specific operating point extracted from it.
Level and
Tier Signaling: seq_level_idx and
seq_tier
Within each operating point definition, limits on decoding complexity are enforced by two key syntax elements:
seq_level_idx[i]: Declares the operational Level (e.g., Level 2.0 through Level 7.3). This element establishes strict hardware thresholds, including:- Maximum luma picture size (in samples).
- Maximum sample rate (samples per second).
- Maximum bitrate.
- Maximum tile dimensions and tile column/row limits.
seq_tier[i]: Signals the operating Tier (Tier 0 for Main Tier, Tier 1 for High Tier). Tiers dictate whether standard or elevated maximum bitrates and buffer capacities apply to the selected level.
Buffer Model
Conformance: decoder_model_info
When the decoder_model_info_present_flag is set within
the sequence header, the bitstream includes the
decoder_model_info() syntax structure alongside
per-operating-point operating_parameters_info(). These
elements define parameters for the Hypothetical Reference Decoder (HRD),
including buffer leak rates, removal times, and display delays.
Adherence to these values verifies that the bitstream does not overflow
or underflow decoder buffers during playback.