Opened 4 years ago

Closed 4 years ago

#1359 closed defect (fixed)

Hemisphere cubemap sample location adjustment (8.15.1.10)

Reported by: LouiseLee Owned by:
Priority: minor Milestone:
Component: VUI/SEI Version:
Keywords: Cc: yk, garysull@…, jill.boyce@…, jvet@…

Description

In 8.15.1.10, the process is for adjusting sample locations to the correct half face according to the full face index when the hemisphere cubemap is used.
However, the calculation of tmpHorPos and tmpVerPos will make all the samples move to the top left quarter of the face and result in two samples on the same location.
The entire process is shown below:

rightFaceIdx = {4, 2, 0, 1, 1, 0}
bottomFaceIdx = {3, 5, 5, 5, 3, 3}
if( n = = 2 ) {

hPosAdj = hPosRot
vPosAdj = vPosRot

} else {

tmpHorPos = hPosRot > faceWidth / 2 ? hPosRot - faceWidth / 2 : hPosRot
tmpVerPos = vPosRot > faceHeight / 2 ? vPosRot - faceHeight / 2 : vPosRot
hPosAdj = hFullFaceIdx[ face_index[ n ] ] = = face_index[ 2 ] ? tmpHorPos + faceWidth / 2 : tmpHorPos
vPosAdj = vFullFaceIdx[ face_index[ n ] ] = = face_index[ 2 ] ? tmpVerPos + faceHeight / 2 : tmpVerPos

}

To fix this issue and adjust the samples to the correct half face, I would suggest the following:

leftFaceIdx = {5, 3, 1, 0, 0, 1}
rightFaceIdx = {4, 2, 0, 1, 1, 0}
topFaceIdx = {2, 4, 4, 4, 2, 2}
bottomFaceIdx = {3, 5, 5, 5, 3, 3}
hPosAdj = hPosRot
vPosAdj = vPosRot
if( n != 2 ) {

if( face_index[ 2 ] = = leftFaceIdx[ face_index[ n ] ] && hPosAdj >= faceWidth / 2 ) {

hPosAdj −= faceWidth / 2

} else if( face_index[ 2 ] = = rightFaceIdx[ face_index[ n ] ] && hPosAdj < faceWidth / 2 ) {

hPosAdj += faceWidth / 2

} else if( face_index[ 2 ] = = topFaceIdx[ face_index[ n ] ] && vPosAdj >= faceHeight / 2 ) {

vPosAdj −= faceHeight / 2

} else if( face_index[ 2 ] = = bottomFaceIdx[ face_index[ n ] ] && vPosAdj < faceHeight / 2 ) {

vPosAdj += faceHeight / 2

}

}

Change history (1)

comment:1 Changed 4 years ago by yk

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

Thanks. Will be fixed in JVET-S2007-v7.

Note: See TracTickets for help on using tickets.