EP2345029B1 - Method, computer program and device for decoding a digital audio signal - Google Patents

Method, computer program and device for decoding a digital audio signal Download PDF

Info

Publication number
EP2345029B1
EP2345029B1 EP09755960.3A EP09755960A EP2345029B1 EP 2345029 B1 EP2345029 B1 EP 2345029B1 EP 09755960 A EP09755960 A EP 09755960A EP 2345029 B1 EP2345029 B1 EP 2345029B1
Authority
EP
European Patent Office
Prior art keywords
transform
decoding
coding
sequence
sub
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
Application number
EP09755960.3A
Other languages
German (de)
French (fr)
Other versions
EP2345029A1 (en
Inventor
Pierrick Philippe
David Virette
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Publication of EP2345029A1 publication Critical patent/EP2345029A1/en
Application granted granted Critical
Publication of EP2345029B1 publication Critical patent/EP2345029B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech 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/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech 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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/20Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding

Definitions

  • the present invention relates to the field of coding digital signals.
  • the invention is advantageously applied to the coding of sounds with alternating speech and music.
  • 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 long-term prediction to model the vibration of vocal chords in voiced period, a stochastic excitation (white noise, algebraic excitation), and a short prediction -term to model vocal tract changes.
  • Transform coders 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 coefficients of the digitized sound.
  • AMR WB + has been proposed in the document 3rd Generation Partnership Project; Technical Specification Group Service and System Aspects; Audio Codec processing functions; Extended AMR Wideband codec; Transcoding functions (Release 6) ", 3GPP standard; 3GPP TS 26.290, 3RD Geeneration Partnership Project (3GPP), 1 May 2004, pages 1-71 , XP050370247.
  • This technique is based on CELP technology of the AMR WB type and transform coding based on a Fourier transform overlay.
  • the windows used in this encoder are not optimal vis-à-vis the concentration of energy: the frequency forms of these windows are relatively fixed.
  • TDAC Time Domain Aliasing Cancellation
  • TDAC makes it possible to obtain excellent quality on the music. Nevertheless, this has the disadvantage of introducing temporal folds that make it difficult to combine with CELP type technologies.
  • An object of the present invention is to propose a technique for reconstructing an audio signal, with good quality, by alternating transform coding techniques (for example with critical sampling) and predictive coding techniques (for example of the CELP type ).
  • the folding created by the coding in the subsequence of the first sequence can be eliminated by means of samples of this subsequence resulting from the decoding of the sub-sequence within the second sequence.
  • the second sequence can be decoded because the samples of the past, useful for predictive decoding, do not have this folding.
  • the transform coding is a critical sampling transform coding.
  • transform coding is a TDAC type transform coding.
  • predictive coding is a CELP encoding.
  • substantially continuous means that the third part makes it possible to have no discontinuity between the first and second parts. Indeed, this type of discontinuity reduces the quality of decoding by adding decoding noise.
  • the perfect reconstruction relation imposes a relation between the forms of the windows of analysis and synthesis.
  • the relation of reconstruction makes appear a direct relation between the two forms.
  • the additional number of samples is related to the size of the intermediate part.
  • the middle part is a sinus arch.
  • the intermediate part is a function derived from "Kaiser-Bessel”. In addition, it can come from a window optimization calculation and not have an explicit expression.
  • the summary window is an asymmetric window.
  • the synthesis window further comprises a fourth continuous initial portion between a substantially zero value and a non-zero value of the first part.
  • the fourth part of the synthesis window is a smooth transition between an initial value and a value of the nominal part
  • the third part is an abrupt transition between a value of the nominal part and a value of the substantially zero part.
  • first and second sequences belong to the same frame of the digital signal.
  • the encoding of the first sequence can be used as a transition encoding after the encoding of a frame by transform coding. This makes it possible to improve the coding efficiency by not disturbing this frame.
  • the folding present in the decoded subsequence can be eliminated by using decoded CELP-decoded samples using long-term prediction.
  • the combination is a linear combination.
  • step b5) corresponds exactly to the folding present in the decoded subsequence.
  • the creation of the folding can be done by applying a matrix representing direct and inverse transformation operations.
  • a matrix representing direct and inverse transformation operations.
  • Such a matrix may be equivalent to the application of transform coding immediately followed by transform decoding.
  • the same coding / decoding by transform can be used, with the same windows of analysis and synthesis, each time such coding / decoding is performed.
  • the present invention also provides a computer program comprising instructions for implementing the decoding method as described, when the program is executed by a processor.
  • the present invention provides a decoding entity adapted to implement the decoding method as described.
  • encoders / decoders described may comprise a signal processor, storage elements, as well as means of communication between these elements.
  • temporal relationships can be used between the two types of coding: the time position of the CELP and transformed frames being temporally offset.
  • duration of the frames, or sequences covered by the CELP coding by an overlap, during a transition from transform to CELP.
  • This duration can be variable in time if the transform requires a good frequency concentration.
  • the duration of use of the CELP coding can be variable from one frame to another, in order to quickly adapt the coding technique to changes in the nature of the sounds.
  • a frame of M samples can be subdivided into several subframes mixing portions encoded in CELP and others in the transformed domain.
  • the invention finds application in sound coding systems, in particular in standardized speech coders, in particular to the ITU ("International Telecommunication Union") or to the ISO ("International Standard Organization") for coding generic sounds, including speech signals.
  • ITU International Telecommunication Union
  • ISO International Standard Organization
  • a digitized sound signal is considered according to a sampling period 1 F e (Fe being the sampling frequency).
  • F e being the sampling frequency
  • the samples are denoted x n + tM for each moment n + tM .
  • the following inverse transform, at decoding, is applied in order to reconstruct the samples 0 ⁇ n ⁇ M which are then in an overlapping area of two consecutive transforms.
  • the synthesis is illustrated by an example on the figure 1 .
  • two inverse transforms of size M h s0 and h s1 are passed .
  • the samples covered by the common part are added between h s0 and h s1 .
  • the reconstruction will be perfect if the windows verify the perfect reconstruction conditions stated above.
  • h s0 (n) will be taken as symmetric in this area of h s1 to obtain the perfect reconstruction.
  • h s1 can also be defined by a derived "Kaiser Bessel" function used for example in AAC coders.
  • a first frame T30 (windowed by h s0 ) combined with the frame T31 (windowed by hs1) makes it possible to reconstruct the segment from M to 2M-1, the frames T31 and T33 making it possible to obtain the samples 2M to 3M-1 etc. .
  • the critical sampling is respected and the reconstruction is perfect insofar as the analysis and synthesis filters verify the necessary condition.
  • the sample x 3M / 2 + n (n ⁇ Mo / 2) is transmitted in the frame T31 then the sample x 3M / 2-1 -n can be generated based on the knowledge of x 0 , M + M / 2 + n from the frame T30.
  • h s0 contains zeros between M + (M + M o ) / 2 and 2M-1
  • h a1 contains zeros between 0 and (MM o ) / 2.
  • h s1 contains only zeros between 0 and (M-Mo) / 2
  • h a0 contains only zeros between M + (M + Mo) / 2 and 2M-1.
  • a converted type coding using TDAC is alternated with a time-type coding which consists of a CELP coder (for example according to AMR recommendation WB).
  • the signal r is constructed with respect to old samples taken upstream of T samples weighted by a gain, transmitted and updated periodically, and a so-called stochastic part w n assigned a gain b, transmitted and updated also over time.
  • T represents the pitch.
  • the AMR encoder WB estimates the components a, b and T and the part w n to be added according to the flow rate considered.
  • the CELP decoder uses past samples that should not have artifacts.
  • the frame T51 is coded in TDAC, there will be folding in the samples between M + (MM 0 ) / 2 and M + (M + M 0 ) / 2 as long as the frame T52 will not be restored. with the folding to delete that of the T51 frame.
  • the area of coverage of the samples transmitted by this coding is widened to cover the initial transition zone completely.
  • the duration of the CELP is extended to the content of index M + (M-Mo) / 2 ... 5M / 2.
  • the zone M o is limited in duration in order to avoid transmitting too much additional information.
  • M o is around 1 to 2 ms for a frame of duration M corresponding to 20 ms.
  • the number of samples is calculated based on the sampling frequency.
  • Mo / 2 as a duration proportional to a subframe of CELP, that is to say the usual duration of updating pitch / gain values and stochastic vector, where a size adapted to fast algorithms for the search of the stochastic vector and its transmission effectively. For example, we take a power of 2.
  • the period between M and M + (M-Mo) / 2 is first reconstructed using the inverse transform of a frame T50 (not shown) preceding the frame T51. Then the area between M + (M-Mo) / 2 and 2M-1 is reconstructed with the CELP alone which is based for the long term on the samples returned by the transformed part.
  • a variant for obtaining the samples between M + (M-Mo) / 2 and M + (M + Mo) / 2-1 consists in combining the CELP samples with the samples containing folding originating from the T51 frame.
  • we can achieve a linear combination of samples from the CELP and the previously determined equation x 3 ⁇ M / 2 - 1 - not 1 h at ⁇ 0 , 3 ⁇ M / 2 - 1 - not ⁇ x ⁇ 0 , 3 ⁇ M / 2 + not h s ⁇ 0 , 3 ⁇ M / 2 + not - h at ⁇ 0 , 3 ⁇ M / 2 + not ⁇ x 3 ⁇ M / 2 + not .
  • ⁇ n set of positive or zero coefficients less than or equal to one.
  • Portion 2M, ... 3M-1 is decoded using the end of the CELP samples transmitted between the indices 2M to 5M / 2. Then, based on this decoded result, the samples from the following transform are reconstructed in the overlap area, which contains folding in a similar manner to the overlap area between the frames T51 and T52.
  • the window h 51 may be asymmetrical.
  • the overlap area between the CELP part and TDAC, noted M o ', may be different from M o .
  • the CELP frame covers a duration equal to the size M + Mo / 2 as presented on the figure 4 .
  • this frame is divided into sub segments, of size noted Mc on the figure 5 , allowing a frequent update of the parameters making it possible to synthesize a signal CELP of quality.
  • the values of pitch, gain and the stochastic part are initially transmitted and updated optionally.
  • the length of the first sub-segment (Mc ') immediately following the transform may be different if it is desired to use an arbitrary length Mo' with a standard CELP encoder with Mc imposed by this standard.
  • the pitch can be estimated on the decoded part before the sample of index M + (M-Mo) / 2. Thus, it is possible to avoid transmitting the initial pitch, only the pitch gain that is estimated according to the common method presented in AMR recommendation WB is transmitted.
  • the pitch gain is not transmitted. It is estimated on the decoded signal in the transformed part.
  • the pitch estimate can be performed by including the period M + (M-Mo) / 2 to M + (M + Mo) / 2 which contains folded components.
  • the stochastic part is transmitted in preamble, or ignored. And this, especially if it is considered negligible because of its low power, or if during the reconstruction is based on the version using the weighting ⁇ n .
  • the portion of duration Mo / 2 covered by the CELP can therefore be a specialized part, in that it can benefit from the information resulting from the complete decoding of the part resulting from the previous transform.
  • the CELP encoding covers a shorter length than the base frame of length M.
  • the covered part by the samples M + (MM / 2) / 2 to 2M + M / 16 is encoded from a transform of a size shorter than the initial size (M / 2).
  • the frames T61, T62 and T64 are represented in the transformed domain of the TDAC.
  • the frames T61 and T64 are encoded with transformations of length M (windows h 61 and h 64 ), the frame T62 being coded with a transform of size M / 2 (window h 62 ).
  • This coding is effective because the window h 61 is relatively soft, which allows to obtain a better concentration of energy in the frequency domain.
  • the h 62 window has a steeper transition in the vicinity of the 2M sample, but this steep window does not penalize the quality of the coding too much because temporally the duration affected is short.
  • a frame of length M can be subdivided into subparts coded in CELP or TDAC of variable size.
  • LPC synthesis filters can optionally be applied to restore the sound signal if necessary.
  • the CELP coder operates it, that is to say that the excitation signal r n will be well calculated in the residual domain of a linear prediction filter A ( z ). Special attention will be paid for the signal synthesized by the first inverse transform, and which is therefore in a perceptually weighted domain, is returned to the field of CELP excitation, so that the long-term portion of the CELP excitation can be calculated.
  • the samples are coded from 0 to 2M-1 by transform coding according to a transform vector.
  • X 0 T the transform vector
  • This decoding gives the samples from 0 to 2M-1 of a decoded signal x .
  • This decoding reveals REP1 folding, especially in samples from M to 2M-1.
  • samples of M to 3M-1 are coded by transform coding according to a transform vector.
  • X 1 T is a transform vector.
  • Decoding of this transform vector gives the samples from M to 3M-1 of the decoded signal x .
  • This decoding shows the same folding with a sign opposite to REP1 in the samples from M to 2M-1 than during the decoding of X 0 T . It also shows REP2 folding in samples from 2M to 3M-1 in x .
  • this vector requires knowledge of previous samples. That is, samples from 2M to 3M-1. These samples are available for decoding X 1 T , nevertheless they are unusable because of the presence of REP2 folding.
  • REP2 folding requires knowledge of x samples from 2M to 3M-1 to recreate the folding and delete it by combination.
  • these samples are not available for decoding.
  • the present invention proposes the solution illustrated on the figure 8 .
  • the prediction vector X 2 p code a number M of samples comprising part of the samples coded by X 1 T .
  • This arrangement makes it possible to reconstruct the signal x at decoding.
  • the samples preceding the REP folding creates the decoding of X 1 T are used for the decoding of the first samples that the decoding of X 2 p will allow to get. That is to say, those he has in common with X 1 T .
  • samples of x are retrieved to recreate REP folding.
  • the samples of x corresponding to REP are subjected to coding followed by a decoding identical to those of the samples from M to 3M-1.
  • step S90 samples of a signal to be encoded are received. Then, in step S91, two sample sequences are delimited, so that the second sequence begins before the end of the first sequence. A first sequence SEQ1 and a second sequence SEQ2 are thus obtained.
  • Each of these sequences is then coded according to transform coding in step S93 for SEQ1, and according to a predictive coding in step S94 for SEQ2.
  • This window has four particular parts.
  • INIT corresponds to the initial part of the filter, one chooses this part according to the coding of the preceding samples. For example, here, H makes it possible to reconstitute a portion of SEQ1 (samples 0 to M-1). If the samples preceding SEQ1 are coded by transform, it is advantageous to choose INIT as a smooth transition. This makes it possible not to disturb these previous samples.
  • NOMI corresponds to a nominal part.
  • this portion takes a substantially constant value.
  • NL corresponds to a substantially zero portion of the window.
  • the duration of NL (or the number of coefficients of NL) can advantageously be chosen as a function of the duration (or number of coefficients) of NOMI.
  • the INTER part is a continuous part between NOMI and NL.
  • This part can have a shape adapted to the transition between the transform coding of SEQ1 and the predictive encoding of SEQ2. For example, it's a relatively abrupt transition.
  • INIT and NOMI are applied to the subsequence S-SEQ1 of SEQ1 which does not include a sample of S-SEQ, the subsequence common to SEQ1 and SEQ2.
  • INTER is applied to S-SEQ.
  • NL is applied to S-SEQ2, the subsequence of SEQ2 that does not have an S-SEQ sample.
  • steps S110 and S111 a transform vector comprising S-SEQ1 * samples encoding S-SEQ1, and a prediction vector comprising S-SEQ * samples encoding S-SEQ and S-SEQ2 * samples encoding S, are respectively received. -SEQ2.
  • step S112 an inverse transform is applied to the S-SEQ1 * samples.
  • it is a window of the H type.
  • step S113 comprising additional decoding operations to obtain S-SEQ1.
  • step S114 S-SEQ decoded by step S113, and S-SEQ * are received. At least S114 S-SEQ is decoded, at least by predictive decoding.
  • step S115 decoded S-SEQ is received in step S114 and S-SEQ2 * and then S-SEQ2 is decoded by predictive decoding. If necessary, it is also possible to use S-SEQ1 decoded in step S113.
  • step S114 is described with reference to the figure 12 .
  • step S120 S-SEQ1 (from S114) and S-SEQ * are received, then S-SEQ is decoded by predictive decoding. We obtain S-SEQ '.
  • step S121 an inverse transform (for example that already applied to S-SEQ1 * to obtain S-SEQ1) is applied to S-SEQ1 *.
  • S-SEQ 1 * We obtain S-SEQ ".
  • step S 122 a linear combination of the samples S-SEQ 'and S-SEQ "is performed to obtain S-SEQ.
  • step S114 is described.
  • step S130 S-SEQ1 and S-SEQ * are received and S-SEQ is decoded.
  • S-SEQ is decoded.
  • step S131 the same folding as S-SEQ "in S-SEQ 'is created, for which purpose the matrix S described above is applied to it.
  • S-SEQ "corresponds to the decoding of S-SEQ * by transform in step S132.
  • S-SEQ '' and S-SEQ '' are combined in step S133 to obtain S-SEQ.
  • This coding entity comprises a processing unit 140 adapted to receive a digital signal GIS and to determine two sequences of samples: a first sequence comprising an S-SEQ subsequence common to both sequences, and a subsequence S-SEQ1, and a second sequence which begins before the end of the first sequence and which contains S-SEQ and an S-SEQ2 subsequence.
  • the coding entity also comprises a transform coder 141, and a predictive coder 142. These coders are adapted to implement the steps of the coding method described above, and respectively deliver a transformed vector V_T encoding the first sequence and a prediction vector V_P encoding the second sequence.
  • Communication means may be provided for exchanging signals between the encoders.
  • This decoding entity DECOD comprises reception units 150 and 151 for respectively receiving a transform vector V_T comprising S-SEQ1 * samples encoding S-SEQ1, and a prediction vector V_P comprising S-SEQ * samples encoding S-SEQ. and S-SEQ2 * samples encoding S-SEQ2.
  • the unit 150 provides S-SEQ1 * to an inverse transform application unit 152.
  • the unit 152 may also provide a result for a transform decode unit 153 to perform additional decoding operations. and provide S-SEQ1.
  • the decoding unit 154 receives S-SEQ1 decoded by the unit 153, and S-SEQ * provided by the unit 151.
  • the unit 154 decodes, at least by predictive decoding S -SEQ, and provided S-SEQ.
  • DECOD includes a predictive decoding unit 155 for receiving S-SEQ provided by the unit 154, and S-SEQ2 * provided by the unit 151, then decoding S-SEQ2 by predictive decoding and providing S-SEQ2. If necessary, the unit 153 also provides S-SEQ1 previously decoded by the unit 153.
  • a computer program for comprising instructions for implementing the exemplary coding method described above could be established according to a general algorithm described by the figure 9 .
  • This computer program could be executed in a processor of a coding entity as described above, to encode a signal with at least the same advantages as those provided by the coding method.
  • This computer program could be executed in a processor of a decoding entity as described above, for decoding a signal with at least the same advantages as those provided by the decoding method.
  • This device DISP comprises an input E to receive a digital signal SIG.
  • the device also comprises a processor PROC of digital signals adapted to carry out coding / decoding operations in particular on a signal coming from the input E.
  • This processor is connected to one or more memory units MEM adapted to store information necessary for driving. of the device for coding / decoding. For example, these memory units include instructions for implementing the coding / decoding method described above. These memory units may also include calculation parameters or other information.
  • the processor is also adapted to store results in these memory units.
  • the device comprises an output S connected to the processor to provide an output signal SIG *.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

La présente invention concerne le domaine du codage des signaux numériques.The present invention relates to the field of coding digital signals.

L'invention s'applique avantageusement au codage de sons présentant des alternances de parole et de musique.The invention is advantageously applied to the coding of sounds with alternating speech and music.

Pour coder efficacement les sons de parole, les techniques de type CELP (« Code Excited Linear Prédiction ») 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 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 à long-terme pour modéliser la vibration des cordes vocales en période voisée, une excitation stochastique (bruit blanc, excitation algébrique), et une prédiction à court-terme pour modéliser les modifications du conduit vocal.CELP coders are predictive coders. They aim to model the production of speech from various elements: a long-term prediction to model the vibration of vocal chords in voiced period, a stochastic excitation (white noise, algebraic excitation), and a short prediction -term to model vocal tract changes.

Les codeurs par transformée 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 de coefficients du son numérisé.Transform coders 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 coefficients of the digitized sound.

Une solution pour coder efficacement un signal contenant ces deux types de contenu, consiste à sélectionner au cours du temps la meilleure technique. Cette solution a notamment été préconisée par l'organisme de standardisation 3GPP (« 3rd Génération Partnership Project »), et une technique nommée AMR WB+ a été proposée dans le document « 3rd Génération Partnership Project; Technical Spécification Group Service and System Aspects ; Audio Codec processing functions ; Extended AMR Wideband codec ; Transcoding functions (Release 6) », 3GPP standard ; 3GPP TS 26.290, 3RD geeneration partnership project (3GPP), 1 mai 2004, pages 1-71 , XP050370247.One solution for effectively coding a signal containing these two types of content is to select the best technique over time. This solution has been recommended by the 3GPP ("3rd Generation Partnership Project") standardization organization, and a technique called AMR WB + has been proposed in the document 3rd Generation Partnership Project; Technical Specification Group Service and System Aspects; Audio Codec processing functions; Extended AMR Wideband codec; Transcoding functions (Release 6) ", 3GPP standard; 3GPP TS 26.290, 3RD Geeneration Partnership Project (3GPP), 1 May 2004, pages 1-71 , XP050370247.

Cette technique est basée sur une technologie CELP de type AMR WB et un codage par transformation basé sur une transformée de Fourier à recouvrement.This technique is based on CELP technology of the AMR WB type and transform coding based on a Fourier transform overlay.

Cette solution souffre d'une qualité insuffisante sur la musique. Cette insuffisance vient particulièrement du codage par transformée. En effet, la transformée de Fourier à recouvrement n'est pas une transformation à échantillonnage critique, et de ce fait, elle est sous optimale.This solution suffers from insufficient quality on the music. This deficiency comes particularly from transform coding. Indeed, the overlapping Fourier transform is not a critical sampling transformation, and therefore, it is suboptimal.

De plus, les fenêtres utilisées dans ce codeur ne sont pas optimales vis-à-vis de la concentration d'énergie : les formes fréquentielles de ces fenêtres sont relativement figées.In addition, the windows used in this encoder are not optimal vis-à-vis the concentration of energy: the frequency forms of these windows are relatively fixed.

On connait des transformations à échantillonnage critique. Par exemple, les transformées utilisées dans les codeurs de musique de type MP3 et AAC. Ces transformées reposent sur le formalisme appelé TDAC (« Time Domain Aliasing Cancellation »).Critical sampling transformations are known. For example, the transforms used in MP3 and AAC type music encoders. These transforms are based on the formalism called TDAC ("Time Domain Aliasing Cancellation").

L'utilisation du TDAC permet d'obtenir une excellente qualité sur la musique. Néanmoins, cela a l'inconvénient d'introduire des repliements temporels qui rendent difficile la combinaison avec les technologies de type CELP.The use of TDAC makes it possible to obtain excellent quality on the music. Nevertheless, this has the disadvantage of introducing temporal folds that make it difficult to combine with CELP type technologies.

En effet, lors d'une transition de type TDAC vers CELP le repliement temporel de la partie TDAC n'est pas annulé par le signal issu du CELP qui lui n'intègre aucun repliement.Indeed, during a transition from TDAC to CELP the temporal folding of the TDAC portion is not canceled by the signal from the CELP which does not integrate any folding.

Un objet de la présente invention est de proposer une technique permettant de reconstruire un signal audio, avec une bonne qualité, en alternant des techniques de codage par transformée (par exemple à échantillonnage critique) et des techniques de codage prédictif (par exemple de type CELP).An object of the present invention is to propose a technique for reconstructing an audio signal, with good quality, by alternating transform coding techniques (for example with critical sampling) and predictive coding techniques (for example of the CELP type ).

A cet effet, la présente invention concerne un procédé de décodage appliqué après un codage d'un signal numérique audio, ledit codage comportant les étapes :

  • coder une première séquence d'échantillons du signal numérique audio selon un codage par transformée ;
  • coder une deuxième séquence d'échantillons du signal numérique audio selon un codage prédictif ;
et dans lequel la deuxième séquence commence avant la fin de la première séquence, une sous-séquence commune aux première et deuxième séquences étant ainsi codée à la fois par codage prédictif et par codage par transformée.For this purpose, the present invention relates to a decoding method applied after encoding of a digital audio signal, said coding comprising the steps:
  • encoding a first sequence of samples of the digital audio signal according to transform coding;
  • encoding a second sequence of samples of the digital audio signal according to a predictive coding;
and wherein the second sequence begins before the end of the first sequence, whereby a subsequence common to the first and second sequences is encoded by both predictive and transform coding.

Ainsi, lors du décodage du signal numérique audio, le repliement créé par le codage dans la sous-séquence de la première séquence peut être supprimé au moyen d'échantillons de cette sous-séquence issus du décodage de la sous-séquence au sein de la deuxième séquence. De plus, la deuxième séquence peut être décodée car les échantillons du passé, utiles au décodage prédictif, ne comportent pas ce repliement.Thus, during the decoding of the digital audio signal, the folding created by the coding in the subsequence of the first sequence can be eliminated by means of samples of this subsequence resulting from the decoding of the sub-sequence within the second sequence. In addition, the second sequence can be decoded because the samples of the past, useful for predictive decoding, do not have this folding.

Avantageusement le codage par transformée est un codage par transformée à échantillonnage critique.Advantageously, the transform coding is a critical sampling transform coding.

Par exemple, le codage par transformée est un codage par transformée de type TDAC.For example, transform coding is a TDAC type transform coding.

Par exemple, le codage prédictif est un codage de type CELP.For example, predictive coding is a CELP encoding.

Dans une réalisation avantageuse, le codage par transformée de la première séquence comprend l'application d'une fenêtre d'analyse permettant de déduire d'une relation de reconstruction parfaite du signal numérique une fenêtre de synthèse comportant au moins trois parties :

  • une première partie nominale,
  • une deuxième partie terminale sensiblement nulle,
  • une troisième partie intermédiaire sensiblement continue entre les première et deuxième parties.
In an advantageous embodiment, the transform coding of the first sequence comprises the application of an analysis window making it possible to deduce from a perfect reconstruction relation of the digital signal a synthesis window comprising at least three parts:
  • a first nominal part,
  • a second terminal portion substantially zero,
  • a third substantially continuous intermediate portion between the first and second portions.

On prévoit alors qu'au moins les parties de la fenêtre d'analyse permettant de déduire respectivement les deuxième et troisième parties de la fenêtre de synthèse sont appliquées à la sous-séquence commune aux deux séquences.It is then expected that at least the parts of the analysis window for respectively deducing the second and third parts of the synthesis window are applied to the subsequence common to both sequences.

On entend par « sensiblement continue » le fait que la troisième partie permet de ne pas avoir de discontinuité entre les première et deuxième parties. En effet, ce type de discontinuité réduit la qualité de décodage par adjonction de bruit de décodage."Substantially continuous" means that the third part makes it possible to have no discontinuity between the first and second parts. Indeed, this type of discontinuity reduces the quality of decoding by adding decoding noise.

La relation de reconstruction parfaite impose une relation entre les formes des fenêtres d'analyse et de synthèse. En outre, lors du passage entre un codage par transformée et un codage prédictif, il est possible de décrire la fenêtre d'analyse ou la fenêtre de synthèse de manière équivalente. En effet, dans ce cas, la relation de reconstruction fait apparaitre une relation directe entre les deux formes.The perfect reconstruction relation imposes a relation between the forms of the windows of analysis and synthesis. In addition, when switching between a transform coding and a predictive coding, it is possible to describe the analysis window or the synthesis window in an equivalent manner. Indeed, in this case, the relation of reconstruction makes appear a direct relation between the two forms.

Avec une fenêtre d'analyse (et donc de synthèse) ainsi choisie, il est possible de réduire la zone dans laquelle le repliement apparait au décodage de la première séquence.With an analysis window (and therefore synthesis) thus chosen, it is possible to reduce the area in which the folding appears on the decoding of the first sequence.

Avec la fenêtre ainsi définie, il est possible de réduire le nombre d'échantillons de la deuxième séquence (codage prédictif) à transmettre pour le décodage.With the window thus defined, it is possible to reduce the number of samples of the second sequence (predictive coding) to be transmitted for decoding.

En outre, le nombre d'échantillons supplémentaire est lié à la taille de la partie intermédiaire.In addition, the additional number of samples is related to the size of the intermediate part.

Par exemple, la partie intermédiaire est une arche de sinus. Par exemple encore, la partie intermédiaire est une fonction dérivée de « Kaiser-Bessel ». En outre, elle peut être issue d'un calcul d'optimisation de fenêtre et ne pas avoir d'expression explicite.For example, the middle part is a sinus arch. For example again, the intermediate part is a function derived from "Kaiser-Bessel". In addition, it can come from a window optimization calculation and not have an explicit expression.

Par exemple, la fenêtre de synthèse est une fenêtre asymétrique.For example, the summary window is an asymmetric window.

Ainsi, il est possible d'adapter le profil de la fenêtre de synthèse (donc la fenêtre d'analyse) au codage de la séquence suivant ou précédant la première séquence.Thus, it is possible to adapt the profile of the synthesis window (thus the analysis window) to the coding of the following sequence or preceding the first sequence.

