Opened 5 years ago
Closed 5 years ago
#836 closed defect (fixed)
Variables in rectangular slice map initialization
Reported by: | luoda | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | spec | Version: | |
Keywords: | VVC D8 vA | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
In VVC D8 vA, 6.5.1 rectangular slice map derivation, num_slices_in_tile_minus1 is not a syntax element in the following text,
else { tileIdx = 0 for( i = 0; i <= num_slices_in_pic_minus1; i++ ) NumCtusInSlice[ i ] = 0 for( i = 0; i <= num_slices_in_pic_minus1; i++ ) { SliceTopLeftTileIdx[ i ] = tileIdx tileX = tileIdx % NumTileColumns tileY = tileIdx / NumTileColumns if( i = = num_slices_in_pic_minus1 ) { slice_width_in_tiles_minus1[ i ] = NumTileColumns − 1 − tileX slice_height_in_tiles_minus1[ i ] = NumTileRows − 1 − tileY num_slices_in_tile_minus1[ i ] = 0 } if( slice_width_in_tiles_minus1[ i ] = = 0 && slice_height_in_tiles_minus1[ i ] = = 0 ) { (29) ctbY = tileRowBd[ tileY ] numSlicesInTileMinus1 = NumSlicesInTile[ i ] − 1 for( j = 0; j < num_slices_in_tile_minus1[ i ]; j++ ) { AddCtbsToSlice( i, tileColBd[ tileX ], tileColBd[ tileX + 1 ], ctbY, ctbY + SliceHeightInCtusMinus1[ i ] + 1 ) ctbY += SliceHeightInCtusMinus1[ i ] + 1 i++ } AddCtbsToSlice( i, tileColBd[ tileX ], tileColBd[ tileX + 1 ], ctbY, tileRowBd[ tileY + 1 ] ) } else for( j = 0; j <= slice_height_in_tiles_minus1[ i ]; j++ ) for( k = 0; k <= slice_width_in_tiles_minus1[ i ]; k++ ) AddCtbsToSlice( i, tileColBd[ tileX + k ], tileColBd[ tileX + k + 1 ], tileRowBd[ tileY + j ], tileRowBd[ tileY + j + 1 ] ) if( tile_idx_delta_present_flag ) tileIdx += tile_idx_delta[ i ] else { tileIdx += slice_width_in_tiles_minus1[ i ] + 1 if( tileIdx % NumTileColumns = = 0 ) tileIdx += slice_height_in_tiles_minus1[ i ] * NumTileColumns } } }
Suggest to change it to the following:
else { tileIdx = 0 for( i = 0; i <= num_slices_in_pic_minus1; i++ ) NumCtusInSlice[ i ] = 0 for( i = 0; i <= num_slices_in_pic_minus1; i++ ) { SliceTopLeftTileIdx[ i ] = tileIdx tileX = tileIdx % NumTileColumns tileY = tileIdx / NumTileColumns if( i = = num_slices_in_pic_minus1 ) { slice_width_in_tiles_minus1[ i ] = NumTileColumns − 1 − tileX slice_height_in_tiles_minus1[ i ] = NumTileRows − 1 − tileY NumSliceInTile[ i ] = 1 } if( slice_width_in_tiles_minus1[ i ] = = 0 && slice_height_in_tiles_minus1[ i ] = = 0 ) { (29) ctbY = tileRowBd[ tileY ] for( j = 0; j < NumSlicesInTiles[ i ] - 1; j++ ) { AddCtbsToSlice( i, tileColBd[ tileX ], tileColBd[ tileX + 1 ], ctbY, ctbY + SliceHeightInCtusMinus1[ i ] + 1 ) ctbY += SliceHeightInCtusMinus1[ i ] + 1 i++ } AddCtbsToSlice( i, tileColBd[ tileX ], tileColBd[ tileX + 1 ], ctbY, tileRowBd[ tileY + 1 ] ) } else for( j = 0; j <= slice_height_in_tiles_minus1[ i ]; j++ ) for( k = 0; k <= slice_width_in_tiles_minus1[ i ]; k++ ) AddCtbsToSlice( i, tileColBd[ tileX + k ], tileColBd[ tileX + k + 1 ], tileRowBd[ tileY + j ], tileRowBd[ tileY + j + 1 ] ) if( tile_idx_delta_present_flag ) tileIdx += tile_idx_delta[ i ] else { tileIdx += slice_width_in_tiles_minus1[ i ] + 1 if( tileIdx % NumTileColumns = = 0 ) tileIdx += slice_height_in_tiles_minus1[ i ] * NumTileColumns } } }
Change history (1)
comment:1 Changed 5 years ago by yk
- Resolution set to fixed
- Status changed from new to closed
Note: See TracTickets for help on using tickets.
Good catch! Thanks! To be fixed in JVET-Q2001-vB.