Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF ESTIMATING DIFFUSION OF LIGHT
Document Type and Number:
WIPO Patent Application WO/2012/000847
Kind Code:
A2
Abstract:
The invention relates to a method of estimating the amount of light diffused by a heterogeneous participant medium (10). In order to improve rendition whilst minimizing the necessary calculation times, the method comprises the steps of: - estimation of coefficients of projection in a function basis with the help of values representative of density for a set of points (13) of said medium that are situated along at least one direction of emission (110) of light by a light source (11), and - estimation of the amount of light diffused by said medium (10), according to at least one direction of diffusion (120) of the light, with the help of said estimated projection coefficients.

Inventors:
DELALANDRE CYRIL (FR)
GAUTRON PASCAL (FR)
MARVIE JEAN-EUDES (FR)
Application Number:
PCT/EP2011/060373
Publication Date:
January 05, 2012
Filing Date:
June 21, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
THOMSON LICENSING (FR)
DELALANDRE CYRIL (FR)
GAUTRON PASCAL (FR)
MARVIE JEAN-EUDES (FR)
International Classes:
G06T15/50
Domestic Patent References:
WO2009003143A22008-12-31
Other References:
NIELSEN M B: "Course Notes for Simulating Fluids in CG Ray Marching", INTERNET CITATION, [Online] 7 avril 2009 (2009-04-07), pages 1-4, XP002596943, Extrait de l'Internet: URL:http://www.daimi.au.dk/~bang/fluids2009/raymarching.pdf> [extrait le 2010-08-11]
ANONYMOUS: "Discrete cosine transform", INTERNET CITATION, [Online] 2 septembre 2009 (2009-09-02), pages 1-9, XP002596944, Extrait de l'Internet: URL:http://en.wikipedia.org/w/index.php?title=Discrete_cosine_transform&oldid=311440997> [extrait le 2010-08-12]
Anonymous: "Particle System", , 31 mars 2010 (2010-03-31), pages 1-4, XP002667656, Extrait de l'Internet: URL:HTTP://EN.WIKIPEDIA.ORG/W/INDEX.PHP?TITLE=PARTICLE_SYSTEM&OLDID=353246697 [extrait le 2012-01-15]
Maierhofer, Stefan: "A Flexible Framework for Volume Tracing", , 6 avril 2000 (2000-04-06), pages 1-11, XP002667623, Extrait de l'Internet: URL:http://www.cescg.org/CESCG-2000/SMaierhofer/paper.pdf [extrait le 2012-01-13]
EVA CEREZO ET AL: "A survey on participating media rendering techniques", THE VISUAL COMPUTER ; INTERNATIONAL JOURNAL OF COMPUTER GRAPHICS, SPRINGER, BERLIN, DE, vol. 21, no. 5, 1 juin 2005 (2005-06-01), pages 303-328, XP019339111, ISSN: 1432-8726, DOI: 10.1007/S00371-005-0287-1
Attorney, Agent or Firm:
PERROT, Sebastien et al. (FR)
Download PDF:
Claims:
REVENDICATIONS

1 . Procédé d'estimation de la quantité de lumière diffusée par un milieu participant hétérogène (10), caractérisé en ce que le procédé comprend les étapes de :

- estimation (51 ) de coefficients de projection (421 1 ) dans une base de fonction à partir de valeurs représentatives de densité pour un ensemble d'éléments dudit milieu situés le long d'au moins une direction d'émission (1 10) de lumière par une source lumineuse (1 1 ), et

- estimation (52) de la quantité de lumière diffusée par ledit milieu (10), selon au moins une direction de diffusion (120) de la lumière, à partir desdits coefficients de projection estimés.

2. Procédé selon la revendication 1 , caractérisé en ce que les éléments du milieu participant hétérogène (10) sont des points ou des particules.

