Opened 5 years ago

Last modified 4 years ago

#337 closed defect

Cross component prediction tool in VTM but not described in spec — at Initial Version

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

Description

In VTM 5.0 within CABACReader::transform_unit, the following code may result in the decoding of a CCP flag, and then a CCP alpha value

if( TU::hasCrossCompPredInfo( tu, compID ) )
{

cross_comp_pred( tu, compID );

}

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

signed char alpha = 0;
unsigned ctxBase = ( compID == COMPONENT_Cr ? 5 : 0 );
unsigned symbol = m_BinDecoder.decodeBin( Ctx::CrossCompPred(ctxBase) );
if( symbol )
{

Cross-component prediction alpha is non-zero.
symbol = m_BinDecoder.decodeBin( Ctx::CrossCompPred(ctxBase+1) );
if( symbol )
{

alpha is 2 (symbol=1), 4(symbol=2) or 8(symbol=3).
Read up to two more bits
symbol += unary_max_symbol( Ctx::CrossCompPred(ctxBase+2), Ctx::CrossCompPred(ctxBase+3), 2 );

}
alpha = ( 1 << symbol );
if( m_BinDecoder.decodeBin( Ctx::CrossCompPred(ctxBase+4) ) )
{

alpha = -alpha;

}

}
tu.compAlpha[compID] = alpha;

}

In the current spec there are no syntax elements for CCP. Given the CCLM intra prediction mode and the joint chroma residual coding, is CCP to be removed?

Change history (0)

Note: See TracTickets for help on using tickets.