Audio encoder and decoder

JP2025028867A5Active Publication Date: 2025-04-18DOLBY INTERNATIONAL AB
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024194253
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2013-05-24
Filing Date
2024-11-06
Publication Date
2025-04-18
Estimated Expiration
2034-05-23

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide methods, devices, and computer program products for encoding and decoding of a vector of parameters in an audio coding system, and to provide a method and an apparatus for reconstructing an audio object in an audio decoding system.SOLUTION: According to the disclosure, a modulo difference approach for coding and encoding a vector of a non-periodic quantity may improve coding efficiency and provide encoders and decoders with reduced memory requirements. Moreover, an efficient method for encoding and decoding a sparse matrix is provided.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of the filing date of U.S. Provisional Patent Application No. 61 / 827,264, filed May 24, 2013, the contents of which are incorporated herein by reference.

[0002] Technical Field The present disclosure relates generally to audio coding, and more particularly to encoding and decoding vectors of parameters in an audio coding system. The present disclosure further relates to a method and apparatus for reconstructing an audio object in an audio decoding system. [Background technology]

[0003] In typical audio systems, a channel-based approach is used: each channel may represent the content of, for example, one speaker or one speaker array. Possible coding schemes for such systems include discrete multi-channel coding or parametric coding such as MPEG Surround.

[0004] More recently, a new approach has been developed: it is object-based. In a system using the object-based approach, a three-dimensional audio scene is represented by audio objects with associated position metadata. These audio objects move around in the three-dimensional audio scene during the playback of the audio signal. The system may further include a so-called bed channel. The bed channel may be described as a static audio object that is directly mapped to the speaker positions of a regular audio system, e.g. as described above.

[0005] A problem that may arise in object-based audio systems is how to efficiently encode and decode audio signals and preserve the quality of the encoded signal. One possible encoding scheme involves generating, at the encoder side, a downmix signal that contains some channels from the audio object and bed channels, and side information that allows the recreation of the audio object and bed channels at the decoder side.

[0006] MPEG Spatial Audio Object Coding (MPEG SAOC) describes a system for parametric coding of audio objects. The system sends side information describing the attributes of the objects, upmix matrix references, by parameters such as object level difference and cross-correlation. These parameters are then used to control the reproduction of the audio objects at the decoder side. This process is mathematically complex and often has to rely on assumptions about the attributes of the audio objects that are not explicitly described by the parameters. The method presented in MPEG SAOC may reduce the required bitrate for object-based audio systems, but as mentioned above further improvements may be needed to further increase efficiency and quality. [Brief description of the drawings]

[0007] Exemplary embodiments will now be described with reference to the accompanying drawings. [Figure 1] 1 is a generalized block diagram of an audio encoding system according to an example embodiment. [Diagram 2] FIG. 2 is a generalized block diagram of the exemplary upmix matrix encoder shown in FIG. 1. [Diagram 3]2 illustrates an exemplary probability distribution for a first element in a vector of parameters corresponding to an element in an upmix matrix determined by the audio encoding system of FIG. 1. [Figure 4] FIG. 2 illustrates an exemplary probability distribution for at least one modulo differentially encoded second element in a vector of parameters corresponding to an element in an upmix matrix determined by the audio encoding system of FIG. 1. [Diagram 5] FIG. 1 is a generalized block diagram of an audio decoding system according to an example embodiment. [Figure 6] FIG. 6 is a generalized block diagram of the upmix matrix decoder shown in FIG. [Figure 7] FIG. 2 illustrates an encoding method for the second element in the vector of parameters corresponding to an element in the upmix matrix determined by the audio encoding system of FIG. 1 . [Figure 8] FIG. 2 illustrates an encoding method for a first element in a vector of parameters corresponding to an element in an upmix matrix determined by the audio encoding system of FIG. 1; [Figure 9] 8A-8C illustrate portions of the encoding method of FIG. 7 for the second element in a vector of exemplary parameters. [Figure 10] 9A-9C illustrate portions of the encoding method of FIG. 8 for the first element in a vector of exemplary parameters. [Figure 11] FIG. 2 is a generalized block diagram of the second exemplary upmix matrix encoder shown in FIG. 1. [Figure 12] 1 is a generalized block diagram of an audio decoding system according to an example embodiment. [Figure 13] FIG. 1 illustrates an encoding method for sparse encoding of rows of an upmix matrix. [Figure 14] 11A-11C illustrate portions of the encoding method of FIG. 10 for an exemplary row of an upmix matrix. [Figure 15] FIG. 11 illustrates parts of the encoding method of FIG. 10 for an example row of an upmix matrix. All drawings are schematic and generally only show parts necessary for clarity of the present disclosure, while other parts may be omitted or only suggested. Unless otherwise stated, like reference signs refer to like parts in different drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] In view of the above, it is an object to provide an encoder and decoder, and associated methods, that provide increased efficiency and quality of encoded audio signals.

[0009] I. Overview - Encoders According to a first aspect, exemplary embodiments propose an encoding method, an encoder and a computer program product for encoding. The proposed method, encoder and computer program product may generally have the same features and advantages.

[0010] According to an exemplary embodiment, a method is provided for encoding a vector of parameters in an audio encoding system. Each parameter corresponds to a non-periodic quantity. The vector has a first element and at least one second element. The method includes: representing each parameter in the vector by an index value having N possible values; and associating each of the at least one second element with a symbol, the symbol being calculated by: calculating a difference between an index value of the second element and an index value of its preceding element in the vector; and applying the difference modulo N. The method further includes encoding each of the at least one second element by entropy coding a symbol associated with the at least one second element based on a probability table containing probabilities of the symbol.

[0011] The advantage of this method is that the number of possible symbols is reduced by about a factor of two compared to a normal differential encoding strategy where no modulo N is applied to the difference. As a result, the size of the probability table is reduced by about a factor of two. As a result, less memory is required to store the probability table, and since the probability table is often stored in expensive memory in the encoder, the encoder can be made cheaper in this way. Furthermore, the speed of searching for symbols in the probability table can be increased. A further advantage is that the coding efficiency can be increased, since all symbols in the probability table are possible candidates to be associated with a particular second element. This can be compared to a normal differential encoding strategy where only about half of the symbols in the probability table are candidates to be associated with a particular second element.

[0012] According to embodiments, the method further comprises associating the first element in the vector with a symbol, the symbol being calculated by: shifting an index value representing the first element in the vector by an offset value; and applying the shifted index value modulo N. The method further comprises encoding the first element by entropy coding of the symbol associated with the first element using the same probability table used to encode the at least one second element.

[0013] This embodiment uses the fact that the probability distribution of the index values ​​of the first element and the probability distribution of the symbols of the at least one second element are similar, albeit shifted relative to each other by an offset value. As a result, instead of a dedicated probability table, the same probability table can be used for the first element in the vector. This can result in reduced memory requirements and cheaper encoders, as mentioned above.

[0014] According to an embodiment, the offset value is equal to the difference between the most likely index value for the first element and the most likely symbol for the at least one second element in the probability table, meaning that the peaks of their probability distributions are aligned, as a result of which substantially the same coding efficiency is maintained for the first element compared to the case where a dedicated probability table for the first element is used.

[0015] According to embodiments, the first element and the at least one second element of the vector of parameters correspond to different frequency bands used in the audio encoding system in a particular time frame, i.e. data corresponding to multiple frequency bands can be encoded in the same operation, for example the vector of parameters may correspond to upmix or reconstruction coefficients that vary across multiple frequency bands.

