Opened 5 years ago
Closed 5 years ago
#389 closed defect (fixed)
Decoding process for residual signal in case of SBT is missing
Reported by: | zhaoyin | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | VVC D6 vD |
Component: | spec | Version: | VVC D6 vC |
Keywords: | sbt residual | Cc: | vzakharc, yuwenhe, jvet@… |
Description
In 8.5.8 (Decoding process for the residual signal of coding blocks coded in inter prediction mode), the residual of a CU is processed. However, in the case of SBT, the spec is not correct since the width and height of the residual TU is set as nTbW and nTbH, and the position of the residual TU is set as (xTbY, yTbY).
To fix this issue, the following text is suggested to be added in 8.5.8:
– Otherwise, if cu_sbt_flag is equal to 1 and cu_sbt_pos_flag is equal to 0, the following applies:
- The variables wPartIdx and hPartIdx are derived as follows:
wPartIdx = cu_sbt_horizontal_flag ? 4 : ( cu_sbt_quad_flag ? 1 : 2 ) (8-XX)
hPartIdx = !cu_sbt_horizontal_flag ? 4 : ( cu_sbt_quad_flag ? 1 : 2 ) (8-XX)
- The scaling and transformation process as specified in clause 8.7.2 is invoked with the luma location ( xTbY , yTbY ), the variable cIdx, ( nTbW * wPartIdx / 4 ) and ( nTbH * hPartIdx / 4 ) as inputs, and the output is an ( nTbW * wPartIdx / 4 )x( nTbH * hPartIdx / 4 ) array resSamples.
– Otherwise, if cu_sbt_flag is equal to 1 and cu_sbt_pos_flag is equal to 1, the following applies:
- The variables wPartIdx, hPartIdx, xPartIdx and yPartIdx are derived as follows:
wPartIdx = cu_sbt_horizontal_flag ? 4 : ( cu_sbt_quad_flag ? 1 : 2 ) (8-XX)
hPartIdx = !cu_sbt_horizontal_flag ? 4 : ( cu_sbt_quad_flag ? 1 : 2 ) (8-XX)
xPartIdx = cu_sbt_horizontal_flag ? 0 : ( cu_sbt_quad_flag ? 3 : 2 ) (8-XX)
yPartIdx = !cu_sbt_horizontal_flag ? 0 : ( cu_sbt_quad_flag ? 3 : 2 ) (8-XX)
- The scaling and transformation process as specified in clause 8.7.2 is invoked with the luma location ( xTbY + nTbW * xPartIdx / 4, yTbY + nTbH * yPartIdx / 4 ), the variable cIdx, ( nTbW * wPartIdx / 4 ) and ( nTbH * hPartIdx / 4 ) as inputs, and the output is an ( nTbW * wPartIdx / 4 )x( nTbH * hPartIdx / 4 ) array resSamples.
before
– Otherwise, the scaling and transformation process as specified in clause 8.7.2 is invoked with the luma location ( xTbY, yTbY ), the variable cIdx, the transform width nTbW and the transform height nTbH as inputs, and the output is an (nTbW)x(nTbH) array resSamples.
Change history (2)
comment:1 Changed 5 years ago by zhaoyin
- Component changed from 360Lib to spec
comment:2 Changed 5 years ago by bbross
- Resolution set to fixed
- Status changed from new to closed
Will be fixed in vD