 all slices of the picture belong to the same slice group. The allowed range of num_slice_groups_minus1 is specified in Annex A. slice_group_map_type specifies how the mapping of slice group map units to slice groups is coded. The value of slice_group_map_type shall be in the range of 0 to 6, inclusive. slice_group_map_type equal to 0 specifies interleaved slice groups. slice_group_map_type equal to 1 specifies a dispersed slice group mapping. slice_group_map_type equal to 2 specifies one or more "foreground" slice groups and a "leftover" slice group. slice _group_map_type values equal to 3, 4, and 5 specify changing slice groups. When num_slice_groups_minus1 is not equal to 1, slice_group_map_type shall not be equal to 3, 4, or 5. slice_group_map_type equal to 6 specifies an explicit assignment of a slice group to each slice group map unit. Slice group map units are specified as follows: If frame_mbs_only_flag is equal to 0 and mb_adaptive_frame_field_flag is equal to 1 and the coded picture is a frame, the slice group map units are macroblock pair units. Otherwise, if frame_mbs_only_flag is equal to 1 or the coded picture is a field, the slice group map units are units of macroblocks. Otherwise (frame_mbs_only_flag is equal to 0 and mb_adaptive_frame_field_flag is equal to 0 and the coded picture is a frame), the slice group map units are units of two macroblocks that are vertically contiguous as in a frame macroblock pair of an MBAFF frame. run_length_minus1| is used to specify the number of consecutive slice group map units to be assigned to the i-th slice group in raster scan order of slice group map units. The value of run_length_minus1[i] shall be in the range of 0 to PicSizeInMapUnits - 1, inclusive. top_left[ and bottom_right| i I specify the top-left and bottom-right corners of a rectangle, respectively. top_left[ and bottom_right[ i ] are slice group map unit positions in a raster scan of the picture for the slice group map units. For each rectangle i, all of the following constraints shall be obeyed b