Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR RENDERING IMAGES FROM A THREE-DIMENSIONAL VIRTUAL SCENE
Document Type and Number:
WIPO Patent Application WO/2012/076778
Kind Code:
A1
Abstract:
The present invention relates to a method for rendering images from a three-dimensional virtual scene. In said method, the final image rendering (If) at a first resolution (R1) includes the steps of: proceeding to a first step (E1) for rendering at a second resolution (R2) less than the first resolution (R1) so as to produce at least one intermediate image (11, 12'); carrying out resizing (E2, E10) of the intermediate image (11, 12'), produced at the second resolution (R2), so as to produce an image (12, If) at the first resolution; carrying out detection of the contours (E3, E7) of the image so as to determine, within said image, contoured areas (ZC) and contourless areas (ZSC); carrying out a second rendering step (E4a, E4b, E6) corresponding to local oversampling, relative to the first rendering step (E1), within the contoured areas (ZC); and replacing (E5, E8) the pixels (P) in the contoured areas (ZC) with the pixels the value of which is deduced from the second rendering step (E4a, E4b, E6).

Inventors:
GERMAIN MARC (FR)
MACHADO ABILIO (FR)
Application Number:
PCT/FR2011/052696
Publication Date:
June 14, 2012
Filing Date:
November 18, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
REAL FUSIO FRANCE (FR)
GERMAIN MARC (FR)
MACHADO ABILIO (FR)
International Classes:
G06T15/06; G06T7/00
Domestic Patent References:
WO2009063319A22009-05-22
Other References:
TAKAAKI AKIMOTO ET AL: "PIXEL-SELECTED RAY-TRACING", SYSTEMS & COMPUTERS IN JAPAN, WILEY, HOBOKEN, NJ, US, vol. 18, no. 11, 1 November 1987 (1987-11-01), pages 41 - 49, XP000006630, ISSN: 0882-1666
JANSEN F W ET AL: "Previewing techniques in raster graphics", COMPUTERS AND GRAPHICS, ELSEVIER, GB, vol. 8, no. 2, 1 January 1984 (1984-01-01), pages 149 - 161, XP026649378, ISSN: 0097-8493, [retrieved on 19840101], DOI: DOI:10.1016/0097-8493(84)90050-5
DON P. MITCHELL: "Generating Antialiased Images at Low Sampling densities", SIGGRAPH '87 CONF PROC; ANAHEIM, CA, USA; 27 JULY 1987 THROUGH 31 JULY 1987, vol. 21, no. 4, 27 July 1987 (1987-07-27) - 31 July 1987 (1987-07-31), ACM, 2 PENN PLAZA, SUITE 701 - NEW YORK USA, pages 65 - 72, XP040129015
LARRY BERGMAN, HENRY FUCHS, ERIC GRANT: "Image Rendering by Adaptive Refinement", SIGGRAPH '86 - CONF PROC; DALLAS, TX, USA, vol. 20, no. 4, 18 August 1986 (1986-08-18) - 22 August 1986 (1986-08-22), ACM, 2 PENN PLAZA, SUITE 701 - NEW YORK USA, pages 29 - 37, XP040076139
REISMAN A ET AL: "Parallel progressive rendering of animation sequences at interactive rates on distributed-memory machines", PARALLEL RENDERING, 1997. PRS 97. PROCEEDINGS. IEEE SYMPOSIUM ON PHOENIX, AZ, USA 20-21 OCT. 1997, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 20 October 1997 (1997-10-20), pages 39 - 47, XP010251395, ISBN: 978-0-8186-8265-0, DOI: DOI:10.1109/PRS.1997.628294
CHRISTIAN N S ODOM ET AL: "Ray Traced Virtual Reality", 30 November 2009, ADVANCES IN VISUAL COMPUTING, SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 1031 - 1042, ISBN: 978-3-642-10330-8, XP019134448
Attorney, Agent or Firm:
Cabinet GERMAIN & MAUREAU (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de rendu d'images à partir d'une scène virtuelle en trois dimensions, dans lequel le rendu d'une image finale (If) à une première résolution (R1 ) comprend les étapes consistant à :

- procéder à une première étape de rendu (E1) à une seconde résolution (R2) inférieure à la première résolution (R1) afin d'obtenir au moins une image intermédiaire (11, 12');

