JVET-R0215 AHG9: Max num of subblock merge candidate signalling [R. Yu, M. Pettersson, R. Sjöberg, M. Damghanian, Z. Zhang, J. Enhorn (Ericsson)]
In the current VVC draft specification version 8, the maximum number of subblock based merging motion vector prediction candidates is signalled in the SPS by the five_minus_max_num_subblock_merge_cand syntax element which is present when sps_affine_enabled_flag is equal to 1. It is reported that currently the value of five_minus_max_num_subblock_merge_cand is restricted to be in the range of 0 to 5, inclusive.
It is asserted that such restriction allows an undesired scenario where five_minus_max_num_subblock_merge_cand may be set equal to 5 when sps_affine_enabled_flag is set equal to 1. In this scenario, the subblock merging candidate number becomes 0, which turns off merge for affine as well as for subblock temporal motion vector prediction (SbTMVP) regardless of the values of the SbTMVP enabling flags.
The contribution proposes two alternatives for avoiding the claimed undesired scenario.
- Alternative 1 proposes to change the range restriction of the syntax element five_minus_max_num_subblock_merge_cand to be in the range of 0 to 5 − sps_affine_enabled_flag, inclusive. It is further proposed to infer the value of five_minus_max_num_subblock_merge_cand to 5 when it is not present.
- Alternative 2 proposes to signal the maximum affine merge candidate number when sps_affine_enabled_flag is set to 1. It is further proposed to derive the maximum number of subblock candidates MaxNumSubblockMergeCand in the picture header as a sum of the value of the SbTMVP enabling flags and the maximum affine merge candidate. The derivation process of the subblock merging candidate list is also modified to make sure that the number of affine merge candidate that appears in the final candidate list does not exceed the signalled maximum affine merge candidate number.
The proponent suggested to focus on alternative #1.
One participant said that the current specification is not necessarily a problem and suggested that it would be sufficient to add a NOTE to explain that in one case, subblock merge cannot be used since it has no candidates (when five_minus_max_num_subblock_merge_cand is equal to 5, no subblock merge candidate is available even though the SPS indicates that subblock merge candidates are enabled).
The signalling method in JVET-R0068 would avoid the unusual case.
See the notes for JVET-R0371.