3. Procédé selon l'une des revendications 1 à 2, caractérisé en ce que l'estimation desdits coefficients de projection est indépendante de la longueur d'onde de la lumière émise par la source lumineuse (1 1 ).

4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que les coefficients de projection (421 1 ) sont estimés en prenant en compte un facteur d'échelle Δ prédéterminé.

5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que les coefficients de projection (421 1 ) sont estimés en utilisant une méthode d'échantillonnage de rayon, le milieu participant hétérogène (10) étant composé de points.

6. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que les coefficients de projection (421 1 ) sont estimés en utilisant une méthode d'addition de particules, le milieu participant hétérogène (10) étant composé de particules.

7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce qu'il comprend une étape d'estimation de valeurs représentatives de la réduction d'intensité lumineuse à partir des coefficients de projection (421 1 ) estimés. 8. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que ladite estimation (52) de la quantité de lumière diffusée par ledit milieu participant hétérogène (10) est réalisée par discrétisation dudit milieu le long de la au moins une direction de diffusion (120). 9. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que ladite estimation (52) de la quantité de lumière diffusée par ledit milieu participant hétérogène (10) est réalisée en utilisant une méthode d'échantillonnage de rayon. 10. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que ladite estimation (52) de la quantité de lumière diffusée par ledit milieu participant hétérogène (10) est réalisée en utilisant une méthode d'addition de particules. 1 1 . Procédé selon l'une des revendications 1 à 9, caractérisé en ce que lesdits coefficients de projection (421 1 ) sont stockés dans une texture de projection (30).

Description:
PROCEDE D'ESTIMATION DE DIFFUSION DE LA LUMIERE

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 part 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 participant hétérogène, 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 postproduction 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 WO2009/003143 déposée par Microsoft Corporation et publiée le 31 décembre 2008. L'invention objet de la demande WO2009/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 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 coefficients de projection dans une base de fonction à partir de valeurs représentatives de densité pour un ensemble d'éléments du milieu participant hétérogène situés le long d'au moins une direction d'émission de lumière par une source lumineuse, et - estimation de la quantité de lumière diffusée par le milieu participant hétérogène, selon au moins une direction de diffusion de la lumière, à partir des coefficients de projection estimés.

De manière avantageuse, les éléments du milieu participant hétérogène sont des points ou des particules.

Selon une caractéristique spécifique, l'estimation des coefficients de projection est indépendante de la longueur d'onde de la lumière émise par la source lumineuse.

Selon une caractéristique particulière, les coefficients de projection sont estimés en prenant en compte un facteur d'échelle Δ prédéterminé.

Avantageusement, les coefficients de projection sont estimés en utilisant une méthode d'échantillonnage de rayon, le milieu participant hétérogène étant composé de points.

Selon une caractéristique spécifique, les coefficients de projection sont estimés en utilisant une méthode d'addition de particules, le milieu participant hétérogène étant composé de particules.

De manière avantageuse, le procédé comprend une étape d'estimation de valeurs représentatives de la réduction d'intensité lumineuse à partir des coefficients de projection estimés.

Selon une caractéristique particulière, l'estimation de la quantité de lumière diffusée par ledit milieu est réalisée par discrétisation du milieu participant hétérogène 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 participant hétérogène est réalisée en utilisant une méthode d'échantillonnage de rayon.

Avantageusement, l'estimation de la quantité de lumière diffusée par le milieu participant hétérogène est réalisée en utilisant une méthode d'addition de particules.

Selon une autre caractéristique, les coefficients de projection sont stockés dans une texture de projection.

4. Liste des figures.

L'invention sera mieux comprise, et d'autres particularités et 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 ;

- la figure 2 illustre schématiquement une méthode d'estimation de l'atténuation de la lumière dans un milieu de la figure 1 , 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 , selon un mode de réalisation particulier de l'invention ;

- la figure 4 illustre un dispositif mettant en œuvre une méthode d'estimation de la quantité de lumière diffusée, selon un exemple de mise en œuvre particulier de l'invention ;