Dans une réalisation avantageuse, la fenêtre de synthèse comporte en outre une quatrième partie initiale continue entre une valeur sensiblement nulle et une valeur non nulle de la première partie.In an advantageous embodiment, the synthesis window further comprises a fourth continuous initial portion between a substantially zero value and a non-zero value of the first part.

Ainsi, il est possible de minimiser l'impact de la transition entre codage par transformée et codage prédictif sur le codage par transformée.Thus, it is possible to minimize the impact of the transition between transform coding and predictive coding on transform coding.

Par exemple, la quatrième partie de la fenêtre de synthèse est une transition douce entre une valeur initiale et une valeur de la partie nominale, et la troisième partie est une transition abrupte entre une valeur de la partie nominale et une valeur de la partie sensiblement nulle.For example, the fourth part of the synthesis window is a smooth transition between an initial value and a value of the nominal part, and the third part is an abrupt transition between a value of the nominal part and a value of the substantially zero part. .

Ainsi, on obtient une meilleure concentration de l'énergie du signal dans le domaine fréquentiel pour une meilleure efficacité de codage de la partie transformée.Thus, a better concentration of the signal energy in the frequency domain is obtained for a better coding efficiency of the transformed part.

On peut prévoir que les première et deuxième séquences appartiennent à une même trame du signal numérique.It can be provided that the first and second sequences belong to the same frame of the digital signal.

Ainsi, on peut utiliser le codage de la première séquence comme un codage de transition après le codage d'une trame par codage par transformée. Cela permet d'améliorer l'efficacité du codage en ne perturbant pas cette trame.Thus, the encoding of the first sequence can be used as a transition encoding after the encoding of a frame by transform coding. This makes it possible to improve the coding efficiency by not disturbing this frame.

La présente invention prévoit un procédé de décodage d'un signal numérique audio, comportant les étapes :

  • recevoir un vecteur de transformée codant une première séquence d'échantillons du signal numérique audio selon un codage par transformée ;
  • recevoir un vecteur de prédiction codant une deuxième séquence d'échantillons du signal numérique audio selon un codage de type CELP utilisant une prédiction à long terme;
dans lequel la deuxième séquence commence avant la fin de la première séquence, une sous-séquence commune aux première et deuxième séquences étant ainsi reçue codée à la fois par le codage de type CELP utilisant une prédiction à long terme et par le codage par transformée ; et qui comporte en outre les étapes :
  1. a) appliquer au vecteur de transformée une transformée inverse du codage par transformée pour décoder une sous-séquence de la première séquence non codée par codage de type CELP utilisant une prédiction à long terme;
  2. b) décoder au moins dans le vecteur de prédiction la sous-séquence commune aux première et deuxième séquences au moins par un décodage de type CELP utilisant une prédiction à long terme en se fondant sur au moins un échantillon issu de l'étape a);
  3. c) décoder dans le vecteur prédictif par un décodage de type CELP utilisant une prédiction à long terme une sous-séquence de la deuxième séquence non codée par codage par transformée, en se fondant sur au moins un échantillon issu de l'une des étapes a) et b).
