FR 2619462 A1 19890217 FR 8810865 A 19880812 261946 2 SYSTEME DE TRAITEMENT NUMERIQUE A BUS MULTI-DONNEES La présente invention concerne un système de traitement numérique à bus multi-données et plus particulièrement un processeur d'image vidéo pour traiter une image vidéo, le processeur d'image vidéo comprenant une pluralité de modules de processeurs et une pluralité de modules mémoire et une pluralité de bus de données interconnectant la pluralité de modules de mémoire et de processeurs. Des processeurs numériques sont bien connus dans la technique. Ils peuvent être utilisés dans divers buts. L'un de ces buts est de traiter une image vidéo. Typiquement, une image vidéo est fournie à partir d'une source analogique, par exemple une caméro vidéo. Le signal vidéo analogique en provenance de la source vidéo est numérisé. L'image vidéo numérisée est alors mémorisée dans une mémoire numérique qui est traitée par un processeur numérique. Comme une image vidéo comprend un grand nombre de pixels ou points image vidéo, la quantité de données qui peut'être traitée par un processeur vidéo est importante. Jusqu'à présent, aucun processeur vidéo n'a tenté de résoudre le problème du traitement du grand volume de données impliqué dans le traitement d'image. Les brevets des Etats-Unis d'Amérique suivants décrivent d'une façon générale des processeurs numériques: brevets Nos 4 542 455 a 4 503 511 t 4 594 655 p 4 327 355 a 4-346 438; et 4 467 409. Bien que le brevet 4 467 409 décrive une architec- ture d'ordinateur souple, il ne concerne pas les problèmes particuliers du 'traitement d'un grand volume de données de façon efficace, et en particulier dans un environnement de traitement d'image vidéo. Dans la présente invention, un système de traitement numérique est décrit. Le système comprend une pluralité de modules numériques électroniques. Chacun des modules comprend un moyen de communication. Les modules traitent et mémorisent les données. Une pluralité de bus de données interconnecte la pluralité de modules. Chaque bus de données comprend une pluralité de trajets de communication. Un moyen de commande maître est connecté à un bus de commande qui comprend une plural.ité de trajets de communica- tion. Le bus de commande relie le moyen de commande maître à chacun des modules. Le moyen de commande maître commande le fonctionnement de la pluralité de modules en faisant passer des signaux lde commande selon le bus de commande. Dans chaque module, il est également prévu des moyens agissant en réponse aux signaux de commande en provenance du bus de commande pour connecter: les moyens de communication de ce module à un ou plusieurs des bus de données. Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention seront exposés plus en détail dans la description suivante de modes de réalisation particuliers faite en relation avec des figures jointes parmi lesquelles: la figure 1 est un schéma sous forme de blocs d'un système de traitement d'image utilisant le processeur d'image vidéo selon la présente invention-; - la figure 2 est un schéma sous forme de blocs du processeur d'image vidéo selon la présente invention, représenté avec une pluralité de modules et une pluralité de bus de données; l1 figure 3 est un schéma sous forme de blocs de la partie de chaque module du processeur d'image vidéo selon la présente invention avec des moyens de communication et des moyens de commande logique pour interconnecter un ou plusieurs des bus de données au module la figure 4 est un schéma de détail de circuit d'un mode de mise en oeuvre du module logique représenté en figure 3 les figures 5a à Sc sont des schémas sous forme de blocs de diverses configurations possibles connectant les modules aux bus de données; la figure 6 est un schéma sous forme de blocs d'un autre mode de réalisation d'un processeur d'image vidéo selon la présente invention représenté avec une pluralité de bus de données qui peuvent être commutés électroniquement; la figura 7 est un schéma -ous forme de blocs de la partie du processeur d'image vidéo représentée en figure 6 montrant l.e module logique et un module de décodage d'adresse et des moyens de' communication pour commuter électroniquement les bus de données du processeur d'image vidéo représenté en figure 6 les figures 8a à 8c représentent divers modes de réalisation possibles en tant que résultat de la commutation des bus de données du processeur d'image vidéo représenté en figure 6; la figure 9 est un schéma de détail de circuit d'une partie du module de commutation et de logique du processeur d'image vidéo représenté en figure 6 g la figure 10 est un schéma sous forme de blocs du -module de processeur vidéo du processeur d'image vidéo représenté en figure 2 ou 6 la figure- 11 est un schéma sous forme de blocs du module de mémoire d'image du processeur d'image vidéo représenté en figure 2 ou 6. 20. la figure 12 est un schéma sous forme de blocs d'un module de processeur morphologique du processeur d'image vidéo représenté en figure 2 ou 6; la figure- 1.3 est un schéma du contrôleur graphique du processeur d'image vidéo représenté en figure 2 ou 6; - la figure 14 est un schéma sous forme de blocs du contrôleur maitre du processeur d'image vidéo représenté en figure 2 ou 6 i et - la figure 15 est un schéma de circuit d'un autre mode de mise en oeuvre de module logique. -La figure 1 représente un système de formation d'image -8 utilisant un processeur d'image vidéo 10 selon la présente invention. Le système de formation d'image 8 comprend le processeur d'irqage vidéo 10 qui reçoit des signaux vidéo analogiques en provenance d'une. caméra couleur 12. La caméra couleur 12 est optiquement reliée à un amplificateur -d'image à fluorescence f4 qui reçoit à travers un microscope 16 l'image 2619 4 62 focalisée d'un étage 18. Une source d'éclaireme.nt 20 fournit le rayonnemraent Alectromagnetique nécessaire. Le processeur d'image vidéo 10 communique avec un ordinateur hôte 22. En outre, l'ordinateur hôte 22 contient un logiciel 24 qui y east m.morisé pour le faire fonctionner. Enfin, un dispositif d'affichage couleur 26 reçoit la sortie du processeur d'image vidéo 10. Il y a plusieurs utilisations au processeur d'image vidéo 10. Dans le mode de réalisation représenté en figure 1, le système de formation d'image 8 est utilisé pour analyser un spécimen biologique, par exemple les constituants du sang. Te spécimen biologique est monté sur une lame et est placé sur l'étage 18. L'image vidéo de la lame, telle que prise par la caméra couleur 12 à travers le microscope 16 est traitée par le processeur d'image vidéo 10 selon la présente invention. Dans le mode de réalisation particulier décrit, l'ordinateur hôte 22 est un microprocesseur Motorola 68000 et communique avec le processeur d'image vidéo 10 selon l1 présente invention par un bus Q. Le bus Q correspond à un protocole de communication standard développé par la société dite Digital Equipment Corporation. Comme cela est représenté en figure 2, le processeur d'image vidéo 10 comprend un contrôleur maître 30 et une pluralité de modules numériques électroniques. En figure 2 sont représentés une pluralité de modules de processeur: un processeur vidéo 34, un processeur de commande graphique 36, un processeur norpholo- gique 40, et une pluralité de modules de mémoire d'image: des modules de mémoire d'image 38a, 38b et 38c. Les modules de mémoire d'image mémorisent des données qui sont représentatives des images vidéo. Les modules de processeur traitent les données ou les images vidéo. Le contrôleur maitre 30 communique avec chacun de la pluralité de modules numériques (34, 36, 38 et 40) par i'intermé- diaire d'un bus de commande 32. En outre, les divers modules numériques (34, 36, 38,et 40) communiquent les uns avec les autres par une pluralité de bus de données 42. Dans le processeur d'image vidéo 10 selon la présen- te invention, le contrôleur maître 30 commande le fonctionnement de chacun de la pluralité de modules numériques (3-1, 36, 38 et 40) en faisait passer des signaux de conmiande le long du bus de commande 32. Le bus 32 comprend une pluralité de lignes. Le bus 32 comprend 8 Lignes de bits pour l'adressage, 16 lignes de bits pour S les données: 4 Lignes de bits pour la commande, 1 ligne pour la synchronisation verticale et 1 ligne pour la synchronisation horizontale. En outre, il existe de nombreuses lignes d'alimenta- tion et de masse. Les 4 bits de commande comprennent un signal d'horloge (CLOCK)et des signaux ADAV, CMD et WRT (la fonction de 13 ces signaux de commande sera décrite ci-après). La pluralité de bus de données 42 qui interconnecte les modules (34, 36, 38 et 40) les uns aux autres, comprend neuf bus de données d'une étendue de 8 bits 42. Les neuf bus de données 42 sont désignés par 42A, 42B, 42C, 42D, 42E: 42F, 42G, 42H, et 42I, respectivement. Dans chaque module (34, 36, 38, et 40), se trouve un moyen de conmmun'cation 54. En outre, dans chaque module se trouve un moyen d'unité logique 52 qui répond aux -signaux de com;lande sur le bus de commmande 32 pour connecter ies moyens de com.-unication 54:de chaque module à un bu plusieurs des bus de données 42. La figure 3 représente un schéma sous forme de blocs de la partie de chacun des modules qui -répond aux signaux de commande sur le bu- de commande 32 potlr interconnecter un ou plusieurs des bus de données 42 aux moyens de communication 54 dans chacun des modules. Un circuit de décodage d'adresse 50 est représente en figure 3. Le circuit de décodage d'adresse 50 est connecté aux huit lignes d'adresse du bus te commande 32. Le circuit le décodage d'adresse 50 fournit également un signal 56 qui active son unité logique associée 52. Puisque chaque unité logique 52 a une adresse spécifique, si les -lignes d'adresse présentes sur le décodeur d'adresse 50 s'adaptent à l'adresse de cette unit4 logique particulière 52, 1e décodeur'd'at-resse 50 enverra un signal 56 pour activer cette unité logique 52. Dans chaque modul'e, il peut y avoir plusieurs un-tés logiques 52 chacune étant associ-e à un -décodeur d'adresse 50. Chacune de la pluralité d'unités logiques 52 peut réaliser différentes tâches. - - L'unité logique 52 reçoit les 16 bits de données en provenance des 16 bits de la partie de données du bus de commande 32. En outre, l'unité logique 52 peut également être connectée aux quatre lignes de commande CLOCK, ADAV, CMD, WRT, comme cela a été décrit précédemment, du bus-de commande 32 et de synchronisation verticale et horizontale. L'unité locique 52 commandera alors le fonctionnement d'une pluralité d'émetteurs/récepteurs à trois états 54A, 54B, 54C, 54D, 54E, 54F, 54G et 54I. On notera qu'il y a huit émetteurs/récepteurs individuels à trois états 54 pour le groupe d'émetteurs/récepteurs à trois états 54A, et huit émetteurs/ récepteurs individuels à trois états pour le groupe d'émetteurs/ récepteurs à trois états 54B, etc. La fonction des émetteurs/ récepteurs à trois états 54 est de connecter un ou plusieurs des bus de données 42A à des fonctions dans le module dont l'unité logique 52 et le circuit de décodage d'adresse 50 font partie. En outre, dans le module, un commutateur de point de croisement 58 peut être connecté à toutes les sorties des émetteurs/récepteurs à trois états 54 et multiplexer la pluralité d'émetteurs/récepteurs à trois états 54 sur un bus unique 60 d'une étendue de 8 bits. La figure 4 représente un exemple simplifié et simpliste du décodeur d'adresse 50, de l'unité logique 52 et de l'un du groupe d'émetteurs/récepteurs 54A servant d'interconnexiDn avec le bus 42A. Comme cela a été exposé précédemment, les huit lignes de signal d'adresse du bus de commande 32 sont founies au décodeur d'adresse 50. Si l'adresse fournie sur les lignes d'adresse du bus de commande 32 décode convenablement l'adresse de l'unité logijue 52, le décodeur d'adresse 50 envoie un signal 56 à niveau haut qui est fourni à l'unité logique 52. Le circuit de décodage d'adresse 50 peut être de conception classique. L'unité logique 52 comprend detlx portes ET 62A et 62B dont les sorties sont connectées à des bascules J-K 64A et 64B, respectivement. Les portes ET 62A et 62B reçoivent à l'une de leurs entrées le signal de commande 56 en provenance du décodetlr d'adresse 50. L'autre entrée vers les portes ET 62A et 62B proviennent des lignes dle données du bus die comiande 32. Si le décodeur d'adresse 50 dét.rmnine que l'unité logique 52 doit être activée, comme cela est déterminé par la présence de l'adresse correcte sur les lignes d'adresse du bus de commande 32, 1- signal de commande 56 passant à niveau haut autorise l'introduction dans las bascules 64A et 64B des données présentes sur les lignes de données du bus de commande 32. Les sorties des bascules J-K 64A et 64B sont utilisées pour commander les huit émetteurs/récepteurs à trois états 54A0... 54A7. Chacun des huitéMetteUrs/r4cepteursàtrois é4tats a l'une de ses bornes connectée à l'un des- hui.t trajets de communication de bits du bus 42A. L'autre borne de chacun des 1) émetteurs/récepteurs à trois états 54A est connectée à des éléments électroniques dans le module. Les émetteurs/récepteurs à trois états 54A, comme leur nom le suggère, possèdent-trois états. Les émetteurs/récep- taurs 54A peuvent assurer une communication avec le bus de données - 42A. Les émetteurs/récepteurs à trois états 54A peuvent assurer une commun.cation de données en provenance du bus de données 42A. En outre, les.metteuts/racepteurs à trois états 54A peuvent être à l'état ouvect auquel cas aucune communication ne prend place en. direction ou en provenance du.bus de données 42A. A titre d'exem-- ple, les émetteurs/réceptaurs à trois états 54A peuvent être des composants fabriqués par la société dite Texas Instruments sous l'appellation 74AS620. Ces émetteurs/récepteurs à trois états 54A reçoivent deux entrées. Si les entrées présentent la combinaison 0-1, elles indiquent une communication dans une première direc- tion. Si les émetteurs/récepters à trois états reçoivent les entrées I-0, ils indiquent une communication en sens-opposé. Si les émeteurs/récepteurs à trois états 54A reçoivent 0-0 sur les deux lignes d'entrées, alors les énetteurs/récepteurs à trois états 54A sont à 1'état ouvert. Puisque les émetteurs/récepteurs à tro's états 54A i... 54A7 sont tous commutes de la même façon, c'est-à- dire que ou. bien toutes les huit lignes sont connectées au bus de données 42A ou bien aucune ne l'est, les sorties des bascules 64A et 64B sont utilisées pour conmmander les huits émetteurs/récep- teurs pour établir- une interconnexion avec l'un des bu; de données. L'unité lDg[q'e 52 peut également comprendre d'autres bascules et portes de comialde pour commander d'autres émetteu-s/ récepteurs à trois états qui sont rassemblés par groupe de huit pour regrouper la commutation de la sélection de connexion vers un ou plusieurs des autres bus de données 42. Comme l'interconnexion d'un ou plusieurs des bus de données 42 vers un ou plusieurs de la pluralité de modules (34, 36, 38 et 40) se fait sous la commande du bus de commande 32, les trajets de données pour la connexion des bus de données 42 (A-I) peuvent être reconfigurés de façon dynamique. La figure 5a représente une configuration possible avec les bus de données reconfigurables de façon dynamique 42. Puisque chaque bus de données 42 a une étendue de 8 bits, la pluralité de modules (34, 36, 38 et 40) peut être connectée pour recevoir des données de deux bus de données (par exemple 42 A et 42B) simultanément. Ceci constitue un traitement de données dans le mode parallèle dans lequel 16 bits de données sont traités simultanément le long du bus de données. Ainsi, les bus de données 42 peuvent être regroupés pour augmenter la largeur de bande de la transmission de données. La figure 5b représente une autre configuration possible des bus de données 42. Dans ce mode de fonctionnement, le module 34 peut transmettre des données sur le bus de données 42A vers le module 36. Le module 36 peut communiquer des données avec le module 38 par le bus de données 42B. Enfin, le module 38 peut communiquer avec le module 40 par le bus de données 42C. Dans ce mode de fonctionnement, qui est appelé traitement pipeline, les données peuvent circuler d'un module à un autre séquentiellement ou simultanément puisque les données circulent sur des bus de données séparés et spécifiques. La figure Sc représente encore une configuration possible des bus de données 42. Ce mode de fonctionnement est appelé macro-entrelaçage. Si, par exemple, le module 34 peut traiter ou émettre des données plus vite que les modules 36 ou 38 ne peuvent ies recevoir, le module 34 peut envoyer tout multiplet de données impair au module 36 sur le bus de données 42A et tout multiplet de données pair sur le bus 42B vers le module 38. De cette façon, des données peuvent être mémorisées et traitées à la * V, , 2 6 1 9 46 2 cadence du module le plus rapide. Ceci se différencie de l'art antérieur dans lequel une pluralité de modules doit être actionnée à la vitesse du module le plus lent. Ainsi, comme on peut le voir à partir des exemples représentés en figures 5a à 5c, avec une structure de bus de données reconfigurable de façon dynamique, plusieurs trajets de transmission de données, incluant ceux représentés en figures Sa à c, mais non limités à ceux-ci, peuvent.être reconfigurés de façon dynamique et électronique. La figure 6 représente un autre mode de réalisation d'un processeur d'image vidéo 110 selon la présente invention. Le processeur d'image vidéo 110, similaire au processeur d'image vidéo comprend un contr6leur- maître 130 et une pluralité de modules numériques 134, 136 (non représentés), 138 (A-B) et 140. Ces modules, similaires aux modules 34, 36, 38 et 40, réalisent les tâches respectives de traitement d'image et de mémorisation d'image. Le contrôleur maître 130 communique avec chacun des modules par l'intermédiaire d'un bus de commande 132. Chacun des modules de commande 134-140 est également connecté aux autres par une pluralité de bus de données 42A-42I. De façon similaire au processeur d'imàge vidéo 10; il y a neuf bus de données, chaque bus ayant une étendue de 8 bits. La seule différende entre le processeur d'image vidéo et le processeur d'image vidéo 10 est que, le long de chaque bus de données 42 est interposé un moyen de commutation 154 commandé par une unité logique 152 qui est activée par un circuit de décodage d'adresse 150. Ceci est représenté plus en détail en figures 7 et 9. Comme on peut le voir à partir de la figure 6, les moyens de commutation 154A... 154I sont interposés entre le module de mémoire d'image 138A et le module de mémoire d'image 138B. Ainsi, les moyens de communication 154A... 154I, divisent les bus de données 42A... 42I en deux parties: la première partie comprenant le module de processeur vidéo 134 et le module de mémoire d'image 138A; et la deuxième partie comprenant le proces- seur morphologique 140 et le- second module de mémoire d'image 138B. Les moyens de commutation 154 peuvent ou bien relier une partie du bus de données 42A à l'autre partie ou bien laisser le bus de données ouvert, c'est-à-dire que le bus de données est partagé. Les figures 8a à 8c représentent diverses configu- rations de structure de bus de données possibles qui résultent de l'utilisation des moyens de commutation 154A-154I. La figure 8a représente neuf bus de données 42A-42I dans lesquels les moyens de commutation 154A, 154B et 154C relient les bus de données 42A, 42B et 42C selon un bus de données continu. Toutefois, les moyens de commutation 154D... 154I sont laissés à la position ouverte, partageant ainsi les bus de données 42D... 42I en deux parties. Dans ce mode de fonctionnement, un traitement parallèle peut survenir simultanément en utilisant les bus de données 42D... 42I par les modules 134 et 138 et par les modules 138 et 140. En outre, un traitement série ou pipeline peut survenir le long des bus de données 42A... 42C. Comme précédem- ment, avec les moyens de commutation 154A... 154I, sélectionnables dynamiquement, un traitement parallèle complet, comme cela est représenté en figure 8b ou un traitement pipeline complet comme cela est représenté en figure 8c sont également possibles. En outre, bien sûr, d'autres configurations comprenant, sans limitation, la configuration de macroentrelacement de la figure 5c sont également possibles. La figure 7 représente un schéma bloc des circuits électroniques utilisés pour commander les bus de données 42A... 42I du processeur d'image vidéo 110. Comme cela a été exposé précédemment, un moyen de commutation 154 est interposé entre deux moitiés de chacun bus de données 42. A la figure 7 sont représentés le moyen de commutation 154A interposé dans le bus de données 42A et le moyen de commutation 154I interposé dans le bus de données 42I. Chacun des moyens de commutation 154 est commandé par l'unité logique 152 qui est activée par le circuit de décodage d'adresse 150. De même que le circuit de décodage d'adresse 50, le circuit de décodage d'adresse 150 est connecté aux huit lignes d'adresse du bus de commande 132. Si l'adresse correcte est détectée, le signal de commande 156 est envoyé à l'unité logique 152. Le signal de 2619 4 6 2 commande 156 active l'unité logique 152 qui active elle-même un ou plusieurs des moyens de commutation 154. La figure 9 représente un schéma de circuit détaillé mais simpliste de l'unité logique 152 et du moyen de commutation 154A. Comme on peut le voir, l'unité logique 152 est identique à l'unité logique 52. Le moyen de commutation 154 (un émetteur/ récepteur à trois états) connecte une moitié de l'une des lignes de bus à l'autre moitié de la ligne de bus 42. Sous tous leurs autres aspects, le fonctionnement -du moyen de commutation 154, de l'unité logique 152, du circuit de décodage d'adresse 150, est identique à celui représenté et décrit en relation avec le circuit de décodage d'adresse 50, l'unité logique 52 et les moyens de commutation 54. Comme cela a été exposé précédemment, les bus de données reconfigurables 42 connectent les uns aux autres la pluralité de -modules' (34,, 36, 38 et 40). Les modules comprennent une pluralité de modules de processeur et une pluralité de moduies mémoire. A l'exception des moyens de communication, de l'unité de logique et du circuit de décodage d'adresse, le reste du circuit -20 électronique de chaque module de traitement ou de mémorisation de données peut être de conception classique. L'un des modules de processeur 34 est le module de processeur vidéo. Le module de processeur vidéo 34 est représenté en figure-10. Le processeur vidéo 34 reçoit trois signaux analogiques en provenance de la caméra couleur 12. Les trois signaux vidéo analogiques, comprenant des signaux représentatifs des images rouge, verte et bleue, sont traités par un circuit analogique de restauration de niveau continu 60. Chacun des signaux résultants est ensuite numérisé par un numériseur (A/D) 62. Chacun des trois signaux vidéo numérisés est le signal vidéo analogique en pro- venance de la caméra couleur 12, segmenté pour former une-pluralité de pixels d'image, chaque pixel d'image étant numérisé pour former une valeur d'échelle de. -luminance à 8 bits. Des signaux vidéo numérisés - sont fournis à un commutateur matriciel à points de croisement 6 x 6, 64, qui fournit les trois signaux vidéo. numérisés sur 3 des 6 bus de données 42A-42F. A partir des bus de données 42A-42F, les signaux vidéo numérisés peuvent être mémorisés dans un ou plusieurs des modules de mémoire d'image 38A38C. La sélection d'un module de mémoire d'image particulier 38A-38C pour mémoriser les signaux vidéo numérisés est réalisée par le circuit de décodage d'adresse connecté à l'unité logique 52 qui active les émetteurs/récep- teurs particuliers à trois états 54, qui sont tels que précédemment décrits. La sélection du bus de données 42 dont les images vidéo numérisées vont être envoyées est basée sur des registres dans l'unité logique 52 qui sont établis par le bus de commande 32. Chacun des modules de mémoire 38 contient trois mégamultiplets de mémoire. Les trois mégamultiplets de mémoire sont en outre divisés en trois plans mémoire: un plan supérieur, un plan intermédiaire et un plan inférieur. Chaque plan mémoire comprend 512 x 2048 multiplets de mémoire. Ainsi, il y a environ un mégamultiplet de mémoire par plan mémoire. Puisque chaque image vidéo numérisée est mémorisée dans un espace mémoire de 256 x 256 multiplets, chaque plan mémoire a de la place pour 16 images vidéo. Au total, un module mémoire a de la place pour mémoriser 48 images vidéo. L'adresse de la sélection de l'image vidéo particulière en provenance du plan mémoire particulier dans chaque module mémoire est fournie sur le bus de commande 32. Quand les données sont fournies à chaque module mémoire 38 ou en sont reçues, par les bus de données 42, elles sont fournies ou reçues à partir des emplacements spécifiés par l'adresse établie sur le-bus de commande 32. Les trois images vidéo numérisées en provenance du processeur vidéo 34 sont mémorisées, en général, au même emplacement d'adresse dans chacun des plans mémoire de chaque module mémoire. Ainsi, le signal vidéo numérique représentatif de l'image vidéo rouge peut être mémorisé à l'emplacement d'adresse de départ x = 256, y = 0 du plan mémoire supérieur le signal numérisé représentatif de l'image vidéo bleue peut être mémorisé à l'emplacement x = 256, y = 0 du plan mémoire intermédiaire et le signal vidéo numérique représentatif de l'image vidéo verte peut être mémorisé à l'emplacement x = 256, y = 0 du plan mémoire 26 1 9'462 inférieur. Une fois que les signaux vidéo numériques représenta- tifs des images vidéo numérisées sont mémorisés dans les plans mémoire d'un ou plusieurs modules mémoire 38, les images vidéo numérisées sont traitées-par le processeur morphologique 40. Le processeur morphologique 40 reçoit des données à partir des bus de données 42A-42D et fournit des données aux bus de données 42E-42G. En outre, le processeur morphologique 40 peut recevoir des données d'entrée ou de sortie sur les bus de données 42H et 42I. La figure 12 représente un schéma sous forme de blocs du processeur morphologique 40. Le processeur morphologique 40 reçoit des données des bus de données 42A et 42B qui sont reliés à une unité de multiplexeur/logarithmique 70. La sortie de l'unité de multiplexeur/logarithmique 70 (16 bits) consiste ou bien en données en provenance des bus 42A et 42B ou bien en leurs loga- rithmes. La sortie de l'unité de multiplexeur/logarithmique 70 est fournie en tant qu'entrée à une unité arithmétique et logique (ALU) 72, sur l'accès d'entrée désigné par b. L-'ALU 72 comprend deux accès d'entrée: a et b. Le processeur morphologique 40 comprend également un accumulateurmultiplieur 74 (MAC). L'accumulateur multiplieur 74 reçoit des données en provenance des bus de données 42C et 42D et en provenance des bus de données 42H et 42I, respectivement et réalise les opérations de multiplication et d'accumulation de ces données. L'accumulateur multiplieur 74 peut réaliser des fonctions consis- tant à 1) multiplier les données en provenance du bus de données 42C ou du bus de données 42D par -les données en provenance du bus de données 42H ou du bus de données 42I i ou 2) multiplier les données en provenance du bus de données 42C ou du bus de données 42D par une constante fournie par le contrôleur maître. Le résultat de ce calcul est fourni sur les bus de données 42I, 42H-et 42G. Le résultat du module d'accumulation multiplication 74 est qu'il calcule un noyau de fonction de Green en temps réel. Le noyau de fonction de Green consiste en la sommation de toutes les valeurs de pixels à partir du début de la synchronisation horizontale jus- qu'au pixel en cours. Ceci sera utilisé ultérieurement pour le calcul d'autres propriétés de l'image. Une partie du résultat de l'accumulateur multiplieur 72 (16 bits) est également envoyée à l'ALU 72 sur l'accès d'entrée désigné par a. L'accumulateur multiplieur 74 peut réaliser des calculs de multiplication et d'accumulation qui ont une précision de 32 bits. Le résultat de l'accumulateur multiplieur 74 peut être commuté par l'accumulateur multiplieur 74 pour être les 16 bits les plus significatifs ou les 16 bits les moins significatifs et est fburni à l'entrée a de l'ALU 72. La sortie de l'ALU 72 est fournie à un circuit de décalage en anneau 76 puis à une table de consultation 78 et est renvoyée sur les bus de données 42E et 42F. La sortie de l'ALU 12 est également fournie à un générateur de plus grande valeur et peut être renvoyée sur les bus de données 42E et 42F. La fonction du générateur de plus grande valeur 80 est de déterminer les pixels frontières, comme cela est décrit dans le brevet des Etats-Unis d'Amérique N 4 538 299. L'ALU 72 peut également réaliser la fonction de soustraire des données sur l'accès d'entrée a des données sur l'accès d'entrée b. Le résultat de la soustraction est une condition de dépassement, ou l'inverse, qui détermine a > b ou a pixel, pour deux imagés. Enfin, l'ALU 72 peut réaliser des calculs d'histo- gramme. Il y a deux types de calcul d'histogramme. Dans le premier type, la valeur d'un pixel (une valeur de pixel est de 8 bits ou comprise entre 0 et 255), sélectionne l'adresse de la mémoire 73. L'emplacement mémoire à l'adresse choisie est incrémenté de 1. Dans le second type, deux valeurs de pixel sont fournies: une première valeur de pixel de l'emplacement du pixel en cours et une seconde valeur de pixel à l'emplacement de pixel et d'une ligne précédente immédiatement à gauche ou immédiatement à droite (c'est-à-dire le voisin diagonal)..Les paires de valeurs de pixel sont utilisées pour adresser une mémoire de 64 K (256 x 256) et l'emplacement mémoire du pixel sélectionné est incrémenté. Ainsi, cet histogramme est du type à liaison par texture. 2619 4 6 2 En résumé, le processeur morphologique 40 peut réaliser les fonctions d'addition, de multiplication, de multiplica- - tion par une constante, de sommation sur une ligne, de détermination du minimum et du maximum pixel par pixel dans deux images, de génération de plus grande valeur et également de calcul d'histo- gramme. Les résultats du processeur morphologique 40 sont envoyés sur les bus de données 42 et mémorisés dans les modules de mémoire d'image 38. L'ALU 72 peut être du type 181 classique, par exemple le composant fabriqué par la société Texas Instruments sous l'appella- tion ALS181. L'accumulateur multiplieur 74 peut être de conception classique, par exemple le produit WTL 2245 fabriqué par la société Weitech. La figure 13 représente sous forme de -blocs le processeur de contrôleur graphique 36. La fonction du contrôleur graphique 36 est -de recevoir Ies images vidéo numérisées et traitées en provenance des modules mémoire 38, les données graphi- ques et les données alphanumériques, et de les combiner pour fournir une sortie. Les données en provenance du bus de commande 32 sont fournies à un contrôleur à hautes performances de tube à rayons cathodiques (CRT) 84. Le contrôleur de tRT. est un' composant fabriqué par la société Hitachi sous l'appellation HD 63484. Le contrôleur d'avance CRT 84 commande un tampon de trame 80. Dans le tampon de trame 80 sont mémorisées les données graphiques-alphanumé- riques. Des images vidéo en provenance des bus de données 42A-42F -25 sont également fournies au processeur 36 du contrôleur graphique. L'un des bus de données 42 est choisi et ce bus,- combiné à la sortie du tampon de trame 80, est fourni à une table de consultation 82. La sortie de la table de consultation 82 est alors fournie comme sortie à l'un des bus de données 42G-42H ou 42I. La fonction du processeur de commande graphique 36 est de superposer des informations vidéo alphanumériques et graphiques puis, par l'intermédiaire d'un con- vertisseur numérique/analogique 86, de les fournir au dispositif d'affichage 26. En outre, l'image numérique superposée peut être également mémorisée dans l'un des modules de mémoire d'images 38. L'image qui est reçue par le processeur de commande - graphique 36 à partir de l'un des modules. de mémoire d'image -38 261 9462 l'est par l'intermédiaire de l'un des bus de données 42A-42F. Les signaux de commande sur le bus de commande 32 spécifient au module de mémoire d'image 36 l'adresse de départ, le décalage x et y par rapport à la synchronisation verticale en ce qui concerne le moment o les données en provenance de la mémoire d'image dans le module de mémoire 38 doivent être fournies sur les bus de données 42A-42F. Ainsi, des images écran partagées peuvent être affichées sur le dispositif d'affichage 26. Le contrôleur maître 30, comme cela a été exposé précédemment, communique avec l'ordinateur hôte 22 par l'intermé- diaire d'un bus Q. Le contrôleurmaître 30 reçoit des informations d'adresses et de données en provenance de l'ordinateur hôte 22 et produit un microcode à 64 bits. Le microcode à 64 bits peut provenir d'un emplacement de mémoire de commande inscriptible (WCS) dans l'ordinateur hôte 22 et les mémoriser dans la mémoire WCS 90 ou peut être une mémoire PROM proxy 92. Le programme de commande dans la PROM proxy 92 est utilisé par suite de la mise sous tension car la WCS 90 contient une mémoire vive (RAM) volatile. Le microcode à 64 bits est traité par l'ALU 94 (29116) du contrôleur maître 30. Le contrôleur maître 30 présente une architecture de Harvard en ce qu'une mémoire séparée existe pour les instructions comme pour les données. Ainsi, le processeur 94 peut obtenir simultanément des instructions et des données. En outre, le contrôleur maître 30 comprend un séquenceur d'arrière plan 96 et un séquenceur de premier plan 98 pour émettre séquentiellement des successions d'instructions de programme mémorisées dans la mémoire de commande inscriptible (WCS) 90 ou la mémoire PROM 92. Le mappage mémoire du bus Q à partir duquel le contrôleur maître 30 reçoit sa mémoire de commande inscriptible et sa mémoire de programme est représenté ci-dessous. ADRESSE (HEXADECIMAL) Utilisation 3FFFFF BS7 (Bloc 7 - nomenclature clas- 3FE000 sique de Digital Equipment Corp.) 3FDFFF Mémoire de travail 3FAOOO 2619 4 62 387FFF Mémoire de commande inscriptible 37FFFF Fenêtre de mémoire d'image 280000 1FFFFF Mémoire de programme d'ordinateur 0 hôte. En outre, les signaux de commande ADAV, CMD et WRT ont les utilisations suivantes: SIGNAUX DE COMMANDE Utilisation ADAV CMD WRT 0 X X Bus au repos 1 i 0 Lecture registre 1 1 1 Ecriture registre 1 0 0Lecture mémoire image 1 0 1 Ecriture mémoire image Le contrôleur maître 30 fonctionne de façon synchrone avec chacun des- modules 34, 36, 38l et 40 et de façon asynchrone avec l'ordinateur hôte 22. Le signal d'horloge est produit par le contrôleur maître o30 et est envoyé à chacun des modules 34,. 36, 38 et 40. En outre, le contrôleur principal 30 initialise le fonctionne- ment de toutes les séquences de traitement d'image vidéo et de mémorisation d'image vidéo après l'arrivée du signal de synchronisation verticale. Ainsi, l'un des signaux vers chacune des unités logiques 52 est un signal de synchronisation verticale. En outre, les signaux de synchronisation horizontale peuvent être fournis à chacune des unités logiques. Les unités logiques peuvent également contenir des éléments de mémoire logique qui commutent leurs émetteurs/récep- - teurs respectifs à trois états -aux instants prescrits par rapport aux signaux de synchronisation horizontale et de synchronisation verticale. La figure 15 représente schématiquement un autre mode de réalisation d'une unité logique 252. L'unité iogique 252 est connectée à un premier- circuit de décodage d'adresse 250 'et un second circuit de décodage d'adresse 251. L'unité- logique 252 comprend une première iorte ET 254, une deuxième porte ET 256 un compteur 258 et un registre de synchronisation verticale 260. Avant le fonctionnement de l'unité logique 252, le premier circuit de décodage d'adresse 250 est actionné pour charger les données en provenance des lignes des données du bus de commande 32 dans le compteur 258. Ensuite, quand le second circuit de décodage -d'a- dresse 251 est actionné, et qu'un signal de synchronisation verti- cale est reçu, le compteur 258 décompte à chaque impulsion d'horloge reçue. Quand le compteur 258 atteint 0, les registres à trois états 64a et 64b sont actionnés. Il faut noter que le contrôleur maître 30, chacun des modules de traitement 34, 36, 38 et 40 et chacun des modules de mémoire d'image 38 peut être de conception classique. Le contrôleur maître 30 commande le fonctionnement de chacun des modules par un bus de commande séparé 32. En outre, chacun des modules communique avec les autres par une pluralité de bus de données 42. L'intercon- nexion de chacun des modules 34-40 avec un ou plusieurs des bus de données 42 est réalisée par des moyens se trouvant dans le module (34-40) qui sont commandés par des signaux de commande sur le bus de commande 32. L'interconnexion des bus de données 42 à la fonction électronique dans chacun des modules est telle que décrite précédem- ment. Cependant, la fonction électronique à l'intérieur de chacun des modules, telle que la mémorisation ou le traitement peut être d'architecture et de conception classiques. Le processeur d'image vidéo 10, 110 selon la présente invention présente de nombreux avantages. D'abord, 'et surtout, du fait que l'interconnexion est reconfigurable de façon dynamique, l'architecture peut être modifiée de façon dynamique. En parti- culier, dans le même programme d'exécution, des données peuvent être amenées à circuler en mode pipeline ou en mode parallèle ou selon une combinaison de ces deux modes. En outre, puisque l'adresse n'est pas fournie sur les bus de données 42 mais est au lieu de cela fournie sur un bus de commande séparé, une vitesse de transfert plus élevée peut être atteinte. Enfin, puisqu'une pluralité de modules de traitement et une pluralité de modules mémoire peuvent 2619'462 2 6 1 9-4 6 2 19: être liés à la pluralité de bus, l'interconnexion des bus étant reconfigurable de façon dynamique, des fonctions de traitement simultanées peuvent prendre place. 2619 4 6 2 REVENDICATIONS 1. Système de traitement numérique comprenant une pluralité de modules électroniques numériques (34, 36, 38, 40) chaque module comprenant un moyen de communication, ces modules servant à traiter et à mémoriser des données, caractérisé en ce qu'il comprend en outre une pluralité de bus de données (42A-42I) intercon- nectant la pluralité de modules, chaque bus de données comprenant une pluralité de trajets de communication un moyen de commande maître (30); un bus de çommande (32) comprenant une pluralité de trajets de communication interconnectant le moyen de commande maître à chacun des modules; le moyen de commande maître commandant le fonction- nement de la pluralité de modules en faisant passer des signaux. de commandes sur le bus de commande; et des moyens dans chaque module agissant en réponse aux signaux de commande en provenance du bus de commande pour connec- ter les moyens de communication à un ou plusieurs des bus de données. 2. Système selon la revendication 1, caractérisé en ce que la pluralité de modules comprend en outre une pluralité de modules de processeur. 3. Système selon la revendication 2, caractérisé en c. que la pluralité de modules comprend une pluralité de modules de mémoire. 4. Système selon la revendication 1, caractérisé en cet qu'il comprend en outre: une pluralité de moyens de communication chacun étant interposé dans l'un des trajets de communication de la pluralité de bus de données (42A-421) pour interconnecter le trajet de communication; et ledit moyen agissant en réponse aux signaux de commande pour actionner un ou plusieurs des moyens de communica- tion pour connecter le trajet de communication. 5. Processeur d'image vidéo pour traiter une image vidéo analogique comprenant une pluralité de modules numériques électroniques, chaque module comprenant un. moyen de communica- tion, ces modules comprenant en outre une pluralité de modules de processeurs pour recevoir l'image vidéo analogique pour numériser l'image vidéo analogique pour former une image vidéo numérisée!, pour traiter et pour former l'image vidéo - numérisée; une pluralité de modules mémoire pour mémoriser l'image vidéo numéri- sée et l'image numérisée traitée; caractérisé en ce qu'il comprend en outre: une pluralité de bus de données (42A-42I) intercon- nectant la pluralité de modules, chaque bus de données comprenant une pluralité de trajets de communication; un moyen de commande maître (30); un bus de commande (32) comprenant une. pluralité de de trajets de communication interconnectant les moyens de commande maîtres à chacun des modules; les moyens de commande maître commandant le fonc- tionnement de la pluralité de modules en-émettant des signaux de commande sur le bus de commande des moyens dans chaque module agissant en réponse aux signaux de commande en provenance du bus de commande pour connecter les moyens de communication à un ou plusieurs des bus de données. - 6. Processeur selon la revendication 5, caractérisé en ce qu'il comprend en outre une pluralité de moyens de commutation (54A-54I), chacun étant interposé dans l'un des trajets de communication de la pluralité des bus de données; et --- des moyens agissant en réponse aux signaux de-com- mande pour actionner un ou plusieurs des moyens de commutation. 7. Processeur selon la revendication 5, caractérisé en ce que la pluralité de modules de processeur comprend en outre un premier module de processeur (34) comprenant des 26 1 9462 moyens pour recevoir une image vidéo analogique et des moyens pour numériser l'image vidéo analogique pour foimer une image vidéo numérisée; un second module de processeur (36) comprenant des moyens pour traiter l'image vidéo numérisée pour former une image vidéo numérisée traitée; et un troisième module de processeur (40) comprenant des moyens pour fournir l'image vidéo numérisée. 8. Processeur selon la revendication ?, caractérisé en ce que le premier module de processeur comprend en outre: des moyens pour recevoir trois images vidéo analogiques simultanément, les trois images vidéo analogiques représentant les composantes de couleur d'une image vidéo unique des moyens pour numériser simultanément les trois images vidéo analogiques pour former trois images vidéo numérisées. 9. Processeur selon la revendication 5, caractérisé en ce que l'un des signaux de commande est un signal d'horloge. 10. Processeur selon la revendication 9, caractérisé en ce que chacun des modules fonctionne de façon synchrone avec le signal l'horloge. 11. Processeur selon la revendication 10, selon laquelle l'image vidéo analogique est caractérisée par un signal de synchronisation verticale. 12. Processeur selon la revendication 11, caractérisé en ce que le signal de synchronisation verticale est transmis aux modules selon l'un des trajets de communication du bus de commande. 13. Processeur selon la revendication 7, caractérisé en ce que le troisième module de processeur comprend en outre des moyens de conversion numérique/analogique pour convertir l'image vidéo numérisée en une image vidéo analogique. 14. Processeur selon la revendication 13, caracté- risé en ce que le troisième module processeur comprend des moyens pour afficher simultanément des données numériques, des données alphanumériques, et l'image vidéo numérisée. 15. Processeur selon la revendication 6, caractérisé en ce que les moyens agissant en réponse aux signaux de- commande comprennent: des moyens de mémoire pour mémoriser des données de synchronisation des moyens pour activer les moyens de mémoire; et des moyens pour recevoir la sortir des moyens de mémoire pour activer un ou plusieurs des moyens de commutation. 1 6. Système de traitement numérique comprenant des trajets de données reconfigurables numériquement caractérisé en ce qu'il comprend: une pluralité de modules numériques (34-40), chaque module comprenant un moyen de communication, lesdits modules servant à mémoriser et à traiter des données une pluralité de bus de données (40A-42I) intercon- nectant ladite pluralité de modules, chaque bus de données comprenant une pluralité de trajets de communication; un moyen de commande maitre (30) pour produire des signaux de commande pour reconfigurer de façon dynamique la connexion entre chaque module et un ou plusieurs des bus de données --et - des moyens dans chaque module agissant en réponse aux signaux de-commande pour connecter les moyens de communication à un ou plusieurs des bus de données.