FR 2561011 A1 19850913 FR 8403667 A 19840309 Proesur de calcul d'une transformée discrète inverse du cosinus La présente invention est relative aux processeurs de caleul de la transformée discrète inverse du cosinus, rentrant notamment dans des systèmes de décompression et de décodage, à la réception de signaux numériques d'image de télévision sur des liaisons à largeur de bande limitée. L'utilisation de techniques de codage numérique et de compression est déjà connue pour le traitement de signaux d'image de télévision a transmettre, sans dégradation notable, sur des liaisons à largeur de bande limitée. Certaines de ces techniques permettant un traitement d'un signal d'image de télévision en temps réel et l'obtention de résultats satisfaisants tant sur la qualité d'image transmise que sur le rapport de compression obtenu font appel au caleul de la transformée discrète du cosinus en deux dimensions. Pour ce calcul, le signal d'image de télévi- sion est divisé en blocs matriciels successifs de N x N éléments d'image numériques, non chevauchants. Ces blocs sont convertis en ensembles suc- eessifs de N x N coefficients de transformée diserète du cosinus à deux dimensions qui quantifiés et codés sont ensuite transmis en ligne. A la réception, la restitution des blocs matriciels de N x N élé- ments d'image numériques permettant de reconstituer le signal d'image de télévision original est obtenue par caleul de la transformée discrète inverse du cosinus en deux dimensions des ensembles successifs de N x N coefficients eux-mêmes restitués par décodage du signal reçu. Qu'il s'agisse de la transformée discrète du cosinus ou de la transformée inverse, le calcul de la transformée en deux dimensions se ramène à des calculs de transformée de même nature en une dimension, transformée discrète du cosinus dans le premier eas et transformée inverse dans le second cas. Le calcul d'une telle transformée, directe ou inverse, en une dimension est effectué en réalisant une suite d'opérations réelles définies dans le temps sous forme d'un algorithme. L'article intitulé "A Fast Computational Algorithm for the Discrete Cosine Transform" de Wen-Hsiung Chen, C. Harrison Smith et S.C. Fralick, publié dans IEEE Transactions on Communications, septembre 1977 donne un algorithme de calcul de la transformée diserète du eosinus d'une -2 - suite de N données applicable pour N 2n avec n supérieur ou égal à 2. Cet algorithme décompose le traitement des N données de la suite à transformer, pour l'obtention, à un facteur de normalisation près, des N données transformées correspondantes ou coefficients correspondants, en un nombre limité d'étapes successives fournissant chaeune N résultats. Cet algorithme, qui est du type connu sous la dénomination anglo-saxonne de wbutterfly algorithme, est illustré par un diagramme qui est bidiree- tionnel, audit facteur de normalisation près, c'est-à-dire qu'il illus- tre également, dans le sens allant des coefficients vers les données initialess la suite des étapes successives permettant d'obtenir les N données initiales à partir des N coefficients. La demande de brevet déposée ce même jour par la demanderesse décrit une architecture de processeur de calcul de transformée discrète du cosinus basée sur l'utilisation d'un algorithme modifié établi à partir de celui connu cité ci-avant et dit algorithme de W.H. Chen et-, autres.: La présente demande a pour but de définir une architecture simple de processeur de calcul de transformée discrète inverse du cosinus met- tant en oeuvre un algorithme déduit de celui modifié par la demanderesse pour le calcul de la transformée discrète du eosinus, qui conduit à une structure finale très simple, de faible taille et aisément intégrable. Elle a donc pour objet un processeur de ealeul de transformée discrète inverse du cosinus comportant, pour le calcul de la transformée d'une suite de N données numériques dits coefficients, N = 2n, n entier supérieur à 2, des unités arithmétiques d'addition/soustraetion et de multiplication, caractérisé par le fait qu'il est organisé en quatre étages successifs de calcul chacun affecté à une seule et même opération et constituant ensemble un module processeur commandé par une mémoire programmée, que lesdits étages comportent: - pour le premier étage, dit d'entrée du module, une unité arithmétique de multiplication reliée à une mémoire adressable de valeurs de fonc- tions cosinus et sinus associée, et un multiplexeur d'entrée reliant sélectivement un bus d'entrée du module recevant lesdits coefficents ou un bus interne au module et dit de bouclage à ladite unité de multipli- cation, ladite unité de multiplication délivrant les produits successi- vement élaborés sur un bus de sortie d'étage, 25610 1 1 -3- - et pour le deuxième, le troisième et le quatrième étage, chacun, une unité arithmétique d'addition/soustraction à deux bus d'entrée et un bus de sortie d'étage, le bus de sortie du quatrième étage constituant le bus de sortie du module, deux registres de mémoire adressable chargés à partir du bus de sortie de l'étage en amont directement de celui consi- déré, et deux multiplexeurs d'entrée d'étage reliant chacun sélective- ment le bus de sortie dudit étage amont ou le bus de sortie de l'un des registres de l'étage considéré à l'un des bus d'entrée de ladite unité d'addition/soustraction de cet étage, et que ledit bus de bouclage est relié au bus de sortie de l'un des registres de mémoire adressable dudit quatrième étage. Selon une autre caractéristique de l'invention, ce processeur, appliqué au calcul de la transformée en deux dimensions de blocs matri- ciels de N x N coefficients correspondant à la transformée directe de blocs matriciels de N x N éléments d'image numériques d'un signal d'image, comporte, en outre, un jeu de trois mémoires adressables, dites première, deuxième et troisième mémoires, associées audit module proces- seur et commandées individuellement en écriture et en lecture par ladite mémoire programmée, et, pour chacune desdites première, deuxième et troisième mémoires, deux multiplexeurs l'un dit de transfert de mots entrants et sortants de la mémoire coneernée, l'autre dit d'adressage de cette mémoire et tous deux commandés simultanément par ladite mémoire programmée, les multiplexeurs de transfert des mots entrants et sortants assurant, en deux séquences de traitement, pour l'ensemble des trois mémoires, la liaison sélective de ladite première mémoire mise en lec- ture puis ladite deuxième mémoire alors également mise en lecture avec le bus d'entrée dudit module tandis que respectivement pendant ces mêmes séquences la deuxième mémoire mise en écriture puis la troisième mémoire alors également mise en écriture sont reliées au bus de sortie dudit module et ceux d'adressage transmettant auxdites mémoires, pendant ces mêmes séquences, les adresses successives de lecture ou d'écriture de chacune des mémoires, fournies par ladite mémoire programmée. Les caractéristiques et avantages de la présente invention ressor- tiront de la description donnée ci-après d'un mode préféré de réalisa- tion illustré dans les dessins ci-annexés. Dans ces dessins: 256101 1 - La figure 1 illustre le diagramme d'un algorithme modifié selon la présente demande pour le calcul de la transformée discrète inverse du cosinus en une dimension, - La figure 2 représente un processeur de calcul de la transformée discrète inverse du cosinus en une dimension, selon l'invention, dit module processeur, mettant en oeuvre l'algorithme de la figure 1, - La figure 3 représente un processeur de calcul de la transformée discrète inverse du cosinus en deux dimensions, construit autour du module selon la figure 2. Dans la figure 1, le diagramme de l'algorithme modifié, selon l'invention, pour le calcul de la transformée discrète inverse du cosinus d'une suite de N coefficients Pi, i = 0, 1.... N-1, N = 8, par exemple résultant de la transformation directe d'une suite de N données numériques Xi montre que la reconstitution des N données numériques Xi est effectuée par un traitement, par étapes successives, portant sur les N coefficients Pi qui constituent les données d'entrée. Chacune des étapes est divisée en 8 cycles opératoires pour N = 8 au cours desquels peuvent être délivrés des résultats intermédiaires élaborés ou les résultats finals du traitement, c'est-à-dire les 8 données Xi. Ces étapes successives sont notées I, II, III, I', II', III' et IV. Elles consistent: - au niveau de la première étape I, à effectuer des opérations de multi- plication entre quatre des données d'entrée, P1, P7, P5, P3 répétées deux fois et des valeurs définies de fonctions cosinus et sinus notées Ci et Si avec Ci = Cos i r et Si = sin i 16 16 ' - au niveau de la deuxième étape II, à effectuer des opérations d'addi- tion ou soustraction entre paires convenables de résultats intermé- diaires obtenus de l'étape I, - au niveau de la troisième étape III, à effectuer des opérations d'addi- tion ou soustraction entre paires convenables de résultats issus de l'étape II - au niveau de la quatrième étape I', à effectuer des opérations de multiplication entre les quatre autres données d'entrée PO, P4, P2 et P6, pour certaines répétées, et des résultats issus de l'étape III par des valeurs définies Ci et Si de fonctions sinus et cosinus, - Ui niven,-U de Jla cinquième étape II' à effeetuer des opérations d'addi- tion ou asoustraction entre paires convenables de résultats issus de l'étape I'1 - au niveau de la sixième étape III', à effectuer des opérations daddi- tion ou soustraction entre paires convenables de résultats issus de l'étape II', - et au niveau de la septième et dernière étape IV, à effectuer des opérations d'addition ou soustraction entre paires convenables de résul- tats issus de l'étape III' ou de l'étape III. Les huit données Xi correspondant aux coefficients Pi sont obtenus à la fin de l'étape de traitement IV, au cours des cycles opératoires de cette étape. Le processeur de calcul représenté dans la figure 2 effectue les calculs successifs illustrés dans le diagramme de la figure 1, en tirant profit de l'analogie entre les étapes successives I, Il et III et les étapes successives I', II', III' dont les traitements peuvent être exécutés par les mêmes circuits et de la possibilité d'utilisation des résultats issus de l'étape III pour une partie d'entre eux au cours de l'étape I' et pour l'autre partie avec ceux issus de l'étape III' au cours de l'étape IV. La structure résultante du processeur se trouve en conséquencesimplifiée et constitue un module processeur intégrable. Ainsi le processeur de calcul illustré dans la figure 2 comprend quatre étages successifs de calcul portant sur les 8 coefficients d'en- trée. Ces étages comportent essentiellement, pour le premier étage, dit d'entrée du module, une unité arithmétique de multiplication 10 et pour chacun des second, troisième et quatrième étage, une unité arithmétique d'addition/soustraction identifiée par la référence 20, 30 ou 40 selon l'étage considéré. Un registre de sortie d'étage commandé sur l'un des fronts dtun signal d'horloge H, soit les registres de sortie 11, 21, 31 et 41 pour ces quatre étages, assure la délivrance des résultats élaborés dans l'étage. Ces unités de multiplication 10 et d'addition/soustraction 20, 30 et 40 ont chaeune deux bus d'entrée identifiés par la référence affectée à l'unité considérée, accompagnée de la lettre A ou B. Elles ont chacune un bus de sortie considéré sur le registre de sortie associé, désigné par la lettre S accompagnée du chiffre I, II, III ou IV utilisé, sans ou avec le signe "prime", pour désigner l'étape de traitement effectué dans le diagramme donné dans la figure 1. Le bus de sortie SIV du quatrième étage, dit étage de sortie du module, constitue le bus de sortie du module sur lequel seront délivrés les 8 éléments d'image correspondant aux huit coefficients d'entrée. Les unités d'addition/soustraction 20, et 40 reçoivent en outre chacune un signal de commande addition/sous- traction désigné par Dl, D2 ou D3 selon l'unité 20, 30 ou 40 considérée. Dans ce module processeur, le circuit multiplicateur 10 du premier étage a l'un de ses bus d'entrée 10A relié sélectivement par un circuit multiplexeur d'entrée d'étage 12 commandé par un signal C1 soit à un bus d'entrée 1E du module recevant lesdits coefficients soit à un bus interne au module et dit bus de bouclage lB. Il a son deuxième bus d'entrée 10B relié à une mémoire adressable 13 de valeurs de fonctions cosinus et sinus qui lui est associée, mémorisant les valeurs définies Ci et Si de ces fonctions, Ci = cos i1 et Si = sin i, pour N = 8, et eSdc oco i c 16 et i16 ' pourN = 8, et commandée par un signal d'adresse de lecture de la mémoire Ad. Dans ce module processeur, l'unité d'addition/soustraction 20, 30 ou 40, de chacun des deuxième, troisième et quatrième étages, a chacun de ses bus d'entrée également relié sélectivement par un circuit multiplexeur d'entrée d'étage soit au bus de sortie de l'étage directe- ment amont, soit au bus de sortie d'un registre de mémoire adressable d'entrée de l'étage considéré. Ainsi, dans le second étage, deux circuits multiplexeurs 22A, 22B, commandés par un signal C2A et un signal C2B respectivement, relient sélectivement, l'un le bus de sortie SI ou le bus de sortie d'un registre de mémoire 23A au bus d'entrée 20A et l'autre le bus de sortie SI ou le bus de sortie d'un registre 23B à l'autre bus d'entrée 20B de l'unité d'addition/soustraction 20. Ces deux registres de mémoire 23A et 23B sont chargés à partir du bus de sortie SI. Ils sont susceptibles chacun de mémoriser plusieurs résultats issus du bus de sortie SI du premier étage et peuvent comporter, en conséquence, plusieurs étages registre R. Dans l'exemple décrit l'un des registre de mémoire, 23A, sera constitué de 2 étages registres R pour permettre de mémoriser simultanément 2 résultats issus dans le temps de SI, l'autre 23B ne sera constitué que -7- d'un seul étage registre R. Ces registres de mémoire sont en outre indi- viduellement commandés en écriture par un signal E1 pour le registre 23A et E2 pour le registre 23B et en lecture par un signal L1 pour le registre 23A et L2 pour le registre 23B.. Pour son chargement comme pour la sortie de l'un des résultats mémorisés, le registre de mémoire 23A sera aussi commandé par un signal d'adressage Adl. D'une manière analogue, deux circuits multiplexeurs 32A et 32B et deux registres de mémoire adressable 33A et 33B sont associés à l'unité d'addition/soustraction 30 et deux autres circuits multiplexeurs 42A et 42B et deux autres registres de mémoire adressable 43A et 43B sont asso- ciés à l'unité d'addition/soustraction 40. Ces circuits multiplexeurs sont commandés individuellement par un signal C3A, C3B, C4A ou C4B selon les circuits. Les registres de mémoire sont également commandés indivi- duellement par des signaux de commande d'écriture, de lecture et d'adressage désignés respectivement par les références E, L et Ad accom- pagnées du chiffre 3 en ce qui concerne le registre 33A, 4 en ce qui concerne le registre 33B, 5 en ce qui concerne le registre 43A et 6 en ce qui concerne le registre 43B. Ces registres de mémoire sont aussi sus- ceptibles de mémoriser plusieurs des résultats issus du bus de sortie de l'étage directement amont et comporteront, en conséquence plusieurs étages registres R. Dans l'exemple décrit, les registres de mémoire 33A et 33B seront constitués de deux étages registre R chacun, le registre de mémoire 43A de quatre étages registre R et le registre de mémoire 43B de trois étages registre R. En outre, le registre de mémoire 33A sera commandé par un signal RAZ de mise à zéro de l'un ou l'autre de ses étages R alors adressé. Le bus de sortie de l'un des registres de mémoire adressable de l'étage de sortie du module, soit le registre de mémoire 43A, est en outre relié par le bus de bouclage lB au circuit multiplexeur d'entrée 12 de l'étage d'entrée du module. Les signaux extérieurs de commande d'adressage, d'écriture2 de lecture et de remise à zéro appliqués aux registres de mémoire indi- viduels 23A, 23B, 33A, 33B, 43A et 43B, celui d'adressage de la mémoire des cosinus et sinus 13, les signaux de commande D1, D2 et D3 des unités d'addition/soustraction 20, 30 et 40 et les signaux de commande Cl, C2A, -- 8 --25101 8- C2B, C3A, C3B, C4A et C4B des circuits multiplexeurs seront avantageu- -sement délivrés par une mémoire programmée de commande, non représentée. Les données d'entrée à traiter, c'est-à-dire les coefficients à traiter, ainsi que le signal d'horloge H définissant les cycles opératoires, pour la sortie des résultats intermédiaires ou terminaux, seront délivrés par un circuit contrôleur principal, non représenté, pilotant également la mémoire programmée de commande. Dans cette structure, les bus de données sont tous, exception faite du bus de sortie du module SIV, de 12 bits; ce bus de sortie SIV sera de 8 bits et délivre les données numériques Xi reconstituées par le module sous 8 bits. Le fonctionnement du module processeur et le déroulement des trai- tements qu'il effectue sur les coefficients d'entrée sont donnés dans les tableaux I et II ci-après, en regard de cycles opératoires succes- sifs 1, 2, 3... définis par le signal H. Dans ces tableaux, on a indiqué pour une suite de huit coefficients Pi à traiter, i = O, 1...7, appli- qués sur le bus d'entrée 10A du circuit multiplicateur 10, à partir du bus d'entrée 1E du module, au cours de tout ou partie de deux séries de 8 cycles opératoires H, les résultats successifs notés notamment par Ni, Mi, Li et Xi obtenus sur les sorties SI à SIV des différents étages et ceux mémorisés dans les étages respectifs R des registres de mémoire. On y a également ébauché le déroulement, identique, des traitements effec- tués sur une nouvelle suite de coefficients succédant à la précédente en entrée du module processeur affecté au traitement en continu d'une succession de telles suites, les coefficients et résultats relatifs à cette nouvelle suite qui apparaissent dans ces tableaux ayant été repérés par les mêmes références que leurs homologues de la suite précé- dente accompagnées du signe "prime". H 10A SI 23A 23B 20A 20B SII 33A 33B 30A 30B SIII Rli R2 R R R2 R1 R2 I 1 P1 _.._.... 2 P7 P1 S1... . .. * e 3 P5 P77 S7 P1 S. P1 S1 P7 S7.. ... 4 P3 P5 S5 P1 1... N4. .... P3 P3 S3 P5 S5. P5 S5 P33 S3 4.... . 6 P5 P3 C3 P5 S5.. N5 N4... N4 N5. 7 P7 P5 C5 P3 C3. P3 C3 P5 C5. N4 A N5. N4 N5 5 8 P1 P7 C7 P3 C3... . N6 N4 N5... M 9 PO P1 Ci P7 C7 P7 C7 P1 Cl. N6. N5.. P4 PO C4 P7 C7.. . N7 N6. N5. N6 N7 o 11 P2 P4 C4 PO C4.. PO C4 P44 C4. N6. N7. N6 N7 M7 12 P6 P2 S2 PO C4. P4 C4 Po c4 P4 c4 MO N6. N7. . M6 13 P2 P6 S6 PO C4 P2 S2 P4 C4 P2 S2 P6 S6 M1 MO N7. 14 P6 P2 C2 PO C4 P2 S2 P4 C4. M2 MO Mi N7. Ml M2 M6 6 6 C6 P2 C2 P2 S2 P4 C4 P2 C2 P6 C6. MO M1 M2. M1 M2 L1 16 M5 M6 C4 P2 C2 P2 S2 P4 C4. M3 MO M1 M2 À MO M3 L2 17 P'1 M5 C4 M6 C4 P2 S2 P4 C4 M6 C4 M5 C4. MO O M2 M3 MO M3 LO 18 P'7 P'I Si1 M6 C4 P2 S2 M5 C4 M6 C4 M5 C4 L5 MO O M2 M3 L5 O L3 19 Pl5 P'7 S7 P'1 Si1 P2 S2 M5 C4 Pli Si P'7 S7 L6 MO O L5 M3 L6 O L5 P'3 P'5 S5 P'l Si P2 S2 M5 C4.. N'4 MO O L5 L6.. L6 21 P'3 P'3 S3 P'5 S5 P2 S2 M5 C4 P'5 S5 P'3 S3. N'4 O L5 L6. 22 P'5 P33 C3 P'5 S5 P2 S2 M5 C4. N'5 N,4 O L5 L6 N'4 N'5. 23 P'7 P'5 C5 P'3 C3 P2 S2 M5 C4 P'3 C3 P'5 C5. N'4 0 N'5 L6 N'4 N'5 M'5 24 Pli P'7 C7 P'3 C3 P2 S2 M5 C4. N'6 N'4 O N'1415L6.. M'4 P'O P'i C1 P'7 C7 P2 S2 M5 C4 P'7 C7 P'i C1. N'6 O N'5 L6.. 26 P'4 P'O C4 P'7 C7 P2 S2 M5 C4. * N'7 N,6 O N'5 L6 N'6 N'7. 27 P'2 P'4 C4 P'O C4 P2 S2 M5 C4 P'O C4 P4 C4. N'6 O N'7 L6 N'6 N'7 M'7 TABLEAU I - 10 - H 43A 43B 40A 40B siV R1 R2 R3 R4 R1 R2 R3 i.. ... 6. ... i 7 8 M5 9 M5... L4.... M5 L4.... 11 M5... L4... . 12 M5 M6 L4... . 13 M5 M6.. L4 L7. .. 14 M5 M6.. L4 L7.. . M5 M6.. L4 L7.. . 16 M5 L1.. L4 L7. .. 17 L2 L1.. L4 L7. LO L7. 18 L2 L1 LO. L4 L7. LO L7 X0 19 L2 L1 LO L3 L4 L7 L3 L4 X7 L2 L1 LO L3 L4 L5. L3 L4 X3 21 L2 L1 LO L3 L4 L5 L6 L2 L5 X4 22 L2 L1 LO L3 L4 L5 L6 L2 L5 X2 23 L2 L1 LO L3 L4 L5 L6 L1 L6 X5 24 M'5 L1 LO L3 L4 L5 L6 L1 L6 Xl M'5 L1 LO L3 L'4 L5 L6.. X6 26 M'5 L1 LO L3 L'4 L5 L6.. 27 M'5 L1 LO L3 L'4 L5 L6.. . TABLEAU II 25610 1l 1 - 11 - Dans ces tableaux, le symbole "." représente un état indifférent et les résultats intermédiaires, notés Ni, Mi et Li, ainsi que les données de sortie Xi, obtenus à partir des coefficients Pi, peuvent être définis de la manière suivante: NO = PO M0 = NO C4 + N1 C4 N1 = P4 M1 = NO C4 - N1 C4 N2 = P2 M2 = N2 S2 - N3 S6 N3 = P6 M3 = N2 C2 + N3 C6 N4 = P1 S1 - P7 S7 M4 = N4 + N5 N5 = P5 S5 - P3 S3 M5 = N4 - N5 N6 = P3 C3 + P5 C5 M6 = N6 + N7 N7 = P7 C7 + P1 C1 M7 = N6 - N7 LO = M0 + M3 X0 = LO + L7 L1 = M1 + M2 X1 = LI + L6 L2 = M1 - M2 X2 = L2 + L5 L3 = MO - M3 X3 = L3 + L4 L4 = M4 X4 = L3 - L4 L5 = M6 C4 - M5 C4 X5 = L2 - L5 L6 = M6 C4 + M5 C4 X6 = L1 - L6 L7 =M7 X7 = LO - L7 avec Ci = cos i16 et Si = Sin 1- pour i = 1, 2,..7. 16 1 En regard de ces deux tableaux, il ressort que ce module proces- seur, à un seul circuit multiplicateur, 3 additionneurs/soustracteurs, 14 étages de registre de mémoire chacun de capacité d'un mot de 12 bits, 7 multiplexeurs de bus et une mémoire des valeurs de cosinus et sinus, effectue les différents calculs de manière séquentielle sur les 8 coef- ficients de suites successives de 8 coefficients, ces suites pouvant être par exemple des lignes successives d'un bloc matriciel de 8x8 coef- ficients. Cette structure permet d'effectuer le caleul de la transformée en une dimension portant sur 8 coefficients de chaque ligne qui lui sont appliqués sur 2 séries successives de 8 cycles, notés 1 à 16, en déli- vrant les données de sortie correspondantes en 8 cycles opératoires notés 18 à 25 précédés de 8 cycles opératoires 10 à 17 sans résultat de 25610 1 1 - 12 - sortie. Au bloc de 64 coefficients reçus à l'entrée du proeesseur sur 128 cycles d'horloge successifs correspondra donc un bloc de 64 données de sortie élaboré au cours de 128 cycles d'horloge après une initialisation globale du traitement effectuée sur 9 cycles d'horloge notés 1 à 9. Dans la figure 3, on a schématisé un processeur de calcul de la transformée discrète inverse du cosinus en deux dimensions, traitant des blocs matriciels successifs de 8 x 8 coefficients résultant, par exemple, de la transformation direete de blocs matriciels de 8 x 8 élé- ments d'image numériques d'un signal d'image de télévision pour élaborer les blocs successifs correspondants de 8 x 8 éléments d'image. Ce processeur est construit essentiellement sur le module proces- seur de calcul de la transformée discrète inverse du cosinus en une dimension. Il comporte, outre ce module désigné sous la référence 1 et identique à celui décrit en regard de la figure 2 à ceci près que son bus de sortie aura ici 12 bits: - trois registres mémoire 50, 60, 70, ou mémoires adressables, reliés au module 1, - une mémoire programmée 80 de commande des registres 50, 60, 70 et du module 1 - et un circuit contrôleur principal 90 pilotant la mémoire programmée et assurant le stockage des coefficients, à transférer pour leur traitement par blocs successifs de 64, et le stockage des blocs des 64 éléments d'image issus du traitement. Le module processeur 1 n'est plus décrit. On a simplement repéré le bus d'entrée et le bus de sortie du module par les références 1E et S IV utilisées dans la figure 2. Il est commandé par la mémoire programmée 80 ainsi qu'indiqué ci-avant, un bus de commande 1C regroupe ces commandes et le signal H provenant du circuit contrôleur 90. Chacun des registres de mémoire 50, 60 et 70 est de capacité choi- sie pour mémoriser un bloc de 8x8 mots, soit 64 éléments d'image sur 8 bits ou 64 coefficients sur 12 bits chacun. Ils sont individuellement commandés en écriture et lecture par la mémoire programmée de commande 80 et reçoivent un signal d'écriture et lecture traduit par les niveaux logiques 0/1 sur une liaison 51, 61 ou 71. A chacun de ces registres de mémoire 50, 60, 70 sont associés un premier multiplexeur de - 13 - mots entrants ou sortants 52, 62 ou 72 et un second multiplexeur d'adresses pour ces mots, 53, 63 ou 73, tous deux commandés simultané- ment par un signal de commande délivré par la mémoire programmée de commande 80 par une liaison individuelle 54, 64 ou 74. Ces mémoires adressables ont un bus d'adressage et un bus bidirectionnel d'entrée/sortie de mots, chacune. Les multiplexeurs de mots 52, 62 et 72 sont analogues; ils pré- sentent chacun ainsi que schématisé un bus d'entrée pour les mots entrants dans le registre mémoire concerné et bus de sortie pour les mots sortants de ce registre mémoire, ces bus étant repérés par la référence du multiplexeur accompagnée de la lettre E, pour le transfert des mots entrants dans le registre mémoire, et de la lettre L, pour les mots sortants du registre. Leur signal de commande assure une liaison sélec- tive entre leur bus d'entrée ou leur bus de sortie et le bus bidirec- tionnel d'entrée/sortie de registre de mémoire. Pour le multiplexeur 52, le bus d'entrée 52E est relié au circuit contrôleur principal 90 et le bus de sortie 52L au bus d'entrée 1E du module processeur 1. Pour le multiplexeur 62, le bus d'entrée 62E est relié au bus de sortie SIV du module processeur 1, son bus de sortie 62L est également relié au bus d'entrée 1E du module processeur 1. Pour le multiplexeur 72, le bus d'entrée 72E est relié au bus de sortie SIV du module processeur 1 et son bus de sortie 72L au contrôleur principal 90. Les multiplexeurs d'adresses 53, 63 et 73 sont aussi analogues entre eux. Ils présentent deux bus d'entrée d'adresses reliés à la mémoire programmée 80 et désignés par les références du multiplexeur accompagnées de la lettre E, pour l'un des bus affecté aux adresses d'écriture des mots entrant dans leur registre de mémoire et par la lettre L pour le deuxième bus affecté aux adresses-de lecture des mots sortant de leur registre de mémoire. Ils présentent chacun un bus de sortie. Ils sont commandés individuellement par le signal sur la liai- son 54, 64 ou 74 pour assurer sélectivement la liaison entre l'un de leurs deux bus d'entrée et leur bus de sortie, pour délivrer soit les adresses d'écriture des mots entrants soit les adresses de lecture des mots sortants. Le circuit contrôleur 90 assure le transfert des coefficients par blocs de64, vers le registre de mémoire 50, reçoit du registre de - 14 - mémoire 70 les éléments d'image issus des traitements effectués et contrôle le processus général de traitement. Il présente un bus d'entrée 91 pour les suites de blocs de coefficients à traiter, un bus de sortie 92 pour les éléments d'image reconstitués, un bus bidirection- nel 93 de transfert des blocs successifs de coefficients du circuit contrôleur 90 vers le registre de mémoire 50 et des blocs d'éléments d'image du registre de mémoire 70 vers le circuit contrôleur 90, ce bus 93 étant relié au bus 52E et au bus 72L précités. Il présente en outre un bus 94 de contr8le général du processeur sur lequel sont appli- qués un signal de demande d'accès du circuit contrôleur aux registres de mémoire 50 et 70, transmis à la mémoire programmée 80, auquel est associé un signal écriture/lecture dans le circuit contrôleur 90, don- nant le sens du transfert concerné, un signal de réponse transmis au circuit contrôleur par la mémoire programmée, correspondant à la fonc- tion "prêt à" du processeur. Il fournit en outre le signal d'horloge H, transmis sur une liaison 95, qui définit le rythme des traitements ainsi que, par des liaisons non représentées, les alimentations nécessaires au *fonctionnement du processeur. Le calcul de la transformée en deux dimensions de chaque bloc de 8x8 coefficients, fournissant le bloc correspondant de 8 x 8 éléments d'image, est effectué en plusieurs séquences: - une première séquence qui est une séquence d'initialisation, elle correspond au transfert des 8x8 coefficients du bloc de coefficients considéré du circuit contrôleur 90 au registre de mémoire 50, le charge- ment de ce registre 50 étant effectué aux adresses successives délivrées sur le bus 53E, - une deuxième séquence qui est une séquence de traitement pour le calcul de la transformée en une dimension de chacune des 8 lignes de 8 coeffi- cients, elle est effectuée par étapes successives par le module 1 rece- vant les coefficients du registre de mémoire 50 lu aux adresses succes- sives délivrées sur le bus 53L et délivrant les résultats correspondants dans le registre de mémoire 60, chargé aux adresses successives déli- vrées sur le bus 63E, - une troisième séquence qui est également une séquence de traitement pour le calcul de la transformée en une dimension des 64 résultats issus 2561O 1 1 - 15 - de la deuxième séquence convenablement arrangés en 8 groupes de 89 eAle est effectuée par étapes successives par le module 1 recevant du regic- tre de mémoire 60 convenablement adressé à partir du bus 63L ces résul- tats issus de la deuxième séquence et délivrant au registre de mémoire 70 adressé à partir du bus 73E les éléments d'image résultants dont seuls les 8 bits de plus forts poids sont inscrits dans ce registre 70, - et une quatrième séquence, qui est une s9quence finale pour le traite- ment de ces 64 coefficients, elle correspond au transfert du bloc des 8x8 éléments d'image du registre de m-moire Ta0 lu et adressé à partir du bus 73L, au circuit contrôleur 90. Pendant les troisième et quatrième séquences relatives aux traite- ments de chaque bloc de 64 coefficients, s'effectuentaussi les première et deuxième séquenees relatives aux traitements du bloc suivant de 64 coefficients. La présente invention a été décrite en regard d'un calcul effectué sur des suites de 8 coefficients. La même structure peut être utilisée pour effectuer des calculs correspondants portant sur des suites de 16 coefficients, ou plus, en adoptant au niveau du module processeur 1 (figure 2), des registres mémoire de capacité convenable et en effectuant le nombre convenable de bouclage entre la sortie de l'un des registres de mémoire de son quatrième étage et le bus d'entrée de son multiplicateur. - 16 - REVENDICATIONS 1/ Processeur de calcul de transformée discrète inverse du cosinus comportant, pour le calcul de la transformée d'une suite de N données numériques dits coefficients, N = 2n, n entier supérieur à 2, des unités arithmétiques d'addition/soustraction et de multiplication, caractérisé par le fait qu'il est organisé en quatre étages successifs de calcul chacun affecté à une seule et même opération et constituant ensemble un module processeur commandé par une mémoire programmée (80), que lesdits étages comportent: - pour le premier étage, dit d'entrée du module, une unité arithmétique de multiplication (10) reliée à une mémoire adressable (13) de valeurs de fonctions cosinus et sinus associée, et un multiplexeur d'entrée (12) reliant sélectivement un bus d'entrée (1E) du module recevant lesdits coefficents ou un bus interne (lB) au module et dit de bouclage à ladite unité de multiplication, ladite unité de multiplication délivrant les produits successivement élaborés sur un bus de sortie d'étage (SI), - et pour le deuxième, le troisième et le quatrième étage chacun, une unité arithmétique d'addition/soustraction (20, 30, 40) à deux bus d'en- trée et un bus de sortie d'étage (S II, S III, S IV), le bus de sortie du quatrième étage constituant le bus de sortie du module, deux registres de mémoire adressable (23A, 23B, 33A, 33B, 43A, 43B) chargés à partir du bus de sortie de l'étage en amont directement de celui considéré, et deux multiplexeurs d'entrée d'étage (22A, 22B, 32A, 32B, 42A, 42B) reliant chacun sélectivement le bus de sortie dudit étage amont ou le bus de sortie de l'un des registres de l'étage considéré à l'un des bus d'entrée de ladite unité d'addition/soustraction de cet étage, et que ledit bus de bouelage (lB) est relié au bus de sortie de l'un des registres de mémoire adressable (43A) dudit quatrième étage. 2/ Processeur selon la revendication 1, appliqué au calcul de la trans- formée en deux dimensions de blocs matriciels de N x N coefficients correspondant à la transformée directe de blocs matriciels de N x N éléments d'image numériques d'un signal d'image, caractérisé par le fait qu'il comporte, en outre, un jeu de trois mémoires adressables (50, 60, ), dites première, deuxième et troisième mémoires, associées audit module processeur (1) et commandées individuellement en écriture et en 25610 1 1 - 17 - lecture par ladite mémoire programmée (80), et, pour chacune desdites première, deuxième et troisième mémoires, deux multiplexeurs l'un dit de transfert de mots entrants et sortants de la mémoire concernée, l'autre dit d'adressage de cette mémoire, tous deux commandés simultanément par ladite mémoire programmée, les multiplexeurs de transfert des mots entrants et sortants assurant, en deux séquences de traitement, pour l'ensemble des trois mémoires, la liaison sélective de ladite première mémoire (50) mise en lecture puis de ladite deuxième mémoire (60) alors également mise en lecture avec le bus d'entrée 1E dudit module (1) tandis que respectivement pendant ces mêmes séquences la deuxième mémoire (60) mise en écriture puis la troisième mémoire (70) alors éga- lement mise en écriture sont reliées au bus de sortie S IV dudit module (1) et ceux d'adressage transmettant auxdites mémoires, pendant ces mêmes séquences, les adresses successives de lecture ou d'écriture de chacune des mémoires, fournies par ladite mémoire programmée (80). 3/ Processeur selon la revendication 3, caractérisé par le fait qu'il comporte, en outre, un circuit contrôleur principal (90) assurant le stockage desdits coefficients et desdits éléments d'image correspondants élaborés, par blocs de NxN, relié pendant une séquence dite d'initiali- sation à ladite première mémoire (50) pour le chargement de chacun des blocs successifs de NxN coefficients dans cette première mémoire et, pendant une séquence dite finale à ladite troisième mémoire (70) pour le déchargement, du bloc de NxN éléments d'image reconstitués, de cette troisième mémoire (70).