Decoders, encoders, methods for decoding the weight parameters of a neural network, and coded representations using probabilistic estimation parameters.

Context-dependent arithmetic coding for neural networks addresses the complexity and resource demands of parameter encoding and decoding, improving efficiency by adapting probability estimation parameters to network characteristics.

JP2026071331APending Publication Date: 2026-04-28FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
Filing Date
2026-02-05
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing neural networks require significant computational resources for inference due to numerous inner product operations, and encoding and decoding neural network parameters is complex and resource-intensive.

Method used

Implement context-dependent arithmetic coding and decoding, such as context-adaptive binary arithmetic coding (CABAC), to efficiently encode and decode neural network parameters, using different probability estimation parameters for different contexts and layers.

Benefits of technology

This approach reduces computational complexity and resource usage while improving encoding efficiency by adapting probability estimation parameters to the characteristics of neural network parameters, enhancing the trade-off between compression, complexity, and computational cost.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026071331000001_ABST
    Figure 2026071331000001_ABST
Patent Text Reader

Abstract

This provides a decoder for decoding the weight parameters of a neural network. [Solution] The decoder 200 obtains at least one of a plurality of neural network parameters based on the encoded bitstream, and uses context-dependent arithmetic decoding to decode the neural network parameter, for example, a quantized version of the neural network parameter, using different probabilistic parameter values ​​for decoding different neural network parameters and / or different probabilistic parameter values ​​for decoding bins associated with different context models.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Embodiments of the present invention include encoders, decoders, methods for encoding weight parameters of a neural network, and encoded representations using probabilistic estimation parameters. [Background technology]

[0002] The following provides background information for a better understanding of the present invention. However, it should be noted that the features, functions, and details described in the background information may be used at will in combination with (both individually and in combination with) any embodiment of the present invention.

[0003] A neural network, in its most basic form, consists of a series of affine transformations followed by element-wise nonlinear functions. For example, as shown in Figure 1, these can be represented as directed acyclic graphs.

[0004] Figure 1 shows an example of a graph representation of a feedforward neural network. Specifically, this two-layer neural network is a nonlinear function that maps a four-dimensional input vector to a solid line.

[0005] For example, each node has a specific value that is propagated forward to the next node by multiplying it by the respective weight values ​​of the edges. Then, all the input values ​​are simply aggregated.

[0006] Mathematically, the neural network in Figure 1 calculates its output using, for example, the following method. output=L2(L1(input)) Here, L i (X) = N i (B i (X)) And in the formula, B i For example, this is an affine transformation of layer i, and N i This is, for example, some nonlinear function of layer i. iA simple example is the matrix multiplication of the weight parameter (edge weight) w associated with layer i i and the input X. B i (X) = w i * X The operator * shall denote matrix multiplication.

[0007] So-called convolutional layers can also be used, for example, by casting them as matrix-matrix products as described in Non-Patent Document 1. Hereinafter, the procedure for calculating the output from a given input is referred to as inference. Also, intermediate results are referred to as hidden layers or hidden activation values, which constitute, for example, linear transformation + element-wise non-linearity such as the above-mentioned calculation of the first inner product + non-linearity.

[0008] Hereinafter, the bias and batch normalization of the neural network will be described. More advanced variants of the affine transformation of neural network layers include, for example, so-called bias and batch normalization operations as follows. Equation 1:

Number

[0009] ε is a small scalar number (e.g., 0.001) necessary (or useful) to avoid division by zero, for example. However, it may be 0. When all vector elements of b are equal to 0, Equation 1 points to a batch norm layer. In contrast, when all vector elements of ε, μ, and β are set to 0, and γ and σ 2 If all elements are set to 1, a layer without batch norm (bias only) is processed.

[0010] Typically, a neural network contains millions of parameters, for example, and therefore its representation can require hundreds of megabytes. Consequently, its inference procedure involves numerous inner product operations between large matrices, requiring significant computational resources. Therefore, reducing the complexity of these inner product operations is crucial.

[0011] As another consequence, encoding and / or decoding neural network parameters is difficult. For example, transmitting millions of parameters in a neural network may require a high transmission rate. [Prior art documents] [Non-patent literature]

[0012] [Non-Patent Document 1] “cuDNN: Efficient Primitives for Deep Learning” (Sharan Chetlur, et al.; arXiv: 1410.0759, 2014) [Overview of the Initiative] [Problems that the invention aims to solve]

[0013] Therefore, an improved concept is needed for encoding and / or decoding neural network parameters that provides a good compromise between compression, complexity, and computational cost. [Means for solving the problem]

[0014] This is achieved by the subject matter of the independent claims of this application.

[0015] Further embodiments of the present invention are defined by the subject matter of the dependent claims of this application.

[0016] Embodiments of the present invention include a decoder for decoding the weight parameters of a neural network, the decoder for decoding a plurality of neural network parameters, for example, components w of the neural network matrix W, based on the encoded bitstream. i , b, μ, σ 2 The decoder is configured to obtain at least one of σ, γ, and / or β. Furthermore, the decoder uses context-dependent arithmetic decoding, for example, context-adaptive binary arithmetic decoding (CABAC), to obtain neural network parameters, for example, components w of the neural network matrix W. i , or b, or μ, or σ 2 The decoder is configured to decode a quantized version of the neural network parameters, for example, σ, γ, or β. Optionally, the bin probabilities may be determined for different contexts, for example, each bin may be associated with a context. Furthermore, the decoder may decode one or more probability estimation parameters, for example, probability estimator parameters, for example, N, a i k , b i k a k d i k , A, m i k , n i k ,sh i k initVal i kUsing, for example, one or more previously decoded neural network parameters or their bins, for example, for arithmetic decoding of the bins of the numerical representation of the neural network parameters, for example, a probability estimate that can be associated with the context, e.g., P(t) or p k It is configured to obtain. In addition, the decoder is configured to use different probability estimation parameter values ​​for decoding different neural network parameters and / or different context models, e.g., c k It is configured to use different probability estimation parameter values ​​for decoding the bin associated with it.

[0017] A further embodiment of the present invention includes a decoder for decoding the weight parameters of a neural network, the decoder decoding a plurality of neural network parameters, for example, components w of the neural network matrix W, based on the encoded bitstream. i , b, μ, σ 2 The decoder is configured to obtain at least one of σ, γ, and / or β. Furthermore, the decoder uses context-dependent arithmetic decoding, for example, using context-adaptive binary arithmetic decoding (CABAC), to obtain neural network parameters, for example, components w of the neural network matrix W. i , or b, or μ, or σ 2 The decoder is configured to decode a quantized version of the neural network parameters, for example, σ, γ, or β. Optionally, the bin probabilities may be determined for different contexts, for example, each bin may be associated with a context. Furthermore, the decoder may decode one or more probability estimation parameters, for example, probability estimator parameters, for example, N, a i k , b i k a k d i k , A, m i k , n i k ,sh ik initVal i k Using, for example, one or more previously decoded neural network parameters or their bins, for example, for arithmetic decoding of the bins of the numerical representation of the neural network parameters, for example, a probability estimate that can be associated with the context, e.g., P(t) or p k It is configured to obtain the following. In addition, the decoder is configured to use different probability estimation parameter values ​​for decoding the neural network parameters associated with different layers of the neural network.

[0018] Embodiments of the present invention include an encoder for encoding the weight parameters of a neural network, wherein the encoder encodes a plurality of neural network parameters, for example, components w of the matrix W of the neural network. i , b, μ, σ 2 The encoder is configured to obtain at least one of σ, γ, and / or β. Furthermore, the encoder uses context-dependent arithmetic coding, for example, using context-adaptive binary arithmetic coding (CABAC), to obtain neural network parameters, for example, components w of the neural network matrix W. i , or b, or μ, or σ 2 , or σ, or γ, or β, for example, is configured to encode its quantized version. Optionally, the probabilities of the bin values ​​may be determined for different contexts, for example, each bin may be associated with a context. In addition, the encoder is configured to encode one or more probability estimation parameters, for example, probability estimator parameters, for example, N, a i k , b i k a k d i k , A, m i k , n i k ,sh i k initVal i kUsing, for example, one or more previously encoded neural network parameters or bins thereof, optionally for arithmetic coding based on a tabular representation of neural network parameters, probability estimates that may be associated with a context, such as P(t) or p k is configured to obtain. Further, the encoder is configured to use different probability estimation parameter values for encoding different neural network parameters and / or different context models, such as c k and to use different probability estimation parameter values for encoding bins associated with, e.g.,

[0019] A further embodiment according to the invention includes an encoder for encoding the weight parameters of a neural network, the encoder obtaining a plurality of neural network parameters, such as the components w of the matrix W of the neural network i , b, μ, σ 2 , σ, γ, and / or β. Further, the encoder is configured to encode neural network parameters, such as the components w of the matrix W of the neural network, using context-dependent arithmetic coding, e.g., using context adaptive binary arithmetic coding (CABAC), i , or b, or μ, or σ 2 , or σ, or γ, or β, e.g., a quantized version thereof. Optionally, the probability of a bin value may be determined for different contexts, e.g., each bin is associated with a context. Further, the encoder includes one or more probability estimation parameters, such as probability estimator parameters, such as N, a i k , b i k , a k , d i k , A, m i k , n i k , sh i k , initVal ik Using, for example, one or more previously encoded neural network parameters or bins thereof, optionally for arithmetic coding based on a tabular representation of neural network parameters, a probability estimate value that may be associated with a context, such as P(t) or p k is configured to obtain. Additionally, the encoder is configured to use different probability estimation parameter values for the encoding of neural network parameters associated with different layers of the neural network.

[0020] Embodiments according to the present invention include a method of decoding weight parameters of a neural network, the method comprising, based on an encoded bitstream, obtaining a plurality of neural network parameters, such as components w i of matrix W of the neural network, b, μ, σ 2 of the neural network, σ, γ, and / or β, the method comprising using context-dependent arithmetic decoding, such as context-adaptive binary arithmetic decoding (CABAC), to decode neural network parameters, such as components w i of matrix W of the neural network, or b, or μ, or σ 2 of the neural network, or σ, or γ, or β, such as a quantized version of the neural network parameters. Optionally, the probability of bin values is determined for different contexts, such as each bin may be associated with a context. Further, the method comprises one or more probability estimation parameters, such as probability estimator parameters, such as N, a i k of the neural network, b i k of the neural network, a k of the neural network, d i k of the neural network, A, m i k of the neural network, n i k of the neural network, sh i k of the neural network, initVal i kUsing, for example, one or more previously decoded neural network parameters or their bins, for example, for arithmetic decoding of the bins of the numerical representation of the neural network parameters, for example, a probability estimate that can be associated with the context, e.g., P(t) or p k This includes obtaining the following. In addition, this method uses different probability estimation parameter values ​​for decoding different neural network parameters, and / or different context models, e.g., c k This includes using different probability estimation parameter values ​​for decoding the bin associated with the bin.

[0021] A further embodiment of the present invention includes a method for decoding the weight parameters of a neural network, the method for decoding a plurality of neural network parameters, for example, components w of the neural network matrix W, based on an encoded bitstream. i , b, μ, σ 2 This method includes obtaining at least one of σ, γ, and / or β. Furthermore, this method uses context-dependent arithmetic decoding, for example, using context-adaptive binary arithmetic decoding (CABAC), to obtain neural network parameters, for example, components w of the neural network matrix W. i , or b, or μ, or σ 2 This includes decoding a quantized version of the neural network parameters, such as σ, γ, or β. Optionally, the bin probabilities may be determined for different contexts, for example, each bin being associated with a context. Furthermore, this method includes one or more probability estimation parameters, such as probability estimator parameters, e.g., N, a i k , b i k a k d i k , A, m i k , n i k ,sh i k initVali k Using, for example, one or more previously decoded neural network parameters or their bins, for example, for arithmetic decoding of the bins of the numerical representation of the neural network parameters, for example, a probability estimate that can be associated with the context, e.g., P(t) or p k This includes obtaining [the specified value]. In addition, this method includes using different probability estimate parameter values ​​for decoding the neural network parameters associated with different layers of the neural network.

[0022] Embodiments of the present invention include a method for encoding the weight parameters of a neural network, the method comprising a plurality of neural network parameters, for example, components w of the matrix W of the neural network. i , b, μ, σ 2 This method includes obtaining at least one of σ, γ, and / or β. Furthermore, this method uses context-dependent arithmetic coding, for example, using context-adaptive binary arithmetic coding (CABAC), to obtain neural network parameters, for example, components w of the neural network matrix W. i , or b, or μ, or σ 2 This includes encoding a quantized version of the neural network parameters, such as σ, γ, or β. Optionally, the bin probabilities may be determined for different contexts, for example, each bin may be associated with a context. Furthermore, this method includes one or more probability estimation parameters, such as probability estimator parameters, e.g., N, a i k , b i k a k d i k , A, m i k , n i k ,sh i k initVal i kUsing, for example, one or more previously encoded neural network parameters or their bins, for arithmetic coding of the bins of the numerical representation of the neural network parameters, for example, a probability estimate that can be associated with the context, e.g., P(t) or p k This includes obtaining the following. In addition, this method uses different probability estimation parameter values ​​for encoding different neural network parameters, and / or different context models, e.g., c k This includes using different probability estimation parameter values ​​for coding the bins associated with the bins.

[0023] A further embodiment of the present invention includes a method for encoding the weight parameters of a neural network, the method comprising a plurality of neural network parameters, for example, components w of the matrix W of the neural network. i , b, μ, σ 2 This method includes obtaining at least one of σ, γ, and / or β. Furthermore, this method uses context-dependent arithmetic coding, for example, using context-adaptive binary arithmetic coding (CABAC), to obtain neural network parameters, for example, components w of the neural network matrix W. i , or b, or μ, or σ 2 This includes encoding a quantized version of the neural network parameters, such as σ, γ, or β. Optionally, the bin probabilities may be determined for different contexts, for example, each bin may be associated with a context. Furthermore, this method includes one or more probability estimation parameters, such as probability estimator parameters, e.g., N, a i k , b i k a k d i k , A, m i k , n i k ,sh i k initVal i kUsing, for example, one or more previously encoded neural network parameters or their bins, for arithmetic coding of the bins of the numerical representation of the neural network parameters, for example, a probability estimate that can be associated with the context, e.g., P(t) or p k This includes obtaining [the specified value]. In addition, this method includes using different probability estimation parameter values ​​for encoding the neural network parameters associated with different layers of the neural network.

[0024] Embodiments of the present invention include a computer program that performs a method according to the present invention when the computer program is running on a computer.

[0025] Embodiments of the present invention include coded representations of weight parameters of a neural network, the coded representations of which include a plurality of coded weight parameters of the neural network and coded representations of one or more probabilistic estimation parameters that determine the properties of probabilistic estimation for adapting the context of arithmetic decoding of the coded weight parameters.

[0026] To better understand the main concepts of the embodiments of the present invention, further optional embodiments of neural network parameter encoding and decoding according to the present invention are disclosed below. Firstly, and in particular, efficient representations of parameters according to embodiments are disclosed. The details described below are optional.

[0027] Parameters W, b, μ, σ 2γ, and β can be collectively referred to as layer parameters or layer parameters. One or more of these parameters may be examples of neural network parameters, as previously mentioned. They typically need to be signaled in the bitstream (for example, in the encoded video representation when the neural network is used in a video decoder). For example, they can be represented as 32-bit floating-point numbers, or quantized to integer representations, which are also shown as quantization indices. Note that ε is not typically signaled in the bitstream.

[0028] For example, a particularly efficient method for encoding such parameters employs a uniform reconstruction quantizer (URQ), where each value is represented as an integer multiple of the so-called quantization step size. The corresponding floating-point number can be reconstructed, for example, by multiplying an integer by the quantization step size, which is usually (but not always) a single floating-point number. However, in efficient embodiments for neural network inference, for example (i.e., computing the output of a neural network for a given input), integer arithmetic is employed whenever possible. Therefore, requiring the reconstruction of parameters into floating-point representation may not always be desirable.