- la figure 5 illustre un procédé d'estimation de la quantité de lumière diffusée, selon un mode de réalisation particulier 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 média »), 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 1 1 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 1 1 selon une direction ω ίη 1 10 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 ω ίη 1 10 et la direction de diffusion ω 0 ι* 120 de la lumière. La quantité de lumière diffusée en un élément (assimilé à un point ou à une particule définie par un centre et un rayon d'influence, une particule regroupant avantageusement un ensemble de points ayant les mêmes propriétés) M 13 du milieu 10 dans la direction de diffusion out 120 est calculée par l'équation suivante :

La quantité de lumière diffusée par un élément M 13 du milieu atteignant l'œil d'un spectateur 12 situé en un point C de l'espace dans la direction out 120, c'est-à-dire la quantité de lumière diffusée par l'élément 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 out dans la direction du spectateur 12, est alors :

pour laquelle :

• o s est le coefficient de diffusion du milieu,

• σ 3 est le coefficient d'absorption du milieu,

• Ox=o s +o a est le coefficient d'extinction du milieu,

• D(M) ou D(s) est la densité du milieu en un élément donné, la densité variant d'un élément à un autre puisque le milieu 10 est hétérogène,

• ρ(Μ,ω 0 υί,ωίη) est la fonction de phase décrivant comment la lumière provenant de la direction d'incidence ω,η est diffusée dans la direction de diffusion ω 0 ι* à l'élément M,

· L ri (M,cj0in) est l'intensité lumineuse réduite à l'élément M provenant de la direction d'incidence ω,η 1 10 et représente la quantité de lumière incidente arrivant à l'élément 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 ω,η 1 10, et vaut :

avec a t (s) = o t . D(s)

re p r ésente l'atténuation de luminance diffusée due à

l'absorption et à la diffusion le long du chemin allant de P 15 à M 13.

L'équation 2 permet de calculer la quantité de lumière diffusée par un élément M et atteignant l'œil d'un spectateur 12 situé sur la direction ω 0 Λ . Pour calculer la quantité de lumière reçue par un spectateur regardant dans la direction ω 0 Λ, il faut alors effectuer la somme de toutes les contributions de l'ensemble des éléments du milieu situés sur l'axe ou t, c'est-à-dire les éléments situés sur le segment P-M max , P et M max étant les deux points d'intersection entre le milieu 10 et la direction ou t 120. Cette luminance diffusée totale arrivant en P 15 depuis la direction ou t 120 due à la diffusion simple est alors :

Dans ce cas de figure, on suppose que la lumière parcourant le trajet C-P n'est pas atténuée.

Cette luminance diffusée totale est obtenue par intégration des contributions de tous les éléments situés entre P et M max sur un rayon ayant ajout 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 5M et on obtient l'équation suivante :

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é.

De manière avantageuse, le milieu participant hétérogène 10 est formé d'une multitude de points, une valeur de densité étant associé à chaque point. Les valeurs de densité sont avantageusement stockées dans une texture dite texture de densité.

Selon une variante, le milieu participant hétérogène 10 est formé

(et représenté par) d'une pluralité de particules, une particule étant assimilée à une sphère caractérisé par son centre et un rayon d'influence. Une particule regroupe plusieurs points ayant des propriétés identiques (par exemple la densité). Selon cette variante, une valeur de densité est associée à chaque particule. La figure 2 illustre une méthode d'estimation de l'atténuation de la lumière issue d'une source de lumière 1 1 dans le milieu participant hétérogène 10, et plus particulièrement l'application de la méthode d'échantillonnage de rayon pour estimer l'atténuation de la lumière dans le milieu 10, 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 1 1 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 2, le terme de l'équation 1 représentatif de l'atténuation de la lumière reçue de la source lumineuse 1 1 dans le milieu 10 est estimé. Le terme représentatif de l'atténuation de la diffusion simple en un point M du milieu 10 est représenté par l'équation suivante, équivalente à l'équation 3 : où Atti_(M) est l'atténuation de l'intensité lumineuse au point M 13 et représente la quantité de lumière incidente arrivant au point M après atténuation,

