Opened 4 years ago

Closed 4 years ago

#1312 closed defect (invalid)

Mismatch of equations between spec (JVET-S2001-vG) & VTM10.0 in BDOF

Reported by: ksthey Owned by:
Priority: minor Milestone:
Component: spec Version:
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

In 8.5.6.5 Bi-directional optical flow prediction process, equations 964 & 965:
sGxdI = ij( Sign( tempH[ xSb + i ][ ySb + j ] ) * diff[ xSb + i ][ ySb + j ] ) with i, j = −1..4
sGydI = ij( Sign( tempV[ xSb + i ][ ySb + j ] ) * diff[ xSb + i ][ ySb + j ] ) with i, j = −1..4

The corresponding source code in VTM10.0, calcBIOSumsCore():
*sumDIX += (tmpGX < 0 ? -tmpDI : (tmpGX == 0 ? 0 : tmpDI));
*sumDIY += (tmpGY < 0 ? -tmpDI : (tmpGY == 0 ? 0 : tmpDI));

The ""s before the "Sign"s in spec seem like not reflected in VTM.

Change history (2)

comment:1 Changed 4 years ago by iperroux

In the VTM, the sign is borne by the tmpDI variable, which is initialized inversely compared to the diff variable in the Spec:

[VTM ] tmpDI = (srcY1Tmp[x] >> shift4) - (srcY0Tmp[x] >> shift4)
[SPEC] diff[x][y] = (predSamplesL0[hx][vy] << shift2) - (predSamplesL1[hx][vy] << shift2)

=> tmpDI = -diff[x][y], so there’s no mismatch at the end.

comment:2 Changed 4 years ago by ksthey

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

Thanks for pointing out.
Yes, my understanding was incorrect.

Note: See TracTickets for help on using tickets.