[0029] Another efficient method for encoding parameters involves applying a set of quantizers, where each value is represented, for example, as an integer multiple of the quantization step size value. Typically, each quantizer in the set uses a disparate set of integer multiples of the quantization step size parameter as applicable reconstruction values, although two or more quantizers may share one or more reconstruction values. The applied quantizer depends, for example, on the value of the previous quantization index in coding order. The corresponding floating-point number can be reconstructed, for example, by multiplying an integer by the quantization step size, which is typically a floating-point number that depends, for example, on the selected quantizer. An example of such a quantizer design is trellis coded quantization (TCQ), also known as dependent quantization (DQ).

[0030] In a preferred embodiment, two sets of quantizers are used. The first quantizer uses, for example, all even multiples of the quantization step size, including 0, and the second quantizer uses all even multiples of the quantization step size, including 0.

[0031] Next, in particular, entropy coding and probability estimation according to embodiments are disclosed. The details described below are optional and can be combined with the features described above, in particular with respect to the efficient representation of parameters.

[0032] For example, the quantized index output by the quantization method described above may be entropy-encoded using an appropriate entropy coding method.

[0033] A particularly suitable entropy coding method for encoding such quantized indices is Context-based Adaptive Binary Arithmetic Coding, also known as CABAC. This decomposes each quantized index into, for example, a sequence of binary decisions, or so-called bins. Typically, each bin is associated with a probabilistic model, also called a context model, which models the statistics of the associated bins using, for example, a probabilistic estimation method.

[0034] A probability estimator is a device that models the probability P(t) that a bin is equal to x, based on pre-encoded bins associated with the probability estimator, where x ∈ {0, 1}. P(t) can be an example of a probability estimator.

[0035] Next, we will describe, for example, the design of a typical estimator. The details of the estimator design are optional features of the embodiment according to the present invention and can be combined with embodiments that include the features described above.

[0036] First, we will describe a typical estimator design applied to neural network compression.

[0037] For example, each context model c k Regarding one or more state variables s1 k ,...,s N k This is maintained at N≧1. Each state variable s i k For example, it is implemented as a signed integer value, for example, a probability value P(s) i k ,i,k)=p i k This represents the context model c. k Probability estimate p k For example, p is the probability value of all state variables in a context model. i k It is defined as a weighted sum of .

[0038] The state variables preferably have the following characteristics, but are not necessarily required to do so. 1.s i k If = 0, p i k = 0.5. 2.s i k A larger value of is a larger p i k It corresponds to. 3. P(-s i k ,i,k)=1-P(s i k ,i,k).

[0039] Therefore, a negative state variable is, for example, p i k It can handle values ​​<0.5. Generally, it is possible to specify a different function P(·) for each state variable in each context model.

[0040] Next, an example of a configuration that associates state variables with probability values ​​will be described. Details of the state association are optional features of the embodiment according to the present invention and can be combined with embodiments that include the features described above.

[0041] There are many useful ways to associate state variables with probability values, i.e., to implement P(·). For example, the state representation used in neural network compression can be achieved by the following equation.

number

[0042] For example, two states (N=2, s1 k s2 kTo achieve a configuration comparable to that used in the current draft of the MPEG-7 Part 17 standard for neural network compression for multimedia content description and analysis, α≈0.99894079 and β1 for all k k =16 and β2 k Set =1.

[0043] This exemplary configuration provides some insight into how state variables can be defined. As seen below, P(·) is generally not used directly and therefore does not need to be defined. Rather, it is often obtained as a result of the actual embodiment of the individual parts.

[0044] Next, the initialization of state variables will be described. The details of the initialization are optional features of the embodiment according to the present invention and can be combined with embodiments that include the features described above.

[0045] Before encoding or decoding the first symbol using the context model, all state variables are initVal i k It is initialized with the same value shown, which can optionally be optimized for, for example, compression applications.

[0046] Next, the derivation of probability estimates from state variables will be explained. The details of the derivation are optional features of the embodiment according to the present invention and can be combined with embodiments that include the features described above.

[0047] For symbol encoding or decoding, probability estimates are derived from the state variables of the context model. As an example, three alternative methods are presented below. Method 1 yields more accurate results than Methods 2 and 3, but it is also more computationally complex.

[0048] Method 1 (Example) This method consists of two steps. First, each state variable s of the context model... ik p is the probability value i k It is converted to the probability estimate p. k However, the probability value p i k It is derived as a weighted sum.

[0049] Step 1: The lookup table LUT1, for example, follows equation (1), and the state variable s i k The corresponding probability value p i k Used to convert to

number

[0050] Step 2: Probability estimate p k For example, the probability value p follows the following equation. i k It is derived from this.

number

[0051] Method 2 (Example) An alternative method for deriving probability estimates from state variables is shown below. This method yields less accurate results but is less computationally complex. First, the weighted sum s of the state variables is... k However, it can be derived, for example, according to the following equation.

number

[0052] Next, the probability estimate p k is the state variable s k From the weighted sum, it can be derived, for example, according to the following equation.

number

[0053] Method 3 (Example) Here is yet another method for deriving probability estimates from state variables. First, the weighted sum s of the state variables k This is derived, for example, as in Method 2. Next, the probability estimate p k is the state variable s k From the weighted sum, it can be derived, for example, according to the following equation.

number

[0054] Method 4 (Example) Further methods employ a linear relationship between state values ​​and probabilities P(x,i,k). The derivation of probability estimates can be done, for example, using the method in equation (2). An example of method 4 is the probability estimation scheme used in the current draft of Versatile Video Coding (VVC).

[0055] For example, to achieve the configuration used in the current draft of the MPEG-7 Part 17 standard for neural network compression for describing and analyzing multimedia content, Method 3 is used, for example, for all k, d1 k =16, d2 k =1, and a k =2 -7 It is used with [this method]. A lookup table containing probability estimates is, for example, as follows:

[0056] LUT2={0.5000,0.4087,0.3568,0.3116,0.2721,0.2375,0.2074,0.1811, 0.1581,0.1381,0.1206,0.1053,0.0919,0.0803,0.0701,0.0612, 0.0534,0.0466,0.0407,0.0356,0.0310,0.0271,0.0237,0.0207, 0.0180,0.0158,0.0138,0.0120,0.0105,0.0092,0.0080,0.0070}

[0057] Next, the updating of state variables will be described. The details of the update are optional features of the embodiment according to the present invention and can be combined with embodiments that include the features described above.

[0058] After the encoding or decoding of symbols, one or more state variables in the context model may be updated to track the statistical behavior of the symbol sequence.

[0059] Updates can also be done, for example, as follows:

number

number

[0060] The values ​​in lookup table A are, for example, s i k It can be selected so that it remains within a specific given interval. Typically, the value of lookup A approximates, for example, an update function. Alternatively, it is also possible to simply use the relevant update function for state updates, for example.

[0061] For example, the VVC estimation method according to Method 4 applies an update function for state updates and uses bit shifts, which determine, for example, the "agility" of the updates. This corresponds, for example, to the adaptive parameters described above. Embodiments of the present invention (see below, e.g., described later according to the main concepts of the embodiments) can be applied to them as well.

[0062] For example, to achieve the configuration used in the current draft of the MPEG-7 Part 17 standard for neural network compression for describing and analyzing multimedia content, the parameters are, for example, m1 for all k. k =2 -3 , m2 k =2 -7 and n1 k =2 -1 n2 k The selection is made such that =1 and z=16. Lookup table A is, for example, A={157,143,129,115,101,87,73,59,45,35,29,23,17,13,9,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0}.

[0063] Before encoding the symbol, s1 k For example, let's assume that it is initialized with values ​​starting from the interval [-127, 127], and s2 k For example, let's assume that it is initialized with values ​​starting from the interval [-2047, 2047]. As a result, s1 k This can be implemented, for example, with an 8-bit signed integer value, s2 k This can be implemented, for example, using a 12-bit signed integer.

[0064] As illustrated in the example above, a probability estimator has a set of parameters called probability estimator parameters or estimator parameters (or probability estimation parameters), which affect the probability estimate, such as the adaptation rate. Typically, these estimator parameters are selected globally depending on the application scenario, for example, the coding of neural network parameters. Thus, for example, in neural network coding, each neural network parameter applies the same set of estimator parameters. However, the inventors have found that compression efficiency can be improved by selecting estimator parameters optimized for the current neural network parameters. Therefore, according to one embodiment, the basic idea is to select appropriate estimator parameters from a set of parameters, and then the estimator parameters are signaled to the decoder.

[0065] In other words, embodiments of the present invention (for example, as defined by the independent claims) are based on the idea of ​​using different probabilistic parameter values ​​for decoding and encoding bins associated with different contexts associated with neural network parameters or entities, e.g., neural network parameters. Instead of using a fixed instance from a base set of probabilistic parameters or probabilistic parameter estimates, a suitable, or for example, optimal, individual selection of probabilistic parameter values ​​may be performed. The selection of probabilistic estimates may be performed based on any suitable criteria, e.g., a previously known property of a particular neural network parameter, a probabilistic feature of a context model of a particular neural network parameter, or a probabilistic feature of the bins of the neural network parameter, respectively. For example, different neural network parameters may include different correlation properties, and it is recognized that the coding efficiency can be improved by adapting probabilistic parameter values ​​to these different correlation properties. For example, the correlation strength (neural network parameters) between adjacent branches or edges of a neural network may differ depending on the functionality realized by the neural network. The extension of correlations between edges (or branches) of a neural network may also differ. According to one aspect of the present invention, the probability estimation parameter values ​​can be adapted (for example, dynamically, between the coding of different neural network parameters in a single neural network) to the correlation characteristics (correlation strength / correlation expansion) of the neural network, thereby resulting in particularly efficient coding. As another example, it is recognized that the correlation characteristics of neural network parameters associated with different layers of a neural network may be substantially different in some cases. For example, if different layers of a neural network reflect convolutions of different sizes (or widths), this can be achieved by using different probability estimation parameter values ​​for coding or decoding the neural network parameters of different neural network layers, thereby improving coding efficiency.

[0066] In conclusion, it has been found that using different probabilistic estimation parameters when encoding or decoding different neural network parameters, or when encoding or decoding bins associated with different contextual models, improves the trade-off between encoding efficiency, complexity, and resource usage. For example, it is recognized that the overhead that may be required for signaling (or dynamic signaling) the probabilistic estimation parameter values ​​actually used can be overcompensated by the increase in encoding efficiency.

[0067] A second aspect of the embodiment of the present invention is that the encoding and / or decoding of probability estimation parameters may include steps similar to or equivalent to those for encoding and / or decoding of neural network parameters.

[0068] The inventors have recognized that encoding / decoding performance can be improved if all parameters relating to the probability estimation parameters, e.g., the probability estimator and / or context model, are adaptively selected. Probability estimator parameters can be encoded / decoded using steps similar to those for neural network parameters. For example, a probability estimation parameter, or an integer index q representing a probability parameter, may be encoded / decoded using a sequence of bins, e.g., bins greaterThan_0, greaterThan_1, ..., and a context model similar to those for neural network parameters.

[0069] In other words, the reverse is true for the decoder, and a decoder according to an embodiment of the present invention can obtain an encoded bitstream, the bitstream containing neural network parameters. The neural network parameters can be encoded in the bitstream as a sequence of bins. These bins can be decoded using context-dependent arithmetic decoding, e.g., the same context-dependent arithmetic coding method used to encode the bins representing the neural network parameters into the bitstream. Thus, the decoder can obtain one or more probability estimator parameters, e.g., at least one of the aforementioned probability estimator parameters, e.g., N, a i k , b i k a k d i k , A, m i k , n i k ,sh i k initVal i k The decoder is configured to obtain probability estimates using a probability estimator that includes at least one of the following. The decoder then obtains different probability estimate parameter values ​​for decoding different neural network parameters, and / or different context models, e.g., c k Different probability-estimating parameter values ​​may be used for decoding the bins associated with them. Furthermore, the decoder may use different probability-estimating parameter values ​​for decoding the neural network parameters associated with different layers of the neural network. By adapting the probability-estimating parameter values ​​according to certain characteristics of the neural network parameters, such as the layers or context models of those bins, the decoding and coding efficiency can be improved.

[0070] In other words, according to one aspect, the parameters, namely N, a i k , b ik a k d i k , A, m i k , n i k ,sh i k initVal i k And / or any other parameters relating to the probability estimator, such as a context model, may be collectively referred to as probability estimator parameters or estimator parameters (or probability estimation parameters).

[0071] Typically, for each estimator parameter, one fixed instance is selected for the entire network from the base set of probability estimator parameters. The values ​​of the base set can be N-tuples of estimator parameters, depending on the number of states N applied. According to one aspect of the present invention, probability estimation, and therefore compression efficiency, is achieved, for example, when the parameters are layers (i.e., W, b, μ, σ). 2 , γ, and β) and / or context model c k This can be improved when each parameter or a subset of parameters is selected individually.

[0072] The estimator parameters used are determined, for example, from the parameters of a set of parameters, which can be, for example, the base set or any subset thereof. Each parameter in this set can be associated, for example, with an integer index q. For example, one parameter in the set may be designated as a default parameter. Typically, the default parameter is associated with an integer index equal to, for example, 0. The indices associated with the selected estimator parameters are then signaled, for example, to a decoder.

[0073] According to embodiments of the present invention, the decoder is configured to select one or more probability estimation parameters from a base set or from a true subset of the base set. Optionally, the base set may include a plurality of available parameter values ​​associated with one or more probability estimation parameters, or the base set may include a plurality of tuples of available parameter values ​​associated with a plurality of probability estimation parameters, e.g., a list of available pairs (sh1 k ,sh2 k ) can include

[0074] By providing a subset or even a true subset of probabilistic estimation parameters, a pair, tuple, and / or set of acceptable probabilistic estimation parameters that are easier to select, for example, with respect to one or more criteria, can be provided. For example, depending on a particular layer of a neural network, the subset may be selected with low computational effort, for example, by simply comparing the layer ID with a predefined list, in order to select probabilistic estimation parameters that provide improved decoding efficiency. In addition, the selection of such a subset may be performed according to a particular type of quantization. By providing a subset, favorable probabilistic estimation parameters can be provided without significant allocation effort. Instead of checking multiple conditions, for example, one condition for each probabilistic estimation parameter, one check, for example, the aforementioned comparison between a context model of the layer ID or neural network parameter bins and a given list or criterion, can be performed, and based on this, the entire set of probabilistic estimation parameters or probabilistic estimation parameter values ​​can be selected. Furthermore, by providing a base set, the signaling effort is reduced, for example, because it may be sufficient to signal the index of the base set rather than the actual parameter values.

[0075] According to embodiments of the present invention, the decoder is configured to select one or more probability estimation parameters from different sets of available parameter values ​​or different sets of available tuples of parameter values, depending on the quantization mode, or the decoder is configured to select one or more coded values, e.g., coded index value q, representing one or more probability estimation parameters, e.g., sh i k It is configured to use different mapping rules, such as different mapping tables, to map to something.

[0076] Optionally, the decoder may select one or more probabilistic estimators from a first set of available parameter values ​​or a first set of available tuples of parameter values ​​when a first quantization mode, e.g., uniform quantization URQ, is used, and the decoder may select one or more probabilistic estimators from a second set of available parameter values ​​when a second quantization mode, e.g., dependent quantization DQ, is used.

[0077] Optionally, a set of available parameters can define different associations between index values ​​contained in the encoded bitstream and associated probability estimation parameters or associated tuples of probability estimation parameters. For example, a first set of available parameters defines a mapping of a given index value to a first tuple of probability estimation parameters, and a second set of available parameters defines a mapping of a given index value to a second tuple of probability estimation parameters, different from the first tuple.

[0078] It is recognized that different quantization modes can lead to different probabilistic properties (e.g., correlations) of neural network parameters, and therefore, by adapting the selection of probabilistic estimation parameters according to the quantization method, improved probabilistic estimation (and consequently improved coding efficiency) can be achieved.