The present invention provides a method for decoding an audio digital signal, comprising the steps of:
  • receiving a transform vector encoding a first sequence of samples of the digital audio signal according to transform coding;
  • receiving a prediction vector encoding a second sequence of samples of the digital audio signal according to a CELP encoding using long-term prediction;
wherein the second sequence begins before the end of the first sequence, whereby a common subsequence to the first and second sequences is received encoded by both CELP encoding using long-term prediction and transform coding; and which further comprises the steps:
  1. a) applying to the transform vector an inverse transformation of the transform coding for decoding a subsequence of the first uncoded coding sequence of CELP type using long-term prediction;
  2. b) decoding at least in the prediction vector the subsequence common to the first and second sequences at least by a CELP type decoding using a long-term prediction based on at least one sample from step a);
  3. c) decoding in the predictive vector by a CELP-type decoding using a long-term prediction a subsequence of the second non-coded sequence by transform coding, based on at least one sample from one of the steps a ) and B).

Ainsi, on peut supprimer le repliement présent dans la sous-séquence décodée en utilisant des échantillons décodés par décodage de type CELP utilisant une prédiction à long terme.Thus, the folding present in the decoded subsequence can be eliminated by using decoded CELP-decoded samples using long-term prediction.

Dans une réalisation avantageuse, l'étape b) comporte les sous-étapes :

  • b1) décoder dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage de type CELP utilisant une prédiction à long terme en se fondant sur au moins un échantillon issu de l'étape a) ;
  • b2) appliquer au vecteur de transformée une transformée inverse du codage par transformée pour décoder la sous-séquence commune aux première et deuxième séquences ; et b3) décoder la sous-séquence commune aux première et deuxième séquences par combinaison d'au moins un échantillon issu de l'étape b1) avec un échantillon correspondant issu de l'étape b2).
In an advantageous embodiment, step b) comprises the sub-steps:
  • b1) decoding in the predictive vector the common subsequence to the first and second sequences by a CELP type decoding using long-term prediction based on at least one sample from step a);
  • b2) applying to the transform vector an inverse transformation of the transform coding for decoding the common subsequence to the first and second sequences; and b3) decoding the common subsequence to the first and second sequences by combining at least one sample from step b1) with a corresponding sample from step b2).

Par exemple, la combinaison est une combinaison linéaire. En combinant ainsi les échantillons, on obtient un décodage plus robuste.For example, the combination is a linear combination. By thus combining the samples, a more robust decoding is obtained.

Dans une autre réalisation avantageuse, l'étape b) comporte les sous-étapes :

  • b4) décoder dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage de type CELP utilisant une prédiction à long terme en se fondant sur au moins un échantillon issu de l'étape a);
  • b5) créer à partir d'au moins un échantillon issu de l'étape b4) un échantillon contenant un repliement équivalent à un codage par transformée suivi d'un décodage par transformée ;
  • b6) appliquer au vecteur de transformée une transformée inverse du codage par transformée pour décoder la sous-séquence commune aux première et deuxième séquences ; et
  • b7) décoder la sous-séquence commune aux première et deuxième séquences par combinaison d'au moins un échantillon issu de l'étape b5) avec un échantillon correspondant issu de l'étape b6).
In another advantageous embodiment, step b) comprises the sub-steps:
  • b4) decoding in the predictive vector the common subsequence to the first and second sequences by a CELP type decoding using long-term prediction based on at least one sample from step a);
  • b5) creating from at least one sample from step b4) a sample containing a folding equivalent to a transform coding followed by a transform decoding;
  • b6) applying to the transform vector an inverse transformation of the transform coding for decoding the common subsequence to the first and second sequences; and
  • b7) decoding the common subsequence to the first and second sequences by combining at least one sample from step b5) with a corresponding sample from step b6).

Ainsi, le repliement créé par l'étape b5) correspond exactement au repliement présent dans la sous-séquence décodée.Thus, the folding created by step b5) corresponds exactly to the folding present in the decoded subsequence.

La création du repliement peut se faire par application d'une matrice représentant des opérations de transformation directe et inverses. Une telle matrice peut être équivalente à l'application d'un codage par transformée immédiatement suivi d'un décodage par transformée.The creation of the folding can be done by applying a matrix representing direct and inverse transformation operations. Such a matrix may be equivalent to the application of transform coding immediately followed by transform decoding.

Bien entendu, on peut utiliser un même codage prédictif pour tous les échantillons.Of course, one can use the same predictive coding for all samples.

De même, on peut utiliser le même codage/décodage par transformée, avec les mêmes fenêtres d'analyse et de synthèse, chaque fois que l'on effectue un tel codage/décodage.Similarly, the same coding / decoding by transform can be used, with the same windows of analysis and synthesis, each time such coding / decoding is performed.

Dans un mode de réalisation, l'étape a) comporte l'application d'une fenêtre synthèse comportant au moins trois parties :

  • une première partie nominale,
  • une deuxième partie terminale sensiblement nulle,
  • une troisième partie intermédiaire continue entre les première et deuxième zones,
et au moins les deuxième et troisième parties sont appliquées à des échantillons codant la sous-séquence commune aux deux séquences.In one embodiment, step a) comprises the application of a synthesis window comprising at least three parts:
  • a first nominal part,
  • a second terminal portion substantially zero,
  • a third intermediate portion continuous between the first and second zones,
and at least the second and third portions are applied to samples coding the subsequence common to both sequences.

La présente invention prévoit également un programme informatique comportant des instructions pour la mise en oeuvre du procédé de décodage tel que décrit, lorsque le programme est exécuté par un processeur.The present invention also provides a computer program comprising instructions for implementing the decoding method as described, when the program is executed by a processor.

La présente invention prévoit une entité de décodage adaptée pour mettre en oeuvre le procédé de décodage tel que décrit.The present invention provides a decoding entity adapted to implement the decoding method as described.

On peut prévoir une entité de décodage de signal numérique audio, comportant des moyens de réception:

  • d'un vecteur de transformée codant une première séquence d'échantillons du signal numérique audio selon un codage par transformée ; et
  • d'un vecteur de prédiction codant une deuxième séquence d'échantillons du signal numérique audio selon un codage de type CELP utilisant une prédiction à long terme;
dans lequel la deuxième séquence commence avant la fin de la première séquence, une sous-séquence commune aux première et deuxième séquences étant ainsi codée à la fois par le codage de type CELP utilisant une prédiction à long terme et par le codage par transformée ; et qui comporte en outre :
  • un premier décodeur pour appliquer au vecteur de transformée une transformée inverse du codage par transformée pour décoder une sous-séquence de la première séquence non codée par codage de type CELP utilisant une prédiction à long terme ;
  • un deuxième décodeur pour décoder au moins dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences au moins par un décodage de type CELP utilisant une prédiction à long terme en se fondant sur au moins un échantillon issu du premier décodeur par transformée ; et
  • un troisième décodeur prédictif pour décoder dans le vecteur prédictif par un décodage de type CELP utilisant une prédiction à long terme une sous-séquence de la deuxième séquence non codée par codage par transformée, en se fondant sur au moins un échantillon issu de l'un des premier et deuxième codeurs.
It is possible to provide an audio digital signal decoding entity, comprising receiving means:
  • a transform vector encoding a first sequence of samples of the digital audio signal according to transform coding; and
  • a prediction vector encoding a second sequence of samples of the digital audio signal according to a CELP encoding using long-term prediction;
wherein the second sequence begins before the end of the first sequence, a common subsequence to the first and second sequences thus encoded by both CELP coding using long-term prediction and transform coding; and which further comprises:
  • a first decoder for applying to the transform vector an inverse transformation of the transform coding for decoding a subsequence of the first uncoded coding sequence of the CELP type using long-term prediction;
  • a second decoder for decoding at least in the predictive vector the subsequence common to the first and second sequences at least by a CELP type decoding using a long-term prediction based on at least one sample from the first transform decoder; and
  • a third predictive decoder for decoding in the predictive vector by a CELP type decoding using a long-term prediction a subsequence of the second non-coded sequence by transform coding, based on at least one sample from one first and second encoders.

Dans une réalisation avantageuse, le deuxième décodeur comporte :

  • des premiers moyens pour décoder dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage de type CELP utilisant une prédiction à long terme en se fondant sur au moins un échantillon issu du premier décodeur par transformée ;
  • des deuxièmes moyens pour appliquer au vecteur de transformée une transformée inverse du codage par transformée pour décoder la sous-séquence commune aux première et deuxième séquences; et
  • des troisièmes moyens pour décoder la sous-séquence commune aux première et deuxième séquences par combinaison d'au moins un échantillon issu des premiers moyens avec un échantillon correspondant issu des deuxièmes moyens.
In an advantageous embodiment, the second decoder comprises:
  • first means for decoding in the predictive vector the common subsequence of the first and second sequences by a CELP type decoding using long-term prediction based on at least one sample from the first transform decoder;
  • second means for applying to the transform vector an inverse transformation of the transform coding for decoding the common subsequence to the first and second sequences; and
  • third means for decoding the common subsequence to the first and second sequences by combining at least one sample from the first means with a corresponding sample from the second means.

Dans une autre réalisation avantageuse, le deuxième décodeur comporte :

  • des premiers moyens pour décoder dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage de type CELP utilisant une prédiction à long terme en se fondant sur au moins un échantillon issu du premier décodeur par transformée ;
  • des quatrièmes moyens pour créer à partir d'au moins un échantillon restitué par les premiers moyens un échantillon contenant un repliement équivalent à un codage par transformée suivi d'un décodage par transformée ;
  • des cinquièmes moyens pour appliquer au vecteur de transformée une transformée inverse du codage par transformée pour décoder la sous-séquence commune aux première et deuxième séquences ; et
  • des sixièmes moyens pour décoder la sous-séquence commune aux première et deuxième séquences par combinaison d'au moins un échantillon issu des quatrièmes moyens avec un échantillon correspondant issu des cinquièmes moyens.
In another advantageous embodiment, the second decoder comprises:
  • first means for decoding in the predictive vector the common subsequence of the first and second sequences by a CELP type decoding using long-term prediction based on at least one sample from the first transform decoder;
  • fourth means for creating from at least one sample returned by the first means a sample containing folding equivalent to transform coding followed by transform decoding;
  • fifth means for applying to the transform vector an inverse transformation of the transform coding for decoding the common subsequence to the first and second sequences; and
  • sixth means for decoding the common subsequence to the first and second sequences by combining at least one sample from the fourth means with a corresponding sample from the fifth means.

Bien entendu, tous les moyens réalisant un même type de codage ou décodage (prédictif de type CELP utilisant une prédiction à long terme ou par transformée) peuvent être réunis dans une même unité.Of course, all the means performing the same type of coding or decoding (predictive type CELP using long-term prediction or transform) can be combined in the same unit.

De même, on peut prévoir une seule unité (de codage ou de décodage) pour réaliser tantôt un codage, respectivement décodage, prédictif et par transformée.Similarly, one can provide a single unit (coding or decoding) to perform sometimes coding, respectively decoding, predictive and transform.

Bien entendu, les codeurs/décodeurs décrits peuvent comporter un processeur de signal, des éléments de stockage, ainsi que des moyens de communication entre ces éléments.Of course, the encoders / decoders described may comprise a signal processor, storage elements, as well as means of communication between these elements.

Il est par exemple possible d'alterner des techniques de codage par transformation, par exemple à échantillonnage critique de type TDAC, et des techniques de codage prédictif, par exemple de type CELP au cours du temps afin d'obtenir une bonne qualité de reconstruction.For example, it is possible to alternate transformation coding techniques, for example with TDAC-type critical sampling, and predictive coding techniques, for example of the CELP type over time, in order to obtain a good quality of reconstruction.

On peut utiliser à cet effet des relations temporelles particulières entre les deux types de codage : la position temporelle des trames CELP et transformée étant décalées temporellement.For this purpose, particular temporal relationships can be used between the two types of coding: the time position of the CELP and transformed frames being temporally offset.

Dans un exemple avantageux, on propose également d'allonger la durée des trames, ou des séquences couvertes par le codage CELP, par un recouvrement, lors d'une transition de transformée vers CELP. Cette durée peut être variable dans le temps si la transformée nécessite une bonne concentration fréquentielle.In an advantageous example, it is also proposed to extend the duration of the frames, or sequences covered by the CELP coding, by an overlap, during a transition from transform to CELP. This duration can be variable in time if the transform requires a good frequency concentration.

La durée d'utilisation du codage CELP peut être variable d'une trame à une autre, cela afin d'adapter rapidement la technique de codage aux changements de nature des sons.The duration of use of the CELP coding can be variable from one frame to another, in order to quickly adapt the coding technique to changes in the nature of the sounds.

Selon un exemple avantageux, une trame de M échantillons pourra être subdivisée en plusieurs sous-trames mêlant des portions encodées en CELP et d'autres dans le domaine transformé.According to an advantageous example, a frame of M samples can be subdivided into several subframes mixing portions encoded in CELP and others in the transformed domain.

L'invention trouve son application dans les systèmes de codage du son, en particulier dans les codeurs de parole normalisés, notamment à l'ITU (« International Télécommunication Union ») ou à l'ISO (« International Standard Organization ») pour le codage des sons génériques, incluant les signaux de parole.The invention finds application in sound coding systems, in particular in standardized speech coders, in particular to the ITU ("International Telecommunication Union") or to the ISO ("International Standard Organization") for coding generic sounds, including speech signals.

D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des figures annexées parmi lesquelles :

  • la figure 1 illustre deux fenêtres de synthèse d'un codage par transformée,
  • la figure 2 illustre des fenêtres de synthèse d'un mode de réalisation de l'invention,
  • la figure 3 illustre des trames de donnée traitées par des fenêtres de synthèse,
  • la figure 4 illustre des vecteurs d'échantillons obtenus par application des fenêtres de synthèse,
  • la figure 5 illustre le cas d'un codage TDAC suivi par un codage AMR WB, puis suivi d'un codage TDAC selon un mode de réalisation de l'invention,
  • la figure 6 illustre le même cas de codage avec une fenêtre asymétrique avantageuse,
  • la figure 7 illustre un contexte général d'un problème résolu par l'invention,
  • la figure 8 illustre un schéma général de résolution de ce problème par la présente invention,
  • la figure 9 illustre les étapes d'un mode de réalisation d'un procédé de codage,
  • la figure 10 illustre la composition d'une fenêtre de synthèse selon un mode de réalisation de l'invention,
  • la figure 1 1 illustre les étapes d'un mode de réalisation d'un procédé de décodage selon la présente invention,
  • la figure 12 illustre un décodage avantageux utilisé dans le procédé de décodage,
  • la figure 13 illustre une variante de ce décodage avantageux,
  • la figure 14 illustre un codeur,
  • la figure 15 illustre un décodeur selon un mode de réalisation de l'invention,
  • la figure 16 illustre un dispositif matériel adapté pour réaliser un exemple de codeur ou un décodeur selon un mode de réalisation de la présente invention.
Other features and advantages of the invention will appear on examining the detailed description below, and the appended figures among which:
  • the figure 1 illustrates two windows of synthesis of a transform coding,
  • the figure 2 illustrates synthetic windows of an embodiment of the invention,
  • the figure 3 illustrates frames of data processed by synthesis windows,
  • the figure 4 illustrates sample vectors obtained by application of synthesis windows,
  • the figure 5 illustrates the case of a TDAC coding followed by an AMR WB coding, followed by a TDAC coding according to one embodiment of the invention,
  • the figure 6 illustrates the same case of coding with an advantageous asymmetric window,
  • the figure 7 illustrates a general context of a problem solved by the invention,
  • the figure 8 illustrates a general scheme of solving this problem by the present invention,
  • the figure 9 illustrates the steps of an embodiment of a coding method,
  • the figure 10 illustrates the composition of a synthesis window according to one embodiment of the invention,
  • the figure 1 1 illustrates the steps of an embodiment of a decoding method according to the present invention,
  • the figure 12 illustrates an advantageous decoding used in the decoding method,
  • the figure 13 illustrates a variant of this advantageous decoding,
  • the figure 14 illustrates an encoder,
  • the figure 15 illustrates a decoder according to one embodiment of the invention,
  • the figure 16 illustrates a hardware device adapted to perform an exemplary encoder or decoder according to an embodiment of the present invention.