D(s) est la densité du milieu,

θχ est le coefficient d'extinction du milieu, correspondant à la somme du coefficient de diffusion du milieu a s et du coefficient d'absorption du milieu

O a (O t = O s + O a ).

De manière avantageuse, a t (s) = o t . D(s), ce qui revient à dire que c'est la densité qui varie d'un point à un autre du milieul O. Selon une variante, la densité est constante d'un point à un autre et c'est le coefficient d'extinction qui varie d'un point à un autre ou d'une particule à une autre.

Pour simplifier et accélérer les calculs nécessaires à l'estimation de l'atténuation de l'intensité lumineuse au point M 13, les valeurs représentatives de la densité D(s) sont projetées le long du rayon d'incidence correspondant à l'intersection entre la direction d'incidence ω,η 1 10 et le milieu 10, par exemple en utilisant la fonction DCT inverse (de l'anglais « Discrète Cosine Transform » ou en français « Transformée en cosinus discret »). Pour rappel, chaque fonction f(x) (par exemple la fonction représentative de la densité) d'un espace fonctionnel peut être représentée comme une combinaison linéaire de fonctions de base : où η est le j' eme coefficient de la fonction de base B j défini par :

En prenant comme exemple la base de fonction DCT (de l'anglais « Discrète Cosine Transform » ou en français « Transformée en cosinus discret »), on a la formule suivante pour estimer le j eme coefficient de projection C j :

avec : II est ensuite possible de reconstruire la fonction f(x) en utilisant la fonction de DCT inverse, à savoir : En partant de l'équation 6 et en projetant les valeurs représentatives de la fonction a t (s) (ce qui revient à projeter les valeurs de densité D(s)) le long du rayon d'incidence correspondant à l'intersection entre la direction d'incidence ω ιη 1 10 et le milieu 10 en utilisant la fonction DCT inverse, on obtient :

Cette équation 1 1 pouvant être réécrite de la manière suivante :

Un avantage offert par cette équation 12 est qu'elle peut être résolue simplement de la manière suivante :

Et le terme q est obtenu par en transformant la fonction a t D(x) en DCT en utilisant une méthode de type ray-marching par exemple :

En effet, pour estimer le j' eme coefficient de projection η au point M, le domaine d'intégration situé sur la direction d'incidence 1 10 considérée entre le point d'entrée K 14 du rayon lumineux 1 10 dans le milieu 10 et un point considéré du milieu 10 est discrétisé en une série d'intervalles 201 , 202, 20i, 20i+1 , 20n de taille 5 S . Par ailleurs, la densité varie également d'un point à un autre, la densité étant égale à D en K et à D, en fonction de la position du point M, sur le rayon d'incidence ω ίη 1 10. Pour calculer le j' eme coefficient η au point M par exemple à partir de l'équation 14, on effectue la somme des contributions des points K, M2 et M auxquels sont associées les valeurs de densité D ; D 2 , DM . La variable xi de l'équation 14 correspond à la distance entre K 14 et le point considéré le long du rayon d'incidence considéré (par exemple M 2 ou M lors du calcul de q au point M).

L'ensemble de coefficients de projection des fonctions de base ainsi calculés est stocké dans une texture de projection (de l'anglais « projective texture map » ou « projective texturing »), une telle texture de projection pouvant être comparée à une carte d'ombre (de l'anglais « shadow map »). Les coefficients calculés sont représentatifs de la densité (ou de la variation de densité) le long de la direction d'émission associée à chaque élément (dit texel) de la texture de projection. Une représentation graphique de la variation de la densité selon une direction donnée 1 10 est rendue possible en utilisant ces coefficients de fonction de base, telle que représentée en 20 sur la figure 2.

