Opened 11 years ago Closed 10 years ago #1256 closed defect (fixed)4:2:2 and 4:4:4 chroma cbf coding
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 11 years ago by DefaultCC Plugin
comment:2 Changed 11 years ago by dominik.wojtcomment:3 Changed 11 years ago by dominik.wojt
comment:4 Changed 11 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. comment:5 Changed 11 years ago by karlsharmancomment:6 Changed 10 years ago by davidf
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
|
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.