JVET-Q0505 AHG15: Improvement for Quantization Matrix Signalling [H. Zhang, X. Li, G. Li, L. Li, S. Liu (Tencent)]
In this contribution, two improved signalling methods of user defined quantization matrices (QMs) are proposed. In VVC Draft 7, up to 28 QMs are signalled in APS even when some of them will not be used in the quantization process. This contribution suggests simple changes on top of the current design to only signal the QMs to be used. The proposed method was implemented on top of VTM7.0 with minor changes on current spec. Additionally, the experiment results reportedly show that bit-rate reduction was observed under various conditions of transform size range on a provided test set.
The basic idea of solution 2 is that quant matrices are only sent for transform sizes that are used. To avoid dependency of APS form SPS, the SPS max transform size parameters are duplicated.
It is however pointed out that unused quant matrices could just be set to default value which would only cost two bits.
Compared to the data rate increase that is caused by disabling large transforms, saving of a few bits in the signalling of APS for quant matrices is negligible.
This would also make the specification text more complicated without real need.
No need for action seems necessary on this aspect.
The requested functionality can easily be achieved with the current design
Solution 1 has two aspects:
- Not signalling chroma quant matrices for monochrome
- Not sending quant matrices for TB sizes that are not used, by using the using information about min and max TB sizes.
To achieve this, parameters from SPS are sent again in APS (to avoid the dependency, a design principle of HLS).
Basically, both aspects could be achieved again at very low cost by the same approach (signalling default matrices for those that are not used).
For cases of TB size restriction, this is an operation mode which might not commonly be used.
For case of monochrome, it might appear reasonable not being forced to signal chroma quantization matrices that are never used. On the other hand, it makes the text spec more complicated (one condition check, 1 more syntax element + associated semantics). However, the text change should be minimum.
Proponents were asked to provide text with a reduced “solution 1” only for monochrome. The text was reviewed Thursday 16 January in Track B. Beyond the intent that we should follow the principle not signalling something which would never be used, the proposed text would also allow disabling the signalling of chroma matrices for the non-monochrome case. It is mentioned that this might potentially be conflicting with other aspects of scaling matrices, e.g. usage for LFNST, etc.
Decision: Adopt JVET-Q0505 solution 3, disable chroma scaling matrices for chroma in monochrome, text in v5, but also impose a bitstream constraint that the functionality is only used and must be used in case of monochrome.
Semantics shall read as
“It is a requirement of bitstream conformance that scaling_list_chroma_present_flag shall be equal to 0 when ChromaArrayType is equal to 0, and shall be equal to 1 when ChromaArrayType is not equal to 0.”
Further, the following sentence shall be removed:
“When not present, the value of scaling_list_copy_mode_flag[id] is inferred to be equal to 1.”
Proponents were requested to upload a new version implementing this.