WO2006114494A1 - Procede d’adaptation pour une interoperabilite entre modeles de correlation a cout terme de signaux numeriques - Google Patents

Procede d’adaptation pour une interoperabilite entre modeles de correlation a cout terme de signaux numeriques Download PDF

Info

Publication number
WO2006114494A1
WO2006114494A1 PCT/FR2006/000805 FR2006000805W WO2006114494A1 WO 2006114494 A1 WO2006114494 A1 WO 2006114494A1 FR 2006000805 W FR2006000805 W FR 2006000805W WO 2006114494 A1 WO2006114494 A1 WO 2006114494A1
Authority
WO
WIPO (PCT)
Prior art keywords
format
interpolation
block
lpc
coding
Prior art date
Application number
PCT/FR2006/000805
Other languages
English (en)
Inventor
Mohamed Ghenania
Claude Lamblin
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Priority to US11/919,065 priority Critical patent/US8078457B2/en
Priority to CN200680023048.8A priority patent/CN101208741B/zh
Priority to EP06743681A priority patent/EP1875465A1/fr
Publication of WO2006114494A1 publication Critical patent/WO2006114494A1/fr

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding

Definitions

  • the invention relates to the encoding / decoding of digital signals, particularly in applications for transmitting or storing multimedia signals such as audio signals (speech and / or sounds).
  • encoders use signal properties such as its harmonic structure, exploited by. long-term prediction filters, as well as its local stationary, exploited by short-term prediction filters.
  • the speech signal can be considered as a stationary signal for example over time intervals of 10 to 20 ms. This signal can therefore be analyzed by sample blocks called frames after appropriate windowing.
  • the short-term correlations can be modeled by time-varying linear filters whose coefficients are obtained by means of a linear prediction analysis on frames, of short duration (from 10 to 20 ms in the aforementioned example ).
  • Linear prediction coding is one of the most widely used digital coding techniques. It involves performing an LPC analysis of the signal to be coded to determine an LPC filter, then quantifying this filter, on the one hand, and modeling and coding the excitation signal, on the other hand. This LPC analysis is performed by minimizing the prediction error on the signal to be modeled or a modified version of this signal.
  • the autoregressive P-order linear prediction model consists in determining a signal sample at an instant n by a linear combination of the past P samples (prediction principle).
  • the short-term prediction filter denoted by A (z)
  • ⁇ 0) ⁇ - ⁇ , x2 ⁇ '
  • LSP coefficients are now the most used for the representation of the LPC filter because they are well suited for vector quantization.
  • Linear prediction exploits the quasi-local stationarity of the signal. However, this assumption of local parking is not always verified. In particular, if the updating of the LPC coefficients is not done often enough, the quality of the LPC analysis deteriorates. Increasing the calculation frequency of the LPC parameters obviously improves the quality of the LPC analysis by making it possible to better follow the spectral variations of the signal. However, this situation leads to an increase in the number of filters to be transmitted and therefore an increase in the flow rate.
  • the G.729 encoder uses interpolation of the transformed LPC parameters to obtain LPC parameters every 5 ms.
  • the complexity of the LPC analysis is critical when several codings must be performed by a single processing unit such as a gateway responsible for managing many parallel communications or a server distributing a large number of multimedia contents.
  • the problem of complexity is further increased by the multiplicity of signal compression formats that circulate on the networks. It will therefore be understood that a first problem arises with respect to a compromise between bit rate / quality / complexity for the LPC analysis.
  • Transcoding is necessary when, in a transmission chain, a compressed signal frame transmitted by an encoder can no longer continue its path in this format. Transcoding makes it possible to convert this frame into another format compatible with the rest of the transmission chain.
  • the most basic solution (and the most common at the moment) is the end-to-end addition of a decoder and an encoder.
  • the compressed frame arrives in a first format. It is then decompressed.
  • the decompressed signal is then compressed again in a second format accepted by following the chain comrr ⁇ nicltio ⁇ T "This” ifiis ⁇ "Eri ⁇ cascâd ⁇ Tcl'Dn" decoder and a coder is called a tandem.
  • Such a solution is very expensive in complexity (essentially because of the recoding) and it degrades the quality because the second coding is done on a decoded signal which is a degraded version of the original signal.
  • a frame can meet several tandems before arriving at its destination, resulting in a high calculation cost and a loss of quality.
  • the delays associated with each tandem operation accumulate and can hinder the interactivity of communications.
  • the complexity is also problematic in the context of a multi-format compression system where the same content is compressed in several formats. This is typically the case for content servers that broadcast the same content in several formats adapted to the conditions of access, networks and terminals of different customers. This multi-coding operation becomes extremely complex as the number of desired formats increases, so that the resources of the system appear to be rapidly limited.
  • post-decision multi-mode compression Another case of multiple-coding in parallel is post-decision multi-mode compression which is described as follows. For each signal segment to be encoded, several compression modes are performed and the one that optimizes a given criterion or obtains the best compromise between bit rate and distortion is selected.
  • the complexity of each of the modes of compression limits the number and / or leads to elaborate a selection a priori of a very limited number of modes.
  • a second problem arises with respect to the multiplicity of possible compression formats.
  • the transcoding of the parameter is done at the binary level by copying its bit field of the bit stream of the format A into the bit stream of the If the parameter is calculated in the same way but quantified differently, it is usually necessary to re-quantify it with the method used by the coding format B. Similarly, if the formats A and B do not calculate this parameter at the same frequency (for example if their frame lengths or subframes are different), it is necessary to interpolate this parameter. It is possible to perform this step only on the above parameter, without having to go back to the complete signal. The transcoding is then performed only at the parameter level. Moreover, the LSP coefficients are usually transcoded at this "parameter" level.
  • a first method consists in calculating the coefficients modeling the LPC filter of the second format for a frame, by interpolating the coefficients of the LPC filters of the second format corresponding substantially to this frame:
  • PB ( m ) ⁇ * PA (»-! + ⁇ P ⁇ ( n )
  • p B (m) is the vector of coefficients of the second model for its frame (m)
  • p A ( ⁇ ) is the vector of coefficients of the first model for its frame n
  • ⁇ and ⁇ are interpolation factors. In general, ⁇ is equal to (1- ⁇ ).
  • P E vacQm 0.5417p GJ23 ⁇ (2m-1) + 0 ⁇ 583p GJ13 ⁇ (2rn + 1)
  • p EVRC (3m + 1) 0.8750 J p ⁇ mi (2w) + 0.1250p ⁇ i723i i (2w + 1)
  • the set of interpolation factors is set according to the temporal position of the frame of the second format in its group of frames. Even more complex transcoding methods that involve more than two first-format filters, or second-format filters, use a fixed set of interpolation factors.
  • the present invention proposes to use an adaptive (or “dynamic”) interpolation.
  • An object of the invention is the dynamic selection of a set of interpolation factors in a multiple coding context.
  • Another object of the invention is to limit the number of sets of interpolation factors, preferably taking into account a desired quality / complexity compromise and, for a given complexity, to optimize the quality or, conversely, to minimize the complexity for a given quality.
  • the invention firstly proposes a coding method according to a second format, based on information obtained by implementing at least one coding step in a first format.
  • the first and second formats implement, in particular for the coding of a speech signal, short-term prediction models LPC on blocks of samples of digital signal, using filters represented by respective LPC coefficients.
  • the LPC coefficients of the second format are determined from an interpolation on values representative of the LPC coefficients of the first format at least, between at least a first given block and a second block, preceding the first block. .
  • the aforementioned interpolation is conducted dynamically, by selecting for each current block at least one interpolation factor among a preselection of factors, according to a predetermined criterion.
  • pre-assembled set of interpolation factors which, in no way limiting, may include sets of factors ⁇ and ⁇ as defined above ( ⁇ and ⁇ pairs, or even ⁇ triplets).
  • the invention proposes to determine a set of several sets of interpolation factors and to use, for each LPC analysis block , a set of interpolation factors selected from this preconstituted set.
  • This selection in the preconstituted set is performed dynamically according to the aforementioned predetermined criterion.
  • This predetermined criterion may advantageously be related to the detection of a stationary failure of the digital signal between the given block and the previous block.
  • the preselection can be built initially according to a heuristic choice or from a preliminary statistical study, as will be seen in the detailed description below.
  • FIG. 1 schematically represents an exemplary transcoding module for the implementation of the invention
  • FIG. 2 diagrammatically illustrates the interpolation principle in order to estimate the representative values of the LPC coefficients of the second format for a succession. of blocks m-1, m, m + 1 of the coded second format signal SC2, from an interpolation conducted on the representative values of the estimated first format LPC coefficients for successive blocks n-2, n-1, n of the first coded signal SC1,
  • FIGS. 3A and 3B schematically illustrate parallel coding and transcoding systems, respectively, involving a transcoding module in the sense of the invention
  • FIG. 4 is a flowchart illustrating the general algorithm of a computer program product in the sense of the invention, for dynamically choosing the interpolation factors among the preselection,
  • FIG. 5 illustrates the steps of construction of the preselection in an advantageous embodiment of the invention
  • FIGS. 6A and 6B illustrate the histograms of the optimum value of the interpolation factor ⁇ respectively for the first two frames of the groups of 3 frames of the G.729 standard encoder, as the second coder
  • FIG. 7A illustrates the correspondence between a frame of the G.723.1 standardized coder (30 ms), as the first coder, and 3 frames of the G.729 standardized coder (10 ms), as a second coder
  • FIG. 7B illustrates the correspondence between the sub-frames of the G.729 encoder (5 ms) and the G.723.1 encoder (7.5 ms),
  • FIGS. 8A, 8B and 8C illustrate the distributions of the spectral distortions obtained by static interpolation ("Static" curve in full line) in the sense of the prior art and by fine dynamic interpolation in the sense of the invention ("Fine" curve "in dotted lines), respectively for three successive common frames of the G.729 standard encoder, as the second encoder,
  • FIGS. 9A and 9B illustrate the distributions of the spectral distortions obtained by the fine (“Fine” dashed line) and coarse (“Coarse” curve in solid line) interpolations respectively for two current successive frames of the G.729 coder, and
  • FIG. 10 is a flow diagram of an example of interpolation factor selection algorithm ⁇ , dynamically.
  • the transcoding module MOD can for example be arranged between:
  • a first coder COD1 of an input signal S according to a first format, and intended for example to deliver a first coded signal SC1
  • a second coder COD2 of the same input signal S according to a second format, and intended for example to deliver a second coded signal SC2.
  • the first coder COD1 has begun to encode the input signal S, completely or partially, but, in any case, sufficiently to have already determined the LPC coefficients according to the first format.
  • the transcoding module MOD within the meaning of the invention retrieves at least the LPC coefficients obtained by the coding according to the first format, or values representative of these coefficients, for example the vectors (LSP) i and, from these values, estimates by interpolation the coefficients (LPC) 2 (or representative values (LSP) 2 ) which will be used by the second coder COD2 to construct the second coded signal SC2 in the second format.
  • LPC coefficients
  • LPC representative values
  • the transcoding module MOD in the sense of the invention in general, is adapted for the purpose of coding a signal S according to a second format, from information (including in particular LPC coefficients obtained from the first coding or values representative of these coefficients, for example the vectors (LSP) O obtained by the implementation of at least one coding step (the step that makes it possible to retrieve the information including the representative values of the coefficients (LPC) i) of the same input signal S according to the first format.
  • information including in particular LPC coefficients obtained from the first coding or values representative of these coefficients, for example the vectors (LSP) O obtained by the implementation of at least one coding step (the step that makes it possible to retrieve the information including the representative values of the coefficients (LPC) i) of the same input signal S according to the first format.
  • first and second formats implement, in particular for the coding of a speech signal S, LPC short-term prediction models on blocks of digital signal samples (as will be seen later with reference in Figure 2), using filters represented by respective LPC coefficients.
  • the module thus comprises: an input 5 (FIG. 1) for receiving information (LPC) i representative of the LPC coefficients obtained by the first format, and including, for example, the values (LSP) i,
  • a processing unit for determining the LPC coefficients of the second format (referenced (LPC) 2 , or more particularly the values (LSP) 2 of FIG. 1 if the interpolation module 1 processes LSP vector values) from an interpolation (conducted by the module 1 of FIG. 1) on values (LSP) i representative of the LPC coefficients obtained from the first format between at least a first given block (referenced n in FIG. 2) and a second block
  • the coded signal in the first format SC1 comprises a succession of sample blocks n, n-1, n-2, and so on. Values (LSP) i [nI , (LSP) i [n-1] , etc., representative of the LPC coefficients in the first format, have been obtained
  • the SC2 signal coded in the second format also comprises a succession of sample blocks (also called "frames") ) referenced m-1, m, m + 1
  • the processing unit of the transcoding module performs this interpolation dynamically, by selecting for each current block n at least one interpolation factor cij from a preselection (module 3) of factors ( ⁇ -i, ⁇ 2 , ..., ⁇ k ), according to a predetermined criterion.
  • the predetermined criterion can typically be a criterion of continuity in the time of the signal S (or "stationing" of the signal), or any other criterion of stability of the signal with respect to one or more parameters related to the signal S (gain, energy, parameters long-term LTP, period of the fundamental harmonic (or "pitch"), and preferably calculated by COD1.
  • the input 5 of the transcoding module receives such noted parameters (LPC) i which inform a module 2 for stationary failure detection in the signal S.
  • the transcoding module MOD comprises a memory 3, for example addressable, and which stores a pre-selection of interpolation factors, noted ( ⁇ -i, 0: 2 , ..., c *) in the example shown. This notation means that, in the example described:
  • the module 1 then constructs by interpolation on the vector values (LSP) i (at the blocks n and n-1), from these two factors ⁇ j and ⁇ j, the vectors (LSP) 2 representative of the LPC coefficients specific to the second format. (referenced (LPC) 2 ) to form the second coded signal SC2.
  • the transcoding module MOD is useful both for multiple coding in cascade (so-called “transcoding"), and in parallel (so-called “multi-codings” and “multimode” codings).
  • the situation of the MOD module illustrated in FIG. 1 is a parallel configuration. The same is true for FIG. 3A, where the same input signal S feeds the two coders COD1 and COD2 in parallel, whereas the transcoding module MOD connected to the second coder COD2 receives from the coder COD1 the information (LPC) i. useful for the implementation of the invention, in particular the representative values of the LPC coefficients obtained by the first coding format.
  • the two encoders separately deliver the two coded signals SC1 and SC2.
  • 3B is substantially different in that the input signal S is received by the first coder COD1 only, which delivers to the transcoding module MOD the information (LPC) I which is useful for the implementation of FIG. the invention.
  • a DECOD module is here provided for at least partially decoding the signal SC1 originating from the first coder COD1 and which supplies the second coder COD2.
  • the use of the transcoding module MOD is particularly advantageous here in that it is not necessary to completely decode the signal SC1 from the first coder and that it is not necessary either to apply all the recoding steps in the second format.
  • integer transcoding systems
  • integer multiple coding systems
  • the present invention also aims at such systems, comprising:
  • a coder COD1 according to a first format and a coder COD2 according to a second format implementing short-term prediction models LPC on blocks of digital signal samples, using filters represented by respective LPC coefficients,
  • transcoding module MOD within the meaning of the invention, of the type described above.
  • the invention also relates to a computer program product intended to be stored in a memory of a transcoding module of the type described above. Referring to FIG. 4, tracing its general algorithm, the program computer, when run on the module, then contains instructions for:
  • step 43 determining (steps 43) representative values (LSP) 2 of the second format LPC coefficients from an interpolation on representative values (LSP) i of the LPC coefficients obtained from the first format between at least the given block n and the block n-1 preceding the given block n,
  • step 42 dynamically perform this interpolation, by choosing (step 42) for each current block at least one interpolation factor ctj from among a preselection of factors, according to a predetermined criterion (test 41).
  • this criterion can be associated with the stationarity of the signal and the test 41 detects a possible break in stationarity of the signal, on the basis of the information (LPC) i communicated to it by example the first coder COD1. If a stationarity break is actually detected (arrow N at the output of the test 41), the choice of the factor ⁇ is changed and the module chooses in the preselection the best factor ⁇ and carries out the interpolation from this factor ⁇ j. Otherwise (arrow O at the output of the test 41), the value of the factor ⁇ , set at the initialization step 40 which occurs before the test 41, is retained.
  • LPC information
  • the interpolation in the sense of the invention may involve a first factor ⁇ relative to a given first block (n) and a second ⁇ factor relative to second block (n-1) preceding the first block.
  • a third factor Y relating to a block (n-2) still preceding the second block.
  • the aforementioned preselection can be initially set to include the value "0", the value "1" and at least a third value between "0" and "1", for example "0.5” .
  • the set of interpolation factors as well as the size of this set can be determined heuristically.
  • An elementary example of a heuristic choice is a set of size 3, composed of the values of a ⁇ 0; 0.5; 1 ⁇ (taking the aforementioned relation ⁇ ⁇ l-a).
  • the preselection of the interpolation factors is initially set following a preliminary statistical study, carried out offline.
  • K chosen to include the preselection within the meaning of the invention - for this purpose, the number of elements K to constitute this first set (50) is chosen sufficiently large, b) for each block n, one determines from the first together 50 a better interpolation factor a (ri) according to a chosen criterion, in particular a distance
  • step 54 between the interpolated values (set calculated in step 52 and noted ⁇ [E (LSP) 2 j ] i ⁇ with j between 1 and M-1 and i between 1 and N) and the representative values (set 53) LPC coefficients obtained by the second format.
  • a second set 55 of interpolation factors a (n) of reduced size, for example by eliminating the elements a (n) little or not solicited and retaining the most redundant elements of this set.
  • it is also possible to limit the size of this set by grouping the elements closest to each other around an average.
  • the reduction of the size of the set of interpolation factors a (n) can be based on the study of a histogram of the type illustrated in one of FIGS. 6A or 6B. This type of histogram represents:
  • the K factors (a ⁇ , a 2, - •, » ⁇ ) arbitrarily chosen initially, for example between 0 and 1 and spaced at a fixed pitch of 0.01,
  • LSP for "Line Spectral Pairs"
  • N the number of frames
  • the two sets formed correspond to the unquantized LSPs of the two coders.
  • the two sets correspond to the unquantized LSPs of the format B and to the dequantized LSPs of the format A.
  • the interpolated vector p B (n) a (n) p A (n1) + ⁇ .- a (n)) p A (n) from the vectors of the first format A as close as possible to the vector p B ( ⁇ ) obtained by the second format.
  • distance between two sets of LPC parameters conventionally used in LPC coding such as the squared error (weighted or not) between two vectors of LSPs or the measurement of spectral distortion calculated from the coefficients a,.
  • the abscissas of the I 1 peaks of the histogram
  • the choice of an interpolation factor ⁇ from the preselection of factors, for each current block at least, is preferentially carried out a priori.
  • a priori is performed according to a certain criterion, preferably a criterion of local parking.
  • the prior choice of an interpolation factor implements a classification a priori based on a local stationary criterion detected on the digital signal. For example, the presence of a stationary interruption of the signal is first detected and in case of positive detection, it is then determined which parameters of the two filters must be given more weight.
  • the variations of some selected parameters of the first format will advantageously be used to evaluate the stationary criterion. For example, it is possible to use in particular the LPC coefficients obtained by the first coding format. Another example of parameters will be given in an exemplary embodiment below.
  • the complexity of the process is adjustable depending on the desired quality / complexity compromise (or the desired complexity or the desired quality).
  • the determination of the set of interpolation factors will be more or less efficient (that is to say more or less able to select the optimal set of factors).
  • the interpolation factor values can be recalculated according to the classes formed by the selection algorithm. It will therefore be understood that the procedures determining the set of interpolation factors and the associated classification can be iterated.
  • the number of elements in the preselection is chosen according to a predetermined quality / complexity compromise, according to a preferred characteristic of the invention. Typically, the greater the number of The parameters used to detect stationary break are large, and the number of elements in the preset is large too.
  • the embodiment presented below is for transcoding between two different ITU-T G.729 and ITU-T G.723.1 coding formats.
  • a description of these two standard encoders is first given as well as their LPC modelizations.
  • the reconstructed signal synthesis model is used at the encoder to extract the parameters modeling the signals to be encoded. These signals can be sampled at the frequency of
  • 8 kHz (300-3400 Hz telephone band) or a higher frequency, for example 16 kHz for wideband coding (bandwidth 50 Hz to 7 kHz).
  • the compression ratio varies from 1 to 16: these encoders operate at rates of 2 to 16 kbit / s in the telephone band, and at rates of 6 to 32 kbit / s in the extended band. .
  • the speech signal is sampled and converted into a series of blocks of L samples.
  • Each block is synthesized by filtering a waveform extracted from a repertoire (also called dictionary), multiplied by a gain, through two filters varying in time.
  • the excitation dictionary is a finite set of waveforms of L samples.
  • the first filter is the long-term prediction filter.
  • a "LTP" analysis (for "Long Term Prediction") allows to evaluate the parameters of this long-term predictor that exploits the periodicity of voiced sounds.
  • the second filter which interests the invention, is the short-term prediction filter.
  • LPC Linear Prediction Coding
  • the method used to determine the innovation sequence is the method of synthesis analysis: at the coder, a large number of innovation sequences of the excitation dictionary are filtered by the two LTP and LPC filters, and the form of The selected wave is that producing the synthetic signal closest to the original signal according to a perceptual weighting criterion, known generally as the CELP criterion.
  • Decoding is much less complex than encoding.
  • the bitstream generated by the encoder allows the decoder after demultiplexing to obtain the quantization index of each parameter.
  • the decoding of the parameters and the application of the synthesis model make it possible to reconstruct the signal.
  • the ITU-T G.729 coder is working on a 3.4 kHz band-limited speech signal sampled at 8 kHz cut into 10 ms frames (80 samples). Each frame is divided into two subframes (numbered 0 and 1) of 40 samples (5 ms). A 10-order LPC analysis is performed every 10 ms (once per frame) using the autocorrelation method with an asymmetric window of 30 ms and a "look-ahead" analysis of 5 ms. The first 11 autocorrelation coefficients of the window speech signal are initially calculated to deduce the LPC coefficients by the so-called "Levinson” algorithm. These coefficients are then transformed in the domain of spectral line pairs (LSP) for quantification and interpolation.
  • LSP spectral line pairs
  • Quantification of the LSP values is performed by means of a 4-bit switched predictive vector quantization over 18 bits.
  • the coefficients of the linear prediction filter, quantized and unquantized, are used for the second subframe, whereas for the first subframe, the LPC coefficients (quantized and unquantized) are obtained by linear interpolation of the corresponding LSP values in subframes adjacent (second subframes of the current frame and the past frame of ' ⁇ 7A and 7B) This interpolation "is applied to pairs of LSP coefficients in the cosine domain.
  • the coefficients of the perceptual weighting filter are deduced from the linear prediction filter before quantization.
  • Quantized and unquantized LSP coefficients of interpolated filters are reconverted to LPC coefficients to construct the perceptual weighting and synthesis filters for each subframe.
  • the ITU-T G.723.1 coder indicates that the latter is working on a 3.4 kHz band-limited speech signal sampled at 8 kHz cut into 30 ms frames (240 samples).
  • Each frame has 4 subframes of 7.5 ms (60 samples) grouped 2 by 2 in super subframes of 15 ms (120 samples).
  • For each subframe a 10-order LPC analysis is performed using the autocorrelation method with a 180-sample Hamming window centered on each subframe (for the last subframe, therefore, an analysis is used. look-ahead of 7.5 ms). For each subframe, eleven autocorrelation coefficients are first calculated and then by the Levinson algorithm, the LPC coefficients are calculated.
  • LPC filter of the last subframe is quantized using a predictive vector quantizer.
  • the LPC coefficients are first converted to LSP coefficients. Quantification of LSPs is performed using 24-bit first order predictive vector quantization.
  • the LSP coefficients of the last sub-frame thus quantized are decoded and then interpolated with the decoded LSP coefficients of the last subframe of the preceding frame to obtain the coefficients of the first three subframes.
  • These LSP coefficients are reconverted into LPC coefficients in order to build the synthesis filters for the 4 subframes.
  • transcoding is done at the "parameter" level.
  • the LSP coefficients of the second coding format are determined by dynamic interpolation of the LSP coefficients of the first dequantized coding format.
  • the interpolated coefficients are then quantized by the second format method.
  • a frame of G.723.1 corresponds to three G.729 frames.
  • Figure 7B shows one frame of G723.1 and 3 frames of G.729 and their respective subframes. It thus appears that the subframes of G.729 (5 ms) do not coincide with those of G.723.1 (7.5 ms).
  • a) corresponds substantially to the elements ([E (LSP) 2 ⁇ ) of FIG. 5, by simply specifying here that the best factors a (n) will be estimated by subframes, the subframes here being the blocks of samples considered.
  • FIGS. 8A, 8B and 8C compare the distributions of the spectral distortions obtained by static interpolation and the fine dynamic interpolation within the meaning of the invention. They illustrate the improved performance provided by dynamic interpolation.
  • the set of interpolation factors is: ⁇ 0.24; 0.68; 0.98 ⁇ (respectively 0.01, 0.39, 0.82).
  • FIGS. 9A and 9B show that the performances of this adaptive interpolation, even more coarse, are close to those obtained by fine adaptive interpolation and much better than those of static interpolation.
  • the selection of the interpolation factor set is then as follows.
  • the distribution of the "optimal" ⁇ (3n + i) factors for fine adaptive interpolation has two peaks at the ends of the interval [0,1]. In most cases, these two extreme values correspond to non-stationary zones exhibiting stationary failure such as an attack or extinction.
  • the procedure for selecting the set of interpolation factors among the three possible therefore consists of a first step of detecting a local stationary failure using a stationary criterion. Then, in case of positive detection, it is determined whether the G.729 frame is before or after the break.
  • Figure 10 gives the simplified flowchart of the algorithm for selecting the interpolation factor.
  • the stationary criterion is evaluated in step 80 and the test 81 distinguishes whether the signal is stationary or not. If it is stationary (arrow O from test 81), the value assigned to ⁇ (m) is that intermediate ⁇ (step 82). Otherwise (non-stationary signal - arrow N at the output of test 81), we try to determine:
  • step 84 if the break occurs before the frame (3m + 1) of the G.729 encoder (arrow O at the output of the test 83), in which case a factor ⁇ -i 'is assigned at the beginning of the histogram (step 84); if the break occurs after the frame (3m + i) of the G.729 encoder (arrow N at the output of the test 83), in which case a factor ⁇ 3 'is assigned at the end of the histogram (step 85).
  • this weight can take into account the relative temporal proximities of the blocks (n) and (n-1) with respect to the block (m) and the instant of rupture.
  • the variations of at least one parameter of the G.723.1 coder are advantageously used to evaluate the local stationary.
  • Several types of parameters can be used: such as LSPs vectors (or another LPC representation), pitch periods, fixed excitation gains, and so on. It is also possible to use other parameters calculated on the G.723.1 synthesis signal (such as the energy of this signal per subframe). If the variations can be evaluated by a simple quadratic error (possibly weighted), it is also possible to use more sophisticated measures for example to estimate the evolution of the trajectory of the pitch taking into account multiples or submultiples.
  • Parameters extracted from the frames preceding the current frame of G.729 can also be used.
  • the choice of the number of criteria and their types depends on the desired quality / complexity compromise.
  • a multi-criteria approach (based on the spectral distortion between two consecutive G.723.1 LPC filters, the evolution of the pitch trajectory and the energy variations of the G.723.1 synthesis signal in the subframes) allows Measure the local stationary well and then select the best interpolation factor among the three.
  • the detection is done by comparing the different measurements of stationary with respect to thresholds. These thresholds are preferably determined using a statistical study of the distributions of the variation measurements obtained for the optimal classification.
  • the threshold values S and S ' were determined to favor the interpolation factor close to the static coefficient, which leads to restricting the use of dynamic interpolation only in the case where a rupture is clearly detected.
  • the interpolation factors are recalculated according to the classification performed by this decision algorithm.
  • the dynamic interpolation procedure may be conservative, in which case the static interpolation factor is chosen as the average interpolation factor ⁇ ' ⁇ and only the extreme factors ( ⁇ '-i. ⁇ 's) are optimized.
  • the description above was limited to the case where the LPC parameters of a current frame of the second format are determined by an adaptive interpolation of the LPC parameters of two consecutive frames of the second format.
  • the invention can be applied to more complex interpolation schemes, for example involving more than two frames of the first format and / or possibly other frames of the second format.
  • the method in the sense of the invention is not limited to an embodiment according to which the LPC coefficients of the second format would be deduced from an interpolation on the LPC coefficients of the first format only.
  • a variant that remains within the scope of the invention would consist of using the LPC coefficients of both the first and the second format (possibly determined for previous blocks) to carry out the interpolation.
  • the process defined in the meaning of the invention has been defined above as involving a given block (n) and at least one preceding block (n-1).
  • This given block may be a current block, while the previous block (n-1) is a past block.
  • the interpolation can be carried out for a current block (n) and a future block (n + 1), if a delay is allowed in the process within the meaning of the invention.
  • the invention can be applied to other sample blocks than the frames of the first or second format (for example subframes).

Landscapes

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

Abstract

L'invention concerne le transcodage de signaux numériques, notamment de signaux de parole, et en particulier de codage selon un second format, à partir d'informations obtenues par la mise en œuvre d'un codage selon un premier format. Ces premier et second formats mettant en œuvre des modèles de prédiction à court terme LPC sur des blocs d'échantillons de signal numérique, en utilisant des filtres représentés par des coefficients LPC respectifs. On détermine ici les coefficients LPC du second format à partir d'une interpolation sur des valeurs représentatives des coefficients LPC du premier format au moins, entre au moins un bloc donné et un bloc précédent. L'interpolation (43), au sens de l'invention, est effectuée dynamiquement, en choisissant (42) pour chaque bloc courant au moins un facteur d'interpolation (α) parmi une présélection de facteurs, selon un critère prédéterminé, tel qu'un critère de stationnarité du signal numérique (41).

Description

Procédé d'adaptation pour une interopérabilité entre modèles de corrélation à court terme de signaux numériques
L'invention concerne le codage/décodage de signaux numériques, notamment dans des applications de transmission ou de stockage des signaux multimédias tels que les signaux audio (parole et/ou sons).
Elle vise en particulier une détermination efficace des paramètres d'un second modèle de prédiction à court terme ou LPC (pour "Linear Prédictive Coding") à partir des paramètres d'un premier modèle LPC.
Dans le domaine de la compression, les codeurs utilisent les propriétés du signal telles que sa structure harmonique, exploitée par. des filtres de prédiction à long terme, ainsi que sa stationnante locale, exploitée par des filtres de prédiction à court terme. Typiquement, le signal de parole peut être considéré comme un signal stationnaire par exemple sur des intervalles de temps de 10 à 20 ms. On peut donc analyser ce signal par blocs d'échantillons appelés trames, après un fenêtrage approprié. Les corrélations à court terme peuvent être modélisées par des filtres linéaires variant dans le temps dont les coefficients sont obtenus à l'aide d'une analyse par prédiction linéaire sur des trames, de faible durée (de 10 à 20 ms dans l'exemple précité).
Le codage par prédiction linéaire est l'une des techniques de codage numérique les plus utilisées. Il consiste à effectuer une analyse LPC du signal à coder pour déterminer un filtre LPC, puis à quantifier ce filtre, d'une part, et à modéliser et coder le signal d'excitation, d'autre part. Cette analyse LPC est effectuée en minimisant l'erreur de prédiction sur le signal à modéliser ou une version modifiée de ce signal. Le modèle autorégressif de prédiction linéaire d'ordre P consiste à déterminer un échantillon de signal à un instant n par une combinaison linéaire des P échantillons passés (principe de la prédiction). Le filtre de prédiction à court terme, noté A(z) , modélise l'enveloppe spectrale du signal :
P
Λ0) = ∑-α, x2~'
La différence entre le signal à l'instant n, noté S{n) , et sa valeur prédite S(n) constitue l'erreur de prédiction :
P e(n) = S(n)-S(n) = ,S(w) + ]>]α, S(n-i)
Le calcul des coefficients de prédiction s'effectue en minimisant l'énergie E de l'erreur de prédiction donnée par :
Figure imgf000004_0001
La résolution de ce système est bien connue, notamment par l'algorithme de Levinson-Durbin ou l'algorithme de Schur.
Les coefficients at du filtre doivent être transmis au récepteur. Cependant, ces coefficients n'ayant pas de bonnes propriétés de quantification, des transformations sont préférentiellement utilisées. Parmi les plus courantes, on peut citer :
- les coefficients PARCORs (pour "PARtial CORrelation" consistant en des coefficients de réflexion ou coefficients de corrélation partielle),
- les Rapports d'Aires Logarithmiques LAR (pour "Log Area Ratio") des coefficients PARCORs,
- les lignes spectrales par paires LSP (pour "Une Spectral Pairs"). Les coefficients LSP sont maintenant les plus utilisés pour la représentation du filtre LPC car ils se prêtent bien à la quantification vectorielle. D'autres représentations équivalentes des coefficients LSP existent :
- les coefficients LSF (pour "Une Spectral Frequencies"), - les coefficients ISP (pour "Immittance Spectral Pairs"),
- ou encore les coefficients ISF ("Immittance Spectral Frequencies").
La prédiction linéaire exploite la quasi-stationnarité locale du signal. Cependant, cette hypothèse de stationnante locale n'est pas toujours vérifiée. En particulier, si la mise à jour des coefficients LPC n'est pas effectuée suffisamment souvent, la qualité de l'analyse LPC se dégrade. Augmenter la fréquence de calcul des paramètres LPC améliore évidemment la qualité de l'analyse LPC en permettant de mieux suivre les variations spectrales du signal. Toutefois, cette situation entraîne un accroissement du nombre de filtres à transmettre et donc une augmentation du débit.
En outre, un calcul trop fréquent des paramètres LPC pose aussi un problème de complexité car la détermination des paramètres LPC est coûteuse en complexité de calculs. En général, elle nécessite :
- le fenêtrage du signal, - le calcul de la fonction d'auto-corrélation du signal sur (P+1) valeurs (P étant l'ordre de prédiction),
- la détermination à partir des autocorrélations des coefficients α, , par exemple par l'algorithme de Levison-Durbin,
- leur transformation en un jeu des paramètres ayant de meilleures propriétés de quantification et d'interpolation,
- la quantification et l'interpolation de ces paramètres transformés,
- suivie de la transformation inverse. Par exemple, dans le codeur normalisé UIT-T G.729 à 8 kbit/s, une analyse LPC d'ordre 10 est effectuée toutes les 10 ms (par bloc de 80 échantillons) et le module d'extraction des paramètres LPC constitue près de 15 % de la complexité du codeur G.729 à 8 kbit/s. Si une seule analyse est effectuée par bloc de 10 ms, le codeur G.729 utilise une interpolation des paramètres LPC transformés pour obtenir des paramètres LPC toutes les 5 ms.
Dans le codeur normalisé UIT-T G.723.1 , quatre analyses LPC d'ordre 10 sont effectuées par trame de 30 ms, soit une analyse LPC toutes les 7,5 ms (par blocs appelés sous-trames de 60 échantillons), ce qui représente 10 % de la complexité du codeur. Néanmoins, pour réduire le débit, seuls les paramètres de la dernière sous-trame sont quantifiés. Pour les trois premières sous- trames, on utilise une interpolation des paramètres quantifiés transmis.
La complexité de l'analyse LPC est critique lorsque plusieurs codages doivent être effectués par une même unité de traitement telle qu'une passerelle chargée de gérer de nombreuses communications en parallèle ou un serveur distribuant de nombreux contenus multimédias. Le problème de la complexité est encore accru par la multiplicité des formats de compression des signaux qui circulent sur les réseaux. On comprendra donc qu'un premier problème se pose par rapport à un compromis débit/qualité/complexité pour l'analyse LPC.
Pour offrir mobilité et continuité, les services de communication multimédias modernes et innovants doivent pouvoir fonctionner dans une grande variété de conditions. Le dynamisme du secteur de la communication multimédia et l'hétérogénéité des réseaux, accès et terminaux ont engendré une prolifération de formats de compression dont la présence dans les chaînes de communication nécessite plusieurs codages soit en cascade (transcodage), soit en parallèle (codage multi-format ou codage multi-mode).
Le transcodage est nécessaire lorsque, dans une chaîne de transmission, une trame de signal compressée émise par un codeur ne peut plus poursuivre son chemin sous ce format. Le transcodage permet de convertir cette trame sous un autre format compatible avec la suite de la chaîne de transmission. La solution la plus élémentaire (et la plus courante à l'heure actuelle) est la mise bout à bout d'un décodeur et d'un codeur. La trame compressée arrive sous un premier format. Elle est ensuite décompressée. Le signal décompressé est alors compressé à nouveau sous un second format accepté par la suite de la chaîne de comrrïϋnicltioήT "Cette" ifiisë" ^êrï cascâdëTcl'Dn "décodeur et d'un codeur est appelée un tandem. Une telle solution est très coûteuse en complexité (essentiellement à cause du recodage) et elle dégrade la qualité car le second codage se fait sur un signal décodé qui est une version dégradée du signal d'origine. Par ailleurs, une trame peut rencontrer plusieurs tandems avant d'arriver à destination, entraînant un coût en calcul et une perte de qualité importants. De plus, les retards liés à chaque opération de tandem s'accumulent et peuvent nuire à l'interactivité des communications. La complexité pose aussi problème dans le cadre d'un système de compression multi-format où un même contenu est compressé sous plusieurs formats. C'est typiquement le cas des serveurs de contenus qui diffusent un même contenu sous plusieurs formats adaptés aux conditions d'accès, de réseaux et terminaux des différents clients. Cette opération de multi-codage devient extrêmement complexe à mesure qu'augmente le nombre de formats désirés, de sorte que les ressources du système paraissent rapidement limitées.
Un autre cas de codage multiple en parallèle est la compression multi-mode à décision a posteriori qui se décrit comme suit. A chaque segment de signal à coder, plusieurs modes de compression sont effectués et celui qui optimise un critère donné ou obtient le meilleur compromis débit/distorsion est sélectionné. Là encore, la complexité de chacun des modes de compression en limite le nombre et/ou conduit à élaborer une sélection a priori d'un nombre très restreint de modes. Ainsi, un second problème se pose par rapport à la multiplicité des formats de compression possibles.
Quelques tentatives de l'art antérieur pour résoudre ces problèmes sont exposées ci-après.
Actuellement, la plupart de ces opérations de codage multiple ne prennent pas en compte les interactions entre les formats, d'une part, et entre le format et son contenu, d'autre part. Cependant, quelques techniques récentes de transcodage dit "intelligent' ne se contentent plus de décoder puis recoder, mais exploitent aussi les similitudes entre formats de codages et permettent ainsi de réduire la complexité et le retard algorithmique tout en limitant la dégradation apportée. De même, il a été proposé d'exploiter les similitudes entre formats de codage afin de réduire la complexité des opérations de codage multiple en parallèle. Pour un même paramètre de format de codage, les différences entre codeurs résident dans la modélisation, la méthode et/ou la fréquence de calcul ou bien encore la quantification. L'optimisation du codage multiple en parallèle de deux modélisations LPC a peu été étudiée.
Typiquement, si un paramètre est calculé et quantifié de la même façon par deux formats de codage notés respectivement A et B, le transcodage du paramètre se fait au niveau binaire par recopie de son champ binaire du train binaire du format A dans le train binaire du format B. Si le paramètre est calculé de la même manière mais quantifié différemment, il faut habituellement le re-quantifier avec la méthode utilisée par le format de codage B. De même, si les formats A et B ne calculent pas ce paramètre à la même fréquence (par exemple si leurs longueurs de trames ou sous-trame sont différentes), il faut interpoler ce paramètre. Il est possible d'effectuer cette étape uniquement sur le paramètre précité, sans avoir à remonter jusqu'au signal complet. Le transcodage est alors réalisé uniquement au niveau du paramètre. D'ailleurs, les coefficients LSP sont généralement transcodés à ce niveau "paramètre".
Dans les méthodes de l'art antérieur, pour obtenir les paramètres LPC d'un second format de codage à partir des paramètres d'un premier format de codage, il est courant d'interpoler les paramètres LPC de trames (ou sous-trames) consécutives du premier format correspondant à la trame courante (ou sous-trame) du second format. Par exemple, une première méthode consiste à calculer les coefficients modélisant le filtre LPC du second format pour une trame, en interpolant les coefficients des filtres LPC du second format correspondant sensiblement à cette trame :
PB (m) = <*PA (» -!) + βPλ (n) où pB(m) est le vecteur de coefficients du second modèle pour sa trame (m), pA(ή) est le vecteur de coefficients du premier modèle pour sa trame n, et α et β sont des facteurs d'interpolation. En général, β est égal à (1-α) .
Par exemple, dans le cas du transcodage entre les codeurs TÏA-IS127 EVRC et 3GPP NB-AMR, tel que décrit dans :
"A novel Transcoding Algorithm for AMR and EVRC speech codées via direct parameter Transformation", Seongho Seo et al., dans Proc. ICASSP 2003, pp. 177-180, vol. Il, les coefficients LSP à la trame m du codeur EVRC (pEVRC(m) ) sont calculés en interpolant linéairement les coefficients LSP quantifiés des trames m et (m-1) du codeur AMR (pAMR(m) et _PΛMRO« -1) > le facteur d'interpolation (α = 0.84) étant empiriquement choisi :
P EVRC O) = 0MPAMR (m) + °- ! 6PAMR (m ~ 1) Réciproquement, les coefficients LSP à la trame m du codeur AMR sont calculés en interpolant linéairement les coefficients LSP quantifiés des trames m et (m-1) du codeur EVRC (avec α=0,96) :
P AMR (m) = 0.96pEyRC (m) + 0.04pEmc (m - 1)
II a été ici proposé d'optimiser aussi la détermination des facteurs d'interpolation par une étude statistique pour prendre en compte les différences des caractéristiques des deux analyses LPC (type d'analyse, longueur et positionnement de la fenêtre d'analyse, extension de la largeur de bande appliquée aux coefficients d'autocorrélation, etc). Ce cas le plus simple est souvent utilisé lorsque les deux formats de codage effectuent l'analyse LPC à la même fréquence. Dans l'exemple ci-dessus, les deux codeurs effectuent une analyse LPC une fois par trame de 20 ms. Lorsque les deux formats de codage n'effectuent pas l'analyse LPC à la même fréquence, il est courant de considérer des blocs plus grands dont la durée est un multiple commun aux durées respectives de mise à jour des paramètres LPC des deux formats. Le choix des deux trames du premier format servant à l'interpolation, ainsi que les facteurs d'interpolation, dépendent alors du rang d'une trame du second format dans ce groupe de trames.
Ainsi, dans le cas du transcodage du codeur UIT-T G.723.1 (trame 30 ms) vers le codeur EVRC (trame 20 ms), deux trames du G.723.1 correspondent à trois trames de l'EVRC. Ce transcodage est décrit notamment dans :
"An efficient transcoding algorithm for G723.1 and EVRC speech coders", Kyung Tae Kim et al., dans Proc. IEEE VTS 2001 , pp.1561-1564.
Les choix des deux trames G.723.1 qui servent à l'interpolation, ainsi que les facteurs d'interpolation, dépendent du rang d'une trame EVRC dans ce groupe de trois trames :
PEvacQm) = 0.5417pGJ23Λ(2m -l) + 0Λ583pGJ13Λ(2rn +ï) pEVRC(3m + l) = 0.8750Jpαmi(2w) + 0.1250pσi723ii(2w + l)
pEVRC (3m + 2) = 0.20S3pG m ι (2m) + 0.7917P0-723., (2m + 1)
Ainsi, dans ces techniques de transcodage des paramètres LPC de l'art antérieur, le jeu des facteurs d'interpolation est fixé en fonction de la position temporelle de la trame du second format dans son groupe de trames. Même les méthodes plus complexes de transcodage qui font intervenir plus de deux filtres du premier format ou encore des filtres passés du second format, utilisent un jeu fixe de facteurs d'interpolation.
Cette interpolation "fixe" conduit à une mauvaise estimation du filtre du second format en particulier dans les zones non stationnaires. Pour y remédier, la présente invention propose d'utiliser une interpolation adaptative (ou "dynamique").
Un objet de l'invention est la sélection dynamique d'un jeu de facteurs d'interpolation dans un contexte de codage multiple.
Un autre objet de l'invention est de limiter le nombre de jeux de facteurs d'interpolation, préférentiellement en tenant compte d'un compromis qualité/complexité souhaité et, pour une complexité donnée, d'optimiser la qualité ou, inversement, de minimiser la complexité pour une qualité donnée.
A cet effet, l'invention propose tout d'abord un procédé de codage selon un second format, à partir d'informations obtenues par la mise en œuvre d'au moins une étape de codage selon un premier format. Les premier et second formats mettent en œuvre, notamment pour le codage d'un signal de parole, des modèles de prédiction à court terme LPC sur des blocs d'échantillons de signal numérique, en utilisant des filtres représentés par des coefficients LPC respectifs. En particulier, dans ce procédé, on détermine les coefficients LPC du second format à partir d'une interpolation sur des valeurs représentatives des coefficients LPC du premier format au moins, entre au moins un premier bloc donné et un second bloc, précédent le premier bloc.
Selon une définition actuellement préférée de l'invention, l'interpolation précitée est menée dynamiquement, en choisissant pour chaque bloc courant au moins un facteur d'interpolation parmi une présélection de facteurs, selon un critère prédéterminé.
On entend par le terme "présélection" un ensemble préconstitué de facteurs d'interpolation qui, de façon aucunement limitative, peut inclure des jeux de facteurs α et β tels que définis ci-avant (couples α et β, ou encore des triplets α, β et Y si il est décidé de mener l'interpolation sur trois blocs d'échantillons respectivement n, n-1 et n-2), ou encore des facteurs α seuls, en particulier lorsqu'un facteur correspondant β peut se déduire d'un facteur α par une relation simple (par exemple du type β=1-α).
Ainsi, au lieu d'utiliser un jeu fixe de facteurs d'interpolation au sens de l'art antérieur, l'invention propose de déterminer un ensemble de plusieurs jeux de facteurs d'interpolation et à utiliser, pour chaque bloc d'analyse LPC, un jeu de facteurs d'interpolation sélectionné dans cet ensemble préconstitué.
Cette sélection dans l'ensemble préconstitué s'effectue de façon dynamique en fonction du critère prédéterminé précité. Ce critère prédéterminé peut avantageusement être relatif à la détection d'une rupture de stationnante du signal numérique entre le bloc donné et le bloc précédent. La présélection peut se construire initialement selon un choix heuristique ou encore à partir d'une étude statistique préalable, comme on le verra dans la description détaillée ci-après.
D'ailleurs, d'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels :
- la figure 1 représente schématiquement un exemple de module de transcodage pour la mise en œuvre de l'invention, - la figure 2 illustre schématiquement le principe d'interpolation en vue d'estimer les valeurs représentatives des coefficients LPC du second format pour une succession de blocs m-1, m, m+1 du signal codé au second format SC2, à partir d'une interpolation menée sur les valeurs représentatives des coefficients LPC du premier format estimées pour des blocs successifs n-2, n-1 , n du premier signal codé SC1 ,
- les figures 3A et 3B illustrent schématiquement des systèmes de codage en parallèle et de transcodage, respectivement, faisant intervenir un module de transcodage au sens de l'invention,
- la figure 4 est un organigramme illustrant l'algorithme général d'un produit programme d'ordinateur au sens de l'invention, pour choisir dynamiquement les facteurs d'interpolation parmi la présélection,
- la figure 5 illustre les étapes de construction de la présélection dans une réalisation avantageuse de l'invention,
- les figures 6A et 6B illustrent les histogrammes de la valeur optimale du facteur d'interpolation α respectivement pour les deux premières trames des groupes de 3 trames du codeur normalisé G.729, en tant que second codeur, - la figure 7A illustre la correspondance entre une trame du codeur normalisé G.723.1 (30 ms), en tant que premier codeur, et 3 trames du codeur normalisé G.729 (10 ms), en tant que second codeur,
- la figure 7B illustre la correspondance entre les sous-trames du codeur G.729 (5 ms) et du codeur G.723.1 (7,5 ms),
- les figures 8A, 8B et 8C illustrent les distributions des distorsions spectrales obtenues par une interpolation statique (courbe "Static" en trait plein) au sens de l'art antérieur et par interpolation dynamique fine au sens de l'invention (courbe "Fine" en traits pointillés), respectivement pour trois trames successives courantes du codeur normalisé G.729, en tant que second codeur,
- les figures 9A et 9B illustrent les distributions des distorsions spectrales obtenues par les interpolations dynamiques fine (courbe "Fine" en traits pointillés) et grossière (courbe "Coarse" en trait plein) respectivement pour deux trames successives courantes du codeur G.729, et
- la figure 10 est un organigramme d'un exemple d'algorithme de sélection de facteurs d'interpolation α, de façon dynamique.
Avant d'aborder les détails de réalisation, on indique que l'invention, de manière générale, vise aussi un module de transcodage dont un exemple est représenté sur la figure 1. Le module de transcodage MOD peut par exemple s'agencer entre :
- un premier codeur COD1 d'un signal d'entrée S, selon un premier format, et destiné par exemple à délivrer un premier signal codé SC1 , et - un second codeur COD2 du même signal d'entrée S, selon un second format, et destiné par exemple à délivrer un second signal codé SC2.
En configuration de transcodage, le premier codeur COD1 a commencé à coder le signal d'entrée S, complètement ou partiellement, mais, en tout état de cause, suffisamment pour avoir déterminé déjà les coefficients LPC selon le premier format. Le module MOD de transcodage au sens de l'invention récupère au moins les coefficients LPC obtenus par le codage selon le premier format, ou des valeurs représentatives de ces coefficients, par exemple les vecteurs (LSP)i et, à partir de ces valeurs, estime par interpolation les coefficients (LPC)2 (ou des valeurs représentatives (LSP)2) qui vont servir au second codeur COD2 pour construire le second signal codé SC2 au second format. Cette mesure permet alors, de façon avantageuse, de déterminer une seule fois les coefficients LPC (au premier format) et, par un calcul d'interpolation très simple, de les adapter au second format de codage. On parle donc de "transcodage".
Ainsi, le module MOD de transcodage au sens de l'invention, de manière générale, est adapté dans le but de coder un signal S selon un second format, à partir d'informations (incluant notamment des coefficients LPC obtenus du premier codage ou des valeurs représentatives de ces coefficients, par exemple les vecteurs (LSP)O obtenues par la mise en œuvre d'au moins une étape de codage (l'étape qui permet de récupérer les informations incluant les valeurs représentatives des coefficients (LPC)i) du même signal d'entrée S selon le premier format.
Bien entendu, ces premier et second formats mettent en œuvre, notamment pour le codage d'un signal de parole S, des modèles de prédiction à court terme LPC sur des blocs d'échantillons de signal numérique (comme on le verra plus loin en référence à la figure 2), en utilisant des filtres représentés par des coefficients LPC respectifs.
Le module comporte ainsi : - une entrée 5 (figure 1) pour recevoir des informations (LPC)i représentatives des coefficients LPC obtenus par le premier format, et incluant, par exemple, les valeurs (LSP)i,
- et une unité de traitement (modules 1 , 2, 3, 4 de la figure 1) pour déterminer les coefficients LPC du second format (référencés (LPC)2, ou plus particulièrement les valeurs (LSP)2 de la figure 1 si le module d'interpolation 1 traite des valeurs de vecteurs LSP) à partir d'une interpolation (menée par le module 1 de la figure 1) sur des valeurs (LSP)i représentatives des coefficients LPC obtenus du premier format entre au moins un premier bloc donné (référencé n sur la figure 2) et un second bloc
(référencé n-1 sur la figure 2), précédent le premier bloc n.
On explique maintenant en référence à la figure 2 le principe général d'une telle interpolation. Le signal codé au premier format SC1 comporte une succession de blocs d'échantillons n, n-1 , n-2, etc. Des valeurs (LSP)i[nI, (LSP)i[n"1], etc, représentatives des coefficients LPC au premier format, ont été obtenues. Le module de transcodage applique une interpolation sur ces valeurs, par exemple du type (LSP)2 [m] =αj (LSP)i[n-1] + βι (LSP)i[n], à partir de facteurs d'interpolation ai et βi choisis comme décrit plus loin, pour obtenir une valeur (LSP)2tm3 représentative d'un coefficient LPC au second format pour un bloc courant m du signal SC2 codé au second format et correspondant au bloc n. Le signal SC2 codé au second format comporte aussi une succession de blocs d'échantillons (aussi appelés "trames") référencés m-1 , m, m+1 sur la figure 2.
Selon l'invention, l'unité de traitement du module de transcodage effectue cette interpolation de façon dynamique, en choisissant pour chaque bloc courant n au moins un facteur d'interpolation cij parmi une présélection (module 3) de facteurs (α-i, α2, ... , αk), selon un critère prédéterminé. Le critère prédéterminé peut typiquement être un critère de continuité dans le temps du signal S (ou "stationnante" du signal), ou tout autre critère de stabilité du signal par rapport à un ou plusieurs paramètres liés au signal S (gain, énergie, paramètres à long terme LTP, période de l'harmonique fondamental (ou "pitch")), et préférentiellement calculés par COD1. En variante, il est possible de prévoir un critère de proximité du signal. Dans l'exemple représenté sur la figure 1 , l'entrée 5 du module de transcodage reçoit de tels paramètres notés (LPC)i qui renseignent un module 2 de détection de rupture de stationnante dans le signal S. Par ailleurs, le module de transcodage MOD comporte une mémoire 3, par exemple adressable, et qui stocke une présélection de facteurs d'interpolation, notée (α-i, 0:2, ... , c*) dans l'exemple représenté. Cette notation signifie que, dans l'exemple décrit :
- on va mener une interpolation sur la base deux blocs consécutifs n et n-1 et utiliser donc deux facteurs d'interpolation a; et βj à chaque bloc courant m à traiter du signal SC2, et - les deux facteurs αj et βj se déduisent simplement l'un de l'autre par une relation du type ct| = 1- βj, avec αι et βj compris tous les deux entre O et 1.
Mais bien entendu, comme indiqué ci-avant, cette réalisation admet de nombreuses variantes, notamment en terme de nombre de blocs successifs qui vont être utilisés pour l'interpolation. Ici, un module de calcul 4. va déterminer le facteur βj en fonction du facteur d'interpolation a-, choisi, par la relation simple Qj = 1-βj donnée ci-avant. Le module 1 construit ensuite par interpolation sur les valeurs de vecteur (LSP)i (aux blocs n et n-1), à partir de ces deux facteurs αj et βj, les vecteurs (LSP)2 représentatifs des coefficients LPC propres au second format (référencés (LPC)2) pour constituer le second signal codé SC2.
Le module de transcodage MOD est utile tant pour les codages multiples en cascade (dits "transcodages"), qu'en parallèle (dits "multi-codages" et codages "multimodes"). La situation du module MOD illustrée sur la figure 1 est une configuration en parallèle. Il en est de même pour la figure 3A, où un même signal d'entrée S alimente les deux codeurs COD1 et COD2 en parallèle, tandis que le module de transcodage MOD relié au second codeur COD2 reçoit du codeur COD1 les informations (LPC)i utiles pour la mise en œuvre de l'invention, notamment les valeurs représentatives des coefficients LPC obtenus par le premier format de codage. Les deux codeurs délivrent séparément les deux signaux codés SC1 et SC2. La situation de transcodage de la figure 3B est sensiblement différente en ce sens que le signal d'entrée S est reçu par le premier codeur COD1 uniquement, lequel délivre au module de transcodage MOD les informations (LPC)I utiles pour la mise en œuvre de l'invention. Toutefois, on prévoit ici un module DECOD pour décoder au moins partiellement le signal SC1 issu du premier codeur COD1 et qui alimente le second codeur COD2. L'utilisation du module de transcodage MOD est particulièrement avantageuse ici en ce sens qu'il n'est pas nécessaire de décoder complètement le signal SC1 issu du premier codeur et qu'il n'est pas nécessaire non plus d'appliquer à nouveau toutes les étapes de recodage au second format.
On parle alors de systèmes de "transcodage intelligent' ou de systèmes de "codage multiple intelligent' (notamment pour les batteries de codeurs agencés en parallèle).
La présente invention vise aussi de tels systèmes, comportant :
- un codeur COD1 selon un premier format et un codeur COD2 selon un second format, mettant en œuvre des modèles de prédiction à court terme LPC sur des blocs d'échantillons de signal numérique, en utilisant des filtres représentés par des coefficients LPC respectifs,
- et un module de transcodage MOD au sens de l'invention, du type décrit ci- avant.
Dans de tels systèmes, il apparaît avantageux d'intégrer ce module de transcodage MOD directement dans le codeur COD2 selon le second format (figures 3A et 3B).
L'invention vise aussi un produit programme d'ordinateur, destiné à être stocké dans une mémoire d'un module de transcodage du type décrit ci-avant. En référence à la figure 4 retraçant son algorithme général, le programme d'ordinateur, lorsqu'il est exécuté sur le module, comporte alors des instructions pour :
- déterminer (étapes 43) des valeurs représentatives (LSP)2 des coefficients LPC du second format à partir d'une interpolation sur des valeurs représentatives (LSP)i des coefficients LPC obtenus du premier format entre au moins le bloc donné n et le bloc n-1 précédent le bloc donné n,
- et, en particulier, effectuer dynamiquement cette interpolation, en choisissant (étape 42) pour chaque bloc courant au moins un facteur d'interpolation ctj parmi une présélection de facteurs, selon un critère prédéterminé (test 41).
Dans la réalisation représentée à titre d'exemple sur la figure 4, ce critère peut être associé à la stationnarité du signal et le test 41 détecte une éventuelle rupture de stationnarité du signal, sur la base des information (LPC)i que lui communique par exemple le premier codeur COD1. Si une rupture de stationnarité est effectivement détectée (flèche N en sortie du test 41), le choix du facteur α est changé et le module choisit dans la présélection le meilleur facteur αι et réalise l'interpolation à partir de ce facteur αj. Sinon (flèche O en sortie du test 41), la valeur du facteur α, fixée à l'étape d'initialisation 40 qui intervient avant le test 41 , est conservée.
On va décrire ci-après des exemples quant à la manière de choisir le meilleur facteur ci\ et quant à la construction initiale de la présélection.
Exemples de construction de la présélection (αt, 02, ..., αι<)
On décrit ci-après la détermination de l'ensemble des facteurs d'interpolation qui constitue la présélection sur laquelle s'effectue dynamiquement le choix des facteurs d'interpolation au sens de l'invention.
Dans un choix de réalisation, l'interpolation au sens de l'invention peut faire intervenir un premier facteur β relatif à un premier bloc donné (n) et un second facteur α relatif à second bloc (n-1) précédant le premier bloc. Dans une variante restant dans le cadre de la présente invention, il est possible d'avoir recours encore à un troisième facteur Y relatif à un bloc (n-2) précédant encore le deuxième bloc. Dans la réalisation où l'on a recours simplement à deux facteurs α et β, ces premier et second facteurs se déduisent avantageusement l'un de l'autre par une relation du type α=1-β, ces deux facteurs étant préférentiellement compris entre "O" et "1".
Dans une première forme de réalisation, la présélection précitée peut être fixée initialement pour comporter la valeur "0", la valeur "1" et au moins une troisième valeur comprise entre "0" et "1", par exemple "0,5".
Ainsi, dans cette réalisation, l'ensemble des facteurs d'interpolation ainsi que la taille de cet ensemble peuvent être déterminés heuristiquement. Un exemple élémentaire de choix heuristique est un ensemble de taille 3, composé des valeurs de a {0; 0,5; 1} (en prenant la relation précitée β ≈l-a).
Dans une seconde forme de réalisation, plus sophistiquée, la présélection des facteurs d'interpolation est fixée initialement suite à une étude statistique préalable, réalisée hors ligne.
En référence à la figure 5, préférentiellement, pour mener cette étude statistique: a) on constitue :
- des ensembles respectifs de valeurs représentatives de coefficients LPC obtenus par le premier format (ensemble 51) sur une pluralité de blocs M, et de valeurs représentatives de coefficients LPC obtenus par le second format (ensemble 53) sur une pluralité de blocs N, - et un premier ensemble (50) de facteurs d'interpolation (α 1( Qj 2
« K) choisi pour inclure la présélection au sens de l'invention - à cet effet, le nombre d'éléments K pour constituer ce premier ensemble (50) est choisi suffisamment grand, b) pour chaque bloc n, on détermine parmi le premier ensemble 50 un meilleur facteur d'interpolation a(ri) selon un critère choisi, notamment une distance
(étape 54) entre les valeurs interpolées (ensemble calculé à l'étape 52 et noté {[E(LSP)2 j]i} avec j compris entre 1 et M-1 et i compris entre 1 et N) et les valeurs représentatives (ensemble 53) des coefficients LPC obtenus par le second format. On obtient ainsi un second ensemble 55 de facteurs d'interpolation a(n), de taille réduite par exemple en éliminant les éléments a(n) peu ou pas sollicités et en retenant les éléments les plus redondants de cet ensemble. En complément ou en variante, on peut aussi limiter la taille de cet ensemble en regroupant les éléments les plus proches entre eux autour d'une moyenne.
La réduction de la taille de l'ensemble des facteurs d'interpolation a(n) peut s'appuyer sur l'étude d'un histogramme du type illustré sur l'une des figures 6A ou 6B. Ce type d'histogramme représente:
- en abscisses, les K facteurs (a \, a 2, --• , » κ) choisis de façon arbitraire initialement, par exemple entre 0 et 1 et espacés d'un pas fixe de 0,01 ,
- et en ordonnées, le nombre d'occurrences associé à chaque facteur
« i, a 2 « K et pour lesquelles ce facteur a été déterminé comme meilleur facteur d'interpolation a(n) à l'étape b) précitée.
On peut alors réduire la taille de l'ensemble des facteurs d'interpolation a(n) en sélectionnant les facteurs a -\, cc 2, ... , « K qui comptent le plus d'occurrences sur l'histogramme (flèches des figures 6A et 6B). Par ailleurs, on rappelle que ce que l'on entend ici par "valeurs représentatives de coefficients LPC ((LSP)i, (LSP)2)" sont par exemple des valeurs de vecteurs LSP (pour "Une Spectral Pairs" définies ci-avant), de façon aucunement limitative. Pour réduire encore la taille du second ensemble obtenu, on peut avantageusement réitérer l'étape b) ci-avant avec le second ensemble, puis avec d'autres sous-ensembles successifs, jusqu'à obtenir la présélection précitée.
On donne ci-après, à titre d'exemple, un détail de la seconde forme de réalisation précitée, basée sur une étude statistique préalable. Par souci de simplicité, les principes de l'invention sont illustrés dans le cas où les deux formats effectuent leur analyse LPC à la même fréquence. Néanmoins, l'invention s'applique aussi au cas de formats de codage n'effectuant pas leur analyse LPC à la même fréquence, comme on le verra dans un exemple de réalisation donné plus loin. On choisit a priori la taille de l'ensemble des valeurs de α et on détermine cet ensemble par l'étude statistique, comme suit.
Deux ensembles de coefficients LPC, par exemple sous forme de vecteurs
LSP (pour "Line Spectral Pairs"), obtenus par le premier format de codage A
Figure imgf000022_0001
N sur un grand nombre (N) de trames sont d'abord constitués. Dans le cas d'un codage multiple, les deux jeux constitués correspondent aux LSP non quantifiés des deux codeurs. Dans le cas d'un transcodage, les deux jeux correspondent aux LSP non quantifiés du format B et aux LSP déquantifiés du format A. On choisit aussi un premier ensemble de IQ facteurs {α,}/=, , - Cet ensemble peut
être constitué de I0 valeurs ordonnées régulièrement dans l'intervalle [αl 5α/o ] , avec a, = aλ +γ — '-r(ak -ax) (par exemple, 101 valeurs ordonnées par pas
de 0,01 dans l'intervalle [0,1]).
Pour chaque bloc d'indice n, on détermine parmi ce premier ensemble le meilleur facteur noté a{ή) selon un certain critère. Préférentiellement, «(») est tel que le vecteur interpolé pB(n)= a(n)pA(n-l)+{\.-a(n))pA(n) à partir des vecteurs du premier format A soit le plus proche possible du vecteur pB(ή) obtenu par le second format. Il existe plusieurs critères de distance entre deux jeux de paramètres LPC utilisés classiquement en codage LPC tels l'erreur quadratique (pondérée ou non) entre deux vecteurs de LSPs ou la mesure de distorsion spectrale calculée à partir des coefficients a, .
En se référant par exemple aux histogrammes représentés sur les figures 6A et 6B, l'examen de l'histogramme des a(ri) "optimaux" permet de restreindre la taille de l'ensemble en fonction de nombre de pics de cet histogramme. Ce choix peut évidemment tenir compte des contraintes de complexité. Une fois, ce nombre I1 choisi (en pratique li«lo,) on détermine le meilleur ensemble composé de I1 valeurs α . Diverses méthodes peuvent être utilisées. On peut, par exemple, s'inspirer des méthodes de classification en choisissant comme valeurs de α les abscisses des I1 pics de l'histogramme, constituer les classes en déterminant pour chaque bloc, la valeur α(ή) optimale parmi les I1 valeurs initiales, puis pour chaque classe, recalculer la valeur de α optimale et itérer le procédé au sens de l'étape b) formulée en termes généraux ci-avant. Préférentiellement, si la taille de l'ensemble est faible, on utilise une méthode plus "exhaustive", en calculant parmi les /j-uplet [0,I]'1 le meilleur /y-uplet [ccv...α ^ ordonné (^1 <... < α/ ), en imposant un écart minimum (par exemple 0,01) entre deux valeurs consécutives /f-uplet. On peut aussi limiter l'exploration aux valeurs de voisinage des abscisses des pics de l'histogramme. Sélection dynamique du jeu de facteurs d'interpolation
On décrit maintenant la sélection dynamique d'un jeu de facteurs d'interpolation approprié, parmi la présélection obtenue comme décrit ci-avant. En effet, une fois l'ensemble des facteurs d'interpolation déterminé, constituant la présélection présentée ci-avant, il faut alors définir la manière de sélectionner un jeu de facteurs d'interpolation dans cet ensemble, ce qui revient à déterminer pour chaque bloc d'indice n, sa classe.
De manière générale, le choix d'un facteur d'interpolation α parmi la présélection de facteurs, pour chaque bloc courant au moins, s'effectue préférentiellerήent a priori.
En effet, en quantification, une manière triviale d'opérer consiste à tester tous les jeux de facteurs d'interpolation pour sélectionner a posteriori celui qui conduit aux coefficients interpolés les plus proches des coefficients cibles (c'est-à-dire les coefficients, par exemple de type LSF, à quantifier). Dans le contexte du codage multiple, cette sélection a posteriori, qui nécessite la détermination des paramètres cibles du second format, n'est pas applicable sans perdre une grande partie de l'intérêt des méthodes dites "intelligentes" de codage multiple, à savoir la réduction de complexité apportée par la suppression des modules d'analyse et d'extraction de certains paramètres.
Dans le contexte d'un codage multiple, il apparaît alors particulièrement avantageux de sélectionner le jeu de facteurs, a priori. Cette classification a priori est effectuée selon un certain critère, préférentiellement un critère de stationnante locale. Ainsi, selon une caractéristique préférentielle, le choix a priori d'un facteur d'interpolation met en œuvre une classification a priori basée sur un critère de stationnante locale détectée sur le signal numérique. Par exemple, la présence d'une rupture de stationnante du signal est d'abord détectée et en cas de détection positive, on détermine alors auxquels paramètres des deux filtres il faut donner plus de poids. Les variations de certains paramètres choisis du premier format seront avantageusement utilisées pour évaluer le critère de stationnante. Par exemple, on peut utiliser notamment les coefficients LPC obtenus par le premier format de codage. Un autre exemple de paramètres sera donné dans un exemple de réalisation plus loin.
Compromis qualité/complexité
Avantageusement, la complexité du procédé est ajustable en fonction du compromis qualité/complexité désiré (ou de la complexité visée ou de la qualité souhaitée). Selon le compromis qualité/complexité, la détermination du jeu de facteurs d'interpolation sera plus ou moins performante (c'est-à-dire plus ou moins apte à sélectionner le jeu optimal de facteurs). Dans une variante, pour tenir compte des performances de l'algorithme de sélection des jeux de facteurs, les valeurs de facteurs d'interpolation peuvent être recalculées en fonction des classes constituées par l'algorithme de sélection. On comprendra donc que les procédures déterminant l'ensemble des facteurs d'interpolation et la classification associée peuvent être itérées. On remarquera aussi qu'il est judicieux d'adapter la taille de l'ensemble des jeux de facteurs d'interpolation à Ia qualité de la procédure de classification: il est en effet peu judicieux d'utiliser une interpolation dynamique fine (avec beaucoup de facteurs d'interpolation) si, pour des raisons de complexité, une procédure rudimentaire de classification doit lui être associée.
On retiendra donc que le nombre d'éléments dans la présélection est choisi en fonction d'un compromis qualité/complexité prédéterminé, selon une caractéristique préférentielle de l'invention. Typiquement, plus le nombre de paramètres servant à la détection de la rupture de stationnante est grand, et plus le nombre d'éléments dans la présélection est grand aussi.
Exemple de réalisation
Le mode de réalisation présenté ci-après vise le transcodage entre deux formats de codage différents UIT-T G.729 et UIT-T G.723.1. Une description de ces deux codeurs normalisés est d'abord donnée ainsi que leurs modélisations LPC.
Codeurs UIT-T G.729 à 8 kbit/s et UIT-T G.723.1 à 6.3 kbit/s
Ces deux codeurs appartiennent à la famille bien connue des codeurs CELP, codeurs à analyse par synthèse.
Dans de tels codeurs à analyse par synthèse, le modèle de synthèse du signal reconstruit est utilisé au codeur pour extraire les paramètres modélisant les signaux à coder. Ces signaux peuvent être échantillonnés à la fréquence de
8 kHz (bande téléphonique 300-3400 Hz) ou une fréquence plus élevée, par exemple à 16 kHz pour le codage en bande élargie (bande passante de 50Hz à 7 kHz). Selon l'application et la qualité désirée, le taux de compression varie de 1 à 16: ces codeurs fonctionnent à des débits de 2 à 16 kbit/s en bande téléphonique, et à des débits de 6 à 32 kbit/s en bande élargie.
Dans le dispositif de codage numérique de type CELP, codeur à analyse par synthèse le plus utilisé actuellement, le signal de parole est échantillonné et converti en une suite de blocs de L échantillons. Chaque bloc est synthétisé en filtrant une forme d'onde extraite d'un répertoire (appelé aussi dictionnaire), multipliée par un gain, à travers deux filtres variant dans le temps. Le dictionnaire d'excitation est un ensemble fini de formes d'ondes de L échantillons. Le premier filtre est le filtre de prédiction à long terme. Une analyse "LTP" (pour "Long Term Prédiction") permet d'évaluer les paramètres de ce prédicteur à long terme qui exploite la périodicité des sons voisés. Le second filtre, qui intéresse l'invention, est le filtre de prédiction à court terme. Les méthodes d'analyse "LPC" (pour "Linear Prédiction Coding") permettent d'obtenir ces paramètres de prédiction à court terme, représentatifs de la fonction de transfert du conduit vocal et caractéristiques de l'enveloppe du spectre" du "signal. Le procédé utilisé pour déterminer la séquence d'innovation est la méthode d'analyse par synthèse: au codeur, un grand nombre de séquences d'innovation du dictionnaire d'excitation sont filtrées par les deux filtres LTP et LPC, et la forme d'onde sélectionnée est celle produisant le signal synthétique le plus proche du signal original selon un critère de pondération perceptuelle, connu en général sous le nom de critère CELP. Le décodage est quant à lui beaucoup moins complexe que l'encodage. Le flux binaire généré par le codeur permet au décodeur après démultiplexage d'obtenir l'index de quantification de chaque paramètre. Le décodage des paramètres et l'application du modèle de synthèse permettent de reconstruire le signal.
Le codeur UIT-T G.729 travaille sur un signal de parole limité en bande à 3,4 kHz et échantillonné à 8 kHz découpé en trames de 10 ms (80 échantillons). Chaque trame est divisée en deux sous-trames (numérotées 0 et 1) de 40 échantillons (5 ms). Une analyse LPC d'ordre 10 est effectuée toutes les 10 ms (une fois par trame) au moyen de la méthode d'autocorrélation avec une fenêtre asymétrique de 30 ms et une analyse "look-ahead" de 5ms. Les 11 premiers coefficients d'autocorrélation du signal de parole fenêtre sont d'abords calculés pour en déduire les coefficients LPC par l'algorithme dit "de Levinson". Ces coefficients sont ensuite transformés dans le domaine des paires de raies spectrales (LSP) en vue de leur quantification et de leur interpolation. La quantification des valeurs LSP est effectuée au moyen d'une quantification vectorielle prédictive commutée d'ordre 4 sur 18 bits. Les coefficients du filtre de prédiction linéaire, quantifiés et non quantifiés, sont utilisés pour la deuxième sous-trame, alors que pour la première sous-trame, les coefficients LPC (quantifiés et non quantifiés) sont obtenus par interpolation linéaire des valeurs LSP correspondants dans les sous-trames adjacentes (secondes sous-trames de la trame courante et de la trame passée des' figures 7A~et 7B) Cette interpolation" est appliquée aux coefficients de paires LSP dans le domaine cosinus.
Les coefficients du filtre pondération perceptuelle sont déduits du filtre de prédiction linéaire avant quantification. Les coefficients LSP, quantifiés et non quantifiés, des filtres interpolés sont reconvertis en coefficients LPC afin de construire les filtres de synthèse et de pondération perceptuelle pour chaque sous-trame.
Quant au codeur UIT-T G.723.1 , on indique que ce dernier travaille sur un signal de parole limité en bande à 3,4 kHz et échantillonné à 8 kHz découpé en trames de 30 ms (240 échantillons). Chaque trame comporte 4 sous-trames de 7,5 ms (60 échantillons) regroupées 2 par 2 dans des super sous-trames de 15 ms (120 échantillons). Pour chaque sous-trame, une analyse LPC d'ordre 10 est effectuée au moyen de la méthode d'autocorrélation avec une fenêtre de Hamming de 180 échantillons centrée sur chaque sous-trame (pour la dernière sous-trame, on utilise donc une analyse look-ahead de 7,5 ms). Pour chaque sous-trame, onze coefficients d'autocorrélation sont d'abord calculés puis par l'algorithme de Levinson, on calcule les coefficients LPC. Ces coefficients LPC non quantifiés servent à construire le filtre de pondération perceptuelle pour chaque sous-trame. Le filtre LPC de la dernière sous-trame est quantifié au moyen d'un quantificateur vectoriel prédictif. Les coefficients LPC sont d'abord convertis en coefficients LSP. La quantification des LSP est effectuée au moyen d'une quantification vectorielle prédictive d'ordre 1 sur 24 bits. Les coefficients LSP de la dernière sous-trame ainsi quantifiés sont décodés puis interpolés avec les coefficients LSP décodés de la dernière sous-trame de la trame précédente pour obtenir les coefficients des trois premières sous- trames. Ces coefficients LSP sont reconvertis en coefficients LPC afin de construire les filtres de synthèse pour les 4 sous-trames.
Détermination des paramètres LPC lors d'un transcodage du codeur UIT-T G.723.1 à 6.3 kbit/s vers le codeur UIT-T G.729 à 8 kbit/s
Ici, le transcodage se fait au niveau "paramètre". Les coefficients LSP du second format de codage sont déterminés par interpolation dynamique des coefficients LSP du premier format de codage déquantifiés. Les coefficients interpolés sont alors quantifiés par la méthode du second format.
Comme cela est présenté sur la figure 7A, si l'on prend classiquement une origine temporelle commune, une trame de G.723.1 correspond à trois trames de G.729. La figure 7B représente une trame de G723.1 et 3 trames de G.729 et leurs sous-trames respectives. Il apparaît donc que les sous-trames du G.729 (5 ms) ne coïncident pas avec celles du G.723.1 (7,5 ms).
Les deux formats n'effectuant pas leur analyse LPC à la même fréquence, l'ensemble des facteurs d'interpolation va dépendre du rang d'une trame G.729 dans son groupe de 3 trames. Ces ensembles ainsi que leur taille sont déterminés par une étude statistique. On constitue un corpus de deux ensembles de vecteurs LSP, obtenus par le codeur G.723.1 {pG 723 i(«)}n≈1 N et le codeur G.729 {pGJ29(m)} m=χ 3N (N=9000), où pGJ23Λ(n) est le vecteur LSP déquantifié de la trame n du codeur G.723.1 (longueur de trame 30 ms) tandis pG 729(m) est le vecteur LSP à quantifier de la trame m du codeur G.729
(longueur de trame 10 ms). Dans un premier temps, on choisit un ensemble de 101 facteurs {«,} , constitué de 101 valeurs ordonnées dans l'intervalle [0,1] régulièrement espacées de 0,01. Pour chaque trame d'indice (3n+i) on détermine dans cet ensemble, le meilleur facteur, noté a(3n + i) , tel que la distorsion spectrale entre le filtre correspondant à pG m (3n + i) et le filtre interpolé (correspondant à
Figure imgf000030_0001
ά(3n + i)pG 723 ~ {(n':::rl)τ(l-ά(3ri+i)) p' G 123 Λ(n)) soit minimale, soit :
Figure imgf000030_0002
L'élément repris dans cette notation pG,119^>n+î),a) correspond sensiblement aux éléments ([E(LSP)2^) de la figure 5, en précisant simplement ici que les meilleurs facteurs a(n) vont être estimés par sous-trames, les sous-trames étant ici les blocs d'échantillons considérés.
Les figures 8A, 8B et 8C comparent les distributions des distorsions spectrales obtenues par une interpolation statique et l'interpolation dynamique fine au sens de l'invention. Elles illustrent bien l'amélioration des performances apportées par l'interpolation dynamique. Le facteur d'interpolation statique dépend du rang d'une trame G.729 (i=0,1 ,2) dans un groupe de trois trames. Pour un indice i donné, ce coefficient fixe peut être optimisé pour minimiser la distorsion spectrale entre le filtre interpolé et le filtre-cible. Sur le corpus, l'interpolation fixe est donnée par :
Figure imgf000030_0003
= OJ7pGJ23Λ(n-l)+ O,23pGJ23Λ{n)
Pa.129 (3« + 1) = 0'36^c723.! (« - 1)+ 0,64P0723., («)
pG,119(3n + 2) = QfilPa.mÀn - 1)+ 0,98^723., (w) Les figures 6A et 6B montrent l'histogramme de la distribution de la valeur de a(3n + i) pour i=0 et 1 (les deux premières trames de chaque groupe de trois trames). L'examen de l'histogramme des a(3n + i) "optimaux" pour une interpolation adaptative fine montre deux pics aux extrémités de l'intervalle [0,1] et un autre maximum (moins marqué) au voisinage de la valeur du facteur d'interpolation statique (les flèches indiquent les maxima). Une taille de 3 est donc choisie pour l'ensemble des facteurs d'interpolation. Puis, on détermine le meilleur ensemble composé de trois valeurs α par une recherche parmi les triplets ordonnés autour des voisinages des abscisses des 3 pics des histogrammes. Pour les premières trames (respectivement secondes) du groupe de 3 trames, l'ensemble des facteurs d'interpolation est: {0,24; 0,68; 0,98} (respectivement 0,01 ; 0,39; 0,82}). Les figures 9A et 9B montrent que les performances de cette interpolation adaptative, même plus grossière, sont proches de celles obtenues par l'interpolation adaptive fine et bien meilleures que celles de l'interpolation statique.
La sélection du jeu de facteurs d'interpolation se fait alors comme suit.
En dehors de la zone privilégiée autour de la valeur du facteur d'interpolation statique, la distribution des facteurs α(3n+i) "optimaux" pour une interpolation adaptative fine comporte deux pics aux extrémités de l'intervalle [0,1]. Dans la plupart des cas, ces deux valeurs extrêmes correspondent à des zones non stationnaires présentant une rupture de stationnante telle qu'une attaque ou une extinction. La procédure de sélection du jeu de facteurs d'interpolation parmi les trois possibles consiste donc en une première étape de détection d'une rupture de stationnante locale à l'aide d'un critère de stationnante. Puis, en cas de détection positive, on détermine si la trame G.729 est avant ou après la rupture. La figure 10 donne l'organigramme simplifié de l'algorithme de sélection du facteur d'interpolation. On évalue le critère de stationnante à l'étape 80 et le test 81 distingue si le signal est stationnaire ou non. S'il est stationnaire (flèche O issue du test 81), la valeur attribuée à α(m) est celle intermédiaire a (étape 82). Sinon (signal non stationnaire - flèche N en sortie du test 81), on cherche à déterminer :
- si la rupture intervient avant la trame (3m+i) du codeur G.729 (flèche O en sortie du test 83), auquel cas on affecte un facteur α-i' en début d'histogramme (étape 84) ; - si la rupture intervient après la trame (3m+i) du codeur G.729 (flèche N en sortie du test 83), auquel cas on affecte un facteur α3' en fin d'histogramme (étape 85).
Ainsi, on retiendra, en termes plus généraux et indépendamment du fait de considérer des trames ou plutôt des sous-trames, que : - on détecte un instant (ou une zone) de rupture de stationnante au test 81 - en fait, cet instant de rupture va typiquement être détecté entre un bloc donné (n) et un bloc précédent (n-1) au premier format de codage,
- au test 83, on compare la position temporelle d'un bloc courant (m) du second format de codage, que l'on doit traiter, avec cet instant de rupture détecté,
- et, dans l'interpolation, on affecte plus de poids aux coefficients LPC du premier format qui sont associés au bloc donné (n) (ce qui correspond à l'étape 85) si le bloc (m) du second format se situe après l'instant de rupture (trup), ou aux coefficients LPC du premier format qui sont associés au bloc précédent (n-1) (ce qui correspond à l'étape 84) si le bloc (m) du second format se situe avant l'instant de rupture (trup).
Plus finement, ce poids peut prendre en compte les proximités temporelles relatives des blocs (n) et (n-1) par rapport au bloc (m) et l'instant de rupture. Les variations d'au moins un paramètre du codeur G.723.1 sont avantageusement utilisées pour évaluer la stationnante locale. Plusieurs types de paramètres peuvent être utilisés: tels que les vecteurs LSPs (ou une autre représentation LPC), les périodes de pitch, les gains de l'excitation fixe, etc. On peut aussi utiliser d'autres paramètres calculés sur le signal de synthèse du G.723.1 (tels que l'énergie de ce signal par sous-trame). Si les variations peuvent être évaluées par une simple erreur quadratique (éventuellement pondérée), il est aussi possible d'utiliser des mesures plus sophistiquées par exemple pour estimer l'évolution de la trajectoire du pitch en tenant compte des multiples ou sous-multiples. On peut aussi faire intervenir des paramètres extraits des trames précédant la trame courante de G.729. Le choix du nombre de critères et de leurs types dépend du compromis qualité/complexité souhaité. Une approche multi-critères (basée sur la distorsion spectrale entre deux filtres LPC du G.723.1 consécutifs, l'évolution de la trajectoire du pitch et les variations d'énergie du signal de synthèse du G.723.1 dans les sous- trames) permet de bien mesurer la stationnante locale et par la suite de bien sélectionner le meilleur facteur d'interpolation parmi les trois. La détection se fait par une comparaison des différentes mesures de stationnante par rapport à des seuils. Ces seuils sont préférentiellement déterminés à l'aide d'une étude statistique des distributions des mesures de variation obtenues pour la classification optimale.
Pour illustrer la variante qui recalcule l'ensemble des facteurs d'interpolation pour tenir compte des erreurs de l'algorithme de sélection, il est présenté ici une réalisation simple basée sur un seul critère, par exemple les variations d'énergie par bloc de 5 ms du signal de synthèse de G.723.1. On note E1 l'énergie du signal de synthèse du codeur G.723.1 calculée sur le bloc de 5ms correspondant à la seconde sous-trame de la trame 3n+i du G.729. Pour chaque trame 3n+i du G.729, on calcule deux rapports d'énergie p(0) et pm .
Figure imgf000034_0001
où E_x est l'énergie du signal de synthèse du G.723.1 calculée sur le dernier bloc de 5ms de sa trame précédente (trame (n-1)). L'algorithme de sélection du facteur d'interpolation est le suivant : α(3n+i)= α!2 si (/7(0)< S et yσ(1) > S1), α(3n+i)= α'3 sinon, si (p,(0) >S' et pf> <S), α(3n+i)= α'i
Après une étude statistique, les valeurs de seuil S et S' ont été déterminées pour favoriser le facteur d'interpolation proche du coefficient statique, ce qui conduit à restreindre l'utilisation de l'interpolation dynamique qu'au cas où une rupture est nettement détectée. Comme expliqué précédemment, les facteurs d'interpolation sont recalculés en fonction de la classification effectuée par cet algorithme de décision. Dans une variante, la procédure d'interpolation dynamique peut être conservative, auquel cas le facteur d'interpolation statique est choisi comme facteur d'interpolation moyen α' et seuls les facteurs extrêmes (α'-i.α's) sont optimisés.
Bien entendu, la présente invention ne se limite pas à la forme de réalisation décrite ci-avant à titre d'exemple ; elle s'étend à d'autres variantes.
En effet, pour rester concise, la description ci-avant s'est limitée au cas où les paramètres LPC d'une trame courante du second format sont déterminés par une interpolation adaptative des paramètres LPC de deux trames consécutives du second format. Toutefois, on comprendra que l'invention peut s'appliquer à des schémas d'interpolation plus complexes, faisant intervenir par exemple plus de deux trames du premier format et/ou, éventuellement d'autres trames du second format. Ainsi, le procédé au sens de l'invention ne se limite pas à une réalisation selon laquelle les coefficients LPC du second format se déduiraient d'une interpolation sur les coefficients LPC du premier format uniquement. Au contraire, une variante qui reste dans le cadre de l'invention consisterait à utiliser les coefficients LPC à la fois du premier et du second format (éventuellement déterminés pour des blocs précédents) pour mener l'interpolation.
Par ailleurs, on a défini ci-avant le procédé au sens de l'invention comme impliquant un bloc donné (n) et au moins un bloc précédent (n-1). Ce bloc donné peut être un bloc courant, tandis que le bloc précédent (n-1) est un bloc passé. Toutefois, on comprendra qu'en variante, l'interpolation peut être menée sur pour un bloc courant (n) et un bloc futur (n+1), si l'on admet un retard dans le traitement au sens de l'invention.
De même, l'invention peut s'appliquer à d'autres blocs d'échantillons que les trames du premier ou second format (par exemple des sous-trames).
Enfin, la représentation des paramètres LPC par des vecteurs LSP n'est donnée ci-avant qu'à titre d'exemple. Bien entendu, l'invention s'applique à d'autres représentations LPC.

Claims

Revendications
1. Procédé de codage selon un second format, à partir d'informations obtenues par la mise en œuvre d'au moins une étape de codage selon un premier format, les premier et second formats mettant en œuvre, notamment pour le codage d'un signal de parole, des modèles de prédiction à court terme LPC sur des blocs d'échantillons de signal numérique, en utilisant des filtres représentés par des coefficients LPC respectifs, procédé dans lequel on détermine les coefficients LPC du second format à partir d'une interpolation sur des valeurs représentatives des coefficients LPC du premier format au moins, entre au moins un premier bloc donné (n) et un second bloc (n-1), précédent le premier bloc, caractérisé en ce que ladite interpolation est effectuée dynamiquement, en choisissant pour chaque bloc courant au moins un facteur d'interpolation (α) parmi une présélection de facteurs, selon un critère prédéterminé.
2. Procédé selon la revendication 1 , caractérisé en ce que ledit critère prédéterminé est relatif à la détection d'une rupture de stationnante du signal numérique au moins entre le bloc donné (n) et le bloc précédent (n-1).
3. Procédé selon la revendication 2, caractérisé en ce que :
- on détecte un instant de rupture de stationnante entre un bloc donné (n) et un bloc précédent (n-1), - on compare cet instant de rupture avec une position temporelle d'un bloc courant (m) au second format,
- et, dans l'interpolation, on affecte plus de poids aux coefficients LPC du premier format qui sont associés au bloc donné (n) si le bloc (m) du second format intervient après l'instant de rupture détecté, ou aux coefficients LPC du premier format qui sont associés au bloc précédent (n-1) si le bloc (m) du second format intervient avant l'instant de rupture détecté.
4. Procédé selon l'une des revendications précédentes, caractérisé en ce que ladite interpolation fait intervenir un premier facteur (β) relatif audit premier bloc donné et un second facteur (α) relatif audit second bloc précédent, et en ce que les premier et second facteurs se déduisent l'un de l'autre.
5. Procédé selon la revendication 4, caractérisé en ce que les premier β et second α facteurs sont compris entre "0" et "1" et en ce qu'ils se déduisent l'un de l'autre par une relation du type α=1-β.
6. Procédé selon l'une des revendications précédentes, caractérisé en ce que la présélection est fixée initialement pour comporter la valeur "0", la valeur "1" et au moins une troisième valeur comprise entre "0" et "1".
7. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que la présélection est fixée initialement suite à une étude statistique préalable.
8. Procédé selon la revendication 7, caractérisé en ce que, pour mener l'étude statistique: a) on constitue:
- des ensembles respectifs de valeurs représentatives de coefficients LPC obtenus par le premier format sur une pluralité de blocs (M), et de valeurs représentatives de coefficients LPC obtenus par le second format sur une pluralité de blocs (N), - et un premier ensemble de facteurs d'interpolation (α -i, a 2 « K) choisi pour inclure ladite présélection, b) pour chaque bloc (n), on détermine parmi ledit premier ensemble un meilleur facteur d'interpolation (a(ή)) selon un critère choisi, notamment une distance entre les valeurs interpolées et les valeurs représentatives de coefficients obtenus par le second format, pour obtenir un second ensemble de facteurs d'interpolation de taille réduite.
9. Procédé selon la revendication 8, caractérisé en ce que l'on réitère l'étape b) avec ledit second ensemble, puis avec d'autres sous-ensembles successifs, jusqu'à obtenir ladite présélection.
10. Procédé selon l'une des revendications précédentes, caractérisé en ce que le choix d'un facteur d'interpolation (α) parmi ladite présélection de facteurs, pour chaque bloc courant au moins, est effectué a priori.
11. Procédé selon la revendication 10, prise en combinaison avec l'une des revendications 2 et 3, caractérisé en ce que le choix a priori d'un facteur d'interpolation met en œuvre une classification a priori basée sur un critère de stationnante locale détectée sur des paramètres choisis, obtenus par le premier format de codage.
12. Procédé selon l'une des revendications précédentes, caractérisé en ce que le nombre d'éléments dans ladite présélection est choisi en fonction d'un compromis qualité/complexité prédéterminé.
13. Module de transcodage, pour coder un signal selon un second format, à partir d'informations obtenues par la mise en œuvre d'au moins un codage du même signal selon un premier format, les premier et second formats mettant en œuvre, notamment pour le codage d'un signal de parole, des modèles de prédiction à court terme LPC sur des blocs d'échantillons de signal numérique, en utilisant des filtres représentés par des coefficients LPC respectifs, le module comportant :
- une entrée pour recevoir des informations représentatives des coefficients LPC obtenus par le premier format, - et une unité de traitement pour déterminer les coefficients LPC du second format à partir d'une interpolation sur des valeurs représentatives des coefficients LPC obtenus du premier format entre au moins un premier bloc donné (n) et un second bloc (n-1), précédent le premier bloc, caractérisé en ce que l'unité de traitement effectue ladite interpolation dynamiquement, en choisissant pour chaque bloc courant au moins un facteur d'interpolation (α) parmi une présélection de facteurs, selon un critère prédéterminé.
14. Système de codage d'un signal, notamment d'un signal de parole, comportant :
- un codeur selon un premier format et un codeur selon un second format, mettant en œuvre des modèles de prédiction à court terme LPC sur des blocs d'échantillons de signal numérique, en utilisant des filtres représentés par des coefficients LPC respectifs, - et un module de transcodage pour adapter le codage du signal au second format, à partir d'informations obtenues par la mise en œuvre du codage du même signal selon le premier format, le module comportant : o une entrée pour recevoir des informations représentatives des coefficients LPC obtenus par le premier format, o et une unité de traitement pour déterminer les coefficients LPC du second format à partir d'une interpolation sur des valeurs représentatives des coefficients LPC obtenus du premier format entre au moins un premier bloc donné (n) et un second bloc (n-1), précédent le premier bloc, caractérisé en ce que l'unité de traitement effectue ladite interpolation dynamiquement, en choisissant pour chaque bloc courant au moins un facteur d'interpolation (α) parmi une présélection de facteurs, selon un critère prédéterminé.
15. Système selon la revendication 14, caractérisé en ce que ledit module est intégré dans le codeur selon le second format.
16. Produit programme d'ordinateur, destiné à être stocké dans une mémoire d'un module de transcodage, pour coder un signal selon un second format, à partir d'informations obtenues par la mise en œuvre d'au moins un codage du même signal selon un premier format, les premier et second formats mettant en œuvre, notamment pour le codage d'un signal de parole, des modèles de prédiction à court terme LPC sur des blocs d'échantillons de signal numérique, en utilisant des filtres représentés par des coefficients LPC respectifs, le programme d'ordinateur, lorsqu'il est exécuté sur le module, comportant des instructions pour : - déterminer des valeurs représentatives des coefficients LPC du second format à partir d'une interpolation sur des valeurs représentatives des coefficients LPC obtenus du premier format entre au moins un premier bloc donné (n) et un second bloc (n-1), précédent le premier bloc, et effectuer dynamiquement ladite interpolation, en choisissant pour chaque bloc courant au moins un facteur d'interpolation (α) parmi une présélection de facteurs, selon un critère prédéterminé.
PCT/FR2006/000805 2005-04-26 2006-04-12 Procede d’adaptation pour une interoperabilite entre modeles de correlation a cout terme de signaux numeriques WO2006114494A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/919,065 US8078457B2 (en) 2005-04-26 2006-04-12 Method for adapting for an interoperability between short-term correlation models of digital signals
CN200680023048.8A CN101208741B (zh) 2005-04-26 2006-04-12 一种适用于数字信号短时相关性模型之间的互用性的方法
EP06743681A EP1875465A1 (fr) 2005-04-26 2006-04-12 Procede d'adaptation pour une interoperabilite entre modeles de correlation a cout terme de signaux numeriques

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0504191A FR2884989A1 (fr) 2005-04-26 2005-04-26 Procede d'adaptation pour une interoperabilite entre modeles de correlation a court terme de signaux numeriques.
FR0504191 2005-04-26

Publications (1)

Publication Number Publication Date
WO2006114494A1 true WO2006114494A1 (fr) 2006-11-02

Family

ID=35482341

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2006/000805 WO2006114494A1 (fr) 2005-04-26 2006-04-12 Procede d’adaptation pour une interoperabilite entre modeles de correlation a cout terme de signaux numeriques

Country Status (5)

Country Link
US (1) US8078457B2 (fr)
EP (1) EP1875465A1 (fr)
CN (1) CN101208741B (fr)
FR (1) FR2884989A1 (fr)
WO (1) WO2006114494A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567203B (zh) * 2008-04-24 2013-06-05 深圳富泰宏精密工业有限公司 自动搜寻及播放音乐的系统及方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101441896B1 (ko) * 2008-01-29 2014-09-23 삼성전자주식회사 적응적 lpc 계수 보간을 이용한 오디오 신호의 부호화,복호화 방법 및 장치
US9245529B2 (en) * 2009-06-18 2016-01-26 Texas Instruments Incorporated Adaptive encoding of a digital signal with one or more missing values
US8743936B2 (en) * 2010-01-05 2014-06-03 Lsi Corporation Systems and methods for determining noise components in a signal set
EP2671323B1 (fr) * 2011-02-01 2016-10-05 Huawei Technologies Co., Ltd. Procédé et appareil pour fournir des coefficients de traitement de signal
KR101542370B1 (ko) * 2011-02-16 2015-08-12 니폰 덴신 덴와 가부시끼가이샤 부호화 방법, 복호 방법, 부호화 장치, 복호 장치, 프로그램, 및 기록 매체
US9336789B2 (en) * 2013-02-21 2016-05-10 Qualcomm Incorporated Systems and methods for determining an interpolation factor set for synthesizing a speech signal
US10991376B2 (en) * 2016-12-16 2021-04-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods, encoder and decoder for handling line spectral frequency coefficients

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050053130A1 (en) * 2003-09-10 2005-03-10 Dilithium Holdings, Inc. Method and apparatus for voice transcoding between variable rate coders

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240386B1 (en) * 1998-08-24 2001-05-29 Conexant Systems, Inc. Speech codec employing noise classification for noise compensation
US6173257B1 (en) * 1998-08-24 2001-01-09 Conexant Systems, Inc Completed fixed codebook for speech encoder
EP1088304A1 (fr) * 1999-04-05 2001-04-04 Hughes Electronics Corporation Systeme codec vocal interpolatif de domaine frequentiel
US6434519B1 (en) * 1999-07-19 2002-08-13 Qualcomm Incorporated Method and apparatus for identifying frequency bands to compute linear phase shifts between frame prototypes in a speech coder
US20030195745A1 (en) * 2001-04-02 2003-10-16 Zinser, Richard L. LPC-to-MELP transcoder
US20030028386A1 (en) * 2001-04-02 2003-02-06 Zinser Richard L. Compressed domain universal transcoder
JP4108317B2 (ja) * 2001-11-13 2008-06-25 日本電気株式会社 符号変換方法及び装置とプログラム並びに記憶媒体
JP4263412B2 (ja) * 2002-01-29 2009-05-13 富士通株式会社 音声符号変換方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050053130A1 (en) * 2003-09-10 2005-03-10 Dilithium Holdings, Inc. Method and apparatus for voice transcoding between variable rate coders

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KYUNG TAE KIM ET AL: "An efficient transcoding algorithm for G.723.1 and EVRC speech coders", VTC FALL 2001. IEEE 54TH. VEHICULAR TECHNOLOGY CONFERENCE. PROCEEDINGS. ATLANTIC CITY, NJ, OCT. 7 - 11, 2001, IEEE VEHICULAR TECHNOLGY CONFERENCE, NEW YORK, NY : IEEE, US, vol. VOL. 1 OF 4. CONF. 54, 7 October 2001 (2001-10-07), pages 1561 - 1564, XP010562224, ISBN: 0-7803-7005-8 *
SEONGHO SEO ET AL: "A Novel Transcoding Algorithm for SMV and G.723.1 Speech Coders via Direct Parameter Transformation", EUROSPEECH 2003, 8TH EUROPEAN CONFERENCE ON SPEECH COMMUNICATION AND TECHNOLOGY, GENEVA, SWITZERLAND, September 2003 (2003-09-01), Geneva (CH), pages 2861 - 2864, XP007006997 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567203B (zh) * 2008-04-24 2013-06-05 深圳富泰宏精密工业有限公司 自动搜寻及播放音乐的系统及方法

Also Published As

Publication number Publication date
US20090299737A1 (en) 2009-12-03
CN101208741A (zh) 2008-06-25
US8078457B2 (en) 2011-12-13
CN101208741B (zh) 2011-08-31
EP1875465A1 (fr) 2008-01-09
FR2884989A1 (fr) 2006-10-27

Similar Documents

Publication Publication Date Title
EP2277172B1 (fr) Dissimulation d&#39;erreur de transmission dans un signal audionumerique dans une structure de decodage hierarchique
EP3161659B1 (fr) Ré-échantillonnage par interpolation d&#39;un signal audio pour un codage /décodage à bas retard
EP1316087B1 (fr) Dissimulation d&#39;erreurs de transmission dans un signal audio
WO2006114494A1 (fr) Procede d’adaptation pour une interoperabilite entre modeles de correlation a cout terme de signaux numeriques
EP1051703B1 (fr) Procede decodage d&#39;un signal audio avec correction des erreurs de transmission
EP0906613B1 (fr) Procede et dispositif de codage d&#39;un signal audiofrequence par analyse lpc &#34;avant&#34; et &#34;arriere&#34;
EP1692687B1 (fr) Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
FR2977439A1 (fr) Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard.
EP3069340B1 (fr) Transition d&#39;un codage/décodage par transformée vers un codage/décodage prédictif
EP2080194B1 (fr) Attenuation du survoisement, notamment pour la generation d&#39;une excitation aupres d&#39;un decodeur, en absence d&#39;information
EP1836699B1 (fr) Procédé et dispositif de codage audio optimisé entre deux modèles de prediction à long terme
EP2795618B1 (fr) Procédé de détection d&#39;une bande de fréquence prédéterminée dans un signal de données audio, dispositif de détection et programme d&#39;ordinateur correspondant
EP3138095A1 (fr) Correction de perte de trame perfectionnée avec information de voisement
EP2652735B1 (fr) Codage perfectionne d&#39;un etage d&#39;amelioration dans un codeur hierarchique
EP2589045B1 (fr) Codage/décodage prédictif linéaire adaptatif
WO2002091362A1 (fr) Procede d&#39;extraction de parametres d&#39;un signal audio, et codeur mettant en oeuvre un tel procede
FR2830970A1 (fr) Procede et dispositif de synthese de trames de substitution, dans une succession de trames representant un signal de parole
FR2980620A1 (fr) Traitement d&#39;amelioration de la qualite des signaux audiofrequences decodes
FR2997250A1 (fr) Detection d&#39;une bande de frequence predeterminee dans un contenu audio code par sous-bandes selon un codage de type modulation par impulsions

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
REEP Request for entry into the european phase

Ref document number: 2006743681

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006743681

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWE Wipo information: entry into national phase

Ref document number: 11919065

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: RU

WWW Wipo information: withdrawn in national office

Ref document number: RU

WWE Wipo information: entry into national phase

Ref document number: 200680023048.8

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2006743681

Country of ref document: EP