[0016] According to an embodiment, the first element and the at least one second element of the vector of parameters correspond to different time frames used in the audio encoding system in a particular frequency band, i.e. data corresponding to multiple time frames can be encoded in the same operation, for example the vector of parameters may correspond to upmix or reconstruction coefficients that vary over multiple time frames.

[0017] According to some embodiments, the probability table is translated into a Huffman codebook, where a symbol associated with an element in the vector is used as a codebook index, and the encoding step includes encoding each of the at least one second element by representing the second element with a codeword in a codebook indexed by the codebook index associated with the second element. Using a symbol as a codebook index may increase the speed of searching for a codeword representing the element.

[0018] According to embodiments, the encoding step includes encoding the first element in the vector using the same Huffman codebook used to encode the at least one second element by representing the first element with a codeword in the Huffman codebook that is indexed by a codebook index associated with the first element. As a result, only one Huffman codebook needs to be stored in an encoder memory, which may lead to a cheaper encoder as described above.

[0019] According to a further embodiment, the vector of parameters corresponds to elements in an upmix matrix determined by the audio encoding system, which may reduce the required bitrate in the audio encoding / decoding system since the upmix matrix may be efficiently coded.

[0020] According to an exemplary embodiment, there is provided a computer readable medium having computer code instructions adapted to perform any of the methods of the first aspect when executed on a device having processing capability.

[0021] According to an exemplary embodiment, an encoder is provided for encoding a vector of parameters in an audio encoding system. Each parameter corresponds to a non-periodic quantity. The vector has a first element and at least one second element. The encoder comprises: a receiving component adapted to receive the vector; an indexing component adapted to represent each parameter in the vector by an index value with N possible values; and an associating component adapted to associate each of the at least one second element with a symbol. The symbol is calculated by: calculating a difference between an index value of the second element and an index value of its preceding element in the vector; and applying the difference modulo N. The encoder further comprises an encoding component for encoding each of the at least one second element by entropy coding a symbol associated with the at least one second element based on a probability table containing probabilities of the symbol.

[0022] II. Overview - Decoder According to a second aspect, exemplary embodiments propose a decoding method, a decoder and a computer program product for decoding. The proposed method, decoder and computer program product may generally have the same features and advantages.

[0023] The advantages of the features and setup presented in the encoder overview above may also be valid for the corresponding features and setup for the decoder in general.

[0024] According to an exemplary embodiment, a method is provided for decoding a vector of entropy coded symbols in an audio decoding system into a vector of parameters related to aperiodic quantities, the vector of entropy coded symbols having a first entropy coded symbol and at least one second entropy coded symbol, the vector of parameters having a first element and at least a second element, the method includes: representing each entropy coded symbol in the vector of entropy coded symbols by a symbol having N integer possible values ​​by using a probability table; associating the first entropy coded symbol with an index value; and associating each of the at least one second entropy coded symbol with an index value, the index value of the at least one second entropy coded symbol being calculated by: calculating the sum of an index value associated with an entropy coded symbol preceding the second entropy coded symbol in the vector of entropy coded symbols and a symbol representing the second entropy coded symbol; and applying the sum modulo N. The method further includes representing the at least one second element of the vector of parameters by a parameter value corresponding to an index value associated with the at least one second entropy coded symbol.

[0025] According to an exemplary embodiment, the step of representing each entropy coded symbol in the vector of entropy coded symbols by a symbol is performed using the same probability table for all entropy coded symbols in the vector of entropy coded symbols. An index value associated with the first entropy coded symbol is calculated by: shifting a symbol representing the first entropy coded symbol in the vector of entropy coded symbols by an offset value; and applying modulo N to the shifted symbol. The method further includes the step of representing the first element of the vector of parameters by a parameter value corresponding to the index value associated with the first entropy coded symbol.

[0026] According to one embodiment, the probability table is translated into a Huffman codebook, and each entropy coded symbol corresponds to a codeword in the Huffman codebook.

[0027] According to a further embodiment, each codeword in the Huffman codebook is associated with a codebook index, and the step of representing each entropy coded symbol in the vector of entropy coded symbols by a symbol includes representing the entropy coded symbol by a codebook index associated with the codeword corresponding to that entropy coded symbol.

[0028] According to embodiments, each entropy coded symbol in the vector of entropy coded symbols corresponds to a different frequency band used in the audio decoding system in a particular time frame.

[0029] According to one embodiment, each entropy coded symbol in the vector of entropy coded symbols corresponds to a different time frame used in the audio decoding system in a particular frequency band.

[0030] According to embodiments, the vector of parameters corresponds to an element in an upmix matrix used by the audio decoding system.

[0031] According to an exemplary embodiment, there is provided a computer readable medium having computer code instructions adapted to perform any of the methods of the second aspect when executed on a device having processing capability.

[0032] According to an exemplary embodiment, a decoder is provided for decoding a vector of entropy coded symbols in an audio decoding system into a vector of parameters related to aperiodic quantities, the vector of entropy coded symbols having a first entropy coded symbol and at least one second entropy coded symbol, the vector of parameters having a first element and at least a second element. The decoder includes: a receiving component configured to receive a vector of entropy coded symbols; an indexing component configured to represent each entropy coded symbol in the vector of entropy coded symbols by a symbol that can take on N integer values ​​by using a probability table; and an associating component configured to associate the first entropy coded symbol with an index value; the associating component further configured to associate each of the at least one second entropy coded symbol with an index value, the index value of the at least one second entropy coded symbol being calculated by: calculating a sum of an index value of an entropy coded symbol preceding the second entropy coded symbol in the vector of entropy coded symbols and a symbol representing the second entropy coded symbol; and applying the sum modulo N. The decoder further includes a decode component configured to represent the at least one second element of the vector of parameters by a parameter value corresponding to an index value associated with the at least one second entropy coded symbol.

[0033] III. Overview – Sparse Matrix Encoders According to a third aspect, exemplary embodiments propose an encoding method, an encoder and a computer program product for encoding. The proposed method, encoder and computer program product may generally have the same features and advantages.

[0034] According to an exemplary embodiment, a method for encoding an upmix matrix in an audio encoding system is provided, where each row of the upmix matrix comprises M elements allowing reconstruction of a time / frequency tile of an audio object from a downmix signal comprising M channels. The method comprises, for each row of the upmix matrix: selecting a subset of elements from the M elements of that row of the upmix matrix; representing each element in the selected subset of elements by a value and a position in the upmix matrix; and encoding the value and the position in the upmix matrix of each element in the selected subset of elements.

[0035] As used herein, by a downmix signal comprising M channels we mean a signal comprising M signals or channels, each channel being a combination of multiple audio objects comprising said audio object to be reconstructed. The number of channels is typically greater than 1, and often the number of channels is 5 or more.

[0036] As used in this document, the term upmix matrix refers to a matrix with N rows and M columns allowing N audio objects to be reconstructed from a downmix signal containing M channels. The elements of each row of the upmix matrix correspond to one audio object and give the coefficients to be multiplied with the M channels of the downmix to reconstruct this audio object.

[0037] As used herein, a position in an upmix matrix refers to the row and column indices indicating the row and column of a matrix element. The term position can also refer to the column index in a given row of the upmix matrix.

