FR2563025A1 - Dispositif pour l'obtention de traces continus sur l'ecran d'une console de visualisation commandee par un processeur graphique - Google Patents

Dispositif pour l'obtention de traces continus sur l'ecran d'une console de visualisation commandee par un processeur graphique Download PDF

Info

Publication number
FR2563025A1
FR2563025A1 FR8406053A FR8406053A FR2563025A1 FR 2563025 A1 FR2563025 A1 FR 2563025A1 FR 8406053 A FR8406053 A FR 8406053A FR 8406053 A FR8406053 A FR 8406053A FR 2563025 A1 FR2563025 A1 FR 2563025A1
Authority
FR
France
Prior art keywords
memory
attribute
points
modified
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8406053A
Other languages
English (en)
Other versions
FR2563025B1 (fr
Inventor
Luc Pham Van Cang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thomson CSF SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson CSF SA filed Critical Thomson CSF SA
Priority to FR8406053A priority Critical patent/FR2563025B1/fr
Priority to EP85400735A priority patent/EP0161176B1/fr
Priority to DE8585400735T priority patent/DE3564502D1/de
Priority to US06/723,276 priority patent/US4710764A/en
Publication of FR2563025A1 publication Critical patent/FR2563025A1/fr
Application granted granted Critical
Publication of FR2563025B1 publication Critical patent/FR2563025B1/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/30Control of display attribute
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/20Function-generator circuits, e.g. circle generators line or curve smoothing circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Abstract

LE DISPOSITIF SELON L'INVENTION COMPREND UNE MEMOIRE GRAPHIQUE 4 POUR MEMORISER SOUS UNE FORME BINAIRE LA MATRICE DE POINTS OU PIXELS REPRESENTANT L'IMAGE VISUALISES SUR L'ECRAN ET UNE MEMOIRE D'ATTRIBUT 12 CONTENANT LES ATTRIBUTS DE CHACUN DES POINTS DE L'IMAGE. UN CIRCUIT D'INTERPOLATION 14 CONTIENT UNE TABLE DE CALCUL DES ATTRIBUTS DES POINTS INTERMEDIAIRES ENTRE POINTS CONSECUTIFS DE LA MATRICE DE POINT. LA TABLE DU CIRCUIT D'INTERPOLATION EST ADRESSEE PAR LA VALEUR PRE-EXISTANTE PA DU PIXEL A MODIFIER TROUVEE DANS LA MEMOIRE D'ATTRIBUT POUR LA VALEUR NOUVELLE PN DE L'ATTRIBUT PIXELS A MODIFIER POUR LES FAIRE FIGURER SUR LE TRACE ET PAR UNE VALEUR D'INTERPOLATION F EGALE A LA PARTIE FRACTIONNAIRE DE LA POSITION DU POINT INTERMEDIAIRE A MODIFIER, CHAQUE EMPLACEMENT DE LA TABLE CONTIENT UNE VALEUR D'ATTRIBUT PM VERIFIANT LA RELATION: PM F.PA (1-F).PN LA VALEUR PM OBTENUE EST TRANSFEREE DANS LA MEMOIRE D'ATTRIBUT 12 POUR METTRE A JOUR LE CONTENU DE L'EMPLACEMENT CORRESPONDANT A L'ADRESSE DU POINT DU PIXEL MODIFIE. APPLICATION : PROCESSEURS GRAPHIQUES.

Description

Dispositif pour l'obtention de tracés continus sur l'écran d'une console
de visualisation commandée par un processeur graphique La présente invention concerne un dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation commandée par
un processeur graphique.
Les consoles de visualisation adaptées pour le tracé d'images graphique forment des images à partir d'une matrice ordonnée de points ou de pixels régulièrement répartis à la surface de l'écran et dont la pigmentation est déterminée en fonction du dessin ou du graphique qui est à exécuter. Cette matrice est généralement orthogonale et est constituée par M x N pixels ou points placés sur la surface de l'écran de la console aux intersections de M rangées et de N lignes. Le produit M x N représente le nombre total de pixels ou de points visibles sur l'écran de la console, de lui dépendent les performances du processeur. Dans les réalisations connues, les formats utilisés vont des matrices de points constitués de 512 par 512 à 1024 par 1024 points ou pixels. Ces images sont représentées sur les consoles de visualisation ou sur des moniteurs de télévision noir et blanc ou couleurs à l'aide d'un système d'analyse "colonne-ligne". Le mode de balayage de télévision par ligne et trame est apprécié dans ces dispositifs pour présenter de nombreux avantages. Cependant la structure échantillonnée de la mémoire graphique qui est interposée entre
la console de visualisation et le processeur provoque des défauts carac-
téristiques appelés globalement "défauts d'aliasing" dans la littérature anglo-saxonne qui se présentent soit sous la forme d'un crénelage visible sur les obliques et les courbes des tracés obtenus sur les écrans lorsque l'image est fixe, soit par la disparition ou l'apparition brutale de détails en
fonction d'un faible déplacement de l'image. Ces défauts sont principale-
ment dus à l'échantillonnage du signal aux points discrets de la mémoire
d'image interposée entre l'écran de la console et le processeur.
Dans les équipements graphiques de hautes performances ces défauts sont corrigés par diverses techniques consistant, par exemple, à augmenter la définition de l'image visualisée ou à augmenter la capacité de la mémoire graphique en groupant corrélativement chaque pixel ou point analysé avec ses points voisins, ou à compenser les arrondis de position du tracé par une variation de teinte du pixel entourant le tracé ou encore, en effectuant des traitements lors de la lecture de la mémoire graphique consistant à opérer des filtrages et des calculs d'interpolation sur les signaux lus dans la mémoire graphique. En fait, les procédés qui consistent à augmenter les définitions de l'image visualisée tendent à être remplacés par des procédés de traitement par filtrage et interpolation qui apparaissent nettement plus efficaces et moins coOteux. Ces méthodes de traitement ont toutefois pour inconvénient d'occuper beaucoup de temps de cycles de calcul des processeurs graphiques ce qui rend ces méthodes de tracé relativement lentes. Pour augmenter les vitesses de tracé, des logiques câblées sont utilisées pour remplacer les logiciels des processeurs graphiques mais ces logiques ont pour inconvénient d'être onéreuses et de
nécessiter encore, pour obtenir des corrections satisfaisantes, des traite-
ments intermédiaires en utilisant par exemple des mémoires caches, ces traitements étant exécutés à grande vitesse et à haute définition par échange de données entre la mémoire cache et le processeur avant que les
résultats soient inscrits dans la mémoire graphique.
Le but de l'invention est de pallier les inconvénients précités.
A cet effet, l'invention a pour objet, un dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation commandée par un processeur graphique, l'image étant constituée par une matrice ordonnée de points d'images ou pixels formés par M rangées de N points ou pixels balayés suivant le principe de balayage des images de télévision, le dispositif comprenant une mémoire graphique pour mémoriser sous une forme binaire l'image de la matrice des points visualisés sur l'écran et une mémoire d'attribut pour contenir les attributs de chacun des points de
l'image, caractérisé en ce qu'il comprend également une mémoire d'inter-
polation dans laquelle se trouve mémorisée une table de calcul des attributs des points intermédiaires entre points consécutifs de la matrice de points, la table du circuit d'interpolation étant adressée sur une première entrée par la valeur pré-existante PA du pixel à modifier trouvée dans la mémoire d'attribut, sur une deuxième entrée par la valeur nouvelle PN de l'attribut des pixels à modifier pour les faire figurer sur le tracé et sur une troisième entrée par une valeur d'interpolation F, calculée par le processeur, égale à la partie fractionnaire de la position du point intermédiaire à modifier, chaque emplacement de la table contenant une valeur d'attribut PM vérifiant la relation
PM = F.PA + (-F). PN
la valeur PM obtenue étant transférée dans la mémoire d'attribut pour mettre à jour le contenu de l'emplacement correspondant à l'adresse
du pixel modifié.
D'autres caractéristiques et avantages de l'invention apparaîtront
au cours de la description faite au regard des dessins annexés donnés
uniquement à titre d'exemple et dans lesquels: - les figures I à 3 sont les représentations des défauts de reconstitution de tracés sur des écrans de consoles graphiques engendrés par l'échantillonnage de points ou pixels de la matrice d'image enregistrés dans la mémoire graphique; - les figures 4 à 5 illustrent des procédés connus mis en oeuvre dans certains processeurs graphiques pour obtenir des tracés ne présentant pas de discontinuité; - la figure 6 est une représentation du dispositif selon l'invention pour obtenir des tracés sans discontinuités; - la figure 7 est une représentation des diagrammes des temps du cycle de rafraichissement de l'Pécran d'une console de visualisation balayé suivant le principe de balayage des écrans de télévision, du cycle de lecture, de modification ou d'écriture de la mémoire graphique ainsi que du cycle d'accès direct DMA à la mémoire graphique; - la figure 8 illustre la méthode d'interpolation linéaire mise en
oeuvre par l'invention pour corriger les discontinuités de tracés.
La théorie de l'information montre que l'échantillonnage d'un signal S(t) dépendant du temps, à une cadence Ci donne des défauts appelés globalement "défauts d'aliasing" si le spectre en fréquence du signal S(t) dépasse la moitié de la fréquence d'échantillonnage du signal d'échantillonnage. Ce défaut traduit le recouvrement entre la moitié supérieure du spectre du signal S(t) et la moitié inférieure lorsque ce C. dernier est replié autour de la fréquence - moitié de la fréquence Ci de
cadencement du signal d'échantillonnage.
Dans un espace à deux dimensions, les coordonnées X et Y échantillonnées et discrètes de la position de chaque point ou pixel d'une mémoire graphique organisée à la façon d'une matrice orthogonale ayant des colonnes et des lignes obéissent aux mêmes critères, à la différence toutefois que pour le signal graphique la variable se trouve située dans le domaine spatial et non pas dans le domaine temporel. Si le spectre spatial du signal graphique dépasse la demi fréquence spatiale d'échantillonnage les mêmes défauts "d'aliasing" se retrouvent pour les signaux graphiques
de la même façon que pour les signaux dépendant du temps.
A titre d'exemple, la figure I illustre les défauts de reconstitution
d'un signal sinusoidal A échantillonné. à des instants Tn à Tn+3 régulière-
ment espacés les uns des autres et le signal B reconstitué qui en résulte et qui apparait crénelé sous la forme de marches d'escalier, chaque palier
ayant une amplitude constante entre deux instants d'échantillonnage.
La figure 2 illustre les "défauts d'aliasing" spatiaux engendrés par des signaux d'échantillonnage à cadence fixe d'un signal rectangulaire S représentant la position d'un point sur un tracé qui est représenté à l'entrée d'une console graphique dont la mémoire est organisée suivant la forme cPd'une matrice de points. Suivant la position du signal S par rapport aux instants d'échantillonnage Tn et Tn+l on peut constater sur la figure 2 que ce signal est ou n'est pas mémorisé à l'intérieur de la mémoire. Dans le cas par exemple du signal S qui est représenté à la ligne F1 entre les instants d'échantillonnage Tn et Tn+i l'image de ce signal (ligne F2) n'est pas enregistrée dans la mémoire graphique puisque le point qu'elle représente est intermédiaire entre la position Pn et Pn+ l de la mémoire graphique correspondant aux instants cPd'échantillonnage Tn à Tn+l et que par conséquent ce signal ne peut être visualisé sur la console de
visualisation.
Une manière de remédier à ce défaut est représentée à la figure 3 et consiste à filtrer chaque signal d'entrée pour le transformer en un signal SF sur les graphes H1 à M1 avant de l'échantillonner pour l'inscrire dans la mémoire graphique. Les constantes de filtrage sont définies pour que, quelque soit la position du signal filtré par rapport aux instants d'échantillonnage Tn et Tn+ l' il y ait toujours un échantillon de signal qui puisse être mémorisé à l'intérieur de la mémoire graphique, on profite ensuite des constantes de réponse de l'écran qui opère un filtrage naturel, signal SV sur les graphes H2 à M2, sur la grandeur des échantillons restitués par la mémoire graphique. S'il est relativement simple de filtrer un signal dans le domaine temporel, le filtrage spatial qui vient d'être décrit est cependant plus complexe à réaliser et nécessite en particulier de multiples accès à la mémoire graphique dans la direction des lignes et des colonnes lorsque le filtrage mis en oeuvre est bidimensionnel. Les figures 4 et 5 illustrent un procédé moins compliqué et donnant de bons résultats qui est quelque fois employé pour obtenir des traces sans discontinuité sur un écran d'une console graphique de visualisation. La figure 4 montre une trace oblique dirigée selon la direction D obtenue en accolant deux mots M1 et M2 de sept pixels chacun, de même teinte T16, disposés respectivement sur les lignes Ln et Ln+l. La trace représentée montre une discontinuité au point 0 au passage de la ligne supérieure Ln à la ligne directement inférieure
Ln+. Pour remédier à cette difficulté les dispositifs connus de correc-
tion "d'anti-aliasing" opèrent suivant le principe représenté à la figure 5 qui montre la même trace que celle figurée à la figure 4 qui est obtenue, à la différence de ce qui est représenté à la figure 4, en corrigeant la teinte des pixels autour de la droite A de direction D. La teinte des pixels entourant la droite A de direction D est pondérée par une fonction d'interpolation qui a pour argument l'erreur de position de chaque pixel par rapport à la droite A de direction D. La perte de modulation est négligeable dans ce cas et est largement compensée par des contours plus nets. Ce procédé présente toutefois l'inconvénient de nécessiter l'emploi d'un logiciel ce qui pénalise la vitesse avec laquelle les tracés peuvent être effectués. Le procédé selon l'invention permet de remédier à ces difficultés et consiste à utiliser un dispositif câblé pour exécuter les fonctions d'interpolation linéaire nécessaires en cours de tracé pour supprimer les discontinuités, le principe de ces interpolations consistant à modifier chaque valeur pré-existante d'un pixel situé sur ou à proximité du tracé en fonction de la nouvelle valeur des pixels du tracé et de la
position du pixel par rapport à la direction du tracé.
6 3025
Le dispositif pour la mise en oeuvre du procédé selon l'invention est représenté à l'intérieur d'une ligne en pointillés 1. sur la figure 6. Le dispositif 1 est couplé entre un processeur 2 désigné par l'abréviation CPU qui est la contraction du terme anglo-saxon Central Processing Unit et une console de visualisation 3. Le dispositif 1 comprend une mémoire graphique 4 qui contient une représentation binaire matricielle de tous les points caractéristiques de l'image graphique qui est visualisée sur la console de visualisation 3, chaque bit d'information contenu dans la mémoire graphique 4 ayant, par exemple, la valeur 0 lorsqu'il correspond au fond uniforme du graphique et la valeur binaire I lorsqu'il correspond à un point ou pixel du graphique qui se détache sur le fond de celui-ci. La mémoire graphique est organisée en mots de n bits représentant l'état de n pixels, chaque mot étant adressé soit par le processeur 2 ou par la console de visualisation 3 par l'intermédiaire d'un circuit multiplexeur d'adresse 5 à deux entrées de multiplexage, une première entrée de multiplexage étant reliée par la ligne d'adresse 6 à la sortie d'adresse du processeur 2 et une deuxième entrée d'adresse étant reliée par la ligne d'adresse 7 à la sortie d'adresse de la console de visualisation 3. La sortie du multiplexeur d'adresse 5 est reliée aux entrées d'adressage de la mémoire graphique 4 au moyen de la
ligne d'adresse 8. Les mots lues dans la mémoire graphique 4 aux emplace-
ments de mémoire désignés par les mots d'adresse appliqués sur la ligne d'adresse 8 sont appliquées respectivement aux entrées d'un registre parallèle-série 10 et aux entrées d'un circuit multiplexeur 11. Le dispositif 1 comprend également une mémoire d'attribut 12 formée éventuellement par p plans de mémoires supplémentaires de la mémoire graphique 4 qui contient les attributs codés sur p bits respectifs à chacun des n pixels
représentés dans chaque mot de n bits contenus dans la mémoire graphi-
que 4, cette mémoire d'attribut 12 étant adressée simultanément à la mémoire graphique 4 par la ligne d'adresse 8. Les mots lus dans la mémoire graphique et dans la mémoire d'attribut 12 sont appliqués aux
circuits non représentés de la console de visualisation 3, par l'intermé-
diaire du registre 10, pour permettre la visualisation des pixels qu'ils représentent par la console de visualisation. Les mots d'attribut PA de chaque pixel, adressés par chacun des mots d'adresse appliqués sur la ligne
63025
d'adressage 8, sont appliqués par une ligne de données 13, sur une première entrée d'un circuit d'interpolation 14 au travers du multiplexeur Il et d'un décodeur 19 reliés en série. Le circuit d'interpolation 14 est relié par des deuxième et troisième entrées aux sorties de données du processeur 2 au moyen d'une ligne de données 15. Les données de modification notées FM et PN sont appliquées par la ligne de donnée 15 sur les deuxième et troisième entrées du circuit d'interpolation 14, pour modifier les valeurs des attributs PA appliqués sur la première entrée du circuit d'interpolation 14 par la ligne de données 13. La sortie du circuit d'interpolationl4 est reliée par une ligne de donnée 16 à une entrée de donnée d'un circuit de reformation 17 pour enregistrer chaque attribut PM modifié par le circuit d'interpolation 14 à l'emplacement qu'il occupe dans la mémoire d'attribut 12. Le circuit de reformation 17 est également relié par une deuxième entrée, au moyen de la ligne 18, à la sortie du décodeur 19 adressé par la ligne d'adresse 8 et relié par son entrée à la sortie du multiplexeur 11. Le décodeur 19 adressé par la ligne d'adresse 8 a pour but de sélectionner, à -l'intérieur du mot de n bits appliqué à l'entrée du multiplexeur 11 chaque bit désigné par le mot d'adresse appliqué sur son entrée et le mot d'attribut PA codé sur p bits qui lui correspond. Le bit représentatif du pixel sélectionné et son attribut PA sont appliqués respectivement à une quatrième entrée et à la première entrée du circuit d'interpolation 14 dans le but de modifier éventuellement leurs valeurs en fonction des données d'interpolation qui sont appliquées sur les deuxième
et troisième entrées du circuit d'interpolation 14. Les bits non sélection-
nés par le décodeur 19 sont appliqués par la ligne 18 à l'entrée du circuit de reformation 17 qui reforme, en fonction de Pinformation modifiée ou non fournie à la sortie du circuit d'interpolation 14, un nouveau mot binaire qui est appliqué à l'entrée d'un circuit démultiplexeur d'écriture 20 au moyen d'une ligne de données 21 pour écrire le mot éventuellement modifié et les attributs correspondants aux adresses qu'ils occupent
normalement dans la mémoire graphique 4 et la mémoire d'attribut 12.
Les données de modification de chacun des mots contenus dans la mémoire graphique 4 et la mémoire d'attribut 12 sont introduites à partir d'un clavier 22 qui est relié au processeur 2 par l'intermédiaire de la ligne de liaison 23. Une mémoire de masse 24 est éventuellement couplée par une ligne 25 au processeur 18 pour transférer à l'intérieur du processeur 2
les instructions de programme nécessaires au fonctionnement de l'ensem-
ble. Le processeur 2 est également relié à une mémoire vive MMU 26 chargée de mémoriser en cours de fonctionnement les instructions et les données introduites à partir du clavier 22 ou de la mémoire de masse 24. La mémoire graphique selon l'invention est à double accès par partage de cycle. Un premier cycle est réservé au fonctionnement de la
console de visualisation 3, un deuxième cycle est réservé au fonctionne-
ment du processus de modification contrôlé par le processeur 2, ce cycle de modification étant caractérisé par un cycle de lecture, un cycle de modification et un cycle de ré-écriture des informations modifiées dans la mémoire graphique et un troisième cycle de lecture directe de la mémoire graphique, l'ensemble de ces cycles étant représenté par le diagramme des temps de la figure 7. Les cycles de la figure -7 sont exécutés par le processeur 2 qui applique des signaux de commande sur le bus de commande 27 pour rafraichir les points ou pixels du graphique visualisés sur l'écran de la console de visualisation et commander les cycles de lecture et d'écriture des différents plans de la mémoire graphique 4 qui contiennent les attributs 12 de chaque pixel et qui constituent la mémoire d'attribut 12. Sur la figure 7 le cycle de rafraichissement, marqué "VISU", de la console de visualisation est représenté avec une durée T sur une période de 2T, le cycle de lecture L des informations contenues dans la mémoire graphique 4 et dans la mémoire d'attribut 12 est représenté entrelacé pendant une durée T en dehors de la durée de rafraichissement de la console de visualisation 3 sur une période de durée 4T, le cycle de modification M suit le cycle de lecture L avec une même durée T et une même période égale de durée 4T, le cycle d'écriture E suit le cycle de modification M avec une même durée T durant une période égale à 4T et le cycle d'accès direct à la mémoire graphique et à la mémoire d'attribut a lieu pendant une durée T entre les instants de rafraichissement de la console de visualisation 3. A titre d'exemple, ce mode de partage de cycles peut être avantageusement utilisé pour la visualisation de mots de 16 pixels pendant une durée de 1184 nanosecondes et l'exécution de cycles de lecture-modification-écriture de deux fois 1184 nanosecondes par pixel
ou point à modifier ce qui permet, de couvrir des plages de fonctionne-
2 5 6 3 0 2 5
ment élevées, par exemple, un traitement de 720 points d'image ou pixels par ligne de balayage sur 576 lignes en respectant les normes CCIR du balayage de télévision à 625 lignes, le débit de la console de visualisation correspondant dans ce cas au standard de télévision numérique de 13,5 MHZ pour 25 image/seconde et la durée de cycle T étant voisine de 400 nanosecondes. Ces résultats sont obtenus en organisant par exemple la mémoire graphique en mots de 16 pixels et la mémoire d'attribut 12 en mots d'attribut de 3 bits, chacun des mots étant adressé par le processeur 2 par les bits d'adresse appliqués sur le bus d'adresse 8. Chaque mot lu dans la mémoire graphique 4 est appliqué à l'entrée du multiplexeur 11. La place d'un bit dans le mot correspondant au point ou pixel à modifier est sélectionnée par le multiplexeur 11 et le décodeur 19 à partir des quatre bits de poids faible du mot d'adresse en même temps que 3 bits d'attribut correspondants sont adressés dans la mémoire d'attribut 12 par le bus d'adresse 8. Les bits du mot non désignés par le multiplexeur 11 et le décodeur 19 sont dirigés directement vers les entrées du dispositif de reformation du mot 17 tandis que le bit sélectionné est pris en compte par le circuit d'interpolation 14. Les 3 bits d'attribut lus dans la mémoire d'attribut 12 correspondant au point ou au pixel à modifier sont appliqués sur la première entrée du circuit d'interpolation 14 pendant que le processeur 2 applique simultanément par la ligne de données 15,4 bits de modification PN en même temps que 6 bits de fonction correspondant à la
fonction d'interpolation FM choisie par l'opérateur permettant ainsi l'exé-
cution de 64 fonctions d'interpolation. Le bit du mot mémoire sélectionné et l'attribut correspondant sont modifiés pour former un mot PM sur 4 bits qui est obtenu à la sortie du circuit d'interpolation 14 qui est fonction de la valeur 0 ou 1 du bit du point ou du pixel à modifier lu dans la mémoire graphique 4, de l'attribut correspondant lu dans la mémoire d'attribut 12, des données de modification PN fournies par le processeur 2 à l'entrée du circuit d'interpolation 14 et de la fonction d'interpolation transmise également sur la troisième entrée du circuit d'interpolation 14 par le
processeur 2.
Pour des commodités de réalisation le circuit d'interpolation est constitué par des mémoires mortes électriquement programmables du type connu sous la désignation anglo saxonne "EPROM" ou des mémoires vives du type connu sous la désignation anglo saxonne "RAM" qui contiennent en mémoire des tables de fonction de modification de la
teinte des points de l'image pour la mise en oeuvre du procédé d'interpola-
tion selon l'invention. A chaque modification de pixel ces tables sont
adressées par les bits du mrot PA lu dans la mémoire d'attribut représen-
tant la valeur pré-existante du pixel modifié, par la nouvelle valeur PN du pixel que l'on cherche à obtenir pour les points appartenant au tracé et par une valeur d'interpolation qui représente une valeur intermédiaire
d'adresse entre deux pixels adjacents de la matrice d'image pour per-
mettre la détermination de la teinte des points de l'écran situés dans
l'espace intermédiaire entre la position des pixels de la matrice d'image.
Le procédé d'interpolation est inscrit dans un programme d'interpolation qui est exécuté par le processeur 2 et dont les étapes peuvent être exécutées de la façon suivante:
Dans une première étape le processeur 2 calcule l'adresse frac-
tionnaire correspondant à la position du pixel à modifier à l'intérieur des points de la matrice d'image, cette adresse étant déterminée en nombre F de pas d'interpolation dans les directions horizontale et verticale de l'image compris entre deux pixels Pn et Pn+l successifs de la matrice d'image à la manière représentée à la figure 8. A titre d'exemple trois bits
fractionnaires pourront être utilisés pour adresser les points intermé-
diaires situés entre deux pixels de la matrice d'image ce qui correspond à huit pas d'interpolation successifs. Le procédé consiste ensuite à calculer dans une deuxième étape la valeur PM du pixel ou point correspondant à l'adresse fractionnaire calculée suivant la relation PM = F. PA + (i-F). PN Ce procédé peut s'appliquer à l'exécution de tracés quelconques sur l'écran de la console de visualisation, ces tracés pouvant être obtenus à partir, par exemple, du tracé de plusieurs vecteurs successifs reliant des
points de coordonnées bien définies sur l'écran.
Ce procédé a l'avantage d'être simple à mettre en oeuvre car le tracé d'un vecteur reliant deux points rapprochés de coordonnées (X0, Y0) et (X1 et Y1) de l'écran situés aux axes orthonormés X et Y n'exige l'écriture que de quelques lignes de programme. En adoptant les notations DX = X -X0 et DY= Y1 - Y0 avec DX> O et DY> 0 et en supposant que la position de deux points est telle que les valeurs absolues | DX[ et | DY des écarts DX et DY vérifient entre elles les relations il I DX > DY \ l'exécution du programme est assurée dans une première phase par le calcul de l'incrément qu'il faut donner dans la direction verticale de l'écran (axe Y) à chaque pas d'incrémentation exécuté dans la direction horizontale (axe X). Cette première phase de calcul est suivie par une deuxième phase d'initialisation et une troisième phase d'exécution, l'ensemble de ces trois phases exigeant la suite des instructions suivantes: Calcul de l'incrément DY1 = DY/DX<X= 0 Initialisation DY0 = 0 X= XO Début: X = X+ 1 DY0 = DY0 + DYI: F = PARTIE FRACTIONNAIRE de DY0 (3 bits)
Y = Y0 + PARTIE ENTIERE DY0
DY0 = DYO - PARTIE ENTIERE DY0
ECRIRE X,Y,F
ECRIRE X,Y+1, (l-F) Si X) XI OU Y> YI FIN, SINON DEBUT
PROCEDURE ECRIRE X,Y,F (LOGICIEL CABLE)
PN = NOUVEAU ATTRIBUT (fourni par le C.P.U.) PA = ANCIEN ATTRIBUT (fourni par la Mémoire) PM=FxPA+(1 -F) PN
ECRIRE PM
Naturellement l'exécution du procédé selon rinvention n'est pas limitée au programme de tracé de vecteurs qui vient d'être décrit ni au format des bits d'attribut et pixels qui peut comporter un nombre très étendu de bits. Au niveau de la programmation l'homme de l'art pourra concevoir très facilement d'autres programmes de tracés pour permettre l'exécution d'arcs de cercles, d'ellipses ou de courbes paramétriques interpolées en utilisant des fonctions du type BSPLINE ou BEZIERS sans
pour autant s'écarter du procédé d'interpolation selon l'invention. Egale-
ment comme le procédé "anti-aliasing" décrit ci-dessus repose sur la valeur en amplitude du pixel, il est évident que les résultats corrects ne pourront être obtenus que si l'attribut défini par exemple sur quatre bits peut décrire les seize couleurs d'un pixel à l'intérieur d'une palette à définir par une autre table de couleurs. Le processus "anti- aliasing" qui vient d'être décrit ne concerne en fait que les systèmes sur lesquels au moins trois bits d'attributs ou pixels sont réservés à l'intensité lumineuse ce qui les différencie des systèmes à quatre bits ne disposant que d'un seul bit d'intensité. On conçoit que le procédé "anti-aliasing" de l'invention ne devient réellement performant lorsque les attributs sont définis sur des longueurs supérieures à quatre bits et plus typiquement pour des systèmes
o l'attribut comporte huit bits et plus.

Claims (8)

REVENDICATIONS
1. Dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation (3) commandée par un processeur graphique (2) l'image étant constituée par une matrice ordonnée de points d'images ou pixels formés par M rangées de N points ou pixels balayés suivant le principe de balayage des images de télévision, le dispositif comprenant une mémoire graphique (4) pour mémoriser sous une forme binaire l'image de la matrice des points visualisés sur l'écran et une mémoire d'attribut
(12) pour contenir les attributs de chacun des points de l'image, caracté-
risé en ce qu'il comprend également un circuit d'interpolation (14) dans lequel se trouve mémorisée une table de calcul des attributs des points intermédiaires entre points consécutifs de la matrice de points, la table du circuit d'interpolation étant adressée sur une première entrée par la valeur pré-existante PA du pixel à modifier trouvée dans la mémoire d'attribut, sur une deuxième entrée par la valeur nouvelle PN de l'attribut des pixels à modifier pour les faire figurer sur le tracé et sur une
troisième entrée par une valeur d'interpolation F calculée par le proces-
seur égale à la partie fractionnaire de la position du point intermédiaire à modifier, chaque emplacement de la table contenant une valeur d'attribut PM vérifiant la relation
PM = F. PA + (1-F). PN
la valeur PM obtenue étant transférée dans la mémoire d'attribut (12) pour mettre à jour le contenu de l'emplacement correspondant à
l'adresse du point ou pixel modifié.
2. Dispositif selon la revendication 1, caractérisé en ce que le
circuit d'interpolation est constitué par au moins une mémoire program-
mable pour contenir la table du circuit d'interpolation, la mémoire étant adressée par le processeur graphique (2) et par les bits d'attribut de
chaque mot d'attribut sélectionné dans la mémoire d'attribut (12).
3. Dispositif selon l'une quelconque des revendications 1 et 2,
caractérisé en ce que le circuit d'interpolation est commandé par le processeur graphique (2) à partir d'instructions entrées dans le processeur
(2) à partir d'un clavier (22).
4. Dispositif selon l'une quelconque des revendications i à 3,
caractérisé en ce que la mémoire graphique (4) est adressée d'une part par la console de visualisation et d'autre part par le processeur graphique (2) au travers un multiplexeur d'adresse commandé par le processeur pour partager les cycles d'accès à la mémoire graphique initialisés par la
console de visualisation (3) et le processeur (2).
5. Dispositif selon la revendication 4, caractérisé en ce que la
mémoire graphique (4) est organisée en mots de longueur fixe.
6. Dispositif selon les revendications 4 et 5, caractérisé en ce que
le cycle d'accès du processeur (2) à la mémoire graphique (4) se décom-
pose en un cycle de lecture de chaque mot dans lequel se trouve le bit d'un point d'image à modifier, et du mot d'attribut correspondant dans la mémoire d'attribut (12), suivi par un cycle, de modification du bit du point correspondant à modifier, identifié à l'intérieur du mot lu dans la mémoire graphique, et de modification du mot d'attribut lu dans la mémoire d'attribut (12), également suivi par un cycle de ré-écriture du mot contenant le bit modifié dans la mémoire graphique (4) et de ré- écriture
du mot d'attribut modifié dans la mémoire d'attribut (12).
7. Dispositif selon l'une quelconque des revendications 2 à 6,
caractérisé en ce que les mémoires programmables du circuit d'interpola-
tion (14) sont des mémoires mortes électriquement programmables.
8. Dispositif selon l'une quelconque des revendications 2 à 6,
caractérisé en ce que les mémoires programmables du circuit d'interpola-
tion (14) sont des mémoires vives.
FR8406053A 1984-04-17 1984-04-17 Dispositif pour l'obtention de traces continus sur l'ecran d'une console de visualisation commandee par un processeur graphique Expired FR2563025B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR8406053A FR2563025B1 (fr) 1984-04-17 1984-04-17 Dispositif pour l'obtention de traces continus sur l'ecran d'une console de visualisation commandee par un processeur graphique
EP85400735A EP0161176B1 (fr) 1984-04-17 1985-04-12 Dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation commandée par un processeur graphique
DE8585400735T DE3564502D1 (en) 1984-04-17 1985-04-12 Device for obtaining continuous traces on a display screen controlled by a graphical processor
US06/723,276 US4710764A (en) 1984-04-17 1985-04-15 Device for obtaining continuous plots on the screen of a display console controlled by a graphic processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8406053A FR2563025B1 (fr) 1984-04-17 1984-04-17 Dispositif pour l'obtention de traces continus sur l'ecran d'une console de visualisation commandee par un processeur graphique

Publications (2)

Publication Number Publication Date
FR2563025A1 true FR2563025A1 (fr) 1985-10-18
FR2563025B1 FR2563025B1 (fr) 1986-05-30

Family

ID=9303226

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8406053A Expired FR2563025B1 (fr) 1984-04-17 1984-04-17 Dispositif pour l'obtention de traces continus sur l'ecran d'une console de visualisation commandee par un processeur graphique

Country Status (4)

Country Link
US (1) US4710764A (fr)
EP (1) EP0161176B1 (fr)
DE (1) DE3564502D1 (fr)
FR (1) FR2563025B1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4823281A (en) * 1985-04-30 1989-04-18 Ibm Corporation Color graphic processor for performing logical operations
US4914426A (en) * 1987-08-04 1990-04-03 High Resolution Sciences, Inc. Sinusoidally modulated dot-matrix data display system
US5131080A (en) * 1987-08-18 1992-07-14 Hewlett-Packard Company Graphics frame buffer with RGB pixel cache
FR2644960B1 (fr) * 1989-03-21 1991-05-31 Thomson Consumer Electronics Dispositif de detection de fin de connexion a un programme payant recu par un poste d'abonne via un reseau de teledistribution interactive
US5041848A (en) * 1989-11-13 1991-08-20 Gilbert John M Non-gary scale anti-aliasing method for laser printers
US5122884A (en) * 1989-11-13 1992-06-16 Lasermaster Corporation Line rasterization technique for a non-gray scale anti-aliasing method for laser printers
US5182778A (en) * 1990-08-31 1993-01-26 Eastman Kodak Company Dot-matrix video enhancement for optical character recognition
JP2002298574A (ja) * 2001-03-29 2002-10-11 Internatl Business Mach Corp <Ibm> Dram及びdramのリフレッシュ方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4303986A (en) * 1979-01-09 1981-12-01 Hakan Lans Data processing system and apparatus for color graphics display
EP0092973A2 (fr) * 1982-04-23 1983-11-02 Texas Instruments Incorporated Dispositif pour la résolution de graphiques

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4396912A (en) * 1981-08-17 1983-08-02 Hewlett-Packard Company Method and means for point connecting with a differential integrator dot connector circuit
US4489389A (en) * 1981-10-02 1984-12-18 Harris Corporation Real time video perspective digital map display
JPS5875192A (ja) * 1981-10-29 1983-05-06 日本電信電話株式会社 表示装置のスム−ジング回路
US4532503A (en) * 1982-11-08 1985-07-30 International Business Machines Corporation Sequence controlled pixel configuration
US4586037A (en) * 1983-03-07 1986-04-29 Tektronix, Inc. Raster display smooth line generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4303986A (en) * 1979-01-09 1981-12-01 Hakan Lans Data processing system and apparatus for color graphics display
EP0092973A2 (fr) * 1982-04-23 1983-11-02 Texas Instruments Incorporated Dispositif pour la résolution de graphiques

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WESCON CONFERENCE RECORD, vol. 25, septembre 1981, pages 31/5 (1-10), El Segundo, CA, US; J.L. WISE et al.: "Color graphics with an advanced LSI controller" *

Also Published As

Publication number Publication date
DE3564502D1 (en) 1988-09-22
EP0161176B1 (fr) 1988-08-17
EP0161176A1 (fr) 1985-11-13
FR2563025B1 (fr) 1986-05-30
US4710764A (en) 1987-12-01

Similar Documents

Publication Publication Date Title
US11514563B2 (en) Infrared resolution and contrast enhancement with fusion
US5748178A (en) Digital video system and methods for efficient rendering of superimposed vector graphics
US5966116A (en) Method and logic system for the rotation of raster-scan display images
EP0211770B1 (fr) Dispositif de transformation séquentielle d&#39;image
FR2580840A1 (fr) Poste d&#39;affichage graphique video et systeme de traitement de donnees graphiques pour poste de travail de conception assistee par ordinateur
FR2690770A1 (fr) Système et procédé de visualisation pour jeux vidéo.
FR2599873A1 (fr) Systeme d&#39;affichage video
US7660486B2 (en) Method and apparatus of removing opaque area as rescaling an image
EP0685829A1 (fr) Appareil de filtrage vertical pour affichage à balayage de trame
JPS61230477A (ja) 画像変換装置
JPH10105723A (ja) テクスチャ・マッピングのメモリ構成
JPH0668676B2 (ja) Crtデイスプレイの画像品質を向上させる方法
JPS61279982A (ja) ビデオ画像作成方法および装置
FR2617307A1 (fr) Microcalculateur comportant des possibilites d&#39;adressage perfectionnees
US5434593A (en) Display resolution enhancement using data compression and overlapping techniques
EP0161176B1 (fr) Dispositif pour l&#39;obtention de tracés continus sur l&#39;écran d&#39;une console de visualisation commandée par un processeur graphique
WO2004095376A2 (fr) Placage de relief efficace effectue au moyen de cartes de hauteur
US4899295A (en) Video signal processing
FR2554948A1 (fr) Procedes et appareils de codage et d&#39;affectation d&#39;emplacements de memoire pour affichage d&#39;images traitees numeriquement
FR2571576A1 (fr) Appareil pour creer des images video
JP4903212B2 (ja) ダイナミックフィルタを伴う全スクリーンアンチエイリアシング
FR2588405A1 (fr) Dispositif d&#39;affichage graphique
EP0161175B1 (fr) Dispositif pour modifier l&#39;aspect des points d&#39;une image sur un écran d&#39;une console de visualisation d&#39;images graphiques
EP0108674A1 (fr) Terminal graphique à mémoire de points muni d&#39;un système d&#39;écriture en mémoire d&#39;image de signaux de texture d&#39;image
FR2571571A1 (fr) Procede d&#39;elaboration d&#39;images video synthetiques en vue d&#39;une visualisation en temps reel et a haute densite d&#39;information et dispositif utilisant ce procede