Eyewear including shared object manipulation AR experience

By integrating a touchpad and a multi-camera system into an eye-wearing device, the device captures the user's gaze and gesture information, enabling the sharing and collaborative control of virtual objects among multiple users and enhancing the effect of augmented reality interaction.

CN115735177BActive Publication Date: 2026-05-29SNAP INC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SNAP INC
Filing Date
2021-06-29
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing augmented reality technologies struggle to achieve effective sharing and manipulation of virtual objects in multi-user interactions, resulting in a poor user experience.

Method used

By integrating a touchpad, visible light camera, and infrared tracking system into an eye-wearing device, the device captures the user's gaze direction and gesture input, generates a 3D depth image, and enables interactive control and sharing of virtual objects in a virtual scene.

Benefits of technology

It enables collaborative augmented reality experiences among multiple users, improves the precision and interactivity of virtual object manipulation, and enhances the efficiency of collaboration among users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115735177B_ABST
    Figure CN115735177B_ABST
Patent Text Reader

Abstract

An eyewear provides an interactive augmented reality experience between two users of an eyewear device to perform a shared group object manipulation task. During the shared group task, each user of the eyewear controls movement of a respective virtual object in a virtual scene based on a portion of the virtual scene that the user is gazing at. Each user can also generate verbal commands to generate a virtual object that interacts with one or more of the other virtual objects.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application claims priority to U.S. Provisional Patent Application Serial No. 63 / 046,348, filed on June 30, 2020, the contents of which are incorporated herein by reference in their entirety. Technical Field

[0003] The examples described in this disclosure relate to the fields of augmented reality (AR) and wearable mobile devices, such as eye-worn devices. Background Technology

[0004] Many types of computers and electronic devices available today, such as mobile devices (e.g., smartphones, tablets, and laptops), handheld devices, and wearable devices (e.g., smart glasses, digital eyewear, headbands, head-mounted displays), include various cameras, sensors, wireless transceivers, input systems (e.g., touch-sensitive surfaces, indicators), peripherals, displays, and graphical user interfaces (GUIs) through which users can interact with displayed content.

[0005] Augmented reality (AR) combines real-world objects with virtual objects in the physical environment and displays this combination to the user. The combined display gives the impression that the virtual objects truly exist in the environment, especially when the virtual objects look and behave like real objects. Attached Figure Description

[0006] The features of the various examples described will be readily understood from the following detailed embodiments with reference to the accompanying drawings. In the specification and several views of the drawings, each element is represented by a reference numeral. When multiple similar elements exist, a single reference numeral may be assigned to the similar elements, using a lowercase letter to designate the specific element.

[0007] Unless otherwise stated, the various components shown in the figures are not drawn to scale. The dimensions of the individual components may be enlarged or reduced for clarity. Several figures depict one or more specific embodiments and are presented by way of example only and should not be construed as limiting. The following figures are included in the figures:

[0008] Figure 1A is a side view (right) of an exemplary hardware configuration for an eye-wearing device suitable for an augmented reality generation system;

[0009] Figure 1B is a partial cross-sectional perspective view of the right corner of the eye-wearing device in Figure 1A, depicting the right visible light camera and circuit board.

[0010] Figure 1C is a side view (left) of an exemplary hardware configuration of the eye-wearing device of Figure 1A, showing the left visible light camera;

[0011] Figure 1D is a partial cross-sectional perspective view of the left corner of the eye-wearing device in Figure 1C, depicting the left visible light camera and circuit board;

[0012] Figures 2A and 2B are rear views of exemplary hardware configurations of eye-wearing devices used in augmented reality generation systems;

[0013] Figure 2C illustrates the detection of eye gaze direction;

[0014] Figure 2D illustrates the detection of eye localization;

[0015] Figure 3 is a graphical depiction of a 3D scene, the left original image captured by the left visible light camera, and the right original image captured by the right visible light camera;

[0016] Figure 4 is a functional block diagram of an exemplary augmented reality generation system that includes wearable devices (e.g., eye-wearing devices) and server systems connected via various networks;

[0017] Figure 5 is a graphical representation of an exemplary hardware configuration of a mobile device used in the augmented reality generation system of Figure 4;

[0018] Figure 6A shows a virtual scene displayed by the eyewear operated by the first user A in the first example;

[0019] Figure 6B shows the virtual scene displayed by the eyewear operated by the second user B in the first example;

[0020] Figure 7 is a flowchart of an exemplary method for displaying virtual objects in the eyewear of a first user A and a second user B;

[0021] Figure 8A shows a virtual scene displayed by the eyewear operated by the first user A in the second example;

[0022] Figure 8B shows a virtual scene displayed by an eye-wearing device operated by a second user B in the second example;

[0023] Figure 9 is a flowchart of an exemplary method for displaying virtual objects in the eyewear of a first user A and a second user B, corresponding to Figures 8A and 8B.

[0024] Figure 10A shows a virtual scene displayed by an eye-wearing device operated by a first user A in the third example, where eye tracking is used to control the positioning of the corresponding virtual objects;

[0025] Figure 10B illustrates the virtual scene displayed by the eyewear operated by the second user B in the third example; and

[0026] Figure 11 is a flowchart of an exemplary method corresponding to Figures 10A and 10B, in which virtual objects are displayed in the eyewear of a first user A and a second user B and eye tracking is used to control the virtual objects. Detailed Implementation

[0027] This invention discloses an eye-worn device that provides an interactive augmented reality experience between two or more users of the device to perform shared group object manipulation tasks. During a shared group task session, each user of the eye-worn device controls the movement of a corresponding virtual object in a virtual scene based on a portion of the virtual scene that the corresponding user is looking at. Each user can also generate verbal commands to create virtual objects that can interact with one or more other virtual objects.

[0028] The following detailed description includes systems, methods, techniques, instruction sequences, and computer program products illustrating the examples set forth in this disclosure. Numerous details and examples are included to provide a thorough understanding of the disclosed subject matter and its associated teachings. However, those skilled in the art will understand how the associated teachings can be applied without such details. Aspects of the disclosed subject matter are not limited to the specific devices, systems, and methods described, as the associated teachings can be applied or practiced in various ways. The terminology and naming used herein are for descriptive purposes only and are not intended to be limiting. Typically, well-known examples of instructions, protocols, structures, and techniques are not necessarily shown in detail.

[0029] As used herein, the terms “coupled” or “connected” refer to any logical, optical, physical, or electrical connection (including links, etc.) through which electrical or magnetic signals generated or provided by one system element are transmitted to another coupled or connected system element. Unless otherwise stated, coupled or connected elements or devices are not necessarily directly connected to each other and may be separated by intermediate components, elements, or communication media, one or more of which may modify, manipulate, or carry electrical signals. The term “on” means directly supported by an element or indirectly supported by an element through another element integrated into or supported by that element.

[0030] The term "proximal" is used to describe an object or part of an object that is located near, to the left of, or next to an object or person; or it is closer to other parts of the object that can be described as "distal." For example, the end of an object that is closest to an object can be called the proximal end, while the roughly opposite end can be called the distal end.

[0031] For purposes of illustration and discussion, the orientation of eye-wearing devices, other mobile devices, associated components, and any other devices incorporating a camera, inertial measurement unit, or both, as shown in any of the accompanying figures, is given by way of example only. In operation, the eye-wearing device may be oriented in any other direction suitable for the particular application of the eye-wearing device, such as up, down, sideways, or any other orientation. Furthermore, for the purposes of this document, any directional terms such as front, back, inside, outside, towards, left, right, sideways, longitudinal, up, down, high, low, top, bottom, side, horizontal, vertical, and diagonal are used by way of example only and do not limit the orientation or orientation of any camera or inertial measurement unit as constructed or otherwise described herein.

[0032] Other objects, advantages, and novel features of the examples will be set forth in part in the detailed description below, and in part will become apparent to those skilled in the art upon examination of the following description and the accompanying drawings, or may be learned by the generation or operation of the examples. The objects and advantages of this subject matter may be realized and achieved by means of the methods, means, and combinations particularly pointed out in the appended claims.

[0033] Now refer in detail to the accompanying drawings and the examples discussed below.

[0034] Figure 1A is a side view (right) of an exemplary hardware configuration of an eye-wearing device 100 including a touch-sensitive input device or touchpad 181. As shown, the touchpad 181 may have subtle and barely perceptible boundaries; alternatively, the boundaries may be clearly visible or include raised or otherwise tactile edges that provide feedback to the user about the position and boundaries of the touchpad 181. In other embodiments, the eye-wearing device 100 may include a touchpad on the left side.

[0035] The surface of touchpad 181 is configured to detect finger touches, taps, and gestures (e.g., movement touches) for use with the GUI displayed on the image display of the eye-wearing device, thereby allowing users to navigate and select menu options in an intuitive way, which improves and simplifies the user experience.

[0036] Detection of finger input on touchpad 181 enables several functions. For example, touching anywhere on touchpad 181 can cause the GUI to display or highlight an item on a display screen, which can be projected onto at least one of optical components 180A, 180B. Double-clicking on touchpad 181 selects an item or icon. Sliding or swiping a finger in a specific direction (e.g., from front to back, from back to front, from top to bottom, or from bottom to top) allows an item or icon to slide or scroll in that direction; for example, to move to the next item, icon, video, image, page, or slideshow. Sliding a finger in another direction allows sliding or scrolling in the opposite direction; for example, to move to the previous item, icon, video, image, page, or slideshow. Touchpad 181 can be located virtually anywhere on the eye-wearing device 100.