[0038] In some cases, sending all elements of the upmix matrix per time / frequency tile requires an undesirably high bitrate in the audio encoding / decoding system. An advantage of the present method is that only a subset of the upmix matrix elements needs to be encoded and transmitted to the decoder. Since less data is transmitted, the required bitrate of the audio encoding / decoding system may be reduced and the data may be coded more efficiently.

[0039] An audio encoding / decoding system typically divides the time-frequency space into time / frequency tiles, for example by applying a suitable filter bank to the input audio signal. A time / frequency tile generally means a portion of the time-frequency space corresponding to a certain time interval and frequency subband. The time interval typically corresponds to the duration of a time frame used in the audio encoding / decoding system. A frequency subband typically corresponds to one or several neighboring frequency subbands defined by a filter bank used in the encoding / decoding system. In case a frequency subband corresponds to several neighboring frequency subbands defined by a filter bank, this allows to have non-uniform frequency subbands in the decoding process of the audio signal, for example wider frequency subbands for higher frequencies of the audio signal. In case the audio encoding / decoding system is broadband acting on the whole frequency range, the frequency subbands of a time / frequency tile may correspond to the whole frequency range. The above method discloses encoding stages for encoding an upmix matrix in an audio encoding system to allow reconstruction of audio objects during one such time / frequency tile. However, it is understood that the method may be repeated for each time / frequency tile of the audio encoding system. It is also understood that several time / frequency tiles may be encoded simultaneously. Typically, neighboring time / frequency tiles may overlap a little in time and / or frequency. For example, the overlap in time may be equivalent to a linear interpolation in time, i.e., from one time interval to the next, of the elements of the reconstruction matrix. However, the present disclosure is also targeted to other parts of the encoding / decoding system, and any overlap in time and / or frequency between neighboring time / frequency tiles is left to the implementation of one skilled in the art.

[0040] According to embodiments, for each row in the upmix matrix, the positions in the upmix matrix of the selected subset of elements vary across multiple frequency bands and / or across multiple time frames. Thus, the selection of those elements may depend on a particular time / frequency tile, and thus different elements may be selected for different time / frequency tiles. This provides a more flexible encoding method, which increases the quality of the encoded signal.

[0041] According to embodiments, the selected subset of elements comprises the same number of elements for each row of the upmix matrix. In further embodiments, the number of selected elements may be just 1. This reduces the complexity of the encoder, since the algorithm only needs to select the same number of element(s) for each row, i.e. the most important element(s) when performing the upmix on the decoder side.

[0042] According to embodiments, for each row in the upmix matrix and for multiple frequency bands or multiple time frames, the element values ​​of a selected subset of elements form one or more vectors of parameters, each parameter in the vector of parameters corresponding to one of said multiple frequency bands or multiple time frames, and said one or more vectors of parameters are encoded using a method according to the first aspect. In other words, the values ​​of the selected elements can be efficiently coded. The advantages with regard to the features and setup presented in the overview of the first aspect above may generally be valid for this embodiment as well.

[0043] According to embodiments, for each row in the upmix matrix and for multiple frequency bands or multiple time frames, the positions of the elements of a selected subset of elements form one or more vectors of parameters, each parameter in the vector of parameters corresponding to one of said multiple frequency bands or multiple time frames, and said one or more vectors of parameters are encoded using a method according to the first aspect. In other words, the positions of the selected elements can be efficiently coded. The advantages with regard to the features and setup presented in the overview of the first aspect above may generally be valid for this embodiment as well.

[0044] According to an exemplary embodiment, there is provided a computer readable medium having computer code instructions adapted to perform any of the methods of the third aspect when executed on a device having processing capability.

[0045] According to an exemplary embodiment, an encoder for encoding an up-mix matrix in an audio encoding system is provided, where each row of the up-mix matrix comprises M elements allowing reconstruction of a time / frequency tile of an audio object from a down-mix signal comprising M channels, the encoder comprising: a receiving component adapted to receive each row in the up-mix matrix; a selecting component adapted to select a subset of elements from the M elements of the row in the up-mix matrix; and an encoding component adapted to represent each element in the selected subset of elements by a value and a position in the up-mix matrix, the encoding component further adapted to encode the value and the position in the up-mix matrix of each element in the selected subset of elements.

[0046] IV. Overview – Sparse Matrix Decoder According to a fourth aspect, exemplary embodiments propose a decoding method, a decoder and a computer program product for decoding. The proposed method, decoder and computer program product may generally have the same features and advantages.

[0047] The advantages of the features and setup presented in the overview of sparse matrix encoders above may also be valid for corresponding features and setup for decoders in general.

[0048] According to an exemplary embodiment, a method for reconstructing a time / frequency tile of an audio object in an audio decoding system is provided, comprising: receiving a downmix signal comprising M channels; receiving at least one encoded element representing a subset of the M elements of a row of an upmix matrix, each encoded element comprising a value and a position in the row of the upmix matrix, the position indicating one of the M channels of the downmix signal to which the encoded element corresponds; and reconstructing the time / frequency tile of the audio object from the downmix signal by forming a linear combination of the downmix channels corresponding to the at least one encoded element, in which each downmix channel is multiplied by the value of its corresponding encoded element.

[0049] Thus, according to this method, a time / frequency tile of an audio object is reconstructed by forming a linear combination of a subset of downmix channels, which correspond to channels for which encoded upmix coefficients have been received. Thus, the method allows reconstructing an audio object despite the fact that only a subset of the upmix matrix is ​​received, e.g. a sparse subset. By forming a linear combination of only the downmix channels corresponding to said at least one encoded element, the complexity of the decoding process may be reduced. An alternative would be to form a linear combination of all downmix signals and then multiply some of them (those that do not correspond to said at least one encoded element) by the value 0.

[0050] According to embodiments, the position of the at least one encoded element varies across multiple frequency bands and / or across multiple time frames, so in other words for different time / frequency tiles different elements of the upmix matrix may be encoded.

[0051] According to embodiments, the number of elements of the at least one encoded element is equal to 1, i.e. an audio object is reconstructed from one downmix channel in each time / frequency tile, however, the one downmix channel used to reconstruct an audio object may vary between different time / frequency tiles.

[0052] According to embodiments, for a number of frequency bands or a number of time frames, the values ​​of the at least one encoded element form one or more vectors, each value being represented by an entropy coded symbol, each symbol in each vector of entropy coded symbols corresponding to one of the number of frequency bands or one of the number of time frames, and the one or more vectors of entropy coded symbols being decoded using a method according to the second aspect. In this way, the values ​​of the elements of the upmix matrix can be efficiently coded.

[0053] According to embodiments, for a number of frequency bands or a number of time frames, the positions of the at least one encoded element form one or more vectors, each position being represented by an entropy coded symbol, each symbol in each vector of entropy coded symbols corresponding to one of the number of frequency bands or the number of time frames, and the one or more vectors of entropy coded symbols being decoded using the method according to the second aspect. In this way, the positions of the elements of the upmix matrix can be efficiently coded.

[0054] According to an exemplary embodiment, there is provided a computer readable medium having computer code instructions adapted to perform any of the methods of the third aspect when executed on a device having processing capability.

[0055] According to an exemplary embodiment, a decoder for reconstructing a time / frequency tile of an audio object is provided, comprising: a receiving component configured to receive a downmix signal including M channels and at least one encoded element representing a subset of M elements of a row in an upmix matrix, each encoded element including a value and a position in that row in the upmix matrix, the position indicating one of the M channels of the downmix signal to which the encoded element corresponds; and a reconstruction component configured to reconstruct the time / frequency tile of the audio object from the downmix signal by forming a linear combination of the downmix channels corresponding to the at least one encoded element, in which each downmix channel is multiplied by the value of its corresponding encoded element. EXAMPLES

