Opened 3 months ago

Closed 2 months ago

Last modified 2 months ago

#570 closed defect (fixed)

Typo in 8.7.1 on chroma QP derivation

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

Description

– The variables qPCb, qPCr and qPCbCr are derived as follows:

qPiChroma = Clip3( −QpBdOffsetC, 63, QpY ) (8 935)
qPiCb = ChromaQpTable[ 0 ][ qPiChroma ] (8 936)
qPiCr = ChromaQpTable[ 1 ][ qPiChroma ] (8 937)
qPiCbCr = ChromaQpTable[ 2 ][ qPiChroma ] (8 938)

In above equations, the variables starting with 'qPi' should be replaced by 'qP'.

Change history (3)

comment:1 Changed 2 months ago by bbross

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

Good catch and thanks for reporting.

This will be fixed JVET-P2001-vC.

comment:2 Changed 2 months ago by delagrangep

Not completely fixed in JVET-P2001-vC (qPiChroma leftovers):

  qPChroma = Clip3( −QpBdOffset, 63, QpY )              (8 923)
  qPCb = ChromaQpTable[ 0 ][ qPiChroma ]                (8 924)
  qPCr = ChromaQpTable[ 1 ][ qPiChroma ]                (8 925)
  qPCbCr = ChromaQpTable[ 2 ][ qPiChroma ]              (8 926)

I suggest renaming qPChroma/qPiChroma to just qPi or even i; that variable is local to (8-924..926), which could be grouped into a single equation, e.g.:

  qPCb = ChromaQpTable[ 0 ][ i ]
  qPCr = ChromaQpTable[ 1 ][ i ]
  qPCbCr = ChromaQpTable[ 2 ][ i ]                      (8 923)
  with i = Clip3( −QpBdOffset, 63, QpY )

Even simpler, since clipping QpY is useless (already forced to legal range by overflow in (8-921), we can just write:

  qPCb = ChromaQpTable[ 0 ][ QpY]                 (8 923)
  qPCr = ChromaQpTable[ 1 ][ QpY ]                (8 924)
  qPCbCr = ChromaQpTable[ 2 ][ QpY ]              (8 925)

comment:3 Changed 2 months ago by bbross

Thanks, for now I went for the minimal change in just removing the i.
Will be fixed in JVET-P2001-vD

Note: See TracTickets for help on using tickets.