Opened 8 years ago

Closed 8 years ago

#1256 closed defect (fixed)

4:2:2 and 4:4:4 chroma cbf coding

Reported by: kazui Owned by:
Priority: major Milestone: RExt D7
Component: RExt text Version: RExt D6 (P1005) v1
Keywords: Cc: davidf, joel, teruhiko, jct-vc@…, dominik.wojt@…

Description

I think new transform_tree() description in JCTVC-P1005_v1 was targetted to fix the bug in 4:2:2/4:4:4 chroma cbf coding (ticket #1225).

But It looks like there remains another bugs in transform_tree().

(1) In 4:4:4 case, chroma 4x4 TB still cannot have indivisiual cbf due to the restriction "log2TrafoSize > 2".

One possible solution: remove the restriction "log2TrafoSize > 2" when "ChromaArrayType = 3".

(2) In 4:2:2 case, chroma 4x4 TB cannot have indivisiual cbf when transform_tree(.., trafoDepth, ..) is invoked with "log2TrafoSize = 2" and split_transform_flag[][][trafoDepth] is signalled as "1".

One possible solution: replace

  if( ChromaArrayType  = =  2  &&  ! split_transform_flag[ x0 ][ y0 ][ trafoDepth ] )

to

  if( ChromaArrayType  = =  2  &&  ((! split_transform_flag[ x0 ][ y0 ][ trafoDepth ]) || (log2TrafoSize == 3) )

Change History (6)

comment:1 Changed 8 years ago by DefaultCC Plugin

  • Cc davidf joel teruhiko jct-vc@… added

comment:2 Changed 8 years ago by dominik.wojt

After change (1) has been introduced to latest draft Q1005-v4 there are CABAC initValues missing. For CU size 64x64, TU size 4x4 and subsampling 4:4:4 cbf_cb and cbf_cr are read with trafoDepth equal 4. Either tables 9-4 and 9-22 have to be extended to provide missing initValues or table 9-34 has to be corrected to limit the range of CtxInc.

comment:3 Changed 8 years ago by dominik.wojt

  • Cc dominik.wojt@… added

comment:4 Changed 8 years ago by crosewarne

Note that changeset r3776, which was applied to the HM software, reduced the number of allocated contexts for cbf_cb and cbf_cr from five to four (only four can be used in HM). This change appears to have been inherited by the RExt software. Then, in 4:4:4 for an RQT beginning at a 64x64 coding unit and splitting down to 4x4 TBs, the non-existing fifth context could be accessed. I think the changeset was not intended to be inherited by the RExt software.

Note that under CTC this condition is not reached because the maximum inter and intra trafoDepth is 3.

Last edited 8 years ago by crosewarne (previous) (diff)

comment:5 Changed 8 years ago by karlsharman

Changeset r3776 inherited from HM reverted in RExt r3959.

comment:6 Changed 8 years ago by davidf

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

Fixed in v6: Context tables have been updated.

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

  • David Flynn(Subscriber, Participant)
  • Dominik Wójt(Subscriber, Participant)
  • jct-vc@…(Subscriber)
  • Joel(Subscriber)
  • Karl Sharman(Participant)
  • karl.sharman@…(Always)
  • Karsten Suehring(Always)
  • kazui(Reporter)
  • Teruhiko Suzuki(Subscriber)