WO-2026093480-A1 - ARITHMETIC ENCODERS, ARITHMETIC DECODERS, METHODS FOR ARITHMETIC ENCODING, METHODS FOR ARITHMETIC DECODING, COMPUTER PROGRAMS, ENCODED REPRESENTATIONS AND DATA STREAMS FOR STATE VARIABLE UPDATING AND/OR FOR STATE VARIABLE INITIALIZATION
Abstract
Embodiments comprise an arithmetic encoder for encoding a plurality of symbols having symbol values, wherein the arithmetic encoder is configured to derive an interval size information for an arithmetic encoding of one or more symbol values to be encoded on the basis of one or more state variable values, which represent statistics of a plurality of previously encoded symbol values, wherein the arithmetic encoder is configured to update the one or more state variable values in dependence on an encoded symbol, in order to obtain one or more updated sate variable values for an encoding of a subsequent symbol; wherein the arithmetic encoder is configured to use a first, comparatively faster adaptation rate for an update of one or more of the state variable values for a predetermined number of adaptation steps; and wherein the arithmetic encoder is configured to use a second, comparatively slower adaptation rate for the update of one or more of the state variable values when the predetermined number of adaptation steps is completed. Furthermore, an arithmetic encoder is disclosed which is configured to determine one or more initialization values for the one or more state variable values in dependence on a quantization parameter which determines a quantization step size for a quantization of one or more values to be encoded using the symbols. Furthermore, corresponding decoders, methods, computer programs, encoded representations and data streams are disclosed.
Inventors
- KIRCHHOFFER, HEINER
- WIEGAND, THOMAS
- PIENTKA, Sophie
- Helmrich, Christian
- RUDAT, Christian
- HERRMANN, VIKTOR
- STABERNACK, BENNO
- PFAFF, Jonathan
- SCHWARZ, HEIKO
- MARPE, DETLEV
Assignees
- Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Dates
- Publication Date
- 20260507
- Application Date
- 20251030
- Priority Date
- 20241030
Claims (20)
- 1. An arithmetic encoder (10, 100) for encoding a plurality of symbols having symbol values, wherein the arithmetic encoder is configured to derive an interval size information (121) for an arithmetic encoding of one or more symbol values to be encoded on the basis of one or more state variable values (132), which represent statistics of a plurality of previously encoded symbol values, wherein the arithmetic encoder is configured to update the one or more state variable values (132) in dependence on an encoded symbol, in order to obtain one or more updated sate variable values for an encoding of a subsequent symbol; wherein the arithmetic encoder is configured to use a first, comparatively faster adaptation rate (150a) for an update of one or more of the state variable values for a predetermined number of adaptation steps; and wherein the arithmetic encoder is configured to use a second, comparatively slower adaptation rate (150b) for the update of one or more of the state variable values when the predetermined number of adaptation steps is completed.
- 2. The arithmetic encoder (12, 100) according to claim 1 , wherein the arithmetic encoder is configured to derive the interval size information (121) for the arithmetic encoding of one or more symbol values to be encoded on the basis of a first state variable value (3333a) comprising, in a normal mode of operation, a first adaptation time constant (3350a), and on the basis of a second state variable value (3333b) comprising, in a normal mode of operation, a second adaptation time constant (3350b), wherein the second adaptation time constant is longer than the first adaptation time constant, wherein the arithmetic encoder is configured to use the first, comparatively faster adaptation rate for an update of the first state variable values for a predetermined number of adaptation steps, and wherein the arithmetic encoder is configured to determine the second state variable value to be a scaled version of the first state variable value for the predetermined number of adaptation steps. FV -ACr - FH241023PEP-2025349100.DOCX
- 3. The arithmetic encoder (12, 100) according to claim 1 or 2, wherein the arithmetic encoder is configured to independently update the first state variable value (3333a) and the second state variable value (3333b) when the predetermined number of adaptation steps is completed.
- 4. The arithmetic encoder (12, 100) according to any of claims 1 to 3, wherein the arithmetic encoder is configured to derive the second state variable (3333b) from the first state variable value (3333a) using a bit shift operation for the predetermined number of adaptation steps.
- 5. The arithmetic encoder (12, 100) according to any of claims 1 to 4, wherein the arithmetic encoder is configured to initialize the first state variable value (3333a) and the second state variable value (3333b) to take respective initial values (3341 a, b), wherein the arithmetic encoder is configured to update the first state variable value using the first, comparatively faster adaptation rate (3350a) in dependence on respective encoded symbols for a predetermined number of adaptation steps following the initialization of the state variable values to the respective initial values, wherein the arithmetic encoder is configured to obtain the second state variable value as a scaled version of the first state variable value for the predetermined number of adaptation steps following the initialization of the state variable values to the respective initial values, wherein the arithmetic encoder is configured to update the first state variable value using the second, comparatively slower adaptation rate (3350b) when the predetermined number of adaptation steps following the initialization of the state variable values to the respective initial values is completed; and wherein the arithmetic encoder is configured to update the second state variable value using a third adaptation rate (3350c), which is slower than the first adaptation rate and the second adaptation rate, when the predetermined number of adaptation steps following the initialization of the state variable values to the respective initial values is completed.
- 6. The arithmetic encoder (12, 100) according to any of claims 1 to 5, wherein the arithmetic encoder is configured to evaluate a lookup table in order to update the first state variable value (3333a), FV -ACr - FH241023PEP-2025349100.DOCX wherein the arithmetic encoder is configured to select an entry of the lookup table in dependence on a current value of the first state variable value and in dependence on a respective encoded symbol, wherein the arithmetic encoder is configured to increase or decrease the first state variable value in dependence on the selected entry of the lookup table and in dependence on the respective encoded symbol, wherein the selected entry of the lookup table, scaled according to a scaling factor, determines a magnitude of the increase or decrease of the first state variable value, and wherein the respective encoded symbol determines whether the first state variable value is increased or decreased, wherein the arithmetic encoder is configured to use a comparatively larger scaling factor for the predetermined number of adaptation steps following the initialization of the state variable values to the respective initial values, and wherein the arithmetic encoder is configured to use a comparatively smaller scaling factor when the predetermined number of adaptation steps following the initialization of the state variable values to the respective initial values is completed; wherein the arithmetic encoder is configured to obtain the second state variable value (3333b) as a scaled version of the first state variable value for the predetermined number of adaptation steps following the initialization of the state variable values to the respective initial values; and wherein the arithmetic encoder is configured to select another entry of the lookup table in dependence on a current value of the second state variable value and in dependence on the respective encoded symbol, and to increase or decrease the second state variable value in dependence on the selected another entry of the lookup table and in dependence on the respective encoded symbol, when the predetermined number of adaptation steps following the initialization of the state variable values to the respective initial values is completed.
- 7. The arithmetic encoder (12, 100) according to any of claims 1 to 6, wherein the arithmetic encoder is configured to determine a combined state variable value on the basis of the first state variable value (3333a) and the second state variable value (3333b) according to wherein the arithmetic encoder is configured to determine a table index value tabldx according to tabldx = abs(s » (b max — 5)) FV -ACr - FH241023PEP-2025349100.DOCX wherein the arithmetic encoder is configured to determine a subintervall width RLPS for the less probable symbol according to R LPS = rlpsTable2D[taWdx][(7? - 256) » 5], wherein R is a coding interval width; wherein the arithmetic encoder is configured to arithmetically encode a symbol to be encoded using the subintervall width RLPS for the less probable symbol, wherein the arithmetic encoder is configured to update the first state variable value s 0 and the second state variable value Si according to sign = 2 ■ bin — 1 add = lookupTableHyp[16 + ((sign ■ s 0 ) » (b 0 - 5))] for the predetermined number of adaptation steps following the initialization of the state variable values to the respective initial values, and to update the first state variable value s 0 and the second state variable value Si according to sign = 2 ■ bin — 1 add = lookupTableHyp add = (add S( = S( + sign ■ add when the predetermined number of adaptation steps following the initialization of the state variable values to the respective initial values is completed, wherein bin designates a respective encoded symbol, wherein b1>b0>=7; wherein w1>w0>1.
- 8. An arithmetic encoder (12, 400) for encoding a plurality of symbols having symbol values, wherein the arithmetic encoder is configured to derive an interval size information (421) for an arithmetic encoding of one or more symbol values to be encoded on the basis of one or more state variable values (432), which represent statistics of a plurality of previously encoded symbol values, FV -ACr - FH241023PEP-2025349100.DOCX wherein the arithmetic encoder is configured to update the one or more state variable values in dependence on an encoded symbol, in order to obtain one or more updated sate variable values for an encoding of a subsequent symbol; wherein the arithmetic encoder is configured to determine one or more initialization values (3341 a, b) for the one or more state variable values in dependence on a quantization parameter (450) which determines a quantization step size for a quantization of one or more values to be encoded using the symbols.
- 9. The arithmetic encoder (12, 400) according to claim 8, wherein the arithmetic encoder is configured to obtain one or more initialization values of the one or more state variable values using a substantially linear mapping, which maps the quantization parameter (450) onto an intermediate state value.
- 10. The arithmetic encoder (12, 400) according to claim 8 or 9, wherein the arithmetic encoder is configured to obtain one or more initialization values of the one or more state variable values using one or more clipped linear mappings, wherein a respective one of the one or more clipped linear mappings linearly maps the intermediate state value onto a respective initialization value of a respective state variable value while limiting a range of values of the initialization value to a predetermined range.
- 11 . The arithmetic encoder (12, 400) according to any of claims 8 to 10, wherein the arithmetic encoder is configured to obtain one or more initialization values of the one or more state variable values using a substantially linear mapping, which maps the quantization parameter (450) onto a respective initialization value of a respective state variable value.
- 12. The arithmetic encoder (12, 400) according to any of claims 8 to 11, wherein the arithmetic encoder is configured to obtain one or more initialization values of the one or more state variable values using one or more clipped linear mappings, wherein a respective one of the one or more clipped linear mappings linearly maps the quantization parameter (450) onto a respective initialization value of a respective state variable value while limiting a range of values of the initialization value to a predetermined range.
- 13. The arithmetic encoder (12, 400) according to any of claims 8 to 12, FV -ACr - FH241023PEP-2025349100.DOCX wherein the arithmetic encoder is configured to obtain a first support value; wherein the arithmetic encoder is configured to obtain a second support value; wherein the arithmetic encoder is configured to obtain a quantization parameter mapping start value describing a value of the quantization parameter which is mapped onto the first support value of the linear mapping; wherein the arithmetic encoder is configured to obtain a quantization parameter mapping range value describing, when taken in combination with the quantization parameter mapping start value, a value of the quantization parameter which is mapped onto the second support value of the linear mapping.
- 14. The arithmetic encoder (12, 400) according to any of claims 8 to 13, wherein the arithmetic encoder is configured to map the quantization parameter (450) onto the one or more initialization values using the first support value, the second support value, the quantization parameter mapping start value and the quantization parameter range value.
- 15. The arithmetic encoder (12, 400) according to any of claims 8 to 14, wherein the arithmetic encoder is configured to determine a slope value in dependence on a difference between the second support value and the first support value; wherein the arithmetic encoder is configured to determine a quantization parameter deviation value using a difference between the quantization parameter value and the quantization parameter mapping start value; and wherein the arithmetic encoder is configured to determine the intermediate state value using a combination of a product of the slope value and of the quantization parameter deviation value with a scaled version of the first support value.
- 16. The arithmetic encoder (12, 400) according to any of claims 8 to 15, wherein the arithmetic encoder is configured to obtain a first support value, a second support value, a quantization parameter mapping start value describing a value of the quantization parameter which is mapped onto the first support value using a linear mapping, and a quantization parameter mapping range value describing, when taken in combination with the quantization parameter mapping start value, a value of the quantization parameter which is mapped onto the second support value using the linear mapping on the basis of an initialization value. FV -ACr - FH241023PEP-2025349100.DOCX
- 17. The arithmetic encoder (12, 400) according to any of claims 8 to 16, wherein the arithmetic encoder is configured to derive the quantization parameter mapping start value on the basis of a first block of two bits of initialization value, wherein the arithmetic encoder is configured to derive the quantization parameter mapping range value on the basis of a second block of two bits of initialization value, wherein the arithmetic encoder is configured to derive the first support value on the basis of a third block of four bits of initialization value, wherein the arithmetic encoder is configured to derive the second support value on the basis of a fourth block of four bits of initialization value.
- 18. The arithmetic encoder (12, 400) according to any of claims 8 to 17, wherein the arithmetic encoder is configured to derive the quantization parameter mapping start value qpPosProbO on the basis of a block qpPosBrobOBits of two bits according to qpPosProbO = (2 « qpPosProbOBits) - 2.
- 19. The arithmetic encoder (12, 400) according to any of claims 8 to 18, wherein the arithmetic encoder is configured to derive the quantization parameter mapping range value log2qpRange on the basis of a block log2qpRangeBits of two bits according to log2qpRange = log2qpRangeBits + 3.
- 20. The arithmetic encoder (12, 400) according to any of claims 8 to 19, wherein the arithmetic encoder is configured to derive the first support value probStart on the basis of a block probStartBits of four bits, according to probStart = probStartBits * 8, and wherein the arithmetic encoder is configured to derive the second support value probEnd on the basis of a block probEndBits of four bits, according to probEnd = probEndBits * 8.
Description
Arithmetic Encoders, Arithmetic Decoders, Methods for Arithmetic Encoding, Methods for Arithmetic Decoding, Computer Programs, Encoded Representations and Data Streams for State Variable Updating and/or for State Variable Initialization Description Technical Field Embodiments comprise arithmetic encoders, arithmetic decoders, methods for arithmetic encoding, methods for arithmetic decoding, computer programs, encoded representations and data streams for state variable updating and/or for state variable initialization. Embodiments comprise apparatuses, methods, computer programs and bitstreams for CABAC context model initialization for waveform coding and fast start mechanism. Background of the Invention Entropy coding provides for state-of-the-art methods for data compression. It enables reducing redundancy and hence an efficient transmission of data. However, the efficiency of such methods is highly dependent on initialization and starting mechanisms of the coder. Improper starting conditions may cause suboptimal coding and hence increased load on the bitstream. Hence, there is a desire for an improved concept for starting mechanisms for arithmetic coding, which achieves a better compromise regarding coding efficiency, computational effort and complexity. This is achieved by the subject matter of the independent claims of the present application. Further embodiments according to the invention are defined by the subject matter of the dependent claims. Summary of the Invention An embodiment according to the invention comprises an arithmetic encoder for encoding a plurality of symbols having symbol values (e.g. binary values) (e.g. symbols representing a biomedical signal, or symbol representing an audio signal, or symbols representing a video FV -ACr - FH241023PEP-2025349100.DQCX signal), wherein the arithmetic encoder is configured to derive an interval size information (e.g. an interval size for a less probable symbol; e.g. R PS) for an arithmetic encoding of one or more symbol values to be encoded on the basis of one or more state variable values (e.g. s0 and s-i) (e.g. on the basis of a plurality of state variable values) (which are, for example, associated with a given context model), which represent statistics of a plurality of previously encoded symbol values (e.g. a sequence of binary values 0 and 1) (e.g. with different adaptation time constants), wherein the arithmetic encoder is configured to update the one or more state variable values (e.g. s0 and s-i) in dependence on an encoded symbol, in order to obtain one or more updated sate variable values for an encoding of a subsequent symbol; wherein the arithmetic encoder is configured to use a first, comparatively faster adaptation rate for an update of one or more of the state variable values for a predetermined number of adaptation steps (e.g. following an initialization of the one or more state variable values; e.g. following a start of the encoding); and wherein the arithmetic encoder is configured to use a second, comparatively slower adaptation rate for the update of one or more of the state variable values when the predetermined number of adaptation steps is completed (e.g. following an initialization of the one or more state variable values). It was recognized that an adaptation of an update mechanism of one or more state variable values, based on which the interval size information for the arithmetic coding is obtained, for a predetermined number of adaptation steps after initialization of said one or more state variable values, enables improving the coding efficiency. Based on the switching between the different adaptation rates, a fast start mechanism may be provided. For example, during the predetermined number of adaptation steps, a faster approximation of the probability distribution of the data may be achieved. Hence, even given suboptimal initialization values for the one or more state variable values, a faster convergence to at least near optimal state variable values may be achieved. After the predetermined number of adaptation steps, the adaptation rate may be reduced, in order to enable a more fine-tuned adaptation of the probability estimator (e.g. in the form of a context model characterized by the state variable values). In particular, it is to be noted that an updating of only a subset of a plurality of state variables or of all state variables may be adapted. FV -ACr - FH241023PEP-2025349100.DOCX According to an embodiment of the invention, the arithmetic encoder is configured to derive the interval size information (e.g. an interval size for a less probable symbol; e.g. RLPS) for the arithmetic encoding of one or more symbol values to be encoded on the basis of a first state variable value comprising, in a normal mode of operation, a first adaptation time constant, and on the basis of a second state variable value comprising, in a normal mode of operation, a second adaptation time constant, wherein the second adaptation