JVET-P0968 Report of BoG on high-level syntax [Y.-K. Wang]
Reviewed in Track B Wed 9 Oct. 1900 (GJS)
The HLS BoG met on the following days and time slots:
- 3 Oct. Thursday 14:00 to 21:40
- 4 Oct. Friday 09:00 to 21:35
- 5 Oct. Saturday 09:00 to 21:30
- 7 Oct. Monday 14:00 to 21:20
- 9 Oct. Wednesday 9:00 to 17:30
Altogether, 155 HLS proposals, in the following three areas, have been reviewed by the JVET plenary meeting on Tuesday 10/1 and Wednesday 10/2, JVET Track B Thursday 10/3 morning, and the above listed HLS BoG meetings:
- 6.18 AHG17: General high-level syntax (65, excluding cross checks)
- 6.19 AHG12: high-level parallelism and coded picture regions (57)
- 6.20 AHG8: layered coding and resolution adaptivity (33)
In the list of recommendations below, the name in each instance of "SW/name" is suggested to be the person who would be responsible for coordinating the software implementation (if needed) of the recommendation if confirmed by the JVET. Currently, for each item (except one), the name is that of the first author of the first listed contribution.
Note that there is no need for identifying a person for spec text coordination for HLS adoptions.
Note that agreement (e.g., on subpicture topics) that were made earlier at JVET plenary or track meetings are not listed below.
Decision (Ed.): As noted in the HLS BoG meeting minutes. There were also some purely editorial suggestions that were noted in the HLS BoG meeting minutes to be delegated to the editors, and those are not listed here, either.
The BoG recommended the following adoptions:
- Reserve nuh_layer_id values 56 to 63, inclusive, in VVCv1 [JVET-P0362][SW/R. Sjöberg] Decision (extensibility): Agreed.
- Rearrange/cleanup the NAL unit types as follows [JVET-P0363][SW/M. Pettersson]:
- Switch position of RADL and RASL in the table to align with the order in HEVC. Decision (cleanup): Agreed.
- Add VPS_NUT, which is missing, and order the parameter set NUTs in hierarchical order as in HEVC, in the order of DPS_NUT, VPS_NUT, SPS_NUT, PPS_NUT, APS_NUT. Decision (BF/cleanup): Agreed.
- Group reserved non-IRAP VCL NUTs within one code range instead of two. Decision (BF/cleanup): Agreed.
- Allocate 5 codes instead of 6 for reserved non-IRAP VCL NUTs and 3 codes instead of 2 for reserved IRAP VCL NUTs. Decision (BF/cleanup): Agreed.
- Change the PTL syntax and semantics as follows [JVET-P0217][SW/J. Samuelsson]:
- Move general constraints and general_level_idc before sub-profiles. Decision (BF/cleanup): Agreed, and also add reserved bytes preceded by an 8-bit length in bytes, with decoders required to allow and ignore the values of the reserved bytes and encoders required to set the length to 0.
- Allow signalling of zero or more sub-profiles. Decision (BF/cleanup): Agreed
- Add inference of sub-layer level based on the level of the next higher sublayer. Decision (cleanup): Agreed
- Allow more than one PTL syntax structure in the DPS, with the following changes: reserve 5 bits instead of 1 bit, and use u(4) for the number of PTL syntax structures minus 1. [JVET-P0478, SW/R. Skupin] Decision (cleanup): Agreed
- Add the following RPL-related constraints to ensure that the inter prediction relationship among IRAP, RASL, RADL, trailing, and GDR pictures etc. function as expected [JVET-P0978][SW/M. Pettersson]: Decision (expression of existing intent): Agreed (including the GDR note described below).
- When the current picture is a CRA picture, there shall be no entry in RefPicList[ 0 ] or RefPicList[ 1 ] that precedes, in output order or decoding order, any preceding IRAP picture in decoding order (when present).
- When the current picture is a trailing picture, there shall be no picture referred to by an active entry in RefPicList[ 0 ] or RefPicList[ 1 ] that was generated by the decoding process for generating unavailable reference pictures for the IRAP picture associated with the current picture.
- When the current picture is a trailing picture that follows in both decoding order and output order one or more leading pictures associated with the same IRAP picture, if any, there shall be no picture referred to by an entry in RefPicList[ 0 ] or RefPicList[ 1 ] that was generated by the decoding process for generating unavailable reference pictures for the IRAP picture associated with the current picture.
- When the current picture is a recovery point picture or a picture that follows the recovery point picture in output order, there shall be no entry in RefPicList[ 0 ] or RefPicList[ 1 ] that contains a picture that was generated by the decoding process for generating unavailable reference pictures for the GDR picture of the recovery point picture.
- When the current picture is a trailing picture, there shall be no picture referred to by an active entry in RefPicList[ 0 ] or RefPicList[ 1 ] that precedes the associated IRAP picture in output order or decoding order.
- When the current picture is a trailing picture that follows in both decoding order and output order one or more leading pictures associated with the same IRAP picture, if any, there shall be no picture referred to by an entry in RefPicList[ 0 ] or RefPicList[ 1 ] that precedes the associated IRAP picture in output order or decoding order
- When the current picture is a RADL picture, there shall be no active entry in RefPicList[ 0 ] or RefPicList[ 1 ] that is any of the following:
- A RASL picture
- A picture that was generated by the decoding process for generating unavailable reference pictures
- A picture that precedes the associated IRAP picture in decoding order
And replace the requirement on exact match of GDR recovery point picture to a NOTE (exact wording delegated to editors).
- Constrain that, when vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ] is equal to 1, the value of inter_layer_ref_pics_present_flag shall be equal to 0. [JVET-P0182, JVET-P0221][SW/S. Deshpande] Decision (expression of existing intent): Agreed
- Adopt the following improvement and bug fix: [JVET-P0221, JVET-P0589][SW/B. Choi] Decision (expression of existing intent): Agreed
- Update the value range of ilrp_idc[ listIdx ][ rplsIdx ][ i ] to be in the range of 0 to the NumDependentLayers[ GeneralLayerIdx[ nuh_layer_id ] ] − 1, inclusive.
- Fix the equation for derivation of DirectDependentLayerIdx, by changing "i < " to "i <= ", and "j = i" to "j = i − 1".
- Remove the following constraints: [JVET-P0122][SW/Hendry] Decision (cleanup unnecessary constraints): Agreed
- For intra slices and slices in an IRAP picture, slice_alf_aps_id_luma[ i ] shall not refer to an ALF APS associated with other pictures rather than the picture containing the intra slices or the IRAP picture.
- For intra slices and slices in an IRAP picture, slice_alf_aps_id_chroma shall not refer to an ALF APS associated with other pictures rather than the picture containing the intra slices or the IRAP picture.
- Add an SEI message that contains only a flag self_contained_cvs_flag in its syntax. The flag equal to 1 indicates that parameter sets are "self-contained" in a manner that enables random access from any CVSS picture without fetching parameter sets from AUs before the CVS (this piece is the same as in HEVC), and additionally, enables sub-layer up-switching at STSA pictures without fetching parameter sets from AUs before the switching point (this piece is not in HEVC). [JVET-P0359][SW/R. Sjöberg] Decision (cleanup): Agreed
- Adopt the following clarifications: [JVET-P0184][SW/S. Deshpande] Decision (clarification): Agreed
- Clarify the process for generating unavailable reference pictures such that it is clear that the process only applies to intra-layer reference pictures.
- Fix the use of the sps_max_dec_pic_buffering_minus1 syntax element without using an index now that it is an array/list.
- Adopt the following clean-up changes: [JVET-P0243, JVET-P0244, JVET-P0429][SW/W. Wan] Decision (cleanup and expression of existing intent): Agreed, but just make chroma_format_idc a u(2).
- Signal a single bit depth to be used for both luma and chroma.
- Use u(4) for SPS IDs in the SPS syntax as well as in other places for referring to SPS.
- Code chroma_format_idc with u(3).
- Code log2_max_pic_order_cnt_lsb_minus4 with u(4).
- Specify the value range of min_qp_prime_ts_minus4 to be 0 to 48, inclusive.
- Specify the value range of log2_min_luma_coding_block_size_minus2 to be 0 to log2_ctu_size_minus5 + 3, inclusive.
- Add the following constraint flags into the general_constraint_info( ) syntax structure: [JVET-P0366][SW/M. Pettersson] Decision (cleanup): Agreed
- no_trail_constraint_flag
- no_stsa_constraint_flag
- no_rasl_constraint_flag
- no_radl_constraint_flag
- no_idr_constraint_flag
- no_cra_constraint_flag
- no_gdr_constraint_flag
- no_aps_constraint_flag
- Add the following constraints to ensure that the referencing of ALF parameters from slice header to ALF APS works as expected: [JVET-P0438][SW/J. Chen] Decision (expression of existing intent): Agreed
- It is requirement of bitstream conformance that the values of alf_luma_filter_signal_flag and alf_chroma_filter_signal_flag shall not both be equal to 0.
- The value of alf_luma_filter_signal_flag of the APS NAL unit having aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to slice_alf_aps_id_luma[ i ] shall be equal to 1.
- The value of alf_chroma_filter_signal_flag of the APS NAL unit having aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to slice_alf_aps_id_chroma shall be equal to 1.
- Allow an APS NAL unit to be after the last VCL NAL unit of the associated picture, by defining two NUTs for APSs, prefix APS NUT and suffix APS NUT. [JVET-P0588, JVET-P0452][SW/V. Seregin]. Decision (cleanup): Agreed. (This needs have the same content if it reuses an ID value that is referenced in the current picture, regardless of whether it is a prefix or suffix.) It was also suggested to consider adding some note to clarify that new APS content cannot be applied to VCL NAL units that are earlier in decoding order.
- Adopt the following clean-up changes: [JVET-P0181, JVET-P0183][SW/S. Deshpande] Decision (cleanup and expression of existing intent): Agreed.
- Require that bp_nal_hrd_parameters_present_flag and bp_vcl_hrd_parameters_present_flag cannot be both equal to 0, and clean-up the syntax of the BP SEI message accordingly.
- Add inference rules for du_cpb_removal_delay_increment_length_minus1 and dpb_output_delay_du_length_minus1 if needed.
- Add a flag to the BP SEI message syntax to specify whether the initial CPB buffering delay values are signalled for each temporal sub-layer or only for the highest temporal sub-layer.
- Conditionally signal cpb_removal_delay_delta_enabled_flag[ i ] for i in the range of TemporalId to pt_max_sub_layers_minus1 − 1, inclusive, based on cpb_removal_delay_deltas_present_flag.
- Specify the length of cpb_removal_delay_delta_idx[ i ] to be Ceil( Log2( num_cpb_removal_delay_deltas_minus1+1) ) bits.
- Adopt the following changes related to the BP, PT, and DUI SEI messages: [JVET-P0202, JVET-P0189, JVET-P0203][SW/ V. Drugeon] Decision (expression of existing intent): Agreed.
- Add a loop to the PT and the DUI SEI messages for signalling of CPB timing parameters for sub-layers in DU-based HRD operations, and remove pt_max_sub_layers_minus1 and dui_max_sub_layers_minus1 and use the corresponding syntax element in the BP SEI message.
- Repeat decoding_unit_hrd_params_present_flag in the BP SEI message and move decoding_unit_cbp_params_in_pic_timing_sei_flag to the BP SEI message, and use these syntax elements in the BP SEI message in syntax conditions in the PT and DUI SEI messages as needed. [JVET-P0202, JVET-P0189][SW/ V. Drugeon]
- Add the following HEVC and AVC SEI messages to ITU-T H.SEI | ISO/IEC 23002-7. [JVET-P0337][SW/S. McCarthy] Decision (cleanup/carry-over): Agreed, and also unregistered user data (using the HEVC version of these).
- User data registered by Recommendation ITU-T T.35 SEI message
- Film grain characteristics SEI message
- Frame packing arrangement SEI message
- Mastering display colour volume SEI message
- Content light level information SEI message
- Alternative transfer characteristics information SEI message
- Ambient viewing environment SEI message
- Content colour volume SEI message
- Add the following HEVC and AVC SEI messages to ITU-T H.SEI | ISO/IEC 23002-7. [JVET-P0462][SW/R. Skupin] Decision (cleanup/carry-over): Agreed
- Equirectangular Projection SEI message
- Sphere rotation SEI message
- Region-wise packing SEI message
- Omnidirectional viewport SEI message
- Adopt a new generalized cubemap projection SEI message, as proposed in JVET-P0597, but remove two lines of syntax for the byte alignment. into ITU-T H.SEI | ISO/IEC 23002-7. [JVET-P0597][SW/Y.-H. Lee]. HEVC had only a single layout without padding and did not support parameterized cubemaps and hemisphere cubemaps. Decision (enhanced vs. HEVC based on prior work in JVET): Agreed
- Adopt a new SEI message that provides picture rate information, as proposed in JVET-P0610. Into ITU-T H.SEI | ISO/IEC 23002-7. [JVET-P0610][SW/M. Sychev].
This is deferred for first consideration in JCT-VC in the HEVC context, and can be considered later as a potential amendment for VVC.
- Adopt a new SEI message that provides shutter interval information, as proposed in JVET-P0338, but add the number of sub-layers to avoid parsing dependency on SPS. Into ITU-T H.SEI | ISO/IEC 23002-7. [JVET-P0338][SW/S. McCarthy]
This is deferred for first consideration in JCT-VC in the HEVC context, and can be considered later as a potential amendment for VVC.
- Adopt a new SEI message that indicates subpicture level information, with the syntax as proposed in JVET-P0984, with the following changes: [JVET-P0984][SW/R. Skupin]. It was agreed that there should be a constraint that the (rectangular) set of subpictures associated with the level shall have subpic_treated_as_pic_flag equal to 1. Decision (enabling extraction/merging functionality): Agreed.
- Change the reserved 4 bits to reserved 5 bits for byte alignment.
- Change "shall have" in NOTEs to "has".
- Add the SPS ID.
- Correct the wording of where the CPB size information is signalled.
Further work is needed to ensure that the conformance specification is complete.
- Adopt a new SEI message that provides information on SAR dynamics, with the syntax as proposed in JVET-P0450 option 2, but drop the cancel flag and the persistence flag. The persistency scope is the set of AUs starting from the current until (exclusive) the next AU associated with the same SEI message. [JVET-P0450][SW/R. Skupin]
Decision (cleanup for RPR functionality): Adopt as proposed in regard to the cancel and persistence. This overrides the VUI for the relevant pictures when the SEI message is present.
Further study of persistence is encouraged.
Decision (Ed. clarification): It was noted that for separation of the SEI message specifications from the video coding spec, some aspects of how to use the SEI in the context of the video coding spec may need to be specified in the video coding spec for establishing precise conformance requirements. For example, the the SEI spec can't require a specific NAL unit type that is not defined in that spec. As an initial approach, the editors can establish such clarifying information in the VVC draft text where the SEI spec is referred to.
- Fix a bug on dependency between subpictures, by fixing some equations in the clause of the derivation process for constructed affine control point motion vector merging candidates and in the clause of the luma integer sample fetching process. [JVET-P0378, JVET-P0572][SW/K. Zhang] Decision (BF): Agreed.
- Adopt the following clean-up changes: [JVET-P0228][SW/B. Choi] Decision (cleanup): Agreed.
- Add "&& !vps_all_independent_layers_flag" to the syntax condition for vps_output_layers_mode, and add the inference rule "When not present, the value of vps_output_layers_mode is inferred to be equal to 1."
- Replace "pic_output_flag" in the following sentence with "PictureOutputFlag": vps_output_layer_mode is equal to 0 and the current access unit contains a picture that has pic_output_flag equal to 1, has nuh_layer_id nuhLid greater than that of the current picture, and belongs to an output layer (i.e., OutputLayerFlag[ GeneralLayerIdx[ nuhLid ] ] is equal to 1)."
- Remove pps_temporal_mvp_enabled_idc, and add a constraint in the spirit of the following: When no reference picture with the same resolution as the one of the current picture is available, it is a requirement of bitstream conformance that ph_temporal_mvp_enabled_flag shall be equal to 0. [JVET-P0206][SW/T. Nishi] Decision (BF): Agreed.
- Reserve value 3 of log2_ctu_size_minus5. [JVET-P0580][SW/Y. Du]. Decision (expression of existing intent): Agreed.
- As a bug fix, disallow the min CU size to be greater than Min( 64, CTU size ). [JVET-P0578][SW/T.-D. Chuang] Decision (expression of existing intent): Agreed.
- Adopt the clause 8.1.1 general decoding process text proposed in JVET-P0115-v2, and additionally specify the general decoding process as follows as a means for the decoder to know which OLS is being decoded (including which layers are being output) [JVET-P0115][SW/Y.-K. Wang]:
OlsIdx and HighestTid are given by external means, add a bitstream requirement that the bitstream does not contain any other layers than included in the OLS with OlsIdx and does not include any NAL unit with TemporalId greater than HighestTid.
Decision (consequence of agreement on OLS decoding concept): Agreed.
- Adopt the PTL signalling mechanism in JVET-P0117-v3. PTL signalled for an OLS rather than a layer. [JVET-P0117][SW/Y.-K. Wang] Decision (consequence of agreement on OLS decoding concept): Agreed.
- Adopt the HRD design in JVET-P0118-v5, as summarized and noted below: [JVET-P0118][SW/Y.-K. Wang] Decision (consequence of agreement on OLS decoding concept): Agreed.
- Add vps_max_sub_layers_minus1 (this piece is also in JVET-P0185) and vps_all_layers_same_num_sub_layers_flag to the VPS.
- On signalling of sequence-level HRD parameters, the following applies:
- For each independent layer used as an OLS containing only the layer, the sequence-level HRD parameters are signalled in the SPS referred to by the layer. (not in JVET-P0118-v5, suggested and agreed by the HLS BoG).
- For other cases, sequence-level HRD parameters are signalled in the VPS.
- DPB parameters (size, reordering, latency) for independent layers when used as output layers are signalled in the SPS (for enabling single-layer bitstreams without referring to VPSs), and in the VPS for other cases. Different DPB sizes may be signalled for a layer that may be used both as an output layer (in some OLSs) and as a non-output layer (in some other OLSs).
- Sequence-level HRD parameters syntax elements general_nal_hrd_params_present_flag, general_vcl_hrd_params_present_flag, decoding_unit_hrd_params_present_flag, tick_divisor_minus2, decoding_unit_cpb_params_in_pic_timing_sei_flag, bit_rate_scale, cpb_size_scale, cpb_size_du_scale, sub_layer_cpb_params_present_flag, num_layer_hrd_params_minus1, and bp_cpb_cnt_minus1 are signalled at most once for each multi-layer bitstream.
- A list of OLS HRD parameter syntax structure is signalled, and an index to the list is signalled for each OLS as needed. Different OLS HRD parameter syntax strutures may include different numbers of sub-layer HRD parameter syntax structures.
- When sub_layer_cpb_params_present_flag is equal to 0, the OLS HRD parameters for the lower sub-layer representations are inferred to be the same as the only set of OLS HRD parameters signalled in the OLS HRD parameters syntax structure for the highest sub-layer representation.
- The sub-bistream extraction process is no longer a part of the decoding process, thus moved from clause 10 to Annex C, and technically updated to output a sub-bitstream for a target OLS, and the extraction process removes SEI NAL units that contain buffering period, picture timing, or decoding unit information SEI messages that do not apply to the target OLS.
- Only one set of conformance tests, for testing the conformance of the OLSs specified by the VPS, is specified. Therefore, it is possible that there is no OLS specified by the VPS that included all layers of the entire bitstream, in which case the conformance of the entire bitstream is not specified.
Delegate the following to editors: Update the HRD text, particularly the part on describing the conformance tests, such that it does not appear that VPS would be needed even when the bitstream only has a single layer.
- Similarly as in MVC, CPB operations are OLS-specific, i.e., there is only one CPB for the entire OLS bitstream. However, the DPB is specified to conceptually consist of a sub-DPB for each layer, and the DPB operates in a layer-specific manner.
- In the list of bitstream conformance constraints, added that the the DPB output times derived for all pictures in any particular access unit shall be the same.
- In the derivations of the value of the variable NoOutputOfPriorPicsFlag in the DPB operations texts, the syntax elements pic_width_in_luma_samples, pic_height_in_luma_samples are replaced by pic_width_max_in_luma_samples and pic_height_max_in_luma_samples.
- Adopt the scalable nesting SEI message in JVET-P0190-v2. [JVET-P0190][SW/Y.-K. Wang] Decision (consequence of agreement on OLS decoding concept): Agreed.
- Specify the following constraints and rules on values of TemporalId and nuh_layer_id of NAL units: [JVET-P0125][SW/Y.-K. Wang] Decision (expression of existing intent): Agreed.
- All pictures in an AU shall have the same value of TemporalId.
- The TemporalId of an SEI NAL unit shall be equal to the the TemporalId of the AU containing the NAL unit.
- An SPS NAL unit shall have nuh_layer_id equal to the lowest nuh_layer_id value of PPS NAL units that refer to it.
- A PPS NAL unit shall have nuh_layer_id equal to the lowest nuh_layer_id value of the coded slice NAL units that refer to it.
- Parameter sets of each type share the same parameter set ID value space, regardless of the nuh_layer_id values.
- The nuh_layer_id of an APS NAL unit shall be equal to the lowest nuh_layer_id value of the code slice NAL units that refer to it.
- The nuh_layer_id of an EOB NAL unit shall be equal to 0.
- The nuh_layer_id of a filler data NAL unit shall be equal to the nuh_layer_id of associated VCL NAL unit.
- Add the set of general constraints and rules on SEI messages of the following categories in section 4 of JVET-P0125-v2: Decision (consequence of agreement on OLS decoding concept): Agreed.
- Two constraints on containing of SEI messages in SEI NAL units
- The specifiation of applicable layers of non-scalable-nested SEI messages
- Three constraints on the value of nuh_layer_id of SEI NAL units
- Add the following constraints and inference rule: Decision (expression of existing intent): Agreed.
- When sps_video_parameter_set_id is equal to 0, it is a requirement for bitstream conformance that there shall be only a single layer in the bitstream. [JVET-P0097, JVET-P0205][SW/M. M. Hannuksela]
- Require that vps_video_parameter_set_id shall be greater than 0. [JVET-P0205][SW/V. Drugeon]
- Infer vps_max_layers_minus1 to be equal to 0 when not present. [JVET-P0185][SW/ S. Deshpande]
- As a bug fix, remove pps_five_minus_max_num_subblock_merge_cand_plus1, such that the syntax element five_minus_max_num_subblock_merge_cand does not use the "constant slice/picture header parameters in PPS" mechanism introduced by the adoption of JVET-O0238. [JVET-P0152][SW/O. Chubach] Decision (BF): Agreed.
- Adopt the picture header design in JVET-P1006, but disallow PH repetition. [JVET-P1006][SW/W. Wan] Decision (cleanup): Agreed
The non-reference picture flag, when equal to 1, indicates that no pictures of any layers or sublayers reference the picture.
Further study is encouraged on avoiding signalling of irrelevant syntax elements (e.g., if all slices in the picture are intra slices)
- Adopt the OLS signalling syntax (in the VPS) and semantics in JVET-P1019, with the addition of the following constraint: Each OLS shall have at least one output layer. [JVET-P1019][SW/B. Choi] Decision (consequence of agreement on OLS decoding concept): Agreed.
- If it is not clearly specified, it needs to be clearly specified that, whenever a decoded picture is output, the conformance window applied shall be the conformance window that is associated with the picture. [SW/Hendry] – No need to say this, as it is already in the spec.
- If JVET-P1004 is adopted, adopt the proposed syntax, semantics, and the derivation process for the single_slice_per_subpic_flag in JVET-P1024. Otherwise, adopt in principle to signal the indication of single slice per subpicture and use it to condition the syntax for signalling of rectangular slices when not needed. [JVET-P1024][SW/M. M. Hannuksela] Decision (cleanup): Adopt.
- Adopt support of mixed IRAP and non-IRAP pictures within an AU, with the following POC design: Decision (layered coding support simpler than in SHVC): Agreed.
- For independent layers, use POC MSB cycle signalling. In the SPS, there is a flag to control whether picture header has ph_poc_msb_cycle_present_flag, and a length in the SPS. When ph_poc_msb_cycle_present_flag is equal to 1, the POC MSB cycle, u(v) coded, is signalled in the picture header. When POC MSB cycle is present, the POC MSB of the picture is set to poc_msb_cycle * MaxPicOrderCntLsb. [JVET-P0116][SW/Y.-K. Wang]
- For dependent layers, if there is a picture picA in the same AU in a reference layer of the current layer, the POC is derived as equal to the POC of piA and POC LSB values are required to be cross-layer aligned. Otherwise, the current POC derivation process applies. [JVET-P0101][SW/M. M. Hannuksela]
- Add a constraint to require that each IRAP AU is complete (i.e., there is a picture in each layer present in the CVS) and all pictures in an IRAP AU are IRAP pictures with the same NAL unit type. [JVET-P0116][SW/Y.-K. Wang] Decision (layered coding support simpler than in SHVC): Agreed.
- Always keep VPS and EOB NAL units in the output sub-bitstream in the sub-bitsteam extraction process (unless there is a decision to handle layer ID 0 differently than other layer ID values, where layer ID 0 can only be used by NAL units that apply to all layers, e.g., as proposed in JVET-P0380). [JVET-P0098][SW/M. M. Hannuksela] Further discussed track B Thursday 1600 (GJS): Decision (existing design intent for extraction process): Agreed, and also keep DPS (no constraint on layer ID value for these).
- Specify EOS NAL units to be layer specific, i.e., an EOS NAL unit applies only to the layer with the same nuh_layer_id as the EOS NAL unit (unless there is a decision to handle layer ID 0 differently than other layer ID values, where layer ID 0 can only be used by NAL units that apply to all layers, e.g., as proposed in JVET-P0380). [JVET-P0125][SW/Y.-K. Wang] Further discussed track B Thursday 1600 (GJS): Decision (existing design intent esp. for independent layers): Agreed.
- Adopt a clarification to the bullet items in setting of PicOutputFlag in the decoding process of one coded picture involving variables derived from the VPS, by adding the condition "sps_video_parameter_set_id is greater than 0", which means that a VPS is referred to by the CLVS. [JVET-P0097][SW/M. M. Hannuksela] Decision (expression of existing intent): Agreed.
- Add a constraint to require that when vps_independent_layer_flag[ i ] is equal to 0 there shall be at least one value of j such that the value of vps_direct_dependency_flag[ i ][ j ] is equal to 1. [JVET-P0135][SW/X. Ma] Decision (sensibility constraint): Agreed.
Track B stopped here at 1130 Wed 9 Oct. (GJS).
Track B resumed here at 1420 Thursday 10 Oct (GJS).
The BoG recommended confirming or further discussing the following items:
- Support of mixed IRAP/non-IRAP slices within a picture, with two competing proposals on the table, one in JVET-P0124/ JVET-P0095/JVET-P0222, and the other in JVET-P0458
It was asked why we have special NUTs for IRAPs, especially if we might mix them with other NUTs in the same picture. It was commented that these are to enable quick and easy identification of IRAPs.
The desired functionality would be to be able to refresh one or some subpictures without refreshing all of them at once. Otherwise, rewriting of the NUT would be needed.
Low-latency operation and viewport-dependent streaming were suggested applications.
JVET-P0458 proposes to add a "mapped NUT" that would be interpreted together with the SPS to determine whether it is a trailing picture or an IDR picture. (This would not enable open-GOP mixing; more would be needed for open-GOP support.)
The other proposal is to have a flag in the PPS to indicate mixed or non-mixed picture.
PH instead of PPS was mentioned as a suggestion.
Systems, in practice, have timestamps and other support that do not require bitstream analysis to find picture boundaries.
Another potential discussed approach would be a NUT that indicates that the current subpicture is IDR but makes no assertion about whether all other subpictures of the picture are IDR.
Discussed possibility:
- constraint flag that indicates no LIDR_NUTs in bitstream
- LIDR_NUT indicates the current sp is refreshing, but maybe not the others
- flag in the sps that says whether all pics with LIDR_NUT are IDR pictures
Versus
- constraint flag that indicate no mixtures in bitstream
- flag in pps that says whether the current picture is IRAP or not if the first VCL NUT is an IRAP NUT
Decision (extraction/merge functionality): Adopt second approach JVET-P0124 and JVET-P0095 and JVET-P0222.
- JVET-P0404 on an SEI message for MPEG-I Part 7 metadata. This seems unquestionable in principle, but we can't act unless there is something to reference at the appropriate stage.
- JVET-P0506 on max QT/BT/TT size signalling. No action seems needed.
- Should EOS NAL units be layer specific (i.e., an EOS NAL unit applies only to the layer with the same nuh_layer_id as the EOS NAL unit?
JVET-P0380 is related. It uses nuh_layer_id equal to 0 as a special layer that does not contain VCL NAL units but contains non-VCL NAL units that apply across layers, regardless of which layers are present. It was unclear to some participants at the HLS BoG meeting on Monday 10/7 if the earlier JVET decision on not taking action on JVET-P0380 only applies to its AUD aspect or more generally.
Therefore the BoG requested the track/plenary to confirm the earlier JVET decision, and further discuss either only the aspect of whether EOS NAL units should be layer specific, or additionally JVET-P0380 excluding its AUD aspect.
No action on this aspect of JVET-P0380, as there doesn't seem to be a good reason not to allow VCL NAL units in layer 0.
- Issues noted in the HLS BoG meeting minutes, agenda item 6.18.5 (AUD, picture header, slice header parameters signalling), under document JVET-P0687, section "On signalling constant slice header params", item categories 1 and 2, if not already resolved by non-HLS-BoG meeting sessions.
Some bugs were introduced by the previous meeting's adoption of O0238.
JVET-P0427 proposals 1 and 3 are withdrawn. Proposal 2 is to Update the range value of pps_max_num_merge_cand_minus_max_triangle_cand_plus1 to not depend on the value of MaxNumMergeCand. This aspect is minor and can be resolved in further study.
JVET-P0334 proposes to add the following additional syntax elements to PPS and use the same mechanism provided by the constant_slice_header_params_enabled_flag to either signal a parameter value in the PPS or in the slice headers:
- slice_joint_cbcr_sign_flag
- slice_sao_luma_flag
- slice_sao_chroma_flag
- slice_alf_enabled_flag
- slice_alf_chroma_idc
- slice_lmcs_enabled_flag
- slice_chroma_residual_scale_flag
- cabac_init_flag
- sign_data_hiding_enabled_flag
- slice_disable_bdof_dmvr_flag
This was considered for further study as a deferred potential detail cleanup.
JVET-P0368 proposes to add the following additional syntax elements to PPS and use the same mechanism provided by the constant_slice_header_params_enabled_flag to either signal a parameter value in the PPS or in the slice headers:
- pps_num_ref_idx_active_override_idc
- pps_disable_bdof_dmvr_idc
- pps_lmcs_aps_id_idc
- pps_chroma_residual_scale_idc
- pps_collocated_ref_idx_plus1
- pps_log2_diff_min_qt_min_cb_luma_plus1
- pps_max_mtt_hierarchy_depth_luma_plus1
- pps_log2_diff_max_bt_min_qt_luma_plus1
- pps_log2_diff_max_tt_min_qt_luma_plus1
This was considered for further study as a deferred potential detail cleanup.
- Proposals 2 and 3 of JVET-P0132, if not already resolved by non-HLS-BoG meeting sessions. This is for further study.
- JVET-P0446 on HRD bug fix and enhancements for slicing, open GOP and DRAP support.
In BP SEI message, sending maximum initial removal delay for which it would be guaranteed that "seamless splicing" would be possible to guarantee and signalling a flag per PT SEI message for whether it fulfils a condition. In a revision it is also proposed to send a presence flag so that not all encoders need to send this extra information.
Decision (BF & functionality): Adopted these aspects.
This also proposes a way to send HRD parameters for use with DRAP pictures with dropped intermediate picture, similar to the scheme used for dropped RASL pictures associated with a CRA picture.
We don't have DRAP pictures in the normative spec.
Decision (BF & functionality): Adopted.
- JVET-P1004 on removal of bricks. Some bit count analysis was shown and is to be provided in a revision of JVET-P0240. It was reported that the bit counts would be reduced if there is a flag to indicate that slices are in raster order (i.e., among the empty areas at the highest position in the picture, start at the left-most position). It was commented that the primary consideration is having more NAL units rather than the amount of PPS overhead. Decision (design simplification): Adopt, also specify a raster order flag just before the loop syntax.
JVET-P1012 was a proposed refinement that avoids sending an unnecessary syntax element for the last slice under some circumstance. Decision (cleanup): Adopt.
- JVET-P0336 on support of ROI (region-of-interest) scalability. Concern was expressed about whether this functionality would have a complexity problem. There is interest in this in concept, further study with provision of text and software was encouraged.
NAL unit header (2)
JVET-P0968 Report of BoG on high-level syntax [Y.-K. Wang]
See section 6.18.