User interface for managing live communication sessions
By integrating display generation components and sensors in a computer system and dynamically adjusting the interface to respond to user input, the problems of inefficiency and complex control in the prior art of managing live communication sessions are solved, achieving a more intuitive and efficient human-machine interface and a better virtual/augmented reality experience.
Patent Information
- Application Number
- CN202380065246.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-12
- Filing Date
- 2023-09-21
- Publication Date
- 2025-04-18
AI Technical Summary
The prior art methods and interfaces for managing live communication sessions have problems such as low efficiency, complex control, and error-prone, resulting in a large cognitive burden on users and wasted energy consumption.
By integrating display generation components and sensors in a computer system, a more intuitive and efficient user interface is provided, including displaying representations of multiple users, detecting user gaze and gesture inputs, and dynamically adjusting the significant state of the controls to reduce user input.
It realizes a more intuitive and efficient human-machine interface, reduces the number and complexity of user input, improves the experience of virtual/augmented reality environments, and saves the energy consumption of computer systems.
Smart Images

Figure CN119856483A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Patent Application No. 18 / 367,418, filed on September 12, 2023, entitled “USER INTERFACES FOR MANAGING LIVE COMMUNICATION SESSIONS,” U.S. Provisional Patent Application No. 63 / 470,882, filed on June 3, 2023, entitled “USER INTERFACES FOR MANAGING LIVE COMMUNICATION SESSIONS,” and U.S. Provisional Patent Application No. 63 / 409,583, filed on September 23, 2022, entitled “USER INTERFACES FOR MANAGING LIVE COMMUNICATION SESSIONS.” The contents of each of these patent applications are incorporated herein by reference in their entirety. Technical Field
[0003] The present disclosure generally relates to computer systems that provide computer-generated experiences in communication with display generation components and optionally one or more sensors, including but not limited to electronic devices that provide virtual reality experiences and mixed reality experiences via displays. Background Art
[0004] In recent years, the development of computer systems for augmented reality has increased significantly. Example augmented reality environments include at least some virtual elements that replace or enhance the physical world. Input devices for computer systems and other electronic computing devices (such as cameras, controllers, joysticks, touch-sensitive surfaces, and touchscreen displays) are used to interact with virtual / augmented reality environments. Example virtual elements include virtual objects such as digital images, videos, text, icons, and control elements (such as buttons and other graphics). Summary of the Invention
[0005] Some methods and interfaces for managing live communication sessions, such as those that include at least some virtual elements (e.g., applications, augmented reality environments, mixed reality environments, and virtual reality environments), are cumbersome, inefficient, and limited. For example, systems that provide insufficient control over the execution of actions associated with virtual objects, systems that require a series of inputs to achieve a desired result in an augmented reality environment, and systems in which virtual object manipulation is complex, cumbersome, and error-prone can impose a significant cognitive burden on users and detract from the experience of the virtual / augmented reality environment. Furthermore, these methods take longer than necessary, wasting the computer system's energy. This latter consideration is particularly important in battery-powered devices.
[0006] Therefore, there is a need for a computer system with improved methods and interfaces for managing live communication sessions that are more efficient and intuitive for users. Such methods and interfaces optionally supplement or replace conventional methods for managing live communication sessions. Such methods and interfaces reduce the amount, extent, and / or nature of input from the user by helping the user understand the connection between the input provided and the device's response to those inputs, thereby forming a more effective human-computer interface.
[0007] The above-mentioned defects and other problems associated with the user interface of the computer system are reduced or eliminated by the disclosed system. In some embodiments, the computer system is a desktop computer with an associated display. In some embodiments, the computer system is a portable device (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the computer system is a personal electronic device (e.g., a wearable electronic device, such as a watch or a head-mounted device). In some embodiments, the computer system has a touch pad. In some embodiments, the computer system has one or more cameras. In some embodiments, the computer system has a touch-sensitive display (also referred to as a "touch screen" or "touch screen display"). In some embodiments, the computer system has one or more eye tracking components. In some embodiments, the computer system has one or more hand tracking components. In some embodiments, in addition to the display generation component, the computer system also has one or more output devices, which include one or more tactile output generators and / or one or more audio output devices. In some embodiments, the computer system has a graphical user interface (GUI), one or more processors, a memory, and one or more modules, a program or instruction set stored in the memory for performing multiple functions. In some embodiments, the user interacts with the GUI through contacts and gestures of a stylus and / or fingers on a touch-sensitive surface, movement of the user's eyes and hands in space relative to the GUI (and / or computer system) or the user's body (as captured by a camera and other motion sensors), and / or voice input (as captured by one or more audio input devices). In some embodiments, the functions performed by interaction optionally include image editing, drawing, presentations, word processing, spreadsheet creation, playing games, making and receiving calls, video conferencing, sending and receiving emails, instant messaging, test support, digital photography, digital video recording, web browsing, digital music playback, note-taking, and / or digital video playback. Executable instructions for performing these functions are optionally included in a transient and / or non-transient computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0008] There is a need for electronic devices with improved methods and interfaces for managing live communication sessions. Such methods and interfaces can supplement or replace conventional methods for managing live communication sessions. Such methods and interfaces reduce the amount, extent, and / or nature of input from the user and produce a more efficient human-computer interface. For battery-powered computing devices, such methods and interfaces conserve power and increase the time interval between battery charges.
[0009] In some embodiments, a computer system displays a set of controls associated with controlling playback of media content (e.g., transport controls and / or other types of controls) in response to detecting a user's gaze and / or gesture. In some embodiments, the computer system initially displays a first set of controls in a reduced salience state (e.g., with reduced visual salience) in response to detecting a first input, and then displays a second set of controls (which optionally includes additional controls) in an increased salience state in response to detecting a second input. In this manner, the computer system optionally provides feedback to the user that the user has begun to invoke display of controls without unduly distracting the user from the content (e.g., by initially displaying the controls in a less visually salient manner), and then, based on detecting a user input indicating that the user wishes to further interact with the controls, displays the controls in a more visually salient manner to allow for easier and more accurate interaction with the computer system.
[0010] An example method is described herein. An example method includes: at a computer system in communication with a display generation component and one or more sensors: displaying representations of a plurality of users via the display generation component; receiving, via the one or more sensors, a selection of a representation of a corresponding user from the plurality of users; and in response to receiving the selection of the representation of the corresponding user: based on determining that an ongoing communication session exists, displaying, via the display generation component, an option to invite the corresponding user to join the ongoing communication session; and based on determining that no ongoing communication session exists, forgoing displaying the option to invite the corresponding user to join the ongoing communication session.
[0011] An example method includes: at a computer system in communication with a display generation component and one or more sensors: displaying, via the display generation component, a communication user interface for communicating with other users in a real-time communication session, wherein during the real-time communication session, the user of the computer system is represented by an avatar that moves during the real-time communication session according to movements of the user of the computer system detected by the one or more sensors; displaying, via the display generation component, a selectable user interface object when displaying the communication user interface; detecting, via the one or more sensors, one or more inputs including a selection input directed to the selectable user interface object; and in response to detecting the one or more inputs including the selection input directed to the selectable user interface object, simultaneously displaying, via the display generation component, an avatar editing user interface, the avatar editing user interface including: the avatar representing the user of the computer system; and one or more options for modifying the appearance of the avatar representing the user of the computer system.
[0012] An example method includes: at a computer system in communication with a display generation component: while participating in a communication session as a spatial communication session, wherein the spatial communication session includes displaying, via the display generation component, representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment, wherein displaying the plurality of participants in the spatially distributed arrangement includes displaying: the representations of the plurality of participants in the 3D environment spaced apart from each other and a user of the computer system by at least a threshold amount in a first non-vertical direction; and the representations of the plurality of participants in the 3D environment spaced apart from each other and the user by at least the threshold amount in a second non-vertical direction different from the first non-vertical direction; and displaying the representations of the plurality of participants distributed in the 3D environment. the representations of the plurality of participants, detecting an event; and in response to detecting the event, transitioning the communication session from the spatial communication session to a non-spatial communication session, the non-spatial communication session comprising displaying, via the display generating component, representations of at least a subset of the plurality of participants of the communication session in a grouped arrangement, wherein in the grouped arrangement: the representations of the plurality of participants are spaced apart from each other in the first non-vertical direction in the 3D environment by less than the threshold amount; the representation of a first participant in the grouped arrangement has a different positioning than the representation of the first participant in the spatially distributed arrangement; and the representation of a second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement.
[0013] An example method includes: at a computer system in communication with a display generating component and one or more sensors: while in a communication session with one or more participants in the communication session, detecting gaze input from a user of the computer system via the one or more sensors; and in response to detecting the gaze input: based on a determination that the gaze input satisfies a set of one or more gaze criteria, displaying information about a first participant in the communication session via the display generating component; and based on a determination that the gaze input does not satisfy the set of one or more gaze criteria, forgoing displaying the information about the first participant in the communication session.
[0014] An example non-transitory computer-readable storage medium is described herein. An example non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more sensors and including instructions for: displaying representations of a plurality of users via the display generation component; receiving a selection of a representation of a corresponding user from the plurality of users via the one or more sensors; and in response to receiving the selection of the representation of the corresponding user: based on determining that an ongoing communication session exists, displaying an option via the display generation component to invite the corresponding user to join the ongoing communication session; and based on determining that no ongoing communication session exists, forgoing displaying the option to invite the corresponding user to join the ongoing communication session.
[0015] An example non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more sensors and including instructions for: displaying, via the display generation component, a communication user interface for communicating with other users in a real-time communication session, wherein during the real-time communication session, the user of the computer system is represented by an avatar that moves according to movements of the user of the computer system detected by the one or more sensors during the real-time communication session; displaying, via the display generation component, a selectable user interface object while displaying the communication user interface; detecting, via the one or more sensors, one or more inputs including a selection input directed to the selectable user interface object; and in response to detecting the one or more inputs including the selection input directed to the selectable user interface object, simultaneously displaying, via the display generation component, an avatar editing user interface, the avatar editing user interface including: the avatar representing the user of the computer system; and one or more options for modifying the appearance of the avatar representing the user of the computer system.
[0016] An example non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and including instructions for: while participating in a communication session as a spatial communication session, wherein the spatial communication session includes displaying, via the display generation component, representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment, wherein displaying the plurality of participants in the spatially distributed arrangement includes displaying: the representations of the plurality of participants in the 3D environment spaced apart from each other and a user of the computer system by at least a threshold amount in a first non-vertical direction; and spaced apart from each other and the user by at least the threshold amount in a second non-vertical direction different from the first non-vertical direction. The present invention relates to a method of providing a plurality of spatial communication sessions for displaying the plurality of participants; detecting an event while displaying the plurality of participants distributed in the 3D environment; and in response to detecting the event, transitioning the communication session from the spatial communication session to a non-spatial communication session, the non-spatial communication session comprising displaying representations of at least a subset of the plurality of participants of the communication session in a grouped arrangement via the display generating component, wherein in the grouped arrangement: the representations of the plurality of participants are spaced apart from each other in the first non-vertical direction in the 3D environment by less than the threshold amount; the representation of a first participant in the grouped arrangement has a different positioning than the representation of the first participant in the spatially distributed arrangement; and the representation of a second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement.
[0017] An example non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more sensors and including instructions for: detecting, via the one or more sensors, gaze input by a user of the computer system while in a communication session with one or more participants in the communication session; and in response to detecting the gaze input: displaying, via the display generation component, information about a first participant in the communication session based on a determination that the gaze input satisfies a set of one or more gaze criteria; and forgoing displaying the information about the first participant in the communication session based on a determination that the gaze input does not satisfy the set of one or more gaze criteria.
[0018] An example transient computer-readable storage medium is described herein. An example transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more sensors, and includes instructions for: displaying representations of a plurality of users via the display generation component; receiving a selection of a representation of a corresponding user from the plurality of users via the one or more sensors; and in response to receiving the selection of the representation of the corresponding user: based on determining that an ongoing communication session exists, displaying an option via the display generation component to invite the corresponding user to join the ongoing communication session; and based on determining that no ongoing communication session exists, forgoing displaying the option to invite the corresponding user to join the ongoing communication session.
[0019] An example transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more sensors and including instructions for: displaying, via the display generation component, a communication user interface for communicating with other users in a real-time communication session, wherein during the real-time communication session, a user of the computer system is represented by an avatar that moves according to movements of the user of the computer system detected by the one or more sensors during the real-time communication session; displaying, via the display generation component, a selectable user interface object while displaying the communication user interface; detecting, via the one or more sensors, one or more inputs including a selection input directed to the selectable user interface object; and in response to detecting the one or more inputs including the selection input directed to the selectable user interface object, simultaneously displaying, via the display generation component, an avatar editing user interface including: the avatar representing the user of the computer system; and one or more options for modifying the appearance of the avatar representing the user of the computer system.
[0020] An example transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and including instructions for: while participating in a communication session as a spatial communication session, wherein the spatial communication session includes displaying, via the display generation component, representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment, wherein displaying the plurality of participants in the spatially distributed arrangement includes displaying: the representations of the plurality of participants in the 3D environment spaced apart from each other and a user of the computer system by at least a threshold amount in a first non-vertical direction; and spaced apart from each other and the user by at least the threshold amount in a second non-vertical direction different from the first non-vertical direction. the representations of the multiple participants; detecting an event while displaying the representations of the multiple participants distributed in the 3D environment; and in response to detecting the event, transitioning the communication session from the spatial communication session to a non-spatial communication session, the non-spatial communication session comprising displaying representations of at least a subset of the multiple participants of the communication session in a grouped arrangement via the display generating component, wherein in the grouped arrangement: the representations of the multiple participants are spaced apart from each other in the first non-vertical direction in the 3D environment by less than the threshold amount; the representation of a first participant in the grouped arrangement has a different positioning than the representation of the first participant in the spatially distributed arrangement; and the representation of a second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement.
[0021] An example transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more sensors and including instructions for: detecting, via the one or more sensors, gaze input by a user of the computer system while in a communication session with one or more participants in the communication session; and in response to detecting the gaze input: displaying, via the display generation component, information about a first participant in the communication session based on a determination that the gaze input satisfies a set of one or more gaze criteria; and forgoing displaying the information about the first participant in the communication session based on a determination that the gaze input does not satisfy the set of one or more gaze criteria.
[0022] An example computer system is described herein. An example computer system is configured to communicate with a display generation component and one or more sensors and includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying representations of a plurality of users via the display generation component; receiving a selection of a representation of a corresponding user from the plurality of users via the one or more sensors; and in response to receiving the selection of the representation of the corresponding user: based on determining that an ongoing communication session exists, displaying, via the display generation component, an option to invite the corresponding user to join the ongoing communication session; and based on determining that no ongoing communication session exists, forgoing displaying the option to invite the corresponding user to join the ongoing communication session.
[0023] An example computer system is configured to communicate with a display generation component and one or more sensors and includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, via the display generation component, a communication user interface for communicating with other users in a real-time communication session, wherein during the real-time communication session, a user of the computer system is represented by an avatar that moves according to movements of the user of the computer system detected by the one or more sensors during the real-time communication session; displaying, via the display generation component, a selectable user interface object while displaying the communication user interface; detecting, via the one or more sensors, one or more inputs including a selection input directed to the selectable user interface object; and in response to detecting the one or more inputs including the selection input directed to the selectable user interface object, simultaneously displaying, via the display generation component, an avatar editing user interface, the avatar editing user interface including: the avatar representing the user of the computer system; and one or more options for modifying the appearance of the avatar representing the user of the computer system.
[0024] An example computer system is configured to communicate with a display generation component and includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: while participating in a communication session that is a spatial communication session, wherein the spatial communication session includes displaying, via the display generation component, representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment, wherein displaying the plurality of participants in the spatially distributed arrangement includes displaying: representations of the plurality of participants spaced apart from each other and a user of the computer system by at least a threshold amount in a first non-vertical direction in the 3D environment; and representations of the plurality of participants spaced apart from each other and the user by at least a threshold amount in a second non-vertical direction different from the first non-vertical direction. a threshold amount of the representations of the plurality of participants; detecting an event while displaying the representations of the plurality of participants distributed in the 3D environment; and in response to detecting the event, transitioning the communication session from the spatial communication session to a non-spatial communication session, the non-spatial communication session comprising displaying, via the display generating component, representations of at least a subset of the plurality of participants of the communication session in a grouped arrangement, wherein in the grouped arrangement: the representations of the plurality of participants are spaced apart from each other in the first non-vertical direction in the 3D environment by less than the threshold amount; the representation of a first participant in the grouped arrangement has a different positioning than the representation of the first participant in the spatially distributed arrangement; and the representation of a second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement.
[0025] An example computer system is configured to communicate with a display generation component and one or more sensors and includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: detecting gaze input of a user of the computer system via the one or more sensors while in a communication session with one or more participants in the communication session; and in response to detecting the gaze input: displaying information about a first participant in the communication session via the display generation component based on a determination that the gaze input satisfies a set of one or more gaze criteria; and forgoing displaying the information about the first participant in the communication session based on a determination that the gaze input does not satisfy the set of one or more gaze criteria.
[0026] An example computer system is configured to communicate with a display generating component and one or more sensors and includes: means for displaying representations of multiple users via the display generating component; means for receiving, via the one or more sensors, a selection of a representation of a corresponding user from the multiple users; and means for, in response to receiving the selection of the representation of the corresponding user, performing the following: based on determining that there is an ongoing communication session, displaying, via the display generating component, an option to invite the corresponding user to join the ongoing communication session; and based on determining that there is no ongoing communication session, forgoing displaying the option to invite the corresponding user to join the ongoing communication session.
[0027] An example computer system is configured to communicate with a display generation component and one or more sensors and includes: components for displaying, via the display generation component, a communication user interface for communicating with other users in a real-time communication session, wherein during the real-time communication session, a user of the computer system is represented by an avatar that moves during the real-time communication session based on movements of the user of the computer system detected by the one or more sensors; components for displaying, via the display generation component, a selectable user interface object when displaying the communication user interface; components for detecting, via the one or more sensors, one or more inputs including a selection input directed to the selectable user interface object; and components for, in response to detecting the one or more inputs including the selection input directed to the selectable user interface object, simultaneously displaying, via the display generation component, an avatar editing user interface including: the avatar representing the user of the computer system; and one or more options for modifying the appearance of the avatar representing the user of the computer system.
[0028] An example computer system is configured to communicate with a display generation component and includes: means for, while participating in a communication session as a spatial communication session, wherein the spatial communication session includes displaying, via the display generation component, representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment, wherein displaying the plurality of participants in the spatially distributed arrangement includes displaying: the representations of the plurality of participants in the 3D environment spaced apart from each other and a user of the computer system by at least a threshold amount in a first non-vertical direction; and the representations of the plurality of participants in the 3D environment spaced apart from each other and the user by at least the threshold amount in a second non-vertical direction different from the first non-vertical direction; and means for displaying the representations of the plurality of participants in the 3D environment spaced apart from each other and the user by at least the threshold amount in a second non-vertical direction different from the first non-vertical direction. and a component for detecting an event when the representations of the multiple participants are displayed; and a component for transitioning the communication session from the spatial communication session to a non-spatial communication session in response to detecting the event, the non-spatial communication session comprising displaying representations of at least a subset of the multiple participants of the communication session in a grouped arrangement via the display generating component, wherein in the grouped arrangement: the representations of the multiple participants are spaced apart from each other in the first non-vertical direction in the 3D environment by less than the threshold amount; the representation of the first participant in the grouped arrangement has a different positioning than the representation of the first participant in the spatially distributed arrangement; and the representation of the second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement.
[0029] An example computer system is configured to communicate with a display generating component and one or more sensors and includes: components for detecting gaze input of a user of the computer system via the one or more sensors while in a communication session with one or more participants in the communication session; and components for, in response to detecting the gaze input, displaying information about a first participant in the communication session via the display generating component based on a determination that the gaze input satisfies a set of one or more gaze criteria; and forgoing displaying the information about the first participant in the communication session based on a determination that the gaze input does not satisfy the set of one or more gaze criteria.
[0030] An example computer program product is described herein. An example computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more sensors, the one or more programs including instructions for: displaying representations of a plurality of users via the display generation component; receiving a selection of a representation of a corresponding user from the plurality of users via the one or more sensors; and in response to receiving the selection of the representation of the corresponding user: based on determining that an ongoing communication session exists, displaying, via the display generation component, an option to invite the corresponding user to join the ongoing communication session; and based on determining that no ongoing communication session exists, forgoing displaying the option to invite the corresponding user to join the ongoing communication session.
[0031] An example computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more sensors, the one or more programs including instructions for: displaying, via the display generation component, a communication user interface for communicating with other users in a real-time communication session, wherein during the real-time communication session, a user of the computer system is represented by an avatar that moves according to movements of the user of the computer system detected by the one or more sensors during the real-time communication session; displaying, via the display generation component, a selectable user interface object while displaying the communication user interface; detecting, via the one or more sensors, one or more inputs including a selection input directed to the selectable user interface object; and in response to detecting the one or more inputs including the selection input directed to the selectable user interface object, simultaneously displaying, via the display generation component, an avatar editing user interface, the avatar editing user interface including: the avatar representing the user of the computer system; and one or more options for modifying the appearance of the avatar representing the user of the computer system.
[0032] An example computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions for: while participating in a communication session as a spatial communication session, wherein the spatial communication session includes displaying, via the display generation component, representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment, wherein displaying the plurality of participants in the spatially distributed arrangement includes displaying: the representations of the plurality of participants in the 3D environment spaced apart from each other and a user of the computer system by at least a threshold amount in a first non-vertical direction; and spaced apart from each other and the user by at least the threshold amount in a second non-vertical direction different from the first non-vertical direction. a plurality of participants distributed in the 3D environment; detecting an event while displaying the representations of the plurality of participants distributed in the 3D environment; and in response to detecting the event, transitioning the communication session from the spatial communication session to a non-spatial communication session, the non-spatial communication session comprising displaying representations of at least a subset of the plurality of participants of the communication session in a grouped arrangement via the display generating component, wherein in the grouped arrangement: the representations of the plurality of participants are spaced apart from each other in the first non-vertical direction in the 3D environment by less than the threshold amount; the representation of a first participant in the grouped arrangement has a different positioning than the representation of the first participant in the spatially distributed arrangement; and the representation of a second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement.
[0033] An example computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more sensors, the one or more programs including instructions for: detecting gaze input by a user of the computer system via the one or more sensors while in a communication session with one or more participants in the communication session; and in response to detecting the gaze input: displaying information about a first participant in the communication session via the display generating component based on a determination that the gaze input satisfies a set of one or more gaze criteria; and forgoing displaying the information about the first participant in the communication session based on a determination that the gaze input does not satisfy the set of one or more gaze criteria.
[0034] It should be noted that the various embodiments described above can be combined with any other embodiment described herein. The features and advantages described in this specification are not comprehensive. In particular, many additional features and advantages will be apparent to those skilled in the art from the drawings, the specification, and the claims. In addition, it should be noted that the language used in this specification has been selected in principle for readability and instructional purposes, and may not be selected to describe or define the subject matter of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals refer to corresponding parts throughout the several views.
[0036] Figure 1A is a block diagram illustrating an operating environment for a computer system for providing an XR experience according to some embodiments.
[0037] Figure 1B to Figure 1P is used in Figure 1A An example of a computer system that provides an XR experience in an operating environment.
[0038] Figure 2 is a block diagram illustrating a controller of a computer system configured to manage and coordinate a user's XR experience according to some embodiments.
[0039] Figure 3 is a block diagram illustrating display generation components of a computer system configured to provide the visual component of an XR experience to a user according to some embodiments.
[0040] Figure 4 is a block diagram illustrating a hand tracking unit of a computer system configured to capture gesture input from a user according to some embodiments.
[0041] Figure 5 is a block diagram illustrating an eye tracking unit of a computer system configured to capture gaze input from a user according to some embodiments.
[0042] Figure 6 is a flow chart illustrating a flash-assisted gaze tracking pipeline according to some embodiments.
[0043] Figures 7A to 7Q Example techniques for managing a live communication session are illustrated in accordance with some embodiments.
[0044] Figure 8 is a flow chart of a method of managing a live communication session according to various embodiments.
[0045] Figure 9 is a flow chart of a method of providing an avatar in a live communication session, according to various embodiments.
[0046] Figures 10A to 10E Example techniques for providing presentations in a live communication session are illustrated in accordance with some embodiments.
[0047] Figure 11 is a flowchart of a method of providing a presentation in a live communication session according to various embodiments.
[0048] 12A to 12F Example techniques for providing information in a live communication session are illustrated in accordance with some embodiments.
[0049] Figure 13 is a flow chart of a method of providing information in a live communication session according to various embodiments. DETAILED DESCRIPTION
[0050] According to some embodiments, the present disclosure relates to a user interface for providing an extended reality (XR) experience to a user.
[0051] The systems, methods, and GUIs described herein improve user interface interactions with virtual / augmented reality environments in several ways.
[0052] In some embodiments, a computer system enables live communication between users. The computer system displays representations of a plurality of users and receives a selection of a representation of a corresponding user from the plurality of users. In response to receiving the selection of the representation of the corresponding user, based on determining that an ongoing communication session exists, the computer system displays an option to invite the corresponding user to join the ongoing communication session, and based on determining that no ongoing communication session exists, the computer system forgoes displaying the option to invite the corresponding user to join the ongoing communication session.
[0053] In some embodiments, a computer system provides an option for a user to change the appearance of the user's avatar. The computer system displays a communication user interface for communicating with other users in a real-time communication session. During the real-time communication session, the user is represented by an avatar that moves according to the movement of the user of the computer system during the real-time communication session. While displaying the communication user interface, the computer system simultaneously displays selectable user interface objects. While simultaneously displaying the communication user interface and the selectable user interface objects, the computer system detects one or more inputs including a selection input directed to the selectable user interface objects. In response to detecting the one or more inputs including a selection input directed to the selectable user interface objects, the computer system simultaneously displays an avatar editing user interface that includes an avatar representing the user of the computer system and one or more options for modifying the appearance of the avatar representing the user of the computer system.
[0054] In some embodiments, a computer system switches between a spatial communication session and a non-spatial communication session. While participating in a communication session that is a spatial communication session, wherein the spatial communication session includes the computer system displaying representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment. Displaying the plurality of participants in the spatially distributed arrangement includes displaying the representations of the plurality of participants in the 3D environment spaced at least a threshold amount from each other and a user in a first non-vertical direction, and spaced at least a threshold amount from each other and the user in a second non-vertical direction different from the first non-vertical direction. While displaying the representations of the plurality of participants distributed in the 3D environment, the computer system detects an event, and in response to detecting the event, the computer system transitions the communication session from the spatial communication session to a non-spatial communication session. Transitioning to the non-spatial communication session includes displaying representations of at least a subset of the plurality of participants in the communication session in a grouped arrangement. In the grouped arrangement, the representations of the plurality of participants are spaced less than the threshold amount from each other in the first non-vertical direction in the 3D environment, the representation of a first participant in the grouped arrangement has a different positioning than the representation of the first participant in the spatially distributed arrangement, and the representation of a second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement.
[0055] In some embodiments, a computer system provides information during a live communication session based on a user's gaze. While in a communication session with one or more participants in the communication session, the computer system detects a gaze input from a user of the computer system. In response to detecting the gaze input, based on a determination that the gaze input satisfies a set of one or more gaze criteria, the computer system displays information about a first participant in the communication session, and based on a determination that the gaze input does not satisfy the set of one or more gaze criteria, the computer system forgoes displaying information about the first participant in the communication session.
[0056] In some embodiments, a computer system displays content in a first area of a user interface. In some embodiments, while the computer system is displaying the content and while the first set of controls is not displayed in a first state, the computer system detects a first input from a first portion of a user. In some embodiments, in response to detecting the first input, and based on a determination that the user's gaze was directed toward a second area of the user interface when the first input was detected, the computer system displays the first set of one or more controls in the user interface in the first state, and based on a determination that the user's gaze was not directed toward the second area of the user interface when the first input was detected, the computer system abandons displaying the first set of one or more controls in the first state.
[0057] In some embodiments, a computer system displays content in a user interface. In some embodiments, while displaying the content, the computer system detects a first input based on movement of a first part of a user of the computer system. In some embodiments, in response to detecting the first input, the computer system displays a first set of one or more controls in the user interface, wherein the first set of one or more controls is displayed in a first state and is displayed within a first area of the user interface. In some embodiments, while displaying the first set of one or more controls in the first state: based on a determination that one or more first criteria are satisfied, the one or more first criteria include criteria that are satisfied when directing a user's attention to the first area of the user interface based on movement of a second part of the user that is different from the first part of the user, the computer system transitions from displaying the first set of one or more controls in the first state to displaying the second set of one or more controls in the second state, wherein the second state is different from the first state.
[0058] Figures 1A to 6 A description of an example computer system for providing an XR experience to a user is provided. Figures 7A to 7Q Example techniques for managing a live communication session are illustrated in accordance with some embodiments. Figure 8 is a flow chart of a method of managing a live communication session according to various embodiments. Figure 9 is a flow chart of a method of providing an avatar in a live communication session, according to various embodiments. Figures 7A to 7Q The user interface in Figure 8 and Figure 9 in the process. Figures 10A to 10E Example techniques for providing presentations in a live communication session are illustrated in accordance with some embodiments. Figure 11 is a flowchart of a method of providing a presentation in a live communication session according to various embodiments. Figures 10A to 10E The user interface in Figure 11 in the process. 12A to 12F Example techniques for providing information in a live communication session are illustrated in accordance with some embodiments. Figure 13 is a flow chart of a method of providing information in a live communication session according to various embodiments. Figures 10A to 10E The user interface in Figure 11 in the process.
[0059] The processes described below enhance the operability of the device and make the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device) through various techniques, including by providing improved visual feedback to the user, reducing the number of inputs required to perform an operation, providing additional control options without cluttering the user interface with additional display controls, performing an operation without further user input when a set of conditions has been met, improving privacy and / or security, providing a richer, more detailed, and / or more realistic user experience while saving storage space, and / or additional techniques. These techniques also reduce power usage and extend the battery life of the device by enabling the user to use the device faster and more efficiently. Saving battery power, and therefore weight, improves the ergonomics of the device. These techniques also enable real-time communication, allow the use of fewer and / or less accurate sensors, resulting in a more compact, lighter, and less expensive device, and enable the device to be used in a variety of lighting conditions. These techniques reduce energy usage and thereby reduce the heat emitted by the device, which is particularly important for wearable devices where if the device generates too much heat well within the operating parameters of the device components, it may become uncomfortable for the user to wear the device.
[0060] In addition, in the method described herein where one or more steps depend on having met one or more conditions, it should be understood that the method can be repeated in multiple repetitions so that in the process of repetition, all conditions of the steps in the method of determining the method have been met in different repetitions of the method. For example, if the method needs to perform the first step (if the condition is met), and perform the second step (if the condition is not met), then those of ordinary skill will understand that the steps stated are repeated until both the condition is met and the condition is not met (in no particular order). Therefore, the method described as having one or more steps depending on having met one or more conditions can be rewritten as a method of repeating until each condition described in the method is met. However, this does not require a system or computer-readable medium to declare that the system or computer-readable medium includes instructions for performing a contingent operation based on the satisfaction of one or more corresponding conditions, and is therefore able to determine whether a possible situation has been met without explicitly repeating the steps of the method until all conditions of the steps in the method of determining the method have been met. Those of ordinary skill in the art will also understand that, similar to the method with a contingent step, a system or computer-readable storage medium can repeat the steps of the method as needed multiple times to ensure that all contingent steps have been performed.
[0061] In some embodiments, as Figure 1AAs shown, an XR experience is provided to a user via an operating environment 100 including a computer system 101. The computer system 101 includes a controller 110 (e.g., a processor of a portable electronic device or a remote server), a display generation component 120 (e.g., a head-mounted device (HMD), a display, a projector, a touch screen, etc.), one or more input devices 125 (e.g., an eye tracking device 130, a hand tracking device 140, other input devices 150), one or more output devices 155 (e.g., a speaker 160, a tactile output generator 170, and other output devices 180), one or more sensors 190 (e.g., an image sensor, a light sensor, a depth sensor, a tactile sensor, an orientation sensor, a proximity sensor, a temperature sensor, a position sensor, a motion sensor, a speed sensor, etc.), and optionally one or more peripheral devices 195 (e.g., a home appliance, a wearable device, etc.). In some embodiments, one or more of the input device 125, the output device 155, the sensor 190, and the peripheral device 195 are integrated with the display generation component 120 (e.g., in a head-mounted device or a handheld device).
[0062] When describing an XR experience, various terms are used to distinctly refer to several related but distinct environments that a user can sense and / or interact with (e.g., using inputs detected by the computer system 101 generating the XR experience, which inputs cause the computer system generating the XR experience to generate audio, visual, and / or haptic feedback corresponding to the various inputs provided to the computer system 101). The following is a subset of these terms:
[0063] Physical Environment: The physical environment refers to the physical world that people can sense and / or interact with without the aid of electronic systems. A physical environment, such as a physical park, includes physical objects, such as physical trees, physical buildings, and physical people. People can directly sense and / or interact with the physical environment, such as through sight, touch, hearing, taste, and smell.
[0064] Extended Reality: In contrast, an extended reality (XR) environment refers to a fully or partially simulated environment that people sense and / or interact with via electronic systems. In XR, a subset of a person's physical movements, or representations thereof, is tracked, and in response, one or more properties of one or more virtual objects simulated in the XR environment are adjusted in a manner consistent with at least one law of physics. For example, an XR system may detect a person's head rotation and, in response, adjust the graphical content and sound field presented to the person in a manner similar to how such views and sounds change in a physical environment. In some cases (e.g., for accessibility reasons), adjustments to the properties of virtual objects in the XR environment may be made in response to representations of physical movement (e.g., voice commands). People can sense and / or interact with XR objects using any of their senses, including vision, hearing, touch, taste, and smell. For example, people can sense and / or interact with audio objects, which create a 3D or spatial audio environment that provides the perception of a point audio source in 3D space. As another example, audio objects can implement audio transparency, which selectively introduces ambient sounds from the physical environment with or without computer-generated audio. In some XR environments, people can sense and / or interact only with audio objects.
[0065] Examples of XR include virtual reality and mixed reality.
[0066] Virtual Reality: A virtual reality (VR) environment is a simulated environment designed to be based entirely on computer-generated sensory input to one or more senses. A VR environment includes multiple virtual objects that a person can sense and / or interact with. For example, trees, buildings, and computer-generated images representing human avatars are examples of virtual objects. A person can sense and / or interact with virtual objects in a VR environment through the simulation of their presence within the computer-generated environment and / or through the simulation of a subset of their physical movement within the computer-generated environment.
[0067] Mixed Reality: In contrast to VR environments, which are designed to be based entirely on computer-generated sensory input, a mixed reality (MR) environment refers to a simulated environment that is designed to include sensory input from the physical environment, or representations thereof, in addition to computer-generated sensory input (e.g., virtual objects). On the virtuality continuum, a mixed reality environment is anything between, but not including, a fully physical environment at one end and a virtual reality environment at the other. In some MR environments, computer-generated sensory input may respond to changes in sensory input from the physical environment. Additionally, some electronic systems used to render MR environments may track position and / or orientation relative to the physical environment to enable virtual objects to interact with real objects (that is, physical items from the physical environment, or representations thereof). For example, the system may cause movement so that virtual trees appear stationary relative to the physical ground.
[0068] Examples of mixed reality include augmented reality and augmented virtuality.
[0069] Augmented Reality: An augmented reality (AR) environment refers to a simulated environment in which one or more virtual objects are superimposed on a physical environment or a representation of a physical environment. For example, an electronic system for presenting an AR environment may have a transparent or translucent display through which a person can directly view the physical environment. The system may be configured to present virtual objects on a transparent or translucent display so that a person uses the system to perceive the virtual objects superimposed on the physical environment. Alternatively, the system may have an opaque display and one or more imaging sensors that capture images or videos of the physical environment, which are representations of the physical environment. The system combines the images or videos with the virtual objects and presents the combination on an opaque display. A person uses the system to indirectly view the physical environment via the images or videos of the physical environment and perceives the virtual objects superimposed on the physical environment. As used herein, a video of the physical environment displayed on an opaque display is referred to as "transparent video," meaning that the system uses one or more image sensors to capture images of the physical environment and uses those images when presenting the AR environment on the opaque display. Further alternatively, the system may have a projection system that projects virtual objects into a physical environment, such as as holograms or on a physical surface, so that a person using the system perceives virtual objects superimposed on the physical environment. An augmented reality environment also refers to a simulated environment in which a representation of a physical environment is transformed by computer-generated sensory information. For example, in providing a pass-through video, the system may transform one or more sensor images to apply a selected perspective (e.g., a viewpoint) that is different from the perspective captured by the imaging sensor. As another example, the representation of the physical environment may be transformed by graphically modifying (e.g., enlarging) a portion thereof so that the modified portion may be a representative but not image-realistic version of the original captured image. As another example, the representation of the physical environment may be transformed by graphically eliminating a portion thereof or blurring a portion thereof.
[0070] Augmented Virtual: An augmented virtual (AV) environment is a simulated environment in which a virtual or computer-generated environment incorporates one or more sensory inputs from the physical environment. The sensory input can be a representation of one or more characteristics of the physical environment. For example, an AV park may have virtual trees and virtual buildings, but the faces of people are realistically reproduced from images taken of physical people. As another example, virtual objects may adopt the shape or color of physical objects imaged by one or more imaging sensors. As another example, virtual objects may adopt shadows that conform to the position of the sun in the physical environment.
[0071] In an augmented reality, mixed reality, or virtual reality environment, a view of a three-dimensional environment is visible to a user. The view of the three-dimensional environment is typically visible to the user through a virtual viewport via one or more display generation components (e.g., a display or a pair of display modules that provide stereoscopic content to different eyes of the same user), and the virtual viewport has a viewport boundary that defines the range of the three-dimensional environment visible to the user via the one or more display generation components. In some embodiments, the area defined by the viewport boundary is smaller than the user's visual range in one or more dimensions (e.g., based on the user's visual range, the size, optical properties, or other physical properties of the one or more display generation components, and / or the position and / or orientation of the one or more display generation components relative to the user's eyes). In some embodiments, the area defined by the viewport boundary is larger than the user's visual range in one or more dimensions (e.g., based on the user's visual range, the size, optical properties, or other physical properties of the one or more display generation components, and / or the position and / or orientation of the one or more display generation components relative to the user's eyes). The viewport and viewport boundary typically move with the movement of one or more display generation components (e.g., with the user's head for a head-mounted device, or with the user's hand for a handheld device such as a tablet or smart phone). The user's viewpoint determines what is visible in the viewport. The viewpoint typically specifies a position and orientation relative to the three-dimensional environment, and as the viewpoint shifts, the view of the three-dimensional environment will also shift in the viewport. For head-mounted devices, the viewpoint is typically based on the position and orientation of the user's head, face, and / or eyes to provide a view of the three-dimensional environment that is perceptually accurate and provides an immersive experience when the user is using the head-mounted device. For handheld or fixed devices, the viewpoint shifts as the handheld or fixed device moves and / or as the user's positioning relative to the handheld or fixed device changes (e.g., the user moves toward, away from, up, down, right, and / or left). For devices that include display generation components with virtual pass-through, portions of the physical environment that are visible (e.g., displayed and / or projected) via one or more display generation components are based on the field of view of one or more cameras in communication with the display generation components, which one or more cameras typically move as the display generation components move (e.g., as the user's head moves for a head-mounted device, or as the user's hand moves for a handheld device such as a tablet or smartphone) as the user's viewpoint moves as the field of view of the one or more cameras moves (and the appearance of one or more virtual objects displayed via the one or more display generation components is updated based on the user's viewpoint (e.g., the display positioning and pose of the virtual objects are updated based on the movement of the user's viewpoint)).For display generation components with optical transmittance, portions of the physical environment visible via one or more display generation components (e.g., optically visible through one or more partially or fully transparent portions of the display generation components) are based on the user's field of view through the partially or fully transparent portions of the display generation components (e.g., moves as the user's head moves for a head-mounted device, or moves as the user's hand moves for a handheld device such as a tablet or smartphone) because the user's viewpoint moves as the user moves through the field of view of the partially or fully transparent portions of the display generation components (and the appearance of one or more virtual objects is updated based on the user's viewpoint).
[0072] In some embodiments, the representation of the physical environment (e.g., displayed via virtual see-through or optical see-through) may be partially or completely obscured by the virtual environment. In some embodiments, the amount of the virtual environment displayed (e.g., the amount of the physical environment that is not displayed) is based on the immersion level of the virtual environment (e.g., relative to the representation of the physical environment). For example, increasing the immersion level optionally causes more of the virtual environment to be displayed, replacing and / or obscuring more of the physical environment, and decreasing the immersion level optionally causes less of the virtual environment to be displayed, thereby revealing portions of the physical environment that were previously not displayed and / or obscured. In some embodiments, at a particular immersion level, one or more first background objects (e.g., in the representation of the physical environment) are visually de-emphasized (e.g., dimmed, blurred, displayed with increased transparency) more than one or more second background objects, and one or more third background objects cease to be displayed. In some embodiments, the immersion level includes an associated degree to which virtual content displayed by the computer system (e.g., a virtual environment and / or virtual content) obscures background content (e.g., content other than the virtual environment and / or virtual content) surrounding / behind the virtual environment, optionally including the number of items of background content displayed and / or the displayed visual characteristics of the background content (e.g., color, contrast, and / or opacity), the angular range of the virtual content displayed via the display generation component (e.g., 60 degrees for content displayed at low immersion, 120 degrees for content displayed at medium immersion, or 180 degrees for content displayed at high immersion), and / or the proportion of the field of view displayed via the display generation component that is occupied by the virtual content (e.g., 33% of the field of view occupied by the virtual content at low immersion, 66% of the field of view occupied by the virtual content at medium immersion, or 100% of the field of view occupied by the virtual content at high immersion). In some embodiments, the background content is included in the background on which the virtual content is displayed (e.g., background content in a representation of the physical environment). In some embodiments, the background content includes a user interface (e.g., a user interface corresponding to an application generated by a computer system), virtual objects that are not associated with or included in the virtual environment and / or virtual content (e.g., files generated by a computer system or representations of other users, etc.), and / or real objects (e.g., see-through objects representing real objects in the physical environment surrounding the user, which are visible so that they are displayed via the display generation component and / or visible via transparent or translucent components of the display generation component because the computer system does not block / obstruct their visibility through the display generation component). In some embodiments, at a low immersion level (e.g., a first immersion level), the background, virtual and / or real objects are displayed in an unobstructed manner. For example, a virtual environment with a low immersion level is optionally displayed simultaneously with the background content, which is optionally displayed at full brightness, color and / or translucency.In some embodiments, at a higher immersion level (e.g., a second immersion level that is higher than the first immersion level), background, virtual and / or real objects are displayed in an obscured manner (e.g., dimmed, blurred, or removed from the display). For example, a corresponding virtual environment with a high immersion level is displayed without simultaneously displaying background content (e.g., in full screen or fully immersive mode). As another example, a virtual environment displayed at a medium immersion level is displayed simultaneously with background content that is dimmed, blurred, or otherwise de-emphasized. In some embodiments, the visual characteristics of the background objects vary between the background objects. For example, at a particular immersion level, one or more first background objects are visually de-emphasized (e.g., dimmed, blurred, and / or displayed with increased transparency) more than one or more second background objects, and one or more third background objects cease to be displayed. In some embodiments, zero immersion or zero immersion level corresponds to a virtual environment that ceases to be displayed, and instead displays a representation of the physical environment (optionally with one or more virtual objects, such as applications, windows, or virtual three-dimensional objects), without the representation of the physical environment being obscured by the virtual environment. Adjusting the immersion level using physical input elements provides a fast and efficient method of adjusting immersion, which enhances the operability of the computer system and makes the user-device interface more efficient.
[0073] Viewpoint-locked virtual objects: When a computer system displays a virtual object at the same position and / or location in a user's viewpoint, even if the user's viewpoint shifts (e.g., changes), the virtual object is viewpoint-locked. In embodiments where the computer system is a head-mounted device, the user's viewpoint is locked to the forward direction of the user's head (e.g., when the user is looking straight ahead, the user's viewpoint is at least a portion of the user's field of view); thus, without moving the user's head, the user's viewpoint remains fixed even when the user's gaze shifts. In embodiments where the computer system has a display generation component (e.g., a display screen) that is repositionable relative to the user's head, the user's viewpoint is the augmented reality view presented to the user on the display generation component of the computer system. For example, a viewpoint-locked virtual object that is displayed in the upper left corner of the user's viewpoint when the user's viewpoint is in a first orientation (e.g., the user's head is facing north) continues to be displayed in the upper left corner of the user's viewpoint even when the user's viewpoint changes to a second orientation (e.g., the user's head is facing west). In other words, the position and / or location of the viewpoint-locked virtual object displayed in the user's viewpoint is independent of the user's position and / or orientation in the physical environment. In embodiments where the computer system is a head-mounted device, the user's viewpoint is locked to the orientation of the user's head, such that the virtual object is also referred to as a "head-locked virtual object."
[0074] Environment-locked visual objects: A virtual object is environment-locked (alternatively, "world-locked") when a computer system displays it at a location and / or position in a user's viewpoint that is based on (e.g., selected with reference to and / or anchored to) a location and / or object in a three-dimensional environment (e.g., a physical environment or a virtual environment). As the user's viewpoint shifts, the location and / or objects in the environment change relative to the user's viewpoint, which causes the environment-locked virtual object to be displayed at a different location and / or position in the user's viewpoint. For example, an environment-locked virtual object locked to a tree immediately in front of the user is displayed at the center of the user's viewpoint. When the user's viewpoint shifts to the right (e.g., the user's head turns to the right) such that the tree is now to the left of center in the user's viewpoint (e.g., the tree's position in the user's viewpoint shifts), the environment-locked virtual object locked to the tree is displayed to the left of center in the user's viewpoint. In other words, the position and / or location at which an environment-locked virtual object is displayed in the user's viewpoint depends on the position and / or orientation of the object in the environment to which the virtual object is locked. In some embodiments, the computer system uses a stationary reference frame (e.g., a coordinate system anchored to fixed locations and / or objects in the physical environment) to determine the location at which an environment-locked virtual object is displayed in the user's viewpoint. An environment-locked virtual object can be locked to a stationary portion of the environment (e.g., a floor, wall, table, or other stationary object), or can be locked to a movable portion of the environment (e.g., a vehicle, animal, person, or even a representation of a part of the user's body that moves independently of the user's viewpoint, such as a hand, wrist, arm, or foot of the user) so that the virtual object moves as the viewpoint or that portion of the environment moves to maintain a fixed relationship between the virtual object and that portion of the environment.
[0075] In some embodiments, an environment-locked or viewpoint-locked virtual object exhibits an inertial following behavior that reduces or delays the movement of the environment-locked or viewpoint-locked virtual object relative to the movement of a reference point that the virtual object follows. In some embodiments, when exhibiting inertial following behavior, the computer system intentionally delays the movement of the virtual object when movement of a reference point (e.g., a portion of the environment, a viewpoint, or a point fixed relative to the viewpoint, such as a point between 5 cm and 300 cm from the viewpoint) that the virtual object is following is detected. For example, when the reference point (e.g., a portion of the environment or a viewpoint) moves at a first speed, the virtual object is moved by the device to remain locked to the reference point, but at a second speed that is slower than the first speed (e.g., until the reference point stops moving or slows down, at which point the virtual object begins to catch up with the reference point). In some embodiments, when the virtual object exhibits inertial following behavior, the device ignores small amounts of movement of the reference point (e.g., ignoring movements of the reference point below a threshold movement amount, such as movement of 0 to 5 degrees or movement of 0 to 50 cm). For example, when a reference point (e.g., a portion or viewpoint of an environment to which a virtual object is locked) moves a first amount, the distance between the reference point and the virtual object increases (e.g., because the virtual object is being displayed so as to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment that is different from the reference point to which the virtual object is locked), and when the reference point (e.g., the portion or viewpoint of the environment to which the virtual object is locked) moves a second amount greater than the first amount, the distance between the reference point and the virtual object initially increases (e.g., because the virtual object is being displayed so as to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment that is different from the reference point to which the virtual object is locked), and then decreases when the amount of movement of the reference point increases above a threshold (e.g., a “lazy follow” threshold) because the virtual object is moved by the computer system to maintain a fixed or substantially fixed position relative to the reference point. In some embodiments, maintaining a substantially fixed position of the virtual object relative to the reference point includes displaying the virtual object within a threshold distance (e.g., 1 cm, 2 cm, 3 cm, 5 cm, 15 cm, 20 cm, 50 cm) of the reference point in one or more dimensions (e.g., up / down, left / right, and / or forward / backward relative to the position of the reference point).
[0076] Hardware: There are many different types of electronic systems that enable people to sense and / or interact with various XR environments. Examples include head-mounted systems, projection-based systems, heads-up displays (HUDs), vehicle windshields with integrated display capabilities, windows with integrated display capabilities, displays formed as lenses designed to be placed on a person's eyes (e.g., similar to contact lenses), headphones / earpieces, speaker arrays, input systems (e.g., wearable or handheld controllers with or without haptic feedback), smartphones, tablet devices, and desktop / laptop computers. A head-mounted system may include speakers and / or other audio output devices integrated into the head-mounted system for providing audio output. A head-mounted system may have one or more speakers and an integrated opaque display. Alternatively, a head-mounted system may be configured to accept an external opaque display (e.g., a smartphone). A head-mounted system may incorporate one or more imaging sensors for capturing images or video of the physical environment and / or one or more microphones for capturing audio of the physical environment. Instead of an opaque display, a head-mounted system may have a transparent or translucent display. A transparent or translucent display may have a medium through which light representing an image is directed to a person's eyes. The display may utilize digital light projection, OLED, LED, uLED, liquid crystal on silicon, a laser scanning light source, or any combination of these technologies. The medium may be an optical waveguide, a holographic medium, an optical combiner, an optical reflector, or any combination thereof. In one embodiment, the transparent or translucent display may be configured to selectively become opaque. A projection-based system may employ retinal projection technology that projects a graphic image onto a person's retina. The projection system may also be configured to project virtual objects into a physical environment, such as as a hologram or on a physical surface. In some embodiments, the controller 110 is configured to manage and coordinate the user's XR experience. In some embodiments, the controller 110 includes a suitable combination of software, firmware, and / or hardware. Figure 2Controller 110 is described in more detail. In some embodiments, controller 110 is a computing device that is located locally or remotely relative to scene 105 (e.g., physical environment). For example, controller 110 is a local server located within scene 105. As another example, controller 110 is a remote server (e.g., a cloud server, a central server, etc.) located outside of scene 105. In some embodiments, controller 110 is communicatively coupled to display generation component 120 (e.g., HMD, display, projector, touch screen, etc.) via one or more wired or wireless communication channels 144 (e.g., Bluetooth, IEEE 802.11x, IEEE 802.16x, IEEE 802.3x, etc.). In another example, the controller 110 is included within a housing (e.g., a physical housing) of the display generating component 120 (e.g., an HMD or a portable electronic device including a display and one or more processors, etc.), one or more input devices of the input devices 125, one or more output devices of the output devices 155, one or more sensors of the sensors 190, and / or one or more peripheral devices 195, or shares the same physical housing or support structure with one or more of the above devices.
[0077] In some embodiments, the display generation component 120 is configured to provide an XR experience (e.g., at least the visual component of the XR experience) to the user. In some embodiments, the display generation component 120 includes a suitable combination of software, firmware, and / or hardware. Figure 3 Display generation component 120 is described in further detail. In some embodiments, the functionality of controller 110 is provided by and / or combined with display generation component 120.
[0078] According to some embodiments, display generation component 120 provides an XR experience to the user when the user is virtually and / or physically present within scene 105.
[0079] In some embodiments, the display generation component is worn on a part of the user's body (e.g., on his / her head, on his / her hand, etc.). In this way, the display generation component 120 includes one or more XR displays provided for displaying XR content. For example, in various embodiments, the display generation component 120 surrounds the user's field of view. In some embodiments, the display generation component 120 is a handheld device (such as a smart phone or tablet device) configured to present XR content, and the user holds a device with a display pointing to the user's field of view and a camera pointing to the scene 105. In some embodiments, the handheld device is optionally placed in a housing worn on the user's head. In some embodiments, the handheld device is optionally placed on a support (e.g., a tripod) in front of the user. In some embodiments, the display generation component 120 is an XR room, housing, or room configured to present XR content, wherein the user does not wear or hold the display generation component 120. Many user interfaces described with reference to one type of hardware for displaying XR content (e.g., a handheld device or a device on a tripod) may be implemented on another type of hardware for displaying XR content (e.g., an HMD or other wearable computing device). For example, a user interface illustrating interactions with XR content that are triggered based on interactions occurring in the space in front of a handheld device or a tripod-mounted device may similarly be implemented with an HMD, where the interactions occur in the space in front of the HMD and responses to the XR content are displayed via the HMD. Similarly, a user interface illustrating interactions with XR content that are triggered based on movement of a handheld device or a tripod-mounted device relative to a physical environment (e.g., scene 105 or a part of a user's body (e.g., the user's eyes, head, or hands)) may similarly be implemented with an HMD, where the movement is caused by movement of the HMD relative to the physical environment (e.g., scene 105 or a part of a user's body (e.g., the user's eyes, head, or hands)).
[0080] Although Figure 1A Relevant features of the operating environment 100 are shown, but those skilled in the art will appreciate from this disclosure that various other features are not illustrated for the sake of brevity and so as not to obscure more relevant aspects of the example embodiments disclosed herein.
[0081] Figures 1A to 1PVarious examples of computer systems for performing the methods and providing audio, visual, and / or tactile feedback as part of the user interfaces described herein are illustrated. In some embodiments, the computer system includes one or more display generation components (e.g., first and second display components 1-120a, 1-120b, and / or first and second optical modules 11.1.1-104a, 11.1.1-104b) for displaying representations of virtual elements and / or the physical environment to a user of the computer system, the representations optionally being generated based on detected events and / or user input detected by the computer system. The user interface generated by the computer system is optionally corrected by one or more corrective lenses 11.3.2-216, which are optionally removably attached to one or more of the optical modules to make the user interface easier to view by users who would otherwise use glasses or contact lenses to correct their vision. While many of the user interfaces illustrated herein show a single view of the user interface, a user interface in an HMD is optionally displayed using two optical modules (e.g., a first display component 1-120a and a second display component 1-120b and / or a first optical module 11.1.1-104a and a second optical module 11.1.1-104b), one optical module for the user's right eye and a different optical module for the user's left eye, and presenting slightly different images to the two different eyes to create the illusion of stereoscopic depth, the single view of the user interface being typically a right eye view or a left eye view, with the depth effect being explained in text or using other diagrams or views. In some embodiments, a computer system includes one or more external displays (e.g., display component 1-108) for displaying status information of the computer system to a user of the computer system (when the computer system is not being worn) and / or to other people near the computer system, the status information being optionally generated based on detected events and / or user input detected by the computer system. In some embodiments, the computer system includes one or more audio output components (e.g., electronic components 1-112) for generating audio feedback, which is optionally generated based on detected events and / or user input detected by the computer system. In some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors (e.g., sensor components 1-356 and / or Figure 1I One or more sensors in ), which may be used (optionally in combination with one or more illuminators, such as Figure 1IIn some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting hand positioning and / or movement (e.g., sensor assembly 1-356 and / or sensor assembly 1-357). Figure 1I One or more sensors in ), which may be used (optionally in combination with one or more illuminators, such as Figure 1I In some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting eye movement (e.g., Figure 1I eye tracking and gaze tracking sensors in the , the one or more sensors may be used (optionally in combination with one or more lights, such as Figure 1O11.3.2-110) determine attention or gaze location and / or gaze movement, which can optionally be used to detect gaze-only input based on gaze movement and / or dwell. Combinations of the various sensors described above can be used to determine user facial expressions and / or hand movements for use in generating an avatar or representation of the user, such as an anthropomorphic avatar or representation for a real-time communication session, where the avatar has facial expressions, hand movements, and / or body movements that are based on or similar to the detected facial expressions, hand movements, and / or body movements of the user of the device. Gaze and / or attention information is optionally combined with hand tracking information to determine interaction between a user and one or more user interfaces based on direct and / or indirect input, such as air gestures or input using one or more hardware input devices, such as one or more buttons (e.g., first button 1-128, button 11.1.1-114, second button 1-132, and / or dial or button 1-328), knobs (e.g., first button 1-128, button 11.1.1-114, and / or dial or button 1-328), a digital crown (e.g., a pressable and twistable or rotatable first button 1-128, button 11.1.1-114, and / or dial or button 1-328), a touchpad, a touch screen, a keyboard, a mouse, and / or other input devices. One or more buttons (e.g., a first button 1-128, a button 11.1.1-114, a second button 1-132, and / or a dial or button 1-328) are optionally used to perform system operations, such as re-centering content in a three-dimensional environment visible to a user of the device, displaying a primary user interface for launching an application, starting a real-time communication session, or initiating display of a virtual three-dimensional background. A knob or digital crown (e.g., a pressable and twistable or rotatable first button 1-128, a button 11.1.1-114, and / or a dial or button 1-328) is optionally rotatable to adjust parameters of visual content, such as the immersion level of the virtual three-dimensional environment (e.g., the extent to which virtual content occupies the user's viewport in the three-dimensional environment) or other parameters associated with the three-dimensional environment and virtual content displayed via the optical modules (e.g., the first and second display components 1-120a, 1-120b, and / or the first and second optical modules 11.1.1-104a, 11.1.1-104b).
[0082] Figure 1BIllustrated are front, top, and perspective views of an example head-mounted display (HMD) device 1-100 configured to be worn by a user and to provide a virtual and altered / mixed reality (VR / AR) experience. The HMD 1-100 may include a display unit 1-102 or assembly, an electronic strap assembly 1-104 connected to and extending from the display unit 1-102, and a strap assembly 1-106 secured at either end to the electronic strap assembly 1-104. The electronic strap assembly 1-104 and the strap 1-106 may be part of a retaining assembly configured to wrap around a user's head to hold the display unit 1-102 against the user's face.
[0083] In at least one example, the strap assembly 1-106 can include a first strap 1-116 configured to wrap around the back of a user's head and a second strap 1-117 configured to extend over the top of the user's head. As shown, the second strap can extend between the first electronic strip 1-105a and the second electronic strip 1-105b of the electronic strip assembly 1-104. The strap assembly 1-104 and the strap assembly 1-106 can be part of a securing mechanism that extends rearward from the display unit 1-102 and is configured to hold the display unit 1-102 against the user's face.
[0084] In at least one example, the securing mechanism includes a first electronic strip 1-105a including a first proximal end 1-134 coupled to the display unit 1-102 (e.g., the housing 1-150 of the display unit 1-102) and a first distal end 1-136 opposite the first proximal end 1-134. The securing mechanism may also include a second electronic strip 1-105b including a second proximal end 1-138 coupled to the housing 1-150 of the display unit 1-102 and a second distal end 1-140 opposite the second proximal end 1-138. The securing mechanism may also include a first band 1-116 and a second band 1-117, the first band including a first end 1-142 coupled to the first distal end 1-136 and a second end 1-144 coupled to the second distal end 1-140, and the second band extending between the first electronic strip 1-105a and the second electronic strip 1-105b. The strips 1-105a-b and the strip 1-116 may be coupled via a connecting mechanism or assembly 1-114. In at least one example, the second strip 1-117 includes a first end 1-146 coupled to the first electronic strip 1-105a between the first proximal end 1-134 and the first distal end 1-136 and a second end 1-148 coupled to the second electronic strip 1-105b between the second proximal end 1-138 and the second distal end 1-140.
[0085] In at least one example, the first and second electronic strips 1-105a-b include plastic, metal, or other structural materials formed into the shape of a substantially rigid strip 1-105a-b. In at least one example, the first band 1-116 and the second band 1-117 are formed from a resilient, flexible material including a woven textile, rubber, or the like. The first band 1-116 and the second band 1-117 can be flexible to conform to the shape of the user's head when the HMD 1-100 is worn.
[0086] In at least one example, one or more of the first and second electronic strips 1-105a-b can define an interior strip volume and include one or more electronic components disposed within the interior strip volume. Figure 1B As shown, the first electronic strip 1-105a may include an electronic component 1-112. In one example, the electronic component 1-112 may include a speaker. In one example, the electronic component 1-112 may include a computing component, such as a processor.
[0087] In at least one example, the housing 1-150 defines a first front opening 1-152. Figure 1B 1-152 in dashed lines because the display assembly 1-108 is configured to obscure the first opening 1-152 from the field of view when the HMD 1-100 is assembled. The housing 1-150 may also define a rear-mounted second opening 1-154. The housing 1-150 further defines an interior volume between the first opening 1-152 and the second opening 1-154. In at least one example, the HMD 1-100 includes a display assembly 1-108, which may include a front cover disposed in or across the front opening to obscure the front opening 1-152 and a display screen (shown in other figures). In at least one example, the display screen of the display assembly 1-108, and the display assembly 1-108 generally, has a curvature configured to follow the curvature of the user's face. The display screen of the display assembly 1-108 may be curved as shown to complement the user's facial features and the overall curvature from one side of the face to the other, such as from left to right and / or from top to bottom, with the display unit 1-102 pressed down.
[0088] In at least one example, the housing 1-150 may define a first aperture 1-126 between the first opening 1-152 and the second opening 1-154, and a second aperture 1-130 between the first opening 1-152 and the second opening 1-154. The HMD 1-100 may also include a first button 1-126 disposed in the first aperture 1-128, and a second button 1-132 disposed in the second aperture 1-130. The first button 1-128 and the second button 1-132 are capable of being pressed through the respective apertures 1-126, 1-130. In at least one example, the first button 1-126 and / or the second button 1-132 may be a twistable dial and a pressable button. In at least one example, the first button 1-128 is a pressable and twistable dial button, and the second button 1-132 is a pressable button.
[0089] Figure 1C A rear perspective view of an HMD 1-100 is illustrated. The HMD 1-100 may include a light seal 1-110 extending rearwardly from a housing 1-150 of a display assembly 1-108 around the perimeter of the housing 1-150, as shown. The light seal 1-110 may be configured to extend from the housing 1-150 to the user's face, surrounding the user's eyes, to block external light from being visible. In one example, the HMD 1-100 may include a first display assembly 1-120a and a second display assembly 1-120b, which are disposed at or within a rearward-facing second opening 1-154 defined by the housing 1-150 and / or within the interior volume of the housing 1-150 and are configured to project light through the second opening 1-154. In at least one example, each display assembly 1-120a-b may include a respective display screen 1-122a, 1-122b, which are configured to project light in a rearward direction through the second opening 1-154 toward the user's eyes.
[0090] In at least one example, reference Figure 1B and Figure 1C In both cases, the display assembly 1-108 may be a front-facing, forward-facing display assembly including a display screen configured to project light in a first, forward direction, and the rear-facing display screens 1-122a-b may be configured to project light in a second, rearward direction opposite the first direction. As described above, the light seal 1-110 may be configured to block light external to the HMD 1-100 from reaching the user's eyes, including by Figure 1B 1-108 is shown in a front perspective view of the HMD 1-100. In at least one example, the HMD 1-100 may further include a curtain 1-124 that obscures a second opening 1-154 between the housing 1-150 and the rear display assemblies 1-120a-b. In at least one example, the curtain 1-124 may be elastic or at least partially elastic.
[0091] Figure 1B and Figure 1C Any of the features, components and / or parts shown, including their arrangement and configuration, may be included alone or in any combination in Figures 1D to 1F Any of the other examples of devices, features, components, and parts shown and described herein. Figures 1D to 1F Any of the features, components and / or parts shown and described, including their arrangement and configuration, may be included alone or in any combination in the Figure 1B and Figure 1C Examples of equipment, features, components and parts shown.
[0092] Figure 1D An exploded view of an example of an HMD 1-200 is illustrated, the HMD including various parts or components that are separable according to the modularity and selective coupling of those components. For example, the HMD 1-200 may include a strap 1-216 that is selectively coupled to a first electronic strip 1-205a and a second electronic strip 1-205b. The first fixed strap 1-205a may include a first electronic component 1-212a, and the second fixed strap 1-205b may include a second electronic component 1-212b. In at least one example, the first and second straps 1-205a-b are removably coupled to the display unit 1-202.
[0093] Additionally, the HMD 1-200 may include an optical seal 1-210 configured to be removably coupled to the display unit 1-202. The HMD 1-200 may also include a lens 1-218 that may be removably coupled to the display unit 1-202, for example, on a first assembly including a display screen and a second display assembly. The lens 1-218 may include a custom prescription lens configured to correct vision. As noted, in Figure 1D Each of the parts shown in the exploded view of the HMD 1-200 and described above can be removably coupled, attached, reattached, and replaced to upgrade parts or swap out parts for different users. For example, bands such as the band 1-216, optical seals such as the optical seal 1-210, lenses such as the lens 1-218, and electronic strips such as the electronic strips 1-205a-b can be swapped out depending on the user so that these parts are customized to fit and correspond to an individual user of the HMD 1-200.
[0094] Figure 1D Any of the features, components and / or parts shown, including their arrangement and configuration, may be included alone or in any combination in Figure 1B 、 Figure 1C and Figures 1E to 1FAny of the other examples of devices, features, components, and parts shown and described herein. Figure 1B 、 Figure 1C and Figures 1E to 1F Any of the features, components and / or parts shown or described, including their arrangement and configuration, may be included alone or in any combination in Figure 1D Examples of equipment, features, components and parts shown.
[0095] Figure 1E An exploded view of an example of a display unit 1-306 of an HMD is illustrated. The display unit 1-306 may include a front display assembly 1-308, a frame / housing assembly 1-350, and a curtain assembly 1-324. The display unit 1-306 may also include a sensor assembly 1-350, a logic board assembly 1-358, and a cooling assembly 1-360 disposed between the frame assembly 1-356 and the front display assembly 1-308. In at least one example, the display unit 1-306 may also include a rear display assembly 1-320 including a first rear display screen 1-322a and a second rear display screen 1-322b disposed between the frame 1-350 and the curtain assembly 1-324.
[0096] In at least one example, the display unit 1-306 may further include a motor assembly 1-362 configured as an adjustment mechanism for adjusting the positioning of the display screens 1-322a-b of the display assembly 1-320 relative to the frame 1-350. In at least one example, the display assembly 1-320 is mechanically coupled to the motor assembly 1-362, with each display screen 1-322a-b having at least one motor, such that the motors can translate the display screens 1-322a-b to match the interpupillary distance of the user's eyes.
[0097] In at least one example, the display unit 1-306 may include a dial or button 1-328 that is depressible relative to the frame 1-350 and accessible by a user outside the frame 1-350. The button 1-328 may be electrically connected to the motor assembly 1-362 via a controller such that the button 1-328 may be manipulated by a user to cause a motor of the motor assembly 1-362 to adjust the positioning of the display screens 1-322a-b.
[0098] Figure 1E Any of the features, components and / or parts shown, including their arrangement and configuration, may be included alone or in any combination in Figures 1B to 1D and Figure 1F Any of the other examples of devices, features, components, and parts shown and described herein. Figures 1B to 1D and Figure 1FAny of the features, components and / or parts shown and described, including their arrangement and configuration, may be included alone or in any combination in the Figure 1E Examples of equipment, features, components and parts shown.
[0099] Figure 1F An exploded view of another example of a display unit 1-406 of an HMD device similar to other HMD devices described herein is illustrated. The display unit 1-406 may include a front display assembly 1-402, a sensor assembly 1-456, a logic board assembly 1-458, a cooling assembly 1-460, a frame assembly 1-450, a rear display assembly 1-421, and a curtain assembly 1-424. The display unit 1-406 may also include a motor assembly 1-462 for adjusting the positioning of the first display subassembly 1-420a and the second display subassembly 1-420b of the rear display assembly 1-421, including the first and second corresponding display screens for interpupillary adjustment, as described above.
[0100] Figure 1F The various parts, systems and assemblies shown in exploded views herein are referenced Figures 1B to 1E and subsequent figures referenced in this disclosure are described in more detail. Figure 1F The display unit 1-406 shown can be used with Figures 1B to 1E The illustrated fixing mechanisms are assembled and integrated, including electronic strips, ribbons, and other components including optical seals, connection assemblies, and the like.
[0101] Figure 1F Any of the features, components and / or parts shown, including their arrangement and configuration, may be included alone or in any combination in Figures 1B to 1E Any of the other examples of devices, features, components, and parts shown and described herein. Figures 1B to 1E Any of the features, components and / or parts shown and described, including their arrangement and configuration, may be included alone or in any combination in the Figure 1F Examples of equipment, features, components and parts shown.
[0102] Figure 1G 1 illustrates a perspective exploded view of a front cover assembly 3-100 of an HMD device described herein, such as Figure 1G The front cover assembly 3-1 of the illustrated HMD 3-100 or any other HMD device shown and described herein. Figure 1GThe illustrated front cover assembly 3-100 may include a transparent or translucent cover 3-102, a shield 3-104 (or "canopy"), an adhesive layer 3-106, a display assembly 3-108 including a lenticular lens panel or array 3-110, and a structural trim 3-112. The adhesive layer 3-106 may secure the shield 3-104 and / or the transparent cover 3-102 to the display assembly 3-108 and / or the trim 3-112. The trim 3-112 may secure the various components of the front cover assembly 3-100 to the frame or base of the HMD device.
[0103] In at least one example, Figure 1G As shown, the transparent cover 3-102, the shield 3-104, and the display assembly 3-108 including the lenticular lens array 3-110 can be bent to accommodate the curvature of the user's face. The transparent cover 3-102 and the shield 3-104 can be bent in two or three dimensions, for example, vertically in the Z direction within and outside the ZX plane, and horizontally in the X direction within and outside the ZX plane. In at least one example, the display assembly 3-108 may include the lenticular lens array 3-110 and a display panel having pixels that are configured to project light through the shield 3-104 and the transparent cover 3-102. The display assembly 3-108 can be bent in at least one direction (e.g., horizontally) to accommodate the curvature of the user's face from one side of the face (e.g., the left side) to the other side (e.g., the right side). In at least one example, each layer or component of the display assembly 3-108 (which will be shown in subsequent figures and described in more detail, but which may include a lenticular lens array 3-110 and a display layer) may be curved similarly or concentrically in the horizontal direction to accommodate the curvature of the user's face.
[0104] In at least one example, the shield 3-104 may include a transparent or translucent material through which the display assembly 3-108 projects light. In one example, the shield 3-104 may include one or more opaque portions, such as an opaque ink-printed portion or other opaque film portion on the back of the shield 3-104. When the HMD device is worn, the back surface may be the surface of the shield 3-104 that faces the user's eyes. In at least one example, the opaque portion may be on the front surface of the shield 3-104, opposite the back surface. In at least one example, the one or more opaque portions of the shield 3-104 may include a peripheral portion that visually conceals any components surrounding the outer perimeter of the display screen of the display assembly 3-108. In this manner, the opaque portion of the shield conceals any other components of the HMD device that would otherwise be visible through the transparent or translucent cover 3-102 and / or the shield 3-104, including electronic components, structural components, and the like.
[0105] In at least one example, the shield 3-104 may define one or more apertured transparent portions 3-120 through which sensors may transmit and receive signals. In one example, the portion 3-120 is an aperture through which a sensor may extend or transmit and receive signals. In one example, the portion 3-120 is a transparent portion, or a portion that is more transparent than surrounding translucent or opaque portions of the shield, through which sensors may transmit and receive signals through the shield and through the transparent cover 3-102. In one example, the sensor may include a camera, an IR sensor, a LUX sensor, or any other visual or non-visual environmental sensor of the HMD device.
[0106] Figure 1G Any of the features, components and / or parts shown, including arrangements and configurations thereof, may be included, alone or in any combination, in any of the other examples of devices, features, components and parts described herein. Similarly, any of the features, components and / or parts shown and described herein, including arrangements and configurations thereof, may be included, alone or in any combination, in any of the other examples of devices, features, components and parts described herein. Figure 1G Examples of equipment, features, components and parts shown.
[0107] Figure 1H An exploded view of an example of an HMD device 6-100 is illustrated. The HMD device 6-100 may include a sensor array or system 6-102 including one or more sensors, cameras, projectors, etc. mounted to one or more components of the HMD 6-100. In at least one example, the sensor system 6-102 may include a bracket 1-338 to which one or more sensors of the sensor system 6-102 may be secured / fastened.
[0108] Figure 1I A portion of an HMD device 6-100 is illustrated that includes a front transparent cover 6-104 and a sensor system 6-102. The sensor system 6-102 may include a plurality of different sensors, emitters, receivers, including cameras, IR sensors, projectors, etc. The transparent cover 6-104 is illustrated in front of the sensor system 6-102 to illustrate the relative positioning of the various sensors and emitters and the orientation of each sensor / emitter of the system 6-102. As referred to herein, "lateral," "sideways," "horizontal," and other similar terms refer to the orientation of the sensor system 6-102. Figure 1J The orientation or direction indicated by the X-axis shown. Terms such as "vertical", "upward", "downward" and similar terms refer to Figure 1J The orientation or direction indicated by the Z-axis shown. Terms such as "forward," "backward," "forward," "backward" and similar terms refer to the orientation or direction indicated by the Z-axis shown. Figure 1J The Y-axis shown indicates the orientation or direction.
[0109] In at least one example, a transparent cover 6-104 may define a front exterior surface of the HMD device 6-100, and a sensor system 6-102, including various sensors and components thereof, may be disposed in the Y axis / direction behind the cover 6-104. The cover 6-104 may be transparent or translucent to allow light to pass through the cover 6-104, including both light detected by the sensor system 6-102 and light emitted thereby.
[0110] As described elsewhere herein, the HMD device 6-100 may include one or more controllers including processors for electrically coupling the various sensors and transmitters of the sensor system 6-102 to one or more motherboards, processing units, and other electronic devices such as display screens. Furthermore, as will be shown in greater detail below with reference to other figures, the various sensors, transmitters, and other components of the sensor system 6-102 may be coupled to Figure 1I Various structural frame members, brackets, etc. of the HMD device 6-100 are not shown in the figure. For the sake of clarity of illustration, Figure 1I Components of the sensor system 6-102 are shown unattached and unelectrically coupled to other components.
[0111] In at least one example, the device may include one or more controllers having processors configured to execute instructions stored on a memory component electrically coupled to the processor. The instructions may include or cause the processor to execute one or more algorithms for self-correcting the angles and positions of the various cameras described herein over time as the initial position, angle, or orientation of the camera is bumped or deformed due to an accidental drop event or other event.
[0112] In at least one example, the sensor system 6-102 may include one or more scene cameras 6-106. The system 6-102 may include two scene cameras 6-102, one positioned on either side of the nose bridge or arch of the HMD device 6-100, such that each of the two cameras 6-106 roughly corresponds to the positioning of the user's left and right eyes behind the cover 6-103. In at least one example, the scene cameras 6-106 are generally oriented forward in the Y direction to capture images in front of the user during use of the HMD 6-100. In at least one example, the scene cameras are color cameras and provide images and content for MR video pass-through to a display screen facing the user's eyes when the HMD device 6-100 is in use. The scene cameras 6-106 may also be used for environment and object reconstruction.
[0113] In at least one example, the sensor system 6-102 may include a first depth sensor 6-108 pointing generally forward in the Y direction. In at least one example, the first depth sensor 6-108 may be used for environment and object reconstruction and hand and body tracking of the user. In at least one example, the sensor system 6-102 may include a second depth sensor 6-110 centrally located along the width of the HMD device 6-100 (e.g., along the X axis). For example, the second depth sensor 6-110 may be located above a central nose bridge or on an adapting structure above the user's nose when wearing the HMD 6-100. In at least one example, the second depth sensor 6-110 may be used for environment and object reconstruction and hand and body tracking. In at least one example, the second depth sensor may include a LIDAR sensor.
[0114] In at least one example, the sensor system 6-102 may include a depth projector 6-112 that faces generally forward to project electromagnetic waves (e.g., in a predetermined pattern of light dots) into or within the field of view of the user and / or scene camera 6-106, or into or within a field of view that includes and extends beyond the field of view of the user and / or scene camera 6-106. In at least one example, the depth projector may be capable of projecting electromagnetic waves of light in a pattern of light dots that reflect from an object and return to the depth sensors described above, including the depth sensors 6-108, 6-110. In at least one example, the depth projector 6-112 may be used for environment and object reconstruction and hand and body tracking.
[0115] In at least one example, the sensor system 6-102 may include downward-facing cameras 6-114 whose fields of view are generally directed downward on the Z-axis relative to the HMD device 6-100. In at least one example, the downward-facing cameras 6-114 may be disposed on the left and right sides of the HMD device 6-100 as shown and used for hand and body tracking, headset tracking, and facial avatar detection and creation for displaying a user avatar on a forward-facing display screen of the HMD device 6-100 as described elsewhere herein. For example, the downward-facing cameras 6-114 may be used to capture facial expressions and movements of a user's face, including cheeks, mouth, and chin, beneath the HMD device 6-100.
[0116] In at least one example, the sensor system 6-102 may include a jaw camera 6-116. In at least one example, the jaw cameras 6-116 may be positioned on the left and right sides of the HMD device 6-100 as shown and used for hand and body tracking, headset tracking, and facial avatar detection and creation for displaying a user avatar on a front-facing display screen of the HMD device 6-100 as described elsewhere herein. For example, the jaw camera 6-116 may be used to capture facial expressions and movements of a user's face beneath the HMD device 6-100, including the user's jaw, cheeks, mouth, and chin. Used for hand and body tracking, headset tracking, and facial avatar detection and creation
[0117] In at least one example, the sensor system 6-102 may include a side camera 6-118. The side camera 6-118 may be oriented to capture left and right side views in an X-axis or direction relative to the HMD device 6-100. In at least one example, the side camera 6-118 may be used for hand and body tracking, headset tracking, and facial avatar detection and reconstruction.
[0118] In at least one example, the sensor system 6-102 may include a plurality of eye tracking and gaze tracking sensors for determining the identity, status, and gaze direction of a user's eyes during and / or prior to use. In at least one example, the eye / gaze tracking sensors may include nose-eye cameras 6-120 that are positioned on either side of the user's nose and adjacent to the user's nose when the HMD device 6-100 is worn. The eye / gaze sensors may also include bottom eye cameras 6-122 positioned below the respective user's eyes for capturing images of the eyes for use in facial avatar detection and creation, gaze tracking, and iris identification functionality.
[0119] In at least one example, the sensor system 6-102 may include an infrared illuminator 6-124 that points outward from the HMD device 6-100 to illuminate the external environment and any objects therein with IR light for IR detection using one or more IR sensors of the sensor system 6-102. In at least one example, the sensor system 6-102 may include a flicker sensor 6-126 and an ambient light sensor 6-128. In at least one example, the flicker sensor 6-126 may detect the refresh rate of overhead light to avoid display flicker. In one example, the infrared illuminator 6-124 may include a light emitting diode and may be particularly useful in low-light environments for illuminating a user's hands and other objects in low light for detection by the infrared sensors of the sensor system 6-102.
[0120] In at least one example, a plurality of sensors (including a scene camera 6-106, a downward camera 6-114, a jaw camera 6-116, a side camera 6-118, a depth projector 6-112, and depth sensors 6-108, 6-110) may be used in combination with an electrically coupled controller to combine depth data with camera data for hand tracking and for size determination to better perform hand tracking and object recognition and tracking functions of the HMD device 6-100. In at least one example, as described above and in Figure 1I The downward camera 6-114, the jaw camera 6-116, and the side camera 6-118 shown in the figure can be wide-angle cameras capable of operating in the visible and infrared spectrum. In at least one example, these cameras 6-114, 6-116, 6-118 can operate only in black and white light detection to simplify image processing and gain sensitivity.
[0121] Figure 1I Any of the features, components and / or parts shown, including their arrangement and configuration, may be included alone or in any combination in Figures 1J to 1L Any of the other examples of devices, features, components, and parts shown and described herein. Figures 1J to 1L Any of the features, components and / or parts shown and described, including their arrangement and configuration, may be included alone or in any combination in the Figure 1I Examples of equipment, features, components and parts shown.
[0122] Figure 1J A lower perspective view of an example of an HMD 6-200 including a cover or shroud 6-204 secured to a frame 6-230 is illustrated. In at least one example, the sensors 6-202 of the sensor system 6-203 may be disposed around the perimeter of the HMD 6-200 such that the sensors 6-203 are disposed outwardly around the perimeter of the display area or zone 6-232 so as not to obstruct viewing of displayed light. In at least one example, the sensors may be disposed behind the shroud 6-204 and aligned with a transparent portion of the shroud, thereby allowing the sensors and projector to pass light back and forth through the shroud 6-204. In at least one example, opaque ink or other opaque material or film / layer may be disposed on the shroud 6-204 around the display zone 6-232 to conceal components of the HMD 6-200 outside of the display zone 6-232 rather than the transparent portion defined by the opaque portion through which the sensors and projector transmit and receive light and electromagnetic signals during operation. In at least one example, the shield 6-204 allows light to pass from the display (eg, within the display area 6-232), but does not allow light to pass radially outward from the display area around the display and the perimeter of the shield 6-204.
[0123] In some examples, the shield 6-204 includes a transparent portion 6-205 and an opaque portion 6-207, as described above and elsewhere herein. In at least one example, the opaque portion 6-204 of the shield 6-207 may define one or more transparent areas 6-209 through which the sensor 6-203 of the sensor system 6-202 may transmit and receive signals. In the illustrated example, the sensor 6-203 of the sensor system 6-202 transmits and receives signals through the shield 6-204, or more specifically, through (or defined by) the transparent areas 6-209 of the opaque portion 6-207 of the shield 6-204, which may include a sensor 6-203 that transmits and receives signals through the shield 6-204. Figure 1I The same or similar sensors as those shown in the example of FIG, such as the depth sensors 6-108 and 6-110, the depth projector 6-112, the first and second scene cameras 6-106, the first and second downward cameras 6-114, the first and second side cameras 6-118, and the first and second infrared illuminators 6-124. These sensors are also Figure 1K and Figure 1L Other sensors, sensor types, number of sensors, and their relative positioning may be included in one or more other examples of an HMD.
[0124] Figure 1J Any of the features, components and / or parts shown, including their arrangement and configuration, may be included alone or in any combination in Figure 1I and Figures 1K to 1L Any of the other examples of devices, features, components, and parts shown and described herein. Figure 1I and Figures 1K to 1L Any of the features, components and / or parts shown or described, including their arrangement and configuration, may be included alone or in any combination in Figure 1J Examples of equipment, features, components and parts shown.
[0125] Figure 1K Illustrated is a front view of a portion of an example of an HMD device 6-300, including a display 6-334, brackets 6-336, 6-338, and a frame or housing 6-330. Figure 1K The example shown does not include a front cover or shield in order to illustrate the brackets 6-336, 6-338. For example, Figure 1J The illustrated shield 6-204 includes an opaque portion 6-207 that would visually cover / block the view of anything outside (e.g., radially / peripherally outside) the display / display area 6-334, including the sensor 6-303 and bracket 6-338.
[0126] In at least one example, the various sensors of the sensor system 6-302 are coupled to brackets 6-336, 6-338. In at least one example, the scene cameras 6-306 include tight tolerances on angles relative to each other. For example, the tolerance on mounting angles between two scene cameras 6-306 may be 0.5 degrees or less, such as 0.3 degrees or less. To achieve and maintain such tight tolerances, in one example, the scene cameras 6-306 may be mounted to the bracket 6-338 instead of the shield. The bracket may include a cantilever on which the scene camera 6-306 and other sensors of the sensor system 6-302 may be mounted to maintain positioning and orientation in the event of a drop by a user that causes any deformation of the other brackets 6-226, the housing 6-330, and / or the shield.
[0127] Figure 1K Any of the features, components and / or parts shown, including their arrangement and configuration, may be included alone or in any combination in Figures 1I to 1J and Figure 1L Any of the other examples of devices, features, components, and parts shown and described herein. Figures 1I to 1J and Figure 1L Any of the features, components and / or parts shown or described, including their arrangement and configuration, may be included alone or in any combination in Figure 1K Examples of equipment, features, components and parts shown.
[0128] Figure 1L A bottom view of an example of an HMD 6-400 including a front display / cover assembly 6-404 and a sensor system 6-402 is illustrated. The sensor system 6-402 may be similar to the ones described above and elsewhere herein, including with reference to FIG. Figures 1I to 1K Other sensor systems described. In at least one example, the jaw camera 6-416 can face downward to capture images of the user's lower facial features. In one example, the jaw camera 6-416 can be directly coupled to the frame or housing 6-430 or one or more internal brackets that are directly coupled to the frame or housing 6-430 as shown. The frame or housing 6-430 may include one or more holes / openings 6-415 through which the jaw camera 6-416 can transmit and receive signals.
[0129] Figure 1L Any of the features, components and / or parts shown, including their arrangement and configuration, may be included alone or in any combination in Figures 1I to 1K Any of the other examples of devices, features, components, and parts shown and described herein. Figures 1I to 1K Any of the features, components and / or parts shown and described, including their arrangement and configuration, may be included alone or in any combination in the Figure 1L Examples of equipment, features, components and parts shown.
[0130] Figure 1M Illustrated is a rear perspective view of an interpupillary distance (IPD) adjustment system 11.1.1-102 comprising first and second optical modules 11.1.1-104a-b slidably engaged / coupled to respective guide rods 11.1.1-108a-b and motors 11.1.1-110a-b of left and right adjustment subsystems 11.1.1-106a-b. The IPD adjustment system 11.1.1-102 may be coupled to a bracket 11.1.1-112 and include a button 11.1.1-114 in electrical communication with the motors 11.1.1-110a-b. In at least one example, the button 11.1.1-114 may be in electrical communication with the first and second motors 11.1.1-110a-b via a processor or other circuit components to activate the first and second motors 11.1.1-110a-b and respectively change the positioning of the first and second optical modules 11.1.1-104a-b relative to each other.
[0131] In at least one example, the first and second optical modules 11.1.1-104a-b may include respective display screens configured to project light toward the user's eyes when the HMD 11.1.1-100 is worn. In at least one example, the user may manipulate (e.g., press and / or rotate) a button 11.1.1-114 to activate positioning adjustment of the optical modules 11.1.1-104a-b to match the interpupillary distance of the user's eyes. The optical modules 11.1.1-104a-b may also include one or more cameras or other sensors / sensor systems for imaging and measuring the user's IPD so that the optical modules 11.1.1-104a-b can be adjusted to match the IPD.
[0132] In one example, a user can manipulate button 11.1.1-114 to cause automatic positioning adjustment of the first and second optical modules 11.1.1-104a-b. In one example, a user can manipulate button 11.1.1-114 to cause manual adjustment, causing the optical modules 11.1.1-104a-b to move further or closer (e.g., when the user rotates button 11.1.1-114 one way or another) until the user visually matches their own IPD. In one example, the manual adjustment is communicated electronically via one or more circuits, and power for moving the optical modules 11.1.1-104a-b via motors 11.1.1-110a-b is provided by a power source. In one example, adjustment and movement of the optical modules 11.1.1-104a-b via manipulation button 11.1.1-114 is mechanically actuated via movement button 11.1.1-114.
[0133] Figure 1M Any of the features, components and / or parts shown, including arrangements and configurations thereof, may be included, alone or in any combination, in any other example of the apparatus, features, components and parts shown in any other drawing and described herein. Similarly, any of the features, components and / or parts shown or described with reference to any other drawing, including arrangements and configurations thereof, may be included, alone or in any combination, in any other example of the apparatus, features, components and parts shown in any other drawing and described herein. Figure 1M Examples of equipment, features, components and parts shown.
[0134] Figure 1N Illustrated is a front perspective view of a portion of an HMD 11.1.2-100 including an outer structural frame 11.1.2-102 and an inner or intermediate structural frame 11.1.2-104 defining a first aperture 11.1.2-106a and a second aperture 11.1.2-106b. Figure 1N 2-106a-b may be blocked by one or more other components of the HMD 11.1.2-100 coupled to the inner frame 11.1.2-104 and / or the outer frame 11.1.2-102, as shown. In at least one example, the HMD 11.1.2-100 may include a first mounting bracket 11.1.2-108 coupled to the inner frame 11.1.2-104. In at least one example, the mounting bracket 11.1.2-108 is coupled to the inner frame 11.1.2-104 between the first and second apertures 11.1.2-106a-b.
[0135] The mounting bracket 11.1.2-108 can include a middle or center portion 11.1.2-109 coupled to the inner frame 11.1.2-104. In some examples, the middle or center portion 11.1.2-109 may not be the geometric middle or center of the bracket 11.1.2-108. Instead, the middle / center portion 11.1.2-109 can be disposed between first and second cantilevered extension arms extending away from the middle portion 11.1.2-109. In at least one example, the mounting bracket 108 includes a first cantilevered arm 11.1.2-112 and a second cantilevered arm 11.1.2-114 extending away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108 coupled to the inner frame 11.1.2-104.
[0136] like Figure 1N As shown, the outer frame 11.1.2-102 can define a curved geometry on its underside to accommodate the user's nose when the user wears the HMD 11.1.2-100. The curved geometry can be referred to as a nose bridge 11.1.2-111 and is centrally located on the underside of the HMD 11.1.2-100 as shown. In at least one example, the mounting bracket 11.1.2-108 can be connected to the inner frame 11.1.2-104 between the holes 11.1.2-106a-b so that the cantilevered arms 11.1.2-112, 11.1.2-114 extend downwardly and laterally outwardly away from the middle portion 11.1.2-109 to complement the nose bridge 11.1.2-111 geometry of the outer frame 11.1.2-102. In this way, the mounting bracket 11.1.2-108 is configured to accommodate the user's nose, as described above. The geometry of the nose bridge 11.1.2-111 adapts to the nose in that the nose bridge 11.1.2-111 provides a curvature that conforms to the shape of the user's nose, providing a comfortable fit from above, over, and around.
[0137] The first cantilever arm 11.1.2-112 can extend in a first direction away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108, and the second cantilever arm 11.1.2-114 can extend in a second direction opposite to the first direction away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108. The first cantilever arm 11.1.2-112 and the second cantilever arm 11.1.2-114 are referred to as "cantilevered" or "cantilever" arms because each arm 11.1.2-112, 11.1.2-114 includes a free distal end 11.1.2-116, 11.1.2-118, respectively, which are not attached to the inner frame 11.1.2-102 and the outer frame 11.1.2-104. In this way, the arms 11.1.2-112, 11.1.2-114 depend from the middle portion 11.1.2-109, which is connectable to the inner frame 11.1.2-104, while the distal ends 11.1.2-102, 11.1.2-104 are unattached.
[0138] In at least one example, the HMD 11.1.2-100 may include one or more components coupled to a mounting bracket 11.1.2-108. In one example, the components include a plurality of sensors 11.1.2-110a-f. Each of the plurality of sensors 11.1.2-110a-f may include various types of sensors, including cameras, IR sensors, and the like. In some examples, one or more of the sensors 11.1.2-110a-f may be used for object recognition in three-dimensional space, making it important to maintain the precise relative position of two or more of the plurality of sensors 11.1.2-110a-f. The cantilevered nature of the mounting bracket 11.1.2-108 may protect the sensors 11.1.2-110a-f from damage and altered positioning if accidentally dropped by a user. Because the sensors 11.1.2-110a-f are cantilevered on the arms 11.1.2-112, 11.1.2-114 of the mounting bracket 11.1.2-108, stresses and deformations of the inner frame and / or outer frame 11.1.2-104, 11.1.2-102 are not transferred to the cantilevered arms 11.1.2-112, 11.1.2-114 and therefore do not affect the relative positioning of the sensors 11.1.2-110a-f coupled / mounted to the mounting bracket 11.1.2-108.
[0139] Figure 1NAny of the features, components and / or parts shown, including their arrangements and configurations, may be included alone or in any combination in any other example of the apparatus, features, components described herein. Similarly, any of the features, components and / or parts shown and described herein, including their arrangements and configurations, may be included alone or in any combination in any other example of the apparatus, features, components described herein. Figure 1N Examples of equipment, features, components and parts shown.
[0140] Figure 1O An example of an optical module 11.3.2-100 for use in an electronic device, such as an HMD, including an HMD device as described herein is illustrated. As shown in one or more other examples described herein, the optical module 11.3.2-100 can be one of two optical modules within the HMD, where each optical module is aligned to project light toward an eye of a user. In this manner, a first optical module can project light toward a first eye of a user via a display screen, and a second optical module of the same device can project light toward a second eye of the user via another display screen.
[0141] In at least one example, the optical module 11.3.2-100 may include an optical frame or housing 11.3.2-102, which may also be referred to as a barrel or optical module barrel. The optical module 11.3.2-100 may also include a display 11.3.2-104 coupled to the housing 11.3.2-102, the display including one or more display screens. The display 11.3.2-104 may be coupled to the housing 11.3.2-102 such that the display 11.3.2-104 is configured to project light toward the eyes of a user when wearing the HMD to which the display module 11.3.2-100 belongs during use. In at least one example, the housing 11.3.2-102 may surround the display 11.3.2-104 and provide connection features for coupling other components of the optical module described herein.
[0142] In one example, the optical module 11.3.2-100 may include one or more cameras 11.3.2-106 coupled to the housing 11.3.2-102. The cameras 11.3.2-106 may be positioned relative to the display 11.3.2-104 and the housing 11.3.2-102 such that the cameras 11.3.2-106 are configured to capture one or more images of a user's eyes during use. In at least one example, the optical module 11.3.2-100 may also include a light strip 11.3.2-108 surrounding the display 11.3.2-104. In one example, the light strip 11.3.2-108 is disposed between the display 11.3.2-104 and the cameras 11.3.2-106. The light strip 11.3.2-108 may include a plurality of lights 11.3.2-110. The plurality of lights may include one or more light emitting diodes (LEDs) or other lights configured to project light toward the eyes of the user when the HMD is worn. The individual lights 11.3.2-110 in the light strip 11.3.2-108 may be spaced apart around the light strip 11.3.2-108 and, therefore, evenly or unevenly spaced around the display 11.3.2-104 at various locations on the light strip 11.3.2-108 and around the display 11.3.2-104.
[0143] In at least one example, the housing 11.3.2-102 defines a viewing opening 11.3.2-101 through which the user can view the display 11.3.2-104 when wearing the HMD device. In at least one example, the LEDs are configured and arranged to emit light through the viewing opening 11.3.2-101 toward the user's eyes. In one example, the camera 11.3.2-106 is configured to capture one or more images of the user's eyes through the viewing opening 11.3.2-101.
[0144] As mentioned above, Figure 1O Each of the components and features of the illustrated optical module 11.3.2-100 may be replicated in another (eg, second) optical module provided with the HMD to interact with (eg, project light and capture images) the user's other eye.
[0145] Figure 1O Any of the features, components and / or parts shown, including their arrangement and configuration, may be included alone or in any combination in Figure 1P Any of the other examples of devices, features, components, and parts shown or otherwise described herein. Figure 1P Any of the features, components and / or parts shown or described herein, including their arrangement and configuration, may be included alone or in any combination in Figure 1OExamples of equipment, features, components and parts shown.
[0146] Figure 1P A cross-sectional view of an example of an optical module 11.3.2-200 is illustrated, including a housing 11.3.2-202, a display assembly 11.3.2-204 coupled to the housing 11.3.2-202, and a lens 11.3.2-216 coupled to the housing 11.3.2-202. In at least one example, the housing 11.3.2-202 defines a first aperture or channel 11.3.2-212 and a second aperture or channel 11.3.2-214. The channels 11.3.2-212, 11.3.2-214 can be configured to slidably engage corresponding tracks or guides of an HMD device to allow the optical module 11.3.2-200 to be adjusted relative to the user's eyes to match the user's interpupillary distance (IPD). The housing 11.3.2-202 can slidably engage the guides to secure the optical module 11.3.2-200 in place within the HMD.
[0147] In at least one example, the optical module 11.3.2-200 may further include a lens 11.3.2-216 coupled to the housing 11.3.2-202 and positioned between the display assembly 11.3.2-204 and the user's eyes when the HMD is worn. The lens 11.3.2-216 may be configured to direct light from the display assembly 11.3.2-204 to the user's eyes. In at least one example, the lens 11.3.2-216 may be part of a lens assembly including a corrective lens that is removably attached to the optical module 11.3.2-200. In at least one example, the lens 11.3.2-216 is disposed above the light strip 11.3.2-208 and the one or more eye tracking cameras 11.3.2-206 such that the camera 11.3.2-206 is configured to capture an image of the user's eyes through the lens 11.3.2-216, and the light strip 11.3.2-208 includes lights configured to project light into the user's eyes through the lens 11.3.2-216 during use.
[0148] Figure 1P Any of the features, components and / or parts shown, including arrangements and configurations thereof, may be included, alone or in any combination, in any of the other examples of devices, features, components and parts described herein. Similarly, any of the features, components and / or parts shown and described herein, including arrangements and configurations thereof, may be included, alone or in any combination, in any of the other examples of devices, features, components and parts described herein. Figure 1P Examples of equipment, features, components and parts shown.
[0149] Figure 2is a block diagram of an example of a controller 110 according to some embodiments. While certain specific features are illustrated, those skilled in the art will appreciate from this disclosure that various other features are not illustrated for the sake of brevity and so as not to obscure more relevant aspects of the embodiments disclosed herein. To this end, as a non-limiting example, in some embodiments, the controller 110 includes one or more processing units 202 (e.g., a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a graphics processing unit (GPU), a central processing unit (CPU), a processing core, etc.), one or more input / output (I / O) devices 206, one or more communication interfaces 208 (e.g., a universal serial bus (USB), FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Global Positioning System (GPS), infrared (IR), Bluetooth, ZIGBEE, and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 210, a memory 220, and one or more communication buses 204 for interconnecting these components and various other components.
[0150] In some embodiments, the one or more communication buses 204 include circuits that interconnect and control communications between system components. In some embodiments, the one or more I / O devices 206 include at least one of a keyboard, a mouse, a touchpad, a joystick, one or more microphones, one or more speakers, one or more image sensors, one or more displays, and the like.
[0151] Memory 220 includes high-speed random access memory, such as dynamic random access memory (DRAM), static random access memory (SRAM), double data rate random access memory (DDR RAM), or other random access solid-state memory devices. In some embodiments, memory 220 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 220 optionally includes one or more storage devices located away from one or more processing units 202. Memory 220 includes non-transitory computer-readable storage media. In some embodiments, memory 220 or a non-transitory computer-readable storage medium of memory 220 stores the following programs, modules, and data structures, or a subset thereof, including an optional operating system 230 and an XR experience module 240.
[0152] The operating system 230 includes instructions for handling various basic system services and for performing hardware-related tasks. In some embodiments, the XR experience module 240 is configured to manage and coordinate single or multiple XR experiences for one or more users (e.g., a single XR experience for one or more users, or multiple XR experiences for corresponding groups of one or more users). To this end, in various embodiments, the XR experience module 240 includes a data acquisition unit 241, a tracking unit 242, a coordination unit 246, and a data transmission unit 248.
[0153] In some embodiments, the data acquisition unit 241 is configured to Figure 1A 1 and / or peripherals 195. The data acquisition unit 241 may be configured to acquire data (e.g., presentation data, interaction data, sensor data, position data, etc.) from at least the display generation component 120 of the display generation component 120, and optionally from one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. To this end, in various embodiments, the data acquisition unit 241 includes instructions and / or logic for instructions, as well as heuristics and metadata for the heuristics.
[0154] In some embodiments, the tracking unit 242 is configured to map the scene 105 and track at least the display generation component 120 relative to the scene 105. Figure 1A The tracking unit 242 includes instructions and / or logic for instructions and heuristics and metadata for the heuristics. In some embodiments, the tracking unit 242 includes a hand tracking unit 244 and / or an eye tracking unit 243. In some embodiments, the hand tracking unit 244 is configured to track the position / location of one or more parts of the user's hand and / or the position of one or more parts of the user's hand relative to the scene 105. Figure 1A The movement of the scene 105 relative to the display generation component 120 and / or relative to the coordinate system (the coordinate system is defined relative to the user's hand). Figure 4 The hand tracking unit 244 is described in more detail. In some embodiments, the eye tracking unit 243 is configured to track the position or movement of the user's gaze (or more broadly, the user's eyes, face, or head) relative to the scene 105 (e.g., relative to the physical environment and / or relative to the user (e.g., the user's hands)) or relative to the XR content displayed via the display generation component 120. Figure 5 The eye tracking unit 243 is described in more detail.
[0155] In some embodiments, the coordination unit 246 is configured to manage and coordinate the XR experience presented to the user by the display generation component 120, and optionally by one or more of the output device 155 and / or the peripheral devices 195. To this end, in various embodiments, the coordination unit 246 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0156] In some embodiments, the data sending unit 248 is configured to send data (e.g., presentation data, position data, etc.) to at least the display generation component 120, and optionally to one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. To this end, in various embodiments, the data sending unit 248 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0157] Although the data acquisition unit 241, the tracking unit 242 (e.g., including the eye tracking unit 243 and the hand tracking unit 244), the coordination unit 246, and the data sending unit 248 are shown as residing on a single device (e.g., the controller 110), it should be understood that in other embodiments, any combination of the data acquisition unit 241, the tracking unit 242 (e.g., including the eye tracking unit 243 and the hand tracking unit 244), the coordination unit 246, and the data sending unit 248 may be located in separate computing devices.
[0158] also, Figure 2 It serves more as a functional description of various features that may be present in a particular implementation, rather than as a structural diagram of the embodiments described herein. As one of ordinary skill in the art will recognize, items shown separately may be combined, and some items may be separated. For example, Figure 2 Some functional modules shown separately in the figure may be implemented in a single module, and the various functions of a single functional block may be implemented by one or more functional blocks in various embodiments. The actual number of modules and the division of specific functions and how features are distributed among them will vary depending on the specific implementation and, in some embodiments, will depend in part on the specific combination of hardware, software, and / or firmware selected for a particular implementation.
[0159] Figure 3is a block diagram of an example of a display generation component 120 according to some embodiments. While certain specific features are illustrated, those skilled in the art will appreciate from this disclosure that various other features are not illustrated for the sake of brevity and so as not to obscure more relevant aspects of the embodiments disclosed herein. To this end, as a non-limiting example, in some embodiments, the display generation component 120 (e.g., an HMD) includes one or more processing units 302 (e.g., a microprocessor, an ASIC, an FPGA, a GPU, a CPU, a processing core, etc.), one or more input / output (I / O) devices and sensors 306, one or more communication interfaces 308 (e.g., USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE802.16x, GSM, CDMA, TDMA, GPS, IR, Bluetooth, ZIGBEE, and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 310, one or more XR displays 312, one or more optional inward-facing and / or outward-facing image sensors 314, memory 320, and one or more communication buses 304 for interconnecting these and various other components.
[0160] In some embodiments, one or more communication buses 304 include circuits for interconnecting and controlling communications between various system components. In some embodiments, one or more I / O devices and sensors 306 include an inertial measurement unit (IMU), an accelerometer, a gyroscope, a thermometer, one or more physiological sensors (e.g., a blood pressure monitor, a heart rate monitor, a blood oxygen sensor, a blood glucose sensor, etc.), one or more microphones, one or more speakers, a haptic engine, and / or one or more depth sensors (e.g., structured light, time of flight, etc.), etc.
[0161] In some embodiments, one or more XR displays 312 are configured to provide an XR experience to the user. In some embodiments, one or more XR displays 312 correspond to holographic, digital light processing (DLP), liquid crystal display (LCD), liquid crystal on silicon (LCoS), organic light-emitting field effect transistor (OLET), organic light-emitting diode (OLED), surface conduction electron emission display (SED), field emission display (FED), quantum dot light-emitting diode (QD-LED), microelectromechanical system (MEMS) and / or similar display types. In some embodiments, one or more XR displays 312 correspond to diffraction, reflection, polarization, holographic and other waveguide displays. For example, the display generation component 120 (e.g., HMD) includes a single XR display. In another example, the display generation component 120 includes an XR display for each eye of the user. In some embodiments, one or more XR displays 312 are capable of presenting MR and VR content. In some embodiments, one or more XR displays 312 are capable of presenting MR or VR content.
[0162] In some embodiments, the one or more image sensors 314 are configured to acquire image data corresponding to at least a portion of the user's face, including the user's eyes (and may be referred to as an eye-tracking camera). In some embodiments, the one or more image sensors 314 are configured to acquire image data corresponding to the user's hands and, optionally, at least a portion of the user's arms (and may be referred to as a hand-tracking camera). In some embodiments, the one or more image sensors 314 are configured to face forward so as to acquire image data corresponding to the scene that the user would see in the absence of the display generation component 120 (e.g., an HMD) (and may be referred to as a scene camera). The one or more optional image sensors 314 may include one or more RGB cameras (e.g., having a complementary metal oxide semiconductor (CMOS) image sensor or a charge coupled device (CCD) image sensor), one or more infrared (IR) cameras, and / or one or more event-based cameras, among others.
[0163] Memory 320 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices. In some embodiments, memory 320 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 320 optionally includes one or more storage devices located away from one or more processing units 302. Memory 320 includes non-transitory computer-readable storage media. In some embodiments, memory 320 or a non-transitory computer-readable storage medium of memory 320 stores the following programs, modules, and data structures, or a subset thereof, including an optional operating system 330 and an XR rendering module 340.
[0164] The operating system 330 includes processes for handling various basic system services and for performing hardware-related tasks. In some embodiments, the XR rendering module 340 is configured to present XR content to the user via one or more XR displays 312. To this end, in various embodiments, the XR rendering module 340 includes a data acquisition unit 342, an XR rendering unit 344, an XR map generation unit 346, and a data transmission unit 348.
[0165] In some embodiments, the data acquisition unit 342 is configured to at least Figure 1A The controller 110 acquires data (e.g., presentation data, interaction data, sensor data, location data, etc.). To this end, in various embodiments, the data acquisition unit 342 includes instructions and / or logic for instructions and heuristics and metadata for the heuristics.
[0166] In some embodiments, the XR rendering unit 344 is configured to render XR content via one or more XR displays 312. To this end, in various embodiments, the XR rendering unit 344 includes instructions and / or logic for instructions as well as heuristics and metadata for the heuristics.
[0167] In some embodiments, the XR map generation unit 346 is configured to generate an XR map (e.g., a 3D map of a mixed reality scene or a map of a physical environment in which computer-generated objects can be placed to generate an extended reality) based on the media content data. To this end, in various embodiments, the XR map generation unit 346 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0168] In some embodiments, the data sending unit 348 is configured to send data (e.g., presentation data, position data, etc.) to at least the controller 110, and optionally one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. To this end, in various embodiments, the data sending unit 348 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0169] Although the data acquisition unit 342, the XR rendering unit 344, the XR map generation unit 346, and the data transmission unit 348 are shown as residing on a single device (e.g., Figure 1A , but it should be understood that in other embodiments, any combination of the data acquisition unit 342, the XR rendering unit 344, the XR map generation unit 346, and the data sending unit 348 may be located in a separate computing device.
[0170] also, Figure 3 It serves more as a functional description of various features that may be present in a particular embodiment, rather than as a structural schematic diagram of the embodiments described herein. As one of ordinary skill in the art will recognize, items shown separately may be combined, and some items may be separated. For example, Figure 3 Some functional modules shown separately in the figure may be implemented in a single module, and the various functions of a single functional block may be implemented by one or more functional blocks in various embodiments. The actual number of modules and the division of specific functions and how features are distributed among them will vary depending on the specific implementation and, in some embodiments, will depend in part on the specific combination of hardware, software, and / or firmware selected for a particular implementation.
[0171] Figure 4 is a schematic illustration of an example embodiment of a hand tracking device 140. In some embodiments, the hand tracking device 140 ( Figure 1A ) is controlled by the hand tracking unit 244 ( Figure 2 ) to track the position / location of one or more parts of a user's hand, and / or one or more parts of a user's hand relative to Figure 1A The hand tracking device 140 is configured to monitor movement of the scene 105 relative to the user's surroundings (e.g., relative to a portion of the physical environment surrounding the user, relative to the display generation component 120, or relative to a portion of the user (e.g., the user's face, eyes, or head), and / or relative to a coordinate system defined relative to the user's hands). In some embodiments, the hand tracking device 140 is part of the display generation component 120 (e.g., embedded in or attached to the head-mounted device). In some embodiments, the hand tracking device 140 is separate from the display generation component 120 (e.g., located in a separate housing or attached to a separate physical support structure).
[0172] In some embodiments, hand tracking device 140 includes an image sensor 404 (e.g., one or more IR cameras, 3D cameras, depth cameras, and / or color cameras, etc.) that captures three-dimensional scene information, including at least a human user's hand 406. Image sensor 404 captures hand images at a sufficient resolution to allow the fingers and their respective positioning to be distinguished. Image sensor 404 typically captures images of other parts of the user's body, or may also capture images of all parts of the body, and may have zoom capabilities or specialized sensors with increased magnification to capture hand images at a desired resolution. In some embodiments, image sensor 404 also captures 2D color video images of hand 406 and other elements of the scene. In some embodiments, image sensor 404 is used in conjunction with other image sensors to capture the physical environment of scene 105, or serves as an image sensor for capturing the physical environment of scene 105. In some embodiments, the image sensor is positioned relative to the user or the user's environment in such a way that the field of view of image sensor 404, or a portion thereof, is used to define an interaction space in which hand movements captured by the image sensor are treated as input to controller 110.
[0173] In some embodiments, the image sensor 404 outputs a sequence of frames containing 3D image data (and possibly color image data) to the controller 110, which extracts high-level information from the image data. This high-level information is typically provided via an application program interface (API) to an application running on the controller, which in turn drives the display generation component 120. For example, a user can interact with the software running on the controller 110 by moving his hand 406 and changing his hand pose.
[0174] In some embodiments, the image sensor 404 projects a speckled pattern onto a scene containing the hand 406 and captures an image of the projected pattern. In some embodiments, the controller 110 calculates the 3D coordinates of points in the scene (including points on the surface of the user's hand) by triangulation based on the lateral offsets of the spots in the pattern. This approach is advantageous because it does not require the user to hold or wear any kind of beacon, sensor, or other marker. The method gives the depth coordinates of a point in the scene relative to a predetermined reference plane at a specific distance from the image sensor 404. In the present disclosure, it is assumed that the image sensor 404 defines an orthogonal set of x-axis, y-axis, and z-axis such that the depth coordinates of a point in the scene correspond to the z component measured by the image sensor. Alternatively, the image sensor 404 (e.g., a hand tracking device) may use other 3D mapping methods, such as stereo imaging or time-of-flight measurement, based on a single or multiple cameras or other types of sensors.
[0175] In some embodiments, the hand tracking device 140 captures and processes a time series of depth maps containing the user's hand as the user moves his hand (e.g., the entire hand or one or more fingers). Software running on the image sensor 404 and / or the processor in the controller 110 processes the 3D map data to extract image patch descriptors of the hand in these depth maps. The software can match these descriptors with image patch descriptors stored in the database 408 based on a previous learning process to estimate the pose of the hand in each frame. The pose typically includes the 3D positions of the user's hand joints and fingertips.
[0176] The software can also analyze the trajectory of the hand and / or finger over multiple frames in the sequence to identify gestures. The pose estimation function described herein can be interleaved with the motion tracking function so that the image block-based pose estimation is performed only once every two (or more) frames, and tracking is used to find changes in pose that occur over the remaining frames. The pose, motion, and gesture information is provided to the application running on the controller 110 via the above-mentioned API. The application can, for example, move and modify the image presented on the display generation component 120 in response to the pose and / or gesture information, or perform other functions.
[0177] In some embodiments, gestures include air gestures. An air gesture is a gesture that is detected without the user touching an input element that is part of a device (e.g., computer system 101, one or more input devices 125, and / or hand tracking device 140) (or independent of an input element that is part of the device) and is based on detected movement of a part of the user's body (e.g., head, one or more arms, one or more hands, one or more fingers, and / or one or more legs) through air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of a user's finger relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tap gesture in which the hand moves a predetermined amount and / or speed in a predetermined posture, or a shake gesture including a predetermined speed or amount of rotation of a part of the user's body).
[0178] In some embodiments, according to some embodiments, the input gestures used in the various examples and embodiments described herein include air gestures for interacting with an XR environment (e.g., a virtual or mixed reality environment) performed by movement of a user's fingers relative to other fingers (or a part of the user's hand). In some embodiments, an air gesture is a gesture that is detected without the user touching an input element that is part of the device (or is independent of an input element that is part of the device) and is based on detected movement of a part of the user's body through the air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tap gesture in which the hand moves a predetermined amount and / or speed in a predetermined posture, or a shake gesture including a predetermined speed or amount of rotation of a part of the user's body)).
[0179] In some embodiments where the input gesture is an in-air gesture (e.g., in the absence of physical contact with an input device that provides information to the computer system about which user interface element is the target of the user input, such as contact with a user interface element displayed on a touch screen, or contact with a mouse or trackpad to move a cursor to a user interface element), the gesture takes into account the user's attention (e.g., gaze) to determine the target of the user input (e.g., for direct input, as described below). Thus, in embodiments involving in-air gestures, for example, the input gesture is combined (e.g., simultaneously) with movement of the user's fingers and / or hand to detect attention (e.g., gaze) toward a user interface element to perform a pinch and / or tap input, as described in more detail below.
[0180] In some embodiments, an input gesture directed to a user interface object is performed directly or indirectly with reference to the user interface object. For example, user input is performed directly on the user interface object based on performing input with the user's hand at a location corresponding to the location of the user interface object in the three-dimensional environment (e.g., as determined based on the user's current viewpoint). In some embodiments, upon detecting the user's attention (e.g., gaze) to the user interface object, an input gesture is performed indirectly on the user interface object based on the user's hand being located not at the location corresponding to the location of the user interface object in the three-dimensional environment while the user performs the input gesture. For example, for direct input gestures, the user is enabled to direct the user's input to the user interface object by initiating a gesture at or near a location corresponding to the displayed location of the user interface object (e.g., within 0.5 cm, 1 cm, 5 cm, or a distance between 0 and 5 cm measured from the outer edge of the option or the center portion of the option). For indirect input gestures, the user is enabled to direct the user's input to the user interface object by focusing on the user interface object (e.g., by gazing at the user interface object), and while focusing on the option, the user initiates an input gesture (e.g., at any location detectable by the computer system) (e.g., at a location that does not correspond to the displayed location of the user interface object).
[0181] In some embodiments, according to some embodiments, input gestures (e.g., air gestures) used in various examples and embodiments described herein include pinch input and tap input for interacting with a virtual or mixed reality environment. For example, the pinch input and tap input described below are performed as air gestures.
[0182] In some embodiments, a pinch input is part of an air gesture that includes one or more of: a pinch gesture, a long pinch gesture, a pinch and drag gesture, or a double pinch gesture. For example, a pinch gesture as an air gesture includes movement of two or more fingers of a hand to make contact with each other, that is, optionally followed by a break in contact with each other immediately (e.g., within 0 seconds to 1 second). A long pinch gesture as an air gesture includes movement of two or more fingers of a hand in contact with each other for at least a threshold amount of time (e.g., at least 1 second) before a break in contact with each other is detected. For example, a long pinch gesture includes the user maintaining a pinch gesture (e.g., in which the two or more fingers are in contact), and the long pinch gesture continues until a break in contact between the two or more fingers is detected. In some embodiments, a double pinch gesture as an air gesture includes two (e.g., more) pinch inputs (e.g., performed by the same hand) that are detected consecutively with each other immediately (e.g., within a predefined time period). For example, the user performs a first pinch input (e.g., a pinch input or a long pinch input), releases the first pinch input (e.g., interrupts contact between two or more fingers), and performs a second pinch input within a predefined time period (e.g., within 1 second or within 2 seconds) after releasing the first pinch input.
[0183] In some embodiments, a pinch and drag gesture as an air gesture includes a pinch gesture (e.g., a pinch gesture or a long pinch gesture) performed in conjunction with (e.g., following) a drag input that changes the position of the user's hand from a first position (e.g., the starting position of the drag) to a second position (e.g., the ending position of the drag). In some embodiments, the user maintains the pinch gesture while performing the drag input, and releases the pinch gesture (e.g., opens their two or more fingers) to end the drag gesture (e.g., at the second position). In some embodiments, the pinch input and the drag input are performed by the same hand (e.g., the user pinches two or more fingers to contact each other and moves the same hand to a second position in the air using a drag gesture). In some embodiments, the pinch input is performed by the user's first hand, and the drag input is performed by the user's second hand (e.g., the user's second hand moves in the air from the first position to the second position while the user continues the pinch input with the user's first hand). In some embodiments, an input gesture as an air gesture includes input performed using both hands of the user (e.g., a pinch and / or tap input). For example, the input gesture includes two (e.g., more) pinch inputs performed in conjunction with each other (e.g., simultaneously or within a predefined time period). For example, a first pinch gesture (e.g., a pinch input, a long pinch input, or a pinch and drag input) is performed using a first hand of a user, and a second pinch input is performed using another hand (e.g., a second hand of the user) in conjunction with the pinch input performed using the first hand. In some embodiments, movement between the user's two hands (e.g., increasing and / or decreasing the distance or relative orientation between the user's two hands) occurs.
[0184] In some embodiments, a tap input performed as an air gesture (e.g., pointing to a user interface element) includes movement of a user's finger toward the user interface element, movement of the user's hand toward the user interface element (optionally, extension of the user's finger toward the user interface element), a downward motion of the user's finger (e.g., mimicking a mouse click motion or a tap on a touch screen), or other predefined movement of the user's hand. In some embodiments, a tap input performed as an air gesture is detected based on movement characteristics of the finger or hand performing the tap gesture movement of the finger or hand, which is a movement of the finger or hand away from the user's viewpoint and / or toward an object that is the target of the tap input, followed by an end of the movement. In some embodiments, the end of the movement is detected based on a change in movement characteristics of the finger or hand performing the tap gesture (e.g., an end of movement away from the user's viewpoint and / or toward an object that is the target of the tap input, a reversal of the direction of movement of the finger or hand, and / or a reversal of the acceleration direction of the movement of the finger or hand).
[0185] In some embodiments, the user's attention is determined to be directed toward a portion of the three-dimensional environment based on detection of a gaze directed toward the portion of the three-dimensional environment (optionally, no other conditions are required). In some embodiments, the user's attention is determined to be directed toward a portion of the three-dimensional environment based on detection of a gaze directed toward the portion of the three-dimensional environment using one or more additional conditions, such as requiring the gaze to be directed toward the portion of the three-dimensional environment for at least a threshold duration (e.g., a dwell duration) and / or requiring the gaze to be directed toward the portion of the three-dimensional environment when the user's viewpoint is within a distance threshold from the portion of the three-dimensional environment, so that the device determines that the user's attention is directed toward the portion of the three-dimensional environment, wherein if one of these additional conditions is not met, the device determines that the attention is not directed toward the portion of the three-dimensional environment to which the gaze is directed (e.g., until the one or more additional conditions are met).
[0186] In some embodiments, the detection of a ready state configuration of a user or a portion of a user is detected by a computer system. The detection of a ready state configuration of a hand is used by the computer system as an indication that the user may be preparing to interact with the computer system using one or more air gesture inputs performed by the hand (e.g., a pinch, a tap, a pinch and drag, a double pinch, a long pinch, or other air gestures described herein). For example, the ready state of a hand is determined based on whether the hand has a predetermined hand shape (e.g., a pre-pinch shape with the thumb and one or more fingers extended and spaced apart in preparation for a pinch or grab gesture, or a pre-tap with one or more fingers extended and the palm facing away from the user), based on whether the hand is in a predetermined position relative to the user's viewpoint (e.g., below the user's head and above the user's waist and extending at least 15 cm, 20 cm, 25 cm, 30 cm, or 50 cm from the body), and / or based on whether the hand has moved in a particular manner (e.g., toward an area in front of the user above the user's waist and below the user's head, or away from the user's body or legs). In some embodiments, the ready state is used to determine whether an interactive element of a user interface responds to attention (e.g., gaze) input.
[0187] In scenarios where input is described with reference to in-air gestures, it should be understood that similar gestures may be detected using a hardware input device attached to or held by one or more hands of a user, where the positioning of the hardware input device in space may be tracked using optical tracking, one or more accelerometers, one or more gyroscopes, one or more magnetometers, and / or one or more inertial measurement units, and the positioning and / or movement of the hardware input device is used in place of the positioning and / or movement of the one or more hands in the corresponding in-air gesture. In scenarios where input is described with reference to in-air poses, it should be understood that similar poses may be detected using a hardware input device attached to or held by one or more hands of a user. User input can be detected using controls contained in a hardware input device, such as one or more touch-sensitive input elements, one or more pressure-sensitive input elements, one or more buttons, one or more knobs, one or more dials, one or more joysticks, one or more hand or finger overlays that can detect the position or change in position of parts of a hand and / or finger relative to each other, relative to the user's body, and / or relative to the user's physical environment, and / or other hardware input device controls, wherein user input using the controls contained in the hardware input device is used in place of hand and / or finger gestures such as an air tap or air pinch in a corresponding air gesture. For example, a selection input described as being performed using an air tap or air pinch input can alternatively be detected using a button press, a tap on a touch-sensitive surface, a press on a pressure-sensitive surface, or other hardware input. As another example, a movement input described as being performed using an air pinch and drag can alternatively be detected based on interaction with a hardware input control (such as a button press and hold, a touch on a touch-sensitive surface, a press on a pressure-sensitive surface, or other hardware input following movement of the hardware input device (e.g., along with a hand associated with the hardware input device) through space). Similarly, two-handed input involving movement of the hands relative to each other may be performed using one air gesture and one hardware input device in the hand that is not performing the air gesture, two hardware input devices held in different hands, or two air gestures performed by different hands using various combinations of air gestures and / or inputs detected by one or more of the aforementioned hardware input devices.
[0188] In some embodiments, the software may be downloaded to the controller 110 in electronic form, for example, over a network, or may alternatively be provided on tangible, non-transitory media such as optical, magnetic, or electronic memory media. In some embodiments, the database 408 is also stored in memory associated with the controller 110. Alternatively or in addition, some or all of the described functions of the computer may be implemented in dedicated hardware, such as a custom or semi-custom integrated circuit or a programmable digital signal processor (DSP). Although in Figure 44. The controller 110 is shown in FIG. 4, but by way of example, as a separate unit from the image sensor 404, some or all of the processing functions of the controller may be performed by a suitable microprocessor and software or by dedicated circuitry within the housing of the image sensor 404 (e.g., a hand tracking device) or other device associated with the image sensor 404. In some embodiments, at least some of these processing functions may be performed by a suitable processor integrated with the display generation component 120 (e.g., in a television receiver, handheld device, or head-mounted device) or integrated with any other suitable computerized device (such as a game console or media player). The sensing functions of the image sensor 404 may also be integrated into a computer or other computerized device to be controlled by the sensor output.
[0189] Figure 4 Also included is a schematic diagram of a depth map 410 captured by the image sensor 404 according to some embodiments. As described above, the depth map includes a matrix of pixels with corresponding depth values. Pixels 412 corresponding to the hand 406 have been segmented from the background and wrist in the figure. The brightness of each pixel within the depth map 410 is inversely proportional to its depth value (i.e., the measured z distance from the image sensor 404), where shades of gray become darker with increasing depth. The controller 110 processes these depth values in order to identify and segment components of the image (i.e., groupings of adjacent pixels) that have characteristics of a human hand. These characteristics may include, for example, overall size, shape, and motion from frame to frame in the depth map sequence.
[0190] Figure 4 Also schematically illustrated is a hand skeleton 414 that the controller 110 ultimately extracts from the depth map 410 of the hand 406 according to some embodiments. Figure 4 , a hand skeleton 414 is superimposed on a hand background 416 that has been segmented from the original depth map. In some embodiments, key feature points of the hand and, optionally, on the wrist or arm connected to the hand (e.g., points corresponding to knuckles, finger tips, the center of the palm, the end of the hand connected to the wrist, etc.) are identified and located on the hand skeleton 414. In some embodiments, the controller 110 uses the position and movement of these key feature points over multiple image frames to determine a gesture performed by the hand or the current state of the hand according to some embodiments.
[0191] Figure 5 The eye tracking device 130 ( Figure 1A ). In some embodiments, the eye tracking device 130 is composed of an eye tracking unit 243 ( Figure 2) controls to track the position and movement of the user's gaze relative to the scene 105 or relative to the XR content displayed via the display generation component 120. In some embodiments, the eye tracking device 130 is integrated with the display generation component 120. For example, in some embodiments, when the display generation component 120 is a head-mounted device (such as a headset, helmet, goggles, or glasses) or a handheld device placed in a wearable frame, the head-mounted device includes both components for generating XR content for the user to view and components for tracking the user's gaze relative to the XR content. In some embodiments, the eye tracking device 130 is separate from the display generation component 120. For example, when the display generation component is a handheld device or an XR room, the eye tracking device 130 is optionally a device separate from the handheld device or the XR room. In some embodiments, the eye tracking device 130 is a head-mounted device or a part of the head-mounted device. In some embodiments, the head-mounted eye tracking device 130 is optionally used in conjunction with a display generation component that is also head-mounted or a display generation component that is not head-mounted. In some embodiments, the eye tracking device 130 is not a head-mounted device and is optionally used in conjunction with a head-mounted display generation component. In some embodiments, the eye tracking device 130 is not a head-mounted device and is optionally part of a non-head-mounted display generation component.
[0192] In some embodiments, the display generation component 120 uses a display mechanism (e.g., a left near-eye display panel and a right near-eye display panel) to display a frame including a left image and a right image in front of the user's eyes, thereby providing the user with a 3D virtual view. For example, the head-mounted display generation component may include a left optical lens and a right optical lens (referred to herein as eye lenses) located between the display and the user's eyes. In some embodiments, the display generation component may include or be coupled to one or more external cameras that capture video of the user's environment for display. In some embodiments, the head-mounted display generation component may have a transparent or translucent display and display virtual objects on the transparent or translucent display, through which the user can directly view the physical environment. In some embodiments, the display generation component projects the virtual objects into the physical environment. The virtual objects may, for example, be projected onto a physical surface or projected as a hologram, so that the individual using the system observes the virtual objects superimposed on the physical environment. In this case, separate display panels and image frames for the left and right eyes may not be required.
[0193] like Figure 5As shown in , in some embodiments, the eye tracking device 130 (e.g., a gaze tracking device) includes at least one eye tracking camera (e.g., an infrared (IR) or near infrared (NIR) camera), and an illumination source (e.g., an IR or NIR light source, such as an array or ring of LEDs) that emits light (e.g., IR or NIR light) toward the user's eyes. The eye tracking camera can be pointed at the user's eyes to receive IR or NIR light that the light source reflects directly from the eyes, or alternatively can be pointed at "hot" mirrors located between the user's eyes and the display panel, which reflect IR or NIR light from the eyes toward the eye tracking camera while allowing visible light to pass through. The eye tracking device 130 optionally captures images of the user's eyes (e.g., as a video stream captured at 60-120 frames per second (fps)), analyzes these images to generate gaze tracking information, and transmits the gaze tracking information to the controller 110. In some embodiments, both eyes of the user are tracked separately by corresponding eye tracking cameras and illumination sources. In some embodiments, only one eye of the user is tracked by corresponding eye tracking camera and illumination source.
[0194] In some embodiments, the eye tracking device 130 is calibrated using a device-specific calibration process to determine the parameters of the eye tracking device for a specific operating environment 100, such as the 3D geometry and parameters of the LED, camera, thermal mirror (if present), eye lens, and display screen. The device-specific calibration process may be performed at a factory or another facility before the AR / VR equipment is delivered to the end user. The device-specific calibration process may be an automatic calibration process or a manual calibration process. According to some embodiments, the user-specific calibration process may include an estimation of eye parameters of a specific user, such as pupil position, fovea position, optical axis, visual axis, eye spacing, etc. According to some embodiments, once the device-specific parameters and user-specific parameters are determined for the eye tracking device 130, a flash-assisted method may be used to process the images captured by the eye tracking camera to determine the current visual axis and the user's gaze point relative to the display.
[0195] like Figure 5As shown in FIG, an eye tracking device 130 (e.g., 130A or 130B) includes an eye lens 520 and a gaze tracking system that includes at least one eye tracking camera 540 (e.g., an infrared (IR) or near infrared (NIR) camera) positioned on the side of the user's face on which eye tracking is performed, and an illumination source 530 (e.g., an IR or NIR light source, such as an array or ring of NIR light emitting diodes (LEDs)) that emits light (e.g., IR or NIR light) toward the user's eye 592. The eye tracking camera 540 may be directed toward a mirror 550 (which reflects the IR or NIR light from the eye 592 while allowing visible light to pass) located between the user's eye 592 and a display 510 (e.g., a left display panel or a right display panel of a head-mounted display, or a display of a handheld device, a projector, etc.). Figure 5 ), or alternatively may be directed toward the user's eye 592 to receive reflected IR or NIR light from the eye 592 (e.g., as shown in the top portion of Figure 5 (as shown in the bottom portion of the ).
[0196] In some embodiments, the controller 110 renders AR or VR frames 562 (e.g., left and right frames for left and right display panels) and provides the frames 562 to the display 510. The controller 110 uses the gaze tracking input 542 from the eye tracking camera 540 for various purposes, such as for processing the frames 562 for display. The controller 110 optionally estimates the user's gaze point on the display 510 based on the gaze tracking input 542 obtained from the eye tracking camera 540 using a flash-assisted method or other suitable method. The gaze point estimated from the gaze tracking input 542 is optionally used to determine the direction the user is currently looking.
[0197] The following describes several possible use cases for the user's current gaze direction and is not intended to be limiting. As an example use case, the controller 110 may render virtual content differently based on the determined direction of the user's gaze. For example, the controller 110 may generate virtual content at a higher resolution in the foveal region determined based on the user's current gaze direction than in the peripheral region. As another example, the controller may position or move virtual content within the view based at least in part on the user's current gaze direction. As another example, the controller may display specific virtual content within the view based at least in part on the user's current gaze direction. As another example use case in an AR application, the controller 110 may direct an external camera used to capture the physical environment of an XR experience to focus in the determined direction. The external camera's autofocus mechanism may then focus on an object or surface in the environment on the display 510 that the user is currently looking at. As another example use case, the eye lens 520 may be a focusable lens, and the controller may use gaze tracking information to adjust the focus of the eye lens 520 so that the virtual object the user is currently looking at has the appropriate vergence to match the convergence of the user's eye 592. The controller 110 may utilize the gaze tracking information to guide the eye lenses 520 to adjust focus so that nearby objects that the user is looking at appear at the correct distance.
[0198] In some embodiments, the eye tracking device is part of a head-mounted device that includes a display (e.g., display 510), two eye lenses (e.g., eye lenses 520), an eye tracking camera (e.g., eye tracking camera 540), and a light source (e.g., illumination source 530 (e.g., IR or NIR LED)). The light source emits light (e.g., IR or NIR light) toward the user's eyes 592. In some embodiments, the light sources can be arranged in a ring or circle around each of the lenses, such as Figure 5 In some embodiments, as an example, eight illumination sources 530 (e.g., LEDs) are arranged around each lens 520. However, more or fewer illumination sources 530 can be used, and other arrangements and positions of illumination sources 530 can be used.
[0199] In some embodiments, the display 510 emits light in the visible range and does not emit light in the IR or NIR range, and therefore does not introduce noise into the gaze tracking system. It should be noted that the positions and angles of the eye tracking cameras 540 are given by way of example and are not intended to be limiting. In some embodiments, a single eye tracking camera 540 is located on each side of the user's face. In some embodiments, two or more NIR cameras 540 may be used on each side of the user's face. In some embodiments, a camera 540 with a wider field of view (FOV) and a camera 540 with a narrower FOV may be used on each side of the user's face. In some embodiments, a camera 540 operating at one wavelength (e.g., 850 nm) and a camera 540 operating at a different wavelength (e.g., 940 nm) may be used on each side of the user's face.
[0200] like Figure 5 Embodiments of the illustrated gaze tracking system may be used, for example, in computer-generated reality, virtual reality, and / or mixed reality applications to provide a user with a computer-generated reality, virtual reality, augmented reality, and / or augmented virtual experience.
[0201] Figure 6 A flash-assisted gaze tracking pipeline according to some embodiments is illustrated. In some embodiments, the gaze tracking pipeline is implemented by a flash-assisted gaze tracking system (e.g., Figure 1A and Figure 5 The flash-assisted gaze tracking system can maintain a tracking state. Initially, the tracking state is off or "no." When in the tracking state, the flash-assisted gaze tracking system uses previous information from previous frames when analyzing the current frame to track the pupil outline and glint in the current frame. When not in the tracking state, the flash-assisted gaze tracking system attempts to detect the pupil and glint in the current frame, and if successful, initializes the tracking state to "yes" and continues to the next frame in the tracking state.
[0202] like Figure 6 As shown in , the gaze tracking camera can capture left and right images of the user's left and right eyes. The captured images are then input to the gaze tracking pipeline for processing starting at 610. As indicated by the arrow returning to element 600, the gaze tracking system can continue to capture images of the user's eyes at a rate of, for example, 60 to 120 frames per second. In some embodiments, each set of captured images can be input to the pipeline for processing. However, in some embodiments or under some conditions, not all captured frames are processed by the pipeline.
[0203] At 610, for the currently captured image, if the tracking status is yes, the method proceeds to element 640. At 610, if the tracking status is no, the image is analyzed to detect the user's pupil and glint in the image, as indicated at 620. At 630, if the pupil and glint are successfully detected, the method proceeds to element 640. Otherwise, the method returns to element 610 to process the next image of the user's eye.
[0204] At 640, if proceeding from element 610, the current frame is analyzed to track the pupil and glint based in part on previous information from the previous frame. At 640, if proceeding from element 630, the tracking state is initialized based on the pupil and glint detected in the current frame. The processing result at element 640 is checked to verify that the tracking or detection result can be trusted. For example, the result can be checked to determine whether the pupil and a sufficient number of glints were successfully tracked or detected in the current frame to perform gaze estimation. At 650, if the result is not likely to be trusted, at element 660, the tracking state is set to no, and the method returns to element 610 to process the next image of the user's eye. At 650, if the result is trustworthy, the method proceeds to element 670. At 670, the tracking state is set to yes (if not already yes), and the pupil and glint information is passed to element 680 to estimate the user's gaze point.
[0205] Figure 6 This is intended to be used as an example of an eye tracking technology that may be used for a particular implementation. As one of ordinary skill in the art will appreciate, according to various embodiments, other eye tracking technologies currently existing or developed in the future may be used in place of or in combination with the flash-assisted eye tracking technology described herein in the computer system 101 for providing an XR experience to a user.
[0206] In some embodiments, the captured portion of the real-world environment 602 is used to provide an XR experience to the user, such as a mixed reality environment in which one or more virtual objects are superimposed on top of the representation of the real-world environment 602.
[0207] Thus, the description herein describes some embodiments of a three-dimensional environment (e.g., an XR environment) that includes representations of real-world objects and representations of virtual objects. For example, the three-dimensional environment optionally includes a representation of a table present in a physical environment, which is captured and displayed in the three-dimensional environment (e.g., actively displayed via a camera and display of a computer system or passively displayed via a transparent or translucent display of the computer system). As previously described, the three-dimensional environment is optionally a mixed reality system, wherein the three-dimensional environment is based on a physical environment captured by one or more sensors of the computer system and displayed via a display generation component. As a mixed reality system, the computer system is optionally capable of selectively displaying portions and / or objects of the physical environment so that the corresponding portions and / or objects of the physical environment appear as if they exist in the three-dimensional environment displayed by the computer system. Similarly, the computer system is optionally capable of displaying virtual objects in the three-dimensional environment so that it appears as if the virtual objects exist in the real world (e.g., a physical environment) by placing the virtual objects at corresponding locations in the three-dimensional environment that have corresponding locations in the real world. For example, the computer system optionally displays a vase so that the vase appears as if a real vase is placed on top of a table in the physical environment. In some embodiments, a corresponding location in the three-dimensional environment has a corresponding location in the physical environment. Thus, when a computer system is described as displaying a virtual object at a corresponding location relative to a physical object (e.g., such as at or near a user's hand or at or near a physical table), the computer system displays the virtual object at a particular location in the three-dimensional environment such that it appears as if the virtual object is at or near the physical object in the physical environment (e.g., the virtual object is displayed at a location in the three-dimensional environment that corresponds to the location in the physical environment where the virtual object would be displayed if it were the real object at that particular location).
[0208] In some embodiments, real-world objects present in the physical environment that are displayed in the three-dimensional environment (e.g., and / or visible via a display generation component) can interact with virtual objects that exist only in the three-dimensional environment. For example, the three-dimensional environment may include a table and a vase placed on top of the table, where the table is a view (or representation) of a physical table in the physical environment and the vase is a virtual object.
[0209] In a three-dimensional environment (e.g., a real environment, a virtual environment, or an environment that includes a mixture of real objects and virtual objects), objects are sometimes referred to as having depth or simulated depth, or objects are referred to as being visible, displayed, or placed at different depths. In this context, depth refers to a dimension other than height or width. In some embodiments, depth is defined relative to a fixed set of coordinates (e.g., where a room or object has a height, depth, and width defined relative to a fixed set of coordinates). In some embodiments, depth is defined relative to the user's position or viewpoint, in which case the depth dimension varies based on the position and angle of the user's position and / or the user's viewpoint. In some embodiments where depth is defined relative to the user's position relative to a surface of the environment (e.g., a surface of the floor or ground of the environment), objects that are farther away from the user along a line extending parallel to the surface are considered to have greater depth in the environment, and / or the depth of an object is measured along an axis extending outward from the user's position and parallel to the surface of the environment (e.g., depth is defined in a cylindrical or substantially cylindrical coordinate system where the user's position is at the center of a cylinder extending from the user's head toward the user's feet). In some embodiments where depth is defined relative to a user's viewpoint (e.g., relative to a direction of a point in space that determines which portion of an environment is visible via a head-mounted device or other display), objects that are farther away from the user's viewpoint along a line extending parallel to the user's viewpoint are considered to have greater depth in the environment, and / or the depth of objects is measured along an axis extending outward from the user's viewpoint and parallel to the user's viewpoint (e.g., depth is defined in a spherical or substantially spherical coordinate system where the origin of the viewpoint is at the center of a sphere extending outward from the user's head). In some embodiments, depth is defined relative to a user interface container (e.g., a window or application in which applications and / or system content are displayed), where the user interface container has a height and / or width, and depth is a dimension orthogonal to the height and / or width of the user interface container. In some embodiments, where depth is defined relative to a user interface container, when the container is placed in a three-dimensional environment or is initially displayed (e.g., such that the depth dimension of the container extends outward away from the user or the user's viewpoint), the height and / or width of the container is generally orthogonal or substantially orthogonal to a line extending from a user-based position (e.g., the user's viewpoint or the user's position) to the user interface container (e.g., the center of the user interface container or another feature point of the user interface container). In some embodiments, where depth is defined relative to a user interface container, the depth of an object relative to the user interface container refers to the positioning of the object along the depth dimension of the user interface container. In some embodiments, multiple different containers may have different depth dimensions (e.g., different depth dimensions extending away from the user or the user's viewpoint in different directions and / or from different starting points).In some embodiments, when depth is defined relative to a user interface container, the direction of the depth dimension remains constant for the user interface container as the position of the user interface container, the user, and / or the user's viewpoint changes (e.g., or when multiple different viewers are viewing the same container in a three-dimensional environment, such as during an in-person collaboration session and / or when multiple participants are in a real-time communication session with shared virtual content that includes the container). In some embodiments, for curved containers (e.g., including containers with curved surfaces or curved content areas), the depth dimension optionally extends into the surface of the curved container. In some cases, z separation (e.g., the separation of two objects in the depth dimension), z height (e.g., the distance of one object from another in the depth dimension), z positioning (e.g., the positioning of an object in the depth dimension), z depth (e.g., the positioning of an object in the depth dimension), or simulated z dimension (e.g., depth used as a dimension of an object, a dimension of an environment, a direction in space, and / or a direction in simulated space) is used to refer to the concept of depth as described above.
[0210] In some embodiments, the user can optionally use one or both hands to interact with virtual objects in a three-dimensional environment as if the virtual objects were real objects in the physical environment. For example, as described above, one or more sensors of the computer system optionally capture one or more of the user's hands and display representations of the user's hands in the three-dimensional environment (e.g., in a manner similar to displaying real-world objects in the three-dimensional environment described above), or in some embodiments, the user's hands are visible via the display generation component due to the transparency / translucency of a portion of the user interface being displayed by the display generation component, or due to the projection of the user interface onto a transparent / translucent surface or onto the user's eyes or into the field of view of the user's eyes, via the ability to see the physical environment through the user interface. Thus, in some embodiments, the user's hands are displayed at corresponding locations in the three-dimensional environment and are viewed as if they were objects in the three-dimensional environment, and these objects can interact with virtual objects in the three-dimensional environment as if these virtual objects were physical objects in the physical environment. In some embodiments, the computer system can update the display of the representation of the user's hands in the three-dimensional environment in conjunction with the movement of the user's hands in the physical environment.
[0211] In some embodiments described below, the computer system is optionally capable of determining an "effective" distance between a physical object in the physical world and a virtual object in a three-dimensional environment, for example, to determine whether the physical object is directly interacting with the virtual object (e.g., whether the hand is touching, grabbing, holding, etc., or is within a threshold distance of the virtual object). For example, a hand directly interacting with a virtual object optionally includes one or more of the following: a finger of a hand pressing a virtual button, a user's hand grabbing a virtual vase, two fingers of a user's hand coming together and pinching / holding the user interface of an application, and performing any of the other types of interactions described herein. For example, when determining whether a user is interacting with a virtual object and / or how the user is interacting with the virtual object, the computer system optionally determines the distance between the user's hand and the virtual object. In some embodiments, the computer system determines the distance between the user's hand and the virtual object by determining the distance between the position of the hand in the three-dimensional environment and the position of the virtual object of interest in the three-dimensional environment. For example, the user's hand(s) are positioned at a specific location in the physical world, and the computer system optionally captures the hand(s) and displays the hand(s) at a specific corresponding location in the three-dimensional environment (e.g., the location at which the hand(s) would be displayed in the three-dimensional environment if the hand(s) were virtual hands rather than physical hands). The location of the hand(s) in the three-dimensional environment is optionally compared to the location of the virtual object(s) of interest in the three-dimensional environment to determine the distance between the user's hand(s) and the virtual object(s). In some embodiments, the computer system optionally determines the distance between the physical object(s) and the virtual object(s) by comparing the locations in the physical world (e.g., rather than comparing the locations in the three-dimensional environment). For example, when determining the distance between the user's hand(s) and the virtual object(s), the computer system optionally determines the corresponding location of the virtual object(s) in the physical world (e.g., the location at which the virtual object(s) would be located in the physical world if the virtual object(s) were physical objects rather than virtual objects), and then determines the distance between the corresponding physical location and the user's hand(s). In some embodiments, the same technique is optionally used to determine the distance between any physical object and any virtual object. Thus, as described herein, when determining whether a physical object is in contact with a virtual object or whether a physical object is within a threshold distance of a virtual object, the computer system optionally executes any of the techniques described above to map the position of the physical object to a three-dimensional environment and / or map the position of the virtual object to the physical environment.
[0212] In some embodiments, the same or similar techniques are used to determine where and what the user's gaze is directed to, and / or where and what a physical stylus held by the user is pointed to. For example, if the user's gaze is directed to a particular location in the physical environment, the computer system optionally determines a corresponding location in the three-dimensional environment (e.g., a virtual location of the gaze), and if a virtual object is located at the corresponding virtual location, the computer system optionally determines that the user's gaze is directed to the virtual object. Similarly, the computer system is optionally able to determine the direction in which the stylus is pointing in the physical environment based on the orientation of the physical stylus. In some embodiments, based on this determination, the computer system determines a corresponding virtual location in the three-dimensional environment that corresponds to the location in the physical environment that the stylus is pointing to, and optionally determines that the stylus is pointing to the corresponding virtual location in the three-dimensional environment.
[0213] Similarly, the embodiments described herein may refer to the position of a user (e.g., a user of a computer system) in a three-dimensional environment and / or the position of a computer system in a three-dimensional environment. In some embodiments, the user of the computer system is holding, wearing, or otherwise located at or near the computer system. Therefore, in some embodiments, the position of the computer system is used as a proxy for the position of the user. In some embodiments, the position of the computer system and / or the user in the physical environment corresponds to a corresponding position in the three-dimensional environment. For example, the position of the computer system will be a position in the physical environment (and its corresponding position in the three-dimensional environment) that, if the user stands at that position and faces the corresponding part of the physical environment visible via the display generation component, will be seen by the user from that position in the physical environment in the same position, orientation, and / or size (e.g., in absolute terms and / or relative to each other) as the objects displayed in the three-dimensional environment by the display generation component of the computer system or visible in the three-dimensional environment via the display generation component. Similarly, if the virtual objects displayed in the three-dimensional environment are physical objects in the physical environment (e.g., physical objects placed at the same location in the physical environment as the virtual objects are located in the three-dimensional environment, and physical objects that have the same size and orientation in the physical environment as they do in the three-dimensional environment), then the position of the computer system and / or user is the position from which the user would see the virtual objects in the physical environment at the same location, orientation, and / or size (e.g., in an absolute sense and / or relative to each other and real-world objects) as the virtual objects displayed in the three-dimensional environment by the display generation components of the computer system.
[0214] In this disclosure, various input methods are described with respect to interaction with a computer system. When an example is provided using one input device or input method, and another example is provided using another input device or input method, it should be understood that each example is compatible with and optionally utilizes the input device or input method described with respect to the other example. Similarly, various output methods are described with respect to interaction with a computer system. When an example is provided using one output device or output method, and another example is provided using another output device or output method, it should be understood that each example is compatible with and optionally utilizes the output device or output method described with respect to the other example. Similarly, various methods are described with respect to interaction with a virtual environment or a mixed reality environment through a computer system. When an example is provided using interaction with a virtual environment, and another example is provided using a mixed reality environment, it should be understood that each example is compatible with and optionally utilizes the methods described with respect to the other example. Therefore, this disclosure discloses embodiments that are combinations of features from multiple examples, without necessarily listing all features of the embodiments in detail in the description of each example embodiment.
[0215] User interface and associated processes
[0216] Attention is now turned to embodiments of a user interface ("UI") and associated processes that may be implemented on a computer system, such as a portable multifunction device or head-mounted device, in communication with display generating components and (optionally) one or more sensors.
[0217] The examples described herein illustrate how a user of a computer system (e.g., device 700) can initiate and / or modify a live communication session in which the user communicates with one or more users of other corresponding computer systems. In some embodiments, the live communication session is an audio communication session (e.g., a voice call or a phone call). In some embodiments, the live communication session is a video communication session (e.g., a video call and / or a video conference). In some embodiments, the live communication session is an XR communication session, such as a spatial communication session or a non-spatial communication session. During a spatial communication session, one or more users are represented in an XR environment by a three-dimensional (3D) representation (e.g., an avatar) corresponding to the user. In some embodiments, the 3D representation has a spatial proxy so that the 3D representation can move within the XR environment relative to other elements in the XR environment and / or the user. During a non-spatial communication session, one or more users are represented in the XR environment by a two-dimensional (2D) representation corresponding to the user. In some embodiments, the 2D representation includes a video feed of the user and optionally has a fixed position (e.g., a location) within the XR environment.
[0218] Figures 7A to 7Q An example of managing a live communication session is illustrated. Figure 8 is a flow diagram of an exemplary method 800 for managing a live communication session. Figure 9 is a flow diagram of an exemplary method 900 for providing an avatar in a live communication session. Figures 7A to 7Q The user interface in the is used to illustrate the procedures described below, which include Figure 8 and / or Figure 9 in the process.
[0219] Although Figures 7A to 7Q The device 700 is illustrated as a handheld device (e.g., a tablet, smartphone, or laptop) having a display 702, but in some embodiments, the device 700 is a head-mounted device (HMD). The HMD is configured to be worn on the head of a user of the device 700 and includes the display 702 on and / or in an interior portion of the HMD. When the device 700 is worn on the user's head, the display 702 is visible to the user. For example, in some embodiments, the HMD at least partially covers the user's eyes when worn on the user's head, such that the display 702 is positioned above and / or in front of the user's eyes. In such embodiments, the display 702 is configured to display the XR environment during a live communication session in which the user of the HMD is participating.
[0220] exist Figure 7A , the device 700 displays an XR environment 704 including elements (e.g., virtual elements and / or physical elements) such as a table 704a and a sofa 704b on a display 702. While displaying the XR environment 704, the device 700 receives a request to display a communication interface. In some embodiments, the request to display the communication interface is a press of a button 703 of the device 700. Figure 7B As shown, in response to receiving the request, device 700 displays a communication interface 710. In some embodiments, communication interface 710 is displayed within XR environment 704.
[0221] In general, the communication interface 710 can be used to initiate and / or modify a live communication session (e.g., an audio communication session, a video communication session, or an XR communication session). The communication interface 710 includes pinned contacts 712 (e.g., pinned contacts 712a-712g) and recent contacts 714 (e.g., recent contacts 714a-714i). In some embodiments, the pinned contacts 712 are a collection of contacts selected by the user of the device 700 to be included in the communication interface 710 (e.g., contacts that have been favorited or pinned by the user). In some embodiments, the recent contacts 714 are contacts with which the user of the device 700 has recently communicated using the device 700 and, optionally, one or more other devices associated with the user of the device 700 (e.g., via text, phone calls, and / or live communication sessions). In some embodiments, the recent contacts 714 are arranged (e.g., sorted or ranked) based on the recency of the communications between the recent contacts 714 and the user of the device 700.
[0222] In some embodiments, one or more of the pinned contacts 712 and / or recent contacts 714 correspond to defined contact groups. As an example, the pinned contact 712d corresponds to the contact group "Surfers." As another example, the recent contact 714d corresponds to the contact group "Lake Crew."
[0223] In some embodiments, pinned contacts 712 and / or recent contacts 714 indicate the most recent communications between the user of device 700 and various contacts. As an example, pinned contact 712b ("John") indicates that the contact last sent a text message 1 minute ago. Optionally, communication interface 710 includes a preview 716b that indicates the content of the text message sent by pinned user 712b. As another example, pinned user 712c indicates that the contact last sent a text reaction (e.g., a "love" reaction) at 2:10. As yet another example, recent contact 714a ("Mom") indicates that the user of device 700 last communicated with contact 714a in an XR communication session (e.g., a spatial live communication session or a non-spatial live communication session) at 3:32. As yet another example, recent contact 714e ("Uncle Bob") indicates that the user of device 700 last communicated with contact 714e in an audio communication session (e.g., a phone call) at 9:41.
[0224] In some embodiments, pinned contacts 712 and / or recent contacts 714 indicate pending invitations to live communication sessions. As an example, recent contact 714b ("Dad") indicates that the user of device 700 can join a live communication session with recent contact 714b. As another example, recent contact 714d ("Lake Crew") indicates that three members of the group are currently in an ongoing live communication session to which the user of device 700 has been invited.
[0225] In some embodiments, contacts 712 and 714 of communication interface 710 can be used to manage contacts. By way of example, while displaying communication interface 710, device 700 detects selection of contact 712e ("Jo"). In some embodiments, selection of contact 712e is a tap gesture 705b on contact 712e. In some embodiments, selection of contact 712e is, for example, an air gesture indicating selection of contact 712e. Figure 7C1 and / or Figure 7C2 As shown, in response to detecting selection of contact 712e, device 700 displays a contact menu 720 associated with contact 712e.
[0226] The contact menu 720 includes an invite option 720a and an expand option 720b. The invite option 720a, when selected, causes the device 700 to invite the contact 712e to the XR communication session. The expand option 720b, when selected, causes the device 700 to display one or more additional options for managing the contact 712e. For example, while displaying the contact menu 720, the device 700 detects a selection of the expand option 720b. In some embodiments, the selection of the expand option 720b is a tap gesture 705c on the expand option 720b. In some embodiments, the selection of the expand option 720b is, for example, an air gesture indicating the selection of the expand option 720b. Figure 7D As shown, in response to detecting selection of the expanded option 720b, the device 700 expands the contacts menu 720 to display (eg, replaces display of the expanded option 720b with) one or more additional options (eg, options 720c-720f).
[0227] In some embodiments, the contact menu 720 includes an audio option 720c, a message option 720d, an information option 720e, and an edit option 720f when expanded. The audio option 720c, when selected, causes the device 700 to initiate an audio communication session (e.g., without a live video component) with the contact 712e. In some embodiments, the device 700 is not capable of communicating via a cellular network and / or is configured to use an external device to make an audio call. Therefore, in some examples, the device 700 uses a nearby device (e.g., a mobile phone and / or tablet computer) (e.g., capable of communicating via a cellular network) to initiate an audio communication session. The edit option 720f, when selected, allows the user of the device 700 to remove the contact 712e from the top contact 712 (or add the contact 712e to the top contact in an embodiment in which the contact 712e is not yet a top contact). The message option 720d, when selected, allows the user to transmit a message to the contact 712e. For example, when displaying the contact menu 720, the device 700 detects a selection of the message option 720d. In some embodiments, the selection of the message option 720d is a tap gesture 705d on the message option 720d. In some embodiments, the selection of the message option 720d is, for example, an air gesture indicating the selection of the message option 720d. Figure 7E As shown, in response to detecting selection of message option 720d, device 700 displays (eg, replaces display of communication interface 710 with) message interface 730. Thereafter, message interface 730 can be used to transmit a message to contact 712e.
[0228] Reference again Figure 7D , information option 720e, when selected, causes device 700 to display information corresponding to contact 712e (e.g., without displaying additional information corresponding to other contacts). For example, while displaying contacts menu 720, device 700 detects selection of information option 720e. In some embodiments, selection of information option 720e is a tap gesture 707d on information option 720e. In some embodiments, selection of information option 720e is, for example, an air gesture indicating selection of information option 720e. Figure 7F As shown, in response to detecting selection of information option 720e, device 700 displays information interface 740. Information interface 740 includes various details corresponding to contact 712e, including, but not limited to, name and contact information.
[0229] In some embodiments, the contact's device is not capable of participating in an XR communication session with device 700. Therefore, in some embodiments, one or more options of the contact menu may be omitted, de-emphasized (e.g., grayed out or dimmed), and / or replaced to accurately reflect the capabilities of the contact's device. For example, referring again to Figure 7B , while displaying communication interface 710, device 700 detects selection of contact 712g ("Sam"). In some embodiments, selection of contact 712g is a tap gesture 709b on contact 712g. In some embodiments, selection of contact 712g is, for example, an air gesture indicating selection of contact 712g. Figure 7C1 As shown, in response to detecting selection of contact 712g, device 700 displays a contact menu 722 associated with contact 712g.
[0230] Because in some embodiments, the device of contact 712g is not capable of communicating with device 700 in an XR communication session, menu 722 does not include an invite option (e.g., invite option 720a) and instead includes an audio option 722a. Audio option 722a, when selected, causes device 700 to initiate an audio communication session with contact 712g. Menu 722 also includes an expand option 722b, which, when selected, causes device 700 to display one or more additional options for contact 712g.
[0231] In some embodiments, the contact menu associated with a contact includes one or more additional options based on the state of the device 700. As an example, in some embodiments, in an instance where the device 700 is participating in a live communication session (e.g., an XR communication session or an audio communication session), the contact menu includes an option to invite the contact to the live communication session. Figure 7B , while participating in an XR communication session and while displaying communication interface 710, device 700 detects selection of contact 714g ("Dylan"). In some embodiments, selection of contact 714g is a tap gesture 711b on contact 714g. In some embodiments, selection of contact 714g is an air gesture indicating selection of contact 714f, for example. Figure 7C1 As shown, in response to detecting selection of contact 714g, device 700 displays a contact menu 724 associated with contact 714g.
[0232] Contact menu 724 includes an invite option 724a, an invite option 724b, and an expand option 724c. Invite option 724a, when selected (e.g., by tapping gesture 709c), causes device 700 to invite contact 714g to a new live communication session. Invite option 724b, when selected, causes device 700 to invite contact 714g to a live communication session in which device 700 is currently participating. Expand option 720c, when selected, causes device 700 to display one or more additional options for contact 714g.
[0233] In some embodiments, inviting a contact to a new live communication session (e.g., in response to selection of option 724a) will disconnect the device 700 from and / or terminate the live communication session in which the device 700 is currently participating. In some embodiments, before terminating the existing live communication session in this manner, the device 700 confirms that the user wishes to disconnect from the current live communication session before initiating the new live communication session. For example, if Figure 7G As shown, in response to selection of invite option 724a, device 700 displays confirmation interface 740 including confirmation affordance 742. In response to selection of confirmation affordance 742, device 700 terminates the current live communication session and invites contact 714f to the new live communication session.
[0234] In some embodiments, the user optionally uses the communication interface 710 to send a message to a contact. Figure 7B , while displaying the communication interface 710, the device 700 detects a selection of a preview 716b associated with the pinned contact 712b. In some embodiments, the selection of the preview 716b is a tap gesture 707b on the preview 716b. In some embodiments, the selection of the preview 716b is, for example, an air gesture indicating the selection of the preview 716b. Figure 7C1 As shown, in response to detecting selection of preview 716b , device 700 expands preview 716b to display reply options 718 .
[0235] The reply option 718, when selected, causes the device 700 to display a reply interface for transmitting a message to the contact 712b. For example, when the reply option 718 is displayed in the preview 716b, the device 700 detects the selection of the reply option 718. In some embodiments, the selection of the reply option 718 is a tap gesture 707c on the reply option 718. In some embodiments, the selection of the reply option 718 is, for example, an air gesture indicating the selection of the reply option 718. Figure 7H As shown, in response to detecting selection of reply option 718, device 700 displays reply interface 750, which can be used to transmit a message to contact 712b.
[0236] In some embodiments, Figure 7C1 The techniques and user interfaces described in Figures 1A to 1P One or more of the devices described in the present invention are provided. Figure 7C2 Examples thereof (for example, Figure 7B and Figure 7C1 In some embodiments, the communication interface X710 (described in
[0014] ) is displayed on a display module X702 of a head-mounted device (HMD) X700. In some embodiments, the device X700 includes a pair of display modules that provide stereoscopic content to different eyes of the same user. For example, the HMD X700 includes a display module X702 that provides content to the user's left eye and a second display module that provides content to the user's right eye. In some embodiments, the second display module displays a slightly different image than the display module X702 to create the illusion of stereoscopic depth.
[0237] like Figure 7C2 As shown, in response to detecting selection of contact X712e, HMD X700 displays a contact menu X720 associated with contact X712e. In some embodiments, HMD X700 detects selection of contact X712e based on an in-air gesture performed by the user of HMD X700. In some embodiments, HMD X700 detects hands X750a and / or X750b of the user of HMD X700 and determines whether movement of hands X750a and / or X750b performs a predetermined in-air gesture corresponding to selection of contact X712e. In some embodiments, the predetermined in-air gesture for selecting contact X712e includes a pinch gesture. In some embodiments, the pinch gesture includes detecting movement of finger X750c and thumb X750d toward each other. In some embodiments, HMD X700 detects selection of contact X712e based on gaze and in-air gesture input performed by the user of HMD X700. In some embodiments, the gaze and air gesture input includes detecting that the user of the HMD X700 is looking at the contact X712e (eg, for greater than a predetermined amount of time) and that the user of the HMD X700's hands X750a and / or X750b perform a pinch gesture.
[0238] The contact menu X720 includes an invite option X720a and an expand option X720b. The invite option X720a, when selected (e.g., via an air gesture such as a pinch gesture and / or via a gaze and pinch gesture), causes the HMD X700 to invite the contact X712e to the XR communication session. The expand option X720b, when selected, causes the HMD X700 to display one or more additional options for managing the contact X712e. For example, while displaying the contact menu X720, the HMD X700 detects a selection of the expand option X720b. In some embodiments, the selection of the expand option X720b is, for example, an air gesture (e.g., a pinch gesture and / or a gaze and pinch gesture) indicating the selection of the expand option X720b. In response to detecting selection of the expanded option X720b, the HMD X700 expands the contact menu X720 to display (e.g., replaces the display of the expanded option X720b with) one or more additional options (e.g., options 720c-720f, such as Figure 7D exemplified).
[0239] In some embodiments, when expanded, the contact menu X720 includes audio options (e.g., 720c), message options (e.g., 720d), information options (e.g., 720e), and edit options (e.g., 720f), such as for example, Figure 7D The audio option, when selected, causes the HMD X700 to initiate an audio communication session (e.g., without a live video component) with the contact X712e. In some embodiments, the HMD X700 is not capable of communicating over a cellular network and / or is configured to use an external device to make audio calls. Thus, in some examples, the HMD X700 uses a nearby device (e.g., a mobile phone and / or tablet) (e.g., capable of communicating over a cellular network) to initiate the audio communication session. The edit option, when selected, allows the user of the HMD X700 to remove the contact X712e from the top contacts X712 (or to add the contact X712e to the top contacts in embodiments where the contact X712e is not already a top contact), for example, as described with respect to Figure 7D The message option, when selected, allows the user to send a message to the contact X712e, for example, regarding Figure 7D For example, when the extended contact menu X720 is displayed, the HMD X700 detects a selection of a message option (e.g., 720d). In some embodiments, the selection of the message option is, for example, an air gesture (e.g., a pinch gesture, and / or a gaze and pinch gesture) indicating the selection of the message option. In some embodiments, as Figure 7EAs shown, in response to detecting the selection of the message option (e.g., 720d), the HMD X700 displays (e.g., replaces the display of the communication interface X710 with) a message interface (e.g., 730). Thereafter, the message interface can be used to transmit a message to the contact X712e.
[0240] In some embodiments, a contact menu associated with a contact includes one or more additional options based on the state of the HMD X700. As an example, in some embodiments, in an instance in which the HMD X700 is participating in a live communication session (e.g., an XR communication session or an audio communication session), the contact menu includes an option to invite the contact to the live communication session. For example, while participating in an XR communication session and while displaying the communication interface X710, the HMD X700 detects a selection of the contact X714g ("Dylan"). In some embodiments, the selection of the contact X714g is, for example, an air gesture (e.g., a pinch gesture, and / or a gaze and pinch gesture) indicating selection of the contact X714f. As shown in FIG. Figure 7C2 As shown, in response to detecting selection of the contact X714g, the HMD X700 displays a contact menu X724 associated with the contact X714g.
[0241] The contact menu X724 includes an invite option X724a, an invite option X724b, and an expand option X724c. The invite option X724a, when selected (e.g., via an air gesture such as a pinch gesture and / or a gaze and pinch gesture), causes the HMD X700 to invite the contact X714g to a new live communication session. The invite option X724b, when selected (e.g., via an air gesture such as a pinch gesture and / or a gaze and pinch gesture), causes the HMD X700 to invite the contact X714g to a live communication session in which the HMD X700 is currently participating. The expand option X724c, when selected, causes the HMD X700 to display one or more additional options for the contact X714g.
[0242] In some embodiments, inviting a contact to a new live communication session (e.g., in response to selection of option X724a) will cause the HMD X700 to disconnect from and / or terminate the live communication session in which the HMD X700 is currently participating. In some embodiments, before terminating an existing live communication session in this manner, the HMD X700 confirms that the user wishes to disconnect from the current live communication session before initiating a new live communication session. For example, if Figure 7GAs shown, in response to selection of invite option X 724 a, HMD X 700 may display a confirmation interface 740 including a confirmation affordance 742. In response to selection of the confirmation affordance 742 (e.g., via an air gesture, such as a pinch gesture, and / or a gaze and pinch gesture), HMD X 700 terminates the current live communication session and invites contact X 714 f to the new live communication session.
[0243] In some embodiments, the user optionally uses the communication interface X710 to send a message to the contact. For example, while displaying the communication interface X710, the HMD X700 detects a preview 716b associated with the pinned contact X712b (e.g., Figure 7B In some embodiments, the selection of preview 716b is, for example, an air gesture (e.g., a pinch gesture, and / or a gaze and pinch gesture) indicating the selection of preview 716b. Figure 7C2 As shown, in response to detecting selection of the preview 716b, the HMD X700 expands the preview 716b to display reply options X718.
[0244] The reply option X718, when selected, causes the HMD X700 to display a reply interface for transmitting a message to the contact X712b. For example, when the reply option X718 is displayed in the preview 716b, the HMD X700 detects the selection of the reply option X718. In some embodiments, the selection of the reply option X718 is, for example, an air gesture (e.g., a pinch gesture, and / or a gaze and pinch gesture) indicating the selection of the reply option X718. Figure 7H As shown, in response to detecting selection of reply option X718, HMD X700 may display a reply interface 750 that may be used to transmit a message to contact X712b.
[0245] Figure 1B to Figure 1PAny of the features, components, and / or parts shown, including arrangements and configurations thereof, may be included, alone or in any combination, in HMD X700. For example, in some embodiments, HMD X700 includes any of the features, components, and / or parts of HMDs 1-100, 1-200, 3-100, 6-100, 6-200, 6-300, 6-400, 11.1.1-100, and / or 11.1.2-100, alone or in any combination. In some embodiments, the display module X702 includes, alone or in any combination, the display unit 1-102, the display unit 1-202, the display unit 1-306, the display unit 1-406, the display generation component 120, the display screens 1-122a-b, the first rear-facing display screen 1-322a and the second rear-facing display screen 1-322b, the display 11.3.2-104, the first display component 1-120a and the second display component 1-120b, the display component 1-320, and the display component 1-4 21. Any of the features, components and / or parts of the first display subassembly 1-420a and the second display subassembly 1-420b, the display assembly 3-108, the display assembly 11.3.2-204, the first optical module 11.1.1-104a and the second optical module 11.1.1-104b, the optical module 11.3.2-100, the optical module 11.3.2-200, the lenticular lens array 3-110, the display area or zone 6-232 and / or the display / display area 6-334. In some embodiments, the HMD X700 includes sensors that include, individually or in any combination, any of the features, components, and / or parts of sensor 190, sensor 306, image sensor 314, image sensor 404, sensor assembly 1-356, sensor assembly 1-456, sensor system 6-102, sensor system 6-202, sensor 6-203, sensor system 6-302, sensor 6-303, sensor system 6-402, and / or any of sensors 11.1.2-110a-f. In some embodiments, the input device X703 includes, individually or in any combination, any of the features, components, and / or parts of first button 1-128, button 11.1.1-114, second button 1-132, and / or any of dial or button 1-328. In some embodiments, HMD X700 includes one or more audio output components (eg, electronic components 1-112) for generating audio feedback (eg, audio output), optionally based on detected events and / or user input detected by HMD X700.
[0246] In some embodiments, the communication interface 710 is used to generate an avatar. In some embodiments, the avatar acts as a representation (e.g., a 3D representation) of the user of the device 700 in the XR communication session. For example, referring to Figure 7B , while displaying the communication interface 710, the device 700 detects a selection of the avatar option 715. In some embodiments, the selection of the avatar option 715 is a tap gesture 713b on the avatar option 715. In some embodiments, the selection of the avatar option 715 is, for example, an air gesture indicating the selection of the avatar option 715. Figure 7I As shown, in response to detecting selection of avatar option 715 , device 700 displays avatar interface 760 .
[0247] exist Figure 7I At 760, avatar interface 760 includes a first option 762 (e.g., more realistic than the second option) and a second option 764 (e.g., less realistic than the first option). When enabled, first option 762 causes the avatar of the user of device 700 to reflect the user's appearance. For example, in some embodiments, when first option 762 is enabled, the avatar includes one or more visual characteristics corresponding to one or more physical characteristics of the user. When enabled, second option 764 causes the avatar of the user of device 700 to indicate the user's movements (e.g., during a live communication session) without reflecting the user's appearance. For example, in some embodiments, when second option 764 is enabled, an avatar with a default appearance is used. In some embodiments, when first option 762 is enabled (compared to second option 764), the avatar of the user of device 700 is represented by a first representation style, the avatar is displayed at a first level of detail (e.g., a first level of detail relative to the user's appearance and / or one or more parts of the user), and indicates the position and movement of a first user part of the user relative to the position and movement of a second user part of the user in a first manner. In some embodiments, when the second option 764 is enabled (compared to the first option 762), the avatar of the user of the device 700 is represented by a second representation style that is different from the first representation style, and the avatar is displayed at a second level of detail (e.g., a second level of detail relative to the appearance of the user and / or one or more parts of the user) that is lower than the first level of detail (e.g., less than the user's appearance and / or mimics the user's appearance with less detail and / or a lower amount of detail), and indicates the positioning and movement of a first user part of the user relative to the positioning and movement of a second user part of the user in a second manner that is different from the first manner.
[0248] The avatar interface 760 also includes a menu option 766 that, when selected, causes the device 700 to display an avatar menu, such as Figure 7I For example, in Figure 7IAt , while displaying avatar interface 760, device 700 detects selection of menu option 766. In some embodiments, selection of menu option 766 is a tap gesture 705i on menu option 766. In some embodiments, selection of menu option 766 is, for example, an air gesture indicating selection of menu option 766. Figure 7J As shown, in response to detecting selection of menu option 766 , device 700 displays avatar menu 768 .
[0249] exist Figure 7J At 768, the avatar menu 768 includes an edit option 768a, a create option 768b, and / or a delete option 768c. In some embodiments, if an avatar has not yet been created for the user of the device 700, the avatar menu 768 includes a create option 768b and does not include the edit option 768a and the delete option 768c. In some embodiments, if an avatar has already been created for the user of the device 700, the avatar menu 768 includes an edit option 768a and a delete option 768c and does not include the create option 768b.
[0250] exist Figure 7J At , while displaying the avatar menu 768, the device 700 detects a selection of the create option 768b. In some embodiments, the selection of the create option 768b is a tap gesture 705j on the create option 768b. In some embodiments, the selection of the create option 768b is, for example, an air gesture indicating the selection of the create option 768b. Figure 7K As shown, in response to detecting selection of create option 768b, device 700 displays setup interface 770.
[0251] exist Figure 7K At , settings interface 770 includes settings option 772, which, when selected, causes device 700 to display an avatar editing interface. For example, while displaying settings interface 770, device 700 detects selection of settings enable representation 772. In some embodiments, selection of settings enable representation 772 is a tap gesture 705k on settings enable representation 772. In some embodiments, selection of settings enable representation 772 is, for example, an air gesture indicating selection of settings enable representation 772. Figure 7L1 As shown, in response to detecting selection of the set enable indication 772, the device 700 displays the avatar editing interface 780.
[0252] exist Figure 7L1At 700, the avatar editing interface 780 includes a live view 781 of the avatar of the user of the device 700. In some embodiments, the device 700 displays the live view 781 of the avatar editing interface 780, which is updated in real time based on the movements and / or behavior of the user of the device 700, as detected by the device 700. The avatar editing interface 780 also includes various settings and / or parameters for adjusting the visual characteristics of the avatar. As an example, the avatar editing interface 780 includes settings 782, which include a brightness setting 782a and a warmth setting 782b. The brightness setting 782a and the warmth setting 782b are used to adjust the simulated lighting and the temperature of the avatar's skin, respectively. As another example, the avatar editing interface 780 includes a color palette 783, which includes a collection of one or more colors and / or shades from which to select the color of the avatar's skin.
[0253] In some embodiments, as Figure 7L1 As illustrated, the avatar editing interface 780 includes a set of parameters 784, such as shirt parameters 784a and headwear parameters 784b. In some embodiments, selecting a parameter allows for selecting one or more aspects of the visual characteristics of the avatar. For example, referring to Figure 7M , selection of shirt parameter 784a (e.g., a tap input 7051 or an air gesture corresponding to a location of parameter 784a) causes device 700 to display a parameter menu 790 from which the user can select from any number of options (e.g., options 790a-790c) for shirt parameter 784a. Figure 7N Once an option has been selected (e.g., a tap input 705m or an air gesture corresponding to a location of option 790b), the user can select from the styles 792 (e.g., 792a-792f) of the selected option and update the visual characteristics of the avatar accordingly. Similarly, in some embodiments, selection of headgear parameter 784b causes the device 700 to display headgear options for the headgear parameter 784b, and selection of an option causes the device 700 to display the type of the selected option.
[0254] While described herein with respect to parameters 784a and 784b corresponding to a shirt and headwear, respectively, it will be appreciated that in some embodiments, parameters of the avatar editing interface 780 optionally correspond to other / additional visual aspects of the avatar. By way of example, in some embodiments, parameters 784 are used to select one or more aspects of the avatar's eyewear (e.g., parameter 784a corresponds to glasses, and parameter 784b corresponds to an eye mask). In an example where device 700 receives a user selection of parameter 784a corresponding to glasses, device 700 displays options for various designs of glasses (e.g., rimless, thin-framed, thick-framed, etc.). Once device 600 receives the user selection of a design, device 700 displays various styles of the selected design as type 792 for user selection. In an example where device 700 receives a user selection of an eye mask, device 700 displays options for various designs of an eye mask (e.g., a left eye mask or a right eye mask). Once device 600 receives the user selection of a design, device 700 displays various styles of the selected design as type 792 for user selection.
[0255] In some embodiments, the avatar editing interface 780 includes a set of parameters 786. As shown, in some embodiments, parameters 786 are used to select one or more aspects of hair. By way of example, parameter 786a corresponds to a hairstyle, parameter 786b corresponds to hair color, and parameter 786c corresponds to hair highlights. In other embodiments, parameters 786 are used to select one or more aspects of accessibility features. By way of example, in some embodiments, parameter 786a corresponds to a hand prosthesis, parameter 786b corresponds to a hearing aid, and parameter 786c corresponds to a wheelchair.
[0256] In some embodiments, Figure 7L1 The techniques and user interfaces described in Figures 1A to 1P One or more of the devices described in the present invention are provided. Figure 7L2 Examples thereof (for example, Figures 7L1 to 7N In some embodiments, the avatar editing interface X780 is displayed on a display module X702 of a head-mounted device (HMD) X700. In some embodiments, the device X700 includes a pair of display modules that provide stereoscopic content to different eyes of the same user. For example, the HMD X700 includes a display module X702 that provides content to the user's left eye and a second display module that provides content to the user's right eye. In some embodiments, the second display module displays a slightly different image than the display module X702 to create the illusion of stereoscopic depth.
[0257] exist Figure 7L2At
[0065] , the avatar editing interface X780 includes a live view X781 of the avatar of the user of the HMD X700. In some embodiments, the HMD X700 displays the live view X781 of the avatar editing interface X780, which is updated in real time based on the movements and / or demeanor of the user of the HMD X700, as detected by the HMD X700. The avatar editing interface X780 also includes various settings and / or parameters for adjusting the visual characteristics of the avatar. As an example, the avatar editing interface X780 includes settings X782, including a brightness setting X782a and a warmth setting X782b. The brightness setting X782a and the warmth setting X782b are used to adjust the simulated lighting and the temperature of the avatar's skin, respectively. As another example, the avatar editing interface X780 includes a color palette X783, which includes a set of one or more colors and / or shades from which to select the color of the avatar's skin.
[0258] In some embodiments, as Figure 7L2 As illustrated, the avatar editing interface X780 includes a collection of parameters X784, such as shirt parameters X784a and headwear parameters X784b. In some embodiments, selecting a parameter allows for selection of one or more aspects of the visual characteristics of the avatar. For example, selection of shirt parameter X784a (e.g., a gaze and pinch gesture, where the gaze is represented by a gaze indicator X705L corresponding to the position of parameter X784a) causes the HMD X700 to display a parameter menu 790, from which the user can select from any number of options (e.g., options 790a through 790c) for shirt parameter X784a, such as Figure 7M shown.
[0259] In some embodiments, the HMD X700 detects selection of shirt parameter X784a based on an in-air gesture performed by a user of the HMD X700. In some embodiments, the HMD X700 detects hands X750a and / or X750b of the user of the HMD X700 and determines whether movement of the hands X750a and / or X750b performs a predetermined in-air gesture corresponding to selection of shirt parameter X784a. In some embodiments, the predetermined in-air gesture for selecting shirt parameter X784a includes a pinch gesture. In some embodiments, the pinch gesture includes detecting movement of finger X750c and thumb X750d toward each other. In some embodiments, the HMD X700 detects selection of shirt parameter X784a based on gaze and in-air gesture input performed by the user of the HMD X700. In some embodiments, the gaze and air gesture input includes detecting that the user of HMD X700 is looking at shirt parameter X784a (eg, for greater than a predetermined amount of time) and that the user of HMD X700's hands X750a and / or X750b perform a pinch gesture.
[0260] refer to Figure 7N Once an option has been selected (e.g., a tap input 705m or an air gesture corresponding to a location of option 790b), the user can select from the styles 792 (e.g., 792a-792f) of the selected option and update the visual characteristics of the avatar accordingly. Similarly, in some embodiments, selection of headgear parameter 784b causes the device 700 to display headgear options for the headgear parameter 784b, and selection of an option causes the device 700 to display the type of the selected option.
[0261] While described herein with respect to parameters X784a and X784b corresponding to a shirt and headwear, respectively, it will be appreciated that in some embodiments, parameters of the avatar editing interface X780 optionally correspond to other / additional visual aspects of the avatar. By way of example, in some embodiments, parameter X784 is used to select one or more aspects of the avatar's eyewear (e.g., parameter X784a corresponds to glasses, and parameter X784b corresponds to an eye mask). In an example where the HMD X700 receives a user selection of parameter X784a corresponding to glasses, the HMD X700 displays options for various designs of glasses (e.g., rimless, thin-framed, thick-framed, etc.). Once the HMD X700 receives the user selection of a design, the HMD X700 displays various styles of the selected design as type 792 for the user to select. In an example where the HMD X700 receives a user selection of an eye mask, the HMD X700 displays options for various designs of the eye mask (e.g., left eye mask or right eye mask). Once the HMD X700 receives the user selection of a design, the HMD X700 displays various styles of the selected design as types 792 for user selection.
[0262] In some embodiments, the avatar editing interface X780 includes a set of parameters X786. As shown, in some embodiments, the parameters X786 are used to select one or more aspects of hair. By way of example, parameter X786a corresponds to a hairstyle, parameter X786b corresponds to hair color, and parameter X786c corresponds to hair highlights. In other embodiments, the parameters X786 are used to select one or more aspects of accessibility features. By way of example, in some embodiments, parameter X786a corresponds to a hand prosthesis, parameter X786b corresponds to a hearing aid, and parameter X786c corresponds to a wheelchair.
[0263] Figure 1B to Figure 1PAny of the features, components, and / or parts shown, including arrangements and configurations thereof, may be included, alone or in any combination, in HMD X700. For example, in some embodiments, HMD X700 includes any of the features, components, and / or parts of HMDs 1-100, 1-200, 3-100, 6-100, 6-200, 6-300, 6-400, 11.1.1-100, and / or 11.1.2-100, alone or in any combination. In some embodiments, the display module X702 includes, alone or in any combination, the display unit 1-102, the display unit 1-202, the display unit 1-306, the display unit 1-406, the display generation component 120, the display screens 1-122a-b, the first rear-facing display screen 1-322a and the second rear-facing display screen 1-322b, the display 11.3.2-104, the first display component 1-120a and the second display component 1-120b, the display component 1-320, and the display component 1-4 21. Any of the features, components and / or parts of the first display subassembly 1-420a and the second display subassembly 1-420b, the display assembly 3-108, the display assembly 11.3.2-204, the first optical module 11.1.1-104a and the second optical module 11.1.1-104b, the optical module 11.3.2-100, the optical module 11.3.2-200, the lenticular lens array 3-110, the display area or zone 6-232 and / or the display / display area 6-334. In some embodiments, the HMD X700 includes sensors that include, individually or in any combination, any of the features, components, and / or parts of sensor 190, sensor 306, image sensor 314, image sensor 404, sensor assembly 1-356, sensor assembly 1-456, sensor system 6-102, sensor system 6-202, sensor 6-203, sensor system 6-302, sensor 6-303, sensor system 6-402, and / or any of sensors 11.1.2-110a-f. In some embodiments, the input device X703 includes, individually or in any combination, any of the features, components, and / or parts of first button 1-128, button 11.1.1-114, second button 1-132, and / or any of dial or button 1-328. In some embodiments, HMD X700 includes one or more audio output components (eg, electronic components 1-112) for generating audio feedback (eg, audio output), optionally based on detected events and / or user input detected by HMD X700.
[0264] refer to Figure 7N, while displaying the avatar editing interface 780, the device 700 detects a selection of a save option 788. In some embodiments, the selection of the save option 788 is a tap gesture 705n on the save option 788. In some embodiments, the selection of the save option 788 is, for example, an air gesture indicating the selection of the save option 788. In response to detecting the selection of the save option 788, the device 700 stores (e.g., locally and / or remotely) the configuration of the avatar selected by the user of the device 700 for subsequent use in the XR communication session. Figure 7O As shown, further in response to detecting selection of the set enable indication 772, the device 700 displays a completion interface 795, which indicates that the user has successfully created and / or updated the user's avatar.
[0265] exist Figure 7P , the user of device 700 is participating in a conversation with contact 712f ("Ann," Figure 7B ). In some embodiments, the XR communication session is a spatial communication session. Thus, in some embodiments, the contact 712f and / or the user of the device 700 is represented by a 3D representation (e.g., an avatar) in the XR environment 704. For example, Figure 7P As shown, the user of device 700 is represented by representation 700A (as shown in self-preview 706A), and contact 712f is represented by representation 701A.
[0266] In some embodiments, a view of the XR environment 704 for a user of the device 700 is provided from the perspective of a representation 700A within the XR environment 704. Because this may prevent the user from otherwise viewing the representation 700A, the device 700 displays a self-preview 706A that includes a live view of the representation 700A in the XR environment 704. Although the self-preview 706A is shown as being located in the lower right corner of the display 702, it will be appreciated that the self-preview 706A may optionally be displayed anywhere on the display 702. By way of example, in some embodiments, the self-preview 706A is positioned adjacent to the representations of the contacts in the XR communication session. In some embodiments, the self-preview 706A is located, for example, at a location 708A proximate to the representation 701A.
[0267] In some embodiments, the participants represented by the 3D representations in the XR environment have spatial proxies. Thus, during the XR communication session, the 3D representations are optionally moved within the XR environment 704 so that the 3D representations move relative to elements (e.g., table 704a and sofa 704b) and / or other participants in the XR environment 704. In some embodiments, the 3D representations move according to the movement of the corresponding device. By way of example, the 3D representation 700A may move within the XR environment 704 in response to the movement of the device 700. In some embodiments, the 3D representations move in a manner corresponding to the movement of the device. For example, if the device 700 first moves in a first direction (e.g., to the left) and thereafter moves in a second direction (e.g., to the right), the 3D representation 700A will move in the first and second directions in a similar manner within the XR environment 704.
[0268] In some embodiments, while participating in an XR communication session, the device 700 displays a collection of controls 704A for managing one or more aspects of the XR communication session, such as Figure 7P As shown. The set of controls 704A includes a message option 704Aa, a message option 704Ab, a microphone option 704Ac, an avatar option 704Ad, a camera option 704Ae, and a termination option 704Af. Message option 704Aa, when selected, causes device 700 to display a message interface for transmitting a message to contact 712f. Message option 704Ab, when selected, causes device 700 to display a message interface corresponding to contact 712f. Microphone option 704Ac, when selected, toggles the state of the microphone of device 700 (e.g., enables or disables the microphone). In some embodiments, disabling the microphone of device 700 prevents device 700 from providing audio during the XR communication session. Camera option 704Ae, when selected, toggles the state of the camera of device 700 (e.g., enables or disables the camera). In some embodiments, disabling the camera of device 700 prevents device 700 from providing video (e.g., a video feed of the user of device 700 and / or movement of the representation of the user of device 700) during the XR communication session. The terminate option 704Af, when selected, disconnects the device 700 from the XR communication session.
[0269] The avatar option 704Ad, when selected, switches (e.g., enables or disables) the use of a 3D representation in the XR environment 704. For example, while displaying the XR environment 704, the device 700 detects a selection of the avatar option 704Ad. In some embodiments, the selection of the avatar option 704Ad is a tap gesture 705p on the avatar option 704Ad. In some embodiments, the selection of the avatar option 704Ad is, for example, an air gesture indicating the selection of the avatar option 704Ad. Figure 7QAs shown, in response to selection of avatar option 704Ad, device 700 disables use of the 3D representation in XR environment 704.
[0270] In some embodiments, the device 700 causes the XR communication session to transition between a spatial communication session and a non-spatial communication session when toggling the use of the 3D representation in the XR environment 704. Disabling the use of the 3D representation causes the device 700 to transition the XR communication session from a spatial communication session to a non-spatial communication session. Enabling the use of the 3D representation causes the device 700 to transition the XR communication session from a non-spatial communication session to a spatial communication session.
[0271] In some embodiments, in a non-spatial communication session, participants in an XR communication session are represented by 2D representations. By way of example, Figure 7Q As shown, the user of device 700 is represented by 2D representation 710A (as shown in self-preview 706A), and contact 712f is represented by 2D representation 712A.
[0272] In some embodiments, the 2D representation includes a video feed of the user (e.g., a live video feed). In some embodiments, if the user's video feed is not available (e.g., the device's camera is disabled), the 2D representation of the user instead includes an image associated with the user (e.g., a thumbnail), a monogram corresponding to the user, and / or another 2D representation. In some embodiments, the user represented by the 2D representation in the XR environment does not have a spatial agent and is optionally positioned at one or more predetermined locations in the XR environment 704. In some embodiments, the device 600 is configured to move the 2D representation of the remote participant in the XR environment based on user input received at the device 700 (e.g., input to drag the representation from a first position to a second position). In some embodiments, the device 600 is not configured to move the 3D representation of the remote participant in the XR environment based on user input received at the device 700.
[0273] The following reference methods 800 and 900 provide information on Figures 7A to 7Q Additional description of each method relative to Figures 7A to 7Q Provide a description.
[0274] Figure 8 is a flow chart of an exemplary method 800 for managing a live communication session according to some embodiments. In some embodiments, the method 800 is performed on a computer system (e.g., Figure 1A The computer system 101, computer system 700 and / or HMD X700 (e.g., a smart phone, tablet and / or head mounted device) is executed at the computer system 101, computer system 700 and / or HMD X700 in the embodiment of the present invention, which is connected to the display generation component (e.g., Figure 1A 、 Figure 3 and Figure 4 In some embodiments, method 800 is performed by a computer program product stored in a non-transitory (or transient) computer-readable storage medium and executed by one or more processors of a computer system, such as one or more processors 202 of computer system 101 (e.g., a computer program product 102). In some embodiments, method 800 is performed by a computer program product 102 that is stored in a non-transitory (or transient) computer-readable storage medium and executed by one or more processors of a computer system, such as one or more processors 202 of computer system 101 (e.g., a computer program product 102). Figure 1A Some operations in method 800 may be optionally combined, and / or the order of some operations may be optionally changed.
[0275] A computer system (e.g., 700 and / or X700) displays (802) representations (e.g., 712a-712g and 714a-714i) (e.g., static avatars, animated avatars, images, and / or alphanumerics) of multiple users (e.g., users who do not operate the computer system (remote users) and / or users other than the user of the computer system) via a display generation component.
[0276] The computer system (e.g., 700 and / or X700) receives (804) a selection (e.g., 705b and / or 711b) of a representation (e.g., 712e, X712e, 714g and / or X714g) (e.g., a static avatar, an animated avatar, an image and / or a monogram) of a corresponding user from a plurality of users via one or more sensors (e.g., via touch input on a touch-sensitive surface and / or via an air gesture).
[0277] In response to receiving (806) a selection of a representation of a corresponding user (e.g., 712e, X712e, 714g, and / or X714g) and based on a determination that there is an ongoing (e.g., active and / or currently established) communication session (e.g., a video communication session, an audio communication session, an extended reality communication session, a spatial communication session, and / or a non-spatial communication session), the computer system (e.g., 700 and / or X700) displays (808) via the display generating component (e.g., 702 and / or X702) an option to invite the corresponding user to join the ongoing communication session (e.g., Figure 7C1 724b and / or Figure 7C2 X724b).
[0278] In response to receiving (806) a selection of a representation of a corresponding user (e.g., 712e, X712e, 714g, and / or X714g) and based on determining that there is no ongoing communication session, the computer system (e.g., 700 and / or X700) forgoes displaying (810) an option to invite the corresponding user to join the ongoing communication session (e.g., as Figure 7C1 Menu 720 and / or Figure 7C2 Conditionally displaying the option to invite the corresponding user to join the ongoing communication session enables the user of the computer system to invite the corresponding user without navigating to a different user interface, thereby reducing the number of inputs required to perform the invitation operation.
[0279] In some embodiments, in response to receiving a selection of a representation of a corresponding user (e.g., 712e, X712e, 714g, and / or X714g) (e.g., independent of a determination as to whether there is an ongoing communication session), the computer system (e.g., 700 and / or X700) displays, via a display generating component (e.g., 702 and / or X702), an option to initiate a new spatial communication session with the corresponding user (e.g., Figure 7C1 720a and / or 724a and / or Figure 7C2 X720a and / or X724a at ) and options for additional features (e.g., Figure 7C1 720b and / or 724c and / or Figure 7C2 In some embodiments, before displaying options for additional features (e.g., Figure 7C1 720a and / or 724a and / or Figure 7C2 At X720a and / or X724a at the address, the computer system (e.g., 700 and / or X700) receives an option for additional features (e.g., Figure 7C1 720a and / or 724a and / or Figure 7C2 In some embodiments, in response to receiving a selection of an option for additional features, the computer system (e.g., 700 and / or X700) displays (e.g., by replacing the display of an option to invite the corresponding user to join the ongoing communication session) one or more options associated with the corresponding user (e.g., Figure 7D720c-720f at (e.g., one or more options for communicating with the respective user, such as by sending a text message to the respective user and / or displaying additional information about the respective user). In some embodiments, the spatial communication session is a communication session having representations of at least some (e.g., less than all, a plurality, and / or all) of the users participating in the communication session distributed in the 3D environment. Displaying the option to initiate a new spatial communication session with the respective user and the option to access additional features enables a user of the computer system to quickly access the option to initiate a new spatial communication session without cluttering the user interface, while still providing access to additional (and potentially less frequently used) features, thereby improving the human-computer interface.
[0280] In some embodiments, in response to receiving a selection of a representation of a corresponding user (e.g., independent of a determination as to whether there is an ongoing communication session), the computer system (e.g., 700 and / or X700) displays, via a display generation component (e.g., 702 and / or X702), options for additional features (e.g., Figure 7C1 720b and / or Figure 7C2 In some embodiments, before displaying options for additional features (e.g., Figure 7C1 720b and / or Figure 7C2 At X720b at , the computer system (eg, 700 and / or X700) receives, via one or more sensors, an option for an additional feature (eg, Figure 7C1 720b and / or Figure 7C2 In some embodiments, in response to receiving a selection for an additional feature (e.g., X720b at 705c) (e.g., via touch input on a touch-sensitive surface and / or via an air gesture). Figure 7C1 720b and / or Figure 7C2 Upon selection of X720b at the corresponding location, the computer system (e.g., 700 and / or X700) displays (e.g., by replacing the display of the option to invite the corresponding user to join the ongoing communication session) an option (e.g., not including live visual representations of participants and / or not including a video component) to initiate an audio communication session with the corresponding user (e.g., not including live visual representations of participants and / or not including a video component) via the display generating component (e.g., 702 and / or X702). Figure 7D In some embodiments, the computer system receives, via one or more sensors, an option to initiate an audio communication session with the corresponding user (e.g., 720c at ). Figure 7DIn some embodiments, in response to receiving a selection to initiate an audio communication session with the corresponding user (e.g., Figure 7D 720c), the computer system (e.g., 700 and / or X700) initiates an audio communication session (e.g., that does not include live visual representations of the participants and / or does not include a video component) with the corresponding user (e.g., but not with other users). Displaying the option to initiate an audio communication session enables a user of the computer system to begin a communication session that does not include live visual representations of the users without initiating a video communication session and disabling the video portion alone, thereby reducing the number of inputs required to initiate an audio communication session.
[0281] In some embodiments, the computer system initiating an audio communication session includes using an external electronic device (e.g., a smart phone and / or a cellular phone) within a predetermined range (e.g., distance and / or wireless range) of the computer system (e.g., 700 and / or X700) to initiate an audio call (e.g., a voice call and / or a phone call). In some embodiments, an option to initiate an audio communication session is displayed for a corresponding user who does not have an account (or does not have an active account) that includes a particular online service (e.g., a user of the computer system has an account that includes a particular online service for video and / or extended reality communications, but the corresponding user does not have the account). Using an external electronic device to initiate an audio communication session via an audio call enables the computer system to use resources of the external computer system (e.g., the cellular connection and / or CPU processing of the external computer system), thereby improving the functionality of the computer system while reducing the workload of the computer system.
[0282] In some embodiments, in response to receiving a selection (e.g., 705c and / or 711b) of a representation of a corresponding user (e.g., 712e, X712e, 714g, and / or X714g) (e.g., independent of a determination as to whether there is an ongoing communication session), a computer system (e.g., 700 and / or X700) displays options for additional features (e.g., 720b, X720b, 724c, and / or X724c) via a display generating component (e.g., 702 and / or X702) (e.g., without displaying an option for initiating a process for transmitting a message to the corresponding user and / or displaying additional information about the corresponding user). In some embodiments, when options for additional features (e.g., 720b, X720b, 724c, and / or X724c) are displayed, the computer system (e.g., 700 and / or X700) receives a selection (e.g., 705c) of the option for additional features (e.g., 720b and / or X720b) via one or more sensors (e.g., via touch input on a touch-sensitive surface and / or via an air gesture). In some embodiments, in response to receiving a selection (e.g., 705c) of an option for additional features (e.g., 720b and / or X720b), the computer system (e.g., 700 and / or X700) displays (e.g., by replacing the display of an option to invite the respective user to join the ongoing communication session) an option (e.g., 720d) to initiate a process of transmitting a message to the respective user (e.g., not including live transmission of audio and / or video) via a display generating component (e.g., 702 and / or X702) (e.g., as part of one or more options associated with the respective user). In some embodiments, the computer system receives a selection (e.g., 705d) of the option (e.g., 720d) to initiate a process of transmitting a message to the respective user via one or more sensors (e.g., via touch input on a touch-sensitive surface and / or via an air gesture). In some embodiments, in response to receiving a selection (e.g., 705d) of an option (e.g., 720d) to initiate a process of transmitting a message to a corresponding user, the computer system (e.g., 700 and / or X700) initiates transmitting a message to the corresponding user (e.g., Figure 7E 730 and / or Figure 7HIn some embodiments, the process of initiating the message transmission to the respective user includes displaying a user interface including a dialog between a user of the computer system and the respective user, displaying a keyboard, and / or displaying a text entry field for entering a message. Providing an option to initiate the process of transmitting the message to the respective user via the additional feature selection enables the user of the computer system to quickly initiate the process without specifying a recipient, thereby reducing the number of inputs required to transmit the message.
[0283] In some embodiments, in response to receiving a selection (e.g., 705c and / or 711b) of a representation of a corresponding user (e.g., 712e, X712e, 714g, and / or X714g) (e.g., independent of a determination as to whether there is an ongoing communication session), a computer system (e.g., 700 and / or X700) displays options for additional features (e.g., 720b, X720b, 724c, and / or X724c) via a display generating component (e.g., 702 and / or X702) (e.g., without displaying an option for initiating a process for transmitting a message to the corresponding user and / or displaying additional information about the corresponding user). In some embodiments, while displaying options for additional features (e.g., 720b, X720b, 724c, and / or X724c), the computer system receives a selection of the option for additional features (e.g., 720b, X720b, 724c, and / or X724c) via one or more sensors (e.g., via touch input on a touch-sensitive surface and / or via an air gesture). In some embodiments, in response to receiving a selection of the option for additional features (e.g., 720b, X720b, 724c, and / or X724c), the computer system displays (e.g., by replacing the display of an option to invite the corresponding user to join an ongoing communication session) an option (e.g., 720e) to display additional information about the corresponding user (e.g., without displaying additional information about other users) via a display generation component (e.g., as part of one or more options associated with the corresponding user). In some embodiments, the computer system receives a selection (e.g., 707d) of an option (e.g., 720e) to display additional information about the corresponding user via one or more sensors (e.g., via touch input on a touch-sensitive surface and / or via an air gesture). In some embodiments, in response to receiving a selection (e.g., 707d) of an option (e.g., 720e) to display additional information about the corresponding user, the computer system (e.g., 700 and / or X700) displays additional information (e.g., information about the corresponding user) (e.g., that is not displayed when the option for additional features is selected and / or that is not displayed when the option for additional information is selected) via a display generation component (e.g., 702 and / or X702). Figure 7F 740) (e.g., previous communication history with the corresponding user, the corresponding user's phone number, and / or the corresponding user's email address) (e.g., without displaying additional information about other users). Providing additional information about the corresponding user to the user provides feedback to the user of the computer system about the corresponding user and / or the corresponding user's device, thereby providing improved visual feedback.
[0284] In some embodiments, in response to receiving a selection (e.g., 705c and / or 711b) of a representation of a corresponding user (e.g., 712e, X712e, 714g, and / or X714g) (e.g., independent of a determination as to whether there is an ongoing communication session), a computer system (e.g., 700 and / or X700) displays options for additional features (e.g., 720b, X720b, 724c, and / or X724c) via a display generating component (e.g., 702 and / or X702) (e.g., without displaying an option for initiating a process for transmitting a message to the corresponding user and / or displaying additional information about the corresponding user). In some embodiments, while displaying options for additional features (e.g., 720b, X720b, 724c, and / or X724c), the computer system (e.g., 700 and / or X700) receives a selection (e.g., 705c) of the option for additional features via one or more sensors (e.g., via touch input on a touch-sensitive surface and / or via an air gesture). In some embodiments, in response to receiving a selection (e.g., 705c) of the option for additional features (e.g., 720b and / or X720b), the computer system displays (e.g., by replacing the display of an option to invite the corresponding user to join an ongoing communication session) an option (e.g., 720f) to remove the corresponding user from a favorites page (e.g., a list or group of favorite users) (e.g., without removing other users) via a display generation component (e.g., as part of one or more options associated with the corresponding user). In some embodiments, removing the corresponding user from the favorites page includes ceasing to display the representation of the corresponding user as part of representations of multiple users (e.g., static avatars, animated avatars, images, and / or monograms) (e.g., the representation is optionally displayed as part of the primary user interface). In some embodiments, the computer system receives a selection of an option (e.g., 720f) to remove the corresponding user from the favorites page (e.g., 712) via one or more sensors (e.g., via touch input on a touch-sensitive surface and / or via an air gesture). In some embodiments, in response to receiving a selection of an option (e.g., 720f) to remove the corresponding user from the favorites page (e.g., 712), the computer system (e.g., 700 and / or X700) initiates a process of removing the corresponding user from the favorites page (e.g., requesting confirmation to remove the corresponding user from the favorites page and / or removing the corresponding user from the favorites page). Initiating the process of removing the corresponding user from the favorites page enables the user to limit the users accessible via the favorites page and / or the primary user interface, thereby reducing visual clutter and enabling other users to be added to the favorites page, thereby providing improved visual feedback.
[0285] In some embodiments, in response to receiving a selection (e.g., 711b) of a representation of a corresponding user (e.g., 714g and / or X714g) and based on a determination that there is an ongoing (e.g., active and / or currently established) communication session (e.g., a video communication session, an audio communication session, an extended reality communication session, a spatial communication session, and / or a non-spatial communication session), the computer system (e.g., 700 and / or X700) displays, via a display generating component (e.g., 702 and / or X702) and simultaneously with an option (e.g., 724b and / or X724b) to invite the corresponding user to join the ongoing communication session, an option (e.g., 724a and / or X724a) to initiate a process for starting a new communication session with the corresponding user. In some embodiments, the computer system (e.g., 700 and / or X700) receives, via one or more sensors, a selection (e.g., 709c) of an option (e.g., 724a and / or X724a) to initiate a process to start a new communication session with the respective user (e.g., via touch input on a touch-sensitive surface and / or via an air gesture). In some embodiments, in response to receiving the selection (e.g., 709c) of the option (e.g., 724a and / or X724a) to initiate a process to start a new communication session with the respective user, the computer system (e.g., 700 and / or X700) initiates ending the ongoing communication session (e.g., Figure 7G In some embodiments, in response to receiving a selection of the option to initiate a process to start a new communication session with the corresponding user, the computer system automatically (e.g., without requiring and / or receiving additional input from the user and / or without requesting user confirmation) ends the ongoing communication session and starts a new communication session with the corresponding user. Providing the option to start a new communication session with the corresponding user enables the computer system to end the ongoing communication session and start a new communication session without requiring separate user input directed to ending the ongoing communication session and starting the new communication session, thereby reducing the number of inputs required to perform the operation.
[0286] In some embodiments, during the process of starting a new communication session with the corresponding user (e.g., Figure 7GDuring the process of terminating the ongoing communication session (e.g., 740), the computer system (e.g., 700 and / or X700) prompts (e.g., 742) (e.g., via audio using a speaker and / or via a display using a display generating component) to confirm the end of the ongoing communication session. In some embodiments, the computer system (e.g., 700 and / or X700) receives confirmation of the end of the ongoing communication session via one or more sensors (e.g., when displaying a prompt to confirm the end of the ongoing communication session). In some embodiments, in response to receiving the confirmation of the end of the ongoing communication session, the computer system ends the ongoing communication session (and optionally, starts a new communication session with the corresponding user). Requesting confirmation to end the ongoing communication session from the user of the computer system enables the computer system to avoid the user inadvertently ending the ongoing communication session, thereby improving the human-computer interface.
[0287] In some embodiments, representations of multiple users (e.g., static avatars, animated avatars, images, and / or monograms) are displayed (e.g., as part of a primary user interface (e.g., optionally including representations of contacts with whom the user has recently communicated)). Figures 7B to 7D ), and displaying an option (e.g., 724b and / or X724b) to invite the corresponding user to join the ongoing communication session and / or displaying one or more options associated with the corresponding user (e.g., 720a-720b, X720a-X720b, 724a-724c and / or X724a-X724c) includes obscuring the main user interface (e.g., partially blocking the display of the main user interface, blurring the main user interface and / or otherwise partially obscuring the main user interface). In some embodiments, the main user interface includes multiple user interface objects for displaying corresponding applications (e.g., a first user interface object that, when activated, causes the user interface of a first application to be displayed, and a second user interface object that, when activated, causes the user interface of a second application different from the first application to be displayed). In some embodiments, in response to detecting the corresponding user input (e.g., detecting the press of a physical button and / or detecting the corresponding gesture, such as an air gesture), the computer system displays the main user interface (e.g., regardless of what the computer system was displaying when the corresponding user input was received). In some embodiments, after the computer system exits (e.g., wakes up) from low power mode and / or receives user input to unlock the computer system, the computer system automatically displays the primary user interface. Continuing to display the primary user interface (when obscured) provides the user with context about the content the user is accessing, including information about the corresponding user (e.g., name and / or contact information).
[0288] In some embodiments, the one or more options associated with the respective user include an option (e.g., 720d) to initiate a process of transmitting a message to the respective user (e.g., excluding live transmission of audio and / or video) (e.g., as part of the one or more options associated with the respective user). In some embodiments, the computer system (e.g., 700 and / or X700) receives, via one or more sensors, a selection (e.g., 705d) of the option (e.g., 720d) to initiate a process of transmitting a message to the respective user. In some embodiments, in response to receiving (e.g., 705d) the option (e.g., 720d) to initiate a process of transmitting a message to the respective user (and optionally, based on a determination that messages from the respective user were not being displayed upon receiving the selection of the representation of the respective user), the computer system (e.g., 700 and / or X700) displays, via the display generation component (e.g., 702 and / or X702), a messaging user interface (e.g., 702) (for messaging with the respective user) having a first appearance. Figure 7E Displaying the messaging user interface having the first appearance without displaying the primary user interface provides feedback to the user that the messaging user interface is in the first state, thereby providing improved visual feedback to the user.
[0289] In some embodiments, the one or more options associated with the respective user include an option (e.g., 718 and / or X718) to initiate a process of transmitting a message to the respective user (e.g., excluding live transmission of audio and / or video) (e.g., as part of the one or more options associated with the respective user). In some embodiments, the computer system (e.g., 700 and / or X700) receives a selection (e.g., 707c) of the option (e.g., 718 and / or X718) to initiate a process of transmitting a message to the respective user via one or more sensors. In some embodiments, in response to receiving a selection (e.g., 707c) of an option (e.g., 718 and / or X718) to initiate a process for transmitting a message to a respective user (and optionally based on a determination that a message from the respective user is being displayed when the selection of the representation of the respective user is received), the computer system (e.g., 700 and / or X700) simultaneously displays, via a display generation component, a messaging user interface (e.g., 750) (for messaging with the respective user) having a second appearance (e.g., different from the first appearance) (e.g., a messaging user interface having a second size that is smaller than the first size and / or a messaging user interface that does not include a displayed keyboard) and at least a portion of the primary user interface (e.g., as shown in FIG. 1 ). Figure 7HDisplaying the messaging user interface having the second appearance along with a portion of the primary user interface provides feedback to the user that the messaging user interface is in the second state, thereby providing improved visual feedback to the user.
[0290] In some embodiments, the primary user interface is not user-movable, and wherein the messaging user interface (e.g., 750) (e.g., having the first appearance and / or having the second appearance) is user-movable. Enabling the user to move the messaging user interface without enabling the user to move the primary user interface provides feedback to the user regarding which elements are part of the primary user interface and which elements are not part of the primary user interface, thereby providing improved visual feedback to the user.
[0291] In some embodiments, displaying representations of multiple users (e.g., 712a-712g and 714a-714i) via a display generating component (e.g., 702 and / or X702) includes displaying a first grouping (e.g., 712) of a first plurality of representations of a first plurality of users via a display generating component (e.g., 702 and / or X702), wherein the first plurality of users (e.g., 712a-712g) are selected to be included as part of the representations of the multiple users regardless of the recency of communications between a user of the computer system and the first plurality of users (e.g., included for display based on being manually selected as part of favorite contacts and / or based on a frequency of communications). In some embodiments, displaying representations of the plurality of users (e.g., 712a-712g and 714a-714i) via the display generation component includes displaying, via the display generation component (e.g., 702 and / or X702), a second grouping (e.g., 714) of a second plurality of representations of a second plurality of users, wherein the second plurality of users (e.g., 714a-714i) are selected to be included as part of the plurality of users based on the recency of communications between the user of the computer system and the second plurality of users (e.g., to be included for display based on the most recent users communicated with). In some embodiments, an order of the second plurality of representations of the second plurality of users is based on the recency of communications between the user of the computer system and the second plurality of users. In some embodiments, displaying, via the display generation component, representations of the plurality of users includes: displaying, via the display generation component, a first grouping of a first plurality of representations of a first plurality of users, wherein the first plurality of users are selected to be included as part of the representation of the plurality of users regardless of the recency of communications between a user of the computer system and the first plurality of users; and a second grouping of a second plurality of representations of a second plurality of users, wherein: based on a determination that recent communications by the user of the computer system include communications with the first set of one or more users and do not include communications with the second set of one or more users, the second plurality of users includes the first set of one or more users and does not include the second set of one or more users, and based on a determination that recent communications by the user of the computer system include communications with the second set of one or more users and do not include communications with the first set of one or more users, the second plurality of users includes the second set of one or more users and does not include the first set of one or more users. Grouping the first plurality of users together and grouping the second plurality of users together enables the computer system to provide feedback to the user regarding which users were selected regardless of the recency of communications and which users were included based on the recency of communications, thereby providing improved visual feedback.
[0292] In some embodiments, the recency of communications between a user of the computer system (e.g., 700 and / or X700) and a second plurality of users is based on multiple communication modes (e.g., text messaging, phone calls, and / or communication sessions (e.g., video communication sessions, audio communication sessions, extended reality communication sessions, spatial communication sessions, and / or non-spatial communication sessions)). Grouping the second plurality of users together based on the recency of communications using multiple communication modes enables the computer system to group recent contacts regardless of how the communications occurred, thereby providing improved visual feedback.
[0293] In some embodiments, the computer system (e.g., 700 and / or X700) displays an indication of recent communication activity (e.g., 714f and / or X714f) between a user of the computer system and the respective user via a display generating component (e.g., 702 and / or X702) and simultaneously with an option to invite the respective user to join an ongoing communication session (e.g., 724b and / or X724b) and / or one or more options associated with the respective user (e.g., 724a, X724a, 724c, and / or X724c). Displaying the indication of recent communication activity along with the one or more options enables the user to see what recent communication method was used and to quickly select a communication method for another communication session, thereby reducing the number of inputs required to initiate a communication session of the appropriate type.
[0294] In some embodiments, one or more options (e.g., 720c-720f) associated with the respective user include an option (e.g., 724a and / or X724a) to initiate a spatial communication session with the respective user (e.g., a communication session with at least some (e.g., less than all, multiple, and / or all) representations of users participating in the communication session distributed in the 3D environment). In some embodiments, the computer system receives a selection (e.g., 709c) of the option (e.g., 724a and / or X724a) to initiate a spatial communication session with the respective user via one or more sensors (e.g., via touch input on a touch-sensitive surface and / or via an air gesture). In some embodiments, in response to receiving a selection (e.g., 709c) of the option (e.g., 724a and / or X724a) to initiate a spatial communication session with the respective user, the computer system (e.g., 700 and / or X700) initiates a spatial communication session with the respective user (e.g., such as in Figure 7P Providing an option to initiate a spatial communication session with a respective user enables a computer system to begin a communication session without requiring separate user input directed to the user with whom to participate in the communication session, thereby reducing the number of inputs required to perform an operation.
[0295] In some embodiments, the computer system (e.g., 700 and / or X700) displays an option (e.g., 715) to preview and / or edit an avatar of a user of the computer system via a display generation component (e.g., 702 and / or X702) and simultaneously with representations of multiple users (e.g., 712a-712g and 714a-714i). In some embodiments, the computer system (e.g., 700 and / or X700) receives a selection (e.g., 713b) of the option (e.g., 715) to preview and / or edit an avatar of a user of the computer system via one or more sensors (e.g., via touch input on a touch-sensitive surface and / or via an air gesture). In some embodiments, in response to receiving a selection (e.g., 713b) of an option (e.g., 715) to preview and / or edit an avatar of a user of the computer system, the computer system (e.g., 700 and / or X700) displays, via a display generation component (e.g., 702 and / or X702), a user interface (e.g., 760) for previewing (e.g., via an avatar self-view that moves in conjunction with the user's movements) and / or editing the avatar of the user of the computer system. Displaying the user interface to preview and / or edit the avatar of the user of the compu...
Claims
1. A method comprising: At a computer system in communication with a display generating component and one or more sensors: displaying, via the display generating component, representations of a plurality of users; receiving, via the one or more sensors, a selection of a representation of a corresponding user from the plurality of users; as well as In response to receiving a selection of the representation of the corresponding user: Based on determining that there is an ongoing communication session, displaying, via the display generating component, an option to invite the corresponding user to join the ongoing communication session; as well as Based on determining that there is no ongoing communication session, displaying the option to invite the corresponding user to join the ongoing communication session is foregone.
2. The method according to claim 1, further comprising: In response to receiving a selection of the representation of the corresponding user, displaying, via the display generating component: an option to initiate a new spatial communication session with the respective user; as well as Options for additional features; receiving a selection of the option for additional features while displaying the option for additional features; and In response to receiving a selection of the option for additional features, one or more options associated with the respective user are displayed via the display generation component.
3. The method according to any one of claims 1 to 2, further comprising: in response to receiving a selection of the representation of the corresponding user, displaying, via the display generating component, options for additional features; receiving, via the one or more sensors, a selection of the option for additional features while displaying the option for additional features; in response to receiving a selection of the option for additional features, displaying, via the display generating component, an option to initiate an audio communication session with the corresponding user; receiving, via the one or more sensors, a selection of the option to initiate an audio communication session with the respective user; as well as In response to receiving a selection of the option to initiate an audio communication session with the respective user, an audio communication session with the respective user is initiated.
4. The method of claim 3, wherein initiating an audio communication session comprises: An audio call is initiated using an external electronic device within a predetermined range of the computer system.
5. The method according to any one of claims 1 to 4, further comprising: in response to receiving a selection of the representation of the corresponding user, displaying, via the display generating component, options for additional features; receiving, via the one or more sensors, a selection of the option for additional features while displaying the option for additional features; in response to receiving a selection of the option for additional features, displaying, via the display generating component, an option to initiate a process of transmitting a message to the respective user; receiving, via the one or more sensors, a selection of the option to initiate a process of transmitting a message to the respective user; as well as In response to receiving a selection of the option to initiate a process of transmitting a message to the respective user, a process of transmitting a message to the respective user is initiated.
6. The method according to any one of claims 1 to 5, further comprising: in response to receiving a selection of the representation of the corresponding user, displaying, via the display generating component, options for additional features; receiving, via the one or more sensors, a selection of the option for additional features while displaying the option for additional features; in response to receiving a selection of the option for additional features, displaying, via the display generating component, an option to display additional information about the respective user; receiving, via the one or more sensors, a selection of the option to display additional information about the respective user; as well as In response to receiving a selection of the option to display additional information about the corresponding user, additional information about the corresponding user is displayed via the display generation component.
7. The method according to any one of claims 1 to 6, further comprising: in response to receiving a selection of the representation of the corresponding user, displaying, via the display generating component, options for additional features; receiving, via the one or more sensors, a selection of the option for additional features while displaying the option for additional features; In response to receiving a selection of the option for additional features, displaying, via the display generating component, an option to remove the corresponding user from the favorites page; receiving, via the one or more sensors, a selection of the option to remove the corresponding user from a favorites page; as well as In response to receiving a selection of the option to remove the respective user from the favorites page, a process of removing the respective user from the favorites page is initiated.
8. The method according to any one of claims 1 to 7, further comprising: in response to receiving a selection of the representation of the respective user and based on determining that there is an ongoing communication session, displaying, via the display generating component and concurrently with the option to invite the respective user to join the ongoing communication session, an option to initiate a process to start a new communication session with the respective user; receiving, via the one or more sensors, a selection of the option to initiate a process to begin a new communication session with the respective user; as well as In response to receiving a selection of the option to initiate a process to start a new communication session with the respective user, initiating the following process: ending the ongoing communication session; and The new communication session is started with the corresponding user.
9. The method according to claim 8, further comprising: During the process of starting the new communication session with the corresponding user, prompting for confirmation to end the ongoing communication session; receiving, via the one or more sensors, confirmation of ending the ongoing communication session; as well as In response to receiving confirmation to end the ongoing communication session, the ongoing communication session is ended.
10. A method according to any one of claims 2 to 9, wherein the representations of the multiple users are displayed as part of a main user interface, and displaying the option to invite the corresponding users to join the ongoing communication session and / or displaying the one or more options associated with the corresponding users includes obscuring the main user interface.
11. The method of claim 10, wherein the one or more options associated with the respective user include an option to initiate a process of transmitting a message to the respective user, the method further comprising: receiving, via the one or more sensors, a selection of the option to initiate a process of transmitting a message to the respective user; as well as In response to receiving a selection of the option to initiate a process of transmitting a message to the respective user, a messaging user interface having a first appearance is displayed via the display generation component without displaying the primary user interface.
12. The method according to any one of claims 10 to 11, wherein the one or more options associated with the respective user include an option to initiate a process of transmitting a message to the respective user, the method further comprising: receiving, via the one or more sensors, a selection of the option to initiate a process of transmitting a message to the respective user; as well as In response to receiving a selection of the option to initiate a process of transmitting a message to the respective user, a messaging user interface having a second appearance and at least a portion of the primary user interface are simultaneously displayed via the display generation component.
13. The method of any one of claims 11 to 12, wherein the primary user interface is not user-movable, and wherein the messaging user interface is user-movable.
14. The method of any one of claims 1 to 13, wherein displaying, via the display generating component, representations of the plurality of users comprises: displaying, via the display generating component, a first grouping of a first plurality of representations of a first plurality of users, wherein the first plurality of users are selected to be included as part of the representations of the plurality of users regardless of recency of communications between a user of the computer system and the first plurality of users; as well as A second grouping of a second plurality of representations of a second plurality of users is displayed via the display generating component, wherein the second plurality of users are selected to be included as part of the plurality of users based on recency of communications between the user of the computer system and the second plurality of users.
15. The method of claim 14, wherein the recency of communications between the user of the computer system and the second plurality of users is based on a plurality of communication modes.
16. The method according to any one of claims 2 to 15, further comprising: An indication of recent communication activity between a user of the computer system and the respective user is displayed via the display generating component and concurrently with the option to invite the respective user to join the ongoing communication session and / or the one or more options associated with the respective user.
17. The method of any one of claims 2 to 16, wherein the one or more options associated with the respective user include an option to initiate a spatial communication session with the respective user, the method further comprising: receiving, via the one or more sensors, a selection of the option to initiate a spatial communication session with the respective user; as well as In response to receiving a selection of the option to initiate a spatial communication session with the respective user, a spatial communication session with the respective user is initiated.
18. The method according to any one of claims 1 to 17, further comprising: displaying, via the display generating component and concurrently with the representations of the plurality of users, an option to preview and / or edit avatars of users of the computer system; receiving, via the one or more sensors, a selection of the option to preview and / or edit an avatar of the user of the computer system; as well as In response to receiving a selection of the option to preview and / or edit the avatar of the user of the computer system, a user interface for previewing and / or editing the avatar of the user of the computer system is displayed via the display generation component.
19. The method according to any one of claims 1 to 18, further comprising: displaying, via the display generating component and concurrently with the representations of the plurality of users: a first indication of a most recent communication between a user of the computer system and a first user of the plurality of users; as well as A second indication of a most recent communication between the user of the computer system and a second user of the plurality of users different from the first user.
20. The method of any one of claims 1 to 19, wherein a first representation of the representations of the plurality of users corresponding to a first user comprises a recent message from the first user.
21. The method according to claim 20, further comprising: receiving, via the one or more sensors, a selection of the recent message from the first user; as well as In response to receiving a selection of the recent message from the first user, an option to reply to the recent message is displayed via the display generating component.
22. The method according to claim 21, further comprising: receiving, via the one or more sensors, a selection of the option to reply to the recent message from the first user; as well as In response to receiving a selection of the option to reply to the recent message from the first user, a user interface for replying to the recent message from the first user is displayed via the display generation component.
23. The method of any one of claims 1 to 22, wherein the representations of the plurality of users are displayed as part of a primary user interface, and wherein the primary user interface is displayed in response to detecting activation of a hardware button.
24. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generating component and one or more sensors, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 23.
25. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: one or more processors; as well as A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 23.
26. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: A component for carrying out the method according to any one of claims 1 to 23.
27. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more sensors, the one or more programs including instructions for performing the method according to any one of claims 1 to 23.
28. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more sensors, the one or more programs comprising instructions for: displaying, via the display generating component, representations of a plurality of users; receiving, via the one or more sensors, a selection of a representation of a corresponding user from the plurality of users; as well as In response to receiving a selection of the representation of the corresponding user: Based on determining that there is an ongoing communication session, displaying, via the display generating component, an option to invite the corresponding user to join the ongoing communication session; as well as Based on determining that there is no ongoing communication session, displaying the option to invite the corresponding user to join the ongoing communication session is foregone.
29. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: one or more processors; as well as A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, via the display generating component, representations of a plurality of users; receiving, via the one or more sensors, a selection of a representation of a corresponding user from the plurality of users; as well as In response to receiving a selection of the representation of the corresponding user: Based on determining that there is an ongoing communication session, displaying, via the display generating component, an option to invite the corresponding user to join the ongoing communication session; as well as Based on determining that there is no ongoing communication session, displaying the option to invite the corresponding user to join the ongoing communication session is foregone.
30. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: means for displaying, via the display generating component, representations of a plurality of users; means for receiving, via the one or more sensors, a selection of a representation of a corresponding user of the plurality of users; as well as means for, in response to receiving a selection of the representation of the corresponding user: Based on determining that there is an ongoing communication session, displaying, via the display generating component, an option to invite the corresponding user to join the ongoing communication session; as well as Based on determining that there is no ongoing communication session, displaying the option to invite the corresponding user to join the ongoing communication session is foregone.
31. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more sensors, the one or more programs comprising instructions for: displaying, via the display generating component, representations of a plurality of users; receiving, via the one or more sensors, a selection of a representation of a corresponding user from the plurality of users; as well as In response to receiving a selection of the representation of the corresponding user: Based on determining that there is an ongoing communication session, displaying, via the display generating component, an option to invite the corresponding user to join the ongoing communication session; as well as Based on determining that there is no ongoing communication session, displaying the option to invite the corresponding user to join the ongoing communication session is foregone.
32. A method comprising: At a computer system in communication with a display generating component and one or more sensors: displaying, via the display generating component, a communication user interface for communicating with other users in a real-time communication session, wherein during the real-time communication session, a user of the computer system is represented by an avatar, the avatar moving during the real-time communication session according to movements of the user of the computer system detected by the one or more sensors; displaying, via the display generating component, a selectable user interface object when displaying the communication user interface; detecting, via the one or more sensors, one or more inputs including a selection input directed toward the selectable user interface object; as well as In response to detecting the one or more inputs including the selection input directed to the selectable user interface object, simultaneously displaying, via the display generation component, an avatar editing user interface, the avatar editing user interface comprising: the avatar representing the user of the computer system; as well as One or more options to modify the appearance of the avatar representing the user of the computer system.
33. The method of claim 32, wherein: The real-time communication session is an extended reality communication session conducted in an extended reality environment; The communication user interface is displayed in the extended reality environment; and The avatar editing user interface is displayed in the extended reality environment.
34. The method according to any one of claims 32 to 33, further comprising: After displaying the selectable user interface object, a communication session is participated in using the avatar representing the user of the computer system.
35. The method of claim 34, further comprising: displaying, via the display generating component and concurrently with the selectable user interface object, an option to initiate a communication session; detecting, via the one or more sensors, a selection input directed to the option for initiating a communication session; as well as In response to detecting the selection input directed to the option to initiate a communication session, a communication session is initiated.
36. A method according to any one of claims 32 to 35, wherein the selectable user interface object is displayed during an ongoing communication session.
37. The method according to any one of claims 32 to 36, further comprising: detecting, via the one or more sensors, input directed to the one or more options to modify the appearance of the avatar representing the user of the computer system; as well as In response to detecting input directed to the one or more options to modify the appearance of the avatar representing the user of the computer system, modifying the appearance of the avatar, wherein modifying the appearance of the avatar includes editing the avatar.
38. A method according to claim 37, wherein a first option of the avatar representing the user of the computer system can be edited via the avatar editing user interface, and a second option of the avatar representing the user of the computer system cannot be edited via the avatar editing user interface.
39. The method of any one of claims 37 to 38, wherein editing the avatar representing the user of the computer system comprises: An eye-mounted device is added to the avatar representing the user of the computer system.
40. The method of claim 39, wherein the one or more options for modifying the appearance of the avatar representing the user of the computer system include options for a first eye-mounted device template and options for a second eye-mounted device template different from the first eye-mounted device template.
41. The method of any one of claims 37 to 40, wherein editing the avatar representing the user of the computer system comprises: One or more accessibility options are added to the avatar representing the user of the computer system.
42. The method of claim 41 , wherein adding one or more accessibility options to the avatar representing the user of the computer system comprises: Accessibility options are added to a first eye of the avatar without adding accessibility options to a second eye of the avatar.
43. The method of any one of claims 32 to 42, wherein the one or more options include one or more options to change simulated lighting, the method further comprising: detecting, via the one or more sensors, input directed to the one or more options for changing simulated lighting; as well as In response to detecting input directed to the one or more options to change simulated lighting, modifying the appearance of the avatar representing the user of the computer system, wherein modifying the appearance of the avatar includes changing simulated lighting.
44. The method of claim 43, wherein changing the simulated lighting comprises changing an exposure setting.
45. The method of any one of claims 43 to 44, wherein changing the simulated lighting comprises changing a color temperature setting.
46. The method of any one of claims 32 to 45, wherein the one or more options include one or more options to change the fidelity of the avatar representing the user of the computer system, the method further comprising: detecting, via the one or more sensors, input directed to the one or more options for changing the fidelity of the avatar representing the user of the computer system; as well as In response to detecting input directed to the one or more options to change the fidelity of the avatar representing the user of the computer system, the fidelity of the avatar is modified.
47. The method of any one of claims 32 to 46, wherein the avatar representing the user of the computer system is a simulated three-dimensional avatar, the method further comprising: displaying, via the display generating component and during the real-time communication session when the user is represented by the avatar that moves according to the movement of the user of the computer system, an option to stop using the avatar in the real-time communication session; detecting, via the one or more sensors, a selection of the option to cease using the avatar in the real-time communication session; as well as In response to detecting a selection of the option to cease using the avatar in the real-time communication session, using the avatar in the real-time communication session is ceased.
48. A method according to any one of claims 32 to 47, wherein the avatar editing user interface includes one or more avatar management options.
49. The method of claim 48, wherein the one or more avatar management options include an option to create a new avatar representing the user of the computer system, the method further comprising: detecting, via the one or more sensors, a selection of the option to create a new avatar representing the user of the computer system; as well as In response to detecting selection of the option to create a new avatar representing the user of the computer system, a process of creating a new avatar representing the user of the computer system is initiated.
50. The method of any one of claims 48 to 49, wherein the one or more avatar management options include an option to delete an avatar representing the user of the computer system, the method further comprising: detecting, via the one or more sensors, a selection of the option to delete an avatar representing the user of the computer system; as well as In response to detecting a selection of the option to delete the avatar representing the user of the computer system, a process of deleting the avatar representing the user of the computer system is initiated.
51. The method of any one of claims 32 to 50, wherein a simulated three-dimensional avatar representing the user of the computer system is unavailable, the method further comprising: During the real-time communication session when a simulated three-dimensional avatar representing the user of the computer system is not available, using a representation of the user of the computer system that moves according to movements of the user of the computer system without reflecting the appearance of the user of the computer system.
52. The method according to any one of claims 32 to 51, further comprising: enabling the user of the computer system to participate in a spatial communication session based on determining that the avatar representing the user of the computer system is a simulated three-dimensional avatar; as well as Based on determining that the avatar representing the user of the computer system is not a simulated three-dimensional avatar, enabling the user of the computer system to participate in a spatial communication session is abandoned.
53. The method according to any one of claims 32 to 52, further comprising: displaying, via the display generation component, an option to create an avatar representing the user of the computer system when a simulated three-dimensional avatar representing the user of the computer system is not available and in response to at least a portion of the detected one or more inputs; as well as In response to detecting a selection of the option to create an avatar representing the user of the computer system, a process of creating an avatar representing the user of the computer system is initiated.
54. The method according to any one of claims 32 to 53, further comprising: displaying, via the display generation component, an option to use a default avatar to represent the user of the computer system when a simulated three-dimensional avatar representing the user of the computer system is unavailable and in response to at least a portion of the detected one or more inputs; as well as In response to detecting a selection of the option to use the default avatar to represent the user of the computer system, the user of the computer system is represented using the default avatar.
55. The method of claim 54, wherein the default avatar moves according to the movements of the user of the computer system without reflecting the appearance of the user of the computer system.
56. The method of any one of claims 54 to 55, wherein the default avatar represents a user of the computer system when the computer system is in guest mode.
57. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generating component and one or more sensors, the one or more programs comprising instructions for executing a method according to any one of claims 32 to 56.
58. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: one or more processors; as well as A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 32 to 56.
59. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: A component for carrying out the method according to any one of claims 32 to 56.
60. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more sensors, the one or more programs including instructions for performing the method according to any one of claims 32 to 56.
61. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more sensors, the one or more programs comprising instructions for: displaying, via the display generating component, a communication user interface for communicating with other users in a real-time communication session, wherein during the real-time communication session, a user of the computer system is represented by an avatar, the avatar moving during the real-time communication session according to movements of the user of the computer system detected by the one or more sensors; displaying, via the display generating component, a selectable user interface object when displaying the communication user interface; detecting, via the one or more sensors, one or more inputs including a selection input directed toward the selectable user interface object; as well as In response to detecting the one or more inputs including the selection input directed to the selectable user interface object, simultaneously displaying, via the display generation component, an avatar editing user interface, the avatar editing user interface comprising: the avatar representing the user of the computer system; as well as One or more options to modify the appearance of the avatar representing the user of the computer system.
62. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: one or more processors; as well as A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, via the display generating component, a communication user interface for communicating with other users in a real-time communication session, wherein during the real-time communication session, a user of the computer system is represented by an avatar, the avatar moving during the real-time communication session according to movements of the user of the computer system detected by the one or more sensors; displaying, via the display generating component, a selectable user interface object when displaying the communication user interface; detecting, via the one or more sensors, one or more inputs including a selection input directed toward the selectable user interface object; as well as In response to detecting the one or more inputs including the selection input directed to the selectable user interface object, simultaneously displaying, via the display generation component, an avatar editing user interface, the avatar editing user interface comprising: the avatar representing the user of the computer system; as well as One or more options to modify the appearance of the avatar representing the user of the computer system.
63. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: means for displaying, via the display generating component, a communication user interface for communicating with other users in a real-time communication session, wherein during the real-time communication session, a user of the computer system is represented by an avatar that moves during the real-time communication session according to movements of the user of the computer system detected by the one or more sensors; means for displaying, via the display generating component, selectable user interface objects when displaying the communication user interface; means for detecting, via the one or more sensors, one or more inputs including a selection input directed toward the selectable user interface object; as well as means for simultaneously displaying, via the display generating component, an avatar editing user interface in response to detecting the one or more inputs including the selection input directed to the selectable user interface object, the avatar editing user interface comprising: the avatar representing the user of the computer system; as well as One or more options to modify the appearance of the avatar representing the user of the computer system.
64. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more sensors, the one or more programs comprising instructions for: displaying, via the display generating component, a communication user interface for communicating with other users in a real-time communication session, wherein during the real-time communication session, a user of the computer system is represented by an avatar, the avatar moving during the real-time communication session according to movements of the user of the computer system detected by the one or more sensors; displaying, via the display generating component, a selectable user interface object when displaying the communication user interface; detecting, via the one or more sensors, one or more inputs including a selection input directed toward the selectable user interface object; as well as In response to detecting the one or more inputs including the selection input directed to the selectable user interface object, simultaneously displaying, via the display generation component, an avatar editing user interface, the avatar editing user interface comprising: the avatar representing the user of the computer system; as well as One or more options to modify the appearance of the avatar representing the user of the computer system.
65. A method comprising: At a computer system in communication with a display generating component: While participating in a communication session that is a spatial communication session, wherein the spatial communication session includes displaying, via the display generating component, representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment, wherein displaying the plurality of participants in the spatially distributed arrangement includes displaying: the representations of the plurality of participants spaced apart from each other and a user of the computer system by at least a threshold amount in the 3D environment in a first non-vertical direction; as well as the representations of the plurality of participants spaced apart from each other and the user by at least the threshold amount in a second non-vertical direction different from the first non-vertical direction; detecting an event while displaying the representations of the plurality of participants distributed in the 3D environment; as well as In response to detecting the event, transitioning the communication session from the spatial communication session to a non-spatial communication session, the non-spatial communication session comprising displaying, via the display generating component, representations of at least a subset of the plurality of participants of the communication session in a grouped arrangement, wherein in the grouped arrangement: the representations of the plurality of participants are spaced apart from one another in the first non-vertical direction in the 3D environment by less than the threshold amount; the representation of the first participant in the grouped arrangement having a different positioning than the representation of the first participant in the spatially distributed arrangement; as well as The representation of a second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement.
66. The method of claim 65, wherein: In the non-spatial communication session: a representation of a first participant of the plurality of participants in a first window area, and a representation of a second participant of the plurality of participants in a second window area different from the first window area; as well as In the spatial communication session: a representation of the first of the plurality of participants is not within a window area, and The representation of the second of the plurality of participants is not within the window area.
67. The method of claim 66, wherein the representation of the first participant is a simulated three-dimensional representation and the representation of the second participant is a two-dimensional representation.
68. The method of claim 66, wherein the plurality of participants are two-dimensional representations.
69. The method of claim 66, wherein the plurality of participants are three-dimensional representations.
70. The method of any one of claims 65 to 69, wherein the event is a request received during the communication session to transition a representation of the user of the computer system from a 3D representation to a 2D representation.
71. The method of claim 70, wherein the request is based on input in a communication session control area.
72. The method of claim 71, wherein the communication session control area includes an option to transition the representation of the user of the computer system from the 3D representation to the 2D representation and one or more options corresponding to other communication session controls.
73. The method of any one of claims 65 to 69, wherein the event is a request received during the communication session to transition the communication session from the spatial communication session to the non-spatial communication session.
74. A method according to any one of claims 65 to 69, wherein the event is the joining of an additional participant to the communication session.
75. The method of claim 74, wherein the additional participants join the communication session such that the number of participants represented by the simulated three-dimensional representation exceeds a threshold number of participants.
76. The method of any one of claims 65 to 75, further comprising: When the communication session is a non-spatial communication session, the positioning of the respective window area corresponding to the respective participant is shifted based on the respective participant movement.
77. The method of claim 76, wherein the respective window area moves forward and / or backward in the virtual environment based on the head positioning of the respective participant.
78. A method according to any one of claims 76 to 77, wherein the respective window areas are tilted based on the head positioning of the respective participants.
79. A method according to any one of claims 76 to 78, wherein the first window area is offset in a first direction based on movement of a participant displayed in the first window, and the second window is offset in a second direction different from the first direction based on movement of a participant displayed in the second window.
80. The method of any one of claims 65 to 79, further comprising: while engaging in the communication session as a non-spatial communication session, detecting a second event; as well as In response to detecting the second event, the communication session is transitioned from the non-spatial communication session to the spatial communication session.
81. The method of claim 80, wherein the second event is a participant leaving the communication session.
82. The method of claim 80, wherein the second event is a request received during the communication session to transition a representation of the user of the computer system from a 2D representation to a 3D representation.
83. The method of claim 80, wherein the second event is a request received during the communication session to transition the communication session from a non-spatial communication session to a spatial communication session.
84. The method of any one of claims 65 to 83, further comprising: While in a spatial communication session, a self-view of a representation of the user of the computer system is displayed in a self-view window area via the display generation component.
85. The method of claim 84, wherein the self-view window area overlaps a window area including a representation of another participant of the ongoing communication session.
86. A method according to any one of claims 84 to 85, wherein the self-view window area is smaller than a window area including a representation of another participant.
87. The method of any one of claims 65 to 86, wherein: During a spatial communication session, enabling a first participant of the communication session to move a respective representation of the first participant, and enabling a second participant of the communication session to move a respective representation of the second participant; as well as During a non-spatial communication session, a user of the computer system is enabled to move respective window areas including respective representations of the plurality of participants of the communication session.
88. The method of claim 87, further comprising: detecting, via the one or more sensors, user input that repositions a respective window area that includes a respective representation of a participant; as well as In response to detecting the user input to reposition the respective window areas including the respective representations of the participants, the plurality of window areas for the plurality of participants are repositioned.
89. A method according to any one of claims 87 to 88, wherein the respective representations of the participants are placed in an initial placement based on a predetermined placement rule.
90. The method of any one of claims 87 to 89, further comprising: displaying, via the display generating component, representations of invited users who are not currently participants in the communication session; enabling a user of the computer system to reposition the representation of the invited user who is not currently a participant based on determining that the communication session is a non-spatial communication session; as well as Based on determining that the communication session is a spatial communication session, relinquishing enables the user of the computer system to reposition the representation of the invited user who is not currently a participant.
91. The method of any one of claims 65 to 90, further comprising: In response to changing between spatial communication and non-spatial communication sessions, an indication is displayed via the display generating component that the mode of the communication session has changed.
92. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system communicating with a display generating component, the one or more programs comprising instructions for executing a method according to any one of claims 65 to 91.
93. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: one or more processors; as well as A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 65 to 91.
94. A computer system configured to communicate with a display generation component, the computer system comprising: A component for carrying out the method according to any one of claims 65 to 91.
95. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component, the one or more programs comprising instructions for performing a method according to any one of claims 65 to 91.
96. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising instructions for: While participating in a communication session that is a spatial communication session, wherein the spatial communication session includes displaying, via the display generating component, representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment, wherein displaying the plurality of participants in the spatially distributed arrangement includes displaying: the representations of the plurality of participants spaced apart from each other and a user of the computer system by at least a threshold amount in the 3D environment in a first non-vertical direction; as well as the representations of the plurality of participants spaced apart from each other and the user by at least the threshold amount in a second non-vertical direction different from the first non-vertical direction; detecting an event while displaying the representations of the plurality of participants distributed in the 3D environment; as well as In response to detecting the event, transitioning the communication session from the spatial communication session to a non-spatial communication session, the non-spatial communication session comprising displaying, via the display generating component, representations of at least a subset of the plurality of participants of the communication session in a grouped arrangement, wherein in the grouped arrangement: the representations of the plurality of participants are spaced apart from one another in the first non-vertical direction in the 3D environment by less than the threshold amount; the representation of the first participant in the grouped arrangement having a different positioning than the representation of the first participant in the spatially distributed arrangement; as well as The representation of a second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement.
97. A computer system configured to communicate with a display generation component, the computer system comprising: one or more processors; as well as A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: While participating in a communication session that is a spatial communication session, wherein the spatial communication session includes displaying, via the display generating component, representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment, wherein displaying the plurality of participants in the spatially distributed arrangement includes displaying: the representations of the plurality of participants spaced apart from each other and a user of the computer system by at least a threshold amount in the 3D environment in a first non-vertical direction; as well as the representations of the plurality of participants spaced apart from each other and the user by at least the threshold amount in a second non-vertical direction different from the first non-vertical direction; detecting an event while displaying the representations of the plurality of participants distributed in the 3D environment; as well as In response to detecting the event, transitioning the communication session from the spatial communication session to a non-spatial communication session, the non-spatial communication session comprising displaying, via the display generating component, representations of at least a subset of the plurality of participants of the communication session in a grouped arrangement, wherein in the grouped arrangement: the representations of the plurality of participants are spaced apart from one another in the first non-vertical direction in the 3D environment by less than the threshold amount; the representation of the first participant in the grouped arrangement having a different positioning than the representation of the first participant in the spatially distributed arrangement; as well as The representation of a second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement.
98. A computer system configured to communicate with a display generation component, the computer system comprising: for, while participating in a communication session that is a spatial communication session, wherein the spatial communication session includes means for displaying, via the display generating component, representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment, wherein displaying the plurality of participants in the spatially distributed arrangement includes displaying: the representations of the plurality of participants spaced apart from each other and a user of the computer system by at least a threshold amount in the 3D environment in a first non-vertical direction; as well as the representations of the plurality of participants spaced apart from each other and the user by at least the threshold amount in a second non-vertical direction different from the first non-vertical direction; means for detecting an event while displaying the representations of the plurality of participants distributed in the 3D environment; as well as means for transitioning the communication session from the spatial communication session to a non-spatial communication session, responsive to detecting the event, the non-spatial communication session comprising displaying, via the display generating component, representations of at least a subset of the plurality of participants of the communication session in a grouped arrangement, wherein in the grouped arrangement: the representations of the plurality of participants are spaced apart from one another in the first non-vertical direction in the 3D environment by less than the threshold amount; the representation of the first participant in the grouped arrangement having a different positioning than the representation of the first participant in the spatially distributed arrangement; as well as The representation of a second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement. A different positioning than a representation of said second participant in said spatially distributed arrangement.
99. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising instructions for: While participating in a communication session that is a spatial communication session, wherein the spatial communication session includes displaying, via the display generating component, representations of a plurality of participants in the communication session in a spatially distributed arrangement in a 3D environment, wherein displaying the plurality of participants in the spatially distributed arrangement includes displaying: the representations of the plurality of participants spaced apart from each other and a user of the computer system by at least a threshold amount in the 3D environment in a first non-vertical direction; as well as the representations of the plurality of participants spaced apart from each other and the user by at least the threshold amount in a second non-vertical direction different from the first non-vertical direction; detecting an event while displaying the representations of the plurality of participants distributed in the 3D environment; as well as In response to detecting the event, transitioning the communication session from the spatial communication session to a non-spatial communication session, the non-spatial communication session comprising displaying, via the display generating component, representations of at least a subset of the plurality of participants of the communication session in a grouped arrangement, wherein in the grouped arrangement: the representations of the plurality of participants are spaced apart from one another in the first non-vertical direction in the 3D environment by less than the threshold amount; the representation of the first participant in the grouped arrangement having a different positioning than the representation of the first participant in the spatially distributed arrangement; as well as The representation of a second participant in the grouped arrangement has a different positioning than the representation of the second participant in the spatially distributed arrangement.
100. A method comprising: At a computer system in communication with a display generating component and one or more sensors: detecting, via the one or more sensors, gaze input by a user of the computer system while in the communication session with one or more participants in the communication session; as well as In response to detecting the gaze input: displaying, via the display generating component, information about a first participant in the communication session based on determining that the gaze input satisfies a set of one or more gaze criteria; as well as Based on determining that the gaze input does not satisfy the set of one or more gaze criteria, displaying the information about the first participant in the communication session is foregone.
101. The method of claim 100, wherein the set of one or more gaze criteria comprises a first location criterion that is satisfied when the gaze input is directed to a location corresponding to the first participant.
102. The method according to any one of claims 100 to 101, further comprising: In response to detecting the gaze input and based on determining that the gaze input satisfies the set of one or more gaze criteria, displaying information about a second participant in the communication session, different from the first participant, is foregone.
103. The method of claim 100, wherein the set of one or more gaze criteria includes a second location criterion that is satisfied when the gaze input is directed to a location that does not correspond to the first participant.
104. The method of claim 103, wherein the location that does not correspond to the first participant is a location of a system user interface element.
105. The method of claim 104, further comprising: In response to detecting the gaze input: Based on determining that the gaze input satisfies a second set of one or more gaze criteria, controls for the communication session are displayed via the display generation component, wherein the second set of one or more gaze criteria includes the set of one or more gaze criteria and includes a duration criterion that is satisfied when the gaze input continues to be directed to the location of the system user interface element for a predefined duration.
106. The method according to any one of claims 104 to 105, further comprising: In response to detecting the gaze input: Based on a determination that the gaze input satisfies a third set of one or more gaze criteria, displaying a system control for the computer system via the display generation component, wherein the third set of one or more gaze criteria includes the set of one or more gaze criteria and includes a second duration criterion that is satisfied when the gaze input continues to be directed to the location of the system user interface element for a second predefined duration.
107. The method of any one of claims 104 to 106, wherein the system user interface element indicates a status of the communication session.
108. The method of claim 107, wherein a color of the system user interface element indicates the status of the communication session.
109. The method according to any one of claims 100 to 108, further comprising: After displaying the information about the first participant in the communication session, automatically ceasing to display the information about the first participant in the communication session.
110. The method according to any one of claims 100 to 109, further comprising: In response to detecting the gaze input: displaying, via the display generating component, information about a second participant in the communication session that is different from the first participant in the communication session based on determining that the gaze input satisfies the set of one or more gaze criteria; as well as Based on determining that the gaze input does not satisfy the set of one or more gaze criteria, displaying the information about the second participant in the communication session is foregone.
111. A method according to any one of claims 100 to 110, wherein the information about the first participant includes a name of the first participant.
112. A method according to any one of claims 100 to 111, wherein the information about the first participant is displayed adjacent to a representation of the first participant.
113. The method of any one of claims 100 to 112, wherein the information about the first participant includes a connection status of the first participant.
114. A method according to any one of claims 100 to 113, wherein the information about the first participant includes an availability status of the first participant.
115. The method of claim 114, wherein the availability status of a corresponding participant is based on whether the corresponding participant is wearing an electronic device.
116. A method according to any one of claims 100 to 115, wherein the information about the first participant includes a microphone status of the first participant.
117. A method according to any one of claims 100 to 116, wherein the information about the first participant includes an indication of whether the first participant is a visitor.
118. A method according to any one of claims 100 to 117, wherein the information about the first participant includes an identifier associated with a device of the first participant.
119. The method according to any one of claims 100 to 118, further comprising: While in the communication session with the one or more participants in the communication session: Based on determining that the first participant is an owner of a device being used to connect to the communication session, displaying a first representation of the first participant; and Based on determining that the first participant is not an owner of the device being used to connect to the communication session, a second representation of the first participant is displayed.
120. The method of claim 119, wherein the second representation is a default or placeholder avatar that has not been customized to include facial features of the first participant.
121. The method according to any one of claims 100 to 120, further comprising: detecting a change in a status of a second participant in the communication session; as well as In response to detecting the change in the status of the second participant, information about the second participant is displayed via the display generation component.
122. The method of claim 121 further comprising: in response to detecting the gaze input and based on determining that the gaze input satisfies a set of one or more gaze criteria, displaying, via the display generating component, respective information regarding a plurality of respective ones of the one or more participants in the communication session; as well as In response to detecting the change in the status of the second participant, displaying, via the display generation component, information about a third participant different from the second participant is foregone.
123. The method according to any one of claims 100 to 122, further comprising: In response to detecting that tracking has been lost for a respective participant in the communication session, an indication is displayed that tracking has been lost for the respective participant.
124. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generating component and one or more sensors, the one or more programs comprising instructions for executing a method according to any one of claims 100 to 123.
125. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: one or more processors; as well as A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 100 to 123.
126. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: A component for carrying out the method according to any one of claims 100 to 123.
127. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more sensors, the one or more programs including instructions for performing a method according to any one of claims 100 to 123.
128. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more sensors, the one or more programs comprising instructions for: detecting, via the one or more sensors, gaze input by a user of the computer system while in the communication session with one or more participants in the communication session; as well as In response to detecting the gaze input: Based on determining that the gaze input satisfies a set of one or more gaze criteria, displaying, via the display generating component, information about a first participant in the communication session; as well as Based on determining that the gaze input does not satisfy the set of one or more gaze criteria, displaying the information about the first participant in the communication session is foregone.
129. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: one or more processors; as well as A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: detecting, via the one or more sensors, gaze input by a user of the computer system while in the communication session with one or more participants in the communication session; as well as In response to detecting the gaze input: displaying, via the display generating component, information about a first participant in the communication session based on determining that the gaze input satisfies a set of one or more gaze criteria; as well as Based on determining that the gaze input does not satisfy the set of one or more gaze criteria, displaying the information about the first participant in the communication session is foregone.
130. A computer system configured to communicate with a display generating component and one or more sensors, the computer system comprising: means for detecting, via the one or more sensors, gaze input by a user of the computer system while in the communication session with one or more participants in the communication session; as well as Means for, in response to detecting the gaze input, performing: Based on determining that the gaze input satisfies a set of one or more gaze criteria, displaying, via the display generating component, information about a first participant in the communication session; as well as Based on determining that the gaze input does not satisfy the set of one or more gaze criteria, displaying the information about the first participant in the communication session is foregone.
131. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more sensors, the one or more programs comprising instructions for: detecting, via the one or more sensors, gaze input by a user of the computer system while in the communication session with one or more participants in the communication session; as well as In response to detecting the gaze input: Based on determining that the gaze input satisfies a set of one or more gaze criteria, displaying, via the display generating component, information about a first participant in the communication session; as well as Based on determining that the gaze input does not satisfy the set of one or more gaze criteria, displaying the information about the first participant in the communication session is foregone.