Optimised encoding and decoding of an audio signal using a neural network-based autoencoder

EP4487323A1Active Publication Date: 2025-01-08ORANGE SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023706801
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-02
Filing Date
2023-02-28
Publication Date
2025-01-08
Estimated Expiration
2043-02-28

AI Technical Summary

Technical Problem

Conventional audio signal coding and decoding methods using neural networks for image and video compression do not yield satisfactory results for audio signals due to differences in signal characteristics, such as signed values and greater spectral dynamics, leading to poor reconstruction quality.

Method used

The method involves decomposing audio signals into amplitude and phase components, analyzing the amplitude components using an autoencoder-based neural network to obtain a latent space, and separately coding the sign or phase components, which allows for optimized coding and decoding of audio signals, achieving transparency at a sufficient bit rate.

Benefits of technology

This approach ensures high-quality audio reconstruction by optimizing the coding process through end-to-end learning without requiring independent coding modules or perceptual considerations, achieving bit rate efficiency and maintaining signal quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 1.1
    Figure 1.1
Patent Text Reader

Abstract

The invention relates to a method for encoding an audio signal, comprising the following steps: - decomposing (102) the audio signal into at least amplitude components and sign or phase components; - analysing (104) the amplitude components, using a neural network-based autoencoder, in order to obtain a latent space representative of the amplitude components of the audio signal; - encoding (105) the latent space obtained; - encoding (106) at least some of the sign or phase components. The invention also relates to a corresponding decoding method, as well as to encoding and decoding devices implementing the respective encoding and decoding methods.
Need to check novelty before this filing date? Find Prior Art

Description

Description Title of the invention: Optimized coding and decoding of an audio signal using a neural network-based autoencoder Technical field

[0001] The present invention relates to the general field of coding and decoding audio signals. The invention relates in particular to the optimized use of a neural network-based auto-encoder for coding and decoding an audio signal. Prior art

[0002] In conventional audio signal coding and decoding systems, the input audio signal is generally converted into a frequency domain either by using a filter bank or by applying a short-term transform, to obtain an interesting coding gain and exploit the psychoacoustic properties of human auditory perception. Indeed, the exploitation of these psychoacoustic properties is done for example by distributing the bit budget in a non-uniform and / or adaptive manner according to the frequency bands. The time-frequency conversion can then be seen as a transformation towards a more suitable representation for performing coding at a given rate. The decoder, for its part, must invert this transformation.

[0003] For a lossy compression system, the general objective is to seek a representation of the signal that is as suitable as possible for coding at the lowest possible bit rate for a given quality or conversely with the best possible quality at a given bit rate. In the audio domain, perceptual considerations due to the imperfections of the human ear (e.g., masking phenomenon, etc.) can be exploited to obtain an even better bit rate / (perceptual) distortion compromise than with conventional non-perceptual coding.

[0004] Examples of classic audio codecs are given by MPEG-Audio standards (e.g. MP3, AAC, …) or other standards (e.g. ITU-T G.722.1, G.719). In general these codecs have architectures including different signal processing or quantization / coding modules which are optimized separately.

[0005] Recently, new approaches to signal compression have emerged using neural networks that perform end-to-end learning. With the widespread use of GPU (Graphical Processing Unit) architectures or other processors specialized for neural networks, this type of neural network coding approach is promising and could eventually replace traditional audio codecs.

[0006] An example of neural network architecture applied to the field of image and video compression is described in the articles:

[0007] “Johannes Ballé, Valero Laparra, Eero P. Simoncelli, End-to-end Optimized Image Compression, Int. Conf. on Learning Representations (ICLR), 2017” and “Johannes Ballé, David Minnen, Saurabh Singh, Sung Jin Hwang, Nick Johnston, Variational image compression with a scale hyperprior, Int. Conf. on Learning Representations (ICLR), 2018”.

[0008] These methods are based on the principle of (classical) autoencoders and so-called variational autoencoders (VAE).

[0009] Autoencoders are learning algorithms based on artificial neural networks, which allow to construct a new, more compact (compressed) representation of a data set. The architecture of an autoencoder consists of two parts or operators: the encoder (analysis part) f(x) which transforms the input data x into a representation z and the decoder (synthesis part) g(z) which resynthesizes the signal from z. The encoder consists of a set of layers of neurons, which process the input data x in order to construct a new representation called “latent space” (or hidden variables) z of low dimension. This latent space represents in compact form the important characteristics of the input signal. The layers of neurons of the decoder receive the latent space as input and process it in order to try to reconstruct the initial data.The differences between the reconstructed data and the original data allow us to measure the error made by the autoencoder. Training consists of modifying the autoencoder parameters in order to reduce the reconstruction error measured on the different samples of the dataset. Different error criteria are possible, such as, for example, the mean square error (MSE).

[0010] Unlike a classical autoencoder, a variational autoencoder (VAE) adds a representation of the latent space by a multivariate Gaussian model (means and variances) of the latent space. A VAE also consists of an encoder (or inference or recognition model) and a decoder (or generative model). A VAE tries to reconstruct the input data like an autoencoder, however, the latent space of a VAE is continuous.

[0011] The methods of Ballé et al. use network architectures based on 2D convolutional networks (with for example in one implementation a filter of size 5x5 and a decimation or an oversampling - respectively - by 2 in each encoding or decoding layer); an adaptive normalization called GDN (Generalized Divisive Network) is applied between each layer, which improves the performances compared to a normalization "batch normalization".

[0012] Note that the methods of Ballé et al. use an approximation of the coding of space by a simplified quantization model (adding noise) with a Gaussian model for learning, however the latent space is in fact encoded directly, which amounts to classical (or deterministic) autoencoder methods.

[0013] The direct application of the aforementioned methods of Ballé et al., derived from image and video compression, for the compression of audio signals is not satisfactory. Indeed, an image or a video sequence is made up of pixels which can be seen as random variables with integer values ​​over a predefined interval, for example [0, 255] for images or video with a resolution of 8 bits per pixel. These pixels have only positive values.

[0014] Audio signals, on the other hand, are generally signed-valued. Furthermore, audio signals, after a time / frequency transformation, can be real or complex. Furthermore, the spectral dynamics in the audio domain is greater than in the image or video domain, it is of the order of 16 bits per sample (or even more for so-called "high-resolution" audio). The direct transposition of an autoencoder architecture similar to Ballé et al. to audio gives relatively poor results, particularly in terms of reconstruction quality.

[0015] There is therefore a need to optimize auto-encoder type coding techniques for the field of audio coding / decoding. Presentation of the invention

[0016] The invention improves the state of the art.

