FR2980620A1 - Method for processing decoded audio frequency signal, e.g. coded voice signal including music, involves performing spectral attenuation of residue, and combining residue and attenuated signal from spectrum of tonal components - Google Patents
Method for processing decoded audio frequency signal, e.g. coded voice signal including music, involves performing spectral attenuation of residue, and combining residue and attenuated signal from spectrum of tonal components Download PDFInfo
- Publication number
- FR2980620A1 FR2980620A1 FR1158521A FR1158521A FR2980620A1 FR 2980620 A1 FR2980620 A1 FR 2980620A1 FR 1158521 A FR1158521 A FR 1158521A FR 1158521 A FR1158521 A FR 1158521A FR 2980620 A1 FR2980620 A1 FR 2980620A1
- Authority
- FR
- France
- Prior art keywords
- signal
- spectrum
- residue
- tonal components
- frequency
- 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.)
- Withdrawn
Links
- 238000001228 spectrum Methods 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000003595 spectral effect Effects 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 title claims abstract description 31
- 230000002238 attenuated effect Effects 0.000 title claims abstract description 10
- 238000004590 computer program Methods 0.000 claims abstract description 7
- 239000004261 Ascorbyl stearate Substances 0.000 claims abstract description 3
- 239000000542 fatty acid esters of ascorbic acid Substances 0.000 claims abstract description 3
- 239000000541 tocopherol-rich extract Substances 0.000 claims abstract description 3
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000003672 processing method Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 5
- 239000004372 Polyvinyl alcohol Substances 0.000 claims description 2
- 239000004373 Pullulan Substances 0.000 claims description 2
- 239000001253 polyvinylpolypyrrolidone Substances 0.000 claims description 2
- 230000005236 sound signal Effects 0.000 abstract description 6
- 238000004458 analytical method Methods 0.000 description 34
- 238000012805 post-processing Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 19
- 230000015572 biosynthetic process Effects 0.000 description 17
- 238000003786 synthesis reaction Methods 0.000 description 17
- 239000013598 vector Substances 0.000 description 11
- 230000003044 adaptive effect Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 9
- 230000009467 reduction Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000005284 excitation Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000010183 spectrum analysis Methods 0.000 description 2
- 241001362574 Decodes Species 0.000 description 1
- 239000004168 Gum benzoic Substances 0.000 description 1
- 239000004169 Hydrogenated Poly-1-Decene Substances 0.000 description 1
- 239000004163 Spermaceti wax Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000011668 ascorbic acid Substances 0.000 description 1
- 239000011692 calcium ascorbate Substances 0.000 description 1
- 239000004204 candelilla wax Substances 0.000 description 1
- 239000004203 carnauba wax Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000004200 microcrystalline wax Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 239000001267 polyvinylpyrrolidone Substances 0.000 description 1
- 238000011045 prefiltration Methods 0.000 description 1
- 239000000473 propyl gallate Substances 0.000 description 1
- 239000004170 rice bran wax Substances 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000004208 shellac Substances 0.000 description 1
- 238000010186 staining Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
- 239000004207 white and yellow bees wax Substances 0.000 description 1
- 239000002076 α-tocopherol Substances 0.000 description 1
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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0316—Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
- G10L21/0364—Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude for improving intelligibility
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L21/0232—Processing in the frequency domain
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0264—Noise filtering characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
Traitement d'amélioration de la qualité des signaux audiofréquences décodés La présente invention se rapporte au domaine du traitement des signaux audiofréquences et notamment des signaux de parole ou de musique qui ont été codés et décodés par codeurs et décodeurs de parole. Le dispositif de traitement audio selon l'invention est adapté notamment pour la transmission et/ou le stockage des signaux audiofréquences. L'invention concerne plus particulièrement le post-traitement des signaux décodés pour améliorer la qualité des signaux musicaux décodés. The present invention relates to the field of the processing of audio-frequency signals and in particular of speech or music signals which have been coded and decoded by speech coders and decoders. The audio processing device according to the invention is particularly suitable for transmitting and / or storing audio-frequency signals. The invention relates more particularly to the post-processing of the decoded signals to improve the quality of the decoded musical signals.
Différentes techniques existent pour convertir sous forme numérique et compresser un signal audiofréquence (parole, musique, etc.). Les techniques les plus courantes dans les services de télécommunications sont les méthodes de codage de forme d'onde, telles que le codage MIC (pour "Modulation par Impulsions Codées") et MICDA (pour "Modulation par Impulsion et Codage Différentiel adaptatif") dits aussi "PCM" ou "ADPCM" en anglais, les méthodes de codage paramétrique par analyse par synthèse comme le codage CELP (pour "Code Excited Linear Prediction" en anglais), et les méthodes de codage perceptuel en sous-bandes ou par transformée. Ces techniques traitent le signal d'entrée de façon séquentielle échantillon par échantillon (MIC ou MICDA) ou par blocs d'échantillons dits trames (CELP, codage par 20 transformée). On s'intéresse ici plus particulièrement au cas du codage CELP comme exemple de codeur-décodeur de parole, cependant l'invention s'applique au cas général des codeurs de parole (ex: MIC, MICDA, CELP, etc...) . 25 Le codage CELP - dont sa variante appelée ACELP (pour "Algebraic CELP") utilisée par exemple dans les normes 3GPP AMR et AMR-WB - est un codage prédictif fondé sur le modèle source-filtre de production de la parole. Le filtre correspond en général à un filtre tout-pôle de fonction de transfert 1/ A(z) obtenu par prédiction linéaire LPC (pour "Linear Predictive Coding" en anglais). Le signal est synthétisé à l'aide de la version quantifiée, 30 1/ Â(z) , du filtre 1/ A(z) . La source - c'est-à-dire l'excitation du filtre linéaire prédictif 1/ Â(z) - est en général représentée comme la combinaison d'une excitation adaptative (obtenue par prédiction long-terme modélisant la vibration des cordes vocales), et d'une excitation fixe (ou innovation) codée efficacement sous la forme de dictionnaires d'impulsions (ACELP), de dictionnaires de bruit, etc. La recherche de l'excitation "optimale" est réalisée par 35 minimisation d'un critère d'erreur quadratique dans le domaine du signal pondéré par un filtre de fonction de transfert I4(4 dérivée du filtre de prédiction linéaire A(z), de la forme IMA- A(z/MIA(z/y2). Different techniques exist for converting into digital form and compressing an audio frequency signal (speech, music, etc.). The most common techniques in telecommunication services are waveform coding methods, such as MIC (for "Coded Pulse Modulation") and ADPCM (for "Pulse Modulation and Adaptive Differential Coding") coding. also "PCM" or "ADPCM" in English, the methods of parametric coding by synthesis analysis such as coding CELP (for "Code Excited Linear Prediction" in English), and perceptual coding methods in subbands or by transform. These techniques process the input signal sequentially sample by sample (MIC or ADPCM) or so-called frame sample blocks (CELP, transform coding). Of particular interest here is the case of CELP coding as an example of a speech codec, however, the invention applies to the general case of speech coders (eg: MIC, ADPCM, CELP, etc.). The CELP coding - of which its variant called ACELP (for "Algebraic CELP") used for example in the 3GPP AMR and AMR-WB standards - is a predictive coding based on the source-filter model of speech production. The filter generally corresponds to an all-pole transfer function filter 1 / A (z) obtained by linear prediction LPC (for "Linear Predictive Coding"). The signal is synthesized using the quantized version, 30 1 / Å (z), of the filter 1 / A (z). The source - that is, the excitation of the predictive linear filter 1 / A (z) - is generally represented as the combination of adaptive excitation (obtained by long-term prediction modeling the vibration of the vocal cords). , and a fixed excitation (or innovation) coded efficiently in the form of pulse dictionaries (ACELP), noise dictionaries, etc. The search for "optimal" excitation is performed by minimizing a quadratic error criterion in the domain of the signal weighted by a transfer function filter I4 (4 derived from the linear prediction filter A (z), from the form IMA-A (z / MIA (z / y 2).
On peut noter que dans le codec 3GPP AMR-WB, qui est décrit dans l'article de B. Bessette et al., intitulé "The Adaptive Multirate Wideband Speech Coder (AMR-WB)", IEEE Transactions on Speech, Audio and Language Processing, Nov. 2002, le codage ACELP est en fait appliqué par trames de 20 ms non pas au signal direct échantillonné à 16 kHz mais à un signal pré-accentué échantillonné à 12,8 kHz dans une bande audio réduite (0-6400 Hz); la pré-accentuation (ou pré-emphase) est réalisée par le filtre de fonction de transfert 1- az-1 avec a =0,68. Le filtre de pondération perceptuelle utilisé pour la mise en forme de bruit de codage est de la forme W(z) = A(z 1 y) /(1- az-1) avec 7=0,92. Le codage CELP repose sur une approche de codage temporelle et prédictive à partir d'un modèle de signal (LPC); ce type de codage est très efficace sur la parole (propre), mais il donne à bas débit une qualité souvent médiocre pour les cas des signaux s'éloignant des hypothèses du modèle de production de la parole. Ainsi, pour les signaux musicaux ayant une structure composée de composantes tonales qui sont mal codées par un modèle CELP (ex: signaux harmoniques, multipitch, ou inharmoniques, tels que les sons d'orgue, de piano, etc.), il est bien connu qu'un codage par transformée est beaucoup plus adapté. Néanmoins, les codeurs de parole de type CELP sont historiquement déployés dans les applications de téléphonie fixe et mobile car ils fournissent une meilleure qualité à bas débit pour les signaux de parole qui sont les signaux les plus importants pour les applications de téléphonie. Cependant, les signaux musicaux ou les contenus mixtes (mélange de parole et musique) représentent malgré tout une classe de signaux importante dans certains cas d'usage tels que la musique d'attente, la tonalité de retour, etc. Il est donc pertinent et important de chercher à améliorer pour la musique et les contenus mixtes la qualité des codeurs de parole qui sont déjà déployés dans les services. La figure 1 montre l'exemple concret d'un signal musical (un son d'orgue) échantillonné à 16 kHz, préfiltré par un masque P.341 (50-7000 Hz) et analysé par FFT à court-terme sur un support de 512 échantillons (32 ms). Le spectre du signal ('sig') sur la trame considérée fait apparaître un certain nombre de composantes tonales (ct). Après codage du signal par le codeur AMR-WB à 12,65 kbit/s, le spectre de bruit ('err') correspondant apparaît comme relativement fort entre les composantes tonales. Cette caractéristique du bruit de codage s'explique par le fait que le codage CELP est temporel et met en forme le bruit en principe selon la réponse en fréquence du filtre W(z) 1, contrairement à un codage par transformée opérant dans un domaine fréquentiel, le codage CELP ne peut pas "creuser" entre les harmoniques (ou composantes tonales). It may be noted that in the 3GPP AMR-WB codec, which is described in the article by B. Bessette et al., Entitled "The Adaptive Multilate Wideband Speech Coder (AMR-WB)", IEEE Transactions on Speech, Audio and Language Processing, Nov. 2002, the ACELP encoding is actually applied in frames of 20 ms not to the direct signal sampled at 16 kHz but to a pre-emphasized signal sampled at 12.8 kHz in a reduced audio band (0-6400 Hz ); pre-emphasis (or pre-emphasis) is performed by the transfer function filter 1-az-1 with a = 0.68. The perceptual weighting filter used for coding noise shaping is of the form W (z) = A (z 1 y) / (1-az-1) with 7 = 0.92. CELP coding is based on a temporal and predictive coding approach based on a signal model (LPC); this type of coding is very effective on (clean) speech, but it gives at low speed a quality which is often mediocre for cases of signals moving away from the assumptions of the speech production model. Thus, for musical signals having a structure composed of tonal components that are badly encoded by a CELP model (eg harmonic, multipitch, or inharmonic signals, such as organ, piano, etc.), it is well known that a transform coding is much more suitable. Nevertheless, CELP speech coders are historically deployed in fixed and mobile telephony applications because they provide better low-rate quality for the speech signals that are the most important signals for telephony applications. However, music signals or mixed content (mix of speech and music) still represent an important signal class in some use cases such as waiting music, return tone, and so on. It is therefore relevant and important to seek to improve the quality of speech coders already deployed in services for music and mixed content. Figure 1 shows the concrete example of a musical signal (an organ sound) sampled at 16 kHz, prefiltered by a P.341 mask (50-7000 Hz) and analyzed by short-term FFT on a support of 512 samples (32 ms). The spectrum of the signal ('sig') on the considered frame shows a number of tonal components (ct). After encoding the signal by the 12.65 kbit / s AMR-WB encoder, the corresponding noise spectrum ('err') appears as relatively strong between the tonal components. This characteristic of the coding noise is explained by the fact that the CELP coding is temporal and forms the noise in principle according to the frequency response of the filter W (z) 1, unlike a transform coding operating in a frequency domain , CELP coding can not "dig" between harmonics (or tonal components).
Un exemple de technique améliorant le décodage CELP pour les signaux musicaux est présenté dans l'article de T. Vaillancourt et al. intitulé "Inter-tone noise reduction in a low bit rate CELP decoder", Proc. ICASSP 2009. Cette technique est utilisée dans le mode "bande étroite" de la norme UIT-T G.718. Le principe de cette technique consiste à réaliser un post-traitement dans le domaine fréquentiel (par FFT court-terme) du signal CELP décodé et de réduire le bruit de codage CELP entre les partiels (composantes tonales) par une fonction d'atténuation spectrale et un ajustement de gain (ou d'énergie). Ce post-traitement s'apparente à une réduction de bruit classique par atténuation spectrale à court-terme. Il comporte les étapes suivantes illustrées à la figure 2: - Une pré-emphase (bloc 201) et une transformation de Fourier discrète (FFT) à court-terme (bloc 202) sont appliquées par trames de 20 ms sur le signal décodé échantillonné à 16 kHz - la FFT a un support temporel de 30 ms - Une classification du signal CELP décodé (bloc 203) afin d'évaluer le niveau de stationnarité dans la trame courante et ajuster la zone de fréquence du post-traitement et le niveau de réduction de bruit maximal. - Une atténuation du bruit de codage (bloc 204): à chaque trame d'indice temporel t, le niveau de bruit de codage AT,(;(i) est estimé par sous-bandes critiques d'indice i (CB pour "Critical Bands" en anglais). Un rapport signal à bruit SNR(f) a posteriori est ensuite estimé par raie fréquentielle, celui-ci étant défini comme le rapport entre l'énergie du signal décodé à la raie de fréquence fet l'énergie du bruit AT,(;,),(i) dans la bande critique incluant la raie de fréquence f Une fonction d'atténuation spectrale g,(f) est finalement calculée raie par raie, en fonction du signal à bruit, et le gain gs(f) est ensuite lissé. - La correction de l'atténuation (bloc 205) par un gain de correction gc,(f) pour compenser la perte d'énergie due à l'atténuation spectrale du bloc 204 ainsi que l'atténuation des hautes fréquences par le modèle CELP. - La synthèse temporelle (bloc 206) par addition-recouvrement (bloc 207) et la dé- emphase (bloc 208). La technique de Vaillancourt et al. est de complexité raisonnable et elle occasionne un retard additionnel (10 ms) compatible avec les applications conversationnelles. Cependant, elle présente plusieurs inconvénients: - La découpe en "bandes critiques" divise le spectre en régions adjacentes arbitraires; l'estimation du bruit de codage par sous-bandes est simpliste et imprécise. Or, la qualité du traitement de réduction de bruit dépend fortement de la fiabilité de l'estimation du niveau de bruit et donc du rapport signal à bruit. Cette technique peut produire des artefacts tels que du bruit musical. - La réduction de bruit entre les composantes tonales (bloc 204) est réalisée en appliquant un facteur d'atténuation (gain) à chaque raie du spectre d'amplitude mélangeant signal et bruit de codage. L'atténuation spectrale peut ainsi affecter à la fois le signal, et plus particulièrement sa structure harmonique (dont les lobes associés à chaque composante tonale), et le bruit de codage, alors qu'il serait préférable de ne pas perturber le signal et d'atténuer uniquement le bruit de codage. An example of a technique improving CELP decoding for musical signals is presented in the article by T. Vaillancourt et al. entitled "Inter-tone noise reduction in a low bit rate CELP decoder", Proc. ICASSP 2009. This technique is used in the ITU-T G.718 "narrow band" mode. The principle of this technique consists in carrying out a post-processing in the frequency domain (by short-term FFT) of the decoded CELP signal and reducing the CELP coding noise between the partials (tonal components) by a spectral attenuation function and a gain (or energy) adjustment. This post-processing is similar to a conventional noise reduction by short-term spectral attenuation. It comprises the following steps illustrated in FIG. 2: a pre-emphasis (block 201) and a short-term discrete Fourier transform (FFT) (block 202) are applied in 20 ms frames to the decoded signal sampled at 16 kHz - FFT has time support of 30 ms - A decoded CELP signal classification (block 203) to evaluate the stationarity level in the current frame and adjust the post-processing frequency area and the reduction level maximum noise. An attenuation of the coding noise (block 204): at each time index frame t, the level of coding noise AT, (; (i) is estimated by critical subbands of index i (CB for "Critical Bands "in English) A signal to noise ratio SNR (f) is then estimated by frequency line, which is defined as the ratio of the energy of the decoded signal to the frequency line f and the noise energy. AT, (;,), (i) in the critical band including the frequency line f A spectral attenuation function g, (f) is finally calculated line by line, as a function of the noise signal, and the gain gs ( f) is then smoothed - the attenuation correction (block 205) by a correction gain gc, (f) to compensate for the energy loss due to the spectral attenuation of the block 204 as well as the attenuation of the highs frequencies by the CELP model - time synthesis (block 206) by addition-overlap (block 207) and deceleration (block 208). aillancourt et al is of reasonable complexity and causes an additional delay (10 ms) compatible with conversational applications. However, it has several drawbacks: - Cutting into "critical bands" divides the spectrum into arbitrary adjacent regions; subband coding noise estimation is simplistic and imprecise. However, the quality of noise reduction processing depends greatly on the reliability of the estimation of the noise level and therefore the signal-to-noise ratio. This technique can produce artifacts such as musical noise. - The noise reduction between the tonal components (block 204) is performed by applying an attenuation factor (gain) to each line of the amplitude spectrum mixing signal and coding noise. The spectral attenuation can thus affect both the signal, and more particularly its harmonic structure (including the lobes associated with each tonal component), and the coding noise, while it would be preferable not to disturb the signal and the signal. only attenuate the coding noise.
Il existe donc un besoin, pour le post-traitement des signaux musicaux, de préserver le signal et plus particulièrement sa structure harmonique court-terme tout en réduisant efficacement le bruit de codage. Cette technique doit s'appliquer dans le cas où il n'est pas nécessaire de transmettre (du codeur au décodeur) d'information supplémentaire pour le traitement - on considère en effet ici le cas d'un post-traitement en aveugle au décodeur. La présente invention vient améliorer la situation. Elle propose à cet effet, un procédé de traitement d'un signal audiofréquence décodé tel qu'il comporte les étapes suivantes: identification de composantes tonales dans le signal audiofréquence représenté dans le domaine fréquentiel; calcul d'un spectre des composantes tonales identifiées à partir d'un modèle sinusoïdal; obtention d'un résidu par la différence entre le signal audiofréquence décodé et un signal issu du spectre des composantes tonales; atténuation spectrale du résidu; et combinaison du résidu atténué et du signal issu du spectre des composantes tonales. There is therefore a need, for the post-processing of the musical signals, to preserve the signal and more particularly its short-term harmonic structure while effectively reducing the coding noise. This technique must be applied in the case where it is not necessary to transmit (from the encoder to the decoder) additional information for the processing - here we consider the case of a blind post-processing at the decoder. The present invention improves the situation. To this end, it proposes a method for processing a decoded audio-frequency signal such that it comprises the following steps: identification of tonal components in the audio-frequency signal represented in the frequency domain; calculating a spectrum of tonal components identified from a sinusoidal model; obtaining a residue by the difference between the decoded audio-frequency signal and a signal coming from the spectrum of the tonal components; spectral attenuation of the residue; and combining the attenuated residue and the signal from the spectrum of the tonal components.
Ainsi, le modèle sinusoïdal utilisé pour obtenir un spectre de composantes tonales est adapté à représenter la structure harmonique (ou structure tonale) court-terme des signaux musicaux. Le fait d'effectuer l'atténuation spectrale sur le résidu obtenu par la différence entre le signal décodé et celui issu du spectre des composantes tonales, permet de ne pas affecter la structure harmonique (ou structure tonale) du signal lors du traitement. Thus, the sinusoidal model used to obtain a spectrum of tonal components is adapted to represent the short-term harmonic structure (or tonal structure) of musical signals. Performing the spectral attenuation on the residue obtained by the difference between the decoded signal and that coming from the spectrum of the tonal components makes it possible not to affect the harmonic structure (or tonal structure) of the signal during the processing.
Les différents modes particuliers de réalisation mentionnés ci-après peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé d'allocation défini ci-dessus. Dans un premier mode de réalisation, les étapes d'obtention du résidu, d'atténuation et de combinaison sont effectués dans le domaine fréquentiel. The various particular embodiments mentioned below can be added independently or in combination with each other, to the steps of the allocation method defined above. In a first embodiment, the steps of obtaining the residue, attenuation and combination are performed in the frequency domain.
Ainsi, le résidu est obtenu par la différence entre le spectre du signal décodé et le spectre des composantes tonales. Dans un deuxième mode de réalisation les étapes d'obtention du résidu, d'atténuation et de combinaison sont effectuées dans le domaine temporel. Thus, the residue is obtained by the difference between the spectrum of the decoded signal and the spectrum of the tonal components. In a second embodiment the steps of obtaining the residue, attenuation and combination are performed in the time domain.
Le résidu est ici obtenu par la différence entre le signal décodé et le signal temporel issu du spectre des composantes tonales. La transformée inverse temps-fréquence est alors ici effectuée après l'obtention du spectre des composantes tonales. Selon un mode particulier de réalisation, l'identification des composantes tonales s'effectue par une méthode d'interpolation sur un nombre prédéterminé de raies fréquentielles. Ainsi, l'estimation de certains paramètres (fréquence, amplitude) des composantes tonales s'effectue par une méthode d'interpolation à partir d'un nombre prédéterminé de raies fréquentielles. The residue is here obtained by the difference between the decoded signal and the time signal from the spectrum of tonal components. The time-frequency inverse transform is then performed here after obtaining the spectrum of the tonal components. According to a particular embodiment, the tonal components are identified by an interpolation method on a predetermined number of frequency lines. Thus, the estimation of certain parameters (frequency, amplitude) of the tonal components is performed by an interpolation method from a predetermined number of frequency lines.
L'interpolation permet d'identifier les composantes tonales avec une précision dépassant la résolution inter-raie de la transformée temps-fréquence. Dans un mode de réalisation particulier, l'identification des composantes tonales, plus particulièrement l'estimation des paramètres (amplitude, phase), utilise un motif spectral pré-calculé et stocké en mémoire. Interpolation makes it possible to identify the tonal components with a precision exceeding the inter-line resolution of the time-frequency transform. In a particular embodiment, the identification of the tonal components, more particularly the estimation of the parameters (amplitude, phase), uses a spectral pattern pre-calculated and stored in memory.
Ce motif spectral permet d'effectuer une analyse sinusoïdale en boucle fermée, c'est- à-dire de tenir compte de la synthèse par motif à l'analyse. Cette méthode est avantageuse pour assurer une correspondance totale entre analyse et synthèse dans le modèle sinusoïdal. De façon avantageuse, le calcul du spectre des composantes tonales utilise un motif spectral pré-calculé et stocké en mémoire. This spectral pattern makes it possible to perform a closed-loop sinusoidal analysis, that is to say, to take into account the pattern synthesis analysis. This method is advantageous for ensuring a total correspondence between analysis and synthesis in the sinusoidal model. Advantageously, the calculation of the spectrum of tonal components uses a spectral pattern pre-calculated and stored in memory.
L'utilisation d'un motif spectral permet ici d'obtenir le spectre sinusoïdal associé à un pic fréquentiel avec une précision dépassant la résolution inter-raie de la transformée temps-fréquence. Dans un mode possible de réalisation, l'atténuation spectrale s'effectue en fonction d'une donnée de classification du signal audiofréquence. The use of a spectral pattern makes it possible here to obtain the sinusoidal spectrum associated with a frequency peak with a precision exceeding the inter-line resolution of the time-frequency transform. In one possible embodiment, the spectral attenuation is performed according to a data of classification of the audiofrequency signal.
Le post-traitement étant destiné à améliorer la qualité sur les signaux musicaux, il est essentiel de l'appliquer sur des signaux classifiés comme étant de la musique. Ainsi, dans un mode de réalisation possible, lorsque le signal n'est pas détecté comme un signal musical, le gain d'atténuation est différent. Il peut par exemple être égal à 1 pour un signal qui n'est pas détecté comme musical, annulant ainsi l'atténuation, afin de préserver les signaux tels que la parole ou les transitoires. Dans le cas d'une atténuation dans le domaine temporel, l'atténuation spectrale s'effectue par un filtrage du résidu dans le domaine temporel. La présente invention vise également un dispositif de traitement d'un signal audiofréquence décodé, tel qu'il comporte: un module d'identification de composantes tonales dans le signal audiofréquence représenté dans le domaine fréquentiel; un module de calcul d'un spectre des composantes tonales identifiées à partir d'un modèle sinusoïdal; un module d'obtention d'un résidu par la différence entre le signal audiofréquence décodé et un signal issu du spectre des composantes tonales; un module d'atténuation spectrale du résidu; et un module de combinaison du résidu atténué et du signal issu du spectre des composantes tonales. Ce dispositif présente les mêmes avantages que le procédé décrit précédemment, qu'il met en oeuvre. L'invention vise aussi un décodeur de signal audiofréquence comportant un dispositif de traitement tel que décrit ci-dessus. Since post-processing is intended to improve the quality of musical signals, it is essential to apply it on signals classified as music. Thus, in a possible embodiment, when the signal is not detected as a musical signal, the attenuation gain is different. It can for example be equal to 1 for a signal that is not detected as musical, thus canceling the attenuation, in order to preserve the signals such as speech or transients. In the case of an attenuation in the time domain, the spectral attenuation is carried out by filtering the residue in the time domain. The present invention also provides a device for processing a decoded audio-frequency signal, such as it comprises: a module for identifying tonal components in the audio frequency signal represented in the frequency domain; a module for calculating a spectrum of tonal components identified from a sinusoidal model; a module for obtaining a residual by the difference between the decoded audio-frequency signal and a signal coming from the spectrum of the tonal components; a spectral attenuation module of the residue; and a combination module of the attenuated residue and the signal coming from the spectrum of the tonal components. This device has the same advantages as the method described above, which it implements. The invention also relates to an audio frequency signal decoder comprising a processing device as described above.
Elle vise un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé de traitement tel que décrit, lorsque ces instructions sont exécutées par un processeur. Enfin l'invention se rapporte à un support de stockage, lisible par un processeur, intégré ou non au dispositif de traitement, éventuellement amovible, mémorisant un programme informatique mettant en oeuvre un procédé de traitement tel que décrit précédemment. D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels : la figure 1 décrite précédemment, illustre un exemple de spectre court-terme d'un signal musical et du bruit de codage CELP associé; la figure 2 représente un organigramme de la méthode de réduction de bruit de l'état de l'art, telle que décrite précédemment; la figure 3 illustre sous forme de bloc diagramme, à la fois le dispositif de traitement et le procédé de traitement qu'il met en oeuvre selon un premier mode de réalisation de l'invention; les figures 4a et 4b montrent des exemples d'analyse fréquentielle court-terme d'un signal sinusoïdal utilisés dans un mode de réalisation de l'invention; la figure 5 illustre le principe d'interpolation parabolique utilisé dans un mode de réalisation particulier de l'invention; les figures 6a, 6b et 6c illustrent des exemples de fenêtres temporelles utilisées pour la mise en oeuvre des étapes de transformée temps-fréquence ou de transformée inverse, dans un mode de réalisation de l'invention; les figures 7a et 7b illustrent un exemple de spectre de composantes tonales dans un mode de réalisation de l'invention et d'un motif fréquentiel calculé et mémorisé dans un mode de réalisation de l'invention; la figure 8 illustre sous forme d'organigramme les étapes mises en oeuvre pour le calcul d'un spectre de composantes tonales selon un mode de réalisation de l'invention; la figure 9 illustre sous forme d'organigramme le détail d'une étape de calcul du spectre de composantes tonales selon un mode de réalisation de l'invention; les figures 10a et 10b illustrent des exemples de facteurs d'atténuation utilisés dans le procédé de traitement selon l'invention; la figure 11 illustre les étapes de fenêtrages et de synchronisation du signal d'entrée et du signal de sortie du dispositif de traitement, dans un mode de réalisation de l'invention; la figure 12 illustre sous forme de bloc diagramme, à la fois le dispositif de traitement et le procédé de traitement qu'il met en oeuvre selon un deuxième mode de réalisation de l'invention; et la figure 13 illustre un exemple de représentation matérielle d'un dispositif de traitement selon l'invention. La figure 3 selon un premier mode de réalisation de l'invention, représente un dispositif de traitement 320 d'amélioration de la qualité d'un signal audiofréquence décodé. Ce dispositif de traitement peut être intégré à un décodeur, comprenant alors le module 301 de décodage, ou peut être indépendant du décodeur et recevoir ainsi en entrée un signal audiofréquence décodé (x(n)) - l'intérêt d'intégrer le module de traitement 320 au décodeur est qu'il peut bénéficier de paramètres internes au décodeur, comme par exemple les paramètres décodés. La figure 3 sert également à illustrer les principales étapes mises en oeuvre par le procédé de traitement selon ce premier mode de réalisation de l'invention. Un signal audiofréquence, par exemple, en provenance d'un codeur de parole de type normalisé 3GPP AMR-WB est donc d'abord décodé par un module de décodage 301. Dans ce mode de réalisation particulier, sans perte de généralité, on considère ici que les signaux audiofréquences sont échantillonnés à F=16 kHz et divisés en trames de L=320 échantillons (20 ms). Dans une variante de réalisation, le traitement peut s'appliquer également au signal décodé filtré par un filtre perceptuel I/1/(z) ou par un filtre de prédiction linéaire. Dans ce cas, l'homme de l'art comprendra que le filtre inverse devra être utilisé après le post-traitement 320. It relates to a computer program comprising code instructions for implementing the steps of the processing method as described, when these instructions are executed by a processor. Finally, the invention relates to a storage medium, readable by a processor, integrated or not to the processing device, optionally removable, storing a computer program implementing a method of treatment as described above. Other features and advantages of the invention will emerge more clearly on reading the following description, given solely by way of nonlimiting example, and with reference to the appended drawings, in which: FIG. 1 previously described illustrates a example of a short-term spectrum of a musical signal and the associated CELP coding noise; FIG. 2 represents a flowchart of the noise reduction method of the state of the art, as described above; FIG. 3 illustrates in the form of a block diagram, both the processing device and the processing method that it implements according to a first embodiment of the invention; FIGS. 4a and 4b show examples of short-term frequency analysis of a sinusoidal signal used in one embodiment of the invention; FIG. 5 illustrates the principle of parabolic interpolation used in a particular embodiment of the invention; FIGS. 6a, 6b and 6c illustrate examples of time windows used for the implementation of the time-frequency transform or inverse transform steps, in one embodiment of the invention; FIGS. 7a and 7b illustrate an exemplary spectrum of tonal components in an embodiment of the invention and a frequency pattern calculated and stored in one embodiment of the invention; FIG. 8 illustrates in flowchart form the steps implemented for calculating a spectrum of tonal components according to one embodiment of the invention; FIG. 9 illustrates in flowchart form the detail of a step of calculating the spectrum of tonal components according to one embodiment of the invention; FIGS. 10a and 10b illustrate examples of attenuation factors used in the treatment method according to the invention; FIG. 11 illustrates the steps of windowing and synchronizing the input signal and the output signal of the processing device, in one embodiment of the invention; FIG. 12 illustrates in the form of a block diagram, both the processing device and the processing method that it implements according to a second embodiment of the invention; and FIG. 13 illustrates an example of a hardware representation of a processing device according to the invention. FIG. 3 according to a first embodiment of the invention represents a processing device 320 for improving the quality of a decoded audio-frequency signal. This processing device may be integrated into a decoder, then comprising the decoding module 301, or may be independent of the decoder and thus receive as input a decoded audio signal (x (n)) - the advantage of integrating the module of decoding 320 processing to the decoder is that it can benefit from internal parameters to the decoder, such as decoded parameters. Figure 3 also serves to illustrate the main steps implemented by the processing method according to this first embodiment of the invention. An audio frequency signal, for example, coming from a 3GPP AMR-WB type standard speech encoder is therefore first decoded by a decoding module 301. In this particular embodiment, without loss of generality, it is considered here the audiofrequency signals are sampled at F = 16 kHz and divided into frames of L = 320 samples (20 ms). In an alternative embodiment, the processing can also be applied to the decoded signal filtered by a perceptual filter I / 1 / (z) or by a linear prediction filter. In this case, one skilled in the art will understand that the inverse filter will have to be used after post-treatment 320.
Dans l'exemple de réalisation illustré, ce bloc de décodage 301 correspond au décodeur AMR-WB tel que décrit dans l'article de B. Bessette et al., intitulé "The Adaptive Mutlirate Wideband Speech Coder (AMR-WB)", IEEE Transactions on Speech, Audio and Language Processing, Nov. 2002. In the exemplary embodiment illustrated, this decoding block 301 corresponds to the AMR-WB decoder as described in the article by B. Bessette et al., Entitled "The Adaptive Mutlirate Wideband Speech Coder (AMR-WB)", IEEE Transactions on Speech, Audio and Language Processing, Nov. 2002.
Il réalise un décodage ACELP à la fréquence d'échantillonnage de 12,8 kHz, une extension de bande pour générer les fréquences de 6,4-7 kHz et une combinaison de la bande basse (0-6400 Hz) et de la bande haute (6400-7000 Hz). Le bloc 301 fonctionne par trame de 20 ms (L=320 échantillons à 16 kHz) et synthétise un signal noté x(n) , dont les échantillons sont par convention numérotés par les indices n =0,...,L -1, avec L=320, dans la trame courante - suivant cette convention la trame décodée précédente correspond donc aux indices n = -N,...,-1. On rappelle ici que le décodeur AMR-WB traite un train binaire toutes les 20 ms, et que ce train binaire contient la représentation binaire des paramètres décodés suivants: o Coefficients LPC codés sous forme d'ISF (pour "Immittance Spectral Frequencies" en anglais) pour un ordre LPC de 16 - pour chaque trame de 20 ms o Retard de pitch - pour chaque sous-trame de 5 ms o Indicateur binaire (dit "pitch flag" en anglais) indiquant si la contribution de pitch est filtrée passe-bas ou non - pour chaque sous-trame de 5 ms o Indices de dictionnaire fixe pour chaque sous-trame - pour chaque sous-trame de 5 ms o Gains de dictionnaires adaptatif et fixe - pour chaque sous-trame de 5 ms On ne liste pas ici les paramètres décodés uniquement au débit de 23,85 kbit/s concernant la bande haute (6400-7000 Hz) car le dispositif de post-traitement est plutôt dédié à l'amélioration du signal décodé par le modèle CELP dans la bande basse (0-6400 Hz). Dans une variante du mode de réalisation, le post-traitement 320 est appliqué au signal décodé en bande basse par le décodeur ACELP d'AMR-WB. Dans ce cas, le post-traitement 320 fonctionne avec des trames de 20 ms (256 échantillons) à la fréquence d'échantillonnage de 12,8 kHz. La bande haute (6,4-7 kHz) du décodeur AMR-WB est alors décalée temporellement d'un nombre prédéterminé d'échantillons, afin d'aligner la bande haute synthétisée (6400-7000 Hz) avec la bande basse (0-6400 Hz) décodée et post-traitée. Cette variante du mode de réalisation, où le signal décodé est échantillonné à 12,8 kHz d'échantillonnage, pourrait également comprendre le cas où le signal décodé est pré-filtré avant d'appliquer le post-traitement 320, le pré-filtrage étant réalisé par exemple par un filtre de pondération perceptuelle de la forme F(z) = Â(z / y)/(1-az 1) ), où Â(z) est le filtre LPC décodé dans chaque sous-trame CELP. Ce pré-filtrage permettrait d'appliquer le post-traitement 320 dans le domaine du "signal pondéré" correspondant au domaine de l'analyse par synthèse du codage CELP. Cette variante implique d'appliquer un post-filtrage par 1/ F(z) sur le résultat x post (n) du post-traitement. It performs ACELP decoding at the sampling rate of 12.8 kHz, a band extension to generate the frequencies of 6.4-7 kHz and a combination of the low band (0-6400 Hz) and the high band (6400-7000 Hz). The block 301 operates in a 20 ms frame (L = 320 samples at 16 kHz) and synthesizes a signal denoted x (n), the samples of which are conventionally numbered by the indices n = 0, ..., L -1, with L = 320, in the current frame - according to this convention the previous decoded frame thus corresponds to the indices n = -N, ..., - 1. It will be recalled here that the decoder AMR-WB processes a bit stream every 20 ms, and that this bit stream contains the binary representation of the following decoded parameters: o LPC coefficients coded in the form of ISF (for "Immittance Spectral Frequencies") ) for an LPC order of 16 - for each 20 ms frame o Pitch delay - for each 5 ms sub-frame o Binary flag (indicating "pitch flag") indicating whether the pitch contribution is filtered low-pass or not - for each 5 ms subframe o Fixed dictionary indices for each subframe - for each 5 ms subframe o Adaptive and fixed dictionary dies - for each 5 ms subframe We do not list here the decoded parameters only at the rate of 23.85 kbit / s on the high band (6400-7000 Hz) because the post-processing device is rather dedicated to the improvement of the signal decoded by the CELP model in the low band ( 0-6400 Hz). In an alternative embodiment, the post-processing 320 is applied to the low band decoded signal by the ACELP decoder of AMR-WB. In this case, the post-processing 320 operates with frames of 20 ms (256 samples) at the sampling frequency of 12.8 kHz. The high band (6.4-7 kHz) of the AMR-WB decoder is then time shifted by a predetermined number of samples, in order to align the synthesized high band (6400-7000 Hz) with the low band (0- 6400 Hz) decoded and post-processed. This variant of the embodiment, where the decoded signal is sampled at 12.8 kHz sampling, could also include the case where the decoded signal is pre-filtered before applying the post-processing 320, the pre-filter being realized for example by a perceptual weighting filter of the form F (z) = λ (z / y) / (1-az 1)), where λ (z) is the LPC filter decoded in each CELP subframe. This pre-filtering would make it possible to apply the post-processing 320 in the domain of the "weighted signal" corresponding to the domain of the CELP coding synthesis analysis. This variant involves applying a post-filtering by 1 / F (z) on the result x post (n) of the post-processing.
Le bloc 302 réalise une analyse fréquentielle court-terme (E302) du signal x(n) , n = -(N - L),...,L -1, incluant les échantillons de la trame décodée courante ( n = 0, ..., L-1) et une partie de la trame décodée précédente (n = -(N - L),..., -1 ). Block 302 performs a short-term frequency analysis (E302) of the signal x (n), n = - (N-L), ..., L -1, including the samples of the current decoded frame (n = 0, ..., L-1) and a part of the previous decoded frame (n = - (N - L), ..., -1).
L'analyse fréquentielle du module 302 est mise en oeuvre, dans le mode de réalisation décrit, par fenêtrage et transformation de Fourier rapide (FFT): o Une fenêtre d'analyse est appliquée au signal pour obtenir le signal fenêtré xw(m)= wa(m).x(m- (N - L)) , m = 0, ... , N -1 où la fenêtre d'analyse wa (m) est définie comme une fenêtre de Hamming de longueur N =512 : wa (m) = 0.54 - 0.46 cos 22r m , m = 0, ..., N -1 N 1 Cette fenêtre est illustrée à la figure 6a. Bien entendu, d'autres fenêtres d'analyse peuvent être prévues, par exemple des fenêtres asymétriques qui permettraient de mieux conditionner la fenêtre de synthèse utilisée par la suite en 307, mais qui possèdent des propriétés spectrales moins intéressantes à l'analyse. o Pour des questions d'efficacité de calcul justifiées plus loin, on préconise en pratique d'intégrer à la transformée temps/fréquence (puis son inverse, pour la synthèse) un « recentrage de phase ». Celui-ci consiste à opérer une permutation circulaire du signal fenêtré de N/2 échantillons vers la gauche (pour l'analyse), soit la demi-longueur de la fenêtre, avant d'effectuer la Transformée de Fourier. Alternativement, cela revient à appliquer une correction du spectre de phase résultant de la Transformée de Fourier par ajout d'une phase linéaire irk/V/K . Par l'un ou l'autre moyen, cela revient à changer la définition de la transformée en : K-1 2z1c N X (k) = K 2 k = 0, ... , K -1 m=0 Dans une variante du mode de réalisation, le signal fenêtré xi,v(m), m = 0, ... , N -1, est transformé par FFT de longueur K= N=512 pour obtenir le spectre discret X (k) : K-1 2z1c X (k) = xi,(m).e K , k = 0, ... , K -1 m=0 Dans ce cas, l'homme de l'art comprendra facilement comment adapter le mode de réalisation principal pour tenir compte du déphasage impliqué par la permutation circulaire de N/2 échantillons. The frequency analysis of the module 302 is implemented, in the embodiment described, by windowing and fast Fourier transform (FFT): o An analysis window is applied to the signal to obtain the windowed signal xw (m) = wa (m) .x (m- (N-L)), m = 0, ..., N -1 where the analysis window wa (m) is defined as a Hamming window of length N = 512: wa (m) = 0.54 - 0.46 cos 22r m, m = 0, ..., N -1 N 1 This window is illustrated in Figure 6a. Of course, other analysis windows may be provided, for example asymmetrical windows that would better condition the synthesis window subsequently used in 307, but have spectral properties less interesting analysis. For reasons of computational efficiency justified further, it is recommended in practice to integrate a "phase recentering" into the time / frequency transform (and then its inverse, for the synthesis). This consists in making a circular permutation of the windowed signal of N / 2 samples to the left (for analysis), ie the half-length of the window, before performing the Fourier Transform. Alternatively, this amounts to applying a correction of the phase spectrum resulting from the Fourier Transform by adding a linear phase irk / V / K. By one or the other means, this amounts to changing the definition of the transform into: K-1 2z1c NX (k) = K 2 k = 0, ..., K -1 m = 0 In a variant of embodiment, the windowed signal xi, v (m), m = 0, ..., N -1, is transformed by FFT of length K = N = 512 to obtain the discrete spectrum X (k): K-1 2z1c X (k) = xi, (m) .e K, k = 0, ..., K -1 m = 0 In this case, one skilled in the art will readily understand how to adapt the main embodiment to take into account the phase shift involved in the circular permutation of N / 2 samples.
Dans les deux modes de réalisation décrits pour la transformée temps/fréquence (avec ou sans recentrage de phase), la FFT est calculée suivant la méthode décrite dans l'article de H.V. Sorensen et al.., intitulé "Real-valued fast Fourier transform algorithm," IEEE Trans. on Signal Processing, Vol.35, No.6, pp 849-863, 1987. In the two embodiments described for the time / frequency transform (with or without phase recentering), the FFT is calculated according to the method described in the article by H.V. Sorensen et al., Entitled "Real-valued fast Fourier transform algorithm," IEEE Trans. on Signal Processing, Vol.35, No.6, pp 849-863, 1987.
Dans une variante supplémentaire du mode de réalisation, d'autres transformée temps-fréquence pourront être utilisées, par exemple la "Modulated Complex Lapped Transform" (MCLT) combinant des transformées en cosinus et sinus discrètes modifées mises en quadrature. Pour que le modèle sinusoïdal s'applique il est important d'utiliser une transformée complexe afin d'estimer l'amplitude et la phase des composantes tonales. Des techniques d'analyse temps-fréquence telles que les représentations temps-fréquences parcimonieuses (sparse en anglais) s'appliquent également pour mettre en oeuvre le modèle sinusoïdal. Dans le mode de réalisation privilégié, la longueur de FFT est choisie comme étant identique à celle de la fenêtre d'analyse, ce qui se justifie parfaitement dans le cas où K=N=512 est une puissance de 2. Cependant, le choix de K= N n'est pas restrictif au sens de l'invention, et l'invention s'applique également au cas où la longueur K de FFT est rendue supérieure à celle N du signal fenêtré au moyen d'un bourrage de zéros et éventuellement décalage temporel du signal - cette alternative est en général intéressante dans le cas où la longueur Ndu signal fenêtré n'est pas une puissance de 2. Le signal xi,(m) étant réel, le spectre X (k) est à symétrie hermitienne et seules les fréquences positives k = 0, , K I 2 sont nécessaires. Le spectre obtenu X (k) , k = 0, ... ,K 2 est mis en coordonnées polaires en séparant amplitude X(k) et phase /X (k) . Comme on le verra plus loin, dans un certain mode de réalisation, il n'est pas nécessaire de calculer ce terme de phase, économisant une certaine quantité d'opération. On décrit à présent une méthode standard d'analyse fréquentielle de signaux composés de sinusoïdes pures. In a further variant of the embodiment, other time-frequency transforms may be used, for example the "Modulated Complex Lapped Transform" (MCLT) combining modified cosine transforms and modified discrete sine quadrature. For the sinusoidal model to apply it is important to use a complex transform to estimate the amplitude and phase of the tonal components. Time-frequency analysis techniques such as parsimonious time-frequency representations (sparse in English) also apply to implement the sinusoidal model. In the preferred embodiment, the length of FFT is chosen to be identical to that of the analysis window, which is perfectly justified in the case where K = N = 512 is a power of 2. However, the choice of K = N is not restrictive within the meaning of the invention, and the invention also applies to the case where the length K of FFT is made greater than that N of the windowed signal by means of a zero padding and possibly time shift of the signal - this alternative is in general interesting in the case where the length N of the windowed signal is not a power of 2. The signal xi, (m) being real, the spectrum X (k) is with Hermitian symmetry and only the positive frequencies k = 0,, KI 2 are necessary. The spectrum obtained X (k), k = 0, ..., K 2 is set in polar coordinates by separating amplitude X (k) and phase / X (k). As will be seen below, in a certain embodiment, it is not necessary to calculate this phase term, saving a certain amount of operation. We now describe a standard method of frequency analysis of signals composed of pure sinusoids.
La sinusoïde discrète d'amplitude A0, de fréquence normalisée coo et de phase 00, v(n) = Aocos(coon+ 00), a pour transformée de Fourier (à temps discret): V (co) =-(5(co+ coo)e»9° + .5(c o- coo)e-'8°), coe[-7-1-,71-] 2 Pour réaliser une analyse fréquentielle court-terme, les signaux sont en général pondérés par une fenêtre w(n) de longueur entière N>0 telle que w(n) 0 pour n = 0,..., N -1 et w(n) = 0 sinon. Dans ce cas la sinusoïde fenêtrée vw(n)= w(n)v(n) a pour transformée de Fourier: V.(co)= 2(W (co+ w0 )e'8° +W (co- coo)e-18°) où il est important de noter que le spectre W(co) est périodique avec une période de 271- . The discrete sinusoid of amplitude A0, of normalized frequency coo and of phase 00, v (n) = Aocos (coon + 00), has for Fourier transform (in discrete time): V (co) = - (5 (co + coo For a short-term frequency analysis, the signals are in general weighted by a factor of 0. +/- 9 ° + .5 (co-coo) e-8), coe [-7-1-, 71-] 2. window w (n) of integer length N> 0 such that w (n) 0 for n = 0, ..., N -1 and w (n) = 0 otherwise. In this case the windowed sinusoid vw (n) = w (n) v (n) a for Fourier transform: V. (co) = 2 (W (co + w0) e8 ° + W (co-co) -18 °) where it is important to note that the spectrum W (co) is periodic with a period of 271-.
Ainsi la sinusoïde fenêtrée a pour spectre le résultat de la convolution de la transformée périodisée de la fenêtre W(co) par deux Diracs centrés sur -±coo . Ce résultat s'étend facilement au cas où le signal est une combinaison linéaire de I sinusoïdes. Par linéarité, si 1-1 v(n) = cos(Coin±ei), i=o /-1 A 17' (co) E(1 /Vo+ +W(o - ci)e- . ,=0 2 Lorsque le signal est analysé par transformée de Fourier discrète de longueur K N, la transformée devient VW co= , k = 0, ...,K -1; pour alléger les notations, la K 10 transformée de Fourier discrète de vi,(n) est notée y, (k) au lieu de V K . On obtient alors: /-1 A V'(k)=E(W(k+ki)efe' +W (k - ki)e- fe') , k = 0, K -1 i=0 2 avec k =-Kw . 2,r Le spectre W,,(k) (également nommé 14«, ici) de longueur K N de la fenêtre n(m) est 15 défini par l'équation : K-1 2zIc WK (k) =wzp(m)e K , k = 0, K -1; m=0 la fenêtre wzp (m) étant obtenue par un bourrage de zéros ("zero padding" en anglais) autour de la fenêtre n(m) [w(m) m = 0, N -1 wzP(m) 0 m e [0, N[ 20 Avantageusement et de façon cohérente avec la transformée du signal fenêtré xM,(m), on préconise d'utiliser la version modifiée de la transformée temps-fréquence intégrant le recentrage de phase » décrit plus haut, et qui s'écrit mathématiquement : K-1 -i-2z1c(rn-1) K (k) =wzp (m)e. K 2 k =0,...,K -1 m=0 L'intérêt est qu'ayant à faire à une fenêtre symétrique, le « recentrage de phase » lui 25 assure un spectre réel (c'est-à-dire que la partie imaginaire du spectre est nulle, ou encore que sa phase est nulle à n près), et cela quel que soit le sur-échantillonnage fréquentiel choisi (lequel dépend du bourrage de zéros). alors Un exemple d'analyse fréquentielle à court-terme est montré aux figures 4a et 4b pour les conditions suivantes : o 1=2 sinusoïdes avec A0 =1 et Al = 0,5 con = 27r-4 co = 2z12,5 - 32 32 00 =0 91 =0 o Fenêtrage de Hamming (normalisé) de longueur N=32: (n) w(l) Nwh am n = 0, ...,N -1 Ewham(n) n=0 avec n wh.(n) = 0.54 - 0.46cos 27r , n = N -1 N -1} On peut noter que la normalisation par la moyenne de la fenêtre n'est ici qu'un exemple, la fenêtre pourrait ne pas être normalisée ou un autre facteur de normalisation pourrait être utilisé, ce qui ne fait que translater en dB les valeurs spectrales discutées ici. o FFT de longueur K=N=32 (figure 4a) ou K=8/1=256 (figure 4b) Les spectres d'amplitude (en dB) obtenus par transformées de Fourier discrètes de longueurs respectives K=32 et K=256 sont donc représentés aux figures 4a et 4b; seule la partie correspondant aux fréquences positives est montrée. On distingue bien 2 pics (de forme -117,(k+ ki) ) autour de k0 et A la figure 2 4a la seconde sinusoïde a une position k1 fractionnaire, alors que sur la figure 4b les deux sinusoïdes sont localisées sur des raies entières ("tins" en anglais); on vérifie par la même occasion que la transformée de longueur K=256 est une version interpolée de celle de longueur K=32 (signalée par les points 'o'). Le procédé de traitement selon l'invention permet de déterminer, à partir d'un spectre d'amplitude de résolution limitée (comme à la figure 4a), le nombre et les paramètres de sinusoïdes présentes à court-terme dans un signal audio et d'extraire spectralement ces composantes sinusoïdales par soustraction complexe du spectre discret de la forme A 2(1/11,(k +kl)e18' +1/11,(k -1(,)e-A) . Thus the windowed sinusoid has the spectrum of the result of the convolution of the periodized transform of the window W (co) by two Diracs centered on - ± coo. This result easily extends to the case where the signal is a linear combination of sinusoids. By linearity, if 1-1 v (n) = cos (Wed ± ei), i = o / -1 A 17 '(co) E (1 / Vo + + W (o - ci) e-., = 0 2 When the signal is analyzed by discrete Fourier transform of length KN, the transform becomes VW co =, k = 0, ..., K -1, to lighten the notations, the discrete Fourier transform K of vi, (n ) is denoted by y, (k) instead of VK, so that: / -1 A V '(k) = E (W (k + ki) efe' + W (k - ki) e - fe '), k = 0, K -1 i = 0 2 with k = -Kw 2, r The spectrum W ,, (k) (also called 14 ", here) of length KN of the window n (m) is defined by the equation: K-1 2zIc WK (k) = wzp (m) e K, k = 0, K -1, m = 0 the window wzp (m) being obtained by a zero padding in English) around the window n (m) [w (m) m = 0, N -1 wzP (m) 0 me [0, N [20 Advantageously and coherently with the windowed signal transform xM, (m) , it is recommended to use the modified version of the time-frequency transform integrating the phase recenter described above, and that i is mathematically written: K-1 -i-2z1c (rn-1) K (k) = wzp (m) e. K 2 k = 0, ..., K -1 m = 0 The advantage is that having to deal with a symmetrical window, the "phase recentering" assures it a real spectrum (that is to say that the imaginary part of the spectrum is null, or that its phase is zero to n near), and that whatever the frequency oversampling chosen (which depends on the stuffing of zeros). then An example of short-term frequency analysis is shown in FIGS. 4a and 4b for the following conditions: o 1 = 2 sinusoids with A0 = 1 and Al = 0.5 con = 27r-4 co = 2z12.5 - 32 32 00 = 0 91 = 0 o Hamming window (normalized) of length N = 32: (n) w (l) Nwh am n = 0, ..., N -1 Ewham (n) n = 0 with n wh (n) = 0.54 - 0.46cos 27r, n = N -1 N -1} It can be noted that the normalization by the average of the window is only an example here, the window could not be normalized or a Another normalization factor could be used, which only translates into dB the spectral values discussed here. o FFT of length K = N = 32 (FIG. 4a) or K = 8/1 = 256 (FIG. 4b). The amplitude spectra (in dB) obtained by discrete Fourier transforms of respective lengths K = 32 and K = 256 are therefore represented in FIGS. 4a and 4b; only the part corresponding to the positive frequencies is shown. There are two peaks (of form -117, (k + ki)) around k0 and in FIG. 24a the second sinusoid has a fractional k1 position, whereas in FIG. 4b the two sinusoids are localized on whole lines ( "tins" in English); it is checked at the same time that the transform of length K = 256 is an interpolated version of that of length K = 32 (indicated by the points 'o'). The processing method according to the invention makes it possible to determine, from a spectrum of limited resolution amplitude (as in FIG. 4a), the number and the parameters of sinusoids present in the short term in an audio signal and spectrally extract these sinusoidal components by complex subtraction of the discrete spectrum of the form A 2 (1/11, (k + kl) e18 '+1/11, (k -1 (,) eA).
L'exemple des figures 4a et 4b montre bien que la précision d'une transformation de Fourier discrète de longueur K est en général insuffisante pour obtenir directement une estimation de la fréquence des composantes tonales. Il est important de noter que dans le domaine de la transformée de Fourier à temps A discret l'amplitude du "pic" associé à la i-ème sinusoïde est W(0) à la position ±ki. Dans 2 le domaine de la transformée de Fourier rapide de longueur K, le pic à la position ±ki n'est pas forcément directement observable à cause de la précision inter-raie; en supposant que la position correspond à une raie de Fourier, l'amplitude du "pic" associé à la sinusoïde devient: a = 2141,(0) Par la suite, la terminologie "amplitude" d'une sinusoïde fera essentiellement référence à l'amplitude dans le domaine de Fourier, ai, et non l'amplitude de la sinusoïde dans le domaine temporel, A . On peut remarquer que la valeur de ai intègre naturellement la longueur de la fenêtre K, si la fenêtre d'analyse est normalisée de façon adéquate, il est possible de s'assurer que WK (0) =1. The example of Figures 4a and 4b shows that the accuracy of a discrete Fourier transform of length K is generally insufficient to directly obtain an estimate of the frequency of the tonal components. It is important to note that in the domain of the discrete time Fourier transform, the amplitude of the "peak" associated with the i-th sinusoid is W (0) at the position ± ki. In the domain of the fast Fourier transform of length K, the peak at the position ± ki is not necessarily directly observable because of the inter-line precision; assuming that the position corresponds to a Fourier line, the amplitude of the "peak" associated with the sinusoid becomes: a = 2141, (0) Subsequently, the term "amplitude" of a sinusoid will essentially refer to amplitude in the Fourier domain, ai, and not the amplitude of the sinusoid in the time domain, A. Note that the value of ai naturally integrates the length of the window K, if the analysis window is normalized adequately, it is possible to ensure that WK (0) = 1.
Dans un mode particulier de réalisation, une méthode d'interpolation est utilisée pour améliorer la précision de cette estimation. Celle-ci est réalisée dans le module 303 de la figure 3, à une étape E603a d'identification des composantes tonales dans le signal audiofréquence représenté dans le domaine fréquentiel (X(k)). In a particular embodiment, an interpolation method is used to improve the accuracy of this estimate. This is carried out in the module 303 of FIG. 3, at a step E603a for identifying the tonal components in the audio frequency signal represented in the frequency domain (X (k)).
L'interpolation est utile pour estimer précisément les paramètres des sinusoïdes (fréquence, amplitude et phase) à partir d'un spectre d'amplitude issu d'une transformée de Fourier discrète de longueur N relativement limitée. Le bourrage de zéros ("zero padding") n'améliore pas la résolution de la transformée de Fourier, mais il permet d'échantillonner la transformée de Fourier à temps discret sur plus de raies et par suite d'obtenir une meilleure précision. Dans un mode de réalisation privilégié, le bourrage de zéros n'est pas utilisé pour l'analyse du signal, mais seulement pour le pré-stockage de la transformée de la fenêtre d'analyse afin de faciliter la synthèse de sinusoïdes dont la fréquence est estimée avec une précision supérieure à la résolution inter-raie de la transformée de Fourier discrète d'analyse. The interpolation is useful for precisely estimating the parameters of the sinusoids (frequency, amplitude and phase) from an amplitude spectrum resulting from a discrete Fourier transform of relatively limited length N. Zero padding does not improve the resolution of the Fourier transform, but it allows the discrete time Fourier transform to be sampled on more lines and thus to obtain a better accuracy. In a preferred embodiment, the zero stuffing is not used for the signal analysis, but only for the pre-storage of the transform of the analysis window in order to facilitate the synthesis of sinusoids whose frequency is estimated with greater accuracy than the inter-line resolution of the discrete Fourier transform of analysis.
L'estimation des paramètres ( , qui sont l'amplitude maximale et la fréquence fractionnaire de la sinusoïde) est réalisée selon l'invention par interpolation parabolique du spectre d'amplitude, telle que décrite dans l'article de J.O. Smith et X. Serra, intitulé "PARSHL: A Program for the Analysis/Synthesis of Sounds Based on a Sinusoidal Representation", Proceedings of the International Computer Music Conference, Urbana- Champaign, Illinois, 1987. The estimation of the parameters (, which are the maximum amplitude and the fractional frequency of the sinusoid) is carried out according to the invention by parabolic interpolation of the amplitude spectrum, as described in the article by JO Smith and X. Serra , entitled "PARSHL: A Program for the Analysis / Synthesis of Sounds Based on a Sinusoidal Representation", Proceedings of the International Computer Music Conference, Urbana-Champaign, Illinois, 1987.
Le principe de l'interpolation parabolique pour l'analyse spectrale est rappelé à la figure 5, où l'exemple décrit aux figures 4 est repris. L'interpolation parabolique repose sur le fait qu'une parabole est complètement déterminée par les valeurs en 3 points distincts; ainsi, étant données les amplitudes (en dB) Y(/, -1), Y(/,), Y(/, +1) de 3 raies de Fourier adjacentes d'indices 1, -1, 1., 1. +1, il est facile de déterminer les paramètres agi, d, et ,/3 de la parabole d'équation générale : Y (k)= (k -( d,))2 + A où ce, est la courbure de la parabole, 1. + d, donne la position du sommet de la parabole, et ,/3 est la valeur de la parabole à son sommet (car/ =Y(1, + d,)). The principle of parabolic interpolation for spectral analysis is recalled in FIG. 5, where the example described in FIG. 4 is repeated. The parabolic interpolation is based on the fact that a parabola is completely determined by the values at 3 distinct points; thus, given the amplitudes (in dB) Y (/, -1), Y (/,), Y (/, +1) of 3 adjacent Fourier lines of indices 1, -1, 1, 1. +1, it is easy to determine the parameters agi, d, and, / 3 of the parabola of general equation: Y (k) = (k - (d,)) 2 + A where ce, is the curvature of the parabola, 1. + d, gives the position of the vertex of the parabola, and, / 3 is the value of the parabola at its vertex (because / = Y (1, + d,)).
A partir de l'équation générale de la parabole et étant données les valeurs Y (k -1) , Y (k) , Y (k +1), on obtient : IY (li -1) = ai(1+ di)2 + fli Y (1i) = aidi2 +,13 Y (li +1) = a(1- di)2 + fli En calculant Y(1, +1)+Y(1, -1) -2Y (1,) , à partir des 3 équations précédentes on trouve : 1 = 2-(Y (li +1)+Y (li -1) -2Y (0) Ensuite, en calculant Y(1,-1)-Y(1,+ 1) , on trouve: d. = (1, -1)- Y (1, +1) 4a. Z Enfin, le dernier paramètre se calcule comme étant : Y (1,) = aidi2 + A j3, = Y (1,)- d i2 En combinant les expressions de di et , on peut également écrire : = Y(1i) - (aid ) d ce qui donne : Y(0 Y(1, -1) -Y(1, +1) d 4 Pour l'exemple de la figure 5, l'interpolation parabolique sur les 2 "pics" centrés en /0 = 4 et /1=12 donne les paramètres estimés suivants: lao = -7,1964 ai = -8,2003 do = -0,0001 et d1 = -0,4926 130 = -5,9779 /31 = -11,6735 Sur cet exemple, l'interpolation parabolique donne une estimation de la fréquence de la i-ème sinusoïde sous la forme h + ; cette estimation est précise dans cet exemple. De plus A l'amplitude estimée en dB, )6 =101og10 (ai) où at = 2 (la fenêtre d'analyse étant normalisée telle que WK (0) = 1 , pour cet exemple), est proche des valeurs exactes de -6 dB et -12 dB. Ainsi dans le mode de réalisation illustré à la figure 3, le spectre du signal x(n) est analysé dans le bloc 303 afin d'extraire les composantes tonales qui sont à préserver par le post-traitement. L'analyse comporte les étapes E603a d'identification des composantes tonales dans le signal audiofréquence représenté dans le domaine fréquentiel et E603b de calcul d'un spectre des composantes tonales identifiées, à partir d'un modèle sinusoïdal tel que décrit précédemment. A noter que l'identification des composantes sinusoïdales est réalisée en combinant la détection de sinusoïdes et l'estimation de leurs paramètres (fréquence, amplitude, phase); la détection sert à déterminer si un pic correspond à une sinusoïde "valide" (ou "sélectionnée"). L'ensemble des sinusoïdes ainsi détectées et estimées constitue le modèle sinusoïdal du signal dans la trame courante. Ce modèle sinusoïdal est représenté de façon équivalente par le spectre complexe combinant les différentes sinusoïdes identifiées. Ce modèle sert à l'extraction des composantes tonales du signal. L'extraction est ici réalisée en retranchant au spectre du signal courant le spectre issu du modèle sinusoïdal, pour obtenir un résidu qui sera post-traité. L'étape E603a comporte une détection des pics fréquentiels dans le spectre d'amplitude du signal. Un pic est détecté à une raie d'indice kdans le spectre d'amplitude IX (k)1 si le critère suivant est vérifié: X(k)1>IX(k -1)1 et 1X(k)11X(k +1)1, k -1,...,K /2 -1 Les indices k localisant les différents pics ainsi trouvés sont rassemblés dans un vecteur - - -,/i ), où /est le nombre de pics détectés. Dans une variante du mode de réalisation, on pourra s'assurer que I ne dépasse pas un nombre prédéterminé de pics, par exemple 100, afin de réduire la complexité des opérations qui dépendent du nombre de pics. Suivant cette notation, 1, correspond au numéro de raie de Fourier localisant le pic d'indice Afin d'extraire les composantes tonales par ordre d'importance, les pics détectés sont triés en amplitude, de sorte qu'ils vérifient: X(4)1X(/2)1...1X(//)1 Les pics détectés de position 1,, 1=1,...,1 servent à l'identification et l'extraction de composantes tonales dans le spectre X (k) . Un pic d'indice 1, est supposé être associé à une sinusoïde dont l'amplitude ai et la fréquence k, sont estimés par interpolation parabolique du spectre d'amplitude X(k) à partir des 3 raies de Fourier contiguës d'indices li -1, 1, et 1,+1. La courbure de la parabole est calculée comme décrit précédemment suivant l'équation: 1 ai= -(X )-2.X,m(1,)+X dB(1, ± 1)) où X dB (k) 201ogio(X(k)) . La fréquence de la i-ème sinusoïde correspond à la position du sommet de la parabole : X (1 - 1) - X dB (1 +1) k, =1, + 4a, ce qui peut également être écrit: = 1 +1 X dB (1 -1)- X dB (1 ± 1) 2 X dB (li -1) - 2.XdB (0+ X dB (1 +1) L'amplitude de la i-ème sinusoïde correspond à la valeur au sommet de la parabole : a, =10120 avec X dB (1 i - X dB (1 +1) (k,-1,) = X dB (1 i) 4 Une sinusoïde associée au pic d'indice i est sélectionnée, autrement dit considérée comme "valide", si elle vérifie les critères suivants: i<_20 OU 0,75 <= <1,5 (avec a'f --7.3904) ai Ainsi, on choisit dans le mode de réalisation décrit ici, de sélectionner systématiquement les sinusoïdes associées aux 20 premiers pics détectés car le codage AMRWB préserve relativement bien les composantes tonales les plus importantes (en termes d'amplitude). Pour les pics suivants on considère qu'une sinusoïde est valide si la courbure a, estimée par interpolation ne s'écarte pas trop d'une courbure de référence notée a'f . Le choix de sélectionner par défaut les 20 premiers pics pourrait naturellement être ajusté pour ne sélectionner par exemple que le pic le plus important, sans altérer l'invention. La valeur aref -7.3904 est dérivée d'une interpolation parabolique sur le spectre d'amplitude de la fenêtre d'analyse wa(m) (de longueur N); cette valeur doit être en général ajustée en fonction des paramètres de l'analyse fréquentielle mise en oeuvre. Si la sinusoïde de fréquence estimée ki et associée au pic localisé sur la raie h est "valide" (suivant les critères ci-dessus), la phase de cette sinusoïde est estimée par interpolation. L'estimation de la phase 6 est fonction des phases des 2 raies contiguës d'indice kr et k+ : =Lki j et ki+ = Si LX (kt+ ) - LX (kt- )> r, LX (ki+) est d'abord modifiée de la façon suivante: LX (k ) = {LX (ki+ ) + 2z si LX (ki-) 0 LX (ki) - 2z si LX (k ) < 0 La phase 6 est estimée par l'interpolation linéaire suivante : LX (ki+ ) - LX (ki-) - Dans une variante du mode de réalisation, l'estimation des paramètres pourra être réalisée autrement que par interpolation parabolique, dans le domaine logarithmique (log10) du spectre d'amplitude et interpolation linéaire du spectre de phase. Par exemple, l'estimation de la fréquence pourra employer une des méthodes de détection de maximum décrite dans l'article de R.B. Fischer et D.K Naidu, "A Comparison of Algorithms for Subpixel Peak Detection", qui considère le contexte d'une détection de pics dans une image avec une résolution inférieure au pixel mais s'adapte facilement au problème de l'estimation de fréquence. Plusieurs méthodes alternatives d'interpolation de fréquence peuvent être tirées de l'article de Fischer et Naidu, comme par exemple: - l'approximation gaussienne qui correspond à une interpolation parabolique sur le spectre d'amplitude ramené dans le domaine logarithmique naturel (In ou log) - autrement dit, le spectre d'amplitude dans le domaine log est approximé par une gaussienne, ce qui donne 1 1nX(/, -1)-1nX(/, +1)1 k = 1 + 1 1 2 lnIX (1, -1)1- 2.1n1X (01+ 1n1X (/, +1)1 - l'interpolation parabolique sur le signal direct (ici le spectre d'amplitude) avec. 20 25 ki = 1 1 IX (1, -1)1-1X (1, +1)1 + 2 X (1, -1)1- 2.1X (1,)1+1X (1, +1) - l'interpolation linéaire avec 1 1X(/ +1)1-1X(/, +1)1 / + si 1X(11+1)1>IX(11-1)1 2 I X(/i)I -IX(/, -1) 11X(/1 , +1)-1X(/ +1) li + autrement 2 IX(01-1X(/, +1)1 - le centre de gravité avec X (/, +1)1-1X (/, +1)1 k = 11 + (1, -1)1+1X (11)1+1X (1, +1)1 Il va de soi que les variantes d'estimation de fréquence ci-dessus peuvent également être adaptées en remplaçant 1X (/, )1 par une valeur dérivée, comme1X(012. De même, étant donnée la fréquence estimée, l'estimation de l'amplitude et la phase sus-décrite peut être avantageusement remplacée par celle d'un facteur multiplicatif complexe (synthétisant donc le rôle de l'amplitude et de la phase) c, = a,.efi9' en utilisant la méthode suivante. La fréquence du sinus détecté étant maintenant connue, on peut donc définir, comme décrit plus loin, la portion Y, de spectre de référence (un "motif') qui sera additionnée au spectre de modélisation sinusoïdale, après application du facteur multiplicatif complexe c., qu'il 15 s'agit ici d'évaluer. Dans la variante proposée ici, le coefficient ci est calculé de sorte de minimiser l'erreur de reconstruction de la portion de spectre concernée au sens des moindres carrés. Cette optimisation dite LS (pour "Least Square" en anglais) se résume en la forme bien connue d'un ratio entre un produit scalaire et une norme au carré : ci = Wi*.X/11Wi112= Wi*.X/(Wi*.Wi) 20 où la notation *, appliquée ici à un vecteur colonne de coefficients complexes, correspond au transposé conjugué du dit vecteur, et la multiplication de vecteurs (vecteur ligne à gauche, vecteur colonne à droite) s'entend comme un produit scalaire. En pratique, chaque élément du motif - défini précisément plus loin - comprend 277 25 éléments; chaque produit scalaire implique les produits et somme de i paires de termes complexes, chaque produit complexe impliquant 2 multiplications et une addition. From the general equation of the parabola and given the values Y (k -1), Y (k), Y (k +1), we obtain: IY (li -1) = ai (1 + di) 2 + fli Y (1i) = aidi2 +, 13 Y (li + 1) = a (1- di) 2 + fli Calculating Y (1, +1) + Y (1, -1) -2Y (1, ), from the 3 preceding equations one finds: 1 = 2- (Y (li + 1) + Y (li -1) -2Y (0) Then, by calculating Y (1, -1) -Y (1, + 1), we find: d. = (1, -1) - Y (1, +1) 4a. Z Finally, the last parameter is calculated as: Y (1,) = aidi2 + A j3, = Y (1,) - d i2 By combining the expressions of di and, one can also write: = Y (1i) - (aid) of which gives: Y (0 Y (1, -1) -Y (1, + 1) d 4 For the example of Figure 5, the parabolic interpolation on the 2 "peaks" centered at / 0 = 4 and / 1 = 12 gives the following estimated parameters: lao = -7,1964 ai = -8 , 2003 do = -0.0001 and d1 = -0.4926 130 = -5.9779 / 31 = -11.6735 In this example, the parabolic interpolation gives an estimate of the frequency of the i-th sinusoid under the form h + this e stimulation is accurate in this example. In addition to the estimated amplitude in dB,) 6 = 101og10 (ai) where at = 2 (the analysis window being normalized such that WK (0) = 1, for this example), is close to the exact values of - 6 dB and -12 dB. Thus, in the embodiment illustrated in FIG. 3, the spectrum of the signal x (n) is analyzed in block 303 in order to extract the tonal components that are to be preserved by the post-processing. The analysis comprises the steps E603a for identifying the tonal components in the audio frequency signal represented in the frequency domain and E603b for calculating a spectrum of the identified tonal components, from a sinusoidal model as described above. Note that the identification of sinusoidal components is achieved by combining the detection of sinusoids and the estimation of their parameters (frequency, amplitude, phase); the detection is used to determine if a peak corresponds to a "valid" (or "selected") sinusoid. The set of sinusoids thus detected and estimated constitutes the sinusoidal model of the signal in the current frame. This sinusoidal model is represented in an equivalent way by the complex spectrum combining the different sinusoids identified. This model is used to extract the tonal components of the signal. The extraction is carried out here by subtracting the spectrum from the sinusoidal model to the spectrum of the current signal, to obtain a residue that will be post-processed. Step E603a includes a detection of the frequency peaks in the amplitude spectrum of the signal. A peak is detected at a line of index k in the amplitude spectrum IX (k) 1 if the following criterion is satisfied: X (k) 1> IX (k -1) 1 and 1X (k) 11X (k + 1) 1, k -1, ..., K / 2 -1 The indices k locating the different peaks thus found are gathered in a vector - - -, / i), where / is the number of peaks detected. In a variant of the embodiment, it will be possible to ensure that I does not exceed a predetermined number of peaks, for example 100, in order to reduce the complexity of the operations which depend on the number of peaks. According to this notation, 1, corresponds to the number of Fourier line locating the peak of index In order to extract the tonal components in order of importance, the detected peaks are sorted in amplitude, so that they verify: X (4 ) 1X (/ 2) 1 ... 1X (//) 1 The detected peaks of position 1 ,, 1 = 1, ..., 1 are used to identify and extract tonal components in the X spectrum ( k). A peak of index 1, is supposed to be associated with a sinusoid whose amplitude ai and the frequency k, are estimated by parabolic interpolation of the spectrum of amplitude X (k) from the 3 contiguous Fourier lines of indices li -1, 1, and 1, + 1. The curvature of the parabola is calculated as described previously according to the equation: 1 ai = - (X) -2.X, m (1,) + X dB (1, ± 1)) where X dB (k) 201ogio ( X (k)). The frequency of the i-th sinusoid corresponds to the position of the vertex of the parabola: X (1 - 1) - X dB (1 + 1) k, = 1, + 4a, which can also be written: = 1 + 1 X dB (1 -1) - X dB (1 ± 1) 2 X dB (li -1) - 2.XdB (0+ X dB (1 + 1) The amplitude of the i-th sinusoid corresponds to the value at the top of the dish: a, = 10120 with X dB (1 i - X dB (1 + 1) (k, -1,) = X dB (1 i) 4 A sinusoid associated with the index peak i is selected, in other words considered as "valid", if it satisfies the following criteria: i <_20 OR 0,75 <= <1,5 (with a'f - 7,3904) a Thus, one chooses in the embodiment described here, to systematically select the sinusoids associated with the first 20 peaks detected because the AMRWB coding preserves relatively well the most important tonal components (in terms of amplitude) For the following peaks a sinusoid is considered valid if the curvature has , estimated by interpolation does not deviate too much from a curvature of The choice of selecting by default the first 20 peaks could of course be adjusted to select for example only the largest peak, without altering the invention. The aref -7.3904 value is derived from a parabolic interpolation on the amplitude spectrum of the wa (m) analysis window (of length N); this value must generally be adjusted according to the parameters of the frequency analysis implemented. If the sinusoid of estimated frequency ki and associated with the peak located on line h is "valid" (according to the criteria above), the phase of this sinusoid is estimated by interpolation. The estimation of phase 6 is a function of the phases of the 2 contiguous lines of index kr and k +: = Lki j and ki + = Si LX (kt +) - LX (kt-)> r, LX (ki +) is firstly modified as follows: LX (k) = {LX (ki +) + 2z if LX (ki-) 0 LX (ki) - 2z if LX (k) <0 Phase 6 is estimated by the following linear interpolation: LX (ki +) - LX (ki-) - In a variant of the embodiment, the estimation of the parameters can be carried out other than parabolic interpolation, in the logarithmic domain (log10) of the spectrum of amplitude and linear interpolation of the spectrum phase. For example, the estimation of the frequency can use one of the maximum detection methods described in the article by RB Fischer and DK Naidu, "A Comparison of Algorithms for Subpixel Peak Detection", which considers the context of a detection of peaks in an image with a resolution less than the pixel but easily adapts to the problem of frequency estimation. Several alternative methods of frequency interpolation can be drawn from the article by Fischer and Naidu, for example: - the Gaussian approximation which corresponds to a parabolic interpolation on the amplitude spectrum brought back to the natural logarithmic domain (In or log) - in other words, the amplitude spectrum in the log domain is approximated by a Gaussian, which gives 1 1nX (/, -1) -1nX (/, +1) 1 k = 1 + 1 1 2 lnIX ( 1, -1) 1- 2.1n1X (01+ 1n1X (/, +1) 1 - the parabolic interpolation on the direct signal (here the amplitude spectrum) with 20 25 ki = 1 1 IX (1, - 1) 1-1X (1, +1) 1 + 2 X (1, -1) 1- 2.1X (1,) 1 + 1X (1, +1) - the linear interpolation with 1 1X (/ +1 ) 1-1X (/, +1) 1 / + if 1X (11 + 1) 1> IX (11-1) 1 2 IX (/ i) I -IX (/, -1) 11X (/ 1, + 1) -1X (/ +1) li + otherwise 2 IX (01-1X (/, +1) 1 - the center of gravity with X (/, +1) 1-1X (/, +1) 1 k = 11 + (1, -1) 1 + 1X (11) 1 + 1X (1, +1) 1 It goes without saying that the frequency estimation variants above can also be adapted by replacing 1X (/,) 1 with a derived value, such as 1X (012. Similarly, given the estimated frequency, the estimate of the amplitude and phase described above can be advantageously replaced by that of a complex multiplicative factor (thus synthesizing the role of amplitude and phase) c, = a, .efi9 'using the following method. Since the detected sinus frequency is now known, it is therefore possible to define, as described below, the reference spectrum portion Y (a "pattern") which will be added to the sinusoidal modeling spectrum, after application of the complex multiplicative factor c. In the variant proposed here, the coefficient ci is calculated so as to minimize the reconstruction error of the portion of the spectrum concerned in the least squares sense. for "Least Square" in English) can be summed up in the well-known form of a ratio between a scalar product and a standard squared: ci = Wi * .X / 11Wi112 = Wi * .X / (Wi * .Wi) 20 where the notation *, applied here to a column vector of complex coefficients, corresponds to the conjugated transpose of the said vector, and the multiplication of vectors (vector line on the left, vector column on the right) is understood as a scalar product. each element of the pattern - defined specified further - includes 277 25 elements; each scalar product involves the products and sum of i pairs of complex terms, each complex product involving 2 multiplications and one addition.
Il est important de noter que le calcul du coefficient c, est applicable que lorsque la fréquence de la sinusoïde est au moins à distance /7/2 de la fréquence nulle et de la fréquence de Nyquist, afin d'éviter le repliement spectral. Dans le cas contraire, l'homme de l'art saura adapter la formule en tenant compte du repliement fréquentiel, ou il pourra utiliser l'interpolation linéaire de la phase. Par convention, dans la suite du document ainsi que dans les figures, on pourra désigner par (a'k'0,) les paramètres de la sinusoïde i, de façon équivalente aux paramètres (c'k,) même si c'est le coefficient complexe c, qui est estimé et utilisé, et que notamment la phase 0, n'a pas lieu d'être calculée explicitement. It is important to note that the calculation of the coefficient c, is applicable only when the frequency of the sinusoid is at least at a distance / 7/2 of the zero frequency and the Nyquist frequency, in order to avoid the spectral folding. In the opposite case, one skilled in the art will be able to adapt the formula taking into account the frequency folding, or he may use the linear interpolation of the phase. By convention, in the following of the document as well as in the figures, we can denote by (a'k'0,) the parameters of the sinusoid i, in a way equivalent to the parameters (c'k,) even if it is the complex coefficient c, which is estimated and used, and in particular phase 0, does not need to be calculated explicitly.
Dans le cas d'une fenêtre d'analyse symétrique et d'une « transformée à phase recentrée » telle que décrite plus haut, le "motif' stocké est un spectre réel. On peut donc réduire de moitié le nombre de multiplications et d'additions. Dans une variante recommandée de l'invention, on aura stocké en mémoire une version du motif normalisée de telle sorte que la norme du motif calculé sur les sous-échantillons fréquentiels soit toujours égale à 1 Cette normalisation réduit le nombre d'opérations. L'estimation de l'amplitude et de la phase à l'aide du motif est une alternative avantageuse à l'estimation séparée de l'amplitude et de la phase par interpolation parabolique et linéaire, en ce qu'elle évite un certain nombre d'opérations coûteuses (divisions, calculs de phase par arc-tangente...). Cette estimation par motif est une forme d'analyse par synthèse, car l'estimation des paramètres des sinusoïdes repose sur le motif utilisé à la synthèse. A noter que la raie d'indice k=0 est également comptée comme une sinusoïde valide avec : 4 =1X(0)1, ki =0 , = 0 ou ir suivant que la valeur de X(0) est respectivement positive ou négative. Le bloc 303 effectue ensuite une étape E303b de calcul du spectre (S(k)) des composantes tonales ou sinusoïdes "valides" ainsi identifiées. Pour cela, il utilise dans un exemple de réalisation un motif précalculé et mis en mémoire à une étape E300 par un module 300. In the case of a symmetric analysis window and a "recenter phase transform" as described above, the stored "pattern" is a real spectrum, so the number of multiplications and In a recommended variant of the invention, a version of the normalized pattern will have been stored in memory so that the standard of the pattern calculated on the frequency subsamples is always equal to 1. This standardization reduces the number of operations. The amplitude and phase estimation using the pattern is an advantageous alternative to the separate estimation of the amplitude and the phase by parabolic and linear interpolation, in that it avoids a certain number of expensive operations (divisions, arc-tangent phase calculations ...) This estimation by pattern is a form of analysis by synthesis, because the estimate of the parameters of the sinusoids rests on the motive used at the synthesis. that e the line of index k = 0 is also counted as a valid sinusoid with: 4 = 1X (0) 1, ki = 0, = 0 or ir depending on whether the value of X (0) is positive or negative, respectively. The block 303 then performs a step E303b for calculating the spectrum (S (k)) of the "valid" tonal or sinusoidal components thus identified. For this, it uses in an exemplary embodiment a precalculated pattern and stored in a step E300 by a module 300.
Selon le mode de réalisation décrit ici du procédé de traitement de l'invention, le spectre d'une sinusoïde est calculé en tenant compte de la fenêtre d'analyse utilisée pour réaliser l'analyse spectrale de Fourier à cout-terme dans le bloc 302. According to the embodiment described here of the treatment method of the invention, the spectrum of a sinusoid is calculated taking into account the analysis window used to perform the cost-term Fourier spectral analysis in block 302. .
Comme rappelé précédemment, le spectre d'une sinusoïde fenêtrée s'obtient par convolution du spectre de la fenêtre considérée avec des Diracs ce qui est équivalent à des opérations de translation (modulo 27c) et addition/recouvrement. Etant donné que la fréquence k peut prendre n'importe quelle valeur dans [-- K , 1±], y compris des valeurs 2 2 fractionnaires, la translation du spectre de la fenêtre par un décalage fréquentiel arbitraire est mise en oeuvre à l'aide d'une interpolation du spectre de la fenêtre sur une longueur M, où M>K. Avantageusement, le dispositif suivant l'invention utilise une méthode rapide de calcul du spectre court-terme de sinusoïdes à partir d'un "motif' P(k) fréquentiel pré-calculé et stocké en mémoire en 300. On suppose ici que la fenêtre d'analyse de longueur N appliquée à chaque trame dans le bloc 302 est une fenêtre de Hamming normalisée, telle que décrite plus haut mais en posant N=512, et que nous noterons wa(m). Cependant, l'invention s'applique à n'importe quelle fenêtre de pondération de longueur N. As recalled above, the spectrum of a windowed sinusoid is obtained by convolution of the spectrum of the window considered with Diracs which is equivalent to translation operations (modulo 27c) and addition / recovery. Since the frequency k can take any value in [- K, 1 ±], including fractional values, the translation of the spectrum of the window by an arbitrary frequency shift is implemented at the same time. using interpolation of the spectrum of the window over a length M, where M> K. Advantageously, the device according to the invention uses a rapid method for calculating the short-term spectrum of sinusoids from a "pattern" P (k) frequency pre-calculated and stored in memory at 300. It is assumed here that the window The analysis of length N applied to each frame in block 302 is a normalized Hamming window, as described above but with N = 512, and we will write wa (m). any weighting window of length N.
Dans le mode de réalisation privilégié de l'invention, on utilise une transformée de longueur K=N=512 et un facteur d'interpolation M/K = 128, soit M=65536, ce qui nous fournit un spectre W4k) qui correspond au spectre discret (normalisé) de la fenêtre wa(m) avec une interpolation d'un facteur MIK=128. L'interpolation garantit une précision suffisante pour représenter des fréquences (fractionnaires) ki avec une précision inter-raie de 1/128 (par rapport à une transformée de Fourier discrète de longueur M. En fait pour K=512, la résolution de la FFT (voir la description du bloc 302) est de 16000/512=31,25 Hz. Le spectre WM (k) est quant à lui représenté avec une résolution de 31,25/128 0,24 Hz. Une partie du spectre WM (k) est illustré à la figure 7a où les fréquences négatives sont incluses à des fins d'illustration. Il apparaît que l'atténuation du lobe secondaire est de l'ordre de -43 dB ce qui justifie d'utiliser essentiellement le lobe principal pour représenter le spectre de la fenêtre. Pour réduire le nombre de valeurs de WM (k) à stocker et la complexité de la soustraction complexe (voir la description du bloc 304), on définit le "motif' (normalisé) comme: P(k)= WM (k) , k = 147m(0)1 en ne retenant que l'intervalle 0, 2 pour la longueur de transformée N. M 2 K Ce motif ne correspond qu'aux fréquences positives car les fréquences négatives s'obtiennent par symétrie hermitienne. In the preferred embodiment of the invention, a transform of length K = N = 512 and an interpolation factor M / K = 128, ie M = 65536, which gives us a spectrum W4k) which corresponds to Discrete (normalized) spectrum of the wa (m) window with interpolation of MIK = 128. The interpolation guarantees sufficient precision to represent (fractional) frequencies ki with an inter-line precision of 1/128 (compared to a discrete Fourier transform of length M. In fact for K = 512, the resolution of the FFT The spectrum WM (k) is represented with a resolution of 31.25 / 128 0.24 Hz. A part of the WM spectrum ( k) is illustrated in Figure 7a where the negative frequencies are included for purposes of illustration It appears that the attenuation of the secondary lobe is of the order of -43 dB which justifies using essentially the main lobe for to represent the spectrum of the window To reduce the number of values of WM (k) to store and the complexity of the complex subtraction (see the description of block 304), the "pattern" (normalized) is defined as: P (k ) = WM (k), k = 147m (0) 1 by retaining only the interval 0, 2 for the length of transform N. M e 2K This pattern matches only for positive frequencies negative frequencies are obtained by square symmetry.
Dans le mode de réalisation décrit ici, on utilise ri = 4 raies (pour la longueur de transformée K). Le choix de ri = 4, étant donné le facteur d'interpolation M/K = 128, limite avantageusement le stockage du "motif' P(k) à 2 +1=257 valeurs. Le motif P(k) K est illustré à la figure 7b représentant son amp itude, sa phase étant nulle dans le cas privilégié d'une fenêtre symétrique et d'une transformée à « phase recentrée ». Ainsi, le "motif' P(k) , k = 0,...,256, est calculé préalablement aux étapes mises en oeuvre dans le procédé de traitement et pré-stocké en mémoire ROM dans le bloc 300. Ce motif spectral peut aussi bien être stocké en représentation polaire (amplitude, phase) qu'en représentation cartésienne (partie réelle, partie imaginaire), selon les modalités de calcul choisies. Il va de soi que l'invention couvre la variante où ce motif P(k) est stocké de façon redondante en incluant également les valeurs correspondant aux fréquences négatives; cette variante n'apporte cependant qu'un avantage négligeable en termes de complexité de calcul. In the embodiment described here, ri = 4 lines (for the transform length K) are used. The choice of ri = 4, given the interpolation factor M / K = 128, advantageously limits the storage of the "pattern 'P (k) to 2 + 1 = 257 values .The pattern P (k) K is illustrated in FIG. FIG. 7b represents its amplitude, its phase being zero in the privileged case of a symmetrical window and of a "recenter phase" transform, thus the "pattern" P (k), k = 0, ... , 256, is calculated prior to the steps implemented in the processing method and pre-stored in ROM memory in block 300. This spectral pattern can be stored in polar representation (amplitude, phase) as well as in Cartesian representation ( real part, imaginary part), according to the chosen calculation methods. It goes without saying that the invention covers the variant where this pattern P (k) is redundantly stored, also including the values corresponding to the negative frequencies; this variant, however, provides only a negligible advantage in terms of calculation complexity.
L'étape E303b du bloc 303 effectue alors le calcul du spectre combiné. Le spectre combiné des sinusoïdes est d'abord initialisé à la valeur nulle : S(k) = , k =0,...,K / 2 On considère par la suite que ces valeurs sont rassemblées dans un vecteur de longueur /Q2+1 : S =(S(0),S(1),...,S(K/ 2)) Le vecteur S est mis à jour de façon itérative en ajoutant le spectre discret de chaque sinusoïde (ou composante tonale) d'indice i. On approxime le spectre discret d'une sinusoïde de paramètres (a' k,0) par translation fréquentielle de ±k raies fréquentielles (avec la précision inter-raie de K/M=1/128) et addition-recouvrement du "motif' pré-calculé P(k) , k = 0,...,256, et multiplication par ci ou ateA . Ce calcul est illustré en détail à la figure 8, pour l'itération i, c'est-à-dire pour le calcul du spectre discret de la sinusoïde d'indice i (>0) dans le cas où cette sinusoïde est valide. Step E303b of block 303 then performs the calculation of the combined spectrum. The combined spectrum of the sinusoids is first initialized to the null value: S (k) =, k = 0, ..., K / 2 It is subsequently considered that these values are collected in a vector of length / Q2 + 1: S = (S (0), S (1), ..., S (K / 2)) The vector S is updated iteratively by adding the discrete spectrum of each sinusoid (or tonal component) d index i. We approximate the discrete spectrum of a sinusoid of parameters (a 'k, 0) by frequency translation of ± k frequency lines (with the inter-line accuracy of K / M = 1/128) and addition-recovery of the "pattern" pre-computed P (k), k = 0, ..., 256, and multiplication by ci or ateA This calculation is illustrated in detail in Figure 8, for the iteration i, that is to say for the calculation of the discrete spectrum of the sinusoid of index i (> 0) in the case where this sinusoid is valid.
Ainsi, le bloc E801 indique que l'organigramme de la figure 8 met en oeuvre la construction (const) du spectre à partir des paramètres estimés a,, 0, de la sinusoïde. Une étape E802 initialise le résultat de la sommation, laquelle est mise en oeuvre sous la forme d'une boucle (E803, E804, E807, e808). Les termes de la somme sont calculés aux étapes E805 et E806, dont les détails sont présentés à la figure 9. Thus, the block E801 indicates that the flowchart of FIG. 8 implements the construction (const) of the spectrum from the estimated parameters a ,, 0, of the sinusoid. A step E802 initializes the result of the summation, which is implemented as a loop (E803, E804, E807, e808). The terms of the sum are calculated in steps E805 and E806, the details of which are shown in Figure 9.
Ainsi, pour la i-ème sinusoïde, les écarts kr et k7 entre la fréquence ki et les indices entiers des raies proches pour la transformée de longueur K sont convertis par homothétie en indices AT et 3.;' relatifs à la transformée en longueur M, de la façon suivante: Ati =K(kt-LkiJ)=K(ki-k = '1;7- j- ki)=`1147(ki+ -ki) où L.] représente l'arrondi à l'entier inférieur. Par définition Ai + Ai11/ Le spectre de la i-ème sinusoïde est construit en ne retenant que i = 4 raies du motif P(k) (pour les fréquences positives). L'organigramme de la figure 8 met en oeuvre la sommation selon l'équation suivante : 2 S = S + spec(KE p P(Lp.f,` + spec(kti + p, où la fonction spec(k, V) est maintenant définie à travers l'organigramme présenté à la figure 9. Thus, for the i-th sinusoid, the deviations kr and k7 between the frequency ki and the integer indices of the near lines for the transform of length K are converted by homothety into indices AT and 3; relating to the transform to length M, as follows: Δt = K (kt-LkiJ) = K (ki-k = 1 1; 7-j-ki) = `1147 (ki + -ki) where L.] represents round to the lower integer. By definition Ai + Ai11 / The spectrum of the i-th sinusoid is constructed by retaining only i = 4 lines of the pattern P (k) (for positive frequencies). The flowchart of FIG. 8 implements the summation according to the following equation: 2 S = S + spec (KE p P (Lp.f, `+ spec (kti + p, where the function spec (k, V) is now defined through the flowchart shown in Figure 9.
Afin de compléter la description faite plus haut de la méthode dite "LS" d'estimation du paramètre d'amplitude complexe c1équivalent aux paramètres d'amplitude aiet de phase 9' on reformule cette équation ainsi : S = S+ =S+ i 2 P P([19 1A+1+ = spec(ki+ - p -1,P([19.'+'+ ATM+ spec(KE p=0 Cette factorisation est exacte sous l'hypothèse (généralement vérifiée, sauf cas particuliers) que la sinusoïde n'est pas trop proche des fréquences nulle et de Nyquist (d'indices 0 et K/2), de sorte que le motif échantillonné s'additionne seulement sur le demi-spectre de synthèse, sans repliement spectral. In order to complete the description made above of the so-called "LS" method of estimating the complex amplitude parameter c1 equivalent to the amplitude parameters aiet of phase 9 ', this equation is reformulated as follows: S = S + = S + i 2 PP ( [19 1A + 1 + = spec (ki + - p -1, P ([19. '+' + ATM + spec (KE p = 0 This factorization is exact under the assumption (generally verified, except in special cases) that the sinusoid is not too close to the null and Nyquist frequencies (of indices 0 and K / 2), so that the sampled pattern adds up only on the half-spectrum of synthesis, without spectral folding.
Le bloc E901 indique que l'organigramme de la figure 9 met en oeuvre la mise à jour partielle du spectre (spec) dans l'intervalle [0, K/2] pour la sinusoïde considérée. Cette mise à jour prend pour paramètre la raie de Fourier ket la valeur spectrale Vassociée à cette raie. L'étape E902 initialise le résultat du calcul. Ensuite 4 cas sont distingués: o k<0 (étape E903): la symétrie hermitienne est mise à profit à l'étape E904, ce qui revient à écrire le conjugué complexe de V à la raie de position -k; p=0 ieP(Lp +Al) o k=0 ou K/2 (étape E905): les raies DC et de Nyquist étant par définition à valeur réelle et sans facteur 1/2, la valeur considérée est 2.Re( V) où Re(.) donne la partie réelle (étape E906); o k>KI2 (étape E907): la périodicité du spectre discret et la symétrie hermitienne pour les fréquences négatives est mise à profit à l'étape E908, ce qui revient à écrire le conjugué complexe de V à la raie de position K-k; o Dans les autres cas (étape E909): la valeur Vest directement additionnée à la position k. Block E901 indicates that the flowchart of FIG. 9 implements the partial updating of the spectrum (spec) in the interval [0, K / 2] for the sinusoid considered. This update takes as parameter the Fourier line and the spectral value Associated with this line. Step E902 initializes the result of the calculation. Then 4 cases are distinguished: o k <0 (step E903): the hermitian symmetry is put to advantage in step E904, which amounts to writing the complex conjugate of V to the position line -k; p = 0 ieP (Lp + Al) ok = 0 or K / 2 (step E905): the DC and Nyquist lines being by definition real and without a factor 1/2, the considered value is 2.Re (V) where Re (.) gives the real part (step E906); o k> KI2 (step E907): the periodicity of the discrete spectrum and the Hermitian symmetry for the negative frequencies is put to advantage in step E908, which amounts to writing the complex conjugate of V to the line of position K-k; o In other cases (step E909): the value V is directly added to the position k.
Le calcul de S présenté précédemment est répété pour chaque sinusoïde valide d'indice 4 ce qui revient à calculer: S i=0 2 P([19. '+' + ATM+ spec(ki+ + ql[p4+ Al)) SpeC (ki+ p =0 où I est le nombre de sinusoïdes valides, ou composantes tonales identifiées. On suppose ici, sans perte de généralité (car il suffit d'une indexation appropriée), que l'ensemble les sinusoïdes non valides ne sont pas comptées. On peut noter que pour la sinusoïde d'indice 0, qui correspond à la raie DC (composante continue) est prise en compte dans la formule ci-dessus. Cette opération permet de ne pas modifier la valeur DC (composante continue) par post-traitement. The calculation of S presented previously is repeated for each valid sinusoid of index 4, which amounts to calculating: S i = 0 2 P ([19. '+' + ATM + spec (ki + + ql [p4 + Al)) SpeC (ki + p = 0 where I is the number of valid sinusoids, or identified tonal components It is assumed here, without loss of generality (because it is enough of an appropriate indexation), that all the invalid sinusoids are not counted. Note that for the sinusoid of index 0, which corresponds to the DC line (DC component), is taken into account in the formula above.This operation makes it possible not to modify the value DC (DC component) by post-processing. .
Dans une variante du mode de réalisation, le processus de détection de pics est répété de façon itérative, pour ne détecter à la i-ème itération que le pic de position correspondant au maximum du spectre X (k) auquel est retranché à chaque itération le spectre des sinusoïdes déjà extraites. Cette variante correspond à une forme d'analyse connue dans l'état de l'art sous le nom de "matching pursuit". In a variant of the embodiment, the peak detection process is repeated iteratively, in order to detect at the i-th iteration only the peak position corresponding to the maximum of the spectrum X (k) which is subtracted at each iteration. spectrum of sinusoids already extracted. This variant corresponds to a form of analysis known in the state of the art under the name of "matching pursuit".
Le bloc 304 de la figure 3 calcule à l'étape E304 un résidu par la différence entre le signal audiofréquence décodé et un signal issu du spectre des composantes tonales. Dans le cas présent de la figure 3, l'obtention de ce résidu s'effectue dans le domaine fréquentiel par la différence entre le spectre du signal audiofréquence et le spectre des composantes tonales identifiées. On obtient ainsi le spectre résiduel après extraction (soustraction) des sinusoïdes synthétisées. Le résidu s'obtient dans le domaine complexe comme suit: R(k)= X (k)- S(k), k = 0, , K 12 Dans le cas idéal où le signal original est constitué comme une combinaison de sinusoïdes qui sont préservées par codage-décodage, le résidu correspond alors au bruit de codage. Cependant en général, le résidu obtenu comporte : o une partie correspondant au résidu de modélisation sinusoïdale du signal original (incluant les composantes non-tonales du signal ainsi que les erreurs de modélisation) o une partie correspondant au bruit de codage. The block 304 of FIG. 3 computes at step E304 a residual by the difference between the decoded audio-frequency signal and a signal coming from the spectrum of the tonal components. In the present case of FIG. 3, this residue is obtained in the frequency domain by the difference between the spectrum of the audiofrequency signal and the spectrum of the tonal components identified. This gives the residual spectrum after extraction (subtraction) of the synthesized sinusoids. The residue is obtained in the complex domain as follows: R (k) = X (k) - S (k), k = 0,, K 12 In the ideal case where the original signal is constituted as a combination of sinusoids which are preserved by coding-decoding, the residue then corresponds to the coding noise. However, in general, the resulting residue includes: o a part corresponding to the sinusoidal modeling residue of the original signal (including the non-tonal components of the signal as well as the modeling errors) o a part corresponding to the coding noise.
Dans le bloc 305 de la figure 3, une étape E305 d'atténuation spectrale est mise en oeuvre. Cette opération utilise en général toute l'information disponible. Elle peut par exemple être fonction de la classification des composantes tonales extraites, du signal résiduel et des paramètres décodés. Le bloc 305 réalise une atténuation spectrale du spectre du résidu sous la forme suivante: Rat, (k) = g (k).R(k) , k = 0, ... , K 1 2 où g(k) est un gain adaptatif vérifiant de façon générale : 0 g(k) 1. Dans une variante du mode de réalisation privilégié, le gain appliqué au résidu subira un lissage temporel afin d'atténuer les variations inter-trames et éviter certains artefacts. In block 305 of FIG. 3, a spectral attenuation step E305 is implemented. This operation generally uses all available information. It may for example be a function of the classification of the extracted tonal components, the residual signal and the decoded parameters. Block 305 spectrally attenuates the spectrum of the residue in the following form: Rat, (k) = g (k) .R (k), k = 0, ..., K 1 2 where g (k) is a Adaptive gain generally satisfying: 0 g (k) 1. In a variation of the preferred embodiment, the gain applied to the residue will be temporally smoothed to attenuate interframe variations and avoid certain artifacts.
Dans ce cas le bloc 305 effectuera le calcul R (k) = (k).R(k) , k = 0, ... , K 1 2 où le gain lissé g(k) s'obtient par exemple par lissage exponentiel du g(k) suivant l'équation g (k) = (k)< (k) + (1- (k)) g (k) avec un facteur d'oubli Ç(k) qui peut être soit fixe (par exemple de valeur 0,75) soit adaptatif (par exemple de valeur Ç(k) =1- g (k)). Dans le mode de réalisation particulier, on utilise les informations de classification obtenues par le bloc 310. Ce bloc 310 sera décrit ultérieurement. Ainsi, le gain d'atténuation est par exemple forcé à la valeur g (k) =1, k = 0, , N /2 lorsque la trame courante est classifiée comme "autre". Lorsque la trame est classifiée comme "musique", dans le mode de réalisation privilégié, le gain g(k) est calculé comme le gain d'un filtre de Wiener fréquentiel (contraint) sous la forme: RSB(k) g (k) = max , k =0,...,N 12 g min 1+ RSB(k) où gmin définit un niveau de réduction maximale (avec par exemple grnin=0,25) et le rapport signal sur bruit RSB(k) est estimé par l'équation RSB(k) = (k)12 B(k) X(k)12 correspondant à l'énergie de la raie d'indice k et B(k) étant une estimation du niveau du bruit de codage calculée à partir du signal résidu R(k) suivant l'équation : B (t) (k) = 0,2.B(t-1) (k) + 0, 6 .E(t) (k) + 0,2.E(t-1) (k) où tet t-1 correspondent aux trames courante et précédente, respectivement, et 1 stop (k)-1 E(t) (k) = IX (i)12 stop (k) - start(k) ,,start(k) est l'énergie moyenne dans la bande de Bark (incomplète proche de k = 0 et k = K2) centrée autour de la raie k. La bande de Bark est définie par les raies dans l'intevalle [start(k), stop(k)-1], où les tableaux de début (start) et fin de bande (stop) sont définis ci-dessous pour l'exemple K=512: start={0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 124, 125, 126, 127, 128, 129, 130, 131, 132, 132, 133, 134, 135, 136, 137, 138, 139, 139, 140, 141, 142, 143, 144, 145, 146, 147, 147, 148, 149, 150, 151, 152, 153, 154, 154, 155, 156, 157, 158, 159, 160, 161, 161, 162, 163, 164, 165, 166, 167, 168, 168, 169, 170, 171, 172, 173, 174, 174, 175, 176, 177, 178, 179, 180, 180, 181, 182, 183, 184, 185, 186, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 213, 214, 215, 216, 217, 218, 219, 220, 220, 221, 222, 223, 224, 225, 226, 226, 227, 228, 229, 230, 231, 232, 233} stop={3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 119, 120, 121, 122, 123, 124, 125, 126, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 140, 141, 142, 143, 144, 145, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 164, 165, 166, 167, 168, 169, 170, 172, 173, 174, 175, 176, 177, 178, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 236, 237, 238, 239, 240, 241, 242, 244, 245, 246, 247, 248, 249, 251, 252, 253, 254, 255, 256, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257} A noter que d'autres coefficients de lissage (de valeur 0,2, 0,6 et 0,2) peuvent être ajustés différemment. In this case block 305 will perform the calculation R (k) = (k) .R (k), k = 0,..., K 1 2 where the smoothed gain g (k) is obtained for example by exponential smoothing. of g (k) according to the equation g (k) = (k) <(k) + (1- (k)) g (k) with a forgetting factor Ç (k) which can be either fixed (by example of value 0.75) is adaptive (for example of value Ç (k) = 1- g (k)). In the particular embodiment, the classification information obtained by the block 310 is used. This block 310 will be described later. Thus, the attenuation gain is for example forced to the value g (k) = 1, k = 0,, N / 2 when the current frame is classified as "other". When the frame is classified as "music", in the preferred embodiment, the gain g (k) is calculated as the gain of a frequency (constrained) Wiener filter in the form: RSB (k) g (k) = max, k = 0, ..., N 12 g min 1+ RSB (k) where gmin defines a maximum reduction level (with for example grnin = 0.25) and the signal-to-noise ratio RSB (k) is estimated by the equation RSB (k) = (k) 12 B (k) X (k) 12 corresponding to the energy of the line of index k and B (k) being an estimate of the level of the calculated coding noise from the residual signal R (k) according to the equation: B (t) (k) = 0.2.B (t-1) (k) + 0, 6 .E (t) (k) + 0, 2.E (t-1) (k) where tet t-1 correspond to the current and previous frames, respectively, and 1 stop (k) -1 E (t) (k) = IX (i) 12 stop (k) - start (k) ,, start (k) is the average energy in the Bark band (incomplete near k = 0 and k = K2) centered around the line k. The Bark band is defined by the lines in the [start (k), stop (k) -1] interval, where the start and end of stop (stop) arrays are defined below for the example K = 512: start = {0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 124, 125, 126, 127, 128, 129, 130, 131, 132, 132, 133, 134, 135, 136, 137, 138, 139, 139, 140, 141, 142, 143, 144, 145, 146, 147, 147, 148, 149, 150, 151, 152, 153, 154, 154, 155, 156, 157, 158, 159, 160, 161, 161, 162, 163, 164, 165, 166, 167, 168, 168, 169, 170, 171, 172, 173, 174, 174, 175, 176, 177, 178, 179, 180, 180, 181, 182, 183, 184, 185, 186, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 213, 214, 215, 216, 217, 218, 219, 220, 220, 221, 222, 223, 224, 225, 226, 226, 227, 228, 229, 230, 231, 232, 233} stop = {3, 4 , 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30 , 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 , 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83 , 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111 , 112, 113, 114, 115, 116, 118, 119, 120, 121, 122, 123, 124, 125, 126, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139 , 140, 141, 142, 143, 144, 145, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 16 1, 162, 164, 165, 166, 167, 168, 169, 170, 172, 173, 174, 175, 176, 177, 178, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 236, 237, 238, 239, 240, 241, 242, 244, 245, 246, 247, 248, 249, 251, 252, 253, 254, 255, 256, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257} It should be noted that other smoothing coefficients (of value 0.2, 0.6 and 0.2) can be adjusted differently. .
Dans ce mode de réalisation, le niveau de bruit de codage 5(k) est donc estimé à l'aide de bandes critiques "flottantes" dans le sens où chaque raie de Fourier d'indice kse voit associée à un intervalle d'intégration [start(k),stop(k)-1]. Les tableaux donnés ci-dessus correspondent à un intervalle de 1/2 Bark de part et d'autre de chaque raie d'indice k, autrement dit l'intervalle [start(k),stop(k)-1] a une largeur (approximative) de 1 Bark. Dans une variante du mode de réalisation, l'estimation du bruit de codage pourra utiliser des intervalles de taille différente, par exemple 2 Barks ou 1/2 Bark. Par ailleurs, le niveau d'atténuation maximale, gm,n, pourra être rendu adaptatif en fonction de la classification, comme dans la technique de Vaillancourt et al. De plus le gain de Wiener pourra être remplacée par une autre fonction de réduction utilisant le rapport signal à bruit RSB(k) Le rapport signal à bruit RSB(k) est par essence relativement élevé au voisinage des sinusoïdes extraites - en effet dans ce voisinage le résidu de modélisation sinusoïdal est de niveau inférieur à celui du signal puisqu'une sinusoïde a été retranchée ; par contre, pour les raies d'indice k situées dans les zones fréquentielles inter-tones, le résidu a un niveau correspondant à celui du signal et le rapport RSB(k) aura une valeur proche de 0 dB. Dans une variante du mode de réalisation, on pourra artificiellement baisser la valeur du rapport signal à bruit en lui appliquant un facteur (par exemple 1/16) afin de forcer une atténuation plus forte que le gain de Wiener associé à un RSB de 0 dB. In this embodiment, the coding noise level 5 (k) is therefore estimated using "floating" critical bands in the sense that each Fourier line of index kse is associated with an integration interval [ start (k), stop (k) -1]. The tables given above correspond to an interval of 1/2 Bark on either side of each line of index k, in other words the interval [start (k), stop (k) -1] has a width (approximate) of 1 Bark. In a variant of the embodiment, the estimation of the coding noise may use intervals of different size, for example 2 Barks or 1/2 Bark. Moreover, the maximum attenuation level, gm, n, can be made adaptive according to the classification, as in the technique of Vaillancourt et al. Moreover, the Wiener gain can be replaced by another reduction function using the signal-to-noise ratio RSB (k) The signal-to-noise ratio RSB (k) is in essence relatively high in the vicinity of the extracted sinusoids - indeed in this vicinity the sinusoidal modeling residual is of lower level than that of the signal since a sinusoid has been cut off; on the other hand, for the lines of index k located in the inter-tone frequency zones, the residue has a level corresponding to that of the signal and the ratio RSB (k) will have a value close to 0 dB. In a variant of the embodiment, the value of the signal-to-noise ratio can be artificially lowered by applying to it a factor (for example 1/16) in order to force a stronger attenuation than the Wiener gain associated with a 0 dB SNR. .
Dans une variante du mode de réalisation, le gain g(k) est calculé à partir des coefficients du filtre LPC décodé Â(z) associés à la dernière sous-trame (5 ms) de la trame courante. Ces coefficients sont fournis par le bloc 301 de décodage. Soit donc le filtre de fonction de transfert : Â(z/yi) H(z)= A(z/r2) avec yi =0,6 et 72=0,95. On rappelle que les coefficients du filtre Â(z) et donc la fonction de transfert H(z), sont définis pour la fréquence d'échantillonnage de 12,8 kHz. Dans la présente description, le signal traité est échantillonné à 16 kHz. On définit alors K' = LKx12, 8/16 j= 410 , qui est l'indice fréquentiel correspondant approximativement à la fréquence 12,8 kHz. De là, le gain g(k) est calculé comme suit : g(k) go1H-(e,2zkix-) k=0,...,K72 g(K72) k=K72+1,...,K12 KY2 où go est un facteur de normalisation tel que g(k)=1. Il est bien évident qu'une k=0 transposition de l'invention à un domaine d'échantillonnage identique à celui où est défini Â(z) impliquerait une valeur K' =K. Afin d'éviter une atténuation trop forte, la valeur du gain g(102) k=K72+1,...,K/2 Cette variante qui utilise le filtre de prédiction linéaire décodé a l'avantage de fournir une fonction de pondération relativement lisse et variant lentement d'une trame à l'autre pour un signal stationnaire; par contre elle a le désavantage de colorer le résidu par la réponse (étendue) du filtre H(z). D'autres réalisations du calcul du gain sont possibles, sans changer le principe de l'invention. In a variant of the embodiment, the gain g (k) is calculated from the coefficients of the decoded LPC filter λ (z) associated with the last subframe (5 ms) of the current frame. These coefficients are provided by the decoding block 301. That is, the transfer function filter: λ (z / yi) H (z) = A (z / r2) with yi = 0.6 and 72 = 0.95. It will be recalled that the coefficients of the filter λ (z) and therefore the transfer function H (z) are defined for the sampling frequency of 12.8 kHz. In the present description, the processed signal is sampled at 16 kHz. We then define K '= LKx12, 8/16 j = 410, which is the frequency index corresponding approximately to the frequency 12.8 kHz. From there, the gain g (k) is calculated as follows: g (k) g1H- (e, 2zkix-) k = 0, ..., K72 g (K72) k = K72 + 1, ..., K12 KY2 where go is a normalization factor such that g (k) = 1. It is obvious that a k = 0 transposition of the invention to a sampling domain identical to that where is defined  (z) would imply a value K '= K. In order to avoid a too strong attenuation, the value of the gain g (102) k = K72 + 1, ..., K / 2 This variant which uses the decoded linear prediction filter has the advantage of providing a weighting function relatively smooth and slowly varying from one frame to another for a stationary signal; on the other hand, it has the disadvantage of staining the residue by the (extended) response of the H (z) filter. Other embodiments of the calculation of the gain are possible, without changing the principle of the invention.
Dans une variante du mode de réalisation ainsi décrit, le gain est calculé en fonction du modèle sinusoïdal. Les composantes tonales qui sont extraites et synthétisées ont pour paramètres (a1 , k. ,6e) avec i E /1 , où /est le nombre de sinusoïdes valides (après élimination des sinusoïdes non valides qui ne sont pas comptées et après indexation appropriée) et k1 < k2 < < k1. Dans ces conditions on introduit un paramètre d'atténuation en dB x(k), k =0,...,N/2, tel que: z(k)= sine Tc k-k. , avec i tel que k k,±1 ki 2 avec les conventions suivantes: 1(0 = -k1 et k1+1= K Un exemple pour ce paramètre d'atténuation est montré à la figure 10a pour l'exemple suivant avec I = 6: ki=0,...,6 = {5.25, 15.1, 35.5, 120, 180, 240}. On voit que le paramètre d'atténuation a une valeur qui reste proche de zéro aux alentours des fréquences En général le paramètre d'atténuation pourra être n'importe quelle fonction positive et normalisée à une valeur maximale de 1 (sans perte de généralité car il suffit d'une normalisation) avec un minimum (proche de 0) aux extrémités de [ki,k,±11 et un maximum unique à l'intérieur de l'intervalle [ki,k+1]. Dans une variante supplémentaire, le paramètre d'atténuation en dB est donné par : 2 x(k) _ 4 (k -k ) (k r kti)(Lis+d- k) si k e[k'k,±1] avec les conventions suivantes: 1(0 = -k1 et k1+1= K -k1. Dans ce cas, le paramètre d'atténuation est une fonction parabolique par morceaux, où les sommets de chaque parabole ont une amplitude de 1 et les valeurs sont nulles pour les raies k qui correspondent calculé pourra être saturée de sorte que: g (k) = {flux (golH (e12'kul, g imii) k = 0,...,K 72 (exactement) à la fréquence d'une des sinusoïdes. Un exemple pour ce paramètre d'atténuation est montré à la figure 10b pour les mêmes fréquences k, que précédemment. Dans un mode de réalisation avantageux, le gain g (k) est donné par: 2z(k) g (k) =10 20 où 2 est le niveau d'atténuation en dB désirée - on prend par exemple 2 =6 dB. Le bloc 310 effectue donc une classification (étape E310) du signal audiofréquence x(n). La classification sert à détecter les signaux qui sont visés par le post-traitement, essentiellement les signaux musicaux avec une structure harmonique ; ainsi sur les autres signaux, le post-traitement doit rester "transparent", en particulier pour les signaux de parole et les signaux transitoires (attaques d'instruments de musique par exemple). Les détails de la classification dépassent l'objet de l'invention décrite ici. On présente néanmoins plusieurs exemples de mise en oeuvre de classification. Dans le mode de réalisation principal, la classification comprend deux classes 15 possibles: "musique" et "autre". Cette classification est obtenue à partir de la recommendation UIT-T G.720.1 "Generic sound activity detector (GSAD)" avec les adaptations suivantes: o La norme G.720.1 est utilisée en bande élargie (à 16 kHz) ; l'algorithme GSAD fonctionne avec des trames de 10 ms et sans pré-exploration ou 20 "lookahead" en anglais. Il est appliqué au signal décodé sur 4 trames (soit 40 ms) afin de couvrir un support temporel incluant le signal analysé. o Si les 4 décisions obtenues dans la trame courante sont "musique", le bloc 310 classifie la trame courante comme "musique", sinon comme "autre". Dans une variante du mode de réalisation, la classification sera mise en oeuvre 25 comme dans l'article cité précédemment de Vaillancourt et al. Dans ce cas, le signal est par défaut supposé être un signal de musique, et le niveau d'atténuation maximale gn-'n est adapté en fonction d'un paramètre de variation d'énergie o-E calculé selon le principe de l'article de T. Vaillancourt et al. cité précédemment afin de quantifier le degré de variation de l'énergie spectrale dans le domaine FFT: o 30 6E = (E ar -i ar -E) t=-Nb où Ét-1 est une moyenne des écarts d'énergie entre trames adjacentes. Un seuillage var (adaptatif) est ensuite appliqué sur le paramètre o-E pour déterminer le niveau de stabilité du signal. Les détails du calcul de o-E ne sont pas repris ici, mais ils peuvent être trouvés dans l'article de T. Vaillancourt et al. 2 On suppose ici que la calcul de o-E conduit à un niveau d'atténuation maximale compris entre 0 et 12 dB, comme dans l'article de T. Vaillancourt et al.. Dans ce cas la valeur de est donnée par le niveau d'atténuation maximale fourni par la classification. In a variant of the embodiment thus described, the gain is calculated according to the sinusoidal model. The tonal components that are extracted and synthesized have the parameters (a1, k., 6e) with i E / 1, where / is the number of valid sinusoids (after elimination of invalid sinusoids that are not counted and after appropriate indexing) and k1 <k2 <<k1. Under these conditions we introduce an attenuation parameter in dB x (k), k = 0, ..., N / 2, such that: z (k) = sine Tc k-k. , with i such that kk, ± 1 ki 2 with the following conventions: 1 (0 = -k1 and k1 + 1 = K An example for this attenuation parameter is shown in Figure 10a for the following example with I = 6: ki = 0, ..., 6 = {5.25, 15.1, 35.5, 120, 180, 240} It can be seen that the attenuation parameter has a value that remains close to zero around the frequencies. attenuation can be any positive and normalized function at a maximum value of 1 (without loss of generality because it is sufficient for normalization) with a minimum (close to 0) at the ends of [ki, k, ± 11 and a unique maximum within the interval [ki, k + 1]. In a further variant, the attenuation parameter in dB is given by: 2 x (k) _ 4 (k -k) (kr kti) (Lis + d- k) if ke [k'k, ± 1] with the following conventions: 1 (0 = -k1 and k1 + 1 = K -k1) In this case, the attenuation parameter is a parabolic parcel function, where the vertices of each parable have a the value of 1 and the values are zero for the lines k that correspond computed can be saturated so that: g (k) = {flux (golH (e12'kul, g imii) k = 0, ..., K 72 ( exactly) at the frequency of one of the sinusoids. An example for this attenuation parameter is shown in FIG. 10b for the same frequencies k as before. In an advantageous embodiment, the gain g (k) is given by: 2z (k) g (k) = 10 where 2 is the attenuation level in dB desired - for example 2 = 6 dB. Block 310 thus performs a classification (step E310) of the audiofrequency signal x (n). The classification serves to detect the signals that are targeted by the post-processing, essentially the musical signals with a harmonic structure; thus on the other signals, the post-processing must remain "transparent", in particular for the speech signals and the transient signals (attacks of musical instruments for example). The details of the classification go beyond the object of the invention described here. Nevertheless, several examples of classification implementation are presented. In the main embodiment, the classification comprises two possible classes: "music" and "other". This classification is derived from ITU-T Recommendation G.720.1 "Generic sound activity detector (GSAD)" with the following adaptations: o The G.720.1 standard is used in broadband (at 16 kHz); the GSAD algorithm works with frames of 10 ms and without pre-exploration or 20 "lookahead" in English. It is applied to the decoded signal on 4 frames (ie 40 ms) in order to cover a temporal support including the signal analyzed. o If the 4 decisions obtained in the current frame are "music", block 310 classifies the current frame as "music", otherwise as "other". In a variant of the embodiment, the classification will be implemented as in the previously cited article by Vaillancourt et al. In this case, the signal is assumed by default to be a music signal, and the maximum attenuation level gn-'n is adapted according to a parameter of variation of energy oE calculated according to the principle of the article of T. Vaillancourt et al. cited previously in order to quantify the degree of variation of the spectral energy in the FFT domain: ## EQU1 ## where Et-1 is an average of the energy differences between frames adjacent. A var (adaptive) threshold is then applied to the o-E parameter to determine the signal stability level. The details of the o-E calculation are not repeated here, but they can be found in the article by T. Vaillancourt et al. 2 It is assumed here that the calculation of oE leads to a maximum attenuation level between 0 and 12 dB, as in the article by T. Vaillancourt et al. In this case the value of is given by the level of maximum attenuation provided by the classification.
Dans une autre variante du mode de réalisation, l'information de classification pourrait être disponible au décodeur en tant que paramètre multiplexé dans le train binaire. Le bloc 306 de la figure 3 effectue une étape de combinaison du résidu atténué et du signal issu du spectre des composantes tonales. Dans ce mode de réalisation, l'étape E306 recombine le spectre résiduel atténué et le spectre des sinusoïdes identifiées comme suit: T (k) = S (k)+ Rajk) , k = 0, ... , K 1 2 Le spectre du signal post-traité T (k) , k = 0, ... , K 12 , est étendu en T (k) , k = 0, ... , K -1 avec T (k) =T* (K - k) , k = K 1 2+1, , K -1 où *est le conjugué complexe. Pour obtenir le signal temporel t(m) le signal T (k) est transformé par le bloc 307 qui comprend une FFT inverse (étape E307) de longueur K-512, suivie d'une permutation circulaire de N/2 échantillons temporels vers la droite effectuée pour compenser le « recentrage de phase » lorsque celui-ci est appliqué à l'analyse, comme cela décrit plus haut comme mode de réalisation principal. Cela revient à écrire la Transformée de Fourier inverse ainsi :: 1 K-1 2z/c N) t(M)=-T(k).e K 2 , = ... K -1 K k=0 Dans une variante de l'invention où le recentrage de phase n'est pas appliqué à l'analyse, la transformée fréquence-temps (bloc 307) pour la synthèse consiste en une simple FFT inverse : 1 K-1 2z/c t(m) =-T(k).e K , K -1 K k=0 Dans les deux modes de réalisation décrits, la FFT inverse est calculée suivant la méthode décrite dans l'article de H.V. Sorensen et al.., intitulé "Real-valued fast Fourier transform algorithm," IEEE Trans. on Signal Processing, Vol.35, No.6, pp 849-863, 1987. La fenêtre de synthèse ws (m) est définie comme 0 m = 0, ... , D -1 (vs (m) = wola(m -D) wa(m) m = D , N -1' m = 0, ... , N -1 où l'on a introduit par commodité la quantité D = N - L - L01 d'échantillons ignorés et rendus nuls par le fenêtrage de synthèse, et où la fenêtre vola (111) = L+ Lola -1 d'addition- recouvrement (OLA pour Overlap-Add en anglais) est définie par: vola (m) = ( ( m = 0 , Lola -1 -1 1-cos -Tt-(m + 0 .5) = Lola - - - L -1 2 Lola // m= L, , L + Lola -1 1 1 ( ( 1+ cos -Tt-((m- L)+0.5) 2 \ Lola avec 1,01a =40 et L=320. Les fenêtreswoia (m) et ws (m) sont par ailleurs illustrées aux figures 6b et 6c respectivement. Comme illustré par la figure 11, la fenêtre de synthèse a vocation à traduire simultanément le redressement d'enveloppe temporelle et préparer le procédé d'addition- recouvrement. On définit alors le vecteur d'échantillons résultant de ce fenêtrage : tw(m) = ws(m)t(m) . En pratique, les D premiers échantillons n'ont pas besoin d'être calculés car nuls. Les Lola derniers échantillons, affectés par la pente décroissante de la fenêtre vola (in) , ne sont exploitables que pour la synthèse de la trame suivante, et sont stockés à cet effet dans un vecteur tsave (n) = t. (n + N - D), n = 0 , ..., Lola Pour la synthèse de la trame courante, on combine les échantillons ts("")(n) aPv, sauvegardés à la trame précédente (ou bien mis à zéro si le post-traitement n'a pas été appliqué à la trame précédente) et une portion du vecteur tw(m), de la façon suivante, achevant le procédé d'addition-recouvrement : It.(n + D) + t s('a'rvee") (n) n = 0, ..., Lola -1 On vérifie bien que compte-tenu du processus d'addition-recouvrement, les L échantillons de signal post-traité x p s (n) sont obtenus avec un retard de Lola échantillons par rapport à la trame courante de L échantillons considérée en entrée du post-traitement. Ainsi, dans le mode de réalisation décrit, le post-traitement induit un retard algorithmique supplémentaire de Lola = 40 échantillons, soit 2.5 ms. Le mode de réalisation principal repose sur une atténuation spectrale du résidu de modélisation sinusoïdale ; l'atténuation décrite précédemment correspond à une convolution x post (n) = t. ola (n + D) n = L , L -1 circulaire (multiplication du résidu par un gain dans le domaine de la transformée Fourier discrète). Or, il est connu de l'homme de l'art qu'une fonction de gain ayant une dynamique trop forte peut entrainer un résultat de convolution circulaire très différent d'une convolution linéaire. Dans une variante du mode de réalisation, un bourrage à zéro et une technique d'addition-recouvrement/mémorisation ("overlapp-add/save" en anglais) pourra être mise en oeuvre pour prendre en compte la longueur non nulle de la réponse impulsionnelle associée à la fonction de gain réalisant l'atténuation spectrale. En général cette variante occasionne un retard temporel supplémentaire. In another variant of the embodiment, the classification information could be available to the decoder as a multiplexed parameter in the bit stream. Block 306 of FIG. 3 performs a step of combining the attenuated residue and the signal originating from the spectrum of tonal components. In this embodiment, step E306 recombines the attenuated residual spectrum and the spectrum of sinusoids identified as follows: T (k) = S (k) + Rajk), k = 0, ..., K 1 2 The spectrum the post-processed signal T (k), k = 0, ..., K 12, is extended in T (k), k = 0, ..., K -1 with T (k) = T * (K - k), k = K 1 2 + 1,, K -1 where * is the complex conjugate. To obtain the time signal t (m) the signal T (k) is transformed by the block 307 which comprises an inverse FFT (step E307) of length K-512, followed by a circular permutation of N / 2 temporal samples to the right performed to compensate for the "phase recentering" when it is applied to the analysis, as described above as the main embodiment. This amounts to writing the inverse Fourier Transform as follows :: 1 K-1 2z / c N) t (M) = - T (k) .e K 2, = ... K -1 K k = 0 In a variant of the invention where the phase recentering is not applied to the analysis, the frequency-time transform (block 307) for the synthesis consists of a simple inverse FFT: 1 K-1 2z / ct (m) = - In the two described embodiments, the inverse FFT is calculated according to the method described in the HV article. Sorensen et al., Entitled "Real-valued fast Fourier transform algorithm," IEEE Trans. on Signal Processing, Vol.35, No.6, pp 849-863, 1987. The synthesis window ws (m) is defined as 0 m = 0, ..., D -1 (vs (m) = wola ( m -D) wa (m) m = D, N -1 'm = 0, ..., N -1 where the quantity D = N - L - L01 of introduced and ignored samples has been introduced for convenience null by the synthetic windowing, and where the overlap overlapping window (111) = L + Lola -1 (OLA for Overlap-Add) is defined by: vola (m) = ((m = 0, Lola -1 -1 1-cos -Tt- (m + 0 .5) = Lola - - - L -1 2 Lola // m = L,, L + Lola -1 1 1 ((1+ cos -Tt- ( (m-L) +0.5) 2 \ Lola with 1.01a = 40 and L = 320. The windowswoia (m) and ws (m) are further illustrated in Figures 6b and 6c respectively, as illustrated in Figure 11, the synthesis window is intended to simultaneously translate the temporal envelope rectification and to prepare the addition-overlay method, and the vector of samples resulting from this windowing is defined: tw (m) = ws (m) t (m In practice that the first D samples do not need to be calculated as null. The last Lola samples, affected by the decreasing slope of the window vola (in), can be used only for the synthesis of the following frame, and are stored for this purpose in a vector tsave (n) = t. (n + N - D), n = 0, ..., Lola For the synthesis of the current frame, we combine the samples ts ("") (n) aPv, saved to the previous frame (or else set to zero if the postprocessing has not been applied to the previous frame) and a portion of the vector tw (m), as follows, completing the overlap-addition process: It. (n + D) + ts ( 'a'rvee ") (n) n = 0, ..., Lola -1 It is verified that, in view of the addition-recovery process, the L post-processed signal samples xps (n) are obtained with a delay of Lola samples compared to the current frame of L samples considered input of the post-processing Thus, in the embodiment described, the post-processing induces an additional algorithmic delay of Lola = 40 samples, or 2.5 ms. The main embodiment is based on a spectral attenuation of the sinusoidal modeling residue, the attenuation described above corresponds to a convection. olution x post (n) = t ola (n + D) n = L, L -1 circular (multiplication of the residual by a gain in the domain of the discrete Fourier transform). However, it is known to those skilled in the art that a gain function having a too strong dynamic can cause a circular convolution result very different from a linear convolution. In one variant of the embodiment, a zero padding and an overlap-add / save technique may be implemented to take into account the non-zero length of the impulse response. associated with the gain function achieving the spectral attenuation. In general this variant causes an additional time delay.
Dans un deuxième mode de réalisation, les étapes d'obtention du résidu, d'atténuation et de combinaison du procédé de traitement tel que décrit en référence à la figure 3, peuvent être effectuées dans le domaine temporel. La figure 12 illustre ce procédé ainsi que le dispositif de traitement 1200 correspondant. Sur cette figure, les blocs 300, 301, 302, 303 et 310 restent identiques à ceux décrits précédemment en référence à la figure 3. Le signal modélisé en somme de sinus encore appelé spectre des composantes tonales (S(k)) est dans ce mode de réalisation d'abord restitué dans le domaine temporel (bloc 1201) par une étape E1201 de transformée inverse et son enveloppe temporelle redressée par un fenêtrage approprié, en laissant de côté la portion située sur la zone de recouvrement (les Lola derniers échantillons) pour le traitement de la trame suivante, et en combinant de façon appropriée la même portion sauvegardée à la trame précédente pour reconstituer le début de la trame (avec un retard Lola). Le résidu est alors calculé à l'étape E1202 par le bloc 1202 par simple soustraction entre le signal audiofréquence décodé (x(n)) retardé de Lda échantillons et le signal issu du spectre des composantes tonales (s(n)) après transformation en 1201. A ce résidu, est appliquée alors une atténuation spectrale (bloc 1203) par un filtrage temporel (étape E1203) dont le design des paramètres est piloté par le module de modélisation sinusoïdale (bloc 303) et/ou des paramètres décodés (p.decod.) à partir du train binaire et/ou le module de classification (bloc 310). In a second embodiment, the steps of obtaining the residue, attenuation and combination of the processing method as described with reference to Figure 3, can be performed in the time domain. Figure 12 illustrates this process as well as the corresponding processing device 1200. In this figure, the blocks 300, 301, 302, 303 and 310 remain identical to those described above with reference to FIG. 3. The signal modeled in sum of sine still called spectrum of the tonal components (S (k)) is in this first embodiment restored in the time domain (block 1201) by an inverse transform step E1201 and its time envelope rectified by an appropriate windowing, leaving aside the portion located on the overlap area (the last Lola samples) for processing the next frame, and suitably combining the same saved portion with the previous frame to reconstruct the start of the frame (with a Lola delay). The residue is then calculated in step E1202 by block 1202 by simple subtraction between the delayed decoded audio signal (x (n)) of Lda samples and the signal from the spectrum of the tonal components (s (n)) after transformation into 1201. To this residue, a spectral attenuation (block 1203) is then applied by temporal filtering (step E1203) whose parameter design is controlled by the sinusoidal modeling module (block 303) and / or decoded parameters (p. decod.) from the bit stream and / or the classification module (block 310).
L'étape de combinaison E1204 du résidu ainsi atténué (ratt(n)) et du signal temporel des composantes tonales (s(n)), est effectuée par le bloc 1204 pour obtenir le signal temporel traité (xpost(n)). De la même façon que le procédé décrit en référence à la figure 3, le traitement effectué sur le signal permet de réduire le bruit de codage qui pouvait subsister sur les signaux musicaux lors du décodage effectué par des décodeurs plus adaptés à des signaux de parole. Cette méthode permet donc d'obtenir des signaux à la fois de parole et de musique de meilleure qualité, tout en gardant les codeurs et décodeurs de parole existants. The step of combining E1204 of the thus attenuated residue (ratt (n)) and the temporal signal of the tonal components (s (n)) is performed by block 1204 to obtain the processed time signal (xpost (n)). In the same way as the method described with reference to FIG. 3, the processing carried out on the signal makes it possible to reduce the coding noise that could subsist on the musical signals during the decoding performed by decoders more adapted to speech signals. This method therefore provides both better speech and music signals, while keeping existing speech coders and decoders.
La figure 13 représente un exemple de réalisation matérielle d'un dispositif de traitement selon l'invention. Celui-ci peut faire partie intégrante d'un décodeur audiofréquence ou d'un équipement recevant des signaux audiofréquences décodés. Ce type de dispositif comporte un processeur PROC coopérant avec un bloc mémoire BM comportant une mémoire de stockage et/ou de travail MEM. Le bloc mémoire peut avantageusement comporter un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé de traitement au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes d'identification de composantes tonales dans le signal audiofréquence représenté dans le domaine fréquentiel, de calcul d'un spectre des composantes tonales identifiées à partir d'un modèle sinusoïdal, d'obtention d'un résidu par la différence entre le signal audiofréquence décodé et un signal issu du spectre des composantes tonales, d'atténuation spectrale du résidu et de combinaison du résidu atténué et du signal issu du spectre des composantes tonales. FIG. 13 represents an example of a hardware embodiment of a processing device according to the invention. This may be an integral part of an audio decoder or equipment receiving decoded audio signals. This type of device comprises a PROC processor cooperating with a memory block BM having a memory storage and / or work MEM. The memory block may advantageously comprise a computer program comprising code instructions for implementing the steps of the processing method in the sense of the invention, when these instructions are executed by the processor PROC, and in particular the identification steps of the processor. tonal components in the audio frequency signal represented in the frequency domain, calculating a spectrum of the tonal components identified from a sinusoidal model, obtaining a residual by the difference between the decoded audio-frequency signal and a signal from the spectrum of tonal components, spectral attenuation of the residue and combination of the attenuated residue and the signal from the spectrum of tonal components.
Typiquement, la description de la figure 3 ou de la figure 12 reprend les étapes d'un algorithme d'un tel programme informatique. Le programme informatique peut également être stocké sur un support mémoire lisible par un lecteur du dispositif ou téléchargeable dans l'espace mémoire de celui-ci. La mémoire MEM enregistre le motif P(k) utilisé dans le procédé selon un mode de réalisation de l'invention et de manière générale, toutes les données nécessaires à la mise en oeuvre du procédé. Un tel dispositif comporte un module d'entrée E apte à recevoir un signal audiofréquence (x(n)) et un module de sortie S apte à transmettre le signal traité xpost(n). Dans un mode possible de réalisation, le dispositif ainsi décrit peut également comporter les fonctions de décodage en plus des fonctions de traitement selon l'invention. Typically, the description of FIG. 3 or FIG. 12 shows the steps of an algorithm of such a computer program. The computer program can also be stored on a memory medium readable by a reader of the device or downloadable in the memory space thereof. The memory MEM stores the pattern P (k) used in the method according to one embodiment of the invention and generally, all the data necessary for the implementation of the method. Such a device comprises an input module E adapted to receive an audiofrequency signal (x (n)) and an output module S adapted to transmit the processed signal xpost (n). In a possible embodiment, the device thus described may also include the decoding functions in addition to the processing functions according to the invention.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1158521A FR2980620A1 (en) | 2011-09-23 | 2011-09-23 | Method for processing decoded audio frequency signal, e.g. coded voice signal including music, involves performing spectral attenuation of residue, and combining residue and attenuated signal from spectrum of tonal components |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1158521A FR2980620A1 (en) | 2011-09-23 | 2011-09-23 | Method for processing decoded audio frequency signal, e.g. coded voice signal including music, involves performing spectral attenuation of residue, and combining residue and attenuated signal from spectrum of tonal components |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2980620A1 true FR2980620A1 (en) | 2013-03-29 |
Family
ID=45422282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1158521A Withdrawn FR2980620A1 (en) | 2011-09-23 | 2011-09-23 | Method for processing decoded audio frequency signal, e.g. coded voice signal including music, involves performing spectral attenuation of residue, and combining residue and attenuated signal from spectrum of tonal components |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2980620A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1511011A2 (en) * | 2003-08-25 | 2005-03-02 | Microsoft Corporation | Method und apparatus for robust speech recognition |
US20050283361A1 (en) * | 2004-06-18 | 2005-12-22 | Kyoto University | Audio signal processing method, audio signal processing apparatus, audio signal processing system and computer program product |
EP1744305A2 (en) * | 2005-07-11 | 2007-01-17 | Samsung Electronics Co., Ltd. | Method and apparatus for noise reduction in sound signals |
-
2011
- 2011-09-23 FR FR1158521A patent/FR2980620A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1511011A2 (en) * | 2003-08-25 | 2005-03-02 | Microsoft Corporation | Method und apparatus for robust speech recognition |
US20050283361A1 (en) * | 2004-06-18 | 2005-12-22 | Kyoto University | Audio signal processing method, audio signal processing apparatus, audio signal processing system and computer program product |
EP1744305A2 (en) * | 2005-07-11 | 2007-01-17 | Samsung Electronics Co., Ltd. | Method and apparatus for noise reduction in sound signals |
Non-Patent Citations (2)
Title |
---|
HARDWICK J ET AL: "Speech enhancement using the dual excitation speech model", 1993 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, 1993. ICASSP-93; [PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING (ICASSP)], PISCATAWAY, NJ, USA, vol. 2, 27 April 1993 (1993-04-27), pages 367 - 370, XP010110470, ISBN: 978-0-7803-0946-3, DOI: 10.1109/ICASSP.1993.319314 * |
JULIUS O SMITH III AND XAVIER SERRA: "PARSHL: An Analysis/Synthesis Program for Non-Harmonic Sounds Based on a Sinusoidal Representation", PROCEEDINGS OF THE 1987 INTERNATIONAL COMPUTER MUSIC CONFERENCE, UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN, USA, AUGUST 23-26, 1987,, 1 August 1987 (1987-08-01), pages 290 - 297, XP009130237 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1989706B1 (en) | Device for perceptual weighting in audio encoding/decoding | |
EP0782128B1 (en) | Method of analysing by linear prediction an audio frequency signal, and its application to a method of coding and decoding an audio frequency signal | |
EP1905010B1 (en) | Hierarchical audio encoding/decoding | |
EP2489039B1 (en) | Optimized low-throughput parametric coding/decoding | |
EP2104936B1 (en) | Low-delay transform coding using weighting windows | |
EP2951813B1 (en) | Improved correction of frame loss when decoding a signal | |
EP1692689B1 (en) | Optimized multiple coding method | |
EP3053163B1 (en) | Resampling an audio signal for low-delay encoding/decoding | |
EP3175443A1 (en) | Determining a budget for lpd/fd transition frame encoding | |
WO2013093291A1 (en) | Method of detecting a predetermined frequency band in an audio data signal, detection device and computer program corresponding thereto | |
EP2652735B1 (en) | Improved encoding of an improvement stage in a hierarchical encoder | |
EP4487323A1 (en) | Optimised encoding and decoding of an audio signal using a neural network-based autoencoder | |
EP0989544A1 (en) | Device and method for filtering a speech signal, receiver and telephone communications system | |
FR2880724A1 (en) | OPTIMIZED CODING METHOD AND DEVICE BETWEEN TWO LONG-TERM PREDICTION MODELS | |
FR2980620A1 (en) | Method for processing decoded audio frequency signal, e.g. coded voice signal including music, involves performing spectral attenuation of residue, and combining residue and attenuated signal from spectrum of tonal components | |
EP1192619B1 (en) | Audio coding and decoding by interpolation | |
FR2990552A1 (en) | PROCESS FOR IMPROVING AUDIOFREQUENCY SIGNAL QUALITY | |
EP1192618B1 (en) | Audio coding with adaptive liftering | |
EP1192621B1 (en) | Audio encoding with harmonic components | |
FR2824432A1 (en) | METHOD FOR EXTRACTING PARAMETERS FROM AN AUDIO SIGNAL, AND ENCODER IMPLEMENTING SUCH A METHOD | |
EP1194923B1 (en) | Methods and device for audio analysis and synthesis | |
WO2002029786A1 (en) | Method and device for segmental coding of an audio signal | |
FR2773653A1 (en) | Input sound digital word decoding/coding device, especially for analyzing and compressing inputs for recording | |
FR2737360A1 (en) | Audio digital signal coding method of successive sample blocks - using spectral analysis to select vector dictionary for each sample block and allocating vector and scalar quantisation bits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20140530 |