Opened 5 years ago
Closed 5 years ago
#926 closed defect (fixed)
JEVT-Q0505: Scaling list prediction from non-existent chroma lists
Reported by: | bheng | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | spec | Version: | VVC D8 vB |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
When scaling_list_chroma_present_flag = 0, it should be illegal for a luma scaling list to be predicted/copied from a non-existent chroma list.
There does not appear to be any such restriction at the moment. The scaling_list_pred_id_delta can be in the range of 0 to maxIdDelta, with no requirement to skip over the chroma IDs.
Something like the following might work:
"When scaling_list_chroma_present_flag is equal to 0 and refId is not equal to 27, refId % 3 shall be equal to 2."
Change history (6)
comment:1 Changed 5 years ago by yk
comment:2 follow-up: ↓ 3 Changed 5 years ago by adarsh
The current syntax does allow predicting/copying from absent chroma list IDs when scaling_list_chroma_present_flag equal to 0 - which is undesirable. A constraint like the one suggested would make such bitstreams non-conforming. Perhaps it should be discussed whether it should be prohibited with constrainsts (as above), or whether it should be directly disabled in syntax/signalling by some means.
comment:3 in reply to: ↑ 2 Changed 5 years ago by yk
Replying to adarsh:
The current syntax does allow predicting/copying from absent chroma list IDs when scaling_list_chroma_present_flag equal to 0 - which is undesirable. A constraint like the one suggested would make such bitstreams non-conforming. Perhaps it should be discussed whether it should be prohibited with constrainsts (as above), or whether it should be directly disabled in syntax/signalling by some means.
Thanks Adarsh! I hope you guys would submit a proposal for this.
comment:4 Changed 5 years ago by delagrangep
I thought all syntax elements from missing chroma QMs had inferred values:
- copy_mode = 0 (no copy)
- pred_mode = 0 (no prediction = explicit)
- pred_id_delta = N.A. (would be 0 = default)
- dc_coef = 0
- delta_coef & ScalingList ... mmmh. There was an inference rule (for bottom-right quadrant of size-64), but it has been removed (made useless by small syntax change). Anyway, an inference rule for delta-coef would not make an obvious definition of absent ScalingList (dpcm decode on the fly).
So... the conformance constraint seems like a good idea! Thanks.
Maybe another technique would be to infer copy_mode & id_delta to default matrix (or previous QM)?
comment:5 Changed 5 years ago by hobingzhang
Thanks Adarsh and delagrangep! It is allowable that a luma scaling list is predicted/copied from a non-existent chroma list. It would works fine if scaling_list_copy_mode_flag is inferred to be 1 when not present.
comment:6 Changed 5 years ago by bbross
- Resolution set to fixed
- Status changed from new to closed
Thanks for bringing that up.
This is fixed in VVC D9 by the adoption of JVET-R0055.
It'd great if experts in this area can confirm the bug and the suggested fix.