Opened 4 years ago

Closed 4 years ago

#1146 closed defect (fixed)

6.4.4 neighboring availability checking issues

Reported by: bbross Owned by:
Priority: minor Milestone: VVC D10
Component: spec Version: VVC D9 vB
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

The following issues related to the neighboring availability process in 6.4.4 need to be fixed / clarified:

Availability of neighboring blocks (below-left, top-left, right, top-right) is intended to be controlled by the array IsAvailable[ cIdx ][ x ][ y ]. This array is initialized to FALSE at the beginning of each CTU and set to TRUE for each CU after being decoded. However, this would leave the CTUs to the right and (when processed sequentially in raster scan) the CTU to the bottom-left uninitialized. In order to make sure these two CTUs are always marked as unavailable the following conditions need to be added in 6.4.4:

If one or more of the following conditions are true, availableN is set equal to FALSE:
– xNbY is less than 0.
– yNbY is less than 0.
– xNbY is greater than or equal to pps_pic_width_in_luma_samples.
– yNbY is greater than or equal to pps_pic_height_in_luma_samples.
– ( xNbY >> CtbLog2SizeY ) is greater than ( xCurr >> CtbLog2SizeY ) and ( yNbY >> CtbLog2SizeY ) is greater than or equal to ( yCurr >> CtbLog2SizeY )
– ( yNbY >> CtbLog2SizeY ) is greater than or equal to (yCurr >> CtbLog2SizeY ) + 1

– IsAvailable[ cIdx ][ xNbY ][ yNbY ] is equal to FALSE.
– The neighbouring block is contained in a different slice than the current block.
– The neighbouring block is contained in a different tile than the current block.
– sps_entropy_coding_sync_enabled_flag is equal to 1 and ( xNbY >> CtbLog2SizeY ) is greater than or equal to (xCurr >> CtbLog2SizeY ) + 1.

Furthermore, in the initialization of IsAvailable at the beginning of the Coding tree unit semantics in 7.4.11.2, the locations x0, y0 needs to be replaced by the top-left luma sample location of the current CTU:

The array IsAvailable[ cIdx ][ x ][ y ] specifying whether the sample at ( x, y ) is available for use in the derivation process for neighbouring block availability as specified in clause 6.4.4 is initialized as follows for cIdx = 0..2, x = x0..x0xCtb..xCtb + CtbSizeY − 1, and y = y0..y0yCtb..yCtb + CtbSizeY − 1:

Change history (2)

comment:1 Changed 4 years ago by bbross

  • Milestone set to VVC D10
  • Version set to VVC D9 vB

comment:2 Changed 4 years ago by bbross

  • Resolution set to fixed
  • Status changed from new to closed

This will be fixed in JVET-S2001-v7.

Note: See TracTickets for help on using tickets.