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?