Embodiments disclosed herein relate to virtual world systems, e.g., metaverse systems, Extended Reality, referred to herein as “XR”, systems, mixed reality systems, see-through optical device, see-through head mounted devices, optical see-through displays or the like, and more particularly to methods and systems, or electronic devices, for providing an adaptive XR environment based on multiple users.
Most of present XR environments are static and are only adaptive to a spatial data of one user. However, there are many use cases like a photo booth as a scenario where the XR environment should be adaptive/responsive enough to satisfy the multiple users entirely in a camera Field of View, “FOV”, instinctively. By making the XR environment dynamic, it becomes more engaging and interactive for the multiple users or participants. Existing methods and systems do not do anything about generating an adaptive XR environment. This reduces the user experience in such circumstances.
It is desired to address the above-mentioned disadvantages or other short comings or at least provide a useful alternative.
The principal aim of the embodiments herein is to disclose methods and systems (or electronic device) for providing an adaptive XR environment based on multiple users, referred to herein as “multi user”, where multiple users can be identified in a frame and one or more parameters, e.g., virtual object, landmark point or the like, can be used to auto generate an adaptive XR environment in real time.
Another aim of the embodiments herein is to provide an adaptive XR environment based on the multiple users, where the generated XR environment is made responsive and interactive based on user's proximity and one or more landmark points of the user's in the XR environment.
Another aim of the embodiments herein is to generate an environment effective user data in real time based on combination of user effective data, i.e. different groups of multiple users detected in the XR environment and the proximity (or distance) between the users in the XR environment.
Another aim of the embodiments herein is to create a responsive simulation to adapt a base plate, e.g., XR floor or the like, and a base structure based on the environment effective user data and a decorative detail within the base structure of the XR environment based on movement of user body landmark points.
Accordingly, the embodiments herein provide a method for generating an XR environment by an electronic device. The method may comprise generating a XR floor associated with an XR environment upon determining a number of users in a physical world. The method may comprise configuring a size of the XR floor based on the determined number of users. The method may comprise generating a base structure associated with the XR floor in the XR environment for a user from the number of users based on a distance between the user from the other users from the number of users. The method may comprise configuring at least one of: a size of the base structure and a position of the base structure based on the distance between the user form the other users. The method may comprise identifying a landmark point from a plurality of landmark points for the users upon measuring a distance between the users with reference to the base structure. Landmark points are user body landmark points and are used to determine the user movement relative to each other. In an example, the landmark point can be a hand landmark point, head landmark point, leg landmark point, or the like. The method may comprise generating the XR environment based on the size of the base structure, the position of the base structure, and the identified at least one landmark point.
In an embodiment, the method may comprise generating a decorative detail associated with the plurality of landmark points in the XR environment. Further, the method may comprise positioning the decorative detail with reference to the plurality of landmark points in the adaptive XR environment.
In an embodiment, the method may comprise includes detecting an event. The event may include at least one of: associating a new user to the number of users, disassociating the user from the number of users, a change in a physical location of the user, a change in a user action, and a change in a user behavior. The method may comprise generating a second XR floor associated with the XR environment upon determining the number of users in the physical world based on the detected event. The method may comprise configuring a size of the second XR floor based on the determined number of users. The method may comprise generating a second base structure associated with the second XR floor in the XR environment for the user from the number of users based on a distance between the user from the other users from the number of users. The method may comprise configuring at least one of: the size of the second base structure and a position of the second base structure based on the distance between the users. The method may comprise identifying a second landmark point from the plurality of landmark points for the users upon measuring a distance between the users with reference to the second base structure. The method may comprise generating the adaptive XR environment based on the size of the second base structure, the position of the second base structure, and the identified at least one landmark point.
In an embodiment, configuring the size of the XR floor based on the determined number of users may comprise determining a physical location of each of a plurality of user, grouping the plurality of user into a first location and a second location based on the physical location of each of the plurality of user users and the distance between the users, determining a different group of user from the number of users based on a predefined threshold distance, and configuring the size of the XR floor based on the determined different group of user.
In an embodiment, the XR floor associated with the adaptive XR environment may be dynamically generated based on a number of user and group of users in the physical world.
In an embodiment, the XR floor may control one or more area(s) in the XR environment.
In an embodiment, the base structure and the landmark point from the plurality of landmark points may be placed within the XR floor.
In an embodiment, the base structure may control a visual composition of the XR environment.
In an embodiment, the landmark point from the plurality of landmark points may be associated with the base structure.
In an embodiment, the adaptive XR environment may correspond to dynamically react and adapt to an update within the XR environment.
Accordingly, the embodiments herein provide methods for generating an adaptive XR environment. The method includes determining, by an electronic device, a distance between users from a plurality of users in an XR environment. Further, the method includes determining, by the electronic device, a distance between an object in the XR environment and the users from the plurality of users. Further, the method includes generating, by the electronic device, user effective data based on the determined distance between the users from the plurality of users, and the determined distance between the object in the XR environment and the users from the plurality of users. Further, the method includes determining, by the electronic device, an environment effective data, where the environment effective data includes a user body landmark points of individual users detected in the XR environment. Further, the method includes generating, by the electronic device, the adaptive XR environment based on the user effective data and the environment effective data.
In an embodiment, the XR environment is dynamically generated by generating a XR floor associated with the XR environment upon determining the number of users in a physical world, configuring a size of the XR floor based on the determined number of users, generating a base structure associated with the XR environment for a user from the number of users upon determining the distance between users, configuring at least one of: a size of the base structure and a position of the base structure based on the distance between the users, and dynamically generating the XR environment based on the configuration.
Accordingly, the embodiments herein provide an electronic device including a memory and at least one processor coupled with the memory. The at least one processor may be configured to generate a XR floor associated with an XR environment upon determining a number of users in a physical world. The at least one processor may be configured to configure a size of the XR floor based on the determined number of users or group of users. The at least one processor may be configured to generate a base structure associated with the XR floor in the XR environment for a user from the number of users based on a distance between the user from the other users from the number of users. The at least one processor may be configured to configure at least one of: a size of the base structure and a position of the base structure based on the distance between the user form the other users. The at least one processor may be configured to identify a landmark point from a plurality of landmark points for the users upon measuring a distance between the users with reference to the base structure. The at least one processor may be configured to generate the XR environment based on the size of the base structure, the position of the base structure, and the identified at least one landmark point.
Accordingly, the embodiments herein provide a non-transitory computer-readable storage medium storing instructions which, when executed by at least one processor of an electronic device, may cause the electronic device to perform operations. The operations may comprise generating a XR floor associated with an XR environment upon determining a number of users in a physical world. The method may comprise configuring a size of the XR floor based on the determined number of users. The operations may comprise generating a base structure associated with the XR floor in the XR environment for a user from the number of users based on a distance between the user from the other users from the number of users. The operations may comprise configuring at least one of: a size of the base structure and a position of the base structure based on the distance between the user form the other users. The operations may comprise identifying a landmark point from a plurality of landmark points for the users upon measuring a distance between the users with reference to the base structure. The operations may comprise generating the XR environment based on the size of the base structure, the position of the base structure, and the identified at least one landmark point.
Accordingly, the embodiments herein provide an electronic device including an adaptive XR environment controller coupled with a processor and a memory. The adaptive XR environment controller is configured to determine a distance between users from a plurality of users in an XR environment. Further, the adaptive XR environment controller is configured to determine a distance between an object in the XR environment and the users from the plurality of users. Further, the adaptive XR environment controller is configured to generate user effective data based on the determined distance between the users from the plurality of users, and the determined distance between the object in the XR environment and the users from the plurality of users. Further, the adaptive XR environment controller is configured to determine an environment effective data, where the environment effective data includes a user body landmark points of individual users detected in the XR environment. Further, the adaptive XR environment controller is configured to generate the adaptive XR environment based on the user effective data and the environment effective data.
These and other aspects of the embodiments herein will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following descriptions, while indicating at least one embodiment and numerous specific details thereof, are given by way of illustration.
The embodiments disclosed herein are illustrated in the accompanying drawings, throughout which like reference letters indicate corresponding parts in the various figures. The embodiments herein will be better understood from the following description with reference to the drawings, in which:
The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein can be practiced and to further enable those of skill in the art to practice the embodiments herein.
For the purposes of interpreting this specification, the definitions (as defined herein) will apply and whenever appropriate the terms used in singular will also include the plural and vice versa. The terms “comprising”, “having” and “including” are to be construed as open-ended terms unless otherwise noted.
The words/phrases “exemplary”, “example”, “illustration”, “in an instance”, “and the like”, “and so on”, “etc.”, “etcetera”, “e.g.,”, “i.e.,” are merely used herein to mean “serving as an example, instance, or illustration.” Any embodiment or implementation of the present subject matter described herein using the words/phrases “exemplary”, “example”, “illustration”, “in an instance”, “and the like”, “and so on”, “etc.”, “etcetera”, “e.g.,”, “i.e.,” is not necessarily to be construed as preferred or advantageous over other embodiments.
Embodiments herein may be described and illustrated in terms of blocks which carry out a described function or functions. These blocks, which may be referred to herein as managers, units, modules, hardware components or the like, are physically implemented by analog and/or digital circuits such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits and the like, and may optionally be driven by a firmware. The circuits may, for example, be embodied in one or more semiconductor chips, or on substrate supports such as printed circuit boards and the like. The circuits constituting a block may be implemented by dedicated hardware, or by a processor (e.g., one or more programmed microprocessors and associated circuitry), or by a combination of dedicated hardware to perform some functions of the block and a processor to perform other functions of the block. Each block of the embodiments may be physically separated into two or more interacting and discrete blocks without departing from the scope of the disclosure. Likewise, the blocks of the embodiments may be physically combined into more complex blocks.
It should be noted that elements in the drawings are illustrated for the purposes of this description and ease of understanding and may not have necessarily been drawn to scale. For example, the flowcharts/sequence diagrams illustrate the method in terms of the steps required for understanding of aspects of the embodiments as disclosed herein. Furthermore, in terms of the construction of the device, one or more components of the device may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the present embodiments so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. Furthermore, in terms of the system, one or more components/modules which comprise the system may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the present embodiments so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
The accompanying drawings are used to help easily understand various technical features and it should be understood that the embodiments presented herein are not limited by the accompanying drawings. Usage of words such as first, second, third etc., to describe components/elements/steps is for the purposes of this description and should not be construed as sequential ordering/placement/occurrence unless specified otherwise.
The embodiments herein achieve methods for generating an adaptive XR environment. The method includes generating, by an electronic device, a XR floor associated with an XR environment upon determining a number of users in a physical world. Further, the method includes configuring, by the electronic device, a size of the XR floor in proportion to the determined number of users. Further, the method includes generating, by the electronic device, a base structure associated with the XR floor in the XR environment for a user from the number of users based on a distance between the user from the other users from the number of users. Further, the method includes configuring, by the electronic device, at least one of: a size of the base structure and a position of the base structure based on the distance between the users. Further, the method includes identifying, by the electronic device, a landmark point from a plurality of landmark points for the users upon measuring a distance between the users with reference to the base structure. Further, the method includes generating, by the electronic device, the adaptive XR environment based on the size of the base structure, the position of the base structure, and the plurality of identified landmark points for the users.
Unlike conventional methods and systems, the proposed method can be used to provide the adaptive XR environment based on multiple users. In the proposed methods, the multiple users can be identified in the frame and one or more parameters, e.g., virtual object, landmark point or the like, can be used to auto generate the adaptive XR environment in real-time. The method can be used for providing the adaptive XR environment based on the multi user situation, where the generated environment can be made responsive and interactive based on user(s)'s proximity and one or more landmark points in the XR environment.
Based on the proposed methods, in virtual meetings or events with multiple participants, the adaptive XR environment, or the responsive virtual environment, can adjust itself based on the number of users. An added responsiveness in the background XR environment can create an engaging experience creating a sense of liveliness. The adaptive XR environment, or responsive virtual environment, enhances the user experience by creating procedural environments which are more engaging and personalized based on a setting of the electronic device. The setting is done by the user or the electronic device.
By making the XR environment dynamic, it becomes more engaging and interactive for the multiple user(s), or user and participants. Additionally, responsiveness to multiple users' actions can significantly improve the overall user experience.
The proposed method can be implemented in various augmented reality applications or the XR applications such as AR lens, gaming and virtual events application, virtual tourism and marketing/advertising, game meetup and virtual workshops environments.
Referring now to the drawings, and more particularly to
In an embodiment, the electronic device 100 includes a processor 110, a communicator 120, a memory 130, one or more applications 140a-140n, an adaptive XR environment controller 150, a sensor (160) and a data driven controller 170. The processor 110 is communicatively coupled with the communicator 120, the memory 130, the adaptive XR environment controller 150, the sensor 160 and the data driven controller 170. The one or more applications 140a-140n are stored or running in the memory 130. The one or more applications 140a-140n can be, for example, but not limited to a VR application, an XR application, a MR application, an AR application, a social networking application, e.g. Facebook® or the like, a game application or the like. Hereafter, the label of the application is 140. The sensor 160 can be, for example, but not limited to a proximity sensor, a distance determination sensor, a depth senor, or the like.
The adaptive XR environment controller 150 determines the number of users in a physical world. Upon determining the number of users in the physical world, the adaptive XR environment controller 150 generates a XR floor, or base plate, 402 as shown in
Further, the adaptive XR environment controller 150 configures a size of the XR floor in proportion to the determined number of users in the XR environment. In an embodiment, the adaptive XR environment controller 150 determines a physical location of each of a plurality of user. Further, the adaptive XR environment controller 150 groups the plurality of user into a first location and a second location based on the physical location of each of the plurality of user users and the distance between the users. Further, the adaptive XR environment controller 150 determines the different group of users from the number of users based on a predefined threshold distance. The predefined threshold distance is set by the user of the electronic device 100 or the electronic device 100. Based on the determined different group of users, the adaptive XR environment controller 150 configures the size of the XR floor.
Further, the adaptive XR environment controller 150 determines a distance between the user from the other users from the number of users in the XR environment. Based on the distance between the user from the other users, the adaptive XR environment controller 150 generates the base structure 404, e.g., virtual table or the like, as shown in
Based on the distance between the users, the adaptive XR environment controller 150 configures the size of the base structure 404 and a position of the base structure 404. Further, the adaptive XR environment controller identifies the landmark point from the plurality of landmark points for the users upon measuring a distance between the users with reference to the base structure 404.
Based on the size of the base structure 404, the position of the base structure 404, and the plurality of identified landmark points for the users, the adaptive XR environment controller 150 generates the adaptive XR environment. The adaptive XR environment corresponds to dynamically react and adapt to an update within the XR environment. In an embodiment, the XR floor associated with the adaptive XR environment is dynamically generated based on a number of active users in the physical world.
Further, the adaptive XR environment controller 150 generates the decorative detail 406a-406c as shown in
Further, the adaptive XR environment controller 150 detects one or more events. The one or more events includes at least one of: associating a new user to the number of users, disassociating the user from the number of users, a change in a physical location of the user, a change in a user action, and a change in a user behavior. The user action can be, for example, a change in position of the head, a change in position of the hand, or the like. The user behavior can be, for example, starting speaking with another user, walking towards other users or the like. Based on the one or more detected events, the adaptive XR environment controller 150 generates another XR floor, i.e. a second XR floor, associated with the XR environment upon determining the number of users in the physical world. The second XR floor is different the first XR floor. Further, the adaptive XR environment controller 150 configures the size of the second XR floor in proportion to the determined number of users in the XR environment. Further, the adaptive XR environment controller 150 determines a distance between the user from the other users from the number of users. Based on the distance, the adaptive XR environment controller 150 generates a second base structure associated with the second XR floor in the XR environment for the user from the number of users. Based on the distance between the users, the adaptive XR environment controller 150 configures the size of the second base structure and the position of the second base structure. Further, the adaptive XR environment controller 150 measures the distance between the users with reference to the second base structure. Upon measuring a distance between the users with reference to the second base structure, the adaptive XR environment controller 150 identifies the second landmark point from the plurality of landmark points for the users. Based on the size of the second base structure, the position of the second base structure, and the plurality of identified landmark points for the users, the adaptive XR environment controller 150 generates the adaptive XR environment.
In another embodiment, the adaptive XR environment controller 150 determines the distance between the users from the plurality of users in the XR environment. Further, the adaptive XR environment controller 150 determines the distance between the object in the XR environment and the users from the plurality of users. Based on the determined distance between the users from the plurality of users, and the determined distance between the object in the XR environment and the users from the plurality of users, the adaptive XR environment controller 150 generates user effective data. Generation of the user effective data is explained in
In an example, a scale-based proximity simulation is depicted in
The adaptive XR environment controller 150 is physically implemented by analog or digital circuits such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits, or the like, and may optionally be driven by firmware.
Further, the processor 110 is configured to execute instructions stored in the memory 130 and to perform various processes. The communicator 120 is configured for communicating internally between internal hardware components and with external devices via one or more networks. The memory 130 also stores instructions to be executed by the processor 110. The memory 130 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories, EPROM, or electrically erasable and programmable, EEPROM, memories. In addition, the memory 130 may, in some examples, be considered a non-transitory storage medium. The term “non-transitory” may indicate that the storage medium is not embodied in a carrier wave or a propagated signal. However, the term “non-transitory” should not be interpreted that the memory 130 is non-movable. In certain examples, a non-transitory storage medium may store data that can, over time, change, e.g., in Random Access Memory, “RAM” or cache.
Further, at least one of the plurality of modules/controller may be implemented through an AI/machine learning, “ML” model using a data driven controller 170. The data driven controller 170 can be a ML model based controller and AI model based controller. A function associated with the AI model may be performed through the non-volatile memory, the volatile memory, and the processor 110. The processor 110 may include one or a plurality of processors. At this time, one or a plurality of processors may be a general purpose processor, such as a central processing unit, “CPU”, an application processor, “AP”, or the like, a graphics-only processing unit such as a graphics processing unit, “GPU”, a visual processing unit “VPU”, and/or an AI-dedicated processor such as a neural processing unit, “NPU”. The processor 100 and the adaptive XR environment controller (150) may be integrally referred to as at least one processor.
The one or a plurality of processors control the processing of the input data in accordance with a predefined operating rule or AI model stored in the non-volatile memory and the volatile memory. The predefined operating rule or artificial intelligence model is provided through training or learning.
Here, being provided through learning means that a predefined operating rule or AI model of a desired characteristic is made by applying a learning algorithm to a plurality of learning data. The learning may be performed in a device itself in which AI according to an embodiment is performed, and/or may be implemented through a separate server/system.
The AI model may include of a plurality of neural network layers. Each layer has a plurality of weight values, and performs a layer operation through calculation of a previous layer and an operation of a plurality of weights. Examples of neural networks include, but are not limited to, convolutional neural network, “CNN”, deep neural network, “DNN”, recurrent neural network, “RNN”, restricted Boltzmann Machine, “RBM”, deep belief network, “DBN”, bidirectional recurrent deep neural network, “BRDNN”, generative adversarial networks, “GAN”, and deep Q-networks.
The learning algorithm is a method for training a predetermined target device, for example a robot, using a plurality of learning data to cause, allow, or control the target device to make a determination or prediction. Examples of learning algorithms include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
Although
As shown in
At step 208, the method includes configuring the size of the base structure 404 and the position of the base structure 404 based on the distance between the users. At step 210, the method includes identifying the landmark point from the plurality of landmark points for the users upon measuring the distance between the users with reference to the base structure 404. At step 212, the method includes generating the adaptive XR environment based on the size of the base structure 404, the position of the base structure 404, and the plurality of identified landmark points for the users.
As shown in
At step 308, the method includes determining the environment effective data. The environment effective data includes the user body landmark points of individual users detected in the XR environment. At step 310, the method includes generating the adaptive XR environment based on the user effective data and the environment effective data.
The proposed method can be used to provide the adaptive XR environment based on the multiple users. The generated adaptive XR environment can be made responsive and interactive based on user's proximity and one or more landmark points in the XR environment. Based on the proposed methods, in virtual meetings or events with multiple participants, the adaptive XR environment, or the responsive virtual environment, can adjust itself based on the number of users. The added responsiveness in the background XR environment can create an engaging experience creating a sense of liveliness. The adaptive XR environment, or responsive virtual environment, enhances the user experience by creating procedural environments which are more engaging and personalized based on a setting of the electronic device 100. By making the XR environment dynamic, it becomes more engaging and interactive for the multiple users or participants. Additionally, responsiveness to multiple users' actions can significantly enhance the overall user experience.
As shown in
As shown in
As shown in
At step 512, the electronic device 100 determines the proximity (or distance) between the user-user and the user and the virtual environment. At step 514, the electronic device 100 determines the environment effective data upon determining the proximity between the user-user and the user and the virtual environment. At step 516, the electronic device 100 identifies the width from environment effective data and the effective user data. At step 518, the electronic device 100 attains the effective data which will be used for the XR environment generation.
At step 520, the electronic device 100 provides the responsive environment. The responsive environment refers to an environment that dynamically adjusts and adapts based on the parameters or inputs from the user data. At step 522, the electronic device 100 provides a responsive simulations. The responsive simulation refers to a simulation that dynamically reacts and adapts to the changes within the XR environment. The responsive simulation aims to create a realistic and interactive experience by simulating various aspects of the XR environment and allowing them to respond to user interactions. Also, the electronic device 100 generates the dynamic and interactive procedural XR environment that aligns with the users actions and behaviours.
In an example, the electronic device 100 focuses on extracting the environment effective data for each users. The electronic device 100 does so by detecting and tracking body landmark points of the individual users. These body landmark points include key body parts such as hands, head, torso, etc. By analyzing the landmark points, the user action gestures, and the body language, the electronic device 100 is able to meaningfully create the width of the main canvas and the base plate 402.
As shown in
Similar to
As shown in
As shown in
As shown in
Similar to
Similarly, by using the proposed methods, in a virtual tourism, the dynamic and interactive elements can enhance the virtual travel experience where the users can interact with the dynamic environment and interactive historical information.
Similarly, by using the proposed methods, in a marketing and advertising activity, the proposed method can help in creating interactive and engaging campaigns. The dynamic XR environment can respond to the user behaviors delivering targeted personalized interactive experience.
The various actions, acts, blocks, steps, or the like in the flow charts 200-300 may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some of the actions, acts, blocks, steps, or the like may be omitted, added, modified, skipped, or the like.
The embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the elements. The elements can be at least one of a hardware device, or a combination of hardware device and software module.
The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept.
Number | Date | Country | Kind |
---|---|---|---|
202241057054 | Oct 2022 | IN | national |
202241057054 | Sep 2023 | IN | national |
This application is a continuation of PCT International Application No. PCT/KR2023/014855, which was filed on Sep. 26, 2023, and claims priority to Indian Patent Application number 202241057054 filed on Oct. 4, 2022 and Indian Patent Application number 202241057054 filed on Sep. 19, 2023 in the Indian Patent Office, the entire disclosures of each of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/KR2023/014855 | Sep 2023 | WO |
Child | 18959282 | US |