[go: up one dir, main page]

FR3161052A1 - Process for managing content to be displayed in a 3D environment - Google Patents

Process for managing content to be displayed in a 3D environment

Info

Publication number
FR3161052A1
FR3161052A1 FR2403469A FR2403469A FR3161052A1 FR 3161052 A1 FR3161052 A1 FR 3161052A1 FR 2403469 A FR2403469 A FR 2403469A FR 2403469 A FR2403469 A FR 2403469A FR 3161052 A1 FR3161052 A1 FR 3161052A1
Authority
FR
France
Prior art keywords
content
displayed
environment
locations
rendering
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.)
Pending
Application number
FR2403469A
Other languages
French (fr)
Inventor
Guillaume Monteux
Jéremy FAIVRE
Luc Vauvillier
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.)
Gadsme
Original Assignee
Gadsme
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 Gadsme filed Critical Gadsme
Priority to FR2403469A priority Critical patent/FR3161052A1/en
Priority to PCT/EP2025/059080 priority patent/WO2025210125A1/en
Publication of FR3161052A1 publication Critical patent/FR3161052A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Un aspect de l’invention concerne un procédé (200) de gestion de contenus à afficher dans un environnement 3D, l’environnement 3D comprenant des emplacements configurés pour afficher les contenus, le procédé comprenant : Mise en commun (220) des contenus obtenus dans un conteneur de contenus,Pour au moins un calcul de rendu de l’environnement 3D :Détermination (230), selon une règle prédéfinie, d’un ensemble d’emplacements, parmi les emplacements configurés, nécessitant d’afficher un contenu parmi les contenus mis en commun,pour au moins un emplacement de l’ensemble d’emplacements déterminé :Choix (240) du contenu à afficher parmi les contenus mis en commun, etAffichage (250) du contenu choisi, l’affichage du contenu comprenant la génération d’une texture à partir d’un rendu du contenu choisi. Figure à publier avec l’abrégé : Figure 2One aspect of the invention relates to a method (200) for managing content to be displayed in a 3D environment, the 3D environment comprising locations configured to display the content, the method comprising: Pooling (220) the content obtained in a content container, For at least one rendering calculation of the 3D environment: Determining (230), according to a predefined rule, a set of locations, among the configured locations, requiring the display of content among the pooled content, for at least one location of the determined set of locations: Choosing (240) the content to be displayed among the pooled content, and Displaying (250) the chosen content, the display of the content comprising the generation of a texture from a rendering of the chosen content. Figure to be published with the abstract: Figure 2

Description

Procédé de gestion de contenus à afficher dans un environnement 3DProcess for managing content to be displayed in a 3D environment DOMAINE TECHNIQUE DE L’INVENTIONTECHNICAL FIELD OF THE INVENTION

Le domaine technique de l’invention est celui de la gestion de contenus dans des applications utilisant des moteurs de rendus 3D, pour trois dimensions, comme les jeux vidéo, les mondes virtuels, la réalité virtuelle, la réalité augmentée...The technical field of the invention is that of content management in applications using 3D rendering engines, for three dimensions, such as video games, virtual worlds, virtual reality, augmented reality, etc.

La présente invention concerne un procédé de gestion de contenus à afficher dans un environnement 3D.The present invention relates to a method for managing content to be displayed in a 3D environment.

ARRIERE-PLAN TECHNOLOGIQUE DE L’INVENTIONTECHNOLOGICAL BACKGROUND OF THE INVENTION

Dans le domaine de la technique, des moteurs de rendus 3D tels que Unity, Unreal et d’autres, sont couramment utilisés pour générer et afficher une représentation virtuelle et en temps réel d’un environnement 3D. L’environnement 3D est composé d’objets 3D. D’un point de vue macroscopique, pour un utilisateur final, ces objets 3D sont des bâtiments, des véhicules, des planètes, des objets du quotidien… Du point de vue du moteur de rendu, il s’agit d’une liste de formes géométriques ayant des coordonnées dans l’espace, des propriétés de surface ou des règles de mouvement dans le temps.In the technical field, 3D rendering engines such as Unity, Unreal, and others are commonly used to generate and display a virtual, real-time representation of a 3D environment. The 3D environment is composed of 3D objects. From a macroscopic point of view, for an end user, these 3D objects are buildings, vehicles, planets, everyday objects, etc. From the point of view of the rendering engine, it is a list of geometric shapes with coordinates in space, surface properties, or rules of movement over time.

D’un point de vue technique, un moteur de rendu a pour objet de dessiner en temps réel, sur un plan de rendu appelé « viewport », une pluralité d’objets compris dans l’environnement 3D. Ces objets sont définis dans le repère de l’environnement 3D, autrement appelé l’espace de coordonnées (x,y,z), de l’environnement 3D. Ainsi, le moteur de rendu calcule de manière itérative des rendus qui sont ensuite affichés à l’écran.From a technical point of view, the purpose of a rendering engine is to draw in real time, on a rendering plane called a "viewport", a plurality of objects included in the 3D environment. These objects are defined in the 3D environment's coordinate system, otherwise known as the coordinate space (x,y,z), of the 3D environment. Thus, the rendering engine iteratively calculates renderings which are then displayed on the screen.

Pour cela, en référence à laFIG. 1, un objet 100 est projeté sur un viewport 110 depuis le point de vue d’une caméra 120, elle aussi définie dans le repère de l’environnement 3D. La caméra 120 a donc une position dans le repère de l’environnement 3D ainsi qu’une direction. La direction de la caméra est perpendiculaire au plan de rendu de l’environnement 3D, c’est-à-dire au viewport 110.For this, with reference to the FIG. 1 , an object 100 is projected onto a viewport 110 from the viewpoint of a camera 120, also defined in the frame of reference of the 3D environment. The camera 120 therefore has a position in the frame of reference of the 3D environment as well as a direction. The direction of the camera is perpendicular to the rendering plane of the 3D environment, i.e. to the viewport 110.

Un moteur de rendu utilise plusieurs techniques afin de projeter et dessiner correctement la scène sur le plan de rendu. Ces techniques sont combinées au sein d’un « render pipeline » aussi appelé pipeline graphique.A rendering engine uses several techniques to correctly project and draw the scene on the rendering plane. These techniques are combined within a "render pipeline" also called a graphics pipeline.

Lors de la conception de l’environnement 3D, le procédé de texturation 3D est mis en œuvre afin de rendre l’environnement 3D plus réaliste. La texturation 3D consiste à ajouter des textures à un objet 3D ou au terrain de l’environnement 3D. Elle comprend notamment la création de textures ainsi que l’application de ces textures à des objets 3D ou au terrain. Ainsi, de manière traditionnelle, chaque face de l’environnement 3D possède une texture qui est déterminée lors de la conception de l’environnement 3D. Le chargement, c’est-à-dire le chargement en mémoire, de l’environnement 3D, comprend donc aussi le chargement des textures associées aux objets 3D ou au terrain de l’environnement 3D. Le chargement de l’environnement 3D et des textures a lieu en général au début d’une session d’utilisation.When designing a 3D environment, 3D texturing is used to make the 3D environment more realistic. 3D texturing involves adding textures to a 3D object or to the terrain of the 3D environment. It includes creating textures and applying these textures to 3D objects or to the terrain. Traditionally, each face of the 3D environment has a texture that is determined when designing the 3D environment. Loading, i.e. loading the 3D environment into memory, therefore also includes loading the textures associated with the 3D objects or to the terrain of the 3D environment. Loading the 3D environment and textures generally takes place at the beginning of a user session.

Il est possible de noter que les textures peuvent être dynamiques, c’est-à-dire que le contenu de la texture change au cours du temps. Ces textures dynamiques sont le résultat d’un processus de rendu interne au moteur 3D tel qu’un nuanceur, couramment appelé « shader » en anglais, ou d’un processus externe qui peut être coûteux en ressources, d’un contenu lui-même dynamique tel qu’une vue web ou encore un flux vidéo.It is possible to note that textures can be dynamic, that is to say that the content of the texture changes over time. These dynamic textures are the result of a rendering process internal to the 3D engine such as a shader, or of an external process which can be resource-intensive, of content itself dynamic such as a web view or a video stream.

De manière récente, un environnement 3D peut aussi comprendre des emplacements destinés à permettre l’affichage de contenus qui ne sont pas déterminés au moment de la conception de l’environnement 3D. Par exemple, ces contenus peuvent être personnalisés en fonction de préférences utilisateurs ou de la date d’utilisation de l’environnement 3D ou encore de l’emplacement réel de l’utilisateur. Ces contenus peuvent être des images mais aussi des flux vidéo ou encore du contenu web. Un contenu web peut se définir, d’une manière générale, comme étant le contenu, i.e. toutes les ressources multimédias accessibles, d’un site internet. Ces contenus peuvent être informationnels, éducatifs ou encore publicitaires. Ces contenus peuvent être chargés lors du début d’une session d’utilisation, c’est-à-dire en même temps que le chargement de l’environnement 3D. Toutefois, rien n’assure que tous ces contenus seront visibles au moins une fois durant la session de l’utilisateur dans l’environnement 3D. Ainsi, il est coûteux en ressources mémoire, mais aussi potentiellement en termes de bande passante consommée, de charger des centaines de contenus en même temps que le chargement de l’environnement 3D alors que ces contenus ne sont pas forcément vus durant la session d’utilisation.More recently, a 3D environment may also include locations intended to allow the display of content that is not determined at the time of design of the 3D environment. For example, this content may be personalized based on user preferences or the date of use of the 3D environment or the user's actual location. This content may be images but also video streams or web content. Web content can be defined, in general, as the content, i.e. all accessible multimedia resources, of a website. This content may be informational, educational or advertising. This content may be loaded at the start of a user session, i.e. at the same time as the loading of the 3D environment. However, there is no guarantee that all this content will be visible at least once during the user's session in the 3D environment. Thus, it is costly in terms of memory resources, but also potentially in terms of bandwidth consumed, to load hundreds of contents at the same time as loading the 3D environment when these contents are not necessarily seen during the user session.

