Presentation of avatar in three-dimensional environment
Patent Information
- Application Number
- JP2024154177
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2020-06-08
- Filing Date
- 2024-09-06
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2041-05-20
Smart Images

Figure 2025000657000001_ABST
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Application No. 63 / 036,411, entitled "PRESENTING AVATARS IN THREE-DIMENSIONAL ENVIRONMENTS," filed June 8, 2020, the contents of which are incorporated herein by reference.
[0002] The present disclosure generally relates to computer systems in communication with display generation components, including but not limited to electronic devices that provide virtual reality and mixed reality experiences via a display, and optionally one or more input devices that provide a computer-generated experience. [Background technology]
[0003] The development of computer systems for augmented reality has progressed significantly in recent years. Exemplary augmented reality environments include at least some virtual elements that replace or augment the physical world. Input devices such as cameras, controllers, joysticks, touch-sensitive surfaces, and touch screen displays for computer systems and other electronic computing devices are used to interact with the virtual / augmented reality environment. Exemplary 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
[0004] Some methods and interfaces for interacting with environments (e.g., applications, augmented reality environments, mixed reality environments, and virtual reality environments) that include at least some virtual elements are cumbersome, inefficient, and limited. For example, systems that provide insufficient feedback to perform 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 manipulation of virtual objects is complex and error-prone cause significant cognitive burden to users and detract from the experience of the virtual / augmented reality environment. In addition, the methods take longer than necessary, thereby wasting the energy of the computer system. This latter consideration is particularly important in battery-operated devices.
[0005] Thus, there is a need for a computer system having improved methods and interfaces for providing a user with a computer-generated experience that makes interaction with the computer system more efficient and intuitive for the user. Such methods and interfaces optionally complement or replace conventional methods of providing a user with a computer-generated reality experience. Such methods and interfaces reduce the number, extent and / or type of inputs from the user by helping the user understand the connection between the inputs provided and the device response to that input, thereby creating a more efficient human-machine interface.
[0006] The above disadvantages and other problems associated with user interfaces of computer systems 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 touchpad. In some embodiments, the computer system has one or more cameras. In some embodiments, the computer system has a touch-sensitive display (also known 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, the computer system has one or more output devices in addition to the display generating components, the output devices including 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, memory, and one or more modules, programs, or sets of instructions stored in the memory for performing a number of functions. In some embodiments, a user interacts with the GUI through stylus and / or finger contacts and gestures on a touch-sensitive surface, the user's eye and hand movements in space relative to the GUI (and / or computer system) or the user's body as captured by cameras and other movement sensors, and voice input as captured by one or more audio input devices.In some embodiments, the functions performed through the interactions optionally include image editing, drawing, presenting, word processing, creating spreadsheets, playing games, making phone calls, video conferencing, emailing, instant messaging, training support, digital photography, digital videography, web browsing, playing digital music, taking notes, and / or playing digital videos. Executable instructions to perform those functions are optionally contained in a transitory and / or non-transitory computer-readable storage medium or other computer program product configured to be executed by one or more processors.
[0007] There is a need for electronic devices with improved methods and interfaces for interacting with a three-dimensional environment. Such methods and interfaces can complement or replace conventional methods for interacting with a three-dimensional environment. Such methods and interfaces reduce the number, extent, and / or type of input from a user, creating a more efficient human-machine interface. In the case of battery-operated computing devices, such methods and interfaces conserve power and increase the time between battery charges.
[0008] There is a need for electronic devices with improved methods and interfaces for interacting with other users in a three-dimensional environment using avatars that map to, complement, or replace conventional methods for interacting with other users in a three-dimensional environment using avatars that reduce the number, extent, and / or type of inputs from the user, creating a more efficient human-machine interface.
[0009] It should be noted that the various embodiments described above can be combined with any other embodiments described herein. The features and advantages described herein are not exhaustive, and many additional features and advantages will be apparent to those skilled in the art, especially in view of the drawings, the specification, and the claims. Furthermore, it should be noted that the language used in this specification has been selected solely for the purposes of readability and description, and not to define or limit the subject matter of the present invention. [Brief description of the drawings]
[0010] For a better understanding of the various described embodiments, reference should be made to the following Detailed Description in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout:
[0011] [Figure 1] 1 illustrates a computer system operating environment for providing a CGR experience, according to some embodiments.
[0012] [Diagram 2] FIG. 2 is a block diagram illustrating a controller of a computer system configured to manage and coordinate a user's CGR experience, according to some embodiments.
[0013] [Diagram 3] FIG. 1 is a block diagram illustrating display generation components of a computer system configured to provide a visual component of a CGR experience to a user, according to some embodiments.
[0014] [Figure 4] 1 illustrates a hand tracking unit of a computer system configured to capture a user's gesture input, according to some embodiments.
[0015] [Diagram 5]1 illustrates an eye tracking unit of a computer system configured to capture a user's gaze input, according to some embodiments.
[0016] [Figure 6] 1 is a flowchart illustrating a glint-assisted gaze tracking pipeline, according to some embodiments.
[0017] [Figure 7A] 1 illustrates a virtual avatar having display characteristics that vary in appearance based on the certainty of a user's pose, according to some embodiments. [Figure 7B] 1 illustrates a virtual avatar having display characteristics that vary in appearance based on the certainty of a user's pose, according to some embodiments. [Figure 7C] 1 illustrates a virtual avatar having display characteristics that vary in appearance based on the certainty of a user's pose, according to some embodiments.
[0018] [Figure 8A] 1 illustrates a virtual avatar having display characteristics that vary in appearance based on the certainty of a user's pose, according to some embodiments. [Figure 8B] 1 illustrates a virtual avatar having display characteristics that vary in appearance based on the certainty of a user's pose, according to some embodiments. [Figure 8C] 1 illustrates a virtual avatar having display characteristics that vary in appearance based on the certainty of a user's pose, according to some embodiments.
[0019] [Figure 9] 1 is a flowchart illustrating an example method for presenting a virtual avatar character with display characteristics that vary in appearance based on the certainty of a user's pose, according to some embodiments.
[0020] [Figure 10A] 1 illustrates a virtual avatar having appearances based on different appearance templates, according to some embodiments. [Figure 10B]1 illustrates a virtual avatar having appearances based on different appearance templates, according to some embodiments.
[0021] [Figure 11A] 1 illustrates a virtual avatar having appearances based on different appearance templates, according to some embodiments. [Figure 11B] 1 illustrates a virtual avatar having appearances based on different appearance templates, according to some embodiments.
[0022] [Figure 12] 1 is a flowchart illustrating an example method for presenting an avatar character having an appearance based on different appearance templates, according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0023] The present disclosure relates to a user interface that provides a computer-generated reality (CGR) experience to a user, according to some embodiments.
[0024] The systems, methods, and GUIs described herein improve user interface interaction with virtual / augmented reality environments in several ways.
[0025] In some embodiments, a computer system presents a user with an avatar (e.g., in a CGR environment) having display characteristics that vary in appearance based on certainty of a pose of the user's part. The computer system receives pose data (e.g., from a sensor) representative of a pose of the user's part, and causes (e.g., via a display generation component) to present an avatar that corresponds to the user's part and includes avatar features having variable display characteristics indicative of certainty of the pose of the user's part. The computer system causes the avatar features to have different values of the variable display characteristics that depend on the certainty of the pose of the user's part, and an indication of the estimated visual fidelity of the avatar's pose with respect to the pose of the user's part is provided to a user of the computer system.
[0026] In some embodiments, the computer system presents a user with an avatar having an appearance based on different appearance templates that, in some embodiments, change based on an activity the user is performing. The computer system receives (e.g., from a sensor) data indicating that a current activity of one or more users is a first type of activity (e.g., interactive activity). In response, the computer system updates (e.g., via a display generation component) a representation (e.g., an avatar) of the first user having a first appearance based on the first appearance template (e.g., a character template). While presenting the representation of the first user having the first appearance, the computer system receives (e.g., from a sensor) second data indicating the current activity of the one or more users. In response, the computer system causes a representation of the first user to be presented (e.g., via a display generation component) having a second appearance based on the first appearance template or a third appearance based on a second appearance template (e.g., an abstract template) depending on whether the current activity is the first type of activity or the second type of activity, thereby providing an indication to a user of the computer system of whether the user is performing the first type of activity or the second type of activity.
[0027] 1-6 illustrate an exemplary computer system for providing a CGR experience to a user. FIGS. 7A-7C and 8A-8C illustrate a virtual avatar character having a display characteristic whose appearance varies based on the certainty of a user's pose, according to some embodiments. FIG. 9 is a flowchart illustrating an exemplary method of presenting a virtual avatar character with a display characteristic whose appearance varies based on the certainty of a user's pose, according to various embodiments. FIGS. 7A-7C and 8A-8C are used to explain the process of FIG. 9. FIGS. 10A and 10B and 11A and 11B illustrate a virtual avatar having an appearance based on different appearance templates, according to some embodiments. FIG. 12 is a flowchart illustrating an exemplary method of presenting an avatar character having an appearance based on different appearance templates, according to some embodiments. FIGS. 10A-10B and 11A-11B are used to explain the process of FIG. 12.
[0028] Furthermore, it should be understood that in methods described herein where one or more steps are predicated on one or more conditions being satisfied, the described method may be repeated multiple times such that over the course of the iterations, all of the conditions predicated on the method steps are satisfied in different iterations of the method. For example, if a method requires performing a first step if a condition is satisfied and performing a second step if the condition is not satisfied, one skilled in the art will understand that the claimed steps may be repeated in any order until and while the condition is not satisfied. Thus, a method described with one or more steps predicated on one or more conditions being satisfied may be rewritten as a method that is repeated until each of the conditions described in the method are satisfied. However, this does not require a system or computer readable medium claim that includes instructions to perform a predicated action based on the corresponding one or more conditions being satisfied, and thus is capable of determining whether a predicate is satisfied without explicitly repeating the method steps until all of the conditions predicated on the method steps are satisfied. Additionally, those skilled in the art will appreciate that, as with any method having dependent steps, the system or computer-readable storage medium may repeat steps of the method as many times as necessary to ensure that all of the prerequisite steps have been performed.
[0029] 1, a CGR experience is provided to a user via an operating environment 100 that includes 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., image sensors, light sensors, depth sensors, tactile sensors, orientation sensors, proximity sensors, temperature sensors, position sensors, motion sensors, speed sensors, etc.), and optionally one or more peripheral devices 195 (e.g., consumer electronics, wearable devices, etc.). In some embodiments, one or more of the input device 125, the output device 155, the sensors 190, and the peripheral devices 195 are integrated with the display generation component 120 (eg, within a head-mounted or handheld device).
[0030] When describing a CGR experience, various terms are used to individually refer to several related, but distinct, environments that a user senses and / or that the user can interact with (e.g., using inputs detected by computer system 101 that cause the computer system generating the CGR experience to generate audio, visual, and / or haptic feedback corresponding to various inputs provided to computer system 101 generating the CGR experience). The following are a subset of these terms:
[0031] 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 sense and / or interact with the physical environment directly, such as through sight, touch, hearing, taste, and smell.
[0032] Computer-Generated Reality: In contrast, a Computer-Generated Reality (CGR) environment refers to a wholly or partially mimicked environment that people sense and / or interact with via electronic systems. In a CGR, a subset of a person's body movements or representations thereof are tracked, and in response, one or more properties of one or more virtual objects simulated within the CGR environment are adjusted to behave with at least one law of physics. For example, a CGR 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 circumstances (e.g., for accessibility reasons), adjustments to a property(s) of a virtual object(s) in a CGR environment may be made in response to a representation of a body movement (e.g., a voice command). A person may sense and / or interact with a CGR object using any one of these senses, including vision, hearing, touch, taste, and smell. For example, a person may sense and / or interact with audio objects that create an audio environment with 3D or spatial breadth that provides the perception of a point sound source in 3D space. In another example, audio objects may enable audio transparency that selectively incorporates ambient sounds from the physical environment, with or without computer-generated audio. In some CGR environments, a person may sense and / or interact with only audio objects.
[0033] Examples of CGR include virtual reality and mixed reality.
[0034] Virtual Reality: A virtual reality (VR) environment refers to an emulated environment designed to be based entirely on computer-generated sensory input for one or more senses. A VR environment includes a number of virtual objects that a person can sense and / or interact with. For example, computer-generated images of trees, buildings, and avatars representing people are examples of virtual objects. A person can sense and / or interact with virtual objects in a VR environment through a simulation of the person's presence in the computer-generated environment and / or through a simulation of a subset of the person's physical movements in the computer-generated environment.
[0035] Mixed reality: A mixed reality (MR) environment refers to a mimetic environment designed to incorporate sensory input from the physical environment or a representation thereof in addition to including computer-generated sensory input (e.g., virtual objects) as opposed to a VR environment designed to be based entirely on computer-generated sensory input. On the virtual continuum, a mixed reality environment is anywhere between but not including a complete physical environment at one end and a virtual reality environment at the other end. In some MR environments, the computer-generated sensory input may respond to changes in sensory input from the physical environment. Also, some electronic systems for presenting MR environments may track position and / or orientation relative to the physical environment to allow virtual objects to interact with real objects (i.e., physical items from the physical environment or their representations). For example, the system may take into account movement so that a virtual tree appears stationary relative to the physical ground.
[0036] Examples of mixed reality include augmented reality and augmented virtuality.
[0037] Augmented reality: An augmented reality (AR) environment refers to a mimicked environment in which one or more virtual objects are superimposed on a physical environment or a representation thereof. For example, an electronic system for presenting an AR environment may have a transparent or semi-transparent display through which a person can directly view the physical environment. The system may be configured to present virtual objects on the transparent or semi-transparent display, whereby 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 composites the images or videos with the virtual objects and presents the composite on the opaque display. A person uses the system to indirectly view the physical environment through the images or videos of the physical environment and perceive the virtual objects superimposed on the physical environment. As used herein, the video of the physical environment shown on the opaque display is referred to as "pass-through video," meaning that the system uses one or more image sensors to capture images of the physical environment and uses those images in presenting the AR environment on the opaque display. Alternatively, the system may have a projection system that projects virtual objects, for example as holograms, into the physical environment or onto a physical surface, so that a person using the system perceives the virtual objects superimposed on the physical environment. An augmented reality environment also refers to a simulated environment in which a representation of the physical environment is transformed by computer-generated sensory information. For example, in providing pass-through video, the system may distort one or more sensor images to impose a selected perspective (e.g., viewpoint) other than the perspective captured by the image sensor. As another example, the representation of the physical environment may be distorted by graphically altering (e.g., enlarging) a portion thereof, such that the altered portion is a modified version that represents the original captured image but is non-photorealistic. As a further example, the representation of the physical environment may be distorted by graphically removing or obscuring a portion thereof.
[0038] Augmented Virtual: An augmented virtual (AV) environment refers to a mimicking environment in which a virtual or computer-generated environment incorporates one or more sensory inputs from a physical environment. The sensory inputs may be representations of one or more characteristics of the physical environment. For example, an AV park may have virtual trees and virtual buildings, while people with faces are realistically recreated from images taken of physical people. As another example, virtual objects may adopt the shape or color of physical items imaged by one or more imaging sensors. As a further example, virtual objects may adopt shadows that match the position of the sun in the physical environment.
[0039] Hardware: There are many different types of electronic systems that allow a person to sense and / or interact with various CGR 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 over a person's eyes (e.g., similar to contact lenses), headphones / earphones, speaker arrays, input systems (e.g., wearable or handheld controllers with or without haptic feedback), smartphones, tablets, and desktop / laptop computers. A head-mounted system may have one or more speaker(s) 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. A head-mounted system may have a transparent or translucent display rather than an opaque display. A transparent or translucent display may have a medium through which light representing an image is directed to a person's eye. The display may utilize digital light projection, OLED, LED, uLED, liquid crystal on silicon, laser scanned light source, or any combination of these technologies. The medium may be a light guide, a holographic medium, an optical combiner, an optical reflector, or any combination of these. In an embodiment, a transparent or translucent display may be configured to be selectively opaque. A projection-based system may employ retinal projection technology that projects a graphical image onto a person's retina. A projection system may also be configured to project virtual objects into the physical environment, for example, as a hologram or as a physical surface. In some embodiments, the controller 110 is configured to manage and regulate the user's CGR experience.In some embodiments, the controller 110 includes a suitable combination of software, firmware, and / or hardware. The controller 110 is described in more detail below with reference to FIG. 2. In some embodiments, the controller 110 is a computing device that is local or remote to the scene 105 (e.g., the physical environment). For example, the controller 110 is a local server located within the scene 105. In another example, the controller 110 is a remote server (e.g., a cloud server, a central server, etc.) located outside the scene 105. In some embodiments, the controller 110 is communicatively coupled to the display generation component 120 (e.g., an HMD, a display, a projector, a 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 contained within the housing (e.g., physical housing) of one or more of the display generation component 120 (e.g., an HMD or a portable electronic device including a display and one or more processors), one or more of the input devices 125, one or more of the output devices 155, one or more of the sensors 190, and / or one or more of the peripheral devices 195, or shares the same physical housing or support structure as one or more of the above.
[0040] In some embodiments, display generation component 120 is configured to provide a CGR experience (e.g., at least a visual component of a CGR experience) to a user. In some embodiments, display generation component 120 includes a suitable combination of software, firmware, and / or hardware. Display generation component 120 is described in more detail below with reference to FIG. 3. In some embodiments, functionality of controller 110 is provided by and / or combined with display generation component 120.
[0041] According to some embodiments, the display generation component 120 provides a CGR experience to the user while the user is virtually and / or physically present within the scene 105.
[0042] In some embodiments, the display generation component is worn on a part of the user's body (e.g., on one's head, on one's hand, etc.). Thus, the display generation component 120 includes one or more CGR displays provided for displaying CGR 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 (e.g., a smartphone or tablet) configured to present CGR content, where the user holds a device with a display pointed at the user's field of view and a camera pointed at the scene 105. In some embodiments, the handheld device is optionally located in a housing worn on the user's head. In some embodiments, the handheld device is optionally located on a support (e.g., a tripod) in front of the user. In some embodiments, the display generation component 120 is a CGR chamber, housing, or room configured to present CGR content without the user wearing or holding the display generation component 120. Many user interfaces described with reference to one type of hardware for displaying CGR content (e.g., a handheld device or a device on a tripod) may be implemented on another type of hardware for displaying CGR content (e.g., an HMD or other wearable computing device). For example, a user interface showing an interaction with CGR content that is triggered based on an interaction that occurs in the space in front of a handheld or tripod-mounted device may be implemented similarly to an HMD where the interaction occurs in the space in front of the HMD and the CGR content response is displayed via the HMD. Similarly, a user interface showing an interaction with CGR content that is triggered based on movement of a handheld or tripod-mounted device relative to the physical environment (e.g., the scene 105 or a part of the user's body (e.g., the user's eye(s), head, or hand)) may be implemented similarly to an HMD where the interaction is triggered by movement of the HMD relative to the physical environment (e.g., the scene 105 or a part of the user's body (e.g., the user's eye(s), head, or hand)).
[0043] While relevant features of operating environment 100 are shown in FIG. 1, those skilled in the art will appreciate from this disclosure that various other features have not been shown for the sake of brevity so as not to obscure more pertinent aspects of the exemplary embodiments disclosed herein.
[0044] 2 is a block diagram of an example controller 110, according to some embodiments. While certain features are shown, those skilled in the art will appreciate from this disclosure that various other features have not been shown for the sake of brevity so as not to obscure more pertinent aspects of the embodiments disclosed herein. Thus, by way of 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 communications interfaces 208 (e.g., 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, or similar types of interfaces), one or more programming (e.g., I / O) interfaces 210, memory 220, and one or more communications buses 204 for interconnecting these and various other components.
[0045] In some embodiments, the one or more communications buses 204 include circuitry that interconnects and controls communications between the 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, etc.
[0046] 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 (DDRRAM), 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 remotely from one or more processing units 202. Memory 220 includes a non-transitory computer-readable storage medium. In some embodiments, memory 220, or the non-transitory computer-readable storage medium of memory 220, stores the following programs, modules, and data structures, or a subset thereof, including optional operating system 230 and CGR experience module 240:
[0047] Operating system 230 includes instructions for handling various basic system services and for performing hardware-dependent tasks. In some embodiments, CGR experience module 240 is configured to manage and coordinate one or more CGR experiences for one or more users (e.g., a single CGR experience for one or more users, or multiple CGR experiences for respective groups of one or more users). To that end, in various embodiments, CGR experience module 240 includes data acquisition unit 241, tracking unit 242, adjustment unit 246, and data transmission unit 248.
[0048] In some embodiments, the data acquisition unit 241 is configured to acquire data (e.g., presentation data, interaction data, sensor data, location data, etc.) from at least the display generation component 120 of FIG. 1 and, optionally, one or more of the input devices 125, the output devices 155, the sensors 190, and / or the peripheral devices 195. To that end, in various embodiments, the data acquisition unit 241 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0049] In some embodiments, the tracking unit 242 is configured to map the scene 105 and track the position of at least the display generation component 120 and, optionally, one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195 relative to the scene 105 of FIG. 1. To that end, in various embodiments, the tracking unit 242 includes instructions and / or logic therefor, as well as heuristics and metadata therefor. 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 of one or more parts of the user's hand and / or the movement of one or more parts of the user's hand relative to the scene 105 of FIG. 1, relative to the display generation component 120, and / or relative to a coordinate system defined relative to the user's hand. The hand tracking unit 244 is described in more detail below with respect to FIG. 4. In some embodiments, eye tracking unit 243 is configured to track the position and movement of a user's gaze (or, more broadly, the user's eyes, face, or head) relative to scene 105 (e.g., relative to the physical environment and / or the user (e.g., the user's hands)), or relative to CGR content displayed via display generation component 120. Eye tracking unit 243 is described in more detail below with respect to FIG.
[0050] In some embodiments, the coordination unit 246 is configured to manage and coordinate the CGR experience presented to the user by the display generation component 120, and optionally by one or more of the output devices 155 and / or peripheral devices 195. To that end, in various embodiments, the coordination unit 246 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0051] In some embodiments, data transmission unit 248 is configured to transmit data (e.g., presentation data, location data, etc.) to at least display generation component 120, and optionally to one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195. To that end, in various embodiments, data transmission unit 248 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0052] 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 adjustment unit 246, and the data transmission unit 248 are shown as being present 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 adjustment unit 246, and the data transmission unit 248 may be located within separate computing devices.
[0053] Moreover, FIG. 2 is intended more to illustrate the functionality of various features that may be present in certain embodiments, as opposed to a structural overview of the embodiments described herein. As will be appreciated by those skilled in the art, items shown separately may be combined and some items may be separated. For example, some functional modules shown separately in FIG. 2 may be implemented within a single module, and various functions of a single functional block may be performed by one or more functional blocks in various embodiments. The actual number of modules, as well as the division of specific functions and how functions are allocated among them, may vary from implementation to implementation, and in some embodiments will depend in part on the particular combination of hardware, software, and / or firmware selected for a particular implementation.
[0054] 3 is a block diagram of an example of a display generation component 120, according to some embodiments. While certain features are shown, those skilled in the art will appreciate from this disclosure that various other features have not been shown for the sake of brevity so as not to obscure more pertinent aspects of the embodiments disclosed herein. To that end, and by way of 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 communications interfaces 308 (e.g., USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, infrared, BLUETOOTH, ZIGBEE, and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 310, one or more CGR displays 312, one or more optional inward-facing and / or outward-facing image sensors 314, memory 320, and one or more communications buses 304 for interconnecting these and various other components.
[0055] In some embodiments, the one or more communication buses 304 include circuitry that interconnects and controls communications between the system components. In some embodiments, the one or more I / O devices and sensors 306 include at least one of 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, one or more depth sensors (e.g., structured light, time of flight, etc.), etc.
[0056] In some embodiments, the one or more CGR displays 312 are configured to provide a CGR experience to the user. In some embodiments, the one or more CGR 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 emitter display (SED), field emission display (FED), quantum dot light emitting diode (QD-LED), MEMS, and / or similar display types. In some embodiments, the one or more CGR displays 312 correspond to a waveguide display, such as diffractive, reflective, polarized, holographic, etc. For example, the display generation component 120 (e.g., HMD) includes a single CGR display. In another example, the display generation component 120 includes a CGR display for each eye of the user. In some embodiments, the one or more CGR displays 312 can present MR or VR content. In some embodiments, the one or more CGR displays 312 can present MR or VR content.
[0057] In some embodiments, the one or more image sensors 314 are configured to capture 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 capture image data corresponding to at least a portion of the user's hand(s) and optionally the user's arm(s) (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 (and may be referred to as a scene camera) to capture image data corresponding to a scene as the user would view if the display generating component 120 (e.g., an HMD) were not present. The one or more optional image sensors 314 may include one or more RGB cameras (e.g., with a complementary metal oxide semiconductor (CMOS) image sensor or a charge-coupled device (CCD) image sensor), one or more infrared (IR) cameras, one or more event-based cameras, and / or the like.
[0058] 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 remotely from one or more processing units 302. Memory 320 includes a non-transitory computer-readable storage medium. In some embodiments, memory 320, or the 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 a CGR presentation module 340:
[0059] The operating system 330 includes instructions for handling various basic system services and for performing hardware-dependent tasks. In some embodiments, the CGR presentation module 340 is configured to present CGR content to a user via one or more CGR displays 312. To that end, in various embodiments, the CGR presentation module 340 includes a data acquisition unit 342, a CGR presentation unit 344, a CGR map generation unit 346, and a data transmission unit 348.
[0060] In some embodiments, the data acquisition unit 342 is configured to acquire data (e.g., presentation data, interaction data, sensor data, location data, etc.) from at least the controller 110 of Figure 1. To that end, in various embodiments, the data acquisition unit 342 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0061] In some embodiments, the CGR presentation unit 344 is configured to present CGR content via one or more CGR displays 312. To that end, in various embodiments, the CGR presentation unit 344 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0062] In some embodiments, the CGR map generation unit 346 is configured to generate a CGR 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) based on the media content data. To that end, in various embodiments, the CGR map generation unit 346 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0063] In some embodiments, data transmission unit 348 is configured to transmit data (e.g., presentation data, position data, etc.) to at least controller 110, and optionally to one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195. To that end, in various embodiments, data transmission unit 348 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0064] Although the data acquisition unit 342, the CGR presentation unit 344, the CGR map generation unit 346, and the data transmission unit 348 are shown as existing on a single device (e.g., the display generation component 120 of FIG. 1), it should be understood that in other embodiments, any combination of the data acquisition unit 342, the CGR presentation unit 344, the CGR map generation unit 346, and the data transmission unit 348 may be located within separate computing devices.
[0065] Moreover, FIG. 3 is intended more to illustrate the functionality of various features that may be present in a particular implementation, as opposed to a structural overview of the embodiments described herein. As will be appreciated by those skilled in the art, items shown separately can be combined and some items can be separated. For example, some functional modules shown separately in FIG. 3 can be implemented within a single module, and various functions of a single functional block can be performed by one or more functional blocks in various embodiments. The actual number of modules, as well as the division of specific functions and how functions are allocated among them, will vary from implementation to implementation, and in some embodiments will depend in part on the particular combination of hardware, software, and / or firmware selected for a particular implementation.
[0066] 4 is a schematic diagram of an example embodiment of a hand tracking device 140. In some embodiments, the hand tracking device 140 (FIG. 1) is controlled by a hand tracking unit 244 (FIG. 2) to track the position of one or more parts of a user's hand and / or the movement of one or more parts of a user's hand relative to the scene 105 of FIG. 1 (e.g., relative to parts of the physical environment surrounding the user, relative to the display generation component 120, or relative to parts 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 hand. In some embodiments, the hand tracking device 140 is part of the display generation component 120 (e.g., embedded in or attached to a 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).
[0067] In some embodiments, the 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 hand 406 of a human user. The image sensor 404 captures hand images with sufficient resolution to allow for distinguishing fingers and their respective positions. The image sensor 404 typically captures images of other parts of the user's body, or an image of the entire body, and can have either a dedicated sensor with zoom capabilities or high magnification to capture hand images at a desired resolution. In some embodiments, the image sensor 404 also captures 2D color video images of the hand 406 and other elements of the scene. In some embodiments, the image sensor 404 is used in conjunction with other image sensors that capture the physical environment of the scene 105, or functions as an image sensor that captures the physical environment of the scene 105. In some embodiments, the image sensor 404 is positioned relative to the user or the user's environment such that the field of view of the image sensor, or a portion thereof, is used to define an interaction space in which hand movements captured by the image sensor are processed as inputs to the controller 110.
[0068] In some embodiments, the image sensor 404 outputs a sequence of frames containing 3D map data (and possibly color image data as well) to the controller 110, which extracts high-level information from the map data. This high-level information is provided, typically via an application program interface (API), to an application running on the controller, which drives the display generation component 120 accordingly. For example, a user can interact with software running on the controller 110 by moving the hand 406 and changing the hand posture.
[0069] In some embodiments, the image sensor 404 projects a spot pattern onto a scene including 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 shift of the spots of the pattern. This approach is advantageous in that it does not require the user to hold or wear any kind of beacon, sensor, or other marker. It gives the depth coordinate of a point in the scene relative to a predefined reference plane at a specific distance from the image sensor 404. In this disclosure, it is assumed that the image sensor 404 defines a set of orthogonal x, y, z axes such that the depth coordinate of a point in the scene corresponds to the z component measured by the image sensor. Alternatively, the image sensor 404 (e.g., a hand tracking device) can use other 3D mapping methods, such as stereoscopic imaging or time-of-flight measurements, based on single or multiple cameras or other types of sensors.
[0070] In some embodiments, the hand tracking device 140 captures and processes a time sequence of depth maps including the user's hand while the user moves the hand (e.g., the entire hand or one or more fingers). Software running on the image sensor 404 and / or a processor in the controller 110 processes the 3D map data to extract patch descriptors of the hand in these depth maps. The software matches these descriptors to 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 wrist joints and fingertips.
[0071] The software can also analyze hand and / or finger trajectories across multiple frames in a sequence to identify gestures. The pose estimation functionality described herein may be interleaved with the motion tracking functionality, whereby patch-based pose estimation is performed only once every two (or more) frames, while tracking is used to discover pose changes that occur across the remaining frames. The pose, motion, and gesture information is provided to an application program running on the controller 110 via the API described above. The program can, for example, move and modify an image presented on the display generation component 120, or perform other functions, in response to the pose and / or gesture information.
[0072] In some embodiments, the software may be downloaded in electronic form to the controller 110, for example over a network, or may alternatively be provided on a tangible non-transitory medium, such as an optical, magnetic, or electronic memory medium. In some embodiments, the database 408 is similarly stored in a memory associated with the controller 110. Alternatively or additionally, some or all of the described functionality 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 the controller 110 is shown in FIG. 4 as a separate unit from the image sensor 404, by way of example, some or all of the processing functionality of the controller may be associated with the image sensor 404 by a suitable microprocessor and software, or by a dedicated circuit within the housing of the image sensor 404 (e.g., a hand tracking device), or in another manner. 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 set, handheld device, or head-mounted device), or with any other suitable computerized device, such as a game console or media player. The sensing functions of the image sensor 404 may similarly be integrated into a computer or other computerized device that is controlled by the sensor output.
[0073] FIG. 4 further includes a schematic diagram of a depth map 410 captured by the image sensor 404, according to some embodiments. The depth map includes a matrix of pixels with respective depth values, as described above. A pixel 412 corresponding to the hand 406 is segmented from the background and wrist in this map. The brightness of each pixel in the depth map 410 is inversely proportional to the depth value, i.e., the measured z-distance from the image sensor 404, with increasing gray levels as depth increases. The controller 110 processes these depth values to identify and segment components of the image (i.e., groups of adjacent pixels) that have characteristics of a human hand. These characteristics can include, for example, the overall size, shape, and frame-to-frame motion of the sequence of depth maps.
[0074] 4 also illustrates diagrammatically the hand skeleton 414 that the controller 110 ultimately extracts from the depth map 410 of the hand 406, according to some embodiments. In FIG. 4, the hand skeleton 414 is superimposed on a hand background 416 that was segmented from the original depth map. In some embodiments, key feature points on the hand (e.g., knuckles, fingertips, center of the palm, end of the hand that connects to the wrist, etc.) and optionally the wrist or arm connected to the hand are identified and located on the hand skeleton 414. In some embodiments, the location and movement of these key feature points over multiple image frames are used by the controller 110 to determine hand gestures performed by the hand or the current state of the hand, according to some embodiments.
[0075] FIG. 5 illustrates an exemplary embodiment of eye tracking device 130 (FIG. 1). In some embodiments, eye tracking device 130 is controlled by eye tracking unit 243 (FIG. 2) to track the position and movement of the user's gaze relative to scene 105 or relative to CGR content displayed via display generation component 120. In some embodiments, eye tracking device 130 is integrated with display generation component 120. For example, in some embodiments, if display generation component 120 is a head-mounted device, such as a headset, helmet, goggles, or glasses, or a handheld device disposed on a wearable frame, the head-mounted device includes both components for generating CGR content for viewing by the user and components for tracking the user's gaze relative to the CGR content. In some embodiments, eye tracking device 130 is separate from display generation component 120. For example, if display generation component is a handheld device or a CGR chamber, eye tracking device 130 is, optionally, a device separate from the handheld device or the CGR chamber. In some embodiments, eye tracking device 130 is a head-mounted device or part of a head-mounted device. In some embodiments, the head-mounted eye tracking device 130 is optionally used in conjunction with a head-mounted or non-head-mounted display generation component. In some embodiments, the eye tracking device 130 is not a head-mounted device, and is optionally used in combination 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.
[0076] In some embodiments, the display generation component 120 uses a display mechanism (e.g., left and right near-eye display panels) that displays frames including left and right images in front of the user's eyes to provide the user with a 3D virtual view. For example, the head-mounted display generation component may include left and right optical lenses (referred to herein as eyepieces) 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 video 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 semi-transparent display that allows the user to view the physical environment directly and display virtual objects on the transparent or semi-transparent display. In some embodiments, the display generation component projects virtual objects into the physical environment. The virtual objects are projected, for example, onto a physical surface or as a hologram, whereby an individual using the system can observe the virtual objects superimposed on the physical environment. In such cases, separate display panels and image frames for the left and right eyes may not be required.
[0077] As shown in FIG. 5, in some embodiments, eye tracking device 130 (e.g., gaze tracking device) includes at least one eye tracking camera (e.g., infrared (IR) camera or near-IR (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 eye. The eye tracking camera may be aimed at the user's eye to receive reflected IR or NIR light from the light source directly from the eye, or alternatively, may be aimed at a "hot" mirror disposed between the user's eye and a display panel that reflects the IR or NIR light from the eye to the eye tracking camera while allowing visual light to pass through. Eye tracking device 130 optionally captures images of the user's eye (e.g., as a video stream captured at 60-120 frames per second (fps)), analyzes the images to generate eye tracking information, and communicates the eye tracking information to controller 110. In some embodiments, the user's eyes are tracked separately by respective eye tracking cameras and illumination sources. In some embodiments, only one eye of the user is tracked by a corresponding eye tracking camera and lighting source.
[0078] 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 the particular operating environment 100, e.g., 3D geometric relationships and parameters of the LEDs, camera, hot mirror (if present), eyepiece, and display screen. The device-specific calibration process may be performed at a factory or another facility prior to delivery of the AR / VR equipment to the end user. The device-specific calibration process may be an automatic calibration process or a manual calibration process. The user-specific calibration process may include estimation of the particular user's eye parameters, e.g., pupil position, central vision position, optical axis, visual axis, eye spacing, etc. According to some embodiments, once the device-specific and user-specific parameters have been determined for the eye tracking device 130, images captured by the eye tracking camera may be processed using a glint-assisted method to determine the user's current visual axis and viewpoint relative to the display.
[0079] As shown in FIG. 5, eye tracking device 130 (e.g., 130A or 130B) includes an eyepiece(s) 520 and an eye tracking system including at least one eye tracking camera 540 (e.g., an infrared (IR) or near-IR (NIR) camera) positioned on the side of the user's face where eye tracking occurs 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(s) 592. The eye tracking camera 540 may be located between the user's eye(s) 592 and the display 510 (e.g., a left or right display panel of a head-mounted display, or a display of a handheld device, a projector, etc.) and may be pointed at a mirror 550 that reflects IR or NIR light from the eye(s) 592 while transmitting visible light (e.g., as shown at the top of FIG. 5), or may be pointed at the user's eye(s) 592 to receive reflected IR or NIR light from the user's eye(s) 592 (e.g., as shown at the bottom of FIG. 5).
[0080] 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 gaze tracking input 542 from the eye tracking camera 540 for various purposes, e.g., in processing the frames 562 for display. The controller 110 optionally estimates the user's viewpoint on the display 510 based on the gaze tracking input 542 obtained from the eye tracking camera 540, using a glint-assisted method or other suitable method. The viewpoint estimated from the gaze tracking input 542 is optionally used to determine the direction in which the user is currently looking.
[0081] Below, some possible use cases of the user's current gaze direction are described, which are not intended to be limiting. As an exemplary use case, the controller 110 can render virtual content differently based on the determined user's gaze direction. For example, the controller 110 may generate virtual content with higher resolution in a central visual area determined from the user's current gaze direction than in a peripheral area. As another example, the controller may position or move virtual content in a view based at least in part on the user's current gaze direction. As another example, the controller may display certain virtual content in a view based at least in part on the user's current gaze direction. As another exemplary use case in an AR application, the controller 110 can orient an external camera to capture the physical environment of the CGR experience and focus in the determined direction. The autofocus mechanism of the external camera can then focus on an object or surface in the environment that the user is currently viewing on the display 510. As another exemplary use case, the eyepiece 520 may be a focusable lens, and the eye tracking information is used by the controller to adjust the focus of the eyepiece 520 so that the virtual object the user is currently looking at has the proper binocular coordination to match the convergence of the user's eyes 592. The controller 110 can leverage the eye tracking information to orient and focus the eyepiece 520 so that a nearby object the user is looking at appears at the correct distance.
[0082] In some embodiments, the eye tracking device is part of a head mounted device that includes a display (e.g., display 510), two eyepieces (e.g., eyepiece(s) 520), an eye tracking camera (e.g., eye tracking camera(s) 540), and a light source (e.g., light source 530 (e.g., IR LEDs or NIR LEDs)) attached to the wearable housing. The light sources emit light (e.g., IR light or NIR light) toward the user's eye(s) 592. In some embodiments, the light sources may be arranged in a ring or circle around each lens, as shown in FIG. 5. In some embodiments, eight light sources 530 (e.g., LEDs) are arranged around each lens 520 as an example. However, more or fewer light sources 530 may be used, and other arrangements and positions of the light sources 530 may be used.
[0083] In some embodiments, the display 510 emits light in the visible light range and not in the IR or NIR ranges, and therefore does not introduce noise into the eye tracking system. Note that the positions and angles of the eye tracking camera(s) 540 are given by way of example and are not intended to be limiting. In some embodiments, a single eye tracking camera 540 may be 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.
[0084] Embodiments of an eye tracking system such as that shown in FIG. 5 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.
[0085] FIG. 6 illustrates a glint-assisted eye tracking pipeline according to some embodiments. In some embodiments, the eye tracking pipeline is realized by a glint-assisted eye tracking system (e.g., eye tracking device 130 as shown in FIG. 1 and FIG. 5). The glint-assisted eye tracking system can maintain a tracking state. Initially, the tracking state is off or "no". When in the tracking state, the glint-assisted eye tracking system tracks the pupil contour and glint in the current frame using prior information from the previous frame when analyzing the current frame. When not in the tracking state, the glint-assisted eye 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.
[0086] As shown in FIG. 6, an eye tracking camera can capture left and right images of a user's left and right eyes. The captured images are then input into an eye tracking pipeline for processing beginning at 610. As indicated by the arrow returning to element 600, the eye tracking system can continue to capture images of the user's eyes at a rate of, for example, 60-120 frames per second. In some embodiments, each set of captured images may be input into the pipeline for processing. However, in some embodiments, or under some conditions, not all captured frames are processed by the pipeline.
[0087] At 610, if the tracking status is yes for the current captured image, the method proceeds to element 640. If the tracking status is no at 610, the image is analyzed to detect the user's pupil and glint in the image, as shown at 620. If the pupil and glint are successfully detected at 630, the method proceeds to element 640. If not, the method returns to element 610 to process the next image of the user's eye.
[0088] At 640, proceeding from element 610, the current frame is analyzed to track pupils and glints based in part on prior information from the previous frame. At 640, proceeding from element 630, a tracking state is initialized based on the detected pupils and glints in the current frame. The results of the processing at element 640 are checked to ensure that the tracking or detection results are reliable. For example, the results can be checked to determine whether a sufficient number of glints are successfully tracked or detected in the current frame to perform pupil and gaze estimation. At 650, if the results are not reliable, 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 eyes. At 650, if the results are reliable, 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.
[0089] 6 is intended to serve as an example of eye-tracking technology that may be used in certain implementations. As will be recognized by those skilled in the art, other eye-tracking technologies, either currently existing or developed in the future, may be used in place of or in combination with the glint-assisted eye-tracking technology described herein in computer system 101 to provide a user with a CGR experience according to various embodiments.
[0090] In the present disclosure, various input methods are described with respect to interaction with a computer system. If one 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 may be compatible with and optionally utilize 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. If one 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 may be compatible with and optionally utilize 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 via a computer system. If 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 may be compatible with and optionally utilize the method described with respect to the other example. Thus, the present disclosure discloses embodiments that are combinations of features of multiple examples without exhaustively listing all features of the embodiments in the description of each exemplary embodiment. User Interface and Related Processes
[0091] Attention now turns to embodiments of user interfaces ("UI") and associated processes that may be executed in a computer system, such as a portable multifunction device or a head-mounted device, in communication with a display generation component and (optionally) one or more sensors (e.g., cameras).
[0092] The present disclosure relates to an exemplary process for representing a user as an avatar character in a CGR environment. Figures 7A-7C, 8A-8C, and 9 show examples in which a user is represented in a CGR environment as a virtual avatar character having one or more display characteristics whose appearance varies based on the certainty of the user's physical body pose in the real environment. Figures 10A-10B, 11A-11B, and 12 show examples in which a user is represented in a CGR environment as a virtual avatar character having an appearance based on different appearance templates. The process disclosed herein is implemented using a computer system (e.g., computer system 101 of Figure 1) as described above.
[0093] 7A shows a user 701 standing in a real-world environment 700 with both arms raised and the user's left hand holding a cup 702. In some embodiments, the real-world environment 700 is a motion capture studio that includes cameras 705-1, 705-2, 705-3, and 705-4 for capturing data (e.g., image data and / or depth data) that can be used to determine a pose of one or more portions of the user 701. This is sometimes referred to herein as capturing a pose of the portions of the user 701. The pose of the portions of the user 701 is used to determine a pose of a corresponding avatar character (e.g., see avatar 721 in FIG. 7C) in a CGR environment, such as an animated movie set.
[0094] 7A, camera 705-1 has a field of view 707-1 positioned at portion 701-1 of user 701. Portion 701-1 includes physical features of user 701 including the user's neck, collar area, and portions of the user's face and head including the user's right eye, right ear, nose, and mouth, but excluding the top of the user's head, the user's left eye, and the user's left ear. Because portion 701-1 is within the camera's field of view 707-1, camera 705-1 captures the pose of the physical features including portion 701-1 of user 701.
[0095] Camera 705-2 has a field of view 707-2 positioned at portion 701-2 of user 701. Portion 701-2 includes physical features of user 701, including the user's right hand, right wrist, and a distal portion of the user's forearm adjacent the user's right wrist. Because portion 701-2 is within the camera's field of view 707-2, camera 705-2 captures the pose of the physical features of user 701, including portion 701-2.
[0096] Camera 705-3 has a field of view 707-3 positioned at portion 701-3 of user 701. Portion 701-3 includes physical features of user 701, including the user's left and right feet and left and right lower extremity regions. Because portion 701-3 is within the camera's field of view 707-3, camera 705-3 captures the pose of the physical features of user 701, including portion 701-3.
[0097] The camera 705-4 has a field of view 707-4 positioned on a portion 701-4 of the user 701. The portion 701-4 includes the physical features of the user 701, including the user's left hand, left wrist, and a distal portion of the user's left forearm adjacent the wrist. Because the portion 701-4 is within the field of view 707-4 of the camera, the camera 705-4 generally captures the pose of the physical features including the portion 701-4 of the user 701. However, as discussed in more detail below, some areas of the portion 701-4, such as the palm of the user's left hand, are positioned behind the cup 702 and therefore are hidden from the camera 705-4 and are therefore considered not to be within the field of view 707-4. Thus, the pose of these areas (e.g., the palm of the user's left hand) is not captured by the camera 705-4.
[0098] Portions of user 701 that are not within the field of view of the cameras are considered not to be captured by the cameras. For example, the top of the user's head, the user's left eye, the user's upper arm, elbow, and proximal end of the user's forearm, the user's upper extremities and knee, and the user's torso are all outside the field of view of cameras 705-1 through 705-4, and therefore the positions or poses of these portions of user 701 are considered not to be captured by the cameras.
[0099] Cameras 705-1 through 705-4 are described as non-limiting examples of devices for capturing a pose of a portion of user 701, i.e., devices for capturing data that can be used to determine a pose of a portion of user 701. Thus, other sensors and / or devices can be used in addition to or instead of any of cameras 705-1 through 705-4 to capture a pose of a portion of the user. For example, such sensors can include proximity sensors, accelerometers, GPS sensors, location sensors, depth sensors, thermal sensors, image sensors, other types of sensors, or any combination thereof. In some embodiments, these various sensors can be standalone components, such as wearable location sensors located at different locations on user 701. In some embodiments, the various sensors may be integrated into one or more devices associated with the user 701, such as, for example, the user's smartphone, the user's tablet, the user's computer, a motion capture suit worn by the user 701, a headset (e.g., HMD) worn by the user 701, a smartwatch (e.g., watch 810 of FIG. 8A), another device worn by or otherwise associated with the user 701, or any combination thereof. In some embodiments, the various sensors may be integrated into one or more different devices associated with other users (users other than the user 701), such as, for example, another user's smartphone, another user's tablet, another user's computer, a headset device worn by another user, another device worn by or otherwise associated with another user, or any combination thereof. The cameras 705-1 through 705-4 are shown in FIG. 7A as standalone devices. However, one or more of the cameras may be integrated with other components, such as, for example, any of the sensors and devices described above. For example, one of the cameras may be a camera integrated with a headset device of a second user present in the real environment 700.In some embodiments, the data may be provided from a facial scan (e.g., using a depth sensor), media items such as photos and videos of the user 701, or other related sources. For example, depth data associated with the user's face may be collected when the user unlocks a personal communication device (e.g., a smartphone, a smartwatch, or an HMD) using facial recognition. In some embodiments, the device that generates the replica of the user's part is separate from the personal communication device, and data from the facial scan is provided to the device that generates the replica of the user's part for use in constructing the replica of the user's part (e.g., securely and privately with one or more options for the user to decide whether or not to share data between devices). In some embodiments, the device that generates the replica of the user's part is the same as the personal communication device, and data from the facial scan is provided to the device that generates the replica of the user's part for use in constructing the replica of the user's part (e.g., the facial scan is used to unlock an HMD that also generates a replica of the user's part). This data can be used, for example, to improve understanding of the pose of parts of user 701, or to increase the visual fidelity (discussed below) of replicas of parts of user 701 that are not detected using sensors (e.g., cameras 705-1 through 705-4). In some embodiments, this data can be used to detect changes to parts of the user that are visible when unlocking the device (e.g., a new hairstyle, new glasses, etc.), thereby updating the representation of the user's parts based on the changes in the user's appearance.
[0100] In the embodiments described herein, the sensors and devices described above for capturing data that can be used to determine a posture of a portion of a user are generally referred to as sensors. In some embodiments, data generated using the sensors is referred to as sensor data. In some embodiments, the term "posture data" is used to refer to data that can be used (e.g., by a computer system) to determine a posture of at least a portion of a user. In some embodiments, posture data can include sensor data.
[0101] In the embodiments disclosed herein, the computer system uses the sensor data to determine the pose of the parts of the user 701 and then represents the user as an avatar in the CGR environment, with the avatar having the same pose as the user 701. However, in some cases, the sensor data may not be sufficient to determine the pose of some parts of the user's body. For example, the user's parts may be outside the field of view of the sensor, the sensor data may be corrupted, inconclusive, or incomplete, or the user may be moving too fast for the sensor to capture the pose. In either case, the computer system makes a determination (e.g., an estimate) of the pose of these parts of the user based on various data sets, which are discussed in more detail below. Because these poses are estimates, the computer system calculates an estimate of the certainty (confidence level of the accuracy of the determined pose) of each respective pose determined for a part of the user's body, especially for parts that are not well represented by the sensor data. In other words, the computer system calculates an estimate of the certainty that the estimated pose of the corresponding part of the user 701 is an accurate representation of the actual pose of the part of the user in the real environment 700. The certainty estimate may be referred to herein as the certainty (or uncertainty) or amount of certainty of the estimated pose of the user's body part (or amount of uncertainty of the estimated pose of the user's body part). For example, in FIG. 7A, the computer system calculates with 75% certainty that the user's left elbow is raised to the side and bent at a 90° angle. The certainty (reliability) of the determined pose is represented using a certainty map 710, discussed below with respect to FIG. 7B. In some embodiments, the certainty map 710 also represents the pose of the user 701 as determined by the computer system. The determined pose is represented using an avatar 721, discussed below with respect to FIG. 7C.
[0102] 7B, the certainty map 710 is a visual representation of the computer system's certainty of the determined poses for parts of the user 701. In other words, the certainty map 710 represents a calculated estimate of the certainty of the positions of different parts of the user's body determined using the computer system (e.g., the probability that the estimated positions of parts of the user's body are accurate). The certainty map 710 is a template of the human body representing basic human features such as head, neck, shoulders, torso, arms, hands, legs, and feet. In some embodiments, the certainty map 710 represents various sub-features such as fingers, elbows, knees, eyes, nose, ears, and mouth. The human features of the certainty map 710 correspond to the physical features of the user 701. Hatching 715 is used to represent the degree or amount of uncertainty of the determined positions or poses of the physical parts of the user 701 corresponding to the respective hatched portions of the certainty map 710.
[0103] In the embodiments provided herein, the respective portions of the user 701 and the certainty map 710 are depicted at a level of granularity sufficient to describe the various embodiments disclosed herein. However, these features may be depicted at further (or less) granularity to further describe the user's pose and portions and corresponding certainty of the pose without departing from the spirit and scope of the present disclosure. For example, the user features of portion 701-4 captured using camera 705-4 may be further depicted as including the tips of the user's fingers but not including the bases of the fingers positioned behind the cup 702. Similarly, the backside of the user's right hand may be considered to be outside the field of view 707-2 as it faces away from camera 705-2 and thus image data acquired using camera 705-2 does not directly capture the backside of the user's right hand. As another example, the certainty map 710 may represent one amount of certainty for the user's left eye and a different amount of certainty for the user's left ear or the top of the user's head. However, for the sake of brevity, the details of these particle size variations will not be discussed in any case.
[0104] In the embodiment shown in Figure 7B, the certainty map 710 includes portions 710-1, 710-2, 710-3, and 710-4 corresponding to the respective portions 701-1, 701-2, 701-3, and 701-4 of the user 701. Thus, portion 710-1 represents the certainty of the posture of the user's neck, collar region, and portions of the user's face and head including the user's right eye, right ear, nose, and mouth, but not including the top of the user's head, the user's left eye, and the user's left ear. Portion 710-2 represents the certainty of the posture of the user's right hand, right wrist, and distal portions of the user's forearm adjacent the user's right wrist. Portion 710-3 represents the certainty of the posture of the user's left and right feet, and left and right lower extremity regions. Portion 710-4 represents the certainty of the pose of the user's left hand, left wrist, and the distal portion of the user's left forearm adjacent the wrist. In the embodiment shown in FIG. 7B, portions 710-1, 710-2, and 710-3 are shown without hatching because the computer system determines the pose of the physical features of portions 701-1, 701-2, and 701-3 of user 701 with a high degree of certainty (e.g., the physical features are determined to be within the camera's field of view and not moving). However, portion 710-4 is shown with slight hatching 715-1 on the portion of the certainty map 710 that corresponds to the palm of the user's left hand. This is because the computer system has less certainty in the location of the palm of the user's left hand, which is obscured by the cup 702 in FIG. 7A. In this example, the computer system has less certainty in the pose of the user's left hand because the user's left hand is obscured by the cup. However, there are other reasons why the computer system may have a certain amount of uncertainty in the determined pose, such as parts of the user moving too fast for the sensors to detect the pose, lighting in the real environment may be insufficient (e.g., the user is backlit), etc. In some embodiments, the certainty with which the computer system can determine the pose is based on, for example, the frame rate of the sensor, the resolution of the sensor, and / or the ambient light levels, etc.
[0105] The certainty map 710 represents the certainty of the determined pose for the portions of the user 701 captured within the field of view of the cameras in FIG. 7A as well as the portions of the user 701 not captured within the field of view of the cameras. Thus, the certainty map 710 further represents the certainty of the computer system in estimating the determined pose for the portions of the user 701 that are outside the field of view of the cameras 705-1-705-4, such as, for example, the top of the user's head, the user's left eye, the user's left ear, the user's upper arm, elbow, and the proximal end of the user's forearm, the user's upper extremity, the user's upper extremity and knee, the user's torso, and, as previously mentioned, the user's left palm. Because these portions of the user 701 are outside the fields of view 707-1-707-4, the certainty of the determined pose for these portions is lower. Thus, the corresponding regions of the certainty map 710 are shown with hatching 715 to indicate an estimated amount of uncertainty associated with the determined pose for each of these portions of the user 701.
[0106] In the embodiment shown in FIG. 7B, the density of the hatching 715 is directly proportional to the uncertainty it represents (or inversely proportional to the certainty it represents). Thus, a higher density of the hatching 715 indicates a higher uncertainty (or a lower certainty) of the posture of the corresponding body part of the user 701, and a lower density of the hatching 715 indicates a lower uncertainty (or a higher certainty) of the posture of the corresponding body part of the user 701. No hatching indicates a high degree of certainty (e.g., 90%, 95%, or 99% certainty) of the posture of the corresponding body part of the user 701. For example, in the embodiment shown in FIG. 7B, the hatching 715 is located on a portion 710-5 of the certainty map 710 corresponding to the top of the user's head, the user's left eye, and the user's left ear, and there is no hatching on the portion 710-1. Thus, certainty map 710 in Figure 7B shows that the pose of part 701-1 of user 701 has high certainty, but the pose of the top of the user's head, the user's left eye, and the user's left ear has low certainty. In situations where the user is wearing a head mounted device (e.g., representations of parts of the user are generated integrally to the head mounted device or based at least in part on sensors integrated into or attached to the head mounted device), the appearance of the user's head and face covered by the head mounted device is uncertain, but can be estimated based on sensor measurements of the visible parts of the user's head and / or face.
[0107] As mentioned above, some parts of the user 701 are outside the field of view of the camera, but the computer system can determine the general pose of these parts of the user 701 with varying degrees of certainty. These varying degrees of certainty are represented in the certainty map 710 by showing different densities of hatching 715. For example, the computer system estimates a high degree of certainty for the pose of the user's upper head region (top of the user's head, the user's left eye, and the user's left ear). Thus, this region is shown in FIG. 7B with a lower hatching density 710-5 as indicated by the larger amount of spacing between the hatch lines. As another example, the computer system estimates a lower degree of certainty for the pose of the user's right elbow than the certainty estimated for the pose of the user's right shoulder. Thus, the right elbow portion 710-6 is shown with a higher hatching density than the right shoulder portion 710-7 as indicated by the decreasing amount of spacing between the hatch lines. Finally, the computer system estimates a minimum amount of certainty for the pose of the user's torso (e.g., waist). Thus, fuselage section 710-8 is shown with the highest hatching density.
[0108] In some embodiments, the pose of each part of the user 701 can be determined or inferred using data from various sources. For example, in the embodiment shown in FIG. 7B, the computer system determines the pose of the part 701-2 of the user with a high degree of certainty based on detecting this part of the user within the field of view 707-2 of the camera 705-2, but the pose of the user's right elbow is not known based solely on the sensor data from the camera 705-2. However, the sensor data from the camera 705-2 can be supplemented to determine the pose of the parts of the user 701 within or outside the field of view 707-2, including the pose of the user's right elbow. For example, if the computer system has a high certainty of the pose of the user's neck and collar region (see portion 710-1), the computer system can infer with high certainty (e.g., lower than the neck and collar region) the pose of the user's right shoulder (see portion 710-7) based on known kinematics of the human body, in this example specifically based on knowledge of the position of the person's right shoulder relative to the collar region, and in some embodiments can use algorithms to extrapolate or interpolate to approximate the pose of portions of the user, such as the upper portion of the user's right arm and the user's right elbow. For example, the potential pose of the right elbow portion 710-6 depends on the position of the right upper arm portion 710-9, which is inferred from the position of the right shoulder portion 710-7. Furthermore, the position of the right upper arm portion 710-9 depends on the articulation of the user's shoulder joint, which is outside the field of view of any of the cameras 705-1-705-4. Thus, the uncertainty in the pose of the right upper arm portion 710-9 is higher than the pose of the right shoulder portion 710-7. Similarly, the pose of the right elbow portion 710-6 depends on the estimated pose of the right upper arm portion 710-9 and the estimated pose of the proximal end of the user's right forearm. However, the proximal end of the user's right forearm is not within the field of view of the camera, but the distal region of the user's right forearm is within the field of view 707-2. Thus, as shown in portion 710-2, the pose of the distal region of the user's right forearm is known with a high degree of certainty. The computer system therefore uses this information to estimate the pose of the proximal end of the user's right forearm and the right elbow portion 710-6. This information can also be used to further inform the estimated pose of the right upper arm portion 710-9.
[0109] In some embodiments, the computer system uses an interpolation function to estimate the pose of a portion of the user that is located between two or more physical features that have known poses, for example. For example, referring to portion 710-4 of FIG. 7B, the computer system determines with high certainty the pose of the fingers of the user's left hand and the pose of the distal end of the user's left forearm because these physical features of the user 701 are located within the field of view 707-4. However, the pose of the user's left palm is not known with high certainty because it is obscured by the cup 702. In some embodiments, the computer system uses an interpolation algorithm to determine the pose of the palm of the user's left hand based on the known poses of the user's fingers and left forearm. Because the poses are known for many of the user's physical features that are near or adjacent to the left palm, the computer system determines the pose of the left palm with relatively high certainty, as indicated by the relatively sparse hatching 715-1.
[0110] As described above, the computer system determines a posture of the user 701 (in some embodiments, a collection of postures of portions of the user 701) and displays an avatar in the CGR environment that represents the user 701 having the determined posture(s). Figure 7C illustrates an example of a computer system displaying an avatar 721 at 720 within the CGR environment. In the embodiment illustrated in Figure 7C, the avatar 721 is presented as a virtual block character that is displayed using a display generation component 730. The display generation component 730 is similar to the display generation component 120 described above.
[0111] Avatar 721 includes portions 721-2, 721-3, and 721-4. Portion 721-2 corresponds to portion 701-2 of certainty map 710 of FIG. 7B and portion 710-2 of user 701 of FIG. 7A. Portion 721-3 corresponds to portion 701-3 of certainty map 710 of FIG. 7B and portion 710-3 of user 701 of FIG. 7A. Portion 721-4 corresponds to portion 701-4 of certainty map 710 of FIG. 7B and portion 710-4 of user 701 of FIG. 7A. Thus, portion 721-2 represents the pose of the user's right hand, right wrist, and distal portion of the user's forearm adjacent to the user's right wrist. Portion 721-3 represents the pose of the user's left and right feet, and left and right lower extremity regions. Portion 721-4 represents the pose of the user's left hand, left wrist, and the distal portion of the user's left forearm adjacent the wrist. Other portions of avatar 721 represent the pose of corresponding portions of user 701, as discussed in more detail below. For example, neck and collar region 727 of avatar 721 corresponds to portion 701-1 of user 701, as discussed below.
[0112] The computer system displays the avatar 721 with visual display characteristics (referred to herein as variable display characteristics) that vary depending on the estimated certainty of the pose determined by the computer system. In general, the variable display characteristics inform a viewer of the avatar 721 about the visual fidelity of the displayed avatar with respect to the pose of the user 701, or about the visual fidelity of the displayed portion of the avatar with respect to the pose(s) of the corresponding physical part(s) of the user 701. In other words, the variable display characteristics inform a viewer about the estimated amount or degree to which the rendered pose or appearance of the portion of the avatar 721 matches the actual pose or appearance of the corresponding physical part(s) of the user 701 in the real environment 700, which in some embodiments is determined based on the estimated certainty of the respective pose of the portion of the user 701. In some embodiments, an avatar feature is said to be rendered with high fidelity if the computer system renders the avatar feature without variable display characteristics or with variable display characteristics having values that indicate a high certainty (e.g., 75%, 80%, 90%, 95% certainty) of the pose of the corresponding part of user 701. In some embodiments, an avatar feature is said to be rendered with low fidelity if the computer system renders the avatar feature with variable display characteristics having values that indicate less than high certainty of the pose of the corresponding part of user 701.
[0113] In some embodiments, the computer system adjusts values of the variable display properties of the respective avatar features to communicate changes in the estimated certainty of the pose of the portion of the user represented by the respective avatar feature. For example, as the user moves, the computer system (e.g., continuously, continuously, automatically) determines the user's pose and updates the estimated certainty of the pose of each portion of the user accordingly. The computer system also changes the appearance of the avatar by modifying the pose of the avatar to match the new determined pose of the user, and modifies the values of the variable display properties of the avatar features based on the change in the certainty of the corresponding pose of the portion of the user 701.
[0114] The variable display characteristics may include one or more visual features or parameters used to improve, degrade, or modify the appearance (e.g., default appearance) of the avatar 721, as discussed in the examples below.
[0115] In some embodiments, the variable display characteristics include the display color of the avatar features. For example, the avatar may have a default color of green, and as the certainty of the pose of the user's portion changes, cooler colors may be used to represent portions of the avatar where the computer system has less certainty of the pose of the user's portion represented by the avatar features, and warmer colors may be used to represent portions of the avatar where the computer system has more certainty of the pose of the user's portion represented by the avatar features. For example, as the user moves their hand out of the camera's field of view, the computer system modifies the appearance of the avatar's hand by moving it from a pose (e.g., position, orientation) with a high degree of certainty (a pose consistent with the pose of the user's hand when in the field of view) to a pose with less certainty based on a determination of the updated pose of the user's hand. As the avatar's hand moves from a pose with a high degree of certainty to a pose with very little certainty, the avatar's hand transitions from green to blue. Similarly, as the avatar's hand moves from a pose with a high degree of certainty to a pose with slightly less certainty, the avatar's hand transitions from green to red. As another example, as the hand moves from a pose of very little certainty to a pose of relatively high certainty, the hand transitions from blue to red, with a range of intermediate colors that transition from cool to warm as the hand moves to a pose of increasing certainty. As yet another example, as the hand moves from a pose of relatively high certainty to a pose of very little certainty, the hand transitions from red to blue, with a range of intermediate colors that transition from warm to cool as the hand moves to a pose of decreasing certainty. In some embodiments, the change in value of the variable display property occurs at a faster rate when the avatar feature moves from an unknown pose (a low certainty pose) to a higher certainty pose (e.g., a known pose) and at a slower rate when the avatar feature moves from a higher certainty pose (e.g., a known pose) to a lower certainty pose. For example, to continue with an example of a variable display property being color, an avatar's hand changes from blue to red at a faster rate than it changes from red (or the default green) to blue.In some embodiments, the color change occurs at a rate greater than the rate at which the user is moving the hand that corresponds to the avatar's hand.
[0116] In some embodiments, the variable display characteristic includes a display amount of blurring applied to the displayed portion of the avatar feature. Conversely, the variable display characteristic may be a display amount of sharpness applied to the displayed portion of the avatar feature. For example, the avatar may have a default sharpness, and as the certainty of the pose of the user's portion changes, an increased blurring (or decreased sharpness) may be used to represent portions of the avatar for which the computer system has less certainty of the pose of the user's portion represented by the avatar feature, and a decreased blurring (or increased sharpness) may be used to represent portions of the avatar for which the computer system has more certainty of the pose of the user's portion represented by the avatar feature.
[0117] In some embodiments, the variable display characteristic includes an opacity of the displayed portion of the avatar feature. Conversely, the variable display characteristic may be a transparency of the displayed portion of the avatar feature. For example, the avatar may have a default opacity, and as the certainty of the pose of the user's portion changes, a decreased opacity (or an increased transparency) may be used to represent portions of the avatar where the computer system has less certainty of the pose of the portion of the user 701 represented by the avatar feature, and an increased opacity (or a decreased transparency) may be used to represent portions of the avatar where the computer system has more certainty of the pose of the portion of the user represented by the avatar feature.
[0118] In some embodiments, the variable display characteristics include the density and / or size of particles forming the displayed portion of the avatar feature. For example, an avatar may have a default particle size and particle spacing, and as the certainty of the pose of the user's portion changes, the particle size and / or particle spacing of the corresponding avatar feature changes based on whether the certainty has increased or decreased. For example, in some embodiments, the particle spacing is increased (particle density is decreased) to represent portions of the avatar where the computer system has low certainty of the pose of the user's portion represented by the avatar feature, and the particle spacing is decreased (particle density is increased) to represent portions of the avatar where the computer system has high certainty of the pose of the user's portion represented by the avatar feature. As another example, in some embodiments, the particle size is increased (producing a more pixelated appearance and / or a lower resolution appearance) to represent portions of the avatar where the computer system has low certainty of the pose of the user's portion represented by the avatar feature, and the particle size is decreased (producing a less pixelated appearance and / or a higher resolution appearance) to represent portions of the avatar where the computer system has high certainty of the pose of the user's portion represented by the avatar feature.
[0119] In some embodiments, the variable display characteristic includes one or more visual effects, such as scale (e.g., fish scale), pattern, shading, and smoke effects. Examples are discussed in more detail below. In some embodiments, an avatar may be displayed that smoothly transitions between regions of higher and lower certainty, for example, by varying the amount of the variable display characteristic (e.g., opacity, particle size, color, diffusion, etc.) along the transition region of each portion of the avatar. For example, if the variable display characteristic is particle density and the certainty of a user's forearm transitions from high certainty to low certainty at the user's elbow, the transition from high certainty to low certainty may be represented by displaying an avatar with a high particle density at the elbow and a smooth (gradual) transition to low particle density along the forearm.
[0120] The variable display characteristics are represented in FIG. 7C by hatching 725 and can include one or more of the variable display characteristics described above. The density of the hatching 725 is used in varying amounts to indicate the fidelity with which portions of the avatar 721 are rendered based on the estimated certainty of the actual pose of the corresponding physical part of the user 701. Thus, higher hatching densities are used to indicate portions of the avatar 721 for which the variable display characteristics have values indicating that the computer system determined the pose with less certainty, and lower hatching densities are used to indicate portions of the avatar 721 for which the variable display characteristics have values indicating that the computer system determined the pose with more certainty. In some embodiments, no hatching is used when the certainty of the pose of the avatar part is high (e.g., 90%, 95%, or 99% certainty).
[0121] In the embodiment shown in FIG. 7C, the avatar 721 is rendered as a block character with a pose similar to that of the user 701. As described above, the computer system determines the pose of the avatar 721 based on sensor data representative of the pose of the user 701. For portions of the user 701 whose pose is known, the computer system renders the corresponding portions of the avatar 721 with default or baseline values of the variable display characteristics (e.g., resolution, transparency, particle size, particle density, color) or without the variable display characteristics (e.g., without patterns or visual effects), as indicated by no hatching. For portions of the user 701 whose pose is below a predetermined certainty threshold (e.g., pose certainty is less than 100%, 95%, 90%, 80%), the computer system renders the corresponding portions of the avatar 721 with values of the variable display characteristics that vary from the default or baseline, or with the variable display characteristics if they are not displayed to indicate high certainty, as indicated by hatching 725.
[0122] In the embodiment shown in Figure 7C, the density of the hatching 725 generally corresponds to the density of the hatching 715 in Figure 7B. Thus, the value of the variable display characteristic of the avatar 721 generally corresponds to the certainty (or uncertainty) represented by the hatching 715 in Figure 7B. For example, the portion 721-4 of the avatar 721 corresponds to the portion 710-4 of the certainty map 710 in Figure 7B and the portion 701-4 of the user 701 in Figure 7A. Thus, the portion 721-4 is shown with hatching 725-1 (similar to hatching 715-1 in Figure 7B) on the avatar's left palm, indicating that the value of the variable display characteristic corresponds to a relatively high certainty of the posture of the user's left palm, but not as high as other portions, and no hatching is present on the fingers and the distal end of the avatar's left forearm (indicating a high certainty of the posture of the corresponding portion of the user 701).
[0123] In some embodiments, hatching is not used when the estimated certainty of the pose of the avatar parts is relatively high (e.g., 99%, 95%, or 90%). For example, parts 721-2 and 721-3 of avatar 721 are shown without hatching. The pose of part 701-2 of user 701 is determined with high certainty, so in FIG. 7C, part 721-2 of avatar 721 is rendered without hatching. Similarly, the pose of part 701-3 of user 701 is determined with high certainty, so in FIG. 7C, part 721-3 of avatar 721 is rendered without hatching.
[0124] In some embodiments, a portion of the avatar 721 is displayed with one or more avatar features that are not derived from the user 701. For example, the avatar 721 is rendered with avatar hair 726 that is determined based on the visual attributes of the avatar character, rather than the hairstyle of the user 701. As another example, the avatar's hands and fingers in portion 721-2 are blocky hands and blocky fingers that are not human hands or human fingers, but have the same pose as the user's hands and fingers in FIG. 7A. Similarly, the avatar 721 is rendered with a nose 722 that is different from but has the same pose as the nose of the user 701. In some embodiments, the different avatar features may be different human features (e.g., different human noses), features from non-human characters (e.g., a dog's nose), or abstract shapes (e.g., a triangular nose). In some embodiments, the different avatar features may be generated using machine learning algorithms. In some embodiments, the computer system renders the avatar features using features that are not derived from the user to conserve computational resources by avoiding additional operations that are performed to render the avatar features with high visual fidelity with respect to the corresponding portions of the user.
[0125] In some embodiments, portions of an avatar 721 are displayed with one or more avatar features derived from the user 701. For example, in FIG. 7C, an avatar 721 is rendered with a mouth 724 that is the same as the mouth of the user 701 of FIG. 7A. In another example, an avatar 721 is rendered with a right eye 723-1 that is the same as the right eye of the user 701 of FIG. 7A. In some embodiments, such avatar features are rendered using a video feed of the corresponding portions of the user 701 mapped onto a three-dimensional model of the virtual avatar character. For example, the avatar's mouth 724 and right eye 723-1 are based on a video feed of the user's mouth and right eye captured within the field of view 707-1 of the camera 705-1 and displayed on the avatar 721 (e.g., via a video pass-through).
[0126] In some embodiments, the computer system renders some features of the avatar 721 as having high (or increased) certainty of their pose even if the computer system estimates that the certainty is lower than the high certainty of the pose of the corresponding part of the user. For example, in FIG. 7C, the left eye 723-2 is shown without hatching, indicating a high certainty of the pose of the user's left eye. However, in FIG. 7A, the user's left eye is outside the field of view 707-1, and in FIG. 7B, the certainty of the part 710-5 including the user's left eye is shown with hatching 715 as being lower than the high certainty of the pose of the user's left eye. Rendering some features with high fidelity even if the estimated certainty is lower than high is sometimes done to improve the quality of communication using the avatar 721. For example, some features, such as the eyes, hands, and mouth, may be considered important for communication purposes, and rendering such features with variable display characteristics may be distracting to a user viewing and communicating with the avatar 721. Similarly, if the user's 701 mouth is moving too quickly to capture sufficient pose data for the user's lips, teeth, tongue, etc., the computer system can render the avatar's mouth 724 with a high degree of certainty of the mouth pose, since rendering the mouth with variable display characteristics indicating blur, transparency, color, increased grain spacing, or increased grain size would be distracting.
[0127] In some embodiments, when there is low certainty of the pose or appearance of a portion of the user (e.g., 99%, 95%, 90% certainty), the pose and / or appearance of the corresponding avatar feature may be enhanced using data from different sources. For example, the pose of the user's left eye is unknown, but the pose of the avatar's left eye 723-2 may be estimated using, for example, a machine learning algorithm that determines the pose of the left eye 723-2 based on the mirrored pose of the user's right eye, which is known. Furthermore, since the user's left eye is outside the field of view 707-1, the sensor data from the camera 705-1 may not include data for determining the appearance (e.g., eye color) of the user's left eye. In some embodiments, the computer system may use data from other sources to obtain the data necessary to determine the appearance of the avatar feature. For example, the computer system may access previously captured face scan data, photos, and videos of the user 701 associated with a personal communication device (e.g., a smartphone, a smartwatch, or an HMD) to obtain data for determining the appearance of the user's eyes. In some embodiments, other avatar features may be updated based on additional data accessed by the computer system. For example, if a recent photo shows the user 701 with a different hairstyle, the avatar's hair may be changed to match the hairstyle in the recent photo of the user 701. In some embodiments, the device generating the user's part replica is separate from the personal communication device, and data from the face scan, photo, and / or video is provided to the device generating the user's part replica for use in constructing the user's part replica (e.g., securely and privately, with one or more options for the user to decide whether or not to share data between devices). In some embodiments, the device generating the user's part replica is the same as the personal communication device, and data from the face scan, photo, and / or video is provided to the device generating the user's part replica for use in constructing the user's part replica (e.g., the face scan is used to unlock the HMD generating the user's part replica).
[0128] In some embodiments, the computer system displays portions of the avatar 721 as having low visual fidelity with respect to the corresponding portions of the user even if the pose of the corresponding user feature is known (or is determined with high certainty). For example, in FIG. 7C , the neck and collar region 727 of the avatar 721 is shown with hatching 725 indicating that the respective avatar feature is displayed with variable display characteristics. However, the neck and collar region of the avatar 721 corresponds to the portion 701-1 of the user 701 that is within the field of view 707-1 and corresponds to the portion 710-1 shown in the certainty map 710 as having high certainty. In some embodiments, the computer system displays the avatar feature as having low visual fidelity even if the pose of the corresponding portion of the user 701 is known (or is determined with high certainty) in order to conserve computational resources that would otherwise be used to render a high fidelity representation of the corresponding avatar feature. In some embodiments, the computer system performs this operation when the user feature is deemed less important for communication purposes. In some embodiments, the low-fidelity versions of the avatar features are generated using machine learning algorithms.
[0129] In some embodiments, the change in value of the variable display characteristic is based on the speed at which the corresponding portion of the user 701 moves. For example, the faster the user moves their hand, the less certainty there is of the hand pose, and the variable display characteristic is presented with a value corresponding to the less certainty of the hand pose. Conversely, the slower the user moves their hand, the more certainty there is of the hand pose, and the variable display characteristic is presented with a value corresponding to the more certainty of the hand pose. If the variable display characteristic is blur, for example, when the user moves their hand faster, the avatar's hand is rendered with a greater degree of blur, and when the user moves their hand slower, the hand is rendered with a lesser degree of blur.
[0130] In some embodiments, the display generation component 730 enables the display of the CGR environment 720 and an avatar 725 of the user of the computer system. In some embodiments, the computer system, via the display generation component 730, further displays within the CGR environment 720 a preview 735 that includes a representation of the appearance of the user of the computer system. In other words, the preview 735 shows the user of the computer system how they will appear within the CGR environment 720 and to other users viewing the CGR environment 720. In the embodiment shown in FIG. 7C, the preview 735 shows what a user of the computer system (e.g., a user different from user 701) would appear as a female avatar character with variable display characteristics.
[0131] In some embodiments, the computer system calculates the certainty estimate using data collected from one or more sources other than the cameras 705-1-705-4. For example, these other sources can be used to supplement or possibly replace the sensor data collected from the cameras 705-1-705-4. These other sources can include different sensors, such as any of the sensors described above. For example, the user 701 may wear a smart watch or other wearable device that provides data indicative of the position, movement, or location of the user's arm and / or other body parts. As another example, the user 701 may have a smartphone in his pocket that provides data indicative of the user's position, movement, posture, or other such data. Similarly, a headset device worn by another person in the real environment 700 may include sensors, such as a camera, that provide data indicative of posture, movement, position, or other relevant information associated with the user 701. In some embodiments, the data can be provided from a face scan (e.g., using a depth sensor), media items such as photos and videos of the user 701, or other relevant sources as previously described.
[0132] 8A-8C show an embodiment similar to FIG. 7A, where sensor data from cameras 705-1-705-4 is supplemented with data from a user's smartwatch. In FIG. 8A, user 701 is currently positioned with his right hand on his hip and his left hand with smartwatch 810 on his left wrist, resting flat against wall 805. For example, user 701 has moved from the posture of FIG. 7A to the posture of FIG. 8A. The user's right hand, right wrist, and right forearm are not currently positioned in field of view 707-2. Additionally, the user's left hand remains within field of view 707-4, but the user's left wrist and left forearm are outside field of view 707-4.
[0133] In FIG. 8B, the certainty map 710 has been updated based on the new pose of the user 701 of FIG. 8A. Thus, the pose uncertainty of the user's right elbow, right forearm, and right hand has been updated based on the new positions, showing increased density of hatching 715 for these regions. Specifically, because the user's entire right arm is outside of any of the camera's fields of view, the pose certainty of these portions of the user 701 is reduced from the pose certainty of FIG. 7B. Thus, the certainty map 710 shows increased hatching density for these portions of the certainty map of FIG. 8B. Because the pose of each sub-feature of the user's right arm depends on the positions of adjacent sub-features, and because all of the right arm sub-features are outside of the field of view of the camera or other sensor, the hatching density increases with each successive sub-feature, starting with the right upper arm portion 811-1, to the right elbow portion 811-2, to the right forearm portion 811-3, to the right hand and fingers 811-4.
[0134] While the user's left forearm is outside the field of view 707-4, the computer system still determines the posture of the user's left forearm with a high degree of certainty because the sensor data of the camera 705-4 is supplemented by the sensor data of the smartwatch 810, which provides posture data of the user's left forearm. Thus, the certainty map 710 shows the left forearm portion 811-5 and the left hand portion 811-6 (which are within the field of view 707-4) in their respective postures with a high degree of certainty.
[0135] Figure 8C shows an updated pose of an avatar 721 in a CGR environment 720 based on the updated pose of the user 701 of Figure 8A. In Figure 8C, the computer system renders the avatar's left arm 821 with a high degree of certainty the user's left arm, as indicated by the lack of hatching on the left arm 821.
[0136] In some embodiments, the computer system renders the avatar 721 along with a representation of an object with which the user 701 is interacting. For example, if the user is holding an object, leaning against a wall, sitting in a chair, or otherwise interacting with an object, the computer system may render at least a portion of the object (or a representation thereof) within the CGR environment 720. For example, in FIG. 8C, the computer system includes a wall rendering 825 shown positioned adjacent to the avatar's left hand. This provides context for the user's posture so that the viewer can understand that the user 701 is posing with his or her left hand on a surface within the real environment 700. In some embodiments, the object with which the user is interacting may be a virtual object. In some embodiments, the object with which the user is interacting may be a physical object, such as a wall 805. In some embodiments, the rendered version of the object (e.g., the wall rendering 825) may be rendered as a virtual object or displayed as a video feed of the real object.
[0137] As described above, the computer system updates the posture of the avatar 721 in response to detected changes in the posture of the user 701, which in some embodiments involves updating the variable display characteristic based on the posture change. In some embodiments, updating the variable display characteristic includes increasing or decreasing the value of the variable display characteristic (represented by increasing or decreasing the amount or density of hatching 725). In some embodiments, updating the variable display characteristic includes introducing or removing the variable display characteristic (represented by introducing or removing hatching 725). In some embodiments, updating the variable display characteristic includes introducing or removing a visual effect. For example, in FIG. 8C, the computer system renders the avatar 721 with the right arm having a smoke effect 830 to indicate a relatively low certainty or reduced certainty of the posture of the user's right arm. In some embodiments, the visual effect may include other effects such as fish scales displayed on the respective avatar feature. In some embodiments, displaying the visual effect includes replacing the display of the respective avatar feature with the displayed visual effect, as shown in FIG. 8C. In some embodiments, displaying the visual effect includes displaying the respective avatar feature with a visual effect. For example, the avatar's right arm may be displayed with a fish scale on the arm. In some embodiments, the multiple variable display characteristics may be combined with another variable display characteristic, such as a displayed visual effect. For example, the density of the scale on the arm decreases as the pose certainty decreases along a portion of the arm.
[0138] In the embodiment shown in FIG. 8C, the pose of the user's right arm is represented by a smoke effect 830, which roughly takes the shape of the avatar's right arm with a pose that is down towards the side of the avatar's body. Although the pose of the avatar's arm does not accurately represent the actual pose of the user's right arm in FIG. 8A, the computer system has correctly determined that the user's right arm is down and not over the user's shoulder or directly to the side. This is because the computer system determined the current pose of the user's right arm based on sensor data obtained from cameras 705-1 through 705-4 and based on the previous poses and movements of the user's arm. For example, as the user moved their arm from the pose of FIG. 7A to the pose of FIG. 8A, the user's right arm moved downward as it moved out of the field of view 707-2. The computer system uses this data to determine that the pose of the user's right arm is not raised or to the side and therefore should be lower than before. However, the computer system does not have enough data to accurately determine the pose of the user's right arm. Thus, the computer system indicates low confidence in the pose of the user's right arm, as shown in confidence map 710 of Figure 8B. In some embodiments, if the confidence in the pose of a portion of the user 701 falls below a threshold, the computer system uses visual effects to represent the corresponding avatar features, as shown in Figure 8C.
[0139] In FIG. 8C, the preview 735 is updated within the CGR environment 720 to indicate that the current pose of the user of the computer system is waving.
[0140] In some embodiments, the computer system provides a control feature that allows a user of the computer system to select how much of the avatar 721 is displayed (e.g., which parts or features of the avatar 721 are displayed). For example, the control provides a spectrum where, at one end, the avatar 721 has only those avatar features for which the computer system has a high degree of certainty of the pose of the corresponding part of the user, and at the other end, the avatar 721 is displayed with all avatar features regardless of the certainty of the pose of the corresponding part of the user 701.
[0141] Additional discussion regarding FIGS. 7A-7C and 8A-8C is provided below with reference to the method 900 described with respect to FIG. 9 below.
[0142] FIG. 9 is a flowchart of an exemplary method 900 for presenting a virtual avatar character with display characteristics that vary in appearance based on certainty of a user's body pose, according to some embodiments. In some embodiments, the method 900 is executed in a computer system (e.g., computer system 101 of FIG. 1) (e.g., a smartphone, tablet head-mounted display generating component) in communication with a display generating component (e.g., display generating component 120 of FIGS. 1, 3, and 4) (e.g., display generating component 730 of FIGS. 7C and 8C) (e.g., a visual output device, a 3D display, a transparent display, a projector, a head-up display, a display controller, a touch screen, etc.). In some embodiments, the method 900 is governed by instructions stored in a non-transitory 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., control unit 110 of FIG. 1). Some operations of the method 900 are optionally combined and / or the order of some operations is optionally changed.
[0143] In method 900, a computer system (e.g., 101) receives (902) at least a first portion (e.g., 701-1, 701-2, 701-3, 701-4) of a user (e.g., pose data (e.g., depth data, image data, image data from sensor data cameras (e.g., 705-1, 705-2, 705-3, 705-4, 705-5)) that represents a pose (e.g., physical position, orientation, gesture, movement, etc.) of one or more physical features of the user (e.g., macro features such as arms, legs, hands, head, mouth, and / or micro features such as fingers, face, lips, teeth, or other parts of the respective physical features). In some embodiments, the pose data is The pose data includes data (e.g., a certainty value) indicating a measure of the certainty (e.g., confidence) that the determined pose of the portion of the user is accurate (e.g., an accurate representation of the pose of the portion of the user in the real environment). In some embodiments, the pose data includes sensor data (e.g., image data from a camera, movement data from an accelerometer, location data from a GPS sensor, data from a proximity sensor, data from a wearable device (e.g., watch 810)). In some embodiments, the sensor may be connected to or integrated into the computer system. In some embodiments, the sensor may be an external sensor (e.g., a sensor of a different computer system (e.g., another user's electronic device)).
[0144] The computer system (e.g., 101), via the display generation component (e.g., 730), causes (904) an avatar (e.g., 721) (e.g., a virtual avatar, a portion of the avatar) (e.g., a virtual representation of at least a portion of a user) to be presented (e.g., in a computer-generated reality environment (e.g., 720)), where the avatar corresponds (e.g., anatomically) to a first portion (e.g., 701-1, 701-2, 701-3, 701-4) of the user and (e.g., a representation of a portion of the user). The avatar may include a set of one or more visual parameters of the rendering of the avatar feature that are variable (e.g., 710, 715) that indicate the certainty of the pose of the first portion of the user (e.g., an estimated / predicted visual fidelity of the pose of the respective avatar feature with respect to the momentum, the set of one or more visual parameters of the rendering of the avatar feature that are variable (e.g., based on the certainty of the pose of the user portion). By presenting an avatar that includes each presented avatar feature having a variable display characteristic that corresponds to the first portion of the user and that indicates the certainty of the pose of the first portion of the user, feedback is provided to the user that indicates confidence in the pose of the portion of the user represented by the respective avatar feature. Providing improved feedback enhances operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0145] In some embodiments, each avatar feature is superimposed on (or displayed in lieu of) a corresponding portion of the user. In some embodiments, the variable display characteristic varies based on the certainty (e.g., confidence) of the pose of the portion of the user. In some embodiments, the certainty of the pose of the portion of the user is expressed as a certainty value (e.g., a value representing the certainty (confidence) that the determined pose of the portion of the user is an accurate representation of the portion of the user's actual (e.g., in the real environment (e.g., 700)) pose). In some embodiments, the certainty value is expressed using a range of values, e.g., a percentage range of 0% to 100%, where 0% indicates no (minimal) certainty that the pose of the respective user feature (or portion thereof) is accurate, and 100% indicates that the certainty of the estimation of the respective user feature is above a predefined threshold certainty (e.g., 80%, 90%, 95%, or 99%) (e.g., even if the actual pose cannot be determined due to, e.g., sensor limitations). In some embodiments, the certainty may be 0% if the computer system (e.g., 101) (or another processing device) does not have enough useful data to infer the potential position or pose of each user feature. For example, each user feature may not be within the field of view (e.g., 707-1, 707-2, 707-3, 707-4) of the image sensor (e.g., 705-1, 705-2, 705-3, 705-4), and each user feature is as likely as any one of several different positions or poses. Or, for example, data generated using a proximity sensor (or some other sensor) is uncertain or otherwise insufficient to accurately infer the pose of each user feature. In some embodiments, the certainty may be higher (e.g., 99%, 95%, 90% certainty) if the computer system (or another processing device) can unambiguously identify each user feature using the pose data and can use the pose data to determine the correct location of each user feature.
[0146] In some embodiments, the variable display characteristics are directly correlated to the certainty of the user's part pose. For example, each avatar feature may be rendered with a variable display characteristic having a first value (e.g., a low value) to convey (e.g., to a viewer) a first certainty (e.g., low certainty) in the user's part pose. Conversely, each avatar feature may be rendered with a variable display characteristic having a second value (e.g., a high value) greater than the first value to convey a higher certainty in the user's part pose (e.g., high certainty, such as certainty above a predefined certainty threshold, such as 80%, 90%, 95%, or 99%). In some embodiments, the variable display characteristics are not directly correlated to the certainty (e.g., certainty value) of the user's part pose. For example, if the appearance of the user's part is important for communication purposes, the corresponding avatar feature may be rendered with a variable display characteristic having a value corresponding to high certainty, even if the certainty in the user's part pose is low. This may be done, for example, if it would be distracting (e.g., to a viewer) to display the respective avatar feature with variable display characteristics having a value corresponding to low certainty. For example, consider an embodiment in which an avatar includes an avatar head displayed (e.g., superimposed) over a user's head, and the avatar head includes avatar lips (e.g., 724) that represent the user's lip pose. A computer system (or another processing device) determines low certainty in the lip pose as the user's lips move (e.g., the lips move too fast for accurate detection, the user's lips are partially covered, etc.), but since it would be distracting to display an avatar with lips rendered with variable display characteristics having a value corresponding to low certainty or a lower certainty than high (e.g., maximum) certainty, the corresponding avatar lips may be rendered with variable display characteristics having a value corresponding to high (e.g., maximum) certainty.
[0147] In some embodiments, the variable display characteristic (e.g., 725, 830) indicates an estimated visual fidelity of the respective avatar feature (e.g., 727, 724, 723-1, 723-2, 722, 726, 721-2, 721-3, 721-4) with respect to the pose of the first portion of the user. In some embodiments, the visual fidelity represents the veracity of the displayed / rendered avatar (or a portion thereof) with respect to the pose of the portion of the user. In other words, the visual fidelity is a measure of how closely the displayed / rendered avatar (or a portion thereof) is believed to match the actual pose of the corresponding portion of the user. In some embodiments, whether an increase or decrease in the value of the variable display characteristic indicates increased or decreased visual fidelity depends on the type of variable display characteristic being utilized. For example, if the variable display characteristic is a blur effect, a larger value of the variable display characteristic (higher blur) conveys decreased visual fidelity, and vice versa. Conversely, when the variable display characteristic is particle density, a larger value of the variable display characteristic (larger particle density) conveys increased visual fidelity, and vice versa.
[0148] In method 900, presenting an avatar (e.g., 721) may include, in accordance with a determination (e.g., based on the pose data) that a pose of a first portion (e.g., 701-1, 701-2, 701-3, 701-4) of a user is associated with a first certainty value (e.g., the certainty value is a first certainty value), the computer system (e.g., 101) presents the avatar (e.g., 721) with respective avatar features (e.g., 727, 724, 723-1, 723-2, 722, 726, 721-2, 721-3, 721-4) having a first value of a variable display characteristic. (e.g., 727 has low density hatching 725 in FIG. 7C ; 721-3, 721-2, 723-1, 723-2, 722, and / or 724 have no hatching 725 in FIG. 7C ; portion 721-4 has low hatching density 725-1 on the left hand in FIG. 7C ) (e.g., each avatar feature is displayed having a first variable display characteristic value (e.g., blur amount, opacity, color, attenuation / density, resolution, etc.) indicative of a first estimated visual fidelity of the respective avatar feature with respect to the pose of the user's portion). In accordance with a determination that the pose of the user's first portion is associated with the first certainty value, presenting the avatar with each avatar feature having a first value of the variable display characteristic provides feedback to the user indicating certainty that the pose of the user's first portion represented by the respective avatar feature corresponds to an actual pose of the user's first portion. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently. In some embodiments, presenting the avatar with each avatar feature having a first value of the variable display characteristic includes presenting each avatar feature having a pose that is the same as a pose of the part of the user.
[0149] In the method 900, presenting an avatar (e.g., 721) includes, in accordance with a determination that a pose of a first portion (e.g., 701-1, 701-2, 701-3, 701-4) of the user is associated with a second certainty value different from (e.g., greater than) the first certainty value, the computer system (e.g., 101) presents (908) the avatar with a respective avatar feature (e.g., 727, 724, 723-1, 723-2, 722, 726, 721-2, 721-3, 721-4) having a second value of the variable display characteristic different from the first value of the variable display characteristic (e.g., 721-2 is represented as in FIG. 8 ). 8C with variable display characteristic 830; the avatar's left hand is not hatched in FIG. 8C; the avatar's left elbow is mostly not hatched 725 in FIG. 8C) (e.g., each avatar feature is displayed having a second variable display characteristic value (e.g., blur amount, opacity, color, attenuation / density, resolution, etc.) indicative of a second estimated visual fidelity of the respective avatar feature with respect to a pose of the user's portion, the second estimated visual fidelity being different from the first estimated visual fidelity (e.g., the second estimated visual fidelity being an estimate of a higher visual fidelity than the first estimated visual fidelity)) pursuant to a determination that the pose of the user's first portion is associated with the second certainty, feedback is provided to the user indicating a different certainty that the pose of the user's first portion represented by the respective avatar feature corresponds to an actual pose of the user's first portion. Providing improved feedback enhances operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.In some embodiments presenting the avatar with the respective avatar feature having the second value of the variable display characteristic includes presenting the respective avatar feature having a pose that is the same as a pose of the part of the user.
[0150] In some embodiments, the computer system (e.g., 101) receives second pose data representing a pose of at least a second portion (e.g., 701-2) of the user (e.g., 701) (e.g., a portion of the user different from the first portion of the user) and causes, via the display generation component (e.g., 730), an avatar (e.g., 721) to be presented (e.g., update the presented avatar). The avatar includes a second avatar feature (e.g., 721-2) that corresponds to the second portion of the user (e.g., the second portion of the user is the user's mouth and the second avatar feature is a representation of the user's mouth) and that presents a second variable display characteristic (e.g., the same variable display characteristic as the first variable display characteristic) that indicates certainty of the pose of the second portion of the user (e.g., 721-2 is displayed without hatching 725 indicating high certainty of the pose of 701-2). By presenting an avatar including a second avatar feature corresponding to a second portion of the user and presenting the avatar with a second variable display characteristic indicative of the certainty of the pose of the second portion of the user, feedback is provided to the user indicative of the confidence in the pose of the second portion of the user represented by the second avatar feature, and further providing feedback of varying confidence levels in the poses of different portions of the user. Providing improved feedback may improve operability of the computer system, make the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), as well as reduce power usage and improve battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0151] In some embodiments, presenting the avatar (e.g., 721) includes presenting the avatar with a second avatar feature having a first value of a second variable display characteristic (e.g., 721-2 is absent in FIG. 7C ) in accordance with a determination that a pose of the second portion of the user (e.g., 701-2) is associated with a third certainty value (e.g., 710-2 is absent in FIG. 7B ). Presenting the avatar with a second avatar feature having a first value of a second variable display characteristic in accordance with a determination that a pose of the second portion of the user is associated with a third certainty value provides feedback to the user indicating certainty that the pose of the second portion of the user represented by the second avatar feature corresponds to an actual pose of the second portion of the user, and further provides feedback of varying confidence levels in the poses of different portions of the user. Providing improved feedback enhances operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0152] In some embodiments, presenting the avatar (e.g., 721) includes presenting the avatar with a second avatar feature having a second value of the second variable display characteristic that is different from the first value of the second variable display characteristic in accordance with a determination that a posture of the second portion of the user (e.g., 701-2) is associated with a fourth certainty value that is different from the third certainty value (e.g., 811-3 and 811-4 have dense hatching 715 in FIG. 8B ). (e.g., avatar 721 is presented with the right arm of the avatar (including portion 721-2) having a variable display characteristic, smoke effect 830 (e.g., in some embodiments, similar to that represented by hatching 725). In accordance with a determination that a posture of the second portion of the user is associated with a fourth certainty value, different from the third certainty value (e.g., 811-3 and 811-4 have dense hatching 715 in FIG. 8B ). By presenting an avatar having a second avatar feature having a value of , feedback is provided to the user indicating different degrees of certainty that the pose of the second portion of the user represented by the second avatar feature corresponds to an actual pose of the second portion of the user, and further providing feedback of varying confidence levels in the poses of the different portions of the user. Providing improved feedback enhances operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0153] In some embodiments, presenting the avatar (e.g., 721) includes determining whether the third certainty value corresponds to (e.g., equals, is the same as) the first certainty value (e.g., the certainty of the pose of a first portion of the user is 50%, 55%, or 60% and the certainty of the pose of a second portion of the user is also 50%, 55%, or 60%) (e.g., in FIG. 7B , the certainty of the user's right elbow has a medium hatch density as shown in portion 710-6 of certainty map 710 and the certainty of the user's left elbow also has a medium hatch density). The first value of the display characteristic corresponds to (e.g., is equal to, the same as) the first value of the variable display characteristic (e.g., in FIG. 7C , both the left elbow and right elbow of the avatar have medium hatching density) (e.g., both the variable display characteristic and the second variable display characteristic have values that indicate 50%, 55%, or 60% certainty of the posture of the respective part of the user (e.g., the first value of the variable display characteristic indicates 50%, 55%, or 60% certainty of the posture of the first part of the user, and the first value of the second variable display characteristic indicates 50%, 55%, or 60% certainty of the posture of the second part of the user)).
[0154] In some embodiments, presenting the avatar (e.g., 721) includes displaying the second variable display feature in accordance with a determination that the fourth certainty value corresponds to (e.g., is equal to, the same as) the second certainty value (e.g., the certainty of the pose of a first portion of the user is 20%, 25%, or 30% and the certainty of the pose of a second portion of the user is 20%, 25%, or 30%) (e.g., in FIG. 7B , the certainty of the pose of the user's right upper arm has a low hatch density as shown in portion 710-9 of the certainty map 710, and the certainty of the pose of the user's left upper arm also has a low hatch density). The second value of the variable display characteristic corresponds to (e.g., equal to, the same as) the second value of the variable display characteristic (e.g., in FIG. 7C , both the left upper arm and the right upper arm of the avatar have low hatching density) (e.g., both the variable display characteristic and the second variable display characteristic have values that indicate 20%, 25%, or 30% certainty of the posture of the respective part of the user (e.g., the second value of the variable display characteristic indicates 20%, 25%, or 30% certainty of the posture of the first part of the user, and the second value of the second variable display characteristic indicates 20%, 25%, or 30% certainty of the posture of the second part of the user)).
[0155] In some embodiments, each first portion of the avatar feature and user has the same relationship between certainty and the value of the variable display property (e.g., visual fidelity) as a second avatar feature and a second portion of the user. For example, the certainty of the posture of the first portion of the user corresponds directly to the value of the variable display property, and the certainty of the posture of the second portion of the user corresponds directly to the value of the second variable display property. This is shown in the following examples illustrating different changes in certainty values: if the certainty of the posture of the first portion of the user decreases by 5%, 7%, or 10%, the value of the variable display property is adjusted by an amount indicative of the 5%, 7%, or 10% decrease in certainty (e.g., directly or proportionally mapped between the certainty and the value of the variable display property), and if the certainty of the posture of the second portion of the user increases by 10%, 15%, or 20%, the value of the second display property is adjusted by an amount indicative of the 10%, 15%, or 20% increase in certainty (e.g., directly or proportionally mapped between the certainty and the value of the second variable display property).
[0156] In some embodiments, the method 900 determines whether the first value of the second variable display characteristic does not correspond to the first value of the variable display characteristic in accordance with a determination that the third certainty value corresponds to (e.g., is equal to, the same as) the first certainty value (e.g., the certainty of the pose of the first portion of the user is 50%, 55%, or 60% and the certainty of the pose of the second portion of the user is also 50%, 55%, or 60%) (e.g., in FIG. 7B , both portions 710-2 and 710-1 are not hatched as shown in the certainty map 710). (e.g., not equal to, different from) (e.g., portion 721-2 of the avatar has no hatching and neck portion 727 of the avatar has hatching 725) (e.g., the variable display characteristic and the second variable display characteristic have values that indicate different amounts of certainty of the posture of the respective portion of the user (e.g., a first value of the variable display characteristic indicates 50%, 55%, or 60% certainty of the posture of the first portion of the user, and a first value of the second variable display characteristic indicates 20%, 25%, or 30% certainty of the posture of the second portion of the user)).
[0157] In some embodiments, the method 900 determines whether a second value of the second variable display characteristic corresponds to (e.g., is equal to, the same as) a second certainty value (e.g., the certainty of the posture of the first portion of the user is 20%, 25%, or 30% and the certainty of the posture of the second portion of the user is 20%, 25%, or 30%) (e.g., in FIG. 7B , portions 710-7 and 710-5 both have low density hatching 715 as shown in the certainty map 710). the left eye 723-2 of the avatar has no hatching and the collar portion 727 of the avatar has hatching 725) (e.g., the variable display characteristic and the second variable display characteristic have values indicating different amounts of certainty of the posture of the respective portion of the user (e.g., the second value of the variable display characteristic indicates 20%, 25%, or 30% certainty of the posture of the first portion of the user, and the second value of the second variable display characteristic indicates 40%, 45%, or 50% certainty of the posture of the second portion of the user)).
[0158] In some embodiments, the relationship between certainty and the value of the variable display characteristic (e.g., visual fidelity) for the second avatar feature and the second portion of the user is different than for the respective avatar feature and the first portion of the user. For example, in some embodiments, the value of the variable display characteristic is selected to indicate a certainty that is different from the actual certainty of the pose.
[0159] For example, in some embodiments, the value of the variable display characteristic indicates a higher degree of certainty than is actually associated with the corresponding user feature. This may be done, for example, if the feature is deemed important for communication. In this example, rendering the corresponding avatar feature with a variable display characteristic having a value indicating a precise level of certainty would be distracting, so rendering the feature with a variable display characteristic having a value indicating a higher degree of certainty (e.g., a high-fidelity representation of the respective avatar feature) would improve communication.
[0160] As another example, in some embodiments, the value of the variable display characteristic indicates a lower certainty than is actually associated with the corresponding user feature. This may be done, for example, if the feature is deemed unimportant to communication. In this example, rendering the feature with a variable display characteristic having a value indicating a lower certainty (e.g., a low-fidelity representation of the respective avatar feature) reserves computational resources that are typically expanded when rendering the respective avatar feature with a variable display characteristic having a value indicating a higher certainty (e.g., a high-fidelity representation of the respective avatar feature). Because the user feature is deemed unimportant to communication, computational resources may be reserved without sacrificing the effectiveness of communication.
[0161] In some embodiments, a computer system (e.g., 101) receives updated posture data representing a posture change of a first portion (e.g., 701-1, 701-2, 701-3, 701-4) of a user (e.g., 701). In response to receiving the updated posture data, the computer system updates a representation of an avatar (e.g., 721), including updating a posture of a respective avatar feature based on the posture change (e.g., at least one of its magnitude or direction) of the first portion of the user (e.g., the posture of each avatar feature is updated by a magnitude and / or in a corresponding direction corresponding to the magnitude and / or direction of the posture change of the first portion of the user) (e.g., when the left hand of user 701 moves from the upright posture of FIG. 7A to a position on wall 805 of FIG. 8A, the left hand of avatar 721 moves from the upright posture of FIG. 7C to a position on the wall of FIG. 8C). By updating the posture of the respective avatar features based on the posture changes of the first portion of the user, feedback is provided to the user indicating that the movement of the first portion of the user causes the computer system to modify the respective avatar features accordingly. This provides a control scheme for manipulating and / or compositing a virtual avatar using a display generation component, where the computer system processes input in the form of changes to the user's physical features (as well as the magnitude and / or direction of those changes) including the first portion of the user, and provides feedback in the form of the appearance of the virtual avatar. This improves visual feedback to the user regarding the posture changes of the user's physical features. This improves the operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the computer system more quickly and efficiently. In some embodiments, the position of the avatar is updated based on the movement of the user. For example, the avatar is updated in real time to mirror the movement of the user.For example, if a user puts their arms behind their back, the avatar will be displayed with their arms moved behind their back, mirroring the user's movement.
[0162] In some embodiments, updating the representation of the avatar (e.g., 721) includes modifying a variable display characteristic of each displayed avatar feature in addition to modifying a position of at least a portion of the avatar based on the posture change of the user's first portion in response to a change in the posture certainty of the user's first portion during the posture change of the user's first portion (e.g., as the user's right hand moves from the posture of FIG. 7A to the posture of FIG. 8A, the corresponding avatar feature (the avatar's right hand) changes from unhatched in FIG. 7C to having smoked characteristic 830 in FIG. 8C). By modifying a variable display characteristic of each displayed avatar feature in addition to modifying a position of at least a portion of the avatar based on the posture change of the user's first portion, feedback is provided to the user that the posture certainty of the respective avatar feature is affected by the posture change of the user's first portion. Providing improved feedback enhances operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the computer system more quickly and efficiently.
[0163] In some embodiments, updating the representation of the avatar includes modifying (e.g., increasing or decreasing, depending on the type of variable display characteristic) a current value of a variable display characteristic based on an increase in certainty in the pose of the first part of the user (e.g., modifying the variable display characteristic) in accordance with a determination that the certainty of a pose of the first part of the user has increased based on updated pose data representing a change in the pose of the first part of the user (e.g., the first part of the user moves to a position where the certainty of the first part of the user increases (e.g., the user's hand moves from a position that is outside the field of view of the sensor (where the camera, or other sensor, cannot clearly capture the position of the hand) to a position within the field of view of the sensor (where the camera can clearly capture the position of the hand)) (e.g., the user's hand moves from behind an object, such as a cup, to in front of the object)).
[0164] In some embodiments, updating the representation of the avatar includes modifying (e.g., increasing or decreasing, depending on the type of variable display characteristic) a current value of a variable display characteristic based on a decrease in certainty in a pose of the first part of the user (e.g., modifying the variable display characteristic) pursuant to a determination that the certainty of a pose of the first part of the user has decreased based on updated pose data representing a change in the pose of the first part of the user (e.g., the first part of the user moves to a position where the certainty of the first part of the user decreases (e.g., the user's hand moves from a position within the field of view of the sensor (where the camera, or other sensor, can clearly capture the position of the hand) to a position that is outside the field of view of the sensor (where the camera cannot clearly capture the position of the hand)) (e.g., the user's hand moves from in front of an object, such as a cup, to behind the object) (e.g., the user's hand is outside the field of view of the sensor or is obscured by the cup in the updated position, so the certainty of the pose of the user's hand has decreased and the value of the variable display characteristic is adjusted accordingly (e.g., increased or decreased, depending on the type of variable display characteristic)).
[0165] In some embodiments, the certainty of the posture of the first part of the user (e.g., the user's hand) changes (e.g., increases or decreases) as the first part of the user moves, and the value of the variable display characteristic is updated in real time to match the change in certainty. In some embodiments, the change in the value of the variable display characteristic is represented as a smooth, gradual change of the variable display characteristic applied to the respective avatar feature. For example, referring to an embodiment in which the certainty value changes as the user moves the hand to or from a position that is outside the field of view of the sensor, if the variable display characteristic corresponds to a density of particles, the density of the particles that include the avatar's hand increases progressively in line with the increase in certainty in the position of the user's hand as the user moves the hand into the field of view of the sensor. Conversely, the density of the particles that include the avatar's hand decreases progressively in line with the decrease in certainty in the position of the user's hand as the user moves the hand from the field of view of the sensor to a position that is outside the field of view. Similarly, if the variable display characteristic is a blur effect, the amount of blur applied to the avatar's hand decreases progressively in line with the increase in certainty in the position of the user's hand as the user moves the hand into the field of view of the sensor. Conversely, the amount of blur applied to the avatar's hands increases progressively as the user moves their hands out of the sensor's field of view, consistent with the decreasing certainty in the location of the user's hands.
[0166] In some embodiments, presenting the avatar includes: 1) presenting an avatar (e.g., 721) with a respective avatar feature having a third value of the variable display characteristic (e.g., 721-2, 721-3, 721-4, 723-1, 724, 722 are displayed without hatching in FIG. 7C ) in accordance with a determination that the pose data satisfies a first set of criteria that are met when a first portion of the user (e.g., the user's hands and / or face) is detected by a first sensor (e.g., 705-1, 705-2, 705-4) (e.g., the user's hands and / or face are visible to, detected by, or identified by a camera or other sensor). 8C ) (e.g., the first portion of the user is not detected by the sensor and therefore the respective avatar feature is represented with a lower fidelity) pursuant to a determination that the pose data does not satisfy the first set of criteria (e.g., the user's hands are outside the field of view 707-2 of FIG. 8A ) (e.g., the user's hands and / or face are not visible to, detected by, or identified by the camera or other sensor), presenting the avatar with a respective avatar feature having a fourth value of the variable display characteristic that indicates a lower certainty value than the third value of the variable display characteristic (e.g., the avatar's right hand is displayed in FIG. 8C as having a variable display characteristic indicated by a smoke effect 830) (e.g., the first portion of the user is not detected by the sensor and therefore the respective avatar feature is represented with a lower fidelity). By presenting the avatar with a respective avatar feature having either the third value of the variable display characteristic or the fourth value of the variable display characteristic depending on whether the first portion of the user is detected by the first sensor, feedback is provided to the user that the certainty of the pose of the respective avatar feature is affected by whether the first portion of the user is detected by the sensor.Providing improved feedback enhances operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the computer system more quickly and efficiently.
[0167] In some embodiments, while a respective avatar feature having a current value of a variable display characteristic is presented (e.g., the avatar's hand 721-2 is not hatched in FIG. 7C ) (e.g., a first value of the variable display characteristic) (e.g., a second value of the variable display characteristic) (e.g., the current value of the variable display characteristic corresponds to a current visual fidelity of the respective avatar feature with respect to a first portion of the user), the computer system (e.g., 101) receives updated posture data representing a change in posture of the first portion of the user (e.g., the user moves his / her hand).
[0168] In response to receiving the updated pose data, the computer system (eg, 101) updates the display of the avatar. In some embodiments, updating the representation of the avatar includes decreasing a current value of a variable display characteristic in accordance with a determination that the updated pose data represents a change in a pose of a first portion of the user from a first position within the field of view of the sensor (e.g., within the field of view of the sensor, visible to the sensor) to a second position outside the field of view of the sensor (e.g., the user's right hand moves from within the field of view 707-2 of FIG. 7A to outside the field of view 707-2 of FIG. 8A) (e.g., outside the field of view of the sensor, not visible to the sensor) (e.g., the hand moves from a position within the field of view of the sensor (e.g., camera) to a position not within the field of view of the sensor) (e.g., the avatar's hand 721-2 is represented by no hatching in FIG. 7C and by a smoke effect 830 in FIG. 8C) (e.g., the decreased value of the variable display characteristic corresponds to decreased visual fidelity of the respective avatar feature with respect to the first portion of the user) (e.g., the respective avatar feature transitions to a display characteristic value indicative of decreased certainty in the updated pose of the user's hand). In accordance with a determination that the updated pose data represents a change in pose of the first portion of the user from a first position within the field of view of the sensor to a second position outside the field of view of the sensor, feedback is provided to the user that moving the first portion of the user from within the field of view of the sensor to outside the field of view of the sensor caused a change in certainty (e.g., a decrease in certainty) of the pose of the respective avatar feature by decreasing the current value of the variable display characteristic. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and additionally reduces power usage and improves battery life of the computer system by allowing the user to use the computer system more quickly and efficiently.
[0169] In some embodiments, updating the representation of the avatar includes increasing a current value of a variable display characteristic in accordance with a determination that the updated pose data represents a change in the pose of the first portion of the user from the second position to the first position (e.g., the hand moves from a position that is outside the field of view of a sensor (e.g., a camera) to a position that is within the field of view of the sensor) (e.g., moving portion 701-2 from the position of FIG. 8A to the position of FIG. 7A) (e.g., portion 721-2 of the avatar is displayed without hatching in FIG. 7C and in FIG. 8C portion 721-2 is replaced with a smoke effect 830) (e.g., the increased value of the variable display characteristic corresponds to increased visual fidelity of the respective avatar feature with respect to the first portion of the user) (e.g., the respective avatar feature transitions to a display characteristic value that indicates a decrease in certainty in the updated pose of the user's hand) (e.g., the respective avatar feature transitions to a display characteristic value that indicates an increase in certainty in the updated pose of the user's hand). In accordance with a determination that the updated pose data represents a change in pose of the first portion of the user from the second position to the first position, feedback is provided to the user that moving the first portion of the user from outside the field of view of the sensor into the field of view of the sensor caused a change in certainty (e.g., an increase in certainty) of the pose of the respective avatar feature by increasing the current value of the variable display characteristic. Providing improved feedback enhances operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and additionally reduces power usage and improves battery life of the computer system by allowing the user to use the computer system more quickly and efficiently.
[0170] In some embodiments, the current value of the variable display characteristic is decreased at a first rate (e.g., when the hand moves to a position that is outside the field of view of the sensor, the decrease occurs at a slower rate (e.g., a slower rate than the detected movement of the hand)) and the current value of the variable display characteristic is increased at a second rate that is higher than the first rate (e.g., when the hand moves to a position that is within the field of view of the sensor, the increase occurs at a faster rate (e.g., a faster rate than the decrease rate)). By decreasing the current value of the variable display characteristic at the first rate and increasing the current value of the variable display characteristic at a second rate that is higher than the first rate, feedback is provided to the user as to when increasing certainty in the pose of the respective avatar feature is ascertained. Providing improved feedback improves operability of the computer system, makes the user system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the computer system more quickly and efficiently.
[0171] In some embodiments, decreasing the current value of the variable display characteristic includes decreasing the current value of the variable display characteristic at a first rate in accordance with a determination that the second location corresponds to a known position of a first part of a user (e.g., the computer system knows the location of the hand even if the user's hand is positioned outside the field of view of the sensor) (e.g., the decrease in the variable display characteristic (e.g., visual fidelity) occurs at a slower rate (e.g., slower than the desired movement of the hand) as the hand moves to a known position outside the field of view of the sensor). In some embodiments, the location of the first part of a user can be determined, for example, by inferring the location (or a rough location) using other data. For example, the user's hand may be outside the field of view of the sensor, but the user's forearm is within the field of view, and thus the location of the hand can be determined based on the known location of the forearm. As another example, the user's hand may be positioned behind the user and thus outside the field of view of the sensor, but the location of the hand is (at least roughly) known based on the position of the user's arm. In some embodiments, decreasing the current value of the variable display characteristic includes decreasing the current value of the variable display characteristic at a second rate that is higher than the first rate in accordance with a determination that the second position corresponds to a known location of the first portion of the user (e.g., the decrease in the variable display characteristic (e.g., visual fidelity) occurs at a higher rate (e.g., faster than when the hand position is known) when the hand moves to an unknown position outside the sensor's field of view).
[0172] In some embodiments, the first value of the variable display characteristic represents a higher visual fidelity of the respective avatar feature with respect to a pose of the first portion of the user than the second value of the variable display characteristic. In some embodiments, presenting the avatar includes: 1) associating a pose of the first portion of the user with a second certainty value in accordance with a determination that the first portion of the user corresponds to the subset of physical features (e.g., the user's arms and shoulders) (e.g., the respective avatar feature is represented with a lower fidelity because the first portion of the user corresponds to the user's arms and / or shoulders) (e.g., the neck and collar region 727 of the avatar is represented with hatching 725 in FIG. 7C ); and 2) associating a pose of the first portion of the user with a first certainty value in accordance with a determination that the first portion of the user does not correspond to the subset of physical features (e.g., the respective avatar feature is represented with a higher fidelity because the first portion of the user does not correspond to the user's arms and / or shoulders) (e.g., the mouth 724 is rendered without hatching in FIG. 7C ). By associating a pose of a first portion of a user with a first certainty value or a second certainty value depending on whether the first portion of the user corresponds to a subset of physical features, computational resources are conserved (thereby using less power and improving battery life) by forgoing the generation and display of features with high fidelity (e.g., rendering features with lower fidelity) when these features are less important for communication purposes, even if the certainty of these features is high. In some embodiments, the user's arms and shoulders are shown (via an avatar) with variable display characteristics that indicate lower fidelity when they are not within the field of view of the sensor or when they are not considered to be important features for communication. In some embodiments, features considered important for communication include eyes, mouth, and hands.
[0173] In some embodiments, while the avatar (e.g., 721) is presented with a respective avatar feature having a first value of the variable display characteristic, the computer system (e.g., 101) updates a representation of the avatar, including: 1) presenting the avatar with a respective avatar feature having a first modified value of the variable display characteristic (e.g., based on a decreased confidence value) in accordance with a determination that the moving speed of the first portion of the user is a first moving speed of the first portion of the user; and 2) presenting the avatar with a respective avatar feature having a second modified value of the variable display characteristic (e.g., based on an increased confidence value) in accordance with a determination that the moving speed of the first portion of the user is a second moving speed of the first portion of the user that is different from (e.g., lower than) the first moving speed. When the speed of movement of the first portion of the user is a first speed of movement, the avatar is presented with the respective avatar feature having a first altered value of the variable display characteristic, and when the speed of movement of the first portion of the user is a second speed of movement, the avatar is presented with the respective avatar feature having a second altered value of the variable display characteristic, thereby providing feedback to the user indicating that variations in the speed of movement of the first portion of the user affect the certainty of the pose of the respective avatar feature. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and additionally reduces power usage and improves battery life of the computer system by allowing the user to use the computer system more quickly and efficiently.
[0174] In some embodiments, as the speed of movement of the first portion of the user increases, the certainty of the position of the first portion of the user decreases (e.g., based on sensor limitations, e.g., the frame rate of the camera), resulting in a corresponding change in the value of the variable display characteristic. For example, if the variable display characteristic corresponds to the density of particles comprising the respective avatar feature, a decrease in the certainty value reduces the density of the particles, indicating less certainty in the pose of the first portion of the user. In another example, if the variable display characteristic is a blur effect applied to the respective avatar feature, a decrease in the certainty value increases the blur effect to indicate less certainty in the pose of the first portion of the user. In some embodiments, as the speed of movement of the first portion of the user decreases, the certainty of the position of the first portion of the user increases, resulting in a corresponding change in the value of the variable display characteristic. For example, if the variable display characteristic corresponds to the density of particles comprising the respective avatar feature, an increase in the certainty value increases the density of the particles, indicating more certainty in the pose of the first portion of the user. In another example, if the variable display characteristic is a blurring effect applied to each avatar feature, as the certainty value increases, the blurring effect is decreased to indicate greater certainty in the pose of the first part of the user.
[0175] In some embodiments, the computer system (e.g., 101) includes changing the value of the variable display characteristic (e.g., 725, 830) to change one or more visual parameters of the respective avatar feature (e.g., changing the value of the variable display characteristic 725 and / or the visual effect 830 as discussed with respect to avatar 721 of FIGS. 7C and 8C). By changing the one or more visual parameters of the respective avatar feature when changing the value of the variable display characteristic, feedback is provided to the user indicating a change in the reliability of the pose of the first portion of the user represented by the respective avatar feature. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and additionally reduces power usage and improves battery life of the computer system by allowing the user to use the computer system more quickly and efficiently.
[0176] In some embodiments, changing the value of the variable display characteristic corresponds to changing the value of one or more visual parameters (e.g., increasing the value of the variable display characteristic can correspond to increasing the amount of blurring, pixelation, and / or color of a respective avatar feature). Thus, the variable display characteristic can be modified, altered, and / or tuned using methods provided herein for modifying one or more visual parameters described herein.
[0177] In some embodiments, the one or more visual parameters include blurriness (e.g., or sharpness). In some embodiments, the blurriness or sharpness of each avatar feature is altered to indicate an increase or decrease in certainty in the pose of the first portion of the user. For example, increasing the blurriness (reducing the sharpness) indicates a decrease in certainty in the pose of the first portion of the user, and decreasing the blurriness (increasing the sharpness) indicates an increase in certainty in the pose of the first portion of the user. For example, in FIG. 7C, an increased density of hatching 725 represents a higher blurriness and a decreased hatching density represents a lower blurriness. Thus, an avatar 721 is displayed with a blurred waist and a less blurred (sharper) chest.
[0178] In some embodiments, the one or more visual parameters include opacity (e.g., or transparency). In some embodiments, the opacity or transparency of each avatar feature is altered to indicate an increase or decrease in certainty in the pose of the first portion of the user. For example, increasing the opacity (decreasing transparency) indicates an increase in certainty in the pose of the first portion of the user, and decreasing the opacity (increasing transparency) indicates a decrease in certainty in the pose of the first portion of the user. For example, in FIG. 7C, an increased density of hatching 725 represents a higher transparency (lower opacity) and a decreased hatching density represents a lower transparency (higher opacity). Thus, an avatar 721 is displayed with a more transparent waist and a less transparent (more opaque) chest.
[0179] In some embodiments, the one or more visual parameters include color. In some embodiments, the color of each avatar feature is changed to indicate an increase or decrease in certainty of the user's first portion pose, as described above. For example, a skin-tone color may be presented to indicate an increase in certainty in the user's first portion pose, and a non-skin-tone color (e.g., green, blue) may be presented to indicate a decrease in certainty in the user's first portion pose. For example, in FIG. 7C , regions of avatar 721 without hatching 725, such as portion 721-2, are displayed using a skin-tone color (e.g., brown, black, tan, etc.), and regions with hatching 725, such as neck and collar region 727, are displayed using a non-skin-tone color.
[0180] In some embodiments, the one or more visual parameters include the density of particles that comprise the respective avatar features, as described above with respect to the various variable display characteristics of avatar 721.
[0181] In some embodiments, the density of particles including the respective avatar features includes the spacing (e.g., average distance) between particles including the respective avatar features. In some embodiments, increasing the density of particles includes decreasing the spacing between particles including the respective avatar features, and decreasing the density of particles includes increasing the spacing between particles including the respective avatar features. In some embodiments, the density of particles is altered to indicate an increase or decrease in certainty in the pose of the first portion of the user. For example, increasing the density (reducing the spacing between particles) indicates an increase in certainty in the pose of the first portion of the user, and decreasing the density (increasing the spacing between particles) indicates an increase in certainty in the pose of the first portion of the user. For example, in FIG. 7C, increased density hatching 725 represents larger particle spacing, and decreased hatching density represents smaller particle spacing. Thus, in this example, an avatar 721 is displayed with high particle spacing at the waist and small particle spacing at the chest.
[0182] In some embodiments, the density of the particles comprising the respective avatar features comprises the size of the particles comprising the respective avatar features. In some embodiments, increasing the density of the particles comprises decreasing the size of the particles comprising the respective avatar features (e.g., to create a less pixelated appearance), and decreasing the density of the particles comprises increasing the size of the particles comprising the respective avatar features (e.g., to create a more pixelated appearance). In some embodiments, the density of the particles is altered to indicate an increase or decrease in certainty in the pose of the first portion of the user. For example, increasing the density indicates an increase in certainty in the pose of the first portion of the user by decreasing the size of the particles to provide a higher level of detail and / or resolution of the respective avatar features. Similarly, decreasing the density indicates a decrease in certainty in the pose of the first portion of the user by increasing the size of the particles to provide a lower level of detail and / or resolution of the respective avatar features. In some embodiments, the density may be a combination of particle size and spacing, and these factors may be adjusted to indicate a higher or lower certainty in the pose of the first portion of the user. For example, smaller, spaced apart particles may indicate a reduced density (and reduced certainty) compared to larger, less spaced particles (indicating greater certainty). For example, in Figure 7C, increased density hatching 725 represents larger particle size, and decreased hatching density represents smaller particle size. Thus, in this example, avatar 721 is displayed with a large particle size at the waist (where the waist appears more highly pixelated) and a smaller particle size at the chest (where the chest appears less pixelated than the waist).
[0183] In some embodiments, the computer system (e.g., 101) includes modifying the value of the variable display characteristic and presenting (e.g., introducing display of the visual effect) a visual effect (e.g., 830) associated with the respective avatar feature. By presenting the visual effect associated with the respective avatar feature when modifying the value of the variable display characteristic, feedback is provided to the user that the confidence of the posture of the first portion of the user represented by the respective avatar feature is below a threshold confidence level. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the computer system more quickly and efficiently. In some embodiments, the visual effect is displayed when the corresponding portion of the user is at or below a threshold confidence value and is not displayed above the threshold confidence value. For example, if the confidence of the posture of the corresponding portion of the user is below a 10% confidence value, the visual effect for the respective avatar feature is displayed. For example, a visual effect may be a smoke effect or fish scale that is displayed on the avatar's elbow when the user's elbow is outside the camera's field of view.
[0184] In some embodiments, the first portion of the user includes a first physical feature (e.g., the user's mouth) and a second physical feature (e.g., the user's ear or nose). In some embodiments, the first value of the variable display characteristic represents a higher visual fidelity of the respective avatar feature with respect to a pose of the first physical feature of the user than the second value of the variable display characteristic. In some embodiments, presenting the avatar with each avatar feature having a second value of the variable display characteristic includes presenting an avatar (e.g., 721) with a rendering of a first physical feature based on a corresponding physical feature of the user (e.g., the mouth of the avatar in FIG. 7C is the same as the user's mouth 724 in FIG. 7A), and a rendering of a second physical feature based on a corresponding physical feature that is not that of the user (e.g., the nose 722 of the avatar in FIG. 7C is not the same as the user's nose in FIG. 7A) (e.g., the avatar includes the user's mouth (e.g., presented using a video feed of the user's mouth) and the avatar includes ears (or nose) that are not the user's ears (or nose) (e.g., the ears (or nose) are from another person or are mimicked based on a machine learning algorithm)). By presenting an avatar with a rendering of a first physical feature based on a corresponding physical feature of the user and a rendering of a second physical feature based on a corresponding physical feature not of the user, computational resources are conserved (thereby reducing power usage and improving battery life) by forgoing high fidelity generation and display (e.g., rendering some features as being based on corresponding physical features not of the user) when these features are less important for communication purposes, even if the certainty of these features is high,
[0185] In some embodiments, when an avatar is presented with variable display characteristics indicative of low fidelity (e.g., low certainty), the user's physical features deemed important for communication (e.g., eyes, mouth, hands) are rendered based on the user's actual appearance, and other physical features are rendered based on other than the user's actual appearance. That is, physical features deemed important for communication are retained at high fidelity, e.g., using a video feed of the features, and physical features deemed not important for communication (e.g., bone structure, hairstyle, ears, etc.) are rendered, e.g., using similar features selected from a database of avatar features, or using computer-generated features derived based on machine learning algorithms. By rendering the avatar with variable display characteristics indicative of low fidelity (e.g., low certainty), such that important communication features are based on the appearance of the user's corresponding physical features, and non-important features are based on a different appearance, computational resources are conserved while preserving the ability to effectively communicate with the user represented by the avatar. For example, computational resources are conserved by rendering non-important features with variable display characteristics indicative of low fidelity. However, if important communication features are rendered in this manner, communication will be hindered as they will not match the corresponding physical features of the user, which can be distracting and even confuse the identity of the user represented with the avatar. Thus, to ensure that communication is not hindered, important communication features are rendered with high fidelity, thereby ensuring the ability to communicate effectively while still conserving computational resources.
[0186] In some embodiments, the posture data is generated from multiple sensors (eg, 705-1, 705-2, 705-3, 705-4, 810).
[0187] In some embodiments, the plurality of sensors includes one or more camera sensors (e.g., 705-1, 705-2, 705-3, 705-4) associated with (e.g., including) a computer system (e.g., 101). In some embodiments, the computer system includes one or more cameras configured to capture posture data. For example, the computer system is a headset device having a camera positioned to detect one or more user postures within the physical environment around the headset.
[0188] In some embodiments, the plurality of sensors includes one or more camera sensors separate from the computer system. In some embodiments, the pose data is generated using one or more cameras separate from the computer system and configured to capture pose data representative of the user's pose. For example, the cameras separate from the computer system may include a smartphone camera, a desktop camera, and / or a camera from a headset device worn by the user. Each of these cameras may be configured to generate at least a portion of the pose data by capturing the user's pose. In some embodiments, the pose data is generated from multiple camera sources that provide a position or pose of the user (or parts of the user) from different angles and perspectives.
[0189] In some embodiments, the plurality of sensors includes one or more non-visual sensors (e.g., 810) (e.g., sensors that do not include a camera sensor). In some embodiments, the attitude data is generated using one or more non-visual sensors (e.g., accelerometers, gyroscopes, etc.), such as, for example, a proximity sensor or sensors in a smartwatch.
[0190] In some embodiments, the pose of at least a first portion of the user is determined using an interpolation function (e.g., the pose of the avatar's left hand in portion 721-4 of FIG. 7C is interpolated). In some embodiments, the first portion of the user is obscured by an object (e.g., cup 702). For example, the user is holding a coffee mug such that the tips of the user's fingers are visible to the sensors capturing the pose data, but the proximal regions of the hand and fingers are positioned behind the mug such that they are hidden from the sensors capturing the pose data. In this example, the computer system can perform an interpolation function based on the detected finger tips, the user's wrist, or a combination thereof to determine a rough pose of the user's fingers and the back of the hand. This information can be used to increase the certainty of the pose of these features. For example, these features can be represented using a variable display characteristic that indicates a very high certainty of the pose of these features (e.g., 99%, 95%, 90% certainty).
[0191] In some embodiments, the pose data includes data generated from prior scan data (e.g., data (e.g., depth data) from a prior body or face scan) that captures information about the appearance of a user of the computer system (e.g., 101). In some embodiments, the scan data includes data generated from a scan of the user's body or face (e.g., depth data). For example, this may be data derived from a face scan to unlock or access a device (e.g., a smartphone, smartwatch, or HMD), or data derived from a media library that includes photos and videos that include depth data. In some embodiments, the pose data generated from prior scan data can be used to supplement the pose data to increase understanding of the current pose of parts of the user (e.g., based on poses of known parts of the user). For example, if a user's forearm is a known length (e.g., 28 inches long), then possible hand positions can be determined based on the position of the elbow and part of the forearm and their angles. In some embodiments, pose data generated from prior scan data can be used to increase the visual fidelity of a replica of a portion of a user that is not visible to the computer system's sensors (e.g., by providing eye color, jaw shape, ear shape, etc.). For example, if a user is wearing a hat that covers the ears, prior scan data can be used to increase the certainty of the pose (e.g., position and / or orientation) of the user's ears based on the prior scan that can be used to derive pose data for the user's ears. In some embodiments, the device that generates the replica of the user's portion is separate from the device (e.g., smartphone, smartwatch, HMD), and data from the face scan is provided to the device that generates the replica of the user's portion for use in constructing the replica of the user's portion (e.g., securely and privately with one or more options for the user to decide whether or not to share data between devices).In some embodiments, the device that generates the replica of the user's part is the same device (e.g., smartphone, smartwatch, HMD) and data from the face scan is provided to the device that generates the replica of the user's part for use in constructing the replica of the user's part (e.g., the face scan is used to unlock the HMD that generates the replica of the user's part).
[0192] In some embodiments, the pose data includes data generated from prior media data (e.g., photos and / or videos of the user). In some embodiments, the prior media data includes image data and, optionally, depth data associated with previously captured photos and / or videos of the user. In some embodiments, prior media data can be used to supplement the pose data to increase certainty of a current pose of the user's parts. For example, if the user is wearing glasses that hide the eyes from sensors capturing the pose data, prior media data can be used to increase certainty of the pose (e.g., position and / or orientation) of the user's eyes based on existing photos and / or videos that can be accessed (e.g., securely and privately with one or more options for the user to decide whether or not to share data between devices) to derive the user's eye pose data.
[0193] In some embodiments, the pose data includes video data (e.g., video feed) including at least a first portion (e.g., 701-1) of the user. In some embodiments, presenting the avatar includes presenting a modeled avatar (e.g., 721) (e.g., a three-dimensional computer-generated model of the avatar) including respective avatar features (e.g., avatar's mouth 724, avatar's right eye 723-1) rendered using the video data including the first portion of the user. In some embodiments, the modeled avatar is a three-dimensional computer-generated avatar, and the respective avatar features are rendered as a video feed of the first portion of the user mapped onto the modeled avatar. For example, the avatar may be a three-dimensional mimic avatar model (e.g., green) including eyes shown as a video feed of the user's eyes.
[0194] In some embodiments, presenting the avatar includes: 1) presenting the avatar with a first amount (e.g., a percentage, amount) of the respective avatar feature and other avatar feature in accordance with a determination that input is received (e.g., before, during, or after causing the avatar to be rendered) indicating a first rendering value (e.g., a low rendering value) for the avatar; and 2) presenting the avatar with a second amount (e.g., a percentage, amount) of the respective avatar feature and other avatar feature in accordance with a determination that input is received (e.g., before, during, or after causing the avatar to be rendered) indicating a second rendering value (e.g., a high rendering value) for the avatar that is different from the first rendering value, presenting the avatar with a second amount (e.g., a percentage, amount) of the respective avatar feature and other avatar feature that is different from (e.g., greater than) the first amount. By showing a second rendering value of the avatar that is different from the first rendering value and presenting the avatar with the respective avatar features and a second amount of the avatar features other than the respective avatar features that is different from the first amount, computational resources are conserved (thereby reducing power usage and improving battery life) by ceasing the generation and display of avatar features when display of those features is not desired, even when there is a high degree of certainty about the pose of those features.
[0195] In some embodiments, the rendering value indicates a user's preference to render an amount of the avatar that does not correspond to the first portion of the user. In other words, the rendering value is used to select an amount of the avatar (other than the respective avatar feature) to display. For example, the rendering value can be selected from a sliding scale where at one end of the scale, no portions of the avatar are rendered other than those that correspond to the user's tracked features (e.g., the respective avatar feature), and at the other end of the scale, the entire avatar is rendered. For example, if the first portion of the user is the user's hand and the lowest rendering value is selected, the avatar will appear as a floating hand (with the respective avatar feature corresponding to the user's hand). Selecting the rendering value allows the user to customize the appearance of the avatar to increase or decrease the contrast between the portions of the avatar that correspond to the tracked user features and those that do not. This allows the user to more easily identify which portions of the avatar they trust to be more believable.
[0196] In some embodiments, the computer system (e.g., 101) causes a representation (e.g., 735) of a user (e.g., the aforementioned user, or a second user if the aforementioned user is not associated with the display generating component) associated with the display generating component to be presented via the display generating component, the representation of the user associated with the display generating component corresponding to the appearance of the user associated with the display generating component presented to one or more users other than the user associated with the display generating component. By causing a representation of the user associated with the display generating component to be presented that corresponds to the appearance of the user associated with the display generating component presented to one or more other users, feedback is provided to the user associated with the display generating component of the user's appearance as viewed by the other users. Providing improved feedback enhances operability of the computer system, makes the user system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing users to use the system more quickly and efficiently.
[0197] In some embodiments, a user viewing a display generation component is also presented to another user (e.g., on a different display generation component). For example, two users are communicating with each other as two different avatars presented in the virtual environment, and each user can view the other user on their respective display generation components. In this example, the display generation component of one of the users (e.g., the second user) displays in the virtual environment the appearance of the other user (e.g., the first user), as well as its own appearance (e.g., the second user) that represents its own appearance as presented to the other user (e.g., the first user).
[0198] In some embodiments, presenting the avatar includes presenting the avatar with the respective avatar features having a first appearance based on a first appearance of the first portion of the user (e.g., the user's chin is clean shaven and the respective avatar features represent the user's chin having a clean shaven appearance). In some embodiments, the computer system (e.g., 101) receives data indicative of an updated appearance of the first portion of the user (e.g., receives a recent photo or video indicating that the user's chin now has beard) (e.g., receives recent face scan data indicating that the user's chin now has beard) and causes, via a display generation component (e.g., 730), to present an avatar (e.g., 721) with the respective avatar features having an updated appearance based on the updated appearance of the first portion of the user (e.g., the user's chin now has beard). By presenting a representation of the avatar with the respective avatar features having an updated appearance based on the updated appearance of the first portion of the user, an accurate representation of the first portion of the user is provided via the current representation of the respective avatar features without manually manipulating the avatar or performing a registration process to incorporate updates to the first portion of the user. This provides an improved control scheme for editing or presenting a custom appearance for an avatar, which may require fewer inputs to create a custom appearance for an avatar than would be required if a different control scheme were used (e.g., a control scheme that required manipulation of individual control points to construct or correct the avatar), improving operability of the computer system by reducing the number of inputs required to perform a task, making the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the computer system and reducing user errors), and reducing power usage and improving battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0199] In some embodiments, the appearance of the avatar is updated to match the user's updated appearance (e.g., new haircut, beard, etc.) based on recently captured image or scan data. In some embodiments, data indicative of the updated appearance of the first portion of the user is captured in a separate action, such as, for example, when unlocking the device. In some embodiments, the data is collected on a device separate from the computer system. For example, data is collected when a user unlocks a device, such as a smartphone, tablet, or other computer, and the data is communicated (securely or privately) from the user's device to the computer system for subsequent use, with one or more options for the user to decide whether or not the data should be shared (between devices). Such data is transmitted and stored in a manner that complies with industry standards for securing personally identifiable information.
[0200] In some embodiments, the posture data further represents an object (e.g., 702, 805) associated with the first portion of the user (e.g., the user is holding a cup, the user is leaning against a wall, the user is sitting in a chair). In some embodiments, presenting the avatar includes presenting the avatar with representations of objects adjacent to (e.g., overlapping, in front of, in contact with, interacting with) each avatar feature (e.g., 825 in FIG. 8C). By presenting the avatar with representations of objects adjacent to each avatar feature, feedback is provided to the user regarding the context of the posture of the first portion of the user. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0201] In some embodiments, the avatar is modified to include a representation of the object with which the user is interacting (e.g., in FIG. 8C , avatar 721 also includes wall rendering 825). This improves communication by providing context of the avatar's pose (which may be based on the user's posture). For example, if the user is holding a cup, the respective avatar feature (e.g., the avatar's arm) is modified to include a representation of the cup in the avatar's hand. As another example, if the user is leaning against a wall, the respective avatar feature (e.g., the avatar's shoulder and / or arm) is modified to include a representation of at least a portion of the wall. As yet another example, if the user is sitting in a chair or positioned at a desk, the respective avatar feature (e.g., the avatar's leg and / or arm) is modified to include a representation of at least a portion of the chair and / or desk. In some embodiments, the object with which the user is interacting is a virtual object. In some embodiments, the object with which the user is interacting is a real object. In some embodiments, the representation of the object is represented as a virtual object. In some embodiments, the representation of the object is represented using a video feed showing the object.
[0202] In some embodiments, the posture of the first portion of the user is associated with a fifth certainty value. In some embodiments, presenting the avatar (e.g., 721) includes, pursuant to a determination that the first portion of the user is of a first feature type (e.g., 701-1 includes the neck and collar region of the user) (e.g., a type of feature that is deemed not important for communication), presenting the avatar with a respective avatar feature having a value of the variable display characteristic that indicates a certainty value lower than the fifth certainty value (e.g., in FIG. 7C , the neck and collar region 727 of the avatar is displayed with hatching 725) (e.g., even if the certainty of the posture of the first portion of the user is high, the respective avatar feature is presented with a variable display characteristic having a value that indicates a low certainty of the posture of the first portion of the user). By presenting the avatar with respective avatar features having values of variable display characteristics that indicate a certainty value lower than the fifth certainty value when the first portion of the user is of a first feature type, computational resources are conserved (thereby reducing power usage and improving battery life) by forgoing generation and display of features having high fidelity (e.g., rendering the features at a lower fidelity) when these features are less important for communication purposes, even if the pose certainty of these features is high.
[0203] In some embodiments, if the pose certainty of a user feature is high, but the feature is deemed not important for communication, the corresponding avatar feature is rendered using variable display characteristics indicating a lower certainty (e.g., the neck and collar region 727 of the avatar representing the variable display characteristics is shown in FIG. 7C with hatching 725) (or at least a lower certainty than is actually associated with the user feature). For example, a camera sensor may capture the position of the user's knees (and thus the certainty of their position is high), but since knees are generally deemed not important for communication purposes, the avatar's knees are presented using variable display characteristics indicating a lower certainty (e.g., lower fidelity). However, if a user feature (e.g., the user's knees) becomes important for communication, the value of the variable display characteristic (e.g., fidelity) of the respective avatar feature (e.g., the avatar's knees) is adjusted (e.g., increased) to accurately reflect the pose certainty of the user feature (e.g., knees). In some embodiments, rendering each avatar feature with a variable display characteristic having a lower certainty value when the feature is deemed not critical to communication generally preserves computational resources that are expanded when rendering each avatar feature into a variable display characteristic having a high certainty value (e.g., a high fidelity representation of the respective avatar feature). Because user features are deemed not critical to communication, computational resources can be preserved without sacrificing the effectiveness of communication.
[0204] In some embodiments, the posture of the first portion of the user is associated with a sixth certainty value. In some embodiments, presenting the avatar (e.g., 721) further includes, in accordance with a determination that the first portion of the user is of a second feature type (e.g., the user's left eye in FIG. 7A) (e.g., a type of feature deemed important for communication (e.g., hands, mouth, eyes)), presenting the avatar with a respective avatar feature having a value of the variable display characteristic indicative of a higher certainty value than the sixth certainty value (e.g., in FIG. 7C, the left eye 723-2 of the avatar is presented without hatching) (e.g., even if the certainty of the posture of the first portion of the user is not high, the respective avatar feature is presented with a variable display characteristic having a value indicative of a high certainty of the posture of the first portion of the user). Presenting the avatar with respective avatar features having values of the variable display characteristic that indicate a certainty value higher than the sixth certainty value when the first portion of the user is of the second feature type improves communication using the computer system by reducing distraction caused by rendering avatar features (especially those important for communication purposes) at a relatively low fidelity, thereby improving operability of the computer system and making the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), as well as reducing power usage and improving battery life of the computer system by allowing the user to use the computer system more quickly and efficiently.
[0205] In some embodiments, if the certainty of a user feature's pose is not high, but the feature is still considered important for communication, the corresponding avatar feature is rendered using variable display characteristics having a value indicating a very high certainty (e.g., the avatar's left eye 723-2 is rendered without hatching in FIG. 7C ) (or at least a higher certainty than is actually associated with the user feature). For example, the user's mouth is considered important for communication. Thus, for example, the certainty of the user's mouth pose may be 75%, 80%, 85%, 90%, but the respective avatar feature is rendered using variable display characteristics indicating a high certainty (e.g., 100%, 97%, 95% certainty) (e.g., high fidelity). In some embodiments, because rendering the corresponding avatar feature using variable display characteristics having a value indicating an exact certainty level would inhibit communication (e.g., by distracting the user), features that are considered important for communication despite the lower certainty are rendered using variable display characteristics having a value indicating a higher certainty (e.g., a high fidelity representation of the respective avatar feature).
[0206] In some embodiments, a very high degree of certainty (or very high certainty) may refer to an amount of certainty above a predetermined (e.g., first) certainty threshold, such as 90%, 95%, 97%, or 99% certainty. In some embodiments, a high degree of certainty (or high certainty) may refer to an amount of certainty above a predetermined (e.g., second) certainty threshold, such as 75%, 80%, or 85% certainty. In some embodiments, a high degree of certainty is optionally lower than a very high degree of certainty, but higher than a relatively high degree of certainty. In some embodiments, a relatively high degree of certainty (or relatively high certainty) may refer to an amount of certainty above a predetermined (e.g., third) certainty threshold, such as 60%, 65%, or 70% certainty. In some embodiments, a relatively high degree of certainty is optionally lower than a high degree of certainty and / or a very high degree of certainty, but higher than a low degree of certainty. In some embodiments, a relatively low degree of certainty (or relatively low certainty) may refer to an amount of certainty below a predetermined (e.g., fourth) certainty threshold, such as 40%, 45%, 50%, or 55% certainty. In some embodiments, a relatively low degree of certainty is less than a relatively high degree of certainty, a high degree of certainty, and / or a very high degree of certainty, but optionally more than a low degree of certainty. In some embodiments, a low degree of certainty (or low certainty, or marginal certainty) may refer to an amount of certainty below a predetermined certainty threshold, such as 45%, 50%, 55%, 60%, 65%, 70%, 75%, or 80% certainty. In some embodiments, a low degree of certainty is less than a relatively low degree of certainty, a relatively high degree of certainty, a high degree of certainty, and / or a very high degree of certainty, but optionally more than a very low degree of certainty. In some embodiments, very low degree of certainty (or very low certainty, or very little certainty) may refer to an amount of certainty below a predetermined (e.g., fifth) certainty threshold, such as 5%, 15%, 20%, 30%, 40%, or 45% certainty. In some embodiments, very low degree of certainty is less than low degree of certainty, relatively low degree of certainty, relatively high degree of certainty, high degree of certainty, and / or very high degree of certainty.
[0207] 10A-10B, 11A-11B, and 12 show examples in which a user is represented in a CGR environment as a virtual avatar character having an appearance based on different appearance templates. In some embodiments, the avatar has an appearance based on a character template or an abstract template. In some embodiments, the avatar changes appearance by changing pose. In some embodiments, the avatar has an appearance based on a transition between a character template and an abstract template. The processes disclosed herein are implemented using a computer system (e.g., computer system 101 of FIG. 1), as described above.
[0208] FIG. 10A illustrates four different users located in real environments. User A is in real environment 1000-1, user B is in real environment 1000-2, user C is in real environment 1000-3, and user D is in real environment 1000-4. In some embodiments, real environments 1000-1-1000-4 are different real environments (e.g., different locations). In some embodiments, one or more of real environments 1000-1-1000-4 are the same environment. For example, real environment 1000-1 may be the same real environment as real environment 1000-4. In some embodiments, one or more of real environments 1000-1-1000-4 may be different locations within the same environment. For example, real environment 1000-1 may be a first location in a room and real environment 1000-4 may be a second location in the same room.
[0209] In some embodiments, real-world environments 1000-1-1000-4 are motion capture studios similar to real-world environment 700 and including cameras 1005-1-1005-5 similar to cameras 705-1-705-4 for capturing data (e.g., image data and / or depth data) that can be used to determine a pose of one or more parts of the user. The computer system uses the determined pose of one or more parts of the user to display an avatar with a particular pose and / or appearance template. In some embodiments, the computer system presents users in the CGR environment as avatars with appearance templates determined based on different criteria. For example, in some embodiments, the computer system determines a type of activity each user is performing (e.g., based on the pose of one or more parts of the user), and the computer system presents users in the CGR environment as avatars with appearance templates determined based on the type of activity the user is performing. In some embodiments, the computer system presents users in the CGR environment as avatars with appearance templates determined based on a focus position (e.g., gaze position) of the user of the computer system. For example, when a user focuses on a first avatar (e.g., looks at the first avatar) but not on a second avatar, the first avatar is presented with a first appearance template (e.g., a character template) and the second avatar is presented with a second appearance template (e.g., an abstract template). When the user moves focus to the second avatar, the second avatar is presented with the first appearance template (the second avatar transitions from the second appearance template to the first appearance template) and the first avatar is presented with the second appearance template (the first avatar transitions from the first appearance template to the second appearance template).
[0210] In Fig. 10A, user A is shown in real environment 1000-1 with his arm raised and speaking. Cameras 1005-1 and 1005-2 capture the pose of part of user A in their respective fields of view 1007-1 and 1007-2 as user A is speaking. User B is shown in real environment 1000-2 reaching for an item 1006 on a table. Camera 1005-3 captures the pose of part of user B in field of view 1007-3 as user B is reaching for item 1006. User C is shown in real environment 1000-3 reading a book 1008. Camera 1005-4 captures the pose of part of user C in field of view 1007-4 as user C is reading. User D is shown in real environment 1000-4 with his arm raised and speaking. Camera 1005-5 captures the pose of a portion of user D within field of view 1007-5 as user D is conversing. In some embodiments, users A and D are conversing with each other. In some embodiments, users A and D are conversing with a third party, such as a user of a computer system.
[0211] Cameras 1005-1 to 1005-5 are similar to cameras 705-1 to 705-4 described above. Thus, cameras 1005-1 to 1005-5 capture poses of portions of users A, B, C, and D, respectively, similar to those described above with respect to Figures 7A-7C, 8A-8C, and 9. For brevity, the details will not be repeated below.
[0212] Cameras 1005-1-1005-5 are described as non-limiting examples of devices for capturing poses of parts of users A, B, C, and D. Thus, other sensors and / or devices can be used in addition to or instead of any of cameras 1005-1-1005-5 to capture poses of parts of users. Examples of such other sensors and / or devices are described above with respect to Figures 7A-7C, 8A-8C, and 9. For the sake of brevity, details of these examples will not be repeated below.
[0213] 10B, a computer system receives sensor data generated using cameras 1005-1-1005-5 and displays avatars 1010-1-1010-4 within a CGR environment 1020 via a display generation component 1030. In some embodiments, display generation component 1030 is similar to display generation component 120 and display generation component 730.
[0214] Avatars 1010-1, 1010-2, 1010-3, and 1010-4 represent user A, user B, user C, and user D, respectively, in CGR environment 1020. In FIG. 10B, avatars 1010-1 and 1010-4 are displayed with appearances based on character templates, and avatars 1010-2 and 1010-3 are displayed with appearances based on abstract templates. In some embodiments, character templates include facial features such as the avatar's face, arms, hands, or other avatar features corresponding to parts of the human body, while abstract templates do not include such features or such features are not discernible. In some embodiments, avatars with appearances based on abstract templates have amorphous shapes.
[0215] The computer system, in some embodiments, determines the appearance of avatars 1010-1 through 1010-4 based on the pose of each of users A, B, C, and D. For example, in some embodiments, if the computer system determines (e.g., based on the user's pose) that the user is performing a first type of activity, the computer system renders the corresponding avatar having an appearance based on a character template. Conversely, if the computer system determines that the user is performing a second (different) type of activity, the computer system renders the corresponding avatar having an appearance based on an abstract template.
[0216] In some embodiments, the first type of activity is an interactive activity (e.g., an activity that involves interaction with other users) and the second type of activity is a non-interactive activity (e.g., an activity that does not involve interaction with other users). In some embodiments, the first type of activity is an activity that is performed at a particular location (e.g., the same location as a user of the computer system) and the second type of activity is an activity that is performed at a different location (e.g., a location remote from the user of the computer system). In some embodiments, the first type of activity is a manual activity (e.g., an activity that involves a user's hands, such as touching an object, holding an object, moving an object, or using an object) and the second type of activity is a non-manual activity (e.g., an activity that does not generally involve a user's hands).
[0217] In the embodiment shown in FIG. 10A and FIG. 10B, the computer system represents user A in the CGR environment 1020 as avatar 1010-1 having an appearance based on a character template. In some embodiments, the computer system presents avatar 1010-1 having an appearance based on a character template in response to detecting the pose of user A in FIG. 10A. For example, in some embodiments, the computer system determines that user A is having a conversation based on pose data captured using camera 1005-1 and, optionally, camera 1005-2. In some embodiments, the computer system considers conversation to be an interactive activity type, and therefore presents avatar 1010-1 having an appearance based on a character template. As another example, in some embodiments, the computer system determines that user A is in the same location as the user of the computer system based on pose data (e.g., a position component of the pose data), and therefore presents avatar 1010-1 having an appearance based on a character template. In some embodiments, because the computer system determines that a user of the computer system is focusing on avatar 1010-1 (e.g., looking at avatar 1010-1), the computer system presents avatar 1010-1 having an appearance based on a character template.
[0218] In the embodiment shown in FIG. 10A and FIG. 10B, the computer system represents user B in the CGR environment 1020 as avatar 1010-2 having an appearance based on the abstract template. In some embodiments, the computer system presents avatar 1010-2 having an appearance based on the abstract template in response to detecting the pose of user B in FIG. 10A. For example, in some embodiments, the computer system determines that user B is reaching for object 1006 based on pose data captured using camera 1005-3. In some embodiments, the computer system considers this to be a non-interactive activity (e.g., user B is doing something other than interacting with another user) and therefore presents avatar 1010-2 having an appearance based on the abstract template. In some embodiments, the computer system considers this to be a non-manual activity (e.g., because user B currently has nothing in his hands) and therefore presents avatar 1010-2 having an appearance based on the abstract template. As another example, in some embodiments, the computer system determines based on the pose data (e.g., the position component of the pose data) that user B is remote from the user of the computer system, and therefore presents avatar 1010-2 having an appearance based on the abstract template. In some embodiments, the computer system determines that the user of the computer system is not focused on avatar 1010-2 (e.g., is not looking at avatar 1010-2), and therefore presents avatar 1010-2 having an appearance based on the abstract template.
[0219] In the embodiments shown in FIG. 10A and FIG. 10B, the computer system represents user C in the CGR environment 1020 as avatar 1010-3 having an appearance based on an abstract template. In some embodiments, the abstract templates can have different abstract appearances. Thus, both avatars 1010-2 and 1010-3 may be based on abstract templates but have different appearances from each other. For example, the abstract templates may include different appearances, such as amorphous blobs or different abstract shapes. In some embodiments, there may be different abstract templates that provide different abstract appearances. In some embodiments, the computer system presents avatar 1010-3 having an appearance based on the abstract template in response to detecting a posture of user C in FIG. 10A. For example, in some embodiments, the computer system determines that user C is reading a book 1008 based on posture data captured using camera 1005-4. In some embodiments, the computer system considers reading to be a non-interactive activity and therefore presents avatar 1010-3 having an appearance based on the abstract template. As another example, in some embodiments, the computer system determines based on the pose data (e.g., the position component of the pose data) that user C is remote from the user of the computer system, and therefore presents avatar 1010-3 with an appearance based on the abstract template. In some embodiments, the computer system determines that the user of the computer system is not focused on avatar 1010-3 (e.g., is not looking at avatar 1010-3), and therefore presents avatar 1010-3 with an appearance based on the abstract template.
[0220] In the embodiment shown in FIG. 10A and FIG. 10B, the computer system represents user D in the CGR environment 1020 as avatar 1010-4 having an appearance based on a character template. In some embodiments, the computer system presents avatar 1010-4 having an appearance based on a character template in response to detecting the pose of user D in FIG. 10A. For example, in some embodiments, the computer system determines that user D is having a conversation based on pose data captured using camera 1005-5. In some embodiments, the computer system considers conversation to be an interactive activity type, and therefore presents avatar 1010-4 having an appearance based on a character template. As another example, in some embodiments, the computer system determines that user D is in the same location as the user of the computer system based on pose data (e.g., a position component of the pose data), and therefore presents avatar 1010-4 having an appearance based on a character template. In some embodiments, because the computer system determines that a user of the computer system is focusing on avatar 1010-4 (e.g., looking at avatar 1010-4), the computer system presents avatar 1010-4 having an appearance based on the character template.
[0221] In some embodiments, avatars with appearances based on character templates are presented with poses determined based on the poses of the corresponding users. For example, in FIG. 10B, avatar 1010-1 has a pose that matches the pose determined for user A, and avatar 1010-4 has a pose that matches the pose determined for user D. In some embodiments, the poses of avatars with appearances based on character templates are determined similarly to those described above with respect to FIGS. 7A-7C, 8A-8C, and 9. For example, avatar 1010-1 is displayed with a pose determined based on the poses of portions of user A detected within fields of view 1007-1 and 1007-2. Because the entire body of user A is within the field of view of the camera, the computer system determines the pose of the corresponding portions of avatar 1010-1 with maximum certainty, as indicated by the absence of dashed lines on avatar 1010-1 in FIG. 10B. As another example, avatar 1010-4 is displayed with a pose determined based on the pose of portions of user D detected within field of view 1007-5 of camera 1005-5. Because user D's legs are outside the field of view 1007-5, the computer system determines, with a degree of uncertainty (less than maximum certainty), the pose of the legs of avatar 1010-4 and presents avatar 1010-4 with the determined pose and variable display characteristics for the avatar's legs, represented by dashed lines 1015, as shown in Figure 10B. For brevity, further details for determining the pose of the avatar and displaying variable display characteristics will not be repeated for all embodiments discussed with respect to Figures 10A, 10B, 11A, and 11B.
[0222] In some embodiments, the computer system updates the appearance of the avatar based on the user's posture change. In some embodiments, the appearance update includes a posture change of the avatar without a transition between different appearance templates. For example, in response to detecting that the user has raised and then lowered an arm, the computer system presents the avatar as an avatar character that changes posture with the user (e.g., in real time) by raising and then lowering the corresponding avatar's arm. In some embodiments, the avatar appearance update includes a transition between different appearance templates based on the user's posture change. For example, in response to detecting that the user has changed from a posture corresponding to a first activity type to a posture corresponding to a second activity type, the computer system presents the avatar that transitions from a first appearance template (e.g., a character template) to a second appearance template (e.g., an abstract template). Examples of avatars with updated appearances are discussed in more detail below with respect to FIGS. 11A and 11B.
[0223] Figures 11A and 11B are similar to Figures 10A and 10B, except that User A, User B, User C, and User D have updated poses and corresponding avatars 1010-1 to 1010-4 have updated appearances. For example, a user moves from the pose of Figure 10A to the pose of Figure 11A, and the computer system responsively changes the avatar's appearance from the appearance shown in Figure 10B to the appearance shown in Figure 11B.
[0224] Referring to Figure 11A, user A is shown with his right arm down and his head turned forward while still conversing. User B is shown holding item 1006 with his head facing forward. User C is waving and talking with a book 1008 hanging at his side. User D is looking to the side with his arm down.
[0225] 11B, the computer system updates the appearances of avatars 1010-1 to 1010-4. Specifically, avatar 1010-1, which has an appearance based on a character template, remains displayed, avatars 1010-2 and 1010-3 have transitioned from an appearance based on an abstract template to an appearance based on a character template, and avatar 1010-4 has transitioned from an appearance based on a character template to an appearance based on an abstract template.
[0226] In some embodiments, the computer system presents avatar 1010-1 with an appearance based on the character template in response to detecting the posture of user A in FIG. 11A. For example, in some embodiments, the computer system determines that user A is still having a conversation based on posture data captured using camera 1005-1 and, optionally, camera 1005-2. In some embodiments, the computer system considers conversation to be an interactive activity type, and therefore presents avatar 1010-1 with an appearance based on the character template. As another example, in some embodiments, the computer system determines that user A is in the same location as the user of the computer system based on posture data (e.g., the position component of the posture data), and therefore presents avatar 1010-1 with an appearance based on the character template. In some embodiments, the computer system presents avatar 1010-1 with an appearance based on the character template because the computer system determines that the user of the computer system is focused on avatar 1010-1 (e.g., looking at avatar 1010-1).
[0227] In some embodiments, the computer system presents avatar 1010-2 having an appearance based on a character template in response to detecting the posture of user B in FIG. 11A. For example, in some embodiments, the computer system determines, based on posture data captured using camera 1005-3, that user B is interacting with other users by waving item 1006, and therefore presents avatar 1010-2 having an appearance based on a character template. In some embodiments, the computer system determines, based on posture data captured using camera 1005-3, that user B is performing a manual activity by holding item 1006, and therefore presents avatar 1010-2 having an appearance based on a character template. In some embodiments, the computer system presents avatar 1010-2 having an appearance based on a character template because the computer system determines that a user of the computer system is currently focused on avatar 1010-2 (e.g., looking at avatar 1010-2).
[0228] In some embodiments, the computer system presents avatar 1010-3 having an appearance based on a character template in response to detecting the posture of user C in Figure 11A. For example, in some embodiments, the computer system determines that user C is interacting with other users by waving and / or talking based on posture data captured using camera 1005-4, and therefore presents avatar 1010-3 having an appearance based on a character template. In some embodiments, the computer system presents avatar 1010-3 having an appearance based on a character template because the computer system determines that a user of the computer system is currently focused on avatar 1010-3 (e.g., looking at avatar 1010-3).
[0229] In some embodiments, the computer system presents avatar 1010-4 with an appearance based on the abstract template in response to detecting the posture of user D in FIG. 11A. For example, in some embodiments, the computer system determines, based on posture data captured using camera 1005-5, that user D is no longer interacting with other users because user D has his hands down, is looking away, and / or is no longer speaking. Thus, the computer system presents avatar 1010-4 with an appearance based on the abstract template. In some embodiments, the computer system presents avatar 1010-4 with an appearance based on the abstract template because the computer system determines that the user of the computer system is no longer focused on avatar 1010-4 (e.g., is no longer looking at avatar 1010-4).
[0230] As shown in Figure 11B, the computer system updates the pose of each avatar based on the user poses detected in Figure 11A. For example, the computer system updates the pose of avatar 1010-1 to match the pose of user A in Figure 11A. In some embodiments, the user of the computer system is not focusing on avatar 1010-1, but avatar 1010-1 still has an appearance based on the character template because avatar 1010-1 is in the same location as the user of the computer system or because the users of the computer system are conversing, which in some embodiments the computer system considers to be interactive activity.
[0231] As shown in FIG. 11B, the computer system also updates the appearance of avatar 1010-2 to have an appearance based on the character template and with a pose determined based on the pose of user B in FIG. 11A. Because some parts of user B are outside the field of view 1007-3, the computer system determines the pose of the corresponding parts of avatar 1010-2 with a certain degree of uncertainty, as indicated by dashed lines 1015 of the right arm and legs of avatar 1010-2. Also, because user B's right arm is outside the field of view 1007-3, the right arm is shown with a different pose than the actual pose of user B's right arm in FIG. 11A, and the pose shown in FIG. 11B is the pose of the right arm of avatar 1010-2 determined (estimated) by the computer system. In some embodiments, item 1006 is represented in CGR environment 1020 as indicated by reference 1006' in FIG. 11B, because item 1006 is within the field of view 1007-3. In some embodiments, the item 1006 is represented as a virtual object in the CGR environment 1020. In some embodiments, the item 1006 is represented as a physical object in the CGR environment 1020. In some embodiments, because the computer system detects that the item 1006 is in the hand of user B, the left hand of avatar 1010-2, and optionally, a representation of the item 1006 in the CGR environment 1020, is shown with higher fidelity (e.g., with higher fidelity than other portions of avatar 1010-2 and / or other objects in the CGR environment 1020).
[0232] As shown in Figure 11B, the computer system also updates the appearance of avatar 1010-3 to have an appearance based on the character template and with a pose determined based on the pose of user C in Figure 11A. Because some parts of user C are outside of the field of view 1007-4, the computer system determines the pose of the corresponding parts of avatar 1010-3 with a degree of uncertainty, as indicated by dashed lines 1015 in the left hand and legs of avatar 1010-3. In some embodiments, because the computer system detects book 1008 in the field of view 1007-3 of Figure 10A and no longer detects book 1008 or user C's left hand in the field of view 1007-3 of Figure 11A, the computer system determines that book 1008 may be in user C's left hand, and therefore represents book 1008 in the CGR environment 1020, as indicated by reference 1008' in Figure 11B. In some embodiments, the computer system optionally represents the book 1008 as a virtual object with variable display characteristics that indicate uncertainty about the presence and pose of the book 1008 within the real environment 1000-3.
[0233] In the embodiments described herein, reference is made to a user of a computer system. In some embodiments, the user of the computer system is a user viewing the CGR environment 720 using the display generation component 730 or a user viewing the CGR environment 1020 using the display generation component 1030. In some embodiments, the user of the computer system may be represented in the CGR environment 720 or the CGR environment 1020 as an avatar characteristic, similar to those disclosed herein for the respective avatars 721, 1010-1, 1010-2, 1010-3, and 1010-4. For example, in the embodiments discussed with respect to Figures 7A-7C and 8A-8C, the user of the computer system is represented as a female avatar character, as shown by the preview 735. 10A-10B and 11A-11B, the user of the computer system may be a user in the real environment similar to any of users A-D in real environments 1000-1-1000-4, and may be represented in CGR environment 1020 as an additional avatar character that is presented to and can interact with users A-D. For example, in FIG. 11B, users A-C are interacting with the user of the computer system, but user D is not, and thus avatars 1010-1, 1010-2, and 1010-3 are presented as having an appearance based on a character template, while avatar 1010-4 is presented as having an appearance based on an abstract template.
[0234] In some embodiments, each of users A-D participates in the CGR environment using avatars 1010-1-1010-4, and each of the users uses a computer system similar to the computer systems described herein to display the other's avatars. Thus, the avatars in the CGR environment 1020 may have different appearances for each user. For example, in FIG. 11A, user D may be interacting with user A but not with user B, and thus, in the CGR environment viewed by user A, avatar 1010-4 may have an appearance based on a character template, whereas in the CGR environment viewed by user B, avatar 1010-4 may have an appearance based on an abstract template.
[0235] The above has been described with reference to specific embodiments for purposes of explanation. However, the exemplary discussion above is not intended to be exhaustive or to limit the invention to the precise form disclosed. For example, in some embodiments, the appearance of the avatar discussed with respect to Figures 10B and 11B may have varying levels of fidelity, as discussed with respect to Figures 7C and 8C. For example, if a user associated with the avatar is co-located with the user of the computer system, the avatar may be presented with a higher fidelity than an avatar associated with a user located at a different (remote) location than the user of the computer system.
[0236] Additional discussion regarding FIGS. 10A-10B and 11A-11B is provided below with reference to the method 1200 described with respect to FIG. 12 below.
[0237] FIG. 12 is a flowchart of an example method 1200 of presenting an avatar character having an appearance based on different appearance templates, according to some embodiments. In some embodiments, the method 1200 is executed in a computer system (e.g., computer system 101 of FIG. 1) (e.g., a smartphone, a tablet head-mounted display generating component) in communication with a display generating component (e.g., display generating component 120 of FIGS. 1, 3, and 4) (e.g., display generating component 1030 of FIGS. 10B and 11B) (e.g., a visual output device, a 3D display, a transparent display, a projector, a head-up display, a display controller, a touch screen, etc.). In some embodiments, the method 1200 is governed by instructions stored in a non-transitory 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., control unit 110 of FIG. 1). Some operations of the method 1200 are optionally combined and / or the order of some operations is optionally changed.
[0238] In method 1200, a computer system (e.g., 101) receives (1202) first data indicating that a current activity of one or more users (e.g., users A, B, C, D in FIG. 10A) (e.g., participants or objects represented in a computer-generated reality environment) is a first type of activity (e.g., interacting (e.g., talking, gesturing, moving); being physically present in the real environment; performing a non-manual activity (e.g., talking without moving)).
[0239] In response to receiving first data indicating that the current activity is a first type of activity, the computer system (e.g., 101), via the display generation component (e.g., 1030), updates (e.g., within the computer-generated reality environment (e.g., 1020)) (e.g., display; virtually present; project; modify) a representation of the user's representation (e.g., 1010-1, 1010-2, 1010-3, and / or 1010-4 of FIG. 10B ) having a first appearance (e.g., a template of an animated character (e.g., a human; a cartoon character; an anthropomorphic construct of a non-human character, such as a dog, a robot, etc.)) (e.g., a first virtual representation) based on the first appearance template. Updating the representation of the first user with a first appearance based on the first appearance template provides feedback to the user that the first user is interacting with the user in response to receiving first data indicating that the current activity is a first type of activity. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently. In some embodiments, updating the representation of the first user with the first appearance includes presenting a representation of the first user performing the first type of activity while having an appearance based on the first appearance template. For example, if the first type of activity is an interactive activity, such as talking, and the first appearance template is a dog character, the representation of the first user is presented as an interactive dog character talking.
[0240] While causing a representation of the first user having a first appearance to be presented (e.g., avatar 1010-1 is presented in FIG. 10B ), the computer system (e.g., 101) receives (1206) second data indicative of current activities (e.g., actively performing activities) of one or more users (e.g., users A, B, C, D in FIG. 11A ). In some embodiments, the second data indicative of the current activities of the first user. In some embodiments, the second data indicative of the current activities of one or more users other than the first user. In some embodiments, the second data indicative of the current activities of one or more users including the first user. In some embodiments, the one or more users whose current activities are indicated by the second data are the same as the one or more users whose current activities are indicated by the first data.
[0241] In response to receiving the second data indicating a current activity of the one or more users, the computer system (e.g., 101) updates (1208) an appearance of the representation of the first user based on the current activity of the one or more users (e.g., in FIG. 11B , avatar 1010-1 is updated), and, in accordance with a determination that the current activity is a first type of activity (e.g., the current activity is an interactive activity), causes (1210) via the display generation component (e.g., 1030) to present a representation of the first user having a second appearance based on the first appearance template (e.g., avatar 1010-1 in FIG. 11B has a second pose while still being displayed using the character template) (e.g., a representation of the first user is presented having a different appearance from the first appearance (e.g., the first user is presented performing an activity different from the first appearance), but the representation of the first user is still based on the first appearance template. When the current activity is a first type of activity By having the computer present a representation of the first user having a second appearance based on the first appearance template, feedback is provided to the user that the first user is still interacting with the user even though the first user's appearance has changed. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently. In some embodiments, presenting a representation of the first user having a second appearance based on the first appearance template includes presenting a representation of the first user performing a first type of current activity while having an appearance based on the first appearance template.For example, if the current activity is an interactive activity such as gesturing with hands and the first appearance template is a dog character, then the representation of the first user is presented as an interactive dog character making a gesturing with hands.
[0242] In response to receiving the second data indicating a current activity of the one or more users, the computer system (e.g., 101) updates the appearance of a representation of the first user (e.g., avatar 1010-2, avatar 1010-3, avatar 1010-4) based on the current activity of the one or more users, and generates, via the display generation component (e.g., 1030), a second appearance template different from the first appearance template pursuant to a determination that the current activity is a second type of activity different from the first type (e.g., the second type of activity is not an interactive activity; the second type of activity is performed while one or more users (e.g., optionally including the first user) are not physically present in the real environment). causing (1212) a representation of the first user to be presented having a third appearance based on the appearance template (e.g., user B's avatar 1010-2 transitions from using the abstract template of FIG. 10B to using the character template of FIG. 11B) (e.g., user C's avatar 1010-3 transitions from using the abstract template of FIG. 10B to using the character template of FIG. 11B) (e.g., user D's avatar 1010-4 transitions from using the character template of FIG. 10B to using the abstract template of FIG. 11B) (e.g., the second appearance template is a template of an inanimate character (e.g., a plant)) (e.g., the second visual representation). By causing a representation of the first user to be presented having a third appearance based on the second appearance template when the current activity is a second type of activity, feedback is provided to the user that the first user has transitioned to performing a different activity than before, e.g., not interacting with the user. Providing improved feedback enhances operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.In some embodiments, presenting the representation of the first user having a third appearance includes presenting the representation of the first user performing a second type of current activity while having an appearance based on the second appearance template. For example, if the second type of activity is a non-interactive activity, such as sitting without moving, and the second appearance template is an amorphous block, the representation of the first user is presented, for example, as an amorphous block that does not move or interact with the environment. In some embodiments, presenting the representation of the first user having a third appearance includes presenting the representation of the first user transitioning from the first appearance to the third appearance. For example, the representation of the first user transitions from an interactive dog character to a non-interactive amorphous block.
[0243] In some embodiments, the first type of activity is an activity of a first user (e.g., user A) performed at a first location (e.g., the first user is located in the same conference room as the second user), and the second type of activity is an activity of the first user performed at a second location different from the first location (e.g., the first user is in a different location than the second user). In some embodiments, the appearance template used for the first user is determined based on whether the first user is located in the same physical environment as the user (e.g., the second user) associated with the display generation component. For example, if the first user and the second user are in the same physical location (e.g., the same room), the first user is presented as having a more realistic appearance template using the display generation component of the second user. Conversely, if the first user and the second user are in different physical locations, the first user is presented with a less realistic appearance template. This is done, for example, to communicate to the second user that the first user is physically present with the second user. Additionally, this distinguishes between users who are not physically present with the user (e.g., virtually present users), thereby conserving computational resources and streamlining the displayed environment by eliminating the need to display indicators that identify the locations of different users or tags used to mark particular users as present or remote.
[0244] In some embodiments, the first type of activity includes an interaction between a first user (e.g., User A) and one or more users (e.g., User B, User C, User D) (e.g., the first user engaging with the other users by speaking, gesturing, moving, etc.). In some embodiments, the second type of activity does not include an interaction between the first user and one or more users (e.g., the first user is not engaging with the other users; e.g., the first user's focus is shifted to something other than the other users). In some embodiments, when the first user is engaging with the other users by speaking, gesturing, moving, etc., the first user's representation has an appearance based on the first appearance template. In some embodiments, when the first user is not engaging with the other users or the first user's focus is on something other than the other users, the first user's representation has an appearance based on the second appearance template.
[0245] In some embodiments, the first Appearance template corresponds to a more realistic appearance of the first user (e.g., a character template such as that represented by avatar 1010-1 in FIG. 10B) than the second Appearance template (e.g., an abstract template such as that represented by avatar 1010-2 in FIG. 10B). By presenting a representation of the first user having a first appearance that is a more realistic appearance of the first user than the second Appearance template, feedback is provided to the user that the first user is interacting with the user. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0246] In some embodiments, a first user is represented with a high realistic appearance (e.g., a high resolution or high fidelity appearance; e.g., an anthropomorphic shape such as an interactive virtual avatar character) when the user is engaging with other users, e.g., by performing interactive activities such as talking, gesturing, moving, etc. (e.g., user A is represented by avatar 1010-1 using a character template). In some embodiments, when the user is not engaging with other users, the user is represented as having a low realistic appearance (e.g., a low resolution or low fidelity appearance; e.g., an abstract shape (e.g., human-like features removed, edges of representation softened)). For example, the first user's focus may shift from other users to other content or objects, or the first user is no longer performing interactive activities (e.g., the user is still sitting, not talking, not gesturing, not moving, etc.).
[0247] In some embodiments, the first type of activity is a non-manual activity (e.g., an activity that involves or requires little or no hand movement of the user (e.g., conversation)) (e.g., User A, User B, User D in FIG. 10A, User A, User D in FIG. 11A). In some embodiments, the second type of activity is a manual activity (e.g., an activity that typically involves hand movement of the user (e.g., stacking toy blocks)) (e.g., User C in FIG. 10A, User B in FIG. 11A). In some embodiments, the representation of the first user includes presented respective hand parts that correspond to the first user's hand and have variable display characteristics (e.g., avatar 1010-2 in FIG. 10B and FIG. 11B) (e.g., a set of one or more variable visual parameters (e.g., blur amount, opacity, color, attenuation / density, resolution, etc.) of the rendering of the respective hand parts). In some embodiments, the variable display characteristics indicate an estimated / predicted visual fidelity of the pose of the respective hand parts with respect to the pose of the first user's hand.In some embodiments, causing the presentation of the representation of the first user having a third appearance based on the second appearance template includes: 1) presenting the representation of the first user with respective hand portions having a first value of the variable display characteristic pursuant to a determination that the second type of activity includes the first user's hands interacting with objects (e.g., in a physical environment or in a virtual environment) to perform a manual activity (e.g., the first user is holding a toy block in the hand); and 2) presenting the representation of the first user with respective hand portions having a first value of the variable display characteristic pursuant to a determination that the second type of activity includes the first user's hands interacting with objects (e.g., in a physical environment or in a virtual environment) to perform a manual activity (e.g., the first user is holding a toy block in the hand). 1006′) (e.g., the variable display characteristic has a value indicative of a high visual fidelity of the pose of the respective hand portion with respect to the first user's hand posture); 2) a second type of activity includes, pursuant to a determination that the first user's hands do not involve interacting with an object (e.g., in a physical environment or a virtual environment) to perform a manual activity (e.g., the first user is not holding a toy block in the hand), presenting a representation of the first user with each hand portion having a second value of the variable display characteristic that is different from the first value of the variable display characteristic (e.g., when user B is not holding item 1006, in FIG. 10B presents avatar 1010-2 using the abstract template) (e.g., the variable display characteristic has a value indicative of a low visual fidelity of the pose of the respective hand portion with respect to the first user's hand posture). Depending on whether the second type of activity involves the user's hands interacting with an object to perform a manual activity, feedback is provided to the user that the first user has transitioned to performing an activity involving using the hands by presenting a representation of the first user having respective hand portions having first or second values of the variable display characteristic.Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently. In some embodiments, a representation of the first user's hand is rendered such that the variable display characteristic exhibits higher visual fidelity when the user's hand is interacting with an object (e.g., a physical object or a virtual object) and exhibits lower visual fidelity when the user's hand is not interacting with the object.
[0248] In some embodiments, the first type of activity is activity associated with an interaction with a first participant (e.g., in FIG. 10A , User A and User D are communicating) (e.g., activity generally associated with a user who is an active (e.g., in a conversation) participant who is engaged with others (e.g., a participant is speaking, gesturing, moving, focusing on other users, etc.)). In some embodiments, the second type of activity is activity not associated with an interaction with a first participant (e.g., in FIG. 10A , User B and User C are interacting) (e.g., activity generally associated with a user who is an unengaged (e.g., not in a conversation) bystander (e.g., a bystander is not speaking, gesturing, moving, not focusing on other users, etc.)).
[0249] In some embodiments, presenting the representation of the first user having a second appearance based on the first appearance template includes presenting the representation of the first user having a first value of a variable display characteristic indicative of a first visual fidelity of the representation of the first user (e.g., in FIG. 10B, user A is presented as avatar 1010-1 using a character template; in FIG. 10B, user D is presented as avatar 1010-4 using a character template) (e.g., a set of one or more visual parameters of the rendering of the representation of the first user that are variable (e.g., blur amount, opacity, color, attenuation / density, resolution, etc.)) (e.g., the visual fidelity of the representation of the first user with respect to the posture of a corresponding part of the first user). By presenting the representation of the first user with a first value of a variable display characteristic indicative of a first visual fidelity of the representation of the first user when the representation of the first user has a second appearance based on the first appearance template, feedback is provided to the user that the relevance of the first user to the current activity is higher because the first user is participating in the activity. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user to provide appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and additionally reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently. In some embodiments, the representation of the first user includes a first represented portion corresponding to a first portion of the first user and is presented with a variable display characteristic indicative of an estimated visual fidelity of the first represented portion with respect to a posture of the first portion of the first user.
[0250] In some embodiments, presenting a representation of the first user having a third appearance based on the second appearance template includes presenting a representation of the first user having a second value of a variable display characteristic that indicates a second visual fidelity of the first user's representation that is lower than the first visual fidelity of the first user's representation (e.g., in FIG. 10B, user B is represented as avatar 1010-2 using an abstract template; in FIG. 10B, user C is presented as avatar 1010-3 using an abstract template) (e.g., when the user's activity is a spectator activity, a representation of the first user is presented having a variable display characteristic that indicates a lower visual fidelity). By presenting the representation of the first user having a second value of the variable display characteristic indicating a second visual fidelity of the first user's representation that is lower than the first visual fidelity of the first user's representation when the representation of the first user has a third appearance based on the second appearance template, feedback is provided to the user that the relevance of the first user to the current activity is lower because the first user is not participating in the activity. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and additionally reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0251] In some embodiments, users are considered to be active participants or bystanders based on their activity, and users considered to be active participants are represented as having higher visual fidelity than users considered to be bystanders. For example, users who are actively communicating, gesturing, moving, focusing on other participants and / or users, etc. are considered to be participants (or active participants) (based on their activity) and are presented with a representation of the user having variable display characteristic values indicative of high visual fidelity. Conversely, users who are not actively communicating, gesturing, moving, focusing on other participants and / or users, etc. are considered to be bystanders (based on their activity) and are presented with a representation of the user having variable display characteristic values indicative of low visual fidelity.
[0252] In some embodiments, the display generation component (e.g., 1030) is associated with a second user (e.g., the second user is a viewer and / or user of the display generation component). In some embodiments, while presenting a representation of a third user (e.g., avatar 1010-2 representing user B) (e.g., a representation of a first user) (e.g., alternatively, a representation of an object) having a first value of a variable display characteristic via the display generation component (e.g., a set of one or more visual parameters of the rendering of the third user's representation that are variable (e.g., blur amount, opacity, color, attenuation / density, resolution, etc.)), the computer system (e.g., 101) receives third data indicative of a focus position of the second user (e.g., data indicative of a position or area within a physical or computer-generated environment where the second user's eyes are focused). In some embodiments, the third data is generated using a sensor (e.g., a camera sensor) that tracks the second user's eye position and a processor that determines the user's eye focus. In some embodiments, the focus position includes a focal point of the user's eyes calculated in three dimensions (eg, the focus position may include a depth component).
[0253] In some embodiments, in response to receiving the third data indicating the second user's focal position, the computer system (e.g., 101), via the display generation component, updates the representation of the third user (e.g., alternatively, updates the representation of the object) based on the second user's focal position, pursuant to a determination that 1) the second user's focal position corresponds to (e.g., is co-located with) the position of the third user's representation (e.g., in FIG. 11A , the user of the computer system is looking at user B, and thus avatar 1010-2 is displayed using the character template) (e.g., the second user is looking at the representation of the third user) (e.g., alternatively, the second user is looking at the representation of the object). 1) increasing a value of a variable display characteristic of the representation of the third user in accordance with a determination that the second user's focus position does not correspond to (e.g., are not located together with) a position of the third user's representation (e.g., the second user is not looking at the representation of the third user) (e.g., alternatively, the second user is not looking at the representation of the object) (e.g., in FIG. 11A , the user of the computer system is looking away from user D and therefore avatar 1010-4 is displayed using an abstract template) (e.g., alternatively, decreasing the value of the variable display characteristic of the representation of the object). By increasing or decreasing the value of a variable display characteristic of the third user's representation depending on whether the second user's focus position corresponds to the position of the third user's representation, improved feedback is provided to the second user that the computer system is detecting the position of focus, and computational resources are reduced by eliminating or reducing the amount of data that must be processed to render areas where the user is not focused.Improves operability of the computer system by providing improved feedback and reducing computational workload, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0254] In some embodiments, the variable display characteristics are adjusted for various items or users presented using the display generating components depending on whether the user is focusing on those respective items or users. For example, as the user shifts focus away from a representation of the user or object, the visual fidelity (e.g., resolution, sharpness, opacity, and / or density, etc.) of the representation of the user or object decreases (e.g., based on the amount the user's focus is shifted away from the representation of the user). Conversely, as the user focuses on a representation of the user or object, the visual fidelity (e.g., resolution, sharpness, opacity, and / or density, etc.) of the representation of the user or object increases. This visual effect helps conserve computational resources by reducing the data to be rendered to the user using the display generating components. In particular, objects and / or users presented outside the user's focus can be rendered with lower fidelity, consuming fewer computational resources. This can be done without sacrificing visual integrity, as the modifications to the visual fidelity mimic the natural behavior of the human eye. For example, as the human eye shifts focus, objects the eye focuses on appear sharper (e.g., higher fidelity), while objects that lie outside the eye's focus appear blurred (e.g., lower fidelity). That is, objects rendered within the user's peripheral view are intentionally rendered at a lower fidelity to conserve computational resources.
[0255] In some embodiments, the first appearance template corresponds to an abstract shape (e.g., 1010-2 in FIG. 10B, 1010-3 in FIG. 10B, 1010-4 in FIG. 11B) (e.g., a representation of a shape that does not have any anthropomorphic characteristics or a representation of a shape that has fewer anthropomorphic characteristics than an anthropomorphic shape used to represent the user when the user is engaged in a first type of activity). In some embodiments, the second appearance template corresponds to an anthropomorphic shape (e.g., 1010-1 in FIG. 10B, 1010-4 in FIG. 10B, 1010-1 in FIG. 11B, 1010-2 in FIG. 11B, 1010-3 in FIG. 11B) (e.g., a representation of a human, animal, or other features with expressive elements such as face, eyes, mouth, limbs, etc. that enable the anthropomorphic shape to communicate the movement of the user). By presenting a representation of the first user with a first appearance template corresponding to an abstract shape or a second appearance template corresponding to an anthropomorphic shape, feedback is provided to the user that the first user is more relevant to the current activity when presented as an anthropomorphic shape and less relevant to the current activity when presented as an abstract shape. Providing improved feedback improves usability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating and / or interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0256] In some embodiments, aspects and / or operations of methods 900 and 1200 may be interchanged, substituted, and / or added between these methods, the details of which will not be repeated here for the sake of brevity.
[0257] The above has been described with reference to specific embodiments for purposes of illustration. However, the above illustrative discussion is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. These embodiments have been chosen and described in order to best explain the principles of the invention and its practical application, and thereby enable others skilled in the art to best utilize the invention and the various described embodiments with various modifications suited to the particular uses contemplated.
Claims
1. 1. A method comprising: A computer system in communication with a display generation component, comprising: receiving pose data representative of a pose of at least a first portion of a user; and causing, via the display generation component, to present an avatar, the avatar including respective presented avatar features corresponding to the first portion of the user and having variable display characteristics indicative of a certainty of the pose of the first portion of the user, wherein presenting the avatar comprises: presenting the avatar with the respective avatar features having a first value of the variable display characteristic in accordance with a determination that the pose of the first portion of the user is associated with a first certainty value; presenting the avatar with the respective avatar feature having a second value of the variable display characteristic that is different from the first value of the variable display characteristic in accordance with a determination that the pose of the first portion of the user is associated with a second certainty value that is different from the first certainty value; A method comprising:
2. receiving second pose data representative of a pose of at least a second portion of the user; and causing, via the display generation component, to present the avatar including a presented second avatar feature having a second variable display characteristic corresponding to the second portion of the user and indicative of a certainty of the pose of the second portion of the user, wherein presenting the avatar comprises: presenting the avatar using the second avatar feature having a first value of the second variable display characteristic in accordance with a determination that the pose of the second portion of the user is associated with a third certainty value; presenting the avatar with the second avatar feature having a second value of the second variable display characteristic that is different from the first value of the second variable display characteristic in accordance with a determination that the pose of the second portion of the user is associated with a fourth certainty value that is different from the third certainty value. The method of claim 1.
3. Presenting the avatar includes: in response to a determination that the third certainty value corresponds to the first certainty value, the first value of the second variable display characteristic corresponds to the first value of the variable display characteristic; In response to a determination that the fourth certainty value corresponds to the second certainty value, the second value of the second variable display characteristic corresponds to the second value of the variable display characteristic. The method of claim 2 comprising:
4. in accordance with a determination that the third certainty value corresponds to the first certainty value, the first value of the second variable display characteristic does not correspond to the first value of the variable display characteristic; In accordance with a determination that the fourth certainty value corresponds to the second certainty value, the second value of the second variable display characteristic does not correspond to the second value of the variable display characteristic; The method of claim 2 further comprising:
5. receiving updated posture data representative of posture changes of the first portion of the user; updating the representation of the avatar in response to receiving the updated pose data; updating a pose of the respective avatar feature based on the pose change of the first portion of the user. The method according to any one of claims 1 to 4.
6. Updating the representation of the avatar comprises: responsive to a change in certainty of the posture of the first portion of the user during the posture change of the first portion of the user, modifying the variable display characteristic of the respective displayed avatar feature in addition to modifying a position of at least a portion of the avatar based on the posture change of the first portion of the user; The method of claim 5 , comprising:
7. The method of any one of claims 1 to 6, wherein the variable display characteristic indicates an estimated visual fidelity of the respective avatar feature with respect to the pose of the first part of the user.
8. Presenting the avatar includes: presenting the avatar with the respective avatar features having a third value of the variable display characteristic in accordance with a determination that the pose data satisfies a first set of criteria that are satisfied when the first portion of the user is detected by a first sensor; presenting the avatar using the respective avatar feature having a fourth value of the variable display characteristic indicating a lower certainty value than the third value of the variable display characteristic in accordance with a determination that the pose data does not satisfy the first set of criteria; The method of any one of claims 1 to 7, comprising:
9. receiving updated pose data representative of changes in the pose of the first portion of the user while the respective avatar features having the current values of the variable display characteristics are being presented; updating the representation of the avatar in response to receiving the updated pose data; decreasing the current value of the variable display characteristic in accordance with a determination that the updated posture data represents a change in the posture of the first portion of the user from a first position within a field of view of a sensor to a second position outside the field of view of the sensor; increasing the current value of the variable display characteristic in accordance with a determination that the updated posture data represents a change in the posture of the first portion of the user from the second position to the first position; The method according to any one of claims 1 to 8, comprising:
10. the current value of the variable display characteristic is decreased at a first rate; the current value of the variable display characteristic increases at a second rate that is greater than the first rate.
10. The method of claim 9.
11. the first value of the variable display characteristic representing a visual fidelity of the respective avatar feature with respect to the pose of the first portion of the user that is higher than the second value of the variable display characteristic; Presenting the avatar includes: associating the pose of the first portion of the user with the second certainty value in accordance with a determination that the first portion of the user corresponds to a subset of physical characteristics; associating the pose of the first portion of the user with the first certainty value in accordance with a determination that the first portion of the user does not correspond to the subset of physical characteristics; The method according to any one of claims 1 to 10, comprising:
12. updating the representation of the avatar while the avatar is presented with the respective avatar feature having the first value of the variable display characteristic; presenting the avatar with the respective avatar feature having a first changed value of the variable display characteristic in accordance with a determination that a speed of movement of the first portion of the user is a first speed of movement of the first portion of the user; presenting the avatar with the respective avatar feature having a second changed value of the variable display characteristic in accordance with a determination that the speed of movement of the first portion of the user is a second speed of movement of the first portion of the user that is different from the first speed of movement. The method according to any one of claims 1 to 11.
13. changing values of said variable display properties, including changing one or more visual parameters of said respective avatar features; The method of any one of claims 1 to 12, further comprising:
14. The method of claim 13 , wherein the one or more visual parameters include blurriness.
15. The method of claim 13 , wherein the one or more visual parameters include opacity.
16. The method of claim 13 , wherein the one or more visual parameters include color.
17. The method of claim 13 , wherein the one or more visual parameters include a density of particles comprising the respective avatar features.
18. The method of claim 17 , wherein the density of the particles that include the respective avatar features includes a spacing between the particles that include the respective avatar features.
19. The method of claim 17 , wherein the density of the particles that include the respective avatar features comprises a size of the particles that include the respective avatar features.
20. modifying values of said variable display characteristics, including presenting visual effects associated with said respective avatar features; The method of any one of claims 1 to 19, further comprising:
21. the first portion of the user includes a first physical characteristic and a second physical characteristic; the first value of the variable display characteristic represents a higher visual fidelity of the respective avatar feature with respect to the pose of the first physical characteristic of the user than the second value of the variable display characteristic; Presenting the avatar with the respective avatar feature having the second value of the variable display characteristic includes: presenting the avatar with a rendering of the first physical characteristic based on a corresponding physical characteristic of the user and a rendering of the second physical characteristic based on a corresponding physical characteristic not of the user.
21. The method according to any one of claims 1 to 20.
22. The method of any preceding claim, wherein the attitude data is generated from a plurality of sensors.
23. The method of claim 22 , wherein the plurality of sensors includes one or more camera sensors associated with the computer system.
24. The method of any one of claims 22 to 23, wherein the plurality of sensors includes one or more camera sensors separate from the computer system.
25. The method of any one of claims 22 to 24, wherein the plurality of sensors includes one or more non-visual sensors.
26. The method of any one of the preceding claims, wherein the pose of at least the first part of the user is determined using an interpolation function.
27. A method according to any preceding claim, wherein the pose data comprises data generated from prior scan data capturing information about the appearance of a user of the computer system.
28. A method according to any preceding claim, wherein the pose data comprises data generated from prior media data.
29. the pose data includes video data including at least the first portion of the user; presenting the avatar includes presenting a modeled avatar including the respective avatar features rendered using the video data including the first portion of the user.
29. The method according to any one of claims 1 to 28.
30. Presenting the avatar includes: presenting the avatar with the respective avatar features and a first amount of avatar features other than the respective avatar features in response to a determination that an input indicating a first rendering value of the avatar has been received; presenting the avatar with a second amount of the avatar feature and the avatar feature other than the respective avatar feature, the second amount being different from the first amount, in response to a determination that an input has been received indicating a second rendering value of the avatar that is different from the first rendering value; The method according to any one of claims 1 to 29, comprising:
31. causing, via the display generation component, a representation of a user associated with the display generation component, the representation of the user associated with the display generation component corresponding to an appearance of the user associated with the display generation component presented to one or more users other than the user associated with the display generation component; The method of any one of claims 1 to 30, further comprising:
32. Presenting the avatar includes presenting the avatar with the respective avatar features having a first appearance based on a first appearance of the first portion of the user, the method comprising: receiving data indicative of an updated appearance of the first portion of the user; causing, via the display generation component, to present the avatar with the respective avatar features having an updated appearance based on the updated appearance of the first portion of the user; The method of any one of claims 1 to 31, further comprising:
33. the pose data further represents an object associated with the first portion of the user; Presenting the avatar includes: presenting the avatar along with a representation of the object adjacent to each of the avatar features.
33. The method according to any one of claims 1 to 32.
34. The pose of the first portion of the user is associated with a fifth certainty value; Presenting the avatar includes: presenting the avatar with the respective avatar features having values of the variable display characteristics indicative of a certainty value less than the fifth certainty value in accordance with a determination that the first portion of the user is a first feature type.
34. The method according to any one of claims 1 to 33.
35. The pose of the first portion of the user is associated with a sixth certainty value; Presenting the avatar includes: and presenting the avatar with the respective avatar features having values of the variable display characteristics indicative of a certainty value greater than the sixth certainty value in accordance with a determination that the first portion of the user is a second feature type.
35. The method according to any one of claims 1 to 34.
36. 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 including instructions for performing a method according to any one of claims 1 to 35.
37. 1. A computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing the method according to any one of claims 1 to 35. Computer system.
38. 1. A computer system comprising: Means for carrying out the method according to any one of claims 1 to 35. A computer system comprising:
39. 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: receiving pose data representative of a pose of at least a first portion of a user; causing, via the display generation component, an avatar to be presented, the avatar including each presented avatar feature corresponding to the first portion of the user and having a variable display characteristic indicative of a certainty of the pose of the first portion of the user; presenting the avatar includes instructions for: presenting the avatar with the respective avatar features having a first value of the variable display characteristic in accordance with a determination that the pose of the first portion of the user is associated with a first certainty value; presenting the avatar with the respective avatar feature having a second value of the variable display characteristic that is different from the first value of the variable display characteristic in accordance with a determination that the pose of the first portion of the user is associated with a second certainty value that is different from the first certainty value; A non-transitory computer readable storage medium comprising:
40. 1. A computer system comprising: one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; 11. An electronic device comprising: receiving pose data representative of a pose of at least a first portion of a user; causing, via a display generation component, to present an avatar, the avatar including each presented avatar feature corresponding to the first portion of the user and having a variable display characteristic indicative of a certainty of the pose of the first portion of the user; presenting the avatar includes instructions for: presenting the avatar with the respective avatar features having a first value of the variable display characteristic in accordance with a determination that the pose of the first portion of the user is associated with a first certainty value; presenting the avatar with the respective avatar feature having a second value of the variable display characteristic that is different from the first value of the variable display characteristic in accordance with a determination that the pose of the first portion of the user is associated with a second certainty value that is different from the first certainty value; 2. A computer system comprising:
41. 1. A computer system comprising: means for receiving pose data representative of a pose of at least a first portion of a user; and means for causing, via a display generation component, to present an avatar, the avatar including respective presented avatar features corresponding to the first portion of the user and having variable display characteristics indicative of a certainty of the pose of the first portion of the user, wherein presenting the avatar comprises: presenting the avatar with the respective avatar features having a first value of the variable display characteristic in accordance with a determination that the pose of the first portion of the user is associated with a first certainty value; presenting the avatar with the respective avatar feature having a second value of the variable display characteristic that is different from the first value of the variable display characteristic in accordance with a determination that the pose of the first portion of the user is associated with a second certainty value that is different from the first certainty value; 2. A computer system comprising:
42. 1. A method comprising: A computer system in communication with a display generation component, comprising: receiving first data indicating a current activity of one or more users is a first type of activity; updating, via the display generation component, a representation of a first user with a first appearance based on a first appearance template in response to receiving the first data indicating that the current activity is the first type of activity; receiving second data indicative of a current activity of one or more users while causing the representation of the first user having the first appearance to be presented; in response to receiving the second data indicative of the current activity of the one or more users, updating the appearance of the representation of the first user based on the current activity of the one or more users; in response to determining that the current activity is the first type of activity, causing, via the display generation component, to present the representation of the first user having a second appearance based on the first appearance template; and in response to a determination that the current activity is a second type of activity different from the first type, causing, via the display generation component, to present the representation of the first user having a third appearance based on a second appearance template different from the first appearance template. method.
43. the activities of the first type are activities of the first user performed at a first location; the second type of activity is an activity of the first user performed at a second location different from the first location; 43. The method of claim 42.
44. the activity of the first type includes an interaction between the first user and the one or more users; the second type of activity does not include an interaction between the first user and the one or more users; 44. The method according to any one of claims 42 to 43.
45. 45. The method of claim 44, wherein the first appearance template corresponds to a more realistic appearance of the first user than the second appearance template.
46. the activities of the first type are non-manual activities; the activities of the second type are manual activities; the representation of the first user includes respective presented hand portions corresponding to hands of the first user and having variable display characteristics; Causing the representation of the first user to have the third appearance based on the second appearance template includes: presenting the representation of the first user with the respective hand parts having a first value of the variable display characteristic in accordance with a determination that the activity of the second type includes the hands of the first user interacting with an object to perform the manual activity; and presenting the representation of the first user with the respective hand parts having a second value of the variable display characteristic that is different from the first value of the variable display characteristic in accordance with a determination that the second type of the activity does not include the hands of the first user interacting with an object to perform the manual activity.
46. The method according to any one of claims 42 to 45.
47. the activities of the first type are activities associated with interactions with the first participant; the second type of activity is an activity that is not associated with an interaction with the first participant; Presenting the representation of the first user having the second appearance based on the first appearance template includes presenting the representation of the first user having a first value of a variable display characteristic indicative of a first visual fidelity of the representation of the first user; presenting the representation of the first user having the third appearance based on the second appearance template includes presenting the representation of the first user having a second value of the variable display characteristic indicative of a second visual fidelity of the representation of the first user that is lower than the first visual fidelity of the representation of the first user.
47. The method according to any one of claims 42 to 46.
48. The display generation component is associated with a second user, and the method further comprises: receiving, via the display generation component, third data indicative of a focus position of the second user while presenting a representation of a third user having a first value of a variable display characteristic; and in response to receiving the third data indicative of the focus position of the second user, updating, via the display generation component, the representation of the third user based on the focus position of the second user; increasing the value of the variable display characteristic of the representation of the third user in accordance with a determination that the focus position of the second user corresponds to a position of the representation of the third user; and decreasing the value of the variable display characteristic of the representation of the third user in accordance with a determination that the focus position of the second user does not correspond to a position of the representation of the third user.
48. The method according to any one of claims 42 to 47.
49. the first appearance template corresponds to an abstract shape; the second appearance template corresponds to an anthropomorphic shape; 49. The method according to any one of claims 42 to 48.
50. 50. 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 including instructions for performing the method of any one of claims 42 to 49.
51. 1. A computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing the method of any one of claims 42 to 49.
52. 1. A computer system comprising: Means for carrying out the method according to any one of claims 42 to 49. A computer system comprising:
53. 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: receiving first data indicating a current activity of one or more users is a first type of activity; in response to receiving the first data indicating that the current activity is the first type of activity, updating via the display generation component a representation of a first user with a first appearance based on a first appearance template; receiving second data indicative of a current activity of one or more users while causing the representation of the first user having the first appearance to be presented; responsive to receiving the second data indicative of the current activity of the one or more users, updating the appearance of the representation of the first user based on the current activity of the one or more users; in response to determining that the current activity is the first type of activity, causing, via the display generation component, to present the representation of the first user having a second appearance based on the first appearance template; and in response to a determination that the current activity is a second type of activity different from the first type, causing, via the display generation component, to present the representation of the first user having a third appearance based on a second appearance template different from the first appearance template. A non-transitory computer-readable storage medium.
54. 1. A computer system comprising: one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; 11. A computer system comprising: receiving first data indicating a current activity of one or more users is a first type of activity; in response to receiving the first data indicating that the current activity is the first type of activity, updating via the display generation component a representation of a first user with a first appearance based on a first appearance template; receiving second data indicative of a current activity of one or more users while causing the representation of the first user having the first appearance to be presented; responsive to receiving the second data indicative of the current activity of the one or more users, updating the appearance of the representation of the first user based on the current activity of the one or more users. Includes instructions, in response to determining that the current activity is the first type of activity, causing, via the display generation component, to present the representation of the first user having a second appearance based on the first appearance template; and in response to a determination that the current activity is a second type of activity different from the first type, causing, via the display generation component, to present the representation of the first user having a third appearance based on a second appearance template different from the first appearance template. Computer system.
55. 1. A computer system comprising: means for receiving first data indicating a current activity of one or more users is a first type of activity; means for updating, via the display generation component, a representation of a first user with a first appearance based on a first appearance template in response to receiving the first data indicating that the current activity is the first type of activity; means for receiving second data indicative of a current activity of one or more users while causing the representation of the first user having the first appearance to be presented; means for updating the appearance of the representation of the first user based on the current activity of the one or more users in response to receiving the second data indicative of the current activity of the one or more users; in response to determining that the current activity is the first type of activity, causing, via the display generation component, to present the representation of the first user having a second appearance based on the first appearance template; and in response to a determination that the current activity is a second type of activity different from the first type, causing, via the display generation component, to present the representation of the first user having a third appearance based on a second appearance template different from the first appearance template. Computer system.
Citation Information
Patent Citations
Conference system, conference method and program
JP2014225801A
Communication system and method for providing a bionic virtual meeting room
US20180232934A1
Avatar display system, device, method, and program
WO2010143359A1
Information processing device, information processing method, and recording medium
WO2019176236A1