Gaze-based user interactions

Gaze-based interaction offers a more intuitive and efficient way to control electronic devices, particularly in virtual and mixed reality environments, by utilizing eye movements and gestures to interact with user interface objects.

JP2025069144APending Publication Date: 2025-04-30APPLE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025001924
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-09-21
Filing Date
2025-01-06
Publication Date
2025-04-30

AI Technical Summary

Technical Problem

Traditional electronic devices rely on input mechanisms like keyboards, buttons, and touchscreens, which can be cumbersome and less natural for users, especially in contexts like computer-generated reality where intuitive interaction is desired.

Method used

The use of gaze-based interactions allows users to control electronic devices primarily through eye movements, gaze direction, and eye gestures, enabling more natural and efficient interaction with user interface objects.

Benefits of technology

Gaze-based interaction provides a more intuitive and efficient way to interact with electronic devices, particularly in environments like virtual and mixed reality, by allowing users to select and manipulate objects without physical contact.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025069144000001_ABST
    Figure 2025069144000001_ABST
Patent Text Reader

Abstract

To interact with user interface objects using an eye gaze.SOLUTION: In an exemplary process for interacting with user interface objects using an eye gaze, an affordance associated with a first object is displayed. A gaze direction or gaze depth is determined. While the gaze direction or gaze depth is determined to correspond to a gaze at the affordance, a first input representing user instruction to take action on the affordance is received, and the affordance is selected in response to receiving the first input.SELECTED DRAWING: Figure 1A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates generally to user interfaces for interacting with electronic devices, and more particularly to user interfaces for interacting with electronic devices using gaze. [Background technology]

[0002] This application claims priority to U.S. patent application Ser. No. 62 / 566,073, entitled "Accessing Functions of External Devices Using Reality Interfaces," filed Sep. 29, 2017; U.S. patent application Ser. No. 62 / 566,080, entitled "Controlling External Devices Using Reality Interfaces," filed Sep. 29, 2017; U.S. patent application Ser. No. 62 / 566,206, entitled "Gaze based User Interactions," filed Sep. 29, 2017; and U.S. patent application Ser. No. 62 / 734,678, entitled "Gaze based User Interactions," filed Sep. 21, 2018, each of which is incorporated by reference in its entirety for all purposes. 2. Description of Related Art

[0003] Conventional electronic devices receive input from a user using input mechanisms such as keyboards, buttons, joysticks, and touch screens. Some conventional devices also include a screen that displays content in response to the user's input. Such input mechanisms and displays provide an interface for a user to interact with the electronic device. Summary of the Invention

[0004] This disclosure describes techniques for interacting with electronic devices using gaze. According to some embodiments, a user uses his or her eyes to interact with user interface objects displayed on an electronic device. This technique, in some exemplary embodiments, provides a more natural and efficient interface by allowing a user to operate the device primarily using gaze and eye gestures (e.g., eye movement, blinking, and gaze). Techniques are also described for quickly specifying an initial location using gaze (e.g., to select or place an object) and then moving the specified location without using gaze, since it may be difficult to precisely locate the specified location due to uncertainty and instability of the user's gaze position. This technique can be applied to traditional user interfaces on devices such as desktop computers, laptops, tablets, and smartphones. This technique is also beneficial for computer-generated reality (including virtual reality and mixed reality) devices and applications, as described in more detail below.

[0005] According to some embodiments, an affordance associated with a first displayed object is displayed and a gaze direction or gaze depth is determined. A determination is made whether the gaze direction or gaze depth corresponds to a line of sight toward the affordance. A first input representing a command to take an action on the affordance is received, while the gaze direction or gaze depth is determined to correspond to a line of sight toward the affordance, and the affordance is selected in response to receiving the first input.

[0006] According to some embodiments, a first affordance and a second affordance are simultaneously displayed and a first gaze direction or a first gaze depth of one or more eyes is determined. A determination is made whether the first gaze direction or the first gaze depth corresponds to a gaze towards both the first affordance and the second affordance. In response to determining that the first gaze direction or the first gaze depth corresponds to a gaze towards both the first affordance and the second affordance, the first affordance and the second affordance are enlarged.

[0007] According to some embodiments, an electronic device is adapted to display a field of view of a three-dimensional computer-generated reality environment, the field of view being rendered from a viewing perspective. A first object is displayed simultaneously with a second object, the first object being presented closer to a viewing position than the second object. A gaze position is determined. In accordance with a determination that the gaze position corresponds to a gaze to the first object, a display of the second object is visually altered. In accordance with a determination that the gaze position corresponds to a gaze to the second object, a display of the first object is visually altered.

[0008] According to some embodiments, a first user input is received at a first time. In response to receiving the first user input, a selection point is designated at a first location corresponding to a gaze position at the first time. A second user input is received while maintaining the designation of the selection point. In response to receiving the second user input, the selection point is moved to a second location different from the first location, and moving the selection point to the second location is not based on the gaze position. A third user input is received while the selection point is at the second location. In response to receiving the third user input, the selection point is confirmed at the second location.

[0009] According to some embodiments, a first user input is received at a first time. In response to receiving the first user input, a first object of the plurality of objects corresponding to the gaze position at the first time is designated. A second user input is received while maintaining the designation of the first object. In response to receiving the second user input, the designation of the first object is stopped and a second object of the plurality of objects is designated, where the designation of the second object is not based on the gaze position. A third user input is received while maintaining the designation of the second object. In response to receiving the third user input, the second object is selected.

[0010] According to some embodiments, an object is selected. A first user input is received at a first time while maintaining the selection of the object. In response to receiving the first user input, a location point is designated at a first location based on a gaze position at the first time, the first location corresponding to the gaze position at the first time. A second user input is received while maintaining the designation of the location point. In response to receiving the second user input, the location point is moved to a second location different from the first location, the moving of the location point to the second location not based on the gaze position. A third user input is received, and in response to receiving the third user input, the selected object is positioned at the second location. [Brief description of the drawings]

[0011] For a better understanding of the various described embodiments, please refer to the following Detailed Description of the Invention in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout: [Figure 1A] 1 illustrates an exemplary system for use with various computer-generated reality technologies, including virtual reality and mixed reality. [Figure 1B] 1 illustrates an exemplary system for use with various computer-generated reality technologies, including virtual reality and mixed reality. [Figure 1C] 1 illustrates an embodiment of a system in the form of a mobile device. [Figure 1D] 1 illustrates an embodiment of a system in the form of a mobile device. [Figure 1E] 1 illustrates an embodiment of a system in the form of a mobile device. [Figure 1F] 1 illustrates an embodiment of a system in the form of a head mounted display (HMD) device. [Figure 1G] 1 illustrates an embodiment of a system in the form of a head mounted display (HMD) device. [Figure 1H] 1 illustrates an embodiment of a system in the form of a head mounted display (HMD) device. [Figure 1I] 1 illustrates an embodiment of a system in the form of a head-up display (HUD) device. [Diagram 2] 1 illustrates a user looking at an object, according to various embodiments. [Diagram 3] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 4] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Diagram 5] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 6] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 7] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 8] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 9] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 10]1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 11] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 12] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 13] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 14] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 15] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 16] 1 illustrates a flowchart of an exemplary process for interacting with an electronic device using gaze, according to various embodiments. [Figure 17] 1 illustrates a flowchart of an exemplary process for interacting with an electronic device using gaze, according to various embodiments. [Figure 18] 1 illustrates a flowchart of an exemplary process for interacting with an electronic device using gaze, according to various embodiments. [Figure 19A] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19B] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19C] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19D] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19E] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19F] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19G] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19H] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19I] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19J] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19K] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19L] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19M] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19N] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19O] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19P] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19Q] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19R] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19S]1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19T] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19U] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19V] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19W] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Fig. 19X] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 19Y] 1 illustrates a user interface for interacting with an electronic device using gaze, according to various embodiments. [Figure 20] 1 illustrates a flowchart of an exemplary process for interacting with an electronic device using gaze, according to various embodiments. [Figure 21] 1 illustrates a flowchart of an exemplary process for interacting with an electronic device using gaze, according to various embodiments. [Figure 22] 1 illustrates a flowchart of an exemplary process for interacting with an electronic device using gaze, according to various embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] The following description sets forth example methods, parameters, etc., however, it should be recognized that such description is not intended as a limitation on the scope of the present disclosure, but is instead provided as a description of example embodiments.

[0013] Various embodiments of electronic systems and techniques for using such systems in conjunction with various computer-generated reality technologies, including virtual reality and mixed reality, which incorporate sensory input from the physical environment, are described.

[0014] The physical environment (or real 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 items (or physical objects or real-world objects), such as physical trees, physical buildings, and physical people. People can directly sense and / or interact with the physical environment through their senses of sight, touch, hearing, taste, smell, etc.

[0015] In contrast, a computer-generated reality (CGR) environment refers to a wholly or partially simulated environment that people sense and / or interact with via electronic systems. In a CGR, a subset of a person's body movements or a representation thereof is 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 may change in a physical environment. In some circumstances (e.g., for accessibility reasons), adjustments to the property(s) of the virtual object(s) in the CGR environment may be made in response to a representation of body movements (e.g., voice commands).

[0016] 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 an audio object that creates a 3D or spatial audio environment that provides the perception of a point audio source in 3D space. In another example, an audio object may enable audio transparency, selectively incorporating 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 the audio object.

[0017] Examples of CGR include virtual reality and mixed reality.

[0018] A virtual reality (VR) environment (or virtual environment) refers to a simulated environment designed to be based entirely on computer-generated sensory input for one or more senses. A VR environment includes multiple 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.

[0019] In contrast to a VR environment, which is designed to be based entirely on computer-generated sensory input, a mixed reality (MR) environment refers to a simulated environment that is designed to incorporate sensory input from, or representations of, the physical environment in addition to including computer-generated sensory input (e.g., virtual objects). On the virtual continuum, a mixed reality environment is anywhere between, but not including, a fully physical environment at one end and a virtual reality environment at the other end.

[0020] In some MR environments, computer-generated sensory inputs may respond to changes in sensory inputs from the physical environment. Also, some electronic systems for presenting MR environments can track location 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 a representation thereof). For example, the system can account for movement so that a virtual tree appears stationary relative to the physical ground.

[0021] Examples of mixed reality include augmented reality and augmented virtuality.

[0022] An augmented reality (AR) environment refers to a simulated environment in which one or more virtual objects are overlaid 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 the virtual objects on the transparent or semi-transparent display, whereby the person uses the system to perceive the virtual objects overlaid on the physical environment. Alternatively, the system may have an opaque display and one or more image sensors that capture images or videos of the physical environment that 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. The person uses the system to indirectly view the physical environment through the images or videos of the physical environment and perceive the virtual objects overlaid on the physical environment. As used herein, a video of a physical environment shown on an opaque display is referred to as a "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. Further alternatively, the system may include a projection system that projects virtual objects into the physical environment, for example as holograms or onto physical surfaces, so that a person using the system perceives the virtual objects as overlaid on the physical environment.

[0023] Augmented reality environments also refer to simulated environments in which a representation of a physical environment is transformed by computer-generated sensory information. For example, in providing pass-through video, the system may transform one or more sensor images to impose a selected perspective viewpoint (e.g., a point of view) that is different from the viewpoint captured by the image sensor. As another example, the representation of the physical environment may be transformed by graphically altering (e.g., magnifying) a portion thereof, such that the altered portion may become a representative but less realistic version of the original captured image. As a further example, the representation of the physical environment may be transformed by graphically removing or obscuring a portion thereof.

[0024] An augmented virtual (AV) environment refers to a simulated 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 reproduced 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 image sensors. As a further example, virtual objects may adopt shadows that match the position of the sun in the physical environment.

[0025] A wide variety of electronic systems exist that allow a person to sense and / or interact with various CGR environments. Examples include head-mounted systems, projection-based systems, head-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, the head-mounted system may be configured to accept an external opaque display (e.g., a smartphone). The head-mounted system may incorporate one or more image sensors for capturing images or video of the physical environment and / or one or more microphones for capturing audio of the physical environment. Rather than an opaque display, the head-mounted system may have a transparent or translucent display. A transparent or translucent display may have a medium through which light representing an image is directed to a person's 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, the 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 human retina. A projection system may also be configured to project virtual objects into the physical environment, for example, as a hologram or onto a physical surface.

[0026] 1A and 1B illustrate an exemplary system 100 for use in various computer-generated reality technologies, including virtual reality and mixed reality.

[0027] 1A, system 100 includes device 100a. Device 100a includes various components, such as processor(s) 102, RF circuit(s) 104, memory(s) 106, image sensor(s) 108, orientation sensor(s) 110, microphone(s) 112, position sensor(s) 116, speaker(s) 118, display(s) 120, and touch-sensitive surface 122. These components optionally communicate via communication bus(es) 150 of device 100a.

[0028] In some embodiments, elements of system 100 are implemented in a base station device (e.g., a computing device such as a remote server, a mobile device, or a laptop) and other elements of system 100 are implemented in a head mounted display (HMD) device designed to be worn by a user, the HMD device being in communication with the base station device. In some embodiments, device 100a is implemented in the base station device or the HMD device.