Dans la suite, on commence par décrire une transformation TDAC à reconstruction parfaite, puis on présente une technique permettant de la rendre compatible avec un échantillonnage critique. Enfin, on décrit un codage CELP et une combinaison de ce codage avec le codage TDAC.In the following, we begin by describing a perfect reconstruction TDAC transformation, then we present a technique to make it compatible with critical sampling. Finally, a CELP coding and a combination of this coding with TDAC coding are described.

TDAC et reconstruction parfaiteTDAC and perfect reconstruction

On considère un signal sonore numérisé selon une période d'échantillonnage 1 F e

Figure imgb0001
(Fe étant la fréquence d'échantillonnage). Pour une trame donnée d'indice t, les échantillons sont notés x n+tM pour chaque instant n+tM.A digitized sound signal is considered according to a sampling period 1 F e
Figure imgb0001
(Fe being the sampling frequency). For a given frame of index t, the samples are denoted x n + tM for each moment n + tM .

L'expression de la transformée TDAC au codage de la trame est présentée ci-dessous : X t , k = 2 M - 1 x n + tM p k n 0 k < M ,

Figure imgb0002

  • M représente la taille de la transformée,
  • Xl,k sont les échantillons dans le domaine transformé pour la trame t,
  • p k n = h a n C n , k = 2 M h a n cos π 4 M 2 n + 1 + M 2 k + 1
    Figure imgb0003
    est une fonction de base de la transformée dont :
    • le terme ha (n) est appelé filtre prototype ou "fenêtre de pondération d'analyse" et couvre 2M échantillons,
    • et dont le terme Cn,k définit la modulation.
The expression of the TDAC transform to the frame encoding is shown below: X t , k = Σ 2 M - 1 x not + tM p k not 0 k < M ,
Figure imgb0002
  • M represents the size of the transform,
  • X l, k are the samples in the transformed domain for the frame t,
  • p k not = h at not VS not , k = 2 M h at not cos π 4 M 2 not + 1 + M 2 k + 1
    Figure imgb0003
    is a basic function of the transform including:
    • the term h a ( n ) is called a prototype filter or "analysis weight window" and covers 2 M samples,
    • and whose term C n, k defines the modulation.

Pour restituer les échantillons temporels initiaux, la transformation inverse suivante, au décodage, est appliquée afin de reconstituer les échantillons 0 ≤ n < M qui se situent alors dans une zone de recouvrement de deux transformées consécutives. Les échantillons décodés sont alors donnés par : x ^ n + tM + M = k = 0 M - 1 X t + 1 , k p k s n + X t , k p k s n + M ,

Figure imgb0004

p k s n = h s n C n , k
Figure imgb0005
définit la transformée de synthèse, la fenêtre de pondération de synthèse étant notée hs (n) et couvrant également 2M échantillons.To restore the initial time samples, the following inverse transform, at decoding, is applied in order to reconstruct the samples 0 ≤ n < M which are then in an overlapping area of two consecutive transforms. The decoded samples are then given by: x ^ not + tM + M = Σ k = 0 M - 1 X t + 1 , k p k s not + X t , k p k s not + M ,
Figure imgb0004

or p k s not = h s not VS not , k
Figure imgb0005
defines the synthesis transform, the synthetic weighting window being denoted h s ( n ) and also covering 2 M samples.

L'équation de reconstruction donnant les échantillons décodés peut s'écrire aussi sous la forme suivante : x ^ n + tM + M = k = 0 M - 1 X t + 1 , k h s n C k , n + X t , k h s n + M C k , n + M = h s n k = 0 M - 1 X t + 1 , k C k , n + h s n + M k = 0 M - 1 X t , k C k , n + M

Figure imgb0006
The reconstruction equation giving the decoded samples can also be written in the following form: x ^ not + tM + M = Σ k = 0 M - 1 X t + 1 , k h s not VS k , not + X t , k h s not + M VS k , not + M = h s not Σ k = 0 M - 1 X t + 1 , k VS k , not + h s not + M Σ k = 0 M - 1 X t , k VS k , not + M
Figure imgb0006

Cette autre présentation de l'équation de reconstruction revient à considérer que deux transformées en cosinus inverse peuvent être effectuées successivement sur les échantillons dans le domaine transformé Xt,k et X t+l,k , leur résultat étant ensuite combiné par une opération de pondération et addition.This other presentation of the reconstruction equation amounts to considering that two inverse cosine transforms can be carried out successively on the samples in the transformed domain X t, k and X t + 1, k , their result being then combined by an operation of weighting and addition.

C'est l'addition de deux trames consécutives qui permet de supprimer les composantes dites repliées de la transformation. En effet si on écrit les opérations de transformation directes et inverses sous forme matricielle pour les trames t=0 et t=1 on a : X 0 , 0 X 0 , 1 X 0 , M - 1 = C 0 , 0 C 0 , 1 C 0 , 2 M - 1 C 1 , 0 C 1 , 1 C 1 , 2 M - 1 C M - 1 , 0 C M - 1 , 1 C M - 1 , 2 M - 1 h a 0 0 0 0 0 h a 0 1 0 0 0 h a 0 2 M - 1 x 0 x 1 x 2 M - 1

Figure imgb0007
X 1 , 0 X 1 , 1 X 1 , M - 1 = C 0 , 0 C 0 , 1 C 0 , 2 M - 1 C 1 , 0 C 1 , 1 C 1 , 2 M - 1 C M - 1 , 0 C M - 1 , 1 C M - 1 , 2 M - 1 h a 1 0 0 0 0 h a 1 1 0 0 0 h a 1 2 M - 1 x M x M + 1 x 3 M - 1
Figure imgb0008
It is the addition of two consecutive frames which makes it possible to suppress the so-called folded components of the transformation. Indeed, if we write the direct and inverse transformation operations in matrix form for frames t = 0 and t = 1 we have: X 0 , 0 X 0 , 1 X 0 , M - 1 = VS 0 , 0 VS 0 , 1 VS 0 , 2 M - 1 VS 1 , 0 VS 1 , 1 VS 1 , 2 M - 1 VS M - 1 , 0 VS M - 1 , 1 VS M - 1 , 2 M - 1 h at 0 0 0 0 0 h at 0 1 0 0 0 h at 0 2 M - 1 x 0 x 1 x 2 M - 1
Figure imgb0007
X 1 , 0 X 1 , 1 X 1 , M - 1 = VS 0 , 0 VS 0 , 1 VS 0 , 2 M - 1 VS 1 , 0 VS 1 , 1 VS 1 , 2 M - 1 VS M - 1 , 0 VS M - 1 , 1 VS M - 1 , 2 M - 1 h at 1 0 0 0 0 h at 1 1 0 0 0 h at 1 2 M - 1 x M x M + 1 x 3 M - 1
Figure imgb0008

A la synthèse, on obtient : x ˜ 0 , 0 x ˜ 0 , 0 x ˜ 0 , 2 M - 1 = h s 0 0 0 0 0 h s 0 1 0 0 0 h s 0 2 M - 1 C 0 , 0 C 1 , 0 C M - 1 , 0 C 0 , 1 C 1 , 1 C M - 1 , 1 C 0 , 2 M - 1 C 1 , 2 M - 1 C 2 M - 1 , M - 1 X 0 , 0 X 0 , 1 x 0 , M - 1

Figure imgb0009
x ˜ 0 , 0 x ˜ 0 , 0 x ˜ 0 , 2 M - 1 = h s 0 0 0 0 0 h s 0 1 0 0 0 h s 0 2 M - 1 S h a 0 0 0 0 0 h a 0 1 0 0 0 h a 0 2 M - 1 x 0 x 1 x 2 M - 1
Figure imgb0010
At the synthesis, we obtain: x ~ 0 , 0 x ~ 0 , 0 x ~ 0 , 2 M - 1 = h s 0 0 0 0 0 h s 0 1 0 0 0 h s 0 2 M - 1 VS 0 , 0 VS 1 , 0 VS M - 1 , 0 VS 0 , 1 VS 1 , 1 VS M - 1 , 1 VS 0 , 2 M - 1 VS 1 , 2 M - 1 VS 2 M - 1 , M - 1 X 0 , 0 X 0 , 1 x 0 , M - 1
Figure imgb0009
x ~ 0 , 0 x ~ 0 , 0 x ~ 0 , 2 M - 1 = h s 0 0 0 0 0 h s 0 1 0 0 0 h s 0 2 M - 1 S h at 0 0 0 0 0 h at 0 1 0 0 0 h at 0 2 M - 1 x 0 x 1 x 2 M - 1
Figure imgb0010

Avec S = C 0 , 0 C 1 , 0 C M - 1 , 0 C 0 , 1 C 1 , 1 C M - 1 , 1 C 0 , 2 M - 1 C 1 , 2 M - 1 C 2 M - 1 , M - 1 C 0 , 0 C 0 , 1 C 0 , 2 M - 1 C 1 , 0 C 1 , 1 C 1 , 2 M - 1 C M - 1 , 0 C M - 1 , 1 C M - 1 , 2 M - 1

Figure imgb0011
S = I M - J M 0 M 0 M I M + J M
Figure imgb0012

  • IM étant la matrice carrée identité de taille M,
  • JM étant la matrice carrée anti-identité de taille M, qui à une série de valeurs d'indices croissants, renvoie la même série de valeur avec les indices décroissants,
  • 0 M est une matrice carrée de taille M ne contenant que des zéros.
With S = VS 0 , 0 VS 1 , 0 VS M - 1 , 0 VS 0 , 1 VS 1 , 1 VS M - 1 , 1 VS 0 , 2 M - 1 VS 1 , 2 M - 1 VS 2 M - 1 , M - 1 VS 0 , 0 VS 0 , 1 VS 0 , 2 M - 1 VS 1 , 0 VS 1 , 1 VS 1 , 2 M - 1 VS M - 1 , 0 VS M - 1 , 1 VS M - 1 , 2 M - 1
Figure imgb0011
S = I M - J M 0 M 0 M I M + J M
Figure imgb0012
  • I M being the square matrix identity of size M,
  • J M being the anti-identity square matrix of size M, which at a series of increasing index values, returns the same series of values with decreasing indices,
  • 0 M is a square matrix of size M containing only zeros.

Ainsi, il vient : { x ˜ 0 , n = h s 0 , n h a 0 , n x n - h a 0 , M - 1 - n x M - 1 - n x ˜ 0 , M + n = h s 0 , M + n h a 0 , M + n x M + n + h a 0 , 2 M - 1 - n x 2 M - 1 - n ,

Figure imgb0013

et par analogie en utilisant la trame t=1 : { x ˜ 1 , n = h s 1 , n h a 1 , n x M + n - h a 1 , M - 1 - n x 2 M - 1 - n x ˜ 1 , M + n = h s 1 , M + n h a 1 , M + n x 2 M + n + h a 1 , 2 M - 1 - n x 3 M - 1 - n .
Figure imgb0014
So, he comes: { x ~ 0 , not = h s 0 , not h at 0 , not x not - h at 0 , M - 1 - not x M - 1 - not x ~ 0 , M + not = h s 0 , M + not h at 0 , M + not x M + not + h at 0 , 2 M - 1 - not x 2 M - 1 - not ,
Figure imgb0013

and by analogy using the t = 1 frame: { x ~ 1 , not = h s 1 , not h at 1 , not x M + not - h at 1 , M - 1 - not x 2 M - 1 - not x ~ 1 , M + not = h s 1 , M + not h at 1 , M + not x 2 M + not + h at 1 , 2 M - 1 - not x 3 M - 1 - not .
Figure imgb0014

Ainsi, si on additionne 0,M+n et x̃l,n terme à terme on obtient : x ^ M + n = x ˜ 0 , M + n + x ˜ 1 , n = h s 0 , M + n h a 0 , M + n x M + n + h a 0 , 2 M - 1 - n x 2 M - 1 - n + h s 1 , n h a 1 , n x M + n - h a 1 , M - 1 - n x 2 M - 1 - n

Figure imgb0015
x ^ M + n = x ˜ 0 , M + n + x ˜ 1 , n = x M + n h a 0 , M + n h s 0 , M + n + h a 1 , n h s 1 , n + x 2 M - 1 - n h a 0 , 2 M - 1 n h s 0 , M + n - h a 1 , M - 1 - n h s 1 , n
Figure imgb0016
Thus, if we add x 0, M + n and x l, n term term we obtain: x ^ M + not = x ~ 0 , M + not + x ~ 1 , not = h s 0 , M + not h at 0 , M + not x M + not + h at 0 , 2 M - 1 - not x 2 M - 1 - not + h s 1 , not h at 1 , not x M + not - h at 1 , M - 1 - not x 2 M - 1 - not
Figure imgb0015
x ^ M + not = x ~ 0 , M + not + x ~ 1 , not = x M + not h at 0 , M + not h s 0 , M + not + h at 1 , not h s 1 , not + x 2 M - 1 - not h at 0 , 2 M - 1 not h s 0 , M + not - h at 1 , M - 1 - not h s 1 , not
Figure imgb0016

Si on veut assurer M+n = x M+n et obtenir ainsi la reconstruction parfaite, on obtient les conditions nécessaires suivantes sur les filtres d'analyse et de synthèse: { h a 0 , M + n h s 0 , M + n + h a 1 , n h s 1 , n = 1 h a 0 , 2 M - 1 - n h s 0 , M + n - h a 1 , M - 1 - n h s 1 , n = 0 ,

Figure imgb0017

c'est-à-dire { h a 1 M - 1 - n = D n h s 0 n + M h a 0 2 M - 1 - n = D n h s 1 n ,
Figure imgb0018

avec D n = h a 0 n + M h a 1 M - 1 - n + h a 1 n h a 0 2 M - 1 - n .
Figure imgb0019
If we want to ensure x M + n = x M + n and thus obtain the perfect reconstruction, we obtain the following necessary conditions on the analysis and synthesis filters: { h at 0 , M + not h s 0 , M + not + h at 1 , not h s 1 , not = 1 h at 0 , 2 M - 1 - not h s 0 , M + not - h at 1 , M - 1 - not h s 1 , not = 0 ,
Figure imgb0017

that is to say { h at 1 M - 1 - not = D not h s 0 not + M h at 0 2 M - 1 - not = D not h s 1 not ,
Figure imgb0018

with D not = h at 0 not + M h at 1 M - 1 - not + h at 1 not h at 0 2 M - 1 - not .
Figure imgb0019

Il apparait que pour assurer la reconstruction parfaite, les formes d'analyse et de synthèse sont construites par retournement temporel et pondération. En conséquence, si hs contient des zéros en n, alors ha en contiendra dans la partie symétrique autour de M/2, c'est-à-dire à l'indice M-1-n.It appears that to ensure perfect reconstruction, the forms of analysis and synthesis are constructed by temporal reversal and weighting. Consequently, if h s contains zeros at n, then h a will contain some in the symmetrical part around M / 2, that is to say at the index M-1-n.

On illustre la synthèse par un exemple sur la figure 1. Dans cet exemple, on fait succéder deux transformées inverses de taille M hs0 et hs1.The synthesis is illustrated by an example on the figure 1 . In this example, two inverse transforms of size M h s0 and h s1 are passed .

Pour reconstruire les échantillons entre M et 2M-1 on additionne les échantillons couverts par la partie commune entre hs0 et hs1. La reconstruction sera parfaite si les fenêtres vérifient les conditions de reconstruction parfaite énoncées ci-dessus.To reconstruct the samples between M and 2M-1, the samples covered by the common part are added between h s0 and h s1 . The reconstruction will be perfect if the windows verify the perfect reconstruction conditions stated above.

Le cas usuel de reconstruction se situe donc lorsque dans un décodeur on reçoit deux spectres consécutifs, par exemple Xt et Xt+1, issus de transformations directes et qu'on leur applique les transformations inverses pour obtenir respectivement 0 et 1. Le signal d'origine sera parfaitement reconstruit par addition des M derniers échantillons du premier ensemble avec les M premiers du second.The usual case of reconstruction is therefore when, in a decoder, two consecutive spectra are received, for example X t and X t + 1 , resulting from direct transformations and the inverse transformations are applied to them to obtain x 0 and x 1, respectively . The original signal will be perfectly reconstructed by adding the last M samples of the first set with the first M of the second.

On peut également considérer que Xt seul a été transmis. La reconstruction parfaite pourra être obtenue si on sait construire le signal l,n . Ceci sera possible si on connaît les échantillons x M à x 2M-1. De cette manière il sera possible, par pondération par les fenêtres hs1 et ha1, de construire le vecteur permettant de supprimer le repliement émanant du vecteur 0.It can also be considered that X t alone has been transmitted. The perfect reconstruction can be obtained if we know how to construct the signal x l , n . This will be possible if we know the samples x M to x 2M-1 . In this way it will be possible, by weighting by windows h s1 and h a1 , to construct the vector for removing the folding from the vector x 0 .

Dans ce qui précède, on a considéré que l'on avait à disposition les signaux Xt et x M à x 2M-1.In the foregoing, it has been considered that the signals X t and x M at x 2 M -1 are available .

Si maintenant on considère que la trame suivante est transmise dans le domaine fréquentiel (Xt+2), on ne supprime pas le repliement situé entre x 2M à x 3M-1. Pour ce faire, il aurait fallu avoir reçu ces échantillons au préalable. Néanmoins, cette solution triviale est sous optimale du point de vue de l'échantillonnage critique.If we now consider that the next frame is transmitted in the frequency domain (X t + 2 ), we do not remove the folding located between x 2M to x 3M-1 . To do this, it would have been necessary to have received these samples beforehand. Nevertheless, this trivial solution is suboptimal from the point of view of critical sampling.

Dans la suite, on présente un moyen de pallier cet inconvénient.In the following, we present a way to overcome this disadvantage.

Codage temporel efficaceEffective time coding

On propose de choisir des fenêtres particulières permettant de transmettre le signal codé en temporel quand souhaité sans toutefois perdre l'échantillonnage critique (c'est-à-dire le même nombre d'échantillons transmis et reconstruits). C'est ce qui est illustré sur la figure 2.It is proposed to choose particular windows for transmitting the coded signal in time when desired without losing the critical sampling (ie the same number of samples transmitted and reconstructed). This is illustrated on the figure 2 .

Par construction, comme illustré sur la figure 2, on choisit :

  • hs0 = 0 pour n compris entre M+ (M+Mo)/2 et 2M-1, et
  • hs1 = 0 pour n compris entre 0 et (M-Mo)/2,
avec Mo une valeur entière donnée comprise entre 1 et M-1.By construction, as illustrated on the figure 2 , we choose :
  • hs0 = 0 for n between M + (M + Mo) / 2 and 2M-1, and
  • hs1 = 0 for n between 0 and (M-Mo) / 2,
with M o a given integer value between 1 and M-1.

Par exemple, les portions descendantes et ascendantes de hs0 et hs1 autour de l'échantillon M+M/2 sont constituées d'arches de sinus données par l'équation :

  • hs1(n) =sin (pi * (0.5+n - ((M-Mo)/2))/2/Mo) pour n compris entre (M-Mo)/2 et (M+Mo)/2.
For example, the descending and ascending portions of hs0 and hs1 around the M + M / 2 sample consist of sinus arches given by the equation:
  • h s1 (n) = sin (pi * (0.5 + n - ((M-Mo) / 2)) / 2 / Mo) for n between (M-Mo) / 2 and (M + Mo) / 2.

hs0(n) sera prise comme symétrique dans cette zone de hs1 pour obtenir la reconstruction parfaite.h s0 (n) will be taken as symmetric in this area of h s1 to obtain the perfect reconstruction.

hs1 pourra être défini également par une fonction de « Kaiser Bessel » dérivée utilisé par exemple dans les codeurs de type AAC.h s1 can also be defined by a derived "Kaiser Bessel" function used for example in AAC coders.

Ainsi définies, les formes de hs0 et hs1 permettent d'assurer la reconstruction parfaite.Thus defined, the forms of h s0 and h s1 make it possible to ensure perfect reconstruction.

Comme illustré sur la figure 3, une première trame T30 (fenêtrée par hs0) combinée à la trame T31 (fenêtrée par hs1) permet de reconstruire le segment de M à 2M-1, les trames T31 et T33 permettant d'obtenir les échantillons 2M à 3M-1 etc.As illustrated on the figure 3 , a first frame T30 (windowed by h s0 ) combined with the frame T31 (windowed by hs1) makes it possible to reconstruct the segment from M to 2M-1, the frames T31 and T33 making it possible to obtain the samples 2M to 3M-1 etc. .

Dans le cas où le signal de la trame T31 est transmis en fréquentiel, l'échantillonnage critique est respecté et la reconstruction est parfaite dans la mesure où les filtres d'analyse et de synthèse vérifient la condition nécessaire.In the case where the signal of the frame T31 is transmitted in frequency, the critical sampling is respected and the reconstruction is perfect insofar as the analysis and synthesis filters verify the necessary condition.

Dans la mesure où l'échantillon x3M/2+n (n<Mo/2) est transmis dans la trame T31 alors l'échantillon x3M/2-1-n pourra être généré en se basant sur la connaissance de 0,M+M/2+n issu de la trame T30. On se basera sur la relation : x ˜ 0 , M + n = h s 0 , M + n h a 0 , M + n x M + n + h a 0 , 2 M - 1 - n x 2 M - 1 - n pour n = M / 2.

Figure imgb0020
Since the sample x 3M / 2 + n (n <Mo / 2) is transmitted in the frame T31 then the sample x 3M / 2-1 -n can be generated based on the knowledge of x 0 , M + M / 2 + n from the frame T30. We will build on the relationship: x ~ 0 , M + not = h s 0 , M + not h at 0 , M + not x M + not + h at 0 , 2 M - 1 - not x 2 M - 1 - not for n = M / 2.
Figure imgb0020

On aura alors : x 3 M / 2 - 1 - n = 1 h a 0 , 3 M / 2 - 1 - n x ˜ 0 , 3 M / 2 + n h s 0 , 3 M / 2 + n - h a 0 , 3 M / 2 + n x 3 M / 2 + n .

Figure imgb0021
We will then have: x 3 M / 2 - 1 - not = 1 h at 0 , 3 M / 2 - 1 - not x ~ 0 , 3 M / 2 + not h s 0 , 3 M / 2 + not - h at 0 , 3 M / 2 + not x 3 M / 2 + not .
Figure imgb0021

Ceci pourra être réitéré pour retrouver les échantillons dans la zone de recouvrement, c'est-à-dire entre les échantillons (M-Mo)/2 et M/2.This can be reiterated to find the samples in the overlap zone, ie between the samples (M-Mo) / 2 and M / 2.

En utilisant les relations déterminées au préalable: { h a 1 M - 1 - n = D n h s 0 n + M h a 0 2 M - 1 - n = D n h s 1 n .

Figure imgb0022
Using predefined relationships: { h at 1 M - 1 - not = D not h s 0 not + M h at 0 2 M - 1 - not = D not h s 1 not .
Figure imgb0022

Du fait que hs0 contient des zéros entre M+(M+Mo)/2 et 2M-1, ha1 contient des zéros entre 0 et (M-Mo)/2.Because h s0 contains zeros between M + (M + M o ) / 2 and 2M-1, h a1 contains zeros between 0 and (MM o ) / 2.

De même, du fait que hs1 ne contient que des zéros entre 0 et (M-Mo)/2, ha0 ne contient que des zéros entre M+(M+Mo)/2 et 2M-1.Similarly, because h s1 contains only zeros between 0 and (M-Mo) / 2, h a0 contains only zeros between M + (M + Mo) / 2 and 2M-1.

hs0 = 0 pour n=M+(M+Mo)/2...2M-1,hs0 = 0 for n = M + (M + Mo) / 2 ... 2M-1,

hs1 = 0 pour n=0...(M-Mo)/2,hs1 = 0 for n = 0 ... (M-Mo) / 2,

ha1 = 0 pour n=0...(M-Mo)/2,ha1 = 0 for n = 0 ... (M-Mo) / 2,

ha0 = 0 pour n=M+(M+Mo)/2 et 2M-1.ha0 = 0 for n = M + (M + Mo) / 2 and 2M-1.

Par conséquent, comme illustré sur la figure 4, le vecteur 0,M+n contient 3 zones :

  • 0,M+n =0 de n= (M+Mo)/2...M-1,
  • 0,M+n ne contient pas de composantes repliées entre n=0 et n=(M-Mo)/2, et
  • la zone centrale autour de M+M/2 pour laquelle il existe des composantes repliées.
Therefore, as illustrated on the figure 4 , the vector x 0, M + n contains 3 zones:
  • x 0, M + n = 0 of n = (M + Mo) / 2 ... M-1,
  • x 0, M + n does not contain folded components between n = 0 and n = (M-Mo) / 2, and
  • the central zone around M + M / 2 for which there are folded components.

De même :

  • l,n =0 entre n=0 et n=(M-Mo)/2,
  • l,n ne contient pas de composantes de repliement entre (M+Mo)/2 et M-1, et
  • la zone centrale autour de M/2 pour laquelle il existe des composantes repliées.
Likewise:
  • x l, n = 0 between n = 0 and n = (M-Mo) / 2,
  • x l, n does not contain folding components between (M + Mo) / 2 and M-1, and
  • the central zone around M / 2 for which there are folded components.

Grâce à ces propriétés, on peut donc recouvrer le segment xM...x2M-1 en assurant une reconstruction parfaite.Thanks to these properties, we can recover the segment x M ... x 2M-1 by ensuring a perfect reconstruction.

Cette reconstruction parfaite peut être obtenue :

  • par transmission dans le domaine transformé du vecteur X1,
  • par transmission dans le domaine temporel des échantillons x3M/2̇···x5M/2-1
This perfect reconstruction can be obtained:
  • by transmission in the transformed domain of the vector X 1 ,
  • by time-domain transmission of samples x 3M / 2̇ ··· x 5M / 2-1

D'après ce qui précède, on peut maintenant réaliser un codage TDAC à échantillonnage critique tout en évitant les problèmes liés au repliement. Dans la suite, on décrit un codage CELP, permettant une combinaison avantageuse avec le codage TDAC précédemment décrit.From the foregoing, one can now perform critical sampling TDAC coding while avoiding problems related to aliasing. In the following, a CELP coding is described, allowing an advantageous combination with the previously described TDAC coding.

TDAC+CELPTDAC + CELP

On rappelle que l'on se place dans le cadre d'un fonctionnement de type présenté dans la spécification AMR WB+. On alterne un codage de type transformé utilisant la TDAC avec un codage de type temporel qui est constitué par un codeur CELP (par exemple selon la recommandation AMR WB).It is recalled that one places oneself within the framework of an operation of the type presented in the AMR WB + specification. A converted type coding using TDAC is alternated with a time-type coding which consists of a CELP coder (for example according to AMR recommendation WB).

Sans perte de généralité, en référence à la figure 5, on prend le cas d'un codage d'une trame T51 par TDAC (fenêtrée par h51) suivi par une trame T52 en AMR WB puis d'une trame T53 à nouveau en TDAC (fenêtrée par h53).Without loss of generality, with reference to figure 5 , we take the case of a coding of a T51 frame by TDAC (windowed by h 51 ) followed by a T52 frame in AMR WB and then a T53 frame again in TDAC (windowed by h 53 ).

Afin de reconstruire les échantillons, le codage AMR WB se base sur une prédiction de la périodicité du signal, dite prédiction long terme. A ce titre, il construit ses échantillons de la façon suivante : r n = a r n - T + b w n .

Figure imgb0023
In order to reconstruct the samples, AMR WB coding is based on a prediction of the periodicity of the signal, termed long-term prediction. As such, he builds his samples as follows: r not = at r not - T + b w not .
Figure imgb0023

Le signal r est construit par rapport à des anciens échantillons pris en amont de T échantillons pondérés par un gain a, transmis et mis à jour périodiquement, et une partie dite stochastique wn affectée d'un gain b, transmise et remise à jour également au cours du temps. T représente le « pitch ». Le codeur AMR WB estime les composantes a, b et T et la partie wn à ajouter suivant le débit considéré.The signal r is constructed with respect to old samples taken upstream of T samples weighted by a gain, transmitted and updated periodically, and a so-called stochastic part w n assigned a gain b, transmitted and updated also over time. T represents the pitch. The AMR encoder WB estimates the components a, b and T and the part w n to be added according to the flow rate considered.

Ainsi, afin de réaliser efficacement la prédiction long terme, le décodeur CELP fait appel à des échantillons passés ne devant pas présenter d'artefacts. Or, du fait que la trame T51 est codée en TDAC, il y aura du repliement dans les échantillons entre M + (M-M0)/2 et M + (M+M0)/2 tant que la trame T52 ne sera pas restituée avec le repliement permettant de supprimer celui de la trame T51.Thus, in order to effectively achieve long-term prediction, the CELP decoder uses past samples that should not have artifacts. However, since the frame T51 is coded in TDAC, there will be folding in the samples between M + (MM 0 ) / 2 and M + (M + M 0 ) / 2 as long as the frame T52 will not be restored. with the folding to delete that of the T51 frame.

Afin de permettre la restitution des échantillons de la trame T52 codée en CELP sans repliement, la zone de couverture des échantillons transmis par ce codage est élargie pour couvrir la zone de transition initiale complètement.In order to allow the return of the samples of the CELP-encoded frame T52 without folding, the area of coverage of the samples transmitted by this coding is widened to cover the initial transition zone completely.

On étend la durée du CELP au contenu d'indice M+ (M-Mo)/2 ... 5M/2.The duration of the CELP is extended to the content of index M + (M-Mo) / 2 ... 5M / 2.

En ce sens, il n'y a pas d'échantillonnage critique pour la partie codée par le codage prédictif.In this sense, there is no critical sampling for the coded part by the predictive coding.

En revanche la zone Mo est limitée en durée afin d'éviter de transmettre trop d'information supplémentaire.On the other hand, the zone M o is limited in duration in order to avoid transmitting too much additional information.

Par exemple, Mo se situe autour de 1 à 2 ms pour une trame de durée M correspondant à 20 ms. Le nombre d'échantillons est calculé en fonction de la fréquence d'échantillonnage. On peut également choisir Mo/2 comme étant une durée proportionnelle à une sous trame de CELP, c'est-à-dire la durée habituelle de remise à jour des valeurs de pitch / gain et vecteur stochastique, où une taille adapté aux algorithmes rapides pour la recherche du vecteur stochastique et sa transmission de manière efficace. Par exemple, on prend une puissance de 2.For example, M o is around 1 to 2 ms for a frame of duration M corresponding to 20 ms. The number of samples is calculated based on the sampling frequency. We can also choose Mo / 2 as a duration proportional to a subframe of CELP, that is to say the usual duration of updating pitch / gain values and stochastic vector, where a size adapted to fast algorithms for the search of the stochastic vector and its transmission effectively. For example, we take a power of 2.

Pour reconstruire les échantillons de la zone entre M et 2M-1, on reconstruit au préalable la période entre M et M+(M-Mo)/2 en utilisant la transformée inverse d'une trame T50 (non représentée) précédent la trame T51. Ensuite la zone entre M+(M-Mo)/2et 2M-1 est reconstruite avec le CELP seul qui se base pour la partie long terme sur les échantillons restitués par la partie transformée.To reconstruct the samples of the area between M and 2M-1, the period between M and M + (M-Mo) / 2 is first reconstructed using the inverse transform of a frame T50 (not shown) preceding the frame T51. Then the area between M + (M-Mo) / 2 and 2M-1 is reconstructed with the CELP alone which is based for the long term on the samples returned by the transformed part.

Une variante pour obtenir les échantillons compris entre M+ (M-Mo)/2 et M+ (M+Mo)/2-1 consiste à combiner les échantillons CELP avec les échantillons contenant du repliement issus de la trame T51. On peut dans ce cas réaliser une combinaison linéaire des échantillons issus du CELP et de l'équation déterminée préalablement x 3 M / 2 - 1 - n = 1 h a 0 , 3 M / 2 - 1 - n x ˜ 0 , 3 M / 2 + n h s 0 , 3 M / 2 + n - h a 0 , 3 M / 2 + n x 3 M / 2 + n .

Figure imgb0024
A variant for obtaining the samples between M + (M-Mo) / 2 and M + (M + Mo) / 2-1 consists in combining the CELP samples with the samples containing folding originating from the T51 frame. In this case, we can achieve a linear combination of samples from the CELP and the previously determined equation x 3 M / 2 - 1 - not = 1 h at 0 , 3 M / 2 - 1 - not x ~ 0 , 3 M / 2 + not h s 0 , 3 M / 2 + not - h at 0 , 3 M / 2 + not x 3 M / 2 + not .
Figure imgb0024

La combinaison linéaire fonctionne suivant le modèle ci-dessous : x 3 M / 2 - 1 - n = α n x 3 M / 2 - 1 - n issu du celp + 1 - α n x 3 M / 2 - 1 - n issu de la transformée .

Figure imgb0025
The linear combination works according to the model below: x 3 M / 2 - 1 - not = α not x 3 M / 2 - 1 - not } from the celp + 1 - α not x 3 M / 2 - 1 - not } from the transformed .
Figure imgb0025

Avec α n jeu de coefficients positifs ou nuls inférieurs ou égaux à un.With α n set of positive or zero coefficients less than or equal to one.

La portion 2M,...3M-1 est décodée en utilisant la fin des échantillons CELP transmis entre les indices 2M à 5M/2. Ensuite, en se basant sur ce résultat décodé, les échantillons issus de la transformée suivante sont reconstruits dans la zone de recouvrement, qui contient du repliement de façon analogue à la zone de recouvrement entre les trames T51 et T52. La différence avec l'autre sens de transition réside dans le fait que le CELP ne fournira pas tous les échantillons de la zone de transition de la transformée, mais seulement une moitié (i.e. M'o/2=M/8 dans notre exemple pour une taille de transition de M'o=M/4). Cependant, seule une moitié de cette zone de transition est nécessaire pour pouvoir annuler le repliement temporel de la transformée.Portion 2M, ... 3M-1 is decoded using the end of the CELP samples transmitted between the indices 2M to 5M / 2. Then, based on this decoded result, the samples from the following transform are reconstructed in the overlap area, which contains folding in a similar manner to the overlap area between the frames T51 and T52. The difference with the other direction of transition lies in the fact that the CELP will not supply all the samples of the transition zone of the transform, but only a half (ie M'o / 2 = M / 8 in our example for a transition size of M'o = M / 4). However, only half of this transition zone is necessary to be able to cancel the time folding of the transform.

La fenêtre h51 peut être asymétrique. Ainsi, la zone de recouvrement entre la partie CELP et TDAC, notée Mo', peut être différente de Mo.The window h 51 may be asymmetrical. Thus, the overlap area between the CELP part and TDAC, noted M o ', may be different from M o .

Transmission du CELPTransmission of CELP

On décrit dans la suite plusieurs alternatives pour transmettre la trame CELP.Several alternatives are described hereinafter for transmitting the CELP frame.

Dans un exemple, la trame CELP couvre une durée égale à la taille M+Mo/2 comme présenté sur la figure 4. Conformément au standard AMR WB, cette trame est découpée en sous segments, de taille notée Mc sur la figure 5, permettant une mise à jour fréquente des paramètres permettant de synthétiser un signal CELP de qualité. Ainsi les valeurs de pitch, gain et la partie stochastique sont transmis initialement et mis à jour optionnellement.In one example, the CELP frame covers a duration equal to the size M + Mo / 2 as presented on the figure 4 . According to AMR standard WB, this frame is divided into sub segments, of size noted Mc on the figure 5 , allowing a frequent update of the parameters making it possible to synthesize a signal CELP of quality. Thus the values of pitch, gain and the stochastic part are initially transmitted and updated optionally.

La longueur du premier sous segment (Mc'), suivant immédiatement la transformée peut être différente si on veut utiliser une longueur Mo' arbitraire avec un codeur CELP normalisé avec Mc imposé par cette norme.The length of the first sub-segment (Mc ') immediately following the transform may be different if it is desired to use an arbitrary length Mo' with a standard CELP encoder with Mc imposed by this standard.

Le pitch peut être estimé sur la partie décodée avant l'échantillon d'indice M+(M-Mo)/2. Ainsi, on peut éviter de transmettre le pitch initial, seul le gain de pitch qui est estimé suivant la méthode commune présentée dans la recommandation AMR WB est transmis.The pitch can be estimated on the decoded part before the sample of index M + (M-Mo) / 2. Thus, it is possible to avoid transmitting the initial pitch, only the pitch gain that is estimated according to the common method presented in AMR recommendation WB is transmitted.

Dans une variante de cet exemple, le gain de pitch n'est pas transmis. Il est estimé sur le signal décodé dans la partie transformée.In a variant of this example, the pitch gain is not transmitted. It is estimated on the decoded signal in the transformed part.

Dans un exemple alternatif, l'estimation de pitch peut être effectuée en incluant la période M+(M-Mo)/2 à M+(M+Mo)/2 qui contient des composantes repliées.In an alternative example, the pitch estimate can be performed by including the period M + (M-Mo) / 2 to M + (M + Mo) / 2 which contains folded components.

La partie stochastique est transmise en préambule, ou ignorée. Et ce, en particulier si elle est considérée négligeable de part sa faible puissance, ou si lors de la reconstruction on se base sur la version utilisant la pondération α n .The stochastic part is transmitted in preamble, or ignored. And this, especially if it is considered negligible because of its low power, or if during the reconstruction is based on the version using the weighting α n .

En effet, une partie stochastique est implicitement présente dans le signal issu des composantes repliées venant de la partie transformée.Indeed, a stochastic part is implicitly present in the signal coming from the folded components coming from the transformed part.

La partie de durée Mo/2 couverte par le CELP peut donc être une partie spécialisée, en ce sens qu'elle peut bénéficier des informations issues du décodage complet de la partie issue de la transformée précédente.The portion of duration Mo / 2 covered by the CELP can therefore be a specialized part, in that it can benefit from the information resulting from the complete decoding of the part resulting from the previous transform.

Mo/2 peut être égale à Mc si on cherche une compatibilité particulière avec un codeur existant. Par exemple, dans le cadre d'une réalisation incluant un CELP de type AMR WB, on peut choisir Mo/2=Mc=5 ms.Mo / 2 can be equal to Mc if one looks for a particular compatibility with an existing coder. For example, in the context of an embodiment including a CELP AMR type WB, one can choose Mo / 2 = Mc = 5 ms.

Un exemple alternatif est présenté sur la figure 6. Dans cet exemple, le codage CELP couvre une longueur plus courte que la trame de base de longueur M. La partie couverte par les échantillons M+(M-M/2)/2 à 2M+M/16 est encodée à partir d'une transformée d'une taille plus courte que la taille initiale (M/2).An alternative example is presented on the figure 6 . In this example, the CELP encoding covers a shorter length than the base frame of length M. The covered part by the samples M + (MM / 2) / 2 to 2M + M / 16 is encoded from a transform of a size shorter than the initial size (M / 2).

Dans la figure 6, seule la trame T63 est codée en CELP. Les trames T61, T62 et T64 sont représentées dans le domaine transformé de la TDAC. Les trames T61 et T64 sont codées avec des transformées de longueur M (fenêtres h61 et h64), la trame T62 étant codée avec une transformée de taille M/2 (fenêtre h62).In the figure 6 only the T63 frame is coded in CELP. The frames T61, T62 and T64 are represented in the transformed domain of the TDAC. The frames T61 and T64 are encoded with transformations of length M (windows h 61 and h 64 ), the frame T62 being coded with a transform of size M / 2 (window h 62 ).

Ce codage est efficace car la fenêtre h61 est relativement douce, ce qui permet d'obtenir une meilleure concentration d'énergie dans le domaine fréquentiel. La fenêtre h62 possède en revanche une transition plus abrupte au voisinage de l'échantillon 2M, mais cette fenêtre abrupte ne pénalise pas trop la qualité du codage du fait que temporellement la durée affectée est courte. La T63 est codée en CELP comme présenté au dessus, ici Mo =M/8.This coding is effective because the window h 61 is relatively soft, which allows to obtain a better concentration of energy in the frequency domain. The h 62 window, on the other hand, has a steeper transition in the vicinity of the 2M sample, but this steep window does not penalize the quality of the coding too much because temporally the duration affected is short. The T63 is coded in CELP as shown above, here Mo = M / 8.

Ainsi une trame de longueur M peut être subdivisée en sous parties codées en CELP ou TDAC de taille variable.Thus a frame of length M can be subdivided into subparts coded in CELP or TDAC of variable size.

Une fois les échantillons restitués dans le domaine temporel, on peut optionnellement appliquer des filtres de synthèse LPC pour restituer le cas échéant le signal sonore.Once the samples are restored in the time domain, LPC synthesis filters can optionally be applied to restore the sound signal if necessary.

Dans un exemple particulier, la transformée est opérée dans un domaine pondéré, c'est-à-dire que la transformée est réalisée sur le signal filtré par un filtre de pondération de type W(z) = A(z1)Hde-emph (z) avec A(z) le filtre de prédiction linéaire (LPC) et gamma un facteur d'aplatissement de ce filtre, le filtre Hde-emph(z) est un filtre de dé-emphase des hautes fréquences. Le codeur CELP lui fonctionne, c'est-à-dire que le signal d'excitation rn sera bien calculé dans le domaine résiduel d'un filtre de prédiction linéaire A(z). Une attention particulière sera portée pour que le signal synthétisé par la première transformée inverse, et qui est donc dans un domaine perceptivement pondéré, soit remis dans le domaine de l'excitation du CELP, pour que la partie long-terme de l'excitation du CELP puisse être calculée.In a particular example, the transform is operated in a weighted domain, that is to say that the transform is performed on the filtered signal by a weighting filter of type W ( z ) = A ( z / γ 1 ) H de-emph ( z ) with A (z) the linear prediction filter (LPC) and gamma a flattening factor of this filter, the filter H de-emph (z) is a high-frequency de-emphasis filter. The CELP coder operates it, that is to say that the excitation signal r n will be well calculated in the residual domain of a linear prediction filter A ( z ). Special attention will be paid for the signal synthesized by the first inverse transform, and which is therefore in a perceptually weighted domain, is returned to the field of CELP excitation, so that the long-term portion of the CELP excitation can be calculated.

Dans la suite on décrit un exemple de procédé de codage.In the following an example of coding method is described.

En référence à la figure 7, on illustre le problème du passage entre un codage de type transformée avec un codage de type prédictif.With reference to the figure 7 , we illustrate the problem of switching between a type of coding transformed with a predictive type coding.

On considère un signal x à coder puis décoder. On considère que les échantillons de 0 à 3M-1 doivent être codés par transformée, tandis que les échantillons de 3M à 4M-1 doivent être codés par codage prédictif, comme indiqué par les double flèches T et P.We consider a signal x to code and then decode. Samples from 0 to 3M-1 are considered to be transform coded, whereas samples from 3M to 4M-1 should be coded by predictive coding, as indicated by the double arrows T and P.

Selon l'art antérieur, on code les échantillons de 0 à 2M-1 par codage par transformée selon un vecteur de transformée X 0 T .

Figure imgb0026
According to the prior art, the samples are coded from 0 to 2M-1 by transform coding according to a transform vector. X 0 T .
Figure imgb0026

Le décodage de ce vecteur de transformée donne les échantillons de 0 à 2M-1 d'un signal décodé x. Ce décodage fait apparaitre du repliement REP1, notamment dans les échantillons de M à 2M-1.The decoding of this transform vector gives the samples from 0 to 2M-1 of a decoded signal x . This decoding reveals REP1 folding, especially in samples from M to 2M-1.

Par ailleurs, on code les échantillons de M à 3M-1 par codage par transformée selon un vecteur de transformée X 1 T .

Figure imgb0027
Furthermore, samples of M to 3M-1 are coded by transform coding according to a transform vector. X 1 T .
Figure imgb0027

Le décodage de ce vecteur de transformée donne les échantillons de M à 3M-1 du signal décodé x. Ce décodage fait apparaître le même repliement avec un signe opposé à REP1 dans les échantillons de M à 2M-1 que lors du décodage de X 0 T .

Figure imgb0028
Il fait également apparaître du repliement REP2 dans les échantillons de 2M à 3M-1 dans x.Decoding of this transform vector gives the samples from M to 3M-1 of the decoded signal x . This decoding shows the same folding with a sign opposite to REP1 in the samples from M to 2M-1 than during the decoding of X 0 T .
Figure imgb0028
It also shows REP2 folding in samples from 2M to 3M-1 in x .

Ainsi, il est possible par combinaison des échantillons de M à 2M-1 issus respectivement du décodage de X 0 T

Figure imgb0029
et X 1 T
Figure imgb0030
de supprimer (SUPPR_REP) le repliement REP1.Thus, it is possible by combination of the samples from M to 2M-1 respectively derived from the decoding of X 0 T
Figure imgb0029
and X 1 T
Figure imgb0030
to delete (DELETE_REP) the REP1 folding.

On code ensuite les échantillons de 3M à 4M-1 de x par codage prédictif selon le vecteur de prédiction X 2 p .

Figure imgb0031
We then code the samples from 3M to 4M-1 of x by predictive coding according to the prediction vector X 2 p .
Figure imgb0031

Pour être décodé, ce vecteur nécessite la connaissance des échantillons précédents. C'est-à-dire les échantillons de 2M à 3M-1. Ces échantillons sont disponibles au décodage de X 1 T ,

Figure imgb0032
néanmoins ils sont inutilisables du fait de la présence du repliement REP2.To be decoded, this vector requires knowledge of previous samples. That is, samples from 2M to 3M-1. These samples are available for decoding X 1 T ,
Figure imgb0032
nevertheless they are unusable because of the presence of REP2 folding.

Ainsi, X 2 p

Figure imgb0033
ne peut être décodé.So, X 2 p
Figure imgb0033
can not be decoded.

De plus, la suppression du repliement REP2 nécessite la connaissance des échantillons de x de 2M à 3M-1 pour recréer le repliement et le supprimer par combinaison. Or, ces échantillons ne sont pas disponibles au décodage.In addition, the removal of REP2 folding requires knowledge of x samples from 2M to 3M-1 to recreate the folding and delete it by combination. However, these samples are not available for decoding.

Ainsi, le décodage de X 1 T

Figure imgb0034
n'est pas terminé.Thus, the decoding of X 1 T
Figure imgb0034
is not finished.

Pour régler ces difficultés, l'art antérieur propose de communiquer au décodeur les échantillons dont il a besoin en plus des vecteurs issues de la transformée et de la partie prédiction. Néanmoins, cette solution n'est pas optimale du point de vue du débit.To solve these difficulties, the prior art proposes to communicate to the decoder the samples it needs in addition to the vectors from the transform and the prediction part. Nevertheless, this solution is not optimal from the point of view of flow.

La présente invention propose la solution illustrée sur la figure 8.The present invention proposes the solution illustrated on the figure 8 .

Sur cette figure, on retrouve le signal x, le vecteur de transformée X 1 T ,

Figure imgb0035
et le vecteur de prédiction X 2 p .
Figure imgb0036
In this figure, we find the signal x, the transform vector X 1 T ,
Figure imgb0035
and the prediction vector X 2 p .
Figure imgb0036

Cependant, selon la présente invention, le vecteur de prédiction X 2 p

Figure imgb0037
code un nombre M d'échantillons comportant une partie des échantillons codés par X 1 T .
Figure imgb0038
However, according to the present invention, the prediction vector X 2 p
Figure imgb0037
code a number M of samples comprising part of the samples coded by X 1 T .
Figure imgb0038

Cette disposition permet de reconstruire le signal x au décodage.This arrangement makes it possible to reconstruct the signal x at decoding.

En effet, les échantillons précédant le repliement REP crée au décodage de X 1 T

Figure imgb0039
sont utilisés pour le décodage des premiers échantillons que le décodage de X 2 p
Figure imgb0040
va permettre d'obtenir. C'est-à-dire, ceux qu'il a en commun avec X 1 T .
Figure imgb0041
Indeed, the samples preceding the REP folding creates the decoding of X 1 T
Figure imgb0039
are used for the decoding of the first samples that the decoding of X 2 p
Figure imgb0040
will allow to get. That is to say, those he has in common with X 1 T .
Figure imgb0041

Ainsi, on récupère des échantillons de x permettant de recréer le repliement REP. Par exemple, on fait subir aux échantillons de x correspondant à REP un codage suivi d'un décodage identique à ceux subis par les échantillons de M à 3M-1.Thus, samples of x are retrieved to recreate REP folding. For example, the samples of x corresponding to REP are subjected to coding followed by a decoding identical to those of the samples from M to 3M-1.

Ce repliement ainsi crée est combiné à celui présent dans les échantillons issus du décodage de X 1 T ,

Figure imgb0042
et X 1 T
Figure imgb0043
peut ainsi être complètement décodé.This folding thus created is combined with that present in the samples resulting from the decoding of X 1 T ,
Figure imgb0042
and X 1 T
Figure imgb0043
can be completely decoded.

Ensuite, on peut utiliser les échantillons de M à 3M-1 complètement décodés pour décoder X 2 p .

Figure imgb0044
Then we can use the completely decoded 3M-1 M samples to decode X 2 p .
Figure imgb0044

Dans la suite, en référence à la figure 9, on décrit un procédé de codage reprenant les principes décrits ci-avant.In the following, with reference to figure 9 a coding method is described which incorporates the principles described above.

A l'étape S90 on reçoit des échantillons d'un signal à coder. Ensuite, à l'étape S91, on délimite deux séquences d'échantillons, en sorte que la deuxième séquence commence avant la fin de la première séquence. On obtient ainsi une première séquence SEQ1 et une deuxième séquence SEQ2.In step S90, samples of a signal to be encoded are received. Then, in step S91, two sample sequences are delimited, so that the second sequence begins before the end of the first sequence. A first sequence SEQ1 and a second sequence SEQ2 are thus obtained.

Chacune de ces séquences est ensuite codé selon un codage par transformée lors de l'étape S93 pour SEQ1, et selon un codage prédictif lors de l'étape S94 pour SEQ2.Each of these sequences is then coded according to transform coding in step S93 for SEQ1, and according to a predictive coding in step S94 for SEQ2.

En référence à la figure 10, on décrit un exemple dans lequel, le codage par transformée se fait par application d'une fenêtre d'analyse, permettant de déterminer une fenêtre de synthèse, au moyen d'une relation de reconstruction parfaite, adapté au présent codage.With reference to the figure 10 an example is described in which the transform coding is done by applying an analysis window, making it possible to determine a synthesis window, by means of a perfect reconstruction relation, adapted to the present coding.

Les fenêtres d'analyse et de synthèse étant liées par la relation de reconstruction parfaite, il est équivalent de décrire l'un ou l'autre.Since the analysis and synthesis windows are linked by the perfect reconstruction relation, it is equivalent to describe one or the other.

Sur la figure 10, on décrit la fenêtre de synthèse H. Cette fenêtre comporte quatre parties particulières.On the figure 10 the window of synthesis H is described. This window has four particular parts.

INIT correspond à la partie initiale du filtre, on choisit cette partie en fonction du codage des échantillons précédents. Par exemple, ici, H permet de reconstituer une partie de SEQ1 (des échantillons 0 à M-1). Si les échantillons précédant SEQ1 sont codés par transformée, on choisit avantageusement INIT comme une transition douce. Cela permet de ne pas perturber ces échantillons précédents.INIT corresponds to the initial part of the filter, one chooses this part according to the coding of the preceding samples. For example, here, H makes it possible to reconstitute a portion of SEQ1 (samples 0 to M-1). If the samples preceding SEQ1 are coded by transform, it is advantageous to choose INIT as a smooth transition. This makes it possible not to disturb these previous samples.

NOMI correspond à une partie nominale. Avantageusement, cette partie prend une valeur sensiblement constante.NOMI corresponds to a nominal part. Advantageously, this portion takes a substantially constant value.

NL correspond à une partie sensiblement nulle de la fenêtre. La durée de NL (ou le nombre de coefficient de NL) peuvent avantageusement être choisis en fonction de la durée (ou nombre de coefficients) de NOMI.NL corresponds to a substantially zero portion of the window. The duration of NL (or the number of coefficients of NL) can advantageously be chosen as a function of the duration (or number of coefficients) of NOMI.

Enfin, la partie INTER est une partie continue entre NOMI et NL. Cette partie peut avoir une forme adaptée à la transition entre le codage par transformée de SEQ1 et le codage prédictif de SEQ2. Par exemple, c'est une transition relativement abrupte.Finally, the INTER part is a continuous part between NOMI and NL. This part can have a shape adapted to the transition between the transform coding of SEQ1 and the predictive encoding of SEQ2. For example, it's a relatively abrupt transition.

Ainsi, INIT et NOMI sont appliquées à la sous-séquence S-SEQ1 de SEQ1 qui ne comporte pas d'échantillon de S-SEQ, la sous-séquence commune à SEQ1 et SEQ2. INTER est appliquée à S-SEQ. Et NL est appliquée à S-SEQ2, la sous-séquence de SEQ2 qui ne comporte pas d'échantillon de S-SEQ.Thus, INIT and NOMI are applied to the subsequence S-SEQ1 of SEQ1 which does not include a sample of S-SEQ, the subsequence common to SEQ1 and SEQ2. INTER is applied to S-SEQ. And NL is applied to S-SEQ2, the subsequence of SEQ2 that does not have an S-SEQ sample.

En référence à la figure 11, on décrit un procédé de décodage avantageux pour décoder un signal numérique selon les principes décrits ci-avant.With reference to the figure 11 , an advantageous decoding method for decoding a digital signal according to the principles described above is described.

Aux étapes S110 et S111, on reçoit respectivement un vecteur de transformée comportant des échantillons S-SEQ1* codant S-SEQ1, et un vecteur de prédiction comportant des échantillons S-SEQ* codant S-SEQ et des échantillons S-SEQ2* codant S-SEQ2.In steps S110 and S111, a transform vector comprising S-SEQ1 * samples encoding S-SEQ1, and a prediction vector comprising S-SEQ * samples encoding S-SEQ and S-SEQ2 * samples encoding S, are respectively received. -SEQ2.

A l'étape S112, on applique une transformée inverse aux échantillons S-SEQ1*. Par exemple, il s'agit d'une fenêtre du type de H. Par exemple, on peut en outre prévoir une étape S113 comportant des opérations supplémentaires de décodage pour obtenir S-SEQ1.In step S112, an inverse transform is applied to the S-SEQ1 * samples. For example, it is a window of the H type. For example, it is also possible to provide a step S113 comprising additional decoding operations to obtain S-SEQ1.

A l'étape S114, on reçoit S-SEQ décodé par l'étape S113, et S-SEQ*. On décode, au moins par décodage prédictif, à l'étape S114 S-SEQ.In step S114, S-SEQ decoded by step S113, and S-SEQ * are received. At least S114 S-SEQ is decoded, at least by predictive decoding.

Enfin, à l'étape S115, on reçoit S-SEQ décodé lors de l'étape S114 et S-SEQ2* puis on décode S-SEQ2 par décodage prédictif. Au besoin, on peut également faire intervenir S-SEQ1 décodé à l'étape S113.Finally, in step S115, decoded S-SEQ is received in step S114 and S-SEQ2 * and then S-SEQ2 is decoded by predictive decoding. If necessary, it is also possible to use S-SEQ1 decoded in step S113.

Un mode de réalisation de l'étape S114 est décrit en référence à la figure 12.One embodiment of step S114 is described with reference to the figure 12 .

Dans ce mode de réalisation, on fait intervenir à la fois un décodage par transformée, et un décodage prédictif.In this embodiment, both transform decoding and predictive decoding are involved.

A l'étape S120, on reçoit S-SEQ1 (issu de S114) et S-SEQ*, puis on décode S-SEQ par décodage prédictif. On obtient S-SEQ'.In step S120, S-SEQ1 (from S114) and S-SEQ * are received, then S-SEQ is decoded by predictive decoding. We obtain S-SEQ '.

A l'étape S121, on applique une transformée inverse (par exemple celle déjà appliquée à S-SEQ1* pour obtenir S-SEQ1) à S-SEQ1*. On obtient S-SEQ".In step S121, an inverse transform (for example that already applied to S-SEQ1 * to obtain S-SEQ1) is applied to S-SEQ1 *. We obtain S-SEQ ".

Enfin, à l'étape S 122, on réalise une combinaison linéaire des échantillons S-SEQ' et S-SEQ" pour obtenir S-SEQ.Finally, in step S 122, a linear combination of the samples S-SEQ 'and S-SEQ "is performed to obtain S-SEQ.

En référence à la figure 13, on décrit un autre mode de réalisation de l'étape S114.With reference to the figure 13 another embodiment of step S114 is described.

Dans ce mode de réalisation, on recrée à partir de S-SEQ* décodé par décodage prédictif le repliement de signe opposé généré par le décodage de S-SEQ* par transformée (S-SEQ").In this embodiment, the decoding of the opposite sign generated by the decoding of S-SEQ * by transform (S-SEQ ") is recreated from S-SEQ * decoded by predictive decoding.

Ainsi, dans ce mode de réalisation on reçoit à l'étape S130 S-SEQ1 et S-SEQ* puis on décode S-SEQ. On obtient S-SEQ'.Thus, in this embodiment, step S130 S-SEQ1 and S-SEQ * are received and S-SEQ is decoded. We obtain S-SEQ '.

Ensuite, lors de l'étape S131, on crée le même repliement que S-SEQ" dans S-SEQ'. A cet effet on lui applique la matrice S décrite ci-avant..Then, during step S131, the same folding as S-SEQ "in S-SEQ 'is created, for which purpose the matrix S described above is applied to it.

S-SEQ " correspond au décodage de S-SEQ* par transformée lors de l'étape S132.S-SEQ "corresponds to the decoding of S-SEQ * by transform in step S132.

Enfin, on combine S-SEQ'" et S-SEQ" lors de l'étape S133 pour obtenir S-SEQ.Finally, S-SEQ '' and S-SEQ '' are combined in step S133 to obtain S-SEQ.

En référence à la figure 14, on décrit une entité de codage COD adaptée pour mettre en oeuvre l'exemple de procédé de codage décrit ci-avant.With reference to the figure 14 , a coding entity COD adapted to implement the exemplary coding method described above is described.

Cette entité de codage comporte une unité de traitement 140 adaptée pour recevoir un signal numérique SIG et déterminer deux séquences d'échantillons : une première séquence comportant une sous-séquence S-SEQ commune aux deux séquences, et une sous-séquence S-SEQ1, et une deuxième séquence qui commence avant la fin de la première séquence et qui contient S-SEQ et une sous-séquence S-SEQ2.This coding entity comprises a processing unit 140 adapted to receive a digital signal GIS and to determine two sequences of samples: a first sequence comprising an S-SEQ subsequence common to both sequences, and a subsequence S-SEQ1, and a second sequence which begins before the end of the first sequence and which contains S-SEQ and an S-SEQ2 subsequence.

L'entité de codage comporte également un codeur par transformée 141, et un codeur prédictif 142. Ces codeurs sont adaptés pour mettre en oeuvre les étapes du procédé de codage décrit ci-avant, et délivrer respectivement un vecteur transformée V_T codant la première séquence et un vecteur de prédiction V_P codant la deuxième séquence.The coding entity also comprises a transform coder 141, and a predictive coder 142. These coders are adapted to implement the steps of the coding method described above, and respectively deliver a transformed vector V_T encoding the first sequence and a prediction vector V_P encoding the second sequence.

On peut prévoir des moyens de communication (non-représentés) pour échanger des signaux entre les codeurs.Communication means (not shown) may be provided for exchanging signals between the encoders.

En référence à la figure 15, on décrit une entité de décodage pour mettre en oeuvre le procédé de décodage décrit ci-avant.With reference to the figure 15 , a decoding entity is described for implementing the decoding method described above.

Cette entité de décodage DECOD comporte des unités de réception 150 et 151 pour recevoir respectivement un vecteur de transformée V_T comportant des échantillons S-SEQ1* codant S-SEQ1, et un vecteur de prédiction V_P comportant des échantillons S-SEQ* codant S-SEQ et des échantillons S-SEQ2* codant S-SEQ2.This decoding entity DECOD comprises reception units 150 and 151 for respectively receiving a transform vector V_T comprising S-SEQ1 * samples encoding S-SEQ1, and a prediction vector V_P comprising S-SEQ * samples encoding S-SEQ. and S-SEQ2 * samples encoding S-SEQ2.

L'unité 150 fournit S-SEQ1* à une unité d'application de transformée inverse 152. On peut par exemple prévoir en outre que l'unité 152 fournit un résultat à une unité de décodage par transformée 153 pour réaliser des opérations de décodage supplémentaires et fournir S-SEQ1.The unit 150 provides S-SEQ1 * to an inverse transform application unit 152. For example, it is also possible for the unit 152 to provide a result for a transform decode unit 153 to perform additional decoding operations. and provide S-SEQ1.

Une fois décodée par l'unité 153, l'unité de décodage 154 reçoit S-SEQ1 décodé par l'unité 153, et S-SEQ* fourni par l'unité 151. L'unité 154 décode, au moins par décodage prédictif S-SEQ, et fourni S-SEQ.Once decoded by the unit 153, the decoding unit 154 receives S-SEQ1 decoded by the unit 153, and S-SEQ * provided by the unit 151. The unit 154 decodes, at least by predictive decoding S -SEQ, and provided S-SEQ.

Enfin, DECOD comporte une unité de décodage prédictif 155 pour recevoir S-SEQ fourni par l'unité 154, et S-SEQ2* fourni par l'unité 151, puis décoder S-SEQ2 par décodage prédictif et fournir S-SEQ2. Au besoin, l'unité 153 fourni également S-SEQ1 décodé préalablement par l'unité 153.Finally, DECOD includes a predictive decoding unit 155 for receiving S-SEQ provided by the unit 154, and S-SEQ2 * provided by the unit 151, then decoding S-SEQ2 by predictive decoding and providing S-SEQ2. If necessary, the unit 153 also provides S-SEQ1 previously decoded by the unit 153.

Un programme informatique pour comportant des instructions pour mettre en oeuvre l'exemple de procédé de codage décrit ci-avant pourrait être établi selon un algorithme général décrit par la figure 9.A computer program for comprising instructions for implementing the exemplary coding method described above could be established according to a general algorithm described by the figure 9 .

Ce programme informatique pourrait être exécuté dans un processeur d'une entité de codage telle que décrite ci-avant, pour coder un signal avec au moins les mêmes avantages que ceux procurés par le procédé de codage.This computer program could be executed in a processor of a coding entity as described above, to encode a signal with at least the same advantages as those provided by the coding method.

De la même manière, un programme informatique pour comportant des instructions pour mettre en oeuvre le procédé de décodage décrit ci-avant pourrait être établi selon un algorithme général décrit par la figure 11.In the same way, a computer program for comprising instructions for implementing the decoding method described above could be established according to a general algorithm described by the figure 11 .

Ce programme informatique pourrait être exécuté dans un processeur d'une entité de décodage telle que décrite ci-avant, pour décoder un signal avec au moins les mêmes avantages que ceux procurés par le procédé de décodage.This computer program could be executed in a processor of a decoding entity as described above, for decoding a signal with at least the same advantages as those provided by the decoding method.

En référence à la figure 16, on décrit un dispositif matériel adapté pour réaliser un exemple de ou un décodeur selon un mode de réalisation de la présente invention.With reference to the figure 16 a hardware device suitable for making an example of a decoder according to one embodiment of the present invention is described.

Ce dispositif DISP comporte une entrée E pour recevoir un signal numérique SIG. Le dispositif comporte également un processeur PROC de signaux numériques adapté pour réaliser des opérations de codage/décodage notamment sur un signal provenant de l'entrée E. Ce processeur est relié à une ou plusieurs unités de mémoire MEM adaptées pour stocker des informations nécessaires au pilotage du dispositif pour le codage/décodage. Par exemple, ces unités de mémoire comportent des instructions pour la mise en oeuvre du procédé de codage/décodage décrit ci-avant. Ces unités de mémoire peuvent également comporter des paramètres de calcul ou d'autres informations. Le processeur est également adapté pour stocker des résultats dans ces unités de mémoire. Enfin, le dispositif comporte une sortie S reliée au processeur pour fournir un signal de sortie SIG*.This device DISP comprises an input E to receive a digital signal SIG. The device also comprises a processor PROC of digital signals adapted to carry out coding / decoding operations in particular on a signal coming from the input E. This processor is connected to one or more memory units MEM adapted to store information necessary for driving. of the device for coding / decoding. For example, these memory units include instructions for implementing the coding / decoding method described above. These memory units may also include calculation parameters or other information. The processor is also adapted to store results in these memory units. Finally, the device comprises an output S connected to the processor to provide an output signal SIG *.

Bien entendu, on peut avantageusement combiner une ou plusieurs caractéristiques décrites ci-avant dans le cadre de l'objet défini par les revendications suivantes.Of course, it is advantageous to combine one or more features described above in the context of the object defined by the following claims.

Claims (8)

  1. Method for decoding a digital audio signal, comprising the steps:
    - receiving (S110) a transform vector coding a first sequence of samples of the digital audio signal according to a transform-based coding;
    - receiving (S101) a prediction vector coding a second sequence of samples of the digital audio signal according to a coding of CELP type using a long-term prediction;
    the method being characterized in that the second sequence begins before the end of the first sequence, a sub-sequence common to the first and second sequences thus being received coded both by the coding of CELP type using a long-term prediction and by the transform-based coding; and in that it furthermore comprises the steps:
    a) applying (S112) to the transform vector a transform inverse to the transform-based coding so as to decode a sub-sequence of the first sequence not coded by coding of CELP type using a long-term prediction;
    b) decoding (S114) at least in the prediction vector the sub-sequence common to the first and second sequences at least by a decoding of CELP type using a long-term prediction, based on at least one sample arising from step a);
    c) decoding (S115) in the predictive vector by a decoding of CELP type using a long-term prediction a sub-sequence of the second sequence not coded by transform-based coding, based on at least one sample arising from one of steps a) and b).
  2. Method according to Claim 1, characterized in that step b) comprises the sub-steps:
    b1) decoding (S120) in the predictive vector the sub-sequence common to the first and second sequences by a decoding of CELP type using a long-term prediction, based on at least one sample arising from step a);
    b2) applying (S121) to the transform vector a transform inverse to the transform-based coding so as to decode the sub-sequence common to the first and second sequences; and
    b3) decoding (S122) the sub-sequence common to the first and second sequences by combining at least one sample arising from step b1) with a corresponding sample arising from step b2).
  3. Method according to Claim 1, characterized in that step b) comprises the sub-steps:
    b4) decoding (S130) in the predictive vector the sub-sequence common to the first and second sequences by a decoding of CELP type using a long-term prediction, based on at least one sample arising from step a);
    b5) creating (S131) on the basis of at least one sample arising from step b4) a sample containing an aliasing equivalent to a transform-based coding followed by a transform-based decoding;
    b6) applying (S132) to the transform vector a transform inverse to the transform-based coding so as to decode the sub-sequence common to the first and second sequences; and
    b7) decoding (S133) the sub-sequence common to the first and second sequences by combining at least one sample arising from step b5) with a corresponding sample arising from step b6).
  4. Method according to Claim 1, characterized in that step a) comprises the application of a synthesis window comprising at least three parts:
    - a first nominal part,
    - a second substantially zero terminal part,
    - a third continuous intermediate part between the first and second zones,
    and in that at least the second and third parts of the synthesis window are applied to samples coding the sub-sequence common to the two sequences.
  5. Computer program comprising instructions for the implementation of the method according to Claim 1 when the program is executed by a processor.
  6. Entity (DECOD) for decoding a digital audio signal, comprising means (150, 151) for receiving:
    - a transform vector (V_T) coding a first sequence of samples of the digital audio signal according to a transform-based coding; and
    - a prediction vector (V_P) coding a second sequence of samples of the digital audio signal according to a coding of CELP type using a long-term prediction;
    the decoding entity being characterized in that the second sequence begins before the end of the first sequence, a sub-sequence common to the first and second sequences thus being coded both by coding of CELP type using a long-term prediction and by transform-based coding; and in that it furthermore comprises:
    - a first decoder (152, 153) for applying to the transform vector a transform inverse to the transform-based coding so as to decode a sub-sequence of the first sequence not coded by coding of CELP type using a long-term prediction;
    - a second decoder (154) for decoding at least in the predictive vector the sub-sequence common to the first and second sequences at least by a decoding of CELP type using a long-term prediction, based on at least one sample arising from the first transform-based decoder; and
    - a third predictive decoder (155) for decoding in the predictive vector by a decoding of CELP type using a long-term prediction a sub-sequence of the second sequence not coded by transform-based coding, based on at least one sample arising from one of the first and second decoders.
  7. Decoding entity according to Claim 6, characterized in that the second decoder comprises:
    - first means for decoding in the predictive vector the sub-sequence common to the first and second sequences by a decoding of CELP type using a long-term prediction, based on at least one sample restored by the first transform-based decoder;
    - second means for applying to the transform vector a transform inverse to the transform-based coding so as to decode the sub-sequence common to the first and second sequences; and
    - third means for decoding the sub-sequence common to the first and second sequences by combining at least one sample arising from the first means with a corresponding sample arising from the second means.
  8. Decoding entity according to Claim 6, characterized in that the second decoder comprises:
    - first means for decoding in the predictive vector the sub-sequence common to the first and second sequences by a decoding of CELP type using a long-term prediction, based on at least one sample restored by the first transform-based decoder;
    - fourth means for creating an aliasing on the basis of at least one sample arising from the first means equivalent to a transform-based coding followed by a transform-based decoding;
    - fifth means for applying to the transform vector a transform inverse to the transform-based coding so as to decode the sub-sequence common to the first and second sequences; and
    - sixth means for decoding the sub-sequence common to the first and second sequences by combining at least one sample arising from the fourth means with a corresponding sample arising from the fifth means.