[0037] In one example, a recognized finger gesture clicked on touchpad 181 initiates the selection or pressing of a graphical user interface element in an image displayed on the optical components 180A, 180B. Adjustments to the image displayed on the optical components 180A, 180B based on the recognized finger gesture can be a primary action of selecting or submitting a graphical user interface element on the image display of the optical components 180A, 180B for further display or execution.

[0038] As shown in the figure, the eye-wearing device 100 includes a right visible light camera 114B. As further described herein, two cameras 114A and 114B capture image information of the scene from two separate viewpoints. The two captured images can be used to project a 3D display onto an image display for viewing using 3D glasses.

[0039] The eye-wearing device 100 includes a right optical component 180B having an image display for presenting images, such as depth images. As shown in Figures 1A and 1B, the eye-wearing device 100 includes a right visible light camera 114B. The eye-wearing device 100 may include a plurality of visible light cameras 114A, 114B forming a passive three-dimensional camera, such as a stereo camera, wherein the right visible light camera 114B is located at the right corner 110B. As shown in Figures 1C to 1D, the eye-wearing device 100 also includes a left visible light camera 114A.

[0040] Left and right visible light cameras 114A and 114B are sensitive to wavelengths within the visible light range. Each of the visible light cameras 114A and 114B has a different forward field of view, which overlap to enable the generation of a three-dimensional depth image; for example, the right visible light camera 114B depicts a right field of view 111B. Generally, a "field of view" is the portion of a scene visible through a camera at a specific location and orientation in space. Fields of view 111A and 111B have an overlapping field of view 304 (Figure 3). When the visible light cameras capture images, objects or object features outside of fields of view 111A and 111B are not recorded in the original image (e.g., a photograph or picture). The field of view describes the angular range or amplitude of electromagnetic radiation of a given scene picked up by the image sensors of the visible light cameras 114A and 114B in the captured image of a given scene. The field of view can be expressed as the angular size of the view frustum; i.e., the viewing angle. The viewing angle can be measured horizontally, vertically, or diagonally.

[0041] In the examples, visible light cameras 114A and 114B have a field of view between 15° and 30° (e.g., 24°) and a resolution of 480 × 480 pixels (or greater). In another example, the field of view can be much wider, such as 110°. The “coverage angle” describes the angular range of the lens of the visible light camera 114A, 114B or the infrared camera 220 (see Figure 2A) that can effectively image the sensor. Typically, a camera lens produces an image circle large enough to completely cover the film or sensor of the camera, possibly including some vignetting (e.g., the image darkens towards the edges compared to the center). If the camera lens’s coverage angle does not extend across the sensor, the image circle will be visible, typically with strong vignetting towards the edges, and the effective field of view will be limited to the coverage angle.

[0042] Examples of such visible light cameras 114A and 114B include high-resolution complementary metal-oxide-semiconductor (CMOS) image sensors and digital VGA cameras (video graphics arrays) capable of having resolutions of 640p (e.g., 640 × 480 pixels, totaling 0.3 megapixels), 720p, or 1080p. Other examples of visible light cameras 114A and 114B include those capable of capturing high-definition (HD) still images and storing these images at a resolution of 1642 × 1642 pixels (or greater); or recording high-definition video at a high frame rate (e.g., thirty to sixty frames per second or more) and storing the recording at a resolution of 1216 × 1216 pixels (or greater).

[0043] The eye-wearing device 100 can capture image sensor data from visible light cameras 114A and 114B, as well as geolocation data digitized by an image processor, for storage in memory. The visible light cameras 114A and 114B capture corresponding left and right raw images in a two-dimensional spatial domain. These raw images include a pixel matrix in a two-dimensional coordinate system, which includes an X-axis for horizontal positioning and a Y-axis for vertical positioning. Each pixel includes color attribute values ​​(e.g., red pixel light value, green pixel light value, or blue pixel light value); and positioning attributes (e.g., X-axis coordinates and Y-axis coordinates).

[0044] To capture stereoscopic images for later display as a 3D projection, an image processor 412 (shown in Figure 4) may be coupled to visible light cameras 114A, 114B to receive and store visual image information. The image processor 412, or another processor, controls the operation of the visible light cameras 114A, 114B to act as stereoscopic cameras simulating human binocular vision and may add timestamps to each image. The timestamps on each pair of images allow the images to be displayed together as part of a 3D projection. The 3D projection produces an immersive and realistic experience, which is desired in various contexts including virtual reality (VR) and video games.

[0045] Figure 1B is a cross-sectional perspective view of the right corner 110B of the eye-wearing device 100 of Figure 1A, depicting the right visible light camera 114B of the camera system and the circuit board. Figure 1C is a side view (left) of an exemplary hardware configuration of the eye-wearing device 100 of Figure 1A, showing the left visible light camera 114A of the camera system. Figure 1D is a cross-sectional perspective view of the left corner 110A of the eye-wearing device of Figure 1C, depicting the left visible light camera 114A of the 3D camera and the circuit board.

[0046] Except for the connection and coupling located on the left side 170A, the structure and arrangement of the left visible light camera 114A are substantially similar to those of the right visible light camera 114B. As shown in the example of Figure 1B, the eye-wearing device 100 includes the right visible light camera 114B and a circuit board 140B, which may be a flexible printed circuit board (PCB). The right hinge 126B connects the right corner 110B to the right temple 125B of the eye-wearing device 100. In some examples, the right visible light camera 114B, the flexible PCB 140B, or other components such as electrical connectors or contacts may be located on the right temple 125B or the right hinge 126B.

[0047] Left corner 110A and right corner 110B include corner bodies 190 and corner covers, which are omitted in the cross-sections of Figures 1B and 1D. Inside left corner 110A and right corner 110B are various interconnected circuit boards, such as PCBs or flexible PCBs, which include controller circuitry for the corresponding left visible light camera 114A, right visible light camera 114B, microphone 130, speaker 132, low-power wireless circuitry (e.g., for short-range wireless network communication via Bluetooth™), and high-speed wireless circuitry (e.g., for wireless LAN communication via Wi-Fi).

[0048] A right visible light camera 114B is coupled to or disposed on a flexible PCB 140B and covered by a visible light camera overlay lens, which is aimed through an opening formed in a frame 105. For example, the right edge 107B of frame 105, as shown in FIG. 2A, is connected to the right corner 110B and includes an opening for the visible light camera overlay lens. Frame 105 includes a front side configured to face outwards and away from the user's eye. The opening for the visible light camera overlay lens is formed on and extends through a forward or outward side of frame 105. In the example, the right visible light camera 114B has an outward-facing field of view 111B (shown in FIG. 3), the line of sight or viewing angle of which is related to the right eye of the user of the eyewear device 100. The visible light camera overlay lens may also be adhered to the front side or outward-facing surface of the right corner 110B, wherein the opening forms an outward-facing coverage angle, but in a different outward direction. Coupling may also be achieved indirectly via an intermediary member.

[0049] As shown in Figure 1B, a flexible PCB 140B is disposed within the right corner portion 110B and coupled to one or more other components housed within the right corner portion 110B. Although shown as being formed on a circuit board on the right corner portion 110B, the right visible light camera 114B may be formed on a circuit board on the left corner portion 110A, temples 125A, 125B, or frame 105.

[0050] Figures 2A and 2B are rear perspective views of an exemplary hardware configuration of an eye-wearing device 100 including two different types of image displays. The size and shape of the eye-wearing device 100 are configured for wear by a user; in this example, it is in the form of eyeglasses. The eye-wearing device 100 may take other forms and may be combined with other types of frames, such as headbands, headphones, or helmets.

[0051] In the example of eyeglasses, the eye-wearing device 100 includes a frame 105 comprising a left edge 107A connected to the right edge 107B via a nose bridge 106 adapted for support by the user's nose. The left and right edges 107A, 107B include corresponding apertures 175A, 175B that hold corresponding optical elements 180A, 180B, such as lenses and display devices. As used herein, the term "lens" is intended to include a sheet of transparent or translucent glass or plastic having a curved or flat surface that causes light to converge / diverge or to cause little or no convergence or divergence.

[0052] Although shown as having two optical elements 180A, 180B, the eyewear device 100 may include other arrangements, such as a single optical element (or it may not include any optical elements 180A, 180B), depending on the application of the eyewear device 100 or the intended user. As further shown, the eyewear device 100 includes a left corner portion 110A adjacent to the left side face 170A of the frame 105 and a right corner portion 110B adjacent to the right side face 170B of the frame 105. The corner portions 110A, 110B may be integrated into the frame 105 on the respective sides 170A, 170B (as shown) or implemented as separate components attached to the frame 105 on the respective sides 170A, 170B. Alternatively, the corner portions 110A, 110B may be integrated into temples (not shown) attached to the frame 105.