[0056] V. ILLUSTRATIVE EMBODIMENTS 1 shows a generalized block diagram of an audio encoding system 100 for encoding audio objects 104. The audio encoding system comprises a downmix component 106 for generating a downmix signal 110 from the audio objects 104. The downmix signal 110 may for example be a 5.1 or 7.1 surround signal that is backward compatible with established sound decoding systems such as Dolby Digital Plus or MPEG standards, e.g. AAC, USAC or MP3. In a further embodiment, the downmix signal is not backward compatible.

[0057] In order to be able to reconstruct the audio objects 104 from the downmix signal 110, upmix parameters are determined from the downmix signal 110 and the audio objects 104 in an upmix parameter analysis component 112. For example, the upmix parameters may correspond to elements of an upmix matrix allowing the reconstruction of the audio objects 104 from the downmix signal 110. The upmix parameter analysis component 112 processes the downmix signal 110 and the audio objects 104 with respect to individual time / frequency tiles. In this way, upmix parameters are determined for each time / frequency tile. For example, an upmix matrix may be determined for each time / frequency tile. For example, the upmix parameter analysis component 112 may operate in the frequency domain, such as in the Quadrature Mirror Filters (QMF) domain, which allows frequency-selective processing. For this reason, the downmix signal 110 and the audio objects 104 may be transformed into the frequency domain by passing the downmix signal 110 and the audio objects 104 through a filter bank 108. This may be done, for example, by applying a QMF transform or any other suitable transform.

[0058] The upmix parameters 114 may be organized in a vector format. The vector may represent upmix parameters for reconstructing a particular audio object from the audio objects 104 in different frequency bands in a particular time frame. For example, the vector may correspond to a matrix element in an upmix matrix, where the vector includes values ​​of the certain matrix element for a series of frequency bands. In a further embodiment, the vector may represent upmix parameters for reconstructing a particular audio object from the audio objects 104 in different time frames in a particular frequency band. For example, the vector may correspond to a matrix element in an upmix matrix, where the vector includes values ​​of the certain matrix element for a series of time frames, but in the same frequency band.

[0059] Each parameter in the vector corresponds to a non-periodic quantity, e.g., a quantity that takes on values ​​between -9.6 and 9.4. A non-periodic quantity generally means a quantity for which there is no periodicity in the values ​​the quantity can take. This is in contrast to periodic quantities, such as angles, which have a clear periodic correspondence between the values ​​the quantity can take. For example, for angles, there is a periodicity of 2π, such that an angle of 0 corresponds to an angle of 2π.

[0060] The upmix parameters 114 are then received by the upmix matrix encoder 102 in a vector format, which will now be described in more detail in relation to Fig. 2. The vector is received by the receiving component 202 and has a first element and at least one second element. The number of elements depends for example on the number of frequency bands in the audio signal. The number of elements may also depend on the number of time frames of the audio signal that are encoded in one encoding operation.

[0061] The vector is then indexed by the indexing component 204. The indexing component is adapted to represent each parameter in the vector by an index value that can take a predefined number of values. This representation can be done in two stages. First, the parameters are quantized and then the quantized values ​​are indexed by the index values. As an example, if each parameter in the vector can take values ​​between -9.6 and 9.4, this can be done by using a quantization step of 0.2. The quantized values ​​can then be indexed by indexes 0 to 95, i.e. 96 different values. In the following example, the index values ​​are in the range 0 to 95, but this is of course just an example and other ranges of index values ​​are equally possible, e.g. 0 to 191 or 0 to 63. A smaller quantization step may result in a less distorted decoded audio signal at the decoder side, but may also result in a larger required bit rate for the transmission of data between the audio encoding system 100 and the decoder.

[0062] The indexed values ​​are then sent to an association component 206. The association component 206 associates each of the at least one second element with a symbol using a modulo differential encoding strategy. The association component 206 is adapted to calculate the difference between the index value of the second element and the index value of the previous element in the vector. By using only a normal differential encoding strategy, the difference can be anywhere in the range of -95 to 95; i.e., there are 191 possible values. This means that when the difference is encoded using entropy encoding, a probability table containing 191 probabilities is needed; i.e., one probability for each of the 191 possible values ​​for the difference. Furthermore, for each difference, about half of the 191 probabilities are impossible, which reduces the efficiency of the encoding. For example, if the second element to be differentially encoded has an index value of 90, the possible differences are in the range of -5 to +90. Typically, having an entropy encoding strategy in which some of the probabilities are impossible for each value to be encoded reduces the efficiency of the encoding. The differential encoding strategy in this disclosure overcomes this problem by applying modulo 96 arithmetic to the difference, while reducing the number of codes required to 96. Thus, the association algorithm can be expressed as follows:

[0063] Δ idx (b)=(idx(b)-idx(b-1)) mod N Q (Formula 1) where b is the element in the vector being differentially encoded, and N Q is the number of possible index values, and Δ idx (b) is the symbol associated with element b.

[0064] According to some embodiments, the probability table is converted to a Huffman codebook, where a symbol associated with an element in the vector is used as a codebook index, and the encoding component 208 may then encode each of the at least one second element by representing the second element with a codeword in the Huffman codebook that is indexed by the codebook index associated with the second element.

[0065] Any other suitable entropy coding strategy may be implemented by the encoding component 208. For example, such an encoding strategy may be a range coding strategy or an arithmetic coding strategy.

[0066] In the following, we show that the entropy of the modulo approach is always less than or equal to the entropy of the ordinary finite difference approach. p teeth

number

[0067] Entropy E of the Modulo Approach q teeth

number

[0068] Therefore, the result is as follows.

number

[0069]

number

number

[0070] As shown above, the entropy for the modulo approach is always less than or equal to the entropy of the ordinary difference approach. If the entropies are equal, it is in the rare case that the data being encoded is pathological, i.e. ill-behaved, data, which is usually not the case for e.g. the upmix matrix.

[0071] Since the entropy for the modulo approach is always less than or equal to the entropy of the ordinary differential approach, entropy coding of symbols calculated by the modulo approach has a lower or at least the same bit rate as entropy coding of symbols calculated by the ordinary differential approach. In other words, entropy coding of symbols calculated by the modulo approach is usually more efficient than entropy coding of symbols calculated by the ordinary differential approach.

[0072] A further advantage is that, as mentioned above, the number of required probabilities in a probability table in the modulo approach is roughly half the number of required probabilities in a conventional non-modulo approach.

[0073] Above, a modulo approach for encoding the at least one second element in the vector of parameters is described. The first element may be encoded using an index value representing the first element. Since the probability distributions of the index value of the first element and the modulo difference value of the at least one second element may be very different (see FIG. 3 for the probability distribution of the indexed first element and FIG. 4 for the probability distribution of the modulo difference value, i.e. the symbol for the at least one second element), a dedicated probability table for the first element may be required. This requires that both the audio encoding system 100 and the corresponding decoder have such a dedicated probability table in memory.

[0074] However, the inventors have observed that the shapes of the probability distributions can in some cases be quite similar while being shifted relative to each other. This observation can be used to approximate the probability distribution of an indexed first element by a shifted version of the symbol probability distribution for the at least one second element. Such a shift may be implemented by the associating component 206 associating a first element in a vector with a symbol by shifting an index value representing the first element in the vector by an offset value, and then adapting to apply modulo 96 (or a corresponding value) to the shifted index value.

