Entropy coding using pre-defined, fixed CDFS
Entropy coding a sequence of transform coefficients includes determining a predictor value corresponding to a transform coefficient, selecting a probability model from a set of pre-defined probability models based on the predictor value, and entropy coding a symbol associated with the transform coefficient using the selected probability model. The predictor value can be calculated based on a previous predictor value used for coding an immediately preceding symbol associated with an immediately preceding transform coefficient of the sequence of the transform coefficients. The predictor value can be further calculated based on the immediately preceding symbol.
1 . A method, comprising:
determining a predictor value corresponding to a transform coefficient of a sequence of transform coefficients, the predictor value being generated by a predictor function that adapts to changes in a statistical distribution of the sequence of transform coefficients over time;
selecting, based on the predictor value, a probability model from a set of pre-defined probability models; and
entropy coding a symbol associated with the transform coefficient using the probability model.
2 . The method of claim 1 , wherein selecting the probability model comprises:
obtaining an index based on the predictor value; and
using the index into a table of the pre-defined probability models.
3 . The method of claim 2 , wherein obtaining the index based on the predictor value comprises:
quantizing or scaling the predictor value to obtain the index.
4 . The method of claim 1 , wherein the symbol associated with the transform coefficient represents a base level of the transform coefficient.
5 . The method of claim 1 , wherein determining the predictor value corresponding to the transform coefficient of the sequence of the transform coefficients comprises:
calculating the predictor value based on a previous predictor value used for coding an immediately preceding symbol associated with an immediately preceding transform coefficient of the sequence of the transform coefficients.
6 . The method of claim 5 , wherein the predictor value is calculated further based on the immediately preceding symbol.
7 . The method of claim 1 , wherein selecting the probability model based on the predictor value comprises:
selecting the probability model based on a location of the transform coefficient in a transform block.
8 . A device, comprising:
a processor configured to execute instructions to:
determine a predictor value corresponding to a transform coefficient of a sequence of transform coefficients, the predictor value being generated by a predictor function that adapts to changes in a statistical distribution of the sequence of transform coefficients over time;
select, based on the predictor value, a probability model from a set of pre-defined probability models; and
entropy code a symbol associated with the transform coefficient using the probability model.
9 . The device of claim 8 , wherein to select the probability model comprises to:
obtain an index based on the predictor value; and
use the index into a table of the pre-defined probability models.
10 . The device of claim 9 , wherein to obtain the index based on the predictor value comprises to:
quantize or scale the predictor value to obtain the index.
11 . The device of claim 8 , wherein the symbol associated with the transform coefficient represents a base level of the transform coefficient.
12 . The device of claim 8 , wherein to determine the predictor value corresponding to the transform coefficient of the sequence of the transform coefficients comprises to:
calculate the predictor value based on a previous predictor value used for coding an immediately preceding symbol associated with an immediately preceding transform coefficient of the sequence of the transform coefficients.
13 . The device of claim 12 , wherein the predictor value is calculated further based on the immediately preceding symbol.
14 . The device of claim 8 , wherein to select the probability model based on the predictor value comprises to:
select the probability model based on a location of the transform coefficient in a transform block.
15 . A non-transitory computer-readable storage medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising:
determining a predictor value corresponding to a transform coefficient of a sequence of transform coefficients, the predictor value being generated by a predictor function that adapts to changes in a statistical distribution of the sequence of transform coefficients over time;
selecting, based on the predictor value, a probability model from a set of pre-defined probability models; and
entropy coding a symbol associated with the transform coefficient using the probability model.
16 . The non-transitory computer-readable storage medium of claim 15 , wherein selecting the probability model comprises:
obtaining an index based on the predictor value; and
using the index into a table of the pre-defined probability models.
17 . The non-transitory computer-readable storage medium of claim 16 , wherein obtaining the index based on the predictor value comprises:
quantizing or scaling the predictor value to obtain the index.
18 . The non-transitory computer-readable storage medium of claim 15 , wherein the symbol associated with the transform coefficient represents a base level of the transform coefficient.
19 . The non-transitory computer-readable storage medium of claim 15 , wherein determining the predictor value corresponding to the transform coefficient of the sequence of the transform coefficients comprises:
calculating the predictor value based on a previous predictor value used for coding an immediately preceding symbol associated with an immediately preceding transform coefficient of the sequence of the transform coefficients.
20 . The non-transitory computer-readable storage medium of claim 15 , wherein selecting the probability model based on the predictor value comprises:
selecting the probability model based on a location of the transform coefficient in a transform block.