Opened 9 years ago

Closed 8 years ago

#1019 closed defect (fixed)

8.6.1 ctbAddr calculation in derivation of quantisation parameter

Reported by: agoudie Owned by: bbross
Priority: minor Milestone:
Component: Text Version: D10 (L1003) v33
Keywords: Cc: bbross, wjhan, jct-vc@…

Description

I beleive a recent 'cleanup' of the 'ctbAddr' calculation has added brackets in the wrong place. Under bullet points 2 and 3, the address calculation is currently;-

tmpX = xQg − ( 1 >> Log2MinTrafoSize )
tmpY = yQg >> Log2MinTrafoSize
minTbAddrA = MinTbAddrZs[ tmpX ][ tmpY ]
ctbAddrA = ( minTbAddrA >> 2 ) * (Log2CtbSizeY − Log2MinTrafoSize) (8 249)

I beleive the brackets in the calculation of tmpX(/tmpY) and ctbAddrA(/B) should be;-

tmpX = (xQg − 1) >> Log2MinTrafoSize

ctbAddrA = minTbAddrA >> ( 2 * (Log2CtbSizeY − Log2MinTrafoSize) ) (8 249)

(To calculate the location of transform block to the left/above, and then use shift as an equivalence to divide by the number of transform blocks in a CTU).

Change History (6)

comment:1 Changed 9 years ago by DefaultCC Plugin

  • Cc bbross wjhan jct-vc@… added

comment:2 Changed 9 years ago by bbross

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

Fixed in current version v28.

comment:3 Changed 9 years ago by agoudie

  • Resolution fixed deleted
  • Status changed from closed to reopened
  • Version changed from D10 (L1003) v23 to D10 (L1003) v28

Re-opening ticket regarding ctbAddrA calculation.
Original ticket was relative to v23.
In v28, the correction to tmpX has been made, but the correction to ctbAddrA hasn't been made. (Also applies to ctbAddrB in bullet point 3)

I beleive this should be;-

ctbAddrA = minTbAddrA >> ( 2 * (CtbLog2SizeY − Log2MinTrafoSize) ) (8 252)

and in bullet point 3;-

ctbAddrB = minTbAddrB >> ( 2 * (CtbLog2SizeY − Log2MinTrafoSize) ) (8 253)

Where 'minTbAddrB' is a unique index per transform block, and 'ctbAddrA' is a unique index per coded tree block.
The shift right operation should be equivalent to a divide by the number of luma transform blocks in a luma coded tree block. (This is the reverse of the shift applied in section 6.5.2 when initialising minTbAddrZs) (e.g. If the minimum transform block size is 4x4 and CTB size is 64x64, there are 256 luma transform blocks per luma coded tree block, so need to shift minTbAddr right by 8).

comment:4 Changed 9 years ago by bbross

  • Version changed from D10 (L1003) v28 to D10 (L1003) v31

comment:5 Changed 9 years ago by bbross

  • Version changed from D10 (L1003) v31 to D10 (L1003) v33

comment:6 Changed 8 years ago by bbross

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

Fixed in version 1

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

  • Alistair Goudie(Reporter, Participant)
  • Benjamin Bross(Owner, Subscriber, Participant)
  • jct-vc@…(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Always)
  • Woo-Jin Han(Subscriber)