Opened 4 years ago

Closed 4 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 4 years ago by yk

It'd great if experts in this area can confirm the bug and the suggested fix.

comment:2 follow-up: Changed 4 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 4 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 4 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 4 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 4 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.

Note: See TracTickets for help on using tickets.