[0075] Thus, the calculation of the symbol associated with the first element is: idx shifted (1)=(idx(1)-abs_offset) mod N Q (Formula 11) It may be expressed as:

[0076] The symbols thus achieved are used by the encoding component 208, which encodes the first element by entropy coding the symbols associated with the first element using the same probability table used to encode the at least one second element. The offset value may be equal to or at least close to the difference between the most probable index value for the first element and the most probable symbol for the at least one second element in the probability table. In FIG. 3, the most probable index value for the first element is represented by arrow 302. If the most probable symbol for the at least one second element is 0, then the value represented by arrow 302 is the offset value used. By using the offset approach, the peaks of the distributions in FIG. 3 and FIG. 4 are aligned. This approach avoids the need for a dedicated probability table for the first element, thus saving memory in the audio encoding system 100 and the corresponding decoder, while often maintaining almost the same coding efficiency that a dedicated probability table would give.

[0077] If the entropy coding of the at least one second element is performed using a Huffman codebook, encoding component 208 may encode a first element in the vector using the same Huffman codebook used to encode the at least one second element by representing the first element with a codeword in the Huffman codebook that is indexed by a codebook index associated with the first element.

[0078] Since search speed can be important when encoding parameters in an audio decoding system, the memory in which the codebook is stored is advantageously a fast memory and therefore expensive, so by using only one probability table the encoder can be cheaper than if two probability tables were used.

[0079] It may be worth noting that the probability distributions shown in Figures 3 and 4 are often precomputed on a training dataset and therefore are not computed while encoding the vectors, but it is of course possible to compute the distributions "on the fly" while encoding.

[0080] It may be noted that the above description of the audio encoding system 100 using vectors from an upmix matrix as vectors of encoded parameters is merely an exemplary application. The method of encoding vectors of parameters according to the present disclosure may also be used in other applications in audio encoding systems, for example when encoding other internal parameters in downmix encoding systems, such as parameters used in parametric bandwidth extension systems like spectral band replication (SBR).

[0081] FIG. 5 is a generalized block diagram of an audio decoding system 500 for regenerating encoded audio objects from an encoded downmix signal 510 and an encoded upmix matrix 512. The encoded downmix signal 510 is received by a downmix receiving component 506, where the signal is decoded and converted to a suitable frequency domain if not already in the suitable frequency domain. The decoded downmix signal 516 is then sent to an upmix component 508, where the encoded audio objects are regenerated using the decoded downmix signal 516 and the decoded upmix matrix 504. More specifically, the upmix component 508 may perform a matrix operation, where the decoded upmix matrix 504 is multiplied by a vector containing the decoded downmix signal 516. The upmix matrix decoding process is described below. The audio decoding system 500 further comprises a rendering component 514 that outputs an audio signal based on the reconstructed audio object 518 depending on the type of playback unit connected to the audio decoding system 500.

[0082] The encoded upmix matrix 512 is received by an upmix matrix decoder 502, which will now be described in detail in relation to FIG. 6. The upmix matrix decoder 502 is configured in an audio decoding system to decode a vector of entropy coded symbols into a vector of parameters related to aperiodic quantities. The vector of entropy coded symbols includes a first entropy coded symbol and at least one second entropy coded symbol, and the vector of parameters includes a first element and at least a second element. Thus, the encoded upmix matrix 512 is received by a receiving component 602 in a vector format. The decoder 502 further comprises an indexing component 604 configured to represent each entropy coded symbol in the vector by a symbol with N possible values ​​by using a probability table. N may be, for example, 96. The associating component 606 is configured to associate the first entropy coded symbol with an index value by any suitable means, depending on the encoding method used to encode the first element in the vector of parameters. The symbol for each of the second codes and the index value for the first code are then used by the association component 606. The association component 606 associates each of the at least one second entropy coded symbol with an index value. The index value of the at least one entropy coded symbol is calculated by first calculating the sum of an index value associated with an entropy coded symbol preceding the second entropy coded symbol in a vector of entropy coded symbols and a symbol representing the second entropy coded symbol. Then, a modulo N is applied to the sum. Without loss of generality, assume that the minimum index value is 0 and the maximum index value is N-1, e.g. 95. The association algorithm is then: idx(b)=(idx(b-1)+Δ idx (b)) mod N Q (Formula 12) where b is the element in the vector being decoded and N Q is the number of possible index values.

[0083] The upmix matrix decoder 502 further comprises a decoding component 608 configured to represent the at least one second element of the vector of parameters by a parameter value corresponding to an index value associated with the at least one second entropy coded symbol. This representation is thus a decoded version of the parameters encoded by, for example, the audio encoding system shown in Fig. 1. In other words, this representation is equal to the quantized parameters encoded by the audio encoding system shown in Fig. 1.

[0084] According to an embodiment of the invention, each entropy coded symbol in the vector of entropy coded symbols is represented by a symbol using the same probability table for all entropy coded symbols in the vector of entropy coded symbols. The advantage of this is that only one probability table needs to be stored in the memory of the decoder. Since search speed may be important when decoding entropy coded symbols in an audio decoding system, the memory in which the probability table is stored is advantageously a fast memory and therefore expensive. Thus, by using only one probability table, the decoder may be cheaper than if two probability tables were used. According to this embodiment, the association component 606 may be configured to associate the first entropy coded symbol with an index value by first shifting a symbol representing the first entropy coded symbol in the vector of entropy coded symbols by an offset value. Then, a modulo N is applied to the shifted symbols. Thus, the association algorithm is: idx(1)=(idx shifted (1)+abs_offset) mod N Q (Formula 13) It may be expressed as:

[0085] The decode component 608 is configured to represent a first element of the vector of parameters by a parameter value corresponding to an index value associated with the first entropy-coded symbol, such that this representation is a decoded version of the parameters encoded by, for example, the audio encoding system 100 shown in FIG.

[0086] Methods for differentially encoding non-periodic quantities are further described in conjunction with FIGS.

[0087] Figures 7 and 9 describe the encoding method for the four second elements of the vector of parameters. Thus, the input vector 902 contains five parameters. These parameters can take any value between a minimum and a maximum value. In this example, the minimum value is -9.6 and the maximum value is 9.4. A first step S702 of the encoding method represents each parameter in the vector 902 by an index value that can take N different values. In this case, N is chosen to be 96, i.e. the quantization step size is 0.2. This gives the vector 904. A next step S704 calculates the difference between the second element, i.e. each of the four upper parameters in the vector 904, and its predecessor. The resulting vector 906 thus contains four difference values ​​- the four upper values ​​in the vector 906. As can be seen in Figure 9, these difference values ​​can be negative, zero and positive. As explained above, it is advantageous to have as many difference values ​​as possible, N values, in this case 96. To achieve this, in the next step S706 of the method, modulo 96 is applied to the second element in vector 906. The resulting vector 908 does not contain any negative values. The symbols thus achieved, shown in vector 908, are then used to encode the second element of the vector in the final step S708 of the method shown in Figure 7, by entropy coding the symbols associated with said at least one second element based on a probability table containing the probabilities of the symbols shown in vector 908.