[0017] To this end, the invention relates to a method for coding an audio signal comprising the following steps: - decomposition of the audio signal into at least amplitude components and sign or phase components; - analysis of the amplitude components by an auto-encoder based on a neural network to obtain a latent space representative of the amplitude components of the audio signal; - coding of the latent space obtained; - coding of at least part of the sign or phase components.

[0018] The invention allows for the optimized application of autoencoders using neural networks for the coding / decoding of audio signals. The differentiated coding of the sign component or the phase component, depending on the signal decomposition method, makes it possible to guarantee good audio quality. According to the invention, this quality can achieve performances up to transparency at sufficient bit rate, i.e. the quality of the decoded signal is very close to that of the original signal.

[0019] The method used is an end-to-end method that does not require independent optimization of the different coding modules. The method on the other hand does not need to take into account perceptual considerations like traditional audio coding methods.

[0020] In a particular embodiment, the method further comprises a step of compressing the amplitude components before their analysis by the auto-encoder.

[0021] Thus, the input data of the autoencoder are restricted, so as to optimize the analysis and obtaining the resulting latent space.

[0022] In an exemplary embodiment, the compression of the amplitude components is carried out by a logarithmic function.

[0023] This type of lower complexity compression provides advantageous compression performance to reduce the dynamics of the data at the input of the autoencoder.

[0024] In one embodiment, the audio signal before the decomposition step is obtained by an MDCT type transform applied to an input audio signal.

[0025] In one embodiment, the audio signal is a multi-channel signal.

[0026] In another embodiment of the invention, the audio signal is a complex signal comprising a real and imaginary part resulting from a transformation of an input audio signal, the amplitude components resulting from the decomposition step corresponding to the amplitudes of the combined real and imaginary parts and the sign or phase components corresponding to the signs or phases of the combined real and imaginary parts.

[0027] This type of frequency representation by MDCT or by another transform of the audio signal offers an advantage to the use of the coding method according to the invention, because it places the signal in a time / frequency representation similar to a spectrogram, which makes it possible more naturally to apply image or video compression methods to the amplitudes; the signs or phases are coded separately for better efficiency.

[0028] In one embodiment, all sign or phase components of the audio signal are encoded.

[0029] This solution has the advantage of being simple but requires sufficient flow.

[0030] In a particular embodiment, only the sign or phase components corresponding to the low frequencies of the audio signal are encoded.

[0031] Thus, it is possible to optimize the coding rate by coding only part of the signs or phases, which reduces the additional rate required for coding the signs or phases, without significantly impacting the quality of the reconstructed signal during decoding.

[0032] In an alternative embodiment, the sign or phase components corresponding to the low frequencies of the audio signal are coded and selective coding is performed. performed for the sign or phase components corresponding to the high frequencies of the audio signal.

[0033] This allows certain sign or phase components of high frequencies to be obtained in an optimized way while reducing the coding rate.

[0034] In one embodiment, the positions of the sign or phase components selected for the selective coding are also coded, thus finding the selection that was made during coding.

[0035] This solution, however, requires an additional coding rate for coding these positions.

[0036] In another embodiment, the positions of the selected sign or phase components and the associated values ​​are jointly encoded, which makes it possible to optimize the encoding rate for encoding this information and recovering it during decoding.

[0037] The invention also relates to a method for decoding an audio signal comprising the following steps: - decoding sign or phase components of the audio signal; - decoding a latent space representative of amplitude components of the audio signal; - synthesis of the amplitude components of the audio signal by a neural network-based auto-encoder, from the decoded latent space; - combination of the decoded amplitude components and the decoded sign or phase components to obtain a decoded audio signal.

[0038] The decoding method provides the same advantages as the encoding method described previously.

[0039] In a particular embodiment, in the case where the decoded phase components correspond to a part of the phase components of the audio signal, the other part is reconstructed before the combination step.

[0040] Thus, it is possible to optimize the coding rate of sign or phase information by coding and decoding only one part and reconstructing the other part in order to find all the sign or phase components during decoding.

[0041] The invention relates to a coding device comprising a processing circuit for implementing the steps of the coding method as described previously.

[0042] The invention also relates to a decoding device comprising a processing circuit for implementing the steps of the decoding method as described previously.

[0043] The invention relates to a computer program comprising instructions for implementing the coding or decoding methods as described above, when they are executed by a processor.

[0044] Finally, the invention relates to a storage medium, readable by a processor, me- implementing a computer program comprising instructions for carrying out the encoding method or the decoding method described above. Brief description of the drawings

[0045] Other characteristics and advantages of the invention will appear more clearly on reading the following description of particular embodiments, given as simple illustrative and non-limiting examples, and the appended drawings, among which:

[0046] [Fig.1a] illustrates an encoder and a decoder respectively implementing an encoding and decoding method according to a first embodiment of the invention;

[0047] [Fig.1b] illustrates an example of coding and multiplexing of sign bits according to the invention;

[0048] [Fig.1c] illustrates an example of coding and multiplexing of sign bits with a selection of high frequency bits according to the invention;

[0049] [Fig.1d] illustrates an encoder and a decoder respectively implementing an encoding and decoding method according to an alternative embodiment of the invention;

[0050] [Fig.2a] illustrates an example of embodiment of the analysis and synthesis parts of an auto-encoder used according to the invention;

[0051] [Fig.2b] illustrates an example of input / output format for the analysis part of an autoencoder used according to the invention;

[0052] [Fig.2c] illustrates an example of input / output format for the synthesis part of an autoencoder used according to the invention;

[0053] [Fig.3a] illustrates an encoder and a decoder respectively implementing an encoding and decoding method according to a second embodiment of the invention;

[0054] [Fig.3b] illustrates an encoder and a decoder respectively implementing an encoding and decoding method according to a third embodiment of the invention; and

[0055] [Fig.4] illustrates examples of structural embodiments of a coding device and a decoding device according to one embodiment of the invention. Description of the embodiments

[0056] [Fig.1a] describes a first embodiment of an encoder and a decoder according to the invention as well as the steps of an encoding method and a decoding method according to a first embodiment of the invention.

[0057] The codec shown in [Fig.1a] comprises an encoder (100) and a decoder (110).

[0058] The encoder 100 receives as input an input audio signal x, sampled at a frequency fs (for example 48 kHz) and divided into successive time frames of index t and length L≥1 sample(s), for example L=240 (5 ms); this signal x can be a mono (one-dimensional) signal noted x(t,n) where n is the time index, or a multichannel signal noted x(i,t,n) where i=0,...,C-1 is the channel index and C>1 is the number of channels. In an exemplary embodiment, we can take C = 2 for a stereo signal or C = 4 for an ambisonic signal of order 1.

