Opened 4 years ago
Closed 4 years ago
#1239 closed defect (fixed)
Sample value, sample, or sample location? (8.8.3.5)
Reported by: | fbossen | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | spec | Version: | VVC D10 vE |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
In 8.8.3.5, we have:
The sample values p0 and q0 are derived as follows:
– If edgeType is equal to EDGE_VER, p0 is set equal to recPicture[ xCb + xDi − 1 ][ yCb + yDj ] and q0 is set equal to recPicture[ xCb + xDi ][ yCb + yDj ].
– Otherwise (edgeType is equal to EDGE_HOR), p0 is set equal to recPicture[ xCb + xDi ][ yCb + yDj − 1 ] and q0 is set equal to recPicture[ xCb + xDi ][ yCb + yDj ].
Later there are checks such as:
– If cIdx is equal to 0 and both samples p0 and q0 are in a coding block with intra_bdpcm_luma_flag equal to 1, bS[ xDi ][ yDj ] is set equal to 0.
– Otherwise, if cIdx is greater than 0 and both samples p0 and q0 are in a coding block with intra_bdpcm_chroma_flag equal to 1, bS[ xDi ][ yDj ] is set equal to 0.
Are p0 and q0 samples or sample values? Or would it make more sense to use sample locations here, as for example below?
– If BdpcmFlag[ xp0 ][ yp0 ][ cIdx ] is equal to 1 and BdpcmFlag[ xq0 ][ yq0 ][ cIdx ] is equal to 1, bS[ xDi ][ yDj ] is set equal to 0.
where the following definitions would apply:
The luma sample locations ( xp0 , yp0 ) and ( xq0 , yq0 ) are derived as follows:
– ( xq0 , yq0 ) is set equal to ( ( xCb + xDi ) * scaleWidth , ( yCb + yDj ) * scaleHeight ).
– If edgeType is equal to EDGE_VER, ( xp0 , yp0 ) is set equal to ( xq0 − 1 , yq0 ).
– Otherwise (edgeType is equal to EDGE_HOR), ( xp0 , yp0 ) is set equal to ( xq0 , yq0 − 1 ).
Change history (4)
comment:1 Changed 4 years ago by jlchen
comment:2 Changed 4 years ago by fbossen
If you want to limit the changes, you could also say:
The samples p0 and q0 are defined as follows:
– If edgeType is equal to EDGE_VER, p0 is recPicture[ xCb + xDi − 1 ][ yCb + yDj ] and q0 is recPicture[ xCb + xDi ][ yCb + yDj ].
– Otherwise (edgeType is equal to EDGE_HOR), p0 is recPicture[ xCb + xDi ][ yCb + yDj − 1 ] and q0 is recPicture[ xCb + xDi ][ yCb + yDj ].
Essentially, we're just trying to say that p0 and q0 are shorthand notation for elements of recPicture.
comment:3 Changed 4 years ago by jlchen
Your suggestion looks good to me. I will integrate as it is, but still keep the ticket open. Maybe Ben can come out better words for the "shorthand notation"
comment:4 Changed 4 years ago by bbross
- Resolution set to fixed
- Status changed from new to closed
Looks sufficiently well to me and will be in vF as integrated by Jianle.
p0 and q0 are samples here. The suggestion is clearer for this aspect. However p0 and q0 are used many times in 8.8.3.5, quite a lot of modification would be need to handle all of them.
At this moment, I would preferred the solution as follows:
"The sample values p0 and q0 are derived as follows:" -> "The samples p0 and q0 are derived as follows:"
And the following changes can further done be top of that:
– If edgeType is equal to EDGE_VER, p0 is set as recPicture[ xCb + xDi − 1 ][ yCb + yDj ] and q0 is set as recPicture[ xCb + xDi ][ yCb + yDj ].
– Otherwise (edgeType is equal to EDGE_HOR), p0 is set as recPicture[ xCb + xDi ][ yCb + yDj − 1 ] and q0 is set as recPicture[ xCb + xDi ][ yCb + yDj ].