[0029] 1B, in some embodiments, system 100 includes two (or more) devices that communicate via wired or wireless connections, etc. A first device 100b (e.g., a base station device) includes processor(s) 102, RF circuit(s) 104, and memory(s) 106. These components optionally communicate via communication bus(es) 150 of device 100b. Second device 100c (e.g., a head-mounted device) includes various components, such as processor(s) 102, RF circuit(s) 104, memory(s) 106, image sensor(s) 108, orientation sensor(s) 110, microphone(s) 112, position sensor(s) 116, speaker(s) 118, display(s) 120, and touch-sensitive surface 122. These components optionally communicate via communication bus(es) 150 of device 100c.

[0030] In some embodiments, system 100 is a mobile device, such as the embodiment described with respect to device 100a in Figures 1C-1E. In some embodiments, system 100 is a head mounted display (HMD) device, such as the embodiment described with respect to device 100a in Figures 1F-1H. In some embodiments, system 100 is a wearable HUD device, such as the embodiment described with respect to device 100a in Figure 1I.

[0031] System 100 includes processor(s) 102 and memory(s) 106. Processor(s) 102 include one or more general purpose processors, one or more graphics processors, and / or one or more digital signal processors. In some embodiments, memory(s) 106 are one or more non-transitory computer-readable storage media (e.g., flash memory, random access memory) that store computer-readable instructions configured to be executed by processor(s) 102 to perform the techniques described below.

[0032] System 100 includes RF circuit(s) 104. RF circuit(s) 104 optionally include circuitry for communicating with electronic devices, networks such as the Internet, an intranet, and / or wireless networks such as cellular networks and wireless local area networks (LANs). RF circuit(s) 104 optionally include circuitry for communicating using near field communication and / or short range communication such as Bluetooth.

[0033] System 100 includes display(s) 120. In some embodiments, display(s) 120 includes a first display (e.g., a left-eye display panel) and a second display (e.g., a right-eye display panel), each display displaying an image to a respective eye of a user. Corresponding images are displayed simultaneously on the first display and the second display. Optionally, the corresponding images include the same virtual object and / or representation of the same physical object from different viewpoints, resulting in a parallax effect that provides the user with an illusion of depth of the object on the display. In some embodiments, display(s) 120 includes a single display. Corresponding images are displayed simultaneously on a first region and a second region of the single display, for each eye of the user. Optionally, the corresponding images include the same virtual object and / or representation of the same physical object from different viewpoints, resulting in a parallax effect that provides the user with an illusion of depth of the object on the single display.

[0034] In some embodiments, system 100 includes touch-sensitive surface(s) 122 for receiving user input, such as tap and swipe inputs. In some embodiments, display(s) 120 and touch-sensitive surface(s) 122 form touch-sensitive display(s).

[0035] The system 100 includes image sensor(s) 108. The image sensor(s) 108 optionally include one or more visible light image sensors, such as a charge-coupled device (CCD) sensor, and / or a complementary metal-oxide semiconductor (CMOS) sensor operable to capture images of physical objects from the real environment. The image sensor(s) also optionally include one or more infrared (IR) sensor(s), such as a passive IR sensor or an active IR sensor, for detecting infrared light from the real environment. For example, an active IR sensor includes an IR emitter, such as an IR dot emitter, for emitting infrared light into the real environment. The image sensor(s) 108 also optionally include one or more event cameras configured to capture movement of physical objects in the real environment. The image sensor(s) 108 also optionally include one or more depth sensors configured to detect a distance of a physical object from the system 100. In some embodiments, the system 100 uses a combination of a CCD sensor, an event camera, and a depth sensor to detect the physical environment around the system 100. In some embodiments, the image sensor(s) 108 include a first image sensor and a second image sensor. The first image sensor and the second image sensor are configured to capture images of a physical object in the real environment, optionally from two different perspectives. In some embodiments, the system 100 uses the image sensor(s) 108 to receive user input, such as a hand gesture. In some embodiments, the system 100 uses the image sensor(s) 108 to detect the position and orientation of the system 100 and / or the display(s) 120 in the real environment. For example, the system 100 uses the image sensor(s) 108 to track the position and orientation of the display(s) 120 relative to one or more fixed objects in the real environment.

[0036] In some embodiments, system 100 includes microphone(s) 112. System 100 uses microphone(s) 112 to detect sounds from the user and / or the user's real-world environment. In some embodiments, microphone(s) 112 includes an array of microphones (including multiple microphones) optionally operating side-by-side to identify ambient noise or to identify the location of a sound source within the space of the real-world environment.

[0037] System 100 includes orientation sensor(s) 110 for detecting orientation and / or movement of system 100 and / or display(s) 120. For example, system 100 uses orientation sensor(s) 110 to track changes in position and / or orientation of system 100 and / or display(s) 120 with respect to physical objects in a real-world environment, etc. Orientation sensor(s) 110 include one or more gyroscopes and / or one or more accelerometers.

[0038] 1C-1E show an embodiment of the system 100 in the form of a device 100a. In FIG. 1C-1E, the device 100a is a mobile device such as a mobile phone. FIG. 1C shows the device 100a implementing virtual reality technology. The device 100a displays on the display 120 a virtual environment 160 including virtual objects such as a sun 160a, a bird 160b, and a beach 160c. Both the displayed virtual environment 160 and the virtual objects (e.g., 160a, 160b, 160c) of the virtual environment 160 are computer-generated images. It is noted that the virtual reality environment shown in FIG. 1C does not include representations of physical objects from the real environment 180, such as a physical person 180a and a physical tree 180b, even though these elements of the real environment 180 are within the field of view of the image sensor(s) 108 of the device 100a.

[0039] FIG. 1D illustrates a device 100a that uses pass-through video to perform mixed reality and, in particular, augmented reality. The device 100a displays a representation 170 of a real environment 180 along with virtual objects on the display 120. The representation 170 of the real environment 180 includes a representation 170a of a person 180a and a representation 170b of a tree 180b. For example, the device uses an image sensor(s) 108 to capture an image of the real environment 180 that is passed through for display on the display 120. The device 100a overlays a hat 160d, a virtual object generated by the device 100a, on the head of the representation 170a of the person 180a. The device 100a tracks the position and / or orientation of a physical object relative to the position and / or orientation of the device 100a to enable the virtual object to interact with the physical object from the real environment in the augmented reality environment. In this embodiment, the device 100a takes into account the movement of the device 100a and the person 180a to display the hat 160d as being on the head of the representation 170a of the person 180a, even as the device 100a and the person 180a move relative to each other.

[0040] 1E shows a device 100a implementing mixed reality and in particular augmented virtuality techniques. The device 100a displays a virtual environment 160 on the display 120 together with representations of physical objects. The virtual environment 160 includes virtual objects (e.g., a sun 160a, a bird 160b) and a representation 170a of a person 180a. For example, the device 100a captures an image of the person 180a in the real environment 180 using the image sensor(s) 108. The device 100a positions the representation 170a of the person 180a in the virtual environment 160 for display on the display 120. The device 100a optionally tracks the position and / or orientation of the physical object relative to the position and / or orientation of the device 100a to enable the virtual object to interact with the physical object from the real environment 180. In this embodiment, device 100a takes into account movement of device 100a and person 180a to display hat 160d as being on the head of representation 170a of person 180a. Notably, in this embodiment, device 100a, when performing mixed reality techniques, does not display a representation of tree 180b even though tree 180b is also within the field of view of image sensor(s) of device 100a.

[0041] 1F-1H show an embodiment of a system 100 in the form of a device 100a. In FIG. 1F-1H, the device 100a is an HMD device configured to be worn on a user's head, with each eye of the user looking at a respective display 120a and 120b. FIG. 1F shows the device 100a implementing virtual reality technology. The device 100a displays a virtual environment 160 on the displays 120a and 120b, including virtual objects such as a sun 160a, a bird 160b, and a beach 160c. The displayed virtual environment 160 and virtual objects (e.g., 160a, 160b, 160c) are computer-generated images. In this embodiment, the device 100a simultaneously displays corresponding images on the displays 120a and 120b. The corresponding images include the same virtual environment 160 and virtual objects (e.g., 160a, 160b, 160c) from different viewpoints, resulting in a parallax effect that provides the user with the illusion of depth of the objects on the display. Note that the virtual reality environment shown in FIG. 1F does not include representations of physical objects from the real environment, such as the person 180a and the tree 180b, even though the person 180a and the tree 180b are within the field of view of the image sensor(s) of the device 100a when implementing the virtual reality technology.

[0042] FIG. 1G illustrates a device 100a that performs augmented reality techniques using pass-through video. The device 100a displays a representation 170 of a real environment 180 along with a virtual object on the displays 120a and 120b. The representation 170 of the real environment 180 includes a representation 170a of a person 180a and a representation 170b of a tree 180b. For example, the device 100a uses an image sensor(s) 108 to capture images of the real environment 180 that are passed through for display on the displays 120a and 120b. The device 100a overlays a computer-generated hat 160d (a virtual object) on the head of the representation 170a of the person 180a for display on each of the displays 120a and 120b. The device 100a tracks the position and / or orientation of a physical object relative to the position and / or orientation of the device 100a to enable the virtual object to interact with the physical object from the real environment 180. In this embodiment, the device 100a takes into account the movements of the device 100a and the person 180a to display the hat 160d as being on the head of the representation 170a of the person 180a.

[0043] 1H illustrates a device 100a that uses pass-through video to perform mixed reality techniques, specifically augmented virtual techniques. The device 100a displays a virtual environment 160 on the displays 120a and 120b along with representations of physical objects. The virtual environment 160 includes virtual objects (e.g., a sun 160a, a bird 160b) and a representation 170a of a person 180a. For example, the device 100a captures an image of the person 180a using the image sensor(s) 108. The device 100a positions the representation 170a of the person 180a within the virtual environment for display on the displays 120a and 120b. The device 100a optionally tracks the position and / or orientation of the physical objects relative to the position and / or orientation of the device 100a to enable the virtual objects to interact with the physical objects from the real environment 180. In this embodiment, device 100a takes into account movement of device 100a and person 180a to display hat 160d as being on the head of representation 170a of person 180a. Notably, in this embodiment, device 100a, when performing mixed reality techniques, does not display a representation of tree 180b even though tree 180b is also within the field of view of image sensor(s) 108 of device 100a.

[0044] FIG. 1I illustrates an embodiment of the system 100 in the form of a device 100a. In FIG. 1I, the device 100a is a HUD device (e.g., a glasses device) configured to be worn on a user's head, with each eye of the user viewing a respective head-up display 120c and 120d. FIG. 1I illustrates the device 100a performing an augmented reality technique using the head-up displays 120c and 120d. The head-up displays 120c and 120d are (at least partially) transparent displays, such that the user can view the real environment 180 in combination with the head-up displays 120c and 120d. The device 100a displays a virtual hat 160d (a virtual object) on each of the head-up displays 120c and 120d. The device 100a tracks the position and / or orientation of a physical object in the real environment relative to the position and / or orientation of the device 100a and relative to the position of the user's eyes to enable the virtual object to interact with the physical object from the real environment 180. In this embodiment, device 100a takes into account the movement of device 100a, the movement of the user's eyes relative to device 100a, and the movement of person 180a to display hat 160d at a position on displays 120c and 120d such that the user sees hat 160d as being on the head of person 180a.

[0045] 2-15, exemplary techniques for interacting with an electronic device using gaze are described.

[0046] Figure 2 shows a top view of a user 200 with their line of sight focused on an object 210. The user's line of sight is defined by the visual axis of each of the user's eyes. The direction of the visual axes defines the user's gaze direction, and the distance at which the axes converge defines the gaze depth. The gaze direction is also sometimes called the gaze vector or line of sight. In Figure 2, the gaze direction is the direction of the object 210, and the gaze depth is the distance D relative to the user.

