Brevet FR3084951A1 — publié le 20200214

Description Titre de l'invention : Procédé et système de transformation de cartes normales en cartes de hauteurs Domaine technique [0001] La présente invention concerne un procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images. Technique antérieure [0002] En informatique graphique, les cartes de normales constituent un moyen simple, élégant et performant d'augmenter un maillage de détails géométriques macroscopiques. En effet, en retrouvant les informations de normales à la surface de par un accès texture (i.e. la carte de normales) pour toute portion du maillage rendu, on arrive ainsi à simuler des interactions entre la lumière et la matière à une échelle plus fine comparativement à ce que la tessellation du maillage permettrait en général. [0003] De façon analogue, une carte de hauteur permet d'augmenter un maillage de détails géométriques toujours de nature macroscopique, cette fois-ci en faisant correspondre pour toute portion de surface échantillonnée un facteur d'élévation relatif à la normale du support géométrique. Ainsi, il est possible de simuler des interactions entre la lumière et la matière en se basant sur la géométrie-même et non sur des informations de variation de la géométrie (i.e. sa dérivée d'ordre 1) tel qu'avec les cartes de normales ; ce qui permet par exemple d'obtenir des rendus plus réalistes (notamment de par la possibilité de rendre les ombres) au détriment des performances étant donné que l'on augmente la tessellation du maillage en se basant sur les informations contenues dans la texture décrivant la carte de hauteurs. [0004] D'un point de vue conceptuel, une carte de normales et une carte de hauteurs encodent la même information de type géométrique, soit une description d'une surface tridimensionnelle à travers une carte de représentation bidimensionnelle, mais avec une modélisation différente de l'information de cette dernière. Tandis qu'une carte de normales encodera l'information à travers une dérivation d'ordre 1 de la surface (i.e. à travers des informations de pentes de la géométrie pour lesquelles on sait calculer de façon déterministe les vecteurs normaux à la surface), une carte de hauteurs quant à elle encodera cette même information à l'ordre 0 (i.c. à travers des informations de géométrie même, soit la hauteur). [0005] Ainsi, d'un point de vue mathématique, il existe une relation intrinsèque entre une carte de normales et son équivalence en carte de hauteurs, dans le sens où l'on pourrait idéalement pour toute carte de normales dériver une carte de hauteurs, et vice versa. Cependant en pratique et d'un point de vue numérique, tandis qu'il est aisé d'obtenir une carte de normales à partir d'une carte de hauteurs (par exemple par une différenciation à l'ordre 1 des informations de hauteurs), obtenir une carte de hauteurs à partir d'une carte de normales s'avère bien plus complexe étant donné qu'il s'agit d'un problème d'intégration et non de différenciation. Dans le domaine de l'analyse vectorielle, il est démontré qu'un champs vectoriel (i.e. une carte de normales) est intégrable si et seulement si ce dernier est dit irrotationnel. Cependant, dans notre cas, cette hypothèse forte n'est quasiment jamais satisfaite (car dans le contexte d'un outil d'édition pour artistes, soit une boîte noire, nous ne maîtrisons pas le contenu des données obtenues en entrée), d'où l'obligation d'employer des méthodes numériques complexes afin d'obtenir une carte de hauteurs à partir d'une carte de normales. Il est aussi à noter que dans le cas de l'extraction d'une carte de hauteurs à partir d'une carte de normales, il est prouvé à travers le domaine de l'algèbre linéaire qu'à une carte de normales peuvent correspondre plusieurs cartes de hauteurs valides, contrairement à l'obtention d'une carte de normales à partir d'une carte de hauteurs qui lui est un procédé déterministe, ce qui complexifie d'autant plus la tâche. [0006] Se pose alors la question de l'intérêt de calculer une carte de hauteurs à partir d'une carte de normales si cette dernière est disponible, étant donné que ces deux types de cartes encodent la même information mais sous une forme différente, et étant donné la complexité de mise en oeuvre de l'obtention d'une carte de hauteurs à partir d'une carte de normales. On pourra notamment citer comme misons (liste non exhaustive) : [0007] - le jeu de textures décrivant un matériau en possession de l'artiste est incomplet dans le sens oh une carte de normales est présente, mais pas son homologue qu'est la carte de hauteurs. -le jeu de textures décrivant un matériau en possession de l'artiste est complet mais la carte de hauteur est de qualité non satisfaisante, phénomène relativement courant. [0008] - la carte de hauteurs présente ne modélise pas la même information géométrique que celle contenue dans la carte de normales. Effectivement, bien que théoriquement une carte de normales encode la même information géométrique qu'une carte de hauteurs, en pratique cela est rarement le cas. On pourra notamment citer comme raison principale la différence entre les dispositifs de capture dédiés, qui en général sont la Photométrie Stéréo pour l'obtention des cartes de normales (procédé de capture favorisant les hautes fréquences géométriques) et le Scan tridimensionnel pour les cartes de hauteurs (procédé de capture favorisant les basses fréquences géométriques). Ainsi, en admettant qu'un artiste soit en possession de deux types de cartes en question, chacune ayant été capturée par son procédé matériel dédié, il existera en général une différence significative entre une carte de hauteurs issue du Scan tridimensionnel et celle obtenue à partir de la carte de normales elle même issue de la Photométrie Stéréo, différence dans laquelle l'artiste trouvera un intérêt à l'utilisation (par exemple avoir une carte de hauteurs qui modélise plus fidèlement les hautes fréquences des détails géométriques). 100091 En termes d'utilité en informatique graphique, une carte de hauteurs présente des intérêts auquel son homologue qu'est la carte de normales ne peut prétendre, motivant ainsi d'autant plus le besoin pour des méthodes capables d'extraire une carte de hauteurs à partir d'une carte de normales. On pourra notamment citer en termes d'applications : [0010] - utilisation de techniques de rendu 3D plus réalistes tel que le «displacement mapping » au lieu de « normal mapping ». [0011] - édition artistique d'une carte de normale à travers sa carte hauteur (la conversion dans le sens carte de hauteurs vers carte de normales étant simple et aisée) en raison de l'existence d'outils 3D plus appropriés, mais aussi en raison de l'aspect plus intuitif qu'est le processus d'édition pour l'artiste (effectivement, il est plus naturel pour le cerveau humain d'interpréter des informations géométriques de hauteur que des informations de pente, d'autant plus que ces dernières sont en général affichées au sein d'un logiciel de création artistique de manière non intuitive, en général un code couleur pour un vecteur tridimensionnel, tandis qu'une information de hauteur se modélise et se comprend aisément pour l'humain à travers l'affichage d'un niveau de gris). [0012] -génération procédurale d'un maillage tridimensionnel à partir d'une carte de hauteurs, ce qui est difficilement réalisable à partir d'une carte de normales sans conversion préalable de cette dernière en carte de hauteurs. [0013] Il existe donc un besoin pour obtenir des cartes de hauteurs à partir de cartes de normales, tout en respectant les deux principales contraintes usuelles dans un contexte d'outil de création artistique : qualité des cartes de hauteurs (a contrario, résultats inutilisables) et obtention des résultats dans des délais raisonnables (l'outil peut alors répondre au critère de l'interactivité, critère majeur dans le cadre d'un logiciel de création artistique). [0014] Pour pallier ces différents inconvénients, l'invention prévoit différents moyens techniques. Résumé de l'invention [0015] Tout d'abord, un premier objectif de l'invention consiste à prévoir un procédé permettant d'obtenir des cartes de hauteurs à partir de cartes de normales. [0016] Un autre objectif de l'invention consiste à prévoir un procédé permettant d'obtenir les données de cartes de hauteur de façon sensiblement instantanée. [0017] Un autre objectif de l'invention consiste à prévoir un procédé permettant d'éliminer ou d'atténuer les zones d'oscillation des cartes de normales. [0018] Pour ce faire, l'invention prévoit un procédé de transformation de cartes de normales 4 en cartes de hauteurs pour système de traitement d'images, comprenant les étapes consistant à : [0019] - recevoir au moins une carte de normales 3D comportant des données de valeurs de normale pour chaque pixel; [0020] - transformer la carte de normales 3D en une carte de gradients 2D : g ; [0021] - déterminer une matrice 2D d'un laplacien 1D pour une bande virtuelle : A_B ; [0022] - déterminer un champs de gradients 1D à partir d'un champs de gradients 2D g pour la bande virtuelle : g_B ; [0023] - appliquer un opérateur de divergence 1D aux champs de gradients 'ID g_B pour la bande virtuelle : b_B ; [0024] - résoudre un système d'équations linéaires symétriques défini positif A_B z_B = b_B avec deux conditions aux bords de type Dirichlet de même valeur à gauche et à droite: z_B ; [0025] - appliquer un opérateur de divergence 2D au champs de gradients 2D g : b [0026] - résoudre un système de Poisson 2D avec comme terme de droite b et des conditions aux bords de type Dirichlet égales à z_b : z ; [0027] -générer une carte de hauteurs comportant des données de valeurs de hauteur pour chaque pixel, à partir de la conversion de z au format voulu. [0028] Selon un mode de réalisation avantageux, la carte de hauteur obtenue est utilisée pour définir au moins une partie des données de paramètres d'un matériau. On peut ainsi obtenir une ou plusieurs des textures qui décrivent usuellement un matériau. [0029] Selon un autre mode de réalisation avantageux, la carte de hauteur obtenue est utilisée pour créer un rendu 3D. On peut ainsi obtenir un rendu réaliste, permettant en outre de rendre les ombres. [0030] Selon un autre exemple avantageux, la cade de hauteur obtenue est utilisée pour créer ou éditer une ou plusieurs images. [0031] L'invention prévoit également un système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images, comprenant un module de transformation de cartes de normales en cartes de hauteurs, apte à traiter des données de cartes de normales comportant des données de valeurs de normale pour chaque pixel, pour les transformer en données de cartes de hauteurs, comportant des données de valeurs de hauteur pour chaque pixel, en prenant en compte des irrégularités présentes dans des basses fréquences des cartes normales. [0032] Dans un exemple avantageux, le système comprend également un module de rendu basé "displacement mapping". [0033] Dans un autre exemple, le système comprend un module de transformation en maillage géométrique. [0034] Dans un autre exemple, le système comprend également un module de transformation en cartes de normales. [0035] Dans encore un autre exemple, le système comprend également un module de traitement de textures définissant les paramètres d'un matériau. [0036] Dans un autre exemple, le système comprend également un module d'édition ar- tistique de cartes de hauteurs. Brève description des dessins [0037] Tous les détails de réalisation sont donnés dans la description qui suit, complétée par les figures 1 à 8, présentées uniquement à des fins d'exemples non limitatifs, et dans lesquelles : Fig.1 [0038] [fig.1] est une représentation schématique d'un exemple d'outil ou système de transformation de cartes de normales en cartes de hauteur ; Fig.2 [0039] [fig.2] est un organigramme fonctionnel illustrant les principales étapes d'un exemple de procédé de transformation de cartes de normales en cartes de hauteur ; Fig.3 [0040] [fig.3] est un exemple de carte de normales ; Fig.4 [0041] [fig.4] est un exemple de carte de hauteurs ; Fig.5 [0042] [fig.5] est un exemple de résultat obtenu pour le calcul d'une carte de hauteurs à partir d'une carte de normales (représentant un cuir de crocodile) à travers la résolution d'une équation de Poisson et des conditions aux bords de Neumann ; Fig.6 [0043] [fig.6] est un exemple de résultat obtenu pour le calcul d'une carte de hauteurs à partir d'une carte de normales (représentant un cuir de crocodile) à travers la résolution d'une équation de Poisson et des conditions aux bords de Dirichlet approchant théoriquement des conditions de Neumann ; Fig.7 [0044] [fig.7] est un exemple de rendu d'une scène tridimensionnelle où des pavés sont rendus sans la prise en compte de la carte de hauteurs ; Fig.8 [0045] [fig.8] est un exemple de rendu d'une scène tridimensionnelle où des pavés sont rendus avec la prise en compte de la carte de hauteurs usant de la technique de « displacement mapping ». Description des modes de réalisation [0046] L'obtention d'une carte de hauteurs à partir d'une carte de nonnales est un sujet d'intérêt pour la communauté de la Photométrie Stéréo, et plus généralement pour celle de la Vision par Ordinateur, cela depuis le début des années 1980. [0047] Deux approches sont possibles : celle utilisant une intégration locale et incrémentale de la carte de normales, et celle obtenant une carte de hauteurs à travers la résolution d'une équation de Poisson. Étant donné que la première pré-requiert que la carte de normales décrive un champs de vectoriel intégrable et donc irrotationnel (qui pour rappel, est rarement le cas dans notre contexte) alors que la seconde permet l'intégration d'une carte de normales quelconque tout en présentant des atouts d'importance cruciale que sont la robustesse et la performance, la seconde approche a été retenue. [0048] En mathématiques, lorsque l'on modélise un problème sous une forme d'équations différentielles, il est nécessaire d'imposer aux variables des conditions aux bords sur la frontière du domaine d'intégration afin de rendre ces dernières intégrables. On distingue notamment les conditions aux bords de type Dirichlet qui imposent des valeurs aux variables et celles de type Neumann qui imposent des valeurs aux dérivées des variables. Dans le cadre de la résolution d'une équation de Poisson avec des conditions aux bords de Neumann, il est démontré tant en théorie qu'en pratique numérique que le résultat est soumis à un phénomène d'oscillation sur les bords. Or, dans le cas d'une extraction de cartes de hauteurs à partir de cartes de normales, les conditions aux bords modélisant notre problème sont de type Neumann (à contrario, l'artiste sc devrait de spécifier manuellement les valeurs de la hauteur le long de la bordure de la carte, soit des conditions aux bords de Dirichlet, scénario non réaliste qui serait d'autant plus enclin à l'erreur tout en prenant un temps considérable). Tandis que des conditions aux bords de Neumann impliqueraient un résultat dont la qualité ne permettrait pas son utilisation dans le cadre de l'informatique graphique, des conditions aux bords de Dirichlet quant à elles garantiraient l'obtention interactive de résultats de qualité, et donc exploitable par l'artiste. [0049] L'invention que l'on propose consiste en l'imposition virtuelle de conditions aux bords de Neumann sous la forme de conditions aux bords de Dirichlet dans le cadre de la résolution numérique (méthodes des différences finies) d'une équation de Poisson, permettant ainsi de correctement modéliser le système équationnel qui décrit l'obtention d'une carte de hauteurs à partir d'une carte de normales, tout en permettant de répondre au critère qualitatif du résultat ainsi qu'à celui de la performance quant à 7 100501 100511 100521 100531 leur obtention, PRINCIPE MIS EN OEUVRE : Intégration d'une carte de normales quelconque en une carte de hauteurs : [Equ 11 Soit un champs de gradients ssud'un champs de no 7 11, = - - e = rtz [0054] On peut alors considérer que le champ de hauteur est le resultat issu de la mini- misation d'une fonctionnelle au sens des moindres canés : [0055] [Equ 2] [0056] + [0057] L'équation d' Euler Lagrange correspondante est alors : [0058] [Equ 3[ [0059] V2z _ `,.. où V et V2 sont respectivement les opérateurs d fé e en deux dimensions du gradient 0 0 32 32 vi -2. (- - ) et du laplacien V2 --= + iit . eiy are iiy2 [0060] Étant donné que le champs de gradients constitue une donnée du problème (i.e. est issu de la carte de normales), le terme de droite de cette équation est calculable et constitue un vecteur constant dont la taille est égale au nombre de pixels à calculer dans la carte de hauteur. On reconnaît ainsi une équation aux dérivées partielles du second ordre dite de Poisson, équation classique dans le domaine de l'analyse vectorielle. En complétant la définition du problème de par des conditions aux bords de type pure Neumann, on cherche à déterminer numériquement le champ de hauteur de par la résolution du système z(x, y) de par la résolution du système linéaire suivant : [0061] [Equ 4] [0062] f V2z sur Si 0.1 = o sua an [0063] D'un point de vue de l'algèbre linéaire, la matrice décrivant ce système d'équations linéaires est dit singulier car n'étant pas inversible. Cela est du aux conditions de Neumann qui contraignent la dérivée de la solution relativement à la normale du bord du domaine, et donc qui n'imposent pas l'unicité de la solution (effectivement, si z0 est. une solution du système d'équation, alors z0+ este est une solution aussi) Afin de i(z(x, .74) - 02)dixdy garantir l'unicité de la solution, il est usuel de rajouter une condition contraignant à 100641 1Equ 51 100651 déterminer la solution dont la moyenne est nulle i z= O. n Pins important encore, afin de garantir l'existence meine d'une nlntion, il est en en al nely-essaire de 't P P . , sachant que l'opérateur du laplacien Vi se comporte bien sur l'espace des fonctions dont la, moyenne est nulle (en N\ 0 -a d'antres ternies, lorsque n = 0). 0 j = 310 [0066] Dans le cadre de l'intégration d'une carte de normales en tant que carte de hauteurs, non seulement l'existence d'une solution ne peut être systématiquement garantie à travers la condition de compatibilité (le champ de gradients étant une contrainte forte du problème, soit on ne peut garantir que la moyenne de sa divergence sur le domaine entier ainsi que sur sa bordure soit nulle) ; et la condition pour la garantie de l'unicité de la solution (i.c. garantie de la convergence) prévient l'usage de méthodes de résolution rapide étant donné que le système d'équation devient surdéterminé. [0067] Ainsi en pratique, une carte de hauteurs issue de la résolution d'une équation de Poisson avec des conditions aux bords de type Neumann présentera en général deux caractéristiques non désirables dans le cadre d'un logiciel de création artistique : [0068] - performance non interactive sur des cartes de normales de taille usuelle. (par exemple on considère de nos jours qu'une texture de 4096 par 4096 éléments est standard dans le milieu du jeu vidéo, soit d'un point de vue de la carte de hauteurs, cela représente 16777216 valeurs de hauteurs à calculer). [0069] - phénomène d'oscillations sur les bords de la carte de hauteurs liées aux instabilités numériques du processus de calcul, rendant ainsi le résultat rarement utilisable tel quel dans le cadre de l'informatique graphique. [0070] Afin de pallier à ce problème de correction des résultats ainsi qu'à celui des per- formances (rédhibitoire dans le cadre d'un logiciel pour artistes 3D), on se propose de reformuler l'imposition des conditions aux bords de type Neumann sous son équivalence en terme de conditions aux bords de type Dirichlet, ces dernières garantissant tant l'existence et l'unicité de la solution sans pour autant surdéterminer le satisfaire la condition de compatibilité de l'intégration f système d'équations : [0071] [Equ 6] [0072] [0073] On se propose de considérer la bande virtuelle vb décrivant le contour extérieur de la carte de normales (et donc de la carte de hauteurs étant donné que ces dernières sont de dimensions identiques). [0074] Soit w la largeur discrétisée de la carte de normales initiales, h respectivement sa hauteur. [0075] Alors vb est composé de 2w+2h+4 pixels. [0076] Imposer des conditions aux bords de Dirichlet quant à notre problème initial revient à déterminer les valeurs des hauteurs z au sein de cette bande vb. [0077] Pour ce faire, on modélise le problème de déterminer les valeurs des hauteurs au sein de vb selon le même modèle équationnel initial, niais en une dimension cette fois ci et en imposant des conditions aux bords de Dirichlet tel que la bande (i.c. boucle) soit fermée (i.c. la constante pour le bord gauche doit être la même que pour le bord droit). En considérant que cette constante au bord est nulle, et que vb est une courbe unidimensionnelle paramétrée selon la longueur d'arc normalisée t: [0078] [Equ 7] [0079] t avec t e [0, [0080] on a alors: a l'npératenr de diwrgencr [0081] 1Equ 81 [00821 V2Z(t) = q(P) t E10 ,1f 2(t)= 0 t t .0etïn 1 où V2 est cette fuie l'ppénateux laplacien en one dirnenùon V2 demeure eu deux dimensions V = [0083] Afin de calculer le terme de droite de notre système d'équation, l'opérateur de di- vergence étant en deux dimensions, il est nécessaire de dilater notre bande dans les deux directions d'une unité de discrétisation. Pour la partie incluse dans le domaine initial W, les valeurs de gradients [0084] [Equ 9] [0085] 1i t [0086] Cependant, pour la bande vb et l'extrusion d'une unité de discrétisation en dehors du domaine, ces valeurs nous sont inconnues. En nous rappelant que relativement au problème originel en deux dimensions que l'on souhaitait imposer des conditions aux bords de type Neumann pure sur la hauteur, on peut ramener l'opérateur de l'opérateur de la divergence à une dimension également : [0087] [Equ 10] l0 100881 az p - 0 sur la bordure = Mi, O) g(w) - q(u Yei E [w + hj) + ) getu + h - -p( -1,h - 1) gel/ e (yi, 2, 2w + h + 11) = -p((2u, + h +1) i, h -- g(2ziz ÷ h = -q(0, h - 1) g(z E [2w + h 70 + 2h +2]) ---,----q(0, (2w + 2h + 2) [0094] En usant des opérateurs de différences usuels pour le laplacien et celui de la di- vergence tout en considérant des conditions de Dirichlet au bord nulles à gauche et à droite de la bande, les hauteurs de de la bordure sont alors déterminées par la résolution du système d'équations linéaires suivant : 0 1 0 -1 0 0 0 1 1 1 -1 0 0 -1 0 1 0 1 [0095] [Equ 13] [0096] 2 -1 0 0 0 0 2 -1 0 2 -1 -1 2 [0097] Étant donné que l'on a pris soin de multiplier par -1 à gauche et à droite du système d'équations linéaires, ce dernier est. symétrique défini positif, ce qui nous permet de l'inverser de façon efficiente et robuste, tel que -par exemple- l'application d'une factorisation de Cholesky. [0098] Une fois notre bande de hauteurs intégrée, ces dernières nous permettent de résoudre notre système de Poisson en deux dimensions initial en appliquant cette fois-ci des conditions aux bords de Dirichlet (i.e. zB ), pour lequel il existe des solveurs stables et hautement performants (à titre d'exemple, nous avons utilisé celui de la «Intel Math Kernel Librai-y»). DEFINITIONS: [0099] Par « paramètres d'un matériau », on entend les données permettant de créer un matériau virtuel pour utilisation interactive dans un système d'imagerie numérique. Les paramètres comprennent par exemple -avec les termes en langue anglaise entre parenthèses- : Albedo (Albedo), Métal (Metal), Rugosité (Rougi-mess), Normales (Normal), Occlusion Ambiante (Ambiant Occlusion), et de façon de plus en plus répandue en raison de la qualité des jeux des textures et des capacités machines augmentantes, Hauteur (Height). [0100] OUTIL OU SYSTEME DE TRANSFORMATION : La figure 1 illustre un exemple d'outil ou système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images. [0101] Les données 4 de cartes de normales sont reçues par un module 5 de transformation en carte de hauteurs. Les opérations effectuées pour transformer les cartes de normales en cartes de hauteurs sont décrites en relation avec la figure 2. Les données 6 de cartes de hauteurs peuvent être utilisées pour différentes applications. Les modules 7 à 11 illustrent des exemples d'applications possibles. Par exemple, pour produire un rendu 3D 15, des données de facteur d'échelle 12 sont utilisées avec le module 7 de rendu. [0102] Dans un autre exemple, pour produire un maillage géométrique 16, des données de facteur d'échelle 12 sont utilisées avec le module 8 de transformation en maillage géométrique. [0103] Dans un autre exemple, pour produire des cartes de normales 17, des données de facteur d'échelle de grille 13 sont utilisées avec le module 9 de transformation en cartes de normales. [0104] On peut également utiliser des textures 14 de matériaux afin de générer des textures de matériaux comportant plus de paramètres, souvent de haute précision, à l'aide d'un module 10 de modification de textures. [0105] Dans un autre exemple, on utilise un module 11 d'édition artistique de carte de hauteurs pour modifier les cartes préalablement obtenues avec des contenus au choix des artistes. 101061 La mise en oeuvre des différents modules du système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images préalablement décrit est avantageusement réalisée au moyen d'instructions 2 de processeur ou commandes, permettant aux modules d'effectuer la ou les opérations spécifiquement prévues pour le module concerné. Les instructions 2 de processeur peuvent être sous la forme d'un ou plusieurs logiciels ou modules de logiciels mis en oeuvre par un ou 12 plusieurs microprocesseurs 1, en relation avec un bus de une ou plusieurs mémoires RAM 3. Le ou les modules et/ou le ou les logiciels sont avantageusement prévus dans un produit programme d'ordinateur comprenant un support d'enregistrement ou medium d'enregistrement utilisable par un ordinateur et comportant un code programmé lisible par un ordinateur intégré dans ledit support ou medium, permettant à un logiciel applicatif son exécution sur un ordinateur ou autre dispositif comportant un ou plusieurs microprocesseurs tel qu'une tablette. [0107] Selon diverses variantes de réalisation, le microprocesseur 1, tout comme la mémoire de travail avec les instructions 2 peuvent être centralisés pour tous les modules ou encore être agencés de façon externe, avec connexion aux différents modules, ou encore être répartis localement de façon à ce qu'un ou plusieurs modules disposent chacun d'un microprocesseur et/ou d'une mémoire de travail. PROCEDE D'APPLICATION DE COULEURS : [0108] La figure 2 illustre un exemple de mise en oeuvre du procédé de transformation de cades dc normales en cartes dc hauteurs pour système de traitement d'images. [0109] Après réception d'unc cartc dc normales 3D à l'étape 20, la carte est transformée en carte dc gradients 2D : g à l'étape 21. On prévoit ensuite, à l'étape 21, la détermination de la matrice 2D du laplacien ID pour la bande virtuelle A-B. [0110] L'étape 23 concerne la détermination du champs de gradients ID à partir du champs de gradients 2D g pour la bande virtuelle : g B. On applique ensuite, à l'étape 24, l'opérateur de divergence ID au champs dc gradients ID g_B pour la bande virtuelle : b B. [0111] L'étape suivante (25), prévoit la résolution du système d'équations linéaires sy- métrique défini positif A Bz B = b B avec les deux condition aux bords de type Dirichlet de même valeur à gauche et à droite (par exemple de par une factorisation de Cholesky) : z_B. [0112] On applique ensuite l'opérateur de la divergence 2D au champs de gradients 2D g : b (étape 26). [0113] L'étape 27 concerne la résolution du système de Poisson 2D avec comme terme de droite b et des conditions aux bords de type Dirichlet égales à z_b : z. [0114] Après conversion de z au format souhaité, on obtient alors (étape 28), une carte de hauteurs. 101151 L'étape 29 prévoit des options d'utilisation de la carte de hauteurs obtenue en fonction des besoins. On peut par exemple utiliser une carte de hauteurs obtenue pour décrire un matériau. La carte permet de bénéficier d'une grande précision pour parfaire un matériau. Dans un autre exemple, on transforme à nouveau la carte en carte de normales, en conservant alors les hauts niveaux de qualité et de précision. Dans d'autres exemples, on utilise une carte de hauteurs pour un module de rendu ou pour 13 un module d'édition artistique, ou pour une autre application. 101161 Les figures 3 à 8 illustrent différents exemples de cartes et d'images. La figure 3 est un exemple de carte de normales où pour tout pixel de la carte est affiché le vecteur tridimensionnel normal à la surface. La figure 4 est une illustration de carte de hauteurs où pour chaque pixel de la carte est affiché la hauteur décrivant la surface. 101171 La figure 5 est un exemple de résultat obtenu pour le calcul d'une carte de hauteurs à partir d'une carte de normales (représentant un cuir de crocodile) à travers la résolution d'une équation de Poisson et des conditions aux bords de Neumann. On remarque les oscillations de la solution sur le bord, rendant ainsi le résultat inexploitable en informatique graphique. [0118] La figure 6 est un exemple de résultat obtenu pour le calcul d'une carte dc [0119] hauteurs à partir d'une carte de normales (représentant un cuir de crocodile) à travers la résolution d'une équation dc Poisson et des conditions aux bords de Dirichlet approchant théoriquement des conditions dc Neumann. On remarque les oscillations de la solution sur le bord qui sont grandement atténuées, rendant ainsi le résultat exploitable en informatique graphique. [0120] La figure 7 est un exemple de rendu d'une scène tridimensionnelle où des pavés sont rendus sans la prise en compte dc la carte de hauteurs. On remarque l'aspect planaire de la surface. [0121] La figure 8 est un exemple de rendu d'une scène tridimensionnelle où des pavés sont rendus avec la prise en compte de la carte de hauteurs usant de la technique répandue de « displacement mapping ». On remarque l'aspect volumétrique de la surface, contribuant ainsi grandement au réalisme de l'image. REVENDICATIONS1. Procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images, comprenant les étapes consistant à : - recevoir (20) au moins une carte de normales 3D comportant des données de valeurs de normale pour chaque pixel; - transformer (21) la carte de normales 3D en une carte de gradients 2D : g ; - déterminer (22) une matrice 2D d'un laplacien 1D pour une bande virtuelle : A_B ; - déterminer (23) un champs de gradients 1D à partir d'un champs de gradients 2D g pour la bande virtuelle : g_B ; - appliquer (24) un opérateur de divergence 1D aux champs de gradients 1D g_B pour la bande virtuelle b_B ; - résoudre (25) un système d'équations linéaires symétriques défini positif A_B z_B = b_B avec deux conditions aux bords de type Dirichlet de même valeur à gauche et à droite: z B ; - appliquer (26) un opérateur de divergence 2D au champs de gradients 2D g : b - résoudre (27) un système de Poisson 2D avec comme terme de droite b et des conditions aux bords de type Dirichlet égales à z_b z ; -générer (28) une carte de hauteurs comportant des données de valeurs de hauteur pour chaque pixel, à partir de la conversion de z au format voulu. 2. Procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images selon la revendication 1, dans lequel la carte de hauteur obtenue est utilisée pour définir au moins une partie des données de paramètres d'un matériau. 3. Procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images selon la revendication 1, dans lequel la carte de hauteur obtenue est utilisée pour créer un rendu 3D. 4. Procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images selon la revendication 1, dans lequel la carte de hauteurs obtenue est utilisée pour créer ou éditer une ou plusieurs images. 5. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images, comprenant un module (5) de transformation de cartes de normales en cartes de hauteurs, apte à traiter des données de cartes de normales (4) comportant des données de valeurs de normale pour chaque pixel, pour les transformer en données de cartes de hauteurs (6), comportant des données de valeurs de hauteur pour chaque pixel, en prenant en compte des irrégularités présentes dans des basses fréquences des cartes de normales. 15 6. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images selon la revendication 5, comprenant également un module (7) de rendu basé "displacement mapping", conçu pour produire, à partir de données de cartes de hauteurs, un rendu 3D. 7. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images selon la revendication 5, comprenant également un module (8) de transformation en maillage géométrique, conçu pour produire, à partir de données de cartes de hauteurs, un maillage géométrique. 8. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images selon la revendication 5, comprenant également un module (9) de transformation en cartes de normales, conçu pour produire, à partir de données de cartes de hauteurs, des cartes de normales. 9. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images selon la revendication 5, comprenant également un module (10) de traitement de textures définissant les paramètres d'un matériau, conçu pour produire, à partir de données de cartes de hauteurs, des textures de matériaux. 10. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images selon la revendication 5, comprenant également un module d'édition artistique de cartes de hauteurs, conçu pour modifier des cartes de hauteurs préalablement obtenues.