Brevet FR2581779A1 — publié le 19861114

Circuit de commande pour machine graphique et utilisation dcun tel circuit dans une machine graphique interactive. L'invention se rapporte aux machines de visualisation graphique haute résolution servant à visualiser des images produites sous forme numérique par un ordinateur, sur un ou plusieurs écrans couleurs. Ce type de machine dispose classiquement d'un calculateur couplé à une mémoire dite "mémoire d'image" par des ressources matérielles et logicielles graphiques: processeur dentrée-sortie, processeur graphique, générateur de vecteurs et de caractères, processeur de surfaçage, etc... Dans ces systèmes, rimage est décomposée en points ou "pixels" et chaque point est caractérisé par un mot d'aspect enregistré, après traitement, dans la mémoire d'image. Ce mot d'aspect définit sous forme nurmérique la couleur du point et éventuellement s'il dclignote. A titre d'exemple rimage peut se composer de 1024 lignes de chacune 2048 points et être projetée sur l'écran dfun tube cathodique au moyen d'un balayage du type télévi- sion, à la fréquence de 50 images par seconde. Pour permettre l'entretien de l'image, c'est-à-dire sa répétition et éventuellement sa modification à la fréquence de balayage, le terminal est équipé d'une mémoire d'image permettant de mémoriser le mot d'aspect de chaque point, cette mémoire étant relue en synchronisme avec le balayage. Ainsi la mémoire d'image dans laquelle un point est défini par un mot crd'aspect est couplée à un poste de travail comportant un écran couleur par un circuit contrôleur de signaux vidéo couleur. Dans les terminaux de visualisation de conception simple, le mot d'aspect extrait de la mémoire d'image est directement décodé par un circuit de décodage numérique-analogique, pour produire des signaux. analogiques alimentant le dispositif de projection, c'est-à-dire en général trois signaux analogiques primaires, R, V, B, commandant respectivement les faisceaux rouge, vert et bleu d'un tube cathodique trichrome. Si la mémoire d'image fournit des mots de huit bits, le poste terminal peut être construit de façon que trois de ces bits codent l'amplitude du signal R, 258 1779 trois codent l'amplitude du signal V, et deux l'amplitude du signal B. Ces huit bits du mot d'aspect stockés en mémoire d'image permettent de disposer d'une "palette" de 28 couleurs. Dans une conception aussi simple, la palette est déterminée une fois pour toutes par construction. Pour obtenir tout un jeu de palettes, un perfectionnement connu consiste à ajoindre une mémoire vive dite mémoire de table de transco- dage de couleurs. Ainsi, au lieu du mot cd'aspect fourni par la mémoire d'image, c!est un mot de couleur, lu en mémoire de table qui alimente le circuit de décodage numérique-analogique produisant les signaux primai- res pour chaque pixel, l'adresse de lecture de la mémoire de table étant donnée par le mot d'aspect fourni par la mémoire cd'image. Dans un tel système, le format des mots d'aspect mis en mémoire dans la mémoire dimage est le même que le format d'adressage de la mémoire de table, sauf si des bits du mot d'aspect sont prélevés directement en sortie de la mémoire d'image pour commander une fonction particulière, par exemple le clignotement de certaines zones de Fimage. Dans un système graphique tel que décrit succinctement ci- dessus, pour modifier l'image affichée sur un écran, le processeur doit recalculer l'ensemble des points de l'image, ce qui conduit à un "rafraî- chissement" complet de l'image à chaque modification. Or, les machines graphiques permettant l'affichage d'images de synthèse doivent permettre de réaliser aussi rapidement que possible des modifications dcimages, à la demande de l'utilisateur, ces modifications pouvant n'affecter qu'une partie de limage. Le perfectionnement objet de la présente invention concerne ces modifications de l'image et permet de dissocier des sous-ensembles de l'image qui peuvent être traités indépendemment lors du rafraîchissement et lors de l'affichage, le circuit de commande reliant la mémoire d'image au dispositif de projection comportant des moyens de sélection de ces sous-ensembles. Ces moyens de sélection sont commandés, d'une part, par la mémoire d'image qui stocke des mots daspect ayant un format supérieur au format du mot d'adressage de la mémoire de table et, d'autre part, par un mot de commande élaboré par l'utilisateur dans un dialogue interactif avec la machine graphique. 258 1 779 Selon l'invention, un circuit de commande pour machine graphi- que, associé à une mémoire d'image dans laquelle l'aspect de chaque point d'image est codé sur plusieurs bits, comportant: - une mémoire de table de transcodage de couleurs, contenant des mots de couleur associés à une palette de couleurs, adressée en lecture par la mémoire d'image pour chaque point de l'écran d'un dispositif de projection, la lecture de la mémoire d'image étant réalisée en synchro- nisme avec le balayage de récran, - un ensemble de conversion numériqueanalogique recevant des mots de couleur lus dans la mémoire de table de transcodage, et délivrant des signaux analogiques de commande du dispositif de projection, est caractérisé en ce que le nombre de bits n codant laspect des points dans la mémoire d'image est supérieur au nombre de bits n' d'adressage de la mémoire de table, et en ce que le circuit de commande comporte en outre: - un circuit sélecteur, placé entre la mémoire d'image et la mémoire de table, ayant une entrée reliée à une sortie de la mémoire d'image par un bus à n bits, ayant une sortie reliée à une entrée d'adressage de la mémoire de table par un bus de n' bits, et ayant une entrée de commande; - un registre de commande de configuration, ayant une sortie reliée à l'entrée de commande du circuit sélecteur et commandant ce dernier afin qu'il sélectionne pour chaque point, à chaque balayage de l'écran, un sous-ensemble comportant au plus n' bits parmi les n bits codant l'aspect du point. L'invention a également pour objet l'utilisation d'un tel circuit de commande dans une machine graphique. L'invention sera mieux comprise et d'autres caractéristiques appa- raîtront à l'aide de la description qui suit, en référence à la figure unique annexée. Cette figure unique représente un exemple de réalisation du circuit de commande pour machine graphique suivant rinvention. Comme indiqué succinctement ci-dessus, le perfectionnement selon Pinvention, qui permet de contribuer à la construction d'une machine à haut niveau dinteractivité, autorise des modifications partielles de l'image lors d'un rafraîchissement dimage, par la modification de seule- ment certains plans de la mémoire d'image. Cette mémoire comporte un certain nombre de plans. Elle fournit pour chaque pixel un nombre de bits qui est égal au nombre de plans et qui est supérieur au nombre de bits nécessaires pour radressage de la mémoire de table de couleurs. La possibilité de ne sélectionner en lecture que certains plans de la mémoire d'image introduit une grande souplesse dans l'utilisation de la machine. En effet, l'indépendance entre les différents plans permet de les manipuler, par exemple dans le but de réaliser des images de synthèse constituées dune superposition de plusieurs images élémentaires, chacune constituant un sous-ensemble de rimage définitive. Chaque image élémen- taire peut avoir un rythme de rafraîchissement indépendant de celui des autres images élémentaires, et certains éléments d'une image élémentaire peuvent être conservés en mémoire dimage pendant une durée o ils ne sont pas utilisés pour la constitution de rimage affichée. Les éléments ainsi conservés peuvent être réutilisés ensuite, sans nécessiter un nouveau calcul dans le processeur ni une nouvelle mise en mémoire, ces sous- ensembles étant immédiatement disponibles pour la projection. Le résultat est bien sûr un allègement du temps de calcul des processeurs graphiques, particulièrement avantageux lorsque ces proces- seurs doivent servir plusieurs postes de travail et donc plusieurs mémoires dimage associées chacune à l'écran d'un poste de travail. Par ailleurs, il y a aussi un gain de temps pour rutilisateur car une telle machine lui permet de sélectionner à son gré, dans une image formée de plusieurs plans superposes, seulement un ou plusieurs de ces plans, par exemple pour examiner, et éventuellement modifier, seulement le fond d'une image, ou au contraire un élément mobile dans un fond, etc... Le circuit de commande pour machine graphique représenté sur la figure comporte une mémoire d'image I dont le contenu est fourni à chaque calcul d'image par l'ensemble 10 incluant le calculateur et les ressources graphiques classiques. La mémoire d'image 1 comporte n "plans" de mémoire, soit 16 plans par exemple, chaque "plan" comportant N x M bits associés à N x M points de lécran soit par exemple N = 1024 et M = 2048, correspondant à 1024 lignes de 2048 points de l'écran. Chaque point cd'image est caractérisé par un mot d'aspect ayant un nombre de bits au plus égal au nombre n de plans dans la mémoire d'image, soit 16 dans l'exemple ci-dessus. Pour la lecture de la mémoire d'image 1, les adresses de cette mémoire sont explorées en synchronisme avec le balayage de l'écran couleur. Le bus de sortie de cette mémoire est un bus de n bits, soit 16 bits. Ce bus est relié à une entrée d'un circuit sélecteur de plans 3. Une autre entrée du circuit 3 reçoit un mot de commande d'un registre de commande de configuration 2, pour sélection- ner dans le mot d'aspect un groupe de bits déterminé par l'utilisateur. Ce registre de commande de configuration 2 est chargé par l'intermédiaire des ressources du système graphique (ensemble 10). La sortie du circuit sélecteur de plans 3 est reliée par un bus de n' bits à une entrée d'adressage d'une mémoire de table de transcodage de couleurs 4 qui fournit un mot de couleur pour chaque point d'image. Le nombre n' est inférieur à n, ce qui signifie que l'aspect d'un point de l'écran ne peut pas être défini, à un instant donné, par plus de n' bits. A titre crd'exemple, si la mémoire de table 4 peut stocker 28 mots de couleurs associés à 28 couleurs possibles, son adressage est réalisé par des mots de n' = 8 bits, alors que la mémoire d'image 1 stocke des mots de 16 bits. Le circuit sélecteur 3 sélectionne donc, pour chaque point, parmi les 16 bits fournis par les 16 plans de la mémoire dimage, au plus 8 bits d'aspect et il les transmet pour l'adressage de la mémoire de table 4. Chacun des 28 mots de couleur stockés à une adresse de la mémoire de table 4 peut être constitué de 3 Mnots de 8 bits de données respectivement associés aux trois couleurs primaires R, V, B. Ces 3 mots, lus à l'adresse fournie par le circuit sélecteur 3 après sélection des plans de la mémoire d'image, sont respectivement appliqués à trois convertis- seurs numériques-analogiques (CNA), 51, 52, 53 dont les sorties fournis- sent les signaux analogiques R, V, B commandant les faisceaux rouge, vert et bleu d'un tube cathodique trichrome dans un dispositif de projection 6. Le circuit sélecteur de plans 3 comporte autant de sélecteurs d'un bit parmi n qu'il y a de bits dadressage pour la mémoire de table 4, soit dans l'exemple indiqué ci-dessus n' = 8 sélecteurs à 16 entrées, référencés 31, 32, 33...38. Dans le mode de réalisation le plus simple, le circuit 3 est commandé par des mots de commande de n. n' bits, soit 1 mot de commande de n bits appliqué à chacun des n' sélecteurs. Chaque sélecteur comporte alors n portes logiques ET recevant chacune un bit 258 1779 du mot de n bits issu de la mémoire d'image 1, et un bit du mot de commande à n bit; les n portes ET crd'un sélecteur ont leurs sorties reliées à un circuit logique OU à n entrées et une sortie, qui fournit un bit de 'adresse de la mémoire de table 4. Ainsi une image élémentaire peut être mémorisée par un "plan logique" de la mémoire d'image constitué d'un sous-ensemble des plans de cette mémoire, et les 16 plans de la mémoire d'image peuvent permettre de définir plusieurs plans logiques, chacun étant associé à un sous- ensemble de l'image formant une image élémentaire. Le traitement de ces diférentes images élémentaires par le processeur graphique du système de visualisation peut être réalisé indépendemment, tant pour leur calcul que pour leur rafraîchissement. Le circuit de commande selon l'invention permet à l'utilisateur de visualiser, à la demande, l'une de ces différentes images élémentaires ou bien une combinaison quelconque de ces images par l'intermédiaire d'une commande délivrée par le registre de commande de configuration 2. Cette disposition permet d'adapter les ressources disponibles aux besoins de l'utilisateur. Un exemple d'application de ce système est la cartographie. Il est possible d'utiliser un plan logique formé de plusieurs plans de la mémoire d'image pour mettre en mémoire les éléments du relief dune zone géographique; ces éléments formant le fond d'une image sont calculés et mis en mémoire une fois pour toutes. Leur lecture peut n'être que partielle, si l'on souhaite définir seulement par certains plans de ce premier plan logique, une carte du relief simplifiée. Des éléments essentiels du relief sont mémorisés dans un sous- ensemble des plans de ce premier "plan logique", et des éléments supplémentaires du relief sont mémorisés dans un autre sous-ensemble des plans de ce premier "plan logique". Puis d'autres éléments que ron souhaite pouvoir déplacer dans ce fond sont mémorisés dans un second "plan logique" formés de plusieurs autres plans de la mémoire dimage. Ces éléments mobiles donneront lieu à un calcul périodique fonction du déplacement dans le fond sans que les éléments du fond soient recalculés. Cette affectation dynamique des plans de la mémoire d'image conduit ainsi aux avantages annoncés ci-dessus, 258 1 779 relatifs au temps de calcul nécessaire au rafraîchissement d'une image. Un point de récran peut ainsi avoir deux aspects différents d'une période de balayage à la suivante, sans modification du contenu de la mémoire d'image si ces deux aspects sont préalablement codés dans deux sous- ensembles du mot d'aspect. Le circuit décrit ci-dessus constitue un premier perfectionnement qui peut être combiné à un autre perfectionnement relatif aux tables de couleurs. En effet, pour disposer d'une palette de couleurs plus grande que la capacité de la mémoire de table de transcodage de couleurs 4, capacité qui est de 28 couleurs dans Pexemple ci-dessus, il est possible de modifier le contenu de cette mémoire 4 en prévoyant en outre un ensemble 7 de mémoires tampons stockant différentes tables de transcodage de couleurs. L'utilisateur remplace à son gré le contenu de la mémoire de table 4 par le contenu de l'une des mémoires tampons 71 à 74 de cet ensemble 7. Le transfert de Pune de ces 4 mémoires tampons 71 à 74 dans la mémoire 4 est commandé par deux bits associés à la table utilisée pour la synthèse de rl'image et fournis par lensemble 10 calculateur et ressources graphiques. Les moyens de commande de transfert correspondant n'ont pas été représentés sur la figure. Ils sont décrits en détails dans la demande de brevet français n 85 04933 au nom de la demanderesse. Ainsi ce second perfectionnement offre une possibilité supplémentaire pour modi- fier raspect d'un point de l'écran dune période de balayage à la suivante sans modification du contenu de la mémoire d'image, par la simple commande du transfert d'une table d'une mémoire tampon 71,...,74 dans la mémoire de table 4. L'utilisation de ce circuit de commande muni du premier ou de la combinaison du premier et du second perfectionnement dans une machine graphique ouvre de grandes possibilités dinteraction entre la machine et l'utilisateur, par des commandes simples qui n'occupent pas de temps de calcul dans rensemble 10 calculateur et ressources graphiques comman-' dant la machine. REVENDICATIONS 1. circuit de commande pour machine graphique, associé à une mémoire d'image (1) dans laquelle l'aspect de chaque point d'image est codé sur plusieurs bits, comportant: - une mémoire de table de transcodage de couleurs (4), contenant des mots de couleur associés à une palette de couleurs, adressée en lecture par la mémoire d'image (1) pour chaque point de l'Pécran d'un dispositif de projection (6), la lecture de la mémoire d'image (1) étant réalisée en synchronisme avec le balayage de lécran, un ensemble de conversion numérique-analogique (51, 52, 53) recevant des mots de couleur lus dans la mémoire de table de transcodage (4), et délivrant des signaux analogiques de commande du dispositif de projection (6), caractérisé en ce que le nombre de bits n codant laspect des points dans la mémoire d'image (1) est supérieur au nombre de bits n' crd'adressage de la mémoire de table (4), et en ce que le circuit de commande comporte en outre: - un circuit sélecteur (3), placé entre la mémoire d'image (1) et la mémoire de îable (4), ayant une entrée reliée à une sortie de la mémoire d'image (1) par un bus de n bits, ayant une sortie reliée à une entrée d'adressage de la mémoire de table (4) par un bus de n' bits, et ayant une entrée de commande; - un registre de commande de configuration (2) ayant une sortie reliée à rentrée de commande du circuit sélecteur (3) et commandant ce dernier afin qu'il sélectionne pour chaque point, à chaque balayage de récran, un sous- ensemble comportant au plus n' bits parmi les n bits codant l'aspect du point. 2. Circuit de commande selon la revendication 1, caractérisé en ce que la sortie du registre de commande (2) comporte n. n' bits de commande, le circuit sélecteur (3) comportant n' circuits logiques (31, 32, 33...38) ayant chacun n portes ET recevant respectivement un bit d'aspect et un bit de la sortie du registre de commande (2), et un circuit OU à n entrées et une sortie, fournissant un bit d'adressage de la mémoire de table de transcodage de couleurs (4). 258 1779 3. Circuit de commande selon rune des revendications I et 2, caractérisé en ce que la mémoire de table de transcodage de couleurs (4) est associée à un ensemble (7) de mémoires tampons stockant des tables de transcodage de couleurs, le contenu de 'une de ces mémoires tampons étant transféré dans la mémoire de table de transcodage de couleurs (4), sur commande de l'utilisateur. 4. Utilisation du circuit de commande selon l'une quelconque des revendications précédentes dans une machine graphique interactive.