AV1 Uniform Tile Grid vs Arbitrary Tile Grid

In the AV1 video codec, tiling divides video frames into independent rectangular regions to enable multi-threaded encoding and decoding. The AV1 specification supports two methods for structuring these regions: the uniform tile grid and the arbitrary tile grid. While a uniform tile grid spaces rows and columns evenly across the frame with minimal metadata overhead, an arbitrary tile grid allows encoders to explicitly define varying tile sizes to optimize for complex workloads and specific region-of-interest processing.

Understanding Tiles in AV1

Tiles in AV1 are self-contained rectangular blocks of video that can be decoded and encoded independently of adjacent tiles within the same frame. This partitioning is essential for modern high-resolution video (such as 4K and 8K), as it allows multi-core CPUs and parallel GPU hardware to distribute the processing workload simultaneously.

The Uniform Tile Grid

A uniform tile grid is the standard, most common method of splitting a frame in AV1. In this mode, the encoder sets the uniform_tile_spacing_flag to 1.

  • Structure: The frame is divided into regular rows and columns where each tile column has approximately the same width, and each tile row has approximately the same height. Any remaining pixels that do not divide evenly are absorbed into the final boundary tiles.
  • Signaling: Tile sizes are signaled using logarithmic values (tile_cols_log2 and tile_rows_log2). Because of this, the bitstream header requires very few bits to communicate the frame's grid structure to the decoder.
  • Ideal Use Case: General video streaming, on-demand playback, and standard multi-threaded encoding where the priority is keeping bitstream overhead low while achieving balanced parallel processing.

The Arbitrary Tile Grid

An arbitrary (or non-uniform) tile grid removes the requirement for equal spacing. It is activated when the encoder sets the uniform_tile_spacing_flag to 0.

  • Structure: The encoder explicitly dictates the width of each individual column and the height of each individual row. This allows for tiles of varying dimensions across the same frame.
  • Signaling: Because each column width and row height must be individually declared, arbitrary tiling increases the signaling overhead in the frame header compared to the uniform approach.
  • Ideal Use Case: Specialized streaming applications, such as 360-degree virtual reality (VR) video and viewport-dependent streaming. In VR, higher-resolution or custom-sized tiles can be allocated to the user's active field of view, while peripheral regions use differently sized tiles to save bandwidth and compute resources.

Key Differences

Feature Uniform Tile Grid Arbitrary Tile Grid
Tile Sizing Equal dimensions across rows/columns Custom dimensions per row/column
Bitstream Overhead Minimal (signaled via log2 values) Higher (explicit per-column/row signaling)
Implementation Complexity Simple, widely supported Higher complexity for encoder rate control
Primary Advantage Efficient parallel CPU/GPU scaling Granular control for specialized video delivery

Choosing between uniform and arbitrary tiling depends on the distribution pipeline. Uniform tiling remains the default choice for general consumer video, whereas arbitrary tiling serves targeted applications that require dynamic, localized resource allocation.