FR2980009A1 - Calcul optimise d'une transformee de type mdct - Google Patents

Calcul optimise d'une transformee de type mdct Download PDF

Info

Publication number
FR2980009A1
FR2980009A1 FR1158046A FR1158046A FR2980009A1 FR 2980009 A1 FR2980009 A1 FR 2980009A1 FR 1158046 A FR1158046 A FR 1158046A FR 1158046 A FR1158046 A FR 1158046A FR 2980009 A1 FR2980009 A1 FR 2980009A1
Authority
FR
France
Prior art keywords
transform
mdct
matrix
spectral coefficients
processing
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.)
Pending
Application number
FR1158046A
Other languages
English (en)
Inventor
Balazs Kovesi
Gregory Pallone
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR1158046A priority Critical patent/FR2980009A1/fr
Publication of FR2980009A1 publication Critical patent/FR2980009A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Discrete Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

L'invention se rapporte à un procédé de calcul d'une transformée temps-fréquence de type MDCT avec fenêtre d'analyse de forme sinusoïdale, à partir d'un signal numérique par les étapes suivantes: - application (E201) au signal numérique, d'une transformée de Fourier avec fenêtre d'analyse rectangulaire; - traitement (E202) par sous-bande de fréquence selon une matrice de traitement prédéterminée, des coefficients spectraux issus de la transformée de Fourier pour obtenir les coefficients spectraux de la transformée de type MDCT. L'invention se rapporte également à un procédé de calcul d'une transformée inverse, à des procédés de codage et de décodage intégrant ces procédés de calcul, à des dispositifs de calcul mettant en oeuvre ces procédés de calcul.

Description