[0053] In one example, the image display of optical components 180A, 180B includes an integrated image display 177. As shown in FIG2A, each optical component 180A, 180B includes a suitable display matrix 177, such as a liquid crystal display (LCD), an organic light-emitting diode (OLED) display, or any other such display. Each optical component 180A, 180B also includes one or more optical layers 176, which may be in any combination including lenses, optical coatings, prisms, mirrors, waveguides, optical strips, and other optical components. Optical layers 176A, 176B, ... 176N (shown as 176A-N in FIG2A) may include prisms having suitable dimensions and construction and including a first surface for receiving light from the display matrix and a second surface for emitting light toward the user's eye. The prisms of optical layers 176A-N extend over all or at least a portion of the corresponding apertures 175A, 175B formed in the left and right edges 107A, 107B, to allow the user to see the second surface of the prism when viewing through the corresponding left and right edges 107A, 107B. The first surface of the prisms of optical layers 176A-N faces upward from the frame 105, and the display matrix 177 covers the prisms such that photons and light emitted by the display matrix 177 illuminate the first surface. The size and shape of the prisms are designed such that light is refracted within the prisms and directed by the second surface of the prisms of optical layers 176A-N to the user's eye. In this respect, the second surface of the prisms of optical layers 176A-N may be convex to direct light to the center of the eye. The size and shape of the prisms may optionally be designed to magnify the image projected by the display matrix 177, and the light travels through the prisms such that the image viewed from the second surface is larger than the image emitted from the display matrix 177 in one or more dimensions.

[0054] In one example, optical layers 176A-N may include a transparent LCD layer (keeping the lens open) unless and until a voltage is applied that makes the layer opaque (closing or blocking the lens). Image processor 412 on the eyewear device 100 may execute a program to apply voltage to the LCD layer to create an active shutter system, thereby adapting the eyewear device 100 for viewing visual content displayed as a three-dimensional projection. Technologies other than LCDs may be used in the active shutter mode, including other types of reactive layers that respond to voltage or another type of input.

[0055] In another example, the image display device for optical components 180A, 180B includes a projected image display as shown in FIG2B. Each optical component 180A, 180B includes a laser projector 150, which is a tri-color laser projector using a scanning mirror or a galvanometer. During operation, a light source (such as the laser projector 150) is positioned within or above one of the temples 125A, 125B of the eyewear device 100. In this example, optical component 180B includes one or more optical strips 155A, 155B, ... 155N (shown as 155A-N in FIG2B) spaced apart across the width of the lens of each optical component 180A, 180B, or across the depth of the lens between the front and rear surfaces of the lens.

[0056] As photons projected by the laser projector 150 travel through the lens of each optical component 180A, 180B, they encounter optical strips 155A-N. When a particular photon encounters a particular optical strip, it is either redirected toward the user's eye or propagated to the next optical strip. A combination of modulation of the laser projector 150 and modulation of the optical strips can control a particular photon or beam of light. In the example, the processor controls the optical strips 155A-N by emitting mechanical, acoustic, or electromagnetic signals. Although shown as having two optical components 180A, 180B, the eye-wearing device 100 may include other arrangements, such as single or three optical components, or each optical component 180A, 180B may be arranged in a different configuration, depending on the application of the eye-wearing device 100 or the intended user.

[0057] In another example, the eye-wearing device 100 shown in Figure 2B may include two projectors, a left projector 150A (not shown) and a right projector 150B (shown as projector 150). The left optical assembly 180A may include a left display matrix 177A (not shown) or left optical strips 155'A, 155'B, ... 155'N (155'', A to N, not shown), configured to interact with light from the left projector 150A. Similarly, the right optical assembly 180B may include a right display matrix 177B (not shown) or right optical strips 155'A, 155'B, ... 155'N (155'', A to N, not shown), configured to interact with light from the right projector 150B. In this example, the eye-wearing device 100 includes a left display and a right display.

[0058] Referring to Figure 2A, one or more of the frame 105 or the left and right temples 125A-B include an infrared emitter 215 and an infrared camera 220, which form an eye tracker (Figure 2C). The infrared emitter 215 and the infrared camera 220 can be connected to the flexible PCB 140B, for example, by soldering.

[0059] Other arrangements of the infrared emitter 215 and infrared camera 220 may be implemented, including arrangements where both the infrared emitter 215 and infrared camera 220 are on the right edge 107B, or in different locations on the frame 105, for example, the infrared emitter 215 is on the left edge 107A and the infrared camera 220 is on the right edge 107B. In another example, the infrared emitter 215 is on the frame 105, and the infrared camera 220 is on one of the temples 125A-B (or corners 110A-B), or vice versa. The infrared emitter 215 may be substantially attached to any location on the frame 105, the left temple 125A, or the right temple 125B to emit an infrared light pattern. Similarly, the infrared camera 220 may be substantially attached to any location on the frame 105, the left temple 125A, or the right temple 125B to capture at least one reflection variation in the emitted infrared light pattern.

[0060] Infrared emitter 215 and infrared camera 220 are arranged to face inward toward the user's eye, having part or all of the eye's field of view, in order to identify the corresponding eye positioning and gaze direction. For example, infrared emitter 215 and infrared camera 220 are positioned directly in front of the eye, in the upper part of frame 105, or in the temples 125A-B at both ends of frame 105.

[0061] In the example, processor 432 utilizes eye tracker 213 to determine the eye gaze direction 230 of the wearer's eyes 234, as shown in FIG2C, and the eye positioning 236 of the wearer's eyes 234 within the eye socket, as shown in FIG2D. Eye tracker 213 is a scanner that uses infrared illumination (e.g., near-infrared, short-wavelength infrared, mid-wavelength infrared, long-wavelength infrared, or far-infrared) to capture images of changes in the reflection of infrared light from the eyes 234 to determine the gaze direction 230 of the pupils 232 of the eyes 234, and the eye positioning 236 relative to the perspective display 180D.

[0062] Figure 3 is a graphical depiction of a 3D scene 306, a left raw image 302A captured by a left visible light camera 114A, and a right raw image 302B captured by a right visible light camera 114B. As shown, the left field of view 111A may overlap with the right field of view 111B. The overlapping field of view 304 represents the portion captured by both cameras 114A and 114B in the image. The term "overlap" in relation to field of view means that the pixel matrix in the generated raw image overlaps by thirty percent (30%) or more. "Substantially overlapping" means that the pixel matrix in the generated raw image or the pixel matrix in the infrared image of the scene overlaps by fifty percent (50%) or more. As described herein, the two raw images 302A and 302B can be processed to include a timestamp that allows the images to be displayed together as part of a 3D projection.

[0063] To capture a stereoscopic image, a pair of raw red-green-blue (RGB) images of the real scene 306 are captured at a given time, as shown in Figure 3: a left raw image 302A captured by the left camera 114A and a right raw image 302B captured by the right camera 114B. When the pair of raw images 302A, 302B are processed (e.g., by image processor 412), a depth image is generated. The generated depth image can be viewed on the optical components 180A, 180B of the eye-wearing device, on another display (e.g., image display 580 on the mobile device 401), or on a screen.

[0064] The generated depth image is in a three-dimensional spatial domain and may include a vertex matrix in a three-dimensional positional coordinate system, which includes an X-axis for horizontal positioning (e.g., length), a Y-axis for vertical positioning (e.g., height), and a Z-axis for depth (e.g., distance). Each vertex may include color attributes (e.g., red pixel light value, green pixel light value, or blue pixel light value); positional attributes (e.g., X-coordinate, Y-coordinate, and Z-coordinate); texture attributes; reflectance attributes; or combinations thereof. Texture attributes quantify the perceptual texture of the depth image, such as the spatial arrangement of colors or intensities in the vertex regions of the depth image.

[0065] In one example, the interactive augmented reality system 400 (FIG. 4) includes an eye-worn device 100, which includes a frame 105, a left temple 125A extending from the left side 170A of the frame 105, and a right temple 125B extending from the right side 170B of the frame 105. The eye-worn device 100 may further include at least two visible light cameras 114A, 114B having overlapping fields of view. In one example, the eye-worn device 100 includes a left visible light camera 114A having a left field of view 111A, as shown in FIG. 3. The left camera 114A is connected to the frame 105 or the left temple 125A to capture a left raw image 302A from the left side of the scene 306. The eye-worn device 100 further includes a right visible light camera 114B having a right field of view 111B. The right camera 114B is connected to the frame 105 or the right temple 125B to capture a right raw image 302B from the right side of the scene 306.

[0066] Figure 4 is a functional block diagram of an exemplary interactive augmented reality system 400, which includes wearable devices (e.g., eye-wearing device 100), mobile devices 401, and server systems 498 connected via various networks 495 (such as the Internet). The interactive augmented reality system 400 includes a low-power wireless connection 425 and a high-speed wireless connection 437 between the eye-wearing device 100 and the mobile device 401.

[0067] As shown in Figure 4, and as described herein, the eye-wearing device 100 includes one or more visible light cameras 114A, 114B that capture still images, video images, or both. Cameras 114A, 114B may have direct memory access (DMA) to high-speed circuitry 430 and function as stereo cameras. Cameras 114A, 114B can be used to capture initial depth images, which can be rendered into three-dimensional (3D) models, which are texture-mapped images of a red-green-blue (RGB) imaging scene. Device 100 may also include one or more infrared emitters 215 and infrared cameras 220 for eye tracking.

