EP3175444B1 - Frame loss management in an fd/lpd transition context - Google Patents
Frame loss management in an fd/lpd transition context Download PDFInfo
- Publication number
- EP3175444B1 EP3175444B1 EP15757533.3A EP15757533A EP3175444B1 EP 3175444 B1 EP3175444 B1 EP 3175444B1 EP 15757533 A EP15757533 A EP 15757533A EP 3175444 B1 EP3175444 B1 EP 3175444B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- frame
- predictive
- digital signal
- coded
- segment
- 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.)
- Active
Links
- 230000007704 transition Effects 0.000 title claims description 74
- 230000015654 memory Effects 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 36
- 238000003860 storage Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 claims description 2
- 230000005284 excitation Effects 0.000 description 29
- 238000003786 synthesis reaction Methods 0.000 description 15
- 230000015572 biosynthetic process Effects 0.000 description 14
- 238000012952 Resampling Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000012805 post-processing Methods 0.000 description 9
- 230000009466 transformation Effects 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000003595 spectral effect Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 241000861223 Issus Species 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000007562 laser obscuration time method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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 predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/20—Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
Definitions
- the present invention relates to the field of coding / decoding of digital signals in particular for the loss of frame correction.
- the invention is advantageously applied to the coding / decoding of sounds that can contain speech and music mixed or alternately.
- CELP Code Excited Linear Prediction
- transform coding techniques are preferred.
- CELP coders are predictive coders. They aim to model the production of speech from various elements: a short-term linear prediction to model the vocal tract, a long-term prediction to model the vibration of vocal cords in voiced period, and an excitation derived from a fixed dictionary (white noise, algebraic excitation) to represent the "innovation" which could not be modeled.
- Transform coders such as MPEG AAC, AAC-LD, AAC-ELD or ITU-T G.722.1 Annex C use critical-sampling transforms to compact the signal in the transformed domain.
- a "critical-sampling transform” is a transform for which the number of coefficients in the transformed domain is equal to the number of time samples in each frame analyzed.
- One solution for efficiently coding a mixed speech / music content signal consists in selecting, over time, the best technique between at least two coding modes, one of the CELP type, the other of the transformed type.
- the MDCT window is divided into 4 adjacent portions of equal lengths M / 2, here called "quarters".
- the signal is multiplied by the analysis window and folds are made: the first quarter (windowed) is folded (ie inverted in time and overlapped) on the second quarter and the fourth quarter is folded on the third.
- the temporal folding from one quarter to another is done in the following way: the first sample of the first quarter is added (or subtracted) to the last sample of the second quarter, the second sample of the first quarter is added (or subtracted ) to the second-last sample in the second quarter, and so on until the last sample in the first quarter that is added (or subtracted) to the first sample in the second quarter.
- the folded two quarters are then coded together after DCT (Type IV) transformation.
- DCT Type IV transformation
- the third and fourth quarters of the previous frame then become the first and second quarters of the current frame.
- the decoded version of these folded signals is thus obtained.
- Two consecutive frames contain the result of 2 different folds of the same quarters, that is to say for each pair of samples one has the result of 2 linear combinations with different but known weights: an equation system is thus solved to obtain the decoded version of the input signal, the time folding can be thus removed using 2 consecutive decoded frames.
- implementation variants of the MDCT transformation exist, in particular on the definition of the DCT transform, on how to fold the block to be transformed temporarily (for example, the signs applied to the folded quarters can be reversed). left and right, or fold the second and third quarter over the first and fourth quarters respectively), etc. These variants do not change the principle of the MDCT analysis-synthesis with the reduction of the sample block by windowing, temporal folding then transformation and finally windowing, folding and addition-recovery.
- the international patent application WO2012 / 085451 proposes a method for encoding a transition frame.
- the transition frame is defined as the transform-encoded current frame that succeeds a previous frame encoded by predictive coding.
- a part of the transition frame for example a subframe of 5 ms, in the case of a CELP core coding at 12.8 kHz, and two additional CELP frames of 4 ms each, in the case of a CELP core coding at 16 kHz, are coded by a predictive coding restricted with respect to the predictive coding of the previous frame.
- Restricted predictive coding consists in using the stable parameters of the preceding frame coded by a predictive coding, such as the coefficients of the linear prediction filter and coding only a few minimum parameters for the additional subframe in the transition frame.
- the bold lines separate the frames of new samples at the input of the encoder.
- the coding of a new MDCT frame can be started when a so-defined frame of new input samples is fully available. It is important to note that these lines in bold at the coder do not correspond to the current frame but to the block of new samples arriving for each frame: the current frame is in fact delayed by 5 ms which correspond to an anticipation, called " lookahead " in English.
- the bold lines separate the decoded frames at the output of the decoder.
- the transition window is zero to the point of folding.
- the portion between the folding point and the end of the CELP transition subframe (TR) corresponds to a (half) sinusoidal window.
- the same window is applied to the signal.
- the coefficients of the window correspond to a window of form sin 2 .
- coded audio signal frames may be lost on the channel between the encoder and the decoder.
- the techniques of correction of loss of existing frames are most often very dependent on the type of coding used.
- An example is proposed in US2014 / 0019142 A1 .
- the frame loss correction is often related to the speech model.
- the ITU-T Standard G.722.2 proposes to replace a lost packet by extending the long-term prediction gain by attenuating it, and by extending the spectral line frequencies (ISF in English).
- ISF spectral line frequencies
- Immitance Spectral Frequencies representing the coefficients A (z) of the LPC filter, making them tend towards their respective averages.
- the fundamental period (or "pitch") is also repeated.
- the contribution of the fixed dictionary is filled with random values.
- a common technique for correcting a frame loss is to repeat the last frame received.
- Such a technique is implemented in several standardized coders / decoders (G.719, G.722.1 and G.722.1C in particular).
- G.719, G.722.1 and G.722.1C standardized coders / decoders
- an MLT transform for " Modulated Lapped Transform "), equivalent to an MDCT transform, with a 50% overlap and a sinusoidal window, makes it possible to ensure slow enough transition between the last lost frame and the repeated frame to erase the artifacts related to the simple repetition of the frame.
- Such a technique is inexpensive but its main defect is the inconsistency between the signal just before the loss of frame and the repeated signal. This results in a phase discontinuity that can introduce important audio artifacts if the overlap time between the two frames is low, as is the case when the windows used for the MLT are so-called low delay windows.
- a replacement frame is generated by using a suitable packet loss masking algorithm (for " Packet Loss Concealment ").
- Packet Loss Concealment for " Packet Loss Concealment ".
- PLC Packet Loss Concealment
- a PLC-based replacement frame adapted to CELP encoding is used, exploiting the CELP encoder memories.
- a replacement frame based on a PLC adapted to the MDCT encoding is generated.
- the transition frame is composed of a CELP subframe (which is at the same sampling rate as the previous CELP frame) and a MDCT frame with a modified MDCT window canceling the folding "left", there are situations for which existing techniques provide no solution.
- a previous CELP frame has been correctly received and decoded, a current transition frame is lost, and the next frame is an MDCT frame.
- the PLC algorithm after receiving the CELP frame, does not know that the lost frame is a transition frame and therefore generates a replacement CELP frame.
- the first folded portion of the next MDCT frame can not be compensated and the delay between the two types of encoder can not be bridged with the CELP subframe contained in the transition frame (which is lost with the transition frame). There is no known solution to deal with this situation.
- a previous CELP frame at 12.8 kHz is correctly received and decoded, a current CELP frame at 16 kHz is lost, and the next frame is a transition frame.
- the PLC algorithm then generates a CELP frame at the frequency of the last correctly received frame, ie 12.8 kHz, and the CELP transition subframe (partially coded from CELP parameters of the 16 kHz CELP frame lost ) can not be decoded.
- the present invention improves this situation.
- the predictive decoding of the previous frame includes the predictive decoding of a correctly received CELP frame or the generation of a replacement CELP frame by a CELP-adapted PLC algorithm.
- this additional segment makes possible a transition between a CELP coding and a transform coding, even in the case of a frame loss.
- the transition with the next MDCT frame can be provided by the additional segment.
- the additional segment may be added to the next MDCT frame to compensate for the first folded portion of this MDCT frame by cross-fading the area containing the non-canceled time folding.
- the decoding of the transition frame is made possible by the use of the additional segment. Indeed, if it is not possible to decode the transition CELP subframe (unavailability of CELP parameters of the previous frame coded at 16 kHz), it is possible to replace it with the additional segment as described above. after.
- the calculations relating to the management of the frame loss and the transition are distributed over time. Indeed, the additional segment is generated and stored for each generated replacement CELP frame. The transition segment is therefore generated as soon as a frame loss is detected, without waiting for a transition to be subsequently detected. The transition is therefore anticipated at each frame loss, which avoids having to manage a "complexity peak" at the moment when a new correct frame is received and decoded.
- next frame is fully coded according to transform coding and the lost current frame is a transition frame between the predecessor coded predictive coding frame and the transform coded next frame.
- the preceding frame is coded according to a predictive coding by a predictive coder core operating at a first frequency.
- the following frame is a transition frame comprising at least one sub-frame coded according to a predictive coding by a predictive coding core operating at a second frequency distinct from the first frequency.
- the following transition frame may comprise a bit indicating the frequency of the predictive coding core used.
- the CELP encoding type (12.8 or 16 kHz) used in the transition CELP subframe can be indicated in the bitstream of the transition frame.
- the invention thus provides to add a systematic indication (one bit) in a transition frame, in order to allow the detection of a CELP coding / decoding frequency difference between the transition CELP subframe and the previous CELP frame.
- the internal memories of the decoder are not updated for the generation of the additional segment. Therefore, the generation of the additional signal segment does not impact the decoding of the next frame, in the event that the next frame is a CELP frame.
- the internal memories of the decoder must correspond to the states of the decoder at the end of the replacement frame.
- the additional digital signal segment corresponds to the first half of the additional frame.
- the efficiency of the method is further improved because the temporary calculation data used for the generation of the replacement CELP frame is directly available for the generation of the additional CELP frame.
- the registers and caches, on which the temporary calculation data are stored may not be updated in order to reuse these data directly for the generation of the additional CELP frame.
- a second aspect of the invention is directed to a computer program comprising instructions for implementing the method according to the first aspect of the invention, when these instructions are executed by a processor.
- the invention may include inserting in the transition frame an information bit on the CELP core used for encoding the transition subframe.
- the figure 1 illustrates an audio decoder 100 according to one embodiment of the invention.
- the coded digital audio signal received by the decoder according to the invention may be derived from an encoder able to encode an audio signal in the form of CELP frames, MDCT frames and CELP / MDCT transition frames, such as the encoder described in the application WO2012 / 085451 .
- a transition-coded transition frame may furthermore comprise a segment (a sub-frame for example) coded by a predictive coding.
- the encoder may further add a bit in the transition frame to identify the frequency of the CELP core used.
- the CELP coding example is given for illustrative purposes to describe any type of predictive coding.
- the MDCT coding example is given for illustrative purposes to describe any type of transform coding.
- the decoder 100 comprises a reception unit 101 of a coded digital audio signal.
- the digital signal is encoded as CELP frames, MDCT frames and CELP / MDCT transition frames.
- CELP coding may be replaced by another type of predictive coding
- MDCT coding may be replaced by another type of transform coding.
- the decoder 100 further comprises a classification unit 102 capable of determining - generally by simple reading of the bitstream and interpretation of the indications received from the coder - whether a current frame is a CELP frame, an MDCT frame, or a transition frame. Depending on the classification of the current frame, the latter may be transmitted to a CELP decoder 103 or to an MDCT decoder 104 (or both, in the case of a transition frame, the transition CELP subframe being transmitted to a decoding unit 105 described below).
- the classification unit 102 may determine the CELP encoding type used in the additional CELP subframe - this type of encoding is indicated as an output bit rate of the encoder.
- FIG. figure 2 An example of a decoder structure CELP 103 is shown with reference to FIG. figure 2 .
- a reception unit 201 which may include a demultiplexing function, is able to receive CELP coding parameters of the current frame. These parameters can include excitation parameters (gain vectors, fixed dictionary vector, adaptive dictionary vector for example) transmitted to a decoding unit 202 capable of generating an excitation.
- the CELP coding parameters may comprise LPC coefficients represented in the form of LSF or ISF, for example. The LPC coefficients are decoded by a decoding unit 203 capable of supplying the LPC coefficients to a synthetic LPC filter 205.
- the CELP decoder 103 may comprise a low-frequency post-processing 207 (or " bass-post filter " in English) similar to that described in the ITU-T G.718 standard.
- the CELP decoder 103 further comprises a resampling 208 of the signal synthesized at the output frequency (the output frequency of the MDCT decoder 104), and an output interface 209.
- post-processing CELP synthesis can be implemented before or after resampling.
- the decoder further comprises a loss of frame management unit 108 and a temporary memory 107.
- the decoder 100 further comprises a decoding unit 105 able to receive the transition CELP subframe and the decoded transition frame by transforming the output of the MDCT decoder 104 in order to decode the frame of the decoder. addition-based transition with recovery of the received signals.
- the decoder 100 may further comprise an output interface 106.
- FIG. 3 is a diagram showing the steps of a method according to an embodiment of the invention.
- a coded digital audio signal current frame may or may not be received by the reception unit 101 from an encoder. It is considered that the previous audio signal frame is a correctly received and decoded frame or a frame of replacement.
- the classification unit 102 determines whether the coded current frame is a CELP frame.
- the method comprises a step 304 of decoding and resampling the coded CELP frame, by the decoder CELP 103.
- the aforementioned internal memories of the decoder CELP 103 can then be set in step 305.
- the decoded and resampled signal is outputted from the decoder 100.
- the excitation parameters of the current frame, as well as the LPC coefficients, can be stored in the memory 107. .
- the current frame comprises at least one segment coded according to a transform coding (MDCT frame or transition frame). It is then checked at a step 307 if the coded current frame is an MDCT frame. If this is the case, the current frame is decoded at a step 308 by the MDCT decoder 104 and the decoded signal is transmitted at the output of the decoder 100 in step 306.
- MDCT frame or transition frame transform coding
- the current frame is not an MDCT frame
- it is a transition frame which is decoded at a step 309 by decoding both the CELP transition subframe and the MDCT transformed current frame and by performing the overlap addition of the signals from the CELP decoder and the MDCT decoder to obtain a digital signal transmitted at the output of the decoder 100 in step 306.
- a PLC algorithm adapted to the MDCT implemented in the lossy frame management unit 108, generates a replacement frame MDCT decoded by the decoder MDCT 104 in order to obtain a signal digital output, at a step 311.
- a PLC algorithm adapted to the CELP is implemented by the frame loss management unit 108 and the CELP decoder 103 to generate a replacement CELP frame at a step 312.
- the memories thus updated can be copied into the temporary memory 107.
- the decoded replacement CELP frame is transmitted at the output of the decoder at a step 315.
- the invention provides for storing in temporary variables the states of the CELP decoding that are modified at each step, before performing these steps, so that the predetermined states can be restored. their stored values after generating the temporary segment.
- the additional signal segment generated is stored in the memory 107 at a step 317.
- a next digital signal frame is received by the reception unit 101. It is verified in a step 319 that the next frame is an MDCT frame or a transition frame.
- next frame is a CELP frame and is decoded by the CELP decoder 103 at a step 320.
- the additional segment synthesized in step 316 is not used and can be deleted. the memory 107.
- next frame is an MDCT frame or a transition frame
- it is decoded by the MDCT decoder 104 in a step 322.
- the additional digital signal segment stored in the memory 107 is retrieved at a step 323 by the management unit 108 and transmitted to the decoding unit 105.
- the additional signal segment obtained makes it possible to carry out an overlay by the unit 103 in order to correctly decode the first part of the next MDCT frame at a step 324.
- the additional segment is a sub-frame half
- a linear gain between 0 and 1 may be applied during the overlap over the first half of the MDCT frame and a gain linear between 1 and 0 is applied to the additional signal segment.
- MDCT decoding can give rise to discontinuities due to quantization errors.
- the digital signal obtained after overlap is transmitted at the output of the decoder at a step 325.
- the invention provides, on loss of a current frame following a previous CELP frame, the generation of an additional segment in addition to a replacement frame.
- an additional segment is not used.
- its calculation does not induce any additional complexity insofar as the coding parameters of the previous frame are reused.
- the next frame is an MDCT frame or a transition frame with a CELP subframe at a core frequency different from the core frequency used for encoding the previous CELP frame
- the additional signal segment generated and stored allows the decoding of the next frame, which was not allowed by the solutions of the prior art.
- the figure 4 represents an example of a computing device 400 that can be integrated in the CELP encoder 103 and in the MDCT encoder 104.
- the device 400 comprises a random access memory 404 and a processor 403 for storing instructions allowing the implementation of steps of the method described above (implemented by the CELP encoder 103 or by the MDCT encoder 104).
- the device also comprises a mass memory 405 for storing data intended to be stored after the application of the method.
- the device 400 further comprises an input interface 401 and an output interface 406 respectively for receiving the frames of the digital signal and transmitting the decoded signal frames.
- the device 400 may further comprise a digital signal processor (DSP) 402.
- DSP digital signal processor
- This DSP 402 receives the digital signal frames for shaping, demodulating and amplifying, in a manner known per se, these frames.
- a set-top box can be embedded in any type of larger device such as a mobile phone, a computer, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
La présente invention concerne le domaine du codage/décodage des signaux numériques en particulier pour la correction de perte de trame.The present invention relates to the field of coding / decoding of digital signals in particular for the loss of frame correction.
L'invention s'applique avantageusement au codage/décodage de sons pouvant contenir de la parole et de la musique mélangés ou en alternance.The invention is advantageously applied to the coding / decoding of sounds that can contain speech and music mixed or alternately.
Pour coder efficacement les sons de parole à bas débit, les techniques de type CELP (« Code Excited Linear Prediction ») sont préconisées. Pour coder efficacement les sons musicaux, on préconise plutôt les techniques de codage par transformée.To effectively code low-speed speech sounds, CELP ( Code Excited Linear Prediction ) techniques are recommended. To effectively encode musical sounds, transform coding techniques are preferred.
Les codeurs de type CELP sont des codeurs prédictifs. Ils ont pour but de modéliser la production de la parole à partir de divers éléments : une prédiction linéaire à court-terme pour modéliser le conduit vocal, une prédiction à long-terme pour modéliser la vibration des cordes vocales en période voisée, et une excitation dérivée d'un dictionnaire fixe (bruit blanc, excitation algébrique) pour représenter l' "innovation" qui n'a pas pu être modélisée.CELP coders are predictive coders. They aim to model the production of speech from various elements: a short-term linear prediction to model the vocal tract, a long-term prediction to model the vibration of vocal cords in voiced period, and an excitation derived from a fixed dictionary (white noise, algebraic excitation) to represent the "innovation" which could not be modeled.
Les codeurs par transformée tels que MPEG AAC, AAC-LD, AAC-ELD ou ITU-T G.722.1 Annexe C utilisent des transformées à échantillonnage critique afin de compacter le signal dans le domaine transformé. On appelle « transformée à échantillonnage critique », une transformée pour laquelle le nombre de coefficients dans le domaine transformé est égal au nombre d'échantillons temporels dans chaque trame analysée.Transform coders such as MPEG AAC, AAC-LD, AAC-ELD or ITU-T G.722.1 Annex C use critical-sampling transforms to compact the signal in the transformed domain. A "critical-sampling transform" is a transform for which the number of coefficients in the transformed domain is equal to the number of time samples in each frame analyzed.
Une solution pour coder efficacement un signal de contenu mixte parole/musique consiste à sélectionner au cours du temps la meilleure technique entre au moins deux modes de codage, l'un de type CELP, l'autre de type transformée.One solution for efficiently coding a mixed speech / music content signal consists in selecting, over time, the best technique between at least two coding modes, one of the CELP type, the other of the transformed type.
C'est le cas par exemple des codecs 3GPP AMR-WB + et MPEG USAC (pour "Unified Speech Audio Coding" en anglais). Les applications visées par AMR-WB+ et USAC ne sont pas conversationnelles, mais correspondent à des services de diffusion et stockage, sans contraintes fortes sur le retard algorithmique.This is the case, for example, of the 3GPP AMR-WB + and MPEG USAC codecs (for "Unified Speech Audio Coding" ). The applications targeted by AMR-WB + and USAC are not conversational, but correspond to broadcasting and storage services, without strong constraints on the algorithmic delay.
La version initiale du codec USAC, appelée RMO (Reference Model 0), est décrite dans l'article de
- Pour les signaux de type parole: modes LPD (pour "Linear Prédictive Domain" en anglais) comprenant deux modes différents dérivés du codage AMR-WB+:
- Un mode ACELP
- Un mode TCX (pour « Transform Coded eXcitation » en anglais) appelé wLPT (pour "weighted Linear Prédictive Transform" en anglais) utilisant une transformée de type MDCT (contrairement au codec AMR-WB+) qui utilise une transformée FFT.
- Pour les signaux de type musique: mode FD (pour "Frequency Domain" en anglais) utilisant un codage par transformée MDCT (pour "Modified Discrete Cosine Transform" en anglais) de type MPEG AAC (pour "Advanced Audio Coding" en anglais) sur 1024 échantillons.
- For speech type signals: LPD (for Linear Predictive Domain ) modes comprising two different modes derived from the AMR-WB + coding:
- ACELP mode
- A mode TCX (for " Transform Coded eXcitation " in English) called wLPT (for "weighted Linear Predictive Transform" in English) using an MDCT type transform (unlike the AMR-WB + codec) that uses an FFT transform.
- For music type signals: FD mode (for "Frequency Domain" in English) using a transform coding MDCT (for "Modified Discrete Cosine Transform" in English) MPEG AAC type (for "Advanced Audio Coding" in English) on 1024 samples.
Dans le codec USAC, les transitions entre modes LPD et FD sont cruciales pour assurer une qualité suffisante sans défaut de commutation, sachant que chaque mode (ACELP, TCX, FD) a une "signature" spécifique (en termes d'artefacts) et que les modes FD et LPD sont de nature différentes - le mode FD repose sur un codage par transformée dans le domaine du signal, tandis que les modes LPD utilisent un codage linéaire prédictif dans le domaine perceptuellement pondéré avec des mémoires de filtre à gérer correctement. La gestion des commutations intermodes dans le codec USAC RMO est détaillée dans l'article de
Pour bien en comprendre le fonctionnement, on rappelle ici le principe du codage par transformée MDCT au travers d'un exemple typique de réalisation.In order to understand how it works, the principle of transform coding MDCT is described here through a typical embodiment.
Au codeur la transformation MDCT se divise typiquement entre trois étapes, le signal étant découpé en trames de M échantillons avant codage MDCT:
- Pondération du signal par une fenêtre appelé ici "fenêtre MDCT" de longueur 2M ;
- Repliement temporel (ou "time-domain aliasing" en anglais) pour former un bloc de longueur M ;
- Transformation DCT (pour "Discrete Cosine Transform" en anglais) de longueur M.
- Weighting of the signal by a window called here "MDCT window" of length 2M;
- Time folding (or "time-domain aliasing" in English) to form a block of length M;
- Transformation DCT (for "Discrete Cosine Transform" in English) of length M.
La fenêtre MDCT est divisée en 4 portions adjacentes de longueurs égales M/2, appelées ici "quarts".The MDCT window is divided into 4 adjacent portions of equal lengths M / 2, here called "quarters".
Le signal est multiplié par la fenêtre d'analyse puis les repliements sont effectués : le premier quart (fenêtré) est replié (c'est-à-dire inversé dans le temps et mis en recouvrement) sur le deuxième quart et le quatrième quart est replié sur le troisième.The signal is multiplied by the analysis window and folds are made: the first quarter (windowed) is folded (ie inverted in time and overlapped) on the second quarter and the fourth quarter is folded on the third.
Plus précisément, le repliement temporel d'un quart sur un autre est effectué de la façon suivante : le premier échantillon du premier quart est additionné (ou soustrait) au dernier échantillon du deuxième quart, le deuxième échantillon du premier quart est additionné (ou soustrait) à l'avant-dernier échantillon du deuxième quart, et ainsi de suite jusqu'au dernier échantillon du premier quart qui est additionné (ou soustrait) au premier échantillon du deuxième quart.More precisely, the temporal folding from one quarter to another is done in the following way: the first sample of the first quarter is added (or subtracted) to the last sample of the second quarter, the second sample of the first quarter is added (or subtracted ) to the second-last sample in the second quarter, and so on until the last sample in the first quarter that is added (or subtracted) to the first sample in the second quarter.
On obtient donc, à partir de 4 quarts, 2 quarts repliés où chaque échantillon est le résultat d'une combinaison linéaire de 2 échantillons du signal à coder. Cette combinaison linéaire induit un repliement temporel.We thus obtain, from 4 quarters, 2 folded quarters where each sample is the result of a linear combination of 2 samples of the signal to be coded. This linear combination induces a temporal folding.
Les 2 quarts repliés sont ensuite codés conjointement après transformation DCT (de type IV). Pour la trame suivante on se décale d'une moitié de fenêtre (soit 50% de recouvrement), les troisième et quatrième quarts de la trame précédente deviennent alors les premier et deuxième quarts de la trame courante. Après repliement, on envoie une deuxième combinaison linéaire des mêmes paires d'échantillons comme dans la trame précédente, mais avec des poids différents.The folded two quarters are then coded together after DCT (Type IV) transformation. For the next frame we shift one half of window (or 50% overlap), the third and fourth quarters of the previous frame then become the first and second quarters of the current frame. After folding, we send a second linear combination of the same pairs of samples as in the previous frame, but with different weights.
Au décodeur, après transformation DCT inverse on obtient donc la version décodée de ces signaux repliés. Deux trames consécutives contiennent le résultat de 2 repliements différents des mêmes quarts, c'est à dire pour chaque paire d'échantillons on a le résultat de 2 combinaisons linéaires avec des poids différents mais connus : un système d'équation est donc résolu pour obtenir la version décodée du signal d'entrée, le repliement temporel peut être ainsi supprimé en utilisant 2 trames décodées consécutives.At the decoder, after inverse DCT transformation, the decoded version of these folded signals is thus obtained. Two consecutive frames contain the result of 2 different folds of the same quarters, that is to say for each pair of samples one has the result of 2 linear combinations with different but known weights: an equation system is thus solved to obtain the decoded version of the input signal, the time folding can be thus removed using 2 consecutive decoded frames.
La résolution des systèmes d'équations mentionnées peut en général être faite implicitement par dépliement, multiplication par une fenêtre de synthèse judicieusement choisie puis addition-recouvrement des parties communes. Cette addition-recouvrement assure en même temps la transition douce (sans discontinuité due aux erreurs de quantification) entre 2 trames décodées consécutives, en effet cette opération se comporte comme un fondu enchaîné. Quand la fenêtre pour le premier quart ou le quatrième quart est à zéro pour chaque échantillon, on parle d'une transformation MDCT sans repliement temporel dans cette partie de la fenêtre. Dans ce cas la transition douce n'est pas assurée par la transformation MDCT, elle doit être faite par d'autres moyens comme par exemple un fondu enchaîné extérieur.The resolution of the systems of equations mentioned can in general be made implicitly by unfolding, multiplication by a wisely chosen synthesis window then addition-recovery of the common parts. This overlap addition ensures at the same time the smooth transition (without discontinuity due to quantization errors) between two consecutive decoded frames, in fact this operation behaves like a crossfade. When the window for the first quarter or fourth quarter is zero for each sample, we are talking about an MDCT transformation without time folding in this part of the window. In this case the smooth transition is not ensured by the MDCT transformation, it must be done by other means such as for example an external crossfade.
Il est à noter que des variantes de mise en oeuvre de la transformation MDCT existent, en particulier sur la définition de la transformée DCT, sur la façon de replier temporellement le bloc à transformer (par exemple, on peut inverser les signes appliqués aux quarts repliés à gauche et droite, ou replier les deuxième et troisième quart sur respectivement les premiers et quatrième quarts), etc. Ces variantes ne changent pas le principe de l'analyse-synthèse MDCT avec la réduction du bloc d'échantillons par fenêtrage, repliement temporel puis transformation et enfin fenêtrage, repliement et addition-recouvrement.It should be noted that implementation variants of the MDCT transformation exist, in particular on the definition of the DCT transform, on how to fold the block to be transformed temporarily (for example, the signs applied to the folded quarters can be reversed). left and right, or fold the second and third quarter over the first and fourth quarters respectively), etc. These variants do not change the principle of the MDCT analysis-synthesis with the reduction of the sample block by windowing, temporal folding then transformation and finally windowing, folding and addition-recovery.
Afin d'éviter les artefacts au moment des transitions entre le codage de type CELP et le codage de type MDCT, la demande de brevet internationale
Le codage prédictif restreint consiste à utiliser les paramètres stables de la trame précédente codée par un codage prédictif, comme par exemple les coefficients du filtre de prédiction linéaire et de ne coder que quelques paramètres minimaux pour la sous-trame supplémentaire dans la trame de transition.Restricted predictive coding consists in using the stable parameters of the preceding frame coded by a predictive coding, such as the coefficients of the linear prediction filter and coding only a few minimum parameters for the additional subframe in the transition frame.
Comme la trame précédente n'a pas été codée avec un codage par transformée, l'annulation du repliement temporel dans la première partie de la trame est impossible. La demande de brevet
Au codeur, la fenêtre de transition est nulle jusqu'au point de repliement. Ainsi les coefficients de la partie gauche de la fenêtre repliée seront identiques à ceux de la fenêtre non repliée. La partie entre le point de repliement et la fin de la sous-trame CELP de transition (TR) correspond à une (demi-) fenêtre sinusoïdale. Au décodeur, après dépliement, la même fenêtre est appliquée au signal. Sur le segment entre le point de repliement et le début de la trame MDCT, les coefficients de la fenêtre correspondent à une fenêtre de forme sin2. Pour assurer l' addition-recouvrement entre la sous trame CELP décodée et le signal issu de la MDCT, il suffit d'appliquer une fenêtre de type cos2 à la partie de la sous-trame CELP en recouvrement et de sommer cette dernière avec la trame MDCT. La méthode est à reconstruction parfaite.At the encoder, the transition window is zero to the point of folding. Thus the coefficients of the left part of the folded window will be identical to those of the unfolded window. The portion between the folding point and the end of the CELP transition subframe (TR) corresponds to a (half) sinusoidal window. At the decoder, after unfolding, the same window is applied to the signal. On the segment between the folding point and the beginning of the MDCT frame, the coefficients of the window correspond to a window of form sin 2 . To ensure the overlap-addition between the decoded subframe CELP and the signal from the MDCT, it suffices to apply a window of cos 2 type to the part of the subframe CELP in overlap and to summon the latter with the MDCT frame. The method is perfect reconstruction.
Toutefois, des trames de signal audio codé peuvent être perdues sur le canal entre le codeur et le décodeur.However, coded audio signal frames may be lost on the channel between the encoder and the decoder.
Les techniques de correction de perte de trames existantes sont les plus souvent très dépendantes du type de codage utilisé. Un exemple est proposé dans
Une autre solution est présentée dans la norme G.711 de l'ITU-T, qui décrit un codeur par transformée pour lequel l'algorithme de correction de perte de trame, traité dans la partie « Appendix I » consiste à trouver un délai tonal (une période fondamentale) dans le signal déjà décodé et à le répéter en appliquant une addition-recouvrement entre le signal déjà décodé et le signal répété. Cette addition avec recouvrement permet de gommer les artefacts audio mais nécessite un délai supplémentaire au décodeur (correspondant à la durée de l'addition-recouvrement) pour être mise en oeuvre.Another solution is presented in the ITU-T G.711 standard, which describes a transform coder for which the frame loss correction algorithm, treated in the "Appendix I" part, consists in finding a tonal delay. (a fundamental period) in the already decoded signal and to repeat it by applying an overlap between the already decoded signal and the repeated signal. This overlapping addition erases the audio artifacts but requires additional delay to the decoder (corresponding to the duration of the overlap-addition) to be implemented.
Dans le cas d'un codage par transformée, une technique répandue pour corriger une perte de trame consiste à répéter la dernière trame reçue. Une telle technique est mise en oeuvre dans plusieurs codeurs/décodeurs normalisés (G.719, G.722.1 et G.722.1C notamment). Par exemple, dans le cas du décodeur G.722.1, une transformée MLT (pour « Modulated Lapped Transform » en anglais), équivalente à une transformée MDCT, avec un recouvrement de 50% et une fenêtre de forme sinusoïdale, permet d'assurer une transition suffisamment lente entre la dernière trame perdue et la trame répétée pour gommer les artefacts liés à la simple répétition de la trame.In the case of transform coding, a common technique for correcting a frame loss is to repeat the last frame received. Such a technique is implemented in several standardized coders / decoders (G.719, G.722.1 and G.722.1C in particular). For example, in the case of the G.722.1 decoder, an MLT transform (for " Modulated Lapped Transform "), equivalent to an MDCT transform, with a 50% overlap and a sinusoidal window, makes it possible to ensure slow enough transition between the last lost frame and the repeated frame to erase the artifacts related to the simple repetition of the frame.
Une telle technique est peu coûteuse mais a comme principal défaut l'incohérence entre le signal juste avant la perte de trame et le signal répété. Il en résulte une discontinuité de phase qui peut introduire des artefacts audio importants si la durée de recouvrement entre les deux trames est faible, comme tel est le cas lorsque les fenêtres utilisées pour la transformée MLT sont des fenêtres dites à faible retard.Such a technique is inexpensive but its main defect is the inconsistency between the signal just before the loss of frame and the repeated signal. This results in a phase discontinuity that can introduce important audio artifacts if the overlap time between the two frames is low, as is the case when the windows used for the MLT are so-called low delay windows.
Au niveau du décodeur, selon les techniques existantes, lorsqu'une trame est manquante, une trame de remplacement est générée en utilisant un algorithme de masquage de paquet perdu PLC adapté (pour « Packet Loss Concealment » en anglais). On notera qu'en général un paquet peut contenir plusieurs trames, ainsi le terme PLC peut être ambigu, et il est ici repris pour indiquer la correction de la trame courante perdue. Par exemple, à la suite d'une trame CELP correctement reçue et décodée, si la trame suivante est perdue, une trame de remplacement basée sur un PLC adapté au codage CELP est utilisée, en exploitant les mémoires du codeur CELP. A la suite d'une trame MDCT correctement reçue et décodée, si la trame suivante est perdue, une trame de remplacement basée sur un PLC adapté au codage MDCT est générée.At the decoder level, according to the existing techniques, when a frame is missing, a replacement frame is generated by using a suitable packet loss masking algorithm (for " Packet Loss Concealment "). Note that in general a packet may contain several frames, so the term PLC may be ambiguous, and it is here taken to indicate the correction of the current frame lost. For example, following a correctly received and decoded CELP frame, if the next frame is lost, a PLC-based replacement frame adapted to CELP encoding is used, exploiting the CELP encoder memories. Following a MDCT frame correctly received and decoded, if the next frame is lost, a replacement frame based on a PLC adapted to the MDCT encoding is generated.
Dans le contexte de la transition entre trames CELP et MDCT, et en considérant que la trame de transition est composée d'une sous-trame CELP (qui est à la même fréquence d'échantillonnage que la trame CELP directement précédente) et d'une trame MDCT comportant une fenêtre MDCT modifiée annulant le repliement « à gauche », il existe des situations pour lesquelles les techniques existantes n'apportent aucune solution.In the context of the transition between CELP and MDCT frames, and considering that the transition frame is composed of a CELP subframe (which is at the same sampling rate as the previous CELP frame) and a MDCT frame with a modified MDCT window canceling the folding "left", there are situations for which existing techniques provide no solution.
Dans une première situation, une trame CELP précédente a été correctement reçue et décodée, une trame courante de transition est perdue et la trame suivante est une trame MDCT. Dans ce cas, l'algorithme de PLC, après la réception de la trame CELP, ne sait pas que la trame perdue est une trame de transition et génère par conséquent une trame CELP de remplacement. Ainsi, tel que précédemment expliqué, la première partie repliée de la trame suivante MDCT ne peut pas être compensée et le délai entre les deux types de codeur ne peut pas être comblé avec la sous-trame CELP contenue dans la trame de transition (qui est perdue avec la trame de transition). Aucune solution connue ne propose de traiter cette situation.In a first situation, a previous CELP frame has been correctly received and decoded, a current transition frame is lost, and the next frame is an MDCT frame. In this case, the PLC algorithm, after receiving the CELP frame, does not know that the lost frame is a transition frame and therefore generates a replacement CELP frame. Thus, as previously explained, the first folded portion of the next MDCT frame can not be compensated and the delay between the two types of encoder can not be bridged with the CELP subframe contained in the transition frame (which is lost with the transition frame). There is no known solution to deal with this situation.
Dans une deuxième situation, une trame précédente CELP à 12,8 kHz est correctement reçue et décodée, une trame CELP courante à 16 kHz est perdue, et la trame suivante est une trame de transition. L'algorithme de PLC génère alors une trame CELP à la fréquence de la dernière trame correctement reçue, soit 12,8 kHz, et la sous-trame CELP de transition (codée partiellement à partir de paramètres CELP de la trame CELP à 16 kHz perdue) ne peut pas être décodée.In a second situation, a previous CELP frame at 12.8 kHz is correctly received and decoded, a current CELP frame at 16 kHz is lost, and the next frame is a transition frame. The PLC algorithm then generates a CELP frame at the frequency of the last correctly received frame, ie 12.8 kHz, and the CELP transition subframe (partially coded from CELP parameters of the 16 kHz CELP frame lost ) can not be decoded.
La présente invention vient améliorer cette situation.The present invention improves this situation.
A cet effet, un premier aspect de l'invention concerne un procédé de décodage d'un signal numérique codé selon un codage prédictif et selon un codage par transformée, comprenant les étapes suivantes :
- décodage prédictif d'une trame précédente du signal numérique, codée par un ensemble de paramètres de codage prédictif ;
- détection de la perte d'une trame courante du signal numérique codé;
- génération par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'une trame de remplacement de la trame courante ;
- génération par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'un segment supplémentaire de signal numérique ;
- stockage temporaire de ce segment supplémentaire de signal numérique.
- predictive decoding of a previous frame of the digital signal, encoded by a set of predictive coding parameters;
- detecting the loss of a current frame of the encoded digital signal;
- generating by prediction, from at least one predictive coding parameter encoding the previous frame, a replacement frame of the current frame;
- generating by prediction, from at least one predictive coding parameter coding the preceding frame, an additional segment of digital signal;
- temporary storage of this additional segment of digital signal.
Ainsi, un segment supplémentaire de signal numérique est disponible à chaque fois qu'une trame CELP de remplacement est générée. Le décodage prédictif de la trame précédente englobe le décodage prédictif d'une trame CELP correctement reçue ou la génération d'une trame CELP de remplacement par un algorithme de PLC adapté au CELP.Thus, an additional segment of digital signal is available each time a replacement CELP frame is generated. The predictive decoding of the previous frame includes the predictive decoding of a correctly received CELP frame or the generation of a replacement CELP frame by a CELP-adapted PLC algorithm.
D'une part, ce segment supplémentaire rend possible une transition entre un codage CELP et un codage par transformée, même dans le cas d'une perte de trame.On the one hand, this additional segment makes possible a transition between a CELP coding and a transform coding, even in the case of a frame loss.
En effet, dans la première situation décrite ci-dessus, la transition avec la trame MDCT suivante peut être assurée par le segment supplémentaire. Comme cela est décrit ci-après, le segment supplémentaire peut être ajouté à la trame MDCT suivante pour compenser la première partie repliée de cette trame MDCT grâce à un fondu enchaîné sur la zone contenant le repliement temporel non annulé.Indeed, in the first situation described above, the transition with the next MDCT frame can be provided by the additional segment. As described below, the additional segment may be added to the next MDCT frame to compensate for the first folded portion of this MDCT frame by cross-fading the area containing the non-canceled time folding.
Dans la deuxième situation décrite ci-dessus, le décodage de la trame de transition est rendu possible par l'utilisation du segment supplémentaire. En effet, s'il n'est pas possible décoder la sous-trame CELP de transition (indisponibilité des paramètres CELP de la trame précédente codée à 16 kHz), il est possible de la remplacer par le segment supplémentaire comme cela est décrit ci-après.In the second situation described above, the decoding of the transition frame is made possible by the use of the additional segment. Indeed, if it is not possible to decode the transition CELP subframe (unavailability of CELP parameters of the previous frame coded at 16 kHz), it is possible to replace it with the additional segment as described above. after.
D'autre part, les calculs relatifs à la gestion de la perte de trame et à la transition sont répartis dans le temps. En effet, le segment supplémentaire est généré puis stocké pour chaque trame CELP de remplacement générée. Le segment de transition est donc généré dès qu'une perte de trame est détectée, sans attendre qu'une transition soit ultérieurement détectée. La transition est donc anticipée à chaque perte de trame, ce qui évite d'avoir à gérer un « pic de complexité » au moment où une nouvelle trame correcte est reçue et décodée.On the other hand, the calculations relating to the management of the frame loss and the transition are distributed over time. Indeed, the additional segment is generated and stored for each generated replacement CELP frame. The transition segment is therefore generated as soon as a frame loss is detected, without waiting for a transition to be subsequently detected. The transition is therefore anticipated at each frame loss, which avoids having to manage a "complexity peak" at the moment when a new correct frame is received and decoded.
Dans un mode de réalisation, le procédé comporte en outre les étapes suivantes :
- réception d'une trame suivante de signal numérique codé comprenant au moins un segment codé par transformée ; et
- décodage de la trame suivante comprenant une sous-étape d'addition avec recouvrement entre le segment supplémentaire de signal numérique et le segment codé par transformée. La sous-étape d'addition avec recouvrement rend possible un fondu-enchaîné du signal de sortie. Un tel fondu-enchaîné limite l'apparition d'artefacts sonores (par exemple de type « bruit métallique ») et assure une cohérence énergétique du signal.
- receiving a next coded digital signal frame comprising at least one transform coded segment; and
- decoding the next frame comprising an overlap adding sub-step between the additional digital signal segment and the transform coded segment. The overlapping addition sub-step makes it possible to cross-fade the output signal. Such a fade-out limits the appearance of sound artifacts (for example of the "metallic noise" type) and ensures an energy coherence of the signal.
Dans un autre mode de réalisation, la trame suivante est entièrement codée selon un codage par transformée et la trame courante perdue est une trame de transition entre la trame précédente codée selon un codage prédictif et la trame suivante codée selon un codage par transformée.In another embodiment, the next frame is fully coded according to transform coding and the lost current frame is a transition frame between the predecessor coded predictive coding frame and the transform coded next frame.
Dans une variante, la trame précédente est codée selon un codage prédictif par un coeur de codeur prédictif fonctionnant à une première fréquence. Dans cette variante, la trame suivante est une trame de transition comprenant au moins une sous-trame codée selon un codage prédictif par un coeur de codeur prédictif fonctionnant à une deuxième fréquence distincte de la première fréquence. A cet effet, la trame de transition suivante peut comprendre un bit indiquant la fréquence du coeur de codage prédictif utilisé.In a variant, the preceding frame is coded according to a predictive coding by a predictive coder core operating at a first frequency. In this variant, the following frame is a transition frame comprising at least one sub-frame coded according to a predictive coding by a predictive coding core operating at a second frequency distinct from the first frequency. For this purpose, the following transition frame may comprise a bit indicating the frequency of the predictive coding core used.
Ainsi, le type de codage CELP (12,8 ou 16 kHz) utilisé dans la sous-trame CELP de transition peut être indiqué dans le train binaire de la trame de transition. L'invention ainsi prévoit de rajouter une indication systématique (un bit) dans une trame de transition, afin de permettre la détection d'une différence de fréquence de codage/décodage CELP entre la sous-trame CELP de transition et la trame CELP précédente.Thus, the CELP encoding type (12.8 or 16 kHz) used in the transition CELP subframe can be indicated in the bitstream of the transition frame. The invention thus provides to add a systematic indication (one bit) in a transition frame, in order to allow the detection of a CELP coding / decoding frequency difference between the transition CELP subframe and the previous CELP frame.
Dans un autre mode de réalisation, l'addition avec recouvrement est donnée par application de la formule suivante mettant en oeuvre une pondération linéaire :
- r est un coefficient représentatif de la longueur du segment supplémentaire généré ;
- i un instant d'un échantillon de la trame suivante, compris entre 0 et L/r ;
- L la longueur de la trame suivante ;
- S(i) l'amplitude de la trame suivante après addition, pour l'échantillon i ;
- B(i) l'amplitude du segment décodé par transformée, pour l'échantillon i ;
- T(i) l'amplitude du segment supplémentaire de signal numérique, pour l'échantillon i. L'addition avec recouvrement peut donc être effectuée à partir de combinaisons linéaires et d'opérations simples à mettre en oeuvre. Le temps requis pour le décodage est ainsi réduit tout en sollicitant moins le ou les processeurs utilisés pour ces calculs. Dans des variantes, d'autres formes de fondu enchaîné pourront être mises en oeuvre sans changer le principe de l'invention.
- r is a coefficient representative of the length of the additional segment generated;
- i a moment of a sample of the next frame, between 0 and L / r;
- L the length of the next frame;
- S (i) the amplitude of the next frame after addition, for sample i;
- B (i) the amplitude of the transform decoded segment, for sample i;
- T (i) the amplitude of the additional digital signal segment, for sample i. The overlap addition can therefore be performed from linear combinations and simple operations to implement. The time required for the decoding is thus reduced while requiring less the processor (s) used for these calculations. In variants, other forms of cross-fade can be implemented without changing the principle of the invention.
Dans un mode de réalisation, l'étape de génération par prédiction de la trame de remplacement comportant en outre une mise à jour de mémoires internes du décodeur, l'étape de génération par prédiction d'un segment supplémentaire de signal numérique peut comporter les sous-étapes suivantes :
- copie dans une mémoire temporaire, des mémoires du décodeur mises à jour lors de l'étape de génération par prédiction de la trame de remplacement ;
- génération du segment supplémentaire de signal numérique au moyen de la mémoire temporaire.
- copying into a temporary memory, decoder memories updated during the step of generating by prediction of the replacement frame;
- generating the additional digital signal segment using the temporary memory.
Ainsi, les mémoires internes du décodeur ne sont pas mises à jour pour la génération du segment supplémentaire. Par conséquent, la génération du segment de signal supplémentaire n'impacte pas le décodage de la trame suivante, dans le cas éventuel où la trame suivante est une trame CELP.Thus, the internal memories of the decoder are not updated for the generation of the additional segment. Therefore, the generation of the additional signal segment does not impact the decoding of the next frame, in the event that the next frame is a CELP frame.
En effet, si la trame suivante est une trame CELP, les mémoires internes du décodeur doivent correspondre aux états du décodeur à l'issue de la trame de remplacement.Indeed, if the next frame is a CELP frame, the internal memories of the decoder must correspond to the states of the decoder at the end of the replacement frame.
Dans un mode de réalisation, l'étape de génération par prédiction d'un segment supplémentaire de signal numérique comporte les sous-étapes suivantes :
- génération par prédiction d'une trame supplémentaire, à partir d'au moins un paramètre de codage prédictif codant la trame précédente ;
- extraction d'un segment de la trame supplémentaire.
- generation by prediction of an additional frame, from at least one predictive coding parameter encoding the previous frame;
- extraction of a segment of the additional frame.
Dans ce mode de réalisation, le segment supplémentaire de signal numérique correspond à la première moitié de la trame supplémentaire. Ainsi, l'efficacité du procédé est encore améliorée car les données temporaires de calcul utilisées pour la génération de la trame CELP de remplacement sont directement disponibles pour la génération de la trame CELP supplémentaire. Typiquement, les registres et mémoires caches, sur lesquels sont stockés les données temporaires de calcul, peuvent ne pas être mis à jour afin de réutiliser directement ces données pour la génération de la trame CELP supplémentaire.In this embodiment, the additional digital signal segment corresponds to the first half of the additional frame. Thus, the efficiency of the method is further improved because the temporary calculation data used for the generation of the replacement CELP frame is directly available for the generation of the additional CELP frame. Typically, the registers and caches, on which the temporary calculation data are stored, may not be updated in order to reuse these data directly for the generation of the additional CELP frame.
Un deuxième aspect de l'invention vise un programme informatique comportant des instructions pour la mise en oeuvre du procédé selon le premier aspect de l'invention, lorsque ces instructions sont exécutées par un processeur.A second aspect of the invention is directed to a computer program comprising instructions for implementing the method according to the first aspect of the invention, when these instructions are executed by a processor.
Un troisième aspect de l'invention vise un décodeur d'un signal numérique codé selon un codage prédictif et selon un codage par transformée, comprenant :
- une unité de détection de la perte d'une trame courante du signal numérique ;
- un décodeur prédictif comportant un processeur agencé pour effectuer les opérations suivantes :
- * décodage prédictif d'une trame précédente du signal numérique, codée par un ensemble de paramètres de codage prédictif ;
- * génération par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'une trame de remplacement de la trame courante ;
- * génération par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'un segment supplémentaire de signal numérique ;
- * stockage temporaire de ce segment supplémentaire de signal numérique dans une mémoire temporaire.
- a unit for detecting the loss of a current frame of the digital signal;
- a predictive decoder comprising a processor arranged to perform the following operations:
- predictive decoding of a previous frame of the digital signal coded by a set of predictive coding parameters;
- generation by prediction, from at least one predictive coding parameter coding the preceding frame, of a replacement frame of the current frame;
- generation by prediction, from at least one predictive coding parameter encoding the previous frame, of an additional segment of digital signal;
- * Temporary storage of this additional segment of digital signal in a temporary memory.
Dans un mode de réalisation, le décodeur selon le troisième aspect de l'invention comprend en outre un décodeur par transformée comportant un processeur agencé pour effectuer les opérations suivantes :
- * réception d'une trame suivante de signal numérique codé comprenant au moins un segment codé par transformée ; et
- * décodage de la trame suivante comprenant une sous-étape d'addition avec recouvrement entre le segment supplémentaire de signal numérique et le segment codé par transformée.
- receiving a next coded digital signal frame comprising at least one transform coded segment; and
- decoding the next frame comprising an overlap adding sub-step between the additional digital signal segment and the transform coded segment.
Au niveau du codeur, l'invention peut comprendre l'insertion dans la trame de transition d'un bit d'information sur le coeur CELP employé pour le codage de la sous-trame de transition.At the encoder level, the invention may include inserting in the transition frame an information bit on the CELP core used for encoding the transition subframe.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels:
- la
figure 1 illustre un décodeur audio selon un mode de réalisation de l'invention ; - la
figure 2 illustre un décodeur CELP d'un décodeur audio, tel que le décodeur audio de lafigure 1 , selon un mode de réalisation de l'invention.
- la
figure 3 est un diagramme illustrant les étapes d'un procédé de décodage, mis en oeuvre par le décodeur audio de lafigure 1 , selon un mode de réalisation de l'invention ; - la
figure 4 illustre un dispositif de calcul selon un mode de réalisation de l'invention.
- the
figure 1 illustrates an audio decoder according to an embodiment of the invention; - the
figure 2 illustrates a CELP decoder of an audio decoder, such as the decoder audio of thefigure 1 according to one embodiment of the invention.
- the
figure 3 is a diagram illustrating the steps of a decoding method, implemented by the audio decoder of thefigure 1 according to one embodiment of the invention; - the
figure 4 illustrates a computing device according to one embodiment of the invention.
La
Aucune structure de codeur audio n'est présentée. Toutefois, le signal audio numérique codé reçu par le décodeur selon l'invention peut être issu d'un codeur apte à coder un signal audio sous-forme de trames CELP, de trames MDCT et de trames de transition CELP/MDCT, tel que le codeur décrit dans la demande
Le décodeur 100 comprend une unité de réception 101 d'un signal audio numérique codé. Le signal numérique est codé sous forme de trames CELP, de trames MDCT et de trames de transition CELP/MDCT. Dans des variantes de l'invention, d'autres modes que les modes CELP et MDCT sont possibles, et d'autres combinaisons de modes sont donc envisageables, sans changer le principe de l'invention. Par ailleurs, le codage CELP pourra être remplacé par un autre type de codage prédictif, et le codage MDCT pourra être remplacé par un autre type de codage par transformée.The
Le décodeur 100 comprend en outre une unité de classification 102 apte à déterminer - en général par simple lecture du train binaire et interprétation des indications reçues du codeur - si une trame courante est une trame CELP, une trame MDCT, ou une trame de transition. En fonction de la classification de la trame courante, cette dernière peut être transmise à un décodeur CELP 103 ou à un décodeur MDCT 104 (ou au deux, dans le cas d'une trame de transition, la sous-trame CELP de transition étant transmise à une unité de décodage 105 décrite ci-après). De plus, dans le cas où la trame courante est une trame correcte (ou reçue) de transition et où le codage CELP peut fonctionner à au moins deux fréquences (12,8 et 16 kHz), l'unité de classification 102 pourra déterminer le type de codage CELP utilisé dans la sous-trame CELP supplémentaire - ce type de codage étant indiqué débit binaire en sortie du codeur.The
Un exemple de structure de décodeur CELP 103 est représenté en référence à la
Une unité de réception 201, pouvant comprendre une fonction de démultiplexage, est apte à recevoir des paramètres de codage CELP de la trame courante. Ces paramètres peuvent comprendre des paramètres d'excitation (vecteurs de gain, vecteur de dictionnaire fixe, vecteur de dictionnaire adaptatif par exemple) transmis à une unité de décodage 202 apte à générer une excitation. En outre, les paramètres de codage CELP peuvent comprendre des coefficients LPC représentés sous forme de LSF ou d'ISF par exemple. Les coefficients LPC sont décodés par une unité de décodage 203 apte à fournir les coefficients LPC à un filtre LPC de synthèse 205.A
Le filtre de synthèse 205, excité par l'excitation générée par l'unité 202, synthétise une trame (ou généralement une sous-trame) de signal numérique transmis à un filtre de dé-emphase ou désaccentuation 206 (fonction de la forme 1/(1-αz-1) avec par exemple a=0.68). En sortie du filtre de dé-emphase, le décodeur CELP 103 peut comprendre un post-traitement des basses fréquences 207 (ou « bass-post filter » en anglais) similaire à celui décrit dans la norme UIT-T G.718. Le décodeur CELP 103 comprend en outre un ré-échantillonnage 208 du signal synthétisé à la fréquence de sortie (la fréquence de sortie du décodeur MDCT 104), et une interface de sortie 209. Dans des variantes de l'invention, des post-traitements supplémentaires de la synthèse CELP peuvent être mis en oeuvre avant ou après ré-échantillonnage.The
En outre, dans le cas où le signal numérique est décomposé en bandes de fréquences hautes et basses avant codage, le décodeur CELP 103 peut comprendre une unité de décodage des hautes fréquences 204, le signal basses fréquences étant décodé par les unités 202 à 208 décrites ci-avant. La synthèse CELP peut impliquer la mise à jour d'états internes de codeur CELP (ou la mise à jour de mémoires internes), tels que :
- des états servant au décodage de l'excitation ;
- la mémoire du filtre de synthèse 205 ;
- la mémoire du filtre de dé-
emphase 206 ; - des mémoires du post-traitement 207 ;
- des mémoires de l'unité de ré-
échantillonnage 208.
- states for decoding the excitation;
- the memory of the
synthesis filter 205; - the memory of the
de-emphasis filter 206; -
post-processing memories 207; - memories of the
resampling unit 208.
En référence à la
Afin de décoder une trame de transition, le décodeur 100 comprend en outre en unité de décodage 105 apte à recevoir la sous-trame CELP de transition et la trame de transition décodée par transformée en sortie du décodeur MDCT 104, afin de décoder la trame de transition par addition avec recouvrement des signaux reçus. Le décodeur 100 peut comprendre en outre une interface de sortie 106.In order to decode a transition frame, the
Le fonctionnement du décodeur 100 selon l'invention sera mieux compris en référence à la
A une étape 301, une trame courante de signal audio numérique codée peut être reçue ou non par l'unité de réception 101, en provenance d'un codeur. Il est considéré que la trame précédente de signal audio est une trame correctement reçue et décodée ou une trame de remplacement.At a
Il est détecté à une étape 302 si la trame courante codée est manquante ou s'il elle a été reçue par l'unité de réception 101.It is detected at a
Dans le cas où la trame courante codée a bien été reçue, il est déterminé à une étape 303, par l'unité de classification 102, si la trame courante codée est une trame CELP.In the case where the coded current frame has been received, it is determined in a
Dans le cas où la trame courante codée est une trame CELP, le procédé comprend une étape 304 de décodage et de ré-échantillonnage de la trame CELP codée, par le décodeur CELP 103. Les mémoires internes précitées du décodeur CELP 103 peuvent ensuite être mises à jour à une étape 305. A une étape 306, le signal décodé et ré-échantillonné est transmis en sortie du décodeur 100. Les paramètres d'excitation de la trame courante, ainsi que les coefficients LPC, peuvent être stockés dans la mémoire 107.In the case where the coded current frame is a CELP frame, the method comprises a
Dans le cas où la trame courante codée n'est pas une trame CELP, la trame courante comprend au moins un segment codé selon un codage par transformée (trame MDCT ou trame de transition). Il est alors vérifié à une étape 307 si la trame courante codée est une trame MDCT. Si tel est le cas, la trame courante est décodée à une étape 308 par le décodeur MDCT 104 et le signal décodé est transmis en sortie du décodeur 100 à l'étape 306.In the case where the coded current frame is not a CELP frame, the current frame comprises at least one segment coded according to a transform coding (MDCT frame or transition frame). It is then checked at a
Si en revanche la trame courante n'est pas une trame MDCT, alors c'est une trame de transition qui est décodée à une étape 309 en décodant à la fois la sous-trame de transition CELP et la trame courante codée par transformée MDCT et en effectuant l'addition avec recouvrement des signaux issus du décodeur CELP et du décodeur MDCT afin d'obtenir un signal numérique transmis en sortie du décodeur 100 à l'étape 306.If, on the other hand, the current frame is not an MDCT frame, then it is a transition frame which is decoded at a
Dans le cas où la sous-trame courante a été perdue, il est déterminé à une étape 310 si la trame précédente reçue et décodée était une trame CELP. Si tel n'est pas le cas, un algorithme de PLC adapté à la MDCT, mis en oeuvre dans l'unité de gestion de perte de trame 108 génère une trame de remplacement MDCT décodée par le décodeur MDCT 104 afin d'obtenir un signal numérique de sortie, à une étape 311.In the case where the current subframe has been lost, it is determined in a
Si la dernière trame correctement reçue était une trame CELP, un algorithme de PLC adapté au CELP est mis en oeuvre par l'unité de gestion de perte de trame 108 et le décodeur CELP 103 afin de générer une trame CELP de remplacement, à une étape 312.If the last frame correctly received was a CELP frame, a PLC algorithm adapted to the CELP is implemented by the frame
L'algorithme de PLC peut comprendre les étapes suivantes :
- estimation par interpolation des paramètres LSF et du filtre LPC en fonction des paramètres LSF de la trame précédente, en mettant à jour, à une étape 313, les mémoires des quantificateurs prédictifs LSF (qui peuvent être par exemple de type AR or MA) - un exemple de mise en oeuvre de l'estimation des paramètres LPC en cas de perte de trame pour le cas des paramètres ISF est donné dans les clauses 7.11.1.2 « ISF estimation and interpolation » et 7.11.1.7 « Spectral envelope concealment, synthesis, and updates » de la norme UIT-T G.718. Alternativement l'estimation décrite dans la clause I.5.2.3.3 de la norme UIT-T G.722.2 Appendix I pourra également être utilisée dans le cas d'une quantification de type MA ;
- estimation de l'excitation à partir du gain adaptatif et du gain fixe de la trame précédente, en mettant ces valeurs à jour, à l'étape 313, pour la trame suivant. Un exemple d'estimation de l'excitation est décrit dans les clauses 7.11.1.3 « Extrapodation of future pitch », 7.11.1.4 « Construction of the periodic part of the excitation », 7.11.1.15 « Glottal pulse resynchronization in low-delay », 7.11.1.6 «Construction of the random part of the excitation ». Le vecteur du dictionnaire fixe est typiquement remplacé dans chaque sous-trame par un signal aléatoire, le dictionnaire adaptatif utilise un pitch extrapolé et les gains de dictionnaires issus de la trame précédente ont typiquement été atténués selon la classe du signal dans la dernière trame reçue. Alternativement l'estimation de l'excitation décrite dans la norme UIT-T G.722.2 Appendix I pourra également être utilisée ;
- synthétiser le signal à partir de l'excitation et du filtre de synthèse 205 mis à jour et en utilisant la mémoire de synthèse de la trame précédente, en mettant à jour la mémoire de synthèse de la trame précédente à l'étape 313 ;
- dé-emphase du signal synthétisé en utilisant l'unité de dé-
emphase 206, et en mettant à jour, à l'étape 313, la mémoire de l'unité de dé-emphase 206 ; - de façon optionnelle, post-traitement 207 du signal synthétisé en mettant à jour, à l'étape 313, la mémoire du post-traitement - on peut noter que le post-traitement peut être désactivé pendant la correction de perte de trame car les informations qu'ils utilisent ne sont pas fiables car simplement extrapolées, dans ce cas les mémoires du post-traitement doivent quand-même être mise à jour pour permettre un fonctionnement normal à la prochaine trame reçue ;
- ré-échantillonnage du signal synthétisé à la fréquence de sortie par le ré-
échantillonnage 208, en mettant à jour la mémoire du filtre 208 à l'étape 313.
- estimation by interpolation of the LSF parameters and of the LPC filter according to the LSF parameters of the preceding frame, by updating, in a
step 313, the memories of the predictive quantifiers LSF (which may be for example of the AR or MA type) - a example of implementation of the estimation of the LPC parameters in case of loss of frame for the case of the ISF parameters is given in clauses 7.11.1.2 " ISF estimation and interpolation " and 7.11.1.7 " Spectral envelope concealment, synthesis, and updates "of ITU-T G.718. Alternatively the estimation described in clause I.5.2.3.3 of the ITU-T G.722.2 Appendix I may also be used in the case of AM type quantization; - estimating the excitation from the adaptive gain and the fixed gain of the previous frame, updating these values, in
step 313, for the next frame. An example of estimation of excitation is described in clauses 7.11.1.3 " Extrapodation of future pitch", 7.11.1.4 " Construction of the periodic part of the excitation ", 7.11.1.15 " Glottal pulse resynchronization in low-delay " , 7.11.1.6 "Construction of the random part of the excitation". The vector of the fixed dictionary is typically replaced in each subframe by a random signal, the adaptive dictionary uses an extrapolated pitch and the dictionary gains from the previous frame have typically been attenuated according to the class of the signal in the last received frame. Alternatively the excitation estimate described in ITU-T G.722.2 Appendix I may also be used; - synthesizing the signal from the exciter and the updated
synthesis filter 205 and using the synthesis memory of the previous frame, updating the synthesis memory of the previous frame instep 313; - de-emphasis of the synthesized signal using the
de-emphasis unit 206, and updating, instep 313, the memory of thede-emphasis unit 206; - optionally, post-processing 207 of the synthesized signal by updating, in
step 313, the memory of the post-processing - it may be noted that the post-processing can be deactivated during the frame loss correction because the information they use are unreliable because simply extrapolated, in this case the memories of the post-processing must still be updated to allow normal operation to the next received frame; - resampling the synthesized signal at the output frequency by resampling 208, updating the memory of the
filter 208 instep 313.
La mise à jour des mémoires internes permet le décodage d'une éventuelle trame suivante codée par prédiction CELP sans discontinuité. A noter que, dans la norme UIT-T G.718, des techniques de « recovery » et de contrôle de l'énergie de la synthèse sont également employées (par exemple dans les clauses 7.11.1.8 et 7.11.1.8.1) lors du décodage d'une trame reçue après une correction de perte de trame. Cet aspect n'est pas considéré ici car il sort du cadre de l'invention.The updating of the internal memories allows the decoding of a possible future frame coded by CELP prediction without discontinuity. Note that in ITU-T G.718, recovery and synthesis energy control techniques are also employed (for example in clauses 7.11.1.8 and 7.11.1.8.1) when decoding a received frame after a loss of frame correction. This aspect is not considered here because it is outside the scope of the invention.
A une étape 314, les mémoires ainsi mises à jour peuvent être copiées dans la mémoire temporaire 107. La trame CELP de remplacement décodée est transmise en sortie du décodeur à une étape 315.At a
A une étape 316, le procédé selon l'invention prévoit la génération par prédiction, d'un segment supplémentaire de signal numérique, en mettant en oeuvre un algorithme de PLC adapté au CELP. L'étape 316 peut comprendre les sous-étapes suivantes :
- estimation par interpolation des paramètres LSF et du filtre LPC en fonction des paramètres LSF de la trame CELP précédente, sans mettre à jour les mémoires des quantificateurs LSF. L'estimation par interpolation peut être mise en oeuvre selon la même méthode que celle employée pour l'estimation par interpolation pour la trame de remplacement décrite ci-avant (sans mise à jour des mémoires des quantificateurs LSF) ;
- estimation de l'excitation à l'aide du gain adaptatif et du gain fixe de la trame CELP précédente, sans mettre à jour ces valeurs pour la trame suivante. L'excitation peut être déterminée selon la même méthode que celle employée pour la détermination de l'excitation pour la trame de remplacement (sans la mise à jour des valeurs de gain adaptatif et de gain fixe) ;
- synthétiser un segment de signal (une demi-trame ou une sous-trame par exemple) à partir de l'excitation et du filtre de synthèse 205 recalculé et en utilisant la mémoire de synthèse de la trame précédente ;
- dé-emphase du signal synthétisé en utilisant l'unité de dé-
emphase 206; - de façon optionnelle, post-traitement du signal synthétisé en utilisant la mémoire du post-traitement 207 ;
- ré-échantillonnage du signal synthétisé à la fréquence de sortie par le ré-
échantillonnage 208, en utilisant les mémoires de ré-échantillonnage 208.
- Interpolation estimation of LSF parameters and LPC filter according to LSF parameters of the previous CELP frame without updating the LSF quantizer memories. The interpolation estimation can be implemented according to the same method as that used for the interpolation estimation for the replacement frame described above (without updating the memories of the LSF quantizers);
- estimation of the excitation using the adaptive gain and the fixed gain of the previous CELP frame, without updating these values for the next frame. The excitation can be determined by the same method as that used to determine the excitation for the replacement frame (without the update of the adaptive gain and fixed gain values);
- synthesizing a signal segment (for example a half-frame or a sub-frame) from the excitation and the recalculated
synthesis filter 205 and using the synthesis memory of the previous frame; - de-emphasis of the synthesized signal using the
de-emphasis unit 206; - optionally, post-processing the synthesized signal using the
post-processing memory 207; - resampling of the synthesized signal at the output frequency by resampling 208, using the
resampling memories 208.
Il est important de noter que pour chacune des étapes, l'invention prévoit de mémoriser dans des variables temporaires les états du décodage CELP qui sont modifiées à chacune des étapes, avant d'effectuer ces étapes, de sorte que les états prédéterminés puissent être rétablis à leurs valeurs mémorisées après génération du segment temporaire.It is important to note that for each of the steps, the invention provides for storing in temporary variables the states of the CELP decoding that are modified at each step, before performing these steps, so that the predetermined states can be restored. their stored values after generating the temporary segment.
Le segment de signal supplémentaire généré est stocké dans la mémoire 107 à une étape 317.The additional signal segment generated is stored in the
A une étape 318, une trame suivante de signal numérique est reçue par l'unité de réception 101. Il est vérifié à une étape 319 que la trame suivante est une trame MDCT ou une trame de transition.At a
Si tel n'est pas le cas, alors la trame suivante est une trame CELP et elle est décodée par le décodeur CELP 103 à une étape 320. Le segment supplémentaire synthétisé à l'étape 316 n'est pas utilisé et peut être supprimé de la mémoire 107.If this is not the case, then the next frame is a CELP frame and is decoded by the
Dans le cas où la trame suivante est une trame MDCT ou une trame de transition, elle est décodée par le décodeur MDCT 104 à une étape 322. En parallèle, le segment de signal numérique supplémentaire stocké dans la mémoire 107 est récupéré à une étape 323 par l'unité de gestion 108 et transmise à l'unité de décodage 105.In the case where the next frame is an MDCT frame or a transition frame, it is decoded by the
Dans le cas où la trame suivante est une trame MDCT, le segment de signal supplémentaire obtenu permet d'effectuer une addition-recouvrement par l'unité 103 afin de décoder correctement la première partie de la trame MDCT suivante, à une étape 324. Par exemple, lorsque le segment supplémentaire est une moitié de sous-trame, un gain linéaire entre 0 et 1 peut être appliqué lors de l'addition recouvrement sur la première moitié de la trame MDCT et un gain linéaire entre 1 et 0 est appliqué sur le segment de signal supplémentaire. Sans ce segment de signal supplémentaire, le décodage MDCT peut donner lieu à des discontinuités dues aux erreurs de quantification.In the case where the following frame is an MDCT frame, the additional signal segment obtained makes it possible to carry out an overlay by the
Dans le cas où la trame suivante est une trame de transition, deux cas sont à distinguer comme considérés ci-dessous. On rappelle que le décodage de la trame de transition s'appuie non seulement sur la classification de la trame courante comme «trame de transition » mais aussi une indication du type de codage CELP (12,8 ou 16 kHz) lorsque plusieurs fréquences de codage CELP sont possibles. Ainsi :
- si la trame CELP précédente a été codée par un coeur à une première fréquence (par exemple 12,8 kHz) et que la sous-trame CELP de transition a été codée par un coeur à une deuxième fréquence (par exemple 16 kHz), alors la sous-trame de transition ne peut être décodée, et le segment de signal supplémentaire permet alors à l'unité de décodage 105 d'assurer l'addition recouvrement avec le signal issu du décodage MDCT de l'étape 322. Par exemple, lorsque le segment supplémentaire est une moitié de sous-trame, un gain linéaire entre 0 et 1 peut être appliqué lors de l'addition recouvrement sur la première moitié de la trame MDCT et un gain linéaire entre 1 et 0 est appliqué sur le segment de signal supplémentaire. ;
- si la trame CELP précédente et la sous-trame CELP de transition ont été codées par un coeur à la même fréquence, alors la sous-trame CELP de transition peut être décodée et utilisée par l'unité de décodage 105 pour l'addition-recouvrement avec le signal numérique issu du décodeur MDCT 104 ayant décodé la trame de transition.
- if the preceding CELP frame has been coded by a core at a first frequency (for example 12.8 kHz) and the transition CELP subframe has been coded by a core at a second frequency (for example 16 kHz), then the transition subframe can not be decoded, and the additional signal segment then allows the
decoding unit 105 to provide overlap with the signal from the MDCT decoding ofstep 322. For example, when the additional segment is a sub-frame half, a linear gain between 0 and 1 can be applied during overlap over the first half of the MDCT frame and a linear gain between 1 and 0 is applied on the signal segment additional. ; - if the previous CELP frame and the transition CELP subframe have been encoded by a core at the same frequency, then the transition CELP subframe can be decoded and used by the
decoding unit 105 for overlay with the digital signal from thedecoder MDCT 104 having decoded the transition frame.
L'addition avec recouvrement entre le segment de signal supplémentaire et la trame MDCT décodée peut être donnée par la formule suivante :
- r un coefficient représentatif de la longueur du segment supplémentaire généré, la longueur étant égale à L/r. Aucune restriction n'est attachée à la valeur r, qui sera choisie de manière à permettre un recouvrement suffisant entre le segment de signal supplémentaire et la trame MDCT de transition décodée. Par exemple, r peut être égal à 2 ;
- i un instant correspondant à un échantillon de la trame suivante, compris entre 0 et L/r;
- L la longueur de la trame suivante (par exemple 20 ms) ;
- S(i) l'amplitude de la trame suivante après addition, pour l'échantillon i ;
- B(i) l'amplitude du segment décodé par transformée, pour l'échantillon i ;
- T(i) l'amplitude du segment supplémentaire de signal numérique, pour l'échantillon i.
- r a coefficient representing the length of the additional segment generated, the length being equal to L / r. No restriction is attached to the value r, which will be chosen to allow sufficient overlap between the additional signal segment and the decoded transition MDCT frame. For example, r may be 2;
- i an instant corresponding to a sample of the next frame, between 0 and L / r;
- L the length of the next frame (for example 20 ms);
- S (i) the amplitude of the next frame after addition, for sample i;
- B (i) the amplitude of the transform decoded segment, for sample i;
- T (i) the amplitude of the additional digital signal segment, for sample i.
Le signal numérique obtenu après addition recouvrement est transmis en sortie du décodeur à une étape 325.The digital signal obtained after overlap is transmitted at the output of the decoder at a
Ainsi, l'invention prévoit, sur perte d'une trame courante suivant une trame CELP précédente, la génération d'un segment supplémentaire en plus d'une trame de remplacement. Dans certains cas, et notamment si la trame suivante est une trame CELP, un tel segment supplémentaire n'est pas utilisé. Toutefois, son calcul n'induit aucune complexité supplémentaire dans la mesure où les paramètres de codage de la trame précédente sont réutilisés. En revanche, lorsque la trame suivante est une trame MDCT ou une trame de transition avec une sous trame CELP à une fréquence de coeur différente de la fréquence de coeur utilisée pour le codage de la trame CELP précédente, le segment de signal supplémentaire généré et stocké permet le décodage de la trame suivante, qui n'était pas permis par les solutions de l'art antérieur.Thus, the invention provides, on loss of a current frame following a previous CELP frame, the generation of an additional segment in addition to a replacement frame. In some cases, and especially if the next frame is a CELP frame, such an additional segment is not used. However, its calculation does not induce any additional complexity insofar as the coding parameters of the previous frame are reused. On the other hand, when the next frame is an MDCT frame or a transition frame with a CELP subframe at a core frequency different from the core frequency used for encoding the previous CELP frame, the additional signal segment generated and stored allows the decoding of the next frame, which was not allowed by the solutions of the prior art.
La
Le dispositif 400 comprend une mémoire vive 404 et un processeur 403 pour stocker des instructions permettant la mise en oeuvre d'étapes du procédé décrit ci-avant (mises en oeuvre par le codeur CELP 103 ou par le codeur MDCT 104). Le dispositif comporte aussi une mémoire de masse 405 pour le stockage de données destinées à être conservées après l'application du procédé. Le dispositif 400 comporte en outre une interface d'entrée 401 et une interface de sortie 406 respectivement destinées à recevoir les trames du signal numérique et à transmettre les trames de signal décodées.The
Le dispositif 400 peut en outre comporter un processeur de signal numérique (DSP) 402. Ce DSP 402 reçoit les trames de signal numérique pour mettre en forme, démoduler et amplifier, de façon connue en soi ces trames.The
La présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemples ; elle s'étend à d'autres variantes.The present invention is not limited to the embodiments described above as examples; it extends to other variants.
Ainsi, on a décrit ci-avant un mode de réalisation dans lequel le décodeur est une entité à part entière. Bien sûr, un tél décodeur peut être embarqué dans tout type de dispositif plus important comme par exemple un téléphone portable, un ordinateur, etc.Thus, an embodiment has been described above in which the decoder is a separate entity. Of course, a set-top box can be embedded in any type of larger device such as a mobile phone, a computer, etc.
De plus, on a décrit un mode de réalisation proposant une architecture particulière du décodeur. Ces architectures ne sont données qu'à titre illustratif. Ainsi, un agencement des composants et une répartition différente des taches affectées à chacune de ces composantes est également envisageable.In addition, an embodiment has been described proposing a particular architecture of the decoder. These architectures are given for illustrative purposes only. Thus, an arrangement of the components and a different distribution of the spots assigned to each of these components is also conceivable.
Claims (11)
- Method for decoding a digital signal coded using predictive coding and using transform coding, comprising the following steps:- predictive decoding (304) of a preceding frame of the digital signal, which preceding frame is coded by a set of predictive coding parameters;- detection (302) of the loss of a current frame of the coded digital signal;- predictive generation (312), on the basis of at least one predictive coding parameter coding the preceding frame, of a replacement frame for the current frame;- predictive generation (316), on the basis of at least one predictive coding parameter coding the preceding frame, of an additional digital signal segment;- temporary storage (317) of said additional digital signal segment.
- Method according to Claim 1, furthermore comprising the following steps:- reception (318) of a following coded digital signal frame comprising at least one transform-coded segment; and- decoding (322; 323; 324) of the following frame, comprising a sub-step of addition with overlap between the additional digital signal segment and said transform-coded segment.
- Method according to Claim 2, wherein the following frame is coded entirely using transform coding, and wherein the lost current frame is a transition frame between the preceding frame coded using predictive coding and the following frame coded using transform coding.
- Method according to Claim 2, wherein the preceding frame is coded using predictive coding by a predictive coder core operating at a first frequency, and
wherein the following frame is a transition frame comprising at least one subframe coded using predictive coding by a predictive coder core operating at a second frequency different from the first frequency. - Method according to Claim 4, wherein the following frame comprises a bit indicating the frequency of the predictive coder core that is used.
- Method according to one of Claims 2 to 5, wherein the addition with overlap is given by applying the following formula:- r is a coefficient representative of the length of the generated additional segment;- i is an instant corresponding to a sample of the following frame, of between 0 and L/r;- L is the length of the following frame;- S(i) is the amplitude of the following frame after addition, for the sample i;- B(i) is the amplitude of the transform-decoded segment, for the sample i;- T(i) is the amplitude of the additional digital signal segment, for the sample i.
- Method according to one of the preceding claims, wherein the step of predictive generation of the replacement frame furthermore includes updating (313) of internal memories of the decoder, and
wherein the step of predictive generation of an additional digital signal segment includes the following sub-steps:- copying (314), into a temporary memory (107), the memories of the decoder that are updated during the step of predictive generation of the replacement frame;- generation (316) of the additional digital signal segment by way of the temporary memory. - Method according to one of the preceding claims, wherein the step of predictive generation of an additional digital signal segment includes the following sub-steps:- predictive generation of an additional frame, on the basis of at least one predictive coding parameter coding the preceding frame;- extraction of a segment of the additional frame; andwherein the additional digital signal segment corresponds to the first half of the additional frame.
- Computer program including instructions for implementing the method according to any one of the preceding claims when these instructions are executed by a processor.
- Decoder for decoding a digital signal coded using predictive coding and using transform coding, comprising:- a unit (108) for detecting the loss of a current frame of the digital signal;- a predictive decoder (103) including a processor designed to perform the following operations:* predictive decoding of a preceding frame of the digital signal, which preceding frame is coded by a set of predictive coding parameters;* predictive generation, on the basis of at least one predictive coding parameter coding the preceding frame, of a replacement frame for the current frame;* predictive generation, on the basis of at least one predictive coding parameter coding the preceding frame, of an additional digital signal segment;* temporary storage of said additional digital signal segment in a temporary memory (107).
- Decoder according to Claim 10, furthermore including a transform decoder (104) including a processor designed to perform the following operations:* reception of a following coded digital signal frame comprising at least one transform-coded segment; and* transform-decoding of the following frame;said decoder furthermore comprising a decoding unit (105) comprising a processor designed to perform an addition with overlap between the additional digital signal segment and said transform-coded segment.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1457356A FR3024582A1 (en) | 2014-07-29 | 2014-07-29 | MANAGING FRAME LOSS IN A FD / LPD TRANSITION CONTEXT |
PCT/FR2015/052075 WO2016016567A1 (en) | 2014-07-29 | 2015-07-27 | Frame loss management in an fd/lpd transition context |
Publications (2)
Publication Number | Publication Date |
---|---|
EP3175444A1 EP3175444A1 (en) | 2017-06-07 |
EP3175444B1 true EP3175444B1 (en) | 2018-04-11 |
Family
ID=51894139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP15757533.3A Active EP3175444B1 (en) | 2014-07-29 | 2015-07-27 | Frame loss management in an fd/lpd transition context |
Country Status (8)
Country | Link |
---|---|
US (2) | US10600424B2 (en) |
EP (1) | EP3175444B1 (en) |
JP (2) | JP6687599B2 (en) |
KR (1) | KR102386644B1 (en) |
CN (2) | CN113571070B (en) |
ES (1) | ES2676834T3 (en) |
FR (1) | FR3024582A1 (en) |
WO (1) | WO2016016567A1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2980795A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor |
EP2980794A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder using a frequency domain processor and a time domain processor |
TWI602172B (en) * | 2014-08-27 | 2017-10-11 | 弗勞恩霍夫爾協會 | Encoder, decoder and method for encoding and decoding audio content using parameters for enhancing a concealment |
US10424305B2 (en) * | 2014-12-09 | 2019-09-24 | Dolby International Ab | MDCT-domain error concealment |
KR101754702B1 (en) * | 2015-09-03 | 2017-07-07 | 유신정밀공업 주식회사 | Hose clamp having band spring |
US11647241B2 (en) * | 2019-02-19 | 2023-05-09 | Sony Interactive Entertainment LLC | Error de-emphasis in live streaming |
EP3928312A1 (en) * | 2019-02-21 | 2021-12-29 | Telefonaktiebolaget LM Ericsson (publ) | Methods for phase ecu f0 interpolation split and related controller |
Family Cites Families (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4969193A (en) * | 1985-08-29 | 1990-11-06 | Scott Instruments Corporation | Method and apparatus for generating a signal transformation and the use thereof in signal processing |
US6006174A (en) * | 1990-10-03 | 1999-12-21 | Interdigital Technology Coporation | Multiple impulse excitation speech encoder and decoder |
US5907822A (en) * | 1997-04-04 | 1999-05-25 | Lincom Corporation | Loss tolerant speech decoder for telecommunications |
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 |
WO2000054512A1 (en) * | 1999-03-05 | 2000-09-14 | Kabushiki Kaisha Toshiba | Method and apparatus for coding moving picture image |
US6952668B1 (en) * | 1999-04-19 | 2005-10-04 | At&T Corp. | Method and apparatus for performing packet loss or frame erasure concealment |
JP2001169281A (en) * | 1999-12-13 | 2001-06-22 | Matsushita Electric Ind Co Ltd | Device and method for encoding moving image |
JP2003209845A (en) * | 2002-01-11 | 2003-07-25 | Mitsubishi Electric Corp | Image encoding integrated circuit |
US7536305B2 (en) * | 2002-09-04 | 2009-05-19 | Microsoft Corporation | Mixed lossless audio compression |
JP4331928B2 (en) * | 2002-09-11 | 2009-09-16 | パナソニック株式会社 | Speech coding apparatus, speech decoding apparatus, and methods thereof |
EP1604352A4 (en) * | 2003-03-15 | 2007-12-19 | Mindspeed Tech Inc | Simple noise suppression model |
US20040199276A1 (en) * | 2003-04-03 | 2004-10-07 | Wai-Leong Poon | Method and apparatus for audio synchronization |
US7596488B2 (en) * | 2003-09-15 | 2009-09-29 | Microsoft Corporation | System and method for real-time jitter control and packet-loss concealment in an audio signal |
JP4445328B2 (en) * | 2004-05-24 | 2010-04-07 | パナソニック株式会社 | Voice / musical sound decoding apparatus and voice / musical sound decoding method |
US20060088093A1 (en) * | 2004-10-26 | 2006-04-27 | Nokia Corporation | Packet loss compensation |
US8634413B2 (en) * | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
US8155965B2 (en) * | 2005-03-11 | 2012-04-10 | Qualcomm Incorporated | Time warping frames inside the vocoder by modifying the residual |
WO2006125342A1 (en) * | 2005-05-25 | 2006-11-30 | Lin, Hui | An information compress method for digital audio file |
FR2888699A1 (en) * | 2005-07-13 | 2007-01-19 | France Telecom | HIERACHIC ENCODING / DECODING DEVICE |
CN101310329A (en) * | 2005-10-18 | 2008-11-19 | 诺基亚公司 | Method and apparatus for resynchronizing packetized audio streams |
US8620644B2 (en) * | 2005-10-26 | 2013-12-31 | Qualcomm Incorporated | Encoder-assisted frame loss concealment techniques for audio coding |
US7805297B2 (en) * | 2005-11-23 | 2010-09-28 | Broadcom Corporation | Classification-based frame loss concealment for audio signals |
US20120087231A1 (en) * | 2005-12-15 | 2012-04-12 | Huan Qiang Zhang | Packet Loss Recovery Method and Device for Voice Over Internet Protocol |
KR101041895B1 (en) * | 2006-08-15 | 2011-06-16 | 브로드콤 코포레이션 | Time-warping of decoded audio signal after packet loss |
CN101366079B (en) * | 2006-08-15 | 2012-02-15 | 美国博通公司 | Packet loss concealment for sub-band predictive coding based on extrapolation of full-band audio waveform |
ATE463028T1 (en) | 2006-09-13 | 2010-04-15 | Ericsson Telefon Ab L M | METHOD AND ARRANGEMENTS FOR A VOICE/AUDIOS TRANSMITTER AND RECEIVER |
RU2462769C2 (en) * | 2006-10-24 | 2012-09-27 | Войсэйдж Корпорейшн | Method and device to code transition frames in voice signals |
CN101833954B (en) * | 2007-06-14 | 2012-07-11 | 华为终端有限公司 | Method and device for realizing packet loss concealment |
CN101325537B (en) * | 2007-06-15 | 2012-04-04 | 华为技术有限公司 | Method and apparatus for frame-losing hide |
WO2009047461A1 (en) | 2007-09-21 | 2009-04-16 | France Telecom | Transmission error dissimulation in a digital signal with complexity distribution |
CN100524462C (en) * | 2007-09-15 | 2009-08-05 | 华为技术有限公司 | Method and apparatus for concealing frame error of high belt signal |
US8527265B2 (en) * | 2007-10-22 | 2013-09-03 | Qualcomm Incorporated | Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs |
CN101471073B (en) * | 2007-12-27 | 2011-09-14 | 华为技术有限公司 | Package loss compensation method, apparatus and system based on frequency domain |
CN101588341B (en) * | 2008-05-22 | 2012-07-04 | 华为技术有限公司 | Lost frame hiding method and device thereof |
WO2010000303A1 (en) * | 2008-06-30 | 2010-01-07 | Nokia Corporation | Speech decoder with error concealment |
EP2311034B1 (en) * | 2008-07-11 | 2015-11-04 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding frames of sampled audio signals |
KR101261677B1 (en) * | 2008-07-14 | 2013-05-06 | 광운대학교 산학협력단 | Apparatus for encoding and decoding of integrated voice and music |
US8463603B2 (en) * | 2008-09-06 | 2013-06-11 | Huawei Technologies Co., Ltd. | Spectral envelope coding of energy attack signal |
FR2936898A1 (en) * | 2008-10-08 | 2010-04-09 | France Telecom | CRITICAL SAMPLING CODING WITH PREDICTIVE ENCODER |
EP2382625B1 (en) * | 2009-01-28 | 2016-01-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder, encoded audio information, methods for encoding and decoding an audio signal and computer program |
US8457975B2 (en) * | 2009-01-28 | 2013-06-04 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio decoder, audio encoder, methods for decoding and encoding an audio signal and computer program |
JP4977157B2 (en) * | 2009-03-06 | 2012-07-18 | 株式会社エヌ・ティ・ティ・ドコモ | Sound signal encoding method, sound signal decoding method, encoding device, decoding device, sound signal processing system, sound signal encoding program, and sound signal decoding program |
US20110046761A1 (en) * | 2009-08-19 | 2011-02-24 | Paul Frederick Titchener | Recorded Media Enhancement Method |
EP4358082A1 (en) * | 2009-10-20 | 2024-04-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio signal encoder, audio signal decoder, method for encoding or decoding an audio signal using an aliasing-cancellation |
US8442837B2 (en) * | 2009-12-31 | 2013-05-14 | Motorola Mobility Llc | Embedded speech and audio coding using a switchable model core |
US8321216B2 (en) * | 2010-02-23 | 2012-11-27 | Broadcom Corporation | Time-warping of audio signals for packet loss concealment avoiding audible artifacts |
US8428936B2 (en) * | 2010-03-05 | 2013-04-23 | Motorola Mobility Llc | Decoder for audio signal including generic audio and speech frames |
US8423355B2 (en) * | 2010-03-05 | 2013-04-16 | Motorola Mobility Llc | Encoder for audio signal including generic audio and speech frames |
PL4120248T3 (en) * | 2010-07-08 | 2024-05-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decoder using forward aliasing cancellation |
EP2619758B1 (en) * | 2010-10-15 | 2015-08-19 | Huawei Technologies Co., Ltd. | Audio signal transformer and inverse transformer, methods for audio signal analysis and synthesis |
FR2969805A1 (en) * | 2010-12-23 | 2012-06-29 | France Telecom | LOW ALTERNATE CUSTOM CODING PREDICTIVE CODING AND TRANSFORMED CODING |
EP2676265B1 (en) * | 2011-02-14 | 2019-04-10 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding an audio signal using an aligned look-ahead portion |
US9037456B2 (en) * | 2011-07-26 | 2015-05-19 | Google Technology Holdings LLC | Method and apparatus for audio coding and decoding |
DE102011088519A1 (en) * | 2011-12-14 | 2013-06-20 | Metabowerke Gmbh | Stator for an electric motor and method for producing a stator for an electric motor |
US9043201B2 (en) * | 2012-01-03 | 2015-05-26 | Google Technology Holdings LLC | Method and apparatus for processing audio frames to transition between different codecs |
US9053699B2 (en) * | 2012-07-10 | 2015-06-09 | Google Technology Holdings LLC | Apparatus and method for audio frame loss recovery |
US9129600B2 (en) * | 2012-09-26 | 2015-09-08 | Google Technology Holdings LLC | Method and apparatus for encoding an audio signal |
US9123328B2 (en) * | 2012-09-26 | 2015-09-01 | Google Technology Holdings LLC | Apparatus and method for audio frame loss recovery |
CN103714821A (en) * | 2012-09-28 | 2014-04-09 | 杜比实验室特许公司 | Mixed domain data packet loss concealment based on position |
US9661340B2 (en) * | 2012-10-22 | 2017-05-23 | Microsoft Technology Licensing, Llc | Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats |
CN103854649B (en) * | 2012-11-29 | 2018-08-28 | 中兴通讯股份有限公司 | A kind of frame losing compensation method of transform domain and device |
AU2014211520B2 (en) * | 2013-01-29 | 2017-04-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Low-frequency emphasis for LPC-based coding in frequency domain |
PT3011561T (en) * | 2013-06-21 | 2017-07-25 | Fraunhofer Ges Forschung | Apparatus and method for improved signal fade out in different domains during error concealment |
CN103456307B (en) * | 2013-09-18 | 2015-10-21 | 武汉大学 | In audio decoder, the spectrum of frame error concealment replaces method and system |
US10390034B2 (en) * | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
CN105264888B (en) * | 2014-03-04 | 2018-09-14 | 微软技术许可有限责任公司 | Coding strategy for adaptively switching to color space, color samples rate and/or bit-depth |
US20150264357A1 (en) * | 2014-03-11 | 2015-09-17 | Stmicroelectronics S.R.L. | Method and system for encoding digital images, corresponding apparatus and computer program product |
CN105099949A (en) * | 2014-04-16 | 2015-11-25 | 杜比实验室特许公司 | Jitter buffer control based on monitoring for dynamic states of delay jitter and conversation |
EP2980797A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder, method and computer program using a zero-input-response to obtain a smooth transition |
-
2014
- 2014-07-29 FR FR1457356A patent/FR3024582A1/en active Pending
-
2015
- 2015-07-27 US US15/329,428 patent/US10600424B2/en active Active
- 2015-07-27 CN CN202110612907.3A patent/CN113571070B/en active Active
- 2015-07-27 KR KR1020177005826A patent/KR102386644B1/en active IP Right Grant
- 2015-07-27 ES ES15757533.3T patent/ES2676834T3/en active Active
- 2015-07-27 CN CN201580041610.9A patent/CN106575505B/en active Active
- 2015-07-27 WO PCT/FR2015/052075 patent/WO2016016567A1/en active Application Filing
- 2015-07-27 JP JP2017504685A patent/JP6687599B2/en active Active
- 2015-07-27 EP EP15757533.3A patent/EP3175444B1/en active Active
-
2020
- 2020-02-05 US US16/782,539 patent/US11475901B2/en active Active
- 2020-02-13 JP JP2020022302A patent/JP7026711B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10600424B2 (en) | 2020-03-24 |
US20170213561A1 (en) | 2017-07-27 |
US20200175995A1 (en) | 2020-06-04 |
JP7026711B2 (en) | 2022-02-28 |
JP6687599B2 (en) | 2020-04-22 |
JP2017523471A (en) | 2017-08-17 |
EP3175444A1 (en) | 2017-06-07 |
CN106575505B (en) | 2021-06-01 |
KR20170037661A (en) | 2017-04-04 |
CN106575505A (en) | 2017-04-19 |
CN113571070B (en) | 2023-09-29 |
US11475901B2 (en) | 2022-10-18 |
CN113571070A (en) | 2021-10-29 |
JP2020091496A (en) | 2020-06-11 |
FR3024582A1 (en) | 2016-02-05 |
ES2676834T3 (en) | 2018-07-25 |
KR102386644B1 (en) | 2022-04-14 |
WO2016016567A1 (en) | 2016-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3175444B1 (en) | Frame loss management in an fd/lpd transition context | |
EP1316087B1 (en) | Transmission error concealment in an audio signal | |
EP2277172B1 (en) | Concealment of transmission error in a digital signal in a hierarchical decoding structure | |
EP2080195B1 (en) | Synthesis of lost blocks of a digital audio signal | |
US9218817B2 (en) | Low-delay sound-encoding alternating between predictive encoding and transform encoding | |
EP3069340B1 (en) | Transition from a transform coding/decoding to a predictive coding/decoding | |
EP2080194B1 (en) | Attenuation of overvoicing, in particular for generating an excitation at a decoder, in the absence of information | |
EP3175443B1 (en) | Determining a budget for lpd/fd transition frame encoding | |
EP2345029B1 (en) | Method, computer program and device for decoding a digital audio signal | |
FR3020732A1 (en) | PERFECTED FRAME LOSS CORRECTION WITH VOICE INFORMATION | |
WO2009047461A1 (en) | Transmission error dissimulation in a digital signal with complexity distribution | |
EP2589045B1 (en) | Adaptive linear predictive coding/decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
17P | Request for examination filed |
Effective date: 20170112 |
|
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 MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
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 |
|
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 |
|
INTG | Intention to grant announced |
Effective date: 20180104 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
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 MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 988827 Country of ref document: AT Kind code of ref document: T Effective date: 20180415 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D Free format text: LANGUAGE OF EP DOCUMENT: FRENCH |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602015009965 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 4 |
|
REG | Reference to a national code |
Ref country code: ES Ref legal event code: FG2A Ref document number: 2676834 Country of ref document: ES Kind code of ref document: T3 Effective date: 20180725 |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20180411 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180711 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180711 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180712 Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 988827 Country of ref document: AT Kind code of ref document: T Effective date: 20180411 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180813 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602015009965 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
26N | No opposition filed |
Effective date: 20190114 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180727 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20180731 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180731 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180731 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180731 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180727 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180411 Ref country code: MK Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180411 Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20150727 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20180811 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: IT Payment date: 20230620 Year of fee payment: 9 Ref country code: FR Payment date: 20230621 Year of fee payment: 9 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20230620 Year of fee payment: 9 Ref country code: ES Payment date: 20230801 Year of fee payment: 9 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20230620 Year of fee payment: 9 |