[0001] La présente invention concerne un procédé et un dispositif pour l'incrustation en
transparence d'images sur l'écran d'une console de visualisation, la console pouvant
être commandée par un processeur graphique.
[0002] Les consoles de visualisation commandées par processeurs graphiques comportent classiquement
une mémoire graphique à accès aléatoire interposée entre leur écran et leur processeur
pour mémoriser 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ées à 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 à modifier.
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. Un tel processeur est par exemple décrit dans
le brevet des Etats-Unis d'Amérique n° 4 682 297.
[0003] Cette organisation permet d'obtenir des images de synthèse où la couleur de chaque
point est définie à partir du mélange des trois couleurs fondamentales, rouge, verte,
bleue ou à partir des paramètres de luminance Y et de différences de couleur DR, DB
etc ... couramment utilisées pour définir les images en télévision.
[0004] La mémoire graphique est composée par un ensemble de registres ou plans de mémoire
contenant chacun des données de colorimétrie qui définissent la couleur de chaque
point de l'image et dans ce contexte trois plans de mémoire sont généralement utilisés.
Les processeurs graphiques possèdent également un registre qui permet de réaliser
pour chaque point, des masques pour l'écriture des données colorimétriques dans les
plans trichromes. La valeur du plan de masque est consultée avant l'écriture du point
pour donner l'autorisation ou l'interdiction d'écriture. Cela permet, pour superposer
une image à une autre selon un contour précis, de décrire la zone à transférer dans
le plan de masque. La fonction de transfert choisie recopie alors les valeurs colorimétriques,
rouge, vert, bleu, de chaque point de l'image à recopier pour les placer à la place
des valeurs rouge, verte bleue de l'image de fond. Dans certains cas également le
point écrit est une fonction des valeurs rouge, verte, bleue du point de fond qui
le remplace et de celle du point d'avant plan du graphique. Cependant, lorsque la
transition entre l'image incrustée et l'image de fond est trop brutale et donne lieu
à un résultat visuel qui nécessite une retouche de l'image, il se trouve que cette
retouche de l'image est entravée du fait que la fonction de transfert s'applique toujours
de façon globale de la même façon pour chacun des points de l'image à incruster et
qu'il n'est dès lors plus possible de faire varier cette fonction de transfert point
par point, si ce n'est pas tout ou rien.
[0005] Le but de l'invention est de pallier les inconvénients précités.
[0006] A cet effet, l'invention a pour objet un procédé pour l'incrustation en transparence
d'images sur l'écran d'une console de visualisation commandé par un processeur graphique
relié à une mémoire graphique comportant des plans de mémoires pour mémoriser respectivement
des attributs de luminance et de chrominance de chaque point de l'image susceptible
d'être représentée sur l'écran caractérisé en ce qu'il consiste à réserver dans la
mémoire graphique un plan de mémoire supplémentaire pour mémoriser des attributs de
transparence K affectables à chaque point d'image et permettre la modification de
chaque attribut de luminance et/ou de chrominance mémorisés dans la mémoire graphique
et relatif à chaque point de l'image en fonction de la valeur d'un attribut de transparence
qui lui est propre mémorisé dans la mémoire supplémentaire l'attribut de transparence
K étant modifiable à volonté pour obtenir des transitions graduelles des éléments
incrustés dans l'image.
[0007] Suivant une autre caractéristique du procédé selon l'invention la valeur de chaque
attribut est modifiable en fonction d'une valeur quelconque de l'attribut de transparence
prise entre deux seuils suivant une relation de la forme
où X
s et X
a sont des valeurs d'attribut prédéterminées de fond ou d'avant plan du graphique par
exemple.
[0008] L'invention a également pour objet un dispositif pour la mise en oeuvre du procédé
précité.
[0009] Le procédé et le dispositif selon l'invention ont pour principal avantage qu'ils
permettent, grâce à l'utilisation d'un attribut de transparence venant en supplément
des attributs trichromes, le masquage et le recouvrement en transparence de deux ou
plusieurs images. Des mélanges d'image peuvent dès lors être obtenus très simplement
en calculant pour chaque point la valeur de la fonction de mélange recherchée. Comme
l'écriture dans le plan de mémoire supplémentaire ne requiert pas d'autres fonctions
graphiques que celles qui sont déjà utilisées pour l'écriture des paramètres trichromes
dans les autres plans de la mémoire graphique, la mise en oeuvre de la fonction d'anticrénelage
qui permet d'effectuer des transitions agréables sur les bords des images à incruster,
est facilitée.
[0010] D'autre part, comme les fonctions de transparence peuvent s'appliquer sur tous les
attributs de la même façon, l'attribut de transparence peut lui aussi être un résultat
de l'application d'une fonction quelconque ayant par exemple les valeurs de transparence
des points d'avant plan et de fond de l'image comme paramètres pour donner un très
bon rendu de l'effet de transparence.
[0011] D'autres caractéristiques et avantages de l'invention apparaîtront ci-après 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 d'une incrustation d'image par éléments bloc superposés,
pour illustrer le type de défaut qui est lié à ce mode d'incrustation ;
- la figure 2 est une représentation d'une architecture d'un processeur graphique mettant
en oeuvre le procédé et le dispositif d'incrustation d'image selon l'invention ;
- la figure 3 est un exemple de réalisation du processeur de transparence représenté
à la figure 2 ;
- la figure 4 est une représentation du processeur d'autorisation d'écriture qui est
représenté à la figure 2.
[0012] Dans l'exemple d'incrustation d'image qui est représenté à la figure 1 un élément
d'image 1 représentant un abat-jour est placé derrière un autre élément d'image 2
représentant une fenêtre à barreaux 3, l'élément d'image 1 étant vu par transparence
au travers des parties transparentes (vitres) de l'élément d'image 2. L'ensemble des
éléments d'image 1 et 2 est incrusté sur un fond d'image 4. Avec les processeurs graphiques
classiques, les éléments d'image 1 et 2 sont transférés en bloc sur l'écran de visualisation,
les point d'image de l'élément d'image 1 venant se substituer aux points d'image correspondants
constituant le fond de la scène 4 puis l'aspect des points de l'image 1 (abat-jour)
correspondant au point du tracé de l'image 2 (fenêtre) sont alors tous modifiés pour
faire apparaître l'image 1 derrière la fenêtre 2. Dans cet exemple, l'effet de transparence
qui permet de voir des éléments de l'image 1 derrière les vitres et les barreaux 3
de la fenêtre est obtenu en effectuant un mélange de tous les points appartenant à
la fois au bloc formant l'image 1 et au bloc formant l'image 2 ; mais le résultat
de ce mélange fait apparaître des discontinuités dans l'aspect de certains tracés
communs aux deux blocs comme cela apparaît sur la figure 1 par la partie du barreau
3 traversant l'abat-jour. Le procédé et le dispositif selon l'invention résolvent
ce problème en appliquant les modifications non pas sur les ensembles de points définissant
des éléments d'image mais sur chacun des points de l'image en leur affectant une valeur
d'attribut supplémentaire, ce qui revient non pas à partager la mémoire graphique
suivant trois plans mémoires pour mémoriser séparément les valeurs d'attribut, du
rouge, du bleu ou du vert, mais à la partager en quatre plans formés des trois plans
précédents auxquels s'ajoute un quatrième plan pour mémoriser les attributs de transparence.
On définit ainsi pour chaque adresse XY dans l'image des valeurs d'attribut qui sont
définies par les relations suivantes
R
(xy) = f(R
(xy),R
(xi,yi),K
(xy),K
(xi,yi)) (1)
dans lesquels les valeurs (R,V,B,K)
xi,yi sont soit données par des valeurs de consigne correspondant aux couleurs de plume
ou de tracé choisies par l'opérateur placé devant la console de visualisation en fonction
de la fonction géométrique d'écriture souhaitée soit lues dans un plan quelconque
du plan d'image par exemple pour effectuer une recopie d'une zone de l'image dans
une autre, soit encore proviennent d'un autre fichier d'image ou partie d'image.
[0013] Naturellement, il peut exister un nombre très important de fonctions f et celles-ci
n'ont pas besoin d'être décrites en détails.
[0014] Cependant parmi celles-ci les fonctions f de la forme
où X(fond) désigne un attribut d'un pixel de fond et X(avant plan) désigne un attribut
d'un pixel d'avant plan dans l'image, présentent un certain intérêt, car elles permettent
d'appliquer au plan K de mémoire les algorithmes utilisés pour le filtrage anticrénelage
qui a pour but de rendre les transitions agréables sur les bords des parties d'images
incrustées, en lissant les contours ou les traits tracés dans la direction diagonale
de l'écran. Naturellement, dans la relation (5) les paramètres X (fond) et X (avant
plan) peuvent pour certaines autres applications être remplacées par d'autres valeurs
d'attributs X déterminées (X
s ou X
a) autres que celles qui sont liées au fond ou à l'avant plan de l'image.
[0015] Un exemple de réalisation d'un processeur graphique mettant en oeuvre le procédé
et le dispositif selon l'invention est représentée à la figure 2. Ce processeur comprend
un processeur géométrique 5 relié de façon connue à un clavier 6, à une consoie de
visualisation 7, à un fichier d'images 8, et à une mémoire graphique 9. Le dispositif
pour la mise en oeuvre de l'invention qui est représenté à l'intérieur d'une ligne
en pointillés 10, comprend un processeur de transparence 11 et un processeur d'autorisation
d'écriture 12. Le processeur de transparence 11 est relié, d'une part, au processeur
géométrique 5 au moyen d'un bus de données 13 et d'autre part, au processeur d'autorisation
d'écriture 12 au moyen d'un bus de données 14. Un bus 15 permet au processeur géométrique
5 d'appliquer des données de consigne au processeur d'autorisation d'écriture 12.
Le processeur de transparence 11 effectue les modifications d'attribut des pixels
de la mémoire graphique sous la commande du processeur géométrique 5 et les valeurs
d'attribut modifiées sont ensuite rangées par le processeur géométrique 5 à l'intérieur
de la mémoire graphique 9 par l'intermédiaire d'un bus de données et d'adresses 16
reliant la mémoire graphique 9 au processeur géométrique 5. Egalement un bus de données
17 assure le transport des attributs lus dans la mémoire graphique 9 par le processeur
géométrique 5 à destination de la console de visualisation 7. Le transport des données
et des instructions adressées par le clavier 6 à destination du processeur géométrique
5 est effectué sur un bus de données non référencé. Le fichier d'images 8 est également
relié au bus de données et d'adresses 16.
[0016] Un exemple de réalisation d'un processeur de transparence 11 pour le calcul des valeurs
d'attribut conformément à la relation (5) décrite précédemment est représenté à la
figure 3. Il se compose de quatre opérateurs, références respectivement de 11₁ à 11₄.
Ces opérateurs ont pour fonction de modifier suivant la relation (5) décrite précédemment
les attributs rouge, vert, bleu et de transparence de chaque pixel lu dans la mémoire
graphique 9. Comme les opérateurs 11₁ à 11₄ sont identiques seuls les éléments constituant
l'opérateur 11₁ plus spécialement dédié au traitement de l'attribut du rouge ont été
représentés à l'intérieur d'une ligne en pointillés. Ces éléments se composent de
trois registres 18, 19, 20, d'une mémoire morte programmable 21, de deux circuits
de multiplication 22 et 23, d'un circuit additionneur 24 et d'un registre 25. Les
registres 20 et 18 sont chargés par les valeurs d'attribut de rouge respectivement
de fond et d'avant plan fournies par le processeur géométrique 5 sur le bus de données
13. Le registre 19 contient la valeur de l'attribut de transparence K trouvé par le
processeur géométrique 5, dans le quatrième plan de mémoire, et ce registre sert de
registre d'adresse pour la mémoire morte 21. La mémoire morte 21 contient, sous une
forme de tables les valeurs 1-K correspondant aux valeurs K d'attribut de transparence
chargées par le processeur géométrique 5 à l'intérieur du registre 19. Chaque valeur
1-K lue dans la mémoire 21 est appliquée sur une première entrée d'opérande du circuit
de multiplication 23 dont la deuxième entrée d'opérande est reliée à la sortie du
registre 20. Dans le cas de opérateur 11₁, le circuit multiplication 23 effectue la
multiplication entre la valeur de l'attribut rouge, correspondant au fond de la scène,
lue dans le registre 20 avec le coefficient 1-K qui est lu dans la mémoire morte 21.
Le résultat de la multiplication est appliqué sur une première entrée d'opérande du
circuit additionneur 24. Le registre 19 est également relié à une première entrée
d'opérande du circuit de multiplication 22 dont la deuxième entrée d'opérande est
reliée au registre 18. Le circuit de multiplication 22 effectue la multiplication
entre les contenus des registres 19 et 18 comportant respectivement les valeurs de
K et de l'attribut rouge d'avant plan, pour appliquer ce résultat à la deuxième entrée
d'opérande du circuit additionneur 24. Les résultats de l'addition effectuée par le
circuit additionneur 24 sont transférés à l'intérieur du registre 25.
[0017] Pour faciliter la réalisation du processeur de transparence on pourra avantageusement
effectuer les calculs des valeurs d'attributs suivant un même nombre de bits.
[0018] Un mode de réalisation du processeur d'autorisation d'écriture est représenté à la
figure 4. Ce processeur effectue des comparaisons entre les valeurs des attributs
rouge, vert, bleu et de transparence K de l'élément d'image du fond et les valeurs
des attributs rouge, vert, bleu et K de consigne ou de l'élément d'image à écrire.
L'autorisation d'écriture se fait en spécifiant deux seuils C1 et C2. Pour ce faire
le processeur d'autorisation d'écriture comprend quatre blocs élémentaires de comparaison
référencés de 12₁ à 12₄ constitués d'éléments identiques et représentés pour l'élément
de comparaison 12₄ à l'intérieur d'une ligne en pointillés. Ceux-ci comprennent trois
comparateurs 26, 27, 28, reliés par leurs sorties à un circuit OU 29. Dans la représentation
de la figure 4 les comparateurs 26 et 27 comparent l'attribut de couleur rouge R fourni
par le processeur de transparence 11 à deux valeurs de seuil C1R et C2R. Le comparateur
28 compare l'attribut R de l'élément d'image à écrire à celui Rf correspondant de
l'image de fond. Les résultats des comparaisons effectuées par les comparateurs 26,
27 et 28 sont appliqués à l'entrée d'un circuit OU 29. Un circuit OU 30 a ses entrées
reliées respectivement aux sorties des circuits de comparaisons 12₁ et 12₄ et fournit
sur sa sortie le signal d'autorisation d'écriture qu'il applique sur l'entrée d'écriture
de la mémoire graphique 9.
1. Procédé pour l'incrustation en transparence d'images sur l'écran d'une console de
visualisatlon (7) commandé par un processeur graphique (5) relié à une mémoire graphique
(9) comportant des plans de mémoires pour mémoriser respectivement des attributs de
luminance et de chrominance de chaque point de l'image susceptible d'être représentée
sur l'écran caractérisé en ce qu'il consiste à réserver dans la mémoire graphique
(9) un plan de mémoire supplémentaire pour mémoriser des attributs de transparence
K affectables à chaque point d'image et permettre la modification de chaque attribut
de luminance et/ou de chrominance mémorisés dans la mémoire graphique et relatif à
chaque point de l'image en fonction de la valeur d'un attribut de transparence qui
lui est propre mémorisé dans la mémoire supplémentaire, l'attribut de transparence
K étant modifiable à volonté pour obtenir des transitions graduelles des éléments
incrustés dans l'image.
2. Procédé selon la revendication 1 caractérisé en ce que la valeur X de chaque attribut
de luminance et/ou de chrominance est modifiable en fonction d'une valeur quelconque
de l'attribut de transparence prise entre deux seuils suivant une relation de la forme
X
s et X
a étant deux valeurs d'attribut prédéterminées de fond et d'avant plan de l'image.
3. Procédé selon l'une quelconque des revendications 1 et 2 caractérisé en ce que les
valeurs d'attribut sont codées suivant un même nombre de bits.
4. Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications
2 à 3 caractérisé en ce qu'il comprend un processeur de transparence (11) couplé au
processeur graphique (5) pour modifier les valeurs d'attribut suivant la relation


