Opened 11 months ago
Last modified 8 months ago
#1635 new defect
Incorrect inference for tu_y_coded_flag
Reported by: | peterderivaz | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | H.266/VVC v4 |
Component: | spec | Version: | H.266/VVC v3 |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
tu_y_coded_flag is used in clause 8.8.3.5 to choose the boundary filtering strength used in the deblocking filter.
When tu_y_coded_flag is not present, the inference rules in clause 7.4.12.10 say:
When tu_y_coded_flag[ x0 ][ y0 ] is not present and treeType is not equal to DUAL_TREE_CHROMA, its value is inferred as follows: – If cu_sbt_flag is equal to 1 and one of the following conditions is true, tu_y_coded_flag[ x0 ][ y0 ] is inferred to be equal to 0: – subTuIndex is equal to 0 and cu_sbt_pos_flag is equal to 1; – subTuIndex is equal to 1 and cu_sbt_pos_flag is equal to 0. – Otherwise, tu_y_coded_flag[ x0 ][ y0 ] is inferred to be equal to 1.
I think this is missing some cases that should infer 0.
For example, if cu_coded_flag is equal to 0, then no transform_tree structure will be present, and tu_y_coded_flag will be inferred equal to 1 according to the spec. However, I believe the deblocking in the VTM works as if tu_y_coded_flag was inferred equal to 0 in this case.
Change history (1)
comment:1 Changed 8 months ago by bbross
- Milestone set to H.266/VVC v4
- Version set to H.266/VVC v3
Note: See TracTickets for help on using tickets.
Thanks for bringing that up. This should be fixed in v4 but I would like to make sure that this is the only missing case when inferring tu_y_coded_flag to be equal to 0.