Graphics Reference
In-Depth Information
Although the following subsections discuss the high-level parallelization tools
mainly from a decoder point-of-view, both WPP and tiles may be used for
parallelization of encoders as well.
3.3.2.1
Tiles
When tiles are enabled in HEVC, the picture is divided into rectangular-shaped
groups of CTUs separated by vertical and/or horizontal boundaries [ 9 , 18 , 29 ]. The
PPS syntax element tiles_enabled_flag indicates the use of tiles. The tile
approach has some similarities to slice groups in H.264 j MPEG-4 AVC using the
feature of flexible macroblock ordering (FMO) with slice group map type 2.
The number of tiles and the location of their boundaries can be defined
for the entire sequence or changed from picture to picture. This is achieved
in the PPS by signaling parameters such as num_tile_columns_minus1 ,
num_tile_rows_ minus1 , uniform_spacing_flag , column_width
_minus1 and row_ height_minus1 . With these syntax elements the number
of tiles, as well as the picture partitioning into tiles can be defined. Since the
tile signaling is included in the PPS, this structure may change on a per picture
basis. This has the benefit that an encoder can use different ways of arranging
the tiles in different pictures in order to control the load balancing between cores
used for encoding/decoding. For example, if a region of a picture should require
more processing resources, such a region may be subdivided into more tiles than
other regions which may require less encoding/decoding resources. But the required
encoder/decoder resource management, which determines the tile structure, needs
to be applied before the actual encoding process.
Tile boundaries, similarly to slice boundaries, do break parsing and prediction
dependencies so that a tile can be processed independently, but the in-loop (deblock-
ing and SAO) filters can still cross tile boundaries in order to optionally prevent tile
border artifacts. This functionality is controlled by the loop_filter_across_
tiles_enabled_flag syntax element in the PPS.
The fact that a tile can be processed independently from other tiles in a picture
makes tiles also very suitable for lossy transmission environments, if tiles of a
picture are transported in different packets.
Tiles do change the regular scan order of CTUs from picture-based raster scan
order (i.e., CTUs are processed row-wise from left to right) to a tile-based raster
scan order, of which an example is shown in Fig. 3.10 . Since the tile scan order
itself may be different from the picture raster scan order used in typical picture
processing systems, decoders may process the CTUs of tiles still in a picture-based
raster scan fashion not exploiting any parallelization. Note that this can be achieved
by storing and reloading the values of all CABAC context variables for each tile at
the tile boundaries while moving from one CTU row to the next.
Constraints are set on the relationship between slices, slice segments and tiles. At
least one of the following conditions shall be true for each slice and tile in a picture:
All CTUs in a slice belong to the same tile, or all CTUs in a tile belong to the
Search WWH ::




Custom Search