[0088] As can be seen in Fig. 9, the first element is not processed after the indexing step S702. In Fig. 8 and Fig. 10, a method for encoding a first element in an input vector is described. The same assumptions made in the above description of Fig. 7 and Fig. 9 regarding the minimum and maximum values ​​of the parameters and the number of possible index values ​​are valid when describing Fig. 8 and Fig. 10. A first element 1002 is received by the encoder. In a first step S802 of the encoding method, the parameters of the first element are represented by an index value 1004. In a next step S804, the indexed value 1004 is shifted by an offset value. In this example, the value of the offset is 49. This value is calculated as described above. In a next step S806, a modulo 96 is applied to the shifted index value 1006. The resulting value 1008 is then used to encode the first element by performing an entropy coding of the symbol 1008 using the same probability table used to encode said at least one element in Fig. 7.

[0089] Figure 11 shows an embodiment 102' of the upmix matrix encoding component 102 in Figure 1. The upmix matrix encoder 102' may be used to encode an upmix matrix in an audio encoding system, such as the audio encoding system 100 shown in Figure 1. As mentioned above, each row of the upmix matrix contains M elements that allow the reconstruction of an audio object from a downmix signal containing M channels.

[0090] At low overall target bitrates, encoding and sending all M upmix matrix elements per object and T / F tile, one for each downmix channel, may require undesirably high bitrates. This can be reduced by "sparsening" the upmix matrix, i.e. by trying to reduce the number of non-zero elements. In some cases, four out of five elements are zero, and a single downmix channel is used as the basis for the reconstruction of the audio object. A sparse matrix has a different probability distribution of the coded indices (absolute or differential) than a non-sparse matrix. If the upmix matrix contains a large proportion of zeros, making the value 0 more likely than 0.5, and Huffman coding is used, the coding efficiency will decrease. This is because the Huffman coding algorithm is inefficient when a particular value, e.g. 0, has a probability greater than 0.5. Furthermore, since many of the elements in the upmix matrix have the value 0, they do not contain any information. Thus, one strategy can be to select a subset of the upmix matrix elements and only encode and transmit them to the decoder. This may reduce the required bit rate of the audio encoding / decoding system since less data is transmitted.

[0091] To increase the efficiency of the coding of the upmix matrices, a dedicated coding mode for sparse matrices may be used, which will be described in detail below.

[0092] The encoder 102' comprises a receiving component 1102 adapted to receive each row in the upmix matrix. The encoder 102' further comprises a selection component 1104 adapted to select a subset of elements from the M elements of a row in the upmix matrix. In most cases, the subset includes all elements that do not have a value of zero. However, in certain embodiments, the selection component may choose not to select elements with non-zero values, e.g. elements with values ​​close to zero. According to embodiments, the selected subset of elements may include the same number of elements for each row of the upmix matrix. To further reduce the required bit rate, the number of selected elements may be 1.

[0093] The encoder 102' further comprises an encoding component 1106 adapted to represent each element in the selected subset of elements by a value and a position in the upmix matrix. The encoding component 1106 is further adapted to encode the value of each element in the selected subset of elements and its position in the upmix matrix. The encoding component 1106 may for example be adapted to encode the values ​​using modulo differential encoding as described above. In this case, for each row in the upmix matrix and for a number of frequency bands or a number of time frames, the values ​​of the elements of the selected subset of elements form one or more vectors of parameters. Each parameter in the vector of parameters corresponds to one of the number of frequency bands or the number of time frames. The vector of parameters may be encoded using modulo differential encoding as described above. In a further embodiment, the vector of parameters may be encoded using normal differential encoding. In yet another embodiment, the encoding component 1106 is adapted to encode each value separately using a fixed rate encoding of the true quantized value of each value, i.e., a non-differentially encoded quantized value.

[0094] The following examples of average bitrates were observed for typical content. They were measured for M=5, the number of audio objects to be reconstructed at the decoder side is 11, the number of frequency bands is 12, the parameter quantizer step size is 0.1 and has 192 levels. For the case where all five elements per row in the upmix matrix are encoded, the following average bitrates were observed:

[0095] Fixed rate encoding: 165kb / sec Differential encoding: 51kb / sec Modulo differential coding: 51kb / sec, but as above the probability table or codebook is half the size.

[0096] For the case where only one element is selected by the selection component 1104 for each row in the upmix matrix, i.e., sparse encoding, the following average bitrates were observed:

[0097] Fixed rate encoding (uses 8 bits for value and 3 bits for position): 45kb / sec Modulo differential encoding of both element values ​​and element positions: 20kb / sec.

[0098] The encoding component 1106 may be adapted to encode the position in the upmix matrix of each element in the subset of elements in the same way as the value. The encoding component 1106 may be adapted to encode the position in the upmix matrix of each element in the subset of elements in a different manner compared to encoding the value. When encoding the positions using differential or modulo differential encoding, the positions of the elements of the selected subset of elements for each row in the upmix matrix and for a number of frequency bands or a number of time frames form one or more vectors of parameters. Each parameter in the vector of parameters corresponds to one of the number of frequency bands or a number of time frames. The vector of parameters is encoded using differential or modulo differential encoding as described above.

[0099] It may be noted that the encoder 102' may be combined with the encoder 102 of FIG. 2 to achieve the modulo differential encoding of the above sparse upmix matrix.

[0100] Furthermore, it may be noted that although the method for encoding rows in a sparse matrix is ​​illustrated above for encoding rows in a sparse upmix matrix, the method may also be used to encode other types of sparse matrices well known to those skilled in the art.

[0101] The method for encoding a sparse upmix matrix will now be further described in conjunction with FIGS.

[0102] An upmix matrix is ​​received, for example by the receiving component 1102 of FIG. 11. For each row 1402, 1502 in the upmix matrix, the method includes selecting a subset from among M, for example 5, elements of that row of the upmix matrix (S1302). Then, each element in the selected subset of elements is represented by a value and a position in the upmix matrix (S1304). In FIG. 14, one element is selected for said subset (S1302), for example element number 3 with a value of 2.34. Thus, the representation may be a vector 1404 with two fields. A first field in the vector 1404 represents a value, for example 2.34, and a second field in the vector 1404 represents a position, for example 3. In FIG. 15, two elements are selected for said subset (S1302), for example element number 3 with a value of 2.34 and element number 5 with a value of −1.81. Thus, the representation may be a vector 1504 with four fields. A first field in the vector 1504 represents the value of the first element, e.g., 2.34, and a second field in the vector 1504 represents the position of the first element, e.g., 3. A third field in the vector 1504 represents the value of the second element, e.g., −1.81, and a fourth field in the vector 1504 represents the position of the second element, e.g., 5. Representations 1404, 1504 are then encoded (S1306) as described above.

[0103] FIG. 12 is a generalized block diagram of an audio decoding system 1200 according to an example embodiment. The decoder 1200 comprises a receiving component 1206 configured to receive a downmix signal 1210 including M channels and at least one encoded element 1204 representing a subset of the M elements of a row in an upmix matrix. Each encoded element includes a value and a position in the row in the upmix matrix. The position indicates which of the M channels of the downmix signal 1210 the encoded element corresponds to. The at least one encoded element 1204 is decoded by an upmix matrix element decoding component 1202. The upmix matrix element decoding component 1202 is configured to decode the at least one encoded element 1204 according to an encoding strategy used to encode the at least one encoded element 1204. Examples of such encoding strategies are disclosed above. The at least one decoded element 1214 is then sent to a reconstruction component 1208. The reconstruction component 1208 is configured to reconstruct a time / frequency tile of an audio object from the downmix signal 1210 by forming a linear combination of the downmix channels corresponding to the at least one encoded element 1204. When forming the linear combination, each downmix channel is multiplied by its corresponding encoded element 1204.

