AV1 (AOMedia Video 1) is the successor to the VP9 video compression standard, both of which share a royalty-free licensing model. On average, AV1 delivers the same visual quality using approximately 50% less data compared to H.264/AVC, and 30% less data than H.265/HEVC and VP9. AV1 is developed by the Alliance for Open Media (AOMedia), and was officially released on March 28, 2018. AV1 is specifically designed for real-time applications (such as WebRTC) and optimized for higher resolutions, including High Definition (HD), HDR, higher frame rates, and Ultra High Definition (UHD) content. In the article we will describe main syntax elements of AV1 video. To analyze AV1 video we will use Virinext Bitstream Analyzer. You can download the evaluation version on the Download page. For license acquiring please check the Buy license page.
High level AV1 video bitstream overview
The AV1 bitstream format defines how encoded data is structured and interpreted during the decoding process. It follows a hierarchical structure of layers, with each layer providing essential information for decoding frames and reconstructing the video. At a high level, an AV1 video is a sequence of Open Bitstream Units (OBUs), which are the fundamental building blocks of the AV1 bitstream. OBUs store various types of data, including frame information, metadata, or configuration details. Each OBU begins with an obu_header structure that specifies the type of OBU and its size.
There are several types of OBUs:
- Sequence Header OBU: Contains global parameters, such as color space, bit depth, and initial settings for the entire sequence.
- Frame Header OBU: Includes frame-specific details like resolution, coding tools, reference frames, and frame type.
- Tile Group OBU: Holds compressed data for one or more tiles within a frame.
- Metadata OBU: Provides auxiliary information, such as frame timing, HDR metadata, or scalability parameters.
The Sequence Header is an OBU that contains global video parameters and typically appears at the start of the bitstream. It defines settings that apply to the entire sequence of frames, including:
- Profile: specifies the encoding profile (e.g., main, high).
- Level: defines the performance level for decoding, such as supported resolution and frame rate.
- Bit depth: indicates the used color depth (e.g., 8-bit, 10-bit).
- Color format: specifies the used chroma subsampling (e.g., 4:2:0).
- frame size: Defines the dimensions of the video frames in pixels(e.g. 1920×1080).
Each frame is described by a Frame Header OBU, which contains the essential information required to decode that specific frame. This includes a frame type field, which indicates whether the frame is a keyframe, intra-frame, or inter-frame.
In AV1, frames can be split into tiles, which are independently encoded sections of a frame. Each tile contains its own compressed data and can be decoded independently from the others, allowing for parallel processing. This enhances both encoding/decoding efficiency and scalability, particularly for high-resolution video.
The AV1 bitstream can also carry various types of metadata, such as:
HDR Metadata: Supports High Dynamic Range (HDR) content by including information like mastering display luminance and color volume.
Timecode Metadata: Provides information for frame timing and synchronization.
Conclusion
In this article, we have explored the AV1 video compression standard. We are examining high level details of standard and bitstream syntax elements such as OBU, various slice types, and metadata. By analyzing AV1 video with Virinext Bitstream Analyzer you can gain insights of the low level encoding details and optimize quality and performance. Virinext Bitstream Analyzer offers both in-depth and high-level analysis for various encoding standards, including AV1, making it a valuable tool for researchers and developers. If you are interested in exploring further, we are offering you to try free evaluation version of Virinext Bitstream Analyzer. Virinext Bitstream Analyzer is a GUI tool for both in-depth and high-level analysis for many encoding standards including VVC.