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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 38
- 230000005236 sound signal Effects 0.000 title claims description 18
- 238000004590 computer program Methods 0.000 title claims description 7
- 239000013598 vector Substances 0.000 claims description 59
- 230000007774 longterm Effects 0.000 claims description 35
- 230000015572 biosynthetic process Effects 0.000 claims description 26
- 238000003786 synthesis reaction Methods 0.000 claims description 26
- 241001362574 Decodes Species 0.000 claims description 3
- 241000897276 Termes Species 0.000 description 16
- 238000005070 sampling Methods 0.000 description 16
- 230000009466 transformation Effects 0.000 description 16
- 230000007704 transition Effects 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 14
- 239000011159 matrix material Substances 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000005284 excitation Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 101710084218 Master replication protein Proteins 0.000 description 3
- 101710112083 Para-Rep C1 Proteins 0.000 description 3
- 101710112078 Para-Rep C2 Proteins 0.000 description 3
- 102100022881 Rab proteins geranylgeranyltransferase component A 1 Human genes 0.000 description 3
- 102100022880 Rab proteins geranylgeranyltransferase component A 2 Human genes 0.000 description 3
- 101710119887 Trans-acting factor B Proteins 0.000 description 3
- 101710119961 Trans-acting factor C Proteins 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 108091026890 Coding region Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 235000012830 plain croissants Nutrition 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
- G10L19/107—Sparse pulse excitation, e.g. by using algebraic codebook
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/20—Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
Definitions
- the present invention relates to the field of coding 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
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 ;
- 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;
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.
- 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;
- 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;
- 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);
- 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).
- 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;
- 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;
- 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);
- 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).
- 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).
- 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,
- a first nominal part,
- a second terminal portion substantially zero,
- a third intermediate portion continuous between the first and second zones,
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;
- 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.
- 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;
- 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.
- 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.
- 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.
- 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.
On considère un signal sonore numérisé selon une période d'échantillonnage
L'expression de la transformée TDAC au codage de la trame est présentée ci-dessous :
- M représente la taille de la transformée,
- Xl,k sont les échantillons dans le domaine transformé pour la trame t,
-
- 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.
- M represents the size of the transform,
- X l, k are the samples in the transformed domain for the frame t,
-
- 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 :
où
or
L'équation de reconstruction donnant les échantillons décodés peut s'écrire aussi sous la forme suivante :
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 :
A la synthèse, on obtient :
Avec
- 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.
- 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 :
et par analogie en utilisant la trame t=1 :
and by analogy using the t = 1 frame:
Ainsi, si on additionne x̃ 0,M+n et x̃l,n terme à terme on obtient :
Si on veut assurer x̂ 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:
c'est-à-dire
avec
that is to say
with
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
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 x̃ 0 et x̃ 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 x̃ 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 x̃ 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
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.
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
Par construction, comme illustré sur la
- 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,
- hs0 = 0 for n between M + (M + Mo) / 2 and 2M-1, and
- hs1 = 0 for n between 0 and (M-Mo) / 2,
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.
- 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
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 x̃ 0,M+M/2+n issu de la trame T30. On se basera sur la relation :
On aura alors :
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:
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
- x̃ 0,M+n =0 de n= (M+Mo)/2...M-1,
- x̃ 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.
- 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 :
- x̃ l,n =0 entre n=0 et n=(M-Mo)/2,
- x̃ 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.
- 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
- 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.
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
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 :
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
La combinaison linéaire fonctionne suivant le modèle ci-dessous :
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.
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 .
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
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
Dans la
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(z/γ1)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
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
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
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
Ainsi, il est possible par combinaison des échantillons de M à 2M-1 issus respectivement du décodage de
On code ensuite les échantillons de 3M à 4M-1 de x par codage prédictif selon le vecteur de prédiction
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
Ainsi,
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
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
Sur cette figure, on retrouve le signal x, le vecteur de transformée
Cependant, selon la présente invention, le vecteur de prédiction
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
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
Ensuite, on peut utiliser les échantillons de M à 3M-1 complètement décodés pour décoder
Dans la suite, en référence à la
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
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
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 (
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
- 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).
- 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; andb3) 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).
- 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; andb7) 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).
- 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.
- Computer program comprising instructions for the implementation of the method according to Claim 1 when the program is executed by a processor.
- 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.
- 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.
- 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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4398244A3 (en) * | 2010-07-08 | 2024-07-31 | 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 |
CA2979260C (en) * | 2013-01-29 | 2020-07-07 | Martin Dietz | 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)
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)
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 |
US6233550B1 (en) * | 1997-08-29 | 2001-05-15 | The Regents Of The University Of California | Method and apparatus for hybrid coding of speech at 4kbps |
DE69926821T2 (en) * | 1998-01-22 | 2007-12-06 | 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 |
MXPA06012578A (en) * | 2004-05-17 | 2006-12-15 | Nokia Corp | Audio encoding 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 |
WO2008071353A2 (en) * | 2006-12-12 | 2008-06-19 | Fraunhofer-Gesellschaft Zur Förderung Der Angewandten Forschung E.V: | Encoder, decoder and methods for encoding and decoding data segments representing a time-domain data stream |
ES2474915T3 (en) * | 2006-12-13 | 2014-07-09 | Panasonic Intellectual Property Corporation Of America | Encoding device, decoding device and corresponding methods |
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 |
-
2008
- 2008-10-08 FR FR0856822A patent/FR2936898A1/en not_active Withdrawn
-
2009
- 2009-10-05 EP EP09755960.3A patent/EP2345029B1/en active Active
- 2009-10-05 US US13/120,473 patent/US8880411B2/en active Active
- 2009-10-05 CN CN200980140384.4A patent/CN102177544B/en active Active
- 2009-10-05 ES ES09755960.3T patent/ES2542067T3/en active Active
- 2009-10-05 WO PCT/FR2009/051888 patent/WO2010040937A1/en active Application Filing
Patent Citations (1)
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)
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 |
---|---|
US20110178809A1 (en) | 2011-07-21 |
US8880411B2 (en) | 2014-11-04 |
ES2542067T3 (en) | 2015-07-30 |
CN102177544A (en) | 2011-09-07 |
CN102177544B (en) | 2014-07-09 |
EP2345029A1 (en) | 2011-07-20 |
FR2936898A1 (en) | 2010-04-09 |
WO2010040937A1 (en) | 2010-04-15 |
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 | |
EP1997103B1 (en) | Method of coding a source audio signal, corresponding coding device, decoding method and device, signal, computer program products | |
EP2345029B1 (en) | Method, computer program and device for decoding a digital audio signal | |
EP3103116B1 (en) | Improved frequency band extension in an audio signal decoder | |
FR2929466A1 (en) | DISSIMULATION OF TRANSMISSION ERROR IN A DIGITAL SIGNAL IN A HIERARCHICAL DECODING STRUCTURE | |
EP3069340B1 (en) | Transition from a transform coding/decoding to a predictive coding/decoding | |
EP2232489B1 (en) | Transform-based coding/decoding, with adaptive windows | |
EP1275109B1 (en) | Spectral enhancing method and device | |
EP3175443B1 (en) | Determining a budget for lpd/fd transition frame encoding | |
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: 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 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20240919 Year of fee payment: 16 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20240919 Year of fee payment: 16 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: IT Payment date: 20240919 Year of fee payment: 16 |