[0047] In some embodiments, the center of the user's cornea, the center of the user's pupil, and / or the center of rotation of the user's eyeball are determined to determine the location of the visual axis of the user's eye, which can then be used to determine the user's gaze direction and / or gaze depth. In some embodiments, gaze depth is determined based on the convergence point of the visual axes of the user's eyes (or the location of the smallest distance between the visual axes of the user's eyes), or some other measurement of the focus of the user's eye(s). Optionally, gaze depth is used to estimate the distance at which the user's eyes are focused.

[0048] In FIG. 2, rays 201A and 201B are cast along the visual axis of the left and right eyes of user 200, respectively, and are optionally used to determine the user's gaze direction and / or gaze depth in what is called ray casting. FIG. 2 also shows cones 202A and 202B with angular ranges 203A and 203B, respectively. Cones 202A and 202B are also cast along the visual axis of the left and right eyes of user 200, respectively, and are optionally used to determine the user's gaze direction and / or gaze depth in what is called cone casting. Gaze direction and gaze depth often cannot be determined with absolute accuracy or precision due to factors such as eye movement, sensor movement, sampling frequency, sensor latency, sensor resolution, sensor misalignment, etc. Thus, in some embodiments, the angular resolution or (estimated) angular error is associated with the gaze direction. In some embodiments, the depth resolution is associated with the gaze depth. Optionally, the angular range of the cone(s) (eg, angular range 203A of cone 202A and angular range 203B of cone 202B) represents the angular resolution of the user's gaze direction.

[0049] FIG. 3 illustrates an electronic device 300 having a display 302. The electronic device 300 displays a virtual environment 304 including a virtual object 306. In some embodiments, the environment 304 is a CGR environment (e.g., a VR or MR environment). In the illustrated embodiment, the object 306 is an affordance with which the user 200 can interact using gaze. In some embodiments, the affordance 306 is associated with a physical object (e.g., an appliance or other device that can be controlled via interaction with the affordance 306). FIG. 3 also illustrates a view from above the user 200 showing the gaze direction of the user 200. The visual axis of each of the user's eyes is extrapolated onto the plane of the displayed representation of the virtual environment 304, which corresponds to the plane of the display 302 of the device 300. A spot 308 represents the gaze direction of the user 200 on the display 302.

[0050] As shown in FIG. 3, the gaze direction of the user 200 corresponds to the direction of the affordance 306. The term "affordance" refers to a graphical user interface object with which a user can interact. Examples of affordances include user-interactive images (e.g., icons), buttons, and text (e.g., hyperlinks). The electronic device 300 is configured to determine the gaze direction of the user 200. The device 300 captures data from a sensor pointed at the user and determines the gaze direction based on the data captured from the sensor. In some embodiments in which a three-dimensional representation of the scene 300 is presented, for example, in the embodiments described below with respect to FIGS. 9-12, the device 300 also (or alternatively) determines a gaze depth and determines whether the gaze depth corresponds to the affordance 306. Optionally, determining whether the gaze depth corresponds to the depth of the affordance is based, at least in part, on a depth resolution of the gaze depth.

[0051] In the illustrated embodiment, device 300 includes an image sensor 310 that is pointed at user 200 and captures image data of the user's 200 eyes. In some embodiments, device 300 includes an event camera that detects event data from the user (e.g., the user's eyes) based on changes in detected light intensity over time and uses the event data to determine gaze direction and / or gaze depth. Optionally, device 300 uses both image data and event data (e.g., from the image sensor and a separate event camera or sensor configured to capture image data and event data) to determine gaze direction and / or gaze depth. Optionally, device 300 uses ray casting and / or cone casting to determine gaze direction and / or gaze depth.

[0052] Based on the gaze direction, device 300 determines that the gaze direction corresponds to affordance 306 because the gaze direction is in the same direction as affordance 306 (e.g., a ray or cone cast from the eye of user 200 at least partially intersects affordance 306 or is within a margin of error of affordance 306). Optionally, determining that the gaze direction corresponds to affordance 306 is based, at least in part, on an angular resolution of the gaze direction. In some embodiments in which a three-dimensional representation of the scene is presented, device 300 also (or alternatively) determines whether a gaze depth corresponds to a depth of affordance 306. Optionally, determining whether a gaze depth corresponds to a depth of affordance 306 is based, at least in part, on a depth resolution of the gaze depth. Optionally, affordance 306 is also located at the gaze depth (or within a depth range based on the depth resolution of the gaze depth).

[0053] In some embodiments, the gaze direction and / or gaze depth is determined to continue to correspond to a line of sight to an affordance even after the gaze direction and / or gaze depth no longer overlaps with the affordance (e.g., when the gaze direction and / or gaze depth is initially determined to correspond to a line of sight to an affordance, the gaze direction and / or gaze depth is considered a line of sight to the affordance for at least a predetermined amount of time or for a predetermined amount of time after the user looks away from the affordance).

[0054] While the gaze direction is determined to correspond to a line of sight toward affordance 306, device 300 receives an input (referred to as a "confirmation action") representing an instruction to take an action on the affordance corresponding to the first object. For example, the confirm action is received while user 200 is determined to be looking at affordance 306.

[0055] In response to receiving the confirming action, the device 300 selects the affordance 306. That is, the affordance 306 is selected in response to a combination of the user looking at the affordance 306 and providing a confirming action. The confirming action is beneficial to prevent false positives (e.g., an inaccurate determination by the device 300 that the user 200 wishes to select or act on the affordance 306). Non-limiting examples of confirming actions include eye gestures, body gestures, voice input, controller input, or combinations thereof.

[0056] Examples of eye gestures include a single blink, multiple blinks, a predetermined number of blinks, a predetermined number of blinks within a predetermined time, a blink of a predetermined duration (e.g., closing the eyes for one second), a blink pattern (e.g., blinking once slowly followed by blinking twice rapidly), a wink, a wink with a particular eye, a wink pattern (e.g., left, right, left, each with a specified duration), a predetermined eye movement (e.g., looking up quickly), a "long" look or pondering (e.g., continuously maintaining a gaze direction in the direction of affordance 306 (or in a direction corresponding to affordance 306) for a predetermined period of time), or an eye movement that meets some other predetermined criteria.

[0057] Examples of hand gestures include placing a hand in a position corresponding to the position of the affordance 306 (e.g., between the user and the display of the affordance 306), waving a hand (e.g., a movement pointing to the affordance 306), or a gesture with a predefined movement pattern. In some embodiments, the hand gesture confirmation action depends on the position of the hand gesture (e.g., the hand gesture must be in a specific position). In some embodiments, the hand gesture confirmation action does not depend on the position of the hand gesture (e.g., the hand gesture is not position related).

[0058] Examples of voice input include voice commands (e.g., "pick it up" or "turn on the light"). In some embodiments, the voice input explicitly identifies the object associated with the affordance 306 (e.g., "select the box"). In some embodiments, the voice input does not explicitly identify the object associated with the affordance, but instead refers to the object using a rather ambiguous pronoun (e.g., "grab it").

[0059] With regard to controller input, in some embodiments device 300 communicates with a controller configured to receive input, for example, via a button, a trigger, a joystick, a scroll wheel, a knob, a keyboard, or a touch-sensitive surface (e.g., a touchpad or a touch-sensitive display). In some embodiments, the controller and device 300 are connected wirelessly or via a wired connection. Examples of controller input include pressing a button, pulling a trigger, moving a joystick, rotating a scroll wheel, rotating a knob, pressing a button on a keyboard, or a contact or gesture on a touch-sensitive surface (e.g., a tap or swipe).

[0060] In some embodiments, selecting the affordance 306 includes applying focus on the affordance 306. Optionally, the device 300 provides an indication that the affordance 306 has been selected. In some embodiments, the indication includes an audio output (e.g., a beep), a visual indication (e.g., outlining or highlighting the selected affordance), or a haptic output. Optionally, the affordance 306 remains selected for a predetermined time (e.g., focus is maintained on the affordance 306 for a predetermined time). Optionally, the affordance 306 remains selected until a deselection input is received. In some embodiments, the deselection input is the same input as the confirm action. In some embodiments, the deselection input is a different input than the confirm action. In some embodiments, the deselection input includes an eye gesture, a body gesture, a voice input, a controller input, or a combination or portion thereof, such as the example inputs described above.

[0061] In some embodiments, the affordance 306 remains selected until an action associated with the affordance 306 (or the object with which it is associated) is performed. FIG. 4 illustrates an example action performed on the affordance 306. While the affordance 306 is selected, the device 300 receives an input (e.g., an eye gesture, a body gesture, a voice input, a controller input, or a combination or portion thereof, such as the example inputs described above). In the illustrated example, the input includes the user 200 changing the position of his or her eyes such that his or her gaze direction moves on the display 302 from a position 308 to a position 400 shown in FIG. 4. In response to receiving the input, the device 300 performs an action associated with the affordance 306 according to the input. In some embodiments, the action associated with the affordance 306 is performed in response to the input that causes the device 300 to select the affordance 306 (e.g., selecting the affordance 306 includes performing the action associated with the affordance 306). In the example shown in FIG. 4, the device 300 moves the affordance 306 in accordance with the change in the user's 200 gaze direction, translating the affordance 306 upward and to the left on the display 302 from the position of the affordance 306 shown in FIG. 3 to the position shown in FIG. 4.

[0062] In addition to moving an affordance, example actions include transforming a representation of the affordance or an object associated with the affordance (e.g., rotating, twisting, stretching, compressing, expanding, and / or contracting the affordance 306) and changing the state of a device associated with the affordance (e.g., turning a lamp on or off). For example, in some embodiments, the affordance is a virtual dial associated with a thermostat. A user can select the virtual dial and then adjust the temperature of the thermostat. In some embodiments, as the object is moved, some aspects of the position of the affordance (or its associated object) are automatically determined. For example, if a virtual picture frame that is initially lying flat on a horizontal surface is moved to a wall, the frame is automatically rotated vertically so that it is lying flat against the wall.

[0063] Referring now to FIG. 5, a technique for resolving and selecting closely spaced objects is described. FIG. 5 illustrates a virtual environment 500 displayed on device 300. In some embodiments, environment 500 is a CGR environment (e.g., a VR or MR environment). Virtual environment 500 includes affordance 502 and affordance 504, each associated with a respective box on a virtual table 506, and displayed simultaneously on display 302. The dashed circle represents the gaze direction 508 of user 200 as determined by device 300. The radius of the circle represents the angular uncertainty of gaze direction 508. As shown in FIG. 5, gaze direction 508 overlaps both affordance 502 and affordance 504, indicating that user 200 is interested in one of the affordances. Although gaze direction 508 is slightly directed toward affordance 502, the angular uncertainty of gaze direction 508 is greater than the angular separation between affordance 502 and affordance 504, thereby preventing device 300 from determining with a sufficiently high degree of confidence that gaze direction 508 corresponds to a particular one of affordances 502 and 504. In other words, device 300 cannot resolve with sufficient confidence which affordance user 200 wants to select. Instead, device 200 determines that gaze direction 508 corresponds to both affordance 502 and affordance 504. In some embodiments in which a three-dimensional representation of a scene is presented, the depth separation between affordances may be less than the angular or depth resolution of the gaze position.

[0064] In response to determining that gaze direction 508 corresponds to both affordance 502 and affordance 504, device 300 magnifies affordance 502 and affordance 504. FIG. 6 shows affordance 502 and affordance 504 after being magnified (e.g., zoomed in). Affordance 502 and affordance 504 appear as if they have been moved from the top of table 506 and positioned closer to user 200. In FIG. 6, affordance 502 and affordance 504 are magnified by the same amount such that their relative sizes and positions remain the same (e.g., affordance 502 continues to appear to be in front of affordance 504). Zooming affordance 502 and affordance 504 increases the angular range of affordance 502 and affordance 504 and increases the angular separation between affordance 502 and affordance 504. Optionally, the amount of zoom is based on the size of the affordances and / or the gaze resolution (e.g., affordance 502 and affordance 504 are enlarged so that affordance 504 is at a predetermined minimum size.) In some embodiments, affordances 502 and 504 are zoomed such that device 300 can resolve (with a predetermined confidence) which affordance user 200 is intending to focus on.

[0065] In some embodiments, affordance 502 and affordance 504 are enlarged pursuant to a determination that user 200's gaze meets a predefined criterion (e.g., gaze direction 508 corresponds to both affordance 502 and affordance 504 for a predefined time or for a predefined time within a predefined time window (e.g., 3 seconds in a 4 second window)). In some embodiments, affordance 502 and affordance 504 are enlarged in response to device 300 receiving an input (e.g., eye gesture, hand gesture, voice input, or controller input as described above) while gaze direction 508 corresponds to both affordance 502 and affordance 504. In this manner, user 200 can improve control when device zooms content. Also, in this manner, device 300 can reduce or limit the moments when it invokes a zoom function to resolve gaze ambiguity for cases where resolution is required, thereby reducing distortion to the user and improving the user's experience. Optionally, the affordance corresponding to the gaze direction is magnified according to the input (e.g., a long and / or hard button press results in more magnification than a short and / or gentle button press). In some embodiments, the affordance is magnified according to a voice command (e.g., "zoom in 40%"). This allows user 200 increased control over the zoom.

[0066] The magnification of affordance 502 and affordance 504 provides user 200 with an improved view of the affordances, allowing user 200 to select one of the affordances more easily and confidently. For example, as shown in FIG. 6, after affordance 502 and affordance 504 are magnified, user 200 determines that he or she wishes to select affordance 502 and moves his or her gaze to a gaze direction 510 on affordance 502. In particular, gaze direction 510 no longer overlaps with affordance 504. Thus, device 300 determines (e.g., with a relatively high degree of confidence) that gaze direction 510 corresponds to the direction of affordance 502 (and does not correspond to the direction of affordance 504). While gaze direction 510 is determined to correspond to the direction of magnified affordance 502, user 200 selects affordance 502 with a confirmation action, such as one of the confirmation actions described above. Optionally, device 300 responds to a confirming input by user 200 for selecting magnified affordance 502, and performs an action associated with affordance 502 accordingly, and / or in response to further input while affordance 502 is selected. In response to a confirming input by user 200 for selecting magnified affordance 502, device 300 optionally shrinks (e.g., zooms out) affordance 502 and affordance 504 back to their previous state (e.g., pre-magnification size and position shown in FIG. 5). In some embodiments, affordance 502 remains selected after being shrinked to its previous state.

