Brevet FR2668276A1 — publié le 19920424

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 couleurs, en particulier sous "x-windows". Jusqu'à 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 2B couleurs.Classiquement chaque code Ci est associé à une couleur caractérisée par ses trois composantes Ri rouge,Vi vert, Bi 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éfini 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 grâce à 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 dues 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 remplaçant la palette de couleurs de base que si l'on demande l'affichage de l'image qui lui est associée. 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 graphismes (représentations, vecteur, couleurs de fond etc.) en dehors de l'image, ceux-ci perdant leurs couleurs d'origine. La présente invention concerne un procédé d'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 précités. Selon l'invention, le procédé d'exploitation de couleurs pour la représentation simultanée sur un écran d'une ou plusieurs images couleurs pouvant comporter du graphisme à l'aide d'une palette de couleurs unique rattachée à l'écran, est du type consistant à effectuer une correspondance entre une valeur numérique et un code couleur d'une LUT et est caractérisé en ce que - on décompose la palette en une première partie statique de taille paramétrable réservée au graphisme et une deuxième partie dynamique complémentaire réservée aux images, - on subdivise la deuxième partie de la palette en autant de plages de codes nécessaires à l'application, le nombre de plages nécessaires étant au plus égal au nombre d'images à représenter, - on attribue à chaque image une plage différente de codes de la palette, - on affiche les images, - pour chaque image on applique à la palette une application permettant de modifier les correspondances couleurs pour faire varier interactivement les couleurs affichées à l'écran pour chaque pixel. Préférentiellement les plages de codes attribuées à chacune des images sont de taille identique. 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. 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. D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description ci-après faite en référence aux figures annexées sur lequel figurent - une représentation schématique d'une palette de couleurs et son exploitation selon l'invention (figure 1), - une copie d'écran sur lequel sont visualisés, 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 (figure 2) - 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 classiques (figure 3). La palette de couleurs représentée schématiquement sur la figure 1 est constituée classiquement de 256 cellules de couleurs Ci, j variant de 0 à 255. L'opérateur travaillant à sa console fixe la grandeur JG de la première plage de couleurs G réservée au graphique en indiquant, par exemple, un nombre JG de cellules de couleur. Dans l'exemple schématisé, les trente et une cellules CO à C30 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 C31 à C255 étant réservées à la partie image I.Pour visualiser correctement deux images telles, par exemple, les images (1) et (2) sur la figure 2, l'opérateur doit fournir un autre indice Jiî, Il étant supérieur à G. La donnée de J11, 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, J11 = 130 de sorte que les cellules C31 à C130 sont réservées à une première image I1 et les cellules C131 à C255 sont réservées à une deuxième image I2. 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. La taille minimale d'une plage est de une cellule, ce qui permet potentiellement le balayage de 256 couleurs différentes. Sur la copie d'écran de la figure 2 sont visualisés 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 choisit de travailler sur cet intervalle de manière classique de façon à ne faire apparaître 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 la moins élevée et le moins foncé à la tranche de temps les plus élevés. 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. REVENDICATIONS 1 - Procédé d'exploitation de couleurs pour la représentation simultanée sur un écran d'une ou plusieurs images couleurs pouvant comporter du graphisme, à l'aide d'une palette de couleurs unique rattachée à l'écran, du type consistant à effectuer une correspondance entre une valeur numérique et un code couleur d'un LUT caractérisé en ce que - on décompose la palette en une première partie statique de taille parametrable réservée au graphisme et une deuxième partie dynamique complémentaire réservée aux images, - on subdivise la deuxième partie de la palette en autant de plage de codes nécessaires à l'application, - on attribue à chaque image une plage différente de codes de la palette - on affiche les images, - pour chaque image on applique à la palette une application permettant de modifier les correspondances couleurs pour faire varier interactivement les couleurs affichées à l'écran pour chaque pixel. 2 - Procédé selon la revendication 1 caractérisé en ce que les plages de codes attribuées à chacune des images sont de taille identique. 3 - Application du procédé selon l'une des revendications 1 ou 2 à la représentation simultanée d'une section sismique et de la carte d'isovaleurs associés à un des horizons pointé de la section.