EP1994531B1 - Codage ou decodage perfectionnes d'un signal audionumerique, en technique celp - Google Patents
Codage ou decodage perfectionnes d'un signal audionumerique, en technique celp Download PDFInfo
- Publication number
- EP1994531B1 EP1994531B1 EP07731605A EP07731605A EP1994531B1 EP 1994531 B1 EP1994531 B1 EP 1994531B1 EP 07731605 A EP07731605 A EP 07731605A EP 07731605 A EP07731605 A EP 07731605A EP 1994531 B1 EP1994531 B1 EP 1994531B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- dictionary
- pattern
- vector
- dictionaries
- positions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Not-in-force
Links
- 230000005236 sound signal Effects 0.000 title claims abstract description 11
- 239000013598 vector Substances 0.000 claims abstract description 160
- 230000005284 excitation Effects 0.000 claims abstract description 47
- 238000010276 construction Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 38
- 239000011159 matrix material Substances 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 7
- 230000036961 partial effect Effects 0.000 claims description 4
- 230000014509 gene expression Effects 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000003595 spectral effect Effects 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 238000001228 spectrum Methods 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000001364 causal effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- WDRYRZXSPDWGEB-UHFFFAOYSA-N lonidamine Chemical compound C12=CC=CC=C2C(C(=O)O)=NN1CC1=CC=C(Cl)C=C1Cl WDRYRZXSPDWGEB-UHFFFAOYSA-N 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 241000897276 Termes Species 0.000 description 2
- 238000005311 autocorrelation function Methods 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 235000021183 entrée Nutrition 0.000 description 1
- 230000005021 gait Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L2019/0001—Codebooks
- G10L2019/0007—Codebook element generation
Definitions
- the present invention relates to the coding / decoding of digital audio signals, known as "CELP” (for "Code Excited Linear Prediction”).
- the invention relates to the family of coders CELP (for "Code Excited Linear Prediction"), which select the excitation signal from among a set of candidate signals by comparing the output of the synthesis filter, excited by this signal, to original signal, with introduction of perceptual weighting.
- coders have been widely used for encoding speech signals in bit rates of 6 to 24 kbit / s, and adopted in particular in ITU-T G.729, GSM-EFR, 3GPP / WB-AMR standards.
- the invention finds an advantageous application in hierarchical coding systems described in detail below and for which the bit stream is formed of a base layer followed by additional layers to improve the quality.
- FIG. 1 A general scheme of a CELP coder is given to the figure 1 .
- the figure 2 presents the associated decoder.
- the present invention aims rather the dictionary "fixed” DlCf, while the dictionary adaptive DICA is preferentially not treated in what follows.
- the modeling of the excitation signal is generally performed on sample blocks corresponding to signal subframes typically of the order of 5 ms.
- N 40 samples at 8 kHz sampling frequency
- the filter W ( z ) is the perceptual weighting filter 11 (conventionally of the type AT z / ⁇ 1 AT z / ⁇ 2 , A ( z ) denoting the LPC analysis filter, and the factors ⁇ 1 and ⁇ 2 regulating the degree of perceptual weighting).
- the signals exc passed ( n ) and exc current ( n ) respectively represent the past excitation signal (null signal on the current block) and current (zero memory signal).
- the elements ⁇ h ( n ) ⁇ represent the impulse response of the filter H (defined above by the relation (1) above).
- the filter H is causal, that is to say that the elements h ( n ) such that n ⁇ 0 are zero.
- the optimal gain associated with the selected code vector is quantized.
- a quantization index and the index associated with the selected code vector are transmitted (via a telecommunication network) or simply stored for subsequent transmission. It is on the basis of these indices that the decoding can then take place.
- the respective gains boy Wut at i , boy Wut f i are decoded and the indices i at Opt , i f Opt selected code vectors respectively make it possible to find the elements that compose them, to reconstruct the excitation signal, then the reconstructed signal (subsequent modules 21 and 22).
- the choice of the excitation dictionary is guided by constraints of flow, quality (or efficiency for a given flow) and complexity. For a restricted bit rate, it will be difficult to obtain a good reproduction quality for any signal to be encoded. Complexity is also an important factor. For all communication applications, the real-time constraint imposes limitations on the calculation time.
- the first CELP dictionaries proposed in the literature were random code vectors, which required calculating the numerator and the denominator of the criterion for each dictionary vector. The search for the best code word was then of prohibitive complexity.
- Structured dictionaries were then proposed to accelerate the search for the Optimal waveform, some search computations being performed once for different input signals (or “pooled calculations") thanks to the induced relationships between the vectors by the dictionary structure.
- One of the most popular categories of structured dictionaries is the family of algebraic dictionaries, composed of pulses whose position is defined by an algebraic code or according to a network of points (typically a Gosset network), regular or not.
- the most classic representatives of such dictionaries are known as ACELP (for "Algebraic CELP").
- the filtering of the fixed dictionary presupposes a certain continuity of the process because the filters tend to widen the support of the filtered signal, and since it is generally not possible to correct the excitation of the preceding block, irregularities at the edge of the Coded sample blocks, poorly controlled by the process, may appear.
- orthogonal dictionaries can also be provided in this context.
- Dispersed-pulse codebook and its application to a 4kb / s speech coder ", Yasunaga K et al, ICASSP 2000 discloses learning of the dispersion vectors.
- Hierarchical coding structures are now briefly described. Such structures, also called “scalable”, provide coding binary data that are divided into successive layers.
- a base layer is formed of the bits absolutely necessary for the decoding of the bitstream, and determining a minimum quality of decoding.
- the following layers progressively improve the quality of the decoded signal, each new layer providing new information, which, exploited at decoding, output a signal of increasing quality.
- One of the peculiarities of hierarchical coders is the possibility of intervening at any level of the transmission or storage chain to remove a part of the bitstream without having to give any particular indication to the coder or the decoder.
- the decoder uses the binary information it receives and produces a corresponding quality signal.
- Hierarchical CELP coders also called “nested CELPs”
- dictionaries which can be different on each floor or identical.
- the present invention improves the situation.
- pulse sequence is understood to mean a succession of samples comprising pulses and possibly one or more zero samples between the pulses, and / or at the beginning and / or at the end of the succession.
- the dictionary thus constructed is a CELP excitation dictionary of the so-called "fixed" type (referenced DICf for example on the figures 1 and 2 described above).
- the basic pattern appearing at each occurrence in an excitation vector is multiplied by an amplitude associated with said occurrence, this amplitude being for example chosen from a set comprising the values +1 and -1.
- all the vectors of the initial dictionary include the same number of occurrences of the basic pattern.
- CELP excitation vector dictionaries these dictionaries being defined by the data of a basic pattern, appearing according to one or more occurrences, each occurrence being multiplied by an amplitude.
- the patterns possibly appearing at the edge of the block are truncated to fit exactly in the block.
- a multi-pulse dictionary well known in the state of the art, constitutes a particular case of a dictionary thus obtained, insofar as the length of a pattern in the case of a dictionary multi-pulse is simply 1.
- This type of multi-pulse dictionary will be referred to hereinafter as the "trivial basic dictionary".
- the method in the sense of the invention makes it possible to construct combinations of dictionaries (initial and constructed as described above without also excluding the use of one or more additional multi-pulse dictionaries).
- a global dictionary can be constructed by a sum of basic dictionaries of which at least one is an initial dictionary defined by a basic pattern.
- the vectors of the global dictionary are formed in this case by adding the common position pulses of the basic dictionaries vectors, preferably weighted, one by one by a gain each associated with a dictionary.
- a global dictionary can be constructed by a union of basic dictionaries, at least one of which is an initial dictionary defined by a basic pattern. In this case, the global dictionary simply includes all the vectors of all the basic dictionaries.
- a coding / decoding device that included a cascading of dictionaries, at least one initial dictionary of which is subsequent in the cascade, this initial dictionary comprising such a symmetrical pattern with a previous central pulse and pulses and next of amplitudes opposite to that of the central amplitude.
- This device may advantageously comprise a high-pass filtering in a global perceptual weighting filter intervening in coding in particular in the search for an optimal excitation vector.
- An example of such an embodiment will be described in detail later, with reference to Figures 8a, 8b, 8c and 9 . This realization made it possible to focus the search in the initial dictionary by the use of a high-pass filter.
- this realization proposes a cascading of a multi-pulse dictionary with a dictionary defined by a motive symmetrical with respect to its center, whose occurrences of the center of the motif describe the same set as the occurrences of the pulses of the multi-pulse dictionary.
- This implementation makes it possible to broaden the spectral range of the initial basic dictionary by adding one or more additional basic dictionaries, the search in these additional basic dictionaries then being spectrally focused by modifying the perceptual weighting filter. intervening in the search for the optimal vector, the choice of this modification and that of the motif of these additional basic dictionaries possibly being linked.
- the positions of the patterns and / or pulses in the vectors of the dictionaries in particular when they are cascaded, describe preferentially identical sets, the position of a pattern being marked substantially by the position of a central pulse in the sequence of pulses forming the pattern.
- the position of a pattern can be identified by the position in the sample block of the center of the pattern, if the pattern includes a number odd of samples. However, in a strictly equivalent way, a possible even length pattern may be completed by a zero to produce an odd length. More generally, any other variant for locating the position of the patterns may be considered.
- the invention proposes very simple techniques for decoding the index of the vectors of such dictionaries, by adding the scaled occurrences of the pattern or patterns whose position and the amplitude factor for each occurrence are transmitted.
- the index further includes an indication of the dictionary in which the best candidate vector has been found.
- the index includes in particular an indication relative to the aforementioned initial dictionary and hence an indication as to the basic pattern that made it possible to construct the dictionary and therefore the best candidate vector.
- the index In the case of a single basic dictionary, the index already reflects the amplitude and position associated with each of its occurrences. To decode the best candidate vector, it is then sufficient to position the basic pattern at the different positions that it must occupy in each occurrence, multiply it by the associated amplitudes, and sum the occurrences. In the case of a union of basic dictionaries, the index further informs about the selected base dictionary, as indicated above.
- the indices of the vectors in each of the dictionaries are preferably determined and from there, for each index, the last three steps described above are applied.
- the dictionary constructed within the meaning of the invention preferably comprises allowable pattern positions which describe a highly structured set, advantageously as a set of pulse positions of an ACELP dictionary.
- the cascading of dictionaries including at least one basic dictionary is very advantageous. This variant is particularly suitable for the case of hierarchical coding structures. Nevertheless, the different basic dictionaries do not play the same role because, typically, the first dictionary ensures the coding of a minimum quality of the signals that it is desired to reproduce. The following dictionaries are intended to improve this quality, and will consolidate the coding, reduce sensitivity to the type of signal, or other.
- the cascading of a plurality of dictionaries amounts to constructing a single global dictionary obtained by summation of the dictionaries weighted by gains, as indicated above.
- each excitation vector corresponds to the sum of vectors derived from basic dictionaries multiplied by a gain, the basic dictionaries being explored one after the other, subtracting the known contribution of the partial excitation produced. by the vectors of the previous dictionaries.
- the cascaded dictionaries are explored one after the other, subtracting, for a current dictionary, a known contribution of a partial excitation produced by the vectors of at least one preceding dictionary, which confers a hierarchical coding structure.
- the estimate of the CELP criterion is slightly modified by the addition of the steps c) and e), with respect to the estimate of the CELP criterion in the sense of the prior art.
- the present description aims not only at the method defined above, but also at the dictionary, itself, of CELP excitation vectors, capable of being constructed by a device for encoding / decoding digital audio signals, by an implementation of the process within the meaning of the invention.
- the present invention also relates to a computer program as set forth in claim 7.
- these dictionaries can be constructed by executing a computer program of the aforementioned type, then stored in a memory of such a coding / decoding device, for example by virtue of the use of an algebraic law associating the indices. from vectors to the code vectors themselves (as for example in the ACELP technique).
- the present invention also relates to a use of such a device as set forth in claim 11.
- all or part of the general and optional characteristics expressed above can be applied both for the construction of the dictionary, for the dictionary itself or for the coding / decoding device comprising at least one dictionary thus constructed. or for the use of such a device, or for the computer program generating the dictionary or for the computer program for the use of the device.
- CELP type excitation vector dictionaries and their use, which offer a great potential wealth of content for a moderate size.
- the decoding of the associated indices is of low complexity, despite this variety of forms.
- the code vectors of a basic dictionary are obtained by defining a basic pattern. y ( j ) (- p ⁇ j ⁇ p ) as a sequence of samples ( figure 3a ) that moves in a block of length N , truncating the pattern when it overflows the block. We add K occurrences of this same pattern, multiplied by an amplitude factor, to form the code vectors of the dictionary.
- the dashed box with the reference D2 of the figure 7 illustrates some vectors V21, V22, V2n of a basic dictionary thus constructed.
- the first vector V21 comprises a base pattern Pat (D2) comprising a succession of eleven pulses.
- the last vector V2n of the dictionary D2 in the example of the figure 7 contains the sum of the pulses of the two basic patterns at their edges, right for one and left for the other (tenth and eleventh pulses of the overall pattern from the left).
- the (negative) pulse of the center of the second pattern of the vector V21 vanishes with the second (positive) pulse of the vector V12 in the sum of the vectors V21 + V12.
- pattern positions are such that patterns overlap at least partially (in the case of the vector V2n).
- the pulses of the overlapping patterns are added one by one.
- vectors are formed of a basic pattern affected by a given amplitude, truncated if necessary to the edge (s) and completed by zeros.
- the vectors ⁇ c ( n ) ⁇ of the basic dictionary are deduced from the vectors ⁇ c 0 ( n ) ⁇ by convolution with the base pattern y and truncation at the terminals of the segment [0, N -1].
- the vector ⁇ c w ( n ) ⁇ of dimension ( N + 2 p ) is defined by the convolution of the vector ⁇ c '( n ) ⁇ given above with the impulse response of the filter H ( z ). However, in the selection of the optimal waveform, only the N central elements of this vector are used.
- the number of non-zero elements h " ( n, j ) thus depends on the number of non-zero elements h ( n ) such that n ⁇ 0. If we assume that the filter H ( z ) is causal, all the elements b d ( n ) such that n ⁇ N -1 are zero.
- the search for the best waveform is then carried out (step 61) using the conventional CELP search criterion, expressed as the maximization of a ratio in which the numerator uses the vector ⁇ d ' ( a k ) ⁇ and the denominator the elements ⁇ '( a k , a l ), to finally obtain the best vector-code VC (step 62).
- figure 5 can illustrate, as an organogram, a portion of the algorithm of the computer program allowing the use of a coding / decoding device comprising at least one dictionary within the meaning of the invention.
- the search for the waveform in a basic dictionary within the meaning of the invention finally boils down to the known and efficient search of a conventional multi-pulse dictionary.
- positions of the centers a k ⁇ A k occurrences k (ranging from 0 to K-1) of the patterns describe the positions of the pulses of structured dictionaries of type ACELP, it will be possible to use the efficient fast algorithms that have been developed for such ACELP dictionaries.
- Simplifications of the above method may also be provided.
- the relative energy of the elements that are squeezed out in the truncation operation is small relative to the energy of the elements that remain in the block, for the occurrences of the edges, it can be expected simply to neglect the effects. board (without then conducting tests 54 and 58).
- at least one (preferably step 63) or the two correction steps 53 and 63 can simply be deleted.
- Two methods of combination can be provided to provide a global dictionary capable of providing various representations of waveforms, in particular to provide a very satisfactory spectral richness. Indeed, it is possible to orient the contents of each basic dictionary to one or more categories of signals.
- each of the basic dictionaries is preferably explored separately, the best waveforms resulting from the search in each basic dictionary then being compared with each other in order to select the most appropriate one.
- the complexity of the search is in this case equivalent to the sum of the complexities of searches in each basic dictionary. Quick searches; induced by the advantageous structure of the basic dictionaries as we have seen previously, have proved very effective.
- Exploration variants may also be proposed. For example, it is possible to first determine one (or more) basic dictionary (s) among the dictionaries that make up the global dictionary, and then to limit the search to the basic dictionaries thus preselected.
- the decoding of the indexes can be carried out by first identifying the base dictionary that has been selected (for example by comparing the index of the selected vector-code with values stored in memory corresponding to the boundaries of the basic dictionaries in the dictionary full). Then, the index of the code vector is decoded in the basic dictionary as previously indicated.
- This embodiment is advantageous. It is about building and using dictionaries that add the vectors of the basic dictionaries to take advantage of the characteristics of the basic dictionaries that compose it, but also to take advantage of their joint characteristics.
- the vectors of the dictionaries are formed simply by adding, one by one and sample by sample, all the vectors of the base dictionaries, possibly weighted by gains as in the second embodiment. which is described later.
- the figure 7 illustrates the principle of such an addition of basic dictionaries. In the example shown, two D1, D2 dictionaries are added together and it will be noted that the weights of the pulses of the vectors V1i of the dictionary D1 are the same, in the sum D1 + D2, as those of the pulses of the vectors V2j of the dictionary D2.
- a code vector belonging to a basic dictionary D2 can be represented by indicating the positions of the centers of the patterns and the amplitudes of the occurrences in the different dictionaries, that is to say for the different reasons, and then adding up the patterns scaled and so placed.
- a second embodiment of a sum of basic dictionaries gives rise to simpler search algorithms.
- the principle consists in cascading the summation of the basic dictionaries, a different gain being associated with each sub-vector coming from the basic dictionaries.
- This variant is very advantageous in terms of complexity.
- each basic dictionary is more particularly intended to enrich the global dictionary and, for example, according to a particular type of excitation signal, it may be advantageous to use different perceptual filters W i ( z ) (for i ranging from 0 at I -1) for the different searches in the basic dictionaries.
- W i ( z ) for i ranging from 0 at I -1
- a first base dictionary rather apt to represent the low frequency part of the excitation signal
- a second basic dictionary rather intended to represent the high frequency part.
- the conventional perceptual filter can be cascaded with a high-pass filter. Such an operation could also be called "spectral focusing". It will be described in detail later, with reference to the figure 9 , to illustrate a particular embodiment.
- this second embodiment advantageously adapts to hierarchical CELP coding structures.
- the bitstream is hierarchized and, in the implementation of this second embodiment, the bits corresponding to the indices and the gains of each of the code sub-vectors of the base dictionaries can constitute layers. separate hierarchical (or "participate" in distinct layers). If the decoder receives only a part of this information, it will be able to reconstitute at least a part of the excitation by decoding the indices and gains received associated with the sub-code-vectors of the basic dictionaries of the first layers and by summing the excitations partial thus obtained.
- the first basic dictionary then provides the minimum quality coding and the following will allow a gradual increase in quality and a better consideration of the possible variety of signals, for example by offering an expanded spectral content.
- the exemplary embodiment described below is in the context of a hierarchical CELP coder producing a binary train formed of two layers, a first layer of which corresponds to the "core" coding of the hierarchical structure, which operates at a rate of 8 kbit. / s and a second layer provides quality improvement for an additional 4 kbit / s, resulting in a total bit rate of 12 kbit / s.
- the bit stream of the first layer is "compatible" with that of the ITU-T G.729 standard encoder so that an encoder or a decoder within the meaning of the invention can operate with a decoder or an encoder according to the G.729 and its annexes for the 8 kbit / s rate.
- the hierarchy is ensured by the use of a dictionary according to the cascaded summation variant of the basic dictionaries in the sense of the invention.
- the block size is 5ms, ie 40 samples at 8 kHz.
- the first basic dictionary D1 ( figure 8a ) is of the "trivial" type and corresponds simply to the ACELP dictionary of the G.729 encoder, whose vectors are obtained by adding four signed pulses whose positions belong to the sets indicated in the table 2 given below.
- ITU-T Recommendation G.729 " Coding of Speech at 8 kbps using Conjugate Structure Algebraic Code Excited Linear Prediction (CS-ACELP) ", March 1996 ).
- the second basic dictionary D2 ( figure 8b ) is a non-trivial dictionary, whose base pattern (or "tri-pulses"), of length three, comprises three impulses of respective amplitudes - ⁇ , +1 and - ⁇ , with preferentially 0 ⁇ ⁇ 0.35 .
- the value a may advantageously be chosen dynamically according to the characteristics of the input signal.
- the number of occurrences, the amplitudes and the positions of the centers of the pattern are identical to those of the first dictionary.
- the figure 8c shows the shape of the average spectra of the waveforms of the first dictionary (arrow D1) and the second dictionary (arrow D2). It is found that the first dictionary has a spectrally flat content, while the second dictionary is richer in high frequencies.
- a first stage ET-1 introduces the adaptive dictionary DICa (vector ⁇ p (n) ⁇ ) and its associated gain g p , then the first fixed dictionary D1 (vector ⁇ c 1 (n) ⁇ ) and the associated gain g 1 .
- a second stage ET-2 presents the search in the second fixed dictionary D2 (vector ⁇ c 2 (n) ⁇ ) and the associated gain g 2 .
- the search in the first basic dictionary D1 is known and uses, for example, one or the other of the fast and focused algorithms described in the G.729 standard and its reduced complexity appendix A ( ITU-T Recommendation G.729, "Annex A: 8 kbit / s CS-ACELP speech codec", November 1996 ).
- the search in the second base dictionary D2 also takes advantage of this fast algorithm, as described above.
- the vector ⁇ c w ( n ) ⁇ is thus defined for -1 ⁇ n ⁇ 40.
- the figure 9 can then schematically represent a device within the meaning of the invention, in particular here a coding device.
- h ( n ) is zero for n ⁇ 0 or n ⁇ 40
- h ' ( n ) is nonzero a priori for -1 ⁇ n ⁇ 40.
- the dictionaries defined by the implementation of the invention offer great flexibility of use. Each block being totally independent of those which precede it or which follow it, it is possible to use for a block a dictionary totally different from that used for the neighboring blocks without particular precautions. This avoids possible problems of continuity. It is then very easy to adapt the dictionaries used to the signal to be coded, for example by modifying the pattern (s) used for the basic dictionaries. It can also be expected to modify the sets that define the positions of the centers of the patterns in the occurrences and / or sets of amplitudes. These possible modifications are for example particularly suitable for the case of variable rate encoders governed by the source.
- high-pass filtering may be provided in a global filter for perceptual weighting, notably involved in encoding in the search for an optimal excitation vector.
- the description may also refer to a computer program for a device for coding / decoding digital audio signals, including instructions for implementing the use
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)
Description
- La présente invention concerne le codage/décodage de signaux audionumériques, en technique dite "CELP" (pour "Code Excited Linear Prediction").
- Le codage en compression de tels signaux peut intervenir pour leur transmission ou leur stockage. Les signaux peuvent être des signaux de parole ou plus généralement des signaux sonores digitalisés. Plus particulièrement, cette invention concerne la technique du codage prédictif dans laquelle :
- une prédiction à court terme d'un signal d'entrée est tout d'abord effectuée pour estimer un filtre de synthèse (dit filtre "LPC" pour "Linear Prediction Coding"),
- puis le signal résiduel obtenu par filtrage du signal original par le filtre LPC est modélisé (par un signal dit "d'excitation" qui produit par filtrage le signal reconstruit) et codé.
- Plus précisément, l'invention concerne la famille des codeurs CELP (pour "Code Excited Linear Prediction"), qui sélectionnent le signal d'excitation parmi un ensemble de signaux candidats en comparant la sortie du filtre de synthèse, excité par ce signal, au signal original, avec introduction d'une pondération perceptuelle. De tels codeurs ont été largement employés pour le codage des signaux de parole dans des débits de 6 à 24 kbit/s, et adoptés notamment dans les normes UIT-T G.729, GSM-EFR, 3GPP/WB-AMR.
- L'invention trouve une application avantageuse dans des systèmes de codage hiérarchique décrits en détail plus loin et pour lesquels le train binaire est formé d'une couche de base suivie de couches supplémentaires permettant d'améliorer la qualité.
- Un schéma général d'un codeur CELP est donné à la
figure 1 . Lafigure 2 présente le décodeur associé. - Des détails quant à ce type de codeur/décodeur sont donnés notamment dans une référence de base :
- " Code-Excited Linear Prediction (CELP): High Quality Speech at Very Low Bit Rates", B. S. Atal et M R. Schroeder, ICASSP, 1985, pp.937-940.
- En référence à la
figure 1 , le codeur segmente un signal d'entrée S(n) en blocs d'échantillons ou "trames" (typiquement de l'ordre de 10 à 20 ms de signal). Ensuite, une analyse LPC 10 est effectuée pour estimer et quantifier les paramètres du filtre de prédiction linéaire à court terme. Dans la plupart des cas, la modélisation du signal d'excitation exc(z) s'effectue ensuite à l'aide de deux dictionnaires : - le dictionnaire adaptatif DICA destiné à modéliser la périodicité des sons harmoniques, et
- le dictionnaire DlCf dit "fixe" pour la partie non harmonique et les sons non voisés.
- La présente invention vise plutôt le dictionnaire "fixe" DlCf, tandis que ce qui concerne le dictionnaire adaptatif DICA n'est préférentiellement pas traité dans ce qui suit.
- La modélisation du signal d'excitation s'effectue en général sur des blocs d'échantillons correspondant à des sous-trames de signal typiquement de l'ordre de 5 ms. Dans ce qui suit, on considérera le cas d'une sous-trame de signal comprenant N échantillons (par exemple N=40 échantillons à 8 kHz de fréquence d'échantillonnage). Dans un tel codeur, la sélection d'un mot de code optimal dans un dictionnaire (que l'on dénomme également "vecteur-code", ou "forme d'onde") s'effectue par minimisation de l'énergie du signal d'erreur pondéré perceptuellement, ce qui s'exprime par une relation du type : E(z)=W(z)(S(z)-S̃(z)), où les notations E(z), S(z), S̃(z) représentent les transformées en z, respectivement, du signâl.d'erreur pondéré, du signal original à coder et du signal reconstruit.
-
-
- 1/Aq (z) correspond au filtre 12 de synthèse LPC,
- res(z) est le signal résiduel LPC,
- exc(z) est le signal d'excitation défini par :
- Les signaux excpassé (n) et exccourant (n) représentent respectivement le signal d'excitation passé (signal nul sur le bloc courant) et courant (signal à mémoire nulle).
-
-
-
-
-
- Les éléments {h(n)} représentent la réponse impulsionnelle du filtre H (défini ci-avant par la relation (1) ci-dessus).
- On considère généralement que le filtre H est causal, c'est-à-dire que les éléments h(n) tels que n < 0 sont nuls. Cependant, dans ce qui suit, on se placera dans un cas plus général où tout ou partie des éléments h(n) tels que n < 0 peuvent être non nuls.
- Classiquement, la technique dite du "backward filtering" exposée dans :
"Fast CELP coding based on algebraic codes", J. P. Adoul, P. Mabilleau, M. Delprat, S. Morissette, ICASSP 1987, pp. 1957-1960, permet de pré-calculer des éléments communs à tous les vecteurs (en particulier l'intercorrélation entre le vecteur cible et le filtre H(z)) pour le numérateur, par : -
- Le gain optimal associé au vecteur-code sélectionné est quantifié. Un indice de quantification ainsi que l'indice associé au vecteur-code sélectionné sont transmis (via un réseau de télécommunication) ou simplement stockés pour une transmission ultérieure. C'est sur la base de ces indices que le décodage peut ensuite intervenir.
- Au décodage, en référence à la
figure 2 , les gains respectifs - Des dictionnaires structurés ont ensuite été proposés pour accélérer la recherche de la forme d'onde Optimale, certains calculs de recherche étant réalisés une fois pour différents signaux d'entrée (ou "calculs mutualisés") grâce aux relations induites entre les vecteurs de par la structure du dictionnaire. Une des catégories les plus populaires de dictionnaires structurés est la famille des dictionnaires algébriques, composés d'impulsions dont la position est définie par un code algébrique ou encore selon un réseau de points (typiquement un réseau de Gosset), régulier ou non. Les représentants les plus classiques de tels dictionnaires sont connus sous le nom d'ACELP (pour "Algebraic CELP"). Ces dictionnaires structurés permettent d'éviter le stockage des mots de code, une relation bi-univoque permettant de calculer les éléments des vecteurs-code à partir de leur indice.
- Par ailleurs, ces dictionnaires ont donné lieu à des recherches rapides accélérées par des algorithmes d'exploration focalisée sous-optimaux mais très efficaces. Ainsi, pour un dictionnaire multi-impulsionnel, les expressions du numérateur et dénominateur définies plus haut se simplifient si l'on suppose que les vecteurs d'un tel dictionnaire sont constitués de K impulsions, d'amplitudes sk avec k compris entre 0 et K-1 (ces amplitudes étant en pratique souvent réduites à un simple signe), avec :
et
où ak et al représentent les positions auxquelles apparaissent les impulsions. - Cependant, ces dictionnaires, lorsque la contrainte de débit en limite la taille, présentent l'inconvénient d'un certain manque de richesse au niveau du contenu. Les impulsions deviennent peu nombreuses, et, de ce fait, très clairsemées. On parle alors de "Sparse Codebooks" (ou "dictionnaires clairsemés"). Tous les échantillons non nuls ont la même amplitude et il est difficile de bien représenter l'équilibre en amplitude entre les échantillons du bloc avec très peu d'impulsions. Les dégradations induites par l'usage de dictionnaires algébriques trop pauvres sont alors très audibles. Elles se caractérisent par exemple par une certaine raucité du signal.
- Pour pallier ces inconvénients, la technique dite de "sparseness reduction" (que l'on pourrait traduire par "réduction du caractère clairsemé") a été proposée dans
US-6,029,125 . Elle propose d'enrichir un dictionnaire multi-impulsionnel comportant un faible nombre d'impulsions (et donc présentant un "caractère clairsemé") soit par l'addition avec un signal de bruit, soit par filtrage à l'aide d'un filtre passe-tout, qui disperse les impulsions sans modifier le module du spectre du signal. Un tel filtrage agit essentiellement au niveau de la phase. Ces modifications du dictionnaire peuvent être introduites a posteriori au décodage ou peuvent être introduites dans le processus de sélection (donc au codage). - Toutefois; lorsqu'elle est introduite dans le codeur, l'addition de bruit empêche l'usage d'algorithmes rapides de sélection de la forme d'onde optimale. Par ailleurs, le filtrage du dictionnaire fixe suppose a priori une certaine continuité du processus car les filtres tendent à élargir le support du signal filtré, et comme il n'est généralement pas possible de corriger l'excitation du bloc précédent, des irrégularités au bord des blocs d'échantillons codés, mal contrôlées par le processus, peuvent apparaître.
- En outre, si l'on souhaite adapter le type de modification apportée au dictionnaire en fonction du signal, il n'y a pas d'autres solutions que de prévoir des filtres différents et passer de filtres à d'autres, ce qui peut également engendrer des distorsions.
- Par ailleurs, comme indiqué déjà plus haut, la technique présentée dans ce document
US-6,029,125 vise certes à remédier au manque d'impulsions d'un dictionnaire en appliquant une modification qui conserve l'allure spectrale du dictionnaire. Or, il est souvent nécessaire d'enrichir les dictionnaires multi-impulsionnels, en incluant des vecteurs-code qui encodent mieux certaines parties du spectre, en particulier les hautes fréquences, ce qui est incompatible avec la solution retenue dansUS-6,029,125 . - D'autres types de dictionnaires ont été proposés pour accroître les performances en maintenant des complexités de recherche acceptables. Ainsi, les dictionnaires cascadés (ou "multi-stage" en vocable anglo-saxon), éventuellement différents, donnent lieu à plusieurs recherches CELP successives, chaque recherche produisant l'indice d'un vecteur-code sélectionné avec son gain associé.
-
- La recherche conjointe des sous-vecteurs-codes {ci (n)} dans les I dictionnaires peut être complexe. En pratique, une méthode sous-optimale de recherche en série est utilisée et consiste à sélectionner la forme d'onde optimale dans le premier dictionnaire et calculer le gain associé, puis à quantifier ce gain et soustraire la contribution connue de ce premier dictionnaire, ce qui, en reprenant les expressions présentées plus haut, se traduit par :
et - Le "signal cible filtré" est modifié en x'(z) = H(z)(res(z) - exc 1 (z)) et la sélection du sous-vecteur du second dictionnaire est ainsi effectuée. Le processus est ensuite itéré pour tous les dictionnaires successifs.
- Il est à noter que l'usage de dictionnaires orthogonaux peut aussi être prévue dans ce contexte.
- L'article "Dispersed-pulse codebook and its application to a 4kb/s speech coder", Yasunaga K et al, ICASSP 2000, divulgue l'apprentissage des vecteurs de dispersion.
- On décrit brièvement maintenant les structures de codage hiérarchique. De telles structures, encore appelées "scalables", fournissent au codage des données binaires qui se répartissent en couches successives. Une couche de base est formée des éléments binaires absolument nécessaires au décodage du train binaire, et déterminant une qualité minimum de décodage. Les couches suivantes permettent d'améliorer progressivement la qualité du signal décodé, chaque nouvelle couche amenant de nouvelles informations, qui, exploitées au décodage, fournissent en sortie un signal de qualité croissante. L'une des particularités des codeurs hiérarchiques est la possibilité d'intervenir à un niveau quelconque de la chaîne de transmission ou de stockage pour supprimer une partie du train binaire sans devoir fournir d'indication particulière au codeur ni au décodeur. Le décodeur utilise les informations binaires qu'il reçoit et produit un signal de qualité correspondant.
- On retrouve dans la composition des traitements de codage hiérarchique la notion de "couches" de codage. Ces couches peuvent être construites par la mise en oeuvre de procédés issus de techniques différentes. En variante, les différentes couches de codage peuvent être issues d'un même type de traitement, dans lequel il est possible d'améliorer la qualité en fournissant simplement des données supplémentaires. Ainsi les codeurs CELP hiérarchiques, encore dénommés "CELP imbriqués", utilisent en général plusieurs dictionnaires, qui peuvent être différents à chaque étage ou identiques.
- Néanmoins, les dictionnaires cascadés et les dictionnaires intervenant dans les structures de codage hiérarchique présentent encore les mêmes problèmes que ceux décrits précédemment.
- La présente invention vient améliorer la situation.
- Elle vise en particulier à remédier au manque de richesse, en termes de formes d'onde et de contenu spectral, des dictionnaires CELP à bas débits, tout en conservant la grande facilité de décodage et la faible complexité associées à ces dictionnaires. Elle offre en outre un enrichissement progressif de ces dictionnaires, ce qui est particulièrement intéressant dans le contexte des structures de codage hiérarchiques. Elle a également pour objet de proposer une alternative séduisante aux techniques dites "anti-sparseness" et, dans un cadre plus général, peut contribuer à l'enrichissement des dictionnaires clairsemés, avec un meilleur contrôle de la continuité entre blocs successifs.
- Elle propose à cet effet un procédé de codage/décodage de signaux audionumériques, tel qu'énoncé dans la revendication 1.
- Dans le procédé au sens de l'invention, un dictionnaire initial (appelé aussi ci-après "dictionnaire de base") est construit en :
- prévoyant une même suite d'impulsions formant un motif de base,
- et en affectant le motif de base à chaque vecteur d'excitation du dictionnaire, selon une ou plusieurs occurrences à une ou plusieurs positions respectives parmi lesdites N positions valides.
- On entend ici par "suite d'impulsions" une succession d'échantillons comportant des impulsions et éventuellement un ou plusieurs échantillons nuls entre les impulsions, et/ou en début et/ou en fin de la succession.
- Préférentiellement, le dictionnaire ainsi construit est un dictionnaire d'excitation CELP de type dit "fixe" (référencé DICf par exemple sur les
figures 1 et2 décrites ci-avant). - Préférentiellement, le motif de base apparaissant à chaque occurrence dans un vecteur d'excitation est multiplié par une amplitude associée à ladite occurrence, cette amplitude étant par exemple choisie parmi un ensemble comportant les valeurs +1 et -1.
- Préférentiellement encore, tous les vecteurs du dictionnaire initial comportent un même nombre d'occurrences du motif de base.
- Ainsi, un dictionnaire initial peut être défini par :
- la suite d'impulsions formant le motif de base,
- le nombre d'occurrences du motif dans chaque vecteur,
- des ensembles de positions admises pour les occurrences desdits motifs, et
- des ensembles d'amplitudes à associer aux occurrences desdits motifs.
- L'invention propose ainsi la construction de dictionnaires de vecteurs d'excitation CELP, ces dictionnaires étant définis par la donnée d'un motif de base, apparaissant selon une ou plusieurs occurrences, chaque occurrence étant multipliée par une amplitude. Les motifs apparaissant éventuellement en bordure de bloc (trames ou sous-trames d'échantillons) sont tronqués pour s'insérer exactement dans le bloc.
- En termes plus génériques, on comprendra que les motifs apparaissant en bordure de bloc d'un vecteur sont tronqués et les impulsions restantes des motifs tronqués occupent le début ou la fin du bloc.
- Un dictionnaire obtenu par le procédé au sens de l'invention, rassemblant des vecteurs de dimension N, est alors défini par un motif de base, que l'on "déplace" dans le bloc de longueur N. Chaque motif apparaît selon K occurrences que l'on additionne, chaque occurrence étant elle-même définie par
- un terme d'amplitude (éventuellement de polarité), c'est-à-dire que le motif est multiplié par une valeur donnée (par exemple ±1) pour chaque occurrence,
- et la position du motif dans l'occurrence.
- On relèvera toutefois qu'un dictionnaire multi-impulsionnel, bien connu de l'état de l'art, constitue un cas particulier d'un dictionnaire ainsi obtenu, dans la mesure où la longueur d'un motif dans le cas d'un dictionnaire multi-impulsionnel est simplement de 1. Ce type de dictionnaire multi-impulsionnel sera désigné ci-après sous le nom de "dictionnaire de base trivial".
- Par ailleurs, le procédé au sens de l'invention permet de construire des combinaisons de dictionnaires (initiaux et construits comme décrit ci-avant sans exclure aussi le recours à un ou plusieurs dictionnaires supplémentaires multi-impulsionnels classiques).
- Ainsi, un dictionnaire obtenu par le procédé au sens de l'invention peut consister en :
- un unique dictionnaire de base, non trivial, défini par un motif de base (de longueur supérieure à 1), par les positions du motif et par l'amplitude associée selon les différentes occurrences, ou
- une union de dictionnaires de base, dans laquelle au moins l'un des dictionnaires de base est un dictionnaire de base non trivial, ou
- ou une somme de dictionnaires de base, éventuellement pondérée, dans laquelle au moins l'un des dictionnaires de base est un dictionnaire de base non trivial, les occurrences de tous les motifs étant-sommées entre elles.
- En termes plus génériques, un dictionnaire global peut être construit par une somme de dictionnaires de base dont l'un au moins est un dictionnaire initial défini par un motif de base. Les vecteurs du dictionnaire global sont formés dans ce cas par addition des impulsions de positions communes des vecteurs des dictionnaires de base, préférentiellement pondérés, un à un par un gain associé chacun à un dictionnaire.
- En variante, un dictionnaire global peut être construit par une union de dictionnaires de base dont l'un au moins est un dictionnaire initial défini par un motif de base. Dans ce cas, le dictionnaire global comporte simplement tous les vecteurs de tous les dictionnaires de base.
- La construction de tels dictionnaires permet déjà de prévoir des types variés de contenus. Selon la forme des motifs de base et leur nombre d'occurrences, on pourra obtenir des vecteurs d'excitation d'allures variées, possédant éventuellement un nombre relativement élevé d'impulsions non nulles. Par exemple, le choix du motif de base peut être guidé par des considérations d'ordre spectral. Cette richesse de contenu ne nécessite pas, pour autant, une taille particulièrement importante du dictionnaire car, par le jeu de l'addition des occurrences des motifs, on peut varier les formes des vecteurs d'excitation avec un nombre modéré de motifs et d'occurrences. Ainsi, il est possible de représenter des vecteurs d'excitation ayant un contenu spectral sensiblement différent de celui des dictionnaires multi-impulsionnels classiques, pour des ensembles d'indices équivalents.
- Dans une telle réalisation, on prévoit que le motif de base comporte au moins une impulsion centrale, précédée et succédée d'au moins une impulsion de signe opposé au signe de l'impulsion centrale. Plus précisément, le motif comporte en tout trois impulsions dont :
- une impulsion centrale,
- une seconde impulsion précédant l'impulsion centrale,
- et une troisième impulsion succédant l'impulsion centrale,
les signes des seconde et troisième impulsions étant opposés à celui de l'impulsion centrale,
l'amplitude des seconde et troisième impulsions étant inférieure, en valeur absolue, à celle de l'impulsion centrale et, de façon avantageuse, variable entre 0 (non compris) et environ la moitié de l'amplitude de l'impulsion centrale, en valeur absolue. - Il s'est alors avéré avantageux de prévoir un dispositif de codage/décodage comportait une mise en cascade de dictionnaires, dont au moins un dictionnaire initial est subséquent dans la cascade, ce dictionnaire initial comportant un tel motif symétrique à impulsion centrale et impulsions précédente et suivante d'amplitudes opposées à celle de l'amplitude centrale. Ce dispositif peut comporter avantageusement un filtrage passe-haut dans un filtre global de pondération perceptuel intervenant notamment au codage dans la recherche d'un vecteur d'excitation optimal. Un exemple d'une telle réalisation sera décrit en détails plus loin, en référence aux
figures 8a, 8b, 8c et9 . Cette réalisation a permis de focaliser la recherche dans le dictionnaire initial par l'usage d'un filtre passe-haut. - On indique simplement ici que cette réalisation propose une mise en cascade d'un dictionnaire multi-impulsionnel avec un dictionnaire défini par un motif symétrique par rapport à son centre, dont les occurrences du centre du motif décrivent le même ensemble que les occurrences des impulsions du dictionnaire multi-impulsionnel.
- Cette mise en oeuvre permet d'élargir le domaine spectral du dictionnaire de base initial par l'apport d'un ou plusieurs dictionnaires de base supplémentaires, la recherche dans ces dictionnaires de base supplémentaires étant alors focalisée spectralement par la modification du filtre de pondération perceptuel intervenant dans la recherche du vecteur optimal, le choix de cette modification et celui du motif de ces dictionnaires de base supplémentaires étant éventuellement liés.
- De manière plus générale, dans le cas d'une union ou sommation de plusieurs dictionnaires de base, on utilise des dictionnaires de base dont les centres des motifs et les amplitudes associées décrivent les mêmes ensembles mais pour des motifs différents.
- Ainsi, en termes plus génériques, les positions des motifs et/ou des impulsions dans les vecteurs des dictionnaires, notamment lorsqu'ils sont mis en cascade, décrivent des ensembles préférentiellement identiques, la position d'un motif étant repérée sensiblement par la position d'une impulsion centrale dans la suite d'impulsions formant le motif.
- Il est alors possible de mutualiser les calculs et les algorithmes de traitements rapides car les techniques de recherche d'un vecteur d'excitation meilleur candidat restent rapides dans les dictionnaires construits au sens de l'invention, puisque ces derniers exploitent la structure particulière des dictionnaires multi-impulsionnels classiques, et permettent l'utilisation de traitements efficaces mis en place pour le cas des dictionnaires multi-impulsionnels.
- On indique ici que la position d'un motif peut être repérée par la position dans le bloc de l'échantillon du centre du motif, si le motif comprend un nombre impair d'échantillons. Toutefois, de manière strictement équivalente, un éventuel motif de longueur paire pourra être complété par un zéro afin de produire une longueur impaire. Plus généralement, toute autre variante pour repérer la position des motifs peut être envisagée.
- L'invention propose des techniques très simples de décodage de l'indice des vecteurs de tels dictionnaires, par addition des occurrences mises à l'échelle du ou des motifs dont la position et le facteur d'amplitude pour chaque occurrence sont transmis.
- En termes génériques, au codage, après détermination d'un vecteur meilleur candidat dans un dictionnaire initial, on forme un indice comportant préférentiellement au moins des indications :
- de la ou des position(s) du motif de base dans le vecteur meilleur candidat, et
- de la ou des amplitude(s) associée(s) à la ou les position(s) du motif, ledit indice étant destiné à être transmis pour un décodage ultérieur.
- Si l'on prévoit une pluralité de dictionnaires, l'indice comporte en outre une indication du dictionnaire dans lequel le vecteur meilleur candidat a été trouvé. Ainsi, si le vecteur meilleur candidat a été trouvé dans un dictionnaire initial comportant un motif de base, l'indice comporte en particulier une indication relative au dictionnaire initial précité et, de là, une indication quant au motif de base qui a permis de construire le dictionnaire et donc le vecteur meilleur candidat.
- Dans le cas d'un unique dictionnaire de base, l'indice reflète déjà l'amplitude et la position associées à chacune de ses occurrences. Pour décoder le vecteur meilleur candidat, il suffit alors de positionner le motif de base aux différentes positions qu'il doit occuper dans chaque occurrence, le multiplier par les amplitudes associées, et faire la somme des occurrences. Dans le cas d'une union de dictionnaires de base, l'indice informe en outre sur le dictionnaire de base sélectionné, comme indiqué précédemment.
- Dans le cas d'une somme de dictionnaires de base, on dispose des amplitudes et positions des occurrences de chaque motif de base et on procède de manière équivalente au cas de l'union, mais en sommant les contributions de tous les motifs.
- Le décodage des indices des vecteurs d'un dictionnaire au sens de l'invention est très simple.
- Au décodage, on reconstruit le meilleur vecteur candidat préférentiellement à partir de l'indice :
- éventuellement dans le cas d'une utilisation d'une union de dictionnaires, en déterminant déjà le motif de base correspondant au dictionnaire initial indiqué par l'indice,
- en positionnant le motif de base aux positions indiquées par l'indice,
- en multipliant le motif à chaque position par une amplitude associée indiquée par l'indice,
- et en additionnant les motifs multipliés et disposés auxdites positions indiquées.
- Dans le cas d'une utilisation d'une somme de dictionnaires, on détermine préférentiellement les indices des vecteurs dans chacun des dictionnaires et, de là, on applique pour chaque indice, les trois dernières étapes décrites ci-avant.
- Il est possible d'accélérer la recherche dans des dictionnaires au sens de l'invention et il est apparu particulièrement intéressant de munir les ensembles de positions des motifs d'une structure forte, par exemple celle des dictionnaires ACELP, pour adapter les traitements rapides de recherche, très efficaces, mis en place habituellement dans les dictionnaires ACELP.
- Ainsi, en termes plus génériques, le dictionnaire construit au sens de l'invention comporte préférentiellement des positions admises de motif qui décrivent un ensemble fortement structuré, avantageusement comme un ensemble de positions d'impulsions d'un dictionnaire ACELP.
- Comme indiqué ci-avant, dans le cas de l'utilisation d'une pluralité de dictionnaires, il est particulièrement intéressant de munir deux ou plusieurs dictionnaires de base d'ensembles identiques de positions de motifs, pour pouvoir réutiliser les mêmes traitements dans la recherche dans les dictionnaires. Ainsi, l'un de ces dictionnaires au moins peut avantageusement être de type ACELP.
- La mise en cascade de dictionnaires incluant au moins un dictionnaire de base est très avantageuse. Cette variante est particulièrement adaptée au cas de structures de codage hiérarchique. Néanmoins, les différents dictionnaires de base ne jouent pas le même rôle car, typiquement, le premier dictionnaire assure le codage d'une qualité minimale des signaux qu'il est souhaité de reproduire. Les dictionnaires suivants sont plutôt destinés à améliorer cette qualité, et permettront de consolider le codage, de réduire la sensibilité au type de signal, ou autre.
- En termes plus génériques, la mise en cascade d'une pluralité de dictionnaires revient à construire un unique dictionnaire global obtenu par sommation des dictionnaires pondérée par des gains, comme indiqué ci-avant.
- Dans ce cas, chaque vecteur d'excitation correspond à la somme de vecteurs issus de dictionnaires de base multipliés par un gain, les dictionnaires de base étant explorés l'un après l'autre, en soustrayant la contribution connue de l'excitation partielle produite par les vecteurs des dictionnaires précédents. Ainsi, dans cette réalisation avantageuse, les dictionnaires mis en cascade sont explorés l'un après l'autre, en soustrayant, pour un dictionnaire courant, une contribution connue d'une excitation partielle produite par les vecteur d'au moins un dictionnaire précédent, ce qui confère une structure de codage hiérarchique.
- De façon particulièrement avantageuse, la recherche dans un dictionnaire d'un vecteur d'excitation meilleur candidat s'effectue selon une estimation d'un critère CELP, peu modifiée par rapport à l'art antérieur et comportant alors les étapes :
- a) calculer la convolution de la réponse impulsionnelle d'un filtre résultant du produit d'un filtre de synthèse LPC par un filtre perceptuel, avec le motif de base du dictionnaire, pour obtenir un vecteur de filtre convolué,
- b) calculer les éléments d'un vecteur d'inter-corrélation entre un vecteur cible candidat et le vecteur de filtre convolué,
- c) corriger éventuellement des éléments du vecteur d'inter-corrélation pour tenir compte d'une troncature du motif de base à au moins un bord de bloc,
- d) calculer les éléments d'une matrice d'autocorrélation du vecteur de filtre convolué,
- e) corriger éventuellement des éléments de ladite matrice pour tenir compte d'une troncature du motif de base à au moins un bord de bloc,
- f) effectuer une recherche du vecteur meilleur candidat à l'aide d'un critère CELP exprimé comme une maximisation d'un rapport dans lequel le numérateur fait intervenir les éléments du vecteur d'inter-corrélation et le dénominateur fait intervenir les éléments de la matrice d'autocorrélation.
- On comprendra que, dès lors que la recherche peut faire apparaître des motifs de base en bordure de bloc,' l'estimation du critère CELP est légèrement modifiée par l'ajout des étapes c) et e), par rapport à l'estimation du critère CELP au sens de l'art antérieur.
- D'ailleurs, des simplifications aux algorithmes de recherche optimaux des dictionnaires de base sont en outre proposées lorsque l'énergie relative des parties à tronquer est faible devant celles des parties qui restent dans le bloc pour les motifs du bord. Dans ce cas, l'une des étapes c) et e), ou les deux, pourront être omises.
- D'autres simplifications sont également proposées, visant à tronquer les réponses impulsionnelles des filtres de synthèse multipliés par le filtre perceptuel, et à tronquer le vecteur de filtre convolué calculé à l'étape a).
- La présente description vise non seulement le procédé défini ci-avant, mais aussi le dictionnaire, lui-même, de vecteurs d'excitation CELP, susceptible d'être construit par un dispositif de codage/décodage de signaux audionumériques, par une mise en oeuvre du procédé au sens de l'invention.
- La présente invention vise aussi un programme informatique tel qu'énoncé dans la revendication 7.
- Elle vise aussi le dispositif de codage ou décodage de signaux audionumériques, tel qu'énoncé dans la revendication 8.
- Avantageusement, ces dictionnaires peuvent être construits par l'exécution d'un programme informatique du type précité, stocké alors dans une mémoire d'un tel dispositif de codage/décodage, par exemple grâce à l'emploi d'une loi algébrique associant les indices de vecteurs aux vecteurs-code eux-mêmes (comme par exemple dans la technique ACELP).
- La présente invention vise aussi une utilisation d'un tel dispositif tel qu'énoncé dans la revendication 11.
- De manière générale, tout ou partie des caractéristiques générales et optionnelles exprimées ci-avant peuvent s'appliquer aussi bien pour la construction du dictionnaire, que pour le dictionnaire lui-même ou pour le dispositif de codage/décodage comportant au moins un dictionnaire ainsi construit ou pour l'utilisation d'un tel dispositif, ou encore pour le programme informatique générant le dictionnaire ou pour le programme informatique permettant l'utilisation du dispositif.
- Ainsi, la description décrit des dictionnaires de vecteurs d'excitation de type CELP et leur utilisation, qui offrent une grande richesse potentielle de contenus pour une taille modérée. Le décodage des indices associés est de faible complexité, en dépit de cette variété de formes. On peut en outre mettre en place des algorithmes rapides de sélection du vecteur optimal, en tirant parti de la composition particulière de ces dictionnaires.
- On retiendra alors que la déscription décrit une catégorie de dictionnaires CELP permettant l'encodage d'une grande variété de signaux d'excitation pour des débits relativement modérés, et offrant en outre des algorithmes rapides et efficaces pour la sélection du vecteur adéquat.
- 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, outre les
figures 1 et2 décrites ci-avant : - la
figure 3a illustre un motif de base pour la mise en oeuvre de l'invention, - les
figures 3b et 3c illustrent respectivement un premier A0 et un deuxième A1 ensemble des positions de la première et de la deuxième occurrence d'un motif de base, - la
figure 3d illustre un exemple de vecteur-code sélectionné par la mise en oeuvre de l'invention, - la
figure 4 est une table des modifications de la matrice d'autocorrélation dans l'estimation du critère CELP utilisant un dictionnaire au sens de l'invention, - la
figure 5 illustre les principales étapes de recherche du meilleur vecteur-code dans un dictionnaire au sens de l'invention, par application du critère CELP "corrigé" pour tenir compte de la présence de motifs dont une partie est située hors d'un bloc courant, - la
figure 6 illustre un exemple d'union de dictionnaires au sens de l'invention, - la
figure 7 illustre un exemple de somme de dictionnaires au sens de l'invention, - les
figures 8a et 8b illustrent un premier et un second dictionnaire de base dans un exemple de réalisation de la présente invention pour perfectionner un codeur CELP selon la norme G.729, - la
figure 8c compare l'allure des spectres moyens des formes d'ondes du dictionnaire de lafigure 8a et du dictionnaire de lafigure 8b , - la
figure 9 illustre un exemple de réalisation d'un codeur CELP selon la norme G.729 perfectionné par un exemple de mise en oeuvre de la présente invention. - En référence tout d'abord aux
figures 3a à 3d , on décrit ci-après le contenu d'un dictionnaire "de base" au sens de l'invention. - Les vecteurs-code d'un dictionnaire de base sont obtenus en définissant un motif de base . y(j) (-p ≤ j ≤ p) comme une suite d'échantillons (
figure 3a ) qui se déplace dans un bloc de longueur N, en tronquant le motif lorsqu'il déborde du bloc. On additionne K occurrences de ce même motif, multipliées par un facteur d'amplitude, pour former les vecteurs-code du dictionnaire. A titre d'exemple, l'encadré en traits pointillés portant la référence D2 de lafigure 7 illustre quelques vecteurs V21, V22, V2n d'un dictionnaire de base ainsi construit. Le premier vecteur V21 comporte un motif de base Pat(D2) comportant une succession de onze impulsions. A gauche de ce motif, on remarque la "fin" d'un motif de polarité inverse et tronqué de sorte que seules ses neuvième à onzième impulsions apparaissent dans le vecteur V21. Le vecteur suivant V22 reprend le motif Pat(D2) entier et un autre motif tronqué à droite et de polarité inverse. Dans les vecteurs V21 et V22, les motifs sont disjoints. En revanche, dans le dernier vecteur V2n, deux motifs de base sont repris avec la même polarité, mais leurs centres respectifs occupent des positions suffisamment proches pour que les deux motifs se chevauchent partiellement. Dans ce cas, les impulsions qui se chevauchent s'additionnent entre elles, en tenant compte de leur signe. Par exemple, le dernier vecteur V2n du dictionnaire D2 dans l'exemple de lafigure 7 comporte la somme des impulsions des deux motifs de base en leurs bords, droit pour l'un et gauche pour l'autre (dixième et onzième impulsions du motif global à partir de la gauche). De même, l'impulsion (négative) du centre du deuxième motif du vecteur V21 s'annule avec la deuxième impulsion (positive) du vecteur V12 dans la somme des vecteurs V21 +V12. - Ainsi, en termes plus génériques, parmi les positions admises des motifs de base dans chaque bloc d'un vecteur d'excitation, des positions de motifs sont telles que des motifs se recouvrent au moins partiellement (cas du vecteur V2n). Dans ce cas, les impulsions des motifs se recouvrant sont additionnées une à une.
- On remarquera que la formulation donnée ci-avant : y(j) (-p ≤ j ≤ P), présentant l'avantage de rendre plus clairs les développements qui suivent, semble imposer a priori un nombre impair 2p+1 d'éléments dans le motif de base (-p ≤ j ≤ p). En fait, comme mentionné auparavant, cette particularité n'est aucunement nécessaire pour la mise en oeuvre de la présente invention. Si l'on souhaite utiliser un motif ayant un nombre pair d'éléments, il suffit de rajouter un élément nul sur l'un des bords, et la formulation appliquée ici est encore utilisable.
-
- Ces vecteurs sont formés d'un motif de base affecté d'une amplitude donnée, tronqué si nécessaire au(x) bord(s) et complété par des zéros.
- Chaque occurrence k se caractérise:
- par l'amplitude qui lui est affectée, sk , prenant ses valeurs dans un ensemble Sk ,
- par la position du motif de base, qui peut être représentée, par exemple, par la position ak à laquelle on place son centre. ak prend ses valeurs dans un ensemble Ak , et peut éventuellement se situer à l'extérieur de l'intervalle [0,N-1], la seule contrainte étant, bien entendu, que l'intersection des motifs et du bloc ne soit pas nulle.
- Les
figures 3b et 3c illustrent un tel dictionnaire pour lequel en particulier K=2. La première occurrence est caractérisée par le centre a 0 qui peut se placer aux cinq positions d'un ensemble de positionsfigure 3b ). La seconde occurrence est caractérisée par le centre a 1 qui peut se placer aux quatre positions de l'ensemblefigure 3c ). Le dictionnaire est alors composé de : - 5 (positions A0 ) x 4 (positions A1 ) x 2 (polarités pour A0 ) x 2 (polarités pour A1 ) = 80 vecteurs-codes.
-
-
-
-
-
-
- Les vecteurs {c(n)} du dictionnaire de base se déduisent des vecteurs {c 0(n)} par convolution avec le motif de base y et troncature aux bornes du segment [0, N-1].
- On voit que les vecteurs {c 0(n)} sont définis par la donnée des centres
-
-
-
- Les deux autres termes annulent les éventuelles composantes non nulles des bords de cc (n) correspondent aux effets induits par la possible troncature du motif aux bords :
- avec l'effet du bord gauche du bloc :
- et celui du bord droit du bloc :
- On décrit maintenant la recherche d'un vecteur-code dans un dictionnaire de base.
-
-
-
-
-
-
- Le nombre de termes dans le facteur bg (n) dépend des domaines de définition Ak des centres ak du motif de base dans les K occurrences. Cependant, pour que les motifs recouvrent au moins partiellement le bloc courant, il convient d'éviter que le centre soit trop éloigné du premier échantillon de ce bloc, de plus de p échantillons. Cette condition s'écrit ak ≥ -p, ce qui entraîne :
-
-
-
- On relèvera que cette dernière expression ne fait intervenir, pour chaque occurrence k, que les valeurs ak des centres qui sont dans l'intervalle [-p, p-1].
-
-
-
- Le nombre d'éléments h"'(n, j) non nuls dépend ainsi du nombre d'éléments non nuls h(n) tels que n < 0. Si l'on suppose que le filtre H(z) est causal, tous les éléments bd (n) tels que n ≤ N-1 sont nuls.
- Donc, dans le cas d'un filtre causal où h(n) = 0 si n < 0, les effets de bord droit n'ont aucune incidence sur ce calcul.
- Dans ce qui suit, on supposera qu'un motif ne peut être tronqué des deux côtés à la fois. Le cas contraire signifierait qu'un motif puisse être de taille supérieure à la longueur N du bloc, l'invention pouvant néanmoins s'appliquer aussi pour ce dernier cas.
- On décrit maintenant l'application du critère CELP avec un dictionnaire au sens de l'invention.
-
-
- Il est possible d'obtenir une expression similaire pour tout le numérateur du dictionnaire au sens de l'invention en posant :
ce qui revient à apporter une correction aux éléments d(ak ) pour les centres ak qui appartiennent aux ensembles Γ g et Γ d , c'est-à-dire correspondant à des occurrences où le motif, placé sur le bord, nécessite une troncature. -
-
- Le terme "central" s'exprime de manière classique par :
- Cette dernière expression est encore semblable à celle du dénominateur dans le cas d'un dictionnaire multi-impulsionnel classique.
- En revanche, pour tout le dénominateur estimé dans le critère CELP avec un dictionnaire au sens de l'invention, on introduit une fonction d'autocorrélation modifiée de la façon présentée dans la table de la
figure 4 . Moyennant la prise en compte de cette modification de la fonction d'autocorrélation, il est possible d'obtenir une expression identique au cas d'un dictionnaire multi-impulsionnel classique. -
- On décrit maintenant la recherche proprement dite dans le dictionnaire au sens de l'invention.
-
-
- On corrige éventuellement ces éléments (étape générale 53 de la
figure 5 ) pour les motifs apparaissant en bordure de bloc. En effet, pour des valeurs de k ∈ {0,1,..., K-1} telles que les centres ak ∈ Ak des motifs imposent une troncature des motifs aux bords d'un bloc (flèche O en sortie du test 54), on calcule des éléments corrigés d'(ak ) (étape 56). Sinon (flèche N en sortie du test 54), on impose d'(ak ) = d(ak ) (étape 55). On obtient dans les deux cas un vecteur {d'(ak )} tenant avantageusement compte des effets de bord, à la fin de l'étape 53. -
- On corrige éventuellement ces éléments (étape générale 63 de la
figure 5 ) pour tenir compte encore des motifs apparaissant en bordure de bloc. En effet, pour tous les couples (ak ,a1 ) dont l'un au moins des éléments correspond à l'occurrence d'un motif qui déborde sur l'un des bords de bloc (flèche O en sortie du test 58), on calcule à l'étape 60 des éléments corrigés φ'(ak,al )-Sinon (pas de motif en bordure de bloc, ce qui correspond à la flèche N en sortie du test 58), on impose φ'(ak ,al ) = φ(a k, al ) à l'étape 59. obtient dans, les deux cas des éléments de matrice tenant avantageusement compte des effets de bord, à la fin de l'étape générale 63. - On effectue ensuite (étape 61) la recherche de la meilleure forme d'onde à l'aide du critère classique de recherche CELP, exprimé comme la maximisation d'un rapport dans lequel le numérateur met en oeuvre le vecteur {d'(ak )} et le dénominateur les éléments φ'(ak ,al ), pour obtenir finalement le meilleur vecteur-code VC (étape 62).
- On indique ici que la
figure 5 peut illustrer, en tant qu'organigramme, une partie de l'algorithme du programme informatique permettant l'utilisation d'un dispositif de codage/décodage comportant au moins un dictionnaire au sens de l'invention. - La recherche de la forme d'onde dans un dictionnaire de base au sens de l'invention se ramène finalement à celle, connue et efficace, de la recherche dans un dictionnaire multi-impulsionnel classique. En particulier, si les positions des centres ak ∈ Ak des occurrences k (allant de 0 à K-1) des motifs décrivent les positions des impulsions de dictionnaires structurés de type ACELP, il sera possible d'utiliser les algorithmes rapides efficaces qui ont été développés pour de tels dictionnaires ACELP.
- On a supposé que le motif est d'une taille inférieure à celle du bloc. Toutefois, dans le cas contraire, il suffit d'introduire une zone Γ g ∩Γ d où les deux corrections s'appliquent, sans perte de généralité du procédé.
- Des simplifications du procédé ci-dessus peuvent aussi être prévues. Par exemple, lorsque l'énergie relative des éléments qui sont évincés dans l'opération de troncature est faible par rapport à l'énergie des éléments qui restent dans le bloc, pour les occurrences des bords, il peut être prévu simplement de négliger les effets de bord (sans mener alors les tests 54 et 58). Dans ce cas, l'une au moins (préférentiellement l'étape 63) ou les deux étapes de correction 53 et 63 peuvent être simplement supprimées.
- On décrit maintenant quelques compositions possibles des dictionnaires de base.
- Deux procédés de combinaison peuvent être prévus pour offrir un dictionnaire global capable de fournir des représentations variées des formes d'onde, en particulier pour offrir une richesse spectrale très satisfaisante. En effet, il est possible d'orienter le contenu de chaque dictionnaire de base vers une ou plusieurs catégories de signaux.
- L'union de dictionnaires de base permet de fournir un dictionnaire unique dont chaque partie correspond à un dictionnaire de base. Pour une portion de signal qui sera mieux représentée par l'un des dictionnaires de base, on trouvera alors la meilleure forme d'onde dans ce dictionnaire de base pour représenter cette portion de signal.
- La
figure 6 illustre un tel dictionnaire, présentant l'union de deux dictionnaires de base D1 et D2, construits à partir des mêmes ensembles de positions pour les centres des occurrences et les mêmes ensembles d'amplitudes, et chacun à deux motifs comportant respectivement : - une impulsion unique Pat(D1) pour le premier dictionnaire de base D1,
- et la suite d'impulsions Pat(D2) selon le motif de la
figure 3a pour le second dictionnaire de base D2. - Pour un vecteur d'excitation à coder donné, on explore préférentiellement chacun des dictionnaires de base séparément, les meilleures formes d'onde issues de la recherche dans chaque dictionnaire de base étant ensuite comparées entre elles pour en sélectionner la plus appropriée. La complexité de la recherche est dans ce cas équivalente à la somme des complexités des recherches dans chaque dictionnaire de base. Les recherches rapides; induites par la structure avantageuse des dictionnaires de base comme on l'a vu précédemment, se sont révélées très efficaces.
- Des variantes d'exploration peuvent être aussi proposées. Par exemple, il est possible de déterminer en premier lieu un (ou plusieurs) dictionnaire(s) de base parmi les dictionnaires qui composent le dictionnaire global, puis de limiter ensuite la recherche aux dictionnaires de base ainsi présélectionnés.
- Le décodage des index peut être mené en identifiant tout d'abord le dictionnaire de base qui a été sélectionné (par exemple en comparant l'indice du vecteur-code sélectionné à des valeurs stockées en mémoire correspondant aux frontières des dictionnaires de base dans le dictionnaire complet). Ensuite, on procède au décodage de l'indice du vecteur-code dans le dictionnaire de base de la manière indiquée précédemment.
- Cette réalisation est avantageuse. Il s'agit de construire et utiliser des dictionnaires additionnant les vecteurs des dictionnaires de base pour tirer parti des caractéristiques propres aux dictionnaires de base qui le composent, mais aussi tirer parti de leurs caractéristiques conjointes.
- Ainsi, dans le cas d'une somme de dictionnaires, les vecteurs des dictionnaires sont formés simplement en additionnant, un à un et échantillon par échantillon, tous les vecteurs des dictionnaires de base, éventuellement pondérés par des gains comme dans le second mode de réalisation qui est décrit plus loin.
- En effet, deux modes de réalisation sont proposés ci-après pour la mener la somme de plusieurs dictionnaires.
- Dans un premier mode de réalisation, le dictionnaire global D=D1+D2 est obtenu en additionnant les formes d'ondes issues de chaque dictionnaire de base. La
figure 7 illustre le principe d'une telle addition de dictionnaires de base. Dans l'exemple représenté, on additionne deux dictionnaires D1, D2 seulement et on relèvera que les pondérations des impulsions des vecteurs V1i du dictionnaire D1 sont les mêmes, dans la somme D1+D2, que celles des impulsions des vecteurs V2j du dictionnaire D2. - On définit alors ici un gain unique associé à une somme donnée. Ainsi, on bénéficie toujours de l'avantage relatif à la simplicité du décodage utilisant des dictionnaires dont l'un au moins est un dictionnaire de base. En effet, un vecteur-code appartenant à un dictionnaire de base D2 pourra être représenté en indiquant les positions des centres des motifs et les amplitudes des occurrences dans les différents dictionnaires, c'est-à-dire pour les différents motifs, et en additionnant ensuite les motifs mis à l'échelle et ainsi placés.
-
- Il peut être avantageux aussi d'adapter les algorithmes rapides proposés dans le cadre d'un unique dictionnaire de base à la somme de dictionnaires décrite ci-avant. A titre d'exemple illustratif, on considère la somme de deux dictionnaires de base, ce qui s'écrit
- Pour l'intercorrélation avec le vecteur cible, il est possible de calculer des vecteurs modifiés
- Ces expressions peuvent devenir assez compliquées dans le cas général, même si elles restent à la portée de l'homme du métier. Le dénominateur peut toujours être exprimé selon une relation du type :
de sorte qu'il est toujours possible de calculer les éléments d'une matrice d'autocorrélation modifiée et, là encore, les algorithmes de recherche accélérée des codes multi-impulsionnels peuvent être utilisés. - Un second mode de réalisation d'une somme de dictionnaires de base donne lieu à des algorithmes de recherche plus simples. Le principe consiste à cascader la sommation des dictionnaires de base, un gain différent étant associé à chaque sous-vecteur issu des dictionnaires de base. Dans ce cas, le vecteur d'excitation s'exprime par :
- Cette variante est très avantageuse en termes de complexité.
- Elle présente encore d'autres avantages. Comme chaque dictionnaire de base est plus particulièrement destiné à enrichir le dictionnaire global et, par exemple selon un type particulier de signaux d'excitation, il peut être avantageux d'utiliser des filtres perceptuels différents Wi (z) (pour i allant de 0 à I-1) pour les différentes recherches dans les dictionnaires de base. Par exemple, on peut utiliser un premier dictionnaire de base plutôt apte à bien représenter la partie basse fréquence du signal d'excitation, et un second dictionnaire de base plutôt destiné à représenter la partie haute fréquence. II sera alors particulièrement avantageux dans un tel schéma de favoriser la partie haute fréquence du spectre dans la recherche dans le second dictionnaire de base. Par exemple, dans la seconde recherche, le filtre perceptuel classique peut être mis en cascade avec un filtre passe-haut. Une telle opération pourrait d'ailleurs être qualifiée de "focalisation spectrale". Elle sera décrite en détail plus loin, en référence à la
figure 9 , pour illustrer un exemple de réalisation particulier. - Enfin, ce second mode de réalisation s'adapte avantageusement aux structures de codage CELP hiérarchiques. En effet, dans ces structures, le train binaire est hiérarchisé et, dans la mise en oeuvre de ce second mode de réalisation, les bits correspondant aux indices et aux gains de chacun des sous-vecteurs-code des dictionnaires de base peuvent constituer des couches hiérarchiques distinctes (ou "participer" à des couches distinctes). Si le décodeur ne reçoit qu'une partie de ces informations, il pourra reconstituer au moins une partie de l'excitation en décodant les indices et gains reçus associés aux sous-vecteurs-code des dictionnaires de base des premières couches et en additionnant les excitations partielles ainsi obtenues.
- Comme indiqué plus haut, le premier dictionnaire de base assure alors le codage de qualité minimale et les suivants permettront une augmentation progressive de la qualité et une meilleure prise en compte de la possible variété des signaux, par exemple en offrant un contenu spectral élargi.
- On décrit maintenant un exemple de réalisation de l'invention appliquée à un codeur/décodeur existant.
- L'exemple de réalisation décrit ci-dessous se situe dans le contexte d'un codeur CELP hiérarchique produisant un train binaire formé de deux couches dont une première couche correspond au codage "coeur" de la structure hiérarchique, qui fonctionne au débit de 8 kbit/s et une seconde couche apporte une amélioration de la qualité pour 4 kbit/s supplémentaires, ce qui produit un débit total de 12 kbit/s. Le train binaire de la première couche est "compatible" avec celui du codeur normalisé UIT-T G.729 de sorte qu'un codeur ou respectivement un décodeur au sens de l'invention puisse opérer avec un décodeur ou respectivement un codeur conforme à la norme G.729 et ses annexes pour le débit de 8 kbit/s.
- Dans l'exemple de réalisation proposé, la hiérarchie est assurée par l'usage d'un dictionnaire selon la variante de sommation cascadée des dictionnaires de base au sens de l'invention. La taille du bloc est de 5ms, soit 40 échantillons à 8 kHz.
- Le premier dictionnaire de base D1 (
figure 8a ) est de type "trivial" et correspond simplement au dictionnaire ACELP du codeur G.729, dont les vecteurs s'obtiennent en additionnant quatre impulsions signées dont les positions appartiennent aux ensembles indiqués dans la table 2 donnée plus loin. Pour plus de détails, on pourra se référer utilement à la recommandation de l'UIT-T G.729 (" Coding of Speech at 8 kbit/s using Conjugate Structure Algebraic Code Excited Linear Prediction (CS-ACELP)", Mars 1996). - Il s'agit donc d'un dictionnaire de base associé à un motif restreint à l'impulsion centrale (p = 0), avec K = 4 occurrences, les ensembles S0, S1, S2, S3 étant donnés dans la seconde colonne de la table 2, et les ensembles A0, A1, A2, A3 dans la dernière.
Table 2: Dictionnaire ACELP du codeur G.729 Impulsion Signe Positions i 0 S 0: ±1 A 0: 0, 5, 10, 15, 20, 25, 30, 35 i 1 S 1 : ± 1 A1: 1, 6, 11, 16, 21, 26, 31, 36 i 2 S 2: ± 1 A 2: 2, 7, 12, 17, 22, 27, 32, 37 i 3 S 3: ± 1 A 3: 3, 8, 13, 18, 23, 28, 33, 38 4, 9, 14, 19, 24, 29, 34, 39 - Le second dictionnaire de base D2 (
figure 8b ) est un dictionnaire non trivial, dont le motif de base (ou "tri-pulses"), de longueur trois, comporte trois impulsions d'amplitudes respectives -α, +1 et -α, avec préférentiellement 0 < α ≤ 0,35. La valeur a peut avantageusement être choisie dynamiquement en fonction des caractéristiques du signal d'entrée. - Le nombre d'occurrences, les amplitudes et les positions des centres du motif sont identiques à ceux du premier dictionnaire.
- La
figure 8c montre l'allure des spectres moyens des formes d'ondes du premier dictionnaire (flèche D1) et du second dictionnaire (flèche D2). On constate que le premier dictionnaire présente un contenu spectralement plat, tandis que le second dictionnaire est plus riche en hautes fréquences. - Cette observation permet d'améliorer la qualité obtenue par la première couche de codage, laquelle fournit une restitution de bonne qualité pour les signaux de parole dans la partie basse fréquence de la zone [300-3400 Hz], et tend à décroître en énergie et en fidélité lorsque l'on se rapproche des hautes fréquences.
- Pour mieux focaliser la recherche dans le second dictionnaire de base aux hautes fréquences du spectre, lors de l'exploration de ce second dictionnaire, un filtre passe-haut supplémentaire Hp (z) est appliqué au filtre W(z).
- La
figure 9 illustre un codeur selon cet exemple de réalisation. Un premier étage ET-1 introduit le dictionnaire adaptatif DICa (vecteur {p(n)}) et son gain associé gp, puis le premier dictionnaire fixe D1 (vecteur {c1(n)}) et le gain associé g1 . Un second étage ET-2 présente la recherche dans le second dictionnaire fixe D2 (vecteur {c 2 (n)}) et le gain associé g2. Les recherches dans le dictionnaire adaptatif DICa et le premier dictionnaire fixe D1 utilisent le filtre perceptuel W1 ( Z )=W(z), tel que celui défini par exemple dans la norme G.729. Le second dictionnaire D2 utilise une recherche focalisée dans les hautes fréquences par l'apport du filtre Hp (z) : W 2 (z) = W(z) × Hp (z). - La recherche dans le premier dictionnaire de base D1 est connue et utilise par exemple l'un ou l'autre des algorithmes rapides et focalisés décrits dans la norme G.729 et son annexe A à complexité réduite (Recommandation UIT-T G.729, "Annex A: Reduced complexity 8 kbit/s CS-ACELP speech codec", Novembre 1996).
- La recherche dans le second dictionnaire de base D2 tire également parti de cet algorithme rapide, comme décrit plus haut.
-
-
- Le vecteur {c w(n)} est donc défini pour -1 ≤ n ≤ 40. Comme mentionné plus haut, le bord droit n'intervient pas (bd (n) = 0) grâce au fait que h(n) = 0 pour n < 0 (filtre causal).
- On voit aussi que les positions des centres ak sont toutes dans le bloc [0, 39]. 3
-
- La
figure 9 peut alors représenter schématiquement un dispositif au sens de l'invention, en particulier ici un dispositif de codage. -
- Comme h(n) est nul pour n < 0 ou n≥40, h'(n) est en revanche non nul a priori pour -1≤n≤40.
-
-
-
-
- (On rappelle que la notation k = x → y signifie bien entendu : "pour k allant de x à y").
-
-
- Il n'est donc finalement pas nécessaire de calculer h'(40), seuls les éléments h'(n), avec -1≤ n ≤ 39, intervenant dans le calcul. On rappelle que les autres éléments φ(ak ,ak ), avec ak ≠ 0, et φ(a k, al ), avec ak ≠ 0, al ≠0, n'ont pas à être corrigés et on fixe φ'(ak , al ) = φ(ak ,al ) dans ce cas (étape 59 de la
figure 5 ). -
- On peut alors décider de négliger tous les termes faisant intervenir des éléments de cette matrice lorsqu'ils sont multipliés par α2.
-
- De là, on peut négliger les effets de bord aussi bien au numérateur qu'au dénominateur.
- Enfin, il est possible d'introduire une simplification supplémentaire qui permet de calculer les éléments de la matrice d'autocorrélation du second dictionnaire de base exactement de la même façon que celui du premier. Cette simplification consiste à tronquer {h'(n)} dans l'intervalle [0,39]. L'erreur ainsi produite dépend de la valeur de a mais aussi de la pente du spectre. Typiquement, pour un signal ayant une forte concentration en énergie dans les basses fréquences, la valeur de h(0) est du même ordre que celle des éléments voisins et on comprendra que h'(-1) = -a × h(0) influence peu le calcul.
- 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.
- De façon générale, les dictionnaires définis par la mise en oeuvre de l'invention offrent une grande souplesse d'utilisation. Chaque bloc étant totalement indépendant de ceux qui le précèdent ou qui le suivent, il est possible d'utiliser pour un bloc un dictionnaire totalement différent de celui utilisé pour les blocs voisins sans précautions particulières. On s'affranchit ainsi d'éventuels problèmes de continuité. Il est alors très facile d'adapter les dictionnaires utilisés au signal à coder, par exemple en modifiant le ou les motifs utilisé(s) pour les dictionnaires de base. Il peut être prévu aussi de modifier les ensemble qui définissent les positions des centres des motifs dans les occurrences et/ou les ensembles d'amplitudes. Ces modifications possibles sont par exemple particulièrement adaptées au cas des codeurs à débit variable gouvernés par la source.
- Les caractéristiques suivantes peuvent avantageusement être apportées à l'invention :
- l'amplitude associée à une occurrence est choisie parmi un ensemble comportant les valeurs +1 et -1,
- un dictionnaire global est construit par une union de dictionnaires de base dont l'un au moins est un dictionnaire initial défini par un motif de base, et le dictionnaire global comporte tous les vecteurs de tous les dictionnaires de base,
- l'un au moins des dictionnaires intervenant dans l'union ou la somme est de type ACELP,
- le dictionnaire construit comporte des positions admises de motif qui décrivent un ensemble qui est structuré comme un ensemble de positions d'impulsions d'un dictionnaire ACELP,
- l'amplitude des première et seconde impulsions est variable entre 0 et environ la moitié de l'amplitude de l'impulsion centrale, en valeur absolue.
- Pour le dispositif de codage/décodage utilisant un dictionnaire on peut prévoir un filtrage passe-haut dans un filtre global de pondération perceptuel intervenant notamment au codage dans la recherche d'un vecteur d'excitation optimal.
- Pour l'utilisation d'un dispositif de codage ou décodage au sens de l'invention, la recherche d'un vecteur d'excitation meilleur candidat dans un dictionnaire peut s'effectuer selon une estimation d'un critère CELP comportant les étapes :
- calculer la convolution d'une réponse impulsionnelle d'un filtre résultant de la multiplication d'un filtre de synthèse LPC par un filtre résultant de la motif de base du dictionnaire, pour obtenir un vecteur de filtre convolué,
- calculer les éléments d'un vecteur d'inter-corrélation entre un vecteur cible candidat et le vecteur de filtre convolué,
- calculer les éléments d'une matrice d'autocorrélation du vecteur de filtre convolué, et
- effectuer une recherche du vecteur meilleur candidat à l'aide d'un critère CELP exprimé comme une maximisation d'un rapport dans lequel le numérateur fait intervenir les éléments du vecteur d'inter-corrélation et le dénominateur fait intervenir les éléments de la matrice d'autocorrélation.
- La déscription peut viser aussi un programme informatique destiné à un dispositif de codage/décodage de signaux audionumériques, comportant des instructions pour la mise en oeuvre de l'utilisation
Claims (13)
- Procédé de codage ou décodage de signaux audionumériques, comprenant la construction d'un dictionnaire de vecteurs d'excitation de type CELP; chaque vecteur de dimension N comportant des impulsions susceptibles d'occuper N positions valides,
caractérisé en ce qu'un dictionnaire initial est construit en :- prévoyant une même suite d'impulsions formant un motif de base,- et en affectant le motif de base à chaque vecteur d'excitation du dictionnaire, selon une ou plusieurs occurrences à une ou plusieurs positions respectives parmi lesdites N positions valides,et en ce que le motif de base comporte trois impulsions dont :- une impulsion centrale,- une seconde impulsion précédant l'impulsion centrale,- et une troisième impulsion succédant l'impulsion centrale,les signes des seconde et troisième impulsions étant opposés à celui de l'impulsion centrale,
l'amplitude des seconde et troisième impulsions étant inférieure, en valeur absolue, à celle de l'impulsion centrale. - Procédé selon la revendication 1, caractérisé en ce que le motif de base apparaissant à chaque occurrence dans un vecteur d'excitation est multiplié par une amplitude associée à ladite occurrence.
- Procédé selon l'une des revendications 1 et 2, caractérisé en ce que tous les vecteurs du dictionnaire initial comportent un même nombre d'occurrences dudit motif,
et en ce que le dictionnaire initial est défini par :- la suite d'impulsions formant le motif de base,- le nombre d'occurrences du motif dans chaque vecteur,- des ensembles de positions admises pour les occurrences desdits motifs, et- des ensembles d'amplitudes à associer aux occurrences desdits motifs. - Procédé selon l'une des revendications précédentes, caractérisé en ce que les motifs apparaissant en bordure de bloc d'un vecteur sont tronqués et les impulsions restantes des motifs tronqués occupent le début ou la fin du bloc.
- Procédé selon l'une des revendications précédentes, caractérisé en ce que, parmi les positions admises des motifs dans chaque bloc d'un vecteur, des positions de motifs sont telles que des motifs se recouvrent au moins partiellement, et en ce que les impulsions des motifs se recouvrant sont additionnées une à une.
- Procédé selon l'une des revendications précédentes, caractérisé en ce qu'un dictionnaire global est construit par une somme de dictionnaires de base dont l'un au moins est un dictionnaire initial défini par un motif de base, et en ce que les vecteurs du dictionnaire global sont formés par addition des impulsions de positions communes des vecteurs des dictionnaires de base, et en ce que les vecteurs des dictionnaires de base sont pondérés par un gain associé chacun à un dictionnaire, pour construire ladite somme.
- Programme informatique comportant des instructions pour la mise en oeuvre du procédé selon l'une des revendications 1 à 6.
- Dispositif de codage ou décodage de signaux audionumériques, comportant des moyens pour la mise en oeuvre d'un procéde selon l'une des revendications 1 à 6.
- Dispositif selon la revendication 8, caractérisé en ce qu'il comporte une pluralité de dictionnaires mis en cascade et incluant au moins un dictionnaire initial obtenu par la mise en oeuvre du procédé selon l'une des revendications 1 à 6, et en ce qu'il comporte un dictionnaire initial, construit par la mise en oeuvre du procédé selon la revendication 6 et subséquent dans ladite cascade de dictionnaires.
- Dispositif selon la revendication 9, caractérisé en ce que les positions des motifs et/ou des impulsions dans les vecteurs desdits dictionnaires en cascade décrivent des ensembles identiques, la position d'un motif étant repérée sensiblement par la position d'une impulsion centrale dans la suite d'impulsions formant le motif.
- Utilisation du dispositif selon l'une des revendications 8 à 10 pour le codage ou décodage de signaux audionumériques, dans laquelle, au codage, après détermination d'un vecteur meilleur candidat dans un dictionnaire initial, on forme un indice comportant au moins des indications :- de la ou des position(s) du motif de base dans le vecteur meilleur candidat, et- de la ou des amplitude(s) associée(s) à la ou les position(s) du motif, ledit indice étant destiné à être transmis pour un décodage ultérieur, et dans laquelle, au décodage, on reconstruit le meilleur vecteur candidat à partir de l'indice :- en positionnant le motif de base aux positions indiquées par l'indice,- en multipliant le motif à chaque position par une amplitude associée,- et en additionnant les motifs multipliés et disposés auxdites positions indiquées.
- Utilisation selon la revendication 11, dans laquelle le dispositif comporte une mise en cascade d'une pluralité de dictionnaires qui revient à construire un unique dictionnaire global obtenu par sommation des dictionnaires pondérée par des gains, selon une mise en oeuvre du procédé selon la revendication 6,
et dans laquelle les dictionnaires mis en cascade sont explorés l'un après l'autre, en soustrayant, pour un dictionnaire courant, une contribution connue d'une excitation partielle produite par les vecteurs d'au moins un dictionnaire précédent, ce qui confère une structure de codage hiérarchique. - Utilisation selon la revendication 12, dans laquelle ladite recherche est menée dans un dictionnaire obtenu par la mise en oeuvre du procédé selon la revendication 4, et, pour tenir compte d'une troncature du motif de base à au moins un bord de bloc, on corrige, le cas échéant, des éléments du vecteur d'inter-corrélation et/ou des éléments de ladite matrice.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0601563 | 2006-02-22 | ||
PCT/FR2007/050780 WO2007096550A2 (fr) | 2006-02-22 | 2007-02-13 | Codage/decodage perfectionnes d'un signal audionumerique, en technique celp |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1994531A2 EP1994531A2 (fr) | 2008-11-26 |
EP1994531B1 true EP1994531B1 (fr) | 2011-08-10 |
Family
ID=37308852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP07731605A Not-in-force EP1994531B1 (fr) | 2006-02-22 | 2007-02-13 | Codage ou decodage perfectionnes d'un signal audionumerique, en technique celp |
Country Status (7)
Country | Link |
---|---|
US (1) | US8271274B2 (fr) |
EP (1) | EP1994531B1 (fr) |
JP (1) | JP5188990B2 (fr) |
KR (1) | KR101370017B1 (fr) |
CN (1) | CN101401153B (fr) |
AT (1) | ATE520121T1 (fr) |
WO (1) | WO2007096550A2 (fr) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2466671B (en) * | 2009-01-06 | 2013-03-27 | Skype | Speech encoding |
GB2466669B (en) * | 2009-01-06 | 2013-03-06 | Skype | Speech coding |
GB2466672B (en) * | 2009-01-06 | 2013-03-13 | Skype | Speech coding |
GB2466674B (en) * | 2009-01-06 | 2013-11-13 | Skype | Speech coding |
GB2466670B (en) * | 2009-01-06 | 2012-11-14 | Skype | Speech encoding |
US20100174539A1 (en) * | 2009-01-06 | 2010-07-08 | Qualcomm Incorporated | Method and apparatus for vector quantization codebook search |
GB2466673B (en) | 2009-01-06 | 2012-11-07 | Skype | Quantization |
GB2466675B (en) | 2009-01-06 | 2013-03-06 | Skype | Speech coding |
US8452606B2 (en) * | 2009-09-29 | 2013-05-28 | Skype | Speech encoding using multiple bit rates |
CN102598124B (zh) * | 2009-10-30 | 2013-08-28 | 松下电器产业株式会社 | 编码装置、解码装置及其方法 |
JP5732624B2 (ja) * | 2009-12-14 | 2015-06-10 | パナソニックIpマネジメント株式会社 | ベクトル量子化装置、音声符号化装置、ベクトル量子化方法、及び音声符号化方法 |
US8924203B2 (en) * | 2011-10-28 | 2014-12-30 | Electronics And Telecommunications Research Institute | Apparatus and method for coding signal in a communication system |
CA2979948C (fr) * | 2012-10-05 | 2019-10-22 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Appareil pour coder un signal de parole employant acelp dans le domaine d'autocorrelation |
CN105229729B (zh) | 2013-05-24 | 2019-03-19 | 杜比国际公司 | 音频编码器和解码器 |
US9418671B2 (en) * | 2013-08-15 | 2016-08-16 | Huawei Technologies Co., Ltd. | Adaptive high-pass post-filter |
BR112016008662B1 (pt) | 2013-10-18 | 2022-06-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V | Método, decodificador e codificador para codificação e decodificação de um sinal de áudio utilizando informação de modulação espectral relacionada com a fala |
JP6366705B2 (ja) * | 2013-10-18 | 2018-08-01 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | 確定的及びノイズ状情報を用いてオーディオ信号を符号化/復号化する概念 |
PL3069338T3 (pl) | 2013-11-13 | 2019-06-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Koder do kodowania sygnału audio, system przesyłania audio i sposób określania wartości korekcji |
EP2980795A1 (fr) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codage et décodage audio à l'aide d'un processeur de domaine fréquentiel, processeur de domaine temporel et processeur transversal pour l'initialisation du processeur de domaine temporel |
EP2980794A1 (fr) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codeur et décodeur audio utilisant un processeur du domaine fréquentiel et processeur de domaine temporel |
US10847170B2 (en) | 2015-06-18 | 2020-11-24 | Qualcomm Incorporated | Device and method for generating a high-band signal from non-linearly processed sub-ranges |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI98104C (fi) * | 1991-05-20 | 1997-04-10 | Nokia Mobile Phones Ltd | Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi |
JPH10133697A (ja) * | 1996-09-05 | 1998-05-22 | Seiko Epson Corp | 音声符号化方法およびその装置 |
JP3235543B2 (ja) * | 1997-10-22 | 2001-12-04 | 松下電器産業株式会社 | 音声符号化/復号化装置 |
JP3174756B2 (ja) * | 1998-03-31 | 2001-06-11 | 松下電器産業株式会社 | 音源ベクトル生成装置及び音源ベクトル生成方法 |
JP3175667B2 (ja) * | 1997-10-28 | 2001-06-11 | 松下電器産業株式会社 | ベクトル量子化法 |
EP1755227B1 (fr) * | 1997-10-22 | 2008-09-10 | Matsushita Electric Industrial Co., Ltd. | Quantification vectorielle à étapes multiples pour le codage de la parole |
US6480822B2 (en) * | 1998-08-24 | 2002-11-12 | Conexant Systems, Inc. | Low complexity random codebook structure |
JP4173940B2 (ja) * | 1999-03-05 | 2008-10-29 | 松下電器産業株式会社 | 音声符号化装置及び音声符号化方法 |
US6449313B1 (en) * | 1999-04-28 | 2002-09-10 | Lucent Technologies Inc. | Shaped fixed codebook search for celp speech coding |
US6236960B1 (en) * | 1999-08-06 | 2001-05-22 | Motorola, Inc. | Factorial packing method and apparatus for information coding |
-
2007
- 2007-02-13 US US12/224,205 patent/US8271274B2/en not_active Expired - Fee Related
- 2007-02-13 EP EP07731605A patent/EP1994531B1/fr not_active Not-in-force
- 2007-02-13 KR KR1020087023140A patent/KR101370017B1/ko not_active Expired - Fee Related
- 2007-02-13 CN CN2007800065199A patent/CN101401153B/zh not_active Expired - Fee Related
- 2007-02-13 AT AT07731605T patent/ATE520121T1/de not_active IP Right Cessation
- 2007-02-13 JP JP2008555849A patent/JP5188990B2/ja not_active Expired - Fee Related
- 2007-02-13 WO PCT/FR2007/050780 patent/WO2007096550A2/fr active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20090222273A1 (en) | 2009-09-03 |
EP1994531A2 (fr) | 2008-11-26 |
CN101401153B (zh) | 2011-11-16 |
US8271274B2 (en) | 2012-09-18 |
JP2009527784A (ja) | 2009-07-30 |
KR20080110757A (ko) | 2008-12-19 |
CN101401153A (zh) | 2009-04-01 |
WO2007096550A2 (fr) | 2007-08-30 |
ATE520121T1 (de) | 2011-08-15 |
KR101370017B1 (ko) | 2014-03-05 |
WO2007096550A3 (fr) | 2007-10-11 |
JP5188990B2 (ja) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1994531B1 (fr) | Codage ou decodage perfectionnes d'un signal audionumerique, en technique celp | |
EP0782128B1 (fr) | Procédé d'analyse par prédiction linéaire d'un signal audiofréquence, et procédés de codage et de décodage d'un signal audiofréquence en comportant application | |
EP1692689B1 (fr) | Procede de codage multiple optimise | |
EP0801790B1 (fr) | Procede de codage de parole a analyse par synthese | |
EP0749626A1 (fr) | Procede de codage de parole a prediction lineaire et excitation par codes algebriques | |
WO2009033288A1 (fr) | Procédé et dispositif de recherche dans un livre de codes algébriques lors d'un codage vocal ou audio | |
EP0801788B1 (fr) | Procede de codage de parole a analyse par synthese | |
EP0801789B1 (fr) | Procede de codage de parole a analyse par synthese | |
EP2080194B1 (fr) | Attenuation du survoisement, notamment pour la generation d'une excitation aupres d'un decodeur, en absence d'information | |
WO2005066936A1 (fr) | Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques | |
EP1836699B1 (fr) | Procédé et dispositif de codage audio optimisé entre deux modèles de prediction à long terme | |
EP2589045B1 (fr) | Codage/décodage prédictif linéaire adaptatif | |
EP1192619B1 (fr) | Codage et decodage audio par interpolation | |
EP1194923B1 (fr) | Procedes et dispositifs d'analyse et de synthese audio | |
EP1192618B1 (fr) | Codage audio avec liftrage adaptif | |
EP1192621B1 (fr) | Codage audio avec composants harmoniques | |
WO2002029786A1 (fr) | Procede et dispositif de codage segmental d'un signal audio | |
WO2013135997A1 (fr) | Modification des caractéristiques spectrales d'un filtre de prédiction linéaire d'un signal audionumérique représenté par ses coefficients lsf ou isf | |
WO2001003121A1 (fr) | Codage et decodage audio avec composants harmoniques et phase minimale | |
WO2001003119A1 (fr) | Codage et decodage audio incluant des composantes non harmoniques du signal | |
FR2739482A1 (fr) | Procede et dispositif pour l'evaluation du voisement du signal de parole par sous bandes dans des vocodeurs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20080812 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
17Q | First examination report despatched |
Effective date: 20091118 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
GRAJ | Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted |
Free format text: ORIGINAL CODE: EPIDOSDIGR1 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RTI1 | Title (correction) |
Free format text: IMPROVED CELP CODING OR DECODING OF A DIGITAL AUDIO SIGNAL |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D Free format text: LANGUAGE OF EP DOCUMENT: FRENCH |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602007016433 Country of ref document: DE Effective date: 20111006 |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: VDEP Effective date: 20110810 |
|
LTIE | Lt: invalidation of european patent or patent extension |
Effective date: 20110810 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20111210 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20111212 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 520121 Country of ref document: AT Kind code of ref document: T Effective date: 20110810 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20111111 Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FD4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 Ref country code: IE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 |
|
26N | No opposition filed |
Effective date: 20120511 |
|
BERE | Be: lapsed |
Owner name: FRANCE TELECOM Effective date: 20120228 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602007016433 Country of ref document: DE Effective date: 20120511 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120229 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120229 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120229 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120228 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20111121 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20111110 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110810 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120213 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20070213 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 9 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 10 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20160121 Year of fee payment: 10 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20160127 Year of fee payment: 10 Ref country code: FR Payment date: 20160121 Year of fee payment: 10 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 602007016433 Country of ref document: DE |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20170213 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20171031 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20170228 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20170901 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20170213 |