Brevet FR2668637A1 — publié le 19920430

La présente invention se rapporte à un procédé d'exploitation des couleurs sur écran d'ordinateur particulièrement bien adapté aux images dont le contenu est cyclique en particulier fonction d'un angle. Il est usuel pour les applications effectuées à l'aide d'un ordinateur et comportant des sorties graphiques de réserver un écran graphique pour la visualisation des sorties de l'application et d'utiliser un terminal alphanumérique pour le dialogue homme-machine. 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, B étant communément égal à 8. 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é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. Il est usuel en outre, avec ce type d'architecture, 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. Cette application permet d'effectuer un balayage de l'image affichée à l'écran avec de différentes couleurs successives de la palette et de visualiser ainsi des jeux successifs d'une même information présentée différemment pour mieux faire ressortir une information telle l'indication d'une saturation, d'un filtre visuel, etc... Les fonctions de modification de fonction de transfert sont des applications, au sens mathématique, d'un ensemble de 2B éléments (les Ci) à 2B éléments (les C'i). Les fonctions communément utilisées sont des fonctions affines ou juxtaposition de portions de fonctions affines sur des domaines jointifs, qui permettent par exemple de simuler des contractions, dilatations, une inversion, une répétition de la fonction de transfert de base originale ou encore de simuler l'extinction de certaines couleurs ou plages de couleurs tout en respectant l'ordre des couleurs sur lesdits domaines. Ces fonctions toutefois sont mal adaptées à la représentation d'images dont le contenu est une grandeur cyclique et en particulier un angle. Pour de telles images, l'obtention de jeux de représentations couleurs différentes nécessite des manipulations spéciales de la palette, voire l'utilisation d'une seconde palette spécifique ne permettant pas l'interactivité, pour que en particulier l'angle e = et l'angle e = 3600 soient représentés de façon similaire (sinon l'interprétation peut être faussée) et que l'utilisation de filtre passe bande incluant l'angle nul ne pose pas de problème particulier. La présente invention concerne un procédé d'exploitation des couleurs permettant un balayage couleur interactif en continu et indépendant de l'image affiché particulièrement adapté aux images dont le contenu est fonction d'un angle ou cyclique pour l'obtention de représentations multiples différentes d'une même image. Selon l'invention, le procédé d'exploitation des couleurs pour la modification interactive d'une palette de couleur appliquée à une image dont le contenu est cyclique, du type consistant à appliquer à la fonction de transfert d'une palette de 2B couleurs attachée à un écran une application modifiant ladite fonction de transfert est caractérisé en ce que - on décompose l'intervalle [ 0, 3600C en 2B tranches d'angles de taille égale, - on fait correspondre à chacune des tranches d'angles un numéro d'ordre compris entre 1 et 2B croissant en fonction des angles, - on choisit une valeur d'angle ci-après appelé angle d'éclairage, - on détermine le numéro d'ordre i de la tranche à laquelle appartient l'angle, - on applique à la palette de couleurs éventuellement modifiée par une première application une permutation circulaire des couleurs de (i-i > couleurs en réintégrant d'un côté les couleurs qui se trouvent décalées hors de l'intervalle pour créer une deuxième palette que l'on applique à l'image visualisée par laquelle on fait correspondre à un code C' la couleur associée au code 3 de de la palette de base. Une alternative consiste à faire correspondre au code C'j la couleur associée au code 3 ae de la palette de base. La première application pour modifier la fonction de transfert de la palette de base peut être une inversion de sorte que la permutation circulaire s'effectue dans le sens contraire de celle décrite précédemment. Cette manipulation est particulièrement intéressante pour la visualisation de carte d'azimuth parce qu'elle permet d'obtenir des effets d'éclairage dynamique sans calcul numérique. L'invention se rapporte également à un procédé permettant une représentation de la palette particulièrement adaptée aux images dont le contenu est un angle et qui permet une utilisation très aisée du procédé d'exploitation interactive des couleurs selon l'invention. Il est courant de représenter sur écran la palette appliquée à l'image visualisée en même temps que l'image elle-même. Usuellement, les palettes sont représentées par une bande rectangulaire polychrome constituée de la juxtaposition de pavés de taille identique de couleurs différentes correspondant chacune à une couleur de la palette de base, prises par numéro d'ordre croissant au moins par intervalle. Il est usuel de représenter avec la palette et de sorte qu'une corrélation à l'oeil soit facile l'application de modification de la fonction de transfert éventuellement appliquée et dont la palette représentée est le résultat.Ce procédé de représentation n'a pas d'intérêt pour le procédé d'exploitation des couleurs selon l'invention dans la mesure où une application de modification de fonction de transfert telle que celle utilisée n'est pas représentable dans un espace à deux dimensions orthogonales. Le procédé de représentation de la palette de couleurs utilisées selon l'invention pour la visualisation des images fonction d'un angle consiste à distribuer les couleurs de la palette appliquée à l'image après modification de la fonction de transfert de la palette de base par numéro d'ordre croissant non plus sur une bande rectangulaire mais sur une couronne. A chaque valeur d'angle d'éclairage choisie correspond une application de modification de la fonction de transfert et une visualisation. Un changement de l'angle d'éclairage, lequel peut être avantageusement indiqué par un marqueur pouvant décrire le cercle intérieur ou extérieur de la couronne, se traduit par une rotation de l'ensemble des couleurs à l'intérieur de la couronne, égale à l'écart entre la nouvelle valeur de l'angle de visualisation et la valeur précédente. Un tel procédé de représentation permet d'appréhender très facilement les manipulations effectuées et l'angle d'éclairage utilisé, un balayage interactif complet de la palette des couleurs de base, rendu possible par le procédé d'exploitation des couleurs selon l'invention, se traduisant par une rotation de 3600 de la couronne de couleurs. 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 lesquelles figurent - une représentation schématique d'une palette de couleur et son exploitation selon l'invention (figure 1), - un montage permettant de comparer sur quatre copies d'écran l'effet du procédé d'exploitation des couleurs selon l'invention appliquée à une fonction à deux dimensions X, Y représentant l'azimut associé à une surface donnée, - un montage permettant de comparer à partir de 2 copies d'écran la représentation classique d'une palette de couleurs dans son utilisation courante et la représentation selon l'invention. La palette de couleurs de base (1) représentée schématiquement sur la figure 1 est classiquement constituée de 256 (B=8) cellules de couleurs Cj, j variant de 0 à 255, les couleurs étant schématisées par des bandes distribuées dans un rectangle et classées selon les valeurs de j allant croissant. La palette de couleur (2) représente schématiquement la palette réellement appliquée à une image en cours de visualisation sur écran après qu'on ait appliqué à la palette une transformation selon l'invention. Dans l'exemple ici schématisé, l'angle d'éclairage choisi est e = 100. Cet angle est situé dans le 7è intervalle d'angle associé à la couleur C6. La transformation va donc consister à décaler les couleurs de la palette de base vers la droite de 6 cellules de sorte qu'à la nouvelle cellule C'6, on associe la couleur C0 de la palette de base, qu'à la nouvelle cellule C i on associe la couleur de la palette de base Ci tel que i = i'-6 si i est positif ou nul ou la couleur de la palette de base Cj tel que j = i'+256-6 dans le cas contraire. La permutation peut également se faire en sens inverse suivant la convention choisie. Sur la palette obtenue (3) on associe alors, à la nouvelle cellule C'0 la couleur C6 de la palette de base, et de façon générale on associe à la nouvelle cellule C'i la couleur Ci,+6 de la palette de base si i'+6 est inférieur ou égal à 255 et la couleur Ci,+6~255 dans le cas contraire. Le procédé a été appliqué à une image (256 pixels x 256 pixels) représentant les valeurs des pendages maximum calculés pour chacun des points d'une surface topographique situés au noeud d'une grille d'autant de mailles de côté que de pixels. Chaque ton de gris correspond à une tranche donnée de valeurs de pendages pour un angle e d'éclairage donnée, la palette changeant suivant la valeur de e. Ainsi la couleur associée à un pixel Ci j donné permet de déterminer la valeur approximative du pendage au point correspondant de la surface topographique. Les quatre images (1) à (4) figurant sur la figure 2 représentent une même fonction représentée avec 4 valeurs d'angle d'éclairage différentes respectivement 45O, 135 , 2250, 3140. L'effet obtenu est celui d'un éclairage latéral détails de configuration n'apparaissant pas si l'on ne dispose que d'une seule ou de quelques images au mieux. La figure 3 permet de comparer une représentation (1) possible d'une palette de couleur (5) selon le procédé classique et sa fonction de transfert associée (6) avec une représentation (2) possible selon l'invention de la même palette distribuée dans une couronne (4), l'angle d'éclairage choisi étant indiqué par un marqueur (3). REVENDICATIONS 1 - Procédé d'exploitation des couleurs pour la modification interactive d'une palette de couleur appliquée à une image dont le contenu est cyclique, du type consistant à appliquer à la fonction de transfert d'une palette de couleurs attachée à un écran une application modifiant ladite fonction de transfert caractérisé en ce que - on décompose l'intervalle [ 0, 3600C en 2B tranches d'angles de taille égale, - on fait correspondre à chacune des tranches d'angles un numéro d'ordre compris entre 1 et 2B croissant en fonction des angles, - on choisit une valeur d'angle d'éclairage, - on détermine le numéro d'ordre de la tranche à laquelle appartient l'angle, - on applique à la palette de couleurs éventuellement modifiée par une première application une permutation circulaire des couleurs de (i-1) couleurs en réintégrant d'un côté les couleurs qui se trouvent décalées hors de l'intervalle pour créer une deuxième palette que l'on applique à l'image visualisée par laquelle on fait correspondre à un code Cj la couleur associée au code Cj+(i~1) ou au code Cj~(i-1) de la palette de base. 2 - Application du procédé selon la revendication 1 à la visualisation de cartes d'azimuths ou de pendages. 3 - Procédé permettant une représentation sur écran de la palette pour la mise en oeuvre du procédé selon la revendication 1 du type consistant à juxtaposer les différentes couleurs de la palette de base par numéro d'ordre croissant caractérisé en ce que - on distribue toutes les couleurs de la palette de base à l'intérieur d'une couronne fermée, la couleur se trouvant à l'aplomb d'un repaire marquant l'angle nul correspondant à la couleur associé au code Cj+(i~1) ou pour pour l'angle d'éclairage e choisi, - on effectue pour chaque changement de l'angle d'éclairage une rotation de l'ensemble des couleurs à l'intérieur de la couronne égale à l'écart entre la nouvelle valeur et de l'angle d'éclairage et la valeur précédente e. 4 - Procédé selon la revendication 3 caractérisé en ce qu'on indique l'angle d'éclairage e par un marqueur mobile situé sur le cercle extérieur ou intérieur de la couronne en un point tel que l'angle entre le marqueur et le repaire marquant l'angle nul est égal à e.