FR2968813A1 - METHOD FOR RENDERING IMAGES FROM A VIRTUAL THREE-DIMENSIONAL SCENE - Google Patents

METHOD FOR RENDERING IMAGES FROM A VIRTUAL THREE-DIMENSIONAL SCENE Download PDF

Info

Publication number
FR2968813A1
FR2968813A1 FR1060367A FR1060367A FR2968813A1 FR 2968813 A1 FR2968813 A1 FR 2968813A1 FR 1060367 A FR1060367 A FR 1060367A FR 1060367 A FR1060367 A FR 1060367A FR 2968813 A1 FR2968813 A1 FR 2968813A1
Authority
FR
France
Prior art keywords
rendering
resolution
image
contour
areas
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1060367A
Other languages
French (fr)
Other versions
FR2968813B1 (en
Inventor
Marc Germain
Abilio Machado
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AKKA Ingenierie Produit SAS
Original Assignee
Real Fusio France SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Real Fusio France SAS filed Critical Real Fusio France SAS
Priority to FR1060367A priority Critical patent/FR2968813B1/en
Priority to PCT/FR2011/052696 priority patent/WO2012076778A1/en
Priority to DE112011104332T priority patent/DE112011104332T5/en
Publication of FR2968813A1 publication Critical patent/FR2968813A1/en
Application granted granted Critical
Publication of FR2968813B1 publication Critical patent/FR2968813B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

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 (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, I2'); - 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).The present invention relates to a method for rendering images from a three-dimensional virtual scene, wherein the rendering of a final image (If) to a first resolution (R1) comprises the steps of: a first rendering step (E1) at a second resolution (R2) smaller than the first resolution (R1) to obtain at least one intermediate image (11, 12 '); - performing a resizing (E2, E10) of the intermediate image (11, 12 ') obtained at the second resolution (R2) so as to obtain an image (12, If) at the first resolution (R1) - to carry out a detection contours (E3, E7) of the image so as to determine in said image contour areas (ZC) and areas without contours (ZSC); performing a second rendering step (E4a, E4b, E6) corresponding to a local oversampling with respect to the first rendering step (E1 in the contour zones (ZC); and replacing (E5, E8) the pixels (P ) in the contour areas (ZC) by the pixels whose value is deduced from the second rendering step (E4a, E4b, E6).

Description

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. The present invention relates to a method and a system for rendering a scene in three dimensions in real time. A real-time three-dimensional rendering method consists in generating an image of a scene, possibly comprising animated elements, in the instant preceding its display on a medium, for example a screen. Real-time rendering in three dimensions or 3D is different from a so-called "pre-calculated" three-dimensional rendering in that the rendering of the scene is immediate and the user has the ability to directly manipulate and interact with the scene, for example to manipulate and change the colors of an object, to move within a virtual universe, to configure the accessories of an automobile, to simulate emergency cases. The 3D rendering of the images is done directly on a display device in the case of a real-time rendering, unlike a pre-calculated 3D rendering in which the result of the rendering is a non-modifiable image or video. For the calculation time of a real-time 3D rendering method to be imperceptible to a user, it must be less than the retinal persistence. Since the rendering speed of the images is measured in frames per second (fps) or Hertz (Hz), it appears that the printing for the user of an interactive mode exists from a rendering speed of the order of 6 fps, and a rendering process can be considered real-time from 15 fps. Beyond 72 fps, the user can not notice any difference if the rendering speed is further increased.

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 (Graphic Processing Unit). Ainsi, le procédé de rendu mis en oeuvre 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. To obtain such a rendering speed, hardware graphic calculation acceleration means dedicated to this function are commonly used, known as graphic processing unit (GPU). Thus, the rendering method implemented by a 3D rendering engine uses optimized algorithms, but also many preprocessing on the 3D scenes operated by the GPU. The use of such real-time 3D rendering methods using hardware acceleration is very much hampered by the heterogeneity of the available machine parks which complicates the deployment of applications using such methods.

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 multicores modernes et des instructions de type SIMD. Thus, several versions of the same application must be developed and configured to adapt to different hardware configurations. The 3D models used by these applications are even frequently specific to the hardware configuration of the target machine. In addition, these applications require a minimum hardware configuration preventing their use on terminals or personal computers of low capacity such as "netbooks", office laptops, tablet PCs. It is therefore desirable to develop the most efficient rendering methods possible to not use the hardware acceleration means, or to use these means optionally. Among the real-time 3D rendering methods, it is known, for example from WO2009063319A2, to use a so-called radius casting method, consisting in calculating for a given point of the image the color attributed by calculating the intersections. between a ray passing through the point of the image and the objects of the scene. An advantage of the ray tracing method is to allow easy parallelization. Indeed, the calculation of the intersections of a ray does not affect that of a neighboring radius. It is therefore easy to take advantage of modern multi-core processors and SIMD-like instructions.

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 25 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 première résolution comprend les étapes consistant à : 30 - 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 rendu correspondant à un 5 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 fait de réaliser un rendu à plus faible résolution permet de 10 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'oeil 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 15 fait de réaliser un rendu à plus faible résolution puis un redimensionnement de l'image pourrait accentuer cette sensation. Grâce à la réalisation 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, 20 ce qui est quasiment imperceptible pour l'oeil 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. 25 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 30 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. 35 Selon un aspect de l'invention, les étapes de rendu utilisent une technique de lancer de rayon. However, ray tracing engine performance is highly dependent on the rendering resolution that determines the number of rays, so their performance is poor in the case of high-definition rendering. The object of the present invention is to solve all or some of the disadvantages mentioned above. For this purpose, the present invention relates to a method for rendering images from a three-dimensional virtual scene, wherein rendering a final image at a first resolution comprises the steps of: first rendering step at a second resolution less than the first resolution to obtain at least one intermediate image; - resizing the intermediate image obtained at the second resolution so as to obtain an image at the first resolution - performing a detection of the contours of the image so as to determine in said image contour areas and areas without contours; performing a second rendering step corresponding to a local oversampling with respect to the first rendering step (E1) in the contour areas; and replacing the pixels in the contour zones with the pixels whose value is deduced from the second rendering step. Achieving a lower resolution rendering makes it possible to achieve significant performance gains. The user does not perceive a significant difference in quality induced by the change of resolution because all the outlines of the image are net. Indeed, the human eye is especially sensitive to the contours of objects on an image. The aliasing of the contours, due to a pixelation of these gives a feeling of poor image quality. Making a lower resolution rendering then resizing the image could accentuate that feeling. By performing a second rendering step limited to the contour areas and a step of replacing the pixels corresponding to said contour areas, only the areas without outlines corresponding to solid areas of color are degraded, 20 which is almost imperceptible to the human eye. According to a first possibility, the resizing of the image obtained at the second resolution is carried out before the contour detection step, the second rendering step and the step of replacing the pixels of the contour zones. In this case, contour detection and pixel replacement of the contour areas is performed in an intermediate image obtained at the first resolution. According to a second possibility, the resizing of the image obtained at the second resolution is performed after the contour detection step, the second rendering step and the step of replacing the pixels of the contour zones. In this case, the contour detection and the pixel replacement of the contour areas is performed in an intermediate image obtained at the second resolution. According to one aspect of the invention, the rendering steps use a ray tracing technique.

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 oeuvre, la seconde étape de 10 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 15 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 20 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 25 mettant en oeuvre 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 30 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 oeuvre 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 ; 35 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 oeuvre du procédé de rendu d'images selon l'invention à partir d'une scène virtuelle en trois 5 dimensions utilisant une technique de lancer de rayon. Il apparaît que dans ce mode de mise en oeuvre, 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. 10 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. Ensuite, selon une première variante du procédé, une étape de redimensionnement E2 de l'image obtenue 11 à la seconde résolution R2 est 15 réalisée afin d'obtenir une seconde image intermédiaire 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 20 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 25 des zones sans contours ZSC. L'algorithme de détection de contour peut être par exemple un algorithme connu 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 première variante du procédé, une seconde étape de 30 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 première résolution R1. Ces dispositions permettent de 35 supprimer l'effet aggravant du crénelage de l'image obtenu du fait du redimensionnement de l'image. According to a first possibility, the second rendering step is performed by launching a ray for each pixel belonging to a contour zone of an intermediate image at the first resolution. According to a second possibility, in which the second rendering step is performed by proceeding for each pixel belonging to a contour zone to a plurality of ray shots corresponding to different points in the vicinity of the pixel, said pixel being calculated according to the values obtained for the plurality of ray shots. According to two variants of implementations, the second rendering step is performed on the basis of an intermediate image at the first resolution or the second resolution. According to one aspect of the invention, the steps described in the preceding claims are applied: - by using a first value of the second resolution when moving the user's point of view in the 3D scene, and - using a second value of the second resolution greater than the first value when stopping the displacement from the point of view of the user. According to one aspect of the invention, the method comprises a step of automatically detecting the configuration of a machine intended to execute the rendering method, then a step of choosing the rendering mode in order to proceed with a decrease in the resolution. of the image when moving from the point of view of the user in the scene. The invention also relates to a computer program product 25 implementing the steps of the method described above, as well as a computer system comprising one or more computers or terminals in the possession of a user comprising one or more processors allowing execution of this program. The invention will be better understood with the aid of the detailed description which is set forth below with reference to the accompanying drawings in which: FIG. 1 is a flowchart of an embodiment of a method according to invention; FIG. 2 illustrates the operations performed on the images according to a first and a second variant of the method of FIG. 1; Figure 3 details a step of reviving radius in the context of the method of Figure 1 according to a first variant; FIG. 4 details a step of restarting the radius as part of the method of FIG. 1 according to a second variant. FIG. 1 represents an embodiment of the image rendering method according to the invention from a three-dimensional virtual scene using a ray tracing technique. It appears that in this mode of implementation, three variants can be used as we will detail below. The purpose of this method is to provide the rendering of a final image If at a first resolution R1. In a first step, a first step E1 of rendering at a second resolution R2 smaller than the first resolution R1 is performed, in order to obtain a first intermediate image 11. Then, according to a first variant of the method, a resizing step E2 of the obtained image 11 at the second resolution R2 is performed in order to obtain a second intermediate image 12 at the first resolution R1 corresponding to that of the final image If. Since the rendering is computed at a second resolution R2 smaller than the final resolution R1, and this rendering is resized, a significant aliasing phenomenon is present at the contour areas ZC of the intermediate image 12, such as this is represented by dotted lines in FIG. 2. A contour detection step E3 is then performed in the second intermediate image 12 obtained at the first resolution R1 in the image so as to determine in said image contour zones ZC and 25 areas without contours ZSC. The contour detection algorithm may for example be an algorithm known as Prewitt - Sobel. A map of the contours of the image, represented at 13 in FIG. 2, is thus obtained. According to the first variant of the method, a second rendering step E4a is then performed which corresponds to a local oversampling with respect to the first rendering step E1. Thus, as shown in FIG. 3, a throw of radius RR is performed per pixel P corresponding to a contour zone ZC of the final image at the first resolution R1. These provisions make it possible to eliminate the aggravating effect of the aliasing of the image obtained because of the resizing of the 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 contourZC 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. A step E5 of replacing the pixels in the contour areas ZC of the second intermediate image 12 obtained at a second resolution R2 by the pixels whose value is deduced from the second rendering step E4a finally makes it possible to obtain a corrected final image If as shown in FIG. 2. According to a second variant of the method, all the steps corresponding to the first variant are repeated, with the exception of the second rendering step E4a. Indeed, according to this second variant, a second rendering step E4b is performed with a local oversampling in the contour areas. In particular, an N> 1 number of RR rays are launched for each pixel P of a contour zoneZC of an image at the first resolution R1. The color assigned to this pixel is determined as an average of the color values obtained for the launched radii 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'. FIG. 4 illustrates a case in which four rays are restarted for a pixel P. According to a third variant of the method, represented on the left branch of the flowchart of FIG. 1, the steps following the obtaining by the first step of FIG. rendering E1 of a first intermediate image 11 to the second resolution R2 are different from those of the first and second variants. Thus, on the basis of the first intermediate image 11 obtained at a second resolution R2, a contour detection step E6 is performed so as to determine in said image contour areas ZC and areas without contours ZSC. Then, a second rendering step E7 is performed with local oversampling in the contour areas. In particular, an N> 1 number of RR rays are launched for each pixel P of a contour zone ZC of an image at the second resolution R2. The color assigned to this pixel is determined as an average of the color values obtained for the launched radii RR. The number N is for example equal to 4. A step E8 of replacing the pixels in the contour zones ZC of the first intermediate image 11 obtained at a second resolution R2 by the pixels whose value is deduced from the second rendering step E4b finally makes it possible to obtain a second intermediate image 12 '.

Enfin, une étape de redimensionnement E9 de la seconde image intermédiaire 12 est réalisée afin d'obtenir l'image finale If à la première résolution R1. La qualité du rendu obtenue avec la seconde variante est supérieure à la qualité de rendu obtenue avec la première variante. La troisième variante fournit une qualité de rendu inférieure à la première variante. II est à noter que la seconde variante est la variante utilisant le plus de ressources, la première variante utilisant moins de ressources que la seconde variante, et la troisième variante utilisant moins de ressources que la première variante. II 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 oeuvre les étapes du procédé. Finally, a resizing step E9 of the second intermediate image 12 is performed in order to obtain the final image If at the first resolution R1. The rendering quality obtained with the second variant is greater than the rendering quality obtained with the first variant. The third variant provides a rendering quality lower than the first variant. It should be noted that the second variant is the variant using the most resources, the first variant using fewer resources than the second variant, and the third variant using fewer resources than the first variant. It is possible to leave the choice of the use of the first, second or third variant to the user, or to make this automatic choice according to the characteristics of the machine on which the software or computer program implementing the steps of the process.

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 un 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 utilisant une seconde valeur 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. Moreover, the second resolution R2, like the number of spokes restarted during the second rendering step can be adjusted, manually and / or automatically, in order to adapt to the performance of the machine in question. According to one aspect of the invention, two distinct values of the second resolution R2 are used. A first value R2a of the second resolution when moving the user's point of view in the 3D scene, and using a second value R2b of the second resolution R2 greater than the first value R2a when stopping the movement of the user's point of view in the 3D scene.

Par exemple, dans le cas d'une zone de rendu d'une résolution R1 de 19201200, il est possible d'utiliser : - une résolution R2a de rendu en déplacement de 400300, qui est ensuite redimensionnée en 19201200, et - une résolution R2b de rendu à l'arrêt de 800600, qui est ensuite 30 redimensionnée en 19201200. Ainsi, la qualité 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 35 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. For example, in the case of a rendering area with a resolution R1 of 19201200, it is possible to use: a displacement rendering resolution R2a of 400300, which is then resized in 19201200, and a resolution R2b This renders the rendering quality adapted to the target machine, and an imperceptible degradation of the quality of the rendering, corresponding to an automatic reduction of the size. when traveling is performed to provide satisfactory performance on complex 3D scenes. As soon as the user stops moving, a high resolution image at the first resolution R1 is calculated and displayed.

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. Thanks to the provisions of the invention, an adaptive rendering pipeline is set up according to the calculation and storage possibilities of the materials used for visualization (workstation, laptop, PDA, mobile phone, etc.), allowing to visualize in real time scenes composed of a few million polygons and providing an image quality adapted to the material possibilities available. Although the invention has been described in connection with particular embodiments, it is obvious that it is not limited thereto and that it comprises all the technical equivalents of the means described and their combinations if they are within the scope of the invention.

Claims (11)

REVENDICATIONS1. 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 5 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 (I1, I2'); - opérer un redimensionnement (E2, E10) de l'image 10 intermédiaire (I1, 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); 15 - 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, 20 E4b, E6). REVENDICATIONS1. A method of rendering images from a three-dimensional virtual scene, wherein rendering a final image (If) at a first resolution (R1) comprises the steps of: - performing a first step of rendering (E1) at a second resolution (R2) smaller than the first resolution (R1) to obtain at least one intermediate image (I1, I2 '); - resize (E2, E10) the intermediate image (I1, 12 ') obtained at the second resolution (R2) so as to obtain an image (12, If) at the first resolution (R1); detecting the contours (E3, E7) of the image so as to determine in said image contour areas (ZC) and areas without contours (ZSC); Performing a second rendering step (E4a, E4b, E6) corresponding to a local oversampling with respect to the first rendering step (E1) in the contour areas (ZC); and replacing (E5, E8) the pixels (P) in the contour areas (ZC) by the pixels whose value is deduced from the second rendering step (E4a, E4b, E6). 2. Procédé selon la revendication 1, dans lequel le redimensionnement (E2) de l'image (I1) 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 25 contour (ZC). The method according to claim 1, wherein the resizing (E2) of the image (I1) obtained at the second resolution (R2) is performed before the contour detection step (E3), the second rendering step ( E4a, E4b) and the step of replacing the pixels (P) of the contour areas (ZC). 3. Procédé selon la revendication 1, dans lequel le redimensionnement (E9) de l'image (I1) 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 30 contour (ZC). The method according to claim 1, wherein the resizing (E9) of the image (I1) obtained at the second resolution (R2) is performed after the contour detection step (E6), the second rendering step ( E5) and the step of replacing the pixels (P) of the contour areas (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). 4. Method according to one of the preceding claims, wherein the rendering steps use a ray tracing technique (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 35 pixel appartenant à une zone de contour (ZC) d'une image intermédiaire (12) à la première résolution (R1). The method of claim 4, wherein the second rendering step is performed by performing a ray tracing (RR) for each pixel belonging to a contour area (ZC) of an intermediate image (12) at the first resolution (R1). 6. Procédé selon la revendication 4, dans lequel dans lequel la seconde étape de rendu est effectuée en procédant pour chaque pixel appartenant à une zone de contour (ZC) à une pluralité de lancers de rayon (RR) correspondant à diffé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). The method of claim 4, wherein the second rendering step is performed by performing for each pixel belonging to a contour zone (ZC) to a plurality of ray shots (RR) corresponding to different points in the vicinity. of the pixel (P), said pixel (P) being calculated according to the values obtained for the plurality of ray throws (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). The method of claim 6, wherein the second rendering step is performed based on an intermediate image (12) at the first resolution (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 (I1) à la seconde résolution (R2). The method of claim 6, wherein the second rendering step is performed on the basis of an intermediate image (I1) at the second resolution (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 - en utilisant une seconde valeur (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. 9. Method according to one of the preceding claims, wherein the steps described according to the preceding claims are applied: - by using a first value (R2a) of the second resolution when moving from the point of view of the user in the scene 3D, and - using a second value (R2b) of the second resolution (R2) greater than the first value (R2a) when stopping the displacement from the point of view of the user in the 3D scene. 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. 10. Method according to one of the preceding claims, comprising a step of automatically detecting the configuration of a machine for executing the rendering process, then a step of choosing the rendering mode in order to proceed to a lowering of the resolution. of the image when moving from the point of view of the user in the scene. 11. Produit programme d'ordinateur permettant la mise en oeuvre d'un procédé selon l'une des revendications précédentes. 11. Computer program product for implementing a method according to one of the preceding claims.
FR1060367A 2010-12-10 2010-12-10 METHOD FOR RENDERING IMAGES FROM A THREE-DIMENSIONAL VIRTUAL SCENE Expired - Fee Related FR2968813B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1060367A FR2968813B1 (en) 2010-12-10 2010-12-10 METHOD FOR RENDERING IMAGES FROM A THREE-DIMENSIONAL VIRTUAL SCENE
PCT/FR2011/052696 WO2012076778A1 (en) 2010-12-10 2011-11-18 Method for rendering images from a three-dimensional virtual scene
DE112011104332T DE112011104332T5 (en) 2010-12-10 2011-11-18 Method for three-dimensional image reproduction of a virtual scene

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1060367A FR2968813B1 (en) 2010-12-10 2010-12-10 METHOD FOR RENDERING IMAGES FROM A THREE-DIMENSIONAL VIRTUAL SCENE

Publications (2)

Publication Number Publication Date
FR2968813A1 true FR2968813A1 (en) 2012-06-15
FR2968813B1 FR2968813B1 (en) 2012-12-28

Family

ID=43734038

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1060367A Expired - Fee Related FR2968813B1 (en) 2010-12-10 2010-12-10 METHOD FOR RENDERING IMAGES FROM A THREE-DIMENSIONAL VIRTUAL SCENE

Country Status (3)

Country Link
DE (1) DE112011104332T5 (en)
FR (1) FR2968813B1 (en)
WO (1) WO2012076778A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113350790A (en) * 2021-05-21 2021-09-07 广州三七极创网络科技有限公司 Edge processing method, device, equipment and storage medium of virtual role
CN113470153A (en) * 2021-07-23 2021-10-01 腾讯科技(深圳)有限公司 Rendering method and device of virtual scene and electronic equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009063319A2 (en) 2007-11-15 2009-05-22 Mental Images Gmbh Shallow bounding volume hierarchies for accelerated ray tracing

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
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 *
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 *
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 *
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 *
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 *

Also Published As

Publication number Publication date
WO2012076778A1 (en) 2012-06-14
FR2968813B1 (en) 2012-12-28
DE112011104332T5 (en) 2013-09-12

Similar Documents

Publication Publication Date Title
EP1292921B1 (en) Refinement of a three-dimensional triangular mesh
US8325186B2 (en) Method and apparatus for rendering shadows
EP1527599B1 (en) Method and system enabling real time mixing of synthetic images and video images by a user
CA2810865C (en) Streaming light propagation
RU2481640C1 (en) Method and system of generation of animated art effects on static images
CA2810880C (en) Integration cone tracing
FR2988891A1 (en) METHOD FOR ESTIMATING OPACITY LEVEL IN A SCENE AND CORRESPONDING DEVICE
CN105631926A (en) Image processing apparatus and method
FR2965652A1 (en) METHOD FOR ESTIMATING LIGHT QUANTITY RECEIVED IN ONE POINT OF A VIRTUAL ENVIRONMENT
US11508113B2 (en) Denoising techniques suitable for recurrent blurs
US20160042558A1 (en) Method and apparatus for processing image
CN107392990A (en) Render the global illumination of 3D scenes
US20180047204A1 (en) Three-dimensional character rendering system using general purpose graphic processing unit, and processing method thereof
US20130063462A1 (en) Tile-based image processing using mipmaps
FR2964775A1 (en) METHOD FOR ESTIMATING OCCULTATION IN A VIRTUAL ENVIRONMENT
FR2968813A1 (en) METHOD FOR RENDERING IMAGES FROM A VIRTUAL THREE-DIMENSIONAL SCENE
EP2297705B1 (en) Method for the real-time composition of a video
EP2502206A2 (en) Method for estimating light scattering
WO2016058288A1 (en) Depth-of-field rendering method and apparatus
WO2011058007A2 (en) Method for estimating light scattering
Bojrab et al. Perceptual importance of lighting phenomena in rendering of animated water
FR2968812A1 (en) Method for rendering images in real-time from virtual three-dimensional scene, involves building data structure by merging all static objects of scene before making combinations of three-dimensional geometric data by spatial proximity
FR2994500A1 (en) METHOD OF OPTIMIZING THE EXECUTION OF A GRAPHIC PIPELINE
Macedo et al. Euclidean distance transform soft shadow mapping
FR2964776A1 (en) METHOD FOR ESTIMATING LIGHT DISTRIBUTION IN A HOMOGENEOUS ENVIRONMENT

Legal Events

Date Code Title Description
RM Correction of a material error

Effective date: 20130612

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

CA Change of address

Effective date: 20170912

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

TP Transmission of property

Owner name: AKKA INGENIERIE PRODUIT, FR

Effective date: 20201228

PLFP Fee payment

Year of fee payment: 12

ST Notification of lapse

Effective date: 20230808