Une première solution est donc de charger ces contenus à la demande durant la session d’utilisation. Ainsi, après le chargement initial de l'environnement 3D, les contenus sont chargés de manière dynamique, c’est-à-dire de manière asynchrone. Cela signifie que ces contenus ne sont pas chargés simultanément avec l'environnement 3D. En effet, ces contenus peuvent être chargés progressivement, selon une règle prédéfinie, au fur et à mesure que l'utilisateur interagit avec l'environnement 3D. Par exemple, le chargement, mais aussi le déchargement, des contenus peut être effectué en fonction de la position de la caméra dans l’environnement 3D. Dans cet exemple, les contenus associés aux emplacements les plus proches de la caméra sont chargés. Ainsi, un procédé classique peut comprendre quatre étapes. La première étape comprend une désignation d’un contenu à un emplacement. La deuxième étape comprend la détermination des emplacements les plus proches de la caméra. La troisième étape comprend l’obtention et le chargement des contenus associés aux emplacements déterminés lors de la deuxième étape. La quatrième étape comprend la génération d’une texture à partir du contenu obtenu. Cette génération dépend du contenu à afficher. Par exemple, lorsque le contenu à afficher est une image alors l’image est convertie en une texture statique. Lorsque le contenu à afficher est un flux vidéo ou un contenu web, une texture dynamique est générée. Cette texture dynamique est mise à jour, à partir du contenu, durant certains calculs de rendu de l’environnement 3D. Par exemple, lorsque le contenu est un flux vidéo, la texture est mise à jour avec la prochaine image du flux vidéo à afficher en respectant la fréquence d’affichage du moteur 3D. La première étape peut être effectuée lors du lancement de la session utilisateur alors que les autres étapes peuvent être effectuées pour certains ou l’ensemble des calculs du rendu de l’environnement 3D. De plus, lorsque la caméra est déplacée, certains contenus peuvent être déchargés et de nouveaux contenus sont chargés. Cette approche permet donc une utilisation plus efficace des ressources mémoire mais présente tout de même des inconvénients. En effet, les déplacements de la caméra, en général liés à la volonté de l’utilisateur d’explorer l’environnement 3D, sont imprévisibles. Ainsi, cette approche multiplie potentiellement le nombre de chargements et de déchargements des contenus. De plus, certains contenus peuvent avoir été chargés puis déchargés sans jamais n’avoir été vus par l’utilisateur ou au moins visibles depuis la caméra.A first solution is therefore to load this content on demand during the user session. Thus, after the initial loading of the 3D environment, the content is loaded dynamically, that is, asynchronously. This means that this content is not loaded simultaneously with the 3D environment. Indeed, this content can be loaded progressively, according to a predefined rule, as the user interacts with the 3D environment. For example, the loading, but also the unloading, of the content can be carried out according to the position of the camera in the 3D environment. In this example, the content associated with the locations closest to the camera is loaded. Thus, a typical process can include four steps. The first step includes designating content at a location. The second step includes determining the locations closest to the camera. The third step includes obtaining and loading the content associated with the locations determined during the second step. The fourth step includes generating a texture from the obtained content. This generation depends on the content to be displayed. For example, when the content to be displayed is an image, the image is converted into a static texture. When the content to be displayed is a video stream or web content, a dynamic texture is generated. This dynamic texture is updated, based on the content, during certain rendering calculations of the 3D environment. For example, when the content is a video stream, the texture is updated with the next frame of the video stream to be displayed, respecting the display frequency of the 3D engine. The first step can be performed when the user session is launched, while the other steps can be performed for some or all of the rendering calculations of the 3D environment. In addition, when the camera is moved, some content may be unloaded and new content is loaded. This approach therefore allows for more efficient use of memory resources but still has drawbacks. Indeed, the camera movements, generally linked to the user's desire to explore the 3D environment, are unpredictable. Thus, this approach potentially multiplies the number of times content is loaded and unloaded. Furthermore, some content may have been loaded and unloaded without ever being seen by the user or at least visible from the camera.

Il existe donc un besoin de fournir un procédé permettant de gérer des contenus dans un environnement 3D qui résolve, au moins partiellement, les problèmes des procédés de l’art antérieur.There is therefore a need to provide a method for managing content in a 3D environment which resolves, at least partially, the problems of the prior art methods.

L’invention offre une solution, au moins partielle, aux problèmes évoqués précédemment en permettant une gestion dynamique de contenus à afficher dans des emplacements d’un environnement 3D. Le procédé selon l’invention utilise notamment une mise en commun des contenus chargés dynamiquement afin ensuite de déterminer, parmi les contenus mis en commun, le contenu devant être affiché dans l’un des emplacements configurés pour afficher les contenus. Ainsi, la gestion du chargement et déchargement des contenus et la gestion des emplacements sont totalement indépendantes dans le procédé selon l’invention.The invention provides at least a partial solution to the problems mentioned above by enabling dynamic management of content to be displayed in locations of a 3D environment. The method according to the invention uses in particular a pooling of dynamically loaded content in order to then determine, from among the pooled content, the content to be displayed in one of the locations configured to display the content. Thus, the management of the loading and unloading of content and the management of locations are completely independent in the method according to the invention.

Un premier aspect de l’invention concerne un procédé, mis en œuvre par ordinateur, de gestion de contenus à afficher dans un environnement 3D, l’environnement 3D comprenant des emplacements configurés pour afficher les contenus à afficher, le procédé comprenant :

  • Obtention de l’environnement 3D et des contenus à afficher,
  • Mise en commun des contenus obtenus dans un conteneur de contenus,
  • Pour au moins un calcul de rendu de l’environnement 3D :
    • Détermination, selon une règle prédéfinie, d’un ensemble d’emplacements, parmi les emplacements configurés, nécessitant d’afficher un contenu parmi les contenus mis en commun,
    • Pour au moins un emplacement de l’ensemble d’emplacements déterminé :
      • Choix du contenu à afficher parmi les contenus mis en commun, et
      • Affichage du contenu choisi, l’affichage du contenu comprenant la génération d’une texture à partir d’un rendu du contenu choisi.
A first aspect of the invention relates to a computer-implemented method of managing content to be displayed in a 3D environment, the 3D environment comprising locations configured to display the content to be displayed, the method comprising:
  • Obtaining the 3D environment and the contents to be displayed,
  • Pooling of the obtained content in a content container,
  • For at least one 3D environment rendering calculation:
    • Determination, according to a predefined rule, of a set of locations, among the configured locations, requiring the display of content among the pooled contents,
    • For at least one location in the determined set of locations:
      • Choice of content to display from the shared content, and
      • Displaying the chosen content, the display of the content including generating a texture from a rendering of the chosen content.