[0059] The coding is carried out over a number of frames N T ≥ 1, where t = T o , T o + N T - 1 , where T o is a frame index identifying the first analyzed frame in the group of analyzed frames. Typically T o can start at T o = 0 by convention, then T o is incremented by N T.L samples to each group of analyzed frames.

[0060] A time / frequency transformation is applied at 101 to the input signal x. Generally speaking, this transformation can be carried out by a frequency transform described below (MDCT, STFT, etc.) or by a filter bank (PQMF, CLDFB, etc.) to obtain the transformed signal X.

[0061] In a given frame and for the mono case with transform coding, we denote this transformed signal (real or complex) X(t,k) where k is a frequency index. We will note that the filter banks can operate by sub-frames and generate a set of samples (real or complex) per sub-frame; in this case the transformed signal will be denoted X(t',k) where t' is a time index (of sub-frames) and k is a frequency index.

[0062] In the multichannel case, we generalize these notations to: X(i,t,k) where a transform is determined separately for each channel, or X(i,t',k) for the case of filter banks.

[0063] In a first embodiment, we consider the case of a modified discrete cosine transform MDCT (for "Modified Discrete Cosine Transform" in English) for a mono signal. In this case, the signal x(t,n), n=0,...,Ll in the current frame of index 1 is analyzed with an additional segment of L future samples that correspond to the future frame x(t,n), n=L,.. ,,2L-1, with the convention that x(t,n)= x(t+ 1 ,nL) for n=L, ... ,2L- 1.

[0064] The MDCT transform is defined by:

[0065]

[0066] k = 0, ... , L - 1

[0067] With k, the frequency index and L the number of frequency indices.

[0068] In an exemplary embodiment where fs=48000 Hz, we could for example take L = 240 samples; in this case we also obtain 240 frequency indices. Other values ​​of L are possible according to the invention.

[0069] In a preferred embodiment, the MDCT transform can be truncated when the high band is not relevant. For example, at 48 kHz, the 20-24 kHz band is not audible. For L = 240, the coefficients k = 200, . . . , 239 can be ignored, in this case we only keep the N K = first 200 coefficients k = 0, ..., N K - 1.

[0070] Subsequently, we will therefore note N K ≤ L the number of spectral coefficients actually used.

[0071] The MDCT transform can be decomposed into a windowing, time-folding, and add-overlap operation, followed by a discrete cosine transform (DCT-IV). Omitting the index fto simplify the notations of the intermediate signal (v ( n ) ), the windowing, folding and addition operations are given by:

[0072]

[0073] And

[0074] with for example a sinusoidal window given by:

[0075]

[0076] The DCT-IV discrete cosine transform is given by:

[0077]

[0078] In variants, other windows are possible as long as they verify the conditions for (quasi-)perfect reconstruction. Similarly, other definitions of the MDCT transform can be used such as the MLT transform (for "Modulated Lapped Transform") and the TDAC filter bank (for "Time-Domain Aliasing Cancellation"). Other fast implementation algorithms and other intermediate transformations than the DCT-IV (for example the LET transform (for "East Fourier Transform") can be used. The advantage of the MDCT transform is that it is critical decimation with L transformed coefficients for each frame of L samples of index f . This transformation gives a transformed signal X ( t, k ) , / < = (). . . . , L - 1 in the case of a single-channel input signal.

[0079] Thus, when several successive frames are analyzed and the transformed signal is concatenated, the transformed signal X ( t , k ) , t = T o , ... , T0+ N T - 1 , k = 0. . . . , N K - 1, where T o is a frame index identifying the first analyzed frame in the group of analyzed frames, can be seen as a two-dimensional matrix of size N T x N K with a time dimension (on the index z ) and a frequency dimension (on the index k).

[0080] In variants where the input signal is multichannel, a transform is determined separately for each channel, to obtain a transformed signal denoted X ( i, t, k ), where i = 0, . . . , C - 1 is the channel index.

[0081] In variants, it will be possible to use a switching of analysis windows, for example example based on transient detection. In this case, we typically use several shorter transforms giving the same number of coefficients in total, but divided into subframes and with reduced frequency resolution. In the mono case, for a critical decimation filter bank, this gives a transformed signal of the form X ( t', k ) , k = 0, . . . , N sub - 1

[0082] where / is the index of subframes of length L / N sub We do not present here the generalization to the multichannel case so as not to make the notations cumbersome.

[0083] In this case, for a temporal support covering N T frames, the transformed signal is still a two-dimensional matrix, but of size (N T .N sub ) x (N K / N sub ), with a time dimension (on the index t') and a frequency dimension (on the index k). For simplicity, we can denote N T ' = N T .Nsub and N K ' = N K IN T , with a matrix of size N T - x N K '.

[0084] In a second embodiment, the transformation has complex coefficients and could be, for example, a short-term discrete Fourier transformation.

[0085] In this embodiment, the use of the MDCT transform in block 101 of [Fig. 1a] can be replaced by a short-time Fourier transform (STFT).

[0086] The STFT is defined as follows:

[0088] where w(n) is for example a sinusoidal windowing on 2L samples as defined in the MDCT case. In variants other windowings are possible.

[0089] Similarly, in variants, other complex transformations will be used, for example an MCLT (for "Modulated Complex Lapped Transform" in English) which combines an MDCT, for the real part and an MDST (for "Modified Discrete Sine Transform" in English), for the imaginary part.

[0090] In this case, block 101 gives complex coefficients. In this variant, the complex coefficients of the transform (STFT, MCLT, etc.) are decomposed by block 102, into real and imaginary parts with:

[0091] X r (t, k) = Re (X(t, k) )

[0092] And

[0093] X i (t, k) = Im ( X(t, k) )

[0094] Where Re(.) the real part and Im(.) represents the imaginary part.

[0095] The coding method according to the invention is applied with different possible variants:

[0096] - Let the real and imaginary parts be seen as 2 channels, with a signal X(i,t,k) which can be seen as a stereo signal, where:

[0097] X(0, t, k) = X r (t, k) and X(l, t, k) = X i t, k)

[0098] In this case, the transformed signal is a three-dimensional matrix with a channel dimension, a time dimension (on the index t ) and a frequency dimension (on the index k)

[0099] - Either the real and imaginary parts are combined in a sequence whose support is doubled by interlacing:

[0100] X(2t, k) = X r (t, k) and X(2t + 1, k) = X t (t, k)

[0101] or by concatenation

[0102] X(t, k) = X r (t, k) and X(t + N T , k) = X t (t, k)

[0103] In this case, the transformed signal is still a two-dimensional matrix with a time dimension (on the indexr ), whose duration is doubled compared to the real case, and a frequency dimension (on the index k).

[0104] The generalization of the complex case to multichannel is not developed here because it follows the same principles.

[0105] Block 102 decomposes the transformed signal assumed to be mono and real (without loss of generality) X(t,k) into two parts: amplitudes IX(t,k)l, k=0,..., N K -1 and signs noted here s(t,k),k=0,..., N K -1 defined for example as follows:

[0106] ( , )

[0107] This operation is generalized for the case where the transformed signal is multidimensional, in which case the extraction of amplitudes and signs is done separately for each coefficient.

[0108] In the case of complex coefficients, block 102 therefore provides amplitude components of both the real part and the imaginary part of the signal X(t,k):

[0112] and sign components corresponding to the signs of the real and imaginary parts of the signal X(t,k).

[0113] Thus, the amplitude at the output of block 102 corresponds to the amplitudes of the combined real and imaginary parts, the signs at the output of block 102 correspond to the signs of the combined real and imaginary parts.

[0114] Block 103 implements amplitude normalization and / or compression The aim is to reduce the spectral dynamics and facilitate processing by an autoencoder. Below are described different examples of implementation for the mono case with an MDCT transform.

[0115] In a particular embodiment, the compression carried out by this block 103 may be carried out by a logarithmic function such as the law μ defined without loss of generality on an interval [0, 1] as follows:

[0116]

[0117] where the value of q is for example fixed at μ=255 and the factor of X norm is a maximum value. The output value Y ( t, k ) is here normalized to [0, 1].

[0118] In an example of realization we take y > o 15 assuming that the input signals are in 16-bit PC format, and that the transform maintains the maximum input level. In variants, other fixed (constant) values ​​of X norm are possible, especially with scaling depending on the transform used.

[0119] In another example of realization X norm is given by:

[0121] representing here the maximum value over all frames (or subframes) on a sequence t = T0, ... , T0+ N T - Idu signal to be coded (which causes a coding delay if N T> 1). This embodiment has the disadvantage of having an additional delay and requiring the transmission of the X factor norm (or its inverse). In an exemplary embodiment, the (positive) value of X norm is encoded on 7 bits according to a logarithmic scale - the encoding can be according to the ITU-T G.711 standard or simply according to a dictionary of the form 2 15i / 127 , i = 0, ... , 127-

[0122] In a variant, X norm can be calculated based on all elements of the input data as follows:

[0124] where Ds represents the set of data for training the network 120. In this case this predetermined value during training does not have to be transmitted, but it depends on the training base and can cause saturations if on a particular test signal.

[0125] In some cases normalization involves coding the maximum level X norm(the link with the multiplexer 107) is not shown so as not to make [Fig. 1a] heavier.

[0126] In other embodiments, other compression functions than the q law may be used, for example an A law or a sigmoid function.

[0127] In yet another possible variant, no compression or normalization is used. In this case, the module 103 does not exist and it is assumed that the analysis block 104 of the autoencoder 120 uses integrated batch normalization or GSD-type layers according to the methods of Ballé et al..

[0128] In variants, only amplitude compression is applied so that the maximum amplitude remains preserved, by normalizing the signal depending on the maximum value:

[0130] by applying compression, then multiplying the signal by X normto keep the maximum value equal to X norm in the current frame(s) of index t = T0, . . . , T0+ N T - 1.

[0131] This principle of normalization and / or amplitude compression is directly generalized to the multidimensional case, the maximum value being calculated on all the coefficients taking into account all the dimensions, either separately (with a maximum value per channel), or simultaneously (with a global maximum value).

[0132] Block 104 represents the analysis part of an example of an autoencoder. An example of the implementation of block 104 is given in relation to Figure 2a described later. Here the input of the network corresponds to the amplitudes of the transformed and compressed signal; this signal - here in the mono case - corresponds to a spectrogram and can be seen as a two-dimensional image (of size N T x N Kin the preferred embodiment) when several successive frames or subframes are grouped as described above.

[0133] In an exemplary embodiment, we consider the case of a group of N T = 200 frames of 240 samples (i.e. one second of signal at 48 kHz), which gives 200 x 200 coefficients if N K = 200 MDCT coefficients are stored on the 0-20 kHz band. In variants, the signal can be analyzed over a shorter or longer duration, the extreme case being given by a single frame N T = 1 of 20 ms to get N K = 800 MDCT coefficients on the 0-20 kHz to 48 kHz band (we only keep the first 800 out of 960 coefficients per frame).

[0134] In variants, we will take a filter bank. For example, taking the case of a different sampling frequency, we can take 20 subframes in a 20 ms frame at 32 kHz, which gives 20 x 40 MDCT coefficients on the 0-16 kHz band at 32 kHz for block 104.

[0135] The output of the encoder part 104 is the representation of the signal in a latent space denoted Z( ,m p ' q ), Or m is an activation map index, and p ' q are the row (temporal) and column (frequency) indices in each activation map.

[0136] Block 104 is responsible for finding a representation of the signal in a latent space noted Z(m' p' q), such that:

[0137]

[0138] where f a is the function applied by the network analysis part and θ acorresponds to the parameters of the neural network. These parameters will be learned during model training.

[0139] In a particular embodiment where F autoencoder follows the principle of a variational autoencoder during the learning phase, each latent map is assumed to follow a Gaussian distribution such that: according to Ballé et al. (2017).

[0140] The distribution of values ​​is assumed to be homogeneous, the variance is estimated for each activation map (or "feature map" in English). In variants, a hyperlatent version according to Ballé et al (2018) is used, where , which amounts to applying a Gaussian model to each "pixel" of index p' q in each index map m .

[0141] The latent representation Z(m, p, q) also called latent space corresponds to the bottleneck of F auto-encoder.

[0142] In the examples given previously, we will have for example a latent space of size 128 x 25 x 25 for the case of real input data of size 200 x 200 for the network example given in [Fig.2a],

[0143] If we assume coding (block 105) by scalar quantization and entropy coding, when training F auto-encoder, the parameters θ a (coding) and θ d (decoding) are optimized according to the following cost function:

[0144]

[0145] where D is a measure of distortion defined for example by:

[0146]

[0147] where P Y(t,k) is the probability distribution of Y(t,k).

[0148] R is the estimate of the throughput required to transmit the latent space defined as follows:

[0149]

[0150] with P Z(m) the probability distribution of Z(m,p,q) (network learning phase). In practice, for the learning phase, the throughput R is evaluated by a summation over m ' p ' q of the entropy estimated according to the Gaussian probability model and the distortion is evaluated by a summation of the squared error on the different input / output data.

[0151] For the network usage phase, the rate R is replaced by the actual rate of an entropy coding (e.g. arithmetic coding).

[0152] The trade-off between reconstruction fidelity and bit rate is configurable by the value λ. A small λ will favor reconstruction quality at the expense of bit rate, a large λ will favor bit rate, but the quality of the output audio signal will be degraded.

[0153] In the case of vector quantization, the neural network is trained to minimize distortion at a given bit rate.

[0154] This latent space which is representative of the amplitude components of the audio signal is coded in block 105 for example by scalar quantization and entropy coding (e.g. arithmetic coding) as in the articles of Ballé et al. cited above. It should be noted that during learning the entropy coding is typically replaced by a theoretical quantization model and an estimation of the Shannon entropy, as in the articles of Ballé et al.

[0155] In variants, the coding of the latent space (block 105) is done by vector quantization at a given rate. An exemplary embodiment consists of applying a vector quantization of the gain-shape type as a function of an overall bit budget allocated to the quantization of the latent space, where an overall gain (scalar) and a shape coded per block of 8 coefficients by algebraic vector quantization according to the article by S. Ragot et al., "Low-Complexity Multi-Rate Lattice Vector Quantization with Application to Wideband TCX Speech Coding at 32 kbit / s," Proc. ICASSP, Montreal, Canada, May 2004. This method is for example implemented in the 3GPP AMR-WB+ and EVS codecs.

[0156] According to the invention the signs, noted s(t,k) for the case of a real transform of a mono signal, are coded separately, by block 106 according to embodiments described later.

[0157] The latent representation coded in 105 as well as the signs coded in 106 are multiplexed in the binary stream in block 107.

[0158] We now describe different embodiments of the coding of the signs (block 106) according to the invention. According to the invention, three main variants are developed for the current frame(s):

[0159] A. Coding of all signs B. Coding of all signs in low frequencies and selective coding of signs in high frequencies (with random uncoded signs and / or estimated by phase reconstruction / prediction) – phases can be estimated by performing a Modified Discrete Sine Transform (MDST) of the signal reconstructed in previous frames, the uncoded signs are then deduced from the predicted phases as detailed later. C. Coding of all signs in low frequencies and phase reconstruction / prediction for the estimation of signs in high frequencies

[0160] For amplitudes coded at a given bit rate, these three sign coding variants allow different bit rate / quality compromises to be achieved: variant A gives the best quality but at a high bit rate, variant B gives intermediate quality at a lower bit rate, and finally variant C gives more limited quality but at a reduced bit rate. The limiting frequency delimiting low and high frequencies is a parameter allowing this compromise to be controlled more precisely, this frequency noted N b f below may be fixed or adaptive.

[0161] In variants, it will be possible to combine variants B and C by defining several frequency sub-bands: a low band (where all bits are coded), an intermediate band (where a selection of bits are coded), a high band (where no bits are transmitted, and the sign bits are estimated at the decoder).

[0162] Note that the signs s (t, k), t = T0, ..., T0+ N T - 1 , k = 0, . . . , N K - 1 correspond equivalently to a binary matrix

[0163]

[0164] size N T x N K , which corresponds for example to 40000 bits per second (therefore a flow rate of 40 kbit / s) for example N T = 200, N K = 200 of a signal sampled at 48 kHz and coded in blocks of 200 frames covering 1 second. In variants the complementary convention (which reverses the definition of bits 0 and 1) may be used.

[0165] Figure 1b illustrates a direct embodiment (variant A), where these sign bits b(t,k) are simply multiplexed in a predetermined order in the bitstream, for example by writing the signs b(t,k) frame by frame, t ranging from T o to T o + N T- 1 and in a given frame according to a predetermined order, for example from k = 0 to k = N K - 1. In variants, we can write the signs b ( t, k) in any given order which corresponds to a two-dimensional permutation of the matrix of size N T x N K .

[0166] It should be noted that this coding is easily generalized to the multichannel case, since it is sufficient to define the sign bits b (i, t, k) corresponding to X (i, t, k) and to multiplex all the bits over the set of 3 dimensions (i, t, k).

[0167] Figure 1c illustrates another embodiment (variant B) where not all the signs s(t, k) are coded in order to reduce the bit rate required for sign coding. In this exemplary embodiment, all the signs of the low frequencies k = 0, . . . , - 1 and a subset of N are coded pk signs of high frequencies k = N bf , , N K - 1, WHERE N b? can be set to a fixed value (e.g. N bf = 80 for N K = 200 in the previous example) or adaptive (depending on the signal), and N pk is also fixed at a predetermined value (N pk = 2 in Figure 1c). According to the embodiments, variant B can encode, in addition to the signs in low frequencies and the selected bits in high frequencies, metadata on a budget of B hf bits. 168] In variants, a cut with more than 2 frequency sub-bands (in addition to the low and high bands) can be used so as to allocate more finely the number of sign bits coded per sub-band. Preferably, the signs of the first frequency band will all be coded because it is important to preserve the sign information for the low frequencies. 169] It will be noted that this coding is easily generalized to the multi-channel case, since it is sufficient to define the sign bits b ( i, t, k ) corresponding to X ( i, t, k ) and to repeat the coding and multiplexing of the signs for each channel of index i. 170] Different methods of selection and / or coding (indexing) of the subset of signs are possible by first considering the simple case of 2 sub-bands and a single sub-band at high frequencies: 171] • Variant B1: • In a variant (variant B 1a), A search for the N pklargest peaks among N high-frequency coefficients ( N hf = N K - N bf is performed on the original amplitude spectrum. The search N pk most important peaks can be done simply in 2 steps, first by searching for the lines of index k = N bf + 1 , . . . , N K - 2 which verify peaks on the lines which verify and , then to order the indices k obtained to retain the cor- positions responding to N pk largest values. In variants, other methods of detecting N pk amplitude peaks may be used, for example the method described in clause 5.4.2.4.2 of 3GPP TS 26.447. 172] The sign positions among N , hf high- coefficients frequencies is encoded by combinatorial coding techniques. For example, when N pk = 2 and N hf= 200-80=120, we will have 7140 possible combinations, or B hf = 13 bits per frame (i.e. 2.6 kbit / s for 200 frames per second). The sign coding rate is then: (80+2+13)x200 = 19 kbit / s. In variants, the high band can be divided into separate sub-bands and the method applied per sub-band, or into series of interlaced positions ("tracks") and the method applied per "track" (the tracks are here defined in the sense of a decomposition of the positions in polyphase form similar to the pulse coding in the ACELP method of the ITU-T G.729 standard).

[0173] • In another variant (variant B1b), a block error-correcting code is used to jointly encode the position and values ​​of the signs. In this case, the signed spectrum is used and the binary error-correcting code [Nc, Kc, Dc], where Nc is the length (in bits), Kc the number of check bits, and Dc the Hamming distance, is converted into values ​​+1 and -1 instead of 1 and 0 (respectively). The position of the signs and the associated sign values ​​are jointly encoded. For a given frame of index t, the encoding in block 106 is then carried out for a sub-block of frequency lines (successive or interleaved) of length Kc, by scalar product between and the different code words (with values ​​+1 / -1), and by retaining the code word maximizing the scalar product. The principle of this encoding by error-correcting code is for example detailed in document S.Ragot, The hexacode, the Golay code and the Leech network: definition, construction, application in quantification, Master's thesis, Department of electrical and computer engineering, University of Sherbrooke, Qc, Canada, Dec. 1999.

[0174] In an example of implementation, we can take an extended Hamming code of type [2 m , 2 m - m - 1, 4] whose values ​​are + / -1 and not 0 / 1, which means that the signs (and their positions) of 2 m lines are represented on 2 m - m – 1 bits. For example, taking an extended Hamming code [8, 4, 4], we cut the N hf = 200-80=120 bits of signs in high frequencies in 15 blocks of 8 bits, and we obtain by decoding (taking the signed spectrum as the value of “soft bit”) a total of 15 blocks of 4 control bits, or 60 bits per frame (or 12 kbit / s for 200 frames per second) to code the signs (and their positions).

[0175] The coding rate of the sign bits is therefore (80+60)x200 = 28 kbit / s. In variants, other block correction codes will be used. In variants, the correction codes can be interleaved to allow the coded sign bits to be distributed more easily.

[0176] • In other sub-variants (variant B1c), we can also classify the sub-bands into tonal band or noise band according to, for example, a “spectral flatness” criterion known from the state of the art, then we will only code signs in the tonal bands. This “spectral flatness” criterion is estimated on the original amplitudes, and a tone indication must be transmitted for each sub-band in addition to the positions. • Variant B2: the search for the N pk most important peaks is performed on the coded amplitude spectrum, so that the position of the peaks does not have to be transmitted, because the same information (coded amplitude spectrum) can be available to the decoder. However, this assumes that block 106 has access to the output (coded latent space) of block 105 and that the synthesis part of F autoencoder (block 113) is applied to perform local decoding.

[0177] In other sub-variants, we can also classify the sub-bands into tonal band or noise band according to, for example, a criterion of "spectral flatness" known from the state of the art, then we will only code signs in the tonal bands. This criterion of "spectral flatness" is estimated on the amplitudes decoded locally (therefore not transmitted).

[0178] In variants, the selection of the position of the signs may be based on an estimation of the frequency masking curve to detect the most perceptually important peaks, for example as a function of a signal to mask ratio according to the methods known in the state of the art.

[0179] [Fig.ld] illustrates another embodiment (variant C) where all the signs in the low frequencies are coded (multiplexed) in the block 120 and the bits of the high frequencies are not transmitted to the encoder. These missing data are estimated at the decoder by reconstruction / phase prediction for the estimation of the signs in the high frequencies.

[0180] So in this variant, we code all the signs of the low frequencies k = 0, . , N bf .. 1 and no sign of high frequencies k = N bf , ... , N K - 1 , where N bf can be set to a fixed or adaptive value.

[0181] For the previous example, where N T = 200, N K = 200 of a signal sampled at 48 kHz and coded in blocks of 200 frames covering 1 second, the required bit rate for the signs is for example 16,000 bits over one second (i.e. 16 kbit / s) when N bf = 80 (i.e. a cut-off frequency of 8 kHz).

[0182] The above methods generalize to the case of several sub-bands, and also to the cases of a filter bank, of a complex transform separated into real or imaginary parts, or to the multi-channel case.

[0183] In other variants, the different implementations of the sign coding may be adapted in the case where the coefficients are divided into frequency sub-bands and the sign coding is carried out separately for each sub-band.

[0184] [Fig.1a] also shows the decoder 110 now described.

[0185] Block 111 demultiplexes the binary stream to find on the one hand the coded representations of the latent space Z(m) and on the other hand, the signs s(k).

[0186] The latent space is decoded at 112. The synthesis part (block 113) of F auto-encoder 120 reconstructs the spectrum from the decoded latent space in the form:

[0187]

[0188] Block 114 allows to decompress the amplitude and to denormalize the amplitude (if block 103 has been implemented). In this case we use for example an inverse logarithmic function like the inverse μ-law defined by:

[0189] ]

