(19)
(11) EP 0 201 428 A1

(12) DEMANDE DE BREVET EUROPEEN

(43) Date de publication:
17.12.1986  Bulletin  1986/46

(21) Numéro de dépôt: 86400980.8

(22) Date de dépôt:  06.05.1986
(51) Int. Cl.4G09G 1/28
(84) Etats contractants désignés:
DE GB IT NL

(30) Priorité: 10.05.1985 FR 8507149

(71) Demandeur: THOMSON-CSF
75379 Paris Cédex 08 (FR)

(72) Inventeurs:
  • Ligocki, Philippe
    F-75008 Paris (FR)
  • Caignault, Dominique
    F-75008 Paris (FR)

(74) Mandataire: Lincot, Georges et al
THOMSON-CSF, SCPI, B.P. 329, 50, rue Jean-Pierre Timbaud
92402 Courbevoie Cédex
92402 Courbevoie Cédex (FR)


(56) Documents cités: : 
   
       


    (54) Circuit de commande pour machine graphique et utilisation d'un tel circuit dans une machine graphique interactive


    (57) Le circuit de commande pour machine graphique selon l'invention permet de coupler une mémoire d'image de grande capacité (1), organisée en plusieurs plans logiques constitués chacun de plusieurs plans de mémoire comportant chacun autant de bits que de points dans une image, à une mémoire de table de transcodage de couleurs (4) adressée par un bus d'adresses comportant moins de bits qu'il n'y a de plans dans la mémoire d'image. Pour cela, il comporte un circuit sélecteur de plans (3) reliant la mémoire d'image (1) à la mémoire de table de transcodage de couleurs (4), commandé par un registre (2) de commande de configuration. L'utilisateur peut sélectionner, à chaque balayage, ceux des plans de la mémoire d'image (1) qui seront utilisés pour définir l'aspect des points correspondants.
    L'invention s'applique aux machines graphiques à haut niveau d'interactivité.




    Description


    [0001] 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.

    [0002] 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 d'entrée-sortie, processeur graphique, générateur de vecteurs et de caractères, processeur de surfaçage, etc... Dans ces systèmes, l'image 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 numérique la couleur du point et éventuellement s'il clignote. A titre d'exemple l'image peut se composer de 1024 lignes de chacune 2048 points et être projetée sur l'écran d'un tube cathodique au moyen d'un balayage du type télévision, à 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 d'aspect est couplée à un poste de travail comportant un écran couleur par un circuit contrôleur de signaux vidéo couleur.

    [0003] Dans les terminaux de visualisation de conception simple, le mot d'aspect extraÍt 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, 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.

    [0004] Pour obtenir tout un jeu de palettes, un perfectionnement connu consiste à ajoindre une mémoire vive dite mémoire de table de transcodage de couleurs. Ainsi, au lieu du mot d'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 primaires 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 d'image.

    [0005] Dans un tel système, le format des mots d'aspect mis en mémoire dans la mémoire d'image 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 l'image.

    [0006] 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.

    [0007] Or, les machines graphiques permettant l'affichage d'images de synthèse doivent permettre de réaliser aussi rapidement que possible des modifications d'images, à la demande de l'utilisateur, ces modifications pouvant n'affecter qu'une partie de l'image.

    [0008] 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 d'aspect 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.

    [0009] Selon l'invention, un circuit de commande pour machine graphique, 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 synchronisme avec le balayage de l'écran,

    -un ensemble de conversion numérique-analogique 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 l'aspect 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.



    [0010] L'invention a également pour objet l'utilisation d'un tel circuit de commande dans une machine graphique.

    [0011] L'invention sera mieux comprise et d'autres caractéristiques apparaî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 l'invention.

    [0012] Comme indiqué succinctement ci-dessus, le perfectionnement selon l'invention, qui permet de contribuer à la construction d'une machine à haut niveau d'interactivité, autorise des modifications partielles de l'image lors d'un rafraîchissement d'image, par la modification de seulement 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 l'adressage de la mémoire de table de couleurs.

    [0013] 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 d'une superposition de plusieurs images élémentaires, chacune constituant un sous-ensemble de l'image définitive. Chaque image élémentaire 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 d'image pendant une durée où ils ne sont pas utilisés pour la constitution de l'image 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.

    [0014] Le résultat est bien sûr un allègement du temps de calcul des processeurs graphiques, particulièrement avantageux lorsque ces processeurs doivent servir plusieurs postes de travail et donc plusieurs mémoires d'image associées chacune à l'écran d'un poste de travail. Par ailleurs, il y a aussi un gain de temps pour l'utilisateur car une telle machine lui permet de sélectionner à son gré, dans une image formée de plusieurs plans superposés, 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...

    [0015] Le circuit de commande pour machine graphique représenté sur la figure comporte une mémoire d'image 1 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 = 1824 et M = 2048, correspondant à 1024 lignes de 2048 points de l'écran.

    [0016] Chaque point d'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électionner 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).

    [0017] 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 d'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 d'image, au plus 8 bits d'aspect et il les transmet pour l'adressage de la mémoire de table 4.

    [0018] Chacun des 28 mots de couleur stockés à une adresse de la mémoire de table 4 peut être constitué de 3 mots de 8 bits de données respectivement associés aux trois couleurs primàires 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 convertisseurs numériques-analogiques - (CNA), 51, 52, 53 dont les sorties fournissent les signaux analogiques R, V, B commandant les faisceaux rouge, vert et bleu d'un tube cathodique trichrome dans un dispositif de projection 6.

    [0019] Le circuit sélecteur de plans 3 comporte autant de sélecteurs d'un bit parmi n qu'il y a de bits d'adressage 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 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 d'un sélecteur ont leurs sorties reliées à un circuit logique OU à n' entrées et une sortie, qui fournit un bit de l'adresse de la mémoire de table 4.

    [0020] 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.

    [0021] 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.

    [0022] 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 d'une 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.

    [0023] 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".

    [0024] Puis d'autres éléments que l'on 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 d'image. 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, rêlatifs au temps de calcul nécessaire au rafraîchissement d'une image. Un point de l'é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.

    [0025] 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 l'exemple 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.

    [0026] Le transfert de l'une 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 l'image et fournis par l'ensemble 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 modifier l'aspect d'un point de l'écran d'une 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.

    [0027] 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 d'interaction entre la machine et l'utilisateur, par des commandes simples qui n'occupent pas de temps de calcul dans l'ensemble 10 calculateur et ressources graphiques commandant la machine.


    Revendications

    1. circuit de commande pour machine graphique, associé à une mémoire d'image (1) dans laquellel'aspect de chaque point d'image est codé sur plusieurs bits, comportant :

    -une mémoire de table de-transcodage dé 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'é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),

    caradtérisé en ce que le nombre de bits n codant l'aspect des points dans la mémoire d'image (1) est supérieur au nombre de bits n' d'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 table (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 à l'entrée de commande du circuit sélecteur (3) 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.


     
    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).
     
    3. Circuit de commande selon l'une des revendications 1 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 l'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.
     




    Dessins







    Rapport de recherche