EP09755960.3A 2008-10-08 2009-10-05 Method, computer program and device for decoding a digital audio signal Active EP2345029B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0856822A FR2936898A1 (en) 2008-10-08 2008-10-08 CRITICAL SAMPLING CODING WITH PREDICTIVE ENCODER
PCT/FR2009/051888 WO2010040937A1 (en) 2008-10-08 2009-10-05 Critical sampling encoding with a predictive encoder

Publications (2)

Publication Number Publication Date
EP2345029A1 EP2345029A1 (en) 2011-07-20
EP2345029B1 true EP2345029B1 (en) 2015-04-22

Family

ID=40457007

Family Applications (1)

Application Number Title Priority Date Filing Date
EP09755960.3A Active EP2345029B1 (en) 2008-10-08 2009-10-05 Method, computer program and device for decoding a digital audio signal

Country Status (6)

Country Link
US (1) US8880411B2 (en)
EP (1) EP2345029B1 (en)
CN (1) CN102177544B (en)
ES (1) ES2542067T3 (en)
FR (1) FR2936898A1 (en)
WO (1) WO2010040937A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4398246A2 (en) * 2010-07-08 2024-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decoder using forward aliasing cancellation
FR2969805A1 (en) * 2010-12-23 2012-06-29 France Telecom LOW ALTERNATE CUSTOM CODING PREDICTIVE CODING AND TRANSFORMED CODING
FR2992766A1 (en) * 2012-06-29 2014-01-03 France Telecom EFFECTIVE MITIGATION OF PRE-ECHO IN AUDIONUMERIC SIGNAL
PL2951821T3 (en) * 2013-01-29 2017-08-31 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for coding mode switching compensation
FR3024582A1 (en) * 2014-07-29 2016-02-05 Orange MANAGING FRAME LOSS IN A FD / LPD TRANSITION CONTEXT

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010003532A1 (en) * 2008-07-11 2010-01-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding/decoding an audio signal using an aliasing switch scheme

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134518A (en) * 1997-03-04 2000-10-17 International Business Machines Corporation Digital audio signal coding using a CELP coder and a transform coder
WO1999010719A1 (en) * 1997-08-29 1999-03-04 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
ATE302991T1 (en) * 1998-01-22 2005-09-15 Deutsche Telekom Ag METHOD FOR SIGNAL-CONTROLLED SWITCHING BETWEEN DIFFERENT AUDIO CODING SYSTEMS
US6947888B1 (en) * 2000-10-17 2005-09-20 Qualcomm Incorporated Method and apparatus for high performance low bit-rate coding of unvoiced speech
US6658383B2 (en) * 2001-06-26 2003-12-02 Microsoft Corporation Method for coding speech and music signals
US6785645B2 (en) * 2001-11-29 2004-08-31 Microsoft Corporation Real-time speech and music classifier
US20030220800A1 (en) * 2002-05-21 2003-11-27 Budnikov Dmitry N. Coding multichannel audio signals
AU2003272037A1 (en) * 2002-09-24 2004-04-19 Rad Data Communications A system and method for low bit-rate compression of combined speech and music
FR2867649A1 (en) * 2003-12-10 2005-09-16 France Telecom OPTIMIZED MULTIPLE CODING METHOD
CA2457988A1 (en) * 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
ES2291877T3 (en) * 2004-05-17 2008-03-01 Nokia Corporation AUDIO CODING WITH DIFFERENT CODING MODELS.
US7596486B2 (en) * 2004-05-19 2009-09-29 Nokia Corporation Encoding an audio signal using different audio coder modes
US7751572B2 (en) * 2005-04-15 2010-07-06 Dolby International Ab Adaptive residual audio coding
US7418394B2 (en) * 2005-04-28 2008-08-26 Dolby Laboratories Licensing Corporation Method and system for operating audio encoders utilizing data from overlapping audio segments
US20070297624A1 (en) * 2006-05-26 2007-12-27 Surroundphones Holdings, Inc. Digital audio encoding
JP2008096906A (en) * 2006-10-16 2008-04-24 Matsushita Electric Ind Co Ltd Audio signal decoding device and resource access control method
KR101016224B1 (en) * 2006-12-12 2011-02-25 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 Encoder, decoder and methods for encoding and decoding data segments representing a time-domain data stream
CN101548316B (en) * 2006-12-13 2012-05-23 松下电器产业株式会社 Encoding device, decoding device, and method thereof
CN101025918B (en) * 2007-01-19 2011-06-29 清华大学 Voice/music dual-mode coding-decoding seamless switching method
CN101231850B (en) * 2007-01-23 2012-02-29 华为技术有限公司 Encoding/decoding device and method
CN101221766B (en) * 2008-01-23 2011-01-05 清华大学 Method for switching audio encoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010003532A1 (en) * 2008-07-11 2010-01-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding/decoding an audio signal using an aliasing switch scheme

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"3rd Generation Partnership Project; Technical Specification Group Service and System Aspects; Audio codec processing functions; Extended AMR Wideband codec; Transcoding functions (Release 6)", 3GPP STANDARD; 3GPP TS 26.290, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, no. V0.5.6, 1 May 2004 (2004-05-01), pages 1 - 71, XP050370247 *