L'utilisation des coefficients de projection représentatifs de la densité permet de calculer rapidement l'atténuation de la lumière au point M 13 le long de la direction d'incidence 1 10, l'atténuation de la lumière étant calculée à l'aide de l'équation 6 : En appliquant la méthode de ray-marching pour l'estimation de cette atténuation de la lumière au point M, on obtient l'équation suivante :

On obtient alors à partir des équations 1 1 et 16 l'équation suivante :

L'estimation de Att L (M) est rapide du fait que les coefficients de projection cj ont été estimés précédemment (et avantageusement stockés dans une texture de projection). Il est alors simple de retrouve Lri(M) puisque L r i(M) est égale au produit de Att L (M) par la quantité de lumière émise par la source de lumière 1 1 le long de la direction d'émission de la lumière. Lri(M) est ainsi équivalent à Att L (M) à un facteur près.

Le coefficient d'extinction du milieu a t étant dépendant de la longueur d'onde de la lumière émise par la source lumineuse, il s'avère nécessaire de calculer un ensemble de coefficients de fonction de base pour chaque composante élémentaire de la lumière, par exemple les composantes R, G et B (de l'anglais « Red, Green, Blue » ou en français « Rouge, vert, bleu »), chaque composante R, G et B ayant une longueur d'onde particulière ou encore les composantes R, G, B et Y (de l'anglais « Red, Green, Blue, Yellow » ou en français « Rouge, vert, bleu, jaune »). Pour éviter ces nombreux calculs et ainsi accélérer les traitements nécessaires à l'estimation de ces coefficients et aussi pour minimiser l'espace mémoire nécessaire au stockage de ces coefficients de fonction de base, l'estimation des coefficients de fonction de base est réalisée indépendamment de la longueur d'onde de la lumière émise par la source lumineuse selon une variante avantageuse de l'invention. Pour ce faire, le terme a t est sorti de l'équation 7 qui devient :

Le coefficient a t sorti de l'équation 18 est pris en compte lors de l'estimation de la quantité de lumière émise par le point M comme cela sera expliqué en regard de la figure 3.

Selon une autre variante, un facteur d'échelle Δ est introduit dans l'équation 15 ou dans l'équation 18. Ce facteur d'échelle Δ permet avantageusement de diminuer l'influence de la densité dans les équations 15 ou 18 et permet notamment de réduire, voire supprimer, les artéfacts d'oscillation (de l'anglais « ringing artifact »), ou effets de Gibbs, dus à la transformation de l'intensité réduite de la lumière dans l'espace fonctionnel, par exemple dans l'espace de Fourier. Les équations 15 et 18 deviennent alors selon cette variante :

Le facteur d'échelle Δ est avantageusement paramétrable et déterminé par l'utilisateur et est par exemple égal à deux fois le maximum de densité du milieu, ou à plus de deux fois le maximum de densité, par exemple trois ou quatre fois le maximum de densité.

De manière avantageuse, les opérations décrites ci-dessus sont réitérées pour chaque direction d'éclairage (ou direction d'incidence ou rayon lumineux) partant de la source de lumière 1 1 et traversant le milieu 10. Pour chaque rayon lumineux, les coefficients de fonction de base représentatifs de la densité au fur et à mesure de la traversée du milieu sont stockés dans la texture de projection. La texture de projection comprend alors tous les coefficients de projections représentatifs de la densité dans le milieu.

