JVET-P0606 AHG18: Enabling lossless coding with minimal impact on VVC design [B. Bross, T. Nguyen, H. Schwarz, D. Marpe, T. Wiegand (HHI), M. Karczewicz, Y.-H. Chao, H. Wang, M. Coban (Qualcomm)]
This contribution analyses the required changes to enable lossless coding in VVC. To facilitate lossless coding with minimal impact on current VVC syntax and decoding process, it is proposed to enable transform skip for chroma as tested in CE8-2.1 (JVET-P0058). In addition to that, in order to improve the coding efficiency with regard to an HM lossless anchor, the modified transform skip residual coding as tested in CE7-1.2d is proposed (JVET-P0079). The proposed design enables lossless coding with minimal impact on the syntax, i.e. without introducing an additional cu_transquant_bypass_flag for lossless coding and condition other normative parts on that new syntax element. Compared to the HM lossless anchor, results show a bit-rate reduction of 5.27% for AI and 1.23% for RA and compared to the AHG18 VTM lossless anchor, results show a bit-rate reduction of 0.01% for AI and a bit-rate increase of 2.48% for RA.
The CU-level flag cu_transquant_bypass_flag is introduced that controls the following:
- skips transform but compared to VTM transform skip:
- skips transform_skip_flag syntax
- skips transform also for chroma
- skips transform for ISP
- uses regular residual coding instead of transform skip residual coding
- disables scaling for luma and chroma, incl. dep. quantization (implicitly signalled)
- disables sign hiding (implicitly signalled)
- skips SBT syntax (implicitly signalled, syntax inferred as disabled)
- skips LFNST syntax (implicitly signalled, syntax inferred as disabled)
- disables deblocking (implicitly signalled)
- disables SAO (implicitly signalled)
In addition to that, the encoder needs to be configured as follows:
- Set maximum transform size to 32x32 (explicitly signalled)
- Disables Joint Cb Cr Residual (JCCR) coding on block level (explicitly signalled as 0)
- Disables BDPCM (not required and reported as a bug, signalled but never executed)
- Disables LMCS (explicitly signalled)
- Disables ALF (explicitly signalled)
It is noted that in case where only some regions of a picture are lossless coded, some of the above global disabling mechanisms might need to be put into the functionality of transquant bypass.
An alternative method to achieve lossless functionality would be invoking TS for chroma as well (adopted at this meeting for 4:4:4, but not 4:2:0), and use sufficiently low QP
The transquant bypass approach enables lossless functionality by imposing additional complexity to the decoder, whereas the method via TS and low QP would need more actions at the encoder, and likely have less compression performance for the case of local lossless coding.
There is also indication that with the newly adapted method of TS residual coding, the compression improves.
Further discussion was needed on whether for lossless coding conventional residual coding or the new TS residual coding is better. The VTM6 TS residual coding was found to be worse.
- See further discussion in Sunday plenary.
From the discussion in track A, the method which puts the burden at the encoder is preferable. The only still necessary normative change is enabling TS for all chroma sampling schemes (see right column below).
TOOL | AHG18 lossless anchor | Change | Proposed | Change |
SBT off | implicitly (transquant bypass) | yes | explicitly | no |
LFNST off | implicitly (transquant bypass) | yes | explicitly | no |
skip trafo Y | implicitly (transquant bypass) | yes | explicitly | no |
skip trafo Cb | implicitly (transquant bypass) | yes | explicitly | yes |
skip trafo Cr | implicitly (transquant bypass) | yes | explicitly | yes |
skip trafo for ISP | implicitly (transquant bypass) | yes | no | no |
BDPCM off | explicitly | no | explicitly | no |
residual coding | regular | yes | transform skip (TSRC) | no |
scaling off | implicitly (transquant bypass) | yes | implicitly (QP < 5) | no |
JCCR off | explicitly | no | explicitly | no |
SDH off | implicitly (transquant bypass) | yes | implicit (TSRC) | no |
MaxTrafoSize=32x32 | explicitly | no | explicitly | no |
LMCS off | explicitly | no | explicitly | no |
DF off | implicitly (transquant bypass) | yes | explicitly | no |
SAO off | implicitly (transquant bypass) | yes | explicitly | no |
ALF off | explicitly | no | explicitly | no |
Further information about results with 7-1.3b* TS residual coding was reported Wednesday 8 Oct. See JVET-P1025.