Brevet FR2767211A1 — publié le 19990212

l Etat de la technique La présente invention concerne un procédé pour réduire les opérations, notamment les étapes de calcul dans un ensemble de filtres de synthèse d'un décodeur, notamment5 pour des données audio à codage MPEG. On connaît des filtres de synthèse selon le docu- ment (Tsai, Chen, Chen: " An MPEG Audio Decoder Chip ". IEEE Transaction on Consumer Electronics, Vol. 41, No. 1, Février 1995). L'utilisation de la transformation cosinus discrète (DCT) comme transformation linéaire dans un ensemble de fil- tre de synthèse est un moyen connu ayant pour but de recons- tituer comme signal de temps un signal émis dans le domaine des fréquences. Réaliser directement cette conversion du si- gnal codé selon le standard MPEG-Audio, nécessite une mise en15 oeuvre de moyens importants en multiplications matricielles. Le document rappelé ci-dessus décrit l'utilisation de certai- nes symétries de la transformation DCT et limite le nombre d'opérations à 512 multiplications et 496 additions. Avantages de l'invention La présente invention a pour but de développer un procédé de réduction des opérations de traitement dans un en- semble de filtres de synthèse du type défini ci-dessus et conserve à cet effet un procédé ainsi défini, caractérisé en ce que l'ensemble de filtres de synthèse effectue une trans- formation cosinus discrète, sur la base des transformations rapides complexes de Fourier, et à partir de la séquence d'entrée l'ensemble de filtres de synthèse forme plusieurs suites d'entrée distinctes pour des transformations de Fou- rier suivantes, et les suites de sortie des transformations de Fourier subissent une modulation complexe et sont réunies par addition pour donner une séquence de sortie. Le procédé selon l'invention offre l'avantage de diminuer encore plus le nombre des opérations. Cela se fait avantageusement par l'utilisation des symétries que l'on ex- ploite en séparant les données d'entrée notamment en quatre suites d'entrée. Il est en outre avantageux que le procédé utilise des transformations de Fourier et qu'ainsi les traitements effectués soient relativement réduits. En outre, les trans- formations de Fourier pour les suites d'entrée sont effec- tuées sur les indices paires et les indices impaires avec des coefficients de rotation différents. Grâce à cette réparti- tion avantageuse des données d'entrée, il est possible de ré- duire le nombre d'opérations à 145 multiplications et 236 additions. Grâce à la réduction considérable des étapes de calcul, on arrive à une réalisation plus efficace dans des processeurs numériques de signaux et/ou on peut avoir une réalisation plus simple sous la forme d'un circuit. En consé- quence, on peut utiliser des processeurs plus avantageux ou des circuits intégrés fonctionnant avec une vitesse d'horloge plus faible. Suivant d'autres caractéristiques avantageuses de l'invention: - pour les suites d'entrée d'indice impaire, on utilise des coefficients de rotation modifiés, notamment mise en mé- moire dans un tableau pour les transformations de Fourier, - les suites d'entrée sont formées par addition et soustrac- tion par paires de suites partielles de la fréquence d'entrée, - les suites de sortie qui font défaut après la transforma- tion de Fourier, sont complétées par l'application de con- sidération de symétrie, - la modulation complexe est effectuée par multiplication avec des valeurs enregistrées dans un tableau. Il est particulièrement avantageux que les suites d'entrée soient formées pour les transformations de Fourier par addition et soustraction par paire de suites partielles de la séquence d'entrée. De manière avantageuse, il en résulte des rela- tions entre la séquence d'entrée de la transformation DCT et de la fréquence d'entrée des transformations de Fourier, que l'on peut séparer de manière simple suivant les indices pai- res et les indices impaires. Dessins La présente invention sera décrite ci-après de manière plus détaillée à l'aide d'un exemple de réalisation représenté dans les dessins annexés dans lesquels:5 - la figure 1 représente schématiquement un décodeur MPEG, - la figure 2 montre des blocs de traitement dans un ensemble de filtres de synthèse Description de l'exemple de réalisation La figure 1 montre les éléments principaux d'un décodeur 4 sous la forme de représentations schématiques. Le signal d'entrée 5 est appliqué tout d'abord à une unité de dépaquétisation 1 reliée à un quantificateur inverse 2 et à un ensemble de filtres de synthèse 3. Le signal d'entrée 5 sous forme numérique est converti dans l'unité de dépaquéti- sation 1 et dans le quantificateur inverse 2 en une séquence d'entrée 7; celle-ci est également appliquée comme flux de bits réparti entre 32 canaux. Ce flux de bits est reconstruit dans l'ensemble de filtres de synthèse 3 pour donner un si- gnal audio dépendant du temps. Pour cela on démodule tout d'abord le signal par une transformation cosinus discrète puis on filtre le signal de sortie dans 64 canaux par les composants polyphasés du protofiltre passe-bas; enfin, après une détection répétée 32 fois et une temporisation respec- tive, selon la cadence de sortie, on recompose pour former un signal de temps. Les multiplications matricielles exécutées par l'ensemble de filtres de synthèse 3 s'étendent sur un vecteur de signal d'entrée à 32 éléments et un vecteur de si- gnal de sortie à 64 éléments. Pour cela, il faudrait calculer dans le cas le plus général, une matrice de dimension 64 x 32. Pour calculer les données de sortie de l'ensemble de filtres de synthèse 3, on effectue les opérations suivan- tes: On répartit la séquence d'entrée en quatre sui- tes. A partir des suites, par addition ou soustraction par paire on forme quatre suites d'entrée pour les composan- tes réelles et les composantes imaginaires pour les deux transformations rapides de Fourier. Puis, on exécute les transformations de Fourier. La première transformation de Fourier calculée pour les va- leurs de sortie d'ordre paire, est une transformation de Fou- rier, rapide FFT à 8 points. La seconde transformation rapide de Fourier FFT pour les valeurs de sortie d'ordre impaire tient compte d'un décalage de fréquence de la suite d'entrée par modification des coefficients de rotation ce qui rend in- utile toute prémodulation supplémentaire nécessaire des si- gnaux d'entrée. Les suites de sortie des transformations FFT sont modulées sur le plan complexe et composées de manière appropriée par addition. On suppose que les séquences d'entrée et les sé- quences de sorties de la transformation DCT soient respecti- vement xk}k0 et n}n=0 Ces deux valeurs sont liées par la relation suivante: Zn = CO (16 + n)(k + 0.5)) zk. k=O Ces valeurs peuvent se transformer de la manière suivante à l'aide de la fonction (e): z = Re( 3 ej-2i6+n)(k+o.)) k=O (1) = Re ( e-Jj# Les valeurs de sortie d'indices paires et impai- res nécessitent (comme cela apparaîtra ultérieurement) une prémodulation complexe différente. De ce fait, il n'est pas possible de les calculer directement, de façon efficace avec une transformation de Fourier rapide FFT. Dans le cas d'une application de deux transformations FFT, du fait de la lon- gueur des suites d'entrée de 32 valeurs, il faut au moins 8 points dans la transformation FFT (on arrive ainsi à 32 en- trées). Pour une transformation FFT à 8 points, pour l'entrée k}=o et la sortie bn}7=, on a b= 3 e-i nk.a k=O Pour arriver à cette structure dans (1), on ré- partit la suite d'entrée x}31 0 en suite partielle (bloc 31 de la figure 2): {Z4k} 0{4k+l}k=o, {z4k+2}k=O, {z4k+3}k=O' Pour des raisons de symétrie (comme le permet de voir un calcul rapide, il est plus avantageux de réaliser différemment ce comptage des suites partielles {X4k}k=O, {X29-4k}k=o, {T4k+2}ko, {X31=4k}kO Substituer dans la formule 1 on obtient: Zn= Re ( Z (e-j2(64k+4nk+o.Sn+8) k=O + eJ (64k+4nk+O0.5n+8+32+2n). + eJit(-64k-4nk+O'Sn-8+16'31+31n) z + Z 231-4k ej f (-64k-4nk+O*5n+, 8,1629+29n). 2 4k)) -Re ( Z ( e-jL-(4nk-0.5n+8 z) k=O + e- ej-n 16 e-i 32 (4nk-O-n+8). X4k+2 + e-jrn - -J(-4nk-O.Sn-8). Z31 4k je e-j"ne6ne-j ' (-4nk-O'5n-8) Z29-4k)) Comme les valeurs d'entrée XK sont réelles, on peut conjuguer le coefficient complexe sans modifier la par- tie réelle du produit. On obtient ainsi: Zn = Re ( j -j(4nk+05n+8) (4k + e-jwe-i k=O0 + eji" -x31-4k + e-je:Z'e- 6' j X29-4k)) : Re ( _ eJf(4nk+O 5n+8 ( k + (-1) Z3 -4k k=0 _- e-J ( Z+ + (--1) ' 29-4k))). Pour les indices (n) paires et impaires du vec- teur de sortie, comme le coefficient (-1), on a des suites d'entrée différentes. Si l'on divise le problème et si l'on effectue séparément les transformations pour les indices pai- res et les indices impaires, on obtient ainsi: Z2n = Re ( E e-j 32 i3r.(,+,8 3 e- n8. n(Z4+2 + >3ein)), k=O 7 '9:TrkZ 21 j4(31-2n.(+ - _))) Z31_2n = Re ( > 3ei(32(1 2+ -TZ+ke ( Z _ _k -29- 4k k=0 Re ( e-j 3(n-235) E ei nk e-i ' ( XZ4k - Z31-4k)) k=O 7 2- + Re ( i 32(5+10.5) e 3J8 e-jk ( X4k+2 - Z29-4k (6) k=0 Le bloc 32 symbolise les transformations ci- dessus pour former les suites d'entrée pour la transformation de Fourier; le bloc 33 correspond aux transformations de Fourier proprement dites. I1 apparaît ainsi que le signal pour les indices d'ordre paire (n) doit être prémodulé de manière complexe par: -j-k eK La prémodulation représente la moitié de l'intervalle de la porteuse de fréquence. Cela peut également être assuré par une modification de la transformation FFT utilisée pour le calcul. Pour cela, on modifie les coeffi- cients de rotation nécessaires pour l'opération " papillon ", qui peuvent être représentés sous la forme d'une puissance de la racine complexe d'ordre 8 de 1, c'est-à-dire: 2i e 8 (générateur du groupe des coefficients de rotation cycli- ques). Pour cela, on augmente la puissance du générateur du s coefficient de rotation respectif de 2 0.5; dans cette for- mule on a s c {0,1,2 pour ce niveau de transformation FFT de ce coefficient de rotation (la transformation FFT commence au niveau le plus élevé. Pour pouvoir utiliser des nombres entiers, on 27r commence par une racine 16ème de 1 plus précisément e 16 De façon correspondante, on définit des puissan- ces des coefficients de rotation (enregistrées dans le ta- bleau 34) pour cette racine: FFT Standard Modifié Etage 2 1 O 2 1 O Etape O O O O 4 2 1 1 O 4 4 4 6 5 2 O O 2 4 2 3 3 O 4 6 4 6 7 Tableau 1: puissances de la commande de la transformation FFT. La suite de la procédure devient maintenant claire: les suites {4k + 31-4k}k=O {2+4k + 294k}0 x sont de nouveau transformées par une transformation FFT nor- male à 8 points et les suites x 7 7 2_4 {Z4k--Z31-4k}k=O et {tz2+4k 29-4k}k=0 sont transformées par une transformation de Fourier FFT, mo- difiée à 8 points. Les transformées sont alors modulées par les coefficients complexes correspondants et sont addition- nés. Les parties réelles des résultats forment finalement les suites de sortie souhaitées. On remarque que chaque transformation FFT ne fournit que 8 valeurs de sortie. Si l'on transforme les sui- tes décrites dans le paragraphe précédent, on obtient 2n} Loet {3l-2n} o Les résidus se définissent par des considérations de symétrie (bloc 35) 32-2n et l+2n à la place de (n) dans l'équation (4) ce qui donne: z32- 2n = -z2n et Z1+2n = -z31_-2n, n = 0,...7 pour Z16, on a toujours: Z16 = 0. Si maintenant on remplace (n) par 32+n dans l'équation (4), on obtient Z32+n= Re(e- e-3 (4nk+ sn+ k=O ( Z4k + (-) - e ( + + (-1) z314 29-4)))+ = In ( -icj(4nk+OSn+) (. + (-1)n '. -)) k=O Im ( > -J,(4nk+ O.5 +8) e-j3 ' 1 ( X4k+2 + ( -1) Z29-4k)) k=O Les valeurs de départ Zn pour n=33,...,63, se calculent à partir des parties imaginaires des signaux de sortie FFT modulés. Comme il faut transformer 4 suites, et que les opérations de calcul doivent être aussi réduites que possi- ble, on utilise les propriétés de symétrie des deux transfor- mations FFT. Jusqu'à présent, les opérations n'ont été effectuées que sur des suites d'entrée réelles pour les transformations FFT. Si l'on transmet k + X31_4k}}=0 et + {2+4k + X29-4k}k=O comme valeurs réelles et comme valeurs imaginai- res à l'entrée d'une transformation normale FFT, on peut transformer les deux suites par une transformation FFT. Pour cela, on utilise le fait que les transformées de la partie réelle sont des parties réelles d'ordre paire et que les par- ties imaginaires donnent des parties d'ordre impaire. A la transformation de la partie imaginaire, les deux sorties cor- respondent chaque fois à l'autre symétrie. La symétrie d'ordre paire et la symétrie d'ordre impaire pour la transformation FFT normale, signifient ainsi par exemple dans la formule (2), pour une entrée ak purement réelle: Re(bn) = Re(b8 n), pour n =,.. .,7, Im(bn) = -Im(b8-n), pour n =,,7, Les valeurs d'indices 0 doivent être traitées sé- parément. La même remarque s'applique également aux valeurs d'indice 4 car pour leur calcul, les moyens doivent être di- visés par deux. La transformation FFT modifiée offre en principe les mêmes propriétés de symétrie et le centre de symétrie est décalé. Ainsi, de façon analogue à la formule (2), c'est-à- dire pour: 31 27 b,. = e-j nk j-k k=O pour une entrée purement réelle ak on a: Re(bn) = Re(b7 n), pour n = 0,....7, Im(bn) = -Im(b7n), pour n = 0,. .,7, Cela signifie dans ce cas, toutes les valeurs de sortie sont intégrées dans des considérations de symétrie et..DTD: il n'y a pas de traitement particulier de valeurs détermi- nées. La partie paire ou la partie impaire est obtenue par addition ou soustraction des valeurs de symétrie corres- pondantes, c'est-à-dire par exemple dans (9), Re(bn) = -(Re (bn) + Re(b8_n)), pour n = 1,...,7, et Im(bn) = (Im (bn) - Im(b8_n)), pour n = 1,..7, La post-modulation complexe (représentée par le bloc 36) est réalisée par la multiplication avec les valeurs de sinus et de cosinus du tableau. Cette opération regroupe les calculs par de simples parenthèses de sorte que certaines opérations peuvent être transformées en calculs utilisant le tableau et ne jouent aucun rôle pour le calcul en temps réel. Si l'on considère les calculs pour 2n}7n=O, on définit de manière analogue les valeurs de sortie résiduelles. Tout d'abord, selon la formule (5) et selon les considérations dé- veloppées dans le paragraphe ci-dessus, on définit la suite 2n} 0 comme transformée de la suite: { Z4k + X31-4k + j(z2+4k + X29-4k)}k=o Yn= E e-Ji ( Z4k + x31-4k + j( Z4k+2 + X29-4k))- k=O La partie paire de la partie réelle et la partie impaire de la partie imaginaire constituent alors la trans- formée de X4k+X3l-4k, et ainsi, selon (5) on effectue une 7c -j - (n +8) poste-modulation par e 32- La partie résiduelle est modulée par -j - (5n+8) je 32 car elle constitue la transformée d'ordre (-j) de X2+4k + X29- 4k. Cela signifie pour n=l,...,7 Il z2, = (Re (y) +Re (ya-,,)). 0.5 cos( (n + 8)) + (Im (Yn) - lm (Y8-n)) 0.5 sin( 3r (n + 8)) + (Re (y.) - Re (ys-J)) 0.5 sin( r (5n + 8)) -(lm (y.) +Ilm (ys_) - os (+8) -( Ln (n) Im Y8-))0-5 cos( '2 t5n + 8)) On peut transformer alors de la manière sui- vante: z2n = Re (Yn) 0-5' (cos( 7 (n + 8)) + sin( (Sn + 8))) + Re (Y0-n) S ( cos( (n + 8))- sin( (5n + 8))) + in (y,).0.5.(sin( Q(n+ 8))- cos( (5n + 8))) (13) - Re (Y8-n) 0.5. (sin( 3(n + 8)) + cos( 2(5n + 8))). Les coefficients pour les multiplications dans la formule (13) sont enregistrés dans un tableau (bloc) 37. R E V E N D I C A T I ONS 1 ) Procédé pour réduire les opérations, notamment les étapes de calcul dans un ensemble de filtres de synthèse d'un déco- deur (4), notamment pour des données audio (5) à codage MPEG,5 caractérisé en ce que l'ensemble de filtres de synthèse effectue une transformation cosinus discrète, sur la base des transformations rapides complexes de Fourier, et à partir de la séquence d'entrée (7) l'ensemble de filtres de synthèse (3) forme plusieurs suites d'entrée distinctes pour des transformations de Fourier sui- vantes, et les suites de sortie des transformations de Fou- rier subissent une modulation complexe et sont réunies par addition pour donner une séquence de sortie (6). 2 ) Procédé selon la revendication 1, caractérisé en ce que pour les suites d'entrée d'indice impaire, on utilise des coefficients de rotation modifiés, notamment mise en mémoire dans un tableau pour les transformations de Fourier. 3 ) Procédé selon les revendications 1 ou 2, caractérisé en ce que les suites d'entrée sont formées par addition et soustraction par paires de suites partielles de la fréquence d'entrée (7) 4 ) Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les suites de sortie qui font défaut après la transformation de Fourier, sont complétées par l'application de considéra- tion de symétrie. ) Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que la modulation complexe est effectuée par multiplication avec des valeurs enregistrées dans un tableau.