Grâce à l’invention, il est possible de gérer indépendamment l’obtention des contenus à afficher et l’affichage de ces contenus dans des emplacements de l’environnement 3D. Cette indépendance permet donc une optimisation à la fois des chargements et déchargements des contenus mais aussi du choix des contenus à afficher. Cette indépendance permet aussi de limiter le risque que des emplacements de l’environnement 3D ne puissent afficher un contenu en cas de problème d’obtention dudit contenu. Par exemple, si un contenu ne peut être téléchargé en raison de problèmes lié au réseau ou à l’accès mémoire, le procédé permettra quand même d’afficher des contenus dans tous les emplacements déterminés en utilisant les contenus mis en commun dans le conteneur de contenus. De plus, le choix de l’affichage des contenus tient notamment compte d’au moins une règle prédéfinie. La règle prédéfinie peut par exemple être basée sur un score de visibilité du contenu. Le score de visibilité correspond à un degré de visibilité dont le contenu a déjà bénéficié précédemment. Dans cet exemple, il est possible de mieux gérer la visibilité des contenus malgré l’incertitude liée aux déplacements de l’utilisateur dans l’environnement 3D. Ainsi, le procédé permet la réduction du nombre de chargements et de déchargements de contenus liés aux déplacements de la caméra dans l’environnement.Thanks to the invention, it is possible to independently manage the obtaining of the contents to be displayed and the display of these contents in locations of the 3D environment. This independence therefore allows optimization of both the loading and unloading of the contents but also the choice of the contents to be displayed. This independence also makes it possible to limit the risk that locations of the 3D environment cannot display content in the event of a problem obtaining said content. For example, if content cannot be downloaded due to problems related to the network or memory access, the method will still allow content to be displayed in all the determined locations by using the contents pooled in the content container. In addition, the choice of the display of the contents takes into account in particular at least one predefined rule. The predefined rule can for example be based on a visibility score of the content. The visibility score corresponds to a degree of visibility that the content has already previously benefited from. In this example, it is possible to better manage the visibility of content despite the uncertainty linked to the user's movements in the 3D environment. Thus, the method allows the reduction of the number of loadings and unloadings of content linked to the movements of the camera in the environment.

Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé selon un aspect de l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles :

  • le choix est effectué en tenant compte d’au moins une contrainte basée sur un score de visibilité de chacun des contenus mis en commun, le score de visibilité correspondant à un degré de visibilité dont le contenu a déjà bénéficié depuis un début d’une session d’utilisation,
  • le procédé comprend en outre, pour au moins un calcul de rendu de l’environnement 3D, des étapes de :
    • Remplacement d’un contenu mis en commun dans le conteneur de contenus par un nouveau contenu obtenu ultérieurement à l’étape d’obtention de l’environnement 3D et des contenus à afficher, et
    • Affichage du nouveau contenu obtenu dans au moins un emplacement parmi l’ensemble d’emplacements déterminé.
  • le procédé comprend en outre, pour chaque emplacement déterminé :
    • Lorsque l’emplacement déterminé n’obtient pas de contenu à afficher durant l’étape de choix :
      • Lorsque le score de visibilité du contenu affiché lors du rendu précédent est inférieur à un score de visibilité minimal prédéterminé, maintien de l’affichage du contenu affiché lors du rendu précédent, ou
      • Lorsque le score de visibilité du contenu affiché lors du rendu précédent est égal ou supérieur à un score de visibilité minimal prédéterminé, affichage d’un contenu de remplacement, le contenu de remplacement étant un contenu mis en commun différent du contenu affiché lors du rendu précédent,
  • lorsque le score de visibilité du contenu affiché lors du rendu précédent est supérieur à un score de visibilité minimal prédéterminé, l’affichage du contenu de remplacement est précédé par une étape de détermination du contenu de remplacement en priorisant :
    • Un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé, le contenu affiché ayant en outre un score de visibilité inférieur à un score de visibilité minimal prédéterminé, puis
    • Un contenu mis en commun ayant été ajouté dans le conteneur de contenus en dernier, et
    • Un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé et affiché sur un plus petit nombre d’emplacements déterminés,
  • le choix du contenu à afficher est effectué de manière commune pour au moins deux emplacements déterminés,
  • les contenus à afficher sont des contenus web ou des flux vidéo, et
  • l’affichage du contenu choisi comprend la mise à jour du contenu à afficher avant la génération d’une texture à partir du rendu du contenu choisi,
  • Le choix est effectué en tenant compte d’au moins une contrainte de correspondance entre un format de la texture générée et un format de l’emplacement déterminé,
  • Le conteneur de contenus possède un nombre maximal de contenus, prédéterminé pour chaque format de texture générée à partir du contenu, pouvant être contenus dans le conteneur, et
  • Lorsque le nombre maximal de contenus, pour au moins un premier format de texture généré, pouvant être contenus dans le conteneur est inférieur au nombre d’emplacements déterminés ayant le premier format, le choix du contenu à afficher tient en outre compte d’une contrainte de répartition équitable de l’affichage des contenus dont la texture générée a le premier format dans l’ensemble des emplacements déterminés ayant le premier format.
In addition to the characteristics which have just been mentioned in the preceding paragraph, the method according to one aspect of the invention may have one or more additional characteristics among the following, considered individually or according to all technically possible combinations:
  • the choice is made taking into account at least one constraint based on a visibility score of each of the pooled contents, the visibility score corresponding to a degree of visibility that the content has already benefited from since the start of a usage session,
  • the method further comprises, for at least one rendering calculation of the 3D environment, steps of:
    • Replacing content pooled in the content container with new content obtained later in the step of obtaining the 3D environment and the content to be displayed, and
    • Displaying new content obtained in at least one location from the determined set of locations.
  • the method further comprises, for each determined location:
    • When the determined location does not get any content to display during the choice step:
      • When the visibility score of the content displayed in the previous rendering is lower than a predetermined minimum visibility score, maintaining the display of the content displayed in the previous rendering, or
      • When the visibility score of the content displayed in the previous rendering is equal to or greater than a predetermined minimum visibility score, display of replacement content, the replacement content being pooled content different from the content displayed in the previous rendering,
  • when the visibility score of the content displayed during the previous rendering is higher than a predetermined minimum visibility score, the display of the replacement content is preceded by a step of determining the replacement content by prioritizing:
    • Content displayed in the previous rendering in at least one determined location, the displayed content further having a visibility score lower than a predetermined minimum visibility score, then
    • A shared content that was added to the content container last, and
    • Content displayed in the previous rendering in at least one specified location and displayed in a smaller number of specified locations,
  • the choice of content to be displayed is made jointly for at least two specific locations,
  • the content to be displayed is web content or video streams, and
  • displaying the chosen content includes updating the content to be displayed before generating a texture from the rendering of the chosen content,
  • The choice is made taking into account at least one correspondence constraint between a format of the generated texture and a format of the determined location,
  • The content container has a maximum number of contents, predetermined for each texture format generated from the content, that can be contained in the container, and
  • When the maximum number of contents, for at least one first generated texture format, which can be contained in the container is less than the number of locations determined having the first format, the choice of the content to be displayed also takes into account a constraint of equitable distribution of the display of the contents whose generated texture has the first format in all the locations determined having the first format.

Un second aspect de l’invention concerne un produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’invention.A second aspect of the invention relates to a computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the method according to the invention.

Un troisième aspect de l’invention concerne un support d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’invention.A third aspect of the invention relates to a computer-readable recording medium comprising instructions which, when executed by a computer, cause the latter to implement the method according to the invention.

Un quatrième aspect de l’invention concerne un système configuré pour exécuter le procédé selon l’invention.A fourth aspect of the invention relates to a system configured to execute the method according to the invention.

L’invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent.The invention and its various applications will be better understood by reading the following description and examining the accompanying figures.

BREVE DESCRIPTION DES FIGURESBRIEF DESCRIPTION OF THE FIGURES

Les figures sont présentées à titre indicatif et nullement limitatif de l’invention.

  • LaFIG. 1montre une illustration simplifiée d’un exemple de fonctionnement d’un moteur de rendu graphique.
  • LaFIG. 2est un schéma synoptique illustrant les étapes d'un exemple du procédé selon l'invention.
  • Les figures 3, 4 et 5 sont des exemples d’environnement 3D comprenant des contenus affichés dans des emplacements dédiés.
The figures are presented for information purposes only and in no way limit the invention.
  • There FIG. 1 shows a simplified illustration of an example of how a graphics rendering engine works.
  • There FIG. 2 is a block diagram illustrating the steps of an example of the method according to the invention.
  • Figures 3, 4 and 5 are examples of a 3D environment including content displayed in dedicated locations.

DESCRIPTION DETAILLEEDETAILED DESCRIPTION

Sauf précision contraire, un même élément apparaissant sur des figures différentes présente une référence unique.Unless otherwise specified, the same element appearing in different figures has a single reference.

LaFIG. 2est un schéma synoptique illustrant les étapes d'un exemple du procédé 200 selon l'invention. Les étapes obligatoires de l'exemple du procédé 200 sont indiquées par un rectangle en traits pleins et les étapes facultatives sont indiquées par un rectangle en traits pointillés.There FIG. 2 is a block diagram illustrating the steps of an example of the method 200 according to the invention. The mandatory steps of the example of the method 200 are indicated by a solid rectangle and the optional steps are indicated by a dotted rectangle.

Le procédé 200 selon l’invention est mis en œuvre par ordinateur. Par « mis en œuvre par ordinateur », il est entendu que toutes les étapes, ou pratiquement toutes les étapes du procédé 200, sont exécutées par au moins un ordinateur ou processeur ou tout autre système similaire, tel qu’un téléphone intelligent, « smartphone » en anglais, ou une tablette tactile ou une console de jeu ou un masque de réalité virtuelle ou réalité augmentée. Ainsi, des étapes sont réalisées par l’ordinateur, éventuellement de manière entièrement automatique, ou semi-automatique. Dans des exemples, le déclenchement d'au moins certaines des étapes de ces méthodes peut être effectué par interaction utilisateur-ordinateur, autrement appelée dans la présente demande interaction utilisateur. Le niveau d'interaction utilisateur requis peut dépendre du niveau d'automatisme prévu et mis en balance avec la nécessité de mettre en œuvre les souhaits de l'utilisateur. Dans des exemples, ce niveau peut être défini par l'utilisateur et/ou prédéfini. L’interaction utilisateur peut être effectuée à l’aide d’une souris ou de tout autre dispositif tel qu’une manette de jeu vidéo. Lorsque l’ordinateur comprend un écran tactile ou une caméra, l’interaction utilisateur peut être effectuée avec toute partie du corps de l’utilisateur telle que la main ou un ou plusieurs doigts de l’utilisateur.The method 200 according to the invention is implemented by computer. By “computer-implemented”, it is understood that all the steps, or practically all the steps of the method 200, are executed by at least one computer or processor or any other similar system, such as a smartphone, or a touch-screen tablet or a game console or a virtual reality or augmented reality mask. Thus, steps are carried out by the computer, possibly in a fully automatic or semi-automatic manner. In examples, the triggering of at least some of the steps of these methods can be carried out by user-computer interaction, otherwise referred to in the present application as user interaction. The level of user interaction required can depend on the level of automation intended and balanced against the need to implement the user's wishes. In examples, this level can be defined by the user and/or predefined. The user interaction can be carried out using a mouse or any other device such as a video game controller. When the computer includes a touchscreen or a camera, user interaction may be performed with any part of the user's body such as the user's hand or one or more fingers.

