Back to Search Document details
17th Meeting: Brussels, January 2020 2020-01-10 08:28
Non-CE5: Multiplication simplification for ALF and CC-ALF
Abstract
This document proposes a restriction of ALF coefficients. Instead of allowing all coefficient values from 127 to 127, only values that are pure powers of two +/-{0, 1, 2, 4, 8, …} and values that are 3 times pure powers of two +/-{3, 6, 12, 24, …} are proposed to be allowed. It is claimed that this gives a substantial complexity reduction in terms of surface area of hardware implementations of ALF since every per-sample multiplication can be then replaced by an addition and shifts. Reported BDR figures are:
JVET-Q0167 Non-CE5: Multiplication simplification for ALF and CC-ALF [J. Ström, Z. Zhang, K. Andersson (Ericsson)]

This document proposes a restriction of ALF coefficients. Instead of allowing all coefficient values from 127 to 127, only values that are pure powers of two +/-{0, 1, 2, 4, 8, …} and values that are 3 times pure powers of two +/-{3, 6, 12, 24, …} are proposed to be allowed. It is claimed that this gives a substantial complexity reduction in terms of surface area of hardware implementations of ALF since every per-sample multiplication can be then replaced by an addition and shifts. Reported BDR figures are:

Test 1: Y-BDR: 0.02% (AI), 0.02% (RA), 0.00% (LDB)

YUV-BDR: 0.01% (AI), 0.01% (RA) -0.07% (LDB)

A variant (test 2) which, in addition to allowing the values of test 1, also allows coefficient values that are 5 times a pure power of two +/-{5, 10, 20, 40, …} is also presented, and it is claimed that this can also be implemented in hardware with the same number of additions as test 1. Reported BDR figures are:

Test 2: Y-BDR: 0.00% (AI), 0.00% (RA), -0.04% (LDB)

YUV-BDR: -0.01% (AI) -0.01% (RA) -0.08% (LDB).

Combinations with CC-ALF enabled are also presented for information.

Question: Is the quantiztion considered in the encoder? Yes, similar way as currently in VTM.

Question: What would happen without change of encoding? Less than 0.1%

Would only be beneficial for hardware – software would use direct multiplication.

Benefit for hardware would probably depend on architecture.

Too many changes at this late stage. The implementation benefit is not large enough to justify this.

Decisions
Too many changes at this late stage. The implementation benefit is not large enough to justify this.
Citation