(19)
(11) EP 0 351 269 B1

(12) FASCICULE DE BREVET EUROPEEN

(45) Mention de la délivrance du brevet:
16.03.1994  Bulletin  1994/11

(21) Numéro de dépôt: 89401787.0

(22) Date de dépôt:  23.06.1989
(51) Int. Cl.5G09G 1/28, G09G 5/00

(54)

Procédé et dispositif pour l'incrustation en transparence d'images sur l'écran d'une console de visualisation

Verfahren und Anordnung zur transparenten Bildeinblendung auf dem Bildschirm einer Sichtkonsole

Method and apparatus for transparent image overlay on the screen of a visual display console


(84) Etats contractants désignés:
DE GB

(30) Priorité: 13.07.1988 FR 8809551

(43) Date de publication de la demande:
17.01.1990  Bulletin  1990/03

(73) Titulaire: THOMSON VIDEO EQUIPEMENT
95800 Cergy-Saint-Christophe (FR)

(72) Inventeur:
  • Florant, Olivier
    F-92045 - Paris La Defense (FR)

(74) Mandataire: Lincot, Georges et al
THOMSON-CSF-S.C.P.I., 13, Avenue du Président Salvador Allende
94117 Arcueil Cédex
94117 Arcueil Cédex (FR)


(56) Documents cités: : 
EP-A- 0 231 061
US-A- 4 584 572
US-A- 4 149 152
US-A- 4 682 297
   
       
    Il est rappelé que: Dans un délai de neuf mois à compter de la date de publication de la mention de la délivrance de brevet européen, toute personne peut faire opposition au brevet européen délivré, auprès de l'Office européen des brevets. L'opposition doit être formée par écrit et motivée. Elle n'est réputée formée qu'après paiement de la taxe d'opposition. (Art. 99(1) Convention sur le brevet européen).


    Description


    [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ù Xs et Xa 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 (Xs ou Xa) 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.


    Revendications

    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





       Xs et Xa é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



    , Xs et Xa é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é.
     


    Claims

    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





       Xs and Xa 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

    , Xs and Xa 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.
     


    Ansprüche

    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 Xs und Xa 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 Xs und Xa 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.
     




    Dessins