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

The method addresses inefficiencies in 3D environment content management by pooling and dynamically managing content based on predefined rules and visibility scores, optimizing resource usage and ensuring consistent display.

FR3161052A1Active Publication Date: 2025-10-10GADSME
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
FR2024003469
Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-04
Publication Date
2025-10-10
Estimated Expiration
2044-04-04

AI Technical Summary

Technical Problem

Existing methods for managing content in 3D environments are inefficient in terms of resource usage and unpredictable user interactions, leading to unnecessary loading and unloading of content that may not be visible, especially when camera movements are unpredictable.

Method used

A method involving content pooling and dynamic management, where content is loaded on demand based on predefined rules and visibility scores, allowing independent control over loading and unloading, and optimizing content display choices.

Benefits of technology

This approach reduces the number of content loadings and unloadings, optimizes resource usage, and ensures content visibility by managing loading and unloading independently of user movements, minimizing resource waste and ensuring consistent display.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000018_0000
    Figure 00000018_0000
  • Figure 00000018_0001
    Figure 00000018_0001
  • Figure 00000019_0000
    Figure 00000019_0000
Patent Text Reader

Abstract

One 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, from among the configured locations, requiring the display of content from among the pooled content, for at least one location of the determined set of locations: Choosing (240) the content to be displayed from 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
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method for managing content to be displayed in a 3D environment TECHNICAL FIELD OF THE INVENTION

[0001] 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.

[0002] The present invention relates to a method for managing content to be displayed in a 3D environment. TECHNOLOGICAL BACKGROUND OF THE INVENTION

[0003] In the technical field, 3D rendering engines such as Unity, Unreal and others are commonly used to generate and display a virtual and 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... From the point of view of the rendering engine, it is a list of geometric shapes having coordinates in space, surface properties or rules of movement in time.

[0004] 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 reference frame of the 3D environment, otherwise called the coordinate space (x,y,z), of the 3D environment. Thus, the rendering engine iteratively calculates renderings which are then displayed on the screen.