La figure 3 illustre une méthode d'estimation de diffusion simple de la lumière dans le milieu participant hétérogène 10, plus particulièrement l'application de la méthode d'échantillonnage de rayon pour estimer cette diffusion simple dans le milieu 10, et plus généralement une méthode d'estimation de diffusion de la lumière par le milieu 10 en utilisant les coefficients de fonction de base calculés précédemment, selon un mode de réalisation particulier de l'invention. Pour calculer la diffusion simple de la lumière dans le milieu 10, la méthode d'échantillonnage de rayon est mise en œuvre selon un mode de réalisation non limitatif de l'invention. Dans un premier temps, le facteur d'atténuation de la lumière d'un point M 13 du milieu 10 correspondant à l'atténuation de la lumière sur le trajet allant de M 13 à P 15, est estimé par l'équation suivante : la densité D(s) d'un élément s (c'est-à-dire du point M, considéré, la position du point M, allant de P à M) du segment de droite [PM] variant puisque le milieu 10 est hétérogène.

Le milieu étant hétérogène, l'équation 10 est très coûteuse en puissance de calcul et ne peut donc pas être calculée de manière analytique. Pour pallier ce problème, un échantillonnage du rayon P-M suivant la direction cjo out est réalisé et on obtient après discrétisation du segment P-M en une multitude d'éléments 5 S :

A partir des coefficients de projection représentatifs de la densité sur le trajet incident de la lumière issue d'une source lumineuse 1 1 (estimés via l'équation 14 décrite en regard de la figure 2) et stockés dans une texture de projection 30 et à partir de l'équation 17, 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 12 (c'est-à-dire composition de l'atténuation lumineuse dans le milieu 10 selon ω ίη 1 10 et selon ω 0 ι* 120) 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. 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 ω 0 Λ - On obtient ainsi :

soit

soit dans laquelle x représente la position du point M considéré sur le segment [KL] ou de manière équivalente la distance de K à M le long de la direction ω,η 1 10 et N c représente le nombre de coefficients de projection. L'équation 12 représente la quantité de lumière émise par un point M et reçue par un spectateur. Le terme est calculée en utilisant l'équation Pour obtenir la quantité totale de lumière reçue par un spectateur situé en un point C regardant dans la direction ω 0 ι* 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 à M max . On obtient pour cela :

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.

Selon la variante selon laquelle les coefficients Cj sont calculés indépendamment du coefficient d'extinction a t , l'équation 12 devient :

Selon la variante selon laquelle un facteur d'échelle est introduit dans le calcul de l'atténuation de la lumière en M, l'équation 12 devient :

