Brevet FR2948800A1 — publié le 20110204

1. Domaine de l'invention. L'invention se rapporte au domaine de la composition d'images de synthèse et plus particulièrement au domaine de la simulation de la diffusion de la lumière dans un milieu participant hétérogène. L'invention s'inscrit également dans le contexte des effets spéciaux pour une composition en temps réel (de l'anglais � live �). 2. Etat de l'art. Selon l'état de la technique, différentes méthodes existent pour simuler la diffusion de la lumière dans des milieux participants tels que par exemple le brouillard, la fumée, la poussière ou les nuages. Les milieux participants correspondent à des milieux composés de particules en suspension qui interagissent avec la lumière pour en modifier le trajet et l'intensité notamment. Les milieux participants peuvent être décomposés en deux parties, à savoir les milieux homogènes tels que l'eau et les milieux hétérogènes, tels que la fumée ou les nuages. Dans le cas des milieux participants homogènes, il est possible de calculer de manière analytique l'atténuation de la lumière émise par une source de lumière. En effet, de par leur nature homogène, ces milieux présentent des paramètres tels que le coefficient d'absorption de la lumière ou le coefficient de diffusion de la lumière de valeur constante en tout point du milieu. A contrario, les propriétés d'absorption et de diffusion de la lumière varient d'un point à un autre dans un milieu participant hétérogène. Les calculs nécessaires pour simuler la diffusion de la lumière dans un tel milieu hétérogène sont alors très coûteux et il n'est ainsi pas possible de calculer de manière analytique et en temps réel la quantité de lumière diffusée par un milieu participant hétérogène. De plus, le milieu n'étant pas diffus (c'est-à-dire la diffusion du milieu étant anisotrope), la quantité de lumière diffusée par le milieu varie également en fonction de la direction de diffusion de la lumière, c'est-à-dire de la direction dans laquelle une personne regarde ce milieu. Les calculs estimant la quantité de lumière diffusée doivent alors être réitérés pour chaque direction d'observation du milieu par une personne pour obtenir un rendu réaliste du milieu. Pour effectuer le rendu en temps réel de milieux participants hétérogènes, certaines méthodes effectuent le pré-calcul de certains paramètres représentatifs du milieu participant hétérogène. Si ces méthodes sont parfaitement adaptés pour une utilisation en studio de post-production par exemple et fournissent un rendu de bonne qualité, ces méthodes ne sont pas adaptés dans le contexte de conception interactive et de composition de rendu en temps réel d'un milieu participant hétérogène. Une telle méthode est par exemple décrite dans la demande de brevet W02009/003143 déposée par Microsoft Corporation et publiée le 31 décembre 2008. L'invention objet de la demande W02009/003143 a pour objet un logiciel temps réel de rendu d'un milieu hétérogène et décrit une solution utilisant des fonctions de base radiales. Cette solution ne peut cependant pas être considérée comme une solution de rendu temps réel puisque certains prétraitements doivent être appliqués hors ligne (de l'anglais � offline �) au milieu participant pour pouvoir calculer des coefficients de projection représentant le milieu qui seront utilisés pour des calculs temps réels de synthèse d'image. Avec l'émergence de jeux et d'applications de simulation interactifs, notamment en trois dimensions (3D), le besoin se fait sentir pour des méthodes de simulations temps réel offrant un rendu de milieux participants hétérogènes réaliste. 3. Résumé de l'invention. L'invention a pour but de pallier au moins un de ces inconvénients de l'art antérieur. Plus particulièrement, l'invention a notamment pour objectif d'optimiser les temps de calcul et/ou la puissance de calcul nécessaire pour composer un rendu réaliste en temps réel de la diffusion de la lumière dans un milieu participant hétérogène. L'invention concerne un procédé d'estimation de la quantité de lumière diffusée par un milieu participant hétérogène, le procédé comprenant les étapes de : - estimation de premiers coefficients de projection dans une base orthonormée de fonctions sphériques, les premiers coefficients de projection étant représentatifs de la réduction d'intensité lumineuse en un point du milieu, l'estimation des premiers coefficients de projection étant réalisée pour chaque point d'un premier ensemble de points du milieu, et estimation de la quantité de lumière diffusée par le milieu, selon au moins une direction de diffusion de la lumière, à partir des premiers coefficients de projection estimés. Selon une caractéristique particulière, chacun des premiers coefficients de projection est estimé à partir de valeurs de réduction d'intensité lumineuse estimées le long d'une pluralité de directions particulières d'émission de lumière. Avantageusement, l'estimation des valeurs de réduction d'intensité lumineuse est réalisée par échantillonnage desdites directions particulières d'émission de lumière. Selon une caractéristique spécifique, le procédé comprend une étape d'estimation de deuxièmes coefficients de projection dans la base orthonormée de fonctions sphériques, les deuxièmes coefficients de projection étant représentatifs de la luminance incidente pour un ensemble de points dudit environnement lumineux. De manière avantageuse, le procédé comprend une étape d'estimation de troisièmes coefficients de projection dans la base orthonormée de fonctions sphériques, les troisièmes coefficients de projection étant représentatifs de la fonction de phase pour un deuxième ensemble de points dudit milieu. Selon une caractéristique particulière, l'estimation de la quantité de lumière diffusée par le milieu est réalisée par discrétisation du milieu le long de la au moins une direction de diffusion. Selon une autre caractéristique, l'estimation de la quantité de lumière diffusée par le milieu est réalisée en utilisant la méthode d'échantillonnage de rayon. Avantageusement, les premiers coefficients de projection sont 30 stockés dans une table d'une mémoire associée à au moins un processeur graphique. 4. Liste des figures. L'invention sera mieux comprise, et d'autres particularités et 35 avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés parmi lesquels : - la figure 1 illustre schématiquement un milieu participant hétérogène diffusant de la lumière, selon un mode de réalisation particulier de l'invention - les figures 2A et 2B illustrent un environnement lumineux comprenant plusieurs sources de lumière, selon un mode de réalisation particulier de l'invention - la figure 3 illustre schématiquement une méthode d'estimation de la quantité de lumière diffusée par un milieu de la figure 1 éclairé par un environnement lumineux des figures 2A et 2B, selon un mode de réalisation particulier de l'invention ; - la figure 4 illustre schématiquement une méthode d'estimation de coefficients de projection en chaque point d'un ensemble de points du milieu de la figure 1, selon un mode de réalisation particulier de l'invention - la figure 5 illustre un dispositif mettant en oeuvre une méthode d'estimation de la quantité de lumière diffusée, selon un exemple de mise en oeuvre particulier de l'invention ; - les figures 6 et 7 illustrent un procédé d'estimation de la quantité de lumière diffusée, selon deux modes de réalisation particuliers de l'invention. 5. Description détaillée de modes de réalisation de l'invention. La figure 1 illustre un milieu participant hétérogène 10 (de l'anglais � heterogeneous participating media �), par exemple un nuage. Un milieu participant est un milieu, composé d'une multitude de particules en suspension, qui absorbe, émet et/ou diffuse de la lumière. Dans sa forme la plus simple, un milieu participant absorbe seulement de la lumière, par exemple de la lumière reçue d'une source de lumière 11 telle que le soleil par exemple. Cela signifie que de la lumière passant au travers du milieu 10 est atténuée, l'atténuation dépendant de la densité du milieu. Le milieu étant hétérogène, c'est-à-dire que les caractéristiques physiques du milieu, telle que la densité des particules le composant par exemple, varient d'un point à un autre dans le milieu. Comme le milieu participant est composée de petites particules qui interagissent avec la lumière, la lumière incidente, c'est-à-dire reçue de la source de lumière 11 selon une direction w;n 110 n'est pas seulement absorbée mais elle est également diffusée. Dans un milieu participant à diffusion isotrope, la lumière est diffusée uniformément dans toutes les directions. Dans un milieu participant à diffusion anisotrope, tel que le nuage 10 illustré en figure 1, la diffusion de la lumière dépend de l'angle entre la direction d'incidence win 110 et la direction de diffusion wout 120 de la lumière. La quantité de lumière diffusée en un point M 13 du milieu 10 dans la direction de diffusion wout 120 est calculée par l'équation suivante : Q (m, corne) = D (M). 6s. p (M, fout, coin). Lri (M, coin) Equation 1 La quantité de lumière diffusée par un point M 13 du milieu atteignant l'oeil d'un spectateur 12 situé en un point C de l'espace dans la direction wout 120, c'est-à-dire la quantité de lumière diffusée par le point M et atténuée par le milieu 10 sur le trajet M-P, le point P étant situé à l'intersection du milieu 10 et de la direction wout dans la direction du spectateur 12, est alors : f m ùD(s).Qt.ds Lp (M, coout) = Q (M, coout). exp P pour laquelle : • 6S est le coefficient de diffusion du milieu, • 6a est le coefficient d'absorption du milieu, • 6t=as+6a est le coefficient d'extinction du milieu, • D(M) est la densité du milieu en un point donné, la densité variant d'un point à un autre puisque le milieu 10 est hétérogène, • p(M,wout,win) est la fonction de phase décrivant comment la lumière provenant de la direction d'incidence win est diffusée dans la direction de diffusion wout au point M, • Lri(M,win) est l'intensité lumineuse réduite au point M provenant de la direction d'incidence win 110 et représente la quantité de lumière incidente arrivant au point M après atténuation due au trajet de la lumière dans le milieu 10 sur le segment K-M, K étant le point d'intersection entre le milieu 10 et le rayon d'incidence win 110, et vaut :K K ùD(s)6tds exp m Equation 3 expfP -D(s)6tds représente l'atténuation de luminance diffusée due à l'absorption et à la diffusion le long du chemin allant de P 15 à m 13. Equation 2 L'équation 2 permet de calculer la quantité de lumière diffusée par un point M et atteignant l'oeil d'un spectateur 12 situé sur la direction wout. Pour calculer la quantité de lumière reçue par un spectateur regardant dans la direction wout, il faut alors effectuer la somme de toutes les contributions de l'ensemble des points du milieu situés sur l'axe wout, c'est-à-dire les points situés sur le segment P-Mmax, P et Mmax étant les deux points d'intersection entre le milieu 10 et la direction wout 120. Cette luminance diffusée totale arrivant en P 15 depuis la direction wout 120 due à la diffusion simple est alors : Mmax L(P, crut) = fP Lp (M, coout)dM On suppose ici que la lumière parcourant le trajet C-P n'est pas atténuée, la lumière n'étant pas atténuée à l'extérieur du milieu 10. Cette luminance diffusée totale est obtenue par intégration des contributions de tous les points situés entre P et Mmax sur un rayon ayant wout comme direction. Une telle équation intégrale ne peut pas être résolue de manière analytique dans le cas général et encore moins pour une estimation en temps réel de la quantité de lumière diffusée. L'intégrale est évaluée numériquement en utilisant la méthode dite d'échantillonnage de rayon ou de suivi de rayon (de l'anglais � ray-marching �). Dans cette méthode, le domaine d'intégration est discrétisé en une multitude d'intervalles de taille bpi et on obtient l'équation suivante : L (P, coout) p max 1, (M, wout) SM Equation 5 De manière avantageuse, le milieu participant hétérogène 10 est un élément à trois dimensions, représenté en deux dimensions sur la figure 1 pour des raisons de clarté. Selon une variante, le milieu 10 est éclairé par une pluralité de sources lumineuses, par exemple 1000, 100000 ou 1000000 sources lumineuses. Les figures 2A et 2B illustrent un environnement lumineux 2 comprenant plusieurs sources de lumière 23, 24 et 25. Des signes de références identiques sont utilisés pour des éléments identiques sur les figures 2A et 2B. La figure 2A illustre plus particulièrement deux points A 21 Equation 4 et B 22 éclairés par trois sources lumineuses 23, 24 et 25. Le point A 21 est éclairé par la première source lumineuse 23 selon une direction w1A 211, par la deuxième source lumineuse 24 selon une direction W2A 212 et par la troisième source lumineuse 25 selon une direction W3A 213. Le point B 22 est éclairé par la première source lumineuse 23 selon une direction W1B 221, par la deuxième source lumineuse 24 selon une direction W2B 222 et par la troisième source lumineuse 25 selon une direction W3B 223. Le problème posé par un tel environnement lumineux complexe, car possédant plusieurs sources lumineuses, est qu'il est très coûteux en terme de calcul pour une estimation de la lumière incidente dans un milieu puisque la direction de la lumière entre une source et un point du milieu est différente pour chaque point du milieu. En effet, la direction prise par la lumière émise par la première source 23 est différente pour A et pour B, la direction prise par la lumière émise par la deuxième source 24 est différente pour A et pour B et la direction prise par la lumière émise par la troisième source 25 est différente pour A et pour B. Pour résoudre ce problème, l'estimation de la lumière provenant de plusieurs sources lumineuses distantes est réalisée en utilisant la méthode de carte d'environnement (de l'anglais � environment mapping �) selon un mode de réalisation particulier de l'invention, telle qu'illustrée en figure 2B. Plutôt que de considérer une direction exacte de la lumière entre les points A et B d'une part et les sources lumineuses 23, 24, 25 d'autre part (tel qu'illustré sur la figure 2A), la méthode dite de carte d'environnement considère que toutes les sources lumineuses 23, 24 et 25 de l'environnement 2 sont situées à l'infini optique par rapport aux points A et B. Il est ainsi possible de considérer que les directions prises par la lumière émise par une source lumineuse 23, 24 ou 25 sont identiques quels que soient les points A et B du milieu considéré. L'effet de parallaxe dû à la distance séparant les points A et B est ainsi négligé. La direction w1A 211 reliant le point A à la première source lumineuse 23 est considérée comme étant identique à la direction w1B 221 reliant le point B à la première source lumineuse 23. De la même manière, la direction W2A 212 reliant le point A à la deuxième source lumineuse 24 est considérée comme étant identique à la direction W2B 222 reliant le point B à la deuxième source lumineuse 24 et la direction W3A 213 reliant le point A à la troisième source lumineuse 25 est considérée comme étant identique à la direction w3B 223 reliant le point B à la troisième source lumineuse 23. Selon une variante, l'environnement lumineux comprend deux ou plus de trois sources lumineuses, par exemple 1000, 100000 ou 1000000 sources lumineuses. La figure 3 illustre une méthode d'estimation de la quantité de lumière diffusée par un milieu 10, la lumière étant issue d'un environnement lumineux 3 comprenant plusieurs sources lumineuses 31, 32 et 33, selon un mode de réalisation particulier de l'invention. Comme cela a été décrit en regard de la figure 1, la lumière diffusée en un point M 13 par le milieu 10 est une composition de l'atténuation lumière reçue par le milieu 10 d'une source lumineuse 11 (ou d'un environnement lumineux 3) et de la diffusion de cette quantité de lumière atténuée reçue par le milieu 10. Dans un premier temps, en regard de la figure 3, le terme de l'équation 1 représentatif de l'atténuation de la lumière reçue de l'environnement lumineux 3 dans le milieu 10 est estimé. Pour ce faire, une sphère 0 entourant le point M 34 est échantillonnée. Pour chaque direction w de la sphère 0 de centre M, l'atténuation de la lumière le long d'un chemin compris entre M et l'extérieur du milieu est estimée en utilisant l'équation suivante, équivalente à l'équation 3: R (M, co) = expfM(W)ùD(s)atas Equation 6 où R(M,w) est l'atténuation de l'intensité lumineuse au point M 13 suivant une direction w et représente la quantité de lumière incidente arrivant au point M après atténuation, D(s) est la densité du milieu, 6t est le coefficient d'extinction du milieu, correspondant à la somme du coefficient de diffusion du milieu as et du coefficient d'absorption du milieu 6a (6t = as + 6a), K 35 est le point d'intersection entre le milieu 10 et l'extérieur du milieu 10 en suivant une direction w partant du point M. L'équation 6 fournit l'atténuation lumineuse en un point pour une direction w donnée. Pour estimer l'atténuation de la lumière au point M selon une direction w, le domaine d'intégration situé sur la direction d'incidence w est discrétisé en une série d'intervalles de taille 6s, la densité variant d'un intervalle à un autre puisque le milieu 10 est hétérogène. En appliquant la méthode d'échantillonnage de rayon, on obtient une valeur de l'atténuation lumineuse au point M selon la direction w. Cette valeur est enregistrée dans une table d'une mémoire associée à un processeur graphique GPU (de l'anglais � Graphical Processing Unit �). Cette opération d'estimation de l'atténuation lumineuse au point M 34 est réitérée pour chaque direction w de la sphère 0 de centre M échantillonnée en un ensemble comprenant N directions w partant du point M, N étant un entier naturel positif quelconque. Ces valeurs représentatives de l'atténuation lumineuse au point M selon une direction w particulière sont stockées dans la table de mémoire associée au GPU. Chaque fonction de l'espace fonctionnel peut être écrite comme une combinaison linéaire de fonctions de base, une fonction de base étant un élément d'une base pour un espace fonctionnel. En utilisant une base orthonormée de fonctions sphériques, il est possible de représenter la fonction d'atténuation lumineuse au point M par : R(M) EN`1Cri (M) Bi (M) Equation 7 où R(M) est la fonction d'atténuation lumineuse au point M, Cri(M) est le jième coefficient de projection (sur un total de Nc coefficients) de la fonction de base Bi(M) et où Cri(M) est défini par l'intégrale sur la sphère 0, c'est à dire : Cri (M) = ff R (M, co)Bi (co)dco Equation 8 L'ensemble Nc de coefficients de projection de fonction de base ainsi calculés est stocké dans une table d'une mémoire du GPU. Ces coefficients sont représentatifs de l'atténuation de la lumière, émise par un environnement lumineux comprenant plusieurs sources de lumière, due à la diffusion simple de la lumière depuis toute direction pour un point M particulier donné du milieu 10. De manière avantageuse, les opérations décrites ci-dessus sont réitérées pour un ensemble de points M du milieu 10. Pour chaque point de l'ensemble de points, des coefficients de projection représentatifs de l'atténuation lumineuse selon toutes les directions sont ainsi calculés et enregistrés dans des tables appelées enregistrements d'atténuation (de l'anglais � attenuation record �). Plus le nombre de points M pour lequel les coefficients de projection sont calculés est grand, plus la représentation de l'atténuation lumineuse due à la diffusion simple de la lumière dans le milieu 10 est fine. De la même manière, la fonction de phase du milieu 10 peut être représentée en utilisant une base orthonormée de fonctions sphériques. Nous supposerons que la fonction de phase du milieu 10 est la même en tout point du milieu 10. En projetant la fonction de phase p(wout,win) dans un ensemble Nc de coefficients de projection Cpt (dits troisièmes coefficients de projection) d'une base de fonctions sphériques B, on obtient : Cpj((.wout) = fç! P(Wout,Win) B(coin)choir, Equation 9 Cette projection est réalisée pour un ensemble N de directions w partant du point M sur la sphère O. Les coefficients de projection représentatifs de la fonction de phase du milieu sont stockés dans une table de la mémoire associée à un GPU. Selon une variante, la fonction de phase varie d'un point M à un autre et les coefficients de projection calculés le sont pour un ensemble de points représentatifs du milieu 10. De manière analogue, la fonction décrivant la carte d'environnement 3 représentative de la lumière incidente dans le milieu 10 est représentée en utilisant la base orthonormée de fonctions sphériques. En projetant la fonction représentative de la carte d'environnement 3 dans un ensemble Nc de coefficients de projection Clé (dits deuxièmes coefficients de projection) d'une base de fonctions sphériques B, on obtient : q (coin) = ff Li(win) B(win)dwin Equation 10 où Li(w;n) est la fonction de luminance incidente selon une direction d'incidence w;n. De manière avantageuse, la fonction d'atténuation lumineuse, la fonction de phase et la fonction de luminance incidente sont représentées dans une seule et même base orthonormée de fonctions sphériques. Tel que cela a été décrit en regard de la figure 1, l'équation 1 décrit la quantité de lumière diffusée en un point M 13 du milieu 10 dans la direction de diffusion wout 120 pour un environnement lumineux comprenant une seule source de lumière 11. En partant de cette équation et en l'adaptant à un environnement lumineux 3 comprenant une pluralité de sources lumineuses et décrit par une fonction de luminance incidente, on obtient l'équation de diffusion simple suivante décrivant la lumière transmise par le milieu 10 en un point M selon la direction wout : Q(M,corne) = fi! 6s(M)•p(M,coout,win).Li(win)R(M,win)dwin Equation 11 Les fonctions R, L; et p ont été projetées dans un jeu de coefficients de projections de fonctions de base sphériques, respectivement dans un jeu de premiers coefficients, dans un jeu de deuxièmes coefficients et dans un jeu de troisièmes coefficients. Les coefficients de projections sont respectivement notés {Cri}j=o..n, {CIE}j=o..N et {Cpt}j=o..N. Les coefficients de projection décrivant la fonction d'atténuation lumineuse ayant été estimés pour un ensemble de points du milieu 10 et pas pour la totalité des points du milieu M, les coefficients de projections de R pour les points pour lesquels ils n'ont pas été estimés via l'équation 8 sont calculés par interpolation tel que décrit sur la figure 4. Pour obtenir les premiers coefficients de projection de la fonction d'atténuation au point M 44 située sur la direction d'observation 46 d'un spectateur 45, une interpolation des premiers coefficients de projection de la fonction R estimés pour les quatre points situés dans le voisinage de M 44, à savoir les points 441, 442, 443 et 444, est réalisée. A partir des premiers coefficients de projection représentatifs de l'atténuation de la lumière dans le milieu, la lumière étant issue de l'environnement lumineux (estimés via l'équation 8 décrite en regard de la figure 2 et par interpolation tel que décrit en regard de la figure 4), des deuxièmes coefficients de projection représentatifs de la luminance incidente et des troisièmes coefficients de projection représentatifs de la fonction de phase du milieu 10, il est possible d'estimer l'atténuation globale de la lumière en un point M telle qu'elle est reçue par un spectateur 36 de manière analytique, les ressources en terme de puissance de calcul nécessaire étant très largement inférieures par rapport à celles nécessaires pour une résolution analytique des équations de forme intégrale. Pour calculer le triple produit des fonctions projetées, le produit tenseur bien connu de l'homme du métier est utilisé et on obtient à partir de l'équation 11 :A partir des équations 2, 8 et 11, il est alors possible d'estimer la quantité de lumière émise par un point M 13 du milieu et reçue par un spectateur 12 regardant dans la direction wout. On obtient ainsi : Q(M,coout) Ei CPi(>; >k r'JkiCIJCrk) Equation 12 où I-ik; représente le produit tenseur, qui est calculée selon : rjki = ff Mw)Bk(w)Bi(w)dw) Equation 13 L'équation 12 représente la quantité de lumière émise par un point M et reçue par un spectateur. Pour obtenir la quantité totale de lumière reçue par un spectateur situé en un point C regardant dans la direction wout 120, il suffit de faire la somme des quantités de lumière élémentaires émises par l'ensemble des points M; allant de P à Mmax. On obtient pour cela : Q (C, wout) E p max L P (M, wout) SM Equation 14 Pour obtenir la quantité de lumière totale diffusée par le milieu 10 et reçue par le spectateur 12, les estimations décrites ci-dessus sont réitérées pour toutes les directions partant de l'utilisateur et traversant le milieu 10. La somme des quantités de lumière reçues par le spectateur selon chaque direction d'observation fournit la quantité de lumière reçue du milieu 10 par le spectateur 12. La figure 5 illustre schématiquement un exemple de réalisation matérielle d'un dispositif 5 adapté à l'estimation de la quantité de lumière diffusée par un milieu participant hétérogène 10 et à la création de signaux d'affichage d'une ou plusieurs images. Le dispositif 5 correspondant par exemple à un ordinateur personnel PC, à un ordinateur portable (de l'anglais � laptop �) ou à une console de jeux. Le dispositif 5 comprend les éléments suivants, reliés entre eux par un bus 45 d'adresses et de données qui transporte également un signal d'horloge : - un microprocesseur 51 (ou CPU) ; - une carte graphique 52 comprenant : • plusieurs processeurs de traitement graphique 520 (ou GPUs) ; • une mémoire vive de type GRAM (de l'anglais � Graphical Random Access Memory �) 521 ; - une mémoire non volatile de type ROM (de l'anglais � Read Only Memory �) 56 ; - une mémoire vive ou RAM (de l'anglais � Random Access Memory �) 57 ; - un ou plusieurs dispositifs I/O (de l'anglais � Input/Output � ou en français � Entrée/Sortie �) 54, tels que par exemple un clavier, une souris, une webcam ; et - une alimentation 58. Le dispositif 5 comprend également un dispositif d'affichage 53 de type écran d'affichage relié directement à la carte graphique 52 pour afficher notamment le rendu d'images de synthèse calculées et composées dans la carte graphique, par exemple en temps réel. L'utilisation d'un bus dédié pour relier le dispositif d'affichage 53 à la carte graphique 52 offre l'avantage d'avoir des débits de transmission de données beaucoup plus important et ainsi de diminuer le temps de latence pour l'affichage d'images composées par la carte graphique. Selon une variante, un appareil pour afficher est externe au dispositif 5 et est relié au dispositif 5 par un câble transmettant les signaux d'affichage. Le dispositif 5, par exemple la carte graphique 52, comprend un moyen de transmission ou connecteur (non représenté sur la figure 5) adapté à transmettre un signal d'affichage à un moyen d'affichage externe tel que par exemple un écran LCD ou plasma, un vidéoprojecteur. On observe que le mot � registre � utilisé dans la description des mémoires 52, 56 et 57 désigne dans chacune des mémoires mentionnées, aussi bien une zone de mémoire de faible capacité (quelques données binaires) qu'une zone mémoire de grande capacité (permettant de stocker un programme entier ou tout ou partie des données représentatives de données calculées ou à afficher). A la mise sous tension, le microprocesseur 51 charge et exécute les instructions du programme contenu dans la RAM 57. La mémoire vive 57 comprend notamment : - dans un registre 530, le programme de fonctionnement du microprocesseur 51 chargé à la mise sous tension du dispositif 5, - des paramètres 571 représentatifs du milieu participant hétérogène 10 (par exemple paramètres de densité, de coefficients d'absorption de la lumière, de coefficients de diffusion de la lumière). Les algorithmes mettant en oeuvre les étapes du procédé propres à l'invention et décrits ci-après sont stockés dans la mémoire GRAM 57 de la carte graphique 52 associée au dispositif 5 mettant en oeuvre ces étapes. A la mise sous tension et une fois les paramètres 570 représentatifs du milieu chargés en RAM 47, les processeurs graphiques 520 de la carte graphique 52 charge ces paramètres en GRAM 521 et exécute les instructions de ces algorithmes sous la forme de microprogrammes du type � shader � utilisant le langage HLSL (de l'anglais � High Level Shader Language � ou en français � Langage de programmation � shader � de haut niveau �), le langage GLSL (de l'anglais � OpenGL Shading language � ou en français � Langage de shaders OpenGL �) par exemple. La mémoire vive GRAM 521 comprend notamment : - dans un registre 5210, les paramètres représentatifs du milieu 10, - des premiers coefficients de projection 5211 représentatifs de l'intensité lumineuse réduite en chaque point du milieu 10 ; - des valeurs de réduction d'intensité lumineuse 5212 pour chaque point du milieu 10 ; - des deuxièmes coefficients de projection 5213 représentatifs de la luminance incidente en chaque point du milieu 10 ; - des troisièmes coefficients de projection 5214 représentatifs de la fonction de phase en chaque point du milieu 10 ; et - des valeurs 5215 représentatives de la quantité de lumière diffusée par le milieu 10 selon une ou plusieurs directions d'observation. Selon une variante, une partie de la RAM 57 est allouée par le CPU 51 pour stocker les coefficients 5211, 5213 et 5214 et les valeurs 5212 et 5215 si l'espace mémoire disponible en GRAM 521 est insuffisant. Cette variante entraîne cependant des temps de latence plus important dans la composition d'une image comprenant une représentation du milieu 10 composée à partir des microprogrammes contenus dans les GPUs puisque les données doivent être transmises de la carte graphique à la mémoire vive 57 en passant par le bus 55 dont les capacités de transmission sont généralement inférieures à celles disponibles dans la carte graphique pour faire passer les données des GPUs à la GRAM et vice-versa. Selon une autre variante, l'alimentation 58 est externe au dispositif 5. La figure 6 illustre un procédé d'estimation de la quantité de lumière diffusée par un milieu participant hétérogène mis en oeuvre dans un dispositif 5, selon un premier exemple de mise en oeuvre non limitatif particulièrement avantageux de l'invention. Au cours d'une étape d'initialisation 60, les différents paramètres du dispositif 5 sont mis à jour. En particulier, les paramètres représentatifs du milieu participant hétérogène 10 sont initialisés d'une manière quelconque. Ensuite, au cours d'une étape 61, des premiers coefficients de projection d'une fonction de base dans une base orthonormée de fonctions sphériques sont estimés, ces premiers coefficients de projection étant représentatifs de la réduction de l'intensité lumineuse en un point donné du milieu participant hétérogène 10. Pour ce faire, une pluralité de valeurs représentatives de la réduction de l'intensité lumineuse sont calculées pour le point donné M 34 du milieu 10 pour une pluralité de directions d'incidence données. Chaque valeur représentative de la réduction d'intensité lumineuse correspond à une direction d'incidence donnée parmi la pluralité de directions d'incidence. Pour chaque direction d'incidence de la pluralité de directions d'incidence partant de l'environnement lumineux pour rejoindre le point M 34, la valeur représentative de la réduction de l'intensité lumineuse au point M 34 est calculée en utilisant toute méthode d'échantillonnage connue de l'homme du métier, avantageusement en utilisant la méthode dite d'échantillonnage de rayon (de l'anglais � ray-marching algorithm �). La pluralité de directions d'incidence w (ou w;n) pour lesquelles sont calculées les valeurs représentatives de la réduction d'intensité lumineuse au point M forment une sphère 0 ayant pour centre M. Le nombre de directions w pour lesquelles sont calculées les valeurs représentatives de la réduction d'intensité lumineuse au point M est choisi de manière à trouver le meilleur compromis entre la puissance de calcul nécessaire au calcul de ces valeurs et la précision de l'estimation de la réduction d'intensité lumineuse au point M souhaité par un utilisateur du dispositif 5. Choisir un nombre de directions w revient à échantillonner la sphère 0 ayant pour centre M. De manière avantageuse, l'étape 61 est réitérée pour chaque point d'un premier ensemble de points (par exemple 50, 100 ou 1000 points) représentatif du milieu 10. On obtient alors des premiers coefficients de projection représentatifs de la réduction de l'intensité lumineuse en chacun des points du premier ensemble de points. Autrement dit, un ensemble de premiers coefficients de projection correspond à un point du milieu et il y a autant d'ensembles de premiers coefficients de projection calculés qu'il y a de points dans le premier ensemble de points représentatifs du milieu 10. Pour obtenir les premiers coefficients de projections pour les points du milieu pour lesquels ces premiers coefficients n'ont pas été calculés, une interpolation des premiers coefficients de projection calculés est utilisée. Puis, au cours d'une étape 62, la quantité de lumière diffusée par le milieu 10 selon une direction d'émission 120 est estimée en utilisant les premiers coefficients de projection estimés précédemment. Pour ce faire, le segment de droite correspondant à l'intersection de la direction d'émission 120 avec le milieu 120, c'est-à-dire le segment [PMmax] est discrétisé spatialement en une multitude de points ou de morceaux élémentaires représentatifs de ce segment. Pour chaque point de ce segment (respectivement chaque morceau élémentaire), on applique l'équation 12 en utilisant les premiers coefficients de projection estimés précédemment. Selon une variante, la méthode d'échantillonnage de rayon est mise en oeuvre pour estimer la réduction de l'intensité lumineuse entre un point du segment considéré et le point P 15 situé à la périphérie du milieu 10 dans la direction d'émission 120. L'utilisation de premiers coefficients de projection représentatifs de la réduction de l'intensité lumineuse en des points du milieu permet de simplifier les calculs à mettre en oeuvre tout en fournissant une estimation réaliste de la réduction de l'intensité lumineuse dans un milieu hétérogène. Aucun pré-calcul n'est alors nécessaire pour effectuer le rendu de la diffusion de la lumière dans un milieu participant hétérogène, autorisant le rendu temps réel de tels milieux dans des applications interactives de type jeu vidéo par exemple dans lequel l'utilisateur est amené à se déplacer virtuellement dans un espace comprenant un ou plusieurs milieux participants hétérogènes. De manière avantageuse, la quantité de lumière diffusée par le milieu 10 est estimée pour plusieurs directions d'émission. En faisant la somme de ces quantités de lumière estimées pour une pluralité de direction d'émission, on obtient la quantité de lumière totale diffusée par le milieu 10 et perçue par un spectateur observant le milieu 10. Les étapes 61 et 62 sont avantageusement réitérées au fur et à mesure qu'un spectateur 12 se déplace autour du milieu 10, l'image formant le rendu du milieu 10 étant recomposée pour chaque déplacement élémentaire du spectateur 12 autour du milieu 10. La figure 7 illustre un procédé d'estimation de la quantité de lumière diffusée par un milieu participant hétérogène mis en oeuvre dans un dispositif 5, selon un deuxième exemple de mise en oeuvre non limitatif particulièrement avantageux de l'invention. Au cours d'une étape d'initialisation 70, les différents paramètres du dispositif 5 sont mis à jour. En particulier, les paramètres représentatifs du milieu participant hétérogène 10 sont initialisés d'une manière quelconque. Ensuite, au cours des étapes 71 et 72, des valeurs de réduction de l'intensité lumineuse sont estimées en une pluralité de points du milieu 10 puis des premiers coefficients de projection sont estimés de la même manière que celle décrite en regard de l'étape 61 de la figure 6. Les étapes 71 et 72 ne sont donc pas détaillées à nouveau ici. Puis au cours d'une étape 73, des deuxièmes coefficients de projection représentatifs de la luminance incidente sont estimés pour un ensemble de points de l'environnement lumineux 3, les points de l'ensemble étant représentatifs de l'environnement lumineux. Pour ce faire, la fonction décrivant la carte d'environnement 3 (dite fonction de luminance incidente) représentative de la lumière incidente dans le milieu 10 est représentée en utilisant la base orthonormée de fonctions sphériques ayant servi à représenter la fonction d'atténuation lumineuse. La fonction représentative de la carte d'environnement 3 est ainsi projetée dans un ensemble de deuxièmes coefficients de projection d'une base de fonctions sphériques. De manière avantageuse, ces deuxièmes coefficients sont stockés dans une table d'une mémoire associée à un ou plusieurs GPUs de la carte graphique du dispositif 5. Les deuxièmes coefficients de projection sont avantageusement identiques en tout point de l'environnement lumineux. Selon une variante, les deuxièmes coefficients de projection varient d'un point à un autre ou d'un ensemble de points à un autre appartenant à l'environnement lumineux. Puis au cours d'une étape 74, des troisièmes coefficients de projection représentatifs de la fonction de phase du milieu 10 sont estimés pour un deuxième ensemble de points du milieu 10, les points de l'ensemble étant représentatifs de l'environnement lumineux. Pour ce faire, la fonction décrivant la fonction de phase du milieu 10 est représentée en utilisant la base orthonormée de fonctions sphériques ayant servi à représenter la fonction d'atténuation lumineuse et la fonction de luminance incidente. La fonction de phase est ainsi projetée dans un ensemble de troisièmes coefficients de projection d'une base de fonctions sphériques. De manière avantageuse, ces troisièmes coefficients sont stockés dans une table d'une mémoire associée à un ou plusieurs GPUs de la carte graphique du dispositif 5. Les troisièmes coefficients de projection sont avantageusement identiques en tout point du milieu. Selon une variante, les troisièmes coefficients de projection varient d'un point à un autre ou d'un ensemble de points à un autre appartenant au milieu 10. Selon une variante, les étapes 73 et 74 sont exécutées avant les étapes 71 et 72. Selon une autre variante, les étapes 72, 73 et 74 sont exécutées simultanément, par exemple en parallèle sur des GPUs dédiés. Puis au cours d'une étape 75, les premiers coefficients de projection précédemment estimés sont enregistrés et stockés dans une structure de données composé de tables enregistrées dans une mémoire associée aux GPUs. Ces enregistrements sont appelés enregistrements d'atténuation. Les tables d'enregistrement d'atténuation comprennent de manière avantageuse l'ensemble des premiers coefficients de projection des points du milieu 10, que ces premiers coefficients aient été calculés à partir de l'équation 8 ou par interpolation à partir des premiers coefficients calculés via l'équation 8. Il existe un ensemble de premiers coefficients de projection par point du milieu 10 ou selon une variante pour un ensemble de points représentatifs du milieu 10. Un tel stockage des premiers coefficients de projection offre l'avantage d'accélérer les calculs d'estimation de la quantité de lumière diffusée par le milieu 10 et perçue par un spectateur, les premiers coefficients de projection représentatifs de la réduction de l'intensité lumineuse incidente étant disponible à tout moment et de manière immédiate pour une utilisation dans les équations 12 et 13. De la même manière, l'enregistrement des deuxièmes coefficients de projection et des troisièmes coefficients de projections dans des tables dédiées accélèrent les calculs, notamment lorsque les deuxièmes et troisièmes coefficients varient d'un point à un autre (respectivement de l'environnement lumineux 3 et du milieu 10). Enfin, au cours d'une étape 76, la quantité de lumière diffusée est estimée de la même manière que celle décrite en regard de l'étape 62 de la figure 5. Bien entendu, l'invention ne se limite pas aux modes de réalisation décrits précédemment.35 En particulier, l'invention n'est pas limitée à un procédé d'estimation de la quantité de lumière diffusée par un milieu participant hétérogène mais s'étend également à tout dispositif mettant en oeuvre ce procédé et notamment tous les dispositifs comprenant au moins un GPU. La mise en oeuvre des équations décrites en regards des figures 1 à 4 pour l'estimation des premiers, deuxièmes et troisièmes coefficients de projection, des réduction d'intensité lumineuse, de la quantité de lumière diffusée n'est pas non plus limitée à une mise en oeuvre dans des microprogrammes de type shader mais s'étend également à une mise en oeuvre dans tout type de programme, par exemple des programmes exécutables par un microprocesseur de type CPU. De manière avantageuse, les fonctions de base utilisées pour l'estimation des coefficients de projections sont des fonctions de type harmoniques sphériques ou de type ondelettes sphériques. L'utilisation de l'invention n'est pas limitée à une utilisation temps réel mais s'étend également à toute autre utilisation, par exemple pour les traitements dits de postproduction en studio d'enregistrement pour le rendu d'images de synthèse par exemple. La mise en oeuvre de l'invention en postproduction offre l'avantage de fournir un excellent rendu visuel en termes de réalisme notamment tout en diminuant les temps de calcul nécessaires. L'invention concerne également un procédé de composition d'une image vidéo, en deux dimensions ou en trois dimensions, pour lequel la quantité de lumière diffusée par un milieu participant hétérogène est calculée et l'information représentative de la luminance qui en découle est utilisée pour l'affichage des pixels de l'image, chaque pixel correspondant à une direction d'observation selon une direction d'observation wout. La valeur de luminance calculée pour affichage par chacun des pixels de l'image est recalculée pour s'adapter aux différents points de vue du spectateur. La présente invention peut être utilisée dans des applications de jeux vidéo par exemple, que ce soit par des programmes exécutables dans un ordinateur de type PC ou portable ou dans des consoles de jeux spécialisées produisant et affichant des images en temps réel. Le dispositif 5 décrit en regard de la figure 5 est avantageusement doté de moyens d'interactions tels que clavier et/ou manette de jeux, d'autres modes d'introduction de commandes telle que par exemple la reconnaissance vocale étant également possibles. REVENDICATIONS1. Procédé d'estimation de la quantité de lumière diffusée par un milieu participant hétérogène (10), la lumière étant émise par un environnement lumineux comprenant une pluralité de sources lumineuses, caractérisé en ce que le procédé comprend les étapes de : - estimation de premiers coefficients de projection dans une base orthonormée de fonctions sphériques, lesdits premiers coefficients de projection étant représentatifs de la réduction d'intensité lumineuse en un point (34) dudit milieu, ladite estimation des premiers coefficients de projection étant réalisée pour chaque point d'un premier ensemble de points dudit milieu, et - estimation de la quantité de lumière diffusée par ledit milieu, selon au moins une direction de diffusion de la lumière (120), à partir desdits premiers coefficients de projection estimés. 2. Procédé selon la revendication 1, caractérisé en ce chacun desdits premiers coefficients de projection est estimé à partir de valeurs de réduction d'intensité lumineuse estimées le long d'une pluralité de directions particulières d'émission de lumière. 3. Procédé selon la revendication 2, caractérisé en ce que l'estimation desdites valeurs de réduction d'intensité lumineuse est réalisée par échantillonnage desdites directions particulières d'émission de lumière. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'il comprend une étape d'estimation de deuxièmes coefficients de projection dans ladite base orthonormée de fonctions sphériques, lesdits deuxièmes coefficients de projection étant représentatifs de la luminance incidente pour un ensemble de points dudit environnement lumineux. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'il comprend une étape d'estimation de troisièmes coefficients de projection dans ladite base orthonormée de fonctions sphériques, lesdits troisièmes coefficients de projection étant représentatifs de la fonction de phase pour un deuxième ensemble de points dudit milieu. 10 6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que ladite estimation de la quantité de lumière diffusée par ledit milieu est réalisée par discrétisation dudit milieu le long de la au moins une direction de diffusion. 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que ladite estimation de la quantité de lumière diffusée par ledit milieu est réalisée en utilisant la méthode d'échantillonnage de rayon. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que lesdits premiers coefficients de projection sont stockés dans une table d'une mémoire associée à au moins un processeur graphique. 15