EP2656343B1 - Tonsignalkodierung mit geringer verzögerung unter alternierender verwendung von prädiktiver kodierung und transformationskodierung - Google Patents
Tonsignalkodierung mit geringer verzögerung unter alternierender verwendung von prädiktiver kodierung und transformationskodierung Download PDFInfo
- Publication number
- EP2656343B1 EP2656343B1 EP11815474.9A EP11815474A EP2656343B1 EP 2656343 B1 EP2656343 B1 EP 2656343B1 EP 11815474 A EP11815474 A EP 11815474A EP 2656343 B1 EP2656343 B1 EP 2656343B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- coding
- frame
- predictive
- mdct
- decoding
- 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 claims description 61
- 230000005236 sound signal Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 230000007704 transition Effects 0.000 description 96
- 238000003786 synthesis reaction Methods 0.000 description 37
- 230000015572 biosynthetic process Effects 0.000 description 36
- 238000004458 analytical method Methods 0.000 description 33
- 230000005284 excitation Effects 0.000 description 32
- 230000009466 transformation Effects 0.000 description 20
- 230000015654 memory Effects 0.000 description 15
- 230000002123 temporal effect Effects 0.000 description 15
- 230000003595 spectral effect Effects 0.000 description 12
- 230000003044 adaptive effect Effects 0.000 description 11
- 238000013139 quantization Methods 0.000 description 11
- 239000000523 sample Substances 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000000630 rising effect Effects 0.000 description 9
- 238000001228 spectrum Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000005562 fading Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000011002 quantification Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002301 combined effect Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- OVOUKWFJRHALDD-UHFFFAOYSA-N 2-[2-(2-acetyloxyethoxy)ethoxy]ethyl acetate Chemical compound CC(=O)OCCOCCOCCOC(C)=O OVOUKWFJRHALDD-UHFFFAOYSA-N 0.000 description 2
- 240000008042 Zea mays Species 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000005311 autocorrelation function Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000021183 entrée Nutrition 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- 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/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
-
- 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/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
-
- 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
-
- 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
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 short-term linear prediction to model the vocal tract, a long-term prediction to model the vibration of vocal cords in voiced period, and an excitation derived from a fixed dictionary (white noise, algebraic excitation) to represent the "innovation" which could not be modeled.
- critical-sampling transform is a transform for which the number of coefficients in the transformed domain is equal to the number of time samples analyzed.
- This technique is based on a CELP technology of the AMR-WB type, more specifically of the ACELP type (for "Algebraic Code Excited Linear Prediction") and a transform coding based on an overlapping Fourier transform in a TCX type model. (for "Transform Coded Excitement” in English).
- ACELP coding and TCX coding are both linear predictive type techniques. It should be noted that the AMR-WB + codec has been developed for 3GPP PSS (for "Packet Switched Streaming" in English), MBMS (for “Multimedia Broadcast / Multicast Service”) and MMS (for “Multimedia Messaging Service”). “in English), in other words for broadcast and storage services, without strong constraints on algorithmic delay.
- PSS Packet Switched Streaming
- MBMS for “Multimedia Broadcast / Multicast Service”
- MMS Multimedia Messaging Service
- the windows used in this encoder are not optimal vis-à-vis the concentration of energy: the frequency forms of these quasi-rectangular windows are sub-optimal.
- AMR-WB + coding combined with the principles of MPEG AAC coding (for "Advanced Audio Coding” in English) is given by the MPEG USAC codec (for "Unified Speech Audio Coding"), which is still in the process of development to ISO / MPEG.
- the applications targeted by MPEG USAC are not conversational, but correspond to broadcast and storage services, without strong constraints on the algorithmic delay.
- the major differences brought by the USAC RM0 coding for the mono part are the use of a MDCT type critical decimation transform for transform coding and quantization of the MDCT spectrum by scalar quantization with arithmetic coding.
- the acoustic band coded by the different modes depends on the mode selected, which is not the case in the AMR-WB + codec where the ACELP and TCX modes operate at the same time. internal sampling frequency.
- the mode decision in the USAC RM0 codec is performed in open loop (or "open-loop" in English) for each frame of 1024 samples.
- a closed loop decision is made by executing the different coding modes in parallel and choosing a posteriori the mode that gives the best result according to a predefined criterion.
- the decision is made a priori based on available data and observations but without testing whether this decision is optimal or not.
- the MDCT window is divided into 4 adjacent portions of equal lengths M / 2, called "quarters".
- the signal is multiplied by the analysis window and folds are made: the first quarter (windowed) is folded (ie inverted in time and overlapped) on the second quarter and the fourth quarter is folded on the third.
- folding from one quarter to another is done in the following way: The first sample of the first quarter is added (or subtracted) to the last sample of the second quarter, the second sample of the first quarter is added (or subtracted) the second-last sample in the second quarter, and so on until the last sample of the first quarter that is added (or subtracted) to the first sample of the second quarter.
- the decoded version of these folded signals is thus obtained.
- Two consecutive frames contain the result of 2 different folds of the same quarters, that is to say for each pair of samples one has the result of 2 linear combinations with different but known weights: an equation system is thus solved to obtain the decoded version of the input signal, the time folding can be thus removed using 2 consecutive decoded frames.
- the resolution of the systems of equations mentioned is generally made by unfolding, multiplication by a wisely selected synthesis window then addition-recovery of the common parts.
- This overlap addition ensures at the same time the smooth transition (without discontinuity due to quantization errors) between two consecutive decoded frames, in fact this operation behaves like a crossfade.
- the window for the first quarter or fourth quarter is zero for each sample, we are talking about an MDCT transformation without time folding in this part of the window.
- the smooth transition is not ensured by the MDCT transformation, it must be done by other means such as for example an external crossfade.
- implementation variants of the MDCT transformation exist, in particular on the definition of the DCT transform, on how to temporally fold the block to be transformed (for example, it is possible to reverse the applied signs to the quarters folded to the left and right, or to fold the second and third quarter on respectively the first and fourth quarters), etc. These variants do not change the principle of the MDCT analysis-synthesis with the reduction of the sample block by windowing, temporal folding then transformation and finally windowing, folding and addition-recovery.
- a transition window for the FD mode is used with a left overlap of 128 samples, as shown in figure 1 .
- the temporal folding on this overlapping zone is canceled by introducing an "artificial" time folding to the right of the reconstructed ACELP frame.
- the MDCT window used for the transition has a size of 2304 samples and the DCT transformation operates on 1152 samples whereas normally FD mode frames are coded with a window size of 2048 samples and a DCT transformation of 1024 samples.
- the MDCT transformation of the normal FD mode is not directly usable for the transition window, the encoder must also integrate a modified version of this transformation which complicates the implementation of the transition for the FD mode.
- the present invention improves the situation.
- the method is such that a first part of the current frame is coded by a predictive coding restricted with respect to the predictive coding of the preceding frame by reusing at least one parameter of the predictive coding of the preceding frame and coding only the non-predictive parameters. reused from this first part of the current frame.
- a transition frame is thus provided.
- the fact that the first part of the current frame is also coded by predictive coding makes it possible to recover folding terms that it would not be possible to recover solely by transform coding since the transform coding memory for this frame of transition is not available, the previous frame has not been transformed-encoded.
- this frame part does not induce additional delay since this first part is at the beginning of the transition frame.
- this type of coding makes it possible to remain with a weighting window size of identical length for the transform coding whether for the coding of the transition frame or for the coding of the other frames coded by transform. The complexity of the coding method is therefore reduced.
- the restricted predictive coding uses a prediction filter copied from the preceding predictive coding frame.
- transform coding is generally selected when the coded segments are quasi-stationary.
- the spectral envelope parameter of the signal can be reused from one frame to another for a duration of a part of the frame, for example, a sub-frame, without having a significant impact on the quality of the coding.
- the use of the prediction filter used for the previous frame does not, therefore, affect the quality of the coding and makes it possible to dispense with additional bits for the transmission of its parameters.
- the restricted predictive coding further uses a decoded value of the pitch and / or its associated gain of the previous predictive coding frame.
- certain predictive coding parameters used for the restricted predictive coding are quantized in differential mode with respect to decoded parameters of the preceding predictive coding frame.
- the method comprises a step of obtaining the reconstructed signals resulting from predictive local codings and decodings and by transforming the first sub-frame of the current and combination frame by a cross-fading of these reconstructed signals.
- the coding transition in the current frame is smooth and does not induce troublesome artifacts.
- said crossfade of the reconstructed signals is performed on a portion of the first part of the current frame as a function of the shape of the transform coding weighting window.
- said crossfade of the reconstructed signals is performed on a portion of the first part of the current frame, said portion not containing time folding.
- the transform coding uses a weighting window comprising a chosen number of successive weighting coefficients of zero value at the end and at the beginning of the window.
- the transform coding uses an asymmetric weighting window comprising a chosen number of successive weighting coefficients of zero value in at least one end of the window.
- the decoding method is the counterpart of the coding method and provides the same advantages as those described for the coding method.
- the decoding method comprises a step of combining by crossfading the decoded signals by inverse transform and by restricted predictive decoding for at least a portion of the first part of the current frame received and encoded according to a restricted predictive coding, reusing at least one parameter of the predictive decoding of the previous frame and decoding only the parameters received for this first part of the current frame.
- the restricted predictive decoding uses a prediction filter decoded and used by the predictive decoding of the previous frame.
- the restricted predictive decoding furthermore uses a decoded value of the pitch and / or its associated gain of the predictive decoding of the preceding frame.
- the invention relates to a computer program comprising code instructions for implementing the steps of the encoding method as described above and / or decoding as described above, when these instructions are executed by a processor.
- the invention also relates to a storage means, readable by a processor, whether or not integrated into the encoder or decoder, possibly removable, storing a computer program implementing an encoding method and / or a decoding method as described. previously.
- the figure 2 represents a multi-mode encoder CELP / MDCT in which the coding method according to the invention is implemented.
- This figure shows the coding steps performed for each signal frame.
- the input signal denoted x ( n ')
- the frame length is 20 ms.
- the invention is generalized to cases where other sampling frequencies are used, for example for super-wide band signals sampled at 32 kHz, possibly with a split into two subbands to apply the invention in the band. low.
- the frame length is here chosen to correspond to that of the mobile encoders such as 3GPP AMR and AMR-WB, however other lengths are also possible (example: 10 ms).
- This input signal is first filtered by a high-pass filter (block 200), in order to attenuate frequencies below 50 Hz and eliminate the DC component, and then downsampled to the internal frequency of 12.8 kHz (block 201) to obtain a frame of the signal, s (n) of 256 samples.
- the decimation filter (block 201) is produced at a low delay by means of a finite impulse response filter (typically of order 60).
- the current frame, s (n) of 256 samples is encoded according to the preferred embodiment of the invention by a CELP coder inspired by multi-rate ACELP coding (from 6.6 to 23.05 kbit / s) at 12.8 kHz described in 3GPP TS 26.190 or equivalent ITU-T G.722.2 - this algorithm is called AMR-WB (for "Adaptive MultiRate - WideBand").
- AMR-WB for "Adaptive MultiRate - WideBand"
- the successive frames of 20 ms contain 256 temporal samples at 12.8 kHz.
- the CELP coder divides each 20 ms frame into 4 subframes of the 5 ms and the quantized LPC filter corresponds to the last (fourth) subframe.
- the block 211 corresponds to the CELP coding at 8 kbit / s described in the ITU-T G.718 standard according to one of the four possible CELP coding modes: unvoiced mode (UC), voiced mode (VC), transition mode (TC) or generic mode (GC).
- UC unvoiced mode
- VC voiced mode
- TC transition mode
- GC generic mode
- another embodiment of the CELP coding is chosen, for example the ACELP coding in the mode interoperable with the AMR-WB coding of the ITU-T G.718 standard.
- the representation of the LPC coefficients in the form of ISF can be replaced by the spectral line pairs (LSF) or other equivalent representations.
- block 211 delivers the CELP coded I CELP indices to be multiplexed in the bit stream.
- This window is illustrated at figure 3a .
- This window applies to the current frame of 20 ms as well as to a future signal "lookahead" of 5 ms. It will be noted that the MDCT coding is therefore synchronized with the CELP coding insofar as the MDCT decoder can reconstruct by addition-overlap the entirety of the current frame, thanks to the overlap on the left and the intermediate "flat” of the MDCT window, and it also has an overlap on the future 5 ms frame. It is noted here for this window that the current MDCT frame induces a temporal folding on the first part of the frame (in fact on the first 5 ms) where the recovery takes place.
- B tot the total bit budget allocated in each frame to the MDCT coding.
- the discrete spectrum S (k) is divided into subbands, then a spectral envelope, corresponding to the rms (for "root mean square” in English, that is to say the square root of the average energy ) per subband, is quantized in the logarithmic domain in steps of 3 dB and coded by entropy coding.
- the bit budget used by this envelope coding is noted here B env ; it is variable because of entropy coding.
- a predetermined number of bits denoted B inj (budget function B tot ) is reserved for the coding of noise injection levels in order to "fill" the coded coefficients. at a value of zero by noise and hide artifacts of "musical noise” that would otherwise be audible.
- the S ( k ) spectrum subbands are encoded by spherical vector quantization with the remaining budget of B tot - B env - B inj bit. This quantization is not detailed, as is the adaptive allocation of the bits by sub-bands, since these details go beyond the scope of the invention.
- the block 221 delivers the MDCT indices coded I MDCT to be multiplexed in the bitstream.
- the folded area of the start of the frame corresponds to the area of the signal in the MDCT frame which is disturbed by the time folding inherent in the MDCT transformation.
- the first frame is coded by the CELP mode and can be completely reconstructed by the CELP decoder (local or remote).
- the second frame is coded by the MDCT mode; this second frame is considered to be the current frame.
- the overlap area on the left side of the MDCT window is problematic because the complementary part (with time folding) of this window is not available since the previous frame has not been coded by MDCT. Folding in this left part of the MDCT window can not be deleted.
- the coding method comprises a step of encoding a block of samples of length less than or equal to the length of the frame, chosen for example as an additional subframe of 5 ms, in the transform coded current frame (MDCT), representing the left folding area of the current frame, by a transition predictive coder or restricted predictive coding.
- MDCT transform coded current frame
- the type of coding in the frame preceding the transition MDCT frame could be another type of coding than the CELP coding, for example an ADPCM or a TCX coding.
- the invention applies in the general case where the previous frame has been coded by a coding not updating the MDCT memories in the signal domain and the invention involves coding a block of samples corresponding to a portion of the signal. the current frame by a transition coding using the information of the coding of the previous frame.
- the transition predictive coding is restricted compared to the predictive coding of the previous frame; It consists in using the stable parameters of the previous frame coded by a predictive coding and coding only a few minimal parameters for the additional subframe in the current transition frame.
- this restricted predictive coding reuses at least one parameter of the predictive coding of the preceding frame and therefore encodes only the parameters that are not reused. In this sense, one can speak of a restricted coding (by the restriction of the coded parameters).
- the mixed line correspond to the MDCT coding folding lines and the lines of folding of MDCT decoding.
- the bold lines separate the frames at the arrival of the encoder, it is possible to start the encoding of a new frame when a frame thus defined is entirely available. It is important to note that these bold lines in the encoder do not correspond to the current frame but to the block of new samples arriving for each frame; the current frame is in fact delayed by 5 ms. At the bottom, the bold lines separate the decoded frames at the output of the decoder.
- the specific processing of the transition frame corresponds to blocks 230 to 232 and block 240 of the figure 2 .
- This processing is performed when the previous mode, noted pre mode, that is to say the type of coding of the previous frame (CELP or MDCT), is of type CELP.
- This restricted predictive coding has the following steps.
- the filter ((z) of the first subframe is for example obtained by copying the filter ((z) of the fourth subframe of the previous frame. This saves the calculation of this filter and saves the number of bits associated with its coding in the bit stream.
- the pitch (for reconstructing the adaptive excitation by using the past excitation) is calculated in a closed loop for this first sub-transition frame. This is coded in the bitstream, possibly differentially with respect to the pitch of the last sub-frame CELP.
- the pitch value of the last CELP frame can also be reused, without transmitting it.
- a bit is allocated to indicate whether the adaptive excitation v ( n ) was filtered or not by a coefficient low-pass filter (0.18, 0.64, 0.18). However, the value of this bit could be taken from the last previous CELP frame.
- the search for the algebraic excitation of the sub-frame is performed in a closed loop only for this transition sub-frame, and the coding of the positions and signs of the excitation pulsations are coded in the bit stream, again with a number of bits depending on the encoder rate.
- the gains ⁇ p , ⁇ c respectively associated with adaptive and algebraic excitation are encoded in the bit stream.
- the number of bits allocated to this coding depends on the rate of the encoder.
- Block 231 also provides the parameters of the restricted predictive coding, I TR , to be multiplexed in the bitstream. It is important to note that block 231 uses information, noted Mem. in the figure, the coding (block 211) carried out in the frame preceding the transition frame. For example, the information includes the LPC and pitch parameters of the last subframe.
- the fade-in between the two signals is here 5 ms, but it can be smaller.
- the CELP coder and the MDCT encoder are perfect or almost perfect reconstruction, we can even do without cross-fade, in fact the first 5 milliseconds of the frame are coded perfectly (by the restricted CELP), and the next 15ms are also coded perfectly (by the MDCT encoder). Artifact attenuation by dissolving is theoretically no longer necessary.
- n ⁇ 0 and n> 255 we do not specify here for n ⁇ 0 and n> 255.
- n ⁇ 0 the value of w (n) is zero and for n> 255 the windows are determined by the analysis and synthesis windows MDCT used for the MDCT coding "Normal".
- n ⁇ 0 and n> 255 we do not specify here for n ⁇ 0 and n> 255.
- n ⁇ 0 the value of w (n) is zero and for n> 255 the windows are determined by the analysis and synthesis windows MDCT used for the MDCT coding "Normal".
- n ⁇ 0 and n> 255 the values are determined by the analysis and synthesis windows MDCT used for "normal" MDCT coding.
- the encoder operates with a closed-loop mode decision.
- the multiplexer 260 combines the coded decision I SEL and the different bits coming from the coding modules in the bit stream bst as a function of the decision of the module 254: For a CELP frame the I CELP bits are sent, for a purely MDCT frame the bits I MDCT and for a transition frame CELP to MDCT the bits I TR and I MDCT .
- the decoder according to one embodiment of the invention is illustrated on the figure 5 .
- the demultiplexer (block 511) receives the bit stream bst and first extracts the mode index I SEL . This index controls the operation of the decoding modules and the switch 509. If the I SEL index indicates a CELP frame, the CELP decoder 501 is activated and decodes the CELP I CELP indices.
- the reconstructed signal s CELP (n) by the CELP decoder 501 by reconstructing the excitation u (n) g p v (n) + g c c (n), u optionally aftertreatment (n), and filter the quantized synthesis filter 1 / ⁇ ( z ) is de-emphasized by the transfer function filter 1 / (1- ⁇ z -1 ) (block 502) to obtain the decoded signal CELP ⁇ CECP ( n ).
- the decoder reuses at least one predictive decoding parameter of the previous frame to decode a first portion of the transition frame. It also uses the only parameters received for this first part which correspond to the parameters not reused.
- the output of block 505 is deemphasized by the transfer function filter 1 / (1- ⁇ z -1 ) (block 506) to obtain the signal reconstructed by the restricted predictive coding ⁇ TR ( n ).
- This processing (block 505 to 507) is performed when the previous mode, noted pre mode, that is to say the type of decoding of the previous frame (CELP or MDCT), is of CELP type.
- a transition frame the signals ⁇ TR ( n ) and ⁇ MDCT ( n ) are combined by the block 507, typically a crossfade operation, as described above for the encoder implementing the invention, is carried out in the first part of the frame to obtain the signal ⁇ MDCT ( n ).
- MDCT ( n ) MDCT ( n ).
- the reconstructed signal x ( n ) at 16 kHz is obtained by oversampling from 12.8 kHz to 16 kHz (block 510). This rate change is considered to be performed using a polyphase finite impulse response filter (order 60).
- the samples corresponding to the first subframe of the current frame coded by transform coding are coded by a restricted predictive coder to the detriment of the bits available to transform coding (case of constant flow rate) or by increasing the transmitted flow rate (variable flow rate).
- the folded area is used only for crossfading which provides a smooth and seamless transition between CELP reconstruction and MDCT reconstruction.
- this cross-fade can be performed on the second part of the folded area or the folding effect is less strong.
- This variant can not be transparent even if this low-rate disturbance is quite acceptable and generally almost inaudible compared to the intrinsic degradation of the low-rate coding.
- a left-folding MDCT can be used, with a rectangular window starting in the middle of the subframe on the fold line.
- the figure 4c illustrates another variant where the upward portion of the window (with time folding) on the left is shortened (for example to 2.5 ms) and thus the first 5 milliseconds of the signal reconstructed by the MDCT mode contain a portion (1.25 ms) without folding to right in this first 5 ms subframe.
- the "flat" (that is, the constant value at 1 without folding) of the MDCT window is extended to the left in the subframe coded by the restricted predictive coding by comparing with the configuration of the figure 4a .
- the fade-in of these reconstructed signals is performed on the part of the window where the reconstructed signal resulting from the transform coding of the first part of the current frame has no time folding.
- the advantage of this variant compared to that illustrated on the figure 4b is the best spectral property of the window used and the decrease of the block effects, without the rectangular part.
- the variant of figure 4b is an extreme case of the variant of the figure 4c where the rising portion of the window (with time folding) on the left is shortened to 0.
- the length of the rising portion of the window (with time folding) on the left depends on the flow rate: for example it is shortened with the increase of the flow rate.
- the weights of the crossfade used in this case can be adapted to the chosen window.
- MDCT windows include a chosen number of successive zero-weighting coefficients at the end and at the beginning of the window.
- the invention is also applicable for the case where conventional MDCT (sinusoidal) weighting windows are used.
- the fade-in has been presented in the examples given above with linear weights. Obviously other functions of variation of the weights can also be used as the rising edge of a sinusoidal function for example. In general, the weight of the other component is always chosen so that the sum of the two weights is always equal to one.
- the weight of the cross-fading of the MDCT component can be integrated in the MDCT synthesis weighting window of the transition frame for all the variants presented, by multiplying the synthesis weighting window MDCT by the fade-in weights , which reduces the complexity of calculation.
- the transition between the restricted predictive coding component and the transform coding component is done by adding on the one hand the predictive coding component multiplied by the crossfade weights and on the other hand the transform coding component. thus obtained, without additional weighting by the weights.
- the integration of the fade-in weights can be done in the analysis weighting window. This can advantageously be done in the variant of figure 4b because the cross-fade area is entirely in the non-folding portion of the frame and the original scan weighting window was zero for samples preceding the folding area.
- the rising portion of the analysis / transition synthesis weighting window is in the non-folding zone (after the folding line).
- This rising part is here defined as a quarter of sinusoidal cycle, so that the combined effect of the analysis / synthesis windows implicitly gives fade weights in the form of a sine squared.
- This rising part is used for both MDCT windowing and cross fading.
- the fade-in weights for the restricted predictive coding component are complementary to the rising portion of the combined analysis / synthesis weighting windows, so that the sum of the two weights always gives 1 on the cross-fade area. is done.
- the weights of the crossfade for the restricted predictive coding component are therefore in the form of a cosine squared (1 minus Sine squared)
- the weights of the crossfade are integrated into both the analysis and synthesis weighting window of the transition frame.
- the variant illustrated in figure 4d allows to reach the perfect reconstruction with high flow because the dissolve is carried out on a zone without time folding.
- the invention is also applicable to the case where MDCT windows are asymmetrical and in case the MDCT analysis and synthesis windows are not identical as in the ITU-T G.718 standard.
- MDCT windows are asymmetrical and in case the MDCT analysis and synthesis windows are not identical as in the ITU-T G.718 standard.
- the figure 4e Such an example is given on the figure 4e .
- the left side of the transition MDCT window (in bold in the figure) and the fade-in weights are identical to those of the figure 4d .
- the window and the dissolve corresponding to the other modes of realization already presented could also be used in the left part of the transition window.
- the right part of the transition analysis window is identical to the right part of the analysis window MDCT normally used and, at the decoder, the right part of the MDCT transition summary window is identical with the right part of the MDCT synthesis window normally used.
- the left side of the transition MDCT weighting window we use the left part of one of the MDCT transition windows already presented to the Figures 4a to 4d (in the example of the figure 4e we use that of the figure 4d ).
- weights of the cross-fade are chosen according to the window used, as detailed in the embodiments of the invention described above (for example on Figures 4a to 4d ).
- the left half of the MDCT analysis weighting window used is chosen such that the right part of the zone corresponding to this half of the window comprises no temporal aliasing (for example according to one of the examples of Figures 4a to 4e ) and the left half of the corresponding MDCT synthesis weighting window is chosen in such a way that after the combined effect of the analysis and synthesis windows this non-folding zone has a weight 1 at least on the right side (without any mitigation).
- the Figures 4a to 4e show examples of pairs of analysis and synthesis windows that verify these criteria.
- the left half of the transition MDCT weighting window is identical to the analysis and the synthesis, but this is not necessarily the case in all embodiments of the invention.
- the synthesis window shape in the area where the weight of the MDCT component in the crossfade is zero is not important because these samples will not be used, it must not even be calculated.
- the contribution of the analysis and synthesis windows in the weights of the crossfade can be equally unequally distributed, which would give different analysis and synthesis windows in the left half of the MDCT weighting window. transition.
- the right half of the transition analysis and synthesis windows they are identical with those of the MDCT weighting windows normally used in the only areas encoded by transform coding.
- the cross-fade between the signal reconstructed by the restricted predictive decoder and the signal reconstructed by the transform decoder must be performed on a zone without temporal folding. .
- the combined effect of the analysis and synthesis windows can implicitly integrate the weights of the cross-fade of the component reconstructed by the transform decoder.
- the MDCT mode is generally selected in quasi-stationary segments where the frequency domain coding is more efficient than in the time domain.
- the mode decision is taken in open loop or driven externally to the encoder, without guarantee that the hypothesis of stationarity is verified.
- the quantized synthesis filter 1 / A ( z ) transmitted during the previous frame, representing the spectral envelope of the signal can be reused in order to save bits for the MDCT coding.
- the last synthesis filter transmitted in the CELP mode (the closest to the signal to be coded) is used.
- the information used to code the signal in the transition frame is: the pitch (associated with the long-term excitation), the excitation vector (or innovation) as well as the associated gain (s) to excitement.
- the decoded value of the pitch and / or its gain associated with the last sub-frame can also be reused because these parameters are also changing slowly in the stationary zones. This further reduces the amount of information to be transmitted during a transition from CELP to MDCT.
- One of the desired properties of the transition from CELP to MDCT is that at asymptotically high rate, when the CELP and MDCT coders are almost perfect reconstruction, the coding performed in the transition frame (MDCT frame following a CELP frame) must be himself with almost perfect reconstruction.
- the variants illustrated on the Figures 4b and 4c ensures almost perfect reconstruction at very high speed.
- the number of bits allocated to these parameters of the restricted predictive coding may be variable and proportional to the total bit rate.
- the MDCT encoding principle is modified so that no time-to-left backward folding is used in the MDCT window of the transition frame.
- This variant involves using a modified version of the DCT transformation at the heart of the MDCT transformation because the length of the folded signal is different, since the time folding (reducing the size of the block) is only performed on the right.
- the invention is described in Figures 4a to 4d for the simplified case of identical MDCT analysis and synthesis windows in each frame (except the transition frame) coded by the MDCT mode.
- the MDCT window may be asymmetrical as illustrated in FIG. figure 4e .
- the MDCT coding may use a window switching between at least one "long" window of typically 20-40 ms and a series of short windows of typically 5-10 ms ("window switching" in English).
- the invention provides for the transmission of at least one bit to indicate a transition mode different from the method described above, in order to keep more CELP parameters and / or CELP subframes to be coded in the frame of transition from CELP to MDCT.
- a first bit may indicate whether in the remainder of the bit stream the LPC filter is coded or the last received version may be used at the decoder, and another bit may signal the same for the pitch value. In the case where the encoding of a parameter is deemed necessary this can be done in differential with respect to the value transmitted in the last frame.
- the coding method according to the invention can be illustrated in the form of a flowchart as shown in FIG. figure 6a .
- the current frame is a transition frame between predictive coding and transform coding.
- step E602 a restricted predictive coding is applied to a first part of the current frame. This predictive coding is restricted compared to the predictive coding used for the previous frame.
- the MDCT coding of the current frame is performed in step E603, in parallel for the entire current frame.
- the method comprises a step of cross-fading in step E604, after reconstruction of the signals, making it possible to perform a smooth transition between the predictive coding and the transform coding in the transition frame.
- a reconstructed signal ⁇ MDCT (n) is obtained.
- the decoding method When at the decoding, a previous frame has been decoded according to a predictive type decoding method and the current frame is to be decoded according to a transform type decoding method (verification in E605), the decoding method includes a decoding step by a restricted predictive decoding of a first part of the current frame, in E606. It also comprises a step of decoding by transforming the current frame into E607.
- a step E608 is then performed, according to the embodiments described above, to effect a combination of the decoded signals obtained, respectively ⁇ TR ( n ) and ⁇ MDCT ( n ), by fade-out over all or part of the current frame and thus obtain the decoded signal ⁇ MDCT (n) of the current frame.
- the invention has been presented in the specific case of a transition from CELP to MDCT. It is obvious that this invention also applies in the case where the CELP coding is replaced by another type of coding, such as ADPCM, TCX, and where a transition coding on a part of the transition frame is performed using the encoding information of the frame preceding the transition MDCT frame.
- CELP coding is replaced by another type of coding, such as ADPCM, TCX, and where a transition coding on a part of the transition frame is performed using the encoding information of the frame preceding the transition MDCT frame.
- This device DISP comprises an input for receiving a digital signal SIG which in the case of the encoder is an input signal x (n ') and in the case of the decoder, the bit stream bst.
- the device also comprises a processor PROC of digital signals adapted to perform coding / decoding operations in particular on a signal from the input E.
- This processor is connected to one or more memory units MEM adapted to store information necessary for controlling the device for the device.
- coding / decoding comprise instructions for implementing the coding method described above and in particular for implementing the steps of coding a previous frame of samples of the digital signal according to a predictive coding, coding of a current frame of samples of the digital signal according to a transform coding, such that a first part of the current frame is coded by a predictive coding restricted with respect to the predictive coding of the preceding frame, when the device is encoder type.
- these memory units comprise instructions for implementing the decoding method described above and in particular for implementing the predictive decoding steps of a previous frame of samples of the digital signal. received and coded according to a predictive coding, inverse transform decoding of a current frame of samples of the received digital signal and encoded by transform coding, and further a decoding step by a predictive decoding restricted with respect to the predictive decoding of the previous frame of a first part of the current frame.
- These memory units may also include calculation parameters or other information.
- a storage means readable by a processor, integrated or not integrated into the encoder or decoder, possibly removable, stores a computer program implementing an encoding method and / or a decoding method according to the invention.
- the Figures 6a and 6b can for example illustrate the algorithm of such a computer program.
- the processor is also adapted to store results in these memory units.
- the device comprises an output S connected to the processor for providing an output signal SIG * which in the case of the encoder is a signal in the form of a bit stream bst and in the case of the decoder, an output signal x ( n ' ).
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
La présente invention concerne le domaine du codage 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 linéaire à court-terme pour modéliser le conduit vocal, une prédiction à long-terme pour modéliser la vibration des cordes vocales en période voisée, et une excitation dérivée d'un dictionnaire fixe (bruit blanc, excitation algébrique) pour représenter l' "innovation" qui n'a pas pu être modélisée.CELP coders are predictive coders. They aim to model the production of speech from various elements: a short-term linear prediction to model the vocal tract, a long-term prediction to model the vibration of vocal cords in voiced period, and an excitation derived from a fixed dictionary (white noise, algebraic excitation) to represent the "innovation" which could not be modeled.
Les codeurs par transformée les plus utilisés (codeur MPEG AAC ou ITU-T G.722.1 Annexe C par exemple) utilisent des transformées à échantillonnage critique afin de compacter le signal dans le domaine transformé. On appelle « transformée à échantillonnage critique », une transformée pour laquelle le nombre de coefficients dans le domaine transformé est égal au nombre d'échantillons temporels analysés.The most commonly used transform coders (MPEG AAC encoder or ITU-T G.722.1 Annex C for example) use critical-sampling transforms to compact the signal in the transformed domain. A "critical-sampling transform" is a transform for which the number of coefficients in the transformed domain is equal to the number of time samples analyzed.
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 Generation Partnership Project »), et une technique nommée AMR WB+ a été proposée.One solution for effectively coding a signal containing these two types of content is to select the best technique over time. This solution has been recommended by the standardization organization 3GPP ("3rd Generation Partnership Project"), and a technique called AMR WB + has been proposed.
Cette technique est basée sur une technologie CELP de type AMR-WB, plus spécifiquement de type ACELP (pour " Algebraic Code Excited Linear Prédiction" en Anglais) et un codage par transformée basé sur une transformée de Fourier à recouvrement dans un modèle de type TCX (pour " Transform Coded excitation" en anglais).This technique is based on a CELP technology of the AMR-WB type, more specifically of the ACELP type (for "Algebraic Code Excited Linear Prediction") and a transform coding based on an overlapping Fourier transform in a TCX type model. (for "Transform Coded Excitement" in English).
Le codage ACELP et le codage TCX sont tous les deux des techniques de type linéaire prédictif. Il est à noter que le codec AMR-WB+ a été développé pour les services 3GPP PSS (pour "Packet Switched Streaming" en anglais), MBMS ( pour "Multimedia Broadcast/Multicast Service" en anglais) et MMS (pour "Multimedia Messaging Service" en anglais), autrement dit pour des services de diffusion et stockage, sans contraintes fortes sur le retard algorithmique.ACELP coding and TCX coding are both linear predictive type techniques. It should be noted that the AMR-WB + codec has been developed for 3GPP PSS (for "Packet Switched Streaming" in English), MBMS (for "Multimedia Broadcast / Multicast Service") and MMS (for "Multimedia Messaging Service"). "in English), in other words for broadcast and storage services, without strong constraints on algorithmic delay.
Cette solution souffre d'une qualité insuffisante sur la musique. Cette insuffisance vient particulièrement du codage par transformée. En particulier, 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. In particular, 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 quasi-rectangulaires sont sous-optimales.In addition, the windows used in this encoder are not optimal vis-à-vis the concentration of energy: the frequency forms of these quasi-rectangular windows are sub-optimal.
Une amélioration du codage AMR-WB+ combinée avec les principes du codage MPEG AAC (pour "Advanced Audio Coding" en anglais) est donnée par le codec MPEG USAC (pour "Unified Speech Audio Coding" en anglais), qui est encore en cours de développement à l'ISO/MPEG. Les applications visées par MPEG USAC ne sont pas conversationnelles, mais correspondent à des services de diffusion et stockage, sans contraintes fortes sur le retard algorithmique.An improvement of AMR-WB + coding combined with the principles of MPEG AAC coding (for "Advanced Audio Coding" in English) is given by the MPEG USAC codec (for "Unified Speech Audio Coding"), which is still in the process of development to ISO / MPEG. The applications targeted by MPEG USAC are not conversational, but correspond to broadcast and storage services, without strong constraints on the algorithmic delay.
La version initiale du codec USAC, appelée RM0 (Référence Model 0), est décrite dans l'article de
- Pour les signaux de type parole: modes LPD (pour "Linear Prédictive Domain" en anglais) comprenant deux modes différents dérivés du codage AMR-WB+:
- Un mode ACELP
- Un mode TCX appelé wLPT (pour "weighted Linear Prédictive Transform" en anglais) utilisant une transformée de type MDCT (contrairement au codec AMR-WB+).
- Pour les signaux de type musique: mode FD (pour "Frequency Domain" en anglais) utilisant un codage par transformée MDCT (pour "Modified Discrete Cosine Transform" en anglais) de type MPEG AAC (pour "Advanced Audio Coding" en anglais) sur 1024 échantillons.
- For speech type signals: LPD (for Linear Predictive Domain) modes comprising two different modes derived from the AMR-WB + coding:
- ACELP mode
- A TCX mode called wLPT (for "weighted Linear Predictive Transform" in English) using an MDCT-type transform (unlike the AMR-WB + codec).
- For music type signals: FD mode (for "Frequency Domain" in English) using a transform coding MDCT (for "Modified Discrete Cosine Transform" in English) MPEG AAC type (for "Advanced Audio Coding" in English) on 1024 samples.
Comparativement au codec AMR-WB+ les différences majeures apportées par le codage USAC RM0 pour la partie mono sont l'utilisation d'une transformée à décimation critique de type MDCT pour le codage par transformée et la quantification du spectre MDCT par quantification scalaire avec codage arithmétique. Il est à noter que la bande acoustique codée par les différents modes (LPD, FD) dépend du mode sélectionné, ce qui n'est pas le cas dans le codec AMR-WB+ où les modes ACELP et TCX opèrent à la même fréquence d'échantillonnage interne. De plus, la décision de mode dans le codec USAC RM0 est réalisée en boucle ouverte (ou "open-loop" en anglais) pour chaque trame de 1024 échantillons. On rappelle qu'on appelle une décision en boucle fermée ("closed loop" en anglais) est effectuée en exécutant les différents modes de codage en parallèle et en choisissant a posteriori le mode qui donne le meilleur résultat selon un critère prédéfini. Dans le cas d'une décision en boucle ouverte la décision est prise a priori en fonction des données et des observations disponibles mais sans tester si cette décision est optimale ou non.Compared with the AMR-WB + codec, the major differences brought by the USAC RM0 coding for the mono part are the use of a MDCT type critical decimation transform for transform coding and quantization of the MDCT spectrum by scalar quantization with arithmetic coding. . It should be noted that the acoustic band coded by the different modes (LPD, FD) depends on the mode selected, which is not the case in the AMR-WB + codec where the ACELP and TCX modes operate at the same time. internal sampling frequency. In addition, the mode decision in the USAC RM0 codec is performed in open loop (or "open-loop" in English) for each frame of 1024 samples. It is recalled that a closed loop decision is made by executing the different coding modes in parallel and choosing a posteriori the mode that gives the best result according to a predefined criterion. In the case of an open-loop decision, the decision is made a priori based on available data and observations but without testing whether this decision is optimal or not.
Dans le codec USAC, les transitions entre modes LPD et FD sont cruciales pour assurer une qualité suffisante sans défaut de commutation, sachant que chaque mode (ACELP, TCX, FD) a une "signature" spécifique (en termes d'artefacts) et que les modes FD et LPD sont de nature différentes - le mode FD repose sur un codage par transformée dans le domaine du signal, tandis que les modes LPD utilisent un codage linéaire prédictif dans le domaine perceptuellement pondéré avec des mémoires de filtre à gérer correctement. La gestion des commutations intermodes dans le codec USAC RM0 est détaillée dans l'article de
Pour bien comprendre le fonctionnement, on rappelle ici le principe du codage par transformée MDCT au travers d'un exemple typique de réalisation.To understand the operation, we recall here the principle of transform coding MDCT through a typical embodiment.
Au codeur la transformation MDCT se divise entre trois étapes:
- Pondération du signal par une fenêtre appelé ici "fenêtre MDCT" de longueur 2M
- Repliement temporel (ou "time-domain aliasing" en anglais) pour former un bloc de longueur M
- Transformation DCT (pour "Discrete Cosine Transform" en anglais) de longueur M
- Weighting of the signal by a window called here "MDCT window" of length 2M
- Time folding (or "time-domain aliasing") to form a block of length M
- Transformation DCT (for "Discrete Cosine Transform" in English) of length M
La fenêtre MDCT est divisée en 4 portions adjacentes de longueurs égales M/2, appelées "quarts".The MDCT window is divided into 4 adjacent portions of equal lengths M / 2, called "quarters".
Le signal est multiplié par la fenêtre d'analyse puis les repliements sont effectués : le premier quart (fenêtré) est replié (c'est-à-dire inversé dans le temps et mis en recouvrement) sur le deuxième quart et le quatrième quart est replié sur le troisième.The signal is multiplied by the analysis window and folds are made: the first quarter (windowed) is folded (ie inverted in time and overlapped) on the second quarter and the fourth quarter is folded on the third.
Plus précisément, le repliement d'un quart sur un autre est effectué de la façon suivante : Le premier échantillon du premier quart est additionné (ou soustrait) au dernier échantillon du deuxième quart, le deuxième échantillon du premier quart est additionné (ou soustrait) au avant-dernier échantillon du deuxième quart, et ainsi de suite jusqu'au dernier échantillon du premier quart qui est additionné (ou soustrait) au premier échantillon du deuxième quart.Specifically, folding from one quarter to another is done in the following way: The first sample of the first quarter is added (or subtracted) to the last sample of the second quarter, the second sample of the first quarter is added (or subtracted) the second-last sample in the second quarter, and so on until the last sample of the first quarter that is added (or subtracted) to the first sample of the second quarter.
On obtient donc, à partir de 4 quarts, 2 quarts repliés où chaque échantillon est le résultat d'une combinaison linéaire de 2 échantillons du signal à coder. Cette combinaison linéaire est appelée repliement temporel.We thus obtain, from 4 quarters, 2 folded quarters where each sample is the result of a linear combination of 2 samples of the signal to be coded. This linear combination is called temporal folding.
Ces 2 quarts repliés sont ensuite codés conjointement après transformation DCT. Pour la trame suivante on se décale d'une moitié de fenêtre (soit 50% de recouvrement), les troisième et quatrième quarts de la trame précédente deviennent alors le premier et deuxième quart de la trame courante. Après repliement, on envoie une deuxième combinaison linéaire des mêmes paires d'échantillons comme dans la trame précédente, mais avec des poids différents.These folded quarters are then coded together after DCT transformation. For the next frame we shift one half of window (or 50% overlap), the third and fourth quarters of the previous frame then become the first and second quarter of the current frame. After folding, we send a second linear combination of the same pairs of samples as in the previous frame, but with different weights.
Au décodeur, après transformation DCT inverse on obtient donc la version décodée de ces signaux repliés. Deux trames consécutives contiennent le résultat de 2 repliements différents des mêmes quarts, c'est à dire pour chaque paire d'échantillons on a le résultat de 2 combinaisons linéaires avec des poids différents mais connus : un système d'équation est donc résolu pour obtenir la version décodée du signal d'entrée, le repliement temporel peut être ainsi supprimé en utilisant 2 trames décodées consécutives.At the decoder, after inverse DCT transformation, the decoded version of these folded signals is thus obtained. Two consecutive frames contain the result of 2 different folds of the same quarters, that is to say for each pair of samples one has the result of 2 linear combinations with different but known weights: an equation system is thus solved to obtain the decoded version of the input signal, the time folding can be thus removed using 2 consecutive decoded frames.
La résolution des systèmes d'équations mentionnées est en général faite par dépliement, multiplication par une fenêtre de synthèse judicieusement choisie puis addition-recouvrement des parties communes. Cette addition-recouvrement assure en même temps la transition douce (sans discontinuité due aux erreurs de quantification) entre 2 trames décodées consécutives, en effet cette opération se comporte comme un fondu enchaîné. Quand la fenêtre pour le premier quart ou le quatrième quart est à zéro pour chaque échantillon, on parle d'une transformation MDCT sans repliement temporel dans cette partie de la fenêtre. Dans ce cas la transition douce n'est pas assurée par la transformation MDCT, elle doit être faite par d'autres moyens comme par exemple un fondu enchaîné extérieur.The resolution of the systems of equations mentioned is generally made by unfolding, multiplication by a wisely selected synthesis window then addition-recovery of the common parts. This overlap addition ensures at the same time the smooth transition (without discontinuity due to quantization errors) between two consecutive decoded frames, in fact this operation behaves like a crossfade. When the window for the first quarter or fourth quarter is zero for each sample, we are talking about an MDCT transformation without time folding in this part of the window. In this case the smooth transition is not ensured by the MDCT transformation, it must be done by other means such as for example an external crossfade.
Il est à noter que des variantes de mise en oeuvre de la transformation MDCT existent, en particulier sur la définition de la transformée DCT, sur la façon de replier temporellement le bloc à transformer (par exemple, on peut inverser les signes appliqués aux quarts repliés à gauche et droite, ou replier les deuxième et troisième quart sur respectivement les premiers et quatrième quarts), etc. Ces variantes ne changent pas le principe de l'analyse-synthèse MDCT avec la réduction du bloc d'échantillons par fenêtrage, repliement temporel puis transformation et enfin fenêtrage, repliement et addition-recouvrement.It should be noted that implementation variants of the MDCT transformation exist, in particular on the definition of the DCT transform, on how to temporally fold the block to be transformed (for example, it is possible to reverse the applied signs to the quarters folded to the left and right, or to fold the second and third quarter on respectively the first and fourth quarters), etc. These variants do not change the principle of the MDCT analysis-synthesis with the reduction of the sample block by windowing, temporal folding then transformation and finally windowing, folding and addition-recovery.
Dans le cas du codeur USAC RM0 décrit dans l'article de Lecomte et al., la transition entre une trame codée par un codage ACELP et une trame codée par un codage FD, s'effectue de la façon suivante:In the case of the USAC encoder RM0 described in the article by Lecomte et al., The transition between a frame coded by an ACELP coding and a frame coded by an FD coding is carried out as follows:
Une fenêtre de transition pour le mode FD est utilisée avec un recouvrement à gauche de 128 échantillons, comme illustrée à la
Ces techniques de codage de l'état de l'art AMR-WB+ ou USAC ont des retards algorithmiques de l'ordre de 100 à 200 ms. Ces retards sont incompatibles avec des applications conversationnelles pour lesquelles le retard de codage est en général de l'ordre de 20-25 ms pour les codeurs de parole pour les applications mobiles (ex: GSM EFR, 3GPP AMR et AMR-WB) et de l'ordre de 40 ms pour les codeurs par transformée conversationnels pour la vidéoconférence (ex: UIT-T G.722.1 Annexe C et G.719).These coding techniques of the state of the art AMR-WB + or USAC have algorithmic delays of the order of 100 to 200 ms. These delays are incompatible with conversational applications for which the coding delay is generally of the order of 20-25 ms for voice coders for mobile applications (eg GSM EFR, 3GPP AMR and AMR-WB) and in the order of 40 ms for conversational transform coders for videoconferencing (eg ITU-T G.722.1 Annex C and G.719).
Il existe donc un besoin d'un codage alternant les techniques de codage prédictif et par transformée pour des applications de codage de sons présentant des alternances de parole et de musique avec une bonne qualité de codage à la fois de la parole et de la musique et un retard algorithmique compatible avec des applications conversationnelles, typiquement de l'ordre de 20 à 40 ms pour des trames de 20 ms.There is therefore a need for alternating coding of predictive and transform coding techniques for speech coding applications with alternating speech and music with good speech and music coding quality. an algorithmic delay compatible with conversational applications, typically of the order of 20 to 40 ms for frames of 20 ms.
La présente invention vient améliorer la situation.The present invention improves the situation.
A cet effet, la présente invention propose un procédé de codage d'un signal son numérique, comportant les étapes de :
- codage d'une trame précédente d'échantillons du signal numérique selon un codage prédictif ;
- codage d'une trame courante d'échantillons du signal numérique selon un codage par transformée.
- encoding a previous frame of samples of the digital signal according to a predictive coding;
- encoding a current frame of samples of the digital signal according to transform coding.
Le procédé est tel qu'une première partie de la trame courante est codée par un codage prédictif restreint par rapport au codage prédictif de la trame précédente en réutilisant au moins un paramètre du codage prédictif de la trame précédente et en ne codant que les paramètres non réutilisés de cette première partie de la trame courante.The method is such that a first part of the current frame is coded by a predictive coding restricted with respect to the predictive coding of the preceding frame by reusing at least one parameter of the predictive coding of the preceding frame and coding only the non-predictive parameters. reused from this first part of the current frame.
Ainsi, pour un codage alternant des codages de type prédictif et des codages par transformée, lors du passage d'une trame codée selon un codage prédictif et une trame codée selon un codage par transformée, une trame de transition est ainsi prévue. Le fait que la première partie de la trame courante est également codée par un codage prédictif permet de récupérer des termes de repliement qu'il ne serait pas possible de récupérer uniquement par un codage par transformée puisque la mémoire du codage par transformée pour cette trame de transition n'est pas disponible, la trame précédente n'ayant pas été codée par transformée.Thus, for an alternating coding of predictive coding and transform coding, when passing a coded frame according to a predictive coding and a coded frame according to a transform coding, a transition frame is thus provided. The fact that the first part of the current frame is also coded by predictive coding makes it possible to recover folding terms that it would not be possible to recover solely by transform coding since the transform coding memory for this frame of transition is not available, the previous frame has not been transformed-encoded.
Le fait d'utiliser de plus un codage prédictif restreint, permet de limiter l'impact sur le débit de codage de cette partie. En effet, seuls les paramètres non réutilisés de la trame précédente, sont codés pour la partie de la trame courante codée par le codage prédictif restreint.In addition, using a restricted predictive coding makes it possible to limit the impact on the coding rate of this part. Indeed, only the non-reused parameters of the previous frame are coded for the part of the current frame encoded by the restricted predictive coding.
De plus, le codage de cette partie de trame n'induit pas de retard supplémentaire puisque cette première partie se situe au début de la trame de transition.In addition, the coding of this frame part does not induce additional delay since this first part is at the beginning of the transition frame.
Enfin, ce type de codage permet de rester avec une taille de fenêtre de pondération de longueur identique pour le codage par transformée que ce soit pour le codage de la trame de transition ou pour le codage des autres trames codées par transformée. La complexité du procédé de codage en est donc réduite.Finally, this type of coding makes it possible to remain with a weighting window size of identical length for the transform coding whether for the coding of the transition frame or for the coding of the other frames coded by transform. The complexity of the coding method is therefore reduced.
Les différents modes particuliers de réalisation mentionnés ci-après peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé défini ci-dessus.The various particular embodiments mentioned below may be added independently or in combination with each other, to the steps of the method defined above.
Dans un mode de réalisation particulier, le codage prédictif restreint utilise un filtre de prédiction recopié de la trame précédente de codage prédictif.In a particular embodiment, the restricted predictive coding uses a prediction filter copied from the preceding predictive coding frame.
L'utilisation du codage par transformée est généralement sélectionné lorsque les segments codés sont quasi-stationnaires. Ainsi, le paramètre d'enveloppe spectrale du signal peut être réutilisé d'une trame à l'autre pour une durée d'une partie de la trame, par exemple, une sous-trame, sans qu'il y ait un impact important sur la qualité du codage. L'utilisation du filtre de prédiction utilisé pour la trame précédente n'impacte donc pas la qualité du codage et permet de s'affranchir de bits supplémentaires pour la transmission de ses paramètres.The use of transform coding is generally selected when the coded segments are quasi-stationary. Thus, the spectral envelope parameter of the signal can be reused from one frame to another for a duration of a part of the frame, for example, a sub-frame, without having a significant impact on the quality of the coding. The use of the prediction filter used for the previous frame does not, therefore, affect the quality of the coding and makes it possible to dispense with additional bits for the transmission of its parameters.
Dans une variante de réalisation, le codage prédictif restreint utilise en outre une valeur décodée du pitch et/ou de son gain associé de la trame précédente de codage prédictif.In an alternative embodiment, the restricted predictive coding further uses a decoded value of the pitch and / or its associated gain of the previous predictive coding frame.
Ces paramètres évoluent peu d'une trame à l'autre. L'utilisation de ces mêmes paramètres d'une trame à l'autre impactera peu la qualité de codage et simplifiera d'autant plus le codage prédictif de la sous-trame.These parameters change little from one frame to another. The use of these same parameters from one frame to another will have little impact on the coding quality and will further simplify the predictive coding of the subframe.
Dans une autre variante de réalisation, certains paramètres de codage prédictif utilisé pour le codage prédictif restreint sont quantifiés en mode différentiel par rapport à des paramètres décodés de la trame précédente de codage prédictif.In another variant embodiment, certain predictive coding parameters used for the restricted predictive coding are quantized in differential mode with respect to decoded parameters of the preceding predictive coding frame.
Ainsi, ceci permet de simplifier encore le codage prédictif de la sous-trame de transition.Thus, this further simplifies the predictive coding of the transition subframe.
Selon un mode de réalisation particulier, le procédé comporte une étape d'obtention des signaux reconstruits issus des codages et décodages locaux prédictif et par transformée de la première sous-trame de la trame courante et de combinaison par un fondu enchaîné de ces signaux reconstruits.According to a particular embodiment, the method comprises a step of obtaining the reconstructed signals resulting from predictive local codings and decodings and by transforming the first sub-frame of the current and combination frame by a cross-fading of these reconstructed signals.
Ainsi, la transition de codage dans la trame courante est douce et n'induit pas d'artefacts gênants.Thus, the coding transition in the current frame is smooth and does not induce troublesome artifacts.
Selon un mode de réalisation particulier, ledit fondu enchaîné des signaux reconstruits est réalisé sur une portion de la première partie de la trame courante en fonction de la forme de la fenêtre de pondération du codage par transformée.According to a particular embodiment, said crossfade of the reconstructed signals is performed on a portion of the first part of the current frame as a function of the shape of the transform coding weighting window.
Ceci, pour une meilleure adaptation du codage par transformée.This, for a better adaptation of the transform coding.
Selon un mode de réalisation particulier, ledit fondu enchainé des signaux reconstruits est réalisé sur une portion de la première partie de la trame courante, ladite portion ne contenant pas de repliement temporel.According to a particular embodiment, said crossfade of the reconstructed signals is performed on a portion of the first part of the current frame, said portion not containing time folding.
Ceci permet de réaliser une reconstruction parfaite des signaux en l'absence d'erreur de quantification, dans le cas où le signal reconstruit issus du codage par transformée de la première partie de la trame courante ne comporte pas de repliement temporel.This makes it possible to carry out a perfect reconstruction of the signals in the absence of a quantization error, in the case where the reconstructed signal resulting from the transform coding of the first part of the current frame does not comprise temporal folding.
Dans un mode particulier de réalisation, pour un codage à faible retard, le codage par transformée utilise une fenêtre de pondération comportant un nombre choisi de coefficients de pondération successifs de valeur nulle en fin et en début de fenêtre.In a particular embodiment, for a low delay coding, the transform coding uses a weighting window comprising a chosen number of successive weighting coefficients of zero value at the end and at the beginning of the window.
Dans un autre mode particulier de réalisation, pour améliorer le codage à faible retard, le codage par transformée utilise une fenêtre de pondération asymétrique comportant un nombre choisi de coefficients de pondération successifs de valeur nulle en au moins une extrémité de la fenêtre.In another particular embodiment, to improve the low-delay coding, the transform coding uses an asymmetric weighting window comprising a chosen number of successive weighting coefficients of zero value in at least one end of the window.
La présente invention se rapporte également à un procédé de décodage d'un signal son numérique, comportant les étapes de :
- décodage prédictif d'une trame précédente d'échantillons du signal numérique reçue et codée selon un codage prédictif ;
- décodage par transformée inverse d'une trame courante d'échantillons du signal numérique reçue et codée selon un codage par transformée;
- predictive decoding of a previous frame of samples of the digital signal received and coded according to a predictive coding;
- inverse transform decoding of a current frame of samples of the received and encoded digital signal according to transform coding;
Le procédé de décodage est le pendant du procédé de codage et apporte les mêmes avantages que ceux décrits pour le procédé de codage.The decoding method is the counterpart of the coding method and provides the same advantages as those described for the coding method.
Ainsi, dans un mode particulier de réalisation, le procédé de décodage comporte une étape de combinaison par un fondu enchaîné des signaux décodés par transformée inverse et par décodage prédictif restreint pour au moins une portion de la première partie de la trame courante reçue et codée selon un codage prédictif restreint, en réutilisant au moins un paramètre du décodage prédictif de la trame précédente et en ne décodant que les paramètres reçus pour cette première partie de la trame courante.Thus, in a particular embodiment, the decoding method comprises a step of combining by crossfading the decoded signals by inverse transform and by restricted predictive decoding for at least a portion of the first part of the current frame received and encoded according to a restricted predictive coding, reusing at least one parameter of the predictive decoding of the previous frame and decoding only the parameters received for this first part of the current frame.
Selon un mode privilégié, le décodage prédictif restreint utilise un filtre de prédiction décodé et utilisé par le décodage prédictif de la trame précédente.In a preferred mode, the restricted predictive decoding uses a prediction filter decoded and used by the predictive decoding of the previous frame.
Dans une variante de réalisation, le décodage prédictif restreint utilise en outre une valeur décodée du pitch et/ou de son gain associé du décodage prédictif de la trame précédente.In a variant embodiment, the restricted predictive decoding furthermore uses a decoded value of the pitch and / or its associated gain of the predictive decoding of the preceding frame.
La présente invention se rapporte également à un codeur de signal son numérique, comportant:
- un module de codage prédictif pour coder une trame précédente d'échantillons du signal numérique;
- un module de codage par transformée pour coder une trame courante d'échantillons du signal numérique. Le codeur comporte en outre un module de codage prédictif restreint par rapport au codage prédictif de la trame précédente pour coder une première partie de la trame courante, en réutilisant au moins un paramètre du codage prédictif de la trame précédente et en ne codant que les paramètres non réutilisés de cette première partie de la trame courante.
- a predictive coding module for encoding a previous frame of samples of the digital signal;
- a transform coding module for encoding a current frame of samples of the digital signal. The encoder further comprises a predictive coding module which is restricted in relation to the predictive coding of the preceding frame for coding a first part of the current frame, by reusing at least one parameter of the coding predictive of the previous frame and only coding the non-reused parameters of this first part of the current frame.
De même l'invention se rapporte à un décodeur de signal son numérique, comportant:
- un module de décodage prédictif pour décoder une trame précédente d'échantillons du signal numérique reçue et codée selon un codage prédictif ;
- un module de décodage par transformée inverse pour décoder une trame courante d'échantillons du signal numérique reçue et codée selon un codage par transformée. Le décodeur est tel qu'il comporte en outre un module de décodage prédictif restreint par rapport au décodage prédictif de la trame précédente pour décoder une première partie de la trame courante reçue et codée selon un codage prédictif restreint, en réutilisant au moins un paramètre du décodage prédictif de la trame précédente et en ne décodant que les paramètres reçus pour cette première partie de la trame courante.
- a predictive decoding module for decoding a preceding frame of samples of the digital signal received and coded according to a predictive coding;
- an inverse transform decoding module for decoding a current frame of samples of the received and encoded digital signal according to transform coding. The decoder is such that it further comprises a predictive decoding module which is restricted compared with the predictive decoding of the preceding frame in order to decode a first part of the current frame received and coded according to a restricted predictive coding, by reusing at least one parameter of the predictive decoding of the previous frame and decoding only the parameters received for this first part of the current frame.
Enfin l'invention se rapporte à un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé de codage tel que décrit précédemment et/ou de décodage tel que décrit précédemment, lorsque ces instructions sont exécutées par un processeur.Finally, the invention relates to a computer program comprising code instructions for implementing the steps of the encoding method as described above and / or decoding as described above, when these instructions are executed by a processor.
L'invention se rapporte aussi à un moyen de stockage, lisible par un processeur, intégré ou non au codeur ou au décodeur, éventuellement amovible, mémorisant un programme informatique mettant en oeuvre un procédé de codage et/ou un procédé de décodage tels que décrits précédemment.The invention also relates to a storage means, readable by a processor, whether or not integrated into the encoder or decoder, possibly removable, storing a computer program implementing an encoding method and / or a decoding method as described. previously.
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 un exemple de fenêtre de transition de l'état de l'art pour la transition entre le codage CELP et le codage FD du codec MPEG USAC, décrit précédemment; - la
figure 2 illustre sous forme de schéma bloc, un codeur et un procédé de codage selon un mode de réalisation de l'invention; - la
figure 3a illustre un exemple de fenêtre de pondération utilisé pour le codage par transformée de l'invention; - la
figure 3b illustre le mode de codage par transformée à recouvrement utilisé par l'invention; - la
figure 4a illustre la transition entre une trame codée avec un codage prédictif et une trame codée par transformée selon un mode de réalisation du procédé de l'invention; - les
figures 4b ,4c et4d illustrent la transition entre une trame codée avec un codage prédictif et une trame codée par transformée selon deux variantes de réalisation du procédé de l'invention; - la
figure 4e illustre la transition entre une trame codée avec un codage prédictif et une trame codée par transformée selon une des variantes de réalisation du procédé de l'invention pour le cas où la transformation MDCT utilise des fenêtres asymétriques; - la
figure 5 illustre un décodeur et un procédé de décodage selon un mode de réalisation de l'invention; - les
figures 6a et 6b illustrent sous forme d'organigramme les principales étapes du procédé de codage, respectivement du procédé de décodage selon l'invention; et - la
figure 7 illustre un mode possible de réalisation matérielle d'un codeur et d'un décodeur selon l'invention.
- the
figure 1 illustrates an example of a state-of-the-art transition window for the transition between the CELP coding and the FD coding of the MPEG USAC codec, described previously; - the
figure 2 illustrates in the form of a block diagram, an encoder and a coding method according to one embodiment of the invention; - the
figure 3a illustrates an example of a weighting window used for the transform coding of the invention; - the
figure 3b illustrates the overlap transform coding mode used by the invention; - the
figure 4a illustrates the transition between a coded frame with a predictive coding and a transform coded frame according to an embodiment of the method of the invention; - the
Figures 4b ,4c and4d illustrate the transition between a coded frame with a predictive coding and a transform coded frame according to two alternative embodiments of the method of the invention; - the
figure 4e illustrates the transition between a coded frame with a predictive coding and a transform coded frame according to one of the alternative embodiments of the method of the invention for the case where the MDCT transform uses asymmetric windows; - the
figure 5 illustrates a decoder and a decoding method according to an embodiment of the invention; - the
Figures 6a and 6b illustrate in flow chart form the main steps of the coding method, respectively of the decoding method according to the invention; and - the
figure 7 illustrates a possible embodiment of a hardware encoder and a decoder according to the invention.
La
Cette figure représente les étapes de codage effectuées pour chaque trame de signal. Le signal d'entrée, noté x(n'), est échantillonné à 16 kHz et la longueur de trame est de 20 ms. L'invention se généralise aux cas où d'autres fréquences d'échantillonnage sont utilisés, par exemple pour des signaux en bande super-élargie échantillonnés à 32 kHz, avec éventuellement une découpe en deux sous-bandes pour appliquer l'invention dans la bande basse. La longueur de trame est ici choisie pour correspondre à celle des codeurs mobiles tels que 3GPP AMR et AMR-WB, cependant d'autres longueurs sont également possibles (exemple: 10 ms).This figure shows the coding steps performed for each signal frame. The input signal, denoted x ( n '), is sampled at 16 kHz and the frame length is 20 ms. The invention is generalized to cases where other sampling frequencies are used, for example for super-wide band signals sampled at 32 kHz, possibly with a split into two subbands to apply the invention in the band. low. The frame length is here chosen to correspond to that of the mobile encoders such as 3GPP AMR and AMR-WB, however other lengths are also possible (example: 10 ms).
Par convention les échantillons de la trame courante correspondent à x(n'), n' = 0,...,319. Ce signal d'entrée est d'abord filtré par un filtre passe-haut (bloc 200), afin d'atténuer les fréquences inférieures à 50 Hz et éliminer la composante continue, puis sous-échantillonné à la fréquence interne de 12,8 kHz (bloc 201) pour obtenir une trame du signal, s(n) de 256 échantillons. On considère que le filtre de décimation (bloc 201) est réalisé à faible retard au moyen d'un filtre à réponse impulsionnelle finie (typiquement d'ordre 60).By convention the samples of the current frame correspond to x ( n '), n ' = 0, ..., 319. This input signal is first filtered by a high-pass filter (block 200), in order to attenuate frequencies below 50 Hz and eliminate the DC component, and then downsampled to the internal frequency of 12.8 kHz (block 201) to obtain a frame of the signal, s (n) of 256 samples. It is considered that the decimation filter (block 201) is produced at a low delay by means of a finite impulse response filter (typically of order 60).
Dans le mode de codage CELP, la trame courante, s(n) de 256 échantillons est codée selon le mode de réalisation privilégié de l'invention par un codeur CELP inspiré du codage ACELP multi-débits (de 6,6 à 23,05 kbit/s) à 12,8 kHz décrit dans la norme 3GPP TS 26.190 ou de façon équivalente UIT-T G.722.2 - cet algorithme est appelé AMR-WB (pour "Adaptive MultiRate - WideBand" en anglais).In the CELP coding mode, the current frame, s (n) of 256 samples is encoded according to the preferred embodiment of the invention by a CELP coder inspired by multi-rate ACELP coding (from 6.6 to 23.05 kbit / s) at 12.8 kHz described in 3GPP TS 26.190 or equivalent ITU-T G.722.2 - this algorithm is called AMR-WB (for "Adaptive MultiRate - WideBand").
Le signal s(n) est d'abord pré-accentué (bloc 210) par 1 - αz -1 avec α =0,68, puis codé (bloc 211) par l'algorithme ACELP (tel que décrit à la section 5 de la norme 3GPP TS 26.190).The signal s (n) is first pre-emphasized (block 210) by 1 - α z -1 with α = 0.68, then coded (block 211) by the ACELP algorithm (as described in
Les trames successives de 20 ms contiennent 256 échantillons temporels à 12,8 kHz. Le codage CELP utilise une mémoire (ou buffer) buf (n) , n =-64,...,319 , de 30 ms de signal: 5 ms de signal passé ("lookback" en anglais), 20 ms de trame courante et 5 ms de signal futur ("lookahead" en anglais).The successive frames of 20 ms contain 256 temporal samples at 12.8 kHz. The CELP coding uses a memory (or buffer) buf ( n ), n = -64, ..., 319, of 30 ms of signal: 5 ms of signal passed ("lookback" in English), 20 ms of current frame and 5 ms of future signal ("lookahead" in English).
Le signal obtenu après pré-accentuation de s(n) est copié dans ce buffer aux positions n = 64, ..., 319 de sorte que la trame courante correspondant aux positions n = 0,..., 255 inclut 5 ms de signal passé ( n = 0,..., 63 ) et 15 ms du "nouveau" signal à coder ( n = 64, ..., 255 ) - c'est dans la définition du buffer que le codage CELP appliqué ici se différencie du codage ACELP de la norme AMR-WB car le "lookahead" est ici exactement de 5 ms sans compensation du retard de filtre de sous-échantillonnage (bloc 201).The signal obtained after pre-emphasis of s (n) is copied in this buffer to the positions n = 64, ..., 319 so that the current frame corresponding to the positions n = 0,..., 255 includes 5 ms of signal passed ( n = 0, ..., 63) and 15 ms of the "new" signal to be coded ( n = 64, ..., 255) - it is in the buffer definition that the CELP coding applied here is differentiates from the ACELP coding of the AMR-WB standard because the "lookahead" is here exactly 5 ms without compensation of the subsampling filter delay (block 201).
A partir de ce buffer, le codage CELP (bloc 211) comprend plusieurs étapes mises en oeuvre de façon similaire au codage ACELP de la norme AMR-WB ; les principales étapes sont données ici à titre d'exemple de réalisation:
- a) Analyse LPC : Une fenêtre asymétrique de 30ms pondère le buffer buf (n) , puis une autocorrélation est calculée. Les coefficients de prédiction linéaire (pour un ordre 16) sont ensuite calculés via l'algorithme de Levinson-Durbin. On obtient ainsi le filtre de prédiction linéaire LPC A(z).
- a) LPC analysis: An asymmetrical window of 30ms weights the buffer buf ( n ), then an autocorrelation is computed. The linear prediction coefficients (for an order 16) are then calculated via the Levinson-Durbin algorithm. The linear prediction filter LPC A ( z ) is thus obtained.
Une conversion des coefficients LPC en coefficients spectraux ISP ("Immittance spectral pairs" en anglais) est effectuée ainsi qu'une quantification (qui donne le filtre quantifié Â(z)).A conversion of the LPC coefficients into ISP spectral coefficients ("Immittance spectral pairs" in English) is performed as well as a quantization (which gives the quantized filter  ( z )).
Finalement un filtre LPC pour chaque sous-trame est calculé par interpolation par sous-trame entre le filtre de la trame courante et le filtre de la trame précédente. Dans cette étape d'interpolation on suppose ici que la trame passée a été codée par le mode CELP, dans le cas contraire on suppose que les états du codeur CELP ont été mis à jour.
- b) Pondération perceptuelle du signal : le signal pré-accentué est ensuite pondéré par le filtre défini par W(z) = A(z /γ)/(1-αz -1) où α =0,68 et γ=0,92.
- c) Calcul du pitch en boucle ouverte en cherchant le maximum de la fonction d'autocorrélation du signal pondéré (éventuellement sous-échantillonné pour réduire la complexité).
- d) Recherche de l' "excitation adaptative" en boucle fermée par analyse par synthèse parmi les valeurs en voisinage du pitch obtenu en boucle ouverte pour chacune des sous-trames de la trame courante. Un filtrage passe-bas de l'excitation adaptative est également effectué ou non. Un bit est donc produit pour indiquer l'application ou non du filtre. Cette recherche donne la composante notée v(n). Le pitch et le bit associé au filtre de pitch sont codés dans le train binaire.
- e) Recherche de l'innovation ou excitation fixe notée c(n) , en boucle fermée également par analyse par synthèse. Cette excitation est composée des zéros et d'impulsions signées, les positions et signes de ces impulsions sont codés dans le train binaire.
- f) Les gains de l'excitation adaptative et de l'excitation algébrique, ĝp, ĝc respectivement, sont codés conjointement dans le train binaire.
- b) Perceptual weighting of the signal: the pre-accentuated signal is then weighted by the filter defined by W ( z ) = A (z / γ ) / (1-α z -1 ) where α = 0.68 and γ = 0 92.
- c) Calculation of the open loop pitch by seeking the maximum of the autocorrelation function of the weighted signal (possibly downsampled to reduce the complexity).
- d) Search for "closed-loop adaptive excitation" by synthesis analysis among the values in the vicinity of the pitch obtained in open loop for each of the subframes of the current frame. Low-pass filtering of the adaptive excitation is also performed or not. A bit is therefore produced to indicate the application or not of the filter. This search gives the component denoted v ( n ). The pitch and the bit associated with the pitch filter are encoded in the bit stream.
- e) Research of innovation or fixed excitation noted c ( n ), in closed loop also by analysis by synthesis. This excitation is composed of zeros and signed pulses, the positions and signs of these pulses are coded in the binary train.
- f) The gains of adaptive excitation and algebraic excitation, ĝ p , ĝ c respectively, are jointly coded in the bit stream.
Dans cet exemple de réalisation, le codeur CELP divise chaque trame de 20 ms en 4 sous-trames des 5 ms et le filtre LPC quantifié correspond à la dernière (quatrième) sous-trame.In this exemplary embodiment, the CELP coder divides each 20 ms frame into 4 subframes of the 5 ms and the quantized LPC filter corresponds to the last (fourth) subframe.
Le signal reconstruit ŝCELP (n) est obtenu par le décodeur local inclut dans le bloc 211, par reconstruction de l'excitation u(n) = ĝpv(n) + ĝcc(n), éventuellement post-traitement de u(n), et filtrage par le filtre de synthèse quantifié 1/Â(z) (comme décrit en Section 5.10 de la norme 3GPP TS 26.190). Ce signal est enfin désaccentué (bloc 212) par le filtre de fonction de transfert 1/(1-αz -1) pour obtenir le signal décodé CELP ŝCELP (n)..The reconstructed signal ŝ CELP (n) is obtained by the local decoder included in the
Bien évidemment, d'autres variantes du codage CELP que le mode de réalisation décrit précédemment peuvent être utilisées sans affecter la nature de l'invention.Of course, other variants of the CELP coding than the embodiment described above can be used without affecting the nature of the invention.
Dans une variante le bloc 211 correspond au codage CELP à 8kbit/s décrit dans la norme UIT-T G.718 selon un des 4 modes de codage CELP possibles: mode non voisé (UC), mode voisé (VC), mode transition (TC) ou mode générique (GC). Dans une autre variante une autre réalisation du codage CELP est choisie, par exemple le codage ACELP dans le mode interopérable avec le codage AMR-WB de la norme UIT-T G.718. La représentation des coefficients LPC sous forme d'ISF peut être remplacée par les paires de raies spectrales (LSF) ou d'autres représentations équivalentes.In a variant, the
En cas de sélection du mode CELP le bloc 211 livre les indices CELP codées ICELP à multiplexer dans le train binaire.When CELP mode is selected, block 211 delivers the CELP coded I CELP indices to be multiplexed in the bit stream.
Dans le mode de codage MDCT de la
où M = 256 est la longueur de trame et Mz = 96 est le nombre de zéros à gauche et à droite dans la fenêtre w(n). La fenêtre w(n) est choisie dans le mode de réalisation privilégié comme une fenêtre "bas retard" symétrique de la forme:
where M = 256 is the frame length and Mz = 96 is the number of zeros on the left and right in the w ( n ) window. The window w (n) is chosen in the preferred embodiment as a "low delay" window symmetrical with the form:
Cette fenêtre bas retard wshift (m) , m = 0, ..., 511, pour M=256 et L ov=64, s'applique à la trame courante correspondant aux indices n=0,...,255 en prenant w(n) = wshift (n + 96) , ce qui suppose un recouvrement de 64 échantillons (5 ms).This low lag window w shift ( m ), m = 0, ..., 511, for M = 256 and L ov = 64, applies to the current frame corresponding to the indices n = 0, ..., 255 in taking w (n) = w shift ( n + 96), which implies an overlap of 64 samples (5 ms).
Cette fenêtre est illustrée à la
Cette fenêtre s'applique à la trame courante de 20 ms ainsi qu'à un signal futur "lookahead" de 5 ms. On remarquera que le codage MDCT est donc synchronisé au codage CELP dans la mesure où le décodeur MDCT peut reconstruire par addition-recouvrement l'intégralité de la trame courante, grâce au recouvrement à gauche et au "plat" intermédiaire de la fenêtre MDCT, et il dispose également d'un recouvrement sur la trame future de 5 ms. On note ici pour cette fenêtre que la trame MDCT courante induit un repliement temporel sur la première partie de la trame (en fait sur les 5 premières ms) où s'effectue le recouvrement.This window applies to the current frame of 20 ms as well as to a future signal "lookahead" of 5 ms. It will be noted that the MDCT coding is therefore synchronized with the CELP coding insofar as the MDCT decoder can reconstruct by addition-overlap the entirety of the current frame, thanks to the overlap on the left and the intermediate "flat" of the MDCT window, and it also has an overlap on the
Il est important de remarquer que les trames reconstruites par les codeurs/décodeurs CELP et MDCT ont des supports temporels coïncidents. Cette synchronisation temporelle des reconstructions facilite la commutation de modèles de codage.It is important to note that the frames reconstructed by the CELP and MDCT coders / decoders have coincident temporal supports. This temporal synchronization of the reconstructions facilitates the switching of coding models.
Dans des variantes de l'invention, d'autres fenêtres MDCT que w(n) sont également possibles. On ne détaille pas ici la mise en oeuvre du bloc 220. Un exemple est donné dans la norme UIT-T G.718 (Clauses 6.11.2 et 7.10.6).In variants of the invention, other MDCT windows than w (n) are also possible. The implementation of
Les coefficients S(k) , k = 0,..., 255 , sont codés par le bloc 221 qui est inspiré, dans un mode de réalisation privilégié, du codage "TDAC" (pour "Time Domain Aliasing Cancellation" en anglais) de la norme UIT-T G.729.1. On note ici Btot le budget de bits total alloué dans chaque trame au codage MDCT. Le spectre discret S(k) est divisé en sous-bandes, puis une enveloppe spectrale, correspondant à la r.m.s (pour "root mean square" en anglais, c'est-à-dire la racine carrée de la moyenne de l'énergie) par sous-bande, est quantifiée dans le domaine logarithmique par pas de 3 dB et codée par un codage de entropique. Le budget de bits utilisé par ce codage d'enveloppe est noté ici Benv ; il est variable à cause du codage entropique.The coefficients S ( k ), k = 0,..., 255, are encoded by the
A la différence du codage "TDAC" de la norme G.729.1, un nombre de bits prédéterminé noté Binj (fonction du budget Btot ) est réservé pour le codage de niveaux d'injection de bruit afin de "remplir" les coefficients codés à une valeur nulle par du bruit et masquer les artefacts de "bruit musical" qui seraient autrement audibles. Ensuite les sous-bandes du spectre S(k) sont codées par quantification vectorielle sphérique avec le budget restant de Btot - Benv - Binj bits. Cette quantification n'est pas détaillée, tout comme l'allocation adaptative des bits par sous-bandes, car ces détails dépasse le cadre de l'invention. En cas de sélection du mode MDCT ou du mode transition, le bloc 221 livre les indices MDCT codées IMDCT à multiplexer dans le train binaire.Unlike the "TDAC" coding of the G.729.1 standard, a predetermined number of bits denoted B inj (budget function B tot ) is reserved for the coding of noise injection levels in order to "fill" the coded coefficients. at a value of zero by noise and hide artifacts of "musical noise" that would otherwise be audible. Then the S ( k ) spectrum subbands are encoded by spherical vector quantization with the remaining budget of B tot - B env - B inj bit. This quantization is not detailed, as is the adaptive allocation of the bits by sub-bands, since these details go beyond the scope of the invention. When selecting the MDCT mode or the transition mode, the
Le bloc 222 décode le train binaire produit par le bloc 221 afin de reconstruire le spectre décodé Ŝ(k) , k = 0,..., 255. Enfin le bloc 223 reconstruit la trame courante pour trouver le signal s̃MDCT (n) , n = 0, ..., 255.
Du fait de la nature du codage par transformée MDCT (recouvrement entre les trames), deux cas de figure sont à envisager dans le codage MDCT d'une trame courante:
- Premier cas: La trame précédente a été codée par un mode MDCT. Dans ce cas, la mémoire (ou états) nécessaire à la synthèse MDCT dans le décodeur local (et distant) est disponible et l'opération d'addition/recouvrement utilisée par la MDCT pour annuler le repliement temporel est possible. La trame MDCT est correctement décodée sur toute la trame. Il s'agit ici du fonctionnement "normal" du codage/décodage MDCT.
- Deuxième cas: La trame précédente a été codée par un mode CELP. Dans ce cas, la reconstruction de la trame au décodeur (local et distant) n'est pas complète. Comme expliqué précédemment, la MDCT utilise pour la reconstruction une opération d'addition/recouvrement entre la trame courante et la trame précédente (avec des états stockés en mémoire) pour supprimer le repliement temporel de la trame à décoder et aussi éviter les effets de blocs et augmenter la résolution fréquentielle par l'utilisation de fenêtres plus longues qu'une trame. Avec les fenêtres MDCT les plus couramment utilisées (type sinusoïdal) la distorsion du signal due au repliement temporel est plus forte à l'extrémité de la fenêtre et quasi nulle au milieu de la fenêtre. Dans ce cas précis, si la trame précédente est de type CELP, la mémoire MDCT n'est pas disponible car la dernière trame n'a pas été codée par transformée MDCT.
- First case: The previous frame was coded by an MDCT mode. In this case, the memory (or states) necessary for the MDCT synthesis in the local (and remote) decoder is available and the addition / recovery operation used by the MDCT to cancel the temporal folding is possible. The MDCT frame is correctly decoded throughout the frame. This is the "normal" operation of the MDCT coding / decoding.
- Second case: The previous frame was coded by a CELP mode. In this case, the reconstruction of the frame at the decoder (local and remote) is not complete. As explained above, the MDCT uses for the reconstruction an addition / overlap operation between the current frame and the previous frame (with states stored in memory) to eliminate the temporal folding of the frame to be decoded and also to avoid the effects of blocks. and increase the frequency resolution by using windows longer than a frame. With the most commonly used MDCT windows (sinusoidal type) signal distortion due to time folding is stronger at the end of the window and near zero in the middle of the window. In this case, if the previous frame is of CELP type, the MDCT memory is not available because the last frame was not coded by MDCT transform.
La zone repliée du début de la trame correspond à la zone du signal dans la trame MDCT qui est perturbée par le repliement temporel inhérent à la transformation MDCT.The folded area of the start of the frame corresponds to the area of the signal in the MDCT frame which is disturbed by the time folding inherent in the MDCT transformation.
Ainsi, lorsque la trame courante est codée par le mode MDCT (bloc 220 à 223) et que la trame précédente a été codée par le mode CELP (blocs 210 à 212), un traitement spécifique de transition de CELP à MDCT est nécessaire.Thus, when the current frame is coded by the MDCT mode (block 220 to 223) and the previous frame has been coded by the CELP mode (
Dans ce cas, comme l'indique la
Pour cette transition, le procédé de codage selon l'invention comporte une étape de codage d'un bloc d'échantillons de longueur inférieure ou égale à la longueur de la trame, choisi par exemple comme une sous-trame supplémentaire de 5ms, dans la trame courante codée par transformée (MDCT), représentant la zone de repliement à gauche de la trame courante, par un codeur prédictif de transition ou codage prédictif restreint. Il est à noter que le type de codage dans la trame précédent la trame MDCT de transition pourrait être un autre type de codage que le codage CELP, par exemple un codage MICDA ou un codage TCX. L'invention s'applique dans le cas général où la trame précédente a été codée par un codage ne mettant pas à jour les mémoires MDCT dans le domaine du signal et l'invention implique de coder un bloc d'échantillons correspondant à une partie de la trame courante par un codage de transition utilisant les informations du codage de la trame précédente.For this transition, the coding method according to the invention comprises a step of encoding a block of samples of length less than or equal to the length of the frame, chosen for example as an additional subframe of 5 ms, in the transform coded current frame (MDCT), representing the left folding area of the current frame, by a transition predictive coder or restricted predictive coding. It should be noted that the type of coding in the frame preceding the transition MDCT frame could be another type of coding than the CELP coding, for example an ADPCM or a TCX coding. The invention applies in the general case where the previous frame has been coded by a coding not updating the MDCT memories in the signal domain and the invention involves coding a block of samples corresponding to a portion of the signal. the current frame by a transition coding using the information of the coding of the previous frame.
Le codage prédictif de transition est restreint par rapport au codage prédictif de la trame précédente; Il consiste à utiliser les paramètres stables de la trame précédente codée par un codage prédictif et de ne coder que quelques paramètres minimaux pour la sous-trame supplémentaire dans la trame courante de transition.The transition predictive coding is restricted compared to the predictive coding of the previous frame; It consists in using the stable parameters of the previous frame coded by a predictive coding and coding only a few minimal parameters for the additional subframe in the current transition frame.
Ainsi, ce codage prédictif restreint réutilise au moins un paramètre du codage prédictif de la trame précédente et ne code donc que les paramètres non réutilisés. En ce sens, on peut parler d'un codage restreint (par la restriction des paramètres codés).Thus, this restricted predictive coding reuses at least one parameter of the predictive coding of the preceding frame and therefore encodes only the parameters that are not reused. In this sense, one can speak of a restricted coding (by the restriction of the coded parameters).
Les modes de réalisation illustrés sur les
Sur les
Le traitement spécifique de la trame de transition correspond aux blocs 230 à 232 et au bloc 240 de la
Le codage de la trame courante de transition entre codage CELP et MDCT (seconde trame des
- Codage MDCT de la trame : dans l'exemple de réalisation illustrée en haut à la
figure 4a , la fenêtre choisie pour ce codage est la fenêtre w(n) définie précédemment, avec une longueur effective de 25ms. D'autres formes de fenêtres pour remplacer w(n) dans la trame MDCT de transition (première trame MDCT suivant une trame CELP) sont illustrées enfigures 4b ,4c ,4d et4e avec une même longueur effective qui peut être différente de 25 ms. Pour le cas de lafigure 4a , les 20ms de la trame courante sont placés au début de la portion non nulle de la fenêtre, tandis que les 5 ms restantes sont les 5 premières millisecondes de la future trame (« lookahead »). Après le calcul de la MDCT (par repliement et transformée en cosinus discret (DCT)), on obtient donc les 256 échantillons du spectre MDCT. La quantification de ces coefficients est ici faite par transmission de l'enveloppe spectrale et quantification vectorielle sphérique pour chaque sous-bande normalisée de l'enveloppe. La différence avec la description précédente du codage MDCT "normal" est que le budget alloué à la quantification vectorielle dans la trame de transition n'est plus de Btot - Benv - Binj mais de Btot - Benv - Binj - Btrans, Btrans représentant le nombre de bits nécessaires à la transmission des informations manquantes pour générer l'excitation d'entrée du filtre 1/Â(z) dans le codeur de transition. Ce nombre de bits, Btrans, est variable en fonction du débit total du codeur. - Décodage du spectre quantifié (en bas sur les
figures 4a à 4e ) : après reconstruction du spectre quantifié et l'opération de transformation MDCT inverse partielle (par dépliement et multiplication par la fenêtre de synthèse mais sans addition-recouvrement car les mémoires MDCT ne sont pas disponibles à partir de la trame précédente), on obtient le signal temporel dans lequel les 5 premières millisecondes (première sous-trame) contiennent du repliement temporel, puis 15ms du signal reconstruit, les 5 dernières millisecondes servant enfin à alimenter la mémoire MDCT nécessaire à la reconstruction de la prochaine trame, si celle-ci est de type MDCT ; dans le cas où la prochaine trame est de type CELP, cette mémoire est en général inutile. - Codage de la première sous-trame (zone grisée marquée « TR » des
figures 4a à 4e ) par le codage de transition comportant un codage prédictif restreint.
- MDCT coding of the frame: in the exemplary embodiment illustrated at the top
figure 4a , the window chosen for this encoding is the window w (n) defined previously, with an effective length of 25ms. Other forms of windows to replace w (n) in the transition MDCT frame (first MDCT frame following a CELP frame) are illustrated in FIG.Figures 4b ,4c ,4d and4th with the same effective length that can be different from 25 ms. For the case offigure 4a , the 20ms of the current frame are placed at the beginning of the non-zero portion of the window, while the remaining 5 ms are the first 5 milliseconds of the future frame ("lookahead"). After calculating the MDCT (folding and discrete cosine transform (DCT)), we obtain the 256 samples of the MDCT spectrum. The quantization of these coefficients is here made by transmission of the spectral envelope and spherical vector quantization for each normalized subband of the envelope. The difference with the previous description of the "normal" MDCT coding is that the budget allocated to the vector quantization in the transition frame is no longer B tot - B env - B inj but B tot - B env - B inj - B trans , B trans representing the number of bits needed to transmit the missing information to generate the input excitation of thefilter 1 / Â ( z ) in the transition encoder. This number of bits, B trans , is variable as a function of the total rate of the encoder. - Decoding of the quantified spectrum (down on
Figures 4a to 4e ): after reconstruction of the quantized spectrum and the partial inverse MDCT transformation operation (by unfolding and multiplication by the synthesis window but without addition-recovery since the MDCT memories are not available from the previous frame), we obtain the time signal in which the first 5 milliseconds (first subframe) contain temporal folding, then 15ms of the reconstructed signal, the last 5 milliseconds serving finally to supply the memory MDCT necessary for the reconstruction of the next frame, if this one is of MDCT type; in the case where the next frame is of CELP type, this memory is generally useless. - Encoding of the first sub-frame (shaded area marked "TR" of
Figures 4a to 4e ) by the transition encoding with restricted predictive coding.
Ce codage prédictif restreint comporte les étapes suivantes.This restricted predictive coding has the following steps.
Le filtre Â(z) de la première sous-trame est par exemple obtenu par recopie du filtre Â(z) de la quatrième sous-trame de la trame précédente. On économise ainsi le calcul de ce filtre et on économise le nombre de bits associé à son codage dans le train binaire.The filter ((z) of the first subframe is for example obtained by copying the filter ((z) of the fourth subframe of the previous frame. This saves the calculation of this filter and saves the number of bits associated with its coding in the bit stream.
Ce choix est justifié car dans un codec alternant CELP et MDCT, le mode MDCT est en général sélectionné dans les segments quasi-stationnaires où le codage dans le domaine fréquentiel est plus performant que dans le domaine temporel. Au moment de la commutation entre les modes ACELP et MDCT cette stationnarité est normalement déjà établie, on peut supposer que certains paramètres comme l'enveloppe spectrale évolue très peu de trame à trame. Ainsi le filtre de synthèse quantifié 1/Â(z) transmis lors de la trame précédente, représentant l'enveloppe spectrale du signal, peut être réutilisé de façon efficace.This choice is justified because in an alternating codec CELP and MDCT, MDCT mode is generally selected in quasi-stationary segments where the coding in the frequency domain is more efficient than in the time domain. At the moment of switching between the ACELP and MDCT modes this stationarity is normally already established, it can be assumed that some parameters such as the spectral envelope evolve very little frame to frame. Thus the
Le pitch (permettant de reconstruire l'excitation adaptative par utilisation de l'excitation passée) est calculé en boucle fermée pour cette première sous trame de transition. Celui-ci est codé dans le train binaire, éventuellement de façon différentielle par rapport au pitch de la dernière sous trame CELP. L'excitation adaptative v(n) (n=0,...,63) en est déduite. Dans une variante la valeur de pitch de la dernière trame CELP peut être également réutilisée, sans la transmettre.The pitch (for reconstructing the adaptive excitation by using the past excitation) is calculated in a closed loop for this first sub-transition frame. This is coded in the bitstream, possibly differentially with respect to the pitch of the last sub-frame CELP. The adaptive excitation v (n) (n = 0, ..., 63) is deduced from this. In a variant, the pitch value of the last CELP frame can also be reused, without transmitting it.
Un bit est alloué pour indiquer si l'excitation adaptative v(n) a été filtrée ou non par un filtre passe-bas de coefficients (0.18, 0.64, 0.18). Cependant, la valeur de ce bit pourrait être reprise de la dernière trame CELP précédente.A bit is allocated to indicate whether the adaptive excitation v ( n ) was filtered or not by a coefficient low-pass filter (0.18, 0.64, 0.18). However, the value of this bit could be taken from the last previous CELP frame.
La recherche de l'excitation algébrique de la sous-trame est effectuée en boucle fermée uniquement pour cette sous-trame de transition, et le codage des positions et signes des pulsations de l'excitation sont codés dans le train binaire, là encore avec un nombre de bits dépendant du débit du codeur.The search for the algebraic excitation of the sub-frame is performed in a closed loop only for this transition sub-frame, and the coding of the positions and signs of the excitation pulsations are coded in the bit stream, again with a number of bits depending on the encoder rate.
Les gains ĝp,ĝc , respectivement associés à l'excitation adaptative et algébrique sont codés dans le train binaire. Le nombre de bits alloués à ce codage dépend du débit du codeur.The gains ĝ p , ĝ c respectively associated with adaptive and algebraic excitation are encoded in the bit stream. The number of bits allocated to this coding depends on the rate of the encoder.
A titre d'exemple, pour un débit total de 12,65 kbit/s, 9 bits sont réservés au codage en absolu du pitch de la sous-trame, 6 bits sont réservés au codage du gain, 52 bits sont réservés au codage de l'excitation fixe, et un bit indique si l'excitation adaptative a été filtrée ou non. On réserve donc Btr =68 bits (3.4 kbit/s) pour le codage de cette sous-trame de transition, il reste donc 9.25 kbit/s pour le codage MDCT dans la trame de transition.By way of example, for a total bit rate of 12.65 kbit / s, 9 bits are reserved for the absolute coding of the pitch of the sub-frame, 6 bits are reserved for the coding of the gain, 52 bits are reserved for the coding of the the fixed excitation, and a bit indicates whether the adaptive excitation has been filtered or not. So we reserve B tr = 68 bits (3.4 kbit / s) for the encoding of this transition subframe, so there remains 9.25 kbit / s for the MDCT coding in the transition frame.
Une fois tous les paramètres obtenus et codés, on peut générer la sous-trame manquante par excitation du filtre 1/Â(z) avec l'excitation obtenue. Le bloc 231 fournit également les paramètres du codage prédictif restreint, ITR, à multiplexer dans le train binaire. Il est important de noter que le bloc 231 utilise des informations, notée Mem. sur la figure, du codage (bloc 211) effectué dans la trame précédant la trame de transition. Par exemple, les informations incluent les paramètres LPC et de pitch de la dernière sous-trame.Once all the parameters obtained and coded, one can generate the missing subframe by excitation of the
Le signal obtenu est ensuite dé-accentué (bloc 232) par le filtre 1/(1-αz -1), pour obtenir le signal reconstruit ŝTR (n) , n = 0, ..., 63 , dans la première sous-trame de la trame courante de transition CELP à MDCT.The signal obtained is then de-emphasized (block 232) by the
Il reste enfin à combiner les signaux reconstruits ŝTR (n) , n = 0, ..., 63 , et ŝMDCT (n), n = 0, ..., 255 Pour cela, un mélange progressif linéaire (fondu enchaîné ou "cross-fade" en anglais) entre les deux signaux est effectué et donne le signal de sortie suivant (bloc 240). Par exemple dans un premier mode de réalisation, ce fondu enchaîné est effectué sur les premiers 5 ms de la façon suivante comme illustré à la
Il est à noter que le fondu enchaîné entre les deux signaux est ici de 5 ms, mais il peut être de taille inférieure. Dans l'hypothèse où le codeur CELP et le codeur MDCT sont à reconstruction parfaite ou quasi-parfaite, on peut même se passer de fondu enchaîné, en effet les 5 premières millisecondes de la trame sont codées parfaitement (par le CELP restreint), et les 15ms suivantes sont également codées parfaitement (par le codeur MDCT). L'atténuation des artefacts par le fondu enchaîné n'est en théorie plus nécessaire. Dans ce cas, le signal ŝMDCT (n) s'écrit plus simplement :
Dans la variante de la
On ne spécifie pas ici pour n<0 et n > 255. Pour n < 0 la valeur de w(n) est nulle et pour n>255 les fenêtres sont déterminées par les fenêtres d'analyse et synthèse MDCT utilisées pour le codage MDCT « normal ».We do not specify here for n <0 and n> 255. For n <0 the value of w (n) is zero and for n> 255 the windows are determined by the analysis and synthesis windows MDCT used for the MDCT coding "Normal".
Le fondu enchaîné à la
Dans la variante des
On ne spécifie pas ici pour n<0 et n > 255. Pour n < 0 la valeur de w(n) est nulle et pour n>255 les fenêtres sont déterminées par les fenêtres d'analyse et synthèse MDCT utilisées pour le codage MDCT « normal ».We do not specify here for n <0 and n> 255. For n <0 the value of w (n) is zero and for n> 255 the windows are determined by the analysis and synthesis windows MDCT used for the MDCT coding "Normal".
Le fondu enchaîné à la
Dans la variante des
A noter ici , qu'on ne spécifie pas pour n<0 et n > 255. Pour n < 0 la valeur de w(n) est nulle et pour n>255 les fenêtres sont déterminées par les fenêtres d'analyse et synthèse MDCT utilisées pour le codage MDCT « normal ».Note here that we do not specify for n <0 and n> 255. For n <0 the value of w (n) is zero and for n> 255 the windows are determined by the analysis and synthesis windows MDCT used for "normal" MDCT coding.
Le fondu enchaîné est effectué de la façon suivante, supposant que :
A noter que le fondu enchaîné des
On considère dans l'exemple de réalisation que le codeur fonctionne avec une décision de mode en boucle fermée.It is considered in the exemplary embodiment that the encoder operates with a closed-loop mode decision.
A partir du signal original à 12,8 kHz, s(n) , n = 0, ..., 255 , et des signaux reconstruits par chacun des deux modes, CELP et MDCT, ŝCELP (n) et ŝMDCT (n), n = 0, ..., 255 , la décision de mode pour la trame courante est prise (bloc 254) en calculant (blocs 250, 252) les erreurs de codage s(n) - ŝCELP (n) et s(n) - ŝMDCT (n), puis en appliquant par sous-trames de 64 échantillons (5 ms) une pondération perceptuelle par le filtre W(z) = A(z / γ)/(1- αz -1) avec γ=0,92 dont les coefficients sont tirés des états du codage CELP (bloc 211), et enfin en calculant un critère de rapport signal à bruit par segmental (avec 5 ms d'unité temporelle). On ne décrit pas plus en détails le fonctionnement de la décision en boucle fermée (bloc 254). La décision du bloc 554 est codée (ISEL) et multiplexée dans le train binaire.From the original signal at 12.8 kHz, s ( n ), n = 0, ..., 255, and signals reconstructed by each of the two modes, CELP and MDCT, ŝ CELP ( n ) and ŝ MDCT ( n ), n = 0, ..., 255, the mode decision for the current frame is taken (block 254) by calculating (
Le multiplexeur 260 combine la décision codée ISEL et les différents bits venant des modules de codage dans le train binaire bst en fonction de la décision du module 254 : Pour une trame CELP on envoie les bits ICELP, pour une trame purement MDCT les bits IMDCT et pour une trame de transition CELP vers MDCT les bits ITR et IMDCT.The
Il est à noter que la décision de mode pourrait également être réalisée en boucle ouverte ou spécifiée de façon externe au codeur, sans changer la nature de l'invention.It should be noted that the mode decision could also be made in open loop or specified externally to the encoder, without changing the nature of the invention.
Le décodeur selon un mode de réalisation de l'invention, est illustré sur la
Ainsi, le décodeur réutilise au moins un paramètre de décodage prédictif de la trame précédente pour décoder une première partie de la trame de transition. Il utilise également les seuls paramètres reçus pour cette première partie qui correspondent aux paramètres non réutilisés.Thus, the decoder reuses at least one predictive decoding parameter of the previous frame to decode a first portion of the transition frame. It also uses the only parameters received for this first part which correspond to the parameters not reused.
La sortie du bloc 505 est désaccentuée par le filtre de fonction de transfert 1/(1-αz -1) (bloc 506) pour obtenir le signal reconstruit par le codage prédictif restreint ŝTR (n). Ce traitement (bloc 505 à 507) est effectué lorsque le mode précédent, noté modepre, c'est-à-dire le type de décodage de la trame précédente (CELP ou MDCT), est de type CELP.The output of
Dans une trame de transition les signaux ŝTR (n) et ŝMDCT (n) sont combinés par le bloc 507, typiquement une opération de fondu enchaîné, telle que décrite précédemment pour le codeur mettant en oeuvre l'invention, est effectuée dans la première partie de la-trame pour obtenir le signal ŝMDCT (n). Dans le cas d'une trame "purement" MDCT, c'est-à-dire si les trames courante et précédente sont codées par MDCT, ŝMDCT (n) = ŝMDCT (n). Le commutateur 509 choisit ce signal ŝMDCT (n) comme signal de sortie à 12.8 kHz ŝ(n)=ŝMDCT (n). Puis le signal reconstruit x̂(n) à 16 kHz est obtenu par sur-échantillonnage de 12,8 kHz à 16 kHz (bloc 510). On considère que ce changement de cadence est réalisé à l'aide d'un filtre à réponse impulsionnelle finie en polyphase (d'ordre 60).In a transition frame the signals ŝ TR ( n ) and ŝ MDCT ( n ) are combined by the
Ainsi, selon le procédé de codage de l'invention, les échantillons correspondants à la première sous-trame de la trame courante codée par codage par transformée, sont codés par un codeur prédictif restreint au détriment des bits disponibles au codage par transformée (cas de débit constant) ou en augmentant le débit transmis (cas de débit variable).Thus, according to the coding method of the invention, the samples corresponding to the first subframe of the current frame coded by transform coding, are coded by a restricted predictive coder to the detriment of the bits available to transform coding (case of constant flow rate) or by increasing the transmitted flow rate (variable flow rate).
Dans un mode de réalisation de l'invention illustré sur la
A noter que dans une variante, ce fondu enchaîné peut être réalisé sur la deuxième partie de la zone repliée ou l'effet de repliement est moins fort. Dans cette variante illustrée sur la
Cette variante ne peut pas être transparente même si cette perturbation à bas débit est tout à fait acceptable et en générale quasi inaudible par rapport à la dégradation intrinsèque du codage à bas débit.This variant can not be transparent even if this low-rate disturbance is quite acceptable and generally almost inaudible compared to the intrinsic degradation of the low-rate coding.
Dans une autre variante, dans la trame MDCT suivant immédiatement une trame CELP (trame de transition) (cas illustré sur la
Dans la partie encadrée et grisée de la figure on peut observer l'évolution des poids des composantes CELP et MDCT dans le fondu enchaîné. Pendant les premiers 2.5 ms de la trame de transition la sortie est identique au signal décodé du codage prédictif restreint puis la transition est faite durant les deuxième 2.5 ms suivants en diminuant progressivement le poids de la composante CELP et en augmentant le poids de la composante MDCT en fonction de la définition exacte de la fenêtre MDCT. La transition est donc faite en utilisant le signal décodé MDCT sans repliement. Ainsi on peut obtenir un codage transparent en augmentant le débit. Cependant le fenêtrage rectangulaire peut occasionner des effets de bloc en présence de bruit de codage MDCT.In the framed and shaded part of the figure we can observe the evolution of the weights of the CELP and MDCT components in the dissolve. During the first 2.5 ms of the transition frame the output is identical to the decoded signal of the restricted predictive coding and then the transition is made during the second 2.5 ms following gradually decreasing the weight of the CELP component and increasing the weight of the MDCT component depending on the exact definition of the MDCT window. The transition is therefore made using the decoded signal MDCT without folding. Thus one can obtain a transparent coding by increasing the flow. However, rectangular windowing can cause block effects in the presence of MDCT coding noise.
La
De nouveau, dans la partie encadrée et grisée de la
A noter que la variante de la
Sur les
Le fondu enchaîné à été présenté dans les exemples donnés précédemment avec des poids linéaires. Evidemment d'autres fonctions de variation des poids peuvent être également utilisées comme le front montant d'une fonction sinusoïdale par exemple. En général le poids de l'autre composante est choisi toujours de telle sorte que la somme des 2 poids soit toujours égale à un.The fade-in has been presented in the examples given above with linear weights. Obviously other functions of variation of the weights can also be used as the rising edge of a sinusoidal function for example. In general, the weight of the other component is always chosen so that the sum of the two weights is always equal to one.
A noter également que le poids du fondu enchaîné de la composante MDCT peut être intégrée dans la fenêtre de pondération de synthèse MDCT de la trame de transition pour toutes les variantes présentées, en multipliant la fenêtre de pondération de synthèse MDCT par les poids de fondu enchaîné, ce qui réduit ainsi la complexité de calcul.It should also be noted that the weight of the cross-fading of the MDCT component can be integrated in the MDCT synthesis weighting window of the transition frame for all the variants presented, by multiplying the synthesis weighting window MDCT by the fade-in weights , which reduces the complexity of calculation.
Dans ce cas la transition entre la composante de codage prédictif restreint et la composante de codage par transformée est faite en additionnant d'une part la composante de codage prédictif multipliée par les poids de fondu enchaîné et d'autre part la composante de codage par transformée ainsi obtenue, sans pondération supplémentaires par les poids. De plus, dans le cas de la variante présentée sur la
Cette approche est de plus encore plus intéressante si on utilise les poids du fondu enchaîné sinusoïdal car ainsi on améliore sensiblement les propriétés spectrale de la fenêtre de pondération d'analyse par rapport à la fenêtre rectangulaire (coté gauche) de la
On y observe que la partie montante de la fenêtre de pondération d'analyse / synthèse de transition est dans la zone sans repliement (après la ligne de repliement). Cette partie montante est ici définie comme un quart de cycle sinusoïdal, si bien que l'effet combiné des fenêtres d'analyse / synthèse donne implicitement des poids de fondu enchaîné sous la forme d'un sinus au carré. Cette partie montante sert à la fois pour le fenêtrage MDCT et pour le fondu enchainé. Les poids du fondu enchaîné pour la composante de codage prédictif restreint sont complémentaires par rapport à la partie montante des fenêtres de pondération d'analyse / synthèse combinées, de telle sorte que la somme des deux poids donne toujours 1 sur la zone où le fondu enchaîné est effectué. Pour l'exemple des fenêtres d'analyse / synthèse MDCT avec une partie montante définie comme un quart de cycle sinusoïdal, les poids du fondu enchaîné pour la composante de codage prédictif restreint sont donc sous la forme d'un cosinus au carré (1 moins sinus au carré) Ainsi les poids du fondu enchaîné sont intégrés à la fois dans la fenêtre de pondération d'analyse et de synthèse de la trame de transition. La variante illustrée à la
L'invention s'applique également au cas où des fenêtres MDCT sont asymétriques et au cas où les fenêtres MDCT d'analyse et de synthèse ne sont pas identiques comme dans la norme UIT-T G.718. Un tel exemple est donné sur la
On observe sur la
Les poids du fondu enchaîné sont choisis en fonction de la fenêtre utilisée, comme détaillé dans les variantes de réalisation de l'invention décrites précédemment (par exemple sur les
En généralisant, selon l'invention, pour la composante MDCT dans la trame de transition la moitié gauche de la fenêtre de pondération d'analyse MDCT utilisée est choisie de telle façon que la partie droite de la zone correspondante à cette moitié de fenêtre ne comporte pas de repliement temporel (par exemple selon un des exemples des
Pour limiter l'impact sur le débit alloué au codage MDCT, il est intéressant d'utiliser le moins de bits possible pour ce codage prédictif restreint tout en garantissant une bonne qualité. Dans un codec alternant CELP et MDCT, le mode MDCT est en général sélectionné dans les segments quasi-stationnaires où le codage dans le domaine fréquentiel est plus performant que dans le domaine temporel. Cependant on peut considérer aussi des cas où la décision de mode est prise en boucle ouverte ou pilotée de façon externe au codeur, sans garantie que l'hypothèse de stationnarité soit vérifiée.To limit the impact on the bit rate allocated to the MDCT coding, it is interesting to use the least bits possible for this restricted predictive coding while guaranteeing good quality. In an alternating CELP and MDCT codec, the MDCT mode is generally selected in quasi-stationary segments where the frequency domain coding is more efficient than in the time domain. However one can also consider cases where the mode decision is taken in open loop or driven externally to the encoder, without guarantee that the hypothesis of stationarity is verified.
Au moment de la commutation entre les modes ACELP et MDCT cette stationnarité est normalement déjà établie, on peut supposer que certains paramètres comme l'enveloppe spectrale évolue très peu de trame à trame. Ainsi le filtre de synthèse quantifié 1/A(z) transmis lors de la trame précédente, représentant l'enveloppe spectrale du signal, peut être réutilisé afin d'économiser des bits pour le codage MDCT. On utilise le dernier filtre de synthèse transmis dans le mode CELP (le plus proche du signal à coder).When switching between the ACELP and MDCT modes this stationarity is normally already established, it can be assumed that certain parameters as the spectral envelope evolves very little frame to frame. Thus, the
Les informations utilisées pour coder le signal dans la trame de transition sont: le pitch (associé à l'excitation à long terme), le vecteur d'excitation (ou innovation) ainsi que le(s) gain(s) associé(s) à l'excitation.The information used to code the signal in the transition frame is: the pitch (associated with the long-term excitation), the excitation vector (or innovation) as well as the associated gain (s) to excitement.
Dans un autre mode de réalisation de l'invention la valeur décodée du pitch et/ou son gain associé à la dernière sous-trame peuvent être également réutilisés car ces paramètres évoluent aussi lentement dans les zones stationnaires. On diminue ainsi encore plus la quantité d'information à transmettre lors d'une transition de CELP à MDCT.In another embodiment of the invention, the decoded value of the pitch and / or its gain associated with the last sub-frame can also be reused because these parameters are also changing slowly in the stationary zones. This further reduces the amount of information to be transmitted during a transition from CELP to MDCT.
Il est également possible, dans une variante de réalisation, de quantifier ces paramètres en différentiel sur peu de bits par rapport aux paramètres décodés dans la dernière sous-trame de la trame CELP précédente. Dans ce cas, on code ainsi uniquement la correction qui représente l'évolution lente de ces paramètres.It is also possible, in an alternative embodiment, to quantify these differential parameters on a few bits with respect to the decoded parameters in the last subframe of the previous CELP frame. In this case, we only code the correction that represents the slow evolution of these parameters.
L'une des propriétés désirées de la transition de CELP à MDCT est qu'à débit asymptotiquement élevé, lorsque les codeurs CELP et MDCT sont quasiment à reconstruction parfaite, le codage effectué dans la trame transition (trame MDCT suivante une trame CELP) doit être lui-même à reconstruction quasi-parfaite. Les variantes illustrées sur les
Dans un souci d'homogénéité de qualité, le nombre de bits alloué à ces paramètres du codage prédictif restreint peut être variable et proportionnel au débit total.For reasons of quality homogeneity, the number of bits allocated to these parameters of the restricted predictive coding may be variable and proportional to the total bit rate.
Afin de limiter les effets de transition d'un type de codage à l'autre, une transition progressive entre la partie du signal codée par le codage prédictif et le reste de la trame codée par transformée (fondu enchaîné, "fade-in" pour la composante par transformée, "fade-out" pour la composante prédictive) est effectuée. Pour atteindre la qualité transparente, ce fondu enchaîné doit être réalisé sur un signal décodé MDCT sans repliement.In order to limit the transition effects of one type of coding to another, a gradual transition between the part of the signal coded by the predictive coding and the remainder of the transformed coded frame (fade-in) the transform component, "fade-out" for the predictive component) is performed. To achieve the transparent quality, this crossfade must be performed on a decoded signal MDCT without folding.
En plus des variantes des
Il est à noter que l'invention est décrite aux
Par ailleurs, d'autres variantes sont également définies dans le cas où la sélection de modes CELP / MDCT n'est pas optimale et l'hypothèse de stationnarité du signal dans la trame de transition n'est pas vérifiée et la réutilisation des paramètres de la dernière trame CELP (LPC, pitch) peut causer des dégradations audibles. Pour de tels cas, l'invention prévoit la transmission d'au moins un bit pour indiquer un mode de transition différent du procédé décrit précédemment, afin de garder plus de paramètres CELP et/ou de sous-trames CELP à coder dans la trame de transition de CELP à MDCT. Par exemple un premier bit peut signaler si dans la suite du train binaire le filtre LPC est codé ou la dernière version reçue peut être utilisée au décodeur, et un autre bit pourrait signaler la même chose pour la valeur du pitch. Dans le cas où l'encodage d'un paramètre est jugé nécessaire ceci peut être fait en différentiel par rapport à la valeur transmise dans la dernière trame.Moreover, other variants are also defined in the case where the selection of CELP / MDCT modes is not optimal and the assumption of stationarity of the signal in the transition frame is not verified and the reuse of the parameters of the last CELP (LPC) frame can cause audible impairments. For such cases, the invention provides for the transmission of at least one bit to indicate a transition mode different from the method described above, in order to keep more CELP parameters and / or CELP subframes to be coded in the frame of transition from CELP to MDCT. For example, a first bit may indicate whether in the remainder of the bit stream the LPC filter is coded or the last received version may be used at the decoder, and another bit may signal the same for the pitch value. In the case where the encoding of a parameter is deemed necessary this can be done in differential with respect to the value transmitted in the last frame.
Ainsi, d'une façon générale, en accord avec les modes de réalisation décrits précédemment, le procédé de codage selon l'invention peut être illustré sous forme d'organigramme comme représenté en
Pour le signal à coder s(n), on vérifie à l'étape E601 que l'on se trouve dans le cas où la trame courante est à codée selon un codage par transformée et où la trame précédente a été codée selon un codage de type prédictif. Ainsi, la trame courante est une trame de transition entre le codage prédictif et le codage par transformée.For the signal to be coded s (n), it is verified in step E601 that it is in the case where the current frame is coded according to a transform coding and the previous frame has been coded according to a coding of predictive type. Thus, the current frame is a transition frame between predictive coding and transform coding.
A l'étape E602, un codage prédictif restreint, est appliqué sur une première partie de la trame courante. Ce codage prédictif est restreint par rapport au codage prédictif utilisé pour la trame précédente.In step E602, a restricted predictive coding is applied to a first part of the current frame. This predictive coding is restricted compared to the predictive coding used for the previous frame.
A l'issue de cette étape de codage prédictif restreint, le signal ŝTR (n) est obtenu.At the end of this restricted predictive coding step, the signal ŝ TR ( n ) is obtained.
Le codage MDCT de la trame courante est effectué à l'étape E603, parallèlement pour toute la trame courante.The MDCT coding of the current frame is performed in step E603, in parallel for the entire current frame.
A l'issue de cette étape de codage par transformée, le signal ŝMDCT (n) est obtenu.At the end of this transform coding step, the signal ŝ MDCT (n) is obtained.
Selon les modes de réalisation décrits pour l'invention, le procédé comporte une étape de combinaison par fondu enchaîné à l'étape E604, après reconstruction des signaux, permettant d'effectuer une transition douce entre le codage prédictif et le codage par transformée dans la trame de transition. A l'issue de cette étape, un signal reconstruit ŝMDCT (n) est obtenu.According to the embodiments described for the invention, the method comprises a step of cross-fading in step E604, after reconstruction of the signals, making it possible to perform a smooth transition between the predictive coding and the transform coding in the transition frame. At the end of this step, a reconstructed signal ŝ MDCT (n) is obtained.
De même, de façon générale, le procédé de décodage selon l'invention est illustré en référence à la
Lorsqu'au décodage, une trame précédente à été décodée selon une méthode de décodage de type prédictif et que la trame courante est à décoder selon une méthode de décodage de type transformée (vérification en E605), le procédé de décodage comporte une étape de décodage par un décodage prédictif restreint d'une première partie de la trame courante, en E606. Il comporte également une étape de décodage par transformée en E607 de la trame courante.When at the decoding, a previous frame has been decoded according to a predictive type decoding method and the current frame is to be decoded according to a transform type decoding method (verification in E605), the decoding method includes a decoding step by a restricted predictive decoding of a first part of the current frame, in E606. It also comprises a step of decoding by transforming the current frame into E607.
Une étape E608 est ensuite effectuée, selon les modes de réalisation décrits précédemment, pour effectuer une combinaison des signaux décodés obtenus, respectivement ŝTR (n) et ŝMDCT (n), par fondu enchaîné sur tout ou partie de la trame courante et ainsi obtenir le signal décodé ŝMDCT (n) de la trame courante.A step E608 is then performed, according to the embodiments described above, to effect a combination of the decoded signals obtained, respectively ŝ TR ( n ) and ŝ MDCT ( n ), by fade-out over all or part of the current frame and thus obtain the decoded signal ŝ MDCT (n) of the current frame.
Enfin, l'invention a été présentée dans le cas spécifique d'une transition de CELP à MDCT. Il est évident que cette invention s'applique également au cas où le codage CELP est remplacé par un autre type de codage, tel que MICDA, TCX, et où un codage de transition sur une partie de la trame de transition est effectué en utilisant les informations du codage de la trame précédent la trame MDCT de transition.Finally, the invention has been presented in the specific case of a transition from CELP to MDCT. It is obvious that this invention also applies in the case where the CELP coding is replaced by another type of coding, such as ADPCM, TCX, and where a transition coding on a part of the transition frame is performed using the encoding information of the frame preceding the transition MDCT frame.
En référence à la
Ce dispositif DISP comporte une entrée pour recevoir un signal numérique SIG qui dans le cas du codeur est un signal d'entrée x(n') et dans le cas du décodeur, le train binaire bst.This device DISP comprises an input for receiving a digital signal SIG which in the case of the encoder is an input signal x (n ') and in the case of the decoder, the bit stream bst.
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.The device also comprises a processor PROC of digital signals adapted to perform coding / decoding operations in particular on a signal from the input 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écrit ci-avant et notamment pour mettre en oeuvre les étapes de codage d'une trame précédente d'échantillons du signal numérique selon un codage prédictif, codage d'une trame courante d'échantillons du signal numérique selon un codage par transformée, de telle sorte qu'une première partie de la trame courante est codée par un codage prédictif restreint par rapport au codage prédictif de la trame précédente, lorsque le dispositif est de type codeur.This processor is connected to one or more memory units MEM adapted to store information necessary for controlling the device for the device. coding / decoding. For example, these memory units comprise instructions for implementing the coding method described above and in particular for implementing the steps of coding a previous frame of samples of the digital signal according to a predictive coding, coding of a current frame of samples of the digital signal according to a transform coding, such that a first part of the current frame is coded by a predictive coding restricted with respect to the predictive coding of the preceding frame, when the device is encoder type.
Lorsque le dispositif est de type décodeur, ces unités de mémoire comportent des instructions pour la mise en oeuvre du procédé de décodage décrit ci-avant et notamment pour mettre en oeuvre les étapes de décodage prédictif d'une trame précédente d'échantillons du signal numérique reçue et codée selon un codage prédictif, décodage par transformée inverse d'une trame courante d'échantillons du signal numérique reçue et codée selon un codage par transformée, et en outre une étape de décodage par un décodage prédictif restreint par rapport au décodage prédictif de la trame précédente d'une première partie de la trame courante.When the device is of decoder type, these memory units comprise instructions for implementing the decoding method described above and in particular for implementing the predictive decoding steps of a previous frame of samples of the digital signal. received and coded according to a predictive coding, inverse transform decoding of a current frame of samples of the received digital signal and encoded by transform coding, and further a decoding step by a predictive decoding restricted with respect to the predictive decoding of the previous frame of a first part of the current frame.
Ces unités de mémoire peuvent également comporter des paramètres de calcul ou d'autres informations.These memory units may also include calculation parameters or other information.
De manière plus générale, un moyen de stockage, lisible par un processeur, intégré ou non au codeur ou au décodeur, éventuellement amovible, mémorise un programme informatique mettant en oeuvre un procédé de codage et/ou un procédé de décodage selon l'invention. Les
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* qui dans le cas du codeur est un signal sous forme de train binaire bst et dans 1 e cas du décodeur, un signal de sortie x̂(n').The processor is also adapted to store results in these memory units. Finally, the device comprises an output S connected to the processor for providing an output signal SIG * which in the case of the encoder is a signal in the form of a bit stream bst and in the case of the decoder, an output signal x ( n ' ).
Claims (16)
- Method for coding a digital sound signal, comprising the steps of:- coding (E601) of a preceding frame of samples of the digital signal according to predictive coding;- coding (E603) of a current frame of samples of the digital signal according to transform coding,the method being characterized in that a first part of the current frame is coded (E602) by predictive coding that is restricted relative to the predictive coding of the preceding frame by reusing at least one parameter of the predictive coding of the preceding frame and by coding only the unreused parameters of this first part of the current frame.
- Method according to Claim 1, characterized in that the restricted predictive coding uses a prediction filter copied from the preceding frame of predictive coding.
- Method according to Claim 2, characterized in that the restricted predictive coding also uses a decoded value of the pitch and/or of its associated gain of the preceding frame of predictive coding.
- Method according to Claim 1, characterized in that certain parameters of predictive coding used for the restricted predictive coding are quantized in differential mode relative to decoded parameters of the preceding frame of predictive coding.
- Method according to Claim 1, characterized in that it comprises a step of obtaining the reconstructed signals originating from the predictive and transform local codings and decodings of the first part of the current frame and of combining (E604) by a cross-fade of these reconstructed signals.
- Method according to Claim 5, characterized in that said cross-fade of the reconstructed signals is carried out on a portion of the first part of the current frame as a function of the shape of the window of the transform coding.
- Method according to Claim 5, characterized in that said cross-fade of the reconstructed signals is carried out on a portion of the first part of the current frame, said portion containing no time-domain aliasing.
- Method according to Claim 1, characterized in that the transform coding uses a weighting window comprising a chosen number of successive weighting coefficients of zero value at the end and beginning of the window.
- Method according to Claim 1, characterized in that the transform coding uses an asymmetric weighting window comprising a chosen number of successive weighting coefficients of zero value at at least one end of the window.
- Method for decoding a digital sound signal, comprising the steps of:- predictive decoding (E605) of a preceding frame of samples of the digital signal received and coded according to predictive coding;- inverse transform decoding (E607) of a current frame of samples of the digital signal received and coded according to transform coding;the method being characterized in that it also comprises a step of decoding (E606) by restricted predictive decoding relative to the predictive decoding of the preceding frame of a first part of the current frame received and coded according to restricted predictive coding, by reusing at least one parameter of the predictive decoding of the preceding frame and by decoding only the parameters received for this first part of the current frame.
- Method according to Claim 10, characterized in that it comprises a step of combining (E608) by a cross-fade of the signals decoded by inverse transform and by restricted predictive decoding for at least one portion of the first part of the current frame.
- Method according to Claim 10, characterized in that the restricted predictive decoding uses a prediction filter decoded and used by the predictive decoding of the preceding frame.
- Method according to Claim 12, characterized in that the restricted predictive decoding also uses a decoded value of the pitch and/or of its associated gain of the predictive decoding of the preceding frame.
- Digital sound signal encoder, comprising:- a predictive coding module (211) for coding a preceding frame of samples of the digital signal;- a transform coding module (221) for coding a current frame of samples of the digital signal,characterized in that it also comprises a predictive coding module (231) that is restricted relative to the predictive coding of the preceding frame in order to code a first part of the current frame, by reusing at least one parameter of the predictive coding of the preceding frame and by coding only the unreused parameters of this first part of the current frame.
- Digital sound signal decoder, comprising:- a predictive decoding module (501) for decoding a preceding frame of samples of the digital signal received and coded according to predictive coding;- an inverse transform decoding module (503) for decoding a current frame of samples of the digital signal received and coded according to transform coding;characterized in that it also comprises a predictive decoding module (505) that is restricted relative to the predictive decoding of the preceding frame in order to decode a first part of the current frame received and coded according to restricted predictive coding, by reusing at least one parameter of the predictive decoding of the preceding frame and by decoding only the parameters received for this first part of the current frame.
- Computer program comprising code instructions for the implementation of the steps of the coding method according to one of Claims 1 to 9 and/or of the decoding method according to one of Claims 10 to 13, when these instructions are executed by a processor.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1061203A FR2969805A1 (en) | 2010-12-23 | 2010-12-23 | LOW ALTERNATE CUSTOM CODING PREDICTIVE CODING AND TRANSFORMED CODING |
PCT/FR2011/053097 WO2012085451A1 (en) | 2010-12-23 | 2011-12-20 | Low-delay sound-encoding alternating between predictive encoding and transform encoding |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2656343A1 EP2656343A1 (en) | 2013-10-30 |
EP2656343B1 true EP2656343B1 (en) | 2014-11-19 |
Family
ID=44059261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP11815474.9A Active EP2656343B1 (en) | 2010-12-23 | 2011-12-20 | Tonsignalkodierung mit geringer verzögerung unter alternierender verwendung von prädiktiver kodierung und transformationskodierung |
Country Status (10)
Country | Link |
---|---|
US (1) | US9218817B2 (en) |
EP (1) | EP2656343B1 (en) |
JP (1) | JP5978227B2 (en) |
KR (1) | KR101869395B1 (en) |
CN (1) | CN103384900B (en) |
BR (1) | BR112013016267B1 (en) |
ES (1) | ES2529221T3 (en) |
FR (1) | FR2969805A1 (en) |
RU (1) | RU2584463C2 (en) |
WO (1) | WO2012085451A1 (en) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4977157B2 (en) | 2009-03-06 | 2012-07-18 | 株式会社エヌ・ティ・ティ・ドコモ | Sound signal encoding method, sound signal decoding method, encoding device, decoding device, sound signal processing system, sound signal encoding program, and sound signal decoding program |
KR102053900B1 (en) | 2011-05-13 | 2019-12-09 | 삼성전자주식회사 | Noise filling Method, audio decoding method and apparatus, recoding medium and multimedia device employing the same |
CN103548080B (en) * | 2012-05-11 | 2017-03-08 | 松下电器产业株式会社 | Hybrid audio signal encoder, voice signal hybrid decoder, sound signal encoding method and voice signal coding/decoding method |
KR101498113B1 (en) * | 2013-10-23 | 2015-03-04 | 광주과학기술원 | A apparatus and method extending bandwidth of sound signal |
FR3013496A1 (en) * | 2013-11-15 | 2015-05-22 | Orange | TRANSITION FROM TRANSFORMED CODING / DECODING TO PREDICTIVE CODING / DECODING |
US9489955B2 (en) * | 2014-01-30 | 2016-11-08 | Qualcomm Incorporated | Indicating frame parameter reusability for coding vectors |
US10134403B2 (en) * | 2014-05-16 | 2018-11-20 | Qualcomm Incorporated | Crossfading between higher order ambisonic signals |
FR3023036A1 (en) * | 2014-06-27 | 2016-01-01 | Orange | RE-SAMPLING BY INTERPOLATION OF AUDIO SIGNAL FOR LOW-LATER CODING / DECODING |
EP2980795A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor |
EP2980796A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and apparatus for processing an audio signal, audio decoder, and audio encoder |
EP2980797A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder, method and computer program using a zero-input-response to obtain a smooth transition |
EP2980794A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder using a frequency domain processor and a time domain processor |
FR3024582A1 (en) | 2014-07-29 | 2016-02-05 | Orange | MANAGING FRAME LOSS IN A FD / LPD TRANSITION CONTEXT |
FR3024581A1 (en) * | 2014-07-29 | 2016-02-05 | Orange | DETERMINING A CODING BUDGET OF A TRANSITION FRAME LPD / FD |
WO2016142002A1 (en) * | 2015-03-09 | 2016-09-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal |
CN114898761A (en) * | 2017-08-10 | 2022-08-12 | 华为技术有限公司 | Stereo signal coding and decoding method and device |
CN110556118B (en) * | 2018-05-31 | 2022-05-10 | 华为技术有限公司 | Coding method and device for stereo signal |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5787387A (en) * | 1994-07-11 | 1998-07-28 | Voxware, Inc. | Harmonic adaptive speech coding method and system |
JP3317470B2 (en) * | 1995-03-28 | 2002-08-26 | 日本電信電話株式会社 | Audio signal encoding method and audio signal decoding method |
JP3653826B2 (en) * | 1995-10-26 | 2005-06-02 | ソニー株式会社 | Speech decoding method and apparatus |
US6134518A (en) * | 1997-03-04 | 2000-10-17 | International Business Machines Corporation | Digital audio signal coding using a CELP coder and a transform coder |
DE69926821T2 (en) * | 1998-01-22 | 2007-12-06 | Deutsche Telekom Ag | Method for signal-controlled switching between different audio coding systems |
US6959274B1 (en) * | 1999-09-22 | 2005-10-25 | Mindspeed Technologies, Inc. | Fixed rate speech compression system and method |
US7171355B1 (en) * | 2000-10-25 | 2007-01-30 | Broadcom Corporation | Method and apparatus for one-stage and two-stage noise feedback coding of speech and audio signals |
US6658383B2 (en) * | 2001-06-26 | 2003-12-02 | Microsoft Corporation | Method for coding speech and music signals |
JP3881943B2 (en) * | 2002-09-06 | 2007-02-14 | 松下電器産業株式会社 | Acoustic encoding apparatus and acoustic encoding method |
US7596486B2 (en) * | 2004-05-19 | 2009-09-29 | Nokia Corporation | Encoding an audio signal using different audio coder modes |
CN101308656A (en) * | 2007-05-17 | 2008-11-19 | 展讯通信(上海)有限公司 | Coding and decoding method of audio transient signal |
PL2311034T3 (en) * | 2008-07-11 | 2016-04-29 | Fraunhofer Ges Forschung | Audio encoder and decoder for encoding frames of sampled audio signals |
FR2936898A1 (en) | 2008-10-08 | 2010-04-09 | France Telecom | CRITICAL SAMPLING CODING WITH PREDICTIVE ENCODER |
RU2393548C1 (en) * | 2008-11-28 | 2010-06-27 | Общество с ограниченной ответственностью "Конвент Люкс" | Device for conversion of input voice signal into output voice signal in compliance with target voice signal |
JP4977157B2 (en) * | 2009-03-06 | 2012-07-18 | 株式会社エヌ・ティ・ティ・ドコモ | Sound signal encoding method, sound signal decoding method, encoding device, decoding device, sound signal processing system, sound signal encoding program, and sound signal decoding program |
-
2010
- 2010-12-23 FR FR1061203A patent/FR2969805A1/en not_active Withdrawn
-
2011
- 2011-12-20 BR BR112013016267-8A patent/BR112013016267B1/en active IP Right Grant
- 2011-12-20 JP JP2013545471A patent/JP5978227B2/en active Active
- 2011-12-20 RU RU2013134227/08A patent/RU2584463C2/en active
- 2011-12-20 ES ES11815474.9T patent/ES2529221T3/en active Active
- 2011-12-20 WO PCT/FR2011/053097 patent/WO2012085451A1/en active Application Filing
- 2011-12-20 CN CN201180068351.0A patent/CN103384900B/en active Active
- 2011-12-20 KR KR1020137019387A patent/KR101869395B1/en active IP Right Grant
- 2011-12-20 US US13/997,446 patent/US9218817B2/en active Active
- 2011-12-20 EP EP11815474.9A patent/EP2656343B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9218817B2 (en) | 2015-12-22 |
CN103384900B (en) | 2015-06-10 |
BR112013016267B1 (en) | 2021-02-02 |
JP5978227B2 (en) | 2016-08-24 |
RU2584463C2 (en) | 2016-05-20 |
CN103384900A (en) | 2013-11-06 |
RU2013134227A (en) | 2015-01-27 |
US20130289981A1 (en) | 2013-10-31 |
BR112013016267A2 (en) | 2018-07-03 |
ES2529221T3 (en) | 2015-02-18 |
KR20130133816A (en) | 2013-12-09 |
JP2014505272A (en) | 2014-02-27 |
KR101869395B1 (en) | 2018-06-20 |
WO2012085451A1 (en) | 2012-06-28 |
FR2969805A1 (en) | 2012-06-29 |
EP2656343A1 (en) | 2013-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2656343B1 (en) | Tonsignalkodierung mit geringer verzögerung unter alternierender verwendung von prädiktiver kodierung und transformationskodierung | |
EP1907812B1 (en) | Method for switching rate- and bandwidth-scalable audio decoding rate | |
EP1905010B1 (en) | Hierarchical audio encoding/decoding | |
EP2277172B1 (en) | Concealment of transmission error in a digital signal in a hierarchical decoding structure | |
EP1989706B1 (en) | Device for perceptual weighting in audio encoding/decoding | |
EP2080195B1 (en) | Synthesis of lost blocks of a digital audio signal | |
EP3014611B1 (en) | Improved frequency band extension in an audio signal decoder | |
EP3330966B1 (en) | Improved frequency band extension in an audio frequency signal decoder | |
EP3175444B1 (en) | Frame loss management in an fd/lpd transition context | |
EP3069340B1 (en) | Transition from a transform coding/decoding to a predictive coding/decoding | |
EP3175443B1 (en) | Determining a budget for lpd/fd transition frame encoding | |
EP2080194B1 (en) | Attenuation of overvoicing, in particular for generating an excitation at a decoder, in the absence of information | |
EP2005424A2 (en) | Method for post-processing a signal in an audio decoder |
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: 20130715 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAX | Request for extension of the european patent (deleted) | ||
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Ref document number: 602011011646 Country of ref document: DE Free format text: PREVIOUS MAIN CLASS: G10L0019140000 Ipc: G10L0019022000 |
|
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/12 20130101ALI20140430BHEP Ipc: G10L 19/022 20130101AFI20140430BHEP Ipc: G10L 19/02 20130101ALN20140430BHEP Ipc: G10L 19/04 20130101ALN20140430BHEP Ipc: G10L 19/18 20130101ALI20140430BHEP |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G10L 19/12 20130101ALI20140521BHEP Ipc: G10L 19/02 20130101ALN20140521BHEP Ipc: G10L 19/04 20130101ALN20140521BHEP Ipc: G10L 19/18 20130101ALI20140521BHEP Ipc: G10L 19/022 20130101AFI20140521BHEP |
|
INTG | Intention to grant announced |
Effective date: 20140603 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 697423 Country of ref document: AT Kind code of ref document: T Effective date: 20141215 |
|
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: 602011011646 Country of ref document: DE Effective date: 20141231 |
|
REG | Reference to a national code |
Ref country code: ES Ref legal event code: FG2A Ref document number: 2529221 Country of ref document: ES Kind code of ref document: T3 Effective date: 20150218 |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: VDEP Effective date: 20141119 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 697423 Country of ref document: AT Kind code of ref document: T Effective date: 20141119 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: 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: 20150219 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: 20141119 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: 20141119 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: 20150319 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: 20141119 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: 20150319 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
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: 20141119 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: 20141119 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: 20141119 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: 20141119 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: 20141119 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: 20150220 Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20141119 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: 20141119 |
|
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: 20141231 |
|
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: 20141119 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20141119 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: 20141119 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: 20141119 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: 20141119 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602011011646 Country of ref document: DE |
|
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: 20141119 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
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 |
|
26N | No opposition filed |
Effective date: 20150820 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20141231 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20141231 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20141220 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 5 |
|
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: 20141119 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20141119 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
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: 20141119 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20141119 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: 20141119 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: 20111220 Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20141220 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 6 |
|
REG | Reference to a national code |
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: 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: 20141119 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20141119 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: IT Payment date: 20221122 Year of fee payment: 12 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20231124 Year of fee payment: 13 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20231122 Year of fee payment: 13 Ref country code: DE Payment date: 20231121 Year of fee payment: 13 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: ES Payment date: 20240102 Year of fee payment: 13 |