Un exemple typique d’implémentation par ordinateur du procédé 200 consiste à exécuter le procédé 200 avec un système adapté à cet effet. Le système peut comprendre un processeur couplé à une mémoire et une interface utilisateur graphique (GUI), la mémoire ayant enregistré dessus un programme informatique comprenant des instructions pour mettre en œuvre le procédé. La mémoire peut également stocker une base de données. La mémoire est tout matériel adapté pour un tel stockage, comprenant éventuellement plusieurs parties physiques distinctes.A typical example of a computer implementation of the method 200 is to execute the method 200 with a system adapted for this purpose. The system may include a processor coupled to a memory and a graphical user interface (GUI), the memory having recorded thereon a computer program comprising instructions for implementing the method. The memory may also store a database. The memory is any hardware adapted for such storage, possibly comprising several distinct physical parts.

De manière alternative, l’implémentation par ordinateur du procédé 200 consiste à exécuter au moins certaines étapes du procédé 200 sur un serveur situé à distance, le serveur exécutant au moins une partie du procédé en réponse à une requête envoyée par un système client, par exemple l’ordinateur ou le téléphone portable intelligent. La requête peut par exemple être transmise via une application de type web, en réponse à une interaction utilisateur, et lorsque le serveur a terminé l’exécution des calculs et la préparation du rendu, le serveur peut transmettre les résultats au système client qui peut ensuite les afficher. La transmission d’informations entre le serveur et le système client peut être effectuée à l’aide d’un réseau mobile sans fil, par exemple de 3ème ou 4ème génération.Alternatively, the computer implementation of the method 200 involves executing at least some steps of the method 200 on a remotely located server, the server executing at least part of the method in response to a request sent by a client system, for example the computer or the smart mobile phone. The request may for example be transmitted via a web-type application, in response to a user interaction, and when the server has finished executing the calculations and preparing the rendering, the server may transmit the results to the client system which may then display them. The transmission of information between the server and the client system may be carried out using a wireless mobile network, for example 3rd or 4th generation.

Le procédé 200 permet la gestion d’un contenu dans un environnement 3D. Le terme « gestion » dans la présente demande peut comprendre l’obtention, le stockage du contenu ainsi que son affichage dans l’environnement 3D. Le contenu peut par exemple être informationnel, éducatif ou publicitaire et être sous la forme d’une image, d’un contenu web ou encore d’un flux vidéo. L’invention est indépendante de la nature du contenu affiché.The method 200 allows the management of content in a 3D environment. The term “management” in the present application may include obtaining, storing the content as well as its display in the 3D environment. The content may for example be informational, educational or advertising and be in the form of an image, web content or even a video stream. The invention is independent of the nature of the content displayed.

Une première étape 210 du procédé 200 comprend l’obtention de l’environnement 3D. Le terme « obtention » peut signifier dans la présente demande « recevoir », « accéder en mémoire » ou « générer ». Par exemple, l’environnement 3D peut être stocké en mémoire de l’ordinateur et l’obtention consiste à accéder à la mémoire de stockage de l’environnement 3D ou à accéder à la mémoire de stockage d’au moins une partie de l’environnement 3D en fonction de la position de la caméra dans l’environnement 3D. Dans un autre exemple, l’environnement 3D peut être stocké sur un serveur à distance et l’ordinateur peut recevoir cet environnement 3D, ou au moins une partie de l’environnement 3D en fonction de la position de la caméra dans l’environnement 3D. L’environnement 3D comprend des objets 3D et un terrain. Chaque objet 3D et le terrain sont localisés dans le repère de l’environnement 3D. De plus, les objets 3D et le terrain peuvent être texturés, c’est-à-dire qu’ils peuvent comprendre une texture appliquée à leur surface. Une texture est une image ou une série d'images qui est appliquée à la surface d'un objet 3D ou d’un terrain pour lui donner des détails visuels et des caractéristiques graphiques telles que des caractéristiques réalistes. L’environnement 3D comprend aussi des emplacements configurés pour afficher les contenus gérés par le procédé 200. Dit autrement, l’environnement 3D comprend des emplacements identifiés et localisés dans lequel les contenus du procédé 200 peuvent être affichés. Par exemple, ces emplacements sont configurés pour afficher des contenus qui ne sont pas déterminés au moment de la conception de l’environnement 3D. Il est possible de noter que les emplacements ne possèdent pas un contenu spécifique à afficher au moment de la conception de l’environnement 3D. En effet, les contenus à afficher dans ces emplacements peuvent être déterminés au moment du lancement de la session d’utilisation ou à tout moment durant la session d’utilisation de l’environnement 3D.A first step 210 of the method 200 comprises obtaining the 3D environment. The term “obtaining” may mean in the present application “receiving”, “accessing in memory” or “generating”. For example, the 3D environment may be stored in the computer’s memory and obtaining consists of accessing the storage memory of the 3D environment or accessing the storage memory of at least a portion of the 3D environment depending on the position of the camera in the 3D environment. In another example, the 3D environment may be stored on a remote server and the computer may receive this 3D environment, or at least a portion of the 3D environment depending on the position of the camera in the 3D environment. The 3D environment comprises 3D objects and a terrain. Each 3D object and the terrain are located in the reference frame of the 3D environment. In addition, the 3D objects and terrain may be textured, meaning they may include a texture applied to their surface. A texture is an image or series of images that is applied to the surface of a 3D object or terrain to give it visual details and graphical characteristics such as realistic features. The 3D environment also includes locations configured to display the contents managed by the method 200. In other words, the 3D environment includes identified and localized locations in which the contents of the method 200 may be displayed. For example, these locations are configured to display contents that are not determined at the time of design of the 3D environment. It may be noted that the locations do not have specific content to be displayed at the time of design of the 3D environment. Indeed, the contents to be displayed in these locations may be determined at the time of launching the user session or at any time during the user session of the 3D environment.

La première étape 210 du procédé 200 comprend aussi l’obtention des contenus à afficher. Comme pour l’environnement 3D, le terme « obtention » peut signifier dans la présente demande « recevoir », « accéder en mémoire » ou « générer ». L’obtention peut varier en fonction de la nature du contenu à obtenir. Par exemple, lorsqu’un contenu à afficher est un contenu web. Le contenu web peut être reçu par l’ordinateur mettant en œuvre le procédé après avoir effectué une requête http, pour « Hypertext Transfer Protocol » en anglais, à un serveur http, qui, en réponse, envoie le contenu web à l’ordinateur. De manière alternative, plusieurs requêtes, par exemple de type html, pour « HyperText Markup Language » en anglais, et/ou de type css, pour « Cascading Style Sheets » en anglais, et/ou de type javascript et de type images peuvent être effectuées afin d’obtenir l’ensemble du contenu web. Dans un autre exemple, compatible avec les exemples précédents, il est possible que l’obtention du contenu soit partielle à l’étape 210. Dit autrement, seulement une partie du contenu à afficher est obtenue à l’étape 210. L’obtention partielle du contenu à l’étape 210 est particulièrement adaptée pour les contenus web et les flux vidéo. En effet, ces contenus peuvent être de taille conséquente, par exemple de plusieurs mégaoctets voire plusieurs dizaines de mégaoctets. De plus, concernant les contenus web, le contenu à afficher peut aussi dépendre d’interactions utilisateurs. Dans un exemple, lorsque le contenu à afficher est un flux vidéo, seule une partie du flux vidéo à afficher peut être obtenu à l’étape 210. Ainsi, pour une vidéo de 15 secondes, les 5 premières secondes de la vidéo peuvent être obtenues à l’étape 210. Ensuite, durant des itérations ultérieures du calcul de rendu de l’environnement 3D, le reste de la vidéo peut être obtenu.The first step 210 of the method 200 also comprises obtaining the content to be displayed. As for the 3D environment, the term “obtaining” can mean in the present application “receive”, “access in memory” or “generate”. Obtaining can vary depending on the nature of the content to be obtained. For example, when content to be displayed is web content. The web content can be received by the computer implementing the method after making an http request, for “Hypertext Transfer Protocol” in English, to an http server, which, in response, sends the web content to the computer. Alternatively, several requests, for example of the html type, for “HyperText Markup Language” in English, and/or of the css type, for “Cascading Style Sheets” in English, and/or of the javascript type and of the image type can be made in order to obtain all of the web content. In another example, compatible with the previous examples, it is possible that the content is obtained partially at step 210. In other words, only part of the content to be displayed is obtained at step 210. Partial obtaining of the content at step 210 is particularly suitable for web content and video streams. Indeed, these contents can be of significant size, for example several megabytes or even several tens of megabytes. In addition, concerning web content, the content to be displayed can also depend on user interactions. In one example, when the content to be displayed is a video stream, only part of the video stream to be displayed can be obtained at step 210. Thus, for a 15-second video, the first 5 seconds of the video can be obtained at step 210. Then, during subsequent iterations of the 3D environment rendering calculation, the rest of the video can be obtained.

