Opened 9 years ago

Closed 4 years ago

#1449 closed defect (fixed)

Incorrect offset derivation in Eq 8-10x from chroma format for CPR

Reported by: cgisquet Owned by:
Priority: major Milestone:
Component: SCC text Version:
Keywords: CPR, interpolation Cc: patrice.onno@…, rajan_joshi, jct-vc@…

Description

Current formulas in 8.5.3.2.1 are:
offsetX = ( ChromaArrayType == 0 ) ? 0 : ( mvCLX[ 0 ] & 0x7 ? 2 : 0 ) (8-106)
offsetY = ( ChromaArrayType == 0 ) ? 0 : ( mvCLX[ 1 ] & 0x7 ? 2 : 0 ) (8-107)
They seem to enforce using an offset even for 4:4:4 with odd mvCLX coordinates.

These formulae should probably read something like:
offsetX = ( ChromaArrayType != 1 && ChromaArrayType != 2 ) ? 0 : ( mvCLX[ 0 ] & 0x7 ? 2 : 0 ) (8-106)
offsetY = ( ChromaArrayType != 1 ) ? 0 : ( mvCLX[ 1 ] & 0x7 ? 2 : 0 ) (8-107)
to properly account for 4:2:0 and 4:2:2.

Note: there does not seem to be an appropriate version for the SCC text.

Change History (3)

comment:1 Changed 9 years ago by rajan_joshi

In clause 8.5.3.2.10, chroma motion vectors are derived as follows:

mvCLX[0] = mvLX[0] * 2 / SubWidthC
mvCLX[1] = mvLX[1] * 2 / SubHeightC

mvLX[0] and mvLX[1] are stored in 1/4 th precision. Since for CPR, the luma motion vector is integer pel, mvLX[0] and mvLX[1] are multiples of 4. Since SubWidthC=1 and SubHeightC=1 for 4:4:4 chroma format, mvCLX[0] and mvCLX[1] are multiples of 8 for CPR. Thus offsetX and offsetY will be 0 for 4:4:4 chroma format.

As a side note, chroma motion vectors are derived at the end of clause 8.5.3.2.1. But they are used in the same clause before derivation. This should be fixed.

comment:2 Changed 4 years ago by crosewarne

Regarding "As a side note, chroma motion vectors are derived at the end of clause 8.5.3.2.1. But they are used in the same clause before derivation. This should be fixed.": This was corrected in JCTVC-W1005.

comment:3 Changed 4 years ago by crosewarne

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • Chris Rosewarne(Participant)
  • Christophe Gisquet(Reporter)
  • jct-vc@…(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Always)
  • patrice.onno@…(Subscriber)
  • Rajan Joshi(Subscriber, Participant)