Opened 2 years ago

Closed 2 years ago

#358 closed defect (fixed)

Fixes related to BDPCM

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

Description

Three fixes need to be added to the WD:

1.The signalling of TS mode/MTS index shall be under the condition check of non-BDPCM flag.

7.3.8.10 Transform unit syntax
if( tu_cbf_luma[ x0 ][ y0 ] && treeType != DUAL_TREE_CHROMA && ( tbWidth <= 32 ) && ( tbHeight <= 32 ) && ( IntraSubPartitionsSplit[ x0 ][ y0 ] = = ISP_NO_SPLIT ) && ( !cu_sbt_flag ) && !intra_bdpcm_flag[ x0 ][ y0 ]) {

if( transform_skip_enabled_flag && tbWidth <= MaxTsSize && tbHeight <= MaxTsSize )

transform_skip_flag[ x0 ][ y0 ] ae(v)

if( (( CuPredMode[ x0 ][ y0 ] = = MODE_INTER && sps_explicit_mts_inter_enabled_flag )

| | ( CuPredMode[ x0 ][ y0 ] = = MODE_INTRA && sps_explicit_mts_intra_enabled_flag ))
&& ( !transform_skip_flag[ x0 ][ y0 ] ) )
tu_mts_idx[ x0 ][ y0 ] ae(v)

}

2.Semantics of cu_cbf need to be revised that when BDPCM is applied, cu_cbf should be inferred to be 1 instead of 0.
When cu_cbf is not present, it is inferred as follows:
– If cu_skip_flag[ x0 ][ y0 ] is equal to 1 or BdpcmFlag[ x0 ][ y0 ] is equal to 1, cu_cbf is inferred to be equal to 0.
– Otherwise, cu_cbf is inferred to be equal to 1.

3. In residual_ts_coding() syntax table, the block address associated with intra_bdpcm_flag is missing.

if( intra_bdpcm_flag[ x0 ][ y0 ] = = 0 ) {

absRightCoeff = abs( TransCoeffLevel[ x0 ][ y0 ][ cIdx ][ xC − 1 ][ yC ] )
absBelowCoeff = abs( TransCoeffLevel[ x0 ][ y0 ][ cIdx ][ xC ][ yC − 1 ] )
predCoeff = Max( absRightCoeff, absBelowCoeff )

Thanks Xin Zhao for discussion and confirmation!

Change history (1)

comment:1 Changed 2 years ago by bbross

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

Fixed in D6 vC

Note: See TracTickets for help on using tickets.