, X
s et X
a étant deux valeurs d'attribut prédéterminées de fond et d'avant plan de l'image.
5. Dispositif selon la revendication 4 caractérisé en ce que le processeur de transparence
(11) comprend un ensemble de quatre opérateurs calculant respectivement les valeurs
d'attribut du rouge, du vert du bleu et la valeur du coefficient de transparence (K),
chaque opérateur comprenant une mémoire morte programmable (21) comportant une suite
de coefficients 1-K adressables par la valeur du coefficient d'attribut de transparence
(K), un premier circuit de multiplication (23) pour multiplier la valeur de l'attribut
à modifier par le coefficient 1-K trouvé dans la mémoire morte programmable (21),
un deuxième circuit de multiplication (22) pour effectuer la multiplication du coefficient
de l'attribut de transparence (K) par la valeur de l'attribut d'avant plan, un circuit
additionneur (24) pour effectuer l'addition des résultats de calcul fournis par le
premier circuit de multiplication (23) et le deuxième circuit de multiplication (22)
et fournir en sortie la valeur de l'attribut modifié.
1. Method for transparent overlay of images on the screen of a visual display console
(7) controlled by a graphics processor (5) linked to a graphics memory (9) including
memory planes for storing luminance and chrominance attributes respectively of each
point of the image capable of being represented on the screen, characterized in that
it consists in reserving a supplementary memory plane in the graphics memory (9) for
storing transparency attributes K assignable to each image point and allowing the
modification of each luminance and/or chrominance attribute stored in the graphics
memory and relating to each point of the image on the basis of the value of a transparency
attribute which is specific to it, stored in the supplementary memory, the transparency
attribute K being modifiable at will in order to obtain gradual transitions of the
overlaid elements in the image.
2. Method according to Claim 1, characterized in that the value X of each luminance and/or
chrominance attribute is modifiable on the basis of any value of the transparency
attribute taken between two thresholds, according to a relationship of the form
X
s and X
a being two predetermined attribute values of the background and foreground of the
image.
3. Method according to either of Claims 1 or 2, characterized in that the attribute values
are coded according to the same number of bits.
4. Device for implementing the method according to either of Claims 2 or 3, characterized
in that it comprises a transparency processor (11) coupled to the graphics processor
(5) for modifying the attribute values according to the relationship

