This relates generally to electronic devices, and, more particularly, to electronic devices such as head-mounted devices.
Electronic devices such as head-mounted devices may have cameras for capturing a video feed of an external scene, a graphics rendering unit for generating virtual content, and one or more displays for presenting the captured video feed of the scene and/or the generated virtual content to a user.
It can be challenging to design a head-mounted device for user's who wear prescription glasses. Most standard eyeglass prescriptions, including those that require prism correction, can be accommodated for using additional clip-on lenses in front of the displays. Prism correction is a specific type of eyeglass prescription that helps people with double vision by aligning the images seen by both eyes. Double vision occurs when the eyes do not work together properly, causing them to see two separate images of a single object. Prism correction can also be used to provide improved vergence comfort, even for users without double vision. The use of clip-on lenses, however, can be overly bulky and can degrade the accuracy and limit the range of eye tracking sensors in the head-mounted devices.
An electronic device such as a head-mounted device may include a graphics rendering unit for generating virtual content and one or more displays configured to output the computer-generated virtual content. The electronic device can optionally include one or more cameras configured to capture a video feed of the real-world environment facing the cameras. The captured video feed, sometimes referred to as a passthrough feed or passthrough content can optionally be presented on the one or more displays and/or merged with the computer-generated virtual content prior to be being displayed.
An aspect of the disclosure provides a method of operating an electronic device such as a head-mounted device, the method including acquiring passthrough content with one or more image sensors, generating virtual content with a graphics rendering subsystem, mitigating double vision or improving vergence comfort by modifying the passthrough content to produce corresponding modified passthrough content, merging the modified passthrough content with the virtual content to produce corresponding merged content, and presenting the merged content with one or more displays. The passthrough content can be modified by cropping or transforming either left eye passthrough content or right eye passthrough content at an image signal processor. The passthrough content can be modified by warping either the left eye passthrough content or the right eye passthrough content to apply a lateral shift in the field of view or to apply a transformation in the point of view.
The graphics rendering subsystem can be configured to generate the virtual content based on a first virtual camera that imposes constraints defining a first point of view from which left eye virtual content is being rendered at the graphics rendering subsystem and a second virtual camera that imposes constraints defining a second point of view from which the right eye virtual content is being rendered at the graphics rendering subsystem. The first virtual camera can have a first view frustum, whereas the second virtual camera can have a second view frustum. The graphics rendering subsystem can be configured to shift either the left eye virtual content or the right eye virtual content on the one or more displays by adjusting an angle limit (boundary) for a corresponding one of the first and second view frustums. The graphics rendering subsystem can be configured to laterally shift a selected one of the first and second view frustums along a common projection plane. The graphics rendering subsystem can be configured to transform a selected one of the first virtual camera and the second virtual camera. The virtual content can be modified by selectively warping the left eye virtual content or the right eye virtual content to apply a lateral shift in the field of view or to apply a transformation in the point of view.
An aspect of the disclosure provides a method of operating a device that includes acquiring passthrough content with one or more image sensors, generating virtual content with a graphics rendering subsystem, obtaining prism prescription values for correcting double vision or improving vergence comfort, computing compensation parameters based on the prism prescription values, modifying the passthrough content based on the compensation parameters, and displaying a blended version of the modified passthrough content and the virtual content. The method can further include modifying the passthrough content by shifting or transforming left eye passthrough content or right eye passthrough content. The method can further include modifying the virtual content based on the compensation parameters. The method can further include providing a user with an opportunity to adjust the compensation parameters to minimize double vision or improve vergence comfort. The method can further include reading a scannable code and obtaining the prism prescription values from the scannable code.
An aspect of the disclosure provides a method of operating an electronic device that includes acquiring passthrough content, generating virtual content, displaying a stimulus point, monitoring a point of gaze to estimate a misalignment between the point of gaze and an expected point of gaze while the stimulus point is being displayed, computing compensation parameters based on the estimated misalignment, modifying the passthrough content based on the compensation parameters, and displaying a blended version of the modified passthrough content and the virtual content. The method can further include estimating the misalignment by obtaining a plurality of gaze data points, removing one or more outliers from the plurality of gaze data points, and averaging the plurality of gaze data points.
An aspect of the disclosure provides a method that includes generating virtual content having left eye content and right eye content with a graphics rendering subsystem that is configured to generate the virtual content based on a first virtual camera that imposes constraints defining a first point of view from which the left eye content is being rendered at the graphics rendering subsystem and a second virtual camera that imposes constraints defining a second point of view from which the right eye content is being rendered at the graphics rendering subsystem, mitigating double vision or improving vergence comfort by modifying a selected one of the left eye content and the right eye content to produce modified virtual content, and displaying the modified content.
A top view of an illustrative head-mounted device is shown in
Main housing portion 12M may include housing structures formed from metal, polymer, glass, ceramic, and/or other material. For example, housing portion 12M may have housing walls on front face F and housing walls on adjacent top, bottom, left, and right side faces that are formed from rigid polymer or other rigid support structures, and these rigid walls may optionally be covered with electrical components, fabric, leather, or other soft materials, etc. Housing portion 12M may also have internal support structures such as a frame (chassis) and/or structures that perform multiple functions such as controlling airflow and dissipating heat while providing structural support.
The walls of housing portion 12M may enclose internal components 38 in interior region 34 of device 10 and may separate interior region 34 from the environment surrounding device 10 (exterior region 36). Internal components 38 may include integrated circuits, actuators, batteries, sensors, and/or other circuits and structures for device 10. Housing 12 may be configured to be worn on a head of a user and may form glasses, spectacles, a hat, a mask, a helmet, goggles, and/or other head-mounted device. Configurations in which housing 12 forms goggles may sometimes be described herein as an example.
Front face F of housing 12 may face outwardly away from a user's head and face. Opposing rear face R of housing 12 may face the user. Portions of housing 12 (e.g., portions of main housing 12M) on rear face R may form a cover such as cover 12C (sometimes referred to as a curtain). The presence of cover 12C on rear face R may help hide internal housing structures, internal components 38, and other structures in interior region 34 from view by a user.
Device 10 may have one or more cameras such as cameras 46 of
Device 10 may have any suitable number of cameras 46. For example, device 10 may have K cameras, where the value of K is at least one, at least two, at least four, at least six, at least eight, at least ten, at least 12, less than 20, less than 14, less than 12, less than 10, 4-10, or other suitable value. Cameras 46 may be sensitive at infrared wavelengths (e.g., cameras 46 may be infrared cameras), may be sensitive at visible wavelengths (e.g., cameras 46 may be visible cameras), and/or cameras 46 may be sensitive at other wavelengths. If desired, cameras 46 may be sensitive at both visible and infrared wavelengths.
Device 10 may have left and right optical modules 40. Optical modules 40 support electrical and optical components such as light-emitting components and lenses and may therefore sometimes be referred to as optical assemblies, optical systems, optical component support structures, lens and display support structures, electrical component support structures, or housing structures. Each optical module may include a respective display 14, lens 30, and support structure such as support structure 32. Support structure 32, which may sometimes be referred to as a lens support structure, optical component support structure, optical module support structure, or optical module portion, or lens barrel, may include hollow cylindrical structures with open ends or other supporting structures to house displays 14 and lenses 30. Support structures 32 may, for example, include a left lens barrel that supports a left display 14 and left lens 30 and a right lens barrel that supports a right display 14 and right lens 30.
Displays 14 may include arrays of pixels or other display devices to produce images. Displays 14 may, for example, include organic light-emitting diode pixels formed on substrates with thin-film circuitry and/or formed on semiconductor substrates, pixels formed from crystalline semiconductor dies, liquid crystal display pixels, scanning display devices, and/or other display devices for producing images.
Lenses 30 may include one or more lens elements for providing image light from displays 14 to respective eyes boxes 13. Lenses may be implemented using refractive glass lens elements, using mirror lens structures (catadioptric lenses), using Fresnel lenses, using holographic lenses, and/or other lens systems.
When a user's eyes are located in eye boxes 13, displays (display panels) 14 operate together to form a display for device 10 (e.g., the images provided by respective left and right optical modules 40 may be viewed by the user's eyes in eye boxes 13 so that a stereoscopic image is created for the user). The left image from the left optical module fuses with the right image from a right optical module while the display is viewed by the user.
It may be desirable to monitor the user's eyes while the user's eyes are located in eye boxes 13. For example, it may be desirable to use a camera to capture images of the user's irises (or other portions of the user's eyes) for user authentication. It may also be desirable to monitor the direction of the user's gaze. Gaze tracking information may be used as a form of user input and/or may be used to determine where, within an image, image content resolution should be locally enhanced in a foveated imaging system. To ensure that device 10 can capture satisfactory eye images while a user's eyes are located in eye boxes 13, each optical module 40 may be provided with a camera such as camera 42 and one or more light sources such as light-emitting diodes 44 or other light-emitting devices such as lasers, lamps, etc. Cameras 42 and light-emitting diodes 44 may operate at any suitable wavelengths (visible, infrared, and/or ultraviolet). As an example, diodes 44 may emit infrared light that is invisible (or nearly invisible) to the user. This allows eye monitoring operations to be performed continuously without interfering with the user's ability to view images on displays 14.
A schematic diagram of an illustrative electronic device such as a head-mounted device or other wearable device is shown in
As shown in
circuitry 20. Control circuitry 20 may include storage and processing circuitry for supporting the operation of device 10. The storage and processing circuitry may include storage such as nonvolatile memory (e.g., flash memory or other electrically-programmable-read-only memory configured to form a solid state drive), volatile memory (e.g., static or dynamic random-access-memory), etc. One or more processors in control circuitry 20 may be used to gather input from sensors and other input devices and may be used to control output devices. The processing circuitry may be based on one or more processors such as microprocessors, microcontrollers, digital signal processors, baseband processors and other wireless communications circuits, power management units, audio chips, application specific integrated circuits, etc. During operation, control circuitry 20 may use display(s) 14 and other output devices in providing a user with visual output and other output. Control circuitry 20 may be configured to perform operations in device 10 using hardware (e.g., dedicated hardware or circuitry), firmware, and/or software. Software code for performing operations in device 10 may be stored on storage circuitry (e.g., non-transitory (tangible) computer readable storage media that stores the software code). The software code may sometimes be referred to as program instructions, software, data, instructions, or code. The stored software code may be executed by the processing circuitry within circuitry 20.
To support communications between device 10 and external equipment, control circuitry 20 may communicate using communications circuitry 22. Circuitry 22 may include antennas, radio-frequency transceiver circuitry, and other wireless communications circuitry and/or wired communications circuitry. Circuitry 22, which may sometimes be referred to as control circuitry and/or control and communications circuitry, may support bidirectional wireless communications between device 10 and external equipment (e.g., a companion device such as a computer, cellular telephone, or other electronic device, an accessory such as a point device or a controller, computer stylus, or other input device, speakers or other output devices, etc.) over a wireless link.
For example, circuitry 22 may include radio-frequency transceiver circuitry such as wireless local area network transceiver circuitry configured to support communications over a wireless local area network link, near-field communications transceiver circuitry configured to support communications over a near-field communications link, cellular telephone transceiver circuitry configured to support communications over a cellular telephone link, or transceiver circuitry configured to support communications over any other suitable wired or wireless communications link. Wireless communications may, for example, be supported over a Bluetooth® link, a WiFi® link, a wireless link operating at a frequency between 10 GHz and 400 GHz, a 60 GHz link, or other millimeter wave link, a cellular telephone link, or other wireless communications link. Device 10 may, if desired, include power circuits for transmitting and/or receiving wired and/or wireless power and may include batteries or other energy storage devices. For example, device 10 may include a coil and rectifier to receive wireless power that is provided to circuitry in device 10.
Device 10 may include input-output devices such as devices 24. Input-output devices 24 may be used in gathering user input, in gathering information on the environment surrounding the user, and/or in providing a user with output. Devices 24 may include one or more displays such as display(s) 14. Display(s) 14 may include one or more display devices such as organic light-emitting diode display panels (panels with organic light-emitting diode pixels formed on polymer substrates or silicon substrates that contain pixel control circuitry), liquid crystal display panels, microelectromechanical systems displays (e.g., two-dimensional mirror arrays or scanning mirror display devices), display panels having pixel arrays formed from crystalline semiconductor light-emitting diode dies (sometimes referred to as microLEDs), and/or other display devices.
Sensors 16 in input-output devices 24 may include force sensors (e.g., strain gauges, capacitive force sensors, resistive force sensors, etc.), audio sensors such as microphones, touch and/or proximity sensors such as capacitive sensors such as a touch sensor that forms a button, trackpad, or other input device), and other sensors. If desired, sensors 16 may include optical sensors such as optical sensors that emit and detect light, ultrasonic sensors, optical touch sensors, optical proximity sensors, and/or other touch sensors and/or proximity sensors, monochromatic and color ambient light sensors, image sensors (e.g., cameras), fingerprint sensors, iris scanning sensors, retinal scanning sensors, and other biometric sensors, temperature sensors, sensors for measuring three-dimensional non-contact gestures (“air gestures”), pressure sensors, sensors for detecting position, orientation, and/or motion of device 10 and/or information about a pose of a user's head (e.g., accelerometers, magnetic sensors such as compass sensors, gyroscopes, and/or inertial measurement units that contain some or all of these sensors), health sensors such as blood oxygen sensors, heart rate sensors, blood flow sensors, and/or other health sensors, radio-frequency sensors, three-dimensional camera systems such as depth sensors (e.g., structured light sensors and/or depth sensors based on stereo imaging devices that capture three-dimensional images) and/or optical sensors such as self-mixing sensors and light detection and ranging (lidar) sensors that gather time-of-flight measurements (e.g., time-of-flight cameras), humidity sensors, moisture sensors, gaze tracking sensors, electromyography sensors to sense muscle activation, facial sensors, and/or other sensors. In some arrangements, device 10 may use sensors 16 and/or other input-output devices to gather user input. For example, buttons may be used to gather button press input, touch sensors overlapping displays can be used for gathering user touch screen input, touch pads may be used in gathering touch input, microphones may be used for gathering audio input (e.g., voice commands), accelerometers may be used in monitoring when a finger contacts an input surface and may therefore be used to gather finger press input, etc.
If desired, electronic device 10 may include additional components (see, e.g., other devices 18 in input-output devices 24). The additional components may include haptic output devices, actuators for moving movable housing structures, audio output devices such as speakers, light-emitting diodes for status indicators, light sources such as light-emitting diodes that illuminate portions of a housing and/or display structure, other optical output devices, and/or other circuitry for gathering input and/or providing output. Device 10 may also include a battery or other energy storage device, connector ports for supporting wired communication with ancillary equipment and for receiving wired power, and other circuitry.
Display(s) 14 can be used to present a variety of content to a user's eye. The left and right displays 14 that are used to present a fused stereoscopic image to the user's eyes when viewing through eye boxes 13 can sometimes be referred to collectively as a display 14. As an example, virtual reality (VR) content can be presented by display 14. Virtual reality content may refer to content that only includes virtual objects within a virtual reality (computer-generated) environment. As another example, mixed reality (MR) content can be presented by display 14. Mixed reality content may refer to content that includes virtual objects and real objects from the real-world physical environment in which device 10 is being operated. As another example, only real-world content can be presented by display 14. The real-world content may refer to images being captured by one or more front-facing cameras (see, e.g., cameras 46 in
A physical environment refers to a physical world that people can sense and/or interact with without the aid of an electronic device. In contrast, an extended reality (XR) environment refers to a wholly or partially simulated environment that people sense and/or interact with via an electronic device. For example, the XR environment may include augmented reality (AR) content, mixed reality (MR) content, virtual reality (VR) content, and/or the like. With an XR system, a subset of a person's physical motions, or representations thereof, are tracked, and, in response, one or more characteristics of one or more virtual objects simulated in the XR environment are adjusted in a manner that comports with at least one law of physics.
A user wearing an electronic device 10 of the type described in connection with
In accordance with an embodiment, head-mounted device 10 can be provided with software and/or hardware subsystems configured to perform double vision compensation/mitigation and to provide improved vergence comfort without the use of additional clip-on lenses. Such type of electronic device 10 is illustrated in
Image sensor(s) 50 may include one or more front-facing camera(s) and/or other cameras used to gather information on the external real-world environment surrounding device 10. Cameras 50 may represent one or more of front-facing cameras 46 in
Tracking sensors 54 can include a gaze tracking subsystem, sometime referred to as a gaze tracker, that is configured to gather gaze information or point-of-gaze information. The gaze tracker may employ one or more inward facing camera(s) and/or other gaze-tracking components (e.g., eye-facing components and/or other light sources that emit beams of light so that reflections of the beams from a user's eyes may be detected) to monitor the user's eyes. One or more gaze-tracking sensor(s) 54 may face a user's eyes and may track a user's gaze. A camera in gaze-tracking subsystem 54 may determine the location of a user's eyes (e.g., the centers of the user's pupils), may determine the direction in which the user's eyes are oriented (the direction of the user's gaze), may determine the user's pupil size (e.g., so that light modulation and/or other optical parameters and/or the amount of gradualness with which one or more of these parameters is spatially adjusted and/or the area in which one or more of these optical parameters is adjusted based on the pupil size), may be used in monitoring the current focus of the lenses in the user's eyes (e.g., whether the user is focusing in the near field or far field, which may be used to assess whether a user is day dreaming or is thinking strategically or tactically), and/or other gaze information. Cameras in gaze tracker 54 may sometimes be referred to as inward-facing cameras, gaze-detection cameras, eye-tracking cameras, gaze-tracking cameras, or eye-monitoring cameras. If desired, other types of optical sensors (e.g., infrared and/or visible light-emitting diodes and light detectors, etc.) may also be used in monitoring a user's gaze.
Tracking sensors 54 can also include a face and body tracking subsystem configured to perform face tracking (e.g., to capture images of the user's jaw, mouth, etc. while the device is worn on the head of the user) and body tracking (e.g., by capturing images of the user's torso, arms, hands, legs, etc. while the device is worn on the head of user). If desired, the face and body tracking subsystem can also track a user's head pose by directly determining any movement, yaw, pitch, roll, etc. for head-mounted device 10. The yaw, roll, and pitch of the user's head may collectively define a user's head pose.
Tracking sensors 54 can further include a hands tracking subsystem, sometimes referred to as a hands tracker, configured to monitor a user's hand motion/gesture to obtain hand gestures data. For example, the hands tracker may include a camera and/or other gestures tracking components (e.g., outward facing components and/or light sources that emit beams of light so that reflections of the beams from a user's hand may be detected) to monitor the user's hand(s). One or more hands-tracking sensor(s) 54 may be directed towards a user's hands and may track the motion associated with the user's hand(s), may determine whether the user is performing a tapping or swiping motion with his/her fingertips or hand(s), may determine whether the user is performing a non-contact button press or object selection operation with his/her hand(s), may determine whether the user is performing a grabbing or gripping motion with his/her hand(s), may determine whether the user is pointing at or pinching at a given object that is presented on display 14 using his/her hand(s) or fingers, may determine whether the user is performing a waving or bumping motion with his/her hand(s), or may generally measure/monitor three-dimensional non-contact gestures (“air gestures”) associated with the user's hand(s). Tracking sensors 54 operable to obtain gaze, pose, hands gesture, and other information relating to a motion of a user of device 10 are sometimes referred to collectively as “user-tracking” sensors.
The data gathered using tracking sensors 54 may optionally be processed using neural processing unit (NPU) 56, which is optimized for neural network processing operations. Neural processing unit 56 can perform neural network processing tasks much faster than CPU 60. Neural processing unit 56 may employ one or more machine learning based models to output corresponding gaze information, head pose information, hands information, and/or other information relating to the user.
The example of
The gaze information and/or other user-related information output from neural processing unit 56 can be conveyed to central processing unit (CPU) 60. Most software applications running on device 10 employ CPU 60 in one way or another during normal operation. CPU 60 is sometimes referred to as an applications processor. Unlike the NPU 56, which is optimized for artificial neural network computations, and the GPU 70, which is optimized for graphics rendering computations, CPU 60 may be configured to handle general purpose tasks, including but not limited to running a main operating system (OS) for device 10, executing web browsing applications, social media applications, messaging applications, media streaming applications, and mapping and navigation applications, and supporting wireless communications, security and encryption functions, and power management functions, just to name a few.
In the example of
CPU 60 can further include a software or hardware subsystem such as block 64 configured to generate one or more warp meshes based on the received gaze information and/or other user-related information. Block 64 is therefore sometimes referred to as a warp mesh generation block or a warp mesh generator. The warp mesh generated by block 64 may refer to and be defined herein as a grid or mesh of interconnected points (vertices) that can be overlaid on top of an image. Each vertex in the warp mesh can be independently adjusted to apply distortions, deformations, warping, morphing, rippling, and/or other transformations or visual effects to the underlying image. The density of vertices in a warp mesh can vary depending on the level of detail employed by the particular transformation at hand. Each vertex in a warp mesh can have, along with its positional coordinates, associated warp parameters, which can include texture coordinates, blending weights, and/or other values that might affect how each vertex contributes to the final warped image. In the context of head-mounted device 10, the warp meshes output by block 64 can be used for lens distortion correction, point-of-view correction (POVC), and/or other adjustments to the displayed passthrough feed to create a more natural, pleasing, comfortable, and immersive viewing experience. In general, the warp meshes can be generated based on the gaze data (e.g., the warp meshes can change based on the user's gaze, head pose, and/or other movements). The warp meshes can also be adjusted, based on the foveation curves, so that certain areas of an image is rendered with lower detail to conserve computational resources.
Unlike the CPU 60 and NPU 56, the graphics processing unit (GPU) 70 is optimized for graphics processing or graphics rendering operations, as its name suggests. Graphics processing unit 70 may include highly parallelized processing cores configured to handle a wide range of computationally intensive tasks. A graphics rending subsystem such as graphics rendering engine 72 can be implemented on GPU 70. Graphics rendering engine 72, sometimes referred to as a graphics renderer or a graphics rendering pipeline, can be configured to render or generate virtual content (e.g., virtual reality content, augmented reality content, mixed reality content, or extended reality content) or may be used to carry out other graphics processing functions. The virtual (computer-generated) content output from the graphics rendering engine 72 can optionally be foveated based on the foveation information output from dynamic foveation block 62 (e.g., subsystem 72 can render foveated virtual content).
Graphics renderer 72 can synthesize photorealistic or non-photorealistic images from one or more 2-dimensional or 3-dimensional model(s) defined in a scene file that contains information on how to simulate a variety of features such as information on shading (e.g., how color and brightness of a surface varies with lighting), shadows (e.g., how to cast shadows across an object), texture mapping (e.g., how to apply detail to surfaces), reflection, transparency or opacity (e.g., how light is transmitted through a solid object), translucency (e.g., how light is scattered through a solid object), refraction and diffraction, depth of field (e.g., how certain objects can appear out of focus when outside the depth of field), motion blur (e.g., how certain objects can appear blurry due to fast motion), and/or other visible features relating to the lighting or physical characteristics of objects in a scene. Graphics renderer 72 can apply rendering algorithms such as rasterization, ray casting, ray tracing, radiosity, or other graphics processing algorithms.
In the embodiment of
The image warping operations can be performed at content warping subsystem 80, sometimes referred to as a warp (ing) block. Subsystem 80 may represent a software or hardware component configured to receive the warp meshes output from warp mesh generation block 64 via path 66 and to warp the passthrough content and the virtual content (e.g., to apply distortions, deformations, warping, morphing, rippling, and/or other transformations or visual effects to the underlying images). In the example of
Media merging compositor 90 may receive the warped passthrough content and the warped virtual content from warping subsystem 80 and may overlay, blend, or otherwise combine one or more portions of the warped virtual content with the warped passthrough content to obtain corresponding merged or blended video content. The merged video content output from the media merging compositor 90 can then be presented on display(s) 14 to be viewed by the user of device 10.
Device 10 of the type described in connection with
In the example of
The example of
The example of
The example of
The second view frustum 122 may be transformed relative to the first view frustum 102, as indicated by the direction of arrow 120, and is therefore sometimes referred to as a transformed view frustum. The first view frustum 102 can have a first projection plane 110, whereas the second view frustum 122 can have a different projection plane 110′ that is transformed relative to projection plane 110. This difference in orientation between the two virtual cameras can be referred to as a difference in camera pose, which includes 3D rotation and/or translation relative to a common coordinate system. The term “transformation” can be defined herein as including 3D rotation and/or translation. Such transformation of the view frustum can help mimic the misalignment or divergence between the eyes of such a user so that the user will no longer experience double vision. In the example of
The example of
The embodiments described herein can be employed for different types of displays 14. As an example, the one or more displays 14 in device 10 can be flat (planar) displays. As another example, the one or more displays 14 in device 10 can be curved displays. Such curved displays can include spherical displays (e.g., a display having a surface similar to a section of a sphere or a hemisphere). Such curved displays can optionally be shifted or transformed for further optimization. Content can be presented on only dedicated regions of such curved displays in accordance with the eye's forward gaze (e.g., the field of view can be dynamically adjusted on the curved display). If desired, other components in the optical module, including the lens and any eye tracking sensors can also be rotated in accordance with the eye's forward gaze rotation or movement to exploit the full visible region of the curved display through the lens. In yet other embodiments, sensors 16 in device 10 (see
During the operations of block 202, the passthrough content captured by the front-facing cameras can optionally be shifted (e.g., laterally shifted along a projection plane as shown in
Shifting or transforming the passthrough content need not be performed at image signal processor 52. If desired, the shifting or transforming of the passthrough content can alternatively be performed at warping subsystem 80 (see block 204). During the operations of block 204, the passthrough content captured by the front-facing cameras can optionally be shifted (e.g., laterally shifted along a projection plane as shown in
During the operations of block 206, the virtual content generated by graphics rendering engine 72 can optionally be shifted (e.g., laterally shifted along a projection plane as shown in
Shifting or transforming the virtual content need not be performed at graphics rendering engine 72. If desired, the shifting or transforming of the virtual content can alternatively be performed at warping subsystem 80 (see block 208). During the operations of block 208, the virtual content output from graphics renderer 72 can optionally be shifted (e.g., laterally shifted along a projection plane as shown in
The example of
During the operations of block 210, the adjusted passthrough content and the adjusted virtual content can be blended, merged, or otherwise combined at media merging compositor 90. The adjusted passthrough content may represent the shifted or transformed passthrough content output from block 202 or block 204. The adjusted virtual content may represent the shifted or transformed passthrough content output from block 206 or block 208. If planar view frustum shifting (or cropping) is employed to modify the passthrough content, then a corresponding amount of planar view frustum shifting should be employed to modify the virtual content. Alternatively, if perspective/POV transformation is employed to modify the passthrough content, then a corresponding amount of transformation should be employed to modify the virtual content. Media merging compositor 90 may output the merged content (e.g., by overlaying the modified virtual content on top of the modified passthrough content), which is then presented on one or more display(s) 14 in device 10. Displaying extended reality content in this way can be technically advantageous and beneficial to compensate for or mitigate potential double vision artifacts seen by users with diplopia and/or to improve comfort for users experiencing vergence discomfort.
The operations of
The amount of shifting or transformation being applied to the passthrough and virtual content may be based on one or more double vision compensation parameters.
To help protect the privacy of users, any personal user information that is collected at device 10 may be handled using best practices. These best practices including meeting or exceeding any privacy regulations that are applicable. Opt-in and opt-out options and/or other options may be provided that allow users to control usage of their personal data.
During the operations of block 222, the prism prescription values can then be converted into corresponding compensation parameters αx and αY. As an example, the prism prescription values (in units of prism diopters) can be proportional to a tangent of the compensation parameters. Compensation parameter αX represents the rotational angle about the X axis (see, e.g.,
During the operations of block 224, device 10 can apply the requisite amount of planar shifting or POV transformation to the passthrough and virtual content based on the compensation parameters computed from block 222. The compensations parameters (e.g., αX, αY, etc.) can be used to determine the amount of lateral shifting or cropping that is needed to modify the virtual and passthrough content or can be used to determine the amount of transformation that is needed to modify the virtual and passthrough content to mitigate double vision. The mechanisms for performing the desired shifting or transformation are described in connection with
During the operations of block 226, device 10 can optionally allow the user to fine tune the compensation parameters to minimize or further reduce any remaining double vision artifacts. Here, the user can be provided with an opportunity to manually adjust the compensation parameters or the prism prescription values until he/she is satisfied (e.g., until the user's eyes are able to fuse the split vision). For example, the user can be presented with options to adjust the vertical compensation parameter αX and/or the horizontal compensation parameter αY in steps comparable to those used by an optometrist (e.g., in steps of 0.5 prism diopter, less than 0.5 prism diopter, 0.5-1 prism diopter, less than 1 prism diopter, less than 2 prism diopters, less than 5 prism diopters, etc.). The user can, for example, supply such external input via a keyboard, mouse, trackpad, and/or other input-output devices 24 (see
The example of
During the operations of block 256, the estimated misalignment data output from the operations of blocks 252/254 can then be converted into corresponding compensation parameters αX and αY. Compensation parameter αX represents the rotational angle about the X axis (sec, e.g.,
During the operations of block 258, device 10 can apply the requisite amount of planar shifting or perspective transformation to the passthrough and virtual content based on the compensation parameters computed from block 256. The compensations parameters (e.g., αX, αY, etc.) can be used to determine the amount of lateral shifting or cropping that is needed to modify the virtual and passthrough content or can be used to determine the amount of transformation that is needed to modify the virtual and passthrough content to mitigate double vision. The mechanisms for perform the desired shifting or transformation are described in connection with
During the operations of block 260, device 10 can optionally allow the user to fine tune the compensation parameters to minimize or further reduce any remaining double vision artifacts. Here, the user can be provided with an opportunity to manually adjust the compensation parameters until he/she is satisfied (e.g., until the user's eyes are able to fuse the split vision). For example, the user can be presented with options to adjust the vertical compensation parameter αX and/or the horizontal compensation parameter αY in steps comparable to those used by an optometrist (e.g., in steps of 0.5 prism diopter, less than 0.5 prism diopter, 0.5-1 prism diopter, less than 1 prism diopter, less than 2 prism diopters, less than 5 prism diopters, etc.). The user can, for example, supply such external input via a keyboard, mouse, trackpad, and/or other input-output devices 24 (see
The methods and operations described above in connection with
Many different types of electronic systems can enable a person to sense and/or interact with various XR environments. Examples include head mountable systems, projection-based systems, heads-up displays (HUDs), vehicle windshields having integrated display capability, windows having integrated display capability, displays formed as lenses designed to be placed on a person's eyes (e.g., similar to contact lenses), headphones/earphones, speaker arrays, input systems (e.g., wearable or handheld controllers with or without haptic feedback), smartphones, tablets, and desktop/laptop computers.
The foregoing is merely illustrative and various modifications can be made to the described embodiments. The foregoing embodiments may be implemented individually or in any combination.
This application claims the benefit of U.S. Provisional Patent Application No. 63/590,552, filed Oct. 16, 2023, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
63590552 | Oct 2023 | US |