Une deuxième étape 220 du procédé 200 comprend la mise en commun des contenus, obtenus à l’étape 210, dans un conteneur de contenus. Ce conteneur est une structure, par exemple une structure de type « liste » ou « pile » ou « file » « vecteur » ou « sac », dans laquelle les contenus sont stockés. Ce conteneur peut être considéré, d’un point de vue fonctionnel, comme un réservoir de contenus à afficher. La détermination des contenus à obtenir pour être mis en commun peut dépendre d’un grand nombre de paramètres. Par exemple, la détermination des contenus à obtenir pour être mis en commun peut varier en fonction des caractéristiques de l’utilisateur telles que son âge, son adresse postale, son genre, etc… La détermination des contenus à obtenir pour être mis en commun peut aussi varier en fonction des caractéristiques de l’application telles que la nature de l’application : jeu vidéo, jeu sérieux ou « serious game » en anglais, réalité virtuelle, réalité augmentée, etc… Le choix des contenus à afficher, à l’étape 240, est effectué parmi ces contenus mis en commun. De plus, les critères de choix des contenus sont indépendants des critères utilisés pour déterminer les contenus à obtenir pour être mis en commun.A second step 220 of the method 200 comprises pooling the contents, obtained in step 210, in a content container. This container is a structure, for example a “list” or “stack” or “queue” “vector” or “bag” type structure, in which the contents are stored. This container can be considered, from a functional point of view, as a reservoir of contents to be displayed. The determination of the contents to be obtained in order to be pooled may depend on a large number of parameters. For example, the determination of the contents to be obtained in order to be pooled may vary depending on the characteristics of the user such as their age, postal address, gender, etc. The determination of the contents to be obtained in order to be pooled may also vary depending on the characteristics of the application such as the nature of the application: video game, serious game, virtual reality, augmented reality, etc. The choice of the contents to be displayed, in step 240, is made from these pooled contents. Furthermore, the criteria for choosing content are independent of the criteria used to determine the content to be obtained for pooling.

La taille du conteneur peut être variable ou prédéterminée. La taille du conteneur peut varier en fonction des ressources disponibles l’ordinateur. Elle peut être déterminée pour une session d’utilisation au début de la session. La taille du conteneur peut aussi évoluer durant la session d’utilisation. Lorsque la taille du conteneur est prédéterminée, un nombre maximal de contenus peut y être stocké. Ce nombre maximal peut donc aussi être prédéterminé. Dans un exemple, compatible avec les exemples précédents, un nombre maximal de contenus pouvant être contenus dans le conteneur est prédéterminé en fonction du format de la texture générée à partir du contenu. Ainsi, le type de format d’un contenu dépend du format de la texture générée à partir du contenu. Dans un exemple, le conteneur peut avoir un nombre maximal de contenus mis en commun de 10 contenus. De plus, une proportion prédéterminée du nombre de contenus par format peut être fournie, par exemple 70% pour un contenu d’un format de type 1 et 30% pour un contenu de format de type 2. Dans ce cas, le nombre maximal de contenus de format de type 1 dans le conteneur sera de 7 et le nombre maximal de contenus de format de type 2 dans le conteneur sera de 3. Il est possible de noter que la proportion du nombre de contenus par format peut aussi évoluer durant la session d’utilisation, par exemple en fonction du format des différents emplacements déterminés à l’étape 230.The size of the container may be variable or predetermined. The size of the container may vary depending on the computer's available resources. It may be determined for a usage session at the start of the session. The size of the container may also change during the usage session. When the size of the container is predetermined, a maximum number of contents may be stored therein. This maximum number may therefore also be predetermined. In one example, consistent with the preceding examples, a maximum number of contents that may be contained in the container is predetermined based on the format of the texture generated from the content. Thus, the format type of a content depends on the format of the texture generated from the content. In one example, the container may have a maximum number of shared contents of 10 contents. In addition, a predetermined proportion of the number of contents per format may be provided, for example 70% for content of a type 1 format and 30% for content of a type 2 format. In this case, the maximum number of contents of type 1 format in the container will be 7 and the maximum number of contents of type 2 format in the container will be 3. It is possible to note that the proportion of the number of contents per format may also change during the usage session, for example depending on the format of the different locations determined in step 230.

Les étapes 230 à 270 sont effectuées pour au moins un calcul de rendu de l’environnement 3D. Comme expliqué précédemment, le moteur de rendu calcule de manière itérative des rendus qui sont ensuite affichés à l’écran. Ainsi, ces étapes 230 à 270 sont effectuées pour au moins certaines itérations de calculs de rendus. Par exemple, pour chaque itération de calcul du rendu, au moins certaines de ces étapes peuvent être effectuées. Dans un deuxième exemple, compatible avec l’exemple précédent, au moins certaines de ces étapes sont effectuées à intervalle de temps régulier, par exemple pour un intervalle de temps égal à un nombre prédéterminé d’itérations. Dans un troisième exemple, compatible avec les deux exemples précédents, au moins certaines de ces étapes sont effectuées suite à un événement. Par exemple, la détermination 230 de l’ensemble d’emplacements peut être effectuée pour tous les calculs de rendus ou à intervalles réguliers, par exemple tous les 2, 5 ou 10 calculs de rendus ou encore lorsqu’un déplacement, supérieur à une distance prédéterminée, de la caméra est détecté.Steps 230 to 270 are performed for at least one rendering calculation of the 3D environment. As explained previously, the rendering engine iteratively calculates renderings which are then displayed on the screen. Thus, these steps 230 to 270 are performed for at least some iterations of rendering calculations. For example, for each iteration of rendering calculation, at least some of these steps can be performed. In a second example, compatible with the previous example, at least some of these steps are performed at regular time intervals, for example for a time interval equal to a predetermined number of iterations. In a third example, compatible with the two previous examples, at least some of these steps are performed following an event. For example, the determination 230 of the set of locations can be carried out for all rendering calculations or at regular intervals, for example every 2, 5 or 10 rendering calculations or when a movement, greater than a predetermined distance, of the camera is detected.

Une troisième étape 230 du procédé 200 comprend la détermination d’un ensemble d’emplacements, parmi les emplacements configurés pour afficher les contenus, nécessitant d’afficher un contenu parmi les contenus mis en commun. La détermination de l’ensemble d’emplacements est effectuée selon une règle prédéfinie. Par exemple, la règle prédéfinie peut tenir compte de la distance entre la caméra et chaque emplacement de l’environnement 3D. Par exemple, si la distance entre la caméra et un emplacement de l’environnement 3D est inférieure à une distance prédéterminée, alors l’emplacement est ajouté à l’ensemble d’emplacements nécessitant d’afficher un contenu. Dans cet exemple, la nécessité d’afficher un contenu peut donc être définie par le fait que la distance entre l’emplacement et la caméra est inférieure à une distance prédéterminée. Un autre exemple de règle prédéfinie peut tenir compte de la visibilité de chaque emplacement depuis la caméra ou depuis une zone autour de la caméra. Afin de déterminer cette visibilité, il est possible d’utiliser des techniques de lancers de rayon, « raycasting » en anglais. Dans cet exemple, la nécessité d’afficher un contenu peut donc être définie par le fait que l’emplacement est visible depuis le point de vue de la caméra ou est susceptible d’être visible depuis le point de vue de la caméra si la caméra est déplacée d’une distance inférieure à une distance prédéterminée. Ainsi, les termes « emplacements nécessitant un contenu à afficher » peuvent ici correspondre aux emplacements visibles depuis le point de vue de la caméra et/ou susceptibles d’être visibles depuis le point de vue de la caméra dans un futur proche, par exemple si le point de vue de la caméra est déplacé d’une distance supérieure à une distance prédéterminée.A third step 230 of the method 200 comprises determining a set of locations, among the locations configured to display the contents, requiring the display of a content among the pooled contents. The determination of the set of locations is performed according to a predefined rule. For example, the predefined rule may take into account the distance between the camera and each location in the 3D environment. For example, if the distance between the camera and a location in the 3D environment is less than a predetermined distance, then the location is added to the set of locations requiring the display of a content. In this example, the need to display a content may therefore be defined by the fact that the distance between the location and the camera is less than a predetermined distance. Another example of a predefined rule may take into account the visibility of each location from the camera or from an area around the camera. In order to determine this visibility, it is possible to use ray casting techniques. In this example, the need to display content can therefore be defined by the location being visible from the camera's point of view or likely to be visible from the camera's point of view if the camera is moved less than a predetermined distance. Thus, the term "locations requiring content to be displayed" can here correspond to locations visible from the camera's point of view and/or likely to be visible from the camera's point of view in the near future, for example if the camera's point of view is moved greater than a predetermined distance.

Les étapes 240 et 250 sont effectuées pour au moins un emplacement de l’ensemble d’emplacements déterminé. Par exemple, ces étapes peuvent être effectuées pour tous les emplacements de l’ensemble d’emplacements déterminé. Dans un autre exemple, ces étapes peuvent ne pas être effectuées pour certains emplacements, par exemple pour les emplacements affichant déjà un contenu parmi les contenus mis en commun. Par exemple, lorsqu’un affichage d’un contenu dans un emplacement déterminé débute, il est possible d’indiquer que cet affichage a une durée minimum à respecter, ainsi durant cette durée minimum, les étapes 240 et 250 ne seront pas effectuées pour cet emplacement déterminé. LaFIG. 3illustre un environnement 3D 300 comprenant un terrain 350 et des objets 3D 320. Les objets 3D comprennent des emplacements 310 configurés pour afficher des textures 340. Ces textures sont stockées dans le conteneur 330.De plus, le conteneur ne comprend que les textures issues du rendu des contenus compris dans le conteneur 330.Il est possible de noter que le terrain 350 peut aussi comprendre des emplacements 310 configurés pour afficher des textures 340.Steps 240 and 250 are performed for at least one location in the determined set of locations. For example, these steps may be performed for all locations in the determined set of locations. In another example, these steps may not be performed for certain locations, for example for locations already displaying content among the pooled content. For example, when a display of content in a determined location begins, it is possible to indicate that this display has a minimum duration to be respected, thus during this minimum duration, steps 240 and 250 will not be performed for this determined location. FIG. 3 illustrates a 3D environment 300 comprising a terrain 350 and 3D objects 320. The 3D objects comprise locations 310 configured to display textures 340. These textures are stored in the container 330. In addition, the container only comprises the textures resulting from the rendering of the contents included in the container 330. It is possible to note that the terrain 350 can also comprise locations 310 configured to display textures 340.