, X
s and X
a being two predetermined attribute values of the background and foreground of the
image.
5. Device according to Claim 4, characterized in that the transparency processor (11)
comprises a set of four operators calculating the attribute values of the red, of
the green, of the blue and the value of the transparency coefficient (K) respectively,
each operator comprising a programmable read-only memory (21) including a series of
1-K coefficients addressable by the value of the transparency attribute coefficient
(K), a first multiplication circuit (23) for multiplying the value of the attribute
to be modified by the 1-K coefficient found in the programmable read-only memory (21),
a second multiplication circuit (22) for carrying out the multiplication of the coefficient
of the transparency attribute (K) by the value of the foreground attribute, an adder
circuit (24) for carrying out addition of the calculation results supplied by the
first multiplication circuit (23) and the second multiplication circuit (22) and supplying
the value of the modified attribute as output.
1. Verfahren zur transparenten Überblendung von Bildern auf den Bildschirm eines Sichtgeräts
(7), das von einem an einen Grafikspeicher (9) angeschlossenen Grafikprozessor (5)
gesteuert wird, wobei der Speicher Speicherebenen zur Speicherung der Helligkeits-
und Farbattribute jedes auf dem Bildschirm anzuzeigenden Bildpunkts enthält, dadurch
gekennzeichnet, daß im Grafikspeicher (9) eine zusätzliche Speicherebene der Speicherung
der jedem Bildpunkt zuzuordnenden Transparenzattribute K reserviert wird und jedes
Helligkeits- und/oder Farbattribut im Grafikspeicher und hinsichtlich jedes Bildpunkts
abhängig vom Wert eines Transparenzattributs verändert werden kann, das ihm eigen
und im zusätzlichen Speicher gespeichert ist, wobei das Transparenzattribut K frei
verändert werden kann, um stufenlose Übergänge der in das Bild eingeblendeten Elemente
zu erreichen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Wert X jedes Helligkeits-
und/oder Farbattributs abhängig von einem beliebigen Wert des Transparenzattributs
zwischen zwei Schwellen gemäß einer Beziehung der folgenden Form verändert werden
kann:
wobei X
s und X
a zwei vorbestimmte Attributwerte für den Hintergrund und den Vordergrund des Bilds
sind.
3. Verfahren nach einem beliebigen der Ansprüche 1 und 2, dadurch gekennzeichnet, daß
die Attributwerte mit gleicher Bit-Anzahl verschlüsselt sind.
4. Vorrichtung zur Durchführung des Verfahrens nach einem beliebigen der Ansprüche 2
und 3, dadurch gekennzeichnet, daß sie einen Transparenzprozessor (11) enthält, der
an den Grafikprozessor (5) gekoppelt ist, um die Attributwerte gemäß der Beziehung


zu verändern, wobei X
s und X
a zwei vorbestimmte Attributwerte für den Hintergrund und den Vordergrund des Bilds
sind.
5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß der Transparenzprozessor
(11) eine Gruppe von vier Operatoren enthält, die die Attributwerte für rot, grün,
blau und für den Transparenzkoeffizienten (K) berechnen, wobei jeder Operator einen
programmierbaren Festwertspeicher (21) enthält, der eine Folge von durch den Wert
des Transparenzattributkoeffizienten (K) adressierbaren Koeffizienten 1-K enthält,
wobei jeder Operator weiter einen ersten Multiplizierkreis (23) besitzt, um den zu
verändernden Attributwert mit dem Koeffizienten 1-K zu multiplizieren, der im programmierbaren
Festwertspeicher (21) liegt, einen zweiten Multiplizierkreis (22), um die Multiplikation
des Transparenzattributkoeffizienten (K) mit dem Wert des Vordergrundattributs durchzuführen,
und einen Addierkreis (24), um die Addition der vom ersten Multiplizierkreis (23)
und vom zweiten Multiplizierkreis (22) gelieferten Rechenergebnisse durchzuführen
und am Ausgang den veränderten Attributwert zu liefern.