Opened 6 years ago

Closed 5 years ago

#336 closed defect (wontfix)

Explicit RDPCM syntax element missing

Reported by: jonathang Owned by:
Priority: minor Milestone:
Component: spec Version: VVC D5 v10
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

In VTM 5.0 within CABACReader::residual_coding, the function CABACReader::explicit_rdpcm_mode is called and may result in the decoding of an RDPCM flag and RDPCM direction from the bitstream if CU::isRDPCMEnabled(cu) is True:

void CABACReader::explicit_rdpcm_mode( TransformUnit& tu, ComponentID compID )
{

const CodingUnit& cu = *tu.cu;

tu.rdpcm[compID] = RDPCM_OFF;

if( !CU::isIntra(cu) && CU::isRDPCMEnabled(cu) && ( tu.mtsIdx==MTS_SKIP
cu.transQuantBypass ) )

{

RExtDECODER_DEBUG_BIT_STATISTICS_CREATE_SET_SIZE( STATSEXPLICIT_RDPCM_BITS, tu.blocks[tu.chType].lumaSize() );

ChannelType chType = toChannelType( compID );
if( m_BinDecoder.decodeBin( Ctx::RdpcmFlag( chType ) ) )
{

if( m_BinDecoder.decodeBin( Ctx::RdpcmDir( chType ) ) )
{

tu.rdpcm[compID] = RDPCM_VER;

}
else
{

tu.rdpcm[compID] = RDPCM_HOR;

}

}

}

}

This function is called directly after CABACReader::mts_coding, which decodes the transform_skip_flag and tu_mts_idx syntax elements. In the spec (section 7.3.7.10) there are no syntax elements for explicit RDPCM.

Change history (3)

comment:1 Changed 5 years ago by bbross

  • Version changed from VVC D5 v8 to VVC D5 v9

comment:2 Changed 5 years ago by bbross

  • Version changed from VVC D5 v9 to VVC D5 v10

comment:3 Changed 5 years ago by bbross

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

RDPCM not part of the VVC spec and the code parts in VTM are "left overs" from HEVC.

Note: See TracTickets for help on using tickets.