FR 3039028 A1 20170120 FR 1556810 A 20150717 1 Procédé et dispositif d'affichage de scène tridimensionnelle sur une surface d'affichage de forme arbitraire non plane La présente invention concerne un procédé d'affichage de scène tridimensionnelle sur une surface d'affichage de forme arbitraire non plane, pour visualisation par un utilisateur ayant une position donnée dans un référentiel spatial. L'invention se situe dans le domaine de l'infographie, en particulier de la projection de scènes tridimensionnelles utilisée notamment dans les systèmes de réalité virtuelle immersifs. De tels systèmes sont utilisés par exemple à des fins industrielles, ludiques ou pédagogiques. On connaît des installations d'immersion virtuelle composées de plusieurs écrans afin de couvrir entièrement le champ de visualisation de l'utilisateur, permettant une immersion dans un univers de scènes tridimensionnelles. Afin de simplifier le traitement graphique induit par la projection, les écrans sont généralement plans et disposés les uns à côté des autres. Afin de maximiser le champ de vision de l'utilisateur, les écrans sont positionnés pour former un cube ou une portion de cube, comme par exemple dans une installation CAVE (« Cave Automatic Virtual Environment »). Cependant une telle installation comporte des défauts de visualisation au niveau des angles joignant les écrans, qui sont perçus par les utilisateurs comme des artefacts dans l'image de la scène projetée. Pour pallier ces inconvénients, des installations comportant des écrans courbés ont été conçues, pour des applications notamment dans le domaine du cinéma et de la simulation de vol. Ces écrans sont en général de forme hémisphérique ou cylindrique. Cependant, la projection de scènes tridimensionnelles (3D), comportant des objets définis par une modélisation 3D, sur des surfaces de projection non planaires nécessite une correction des modèles géométriques des objets pour une perception géométriquement correcte pour l'utilisateur. Ce processus, appelé correction de distorsion ou correction géométrique, implique une grande complexité calculatoire. Il est à noter que la perception, par un utilisateur, de la géométrie d'un objet tridimensionnel projeté sur une surface de projection non planaire dépend de la géométrie de la surface d'affichage et de la position de l'utilisateur, comme illustré schématiquement sur la figure 1. La figure 1 illustre schématiquement, en vue de dessus, une surface d'affichage S de forme courbe quelconque, un projecteur P, un objet O à projeter, ainsi que les 3039028 2 positions de deux utilisateurs notés User-1 et User-2, chaque position associée aux yeux de l'utilisateur considéré. Plusieurs approches ont été proposées pour l'affichage ou le rendu de scènes tridimensionnelles sur des surfaces d'affichage courbes. 5 La famille des méthodes dites de lancer de rayon est bien connue, mais ces méthodes présentent une complexité calculatoire trop importante pour une mise en oeuvre en temps réel. La famille des méthodes de rendu en deux passes par déformation d'image bidimensionnelle (2D), utilisée classiquement pour corriger la perspective dans des 10 systèmes immersifs, n'est pas adaptée à une génération dynamique de l'image à afficher en fonction de la position de l'utilisateur. Le brevet US6 793 350 intitulé « Projecting warped images onto curved surfaces » décrit une méthode de rendu tridimensionnel faisant partie de la famille des méthodes de transfert sur surfaces quadriques. Cette méthode décrit l'affichage d'objets modélisés par 15 des modèles vectoriels, définis par des sommets. La méthode consiste à modifier la position spatiale dans un référentiel 3D des sommets, de sorte que l'image générée par une projection orthographique classique soit correctement déformée en fonction de la courbure de la surface de projection et de la position de l'utilisateur. Cette méthode nécessite un calcul pour chaque sommet du modèle 3D, et est limitée à des surfaces 20 d'affichage quadratiques (ou quadriques), modélisables par une équation de second degré. Par conséquent, cette méthode est limitée à des surfaces d'affichage de forme quadrique. L'invention a pour objet de remédier aux inconvénients de l'état de la technique, en proposant un procédé d'affichage de scènes tridimensionnelles sur une surface 25 d'affichage qui présente une forme arbitraire non plane, avec une correction de distorsion du point de vue d'un utilisateur, et présentant une complexité calculatoire moindre que les méthodes préalables. A cet effet, l'invention propose, selon un premier aspect, un procédé d'affichage de scène tridimensionnelle sur une surface d'affichage de forme arbitraire non plane, pour 30 visualisation correcte par un utilisateur ayant une position donnée dans un référentiel spatial tridimensionnel, le procédé comportant l'affichage d'une image d'affichage comportant des pixels représentatifs de la scène tridimensionnelle. Le procédé comporte : - une première phase de projection en perspective d'un modèle tridimensionnel de la surface d'affichage sur un plan de projection, la projection en perspective ayant un 3039028 3 centre de projection dépendant de la position de l'utilisateur dans le référentiel spatial, permettant d'obtenir une image de projection de la surface d'affichage du point de vue de l'utilisateur, - une deuxième phase de calcul d'une projection de la scène tridimensionnelle sur 5 la surface d'affichage utilisant ladite image de projection. Avantageusement, le procédé d'affichage de scène tridimensionnelle sur surface d'affichage de forme arbitraire selon l'invention permet d'effectuer une correction de distorsion afin de rendre l'affichage géométriquement correct du point de vue d'un utilisateur. Le procédé de l'invention ne se limite pas aux surfaces d'affichage de forme 10 quadrique, mais s'applique à toute forme de surface d'affichage. De plus, avantageusement, le procédé de l'invention présente une complexité calculatoire limitée pour l'affichage d'une scène tridimensionnelle quelle que soit la forme de la surface d'affichage. Le procédé d'affichage de scène tridimensionnelle selon l'invention peut présenter 15 une ou plusieurs des caractéristiques ci-dessous, prises indépendamment ou selon toutes combinaisons techniquement acceptables. La première phase comporte, pour chaque point d'un espace d'affichage de l'image d'affichage, l'obtention des coordonnées dans le référentiel spatial tridimensionnel d'un point de la surface d'affichage correspondant. 20 Le procédé comporte en outre un calcul d'un modèle tridimensionnel de la surface d'affichage comportant les points de la surface d'affichage préalablement obtenus. Le modèle tridimensionnel de la surface d'affichage est un maillage, les sommets du maillage étant définis par lesdits points de la surface d'affichage préalablement obtenus. 25 Le procédé comporte une détermination dudit plan de projection à partir de la position de l'utilisateur dans le référentiel spatial et du barycentre des points de la surface d'affichage préalablement obtenus. Il comporte une détermination et une mémorisation de paramètres représentatifs de la projection en perspective appliquée au modèle tridimensionnel de la surface 30 d'affichage. La première phase comporte une étape de calcul, pour chaque point de coordonnées (s,t) de l'image de projection, d'un point de coordonnées (u,v) correspondant de l'image d'affichage, ledit point de coordonnées (u,v) étant le point de l'image d'affichage affiché au point de coordonnées (x,y,z) de la surface d'affichage qui est 35 projeté, par ladite projection, au point de coordonnées (s,t) du plan de projection. 3039028 4 La deuxième phase comporte une application de la projection en perspective à un modèle tridimensionnel de la scène à afficher sur ledit plan de projection, et une récupération, à partir de la table de correspondance mémorisée, des coordonnées du point de l'image d'affichage correspondant. 5 Le modèle tridimensionnel de la scène à afficher est composé de primitives, chaque primitive comportant un polygone défini par un ensemble de premiers sommets et des arêtes reliant les premiers sommets, le procédé comportant une étape de subdivision par ajout de deuxièmes sommets dans chaque primitive, en fonction d'une distance entre l'utilisateur et lesdits premiers sommets. 10 Selon un deuxième aspect, l'invention concerne un dispositif d'affichage de scène tridimensionnelle sur une surface d'affichage de forme arbitraire non plane, pour visualisation correcte par un utilisateur ayant une position donnée dans un référentiel spatial tridimensionnel, le dispositif comportant des moyens d'affichage d'une image d'affichage comportant des pixels représentatifs de la scène tridimensionnelle. Ce 15 dispositif comporte : - un module apte à mettre en oeuvre une première phase de projection en perspective d'un modèle tridimensionnel de la surface d'affichage sur un plan de projection, la projection en perspective ayant un centre de projection dépendant de la position de l'utilisateur dans le référentiel spatial, permettant d'obtenir une image de 20 projection de la surface d'affichage du point de vue de l'utilisateur, -un module apte à mettre en oeuvre une deuxième phase de calcul d'une projection de la scène tridimensionnelle sur la surface d'affichage utilisant ladite image de projection. Les avantages de ce dispositif d'affichage étant analogues à ceux du procédé 25 d'affichage brièvement décrit ci-dessus, ils ne sont pas rappelés ici. Selon un troisième aspect, l'invention concerne un programme d'ordinateur comportant des instructions pour mettre en oeuvre les étapes d'un procédé d'affichage de scène tridimensionnelle sur une surface d'affichage de forme arbitraire tel que brièvement décrit ci-dessus lors de l'exécution du programme par au moins un processeur d'un 30 dispositif programmable. D'autres caractéristiques et avantages de l'invention ressortiront de la description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux figures annexées, parmi lesquelles : 3039028 5 -la figure 1, déjà décrite, illustre schématiquement la problématique de l'affichage d'objet 3D sur une surface d'affichage de forme arbitraire ; -la figure 2 est un synoptique d'un système d'affichage de scène 3D selon un mode de réalisation de l'invention ; 5 -la figure 3 est un schéma bloc d'un dispositif programmable adapté à mettre en oeuvre un procédé d'affichage de scène tridimensionnelle ; -la figure 4 est un organigramme des principales étapes d'un procédé d'affichage de scène 3D selon un mode de réalisation de l'invention ; -la figure 5 illustre schématiquement la projection en perspective d'un maillage 10 d'une surface d'affichage courbe ; -la figure 6 illustre schématiquement la projection en perspective d'une modélisation 3D d'un objet 3D à afficher ; -la figure 7 est un organigramme des principales étapes de la projection sur la surface d'affichage d'une scène 3D selon un mode de réalisation. 15 L'invention sera décrite ci-après dans son application pour l'affichage de scène 3D ayant un modèle tridimensionnel associé. Une scène 3D est composée d'un ou plusieurs objets à afficher, chaque objet étant décrit par des primitives géométriques (par exemple des triangles) associées à des paramètres (valeurs de texture, couleur, ...). 20 Il est à noter que l'application de l'invention n'est pas limitée à un système de projection de scènes 3D sur une surface d'affichage de forme courbe arbitraire, mais se généralise à tout système d'affichage sur surface de forme courbe arbitraire, par exemple un écran LCD courbe. L'invention s'applique également aux affichages à pixels déformés, par exemple un système de projecteur muni de lentilles déformantes. 25 En d'autres termes, l'invention s'applique pour l'affichage de scène tridimensionnelle sur une surface d'affichage de forme arbitraire non plane, potentiellement munie d'optique déformante. La figure 2 est un synoptique d'un système d'affichage 10 apte à mettre en oeuvre l'invention. 30 Le système 10 comporte un système d'affichage 12 de scènes 3D sur une surface d'affichage de forme arbitraire non planaire. Le système d'affichage 12 comporte une surface d'affichage 14 sur laquelle sont affichées des images d'affichage 18 formées sur une unité d'affichage 16. Dans un mode de réalisation, la surface d'affichage 12 est une surface de 35 projection de forme courbe, et l'unité d'affichage 16 est un projecteur. 3039028 6 En variante, les éléments 14 et 16 sont intégrés dans un écran LCD courbe. Le système d'affichage 12 reçoit une image d'affichage 18 définie par une ou plusieurs matrices de pixels à afficher, chaque pixel ayant une valeur colorimétrique et étant situé à une position définie par un indice de ligne u et un indice de colonne v de la 5 matrice. On définit un espace d'affichage E = {(u, v) ,0 u Dseuil max, avec Dseuil_max une distance de seuil maximum prédéterminée supérieure à Dseuil min, et un nombre de subdivision égal à floor((Dmax-Dseuil min)/(Dseuil max-Dseuil min)*Subdiv max sinon. Les valeurs de distance de seuil minimum et maximum sont sélectionnées en fonction de la résolution à afficher. 20 Par exemple, pour la résolution full HD classique, on peut utiliser Dseuil min=20 pixels et Dseuil max=400 pixels. Ces valeurs sont données à titre d'exemple non limitatif. L'étape 70 est suivie de l'étape 60 précédemment décrite, pour le traitement d'une autre primitive de la modélisation 3D. Après subdivision, les étapes 50 à 54 précédemment décrites sont appliquées. 25 REVENDICATIONS1.- Procédé d'affichage de scène tridimensionnelle sur une surface d'affichage (14) de forme arbitraire non plane, pour visualisation correcte par un utilisateur ayant une position donnée dans un référentiel spatial tridimensionnel, le procédé comportant l'affichage d'une image d'affichage comportant des pixels représentatifs de la scène tridimensionnelle, caractérisé en ce qu'il comporte : - une première phase (A1) de projection en perspective d'un modèle tridimensionnel de la surface d'affichage (14) sur un plan de projection (PL), la projection en perspective ayant un centre de projection (C) dépendant de la position de l'utilisateur dans le référentiel spatial, permettant d'obtenir une image de projection (Iproj) de la surface d'affichage du point de vue de l'utilisateur, - une deuxième phase (A2) de calcul d'une projection de la scène tridimensionnelle sur la surface d'affichage (14) utilisant ladite image de projection (Iproj). 2.- Procédé d'affichage selon la revendication 1, caractérisé en ce que la première phase comporte : - pour chaque point d'un espace d'affichage de l'image d'affichage, l'obtention (40) des coordonnées dans le référentiel spatial tridimensionnel d'un point de la surface d'affichage correspondant. 3.- Procédé d'affichage selon la revendication 2, caractérisé en ce qu'il comporte en outre un calcul (42) d'un modèle tridimensionnel de la surface d'affichage comportant les points de la surface d'affichage préalablement obtenus. 4.- Procédé d'affichage selon la revendication 3, caractérisé en ce que le modèle tridimensionnel de la surface d'affichage est un maillage, les sommets du maillage étant définis par lesdits points de la surface d'affichage préalablement obtenus. 5.- Procédé d'affichage selon l'une quelconque des revendications 2 à 4, caractérisé en ce qu'il comporte une détermination (44) dudit plan de projection (PL) à partir de la position (C) de l'utilisateur dans le référentiel spatial et du barycentre des points de la surface d'affichage préalablement obtenus. 3039028 13 6.- Procédé d'affichage selon la revendication 5, caractérisé en ce qu'il comporte une détermination (44) et une mémorisation de paramètres représentatifs de la projection en perspective appliquée au modèle tridimensionnel de la surface d'affichage. 5 7.- Procédé d'affichage selon l'une quelconque des revendications 1 à 6, caractérisé en ce que la première phase comporte une étape de calcul (46), pour chaque point de coordonnées (s,t) de l'image de projection, d'un point de coordonnées (u,v) correspondant de l'image d'affichage, ledit point de coordonnées (u,v) étant le point de l'image d'affichage affiché au point de coordonnées (x,y,z) de la surface d'affichage qui 10 est projeté, par ladite projection, au point de coordonnées (s,t) du plan de projection. 8.- Procédé d'affichage selon la revendication 7, caractérisé en ce que la deuxième phase comporte une application (50) de la projection en perspective à un modèle tridimensionnel de la scène à afficher sur ledit plan de projection (PL), et une 15 récupération, à partir de la table de correspondance mémorisée, des coordonnées (u,v) du point de l'image d'affichage correspondant. 9.- Procédé d'affichage selon la revendication 8, dans lequel le modèle tridimensionnel de la scène à afficher est composé de primitives, chaque primitive 20 comportant un polygone défini par un ensemble de premiers sommets et des arêtes reliant les premiers sommets, le procédé comportant une étape (70) de subdivision par ajout de deuxièmes sommets dans chaque primitive, en fonction d'une distance entre l'utilisateur et lesdits premiers sommets. 25 10.- Dispositif d'affichage de scène tridimensionnelle sur une surface d'affichage de forme arbitraire non plane, pour visualisation correcte par un utilisateur ayant une position donnée dans un référentiel spatial tridimensionnel, le dispositif comportant des moyens d'affichage d'une image d'affichage comportant des pixels représentatifs de la scène tridimensionnelle, caractérisé en ce qu'il comporte : 30 - un module apte à mettre en oeuvre une première phase de projection en perspective d'un modèle tridimensionnel de la surface d'affichage sur un plan de projection, la projection en perspective ayant un centre de projection dépendant de la position de l'utilisateur dans le référentiel spatial, permettant d'obtenir une image de projection de la surface d'affichage du point de vue de l'utilisateur, 3039028 14 -un module apte à mettre en oeuvre une deuxième phase de calcul d'une projection de la scène tridimensionnelle sur la surface d'affichage utilisant ladite image de projection. 5 11.- Programme d'ordinateur comportant des instructions pour mettre en oeuvre les étapes d'un procédé d'affichage de scène tridimensionnelle sur une surface d'affichage de forme arbitraire non plane conforme aux revendications 1 à 9 lors de l'exécution du programme par au moins un processeur d'un dispositif programmable.