Abstract not available in document
JVET-N0809 BoG report on CE4 inter prediction and motion vector coding related contributions [H. Yang]
Discussed in Track B Monday 25 March 1045 (GJS)
Two sessions of BoG meetings were held, first one from 1615 to 2230 on Mar. 21, and second one from 0915 to 1515 on Mar. 22. 44 contributions have been reviewed.
JVET-N0334, JVET-N0335, JVET-N0336 and JVET-N0235 were identified as appropriate to be discussed in CE4 BoG by proponents, though not marked clearly in the title.
JVET-N0086 was identified to be more closely related CE9 during the discussion, and was recommended to be reviewed in CE9 BoG.
Normative changes:
- JVET-N0085/N0335: unified MV rounding by setting the rounding offset to (1 << (shift – 1)) − 1 for rounding applied to an absolute value, to round toward zero.
- Notes of Track B review:
- At the Macao meeting, based on JVET-L0377 we made the software match the text by rounding toward zero rather than toward minus infinity (at least for AMVR).
- Then at the Marrakech meeting, based on JVET-M0265, we tried to consistently apply rounding away from zero.
- Offset = 1 << (F-1);
- M= S >= 0 ? (S + Offset) >> F: -((-S + Offset) >> F).
- It was said that for deriving chroma vectors from luma vectors, it is necessary to round toward negative infinity for IBC to avoid a range problem. This is an exception.
- For temporal scaling in HEVC, it was said that we rounded toward zero. Some (tiny) gain was shown for doing that.
- Decision (consistency): Round MVs toward zero for MV rounding (incl. temporal scaling and spatial neighbour MV scaling and other cases if applicable). Use the software variation from M0335.
- Notes of Track B review:
- JVET-N0127: MMVD enabling signalling in SPS.
- Decision (bug fix of basic intent): Adopted
- JVET-N0265: simplification of HMVP candidate derivation in AMVP list construction, POC checking in HMVP table is replaced by reference index checking. This removes some compares, since it replaces a series of checks with one check. It was commented that there would be a coding performance loss for this and would be inconsistent with how other AMVP candidates are checked and is not in the critical path. In the low delay case with lower QP this was said to have a loss relating to the same picture being in both lists (about 0.1% for camera content and more for some screen content). No action was taken on this.
- JVET-N0267/N0385/N0486: single HMVP table for all CUs inside the shared merge list region for IBC. No update of the table within the share merge list region. This saves some repeated updating that seems to provide no benefit. Currently, we update the history always for non-subblock modes. At this meeting, as a consequence of removal of 4x4 inter CUs, we removed shared merge lists for inter, so we now have it only for IBC. It was suggested that removing shared merge lists or doing what is proposed here could be studied in a next round of CE8.
- JVET-N0286: by-pass coding of bins except for the first bin in BCW index coding. No loss was observed. Decision (cleanup): Adopted.
- JVET-N0332: disable MVD scaling for MMVD in case LTRP is used. Decision (bug fix): Adopt.
- JVET-N0334: MV clipping for MMVD, DMVR and CPMV of constructed affine merge candidadates. Decision (bug fix): Adopt.
- JVET-N0448/N0380: implicitly infer the number of MMVD base merge candidate to be 1 as MaxNumMergeCand being equal to 1. mmvd_merge_flag is not signalled in this case. Decision (bug fix): Adopt.
- JVET-N0483: disable sub-block transform when triangle mode is used. This was based on the assertion that this combination is basically never used and could create visual artefact if it is used. Decision (cleanup): Adopt.
SW changes
- JVET-N0449: adopt the encoder speed up for MMVD, by reducing the number of offsets from 8 to 6. Add an encoder parameter to control. This saves about 2% encoder runtime for LB. This was neutral to beneficial in coding performance. Decision (SW-NN): Adopt (and use in CTC).
- JVET-N0462: Decision (SW bug fix): change the software to match the text for the context modeling of inter_pred_idc (different from what was recommended).
Decision (non-normative bug fixes):
- JVET-N0168: bug fix of cost calculation in AMVR mode.
- JVET-N0334: align with the text on MV wrap around for regular inter mode and affine inter mode.
A CE4 test was agreed to be planned from following contributions
- JVET-N0309: Adding half pel mode to AMVR (the current design does not have a half-pel case with AMVR mode) and select a switched half-pel interpolation filter (one or two alternative filters). As tested thus far, this provided 0.3% gain for 10% runtime increase, but this was not with an optimized encoder search technique. It was noted that there is a trick for applying the interpolation filter in HEVC to keep the dynamic range within 16 bits for processing data with a bit depth up to 12 bits. Filters that would need a different implementation technique than this would be less desirable. It was asked whether this would cause visual blurriness.
Topics requested for further discussion:
- For resolving a previous discussion in the CE, it was said that 4-1.5b and 4-1.5c have some interaction with work to simplify the MV list construction for triangle mode, since some of these are based on trying to use a similar process as in regular merge list construction with spatial and TMVP candidates.
- JVET-N0213 was discussed in the BoG, proposing to remove TMVP candidates in the list construction of both merge and AMVP. This was suggested to be considered with CE4.1.5, when additional simulation results were available.
- 4-1.5b and 4-15c were tested in combination with JVET-N0340. A small coding loss of about 0.09% was observed with the combination in LB configuration. There was no impact on the RA case. 4-1.5a has no interaction with JVET-N0340. It was suggested to apply 4-1.5a. It was also suggested to consider JVET-N0213, which includes CE4-1.5a and also removes TMVP from the AMVP list for 4x8 and 8x4. Decision (complexity reduction): Adopt JVET-N0213 test D (removing TMVP from merge and AMVP list for 4x8 and 8x4 CUs).
- JVET-N0240: conversion of bi-prediction motion to uni-prediction motion before MVD derivation in MMVD for small blocks. This was said to remove some redundant operations – saving one scaling and some adds/subtracts and shifts and clipping. It had been requested for text to be provided. The text impact was minor – just moving something from one place to another. The benefit for this was very small. There were mixed opinions, with some believing this was more logical and some saying it there was no need to change what was there. There was some (small) loss for luma in LB configuration – about 0.05%. No action was taken on this.
- JVET-N0235: discuss whether parsing CU level syntax depends on the constructed reference picture list is a real problem or not in track. This was not considered a real problem – although it might be nice to editorially move the necessary parts of RPL derivation to avoid having the parsing process depend on the semantics/parsing process. Another aspect of JVET-N0235 was to add an SPS-level flag to turn on and off symmetric MVD – a feature with about 0.25% coding gain and 3% encoder runtime increase. Decision: Add such a flag (and the lower level syntax presence should be gated by the flag).
- JVET-N0447/N400/N500/N0851: harmonized design of triangle merge candidate number and regular merge candidate number.
- It was agreed that the other actions taken at this meeting would break the syntax design; a partial fix was proposed and agreed as in section 2 of JVET-N0851 (also in some others). Decision: Adopted this aspect.
- There were opinions about refining other aspects, but the action taken seems adequate to fix the basic problem. Further refinements may be considered in further study (not in a CE, since an experiment probably wouldn’t show any meaningful difference in coding effects).
JVET-N0809 BoG report on CE4 inter prediction and motion vector coding related contributions [H. Yang]
See the notes in section 6.8.