FR 2569020 A1 19860214 FR 8412672 A 19840810 "PROCEDE POUR CREER ET MODIFIER UNE IMAGE SYNTHETIQUE". L'invention concerne un procédé pour créer et modifier le contenu d'une mémoire d'image dans un dis- positif de visualisation d'images synthétiques subdivisées en points élémentaires ou pixels dont la couleur et/ou la luminance sont définies par des codes numériques dans la- dite mémoire d'image o une position déterminée est attri- buée à chaque pixel, l'image comportant des objets pouvant recouvrir au moins partiellement d'autres objets en procu- rant ainsi l'effet visuel d'être placés en avant de ces derniers, le dispositif comportant en outre une mémoire d'objets, ou magasin, qui contient la description, pixel par pixel, d'une pluralité d'objets parmi lesquels on pré- lève ceux dont on a besoin pour construire l'image dans la mémoire d'image, et un registre dans lequel sont placées des données indiquant notamment la position des objets dans l'image. Un tel procédé est utilisé dans des jeux vidéo ou dans des systèmes de visualisation de microordinateurs. La visualisation est faite en général dans ces systèmes au moyen d'un point mobile décrivant une succession de lignes séquentiellement explorées en réponse à des signaux de synchronisation horizontale et verticale. On connait des procédés pour créer l'image, selon lesquels les coordonnés X et Y de chaque objet sont comparées au contenu de comp- teurs qui suivent la position du point le long des lignes de l'image. Les objets sont introduits dans l'image "à la volée" au cours du déplacement du point, lorsque ce dernier passe aux coordonnées X, Y de l'objet. Un tel procédé est décrit par exemple dans le brevet anglais GB- 2 000O 946 A. Ce type de procédé convient mal aux images possédant un grand nombre d'objets, parce qu'il implique alors une trop grande quantité de calculs. Un autre procédé connu consiste à utiliser une mémoire d'image que l'on remplit à l'avance avec les élé- ments de l'image, et qui est lue en synchronisme avec le balayage des lignes de l'image. Des procédes de ce type sont décrits par exemple dans le brevet US 4 116 444 o la mémoire d'image ne contient qu'une ligne et doit être remise à jour à chaque ligne, ou dans le brevet US 4 165 072 o la mémoire contient une image complète. Dans ce cas, le nombre d'objets n'est pas limité, mais le procédé exige une taille de mémoire importante. L'invention concerne un procédé de ce type qui utilise une mémoire d'image complète, et fournit une solu- tion au problème posé par la gestion des recouvrements d'objets les uns par les autres. IL est connu de traiter ce problème en définissant plusieurs plans qui contiennent chacun un ou plusieurs objets, les objets d'un plan dit "avant" devant recouvrir les objets d'un plan dit "arrière" Lors de l'affichage de l'image, on choisit entre les plans en fonction de régIes de priorité basées sur la position avant ou arrière des plans. Un tel procédé est décrit par exem- ple dans le brevet français no 2 535 871. Cette solution conduit à L'emploi de plusieurs mémoires d'image complète, et la taiLLe mémoire nécessaire est extrêmement importante. L'invention a pour but de procurer un procédé au moyen duquel, en utilisant une mémoire d'image unique, on puisse gérer d'une manière très simple les recouvrements d'objets: au lieu d'utiliser plusieurs plans, chacun étant représenté par une mémoire d'image distincte, L'invention est basée sur L'idée,à partir d'une mémoire d'image unique, de remplir d'abord toute l'image avec les objets qui sont au fond, puis d'introduire les objets par plans successifs à partir du fond en terminant donc par l'objet le plus en avant, et de sauvegarder, pour chaque objet introduit, les éléments d'image qui se trouvent dans Le contour de l'objet avant l'introduction de ce dernier, ce qui permet lors- qu'ensuite cet objet devra être enlevé, de retrouver immédiatement l'élément d'image à remettre à sa place, et de plus, afin d'économiser de la place en mémoire,on uti- lise la place de la description de l'objet dans le maga- sin pour y placer provisoirement la-description desdits éléments d'image sauvegardés. La description de l'objet n'est pas perdue pour autant, puisque cet objet est dans la mémoire d'image. Celle-ci est donc utilisée non seule- ment comme description d'image pour la visualisation, mais simultanément comme élément provisoire de stockage d'ob- jets. Le procédé de l'invention est ainsi remarquable en ce que, la mémoire d'image étant préalablement remplie complètement par une image constituant un arrière plan, pour placer les objets dans l'image on Lit tour à tour dans le registre, dans l'ordre ou les objets doivent se recouvrir les uns les autres en partant de l'arrière plan, la position de chaque objet à représenter, et à chaque fois on échange, pour ladite position, les codes numéri- ques de la mémoire d'image avec ceux du magasin, et en ce que, pour déplacer un objet, non recouvert par un autre, on effectue deux fois de suite, pour l'objet en question, ledit échange en modifiant, entre les deux fois, la posi- tion de cet objet. Lorsque l'objet à déplacer est recouvert par au moins un autre objet, il convient de prendre des pré- cautions particulières pour le déplacer, et le procédé selon l'invention permet de réaliser ce déplacement très simplement en effectuant d'abord pour tous les objets im- pliqués un groupe d'échanges, entre la mémoire d'image et le magasin, identiques à ceux réalisés pour placer les ob- jets dans l'image, mais en traitant les objets dans l'ordre inverse, et enfin en replaçant à leur nouvelle position les objets impliqués dans l'image, dans l'ordre o ils doi- vent être recouverts les uns par les autres, au moyen d'un nouveau groupe d'échanges. Pour effectuer facilement les opérations qui viennent d'être décrites, il est interessant que les don- nées de position d'objets successifs soient placées dans le registre dans l'ordre selon lequel ces objets doivent se recouvrir les uns les autres. La description qui. va suivre, en regard des dessins annexés décrivant des exemptes non limitatifs fera bien comprendre comment l'invention peut être réa- lisée. La figure 1 représente schématiquement l'organi- sation d'un système permettant la mise en oeuvre du procé- dé de l'invention. La figure 2 représente, en prenant un arrière- plan et deux objets comme exemple, le traitement réaLisé par le procédé. Le système de la figure 1 comporte un micropro- cesseur 1 associé à un clavier de commande 34 éventueLLe- ment muni d'un levier de contrôle du type "manche à balai" pour commander le déplacement d'objets, et à une mémoire de programme 2 qui contient des instructions pour le sys- tème. Il comporte en outre un circuit 8 pour la visualisa- tion de l'image, circuit qui extrait d'une mémoire d'image 7 les données concernant les pixels à afficher, en synchro- nisme avec la description de l'image, et qui les fournit à un afficheur proprement dit 9, par exemple un tube cathodi- que en couleurs avec ses systèmes de commande de luminance, de couleur, et de déviation. Une horloge 3 fournit des si- gnaux de synchronisation de ligne et de trame aux circuits 8 et 9 ainsi qu'au microprocesseur. En outre, un registre 4 pour enregistrer des données indiquant les positions des objets dans la mémoire d'image synthétique 7 est mis à jour par le microprocesseur 1 et lu par un automate 6 qui trans- fère des données vers la mémoire d'image 7 depuis une mémoi- re d'objet 5 appelée magasin, qui contient La description, objet par objet et pixel par pixel,,d'une pluralité d'objets susceptibles d'être appelés dans l'image, c'est-à-dire dans la mémoire d'image. En outre, cet automate peut réaliser également un échange de données entre la mémoire d'image 7 et le ma- gasin 5. Le microprocesseur peut accéder directement au contenu de la mémoire d'objets 5 et de la mémoire d'image 7 par des bus de données et d'adresses 35, 36. L'image est subdivisée en points élémentaires ou pixels, et comporte par exemple 280 lignes de 512 points chacune, soit 143360 pixels au total. La couleur de chacun de ces pixels est définie par exemple, dans une palette de 16 couleurs, au moyen de 4 bits par pixel (dans une ima- ge noir et blanc, ces 4 bits pourraient définir une gamme de gris). La mémoire d'image a donc une capacité de 4 bits x 143360 pixels = 573440 bits. La mémoire d'image est orga- nisée par blocs de 16 bits disposés en lignes et en colon- nes. Il s'agit d'une mémoire dynamique qui a besoin d'être rafraîchie à intervalles réguliers. Chaque bloc de 4 bits correspond à un point de l'image et peut être lu par adres- sage ligne/colonne en fonction des coordonnées X, Y du point dans l'image. En pratique ces blocs sont écrits et lus par groupes de 4, soit 16 bits à la fois, pour accélérer le processus, ce qui ne change rien au principe de base selon lequel une position déterminée est attribuée dans la mé-- moire à chaque pixel. Pour créer une image, on remplit d'abord la mé- moire d'image complètement par des codes définissant tous les pixels d'un arrière plan. Ces codes pourraient se trou- ver dans le magasin mais ils sont plus avantageusement extraits d'une mémoire de grande capacité, par exemple un disque magnétiqueet charges directement dans la mé- moire d'image par le microprocesseur via les bus 35, 36. Pour placer ensuite les objets mobiles on lit tour à tour dans le registre 4, dans l'ordre o les objets doivent se recouvrir les uns les autres c'est-à-dire en partant de l'objet le plus au fond pour finir par l'objet situé en premier plan, la position de chaque objet à- re- présenter. Contrairement aux procédés connus qui utilisent un nombre limité de plans d'image égal au nombre de mémoi- res d'image, on a ici autant de plans que d'objets, chaque objet étant situé devant ou derrière un autre. Avantageusement, les données de position d'ob- jets successifs sont placées dans le registre dans L'ordre selon Lequel ces objets doivent se recouvrir les uns les autres. Ceci constitue Le moyen le plus simple pour défi- nir l'ordre dans lequel on doit les placer. Il suffit alors de Lire Le registre en série. En plus de la position de chaque obiet définie par ses coordonnées X, Y dans l'image, c'est-à-dire en prati- que par son adresse dans La mémoire d'image,ce registre contient également: l'empLacement de La définition de l'objet dans le magasin définie par son décalage ou "offset" par rapport à une adresse de départ, ' Les dimensions de L'objet: hauteur et largeur, et quelques codes d'opération qui seront expliqués plus Loin. Chaque objet est défini dans une fenêtre rectangulaire. Comme les objets ne sont pas toujours rectangulaires on est bien entendu amené à utiliser la notion de transparence. Une des 16 couleurs est utilisée pour indiquer La transparence. Lors du trai- tement des objets un pixel de couleur transparente est donc considéré comme signifiant: "pas d'objet en ce point". L'usage de fenêtres rectangulaires facilite le repérage des coordonnées, chaque ligne d'un objet commençant toujours à la même abscisse. A chaque fois que l'on place un objet dans la mémoire d'image, on échange pour chaque pixel de l'objet les codes numériques de la mémoire d'image avec ceux du magasin. Cette opération est faite, par exemple, par bloc de 8 pixels, soit 32 bits. Supposons par exemple que les 8 pixels de l'objet en magasin soient les suivants: ,tT T I T | M M M 1 M I-M 1 o T: "transparent" et M: "Marron", et que la mémoire d'image contienne un fond gris G et bleu B, les pixels de cette mémoire étant les suivants: 1 G,G G G 1 G GG, G I B B I Pour les trois premiers pixels T de l'objet, on ne modifie rien dans les mémoires. Lorsqu'on rencontre le véritable objet, c'est-à-dire une couleur autre que T, on échange les pixels "image" avec les pixels "magasin". On retrouve donc après cette opération les huit pi;xels suivants, respectivement dans le magasin et dans l'image: magasin: T, T, T G G G B B image: G G G M M M M M On peut d'ailleurs procéder selon diverses va- riantes, par exemple permuter les codes T seulement (au lieu de les ignorer) et ensuite permuter l'ensemble des 8 pixels; cela conduit au même résultat. Ce processus est illustré par la figure 2. On a par exemple initialement un fond 13 dans la mémoire d'ima- ge et une automobile 12 dans le magasin. Après un échange tel que décrit ci-dessus, l'automobile se retrouve dans l'image 15 et les éléments de paysage situés à l'intérieur du contenu du véritable objet (non transparent) se retrou- vent sous la forme de l'objet 14 dans le magasin. Pour déplacer un objet, non recouvert par un au- tre, par exemple l'automobile de l'image 15, on effectue d'abord une première fois un échange de pixels, ce qui conduit dans le cas de L'exemple ci-dessus aux blocs de pixels suivants, qui correspondent à une remise en l'état antérieur:- magasin:, T,T, T, M, M M,M M, M I image: , G G G G, G B B Alors on modifie l'indication de position con- cernant cet objet dans le registre 4. Supposons par exem- ple qu'on décale cet objet de deux points vers la droite. Les huit pixels du fond correspondant à ceux de L'objet ci-dessus deviennent alors: image:, G, G, G, G i B t B 1 B, B On procède à un deuxième échange des points d'image véritable, ce qui conduit aux huit pixels suivants: magasin:,T T T G,B B B B, B i image: G 1 G tG, M M M MM Cet objet, par exemple l'automobile de la figure 2, peut être recouvert par un autre: lors de la création de l'image, ayant obtenu l'image 15 et l'objet 14 en maga- sin, on procède a un nouvel échange pour un objet suivant, dans L'ordre ou Les objets doivent se recouvrir Les uns Les autres en pa'rtant de L'arrière plan; dans L'exempLe de La figure 2 l'objet suivant est un arbre 11 qui doit recouvrir une partie de L'automobile pour fournir l'image 17. L'échange a Lieu entre l'objet 11 et l'image 15 pour fournir l'objet 16 en magasin et L'image 17. L'objet 14 en magasin n'est pas touché. Pour déplacer un objet recouvert par un ou plu- sieurs autres, on effectue d'abord pour tous Les objets impliqué un ensemble d'échanges, entre La mémoire d'image et le magasin, identiques à ceux réalisés pour placer les objets dans l'image, mais en traitant les objets dans L'or- dre inverse, on modifie ensuite les indications de position concernant ces objets dans Le registre, et enfin on replace les objets impliqués dans L'image, dans l'ordre o ils doivent se recouvrir les uns les autres, au moyen d'un nouvel ensemble d'échanges. Par exemple dans le cas représenté par la fi- gure 2 on effectue d'abord l'échange 16-17 ce qui donne 11-15, puis l'échange 14-15 ce qui donne 12-13. On traite donc L'arbre puis L'automobile, c'est-à-dire qu'on traite les objets dans l'ordre inverse de ceLui utilisé pour pla- cer les objets dans l'image. Ensuite on modifie par exemple la coordonnée X de la voiture pour l'avancer, puis on re- construit l'image par les échanges successifs 12-13 (ce qui donne 14-15) et 11-15 (ce qui donne 16-17), cette fois ci dans l'ordre: automobile puis arbre. En pratique cela signifie que, pour placer un groupe d'objets dans t'image, on lit le registre 4 dans un sens, et pour enlever ce même groupe d'objets, on lit le même registre dans l'autre sens. Plus précisément si, pour placer une partie des objets on lit une partie du registre, pour enlever les mêmes objets on lira dans l'autre sens la même partie du registre. Lorsque l'on désire mouvoir un objet, il est donc nécessaire de savoir si cet objet est ou non recou- vert, au moins en partie, par un autre objet. On peut combiner deux techniques pour répondre à cette question. L'une de ces techniques consiste à enle- ver et replacer tous les objets dès qu'on veut déplacer au moins un objet; on améliore cette technique en remarquant que, les objets étant rangés dans l'ordre des plans, si l'on part du premier plan pour rétablir les objets initiaux dans le magasin,dés que l'on a traité l'objet à déplacer situé le plus en arrière, il est inutile d'aller plus loin. Si on place de preférence les objets appelés à être souvent déplacés dans les premiers plans, le travail est alors réduit. L'autre technique consiste à calculer les interférences entre chaque objet à déplacer et l'ensemble des autres objets situés en avant de l'objet à déplacer, en fonction des coordonnées et dimensions, pour savoir s'ils se recouvrent ou non. Si l'on se base sur la véritable forme des objets ce calcul est très long; si l'on se base seulement sur les fenêtres rectangulaires entourant chaque objet, et qui sont définies dans le registre 4, les calculs sont très simplifiés; Ce calcul peut indiquer qu'un objet recouvre l'objet à déplacer alors qu'il n'en est rien, si en réalité la partie recouvrante est transparente, mais par contre si le calcul indique que les rectangles ne se re- couvrent pas, il est alors inutile de traiter l'objet immo- bile, bien qu'il soit dans un plan avant. On peut imaginer plusieurs degrés dans la combinaison de ces deux techniques. Un procédé consiste, par exemple, à calculer comme indiqué ci-dessus les interférences en mémorisant tous les objets ayant une partie de rectangle commune avec au moins l'un des objets à déplacer, puis à lire le registre 4 dans l'or- dre voulu (c'est-à-dire d'abord du premier plan vers l'ar- rière plan, puis dans l'autre sens après modification de certaines coordonnées d'objets) et à ne procéder à l'échan- ge de pixels que si les objets rencontrés dans le registre font partie de la liste précédemment mémorisée (au lieu de mémoriser une liste, on peut aussi affecter des drapeaux à chaque objet du registre 4). Si l'on souhaite intervertir des plans, c'est- à-dire faire passer certains objets de l'arrière plan vers l'avant, il suffit de traiter les objets dans un ordre différent lorsqu'on replace les objets dans l'ima- ge, c'est-à-dire qu'il suffit de changer L'ordre des objets dans Le registre 4, entre les deux groupes d'échanges. De même on peut supprimer ou ajouter des objets dans le registre 4, ce qui entraîne que ces objets dis- paraitront ou respectivement apparaitront lors du prochain ensemble d'échanges. Mais un objet ne peut être ajouté ou supprimé dans un groupe d'objets du registre, qu'après avoir réalisé le premier ensemble d'échanges replaçant les objets et l'image dans l'état ou il ne reste plus que le fond et les objets d'arrière plan immobiles, par exempte l'état représenté par 11, 12, 13 dans la figure 2. L'automate 6 de lafigure 1 est un automate maté- riel, c'est-à-dire cablé. Il a des fonctions multiples. Il est muni de moyens pour échanger des données entre le maga- sin et la mémoire d'image 7 selon le processus expliqué ci- dessus. Il est aussi muni de moyens pour transférer des données du magasin vers l'image, sans échange: ceci permet par exemple, d'introduire des objets dans le fond pour mo- difier définitivement ce dernier. Il est encore muni de moyens pour transférer des données de l'image vers le ma- gasin, sans échange: ceci permet de créer de nouveaux ob- jets en magasin à partir d'éléments de l'image à un instant donné. Il peut aussi changer la couLeur des objets lors d'un transfert vers l'image. Les opérations qu'il doit réaliser lui sont indiquées par des codes d'opération associés à l'objet dans le registre 4. Ces codes indiquent en outre un mot d'état pour échanger des informations entre le mi- croprocesseur et l'automate. Le registre 4 peut en outre indiquer en une seule fois, lors du déplacement d'objets, l'ancienne et la nouvelle position de l'objet et L'automa- te réalisera alors tout seul les ensembles d'échanges dans un sens puis dans l'autre. Un tel automate, une fois ses fonctions définies,est aisément réalisable par l'homme du métier. 1 1 Un exemple chiffré permettra de mieux définir un mode de réalisation du procédé. La mémoire d'image a une capacité de 35K mots de 16 bits. On y accède donc par 16 bits à la fois, soit par 4 pixels à la fois. Le magasin a par exemple une capacité de 32K mots de 16 bits. Le re- gistre a une taille réduite et peut être physiquement placé dans un morceau du magasin ou d'une mémoire propre du mi- croprocesseur. L'image comporte 280 lignes de 512 pixels cha- cune. On choisit d'affecter les deux tiers d'un temps de ligne à l'image, et le tiers restant au retour de ligne. De même dans une image dite de 624 lignes non entrelacées, c'est-à-dire de 312 lignes par trame, on aura 280 lignes d'image et 32 lignes de retour trame. Dans le cas d'un standard dit à 525 lignes, il faudrait réduire le nombre de lignes d'image pour conserver un temps de retour trame suffisant. Le temps de ligne habituel dans les systèmes de télévision étant de 64/uS, et puisque 512 pixels sont re- présentés pendant les 2/3 de ce temps, la durée d'un pixel est de 83,3nS. L'ensemble des mémoires est partagé entre le système de gestion d'images et le microprocesseur, de telle manière qu'un dispositif de rafraichissement commun soit suffisant. Dans ces conditions, on choisit d'attribuer en moyenne deux accès mémoire à la visualisation ou au traitement de l'image pour un accès attribué au micropro- cesseur. Les accès seront donc groupés par trois. En fonc- tion de la vitesse des mémoires dynamiques couramment disk ponibles, trois accès mémoire demandent environ 650 nS, ce qui correspond à la durée de visualisation de presque 8 pixels. On traitera donc les pixels par groupes de 8 et le temps de base pour trois accès sera donc de 666 nS. Sur ces trois accès, deux correspondent à la visualisation, et puisqu'on accède à la mémoire par 4 pixels à la fois, ces deux accès correspondent bien à un groupe de 8 pixels. Pour effectuer un échange il faut accéder: - une fois à la mémoire d'image pour y lire - une fois au magasin pour y Lire - une fois à la mémoire d'image pour y écrire - une fois au magasin pour y écrire ce qui nécessite quatre accès. Chaque accès portant sur quatre pixels, l'opération nécessite ainsi en moyenne un accès par pixel. Bien entendu, pendant la durée de visualisation deux accès sur trois sont attribués au système de visualisa- tion 8, alors que pendant les retours de ligne ou de trame ils sont attribués au traitement de l'image. Un retour de trame dure 32 lignes x 64/uS = 2048/uS. Sur ce temps il faut prélever environ 128/uS pour le rafraichissement des mémoires; il reste donc 1920/uS utiles pour modifier l'image, ce qui permet 2880 temps de base comprenant chacun deux accès à t'image; ou dispose donc de 5760 accès pendant un retour de trame. Supposons par exemple qu'un jeu vidéo mette en scène des joueurs de football et un ballon, te ballon étant défini dans un rectangle de 12 x 8 pixels soit 96 pixels et chaque joueur dans un rectangle de 20 x 26 pixels, soit 520 pixels. Un déplacement demande deux échanges successifs avec modifi- cation de la position de l'objet entre les deux échanges, et chaque échange nécessite, comme expliqué plus haut, un accès par pixel. Un déplacement demande donc deux accès par pixel. Pour déplacer le batllon on a besoin de: 96 x 2 = 192 ac- cès. Il reste alors: 5760 - 192 = 5568 accès disponibles pendant un retour de trame pour déplacer des joueurs. Ce- ci permet donc de déplacer cinq joueurs (avec 1040 accès par joueur), en supposant qu'ils sont en premier plan et que donc aucun autre objet n'est impliqué dans le déplace- ment. On peut aussi utiliser les retours de ligne pour effectuer un traitement d'image, ce qui augmente les performances. Bien entendu la mise en oeuvre de l'invention n'est pas limitée à l'exemple décrit, et on peut imaginer des variantes sans sortir du cadre de l'invention. Par exemple on peut utiliser des mémoires plus rapides; dans ce cas on peut avoir plus de trois accès par temps de base et de ce fait utiliser les accès suplémentaires pour le traitement d'image y compris pendant les temps de visuali- sation, puisqu'on a seulement besoin de deux accès pour la visualisation. On peut aussi partager autrement les accès, par exemple en réalisant en séquence un lot d'accès pour la visualisation, et en stockant les données afférentes dans une mémoire-tampon, ce qui permet de libérer ensuite un lot d'accès pour le traitement de l'image, pendant qu'on tire les données de la mémoire-tampon pour la visualisation. Il est aussi possible d'utiliser un nombre de lignes dif- férent pour l'image, ce qui peut permettre notamment d'aug- menter le temps de retour trame. * Par ailleurs, il est souvent nécessaire, par exemple dans un jeu o le microprocesseur doit savoir si un projectile a atteint son objectif, de connaître les collisions entre objets. Le procédé d'affichage ne donne aucun renseignement sur ces collisions. Il est alors né- cessaire, pour les objets interessants et seulement pour eux, de procéder à des calculs de collision de façon connue indépendamment de l'affichage proprement dit. Il est par ailleurs interessant de prévoir une mémoire annexe de pseudoimage qui sert à préparer certains éléments d'image à l'avance, indépendamment de l'image en cours de visualisation. On utilise avantageusement alors le procédé selon l'invention pour créer et modifier des élé- ments d'image dans cette mémoire annexe. Les circuits permettant la mise en oeuvre de l'invention peuvent être réunis aisément par l'homme du métier dans un seul circuit intégré. Avec seulement: un microprocesseur, par exemple un 68070, le susdit circuit intégré, et des boîtiers de mémoire, une solution minimale est fournie pour un ordinateur personnel. La charge de travail de l'unité logique (du microprocesseur) est faible grâce aux circuits spécifiques avec l'automate, et l'uni- té logique peut avoir du temps libre pour le logiciel de L'utilisateur. Le système peut aussi donner lieu à une réalisation plus sophistiquée en ajoutant des mémoires de masse, d'autres-mémoires-dynamiques et d'autres fonc- tions. REVENDICATIONS:15 1. Procédé pour créer et modifier le contenu d'une mémoire d'image dans un dispositif de visualisation d'ima- ges synthétiques subdivisées en points élémentaires ou pi- xels dont la couleur et/ou la luminance sont définies par des codes numériques dans ladite mémoire d'image o une position déterminée est attribuée à chaque pixel, l'image comportant des objets pouvant recouvrir au moins partiel- lement d'autres objets en procurant ainsi l'effet visuel d'être placés en avant de ces derniers, le dispositif com- portant en outre une mémoire d'objets, ou magasin, qui contient la description, pixel par pixel, d'une pluralité d'objets parmi lesquels on prélève ceux dont on a besoin pour construire l'image dans la mémoire d'image, et un registre dans lequel sont placées des données indiquant notamment la position des objets dans l'image, caractérisé en ce que, la mémoire d'image étant préa[ablement remplie complètement par une image constituant un arrière plan, pour placer les objets dans l'image on lit tour à tour dans le registre, dans l'ordre ou les objets doivent se recou- vrir les uns les autres en partant de l'arrière plan, la position de chaque objet à représenter, et à chaque fois on échange, pour chaque pixel de l'objet, les codes numériques dé la mémoire d'image avec ceux du magasin, et en ce que, pour déplacer un objet, non recouvert par un autre, on ef- fectue deux fois de suite, pour l'objet en question, ledit échange en modifiant, entre les deux fois, la position de cet objet. 2. Procédé selon la revendication 1, caractérisé en ce que, pour déplacer un ou plusieurs objet(s) recou- vert(s) par un ou plusieurs autre(s), on effectue d'abord pour tous les objets impliqués un ensemble d'échanges en- tre la mémoire d'image et le magasin, identiques à ceux réalisés pour placer les objets dans l'image, mais en traitant les objets dans l'ordre inverse, et enfin on re- place à leur nouvelle position dans l'image les objets impliqués dans l'ordre o ils doivent se recouvrir les uns les autres, au moyen d'un nouvel ensemble d'échanges. 3. Procédé selon la revendication 2, caractéri- sé en ce que tous les objets situés du premier plan jusqu'à l'objet à déplacer le plus en arrière sont considérés com- me impliqués. 4. Procédé selon l'une des revendications 2 ou 3, caractérisé en ce que, lorsqu'on replace les objets dans l'image, l'ordre de traitement des objets est différent de l'ordre utilisé lors du placement précédent. 5. Procédé selon l'une quelconque des revendica- tions 2 à 4, caractérisé en ce que lorsqu'on replace les objets dans l'image, on enlève ou on ajoute des objets. 6. Procédé selon l'une quelconque des revendica- tions 1 à 5, caractérisé en ce que les données de posi- tion d'objets successifs sont placées dans le registre dans l'ordre selon lequel ces objets doivent se recouvrir les uns les autres. 7. Procédé selon l'une quelconque des revendica- tions 1 à 6, caractérisé en ce que les objets sont tous rectangulaires et comportent des zone dites transparentes qui ne sont pas prises en compte dans les susdits échanges. 8. Procédé selon l'une quelconque des revendica- tions 1 à 7, caractérisé en ce que les données du registre indiquant la position de chaque objet sont organisées par blocs, chaque bloc correspondant à un objet indiquant en outre l'adresse de l'objet dans le magasin, ses dimen- sions, et des codes d'opération. 9. Procédé selon l'une quelconque des revendica- tions 1 à 8, caractérisé en ce que l'on crée des objets nou- veaux dans le magasin en les y recopiant à partir de la mémoire d'image. 10. Procédé selon l'une-quelconque des revendications 1 à 8, caractérisé en ce que lesdits échanges sont réa- lisés au moyen d'un automate matériel.