Opened 5 years ago

Closed 4 years ago

#404 closed defect (fixed)

Issue in residual coding

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

Description

In spec:

for( n = numSbCoeff − 1; n  >=  firstPosMode1; n− − ) {
  xC = ( xS << log2SbW ) + DiagScanOrder[ log2SbW ][ log2SbH ][ n ][ 0 ] 
  yC = ( yS << log2SbH ) + DiagScanOrder[ log2SbW ][ log2SbH ][ n ][ 1 ]
  if( abs_level_gtx_flag[ n ][ 1 ] )
    abs_remainder[ n ]
  AbsLevel[ xC ][ yC ] = AbsLevelPass1[ xC ][ yC ] +2 * abs_remainder[ n ]
}
for( n = firstPosMode1; n >= 0; n− − ) {
  xC = ( xS << log2SbW ) + DiagScanOrder[ log2SbW ][ log2SbH ][ n ][ 0 ] 
  yC = ( yS << log2SbH ) + DiagScanOrder[ log2SbW ][ log2SbH ][ n ][ 1 ]
  dec_abs_level[ n ]
...

The range of these two for loop include both firstPosMode1, which seems troublesome as this is two different way to code AbsLevel[n].
In vtm, the first loop do not include firstPosMode1.

Change history (2)

comment:1 Changed 5 years ago by forayr

There is also another issue which happens after O0052 integration.

A subblock fulfilling all the following conditions could happen:

  • not the last subblock
  • coded_sub_block_flag = 0
  • remBinsPass1 < 4

In this case firstPosMode1 = numSbCoeff - 1, therefore no abs_remainder are parsed, but dec_abs_level are, which seems to be an issue as coded_sub_block_flag = 0 !
In the vtm, as soon as coded_sub_block_flag = 0, nothing is parsed.

comment:2 Changed 4 years ago by bbross

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

Thanks and always very helpful!

Both issues will be fixed in JVET-P2001-vC as follows:

1.
a) init firstPosMode1 = firstPosMode0 (instead of -1)
b) remove if( remBinsPass1 < 4) before firstPosMode1 = n-1 (always set to n-1)
c) change abs_remainder loop to for( n = firstPosMode0; n > firstPosMode1; n− − )

2.
a) Condition dec_abs_level parsing on coded_sub_block_flag:
if( coded_sub_block_flag[ xS ][ yS ] )

dec_abs_level[ n ]

b) add derivation rule for AbsLevel in dec_abs_level semantics in case dec_abs_level is not present

Note: See TracTickets for help on using tickets.