Brevet FR2586838A1 — publié le 19870306

PROCESSEUR D'ELIMINATION DE FACES CACHEES POUR LA SYNTHESE D'IMAGES A TROIS DIMENSIONS L'invention concerne un processeur d'images de scènes ou d'objets décrits en trois dimensions, qui possède des moyens d'entrée de paramètres de polygones convexes des- criptifs de scènes ou d'objets dans un repère universel, des moyens pour déterminer, à partir des polygones, les paramètres des éléments d'image Eij, d'une image bidimensionnelle trans- formée représentée dans le plan de visualisation d'un disposi- tif de visualisation, des moyens pour mémoriser les paramètres de tous les éléments de l'image transformée les plus rappro- chés du plan de visualisation, afin d'éliminer les faces ca- chées de la scène ou de l'objet, ceux-ci pouvant être repré- sentés pour différents angles d'observation. Elle concerne également tout système de repré- sentation d'images d'objets ou de scènes en trois dimensions, utilisant un tel processeur d'images. Le graphisme à trois dimensions (3D) fait appel à la définition de la géométrie de l'objet ou de la scène en trois dimensions, puis au déplacement dans un système de coor- données universel de l'objet ou de la scène, enfin au dessin dans le plan d'un écran de visualisation de l'objet ou de la scène. Les opérations de base de ce déplacement sont la rota- tion, la translation, la mise à l'échelle, la perspective. L'effet de perspective permet de restituer la forme de l'objet dans sa profondeur, et ceci est simulé d'une manière analogue à ce que l'oeil humain perçoit. L'objet est tout d'abord dé- crit, dans un repère universel, sous forme de coordonnées spa- tiales puis après les opérations de déplacement précédentes, ce système universel de coordonnées est transformé selon le système de coordonnées du dispositif de visualisation. On as- socie à cette description purement géométrique, des paramètres -2- d'attribut tels que l'ombrage, la couleur, la texture ou la transparence qui assurent un meilleur rendu de l'objet à trois dimensions sur un écran à deux dimensions. Les objets ou les scènes sont décrits selon des lignes, des courbes ou des plans qui peuvent eux mêmes être traduits en expressions algébriques. Selon une procédure lar- gement répandue, les objets ou scènes sont décrits selon un jeu de surfaces planes formées d'une suite de m polygones con- vexes Pm. Ceux-ci doivent avoir des dimensions assez petites pour représenter les surfaces courbes d'une manière adéquate. La méthode de base pour représenter un polygone consiste à dresser une liste de coordonnées de sommets, l'espace délimité par les polygones devant être fermé. Ces polygones peuvent en- suite être décrits par exemple par des équations de plan afin de permettre le déplacement des objets dans le système univer- sel de coordonnées. Pour la restitution de l'image de l'objet il est choisi un angle de vision sous lequel un observateur ne peut observer qu'un certain nombre de faces de l'objet, les autres lui étant obligatoirement cachées. Pour que cette image représente l'objet d'une fa- çon plus claire, plus lisible, et ne produise pas une apparen- ce visuelle erronnée les techniques de représentation d'images à trois dimensions utilisent, pour éliminer les faces cachées, la méthode appelée "algorithme de la mémoire de profondeur" (Z-buffer en anglais). Le principe consiste à imaginer l'écran de visualisation sous la forme d'une boite de profondeur qua- si-infinie. La surface de l'écran de visualisation est décom- posée en un certain nombre d'éléments d'image Eij régulière- ment répartis en X et en Y. Sous l'angle de vision choisi, tous les polygones sont successivement analysés selon cette configuration bidimensionnelle des éléments d'image. Au début du traitement des coordonnées de profon- deur ZMij mémorisées sont initialisées avec la coordonnée la plus éloignée admissible par le système. Puis le traitement de -3- chaque polygone va s'effectuer de sorte que chaque coordonnée Zij, associée à chaque élément d'image Eij contenu dans un po- lygone Pm, soit comparée à la coordonnée de profondeur ZMij mémorisée dans la mémoire de profondeur. Lorsque Zij est infé- rieure à ZMij, cette coordonnée ZMij est remplacée par la co- ordonnée Zij qui devient ainsi la nouvelle coordonnée ZMij as- sociée à l'élément d'image Eij. Tous les polygones constituant la description de l'objet sont analysés successivement, et ne sont ainsi conservées pour chaque élément d'image que les don- nées ZMij et les paramètres d'attribut Cij ne concernant que les points les plus rapprochés du point d'observation choisi. Ainsi les surfaces cachées ne sont pas apparentes sur l'écran. Pour assurer la restitution de l'objet tridimen- sionnel par une image, on visualise les paramètres d'attribut associés à chaque face de l'objet correspondant à chaque po- lygone représenté. Ces paramètres d'attribut sont également stockés dans une mémoire d'attribut. Pour éviter que sur des arêtes ou des sommets des variations brutales de couleur ou d'ombrage n'apparaissent, on peut effectuer une interpolation d'attribut selon une ou plusieurs directions. Ainsi les attri- buts sont définis pour les sommets de chaque polygone, puis les attributs des éléments d'image intermédiaires sont inter- polés pour remplir le polygone. Ceci permet de donner un as- pect réaliste à l'image restituée. Tous ces mécanismes de représentation à trois di- mensions d'images d'objets ou de scènes sont mis en applica- tion dans le processeur décrit dans la publication intitulée: "Developing pixel-planes, a smart memory-based raster graphics system" H. FUCHS, J. POULTON, A. PAETH, A. BELL, 1982, Confe- rence on Advanced Research in VLSI, M.I.T. January 27, pages 137, 146. Il y est décrit un système qui: - identifie tous les éléments d'images qui se trouvent dans un polygone, - détermine les éléments d'image qui ne sont pas masqués par -4- des polygones préalablement traités, - détermine l'attribut de couleur de chaque élément d'image. La vitesse est déterminée en faisant que le trai- tement s'opère simultanément sur tous les éléments d'image, et pour cela le système opère sur l'équation du plan du poly- gone f(x,y) = Ax+By+C dans laquelle x et y sont les coordon- nées d'un élément de l'image et les coefficients A, B, C, dé- pendent du polygone à traiter. Ce traitement, à l'aide des équations du plan du polygone, fait que l'architecture est bidimensionnelle, les coefficients A, B, C, étant introduits à l'aide d'une structu- re en arbre. Un tel processeur présente des inconvénients. Premièrement pour traiter globalement l'équation du plan, il est nécessaire de disposer d'un réseau bidimensionnel de cel- lules de base de traitement. La surface du circuit intégré est dans ce cas très importante. Deuxièmement une conséquence de ce qui précède est que la vitesse de fonctionnement est re- lativement limitée. Le but de l'invention est de supprimer ces incon- vénients et de définir un processeur dont l'organisation de fonctionnement permet un traitement très rapide de l'informa- tion, avec une très faible surface occupée sur le semiconduc- teur qui compose le circuit intégré. L'invention confère donc au processeur une structure de blocs opérant en mode série, avec un traitement, de type pipeline réparti entre les para- mètres relatifs aux éléments d'image: (X, Y), Z, attributs. Pour diminuer la surface de semiconducteur utilisée, l'inven- tion opère une analyse du plan de visualisation ligne après ligne. Pour favoriser cette rapidité de traitement un autre but de l'invention est de permettre l'introduction cy- clique renouvelable des coordonnées et des incréments donnés aux paramètres caractérisant les polygones. Pour cela, l'invention telle que définie dans le -5- préambule est remarquable en ce qu'elle comprend des moyens de traitement série, de type pipeline, des paramètres des polygo- nes préalablement convertis en un ensemble de segments (Mo, NO) qui constituent les intersections de l'ensemble des poly- gones avec chaque ligne de visualisation. Elle est également remarquable en ce qu'elle comprend des moyens pour générer in- crémentalement, pour chaque ligne de visualisation du disposi- tif de visualisation, l'ensemble des intersections (segments) de l'ensemble des polygones avec la ligne de visualisation. L'invention est également remarquable en ce que le processeur d'images, auquel sont fournis les paramètres des m polygones Pm convertis en un ensemble de coordonnées de seg- ments (XMo, XNo), ainsi que des paramètres et des incréments de profondeur Z0 et dZ0, et des paramètres et des incréments d'attributs Co et dC0 relatifs à chaque segment (Mo, NO), pos- sède des moyens de traitement série de type pipeline qui com- prennent n blocs, affectés chacun au traitement série des pa- ramètres d'un des n éléments d'image d'une ligne quelconque du dispositif de visualisation, le k-ième bloc comprenant (avec 1 (SMk, SNk) des résultats (XMk, XNk) délivrés par le décré- menteur, et détermine un signal de validation FLk tel que FLk = SMk.SNk, (le symbole (.) désignant l'opération logique ET), avec FLk = 1 si l'élément d'image Ek est concerné par les coordonnées (XMk, XNk) et FLk = 0 dans le cas inverse, - une celilule de base, qui reçoit les paramètres Zk-_, dZk-_, Ck-1, dCk-_, qui détermine, sous le contrôle du signal FLk les paramè- tres Zk, Ck, dZk, dCk pour la cellule de base suivante, qui mémorise les paramètres Zk-_ et les compare à des va- leurs anciennes stockées Zck(ancienne) et stocke des va- -6- leurs Zck(nouvelle) tel que Zck(nouvelle) = Zck(ancienne) si Zk-1 > Zck(ancienne) Zck(nouvelle) = Zk-1 si Zk-1 qui stocke les attributs Ck_1 associés aux nouvelles va- leurs stockées ZCk, qui transmet les attributs Ckl à un bus externe. L'ensemble de coordonnées de segments comprend j segments avec 1 l'indice j du segment. Tout d'abord la représentation initiale des po- lygones par leurs sommets est transformée en une représenta- tion par des segments correspondant à l'intersection de chaque polygone avec un plan de balayage perpendiculaire au plan de visualisation. Chaque polygone Pm, dont l'intersection avec la ligne de balayage n'est pas vide, va couper le plan de balaya- ge selon un segment. Selon un premier mode de réalisation le proces- seur d'images comprend des moyens de traitement série de type pipeline des paramètres des segments, auxquels sont fournis les paramètres des m polygones Pm convertis en un ensemble de coordonnées de segments (XMo, XNo), ainsi que des paramètres et des incréments de profondeur Z0 et dZ0, et des paramètres et des incréments d'attributs Co et dC0 relatifs à chaque seg- ment (Mo, NO). Dans le repère universel initial un sommet d'un polygone va être repéré par les coordonnées Xu, Yu, Zu, Cu. Les coordonnées du sommet adjacent s'en déduiront à l'aide d'incréments IXu, IYU, IZu, ICu, et ainsi de suite pour cha- que sommet. avec IXu = Xu+l - Xu IYU = Yu+1 Yu IYu -7- Zu+l - Zu Cu+l - Cu IZu =, ICu = - IYu IYu Lorsque le plan de balayage se déplace d'un incrément DY = 1, les segments consécutifs obtenus vont se déplacer d'un incré- ment IX selon la direction X et IZ selon la direction Z. En opérant avec des incréments DY de valeur 1 on explore ainsi consécutivement tous les points possibles selon la direction Y. Chaque segment peut alors être représenté par ses paramè- tres extrêmes (XMo, XNo), (ZMo, ZNo), (CMo, CNo), les valeurs analogues consécutives des autres segments se déduisant les unes des autres d'un incrément IX selon la direction X, IZ se- lon la direction Z et IC selon la "direction" C. De même dans chaque plan de balayage il est possible d'analyser chaque seg- ment en opérant des incréments de valeur DX = 1. Dans ce cas l'incrément selon Z est égal à dZ ZN0 - ZM0 XN0 - XM0 qui est constant pour tout le plan et selon C on a: dC = CNO0 - CMO0 XN0 - XMo. Le processeur d'image opère donc sur tous les segments de tous les polygones, repérés en représentation bi- naire par leurs coordonnées (XMo, XNo), ZMO, l'incrément dZo, CMO0 et l'incrément dCo. La première valeur XMO0 est introduite dans un décrémenteur D1 de la première cellule qui effectue l'opération XMO-1. Cette valeur XM0 est introduite en confi- guration série en faisant entrer en tête l'élément binaire de poids faible. Ce décrémenteur Dl transmet en mode série, au décrémenteur D2 de la cellule suivante, les données binaires qu'il a traitées et ainsi de suite. Un registre de signe Rpl stocke le signe SM1 du résultat de l'opération effectuée par le décrémenteur D1. -8- La seconde valeur XN0 est introduite dans le dé- crémenteur DI à la suite de la valeur XMO avec également l'é- lément binaire de poids faible en tête. Le signe SN0 du résul- tat obtenu sur cette valeur XN0 est également stocké dans le registre de signes Rpl. Les signes SN1 ou SM1 étant position- nés à l'état logique 0 en cas d'un résultat positif et à l'é- tat logique 1 en cas d'un résultat négatif. Le registre de signes Rpl détermine la valeur de FL1 = SMi.SN1, o le symbole (.) représente l'opération logi- que ET. Le drapeau FLk indique si la cellule de base Bk est à l'intérieur du segment. Selon la valeur de FL1 le processeur traite dans la cellule de base B1, associée au décrémenteur D1 et au registre de signes Rpl, les paramètres et les incréments de profondeur ZM0 et dZo. Ce traitement s'effectue avec un dé- calage dans le temps d'une période T. - Si FL1 = O, la cellule de base B1 transmet seulement la donnée ZM0 courante à la cellule de base B2 suivante, - Si FL1 = 1, la cellule de base B1 ajoute l'incrément dZ0 à la donnée ZM0 tel que Z1 = ZMo+dZ0 puis la transmet à la cellule de base B2 suivante. Dans les deux cas dZ0 est transmis à la cellule suivante. Le fonctionnement des n cellules étant identique, on considère par la suite la cellule d'ordre k. Toutes les données Zk successives sont ainsi traitées de la même manière et sont stockées dans un registre temporaire MT. D'autre part la mémoire de profondeur constituée d'un registre de profon- deur Mp stocke des valeurs Zck qui sont, en mode série, conti- nuellement comparées aux valeurs Zk-_ à l'aide d'un compara- teur. Le résultat de cette comparaison est stocké dans une bascule qui contrôle le remplacement de l'ancienne valeur Zck par la nouvelle valeur Zk-_, si, pour l'élément d'image consi- déré, la nouvelle valeur correspond à un point plus rapproché du plan de visualisation que ne l'était l'ancienne valeur et si FLk = 1. Le registre de profondeur Mp est bouclé sur lui- même à travers un multiplexeur qui permet soit de renouveler -9- la valeur en mémoire, soit de conserver la valeur précédemment stockée. Lorsque FLk = 1, une cellule de base Bk traite également l'information d'attribut qui peut être un attribut de couleur Ck. De la même façon que pour les coordonnées de profondeur, on détermine un incrément d'attribut dCk. La cel- lule de base Bk détermine le nouvel attribut Ck = Ck_l+ dCk_1 et stocke Ckl dans un registre d'attribut. Ce registre d'attribut est mis à jour en même temps que la mémoire de profondeur sous le contrôle des mêmes moyens. Les données concernant les coordonnées XMk, XNk Zk et l'attribut Ck sont traitées par le processeur selon une procédure de type pipeline. Pour cela le temps est réparti en périodes élé- mentaires de durée u, regroupées en périodes de base de durée T = a.u (a entier, longueur du mot). Le processeur traite, au cours de la période T, les coordonnées Xk d'un segment dans le décrémenteur Dk, et les coordonnées Zk-1 et les attributs Ck_1 dans la cellule de base Bk. Au cours d'une période de base Tj, le processeur traite simultanément: - les coordonnées Xkj d'un élément d'image Ek, dans le décré- menteur Dk, - les coordonnées Zk,j-_ de l'élément d'image Ek, dans la cel- lule de base Bk, - les attributs Ck,j-2, de l'élément d'image Ek dans la cel- lule de base Bk. Ce mode pipeline de traitement série assure une grande vitesse d'exécution au processeur d'image. L'ensemble des n cellules de base consécutives, qui traitent la totalité d'une ligne du dispositif de visua- lisation, sont connectées à un bus de sortie de données qui transmet les informations d'attribut du processeur d'images vers un dispositif de visualisation. Selon ce premier mode de réalisation les paramè- tres des polygones sont fournis au processeur d'images sous -10- la forme de segments (Mo,NO) qui sont déterminés par logiciel traité par un ordinateur relié au processeur d'images. Les paramètres des polygones convexes, caractérisant l'objet à représenter par une image 3D, sont stockés dans une mémoire d'images. Ces paramètres déterminés dans un repère universel vont être par exemple: - la pente dZ du plan du polygone par rapport à des plans à Y = cte, - un sommet initial gauche, - le nombre d'arêtes gauches du polygone: Narg, - une liste de paramètres pour les arêtes gauches, - un sommet initial droit, - le nombre d'arêtes droites du polygone: Nard, - une liste de paramètres pour les arêtes droites. Pour chaque polygone la valeur dZ est une cons- tante. Chaque arête du polygone est déterminée comme un vecteur de déplacement permettant de définir un point d'arri- vée. Chaque plan à Y = cte étant déduit du suivant par des in- créments DY = 1 les arêtes de chaque polygone vont être décri- tes par: - un incrément en X, soit IX; - un incrément en Z, soit'IZ; - un incrément d'attribut, soit IC; - la hauteur de l'arête définie par LY = Y(fin)-Y(début). Le rôle des moyens de conversion des polygones en segments est de déterminer, pour chaque ligne de balayage à Y = cte, les deux points d'intersection du plan de balayage à Y = cte avec le polygone. Il s'agit donc de déterminer les coordonnées du point gauche XM0 et du point droit XNO. Un seg- ment est donc entièrement déterminé par les coordonnées des points M0 et NO. Le point M0 est caractérisé par: - une abscisse gauche: XM0 - une profondeur gauche: ZM0 -11- - un attribut gauche: CMO. Le point No est caractérisé par - une abscisse droite: XN0 - une profondeur droite: ZN0 - un attribut droit: CNO. La pente dZ à Y = Cte relative au polygone concerne également le segment. paramètres aura ainsi à gauche Une mémoire d'images va donc contenir tous les de tous les polygones. Pour un polygone donné, on les paramètres suivants: dZ : XM0 CMo ZMo Narg e...e... arête i IZ IZ IC LY XN0 à droite: CN0 ZNo Nard répété (Narg)fois pour chaque plan -IX arête 1 IZ LY . répété (Nard)fois pour chaque plan..DTD: TABLEAU I Le logiciel va ainsi traiter tous les polygones et pour chaque Y = cte déterminer les coordonnnées des points -12- XMO, XNO. Ces valeurs sont alors introduites dans le proces- seur dlimages pour y être traitées comme cela vient d'être in- diqué. Mais selon un autre mode de réalisation de l'in- vention, il est également possible que les polygones soient convertis en segments XMo, XNO à l'aide d'un circuit de con- version de polygones en segments. Dans ce cas l'invention concerne un processeur d'images de scènes décrites en trois dimensions, comprenant un îI circuit de conversion de polygones en segments et des moyens de traitement série, de type pipeline, des paramètres des seg- ments. Ce circuit lit dans une mémoire d'image les coordonnées et les attributs concernant chaque polygone tel que par exem- * ple cela a été préalablement indiqué sur le TABLEAU 1. Le principe de ce circuit est de faire circuler l'ensemble des variables X, (respectivement Z), (respective- ment C) dans un registre à décalage à l'extrémité duquel est placée une cellule additionnant la donnée sortante avec la donnée IX, (respectivement IZ), (respectivement IC) lue dans la mémoire d'image. La sortie de ladite cellule est bouclée sur l'entrée du registre à décalage de sorte que la donnée est continûment déterminée pour chaque ligne à Y = cte.La longueur du registre à décalage est constante et peut contenir un nom- bre déterminé de paramètres descriptifs de polygones. Ainsi pour un plan à Y = cte représenté sur l'écran par une ligne de visualisation, il est intéressant de pouvoir stocker, par exemple 32 segments (Mo, NO), ce qui permet un traitement en temps réel. Le contrôle du séquencement du registre à décalage est effectué à l'aide d'un circuit de commande qui prend en compte les tests de fin d'arête et de fin de polygones, et qui contrôle également le fonctionnement d'un séquenceur d'adres- ses qui commande les lectures de la mémoire d'image, ce qui permet de renouveler les polygones charges dans le registre à décalage au fur et à mesure du déroulement du traitement des données. -13- L'invention sera mieux comprise à l'aide des fi- gures suivantes, données à titre d'exemples non limitatifs, qui représentent: Figure 1: un dessin représentant la transforma- tion des polygones en segments, Figure 2: un schéma-bloc du processeur d'images selon un premier mode de réalisation, Figure 3: un schéma-bloc des moyens de traite- ment des coordonnées de profondeur et des attributs du proces- seur d'images de la figure 2, Figure 4: un schéma-bloc des moyens de conver- sion des paramètres des polygones en paramètres de segments destinés à constituer, avec le schéma-bloc de la figure 2, un processeur d'images selon un second mode de réalisation, Figure 5: un schéma-bloc du séquenceur d'adres- ses des moyens de conversion de la figure 4. Figure 6: un diagramme des temps correspondant aux moyens de traitement de la figure 3. Figure 7: un schéma d'un multiplexeur des moyens de traitement de la figure 3. Sur la figure 1 est représenté un polygone plan ABCD représentant une facette définissant un petit élément de la surface d'un objet. Ce polygone ABCD est défini par les co- ordonnées de ses sommets dans un repère universel non repré- senté. La présentation d'une image sur l'écran nécessite la définition d'un plan de balayage de l'image pour assurer un traitement séquentiel des opérations. Ce plan de balayage est repéré par la lettre Q sur le dessin de la figure 1 dans le repère XYZ, o la direction Z indique la direction perpendicu- laire à l'écran, en arrière de celui-ci. Le polygone ABCD coupe le plan Q selon le segment MN. Dans le repère XYZ les points A et B vont avoir respecti- vement pour coordonnées (XA, YA, ZA) et (XB, YB et ZB). Pour passer d'un point N à un point N' distant de N tel que IYN - YN' =1 il faudra faire subir aux coordonnées X -14- et Z respectivement des incréments XB - XA ZB - ZA IX = et IZ - YB - YA YB - YA De cette manière il est possible de déterminer les coordonnées de tous les segments MN, distants de DY = 1, qui sont les intersections du polygone ABCD avec le plan Q. Chaque segment MN donne dans le plan XOZ un segment MoNo. Si l'on parcourt le segment MON0 avec un incrément tel que DX = I les coordonnées Z des points ainsi déterminées seront distan- tes d'un incrément fixe: d ZN0 - ZM0 XN0 - XM0 de même: CNO0 - CM0 XN0 - XMo Le processeur d'images opère donc le traitement des coordonnées XM, XN, Z, des incréments dZ et dC et de l'at- tribut C concernant tous les segments MoNO de tous les polygo- nes ABCD décrivant l'objet. Le schéma bloc des moyens de trai- tement série du processeur d'images est représenté sur la fi- gure 2. Les coordonnées XMo, XN0 du segment MoN0 sont intro- duites avec le bit de poids le plus faible en tête dans un dé- crémenteur 101 qui soustrait une unité binaire aux données. Les signes SM1 et SN1 des résultats de la décré- mentation des données XM0 et XN0 sont stockés dans l'organe de test de signe 111. Si après la décrémentation le résultat est négatif sur XM1 ou XN1, respectivement SM1 ou SN1 sont, par exemple, mis à l'état logique 1. Dans le cas contraire SM1 et/ou SN1 sont mis alors à l'état logique O. L'organe de test de signe 111, détermine l'état logique du signal FL1 défini par FL1 = SM1.SNl1. Ce signal FL1 est introduit dans la cellule de base 121 qui reçoit également les données dZ0 et dCO0 qui -15caractérisent les incréments propres au segment, les données Z0 et Co qui caractérisent la coordonnée et l'attribut de cou- leur de l'origine du segment et un signal OE0 de fin d'explo- ration de ligne de visualisation. Les données XMO, XNO, ZO, dZ0, Co, dCo, sont fournies aux moyens de traitement série, du type pipeline, du processeur d'images, par des moyens de conversion 40 de paramètres de polygones en paramètres de seg- ments. La partie du circuit constituée du décrémenteur 101i, de l'organe de test de signe 111 et de la cellule de base 121 est répétée n fois consécutivement. La sortie du décrémenteur 101 est reliée à l'entrée du décrémenteur 102 qui effectue le même type d'opération. Ceci se reproduit jusqu'au décrémenteur lOn.Les organes de test de signe 112...1in sont respectivement affectés aux décrémenteurs 102... 10n et effectuent les mêmes tests que l'organe de test 111. Les organes de test de signe 111 à lln contrôlent ainsi respectivement le fonctionnement des cellules de base 121 à 12n. Chaque cellule transmet à cel- le qui lui succède le résultat Zk de l'opération Zk = Zk-l+ (FLk.dZki), le résultat Ck de l'opération Ck = Ckl+ (FLk. dCkI) ainsi que les deux incréments dZk et dCk. Les résultats d'attribut déterminés par chaque cellule de base 121...i2k.. .12n-sont lus à l'aide d'un bus de sortie 13. La figure 3 représente le schéma-bloc de la cel- lule de base de la figure 2 constituant les moyens de traite- ment des coordonnées de profondeur et des attributs du proces- seur d'image. La kième cellule de base 12k reçoit, de la cel- lule de base qui la précède, les signaux Zk-l, dZk-1, Ck-1, dCkl, et transmet à la cellule de base qui la suit les si- gnaux Zk, dZk, Ck, dCk. La kième cellule de base 12k reçoit également le signal FLk. Les signaux Ck-l, dCk-1, Zk-1, dZk-1 et OEkI entrent sur une bascule à cinq entrées 62k contrôlée par une horloge H respectivement sur les connexions 77, 78, , 76, 79. De même, les signaux Ck, dCk, Zk, dZk et OEk sor- tent d'une bascule à cinq entrées 63k contrôlée par l'horloge -16- H. Le signal OEk est déclenché sur le dernier segment de la ligne de visualisation en cours de traitement. Pour des rai- sons de simplification d'écriture on garde dans chaque cas la même appelation pour ces différents signaux de part et d'autre de chacune des bascules. Les signaux Zk-1l et dZk_1 entrent dans un addi- tionneur 32k qui effectue l'opération sous le contrôle du si- gnal FLk issu de l'organe de test de signe. La valeur Zk-1 en- tre dans un registre temporaire MT 34k. Le résultat de l'ad- dition Zk = Zkl+dZk_1 sort de la cellule de base 12k par la connexion 75 pour être introduit dans la cellule de base sui- vante 12k+l. La sortie du registre temporaire MT 34k entre dans un multiplexeur 36k dont la sortie entre dans un registre de profondeur MP 35k. Les registres 34k et 35k sont des registres à dé- calage. La sortie du registre 35k est reliée à l'une des en- trées du multiplexeur 36k. Celui-ci sélectionne soit la sortie du registre 34k soit la sortie du registre 35k selon l'état logique d'un signal de test CNk délivré par une porte 39k tel que CNk = FLk.UPDk. Le multiplexeur 36k est représenté sur la figure 7. Il est constitué d'une porte ET 74k qui effectue l'opération ET logique entre le signal de test CNk issu de la porte 39k et la sortie du registre 34k. Le signal de test CNk est inversé par l'inverseur 73k dont la sortie entre dans une porte ET 71k avec la sortie du registre 35k, Les sorties des portes ET,71k et 74k entrent dans une porte OU 72k dont la sortie entre dans le registre 35k. La sortie du multiplexeur 36k entre également dans un comparateur 37k qui reçoit également Zk-1 et délivre un signal de comparaison UPDk qui est stocké dans la bascule 38k. La porte ET 39k reçoit le signal FLk et la sortie de la bascule 38k. La sortie de la porte ET 39k contrôle le fonctionnement d'un sélecteur 30k qui reçoit l'attribut Ck_.- Un additionneur 31k reçoit les signaux Ck_1 et dCk_1 et effectue l'opération Ck = Ck_1 + dCk_1 sous contrôle -17- du signal FLk. Le signal Ck_1 est stocké dans un registre d'at- tribut 33k à décalage sous le contrôle de la porte ET 39k à travers le sélecteur 30k qui peut aiguiller sur le registre 33k, soit la nouvelle valeur Ck_1l lorsque CNk = 1, soit reco- pier l'ancien contenu dans le cas contraire. Les données con- tenues dans le registre d'attribut 33k sont placées sur un bus parallèle 13 commun à toutes les cellules via un circuit de sortie à trois états 64k commandé par le signal OEk_1. Les registres à décalage 34k et 35k effectuent en synchronisme des décalages des données qui y sont stockées. Le registre de profondeur 35k étant rebouclé sur lui-même par l'intermédiaire du multiplexeur 36k déjà indiqué, les informa- tions qu'il contient vont donc pouvoir régulièrement réappa- raître sur sa sortie. Le principe de base étant de renouveler une cote de profondeur Z trop profonde, par une autre déterminée plus rapprochée par le processeur selon l'invention, il s'ensuit que pendant des durées d'analyse explicitées ci-après, certai- nes de ces valeurs Z resteront inchangées tandis que d'autres devront être modifiées. Le registre temporaire MT 34k stocke toutes les informations ZT = Zk-1 nouvellement déterminées correspondant à une ligne. Le registre de profondeur MP 35k stocke toutes les informations Zck après que l'opération de rafraîchissement a été effectuée et les réinsère cycliquement dans la procédure de comparaison jusqu'à ce que l'ensemble des segments pour l'ensemble des points de l'écran ait été testé. Lorsqu'une modification s'avère nécessaire sur la valeur de Zck, tel que Zck = Zk-_, le processeur déclenche alors l'introduction de la nouvelle valeur de l'attribut de couleur Ck_1 qui lui correspond. Le registre d'attribut 33k ne fait l'objet d'au- cune procédure de comparaison, et stocke les attributs Ck_1, pour toute la ligne, sous le contrôle de la décision prise -18- pour la valeur de profondeur Zk-.1 Le mode de fonctionnement des moyens de traite- ment du processeur est le suivant. Pour chaque segment les couples de valeurs XMO, XNO sont introduits en mode série, avec le bit de poids le plus faible en tête. Ces valeurs sont décrémentées dans le dé- crémenteur 101 de la figure 2. Après le passage de l'élément binaire de poids fort de XMo constituant la fin de la valeur numérique introduite, le signe SM1 du résultat à la sortie du décrémenteur 101 est mémorisé dans l'organe de test de signe 111. La deuxième valeur XN0 est introduite à son tour, et de même le signe SN1 du résultat est mémorisé dans l'organe de test de signe 111. Celui-ci détermine alors la valeur du si- gnal FL1 = SM1.N.l- Lorsque FL1 = 0 le point en cours d'analyse n'ap- partient pas ou n'appartient plus au segment courant et les données Z0 transitent seulement à travers la cellule de base vers la cellule suivante sans ajouter dZ. Dans ce cas on a ZM1 = ZMo, ZN1 = ZNO- Lorsque FL1= 1 le point en cours d'analyse appar- tient au segment courant et valide la suite des opérations. Les données ZM0 et dZ0 sont additionnées dans l'additionneur 321 tel que ZM1 = ZMo+dZ0 et ZM0 est stocké dans le registre temporaire 341. Simultanément ZM0 est comparé au contenu que possède le registre de profondeur 351 à l'aide du comparateur 371. Lorsque la nouvelle valeur déterminée pour ZM1 est inférieure à l'ancienne valeur stockée dans le regis- tre de profondeur 351, pour le même élément d'image, alors le signal de comparaison UPD1 est mis à l'état logique 1 et l'an- cienne valeur est remplacée par la nouvelle valeur ZM1. Dans le cas contraire l'ancienne valeur est réintroduite à l'entrée du registre de profondeur 351. Ce registre stocke toutes les valeurs rafraichies correspondant à un point d'une ligne d'i- mage. Le signal CNk contrôle le chargement du résultat obtenu dans le registre d'attribut 33k. -19- Le déroulement des différentes opérations qui viennent d'être décrites s'effectue selon une procédure "pipe- line", c'est-à-dire que les opérations relatives à un même élément d'image pour un segment donné sont décalées dans le temps. Ceci est indiqué sur le diagramme de la figure 6. Tou- tes les opérations sont synchronisées par une horloge H de pé- riode élémentaire u avec une période de base de durée T = a.u (a entier). Les opérations décrites, effectuées sur les coor- données XMo, XN0 du segment, sont effectuées les premières, XM0 entrant le premier avec le bit de poids faible en tête. Chacune des opérations sur XMj et XNj à un instant- t, dure la moitié d'un cycle de base de durée T. Au cours de la période de base suivante les opérations sur les données XMj+l et XNj+1 sont effectuées simultanément avec les opérations sur la cote de profondeur Zj. Au cours de la période de base suivante les opérations sur les données XMj+2 et XNj+2 sont effectuées si- multanément avec les opérations sur la cote de profondeur Zj+1 et sur l'attribut Cj. Ce mode pipeline triple permet de réali- ser les opérations dans un temps court. Pour initialiser les registres 35k et 33k à cha- que début de ligne, le signal OEk force la sortie UPDk du com- parateur 38k à 1, ce qui provoque le chargement des paramè- tres Z et C du segment de fond. Selon le premier mode de réalisation le proces- seur d'images comprend des moyens de traitement série, de type pipeline, auxquels sont fournis des paramètres de polygones préalablement convertis selon des paramètres d'un ensemble de segments (Mo, NO). Un logiciel effectuant cette conversion est défini selon la procédure suivante: Logiciel de génération de segments. Initialisation: - Pour chaque polygone: - Calculer dZ; Pour chaque arête p: - Calculer IYp = Yp+l-Yp -20- IXp = (Xp+l-Xp)/IYpp = (x±X/Iy, IZp = (Zp+l-Zp)/IYp ICp = (Cp+l-Cp)/IYp; - Déterminer le Y minimum du polygone = Ymin et l'arête p correspondante XMo=Xp, ZMo=Zp, IXMo=IXp, IZMo=IZp, ICMo=ICp, IYMo=IYp, XNO=Xp-1, ZNO=Zp-l, IXNo=IXp-1, IZNo=lZp-l, ICNo=ICp-1, IYNo= IYp-1; Initialiser à zéro la liste de polygones interceptant la ligne de balayage = liste active; Calcul des segments: Pour chaque ligne de balayage LB: Pour chaque polygone avec Ymin = LB: entrer le polygone dans la liste active. - Pour tous les polygones de la liste active: 15.Décrémenter IY des arêtes droite et gauche: IYMo=IYMo-l, IYNo=IYNo-l Ajouter les incréments de droite et gauche pour X, Z et C Sortie du segment: XMo, (XNo-XMo), ZMo, dZ CMo, INC = (CMo-CNo)/(ZMo-ZNo). 20.Si IYM0 = 0 IYN0 = 0 sortie du polygone de la liste active IYN0 = 0 arête gauche = arête suivante mise à jour des incréments gauches. IYM0 = 0 IYN0 = 0 arête droite = arête précédente mise à jour des incréments de droite. Les moyens de conversion sont alors constitués du logiciel opérant sur un ordinateur, un microordinateur ou un microprocesseur qui opère également le stockage des données de base. Les moyens de traitement série de type pipeline sont alors réunis, par exemple sous la forme d'un circuit intégré, et constituent alors le processeur d'images selon l'invention. Il est alors connecté à un processeur de visualisation qui fournit l'image restituée. Selon le second mode de réalisation les moyens de -21- conversion sont constitués d'un circuit de conversion de para- mètres de polygones en paramètres de segments. Celui-ci peut constituer un circuit indépendant sous la forme par exemple d'un circuit intégré. Le processeur d'images comprend alors des moyens de traitement série, de type pipeline, et ledit circuit de conversion qui reçoit ses données de base d'une mémoire d'images qui stocke les paramètres des polygones. La figure 4 représente le schéma-bloc des moyens de conversion constitués d'un circuit de conversion 40. Ils comprennent un additionneur 27 qui reçoit sur une entrée la sortie d'un registre d'entrée 43 et sur l'autre entrée la sor- tie d'une mémoire circulante 22 qui reçoit sur son entrée la sortie- de l'additionneur 27. La mémoire circulante 22 peut être constituée d'un registre à décalage. Elle stocke les in- formations DPp relatives à chaque polygone Pp. Chaque groupe d'information DPp possède j données. Le registre d'entrée 43 reçoit les paramètres des polygones à partir d'une mémoire d'image 25 chargée préalablement de l'extérieur. Le chargement du registre d'entrée 43 est contrôlé par un circuit de comman- de et de test 42 qui contrôle le fonctionnement du circuit de conversion ainsi que les appels de lecture de la mémoire d'i- mages à travers un séquenceur 24. Les paramètres des polygones sont stockés dans la mémoire d'images par exemple avec la nature et l'ordonnan- cement des paramètres indiqués sur le tableau 1 précédent. A l'aide des commandes RAZO 47 ET RAZ 48, le registre d'entrée 43 et la mémoire circulante 22 sont mis à zéro afin d'initia- liser le chargement des données. La commande LOAD 45 effectue le chargement du registre d'entrée 43. Pour cela le séquenceur 24 reçoit une commande 81 du circuit de test et de commande 42. La mémoire circulante 22 va ainsi être chargée avec dZ, CMo, XMo, Ld, ZNo, CNo, XNo, Lg du polygone Pj. Cette mémoire 22 fonctionnant dans une boucle il y a lieu de lui donner une taille suffisante mais non excessive afin de ne pas allonger la durée du traitement. Avec le nombre de paramètres sélec- -22- tionnés pour chaque polygone tels que ceux indiqués sur le ta- bleau 1, la possibilité de stocker 32 polygones est une dimen- sion acceptable. Elle permet un traitement en temps réel. Le fonctionnement du circuit de conversion 40 né- cessite, à chaque coup d'horloge, d'effectuer les opérations suivantes: extraction, par décalage, d'un mot de données de la mémoire circulante 22 et chargement de son entrée par la sortie de l'additionneur 27, chargement du registre d'entrée 43 par les données IX, IZ, ICo, lues en mémoire d'images, non chargées dans la mémoire 22, - génération de l'adresse de la donnée suivante à lire en mé- moire d'images, - addition des sorties de la mémoire 22 et du registre 43. On effectue ainsi les additions, et les trans- ferts X -- X+IX, Z -- Z+IZ, CO -.- Co+ICo, L _- L-1 o le sym- bole.-- indique que la nouvelle valeur (X+IX) remplace l'an- cienne valeur X. La décrémentation de une unité de la longueur de l'arête peut se faire aisément en positionnant la sortie du registre d'entrée 43 sur la valeur -1 à l'aide de la commande CONS 46. Le paramètre dZ d'un polygone est une constante pour chaque polygone et ne doit subir aucune modification. Néanmoins, pour des questions de simplification de traitement elle est introduite dans les paramètres des arêtes des polygo- nes, mais son passage dans l'additionneur 27 ne l'altère pas en positionnant la sortie du registre d'entrée 43 à zéro à l'aide de la commande RAZ 47. Le circuit de commande et de test 42 effectue le test de la longueur des arêtes droites et gauches des polygones. Lorsqu'après traitement la longueur L circulante atteint la valeur zéro, l'arête concernée a fini d'être exploitée et doit être remplacée par l'arête suivante si le polygone n'a pas fini d'être traité, ou par un nouveau polygone dans le cas inverse. Pour initialiser la mémoire cir- -23- culante 22 il suffit de faire transiter les données par le registre d'entrée 43. Le séquenceur 24 est représenté plus en détail sur la figure 5. Il génère les adresses des données utiles, qu'il faut aller lire dans la mémoire d'images 25. Pour cela il faut stocker dans un registre d'adresses 51 les informa- tions suivantes: - adresse absolue du polygone - numéro de l'adresse gauche Ng - nombre d'arêtes gauches Nog - numéro de l'arête droite Nd nombre d'arêtes droites Nod - des drapeaux indiquant l'état du polygone. Ces drapeaux sont, par exemple: - PA = O si le plan est inactif (ce cas se présente lorsque la longueur du registre 51 est supérieure au nombre de segments par ligne; ce drapeau permet au circuit de traitement série suivant de ne pas prendre en compte le segment calculé). - DP = O si le prochain passage du polygone correspond à la phase d'initialisation. - Dg = O (respectivement Dd = O) si le prochain passage du po- lygone correspond à une phase de changement d'arête gauche (respectivement d'arête droite). La façon la plus simple pour disposer de ces in- formations est de les conserver dans un registre d'adresses 51 semblable à la mémoire circulante 22 de données, et qui peut être mis à jour pour un changement de polygone ou d'arê- te. Pour cela un multiplexeur 53 sélectionne la sortie d'une pile d'entrée 54 ou celle d'un additionneur 52 sous le contrô- le du circuit de commande et de test 42. Le séquencement des opérations se fait de la manière suivante. Un compteur de lignes 56 est incrémenté à chaque ligne. On charge dans la pile d'entrée 54 les adresses des polygones commençant à cette ligne. Ces adresses sont générées de façon externe dans le générateur 55. On fait un décalage -24- sur le registre d'adresses 51 toutes les 8 périodes d'horloge (ce qui correspond aux 8 opérations suivantes du traitement du plan: Lg -Lg - 1 Xg.- Xg + dXg Zg _ Zg + dZg Cg,- Cg + dCg Ld.- Ld - 1 Xd_ Xd + dXd Cd.- Cd + dCd dZ -- dZ + O. Donc toutes les 8 périodes une nouvelle adresse de polygone est présentée en sortie du registre 51 pour traiter le plan suivant. Le séquenceur d'adresses 24 génère alors les adresses des différentes données recherchées en mémoire d'image. Cette séquence d'adresse est liée aux valeurs des drapeaux PA, DP, Dg, Dd. Ces données lues sont alors envoyées dans le registre d'entrée 43 de la structure à décalage. Suivant les résultats des tests effectués sur Lg et Ld, on recharge au prochain décalage, les nouvelles adres- ses qui sont utiles au passage suivant, de la façon suivante: - Lorsque PA = 0 (polygone inactif) ou lorsque Lg = 0 et Ng = Nog (détection d'une fin de polygone), et si la pile d'en- trée 54 n'est pas vide (donc il y a un polygone commençant à la ligne suivante), on charge l'adresse de ce nouveau po- lygone dans le registre d'adresses 51 et on positionne les drapeaux à PA= 1 (polygone actif) et à DP = 0 (initialisa- tion), - Lorsque Lg = 0 ou Ld = 0 et Ng différent de Nog (détection d'une fin d'arête), on incrémente Ng (ou Nd) et on position- ne Dg à zéro (ou Dd à.0), - Lorsque rien n'est détecté, les drapeaux restent inchangés. Les différents signaux de commande effectuant cette procédure sont générés par une structure de commandes microprogrammée. -25- Le mot d'adresses stocké dans le registre 51 pour chaque polygone présente tout d'abord un premier champ consti- tué de APj, Nog, Ng, Nod, Nd, (APj indice du plan) qui permet de générer les adresses des données et un second champ cons- * titué de PA, DP, Dd, Dg qui indiquent l'état du polygone. Ce registre 51 stocke un mot d'adresse par plan ayant la composi- tion: | APj Nog Ng Nod Nd PA DP Dd Dg Il faut donc 32 mots de ce type pour une capacité de traitement de 32 segments par ligne. -26- REVENDICATIONS: 1. Processeur d'images de scènes ou d'objets décrits en trois dimensions, qui possède des moyens d'entrée de para- mètres de polygones convexes descriptifs de scènes ou d'objets dans un repère universel, des moyens pour déterminer à partir des polygones, les paramètres des éléments d'image Eij d'une image bidimensionnelle transformée représentée dans le plan de visualisation d'un dispositif de visualisation, des moyens pour mémoriser les paramètres de tous les éléments de l'image transformée les plus rapprochés du plan de visualisation,afin d'éliminer les faces cachées de la scène ou de l'objet, ceux- ci pouvant être représentés pour différents angles d'observa- tion, caractérisé en ce qu'il comprend des moyens de traite- ment série, de type pipeline, des paramètres des polygones préalablement convertis selon les paramètres d'un ensemble de segments (Mo, No) qui constituent les intersections de l'en- semble des polygones avec chaque ligne de visualisation. 2. Processeur d'images selon la revendication 1, ca- ractérisé en ce que les paramètres des m polygones Pm conver- tis en un ensemble de segments (Mo, NO) lui étant fournis sous la forme de coordonnées d'extrémités XMO, XNo, de coordonnées et d'incréments de profondeur Z0 et dZ0 et de paramètres et d'incréments d'attributs CO et dC0 relatifs à chaque segment (Mo, NO), les moyens de traitement série de type pipeline com- prennent n blocs, affectés chacun au traitement série des pa- ramètres d'un des n éléments d'image d'une ligne quelconque du dispositif de visualisation, le k-ième bloc comprenant (avec 1 (SMk, SNk) des résultats (XMk, XNk) délivrés par le dé- crémenteur, et détermine un signal de validation FLk tel que FLk = SMk. SNk (le symbole (.) désignant l'opération -27- logique ET), avec FLk = 1 si l'élément d'image analysé Ik est concerné par les coordonnées (XMk, XNk), et FLk = 0 dans le cas inverse, - une celilule de base, - qui reçoit les paramètres Zk-1, dZk-_, Ck-_, dCk-_, - qui détermine, sous le contrôle du signal FLk les paramè- tres Zk, Ck, dZk, dCk pour la cellule de base suivante, - qui mémorise les paramètres Zk-_ et les compare à des va- leurs anciennes stockées Zck(ancienne) et stocke des va- leurs Zck(nouvelle) tel que: Zck(nouvelle) = Zck(ancienne) si Zk-l > Zck(ancienne) et Zck(nouvelle) = Zk-l si Zk-l - qui stocke les attributs Ck_-1 associés aux nouvelles va- leurs stockées Zck, - qui transmet les attributs Ck_1 à un bus externe. 3. Processeur d'images de scènes ou d'objets décrits en trois dimensions, qui possède des moyens d'entrée de para- mètres de polygones convexes descriptifs de scènes ou d'objets dans un repère universel, des moyens pour déterminer à partir des polygones, les paramètres des éléments d'image Eij d'une image bidimensionnelle transformée représentée dans le plan de visualisation d'un dispositif de visualisation, des moyens pour mémoriser les paramètres de tous les éléments de l'image transformée les plus rapprochés du plan de visualisation, afin d'éliminer les faces cachées de la scène ou de l'objet, ceux- ci pouvant être représentés pour différents angles d'observa- tion, caractérisé en ce qu'il comprend: - des moyens de traitement série, de type pipeline, des para- mètres des polygones préalablement convertis selon les pa- ramètres d'un ensemble de segments (Mo, No) qui constituent les intersections de l'ensemble des polygones avec chaque ligne de visualisation, - et des moyens de conversion des paramètres de polygones en paramètres de segments (Mo, No). 4. Processeur d'images selon la revendication 3, -28- caractérisé en ce que les paramètres des m polygones Pm lui étant fournis sous la forme de coordonnées et d'attributs de sommets et de paramètres d'arêtes des polygones, stockés dans une mémoire d'images, les moyens de conversion comprennent: - un additionneur qui reçoit sur une entrée la sortie d'un registre d'entrée et sur l'autre entrée la sortie d'une mémoire circulante, - une mémoire circulante, qui reçoit la sortie de l'addition- neur, organisée en j groupes de données, chaque groupe com- portant p informations Dp, - un circuit de test et de commande contrôlant le résultat issu de l'additionneur, et délivrant des signaux de com- mande, lorsque les coordonnées des extrémités des segments (MO, No) ont été atteintes, à la mémoire circulante, à un registre d'entrée et à un séquenceur, - un registre d'entrée recevant les paramètres des polygones d'une mémoire d'images, - un séquenceur, commandé par le circuit de test et de com- mande, qui contrôle la lecture des données de la mémoire d'image, la sortie de l'additionneur délivrant des données comprenant des coordonnées d'extrémités XMO, XNo, des coordonnées et des incréments de profondeur Z0 et dZo, des paramètres et des in- créments d'attributs Co et dC0 relatifs à chaque segment, ces données entrant dans les moyens de traitement série de type pipeline qui comprennent n blocs, affectés chacun au traite- ment série des paramètres d'un des n éléments d'image d'une ligne quelconque du dispositif de visualisation, le k-ième bloc comprenant (avec 1 (SMk, SNk) des résultats (XMk, XNk) délivrés par le décré- menteur, et détermine un signal de validation FLk tel que -29- FLk = SMk.SNk, (le symbole (.) désignant l'opération logi- que ET), avec FLk = i si l'élément d'image analysé Ik est concerné par les coordonnées (XMk, XNk) et FLk = 0 dans le cas inverse, - une celllule de base, - qui reçoit les paramètres Zk-l, dZk-l, Ck-1, dCk-1, - qui détermine, sous le contrôle du signal FLk les paramè- tres Zk, Ck, dZk, dCk pour la cellule de base suivante, - qui mémorise les paramètres Zk-1 et les compare à des valeurs anciennes stockées Zck(ancienne) et stocke des valeurs Zck(nouvelle) tel que: Zck(nouvelle) = Zck(ancienne) si Zk-1l > Zck(ancienne) et Zck(nouvelle) = Zk-1 si Zk-1 - qui stocke les attributs Ck_1 associés aux nouvelles va- leurs stockées Zck, - qui transmet les attributs Ck_1 à un bus externe. 5. Processeur d'images selon la revendication 4, ca- ractérisé en ce que le séquenceur comprend: - un registre d'adresses contenant les adresses des polygones en cours de traitement, géré par le circuit de test et de commande, - une pile d'entrée stockant les adresses des paramètres des polygones à introduire, gérée par le circuit de test et de commande, - un additionneur incrémentant l'adresse délivrée par la sor- tie du registre d'adresses et fournissant des adresses in- crémentées dont certaines servent à adresser la mémoire d'image, ces adresses incrémentées étant réintroduites à l'entrée d'un multiplexeur qui sélectionne ces adresses in- crémentées ou de nouvelles adresses contenues dans la pile d'entrée, sous le contrôle du circuit de test et de comman de. 6. Processeur d'images selon les revendications 2, 4 ou 5, caractérisé en ce que le fonctionnement s'effectue sur une suite de périodes T comprenant chacune des unités de -30- temps u, formées par une horloge H, tel que T = a.u (a entier, longueur du mot), et en ce que les n cellules de base compren- nent, pour la k-ième cellule de base avec 1i - une bascule d'entrée qui valide, sur l'horloge H, les si- gnaux Zk-1, dZk-_, Ck-l, dCkI, et un signal OEkI de fin d'exploration de la ligne de visualisation, - un additionneur qui détermine le paramètre Zk tel que: Zk = Zkl+dZk si FLk = 1 Zk = Zk-l si FLk = 0, - un registre temporaire qui stocke la valeur Zk-_ - un registre de profondeur qui stocke la valeur rafraîchie Zck affectée à chaque point-image, - un multiplexeur qui oriente, sous le contrôle d'un signal CNk, la sortie du registre de profondeur vers un compara- teur lorsque CNk = 0, et la sortie du registre temporaire vers l'entrée du registre de profondeur lorsque CNk = 1, - le comparateur qui compare la valeur Zk-_ présente à l'en- trée de l'additionneur aux valeurs rafraîchies Zck stockées dans le registre de profondeur, et qui délivre un signal de comparaison UPDk tel que: UPDk = 1 si Zk-1 nouvelle un registre d'attribut, la valeur Ck-1 nouvelle ou fait cir- culer l'ancienne valeur Ck_1, - un circuit de sortie qui délivre les données Ck_1 vers un bus de sortie lorsque tous les segments de tous les polygo- gones ont été examinés, - une bascule de sortie qui valide, sur l'horloge H- inverse de l'horloge H, les signaux Zk, dZk, Ck, dCk et OEk délivrés pour la cellule de base suivante. -31- 7. Procédé mis en oeuvre dans un processeur d'images de scènes ou d'objets décrits en trois dimensions, ledit pro- cesseur possédant des moyens d'entrée de paramètres de polygo- nes convexes descriptifs de scènes ou d'objets dans un repère universel, des moyens pour déterminer à partir des polygones, les paramètres des éléments d'image Eij d'une image bidimen- sionnelle transformée représentée dans le plan de visualisa- tion d'un dispositif de visualisation, des moyens pour mémori- ser les paramètres de tous les éléments de l'image transformée les plus rapprochés du plan de visualisation, afin d'éliminer les faces cachées de la scène ou de l'objet, ceux-ci pouvant être représentés pour différents angles d'observation caracté- risé en ce que, le fonctionnement des moyens de traitement sé- rie s'effectuant sur une suite de périodes de base T compre- nant chacune des unités de temps u, formées par une horloge H, tel que T = a.u (a entier, longueur du mot), et les moyens de traitement série comprenant n blocs, et les paramètres des po- lygones étant convertis en un ensemble de segments (Mo, NO) constitués par les intersections de l'ensemble des polygones avec chaque ligne de visualisation du dispositif de visualisa- tion, les segments étant fournis sous la forme de coordonnées d'extrémités XMO, XNo, de coordonnées et d'incréments de pro- fondeur Z0 et dZo, et de paramètres et d'incréments d'attri- buts Co et dC0 relatifs à chaque segment (MO, NO), pour cha- que bloc k (avec 1 XNk_1 des extrémités d'un ensemble de segments dans un dé- crémenteur Dk, qui soustrait, à chaque unité de temps u, une unité binaire à la coordonnée XMkl et à la coordonnée XNkI de chaque segment, - on mémorise les signes des résultats SMk, SNk, des coordon- nées XMk, XNk,obtenues après ces décrémentations, - on détermine un signal FLk: SMk.Nk -32- - lorsque le signal FLk = 1 on introduit la coordonnée et l'incrément de profondeur Zk-1 et dZk_1 et le paramètre et l'incrément d'attribut Ck_1 et dCk_.1 dans une cellule de base du bloc qui détermine une valeur Zk et une valeur Ck telles que: Zk = Zk-l+dZkl Ck = Ckl+dCkl si FLk =1 Zk = Zk-1 Ck = Ck-1 si FLk = 0 - on charge la valeur Zk-1 dans la mémoire MT afin que ZT = Zk-1, - on compare, en commencant par l'élément binaire de poids faible, pour chaque unité de temps u, chaque élément binaire de la valeur Zk-1 à chaque élément binaire de la valeur Zck contenue dans la mémoire MP, - on stocke le signal de comparaison UPDk tel que UPDk = 1 si Zk-1 - lorsque CNk = O, on fait circuler les données Zck de la sor- tie de la mémoire MP vers l'entrée de la même mémoire au cours d'une période T, - on effectue simultanément ces mêmes étapes pour les n blocs successifs de sorte qu'un bloc donné k reçoit-ses informations du bloc précédent (k-l) et les transmet au bloc suivant (k+l), chaque bloc effectuant, à un instant donné, selon une procédure pipeline, - la détermination des valeurs XM, XN relatives à une pério- de T, - la détermination et la mémorisation des données Z relati- ves à la période antérieure (T-1), - la détermination et la mémorisation des données C relati- ves à la période précédente (T-2),et mise à jour du Z rafraichi, - on dispose toutes les informations Ck issues des k blocs, -33- sur un bus parallèle de sortie, lorsque tous les segments ont été complètement explorés, ce qui nécessite un certain nombre de périodes T déterminé par le nombre de segments. 8. Circuit de conversion de paramètres de polygo- nes en paramètres de segments pour un processeur d'images de scènes ou d'objets décrits en trois dimensions, qui possède des moyens d'entrée de paramètres de polygones convexes des- criptifs de scènes ou d'objets dans un repère universel, des moyens pour déterminer à partir des polygones, les paramètres des éléments d'image Eij d'une image bidimensionnelle trans- formée, représentée dans le plan de visualisation d'un dispo- sitif de visualisation, des moyens pour mémoriser les paramè- tres de tous les éléments de l'image transformée les plus rap- prochés du plan de visualisation, afin d'éliminer les faces cachées de la scène ou de l'objet, ceux-ci pouvant être repré- sentés pour différents angles d'observation, caractérisé en ce que les paramètres des m polygones Pm étant fournis au proces- seur d'images, sous la forme de coordonnées et d'attributs de sommets et de paramètres d'arêtes des polygones, stockés dans une mémoire d'images, le circuit de conversion comprend: - un additionneur qui reçoit sur une entrée la sortie d'un registre d'entrée et sur l'autre entrée la sortie d'une mé- moire circulante, - une mémoire circulante, qui reçoit la sortie de l'addition- neur, organisée en j groupes de données, chaque groupe com- portant p informations Dp, - un circuit de test et de commande contrôlant le résultat issu de l'additionneur, et délivrant des signaux de comman- de, lorsque les coordonnées des extrémités des segments XMo, XN0 ont été atteintes, à la mémoire circulante, à un regis- tre d'entrée et à un séquenceur, - un registre d'entrée recevant les paramètres des polygones d'une mémoire d'images, - un séquenceur, commandé par le circuit de test et de comman- de, qui contrôle la lecture des données de la mémoire d'ima- -34- ge, et qui comprend: - un registre d'adresses contenant les adresses des polygones en cours de traitement, géré par le circuit de test et de commande, - une pile d'entrée stockant les adresses des paramètres des polygones à introduire, gérée par le circuit de test et de commande, - un additionneur incrémentant l'adresse délivrée par la sor- tie du registre d'adresses et fournissant des adresses in- crémentées dont certaines servent à adresser la mémoire d'image, ces adresses incrémentées étant réintroduites à l'entrée d'un multiplexeur qui sélectionne ces adresses incrémentées ou de nouvelles adresses contenues dans la pile d'entrée, sous le contrôle du circuit de test et de commande.