Brevet FR2977969A1 — publié le 20130118

Adaptation de fenêtres de pondération d'analyse ou de synthèse pour un codage ou décodage par transformée La présente invention concerne un traitement de signal, notamment un signal audio (tel un signal de parole) et/ou vidéo, sous forme d'une succession d'échantillons. Elle concerne en particulier le codage et le décodage d'un signal audionumérique par transformée et l'adaptation des fenêtres d'analyse ou de synthèse à la taille de la transformée. Le codage par transformée consiste à coder des signaux temporels dans le domaine transformé (fréquentiel). Cette transformation permet notamment d'utiliser les caractéristiques fréquentielles des signaux audio afin d'optimiser et d'améliorer les performances de codage. On utilise par exemple le fait qu'un son harmonique est représenté dans le domaine fréquentiel par un nombre réduit de raies spectrales qui peuvent ainsi être codées de manière concise. On utilise aussi par exemple avantageusement les effets de masquage fréquentiel pour mettre en forme le bruit de codage de manière à ce qu'il soit le moins audible possible. Classiquement, le codage et décodage par transformée s'effectue par application de cinq étapes: - Le flux audio numérique (échantillonné à une fréquence d'échantillonnage Fs donnée) à coder est sectionné en trames de nombre d'échantillons fini (par exemple 2N). Chaque trame se recouvre classiquement à 50 % avec la trame précédente. - Une étape de transformation est appliquée au signal. Dans le cas de la transformation appelée MDCT (pour "Modified Discrete Cosine Transform" en anglais), une fenêtre de pondération ha (appelée fenêtre d'analyse) de taille L=2N est appliquée à chaque trame. La trame pondérée est « repliée » suivant une transformation 2N vers N. Le « repliement » de la trame T2N de taille 2N pondérée par ha vers la trame TN de taille N peut par exemple être fait de la manière suivante : TN (k) _ -T2N (3z - k - 1)ha (32 - k -1) - T2N (32 + k )ha l3z + k) TN(N12+k)=-T2N(k)ha(k)-T2N(N-k-1)ha(N-k-1) (1) kE [O;N/2-1] une DCT IV est appliqué à la trame repliée TN afin d'obtenir une trame de taille N dans le domaine transformé. Elle s'exprime de la façon suivante: 2 N-1 T'N(u)= METN(k)cos k =0M Ck+2J~u2 - La trame dans le domaine transformé est alors quantifiée en utilisant un quantificateur adapté. La quantification permet de réduire la taille des données à transmettre, mais introduit un bruit (audible ou non) dans la trame originale. Plus le débit du codec est élevé, plus ce bruit est réduit et plus la trame quantifiée est proche de la trame originale. - Une transformation MDCT inverse est appliquée au décodage à la trame quantifiée. Elle comporte deux étapes : La trame quantifiée de taille N est convertie en trame de taille N dans le domaine temporel TN* en utilisant une DCT IV inverse (qui s'exprime comme une transformation directe). Une deuxième étape de « dépliement» de N vers 2N est alors appliquée à la trame temporelle TN* de taille N. Des fenêtres de pondération hs dites de synthèse sont appliquées aux trames T2N*de tailles 2N selon l'équation suivante: T2N(k)=TN* +k)hs(k) T2N(z +k)=-TN(N-k-1)h G+ k ) T2N(N+k)=-TN* -k-1)h(N+k) (2) T2N(3N+k) -TN(Oh, 3N+k) kE [0;N/2-1] - Le flux audio décodé est alors synthétisé en sommant les parties en recouvrement de deux trames consécutives. Notons que ce schéma s'étend à des transformations ayant un recouvrement plus important, telles que les ELT pour lesquelles les filtres d'analyse et de synthèse ont une longueur L=2KN pour un recouvrement de (2K-1)N. La MDCT est ainsi un cas particulier de l'ELT avec K=1. Pour une transformée et un recouvrement donné, on détermine des fenêtres d'analyse et de synthèse qui permettent d'obtenir une reconstruction dite "parfaite" du signal à coder (en l'absence de quantification). La reconstruction peut également être à reconstruction "quasi-parfaite" lorsque la différence entre les signaux d'origine X et reconstruit X peut être considérée comme négligeable. Par exemple, en codage audio, une différence ayant une puissance d'erreur 50dB plus faible que la puissance du signal X traité peut être considérée comme négligeable. Par exemple, dans le cas où les fenêtres d'analyse et de synthèse ne changent pas sur deux trames consécutives, elles doivent respecter les conditions de reconstruction parfaites suivantes :30 hQ (N + k )hs (N + k) + hQ (k )hs (k) =1 ha(N+k)hs(2N-k-1)-ha(k)hs(N-1-k)=0 (3) kE [0;N-1] Ainsi, on comprend aisément que dans la plupart des codecs, les fenêtres d'analyse et de synthèse sont stockées en mémoire : soit elles sont soit calculées à l'avance et stockées en mémoire ROM, soit elles sont initialisées à l'aide de formules et néanmoins stockées en mémoire RAM. La plupart du temps, les fenêtres d'analyse et de synthèse sont identiques (hs(k)=ha(k)), parfois à un retournement d'indice près (hs(k)=ha(2N-1-k)), elles ne nécessitent alors qu'un seul espace mémoire de taille 2N pour leur stockage en mémoire. Les nouveaux codecs fonctionnent avec des tailles de trame N différentes, que ce soit pour gérer plusieurs fréquences d'échantillonnage, ou pour adapter la taille de la fenêtre d'analyse (et donc de synthèse) au contenu audio (par exemple dans le cas de transitions). Dans ces codecs, on trouve en mémoire ROM ou en RAM autant de fenêtres d'analyse et/ou de synthèse que de tailles de trames différentes. Les coefficients (appelés également échantillons) des fenêtres d'analyse ou de synthèse, du codeur ou du décodeur, doivent être stockés en mémoire afin de réaliser la transformée d'analyse ou de synthèse. Bien entendu, dans un système particulier utilisant des transformées de tailles différentes, la fenêtre de pondération pour chacune des tailles utilisées doit être représentée en mémoire. Dans le cas favorable où les fenêtres sont symétriques, seuls L/2 coefficients ont besoin d'être stockés, les L/2 autres se déduisant sans opération arithmétique de ces coefficients stockés. Ainsi, pour une MDCT (K=1), si on a besoin d'une transformée de taille M et 2.M alors il faut stocker (M+2M)=3M coefficients si les fenêtres sont symétriques et (2M+4M)=6M sinon. Un exemple typique pour le codage audio est M=320ou M=1024. Ainsi, pour le cas asymétrique cela impose le stockage de 1920 et 6144 coefficients respectivement. Selon la précision souhaitée pour la représentation des coefficients, 16 bits voire 24 bits pour chaque coefficient sont nécessaires. Cela implique un espace mémoire non négligeable pour des calculateurs de bas coût. Des techniques de décimation de fenêtre d'analyse ou de synthèse existent. Une décimation simple de fenêtre, par exemple lorsque l'on veut passer de N échantillons à m (N étant un multiple de M), consiste à prendre un échantillon sur N/M avec N/M un entier >1. Un tel calcul ne permet pas de respecter l'équation de reconstruction parfaite donnée en équation (3). Par exemple, dans le cas où la fenêtre de synthèse est le retourné temporel de la fenêtre d'analyse, on a: h, (2N-k-1)=ha (k)=h(k) (4) pour k E [0;2N -1] La condition de reconstruction parfaite devient : h(N + k )h(N - k - 1) + h(k )h(2N - k -1) = 1 pour kE [0;2N-1] Une fenêtre classiquement utilisée en codage pour répondre à cette condition est la fenêtre sinusoïdale de Malvar: h(k) = sin(zN ~k +0.5») (6) pourkE [0;2N-1] Si la fenêtre h(k) est décimée en prenant un échantillon sur N/M, cette fenêtre devient: h (k)=h M =sin -N ++0.5 pour k E [0;2M -1] Pour que h*(k) de taille 2M vérifie la condition de reconstruction parfaite (à l'équation (3)), h* (M +k)h*(M - k -1) + h* (k )h* (2M -k-1)=cos(zN (M +0.5)cos(2v (M + M -0.5~) rz ~kN r N + s1n( (1' 0.5) 2N M + 0.5 )s1Ï1~2N M + M - =1 pour k [0;M -1] N/M doit être égal à 1; or N/M est défini comme un entier > 1 donc pour une telle décimation, la condition de reconstruction parfaite ne peut être vérifiée. L'exemple illustratif pris ici se généralise aisément. Ainsi, par décimation directe d'une fenêtre de base pour obtenir une fenêtre de taille réduite, la propriété de reconstruction 25 parfaite ne peut être assurée. Des techniques d'interpolation de fenêtres de pondération existent aussi. Une telle technique est par exemple décrite dans la demande de brevet publiée EP 2319039. (5) 20 Cette technique permet de réduire la taille de fenêtres stockées en ROM lorsque l'on a besoin d'une fenêtre de taille plus importante. Ainsi, au lieu de stocker une fenêtre de taille 2N et une fenêtre de taille 4N la demande de brevet propose d'affecter les échantillons de la fenêtre 2N à un échantillon sur deux de la fenêtre 4N et de stocker en ROM uniquement les 2N échantillons manquant. La taille de stockage en ROM est ainsi réduite de 4N + 2N à 2N + 2N. Toutefois, cette technique nécessite également un pré-calcul de fenêtre d'analyse et de synthèse avant d'appliquer la transformée proprement dite. Il existe donc un besoin de ne stocker qu'un nombre réduit de fenêtres d'analyse et de fenêtres de synthèse en mémoire pour appliquer des transformées de différentes taille tout en respectant les conditions de reconstruction parfaite. De plus, le besoin d'éviter les étapes de pré-calcul de ces fenêtres avant le codage par transformée est également ressenti. La présente invention vient améliorer la situation. Elle propose à cet effet, un procédé de codage ou de décodage par transformée d'un signal audionumérique utilisant des fenêtres de pondération d'analyse (ha) ou de synthèse (hs) appliquées à des trames d'échantillons. Le procédé est tel qu'il comporte un échantillonnage irrégulier (E10) d'une fenêtre initiale prévue pour une transformée de taille initiale N donnée, pour appliquer une transformation secondaire de taille M différente de N. Ainsi, à partir d'une fenêtre initiale stockée, prévue pour une transformée de taille N, il est possible d'appliquer une transformation de taille différente sans que des pré-calculs soient effectués et sans que d'autre fenêtres de tailles différentes ne soient stockées. Une seule fenêtre de taille quelconque peut ainsi suffire pour l'adapter à des transformées de taille différentes. L'échantillonnage irrégulier permet de respecter les conditions de reconstruction dite "parfaite" ou "quasi-parfaite" lors du décodage. 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é de codage ou de décodage défini ci-dessus. Selon un mode de réalisation privilégié, l'étape d'échantillonnage comporte la sélection à partir d'un premier coefficient d de la fenêtre initiale (avec 0 Ainsi, il est possible à partir d'un ensemble de coefficients de déterminer des fenêtres adaptées à des transformées secondaires de tailles différentes tout en respectant les conditions de reconstruction parfaites. Avantageusement lorsque N est supérieur à m, une décimation de la fenêtre initiale s'effectue en conservant au minimum les coefficients de l'ensemble défini pour obtenir une fenêtre décimée. Ainsi, à partir d'une fenêtre d'analyse ou de synthèse stockée de taille supérieure, il est possible d'obtenir une fenêtre de dimension inferieure qui respecte également les conditions de reconstruction parfaite au décodage. Dans un exemple particulier de réalisation, le procédé comporte la sélection d'un deuxième ensemble de coefficients espacés d'un écart constant avec les coefficients de l'ensemble défini et en ce que la décimation s'effectue en conservant en outre les coefficients du deuxième ensemble pour obtenir la fenêtre décimée. Ainsi, une décimation adaptée à la taille de transformée voulue peut être obtenue. Ceci permet de conserver au mieux la réponse en fréquence des fenêtres obtenues. Dans un mode particulier de réalisation, la décimation d'une fenêtre de taille 2N en une fenêtre de taille 2M s'effectue selon les équations suivantes: pourkE [0;M/2-1] h*(k)=h(kM1 ;1+ h*(2M-k-1)=h(_2N-1-k-d) h*(M+k)=h(N+kMl+d) h*(M-k-1)=h[N-1-kM]-d) où h* est la fenêtre d'analyse ou de synthèse décimée, h est la fenêtre d'analyse ou de synthèse initiale, LX] est l'entier le plus proche X, [Xi est l'entier le plus proche X et d est la valeur du premier coefficient de l'ensemble défini. Ainsi, il est possible d'obtenir des fenêtres de tailles différentes à partir d'une fenêtre de taille supérieure même lorsque le nombre de coefficients entre la fenêtre initiale et la fenêtre obtenue n'est pas multiple. Lorsque N est inférieur à m, une interpolation s'effectue en insérant un coefficient entre chacun des coefficients de l'ensemble de coefficients définis et chacun des coefficients d'un ensemble de coefficients adjacents pour obtenir une fenêtre interpolée. La fenêtre interpolée respecte également une reconstruction parfaite et peut être calculée à la volée à partir d'une fenêtre stockée de taille inférieure. Dans un mode particulier de réalisation, le procédé comporte la sélection d'un deuxième ensemble de coefficients espacés d'un écart constant avec les coefficients de l'ensemble défini et l'interpolation s'effectue en insérant en outre un coefficient entre chacun des coefficients du deuxième ensemble et chacun des coefficients d'un ensemble de coefficients adjacents pour obtenir la fenêtre interpolée. Ainsi, une interpolation adaptée à la taille de la transformée voulue peut être obtenue. Ceci permet de conserver au mieux la réponse en fréquence des fenêtres obtenues. De façon à optimiser la réponse en fréquence de la fenêtre interpolée, dans un mode de réalisation particulier, le procédé comporte le calcul d'une fenêtre complémentaire comportant des coefficients calculés à partir des coefficients de l'ensemble défini et des coefficients adjacents, pour interpoler ladite fenêtre. Dans un mode privilégié de réalisation l'étape d'échantillonnage irrégulier et une décimation ou interpolation de la fenêtre initiale sont effectuées lors de l'étape de mise en oeuvre du repliement ou du dépliement temporel utilisé pour le calcul de la transformée secondaire. Ainsi, la décimation ou l'interpolation d'une fenêtre d'analyse ou de synthèse est effectuée en même temps que l'étape de transformée proprement dite, donc à la volée. Il n'est donc plus utile d'effectuer des étapes de pré-calculs avant le codage, l'obtention de fenêtres adaptées à la taille de la transformée s'effectuant lors du codage. Dans un exemple de réalisation, à la fois une décimation et une interpolation de la fenêtre initiale sont effectuées lors de l'étape de mise en oeuvre du repliement ou du dépliement temporel utilisé pour le calcul de la transformée secondaire. Cela permet d'offrir plus de possibilités d'obtention de fenêtres de différentes tailles à partir d'une seule fenêtre stockée en mémoire. Dans un cas particulier de réalisation pour la décimation la décimation lors du repliement temporel s'effectue selon l'équation suivante: TM(k)=-T2M(21-k-1)h (~3z -(k+1)M~~+d)-T2M(snr+k)h (L -1+(k+1)M]-d) TM(M/2+k)=-T2M(k)h(rk 1+d)-T2M(M-k-1)h([N-1-kM]-d) kE [O;M/2-1] avec Tm une trame de M échantillons, T2M, une trame de 2M échantillons et la décimation lors du dépliement temporel s'effectue selon l'équation suivante: T2M(k)=TM(M2'+k)h (kN;1+d) T2nllzl +k)=-TM(M-k-1)h Gz -1+(k+1) N; -d) T2M(M+k)=-TM(M -k-1)h(N+k1+d) T 2 * m ( +k) -Tm* (k)h( -1+(k+1) --d) kE [O;N/2-1] avec T*M une trame de M échantillons, T*2M, une trame de 2M échantillons. Dans un exemple de réalisation particulièrement adapté, lorsque la transformée secondaire est de taille M=2/3N, une décimation de la fenêtre initiale ha par 3 puis une interpolation est effectuée lors du repliement temporel selon les équations suivantes: T (k+1)=-T2M (3M2-(k+1)-1)ha ((3N -k/2-1)N,+d)-T (3M+k+1)ha ((3N +k/2+1)N-1-d) M 2 N 2M 2 2 N~ TM (k) = -TzM (3 - k -1)hcomp (3z - k / 2-1)- T2M (3 + k )hcomp (3 z . + k / 2) TM (M / 2+ k) = -TZM (k )ha ((k / 2) N, + d )- T2M (M - k -1)ha ((N'-k / 2) N, -1- d ) TM (M / 2+ k +1) = -TZM (k + 1)hcomp(k / 2) - T2M (M - (k + 1) -1)hcomp(N'-k / 2-1) k prend toutes les valeurs paires entre [0;M / 2-1] avec TM une trame de M échantillons, N'=N/3=M/2, T2M, une trame de 2M échantillons, hcomp la fenêtre complémentaire et lorsque la transformée secondaire est de taille M=2/3N, une décimation de la fenêtre initiale (la fenêtre de synthèse étant dans cet exemple le retourné temporel de ha) puis une interpolation est effectuée lors du dépliement temporel selon les équations suivantes: TZM(k)=TM(M +k)ha((2N'-k/2)N,-1-d) T2M(k+1)=TM(M+k+1)hcomp(2N'-k/2-1) T2M(M+k+1)=-TM(M-(k+1)-1)ha((3z-k/2-1)N,+d) T2M(M +k)=-TM(M -k-1)hcomp(3z -k/2-1) T2M(M+k)=-TM(M -k-1)ha((N'-k/2)N,-1-d) T2M (M + k +1) = -TM (M - (k +1) -1)hcomp (N'-k / 2 -1) T2 (3M- +k+1)=-TM(k+1)ha((z-k/2-1)N,+d) T2m(3M - +k)=-TM(k)hcomp (z-k/2-1) k prend toutes les valeurs paires entre [0; M / 2 -1] avec TM une trame de M échantillons, N'=N/3=M/2, T2M, une trame de 2M échantillons, hcomp la fenêtre complémentaire. La présente invention vise également un dispositif de codage ou de décodage par transformée d'un signal audionumérique utilisant des fenêtres de pondération d'analyse ou de synthèse appliquées à des trames d'échantillons. Le dispositif est tel qu'il comporte un module d'échantillonnage apte à échantillonner de façon irrégulière une fenêtre initiale prévue pour une transformée de taille initiale N donnée, pour appliquer une transformation secondaire de taille M différente de N. 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 un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé de codage ou de décodage 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 codage ou de décodage, éventuellement amovible, mémorisant un programme informatique mettant en oeuvre un procédé de codage ou de décodage 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 illustre un exemple de système de codage et décodage mettant en oeuvre l'invention dans un mode de réalisation; - la figure 2 illustre un exemple de décimation de fenêtre d'analyse et de synthèse selon l'invention; - la figure 3(a) illustre un échantillonnage irrégulier d'une fenêtre d'analyse ou de synthèse pour l'obtention d'une fenêtre selon un mode de réalisation de l'invention; - la figure 3(b) illustre la réponse en fréquence pour un échantillonnage irrégulier d'une fenêtre d'analyse selon un mode de réalisation de l'invention; - les figures 4(a) et 4(b) illustrent un échantillonnage irrégulier d'une fenêtre d'analyse ou de synthèse d'un facteur rationnel (2/3) dans un mode de réalisation de l'invention. La figure 4 (a) illustre une sous étape de décimation alors que 4(b) présente une sous étape d'interpolation; et - la figure 5 illustre un exemple de réalisation matérielle d'un dispositif de codage ou de décodage selon l'invention. La figure 1 illustre un système de codage et de décodage par transformée dans lequel une unique fenêtre d'analyse et une unique fenêtre de synthèse de taille 2N sont stockées en mémoire. Le flux audio numérique X(t) est échantillonné par le module d'échantillonnage 101 à une fréquence d'échantillonnage Fs, des trames T2M(t) de 2M échantillons étant ainsi obtenues. Chaque trame se recouvre classiquement à 50% avec la trame précédente. Une étape de transformation est ensuite appliquée au signal par les blocs 102 et 103. Le bloc 102 effectue un échantillonnage de la fenêtre initiale stockée prévue pour une transformée de taille N pour appliquer une transformation secondaire de taille M différente de N. Un échantillonnage de la fenêtre d'analyse ha de 2N coefficients est alors effectué pour l'adapter aux trames de 2M échantillons du signal. Dans le cas où N est un multiple M, il s'agit d'une décimation et dans le cas où N est un sous multiple de M, il s'agit d'une interpolation. On prévoit le cas où N/M est quelconque. Les étapes mises en oeuvre par le bloc 102 seront détaillées ultérieurement en référence aux figures 2 et 3. Le bloc 102 effectue également un repliement sur la trame pondérée suivant une transformation 2M vers M. Avantageusement, cette étape de repliement est effectuée en combinaison avec l'étape d'échantillonnage irrégulier et de décimation ou d'interpolation comme présenté ultérieurement. Ainsi, à l'issue du bloc 102, le signal est sous forme de trame TM(t) de M échantillons. Une transformée de type DCT IV, par exemple, est ensuite appliquée par le bloc 103 pour obtenir des trames Tm de taille M dans le domaine transformé, c'est-à-dire ici dans le domaine fréquentiel. Ces trames sont ensuite quantifiées par le module de quantification 104 pour être transmises à un décodeur sous forme d'indice de quantification IQ. Le décodeur effectue une quantification inverse par le module 114 pour obtenir des trames D dans le domaine transformé. Le module de transformation inverse 113 effectue par exemple une DCT IV inverse pour obtenir des trames m(t)dans le domaine temporel. Un dépliement de M vers 2M échantillons est ensuite effectué par le bloc 112 sur la trame iM(t). Une fenêtre de pondération de synthèse de taille 2M est obtenue par le bloc 112 par décimation ou interpolation à partir d'une fenêtre hs de taille 2N. Dans le cas où N est supérieur à M, il s'agit d'une décimation et dans le cas où N est inférieur à M, il s'agit d'une interpolation. Les étapes mises en oeuvre par le bloc 112 seront détaillées ultérieurement en référence aux figures 2 et 3. Comme pour le codage, avantageusement, cette étape de dépliement est effectuée en combinaison avec l'étape d'échantillonnage irrégulier et de décimation ou d'interpolation et sera présentée ultérieurement. Le flux audio décodé f ((t) est alors synthétisé en sommant les parties en recouvrement au bloc 111. Le bloc 102 ainsi que le bloc 112 sont maintenant décrit plus en détails. Ces blocs effectuent les étapes d'échantillonnage irrégulier E10 pour définir une fenêtre adaptée à la taille M d'une transformée secondaire. Ainsi, à partir d'un premier coefficient d (avec 0 A partir de cet ensemble, une décimation ou une interpolation de ladite fenêtre est effectuée en E11 selon que N est supérieur ou inférieur à m, pour passer d'une fenêtre de 2N échantillons à une fenêtre de 2M échantillons. Une condition prédéterminée de reconstruction parfaite est recherchée. Pour cela l'échantillonnage doit être effectuée de telle sorte que les équations suivantes soient respectées (assurant que les coefficients choisis pour la synthèse et l'analyse permettent la reconstruction parfaite pour une transformation de taille N): ha(N+k)hs(N+k)+ha(k)hs(k)=1 ha(N+k)hs(2N-k-1)-hQ(k)hs(N-1-k)=0 kE [O;N-1] Ainsi, pour qu'une fenêtre décimée respecte les conditions de reconstruction parfaite de l'équation (3), à partir d'un point ha(k) (pour k E [0 ;2N-1]) sur la fenêtre d'analyse, seule la sélection supplémentaire des points ha (N+k) sur la fenêtre d'analyse et des points hs(k), hs(N+k), hs(2N-1-k) et hs(N-1-k) sur la fenêtre de synthèse conditionne la reconstruction parfaite. Cependant, en ne conservant que ces 6 points, on observe qu'il existe alors une disparité, la fenêtre d'analyse est décimée par N et la fenêtre de synthèse par N/2. De façon analogue, on remarque que si la décimation implique de sélectionner le point N-k-1 sur la fenêtre d'analyse ha (N-k-1), seule la sélection des points ha (2N-1-k) sur la fenêtre d'analyse et des 4 mêmes points hs(k), hs(N+k), hs(2N-1-k) et hs(N-1-k) sur la fenêtre de synthèse permet de respecter la condition de reconstruction parfaite. Ainsi, lors d'une décimation telle qu'illustré en référence à la figure 2, pour respecter les conditions de reconstruction parfaite en (3), à partir d'un coefficient d pris pour 0 Pour la fenêtre de synthèse, le même ensemble de coefficients est sélectionné et la décimation s'effectue en conservant au minimum les coefficients de l'ensemble défini pour obtenir la fenêtre décimée. Ainsi, pour obtenir la plus petite fenêtre de synthèse décimée, seuls les points hs(k), hs(N+k), hs(2N-1-k) et hs(N-1-k) sont gardés comme illustré dans l'exemple référencé en figure 2. Compte tenu des symétries entre les points, dans le cas où la fenêtre de synthèse est le retourné temporel de la fenêtre d'analyse, seul un sous-ensemble de 4 points (h(k), h(N+k), h(2N-1-k) et h(N-1-k)) est nécessaire à la décimation. Ainsi, en sélectionnant l'ensemble défini ci-dessus, il est possible de décimer une fenêtre d'analyse et/ou de synthèse en choisissant n'importe quelles valeurs de k comprises entre 0 et N-1, tout en conservant les propriétés de reconstruction parfaite. Une décimation adaptée permet de conserver au mieux la réponse en fréquence de la fenêtre à décimer. Dans le cas d'une décimation adaptée, à une taille M de transformée, un coefficient sur N/M sur le premier quart de la fenêtre d'analyse (ou de synthèse) est pris et un deuxième ensemble de coefficients espacés d'un écart constant (de N/M) avec les coefficients de l'ensemble défini, est sélectionné. Ainsi, la décimation s'effectue en conservant en plus des coefficients d, N-1-d, N+d, 2N-1-d, les coefficients du deuxième ensemble pour obtenir la fenêtre décimée. La figure 3(a) illustre un exemple d'échantillonnage irrégulier adaptée à une taille M de transformée. La fenêtre représentée étant séparée en quatre quarts. Compte tenu des conditions de reconstruction parfaite, on obtient les équations suivantes pour l'obtention de la fenêtre décimée de taille 2M: pourkE [0;M/2-1] h*(k)=h( kM1 +d) h*(2M-k-1)=h(_2N-1-kM]-d) h*(M+k)=h(N+kMl+d) (7) h*(M-k-1)=h[N-1-kM]-d) où h* est la fenêtre d'analyse ou de synthèse interpolée ou décimée, h est la fenêtre d'analyse ou de synthèse initiale, LX] est l'entier le plus proche X, [Xi est l'entier le plus proche X. d est le décalage. Le décalage est fonction de l'échantillon de départ d sur le premier quart de la fenêtre. l'étape E10 du bloc 102 comporte la sélection d'un deuxième ensemble de espacés d'un écart constant (ici de N/M) à partir des coefficients de l'ensemble N+d, 2N-d-1). Le même écart constant peut être appliqué pour sélectionner ensemble de coefficients. Ainsi, coefficients défini (d, N-d-1, un troisième En effet par exemple si l'on décime la fenêtre par 3, c'est-à-dire que N/M=3, l'écart est donc de 3 dans chaque portion de fenêtre. Si d=0 est le premier coefficient de l'ensemble défini, les coefficients d'un deuxième ou troisième ensemble espacés d'un écart constant sont alors 3 et 6, etc. De même, si d=1, les premiers coefficients des deuxième ou troisième ensembles espacés d'un écart constant sont 1, 4, 7... ou encore les coefficients 2,5,8... pour d=2. "d" dans l'équation 7 peut donc prendre les valeurs 0, 1 ou 2 (compris entre 0 et N/M-1 inclus). La figure 3(a) représente le cas où le premier coefficient choisi dans le premier quart 10 de la fenêtre est d=1. Les coefficients des deuxième et troisième ensembles espacés d'un écart constant sont alors 4 et 7. On illustre dans le tableau 1 suivant les points retenus pour le passage d'une transformée de taille N=48 vers des transformées de taille inférieure (M=24,16,12 et 8). On 15 voit ainsi que pour implémenter la transformation de taille M=8, les échantillons 0, 6, 12,18,29, 35 ,41,47,48,54,60,66,77,83,89 et 95 sont considérés dans la fenêtre d'analyse ou de synthèse, montrant ainsi l'échantillonnage irrégulier. indice M=24;N/M=2 M=16;N/M=3 M=12;N/M=4 M=8;N/M=6 M=6;N/M=8 0 0 0 0 0 0 1 2 3 4 6 8 2 4 6 8 12 16 3 6 9 12 18 31 4 8 12 16 29 39 5 10 15 20 35 47 6 12 18 27 41 48 7 14 21 31 47 56 8 16 26 35 48 64 9 18 29 39 54 79 20 32 43 60 87 11 22 35 47 66 95 12 25 38 48 77 13 27 41 52 83 14 29 44 56 89 31 47 60 95 16 33 48 64 17 35 51 68 18 37 54 75 19 39 57 79 41 60 83 21 43 63 87 22 45 66 91 23 47 69 95 24 48 74 50 77 26 52 80 27 54 83 10 M=6;N/M=8 Tableau 1 On illustre dans le tableau 2 ci-dessous un mode de réalisation pour passer d'une fenêtre initiale prévue pour une transformée de taille N=48 à une fenêtre adaptée pour la réalisation d'une transformée de taille N=6. On a alors une décimation de N/M=8 et 7 possibilités pour la valeur de d: d=0...7. On indique dans le tableau les indices correspondant aux valeurs retenues dans la fenêtre initiale. index N/M=8, d=0 N/M=8, d=1 N/M=8, d=2 N/M=8, d=3 N/M=8, d=4 N/M=8, d=5 N/M=8, d=6 N/M=8, d=7 0 0 1 2 3 4 5 6 7 1 8 9 10 11 12 13 14 15 2 16 17 18 19 20 21 22 23 3 31 30 29 28 27 26 25 24 4 39 38 37 36 35 34 33 32 5 47 46 45 44 43 42 41 40 6 48 49 50 51 52 53 54 55 7 56 57 58 59 60 61 62 63 8 64 65 66 67 68 69 70 71 9 79 78 77 76 75 74 73 72 87 86 85 84 83 82 81 80 11 95 94 93 92 91 90 89 88 Tableau 2 De manière à avoir une réponse en fréquence plus proche de la fenêtre initiale, l'invention propose de fixer la valeur à d = max(0, L0.5(M -1) ~ . Cette condition n'est pas limitative. 14 indice M=8;N/M=6 M=24;N/M=2 M=12;N/M=4 M=16;N/M=3 28 86 56 29 89 58 30 92 60 31 95 62 32 64 33 66 34 68 70 35 73 36 75 37 77 38 79 39 81 40 41 83 42 85 43 87 44 89 91 45 93 46 95 47 La figure 3(b) présente un exemple de réalisation de l'invention selon lequel 2N=96, 2M=32 et d=0. On observe que la fenêtre décimée a un comportement fréquentiel très semblable à celui de la fenêtre initiale. L'invention n'altère donc pas la réponse en fréquence de la transformée. De même, si l'on considère que l'on part de la fin de chaque segment, l'équation 7 devient pourkE [0;M/2-1] h*(k)=h(fkM1+d) h* (3M+k)=h~3z -1+(k+1)M]-d) h*(3M -k-1)=h(f -(k+1)M1+d) (8) h*(M-k-1)=4N-1-kM]-d) Dans chaque portion on peut également, pour effectuer la transformation de taille M, choisir arbitrairement les points dans la fenêtre initiale de taille 2N. A partir d'un premier coefficient (h(d)) on peut prélever M/2-1 coefficients arbitrairement dans le premier quart de la fenêtre, aux indices dk à condition de sélectionner dans les trois autres portions les coefficients d'indice 2N-1- dk , N-1- dk et N+dk. Cela est particulièrement avantageux pour améliorer la continuité ou la réponse fréquentielle de la fenêtre de taille 2M construite: les discontinuités peuvent être en particulier limitées par un choix judicieux des indices dk. On illustre dans le tableau 3 ci-dessous un mode particulier, avec 2N=48, 2M=16. k index 0 1 1 5 2 11 3 19 4 28 5 36 6 42 7 46 8 49 9 53 10 59 11 67 12 76 13 84 14 90 94 15 Tableau 3 Dans un mode de réalisation avantageux, les blocs 102 et 112 effectuent les étapes d'échantillonnage en même temps que l'étape de repliement ou de dépliement des trames de signal. Dans le cas décrit ici, une fenêtre de pondération d'analyse ha de taille 2N est appliquée à chaque trame de taille 2M en la décimant ou en l'interpolant à la volée dans le bloc 102. Cette étape est réalisée en regroupant les équations (1) décrivant l'étape de repliement et les équations (7) décrivant une décimation régulière. La trame pondérée est « repliée » suivant une transformation 2M vers M. Le « repliement » de la trame T2M de taille 2M pondérée par ha (de taille 2N) vers la trame Tm de taille M peut, par exemple, être fait de la manière suivante : TM(k) =-TzM (31 -k-1)h, (raz -(k+l) N;1 +d)-TzM (3" +k)h (L -l+(k+l) N;]-d) TM (Ml2+k)=-TzM (k)ha(rk ]+d)-TzM (M-k-1)ha(LN-1-kM]-d) kE[O;M12-1] (9) Ainsi, l'étape de décimation d'une fenêtre de taille 2N vers une fenêtre de taille 2M est faite en même temps que le repliement d'une trame de taille 2M vers une trame de taille M. Les calculs effectués sont de même complexité que ceux utilisés pour un repliement classique, seuls les indices étant changés. Cette opération de décimation à la volée ne nécessite donc pas de complexité supplémentaire. De même, au décodage, une fenêtre de pondération de synthèse hs de taille 2N est décimée à la volée dans le bloc 112, en une fenêtre de taille 2M pour être appliquée à chaque trame de taille 2M. Cette étape est réalisée en regroupant les équations (2) de dépliement avec les équations (7) ou (8) de décimation. On obtient ainsi l'équation suivante: T2M(k)=Tm* +k)h (kN;1+d) T2*m +k)=-TM(M-k-1)h Gz -1+(k+1) N; -d) 1(M +k)=-TM(M -k-1)h(N+kM1+d) (10) T2M(32+k) -Tm* (k)h( -1+(k+1)M]-d) kE [O;N/2-1] Là aussi, ces équations n'entrainent pas de complexité supplémentaire par rapport aux équations de dépliement classiques. Elles permettent d'obtenir une décimation de fenêtre à la volée sans avoir de pré-calculs à effectuer et sans avoir à stocker de fenêtres supplémentaires. Dans le cas où la fenêtre de synthèse est le retourné temporel de la fenêtre d'analyse (hs(k)=ha(2N-1-k)) et où le rapport N/M est un entier (donc uniquement une décimation), les équations 10 deviennent : 1 (M+k)=-TM(M-k-1)h((M-k)M T2M(3M+k)=-TM(k)h (N+d) kE [O;N/2-1] Ce mode de réalisation permet de n'avoir en mémoire qu'une seule fenêtre utilisée à la fois pour l'analyse et la synthèse. On a donc montré que les étapes de repliement/dépliement et de décimation peuvent être combinées afin de réaliser une transformation de taille M en utilisant une fenêtre d'analyse/synthèse prévue pour une taille N. On obtient grâce à l'invention une complexité identique à l'application d'une transformation de taille M avec une fenêtre d'analyse/synthèse prévue pour une taille M, ce sans utilisation de mémoire complémentaire. Notons que cet effet est révélé pour une implémentation efficace de la transformation MDCT basée sur une DCT IV (comme suggéré dans H. S. Malvar, Signal Processing with Lapped Transforms, Artech House, 1992), cet effet pourrait également être mis en lumière avec d'autres implémentations efficaces, notamment celle proposée par Duhamel et al. dans "A fast algorithm for the implementation of filter banks based on TDAC", présentée à la conférence ICASSP91). Cette méthode n'est pas limitative, elle peut être adaptée notamment dans le cas où la fenêtre d'analyse présente des 0 et quelle s'applique à la trame en décalage (les échantillons sonores les plus récents sont pondérés par la portion de fenêtre juste avant la portion présentant des zéros) pour réduire le délai de codage. Dans ce cas, les indices affecté aux trames et ceux affectés aux fenêtres sont décalés. Dans un mode de réalisation particulier, on décrit à présent une méthode d'interpolation dans le cas où on dispose d'une fenêtre h de taille 2N et que l'on a des trames de taille M. Dans le cas où N est inférieur à m, une même sélection d'un ensemble de coefficients respectant les conditions de reconstruction parfaite est aussi effectuée. Un ensemble de coefficients adjacents aux coefficients de l'ensemble défini est aussi déterminé. L'interpolation s'effectuant alors en insérant un coefficient entre chacun des coefficients de l'ensemble coefficients définis et chacun des coefficients d'un ensemble de coefficients adjacents pour obtenir la fenêtre interpolée. TZM(k)=TM(M+k)h ((2M-k)M-1-d) T2M(M+k)=-TM(M-k-1)h (3M-k-1 N+d) 1-d) (11) Ainsi, pour respecter les conditions de reconstruction parfaite définis par l'équation (3), si l'on veut insérer un échantillon entre les positions k et k+1, on propose d'insérer des points entre les positions ha(k) et ha(k+l), ha (N-k-1) et ha (N-k-2), ha (N+k) et ha (N+k+l), ha (2N-1-k) et ha (2N-k-2) sur la fenêtre d'analyse et des points entre les positions hs(k) et hs(k+l), hs(N+k) et hs(N+k+l), hs(2N-1-k) et hs(2N-k-2), hs(N-1-k) et hs(N-k-2) sur la fenêtre de synthèse. Les 8 nouveaux points insérés respectent aussi les conditions de reconstruction parfaite de l'équation (3). Dans un premier mode de réalisation, l'interpolation est réalisée par la répétition d'un coefficient de l'ensemble défini ou de l'ensemble de coefficients adjacents. Dans un second mode de réalisation, l'interpolation est réalisée par le calcul d'un coefficient (hcomp) en vue d'obtenir une meilleure réponse fréquentielle pour la fenêtre obtenue. Pour cela, une première étape de calcul d'une fenêtre de complément hier de taille 2N est effectuée. Cette fenêtre qui est une version interpolée entre les coefficients de h de taille 2N, telle que: Jh fit (k) _ (h(k -1) + h(k)) l 2 pour k E [1; 2N -1] h fit (0) = h(0) l 2 Ou encore, une seconde façon de faire qui préserve mieux la réponse en fréquence de la fenêtre interpolée : h(k)+h(k+1) N hinit(k) = 2 pour k E 0; z- 21 hinit(k) = h(k) + h(k+1)-h(k) 3 pour k = 2 - 1 N hinit(k) = h(k) - h(k)-h(k-1) 3 pour k = 2 h(k)+h(k-1) N hinit(k) = 2 pour k E z+ 1; N- 1 hfinit(k) = h(k)+h (k+1) pour k E [N; 2 - 21 2 hfinit(k) = h(k) + h(k+1)-h(k) pour k = 2 - 1 hinit(k) = h(k) - h(k)- ,h(k-1) pour k 3N = 2 h = h(k)+Z (k-1) pour k E [3Z + 1; 2N - 11 finit(k) (12) Dans une deuxième étape, la fenêtre hcomp est calculée selon EP 2319039 pour qu'elle soit à reconstruction parfaite. Pour cela, la fenêtre est calculée sur les coefficients de l'ensemble défini selon les équations suivantes: hcomp(k) = hcomp(k) pour k e [0; N -1] Jhcomp(N + k)2 + hcomp(k)2 hcomp(k + N) = hcomp(k + N) pourk e [0; N -1] Vhcomp(N + k)2 + hcomp(k)2 Cette fenêtre est soit calculée à l'initialisation, soit stockée en ROM. Les étapes d'interpolation et de décimation peuvent être intégrées pour présenter un mode 10 de réalisation dans lequel on applique efficacement une transformation. En référence aux figures 4(a) et 4(b), ce mode de réalisation est illustré. Il est décomposé en deux étapes : - dans une première étape illustrée à la figure 4(a), on part d'une fenêtre ha de taille 15 2N pour obtenir une seconde fenêtre h de taille 2N' (ici 2N=96 et 2N'=32, c'est-à-dire qu'une décimation d'un facteur 3 est réalisé). Cette décimation est irrégulière, conforme au à l'équation (7) et peut être intégrée au calcul du repliement ou dépliement temporel. - dans une seconde étape illustrée à la figure 4(b), on adjoint aux 2N' coefficients de h, 20 un ensemble de coefficients complémentaires hcomp pour obtenir au total 2M coefficients (ici le nombre de coefficients complémentaire est 2N', on obtient donc 2M=4N'). Sur l'exemple particulier aux figures 4(a) et 4(b), on a réalisé la conversion d'une fenêtre initiale de taille 2N=96 prévue pour une MDCT de taille N=48 vers une fenêtre destinée à 25 implémenter une MDCT de taille M=32, en construisant une fenêtre de taille 2M=64. Au moment de la transformation, dans le bloc 102, la fenêtre ha et la fenêtre hcomp sont appliquées alternativement en respectant les équations suivantes: (k+1)=-T2M (3M2-(k+1)-1)ha ((3N -k/2-1)N,+d)-T2M (3M+k+1)ha ((3N +k/2+1)NN-1-d) M 2 N 2 2 Tm (k) _ -T2M (3'12 - k -1)hcomp (32 r - k / 2-1)- T2M (3'12 + k )hcomp (3 z . + k / 2) TM(M/2+k)_-T2M(k)ha((k/2)N,+d)-T2M(M-k-1)ha((N'-k/2) --1-d) Tm (M / 2+ k +1) = -T2M (k + 1)hcomp(k / 2) - T2M (M - (k + 1) -1)hcomp(N'-k / 2-1) k prend toutes les valeurs paires entre [0;M / 2-1] (13) 30 (14) où, par exemple, d=0.5*(N/N'-1)=1. De même, au moment de la transformation inverse dans le bloc 112, en considérant que la fenêtre de synthèse est le retourné temporel de la fenêtre d'analyse (ha), la fenêtre h obtenue par décimation de ha puis la fenêtre hcomp sont appliqués alternativement selon les équations: TZM(k)=TM(M +k)ha((2N'-k/2)N,-1-d) T2M (k + 1) = Tm* (M + k + 1)hcomp(2N'-k / 2 -1) T2M(M+k+1)=-TM(M-(k+1)-1)ha((3z -k/2-1)N,+d) T2M(M+k)_-TM(M-k-1)hcomp(3z -k/2-1) T2M(M+k)=-TM(M-k-1)ha((N'-k/2)N,-1-d) T2M (M + k +1) = -TM - (k +1) -1)hcomp(N'-k / 2 -1) T2M(3M+k+1)=-TM(k+1)ha((z -k/2-1)N,+d) T2M(3M+k)=-TM(k)hcomp (z--k/2-1) k prend toutes les valeurs paires entre [0; M / 2 -1] (15) De nombreuses déclinaisons sont possibles selon l'invention. Ainsi, à partir d'une seule fenêtre stockée en mémoire, il est possible d'obtenir une fenêtre de taille différente, soit par interpolation, soit par décimation ou soit par interpolation d'une fenêtre décimée ou inversement. La flexibilité du codage et du décodage est donc grande sans pour autant augmenter la place mémoire ou les calculs à effectuer. La mise en oeuvre de la décimation ou de l'interpolation lors du repliement ou du dépliement de la MDCT apporte un gain supplémentaire en complexité et en flexibilité. La figure 5 représente une réalisation matérielle d'un dispositif de codage ou de décodage selon l'invention. Ce 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 codage ou de décodage au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment un échantillonnage irrégulier d'une fenêtre initiale prévue pour une transformée de taille initiale N donnée, pour appliquer une transformation secondaire de taille M différente de N. Typiquement, la description de la figure 1 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. Un tel équipement comporte un module d'entrée apte à recevoir un flux audio X(t) dans le cas du codeur ou des indices de quantification IQ dans le cas d'in décodeur. Le dispositif comporte un module de sortie apte à transmettre des indices de quantification IQ dans le cas d'un codeur ou le flux décodé g (t) dans le cas du décodeur. Dans un mode possible de réalisation, le dispositif ainsi décrit peut comporter à la fois les fonctions de codage et de décodage.15 REVENDICATIONS1. Procédé de codage ou de décodage par transformée d'un signal audionumérique utilisant des fenêtres de pondération d'analyse (ha) ou de synthèse (hs) appliquées à des trames d'échantillons, caractérisé en ce qu'il comporte un échantillonnage irrégulier (E10) d'une fenêtre initiale prévue pour une transformée de taille initiale N donnée, pour appliquer une transformation secondaire de taille M différente de N. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape d'échantillonnage comporte la sélection à partir d'un premier coefficient d de la fenêtre initiale (avec 0 3. Procédé selon la revendication 2, caractérisé en ce que lorsque N est supérieur à M, une décimation de la fenêtre initiale s'effectue en conservant au minimum les coefficients de l'ensemble défini pour obtenir une fenêtre décimée. 20 4. Procédé selon la revendication 3, caractérisé en ce qu'il comporte la sélection d'un deuxième ensemble de coefficients espacés d'un écart constant avec les coefficients de l'ensemble défini et en ce que la décimation s'effectue en conservant en outre les coefficients du deuxième ensemble pour obtenir la fenêtre décimée. 25 5. Procédé selon la revendication 4, caractérisé en ce que la décimation d'une fenêtre de taille 2N en une fenêtre de taille 2M s'effectue selon les équations suivantes: pourkE [0;M/2-1] h*(k)=h(k;1+ d) h*(2M-k-1)=h(_2N-1-k]-d) h*(M+k)=h(N+kMl+d) h*(M-k-1)=h( _N-1-kj-d) 30 où h* est la fenêtre d'analyse ou de synthèse décimée, h est la fenêtre d'analyse ou de synthèse initiale, LX] est l'entier le plus proche X, [Xi est l'entier le plus proche X et d est la valeur du premier coefficient de l'ensemble défini. 10 6. Procédé selon la revendication 2, caractérisé en ce que lorsque N est inférieur à M, une interpolation s'effectue en insérant un coefficient entre chacun des coefficients de l'ensemble de coefficients définis et chacun des coefficients d'un ensemble de coefficients adjacents pour obtenir une fenêtre interpolée. 7. Procédé selon la revendication 6, caractérisé en ce qu'il comporte la sélection d'un deuxième ensemble de coefficients espacés d'un écart constant avec les coefficients de l'ensemble défini et en ce que l'interpolation s'effectue en insérant en outre un coefficient entre chacun des coefficients du deuxième ensemble et chacun des coefficients d'un ensemble de coefficients adjacents pour obtenir la fenêtre interpolée. 8. Procédé selon l'une des revendications 6 à 7, caractérisé en ce qu'il comporte le calcul d'une fenêtre complémentaire comportant des coefficients calculés à partir 15 des coefficients de l'ensemble définis et des coefficients adjacents, pour interpoler ladite fenêtre. 9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que l'étape d'échantillonnage irrégulier et une décimation ou interpolation de la 20 fenêtre initiale sont effectuées lors de l'étape de mise en oeuvre du repliement ou du dépliement temporel utilisé pour le calcul de la transformée secondaire. 10. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que à la fois une décimation et une interpolation de la fenêtre initiale sont effectuées lors de l'étape de mise en oeuvre du repliement ou du dépliement temporel utilisé pour le calcul de la transformée secondaire. 11. Procédé selon la revendication 9, caractérisé en ce que la décimation lors du repliement temporel s'effectue selon l'équation suivante: T,M(k)=-Tzu(3M-k-1)h (r -(k+1)M1+d)-T2M(M+k)h (L3z -l+(k+1)MJ TM(M12+k)=-T2M(k)h(rk 1+d)-T2M(M-k-1)h([N-1-kM]-d) kE[0;M/2-1] avec Tm une trame de M échantillons, TZM, une trame de 2M échantillons. 35 12. Procédé selon la revendication 9, caractérisé en ce que la décimation lors du dépliement temporel s'effectue selon l'équation suivante: 10 25 30T2M(k)=TM(M +k)h (kM1+d) T2*m +k)=-TM(M-k-1)h -1+(k+1) N; -d) T2M(M+k)=-TM(M -k-1)h(N+k1+d) T2M (3M + k) -TM (k )h (~3z -1 + (k + 1) M ] - d ) kE [0;N/2-1] avec T*M une trame de M échantillons, T*2M, une trame de 2M échantillons. 13. Procédé selon les revendications 8 et 10, caractérisé en ce que lorsque la 5 transformée secondaire est de taille M=2/3N, une décimation de la fenêtre initiale puis une interpolation est effectuée lors du repliement temporel selon les équations suivantes: TM (k+1)=-T2M (3M2 -(k+1)-1)ha((3N2 N '-k/2-1)"",+d)-TZM (3t"2 +k+1)ha((3N2 +k/2+ 4-1-d) TM(k)=-TzM(3M-k-1)hcomp(32' -k/2-1)-TzM (3M+k)hcomp(32 +k/2) TM (M /2+ k) = -TzM (k)ha ((k / 2) 2, + d )- TzM (M - k -1)ha ((N'-k / 2) 2, -1- d TM (M / 2 + k + 1) = -TzM (k + 1)hcomp (k / 2) - TzM (M - (k + 1) -1)hcomp (N'-k / 2- 1) k prend toutes les valeurs paires entre [0;M / 2-1] 10 avec TM une trame de M échantillons, T2M, une trame de 2M échantillons, hcomp la fenêtre complémentaire. 14. Procédé selon les revendications 8 et 10, caractérisé en ce que lorsque la 15 transformée secondaire est de taille M=2/3N, une décimation de la fenêtre initiale puis une interpolation est effectuée lors du dépliement temporel selon les équations suivantes: T2M(k)=TM(M+k)ha((2N'-k/2)N,-1-d) T2M (k + 1) = TM (M + k + 1)hcomp(2N'-k / 2 -1) T2M(M+k+1)=-TM(M-(k+1)-1)ha((3z -k/2-1)N,+d) T2M (M + k) = -TM (M - k -1)hcomp(3z - k / 2 -1) T2M(M+k)=-TM(M-k-1)ha((N'-k/2)N,-1-d) T2M (M + k + 1) = -TM (M - (k + 1) -1)hcomp(N'-k / 2 -1) T2M(M+k+1)=-TM(k+1)ha((z -k/2-1)N,+d) T2M(M+k)=-TM(k)hcomp (z--k/2-1) k prend toutes les valeurs paires entre [0; M / 2 -1] avec Tm une trame de M échantillons, TZM, une trame de 2M échantillons, hcomp la fenêtre complémentaire. 15. Dispositif de codage ou de décodage par transformée d'un signal audionumérique utilisant des fenêtres de pondération d'analyse (ha) ou de synthèse (hs) appliquées à des trames d'échantillons, caractérisé en ce qu'il comporte un module d'échantillonnage (102, 112) apte à échantillonner de manière irrégulière, une fenêtre initiale prévue pour une transformée de taille initiale N donnée, pour appliquer une transformation secondaire de taille M différente de N. 16. Programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé de codage ou de décodage selon l'une des revendications 1 à 14, lorsque ces instructions sont exécutées par un processeur.15