Opened 10 years ago

Closed 7 years ago

#1306 closed defect (fixed)

ScalingFactor for chroma 32x32 mismatch with reference code

Reported by: peterderivaz Owned by:
Priority: major Milestone: HM-15.0
Component: RExt text Version: RExt D7 (Q1005) v8
Keywords: Cc: davidf, joel, teruhiko, jct-vc@…

Description

In Q1005_v9 equation 7-48 is:

ScalingFactor[ 3 ][ matrixId ][ x * 2 + k ][ y * 2 + j ] = ScalingFactor[ 2 ][ matrixId ][ x ][ y ] with x, y = 0..15, j = 0..1, k = 0..1

This means that the scaling factors for size 3 are constructed from the scaling factors for size 2 in such a way that

ScalingFactor[ 3 ][ matrixId ][ 0 ][ 0 ] = ScalingFactor[ 2 ][ matrixId ][ 0 ][ 0 ]
ScalingFactor[ 3 ][ matrixId ][ 0 ][ 1 ] = ScalingFactor[ 2 ][ matrixId ][ 0 ][ 0 ]
ScalingFactor[ 3 ][ matrixId ][ 1 ][ 0 ] = ScalingFactor[ 2 ][ matrixId ][ 0 ][ 0 ]
ScalingFactor[ 3 ][ matrixId ][ 1 ][ 1 ] = ScalingFactor[ 2 ][ matrixId ][ 0 ][ 0 ]

However, the reference code does not appear to behave in this way. In the reference code the DC value (ScalingFactor[ 3 ][ matrixId ][ 0 ][ 0 ]) can have a different value to the other 3.

I think the confusion may arise from the way ScalingFactor[ 2 ] is constructed. ScalingFactor[ 2 ][matrixId][ 0 ][ 0 ] is defined both by equation 7-44 and by equation 7-45.

The reference code appears to behave in the following way:

  1. Apply equation 7-44 to compute AC scaling values for size 2
  2. Apply equation 7-48 to replicate the AC scaling values to size 3
  3. Apply equation 7-45 to override the DC scaling value for size 2
  4. Copy the new DC scaling value for size 2 to the DC scaling value for size 3

Change History (3)

comment:1 Changed 10 years ago by DefaultCC Plugin

  • Cc davidf joel teruhiko jct-vc@… added

comment:2 Changed 10 years ago by jachu19

this issue still exists in JCTVC-R1013_v3.doc

comment:3 Changed 7 years ago by bbross

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

This issue is fixed in the 2016/12 release of the HEVC specification (the 32x32 chroma scaling list for 4:4:4 is set directly from ScalingList, and the DC coefficient is set using scaling_list_dc_coef_minus8.

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

  • Benjamin Bross(Participant)
  • David Flynn(Subscriber)
  • jct-vc@…(Subscriber)
  • Joel(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Always)
  • Marcin(Participant)
  • Peter de Rivaz(Reporter)
  • Teruhiko Suzuki(Subscriber)