[0068] The eye-wear device 100 further includes two image displays 177 for each optical component 180A, 180B (one associated with the left side 170A and one associated with the right side 170B). The eye-wear device 100 also includes an image display driver 442, an image processor 412, low-power circuitry 420, and high-speed circuitry 430. The image display 177 of each optical component 180A, 180B is used to present images, including still images, video images, or still and video images. The image display driver 442 is coupled to the image display of each optical component 180A, 180B to control the display of the image.

[0069] The eye-wearing device 100 also includes one or more speakers 440 (e.g., one associated with the left side of the eye-wearing device and another associated with the right side of the eye-wearing device). The speakers 440 may be incorporated into the frame 105, temple 125, or corner 110 of the eye-wearing device 100. The one or more speakers 440 are driven by an audio processor 443 under the control of a low-power circuit 420, a high-speed circuit 430, or both. The speakers 440 are used to present audio signals, including, for example, a beat track. The audio processor 443 is coupled to the speakers 440 to control the presentation of sound.

[0070] The components for the eye-wearing device 100 shown in Figure 4 are located on one or more circuit boards, such as printed circuit boards (PCBs) or flexible printed circuit boards (FPCs) located in the edges or temples. Alternatively or additionally, the depicted components may be located in the corners, frames, hinges, or bridge of the eye-wearing device 100. The left and right visible light cameras 114A, 114B may include digital camera elements, such as complementary metal-oxide-semiconductor (CMOS) image sensors, charge-coupled devices, lenses, or any other corresponding visible or light-capturing elements that can be used to capture data, including still images or videos of scenes with unknown objects.

[0071] As shown in Figure 4, the high-speed circuit 430 includes a high-speed processor 432, a memory 434, and a high-speed wireless circuit 436. In this example, an image display driver 442 is coupled to the high-speed circuit 430 and operated by the high-speed processor 432 to drive the left and right image displays of each optical component 180A, 180B. The high-speed processor 432 can be any processor capable of managing the high-speed communication and operation of any general-purpose computing system required by the eye-wear device 100. The high-speed processor 432 includes the processing resources required to manage high-speed data transmission over a high-speed wireless connection 437 to a wireless local area network (WLAN) using the high-speed wireless circuit 436.

[0072] In some examples, the high-speed processor 432 executes an operating system, such as the LINUX operating system or other such operating system of the eye-wear device 100, and the operating system is stored in memory 434 for execution. Among other duties, the high-speed processor 432, which executes the software architecture of the eye-wear device 100, also manages data transmissions utilizing the high-speed wireless circuit 436. In some examples, the high-speed wireless circuit 436 is configured to implement the Institute of Electrical and Electronics Engineers (IEEE) 802.11 communication standard, also referred to herein as Wi-Fi. In other examples, the high-speed wireless circuit 436 may implement other high-speed communication standards.

[0073] Low-power circuitry 420 includes a low-power processor 422 and a low-power wireless circuitry 424. The low-power wireless circuitry 424 and high-speed wireless circuitry 436 of the eye-wear device 100 may include a short-range transceiver (Bluetooth). TM Or Bluetooth Low Energy (BLE) and wireless wide area network, local area network or wide area network transceivers (e.g. cellular or Wi-Fi). The mobile device 401, which includes transceivers communicating via low-power wireless connection 425 and high-speed wireless connection 437, can be implemented using the architectural details of the eye-wearing device 100, and the other components of the network 495 can be implemented in the same way.

[0074] Memory 434 includes any storage device capable of storing various data and applications, including camera data generated by the left and right visible light cameras 114A, 114B, infrared camera 220, image processor 412, and images generated by image display driver 442 for display on image display 177 of each optical component 180A, 180B. While memory 434 is shown as integrated with high-speed circuitry 430, in other examples, memory 434 may be a separate, independent component of the eye-wearing device 100. In some such examples, electrical wiring may provide a connection from image processor 412 or low-power processor 422 through a chip including high-speed processor 432 to memory 434. In other examples, high-speed processor 432 may manage addressing of memory 434 such that low-power processor 422 will initiate high-speed processor 432 whenever a read or write operation involving memory 434 is required.

[0075] As shown in Figure 4, the high-speed processor 432 of the eye-wearing device 100 can be coupled to a camera system (visible light cameras 114A, 114B), an image display driver 442, a user input device 491, and a memory 434. As shown in Figure 5, the CPU 530 of the mobile device 401 can be coupled to a camera system 570, a mobile display driver 582, a user input layer 591, and a memory 540A.

[0076] Server system 498 may be one or more computing devices as part of a service or network computing system, such as computing devices including a processor, memory, and network communication interface for communicating with one or more eye-wearing devices 100 and mobile devices 401 via network 495.

[0077] The output components of the eye-worn device 100 include visual elements, such as left and right image displays 177 associated with each lens or optical component 180A, 180B, as described in Figures 2A and 2B (e.g., displays such as liquid crystal displays (LCDs), plasma display panels (PDPs), light-emitting diode (LED) displays, projectors, or waveguides). The eye-worn device 100 may include user-facing indicators (e.g., LEDs, speakers, or vibration actuators) or outward-facing signals (e.g., LEDs, speakers). The image display 177 for each optical component 180A, 180B is driven by an image display driver 442. In some exemplary configurations, the output components of the eye-worn device 100 further include additional indicators, such as audible elements (e.g., speakers), tactile elements (e.g., actuators, such as vibration motors for generating tactile feedback), and other signal generators. For example, the device 100 may include a set of user-facing indicators and a set of outward-facing signals. The set of user-facing indicators is configured to be seen or otherwise perceived by a user of the device 100. For example, device 100 may include an LED display positioned so that a user can see it, one or more speakers positioned to generate sounds that a user can hear, or actuators providing tactile feedback that a user can feel. Outward-facing signal arrays are configured to be seen or otherwise perceived by an observer near device 100. Similarly, device 100 may include LEDs, speakers, or actuators configured and positioned to be perceived by an observer.

[0078] The input components of the eye-wearing device 100 may include alphanumeric input components (e.g., a touchscreen or touchpad configured to receive alphanumeric input, a photographic optical keyboard, or other alphanumeric-configured elements), point-based input components (e.g., a mouse, touchpad, trackball, joystick, motion sensor, or other pointing instrument), haptic input components (e.g., a push-button switch, a touchscreen or touchpad that senses the position, force, or position and force of a touch or touch gesture, or other haptic-configured elements), and audio input components (e.g., a microphone). The mobile device 401 and server system 498 may include alphanumeric, point-based, haptic, audio, and other input components.

[0079] In some examples, the eye-wearing device 100 includes a collection of motion-sensing components referred to as an inertial measurement unit (IMU) 472. These motion-sensing components can be microelectromechanical systems (MEMS) with micro-moving parts, typically small enough to be part of a microchip. In some exemplary configurations, the IMU 472 includes an accelerometer, a gyroscope, and a magnetometer. The accelerometer senses the linear acceleration (including acceleration due to gravity) of the device 100 relative to three orthogonal axes (x, y, z). The gyroscope senses the angular velocity of the device 100 about three rotational axes (pitch, roll, yaw). Together, the accelerometer and gyroscope provide positioning, orientation, and motion data about the device relative to six axes (x, y, z, pitch, roll, yaw). If a magnetometer is present, it senses the heading of the device 100 relative to the magnetic north pole. The positioning of device 100 can be determined by position sensors such as GPS unit 473, one or more transceivers for generating relative positioning coordinates, altitude sensors or barometers, and other orientation sensors. Such positioning system coordinates can also be received from mobile device 401 via low-power wireless circuit 424 or high-speed wireless circuit 436 through wireless connections 425 and 437.

[0080] IMU 472 may include, or cooperate with, a digital motion processor or program that acquires raw data from components and calculates multiple useful values ​​regarding the positioning, orientation, and motion of device 100. For example, acceleration data acquired from an accelerometer may be integrated to obtain velocity relative to each axis (x, y, z); and integrated again to obtain the positioning of device 100 (represented in linear coordinates x, y, and z). Angular velocity data from a gyroscope may be integrated to obtain the positioning of device 100 (represented in spherical coordinates). The program used to calculate these effective values ​​may be stored in memory 434 and executed by the high-speed processor 432 of the eye-wearing device 100.

[0081] The eye-worn device 100 may optionally include additional peripheral sensors, such as biometric sensors, characteristic sensors, or display elements integrated with the eye-worn device 100. For example, peripheral device elements may include any I / O components, including output components, motion components, positioning components, or any other such components described herein. For example, biometric sensors may include components that detect facial expressions (e.g., gestures, facial expressions, vocal expressions, body posture, or eye tracking), measure biosignals (e.g., blood pressure, heart rate, body temperature, sweating, or brain waves), or identify a person (e.g., identification based on voice, retina, facial features, fingerprints, or electrophysiological signals such as electroencephalogram data).

[0082] Mobile device 401 may be a smartphone, tablet, laptop, access point, or any other such device capable of connecting to eye-wearing device 100 using both low-power wireless connection 425 and high-speed wireless connection 437. Mobile device 401 connects to server system 498 and network 495. Network 495 may include any combination of wired and wireless connections.