La figure 4 illustre schématiquement un exemple de réalisation matérielle d'un dispositif 4 adapté à l'estimation de la quantité de lumière diffusée par un milieu participant hétérogène 10. Le dispositif 4 correspondant par exemple à un ordinateur personnel PC, à un ordinateur portable (de l'anglais « laptop ») ou à une console de jeux.

Le dispositif 4 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 41 (ou CPU) ;

- une carte graphique 42 comprenant :

• plusieurs processeurs de traitement graphique 420 (ou GPUs) ;

• une mémoire vive de type GRAM (de l'anglais « Graphical Random Access Memory ») 421 ;

- une mémoire non volatile de type ROM (de l'anglais « Read

Only Memory ») 46 ; - une mémoire vive ou RAM (de l'anglais « Random Access Memory ») 47 ;

- un ou plusieurs dispositifs I/O (de l'anglais « Input/Output » ou en français « Entrée/Sortie ») 44, tels que par exemple un clavier, une souris, une webcam ; et

- une alimentation 48.

Le dispositif 4 comprend également un dispositif d'affichage 43 de type écran d'affichage relié directement à la carte graphique 42 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 43 à la carte graphique 42 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, le dispositif d'affichage est externe au dispositif 4. Le dispositif 4, par exemple la carte graphique, comprend un connecteur 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 42, 46 et 47 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 41 charge et exécute les instructions du programme contenu dans la RAM 47.

La mémoire vive 47 comprend notamment :

- dans un registre 430, le programme de fonctionnement du microprocesseur 41 chargé à la mise sous tension du dispositif 4 ;

- des paramètres 471 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, le facteur d'échelle Δ).

Les algorithmes mettant en œuvre les étapes du procédé propres à l'invention et décrits ci-après sont stockés dans la mémoire GRAM 47 de la carte graphique 42 associée au dispositif 4 mettant en œuvre ces étapes. A la mise sous tension et une fois les paramètres 470 représentatifs du milieu chargés en RAM 47, les processeurs graphiques 420 de la carte graphique 42 charge ces paramètres en GRAM 421 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 421 comprend notamment :

- dans un registre 4210, les paramètres représentatifs du milieu

10 ;

- des coefficients de projection 421 1 représentatifs de la densité en chaque point du milieu 10 ou associée à chaque particule du milieu 10 ;

- des valeurs de réduction d'intensité lumineuse 421 2 pour tout ou partie des points du milieu 10 ;

- des valeurs 4213 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 47 est allouée par le

CPU 41 pour stocker les coefficients 421 1 et valeurs 4212 et 4213 si l'espace mémoire disponible en GRAM 421 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 47 en passant par le bus 45 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 48 est externe au dispositif

4.

La figure 5 illustre un procédé d'estimation de diffusion de la lumière dans un milieu participant hétérogène mis en œuvre dans un dispositif 4, selon un premier exemple de mise en œuvre non limitatif particulièrement avantageux de l'invention. Au cours d'une étape d'initialisation 50, les différents paramètres du dispositif 4 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 51 , des coefficients de projection d'une fonction de base sont estimés, ces coefficients de projection étant représentatifs de la densité dont les valeurs varient dans le milieu participant hétérogène 10. Pour ce faire, la fonction a t (s) représentative des variations de densité dans le milieu 10 est projetée et représentée dans un espace fonctionnel de fonctions de base, par exemple en utilisant une transformée de Fourier ou une transformée en cosinus discret. A partir des valeurs de densité associées aux éléments (c'est-à-dire aux points ou aux particules) du milieu 10, un ensemble de coefficients de projection est calculé pour une direction d'émission de la lumière 1 10, ou plus précisément pour le segment de droite correspondant à l'intersection d'un rayon lumineux 1 10, issu d'une source lumineuse 1 1 , avec le milieu 10. Le segment de droite est avantageusement divisé spatialement en une multitude de morceaux élémentaires de même longueur ou de longueurs différentes et les coefficients de projection représentatifs de la densité sont calculés pour un point de chaque morceau élémentaire du segment. De manière avantageuse, la méthode utilisée pour discrétiser le segment de droite et pour estimer les coefficients de projection est la méthode dite d'échantillonnage de rayon (de l'anglais « ray-marching algorithm »). Pour un point M 13 du segment de droite, les coefficients de projection associés sont obtenus en sommant des valeurs dépendant de la densité associée à chaque point situé entre le point d'intersection K 14 du milieu 10 et du rayon d'incidence 1 10 et le point M considéré ainsi que de la distance entre le point d'intersection K 14 et le point correspondant à la discrétisation de ce morceau de segment. Puis une valeur représentative de la réduction de l'intensité lumineuse au point M 13 est calculée à partir des coefficients de projection estimés. De la même manière, une valeur représentative de la réduction de l'intensité lumineuse est calculée pour chaque point discrétisé du milieu 10 le long du rayon 1 10 à partir des coefficients de projection associés.

Selon une variante correspondant au cas où le milieu 10 est représenté par une pluralité de particules, chaque particule étant caractérisée par un centre et un rayon d'influence, une valeur de densité étant associée à chaque particule, des coefficients de projection sont estimés pour une particule donnée du segment [KL] en utilisant une méthode dite d'addition de particules (de l'anglais « particle blending »). Selon cette méthode, des valeurs dépendant de la densité associée aux particules se trouvant entre le point d'intersection K et la particule considérée et dépendant de la distance entre les particules situées entre K et la particule considérée sont ajoutées les unes aux autres. Un avantage offert par cette méthode est que l'ordre dans lequel sont prises les valeurs dépendant de la densité n'a pas d'impact sur le résultat de l'estimation des coefficients de projection, cette estimation pouvant être par ailleurs effectuée directement par la carte graphique. Une valeur représentative de la réduction de l'intensité lumineuse est alors avantageusement calculée à partir des coefficients de projection estimés et ce avantageusement pour chaque particule du segment du rayon d'incidence 1 10 inclus dans le milieu 10.

Selon une autre variante particulièrement avantageuse, les coefficients de projections représentatifs de la densité sont estimés pour tout point du milieu 10 ou pour toute particule du milieu 10. Les coefficients de projection estimés sont enregistrés et stockés dans une texture de projection 30. Ainsi, un espace de stockage de la texture de projection est alloué pour le stockage des coefficients de projection estimés pour chaque rayon lumineux incident issu de la source lumineuse 1 1 . Il ya autant d'espaces de stockages dans la texture de projection 30 qu'il y a de rayons lumineux issus de la source 1 1 et traversant le milieu 10. La texture de projection comprend de manière avantageuse l'ensemble des coefficients de projection du milieu 10, c'est-à-dire un ensemble de coefficients de projection pour chaque point ou chaque particule du milieu 10. Une tel stockage des 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 coefficients de projection représentatifs de la densité étant disponible à tout moment et de manière immédiate pour une utilisation dans les équations permettant d'estimer les valeurs de réduction d'intensité lumineuse.

Puis, au cours d'une étape 52, la quantité de lumière diffusée par le milieu 10 selon une direction d'émission 120 est estimée en utilisant les 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 [PM max ] 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 24 en utilisant les coefficients de projection estimés précédemment. Selon une variante, la méthode d'échantillonnage de rayon est mise en œuvre 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 coefficients de projection représentatifs de la densité selon un rayon lumineux incident permet de simplifier les calculs à mettre en œuvre 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.

Selon une variante correspondant au cas où le milieu 10 est représenté par une pluralité de particules, l'estimation de la quantité de lumière diffusée par ledit milieu est réalisée en utilisant une méthode d'addition de particules. Selon cette variante, la quantité totale de lumière reçue par un spectateur situé en un point C regardant dans la direction ω 0 ι* 120 est égale à la somme des quantités de lumière élémentaires émises par l'ensemble des particules situées sur le trajet ω 0 ι* entre P à M max . Cette variante présente l'avantage de pouvoir sommer les quantités de lumières émises par les particules dans n'importe quel ordre et pas forcément en progressant de P vers M max en sommant les valeurs de quantités de lumières émises dans cet ordre. L'ordre de prise en compte des quantités de lumière émises par chaque particule est quelconque et est avantageusement pris en charge directement par le pipeline de rendu de la carte graphique.

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ères 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 51 et 52 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. Bien entendu, l'invention ne se limite pas aux modes de réalisation décrits précédemment.

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 œuvre ce procédé et notamment tous les dispositifs comprenant au moins un GPU. La mise en œuvre des équations décrites en regards des figures 1 à 3 pour l'estimation des coefficients de projection, des réduction d'intensité lumineuse dans les directions d'incidence et d'émission, de la quantité de lumière diffusée n'est pas non plus limitée à une mise en œuvre dans des microprogrammes de type shader mais s'étend également à une mise en œuvre 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 Transformée en cosinus discret. Selon une variante, les fonctions de base utilisées sont des fonctions de Fourier classique ou les polynômes de Legendre ou encore les polynômes de Tchebychev.

A titre d'exemple, le procédé de diffusion mis en œuvre dans un dispositif comprenant un microprocesseur Xeon® cadencé à 3.6GHz et une carte graphique nVidia geforce GTX280 permet de composer le rendu de 20 images par seconde en temps réel pour un milieu participant hétérogène de type nuage composé de 4096 sphères. L'utilisation de l'invention n'est cependant 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 œuvre 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 ω 0 Λ . 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.