[0104] For example, if the decoded element 1214 contains the value 1.1 and position 2, then the time / frequency tile of the second downmix channel is multiplied by 1.1, which is then used to reconstruct the audio object.

[0105] The audio decode system 500 further includes a rendering component 1216 that outputs an audio signal based on the reconstructed audio object 1218. The type of the audio signal depends on what type of playback unit is connected to the audio decode system 1200. For example, if a pair of headphones is connected to the audio decode system 1200, a stereo signal may be output by the rendering component 1216.

[0106] Equivalents, extensions, replacements, etc. Further embodiments of the present disclosure will be apparent to those skilled in the art upon reviewing the above description. Although the present text and drawings disclose embodiments and examples, the present disclosure is not limited to these specific examples. Numerous modifications and variations can be made without departing from the scope of the present disclosure defined by the appended claims. Any reference signs appearing in the claims shall not be construed as limiting the scope thereof.

[0107] Moreover, variations to the disclosed embodiments can be understood and implemented by those skilled in the art in practicing the present disclosure, from an examination of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the singular does not exclude a plurality. The mere fact that certain features are recited in mutually different dependent claims does not indicate that a combination of these features cannot be used to advantage.

[0108] The systems and methods disclosed above may be implemented as software, firmware, hardware or a combination thereof. In hardware implementations, the division of tasks among functional units mentioned in the above description does not necessarily correspond to a division into physical units. Conversely, one physical component may have multiple functions and one task may be performed by several physical components in cooperation. Some or all of the components may be implemented as software executed by a digital signal processor or microprocessor, or as hardware or as an application specific integrated circuit. Such software may be distributed on a computer readable medium, which may include computer storage media (or non-transitory media) and communication media (or transitory media). As is well known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and that can be accessed by a computer. Additionally, those skilled in the art will recognize that communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media.