[0083] The interactive augmented reality system 400 shown in Figure 4 includes a computing device, such as a mobile device 401, coupled to an eye-wearing device 100 via a network 495. The interactive augmented reality system 400 includes a memory for storing instructions and a processor for executing those instructions. The processor 432 executes the instructions of the interactive augmented reality system 400 to configure the eye-wearing device 100 to cooperate with the mobile device 401, and also to cooperate with another eye-wearing device 100 via the network 495. The interactive augmented reality system 400 may utilize the memory 434 of the eye-wearing device 100 or the memory elements 540A, 540B, 540C of the mobile device 401 (Figure 5).

[0084] The interactive augmented reality system 400 can also utilize the memory 434 of a separate remote eye-wearing device 100B to collaborate on data, such as when executing shared applications 460 (Figures 6A, 6B, 8A, and 8D). Furthermore, the interactive augmented reality system 400 can utilize the processor elements 432, 422 of the eye-wearing device 100 or the central processing unit (CPU) 530 of the mobile device 401 (Figure 5). The interactive augmented reality system 400 can also utilize the processor elements 432, 422 of the eye-wearing device 100B to share processing, such as when executing shared applications 460 (Figures 6A, 6B, 8A, and 8B). Furthermore, the interactive augmented reality system 400 can further utilize the memory and processor elements of the server system 498. In this respect, the memory and processing capabilities of the interactive augmented reality system 400 can be shared or distributed across the eye-wearing device 100, the mobile device 401, and the server system 498.

[0085] Figure 5 is a high-level functional block diagram of an exemplary mobile device 401. The mobile device 401 includes a flash memory 540A that stores programs to be executed by a CPU 530 to perform all or a subset of the functions described herein.

[0086] The mobile device 401 may include a camera 570, which includes at least two visible light cameras (first and second visible light cameras with overlapping fields of view) or at least one visible light camera with substantially overlapping fields of view and a depth sensor. Flash memory 540A may further include a plurality of images or videos generated via camera 570.

[0087] As shown in the figure, the mobile device 401 includes an image display 580, a mobile display driver 582 for controlling the image display 580, and a display controller 584. In the example of Figure 5, the image display 580 includes a user input layer 591 (e.g., a touchscreen) that is overlaid on top of the screen used by the image display 580 or otherwise integrated into the screen.

[0088] Examples of usable touchscreen mobile devices include (but are not limited to) smartphones, personal digital assistants (PDAs), tablet computers, laptop computers, or other portable devices. However, the structure and operation of touchscreen devices are provided by way of example; the subject matter described herein is not intended to be limited thereto. For the purposes of this discussion, FIG5 therefore provides a block diagram illustration of an exemplary mobile device 401 having a user interface including a touchscreen input layer 591 for receiving input (touch via hand, stylus, or other tool, multi-touch, or gestures, etc.) and an image display 580 for displaying content.

[0089] As shown in Figure 5, the mobile device 401 includes at least one digital transceiver (XCVR) 510 for digital wireless communication via a wide-area wireless mobile communication network, shown as a WWAN XCVR. The mobile device 401 also includes additional digital or analog transceivers, such as those for communication via NFC, VLC, DECT, ZigBee, Bluetooth, etc. TM Or a short-range transceiver (XCVR) 520 for short-range network communication via Wi-Fi. For example, the short-range XCVR 520 may take the form of any available bidirectional wireless local area network (WLAN) transceiver that is compatible with one or more standard communication protocols implemented in a wireless local area network (e.g., one of the Wi-Fi standards compliant with IEEE 802.11).

[0090] To generate location coordinates for locating mobile device 401, mobile device 401 may include a Global Positioning System (GPS) receiver. Alternatively or additionally, mobile device 401 may utilize either or both of a short-range XCVR 520 and a WWAN XCVR 510 to generate location coordinates for positioning. For example, based on cellular networks, Wi-Fi, or Bluetooth. TM The positioning systems can generate very accurate location coordinates, especially when used in combination. These location coordinates can be transmitted to the eye-wearing device via one or more network connections through the XCVR510, 520.

[0091] Transceivers 510 and 520 (i.e., network communication interfaces) conform to one or more of the various digital wireless communication standards utilized by modern mobile networks. Examples of WWAN transceivers 510 include (but are not limited to) transceivers configured to operate according to Code Division Multiple Access (CDMA) and 3rd Generation Partnership Project (3GPP) network technologies, including, for example, but not limited to, 3GPP Type 2 (or 3GPP2) and LTE, sometimes referred to as "4G". For example, transceivers 510 and 520 provide bidirectional wireless communication of information including digitized audio signals, still images and video signals, web page information for display and web-related input, and various types of mobile messaging communications to / from mobile device 401.

[0092] Mobile device 401 further includes a microprocessor serving as a central processing unit (CPU); as shown by CPU 530 in Figure 4. A processor is a circuit having elements constructed and arranged to perform one or more processing functions (typically various data processing functions). Although discrete logic components can be used, these examples utilize components that form a programmable CPU. A microprocessor includes, for example, one or more integrated circuit (IC) chips that incorporate electronic components that perform the functions of the CPU. For example, CPU 530 may be based on any known or available microprocessor architecture, such as Reduced Instruction Set Computing (RISC) using the ARM architecture, as is commonly used today in mobile devices and other portable electronic devices. Of course, other arrangements of the processor circuitry can be used to form CPU 530 or processor hardware in smartphones, laptops, and tablets.

[0093] By configuring the mobile device 401 to perform various operations, for example, according to instructions or programs executable by the CPU 530, the CPU 530 acts as a programmable host controller for the mobile device 401. Such operations may include, for example, various general operations of the mobile device, as well as operations related to programs for applications on the mobile device. Although the processor can be configured using hardwired logic, a typical processor in a mobile device is a general-purpose processing circuit configured by executing programs.

[0094] Mobile device 401 includes a memory or storage system for storing programs and data. In this example, the memory system may include, as needed, flash memory 540A, random access memory (RAM) 540B, and other memory components 540C. RAM 540B serves as a short-term storage device for instructions and data processed by CPU 530, for example, as working data processing memory. Flash memory 540A typically provides long-term storage.

[0095] Therefore, in the example of mobile device 401, flash memory 540A is used to store programs or instructions executed by CPU 530. Depending on the type of device, mobile device 401 stores and runs a mobile operating system, through which specific applications are executed. Examples of mobile operating systems include Google Android, Apple iOS (for iPhone or iPad devices), Windows Mobile, Amazon Fire OS, RIM BlackBerry OS, etc.

[0096] The processor 432 within the eye-wearing device 100 can construct a map of the environment surrounding the eye-wearing device 100, determine the position of the eye-wearing device within the mapped environment, and determine the relative position of the eye-wearing device with respect to one or more objects in the mapped environment. The processor 432 can construct the map and use a Simultaneous Localization and Mapping (SLAM) algorithm applied to data received from one or more sensors to determine location and positioning information. In the context of augmented reality, the SLAM algorithm is used to construct and update a map of the environment while tracking and updating the position of the device (or user) within the mapped environment. Mathematical solutions can be approximated using various statistical methods, such as particle filters, Kalman filters, extended Kalman filters, and covariance intersection.

[0097] Sensor data includes images received from one or both of cameras 114A and 114B, distances received from a laser rangefinder, positioning information received from GPS unit 473, or a combination of two or more such sensor data, or data from other sensors that provide data for determining positioning information.

[0098] Figures 6A and 6B illustrate a first example of the operation of a shared group task application 460 that can be operated on each eyewear to create an augmented reality experience, wherein a first user A of the first eyewear device 100A and a second user B of the second eyewear device 100B can each view, manipulate, and edit one or more virtual objects visible to each user in a shared image. This shared group task application 460 is a remote asynchronous gaming experience that enables two or more users of the respective eyewear devices to collaborate and interact remotely in a virtual environment by working together. In the example, the first user A and the second user B can be friends or colleagues who interact via the respective eyewear devices to jointly generate and modify one or more virtual objects in a shared image, such as a virtual scene.

[0099] Figure 6A shows the display 177A of a first eye-wearing device 100A, which displays a virtual object 600 in a first reference frame shown as a virtual scene 602A visible to a first user A. Figure 6B shows the display 177B of a second eye-wearing device 100B, which displays the same virtual object 600 in a second reference frame shown as a virtual scene 602B visible to a second user B. The displayed virtual scenes 602A and 602B are identical to each other and mirror images of each other. Each user A and user B can manipulate the displayed virtual object 600, such as by using the input component of the respective eye-wearing device 100, such as a touchpad 181, by tapping another virtual object 604 and manipulating the second virtual object 604 relative to the virtual object 600. When eye-wearing devices 100A and 100B are synchronized, one user's manipulation of the virtual object 600 is displayed on the display 177 of the other user's eye-wearing device 100.

[0100] The input components of the eye-wearing device 100, such as the touchpad 181 and the mobile device 401, may include alphanumeric input components (e.g., a keyboard, a touchscreen configured to receive alphanumeric input, a camera optical keyboard, or other alphanumeric input components), point-based input components (e.g., a mouse, touchpad, trackball, joystick, motion sensor, or other pointing instrument), haptic input components (e.g., a physical button, a touchscreen or other haptic input component that provides touch location and touch force or touch gesture), audio input components (e.g., a microphone), etc.

