Brevet FR2901433A1 — publié le 20071123

En effet, la diversité des formats de codage, supportés par des terminaux différents et utilisés pour la communication de signaux, pose souvent des problèmes d'incompatibilité, notamment dans certaines applications de délivrance de contenu. Le transcodage pour l'adaptation du format d'un signal au type du décodage supporté par un terminal de restitution apporte une solution à ce problème. La technique conventionnelle de transcodage introduit souvent un retard algorithmique supplémentaire et nécessite une certaine complexité de traitement. Le transcodage dit "intelligent" vise à réduire ces paramètres. En traitement de signaux audionumériques notamment, les codeurs utilisés sont à base de codage par transformée. Souvent, différents formats de compression utilisent différents types de transformées ou "bancs de filtres". Une première difficulté à surmonter consiste donc à réaliser des structures efficaces de passage entre différentes représentations en domaine de sous-bandes, notamment lorsque le nombre de filtres d'un banc d'un premier domaine de sous-bandes est différent du nombre de filtres d'un banc d'un second domaine. Une solution générale à ce problème a été proposée dans le document FR-2,875,351 et vise un filtrage matriciel unique, remplaçant l'application successive du banc de synthèse du premier domaine et du banc d'analyse du second domaine, ce filtrage unique étant représenté par une matrice carrée de dimension valant le plus petit commun multiple des nombres de filtres par banc respectivement dans le premier et dans le second domaine. Néanmoins, il peut se poser une difficulté supplémentaire liée au fait que les bancs de filtres précités peuvent varier dans le temps. En effet, la plupart des codeurs actuels (MPEG-4 AAC, Dolby AC-3) utilisent des bancs de filtres variant dans le temps, alors que les conversions entre différents domaines de sous-bandes qui ont été proposées dans l'état de l'art ne sont applicables 3 que pour des représentations temps/fréquences correspondantes invariantes dans le temps. En particulier, les codeurs les plus récents (notamment en codage normalisé MPEG- 2/4 AAC, ou en codage de type Dolby AC-3, pour des sigmaux audionumériques) utilisent des représentations temps/fréquences où la résolution peut être variable dans le temps. La résolution dépend en particulier des propriétés à court terme du signal traité. Dans ce cas, les coefficients définissant les bancs de filtres d'analyse et de synthèse appliqués pour le passage d'un premier à un second domaine de sous-bandes et vice-versa, varient dans le temps et les principales équations du système de conversion, proposées dans le document précité FR-2,875,351, ne peuvent plus être appliquées directement. Ainsi, pour étendre l'application du transcodage au cas d'une variabilité en fonction du temps, les équations de conversion entre représentations du signal dans différents domaines de sous-bandes doivent permettre de traiter le cas des codeurs perceptuels les plus récents dans lesquels interviennent des bancs de filtres variant dans le temps. La présente invention vient améliorer la situation. Elle propose à cet effet un procédé mis en oeuvre par des ressources informatiques pour traiter un signal par passage entre domaines différents de sous-bandes. Le procédé vise à compacter en un même traitement l'application d'un premier vecteur représentant le signal dans un premier domaine de sous-bandes à un banc de filtres de synthèse, puis à un banc de filtres d'analyse, pour obtenir un second vecteur représentant le signal dans un second domaine de sous-bandes. On prévoit dans ce type de procédé l'application d'un filtrage matriciel au premier vecteur pour obtenir directement le second vecteur. Selon l'invention, le banc de synthèse et/ou le banc d'analyse sont variants dans le temps. Le filtrage matriciel est représenté par une matrice globale de conversion comportant des sous-blocs matriciels : • pré-calculés en tenant compte des variations possibles dans le temps des bancs de filtres, ^ et stockés en mémoire, et la matrice globale de conversion est construite par appel à ladite mémoire pour obtenir lesdits sous-blocs pré-calculés à des instants successifs. Avantageusement, on prévoit un nombre fini d'états possibles auxquels sont associés des jeux respectifs de coefficients des bancs de synthèse et/ou d'analyse, et les sous-blocs précités sont pré-calculés à partir desdits jeux respectifs pour tous les états possibles, tandis que la matrice globale de conversion est déterminée pour au moins un état possible défini à partir des propriétés du signal à traiter, notamment des propriétés de stationnarité du signal. La présente invention vise aussi un dispositif pour traiter un signal par passage entre domaines différents de sous-bandes. Un exemple d'un tel dispositif est illustré sur la figure 11 qui sera décrite en détail plus loin. Pour la mise en oeuvre du procédé au sens de l'invention, il comporte, outre des ressources informatiques générales incluant notamment un processeur (non représenté) : - une mémoire DD stockant les sous-blocs pré-calculés, - une horloge HOR pour déterminer des instants successifs, et - un module de filtrage matriciel MFM agencé pour récupérer de la mémoire DD les sous-blocs pré-calculés pour ces instants successifs, pour la construction de la matrice globale de conversion. Avantageusement, le dispositif comporte en outre une commande de bascule SW pour: - définir, à partir du signal à traiter, l'un desdits états possibles et des jeux de coefficients associés, et - gérer l'accès à ladite mémoire en fonction de l'état défini. Un tel dispositif peut être intégré à un équipement tel qu'un serveur, une passerelle, ou encore un terminal, destinés à un réseau de communication. La présente invention vise aussi un programme informatique, destiné à être stocké dans une mémoire d'un tel dispositif et comportant des instructions pour la mise en oeuvre du procédé au sens de l'invention. Un algorithme possible d'un tel programme peut être représenté très schématiquement par l'organigramme de la figure 14 qui sera décrite en détail plus loin. D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée ci-après, donnée à titre d'exemple de réalisations, et des dessins annexés sur lesquels, outre les figures 1 et 2 décrites précédemment : - la figure 3 illustre des recouvrements de blocs successifs longs et courts intervenant pendant deux transitions d'une transformée TV-MLT, en comparaison d'un axe temporel TEMP ; - la figure 4A représente une fonction de transition hstart(n) d'une transformée TV- MLT ; - la figure 4B représente le fenêtrage intervenant pendant deux changements de résolution de la transformée TV-MLT ; - la figure 5A illustre un banc de filtres d'analyse variant dans le temps, à décimation maximale ; - la figure 5B illustre un banc de filtres de synthèse variant dans le temps, à décimation maximale ; - la figure 6 est un schéma conventionnel détaillé de la conversion entre différents domaines de sous-bandes ; - la figure 7 est un schéma illustrant la conversion entre les représentations d'un signal par deux transformées TV-MLT de tailles différentes, à titre d'exemple pour un transcodage entre le format Dolby AC-3 vers le format MPEG-2/4 AAC ; - la figure 8A illustre une étape intermédiaire de la construction des états d'une sous- matrice de conversion basée sur une première forme, dite "forme A" ci-après ; 6 - la figure 8B illustre une étape intermédiaire de la construction des états d'une sous-matrice de conversion basée sur une seconde forme, dite "forme B" ci-après ; - la figure 9A illustre la construction des états de la matrice globale de conversion T(n,Z) dans un cas général K = ppcm(L,M) sous la forme A ; - la figure 9B illustre la construction des états de la matrice globale de conversion T(Z,n) dans un cas général K = ppcm(L,M) sous la forme B ; - la figure 10A illustre un exemple de conversion globale comme une transformée à recouvrement dans un premier cas particulier où M = pL ; - la figure 10B illustre un exemple de conversion globale comme une transformée à recouvrement dans un second cas particulier où L = pM ; - la figure 11 illustre un exemple de réalisation d'un système global de conversion au sens de l'invention ; - la figure 12A illustre le fonctionnement d'un sous-système d'ordre i du système de la figure 11, pour délivrer une composante polyphasée convertie V,(n) d'un vecteur signal de sortie, à la manière d'un système linéaire variant dans le temps, pour une mise en oeuvre selon la forme A ; - la figure 12B illustre une représentation du système global de conversion, défini sous la forme A, comme un ensemble de sous-systèmes linéaires variant dans le temps ; - la figure 12C illustre le fonctionnement d'un sous-système d'ordre i du système de la figure 11, pour délivrer une composante polyphasée convertie V,(n) d'un vecteur signal de sortie, à la manière d'un système linéaire variant dans le temps, pour une mise en oeuvre selon la forme B ; - la figure 12D illustre une représentation du système global de conversion, défini sous la forme B, comme un ensemble de sous-systèmes linéaires variant dans le temps ; - la figure 12E illustre le développement du système global de conversion, en tant que système linéaire variant dans le temps et utilisant les transformations à recouvrement (OLA) ; - les figures 13A et 13B illustrent une matrice de conversion globale, tridimensionnelle, représentée par des sous-blocs ; 7 - la figure 14 illustre un exemple de réalisation des étapes de construction de la matrice globale de conversion. Avant de décrire en détail un ou plusieurs modes de réalisation, on justifie ci-après le choix de l'approche que propose la présente invention. En particulier, on justifie dans ce qui suit le fait de représenter des transformées variant dans le temps par des bancs de filtres et on démontre d'ailleurs une équivalence dans leur représentation par des bancs de filtres. Les codeurs notamment de type MPEG-2/4 AAC et Dolby AC-3 utilisent des représentations temps/fréquences à résolution variable . Ils opèrent en procédant à des analyses par transformées à recouvrement variant dans le temps, dont un exemple est la transformée de type dit "TV-MLT" (pour "time-varying modulated lapped transform" ce qui se traduit par "transformée modulée à recouvrement, variant dans le temps") où la taille des blocs traités dépend des propriétés instantanées du signal. La représentation temps fréquences de ces codeurs est qualifiée d'adaptative car les fonctions de base de la transformée à recouvrement varient dans le temps, selon les caractéristiques à court terme du signal. La représentation d'une transformée MLT classique (invariante dans le temps) par un banc de filtres uniforme à reconstruction parfaite est connue. On rappelle qu'une transformée MLT est un cas particulier d'analyse/synthèse par banc de filtres modulé en cosinus, où la longueur N des filtres (équivalente au degré des filtres "plus 1") est égale à deux fois le nombre de sous-bandes M (équivalente au nombre de filtres par banc), soit N = 2M . On ne décrit pas en détail le principe des transformées MLT invariables dans le temps, étant entendu qu'il est divulgué largement dans l'art antérieur, notamment dans : "Signal Processing with Lapped Transform" de H.S. Malvar, Artech House, Boston, 1992. On décrit ici le cas d'une variation temporelle de la conversion, suite par exemple à un changement de résolution de l'un des codeurs intervenant dans le transcodage. Les codeurs de type MPEG-2/4 AAC et Dolby AC-3 fonctionnent avec des 5 transformées MLT dont le paramètre M peut prendre deux valeurs qui définissent deux tailles de fonction fenêtre h(n) différentes (M, ou M2 selon le tableau ci-après). MPEG-2/4 AAC Dolby AC-3 Fenêtre longue 2M, 2048 512 Fenêtre longue 2M2 256 256 r M1/M2 8 û 2 ù An 448 64 Tailles des fenêtres des codeurs MPEG-2/4 AAC et Dolby AC-3. 10 Le passage d'une taille de fenêtre à l'autre crée une variation dans le temps de la résolution fréquentielle de la transformée. Par ailleurs, ce passage doit être opéré tout en conservant la propriété de reconstruction parfaite du signal, Les transformées TVMLT utilisées par les codeurs précités vérifient bien cette condition. Plus particulièrement, la technique de commutation de fenêtres (pour "windows switching"), 15 définie dans la norme MPEG-2/4 AAC, utilise des fonctions fenêtres de transition asymétriques notées ci-après hstai et hstop, pendant les périodes de changement de résolution. On définit ci-après les opérations mises en oeuvre par les transformées TV-MLT en 20 suivant l'allure des fenêtres de transitions hstad et hstop qui garantissent la propriété de reconstruction parfaite. La matrice de transformée à recouvrement, P, est décomposée de la manière suivante : P=DM hM 25 où l'opérateur 0 est défini comme le produit composantes à composantes et lignes à lignes des éléments matriciels. DM est la matrice de modulation, de taille, M x 2M , définie par : do (0) do (1) ... do (2M -1) " d,(0) d,(1) d,(2Mû1) Dm = (1) dm-1 (0) dM-I (1) ... dM_, (2M -1)) avec les fonctions de base telles que : M 1 dk(n) ~M cos n +2 k + 2 M ~ i et k=0,...,Mû1, n=0,1,...,(2Mû1). On note hM le vecteur associé à la fonction fenêtre de longueur 2M , avec : hm = (hm (0) hm (1) .hm (2M -1 Ses composantes hm (n) peuvent être définies par exemple par la fonction sinusoïdale (la plus couramment utilisée dans les applications de traitement de signaux audio), de type : (2) hM (n) = sin n- 1 \- n+ù 2111 2 (3) On note enfin hM et h ,2 les vecteurs associés respectivement aux fonctions fenêtres 15 de longueurs respectives M, et M2 , et r le ratio tel que r = MI/NI2 (>1)...DTD: On adopte une représentation en composantes polyphasées du signal d'entée x(n) telle que : ui(m)=x(mMûl), 1=0,...,Mû1 20 Le bloc d'échantillons représentant une composante polyphasée d'indice m est alors défini par : u(m) = (uM-i (m) ...u, (m) uo (m)) où la notation xT désigne la transposée du vecteur x . Pour obtenir un bloc de 2M échantillons, on concatène deux blocs successifs tel que : U(m) (u(m -1) u(m))T La transformée du bloc signal U(m), notée Y(m), est déterminée par : Y(m) = PU(m) où Y(m) = (yo (m) y, (m) .. . yM_, (m))T est le vecteur des coefficients transformés. Lors d'un passage d'une fenêtre longue à une fenêtre courte, on prend le cas d'un vecteur de signal U(m) de longueur 2M, auquel on applique une fenêtre longue de transition, notée h5}art , avec la matrice de modulation DM. Le vecteur précédent U(m -1) est de longueur 2M, auquel on a normalement appliqué une fenêtre longue standard hM avec la matrice de modulation DM . En revanche, les r vecteurs aux instants suivants (m+1, m+2, ..., m+r), notés W(m + 1) , W(m + 2) , ..., W (m + r) , sont tous de longueur courte 2Mz . On leur applique des fenêtres courtes standard hMz avec la matrice de modulation Dä Ensuite, lors d'un passage d'une fenêtre courte à une fenêtre longue, le signal U(m + 2) est de longueur 2M, et on applique une fenêtre longue de transition, notée hstop , avec la matrice de modulation DM . Les composantes des vecteurs qui interviennent pendant les deux changements successifs de taille de fenêtre s'écrivent : U(m) = (x((m ù 2)M, + 1) ...x(mM, )) W(m+1) =(x((mùl)M, +On+1)...x((mù1)M, +An+2Mz)) W(m+r) =(x((mùl)M, +4n+(rù1)M2 +1)...x((mù1)M, +An+(r+1)M2)) U(m + 2) = (x(mM, +1)...x((m+2)M,)) Le paramètre An est fixé à la valeur An = (M, ùM2)/2 . Les dispositions de ces (4) (5) vecteurs sont illustrées sur la figure 3 pour le cas où M,/M2 = 2 . La figure 3 illustre en particulier une transition fenêtre longue à fenêtre courte à l'instant mM, et une transition fenêtre courte à fenêtre longue à l'instant (m +1)M, . L'axe des temps porte la référence TEMP. On constate un recouvrement entre le vecteur long U(m) et les vecteurs courts W (m +1) , W (m + 2) suivants. Ce recouvrement est le même que celui entre les vecteurs courts et le premier vecteur long suivant U(m + 2) . Dans ces conditions, il a été montré que la propriété de reconstruction parfaite de la transformée TV-MLT ne dépend, comme pour le cas d'une transformée MLT classique, que des fonctions fenêtres utilisées et, en particulier, des deux fenêtres de transition hstat. et hs,,,, de longueur 2M, . La condition de reconstruction parfaite est vérifiée pendant les périodes de transitions si ces fenêtres de transitions sont celles définies selon les quatre conditions ci-après, en supposant que la dimension de la transformée change à l'instant mM, de M, vers M2 , puis à l'instant (m +1)M, de M2 vers M, . * Première condition : la fonction fenêtre, pour une transformée de taille M, , est telle i v, n+ù 05n52M,-1 2M, 2 * Seconde condition : la fonction fenêtre qui intervient à la transition de M, vers M2 est telle que : que : hM (n) = sin20 hs~art (n) 12 i 1\ n+ 2M1,, 2_ 1 sin nùAnùM2 + 2M2 2, o 0 15 La figure 4A illustre l'allure de la fonction de transition hsta, (n) qui intervient pendant un changement de dimension de M, vers M2 définie par les quatre conditions ci-avant assurant une reconstruction parfaite. On notera que la fenêtre de transition hs,0p (n) réciproque intervenant pendant une transition de M2 vers M, est simplement telle que : hsrop (n) = hst r, (2M, û 1 û n) La figure 4B représente la succession des fenêtres de transition qui interviennent pendant les deux périodes de changement de résolution temporelle de la transformée TV-MLT. Plus particulièrement, la figure 4B illustre le fenêtrage intervenant pendant les deux changements de résolution de M, vers M2 , puis de M2 vers M, , avec dans l'exemple représenté M, =1024 et M2 =128. En pratique, on peut alors considérer plusieurs changements de résolution de la transformée. Ces changements de résolution interviennent aux instants multiples de M, et sont déclenchés en fonction des propriétés du signal incident, notamment de stationnarité. Cette propriété est connue des codeurs à changement dynamique de résolution. En particulier, en référence à la figure 4B, on note des équivalents de transformées MLT : - sur une fenêtre longue pour les instants n compris entre 0 et 2047, appelée ci-après "première région", - sur une première fenêtre de transition pour assurer une reconstruction parfaite, pour les instants n compris entre 1024 et 2623, appelée ci- après "deuxième région", - sur une succession d'une pluralité de fenêtres courtes (r fenêtres hm, de taille M2 ), pour les instants n compris entre 2496 et 3647, appelée ci-après "troisième région", et - sur une seconde fenêtre de transition pour assurer une reconstruction parfaite vers un retour à une fenêtre longue, pour les instants n compris entre 3520 et 5119, appelée ci-après "quatrième région". L'observation du fenêtrage sur la transition, comportant en particulier la troisième région avec la succession de fenêtres courtes, est importante pour la suite de la 13 description. La transformation TV-MLT globale peut être définie de façon complète par une 5 matrice globale de conversion, de dimension "infinie", notée T(m) et telle que : Po(mû1) P1(mû1) Po (m) P, (m) Po(m+1) P,(m+1) Po(m+2) P1(m+2) où Po (m) et P, (m) sont des sous-matrices de taille M x M définies aux indices de bloc m qui correspond à l'instant mM, . 10 En particulier, la concaténation P(m) _ [Po (m) P, (m)] de taille M, x 2M1 représente la matrice de transformation à recouvrement dont les expressions seront données ci-après pour tout instant mM, . La condition de reconstruction parfaite qu'assure la transformée TV-MLT est régie par 15 l'égalité : TT (m)T(m) =1 En utilisant la formulation (6) de la matrice de transformation, la condition de reconstruction parfaite est définie de façon équivalente simplement par les trois égalités suivantes : 20 Po (m)Po(m)+P,T(mù1)P,(mù1)=I P1T(m)P,(m)+Pô (m+1)Po(m+1)=I (7) Po (m)P, (m) = 0 La condition de reconstruction parfaite (7) implique que la matrice de transformée à 14 T(m) = (6) recouvrement P(m) reste orthogonale aux deux matrices voisines P(m -1) et P(m + 1) . En reprenant les quatre conditions données plus haut, avec la succession de changements de taille de la transformation, les matrices de transformées à recouvrement sont alors définies par : P(m -1) = Dm, 0 hm, P(m) = DM, hstar, P(m + 2) = DM, hs,op (8) où hs,art = (hs,a, (0) ...hs,art (2M, )) et hstop = (hstop (0) .hs,"p (2M, )) ...DTD: La matrice de transformée à recouvrement, finie, associée au bloc m +1 qui correspond à r transformées MLT successives de taille M2 ("troisième région" de la figure 4B) est, quant à elle, définie par : 0 . 0PP2 P12 0 00 ... 0 0 P0"2 PP"2 . 0 (9) P(m +1) =- 1) ... 0 0 0 Po`2 PM2 0 ... 0 où Po '''2 et P,M2 sont les matrices de transformées à recouvrement de la transformée MLT de taille M2 x 2.M2 et qui se décomposent aussi sous une forme du type [Po "2 P,M2 I = DM, h On montre ainsi qu'il existe quatre situations possibles (quatre régions de la figure 4B) définies par quatre valeurs possibles de la matrice P(m) . On comprendra déjà que la matrice de transformée à recouvrement P(m) admet quatre "états" possibles. 20 Dans la suite, l'expression de la matrice P(m +1) donnée ci-avant, correspondant à l'un des quatre états admissibles, sera notée QMZ pour qualifier de manière générale cet état parmi les quatre états admissibles...DTD: Partant des définitions des matrices à recouvrements possibles P(m) , on montre que15 16 les conditions de reconstruction parfaite (7) sont vérifiées quand les fonctions fenêtres des filtres prototypes hsta, et hs1op sont celles définies par les quatre conditions ci- avant. L'opération de transformation directe de la transformée TV-MLT est alors définie par : Y(m) = P(m)U(m) (10) où Y(m) est le vecteur des coefficients transformés à l'instant mM1 et U(m) est un vecteur défini à partir du vecteur d'entrée par la relation (3) ci-avant. L'opération de transformation inverse est définie, comme pour le cas invariant de la transformée MLT, par deux étapes : - transformation inverse des vecteurs des coefficients transformés : Z(m) = P(m)T Y(m) (11) - addition avec recouvrement (ou OLA pour "overlap and add") des vecteurs obtenus û(m) = z0(m)+z,(m-1) (12) où on note : - zo(m) et z,(m) les blocs de taille M, composant le vecteur Z(m), tel que Z(m) = (zo(m) zi(nl)) , et - û(m) le vecteur reconstruit, censé valoir le vecteur initial u(m) car la reconstruction est parfaite. On décrit maintenant les bases d'une représentation d'une transformée TV-MLT par des bancs de filtres. La transformée TV-MLT présentée ci-avant permet de passer d'une transformée MLT de taille M, à une transformée MLT de taille M2 (ou inversement de M2 à mi ), tout en conservant la propriété de reconstruction parfaite du signal. On a ainsi montré 17 comment traiter les transformations directes et inverses de la transformation TV-MLT, sur des blocs vecteurs (le même taille constante 2M, . En considérant le cas de la transformation du vecteur U(m +1) par la matrice de transformation à recouvrement donnée par la relation (9) ci-avant (troisième région de la figure 4B), le vecteur Y(m +1) de taille M, , tel que : Y(m +1) = P(m + l)U(m +1) est défini, par construction, comme étant la concaténation des r vecteurs transformés suivants, tous de taille ,l42 DMz hMz W (m +1), DM hM2 W (m + 2), ..., DM2 hMz W (m + r) . On rappelle que cette construction découle de l'observation de la figure 4B dont l'importance était soulignée ci-avant. La matrice de transformée à recouvrement du bloc (m +1) est construite de manière à respecter le décalage temporel An (figure 3). Dans le cadre de la modélisation du système de conversion entre différents domaines de sous-bandes, il est avantageux de disposer d'une architecture d'implémentation de la transformée TV-MLT qui conduit à des opérations d'analyse/synthèse à dimension constante. Il est proposé ci-après une architecture en bancs de filtres à décimation maximale variant dans le temps définie comme suit. La transformation TV-MLT utilisée notamment par les codeurs normalisés MPEG-2/4 AAC ou Dolby AC-3 et décrite précédemment admet une représentation en banc de filtres à décimation maximale variant dans le temps. La longueur des filtres est égale à deux fois le nombre M, de sous-bandes. Le banc de filtres d'analyse (respectivement de synthèse) équivalent est décrit par le diagramme de la figure 5A (respectivement de la figure 5B) et les représentations dans le domaine de la variable Z des filtres H (n, 2),..., HM' - n, 2) (respectivement F (Z, n), ..., Fm'-' (Z, n)) aux instants mM, sont définies comme suit. Sur une période à résolution temporelle MI, les coefficients des réponses impulsionnelles ho (mM, ), ..., hzM _, (mM,) et fo (mM, ), .. fzM _, (mM,) , avec k = 0,...,M, -1, sont donnés par les relations (13) et (14) : 18 (hoM,-,(mM) . h0(mM,) hzM, -~ (mM,) ... ho (mM, ) =DM hM ; (13) h M' -1(mM,) ..l ho (mM,), f0 (mM,) ... fzM,-,(mMI) fo' (mM,) ... f'M, (mMl ) = DM hM (14) fô~`''(mM,) ... .fm', 1(mM1)) Il s'agit d'un premier état possible correspondant à la situation de la première région de la figure 4B. Pendant une période à résolution temporelle M2 , les coefficients des réponses 15 impulsionnelles ho (mM, ), ..., h, _, (mM,) et fok (mM, ),.. DTD: ., fzM _, (mM,) , avec k = 0, ..., M, -1, sont donnés par les relations (15) et (16) : h 2m, _1 ... hô(mM,) h2Al]-,(mM,) ... ho(mM,) (15) =QM, ; hM',~i(mM,) ... ho''(mM,)) fo(mM,) fzM,ù,(mM,) fo( mM,) /2'M,-,(mMl) QMz (16) ,,fo .m-1) ". .f2M,-'~(mM Il s'agit d'un deuxième état possible correspondant à la situation de la troisième région de la figure 4B. Pendant une période de transition passant d'une résolution M, vers Mz , les coefficients des réponses impulsionnelles ho (mM, (mM,) et fô (mM,),..., f M_,(mM,), avec k =0,...,M, -1, sont donnés par les relations (17) et (18) : (hoMù,(,mM,) ho (mM1) h2M]-1( mM,) h, (mM,) vhzû,-i(mM,).. DTD: . ho'-'(mM fO(mM,) f M,-,(mm,) .fo (mM,) ffM,-, (mM, ) foM'_'(mM,)..DTD: • f M ',(mM,))..DTD: 15 Il s'agit d'un troisième état possible correspondant à la situation de la deuxième région en figure 4B. Pendant une période de transition passant d'une résolution M2 vers MI, les coefficients des réponses impulsionnelles ho (mM, ), ..., hzM (mM,) et 20 fok (mM, ), ..., J, _, (mM,) , avec k = 0,..., M, -1, sont donnés par les relations (19) et 10 = DM, hstart ' (17) =DM, hstart (18) (20) : 'h 2 MI 1(mMI ) ho (mM1) " hz.M, -I (mM) ... ho' (mM ) = DM, hstop ; (19) hM''['1(mMl) "' hô ' '(mM1) fo (mM1) f2M,ù1(mMl) fo (mM,) ... .f21M,-I (mMI ) = DM, hstop (20) M,ù1 M,ùI \fo (mi111) "' f2Mù1(mMI), Il s'agit enfin d'un quatrième état possible correspondant à la situation de la quatrième région de la figure 4B. Les résultats ci-avant seront utiles pour ce qui suit, dans le sens où les termes définissant les filtres ho (mMI ), ..., hzM _I (mMl) et fo (mMl ), ..., ffM, _I (mMl) sont finalement déterminés directement à partir de la matrice de modulation D, connue et exprimée par la relation (1), d'une part, et à partir des fenêtres h définies par les quatre conditions ci-avant pour satisfaire la reconstruction parfaite, d'autre part. Le banc de filtres d'analyse/synthèse ainsi défini est alors à reconstruction parfaite. Telle est la base de la représentation de la transformée TV-MLT par des bancs de filtres. Ici, seuls les coefficients des filtres varient dans le temps, le nombre de sous-bandes restant fixe. On retiendra alors, en termes généraux, que chaque jeu de coefficients du banc d'analyse ou de synthèse. associé à un état possible, peut être calculé en fonction d'une matrice de modulation D et d'un vecteur h caractérisant cet état possible et assurant une propriété de reconstruction parfaite (comme dans l'exemple décrit ci-avant) ou20 21 encore "quasi-parfaite". On entend par reconstruction "quasi-parfaite" la propriété de reconstruction des bancs de filtres utilisés dans des codeurs de type MPEG-1/2 layer I&II notamment. On comprendra alors que, dans le cas par exemple d'une combinaison d'un codeur de ce type à un codeur variant dans le temps, les propriétés décrites ci- avant peuvent encore être observées. On a ainsi vaincu un préjugé de l'état de l'art selon lequel il n'était pas possible de représenter une transformée variante dans le temps par des bancs de filtres. Ici, on a démontré qu'une transformée TV-MLT était bien équivalente à une représentation en bancs de filtres avec un nombre fixe de sous-bandes, maximum, correspondant à l'état où la fenêtre de pondération est longue, et ce, quelque soit l'état de la transformée TVMLT. Cette réalisation permet alors d'anticiper tous les changements possibles d'état de la transformée TV-•MLT. En particulier, on a montré l'équivalence de la représentation des transformées à recouvrement variant dans le temps TV-MLT par un banc de filtres FIR (à réponse impulsionnelle finie) et à décimation maximale variant dans le temps. Des systèmes variant dans le temps, couramment utilisés, notamment par les codeurs MPEG-2/4 AAC et Dolby AC-3, peuvent alors mettre en oeuvre des représentations en sous- bandes adaptatives, lesquelles peuvent être définies, comme décrit ci-avant, par le formalisme des systèmes linéaires variant dans le temps. Des détails sur le formalisme des systèmes linéaires variant dans le temps sont décrits notamment dans : "Time-Varying Filters and Filter Banks: Some Basic Principles", S Phoong et P.P. Vaidyanathan, IEEE Transactions on Signal Processing, volume 44, n 12, pages 2971-2987 (Décembre 1996), et "Factorizability of lossless time-varying flters and filter banks", S Phoong et P.P. Vaidyanathan, IEEE Transactions on Signal Processing, volume 45, n 8, pages 1971- 1986 (Août 1997). 22 On décrit maintenant la technique de conversion au sens de l'invention, elle-même, en tenant compte de cas particuliers de transcodage, ainsi que le contrôle du retard algorithmique induit par la conversion au sens de l'invention. Comme indiqué précédemment, on décrit des conversions où les représentations temps/fréquences varient dans le temps. La figure 6 montre la représentation en blocs multi-cadences pour illustrer la 10 conversion. Des vecteurs de signaux en sous-bandes X(n) = [x (n),..., xL_, (n)]T sont transmis en entrée d'un banc de filtres de synthèse F (.Z, n), ..., FL-' (i, n) comportant L canaux, après avoir subi une expansion (sur-échantillonnage d'un facteur L ). Le signal 15 synthétisé .z(n) est analysé par le banc de filtres H (n, Z),..., HM-' (n, Z) comportant M canaux et on obtient en sortie, suite à l'application d'une décimation (sous-échantillonnage d'un facteur M), de nouveaux signaux en sous-bandes Y(n)=[y0(n),...,,(n)]T . On comprendra alors que le nombre de canaux L et M restent constants mais les valeurs des coefficients des filtres changent notamment selon 20 le fenêtrage (fenêtres longues, fenêtre courtes, fenêtres de transition, conformément à l'observation de la figure 4B). Sur la figure 6, la notation 1' L correspond à un sur-échantillonnage (ou expansion) d'un facteur L tandis que la notation 1 M correspond à un sous-échantillonnage (ou décimation) d'un facteur M. 25 On cherche alors à fusionner en une seule étape l'application des deux bancs de filtres synthèse/analyse pour réduire la complexité algorithmique (nombre d'opérations de calcul et mémoire requise). Les techniques de conversion entre représentations du signal dans différents domaines5 de sous-bandes sont utilisées pour effectuer les transcodages notamment entre les codeurs : - selon la norme MPEG-1/2 (layer I et II), - et/ou MPEG-2/4 AAC, - et/ou du type Dolby AC-3, et -et/ou encore selon la norme G 722.1 (par exemple le codeur dit "TDAC" pour Time Domain Aliasing Cancellation ). Les représentations temps/fréquences du signal utilisées par ces codeurs, sont précisées dans les normes et sont telles que : • pour MPEG-1/2 layer I et layer II, on utilise une représentation du signal en sous-bandes, basée sur l'analyse/synthèse par bancs de filtres de type pseudo-QMF (pour Quadrature Mirror Filter qui se traduit par filtre miroir en quadrature ), comportant 32 canaux, • pour MPEG-2/4 AAC, on utilise des représentations en sous-bandes à résolution variable et des analyses par transformées à recouvrement, variant dans le temps TV-MLT où la longueur des blocs 2M transformés dépend des propriétés du signal traité, • pour Dolby AC-3, on utilise une représentation du signal par transformée TV- MLT, à recouvrement variante dans le temps avec M = 256 ou M =128, • pour G 722.1 (TDAC), on utilise une représentation par bancs de filtres TDAC comportant 320 sous-bandes. Dans ces conditions, le codeur G 722.1 et les codeurs MPEG-1/2 (layer I & II) utilisent des représentations par bancs de filtres invariant dans le temps. Par ailleurs, il a été souligné plus haut que les transformées TV-MLT des codeurs MPEG-2/4 AAC et AC-3 admettent une représentation sous la forme d'un banc de filtres à décimation maximale et à nombre M de sous-bandes fixe, avec des filtres variant dans le temps. On propose alors de définir ci-après les filtres d'analyses Hk(n,Z) et de synthèse Fi' (2,n) , pour tous les types de codeurs cités. Ainsi, la figure 6 représente formellement tous les cas de conversions possibles entre les différents exemples de codeurs cités. On note : - H(n,Z) =[H (n,Z),...,HM-I(n,Z)]T le vecteur colonne regroupant les M filtres d'analyse variant dans le temps, et - F(Z,n) _ [F (Z, n), ..., FL-' (Z, n)] le vecteur ligne regroupant les L filtres de synthèse variant dans le temps. * Définition de l 'expression selon la forme A Les représentations dans le domaine Z correspondantes peuvent être notées : 'v -I N1-I H' (n, Z) = Y' hk (n)i ' Fk (i, n) = E i-'f1k (n) (21) ,_ j= où les longueurs respectives des filtres N,, (d'analyse) et Nt. (de synthèse) sont constantes. Le vecteur des signaux en sous-bandes, Y(n), à la sortie du banc de filtres d'analyse, s'écrit : Y(n) _ [H(nz)F(Z,n)[x(n)J] Tc 1M (22) = [g(n, Z)[X(n)J TL] M où on définit l'opérateur matriciel g(n,Z) = H(n,Z)F(Z, n) par sa représentation dans le domaine Z d'une forme dite ci-après "forme A" telle que ses éléments sont définis par : (g(n,Z ) )k. = Hk, (n, Z)Fkz (Z, n) N, -I Ni-I (n)f2 (n ù l ù jg-(i+J) (23) i=0 ,i=0 Nq+Ni -1 E gki~k2 (n)Z-i i=0 avec k1 = 0, ..., (M -1) et k2 = 0, ..., (L -1) . Ses coefficients gk''k2 (n) sont définis par : gk'k2(n)ùL12~'(n)f(nûi) (24) * Définition de l'expression selon la forme B On peut définir aussi l'opérateur g(n,Z) = H(n,Z)F(Z,n) sous une autre forme, dite ci-après "forme B ", comme suit : (g(Z, n))k,,k, = Hk' (n, Z)Fk" (Z, n) N,,-1 N,-1 = + j)fk2 (n) (25) i=0 j=0 N,,+N, -1 :7-igk I,kz (n) i=0 avec ki = 0,.. ., (M -1) et k2 = 0,..., (L -1) et les coefficients gk''k2 (n) étant définis par : gk''k2(n)=1 hki.(n+i)fk2(n) (26) Dans ce cas, l'équation générale de la conversion entre les signaux en sous-bandes, définie selon cette forme B s'écrit : 15 Y(n)=[g(Z,n)[X(n)]TL] (27) On comprendra donc que ces deux variantes d'expression selon la forme A ou selon la forme B sont équivalentes mais diffèrent simplement par la manière de calculer 20 mathématiquement les matrices g. 10 En reprenant le formalisme des systèmes variant dans le temps décrit ci-avant, on cherche maintenant à fusionner des opérations induites par le schéma conventionnel de conversion. Dans la suite, les représentations des opérateurs matriciels g(n,Z) ou g(.Z, n) sont notées de la manière suivante : Nq+Nf-I • Selon la forme A : g(n,Z) = gA(n)Z-' (28) =o Np+Nf-I • Selon la forme B : g(Z,n) = .Z-'e(n) (29) r=o 10 Ainsi, à un instant d'indice n donné, gA(n) (respectivement ge(n)) définit la matrice de dimension M x L et comportant tous les i- èmes coefficients de filtrage gk''k2 (n) donnés par la relation (24) ci-avant (respectivement donnés par la relation (26)). 15 On utilise maintenant des principes du document FR-2,875,351 et on note à cet effet K = ppcm(L,M) , le plus petit entier commun multiple des nombres M et L . On note aussi p, , p2 les entiers naturels tels que K = p1M = p2L . On note Uj (n) le vecteur de la j -ème composante de la décomposition polyphasée d'ordre p2 du vecteur X(n) défini par : 20 Uj (n) _ [2' X(n)] Pz Le vecteur d'entrée X(n) des signaux en sous-bandes se décompose comme suit : X(n)= j=0 T Pz et l'équation de conversion (22) s'écrit : P2-I[g(n,z)z[u1(n) Y(n) = TK] (30) Par ailleurs, en décomposant le vecteur des signaux Y(n) en sous-bandes en pl composantes polyphasées telles que V; (n) = [Z'Y(n)] , où i = 0,..., pl , on obtient . Pi une nouvelle équation de conversion pour la i -ème composante polyphasées du 5 vecteur signal en sous-bande Y(n) telle que : P2-1 V, (n) E [g(n + iM, Z)Z'M-1 yKU . (n) i=o Cette équation (31) est importante car elle représente la conversion des composantes polyphasées d'ordre p, des signaux d'entrée vers celles d'ordre pl des signaux de sortie. En notant T(n,Z) la matrice de conversion globale définie par la représentation selon la forme A, ses sous-éléments de filtrage A; i (n, .Z) sont tels que T(n,Z)(A1 /(n,Z)),=o,..._p-1 et, A;i(n,.Z)=[g(n+1M,Z)Z'M-iL (32) ][4.K i=o P2-1 avec i == 0, ..., p, -1 et j = 0, ..., p2 -1. 15 On notera ici que les sous-blocs A; i (n, Z) ont la même dimension (L lignes et M colonnes) que la matrice g dont les coefficients sont donnés à la relation (24) ou (26) ci-avant (ki compris entre 0 et M-1 et k2 compris entre 0 et L-1) et que la matrice globale T, carrée, comporte bien p2L=K lignes et p1M =K colonnes. 20 On notera en outre une caractéristique remarquable des sous-blocs A. i (n, Z) de la matrice de conversion globale T(n, Z) . Les sous-blocs A; i (n, Z) de même indice i peuvent être calculés pour un même instant i intervenant dans l'expression n+iM pour le calcul de la matrice g. En référence à la figure 13A, ces blocs A; i (n, Z) calculés 25 pour un même instant i sont répartis sur un plan horizontal de la matrice globale de conversion T(n,Z), tridimensionnelle. La matrice de conversion T(n,Z) présente (31) 10 28 une profondeur (axe z tel que représenté sur la figure 13A) correspondant à la dimension (ou au degré) des filtres. Si l'on choisit de représenter la matrice de conversion en deux dimensions (projection perpendiculaire à l'axe z), les sous-blocs calculés pour un même instant i sont répartis sur une même ligne de sous-blocs. L'équation de conversion se met finalement sous une forme plus simple : V (n) = T(n,Z)U(n) (33) où U(n) = [Uo (n),..., Un,û, (n )]T et v(n) = [Vo (n),..., Vp _, (n)]T sont les vecteurs des composantes polyphasées des signaux, respectivement d'ordre p2 en entrée, et d'ordre 10 p, en sortie. En choisissant maintenant une expression selon la forme B , on utilise l'expression g(Z,n) ici selon la relation (25) pour représenter les opérations successives de filtrages et on obtient une équation de conversion de la forme : 15 V (n) = T (.Z, n)U(n) (34) La matrice de conversion T(Z,n) est alors définie par des sous-blocs Ai 1(Z, n) tels que : T(Z,n) = (AL., ( ) i=0 p -1 et, A, ,j (Z, n) = 1=0 Pz I Lg(Z,n+jL)l iM K (35) avec i = 0, ..., p, -1 et j = 0, ..., p2 -1. 20 Là encore, les sous-blocs Ai (Z, n) de même indice j peuvent être calculés pour un même instant j intervenant dans l'expression n + jL pour le calcul de la matrice g. En référence à la figure 13B, ces blocs Ai (2,n) calculés pour un même instant j sont répartis sur un plan vertical de la matrice globale de conversion T(n,Z) . Si l'on 25 choisit de représenter la matrice de conversion en deux dimensions (projection perpendiculaire à l'axe z), les sous-blocs calculés pour un même instant j sont répartis sur une même colonne de sous-blocs. 29 On pressent alors que les sous-blocs de la matrice globale de conversion peuvent être pré-calculés et stockés en mémoire pour différents instants et surtout pour différents états admissibles. Les sous-blocs associés à de mêmes instants peuvent être alors récupérés de la mémoire selon les changements dans le temps qui interviennent dans les formats de codage. Cette propriété d'un système au sens de l'invention sera décrite en détail plus loin, notamment en référence à la figure 11. En termes plus généraux, on applique les étapes suivantes lorsque le vecteur d'entrée comporte un nombre L de composantes en sous-bandes respectives et le vecteur de sortie comporte un nombre M de composantes en sous-bandes respectives, après détermination d'un nombre K, plus petit commun multiple entre L et M : - conversion série/parallèle du vecteur d'entrée pour obtenir p2 vecteurs composantes polyphasées, avec p2 = K/L , et - conversion parallèle/série pour obtenir le vecteur de sortie. La matrice de conversion est alors appliquée aux p2 composantes polyphasées du vecteur d'entrée pour obtenir p, composantes polyphasées du vecteur de sortie, avec p, = K/M . Dans ces conditions, la matrice de conversion est carrée, de dimension K x K , et comporte p, lignes et p2 colonnes de sous-blocs A,, comportant chacun L lignes et M colonnes. En particulier, comme observé ci-avant en référence aux figures 13A et 13B, des sous-blocs Au d'un même indice i (forme A) ou des sous-blocs Au d'un même indice J forme B) sont pré-calculés pour un même instant. Ainsi encore, en référence aux figures 13A et 13B, la matrice de conversion est tridimensionnelle, avec : - une première dimension définie par l'indice courant i des sous-blocs, - une deuxième dimension définie par l'indice courant j des sous-blocs, - et une troisième dimension (axe Z) définie par le degré du filtrage matriciel. Les sous-blocs précalculés pour un même instant forment alors des plans matriciels s'étendant vers la troisième dimension et sont : 30 - horizontaux et pré-calculés pour pi instants successifs dans une expression selon la forme A, - ou verticaux et pré-calculés pour p2 instants successifs dans une expression selon la forme B. Dans la conversion entre domaines de sous-bandes au sens de l'invention, on cherche maintenant à minimiser le retard algorithmique introduit par le traitement des signaux en sous-bandes. 10 A cet effet, on introduit d'abord des avances dans le schéma de conversion conventionnel de la figure 6 pour réduire le retard créé par les bancs de filtres. Il s'agit alors de contrôler le retard algorithmique en ajoutant : • une avance za en entrée du banc de filtres de synthèse, 15 • une avance Zb en entrée du banc de filtres d'analyse, où a et b sont des paramètres numériques à déterminer. Le contrôle du retard algorithmique est en tout point conforme à celui décrit dans le document FR-2,875,351, à la différence près néanmoins que les sous-blocs A;~ 20 dépendent ici du temps. Dans ces conditions, la matrice de conversion T(n,Z) définie par la représentation de domaine de tous ses éléments, est telle que : A.1(n, Z) = g(n + im, z) aL+b+;M-jc (36) 25 avec i = 0, ..., pl -1 et j = 0, ...,p2 û 1 . Les sous-blocs matriciels g(n,Z) sont tels que : g(n, Z) = H(n, Z)F(Z, n + b) N,,+N, -I E gA(n)Z , =o (37)5 avec k1 = 0, ..., (M -1) et k2 = 0, ..., (L -1) et les coefficients gk' k2 (n) de g;' (n) sont définis par : g; i,kz (n) _ h' (n).f;k;(n+bùi) (38) La matrice de conversion T(Z,n) selon la forme B maintenant, définie par la représentation de domaine de tous ses éléments, est telle que : Ai (Z,n) _ [zaL+b+iM-jL g(z,n+(j ùa)L)] avec i = 0, ..., p1 -1 et j = 0, ..., p2 -1. Les matrices g(Z, n) sont telles que : g(Z, n) = H(n ù b, Z)F(Z, n) N,+Nf-1 = Z 'ge(n) i=0 avec k1 = 0, ..., (M -1) et k2 =0,...,(Lùl) et les coefficients g '' (n) de gB(n) sont définis par : 1,K (39) (40) ,k, gi ( ) = hik;(nùb+i)f;k2(n) (41) Dans les deux cas selon la forme A ou selon la forme B, l'exposant ei i = aL + b + iM ù jL avec i = 0,..., pl -1 et j = 0, ..., p2 -1 qui apparaît dans la construction de la matrice de conversion, varie entre les deux valeurs extrêmes : en~ = aL + b ù K + L pour, i=0, j = p2 -1. e,nax = aL + b + K ù M pour, i = pl -1, j = 0. Les filtres de la matrice de conversion sont causaux si emax ≤Kù1 et de ce fait, on 20 obtient la condition supplémentaire suivante : aL+bMù1 Pour un système de conversion à retard algorithmique minimal, il convient d'introduire le maximum d'avance possible. Le choix de a et b est fait avantageusement de manière à ce que e,,,a, == K -1, ce qui implique : aL + b = M -1 D'après les équations de construction des matrices de filtrages g(n,Z) et g(Z, n) , un choix avantageux des entiers (a, b) consiste à prendre : a=p2 -1 et, b=M+LûKû1 (42) Néanmoins, une alternative possible à la détermination du couple d'entiers (a, b) consiste à choisir a= 0 et b= M -1. Dans ce cas, l'avance est contrôlée au niveau du signal intermédiaire 2(n) en sortie du banc de filtres de synthèse et à l'entrée du banc de filtres d'analyse. Pour construire la matrice de conversion, on cherche à identifier les composantes de la décomposition polyphasée de type 1 d'ordre K de la matrice g(n + iM,Z) . On distingue alors deux cas selon les valeurs de e; = aL + b + iM û jL quand i = 0,...,191 -1 et j = O, ..., p2 -1 : - si 0 A ~ (Z n) = n~gBx (nK + (j ûa)L) (45) - si aL + b + L û K _ (46) = Z m (nK+(jûa)L) Dans la suite, on considère un système à retard minimal où a et b sont définis par la relation (42). Pour les systèmes de conversion définis selon la forme A, quand i= -1 et 15 -1: • si 0 5 e;1 où les matrices A,'i(n) sont définies par A;',i (n) = gn K+e (nK + iM) , • si aL + b + Lù K ≤e/ i 5 -1, le sous-bloc A, i (n, .Z) de T (n, Z) est tel 20 que : NAij A;i (n, Z) = E A; ~1(n)Z-m m=l où les matrices A'.'~ (n) sont définies par A,'~ (n) = g;;K+e, (nK + iM) .10 On définit la longueur NA intervenant dans l'indice maximum des termes des sommes ci-avant par : Nh+Nfû2 K N +Nf -2 K + 1 , si 0 Ar,J (Z, n) û E 7 mAnJ (n) I11=1 10 les matrices A,', (n) étant définies par (n) = g"BK e, i (nK + (j û a)L) , • si e; > = 0 , le sous-bloc A.1 (Z, n) de T(Z, n) s'écrit N,1,i -1 Ail (Z, n) = .L-""A;'i(n) ä,=0 les matrices .(n) étant définies par A,"j(n) = geK (nK + (j ù a)L) , • si aL + b + L û K û K_e, (nK + (j û a)L) .5 La longueur NA est déterminée par Nä+Nfù3+1 K , si 0e,j ù ro,ousi 0 ùK+e;,j ùro +Nf -3 + 1 -1 , siro+1_ où ro = (N,, Nt. -3+ K) mod K . Pour simplifier les notations, on utilisera plus simplement les représentations suivantes, ci-après : N, -1 NTù1 Ai (n, .L) = Ai'i(n)Zùm et, Ai,j(Z, n) = Z ' Ami (n) ,n=O m=0 pour représenter les sous-blocs des matrices de conversion respectivement définies sous une forme A ou B. Certains éléments A'1 (n) sont identiquement nuls et on obtient ainsi une longueur unique NT pour toutes les composantes de la matrice globale de conversion, définie par : NT =max(NA )+l 15 On traite ci-après le cas particulier où les nombres de sous-bandes respectives sont multiples l'un de l'autre, avec, tout d'abord M = pL . Il s'agit du cas pratique où le nombre de sous-bandes du banc de filtres d'analyse est un 20 multiple entier de celui du banc de filtres de synthèse. La conversion entre domaines de sous-bandes est alors définie par l'équation de conversion : p-1 Y(n) _ g(n, Z)ZM-l-j` ]IUj (n) j=o = T (n, Z) U(n) où la matrice de conversion T(n,Z) est définie par : 35 (47) T(n,Z [g(n, Z)zM-' 1 g(n, z)ZM-L 1 t.M, ...,[g n, Z)ZL-' 1 1M] (48) Les sous-blocs de la matrice de conversion sont les composantes (M -1û jL) -ème de la décomposition polyphasée de type 1 d'ordre M de g(n,Z) telle que Aj (n, Z) _ gnAtM+M (nM)Z m 'n (49) avec j = 0, ...,p -1 . De plus, on choisit la relation (42) pour les paramètres de retard algorithmique, soit : a = p -1 et b = L -1 et, dans ces conditions, les éléments g,''k2 (n) de la matrice de filtrage gA (n) sont déterminés par gk,'k2 (n) hk' (n).fk; (n + L -1ù i) J (50) On notera encore deux alternatives possibles concernant le choix des paramètres de contrôle du retard algorithmique : (a,b) = (p, -1) ou (a,b) = (0,M -1) Un deuxième cas particulier est celui où le nombre de sous-bandes du banc de filtres de synthèse est un multiple entier de celui du banc de filtres d'analyse, soit : L = pM . Ici, le choix des paramètres d'avance (42) est tel que : a=0 et b=Mû1 De ce fait, les éléments gk"k' (n) de la matrice de filtrage e(n) sont déterminés par : g''k2(n)=~hk'j(nùM+1+i)Jjk2(n) (51) L'équation de conversion de la composante V; (n) , définie sous la forme B , devient V (n) = [zMù'+'m g(Z, n)] X(n) avec i = 0, ..., p -1. La conversion entre domaines de sous-bandes est définie par l'équation de conversion V(n) = T(Z,n)X(n) (52) T ,IL (53) Chaque sous-bloc de la matrice de conversion correspond à la M -1+ iM -ème composante polyphasée de type 2 d'ordre L de la matrice de filtrage g(Z,n) à l'instant nL et on obtient A (2, n) = "'gBL M+I-iM (nL) I J7 (54) i=0,...,pû1 Il a été donné, dans ce qui précède, les équations à la base de la conversion au sens de l'invention. Dans ce qui suit, on décrit la manière de construire les opérateurs principaux intervenant dans un système au sens de l'invention, ainsi que la mise en oeuvre pratique des traitements, pour l'exécution de l'invention. Pour la construction pratique des opérateurs du système de conversion, il est distingué tout d'abord les cas où les dimensions M et L sont des multiples entiers l'un de l'autre, puis le cas général où le plus petit commun multiple K est différent des nombres respectifs de sous-bandes L et M . En effet, les cas où les dimensions sont des entiers multiples l'un de l'autre, sont d'abord décrits, pour plus de clarté de l'exposé, en vue de la construction des matrices principales de conversion T(n,Z) (selon la forme A) ou T(.Z, n) (selon la forme B). La conversion pour le cas où M = pL est préférentiellement défini par une application de la forme A des opérations de filtrage. Le cas réciproque où L = pM est préférentiellement défini par une application de la forme B. Dans les deux cas, la construction des matrices principales de conversion suit deux étapes. En particulier, dans le cas M = pL : 37 où la matrice de conversion T(Z,n) est définie par T(Z,n) = [[z1g(z,n)],[z2M1g(z,n)~ - on construit la sous-matrice g(n, Z) dont les coefficients sont définis par la relation (50) : gk.k2(n)=Eh,'(n)f;(n+Lû1ûi) où k, == 0, ...,M -1, k2 = 0, ...,L -1 et i = 0, ..., (N,, + Nf. û 2) , puis, on construit les p composantes polyphasées de type 1 d'ordre M de g(n,Z) telles que : [g(n, Z)ZM avec j -----0,...,p -1, et on applique une concaténation de ces p blocs de composantes polyphasées pour obtenir finalement la matrice globale T(n,Z) , définie par la relation (48) : T(n,Z) [g(n,Z)ZM'i ,...,[g(n,Z)ZL-1]~M] Dans le cas où L = pM : - on construit la matrice g(Z,n) dont les coefficients sont définis par la relation Erreur ! Source du renvoi introuvable. : (n)=h1'j(nûM+1+i)fk'( ) où k1 =0,...,Mû1, k2 =0,...,Lû1 et i=0,...,(N,,+Nt.û2), - puis, on construit la matrice principale de conversion T(,z, n) , définie par : T (2, n) = [[zM-'g(z,n)] yL, ..., [ZL-1 g(z, n)j 1T 1L_I où chaque sous-bloc de la matrice de conversion est la (M -1+ iM )-ème composante polyphasée de type 2 d'ordre L de la sous-matrice g(Z,n) à l'instant nL . *premier cas particulier M = pL Pour le cas M = pL, les coefficients de filtrage des bancs de synthèse (respectivement 39 d'analyse) sont constants par morceaux et varient en fonction de l'instant n, en particulier aux instants multiples de L (respectivement de M ). De ce fait, pour effectuer les produits de convolution des réponses impulsionnelles des deux bancs de filtres h~' (n) f kj (n + L -1ù i) , il convient de tenir compte des variations dans le temps des réponses impulsionnelles de F(Z, n + Lù1ùi) quand i + Nf -2) . En effet, l'indice i de numérotation des coefficients d'une tranche matricielle g; (n) apparaît dans le produit de convolution, à la fois comme indice de convolution et comme variable temporelle. Cette notion de "tranche matricielle" sera décrite plus loin en référence à la figure 8A. De ce fait: • si (N,, + Nf ù 2) L , à un instant n' = nL, les coefficients des filtres de F(Z, nL + L -1ù i) sont constants quelle que soit la valeur de i = 0,...,N,, +Nt -2, • si (N,, + N, ù 2) > L , les réponses impulsionnelles de F (2,n+Lù1ùi),...,FL-'(Z,n+Lù1ùi) du banc de synthèse F(Z, n + L ù 1 ù i) effectuent un changement d'état au moins une fois avec l'indice ï . Dans ce dernier cas, pour construire le sous-bloc matriciel à un instant donné, il faut disposer de plusieurs états successifs du banc de filtres de synthèse et de l'état courant du banc de filtre d'analyse. On se réfère maintenant à la figure 7 illustrant la conversion entre deux transformées TV-MLT. On indique que N,, = 2M1 , Nf = 2L, et dans ce cas, i = 0,..., 2(p +1)4 -2 . Ainsi, pour déterminer l'état de la sous-matrice g(n',Z) à un instant n' = nM, , les opérations de convolution partielle suivantes sont effectuées : h".' (nM,) f,.k2j(nM,) si, i = 0,...,4 -1 f%(nM,-L,) si,i=L,,...,2L,ù1 gkik2(nul )-~ 1 )fk;(nM,ù(2p+1)L,) si,i=(2p+1)L,,...,2(p+l)L,ù2 (55) Pour construire la matrice g(nM,,Z) d'après les relations de calcul de ses coefficients données ci-avant, on fournit, d'une part, les coefficients du banc d'analyse H(nM,,Z) et, d'autre part, les coefficients des filtres des 2p + 2 bancs de synthèse : F(Z, nM, ), F(.', nM, L, ), ..., F(Z, nM, ù (2p +1) 4 ) , lesquels se succèdent dans le temps. Ce traitement revient à effectuer 2p + 2 produits de convolution et concaténer 2p + 2 segments obtenus, de longueur L, , pour obtenir les coefficients g,`.4 (nM,) pour tous i = 0,..., 2(p +1)4 -1. Si par exemple p = 2 , on regroupe les 2p + 2 = 6 états successifs du banc de filtres de synthèse autour de l'instant n' = nM, pour calculer les produits de convolution et obtenir des "tranches" (figure 8A) go (nM,),...,g2( 1)+,m(nul ) qui définissent l'état de la sous-matrice g(n', Z) à l'instant n' = nM, . Ce résultat est valable pour le cas général de la conversion entre deux transformées TV-MLT. Par ailleurs, dans le cas général de deux bancs de filtres dont les longueurs sont déterminées par N,, et Nf. , on détermine le terme : 4f =[(N,, + Nf -1)/L]+1 (56) correspondant au nombre d'états successifs du banc de filtres de synthèse et on calcule les produits de convolution selon la relation (50) avec un seul état du banc de filtres d'analyse pour déterminer toutes les "tranches" matricielles gA(nM) . Cette construction est illustrée sur la figure 8A, laquelle montre schématiquement les regroupements réalisés pour effectuer les produits de convolution des états successifs du banc de filtres de synthèse avec ceux du banc de filtres d'analyses. Dans l'exemple représenté sur la figure 8A, on a p = 3 et A,. = 4 , dans le cas M pL. Avec ces regroupements, il est alors possible de calculer les états de la sous-matrice g(n',Z) aux instants n' = nM, (n + 1)M, (n + 2)M,...etc. Ensuite, pour la construction de la matrice globale de conversion, les sous-blocs de cette matrice globale de conversion T(n,Z) = [A0 (n, Z), ., A p_l (n, Z)} sont les (M -1û jL) -ème composantes de la décomposition polyphasée de type 1, d'ordre M , de la sous-matrice g(n, Z) , avec : NT -A Ai(n,Z) gA rnM+M-I-jL(nM)L ni nt=0 où j=0,...,pû1. Lorsque la sous-matrice g(n,Z) est déterminée, il reste donc à extraire et ordonner les "tranches" matricielles gA(nM) pour construire chaque sous-bloc de la matrice globale T(n, Z) . On notera alors que ces tranches matricielles gA (nM) sont toutes déterminées pour un même instant nM. En référence aux figures 13A et 13B, il s'agit de plans perpendiculaires à l'axe Z et définis chacun pour une puissance de Z , puisqu'il est rappelé que l'axe Z représente la dimension des filtres. Ainsi, un état de la matrice globale de conversion T(n,Z) est défini suite à la détermination de NT tranches matricielles de taille M x M . Ci-après, on note P,(n) la tranche matricielle d'indice m de la matrice de conversion T(n,Z) , définie à l'instant d'indice n par..DTD: Pä (n) _ [g,,,M+m_I (nM), ..., g''M I+L (nM)] (57) avec m = 0,..., (N,. -1) . De ce fait, la matrice de conversion T(n,Z) définie par la relation (48), s'écrit aussi : NT. -I T(n,Z) = (58) ,,,=o Le nombre NT de tranches matricielles Po (n),..., PNä_I (n) est défini par la valeur de la longueur maximale des composantes polyphasées d'ordre M de g(n,Z) telle que N,,+Nf.û2 M +1 (59) N, = Ainsi, la matrice T(n,Z) , exprimée selon la forme A, préférée dans le cas M = pL, s'écrit en fonction des sous-blocs Ai selon les relations données ci-avant, et chaque sous-bloc A. s'exprime en fonction des matrices g dont les coefficients g,k''k2 (n) dépendent des coefficients des filtres hk et fk déterminés, eux-mêmes, en fonction des quatre cas possibles illustrés sur la figure 4B. Finalement, on a construit complètement la matrice de conversion T(n, Z) . * second cas particulier L = pM On décrit maintenant la construction de la sous-matrice g(Z, n) pour le cas où L = pM . La différence principale avec le cas M = pL précédent est que les matrices de conversion sont préférentiellement définies sous la forme de type B. Le calcul des coefficients de filtrages gk',k2 (n) est déterminé par gk''k' (n) _ 1 hk'1 (n û M + 1 + i) fk (n) On retrouve la même propriété sur l'indice i qui est à la fois un indice de convolution et une variable temporelle. Il faut donc tenir compte des variations du banc de filtres d'analyse H(n ûM + 1 + i, Z) , c'est-à-dire des changements d'états du banc de filtres, pendant le calcul des tranches matricielles ge(n),...,geJ+Nf_2(n) . On a illustré sur la figure 8B le regroupement des états du banc de filtres d'analyse qui est utilisé pour déterminer les états de la sous-matrice g(Z,n') aux instants n' = nM1,(n+1)M,,(n+2)Mi,.... Dans l'exemple représenté, on a p = 3 et A,, = 4 , cette quantité : A,, _ [(N,, + Nt. -1)/M] +1 (60) déterminant le nombre d'état successifs du banc de filtres d'analyse H(n û M + 1 + i,Z) regroupés avec un état du banc de filtres de synthèse F(Z, n) et permettant le calcul d'un état de la sous-matrice g(Z,n) suivant une convolution partielle. Dans ce second cas particulier où L= pM, la matrice de conversion T(Z,n) est définie par : T(Z n) _[[ZM-1g(Z,n)] T tL] chaque sous-bloc A, (Z, n) de la matrice principale de conversion est la (M -1 + iM )-ème composante polyphasée de type 2 d'ordre L de g(Z,n) à l'instant nL et on obtient A (Z, n) = ,Z-mggL-M+1-;M (nL) avec i = 0,..., p û 1 . Un état de la matrice principale de conversion T(Z, n) est construit à partir de la 20 donnée de l'état g(Z,n) à l'instant nL. Il reste à extraire et ordonner les tranches matricielles de g(Z, nL) , déterminées pour un même instant nL, pour identifier les composantes polyphasées de type 2 d'ordre L . Cette dernière étape est aussi semblable à celle décrite dans le document FR-2,875,351 pour la construction de la matrice de conversion T(z) à partir de g(z) . 25 La matrice de conversion T(Z, n) est donc définie par la donnée, à chaque instant n , de ses NT tranches matricielles de taille L x L . On note P , (n) la tranche matricielle d'indice m de la matrice de conversion T(Z,n), définie à l'instant n par P,,, (n) = [geL-M+I (nL), ., g(Bn,_l)L+l (nL)] (61)..DTD: avec m = 0,..., (NT -1) . De ce fait, la matrice de conversion T(Z, n) définie par la 5 relation (53), s'écrit aussi NT -I T(2, n) = rp 7 (n) (62) =o Le nombre NT de tranches matricielles Po (n), ..., PN _, (n) est défini par la valeur de la longueur maximale des composantes polyphasées d'ordre L de g(Z, n) , ici, telle que N, + Nf û 3 +1 L 10 Là encore, on a complètement construit la matrice de conversion T(Z, n) à ce stade. * Cas général K == ppcm(L,M) Forme A Dans le cas général maintenant où les nombres respectifs de filtres dans les bancs ne 15 sont pas multiples l'un de l'autre (K = ppcm(L, M) ), sous la forme A, la détermination des états de la sous-matrice g(n, Z) est définie par le calcul de tous ses coefficients de filtrage gk''k2 (n) tels que : gk' k2(n)ùEh~'(n)f,.k~(n+bùi) avec k, = 0, ..., (M -1) et k2 = 0, ..., (L -1) et les paramètres de contrôle du retard 20 algorithmique sont déterminés par les solutions données aux relations (42). On effectue, là encore, des regroupements de A f états successifs du banc de filtres de synthèse pour effectuer un produit de convolution, partiel, avec un état du banc de filtres d'analyse H(n,,Z) (figure 9A). NT (63) 25 La matrice principale de conversion T(n,Z) est définie par la construction de ses sous-blocs A; ; (n, .Z) tels que : A. .(n, )=g(n + 1M, ,L) Z, aL+b+iM-- jL ~K avec iû1 et j = 0, ..., p2 û 1 . Lorsque 0 K --1, l'élément A.1 (n, Z) de la matrice de conversion principale T(n,Z) est la e. j -ème composante polyphasée de type 1 d'ordre K de la matrice g(n + iM, Z) et on a donc A. j (n, Z) = g~K+e (nK + iM)Z-"' L'indice courant i désigne à la fois le numéro de la composante polyphase avec e. j et une avance temporelle iM . Dans ces conditions, la construction d'un état de la matrice principale de conversion est déterminée par la donnée de pl états successifs de g(n',Z) pris aux instants n' = nK, nK + M, ..., (n + 1)K û M . Cette propriété est aussi vérifiée pour les composantes polyphasées telles que (aL+b+LûK)e;j -1. L'élément A. j(n,.Z) de la matrice de conversion principale T(n,Z) est la (K + e; j) -ème composante polyphasée de type 1 d'ordre K de g(n + iM + K, Z) composée avec un retard Z-' , soit : (n, z) = gcä+i>K+e;.; (nK +iM)Z On détermine donc les états de g(n', Z) pris aux instants n' = nK, nK + M,..., (n + 1)K û M pour construire un état de la matrice principale de conversion. La figure 9A illustre les regroupements de plusieurs états de g(n,Z) permettant de calculer un état de la matrice de conversion. Dans l'exemple représenté, on a choisi p, = 3 et p2 = 4 . Un état de g(n',Z) à l'instant n' = nK + iM permet d'extraire la série de composantes polyphasée A. j (n, .Z) avec j = 0, ..., p2 -1. Cette série représente une ligne de p2 composantes parmi les p~ lignes de T(n,Z) . Il est important d'observer, sur cette figure 9A, que l'ordonnancement des composantes polyphasées 46 A. , .(n , Z) représente les états de la matrice transposée TT (n, Z) de T(n, Z) . * Cas général K == ppcm(L, M) Forme B Sous la forme B des opérateurs et toujours dans le cas général, les états de g(Z, n) sont déterminés par le calcul des coefficients de filtrages gk' kz (n) tels que : gk`'k2(n)_ h" j(nl7+l)Jjk2(n) avec k, =0,...,(Mùl) et k2 =0,...,(Lù1) et les paramètres de contrôle du retard algorithmique sont déterminés par les solutions 10 des relations (42). Il faut regrouper Ah états successifs du banc de filtres d'analyse pour effectuer un produit de convolution partiel avec un état du banc de filtres de synthèse F(n, Z) (figure 9B). La matrice principale de conversion est déterminée par la représentation de domaine de tous les sous-blocs A; j (Z, n) tels que 15 A J (Z, n) = [z"'+;M-JLg(z, n + (j û a)L)1 ~K avec i=û1 et j = 0, ..., p2 -1 . Lorsque 0 e, .,i K -1, l'élément A; j (Z, n) de la matrice de conversion T(Z,n) est la -ème composante polyphasée de type 2 d'ordre K de g(Z, n + (j û a)L) et on a donc A. j (Z, n) = "gB (nK + (j û a)L) . 20 On notera que l'indice j intervient à la fois dans le numéro e; j de composante polyphasée et dans l'avance temporelle (jûa)L. De ce fait, pour calculer l'état de la matrice principale de conversion à l'instant n, on détermine p2 états successifs de g(Z, n') associés aux instants n' = (n -1)K + L, (n -1)K + 2L, ..., nK (a = p2 -1). Ce regroupement permet de construire aussi les composantes polyphasées e; j telles que aL + b + L ù K Ai,l (2,n) = Z-"-1g(entùI)Kùe (nK + (j ù a)L) nt Pour la même raison, on détermine au préalable p2 états de g(Z,n') associés aux instants n' = (n -1)K + L, (n -1)K + 2L, ..., nK , pour construire toutes les composantes polyphasées qui constituent un état de la matrice principale de conversion. La figure 9B illustre la construction de la matrice de conversion correspondant au cas où p, = 4 et p2 = 3. Un état de g(Z, n') pris à l'instant n' _ (n -1)K + (j +1)L permet de construire une colonne complète, constituée de p, composantes polyphasées A.1 (Z, n) avec i = Il..., p, -1. Finalement, la matrice globale de conversion à chaque instant est obtenue suite à la construction des p2 colonnes. On définit maintenant un système de conversion au sens de l'invention. Pour le cas où M == pL , la relation de la conversion (47) établie sous la forme Y(n) = T (n,Z)U(n) définit, sous la forme A, un filtrage matriciel variant dans le temps du vecteur U(n) par la matrice globale T(n,Z) . Les signaux en sous-bandes Y(n), Y(n + 1), ...,Y (n + NT -1) successifs sont obtenus par les opérations : Y(n) Po(n)U(n)+ P, (n)U(n -1)+...+ PNB_, (n)U(n ù NT +1) Y(n+1) _= Po(n+1)U(n+1)+Pl(n+1)U(n)+...+PN _1(n+1)U(nùNT +2) Y(n+NT -1) = Po(n+NT -1)U(n+NT -1)+...+PN+1(n+NT -1)U(n) Le schéma de la figure 10A illustre une mise en oeuvre de la conversion (avec NT = 3 dans l'exemple représenté) des signaux en sous-bandes successifs U(n),..., U(n + 3) . Il 48 apparaît donc que le système de conversion peut être construit par de simples matrices de transformées, suivie d'une addition avec recouvrement des blocs des vecteurs transformés. Pour l'autre cas particulier des conversions où L = pM , la relation de conversion est établie sous la forme V (n) = T(Z, n)X(n) et représente un filtrage matriciel de type B variant dans le temps du vecteur des signaux en sous-bandes X(n) par l'opérateur de conversion T(2,n). La conversion s'effectue directement sur les signaux en sous- bandes en entrée d'un transcodeur, tandis qu'on effectue une décomposition polyphasée d'ordre p des signaux après conversion. Les composantes polyphasées successives V(n),V(n +1),...,V(n + NT -1), d'ordre p, sont obtenues par les opérations : V(n)= Po(n)X(n)+Pi(nù1)X(nù1)+...+PN _1(nùNT+1)X(nùNT+1) V(n+l)= Po(n+l)X(n+l)+P,(n)X(n)+...+PN,_,(nùNT+2)X(nùNT+2) V(n+NT -1) _= Po(n+NT -1)X(n+NT -1)+...+PN+,(n)X(n) Le schéma de la figure 10B illustre la conversion (ici avec NT = 3) des signaux en sous-bandes successifs X(n),..., X(n + 3) . Il apparaît encore que le système de conversion peut être mis en oeuvre par des matrices de transformées, suivi d'une addition avec recouvrement. On décrit maintenant un exemple de fonctionnement du système de conversion global au sens de l'invention. En référence à la figure 11, un système de conversion entre représentations du signal dans différents domaines de sous-bandes comporte un module CSP de conversion série/parallèle du vecteur signal incident X(n') comportant les composantes xo (n'),..., xL_, (n') en sous-bandes respectives. Le module CSP effectue l'équivalent d'une décomposition polyphasée d'ordre p2 du vecteur signal X(n'), pour délivrer p2 49 composantes U0 (n) ,..., U , 1(n) d'un vecteur U(n). Ces composantes du vecteur U(n) sont alors appliquées à un module de filtrage matriciel MFM variant dans le temps et caractérisé par la matrice globale de conversion T(n, Z) (ou T(Z, n) selon la forme B) du type défini ci-avant. Le module MFM utilise alors des matrices de conversion variant dans le temps. Les pi composantes Vo (n),..., V,,..1 (n) du vecteur V(n) issu du module MFM de filtrage matriciel sont finalement appliquées à un module CPS de conversion parallèle/série, lequel délivre les composantes yo (n"),..., ym_, (n") du vecteur signal de sortie Y(n"). Le module CPS réalise alors l'équivalent d'une recombinaison des composantes polyphasées d'ordre pi. Le vecteur signal de sortie Y(n"), ainsi converti, peut être utilisé dans son nouveau format par exemple par quantification et codage, ou véhiculé, ou encore stocké pour des applications ultérieures. L'ensemble de ces trois traitements successifs que réalisent les modules CSP, MFM et CPS est indiqué par un contour SYS en traits pointillés sur la figure 11 pour illustrer les modules réalisant la conversion proprement dite. On indique en outre qu'un module de commande de bascule SW peut détecter la meilleure résolution temps/fréquence, compte tenu par exemple des propriétés de stationnarité des signaux incidents. Cette commande peut contrôler avantageusement le mécanisme de commutation d'états parmi une pluralité d'états admissibles, notamment ceux décrits en référence aux différentes fenêtres de la figure 4B. De manière générale, on indique que le module de commande de bascule SW peut rechercher dans la mémoire DD tous les sous-blocs pré-calculés en fonction de tous les états possibles de la matrice de conversion T, par exemple tranches matricielles par tranches matricielles. Un exemple de fonctionnement d'une commande de bascule SW est illustré sur la figure 14. Une horloge HOR (étape H 145) détermine un instant courant t . On a déterminé la matrice de conversion T à un instant t = nKZ , (avec K=ppcm(L,M) dans le cas général) où Te est la période d'échantillonnage du signal à traiter dans le domaine 50 temporel). Si cet instant t a atteint un instant suivant (n+1)KTe (test T141), on doit redéterminer la matrice T . On vérifie néanmoins que les propriétés du signal n'ont pas changé (test T142), auquel cas les tranches matricielles récupérées de la mémoire DD (étape S146) sont données pour des états différents (étape AM144) de celles récupérées pour l'instant précédent nKTe (étape AM143). En fonction de l'état défini au test T 142, on détermine la matrice T (étape S 147) jusqu'à un instant suivant (n+2)KTe (boucle S 148). Dans l'exemple représenté, on peut donc analyser les propriétés du signal au test T142, tous les KTe instants, pour construire globalement la matrice T . Dans une variante de la réalisation illustrée sur la figure 14, puisque les lignes (forme A) ou les colonnes (forme B) de sous-blocs Au de la matrice de conversion T sont pré-calculées pour de mêmes instants, on peut augmenter la fréquence du test T142 sur les propriétés du signal, soit donc réduire la période d'exécution du test T142 à MTe (pour la forme A) ou à LTe (pour la forme B) et récupérer des tranches matricielles à jour quant à la variation dans le temps des états possibles précités. Une telle variation, pouvant intervenir au sein d'une période KTe, sera alors détectée et prise en compte pour la construction de la matrice T. Ainsi, dans cette variante, la matrice globale de conversion T est construite progressivement par appels à la mémoire DD à des instants successifs pour lesquels les sous-blocs A, ont été pré-calculés. La commande de bascule SW de la figure 11 gère donc les appels en mémoire DD des états de la matrice de conversion. La mémoire DD délivre, en retour, les tranches matricielles notées Po (n), ..., PN _, (n) pré-calculées pour un même instant n. Il est avantageux de prévoir à cet effet une mémoire rapide. Ainsi, les tranches Po (n),..., PN _, (n) peuvent être pré-calculées en tenant compte des différents états admissibles, tandis que les appels en mémoire DD de ces tranches de filtrage peuvent être effectués à la volée, à chaque instant successif nK (ou, dans la variante précitée de la figure 14 : à chaque instant nM ou nL pour appeler des lignes (forme A) ou des colonnes (forme B) de sous-blocs et calculer progressivement la matrice globale de conversion T ). On précise ci-après une relation entre l'indice n relatif aux états du système de conversion, d'une part, et les indices temporels notés n' et n" sur la figure 11, relatifs aux signaux en sous-bandes. On note à cet effet le la fréquence d'échantillonnage du signal temporel X, et fx la fréquence d'échantillonnage des signaux en sous-bandes X(n'). Par construction, les signaux X(n') sont les signaux en sous-bandes définis dans le domaine transformé du banc de filtres de synthèse et on a une relation du type : fC = f /L La conversion série/parallèle correspond à une décomposition polyphasée d'ordre p2 de chacun des sous-signaux. De ce fait, la fréquence d'échantillonnage, notée f,, des vecteurs de composantes U(n) est p2 fois plus petite de sorte que : f, = f /p2 En principe, la conversion des vecteurs U(n) afin d'obtenir les vecteurs V(n) ne fait pas intervenir de changement de fréquence. Par conséquent, la fréquence d'échantillonnage f relative à V(n) est telle que f = f,,. En revanche, la conversion parallèle/série correspond à une recombinaison des composantes polyphasées d'ordre p, du signal en sous-bandes Y(n"). On note fv la fréquence d'échantillonnage des signaux en sous-bande de sortie, de sorte que : f =P~fv Par conséquent, pour garantir l'adaptation de cadence des trois échantillonnages intervenant dans le système de conversion, les trois indices temporels n' , n et n" vérifient la relation d'égalité : n'L = nK = n"M avec K = ppcm(L, M) . De ce fait, à une fréquence d'échantillonnage fe donnée, relative au domaine temporel, un nouveau L -uplet de coefficients en sous-bandes X(n') arrive en entrée du système de conversion aux instants multiples de L, c'est-à-dire après qu'une durée égale à L/fe se soit écoulée. Les changements d'état de la matrice de conversion 51 interviennent aux instants multiples de K. Les tranches de filtrage Po (n), ..., PN, _, (n) arrivent donc en retour de la mémoire quand une durée K/fe s'est écoulée dans la réalisation illustrée à titre d'exemple sur la figure 14. On notera encore que dans la variante précitée de cette figure 14, on peut encore délivrer les lignes (forme A) ou les colonnes (forme B) de sous-blocs Ay pour de mêmes instants n, tous les M/fe ou tous les L/fe , respectivement, pour construire progressivement la matrice T. Au final, on délivre en sortie du système de conversion un nouveau M -uplet de coefficient en sous-bandes aux instants multiples de M , c'est-à-dire après qu'une durée de M/fe se soit écoulée. Ainsi, en termes plus généraux, pour la forme A, le signal à traiter étant numérique et échantillonné initialement à une période Te, la matrice globale de conversion est déterminée périodiquement pour des instants multiples d'une quantité KTe et s'exprime en fonction de matrices de type g(n,Z), calculées quant à elles pour des instants successifs multiples d'une quantité MTe. En particulier, le calcul des coefficients de chaque matrice de type g(n,Z) à un instant multiple de la quantité MTe s'effectue alors en prenant : - Af jeux successifs (ou "états admissibles") de coefficients du banc de filtres de synthèse déterminés pour Af instants successifs dans une période MTe, et à partir d'un instant multiple de MTe, - et un jeu de coefficients du banc de filtres d'analyse déterminé pour cet instant multiple de MTe, et en appliquant une convolution partielle entre les jeux successifs de coefficients du banc de synthèse et les coefficients du banc d'analyse, avec Af = [(Nh+NJ-l)/L]+1, où Nh et Nf sont les longueurs respectives des filtres d'analyse et de synthèse. Pour la forme B, la matrice globale de conversion est déterminée périodiquement pour des instants multiples d'une quantité KTe et s'exprime en fonction de matrices de type g (.Z, n) , calculées quant à elles pour des instants successifs multiples d'une quantité LTe. Plus particulièrement, le calcul des coefficients de chaque matrice de type g(2,n) à un instant multiple de la quantité LTe s'effectue alors en prenant : - Ah jeux successifs (ou "états admissibles") de coefficients du banc de filtres d'analyse déterminés pour Ah instants successifs dans une période LTe, et à partir d'un instant multiple de LTe, - et un jeu de coefficients du banc de filtres de synthèse déterminé pour cet instant multiple de LTe, et en appliquant une convolution partielle entre lesdits jeux successifs de coefficients du banc d'analyse et les coefficients du banc de synthèse, avec Ah = [(Nh+Nf 1)/1/1]+l, où Nh et Nf sont les longueurs respectives des filtres d'analyse et de synthèse. On décrit maintenant comment la conversion au sens de l'invention peut être représentée par un schéma similaire à une représentation par un système linéaire, périodiquement variant dans le temps, ou LPTV (pour "Linear Periodically Time Varying"), décrite dans le document FR-2,875,351. Ci-après, une représentation ainsi similaire à une représentation par un système LPTV sera notée "s-LPTV". * Mise en oeuvre selon la forme A Sous la forme A, pour i = 0,...,p,û1, la relation de conversion est telle que la composante polyphasée numérotée i des signaux en sous-bandes de sortie est déterminée par P2ùI V, (n) =_ E Al j (n, Z)U1 (n) j=0 P2ù1 Nrù1 = A; l (n)z "u1(n) (64) .:o ni=o P,ù1 Nrù1 _ A;"j (n)U . (n ù m) =-0 nn=o Dans ces conditions et tenant compte de la forme A, on obtient un sous-système numéroté i qui délivre la composante y. (n) du signal de sortie comme représenté sur la figure 12A. A titre illustratif, on a représenté un commutateur COM en entrée du sous-système, pour schématiser le "parcours" des p2 étages du sous-système à tour de rôle. Les opérations de filtrage qu'effectue le sous-système sont caractérisées par les composantes A.1 (n, Z) de la matrice principale de conversion (avec j = 0, ., p2 -1)...DTD: Le fonctionnement du système global de conversion, dans le cas général, défini sous la forme A, peut être vu comme la structure de la figure 12B. Il comporte alors p, sous- systèmes linéaires variant dans le temps et le "commutateur" COM1 à l'entrée opère périodiquement (avec une période p2 / fx ). Chaque sous-système parmi cet ensemble (numéroté i avec i= 0,...,p, -1 sur la figure 12B) est caractérisé par les p2 filtres A; (n, Z) avec j = 0, ..., p2 -1. Ces sous- systèmes fonctionnent en parallèle et le "commutateur" de sortie COM2 choisit aussi une de leurs sorties périodiquement comme sortie du système de conversion avec une période p,/ fv . Les coefficients de filtrage de la matrice principale de conversion T(n, Z) varient avec le temps et ses changements d'état s'opèrent après chaque période de durée K / , fe . Le système global est donc équivalent à un système linéaire, périodiquement variant dans le temps, et de période K/ fe , avec : K = p2L = p,M et fe = Lfx = Mfy Les deux commutateurs à l'entrée COM1 et à la sortie COM2 du système opèrent avec une fréquence fe / K qui correspond à la fréquence de changement d'état des composantes A; 1 (n, z) . La sortie Y(n) de la conversion, à l'instant n / fy est égale à la sortie du sous-système s-LPTV numéroté i, à l'instant n / f,, , quand i = n mod p, . L'entrée X(n), à l'instant k / fv, contacte les connections numérotées j de chacun des pl sous-systèmes s-LPTV quand j = k mod p2 . Dans le cas particulier où M = pL , il suffit de poser simplement p1 =1 et p2 = p et l'équation de conversion se réduit à : p-1 N.r-1 Y(n) _ 1 1 Agi' (n)Uj(n û m) i=0 ,n=0 La représentation du système comme un système s-LPTV, dans ce cas particulier, correspond en tout point au schéma de la figure complètement représentée par la structure de la figure 12A et la sortie V (n) correspond directement au signal Y(n) en sous-bandes après conversion. * Mise en oeuvre selon la forme B Pour i = 0,..., p1 -1, l'équation de conversion définie sous la forme B est telle que la composante polyphasée numérotée i des signaux en sous-bandes de sortie est déterminée par pz -1 V1(n) = A; J (Z, n)Ui(n) i=o P2-1 -I 11 2 "Aml (n)U! (n) I=o äz=0 p,-1 N-,,-1 = E (nùm)U.(nùm) j=0 n,=0 Dans le cas particulier où L = pM , on a p2 =1 et pl = p se réduit simplement à N1 -I Vi(n) = A'(nûm)X(nûm) ä,=o Dans ces conditions et tenant compte de la forme B , on obtient un sous-système numéroté i qui détermine la composante V(n) du signal de sortie comme représenté (65) et l'équation de conversion (66)20 56 sur la figure 12C. Le commutateur COM de l'entrée parcourt les p2 étages de ce sous- système et effectue les opérations de filtrage caractérisé par les composantes A. (Z, n) avec j = 0, p2 -1 de la matrice principale de conversion. Le système de conversion dans le cas général et défini sous la forme B peut être interprété comme un ensemble de sous-systèmes comme représenté sur la figure 12D. Cette structure comporte p, sous-systèmes linéairesvariant dans le temps et le commutateur COM1 à l'entrée est périodique de période p2 / fx . Le sous-système numéroté i avec i = 0,..., p, -1, parmi cet ensemble, est caractérisé par les p2 filtres A.1 (Z, n) avec j = O,..., p2 -1. Ces sous-systèmes fonctionnent en parallèle et on choisit une de leurs sorties périodiquement comme sortie du système de conversion avec une période p, / f . Les coefficients de filtrage de la matrice principale de conversion T(Z, n) varient avec le temps et ses changements d'état s'opèrent après chaque période de durée K / fe . Le système global est donc linéaire périodiquement variant dans le temps de période K/ , avec : K = p2L = p,M et fe = Lf, = Mfy Les deux commutateurs à l'entrée COM1 et à la sortie COM2 de la structure de la figure 12D opèrent avec une fréquence fe /K qui est aussi la fréquence de changement d'état des composantes A.1(i, n) . La sortie Y(n) de la conversion, à l'instant n / fy, est égale à la sortie du sous-système s-LPTV numéroté i, à l'instant n/ fy, quand i =n mod p, . L'entrée X(n), à l'instant k/ f , contacte les connections numérotées j de chacun des p, sous-systèmes s-LPTV quand j = k mod p2 .25 On décrit maintenant une réalisation basée sur les transformations à recouvrement. On note à cet effet, comme dans FR-2,875,351, B; i (n) (i = et j = 0, ..., p2 -1) des matrices de taille NTM x L , "réarrangées" et associées à chacune des composantes A;) (n, Z) pour la forme A et associées à chacune des composantes 5 A; 1 (Z, n) pour la forme B telles que : Forme A: B;1(n)= Forme B: (n) = A, , .(n) A'.,.(n+1) A, , .(n) A,1(n) A;~ NT -' (n) Avec ces définitions, les représentations s-LPTV des systèmes globaux selon les figures 12B et 12D associées respectivement aux formes A et B , sont réarrangées 10 naturellement et conduisent au schéma de la figure 12E. Les opérations de mise en mémoire sont effectuées après les multiplications matricielles des signaux en entrées par les matrices B; i (n) . Les blocs notés OLA (pour "overlap and add" en anglais) effectuent la mise en mémoire et les opérations d'addition avec recouvrement final des vecteurs transformés par les matrices B; (n) . La procédure de calcul pour la 15 conversion entre domaines de sous-bandes se fait préférentiellement comme suit : - chaque nouveau vecteur X(n') tel que U1 (n) = X (n') , avec n' = np2 + j, est placé en entrée des blocs matriciels Bi.; (n) (i = 0,..., p1 -1) ; - pour chaque "numéro" i fixé, on applique : • une transformation matricielle de U. (n) par la matrice B11 (n) , 20 • une sommation de tous les vecteurs transformés en sortie des matrices B;.; (n) (J = 0, ..., p2 û 1), • une addition avec recouvrement sur ces vecteurs, l'opération OLA s'effectuant sur des vecteurs de longueur NTM avec un recouvrement de (NT. -1)M , 58 - la sortie Y(n") du système de conversion correspond à la sortie V. (n) du sous-système s-LPTV numérotée i avec n" = np, + i . On rappelle que les matrices B; (n) varient dans le temps. A part ce point important, le traitement mené globalement reste similaire à celui décrit dans le document FR-2,875,351. On a représenté sur la figure 12E le principe du traitement global. De manière générale, on retiendra que la conversion globale met en jeu une transformée à recouvrement avec addition, en tenant compte en particulier d'une évolution temporelle dans les quantités qui sont additionnées avec recouvrement. * Exemples de réalisation On décrit ci-après des applications de l'invention aux cas de codeurs audio MPEG-1/2, MPEG-2/4, Dolby AC-3, G722.1 (type TDAC de la Demanderesse), normalisés pour la plupart. Selon les caractéristiques de chacun des bancs de filtres utilisés par ces codeurs, on obtient un système de conversion correspondant généralement au cas K = ppcm(L,M), mais avec aussi des occurrences fréquentes des deux cas particuliers M = pL et L = pM . Il peut advenir aussi que l'un des bancs de filtres d'analyse ou de synthèse soit invariant dans le temps. Bien entendu, les cas où les deux bancs de filtres sont invariants dans le temps sont traités couramment par l'état de l'art, notamment dans le document FR-2,875,351. Le tableau suivant résume les différents cas observés auprès des types de codeurs existants.30 Cas M = pL MPEG-1/2 layer I&II vers MPEG-2/4 AAC (p = 32 ) MPEG-1/2 layer I&II vers Dolby AC-3 (p = 8 ) Dolby AC3 vers MPEG-2/4 AAC (p = 4 ) Cas L = pM MPEG-2/4 AAC vers MPEG- 1/2 layer I&II(p = 32 ) Dolby AC3 vers MPEG-1/2 layer I&II( p = 8 ) MPEG-2/4 AAC vers Dolby AC-3 (p = 4 ) Cas K = ppcm(L, M,) MPEG-2/4 AAC vers G722.1 (K = 5120 , p1 = 5 , p2 = 16 ) Dolby AC3 vers G722.1 (K =1280 , p, = 5 , p2 = 4 ) G722.1 vers MPEG-2/4 AAC (K = _5120 ,pi = 16 , p2 = 5) G722.1 vers Dolby AC-3 (K =1280 , pl = 4 , p2 = 5) On notera que les cas de conversion où M = pL correspondent aux cas particuliers où les nombres de canaux "déterminants" des bancs de filtres sont des multiples entiers. On note, dans ces cas, simplement que K =M (pi =1) et p2 = p. La plupart des représentations utilisées par les codeurs MPEG-2/4 AAC ou Dolby AC-3 sont définies par deux dimensions notées M, et M2 . Néanmoins, comme montré précédemment, les deux dimensions sont, de façon équivalente, des transformées à recouvrement variant dans le temps TV-MLT (définies en fonction du rapport 10 M1/M2 ). Pour ce qui concerne les codeurs précités, les cas M = pL indiquent implicitement que la dimension la plus grande M, de la transformée TV-MLT (avec M,/M2) du banc de filtres d'analyse est un multiple de celle (notée L,) de la transformée TV-MLT (avec L,/L2) du banc de filtres de synthèse. De façon plus explicite, on peut parler alors d'une "conversion des cas où MI = pL,". 15 A titre d'exemple, le schéma conventionnel de la conversion entre le codeur audio Dolby AC-3 et le codeur MPEG-2/4 AAC est représenté sur la figure 7, sur laquelle on 20 60 a L, = 256 et M, = 1024, soit donc simplement p = 4 vérifiant MI = pLi. Ainsi, la condition de proportionnalité s'applique seulement sur la dimension la plus grande du banc de filtres variant dans le temps. * Exemple de conversion entre un banc de filtres de type P-QMF(L) et un banc de filtres de type TV-MLT(M~/M2) avec L et M, multiples On considère le cas où le banc de filtres de synthèse est de type P-QMF(L ), pour un transcodage entre un codeur de type MPEG-1/2 layer I et II vers un codeur de type MPEG-2/4 AAC et/ou un codeur de type MPEG-1/2 layer I et II vers un codeur de type Dolby AC-3. Il s'agit typiquement de deux exemples de conversion conformes au cas M = pL . Le banc de filtre de synthèse du schéma conventionnel est invariant dans le temps. Il comporte L = 32 sous-bandes et la longueur des filtres est Nt. = 512. La transformée TV-MLT(M1/M2) est définie par les valeurs M,/M2 = 1024/128 pour le codeur MPEG-2/4 AAC et M1/M, = 256/128 pour le codeur Dolby AC-3. On trouve alors les constantes caractéristiques du système de conversion comme suit : MPEG-2/4 AAC Dolby AC-3 P 32 16 N, 4 3 Le nombre A f n'est pas défini dans ce cas puisque le banc de filtres P-QMF est invariant dans le temps et, de ce fait, les tranches matricielles de g(n, Z) sont définies simplement comme : gi (n) = h' `n)f '2 pour i = 0,...,(2M, + Nf. -1 L'indice i est un indice de convolution simple et les coefficients des filtres de synthèse ne varient pas. On note AT le nombre d'états admissibles de la matrice principale de conversion T(n,Z) . Il existe Ar = 4 états possibles et différents pour les variations temporelles (indice n) de la matrice globale T(n, Z) . Le banc de filtres d'analyse H(n, Z) admet en effet quatre états distincts. De ce fait, à un instant nM, , la matrice principale de conversion T(n, Z) est construite, d'une part, à partir des coefficients du filtre de synthèse P-QMF( L) et, d'autre part : - des coefficients de la transformée TV-MLT définis par la relation (13), si la transformée est à résolution temporelle longue 2M, ; - ou des coefficients de la transformée TV-MLT définis par la relation (15), si la transformée est à résolution temporelle courte 2M2 ; - ou des coefficients de la transformée TV-MLT définis par la relation (17), si la transformée effectue un changement de résolution longue 2M, vers courte 2M2 ; - ou des coefficients de la transformée TV-MLT définis par la relation (19), si la transformée effectue un changement de résolution courte 2M2 vers longue 2M, . Les A = 4 états admissibles de la matrice de conversion T (n, Z) sont déterminés à partir des NT tranches qui sont toutes de taille M, x M, . Dans le cas d'une conversion réciproque avec L, = pM où le banc de filtres P- QMF( M) est le banc de filtres d'analyse, tandis que la transformée TV-MLT( L,/L2 ) est le banc de filtres de synthèse, le système de conversion est défini sous la forme B. La matrice de conversion T(Z, n) admet AT = 4 états différents et chaque état est 61 déterminé par NT tranches comportant L, x L, coefficients de filtrage. Si L1/L2 =1024/128 (cas de la transformée MDCT du codeur MPEG-2/4 AAC), alors NT = 4 et si L,/L2 = 256/128 (cas de la transformée MDCT du codeur Dolby AC-3), alors NT -3 . * Cas de transformées TV-ML T (L,/L2) et TV-ML T (M,/M2) avec L, et M, multiples Il s'agit par exemple du cas du transcodage entre le codeur audio Dolby AC-3 vers les codeurs MPEG-2/4 AAC. Le système de conversion correspond au cas particulier où M, = pl., avec L,/L2 = 256/128 et M,/1112 =1024/128. Les constantes du système de 10 conversion sont donc déterminées par p=4 A1=10 NTû3 Un état de la matrice de conversion comporte NT = 3 tranches de coefficients de filtrage Po (n), P, (n), P2 (n) . Chaque tranche de coefficients est de taille 1024 x 1024 . 15 On montre que le nombre maximal d'états différents de la matrice principale de conversion T(n,Z) est égal à AT =1152. Ce nombre est obtenu à partir de la valeur du terme uk d'une suite de Fibonacci, définie pour les valeurs initiales uL=4, u2=6, quand k = A/ . On a observé en effet que, de manière générale, le dénombrement d'états possibles de la matrice T respectait les variations d'une suite de Fibonacci. Ce 20 nombre d'états différents AT est déterminé en supposant que les changements d'états du banc de filtres de synthèse F(2,n) et ceux du banc de filtres d'analyse H(n,Z) sont indépendants. Il est préférentiellement prévu deux commandes de bascule SW indépendantes qui contrôlent les changements de résolution des deux transformées TVMLT. Pour la transformée TV-MLT(L,/L2 ), ce contrôle s'effectue à tous les instants 25 multiples de L, et pour la transformée TV-MLT(M,/M2), ce contrôle s'effectue à tous les instants multiples de M, .5 63 Comme indiqué ci-avant, les commandes de bascule SW opèrent avantageusement sur la base d'une analyse des propriétés statistiques du signal incident et déterminent, notamment par des critères d'entropie perceptuelle, quelles sont les résolutions les plus adaptées pour chaque bloc de longueur 24 ou 2M1 . Ces commandes sont au moins en partie cohérentes et certains changements de résolution de la transformée TVMLT( L1/L2) interviennent avantageusement de façon synchrones avec ceux de la transformée TV-MLT( M,/M2 ). Par exemple, si la transformée TV-MLT( L,/L2 ) procède sur plusieurs périodes, par des transformées de résolution L2, la transformée TV-MLT( M,/M2) n'effectue pas, a priori, de changement de résolution M2 -f M, ou ne passe pas par des états définis par la résolution M, . Il convient donc de préciser que le nombre d'états admissibles AT =1152 est maximum car certains états parmi les AT états ne sont plus admissibles s'ils ne sont plus cohérents par rapport au fonctionnement de la commande de transition du transcodeur. Pour le cas de la conversion intervenant clans le transcodage entre le format MPEG-2/4 AAC vers le format dolby AC-3, on a L, = pM1 avec p = 4 et le système de conversion est défini sous la forme B. La construction de la matrice g(Z, n) nécessite d'effectuer des regroupements de A,, = 10 états successifs de la transformée TV- MLT(M,/M2 ). Chaque état de la matrice de conversion T(Z, n) est déterminé par la donnée de NT = 4 tranches de 1024 x 1024 coefficients. On peut dénombrer un total maximum de 1022 états différents admissibles pour la matrice de conversion. * Codeur TDAC(L) et transformée TV-MLT(M,/M2) avec K = ppcm(L,M,) Dans le cas où le banc de filtres de synthèse est un banc de filtres de type TDAC comportant L = 320 sous-bandes, chaque filtre étant de longueur N = 640, il n'existe pas de multiplicité entre la dimension L et la dimension M, =1024 du codeur MPEG-2/4 AAC, ni entre la dimension L et la dimension M, = 256 du codeur Dolby AC-3. Dans ces deux cas de conversion, le système de conversion est déterminé par la valeur de K = ppcm(L, M,) telle que K = 5120 avec le codeur MPEG-2/4 AAC et K =1280 avec le codeur Dolby AC-3. Le système peut être mis en oeuvre sous la forme A ou sous la forme B. Dans le cas d'une mise en oeuvre selon la forme A, il existe quatre états admissibles pour la sous-matrice de filtrage g(n, Z) car les coefficients du banc de filtres de synthèse sont invariants dans le temps, tandis que ceux du banc de filtres d'analyse relatifs à la transformée TV-MLT( M,/M2) admettent quatre définitions différentes. Pour la construction de la matrice principale, on regroupe p, états successifs de g(n,Z) dans le but de construire un état de T(n,Z) . En supposant que les règles de changements d'état de g(n,Z) sont les mêmes que celles de la transformée TVMLT( M,/M2 ), le nombre total d'états AT de T(n, i) est déduit des valeurs d'une suite de Fibonacci. On obtient donc A7. = uk , calculé avec k = p, . Dans le cas du transcodage où intervient le codeur MPEG-2/4 AAC, on a p, =16 et AT = 8362. Un état de la matrice de conversion comporte N7. = 1 seule tranche avec 5120 coefficients. Dans le cas du transcodage où intervient le format Dolby AC-3, on a p, = 4 et AT = 26. Un état de la matrice de conversion comporte N7. =1 seule tranche avec 1280 coefficients de filtrage. Bien entendu, la présente invention ne se limite pas à la forme de réalisation décrite ci-avant à titre d'exemple ; elle s'applique à d'autres variantes. 65 De manière générale, l'invention s'applique à tout transcodage entre formats de codage, notamment audio, utilisant des bancs de filtres variants dans le temps. Ces transcodeurs peuvent être mis en oeuvre dans des passerelles, notamment en des noeuds de réseaux de télécommunication, ou dans des serveurs de contenu multimédia dans le cadre d'applications de diffusion en mode dit "de streaming", ou de téléchargement ou de diffusion pour télévision numérique (format MPEG-4 AAC vers un format MPEG-2 Layer II ou Dolby AC-3), ou autres. Elle peut être appliquée aussi à toute mise en oeuvre pour un passage entre deux représentations de sous-bandes, notamment au sein de codeurs au format MPEG-4 HEAAC et/ou MPEG Surround Audio Coding. Par ailleurs, la plupart des formats de codage indiqués ci-avant opèrent sur des signaux audionumériques, mais la présente invention s'applique à tout type de transcodage variant dans le temps et opéré sur tout type de signal. REVENDICATIONS 1. Procédé mis en oeuvre par des ressources informatiques pour traiter un signal par passage entre domaines différents de sous-bandes, visant à compacter en un même traitement l'application d'un premier vecteur représentant le signal dans un premier domaine de sous-bandes à un banc de filtres de synthèse, puis à un banc de filtres d'analyse, pour obtenir un second vecteur représentant le signal dans un second domaine de sous-bandes, dans lequel on prévoit l'application d'un filtrage matriciel au premier vecteur pour obtenir directement le second vecteur, caractérisé en ce que le banc de synthèse et/ou le banc d'analyse sont variants dans le temps, en ce que le filtrage matriciel est représenté par une matrice globale de conversion comportant des sous-blocs matriciels : ^ pré-calculés en tenant compte des variations possibles dans le temps des bancs de filtres, ^ et stockés en mémoire, et en ce que la matrice globale de conversion est construite par appel à ladite mémoire pour obtenir lesdits sous-blocs pré-calculés à des instants successifs. 2. Procédé selon la revendication 1, caractérisé en ce que la matrice globale de conversion est construite progressivement par appels à ladite mémoire à des instants successifs pour lesquels lesdits sous-blocs ont été pré-calculés. 25 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que, le premier vecteur comportant un premier nombre L de composantes en sous-bandes respectives tandis que le second vecteur comporte un second nombre M de composantes en sous-bandes respectives, après détermination d'un troisième nombre K, plus petit commun multiple entre le 30 premier nombre L et le second nombre M : 6620- on applique une conversion série/parallèle du premier vecteur pour obtenir p2 vecteurs composantes polyphasées, avec p2 = K/L , et - on applique une conversion parallèle/série pour obtenir ledit second vecteur, en ce que: * la matrice de conversion est appliquée auxdites p2 composantes polyphasées du premier vecteur pour obtenir pl composantes polyphasées du second vecteur, avec p1 = K/M , et * la matrice de conversion est carrée, de dimension K x K , et comporte pl lignes et p2 colonnes de sous-blocs A,; comportant chacun L lignes et M colonnes, et en ce que des sous-blocs Au d'un même indice i ou des sous-blocs Ali d'un même indice j sont pré-calculés pour un même instant. 4. Procédé selon la revendication 3, caractérisé en ce que la matrice de conversion est tridimensionnelle, avec : - une première dimension définie par l'indice courant i des sous-blocs, - une deuxième dimension définie par l'indice courant j des sous-blocs, - et une troisième dimension définie par un degré de filtrage matriciel, et en ce que les sous-blocs pré-calculés pour un même instant forment des plans matriciels s'étendant vers ladite troisième dimension. 5. Procédé selon l'une des revendications 3 et 4, caractérisé en ce que les sous-blocs Au s'expriment chacun : • en fonction d'un type de matrice g(n, Z ), dont les éléments sont donnés par : N,+N f-1 (g(n,Z))k,k, (n)Z ; , i=0 • ou, de façon équivalente, en fonction d'un type de matrice g( Z ,n), dont les éléments sont donnés par : N,+Nf1 (g(Z,n))k,.kZ = Z'gk,.k, (n), =ooù : - Nh est la longueur des filtres d'analyse, - Nf est la longueur des filtres de synthèse, - n est une variable temporelle, - 2 est une variable de domaine transformé, - k1 est compris entre 0 et M-1 et k2 compris entre 0 et L-1, et - les coefficients gk' k' (n), dans chaque cas, s'expriment en fonction des coefficients des filtres d'analyse et de synthèse. 6. Procédé selon la revendication 5, prise en combinaison avec la revendication 4, caractérisé en ce que chaque sous-bloc d'indice i, exprimé en fonction d'une matrice de type g(n,Z) est donné par : Au (n, Z) = [g (n + iM, Z) Z'M-'`' où la notation K désigne une décimation d'un facteur K, et les plans matriciels sont constitués de sous-blocs de même indice de ligne i et sont horizontaux, et en ce que la matrice globale de conversion est constituée par lesdits plans matriciels horizontaux pré-calculés pour pi instants successifs. 7. Procédé selon la revendication 5, prise en combinaison avec la revendication 4, caractérisé en ce que chaque sous-bloc d'indice j, exprimé en fonction d'une matrice de type g (.Z, n) , est donné par : Au (2,n) = [z'M-JLg (z, n + jL)l où la notation K désigne une décimation d'un facteur K, et les plans matriciels sont constitués de sous-blocs de même indice de colonne j et sont verticaux, et en ce que la matrice globale de conversion est constituée par lesdits plans matriciels verticaux pré-calculés pour p2 instants successifs. 69 8. Procédé selon l'une des revendications 5 et 6, caractérisé en ce que le nombre M est un multiple du nombre L (M=pL), et en ce que chaque sous-bloc s'exprime en fonction d'une matrice de type g (n, Z) . 9. Procédé selon l'une des revendications 5 et 7, caractérisé en ce que le nombre L est un multiple du nombre M (L=pM), et en ce que chaque sous-bloc s'exprime en fonction d'une matrice de type g (.Z, n) . 10. Procédé selon l'une des revendications 5, 6 et 8, caractérisé en ce que, le signal à traiter étant numérique et échantillonné initialement à une période Te, la matrice globale de conversion est déterminée périodiquement pour des instants multiples d'une quantité KTe et s'exprime en fonction de matrices de type g (n, Z) , calculées quant à elles pour des instants successifs multiples d'une quantité MTe. 11. Procédé selon la revendication 10, caractérisé en ce que le calcul des coefficients de chaque matrice de type g(n,Z) à un instant multiple de la quantité MTe s'effectue en prenant : - Af jeux successifs de coefficients du banc de filtres de synthèse déterminés pour Af instants successifs dans une période MTe, et à partir d'un instant multiple de MTe, - et un jeu de coeffi cients du banc de filtres d'analyse déterminé pour ledit instant multiple de MTe7 et en appliquant une convolution partielle entre lesdits jeux successifs de coefficients du banc de synthèse et les coefficients du banc d'analyse, avec Af = [(Nh+Nr 1)/L]+l , où Nh et Nf sont les longueurs respectives des filtres d'analyse et de synthèse. 12. Procédé selon l'une des revendications 5, 7 et 9, caractérisé en ce que, le signal à traiter étant numérique et échantillonné à une période Te, la matrice globale de conversion est déterminée périodiquement pour des instants multiples d'une quantité 70 KTe et s'exprime en fonction de matrices de type g (.Z, n) , calculées quant à elles pour des instants successifs multiples d'une quantité LTe. 13. Procédé selon la revendication 12, caractérisé en ce que le calcul des coefficients de chaque matrice de type g (.Z, n) à un instant multiple de la quantité LTe s'effectue en prenant : - Ah jeux successifs de coefficients du banc de filtres d'analyse déterminés pour Ah instants successifs dans une période LTe, et à partir d'un instant multiple de LTe, - et un jeu de coefficients du banc de filtres de synthèse déterminé pour ledit instant multiple de LTe, et en appliquant une convolution partielle entre lesdits jeux successifs de coefficients du banc d'analyse et les coefficients du banc de synthèse, avec Ah = [(Nh+Nf-1)/M]+l, où Nh et Nf sont les longueurs respectives des filtres d'analyse et de synthèse. 14. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'on prévoit un nombre fini d'états possibles auxquels sont associés des jeux respectifs de coefficients des bancs de synthèse et/ou d'analyse, et en ce que lesdits sous-blocs sont pré-calculés à partir desdits jeux respectifs pour tous les états possibles, tandis que la matrice globale de conversion est déterminée pour au moins un état possible défini à partir de propriétés du signal à traiter. 15. Procédé selon la revendication 14, caractérisé en ce que chaque jeu est calculé en fonction d'une matrice de modulation et d'un vecteur h caractérisant un état possible et assurant une propriété de reconstruction parfaite ou quasi-parfaite. 16. Procédé selon la revendication 15, dans lequel les bancs de synthèse et/ou d'analyse sont variants dans le temps par changements de résolution, caractérisé en ce que l'on dénombre quatre états possibles et en ce que lesdits vecteurs h définissent : - une fenêtre longue correspondant à un premier état possible,71 - une succession de fenêtres courtes correspondant à un second état possible, - une fenêtre de transition de la fenêtre longue vers la succession de fenêtres courtes correspondant à un troisième état possible, et - une fenêtre de transition de la succession de fenêtres courtes vers la fenêtre longue 5 correspondant à un quatrième état possible. 17. Procédé selon l'une des revendications 3 à 16, caractérisé en ce que l'on tient compte et on applique en conséquence un contrôle d'un retard algorithmique produit par un traitement des signaux en sous-bandes. 18. Procédé selon l'une des revendications précédentes, caractérisé en ce que la conversion globale met en jeu une transformée à recouvrement avec addition, en tenant compte d'une évolution temporelle dans les quantités qui sont additionnées. 15 19. Dispositif pour traiter un signal par passage entre domaines différents de sous-bandes, caractérisé en ce qu'il comporte, pour la mise en oeuvre du procédé selon l'une des revendications précédentes : - une mémoire (DD) stockant les sous-blocs pré-calculés, - une horloge (HOR) pour déterminer des instants successifs, et 20 - un module de filtrage matriciel (MFM) agencé pour récupérer de ladite mémoire les sous-blocs pré-calculés pour lesdits instants successifs pour la construction de la matrice globale de conversion. 20. Dispositif selon la revendication 19, pour la mise en oeuvre du procédé selon la 25 revendication 14, caractérisé en ce qu'il comporte en outre une commande de bascule (SW) pour : - définir, à partir du signal à traiter, l'un desdits états possibles et des jeux de coefficients associés, et - gérer l'accès à ladite mémoire en fonction de l'état défini. 10 30 21. Dispositif selon l'une des revendications 19 et 20, pour la mise en oeuvre du procédé selon la revendication 3, caractérisé en ce qu'il comporte en outre : - un convertisseur série/parallèle (CSP) en amont du module de filtrage matriciel, et - un convertisseur parallèle/série (CPS) en aval du module de filtrage matriciel. 22. Dispositif selon l'une des revendications 19 à 21, caractérisé en ce qu'il est intégré à un équipement tel qu'un serveur, une passerelle, ou encore un terminal, destinés à un réseau de communication. 10 23. Programme informatique, destiné à être stocké dans une mémoire d'un dispositif selon l'une des revendications 19 à 22, caractérisé en ce qu'il comporte des instructions pour la mise en oeuvre du procédé selon l'une des revendications 1 à 18.5