Regularization of a probability model for entropy coding
Entropy coding a sequence of syntax elements is described where an observation for a syntax element of the sequence is determined, and the observation is arithmetic coded using the probability model. Thereafter, the probability model is updated using a time-variant update rate to produce an updated probability model. Updating the probability model includes regularizing one or more probability values of the probability model so no probability of the updated probability model is below a defined minimum resolution. As a result, the use of a minimum probability value during the arithmetic coding, which can distort probability model, may be omitted.
1 . A device for entropy coding a sequence of syntax elements, comprising:
a processor configured to:
receive the sequence of syntax elements;
determine a symbol for a syntax element of the sequence;
entropy code, using arithmetic coding, the symbol using a probability model; and
update the probability model using a time-variant update rate to produce an updated probability model, wherein to update the probability model includes to regularize one or more probability values so no probability of the updated probability model is below a defined minimum resolution, wherein
the probability model comprises a cumulative distribution function of an M-ary random variable,
M is a positive integer that represents a cardinality of possible observations for a respective syntax element of the sequence of syntax elements, and
to regularize the one or more probability values comprises to monitor probability values of the updated probability model to determine if any probability value is below a threshold V, where V is a function of M, wherein when a probability value p_m is determined to be below the threshold V, a uniform cumulative distribution function for the M-ary random variable is applied to adjust the updated probability model.
2 . The device of claim 1 , wherein to regularize one or more probability values modifies every probability of the updated probability model after performing an update step on the probability model.
3 . The device of claim 2 , wherein to regularize one or more probability values uses a lowest probability of the updated probability model as input.
4 . The device of claim 1 , wherein the defined minimum resolution is 1 divided by M.
5 . The device of claim 1 , wherein to regularize one or more probability values modifies every probability of the probability model while updating the probability model using the time-variant update rate.
6 . The device of claim 5 , wherein the time-variant update rate includes a regularization term added to or subtracted each probability of the probability model.
7 . The device of claim 1 , wherein:
the probability model is a cumulative distribution model (CDF), and
to regularize one or more probability values comprises to add to or to subtract from each probability of the CDF a regularization term.
8 . The device of claim 1 , wherein to entropy code the symbol comprises to entropy code the symbol without checking for a minimum probability value.
9 . The device of claim 1 , wherein the sequence of syntax elements comprises encoded transform coefficients, and to entropy code the symbol comprises to entropy decode a transform coefficient.
10 . The device of claim 1 , wherein the sequence of syntax elements comprises transform coefficients, and to entropy code the symbol comprises to entropy encode a transform coefficient.
11 . The device of claim 1 , wherein:
the probability model comprises a first probability model and a second probability model;
to entropy code the symbol using a probability model comprises to code the symbol using a linear combination of the first probability model and the second probability model;
to update the probability model comprises to:
update the first probability model using a first time-variant update rate to produce a first updated probability model for coding an observation for a subsequent syntax element of the sequence; and
update the second probability model using a second time-variant update rate to produce a second updated probability model for coding an observation for a subsequent syntax element of the sequence, wherein the first time-variant update rate is different from the second time-variant update rate.
12 . A method for entropy coding a sequence of syntax elements, comprising:
receiving the sequence of syntax elements;
determining a symbol for a syntax element of the sequence;
entropy coding, using arithmetic coding, the symbol using a probability model; and
updating the probability model using a time-variant update rate to produce an updated probability model, wherein updating the probability model includes regularizing one or more probability values so no probability of the updated probability model is below a defined minimum resolution, wherein
the probability model comprises a cumulative distribution function of an M-ary random variable,
M is a positive integer that represents a cardinality of possible observations for a respective syntax element of the sequence of syntax elements, and
regularizing the one or more probability values comprises monitoring probability values of the updated probability model to determine if any probability value is below a threshold V, where V is a function of M, wherein when a probability value p_m is determined to be below the threshold V, a uniform cumulative distribution function for the M-ary random variable is applied to adjust the updated probability model.
13 . The method of claim 12 , wherein regularizing one or more probability values modifies every probability of the updated probability model after performing an update step on the probability model.
14 . The method of claim 12 , wherein regularizing one or more probability values modifies every probability of the probability model while updating the probability model using the time-variant update rate.
15 . The method of claim 12 , wherein entropy coding the symbol comprises entropy coding the symbol without checking for a minimum probability value.
16 . The method of claim 12 , wherein one of:
the sequence of syntax elements comprises encoded transform coefficients, and entropy coding the symbol comprises entropy decoding a transform coefficient; or
the sequence of syntax elements comprises transform coefficients, and entropy coding the symbol comprises entropy encoding a transform coefficient.
17 . The method of claim 12 , wherein:
the probability model comprises a first probability model and a second probability model;
entropy coding the symbol using a probability model comprises coding the symbol using a linear combination of the first probability model and the second probability model;
updating the probability model comprises:
updating the first probability model using a first time-variant update rate to produce a first updated probability model for coding an observation for a subsequent syntax element of the sequence; and
updating the second probability model using a second time-variant update rate to produce a second updated probability model for coding an observation for a subsequent syntax element of the sequence, wherein the first time-variant update rate is different from the second time-variant update rate.
18 . The device of claim 1 , wherein the uniform cumulative distribution function for the M-ary random variable is represented by U_M=[1/M, 2/M, . . . , (M−1)/M, 1], and wherein to adjust the updated probability model comprises to:
compute a factor according alpha=(V−p_m)/(1/M−V), where p_m is a lowest probability value;
generate a regularized probability model according to C-bar_n=(C_n+alpha*U_M)/(1+alpha), where C_n is the updated probability model.
19 . The method of claim 12 , wherein the uniform cumulative distribution function for the M-ary random variable is represented by U_M=[1/M, 2/M, . . . , (M−1)/M, 1], and wherein adjusting the updated probability model comprises:
computing a factor according alpha=(V−p_m)/(1/M−V), where p_m is a lowest probability value;
generating a regularized probability model according to C-bar_n=(C_n+alpha*U_M)/(1+alpha), where C_n is the updated probability model.