[0101] For example, as shown in Figures 6A and 6B, virtual object 600 is represented as a building, and a second virtual object 604 is a building block that can be added to virtual object 600. Similarly, virtual object 604 can be removed from virtual object 600, allowing virtual objects to be added, manipulated, and removed as needed. User collaboration allows for the joint creation and modification of virtual objects. Other features of the scene, such as roads, parks, and waterways, can also be included.

[0102] Figure 7 is a flowchart 700 depicting a method of operation in which processor 432 executes the instructions of the augmented reality shared group task application 460 described herein on a wearable device (e.g., eye-wearing device 100). Although the steps of processor 432 are described herein with reference to eye-wearing devices 100A and 100B, those skilled in the art will understand from the description herein that the described steps are for other specific implementations of other types of devices. Furthermore, it is conceivable that one or more steps shown in Figure 7 and other figures and described herein may be omitted, performed simultaneously or sequentially, performed in a different order than shown and described, or performed in combination with additional steps.

[0103] In step 702, user A of eyewear 100A initiates a shared group task application 460 and then invites user B of eyewear 100B to join the shared group task session, such as by sending a message to user B via wireless circuit 436 and network 495. This message transmission can be automatically generated by processor 432, such as when user A clicks on user B's name or icon from an available user list, such as a friends list. User B can accept the invitation, thereby completing the synchronization of eyewear 100A and 100B through messaging and the creation of a shared group task session.

[0104] At box 704, processors 432 of eye-wearing device 100A and 432 of eye-wearing device 100B establish virtual reference frames for user A and user B, respectively. This is illustrated in Figures 6A and 6B, where the virtual reference frames are virtual scene 602A displayed on display 177A of eye-wearing device 100A and virtual scene 602B displayed on display 177B of eye-wearing device 100B. These virtual scenes are identical. The eye-wearing user who first initiates the shared group task application 460 is referred to as user A.

[0105] At box 706, user A of eyewear 100A creates input via an input component to cause processor 432 to display virtual object 600 in virtual scene 602A. Virtual object 600 may be an object selected from a list of objects stored in a corresponding memory 434, or it may be created from scratch by user A. In response, processor 432 of eyewear 100B automatically displays virtual object 600 to user B in virtual scene 602B within eyewear 100B. User B may also first create virtual object 600 in virtual scene 602B, and then share it with user B and display it in virtual scene 602A.

[0106] At box 708, user A creates input to eyewear 100A, such as by manipulating an input component on eyewear 100A, thereby manipulating virtual object 600 in virtual scene 602A. For example, user input can cause virtual object 604 to be manipulated relative to virtual object 600. Processor 432 of eyewear 100A automatically sends a message to processor 432 of eyewear 100B instructing user A to manipulate virtual object 600 and virtual object 604. Processor 432 of eyewear 100A also automatically sends a message to processor 432 of eyewear 100B instructing user A to modify virtual scene 602A. In the example shown in FIG. 6A, user A's input can cause a box including virtual object 604 to be stacked on top of virtual object 600 including buildings.

[0107] At box 710, user B also creates input to the eyewear 100B, such as manipulating virtual object 600 in virtual scene 602B by using input components in the eyewear 100B. For example, user B's input can cause virtual object 604 to be manipulated relative to virtual object 600. The processor 432 of the eyewear 100B also automatically sends a message to the processor 432 of the eyewear 100A instructing user B to input and manipulate virtual object 600. In the example shown in FIG. 6B, input B can cause a box including virtual object 604 to be stacked on top of virtual object 600 including building.

[0108] At frame 712, the processor 432 of the eyewear 100B receives messages from the eyewear 100A via network 495 and translates the received messages to manipulate virtual objects 600 and 604 displayed on display 177B, thereby matching the manipulation shown on display 177A of the eyewear 100A. Similarly, the processor 432 of the eyewear 100A receives messages from the eyewear 100B via network 495 and translates the received messages to manipulate virtual objects 600 and 604 displayed on display 177A, thereby matching the manipulation shown on display 177B of the eyewear 100B.

[0109] At box 714, the processor 432 of the eyewear 100B causes the display 177B to display the user A's operation in the virtual scene 602B of the eyewear 100B, and the processor 432 of the eyewear 100A causes the display 177A to display the user B's operation in the virtual scene 602A of the eyewear 100A.

[0110] Figures 8A and 8B illustrate another example of the operation of a shared group task application 460 that can operate on each of the eyewear devices 100A, 100B to create an augmented reality experience, where a first user A on the first eyewear device 100A and a second user B on the second eyewear device 100B can each determine which part of a shared image the other user's eyes are looking at. This shared group task application 460 is a remote asynchronous experience that enables two or more users of the respective eyewear devices to collaborate and interact remotely in a virtual environment by viewing and working together. In one example, first user A and second user B can interact via the respective eyewear 100 to jointly view shared images, such as one or more image portions or objects in the same virtual scene, thereby appreciating an image of interest to the other user.

[0111] Figure 8A shows a display 177C of a first eye-wearing device 100A, which displays an image with a virtual object 800 in a first frame of reference, shown as a virtual scene 802A visible to a first user A. Figure 8B shows a display 177D of a second eye-wearing device 100B, which displays the same image, such as the same virtual object 800, in a second frame of reference, shown as a virtual scene 802B visible to a second user B. The displayed virtual scenes 802A and 802B are identical to each other and therefore mirror images of each other. Each user A and user B can gaze at different parts or objects 800 of the same image, such as the displayed virtual object 800, as determined by an eye tracker 213 including a transmitter 215 and an infrared camera 220, which determines which part or object 800 of the virtual scene displayed on the display 177 is actually being viewed by each user's eye 234. For example, each of User A and User B can view a shared browser page showing multiple geographical locations in the Caribbean region, where the location each user is looking at is indicated to the other user on the corresponding display 177, such as by highlighting the location with color or zooming in on it. User A might be looking at Antique, and User B might be looking at Bonaire or Curacao, commonly known as the Dutch ABC Islands. Each user's name can be described on the other user's display 177, as shown in 806.

[0112] The input components of the eye-wearing device 100, such as the touchpad 181 and the mobile device 401, may include alphanumeric input components (e.g., a keyboard, a touchscreen configured to receive alphanumeric input, a camera optical keyboard, or other alphanumeric input components), point-based input components (e.g., a mouse, touchpad, trackball, joystick, motion sensor, or other pointing instrument), haptic input components (e.g., a physical button, a touchscreen or other haptic input component that provides touch location and touch force or touch gesture), audio input components (e.g., a microphone), etc.

[0113] Figure 9 is a flowchart 900 depicting another method of operation in which processor 432 executes the instructions of the augmented reality shared group task application 460 described herein on a wearable device (e.g., eye-wearing device 100) described in Figures 8A and 8B. Although the steps of processor 432 are described herein with reference to eye-wearing devices 100A and 100B, those skilled in the art will understand from the description herein that the described steps are for other specific implementations of other types of devices. Furthermore, it is conceivable that one or more steps shown in Figure 9 and in other figures and described herein may be omitted, performed simultaneously or sequentially, performed in a different order than shown and described, or performed in combination with additional steps.

[0114] In step 902, user A of eyewear 100A initiates a shared group task application 460 and then invites user B of eyewear 100B to join the shared group task session, such as by sending a message to user B via wireless circuit 436 and network 495. This message transmission can be automatically generated by processor 432, such as when user A clicks on user B's name or icon from an available user list, such as a friends list. User B can accept the invitation, thereby completing the synchronization of eyewear 100A and 100B through messaging and the creation of a shared group task session.

[0115] At box 904, processors 432 of eyewear device 100A and 432 of eyewear device 100B establish virtual reference frames for users A and B, respectively. This is illustrated in Figures 8A and 8B, where the virtual reference frames are virtual scene 802A displayed on display 177C of eyewear device 100A and virtual scene 802B displayed on display 177D of eyewear device 100B. These virtual scenes are identical. The eyewear user who first initiates the shared group task application 460 is referred to as user A.

[0116] At box 906, user A of eyewear device 100A creates input via an input component (such as using touchpad 181) to cause processor 432 to display virtual scene 802A on display 177C, which has an image portion and virtual object 800 in virtual scene 802A. The image including the virtual scene can be retrieved from a set of stored images in memory 434, downloaded from a remote location, or by browsing a site on the Internet via network 495. Virtual scene 802A with image portion and object 800 can also be created from scratch by user A using the input component. Virtual scene 802A is automatically shared with eyewear device 100B. In response, processor 432 of eyewear device 100B automatically displays a virtual scene including image portion and object 800 to user B in virtual scene 602B of eyewear device 100B. User B can also first create virtual scene 802B including object 800, and then share that image with user B and display it in virtual scene 602A.

[0117] At frame 908, the processor 432 of each eye-wearing device 100 controls a corresponding eye tracker 213 to track the eye position of the user's eyes 234 by tracking the pupil 232, and to determine what image portion or object 800 the corresponding user is actually looking at on the corresponding display 177. The processor 432 of each eye-wearing device 100 automatically shares this eye-tracking information with the processors 432 of other eye-wearing devices 100 using message transmissions via wireless device 436 and network 495.