Une quatrième étape 240 du procédé 200 comprend le choix du contenu à afficher parmi les contenus mis en commun à l’étape 220. Ce choix peut être effectué en fonction d’un grand nombre de critères.A fourth step 240 of the method 200 comprises the choice of the content to be displayed from among the content pooled in step 220. This choice can be made based on a large number of criteria.

Dans un exemple, compatible avec les exemples précédents, le choix 240 du contenu à afficher peut être effectué de manière commune pour au moins deux emplacements déterminés. Dit autrement cette étape de choix 240 est mutualisée pour deux ou plus emplacements déterminés. LaFIG. 4illustre un exemple d’environnement 3D 300 dans lequel l’étape de choix 240 est mutualisée pour deux ou plus emplacements 310 déterminés. Ainsi, les emplacements 310 de type 1, i.e. sur lesquels le nombre « 1 » est noté sur laFIG. 4, affichent la même texture 340 de type 1, i.e. sur laquelle le nombre « 1 » est noté. De même, les autres emplacements 310 de type 2, 3 ou 4 affichent respectivement la même texture 340 de type 2, 3 ou 4. Cet exemple permet notamment de respecter des règles prédéterminées de répartition de l’affichage des contenus dans l’environnement 3D. Il est possible de noter que le type d’une texture dépend du type du contenu à partir duquel la texture a été généré. Par exemple, une texture de type 1 est une texture issue d’un rendu de contenu type 1. Ces règles peuvent viser à assurer une cohérence ou un caractère réaliste de l’environnement 3D. Dans laFIG. 4, les emplacements 310 de même type peuvent par exemple avoir l’obligation d’afficher un contenu identique.In one example, compatible with the previous examples, the choice 240 of the content to be displayed can be made jointly for at least two specific locations. In other words, this choice step 240 is shared for two or more specific locations. The FIG. 4 illustrates an example of a 3D environment 300 in which the choice step 240 is shared for two or more determined locations 310. Thus, the locations 310 of type 1, i.e. on which the number “1” is noted on the FIG. 4 , display the same texture 340 of type 1, i.e. on which the number “1” is noted. Similarly, the other locations 310 of type 2, 3 or 4 respectively display the same texture 340 of type 2, 3 or 4. This example makes it possible in particular to respect predetermined rules for distributing the display of contents in the 3D environment. It is possible to note that the type of a texture depends on the type of content from which the texture was generated. For example, a texture of type 1 is a texture resulting from a rendering of content of type 1. These rules may aim to ensure consistency or a realistic character of the 3D environment. In the FIG. 4 , 310 locations of the same type may for example be required to display identical content.

Dans un exemple, compatible avec les exemples précédents, le choix du contenu à afficher est effectué en tenant compte d’au moins une contrainte basée sur un score de visibilité de chacun des contenus mis en commun. Le score de visibilité correspond à un degré de visibilité dont le contenu a déjà bénéficié depuis le début d’une session d’utilisation ou pour une durée prédéterminée, inférieure ou supérieure à la durée de la session d’utilisation en cours. Un exemple de calcul de score de visibilité compatible avec l’invention est fourni dans la demande de brevet français FR3112638A1. Par exemple, le choix du contenu à afficher peut viser à satisfaire une contrainte que chaque contenu mis en commun obtienne un score de visibilité supérieur à un premier score de visibilité prédéterminé. Dans un autre exemple, le choix du contenu à afficher peut viser à satisfaire que la moyenne pondérée des scores de visibilité des contenus mis en commun soit supérieure à un second score de visibilité prédéterminé. De plus, cette pondération peut être effectuée en fonction d’un score d’importance attribué à chaque contenu mis en commun.In one example, compatible with the preceding examples, the choice of content to be displayed is made by taking into account at least one constraint based on a visibility score of each of the pooled contents. The visibility score corresponds to a degree of visibility that the content has already benefited from since the start of a usage session or for a predetermined duration, less than or greater than the duration of the current usage session. An example of calculating a visibility score compatible with the invention is provided in French patent application FR3112638A1. For example, the choice of content to be displayed may aim to satisfy a constraint that each pooled content obtains a visibility score higher than a first predetermined visibility score. In another example, the choice of content to be displayed may aim to satisfy that the weighted average of the visibility scores of the pooled contents is higher than a second predetermined visibility score. In addition, this weighting may be carried out according to an importance score assigned to each pooled content.

Dans un exemple, compatible avec les exemples précédents, le choix 240 du contenu à afficher peut être effectué en tenant compte d’au moins une contrainte basée sur le format du contenu à afficher, ou plus précisément de la texture générée à partir du contenu à afficher, et le format de l’emplacement déterminé. Dit autrement, afin de pouvoir être affiché dans un emplacement déterminé, une contrainte à respecter peut être que le format de la texture générée à partir du contenu à afficher soit compatible avec le format de l’emplacement déterminé. La compatibilité entre les deux formats peut être évaluée plus ou moins strictement. Par exemple, deux formats compatibles peuvent être des formats identiques. Dans un deuxième exemple, deux formats compatibles peuvent être deux formats de même forme, par exemple carrée, rectangulaire, ou encore ronde. Dans un troisième exemple, deux formats compatibles peuvent être deux formats de même forme et ayant un même ratio entre les différents différentes dimensions de la forme. Par exemple, deux formats compatibles peuvent être deux formats ayant une forme rectangulaire avec un ratio entre la longueur et la largeur identique. LaFIG. 5illustre un exemple d’environnement 3D 300 dans lequel l’étape de choix 240 tient compte d’au moins une contrainte basée sur le format du contenu à afficher. Ainsi, les emplacements 310 de format de type 1, i.e. sur lesquels le nombre « 1 » est noté sur laFIG. 5, affichent la texture 340 de format de type 1, i.e. sur laquelle le nombre « 1 » est noté. De même, les autres emplacements 310 de format de type 2, 3, 4 ou 5 affichent respectivement la texture 340 de format de type 2, 3 ou 4.In one example, compatible with the previous examples, the choice 240 of the content to be displayed can be made by taking into account at least one constraint based on the format of the content to be displayed, or more precisely the texture generated from the content to be displayed, and the format of the determined location. In other words, in order to be able to be displayed in a determined location, a constraint to be respected can be that the format of the texture generated from the content to be displayed is compatible with the format of the determined location. The compatibility between the two formats can be evaluated more or less strictly. For example, two compatible formats can be identical formats. In a second example, two compatible formats can be two formats of the same shape, for example square, rectangular, or even round. In a third example, two compatible formats can be two formats of the same shape and having the same ratio between the different dimensions of the shape. For example, two compatible formats can be two formats having a rectangular shape with an identical ratio between the length and the width. FIG. 5 illustrates an example of a 3D environment 300 in which the choice step 240 takes into account at least one constraint based on the format of the content to be displayed. Thus, the locations 310 of type 1 format, i.e. on which the number “1” is noted on the FIG. 5 , display the texture 340 of type 1 format, i.e. on which the number “1” is noted. Similarly, the other locations 310 of type 2, 3, 4 or 5 format respectively display the texture 340 of type 2, 3 or 4 format.

Dans un exemple, compatible avec l’exemple précédent, le nombre maximal de contenus pouvant être contenus dans le conteneur peut être prédéterminé pour au moins un format de texture généré. Dans cet exemple, lorsque ce nombre maximal prédéterminé pour un premier format de texture généré est inférieur au nombre d’emplacements déterminés ayant le premier format, alors le choix 240 du contenu à afficher peut tenir compte d’une contrainte de répartition équitable de l’affichage des contenus, dont la texture générée a le premier format, dans l’ensemble des emplacements déterminés ayant le premier format. Par exemple, la répartition équitable peut viser à afficher autant de fois à un instant donné les différentes textures générées ayant le premier format.In one example, compatible with the previous example, the maximum number of contents that can be contained in the container may be predetermined for at least one generated texture format. In this example, when this predetermined maximum number for a first generated texture format is less than the number of determined locations having the first format, then the choice 240 of the content to be displayed may take into account a constraint of equitable distribution of the display of the contents, the generated texture of which has the first format, in all the determined locations having the first format. For example, the equitable distribution may aim to display the different generated textures having the first format as many times at a given time.

