Opened 5 years ago
Closed 4 years ago
#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@… |
Description
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 9.3.4.2.9 need to be corrected.
I attached JVET-Q2001-vD-CABAC.docx with my suggestion.
Attachments (1)
Change history (2)
Changed 5 years ago by abe.kiyo
comment:1 Changed 4 years ago by bbross
- Resolution set to fixed
- Status changed from new to closed
Note: See TracTickets for help on using tickets.
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:
par_level_flag:
0..20 Luma Regular Residual Coding (RRC)
21..31 Chroma RRC
32 Transform Skip Residual Coding (TSRC)
-> OK
abs_level_gtx_flag
0..20 Luma Regular Residual Coding (RRC)
21..31 Chroma RRC
64..66 TSRC abs_level_gtx_flag[ n ][ 0 ]
67 TSRC BDPCM
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:
....