EP4487323A1 - Codage et décodage optimisé d'un signal audio utilisant un auto-encodeur à base de réseau de neurones - Google Patents

Codage et décodage optimisé d'un signal audio utilisant un auto-encodeur à base de réseau de neurones

Info

Publication number
EP4487323A1
EP4487323A1 EP23706801.0A EP23706801A EP4487323A1 EP 4487323 A1 EP4487323 A1 EP 4487323A1 EP 23706801 A EP23706801 A EP 23706801A EP 4487323 A1 EP4487323 A1 EP 4487323A1
Authority
EP
European Patent Office
Prior art keywords
audio signal
coding
sign
decoding
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP23706801.0A
Other languages
German (de)
English (en)
Other versions
EP4487323B1 (fr
Inventor
Stéphane RAGOT
Mohamed YAOUMI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Publication of EP4487323A1 publication Critical patent/EP4487323A1/fr
Application granted granted Critical
Publication of EP4487323B1 publication Critical patent/EP4487323B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Definitions

  • the present invention relates to the general field of the coding and decoding of audio signals.
  • the invention relates in particular to the optimized use of an auto-encoder based on a neural network for the coding and decoding of an audio signal.
  • PRIOR ART [0002]
  • the input audio signal is generally converted into a frequency domain either by the use of a bank of filters or by the application of a short-term transform, to obtain an interesting coding gain and exploit the psychoacoustic properties of human auditory perception.
  • the exploitation of these psychoacoustic properties is done for example by distributing the bit budget in a non-uniform and/or adaptive way as a function of the frequency bands.
  • the time-frequency conversion can then be seen as a transformation towards a representation more suitable for performing coding at a given rate.
  • the decoder for its part, must invert this transformation.
  • the general objective is to seek a representation of the signal which is as suitable as possible for coding at the lowest possible bit rate at a given quality or vice versa with the best possible quality at a given quality. a given flow.
  • perceptual considerations due to the imperfections of the human ear e.g.
  • Auto-encoders are learning algorithms based on artificial neural networks, which make it possible to construct a new, more compact (compressed) representation of a data set.
  • the architecture of an auto-encoder 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 is made up of a set of layers of neurons, which process the input data x in order to construct a new low-dimensional representation called “latent space” (or hidden variables) z.
  • 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 them in order to try to reconstruct the initial data.
  • the differences between the reconstructed data and the initial data make it possible to measure the error committed by the auto-encoder.
  • the training consists in modifying the parameters of the auto-encoder in order to reduce the reconstruction error measured on the different samples of the data set. Different error criteria are possible, such as, for example, the root mean square error (MSE).
  • MSE root mean square error
  • a variational auto-encoder 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 auto-encoder, however, the latent space of a VAE is continuous.
  • 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 spectrum. trogram, which more naturally makes it possible to apply image or video compression methods to the amplitudes; the signs or phases are coded separately for better efficiency.
  • all sign or phase components of the audio signal are encoded. This solution has the advantage of being simple but requires sufficient throughput. In a particular embodiment, only the sign or phase components corresponding to the low frequencies of the audio signal are coded.
  • 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 of a latent space representative of amplitude components of the audio signal; - synthesis of the amplitude components of the audio signal by an auto-encoder based on a neural network, from the decoded latent space; - combining the decoded amplitude components and the decoded sign or phase components to obtain a decoded audio signal.
  • the decoding method provides the same advantages as the coding method described previously.
  • the decoded phase components correspond to part of the phase components of the audio signal
  • the other part is reconstructed before the combining step.
  • the invention relates to an encoding device comprising a processing circuit for implementing the steps of the encoding method as described above.
  • the invention also relates to a decoding device comprising a processing circuit for implementing the steps of the decoding method as described above.
  • 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.
  • the invention relates to a storage medium, readable by a processor, morisant a computer program comprising instructions for the execution of the method of coding or of the method of decoding described previously.
  • FIG.1a illustrates an encoder and a decoder respectively implementing an encoding and decoding method according to a first embodiment of the invention
  • FIG.1b illustrates an example of coding and multiplexing of sign bits according to the invention
  • FIG.1c illustrates an example of coding and multiplexing of sign bits with a selection of bits at high frequencies according to the invention
  • FIG.1d illustrates an encoder and a decoder respectively implementing a method of coding and decoding according to an alternative embodiment of the invention
  • FIG.2a illustrates an embodiment of the analysis and synthesis parts of an auto-encoder used according to the invention
  • [0051] [Fig.2b] illustrates an example of
  • the [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 of a decoding method. according to a first embodiment of the invention.
  • the codec represented in [Fig.1a] comprises an encoder (100) and a decoder (110).
  • fs for example 48 kHz
  • x(t,n) where n is the temporal index
  • C 2 for a stereo signal
  • C 4 for an ambisonic signal of order 1.
  • a time/frequency transformation is applied at 101 to the input signal x.
  • this transformation can be carried out by a frequency transform described below (MDCT, STFT, etc.) or by a bank of filters (PQMF, CLDFB, etc.) to obtain the transformed signal X.
  • this transformed signal (real or complex) is denoted X(t,k) where k is a frequency index.
  • the filter banks can operate by subframes and generate a set of samples (real or complex) per subframe; in this case the transformed signal will be denoted X(t',k) where t' is a temporal index (of subframes) and k is a frequency index.
  • these notations are generalized 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.
  • a modified discrete cosine transform MDCT for “Modified Discrete Cosine Transform” for a mono signal
  • the MDCT transform is defined by:
  • L 240 samples; in this case, 240 frequency indices are also obtained.
  • Other values of L are possible according to the invention.
  • the MDCT transform when the high band is not relevant. For example, at 48 kHz, the 20-24 kHz band is not audible.
  • N K ⁇ L the number of spectral coefficients actually used.
  • the MDCT transform can be broken down into a windowing, temporal folding and addition-covering operation, followed by a discrete cosine transformation (DCT-IV). Omitting the subscript f to lighten the notations of the intermediate signal (v(n)), the windowing, folding, and adding operations are given by:
  • 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 temporal dimension (on the index z ) and a frequency dimension (on the index k).
  • 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).
  • N T ' N T .N sub
  • N K ' N K IN T , with a matrix of size N T -x N K '.
  • the transformation is with complex coefficients and it could for example be a short-term discrete Fourier transformation.
  • the use of the MDCT transform in block 101 of [FIG. la] can be replaced by a short-time Fourier transform STFT (for “Short-Time Fourier Transform” in English).
  • the STFT is defined as follows:
  • w(n) is for example a sinusoidal windowing on 2L samples as defined in the MDCT case.
  • other windowings are possible.
  • an MCLT for "Modulated Complex Lapped Transform” in English
  • MDCT for the real part
  • MDST for "Modified Discrete Sine Transform” in English
  • block 101 gives complex coefficients.
  • the complex coefficients of the transform STFT, MCLT, etc.
  • block 102 the real and imaginary parts with:
  • the coding method according to the invention is applied with different possible variants:
  • 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)
  • the transformed signal is still a two-dimensional matrix with a temporal dimension (on the index r ), the duration of which is doubled with respect to the real case, and a frequency dimension (on the index k).
  • This operation is generalized for the case where the transformed signal is multidimensional, in this case the extraction of the amplitudes and the signs is done separately for each coefficient.
  • block 102 therefore supplies amplitude components of both the real part and the imaginary part of the signal X(t,k):
  • the amplitude at the output of block 102 corresponds to the amplitudes of the real and imaginary parts combined
  • the signs at the output of block 102 correspond to the signs of the real and imaginary parts combined.
  • Block 103 implements amplitude normalization and/or compression The goal is to reduce the spectral dynamics and facilitate processing by an auto-encoder.
  • Various exemplary embodiments for the mono case with an MDCT transform are described below.
  • the compression performed by this block 103 could be performed by a logarithmic function such as the ⁇ law defined without loss of generality on an interval [0, 1] as follows:
  • y>o 15 is taken assuming that the input signals are in 16-bit PC- format, and that the transform retains the maximum input level.
  • other fixed (constant) values of X norm are possible, in particular with a scaling according to the transform used.
  • X norm is given by:
  • This embodiment has the disadvantage of having an additional delay and of requiring the transmission of the norm X factor (or its inverse).
  • X norm can be calculated on the basis of all the elements of the input data as follows:
  • Ds represents all the training data of the network 120.
  • this predetermined value during learning does not have to be transmitted, but it depends on the learning base and can cause saturations if on a particular test signal.
  • the normalization involves coding the maximum level X norm (the link with the multiplexer 107) is not shown so as not to make [FIG. there].
  • no compression or normalization is used.
  • the module 103 does not exist and it is assumed that the analysis block 104 of the auto-encoder 120 uses an integrated normalization of the “batch normalization” type or layers of the GSD type according to the methods of Ballé and al..
  • This principle of normalization and/or amplitude compression can be generalized directly to the multidimensional case, the maximum value being calculated on all the coefficients by taking into account all the dimensions, either separately (with a maximum value by channel), or simultaneously (with an overall maximum value).
  • Block 104 represents the analysis part of an example auto-encoder.
  • An exemplary embodiment of block 104 is given in relation to FIG. 2a described below.
  • the network input 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 ⁇ N K in the preferred embodiment) when several successive frames or sub-frames are grouped together as described previously.
  • the output of the encoder part 104 is the representation of the signal in a latent space denoted Z( ,mp ' q ), where m is an activation map index, and p ' q are the line indices (temporal ) and column (frequency) in each activation map.
  • Block 104 is responsible for finding a representation of the signal in a latent space noted Z(m' p' q), such as:
  • each latent map is assumed to follow a Gaussian distribution such that: according to
  • the latent representation Z(m, p, q), also called latent space, corresponds to the bottleneck of F auto-encoder.
  • D is a measurement of the distortion defined for example by:
  • R is the estimation of the bit rate necessary to transmit the latent space defined as follows:
  • bit rate R is replaced by the actual bit rate of an entropy coding (for example arithmetic coding).
  • the compromise between fidelity of the reconstruction and throughput can be parameterized by the value ⁇ .
  • a small ⁇ will favor the quality of reconstruction to the detriment of the bit rate, a large ⁇ will favor the bit rate, but the quality of the output audio signal will be degraded.
  • the neural network is trained to minimize distortion at a given bit rate.
  • 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 (eg arithmetic coding) as in the articles by Ballé et al. aforementioned. It will be noted that during learning, the entropy coding is typically replaced by a theoretical quantification model and an estimate of Shannon's entropy, as in the articles by Ballé et al.. In variants, the coding of the latent space (block 105) is done by vector quantization at a given rate.
  • An exemplary implementation is to apply gain-shape type vector quantization according to a global bit budget allocated to latent space quantization, where a global (scalar) gain and block-coded form 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.
  • the signs denoted s(t,k) for the case of a real transform of a mono signal, are coded separately, by the block 106 according to embodiments described below.
  • the latent representation coded in 105 as well as the signs coded in 106 are multiplexed in the binary stream in block 107.
  • Coding of all the signs in the low frequencies and selective coding of the signs in high frequencies (with random non-coded signs and/or estimated by reconstruction/phase prediction) – phases can be estimated by performing an MDST (Modified Discrete Sine Transform) type transformation of the signal reconstructed in the previous frames, the non-coded signs coded are then deduced from the predicted phases as detailed below.
  • C. Coding of all signs at low frequencies and phase reconstruction/prediction for estimating signs at high frequencies different bit rate/quality compromises: variant A gives the best quality but at a high bit rate, variant B gives an intermediate quality at a lower bit rate, and finally variant C gives a more limited quality but at a reduced bit rate.
  • the limiting frequency delimiting the low and high frequencies is a parameter allowing this compromise to be controlled more finely, this frequency denoted N b f below may be fixed or adaptive.
  • variants B and C it will be possible to combine variants B and C by defining several frequency sub-bands: a low band (where all the 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).
  • N K 200 of a sampled signal - pulsated at 48 kHz and encoded in blocks of 200 frames covering 1 second.
  • the complementary convention (which reverses the definition of bits 0 and 1) could be used.
  • this coding can easily be generalized to the multichannel case, then that it suffices to define the bits of sign b ( i, t, k ) corresponding to X ( i, t, k ) and to multiplex all the bits on all 3 dimensions (i, t, k).
  • FIG. 1e illustrates another embodiment (variant B) where not all the signs s(t, k) are coded in order to reduce the bit rate required for coding the signs.
  • the variant B can encode, in addition to the signs at low frequencies and the bits selected at high frequencies, metadata on a budget of B hf bits.
  • the signs of the first frequency band will all be coded because it is important to preserve the sign information for the low frequencies.
  • other methods for detecting N pk amplitude peaks could be used, for example the method described in clause 5.4.2.4.2 of the 3GPP TS 26.447 standard.
  • the position of the signs and the values of associated signs are coded jointly.
  • the coding in the block 106 then takes place for a sub-block of frequency lines (successive or interlaced) of length Kc, by scalar product between and the different code words (with values +1 / -1), and retaining the code word maximizing the dot product.
  • the principle of this correction code coding is for example detailed in the document S. Ragot, The hexacode, the Golay code and the Leech network: definition, construction, application in quantification, Master's thesis, Department of electrical engineering and Computer Science, University of Sherbrooke, Qc, Canada, Dec.
  • other block correcting codes will be used.
  • other sub-variants variant B1c
  • Variant B2 the search for the N pk most important peaks is carried out 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 at the decoder. However, this assumes that block 106 has access to the output (encoded latent space) of block 105 and that the auto-encoder synthesis portion (block 113) is applied to perform local decoding.
  • the selection of the position of the signs could be based on an estimate of the frequency masking curve to detect the perceptually most important peaks, for example according to a signal to mask ratio according to the known methods in the state of the art.
  • the [Fig.ld] illustrates another embodiment (variant C) where all the signs in the low frequencies are encoded (multiplexed) in the block 120 and the high frequency bits are not transmitted to the encoder. These missing data are estimated at the decoder by phase reconstruction/prediction for the estimation of signs at high frequencies.
  • N T 200
  • N K 200 of a signal sampled at 48 kHz and encoded in blocks of 200 frames covering 1 second
  • the above methods can be generalized to the case of several sub-bands, and also to the case of a filter bank, of a complex transform separated into real or imaginary parts, or to the multichannel case.
  • the different realizations of the coding of the signs could be adapted in the case where the coefficients are divided into frequency sub-bands and the coding of the signs is carried out separately for each sub-band.
  • the [Fig.1a] also represents the decoder 110 now described.
  • 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).
  • 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:
  • Block 114 decompresses the amplitude and denormalizes the amplitude (if block 103 has been implemented).
  • an inverse logarithmic function such as the inverse ⁇ -law defined by:
  • block 114 is adapted accordingly.
  • the normalization involves decoding a maximum level (the link with the demultiplexer 111) is not shown so as not to weigh down the [Fig.la],
  • the signs of the signal are decoded in block 115 as follows:
  • the decoding of the signs comes down to demultiplexing the sign bits according to the order used in the coding and converting the value of the sign bit with, for example:
  • variant B the decoding of the signs is carried out as in variant A for the sign bits of the low frequencies.
  • a part of the signs at high frequencies is coded, the N pk bits are demultiplexed per frame and the positions are decoded to find the corresponding positions.
  • the decoding of positions is carried out according to the coding method used, either by combinatorial decoding methods or by error correcting codes.
  • the positions are determined from the decoded amplitudes with possibly the estimation of a curve of masking.
  • randomQ is a draw binary random according to the state of the art.
  • the signs and their positions are jointly decoded to directly obtain .
  • variant C illustrated in [Fig.ld] the decoding of the signs is performed as in variant A for the low frequency sign bits (block 130).
  • the signs of the high frequencies are missing information, and they are estimated for example by methods described in the standard 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 high frequencies. Only the sign information is missing and is therefore estimated.
  • An exemplary embodiment consists of adapting the MDCT frame loss correction methods described in clause 5.4.2.43 of the 3GPP TS 26.447 standard.
  • the phases can be estimated by carrying out a transformation of the MOST type (Modified Discrete Sine Transform) of the signal reconstructed in the preceding frames, the non-coded signs are then deduced from the predicted phases.
  • 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.
  • the block 116 allows the combination of the decoded signs and the amplitudes for the reconstruction of the initial frames according to the following formula:
  • Block 117 applies the inverse MDCT to obtain the decoded signal
  • 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.
  • 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:
  • the windowing, unfolding and addition operations use half of the samples of the DCT-IV output of the current frame with half of those of the DCT-IV output of the previous frame according to:
  • FIG.2a illustrates the elements of T auto-encoder 120, in particular the elements of the analysis 104 and synthesis 113 part.
  • 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 (eg 5x5), followed by a decimation by 2 of the size of the activation maps. The size of the activation cards becomes smaller and smaller as one progresses in the analysis part. However, the dimensions at the entrance and at the exit of the layers are generally different.
  • the [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).
  • the next block 202 receives a multi-channel signal of size (128, 200, 200), and with the decimation by 2 of the size of the activation map, an activation map of size (128, 100, 100).
  • the same process is applied by the layer 204 where we have in output an activation layer of size (128,50,50).
  • the last block 206 gives a size signal (128, 25, 25).
  • a “Leaky ReLU” activation function is used block 201, 203 and 205.
  • the “Leaky ReLU” function is defined as follows: [0221] [0222] with a negative slope constant having for example a value of 0.01. 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.
  • the ReLU function may be replaced by other functions known in the state of the art, for example an ELU (Exponential Linear Unit) function.
  • ELU Extra Linear Unit
  • Block 210 receives a multi-channel signal of size (128, 25, 25) and provides an enable map of size (128, 50, 50). Similarly, 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 outputs a signal of the same size as the original mono signal (1,200,200).
  • 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 transform block 101 remains the same as that described with reference to [FIG. la], but with a complex transform (STFT or MCLT for example).
  • STFT complex transform
  • MCLT complex transform
  • block 306 separately encodes the phases thus obtained of the input signal. These encoded phases are then multiplexed into the bit stream at 307, with the encoded latent representation at 105.
  • the main difference from the embodiment of figure la is that the phase information is not encoded 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.
  • the budget for coding a phase may depend of the frequency band, with for example 7 bits per phase at low frequencies and 5 bits per phase at high frequencies.
  • 3 variants can be defined:
  • 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 encoded version of the phases.
  • the blocks 112 to 114 remain unchanged from those described with reference to [Fig.1a].
  • the block 315 decodes the phases according to the variants A, B used in the coding, in order to combine them at 316 with the decoded amplitudes.
  • Variant C is considered in [Fig.3b].
  • the inverse transform block 117 remains unchanged with respect to the block 117 of [Fig.1a].
  • 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.
  • block 401 uses a short-term Fourier transform STFT.
  • Block 402 breaks down the transformed signal X(t,k) into two parts: amplitudes and phases noted here [0241] In this embodiment, only part of the phases, for example, only the part corresponding to the low frequencies of the transformed signal ( ⁇ 1 ), is coded by the block 406. [0242] In a variant, part of the Phase components of high frequencies can also be encoded.
  • the blocks 103 to 105 described with reference to [Fig.1a] remain unchanged.
  • the latent representation coded at 105 is then multiplexed into the binary stream at 407 with the portion coded at 406 of the phases of the transformed signal.
  • block 411 demultiplexes the binary stream to find the coded representations of the latent space Z(m,p,q) and part of the phases of the signal.
  • This phase part for low frequencies is decoded in 415
  • the blocks 112 to 114 remain unchanged from those described with reference to [Fig.1a].
  • the other part of the phases for the high frequencies is reconstructed by the block 418.
  • 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 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.
  • Block 416 Given an amplitude matrix for a short-term Fourier transform, the algorithm randomly initializes the cor- respondent to then alternates the operations of STFT direct and reverse. Preferably, this estimation of the phases at high frequencies could be implemented by processing at a sampling frequency lower than the sampling frequency fs of the input/output signal.
  • Block 416 combines the decoded amplitudes and the decoded phases and constructed then an application of the inverse STFT is performed in the block 417 for the reconstruction of the original signal.
  • the decoding device DDEC 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 possibly being distributed between the DCOD encoder and the DDEC decoder as indicated above); - 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 processor PROC2 to process these signals by executing the computer program instructions stored in the memory MEM2, with a view to their decoding; in particular, the processor being capable of driving a synthesis module of an auto-encoder based on neural network; and - an output interface INT2 to deliver the decoded audio signal.
  • 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 the functional embodiments of these codecs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Codage et décodage optimisé d'un signal audio utilisant un auto-encodeur à base de réseau de neurones L'invention se rapporte à un procédé de codage d'un signal audio comportant les étapes suivantes : - décomposition (102) du signal audio en au moins des composantes d'amplitudes et des composantes de signes ou de phase; - analyse (104) des composantes d'amplitudes par un auto-encodeur à base de réseau de neurones pour obtenir un espace latent représentatif des composantes d'amplitude du signal audio; - codage (105) de l'espace latent obtenu; - codage (106) d'au moins une partie des composantes de signes ou de phase. L'invention se rapporte également à un procédé de décodage correspondant ainsi qu'à des dispositifs de codage et de décodage mettant en œuvre les procédés de codage et de décodage respectifs.