Une cinquième étape 250 du procédé 200 comprend l’affichage du contenu choisi. L’affichage du contenu choisi comprend la génération d’une texture à partir d’un rendu du contenu choisi. Ensuite, la texture générée est affichée dans l’emplacement déterminé en étant prise en charge dans le pipeline graphique. La génération d’une texture à partir d’un rendu du contenu choisi peut varier, notamment en fonction de la nature du contenu choisi. Différentes méthodes connues disponibles dans l’art antérieur sont compatibles avec le procédé 200. Par exemple, lorsque le contenu est un contenu web, il est possible d’utiliser un composant logiciel de type vue web, « webview » en anglais. Dans un exemple, l’affichage du contenu peut être effectué itérativement pour les emplacements déterminés. L’ordre d’itération peut par exemple être effectué en fonction de la distance entre la caméra de l’environnement 3D et chaque emplacement déterminé. Ainsi, les emplacements les plus proches de la caméra seront traités en premier.A fifth step 250 of the method 200 comprises displaying the selected content. Displaying the selected content comprises generating a texture from a rendering of the selected content. Then, the generated texture is displayed in the determined location by being supported in the graphics pipeline. The generation of a texture from a rendering of the selected content may vary, in particular depending on the nature of the selected content. Different known methods available in the prior art are compatible with the method 200. For example, when the content is web content, it is possible to use a software component of the web view type. In one example, the display of the content may be performed iteratively for the determined locations. The iteration order may, for example, be performed according to the distance between the camera of the 3D environment and each determined location. Thus, the locations closest to the camera will be processed first.

Dans un exemple, compatible avec les exemples précédents, la texture peut être mise à jour durant l’étape 250 l’affichage du contenu choisi. Lorsque le contenu est un flux vidéo, la mise à jour peut être effectuée avec la ou les prochaines images du flux vidéo à afficher en respectant la fréquence d’affichage du moteur 3D.In one example, compatible with the previous examples, the texture can be updated during step 250 of displaying the chosen content. When the content is a video stream, the update can be performed with the next image(s) of the video stream to be displayed while respecting the display frequency of the 3D engine.

Une sixième étape 260 optionnelle du procédé 200 comprend le remplacement d’un contenu mis en commun dans le conteneur de contenus par un nouveau contenu obtenu ultérieurement. Le remplacement comprend la suppression du contenu mis en commun à l’étape 220 puis l’ajout d’un nouveau contenu dans le conteneur de contenus. Ce nouveau contenu a été obtenu ultérieurement à l’étape 210. Par exemple, l’obtention du nouveau contenu à afficher est effectuée, durant l’étape 260, pendant ou après la suppression du contenu mis en commun. De manière alternative, l’étape 260 optionnelle du procédé 200 peut comprendre :

  • un ajout d’un nouveau contenu obtenu ultérieurement à l’étape d’obtention 210, ou
  • une suppression d’un contenu mis en commun mis en commun à l’étape 220.
A sixth optional step 260 of the method 200 comprises replacing content pooled in the content container with new content obtained later. The replacement comprises deleting the content pooled in step 220 and then adding new content to the content container. This new content was obtained later in step 210. For example, obtaining the new content to be displayed is performed, during step 260, during or after deleting the pooled content. Alternatively, the optional step 260 of the method 200 may comprise:
  • an addition of new content obtained subsequently at obtaining step 210, or
  • a deletion of a pooled content pooled in step 220.

Une septième étape 270 optionnelle du procédé 200 comprend l’affichage du nouveau contenu obtenu dans au moins un emplacement parmi l’ensemble d’emplacements déterminé.An optional seventh step 270 of the method 200 comprises displaying the new content obtained in at least one location among the determined set of locations.

Dans un exemple, compatible avec les exemples précédents, des étapes 280, 290 et 295 optionnelles sont mises en œuvre lorsqu’un emplacement déterminé n’obtient pas de contenu à afficher durant l’étape 240 de choix.In one example, consistent with the preceding examples, optional steps 280, 290, and 295 are implemented when a determined location does not obtain content to display during the choosing step 240.

Une huitième étape 280 optionnelle du procédé 200 comprend, lorsque le score de visibilité du contenu affiché lors du rendu précédent est inférieur à un score de visibilité minimal prédéterminé, le maintien de l’affichage du contenu affiché lors du rendu précédent. Dit autrement, si lors de l’étape 240 du choix, aucun contenu mis en commun différent du contenu affiché lors du rendu précédent n’est choisi pour l’emplacement déterminé et que le score de visibilité du contenu affiché lors du rendu précédent est inférieur à un score de visibilité minimal prédéterminé, alors le contenu affiché lors du rendu précédent est aussi affiché pour le prochain rendu.An optional eighth step 280 of the method 200 comprises, when the visibility score of the content displayed during the previous rendering is lower than a predetermined minimum visibility score, maintaining the display of the content displayed during the previous rendering. In other words, if during the step 240 of the choice, no pooled content different from the content displayed during the previous rendering is chosen for the determined location and the visibility score of the content displayed during the previous rendering is lower than a predetermined minimum visibility score, then the content displayed during the previous rendering is also displayed for the next rendering.

Les étapes 290 et 295 sont mises en œuvre lorsque le score de visibilité du contenu affiché lors du rendu précédent est égal ou supérieur à un score de visibilité minimal prédéterminé.Steps 290 and 295 are implemented when the visibility score of the content displayed during the previous rendering is equal to or greater than a predetermined minimum visibility score.

Une neuvième étape 290 optionnelle du procédé 200 comprend la détermination d’un contenu de remplacement à afficher. Le contenu de remplacement est un contenu mis en commun différent du contenu affiché lors du rendu précédent. Cette détermination du contenu de remplacement peut être en effectuée en respectant un ordre de priorité. Ainsi, lorsque la priorité d’ordre 1 ne peut être respectée, la priorité d’ordre 2 est envisagée et lorsque la priorité d’ordre 2 ne peut être respectée, la priorité d’ordre 3 est envisagée et respectée lorsque cela est possible. En priorité d’ordre 1, le contenu de remplacement peut être un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé, le contenu affiché ayant en outre un score de visibilité inférieur à un score de visibilité minimal prédéterminé. En priorité d’ordre 2, le contenu de remplacement peut être un contenu mis en commun ayant été ajouté dans le conteneur de contenus en dernier. Par exemple, le contenu mis en dernier est un contenu ajouté à l’étape 260. En priorité d’ordre 3, le contenu de remplacement peut être un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé et affiché sur le plus petit nombre d’emplacements déterminés.A ninth optional step 290 of the method 200 comprises determining replacement content to be displayed. The replacement content is pooled content different from the content displayed during the previous rendering. This determination of the replacement content can be carried out in accordance with an order of priority. Thus, when priority of order 1 cannot be respected, priority of order 2 is considered and when priority of order 2 cannot be respected, priority of order 3 is considered and respected when possible. In priority of order 1, the replacement content can be content displayed during the previous rendering in at least one determined location, the displayed content further having a visibility score lower than a predetermined minimum visibility score. In priority of order 2, the replacement content can be pooled content having been added to the content container last. For example, the last-rendered content is content added in step 260. In priority order 3, the replacement content may be content displayed during the previous rendering in at least one determined location and displayed in the smallest number of determined locations.

Une dixième étape 295 optionnelle du procédé 200 comprend l’affichage du contenu de remplacement. Cette étape 295 peut être effectuée de manière similaire à l’étape 250.An optional tenth step 295 of the method 200 includes displaying the replacement content. This step 295 may be performed similarly to step 250.

Claims (11)

Procédé (200), mis en œuvre par ordinateur, de gestion de contenus à afficher dans un environnement 3D, l’environnement 3D comprenant des emplacements configurés pour afficher les contenus à afficher, le procédé comprenant :
  • Obtention (210) de l’environnement 3D et des contenus à afficher,
  • Mise en commun (220) des contenus obtenus dans un conteneur de contenus,
  • Pour au moins un calcul de rendu de l’environnement 3D :
    • Détermination (230), selon une règle prédéfinie, d’un ensemble d’emplacements, parmi les emplacements configurés, nécessitant d’afficher un contenu parmi les contenus mis en commun,
    • Pour au moins un emplacement de l’ensemble d’emplacements déterminé :
      • Choix (240) du contenu à afficher parmi les contenus mis en commun, et
      • Affichage (250) du contenu choisi, l’affichage du contenu comprenant la génération d’une texture à partir d’un rendu du contenu choisi.
A computer-implemented method (200) of managing content to be displayed in a 3D environment, the 3D environment comprising locations configured to display the content to be displayed, the method comprising:
  • Obtaining (210) the 3D environment and the contents to be displayed,
  • Pooling (220) the contents obtained in a content container,
  • For at least one 3D environment rendering calculation:
    • Determination (230), according to a predefined rule, of a set of locations, among the configured locations, requiring the display of content among the pooled contents,
    • For at least one location in the determined set of locations:
      • Choice (240) of content to display from among the shared content, and
      • Displaying (250) the selected content, the displaying of the content comprising generating a texture from a rendering of the selected content.
Procédé (200) selon la revendication 1 dans lequel le choix (240) est effectué en tenant compte d’au moins une contrainte basée sur un score de visibilité de chacun des contenus mis en commun, le score de visibilité correspondant à un degré de visibilité dont le contenu a déjà bénéficié depuis un début d’une session d’utilisation.Method (200) according to claim 1 in which the choice (240) is made taking into account at least one constraint based on a visibility score of each of the pooled contents, the visibility score corresponding to a degree of visibility from which the content has already benefited since the start of a usage session. Procédé (200) selon l’une quelconque des revendications précédentes comprenant en outre, pour au moins un calcul de rendu de l’environnement 3D, des étapes de :
  • Remplacement (260) d’un contenu mis en commun dans le conteneur de contenus par un nouveau contenu obtenu ultérieurement à l’étape d’obtention (210) de l’environnement 3D et des contenus à afficher, et
  • Affichage (270) du nouveau contenu obtenu dans au moins un emplacement parmi l’ensemble d’emplacements déterminé.
