Opened 4 years ago

Closed 4 years ago

#979 closed defect (fixed)

Editorial fix for the first VCL NAL derivation

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

Description

In the current spec, the first VCL NAL is defined as follows.

A VCL NAL unit is the first VCL NAL unit of an AU (and consequently the PU containing the VCL NAL unit is the first PU of the AU) when the VCL NAL unit is the first VCL NAL unit that follows a PH NAL unit and one or more of the following conditions are true: ...

However, there is case when PH NAL is not present (signaled inside VCL NAL), so this language is inaccurate.

Suggestion is to remove mentioning PH NAL or add when PH NAL is present, otherwise first VCL NAL is undefined when PH NAL is not present since there is no VCL NAL that follows PH NAL.

A VCL NAL unit is the first VCL NAL unit of an AU (and consequently the PU containing the VCL NAL unit is the first PU of the AU) when one or more of the following conditions are true: ...

Change history (8)

comment:1 Changed 4 years ago by jonatan

Thanks Vadim for pointing this out. I agree that this is inaccurate. It seems that this sentence was modified in v4 of Q2001. Reverting back to how it was expressed in v3 (and older versions) would solve the problem, right?

That would mean replacing:

"...when the VCL NAL unit is the first VCL NAL unit that follows a PH NAL unit and one or more of the following conditions are true"

with

"...when the VCL NAL unit is the first VCL NAL unit of a picture and one or more the following conditions are true"

comment:2 Changed 4 years ago by Vadim

Looks good to me as well.

comment:3 Changed 4 years ago by yk

I think the text should be changed to be as follows:

A VCL NAL unit is the first VCL NAL unit of an AU (and consequently the PU containing the VCL NAL unit is the first PU of the AU) when picture_header_in_slice_header_flag is equal to 1 or when the VCL NAL unit is the first VCL NAL unit that follows a PH NAL unit and one or more of the following conditions are true:
– The value of nuh_layer_id of the VCL NAL unit is less than the nuh_layer_id of the previous picture in decoding order.
– The value of ph_pic_order_cnt_lsb of the VCL NAL unit differs from the ph_pic_order_cnt_lsb of the previous picture in decoding order.
– PicOrderCntVal derived for the VCL NAL unit differs from the PicOrderCntVal of the previous picture in decoding order.

comment:4 Changed 4 years ago by Vadim

Ye-Kui, I have a question.

It seems "when picture_header_in_slice_header_flag is equal to 1 or when the VCL NAL unit is the first VCL NAL unit that follows a PH NAL unit" is the same as "when the VCL NAL unit is the first VCL NAL unit of a picture" and I believe it is the same without even have this language as in my original report.

I am trying to understand why there is a need to mention that picture_header_in_slice_header_flag is equal to 1 and 0 (PH NAL is present). It is all possible cases, why to list it?

comment:5 Changed 4 years ago by yk

Vadim, it is correct that "when picture_header_in_slice_header_flag is equal to 1 or when the VCL NAL unit is the first VCL NAL unit that follows a PH NAL unit" is the same as "when the VCL NAL unit is the first VCL NAL unit of a picture". Herein the point is to clearly specify which VCL NAL unit is the first VCL NAL unit of a picture as well as which VCL NAL unit is the first VCL NAL unit of an AU.

An alternative wording is as follows (firstly specify the first VCL NAL unit of a picture, then use your wording to specify the first VCL NAL unit of an AU):

When picture_header_in_slice_header_flag in a VCL NAL unit is equal to 1 or when the VCL NAL unit is the first VCL NAL unit that follows a PH NAL unit, it is the first VCL NAL unit of a picture.

A VCL NAL unit is the first VCL NAL unit of an AU (and consequently the PU containing the VCL NAL unit is the first PU of the AU) when the VCL NAL unit is the first VCL NAL of a picture and one or more of the following conditions are true:
– The value of nuh_layer_id of the VCL NAL unit is less than the nuh_layer_id of the previous picture in decoding order.
– The value of ph_pic_order_cnt_lsb of the VCL NAL unit differs from the ph_pic_order_cnt_lsb of the previous picture in decoding order.
– PicOrderCntVal derived for the VCL NAL unit differs from the PicOrderCntVal of the previous picture in decoding order.

comment:6 Changed 4 years ago by jonatan

The first VCL NAL unit of a picture is already specified.

Section 7.4.2.4.4 (in JVET-Q2001-vE) says:

"If a PH NAL unit is present in a PU, the first VCL NAL unit of a picture is the first VCL NAL unit that follows the PH NAL unit in decoding order of the picture. Otherwise (no PH NAL unit is present in the PU), the first VCL NAL unit of a picture is the only VCL NAL unit of the picture."

comment:7 Changed 4 years ago by yk

Good point! Then only the second part is needed, i.e., the text should be just:

A VCL NAL unit is the first VCL NAL unit of an AU (and consequently the PU containing the VCL NAL unit is the first PU of the AU) when the VCL NAL unit is the first VCL NAL of a picture and one or more of the following conditions are true:
– The value of nuh_layer_id of the VCL NAL unit is less than the nuh_layer_id of the previous picture in decoding order.
– The value of ph_pic_order_cnt_lsb of the VCL NAL unit differs from the ph_pic_order_cnt_lsb of the previous picture in decoding order.
– PicOrderCntVal derived for the VCL NAL unit differs from the PicOrderCntVal of the previous picture in decoding order.

comment:8 Changed 4 years ago by yk

  • Resolution set to fixed
  • Status changed from new to closed

This has been fixed as part of an action taken at the JVET-R meeting.

Note: See TracTickets for help on using tickets.