opérer un redimensionnement (E2, E10) de l'image intermédiaire (11, 12') obtenu à la seconde résolution (R2) de façon à obtenir une image (12, If) à la première résolution (R1)

- effectuer une détection des contours (E3, E7) de l'image façon à déterminer dans ladite image des zones de contour (ZC) et des zones sans contours (ZSC);

- opérer une seconde étape de rendu (E4a, E4b, E6) correspondant à un suréchantillonnage local par rapport à la première étape de rendu (E1 ) dans les zones de contour (ZC); et

- remplacer (E5, E8) les pixels (P) dans les zones de contour (ZC) par les pixels dont la valeur est déduite de la seconde étape de rendu (E4a, E4b, E6).

2. Procédé selon la revendication 1, dans lequel le redimensionnement (E2) de l'image (11) obtenue à la seconde résolution (R2) est réalisé avant l'étape (E3) de détection de contours, la seconde étape de rendu (E4a, E4b) et l'étape de remplacement des pixels (P) des zones de contour (ZC).

3. Procédé selon la revendication 1, dans lequel le redimensionnement (E9) de l'image (11) obtenue à la seconde résolution (R2) est réalisé après l'étape (E6) de détection de contours, la seconde étape de rendu (E5) et l'étape de remplacement des pixels (P) des zones de contour (ZC).

4. Procédé selon l'une des revendications précédentes, dans lequel les étapes de rendu utilisent une technique de lancer de rayon (RR).

5. Procédé selon la revendication 4, dans lequel la seconde étape de rendu est effectuée en procédant à un lancer de rayon (RR) pour chaque pixel appartenant à une zone de contour (ZC) d'une image intermédiaire (12) à la première résolution (R1).

6. Procédé selon la revendication 4, dans lequel dans lequel la seconde étape de rend u est effectuée en procédant pour chaque pixel appartenant à une zone de contour (ZC) à u ne pl u ral ité de lancers de rayon (RR) correspondant à d ifférents points dans le voisinage du pixel (P), ledit pixel (P) étant calculé en fonction des valeurs obtenues pour la pluralité de lancers de rayons (RR).

7. Procédé selon la revendication 6, dans lequel la seconde étape de rendu est effectuée sur la base d'une image intermédiaire (12) à la première résolution (R1 ).

8. Procédé selon la revendication 6, dans lequel la seconde étape de rendu est effectuée sur la base d'une image intermédiaire (11 ) à la seconde résolution (R2).

9. Procédé selon l'une des revendications précédentes, dans lequel les étapes décrites selon les revendications précédentes sont appliquées :

- en utilisant une première valeur (R2a) de la seconde résolution lors du déplacement du point de vue de l'utilisateur dans la scène 3D, et

- e n u t i l i sa n t u n e seco n d e va l e u r (R2b) de la seconde résolution ( R2 ) su périeu re à la prem ière valeu r (R2a) lors de l'arrêt du déplacement du point de vue de l'utilisateur dans la scène 3D.

10. Procédé selon l'une des revendications précédentes, comprenant une étape de détection automatique de la configuration d'une machine destinée à exécuter le procédé de rendu, puis une étape de choix du mode de rendu afin de procéder à une baisse de la résolution de l'image lors des déplacements du point de vue de l'utilisateur dans la scène.

1 1 . Produit programme d'ordinateur permettant la mise en œuvre d'un procédé selon l'une des revendications précédentes.

Description:
Procédé de rendu d'images à partir d'une scène virtuelle en trois

dimensions

