Opened 4 years ago

Closed 3 years ago

#1428 closed defect (fixed)

Inference of rpl_idx[ 1 ] may be ambiguous

Reported by: bheng Owned by:
Priority: minor Milestone:
Component: spec Version: VVC D10 vH
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

What is the intended behavior for this section if both "When ..." cases are true?

When rpl_sps_flag[ i ] is equal to 1 and sps_num_ref_pic_lists[ i ] is equal to 1, the value of rpl_idx[ i ] is inferred to be equal to 0. When rpl_sps_flag[ 1 ] is equal to 1 and pps_rpl1_idx_present_flag is equal to 0, the value of rpl_idx[ 1 ] is inferred to be equal to rpl_idx[ 0 ].

If the intent is for the first case to take precedence, the second sentence should probably begin with "Otherwise...".

Change history (3)

comment:1 Changed 3 years ago by yk

I studied it a bit and then had a discussion with Hendry over a phone call.

The immediately subsequent constraint in the text disallows a conflict from happening: "The value of rpl_idx[ i ] shall be in the range of 0 to sps_num_ref_pic_lists[ i ] − 1, inclusive."

However, it'd be nice to clarify a bit to make it clearer to readers/implementers.

Using "Otherwise" is a bit tricky as the first sentence applies to both lists 0 and 1, while the second sentence applies to list 1 only.

We suggest to add "sps_num_ref_pic_lists[ 1 ] is greater than 1" as a third condition to the second sentence, i.e., change it to be as follows:

When rpl_sps_flag[ 1 ] is equal to 1, pps_rpl1_idx_present_flag is equal to 0, and sps_num_ref_pic_lists[ 1 ] is greater than 1, the value of rpl_idx[ 1 ] is inferred to be equal to rpl_idx[ 0 ].

Please let us know if there is a better change.

Considering the immediately subsequent constraint in the text mentioned above, this change should be a purely editorial improvement.

Unless otherwise concluded, I am going to integrate the above change to JVET-U1004-v1.

The ticket will be kept open for a while just in case.

Last edited 3 years ago by yk (previous) (diff)

comment:2 Changed 3 years ago by bheng

Thanks Ye-Kui. The proposed change looks good to me.

I would tend to disagree that this is purely editorial. With the intended interpretation, the described corner-case usage is legal (using pps_rpl1_idx_present_flag = 0 but rpl_idx[ 1 ] != rpl_idx[ 0 ]). With the opposite interpretation, the exact same stream would be invalid since it would violate the referenced constraint. The intended behavior needs to be specified here so that it is known what the text allows and what is illegal.

But as long as the fix is going in, you can call it editorial if it helps.

comment:3 Changed 3 years ago by yk

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.