[0001] La présente invention concerne un dispositif pour modifier l'aspect des points d'une
image sur un écran d'une console de visualisation d'images graphiques, l'image étant
analysée suivant le principe d'analyse des images de télévision, et la console étant
commandée par un processeur graphique.
[0002] Les consoles de visualisation commandées par un processeur graphique comportent une
mémoire graphique à accès aléatoire interposée entre l'écran de la console et le processeur
qui mémorise les données relatives à chaque point ou "pixel" du graphique apparaissant
sur l'écran. La modification du graphique peut être obtenue à tout instant en changeant
le contenu des données relatives à chaque point du graphique mémorisé à l'intérieur
de la mémoire graphique, ce qui a pour effet d'agir sur la luminance et/ou la couleur
de chaque point ou pixel du graphique qui est à modifier. La modification est habituellement
effectuée par un opérateur qui introduit sur un clavier lié au processeur les instructions
qui permettent la modification des données relatives à chacun des points modifiés.
L'action de l'opérateur sur le clavier déclenche dans le processeur un cycle de modification,
qui est exécuté soit par le lancement d'un programme particulier soit par la mise
en action d'opérateurs logiques câblés.
[0003] Si les méthodes de programmation utilisées permettent d'effectuer à faible coût un
nombre très élevé et complexe d'opérations de remplacement, elles ont pour inconvénient
d'occuper beaucoup de temps de cycle de calcul du processeur. Par contre, l'utilisation
de logiques câblées permet de gagner en temps de traitement mais a pour inconvénient
d'être onéreuse et d'être limitée à l'utilisation d'opérateurs logiques élémentaires
ce qui réduit très nettement les possibilités des systèmes à logiques câblées.
[0004] Le but de l'invention est de pallier les inconvénients précités.
[0005] A cet effet, l'invention a pour objet, un dispositif pour modifier l'aspect d'une
image sur récran d'une console de visualisation d'images graphiques analysées suivant
le principe d'analyse des images de télévision commandée par un processeur graphique,
du type comprenant, une mémoire graphique de tous les points de l'écran interposée
entre l'écran de la console de visualisation et le processeur, la mémoire graphique
étant organisée en mots de n bits, chaque bit étant représentatif de l'état d'un point
de l'image et ayant une valeur 1 ou 0 suivant que le point qu'il représente sur l'image
est visible ou est confondu avec le fond de l'image et une mémoire d'attribut contenant
les attributs de chacun des points de l'image, caractérisé en ce qu'il comprend également
un décodeur pour sélectionner un bit dans chaque mot lu dans la mémoire graphique
et un circuit de modification relié au décodeur, à la mémoire d'attribut et au processeur
pour modifier chaque attribut du point correspondant au bit sélectionné à raide de
bits de modification fournis par le processeur et mémoriser chaque attribut modifié
à l'intérieur de la mémoire d'attribut, et un circuit de reformation couplé au circuit
de modification, au décodeur et à la mémoire graphique pour reconstituer le mot modifié
et le mémoriser à l'intérieur de la mémoire graphique.
[0006] Le dispositif selon l'invention a pour principal avantage qu'il permet d'optimiser
la durée des cycles de lecture, de modification et d'écriture de chaque point ou pixel
dont les données correspondantes sont mémorisées dans la mémoire graphique ainsi que
la gamme des opérations qui peuvent être effectuées à l'intérieur de ce cycle. En
offrant la possibilité de traiter en parallèle chaque mot contenu dans la mémoire
graphique avec chacun des attributs correspondants des points ou pixels, le dispositif
selon !'invention présente une grande souplesse de traitement, pratiquement identique
à celle que l'on obtient avec des systèmes à traitement purement logiciel tout en
permettant des traitements plus rapides.
[0007] 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 :
- la figure 1 est une représentation du dispositif selon l'invention ;
- la figure 2 est une représentation des diagrammes des temps du cycle de rafraichissement
de l'écran d'une console de visualisation balayé suivant le principe de balayage des
écrans de télévision, du cycle de lecture, de modification et d'écriture de la mémoire
graphique ainsi que du cycle d'accès direct DMA à la mémoire graphique ;
- la figure 3 est une représentation d'une organisation parallèle du dispositif de
la figure 1 permettant la modification en parallèle de l'ensemble des données relatives
aux points ou pixels de l'image d'un graphique contenus dans un mot de la mémoire
graphique.
[0008] Le dispositif 1 pour modifier l'aspect des points d'une image inscrite sur un écran
d'une console de visualisation selon l'invention est représenté sur la figure 1 à
l'intérieur d'une ligne en pointillées, 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 1 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 données lues dans la mémoire graphique 4 aux emplacements
de mémoire désignées 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 graphique 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 Pinter- mé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 d'adressage 8, sont appliqués parune
ligne de données 13 sur une première entrée d'un circuit de modification 14 au travers
du multiplexeur 11 et d'un décodeur 19 reliés en série. Le circuit de modification
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 dans le but, d'appliquer des données de modification
notées FM et PN sur les deuxième et troisième entrées du circuit de modification 14,
pour modifier les valeurs des attributs des points ou pixels PA lus dans la mémoire
d'attribut 12 et qui sont appliqués sur la première entrée du circuit de modification
14 par la ligne de données 13. La sortie du circuit de modification 14 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 modifié PM par le circuit de modification 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
Il. 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 Il 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
de modification 14 dans le but de modifier éventuellement leurs valeurs en fonction
des données de modification qui sont appliquées sur les deuxième et troisième entrée
du circuit de modification 14. Les bits non sélectionné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
l'information modifiée ou non fournie à la sortie du circuit de modification 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'ensemble. 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.
[0009] 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 fonctionnement 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 2. Les cycles
de la figure 2 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
de la mémoire graphique 4 et de la mémoire d'attribut 12. Sur la figure 2 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 fonctionnement
é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 et dans la mémoire
d'attribut 12 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 Il 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 de modification
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 de modification
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
de modification FM choisie par l'opérateur permettant ainsi l'exécution de 64 fonctions
de modification. 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 de
modification 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 de modification 14 et de la fonction de modification transmise également
sur la troisième entrée du circuit de modification 14 par le processeur 2. Cette transformation
est effectuée à l'aide de 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" contenant des tables de fonctions de modification
de l'aspect des points de l'image graphique adressés par le processeur 2 et par les
bits d'attribut PA de chaque mot sélectionné de la mémoire d'attribut, pour remplir
les multiples fonctions qui peuvent être données au circuit de modification, ces fonctions
pouvant être des fonctions logiques simples du type ET logique, OU logique, OU EXCLUSIF,
ou des fonctions plus compliquées permettant l'exécution, par exemple, d'interpolations
linéaires entre "pixels" anciens et "pixels" nouveaux, des opérations condition- nelles,
des opérations d'interpolation linéaires pour l'attribut de luminance d'un pixel en
fonction de l'adressage fractionnaire du pixel nouveau pour résoudre en particulier
les phénomènes d'aliasing connus des processeurs graphiques, ou encore pour exécuter
des contrôles de texture d'image en superposition etc...
[0010] L'invention qui vient d'être décrite à l'aide du mode de réalisation représenté à
la figure 1 n'est pas limitée à ce type de réalisation, il va de soi que d'autres
modes de réalisation sont également possibles sans pour autant sortir du cadre même
de l'invention, en particulier on concevra que l'invention s'applique également comme
dans l'exemple représenté à la figure 3, à la réalisation de dispositifs plus complexes
associant en parallèle le dispositif représenté à la figure 1 pour des versions de
l'invention requérant un traitement rapide. Le dispositif représenté à la figure 3
se compose de quatre dispositifs du type représenté à la figure 1 composés en particulier
respectivement de mémoires graphiques 4
. , 4
2, 4
3 et 4
4 et de 4 circuits de modification et reformation 29, 30, 31, 32 similaires à l'exemple
décrit à la figure 1 et qui permettent de traiter les pixels PIX 0, PIX
1 PIX-, PIX
3 consécutifs du mot de 16 pixels adressés dans les mémoires 4,...4
4. Le bus de données 15 agit sur les circuits de modification et reformation 29, 30,
31, 32 au travers d'un multiplexeur 28 qui dirige sur chacune des entrées des circuits
placés à l'intérieur des circuits 29, 30, 31, 32 la donnée de modification PN et la
fonction de modification FM. Cette organisation permet par exemple en mode de transfert
conditionnel de modifier tous les pixels de la mémoire graphique concuremment avec
la même fonction de modification FM appliquée sur chacun des circuits de modification
et reformation 29, 30, 31, 32 tandis qu'en mode graphique, par exemple, en mode de
trace de vecteurs, une seule fonction de modification FM correspondant au seul pixel
adressé est activé. La vitesse de transfert conditionnel se trouve dans ces conditions
très sensiblement accrue, en pratique il est possible avec une configuration parallèle
permettant de traiter par exemple huit pixels parallèlement, et d'obtenir un temps
d'accès équivalent à