[0079] According to embodiments of the present invention, the decoder is configured to select one or more probabilistic quantization parameters from a first set of available parameter values ​​or from a first set of available tuples of parameter values ​​when a uniform quantization of one or more probabilistic quantization parameters, such as uniform reconstruction quantization (URQ) or time-invariant quantization, is used, and the decoder is configured to select one or more probabilistic quantization parameters from a second set of available parameter values ​​or from a second set of available tuples of parameter values ​​when a variable quantization of one or more probabilistic quantization parameters, such as trellis coding quantization (TCQ) or dependent quantization (DQ), is used, where a variable quantization such as DQ can use more context models than uniform quantization, such that fewer bins are decoded per context model in the case of variable quantization.

[0080] Alternatively, when a uniform quantization of one or more probability estimators, such as uniform reconstruction quantization (URQ) or time-invariant quantization, is used, the decoder can encode values ​​representing one or more probability estimators, such as encoded index values ​​q, to ​​represent one or more probability estimators, such as sh i k It is configured to use a first mapping rule, such as a first mapping table, which maps to a specific element.

[0081] In addition, the decoder may be configured to use a second mapping rule, such as a second mapping table, that maps coded values ​​representing one or more probabilistic quantization parameters, such as coded index values ​​q, to ​​one or more probabilistic quantization parameters when variable quantization of one or more probabilistic quantization parameters, such as trellis coding quantization (TCQ) or dependent quantization (DQ), is used. Optionally, variable quantization such as DQ may allow the use of more context models than uniform quantization, so that fewer bins are decoded per context model in the case of variable quantization.

[0082] Furthermore, the first set of available parameter values ​​is different from the second set of available parameter values, the first set of available tuples of parameter values ​​is different from the second set of available tuples of parameter values, and / or the second mapping rule is different from the first mapping rule.

[0083] Therefore, the concepts of the present invention can be applied to any form of quantization and are not limited to any particular type of quantization. Furthermore, the type of quantization and the set and / or mapping of probabilistic estimation parameters used can be adapted according to the characteristics of the neural network parameters. Thus, not only is there a high degree of freedom, but coding efficiency can also be improved.

[0084] According to a further embodiment of the present invention, on average, the available parameter values ​​from a second set of available parameter values, or for example, the available parameter values ​​of a second mapping rule, allow for faster adaptation of the probability estimate to changes in bin values, for example, than the available parameter values ​​from a first set of available parameter values, or for example, the available parameter values ​​of a first mapping rule. Alternatively, on average, the available tuples of parameter values ​​from a second set of available tuples of parameter values, or for example, the available tuples of a second mapping rule, allow for faster adaptation of the probability estimate to changes in bin values, for example, than the available tuples of parameter values ​​from a first set of available tuples of parameter values, or for example, the available tuples of a first mapping rule.

[0085] This embodiment is based on the finding that coding efficiency is improved by this concept.

[0086] According to a further embodiment of the present invention, a second set of usable parameter values, or for example a second mapping rule, enables a faster adaptation of the probability estimate values, for example with respect to changes in the frequency of bin values, compared to a first set of usable parameter values, or for example the usable parameter values of a first mapping rule, or for example all usable parameter values. Alternatively, a second set of usable tuples of parameter values enables a faster adaptation of the probability estimate values, for example with respect to changes in the frequency of bin values, compared to a usable tuple of parameter values of a first set of parameter values, or for example all usable tuples.

[0087] This embodiment is based on the finding that the coding efficiency is improved by such a concept.

[0088] According to a further embodiment of the present invention, the decoder is configured to select one or more probability estimation parameters from different sets of usable, for example acceptable, parameter values, or different sets of usable, for example acceptable, tuples of parameter values, according to the number of parameters of the layer of the neural network, or according to the number of neural network parameters to be decoded using one or more selected probability estimation parameters, or according to the number of elements of the layer parameters, for example the number of components of the matrix W, or the number of elements of the (transposed) vector b, etc.

[0089] Alternatively, the decoder depends on the number of parameters of the layer of the neural network, or depends on the number of neural network parameters to be decoded using one or more selected probability estimation parameters, or depends on the number of elements of the layer parameters, for example the number of components of the matrix W, or the number of elements of the (transposed) vector b, etc., and represents the coding value of one or more probability estimation parameters, for example the coding index value q, as one or more probability estimation parameters, for example sh i kconfigured to use different mapping rules, for example different mapping tables, to map thereto.

[0090] It has been found that in order to evaluate the probability value of a bit having a certain specific value, the adaptive parameters of the probability estimator can be selected depending on the number of neural network parameters to be decoded, using a context model. For example, the larger the number of decoded bins, the more probabilistically the probability of that bin can be estimated. Thereby, the encoding efficiency can be improved.

[0091] According to a further embodiment of the present invention, the decoder, when the number of parameters of a layer of the neural network is below a threshold, for example X = 1000, or when the number of neural network parameters to be decoded using one or more selected probability estimation parameters is below a threshold, or when the number of elements of the layer parameters, for example the number of components of the matrix W, or the number of elements of the (transposed) vector b, etc. is below a threshold, is configured to extract and select one or more probability estimation parameters from a first set of available parameter values or from a first set of available tuples of parameter values.

[0092] In addition, the decoder, when the number of parameters of a layer of the neural network is above a threshold, for example X = 1000, or when the number of neural network parameters to be decoded using one or more selected probability estimation parameters is above a threshold, or when the number of elements of the layer parameters, for example the number of components of the matrix W, or the number of elements of the (transposed) vector b, etc. is above a threshold, is configured to extract and select one or more probability estimation parameters from a second set of available parameter values or from a second set of available tuples of parameter values.

[0093] Alternatively, the decoder may use one or more selected probability estimates if the number of parameters in the neural network layers falls below a threshold, e.g., X=1000, or if the number of neural network parameters to be decoded using one or more selected probability estimates is below a threshold, or if the number of elements in the layer parameters, e.g., the number of elements in matrix W or the number of elements in (transposed) vector b, is below a threshold, e.g., sh i k It is configured to use an excerpt of a first mapping rule, such as a first mapping table, which maps coded values, such as coded index values ​​q, that represent one or more probability estimation parameters above.

[0094] Furthermore, the decoder will discard one or more probabilistic parameters if the number of parameters in the neural network layers exceeds a threshold, for example, X=1000, or if the number of neural network parameters to be decoded using one or more selected probabilistic parameters exceeds a threshold, or if the number of elements in the layer parameters, for example, the number of elements in matrix W or the number of elements in (transposed) vector b, exceeds a threshold, for example, sh i k It is configured to use an excerpt of a second mapping rule, such as a second mapping table, which maps coded values ​​representing one or more probability estimation parameters, such as coded index values ​​q, to ​​a second mapping table.

[0095] Furthermore, the second set of available parameter values ​​contains more available parameter values ​​than the first set of available parameter values, the second set of available tuples of parameter values ​​contains more available tuples than the first set of available tuples of parameter values, and / or the second mapping rule is different from the first mapping rule.

[0096] It has been found that by selecting probability estimation parameters according to a specific threshold, it may be possible to adapt probability estimation parameters computationally inexpensively. As mentioned above, for example, statistical adaptation of context models can be performed better when a large number of parameters are decoded, so the probability estimation parameters can be adjusted according to that number. Also, since signaling is limited to probability estimation parameters (or sets of probability estimation parameters) that are well suited to the neural network currently under consideration, the signaling overhead (e.g., the number of bits required to encode the index of the probability estimation parameter or set of probability estimation parameters) can be reduced.

[0097] According to a further embodiment of the present invention, the decoder is configured to extract and select one or more probabilistic estimation parameters from an increased number of options if the number of neural network parameters to be decoded using one or more selected probabilistic estimation parameters is greater than or equal to a threshold, for example, X = 1000.

[0098] It has been found that increasing the number of neural network parameters being decoded can increase the degrees of freedom regarding the probabilistic properties of the neural network parameters, such as their correlations. Therefore, as the number of neural network parameters increases, an increase in the probabilistic parameter or the probabilistic parameter value can be considered to improve coding efficiency. As a result, signaling overhead is reduced in small neural networks.

[0099] According to a further embodiment of the present invention, the decoder is configured to evaluate signaling that may be included in the encoded bitstream, for example, in the form of a dedicated flag, and from that signaling, one or more probabilistic estimation parameters are selected, for example, using one or more flags to be decoded, for example, using the flag "useSecondSubset", from a set of available parameter values, for example, a small set or a large set, for example, a set of multiple sets of available parameter values, which may be different subsets of the base set, and possibly overlapping subsets, or from a set of available tuples of parameter values, for example, a small set or a large set, for example, a set of multiple sets of available tuples of parameter values, which may be different subsets of the base set, and possibly overlapping subsets.

[0100] Alternatively, the decoder can encode values ​​representing one or more probability estimation parameters, for example, encoded index values ​​q, to ​​one or more probability estimation parameters, for example, sh i k To map to a bitstream, the system is configured to evaluate signaling, which is an instruction on which mapping rule from a mapping table should be used, where the signaling may be included in the encoded bitstream, for example, in the form of a dedicated flag.

[0101] Using information about corresponding sets or tuples of probability estimation parameters, the selection of probability estimation parameters can be performed at a low computational cost. In addition, by transmitting such signaling, the error probability of using different probability estimation parameters in the decoder than in the encoder can be reduced. Similarly, useful mapping rules, such as those used in an encoder used to encode a coded bitstream, can be communicated via such signaling.

[0102] For example, by providing such signaling, the coding may be adapted to the characteristics of the neural network. For instance, a first set of available tuples of parameter values ​​may be selected for a first type of neural network (for example, because the first set of available parameter values ​​is better suited to the statistics of the first type of neural network), and a second set of available tuples of parameter values ​​may be selected for a second type of neural network. For example, it may be sufficient to signal the selection of a set of available parameter values ​​for the neural network only once (or at least less often than the actual selection of individual sets of parameter values). This can improve coding efficiency.

[0103] According to a further embodiment of the present invention, the decoder is configured to decode one or more index values, for example generally integer values, for example index q or multiple indices, which describe a probability estimation parameter value, or a plurality of probability estimation parameter values, or a tuple of probability estimation parameter values, for example index q.

[0104] By using index values, probability estimation parameters can be represented in a way that is easily compressible. Since probability estimation parameters are encoded and therefore decoded in the same way as neural network parameters, the efficiency of encoding / decoding can be improved.

[0105] According to a further embodiment of the present invention, the decoder is configured to decode one or more index values ​​using one or more context models, the context models can, for example, determine the probabilities of the bin values ​​of one or more bins used to decode the index values.

[0106] Pursuing one of the key concepts of this invention, the encoding / decoding sequence of neural network parameters can be similarly applied to probabilistic estimation parameters. Thus, probabilistic estimation parameters, or bins representing probabilistic estimation parameters, or index values ​​representing probabilistic estimation parameters, can be associated with a contextual model. The advantage of context-dependent encoding can be utilized twice: once by encoding / decoding probabilistic estimation parameters, and again by performing context-dependent encoding / decoding on neural network parameters.

[0107] According to a further embodiment of the present invention, the decoder is configured to decode a first bin, e.g., a useNotDefault bin, that describes whether the currently considered index value takes a default value, and if the currently considered index value does not take a default value, the decoder is configured to extract and decode one or more additional bins that represent the currently considered index value or a value derived from the currently considered index value, e.g., q-1, in a binary representation.

[0108] Optionally, the first bin, which indicates whether the currently considered index value takes a default value, is decoded using the context, for example, taking into account a probability estimate, and one or more additional bins are decoded with a fixed length of 1 bit per bin.

[0109] If a neural network parameter is identified as a default value in the first bin decoding step, for example, further decoding may not be necessary, and decoding such a first bin can improve coding efficiency. Since the first bin can always exist, coding efficiency can be improved by, for example, more complex context-dependent coding. For additional bins that may not always exist, a less complex coding method with a fixed probability can be implemented, for example.

[0110] According to a further embodiment of the present invention, the decoder is configured to decode one or more index values using unary code decoding, or using shortened unary code decoding, or using variable length code decoding, and optionally, the code length is selected according to the probability of occurrence of different index values. By using unary codes, a self-synchronizing code without prefix-freeness can be made possible. Also, in variable length codes, the code length of index values with high occurrence probability can be shortened, and by shortening the code length of indexes with high occurrence frequency, symbols and time can be saved, thus improving efficiency.

[0111] According to a further embodiment of the present invention, in the case of, for example, unary codes or Huffman codes, the decoder uses the number of bins or the maximum number of bins used to decode an integer index q that specifies one or more probability estimation parameters, for example, a selected probability estimation parameter or a selected tuple of probability estimation parameters, and is configured to change it to adapt to, for example, a selected set of available parameter values or a selected set of available tuples of parameter values according to the quantization mode used to quantize one or more probability estimation parameters.

[0112] Using a particular quantization method, a particular accuracy or precision of the probability estimation parameter may be achievable. Thus, if the number of bins or the maximum number of bins can be selected with respect to the quantization or the expected quantization error, the coding efficiency can be improved.

[0113] According to a further embodiment of the present invention, the decoder is configured, for example in the case of a unary code or a Huffman code, to change the number of bins or the maximum number of bins used to decode an integer index q that specifies one or more probabilistic parameters, such as selected probabilistic parameters or selected tuples of probabilistic parameters, depending on the number of parameters in the layer of the neural network, or the number of neural network parameters to be decoded using one or more probabilistic parameters, or the number of elements in the layer parameters, such as the number of elements in matrix W, or the number of elements in (transposed) vector b, to adapt to, for example, a selected set of available parameter values ​​or a selected set of available tuples of parameter values.

[0114] Encoding efficiency can be improved by changing the number of bins used to decode the probabilistic estimation parameters with respect to the number of neural network parameters being decoded. A good trade-off between accuracy and computational cost and time effort can be implemented. In addition, the probabilistic properties of the bins are determined according to the number of neural network parameters, and for example, as the number of neural network parameters dependent on the context model increases, the context model can be adapted more accurately.

[0115] According to a further embodiment of the present invention, the decoder can choose between different sets of available parameter values ​​associated with one or more probability estimation parameters, or between different sets of tuples of available parameter values ​​associated with multiple probability estimation parameters, or between encoded values ​​representing one or more probability estimation parameters, for example, encoded index values ​​q and one or more probability estimation parameters, for example, sh i kIt is configured to switch between different mapping rules that map to a specific value. Such switching may be performed, for example, after switching to the neural network parameters of another layer being decoded. This flexibility allows for a more advanced adaptation of decoding for increased coding efficiency.

[0116] According to a further embodiment of the present invention, the decoder is configured to change the number of bins or the maximum number of bins used to decode one or more probabilistic parameters, such as an integer index q, which specify a selected probabilistic parameter or a selected tuple of probabilistic parameters, according to switching between different sets of available parameter values ​​associated with one or more probabilistic parameters, or between different sets of tuples of available parameter values ​​associated with multiple probabilistic parameters, or between different mapping rules, for example, in the case of a unary code or a Huffman code.

[0117] For better understanding, aspects of the above embodiments relating to the bin representation of probability estimation parameters are described below in the context of embodiments including coding procedures. Thus, coding schemes having optional details are disclosed below.