La présente invention a pour objet un procédé et un système de rendu d'une scène en trois dimensions en temps réel.

Un procédé de rendu en trois dimensions en temps réel consiste à générer une image d'une scène, comprenant éventuellement des éléments animés, dans l'instant précédant son affichage sur un support, par exemple un écran.

Un rendu en trois dimensions ou 3D en temps réel est différent d'un rendu en trois dimension dit « précalculé » dans la mesure ou le rendu de la scène est immédiat et que l'utilisateur a la possibilité de manipuler et d'interagir directement avec la scène, par exemple pour manipuler et changer les couleurs d'un objet, se déplacer au sein d'un univers virtuel, configurer les accessoires d'une automobile, simuler des cas d'urgence.

Le rendu 3D des images s'effectue directement sur un périphérique d'affichage dans le cas d'un rendu temps-réel, contrairement à un rendu 3D précalculé dans lequel le résultat du rendu est une image ou une vidéo non modifiable.

Pour que le temps de calcul d'un procédé de rendu 3D temps-réel soit imperceptible pour un utilisateur, il doit être inférieur à la persistance rétinienne. La vitesse de rendu des images étant mesurée en image par seconde (fps) ou Hertz (Hz), il apparaît que l'impression pour l'utilisateur d'un mode interactif existe à partir d'une vitesse de rendu de l'ordre de 6 fps, et qu'un procédé de rendu peut être considéré comme temps-réel à partir de 15 fps. Au delà de 72 fps, l'utilisateur ne peut plus remarquer de différence si la vitesse de rendu est encore augmentée.

Pour obtenir une telle vitesse de rendu, des moyens d'accélération du calcul graphique matériels dédiés à cette fonction sont couramment utilisés, connus sous le nom d'unité de traitement graphique ou GPU (Graphie Processing Unit). Ainsi, le procédé de rendu mis en œuvre par un moteur de rendu 3D utilise des algorithmes optimisés, mais également de nombreux prétraitements sur les scènes 3D opérées par le GPU.

L'utilisation de tels procédés de rendu en 3D temps réel utilisant une accélération matérielle est très largement freinée par l'hétérogénéité des parcs de machines disponibles ce qui complexifie le déploiement des applications utilisant de tels procédés.

Ainsi, plusieurs versions d'une même application doivent être développées et paramétrées pour s'adapter aux différentes configurations matérielles existantes. Les modèles 3D exploités par ces applications sont mêmes fréquemment spécifiques de la configuration matérielle de la machine cible. En outre, ces applications nécessitent une configuration matérielle minimale empêchant leur utilisation sur des terminaux ou ordinateurs personnel de faibles capacités tels que des « netbooks », portables bureautiques, tablette PC.

Il est donc souhaitable de développer des procédés de rendu les plus performants possible permettant de ne pas utiliser les moyens d'accélération matériels, ou permettant d'utiliser ces moyens de façon optionnelle.

Parmi les procédés de rendu 3D en temps-réel, Il est connu, par exemple du document WO2009063319A2, d'utiliser un procédé dit de lancer de rayon, consistant à calculer pour un point donné de l'image la couleur attribuée en calculant les intersections entre un rayon passant par le point de l'image et les objets de la scène.

Un avantage du procédé de lancer de rayon est de permettre une parallélisation aisée. En effet, le calcul des intersections d'un rayon n'influe pas sur celui d'un rayon voisin. Il est donc facile de tirer parti des processeurs multi- cores modernes et des instructions de type SIMD.

Toutefois, les performances des moteurs de lancer de rayon sont fortement dépendantes de la résolution de rendu qui détermine le nombre de rayons, leurs performances étant ainsi médiocres dans le cas de rendu à haute définition.

La présente invention a pour objet de résoudre tout ou partie des inconvénients mentionnés ci-dessus.

A cet effet, la présente invention concerne un procédé de rendu d'images à partir d'une scène virtuelle en trois dimensions, dans lequel le rendu d'une image finale à une prem ière résolution comprend les étapes consistant à :