Also Published As

Publication number Publication date
CN102177544A (en) 2011-09-07
US20110178809A1 (en) 2011-07-21
CN102177544B (en) 2014-07-09
WO2010040937A1 (en) 2010-04-15
FR2936898A1 (en) 2010-04-09
ES2542067T3 (en) 2015-07-30
US8880411B2 (en) 2014-11-04
EP2345029A1 (en) 2011-07-20

Similar Documents

Publication Publication Date Title
EP1989706B1 (en) Device for perceptual weighting in audio encoding/decoding
EP2104936B1 (en) Low-delay transform coding using weighting windows
EP2115741B1 (en) Advanced encoding / decoding of audio digital signals
EP2951813B1 (en) Improved correction of frame loss when decoding a signal
EP2452337B1 (en) Allocation of bits in an enhancement coding/decoding for improving a hierarchical coding/decoding of digital audio signals
EP3175444B1 (en) Frame loss management in an fd/lpd transition context
EP2345029B1 (en) Method, computer program and device for decoding a digital audio signal
EP3103116B1 (en) Improved frequency band extension in an audio signal decoder
EP3069340B1 (en) Transition from a transform coding/decoding to a predictive coding/decoding
EP3175443B1 (en) Determining a budget for lpd/fd transition frame encoding
EP2232489B1 (en) Transform-based coding/decoding, with adaptive windows
EP1275109B1 (en) Spectral enhancing method and device
FR2984580A1 (en) METHOD FOR DETECTING A PREDETERMINED FREQUENCY BAND IN AN AUDIO DATA SIGNAL, DETECTION DEVICE AND CORRESPONDING COMPUTER PROGRAM
WO2023165946A1 (en) Optimised encoding and decoding of an audio signal using a neural network-based autoencoder
EP2589045B1 (en) Adaptive linear predictive coding/decoding
FR2911227A1 (en) Digital audio signal coding/decoding method for telecommunication application, involves applying short and window to code current frame, when event is detected at start of current frame and not detected in current frame, respectively
FR2821475A1 (en) METHOD AND DEVICE FOR SPECTRALLY RECONSTRUCTING MULTI-WAY SIGNALS, ESPECIALLY STEREOPHONIC SIGNALS
FR2980620A1 (en) Method for processing decoded audio frequency signal, e.g. coded voice signal including music, involves performing spectral attenuation of residue, and combining residue and attenuated signal from spectrum of tonal components