[0118] The encoded index q ∈ [0, q MAX The bins can be decomposed, for example, into a sequence of bins, and then the sequence of bins can be encoded. Each bin may be encoded, for example, using a context model or using fixed probabilities.

[0119] The encoding procedure can follow one of the following methods, for example:

[0120] 1. The first bin, e.g., useNotDefault, indicates whether the selected estimator parameter is different from the default parameter (e.g., useNotDefault=1) or (e.g., useNotDefault=0). For example, if useNotDefault=0, the default parameter is selected and no further bins are encoded. For example, as long as useNotDefault=1, a sequence of bins, e.g., an additional bin, is encoded, which represents, for example, the index of the selected parameter minus 1 (q-1), indexMinusOne. The number of bins encoded for the index is, for example,

number

[0121] 2. In the second step, unary codes are used. The first bin, for example greaterThan_0, indicates whether the index q related to the probability parameter is greater than 0 (e.g., greaterThan_0=1) or not (e.g., greaterThan_0=0). For example, if greaterThan_0=0, no further bins are coded. For example, if greaterThan_0=1, another, for example, additional bin is coded (e.g., greaterThan_1), which indicates whether the index q is greater than 1 (e.g., greaterThan_1=1) or not (e.g., greaterThan_1=0). For example, if greaterThan_1=0, no further bins are coded. For example, if greaterThan_1=0, further bins (greaterThan_X) are coded similarly until the flag greaterThan_q equals 0.

[0122] 3. This procedure is used, for example, when the index for encoding q is q MAX Apply a shortened unary code that is identical to the unary code used in encoding method 2, except when it is equal to . In this case, for example, bin greaterThan_(qMAX After encoding -1), further bins are not encoded. For example, on the decoder side, greaterThan_(q MAX If -1) is equal to 1, then the value of q is q MAX It is inferred that this is the case.

[0123] 4. This procedure uses a variable-length code, such as a Huffman code, in which the code length is selected according to the probability of symbol occurrence.

[0124] It should be noted that any of these methods may be used in any embodiment of the present invention. It will be apparent to those skilled in the art that a method for encoding may be applied for decoding, and vice versa.

[0125] According to a further embodiment of the present invention, the decoder has one or more state variables, for example, s i k or s k Determine the probability estimate, for example, p, using one or more state variables, for example, using equations (1) and (2), or using equations (3) and (4), or using equations (3) and (5), or using a linear relationship between one or more state variables and a probability estimate, for example, P(x,i,k). k It is configured to derive the following.

[0126] State variables provide an efficient means for evaluating probabilistic models, such as context models, that describe the probabilities of neural network parameters or their bins. As mentioned above, state variables can also be used to encode probabilistic estimation parameters. Probabilistic estimation parameters may be decoded using a context model evaluated using state variables, and state variables may be updated, for example, based on already decoded or recently decoded probabilistic estimation parameters. Computational costs can be further reduced by using a lookup table, for example, as shown in equation (1).

[0127] According to a further embodiment of the present invention, the decoder is

number

number

[0128] According to an embodiment of the present invention, the decoder is

number

[0129] According to a further embodiment of the present invention, the decoder uses different probability estimation parameter values, for example, n, for decoding different neural network parameters. i kTo use different values ​​of the weight coefficient n, and / or to use different probability estimation parameter values ​​for decoding bins associated with different context models, and / or to use different probability estimation parameter values ​​for decoding neural network parameters associated with different layers of the neural network, i k It is configured to change [something].

[0130] According to a further embodiment of the present invention, the weight coefficient n i k and adaptive parameter sh i k The relationship between them is,

number

[0131] According to a further embodiment of the present invention, the decoder is configured to decode information describing adaptive parameters, for example, an index q describing a tuple of adaptive parameters, and optionally, the meaning of the decoded index value q may be defined as provided, for example, in Table 2 or Table 3, or Table 4 or Table 5, Table 6 or Table 7 below. These tables are examples of mapping rules or mapping tables.

[0132] In a preferred embodiment, for example, in the embodiment described above, the estimator uses, for example, N sets of adaptive parameters sh i k A base set of adaptive parameters is applied. Then, a subset of the base set is selected. One of the parameters in the subset can be signaled.

[0133] In a particularly preferred embodiment, the configuration is, for example, the same as in the previous preferred embodiment, but an estimator is used that is identical to the estimator used in the current draft of the MPEG-7 Part 17 standard for neural network compression for describing and analyzing multimedia content, and the base set is, for example, (sh1k ,sh2 k This includes the following 28 pairs.

[0134] [Table 1]

[0135] A subset of size 3 is defined and ordered such that, for example, when all parameters of a sheath are quantized by DQ, an index q is assigned according to Table 2. Parameters with index q=0 are shown, for example, as default parameters.

[0136] [Table 2]

[0137] For example, one parameter of a subset may be signaled by encoding q according to encoding scheme 1, for example, where the bin useNotDefault is encoded using a context model, and all other bins are encoded with a fixed length of 1 bit per bin. Generally, according to embodiments of the present invention, any mixture of context-dependent encoding and / or other encodings, such as variable-length or fixed-length encoding, may be applied to any bin of the probability estimation parameters and / or neural network parameters.

[0138] In another preferred embodiment (example), the configuration is identical to the previous preferred embodiment, except that the size of the assigned adaptive parameter pairs and the selected subset (Table 3) is equal to 5.

[0139] [Table 3]

[0140] In another preferred embodiment (example), the configuration is identical to that of the previous preferred embodiment, except for the assigned pairs of adaptive parameters (Table 4).

[0141] [Table 4]

[0142] In another preferred embodiment (example), the configuration is identical to the previous preferred embodiment, except that the size of the assigned adaptive parameter pairs and the selected subset (Table 5) is equal to 9.

[0143] [Table 5]

[0144] In another preferred embodiment (example), the configuration is identical to that of the previous preferred embodiment, except for the assigned pairs of adaptive parameters (Table 6).

[0145] [Table 6]

[0146] In another preferred embodiment (example), the configuration is identical to that of the previous preferred embodiment, except for the assigned adaptive parameter pairs (Table 7), the size of the selected subset (5), and the quantization method used with URQ.

[0147] [Table 7]

[0148] In another preferred embodiment (example), an estimator is used that is identical to the estimator used in the current draft of the MPEG-7 Part 17 standard for neural network compression for describing and analyzing multimedia content, and the base set in Table 1 is used. This is referred to as the basic configuration.

[0149] Whenever the sheaf parameters are quantized using DQ, a subset of parameter pairs (of size 9) from Table 5 can be applied. When the sheaf parameters are quantized using URQ, a subset from Table 8 can be used.

[0150] [Table 8]

[0151] In another preferred embodiment (example), the basic configuration of the previous preferred embodiment can be applied.

[0152] Whenever the number of elements in a sheath parameter is below a threshold X, which can be set to, for example, X=1000, a subset of parameter pairs with size 3, shown as the first subset in Table 2, can be used. Otherwise, if the number of elements in a sheath parameter is greater than or equal to the threshold X, a subset of size 9, shown as the second subset in Table 5, can be used.

[0153] In another preferred embodiment (example), the configuration is identical to the previous preferred embodiment, but instead of using a threshold, a flag (e.g., useSecondSubset) is encoded, which determines, for example, which subset to use. For example, if the flag is equal to 0, the first subset may be used. If the flag is equal to 1, the second subset may be used.

[0154] According to a further embodiment of the present invention, the encoder is configured to select one or more probability estimation parameters from the base set or from a true subset of the base set.

[0155] Optionally, the base set may contain multiple available parameter values ​​associated with one or more probability estimators, or the base set may contain multiple tuples of available parameter values ​​associated with multiple probability estimators, e.g., a list of available pairs (sh1 k ,sh2k ) can include

[0156] According to a further embodiment of the present invention, the encoder is configured to select one or more probabilistic estimation parameters from different sets of available parameter values ​​or different sets of available tuples of parameter values ​​depending on the quantization mode. For example, the encoder selects one or more probabilistic estimation parameters from a first set of available parameter values ​​or a first set of available tuples of parameter values ​​when a first quantization mode, e.g., uniform quantization URQ, is used, and for example, the encoder selects one or more probabilistic estimation parameters from a second set of available parameter values ​​when a second quantization mode, e.g., dependent quantization DQ, is used.

[0157] According to a further embodiment of the present invention, the encoder is configured to select one or more probabilistic quantization parameters from a first set of available parameter values ​​or from a first set of available tuples of parameter values ​​when a uniform quantization of one or more probabilistic quantization parameters, such as uniform reconstruction quantization (URQ) or time-invariant quantization, is used, and the encoder is configured to select one or more probabilistic quantization parameters from a second set of available parameter values ​​or from a second set of available tuples of parameter values ​​when a variable quantization of one or more probabilistic quantization parameters, such as trellis coding quantization (TCQ) or dependent quantization (DQ), is used. Optionally, variable quantization parameters such as DQ may allow the use of more context models than uniform quantization, so that fewer bins are encoded per context model in the case of variable quantization.

[0158] In addition, the first set of available parameter values ​​is different from the second set of available parameter values, and the first set of available tuples of parameter values ​​is different from the second set of available tuples of parameter values.

[0159] According to a further embodiment of the present invention, on average, the available parameter values ​​from the second set of available parameter values ​​allow for faster adaptation of the probability estimate to changes in bin frequency, for example, than the available parameter values ​​from the first set of available parameter values. Alternatively, on average, the available tuples of parameter values ​​from the second set of available tuples of parameter values ​​allow for faster adaptation of the probability estimate to changes in bin frequency, for example, than the available tuples of parameter values ​​from the first set of available tuples of parameter values.

[0160] According to a further embodiment of the present invention, the second set of available parameter values ​​includes available parameter values ​​that enable faster adaptation of the probability estimate to changes in bin frequency, for example, than the available parameter values ​​in the first set of available parameter values, or even more than, for example, all available parameter values. Alternatively, the second set of available tuples of parameter values ​​includes available tuples of parameter values ​​that enable faster adaptation of the probability estimate to changes in bin frequency, for example, than the available tuples of parameter values ​​in the first set of available tuples of parameter values, or even more than, for example, all available tuples.

[0161] According to a further embodiment of the present invention, the encoder is configured to select one or more probabilistic estimation parameters from a different set of available, for example, acceptable parameter values, or a different set of available, for example, acceptable parameter values, depending on the number of parameters in the layers of the neural network, or the number of neural network parameters to be encoded using one or more selected probabilistic estimation parameters, or the number of elements in the layer parameters, for example, the number of elements in matrix W, or the number of elements in (transposed) vector b, etc.

[0162] In a further example of the present invention, the encoder is configured to select one or more probabilistic parameters from a first set of available parameter values ​​or from a first set of available tuples of parameter values ​​if the number of parameters in a layer of the neural network is below a threshold, for example X=1000, or if the number of neural network parameters encoded using one or more selected probabilistic parameters is below a threshold, or if the number of elements in a layer parameter, for example the number of elements in matrix W, or the number of elements in (transposed) vector b, is below a threshold.

[0163] In addition, the encoder is configured to select one or more probabilistic parameters from a second set of available parameter values ​​or a second set of available tuples of parameter values ​​if the number of parameters in a neural network layer exceeds a threshold, for example X=1000, or if the number of neural network parameters encoded using one or more selected probabilistic parameters exceeds a threshold, or if the number of elements in a layer parameter, for example the number of elements in matrix W, or the number of elements in (transposed) vector b, exceeds a threshold.

[0164] Furthermore, the second set of available parameter values ​​contains more available parameter values ​​than the first set of available parameter values, and the second set of available tuples of parameter values ​​contains more available tuples than the first set of available tuples of parameter values.

[0165] According to a further embodiment of the present invention, the encoder is configured to extract and select one or more probabilistic estimation parameters from an increased number of options when the number of neural network parameters to be encoded using one or more selected probabilistic estimation parameters is greater than or equal to a threshold, for example, X = 1000.

[0166] According to a further embodiment of the present invention, the encoder is configured to signal whether one or more probability estimation parameters are selected from any set of available parameter values, for example, a smaller or larger set of multiple sets of available parameter values ​​which may be different subsets of the base set, and possibly overlapping subsets, or from any set of available tuples of parameter values, for example, a smaller or larger set of multiple sets of available tuples of parameter values ​​which may be different subsets of the base set, and possibly overlapping subsets, using, for example, one or more encoded flags, for example, using the flag "useSecondSubset".

[0167] According to a further embodiment of the present invention, the encoder is configured to encode one or more index values, for example, generally integer values, for example, index q or multiple indices, which describe a probability estimation parameter value, or a plurality of probability estimation parameter values, or a tuple of probability estimation parameter values, for example, index q.

[0168] According to a further embodiment of the present invention, the encoder is configured to encode one or more index values ​​using one or more context models, the context models can, for example, determine the probabilities of the bin values ​​of one or more bins used to encode the index values.

[0169] According to a further embodiment of the present invention, the encoder is configured to encode the currently considered index value using a first bin that describes that the currently considered index value takes a default value, or, for example, using only the first bin if the currently considered index value takes a default value.

[0170] In addition, the encoder is configured to encode the currently considered index value using a first bin that describes that the currently considered index value does not take a default value, and using one or more additional bins that represent the currently considered index value or a value derived from the currently considered index value, for example q-1, in a binary representation, if the currently considered index value does not take a default value.

[0171] Optionally, the first bin, which indicates whether the currently considered index value takes a default value, is encoded using context, for example, taking into account probability estimates, and one or more additional bins are encoded with a fixed length of 1 bit per bin.

[0172] According to a further embodiment of the present invention, the encoder is configured to encode one or more index values ​​using a unary code, or a shortened unary code, or a variable-length code, wherein the code length is optionally selected according to the probability of different index values ​​occurring.

[0173] According to a further embodiment of the present invention, the encoder is configured, for example in the case of a unary code or a Huffman code, to change the number of bins or the maximum number of bins used to encode an integer index q that specifies one or more probability estimation parameters, such as selected probability estimation parameters or selected tuples of probability estimation parameters, to adapt to, for example, a selected set of available parameter values ​​or a selected set of available tuples of parameter values, depending on the quantization mode used to quantize one or more probability estimation parameters.

[0174] According to a further embodiment of the present invention, the encoder is configured, for example in the case of a unary code or a Huffman code, to change the number of bins or the maximum number of bins used to encode an integer index q that specifies one or more probability estimation parameters, such as selected probability estimation parameters or selected tuples of probability estimation parameters, depending on the number of parameters in the layer of the neural network, or the number of neural network parameters encoded using one or more probability estimation parameters, or the number of elements in the layer parameters, such as the number of elements in matrix W, or the number of elements in (transposed) vector b, to adapt to, for example, a selected set of available parameter values ​​or a selected set of available tuples of parameter values.

[0175] According to a further embodiment of the present invention, the encoder is configured to switch between different sets of available parameter values ​​associated with one or more probability estimation parameters, or between different sets of tuples of available parameter values ​​associated with multiple probability estimation parameters.

[0176] According to a further embodiment of the present invention, the encoder is configured to change the number of bins or the maximum number of bins used to encode one or more probabilistic parameters, such as an integer index q, which specify a selected probabilistic parameter or a selected tuple of probabilistic parameters, according to a switch between different sets of available parameter values ​​associated with one or more probabilistic parameters, or between different sets of tuples of available parameter values ​​associated with multiple probabilistic parameters, for example, in the case of a unary code or a Huffman code.

[0177] According to a further embodiment of the present invention, the encoder has one or more state variables, for example, s i k or s kDetermine the probability estimate, for example, p, using one or more state variables, for example, using equations (1) and (2), or using equations (3) and (4), or using equations (3) and (5), or using a linear relationship between one or more state variables and a probability estimate, for example, P(x,i,k). k It is configured to derive the following.

[0178] According to a further embodiment of the present invention, the encoder is

number

number

[0179] According to a further embodiment of the present invention, the encoder is

number

[0180] In addition, A is a lookup table that stores integer values, for example, which can be defined as described herein, and z is an offset value, for example, a given value, which may be equal to, for example, 16. Optionally, s i k It may be initialized, for example, as described herein.

[0181] According to a further embodiment of the present invention, the encoder uses different probability estimation parameter values, for example, n, to encode different neural network parameters. i k To use different values ​​of the weight coefficient n, and / or to use different probability estimation parameter values ​​for coding bins associated with different context models, and / or to use different probability estimation parameter values ​​for coding neural network parameters associated with different layers of the neural network, i k It is configured to change [something].

[0182] According to a further embodiment of the present invention, the weight coefficient n i k and adaptive parameter sh i k The relationship between them is,

number

[0183] According to a further embodiment of the present invention, the encoder is configured to encode information describing adaptive parameters, such as an index q describing a tuple of adaptive parameters, for example, the meaning of the encoded index value q may be defined as provided in, for example, Table 2 or Table 3, or Table 4 or Table 5 or Table 6 or Table 7.

[0184] All features described above in relation to the decoder and described below should be understood as features of an encoder according to an embodiment of the present invention. Conversely, features described in the context of an encoder should be understood as features of a decoder. It will be apparent to those skilled in the art that features of a decoder or decoding method according to an embodiment are identical or similarly applicable to the corresponding encoder, and vice versa. In this context, a decoder can correspond to an encoder, decoding a neural network can correspond to encoding neural network parameters, previously decoded neural network parameters or their bins can correspond to previously encoded neural network parameters or their bins, decoding different neural network parameters and decoding bins associated with different context models can correspond to encoding different neural network parameters and encoding bins associated with different context models, and decoding neural network parameters associated with different layers of a neural network can correspond to encoding neural network parameters associated with different layers of a neural network. However, these are merely examples of correspondences, and it will be apparent to those skilled in the art that features and advantages of a decoder according to an embodiment of the present invention may be interchangeable with features and advantages of an encoder according to an embodiment of the present invention. The same applies to the description and drawings of the encoding / decoding method in the detailed description of the embodiment.

[0185] According to a further embodiment of the present invention, the encoded representation includes separate encoded representations of separate probabilistic estimation parameters associated with different neural network parameters, and / or separate probabilistic estimation parameters associated with different contextual models, and / or separate probabilistic estimation parameters associated with different layers of the neural network.

[0186] To improve decoding efficiency, adaptive selection of probability estimation parameters can be performed using separate coded representations.

[0187] According to a further embodiment of the present invention, the coded representation is a coded value representing one or more probability estimation parameters, for example, a coded index value q, and one or more probability estimation parameters, for example, sh i k Includes a flag instruction that indicates which of several mapping rules should be used to map to [the specified target].

[0188] The drawings are not necessarily to scale, and instead, the focus is generally on illustrating the principles of the present invention. Various embodiments of the present invention will be described below with reference to the following drawings. [Brief explanation of the drawing]

[0189] [Figure 1] This figure shows an example of a graph representation of a feedforward neural network. [Figure 2] This is a schematic block diagram of a decoder according to an embodiment of the present invention. [Figure 3] This is a schematic diagram illustrating an example of the selection of probability estimation parameters according to an embodiment of the present invention. [Figure 4] This is a schematic diagram of an example of a decoder selection entity according to an embodiment of the present invention. [Figure 5] This is a schematic diagram of an example of an index value describing an encoded bitstream and a probability estimation parameter value according to an embodiment of the present invention. [Figure 6] This is a schematic block diagram of a method according to an embodiment of the present invention. [Modes for carrying out the invention]

[0190] Identical or equivalent elements, or elements having identical or equivalent functions, will be indicated by the same or equivalent reference numbers in the following description, even if they appear in different figures.

[0191] The following description includes several details to provide a more complete description of embodiments of the present invention. However, it will be apparent to those skilled in the art that embodiments of the present invention can be carried out without these specific details. In other examples, well-known structures and devices are shown in block diagrams rather than in detail, in order to avoid obscuring embodiments of the present invention. In addition, features of different embodiments described later herein can be combined with each other unless otherwise specified.

[0192] Figure 2 shows a schematic block diagram of a decoder according to an embodiment of the present invention. The decoder 200 comprises a context-dependent arithmetic decoding unit 210, a probability estimator 220, and probability-estimating parameter values ​​230. Optionally, the decoder 200 comprises a bitstream decomposition unit 240 and a parameter reassembly unit 250. The decoder 200 may be configured to receive an encoded bitstream 202. The encoded bitstream 202 may contain information about a plurality of neural network parameters.

[0193] An optional bitstream decomposition unit 240 may be configured to convert the encoded bitstream 202 into processable information for the context-dependent arithmetic decoding unit 210. Since this function may be provided by the decoding unit 210, the decomposition unit 240 is shown for illustrative purposes only. The decomposition unit may be configured to decompose the encoded bitstream 202 into a portion containing information about the encoded neural network parameters and another portion, such as a flag, indicating bits for the start and / or error correction or other overhead of the bitstream.

[0194] The decoding unit 210 can be configured to decode encoded neural network parameters in order to provide a plurality of, for example, decoded neural network parameters 204. To decode the neural network parameters, the decoding unit 210 is configured to receive probability estimates from the probability estimator 220. The neural network parameters can be encoded in the bitstream 202 as a sequence of bins. One or more bins can represent a neural network parameter. A bin can be associated with, for example, a context, or in other words, a probability model. A probability estimate can indicate the probability that a bin has a particular value, for example, 1 or 0. A probability estimate can be determined depending on the context of the bin, or in other words, its probability model. The probability estimator 220 includes probability estimation parameters to determine the probability estimate.

[0195] The decoder or context-dependent arithmetic decoding unit 210 is configured to use different probabilistic parameter values ​​for decoding different neural network parameters. Therefore, by adapting the probabilistic parameters, the individual probabilistic characteristics of the neural network parameters can be taken into account. In addition, or alternatively, the decoder or context-dependent arithmetic decoding unit 210 can be configured to use different probabilistic parameter values ​​for decoding bins associated with different context models. Individual bins, or sets of bins, can be associated with a context model. A context model may be adapted, for example, according to recently decoded neural network parameters or their bins. As a result, the parameterization of the probabilistic estimator 220 can be adapted for individual bins, or individual context models associated with bins. An optional parameter reassembly unit 250 can be configured to reassemble decoded bins into neural network parameters to give a plurality of neural network parameters 204, and / or to interpret the decoded entities given by the decoding unit 210. Optionally, the probability estimator 220 may receive feedback information from the output of the decoding unit 210 and / or from an optional parameter reassembly unit 250.

[0196] However, the decoder 200 may be configured to use different probabilistic parameter values ​​for decoding neural network parameters associated with different layers of the neural network. Information about a particular layer of neural network parameters may be encoded in a bitstream, which may trigger a change in the probabilistic parameter value 230.

[0197] Figure 3 shows a schematic diagram of an example of the selection of probability estimation parameters according to an embodiment of the present invention. Figure 3 shows, as an example, probability estimation parameters for methods 1-4 and probability estimation parameters for updating the context model. The decoder can select one or more probability estimation parameters, for example, parameters 310 and / or 320, from the base set 300. As shown by parameters 310 and 320, these parameters may be true subsets of the base set 300.

[0198] As a result, the decoder can be configured to use not only different probability estimation parameter values ​​but also different probability estimation parameters. Since the decoder can use any of methods 1 to 4, it requires only a subset of the base set of probability estimation parameters 300.

[0199] In addition, the decoder can not only select probability estimation parameters but also their values. For example, in the first selection step, the decoder may select parameter 310. In the next step, the decoder may also select these probability estimation parameters from different subsets of probability estimation parameter values. In other words, for each probability estimation parameter, there may be multiple sets of acceptable probability estimation parameter values, and the decoder may select the probability estimation parameter and its corresponding value.

[0200] Figure 4 shows a schematic diagram of an example of a decoder selection entity according to an embodiment of the present invention. The decoder can be configured to select one or more probabilistic estimation parameters from different sets of available parameter values ​​410, 420, for example, set 410 includes subset 412 (parameters according to Method 3) and subset 414. While Methods 1-4 and the updating of state variables have been described in the context of encoding and / or decoding the neural network parameters themselves, similar or equivalent methods and updates of the context model can be performed for encoding and / or decoding the probabilistic estimation parameters, and it should be noted that these parameters are therefore shown here. In addition, or alternatively, the decoder may select from a set of available tuples of parameter values ​​430, 440, and / or from different mapping rules shown here as examples in the form of Table 5(450) and Table 7(460). The selection of probabilistic estimation parameter values, tuples, or mappings may be performed based on the quantization mode. It should be noted that different sets of available parameter values ​​contain the same probabilistic estimation parameters but can have different values. The decoder uses a first set 412 and, as an example, a value d1 k =15, d2 k =2, a k =1.5 -7 And can be selected between and another set 414, which includes LUT=LUT2. In other words, adaptation may be performed with respect to the parameters used for encoding / decoding, and with respect to the respective values ​​of the parameters. However, according to the embodiment, only the selection of values ​​may be performed, for example, a decoder decision between sets 412 and 414, and it should be noted that the selection of parameters is not limited to the parameters shown in Method 3.

[0201] For example, when uniform quantization of one or more probability estimators is used, the decoder can select one or more probability estimators from a first set 410 of available parameter values ​​or from a first set 430 of available tuples of parameter values. As an example, in the case of uniform quantization, the decoder can select from sets 412 and 414. On the other hand, when variable quantization of one or more probability estimators is used, the decoder can select one or more probability estimators from a second set 420 of available parameter values ​​or from a second set 440 of available tuples of parameter values. Similarly, when uniform quantization of one or more probability estimators is used, the decoder can use a first mapping rule 460 that maps coded values ​​representing one or more probability estimators to one or more probability estimators, and when variable quantization of one or more probability estimators is used, the decoder can use a second mapping rule 450 that maps coded values ​​representing one or more probability estimators to one or more probability estimators. The first set, tuple, and mapping rule and the second set, tuple, and mapping rule may be different from each other.

[0202] It should be noted that different sets, tuples, and mapping rules may contain different probability estimation parameters, or they may contain the same probability estimation parameters but have different values, for example, to perform calculations according to different methods 1-4. Thus, the decoder can, at its discretion, first select a calculation routine and then its parameterization, i.e., its values. Alternatively, the decoder may simply select probability estimation parameter values ​​according to the quantization mode, for example, between sets 412 and 414, or between tuples 430 and 440, for example, that describe the same probability estimation parameters but have different values.

[0203] Another optional feature is that, on average, the available parameter values ​​from the second set of available parameter values, or the available parameter values ​​of the second mapping rule, can enable faster adaptation of the probability estimate to changes in bin frequency, for example, than the available parameter values ​​from the first set of available parameter values, or the available parameter values ​​of the first mapping rule. Alternatively, on average, the available tuples of parameter values ​​from the second set of available tuples of parameter values, or the available tuples of the second mapping rule, can enable faster adaptation of the probability estimate to changes in bin frequency, for example, than the available tuples of parameter values ​​from the first set of available tuples of parameter values, or the available tuples of the first mapping rule.

[0204] Optionally, a second set of available parameter values, or a second mapping rule, may include available parameter values ​​that enable faster adaptation of the probability estimate to changes in bin frequency, for example, than the available parameter values ​​in the first set of available parameter values, or the available parameter values ​​in the first mapping rule, or even all available parameter values. Alternatively, the second set of available tuples of parameter values ​​may include available tuples of parameter values ​​that enable faster adaptation of the probability estimate to changes in bin frequency, for example, than the available tuples of parameter values ​​in the first set of available tuples of parameter values, or even all available tuples.

[0205] Furthermore, sets 410 and 420 may be available or, for example, acceptable parameter values, and tuples 430 and 440 may be available or, for example, acceptable tuples. Decoder selection of such sets or tuples can be performed based on, or depending on, the number of parameters in the layers of the neural network, or depending on the number of neural network parameters to be decoded using one or more selected probabilistic estimate parameters, or depending on the number of elements in the layer parameters. Similarly, the use of different mapping rules 450 and 460 can be performed by the decoder depending on the number of neural network parameters to be decoded using one or more selected probabilistic estimate parameters, or depending on the number of elements in the layer parameters.

[0206] Another optional feature is that the decoder can be configured to select one or more probabilistic parameters from a first set of available parameter values ​​or from a first set of available tuples of parameter values ​​if the number of parameters in the neural network layers falls below a threshold, e.g., X=1000, or if the number of neural network parameters to be decoded using one or more selected probabilistic parameters falls below a threshold, or if the number of elements in the layer parameters falls below a threshold.

[0207] Furthermore, the decoder can be configured to select one or more probabilistic parameters from a second set of available parameter values ​​or from a second set of available tuples of parameter values ​​if the number of parameters in a neural network layer exceeds a threshold, or if the number of neural network parameters to be decoded using one or more selected probabilistic parameters exceeds a threshold, or if the number of elements in a layer parameter exceeds a threshold.

[0208] Alternatively, the decoder may be configured to use an excerpt of a first mapping rule that maps coded values ​​representing one or more probabilistic parameters to one or more probabilistic parameters if the number of parameters in the neural network layers is below a threshold, or the number of neural network parameters to be decoded using one or more selected probabilistic parameters is below a threshold, or the number of elements in the layer parameters is below a threshold. The decoder may be configured to use an excerpt of a second mapping rule that maps coded values ​​representing one or more probabilistic parameters to one or more probabilistic parameters if the number of parameters in the neural network layers is above a threshold, or the number of neural network parameters to be decoded using one or more selected probabilistic parameters is above a threshold, or the number of elements in the layer parameters is above a threshold.

[0209] In this case, the second set of available parameter values ​​may contain more available parameter values ​​than the first set of available parameter values, and the second set of available tuples of parameter values ​​may contain more available tuples than the first set of available tuples of parameter values. In addition, or alternatively, the second mapping rule may differ from the first mapping rule.

[0210] Figure 5 shows a schematic diagram of an example of an index value describing an encoded bitstream and probability estimation parameter values ​​according to an embodiment of the present invention. For example, bitstream 202 includes signaling in the form of a flag instruction F, or in other words, flag F. However, the signaling may be transmitted in any suitable way. The decoder may evaluate flag F to determine from which set of available parameter values ​​or from which set of available tuples of parameter values ​​one or more probability estimation parameters are selected. Alternatively, the decoder may be configured to evaluate signaling instructions on which of a plurality of mapping rules should be used to map encoded values ​​representing one or more probability estimation parameters to one or more probability estimation parameters. Thus, the selection of sets, tuples and / or mappings by the decoder in Figure 4 may be based on signaling in the form of, for example, an encoded flag F. An optional bitstream decomposition unit 240 may decompose bitstream 202 in, for example, flags for indicating sets, tuples and / or mappings used for decoding, and in information regarding probability estimation parameter values.

[0211] As shown in Figure 5, bitstream 202 contains one or more index values ​​q that describe a probability estimation parameter value, or multiple probability estimation parameter values, or a tuple of probability estimation parameter values. i (Here, examples are shown for i=1, 2, and 3), it can include integer values, for example. In other words, the index value q i This can be an encoded representation of one or more probability estimation parameters.

[0212] The decoder uses signaling, for example, to obtain one or more index values ​​q i It may be configured to decrypt the following: In addition, one or more index values ​​q i This is one or more context models c qi It can be associated with the context model c.qi Use the index value q i It can be configured to decrypt.

[0213] An index value can be represented by one or more bins. The first bin can describe whether the index value currently being considered takes a default value, for example, as shown by fbin. If the index value takes a default value, the index value can only contain one bin, as the index value has already been determined by the first bin. Otherwise, the index value can contain only one bin, as in the example shown by j=1, 2, 3, for example, addbin j It may be represented in the form of one or more additional bins. The decoder can be configured to decode the first bin and any optional additional bins. Any of these bins may be associated with a context, for example, individually. Optionally, the index value q i Context c qi The index value may be associated with the first bin, and additional bins may be decoded with a fixed length for each bin.

[0214] In addition, bitstream 202 is an integer multiple r associated with the neural network parameters, as shown in the example i=1, 2, 3. i Includes index value q i Based on this, it is possible to perform contextual adaptation of the arithmetic decoding of encoded neural network parameters, where the neural network parameters are multiples of an integer r. i These can be the coding weight parameters of a neural network, represented by [this].

[0215] Another optional feature is that the decoder can be configured to decode one or more index values ​​using unary code decoding, or shortened unary code decoding, or variable-length code decoding, for example, the code length being selected according to the probability of different index values ​​occurring. According to the embodiment, any suitable coding technique can be applied individually to different index values, for example, improving flexibility and coding efficiency.

[0216] In addition, the decoder can be configured to change the number of bins or the maximum number of bins used to decode one or more probabilistic estimate parameters, depending on the quantization mode used to quantize one or more probabilistic estimate parameters, and / or depending on the number of parameters in the neural network layer, or depending on the number of neural network parameters to be decoded using one or more probabilistic estimate parameters, or depending on the number of elements in the layer parameter.

[0217] Another optional feature is that the decoder can be configured to switch between different sets of available parameter values ​​associated with one or more probability estimators, or between different sets of tuples of available parameter values ​​associated with multiple probability estimators, or between different mapping rules for mapping encoded values ​​representing one or more probability estimators to one or more probability estimators. The decoder can switch between sets 410 (and / or sets 412, 414) and 420, and / or between tuples 430, 440 and / or different mappings 450, 460, as shown in Figure 4.

[0218] Furthermore, the aforementioned changes to the number of bins or the maximum number of bins can be performed by the decoder according to switching between different sets, tuples, and / or mapping rules.

[0219] In addition, the decoder has one or more state variables, for example, s ik or s k Determine the probability estimate, e.g., p, using one or more state variables. k It can be configured to derive the following.

[0220] Furthermore, the encoded bitstream 202 can be used as an encoded representation of the weight parameters of the neural network, and r is a multiple of an integer. i Multiple coding weight parameters of a neural network of the form, and one or more probability estimation parameters, i.e., index values ​​q i This includes the encoded representation of the same thing.

[0221] As shown in the figure, the encoded representation in the form of encoded bitstream 202 has a separate probability estimation parameter, namely the index value q. i This may include separate coded representations of these index values ​​q (shown here as an example for i=1, 2, and 3). i q can be associated with different neural network parameters, e.g., q1->r1, q2->r2, ... Alternatively, or in addition, as shown in the figure, a separate probability estimation parameter q i different context models c qi This can be associated with different layers of the neural network. Another optional feature is that separate probability estimation parameters can be associated with different layers of the neural network.

[0222] Figure 6 shows a schematic block diagram of a method according to an embodiment of the present invention. Figure 6 shows methods 600 and 700 for decoding the weight parameters of a neural network. Methods 600 and 700 encode multiple neural network parameters, for example, components w of the neural network matrix W, based on an encoded bitstream. i , b, μ, σ 2Methods 600, 700 include obtaining at least one of σ, γ, and / or β (610, 710) and decoding the neural network parameters of the neural network, e.g., its quantized version, using context-dependent arithmetic decoding, e.g., using context-adaptive binary arithmetic decoding (CABAC) (620, 720). Optionally, the probabilities of the bin values ​​are determined for different contexts, e.g., each bin is associated with a context. Methods 600, 700 include obtaining one or more probability estimation parameters, e.g., probability estimator parameters, e.g., N, a i k , b i k a k d i k , A, m i k , n i k ,sh i k initVal i k Using, for example, one or more previously decoded neural network parameters or their bins, for arithmetic decoding of bins of the numerical representation of neural network parameters, for example, a probability estimate that can be associated with the context, e.g., P(t) or p k This further includes obtaining (630, 730).

[0223] Method 600 involves using different probability estimation parameter values ​​for decoding different neural network parameters (640), and / or different context models, e.g., c k This further includes using different probability estimation parameter values ​​for decoding the bin associated with the bin.

[0224] On the other hand, method 700 further includes using different probability-estimated parameter values ​​for decoding neural network parameters associated with different layers of the neural network (740).

[0225] Further embodiments and aspects Further embodiments are disclosed below, including aspects and features that may be incorporated into any of the embodiments described above.

[0226] Efficient representation of parameters (examples, details are optional) Parameters W, b, μ, σ 2 γ, and β are collectively referred to as layer parameters or layer parameters. They typically need to be signaled in the bitstream (for example, in the encoded video representation when a neural network is used in a video decoder). For example, they can be represented as 32-bit floating-point numbers or quantized to integer representations, also known as quantization indices. Note that ε is typically not signaled in the bitstream.

[0227] For example, a particularly efficient method for encoding such parameters employs a uniform reconstruction quantizer (URQ), where each value is represented as an integer multiple of the so-called quantization step size. The corresponding floating-point number can be reconstructed, for example, by multiplying an integer by the quantization step size, which is usually (but not always) a single floating-point number. However, in efficient embodiments for neural network inference, for example (i.e., computing the output of a neural network for a given input), integer arithmetic is employed whenever possible. Therefore, requiring the reconstruction of parameters into floating-point representation may not always be desirable.

[0228] Another efficient method for encoding parameters involves applying a set of quantizers, where each value is represented, for example, as an integer multiple of the quantization step size value. Typically, each quantizer in the set uses a disparate set of integer multiples of the quantization step size parameter as applicable reconstruction values, although two or more quantizers may share one or more reconstruction values. The applied quantizer depends, for example, on the value of the previous quantization index in the encoding order. The corresponding floating-point number can be reconstructed, for example, by multiplying an integer by the quantization step size, which is typically a floating-point number that depends, for example, on the selected quantizer. An example of such a quantizer design is trellis coding quantization (TCQ), also known as dependent quantization (DQ).

[0229] In a preferred embodiment, a set of two quantizers is used. The first quantizer uses, for example, all even multiples of the quantization step size, including 0, and the second quantizer uses all even multiples of the quantization step size, including 0.

[0230] Entropy coding and probability estimation (examples and details are optional) For example, the quantized index output by a quantization method is entropy-encoded using an appropriate entropy encoding method.

[0231] A particularly suitable entropy coding method for encoding such quantized indices is context-based adaptive binary arithmetic coding, also known as CABAC. This decomposes each quantized index into, for example, a sequence of binary decisions, or so-called bins. Typically, each bin is associated with a probabilistic model, also called a context model, which models the statistics of the associated bins using, for example, a probabilistic estimation method.

[0232] A probability estimator is a device that models the probability P(t) that a bin is equal to x, based on pre-encoded bins associated with the probability estimator, where x ∈ {0, 1}.

[0233] For example, a probability estimator has a set of parameters called probability estimator parameters or estimator parameters (or probability estimation parameters), which affect the probability estimate, such as the adaptive rate. Typically, these estimator parameters are selected globally, for example, depending on the adaptive scenario, such as the encoding of neural network parameters. Thus, for example, in neural network encoding, each neural network parameter applies the same set of estimator parameters.

[0234] However, it has been found that compression efficiency can be improved by selecting estimator parameters that are optimized for the current neural network parameters. Therefore, in one embodiment, the basic idea is to select appropriate estimator parameters from a set of parameters, and then signal these estimator parameters to the decoder.

[0235] Typical estimator design (example; details are arbitrary) First, we will describe a typical estimator design applied to neural network compression.

[0236] For example, each context model c k Regarding one or more state variables s1 k ,...,s N k This is maintained at N≧1. Each state variable s i k For example, it is implemented as a signed integer value, for example, a probability value P(s) i k ,i,k)=p i k This represents the context model c. k Probability estimate p k For example, p is the probability value of all state variables in a context model. i k It is defined as a weighted sum of .

[0237] The state variables preferably have the following characteristics, but are not necessarily required to do so. 1.s i k If = 0, p i k = 0.5. 2.s i k A larger value of is a larger p i k It corresponds to. 3. P(-s i k ,i,k)=1-P(s i k ,i,k).

[0238] Therefore, a negative state variable is, for example, p i k It can handle values ​​<0.5. Generally, it is possible to specify a different function P(·) for each state variable in each context model.

[0239] Example of a configuration for associating state variables with probability values ​​(example; details are optional) There are many useful ways to associate state variables with probability values, i.e., to implement P(·). For example, the state representation used in neural network compression can be achieved by the following equation.

number

[0240] For example, two states (N=2, s1 k s2 k To achieve a configuration comparable to that used in the current draft of the MPEG-7 Part 17 standard for neural network compression for multimedia content description and analysis, α ≈ 0.99894079 and β1 for all k, ) is used. k =16 and β2 kSet =1.

[0241] This exemplary configuration provides some insight into how state variables can be defined. Generally, P(·) does not need to be defined because it is not used directly, but a definition of P(·) is also necessary, as seen below. Rather, it often stems from the actual embodiments of the individual parts.

[0242] Initialization of state variables (example; details are optional). Before encoding or decoding the first symbol using the context model, all state variables are initVal i k It is initialized with the same value shown, which can optionally be optimized for, for example, compression applications.

[0243] Deriving probability estimates from state variables (example; details are optional). For symbol encoding or decoding, probability estimates are derived from the state variables of the context model. As an example, three alternative methods are presented below. Method 1 yields more accurate results than Methods 2 and 3, but it is also more computationally complex.

[0244] Method 1 (Example) This method consists of two steps. First, each state variable s of the context model... i k p is the probability value i k It is converted to the probability estimate p. k However, the probability value p i k It is derived as a weighted sum.

[0245] Step 1: The lookup table LUT1, for example, follows equation (1), and the state variable s i k The corresponding probability value p i k Used to convert to

number

[0246] Step 2: Probability estimate p k For example, the probability value p follows the following equation. i k It is derived from this.

number

[0247] Method 2 (Example) An alternative method for deriving probability estimates from state variables is shown below. This method yields less accurate results but is less computationally complex. First, the weighted sum s of the state variables is... k However, it can be derived, for example, according to the following equation.

number

[0248] Next, the probability estimate p k is the state variable s k From the weighted sum, it can be derived, for example, according to the following equation.

number

[0249] Method 3 (Example) Here is yet another method for deriving probability estimates from state variables. First, the weighted sum s of the state variables k This is derived, for example, as in Method 2. Next, the probability estimate p k is the state variable s k From the weighted sum, it can be derived, for example, according to the following equation.

number

[0250] Method 4 (Example) Further methods employ a linear relationship between state values ​​and probabilities P(x,i,k). The derivation of probability estimates can be done, for example, using the method in equation (2). An example of method 4 is the probability estimation scheme used in the current draft of General-Purpose Video Coding (VVC).

[0251] For example, to achieve the configuration used in the current draft of the MPEG-7 Part 17 standard for neural network compression for describing and analyzing multimedia content, Method 3 is used, for example, for all k, d1 k =16, d2 k =1, and a k =2 -7 It is used with [this method]. A lookup table containing probability estimates is, for example, as follows:

[0252] LUT2={0.5000,0.4087,0.3568,0.3116,0.2721,0.2375,0.2074,0.1811, 0.1581,0.1381,0.1206,0.1053,0.0919,0.0803,0.0701,0.0612, 0.0534,0.0466,0.0407,0.0356,0.0310,0.0271,0.0237,0.0207, 0.0180,0.0158,0.0138,0.0120,0.0105,0.0092,0.0080,0.0070}

[0253] Updating state variables (example; details are optional) After the encoding or decoding of symbols, one or more state variables in the context model may be updated to track the statistical behavior of the symbol sequence.

[0254] Updates can also be done, for example, as follows:

number

number

[0255] The values ​​in lookup table A are, for example, s i k It can be selected so that it remains within a specific given interval. Typically, the value of lookup A approximates, for example, an update function. Alternatively, it is also possible to simply use the relevant update function for state updates, for example.

[0256] For example, the VVC estimation method according to Method 4 applies an update function for state updates and uses bit shifts, which determine, for example, the "agility" of the updates. This corresponds, for example, to the adaptive parameters described above. The present invention (see below) can be applied to them as well.

[0257] For example, to achieve the configuration used in the current draft of the MPEG-7 Part 17 standard for neural network compression for describing and analyzing multimedia content, the parameters are, for example, m1 for all k. k =2 -3 , m2 k =2 -7 and n1 k =2 -1 n2 k The selection is made such that =1 and z=16. Lookup table A is, for example, A={157,143,129,115,101,87,73,59,45,35,29,23,17,13,9,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0}.

[0258] Before encoding the symbol, s1 k For example, let's assume that it is initialized with the value of interval [-127, 127], and s2 k Let's assume that it is initialized with a value of the interval [-2047, 2047]. As a result, s1 k This can be implemented, for example, with an 8-bit signed integer value, s2 k This can be implemented, for example, using a 12-bit signed integer.

[0259] Aspects of the present invention (details are optional) Below, the parameters, namely N and a, are discussed. i k , b i k a k d i k , A, m i k , n i k ,sh i k initVal i k , and any other parameters related to the probability estimator (context model), shall be collectively referred to as probability estimator parameters or estimator parameters (or probability estimation parameters).

[0260] Typically, for each estimator parameter, one fixed instance is selected for the entire network from the base set of probability estimator parameters. The values ​​of the base set can be N sets of estimator parameters, depending on the number of states N applied. According to one aspect of the present invention, probability estimation, and therefore compression efficiency, is achieved, for example, when the parameters are layers (i.e., W, b, μ, σ). 2 , γ, and β) and / or context model c k This can be improved when each parameter or a subset of parameters is selected individually.

