[0001] La présente invention concerne un procédé d'exploitation des couleurs sur écran d'ordinateur
permettant la visualisation simultanée de graphismes et d'images couleur, en particulier
sous "X-windows".
[0002] Jusqu'a ces dernières années la philosophie pour les applications effectuées à l'aide
d'un ordinateur et comportant des sorties graphiques était de réserver un écran graphique
pour la visualisation des sorties de l'application et d'utiliser un terminal alpha-numérique
pour le dialogue homme-machine. Avec l'avènement du multifenêtrage (X-windows) tout
peut être géré sur un même écran et il devient possible de faire effectuer en même
temps plusieurs applications avec un seul et même écran. Les images tracées par l'application
dans une mémoire sont composées de points élémentaires (pixels) auxquels sont attribués
des codes de couleurs définis avec un nombre B de bits permettant de définir 2
B couleurs. Classiquement chaque code C
i est associé à une couleur caractérisée par ses trois composantes R
i rouge,V
i vert, B
i bleu, grâce à une correspondance établie dans une table encore appelée palette de
couleurs (ou LUT ou Look up Table, table des fausses couleurs, colormap...) rattachée
à l'écran. Le contenu de la palette de couleurs définit une fonction de transfert
entre les codes et les couleurs. L'utilisation de la palette de couleurs en sortie
mémoire définit une architecture de mémoire permettant la représentation d'image avec
une capacité mémoire réduite. Elle permet en outre, de modifier rapidement, interactivement
et indépendamment de l'image, sans changement du contenu de la table ou réécriture
complète de la mémoire image, les correspondances entre les codes et les couleurs.
Cette modification interactive de la répartition des couleurs dans la table s'effectue
grace à une application particulière permettant de modifier la fonction de transfert.
Des risques de conflits existent alors au moment de l'affichage sur écran de sorties
graphiques des différentes applications. Ces conflits se traduisent par une mauvaise
qualité des sorties graphiques et sont dus au fait qu'une adéquation satisfaisante
entre une seule palette de couleurs et plusieurs sorties, pouvant être de caractères
très différents, est difficile à réaliser. Il a déjà été proposé, pour résoudre ce
problème, de définir une palette de couleurs pour chaque image envoyée à l'écran,
chacune des palettes de couleurs associée à chacune des images ne devenant active
et ne remplaçant la palette de couleurs de base que si l'on demande l'affichage de
l'image qui lui est associée.
[0003] Cette technique toutefois ne permet pas la visualisation correcte simultanée de deux
images sauf si ces deux images sont associées à la même palette de couleurs. D'autre
part toutes les couleurs disponibles pour l'écran sont monopolisées par l'image visualisée
:ceci a pour effet et inconvénient de rendre incohérent tous les graphismes (représentations,
vecteur, couleurs de fond, etc.) en dehors de l'image, ceux-ci perdant leur couleurs
d'origine.
[0004] Une technique connue (EP-A-0210423) permettant d'afficher simultanément des images
en couleur sur un écran, consiste à écrire des images d'entrée quantifiées dans une
mémoire tampon d'images et à accéder à une palette de couleurs par les contenus de
ladite mémoire tampon. La palette de couleurs est divisée en une première partie ou
zone partagée, mémorisant les couleurs utilisées en commun par une pluralité d'images
en couleur à afficher simultanément, et une deuxième partie subdivisée en une pluralité
de zones particulière mémorisant chacune les couleurs propres à l'une des images en
couleur à afficher. Les images affichées simultanément sur l'écran ont des couleurs
résultant de l'association de couleurs communes aux diverses images et mémorisées
dans la première partie de la palette de couleurs et de couleurs propres mémorisées,
pour chaque image, dans la zone de la deuxième partie de la palette de couleurs qui
est attribuée à l'image considérée.
[0005] On connaît également (EP-A-0202426) une technique d'affichage. numérique utilisant
une mémoire tampon de régénération adressable en tous points pour piloter un affichage
par balayage de trame à travers une palette de couleurs. L'affichage peut être divisé
en plusieurs zones (par exemple en quatre zones), chacune correspondant à une zone
spécifique de codes couleurs de la palette de couleurs.
[0006] La présente invention concerne une exploitation des couleurs permettant la visualisation
simultanée sur un même écran de graphisme en mode vecteur et d'images en couleurs
tout en évitant les inconvénients mentionnés plus haut.
[0007] Plus précisément, l'invention a pour objet un procédé d'exploitation de couleurs
pour la représentation simultanée d'une ou plusieurs images couleurs pouvant comporter
du graphisme sur un écran auquel est rattachée une palette de couleurs unique, en
effectuant une correspondance entre des valeurs numériques et des codes couleurs de
la palette de couleurs, dans lequel on décompose la palette de couleurs en une première
partie définissant une première plage de codes couleurs et une deuxième partie complémentaire
de la première partie et subdivisée en un nombre de plages secondaires de codes couleurs
au plus égal au nombre d'images à représenter, on attribue aux images des plages de
codes de la palette de couleurs et on affiche les images sur l'écran à travers les
plages de codes appropriées de la palette de couleurs, ledit procédé se caractérisant
en ce que la première partie de la palette de couleurs est une partie statique, de
taille paramétrable, réservée exclusivement à la visualisation du graphisme, en ce
que l'on attribue à chacune des images à visualiser une seule plage de codes couleurs
choisie parmi les différentes plages secondaires dont l'ensemble constitue la deuxième
partie de la palette de couleurs, laquelle deuxième partie est une partie dynamique,
et en ce que, pour chaque image, on applique à la palette de couleurs une application
modifiant les correspondances couleurs pour faire varier intéractivement les couleurs
affichées à l'écran pour chaque pixel de l'image.
[0008] Préférentiellement les plages de codes attribuées à chacune des images sont de taille
identique.
[0009] Le procédé selon l'invention est particulièrement intéressant appliqué au domaine
de la sismique pour la représentation simultanée d'une section sismique et de la carte
d'isovaleurs associée à un des horizons pointé de la section.
[0010] Le procédé selon l'invention permet de n'utiliser qu'une seule palette de couleurs
pour l'écran. La réservation d'une première plage de couleurs pour le graphisme permet
de visualiser du graphisme sans perturbation des images. La décomposition éventuelle
de la seconde plage en différents intervalles permet de visualiser simultanément des
images différentes ayant chacune leurs codes couleurs associés.
[0011] D'autres caractéristiques et avantages de la présente invention apparaltront plus
clairement à la lecture de la description ci-après faite en référence au dessin annexé
sur lequel :
- la figure 1 est une représentation schématique d'une palette de couleurs et son exploitation
selon l'invention,
- la figure 2 représente une copie d'écran sur lequel sont visualisées, simultanément
et avec des palettes parfaitement adaptées gérées par le procédé de l'invention, deux
sorties différentes du domaine de la sismique à savoir une portion de section sismique
sur laquelle un horizon sismique particulier a été pointé et la carte d'isochrones
correspondant à cet horizon particulier,
- la figure 3 représente la copie d'écran pour les mêmes applications et sorties que
celles représentées sur la figure 2, avec un procédé de gestion de palette de couleurs
classique.
[0012] La palette de couleurs représentée schématiquement sur la figure 1 est constituée
classiquement de 256 cellules de couleurs Cj, j variant de 0 à 255. L'opérateur travaillant
à sa console fixe la grandeur J
G de la première plage de couleurs G réservée au graphique en indiquant, par exemple,
un nombre J
G de cellules de couleur. Dans l'exemple schématisé, les trente et une cellules C
o à C₃₀ sont réservées au graphique, (c'est à dire, par exemple, les indications du
genre de celles référencées (3) sur les figures 2 et 3), les cellules C₃₁ à C₂₅₅ étant
réservées à la partie image I. Pour visualiser correctement deux images telles que,
par exemple, les images (1) et (2) sur la figure 2, l'opérateur doit fournir un autre
indice J
I1, I₁ étant supérieur à G. La donnée de J
I1, a pour conséquence de différencier deux plages complémentaires de codes. Dans l'exemple
de palette de couleurs schématisée sur la figure 1, J
I1 = 130 de sorte que les cellules C₃₁ à C₁₃₀ sont réservées à une première image I₁
et les cellules C₁₃₁ à C₂₅₅ sont réservées à une deuxième image I₂.
[0013] En envoyant une image sur l'écran, il faut donc indiquer la plage de la palette que
l'on veut utiliser soit en indiquant ses bornes soit en adoptant une convention particulière.
Les tailles des plages peuvent être fixes ou fixées automatiquement. Ainsi un exemple
de convention simple fiable consiste à caractériser une plage image par un nombre
N donnant le nombre de plages de taille égale formant la partition de la seconde partie
I de la palette et un nombre M variant de 1 à N permettant de définir précisément
la plage à utiliser dans cette partition. Dans chacune des plages ainsi définie, on
peut manipuler classiquement les couleurs : chargement de palettes pré-définies, déformation
des ces palettes pré-définies (contraction, inversion...), masques, définition d'un
nouvel ensemble de couleurs mieux adapté à l'image en cours de visualisation et sauvegarde
sur disque par exemple.
[0014] La taille minimale d'une plage est de une cellule, ce qui permet potentiellement
le balayage de 256 couleurs différentes.
[0015] Sur la copie d'écran de la figure 2 sont visualisées deux images (1) et (2) ainsi
que du graphique (3), (4) apparaissant en surimpression sur l'image (1). Le graphique
est représenté avec une seule et même couleur. L'image (1) représente une section
sismique en aire variable en noir et blanc. La grandeur représentée est une amplitude
pouvant varier entre - 32.000 et + 32.000 en fonction d'un temps T et d'une distance
X, cette tranche de valeurs constituant une épure à laquelle on a fait ici correspondre
les cellules 31 à 130 de la palette de couleurs de base. On a choisi de travailler
sur cet intervalle de manière classique de façon à ne faire apparaltre que du noir
et du blanc (on applique une fonction en escalier à la fonction de transfert), de
sorte que les amplitudes négatives soient représentées en noir et les amplitudes positives
en blanc, ce qui est la représentation usuelle d'une section sismique. L'image (2)
sur la figure 2 représente la carte d'isochrones associée à l'horizon (4) apparaissant
sur l'image (1). La valeur représentée est un temps en fonction d'une distance X et
d'une distance Y. La correspondance est ici faite entre une plage de temps comprise
entre 1.100 à 2.500ms et les cellules 131 à 255. La fonction appliquée est linéaire
de sorte que chaque ton de gris (correspondant chacun à une couleur) est associé à
une tranche donnée de temps, le ton le plus foncé correspondant à la tranche de temps
les moins élevés et le moins foncé à la tranche de temps les plus élevés.
[0016] La figure 3 permet de mesurer l'intérêt du procédé selon l'invention. Ici la partie
de la palette de couleurs réservée à l'image n'a pas été décomposée en deux plages
de sorte que la palette de couleurs utilisée est une correspondance entre une épure
de valeurs variant entre - 32.000 et + 32.000 et les cellules C31 à C255. Il n'est
pas possible avec une seule palette d'avoir simultanément sur l'écran une image satisfaisante
de la section sismique qui nécessite une fonction en escalier et une image satisfaisante
de la carte qui nécessite une fonction linéaire. L'opérateur sera alors amené à éclairer
soit l'une des deux images appelées sur écran, soit l'autre de ces deux images.
1. Procédé d'exploitation de couleurs pour la représentation simultanée d'une ou plusieurs
images couleurs pouvant comporter du graphisme sur un écran auquel est rattachée une
palette de couleurs unique, en effectuant une correspondance entre des valeurs numériques
et des codes couleurs de la palette de couleurs, dans lequel on décompose la palette
de couleurs en une première partie définissant une première plage de codes couleurs
et une deuxième partie complémentaire de la première partie et subdivisée en un nombre
de plages secondaires de codes couleurs au plus égal au nombre d'images à représenter,
on attribue aux images des plages de codes de la palette de couleurs et on affiche
les images sur l'écran à travers les plages de codes appropriées de la palette de
couleurs, ledit procédé se caractérisant en ce que la première partie de la palette
de couleurs est une partie statique, de taille paramétrable, réservée exclusivement
à la visualisation du graphisme, en ce que l'on attribue à chacune des images à visualiser
une seule plage de codes couleurs choisie parmi les différentes plages secondaires
dont l'ensemble constitue la deuxième partie de la palette de couleurs, laquelle deuxième
partie est une partie dynamique, et en ce que, pour chaque image, on applique à la
palette de couleurs une application modifiant les correspondances couleurs pour faire
varier intéractivement les couleurs affichées à l'écran pour chaque pixel de l'image.
2. Procédé selon la revendication 1, caractérisé en ce que les plages de codes attribuées
à chacune des images à visualiser sont de tailles identiques.
3. Application du procédé selon la revendication 1 ou 2 à la représentation simultanée
d'une section sismique et d'une carte d'isovaleurs associée à l'un des horizons pointés
de ladite section.
1. Verfahren zur Farberzeugung für die gleichzeitige Darstellung eines oder mehrerer
farbiger Bilder, die eine Graphik enthalten können, auf einem Bildschirm, an den nur
eine einzige Farbenpalette angeschlossen ist, indem eine Entsprechung zwischen numerischen
Werten und Farbkodes der Farbenpalette hergestellt wird, bei welchem
- die Farbenpalette in einen ersten Teil, der einen ersten Bereich von Farbkodes definiert,
und einen zweiten Teil unterteilt wird, der zu dem ersten Teil komplementär und in
eine Anzahl sekundärer Bereiche von Farbkodes unterteilt ist, die höchstens so groß
ist wie die Anzahl der darzustellenden Bilder,
- den Bildern Kodebereiche der Farbenpalette zugeordnet werden und
- die Bilder auf dem Bildschirm durch die geeigneten Kodebereiche der Farbenpalette
angezeigt werden,
wobei das Verfahren dadurch gekennzeichnet ist, daß
- der erste Teil der Farbenpalette ein statischer Teil von parametrierbarer Größe
ist, der ausschließlich für die optische Darstellung der Graphik reserviert ist,
- jedem der optisch darzustellenden Bilder ein einziger Bereich von Farbkodes zugeordnet
wird, der aus den verschiedenen sekundären Bereichen ausgewählt wird, deren Gesamtheit
den zweiten Teil der Farbenpalette bildet, wobei der zweite Teil ein dynamischer Teil
ist, und
- für jedes Bild an der Farbenpalette eine Anwendung durchgeführt wird, die die Farbentsprechungen
modifiziert, um zu bewirken, daß die auf dem Bildschirm angezeigten Farben für jedes
Pixel des Bildes interaktiv variieren.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Kodebereiche, die jedem
der darzustellenden Bilder zugeordnet werden, von identischer Größe sind.
3. Anwendung des Verfahrens nach Anspruch 1 oder 2 auf die gleichzeitige Darstellung
eines seismischen Abschnitts und einer Karte mit Isowerten, die einem der angezielten
Horizonte des Abschnitts zugeordnet ist.
1. Method of using colours for the simultaneous display of one or more colour images,
which may be graphics, on a screen to which there is attached a single colour palette,
by effecting a correspondence between numeric values and colour codes of the colour
palette, in which the colour palette is broken down into a first part defining a first
range of colour codes and a second part which is complementary to the first part and
is subdivided into a number of secondary ranges of colour codes at most equal to the
number of images to be displayed, ranges of codes of the colour palette are allocated
to the images and the images are displayed on the screen through the appropriate ranges
of codes of the colour palette, said method being characterised in that the first
part of the colour palette is a static part, of parametrizable size, reserved exclusively
for the visualisation of graphics; in that there is allocated, to each of the images
to be visualised, a single range of colours selected from among the different-secondary
ranges, which together constitute the second part of the colour palette, which second
part is a dynamic part, and in that, for each image, there is applied to the colour
palette an application which modifies the corresponding colours to vary, interactively,
the colours displayed on the screen for each pixel of the image.
2. Method according to Claim 1, characterised in that the ranges of codes which are allocated
to each of the images to be visualised are of identical size.
3. Application of the process according to Claim 1 or 2 to the simultaneous display of
a seismic section and a contour map associated with one of the plotted horizons of
said section.