JVET-AD0133 AHG10: Lambda-QP Relationship Fix for Slice-level Multi-QP Optimization [J. Liao, L. Li, D. Liu, H. Li, F. Wu (USTC)]
This contribution proposes to fix the problems of slice-level multi-QP optimization in VTM software. The main modifications this contribution proposes to the slice-level multi-QP optimization of the original version in VTM are as follows:
- This contribution proposes to modify the QP-lambda relationship in slice-level multi-QP RDO.
- This contribution proposes to fix the slice-level lambda while traversing the QP within a predefined range.
- It was proposed in this contribution to disable CU-level mode reuse when multi-QP optimization is enabled.
The test results show that the fix brings significant performance improvement compared with the original implementation as follows:
- AI: {-8.25%, -5.68%, -6.00%};
- RA: {xx%, xx%, xx%} (RA results not yet available at the time this summary was prepared);
- LDB: {-5.28%, -3.96%, -3.34%}
This is only for frame-level QP optimization.
It was asked how much benefit frame-level multi-QP optimization provides in current VTM. JVET-AB0228 compared frame-level multi-QP optimization on/off based on VTM-17.0. Partial results show little benefit from frame-level multi-QP optimization in VTM-17.0, and given nothing has changed between VTM-17.0 and VTM-20.0 in this aspect, it is likely that in our latest VTM, frame-level multi-QP is still not providing any benefits.
This contribution is implemented based on VTM-19.2, which was the latest version of VTM when this work started.
The cross checker confirmed that the results are matched.
The gains reported in JVET-AB0228 were much higher than reported here, e.g. gain in AI was reported to be ~12% in JVET-AB0228 (on top of VTM-17.2), but was reduced to only 8.25% in this contribution (on top of VTM-19.2).
It was commented that between VTM-17.2 and VTM-19.2, rate distortion performance for CTC was not significantly changed. However, performance reported in this contribution is outside of CTC.
It was commented that this contribution brings good coding gain for multi-QP optimization, and it is generally desirable to have software function correctly when this feature is used.
VTM software has a REUSE_CU_RESULTS macro that is turned on by default in our main branch. However, the current software implementation of this contribution needs to turn off this REUSE_CU_RESULTS macro in order to avoid crash. This is not desirable and should be resolved before any action can be taken.
It was commented this work is valuable, and some of the software issues identified by this proposal can be resolved via the VTM software bug tracker system.
Further study was recommended.