[0118] At frame 910, the processor 432 of the eye-wearing device 100B automatically receives messages, including eye-tracking information of user A, from the processor 432 of the eye-wearing device 100A via wireless circuit 436 and network 495. This allows the processor 432 of the eye-wearing device 100B to determine what portion of the image or object 800 user A is looking at on the display 177C.

[0119] In block 912, the processor 432 of eye-wearing device 100A automatically receives messages, including eye-tracking information of user B, from the processor 432 of eye-wearing device 100B via wireless circuit 436 and network 495. This allows the processor 432 of eye-wearing device 100A to determine what image portion or object 800 user B is looking at on display 177D.

[0120] At frame 914, each display 177 of the corresponding eye-wearing devices 100A and 100B automatically displays a portion of the image or object 800 that another user is looking at in the shared image. This can be done in various ways, for example, by highlighting, coloring, or zooming in on the portion of the image or object 800 that the other user is looking at in the corresponding virtual scenes 802A and 802B. For example, each of user A and user B can view a shared browser page showing multiple geographical locations in the Caribbean region, where the location each user is looking at is indicated to the other user in the corresponding virtual scenes 802A and 802B on the corresponding display 177, such as by highlighting the location with color or zooming in on it. User A might be looking at Antique, and user B might be looking at Bonaire or Curacao, commonly known as the Dutch ABC Islands. The other user's name can be described on the other user's display 177, as shown in 808.

[0121] Two or more users can operate the corresponding eye-wearing device 100 and participate in a session in which each user can see the portion of the image they are looking at. Therefore, no limitation should be inferred that the eye-wearing device can only be operated by one user.

[0122] Figures 10A and 10B illustrate another example of the operation of a shared group task application 460 that can operate on each of the eyewear devices 100A, 100B to create an augmented reality experience, where a first user A on the first eyewear device 100A and a second user B on the second eyewear device 100B can collaborate and interact based on what the other user's eyes are looking at. This shared group task application 460 is a remote asynchronous experience that enables two or more users of the respective eyewear devices 100 to use eye tracking to control the movement of corresponding virtual objects. In one example, first user A and second user B can interact via the respective eyewear devices 100 to jointly view a shared image, such as the same virtual scene. Each user uses eye tracking to control a corresponding virtual object in the virtual scene, and each user also generates voice commands to manipulate the user's virtual object in the virtual scene. Both virtual objects are displayed on the display 177 of each of the eyewear devices 100A and 100B. In the example, the virtual scene could be a game scene.

[0123] Figure 10A shows a display 177E of a first eye-wearing device 100A, which displays an image with virtual objects 1000 and 1004 in a first reference frame, shown as a virtual scene 1002A visible to a first user A. Figure 10B shows a display 177F of a second eye-wearing device 100B, which displays the same image, such as the same virtual objects 1000 and 1004, in a second reference frame, shown as a virtual scene 1002B visible to a second user B. The displayed virtual scenes 1002A and 1002B are identical to each other and therefore mirror images. Each user A and user B can gaze at the corresponding objects 1000 and 1004 in the same image, and the eye tracker 213 of each eye-wearing device, including the transmitter 215 and the infrared camera 220, determines the movement of the corresponding virtual objects in the virtual scene displayed on the display 177. For example, user A's eyes control the movement and positioning of corresponding objects 1000 in virtual scenes 1002A and 1002B, and user B's eyes control the positioning of corresponding objects 1004 in virtual scenes 1002A and 1002B.

[0124] Figure 10B illustrates actions generated by voice commands from a user of an eye-wearing device in virtual scenes 1002A and 1002B. For example, user A can generate a voice command, received via a corresponding microphone 130 and recognized by the processor 432 of eye-wearing device 100A, causing virtual object 1006 to be generated and extend from corresponding virtual object 1000 toward virtual object 1004 of user B. Virtual object 1006 can be generated sequentially from virtual object 1000 toward virtual object 1004 on displays 177E and 177F, and can be generated over a period of time (such as 0.2 seconds). User B's eyes on eye-wearing device 100B can move the positioning of corresponding virtual object 1004 away from the generated virtual object 1006 to avoid it when virtual object 1006 is generated. For example, virtual object 1006 may represent a laser beam or other energy targeting virtual object 1004. Similarly, user B can generate a voice command that causes virtual object 1006 to be created and extend from the corresponding virtual object 1004 in a direction toward user A's virtual object 1000. In the example, the observed action might appear as a duel between the two users.

[0125] In the example of Figure 10B, user A generates a voice command such as "hocus pocus," which causes the radar-like virtual object 1006 to extend immediately or sequentially from the concrete implementation (such as a magic wand) including virtual object 1000 to the role including virtual object 1004. User B uses their eyes to move the position of the corresponding virtual object 1004 away from the virtual object 1006 that is about to appear. The eye tracker 213 of each eyewear 100 tracks the gaze direction of the corresponding user's eyes, and the corresponding processor 432 controls the positioning of the corresponding virtual object based on the gaze of the corresponding user's eyes.

[0126] The input components of the eye-wearing device 100, such as the touchpad 181 and the mobile device 401, may include alphanumeric input components (e.g., a keyboard, a touchscreen configured to receive alphanumeric input, a camera optical keyboard, or other alphanumeric input components), point-based input components (e.g., a mouse, touchpad, trackball, joystick, motion sensor, or other pointing instrument), haptic input components (e.g., a physical button, a touchscreen or other haptic input component that provides touch location and touch force or touch gesture), audio input components (e.g., a microphone), etc.

[0127] Figure 11 is a flowchart 1100 depicting another method of operation in which processor 432 executes the instructions of the augmented reality shared group task application 460 described herein on a wearable device (e.g., eye-wearing device 100) described in Figures 10A and 10B. Although the steps of processor 432 are described herein with reference to eye-wearing devices 100A and 100B, those skilled in the art will understand from the description herein that the described steps are for other specific implementations of other types of devices. Furthermore, it is conceivable that one or more steps shown in Figure 11 and in other figures and described herein may be omitted, performed simultaneously or sequentially, performed in a different order than shown and described, or performed in combination with additional steps.

[0128] In step 1102, user A of eyewear 100A initiates a shared group task application 460 and then invites user B of eyewear 100B to join the shared group task session, such as by sending a message to user B via wireless circuit 436 and network 495. This message transmission can be automatically generated by processor 432, such as when user A clicks on user B's name or icon from an available user list, such as a friends list. User B can accept the invitation, thereby synchronizing eyewear 100A and 100B through messaging and creating a shared group task session (such as by tapping "accept").

[0129] At box 1104, processors 432 of eye-wearing device 100A and 432 of eye-wearing device 100B establish virtual reference frames for user A and user B, respectively. This is illustrated in Figures 10A and 10B, where the virtual reference frames are virtual scene 1002A displayed on display 177E of eye-wearing device 100A and virtual scene 1002B displayed on display 177F of eye-wearing device 100B. These virtual scenes are identical. The eye-wearing user who first initiates the shared group task application 460 is referred to as user A.

[0130] At box 1106, user A of eyewear device 100A creates input via an input component (such as using touchpad 181) to cause processor 432 to display an image on display 177E including a virtual scene 1002A with virtual objects 1000 and 1004. This image has an image portion that is a subset of the entire image. The image including the virtual scene can be retrieved from a set of stored images in memory 434, downloaded from a remote location, or obtained by browsing a site on the Internet via network 495. The virtual scene 1002A with the image portion and objects 1000 and 1004 can also be created from scratch by user A using the input component. Virtual scene 1002A is automatically shared with eyewear device 100B. In response, processor 432 of eyewear device 100B automatically displays the virtual scene including the image portion and objects 1000 and 1004 to user B within the virtual scene 1002B of eyewear device 100B. User B can also first create a virtual scene 1002B that includes objects 1000 and 1004, and then share this virtual scene with User B and display it in virtual scene 1002A.

[0131] At frame 1108, the processor 432 of each eye-wearing device 100 controls a corresponding eye tracker 213 to track the eye position of the user's eye 234 by tracking the pupil 232, and determines which part of the corresponding virtual scene 1002 the user is actually looking at on the corresponding display 177. The processor 432 of each eye-wearing device 100 automatically moves the position of the corresponding virtual object 1000, 1004 to the determined position within the virtual scene being looked at by the user. Each processor 432 of the eye-wearing device also sends a message to the processors 432 of other eye-wearing devices, indicating the image position in the virtual scene being looked at by the corresponding user.

[0132] At frame 1110, the processor 432 of the eye-wearing device 100B automatically receives a message, including eye-tracking information of user A, from the processor 432 of the eye-wearing device 100A via wireless circuit 436 and network 495. This allows the processor 432 of the eye-wearing device 100B to determine which part of the image of the virtual scene 1002A is user A looking at on the display 177E.

[0133] In box 1112, the processor 432 of eye-wearing device 100A automatically receives messages, including eye-tracking information of user B, from the processor 432 of eye-wearing device 100B via wireless circuit 436 and network 495. This allows the processor 432 of eye-wearing device 100A to determine which part of the image of virtual scene 1002B user B is looking at on display 177F.

