Brevet FR2634296A1 — publié le 19900119

Procédé et dispositif pour l'incrustation en transparence d'hnimages sur l'écran d'une console de visualisation 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. 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. 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 à par- tir 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. 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..DTD: l'image et dans ce contexte trois plans de mémoire sont générale- ment utilisés. Les processeurs graphiques possèdent également un registre qui permet de réaliser pour chaque point, des mas- ques pour l'écriture des données calorimé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 égale- ment 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. Le but de l'invention est de palier les inconvénients précités. A cet effet, l'invention a pour objet un procédé pour l'incrustation en transparence d'images sur l'écran d'une con- sole 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. Suivant une autre caractéristique du procédé selon l'inven- tion 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) o Xset Xa sont des valeurs d'attribut prédéterminées, de fond ou d'avant plan du graphique par exemple. L'invention a également pour objet un dispositif pour la mise en oeuvre du procédé précité. 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 23 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. 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. D'autres caractéristiques et avantages de l'invention apparaitront 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'auto- risation d'écriture qui est représenté à la figure 2. Dans l'exemple d'incrustation d'image qui est représenté à la figure I 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 classi- ques, 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 consti- tuant 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 pro- blè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 graphi- que 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 aux- quels 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 rela- tions suivantes R f (RR K K (1) R(xy) =f(R(xy),R(xi,yi)' K(xy),K(xiyi) (1) V(xy) = f(V(xy), V(xi yi). K(xy) K(xi,yi (2)) B =f(BB K K (3) B(xy) = f(B(xy),B(xi,yi)' K(xy),K(xI,yi) K =XY)fz(K (XY), K(XI, y)"- (4) K(xy) = fa(K(xy), (xl,yi)) 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. 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. 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 applica- tions être remplacées par d'autres valeurs d'attributs X détermi- nées (Xs ou Xa) autres que celles qui sont liées au fond ou à l'avant plan de l'image. Un exemple de réalisation d'un processeur graphique met- tant en oeuvre le procédé et le dispositif selon l'invention est représentée à la figure 2. Ce processeur comprend un proces- seur géométrique 5 relié de façon connue à un clavier 6, à une console de visualisation 7, à un fich- 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 trans- parence Il 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 pro- cesseur 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 visua- lisation 7. Le transport des données et des instructions adres- sé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. Un exemple de réalisation d'un processeur de transparence 11 pour le calcul des valeurs d'attribut conformément à la rela- tion (5) décrite précédemment est représenté à la figure 3. Il se compose de quatre opérateurs, références respectivement de 111 à 114. 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 111 à 114 sont identiques seuls les éléments constituant l'opérateur 111 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 l'opérateur 111, 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. Pour faciliter la réalisation du processeur de transpa- rence on pourra avantageusement effectuer les calculs des va- leurs d'attributs suivant un même nombre de bits Un mode de réalisation du processeur d'autorisation d'écri- ture 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éci- fiant deux seuils C1 et C2. Pour se faire le processeur d'autori- sation d'écriture comprend quatre blocs élémentaires de comparai- son référencés de 121 à 124 constitués d'éléments identiques et représentés pour l'élément de comparaison 124 à l'intérieur d'une ligne en pointillés. Ceux-ci comprennent trois compara- teurs 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 121 et 124 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. REVENDICATIONS 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 transpa- rence 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) s a, 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 transpa- rence (K), un premier circuit de multiplication (22) pour multi- plier 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.