[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 2
8 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
2
8 mots de couleurs associés à 2
8 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 2
8 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 2
8 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.
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.