[0109] Several aspects will be described. [Aspect 1] 1. A method of encoding a vector of parameters in an audio encoding system, each parameter corresponding to a non-periodic quantity, the vector having a first element and at least one second element, the method comprising: representing each parameter in the vector by an index value that can take N different values; Associating each of the at least one second element with a symbol, the symbol being: calculating a difference between the index value of the second element and the index value of its preceding element in the vector; by applying modulo N to the difference; and encoding each of the at least one second element by entropy coding the symbol associated with the at least one second element based on a probability table containing probabilities of the symbol. method. [Aspect 2] Associating the first element in the vector with a symbol, the symbol being: shifting an index value representing the first element in the vector by an offset value; Calculated by applying modulo N to the shifted index value; and encoding the first element by entropy coding of symbols associated with the first element using the same probability table used to encode the at least one second element. The method of embodiment 1. [Aspect 3] 3. The method of aspect 2, wherein the offset value is equal to a difference between a most probable index value for the first element and a most probable symbol for the at least one second element in the probability table. Aspect 4 4. The method of any one of aspects 1 to 3, wherein the first element and the at least one second element of the vector of parameters correspond to different frequency bands used in the audio encoding system in a particular time frame. Aspect 5 4. The method of any one of aspects 1 to 3, wherein the first element and the at least one second element of the vector of parameters correspond to different time frames used in the audio encoding system in a particular frequency band. Aspect 6 6. The method of any one of aspects 1 to 5, wherein the probability table is converted to a Huffman codebook, and a symbol associated with an element in the vector is used as a codebook index, and the encoding step includes encoding each of the at least one second element by representing the second element with a codeword in a codebook that is indexed by the codebook index associated with the second element. Aspect 7 The method of claim 6 when referring to claim 2, wherein the encoding step includes encoding the first element in the vector using the same Huffman codebook used to encode the at least one second element by representing the first element with a codeword in the Huffman codebook that is indexed by a codebook index associated with the first element. Aspect 8 8. The method of any one of aspects 1 to 7, wherein the vector of parameters corresponds to an element in an upmix matrix determined by the audio encoding system. Aspect 9 A computer-readable storage medium having computer code instructions adapted to perform the method of any one of aspects 1 to 8 when executed on a device having processing capabilities. Aspect 10 1. An encoder for encoding a vector of parameters in an audio encoding system, each parameter corresponding to a non-periodic quantity, the vector having a first element and at least one second element, the encoder comprising: a receiving component adapted to receive the vector; an indexing component adapted to represent each parameter in the vector by an index value that can take N different values; an association component adapted to associate each of the at least one second element with a symbol, the symbol comprising: calculating the difference between the index value of the second element and the index value of its preceding element in the vector; an association component calculated by applying modulo N to the difference; and an encoding component that encodes each of the at least one second element by entropy encoding a symbol associated with the at least one second element based on a probability table that includes probabilities of the symbol. Encoder. Aspect 11 1. A method of decoding a vector of entropy coded symbols into a vector of parameters related to aperiodic quantities in an audio decoding system, the vector of entropy coded symbols having a first entropy coded symbol and at least one second entropy coded symbol, the vector of parameters having a first element and at least one second element, the method comprising: representing each entropy coded symbol in the vector of entropy coded symbols by a symbol that can take on N integer values ​​using a probability table; associating the first entropy coded symbol with an index value; and associating each of the at least one second entropy coded symbol with an index value, the index value of the at least one second entropy coded symbol being: calculating a sum of an index value associated with an entropy coded symbol preceding the second entropy coded symbol in the vector of entropy coded symbols and a symbol representing the second entropy coded symbol; by applying modulo N to the sum; and representing the at least one second element of the vector of parameters by a parameter value corresponding to an index value associated with the at least one second entropy coded symbol. method. Aspect 12 The step of representing each entropy coded symbol in the vector of entropy coded symbols by a symbol is performed using the same probability table for all entropy coded symbols in the vector of entropy coded symbols, and an index value associated with the first entropy coded symbol is: shifting a symbol representing the first entropy coded symbol in the vector of entropy coded symbols by an offset value; is calculated by applying modulo N to the shifted symbols, The method further comprises: representing the first element of the vector of parameters by a parameter value corresponding to an index value associated with the first entropy coded symbol. The method of embodiment 11. Aspect 13 13. The method of claim 11 or 12, wherein the probability table is converted to a Huffman codebook, and each entropy coded symbol corresponds to a codeword in the Huffman codebook. Aspect 14 14. The method of claim 13, wherein each codeword in a Huffman codebook is associated with a codebook index, and wherein the step of representing each entropy coded symbol in the vector of entropy coded symbols by a symbol includes representing the entropy coded symbol by a codebook index associated with the codeword corresponding to the entropy coded symbol. Aspect 15 15. The method of any one of aspects 11 to 14, wherein each entropy coded symbol in the vector of entropy coded symbols corresponds to a different frequency band used in the audio decoding system in a particular time frame. Aspect 16 15. The method of any one of aspects 11 to 14, wherein each entropy coded symbol in the vector of entropy coded symbols corresponds to a different time frame used in the audio decoding system in a particular frequency band. Aspect 17 17. The method of any one of aspects 11 to 16, wherein the vector of parameters corresponds to an element in an upmix matrix used by the audio decoding system. Aspect 18 A computer-readable storage medium having computer code instructions adapted to perform the method of any one of aspects 11 to 17 when executed on a device having processing capabilities. Aspect 19 1. A decoder for decoding a vector of entropy coded symbols into a vector of parameters related to aperiodic quantities in an audio decoding system, the vector of entropy coded symbols having a first entropy coded symbol and at least one second entropy coded symbol, the vector of parameters having a first element and at least a second element, the decoder comprising: a receiving component configured to receive the vector of entropy coded symbols; an indexing component configured to represent each entropy coded symbol in the vector of entropy coded symbols by a symbol that can take on N integer values ​​using a probability table; an association component configured to associate the first entropy coded symbol with an index value, The associating component is further configured to associate each of the at least one second entropy coded symbol with an index value, the index value of the at least one second entropy coded symbol being: calculating a sum of an index value of an entropy coded symbol preceding the second entropy coded symbol in the vector of entropy coded symbols and a symbol representing the second entropy coded symbol; Calculated by applying modulo N to the sum, Association components and; and a decoding component configured to represent the at least one second element of the vector of parameters by a parameter value corresponding to an index value associated with the at least one second entropy coded symbol. decoder. Aspect 20 A method for encoding an upmix matrix in an audio encoding system, each row of the upmix matrix comprising M elements allowing the reconstruction of a time / frequency tile of an audio object from a downmix signal comprising M channels, the method comprising: For each row in the upmix matrix: selecting a subset of elements from the M elements of that row in the upmix matrix; representing each element in the selected subset of elements by a value and a position in the upmix matrix; encoding a value and a position in the upmix matrix of each element in a selected subset of elements; method. Aspect 21 21. The method of embodiment 20, wherein, for each row in the upmix matrix, positions in the upmix matrix of the elements of the selected subset vary across multiple frequency bands and / or across multiple time frames. Aspect 22 22. The method of claim 20 or 21, wherein the selected subset of elements includes an equal number of elements for each row of the upmix matrix. Aspect 23 23. The method of any one of aspects 20 to 22, wherein, for each row of the upmix matrix, the selected subset of elements includes exactly one element out of the M elements of that row in the upmix matrix. Aspect 24 24. The method of any one of aspects 20 to 23, wherein for each row in the upmix matrix and for a plurality of frequency bands or a plurality of time frames, values ​​of elements of a selected subset of elements form one or more vectors of parameters, each parameter in the vector of parameters corresponding to one of the plurality of frequency bands or the plurality of time frames, and the one or more vectors of parameters are encoded using the method of any one of aspects 1 to 8. Aspect 25 25. The method of any one of aspects 20 to 24, wherein for each row in the upmix matrix and for a plurality of frequency bands or a plurality of time frames, positions of elements of a selected subset of elements form one or more vectors of parameters, each parameter in the vector of parameters corresponding to one of the plurality of frequency bands or the plurality of time frames, and the one or more vectors of parameters are encoded using the method of any one of aspects 1 to 8. Aspect 26 A computer-readable storage medium having computer code instructions adapted to perform the method of any one of aspects 20 to 25 when executed on a device having processing capabilities. Aspect 27 1. An encoder for encoding an upmix matrix in an audio encoding system, each row of the upmix matrix comprising M elements allowing reconstruction of a time / frequency tile of an audio object from a downmix signal comprising M channels, the encoder comprising: a receiving component adapted to receive each row in the upmix matrix; a selection component adapted to select a subset of elements from the M elements of the row in the upmix matrix; an encoding component adapted to represent each element in the selected subset of elements by a value and a position in the up-mix matrix, the encoding component being further adapted to encode the value and the position in the up-mix matrix of each element in the selected subset of elements. Encoder. Aspect 28 1. A method for reconstructing time / frequency tiles of an audio object in an audio decoding system, comprising: receiving a downmix signal comprising M channels; receiving at least one encoded element representing a subset of M elements of a row in an upmix matrix, each encoded element including a value and a position in that row in the upmix matrix, the position indicating one of the M channels of the downmix signal to which the encoded element corresponds; reconstructing the time / frequency tiles of the audio object from the downmix signal by forming a linear combination of the downmix channels corresponding to the at least one encoded element, where in the linear combination each downmix channel is multiplied by the value of its corresponding encoded element. method. Aspect 29 30. The method of embodiment 28, wherein a position of the at least one encoded element varies across multiple frequency bands and / or across multiple time frames. Aspect 30 30. The method of embodiment 28 or 29, wherein the number of elements of the at least one encoded element is equal to one. Aspect 31 A method described in any one of aspects 28 to 30, wherein for a plurality of frequency bands or a plurality of time frames, values ​​of the at least one encoded element form one or more vectors, each value being represented by an entropy coded symbol, each entropy coded symbol in each vector of entropy coded symbols corresponding to one of the plurality of frequency bands or one of the plurality of time frames, and the one or more vectors of entropy coded symbols being decoded using a method described in any one of aspects 11 to 17. Aspect 32 A method described in any one of aspects 28 to 31, wherein for multiple frequency bands or multiple time frames, the positions of the at least one encoded element form one or more vectors, each position being represented by an entropy coded symbol, each symbol in each vector of entropy coded symbols corresponding to one of the multiple frequency bands or multiple time frames, and the one or more vectors of entropy coded symbols are decoded using a method described in any one of aspects 11 to 17. Aspect 33 A computer-readable storage medium having computer code instructions adapted to perform the method of any one of aspects 28 to 32 when executed on a device having processing capabilities. Aspect 34 1. A decoder for reconstructing time / frequency tiles of an audio object, comprising: a receiving component configured to receive a downmix signal comprising M channels and at least one encoded element representing a subset of M elements of a row in an upmix matrix, each encoded element including a value and a position in that row in the upmix matrix, the position indicating one of the M channels of the downmix signal to which the encoded element corresponds; a reconstruction component configured to reconstruct the time / frequency tiles of the audio object from the downmix signal by forming a linear combination of the downmix channels corresponding to the at least one encoded element, wherein in the linear combination, each downmix channel is multiplied by a value of its corresponding encoded element. decoder.

Claims

1. 1. A method of encoding a vector of parameters in an audio encoding system, each parameter corresponding to a non-periodic quantity, the vector having a first element and at least one second element, the method comprising: representing each parameter in the vector by an index value that can take N different values; Calculating one or more symbols, the calculation comprising: calculating the difference between the index value of the second element and the index value of its preceding element in the vector; applying modulo N to the difference; associating each of the at least one second element with a respective symbol of the one or more symbols; encoding each of the at least one second element by entropy coding the symbol associated with the at least one second element based on a probability table containing probabilities of symbols, the first element and the at least one second element of the vector of parameters corresponding to different frequency bands used in the audio encoding system in a particular time frame; associating the first element in the vector with a symbol, the symbol being calculated as a shifted index value in a range modulo N, the shifted index value being shifted by an offset value relative to the first element in the vector; encoding the first element by entropy coding of a symbol associated with the first element based on a probability table containing probabilities of the symbols; method.

2. 2. The method of claim 1, wherein the probability table is converted to a Huffman codebook, a symbol associated with an element in the vector is used as a codebook index, and the encoding step includes encoding each of the at least one second element by representing the second element with a codeword in a codebook that is indexed by the codebook index associated with the second element.

3. the encoding step includes encoding the first element in the vector using the same Huffman codebook used to encode the at least one second element by representing the first element with a codeword in a Huffman codebook that is indexed by a codebook index associated with the first element. The method of claim 2.

4. A computer readable storage medium comprising computer code instructions adapted to carry out the method of any one of claims 1 to 3 when executed on a device having processing capabilities.