[0005] For this, with reference to [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.

[0006] 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.

[0007] When designing the 3D environment, the 3D texturing process is implemented in order to make the 3D environment more realistic. 3D texturing consists of adding textures to a 3D object or to the terrain of the 3D environment. It includes in particular the creation of textures as well as the application of these textures to 3D objects or to the terrain. Thus, traditionally, each face of the 3D environment has a texture that is determined when the 3D environment is designed. Loading, i.e. loading into memory, the 3D environment therefore also includes loading the textures associated with the 3D objects or the terrain of the 3D environment. Loading the 3D environment and textures generally takes place at the beginning of a user session.

[0008] 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, commonly called a "shader" in English, or of an external process which can be costly in resources, of content which is itself dynamic such as a web view or a video stream.

[0009] Recently, a 3D environment can 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 can be personalized based on user preferences or the date of use of the 3D environment or even the actual location of the user. This content can be images but also video streams or even web content. Web content can be defined, in general, as being the content, i.e. all accessible multimedia resources, of a website. This content can be informational, educational or even advertising. This content can 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 of 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.

[0010] A first solution is therefore to load these contents on demand during the user session. Thus, after the initial loading of the 3D environment, the contents are loaded dynamically, that is to say asynchronously. This means that these contents are not loaded simultaneously with the 3D environment. Indeed, these contents 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 contents can be carried out according to the position of the camera in the 3D environment. In this example, the contents associated with the locations closest to the camera are loaded. Thus, a conventional method can comprise four steps. The first step comprises a designation of a content at a location. The second step includes determining the closest locations to the camera. The third step includes obtaining and loading the content associated with the locations determined in 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, then 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 3D environment rendering calculations. 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, camera movements, generally linked to the user's desire to explore the 3D environment, are unpredictable. Thus, this approach potentially multiplies the number of content loadings and unloadings. In addition, some content may have been loaded and unloaded without ever having been seen by the user or at least visible from the camera.

[0011] 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 methods of the prior art. Summary of the invention

[0012] The invention provides a solution, at least in part, to the problems mentioned above by allowing 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.

[0013] 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 contents in a content container, For at least one rendering calculation of the 3D environment: 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 of 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.

[0014] 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 display. This independence also limits the risk that locations in the 3D environment cannot display content in the event of a problem obtaining said content. For example, if content cannot be downloaded due to network or memory access problems, the method will still allow content to be displayed in all determined locations using the content pooled in the content container. In addition, the choice of content display takes into account at least one predefined rule. The predefined rule can, for example, be based on a content visibility score. 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 process allows the reduction of the number of loadings and unloadings of content linked to the movements of the camera in the environment.

[0015] In addition to the characteristics which have just been mentioned in the previous paragraph, the method according to one aspect of the invention may have one or more complementary 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 from which the content has already benefited since the start of a user 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 at the stage 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 during the previous rendering is lower than a predetermined minimum visibility score, maintaining 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, display of replacement content, the replacement content being pooled content different from the content displayed during 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 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, then • Shared content that was added to the content container last, and • Content displayed in the previous rendering in at least one specific location and displayed in a smaller number of specific 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.

[0016] 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.

[0017] 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.

[0018] A fourth aspect of the invention relates to a system configured to execute the method according to the invention.

[0019] The invention and its various applications will be better understood by reading the following description and examining the accompanying figures. BRIEF DESCRIPTION OF THE FIGURES

[0020] The figures are presented for information purposes only and in no way limit the invention. • [Fig.l] shows a simplified illustration of an example of how a graphics rendering engine works. • [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. DETAILED DESCRIPTION

[0021] Unless otherwise specified, the same element appearing in different figures has a single reference.

[0022] [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.

[0023] 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 may depend on the level of automation planned and balanced against the need to implement the wishes of the user.In examples, this level may be user-defined and / or predefined. User interaction may be performed using a mouse or 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.

[0024] 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 comprise 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.

[0025] 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.

[0026] 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, of web content or even a video stream. The invention is independent of the nature of the content displayed.

[0027] 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 located 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.In fact, the content to be displayed in these locations can be determined at the time of launching the user session or at any time during the user session of the 3D environment.

[0028] The first step 210 of the method 200 also comprises obtaining the contents 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 images 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.

[0029] 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 shared contents. In addition, the criteria for choosing the contents are independent of the criteria used to determine the contents to be obtained for sharing.

[0030] The size of the container may be variable or predetermined. The size of the container may vary depending on the resources available to the computer. 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 depending 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.Additionally, a predetermined proportion of the number of contents per format can be provided, for example 70% for a content of a format. of type 1 and 30% for content of 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 can also change during the usage session, for example depending on the format of the different locations determined in step 230.

[0031] 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.

[0032] A third step 230 of the method 200 comprises determining a set of locations, among the locations configured to display the contents, requiring to display a content among the pooled contents. The determination of the set of locations is carried out according to a predefined rule. For example, the predefined rule may take into account the distance between the camera and each location of the 3D environment. For example, if the distance between the camera and a location of the 3D environment is less than a predetermined distance, then the location is added to the set of locations requiring to display 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 might consider the visibility of each location from the camera or from an area around the camera. Raycasting techniques can be used to determine this visibility. In this example, the need to display content can therefore be defined by whether the location is visible from the camera's viewpoint or is likely to be visible from the camera's viewpoint if the camera is moved less than a predetermined distance. Thus, the term "locations requiring content to be displayed" can apply here. at locations visible from the camera's viewpoint and / or likely to be visible from the camera's viewpoint in the near future, for example if the camera's viewpoint is moved by more than a predetermined distance.

[0033] Steps 240 and 250 are performed for at least one location of the determined set of locations. For example, these steps may be performed for all locations of 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 shared 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 includes the textures resulting from the rendering of the contents included in the container 330. It can be noted that the terrain 350 can also include locations 310 configured to display textures 340.

[0034] A fourth step 240 of the method 200 comprises the choice of the content to be displayed from among the contents pooled in step 220. This choice can be made based on a large number of criteria.

[0035] In one example, compatible with the previous examples, the choice 240 of the content to be displayed can be carried out in a common manner for at least two determined locations. In other words, this choice step 240 is shared for two or more determined locations. [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 in [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 comply with predetermined rules for distributing the display of the contents in the 3D environment. It is possible to note that the type of a texture depends on the type of the content from which the texture was generated.For example, a type 1 texture is a texture resulting from a type 1 content rendering. These rules may aim to ensure consistency or a realistic character of the 3D environment. In [Fig.4], locations 310 of the same type may for example be required to display identical content.

[0036] In one example, consistent with the previous examples, the choice of content to display is performed 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.Additionally, this weighting can be done based on an importance score assigned to each pooled content.

[0037] 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 may be two formats of the same shape and having the same ratio between the different dimensions of the shape. For example, two compatible formats may 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 format type 1, i.e. on which the number “1” is noted in [Fig. 5], display the texture 340 of format type 1, i.e. on which the number “1” is noted. Similarly, the other locations 310 of format type 2, 3, 4 or 5 respectively display the texture 340 of format type 2, 3 or 4.

[0038] In one example, consistent 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 display can take 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. For example, the equitable distribution can aim to display the different generated textures having the first format as many times at a given time.

[0039] 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.So the locations closest to the camera will be processed first.

[0040] 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.

[0041] 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.

[0042] A seventh optional step 270 of the method 200 comprises the display of the new content obtained in at least one location among the set of locations determined.

[0043] In one example, consistent with the preceding examples, optional steps 280, 290, and 295 are implemented when a determined location does not obtain of content to display during choice step 240.

[0044] 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.

[0045] 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.

[0046] 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 fewest number of determined locations.

[0047] An optional tenth step 295 of the method 200 comprises displaying the replacement content. This step 295 can be performed in a similar manner to step 250.

Claims

Claims

1. A computer-implemented method (200) for 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 content to be displayed, - Pooling (220) the obtained content 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, from among the configured locations, requiring the display of content from among the pooled content, • For at least one location of the determined set of locations: • Choosing (240) the content to be displayed from 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.

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

3. 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 to 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

4.

5.

6. location among the determined set of locations. 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, display (295) of replacement content, the replacement content being pooled content different from the content displayed during the previous rendering. 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 taking: - 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, then - Shared content that was added to the content container last, and - Content displayed in the previous rendering in at least one specific location and displayed in a smaller number of specific locations. 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.

7. Method (200) according to any one of the preceding claims wherein: - The contents to be displayed are web contents or video streams, and - The display (250) of the chosen content comprises updating the content to be displayed before generating a texture from the rendering of the chosen content.

8. Method (200) according to any one of the preceding claims wherein: - The choice (240) is made taking into account at least one constraint of correspondence 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, which 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.

9. A 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.

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

11. A system configured to perform the method of any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for calculating the visibility of objects within a 3D scene.

    FR3112638A1

  • Advertisement insertion, profiling, impression, and feedback

    US20070043616A1

  • Method and system for generating dynamic ADS within a video game of a portable computing device

    US20120232988A1

  • Advertising impression determination

    US20180374116A1

  • Viewability testing in the presence of fine-scale occluders

    US20230281918A1