JVET-Q0023 CE3: Summary Report on Lossless Coding [T. Nguyen, T.-C. Ma, A. Nalci]
This was initially discussed 8 January 2150–2250.
CE3-1: Regular and TS residual coding (RRC, TSRC) for lossless coding, and modifications to RRC and TSRC for lossless and lossy operation modes
Tester | Tool | Cross checker | |
CE3-1.1* | H. Wang | JVET-P0559: Modified RRC and TSRC for lossless
| T. Nguyen (HHI) M. Sarwer (Alibaba) |
CE3-1.2* | H. Wang | JVET-P1028: Modified TSRC for lossless | Z.-Y. Lin (MediaTek) |
CE3-1.3 | T.-C. Ma Z.-Y. Lin A. Nalci M. Sarwer | JVET-P0148/JVET-P0258: Using RRC for lossless coding without state transition | T. Tsukuba (Sony) |
CE3-1.4 | T. -C. Ma | JVET-P0528: On residual scanning order for lossless coding | J. Choi (LGE) |
CE3-1.5* | M. Sarwer | JVET-P0463/JVET-P0072: Rice parameter derivation of TSRC for lossless | T.-C Ma (Kwai) |
Tests with * modified the RRC, and had also to report on CTC normal range
Remarks (TN): CE3-1.3 uploaded two different configurations, whereas the CE3 description only consists of a single test. The performance difference between the two tests is the same for camera content. The only difference is in screen content where it is decided on picture level whether or not TSRC is used, depending on an existing algorithm in the encoder (hashThreshold, value increase from 20 to 40).
Lossless results:
Overall | All Intra (AI) | Random Access (RA) | Low Delay B (LB) | ||||||||||||
CR-A | CR-T | BRS | Enc | Dec | CR-A | CR-T | BRS | Enc | Dec | CR-A | CR-T | BRS | Enc | Dec | |
RExt | 2.1 | 2.3 | -6.04% | 3% | 54% | 2.2 | 2.3 | -4.82% | 8% | 66% | 2.6 | 2.7 | -4.24% | 9% | 70% |
CE3-1.1a | 2.1 | 2.3 | -5.75% | 96% | 104% | 2.2 | 2.4 | -5.88% | 101% | 101% | 2.6 | 2.7 | -4.98% | 97% | 105% |
CE3-1.1b | 2.1 | 2.2 | -5.38% | 93% | 105% | 2.2 | 2.3 | -5.64% | 98% | 100% | 2.6 | 2.7 | -4.98% | 97% | 105% |
CE3-1.1c | 2.1 | 2.2 | -5.09% | 104% | 105% | 2.2 | 2.3 | -3.49% | 105% | 104% | 2.6 | 2.6 | -2.48% | 103% | 105% |
CE3-1.1d | 2.1 | 2.2 | -4.51% | 101% | 104% | 2.2 | 2.3 | -3.01% | 103% | 104% | 2.6 | 2.6 | -2.31% | 102% | 106% |
CE3-1.2 | 2.1 | 2.2 | -4.31% | 93% | 103% | 2.2 | 2.3 | -2.94% | 100% | 101% | 2.6 | 2.6 | -2.29% | 100% | 103% |
CE3-1.3 | 2.1 | 2.2 | -5.23% | 93% | 102% | 2.2 | 2.3 | -5.58% | 97% | 97% | 2.6 | 2.7 | -4.97% | 98% | 106% |
CE3-1.4 | 2.1 | 2.3 | -5.63% | 98% | 105% | 2.2 | 2.4 | -5.72% | 97% | 100% | 2.6 | 2.7 | -5.09% | 100% | 110% |
CE3-1.5 | 2.1 | 2.2 | -2.52% | 98% | 104% | 2.2 | 2.2 | -0.82% | 99% | 107% | 2.6 | 2.6 | -0.91% | 101% | 108% |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Class F | All Intra (AI) | Random Access (RA) | Low Delay B (LB) | ||||||||||||
CR-A | CR-T | BRS | Enc | Dec | CR-A | CR-T | BRS | Enc | Dec | CR-A | CR-T | BRS | Enc | Dec | |
CE3-1.1a | 5.3 | 5.4 | -1.72% | 33.7 | 34.0 | -2.64% | 50.7 | 50.4 | -2.27% | ||||||
CE3-1.1b | 5.3 | 5.3 | -1.53% | 33.7 | 33.9 | -2.50% | 50.7 | 50.2 | -2.19% | ||||||
CE3-1.1c | 5.3 | 5.6 | -4.21% | 33.7 | 35.0 | -3.30% | 50.7 | 52.4 | -3.06% | ||||||
CE3-1.1d | 5.3 | 5.5 | -3.94% | 33.7 | 34.9 | -3.14% | 50.7 | 52.3 | -2.94% | ||||||
CE3-1.2 | 5.3 | 5.5 | -3.67% | 33.7 | 34.8 | -2.97% | 50.7 | 52.1 | -2.83% | ||||||
CE3-1.3 | 5.3 | 5.3 | -1.33% | 33.7 | 33.8 | -2.35% | 50.7 | 50.8 | -2.36% | ||||||
CE3-1.4 | 5.3 | 5.4 | -1.86% | 33.7 | 33.8 | -2.45% | 50.7 | 50.8 | -2.40% | ||||||
CE7-1.5 | 5.3 | 5.5 | -2.67% | 33.7 | 34.5 | -2.38% | 50.7 | 51.8 | -2.28% | ||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TGM | All Intra (AI) | Random Access (RA) | Low Delay B (LB) | ||||||||||||
CR-A | CR-T | BRS | Enc | Dec | CR-A | CR-T | BRS | Enc | Dec | CR-A | CR-T | BRS | Enc | Dec | |
CE3-1.1a | 11.8 | 11.8 | -0.17% | 107.1 | 107.3 | -0.46% | 124.9 | 122.9 | 0.68% | ||||||
CE3-1.1b | 11.8 | 11.6 | 1.10% | 107.1 | 106.4 | 0.36% | 124.9 | 122.9 | 0.97% | ||||||
CE3-1.1c | 11.8 | 12.5 | -5.09% | 107.1 | 116.7 | -6.75% | 124.9 | 137.0 | -6.89% | ||||||
CE3-1.1d | 11.8 | 12.4 | -4.53% | 107.1 | 116.2 | -6.37% | 124.9 | 136.6 | -6.63% | ||||||
CE3-1.2 | 11.8 | 12.3 | -3.79% | 107.1 | 115.7 | -5.96% | 124.9 | 136.0 | -6.16% | ||||||
CE3-1.3 | 11.8 | 11.8 | 0.00% | 107.1 | 107.1 | 0.00% | 124.9 | 124.9 | 0.00% | ||||||
CE3-1.4 | 11.8 | 11.8 | 0.00% | 107.1 | 107.1 | 0.00% | 124.9 | 124.9 | 0.00% | ||||||
CE3-1.5 | 11.8 | 12.3 | -3.40% | 107.1 | 114.8 | -5.36% | 124.9 | 135.0 | -5.67% | ||||||
Results on CTC:
Overall | All Intra (AI) | Random Access (RA) | Low Delay B (LB) | |||||||||||||||||||||||||
Y | Cb | Cr | Enc | Dec | Y | Cb | Cr | Enc | Dec | Y | Cb | Cr | Enc | Dec | ||||||||||||||
0.00% | -0.01% | 0.01% | 101% | 100% | -0.01% | -0.02% | 0.07% | 101% | 100% | 0.00% | -0.01% | -0.17% | 101% | 98% | ||||||||||||||
CE3-1.1b | 0.00% | 0.00% | 0.00% | 100% | 102% | 0.00% | -0.01% | 0.00% | 100% | 100% | 0.00% | 0.00% | 0.00% | 101% | 100% | |||||||||||||
CE3-1.1c | -0.01% | 0.02% | -0.02% | 100% | 100% | -0.01% | -0.04% | 0.04% | 100% | 100% | -0.02% | -0.06% | -0.25% | 100% | 100% | |||||||||||||
CE3-1.1d | -0.01% | 0.00% | -0.01% | 101% | 102% | -0.01% | -0.06% | 0.01% | 100% | 100% | -0.02% | -0.08% | -0.24% | 100% | 99% | |||||||||||||
CE3-1.2 | -0.01% | 0.00% | -0.01% | 100% | 100% | -0.01% | -0.07% | 0.01% | 100% | 100% | -0.02% | -0.08% | -0.24% | 100% | 100% | |||||||||||||
CE3-1.5 | -0.01% | 0.00% | -0.02% | 96% | 97% | 0.00% | -0.01% | 0.02% | 98% | 98% | -0.03% | -0.03% | -0.12% | 97% | 96% | |||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||||||||||||
Class F | All Intra (AI) | Random Access (RA) | Low Delay B (LB) | |||||||||||||||||||||||||
Y | Cb | Cr | Enc | Dec | Y | Cb | Cr | Enc | Dec | Y | Cb | Cr | Enc | Dec | ||||||||||||||
CE3-1.1a | -0.03% | -0.01% | 0.12% | 101% | 100% | 0.01% | 0.03% | -0.10% | 101% | 100% | -0.01% | -0.54% | 0.18% | 100% | 100% | |||||||||||||
CE3-1.1b | 0.00% | 0.00% | 0.00% | 102% | 101% | 0.00% | 0.01% | 0.01% | 101% | 100% | 0.00% | 0.02% | 0.01% | 101% | 100% | |||||||||||||
CE3-1.1c | -0.14% | -0.21% | -0.08% | 102% | 101% | -0.15% | -0.09% | -0.09% | 101% | 100% | -0.14% | -0.28% | 0.53% | 100% | 98% | |||||||||||||
CE3-1.1d | -0.18% | -0.21% | -0.06% | 102% | 102% | -0.18% | -0.02% | -0.12% | 101% | 100% | -0.14% | -0.27% | 0.46% | 100% | 98% | |||||||||||||
CE3-1.2 | -0.18% | -0.21% | -0.06% | 102% | 100% | -0.18% | -0.01% | -0.12% | 101% | 100% | -0.14% | -0.30% | 0.44% | 100% | 101% | |||||||||||||
CE3-1.5 | -0.15% | -0.19% | 0.02% | 101% | 102% | -0.08% | 0.00% | -0.04% | 101% | 102% | -0.07% | -0.28% | 0.05% | 102% | 103% | |||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||||||||||||
TGM | All Intra (AI) | Random Access (RA) | Low Delay B (LB) | |||||||||||||||||||||||||
Y | Cb | Cr | Enc | Dec | Y | Cb | Cr | Enc | Dec | Y | Cb | Cr | Enc | Dec | ||||||||||||||
CE3-1.1a | -0.03% | -0.01% | -0.02% | 102% | 104% | 0.04% | 0.01% | 0.04% | 101% | 100% | -0.03% | -0.14% | -0.07% | 101% | 103% | |||||||||||||
CE3-1.1b | 0.00% | 0.00% | 0.00% | 102% | 104% | 0.00% | 0.00% | 0.00% | 101% | 100% | 0.00% | -0.01% | 0.00% | 101% | 100% | |||||||||||||
CE3-1.1c | -0.39% | -0.31% | -0.33% | 102% | 103% | -0.22% | -0.23% | -0.19% | 101% | 100% | -0.18% | -0.28% | -0.30% | 102% | 107% | |||||||||||||
CE3-1.1d | -0.40% | -0.33% | -0.37% | 102% | 104% | -0.27% | -0.21% | -0.18% | 101% | 101% | -0.26% | -0.27% | -0.18% | 101% | 101% | |||||||||||||
CE3-1.2 | -0.40% | -0.33% | -0.37% | 101% | 102% | -0.27% | -0.21% | -0.18% | 101% | 100% | -0.26% | -0.27% | -0.18% | 101% | 98% | |||||||||||||
CE3-1.5 | -0.37% | -0.27% | -0.30% | 101% | 102% | -0.17% | -0.20% | -0.17% | 101% | 102% | -0.25% | -0.24% | -0.30% | 102% | 104% | |||||||||||||
CE3-2 switches on BDPCM in different ways, luma only, and luma+chroma.
With CE3-1, no method is better than RExt (probably because the latter is using RDPCM)
There were 6 different methods of residual coding. All indicate additional gain when BDPCM is enabled, best results when it is done for both luma and chroma.
The best results are in the range of 8%/6% rate saving versus VTM7 anchor (without BDPCM) in case of AI, whereas RExt has 6%/4.8% rate saving.
CE3-2.2 enables BDPCM in VTM7 both for luma and chroma, which saves around 2.7%/0.8% (still worse than RExt lossless, but indicates that Chroma BDPCM is beneficial for 4:2:0 as well).
It was initially agreed to adopt CE3-2.2 chroma BDPCM for 4:2:0 upon availability of complete results under CTC, indicating that there would be no loss. This would be an adoption of JVET-Q0089, which is a superset of JVET-Q0088. Refer to the notes under JVET-Q0785.
The CE shows that it is possible to have VVC compression that is better than HEVC in lossless mode, it is however coming at extreme increase of encoder run time, and approximately doubling decoder run time. From this, it may be questionable if applications of lossless coding such as archiving would ever use VVC. However, the option of lossless compression is rather important to be used locally in pictures. Even though it can be concluded that the gain observed here would also partially be observed in case of local usage, it would probably be less (depending on the portion of the picture that is lossless coded, and its content).
The best performing methods are 2-8a-2 (8.2%/6.5%), 2-8b-2 (7.8%/6.3%), 2-4 (7.7%/6.2%)
CE2-4 uses regular residual coding instead of TS residual coding, invoked by HL
CE2-8a-2 is changing the Rice parameter derivation for regular residual coding. This is improving the performance of RRC for lossless and low QP, but does not have impact on CTC.
CE2-8b-2 is doing an additional change omitting the normalization in the remainder coding (so it is simpler)
CE2-8c-2 is applying the same modification on Rice parameter derivation of CE2-8a-2 to TS residual coding, and uses that for lossless. CE2-8d-2 corressponds similarly to the CE2-8b-2, c/d don’t have a high-level switch
These modifications applied to TS residual coding are giving worse results for camera content in lossless mode, but different for screen content (AI/RA -0.7%/+0.3% class F, -2.8%/-6% for TGM)
For screen content, CE2-8a/b is also using the modified RRC in lossless case, but in lossy case (also near lossless) still uses the TS residual coding.
It can be concluded from these results, that TS residual coding is mainly good for screen content, however for lossless coding it would require a modification of Rice parameter derivation for being competitive with RRC (even the non-modified RRC of CE2-4) even for screen content.
If two different methods of residual coding are kept, some kind of switching (not implicitly coupled to TS) is needed to achieve reasonable performance in lossless coding.
Question: What is the gain of TSRC currently in CTC?
JVET-Q0363 provides results that indicates that diabling it would end up in 3.8% loss in class F, but also some loss for camera content. This indicates that the existence of an alternative entropy coding for screen content is still beneficial, even though it only performs good in lossy mode. For achieving the desired performance for lossless, CE3-2.3/4 (high-level switch between one and the other method of RC for TS) is a simple change and achieves the desirable performance.
Decision: Adopt JVET-Q0089. However, only a slice-level flag should be implemented (no SPS/PPS). This needs to be included in an update, as well as the change (see discussion under JVET-Q0183) that only one flag shall be used controlling luma and chroma BDPCM together. Further, the bug fix of JVET-Q0361 shall be included in that text.