[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 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, 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] On connaît par la demande de brevet européen n
° 0 061 213 un dispositif qui 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 sous-ensembles sont sélectionnés
dans un mot d'aspect au format nécessaire pour l'adressage, les bits non sélectionnés
étant mis à 0 par exemple. Les possibilités de choix dans la mémoire de table de couleur
sont limités par la taille du sous-ensemble de bits sélectionné.
[0009] Le perfectionnement objet de la présente invention est tel que les possibilités de
choix ne sont pas limitées, la taille de la mémoire d'images étant augmentée. Les
moyens de sélection sont alors commandés, d'une part, par la mémoire d'image qui stocke
des mots d'aspect ayant un format n supérieur au format n' du mot d'adressage de la
mémoire de table et, d'autre, par un mot de commande élaboré par utilisateur dans
un dialogue interactif avec la machine graphique comportant n-n' bits.
[0010] 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,
- des moyens de sélection permettant de ne transmettre à l'entrée de la mémoire de
table qu'une partie des bits du mot d'aspect,
- 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 les moyens de sélection comportent:
- n' circuits sélecteur, placé entre la mémoire d'image et la mémoire de table, ayant
chacun une entrée reliée à la sortie de la mémoire d'image par un bus à n bits, et
une sortie sur 1 bit et ayant une entrée de commande sur n bits,;
- un registre de commande de configuration, ayant une sortie sur non' bits reliée
à l'entrée de commande des circuits sélecteurs et commandant ces derniers 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.
[0011] L'invention a également pour objet l'utilisation d'un tel circuit de commande dans
une machine graphique.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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...
[0016] 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 = 1024 et M = 2048,
correspondant à 1024 lignes de 2048 points de l'écran.
[0017] 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).
[0018] 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 ni 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 à 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.
[0019] 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 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 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.
[0020] 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
ni = 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.
[0021] 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 di- fé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.
[0022] 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.
[0023] 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.
[0024] 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".
[0025] 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, relatifs
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.
[0026] 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. 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
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'é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 l'aspect des points dans la mémoire
d'image (1) est supérieur au nombre de bits ni 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 ni 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
IL 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
respec- tivement un bit d'aspect et un bit de la sortie du registre de commande (2), et
un circuit OU à 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.
1. A control circuit for a graphic machine associated to a picture memory (1) in which
the aspect of each picture spot is encoded by an aspect word having several bits,
this circuit comprising
- a colour transcoding table memory (4) containing colour words associated to a colour
palette, this memory being addressed for read-out purposes by the picture memory (1)
for each spot of the screen in a projection display device (6), the read-out of the
picture memory (1) being performed synchronously with the scanning of the screen,
- selection means allowing to transmit to the input of the table memory only a part
of the aspect word bits,
- a digital to analog conversion assembly (51, 52, 53) receiving colour words which
have been read out from the transcoding table memory (4), and supplying analog control
signals to the projection display device (6), characterized in that the number n of
bits for encoding the aspect of the spots in the picture memory (1) exceeds the number
n' of addressing bits for the table memory (4) and that the selection means (3) comprise
- n' selector circuits (31, 32, ...38) located between the picture memory (1) and
the table memory (4) and having each an input connected to the output of the picture
memory (1) via an n-bits bus and a one-bit output as well as an n-bits control input,
- a configuration control register (2), an output of which having n.n' bits is connected
to the control inputs of the selector circuits and controls the latters in such a
way that they select for each spot at each screen scan a subgroup comprising at most
n, bits out of the n bits used to encode the aspect of the spot.
2. A control circuit according to claim 1, characterized in that each selector circuit
(31, 32, 33,...38) comprises n AND gates receiving respectively an aspect word and
an output bit of the control register (2), and an OR circuit having n inputs and one
output supplying a bit for addressing the colour transcoding table memory (4).
3. A control circuit according to one of claims 1 and 2, characterized in that the
colour transcoding table memory (4) is associated to a group of buffer memories (7)
storing colour transcoding tables, the content of one of these buffer memories being
transferred to the colour transcoding table memory (4) under the user's control.
4. The use of the control circuit according to any one of the preceding claims in
an interactive graphic machine.
1. Steuerschaltung für eine graphische Maschine, die mit einem Bildspeicher (1) zusammenwirkt,
in dem der Aspekt jedes Bildpunkts durch ein mehrere Bits umfassendes Aspektwort kodiert
ist,
- mit einem Tabellenspeicher für die Farbtranskodierung (4), der einer Farbpalette
zugeordnete Farbwörter enthält und zum Auslesen für jeden Punkt des Bildschirms einer
Projektionseinrichtung (6) durch den Bildspeicher (1) adressiert wird, wobei das Auslesen
aus dem Bildspeicher (1) synchron mit der Strahlablenkung auf dem Bildschirm erfolgt,
- mit Auswahlmitteln, die es erlauben, an den Eingang des Tabellenspeichers nur einen
Teil des Bits des Aspektworts zu übertragen,
- mit einer Digital-Analog-Wandlergruppe (51, 52, 53), die aus dem Transkodiertabellenspeicher
(4) entnommene Farbwörter empfängt und analoge Steuersignale für die Projektionseinrichtung
(6) liefert, dadurch gekennzeichnet, daß die Anzahl n von Bits, mit denen der Aspekt
der Punkte im Bildspeicher (1) kodiert wird, größer als die Anzahl n' von Bits zur
Adressierung des Tabellenspeichers (4) ist, und daß Auswahlmittel (3) aufweisen
- n' Auswahlkreise (31, 32,...38), die zwischen dem Bildspeicher (1) und dem Tabellenspeicher
(4) liegen und je einen über eine Datenschiene von n Bits mit dem Ausgang des Bildspeichers
(1) verbundenen Eingang sowie einen Ausgang mit einem Bit und einen Steuereingang
mit n Bits besitzen,
- ein Konfigurationssteuerregister (2), dessen Ausgang mit n.n' Bits an die Steuereingänge
der Auswahlkreise angeschlossen ist und das diese so steuert, daß sie für jeden Punkt
bei jedem Überstreichen des Bildschirms eine Untergruppe mit höchstens n' Bits aus
den n Aspekt des Punkts kodierenden Bits auswählen.
2. Steuerkreis nach Anspruch 1, dadurch gekennzeichnet, daß jeder Auswahlkreis (31,
32, 33,...38) n UND-Tore, die je ein Aspektbit und ein Ausgangsbit des Steuerregisters
(2) zugeführt erhalten, sowie einen ODER-Kreis mit n Eingängen und einem Ausgang aufweist,
der ein Adressierbit für den Tabellenspeicher der Farbtranskodierung (4) liefert.
3. Steuerkreis nach einem der Ansprüche 1 und 2, dadurch gekennzeichnet, daß der Tabellenspeicher
für die Farbtranskodierung (4) einer Gruppe von Pufferspeichern (7) zugeordnet ist,
die Farbtranskodiertabellen speichern, wobei der Inhalt eines dieser Pufferspeicher
unter Steuerung durch den Benutzer in den Tabellenspeicher für die Farbtranskodierung
(4) übertragen wird.
4. Verwendung des Steuerkreises nach einem der vorhergehenden Ansprüche in einer interaktiven
graphischen Maschine.