Opened 5 years ago

Closed 3 years ago

#295 closed defect (fixed)

Mismatch with spec on bS derivation when both sides of the edge have intra_bdpcm_flag equal to 1

Reported by: chiaming Owned by:
Priority: minor Milestone:
Component: VTM Version: VTM-5.0
Keywords: Cc: ksuehring, XiangLi, fbossen, jvet@…

Description

According to JVET-N1001-v7, in clause 8.8.3.5, the bS is derived as:

– If cIdx is equal to 0 and both samples p0 and q0 are in a coding block with intra_bdpcm_flag equal to 1, bS[ xDi ][ yDj ] is set equal to 0.
– Otherwise, if the sample p0 or q0 is in the coding block of a coding unit coded with intra prediction mode, bS[ xDi ][ yDj ] is set equal to 2.
– Otherwise, ...

However, in VTM5.0, the bS values for luma and chroma components are all set to 0 when both sides of the edge have intra_bdpcm_flag equal to 1. It is suggested to fix the code from

if( ( MODE_INTRA == cuP.predMode && cuP.bdpcmMode ) && ( MODE_INTRA == cuQ.predMode && cuQ.bdpcmMode ) )
{
  return 0;
}

to

if( ( MODE_INTRA == cuP.predMode && cuP.bdpcmMode ) && ( MODE_INTRA == cuQ.predMode && cuQ.bdpcmMode ) )
{
   return (BsSet(0, COMPONENT_Y) + BsSet(2, COMPONENT_Cb) + BsSet(2, COMPONENT_Cr));
}

Change history (1)

comment:1 Changed 3 years ago by fbossen

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.