Determining local shared origin in three-dimensional environment within multi-user communication session
By utilizing a first electronic device to detect and place shared activity requests in a physical environment during a multi-user communication session, and determining the shared origin in the three-dimensional environment between the co-located electronic devices, the problem of poor sharing and interactivity in the prior art is solved, and more efficient virtual content sharing and interaction are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-23
- Publication Date
- 2026-03-27
AI Technical Summary
In multi-user communication sessions, existing technologies struggle to effectively determine the shared origin in the three-dimensional environment between co-located electronic devices, resulting in poor sharing and interactivity of virtual content.
The first electronic device detects and places shared activity requests in the physical environment, obtains origin data with the second and third electronic devices, combines its own data to determine the shared origin in the physical environment, and presents the corresponding objects in the three-dimensional environment.
It enables accurate determination of the shared origin in multi-user communication sessions, improves the sharing and interactivity of virtual content, and enhances the consistency and collaboration of user experience.
Smart Images

Figure CN121751310A_ABST
Abstract
Description
Cross-references to related applications
[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 698,521, filed September 24, 2024, and U.S. Patent Application No. 19 / 310,681, filed August 26, 2025, the contents of which are incorporated herein by reference in their entirety for all purposes. Technical Field
[0002] This disclosure relates in its entirety to systems and methods for determining and placing a local shared origin of a three-dimensional environment of an electronic device in a physical environment during a multi-user communication session. Background Technology
[0003] Some computer graphics environments provide two-dimensional and / or three-dimensional environments in which at least some of the objects displayed for user viewing are virtual and computer-generated. In some examples, the three-dimensional environment is presented by multiple electronic devices communicating with each other. In some examples, a portal for visual communication with a specific user is displayed within the three-dimensional environment presented at the respective electronic device. Summary of the Invention
[0004] Some examples of this disclosure relate to systems and methods for determining a local shared origin in a three-dimensional environment among juxtaposed electronic devices in a multi-user communication session. In some examples, a method is performed at a first electronic device communicating with one or more displays and one or more input devices, wherein the first electronic device is juxtaposed with a second and a third electronic device in a physical environment. In some examples, the first electronic device detects an indication of a request to participate in a sharing activity with the second and third electronic devices, wherein the first and second electronic devices share a first origin in the physical environment, based on which content is presented in the three-dimensional environment. In some examples, in response to detecting the indication, the first electronic device enters a communication session including the first, second, and third electronic devices. In some examples, the first electronic device obtains first data corresponding to a second origin in the physical environment, wherein the second origin is shared between the second and third electronic devices. In some examples, the first electronic device uses the first data and second data corresponding to the first origin in the physical environment to determine a shared origin in the physical environment. In some examples, the first electronic device presents an object corresponding to the sharing activity at a first location in the three-dimensional environment relative to the shared origin via one or more displays.
[0005] A full description of these examples is provided in the accompanying drawings and detailed embodiments, and it should be understood that the content of this invention does not limit the scope of this disclosure in any way. Attached Figure Description
[0006] To better understand the various examples described herein, reference should be made to the following detailed embodiments and accompanying drawings. Throughout the drawings, similar reference numerals generally refer to corresponding parts.
[0007] Figure 1 Examples of electronic devices that present extended real-world environments according to some examples of this disclosure are illustrated.
[0008] Figure 2 A block diagram illustrating an example architecture of a system according to some examples of this disclosure is shown.
[0009] Figure 3 Examples of spatial groups in a multi-user communication session including a first electronic device and a second electronic device are illustrated according to some examples of this disclosure.
[0010] Figures 4A to 4I Examples of determining a local shared origin in a physical environment according to some examples of this disclosure are illustrated, based on which shared content is displayed in a three-dimensional environment within a multi-user communication session.
[0011] Figures 5A to 5C Examples of determining a local shared origin in a physical environment according to some examples of this disclosure are illustrated, based on which shared content is displayed in a three-dimensional environment within a multi-user communication session.
[0012] Figure 6 A flowchart illustrating an exemplary process for determining a local shared origin in a physical environment, based on some examples of this disclosure, is provided to display shared content in a three-dimensional environment within a multi-user communication session. Detailed Implementation
[0013] Some examples of this disclosure relate to systems and methods for determining a local shared origin in a three-dimensional environment among juxtaposed electronic devices in a multi-user communication session. In some examples, a method is performed at a first electronic device communicating with one or more displays and one or more input devices, wherein the first electronic device is juxtaposed with a second and a third electronic device in a physical environment. In some examples, the first electronic device detects an indication of a request to participate in a sharing activity with the second and third electronic devices, wherein the first and second electronic devices share a first origin in the physical environment, based on which content is presented in the three-dimensional environment. In some examples, in response to detecting the indication, the first electronic device enters a communication session including the first, second, and third electronic devices. In some examples, the first electronic device obtains first data corresponding to a second origin in the physical environment, wherein the second origin is shared between the second and third electronic devices. In some examples, the first electronic device uses the first data and second data corresponding to the first origin in the physical environment to determine a shared origin in the physical environment. In some examples, the first electronic device presents an object corresponding to the sharing activity at a first location in the three-dimensional environment relative to the shared origin via one or more displays.
[0014] As used herein, a space group corresponds to a group or number of participants (e.g., users) in a multi-user communication session. In some examples, a space group in a multi-user communication session has a spatial arrangement indicating the location of users and content within the space group. In some examples, users in the same space group within a multi-user communication session experience spatial real-time according to the spatial arrangement of the space group. In some examples, when a user of a first electronic device is in a first space group in a multi-user communication session and a user of a second electronic device is in a second space group in a multi-user communication session, the user experience is spatial real-time localized for their respective space group. In some examples, although the users of the first and second electronic devices are grouped into separate space groups within a multi-user communication session, if the first and second electronic devices return to the same operating state, the users of the first and second electronic devices are regrouped into the same space group within the multi-user communication session.
[0015] In some examples, initiating a multi-user communication session may include interaction with one or more user interface elements. In some examples, the electronic device may track a user's gaze as input to target a selectable option / function representation within a corresponding user interface element displayed in a three-dimensional environment. For example, a gaze may be used to identify one or more option / function representations targeting a selection made using another selection input. In some examples, a corresponding option / function representation may be selected using hand-tracking input detected via an input device communicating with the electronic device. In some examples, objects displayed in a three-dimensional environment may be moved and / or reoriented in the three-dimensional environment based on movement input detected via an input device.
[0016] Figure 1 An electronic device 101 is illustrated according to some examples of this disclosure, which presents an extended reality (XR) environment (e.g., a computer-generated environment that optionally includes representations of physical and / or virtual objects). In some examples, such as Figure 1 As shown, electronic device 101 is a head-mounted display or other head-mountable device configured to be worn on the head of a user of electronic device 101. An example of electronic device 101 is referenced below. Figure 2 Describe the architecture using a block diagram. For example... Figure 1 As shown, electronic device 101 and table 106 are located in a physical environment. The physical environment may include physical features such as physical surfaces (e.g., floor, wall) or physical objects (e.g., table, lamp, etc.). In some examples, electronic device 101 may be configured to detect and / or capture images of the physical environment including table 106 (exemplified in the field of view of electronic device 101).
[0017] In some examples, such as Figure 1 As shown, the electronic device 101 includes one or more internal image sensors 114a oriented toward the user's face (e.g., referred to below). Figure 2 (The described eye-tracking camera). In some examples, an internal image sensor 114a is used for eye tracking (e.g., detecting the user's gaze). The internal image sensor 114a is optionally arranged on the left and right portions of the display 120 to enable eye tracking of the user's left and right eyes. In some examples, the electronic device 101 also includes external image sensors 114b and 114c facing outwards from the user to detect and / or capture the physical environment of the electronic device 101 and / or movement of the user's hands or other body parts.
[0018] In some examples, display 120 has a field of view visible to the user (e.g., it may or may not correspond to the field of view of external image sensors 114b and 114c). Because display 120 is optionally part of a head-mounted device, the field of view of display 120 may be the same as or similar to the field of view of the user's eyes. In other examples, the field of view of display 120 may be smaller than the field of view of the user's eyes. In some examples, electronics 101 may be an optical pass-through device, through which display 120 is a transparent or translucent display through which parts of the physical environment can be directly viewed. In some examples, display 120 may be included within a transparent lens and may overlap with all or only a portion of the transparent lens. In other examples, electronics may be a video pass-through device, through which display 120 is an opaque display configured to display images of the physical environment captured by external image sensors 114b and 114c. Although a single display 120 is shown, it should be understood that display 120 may include a stereoscopic display pair.
[0019] In some examples, in response to a trigger, electronic device 101 can be configured to display in an XR environment a [symbol / image / description]. Figure 1 The illustrated cube represents a virtual object 104 that does not exist in the physical environment but is displayed in an XR environment positioned on top of a real-world table 106 (or a representation thereof). Optionally, in response to detecting a flat surface of the table 106 in the physical environment 100, the virtual object 104 may be displayed on the surface of the table 106 in the XR environment displayed via a display 120 of the electronic device 101.
[0020] It should be understood that virtual object 104 is a representative virtual object and may include and render one or more different virtual objects (e.g., virtual objects with various dimensions, such as two-dimensional or other three-dimensional virtual objects) in a three-dimensional XR environment. For example, a virtual object may represent an application or user interface displayed in an XR environment. In some examples, a virtual object may represent content corresponding to an application and / or displayed via a user interface in an XR environment. In some examples, virtual object 104 may optionally be configured to be interactive and responsive to user input (e.g., air gestures, such as air pinch gestures, air tap gestures, and / or air touch gestures), allowing the user to virtually touch, tap, move, rotate, or otherwise interact with virtual object 104.
[0021] In some examples, displaying an object in a 3D environment may include interaction with one or more user interface objects in the 3D environment. For example, initiating the display of an object in a 3D environment may include interaction with one or more virtual option / function representations displayed in the 3D environment. In some examples, the electronic device may track a user's gaze as input to identify one or more virtual option / function representations that target a selection made when the display of an object is initiated in the 3D environment. For example, a gaze may be used to identify one or more virtual option / function representations that target a selection made using another selection input. In some examples, a virtual option / function representation may be selected using hand-tracking input detected via an input device communicating with the electronic device. In some examples, an object displayed in a 3D environment may move and / or reorient itself in the 3D environment based on movement input detected via an input device.
[0022] In the following discussion, an electronic device communicating with a display generating component and one or more input devices is described. It should be understood that the electronic device may optionally communicate with one or more other physical user interface devices, such as a touch-sensitive surface, physical keyboard, mouse, joystick, hand-tracking device, eye-tracking device, stylus, etc. Furthermore, as described above, it should be understood that the described electronic device, display, and touch-sensitive surface may optionally be distributed among two or more devices. Therefore, as used in this disclosure, information on or displayed by the electronic device may optionally be used to describe information output by the electronic device for display on a separate display device (touch-sensitive or non-touch-sensitive). Similarly, as used in this disclosure, input received on the electronic device (e.g., touch input received on a touch-sensitive surface of the electronic device, or touch input received on the surface of a stylus) may optionally be used to describe input received on a separate input device from which the electronic device receives input information.
[0023] The device typically supports a variety of applications, such as one or more of the following: drawing applications, presentation applications, word processing applications, website creation applications, disk editing applications, spreadsheet applications, game applications, telephone applications, video conferencing applications, email applications, instant messaging applications, fitness support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music player applications, TV channel browsing applications, and / or digital video player applications.
[0024] Figure 2A block diagram illustrating an example architecture of a system 201 according to some examples of this disclosure is provided. In some examples, system 201 includes multiple electronic devices. For example, system 201 includes a first electronic device 260 and a second electronic device 270, wherein the first electronic device 260 and the second electronic device 270 communicate with each other. In some examples, the first electronic device 260 and / or the second electronic device 270 are respectively a portable device, an auxiliary device for communicating with another device, a head-mounted display, etc. In some examples, the first electronic device 260 and the second electronic device 270 are related to the above references. Figure 1 The described electronic device 101 corresponds to this.
[0025] like Figure 2 As shown, the first electronic device 260 and the second electronic device 270 optionally include various sensors, such as one or more hand tracking sensors 202A / 202B, one or more position sensors 204A / 204B, and one or more image sensors 206A / 206B (optionally corresponding to...). Figure 1 The internal image sensor 114a and / or external image sensors 114b and 114c, one or more touch-sensitive surfaces 209A / 209B, one or more motion and / or orientation sensors 210A / 210B, one or more eye-tracking sensors 212A / 212B, one or more microphones 213A / 213B or other audio sensors, one or more body tracking sensors (e.g., torso and / or head tracking sensors), and one or more display generation components 214A / 214B (optionally corresponding to...) Figure 1 The electronic devices 260 and 270 include a display 120, one or more speakers 216A / 216B, one or more processors 218A / 218B, one or more memories 220A / 220B, and / or communication circuitry 222A / 222B. One or more communication buses 208A / 208B are optionally used for communication between the aforementioned components of the electronic devices 260 and 270.
[0026] Communication circuits 222A / 222B optionally include circuitry for communicating with electronic devices and networks such as the Internet, intranets, wired and / or wireless networks, cellular networks, and wireless local area networks (LANs). Communication circuits 222A / 222B optionally include circuitry for using near-field communication (NFC) and / or short-range communication such as Bluetooth. ® The circuit used for communication.
[0027] Processors 218A / 218B include one or more general-purpose processors, one or more graphics processors, and / or one or more digital signal processors. In some examples, memory 220A / 220B is a non-transitory computer-readable storage medium (e.g., flash memory, random access memory, or other volatile or non-volatile memory or storage device) storing computer-readable instructions configured to be executed by processor 218A / 218B to perform the techniques, processes, and / or methods described below. In some examples, memory 220A / 220B may include more than one non-transitory computer-readable storage medium. A non-transitory computer-readable storage medium can be any medium (e.g., excluding signals) that can tangibly contain or store computer-executable instructions for use by or in connection with an instruction execution system, apparatus, and device. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include hard disks, optical discs based on compressed disc (CD), digital versatile optical disc (DVD), or Blu-ray technology, as well as persistent solid-state storage (such as flash memory, solid-state drives, etc.).
[0028] In some examples, display generating components 214A / 214B include a single display (e.g., a liquid crystal display (LCD), an organic light-emitting diode (OLED), or other types of display). In some examples, display generating components 214A / 214B include multiple displays. In some examples, display generating components 214A / 214B may include a touch-enabled display (e.g., a touchscreen), a projector, a holographic projector, a retinal projector, a transparent or translucent display, etc. In some examples, the first electronic device 260 and the second electronic device 270 each include a touch-sensitive surface 209A / 209B for receiving user input (such as tap input and swipe input or other gestures). In some examples, display generating components 214A / 214B and touch-sensitive surfaces 209A / 209B form a touch-sensitive display (e.g., a touchscreen integrated with electronic devices 260 and 270 or a touchscreen external to electronic devices 260 and 270 that communicates with electronic devices 260 and 270).
[0029] Electronic devices 260 and 270 optionally include image sensors 206A / 206B. Image sensors 206A / 206B optionally include one or more visible light image sensors (such as charge-coupled device (CCD) sensors) and / or complementary metal-oxide-semiconductor (CMOS) sensors operable to acquire images of physical objects from the real-world environment. Image sensors 206A / 206B also optionally include one or more infrared (IR) sensors, such as passive or active IR sensors, for detecting infrared light from the real-world environment. For example, an active IR sensor includes an IR emitter for emitting infrared light into the real-world environment. Image sensors 206A / 206B also optionally include one or more cameras configured to capture movement of physical objects in the real-world environment. Image sensors 206A / 206B also optionally include one or more depth sensors configured to detect the distance between the physical object and electronic devices 260 and 270. In some examples, information from one or more depth sensors allows a device to identify objects in a real-world environment and distinguish them from other objects in the real-world environment. In some examples, one or more depth sensors allow a device to determine the texture and / or shape of objects in a real-world environment.
[0030] In some examples, electronic devices 260 and 270 use a combination of CCD sensors, event cameras, and depth sensors to detect the physical environment surrounding them. In some examples, image sensors 206A / 206B include a first image sensor and a second image sensor. The first and second image sensors work cooperatively and are optionally configured to capture different information about physical objects in the real-world environment. In some examples, the first image sensor is a visible light image sensor, and the second image sensor is a depth sensor. In some examples, electronic devices 260 and 270 use image sensors 206A / 206B to detect the position and orientation of electronic devices 260 and 270 and / or display generation components 214A / 214B in the real-world environment. For example, electronic devices 260 and 270 use image sensors 206A / 206B to track the position and orientation of display generation components 214A / 214B relative to one or more stationary objects in the real-world environment.
[0031] In some examples, electronic devices 260 and 270 include microphones 213A / 213B or other audio sensors. Electronic devices 260 and 270 optionally use microphones 213A / 213B to detect sound from a user and / or the user's real-world environment. In some examples, microphones 213A / 213B include an array (multiple microphones) of microphones that optionally operate cooperatively to identify ambient noise or locate sound sources in the space of a real-world environment.
[0032] Electronic devices 260 and 270 include position sensors 204A / 204B for detecting the position of electronic devices 260 and 270 and / or display generating components 214A / 214B. For example, position sensors 204A / 204B may include a Global Positioning System (GPS) receiver that receives data from one or more satellites and allows electronic devices 260 and 270 to determine the absolute position of the device in the physical world.
[0033] Electronic devices 260 and 270 include orientation sensors 210A / 210B for detecting the orientation and / or movement of electronic devices 260 and 270 and / or display generating components 214A / 214B. For example, electronic devices 260 and 270 use orientation sensors 210A / 210B to track changes in the position and / or orientation of electronic devices 260 and 270 and / or display generating components 214A / 214B, such as changes relative to physical objects in a real-world environment. Orientation sensors 210A / 210B optionally include one or more gyroscopes and / or one or more accelerometers.
[0034] In some examples, electronic devices 260 and 270 include hand-tracking sensors 202A / 202B and / or eye-tracking sensors 212A / 212B (and / or other body tracking sensors, such as leg, torso, and / or head tracking sensors). The hand-tracking sensors 202A / 202B are configured to track the localization / position of one or more portions of a user's hand, and / or the movement of one or more portions of the user's hand relative to the extended reality environment, relative to the display generating components 214A / 214B, and / or relative to another defined coordinate system. The eye-tracking sensors 212A / 212B are configured to track the localization and movement of a user's gaze (more generally, eyes, face, or head) relative to the real world or extended reality environment and / or relative to the display generating components 214A / 214B. In some examples, the hand-tracking sensors 202A / 202B and / or the eye-tracking sensors 212A / 212B are implemented together with the display generating components 214A / 214B. In some examples, the hand tracking sensors 202A / 202B and / or eye tracking sensors 212A / 212B are implemented separately from the display generation components 214A / 214B.
[0035] In some examples, hand-tracking sensors 202A / 202B (and / or other body-tracking sensors, such as leg, torso, and / or head-tracking sensors) may use image sensors 206A / 206B (e.g., one or more IR cameras, 3D cameras, depth cameras, etc.) that capture 3D information from the real world, including one or more body parts (e.g., a human user's hand, leg, torso). In some examples, sufficient resolution is available to distinguish the hand and differentiate the fingers and their corresponding positions. In some examples, one or more image sensors 206A / 206B are positioned relative to the user to define the field of view and interaction space of the image sensors 206A / 206B, in which the finger / hand positions, orientations, and / or movements captured by the image sensors are used as input (e.g., to differentiate from the user's idle hand or other hands of other people in the real-world environment). Tracking the fingers / hands used for input (e.g., gestures, touches, taps, etc.) may be advantageous because it does not require the user to touch, hold, or wear any type of beacon, sensor, or other marker.
[0036] In some examples, the eye-tracking sensors 212A / 212B include at least one eye-tracking camera (e.g., an infrared (IR) camera) and / or an illumination source (e.g., an IR light source, such as an LED) that emits light toward the user's eyes. The eye-tracking camera may be pointed at the user's eyes to receive reflected IR light from the light source directly or indirectly from the eyes. In some examples, both eyes are tracked separately by the respective eye-tracking cameras and illumination sources, and focus / gaze can be determined by tracking both eyes. In some examples, one eye (e.g., the dominant eye) is tracked by one or more respective eye-tracking cameras / illumination sources.
[0037] Electronic devices 260 and 270 are not limited to Figure 2The components and configurations may include fewer components, other components, or additional components in various configurations. In some examples, system 201 may be implemented in a single device. One or more persons using electronic devices 260 / 270 are optionally referred to herein as one or more users of the device. Attention now turns to the exemplary simultaneous display of a three-dimensional environment on a first electronic device (e.g., corresponding to electronic device 260) and a second electronic device (e.g., corresponding to electronic device 270). As discussed below, the first electronic device may communicate with the second electronic device in a multi-user communication session. In some examples, an avatar (e.g., a representation) of a user of the first electronic device may be displayed in the three-dimensional environment at the second electronic device, and an avatar of a user of the second electronic device may be displayed in the three-dimensional environment at the first electronic device. In some examples, users of the first electronic device and users of the second electronic device may be associated with a spatial group in a multi-user communication session.
[0038] Figure 3 Examples of spatial groups 340 in a multi-user communication session including a first electronic device 360 and a second electronic device 370 according to some examples of this disclosure are illustrated. In some examples, the first electronic device 360 may present a three-dimensional environment 350A, and the second electronic device 370 may present a three-dimensional environment 350B. The first electronic device 360 and the second electronic device 370 may be similar to electronic devices 101 or 260 / 270, and / or may be head-mounted systems / devices and / or projection-based systems / devices (including hologram-based systems / devices) configured to generate and present three-dimensional environments, such as head-up displays (HUDs), head-mounted displays (HMDs), windows with integrated display capabilities, and displays formed as lenses (e.g., similar to contact lenses) designed to be placed on a person's eyes. Figure 3 In the example, a first user may optionally wear a first electronic device 360 and a second user may optionally wear a second electronic device 370, such that the three-dimensional environment 350A / 350B may be defined by the X-axis, Y-axis and Z-axis viewed from the perspective of the electronic device (e.g., the viewpoint associated with the electronic device 360 / 370, which may be, for example, a head-mounted display).
[0039] like Figure 3As shown, the first electronic device 360 may be situated in a first physical environment including a table 306 and a window 309. Therefore, the three-dimensional environment 350A presented using the first electronic device 360 may optionally include captured portions of the physical environment surrounding the first electronic device 360, such as a representation of the table 306' and a representation of the window 309'. Similarly, the second electronic device 370 may be situated in a second physical environment different from the first physical environment (e.g., separate from the first physical environment), which includes a floor lamp 307 and a coffee table 308. Therefore, the three-dimensional environment 350B presented using the second electronic device 370 may optionally include captured portions of the physical environment surrounding the second electronic device 370, such as a representation of the floor lamp 307' and a representation of the coffee table 308'. Additionally, the three-dimensional environments 350A and 350B may include representations of the floor, ceiling, and walls of the rooms where the first electronic device 360 and the second electronic device 370 are respectively located.
[0040] As described above, in some examples, the first electronic device 360 may optionally be in a multi-user communication session with the second electronic device 370. For example, the first electronic device 360 and the second electronic device 370 (e.g., via communication circuits 222A / 222B) are configured to present a shared three-dimensional environment 350A / 350B including one or more shared virtual objects (e.g., content such as images, videos, audio, etc., representations of the user interface of an application, etc.). As used herein, the term "shared three-dimensional environment" refers to a three-dimensional environment independently presented, displayed, and / or visible at two or more electronic devices, through which content, applications, data, etc., can be shared and / or presented to users of the two or more electronic devices. In some examples, when the first electronic device 360 is in a multi-user communication session with the second electronic device 370, an avatar corresponding to a user of one electronic device is optionally displayed in the three-dimensional environment displayed via the other electronic device. For example, as Figure 3 As shown, at the first electronic device 360, an avatar 315 corresponding to the user of the second electronic device 370 is displayed in the three-dimensional environment 350A. Similarly, at the second electronic device 370, an avatar 317 corresponding to the user of the first electronic device 360 is displayed in the three-dimensional environment 350B.
[0041] In some examples, the presentation of avatars 315 / 317 as part of a shared 3D environment may optionally be accompanied by audio effects corresponding to the speech of a user of electronic devices 370 / 360. For example, avatar 315 displayed in 3D environment 350A using first electronic device 360 may optionally be accompanied by audio effects corresponding to the speech of a user of second electronic device 370. In some such examples, when a user of second electronic device 370 speaks, the user's speech may be detected by second electronic device 370 (e.g., via microphone 213B) and transmitted to first electronic device 360 (e.g., via communication circuits 222B / 222A), such that the detected speech of the user of second electronic device 370 may be presented as audio (e.g., using speaker 216A) to the user of first electronic device 360 in 3D environment 350A. In some examples, the audio effects corresponding to the speech of the user of second electronic device 370 may be spatialized so that they appear to the user of first electronic device 360 to originate from the location of avatar 315 in shared 3D environment 350A (e.g., although output from a speaker of first electronic device 360). Similarly, the avatar 317 displayed in the three-dimensional environment 350B using the second electronic device 370 may optionally be accompanied by audio effects corresponding to the voice of the user of the first electronic device 360. In some such examples, when the user of the first electronic device 360 speaks, the user's voice may be detected by the first electronic device 360 (e.g., via microphone 213A) and transmitted to the second electronic device 370 (e.g., via communication circuits 222A / 222B), so that the detected voice of the user of the first electronic device 360 may be presented to the user of the second electronic device 370 as audio in the three-dimensional environment 350B (e.g., using speaker 216B). In some examples, the audio effects corresponding to the voice of the user of the first electronic device 360 may be spatialized so that they appear to the user of the second electronic device 370 to originate from the location of the avatar 317 in the shared three-dimensional environment 350B (e.g., although output from the speaker of the first electronic device 360).
[0042] In some examples, when in a multi-user communication session, avatars 315 / 317 are displayed in a three-dimensional environment 350A / 350B to correspond to the orientation of electronic devices 360 / 370 (and / or the users of electronic devices 360 / 370) in the physical environment surrounding electronic devices 360 / 370 and / or corresponding orientations based on these orientations. For example, as Figure 3As shown, in three-dimensional environment 350A, avatar 315 can select the user's viewpoint from the ground towards the first electronic device 360, and in three-dimensional environment 350B, avatar 317 can select the user's viewpoint from the ground towards the second electronic device 370. When a particular user moves the electronic device (and / or itself) in the physical environment, the user's viewpoint changes according to the movement, which can therefore also change the orientation of the user's avatar in the three-dimensional environment. For example, see reference... Figure 3 If the user of the first electronic device 360 looks to the left in the three-dimensional environment 350A, causing the first electronic device 360 to rotate to the left (e.g., counterclockwise) (e.g., by a corresponding amount), then the user of the second electronic device 370 will see the avatar 317 corresponding to the user of the first electronic device 360 rotate to the right (e.g., clockwise) relative to the viewpoint of the user of the second electronic device 370 according to the movement of the first electronic device 360.
[0043] Additionally, in some examples, when in a multi-user communication session, the viewpoint of the 3D environment 350A / 350B and / or the position of the viewpoint of the 3D environment 350A / 350B may optionally change according to the movement of the electronic device 360 / 370 (e.g., by the user of the electronic device 360 / 370). For example, when in a communication session, if the first electronic device 360 moves closer toward the table representation 306' and / or avatar 315 (e.g., because the user of the first electronic device 360 moves forward in the physical environment surrounding the first electronic device 360), the viewpoint of the 3D environment 350A will change accordingly, making the table representation 306', the window representation 309', and the avatar 315 appear larger in the field of view. In some examples, each user can interact independently with the 3D environment 350A / 350B, such that changes in the viewpoint of the 3D environment 350A and / or interactions between the first electronic device 360 and virtual objects in the 3D environment 350A may optionally not affect the content displayed in the 3D environment 350B at the second electronic device 370, and vice versa.
[0044] In some examples, avatar 315 / 317 is a representation of the user of electronic device 370 / 360 (e.g., full-body rendering). In some examples, avatar 315 / 317 is a representation of a portion of the user of electronic device 370 / 360 (e.g., rendering of head, face, head and torso, etc.). In some examples, avatar 315 / 317 is a representation of user personalization, user selection, and / or user creation displayed in 3D environment 350A / 350B, representing the user of electronic device 370 / 360. It should be understood that, although Figure 3 The avatars 315 / 317 illustrated correspond to the full-body representation of the user of the electronic devices 370 / 360, respectively, but alternative avatars, such as those described above, may be provided.
[0045] As described above, when the first electronic device 360 and the second electronic device 370 are in a multi-user communication session, the three-dimensional environment 350A / 350B can be a shared three-dimensional environment presented using electronic devices 360 / 370. In some examples, in a multi-user communication session, content viewed by a user at one electronic device can be shared with another user at another electronic device. In some such examples, content can be experienced (e.g., viewed and / or interacted with) by two users (e.g., via their respective electronic devices) in a shared three-dimensional environment. For example, as... Figure 3 As shown, the 3D environment 350A / 350B includes a shared virtual object 310 (e.g., optionally a 3D virtual sculpture) that can be viewed and interacted with by two users. Figure 3 As shown, the shared virtual object 310 can be displayed together with a grabber indication (e.g., a control bar) 335 that can be selected to initiate movement of the shared virtual object 310 within the three-dimensional environment 350A / 350B.
[0046] In some examples, the 3D environment 350A / 350B includes non-shared content that is private to one user in a multi-user communication session. For example, in Figure 3 In this context, the first electronic device 360 is displaying a private application window 330 in a three-dimensional environment 350A, which may optionally be an object in a multi-user communication session that is not shared between the first electronic device 360 and the second electronic device 370. In some examples, the private application window 330 may be associated with a corresponding application (e.g., a media player application, a web browsing application, a messaging application, etc.) operating on the first electronic device 360. Because the private application window 330 is not shared with the second electronic device 370, the second electronic device 370 may optionally display a representation 330'' of the private application window in a three-dimensional environment 350B. Figure 3 As shown, in some examples, the representation 330'' of the private application window may be a faded, obscured, discolored, and / or semi-transparent representation of the private application window 330, which prevents the user of the second electronic device 370 from viewing the content of the private application window 330.
[0047] As previously mentioned above, in some examples, users of the first electronic device 360 and users of the second electronic device 370 are in space group 340 within a multi-user communication session. In some examples, space group 340 may be a baseline (e.g., first or default) space group within the multi-user communication session. For example, when users of the first electronic device 360 and users of the second electronic device 370 initially join the multi-user communication session, users of the first electronic device 360 and users of the second electronic device 370 are automatically (and initially, as discussed in more detail below) associated with (e.g., grouped into) space group 340 within the multi-user communication session. In some examples, when users in such... Figure 3 In the spatial group 340 shown, the user of the first electronic device 360 and the user of the second electronic device 370 have a first spatial arrangement (e.g., a first spatial template) within a shared three-dimensional environment. For example, the user of the first electronic device 360 and the user of the second electronic device 370 (including objects displayed in the shared three-dimensional environment) have a spatial reality within the spatial group 340. In some examples, spatial reality requires a consistent spatial arrangement between the user (or its representation) and the virtual objects. For example, the distance between the viewpoint of the user of the first electronic device 360 and the avatar 315 corresponding to the user of the second electronic device 360 may be the same as the distance between the viewpoint of the user of the second electronic device 370 and the avatar 317 corresponding to the user of the first electronic device 370. As described herein, if the position of the viewpoint of the user of the first electronic device 360 moves, the avatar 317 corresponding to the user of the first electronic device 360 moves within the three-dimensional environment 350B according to the movement of the user's viewpoint relative to the viewpoint of the user of the second electronic device 370. Additionally, if a user of the first electronic device 360 interacts with the shared virtual object 310 (e.g., moves the virtual object 310 in the three-dimensional environment 350A), the second electronic device 370 changes the display of the shared virtual object 310 in the three-dimensional environment 350B based on the interaction (e.g., moves the virtual object 310 in the three-dimensional environment 350B).
[0048] It should be understood that in some examples, more than two electronic devices can be communicatively linked in a multi-user communication session. For example, in the case where three electronic devices are communicatively linked in a multi-user communication session, the first electronic device will display two avatars corresponding to the users of the other two electronic devices, instead of just one avatar. Therefore, it should be understood that the various processes and exemplary interactions described herein with reference to the first electronic device 360 and the second electronic device 370 in a multi-user communication session are optionally applicable to cases where more than two electronic devices are communicatively linked in a multi-user communication session.
[0049] In some examples, it may be advantageous to provide mechanisms for facilitating multi-user communication sessions that include co-located users (e.g., co-located electronic devices associated with users). For example, it may be desirable to enable users co-located in a first physical environment to establish multi-user communication sessions that allow the sharing and presentation of virtual content in a three-dimensional environment, optionally viewable and / or interactive by the co-located users in the multi-user communication session. As used herein, a co-located user corresponds to a local user relative to a first electronic device. In some examples, as discussed below, the presentation of virtual objects (e.g., avatars and shared virtual content) within a three-dimensional environment of a multi-user communication session that includes (e.g., co-located users relative to a first electronic device) is based on establishing a shared coordinate space / system, at least according to the pose (e.g., position and / or orientation) of the co-located users in the physical environment of the first electronic device. Specifically, in a multi-user communication session consisting only of remote users (e.g., non-co-located users), the shared origin of the 3D environment (e.g., as a basis for content presentation) can be determined / placed anywhere relative to the physical environment of the first user. In contrast, a multi-user communication session including only co-located users requires an agreement and / or cooperation between electronic devices regarding the placement of the shared origin of the 3D environment. For example, as discussed herein, because co-located users are represented by their physical entities in the multi-user communication session, and physical entities cannot be freely moved by the first electronic device (e.g., as opposed to freely movable avatars), the shared origin of the 3D environment needs to be agreed upon by the electronic devices in the multi-user communication session. In some examples, as discussed below, the shared origin of the 3D environment of the co-located users in the multi-user communication session is determined based on individual origins, both locally and / or individually determined by the electronic devices associated with the co-located users.
[0050] Figures 4A to 4I Examples of determining a local shared origin in a physical environment according to some examples of this disclosure are illustrated, based on which shared content is displayed in a three-dimensional environment within a multi-user communication session. In some examples, a first electronic device 101a may present a three-dimensional environment 450A via a display 120a, and a second electronic device 101b may present a three-dimensional environment 450B via a display 120b. The first electronic device 101a and the second electronic device 101b may be similar to electronic device 101 or electronic device 260 / 270, respectively, and / or may be head-mounted systems / devices and / or projection-based systems / devices (including hologram-based systems / devices) configured to generate and present three-dimensional environments, such as, for example, head-up displays (HUDs), head-mounted displays (HMDs), windows with integrated display capabilities, or displays formed as lenses (e.g., similar to contact lenses) designed to be placed on a person's eyes. Figures 4A to 4IIn the example, a first user 402 (e.g., Charlie) optionally wears a first electronic device 101a, as shown in top view 410, and a second user 404 (e.g., Bob) optionally wears a second electronic device 101b, such that the three-dimensional environment 450A / 450B can be defined by the X, Y, and Z axes viewed from the perspective of the electronic device (e.g., the viewpoint associated with the user of the electronic device 101a / 101b).
[0051] exist Figure 4A As indicated in top view 410, a first electronic device 101a, a second electronic device 101b, and a third electronic device 101c are juxtaposed in a physical environment 400. For example, the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c are all located in the same physical room. In some examples, determining that the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c are juxtaposed in the physical environment 400 is based on the distance between the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c. For example, in Figure 4A In this context, the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c are placed side-by-side in the physical environment 400 because the first electronic device 101a is within a threshold distance (e.g., 0.1 m, 0.5 m, 1 m, 2 m, 3 m, 5 m, 10 m, 15 m, 20 m, etc.) of each of the second and third electronic devices 101c. In some examples, determining that the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c are placed side-by-side in the physical environment 400 is based on communication between the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c. For example, in Figure 4A In this configuration, first electronic device 101a, second electronic device 101b, and third electronic device 101c are configured to communicate (e.g., wirelessly, such as via Bluetooth, Wi-Fi, or a server (e.g., a wireless communication terminal)). In some examples, first electronic device 101a, second electronic device 101b, and third electronic device 101c are connected to the same wireless network in physical environment 400. In some examples, determining the juxtaposition of first electronic device 101a, second electronic device 101b, and third electronic device 101c in physical environment 400 is based on the strength of the wireless signals transmitted between electronic devices 101a / 101b / 101c. For example, in Figure 4AIn this context, the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c are placed side-by-side in the physical environment 400 because the strength of the Bluetooth signal (or other wireless signal) transmitted between the electronic devices 101a / 101b / 101c is greater than a threshold strength. In some examples, determining that the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c are placed side-by-side in the physical environment 400 is based on visual detection of the electronic devices 101a / 101b / 101c in the physical environment 400. For example, as... Figure 4A As shown, the second electronic device 101b and the third electronic device 101c are positioned within the field of view of the first electronic device 101a (e.g., because the second user 404 and the third user 406 are standing within the field of view of the first electronic device 101a), which enables the first electronic device 101a to visually detect (e.g., identify or scan, such as via object detection / recognition or other image processing techniques) the second electronic device 101b and the third electronic device 101c (e.g., in one or more images captured by the first electronic device 101a, such as via external image sensors 114b-i and 114c-i). Similarly, as Figure 4A As shown, the first electronic device 101a and the third electronic device 101c are optionally positioned in the field of view of the second electronic device 101b (e.g., because the first user 402 and the third user 406 are standing in the field of view of the second electronic device 101b), which enables the second electronic device 101b to visually detect the first electronic device 101a and the third electronic device 101c (e.g., in one or more images captured by the second electronic device 101b, such as via external image sensors 114b-ii and 114c-ii).
[0052] In some examples, the three-dimensional environment 450A / 450B includes a captured portion of the physical environment 400 in which the electronic devices 101a / 101b reside. For example, because the first electronic device 101a and the second electronic device 101b are juxtaposed within the physical environment 400, the three-dimensional environments 450A and 450B include the walls, floor, and / or ceiling of the room (e.g., a representation of the walls, floor, and / or ceiling), but viewed from the unique viewpoints of the first electronic device 101a and the second electronic device 101b, such as... Figure 4A As shown. In some examples, these representations may include portions of the physical environment 400 viewed through transparent or semi-transparent displays of electronic devices 101a and 101b. In some examples, the three-dimensional environment 450A / 450B has the features described above. Figure 3 Describe one or more characteristics of the 3D environment 350A / 350B.
[0053] Additionally, in some examples, as similarly described herein, electronic devices 101a and 101b are configured to display virtual content within a three-dimensional environment 450A / 450B. For example, as... Figure 4A As shown, the second electronic device 101b is displaying a virtual object 430 in a three-dimensional environment 450B. In some examples, the virtual object 430 is associated with a corresponding application running on the second electronic device 101b, such as a media player application, a web browsing application, a music player application, a virtual video game application, a document viewing application, etc. For example, the virtual object 430 is or includes content from the corresponding application running on the second electronic device 101b, such as one or more user interfaces. In some examples, as indicated by the pellet 432 associated with the virtual object 430, the virtual object 430 corresponds to a private object within a multi-user communication session. For example, the content of the virtual object 430 is private to the second user 404 at the second electronic device 101b, such that... Figure 4A As illustrated, the virtual object 430 and / or its content is visible and / or interactive to the second user 404, but invisible and / or non-interactive to the first user 402 and the third user 406 at their respective electronic devices. In some examples, as described in more detail below, the pellet 432 is optionally configured to initiate a process for sharing the content of the virtual object 430 with other users (such as the first user 402 and / or the third user 406) in a multi-user communication session. Additionally, in some examples, the virtual object 430 is displayed and / or includes a grabber or control bar 431. In some examples, as described in more detail later, the grabber bar 431 is optionally configured to initiate movement of the virtual object 430 relative to the viewpoint of the second electronic device 101b within the three-dimensional environment 450B.
[0054] exist Figure 4A In this process, the second electronic device 101b detects input corresponding to a request to share the content of the virtual object 430 in a multi-user communication session. For example, such as... Figure 4A As shown, the second electronic device 101b detects the selection of a pellet 432 associated with a virtual object 430 in the three-dimensional environment 450B, such as via an air pinch gesture performed by the hand 405 of the second user 404, optionally when the gaze 426 of the second user 404 points to the pellet 432. It should be understood that additional and / or alternative forms of input are possible, such as air tapping gestures, gaze pauses, verbal commands, etc., corresponding to the selection of the pellet 432 and / or requests to share the virtual object 430 in a multi-user communication session.
[0055] In some examples, such as Figure 4BAs shown, in response to the detection of a selection of pellet 432, the second electronic device 101b displays menu element 435 in the three-dimensional environment 450B. For example, as Figure 4B As shown, the second electronic device 101b displays a menu element 435 in a three-dimensional environment 450B, which, from the viewpoint of the second electronic device 101b, is overlaid on and / or in front of the virtual object 430. In some examples, the menu element 435 includes one or more options for selecting / specifying one or more recipients to share the content of the virtual object 430 in a multi-user communication session. For example, as... Figure 4B As shown, menu element 435 includes multiple options for designating a first user 402 (e.g., user 1) as the recipient, designating a third user 406 (e.g., user 3) as the recipient, and / or designating both the first user 402 and the third user 406 as the recipient (e.g., each person).
[0056] exist Figure 4B In this context, when menu element 435 is displayed in the three-dimensional environment 450B, the second electronic device 101b detects input corresponding to the selection of option 436 in menu element 435. For example, as... Figure 4B As shown, the second electronic device 101b detects an air pinch gesture performed by hand 405, optionally when gaze 426 points to option 436 in menu element 435 in the three-dimensional environment 450B. In some examples, as described above, the selection of option 436 corresponds to a request to designate both first user 402 and third user 406 as recipients of the content of virtual object 430 in a multi-user communication session.
[0057] In some examples, Figure 4CIn this context, when the second electronic device 101b detects a request to share the virtual object 430 in a multi-user communication session, the first electronic device 101a and the second electronic device 101b have a synchronized spatial understanding, and the second electronic device 101b and the third electronic device 101c have a synchronized spatial understanding, but the first electronic device 101a and the third electronic device 101c do not have a synchronized spatial understanding. Therefore, the first electronic device 101a and the third electronic device 101c cannot display the virtual object 430 at a location in the physical environment 400 that is synchronized with both electronic devices 101a and 101c (e.g., these electronic devices know and agree upon it), and this location will therefore be the same location where the second electronic device 101b displays the virtual object 430. In some examples, as described herein, electronic devices 101a / 101b / 101c need to coordinate and agree on the same location in the physical environment 400 to facilitate and maintain spatial realism relative to the virtual object 430 within the multi-user communication session. For example, when virtual object 430 is shared by first electronic device 101a and third electronic device 101c, virtual object 430 needs to be displayed at the same location in the physical environment 400 for each of electronic devices 101a / 101b / 101c to achieve synchronous interaction with virtual object 430 in a multi-user communication session (e.g., movement of virtual object 430, rotation of virtual object 430, resizing of virtual object 430, updating display of content of virtual object 430, etc.). Therefore, in some examples, when second electronic device 101b detects a request to share the content of virtual object 430 with first user 402 at first electronic device 101a and third user 406 at third electronic device 101c, electronic devices 101a / 101b / 101c initiate a process to determine a local shared origin in the physical environment 400, and display virtual object 430 at electronic devices 101a / 101b / 101c according to this local shared origin. For example, in Figure 4C In the process, the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c initiate the process of determining the placement position of the virtual object 430 in the shared coordinate space / system of the shared three-dimensional environment of the multi-user communication session.
[0058] In some examples, determining a local shared origin in physical environment 400 (based on which virtual object 430 is displayed at each of electronic devices 101a / 101b / 101c) is based on a local private origin established (e.g., previously) between pairs of electronic devices in a multi-user communication session. For example, in Figure 4CAs described above, the second electronic device 101b and the third electronic device 101c share a local private origin 407 in the physical environment 400. Based on this local private origin, content shared between the second electronic device 101b and the third electronic device 101c is displayed at both devices. As an example, in... Figure 4B In this context, if the second electronic device 101b detects input from the second user 404 for sharing the content of the virtual object 430 only with the third user 406, then the second electronic device 101b and the third electronic device 101c will display the virtual object 430 at its respective position relative to the local private origin 407 in their respective 3D environments. Similarly, in some examples, such as Figure 4C As shown, the second electronic device 101b and the first electronic device 101a share a local private origin 409 in the physical environment 400. Based on this local private origin, content shared between the second electronic device 101b and the first electronic device 101a is displayed at both devices. For example, in Figure 4B If the second electronic device 101b optionally detects input from the second user 404 for sharing the virtual object 430 only with the first user 402, then the second electronic device 101b and the first electronic device 101a will display the virtual object 430 at a position relative to the local private origin 409 in their respective three-dimensional environments 450B / 450A. It should be understood that the local private origin 407 / 409 is optionally not displayed and / or invisible in the shared three-dimensional environment.
[0059] In some examples, such as Figure 4C As illustrated in the top view 410, the first electronic device 101a has a first posture relative to the local private origin 409 in the physical environment 400, denoted by the transformation “e”. For example, in Figure 4C In this context, the first electronic device 101a is positioned at a first location and / or has a first orientation relative to a local private origin 409 in the physical environment 400 (e.g., based on the location and / or orientation of the first user 402 in the physical environment 400). Similarly, in Figure 4C In this context, the second electronic device 101b has a second pose relative to the local private origin 409, denoted by transformation "d", and a second pose relative to the local private origin 407, denoted by transformation "c". For example, the second electronic device 101b is positioned at a second location and / or has a second orientation relative to the local private origins 409 / 407 in the physical environment 400 (e.g., based on the location and / or orientation of the second user 404 in the physical environment 400). Additionally, in some examples, such as... Figure 4CAs illustrated in the top view 410, the third electronic device 101c has a third pose relative to the local private origin 407 in the physical environment 400, denoted by transformation “b”. For example, in Figure 4C In the physical environment 400, the third electronic device 101c is located at a third position and / or has a third orientation relative to the local private origin 407 (e.g., based on the position and / or orientation of the third user 406 in the physical environment 400).
[0060] In some examples, based on the determination that each electronic device shares a local origin in the physical environment 400, the orientation of the respective electronic device is known to another electronic device in a multi-user communication session. For example, in Figure 4C In this context, the third pose of the third electronic device 101c relative to the local private origin 407 is known to the second electronic device 101b because the third electronic device 101c and the second electronic device 101b share a coordinate space / system centered on the local private origin 407 (e.g., according to the definition of the local private origin) (e.g., the third electronic device 101c and the second electronic device 101b experience spatial reality within a multi-user communication session). For example, in... Figure 4C In this context, the first pose of the first electronic device 101a relative to the local private origin 409 is known to the second electronic device 101b because the first electronic device 101a and the second electronic device 101b share a coordinate space / system centered on the local private origin 409 in the physical environment 400 (e.g., according to the definition of the local private origin) (e.g., the first electronic device 101a and the second electronic device 101b experience spatial reality within a multi-user communication session). Furthermore, the second pose of the second electronic device 101b relative to the local private origins 407 / 409 is known to the third electronic device 101c and the first electronic device 101a, respectively, as discussed similarly above. However, as... Figure 4C As illustrated in the top view 410 and discussed similarly above, because the first electronic device 101a and the third electronic device 101c do not share a local private origin in the physical environment 400, the pose data associated with the third electronic device 101c is unknown to the first electronic device 101a, and the pose data associated with the first electronic device 101a is unknown to the third electronic device 101c.
[0061] In some examples, before the second electronic device 101b detects the input discussed above for sharing the virtual object 430 in a multi-user communication session, a local private origin 407 / 409 is established by the respective electronic device. For example, before the first electronic device 101a joins a multi-user communication session with the second electronic device 101b and the third electronic device 101c, the second electronic device 101b and the third electronic device 101c establish a local private origin 407. Furthermore, the local private origin 407 corresponds to a previous origin in the physical environment 400 that has been cached (e.g., stored in memory) by the second electronic device 101b and the third electronic device 101c, according to which content is displayed in a previous multi-user communication session including the second electronic device 101b and the third electronic device 101c (e.g., excluding the first electronic device 101a). Similarly, in some examples, before the third electronic device 101c joins a multi-user communication session with the second electronic device 101b and the first electronic device 101a, the second electronic device 101b and the first electronic device 101a establish a local private origin 409. Alternatively, in some examples, the local private origin 409 corresponds to a previous origin in the physical environment 400 that has been cached (e.g., stored in memory) by the second electronic device 101b and the first electronic device 101a, according to which content is displayed in a previous multi-user communication session including the second electronic device 101b and the first electronic device 101a (e.g., excluding the third electronic device 101c). In some examples, the local private origin 407 / 409 corresponds to a physical location in the physical environment 400. In some examples, the local private origin 407 / 409 corresponds to a physical object in the physical environment 400. For example, the local private origin 407 / 409 corresponds to a surface on a physical table, desk, chair, shelf, monitor, screen, etc., in the physical environment 400.
[0062] In some examples, as described above, the first electronic device 101a and the third electronic device 101c do not share and / or have not previously established a local private origin in the physical environment 400 (e.g., the first electronic device 101a is not currently experiencing space liveness with the third electronic device 101c in a multi-user communication session). For example, prior to the current multi-user communication session including the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c, the first electronic device 101a and the third electronic device 101c have never been in a multi-user communication session together. Additionally or alternatively, in some examples, the first electronic device 101a and the third electronic device 101c have never been in a multi-user communication session together in a particular physical environment 400.
[0063] In some examples, such as Figure 4CAs illustrated in the top view 410, from the perspective of the first user 402 at the first electronic device 101a, the local shared origin in the physical environment 400 is represented by the transformation "f". For example, the transformation "f" indicates to the first electronic device 101a the pose of the virtual object 430 (e.g., labeled "scene" in the top view 410), that is, the position and / or orientation of the virtual object 430 in the three-dimensional environment 450A presented at the first electronic device 101a. Figure 4C Although the determination of the local shared origin is illustrated and described below according to the placement of the virtual object 430, the local shared origin may optionally correspond to a position in the physical environment 400 that is different from the placement of the virtual object 430 in the top view 410.
[0064] In some examples, such as Figure 4D As illustrated in top view 410, a local shared origin (e.g., and therefore the placement position of the virtual object 430) in physical environment 400 is determined by coordinating local private origins 407 / 409 in the physical environment. For example, as indicated in top view 410, the placement position of the virtual object 430 relative to the first electronic device 101a in physical environment 400 is determined by performing transformation calculations (e.g., matrix multiplication of the relative pose of the electronic devices). In some examples, the second electronic device 101b and the third electronic device 101c provide the first electronic device 101a with pose data relative to the local private origins 407 / 409, which enables the first electronic device 101a to perform transformation calculations for “f”. Specifically, in Figure 4D In this context, because the third electronic device 101c has synchronized with the second electronic device 101b to the shared coordinate space via its local private origin 407, the third electronic device 101c knows the placement position of the virtual object 430 in the physical environment 400, as indicated by transformation "a" in the top view 410. Therefore, the third electronic device 101c transmits data including transformation "a" to the first electronic device 101a (e.g., directly or indirectly via a server), which indicates the placement position of the virtual object 430 relative to the third electronic device 101c in the physical environment 400. Similarly, the first electronic device 101a receives and / or obtains: including the inverse of transformation "b" (e.g., Figure 4D The data includes "b-1"), the inverse of which indicates the orientation of the third electronic device 101c relative to the local private origin 407; data including transformation "c", which indicates the position of the local private origin 407 relative to the second electronic device 101b in the physical environment 400; and the inverse of transformation "d" (e.g., Figure 4DThe data includes "d-1"), the inverse of which indicates the orientation of the second electronic device 101b relative to the local private origin 409; and data including the transformation "e", which indicates the position of the local private origin 407 relative to the first electronic device 101a in the physical environment 400. In the calculation... Figure 4D When the transformation "f" occurs, the first electronic device 101a determines the placement position of the virtual object 430 within the three-dimensional environment 450A presented at the first electronic device 101a. This placement position corresponds to the same position in the physical environment 400 known to the second electronic device 101b and the third electronic device 101c. In this way, spatial real-time is thus achieved for all users in a multi-user communication session, enabling the virtual object 430 to be positioned at the same location relative to the local shared origin in the physical environment 400, such as... Figure 4E exemplified.
[0065] It should be understood that a similar method may optionally be performed by the third electronic device 101c to synchronously understand the position and orientation of the first electronic device 101a in the physical environment 400. The above method enables the first electronic device 101a and the third electronic device 101c to determine the true (e.g., most accurate and / or more accurate) transformations (e.g., position and orientation) of another electronic device in the physical environment 400, thereby enabling the first electronic device 101a and the third electronic device 101c to coordinate their local shared origin in the physical environment 400 with the second electronic device 101b to achieve coordinated display of the virtual object 430, as a benefit.
[0066] like Figure 4E As shown, when the virtual object 430 is displayed at its placement location relative to a local shared origin in the physical environment 400, the content of the virtual object 430 is visible and / or interactive to the respective electronic devices of the first user 402, the second user 404, and the third user 406. For example, as indicated by the pellet 432 associated with the virtual object 430, the virtual object 430 is shared in a multi-user communication session (e.g., the virtual object 430 corresponds to a shared object as discussed earlier herein).
[0067] In some examples, if a new co-located user (e.g., a fourth user of a fourth electronic device) joins a multi-user communication session including a first user 402, a second user 404, and a third user 406, the electronic device associated with the new user (e.g., the fourth electronic device) can be synchronized to a local shared origin in the physical environment 400 previously coordinated by electronic devices 101a / 101b / 101c in the multi-user communication session (e.g., and the display of the virtual object 430 thus remains in the same position and / or orientation relative to the local shared origin, such as...). Figure 4E(As illustrated). Alternatively, in some examples, the first electronic device 101a, the second electronic device 101b, the third electronic device 101c, and the new fourth electronic device in a multi-user communication session coordinate to select a new / updated local shared origin in the physical environment 400, optionally by synchronizing the understanding of the location and orientation of the fourth electronic device in the physical environment 400 through a method similar to that described above (e.g., utilizing a known origin in the physical environment 400).
[0068] Therefore, a local shared origin is also used as a reference for further interactions with the virtual object 430 (such as movement and / or rotation of the virtual object 430) performed in response to user input and / or the display of other or alternatively shared virtual objects in the shared 3D environment. This enables the first user 402, the second user 404, and the third user 406 to experience spatial realism within a multi-user communication session, which advantageously promotes an improved user experience and user perception of the virtual content, as discussed below.
[0069] exist Figure 4F In this context, when a virtual object 430 is displayed in a three-dimensional environment 450A, the first electronic device 101a detects input corresponding to a request to move the virtual object 430 within the three-dimensional environment 450A from the viewpoint of the first electronic device 101a. For example, as Figure 4F As shown, the first electronic device 101a detects an air pinch and drag gesture performed by the hand 405 of the first user 402, optionally when the gaze 426 of the first user 402 is directed towards the grabber bar 431 in the three-dimensional environment 450A. In some examples, such as Figure 4F As indicated, the movement of hand 405 corresponds to a request to move virtual object 430 away from the viewpoint of first electronic device 101a in three-dimensional environment 450A.
[0070] In some examples, in response to detecting input provided by hand 405, the first electronic device 101a moves the virtual object 430 within the aforementioned three-dimensional environment 450A based on the movement of hand 405. For example, as Figure 4G As illustrated in the top view 410, the first electronic device 101a moves a virtual object 430 (e.g., a "scene") away from the viewpoint of the first electronic device 101a, such that the virtual object 430 is located in the physical environment 400 at a viewpoint farther from the first electronic device 101a than... Figure 4F At a greater distance. In some examples, the movement of the virtual object 430 in response to input provided by the first user 402 corresponds to an event that updates the value of the transformation "f". For example, as Figure 4GAs indicated by the update value “g”, the movement of the virtual object 430 causes the virtual object 430 to have an updated pose (e.g., updated position and / or updated orientation) relative to the viewpoint of the first electronic device 101a in the physical environment.
[0071] In some examples, because virtual object 430 is a shared object in a multi-user communication session, movement of virtual object 430 at the first electronic device 101a also correspondingly causes virtual object 430 to move at the second electronic device 101b and the third electronic device 101c (e.g., based on the direction and / or magnitude of movement of virtual object 430 at the first electronic device 101a). In some examples, as described above, the second electronic device 101b and the third electronic device 101c cause virtual object 430 to move relative to a local shared origin in the physical environment 400. Specifically, in some examples, the second electronic device 101b and / or the third electronic device 101c locally update the transformation of the top view 410, which allows virtual object 430 to be repositioned for the second user 404 and the third user 406 in the same manner as the first user 402 at the first electronic device 101a. For example, as Figure 4H As illustrated in the top view 410, the third electronic device 101c determines the updated placement position of the virtual object 430 by updating transformation "a" (e.g., updating based on the movement of the virtual object 430 at the first electronic device 101a), which corresponds to (e.g., equals) various transformations "f" (e.g., equal to, as described above). Figure 4H The transformation calculations of “g”, “e-1”, “d”, “c-1”, and “b” in the equation. Figure 4H In the example, the updated transformation "f" includes an indication of the updated pose (e.g., updated position and / or orientation) of the virtual object 430 relative to the first electronic device 101a in the physical environment 400. For example, determining and / or obtaining the updated transformation "f" provides the third electronic device 101c with an indication of the updated distance between the first electronic device 101a and the updated position of the virtual object 430 in the physical environment 400. As previously described above, when a local shared origin is initially determined for a multi-user communication session, allowing users 402 / 404 / 406 to experience spatial realism at their respective electronic devices, the pose data associated with the first electronic device 101a relative to the local shared origin can be shared with the third electronic device 101c, enabling the third electronic device 101c to determine the distance between the first electronic device 101a and the virtual object 430 in the physical environment 400 (e.g., before the virtual object 430 is moved). Therefore, the updated placement position of the virtual object 430 is determined by performing transformation calculations similar to those described above. Figure 4HAs shown in top view 410. For example, the third electronic device 101c performs transformation calculations based on data provided by and / or obtained from the first electronic device 101a and / or the second electronic device 101b, such as transformation "e-1", which indicates the orientation of the first electronic device 101a relative to the local private origin 409; transformation "d", which indicates the position of the local private origin 409 relative to the second electronic device 101b; transformation "c-1", which indicates the orientation of the second electronic device 101b relative to the local private origin 407; and transformation "b", which indicates the position of the local private origin 407 relative to the third electronic device 101c. It should be understood that a similar method is optionally performed by the second electronic device 101b to synchronously understand the updated position and / or orientation of the virtual object 430 in the physical environment 400.
[0072] In some examples, such as Figure 4I As shown, when the updated placement is synchronized across electronic devices 101a / 101b / 101c, the display of virtual object 430 is updated in the shared 3D environment. For example, as... Figure 4I As shown, the first electronic device 101a moves the virtual object 430 away from the viewpoint of the first electronic device 101a in the three-dimensional environment 450A (e.g., and towards the third user 406 relative to the viewpoint of the first electronic device 101a), and the second electronic device 101b moves the virtual object 430 to the left relative to the viewpoint of the second electronic device 101b in the three-dimensional environment 450B based on the movement input detected by the first electronic device 101a.
[0073] Now, attention turns to alternative or additional examples that facilitate the determination of a local shared origin in the physical environment, based on which shared content is displayed in a three-dimensional environment within a multi-user communication session that includes co-located users.
[0074] Figures 5A to 5C Examples of determining a local shared origin in a physical environment according to some examples of this disclosure are illustrated, based on which shared content is displayed in a three-dimensional environment within a multi-user communication session. In some examples, the multi-user communication session includes a first user 502 of a first electronic device 101a, a second user 504 of a second electronic device 101b, and a third user 506 of a third electronic device 101c. In some examples, the first user 502, the second user 504, and the third user 506 correspond respectively to the above... Figures 4A to 4IThe first user 402, the second user 404, and the third user 406. In some examples, as described similarly above, the first user 502 (e.g., and the first electronic device 101a), the second user 504 (e.g., and the second electronic device 101b) and the third user 506 (e.g., and the third electronic device 101c) are placed together in the physical environment 500.
[0075] like Figure 5A As shown, the first electronic device 101a is (e.g., via display 120a) presenting a three-dimensional environment 550A. Figure 5A In this context, as discussed similarly above, the three-dimensional environment 550A includes a representation (e.g., a pass-through representation or a computer-generated representation) of the physical environment 500 in which the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c reside, but viewed from the perspective of the first electronic device 101a within the physical environment 500. For example, as... Figure 5A As shown, the three-dimensional environment 550A presented using the first electronic device 101a includes representations of the walls, floor, and / or ceiling of the physical environment 500 as seen from the unique viewpoint of the first electronic device 101a. Additionally, in some examples, as discussed similarly above, the three-dimensional environment 550A includes representations (e.g., pass-through or computer-generated representations) of a second user 504 (e.g., and the second electronic device 101b) and a third user 506 (e.g., and the third electronic device 101c) visible in the field of view of the first electronic device 101a within the physical environment 500. For example, because the second user 504 and the third user 506 are juxtaposed with the first user 502 in the physical environment 500, the second user 504 and the third user 506 visible in the field of view of the first electronic device 101a are represented by their physical entities within the three-dimensional environment 550A within the multi-user communication session (e.g., rather than via virtual representations such as avatars). In some examples, the three-dimensional environment 550A has one or more characteristics of the three-dimensional environment 450A discussed above.
[0076] Additionally, in some examples, such as Figure 5A As shown, the second electronic device 101b is (e.g., via display 120b) presenting a three-dimensional environment 550B. Figure 5A In this context, as discussed similarly above, the three-dimensional environment 550B includes a representation (e.g., a pass-through representation or a computer-generated representation) of the physical environment 500 in which the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c reside, but viewed from the perspective of the second electronic device 101b within the physical environment 500. For example, as... Figure 5AAs shown, the three-dimensional environment 550B presented using the second electronic device 101b includes representations of the walls, floor, and / or ceiling of the physical environment 500 as seen from the unique viewpoint of the second electronic device 101b. Additionally, in some examples, as discussed similarly above, the three-dimensional environment 550B includes representations (e.g., pass-through or computer-generated representations) of a first user 502 (e.g., and the first electronic device 101a) and a third user 506 (e.g., and the third electronic device 101c) visible in the field of view of the second electronic device 101b within the physical environment 500. For example, because the first user 502 and the third user 506 are juxtaposed with the second user 504 in the physical environment 500, the first user 502 and the third user 506 visible in the field of view of the second electronic device 101b are represented by their physical entities within the three-dimensional environment 550B within the multi-user communication session (e.g., rather than via virtual representations such as avatars). In some examples, the three-dimensional environment 550B has one or more of the characteristics of the three-dimensional environment 450B discussed above.
[0077] In some examples, such as Figure 5A As shown and discussed similarly above, the second electronic device 101b is displaying a virtual object 530 within a three-dimensional environment 550B. In some examples, such as Figure 5A As indicated by the pellet 532, the virtual object 530 corresponds to a private object in a multi-user communication session. For example, as discussed similarly above, the content of the virtual object 530 is visible and / or interactive at the second electronic device 101b to the second user 504, but invisible and / or not interactive at the respective electronic devices of the first user 502 and the third user 506. In some examples, such as... Figure 5A As shown, the virtual object 530 includes a grabber or control bar 531 and / or is displayed together with the grabber or control bar, which is optional to initiate movement of the virtual object 530 relative to the viewpoint of the second electronic device 101b within the three-dimensional environment 550B. In some examples, as discussed similarly above, a pellet 532 is optional to initiate a process of sharing the content of the virtual object 530 in a multi-user communication session. In some examples, the virtual object 530 corresponds to the virtual object 430 described above.
[0078] In some examples, such as Figure 5A As illustrated in the top view 510, each user in a multi-user communication session is associated with a local origin in the physical environment 500. For example, as... Figure 5AAs shown, a first user 502 is associated with a local origin 507, a second user 504 is associated with a local origin 509, and a third user 506 is associated with a local origin 511. In some examples, local origins 507 / 509 / 511 are determined by electronic devices 101a / 101b / 101c. For example, local origin 507 in physical environment 500 is determined by the first electronic device 101a, local origin 509 is determined by the second electronic device 101b, and local origin 511 is determined by the third electronic device 101c. In some examples, local origins 507 / 509 / 511 correspond to (e.g., different) physical locations in physical environment 500. In some examples, local origins 507 / 509 / 511 correspond to (e.g., different) physical objects in physical environment 500. For example, local origins 507 / 509 / 511 correspond to the surfaces of different physical objects in physical environment 500, such as desks, tables, chairs, shelves, monitors, screens, devices, etc. In some examples, when electronic devices 101a / 101b / 101c initially join a multi-user communication session, electronic devices 101a / 101b / 101c automatically (e.g., without user input) determine local origins 507 / 509 / 511. For example, local origin 507 is located at a default position and / or default distance from the first electronic device 101a in physical environment 500, local origin 509 is located at a default position and / or default distance from the second electronic device 101b in physical environment 500, and local origin 511 is located at a default position and / or default distance from the third electronic device 101c in physical environment 500. In some examples, as referenced above... Figures 4A to 4I Similar to the local origin described in the text, local origins 507 / 509 / 511 in the physical environment 500 are used as center points and / or anchor points, based on which virtual coordinate spaces / systems (e.g., for displaying virtual content) are defined at electronic devices 101a / 101b / 101c. For example, in... Figure 5A In this context, because the virtual object 530 is private to the second user 504 in a multi-user communication session, the second electronic device 101b is displaying the virtual object 530 in the three-dimensional environment 550B relative to the local origin 509 associated with the second user 504 in the physical environment 500.
[0079] exist Figure 5A In this process, the second electronic device 101b detects input corresponding to a request to share the content of the virtual object 530 with other users in a multi-user communication session. For example, such as... Figure 5AAs shown, the second electronic device 101b detects an air-pinch gesture provided by the hand 505 of the second user 504, pointing towards the pellet 532 in the three-dimensional environment 550B (e.g., when the gaze 526 of the second user 504 points towards the pellet 532). In some examples, as referenced above... Figure 4B Similarly, the input includes the selection / designation (e.g., via a method similar to) of one or more recipients (such as the first user 502 and / or the third user 506) of the content of the shared virtual object 530 in a multi-user communication session. Figure 4B Menu element 435 in the menu element is used to select / specify).
[0080] In some examples, when the second electronic device 101b detects the aforementioned input corresponding to a request to share the content of the virtual object 530 in a multi-user communication session, the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c determine a local shared origin in the physical environment 500, based on which the virtual object 530 will be displayed at the electronic devices 101a / 101b / 101c. For example, as discussed similarly above, the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c display the virtual object 530 at a position relative to the same anchor point in the shared three-dimensional environment 500 and / or with the orientation of that position. In some examples, as described below, the local shared origin in the physical environment 500 is selected from local origins 507 / 509 / 511 associated with users of the electronic devices 101a / 101b / 101c in the multi-user communication session.
[0081] In some examples, each user (e.g., each participant) in a multi-user communication session is associated with a Universally Unique Identifier (UUID), which identifies the corresponding user to other electronic devices in the multi-user communication session. In some examples, the corresponding UUID associated with a corresponding user is determined and / or generated by the electronic device associated with that user. In some examples, the corresponding UUID associated with a corresponding user is determined and / or generated by the host server (e.g., a wireless communication terminal) of the multi-user communication session associated with the electronic device associated with that user. In some examples, the UUIDs of the first user 502, the second user 504, and the third user 506 are different from each other. In some examples, the UUIDs of the first user 502, the second user 504, and the third user 506 are configured to be exchanged between the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c.
[0082] In some examples, such as Figure 5BAs illustrated by image character 515, the corresponding UUID 517 includes (e.g., randomized) a sequence of bits (e.g., having a predetermined length and / or a default length, such as 64, 128, 256 bits). Additionally, in some examples, the corresponding UUID 517 represents the local origin associated with the corresponding user in the physical environment 500. For example, if the corresponding UUID 517 is... Figure 5A If the first user 502 is associated with a local origin 507 in the physical environment 500, then the corresponding UUID 517 represents the local origin 507 in the physical environment 500. In some examples, the corresponding UUID 517 can be modified to include a communication session identifier and a participant identifier. For example, in Figure 5B In the image character 515, the “A” bit of the corresponding UUID 517 (e.g., corresponding to the top number of the bit (e.g., the upper half)) may represent and / or correspond to a communication session identifier (e.g., including the current multi-user communication session of users 502 / 504 / 506), and the “B” bit of the corresponding UUID 517 (e.g., corresponding to the bottom number of the bit (e.g., the lower half)) may represent and / or correspond to a participant identifier of the corresponding user associated with the corresponding UUID 517.
[0083] In some examples, when the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c determine a local shared origin in the physical environment 500 for coordinating the display of virtual objects 530 within a multi-user communication session, the electronic devices 101a / 101b / 101c use a communication session identifier (e.g., the “A” bit of the corresponding UUID 517 described above) to identify each other. For example, as discussed above, the first user 502, the second user 504, and the third user 506 are each associated with a UUID that includes the same communication session identifier (e.g., because users 502 / 504 / 506 are in the same multi-user communication session via their respective electronic devices). Therefore, in some examples, if the physical environment 500 includes a fourth user of a fourth electronic device that is not participating in the same multi-user communication session as the electronic devices 101a / 101b / 101c, the UUID associated with that fourth user will include a different communication session identifier. In some examples, after the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c recognize each other as having the same communication session identifier, the electronic devices 101a / 101b / 101c determine which user is associated with a UUID that includes a participant identifier that meets one or more selection criteria, as discussed below. In some examples, after determining the participant identifier that meets one or more selection criteria, the electronic devices 101a / 101b / 101c select a local shared origin to correspond to the local origin associated with the user associated with the selected participant identifier.
[0084] In some examples, one or more selection criteria are met based on values associated with the participant identifier of each user in a multi-user communication session. For example, as mentioned above, the participant identifier includes a certain number of bits that are collectively equal to a binary number (e.g., ...). Figure 5B (The "B" bit of the corresponding UUID 517 in the [reference]). In some examples, electronic devices 101a / 101b / 101c determine whether a participant identifier satisfies one or more selection criteria by comparing values (e.g., binary numbers) associated with the participant identifiers of users 502 / 504 / 506. Specifically, in some examples, the participant identifier with the lowest value among the participant identifiers associated with the first user 502, the second user 504, and the third user 506 is determined to satisfy one or more selection criteria. Alternatively, in some examples, the participant identifier with the highest value among the participant identifiers associated with the first user 502, the second user 504, and the third user 506 is determined to satisfy one or more selection criteria. It should be understood that in some examples, additional or alternative mathematical comparisons may be performed using bits of the participant identifiers of users in a multi-user communication session for the purpose of determining satisfaction of one or more selection criteria.
[0085] exist Figure 5C In this context, the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c determine that the participant identifier associated with the second user 504 meets one or more of the aforementioned selection criteria. For example, the first electronic device 101a, the second electronic device 101b, and the third electronic device 101c determine, based on analysis of the UUIDs associated with the first user 502, the second user 504, and the third user 506, that the participant identifier of the second user 504 has the lowest value (e.g., the lowest binary number) compared to the participant identifiers of the first user 502 and the third user 506. In some examples, as similarly mentioned above, based on the determination that the participant identifier associated with the second user 504 meets one or more selection criteria, the local shared origin in the physical environment 500 is selected as the local origin 509 in the physical environment 500 and / or corresponds to it. For example, as... Figure 5C As illustrated in the top view 510, the local origin 509 is selected as the local shared origin in the physical environment 500, based on which the virtual object 530 is displayed in a multi-user communication session after being shared with the first user 502 and the third user 506. In some examples, such as Figure 5C As shown, when the content of the virtual object 530 is shared in a multi-user communication session, the virtual object 530 is displayed at each of the electronic devices 101a / 101b / 101c with a position and / or orientation relative to the local origin 509 in the physical environment 500.
[0086] Therefore, as described above, providing a method for effectively and efficiently determining a local shared origin in a physical environment (based on which shared content is displayed in a shared 3D environment within a multi-user communication session without requiring users in the multi-user communication session to provide input specifying the local shared origin) helps simplify and / or reduce user interactions required for sharing content within a multi-user communication session, which is one benefit. Furthermore, using the local shared origin as a reference for further interactions with the virtual object 530 (such as movement and / or rotation of the virtual object 530) performed in response to user input and / or the display of additional or alternative shared virtual objects in the shared 3D environment, thereby enabling the first user 502, the second user 504, and the third user 506 to experience spatial realism within the multi-user communication session, will promote an improved user experience and user perception of the virtual content, which is another benefit.
[0087] Additionally, in some examples, after the local shared origin is selected as the local origin 509 associated with the second user 504, such as Figure 5C As shown in top view 510, the participant identifier of the UUID associated with the second user 504 can be cached / stored in memory, such as in cloud-based memory, memory of one or more of the electronic devices 101a / 101b / 101c, and external hard disk drives and / or other forms of memory. In some examples, the storage of the participant identifier allows the local origin 509 in the physical environment 500 (e.g., which corresponds to the local shared origin in the physical environment 500 as discussed above) to also be stored (e.g., because the UUID associated with the second user 504 represents the local origin 509 in the physical environment 500 as discussed above). In some examples, after the participant identifier of the second user 504 is stored, the participant identifier can be used to invoke a previously used origin in the physical environment 500 (e.g., such as the local origin 509) during facilitating future multi-user communication sessions. For example, if the second user 504 of the second electronic device 101b joins future multi-user communication with co-located users in the physical environment 500, including when the second user 504 leaves... Figure 5CIf a user rejoins a current multi-user communication session while the session is still active at a later time, the previous local shared origin (e.g., local origin 509) will be used as a reference for displaying shared content within the multi-user communication session, as discussed similarly above. Similarly, in some examples, if a new co-located user (e.g., a fourth user of a fourth electronic device) joins a multi-user communication session including first user 502, second user 504, and third user 506, the electronic device associated with the new user (e.g., the fourth electronic device) can be synchronized to the local shared origin (e.g., local origin 509) in the physical environment 500 previously coordinated by electronic devices 101a / 101b / 101c in the multi-user communication session. Thus, the display of virtual objects 530 remains in the same position and / or orientation relative to the local shared origin, as discussed above. Figure 5C (As illustrated). Alternatively or concurrently, a previously local shared origin cached in memory in the manner described above may correspond to a private local origin for synchronization between electronic device pairs in physical environment 500, such as the one referenced above. Figure 4C The aforementioned local private origin 407 / 409.
[0088] It should be understood that the examples shown and described herein are merely exemplary, and additional and / or alternative elements may be provided within a three-dimensional environment to facilitate content sharing in multi-user communication sessions including co-located users. It should be understood that the appearance, shape, form, and size of each of the various user interface elements and objects shown and described herein are exemplary, and alternative appearances, shapes, forms, and / or sizes may be provided. For example, virtual objects representing user interfaces (e.g., virtual objects 430 and 530 and / or menu element 435) may be provided in alternative shapes (e.g., circular shapes, triangular shapes, etc.) other than rectangular shapes. In some examples, the various selectable power representations described herein (e.g., options 436 and / or pellets 432 and 532) may be verbally selected via user verbal commands (e.g., verbal commands such as “select an option” or “select a virtual object”). Additionally or alternatively, in some examples, the various options, user interface elements, control elements, etc., described herein may be selected and / or manipulated via user input received through one or more separate input devices in communication with an electronic device. For example, selection input can be received via a physical input device (such as a mouse, touchpad, keyboard, etc.) that communicates with an electronic device.
[0089] Figure 6A flowchart illustrating an exemplary process for determining a local shared origin in a physical environment, according to some examples of this disclosure, is provided for displaying shared content in a three-dimensional environment within a multi-user communication session based on this local shared origin. In some examples, process 600 begins at a first electronic device communicating with one or more displays and one or more input devices, wherein the first electronic device is juxtaposed with a second electronic device and a third electronic device in the physical environment. In some examples, the first electronic device, the second electronic device, and the third electronic device are optionally similar to or corresponding to... Figure 2 Electronic devices 260 and 270 and / or Figure 1 The head-mounted display of electronic device 101. For example... Figure 6 As shown, in some examples, at 602, the first electronic device detects an indication of a request to participate in shared activities with the second and third electronic devices, wherein the first and second electronic devices share a first origin in the physical environment, and content is rendered in the three-dimensional environment based on this first origin. For example, as Figure 4B As illustrated, the second electronic device 101b detects a selection of option 436 in menu element 435 provided by hand 405, which corresponds to a request to share the content of virtual object 430 with the first electronic device 101a and the third electronic device 101c. Additionally, in some examples, such as Figure 4C As illustrated in the top view 410, the first electronic device 101a shares a local private origin 409 with the second electronic device 101b in the physical environment 400.
[0090] In some examples, at step 604, in response to a detected indication, the first electronic device enters a communication session comprising the first electronic device, the second electronic device, and the third electronic device. For example, see reference... Figure 4C The second electronic device 101b initiates a process of sharing the content of the virtual object 430 with the first electronic device 101a and the third electronic device 101c. In some examples, at 606, the first electronic device obtains first data corresponding to a second origin in the physical environment, wherein this second origin is shared between the second and third electronic devices. For example, the first electronic device 101a receives data corresponding to a local private origin 407, which... Figure 4D The top view 410 is shared between the second electronic device 101b and the third electronic device 101c.
[0091] In some examples, at 608, the first electronic device uses first data and second data corresponding to a first origin in the physical environment to determine a shared origin in the physical environment. For example, as referenced... Figure 4DThe first electronic device 101a calculates a transformation "f" instructing the placement position of the virtual object 430 in the physical environment 400, thereby determining a local shared origin in the physical environment 400. In some examples, at 610, the first electronic device presents an object corresponding to a shared activity at a first location in the three-dimensional environment relative to the shared origin via one or more displays. For example, as... Figure 4E As shown, the first electronic device 101a is in a three-dimensional environment 450A. Figure 4D The virtual object 430 is displayed at the placement location indicated by the top view 410.
[0092] It should be understood that process 600 is an example, and more, fewer, or different operations may be performed in the same or different order. Additionally, the operations in process 600 described above may optionally be performed by running a general-purpose processor (e.g., as per [reference to...]). Figure 2 (as described) one or more functional modules in an information processing device or dedicated chip and / or by Figure 2 It is achieved through other components.
[0093] Therefore, based on the foregoing, some examples of this disclosure relate to a method comprising: at a first electronic device communicating with one or more displays and one or more input devices, wherein the first electronic device is juxtaposed with a second electronic device and a third electronic device in a physical environment; detecting an indication of a request to participate in a shared activity with the second and third electronic devices, wherein the first and second electronic devices share a first origin in the physical environment, and presenting content in a three-dimensional environment based on the first origin; and in response to detecting the indication, entering a communication session including the first electronic device, the second electronic device, and the third electronic device, the entry comprising: obtaining first data corresponding to a second origin in the physical environment, wherein the second origin is shared between the second and third electronic devices; using the first data and second data corresponding to the first origin in the physical environment to determine a shared origin in the physical environment; and presenting an object corresponding to the shared activity at a first location in the three-dimensional environment relative to the shared origin via one or more displays.
[0094] Alternatively or alternatively, in some examples, a first origin in the physical environment corresponds to a first physical location in the physical environment, and a second origin in the physical environment corresponds to a second physical location in the physical environment that is different from the first physical location. Alternatively or alternatively, in some examples, a first origin in the physical environment corresponds to a first physical object in the physical environment, and a second origin in the physical environment corresponds to a second physical object in the physical environment that is different from the first physical object. Alternatively or alternatively, in some examples, the first origin in the physical environment is determined based on first corresponding data exchanged between a first electronic device and a second electronic device, and the second origin in the physical environment is determined based on second corresponding data exchanged between a second electronic device and a third electronic device, wherein the first corresponding data is exchanged independently of the second corresponding data. Alternatively or alternatively, in some examples, the first origin and the second origin are determined before the first electronic device detects an indication of a request to participate in shared activities with the second and third electronic devices. Alternatively or alternatively, in some examples, determining the shared origin in the physical environment using the first data and the second data includes: calculating the product of at least a first transformation associated with the first origin and a second transformation associated with the second origin. Alternatively, in some examples, the second transformation includes an indication of the position and / or orientation of the third electronic device relative to a second origin in the physical environment. Alternatively, in some examples, the first transformation includes an indication of the position and / or orientation of the second electronic device relative to a first origin in the physical environment.
[0095] Alternatively, in some examples, the method further includes, after presenting an object corresponding to a shared activity at a first location in the three-dimensional environment relative to a shared origin, transmitting third data corresponding to the shared origin in the physical environment to the second and third electronic devices. Alternatively, in some examples, the method further includes: when presenting the object corresponding to the shared activity at the first location in the three-dimensional environment relative to the shared origin, detecting an indication of input corresponding to a request to move the object in the three-dimensional environment; and in response to detecting the indication, moving the object in the three-dimensional environment from the first location to a second location different from the first location relative to the shared origin based on the input. Alternatively, in some examples, the indication of input corresponds to input provided by a user of the second electronic device detected by the second electronic device, and the object moves from the first location to the second location relative to the shared origin in the three-dimensional environment based on corresponding data provided by the second electronic device corresponding to the movement of the object relative to the shared origin. Alternatively, in some examples, determining the shared origin in the physical environment using the first and second data includes: synchronizing from multiple session identifiers associated with the user of the first electronic device, the user of the second electronic device, and the user of the third electronic device to the corresponding session identifiers. Alternatively or in some examples, the first session identifier among the plurality of session identifiers includes first identification data corresponding to a communication session and second identification data corresponding to a user of the first electronic device; the second session identifier among the plurality of session identifiers includes first identification data corresponding to a communication session and third identification data corresponding to a user of the second electronic device; and the third session identifier among the plurality of session identifiers includes first identification data corresponding to a communication session and fourth identification data corresponding to a user of the third electronic device.
[0096] Alternatively or alternatively, in some examples, a shared origin corresponds to a first origin based on determining that first identification data satisfies one or more selection criteria, and a shared origin corresponds to a second origin based on determining that third identification data satisfies one or more selection criteria. Alternatively or alternatively, in some examples, the one or more selection criteria are based on values associated with corresponding identification data of a user corresponding to a respective electronic device. Alternatively or alternatively, in some examples, a shared origin corresponds to a first origin based on determining that the first origin corresponds to a previously coordinated shared origin in the physical environment, and a shared origin corresponds to a second origin based on determining that the second origin corresponds to a previously coordinated shared origin in the physical environment. Alternatively or alternatively, in some examples, the method further includes: determining an indication of a request to add a fourth electronic device to a communication session when an object corresponding to a shared activity is presented relative to the shared origin at a first location in the three-dimensional environment, wherein the fourth electronic device is juxtaposed with the first, second, and third electronic devices in the physical environment; and, in response to detecting the indication, adding the fourth electronic device to a communication session including the first, second, and third electronic devices, the addition including maintaining the display of the object corresponding to the shared activity relative to the shared origin at the first location in the three-dimensional environment via one or more displays. Additionally or alternatively, in some examples, the method further includes: detecting an indication of a request to add a fourth electronic device to a communication session when an object corresponding to a shared activity is presented relative to a shared origin at a first location in a three-dimensional environment, wherein the fourth electronic device is juxtaposed with the first, second, and third electronic devices in a physical environment; and adding the fourth electronic device to the communication session including the first, second, and third electronic devices in response to detecting the indication, the addition including: obtaining third data corresponding to a third origin in the physical environment, wherein a second origin is shared between the fourth and third electronic devices; determining a second shared origin in the physical environment using the first, second, and third data; and updating the display of the object corresponding to the shared activity via one or more displays to display it relative to the second shared origin at a second location in the three-dimensional environment different from the first location.
[0097] Some examples of this disclosure relate to an electronic device comprising: one or more processors; a memory; and one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing any of the methods described above.
[0098] Some examples of this disclosure relate to a non-transitory computer-readable storage medium that stores one or more programs, the one or more programs including instructions that, when executed by one or more processors of an electronic device, cause the electronic device to perform any of the methods described above.
[0099] Some examples of this disclosure relate to an electronic device that includes one or more processors, a memory, and components for performing any of the methods described above.
[0100] Some examples of this disclosure relate to an information processing apparatus used in an electronic device, the information processing apparatus including components for performing any of the methods described above.
[0101] For purposes of explanation, the foregoing description has been presented with reference to specific examples. However, the illustrative discussion above is not intended to be exhaustive or to limit this disclosure to the precise form disclosed. Many modifications and variations are possible based on the teachings above. The examples were chosen and described to best elucidate the principles of this disclosure and its practical application, thereby enabling others skilled in the art to make optimal use of this disclosure with various modifications suitable for the particular intended purpose, as well as the various described examples.
Claims
1. A method, the method comprising: At a first electronic device that communicates with one or more displays and one or more input devices, wherein the first electronic device is juxtaposed with a second electronic device and a third electronic device in a physical environment: Detects indications of requests to participate in shared activities with the second and third electronic devices, wherein the first and second electronic devices share a first origin in the physical environment, and content is rendered in a three-dimensional environment based on the first origin; as well as In response to detecting the indication, entering a communication session including the first electronic device, the second electronic device, and the third electronic device includes: Obtain first data corresponding to a second origin in the physical environment, wherein the second origin is shared between the second electronic device and the third electronic device; The shared origin in the physical environment is determined using the first data and the second data corresponding to the first origin in the physical environment; and The object corresponding to the shared activity is presented at a first position relative to the shared origin in the three-dimensional environment via the one or more displays.
2. The method according to claim 1, wherein the first origin in the physical environment corresponds to a first physical location in the physical environment, and the second origin in the physical environment corresponds to a second physical location in the physical environment that is different from the first physical location.
3. The method according to claim 1, wherein the first origin in the physical environment corresponds to a first physical object in the physical environment, and the second origin in the physical environment corresponds to a second physical object in the physical environment that is different from the first physical object.
4. The method according to claim 1, wherein: The first origin in the physical environment is determined based on the first corresponding data exchanged between the first electronic device and the second electronic device; The second origin in the physical environment is determined based on second corresponding data exchanged between the second electronic device and the third electronic device; and The first corresponding data is exchanged independently of the second corresponding data.
5. The method of claim 4, wherein the first origin and the second origin are determined before the first electronic device detects the indication of the request to participate in the sharing activity with the second electronic device and the third electronic device.
6. The method of claim 1, wherein using the first data and the second data to determine the shared origin in the physical environment comprises calculating the product of at least the following: a first transformation associated with the first origin and a second transformation associated with the second origin.
7. The method of claim 6, wherein the second transformation includes an indication of the position and / or orientation of the third electronic device relative to the second origin in the physical environment.
8. The method of claim 6, wherein the first transformation includes an indication of the position and / or orientation of the second electronic device relative to the first origin in the physical environment.
9. The method according to claim 1, further comprising: After presenting the object corresponding to the shared activity at the first position relative to the shared origin in the three-dimensional environment, third data corresponding to the shared origin in the physical environment is sent to the second electronic device and the third electronic device.
10. The method according to claim 1, further comprising: When the object corresponding to the shared activity is presented at the first position relative to the shared origin in the three-dimensional environment, an indication of input corresponding to a request to move the object in the three-dimensional environment is detected; as well as In response to the detection of the indication: Based on the input, the object is moved from the first position to a second position in the three-dimensional environment relative to the shared origin, wherein the second position is different from the first position.
11. The method of claim 10, wherein: The indication of input corresponds to the input provided by the user of the second electronic device, which is detected by the second electronic device; and Based on corresponding data provided by the second electronic device that corresponds to the movement of the object relative to the shared origin, the object is moved from the first position to the second position in the three-dimensional environment relative to the shared origin.
12. The method of claim 1, wherein using the first data and the second data to determine the shared origin in the physical environment includes synchronizing with corresponding session identifiers, the corresponding session identifiers being derived from a plurality of session identifiers associated with a user of the first electronic device, a user of the second electronic device, and a user of the third electronic device.
13. The method according to claim 12, wherein: The first session identifier among the plurality of session identifiers includes first identification data corresponding to the communication session and second identification data corresponding to the user of the first electronic device; The second session identifier among the plurality of session identifiers includes the first identifier data corresponding to the communication session and the third identifier data corresponding to the user of the second electronic device; and The third session identifier among the plurality of session identifiers includes the first identifier data corresponding to the communication session and the fourth identifier data corresponding to the user of the third electronic device.
14. The method of claim 13, wherein: Based on the determination that the first identifier data meets one or more selection criteria, the shared origin corresponds to the first origin; and Based on the determination that the third identifier data meets one or more selection criteria, the shared origin corresponds to the second origin.
15. The method of claim 14, wherein the one or more selection criteria are based on values associated with corresponding identification data, which corresponds to a user of the corresponding electronic device.
16. The method of claim 12, wherein: Based on the determination that the first origin corresponds to a previously coordinated shared origin in the physical environment, the shared origin corresponds to the first origin; and The shared origin corresponds to the second origin based on the determination that the second origin corresponds to a previously coordinated shared origin in the physical environment.
17. The method according to claim 1, further comprising: When the object corresponding to the shared activity is presented at the first position relative to the shared origin in the three-dimensional environment, an indication to add a fourth electronic device to the communication session is detected, wherein the fourth electronic device is juxtaposed with the first electronic device, the second electronic device, and the third electronic device in the physical environment; and In response to detecting the indication, the fourth electronic device is added to the communication session including the first electronic device, the second electronic device, and the third electronic device, the addition comprising: The object corresponding to the shared activity is maintained at a first position relative to the shared origin in the three-dimensional environment via the one or more displays.
18. The method according to claim 1, further comprising: When the object corresponding to the shared activity is presented at the first position relative to the shared origin in the three-dimensional environment, an indication to add a fourth electronic device to the communication session is detected, wherein the fourth electronic device is juxtaposed with the first electronic device, the second electronic device, and the third electronic device in the physical environment; and In response to detecting the indication, the fourth electronic device is added to the communication session including the first electronic device, the second electronic device, and the third electronic device, the addition comprising: Obtain third data corresponding to a third origin in the physical environment, wherein the second origin is shared between the fourth electronic device and the third electronic device; The first data, the second data, and the third data are used to determine the second shared origin in the physical environment; and The display of the object corresponding to the shared activity is updated via the one or more displays to be displayed at a second position in the three-dimensional environment relative to the second shared origin, different from the first position.
19. A first electronic device, the first electronic device comprising: One or more processors; Memory; and One or more programs, the programs being stored in the memory and configured to be executed by the one or more processors, the programs including instructions for performing the method according to any one of claims 1 to 18.
20. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by one or more processors of a first electronic device, cause the first electronic device to perform the method according to any one of claims 1 to 18.