Opened 2 years ago

Closed 2 years ago

#398 closed defect (fixed)

Spec text fix for zero-out in primary transformation process (Clause 8.7.4.1)

Reported by: xinzhao Owned by:
Priority: minor Milestone:
Component: spec Version: VVC D6 vD
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

In JVET-O2001-vD, the variable defining zero-out on primary transform process is derived as follows,

The variables nonZeroW and nonZeroH are derived as follows:
– If lfnst_idx[ xTbY ][ yTbY ] is not equal to 0, the following applies:

nonZeroW = ( nTbW = = 4 | | nTbH = = 4 ) ? 4 : 8 (8 977)
nonZeroH = ( nTbW = = 4 | | nTbH = = 4 ) ? 4 : 8 (8 978)

– Otherwise, the following applies:

nonZeroW = Min( nTbW, ( trTypeHor > 0 ) ? 16 : 32 ) (8 979)
nonZeroH = Min( nTbH, ( trTypeVer > 0 ) ? 16 : 32 ) (8 980)

In case lfnst_idx[ xTbY ][ yTbY ] is not equal to 0, and chroma block size is 2xN or Nx2, the above text will apply zero-out for chroma component as well. However, in SW, chroma block does not apply zero-out in this case, which seems to be more reasonable since LFNST is not applied for chroma in this case.

To align with the SW implementation, the following fixes may be suggested:

The variables nonZeroW and nonZeroH are derived as follows:
– If lfnst_idx[ xTbY ][ yTbY ] is not equal to 0 and nTbW is greater than or equal to 4 and nTbH is greater than or equal to 4, the following applies:

nonZeroW = ( nTbW = = 4 | | nTbH = = 4 ) ? 4 : 8 (8 977)
nonZeroH = ( nTbW = = 4 | | nTbH = = 4 ) ? 4 : 8 (8 978)

– Otherwise, the following applies:

nonZeroW = Min( nTbW, ( trTypeHor > 0 ) ? 16 : 32 ) (8 979)
nonZeroH = Min( nTbH, ( trTypeVer > 0 ) ? 16 : 32 ) (8 980)

Change history (1)

comment:1 Changed 2 years ago by bbross

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

Fixed in DE

Note: See TracTickets for help on using tickets.