[0067] In the embodiments described above with respect to FIGS. 5-6, device 300 magnifies only affordances 502 and 504. In some embodiments, device 300 displays a magnified view of at least a portion of the environment surrounding affordances 502 and 504 in addition to magnifying affordances 502 and 504. FIG. 7 illustrates an example embodiment in which device 300 determines a portion of virtual environment 500 that surrounds and includes an affordance corresponding to gaze direction 508. The portion is specified by rectangle 700 and includes, for example, a portion of table 506 in addition to affordances 502 and 504. As shown in FIG. 8, in response to determining that gaze direction 508 corresponds to both affordances 502 and 504, device 300 magnifies the portion of virtual environment 500 specified by rectangle 700 that includes affordances 502 and 504. Although a portion of the virtual environment 500 is augmented with the affordances 502 and 504, the affordances may still be selected and acted upon as described above with respect to FIGS. 5-6. Additionally, while the embodiments described above relate to virtual environments, similar techniques may be applied to other CGR environments, including mixed reality environments. For example, in some embodiments, the device includes a transparent display that displays the affordances 502 and 504 superimposed on the user's live view of the physical environment. The device also includes a user sensor for capturing user eye data and a scene sensor for capturing images of the physical environment in which the affordances 502 and 504 are displayed. In response to determining that the user's gaze direction corresponds to the affordances 502 and 504, the exemplary device captures data of at least the physical environment surrounding the affordances 502 and 504 and displays an augmented representation (e.g., an image) of the physical environment surrounding the affordances 502 and 504.

[0068] In the above-described embodiments, the affordances 502 and 504 are displayed in a two-dimensional representation of the virtual environment. In some embodiments, the affordances are displayed in a three-dimensional (3D) representation of the environment, for example, on a virtual reality HMD 100a as shown in FIGS. 1F-1H. FIG. 9 shows a 3D representation of a virtual environment 902 displayed on an HMD 900. In some embodiments, the environment 902 is a CGR environment (e.g., a VR environment or an MR environment). The virtual environment 902 includes an affordance 904 and an affordance 906. The affordance 904 has a first depth and the affordance 906 has a second depth that is greater than the first depth of the affordance 904. Because the virtual environment 902 is a 3D representation, the device 900 determines a gaze position based on data captured from the user's eyes, which in the illustrated embodiment includes a gaze direction and a gaze depth. In some embodiments, determining the gaze position includes determining a gaze direction, but not necessarily a gaze depth. In some embodiments, determining gaze position includes determining gaze depth, but not necessarily gaze direction.

[0069] 9, the radius of the cylinder surrounding the gaze position 908 represents the angular resolution of the gaze direction, and the length of the cylinder represents the depth resolution of the gaze depth (e.g., the uncertainty in the gaze depth). Based on the gaze direction, angular resolution, gaze depth, and depth resolution, device 900 determines whether the position of affordance 904 and / or affordance 906 corresponds to the gaze position. In some embodiments, device 900 determines whether the position of affordance 904 and / or affordance 906 corresponds to the gaze position based on the gaze direction (and optionally, angular resolution) regardless of the gaze depth, or based on the gaze depth (and optionally depth resolution) regardless of the gaze direction.

[0070] In some embodiments, device 900 enhances the display of the more distant affordance (e.g., affordance 906) in response to determining that the gaze position corresponds to both affordance 904 and affordance 906. According to the embodiment shown in FIG. 10, affordance 906 is enhanced by making affordance 906 brighter relative to affordance 904 (e.g., by increasing the brightness of affordance 906, decreasing the brightness of affordance 904, or a combination of both). In some embodiments, enhancing an affordance includes changing the visual appearance of the affordance itself (e.g., by making the affordance brighter or changing the color of the affordance). In some embodiments, enhancing an affordance includes degrading the visual appearance of other aspects of the environment (e.g., by blurring another affordance or the surrounding environment). Similarly, in a 2D representation of a 3D environment, smaller objects or objects with larger depth values ​​within the 3D environment are optionally enhanced.

[0071] In some embodiments, in response to the device 900 determining that the gaze position 908 corresponds to both affordance 904 and affordance 906 (e.g., the device 900 cannot resolve which affordance the user is looking at), the device 900 magnifies affordance 904 and affordance 906. In some embodiments that provide a 3D representation, the affordances are magnified from the user's perspective by moving the affordances toward the user and displaying them at a depth that appears closer to the user. FIG. 11 illustrates an embodiment similar to that illustrated in FIG. 6 in which affordance 904 and affordance 906 are magnified (e.g., moved closer to the user) while maintaining their relative size and position. FIG. 12 illustrates an embodiment in which affordance 904 and affordance 906 are magnified and repositioned relative to each other such that affordance 904 and affordance 906 are displayed side-by-side at the same depth. It should be appreciated that similar techniques may also be applied to 2D representations of an environment. For example, as described above with respect to Figure 5, if gaze direction 508 is determined to correspond to a gaze towards both affordance 502 and affordance 504, affordance 502 and affordance 504 are optionally magnified by different amounts relative to one another and / or repositioned relative to one another such that affordance 502 and affordance 504 are displayed side-by-side. Additionally, once affordance 904 and affordance 906 are magnified, device 900 may further determine whether the updated gaze position corresponds to one of the magnified affordances, and may select and / or perform an action on the affordance in a manner similar to the techniques previously described with respect to Figures 3-4 and 6-8.

[0072] Referring now to FIG. 13, a technique for modifying the display of an object based on the object's depth is described. FIG. 13 again illustrates device 300. Device 300 displays an environment 1300 (e.g., a CGR environment) in which object 1302 and object 1304 are displayed simultaneously. As illustrated in FIG. 13, object 1302 appears closer (e.g., has a smaller depth value) than object 1304. Also, from the perspective displayed in FIG. 13, object 1302 partially occludes the view of object 1304. Gaze position 1306 is located on object 1302. Gaze position 1306 optionally includes either a gaze direction or a gaze depth, or both. Device 300 determines whether the gaze position corresponds to object 1302 and / or object 1304 based on either a gaze direction or a gaze depth, or both, optionally according to any of the techniques described above.

[0073] The device 300 visually alters the object 1302 and / or the object 1304 based on whether the gaze location 1306 corresponds to the object 1302 or the object 1304. The device 300 determines whether the gaze location 1306 corresponds to the object 1302 or the object 1304 according to any of the techniques described above. In some embodiments, in response to determining that the gaze location 1306 corresponds to the object 1302, the device 300 visually alters the display of the object 1304, and in response to determining that the gaze location 1306 corresponds to the object 1304, the device 300 visually alters the display of the object 1302. For example, if the user's focus, as determined by either direction or depth, or both, is determined to be on one of the objects, the visual appearance of the other objects is altered to emphasize the object of the user's focus. 14, device 300 determines that gaze position 1306 corresponds to object 1302 and, in response, visually modifies object 1304 in a manner that highlights object 1302 and / or de-highlights object 1304. Examples of visually modifying an object that de-highlights the object include making the object appear blurry or fuzzy, reducing the resolution of the object, reducing the brightness of the object, reducing the contrast of the object, increasing the transparency of the object, and ceasing to display the object. In some embodiments, device 300 visually modifies object 1302 or object 1304 in response to receiving input (e.g., eye gesture, hand gesture, voice input, or controller input) and in response to determining that gaze position 1306 corresponds to object 1302 or object 1304, respectively.Optionally, device 300 modifies object 1302 and object 1304 in accordance with a determination that the orientation of both objects corresponds to the gaze direction, indicating that one of the objects is likely occluding the other and that it would be beneficial to distinguish the objects.

[0074] Optionally, device 300 also visually alters the display of an object corresponding to the gaze position (e.g., object 1302) to enhance the appearance of the object. Examples of visually enhancing an object include sharpening the object, increasing the resolution of the object, increasing the brightness of the object, increasing the contrast of the object, decreasing the transparency of the object, highlighting the object, and making the object visible.

[0075] In Fig. 15, the user moves his / her gaze position from 1306 to position 1500 corresponding to object 1304. In response, device 300 visually modifies object 1302, returning object 1304 to the appearance it was originally displayed in Fig. 13. In the embodiment shown in Fig. 15, device 300 makes object 1302 semi-transparent so that the user can better see the object on which he / she wishes to focus. Optionally, device 300 removes object 1302 to provide an unobstructed view of object 1304.

[0076] It should be appreciated that the embodiments described above with respect to Figures 2-15 are exemplary and are not intended to be limiting. For example, although the embodiments of Figures 2-12 are described with respect to a virtual environment, the techniques may be similarly applied to other CGR environments, including mixed reality environments.

[0077] Referring now to FIG. 16, a flow chart of an exemplary process 1600 for interacting with an electronic device using gaze is shown. The process 1600 can be performed using a user device (e.g., 100a, 300, or 900). The user device can be, for example, a handheld mobile device, a head-mounted device, or a head-up device. In some embodiments, the process 1600 is performed using two or more electronic devices, such as a user device communicatively coupled to another device, such as a base device. In these embodiments, the operations of the process 1600 are distributed in any manner between the user device and the other device. Furthermore, the display of the user device may be transparent or opaque. The process 1600 can be applied to CGR environments, including virtual reality environments and mixed reality environments, and can be applied to affordances corresponding to virtual or physical objects. Although the blocks of the process 1600 are shown in a particular order in FIG. 16, the blocks can be performed in other orders. Furthermore, one or more blocks of process 1600 may be partially executed, optionally executed, combined with another block(s), and / or additional blocks may be executed.

[0078] In block 1602, the device displays an affordance associated with a first object (eg, a displayed object).

[0079] At block 1604, the device determines a gaze direction or gaze depth (e.g., of one or more eyes). In some embodiments, data is captured from a sensor pointed at the user, and the gaze direction or gaze depth is determined based on the data captured from the sensor. In some embodiments, determining the gaze direction or gaze depth includes determining a gaze direction. In some embodiments, determining the gaze direction or gaze depth includes determining a gaze depth. Optionally, the gaze direction or gaze depth is determined using ray casting or pyramid casting. Optionally, an angular range of a pyramid used for pyramid casting is based on an angular resolution of the gaze direction.

[0080] At block 1606, the device determines whether the gaze direction or gaze depth corresponds to a line of sight to the affordance. In some embodiments, determining that the gaze direction or gaze depth corresponds to a depth of the affordance includes determining that the gaze is directed to the affordance. In some embodiments, determining that the gaze is directed to the affordance is based, at least in part, on an angular resolution of the gaze direction. In some embodiments, determining that the gaze direction or gaze depth corresponds to a line of sight to the affordance includes determining that the gaze depth corresponds to a depth of the affordance. In some embodiments, determining that the gaze depth corresponds to a depth of the affordance is based, at least in part, on a depth resolution of the gaze depth.

[0081] While the gaze direction or gaze depth is determined to correspond to a line of sight to the affordance at block 1608, the device receives a first input representing a command to take an action on the affordance corresponding to the first object. In some embodiments, the first input includes an eye gesture, a hand gesture, a voice input, and / or a controller input.

[0082] At block 1610, the device selects an affordance in response to receiving the first input. Optionally, while the affordance is selected, a second input is received, and an action associated with the selected affordance is performed in response to receiving and in accordance with the second input. In some embodiments, the second input includes an eye gesture, a hand gesture, a voice input, or an input on a controller.

[0083] Referring now to FIG. 17, a flow chart of an exemplary process 1700 for interacting with an electronic device using gaze is shown. The process 1700 can be performed using a user device (e.g., 100a, 300, or 900). The user device can be, for example, a handheld mobile device, a head-mounted device, or a head-up device. In some embodiments, the process 1700 is performed using two or more electronic devices, such as a user device communicatively coupled to another device, such as a base device. In these embodiments, the operations of the process 1700 are distributed in any manner between the user device and the other device. Furthermore, the display of the user device may be transparent or opaque. The process 1700 can be applied to CGR environments, including virtual reality and mixed reality environments, and can be applied to affordances corresponding to virtual or physical objects. Although the blocks of the process 1700 are shown in a particular order in FIG. 17, the blocks can be performed in other orders. Furthermore, one or more blocks of process 1700 may be partially executed, optionally executed, combined with another block(s), and / or additional blocks may be executed.

[0084] At block 1702, the device displays the first affordance and the second affordance. Optionally, the first affordance and the second affordance are displayed simultaneously. In some embodiments, the first affordance and the second affordance are displayed using a two-dimensional or three-dimensional representation of an environment (e.g., a CGR environment) that includes the first affordance and the second affordance. Optionally, the first affordance is displayed at a first depth in the three-dimensional representation of the environment, and the second affordance is displayed at a second depth in the three-dimensional representation of the environment, the first depth being different from the second depth.

[0085] At block 1704, the device determines a first gaze direction or a first gaze depth (e.g., of one or more eyes). In some embodiments, data is captured from a sensor pointed at the user, and the gaze direction or gaze depth is determined based on the data captured from the sensor. Optionally, the gaze direction or gaze depth is determined using ray casting or pyramid casting. In some embodiments, the angular range of the pyramid used for pyramid casting is based on the angular resolution of the gaze direction.

[0086] At block 1706, the device determines whether the first gaze direction or the first gaze depth corresponds to a gaze to both the first affordance and the second affordance. Optionally, in response to determining that the first gaze direction or the first gaze depth corresponds to both the first affordance and the second affordance, the display of the first affordance is enhanced according to the first depth being greater than the second depth, and the display of the second affordance is enhanced according to the second depth being greater than the first depth. In some embodiments, the gaze direction is determined and determining that the gaze direction or the gaze depth corresponds to both the first affordance and the second affordance includes determining that the gaze direction corresponds to both the first affordance and the second affordance. Optionally, determining that the gaze direction corresponds to both the first affordance and the second affordance is based at least in part on an angular resolution of the gaze direction. In some embodiments, determining the gaze direction or gaze depth includes determining a gaze depth, and determining that the gaze direction or gaze depth corresponds to both the first affordance and the second affordance includes determining that the gaze depth corresponds to both the first affordance and the second affordance. Optionally, determining that the gaze depth corresponds to both the first affordance and the second affordance is based, at least in part, on a depth resolution of the gaze depth.

