JVET-O1048 Non-CE11: Non-CIP normative Gradual Random Access [D. Gommelet, J.-M. Thiesse, D. Nicholson (VITEC)] [late]
Discussed Thursday 2100 (GJS & JRO)
This contribution proposes something related to CE 11 Test 2.2 to support Gradual Random Access. Instead of using a full CIP-like constraint on all intra CUs of the refreshed region, this contribution only take care of not using reference samples from the non-refresh area. There is reported to be no impact on bitrates fluctuations which are keeping smooth as in CE 11 Test 2.2. The resulting BD rate impact over CE11 test 2.2 is reported of -3.41% in class E, -1.05% in class C and -1.22% in class D.
The contribution also proposes a less-intrusive option leveraging the same principle: virtual boundaries brought at slice level are proposed to be used for disabling intra prediction across the virtual boundary. This option is intended to be less complex to support than CIP since the resulting impact on intra reference pixels filling is kept similar as for picture boundaries.
Proposes having a virtual boundary syntax at the slice level with intra prediction disabling.
This is targeted for AU-based delay minimization.
As a proposed example, the picture would contain only one slice.
It was commented that DU-based operation can provide more delay reduction than AU-based GDR (see prior JVET-N0114). It would use multiple slices per picture.
Is the target application for ultra-low delay? Not necessarily. The proponent said that an example implemation is game streaming (e.g., per the Amazon Twitch service). The proposed operation would be for both random access and low delay.
There are three aspects: 1) disabling in-loop filters, 2) disabling intra prediction, 3) disabling MC references, 4) not using temporal MVP in “dirty” reference picture areas. We only currently do aspect 1 for picture level or at slice/tile/brick boundaries. We currently do aspect 2 only at slice/tile/brick boundaries. We currently support aspect 3 as encoder-only or newly-adopted subpicture boundary.
This proposal uses encoder-only for aspects 3 and 4.
As proposed, there could be a restriction that the virtual boundary position would not be able to change within a picture. This is just a way to not need to send a new PPS. This should not present a problem from a decoder perspective since the PPS can change on every picture anyway.
It was commented that the boundary syntax could be in the AUD.
For aspect 2, the enhanced functionality of the proposal is to be able to do this on a granularity of 8 lines/columns rather that CTU rows/columns. It was commented that this could also be somewhat helpful for cubemap video, but is not so important for that.
This was reported to have 5% BD rate loss relative to no GDR with and intra refresh period that is the same as the GDR picture (1 second). This can compare to a roughly 20% loss for an encoder-only method (without aspect #1).
It was commented that this should be cross-checked.
It was commented that the same functionality is provided by having two tiles in a picture; the differences being the granularity and the cutting off of MV prediction and CABAC adaptation at the tile boundary. CE11-3.2 was similar to this.
It was commented that it would also not be a big problem to move some slice/tile structure partitioning from the PPS to a lower level like AUD or SH.
It seemed that:
- It would not be especially difficult to implement the proposed intra prediction disabling.
- But we don’t really know how important it would be to have that. One participant estimated that benefit to be 2-3%. Some thought it would be less.
- Plan a CE to test this benefit. Test two-slice/tile approach (assuming an efficient picture-level tile syntax) versus the 8-granularity intra prediction disabling. Also test combinations with treating slice/tile boundary as picture boundary for MC. Tests will assume that loop filter disabling virtual boundary support is usable (in both anchor and test configs).