- procéder à une première étape de rendu à une seconde résolution inférieure à la première résolution afin d'obtenir au moins une image intermédiaire; - opérer un redimensionnement de l'image intermédiaire obtenue à la seconde résolution de façon à obtenir une image à la première résolution

- effectuer une détection des contours de l'image façon à déterminer dans ladite image des zones de contour et des zones sans contours;

- opérer une seconde étape de rend u correspondant à un suréchantillonnage local par rapport à la première étape de rendu (E1 ) dans les zones de contour; et

- remplacer les pixels dans les zones de contour par les pixels dont la valeur est déduite de la seconde étape de rendu.

Le fa it de réaliser un rendu à plus faible résolution permet de réaliser des gains de performances importants. L'utilisateur ne perçoit pas de différence notable de qualité induite par le changement de résolution car tous les contours de l'image sont nets. En effet, l'œil humain est surtout sensible aux contours des objets sur une image. Le crénelage des contours, dus à une pixellisation de ceux-ci donne une sensation de mauvaise qualité d'image. Le fait de réaliser un rendu à plus faible résolution puis un redimensionnement de l'image pourrait accentuer cette sensation . Grâce à la réal isation d'une seconde étape de rendu limitée aux zones de contour et d'une étape de remplacement des pixels correspondant aux dites zones de contour, seules les zones sans contours correspondant à des aplats de couleur sont dégradées, ce qui est quasiment imperceptible pour l'œil humain.

Selon une première possibilité, le redimensionnement de l'image obtenu à la seconde résolution est réalisé avant l'étape de détection de contours, la seconde étape de rendu et l'étape de remplacement des pixels des zones de contour.

Dans ce cas, la détection de contour et le remplacement des pixels des zones de contour est réalisé dans une image intermédiaire obtenue à la première résolution.

Selon une seconde possibilité, le redimensionnement de l'image obtenue à la seconde résolution est réalisé après l'étape de détection de contours, la seconde étape de rendu et l'étape de remplacement des pixels des zones de contour.

Dans ce cas, la détection de contour et le remplacement des pixels des zones de contour est réalisé dans une image intermédiaire obtenue à la seconde résolution. Selon un aspect de l'invention, les étapes de rendu utilisent une technique de lancer de rayon.

Selon une première possibilité, la seconde étape de rendu est effectuée en procédant à un lancer de rayon pour chaque pixel appartenant à une zone de contour d'une image intermédiaire à la première résolution.

Selon une deuxième possibilité, dans lequel la seconde étape de rendu est effectuée en procédant pour chaque pixel appartenant à une zone de contour à une pluralité de lancers de rayon correspondant à différents points dans le voisinage du pixel, ledit pixel étant calculé en fonction des valeurs obtenues pour la pluralité de lancers de rayons.

Selon deux variantes de mises en œuvre, la seconde étape de rendu est effectuée sur la base d'une image intermédiaire à la première résolution ou à la seconde résolution.

Selon un aspect de l'invention, les étapes décrites selon les revendications précédentes sont appliquées :

- en utilisant une première valeur de la seconde résolution lors du déplacement du point de vue de l'utilisateur dans la scène 3D, et

- en utilisant une seconde valeur de la seconde résolution supérieure à la première valeur lors de l'arrêt du déplacement du point de vue de l'utilisateur.

Selon un aspect de l'invention, le procédé comprend une étape de détection automatique de la configuration d'une machine destinée à exécuter le procédé de rendu, puis une étape de choix du mode de rendu afin de procéder à une baisse de la résolution de l'image lors des déplacements du point de vue de l'utilisateur dans la scène.

L'invention concerne également un produit programme d'ordinateur mettant en œuvre les étapes du procédé décrit ci-dessus, ainsi qu'un système informatique comprenant un ou plusieurs ordinateurs ou terminaux en possession d'un utilisateur comprenant un ou plusieurs processeurs permettant l'exécution de ce programme.