[0134] At box 1114, the processor 432 of each eye-wearing device 100 causes the corresponding display 177 to automatically display the virtual objects of other users in the positioning of the image that other users are looking at in the shared virtual scene. In the examples shown in Figures 10A and 10B, the processor 432 of eye-wearing device 100A and the processor 432 of eye-wearing device 100B update the positioning of the corresponding objects 1000 and 1004 on the other user's display based on the other user's eye gaze. When user B moves object 1004 with their eyes, object 1004 moves on user A's display 177E. Similarly, when user A moves object 1000 with their eyes, object 1000 moves on user B's display 177F.

[0135] As illustrated in the examples of Figures 10A and 10B, user A moves a virtual object 1000, including a concrete implementation (such as a stick), with their eyes and generates a verbal command, causing the processor 432 of the eyewear device 100A to generate a virtual object 1006 (box 1116). User B moves a virtual object 1004 (shown as a character) with their eyes to avoid the generated virtual object 1006. If virtual object 1006 interacts with virtual object 1004, user A can be rewarded with points. Eyewear devices 100A and 100B can also generate sounds indicating hits.

[0136] More than two users can operate the corresponding eye-wearing device 100 and participate in a session together, where each user can view the image so that the corresponding object moves based on the portion of the image that each user is looking at. Therefore, no limitation should be inferred that the eye-wearing device can be operated by only one user.

[0137] As described herein, any function of the eye-wearing device 100, mobile device 401, and server system 498 can be embodied in one or more computer software applications or sets of programming instructions. According to some examples, a “function,” “application,” “instruction,” or “program” is a program that performs the functions defined in the program. Various programming languages ​​can be used to develop one or more applications that are structured in various ways, such as object-oriented programming languages ​​(e.g., Objective-C, Java, or C++) or procedural programming languages ​​(e.g., C or assembly language). In a particular example, a third-party application (e.g., an entity other than a platform-specific vendor using Android) may be used. TM or iOS TM Applications developed using a Software Development Kit (SDK) can be included in mobile operating systems such as iOS. TM ANDROID TM , Mobile software running on a phone or another mobile operating system. In this example, a third-party application may invoke API calls provided by the operating system to facilitate the functionality described herein.

[0138] Therefore, machine-readable media can take many forms of tangible storage media. Non-volatile storage media include, for example, optical discs or disks, any storage device such as any computer device, such as client devices, media gateways, code converters, etc., that can be used to implement the figures shown. Volatile storage media include dynamic memory, such as the main memory of computer platforms. Tangible transmission media include coaxial cables; copper wires and optical fibers, including wires that form buses within a computer system. Carrier transmission media can take the form of electrical or electromagnetic signals, or sound or light waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Therefore, common forms of computer-readable media include, for example: floppy disks, floppy disks, hard disks, magnetic tapes, any other magnetic media, CD-ROMs, DVDs or DVD-ROMs, any other optical media, punched card tapes, any other physical storage media with a perforated pattern, RAM, PROMs and EPROMs, FLASH-EPROMs, any other memory chips or cartridges, carrier waves for transmitting data or instructions, cables or links for transmitting such carrier waves, or any other medium from which a computer can read program code or data. Many of these forms of computer-readable media can be used to carry one or more sequences of one or more instructions to a processor for execution.

[0139] In addition to what has just been stated above, whether or not it is stated in the claims, the stated or described content is not intended or should not be construed as causing any part, step, feature, object, benefit, advantage or equivalent to be offered to the public.

[0140] It should be understood that, unless otherwise specified herein, the terms and expressions used herein have the general meaning consistent with those in the corresponding fields of investigation and research. Relational terms such as “first” and “second” are used only to distinguish one entity or action from another, and do not necessarily require or imply any actual such relationship or order between these entities or actions. The terms “comprising,” “including,” “containing,” “having,” or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that includes or comprises a list of elements or steps includes not only those elements or steps, but may also include other elements or steps not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element prefixed with “a” or “an” does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes that element.

[0141] Unless otherwise stated, any and all measurements, values, ratings, positions, quantities, dimensions, and other specifications set forth in this specification, including those in the appended claims, are approximate, not precise. Such quantities are intended to have a reasonable range consistent with the functions they relate to and the conventions in the fields to which they pertain. For example, unless otherwise expressly stated, parameter values, etc., can vary from said quantity or range by up to plus or minus ten percent.

[0142] Furthermore, as can be seen in the foregoing specific embodiments, various features have been combined in various examples for the purpose of simplifying this disclosure. The disclosed method should not be construed as reflecting an intention to require more features than expressly recited in each claim in the claimed examples. Rather, as reflected in the following claims, the claimed subject matter lies in fewer features than in any single disclosed example. Therefore, the following claims are hereby incorporated into the specific embodiments, wherein each claim exists independently as a separately claimed subject matter.

[0143] While examples considered to be best practices and other examples have been described above, it should be understood that various modifications may be made therein, and the subject matter disclosed herein can be implemented in various forms and examples, and is applicable to many applications, of which only some have been described herein. The appended claims are intended to claim protection for any and all modifications and variations falling within the true scope of the inventive concept.

Claims

1. An eye-worn device, comprising: frame; An eye-mounted display, the eye-mounted display being coupled to the frame; An eye tracker, configured to track the first user's eye gaze; and Processor, the processor being configured to: A first image including a first object is displayed on the eyewear display; The eye tracker is used to determine the first location of the first object that the first user is looking at; Send a first message to a physical remote device indicating the first location of the first object that the first user is looking at; Receive a second message from the physical remote device indicating the location of the same first object that a second user of the physical remote device is looking at; as well as Based on the eye tracker's determination of the first user's gaze, the first location of the first object within the first image is modified to a second location within the first image.

2. The eyewear device of claim 1, wherein the processor is configured to display another object in the first image and, in response to a second message indicating what the second user is looking at, modify the positioning of the other object on the eyewear device display to another position.

3. The eye-worn device of claim 1, wherein the processor is configured to respond to a verbal instruction by generating another object in the first image.

4. The eye-worn device of claim 3, wherein the other object extends from the first object.

5. The eye-worn device of claim 1, wherein the processor is configured to automatically send the first message indicative of the first user's gaze to the physical remote device.

6. The eye-worn device of claim 1, wherein the processor is configured to automatically receive the second message indicating the gaze of the second user from the physical remote device.

7. The eye-wearing device according to claim 1, wherein the first image is a first virtual scene, and the first object is a virtual object.

8. An interactive augmented reality method for use with an eye-worn device, the eye-worn device having a frame, an eye-worn display coupled to the frame, an eye tracker configured to track the gaze of a first user, and a processor, the processor: A first image including a first object is displayed on the eyewear display; The eye tracker is used to determine the first location of the first object that the first user is looking at; Send a first message to a physical remote device indicating the first location of the first object that the first user is looking at; Receive a second message from the physical remote device indicating the location of the same first object that a second user of the physical remote device is looking at; as well as Based on the eye tracker's determination of the first user's gaze, the positioning of the first object within the first image is modified to a second positioning within the first image.

9. The method of claim 8, wherein the processor further displays another object in the first image and, in response to a second message indicating what the second user is looking at, modifies the positioning of the other object on the eyewear display to another location.

10. The method of claim 8, wherein the processor further generates another object in the first image in response to a verbal instruction.

11. The method of claim 10, wherein the other object extends from the first object.

12. The method of claim 8, wherein the processor automatically sends the first message indicating the gaze of the first user to the physical remote device.

13. The method of claim 8, wherein the processor automatically receives the second message indicating the gaze of the second user from the physical remote device.

14. The method of claim 8, wherein the first image is a first virtual scene and the first object is a first virtual object.

15. A non-transitory computer-readable medium storing program code that, when executed, causes an electronic processor of an eye-wearing device to perform the following steps, the eye-wearing device having a frame, an eye-wearing display coupled to the frame, and an eye tracker configured to track the eye gaze of a first user: A first image including a first object is displayed on the eyewear display; The eye tracker is used to determine the first location of the first object that the first user is looking at; Send a first message to a physical remote device indicating the first location of the first object that the first user is looking at; Receive a second message from the physical remote device indicating the location of the same first object that a second user of the physical remote device is looking at; as well as Based on the eye tracker's determination of the first user's gaze, the first location of the first object within the first image is modified to a second location within the first image.

16. The non-transitory computer-readable medium storing program code of claim 15, further comprising code for performing the steps of: displaying another object in the first image, and modifying the positioning of the other object on the eyewear display to another location in response to a second message indicating what the second user is looking at.

17. The non-transitory computer-readable medium storing program code according to claim 16, further comprising code for performing the following step: generating another object in the first image in response to a verbal instruction.

18. The non-transitory computer-readable medium storing program code according to claim 17, wherein the other object extends from the first object.

19. The non-transitory computer-readable medium storing program code according to claim 15, wherein sending the first message indicative of the first user's gaze to the physical remote device is automatic.

20. The non-transitory computer-readable medium storing program code according to claim 15, wherein the stored program code is derived from... The physical remote device receives the second message indicating the second user's gaze automatically.