Opened 3 years ago
Closed 3 years ago
#72 closed defect (fixed)
Potential issue with CCLM specification text in VVC D2 v4
Reported by: | vdrugeon | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | VVC D2 v5 |
Component: | spec | Version: | VVC D2 v4 |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
In section 8.2.4.2.8, the neighboring luma samples pY[x][y] are derived for many values of x and y, specifically x = −1..−3, y = 0..2 * nTbH − 1 for the left samples, x = 0..2 * nTbW − 1, y = −1, −2 for the top samples and x = −1, y = −1, −2 for the top left samples. However, only three sample positions are checked for availability, namely position ( xTbY − 1, yTbY ) for availL, position ( xTbY, yTbY − 1 ) for availT and position ( xTbY − 1, yTbY − 1 ) for availTL. Therefore, if availL is equal to true, I think that it only means that the sample at position ( xTbY − 1, yTbY ) is available, but not that all the other samples left are available.
A similar issue was solved in process 8.2.4.2.2 by deriving availableN for every luma location. Should the same be done in this process?
Change history (5)
comment:1 Changed 3 years ago by vdrugeon
comment:2 Changed 3 years ago by bbross
Also there is a division by 0 issue in CCLM reported by Minhua:
a1s = a1 >> k2
a2s = a2 >> k3 (8‑69)
lmDiv = ( 1 << ( BitDepthY + 4 ) + a2s / 2 ) / a2s
a2t = ( a2s < 32 ) ? 0 : lmDiv
a2s can be 0, so division by zero can happen.
If lmDiv is not used elsewhere, it might be better to rewrite it as
a1s = a1 >> k2
a2s = a2 >> k3 (8‑69)
a2t = ( a2s < 32 ) ? 0 : ( 1 << ( BitDepthY + 4 ) + a2s / 2 ) / a2s
comment:3 Changed 3 years ago by bbross
Regarding the neighboring luma samples, checking one sample left, top-left and top is enough since the neighboring luma samples are always available when decoding chroma except:
a) left picture / slice boundary -> checking one sample left is sufficient
b) top picture / slice boundary -> checking one sample top is sufficient
c) top left CTU is in another slice -> checking one sample top-left is sufficient
comment:4 Changed 3 years ago by bbross
- Milestone set to VVC D2 v5
comment:5 Changed 3 years ago by bbross
- Resolution set to fixed
- Status changed from new to closed
fixed in D2 v5
In step 7, I would suggest to use parenthesis to describe the calculation of l, c, ll and lc.
My current assumption is that, in equations (8-61) to (8-64), the operator "x ? y : z" should take precedence over the addition "+". Is that correct? If yes, it is an issue, because Table 5-1 clearly states that addition takes precedence over "x ? y : z".