Calcul optimisé d'une transformée de type MDCT La présente invention se rapporte à des transformations temps-fréquence de signal numérique. Elle se rapporte plus particulièrement aux transformations de type MDCT (pour "Modified Discrete Cosine Transform" en anglais) utilisant des fenêtres d'analyse ou de synthèse de forme sinusoïdale. La transformée de type MDCT, notée dans la suite TMDCT, est une transformée de taille 2MxM (2M échantillons temporels en entrée fournissant M échantillons fréquentiels en sortie) très utilisée dans le codage audio perceptuel par exemple dans les codages normalisés MPEG AAC, ITU-T G.722.1, ITU-T G.729.1, ITU-T G.718, ITU-T G.719, ITU-T G.729.1 E, ITU- T G.718 B, ITU-T G.711.1, ITU-T G.711.1 D, ITU-T G.722 B, 3GPP-EVS, etc ... Il existe plusieurs manières de définir une transformation MDCT, dont les 2 plus utilisées sont comparables en termes de performance. On peut également inclure dans le terme « transformée », la transformée en elle-même et le fenêtrage associé, comme c'est le cas dans l'exemple suivant. Pour un signal d'entrée x(n), la transformée utilisée par exemple dans le codeur normalisé ITU-T G.722.1 est définie comme : 2M-1 2 r. z-(n+ 21g A cos r. 0.5) x(n) mdctl(m) = 1 - sin 0.5) -Tt- (n --M +0.5)(m+ ) n=0 M ) M 2 où 0 n < 2M et 0 m < M. La transformée utilisée par exemple dans les codeurs normalisé MPEG est définie comme : 2M-1 / z 71- M 2 mdct2(m) = n=0 - sin M +0.5) cos + 0.5)(m+ 0.5) x(n) (n - (n+- 2M M 2 On remarque que la différence se situe au niveau du signe pour le terme M/2 dans la partie cosinus. sin -(,n+ 0.5) sin 2 71- z ( (n+0.5) La partie M 2M ou 2M ) s'assimile à un fenêtrage temporel du signal d'entrée par une fenêtre sinusoïdale. Ce fenêtrage d'analyse peut être vu comme une matrice diagonale WMDCT, appliquée avant la transformation. Le spectre XmixT(T) est obtenu à partir du vecteur colonne temporel x(T) de taille 2M (composé de 2 trames successives de taille M : la trame numéro T-1 et la trame numéro T), par la multiplication matricielle suivante: XmDc-r(T) = TMDCT - WMDCT - X(T) où l'indice (T) est le numéro de la dernière trame (deuxième moitié de x(T)). La figure la représente ainsi le bloc diagramme correspondant à l'application de cette transformée sur le signal x(T), le premier bloc 101 étant un module de fenêtrage WMDCT et le deuxième bloc 102, un module de transformation TmD0--30 Ce spectre est généralement modifié par quantification lors d'un codage par exemple, pour donner le spectre Ympo-(T) qui fournit un signal temporel y(T) par l'opération matricielle suivante comme illustré en référence à la figure lb: ycn = iwmpo- - Ii-MDCT - Ympo-cn avec iWmpo- la fenêtre de synthèse mis en oeuvre par le bloc 112, et iTMDCT la transformée MDCT inverse mis en oeuvre par le bloc 111. Ce signal y(T) de taille 2M ne correspond qu'en partie au signal d'entrée x(T). Pour obtenir la version décodée de la première moitié du signal x(T) (c'est-à-dire la trame numéro T-1) il faut additionner la première moitié du signal y(T) avec la deuxième moitié du signal Y(1-- 1 0 1) de la trame précédente. Communément on appelle cette dernière opération « addition- recouvrement » ou « overlap-add » en anglais. A noter, que le signal y(T-1) de la trame précédente a été calculé à partir d'un signal x(T-1) (composé des trames numéro T-1 et numéro T-2) qui possède donc 50% de recouvrement avec le signal x(T) (la trame numéro T1). 15 La fenêtre d'analyse WMDCT (et de synthèse iWMDCT) utilisée classiquement dans les méthodes de l'état de l'art est une fenêtre de forme sinusoïdale (c'est le cas dans toutes les normes mentionnées plus haut), bien que d'autres fenêtres puissent être choisies (en général pour réduire le retard du codage au détriment de la qualité). En effet, la fenêtre de forme sinusoïdale offre un bon compromis de résolution temps-fréquence, et respecte les conditions 20 de reconstruction parfaite de la MDCT. De nombreux algorithmes rapides de calcul de transformée de type MDCT existent. Ces méthodes sont valables quelle que soit la fenêtre d'analyse choisie. Elles utilisent généralement un calcul central à base de FFT (pour "Fast Fourier Transform" en anglais), mais nécessitent cependant de faire des calculs intermédiaires demandant de l'espace 25 mémoire pour une efficacité accrue. A noter que cette FFT centrale est calculée sur les signaux intermédiaires, le résultat de cette FFT n'est donc pas utilisable pour un autre traitement comme par exemple le calcul de courbe de masquage. Par exemple dans l'implémentation de la transformée MDCT faite dans la norme ITU G.729.1 et G.729.1 E, avec des trames de M=160 échantillons (donc une transformée MDCT 30 de 320 échantillons), 640 constantes sont stockées, principalement pour accélérer les calculs. A ce chiffre il faut ajouter également les 382 constantes utilisées pour accélérer la FFT complexe centrale spécifique à cette taille de MDCT. Au totale 1022 constantes (2044 octets en virgule fixe ou 4088 octets en virgule flottante simple précision) sont stockées, et servent uniquement pour le calcul de la transformée MDCT. 35 De plus, certains traitements ultérieurs d'analyse du signal ou des composantes spectrales viennent encore augmenter la complexité des dispositifs de codage ou autres dispositifs qui implémentent ces transformées. Par exemple le calcul d'une courbe de masquage nécessite une nouvelle FFT réelle sur le signal à coder, de taille différente de celle de la FFT centrale de la transformée MDCT. La PROM (Program ROM) requise pour les normes mentionnées est de l'ordre de 30 instructions et 10 initialisations de pointeur sans compter le calcul de FFT.
Il existe donc un besoin de réduire la complexité de calcul d'une transformée de type MDCT et de restreindre l'espace mémoire nécessaire pour l'implémentation de ce type de transformée. La présente invention vient améliorer la situation.
Elle propose à cet effet, un procédé de calcul d'une transformée temps-fréquence de type MDCT avec fenêtre d'analyse de forme sinusoïdale, à partir d'un signal numérique. Ce procédé est tel qu'il comporte les étapes suivantes: application au signal numérique, d'une transformée de Fourier avec fenêtre d'analyse rectangulaire; traitement par sous-bande de fréquence selon une matrice de traitement prédéterminée, des coefficients spectraux issus de la transformée de Fourier pour obtenir les coefficients spectraux de la transformée de type MDCT. Ainsi, le passage par une transformation de Fourier avec fenêtre d'analyse rectangulaire (fenêtre composée uniquement de zéros et de uns ne nécessitant pas de calcul supplémentaire), à appliquer au signal numérique, contrairement aux méthodes de l'état de l'art, permet de réduire en complexité le calcul de la transformée MDCT désirée et de restreindre les données à stocker en mémoire. Les coefficients MDCT obtenus suite à ce procédé correspondent précisément aux coefficients qui auraient pu être obtenus par une méthode classique de transformation MDCT avec fenêtrage sinusoïdal mais avec une complexité réduite et un espace mémoire restreint. De plus, le calcul de la transformée de Fourier peut être réutilisé à d'autres fins, par exemple pour analyser le signal et détecter un spectre creux ou encore calculer une courbe de masquage. Ceci ne rajoute donc pas de complexité supplémentaire, contrairement à l'état de l'art où il faut calculer à la fois une transformée MDCT et une transformée de Fourier.
Les mêmes avantages se retrouvent pour le calcul d'une transformée inverse selon le procédé de calcul d'une transformée inverse temps-fréquence de type MDCT avec fenêtre de synthèse de forme sinusoïdale. Le procédé est tel qu'il comporte les étapes suivantes: traitement par sous-bande de fréquence selon une matrice de traitement prédéterminée, des coefficients spectraux d'une transformée de type MDCT; application d'une transformée de Fourier inverse avec fenêtre de synthèse rectangulaire pour obtenir un signal numérique.
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 des procédés définis ci-dessus. Dans un mode de réalisation avantageux, seule une partie des termes non nuls de la matrice de traitement est stockée en mémoire. La matrice prédéterminée comporte un grand nombre de termes nuls. Les termes non nuls de cette matrice sont concentrés sur deux diagonales. Seuls les termes non nuls sont donc à stocker pour mettre en oeuvre le procédé de calcul selon l'invention. De plus, la matrice de traitement prédéterminée respecte notamment une propriété de symétrie hermitienne et de symétrie selon l'axe du milieu des lignes de la matrice. Cette symétrie permet de ne stocker qu'un nombre réduit de termes de cette matrice de traitement , les termes non nuls qui ne sont pas stockés, sont déduits des termes non nuls stockés, par symétrie, ce qui diminue ainsi d'autant plus à la fois la complexité du calcul de cette transformée et l'espace mémoire requis pour le stockage des coefficients.
Dans un mode particulier de réalisation, la transformée de type MDCT est une transformée de type MPEG ou de type MLT. La matrice de traitement pour ces types de MDCT respectent aussi des propriétés de symétrie qui permettent de ne stocker qu'un nombre restreints de termes. Cette liste de type de transformée n'est pas exhaustive et d'autres transformées peuvent être prévues pour mettre en oeuvre l'invention. Dans une application possible, le calcul de la transformée s'intègre dans un procédé de codage utilisant un traitement par transformée obtenu conformément au procédé de calcul de transformée tel que décrit. De même, le calcul de la transformée inverse s'intègre dans un procédé de décodage utilisant un traitement par transformée inverse obtenu conformément au procédé de calcul de transformée inverse tel que décrit. La présente invention vise également un dispositif de calcul d'une transformée temps-fréquence de type MDCT avec fenêtre d'analyse de forme sinusoïdale, à partir d'un signal numérique. Le dispositif est tel qu'il comporte: un module d'application au signal numérique, d'une transformée de Fourier avec fenêtre d'analyse rectangulaire; un module de traitement par sous-bande de fréquence selon une matrice de traitement prédéterminée, des coefficients spectraux issus de la transformée de Fourier pour obtenir les coefficients spectraux de la transformée de type MDCT.
Ce dispositif présente les mêmes avantages que le procédé décrit précédemment, qu'il met en oeuvre. Elle vise également un codeur comprenant un dispositif de calcul d'une transformée et mettant en oeuvre le procédé de codage intégrant le calcul de la transformée.
La présente invention vise également un dispositif de calcul d'une transformée inverse temps-fréquence de type MDCT avec fenêtre de synthèse de forme sinusoïdale. Le dispositif est tel qu'il comporte: un module de traitement par sous-bande de fréquence selon une matrice de traitement prédéterminée, des coefficients spectraux d'une transformée de type MDCT; un module d'application d'une transformée de Fourier inverse avec fenêtre de synthèse rectangulaire pour obtenir un signal numérique. Ce dispositif présente les mêmes avantages que le procédé décrit précédemment, qu'il met en oeuvre. Elle vise également un décodeur comprenant un dispositif de calcul d'une transformée inverse mettant en oeuvre le procédé de décodage intégrant le calcul de la transformée inverse. L'invention vise un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé de calcul d'une transformée ou d'une transformée inverse 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 calcul d'une transformée ou d'une transformée inverse, éventuellement amovible, mémorisant un programme informatique mettant en oeuvre un procédé de calcul d'une transformée ou d'une transformée inverse 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 la représente sous forme de bloc diagramme, une méthode classique décrite précédemment, de calcul d'une transformée temps fréquence de type MDCT selon l'état de l'art; la figure lb représente sous forme de bloc diagramme, une méthode classique décrite précédemment, de calcul d'une transformée temps fréquence inverse de type MDCT selon l'état de l'art; la figure 2a représente sous forme d'organigramme le procédé de calcul d'une transformée de type MDCT selon un mode de réalisation de l'invention; la figure 2b représente sous forme d'organigramme le procédé de calcul d'une transformée inverse de type MDCT selon un mode de réalisation de l'invention; la figure 3 représente un codeur intégrant un dispositif de calcul d'une transformée de type MDCT selon un mode de réalisation de l'invention; la figure 4 représente un décodeur intégrant un dispositif de calcul d'une transformée inverse de type MDCT selon un mode de réalisation de l'invention; La figure 5 représente une matrice diagonale correspondant à un fenêtrage d'analyse de forme sinusoïdale pour le calcul de la matrice de traitement selon un mode de réalisation de l'invention; Les figures 6a et 6b illustrent respectivement une représentation d'un exemple de matrice de traitement pour le procédé de calcul d'une transformée et pour le procédé de calcul d'une transformée inverse selon l'invention;et La figure 7 représente un exemple de réalisation matérielle des dispositifs de calcul d'une transformée et de calcul d'une transformée inverse selon un mode de réalisation de l'invention.
La figure 2a illustre les modules d'un dispositif de calcul d'une transformée de type MDCT selon l'invention ainsi que les étapes mis en oeuvre par le procédé de calcul d'une transformée MDCT. A partir d'un signal numérique x(T), le module 201 applique une étape E201 de transformée FFT avec fenêtre rectangulaire au signal pour donner des coefficients spectraux FFT XFFr(T). Ces coefficients spectraux sont ensuite traités en E202 par une matrice prédéterminée de traitement par sous-bande de fréquence, par le module de traitement 202 pour donner des coefficients spectraux MDCT XmixT(T) correspondant aux termes spectraux d'une transformée MDCT avec fenêtre de forme sinusoïdale.
L'équation suivante est ainsi respectée: TmDcT - WMDCT = F- TFFT - WFFT (1) avec F la matrice de traitement en sous-bande de dimension Mx2M, WFFr-Id la fenêtre identité ou fenêtre rectangle, et WMDCT la matrice diagonale correspondant à la fenêtre sinus. Cette matrice diagonale de taille 2Mx2M est représentée en figure 5. On peut voir que les plus fortes valeurs des termes de cette matrice sont au milieu de cette diagonale. On remarque que la matrice résultante G de l'équation (1) (G-Trapu - WMDCT = F. TFFr) est une matrice à valeurs réelles car XmixT(T) = G. x(T) et les coefficients spectraux MDCT XmixT(T) et le signal numérique x(T) sont réels. Les matrices F et TFFr doivent aussi respecter cette propriété. Ainsi, sachant que TFFr est une matrice à symétrie hermitienne (propriété intrinsèque de la transformée de Fourier selon laquelle une ligne de TFFr à la fréquence k1 est le complexe conjugué de la ligne de TFFr à la fréquence -k1, qui se trouve en 2M-k1 dans la matrice TFFr: TFFT (2M-k1,n) = TFFT (k1,n)* pour 1 k1 < M), alors F doit être également une matrice à symétrie hermitienne (propriété selon laquelle une colonne de F à la fréquence k1 est le complexe conjugué de la colonne de F à la fréquence -k1, qui se trouve en 2M-k1 dans la matrice F: F(k2,2M-k1) = F(k2,k1)* pour 1 k1 < M). On déduit la matrice F de traitement par multiplication à droite par la FFT inverse (avec iWFrr =WFFr =Id): TmixT . WMDCT iWFFT . iTFFT = F. TFFT - WFFT. iWFFT - iTFFT Soit F = TMDCT - WMDCT . iTFFT Ainsi la matrice de traitement F est obtenue par le produit de trois matrices connues : - La matrice de transformée MDCT TMDCT, définie par : O TMDCT (k2, n) = \II M2 cos [(k2 + 71)(n + ''''12 ) 7,1 - la matrice de fenêtrage symétrique WMDCT f représentée en figure 5, et définie par : o WMDCT (n) = diag [sin (2M 2(n + 1))) - La matrice de transformée de Fourier inverse iTFFr, définie par : kl -71 O iT (lel n) FFT - = -2Mc 2M Avec - n l'index temporel, 0 n < 2M - k1 l'index fréquentiel de la FFT, 0 k1 < 2M - k2 l'index fréquentiel de la MDCT, 0 k2 < M - diag la transformation d'un vecteur sous forme d'une matrice diagonale En d'autres termes, la matrice de traitement F peut également s'exprimer selon la formule suivante: 2M-1) n-] F(k2,k1) = 1 cos [ 1 M + 1 (k2 + (n + m sin 2m (n + 7)) e"2m' pour 0 k1 < 2M n=0 et 0 < k2 < M Cette matrice est à symétrie hermitienne, de par la symétrie hermitienne de la matrice iTFFr. Soit k1 appartenant à 0 k1 < 2M l'indice fréquentiel de la FFT (indice de colonne), soit k2 appartenant à 0 k2 < M l'indice fréquentiel de la MDCT (indice de ligne), la symétrie hermitienne s'exprime alors de la façon suivante: F(k2,2M-k1) = F(k2,k1)* pour 1 k1 < M , 0 k2 < M avec * indiquant le complexe conjugué. La matrice F étant à symétrie hermitienne, alors on peut déduire la moitié droite (k1>M) de la matrice à partir de sa moitié gauche. D'autre part, et pour les mêmes raisons, on peut montrer que cette partie droite n'est pas utile dans le calcul de la multiplication par F, car on peut prendre en compte uniquement les fréquences positives (0 k1 M). En effet, soit un coefficient en sous-bande complexe f=Re(f)+j.Im(f) appliqué à un coefficient spectral X = Re(X)+j.Im(X), alors la somme des produits de ces coefficients et de leurs transposées donne le résultat r suivant : r = f.X + f*.X* = 2Re(f)Re(X) - 2Im(f)Im(X)= 2Re(f.X) (2) On montre ainsi qu'il n'est pas utile de prendre en compte dans le calcul les fréquences négatives des spectres, ni la partie droite de la matrice de traitement en sous-bandes, car il s'agit d'une information redondante.35 Par observation, on s'aperçoit que la matrice F, complexe, de dimensions Mx2M est relativement creuse (seuls 3 éléments sont non nuls dans la première et dans la dernière ligne et 4 éléments par ligne sont non nuls dans les autres lignes). En effet, dans la moitié gauche de la matrice, seules les diagonales 0 et 1 sont non nulles. En d'autres termes, la moitié gauche de la matrice F possède la propriété suivante: F(k2,k1) # 0 si k2 = k1 pour 0 < k1 < M F(k2,k1) # 0 si k2 = k1 - 1 pour 0 < k1 < M F(k2, k1) = 0 sinon Sur la figure 6a, on peut observer la valeur absolue des éléments de cette matrice F de traitement. On s'aperçoit également que pour toutes les valeurs non nulles à l'exclusion de la fréquence nulle et de Nyquist (k1=0 et k1=M, où le module est égal à 71, le module est identique et égal à 0.5, et dans les diagonales la phase s'incrémente le long des fréquences k1 de la valeur constante, identique pour les deux diagonales, par exemple pour la taille M=160, cette constante vaut -1.5806, et l'incrémentation se fait à partir de la valeur 2.3464 pour la diagonale 0, et à partir de la valeur 0.7756 pour la diagonale 1. D'autre part, on peut également observer différentes symétries qui peuvent varier en fonction de la transformée MDCT utilisée. Pour un type de transformée MDCT utilisée par exemple dans le codeur TDAC (pour "rime Aliasing Audio Codec" en anglais) ou dans les codeurs MPEG, d'autres symétries apparaissent comme celle selon l'axe k2=M/2 sur la diagonale. Cette symétrie s'exprime de la façon suivante: F(M-k2, M-k1) = F(k2, k1)* pour 1 k2 < M; k1=k2 et aussi : F(k2-1,k1) = -j.F(k2, k1)) pour 1 k2 < M; k1=k2. Ainsi, la matrice de traitement prédéterminée F est de la forme suivante que l'on nommera matrice 1: 7R I 0 B-Aj A + Bj 0 0 0 0 0 0 0 0 0 0 0 B + Aj \ A - Bj \ D - Cj 0 0 0 0 0 0 0 0 ... 0 D + Cj 0 0 C+Dj F - Ej 0 0 0 0 0 0 0 ... F + Ej C - Dj 0 0 0 0 E + Fj 0 0 0 0 0 0 0 ... E - Fj 0 0 ... 0 0 0 J+ Kj M - Lj 0 0 0 0 0 0 0 0 0 0 0 0 0 L + Mj -Nj 0 0 0 0 0 0 0 0 0 0 0 0 0 N -M - Lj 0 0 0 0 0 0 0 0 0 0 0 0 0 L - Mj -K -Jj 0 0 0 0 0 0 ... ... ... 0 0 0 0 0 0 E - Fj -D - Cj 0 0 0 0 0 0 , 0 0 0 0 0 0 0 C-Dj -B - Aj 0 -B + Aj 0 0 0 , \O 0 0 0 0 0 0 0 A - Bj -R A + Bj 0 0 0 / Cette même matrice peut s'exprimer aussi de la manière suivante (matrice 1'), en notant les nombre complexes a=A+Bj, b=C+Dj, R et N étant des nombres réels: 7R -ja 0 0 0 0 0 0 0 0 0 ... 0 0 (-ja)*\ O a -jb 00 0 0 0 0 00...0(-jb)* a* \ 00 b -jc 0 0 0 0 0 00...(-jc)* b* 0 0 0 0 c 0 0 0 0 000 0 0 ... 000 /-jm0 0 0 0 00---0 0 0 0000m-jNO 0 0 00---0 0 0 0000 0 N -jm* 0 000 ---0 0 0 00000 0 m*-11*0 00---0 0 0 0 0 0 0 0 0 c* -jb* 0 00...0 0 0 10000 0 0 0 b* -ja* 0 ja ... 0 0 0, \()000 0 0 0 0 a* -R a ... 0 0 0/ A noter la propriété du complexe conjugué : (j.x)* = -j.(x*) Ainsi, du fait du grand nombre de 0 de cette matrice et des propriétés de symétrie qu'elle respecte, comme mentionné plus haut, seules M+1 données réelles (A, B, C, D, E, F, ..., J, K, L, M, N et R) sont à stocker en mémoire pour mémoriser cette matrice F de traitement. A noter que dans la représentation complexe « module-phase » les besoins en ROM peuvent être encore réduits : il suffit de stocker les deux modules (71 et 1/2), les deux phases initiales et l'incrément de phase des deux diagonales, donc 5 valeurs en tout, indépendamment de la taille de la transformée. Ensuite les valeurs A, B, C, D, E, F, J, K, L, M, N et R peuvent être retrouvées en transformant la représentation « module-phase » en représentation « réel-imaginaire ». L'inconvénient de cette variante est qu'elle nécessite plus de calcul pour obtenir le spectre MDCT. Dans un mode de réalisation particulier où la transformée MDCT est une transformée de type MLT (pour "Modulated Lapped Transform" en anglais), qui est une forme de transformée MDCT utilisée dans le codeur G.722.1 par exemple, la matrice F est construite avec les mêmes valeurs ( A, B, C, D, E, F, J, K, L, M, N et R) mais avec des signes et symétries différentes. Celles-ci sont les suivantes: F(M-k2, M-k1) = -F(k2, k1)* pour 1 k2 < M; k1=k2 et F(k2,k1) = -j.F(k2-1, k1)) pour 1 k2 < M; k1=k2. Dans ce cas de réalisation, la matrice a la forme suivante (matrice 2): 10 7- R A+Bj 0 0 0 0 0 0 0 0 0 0 0 A - Bj I 0 B - Aj -C - Dj 0 0 0 0 0 0 0 0 ... 0-C+Dj B + Aj 0 0 -D + Cj E + Fj 0 0 0 0 0 0 0 ... E - Fj -D - Cj 0 0 0 0 F - Ej 0 0 0 0 0 0 0 ... F + Ej 0 0 ... 0 0 0 -K +Jj L+Mj 0 0 0 0 0 0 0 0 0 0 0 0 0 M - Lj N 0 0 0 0 0 0 0 0 0 0 0 0 0 -Nj L- Mj 0 0 0 0 0 0 0 0 0 0 0 0 0 -M - Lj -I + Kj 0 0 0 0 0 0 ... ... 0 0 0 0 0 0 -F - Ej -C + Dj 0 0 0 0 0 0 ,0 0 0 0 0 0 0 D + Cj A - Bj 0 A + Bj 0 0 0, \O 0 0 0 0 0 0 0 -B - Aj -R -B + Aj 0 0 0/ Soit en exprimant en nombre complexe, la matrice devient (matrice 2'): R 00 000 000 0000 0000 0000 a -ja 100000 0 0 c -jc 0 0 0 0 0 0 0 0 ... 0 N -jN 04m* 0 0 000---0 ......... a* I o 0 \00000 _fi m 0 0-jc*-b*0 0 0 000---(4c)*0 00--- \ 0 0 0 -jm 0 0 0 000 0 0 000---0 00--- (4a)* \ 0 -b 0 0 0 000--- 0 0 000---0 00--- 0 jb 0 m* 0 0 ............... --- 0 0 0 0 0 1* 0 0 (-b)* 0 0 jb* a* -R c* (jb)* 0 0 0 4a* 0 0 0 0 0 0 0, 0 0 0 / 0 0 a --- 0 0 ja "' 0 0 Cette matrice de traitement prédéterminée (ou seulement les éléments non redondants de cette matrice) est stockée en mémoire pour une utilisation dans le calcul de la transformée de type MDCT avec fenêtre d'analyse de forme sinusoïdale. Ce calcul s'effectue donc selon les étapes d'application au signal numérique, d'une transformée de Fourier sur un signal d'entrée réel avec fenêtre d'analyse rectangulaire (FFT) et de traitement par sous- bande de fréquence selon la matrice de traitement prédéterminée, des coefficients spectraux issus de la transformée de Fourier pour obtenir les coefficients spectraux de la transformée de type MDCT. On remarque dans les deux formes de matrice décrites ci-dessus que la partie droite de la matrice F est le complexe conjugué de la partie gauche. Comme cette matrice de traitement s'applique selon le procédé de l'invention, à une matrice qui comporte elle aussi une symétrie hermitienne (la FFT du signal), alors chaque composante spectrale MDCT est la somme de 4 multiplications et de 3 additions, soit 4 Multiplication-Accumulation (MAC). Prenons l'exemple de la transformée MDCT MPEG.
En notant s(0) = c(0) = F(0,0) s(k) = 2Re(F(k, k)) ; 1 k M/2 c(k) 2Im(F(k, k)) ; 1 k M/2 alors le calcul des termes spectraux de la transformée MDCT s'obtiennent de la manière suivante: mdct2(k)=Re(XFFr(k))s(k) - Im(XFFr(k))c(k) + Re(XFFr(k+1))c(k+1) + Im(XFFr(k+1))s(k+1) pour 0 k < M/2 et mdct2(k)= Re(XFFr(k))s(M +1-k) + Im(XFFr(k))c(M +1-k) - Re(XFFr(k+1))c(M-k) + Im(XFFr(k+1))s(M-k) pour M/2 k < M Pour la transformée MLT utilisée par exemple dans le codeur normalisé G.722.1, on note : s(0) F(0,0) c(0) - -s(0) s(k) = 2Re(F(k, k)) ; 1 k M/2 c(k) = 2Im(F(k, k)) ; 1 k M/2 alors, le calcul des termes spectraux de la transformée MDCT s'obtiennent de la manière suivante: mdct2(k)=Re(XFF7(k))s(k) - Im(XFFr(k))c(k) - Re(XFFr(k+1))c(k+1) - Im(XFFr(k+1))s(k+1) pour 0 k < M/2 et mdct2(k)=-Re(XFFr(k))s(M+1-k) - Im(XFFr(k))c(M+ 1-k) - Re(XFFr(k+1))c(M-k) + Im(XFFr(k+1))s(M-k) pour M/2 k < M Ainsi, non seulement il y a peu de coefficients à stocker pour former la matrice de traitement et donc peu de besoin en mémoire mais en plus, les calculs effectués pour obtenir les coefficients spectraux des transformées MDCT sont réduits. La complexité de calcul est donc restreinte.
Dans un mode de réalisation particulier, qui est un bon compromis entre complexité de calcul, besoin en espace mémoire de données et besoin en espace mémoire de programme, le calcul de cette transformée MDCT MPEG, dans un exemple d'implémentation logicielle en langage C peut s'exprimer de la façon suivante pour une taille 2M-320, avec s et c de taille 81 (cas de data ROM réduite): rfft(x, Xr, Xi, 320); /*fonction FFT réelle de 320 points*/ for(i=0; i < 80; i++) { Y[i] = Xr[i]*s[i] - Xi[i]*c[i] + Xr[i+1]*c[i+1] + Xi[i+1]*s[i+1]; Y[i+80] = Xr[i+80]*s[80-i] + Xi[i+80]*c[80-i] - Xr[i+81]*c[79- + Xi[i+81]*s[79-i]; 1 Avec - x les échantillons temporels du signal d'entrée réel - Xr les coefficients FFT réels - Xi les coefficients FFT imaginaires - rfft la fonction de FFT qui permet de convertir les échantillons temporels réels en coefficients fréquentiels complexes FFT. - Y les coefficients MDCT (donc réels) - s les coefficients stockés en ROM, s(k) = 2Re(F(k, k)) ; 1 k M/2 - c les coefficients stockés en ROM, c(k) = 2Im(F(k, k)) ; 1 k M/2 On peut se référer à l'équation (2) et à la symétrie pour comprendre ce programme. Une FFT est effectuée sur les échantillons temporels du signal d'entrée.
Ensuite, une boucle sur M/2 points est effectuée, dans laquelle : L'expression Xr[i]s[i] - Xi[i]c[i], correspond à l'équation (2) pour la diagonale 0, l'expression Xr[i+1]c[i+1] + Xi[i+1]s[i+1] correspond à l'équation (2) pour la diagonale 1. La deuxième ligne de la boucle traduit la symétrie obtenue en prenant le complexe conjugué de la ligne précédente.
Avec cette implémentation, d'un point de vue PROM, en dehors du calcul de la FFT, le calcul des coefficients MDCT nécessite le stockage de 17 instructions (1 opération pour la boucle "for", 6 additions/soustractions, 8 multiplications, 2 chargements de mémoire). A noter que les 6 additions/soustractions et 8 multiplications peuvent être remplacées par 8 opérations MAC (Multiplication-Accumulation) sur un processeur de type DSP (pour "Digital Signal processor" en anglais). La mémoire programmable de type PROM peut être encore réduite à 9 opérations (1 opération "for", 3 additions/soustractions, 4 multiplications, 1 chargement de mémoire) en augmentant la ROM (en doublant la taille des tableaux, sans profiter de la symétrie de ces tableaux). Dans cette variante s2 et c2 sont de taille 161 : for(i=0; i < 160; i++) Y[i] = Xr[i]*s2[i] - Xi[i]*c2[i] + Xr[i+1]*c2[i+1] + Xi[i+1]*s2[i+1]; A complexité équivalente par rapport au mode de réalisation précédent, ce mode de réalisation offre un autre compromis intéressant en se plaçant dans le plan PROM/ROM.
Le nombre d'instructions à stocker est donc restreint par rapport au nombre d'instructions dans l'état de l'art.
De plus, le calcul de la FFT appliqué au signal numérique réel étant fait avec une fenêtre rectangulaire (fenêtre identité, qui ne nécessite en soi aucun calcul), ce calcul est simple à mettre en oeuvre. Le résultat de ce calcul de FFT peut être réutilisé pour d'autres fonctions que le calcul d'une transformée à des fins de codage, par exemple pour effectuer une analyse du signal numérique et calculer une courbe de masquage. Ainsi la même opération est exploitée pour deux actions différentes alors que dans l'état de l'art, à la fois le calcul de la transformée et le calcul d'une FFT sont effectués en parallèle lorsqu'une analyse du signal numérique est nécessaire. La complexité dans ce cas de figure est alors encore restreinte par le procédé selon l'invention. Ce calcul de transformée peut typiquement s'appliquer au codage de signal numérique. Dans un exemple de réalisation, un codeur de type G.729.1 est illustré en référence à la figure 3. Il comporte des modules MDCT mettant en oeuvre le procédé de calcul d'une transformée tel que décrit en référence à la figure 2a. Ainsi, dans cet exemple de réalisation, le signal d'entrée s(n) est d'abord décomposé en deux sous-bandes adjacentes par filtrage miroir QMF (pour "Quadrature Mirror Filter"). La première sous-bande ou sous-bande basse (de 0 à 4000Hz) est obtenue par le filtrage passe-bas L en 300 et décimation en 301 et la deuxième sous-bande ou bande haute (de 4000 à 8000 Hz) par filtrage passe-haut H en 302 et décimation en 303. La deuxième sous-bande ou bande haute est d'abord dépliée spectralement en 309 pour compenser le repliement dû au filtre passe-haut 302 combiné avec la décimation 303. Cette bande haute est ensuite pré-traitée par un filtre passe-bas 310 éliminant les composantes entre 7000 et 8000 Hz dans le filtre original.
La première sous-bande est prétraitée par un filtre passe-haut en 304, éliminant les composantes en dessous de 50Hz avant codage par un codeur coeur de type CELP en 305. Le signal résiduel lié à l'erreur due au codage CELP est calculé par le module 306 pour obtenir le signal dLB(n) puis celui ci est pondéré perceptuellement par un module 307 comprenant un filtre de pondération perceptuelle pour obtenir le signal d'LB(n) dans le domaine temporel. Ce signal est traité par le dispositif de calcul de transformée de type MDCT décrit précédemment en référence à la figure 2a. Ainsi, une transformation FFT avec fenêtre rectangulaire est appliqué à ce signal pour obtenir des coefficients spectraux correspondants. Ces coefficients sont ensuite traités par une matrice de traitement prédéterminée telle que définie ci-dessus pour donner les coefficients spectraux DWLB(k) de la transformée MDCT. Ce même dispositif est également illustré en 311 pour transformer les signaux sFiB(n) de la bande haute en des coefficients spectraux MDCT SHB(k).
Les spectres MDCT bande basse et bande haute sont codés dans le module 313 de codage par transformée TDAC. Une extension de bande en 312 est appliquée au signal de la bande haute. Les signaux issus des modules 305, 313 et 312 sont multiplexés et structurés en un train binaire hiérarchique par le module de multiplexage 314, pour être transmis. Ce codeur tel que décrit est bien entendu un exemple de réalisation. D'autres codeurs comportant un étage de codage par transformée peuvent bien évidemment intégrer les modules MDCT tels que décrits en figure 2a. Cet exemple n'est en rien limitatif. De manière analogue, le calcul d'une transformée inverse de type MDCT, par exemple dans le cadre d'un décodage de signal numérique, s'effectue avec les étapes inverse du procédé tel que décrit en référence à la figure 2a. Pour cela, la figure 2b illustre à la fois le dispositif de calcul de transformée inverse et les étapes du procédé de calcul de la transformée inverse selon un mode de réalisation de l'invention. A partir de coefficients spectraux issus d'une transformée MDCT reçus par exemple d'un codeur de signal numérique ou d'un dispositif de calcul de transformée, le dispositif de calcul de transformée inverse effectue par le module de traitement 211, l'étape E211 de traitement par sous-bande de fréquence de ces coefficients spectraux Ympo-(T) selon une matrice de traitement prédéterminée iF pour obtenir les coefficients YFFr(T). Le procédé effectue ensuite par le module 212, une étape E212 de transformée de Fourier inverse avec fenêtre de synthèse rectangulaire pour obtenir un signal numérique y(T) où l'indice (T) est le numéro de la trame. Comme expliqué pour le cas d'une transformée MDCT classique, ce signal y(T) de taille 2M ne correspond qu'en partie au signal d'entrée x(T). Pour obtenir la version décodée de la première moitié du signal x(T) (c'est-à-dire la trame numéro T-1) il faut faire l'opération « addition-recouvrement », c'est-à-dire additionner la première moitié du signal y(T) avec la deuxième moitié du signal y(T-1) de la trame précédente. De manière analogue à celle expliquée pour le calcul de la transformée, on peut exprimer la transformée inverse iMDCT (MDCT inverse) suivie d'un fenêtrage sinus (iWMDO-) à partir d'un filtrage en sous-bande iF suivi d'une transformée iFFT (FFT inverse). L'équation correspondante s'exprime ainsi: IWMDCT -iTmDcr = iWFFT -iTFFT - IF avec iF la matrice de traitement en sous-bande de dimension 2MxM, iWFFr-Id soit la fenêtre rectangle, et iWmpo- la matrice diagonale correspondant à la fenêtre sinus de synthèse. On peut en déduire iF par multiplication à gauche d'une FFT (iWFFr =WFrr =Id). On obtient ainsi: TFFT - WFFT. IWMDCT .iTmDcT = TFFT - WFFT. IWFFT .iTFFT IF soit IF = TFFr - IWMDCT -ii-MDCT Par observation, on s'aperçoit que la matrice iF, complexe, est relativement creuse (seuls 4 éléments par colonne sont non nuls à l'exception de la première et de la dernière colonne pour lesquels seuls 3 éléments sont non nuls). Une représentation de cette matrice de traitement iF est illustré en figure 6b, où on peut observer la valeur absolue des éléments de cette matrice. De la même façon que pour la matrice de traitement F, cette matrice de traitement iF ne comporte que peu de termes non nuls à stocker pour retrouver cette matrice de traitement. La symétrie observée sur cette matrice permet également de restreindre les données à stocker, celles-ci étant alors déduites facilement des données non nulles symétriques. L'espace mémoire nécessaire est donc optimisé. Les opérations effectuées par le procédé de calcul de la transformée inverse sont comme dans le cas du calcul de la transformée, réduites par rapport au calcul classique effectué dans l'état de l'art. La complexité est donc diminuée. Ce calcul de transformée inverse peut typiquement s'appliquer au décodage de signal numérique. Dans un exemple de réalisation, un décodeur de type G.729.1 est illustré en référence à la figure 4.
Il comporte des modules MDCT-1 mettant en oeuvre le procédé de calcul d'une transformée inverse tel que décrit en référence à la figure 2b. Ainsi, ce décodeur comporte un démultiplexeur 400 qui reçoit le flux binaire obtenu par le codeur tel que décrit en référence à la figure 3. Le flux binaire des couches à 8 et 12 kbit/s est utilisé par le décodeur CELP en 401 pour générer un premier signal de synthèse dans la bande basse (de 0 à 4000 Hz). La portion du flux binaire associé à la couche à 14 kbits/s est décodée par le module 402 d'extension de bande et le signal obtenu dans la bande haute (entre 4000 et 7000 Hz) est transformé par MDCT en 403. Ce module MDCT peut également être celui tel que décrit en référence à la figure 2a.
Le décodage TDAC effectué en 404 génère à partir du flux binaire associé aux débits de 14 à 32 kbit/s, un spectre reconstruit Dn(k) en bande basse et un spectre reconstruit .§'(k) en bande haute. Ces deux spectres sont traités par les modules respectifs 405 et 406 représentant chacun un dispositif de calcul de transformée inverse de type MDCT décrit précédemment en référence à la figure 2b, suivi par l'opération "addition-recouvrement".
Ainsi, ces spectres sont traités par une matrice de traitement prédéterminée telle que définie précedemment en référence à la figure 2b et les signaux obtenus subissent une transformation FFT inverse avec fenêtre rectangulaire suivi par l'opération "addition-recouvrement" pour obtenir les signaux temporels respectifs éin(n) et SHB(n). Le signal c2n(n) est ajouté à la synthèse CELP par l'additionneur 408 après filtrage par un dispositif 407 de pondération perceptuelle inverse. Le résultat est ensuite post-filtré en 409. Le signal SHB(n) est replié spectralement en 415.
Le signal de sortie en bande élargie est obtenu par l'intermédiaire d'un banc de filtre QMF de synthèse qui effectue les opérations de sur-échantillonnage en 410 et 412, de filtrage passe-bas en 411 et passe-haut en 413 et d'addition en 414. De la même façon que pour le codeur, le décodeur tel que décrit est un exemple de réalisation. D'autres décodeurs comportant un étage de décodage par transformée peuvent bien évidemment intégrer les modules MDCT-1 tels que décrits en figure 2b. Cet exemple n'est en rien limitatif. La figure 7 représente un exemple de réalisation matériel d'un dispositif de calcul de transformée ou d'un dispositif de calcul de transformée inverse selon l'invention.
Ces dispositifs peuvent être intégrés comme modules logiciels dans des codeurs ou décodeurs de signaux numériques. 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 calcul d'une transformée temps-fréquence de type MDCT au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes d'application au signal numérique, d'une transformée de Fourier avec fenêtre d'analyse rectangulaire et de traitement par sous-bande de fréquence selon une matrice de traitement prédéterminée, des coefficients spectraux issus de la transformée de Fourier pour obtenir les coefficients spectraux de la transformée de type MDCT. Typiquement, la description de la figure 2a 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. Dans le cas d'un dispositif de calcul d'une transformée inverse, 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 calcul d'une transformée inverse temps-fréquence de type MDCT au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes de traitement par sous-bande de fréquence selon une matrice de traitement prédéterminée, des coefficients spectraux de la transformée de type MDCT issue du codage du signal numérique et d'application d'une transformée de Fourier inverse avec fenêtre de synthèse rectangulaire pour obtenir un signal numérique décodé.
Typiquement, la description de la figure 2b 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 une partie de termes non nuls de la matrice de traitement prédéterminée. Le processeur reconstruit alors la matrice de traitement à partir de ces termes stockés, afin de mettre en oeuvre les étapes des procédés de calcul. Un tel dispositif comporte un module d'entrée E apte à recevoir un signal numérique x(T) dans le cas d'un dispositif de calcul de transformée et des coefficients spectraux MDCT YMDCT(T) dans le cas d'un dispositif de calcul de transformée inverse. Le dispositif comporte un module de sortie S apte à transmettre les coefficients spectraux MDCT Xmpo-CD à un autre module de traitement ou de codage par exemple dans le cas d'un dispositif de calcul de transformée et à transmettre un signal numérique y (T) dans le cas d'un dispositif de calcul de transformée inverse. Dans un mode possible de réalisation, le dispositif ainsi décrit peut également comporter les fonctions de codage et/ou de décodage en plus des fonctions de calcul de transformée et/ou transformée inverse selon l'invention.15
FR1158046A 2011-09-09 2011-09-09 Calcul optimise d'une transformee de type mdct Pending FR2980009A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1158046A FR2980009A1 (fr) 2011-09-09 2011-09-09 Calcul optimise d'une transformee de type mdct

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1158046A FR2980009A1 (fr) 2011-09-09 2011-09-09 Calcul optimise d'une transformee de type mdct

Publications (1)

Publication Number Publication Date
FR2980009A1 true FR2980009A1 (fr) 2013-03-15

Family

ID=45563178

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1158046A Pending FR2980009A1 (fr) 2011-09-09 2011-09-09 Calcul optimise d'une transformee de type mdct

Country Status (1)

Country Link
FR (1) FR2980009A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162866A1 (en) * 2003-02-19 2004-08-19 Malvar Henrique S. System and method for producing fast modulated complex lapped transforms

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162866A1 (en) * 2003-02-19 2004-08-19 Malvar Henrique S. System and method for producing fast modulated complex lapped transforms

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DAI X ET AL: "Fast algorithm for modulated complex lapped transform", IEEE SIGNAL PROCESSING LETTERS, vol. 16, no. 1, January 2009 (2009-01-01), pages 30 - 33, XP011249404, ISSN: 1070-9908 *
LIN Y-T ET AL: "Low-power variable-length fast Fourier transform processor", IEE PROCEEDINGS: COMPUTERS AND DIGITAL TECHNIQUES, vol. 152, no. 4, July 2005 (2005-07-01), pages 499 - 506, XP006024793, ISSN: 1350-2387, DOI: 10.1049/IP-CDT:20041224 *
MALVAR H S: "Fast algorithm for the modulated complex lapped transform", IEEE SIGNAL PROCESSING LETTERS, vol. 10, no. 1, January 2003 (2003-01-01), pages 8 - 10, XP011428441, ISSN: 1070-9908, DOI: 10.1109/LSP.2002.806700 *
SHU H ET AL: "New fast algorithm for modulated complex lapped transform with sine windowing function", IEEE SIGNAL PROCESSING LETTERS, vol. 16, no. 2, February 2009 (2009-02-01), pages 93 - 96, XP011249830, ISSN: 1070-9908 *
TAI H-M ET AL: "Design and efficient implementation of a modulated complex lapped transform processor using pipelining technique", IEICE TRANSACTIONS ON FUNDAMENTALS OF ELECTRONICS, COMMUNICATIONS AND COMPUTER SCIENCES, vol. E84-A, no. 5, May 2001 (2001-05-01), pages 1280 - 1297, XP001060018, ISSN: 0916-8508 *

Similar Documents

Publication Publication Date Title
EP1989706B1 (fr) Dispositif de ponderation perceptuelle en codage/decodage audio
KR20070001115A (ko) 복소수 값 데이터를 이용하는 오디오 신호 디코딩
EP2452337B1 (fr) Allocation de bits dans un codage/décodage d&#39;amélioration d&#39;un codage/décodage hiérarchique de signaux audionumériques
EP3053163B1 (fr) Re-echantillonnage d&#39;un signal audio pour un codage/decodage a bas retard
US7707030B2 (en) Device and method for generating a complex spectral representation of a discrete-time signal
EP2489039B1 (fr) Codage/décodage paramétrique bas débit optimisé
WO2012052676A1 (fr) Codage/decodage paramétrique stéréo amélioré pour les canaux en opposition de phase
EP2452336B1 (fr) Codage/décodage perfectionne de signaux audionumériques
EP3069340B1 (fr) Transition d&#39;un codage/décodage par transformée vers un codage/décodage prédictif
EP0511095A1 (fr) Procédé et dispositif de codage-décodage d&#39;un signal numérique
EP3084959B1 (fr) Ré-échantillonnage d&#39;un signal audio cadencé à une fréquence d&#39;échantillonnage variable selon la trame
FR2969804A1 (fr) Filtrage perfectionne dans le domaine transforme.
WO2007107670A2 (fr) Procede de post-traitement d&#39;un signal dans un decodeur audio
WO2023165946A1 (fr) Codage et décodage optimisé d&#39;un signal audio utilisant un auto-encodeur à base de réseau de neurones
FR2980009A1 (fr) Calcul optimise d&#39;une transformee de type mdct
WO2011144863A1 (fr) Codage avec mise en forme du bruit dans un codeur hierarchique
WO2011045549A1 (fr) Decodage parametrique stereo optimise
WO2007068861A2 (fr) Procede d&#39;estimation de phase pour la modelisation sinusoidale d&#39;un signal numerique
FR2731855A1 (fr) Procede inversible de decomposition complexe en frequence d&#39;un signal numerique et son application a un dispositif de reduction du flux d&#39;informations de signaux audionumeriques
FR2915306A1 (fr) Analyse et synthese par transformees avec differents coefficients de recouvrement.
FR2990552A1 (fr) Traitement d&#39;amelioration de la qualite des signaux audiofrequences
FR2773653A1 (fr) Dispositifs de codage/decodage de donnees, et supports d&#39;enregistrement memorisant un programme de codage/decodage de donnees au moyen d&#39;un filtre de ponderation frequentielle
FR2918228A1 (fr) Conversion entre domaines de sous-bandes pour bancs de filtres modules.