[0190] When a variant of block 103 is implemented, block 114 is adapted accordingly. In some cases, normalization involves decoding a maximum level (the link with the demultiplexer 111) is not shown so as not to make [Fig.1a] heavier.

[0191] The signal signs are decoded in block 115 as follows:

[0192] In the case where all sign bits b ( t, k') , t = T0, ... , T0+ N T - 1, k = 0, ... , N K - 1 have been multiplexed one by one in the bit stream, we demultiplex the received bits according to the order writing block 106. When the bitstream has not suffered any bit errors, we will have

[0193] As in coding, we distinguish 3 variants of decoding sign information (Variants A, B, C).

[0194] In variant A, sign decoding is reduced to demultiplexing the sign bits according to the order used in coding and converting the value of the sign bit with, for example:

[0195]

[0196] In variant B, the decoding of the signs is carried out as in variant A for the low-frequency sign bits. A part of the high-frequency signs is coded, the N are demultiplexed. pk bits per frame and we decode the positions to find the corresponding positions. The decoding of the positions is carried out according to the coding method used, either by combinatorial decoding methods or by error-correcting codes.

[0197] In variants (B la), the positions are determined from the decoded amplitudes avec possibly the estimation of a curve of masking.

[0198] So we have:

[0199]

[0200]

[0201] For the rest of the high frequency signs, in one variant, all the signs are given a random value, in another variant all the signs are given the same value, i.e.

[0202]

[0203] , where randomQ is a draw binary random according to the state of the art.

[0204] In other variants (Blb), the signs and their positions are jointly decoded to obtain directly . For example, in taking an extended Hamming code [8, 4, 4], we cut the N hf= 200-80=120 bits of high-frequency signs in 15 blocks of 8 bits. We demultiplex 8 times an index on 4 bits and we obtain by "corrective coding" the code word (among 16 possibilities) with values ​​+ / -1 directly giving the sequence on 8 frequency lines (consecutive or interlaced).

[0205] In variant C, illustrated in [Fig.ld], the sign decoding is performed as in variant A for the low frequency sign bits (block 130). The high frequency signs are missing information, and they are estimated for example by methods described in 3GPP TS 26.447, clause 5.4.2.43 (tonal prediction). It should be noted here that unlike a frame loss correction, the amplitude information is available here for the high frequencies. Only the sign information is missing and is therefore estimated. An example of implementation consists of adapting the MDCT frame loss correction methods described in clause 5.4.2.43 of 3GPP TS 26.447. The phases can be estimated by performing a MOST (Modified Discrete Sine Transform) type transformation of the signal reconstructed in the previous frames, the uncoded signs are then deduced from the predicted phases.In particular, the signs can be determined at the decoder by retaining the sign of the result of equation 146 of the 3GPP TS 26.447 standard.

[0206] Block 116 allows the combination of decoded signs and amplitudes for the reconstruction of the initial frames according to the following formula:

[0207] Block 117 applies inverse MDCT to obtain the decoded signal When the number N K of MDCT coefficients used is such that N K < L block 117 will add L - N K coefficients to zero at the end of the spectrum of each frame, in order to find a spectrum of L coefficients.

[0208] Each operation of the inverse MDCT operates on L coefficients to produce L audio samples in the time domain. The inverse MDCT can be decomposed into a DCT-IV followed by windowing, unfolding and addition operations. The DCT-IV is given by:

[0209]

[0210] Windowing, unfolding, and adding operations use half the samples from the current frame's DCT-IV output with half the samples from the previous frame's DCT-IV output according to:

[0211]

[0212]

[0213] Or

[0214]

[0215] The unused half of u( ) is stored as u old ( ) to be used in the following frame:

[0216]

[0217] [Fig.2a] illustrates the elements of the auto-encoder 120, in particular the elements of the analysis 104 and synthesis 113 parts.

[0218] The analysis part of block 104 is composed in this example of four convolutional layers (blocks 200, 202, 204 and 206). Each layer consists of a 2D convolution with filters of dimension K x K (for example 5x5), followed by a decimation by 2 of the size of the activation maps. The size of the activation maps becomes smaller and smaller as we progress in the analysis part. However, the dimensions at the input and output of the layers are generally different.

[0219] [Fig.2b] shows an example of application of the layers of blocks 200, 202, 204, and 206 of the analysis part. The first layer represented by block 200 receives a mono signal (1,200,200). At the output of this layer, we receive an activation map of size (128, 200, 200), where N=128 is the number of activation maps considered in this layer. The next block 202 receives a multichannel signal of size (128, 200, 200), and with the decimation by 2 of the size of the activation map, we obtain as output an activation map of size (128, 100, 100). The same process is applied by layer 204 where we have as output an activation layer of size (128,50,50). Finally, the last block 206 gives a signal of size (128, 25, 25).

[0220] Following each of the first 3 2D convolution layers, a “Leaky ReLU” activation function is used in block 201, 203 and 205. The “Leaky ReLU” function is defined as follows:

[0221]

[0222] with a negative slope constant having for example the value 0.01.

[0223] For the last layer, there is no activation function so as not to limit the values ​​that y can take at the output of the layer.

[0224] In variants, the ReLU function may be replaced by other functions known in the state of the art, for example an ELU (Exponential Linear Unit) function.

[0225] For the synthesis part (block 113), the latter has a mirrored architecture compared to the analysis part. There are 4 successive layers of 2D transposed convolution (blocks 216, 214, 212 and 210). The addition of the transposed convolution allows for a richer non-linear interpolation than a simple linear weighting of the values. In the synthesis part, it is the last layer, block 216, which has N inputs and the number of output signal channels, the other layers have N inputs and outputs. As for the analysis part, after each of the first 3 layers, a "Leaky ReLU" activation function is used in blocks 215, 213 and 211.

[0226] [Fig.2c] shows an example of application of the layers of blocks 210, 212, 214, and 216 of the synthesis part. Block 210 receives a multichannel signal of size (128, 25, 25) and gives an activation map of size (128, 50, 50). In the same way, blocks 212 and 214 give layers of size (128, 100, 100) and (128, 200, 200) respectively. Finally, layer 216 receives a signal of size (128, 200, 200) and gives a signal of the same size as the original mono signal (1, 200, 200).

[0227] The number of activation maps N allows to give more or less degrees of freedom to the model to represent the input signals. For training done only with a distortion constraint without a flow constraint (λ = 0), the higher the value of N, the higher the reconstruction quality of the model will be. For a given N, training done only with a distortion constraint (λ = 0) allows to have an estimate of the maximum reconstruction quality that the model can expect with N activation maps. With the introduction of the flow constraint (λ > 0), the reconstruction quality will necessarily be less important than this maximum quality.

[0228] [Fig. 3a] now illustrates a second embodiment of an encoder 300 and a decoder 310 according to the invention as well as the steps of an encoding method and a decoding method according to a second embodiment of the invention. While the first embodiment decomposes the audio signal into amplitudes and signs, the second embodiment decomposes the audio signal into amplitudes and phases. The sign coding principles described for the first embodiment are extended to the case of phases, the main difference being that instead of having 1 bit to represent a sign (or a sign bit) there will generally be several bits per phase. (for example 7 bits in low frequency and 5 bits in high frequency). When the phase is coded on 1 bit, we will fall back on a case similar to the first embodiment where the sign is coded.

[0229] In this figure, the transform block 101 remains the same as that described with reference to [Fig. 1a], but with a complex transform (STFT or MCLT for example).

[0230] Block 302 differs from block 102 in Figure 1a. This block 302 decomposes the transformed signal X(t,k) into two parts: amplitudes IX(t,k)l, t = T0, . . , T0 + N T - 1 , k=0,..., N K- 1 and phases noted here ∅(t,k) = arg X(t,k), t = T0, • • • ' T0 + N T - 1 ,k=0,..., N K- 1 where arg(.) is the complex argument.

[0231] For amplitude coding, blocks 103 to 105 described with reference to [Fig.1a] remain unchanged.

[0232] In this embodiment, block 306 separately codes the phases thus obtained from the input signal. These coded phases are then multiplexed into the bit stream at 307, with the latent representation coded at 105. The main difference compared to the embodiment of the figure lies in the fact that the phase information is not coded on 1 bit but on a larger budget, for example 7 bits per phase, for a uniform scalar quantization dictionary on [0, 2π], with a step of π / 64. In variants, the budget for coding a phase may depend on the frequency band, with for example 7 bits per phase at low frequencies and 5 bits per phase at high frequencies.

[0233] As in the first embodiment, we can define 3 variants:

[0234] A. Coding of all phases B. Coding of all phases in low frequencies and selective coding of phases in high frequencies (with random non-coded phases and / or estimated by phase reconstruction / prediction). In this case, as for the sign coding in the first embodiment, it will be possible to select positions of the N pk the important "peaks" and encode / multiplex the phases at these positions; the N pk peak positions are coded as in the first embodiment (variants B 1a or B 1c). C. Coding of all phases in low frequencies and phase reconstruction / prediction for phase estimation in high frequencies. In this case, only the phases are coded for low frequencies, for

[0235] During decoding, block 311 demultiplexes the binary stream to find on the one hand the coded representations of the latent space Z(m,p,q) representing the amplitude part on the other hand, the coded version of the phases.

[0236] Blocks 112 to 114 remain unchanged from those described with reference to [Fig.1a].

[0237] Block 315 decodes the phases according to the variants A, B used in coding, in order to combine them in 316 with the decoded amplitudes. Variant C is considered in [Fig.3b].

[0238] The inverse transform block 117 remains unchanged from block 117 of [Fig.1a].

[0239] [Fig.3b] now illustrates another embodiment of an encoder 400 and a decoder 410 according to the invention as well as the steps of an encoding method and a decoding method according to an embodiment of the invention.

[0240] In this embodiment, block 401 uses a short-term Fourier transform STFT. Block 402 performs a decomposition of the transformed signal X(t,k) into two parts: amplitudes and phases noted here

[0241] In this embodiment, only a part of the phases, for example, only the part corresponding to the low frequencies of the transformed signal (Φ1), is coded by block 406.

[0242] Alternatively, part of the high frequency phase components may also be encoded.

[0243] In an exemplary embodiment, with an STFT where L = 240 samples, low frequency means the frequency lines of index 0 to N bf -1 = 79 which corresponds to approximately an 8 kHz frequency band.

[0244] For amplitude coding, blocks 103 to 105 described with reference to [Fig.1a] remain unchanged.

[0245] The 105-encoded latent representation is then multiplexed into the 407 bitstream with the 406-encoded portion of the transformed signal phases.

[0246] On decoding, block 411 demultiplexes the bitstream to find the coded representations of the latent space Z(m,p,q) and part of the signal phases.

[0247] This phase part for low frequencies is decoded in 415

[0248] Blocks 112 to 114 remain unchanged from those described with reference to [Fig.1a].

[0249] The other part of the phases for high frequencies is reconstructed by the block 418. For this, after the inverse compression of block 114, an algorithm for reconstructing the uncoded phases of the STFT is used in this block 418. This algorithm allows the inversion of the amplitude spectrogram using an algorithm as described in the document DW Griffin and JS Lim, “Signal estimation from modified short-time Fourier transform,” IEEE Trans. ASSP, vol.32, no.2, pp.236–243, Apr. 1984. Given an amplitude matrix for a short-time Fourier transform, the algorithm randomly initializes the cor- responding to then alternates STFT operations direct and inverse. Preferably, this estimation of the high-frequency phases can be implemented by processing at a sampling frequency lower than the sampling frequency fs of the input / output signal.

[0250] Block 416 combines the decoded amplitudes and decoded phases and re- constructed then an application of the inverse STFT is performed in the block 417 for the reconstruction of the original signal.

[0251] [Fig.4] illustrates a DCOD coding device and a DDEC decoding device, within the meaning of the invention, these devices being dual to each other (in the sense of "reversible") and connected to each other by a RES communication network.

[0252] The DCOD coding device comprises a processing circuit typically including: - a memory MEM1 for storing instruction data of a computer program within the meaning of the invention (these instructions can be distributed between the DCOD coder and the DDEC decoder); - an interface INT1 for receiving an audio signal of mono or multichannel origin x; - a processor PROC1 for receiving this signal and processing it by executing the computer program instructions stored in the memory MEM1, with a view to coding it; in particular, the processor being capable of controlling an analysis module of an auto-encoder based on a neural network; and - a communication interface COM 1 for transmitting the coded signals via the network.

[0253] The DDEC decoding device comprises its own processing circuit, typically including: - a memory MEM2 for storing instruction data of a computer program within the meaning of the invention (these instructions can be distributed between the DCOD coder and the DDEC decoder as indicated previously); - a COM2 interface for receiving the coded signals from the RES network with a view to their compression decoding within the meaning of the invention; - a PROC2 processor for processing these signals by executing the computer program instructions stored in the MEM2 memory, with a view to their decoding; in particular, the processor being capable of controlling a synthesis module of an auto-encoder based on neural network; and - an INT2 output interface to deliver the decoded audio signal.

[0254] Of course, this [Fig.4] illustrates an example of a structural embodiment of a codec (coder or decoder) within the meaning of the invention. Figures 1 to 3 commented above describe in detail functional embodiments of these codecs.

Claims

Claims

1. A method for encoding an audio signal comprising the following steps: - decomposition (102) of the audio signal into at least amplitude components and sign or phase components; - analysis (104) of the amplitude components by a neural network-based autoencoder to obtain a latent space representative of the amplitude components of the audio signal; - encoding (105) of the latent space obtained; - encoding (106) of at least a portion of the sign or phase components.

2. A method according to claim 1, further comprising a step of compressing the amplitude components before their analysis by the autoencoder.

3. A method according to claim 2, wherein the compression of the amplitude components is performed by a logarithmic function.

4. A method according to claim 1, wherein the audio signal before the decomposition step is obtained by an MDCT-type transform applied to an input audio signal.

5. A method according to any one of the preceding claims, wherein the audio signal is a multichannel signal.

6. A method according to claim 1, wherein the audio signal is a complex signal comprising a real and an imaginary part resulting from a transformation of an input audio signal, the amplitude components resulting from the decomposition step corresponding to the amplitudes of the combined real and imaginary parts, and the sign or phase components corresponding to the signs or phases of the combined real and imaginary parts.

7. A method according to claim 1, wherein all the sign or phase components of the audio signal are encoded.

8. A method according to claim 1, wherein only the sign or phase components corresponding to the low frequencies of the audio signal are encoded.

9. A method according to claim 1, wherein the sign or phase components corresponding to the low frequencies of the audio signal are encoded and selective encoding is performed for the sign or phase components corresponding to the high frequencies of the audio signal.

10. A method according to claim 9, wherein the positions of the com-. Sign or phase components selected for selective coding are also coded.

11. A method according to claim 9, wherein the positions of the selected sign or phase components and their associated values ​​are jointly coded.

12. A method for decoding an audio signal comprising the following steps: - decoding (112) sign or phase components of the audio signal; - decoding (115) a latent space representing amplitude components of the audio signal; - synthesis (113) of the amplitude components of the audio signal by a neural network-based autoencoder, from the decoded latent space; - combination (116) of the decoded amplitude components and the decoded sign or phase components to obtain a decoded audio signal.

13. A decoding method according to claim 8, wherein, where the decoded phase components correspond to a portion of the phase components of the audio signal, the other portion is reconstructed before the combination step.

14. An encoding device comprising a processing circuit for implementing the steps of the encoding method according to any one of claims 1 to 11.

15. A decoding device comprising a processing circuit for implementing the steps of the decoding method according to any one of claims 12 to 13.

16. A processor-readable storage medium storing a computer program comprising instructions for executing the encoding method according to any one of claims 1 to 11 or the decoding method according to any one of claims 12 to 13.