Opened 5 years ago
Closed 5 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 5 years ago by bbross
- Resolution set to fixed
- Status changed from new to closed
Fixed in D6 vC