Description

Description Titre de l'invention : Codage et décodage optimisé d’un signal audio utilisant un auto-encodeur à base de réseau de neurones Domaine technique [0001] La présente invention se rapporte au domaine général du codage et du décodage de signaux audio. L’invention se rapporte en particulier à l’utilisation optimisée d’un auto-encodeur à base de réseau de neurones pour le codage et décodage d’un signal audio. Technique antérieure [0002] Dans les systèmes de codage et décodage classiques de signal audio, le signal audio d'entrée est en général converti dans un domaine fréquentiel soit par l’utilisation d’un banc de filtres soit par l’application d’une transformée court-terme, pour obtenir un gain de codage intéressant et exploiter les propriétés psychoacoustiques de la perception auditive humaine. En effet, l’exploitation de ces propriétés psychoa- coustiques se fait par exemple en répartissant le budget de bits de façon non uniforme et/ou adaptive en fonction des bandes de fréquences. La conversion temps-fréquence peut alors être vue comme une transformation vers une représentation plus adaptée pour effectuer un codage à un débit donné. Le décodeur, de son côté, doit inverser cette transformation. [0003] Pour un système de compression avec perte, l'objectif général est de chercher une re- présentation du signal qui soit la plus adaptée possible à un codage au débit le plus faible possible à qualité donnée ou inversement avec la meilleure qualité possible à un débit donné. Dans le domaine de l’audio, des considérations perceptuelles dues aux im- perfections de l’oreille humaine (ex : phénomène de masquage, …) peuvent être ex- ploitées pour obtenir un compromis débit/distorsion (perceptuelle) encore meilleur qu’avec un codage classique non perceptuel. [0004] Des exemples de codecs audio classiques sont donnés par les standards MPEG- Audio (ex: MP3, AAC, …) ou autres standards (ex : UIT-T G.722.1, G.719). En général ces codecs ont des architectures comprenant différents modules de traitement du signal ou de quantification/codage qui sont optimisés séparément. [0005] Récemment, de nouvelles approches de compression des signaux sont apparues par l’utilisation des réseaux de neurones réalisant un apprentissage dit de bout en bout. Avec la généralisation des architectures de type GPUs (pour « Graphical Processing Units » en anglais) ou d’autres processeurs spécialisés pour les réseaux de neurones, ce type d’approche de codage par réseaux de neurones est prometteuse et pourrait à terme remplacer les codecs audios traditionnels. [0006] Un exemple d‘architecture de réseau de neurones appliqués au domaine de la com- pression d’images et de vidéo est décrit dans les articles : [0007] “Johannes Ballé, Valero Laparra, Eero P. Simoncelli, End-to-end Optimized Image Compression, Int. Conf. on Learning Representations (ICLR), 2017” et “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] Ces méthodes s’appuient sur le principe des auto-encodeurs (classiques) et des auto- encodeurs dits variationnels (VAE). [0009] Les auto-encodeurs sont des algorithmes d’apprentissage à base de réseaux de neurones artificiels, qui permettent de construire une nouvelle représentation plus compacte (compressée) d’un jeu de données. L’architecture d’un auto-encodeur est constituée de deux parties ou opérateurs : l’encodeur (partie analyse) f(x) qui transforme les données d’entrée x en une représentation z et le décodeur (partie synthèse) g(z) qui resynthétise le signal à partir de z. L’encodeur est constitué d’un ensemble de couches de neurones, qui traitent les données d’entrée x afin de construire une nouvelle représentation dite “espace latent” (ou variables cachées) z de faible dimension. Cet espace latent représente sous forme compacte les caractéristiques im- portantes du signal d’entrée. Les couches de neurones du décodeur, reçoivent l’espace latent en entrée et les traitent afin d’essayer de reconstruire les données de départ. Les différences entre les données reconstruites et les données initiales permettent de mesurer l’erreur commise par l’auto-encodeur. L’entraînement consiste à modifier les paramètres de l’auto-encodeur afin de réduire l’erreur de reconstruction mesurée sur les différents échantillons du jeu de données. Différents critères d’erreur sont possibles, comme, par exemple, l’erreur quadratique moyenne (MSE en anglais). [0010] A la différence d’un auto-encodeur classique, un auto-encodeur variationnel (VAE) rajoute une représentation de l’espace latent par un modèle gaussien multivarié (moyennes et variances) de l’espace latent. Un VAE est également constitué d’un encodeur (ou modèle d’inférence ou de reconnaissance) et un décodeur (ou modèle génératif). Un VAE essaie de reconstruire les données d’entrée comme un auto- encodeur, cependant, l’espace latent d’un VAE est continu. [0011] Les méthodes de Ballé et al. Utilisent des architectures de réseaux à base de réseaux convolutionnels 2D (avec par exemple dans une réalisation un filtre de taille 5x5 et une décimation ou un suréchantillonnage – respectivement - par 2 dans chaque couche d’encodage ou de décodage) ; une normalisation adaptive dite GDN (Generalized Divisive Network) est appliquée entre chaque couche, ce qui améliore les per- formances par rapport à une normalisation « batch normalization ». [0012] On notera que les méthodes de Ballé et al. utilisent une approximation du codage de l’espace par un modèle simplifié de quantification (ajout de bruit) avec un modèle gaussien pour l’apprentissage, cependant l’espace latent est en fait codée directement, ce qui revient à des méthodes d’auto-encodeur classique (ou déterministe). [0013] L’application directe des méthodes précitées de Ballé et al., issues de la compression d’images et vidéo, pour la compression de signaux audio n’est pas satisfaisante. En effet, une image ou une séquence vidéo est constituée de pixels qui peuvent être vues comme des variables aléatoires à valeurs entières sur un intervalle prédéfini, par exemple [0, 255] pour des images ou vidéo ayant une résolution de 8 bits par pixel. Ces pixels n’ont que des valeurs positives. [0014] Les signaux audios sont en revanche en général à valeurs signées. De plus, les signaux audios, après une transformation temps/fréquences, peuvent être réels ou complexes. En outre, la dynamique spectrale dans le domaine audio est plus importante que dans le domaine de l’image ou de la vidéo, elle est de l’ordre de 16 bits par échantillon (voire plus pour l’audio dit « haute résolution »). La transposition directe d’une architecture d’auto-encodeur similaire à Ballé et al. à l’audio donne des résultats relativement mauvais, notamment en termes de qualité de reconstruction. [0015] Il existe donc un besoin d’optimisation des techniques de codage de type auto- encodeur pour le domaine du codage/décodage audio. Exposé de l'invention [0016] L’invention vient améliorer l’état de la technique. [0017] A cet effet, l’invention vise un procédé de codage d’un signal audio comportant les étapes suivantes : - décomposition du signal audio en au moins des composantes d’amplitudes et des composantes de signes ou de phase ; - analyse des composantes d’amplitudes par un auto-encodeur à base de réseau de neurones pour obtenir un espace latent représentatif des composantes d’amplitude du signal audio ; - codage de l’espace latent obtenu ; - codage d’au moins une partie des composantes de signes ou de phase. [0018] L’invention permet d’appliquer de façon optimisée des auto-encodeurs utilisant des réseaux de neurones pour le codage/décodage des signaux audios. Le codage dif- férencié de la composante de signe ou de la composante de phase, selon la méthode de décomposition du signal, permet de garantir une bonne qualité audio. Selon l’invention, cette qualité peut atteindre des performances allant jusqu’à la transparence à débit suffisant, c'est-à-dire que la qualité du signal décodé est très proche de celle du signal d’origine. [0019] La méthode utilisée est une méthode de bout en bout qui ne nécessite pas d’optimisation indépendantes des différents modules de codage. La méthode d’autre part n’a pas besoin de prendre en compte des considérations perceptuelles comme les méthodes de codage audio traditionnelles. [0020] Dans un mode de réalisation particulier, le procédé comporte en outre une étape de compression des composantes d’amplitude avant leur analyse par l’auto-encodeur. [0021] Ainsi, les données en entrée de l’auto-encodeur sont restreintes, de façon à optimiser l’analyse et l’obtention de l’espace latent résultant. [0022] Dans un exemple de réalisation, la compression des composantes d’amplitude s’effectue par une fonction logarithmique. [0023] Ce type de compression de complexité moindre apporte une performance de com- pression avantageuse pour réduire la dynamique des données à l’entrée de l’auto-encodeur. [0024] Dans un mode de réalisation, le signal audio avant l’étape de décomposition est obtenu par une transformée de type MDCT appliqué à un signal audio d’entrée. [0025] Dans un mode de réalisation, le signal audio est un signal multicanal. [0026] Dans un autre mode de réalisation de l’invention, le signal audio est un signal complexe comportant une partie réelle et imaginaire issue d’une transformation d’un signal audio d’entrée, les composantes d’amplitude issue de l’étape de décomposition correspondant aux amplitudes des parties réelles et imaginaires combinées et les com- posantes de signe ou de phase correspondant aux signes ou phases des parties réelles et imaginaires combinées. [0027] Ce type de représentation fréquentielle par MDCT ou par une autre transformée du signal audio offre un avantage à l’utilisation du procédé de codage selon l’invention, car elle met le signal dans une représentation temps/fréquence similaire à un spec- trogramme, ce qui permet plus naturellement d’appliquer des méthodes de com- pression d’images ou vidéo sur les amplitudes ; les signes ou phases sont codés à part pour une meilleure efficacité. [0028] Dans un mode de réalisation, toutes les composantes de signes ou de phase du signal audio sont codées. [0029] Cette solution a l’avantage d’être simple mais demande d’avoir un débit suffisant. [0030] Dans un mode particulier de réalisation, seules les composantes de signes ou de phase correspondant aux basses fréquences du signal audio sont codées. [0031] Ainsi, il est possible d’optimiser le débit de codage en ne codant qu’une partie des signes ou des phases, ce qui réduit le débit supplémentaire nécessaire au codage des signes ou phases, sans pour autant impacter de façon significative la qualité du signal reconstruit au décodage. [0032] Dans une variante de réalisation, les composantes de signes ou de phase cor- respondant aux basses fréquences du signal audio sont codées et un codage sélectif est effectuée pour les composantes de signes ou de phase correspondant aux hautes fréquences du signal audio. [0033] Cela permet d’obtenir certaines composantes de signes ou de phases des hautes fréquences de façon optimisée tout en réduisant le débit de codage. [0034] Dans un mode de réalisation, les positions des composantes de signes ou de phase sé- lectionnées pour le codage sélectif sont également codées, pour ainsi retrouver la sélection qui a été opérée au codage. [0035] Cette solution demande cependant un débit de codage supplémentaire pour le codage de ces positions. [0036] Dans un autre mode de réalisation, les positions des composantes de signes ou de phase sélectionnées ainsi que les valeurs associées sont codées conjointement, ce qui permet d’optimiser le débit de codage pour coder ces informations et les retrouver au décodage. [0037] L’invention se rapporte également à un procédé de décodage d’un signal audio comportant les étapes suivantes : - décodage de composantes de signes ou de phase du signal audio ; - décodage d’un espace latent représentatif de composantes d’amplitude du signal audio ; - synthèse des composantes d’amplitude du signal audio par un auto-encodeur à base de réseau de neurones, à partir de l’espace latent décodé ; - combinaison des composantes d’amplitude décodées et des composantes de signes ou de phase décodées pour obtenir un signal audio décodé. [0038] Le procédé de décodage apporte les mêmes avantages que le procédé de codage décrit précédemment. [0039] Dans un mode particulier de réalisation, dans le cas où les composantes de phase décodées correspondent à une partie des composantes de phase du signal audio, l’autre partie est reconstruite avant l’étape de combinaison. [0040] Ainsi, il est possible d’optimiser le débit de codage des informations de signes ou de phases en n’en codant et décodant qu’une partie et de reconstruire l’autre partie afin de retrouver toutes les composantes de signe ou de phase au décodage. [0041] L’invention vise un dispositif de codage comportant un circuit de traitement pour la mise en œuvre des étapes du procédé de codage tel que décrit précédemment. [0042] L’invention vise aussi un dispositif de décodage comportant un circuit de traitement pour la mise en œuvre des étapes du procédé de décodage tel que décrit précédemment. [0043] L’invention se rapporte à un programme informatique comportant des instructions pour la mise en œuvre des procédés de codage ou de décodage tels que décrits pré- cédemment, lorsqu’ils sont exécutés par un processeur. [0044] Enfin l’invention se rapport à un support de stockage, lisible par un processeur, mé- morisant un programme informatique comportant des instructions pour l’exécution du procédé de codage ou du procédé de décodage décrits précédemment. Brève description des dessins [0045] D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels : [0046] [Fig.1a] illustre un codeur et un décodeur mettant en œuvre respectivement un procédé de codage et de décodage selon un premier mode de réalisation de l’invention ; [0047] [Fig.1b] illustre un exemple de codage et de multiplexage de bits de signe selon l’invention ; [0048] [Fig.1c] illustre un exemple de codage et de multiplexage de bits de signe avec une sélection de bits en hautes fréquences selon l’invention ; [0049] [Fig.1d] illustre un codeur et un décodeur mettant en œuvre respectivement un procédé de codage et de décodage selon une variante de réalisation de l’invention ; [0050] [Fig.2a] illustre un exemple de réalisation des parties analyse et synthèse d’un auto- encodeur utilisé selon l’invention ; [0051] [Fig.2b] illustre un exemple de format d’entrée/sortie pour la partie analyse d’un auto-encodeur utilisé selon l’invention ; [0052] [Fig.2c] illustre un exemple de format d’entrée/sortie pour la partie synthèse d’un auto-encodeur utilisé selon l’invention ; [0053] [Fig.3a] illustre un codeur et un décodeur mettant en œuvre respectivement un procédé de codage et de décodage selon un deuxième mode de réalisation de l’invention ; [0054] [Fig.3b] illustre un codeur et un décodeur mettant en œuvre respectivement un procédé de codage et de décodage selon un troisième mode de réalisation de l’invention ; et [0055] [Fig.4] illustre des exemples de réalisation structurelle d’un dispositif de codage et d’un dispositif de décodage selon un mode de réalisation de l’invention. Description des modes de réalisation [0056] La [Fig.1a] décrit un premier mode de réalisation d’un codeur et d’un décodeur selon l’invention ainsi que les étapes d’un procédé de codage et d’un procédé de décodage selon un premier mode de réalisation de l’invention. [0057] Le codec représenté en [Fig.1a] comporte un codeur (100) et un décodeur (110). [0058] Le codeur 100 reçoit en entrée un signal audio d’entrée x, échantillonné à une fréquence fs (par exemple 48 kHz) et découpé en trames temporelles successives d’indice t et de longueur L≥1 échantillon(s), par exemple L=240 (5 ms) ; ce signal x peut être un signal mono (unidimensionnel) noté x(t,n) où n est l’indice temporel, ou un signal multicanal noté x(i,t,n) où i=0,...,C-1 est l’indice du canal et C>1 est le nombre de canaux. Dans un exemple de réalisation, on pourra prendre C = 2 pour un signal stéréo ou C = 4 pour un signal ambisonique d’ordre 1.
[0059] Le codage s’effectue sur un nombre de trames NT ≥ 1, où t = To, To + NT - 1 , où To est un indice de trame identifiant la première trame analysée dans le groupe de trames analysées. Typiquement To peut commencer à To = 0 par convention, puis To est incrémenté de NT.L échantillons à chaque groupe de trames analysées.
[0060] Une transformation temps/fréquence est appliquée en 101 au signal d’entrée x. D’une manière générale cette transformation peut être réalisée par une transformée fré- quentielle décrite ci-après (MDCT, STFT . . .) ou par un banc de filtres (PQMF, CLDFB...) pour obtenir le signal transformé X.
[0061] Dans une trame donnée et pour le cas mono avec un codage par transformée, on note ce signal transformé (réel ou complexe) X(t,k) où k est un indice fréquentiel. On notera que les bancs de filtres peuvent opérer par sous-trames et générer un ensemble d’échantillons (réels ou complexes) par sous-trame ; dans ce cas le signal transformé sera noté X(t’,k) où t’ est un indice temporel (de sous-trames) et k est un indice fré- quentiel.
[0062] Dans le cas multicanal, on généralise ces notations en : X(i,t,k) où une transformée est déterminée séparément à chaque canal, ou X(i,t’,k) pour le cas des bancs de filtres.
[0063] Dans un premier mode de réalisation, on considère le cas d’une transformée en cosinus discrète modifiée MDCT (pour « Modified Discrete Cosine Transform » en anglais) pour un signal mono. Dans ce cas, le signal x(t,n), n=0,...,L-l dans la trame courante d’indice 1 est analysé avec un segment additionnel de L échantillons futurs qui correspondent à la trame future x(t,n), n=L,.. ,,2L-1, avec la convention que x(t,n)= x(t+ 1 ,n-L) pour n=L, ... ,2L- 1.
[0064] La transformée MDCT est définie par :
[0065]
[0066] k = 0, ... , L - 1
[0067] Avec k, l’indice fréquentiel et L le nombre d’indices fréquentiels.
[0068] Dans un exemple de réalisation où fs=48000 Hz, on pourra par exemple prendre L = 240 échantillons ; dans ce cas on obtient également 240 indices fréquentiels. D’autres valeurs de L sont possibles selon l’invention.
[0069] Dans un mode de réalisation privilégié, on pourra tronquer la transformée MDCT lorsque la bande haute n’est pas pertinente. Par exemple, à 48 kHz, la bande 20-24 kHz n’est pas audible. Pour L = 240, les coefficients k = 200, . . . , 239 peuvent être ignorés, dans ce cas on ne garde que les NK = 200 premiers coefficients k = 0, ... , NK - 1.
[0070] Par la suite, on notera donc N K ≤ L le nombre de coefficients spectraux réellement utilisés.
[0071] La transformée MDCT peut être décomposée en une opération de fenêtrage, de re- pliement temporel et d'addition-recouvrement, suivie d'une transformation discrète en cosinus (DCT-IV). En omettant l’indice f pour alléger les notations du signal inter- médiaire (v ( n ) ), les opérations de fenêtrage, repliement et addition sont données par:
[0072]
[0073] et
[0074] avec par exemple un fenêtrage sinusoïdal donné par:
[0075]
[0076] La transformation discrète en cosinus de type DCT-IV est donnée par :
[0077]
[0078] Dans des variantes, d’autres fenêtres sont possibles tant qu’elles vérifient les conditions de reconstruction (quasi-)parfaite. De même, d’autres définitions de la transformée MDCT peuvent être utilisées comme la transformée MLT (pour « Modulated Lapped Transform » en anglais) et le banc de filtres TDAC (pour « Time-Domain Aliasing Cancellation » en anglais). D’autres algorithmes d’implémentation rapide et d’autres transformations intermédiaires que la DCT-IV (par exemple la transformée LET (pour « East Fourier Transform » en anglais) pourront être employées. L’intérêt de la transformée MDCT est d’être à décimation critique avec L coefficients transformés pour chaque trame de L échantillons d’indice f. Cette trans- formation donne un signal transformé X ( t, k ) , /< = (). . . . , L - 1 dans le cas d’un signal d’entrée à un seul canal.
[0079] Ainsi, lorsque plusieurs trames successives sont analysées et que le signal transformé est concaténé, le signal transformé
X ( t , k ) , t = To, ... , T0 + NT - 1 , k = 0. . . . , NK- 1, où To est un indice de trame identifiant la première trame analysée dans le groupe de trames analysées, peut être vu comme une matrice bidimensionnelle de taille NT x N K avec une dimension temporelle (sur l’indice z) et une dimension fréquentielle (sur l’indice k).
[0080] Dans des variantes où le signal d’entrée est multicanal, une transformée est dé- terminée séparément pour chaque canal, pour obtenir un signal transformée noté X ( i, t, k ) , où i = 0, . . . , C - 1 est l’indice de canal.
[0081] Dans des variantes, on pourra utiliser une commutation de fenêtres d’analyse, par exemple en fonction d’une détection de transitoires. Dans ce cas, on utilise ty- piquement plusieurs transformées plus courtes donnant le même nombre de coef- ficients au total, mais divisés en sous-trames et avec une résolution fréquentielle réduite. Dans le cas mono, pour un banc de filtres à décimation critique, cela donne un signal transformé de la forme X ( t', k ) , k = 0, . . . , N sub - 1
[0082] où /est l’indice de sous-trames de longueur L/ Nsub. On ne présente pas ici la géné- ralisation au cas multicanal pour ne pas alourdir les notations.
[0083] Dans ce cas, pour un support temporel couvrant NT trames, le signal transformé est encore une matrice bidimensionnelle, mais de taille (NT.Nsub) x (N K/ N sub), avec une dimension temporelle (sur l’indice t') et une dimension fréquentielle (sur l’indice k ). On peut pour simplifier noter NT' = N T.N sub et NK' = N KI NT, avec une matrice de taille N T - x NK'.
[0084] Dans un second mode de réalisation, la transformation est à coefficients complexes et elle pourra être par exemple une transformation de Fourier discrète à court-terme.
[0085] Dans ce mode de réalisation, l'utilisation de la transformée MDCT dans le bloc 101 de la [Fig. la] peut être remplacée par une transformée de Fourier à court-terme STFT (pour « Short-Time Fourier Transform » en anglais).
[0086] La STFT est définie comme suit :
[0088] où w(n) est par exemple un fenêtrage sinusoïdal sur 2L échantillons comme défini dans le cas MDCT. Dans des variantes d’autres fenêtrages sont possibles.
[0089] De même, dans des variantes, d’autres transformations complexes seront utilisées, par exemple une MCLT (pour « Modulated Complex Lapped Transform » en anglais) qui combine une MDCT, pour la partie réelle et une MDST (pour « Modified Discrete Sine Transform » en anglais), pour la partie imaginaire.
[0090] Le bloc 101 donne dans ce cas des coefficients complexes. Dans cette variante de réalisation, les coefficients complexes de la transformée (STFT, MCLT..) sont dé- composés par le bloc 102, en partie réelle et imaginaire avec :
[0091] Xr(t, k) = Re (X(t, k) )
[0092] et
[0093] Xi(t, k) = Im ( X(t, k) )
[0094] Où Re(.) la partie réelle et Im(.) représente la partie imaginaire.
[0095] Le procédé de codage selon l’invention est appliqué avec différentes variantes possibles :
[0096] - Soit les parties réelles et imaginaires sont vues comme 2 canaux, avec un signal X(i,t,k) qui peut être vu comme un signal stéréo, où :
[0097] X(0, t, k) = Xr(t, k) et X(l, t, k) = Xit, k) [0098] Dans ce cas, le signal transformé est une matrice tridimensionnelle avec une dimension canal, une dimension temporelle (sur l’indice t) et une dimension fré- quentielle (sur l’indice k)
[0099] - Soit les parties réelle et imaginaire sont combinées dans une séquence dont le support est doublé par entrelacement :
[0100] X(2t, k) = Xr(t, k) et X(2t + 1, k) = Xt(t, k)
[0101] ou par concaténation
[0102] X(t, k) = Xr(t, k) et X(t + NT, k) = Xt(t, k)
[0103] Dans ce cas, le signal transformé est encore une matrice bidimensionnelle avec une dimension temporelle (sur l’indice r), dont la durée est doublée par rapport au cas réel, et une dimension fréquentielle (sur l’indice k).
[0104] La généralisation du cas complexe au multicanal n’est pas développée ici car elle suit les mêmes principes.
[0105] Le bloc 102 décompose le signal transformé supposé mono et réel (sans perte de généralité) X(t,k) en deux parties : amplitudes IX(t,k)l, k=0,..., NK-1 et signes notés ici s(t,k),k=0,..., NK-1 définis par exemple comme suit :
[0106] ( , )
[0107] Cette opération se généralise pour le cas où le signal transformé est multidimensionnel, dans ce cas l’extraction des amplitudes et des signes se fait séparément pour chaque coefficient.
[0108] Dans le cas de coefficients complexes, le bloc 102 fournit donc des composantes d’amplitudes à la fois de la partie réelle et de la partie imaginaire du signal X(t,k) :
[0112] et des composantes de signe correspondant aux signes des parties réelles et imaginaires du signal X(t,k).
[0113] Ainsi, l’amplitude en sortie du bloc 102 correspond aux amplitudes des parties réelles et imaginaires combinées, les signes en sortie du bloc 102 correspondent aux signes des parties réelles et imaginaires combinés.
[0114] Le bloc 103 met en œuvre une normalisation et/ou une compression des amplitudes Le but est de réduire la dynamique spectrale et faciliter le traitement par un auto-encodeur. On décrit ci-dessous différents exemples de réalisation pour le cas mono avec une transformée MDCT.
[0115] Dans un mode de réalisation particulier, la compression effectuée par ce bloc 103 pourra être réalisée par une fonction logarithmique telle que la loi μ définie sans perte de généralité sur un intervalle [0, 1] comme suit :
[0116]
[0117] où la valeur de q est par exemple fixée à μ=255 et le facteur de Xnorm est une valeur maximale. La valeur de sortie Y ( t, k ) est ici normalisée à [0, 1].
[0118] Dans un exemple de réalisation on prend y > o15 en supposant que les signaux d’entrée sont au format PC- sur 16 bits, et que la transformée conserve le niveau maximal d’entrée. Dans des variantes, d’autres valeurs fixes (constantes) de Xnorm sont possibles, en particulier avec une mise à l’échelle en fonction de la transformée utilisée.
[0119] Dans un autre exemple de réalisation Xnorm est donné par :
[0121] représentant ici la valeur maximale sur toutes les trames (ou sous-trames) sur une séquence t = T0, ... , T0 + NT - Idu signal à coder (ce qui occasionne un retard de codage si NT > 1). Ce mode de réalisation a le désavantage d’avoir un retard additionnel et de nécessiter la transmission du facteur Xnorm (ou son inverse). Dans un exemple de réalisation, la valeur (positive) de Xnorm est codé sur 7 bits selon une échelle logarithmique - le codage peut être selon la norme UIT-T G.711 ou simplement selon un dictionnaire de la forme 215i / 127 , i = 0, ... , 127-
[0122] Dans une variante, Xnorm peut-être calculé sur la base de tous les éléments des données d’entrée comme suit :
[0124] où Ds représente l’ensemble des données à l’entrainement du réseau 120. Dans ce cas cette valeur prédéterminée lors de l’apprentissage n’a pas à être transmise, mais elle dépend de la base d’apprentissage et peut occasionner des saturations si sur un signal de test particulier.
[0125] Dans certains cas la normalisation implique de coder le niveau maximal Xnorm (le lien avec le multiplexeur 107) n’est pas montré pour ne pas alourdir la [Fig. la].
[0126] Dans d’autres variantes de réalisation, d'autres fonctions de compression que la loi q peuvent être utilisées, par exemple une loi A ou une fonction sigmoïde.
[0127] Dans encore une autre variante possible, aucune compression ni aucune norma- lisation n’est utilisée. Dans ce cas, le module 103 n’existe pas et on suppose que le bloc d’analyse 104 de l'auto-encodeur 120 utilise une normalisation intégrée de type « batch normalization » ou des couches de type GSD selon les méthodes de Ballé et al..
[0128] Dans des variantes, seule la compression d’amplitude est appliquée de sorte que l’amplitude maximale reste préservée, en normalisant le signal en fonction de la valeur maximale :
[0130] en appliquant la compression, puis en remultipliant le signal par Xnorm pour conserver la valeur maximale égale à Xnorm dans la ou les trame(s) courante(s) d’indice t = T0, . . . , T0 + NT - 1.
[0131] Ce principe de normalisation et/ou compression d’amplitude se généralise di- rectement au cas multidimensionnel, la valeur maximale étant calculée sur l’ensemble des coefficients en prenant en compte toutes les dimensions, soit séparément (avec une valeur maximale par canal), soit en simultané (avec une valeur maximale globale).
[0132] Le bloc 104 représente la partie analyse d’un exemple d’auto-encodeur. Un exemple de réalisation du bloc 104 est donné en rapport à la figure 2a décrite plus loin. Ici l’entrée du réseau correspond aux amplitudes du signal transformé et compressé ; ce signal - ici dans le cas mono - correspond à un spectrogramme et peut être vu comme une image bidimensionnelle (de taille NT x NK dans le mode de réalisation privilégié) lorsque plusieurs trames ou sous-trames successives sont re- groupées comme décrit précédemment.
[0133] Dans un exemple de réalisation, on considère le cas d’un groupe de NT = 200 trames de 240 échantillons (soit une seconde de signal à 48 kHz), ce qui donne 200 x 200 co- efficients si NK = 200 coefficients MDCT sont conservés sur la bande 0-20 kHz. Dans des variantes on pourra analyser le signal sur une durée plus courte ou plus longue, le cas extrême étant donné par une seule trame NT = 1 de 20 ms pour obtenir NK = 800 coefficients MDCT sur la bande 0-20 kHz à 48 kHz (on ne garde que les 800 premiers sur 960 coefficients par trame).
[0134] Dans des variantes, on prendra un banc de filtres. Par exemple, en prenant le cas d’une fréquence d’échantillonnage différente, on pourra prendre 20 sous-trames dans une trame 20 ms à 32 kHz, ce qui donne 20 x 40 coefficients MDCT sur la bande 0-16 kHz à 32 kHz pour le bloc 104.
[0135] La sortie de la partie encodeur 104 est la représentation du signal dans un espace latent noté Z(,m pq), où m est un indice de carte d’activation, et p' q sont les indices de ligne (temporel) et colonne (fréquentiel) dans chaque carte d’activation.
[0136] Le bloc 104 est chargé de trouver une représentation du signal dans un espace latent noté Z(m’ p’ q), tel que :
[0137]
[0138] où fa est la fonction appliquée par la partie analyse du réseau et θa correspond aux paramètres du réseau de neurones. Ces paramètres seront appris pendant l’entrainement du modèle. [0139] Dans un mode de réalisation particulier où F auto-encodeur suit le principe d’un auto- encodeur variationnel lors de la phase d’apprentissage, chaque carte latente est supposée suivre une distribution gaussienne telle que: selon
Ballé et al. (2017).
[0140] La répartition des valeurs est supposée homogène, la variance est estimée pour chaque carte d’activation (ou « feature map » en anglais). Dans des variantes, une version hyperlatente selon Ballé et al (2018) est utilisée, où , ce qui revient à appliquer un modèle gaussien à chaque « pixel » d’indice p’ q dans chaque carte d’indice m.
[0141] La représentation latente Z(m, p, q) encore appelée espace latent correspond au goulot d’étranglement (« bottleneck » en anglais) de F auto-encodeur.
[0142] Dans les exemples donnés précédemment, on aura par exemple un espace latent de taille 128 x 25 x 25 pour le cas de données d’entrée réelles de taille 200 x 200 pour l’exemple de réseau donné à la [Fig.2a],
[0143] Si on suppose un codage (bloc 105) par quantification scalaire et codage entropique, lors de l’entrainement de F auto-encodeur, les paramètres θa (codage) et θd (décodage) sont optimisés selon une fonction de coût suivante :
[0144]
[0145] où D est une mesure de la distorsion définie par exemple par :
[0146]
[0147] où P Y(t,k)est la distribution de probabilité de Y(t,k).
[0148] R est l’estimation du débit nécessaire pour transmettre l’espace latent définie comme suit :
[0149]
[0150] avec PZ(m) la distribution de probabilité de Z(m,p,q) (phase d’apprentissage du réseau). En pratique, pour la phase d’apprentissage, le débit R est évalué par une sommation sur mpq de l’entropie estimée selon le modèle de probabilité gaussien et la distorsion est évaluée par une sommation de l’erreur quadratique sur les dif- férentes données d’entrée/sortie.
[0151] Pour la phase d’utilisation du réseau, le débit R est remplacé par le débit réel d’un codage entropique (par exemple codage arithmétique).
[0152] Le compromis entre fidélité de la reconstruction et débit est paramétrable par la valeur λ. Un λ petit favorisera la qualité de reconstruction au détriment du débit, un λ grand favorisera le débit, mais la qualité du signal audio en sortie sera dégradée.
[0153] Dans le cas d’une quantification vectorielle, le réseau de neurones est entraîné pour minimiser la distorsion à un débit donné. [0154] Cet espace latent qui est représentatif des composantes d’amplitude du signal audio est codée dans le bloc 105 par exemple par quantification scalaire et codage entropique (ex : codage arithmétique) comme dans les articles de Ballé et al. précités. On notera que lors de l’apprentissage le codage entropique est typiquement remplacé par un modèle théorique de quantification et une estimation de l’entropie de Shannon, comme dans les articles de Ballé et al.. [0155] Dans des variantes, le codage de l’espace latent (bloc 105) se fait par quantification vectorielle à un débit donné. Un exemple de réalisation consiste à appliquer une quan- tification vectorielle de type gain-forme en fonction d’un budget de bits global alloué à la quantification de l’espace latent, où un gain global (scalaire) et une forme codée par bloc de 8 coefficients par quantification vectorielle algébrique selon l’article de S. Ragot et al., "Low-Complexity Multi-Rate Lattice Vector Quantization with Ap- plication to Wideband TCX Speech Coding at 32 kbit/s," Proc. ICASSP, Montreal, Canada, May 2004. Cette méthode est par exemple mise en œuvre dans les codecs 3GPP AMR-WB+ et EVS. [0156] Selon l’invention les signes, notés s(t,k) pour le cas d’une transformée réelle d’un signal mono, sont codés à part, par le bloc 106 selon des modes de réalisation décrits plus loin. [0157] La représentation latente codée en 105 ainsi que les signes codés en 106 sont mul- tiplexés dans le flux binaire dans le bloc 107. [0158] On décrit maintenant différents modes de réalisation du codage des signes (bloc 106) selon l’invention. Selon l’invention, trois variantes principales sont développées pour la ou les trame(s) courante(s) : [0159] A. Codage de tous les signes B. Codage de tous les signes dans les basses fréquences et codage sélectif des signes dans les hautes fréquences (avec signes non codés aléatoires et/ou estimés par reconstruction/prédiction de phase) – des phases peuvent être estimées en effectuant une transformation de type MDST (Modified Discrete Sine Transform) du signal reconstruit dans les trames précédentes, les signes non codés se déduisent alors des phases prédites comme détaillé plus loin. C. Codage de tous les signes dans les basses fréquences et reconstruction/ prédiction de phase pour l’estimation des signes dans les hautes fréquences [0160] Pour des amplitudes codées à un débit donné, ces trois variantes de codage des signes permettent d’atteindre des compromis débit/qualité différentes : la variante A donne la meilleure qualité mais à débit élevé, la variante B donne une qualité intermédiaire à débit plus faible, et enfin la variante C donne une qualité plus limitée mais à débit réduit. La fréquence limite délimitant les basses et hautes fréquences est un paramètre permettant de contrôler plus finement ce compromis, cette fréquence notée N bf ci- dessous pourra être fixe ou adaptative.
[0161] Dans des variantes, il sera possible de combiner les variantes B et C en définissant plusieurs sous-bandes fréquentielles : une bande basse (où tous les bits sont codés), une bande intermédiaire (où une sélection de bits sont codés), une bande haute (où aucun bit n’est transmis, et les bits de signes sont estimés au décodeur).
[0162] On notera que les signes s ( t, k) , t = T0, ... , T0 + NT - 1 , k = 0, . . . , NK - 1 correspondent de façon équivalente à une matrice binaire
[0163]
[0164] de taille NT x N K, ce qui correspond par exemple à 40000 bits sur une seconde (donc un débit de 40 kbit/s) pour l’exemple NT = 200, NK= 200 d’un signal échan- tillonné à 48 kHz et codé par blocs de 200 trames couvrant 1 seconde. Dans des variantes la convention complémentaire (qui inverse la définition des bits 0 et 1) pourra être utilisée.
[0165] La figure 1b illustre un mode de réalisation direct (variante A), où ces bits de signe b ( t, k ) sont simplement multiplexés selon un ordre prédéterminé dans le train binaire, par exemple en écrivant les signes b ( t, k) trame par trame, t allant de To à To + NT - 1 et dans une trame donnée selon un ordre prédéterminé, par exemple de k = 0 à k = N K - 1. Dans des variantes, on pourra écrire les signes b ( t, k) dans n’importe quel ordre donné qui correspond à une permutation bidimensionnelle de la matrice de taille NT x N K.
[0166] On notera que ce codage se généralise facilement au cas multicanal, puis qu’il suffit de définir les bits de signe b ( i, t, k ) correspondants à X ( i, t, k ) et de multiplexer tous les bits sur l’ensemble des 3 dimensions (i, t, k).
[0167] La figure le illustre un autre mode de réalisation (variante B) où on ne code pas la totalité des signes s(t, k) afin de réduire le débit requis pour le codage des signes. Dans cet exemple de réalisation, on code tous les signes des basses fréquences k = 0, . . . , - 1 et un sous-ensemble de Npk signes des hautes fréquences k = Nbf , , N K - 1 , OÙ N b ? peut être fixé à une valeur fixe (par exemple Nbf = 80 pour NK= 200 dans l’exemple précédent) ou adaptative (en fonction du signal), et Npk est aussi fixe à une valeur prédéterminé ( Npk = 2 à la figure 1c). Selon les modes de réalisation, la variante B peut coder, en plus des signes en basses fréquences et des bits sélectionnés en hautes fréquences, des métadonnées sur un budget de Bhf bits. 168] Dans des variantes, on pourra utiliser une découpe avec plus que 2 sous-bandes fré- quentielles (en plus des bandes basse et haute) de manière à allouer plus finement le nombre de bits de signe codés par sous-bande. De façon préférentielle, les signes de la première bande fréquentielle seront tous codés car il est important de préserver l’information de signe pour les basses fréquences. 169] On notera que ce codage se généralise facilement au cas multicanal, puis qu’il suffit de définir les bits de signe b ( i, t, k) correspondants à X ( i, t, k ) et de répéter le codage et multiplexage des signes pour chaque canal d’indice i. 170] Différentes méthodes de sélection et/ou de codage (indexation) du sous-ensemble de signes sont possibles en considérant d’abord le cas simple de 2 sous-bandes et d’une seule sous-bande en hautes fréquences : 171] • Variante B1 :
• Dans une variante (variante B 1a), Une recherche des Npk pics les plus importants parmi N coefficients hautes-fréquences ( Nhf = N K - Nbf est effectuée sur le spectre d’amplitude original. La recherche N pk pics les plus importants peut s’effectuer simplement en 2 étapes, d’abord en recherchant les raies d’indice k = Nbf + 1 , . . . , NK - 2 qui vérifient pics sur les raies qui vérifient et , puis à ordonner les indices k obtenus pour retenir les positions cor- respondant aux Npk valeurs les plus grandes. Dans des variantes, d’autres méthodes de détection de Npk pics d’amplitude pourront être utilisées, par exemple la méthode décrite dans la clause 5.4.2.4.2 de la norme 3GPP TS 26.447. 172] Les positions signes parmi N , hf coefficients hautes- fréquences est codée par des techniques de codage combinatoire. Par exemple, lorsque N pk = 2 et Nhf = 200-80=120, on aura 7140 combinaisons possible, soit Bhf = 13 bits par trame (soit 2.6 kbit/s pour 200 trames par seconde). Le débit de codage des signes est alors : (80+2+13)x200 = 19 kbit/s. Dans des variantes, on pourra découper la bande haute en sous-bandes séparés et appliquer la méthode par sous-bande, ou en séries de positions entrelacées (« tracks ») et appliquer la méthode par « track » (les tracks sont ici définies au sens d’une décomposition des positions sous forme polyphase similaire au codage de puises dans la méthode ACELP de la norme UIT-T G.729). [0173] • Dans une autre variante (variante B1b), un code correcteur d’erreurs en bloc est utilisé pour coder conjointement la position et les valeurs des signes. Dans ce cas, on utilise le spectre signé et le code correcteur binaire [Nc, Kc, Dc], où Nc est la longueur (en bits), Kc le nombre de bits de contrôle, et Dc la distance de Hamming, est converti en des valeurs +1 et -1 au lieu de 1 et 0 (respectivement). La position des signes et les valeurs de signes associés sont codés conjointement. Pour une trame d’indice t donnée, le codage dans le bloc 106 s’effectue alors pour sous- bloc de raies fré- quentielles (successives ou entrelacées) de longueur Kc, par produit scalaire entre et les différents mots de codes (à valeurs +1 / -1), et en retenant le mot de code maximisant le produit scalaire. Le principe de ce codage par code correcteur est par exemple détaillé dans le document S. Ragot, L'hexacode, le code de Golay code et le réseau de Leech: définition, construction, application en quantification, Mémoire de mastère, Département de génie électrique et informatique, Université de Sherbrooke, Qc, Canada, Déc.1999 [0174] Dans un exemple de réalisation, on pourra prendre un code de Hamming étendu de type [2m, 2m - m - 1, 4] dont les valeurs sont +/-1 et non 0/1, ce qui signifie que les signes (et leurs positions) de 2m raies sont représentés sur 2m - m – 1 bits. Par exemple, en prenant un code de Hamming étendu [8, 4, 4], on découpe les Nhf = 200-80=120 bits de signes en hautes fréquences en 15 blocs de 8 bits, et on obtient par décodage (en prenant le spectre signé comme valeur de « soft bit ») un total de 15 blocs de 4 bits de contrôle, soit 60 bits par trame (ou 12 kbit/s pour 200 trames par seconde) pour coder les signes (et leur positions). [0175] Le débit de codage des bits de signes est donc (80+60)x200 = 28 kbit/s. Dans des variantes d’autres codes correcteurs en bloc seront utilisés. Dans des variantes, on pourra entrelacer les codes correcteurs pour permettre de répartir plus facilement les bits de signes codés. [0176] • Dans d’autres sous-variantes (variante B1c), on pourra aussi classifier les sous-bandes en bande tonale ou bande de bruit selon par exemple un critère de « spectral flatness » connu de l’état de l’art, puis on ne codera des signes que dans les bandes tonales. Ce critère de « spectral flatness » est estimé sur les amplitudes originales, et une indication de tonalité doit être transmise pour chaque sous-bande en plus des positions. • Variante B2 : la recherche des Npk pics les plus importants est effectuée sur le spectre d’amplitude codé, si bien que la position des pics n’a pas à être transmise, car la même information (spectre d’amplitude codé) peut être disponible au décodeur. Cependant, cela suppose que le bloc 106 ait accès à la sortie (espace latent codé) du bloc 105 et que la partie synthèse de F auto-encodeur (bloc 113) soit appliquée pour effectuer un décodage local.
[0177] Dans d’autres sous-variantes, on pourra aussi classifier les sous-bandes en bande tonale ou bande de bruit selon par exemple un critère de « spectral flatness » connu de l’état de Fart, puis on ne codera des signes que dans les bandes tonales. Ce critère de « spectral flatness » est estimé sur les amplitudes décodées en local (donc non transmis).
[0178] Dans des variantes, la sélection de la position des signes pourra s’appuyer sur une es- timation de courbe de masquage fréquentiel pour détecter les pics les plus importants perceptuellement, par exemple en fonction d’un rapport signal à masque selon les méthodes connues dans l’état de l'art.
[0179] La [Fig.ld] illustre un autre mode de réalisation (variante C) où tous les signes dans les basses fréquences sont codés (multiplexés) dans le bloc 120 et les bits des hautes fréquences ne sont pas transmis au codeur. Ces données manquantes sont estimées au décodeur par reconstruction/prédiction de phase pour l’estimation des signes dans les hautes fréquences.
[0180] Ainsi dans cette variante, on code tous les signes des basses fréquences k = 0, . , Nbf .. 1 et aucun signe des hautes fréquences k = Nbf , ... , N K - 1 , où Nbf peut être fixé à une valeur fixe ou adaptative.
[0181] Pour l’exemple précédent, où NT = 200, NK= 200 d’un signal échantillonné à 48 kHz et codé par blocs de 200 trames couvrant 1 seconde, le débit requis pour les signes est par exemple de 16 000 bits sur une seconde (soit 16 kbit/s) quand Nbf = 80 (soit une fréquence de coupure à 8 kHz).
[0182] Les méthodes ci-dessus se généralise au cas de plusieurs sous-bandes, et aussi aux cas d’un banc de filtre, d’une transformée complexe séparée en parties réelles ou ima- ginaires, ou au cas multicanal.
[0183] Dans d’autres variantes, les différentes réalisations du codage des signes pourront être adaptées dans le cas où les coefficients sont divisés en sous-bandes fréquentielles et le codage des signes est effectué séparément pour chaque sous-bande.
[0184] La [Fig.1a] représente également le décodeur 110 maintenant décrit.
[0185] Le bloc 111 démultiplexe le flux binaire pour trouver d’une part les représentations codées de l’espace latent Z(m) et d’autre part, les signes s(k).
[0186] L’espace latent est décodé en 112. La partie synthèse (bloc 113) de F auto-encodeur 120 reconstruit le spectre à partir de l'espace latent décodé sous la forme :
[0187] [0188] Le bloc 114 permet de décompresser l’amplitude et de dénormaliser l’amplitude (si le bloc 103 a été mis en œuvre). Dans ce cas on utilise par exemple une fonction logarithmique inverse comme la loi μ- inverse définie par :
[0189] ]
[0190] Lorsqu’une variante du bloc 103 est mise en œuvre, le bloc 114 est adapté en conséquence. Dans certains cas la normalisation implique de décoder un niveau maximal (le lien avec le démultiplexeur 111) n’est pas montré pour ne pas alourdir la [Fig.la],
[0191] Les signes du signal sont décodés dans le bloc 115 comme suit :
[0192] Dans le cas où tous les bits de signes b ( t, k') , t = T0, ... , T0 + NT - 1, k = 0, ... , NK - 1 ont été multiplexés un par un dans le train binaire, on démultiplexe les bits reçus selon l’ordre d’écriture du bloc 106. Quand le train binaire n’a subi aucune erreur binaire, on aura
[0193] Comme au codage, on distingue 3 variantes de décodage des informations de signe (Variantes A, B, C).
[0194] Dans la variante A, le décodage des signes se résume à démultiplexer les bits de signe selon l’ordre utilisé au codage et à convertir la valeur du bit de signe avec par exemple :
[0195]
[0196] Dans la variante B, le décodage des signes est effectué comme dans la variante A pour les bits de signe des basses fréquences. Une partie des signes en hautes fréquences est codée, on démultiplexe les Npk bits par trame et on décode les positions pour retrouver les positions correspondantes. Le décodage des positions est effectué selon la méthode de codage utilisée, soit par des méthodes de décodage combinatoire, soit par des codes correcteur d’erreur.
[0197] Dans des variantes (B la), les positions sont déterminés à partir des amplitudes décodées avec éventuellement l’estimation d’une courbe de masquage.
[0198] On a donc :
[0199]
[0200]
[0201] Pour le reste des signes des hautes fréquences, dans une variante, on donne à tous les signes une valeur aléatoire, dans une autre variante on donne la même valeur à tous les signes, soit
[0202]
[0203] , où randomQ est un tirage aléatoire binaire selon l’état de l’art.
[0204] Dans d’autres variantes (Blb), les signes et leurs positions sont conjointement décodés pour obtenir directement . Par exemple, en prenant un code de Hamming étendu [8, 4, 4], on découpe les Nhf = 200-80=120 bits de signes en hautes fréquences en 15 blocs de 8 bits. On démultiplexe 8 fois un indice sur 4 bits et on obtient par « codage correcteur » le mot de code (parmi 16 possibilités) à valeurs +/-1 donnant directement la séquence sur 8 raies fréquentielles (consécutives ou entrelacées).
[0205] Dans la variante C, illustrée à la [Fig.ld], le décodage des signes est effectué comme dans la variante A pour les bits de signe des basses fréquences (bloc 130). Les signes des hautes fréquences sont des informations manquantes, et elles sont estimées par exemple par des méthodes décrites dans la norme 3GPP TS 26.447, clause 5.4.2.43 (tonal prediction). On notera ici que contrairement à une correction de pertes de trames, l’information d’amplitude est ici disponible pour les hautes fréquences. Seule l’information de signe est manquante et est donc estimée. Un exemple de réalisation consiste à adapter les méthodes de correction de perte de trames MDCT décrites dans la clause 5.4.2.43 de la norme 3GPP TS 26.447. Les phases peuvent être estimées en effectuant une transformation de type MOST (Modified Discrete Sine Transform) du signal reconstruit dans les trames précédentes, les signes non codés se déduisent alors des phases prédites. En particulier les signes peuvent être déterminés au décodeur en retenant le signe du résultat de l’équation 146 de la norme 3GPP TS 26.447.
[0206] Le bloc 116 permet la combinaison des signes décodés et des amplitudes pour la reconstruction des trames initiales selon la formule suivante :
[0207] Le bloc 117 applique la MDCT inverse pour obtenir le signal décodé Lorsque le nombre NK de coefficients MDCT utilisés est tel que NK < L le bloc 117 rajoutera L - NK coefficients à zéro à la fin du spectre de chaque trame, afin de retrouver un spectre de L de coefficients.
[0208] Chaque opération de la MDCT inverse opère sur L coefficients pour produire L échantillons audios dans le domaine temporel. La MDCT inverse peut-être décomposée en une DCT-IV suivie d'opérations de fenêtrage, de dépliement et addition. La DCT-IV est donnée par :
[0209]
[0210] Les opérations de fenêtrage, dépliement et d’addition utilisent la moitié des échantillons de la sortie DCT-IV de la trame actuelle avec la moitié de ceux de la sortie DCT-IV de la trame précédente selon :
[0211]
[0212]
[0213] où
[0214]
[0215] La moitié inutilisée de u( ) est mémorisée en tant que uold( ) pour être utilisée dans la trame suivante:
[0216]
[0217] La [Fig.2a] illustre les éléments de T auto-encodeur 120, notamment les éléments de la partie analyse 104 et de synthèse 113.
[0218] La partie analyse du bloc 104 est composée dans cet exemple de quatre couches convolutionnelles (blocs 200, 202, 204 et 206). Chaque couche consiste en une convolution 2D avec des filtres de dimension K x K (par exemple 5x5), suivie d'une décimation par 2 de la taille des cartes d'activation. La taille des cartes d'activation devient de plus en plus petite au fur et à mesure que l'on progresse dans la partie analyse. Cependant, les dimensions à l'entrée et à la sortie des couches est en général différent.
[0219] La [Fig.2b], montre un exemple d'application des couches des blocs 200, 202, 204, et 206 de la partie analyse. La première couche représentée par le bloc 200 reçoit un signal mono (1,200,200). En sortie de cette couche, on reçoit une carte d'activation de taille (128, 200, 200), où N=128 est le nombre de cartes d'activation considérées dans cette couche. Le bloc suivant 202 reçoit un signal multicanal de taille (128, 200, 200), et avec la décimation par 2 de la taille de la carte d'activation, on obtient en sortie une carte d'activation de taille (128, 100, 100). Le même processus est appliqué par la couche 204 où nous avons en sortie une couche d'activation de taille (128,50,50). Enfin, le dernier bloc 206 donne un signal de taille (128, 25, 25).
[0220] À la suite de chacune des 3 premières couches de convolution 2D, une fonction d’activation « Leaky ReLU » est utilisée bloc 201, 203 et 205. La fonction « Leaky ReLU » est définie comme suit : [0221] [0222] avec une constante de pente négative ayant par exemple comme valeur 0,01. [0223] Pour la dernière couche, il n’y a pas de fonction d’activation pour ne pas limiter les valeurs que peut prendre y à la sortie de la couche. [0224] Dans des variantes la fonction ReLU pourra être remplacée par d’autres fonctions connues dans l’état de l’art, par exemple une fonction ELU (Exponential Linear Unit). [0225] Pour la partie synthèse (bloc 113), cette dernière a une architecture construite en miroir par rapport à la partie analyse. Il y a 4 couches successives de convolution transposée 2D (blocs 216, 214, 212 et 210). L'ajout de la convolution transposée permet une interpolation non linéaire plus riche qu'une simple pondération linéaire des valeurs. Dans la partie synthèse, c'est la dernière couche, le bloc 216, qui a N entrées et le nombre des canaux du signal en sortie, les autres couches ont N entrées et sorties. Comme pour la partie analyse, après chacune des 3 premières couches, une fonction d'activation « Leaky ReLU » est utilisée dans les blocs 215, 213 et 211. [0226] La [Fig.2c], montre un exemple d'application des couches des blocs 210, 212, 214, et 216 de la partie synthèse. Le bloc 210 reçoit un signal multicanal de taille (128, 25, 25) et donne une carte d'activation de taille (128, 50, 50). De la même manière, les blocs 212 et 214 donnent des couches de taille (128, 100, 100) et (128,200,200) respec- tivement. Enfin la couche 216 reçoit un signal de taille (128,200,200) et donne un signal de même taille que le signal mono original (1, 200,200). [0227] Le nombre de cartes d’activation N permet de donner plus ou moins de degrés de liberté au modèle pour représenter les signaux d’entrée. Pour un entrainement fait uniquement avec une contrainte de distorsion sans contrainte de débit (λ = 0), plus la valeur de N sera élevée plus la qualité de reconstruction du modèle sera importante. Pour un N donné, un entrainement fait uniquement avec une contrainte de distorsion (λ = 0) permet d’avoir une estimation de la qualité de reconstruction maximale que peut attendre le modèle avec N carte d’activation. Avec l’introduction de la contrainte de débit (λ > 0), la qualité de reconstruction sera forcément moins importante que cette qualité maximale. [0228] La [Fig.3a] illustre à présent un second mode de réalisation d’un codeur 300 et d’un décodeur 310 selon l’invention ainsi que les étapes d’un procédé de codage et d’un procédé de décodage selon un deuxième mode de réalisation de l’invention. Alors que le premier mode de réalisation décompose le signal audio en amplitudes et signes, le second mode de réalisation décompose le signal audio en amplitudes et phases. Les principes de codage des signes décrits pour le premier mode de réalisation sont étendus au cas des phases, la différence principale tient dans le fait qu’au lieu d’avoir 1 bit pour représenter un signe (ou un bit de signe) on aura en général plusieurs bits par phase (par exemple 7 bits en basses fréquence et 5 bits en haute fréquence). Quand la phase est codée sur 1 bit, on retombera sur un cas similaire au premier mode de réalisation où le signe est codé.
[0229] Dans cette figure, le bloc de transformée 101 reste le même que celui décrit en référence à la [Fig. la], mais avec une transformée complexe (STFT ou MCLT par exemple).
[0230] Le bloc 302 diffère du bloc 102 de la figure la. Ce bloc 302 décompose le signal transformé X(t,k) en deux parties : amplitudes IX(t,k)l, t = T0, . . , T0 + N T - 1 , k=0,..., NK- 1 et phases notés ici ∅(t,k) = arg X(t,k) , t = T0, • • • ’ T0 + NT - 1 ,k=0,..., NK- 1 ou arg(.) est l’argument complexe.
[0231] Pour le codage des amplitudes, les blocs 103 à 105 décrits en référence à la [Fig.1a] restent inchangés.
[0232] Dans ce mode de réalisation, le bloc 306 code séparément les phases ainsi obtenues du signal d’entrée. Ces phases codées sont ensuite multiplexées dans le flux binaire en 307, avec la représentation latente codée en 105. La principale différence par rapport au mode de réalisation de la figure la tient dans le fait que l’information de phase n’est pas codée sur 1 bit mais sur un budget plus important, par exemple 7 bits par phase, pour un dictionnaire de quantification scalaire uniforme sur [0, 2π], avec un pas de π / 64. Dans des variantes, le budget pour coder une phase pourra dépendre de la bande de fréquence, avec par exemple 7 bits par phase en basses fréquences et 5 bits par phase en hautes fréquences.
[0233] On peut définir comme dans le premier mode de réalisation 3 variantes :
[0234] A. Codage de toutes les phases
B. Codage de toutes les phases dans les basses fréquences et codage sélectif des phases dans les hautes fréquences (avec phases non codés aléatoires et/ou estimés par reconstruction/prédiction de phase). Dans ce cas, on pourra comme pour le codage de signes dans le premier mode de réalisation, sélectionner des positions des Npk « pics » les importants et coder/multiplexer les phases à ces positions ; les N pk positions des pics sont codées comme dans le premier mode de réalisation (variantes B 1a ou B 1c).
C. Codage de toutes les phases dans les basses fréquences et reconstruction/ prédiction de phase pour l’estimation des phases dans les hautes fréquences. Dans ce cas, on ne code les phases que pour les basses fréquences, pour
[0235] Au décodage, le bloc 311 démultiplexe le flux binaire pour trouver d’une part les re- présentations codées de l’espace latent Z(m,p,q) représentant la partie amplitudes d’autre part, la version codée des phases . [0236] Les blocs 112 à 114 restent inchangées par rapport à ceux décrits en référence à la [Fig.1a]. [0237] Le bloc 315 décode les phases en fonction des variantes A, B utilisées au codage, afin de les combiner en 316 avec les amplitudes décodées. La variante C est considérée à la [Fig.3b]. [0238] Le bloc de transformée inverse 117 reste inchangée par rapport au bloc 117 de la [Fig.1a]. [0239] La [Fig.3b] illustre à présent un autre mode de réalisation d’un codeur 400 et d’un décodeur 410 selon l’invention ainsi que les étapes d’un procédé de codage et d’un procédé de décodage selon un mode de réalisation de l’invention. [0240] Dans ce mode de réalisation, le bloc 401 utilise une transformée de Fourier à court- terme STFT. Le bloc 402 réalise une décomposition du signal transformé X(t,k) en deux parties : amplitudes et phases notées ici [0241] Dans ce mode de réalisation, seule une partie des phases, par exemple, seule la partie correspondant aux basses fréquences du signal transformé (Φ1), est codée par le bloc 406. [0242] Dans une variante, une partie des composantes de phase des hautes fréquences peut également être codée. [0243] Dans un exemple de réalisation, avec une STFT où L= 240 échantillons, on entend par basse fréquence les raies fréquentielles d’indice 0 à Nbf-1 = 79 ce qui correspond à environ une bande fréquentielle de 8 kHz. [0244] Pour le codage des amplitudes, les blocs 103 à 105 décrits en référence à la [Fig.1a] restent inchangés. [0245] La représentation latente codée en 105 est ensuite multiplexée dans le flux binaire en 407 avec la partie codée en 406 des phases du signal transformé. [0246] Au décodage, le bloc 411 démultiplexe le flux binaire pour trouver les repré- sentations codées de l’espace latent Z(m,p,q) et une partie des phases du signal. [0247] Cette partie de phase pour les basses fréquences est décodée en 415 [0248] Les blocs 112 à 114 restent inchangées par rapport à ceux décrits en référence à la [Fig.1a]. [0249] L’autre partie des phases pour les hautes fréquences est reconstruite par le bloc 418. Pour cela, après la compression inverse du bloc 114, un algorithme de recons- truction des phases non codées de la STFT est utilisé dans ce bloc 418. Cet algorithme permet l’inversion du spectrogramme d’amplitude à l'aide d’un algorithme comme décrit dans le document D. W. Griffin and J. S. Lim, “Signal estimation from modified short-time Fourier transform,” IEEE Trans. ASSP, vol.32, no.2, pp.236–243, Apr. 1984. Étant donné une matrice d'amplitude pour une transformée de Fourier à court terme , l'algorithme initialise de manière aléatoire les phases cor- respondant à puis alterne les opérations de STFT directe et inverse. De façon préférentielle, cette estimation des phases en hautes fréquences pourra être mise en œuvre par un traitement à une fréquence d’échantillonnage plus faible que la fréquence d’échantillonnage fs du signal d’entrée/sortie. [0250] Le bloc 416 combine les amplitudes décodées et les phases décodées et re- construites puis une application de la STFT inverse est effectuée dans le bloc 417 pour la reconstruction du signal original. [0251] On a illustré sur la [Fig.4], un dispositif de codage DCOD et un dispositif de décodage DDEC, au sens de l’invention, ces dispositifs étant duals l’un de l’autre (dans le sens de « réversibles ») et reliés l’un à l’autre par un réseau de communication RES. [0252] Le dispositif de codage DCOD comporte un circuit de traitement incluant ty- piquement : - une mémoire MEM1 pour stocker des données d’instructions d’un programme in- formatique au sens de l’invention (ces instructions pouvant être réparties entre le codeur DCOD et le décodeur DDEC) ; - une interface INT1 de réception d’un signal audio d’origine mono ou multicanal x ; - un processeur PROC1 pour recevoir ce signal et le traiter en exécutant les ins- tructions de programme informatique que stocke la mémoire MEM1, en vue de son codage ; en particulier, le processeur étant apte à piloter un module d’analyse d’un auto-encodeur à base de réseau de neurones ; et - une interface de communication COM 1 pour transmettre les signaux codés via le réseau. [0253] Le dispositif de décodage DDEC comporte un circuit de traitement propre, incluant typiquement : - une mémoire MEM2 pour stocker des données d’instructions d’un programme in- formatique au sens de l’invention (ces instructions pouvant être réparties entre le codeur DCOD et le décodeur DDEC comme indiqué précédemment) ; - une interface COM2 pour recevoir du réseau RES les signaux codés en vue de leur décodage en compression au sens de l’invention ; - un processeur PROC2 pour traiter ces signaux en exécutant les instructions de programme informatique que stocke la mémoire MEM2, en vue de leur décodage ; en particulier, le processeur étant apte à piloter un module de synthèse d’un auto-encodeur à base de réseau de neurones ; et - une interface de sortie INT2 pour délivrer le signal audio décodé . [0254] Bien entendu, cette [Fig.4] illustre un exemple d’une réalisation structurelle d’un codec (codeur ou décodeur) au sens de l’invention. Les figures 1 à 3 commentées ci- dessus décrivent en détails des réalisations fonctionnelles de ces codecs.

Claims

Revendications [Revendication 1] Procédé de codage d’un signal audio comportant les étapes suivantes : - décomposition (102) du signal audio en au moins des composantes d’amplitudes et des composantes de signes ou de phase ; - analyse (104) des composantes d’amplitudes par un auto-encodeur à base de réseau de neurones pour obtenir un espace latent représentatif des composantes d’amplitude du signal audio ; - codage (105) de l’espace latent obtenu ; - codage (106) d’au moins une partie des composantes de signes ou de phase. [Revendication 2] Procédé selon la revendication 1, comportant en outre une étape de com- pression des composantes d’amplitude avant leur analyse par l’auto-encodeur. [Revendication 3] Procédé selon la revendication 2, dans lequel la compression des com- posantes d’amplitude s’effectue par une fonction logarithmique. [Revendication 4] Procédé selon la revendication 1, dans lequel le signal audio avant l’étape de décomposition est obtenu par une transformée de type MDCT appliquée à un signal audio d’entrée. [Revendication 5] Procédé selon l’une des revendications précédentes, dans lequel le signal audio est un signal multicanal. [Revendication 6] Procédé selon la revendication 1, dans lequel le signal audio est un signal complexe comportant une partie réelle et imaginaire issue d’une transformation d’un signal audio d’entrée, les composantes d’amplitude issue de l’étape de décomposition correspondant aux amplitudes des parties réelles et imaginaires combinées et les composantes de signe ou de phase correspondant aux signes ou phases des parties réelles et ima- ginaires combinées. [Revendication 7] Procédé selon la revendication 1, dans lequel toutes les composantes de signes ou de phase du signal audio sont codées. [Revendication 8] Procédé selon la revendication 1, dans lequel seules les composantes de signes ou de phase correspondant aux basses fréquences du signal audio sont codées. [Revendication 9] Procédé selon la revendication 1, dans lequel les composantes de signes ou de phase correspondant aux basses fréquences du signal audio sont codées et un codage sélectif est effectuée pour les composantes de signes ou de phase correspondant aux hautes fréquences du signal audio. [Revendication 10] Procédé selon la revendication 9, dans lequel les positions des com- posantes de signes ou de phase sélectionnées pour le codage sélectif sont également codées. [Revendication 11] Procédé selon la revendication 9, dans lequel les positions des com- posantes de signes ou de phase sélectionnées ainsi que les valeurs associées sont codées conjointement. [Revendication 12] Procédé de décodage d’un signal audio comportant les étapes suivantes : - décodage (112) de composantes de signes ou de phase du signal audio ; - décodage (115) d’un espace latent représentatif de composantes d’amplitude du signal audio ; - synthèse (113) des composantes d’amplitude du signal audio par un auto-encodeur à base de réseau de neurones, à partir de l’espace latent décodé ; - combinaison (116) des composantes d’amplitude décodées et des com- posantes de signes ou de phase décodées pour obtenir un signal audio décodé. [Revendication 13] Procédé de décodage selon la revendication 8, dans lequel, dans le cas où les composantes de phase décodées correspondent à une partie des composantes de phase du signal audio, l’autre partie est reconstruite avant l’étape de combinaison. [Revendication 14] Dispositif de codage comportant un circuit de traitement pour la mise en œuvre des étapes du procédé de codage selon l’une des revendications 1 à 11. [Revendication 15] Dispositif de décodage comportant un circuit de traitement pour la mise en œuvre des étapes du procédé de décodage selon l’une des reven- dications 12 à 13. [Revendication 16] Support de stockage, lisible par un processeur, mémorisant un programme informatique comportant des instructions pour l’exécution du procédé de codage selon l’une des revendications 1 à 11 ou du procédé de décodage selon l’une des revendications 12 à 13.
EP23706801.0A 2022-03-02 2023-02-28 Codage et décodage optimisé d'un signal audio utilisant un auto-encodeur à base de réseau de neurones Active EP4487323B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2201831A FR3133265A1 (fr) 2022-03-02 2022-03-02 Codage et décodage optimisé d’un signal audio utilisant un auto-encodeur à base de réseau de neurones
PCT/EP2023/054894 WO2023165946A1 (fr) 2022-03-02 2023-02-28 Codage et décodage optimisé d'un signal audio utilisant un auto-encodeur à base de réseau de neurones

Publications (2)

Publication Number Publication Date
EP4487323A1 true EP4487323A1 (fr) 2025-01-08
EP4487323B1 EP4487323B1 (fr) 2026-01-14

Family

ID=81346300

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23706801.0A Active EP4487323B1 (fr) 2022-03-02 2023-02-28 Codage et décodage optimisé d'un signal audio utilisant un auto-encodeur à base de réseau de neurones

Country Status (4)

Country Link
US (1) US20250174237A1 (fr)
EP (1) EP4487323B1 (fr)
FR (1) FR3133265A1 (fr)
WO (1) WO2023165946A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118694750A (zh) 2021-05-21 2024-09-24 华为技术有限公司 编解码方法、装置、设备、存储介质及计算机程序
US20250095664A1 (en) * 2023-09-14 2025-03-20 Robert Bosch Gmbh Systems and methods of processing audio data with a multi-rate learnable audio frontend

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3372199A (en) * 1998-03-30 1999-10-18 Voxware, Inc. Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment
US7590523B2 (en) * 2006-03-20 2009-09-15 Mindspeed Technologies, Inc. Speech post-processing using MDCT coefficients
KR101411901B1 (ko) * 2007-06-12 2014-06-26 삼성전자주식회사 오디오 신호의 부호화/복호화 방법 및 장치
ES2603266T3 (es) * 2013-02-13 2017-02-24 Telefonaktiebolaget L M Ericsson (Publ) Ocultación de errores de trama
FR3003682A1 (fr) * 2013-03-25 2014-09-26 France Telecom Mixage partiel optimise de flux audio codes selon un codage par sous-bandes
EP2830054A1 (fr) * 2013-07-22 2015-01-28 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Encodeur audio, décodeur audio et procédés correspondants mettant en oeuvre un traitement à deux canaux à l'intérieur d'une structure de remplissage d'espace intelligent
CN107924683B (zh) * 2015-10-15 2021-03-30 华为技术有限公司 正弦编码和解码的方法和装置
WO2020032177A1 (fr) * 2018-08-10 2020-02-13 ヤマハ株式会社 Procédé et dispositif de génération d'un vecteur de composante de fréquence de données chronologiques
US20200111501A1 (en) * 2018-10-05 2020-04-09 Electronics And Telecommunications Research Institute Audio signal encoding method and device, and audio signal decoding method and device
CN110556122B (zh) * 2019-09-18 2024-01-19 腾讯科技(深圳)有限公司 频带扩展方法、装置、电子设备及计算机可读存储介质
KR20210133551A (ko) * 2020-04-29 2021-11-08 한국전자통신연구원 적응형 주파수 복원 기법 기반 오디오 부호화 방법

Also Published As

Publication number Publication date
EP4487323B1 (fr) 2026-01-14
FR3133265A1 (fr) 2023-09-08
US20250174237A1 (en) 2025-05-29
WO2023165946A1 (fr) 2023-09-07

Similar Documents

Publication Publication Date Title
EP1692689B1 (fr) Procede de codage multiple optimise
EP2489039B1 (fr) Codage/décodage paramétrique bas débit optimisé
EP2374123B1 (fr) Codage perfectionne de signaux audionumeriques multicanaux
EP0608174B1 (fr) Systeme de codage-décodage prédictif d&#39;un signal numérique de parole par transformée adaptative à codes imbriqués
EP2104936B1 (fr) Codage par transformee, utilisant des fenetres de ponderation et a faible retard
FR2929466A1 (fr) Dissimulation d&#39;erreur de transmission dans un signal numerique dans une structure de decodage hierarchique
EP2452336B1 (fr) Codage/décodage perfectionne de signaux audionumériques
EP4487323B1 (fr) Codage et décodage optimisé d&#39;un signal audio utilisant un auto-encodeur à base de réseau de neurones
EP2347411B1 (fr) Attenuation de pre-echos dans un signal audionumerique
FR2984580A1 (fr) Procede de detection d&#39;une bande de frequence predeterminee dans un signal de donnees audio, dispositif de detection et programme d&#39;ordinateur correspondant
EP1836699B1 (fr) Procédé et dispositif de codage audio optimisé entre deux modèles de prediction à long terme
WO2024213553A1 (fr) Quantification optimisée d&#39;un espace latent en codage audio neuronal
EP2489040A1 (fr) Decodage parametrique stereo optimise
WO2011144863A1 (fr) Codage avec mise en forme du bruit dans un codeur hierarchique
EP1192619B1 (fr) Codage et decodage audio par interpolation
FR3164561A1 (fr) Post-traitement d’un signal audio selon un modèle de post-traitement issu d’un entrainement optimisé
Deshpande et al. Audio Spectral Enhancement: Leveraging Autoencoders for Low Latency Reconstruction of Long, Lossy Audio Sequences
EP1194923B1 (fr) Procedes et dispositifs d&#39;analyse et de synthese audio
CN121811892A (zh) 音频编码方法、音频解码方法、歌曲音频编解码方法、设备、介质和程序产品
FR2980620A1 (fr) Traitement d&#39;amelioration de la qualite des signaux audiofrequences decodes
EP1192618B1 (fr) Codage audio avec liftrage adaptif
WO2001003119A1 (fr) Codage et decodage audio incluant des composantes non harmoniques du signal
FR2773653A1 (fr) Dispositifs de codage/decodage de donnees, et supports d&#39;enregistrement memorisant un programme de codage/decodage de donnees au moyen d&#39;un filtre de ponderation frequentielle
WO2001003120A1 (fr) Codage audio avec composants harmoniques

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20240805

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20250909

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: CH

Ref legal event code: F10

Free format text: ST27 STATUS EVENT CODE: U-0-0-F10-F00 (AS PROVIDED BY THE NATIONAL OFFICE)

Effective date: 20260114

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602023010752

Country of ref document: DE

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: FRENCH

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20260121

Year of fee payment: 4

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20260219

Year of fee payment: 4