Method (200) according to any one of the preceding claims further comprising, for at least one rendering calculation of the 3D environment, steps of:
  • Replacing (260) a content pooled in the content container with a new content obtained subsequently in the step of obtaining (210) the 3D environment and the contents to be displayed, and
  • Displaying (270) the new content obtained in at least one location among the determined set of locations.
Procédé (200) selon l’une quelconque des revendications 2 à 3 comprenant en outre, pour chaque emplacement déterminé :
  • Lorsque l’emplacement déterminé n’obtient pas de contenu à afficher durant l’étape (240) de choix :
    • Lorsque le score de visibilité du contenu affiché lors du rendu précédent est inférieur à un score de visibilité minimal prédéterminé, maintien (280) de l’affichage du contenu affiché lors du rendu précédent, ou
    • Lorsque le score de visibilité du contenu affiché lors du rendu précédent est égal ou supérieur à un score de visibilité minimal prédéterminé, affichage (295) d’un contenu de remplacement, le contenu de remplacement étant un contenu mis en commun différent du contenu affiché lors du rendu précédent.
Method (200) according to any one of claims 2 to 3 further comprising, for each determined location:
  • When the determined location does not obtain content to display during the choice step (240):
    • When the visibility score of the content displayed during the previous rendering is lower than a predetermined minimum visibility score, maintaining (280) the display of the content displayed during the previous rendering, or
    • When the visibility score of the content displayed during the previous rendering is equal to or greater than a predetermined minimum visibility score, displaying (295) replacement content, the replacement content being pooled content different from the content displayed during the previous rendering.
Procédé (200) selon la revendication précédente dans lequel, lorsque le score de visibilité du contenu affiché lors du rendu précédent est supérieur à un score de visibilité minimal prédéterminé, l’affichage du contenu de remplacement (295) est précédé par une étape de détermination (290) du contenu de remplacement en priorisant :
  • Un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé, le contenu affiché ayant en outre un score de visibilité inférieur à un score de visibilité minimal prédéterminé, puis
  • Un contenu mis en commun ayant été ajouté dans le conteneur de contenus en dernier, et
  • Un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé et affiché sur un plus petit nombre d’emplacements déterminés.
Method (200) according to the preceding claim in which, when the visibility score of the content displayed during the previous rendering is greater than a predetermined minimum visibility score, the display of the replacement content (295) is preceded by a step of determining (290) the replacement content by prioritizing:
  • Content displayed in the previous rendering in at least one determined location, the displayed content further having a visibility score lower than a predetermined minimum visibility score, then
  • A shared content that was added to the content container last, and
  • Content displayed in the previous rendering in at least one specified location and displayed in a smaller number of specified locations.
Procédé (200) selon l’une quelconque des revendications précédentes dans lequel le choix (240) du contenu à afficher est effectué de manière commune pour au moins deux emplacements déterminés.Method (200) according to any one of the preceding claims in which the choice (240) of the content to be displayed is carried out in a common manner for at least two determined locations. Procédé (200) selon l’une quelconque des revendications précédentes dans lequel :
  • Les contenus à afficher sont des contenus web ou des flux vidéo, et
  • L’affichage (250) du contenu choisi comprend la mise à jour du contenu à afficher avant la génération d’une texture à partir du rendu du contenu choisi.
Method (200) according to any one of the preceding claims wherein:
  • The content to be displayed is web content or video streams, and
  • Displaying (250) the chosen content includes updating the content to be displayed before generating a texture from the rendering of the chosen content.
Procédé (200) selon l’une quelconque des revendications précédentes dans lequel :
  • Le choix (240) est effectué en tenant compte d’au moins une contrainte de correspondance entre un format de la texture générée et un format de l’emplacement déterminé,
  • Le conteneur de contenus possède un nombre maximal de contenus, prédéterminé pour chaque format de texture générée à partir du contenu, pouvant être contenus dans le conteneur, et
  • Lorsque le nombre maximal de contenus, pour au moins un premier format de texture généré, pouvant être contenus dans le conteneur est inférieur au nombre d’emplacements déterminés ayant le premier format, le choix (240) du contenu à afficher tient en outre compte d’une contrainte de répartition équitable de l’affichage des contenus dont la texture générée a le premier format dans l’ensemble des emplacements déterminés ayant le premier format.
Method (200) according to any one of the preceding claims wherein:
  • The choice (240) is made taking into account at least one correspondence constraint between a format of the generated texture and a format of the determined location,
  • The content container has a maximum number of contents, predetermined for each texture format generated from the content, that can be contained in the container, and
  • When the maximum number of contents, for at least a first generated texture format, which can be contained in the container is less than the number of determined locations having the first format, the choice (240) of the content to be displayed also takes into account a constraint of equitable distribution of the display of the contents whose generated texture has the first format in the set of determined locations having the first format.
Produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’une quelconque des revendications 1 à 7.Computer program product comprising instructions which, when the program is executed by a computer, cause the latter to implement the method according to any one of claims 1 to 7. Support d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’une quelconque des revendications 1 à 7.A computer-readable recording medium comprising instructions which, when executed by a computer, cause the computer to carry out the method of any one of claims 1 to 7. Système configuré pour exécuter le procédé selon l’une quelconque des revendications 1 à 7.A system configured to perform the method of any one of claims 1 to 7.
FR2403469A 2024-04-04 2024-04-04 Process for managing content to be displayed in a 3D environment Pending FR3161052A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2403469A FR3161052A1 (en) 2024-04-04 2024-04-04 Process for managing content to be displayed in a 3D environment
PCT/EP2025/059080 WO2025210125A1 (en) 2024-04-04 2025-04-03 Method for managing content items to be displayed in a 3d environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2403469A FR3161052A1 (en) 2024-04-04 2024-04-04 Process for managing content to be displayed in a 3D environment
FR2403469 2024-04-04

Publications (1)

Publication Number Publication Date
FR3161052A1 true FR3161052A1 (en) 2025-10-10

Family

ID=91621047

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2403469A Pending FR3161052A1 (en) 2024-04-04 2024-04-04 Process for managing content to be displayed in a 3D environment

Country Status (2)

Country Link
FR (1) FR3161052A1 (en)
WO (1) WO2025210125A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070043616A1 (en) * 1995-06-30 2007-02-22 Ken Kutaragi Advertisement insertion, profiling, impression, and feedback
US20120232988A1 (en) * 2011-03-08 2012-09-13 Ruiduo Yang Method and system for generating dynamic ads within a video game of a portable computing device
US20180374116A1 (en) * 2005-09-30 2018-12-27 Sony Interactive Entertainment America Llc Advertising impression determination
FR3112638A1 (en) 2020-07-17 2022-01-21 Gadsme Process for calculating the visibility of objects within a 3D scene.
US20230281918A1 (en) * 2022-03-04 2023-09-07 Bidstack Group PLC Viewability testing in the presence of fine-scale occluders

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070043616A1 (en) * 1995-06-30 2007-02-22 Ken Kutaragi Advertisement insertion, profiling, impression, and feedback
US20180374116A1 (en) * 2005-09-30 2018-12-27 Sony Interactive Entertainment America Llc Advertising impression determination
US20120232988A1 (en) * 2011-03-08 2012-09-13 Ruiduo Yang Method and system for generating dynamic ads within a video game of a portable computing device
FR3112638A1 (en) 2020-07-17 2022-01-21 Gadsme Process for calculating the visibility of objects within a 3D scene.
US20230281918A1 (en) * 2022-03-04 2023-09-07 Bidstack Group PLC Viewability testing in the presence of fine-scale occluders

Also Published As

Publication number Publication date
WO2025210125A1 (en) 2025-10-09

Similar Documents

Publication Publication Date Title
CN110059143B (en) A map drawing method based on remote sensing image tile data
US20100045662A1 (en) Method and system for delivering and interactively displaying three-dimensional graphics
US20140015858A1 (en) Augmented reality system
US20130212538A1 (en) Image-based 3d environment emulator
CN112889079B (en) Platform and method for collaborative content generation
CA2735577A1 (en) Object identification in images
US20120259712A1 (en) Advertising in a virtual environment
FR2999005A1 (en) METHOD FOR RENDERING A STOCKETED FIELD IN A MASSIVE DATABASE
CN112330819A (en) Interaction method and device based on virtual article and storage medium
EP2511842B1 (en) Digital model lookup from lightweight stations
CN103339583A (en) Select default avatar using geographic IP information
US20110191346A1 (en) Dynamically-created pyramid to deliver content
WO2023246403A1 (en) Model training method, watermark restoration method, and related device
FR3161052A1 (en) Process for managing content to be displayed in a 3D environment
US20100156932A1 (en) Method for inserting moving picture into 3-dimension screen and record medium for the same
US20170091329A1 (en) Systems and methods for providing 3d search results
US20240282034A1 (en) Apparatus, systems and methods for animation data
EP3323044A1 (en) Interactive device with customizable display
US20180275996A1 (en) System and method for initializing software applications
CN113663328A (en) Picture recording method and device, computer equipment and storage medium
CN115033580A (en) Resource delivery processing method, device, equipment and storage medium
FR3160251A1 (en) Method for managing interactive web content in a 3D environment
EP3362912A1 (en) Interactive web device with customisable display
US10296592B2 (en) Spherical video in a web browser
HK40054055A (en) Picture recording method, device, computer equipment and storage medium

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20251010