[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.
[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 par tout ou rien.
[0005] Le but de l'invention est de palier 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ée par un processeur graphique
relié à une mémoire graphique comportant des plans de mémoire pour mémoriser respectivement
les attributs de luminance et de chrominance de chaque point de l'image susceptible
d'être représenté 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 affectés à chaque point de l'image et permettre la modification de l'ensemble
des valeurs d'attribut, dans la mémoire graphique et relatives à chaque point de l'image
à incruster en fonction de la valeur de son attribut de transparence mémorisée dans
le plan de mémoire supplémentaire.
[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
X = X
s.K + X
a(1-K)
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)
V
(xy) = f(V
(xy),V
(xi,yi),K
(xy),K
(xi,yi)) (2)
B
(xy) = f(B
(xy),B
(xi,yi),K
(xy),K
(xi,yi) (3)
K
(xy) = f²(K
(xy),K
(xi,yi)) (4)
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
X = X(fond).K+X(avant plan).(1-K) (5)
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étermi nées (X
s ou X
a) autres que celles qui sont liées au fond ou à l'avant plans 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 console 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é par le bus de données 18. 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 18 et 20 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 22 dont la deuxième entrée d'opérande est reliée à la sortie du
registre 18. Dans le cas de opérateur 11₁, le circuit multiplication 22 effectue la
multiplication entre la valeur de l'attribut rouge, correspondant au fond de la scène,
lue dans le registre 18 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 23 dont la deuxième entrée d'opérande est
reliée au registre 20. Le circuit de multiplication 23 effectue la multiplication
entre les contenus des registres 19 et 20 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 se 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. Le résultat 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 visualisation (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 l'ensemble des
valeurs d'attribut, mémorisées dans la mémoire graphique et relatives à chaque point
de l'image à incruster en fonction de la valeur de son attribut de transparence mémorisé
dans le plan de mémoire supplémentaire.
2. Procédé selon la revendication 1 caractérisé en ce que 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
X = Xs.K+Xa.(1-K)
Xs et Xa étant deux valeurs d'attribut prédéterminées.
3. Procédé selon la revendication 2 caractérisé en ce que les valeurs d'attribut Xs et Xa correspondent respectivement aux valeurs d'attribut des pixels de fond et d'avant
plan de l'image.
4. Procédé selon l'une quelconque des revendications 1 à 3 caractérisé en ce que les
valeurs d'attribut sont codées suivant un même nombre de bits.
5. Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications
1 à 4 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 = Xs.K+Xa.(1-K).
6. Dispositif selon la revendication 5 caractérisé en ce que le processus de transparence
(11) comprend un ensemble de quatre opérateurs calculant respectivement les valeurs
d'attri but du rouge, du vert, du bleu et de la valeur du coefficient de transparence
(K), chaque opérateur comprenant une mémoire morte programmable comportant une suite
de coefficients 1-K adressables par la valeur du coefficient d'attribut de transparence
(K), un premier circuit de multiplication (22) 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 (23) 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 (22) et le deuxième circuit de multiplication (23)
et fournir en sortie la valeur de l'attribut modifié.
7. Dispositif selon les revendications 5 et 6 caractérisé en ce qu'il comprend un
processeur d'autorisation d'écriture (12) couplé au processeur de transparence (11)
et à la mémoire graphique (9) pour fournir à la mémoire graphique un signal d'autorisation
d'écriture en fonction des valeurs des attributs rouge, vert, bleu et de transparence
K des éléments d'image, de fond, de seuil, et de consigne.