soit : 150 nanosecondes par pixel, soit un temps de transfert conditionnel de l'ordre
de 80 millisecondes pour une image de 512 x 512 pixels.
1. Dispositif (1) pour modifier l'aspect des points d'une image sur un écran d'une
console de visualisation (3) d'images graphiques analysées suivant le principe d'analyse
des images de télévision commandée par un processeur graphique (2) du type comprenant,
une mémoire graphique (4) de tous les points de l'écran interposée entre l'écran et
la console de visualisation (3) et le processeur (2), la mémoire graphique (4) étant
organisée en mots de n bits, chaque bit étant représentatif de l'état d'un point de
l'image et ayant une valeur 1 ou 0 suivant que le point qu'il représente sur l'image
est visible ou est confondu avec le fond de l'image, et une mémoire d'attribut (12)
contenant les attributs de chacun des points de l'image, caractérisé en ce qu'il comprend
également un décodeur (19) pour sélectionner un bit dans chaque mot lu dans la mémoire
graphique (4) et un circuit de modification (14) relié au décodeur (19), à la mémoire
d'attribut (12) et au processeur (2) pour modifier chaque attribut du point correspondant
au bit sélectionné d'un mot à l'aide de bits de modification fournis par le processeur
(2) et mémoriser chaque attribut modifié à l'intérieur de la mémoire d'attribut (12),
et un circuit de reformation (17) couplé au circuit de modification (14), au décodeur
(19) et à la mémoire graphique (4) pour reconstituer le mot modifié et le mémoriser
à l'intérieur de la mémoire graphique.
2. Dispositif selon la revendication 1, caractérisé en ce que le circuit de modification
(14) est constitué par des mémoires programmables contenant des tables de fonction
de modification de l'aspect des points de l'image graphique, adressées par le processeur
graphique (2) et par les bits d'attribut de chaque mot sélectionné de la mémoire d'attribut
(12).
3. Dispositif selon l'une quelconque des revendications 1 et 2, caractérisé en ce
que les bits de modification et d'adressage des fonctions de modification sont engendrés
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 1 à 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écompose en un cycle de tecture 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 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 de modification sont des mémoires mortes électriquement
programmables.
8. Dispositif selon rune quelconque des revendications 2 à 6, caractérisé en ce que
les mémoires vives programmables du circuit de modification sont des mémoires vives.
9. Dispositif pour modifier l'aspect des points d'une image sur un écran d'une console
de visualisation (3) d'images graphiques analysées suivant le principe d'analyse des
images de télévision, commandé par un processeur graphique (2), caractérisé en ce
qu'il comprend plusieurs dispositifs selon rune quelconque des revendications 1 à
8 couplés en parallèle.
10. Dispositif selon la revendication 9, caractérisé en ce que le couplage des dispositifs
entre eux est obtenu à l'aide d'un circuit multiplexeur (28) qui dirige sur chaque
des entrées des circuits de modification, la donnée de modification et la fonction
de modification pour permettre la modification de tous les points de l'image graphique
avec la même fonction de modification.