Tile Format - 3.0 English - PG278

Video Frame Buffer Read and Video Frame Buffer Write LogiCORE IP Product Guide (PG278)

Document ID
PG278
Release Date
2024-12-11
Version
3.0 English

Tiling is a method of re-arranging the pixels of a surface so that pixels that are close in the two-dimensional euclidean space are more likely to be stored close to each other in the memory. A tiled image is formed by dividing the image pixels into two-dimensional blocks or tiles. Each tile takes up a chunk of contiguous memory. Tiles are stored in raster scan order from left to right and from top to bottom within each plane.

Tile0 Tile1 Tile2 ... TileN-2 TileN-1  
TileN TileN+1 TileN+2 ... Tile2N-2 Tile2N-1
Tile2N Tile2N+1 Tile2N+2 ... Tile3N-2 Tile3N-1
... ... ... ... ... ...

The frame buffer read and write IPs support memory video format in two tile sizes: 32 × 4 and 64 × 4.

32 × 4 Tiled Format

With B corresponding to a block of 4 × 4 pixel components, the sample order within a 32 × 4 tile corresponds to a sequence of eight 4 × 4 blocks:

B0 B1 B2 B3 B4 B5 B6 B7
64 × 4 Tiled Format

The sample order within a 64 × 4 tile corresponds to a sequence of sixteen 4 × 4 blocks:

B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15

The sample order within each 4 × 4 block B corresponds to the raster scan order.

Luma

The order of pixel components within a 4 × 4 block in luma plane is shown below:

Yx,0 Yx,1 Yx,2 Yx,3
Yx,4 Yx,5 Yx,6 Yx,7
Yx,8 Yx,9 Yx,A Yx,B
Yx,C Yx,D Yx,E Yx,F
Chroma Non-Interleaved

With C corresponding to either Cb or Cr block, the order of pixel components within a 4 × 4 block in Cb or Cr plane is shown below:

Cx,0 Cx,1 Cx,2 Cx,3
Cx,4 Cx,5 Cx,6 Cx,7
Cx,8 Cx,9 Cx,A Cx,B
Cx,C Cx,D Cx,E Cx,F
Chroma Interleaved

The order of pixel components within a 4 × 4 block in interleaved Chroma plane is shown below:

Cbx,0 Crx,0 Cbx,1 Crx,1
Cbx,2 Crx,2 Cbx,3 Crx,3
Cbx,4 Crx,4 Cbx,5 Crx,5
Cbx,6 Crx,6 Cbx,7 Crx,7

Consequently, in a 4:2:0 picture, there are half as many chroma tiles as luma tiles because the chroma plane has half the vertical size of the luma plane besides having the same horizontal size, as Cb and Cr components are interleaved. In 4:4:4 and 4:2:2 pictures, there are equal number of chroma and luma tiles.

The pixel components within each tile are fully packed so the memory footprint of a tile is:

  • 128 bytes for an 8-bit 32 × 4 tile
  • 160 bytes for a 10-bit 32 × 4 tile
  • 192 bytes for a 12-bit 32 × 4 tile
  • 256 bytes for an 8-bit 64 × 4 tile
  • 320 bytes for a 10-bit 64 × 4 tile
  • 384 bytes for a 12-bit 64 × 4 tile