Cross-component adaptive loop filter for chroma
A method of filtering an image is disclosed, the method comprising: receiving filter coefficients and first component sample values corresponding to samples surrounding a reference sample, and inputting said filter coefficients and first component sample values into a cross component filter to produce a cross component filter output; wherein said cross-component filter uses a restricted number of bits to represent said filter coefficients and/or first component sample values to produce said filter output.
1 . A method of decoding an image portion encoded using Cross-Component Adaptive Loop Filter (CCALF), the method comprising:
determining if CCALF is indicated for a given component;
decoding CCALF coefficients from a bitstream; and
decoding said image portion using said CCALF coefficients,
wherein said CCALF coefficients are each represented by a fixed number of bits in the bitstream,
wherein possible values of said filter coefficients are restricted to a range represented by values of powers of two defined by the fixed number of bits,
wherein a possible value of each filter coefficient has been restricted to any one of zero and values of powers of two represented by the fixed number of bits, and
wherein the fixed number of bits is lower than the number of bits defined by bit depth.
2 . The method according to claim 1 , wherein a fixed number of bits to represent each filter coefficient and/or first component sample value is so that the filter output can be represented on 16 or fewer bits.
3 . The method according to claim 1 , further comprising combining said cross-component filter output with an output of a filter corresponding to a different component.
4 . The method according to claim 3 , wherein said first component is Luma and the different component is a Chroma component.
5 . The method according to claim 1 , wherein the method comprises inputting a difference value between said first component sample value and a reference sample value into the Cross-Component Adaptive Loop Filter.
6 . The method according to claim 1 , wherein restricting a possible value comprises determining an absolute value for a filter coefficient from a fixed number of bits used to represent said filter coefficient.
7 . The method according to claim 1 , wherein a possible value of each filter coefficient has been restricted using a reduced fixed-point decimal precision of the filter coefficient value.
8 . The method according to claim 7 , wherein the reduced fixed-point decimal precision is 7 bits.
9 . The method according to claim 1 , wherein a filter operation comprises a multiplication of sample values and a filter coefficient, and said multiplication is implemented via a bitwise shift and/or combination with another filter coefficient so as to replace said multiplication operation by bitwise shift and addition operations.
10 . The method according to claim 1 , wherein said determining if CCALF is indicated for a given component comprises decoding a flag.
11 . The method according to claim 1 , wherein each fixed number of bits comprises:
a bit indicating the sign of a coefficient; and
a series of bits indicating an amplitude of the coefficient.
12 . The method according to claim 1 , wherein each fixed number of bits comprises:
at least one bit in the bitstream indicating if a coefficient is zero or not, and if the coefficient is not zero a bit indicating the sign of the coefficient.
13 . The method according to claim 12 , wherein each fixed number of bits comprises:
if the coefficient is not zero, a sequence of bits equal to one indicating an amplitude of the coefficient.
14 . The method according to claim 12 , wherein said at least one bit being equal to one indicates that the coefficient is zero.
15 . The method according to claim 12 , the sign bit equal to one indicates that the coefficient is negative.
16 . A decoder for decoding an image portion encoded using Cross-Component Adaptive Loop Filter (CCALF), the decoder comprising:
means for determining if CCALF is indicated for a given component;
means for decoding CCALF coefficients from a bitstream; and
means for decoding said image portion using said CCALF coefficients,
wherein said CCALF coefficients are each represented by a fixed number of bits in the bitstream,
wherein possible values of said filter coefficients are restricted to a range represented by values of powers of two defined by the fixed number of bits,
wherein a possible value of each filter coefficient has been restricted to any one of zero and values of powers of two represented by the fixed number of bits, and
wherein the fixed number of bits is lower than the number of bits defined by bit depth.
17 . A non-transitory computer readable storage medium storing a program for causing a computer to execute a method of decoding an image portion encoded using Cross-Component Adaptive Loop Filter (CCALF), the method comprising:
determining if CCALF is indicated for a given component;
decoding CCALF coefficients from a bitstream; and
decoding said image portion using said CCALF coefficients,
wherein said CCALF coefficients are each represented by a fixed number of bits in the bitstream,
wherein possible values of said filter coefficients are restricted to a range represented by values of powers of two defined by the fixed number of bits,
wherein a possible value of each filter coefficient has been restricted to any one of zero and values of powers of two represented by the fixed number of bits, and
wherein the fixed number of bits is lower than the number of bits defined by bit depth.