Virtual boundary processing simplification for adaptive loop filtering (ALF) in video coding
Virtual boundary processing in adaptive loop filtering (ALF) requires that padded values be substituted for unavailable pixel rows outside the virtual boundaries. Methods and apparatus are provided for virtual boundary processing in ALF that allow the use of more actual pixel values for padding than in the prior art.
1. A method for adaptive loop filtering of a reconstructed picture, the method comprising:
determining filter coefficients for a symmetric two-dimensional (2D) finite impulse response (FIR) filter to be applied to a reconstructed largest coding unit (LCU) of the reconstructed picture;
applying the symmetric 2D FIR filter to a pixel p(x, y) to compute a first filtered pixel value, wherein the pixel p(x, y) is in a row of reconstructed pixels at a top virtual boundary of the reconstructed LCU, wherein the pixel p(x, y) is at a center of the symmetric filter, and wherein a value of the pixel p(x, y) is replicated for a value of an unavailable pixel p(x, y−1) above the top virtual boundary, a value of a pixel p(x−1, y) is replicated for a value of an unavailable pixel p(x−1, y−1) above the top virtual boundary, and a value of a pixel p(x+1, y) is replicated for a value of an unavailable pixel p(x+1, y−1) above the top virtual boundary;
applying the symmetric 2D FIR filter to a pixel q(x, y) to compute a second filtered pixel value, wherein the pixel q(x, y) is in a row of reconstructed pixels at a bottom virtual boundary of the reconstructed LCU, wherein the pixel q(x, y) is at a center of the symmetric filter, and wherein a value of the pixel q(x, y) is replicated for a value of an unavailable pixel q(x, y+1) below the bottom virtual boundary, a value of a pixel q(x−1, y) is replicated for a value of an unavailable pixel q(x−1, y+1) below the bottom virtual boundary, and a value of a pixel q(x+1, y) is replicated for a value of an unavailable pixel q(x+1, y+1) below the bottom virtual boundary; and
outputting the first and second filtered pixel values.
2. The method of claim 1 , wherein determining filter coefficients comprises decoding the filter coefficients from an encoded bit stream.
3. The method of claim 1 , wherein
applying the symmetric 2D FIR filter to a pixel p(x, y) comprises using filter coefficients determined for a top neighboring LCU of the reconstructed LCU to compute the first filtered pixel value; and
applying the symmetric 2D FIR filter to a pixel q(x, y) comprises using the filter coefficients determined for the reconstructed LCU to compute the second filtered pixel value.
4. The method of claim 1 , wherein the symmetric 2D FIR filter is a 10-tap FIR filter with a vertical size of 7 and a horizontal size of 9.
5. A method for adaptive loop filtering of a reconstructed picture, the method comprising:
determining filter coefficients for a symmetric two-dimensional (2D) finite impulse response (FIR) filter to be applied to a reconstructed largest coding unit (LCU) of the reconstructed picture;
applying the symmetric 2D FIR filter to a pixel p(x, y) to compute a first filtered pixel value, wherein the pixel p(x, y) is in a row of reconstructed pixels at a top virtual boundary of the reconstructed LCU, wherein the pixel p(x, y) is at a center of the symmetric filter, and wherein a value of a pixel p(x, y+1) is replicated for a value of an unavailable pixel p(x, y−1) above the top virtual boundary, a value of a pixel p(x−1, y+1) is replicated for a value of an unavailable pixel p(x−1, y−1) above the top virtual boundary, and a value of a pixel p(x+1, y+1) is replicated for a value of an unavailable pixel p(x+1, y−1) above the top virtual boundary;
applying the symmetric 2D FIR filter to a pixel q(x, y) to compute a second filtered pixel value, wherein the pixel q(x, y) is in a row of reconstructed pixels at a bottom virtual boundary of the reconstructed LCU, wherein the pixel q(x, y) is at a center of the symmetric filter, and wherein a value of the pixel q(x, y−1) is replicated for a value of an unavailable pixel q(x, y+1) below the bottom virtual boundary, a value of a pixel q(x−1, y−1) is replicated for a value of an unavailable pixel q(x−1, y+1) below the bottom virtual boundary, and a value of a pixel q(x+1, y−1) is replicated for a value of an unavailable pixel q(x+1, y+1) below the bottom virtual boundary; and
outputting the first and second filtered pixel values.
6. The method of claim 5 , wherein determining filter coefficients comprises decoding the filter coefficients from an encoded bit stream.
7. The method of claim 5 , wherein
applying the symmetric 2D FIR filter to a pixel p(x, y) comprises using filter coefficients determined for a top neighboring LCU of the reconstructed LCU to compute the first filtered pixel value; and
applying the symmetric 2D FIR filter to a pixel q(x, y) comprises using the filter coefficients determined for the reconstructed LCU to compute the second filtered pixel value.
8. The method of claim 5 , wherein the symmetric 2D FIR filter is a 10-tap FIR filter with a vertical size of 7 and a horizontal size of 9.