[0087] At block 1708, the device magnifies the first affordance and the second affordance in response to determining that the first gaze direction or the first gaze depth corresponds to a gaze toward both the first affordance and the second affordance. In some embodiments, the first affordance and the second affordance are magnified according to a determination that the user's gaze meets a predefined criterion. In some embodiments, a third input is received, and the first affordance and the second affordance are magnified in response to determining that the first gaze direction or the first gaze depth corresponds to both the first affordance and the second affordance and receiving the third input. In some embodiments, the third input includes an eye gesture, a hand gesture, a voice input, or a controller input. In some embodiments, magnifying the first affordance and the second affordance includes displaying a magnified view of at least a portion of an environment (e.g., a CGR environment) surrounding the first affordance and the second affordance. In some embodiments, the magnified view of at least a portion of the environment surrounding the first affordance and the second affordance is a representation of a virtual environment. In some embodiments, the magnified view of at least a portion of the environment surrounding the first affordance and the second affordance is a representation of a physical environment. In some embodiments, magnifying the first affordance and the second affordance includes displaying the first affordance at a third depth in the three-dimensional representation of the environment and displaying the second affordance at a fourth depth in the three-dimensional representation of the environment, where the third depth is the same as the fourth depth.

[0088] Optionally, after magnifying the first affordance and the second affordance, a second gaze direction or a second gaze depth is determined, and the second gaze direction or the second gaze depth is determined to correspond to a gaze towards the first affordance. While the second gaze direction or the second gaze depth is determined to correspond to a gaze towards the first affordance, a first input is received representing a user command to take an action on the first affordance, and the first affordance is selected in response to receiving the first input. Optionally, the first input comprises an eye gesture, a hand gesture, a voice input, or a controller input.

[0089] In some embodiments, the first affordance or the second affordance is contracted in response to receiving the first input. Optionally, while the first affordance is selected, a second input is received, and an action associated with the first affordance according to the second input is performed in response to the second input. In some embodiments, the second input comprises an eye gesture, a hand gesture, a voice input, or a controller input.

[0090] Referring now to FIG. 18, a flow chart of an exemplary process 1800 for interacting with an electronic device using gaze is shown. The process 1800 can be performed using a user device (e.g., 100a, 300, or 900). The user device can be, for example, a handheld mobile device, a head-mounted device, or a head-up device. In some embodiments, the process 1800 is performed using two or more electronic devices, such as a user device communicatively coupled to another device, such as a base device. In these embodiments, the operations of the process 1800 are distributed in any manner between the user device and the other device. Furthermore, the display of the user device may be transparent or opaque. The process 1800 can be applied to CGR environments, including virtual reality environments and mixed reality environments, and can be applied to virtual objects, physical objects, and their representations. Although the blocks of the process 1800 are shown in a particular order in FIG. 18, the blocks can be performed in other orders. Furthermore, one or more blocks of process 1800 may be partially executed, optionally executed, combined with another block(s), and / or additional blocks may be executed.

[0091] The device is adapted to display a view of a three-dimensional computer-generated reality environment. The view is rendered from a viewing perspective. At block 1802, the device displays a first object and a second object. Optionally, the first object and the second object are displayed simultaneously. In some embodiments, the first object and the second object are displayed such that the first object appears (e.g., is presented) closer than the second object from the viewing perspective.

[0092] At block 1804, the device determines a gaze position (e.g., of one or more eyes). In some embodiments, data is captured from a sensor pointed at the user, and the gaze position is determined based on the data captured from the sensor. In some embodiments, the gaze position is determined using ray casting or pyramid casting. Optionally, the angular range of the pyramid used for pyramid casting is based on the angular resolution of the gaze direction.

[0093] At block 1806, the device determines whether the gaze position corresponds to a first object or a line of sight to a second object. In some embodiments, a gaze direction is determined, and determining that the gaze position corresponds to a line of sight to the first object or the second object includes determining that the gaze is directed to the first object or the second object. Optionally, determining whether the gaze is directed to the first object or the second object is based at least in part on an angular resolution of the gaze direction. In some embodiments, a gaze depth is determined, and determining that the gaze position corresponds to a line of sight to the first object or the second object includes determining that the gaze depth corresponds to a depth of the first object or the second object (e.g., as presented in the field of view). Optionally, determining that the gaze depth corresponds to a depth of the first object or the second object is based at least in part on a depth resolution of the gaze depth.

[0094] At block 1808, the device visually modifies a display of the second object in accordance with a determination that the gaze position corresponds to a line of sight to the first object. In some embodiments, the second object is modified in response to determining that the gaze position corresponds to a line of sight to the first object and receiving an input. The input optionally includes an eye gesture, a hand gesture, a voice input, or a controller input. Optionally, the device enhances the display (e.g., display resolution) of the first object. Optionally, after visually modifying the second object, the device determines a second gaze position of the user, and visually modifies a display of the first object in accordance with a determination that the second gaze position corresponds to a line of sight to the second object, and displays the second object according to its initial appearance.

[0095] At block 1810, the device visually alters a display of the first object in accordance with determining that the gaze position corresponds to a line of sight to the second object. In some embodiments, the first object is altered in response to determining that the gaze position corresponds to a line of sight to the second object and receiving an input. The input optionally includes an eye gesture, a hand gesture, a voice input, or a controller input. Optionally, the device enhances a display (e.g., a display resolution) of the second object.

[0096] Executable instructions for performing the functions of methods 1600, 1700, and / or 1800 described above are optionally included in a transitory or non-transitory computer-readable storage medium (e.g., memory(s) 106) or other computer program product configured to be executed by one or more processors (e.g., processor(s) 102). Furthermore, some operations in method 1600 (e.g., block 1610) are optionally included in method 1700 and / or method 1800, some operations in method 1700 (e.g., block 1708) are optionally included in method 1600 and / or method 1800, and some operations in method 1800 (e.g., blocks 1806, 1808, and / or 1810) are optionally included in method 1600 and / or method 1700.

[0097] 19A-19Y, a technique is described that provides dual modality for selecting and / or placing objects (e.g., virtual objects, physical objects, and affordances corresponding to virtual and physical objects) in a CGR environment. In a first mode (e.g., a "gaze-engaged" mode), a location or object is initially specified based on the location of the user's gaze. After the initial specification, a second mode (e.g., a "gaze-disengaged" mode) is used to move the specified location or specify a different object without using the gaze. The gaze location can be rapidly moved by the user, which is effective for quickly identifying a general area. However, as described above, there is uncertainty in the location of the user's gaze, which makes it difficult to specify a precise location using the gaze. Displaying a persistent visual indicator at an estimated gaze location may be ineffective for specifying a precise location, as the indicator may confuse the user and cause the user's gaze to follow the indicator instead of focusing on the desired specification point. Dual-modality techniques allow a user to quickly make a rough initial designation and then make gaze-independent fine adjustments (e.g., based solely on manual input) to designate a specific point or object.

[0098] FIG. 19A shows a user 200 using a device 1900 to interact with a virtual environment 1902. In some embodiments, the environment 1902 is a CGR environment (e.g., a VR environment or an MR environment). The device 1900 includes a virtual reality HMD 1900a and an input device 1900b. In some embodiments, the HMD 1900a is the device 100a (e.g., of FIGS. 1F-1I), and the input device 1900b is in communication with the HMD 1900a (e.g., via the communication bus(es) 150 shown in FIGS. 1A-1B). The view 1902a shows a view of the virtual environment 1902 displayed to the user 200 on the HMD 1900a, and the view 1902b shows a perspective of the virtual environment 1902 including the user 200. FIG. 19A also illustrates input device 1900b including a touch-sensitive surface 1904 (e.g., touch-sensitive surface 122 of FIGS. 1A-1B) that enables user 200 to provide input to interact with virtual environment 1902. Device 1900 includes a sensor(s) (e.g., image sensor(s) on HMD 1900A) for determining line of sight 1906 (e.g., gaze direction and / or gaze depth) of user 200 (as described above). In some embodiments, device 1900 includes a sensor(s) configured to detect various types of user input, including (but not limited to) eye gestures, body gestures, and voice input. In some embodiments, the input device includes a controller configured to receive button input (e.g., up, down, left, right, input, etc.).

[0099] Virtual environment 1902 includes a stack of photos 1908, including individual photos 1908a-1908e, placed on a table 1912. A line of sight 1906 visible in view 1902b indicates that user 200 is looking at stack of photos 1908. In some embodiments, a line representing line of sight 1906 is not visible in virtual environment 1902, for example, as shown in view 1902a.

[0100] 19A , device 1900 receives user input 1910a (e.g., a touch gesture on touch-sensitive surface 1904) while gaze 1906 is directed at a stack of photos 1908. In some embodiments, user input 1910a includes eye gestures, body gestures, voice input, controller input, or a combination thereof, in addition to or in place of touch gestures on touch-sensitive surface 1904.

[0101] In some embodiments, the response to the user input 1910a depends on the characteristics of the user input 1910a. For example, following a determination that the user input 1910a is a first type of input (e.g., a tap on the touch-sensitive surface 1904), the entire stack of photos 1908 is selected, as indicated by focus indicator 1914 (e.g., a bold border) around stack of photos 1908 in FIG. 19B. In some embodiments, device 1900 deselects stack of photos 1908 in response to receiving a further input (e.g., selection of the end button).

[0102] Alternatively, pursuant to a determination that user input 1910a is a different type of input (e.g., a touch and hold on touch-sensitive surface 1904), photographs 1908a-1908e are presented as shown in FIG. 19C so that user 200 can more easily select a particular photograph from stack 1908. In FIG. 19C, photographs 1908a-1908e are moved from table 1912 and shown upright and spread out in the center of user 200's field of view. In response to receiving user input 1910a, photograph 1908a in the far left position is designated (e.g., provisionally selected). The designation of photograph 1908a is indicated by focus indicator 1914 including a bold border around photograph 1908a. In some embodiments, focus indicator 1914 includes a pointer, cursor, dot, sphere, highlight, outline, or ghost image that visually identifies the designated object. In some embodiments, in response to receiving further input (eg, selection of an end button or a touch lift-off), device 1900 de-designates photo 1908a and returns photo 1908 to table 1912.

[0103] 19B and 19C are both based on the gaze 1906, or more specifically, the gaze position of the user 200 at the time of the user input 1910a. The stack of photos 1908 has been selected (FIG. 19B) or designated and is re-presented for further selection because the gaze position of the user 200 is positioned over the stack of photos 1908. When the response to the user input is based on the gaze 1906, the device 1900 is in gaze engagement mode and the gaze 1906 of the user 200 is engaged with the user input. The gaze engagement mode is indicated in FIG. 19A by the gaze 1906 being shown as a solid line.

[0104] In some embodiments, the response to user input 1910a depends on whether line of sight 1906 corresponds to more than one selectable object. In some embodiments, if there is ambiguity or uncertainty about the object to be selected, device 1900 does not confirm the selection. For example, device 1900 displays photos 1908a-1908e to designate photo 1908a (FIG. 19C) pursuant to a determination that the position of line of sight 1906 corresponds to multiple unresolvable selectable objects (e.g., stack of photos 1908). In some such embodiments, device 1900 selects the single selectable object (e.g., instead of designating an object or instead of providing the ability to further refine the selection) pursuant to a determination that the position of line of sight 1906 corresponds to only a single selectable object (e.g., mug 1918 shown in FIG. 19M, described below).

[0105] In the illustrated embodiment, in response to receiving user input 1910a, the device 1900 also switches to a gaze disengaged mode in which responses to the user input are not based on the line of sight 1906 of the user 200 and the line of sight 1906 is disengaged from further user input. The gaze disengaged mode is illustrated in FIG. 19C by the line of sight 1906 being shown in dashed lines.

[0106] 19D, while photograph 1908a is designated, device 1900 receives user input 1910b. In FIG. 19D, user input 1910b includes a swipe gesture or a drag gesture from left to right. In some embodiments, user input 1910b is a continuation of user input 1910a (e.g., user input 1910a includes a contact maintained on touch-sensitive surface 1904, and user input 1910b includes a movement of the contact). In some embodiments, user input 1910b includes a directional button press or a verbal command ("move right"). In response to receiving user input 1910b, focus indicator 1914 is moved from photograph 1908a according to (e.g., in the direction of) user input 1910b to designate photograph 1908b, as shown in FIG. 19E.

[0107] In particular, because line of sight 1906 is disengaged, photograph 1908b is designated in response to receiving user input 1910b, even though line of sight 1906 is positioned over photograph 1908a at the time of user input 1910b. Focus indicator 1914 is moved to a position (e.g., an object) that does not correspond to the position of line of sight 1906. More generally, moving focus indicator 1914 to designate photograph 1908b is not based on line of sight 1906. In some embodiments, focus indicator 1914 is moved based solely on characteristics (e.g., position, direction, speed, duration, etc.) of user input 1910b.

