#939 closed defect (fixed)

Incorrect ctxIdx value of residual syntaces in 9.3.

Reported by: abe.kiyo Owned by:
Priority: minor Milestone:
Component: spec Version:
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…


There are some wrong value of ctxIdx of coded_sub_block_flag, par_level_flag, and abs_level_gtx_flag in 9.3.
I think Table 51, Table 121, Table 123, Table 124, Table 131, and clause need to be corrected.
I attached JVET-Q2001-vD-CABAC.docx with my suggestion.

Attachments (1)

JVET-Q2001-vD-CABAC.docx (192.8 KB) - added by abe.kiyo 19 months ago.

Download all attachments as: .zip

Change history (2)

Changed 19 months ago by abe.kiyo

comment:1 Changed 15 months ago by bbross

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

Good catch, thanks!

This will be fixed in the first version of D10 but I have found an additional fix related to abs_level_gtx_flag ctx derivation:
Current draft:
par_level_flag 0..32
abs_level_gtx_flag 0..73

Proposed fix:
par_level_flag: 0...32
abs_level_gtx_flag 0..71

However, looking at the derivation process for both, the following assignments are made:
0..20 Luma Regular Residual Coding (RRC)
21..31 Chroma RRC
32 Transform Skip Residual Coding (TSRC)
-> OK
0..20 Luma Regular Residual Coding (RRC)
21..31 Chroma RRC
64..66 TSRC abs_level_gtx_flag[ n ][ 0 ]
68..71 TSRC abs_level_gtx_flag[ n ][ i ], i=1...4
-> There is a gap between 31 and 64 which is due to the fact that in RRC, the same derivation but separate ctx are used for:
0..31 abs_level_gtx_flag[ n ][ 0 ]
32..63 abs_level_gtx_flag[ n ][ 1 ]

Additional fix:
Add the following:
– Otherwise (transform_skip_flag[ x0 ][ y0 ][ cIdx ] is equal to 0 or sh_ts_residual_coding_disabled_flag is equal to 1), the following applies:

– When the syntax element is abs_level_gtx_flag[ n ][ 1 ], the following applies:

ctxInc += 32

Note: See TracTickets for help on using tickets.