L'invention sera mieux comprise à l'aide de la description détaillée qui est exposée ci-dessous en regard du dessin annexé dans lequel :

La figure 1 est un organigramme d'un mode de mise en œuvre d'un procédé selon l'invention ;

La figure 2 illustre les traitements opérés sur les images selon une première et une seconde variante du procédé de figure 1 ; La figure 3 détaille une étape de relancer de rayon dans le cadre du procédé de figure 1 selon une première variante ;

La figure 4 détaille une étape de relancer de rayon dans le cadre du procédé de figure 1 selon une seconde variante.

La figure 1 représente un mode de mise en œuvre du procédé de rendu d'images selon l'invention à partir d'une scène virtuelle en trois dimensions utilisant une technique de lancer de rayon.

Il apparaît que dans ce mode de mise en œuvre, trois variantes peuvent être utilisées comme nous le détaillerons ci-dessous.

Le but de ce procédé est de fournir le rendu d'une image finale If à une première résolution R1 .

Dans un premier temps, une première étape E1 de rendu à une seconde résolution R2 inférieure à la première résolution R1 est réalisée, afin d'obtenir une première image intermédiaire 11 .

Ensu ite, selon une première variante du procédé, une étape de redimensionnement E2 de l'image obtenue 11 à la seconde résolution R2 est réal isée afin d'obten ir une seconde image interméd iaire 12 à la première résolution R1 correspondant à celle de l'image finale If.

Etant donné que le rendu est calculé à une seconde résolution R2 plus faible que la résolution finale R1 , et que ce rendu est redimensionné, un phénomène de crénelage important est présent au niveau des zones de contour ZC de l'image intermédiaire 12, comme cela est représenté par des pointillés sur la figure 2.

Une étape de détection de contour E3 est ensuite réalisée dans la seconde image intermédiaire 12 obtenue à la première résolution R1 dans l'image de façon à déterminer dans ladite image des zones de contour ZC et des zones sans contours ZSC.

L'algorithme de détection de contour peut être par exemple un algorithme con nu sous le nom de Prewitt - Sobel. Une cartographie des contours de l'image, représenté en 13 sur la figure 2 est ainsi obtenue.

Selon la prem ière variante du procédé, une seconde étape de rendu E4a est ensuite réalisée qui correspond à un suréchantillonnage local par rapport à la première étape de rendu E1 .

Ainsi, comme cela est représenté sur la figure 3, un lancer de rayon RR est effectué par pixel P correspondant à une zone de contour ZC de l'image finale à la prem ière résolution R1 . Ces dispositions permettent de supprimer l'effet aggravant du crénelage de l'image obtenu du fait du redimensionnement de l'image.

Une étape E5 de remplacement des pixels dans les zones de contour ZC de la seconde image intermédiaire 12 obtenue à une seconde résolution R2 par les pixels dont la valeur est déduite de la seconde étape de rendu E4a permet enfin d'obtenir une image finale corrigée If, comme cela est représenté sur la figure 2.

Selon une seconde variante du procédé, l'ensemble des étapes correspondant à la première variante sont reprises, à l'exception de la seconde étape de rendu E4a.

En effet, selon cette seconde variante, une seconde étape de rendu E4b est réalisée avec un suréchantillonage local dans les zones de contour. En particulier, un nombre N > 1 de rayons RR sont lancés pour chaque pixel P d'une zone de contour ZC d'une image à la première résolution R1. La couleur attribuée à ce pixel est déterminée comme une moyenne des valeurs de couleur obtenue pour les rayons lancés RR.

La figure 4 illustre un cas dans lequel quatre rayons sont relancés pour un pixel P.

Selon une troisième variante du procédé, représentée sur la branche de gauche de l'organigramme de la figure 1 , les étapes suivant l'obtention par la première étape de rendu E1 d'une première image intermédiaire 11 à la seconde résolution R2 sont différentes de celles des premières et seconde variantes.

Ainsi, sur la base de la première image intermédiaire 11 obtenue à une seconde résolution R2, une étape de détection de contour E6 est réalisée de façon à déterminer dans ladite image des zones de contour ZC et des zones sans contours ZSC.

Ensuite, une seconde étape de rendu E7 est réalisée avec un suréchantillonage local dans les zones de contour. En particulier, un nombre N > 1 de rayons RR sont lancés pour chaque pixel P d'une zone de contour ZC d'une image à la seconde résolution R2. La couleur attribuée à ce pixel est déterminée comme une moyenne des valeurs de couleur obtenue pour les rayons lancés RR. Le nombre N est par exemple égal à 4.

Une étape E8 de remplacement des pixels dans les zones de contour ZC de la première image intermédiaire 11 obtenue à une seconde résolution R2 par les pixels dont la valeur est déduite de la seconde étape de rendu E4b permet enfin d'obtenir une seconde image intermédiaire 12'.

Enfin, une étape de redimensionnement E9 de la seconde image intermédiaire 12 est réal isée afin d 'obten ir l ' image finale If à la première résolution R1 .

La qualité du rendu obtenue avec la seconde variante est su périeu re à l a q ual ité de rendu obtenue avec la première variante. La troisième variante fournit une qualité de rendu inférieure à la première variante.

Il est à noter que la seconde variante est la variante utilisant le plus de ressources, la prem ière variante util isant moins de ressources que la seconde variante, et la troisième variante utilisant moins de ressources que la première variante.

Il est possible de laisser le choix de l'utilisation de la première, seconde ou troisième variante à l'utilisateur, ou de rendre ce choix automatique en fonction des caractéristiques de la machine sur lequel est exécuté le logiciel ou programme d'ordinateur mettant en œuvre les étapes du procédé.

Par ailleurs, la seconde résolution R2, comme le nombre de rayon relancés lors de la seconde étape de rendu peuvent être réglés, de façon manuelle et/ou automatique, afin de s'adapter aux performances de la machine considérée.

Selon u n aspect de l ' invention , deux valeurs distinctes de la seconde résolution R2 sont utilisées. Une première valeur R2a de la seconde résolution lors du déplacement du point de vue de l'utilisateur dans la scène 3D, et en util isant u ne seconde valeu r R2b de la seconde résolution R2 supérieure à la première valeur R2a lors de l'arrêt du déplacement du point de vue de l'utilisateur dans la scène 3D.

Par exemple, dans le cas d'une zone de rendu d'une résolution R1 de 1920*1200, il est possible d'utiliser :

- une résolution R2a de rendu en déplacement de 400*300, qui est ensuite redimensionnée en 1920*1200, et

- une résolution R2b de rendu à l'arrêt de 800*600, qui est ensuite redimensionnée en 1920*1200.

Ainsi, la qual ité du rendu est adaptée en fonction de la machine cible, et une dégradation imperceptible de la qualité du rendu, correspondant à une réduction automatique de la taille d'affichage lors du déplacement est effectuée afin de proposer des performances satisfaisante sur des scènes 3D complexes. Dès que l'utilisateur arrête de se déplacer, une image haute définition à la première résolution R1 est calculée et affichée.

Grâce aux dispositions selon l'invention, un pipeline de rendu adaptatif est mis en place selon les possibilités de calcul et de stockage des matériels utilisés pour la visualisation (station de travail, ordinateur portable, PDA, téléphone mobile, ...), permettant de visualiser en temps réel des scènes composées de quelques millions de polygones et fournissant une qualité d'image adaptée aux possibilités matérielles disponibles.

Bien que l'invention ait été décrite en liaison avec des exemples particuliers de réalisation, il est bien évident qu'elle n'y est nullement limitée et qu'elle comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci entrent dans le cadre de l'invention.