[0108] As shown in FIG. 19E, the line of sight 1906 remains disengaged, and in response to receiving further user input 1910c while the line of sight 1906 is positioned on photograph 1908a, the focus indicator 1914 is moved from photograph 1908b to designate photograph 1908c, as shown in FIG. 19F.

[0109] 19G, while photograph 1908c is designated, device 1900 receives user input 1910d (e.g., a click, double tap, or finger lift-off). In response to receiving user input 1910d, the currently designated object, photograph 1908c, is selected. In response to receiving user input 1910d, focus indicator 1914 remains on photograph 1908c, and the other photographs 1908a, 1908b, 1908d, and 1908e are moved back to table 1912 as shown in FIG. 19H. Additionally, user 200's gaze 1906 is re-engaged in response to receiving user input 1910d.

[0110] 19A-19H provide a dual mode operation that allows a user 200 to efficiently select a particular object (e.g., one of the photographs 1908) that is difficult to distinguish using gaze alone when the photographs 1908 are stacked on a table 1912 (e.g., due to uncertainty in gaze position). The user 200 can use the gaze 1906 to quickly designate a group of objects, and then use input independent of the gaze 1906 to navigate the group of objects and select a particular one.

[0111] 19I, while maintaining selection of photograph 1908c, user 200 moves line of sight 1906 to a position on wall 1916 in environment 1902 between photographs 1908f and 1908g. In response to the movement of line of sight 1906, photograph 1908c is moved to a position corresponding to the line of sight position. In some embodiments, photograph 1908c remains in the position shown in FIG. 19I or is moved and / or visually altered (e.g., so as not to obstruct user 200's view of virtual environment 1902) until a placement location for photograph 1908c is specified or selected, as described below.

[0112] While photograph 1908c is being placed as shown in FIG. 19I, device 1900 receives user input 1910e (e.g., a touch on touch-sensitive surface 1904). In response to receiving user input 1910e, a placement location for photograph 1908c is specified based on the position of line of sight 1906 at the time of user input 1910e. As shown in FIG. 19J, in response to receiving user input 1910e, selected photograph 1908c is placed at the position of line of sight 1906 and remains selected, and line of sight 1906 is disengaged. In some embodiments, the placement location is indicated by a pointer, cursor, dot, sphere, highlight, outline, or ghost image (e.g., of the object being placed).

[0113] In some embodiments, the response to user input 1910e depends on the characteristics of user input 1910e. In some embodiments, in accordance with user input 1910e including a first type of input (e.g., a touch on touch-sensitive surface 1904), device 1900 specifies a tentative placement location for photograph 1908c on wall 1916, photograph 1908c remains selected, and line of sight 1906 is disengaged as described above, and in accordance with user input 1910e including a second type of input (e.g., a click on touch-sensitive surface 1904), photograph 1908c is placed on wall 1916, photograph 1908c is deselected, and line of sight 1906 is reengaged. Thus, by using different inputs, user 200 can choose to either specify a tentative placement location and maintain selection of photograph 1908c and adjust the location with further input (as described below), or accept the line of sight location as the placement location and deselect photograph 1908c.

[0114] Returning to FIG. 19J, while the photograph 1908c is selected and remains positioned at the initially specified position, the device 1900 receives a user input 1910f, including a downward swipe or drag gesture. In response to receiving the user input 1910f, the photograph 1908c is moved downward according to the user input 1910f and independent of the position of the line of sight 1906, as shown in FIG. 19K. According to this technique, the user 200 can use the line of sight 1906 to quickly and roughly specify an initial placement position, and then make fine adjustments to the position independent of the line of sight. Once the photograph 1908c is in the desired position (e.g., aligned with the photographs 1908f and 1908g), the user 200 provides an input 1910g. In response to the input 1910g, the position of the photograph 1908c in FIG. 19K is selected as the final placement position, and the line of sight 1906 is re-engaged. As shown in FIG. 19L, in response to receiving user input 1910g, focus is removed from photograph 1908c (photo 1908c is deselected) and photograph 1908c remains in the selected placement position as user 200 moves gaze 1906 to a different position.

[0115] 19M, virtual environment 1902 is configured as shown in FIG. 19L, with mug 1918 added. In FIG. 19M, device 1900 receives user input 1910h (e.g., a touch on touch-sensitive surface 1904, a button press, or a body gesture) while line of sight 1906 is positioned between mug 1918 and stack of photos 1908. In response to receiving user input 1910h, a selection point represented by focus indicator 1920 is designated at a location corresponding to the location of line of sight 1906, as shown in FIG. 19N. In some embodiments, focus indicator 1920 includes a pointer, cursor, dot, or sphere. In some embodiments, line of sight 1906 is determined (e.g., measured or estimated) prior to the user input (e.g., a most recent measured or estimated location) or after (e.g., in response to) the user input.

[0116] In some embodiments, the response to the user input 1910h is context dependent. In some embodiments, the response is based on what is located at the gaze position. For example, the device 1900 may respond differently depending on whether an object, a plurality of unresolvable objects, a menu affordance, or no object is at the gaze position at the time of the user input 1910h. For example, if the device 1900 determines with a predetermined degree of certainty that the gaze 1906 corresponds to a stack of photos 1908, the focus indicator 1914 is displayed as described with reference to Figures 19A-19C in place of the focus indicator 1920. In some embodiments, the plurality of objects includes a menu option (e.g., a menu affordance 1924 described below) associated with the object.

[0117] In some embodiments, the response is based on whether an object is currently selected. For example, if an object is not currently selected, device 1900 can operate in a selection mode and perform a selection action (e.g., select an object (FIG. 19B), specify a selection point (FIG. 19N), or display multiple objects for selection (FIG. 19C)), and if an object is currently selected, device 1900 can operate in a placement mode and perform a placement action (e.g., place an object at a gaze position or display a ghost image of the selected object at a specified placement position, see FIGS. 19H-19J above and FIGS. 19P-19Q below).

[0118] Returning to FIG. 19N, focus indicator 1920 is displayed pursuant to a determination that there are multiple selectable objects corresponding to the location of gaze 1906 at the time of user input 1910h. For example, if device 1900 cannot determine with sufficient certainty whether gaze 1906 corresponds to stack of photos 1908 or to mug 1918, focus indicator 1920 is displayed to allow user 200 to clarify which object he or she wishes to select. In the illustrated embodiment, user 200 wishes to select mug 1918 and provides user input 1910i, which includes a right-to-left swipe or drag gesture on touch-sensitive surface 1904 to move focus indicator 1920 to mug 1918. In response to receiving user input 1910i, the selection point is moved to a location corresponding to mug 1918, as indicated by focus indicator 1920 in FIG. 19O. The device 1900 receives a user input 1910j (e.g., a click) while the selection point is positioned over the mug 1918. In response to receiving the user input 1910j, the selection point is confirmed and the object corresponding to the current location of the selection point is selected. As shown in FIG. 19P, the mug 1918 is selected as indicated by a focus indicator 1915 (e.g., a highlight) around the mug 1918 and the line of sight 1906 is re-engaged.

[0119] 19P, while the mug 1918 remains selected, the user 200 moves the line of sight 1906 to the table 1922. In the illustrated embodiment, the mug 1918 remains displayed in the same position (e.g., it does not move with the line of sight 1906 even when the line of sight 1906 is engaged).

[0120] While the line of sight 1906 is positioned as shown in Figure 19P, the device 1900 receives a user input 1910k. In response to receiving the user input 1910k, a placement point is designated by a focus indicator 1920 at a location corresponding to the line of sight 1906, and the line of sight 1906 is disengaged as shown in Figure 19Q. In some embodiments, the focus indicator 1920 includes a pointer, cursor, dot, sphere, highlight, outline, or ghost image of a selected object (e.g., mug 1918).

[0121] In some embodiments, the response to the user input 1910k depends on whether there are two or more placement positions corresponding to the position of the line of sight 1906 at the time of the user input 1910k while the mug 1918 is selected. In FIG. 19P, a placement point is designated pursuant to a determination that the position of the line of sight 1906 corresponds to multiple possible selectable placement positions (e.g., the device 1900 does not check placement positions for the selected object if there are various possible placement positions at or near the line of sight position). In some embodiments, pursuant to a determination that the position of the line of sight 1906 corresponds to only a single selectable placement position and in response to receiving the user input 1910k, the device 1900 places the selected object at the line of sight position, deselects the object, and re-engages the line of sight 1906.

[0122] 19Q, while the location point is designated, device 1900 receives user input 1910l including a diagonal swipe gesture or an upward and right drag gesture on touch-sensitive surface 1904. In response to receiving user input 1910l, the location point is moved according to user input 1910l as indicated by focus indicator 1920 moving toward the center of table 1922, as shown in FIG. 19R. The location point is confirmed in response to receiving user input 1910m, and the selected object (e.g., mug 1918) is placed at the confirmed location point on table 1922, as shown in FIG. 19S. Line of sight 1906 is also re-engaged in response to receiving user input 1910m.

[0123] 19T, the virtual environment 1902 has been configured as shown in FIG. 19M with the addition of a menu affordance 1924 that is associated with objects (e.g., table 1912, photo 1908, and mug 1918) in the vicinity of the menu affordance 1924. In FIG. 19T, the device 1900 receives a user input 1910n (e.g., a touch) while the gaze 1906 is positioned over the menu affordance 1924. In response to receiving the user input 1910n, the menu affordance 1924 is selected and the gaze 1906 is disengaged from the user input, as shown in FIG. 19U.

[0124] Selection of menu affordance 1924 displays menu options 1926a-1926d, which can be cycled through and selected by input independent of gaze 1906. As shown in FIG. 19U, menu option 1926a (select table) is initially designated with focus indicator 1928 (e.g., a bold border) in response to selection of menu affordance 1924.

[0125] As shown in Figure 19V, device 1900 receives user input 1910o including a downward swipe or drag gesture. In response to receiving user input 1910o, focus indicator 1928 moves down from menu option 1926a (select table) to menu option 1926b (select photo) in accordance with user input 1910o, regardless of the position of gaze 1906, as shown in Figure 19W.

[0126] In Figure 19W, device 1900 receives user input 1910p that includes an additional downward movement. In response to receiving user input 1910p, focus indicator 1928 moves down in accordance with user input 1910p from menu option 1926b (select photo) to menu option 1926c (select mug), regardless of the position of gaze 1906, as shown in Figure 19X.

[0127] In Figure 19X, while menu option 1926C is designated, device 1900 receives user input 1910q. In response to receiving user input 1910q, an object corresponding to menu option 1926c is selected, as shown in Figure 19Y. In Figure 19Y, in response to receiving user input 1910r, mug 1918 is selected and moved to the center of the field of view of user 200.

[0128] Furthermore, although the embodiments described above with reference to Figures 19A-19Y relate to virtual environments, similar techniques can be applied to other CGR environments, including mixed reality environments.

[0129] Referring now to FIG. 20, a flow chart of an exemplary process 2000 for interacting with an electronic device using gaze is shown. The process 2000 can be performed using a user device (e.g., 100a, 300, 900, or 1900). The user device can be, for example, a handheld mobile device, a head-mounted device, or a head-up device. In some embodiments, the process 2000 is performed using two or more electronic devices, such as a user device communicatively coupled to another device, such as a base device. In these embodiments, the operations of the process 2000 are distributed in any manner between the user device and the other device. Furthermore, the display of the user device may be transparent or opaque. The process 2000 can be applied to CGR environments, including virtual reality environments and mixed reality environments, and can be applied to virtual objects, physical objects, and representations (e.g., affordances) corresponding to the virtual and physical objects. Although the blocks of the process 2000 are shown in a particular order in FIG. 20, the blocks can be performed in other orders. Furthermore, one or more blocks of process 2000 may be partially executed, optionally executed, combined with another block(s), and / or additional blocks may be executed.

[0130] At block 2002, the device receives a first user input (e.g., a contact on a touch-sensitive surface, a button press, or a body gesture) at a first time. At block 2004, in response to receiving the first user input, the device designates a selection point at a first location based on the gaze position at the first time, the first location corresponding to the gaze position at the first time. In some embodiments, the gaze position at the first time is determined (e.g., measured or estimated) before the first user input (e.g., a most recent measured or estimated position) or after (e.g., in response to) the first user input.

[0131] In some embodiments, the focus indicator is displayed at the gaze position. In some embodiments, the focus indicator includes a pointer, cursor, dot, sphere, highlight, outline, or ghost image (e.g., of the designated or selected object(s)). In some embodiments, the focus indicator designates a selection point corresponding to the object at the gaze position. In some embodiments, the device disengages the gaze from the user input in response to a first user input.

[0132] In some embodiments, the response to the first input is context dependent (e.g., the response is based on what is located at the gaze location (e.g., an object, multiple unresolvable objects, a menu affordance, or no object) or whether an object is currently selected). For example, if no object is currently selected, the device operates in a selection mode and performs a selection action (e.g., multiple objects are displayed for selection), while if an object is currently selected, the device operates in a placement mode and performs a placement action (e.g., a ghost image of the selected object is displayed in a provisional placement location).

[0133] In some embodiments, a selection point is designated at the first location in accordance with a determination that the first location corresponds to multiple selectable objects. In some embodiments, the multiple objects are a group of closely spaced objects that cannot be resolved based on the user's gaze. In some embodiments, the multiple objects are menu options associated with the object (e.g., menu affordances) at the gaze location. For example, if it is determined that there is ambiguity or uncertainty about the object to be selected, the device tentatively designates a selection point rather than confirming selection of the object. In some such embodiments, in response to receiving a first user input, in accordance with a determination that the first location corresponds to only a single selectable object, the device selects the single selectable object (e.g., instead of designating a selection point at the first location).

[0134] In some embodiments, the selection point is designated at the first location in accordance with a determination that the first user input is a first type of input (e.g., a touch on the touch-sensitive surface, a button press, or a body gesture). In some such embodiments, in response to receiving the first user input and in accordance with a determination that the first user input is a second type of input different from the first type of input on the touch-sensitive surface (e.g., a click (as opposed to a touch) on the touch-sensitive surface, a different button press, or a different body gesture), the device identifies the selection point at the first location.

[0135] While maintaining the designation of the selection point, the device performs the operations of blocks 2006, 2008, 2010, and 2012. In block 2006, the device receives a second user input (e.g., a movement of a contact on the touch-sensitive surface or a press of a directional button). In block 2008, in response to receiving the second user input, the device moves the selection point to a second position that is different from the first position, and the moving of the selection point to the second position is not based on a gaze position. For example, the device moves a focus indicator to a different object, selection point, or placement point. In some embodiments, the selection point is moved based solely on characteristics of the second input (e.g., position, direction, speed, duration, etc.). In some embodiments, the moving of the selection point is independent of (not based on) a gaze position. In some embodiments, the second position is different from a gaze position associated with the second user input.

[0136] In some embodiments, a first user input is received while the device is in a first mode (e.g., a gaze-engaged mode in which responses to user inputs are based on the user's gaze), and the selection point is designated at a first location in accordance with the device being in the first mode. In some such embodiments, in response to receiving the first user input, the device switches from the first mode to a second mode (e.g., a gaze-disengaged mode in which responses to user inputs are not based on the user's gaze such that the gaze is disengaged from further inputs). In some such embodiments, a second input is received while the device is in the second mode, and the selection point is moved to a second location in accordance with the device being in the second mode.

[0137] At block 2010, the device receives a third user input (e.g., a click, a double tap, or a lift-off of contact from the touch-sensitive surface) while the selection point is at the second position. At block 2012, in response to receiving the third user input, the device confirms the selection point at the second position. In some embodiments, upon confirmation, the device re-engages the input with the gaze (e.g., switches from the gaze disengaged mode to the gaze engaged mode). In some embodiments, the third input is received while the device is in the second mode (the gaze disengaged mode), and the selection point is confirmed at the second position in accordance with the device being in the second mode.

[0138] In some embodiments, confirming the selection point selects an object corresponding to a location of the selection point (e.g., the second location), e.g., in response to receiving a third user input, the device selects the object corresponding to the second location.

[0139] In some embodiments, confirming the selection point places the object at the location of the selection point. For example, prior to receiving the first user input, the device selects the object at a third location different from the second location, and in response to receiving the third user input, places the object at the second location. In some embodiments, prior to receiving the first user input, the device selects the object at a third location different from the second location, and the selection point is designated at the first location in accordance with a determination that the first location corresponds to multiple selectable placement locations (e.g., the device does not confirm the placement location if there is ambiguity or uncertainty about the location to be selected). In some such embodiments, in response to receiving the first user input and in accordance with a determination that the first location corresponds to only a single selectable placement location, the device places the object at the single selectable placement location (e.g., the device bypasses provisionally designating the placement location if only one option exists).

[0140] In some embodiments, the first user input is the same type of input as the second user input or the third user input. In some embodiments, a single tap or button press is used to designate a point or object(s) and another single tap or the same button press is used to confirm the designated point or object(s). In some embodiments, the device determines which action to take based on the mode in which the device is operating (e.g., selection mode or placement mode).

[0141] Referring now to FIG. 21, a flow chart of an exemplary process 2100 for interacting with an electronic device using gaze is shown. The process 2100 can be performed using a user device (e.g., 100a, 300, 900, or 1900). The user device can be, for example, a handheld mobile device, a head-mounted device, or a head-up device. In some embodiments, the process 2100 is performed using two or more electronic devices, such as a user device communicatively coupled to another device, such as a base device. In these embodiments, the operations of the process 2100 are distributed in any manner between the user device and the other device. Furthermore, the display of the user device may be transparent or opaque. The process 2100 can be applied to CGR environments, including virtual reality environments and mixed reality environments, and can be applied to virtual objects, physical objects, and representations (e.g., affordances) corresponding to the virtual and physical objects. Although the blocks of the process 2100 are shown in a particular order in FIG. 21, the blocks can be performed in other orders. Furthermore, one or more blocks of process 2100 may be partially executed, optionally executed, combined with another block(s), and / or additional blocks may be executed.

[0142] At block 2102, the device receives a first user input at a first time. At block 2104, in response to receiving the first user input, the device designates a first object of the plurality of objects based on the gaze position (e.g., the position of the plurality of objects corresponds to the gaze position at the first time). In some embodiments, a focus indicator designates the first object. In some embodiments, the plurality of objects are highlighted or magnified, or a menu option corresponding to a menu affordance at the gaze position is displayed.

[0143] In some embodiments, the first object is designated according to a determination that the gaze position at the first time corresponds to a line of sight to more than one object (e.g., a plurality of objects). For example, if there is ambiguity or uncertainty about the object to be selected, the device does not confirm the selection. In some such embodiments, in response to receiving the first user input and according to a determination that the gaze position at the first time corresponds to a line of sight to only a single selectable object, the device selects the single selectable object.

[0144] In some embodiments, a first user input is received while the device is in a first mode (e.g., a gaze-engaged mode in which responses to user inputs are based on a user's gaze), and the first object is designated in accordance with the electronic device being in the first mode. In some such embodiments, in response to receiving the first user input, the device switches from the first mode to a second mode (e.g., switches to a gaze-disengaged mode in which responses to user inputs are not based on a user's gaze such that the gaze is disengaged from further inputs). In some such embodiments, a second input is received while the electronic device is in the second mode, and the second object is designated in accordance with the electronic device being in the second mode.

[0145] In some embodiments, the first object is designated in accordance with a determination that the first user input is a first type of input (e.g., a touch on the touch-sensitive surface, a button press, or a body gesture). In some such embodiments, in response to receiving the first user input and in accordance with a determination that the first user input is a second type of input different from the first type of input on the touch-sensitive surface (e.g., a click (as opposed to a touch) on the touch-sensitive surface, a different button press, or a different body gesture), the device selects multiple objects.

[0146] While maintaining the designation of the first object, the device performs the operations of blocks 2106 and 2108. At block 2106, the device receives a second user input. At block 2108, in response to receiving the second user input, the device stops designating the first object and designates a second object of the plurality of objects (e.g., moves the focus indicator to a different object), where the designation of the second object is not based on the gaze position. In some embodiments, the second object is selected based solely on characteristics (e.g., position, direction, speed, duration, etc.) of the second user input. In some embodiments, the second user input is at a second time point, and the position of the second object at the second time point is different from the gaze position at the second time point.

[0147] While maintaining the designation of the second object, the device performs the operations of blocks 2110 and 2112. At block 2110, the device receives a third user input. At block 2112, in response to receiving the third user input, the device selects the second object.

[0148] In some embodiments, after selecting the second object, the device receives a fourth user input at the second time. In response to receiving the fourth user input and in accordance with a determination that the fourth user input is a first type of input, the device places the second object at the gaze position at the second time. In response to receiving the fourth user input and in accordance with a determination that the fourth user input is a second type of input different from the first type of input, the device designates a placement point corresponding to the gaze position at the second time. In some such embodiments, while maintaining the designation of the placement position, the device receives a fifth user input, and in response to receiving the fifth user input, places the second object at the current position of the placement point.

[0149] In some embodiments, the first user input is the same type of input as the second user input or the third user input. In some embodiments, a single tap or button press is used to designate the first object and another single tap or the same button press is used to select the second object.

[0150] Referring now to FIG. 22, a flow chart of an example process 2200 for interacting with an electronic device using gaze is shown. The process 2200 can be performed using a user device (e.g., 100a, 300, 900, or 1900). The user device can be, for example, a handheld mobile device, a head-mounted device, or a head-up device. In some embodiments, the process 2200 is performed using two or more electronic devices, such as a user device communicatively coupled to another device, such as a base device. In these embodiments, the operations of the process 2200 are distributed in any manner between the user device and the other device. Furthermore, the display of the user device may be transparent or opaque. The process 2200 can be applied to CGR environments, including virtual reality environments and mixed reality environments, and can be applied to virtual objects, physical objects, and representations (e.g., affordances) corresponding to the virtual and physical objects. Although the blocks of the process 2200 are shown in a particular order in FIG. 22, the blocks can be performed in other orders. Furthermore, one or more blocks of process 2200 may be partially executed, optionally executed, combined with another block(s), and / or additional blocks may be executed.

[0151] At block 2202, the device selects an object (e.g., as described in process 2100). While maintaining the object selection, the device performs the operations of blocks 2204, 2206, 2208, 2210, 2212, and 2214. At block 2204, the device receives a first user input at a first time. At block 2206, in response to receiving the first user input, the device designates a placement point at a first location based on a gaze position at the first time, the first location corresponding to the gaze position at the first time.

[0152] In some embodiments, the placement point is designated at the first location in accordance with a determination that the first user input is a first type of input (e.g., a touch on the touch-sensitive surface, a button press, or a body gesture). In some such embodiments, in response to receiving the first user input and in accordance with a determination that the first user input is a second type of input different from the first type of input on the touch-sensitive surface (e.g., a click (as opposed to a touch) on the touch-sensitive surface, a different button press, or a different body gesture), the device places the selected object at the first location.

[0153] In some embodiments, the placement point is designated at the first location in accordance with a determination that the first location corresponds to multiple selectable placement locations (e.g., the device does not verify the placement location when there is ambiguity or uncertainty about the location to be selected for placement). In some such embodiments, in response to receiving the first user input and in accordance with a determination that the first location corresponds to only a single selectable placement location, the device places the selected object at the single selectable placement location.

[0154] While maintaining the designation of the location point, the device performs the operations of blocks 2208, 2210, 2212, and 2214. At block 2208, the device receives a second user input. At block 2210, in response to receiving the second user input, the device moves the location point to a second position that is different from the first position, and moving the location point to the second position is not based on a gaze position (e.g., a gaze position at the time of the second user input). In some embodiments, the second position is different from a gaze position associated with the second user input.

[0155] In some embodiments, the first user input is received while the electronic device is in a first mode (e.g., a gaze-engaged mode in which responses to user inputs are based on gaze position), and the location point is designated at a first location in accordance with the electronic device being in the first mode. In some such embodiments, in response to receiving the first user input, the device switches from the first mode to a second mode (e.g., switching to a gaze-disengaged mode in which responses to user inputs are not based on the user's gaze such that the gaze is disengaged from further inputs in response to the first input). In some such embodiments, the second user input is received while the electronic device is in the second mode, and the location point is moved to a second location in accordance with the electronic device being in the second mode.

[0156] At block 2212, the device receives a third user input. At block 2214, in response to receiving the third user input, the device places the selected object at a second location and, optionally, deselects the object. In some embodiments, the first user input is the same type of input as the second user input or the third user input. In some embodiments, a single tap or button press is used to specify the placement point at the first location and another single tap or the same button press is used to place the selected object at the second location.

[0157] Executable instructions for performing the functions of processes 2000, 2100 and / or 2200 described above are optionally included in a transitory or non-transitory computer-readable storage medium (e.g., memory(s) 106) or other computer program product configured to be executed by one or more processors (e.g., processor(s) 102). Some operations in process 2000 are optionally included in process 2100 and / or process 2200 (e.g., blocks 2004 and / or 2008 are included in blocks 2104 and / or 2108, respectively), some operations in process 2100 are optionally included in process 2000 and / or process 2200 (e.g., block 2202 is included in block 2112), and some operations in process 2200 are optionally included in process 2000 and / or process 2100 (e.g., block 2112 is included in block 2202). Further, some operations in processes 2000, 2100 and / or 2200 (e.g., blocks 2004, 2008, 2104, 2108, 2206 and / or 2210) are optionally included in processes 1600, 1700 and / or 1800, and some operations in processes 1600, 1700 and / or 1800 (e.g., blocks 1604, 1606, 1704, 1706, 1804 and / or 1806) are optionally included in processes 2000, 2100 and / or 2200.

[0158] As mentioned above, one aspect of the present technology involves the use of data regarding the user's gaze. Gaze information can be used in the present technology to the user's benefit. For example, the user's gaze can be used to infer the user's focus on a particular part of the computer-generated reality environment, allowing the user to interact with a particular object in that part of the field of view. However, some users may consider gaze information to be sensitive or of a personal nature.

[0159] Entities that collect, use, transmit, store, or otherwise affect gaze information detected by a CGR system should follow well-established privacy policies and / or privacy practices. Specifically, such entities should implement and consistently use privacy policies and practices that are generally recognized as meeting or exceeding industry or government requirements for keeping personal information data confidential and secure. Such policies should be easily accessible by users and should be updated as data collection and / or use changes. Gaze information from users should be collected for the entity's lawful and legitimate use and should not be shared or sold except for those lawful uses. Furthermore, such collection / sharing should be conducted after informing and obtaining consent from the user. Furthermore, such entities should consider taking all necessary measures to protect and secure access to such gaze information data and ensure that others (if any) having access to that gaze information data comply with their privacy policies and procedures. Furthermore, such entities may subject themselves to third-party assessment to attest to their compliance with widely accepted privacy policies and practices. Moreover, policies and practices should be adapted to the specific type of gaze information data being collected and / or accessed, and should comply with applicable laws and standards, including jurisdiction-specific considerations.

[0160] The present disclosure also contemplates embodiments in which a user selectively blocks the use of gaze information or access to assistance information. An entity implementing the present technology may determine whether a particular feature can be provided while allowing a user to choose to "opt-in" or "opt-out" of participating in the collection of gaze information during registration for the service or at any time thereafter. In addition to providing "opt-in" and "opt-out" options, the present disclosure contemplates providing notifications regarding the access or use of gaze information. For example, a user may be notified when downloading an app that their personal gaze data will be accessed. The user may also be transparently instructed as to why some gaze information is being used to provide certain features. For example, in a virtual reality system in which gaze information is used to determine where a user is looking, the user may be informed that their gaze information is being used to determine which view of the virtual environment the system should render, thereby enabling the user to make an informed decision about when to enable the use of gaze information.

[0161] Nevertheless, it is the intent of this disclosure that gaze information data should be managed and processed in a manner that minimizes the risk of unintended or unauthorized access or use. The risk can be minimized by limiting the collection of data and deleting it when the data is no longer needed. Furthermore, where applicable, de-identification of data can be used to protect user privacy. De-identification can be facilitated by removing specific identifiers (e.g., username, device name, etc.) where appropriate, by controlling the amount or specificity of data stored (e.g., collecting mathematical coordinates where a user is looking in a coordinate system but avoiding collecting information about what content is being viewed at those coordinates), by controlling how data is stored (e.g., locally), and / or by other methods.

[0162] The foregoing descriptions of specific embodiments have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the scope of the claims to the precise forms disclosed, and it should be understood that many modifications and variations are possible in light of the above teachings.

Claims

1. Receiving a first user input at a first time; In response to receiving the first user input, designating a first object of a plurality of objects corresponding to a gaze position at the first time point; While maintaining the designation of the first object, Receiving a second user input; In response to receiving the second user input, ceasing designation of the first object; designating a second object of the plurality of objects, the designation of the second object being not based on the gaze position; While maintaining the designation of the second object, receiving a third user input; selecting the second object in response to receiving the third user input; and A method comprising:

2. The first object is designated in accordance with a determination that the gaze position at the first time corresponds to gaze to two or more selectable objects, the method comprising: In response to receiving the first user input, selecting a single selectable object in accordance with a determination that the gaze position at the first time corresponds to a gaze direction to only a single selectable object; The method of claim 1 further comprising:

3. After selecting the second object, receiving a fourth user input at a second time; In response to receiving the fourth user input, in response to determining that the fourth user input is a first type of input, placing the second object at a gaze position at the second time; designating a placement point corresponding to the gaze position at the second time in response to a determination that the fourth user input is a second type of input different from the first type of input; and The method according to claim 1 , further comprising:

4. receiving a fifth user input while maintaining the designation of the placement position; and responsive to receiving the fifth user input, placing the second object at a current location of the placement point; The method of claim 3 further comprising:

5. The first user input is received while the electronic device is in a first mode, and the first object is designated in accordance with the electronic device being in the first mode, the method further comprising: and switching the electronic device from the first mode to a second mode in response to receiving the first user input, wherein the second input is received while the electronic device is in the second mode, and the second object is designated in accordance with the electronic device being in the second mode.

5. The method according to any one of claims 1 to 4.

6. The method of claim 1 , wherein the first user input is of the same type as the second user input or the third user input.

7. The method of claim 1 , wherein the second user input is at a second time point, and a position of the second object at the second time point is different from a gaze position at the second time point.

8. The first object is designated in accordance with determining that the first user input is a first type of input, the method comprising: In response to receiving the first user input, selecting the plurality of objects in accordance with a determination that the first user input is a second type of input different from the first type of input; The method of claim 1 , further comprising:

9. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for performing the method of any one of claims 1 to 8.

10. one or more processors; A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 1 to 8; An electronic device comprising:

11. An electronic device comprising means for carrying out the method according to any one of claims 1 to 8.

12. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising: Receiving a first user input at a first time; In response to receiving the first user input, designating a first object of a plurality of objects corresponding to a gaze position at the first time point; While maintaining the designation of the first object, Receiving a second user input; In response to receiving the second user input, ceasing designation of the first object; designating a second object of the plurality of objects, the designation of the second object being not based on the gaze position; While maintaining the designation of the second object, receiving a third user input; selecting the second object in response to receiving the third user input; and A non-transitory computer-readable storage medium comprising instructions for performing the steps of:

13. one or more processors; a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: Receiving a first user input at a first time; In response to receiving the first user input, designating a first object of a plurality of objects corresponding to a gaze position at the first time point; While maintaining the designation of the first object, Receiving a second user input; In response to receiving the second user input, ceasing designation of the first object; designating a second object of the plurality of objects, the designation of the second object being not based on the gaze position; While maintaining the designation of the second object, receiving a third user input; selecting the second object in response to receiving the third user input; and a memory including instructions for performing An electronic device comprising:

14. means for receiving a first user input at a first time; means for designating a first object of a plurality of objects corresponding to a gaze position at the first time point in response to receiving the first user input; While maintaining the designation of the first object, Receiving a second user input; In response to receiving the second user input, ceasing designation of the first object; designating a second object of the plurality of objects, the designation of the second object being not based on the gaze position; and and a means for performing said While maintaining the designation of the second object, receiving a third user input; selecting the second object in response to receiving the third user input; and and a means for performing said An electronic device comprising:

15. Receiving a first user input at a first time; in response to receiving the first user input, designating a selection point at a first location, the first location corresponding to a gaze position at the first time; While maintaining the designation of said selection point, Receiving a second user input; in response to receiving the second user input, moving the selection point to a second location different from the first location, where moving the selection point to the second location is not based on the gaze position; and receiving a third user input while the selection point is at the second position; and confirming the selection point at the second location in response to receiving the third user input; and A method comprising:

16. responsive to receiving the third user input, selecting an object corresponding to the second location; The method of claim 15 further comprising:

17. The selection point is designated at the first location in accordance with a determination that the first location corresponds to a plurality of selectable objects, the method comprising: In response to receiving the first user input, selecting the single selectable object in accordance with a determination that the first location corresponds to only a single selectable object; 17. The method of any one of claims 15 to 16, further comprising:

18. selecting an object at a third location, different from the second location, prior to receiving the first user input; responsive to receiving the third user input, placing the object at the second location; and 18. The method of any one of claims 15 to 17, further comprising:

19. selecting an object at a third location, different from the second location, prior to receiving the first user input, wherein the selection point is designated at the first location in accordance with a determination that the first location corresponds to a plurality of selectable placement locations. The method further comprises: In response to receiving the first user input, in accordance with a determination that the first location corresponds to only a single selectable placement location, placing the object at the single selectable placement location; 19. The method of any one of claims 15 to 18, further comprising:

20. The first user input is received while the electronic device is in a first mode, and the selection point is designated at the first location in accordance with the electronic device being in the first mode, the method further comprising: switching the electronic device from the first mode to a second mode in response to receiving the first user input, wherein the second input is received while the electronic device is in the second mode, the selection point is moved to the second position in accordance with the electronic device being in the second mode, and the second position is confirmed at the selection point; 20. The method of any one of claims 15 to 19, further comprising:

21. 21. The method of any one of claims 15 to 20, wherein the first user input is of the same type as the second user input or the third user input.

22. The method of claim 15 , wherein the second position is different from a gaze position associated with the second user input.

23. The selection point is designated at the first location in accordance with determining that the first user input is a first type of input, the method further comprising: In response to receiving the first user input, validating the selection point at the first location in response to a determination that the first user input is a second type of input different from the first type of input; 23. The method of any one of claims 15 to 22, further comprising:

24. 24. A non-transitory computer readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for performing the method of any one of claims 15 to 23.

25. one or more processors; A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 15 to 23; An electronic device comprising:

26. 24. An electronic device comprising means for carrying out the method according to any one of claims 15 to 23.

27. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising: Receiving a first user input at a first time; in response to receiving the first user input, designating a selection point at a first location, the first location corresponding to a gaze position at the first time; While keeping the selection point specified, Receiving a second user input; in response to receiving the second user input, moving the selection point to a second location different from the first location, where moving the selection point to the second location is not based on the gaze position; and receiving a third user input while the selection point is at the second position; and confirming the selection point at the second location in response to receiving the third user input; and A non-transitory computer-readable storage medium comprising instructions for performing the steps of:

28. one or more processors; a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: Receiving a first user input at a first time; in response to receiving the first user input, designating a selection point at a first location, the first location corresponding to a gaze position at the first time; While keeping the selection point specified, Receiving a second user input; in response to receiving the second user input, moving the selection point to a second location different from the first location, where moving the selection point to the second location is not based on the gaze position; and receiving a third user input while the selection point is at the second position; and confirming the selection point at the second location in response to receiving the third user input; and a memory including instructions for performing An electronic device comprising:

29. means for receiving a first user input at a first time; means for designating a selection point at a first location in response to receiving the first user input, the first location corresponding to a gaze position at the first time; While maintaining the designation of said selection point, Receiving a second user input; in response to receiving the second user input, moving the selection point to a second location different from the first location, where moving the selection point to the second location is not based on the gaze position; and receiving a third user input while the selection point is at the second position; and confirming the selection point at the second location in response to receiving the third user input; and and a means for performing said An electronic device comprising:

30. Selecting an object; While maintaining the selection of said object, Receiving a first user input at a first time; in response to receiving the first user input, designating a placement point at a first location based on a gaze position at the first time, the first location corresponding to the gaze position at the first time; While maintaining the designation of said placement points, Receiving a second user input; in response to receiving the second user input, moving the location point to a second location different from the first location, where moving the location point to the second location is not based on the gaze position; and receiving a third user input; responsive to receiving the third user input, placing the selected object at the second location; and The method includes:

31. The placement point is designated at the first location in accordance with a determination that the first location corresponds to a plurality of selectable placement locations, the method comprising: In response to receiving the first user input, in accordance with a determination that the first location corresponds to only a single selectable placement location, placing the selected object at the single selectable placement location; 31. The method of claim 30, further comprising:

32. The first user input is received while the electronic device is in a first mode, and the location point is designated at the first location in accordance with the electronic device being in the first mode, the method further comprising: switching the electronic device from the first mode to a second mode in response to receiving the first user input, wherein the second input is received while the electronic device is in the second mode, and the location point is moved to the second position in accordance with the electronic device being in the second mode; 32. The method of any one of claims 30 to 31, further comprising:

33. 33. The method of any one of claims 30 to 32, wherein the first user input is of the same type as the second user input or the third user input.

34. 34. The method of claim 30, wherein the second position is different from a gaze position associated with the second user input.

35. The location point is designated at the first location in accordance with determining that the first user input is a first type of input, the method further comprising: In response to receiving the first user input, placing the selected object at the first location in accordance with a determination that the first user input is a second type of input different from the first type of input; 35. The method of any one of claims 30 to 34, further comprising:

36. 36. A non-transitory computer readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for performing the method of any one of claims 30 to 35.

37. one or more processors; A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing a method according to any one of claims 30 to 35; An electronic device comprising:

38. 36. An electronic device comprising means for carrying out the method of any one of claims 30 to 35.

39. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising: Selecting an object; While maintaining the selection of said object, Receiving a first user input at a first time; in response to receiving the first user input, designating a placement point at a first location based on a gaze position at the first time, the first location corresponding to the gaze position at the first time; While maintaining the designation of said placement points, Receiving a second user input; in response to receiving the second user input, moving the location point to a second location different from the first location, where moving the location point to the second location is not based on the gaze position; and receiving a third user input; responsive to receiving the third user input, placing the selected object at the second location; and A non-transitory computer-readable storage medium comprising instructions for performing the steps of:

40. one or more processors; a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: Selecting an object; While maintaining the selection of said object, Receiving a first user input at a first time; in response to receiving the first user input, designating a placement point at a first location based on a gaze position at the first time, the first location corresponding to the gaze position at the first time; While maintaining the designation of said placement points, Receiving a second user input; in response to receiving the second user input, moving the location point to a second location different from the first location, where moving the location point to the second location is not based on the gaze position; and receiving a third user input; responsive to receiving the third user input, placing the selected object at the second location; and including instructions to: Memory, An electronic device comprising:

41. A means for selecting an object; While maintaining the selection of said object, Receiving a first user input at a first time; in response to receiving the first user input, designating a placement point at a first location based on a gaze position at the first time, the first location corresponding to the gaze position at the first time; While maintaining the designation of said placement points, Receiving a second user input; in response to receiving the second user input, moving the location point to a second location different from the first location, where moving the location point to the second location is not based on the gaze position; and receiving a third user input; responsive to receiving the third user input, placing the selected object at the second location; and and a means for performing said An electronic device comprising: