Gaussian mixture model entropy coding
The present disclosure provides a method of decoding an encoded signal. The method includes receiving at least one bitstream comprising an encoded signal, the signal being entropy encoded with one or more Gaussian mixture models (GMMs), and the at least one bitstream comprising information for obtaining parameters of the one or more GMMs. The method further includes obtaining the GMM parameters based on the information from the at least one bitstream; and entropy decoding the signal using the GMMs with the obtained GMM parameters. The present disclosure further refers to a corresponding encoding method, decoder and encoder.
1 . A method of decoding an encoded signal, the method comprising:
receiving at least one bitstream comprising the encoded signal, the encoded signal being entropy encoded with one or more Gaussian mixture models (GMMs), and the at least one bitstream comprising information for obtaining GMM parameters of the one or more GMMs;
obtaining the GMM parameters of the one or more GMMs based on the information; and
entropy decoding the encoded signal using the GMMs with the obtained GMM parameters,
wherein each respective GMM of the one or more GMMs includes a plurality of Gaussians, and
wherein obtaining the GMM parameters of each respective GMM comprises:
obtaining, for each respective Gaussian of the plurality of Gaussians of the respective GMM, one or more of: a respective mean value, a respective standard deviation, or a respective weight.
2 . The method according to claim 1 , wherein the obtaining the parameters of the one or more GMMs comprises:
obtaining, from the at least one bitstream, control information for one or more respective GMM parameters of the GMM parameters; and
processing the control information to obtain the one or more respective GMM parameters.
3 . The method according to claim 2 , wherein the control information includes at least one of:
a GMM mode indicating a relation between channels and a number of GMMs;
a number of the one or more GMMs,
one or more indices for mapping one or more channels to GMMs,
one or more modes of signaling a scale factor for a GMM parameter, each mode of signaling being one of a first mode indicating use of a predefined value of the scale factor, a second mode indicating that the scale factor is to be entropy decoded from the bitstream, and a third mode indicating that an exponent for a power of 2 of the scale factor is to be decoded from the bitstream,
one or more scaling coefficients for GMM parameters,
one or more modes of signaling a clipping value for a GMM parameter, each mode being one of a first mode indicating use of a predefined value of the clipping value, a second mode indicating that the clipping value is to be entropy decoded from the bitstream, and a third mode indicating that an exponent for a power of 2 of the clipping value is to be decoded from the bitstream,
one or more clipping values for GMM parameters, or
a number of Gaussians for each GMM.
4 . The method according to claim 1 , further comprising building signal frequency tables based on the GMM parameters, wherein the entropy decoding the encoded signal comprises using the signal frequency tables for decoding the encoded signal.
5 . The method according to claim 1 , wherein the encoded signal includes one or more channels and the entropy decoding the encoded signal comprises entropy decoding each channel with a corresponding set of GMM parameters.
6 . The method according to claim 1 , wherein the at least one bitstream includes a first bitstream comprising the encoded signal and a second bitstream comprising the GMM parameters.
7 . A method of encoding a signal, the method comprising:
entropy encoding the signal using one or more Gaussian mixture models (GMMs) with determined GMM parameters; and
generating at least one bitstream comprising the entropy encoded signal and the determined GMM parameters,
wherein each respective GMM of the one or more GMMs includes a plurality of Gaussians, and
wherein obtaining the GMM parameters of each respective GMM comprises:
obtaining, for each respective Gaussian of the plurality of Gaussians of the respective GMM, one or more of: a respective mean value, a respective standard deviation, or a respective weight.
8 . The method according to claim 7 , further comprising setting control information for obtaining one or more of the determined GMM parameters, wherein the at least one bitstream comprises the control information.
9 . The method according to claim 8 , wherein the control information includes at least one of:
a GMM mode, indicating a relation between channels and a number of GMMs,
a number of the one or more GMMs,
one or more indices for mapping one or more channels to GMMs,
one or more modes of signaling a scale factor for a GMM parameter, each mode of signaling being one of a first mode indicating use of a predefined value of the scale factor, a second mode indicating that the scale factor is to be entropy decoded from the bitstream, and a third mode indicating that an exponent for a power of 2 of the scale factor is to be decoded from the bitstream,
one or more scaling coefficients for GMM parameters,
one or more modes of signaling a clipping value for a GMM parameter, each mode being one of a first mode indicating use of a predefined value of the clipping value, a second mode indicating that the clipping value is to be entropy decoded from the bitstream, and a third mode indicating that an exponent for a power of 2 of the clipping value is to be decoded from the bitstream,
one or more clipping values for GMM parameters, or
a number of Gaussians for each GMM.
10 . The method according to claim 7 , wherein the signal includes one or more channels and the entropy encoding the signal comprises entropy encoding each channel with a corresponding set of GMM parameters.
11 . The method according to claim 7 , wherein the at least one bitstream includes a first bitstream comprising the entropy encoded signal and a second bitstream comprising the determined GMM parameters.
12 . The method according to claim 7 , further comprising:
performing an optimization algorithm using GMM cumulative distribution functions to obtain the determined GMM parameters,
wherein the performing the optimization algorithm:
comprises minimizing a loss function based on differences of the GMM cumulative distribution functions at step size intervals for each GMM, or
is done in parallel for respective GMMs of the one or more GMMs with respective different numbers of Gaussians; or
wherein a respective GMM of the one or more GMMs having a minimum signaling cost with respect to required bits in the at least one bitstream is selected.
13 . A decoder for decoding an encoded signal, the decoder comprising:
processing circuitry configured to perform the method of claim 1 .
14 . An encoder for encoding a signal, the encoder comprising:
processing circuitry configured to perform the method of claim 7 .
15 . A non-transitory computer readable medium having stored thereon processor-executable instructions that, when executed by a computer, cause the computer to carry out the method of decoding an encoded signal according to claim 1 .
16 . A non-transitory computer readable medium having stored thereon processor-executable instructions that, when executed by a computer, cause the computer to carry out the method of encoding a signal according to claim 7 .
17 . The method of claim 1 , wherein the GMM parameters of each respective GMM comprise, for each respective Gaussian of the plurality of Gaussians of the respective GMM, the mean value, the standard deviation, and the weight, and
wherein the weight defines a relative portion of the respective Gaussian in the GMM.
18 . The method according to claim 2 , wherein the control information includes:
a GMM mode indicating a relation between channels and a number of GMMs;
a number of the one or more GMMs, and
a number of Gaussians for each GMM.
19 . The method of claim 2 , wherein the bitstream includes a plurality of signal channels, and wherein the control information provides, for each respective signal channel of the plurality of signal channels, a respective number of GMMs.
20 . The method of claim 19 , wherein the control information further provides, for each respective GMM of the respective number of GMMs, a number of Gaussian in the respective GMM.
21 . A method of decoding an encoded signal, the method comprising:
receiving a bitstream comprising the encoded signal, the encoded signal being entropy encoded with one or more Gaussian mixture models (GMMs), and the bitstream comprising information for obtaining GMM parameters of the one or more GMMs;
obtaining the GMM parameters of the one or more GMMs based on the information; and
entropy decoding the encoded signal using the GMMs with the obtained GMM parameters,
wherein the obtaining the parameters of the one or more GMMs comprises:
obtaining, from the bitstream, control information for one or more respective GMM parameters of the GMM parameters; and
processing the control information to obtain the one or more respective GMM parameters,
wherein the bitstream includes a plurality of signal channels, and
wherein the control information provides, for each respective signal channel of the plurality of signal channels, a respective number of GMMs.
22 . The method of claim 21 , wherein the control information further provides, for each respective GMM of the respective number of GMMs, a number of Gaussian in the respective GMM.