[0261] The estimator parameters used are determined, for example, from the parameters of a set of parameters, which can be, for example, the base set or any subset thereof. Each parameter in this set can be associated, for example, with an integer index q. For example, one parameter in the set may be designated as a default parameter. Typically, the default parameter is associated with an integer index equal to, for example, 0. The indices associated with the selected estimator parameters are then signaled, for example, to a decoder.

[0262] Encoding scheme (example; details are optional) The encoded index q ∈ [0, q MAX The bins can be decomposed, for example, into a sequence of bins, and then the sequence of bins can be encoded. Each bin may be encoded, for example, using a context model or using fixed probabilities.

[0263] The encoding procedure can follow one of the following methods, for example:

[0264] 1. The first bin, e.g., useNotDefault, indicates whether the selected estimator parameter is different from the default parameter (e.g., useNotDefault=1) or (e.g., useNotDefault=0). For example, if useNotDefault=0, the default parameter is selected and no further bins are encoded. For example, as long as useNotDefault=1, the sequence of bins is encoded, which represents, for example, the index of the selected parameter minus 1 (q-1), indexMinusOne. The number of bins encoded for the index is, for example,

number

[0265] 2. In the second step, unary codes are used. The first bin, for example greaterThan_0, indicates whether the index q related to the probability parameter is greater than 0 (e.g., greaterThan_0=1) or not (e.g., greaterThan_0=0). For example, if greaterThan_0=0, no further bins are coded. For example, if greaterThan_0=1, another bin is coded (e.g., greaterThan_1), which indicates whether the index q is greater than 1 (e.g., greaterThan_1=1) or not (e.g., greaterThan_1=0). For example, if greaterThan_1=0, no further bins are coded. For example, if greaterThan_1=0, further bins (greaterThan_X) are coded similarly until the flag greaterThan_q equals 0.

[0266] 3. This procedure is used, for example, when the index for encoding q is q MAX Apply a shortened unary code that is identical to the unary code used in encoding method 2, except when it is equal to . In this case, for example, bin greaterThan_(q MAXAfter encoding -1), further bins are not encoded. For example, on the decoder side, greaterThan_(q MAX If -1) is equal to 1, then the value of q is q MAX It is inferred that this is the case.

[0267] 4. This procedure uses a variable-length code, such as a Huffman code, in which the code length is selected according to the probability of symbol occurrence.

[0268] Preferred Embodiments (Examples; details are optional) In a preferred embodiment, the estimator uses, for example, N sets of adaptive parameters sh i k The base set of adaptive parameters is applied. Next, a subset of the base set is selected. One parameter from the subset is signaled.

[0269] In a particularly preferred embodiment, the configuration is, for example, the same as in the previous preferred embodiment, but an estimator is used that is identical to the estimator used in the current draft of the MPEG-7 Part 17 standard for neural network compression for describing and analyzing multimedia content, and the base set is, for example, (sh1 k ,sh2 k This includes the following 28 pairs.

[0270] [Table 9]

[0271] A subset of size 3 is defined and ordered such that, for example, when all parameters of a sheath are quantized by DQ, an index q is assigned according to Table 2. Parameters with index q=0 are shown, for example, as default parameters.

[0272] [Table 10]

[0273] For example, one parameter of a subset is signaled by encoding q according to encoding scheme 1, where, for example, the bin useNotDefault is encoded using a context model, and all other bins are encoded with a fixed length of 1 bit per bin.

[0274] In another preferred embodiment (example), the configuration is identical to the previous preferred embodiment, except that the size of the assigned adaptive parameter pairs and the selected subset (Table 3) is equal to 5.

[0275] [Table 11]

[0276] In another preferred embodiment (example), the configuration is identical to that of the previous preferred embodiment, except for the assigned pairs of adaptive parameters (Table 4).

[0277] [Table 12]

[0278] In another preferred embodiment (example), the configuration is identical to the previous preferred embodiment, except that the size of the assigned adaptive parameter pairs and the selected subset (Table 5) is equal to 9.

[0279] [Table 13]

[0280] In another preferred embodiment (example), the configuration is identical to that of the previous preferred embodiment, except for the assigned pairs of adaptive parameters (Table 6).

[0281] [Table 14]

[0282] In another preferred embodiment (example), the configuration is identical to that of the previous preferred embodiment, except for the assigned pairs of adaptive parameters (Table 7), the size of the selected subset (5), and the quantization method used with URQ.

[0283] [Table 15]

[0284] In another preferred embodiment (example), an estimator is used that is identical to the estimator used in the current draft of the MPEG-7 Part 17 standard for neural network compression for describing and analyzing multimedia content, and the base set in Table 1 is used. This is referred to as the base configuration.

[0285] Whenever sheaf parameters are quantized using DQ, a subset of parameter pairs (of size 9) from Table 5 is applied. When sheaf parameters are quantized using URQ, a subset from Table 8 is used.

[0286] [Table 16]

[0287] In another preferred embodiment (example), the basic configuration of the previous preferred embodiment is applied.

[0288] Whenever the number of elements in a sheath parameter is below a threshold X, which can be set to, for example, X=1000, the subset of parameter pairs with size 3, shown as the first subset in Table 2, is used. Otherwise, if the number of elements in a sheath parameter is greater than or equal to the threshold X, the subset with size 9, shown as the second subset in Table 5, is used.

[0289] In another preferred embodiment (example), the configuration is identical to the previous preferred embodiment, but instead of using a threshold, a flag (e.g., useSecondSubset) is encoded, which determines, for example, which subset to use. For example, if the flag is equal to 0, the first subset is used. If the flag is equal to 1, the second subset is used.

[0290] Alternative embodiments: While some embodiments have been described in the context of apparatus, it is clear that these embodiments also represent descriptions of corresponding methods, where blocks or devices correspond to method steps or features of method steps. Similarly, embodiments described in the context of method steps also represent descriptions of corresponding blocks, items, or features of the corresponding apparatus. Some or all of the method steps may be performed by (or using) hardware devices such as, for example, a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the most important method steps may be performed by such devices.

[0291] Depending on certain implementation requirements, embodiments of the present invention can be implemented in hardware or software. The embodiments can be implemented using a digital storage medium, such as a floppy disk, DVD, Blu-ray®, CD, ROM, PROM, EPROM, EEPROM, or flash memory, which stores electronically readable control signals that cooperate (or can cooperate) with a programmable computer system to perform each method. Therefore, the digital storage medium may be computer-readable.

[0292] Some embodiments of the present invention include a data carrier having an electronically readable control signal, the electronically readable control signal being able to cooperate with a programmable computer system so that one of the methods described herein is performed.

[0293] In general, embodiments of the present invention can be implemented as a computer program product having program code, the program code operable to perform one of the methods when the computer program product runs on a computer. The program code may be stored, for example, in a machine-readable carrier.

[0294] Other embodiments include a computer program stored on a machine-readable carrier that performs one of the methods described herein.

[0295] Therefore, in other words, one embodiment of the method of the present invention is a computer program having program code that performs one of the methods described herein when the computer program is running on a computer.

[0296] Accordingly, a further embodiment of the method of the present invention is a data carrier (or digital storage medium, or computer-readable medium) on which a computer program performing one of the methods described herein is recorded. The data carrier, digital storage medium, or recorded medium is typically tangible and / or non-temporary.

[0297] Therefore, a further embodiment of the method of the present invention is a data stream or sequence of signals representing a computer program that performs one of the methods described herein. The data stream or sequence of signals may be configured to be transmitted, for example, over a data communication connection, such as the Internet.

[0298] Further embodiments include processing means configured or adapted to perform one of the methods described herein, such as a computer or a programmable logic device.

[0299] Further embodiments include a computer on which a computer program is installed that performs one of the methods described herein.

[0300] Further embodiments of the present invention include an apparatus or system configured to transfer (e.g., electronically or optically) a computer program that performs one of the methods described herein to a receiver. The receiver may be, for example, a computer, a mobile device, a memory device, etc. The apparatus or system may include, for example, a file server for transferring the computer program to the receiver.

[0301] In some embodiments, a programmable logic device (e.g., a field-programmable gate array) may be used to perform some or all of the functionality of the methods described herein. In some embodiments, the field-programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. Generally, the methods are preferably performed by any hardware device.

[0302] The apparatus described herein may be implemented using hardware devices, or using a computer, or using a combination of hardware devices and a computer.

[0303] The apparatus described herein, or any component of the apparatus described herein, may be implemented at least in part in hardware and / or software.

[0304] The methods described herein may be performed using hardware devices, or using a computer, or using a combination of hardware devices and a computer.

[0305] Any method or apparatus described herein can be performed at least partially by hardware and / or software.

[0306] It should be noted that any embodiment as defined by the claims may be supplemented by any of the details (features and functions) described herein.

[0307] Furthermore, the embodiments described herein can be used individually and may be complemented by any of the features included in the claims.

[0308] Furthermore, it should be noted that the individual embodiments described herein can be used individually or in combination. Therefore, details can be added to each of the individual embodiments without adding details to another one of the embodiments.

[0309] It should also be noted that this disclosure generally expresses, or implicitly, features that can be used in video encoders (devices for providing an encoded representation of an input video signal) and video decoders (devices for providing a decoded representation of a video signal based on an encoded representation), as well as in audio encoders and audio decoders. Accordingly, any of the features described herein can be used in the context of a video encoder, a video decoder, an audio encoder, and an audio decoder.

[0310] Furthermore, the features and functions disclosed herein with respect to methods may also be used in apparatus (configured to perform such functions). Furthermore, any features and functions disclosed herein with respect to apparatus may also be used in the corresponding methods. In other words, the methods disclosed herein may be complemented by any of the features and functions described with respect to apparatus.

[0311] Furthermore, any of the features and functions described herein may be implemented in hardware, software, or a combination of hardware and software, as described in the section “Alternative Embodiments.”

[0312] Furthermore, any of the features and syntax elements described herein can be introduced into a video bitstream, either individually or in combination, at their discretion.

[0313] Furthermore, it should be noted that all features, functions, and details described in the context of encoders or encoding can optionally be used in the context of decoders or decoding. For example, context derivation in a decoder may be similar to context derivation in an encoder, and the decoded value may play the role of the encoded value. Typically, a decoder is designed to maintain synchronization between the encoder and decoder, with the context used in the decoder corresponding to the context used in the encoder.

[0314] The embodiments described herein are merely illustrative of the principles of the present invention. It will be understood that modifications and variations of the configurations and details described herein will be obvious to those skilled in the art. Therefore, it is intended that the invention is limited only by the appended claims and not by the specific details presented in the description and explanation of the embodiments herein.

Claims

1. A decoder (200) for decoding the weight parameters of a neural network, The decoder (200) is configured to obtain a plurality of neural network parameters (204) of the neural network based on the encoded bitstream (202), The decoder (200) is configured to decode the neural network parameters of the neural network using context-dependent arithmetic decoding, The decoder (200) is configured to obtain a probability estimate for decoding the bins of the numerical representation of the neural network parameters using one or more probability estimation parameters. The probability estimation parameters affect the adaptation rate of the probability estimates in the context-dependent arithmetic decoding. The decoder (200) is configured to use different probability-estimated parameter values ​​(230) for decoding different neural network parameters, and / or to use different probability-estimated parameter values ​​(230) for decoding bins associated with different context models. Decoder.

2. A decoder (200) for decoding the weight parameters of a neural network, The decoder (200) is configured to obtain a plurality of neural network parameters (204) of the neural network based on the encoded bitstream (202), The decoder (200) is configured to decode the neural network parameters of the neural network using context-dependent arithmetic decoding, The decoder (200) is configured to obtain a probability estimate for decoding the bins of the numerical representation of the neural network parameters using one or more probability estimation parameters. The probability estimation parameters affect the adaptation rate of the probability estimates in the context-dependent arithmetic decoding. The decoder (200) is configured to use different probability estimation parameter values ​​(230) for decoding neural network parameters associated with different layers of the neural network. Decoder.

3. A decoder (200) according to either claim 1 or 2, The decoder (200) is configured to use different probability estimation parameter values ​​(230) for adapting the context of decoding different neural network parameters, and / or The decoder (200) is configured to use different probability estimation parameter values ​​(230) for decoding bins associated with different context models, and / or The decoder (200) is configured to use different probability-estimating parameter values ​​(230) for adapting the context of decoding neural network parameters associated with different layers of the neural network. Decoder.

4. A decoder (200) according to any one of claims 1 to 3, The decoder (200) is derived from the base set (300) Alternatively, it is configured to select one or more probability estimation parameters from a true subset (310, 320, 410, 412, 414, 420) of the base set. Decoder.

5. A decoder (200) according to any one of claims 1 to 4, The decoder (200) is configured to select one or more probability estimation parameters from a different set (410, 412, 414) of available parameter values ​​or available tuples (430, 440) of parameter values, depending on the quantization mode, or The decoder (200) is configured to use different mapping rules (450, 460) that map encoded values ​​representing one or more probability estimation parameters to one or more probability estimation parameters, depending on the quantization mode. Decoder.

6. A decoder (200) according to any one of claims 1 to 5, The decoder (200) is configured to extract and select one or more probability estimation parameters from a first set of available parameter values ​​(410, 412) or from a first set of available tuples (430) of parameter values ​​when uniform quantization of one or more probability estimation parameters is used. The decoder (200) is configured to extract and select one or more probability estimation parameters from a second set of available parameter values ​​(420, 414) or from a second set of available tuples (440) of parameter values ​​when variable quantization of one or more probability estimation parameters is used, or The decoder (200) is configured to use a first mapping rule (460) that maps coded values ​​representing one or more probability estimation parameters to the one or more probability estimation parameters when uniform quantization of one or more probability estimation parameters is used. The decoder (200) is configured to use a second mapping rule (450) that maps coded values ​​representing one or more probability estimation parameters to the one or more probability estimation parameters when variable quantization of one or more probability estimation parameters is used. The first set of available parameter values ​​(410, 412) differs from the second set of available parameter values ​​(414, 420), The first set (430) of available tuples of parameter values ​​is different from the second set (440) of available tuples of parameter values, and / or The second mapping rule (450) is different from the first mapping rule (450). Decoder.

7. The decoder (200) according to claim 6, On average, the available parameter values ​​in the second set of available parameter values ​​(414, 420) allow for faster adaptation of probability estimates than the available parameter values ​​in the first set of available parameter values, or On average, the available tuples of parameter values ​​in the second set (440) of available tuples of parameter values ​​allow for faster adaptation of probability estimates than the available tuples of parameter values ​​in the first set (430) of available tuples of parameter values. Decoder.

8. A decoder (200) according to claim 6 or 7, The second set of available parameter values ​​(414, 420) includes available parameter values ​​that enable the adaptation of a faster probability estimate than the available parameter values ​​in the first set of available parameter values ​​(410, 412), or The second set (440) of available tuples of parameter values ​​includes tuples of parameter values ​​that enable faster adaptation of probability estimates than the tuples of parameter values ​​in the first set (430) of available tuples of parameter values. Decoder.

9. A decoder (200) according to any one of claims 1 to 8, The decoder (200) is configured to select one or more probability estimation parameters, depending on the number of parameters in the layer of the neural network, or the number of neural network parameters to be decoded using the selected one or more probability estimation parameters, or the number of elements in the layer parameters, by selecting from different sets (410, 412, 414, 420) of available parameter values ​​or available tuples (430, 440) of parameter values, or The decoder (200) is configured to use different mapping rules (450, 460) that map encoded values ​​representing one or more probability estimate parameters to one or more probability estimate parameters, depending on the number of parameters in the layer of the neural network, or the number of neural network parameters to be decoded using the selected one or more probability estimate parameters, or the number of elements in the layer parameters. Decoder.

10. A decoder (200) according to claim 9, The decoder (200) is configured to select one or more probability estimation parameters, and if the number of parameters of the layer of the neural network falls below a threshold, or if the number of neural network parameters to be decoded using the selected one or more probability estimation parameters falls below a threshold, or if the number of elements of the layer parameters falls below a threshold, it selects from a first set of available parameter values ​​(410, 412) or from a first set of available tuples (430) of parameter values. The decoder (200) is configured to select one or more probability estimation parameters from a second set of available parameter values ​​(414, 420) or from a second set of available tuples (440) of parameter values ​​if the number of parameters of the layer of the neural network exceeds the threshold, or if the number of neural network parameters to be decoded using the selected one or more probability estimation parameters exceeds the threshold, or if the number of elements of the layer parameters exceeds the threshold, or The decoder (200) is configured to use an excerpt of a first mapping rule (460) that maps coded values ​​representing one or more probability estimation parameters to one or more probability estimation parameters if the number of parameters of the layer of the neural network is below a threshold, or if the number of neural network parameters to be decoded using the selected one or more probability estimation parameters is below a threshold, The decoder (200) is configured to use an excerpt of a second mapping rule (450) that maps encoded values ​​representing one or more probability estimate parameters to one or more probability estimate parameters if the number of parameters of the layer of the neural network exceeds the threshold, or if the number of neural network parameters to be decoded using the selected one or more probability estimate parameters exceeds the threshold, or if the number of elements of the layer parameters exceeds the threshold. The second set of available parameter values ​​(414, 420) includes more available parameter values ​​than the first set of available parameter values ​​(410, 412), the second set of available tuples of parameter values ​​(440) includes more available tuples than the first set of available tuples of parameter values ​​(430), and / or The second mapping rule (450) is different from the first mapping rule (450). Decoder.

11. A decoder (200) according to any one of claims 1 to 10, The decoder (200) is configured to select one or more probability estimation parameters, and if the number of neural network parameters to be decoded using the selected one or more probability estimation parameters is greater than or equal to a threshold, to select from an increased number of options. Decoder.

12. A decoder (200) according to any one of claims 1 to 11, The decoder (200) is configured to evaluate the signaling from which set of available parameter values ​​or which set of available tuples of parameter values ​​the one or more probability estimation parameters are selected from, or The decoder (200) is configured to evaluate a signaling instruction to determine which of a plurality of mapping rules should be used to map an encoded value representing one or more probability estimation parameters to one or more probability estimation parameters. Decoder.

13. A decoder (200) according to any one of claims 1 to 12, The decoder (200) is configured to decode one or more index values ​​that describe a probability estimation parameter value, or a plurality of probability estimation parameter values ​​(230), or a tuple of probability estimation parameter values ​​(230). Decoder.

14. A decoder (200) according to claim 13, wherein the decoder (200) is configured to decode one or more index values ​​using one or more context models. Decoder.

15. A decoder (200) according to claim 13 or 14, The decoder (200) is configured to decode a first bin that describes whether the index value currently under consideration takes a default value, The decoder (200) is configured to extract and decode one or more additional bins representing the currently considered index value or a value derived from the currently considered index value in binary form, if the currently considered index value does not take the default value. Decoder.

16. A decoder (200) according to claim 13 or 14, The decoder (200) is configured to decode one or more index values ​​using unary code decoding, or using abbreviated unary code decoding, or using variable-length code decoding. Decoder.

17. A decoder (200) according to any one of claims 1 to 16, The decoder (200) is configured to change the number of bins or the maximum number of bins used to decode the one or more probability estimation parameters, depending on the quantization mode used to quantize the one or more probability estimation parameters. Decoder.

18. A decoder (200) according to any one of claims 1 to 17, The decoder (200) is configured to change the number of bins or the maximum number of bins used to decode the one or more probability estimation parameters, depending on the number of parameters in the layer of the neural network, or the number of neural network parameters to be decoded using the one or more probability estimation parameters, or the number of elements in the layer parameters. Decoder.

19. A decoder (200) according to any one of claims 1 to 18, The decoder (200) is configured to switch between different sets of available parameter values ​​(410, 412, 414, 420) associated with one or more probability estimation parameters, or between different sets of tuples (430, 440) of available parameter values ​​associated with multiple probability estimation parameters, or between different mapping rules (450, 460) that map encoded values ​​representing one or more probability estimation parameters to one or more probability estimation parameters. Decoder.

20. A decoder (200) according to claim 19, The decoder (200) is configured to change the number of bins or the maximum number of bins used to decode the one or more probabilistic parameters that specify the selected probabilistic parameters or the selected tuple of probabilistic parameters, according to switching between different sets of available parameter values ​​(410, 412, 414, 420) associated with one or more probabilistic parameters, or different sets of tuples (430, 440) of available parameter values ​​associated with multiple probabilistic parameters, or different mapping rules (450, 460). Decoder.

21. A decoder (200) according to any one of claims 1 to 20, The decoder (200) is configured to determine one or more state variables and to derive the probability estimate using the one or more state variables. Decoder.

22. A decoder (200) according to any one of claims 1 to 21, The decoder (200) is [Math 1] and [Math 2] According to this, two state variables s 1 k s 2 k From the probability estimate p k A decoder configured to derive the following.

23. The decoder (200) according to claim 22, The decoder (200) is [Math 3] in accordance with the state variable s 1 k , s 2 k configured to update In the formula, m i k and n i k This is the weighting coefficient, A is a lookup table, z is the offset value. Decoder.

24. A decoder (200) according to claim 23, The decoder (200) uses different probability estimate parameter values ​​(230) for decoding different neural network parameters, and / or different probability estimate parameter values ​​(230) for decoding bins associated with different context models, and / or different probability estimate parameter values ​​(230) for decoding neural network parameters associated with different layers of the neural network, the weight coefficient n i k It is configured to change Decoder.

25. A decoder (200) according to claim 23 or 24, The weight coefficient n i k and adaptive parameter sh i k The relationship between them is, [Math 4] Defined according to, Decoder.

26. The decoder (200) according to claim 25, The decoder (200) is configured to decode information describing the adaptive parameters. Decoder.

27. An encoder for encoding the weight parameters of a neural network, The encoder is configured to acquire multiple neural network parameters of the neural network. The encoder is configured to encode the neural network parameters of the neural network using context-dependent arithmetic coding. The encoder is configured to obtain a probability estimate for encoding the bins of the numerical representation of the neural network parameters using one or more probability estimation parameters. The probability estimation parameters affect the adaptation rate of the probability estimates of the context-dependent arithmetic coding. The encoder is configured to use different probability-estimated parameter values ​​(230) for encoding different neural network parameters, and / or to use different probability-estimated parameter values ​​(230) for encoding bins associated with different context models. encoder.

28. An encoder for encoding the weight parameters of a neural network, The encoder is configured to acquire multiple neural network parameters of the neural network. The encoder is configured to encode the neural network parameters of the neural network using context-dependent arithmetic coding. The encoder is configured to obtain a probability estimate for encoding the bins of the numerical representation of the neural network parameters using one or more probability estimation parameters. The probability estimation parameters affect the adaptation rate of the probability estimates of the context-dependent arithmetic coding. The encoder is configured to use different probability estimation parameter values ​​(230) for encoding neural network parameters associated with different layers of the neural network. encoder.

29. An encoder according to any one of claims 27 or 28, The encoder is configured to use different probability estimation parameter values ​​(230) for adapting the context of encoding different neural network parameters, and / or The encoder is configured to use different probability estimation parameter values ​​(230) for encoding bins associated with different context models, and / or The encoder is configured to use different probabilistic parameter values ​​(230) for adapting the context of encoding neural network parameters associated with different layers of the neural network. encoder.

30. The encoder according to any one of claims 27 to 29, wherein the encoder is configured to select one or more probability estimation parameters from a base set (300) or from a true subset of the base set (310, 320, 410, 412, 414, 420).

31. The encoder according to any one of claims 27 to 30, wherein the encoder is configured to select one or more probabilistic estimation parameters from available parameter values ​​or different sets (410, 412, 414) of available tuples (430, 440) of parameter values, depending on the quantization mode.

32. The encoder is configured to select one or more probability estimation parameters from a first set of available parameter values ​​(410, 412) or from a first set of available tuples (430) when uniform quantization of one or more probability estimation parameters is used. The encoder is configured to select one or more probability estimation parameters from a second set of available parameter values ​​(414, 420) or from a second set of available tuples (440) of parameter values ​​when variable quantization of one or more probability estimation parameters is used. The first set of available parameter values ​​(410, 412) differs from the second set of available parameter values ​​(414, 420), The first set (430) of available tuples of parameter values ​​is different from the second set (440) of available tuples of parameter values. The encoder according to any one of claims 27 to 31.

33. On average, the available parameter values ​​in the second set of available parameter values ​​(414, 420) allow for faster adaptation of probability estimates than the available parameter values ​​in the first set of available parameter values ​​(410, 412), or On average, the available tuples of parameter values ​​in the second set (440) of available tuples of parameter values ​​allow for faster adaptation of probability estimates than the available tuples of parameter values ​​in the first set (430) of available tuples of parameter values. The encoder according to claim 32.

34. The second set of available parameter values ​​(414, 420) includes available parameter values ​​that enable the adaptation of a faster probability estimate than the available parameter values ​​in the first set of available parameter values ​​(410, 412), or The second set (440) of available tuples of parameter values ​​includes tuples of parameter values ​​that enable faster adaptation of probability estimates than the tuples of parameter values ​​in the first set (430) of available tuples of parameter values. The encoder according to claim 32 or 33.

35. The encoder according to any one of claims 27 to 34, wherein the encoder is configured to select one or more probability estimation parameters, depending on the number of parameters in the layer of the neural network, or the number of neural network parameters encoded using the selected one or more probability estimation parameters, or the number of elements in the layer parameters, from a different set of available parameter values ​​or available tuples of parameter values ​​(410, 412, 414, 420).

36. The encoder is configured to select one or more probability estimation parameters, and if the number of parameters in the layer of the neural network falls below a threshold, or if the number of neural network parameters encoded using the selected one or more probability estimation parameters falls below a threshold, or if the number of elements in the layer parameters falls below a threshold, it selects from a first set of available parameter values ​​(410, 412) or from a first set of available tuples (430) of parameter values. The encoder is configured to select one or more probability estimation parameters, and if the number of parameters in the layer of the neural network exceeds the threshold, or if the number of neural network parameters encoded using the selected one or more probability estimation parameters exceeds the threshold, or if the number of elements in the layer parameters exceeds the threshold, it selects from a second set of available parameter values ​​(414, 420) or from a second set of available tuples (440) of parameter values. The second set of available parameter values ​​(414, 420) includes more available parameter values ​​than the first set of available parameter values ​​(410, 412), and the second set of available tuples of parameter values ​​(440) includes more available tuples than the first set of available tuples of parameter values ​​(430). The encoder according to claim 35.

37. The encoder according to any one of claims 27 to 36, wherein the encoder is configured to select one or more probability estimation parameters, and if the number of neural network parameters to be encoded using the selected one or more probability estimation parameters is greater than or equal to a threshold, to select from an increased number of options.

38. The encoder according to any one of claims 27 to 37, wherein the encoder is configured to signal which set of available parameter values ​​(410, 412, 414, 420) or which set of available tuples (430, 440) of parameter values ​​the one or more probability estimation parameters are selected from.

39. The encoder according to any one of claims 27 to 38, wherein the encoder is configured to encode one or more index values ​​that describe a probability estimation parameter value, or a plurality of probability estimation parameter values ​​(230), or a tuple of probability estimation parameter values ​​(230).

40. The encoder according to claim 39, wherein the encoder is configured to encode the one or more index values ​​using one or more context models.

41. The encoder is configured to encode the currently considered index value using a first bin that describes the currently considered index value taking the default value, if the currently considered index value takes the default value. The encoder is configured to encode the currently considered index value using a first bin that describes the currently considered index value not taking the default value, and using one or more additional bins that represent the currently considered index value or a value derived from the currently considered index value in binary form, if the currently considered index value does not take the default value. The encoder according to claim 39 or 40.

42. The encoder according to claim 39 or 40, wherein the encoder is configured to encode one or more index values ​​using a unary code, or using a shortened unary code, or using a variable-length code.

43. The encoder according to any one of claims 27 to 42, wherein the encoder is configured to change the number of bins or the maximum number of bins used to encode the one or more probability estimation parameters, depending on the quantization mode used to quantize the one or more probability estimation parameters.

44. The encoder according to any one of claims 27 to 43, wherein the encoder is configured to change the number of bins or the maximum number of bins used to encode the one or more probability estimate parameters, depending on the number of parameters in the layer of the neural network, or depending on the number of neural network parameters encoded using the one or more probability estimate parameters, or depending on the number of elements in the layer parameters.

45. The encoder according to any one of claims 27 to 44, wherein the encoder is configured to switch between different sets of available parameter values ​​(410, 412, 414, 420) associated with one or more probability estimation parameters, or between different sets of tuples (430, 440) of available parameter values ​​associated with multiple probability estimation parameters.

46. The encoder according to claim 45, wherein the encoder is configured to change the number of bins or the maximum number of bins used to encode the one or more probabilistic parameters that specify the selected probabilistic parameters or the selected tuple of probabilistic parameters, according to a switch between different sets of available parameter values ​​(410, 412, 414, 420) associated with the one or more probabilistic parameters, or different sets of tuples (430, 440) of available parameter values ​​associated with the multiple probabilistic parameters.

47. The encoder according to any one of claims 27 to 46, wherein the encoder is configured to determine one or more state variables and to derive the probability estimate using the one or more state variables.

48. The encoder described above, [Math 5] and [Math 6] According to this, two state variables s 1 k s 2 k From the probability estimate p k An encoder according to any one of claims 27 to 47, configured to derive a certain value.

49. The encoder described above, [Number 7] According to the state variable s 1 k s 2 k Configured to update, In the formula, m i k and n i k This is the weighting coefficient, A is a lookup table, z is the offset value. The encoder according to claim 48.

50. The encoder uses different probability estimate parameter values ​​(230) for encoding different neural network parameters, and / or different probability estimate parameter values ​​(230) for encoding bins associated with different context models, and / or different probability estimate parameter values ​​(230) for encoding neural network parameters associated with different layers of the neural network, the weight coefficient n i k The encoder according to claim 49, configured to change the following.

51. The weight coefficient n i k and adaptive parameter sh i k The relationship between them is, [Number 8] Defined according to, The encoder according to claim 49 or 50.

52. The encoder according to claim 51, wherein the encoder is configured to encode information describing adaptive parameters.

53. A method (600) for decoding the weight parameters of a neural network, The method includes obtaining (610) a plurality of neural network parameters (204) of the neural network based on an encoded bitstream (202), The method includes decoding the neural network parameters of the neural network (620) using context-dependent arithmetic decoding. The method includes obtaining a probability estimate for decoding the bins of the numerical representation of the neural network parameters using one or more probability estimation parameters (630), The probability estimation parameters affect the adaptation rate of the probability estimates in the context-dependent arithmetic decoding. The method includes using different probability estimate parameter values ​​(230) for decoding different neural network parameters and / or using different probability estimate parameter values ​​(230) for decoding bins associated with different context models. method.

54. A method (700) for decoding the weight parameters of a neural network, The method includes obtaining (710) a plurality of neural network parameters (204) of the neural network based on an encoded bitstream (202), The method includes decoding the neural network parameters of the neural network (720) using context-dependent arithmetic decoding. The method includes obtaining a probability estimate for decoding the bins of the numerical representation of the neural network parameters using one or more probability estimation parameters (730), The probability estimation parameters affect the adaptation rate of the probability estimates in the context-dependent arithmetic decoding. The method includes using different probability estimate parameter values ​​(230) (740) for decoding neural network parameters associated with different layers of the neural network. method.

55. A method for encoding the weight parameters of a neural network, The method includes obtaining a plurality of neural network parameters (204) of the neural network, The method includes encoding the neural network parameters of the neural network using context-dependent arithmetic coding. The method includes obtaining a probability estimate for encoding the bins of the numerical representation of the neural network parameters using one or more probability estimation parameters. The probability estimation parameters affect the adaptation rate of the probability estimates of the context-dependent arithmetic coding. The method includes using different probability estimate parameter values ​​(230) for coding different neural network parameters, and / or using different probability estimate parameter values ​​(230) for coding bins associated with different context models. method.

56. A method for encoding the weight parameters of a neural network, The method includes obtaining a plurality of neural network parameters of the neural network, The method includes encoding the neural network parameters of the neural network using context-dependent arithmetic coding. The method includes obtaining a probability estimate for encoding the bins of the numerical representation of the neural network parameters using one or more probability estimation parameters. The probability estimation parameters affect the adaptation rate of the probability estimates of the context-dependent arithmetic coding. The method includes using different probability estimation parameter values ​​(230) for encoding neural network parameters associated with different layers of the neural network. method.

57. A computer program that, when the computer program is running on a computer, performs the method described in any one of claims 53 to 56.

58. A storage medium for storing the encoded representation (202) of the weight parameters of a neural network, The encoded representation is a plurality of encoded weight parameters of the neural network, Includes, one or more coded representations of probability estimation parameters that determine the properties of the probability estimation for adapting the context of arithmetic decoding of the coded weight parameters, The probability estimation parameters affect the adaptation rate of the probability estimates of the context-dependent arithmetic coding. storage medium.

59. The storage medium according to claim 58, wherein the encoded representation includes separate encoded representations of separate probabilistic estimation parameters associated with different neural network parameters, and / or separate probabilistic estimation parameters associated with different context models, and / or separate probabilistic estimation parameters associated with different layers of the neural network.

60. The storage medium according to claim 58 or 59, wherein the encoded representation includes a flag indication indicating which of a plurality of mapping rules should be used to map an encoded value representing one or more probability estimation parameters to one or more probability estimation parameters.

61. A decoder (200) for decoding the weight parameters of a neural network, The decoder (200) is configured to obtain a plurality of neural network parameters (204) of the neural network based on the encoded bitstream (202), The decoder (200) is configured to decode the neural network parameters of the neural network using context-dependent arithmetic decoding, The decoder (200) is configured to obtain a probability estimate for decoding the bins of the numerical representation of the neural network parameters using one or more probability estimation parameters. For each context model in context-dependent arithmetic decoding, one or more state variables are maintained to represent probability values. The one or more probability estimation parameters consist of the initialization values ​​of the state variables of the context model. The decoder (200) is configured to use different probability estimate parameter values ​​(230) for decoding different neural network parameters and / or for decoding bins associated with different context models. The decoder (200) is configured to use different probability estimation parameter values ​​(230) for decoding neural network parameters associated with different layers of the neural network. Decoder.

62. An encoder for encoding the weight parameters of a neural network, The encoder is configured to acquire multiple neural network parameters of the neural network. The encoder is configured to encode the neural network parameters of the neural network using context-dependent arithmetic coding. The encoder is configured to obtain a probability estimate for encoding the bins of the numerical representation of the neural network parameters using one or more probability estimation parameters. For each context model of context-dependent arithmetic coding, one or more state variables are maintained to represent probability values. The one or more probability estimation parameters consist of the initialization values ​​of the state variables of the context model. The encoder is configured to use different probability estimate parameter values ​​(230) for encoding different neural network parameters, and / or for encoding bins associated with different context models. The encoder is configured to use different probability estimation parameter values ​​(230) for encoding neural network parameters associated with different layers of the neural network. encoder.