Legal Events

Date Code Title Description
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

17P Request for examination filed

Effective date: 20110421

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): 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 SE SI SK SM TR

AX Request for extension of the european patent

Extension state: AL BA RS

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20120308

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 602009030802

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: G10L0019020000

Ipc: G10L0019080000

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RIC1 Information provided on ipc code assigned before grant

Ipc: G10L 19/107 20130101ALN20141024BHEP

Ipc: G10L 19/08 20130101AFI20141024BHEP

Ipc: G10L 19/20 20130101ALN20141024BHEP

Ipc: G10L 19/022 20130101ALN20141024BHEP

Ipc: G10L 19/02 20130101ALI20141024BHEP

RIC1 Information provided on ipc code assigned before grant

Ipc: G10L 19/107 20130101ALN20141111BHEP

Ipc: G10L 19/08 20130101AFI20141111BHEP

Ipc: G10L 19/02 20130101ALI20141111BHEP

Ipc: G10L 19/022 20130101ALN20141111BHEP

Ipc: G10L 19/20 20130101ALN20141111BHEP

INTG Intention to grant announced

Effective date: 20141126

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): 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 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: 723656

Country of ref document: AT

Kind code of ref document: T

Effective date: 20150515

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: 602009030802

Country of ref document: DE

Effective date: 20150603

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2542067

Country of ref document: ES

Kind code of ref document: T3

Effective date: 20150730

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20150422

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 723656

Country of ref document: AT

Kind code of ref document: T

Effective date: 20150422

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 7

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: 20150422

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: 20150824

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: 20150422

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: 20150422

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: 20150722

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: 20150422

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

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: 20150422

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: 20150422

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: 20150723

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: 20150822

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602009030802

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

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: 20150422

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: 20150422

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: RO

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20150422

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: 20150422

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: 20150422

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: 20150422

26N No opposition filed

Effective date: 20160125

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: 20150422

Ref country code: LU

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: 20151005

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

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: 20150422

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: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20151031

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20151031

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 8

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: 20151005

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

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: 20091005

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: 20150422

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: 20150422

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

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: 20150422

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: 20150422

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20151031

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: 20150422

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: 20150422

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 9

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

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: 20150422

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 10

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

Ref country code: IT

Payment date: 20230920

Year of fee payment: 15

Ref country code: GB

Payment date: 20230920

Year of fee payment: 15

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

Ref country code: FR

Payment date: 20230920

Year of fee payment: 15

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

Ref country code: ES

Payment date: 20231102

Year of fee payment: 15

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

Ref country code: DE

Payment date: 20230920

Year of fee payment: 15