Restoration for video coding with self-guided filtering and subspace projection
A non-transitory computer-readable storage medium having stored thereon an encoded bitstream includes at least one first syntax element indicative of first restoration parameters for generating a first guide frame Y 1 for a degraded frame Y and second restoration parameters for generating a second guide frame Y 2 for the degraded frame Y, and at least one second syntax element indicative of a first projection parameter α and a second projection parameter β. The first projection parameter α and the second projection parameter β are used in a projection operation to restore the degraded frame Y, and the projection operation is based on α(Y 1 −Y)+β(Y 2 −Y) to generate a reconstructed frame Y R .
1 . A non-transitory computer-readable storage medium having stored thereon an encoded bitstream configured to be decoded by a processor, wherein the encoded bitstream comprises:
at least one first data element indicative of first restoration parameters for generating a first guide frame Y 1 for a degraded frame Y and second restoration parameters for generating a second guide frame Y 2 for the degraded frame Y, wherein the first restoration parameters include a first radius value r 1 and a first noise value e 1 , and the second restoration parameters include a second radius value r 2 and a second noise value e 2 ; and
at least one second data element indicative of a first projection parameter α and a second projection parameter β,
wherein the first projection parameter a and the second projection parameter β used in a projection operation to restore the degraded frame Y,
wherein the projection operation is based on α(Y1−Y)+β(Y2−Y) to generate a reconstructed frame Y R ,
wherein the first guide frame Y 1 is generated by calculating, for each pixel of the degraded frame Y, a mean and a variance in a window of size (2*r1+1)×(2*r1+1) centered at the pixel, and
wherein the mean, the variance, and the first noise value e 1 used to determine a guide pixel.
2 . The non-transitory computer-readable storage medium of claim 1 , wherein the encoded bitstream is configured for decoding by operations comprising:
decoding the first data element to obtain the first restoration parameters and the second restoration parameters;
decoding the second data element to obtain the first projection parameter α and the second projection parameter β; and
performing the projection operation using the first guide frame Y 1 , the second guide frame Y 2 , and the first projection parameter α and the second projection parameter β to generate the reconstructed frame Y R .
3 . The non-transitory computer-readable storage medium of claim 1 , wherein the first data element and the second data element are included in a frame header of the encoded bitstream.
4 . The non-transitory computer-readable storage medium of claim 1 , wherein the encoded bitstream is configured for decoding by operations comprising:
dequantizing quantized transform coefficients decoded from the encoded bitstream to produce a residual;
reconstructing the degraded frame Y by adding a prediction to the residual; and
restoring the degraded frame Y using the projection operation to generate the reconstructed frame Y R .
5 . The non-transitory computer-readable storage medium of claim 1 , wherein the encoded bitstream further comprises a restoration type, and the projection operation is performed based on a determination that the restoration type specifies a self-guided filter restoration type.
6 . The non-transitory computer-readable storage medium of claim 1 , wherein the degraded frame Y is a reconstructed frame from a reconstruction loop of a decoder, and the reconstructed frame Y R is output after applying the projection operation.
7 . A non-transitory computer-readable storage medium having stored thereon an encoded bitstream encoded by a processor, wherein the encoded bitstream comprises:
an index into a codebook containing sets of restoration parameters, the index corresponding to first restoration parameters for generating a first guide frame Y1 and second restoration parameters for generating a second guide frame Y2 for a degraded frame Y, wherein the first restoration parameters include a first radius value r 1 and a first noise value e 1 , and the second restoration parameters include a second radius value r 2 and a second noise value e 2 ; and
a first projection parameter α and a second projection parameter β for use in a projection operation to generate a reconstructed frame YR,
wherein the projection operation is based on α(Y1−Y)+β(Y2−Y),
wherein the encoded bitstream is configured for decoding by operations that include restoring the degraded frame Y using the first guide frame Y1, the second guide frame Y2, and the projection operation,
wherein the first guide frame Y 1 is generated by calculating, for each pixel of the degraded frame Y, a mean and a variance in a window of size (2r1+1)×(2r1+1) centered at the pixel, and
wherein the mean, the variance, and the first noise value e 1 used to determine a guide pixel.
8 . The non-transitory computer-readable storage medium of claim 7 , wherein the operations further comprise:
decoding the index from the encoded bitstream to identify the first restoration parameters and the second restoration parameters from the codebook; and
decoding the first projection parameter a and the second projection parameter β from the encoded bitstream for use in the projection operation.
9 . The non-transitory computer-readable storage medium of claim 7 , wherein the index and the first and second projection parameters α and β are included in a frame header of the encoded bitstream.
10 . The non-transitory computer-readable storage medium of claim 7 , wherein the operations comprise:
applying the projection operation to the degraded frame Y using the first guide frame Y 1 , the second guide frame Y 2 , and the first and second projection parameters α and β to generate the reconstructed frame Y R .
11 . The non-transitory computer-readable storage medium of claim 7 , wherein the encoded bitstream further comprises a restoration type, and the operations perform the projection operation based on a determination that the restoration type specifies a self-guided filter restoration type.
12 . The non-transitory computer-readable storage medium of claim 7 , wherein the first projection parameter a and the second projection parameter β are quantized values, and the operations further comprise:
dequantizing the quantized values using a quantization scheme based on a number of bits allocated in the encoded bitstream.
13 . The non-transitory computer-readable storage medium of claim 7 , wherein the codebook is stored at a decoder, and the operations comprise:
using the index to select the first restoration parameters and the second restoration parameters from the codebook.
14 . A non-transitory computer-readable storage medium having stored thereon an encoded bitstream configured for decoding by a processor, wherein the encoded bitstream comprises:
a frame header including data elements for decoding:
a first projection parameter a and a second projection parameter β, wherein the first projection parameter a and the second projection parameter β used in a projection operation based on a (Y 1 −Y)+β(Y 2 −Y) to restore a degraded frame Y, where Y 1 is a first guide frame generated using first restoration parameters, and where Y 2 is a second guide frame generated using second restoration parameters, wherein the first restoration parameters include a first radius value r 1 and a first noise value e 1 , and the second restoration parameters include a second radius value r 2 and a second noise value e 2 , and wherein the data elements in the frame header directly encode the first radius value r1, the first noise value e 1 , the second radius value r 2 , and the second noise value e 2 ;
the first restoration parameters and the second restoration parameters for generating the first guide frame and the second guide frame, respectively,
the first guide frame Y 1 generated by calculating, for each pixel of the degraded frame Y, a mean and a variance in a window of size (2r1+1)×(2r1+1) centered at the pixel, and
the mean, the variance, and the first noise value e 1 used to determine a guide pixel.
15 . The non-transitory computer-readable storage medium of claim 14 , wherein the encoded bitstream is configured for decoding by operations comprising:
decoding the data elements from the frame header to obtain the first projection parameter α, the second projection parameter β, the first restoration parameters, and the second restoration parameters; and
performing the projection operation using the first guide frame, the second guide frame, and the first projection parameter α and the second projection parameter β to generate a reconstructed frame Y R .