Display systems and methods for determining registration between display and user's eyes
The head-mounted display system uses eye-tracking technology to maintain optimal alignment with the user's eyes, addressing alignment challenges in VR, AR, and MR technologies, ensuring high-quality image presentation and user comfort through dynamic fit adjustments.
Patent Information
- Application Number
- JP2024182489
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-07-24
- Filing Date
- 2024-10-18
- Publication Date
- 2025-01-22
- Estimated Expiration
- 2039-01-17
AI Technical Summary
Existing VR, AR, and MR technologies face challenges in ensuring proper alignment and fit of head-mounted displays with users, leading to degraded image quality and user discomfort due to misalignment of the display with the user's eyes.
A head-mounted display system equipped with eye-tracking cameras and processing electronics to determine the position of the user's eyes relative to the display alignment volume, providing feedback and adjusting the fit to ensure proper alignment, including replaceable fit components and dynamic adjustments to maintain optimal display alignment.
Ensures high-quality image presentation by maintaining proper alignment of the display with the user's eyes, reducing image degradation and user discomfort, and allowing for automatic adjustments during use.
Smart Images

Figure 2025010587000001_ABST
Abstract
Description
[Technical field]
[0001] (Priority Claim) This application claims priority to U.S. Provisional Patent Application No. 62 / 644,321, entitled "DISPLAY SYSTEMS AND METHODS FOR DETERMINING REGISTRATION BETWEEN A DISPLAY AND A USER'S EYES," filed March 16, 2018, U.S. Provisional Patent Application No. 62 / 618,559, entitled "EYE CENTER OF ROTATION DETERMINATION, DEPTH PLANE SELECTION, AND RENDER CAMERA POSITIONING IN DISPLAY SYSTEMS," filed January 17, 2018, and U.S. Provisional Patent Application No. 62 / 702,849, entitled "EYE CENTER OF ROTATION DETERMINATION, DEPTH PLANE SELECTION, AND RENDER CAMERA POSITIONING IN DISPLAY SYSTEMS," filed July 24, 2018. Each of the above applications is incorporated herein by reference in its entirety. (Incorporated by reference)
[0002] This application is based upon the following patent applications and publications: U.S. Patent Application No. 14 / 555585, filed November 27, 2014, published July 23, 2015 as U.S. Patent Publication No. 2015 / 0205126; U.S. Patent Application No. 14 / 690401, filed April 18, 2015, published October 22, 2015 as U.S. Patent Publication No. 2015 / 0302652; and U.S. Patent Application No. 14 / 2014, filed March 14, 2014, published August 16, 2016. No. 9,417,452, U.S. Patent Application No. 14 / 212,961, filed July 14, 2014 and published as U.S. Patent Publication No. 2015 / 0309263 on October 29, 2015, U.S. Patent Application No. 14 / 331218, U.S. Patent Publication No. 2016 / 0270656, published June 25, 2015, U.S. Patent Publication No. 2015 / 0178939, U.S. Patent Publication No. 2015 / 0016777, U.S. Patent Application No. 15 / 2748 No. 23, U.S. Patent Application No. 15 / 296,869, filed September 27, 2017, U.S. Patent Application No. 15 / 717747, filed April 26, 2017, U.S. Patent Application No. 15 / 497726, published February 23, 2017, U.S. Patent Publication No. 2017 / 0053165, published February 23, 2017, U.S. Patent Publication No. 2017 / 0053166, filed November 2, 2016, U.S. Patent Publication No. 2017 / 0053167, filed May 4, 2017, U.S. Patent Publication No. 2017 / 0053169, filed November 2, 2016, U.S. Patent Publication No. 2017 / 0053168, filed May 4, 2017, U.S. Patent Publication No. 2017 / 0053169, filed May 2 ... This application incorporates by reference in its entirety each of U.S. Patent Application No. 15 / 341,760, filed November 2, 2016 and published as U.S. Patent Publication No. 2017 / 0122725, U.S. Patent Application No. 15 / 341822, filed November 2, 2016 and published May 4, 2017 as U.S. Patent Publication No. 2017 / 0124928, U.S. Provisional Patent Application No. 62 / 618559, filed January 17, 2018, and U.S. Provisional Patent Application No. 62 / 642761, filed March 14, 2018. (Technical field)
[0003] The present disclosure relates to display systems, including virtual reality and augmented reality display systems, and more particularly to systems and methods for assessing the fit of a display on a user. [Background technology]
[0004] Modern computing and display technologies have facilitated the development of systems for so-called "virtual reality", "augmented reality", or "mixed reality" experiences, in which digitally reproduced images or portions thereof are presented to a user in a manner that appears or may be perceived as real. Virtual reality, or "VR", scenarios typically involve the presentation of digital or virtual image information without transparency to other actual real-world visual inputs. Augmented reality or "AR" scenarios typically involve the presentation of digital or virtual image information as an extension to the visualization of the real world around the user. Mixed reality or "MR" refers to the merging of real and virtual worlds to generate new environments in which physical and virtual objects coexist and interact in real time. In conclusion, the human visual perception system is highly complex, making it difficult to produce VR, AR, or MR technologies that facilitate comfortable, natural-feeling, and rich presentation of virtual image elements among other virtual or real-world image elements. The systems and methods disclosed herein address various challenges associated with VR, AR, and MR technologies. Summary of the Invention [Means for solving the problem]
[0005] Various examples of aligned viewing and response within a mixed reality system are disclosed.
[0006] In some embodiments, a display system is provided for projecting light into a user's eye and displaying virtual image content. The display system includes a frame configured to be supported on the user's head, a head-mounted display disposed on the frame, the display configured to project light into the user's eye and display virtual image content with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and different periods of time, one or more eye-tracking cameras configured to image the user's eye, and processing electronics in communication with the display and the one or more eye-tracking cameras. The processing electronics are configured to determine an eye position based on an image of the eye acquired using the one or more eye-tracking cameras, determine whether the eye position is within a display alignment volume of the head-mounted display system, and provide a notification based on determining whether the eye position is within the display alignment volume, the notification being configured to indicate at least that the display and the eye are not properly aligned.
[0007] In some other embodiments, a display system is configured to project light into the user's eye and display virtual image content. The display system includes a frame configured to be supported on the user's head, a head-mounted display disposed on the frame, the display configured to project light into the user's eye and display virtual image content with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and different periods of time, one or more eye-tracking cameras configured to image the user's eye, and processing electronics in communication with the display and the one or more eye-tracking cameras. The processing electronics is configured to determine an eye position based on an image of the eye acquired using the one or more eye-tracking cameras, determine whether the eye position is greater than a first threshold distance outside the viewing volume of the head-mounted display system, and provide feedback to the user in response to determining that the eye position is greater than the first threshold distance outside the viewing volume of the head-mounted display system, indicating that the display and the eye are not properly aligned for output.
[0008] In some other embodiments, a display system is provided for projecting light into a user's eye and displaying virtual image content. The display system includes a frame configured to be supported on the user's head, a head-mounted display disposed on the frame, the display configured to project light into the user's eye and display virtual image content with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and at different times, one or more eye-tracking cameras configured to image the user's eye, and processing electronics in communication with the display and the one or more eye-tracking cameras. The processing electronics are configured to determine whether the light projected by the head-mounted display is properly aligned with the user's eye, and provide feedback to the user if the head-mounted display is not properly adjusted to fit the user to align the light projected by the display system.
[0009] In yet another embodiment, a method is provided for assessing alignment of virtual image content from a head mounted display system with an eye of a user, the method including determining a first position of the eye, determining whether the first position of the eye is within a display alignment volume of the head mounted display system, the display alignment volume being an imaginary volume associated with a proper fit of the head mounted display system to the eye of the user, and providing a notification based on determining whether the eye position is within the display alignment volume, the notification indicating at least that the display and the eye are not properly aligned.
[0010] Additional examples are listed below.
[0011] Example 1. A display system configured to project light to a user's eye and display virtual image content, comprising: a frame configured to be supported on a user's head; and a head mounted display disposed on the frame, the display configured to project light into the user's eye and display virtual image content with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and at different times; one or more eye tracking cameras configured to image the user's eyes; processing electronics in communication with the display and the one or more eye tracking cameras, determining an eye position based on images of the eye acquired using one or more eye tracking cameras; determining whether the eye position is within a display alignment volume of the head mounted display system; providing a notification based on determining whether the eye position is within the display alignment volume, the notification indicating at least that the display and the eye are not properly aligned; processing electronics configured to A display system comprising:
[0012] Example 2. The display system of Example 1, wherein the processing electronics are further configured to provide feedback to the user that the head mounted display is not properly adjusted to fit the user in response to determining that the eye position is outside the display alignment volume, the feedback being a notification that is provided based on determining whether the eye position is within the display alignment volume.
[0013] Example 3. The display system of Example 1, further comprising at least one replaceable fitting component removably mounted to the frame and configured to adjust the fit of the frame.
[0014] Example 4. The display system of example 3, wherein the interchangeable fitting part comprises an interchangeable nose bridge portion configured to adjust the fit of the frame between the frame and the bridge of the user's nose.
[0015] Example 5. The display system of example 3 or 4, wherein the interchangeable fit component comprises an interchangeable forehead pad configured to adjust the fit of the frame between the frame and the user's forehead.
[0016] Example 6. A display system as described in any of Examples 3-5, wherein the interchangeable fit part comprises an interchangeable back pad configured to adjust the fit of the frame between the frame and the back of the user's head.
[0017] Example 7. A display system as described in any of Examples 2-6, wherein the processing electronics are further configured such that providing a notification, including providing feedback to the user that the head-mounted display is not properly adjusted to fit the user, includes providing a suggestion to the user to replace a currently installed interchangeable fit part with another interchangeable fit part.
[0018] Example 8. A display system as described in any of Examples 1-7, further comprising one or more light sources positioned on the frame relative to the user's eyes and illuminating the user's eyes, and the one or more eye tracking cameras form images of the eyes using light from the one or more light sources.
[0019] Example 9. The display system of Example 8, wherein the one or more light sources are positioned on the frame relative to the user's eyes and include at least two light sources that illuminate the user's eyes.
[0020] Example 10. The display system of any of Examples 8-9, wherein the one or more light sources comprise infrared light emitters.
[0021] Example 11. A display system as described in any of Examples 8-10, wherein the one or more light sources form one or more flashes of light on the eye, and the processing electronics are configured to determine the location of the cornea based on the one or more flashes of light.
[0022] Example 12. A display system according to any one of Examples 1-11, wherein the eye position is the location of the eye's center of rotation.
[0023] Example 13. A display system as described in any of Examples 1-11, wherein the cornea has a corneal sphere associated therewith having a center of curvature, and the processing electronics is configured to determine a location of the center of curvature of the corneal sphere.
[0024] Example 14. The display system of Example 1, wherein the processing electronics are configured to provide the notification by providing instructions to the display to increase the brightness of a plurality of pixels of the display relative to other pixels of the display, the plurality of pixels with increased brightness including pixels that are expected to experience a darkened perception under improper alignment.
[0025] Example 15. A display system configured to project light to a user's eye and display virtual image content, a frame configured to be supported on a user's head; and a head mounted display disposed on the frame, the display configured to project light into the user's eye and display virtual image content with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and at different times; one or more eye tracking cameras configured to image the user's eyes; processing electronics in communication with the display and the one or more eye tracking cameras, determining an eye position based on images of the eye acquired using one or more eye tracking cameras; determining whether the eye position is greater than a first threshold distance outside a viewing volume of the head mounted display system; in response to determining that the eye position is greater than a first threshold distance outside a viewing volume of the head mounted display system, providing feedback to the user indicating that the display and the eye are not properly aligned for output; processing electronics configured to A display system comprising:
[0026] Example 16 The processing electronics includes at least: determining whether the eye position is less than a second threshold distance from the eyepiece; in response to determining that the eye position is less than a second threshold distance from the head mounted display system, providing feedback to the user indicating that the display and the eye are not properly aligned for output; The display system of Example 15 is configured to determine whether the eye position is greater than a first threshold distance outside the viewing volume by:
[0027] Example 17 The processing electronics includes at least: determining whether the eye position is greater than a second threshold distance from the eyepiece; in response to determining that the eye position is greater than a second threshold distance from the head mounted display system, providing feedback to the user indicating that the display and the eye are not properly aligned for output; The display system of Example 15 is configured to determine whether the eye position is greater than a first threshold distance outside the viewing volume by:
[0028] Example 18. The processing electronics includes at least: determining whether the eye position is greater than a second threshold distance outside a subspace of the field of view of the eye tracking camera; in response to determining that the eye position is greater than a second threshold distance outside a sub-space of the viewing volume of the eye tracking camera, providing feedback to the user indicating that the display and eye are not properly aligned for output; The display system of Example 15 is configured to determine whether the eye position is greater than a first threshold distance outside the viewing volume by:
[0029] Example 19. A display system as described in Example 15, wherein the viewing volume of the head-mounted display is the volume through which light representing all pixels of the virtual image content presented by the head-mounted display is expected to pass.
[0030] Example 20. A display system configured to project light to a user's eye and display virtual image content, a frame configured to be supported on a user's head; and a head mounted display disposed on the frame, the display configured to project light into the user's eye and display virtual image content with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and at different times; one or more eye tracking cameras configured to image the user's eyes; processing electronics in communication with the display and the one or more eye tracking cameras, determining whether light projected by the head mounted display is properly aligned by the user's eyes; providing feedback to the user if the head mounted display is not properly adjusted to fit the user to align the light projected by the display system; processing electronics configured to A display system comprising:
[0031] Example 21. The display system of Example 20, further comprising at least one replaceable fitting part removably mounted to the frame and configured to adjust the fit of the frame.
[0032] Example 22. A display system as described in Example 21, wherein the interchangeable fit part comprises an interchangeable nose bridge portion configured to adjust the fit of the frame between the frame and the user's nose bridge.
[0033] Example 23. A display system as described in Example 20 or 22, wherein the interchangeable fit part comprises a replaceable forehead pad configured to adjust the fit of the frame between the frame and the user's forehead.
[0034] Example 24. A display system described in any of Examples 20-23, wherein the interchangeable fit parts include interchangeable back pads configured to adjust the fit of the frame between the frame and the back of the user's head.
[0035] Example 25. A display system as described in any of Examples 20-24, wherein the processing electronics are further configured such that providing feedback to the user that the head-mounted display is not properly adjusted to fit the user includes providing the user with a suggestion to replace the currently installed interchangeable fit part with another interchangeable fit part.
[0036] Example 26. A method for assessing alignment of virtual image content from a head mounted display system with a user's eyes, comprising: determining a first position of the eye; determining whether a first position of the eye is within a display alignment volume of the head mounted display system, the display alignment volume being an imaginary volume associated with a proper fit of the head mounted display system to the user's eye; providing a notification based on determining whether the eye position is within a display alignment volume, the notification indicating at least that the display and the eye are not properly aligned; A method comprising:
[0037] Example 27. The method described in Example 26, wherein the head-mounted display system is equipped with an eye tracking camera, and the step of determining a first position of the eye includes a step of imaging the user's eye using the eye tracking camera.
[0038] Example 28. The method described in Example 27, wherein the first position of the eye is the position of the center of rotation of the eye, and further includes a step of calculating the center of rotation of the eye based on imaging of the eye by an eye tracking camera.
[0039] Example 29. The method described in Example 26, wherein the head-mounted display system is configured to project light into the eye and display virtual image content within the user's field of view, and further includes a step of displaying an indication that the wearable system is properly fitted.
[0040] Example 30. A method as described in any of Examples 26-29, further comprising a step of automatically tracking the eye's center of rotation over time using a head-mounted display system and notifying the user when the eye's center of rotation moves outside the alignment display volume.
[0041] Example 31. determining a second position of the eye; determining that a second eye position is within a display alignment volume; in response to determining that the second position of the eye is within the display alignment volume, providing additional feedback to the user indicating that the wearable system is properly fitted to the user; 30. The method of Example 26 or 29, further comprising:
[0042] Example 32. The method of any of Examples 26-31, wherein at least some pixels of the head mounted display system are darkened or made invisible to the user when the user's eyes are not within the display alignment volume.
[0043] Example 33. The method further comprising the step of changing the field of view of the head mounted display system when the eye position is outside the display alignment volume; The method of any of Examples 26-32, wherein the head-mounted display system includes at least one display having a first field of view when the eye position is within the display alignment volume, and the display has a second field of view when the eye position is outside the display alignment volume, the second field of view being smaller than the first field of view.
[0044] Example 34. The method of example 33, wherein the step of providing a notification includes a step of providing feedback to the user within the second field of view.
[0045] Example 35. A wearable system comprising at least one replaceable fitting part, providing a notification to the user indicating that the wearable system is not properly fitted to the user; The method of any of Examples 26-34, wherein the notification includes a suggestion or instruction to the user to replace the currently installed replaceable fit part with an alternative replaceable fit part.
[0046] Example 36. The method of Example 35, wherein the replaceable fitting part comprises at least one fitting part selected from the group consisting of a nose bridge pad, a forehead pad, and a back pad that fits between the wearable system and the back of the user's head.
[0047] Example 37. The method of Example 36, wherein the wearable system comprises at least one replaceable nose bridge pad, and further comprises a step of determining that the display of the head-mounted system is too low relative to the eyes, and the step of providing a notification to the user comprises a step of prompting the user to install a larger nose bridge pad.
[0048] Example 38. identifying a number of pixels of a display of a head mounted display system that are expected to be perceived as darkened by a user as a result of a first eye position being outside a display alignment volume; increasing the brightness of a number of pixels of the display relative to other pixels in the display to reduce expected darkening; The method of any of Examples 26-37, further comprising:
[0049] Example 39. A display system configured to project light to a user's eye and display virtual image content, a frame configured to be supported on a user's head; and a head mounted display disposed on the frame, the display configured to project light into the user's eye with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and at different time periods, and to display the virtual image content as rendered by the virtual rendering camera; one or more eye tracking cameras configured to image the user's eyes; processing electronics in communication with the display and the one or more eye tracking cameras, determining a distance away from the display at which the eye is located based on images of the eye acquired using the one or more eye tracking cameras; adjusting a focal length of a virtual rendering camera based on the determined distance; processing electronics configured to A display system comprising:
[0050] Example 40. A display system configured to project light to a user's eye and display virtual image content, a frame configured to be supported on a user's head; and a head mounted display disposed on the frame, the display configured to project light into the user's eye and display virtual image content with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and at different times; one or more eye tracking cameras configured to image the user's eyes; processing electronics in communication with the display and the one or more eye tracking cameras, determining a position of the eye relative to the display based on images of the eye acquired using one or more eye tracking cameras; determining an amount of pixels of the virtual image content that a user is expected to perceive as darkened based on eye position relative to the display; Controlling operation of the display based on the determined amount of pixels. processing electronics configured to A display system comprising:
[0051] Example 41. A display system as described in Example 40, wherein the processing electronics are configured to determine an amount of pixels of the virtual image content that are not expected to be perceived as darkened by the user based on eye position relative to the display.
[0052] Example 42. The processing electronics comprises: By increasing the brightness of pixels of the virtual image content that the user is expected to perceive as darkened, based on eye position relative to the display; 42. The display system of example 40 or 41, configured to control operation of the display.
[0053] Example 43. A display system described in any of Examples 40-42, wherein the amount of pixels in the virtual image content includes a percentage of the pixels.
[0054] Example 44. A display system as described in any of Examples 40-43, wherein the processing electronics are configured to compare the amount of pixels of the virtual image content to one or more thresholds, and in response to determining that the amount of pixels of the virtual image content exceeds one or more thresholds, display and provide feedback to the user indicating that the display and eyes are not properly aligned for output.
[0055] Example 45. A display system configured to project light to a user's eye and display virtual image content, a frame configured to be supported on a user's head; and a head mounted display disposed on the frame, the display configured to project light into the user's eye and display virtual image content with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and at different times; one or more eye tracking cameras configured to image the user's eyes; processing electronics in communication with the display and the one or more eye tracking cameras, Defining a registration volume for the display based on the one or more parameters; determining an eye position based on images of the eye acquired using one or more eye tracking cameras; determining whether the eye position is within an alignment volume of the head mounted display system; Controlling operation of the display based on determining whether the eye position is within the display alignment volume. processing electronics configured to A display system comprising:
[0056] Example 46. A display system as described in Example 45, wherein the one or more parameters include a type of application running on the display system.
[0057] Example 47. A display system described in any of Examples 45-46, wherein the one or more parameters include one or more physical parameters of the head-mounted display.
[0058] Example 48. A display system described in any of Examples 45-47, wherein one or more physical parameters of the head-mounted display include one or more of the display field of view, the display surface size, the shape of the display, the outer enclosure of the display, and the amount of refractive power imparted by the display to light representing the virtual image content.
[0059] Example 49. A display system described in any of Examples 45-48, wherein the processing electronics is configured to control operation of the display by presenting virtual image content to the user indicating at least that the display and eyes are not properly aligned.
[0060] Example 50. The processing electronics includes at least: determining whether the eye position is greater than a second threshold distance outside a sub-space of a viewing volume of an outer enclosure of the head mounted display; in response to determining that the eye position is greater than a second threshold distance outside a sub-space of a viewing volume of an outer housing of the head mounted display, providing feedback to the user indicating that the display and the eye are not properly aligned for output; The display system of Example 15 is configured to determine whether the eye position is greater than a first threshold distance outside the viewing volume by:
[0061] Example 52. The processing electronics further comprises: Identify applications running on the display system, determining a first threshold distance based on the identified application; The display system according to Example 15, configured as follows: The present specification also provides, for example, the following items: (Item 1) 1. A display system configured to project light to an eye of a user and display virtual image content, the display system comprising: a frame configured to be supported on a head of the user; and a head mounted display disposed on the frame, the display configured to project light into the user's eye and display virtual image content with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and at different times; one or more eye tracking cameras configured to image the user's eyes; processing electronics in communication with the display and the one or more eye tracking cameras, the processing electronics comprising: determining a position of the eye based on images of the eye acquired using the one or more eye tracking cameras; determining whether the eye position is within a display alignment volume of a head mounted display system; providing a notification based on determining whether the eye position is within the display alignment volume, the notification indicating at least that the display and the eye are not properly aligned; processing electronics configured to A display system comprising: (Item 2) 2. The display system of claim 1, wherein the processing electronics is further configured to provide feedback to the user that the head mounted display is not properly adjusted to fit the user in response to determining that the eye position is outside the display alignment volume, the feedback being a notification provided based on determining whether the eye position is within the display alignment volume. (Item 3) Item 14. The display system of item 1, further comprising at least one replaceable fit part removably mounted to the frame and configured to adjust the fit of the frame. (Item 4) 4. The display system of claim 3, wherein the interchangeable fit part comprises an interchangeable nose bridge portion configured to adjust the fit of the frame between the frame and the user's nose bridge. (Item 5) 4. The display system of claim 3, wherein the interchangeable fit components include interchangeable forehead pads configured to adjust the fit of the frame between the frame and the user's forehead. (Item 6) 4. The display system of claim 3, wherein the interchangeable fit components include interchangeable back pads configured to adjust the fit of the frame between the frame and a back of the user's head. (Item 7) The display system of item 3, wherein the processing electronics are further configured such that providing the notification, including providing feedback to the user that the head-mounted display is not properly adjusted to fit the user, includes providing the user with a suggestion to replace a currently installed interchangeable fit part with another interchangeable fit part. (Item 8) 2. The display system of claim 1, further comprising one or more light sources positioned on the frame relative to the user's eyes and illuminating the user's eyes, wherein the one or more eye tracking cameras form an image of the eyes using light from the one or more light sources. (Item 9) 9. The display system of claim 8, wherein the one or more light sources are positioned on the frame relative to the user's eyes and comprise at least two light sources that illuminate the user's eyes. (Item 10) 9. The display system of claim 8, wherein the one or more light sources comprise infrared light emitters. (Item 11) 9. The display system of claim 8, wherein one or more light sources form one or more flashes of light on the eye, and the processing electronics are configured to determine a location of the cornea based on the one or more flashes of light. (Item 12) 9. The display system of claim 8, wherein the eye position is the location of the eye's center of rotation. (Item 13) Item 2. The display system of item 1, wherein the cornea has a corneal sphere having a center of curvature associated therewith, and the processing electronics is configured to determine a location of the center of curvature of the corneal sphere. (Item 14) 2. The display system of claim 1, wherein the processing electronics are configured to provide the notification by providing instructions to the display to increase a brightness of a plurality of pixels of the display relative to other pixels of the display, the plurality of pixels with increased brightness including pixels that are expected to experience a darkened perception under improper alignment. (Item 15) 1. A display system configured to project light to an eye of a user and display virtual image content, the display system comprising: a frame configured to be supported on a head of the user; and a head mounted display disposed on the frame, the display configured to project light into the user's eye and display virtual image content with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and at different times; one or more eye tracking cameras configured to image the user's eyes; processing electronics in communication with the display and the one or more eye tracking cameras, the processing electronics comprising: determining a position of the eye based on images of the eye acquired using the one or more eye tracking cameras; determining whether the eye position is greater than a first threshold distance outside a viewing volume of the head mounted display system; in response to determining that the eye position is greater than a first threshold distance outside a viewing volume of the head mounted display system, providing feedback to a user indicating that the display and the eye are not properly aligned for output; processing electronics configured to A display system comprising: (Item 16) The processing electronics comprises at least determining whether the eye position is less than a second threshold distance from the eyepiece; in response to determining that the eye position is less than the second threshold distance from the head mounted display system, providing feedback to a user indicating that the display and the eye are not properly aligned for output; Item 16. The display system of item 15, configured to determine whether the eye position is greater than a first threshold distance outside the viewing volume by: (Item 17) The processing electronics comprises at least determining whether the eye position is greater than a second threshold distance from the eyepiece; in response to determining that the eye position is greater than the second threshold distance from the head mounted display system, providing feedback to a user indicating that the display and the eye are not properly aligned for output; Item 16. The display system of item 15, configured to determine whether the eye position is greater than a first threshold distance outside the viewing volume by: (Item 18) The processing electronics comprises at least determining whether the eye position is greater than a second threshold distance outside a subspace of a field of view of the eye tracking camera; in response to determining that the eye position is greater than the second threshold distance outside a sub-space of the eye tracking camera's viewing volume, providing feedback to a user indicating that the display and the eye are not properly aligned for output; Item 16. The display system of item 15, configured to determine whether the eye position is greater than a first threshold distance outside the viewing volume by: (Item 19) Item 16. The display system of item 15, wherein the viewing volume of the head-mounted display is the volume through which light representing all pixels of virtual image content presented by the head-mounted display is expected to pass. (Item 20) The processing electronics comprises at least determining whether the eye position is greater than a second threshold distance outside a sub-space of a viewing volume of an outer enclosure of the head mounted display; in response to determining that the eye position is greater than the second threshold distance outside a sub-space of a viewing volume of an outer enclosure of the head mounted display, providing feedback to a user indicating that the display and the eye are not properly aligned for output; Item 16. The display system of item 15, configured to determine whether the eye position is greater than the first threshold distance outside the viewing volume by: (Item 21) The processing electronics further include: identifying an application running on the display system; determining the first threshold distance based on the identified application; and Item 16. The display system of item 15, configured to perform the following: (Item 22) 1. A display system configured to project light to an eye of a user and display virtual image content, the display system comprising: a frame configured to be supported on a head of the user; and a head mounted display disposed on the frame, the display configured to project light into the user's eye and display virtual image content with different amounts of wavefront divergence to present virtual image content that appears to be located at different depths and at different times; one or more eye tracking cameras configured to image the user's eyes; processing electronics in communication with the display and the one or more eye tracking cameras, the processing electronics comprising: determining whether light projected by the head mounted display is properly aligned with the user's eyes; providing feedback to a user if the head mounted display is not properly adjusted to fit the user to align light projected by the display system; processing electronics configured to A display system comprising: (Item 23) 23. The display system of claim 22, further comprising at least one replaceable fit part removably mounted to the frame and configured to adjust the fit of the frame. (Item 24) 24. The display system of claim 23, wherein the interchangeable fit part comprises an interchangeable nose bridge portion configured to adjust the fit of the frame between the frame and the user's nose bridge. (Item 25) 24. The display system of claim 23, wherein the interchangeable fit components include interchangeable forehead pads configured to adjust the fit of the frame between the frame and the user's forehead. (Item 26) 24. The display system of claim 23, wherein the interchangeable fit components include interchangeable back pads configured to adjust the fit of the frame between the frame and a back of the user's head. (Item 27) 24. The display system of claim 23, wherein the processing electronics are further configured such that providing feedback to the user that the head mounted display is not properly adjusted to fit the user includes providing the user with suggestions for replacing currently installed interchangeable fit parts with different interchangeable fit parts. (Item 28) 1. A method for assessing alignment of virtual image content from a head mounted display system with an eye of a user, the method comprising: Determining a first position of the eye; determining whether the first position of the eye is within a display alignment volume of the head mounted display system, the display alignment volume being an imaginary volume associated with a proper fit of the head mounted display system to the user's eye; providing a notification based on determining whether the eye position is within the display alignment volume, the notification indicating at least that the display and the eye are not properly aligned; A method comprising: (Item 29) 30. The method of claim 28, wherein the head mounted display system includes an eye tracking camera, and determining the first position of the eye includes imaging the eye of the user using the eye tracking camera. (Item 30) 30. The method of claim 29, wherein the first position of the eye is a position of a center of rotation of the eye, and further comprising calculating a center of rotation of the eye based on imaging of the eye by the eye tracking camera. (Item 31) 30. The method of claim 28, wherein the head mounted display system is configured to project light into the eye and display virtual image content within the user's field of view, and further comprises displaying an indication that the wearable system is properly fitted. (Item 32) 30. The method of claim 28, further comprising using the head mounted display system to automatically track a center of rotation of the eye over time and notifying the user when the center of rotation of the eye moves outside the alignment display volume. (Item 33) determining a second position of the eye; and determining that a second eye position is within the display alignment volume; In response to determining that the second eye position is within the display alignment volume, providing additional feedback to the user indicating that the wearable system is properly fitted to the user. 29. The method of claim 28, further comprising: (Item 34) 30. The method of claim 28, wherein at least some pixels of the head mounted display system are darkened or made invisible to the user when the user's eyes are not within the display alignment volume. (Item 35) and changing a field of view of the head mounted display system when the eye position is outside the display alignment volume; 29. The method of claim 28, wherein the head mounted display system comprises at least one display having a first field of view when the eye position is within the display alignment volume, the display having a second field of view when the eye position is outside the display alignment volume, the second field of view being smaller than the first field of view. (Item 36) 36. The method of claim 35, wherein providing the notification includes providing feedback to the user within the second field of view. (Item 37) the wearable system includes at least one replaceable fitting component; providing a notification to a user indicating that the wearable system is not properly fitted to the user; 29. The method of claim 28, wherein the notification includes a suggestion or instruction to the user to replace the currently installed replaceable fit part with an alternative replaceable fit part. (Item 38) Item 38. The method of item 37, wherein the replaceable fitting parts comprise at least one fitting part selected from the group consisting of a nose bridge pad, a forehead pad, and a back pad that fits between the wearable system and the back of the user's head. (Item 39) Item 39. The method of item 38, wherein the wearable system comprises at least one replaceable nose bridge pad, and further comprises determining that a display of the head-mounted system is too low relative to the eye, and wherein providing the notification to the user comprises prompting the user to install a larger nose bridge pad. (Item 40) identifying a plurality of pixels of a display of the head mounted display system that are expected to be perceived as darkened by the user as a result of the first eye position being outside the display alignment volume; increasing the brightness of pixels of the display relative to other pixels in the display to mitigate the anticipated darkening; 29. The method of claim 28, further comprising:
[0062] Details of one or more implementations of the subject matter described herein are set forth in the accompanying drawings and the following description. Other features, aspects, and advantages will become apparent from the description, drawings, and claims. Neither this summary nor the following detailed description purport to define or limit the scope of the inventive subject matter. [Brief description of the drawings]
[0063] [Figure 1] FIG. 1 depicts an illustration of a mixed reality scenario involving a virtual reality object and a physical object viewed by a person.
[0064] [Diagram 2] FIG. 2 illustrates diagrammatically an embodiment of a wearable system.
[0065] [Diagram 3] FIG. 3 diagrammatically illustrates example components of a wearable system.
[0066] [Figure 4]FIG. 4 diagrammatically illustrates an example of a waveguide stack of a wearable device for outputting image information to a user.
[0067] [Diagram 5] FIG. 5 illustrates diagrammatically an embodiment of an eye.
[0068] [Figure 6] FIG. 6 is a schematic diagram of a wearable system including an eye tracking system.
[0069] [Figure 7A] FIG. 7A is a block diagram of a wearable system that may include an eye tracking system.
[0070] [Figure 7B] FIG. 7B is a block diagram of a rendering controller in a wearable system.
[0071] [Figure 7C] FIG. 7C is a block diagram of an alignment observer in a head mounted display system.
[0072] [Figure 8A] FIG. 8A is a schematic diagram of the eye showing the spherical cornea of the eye.
[0073] [Figure 8B] FIG. 8B illustrates an exemplary corneal phosphene detected by an eye tracking camera.
[0074] [Figure 8C] 8C-8E illustrate exemplary steps for locating a user's corneal center using an eye tracking module in a wearable system. [Figure 8D] 8C-8E illustrate exemplary steps for locating a user's corneal center using an eye tracking module in a wearable system. [Figure 8E]8C-8E illustrate exemplary steps for locating a user's corneal center using an eye tracking module in a wearable system.
[0075] [Figure 9A] 9A-9C illustrate an example normalization of the coordinate system of the eye tracking images. [Figure 9B] 9A-9C illustrate an example normalization of the coordinate system of the eye tracking images. [Figure 9C] 9A-9C illustrate an example normalization of the coordinate system of the eye tracking images.
[0076] [Figure 9D] 9D-9G illustrate exemplary steps for locating a user's pupil center using an eye tracking module in a wearable system. [Figure 9E] 9D-9G illustrate exemplary steps for locating a user's pupil center using an eye tracking module in a wearable system. [Figure 9F] 9D-9G illustrate exemplary steps for locating a user's pupil center using an eye tracking module in a wearable system. [Figure 9G] 9D-9G illustrate exemplary steps for locating a user's pupil center using an eye tracking module in a wearable system.
[0077] [Figure 10] FIG. 10 illustrates an example eye, including the optical and visual axes of the eye and the center of rotation of the eye.
[0078] [Figure 11] FIG. 11 is a process flow diagram of an example method for using eye tracking to provide feedback regarding alignment in a wearable device when rendering content.
[0079] [Figure 12A]12A and 12B illustrate the nominal positions of display elements relative to a user's eyes and illustrate a coordinate system for describing the positions of the display elements and the user's eyes relative to each other. [Figure 12B] 12A and 12B illustrate the nominal positions of display elements relative to a user's eyes and illustrate a coordinate system for describing the positions of the display elements and the user's eyes relative to each other.
[0080] [Figure 13A] 13A and 13B illustrate the nominal positioning and positioning tolerances of a display element relative to a user's eyes in a head mounted display system. [Figure 13B] 13A and 13B illustrate the nominal positioning and positioning tolerances of a display element relative to a user's eyes in a head mounted display system.
[0081] [Figure 13C] 13C and 13D illustrate the display alignment volume and a user's eyes viewing content from the display. [Figure 13D] 13C and 13D illustrate the display alignment volume and a user's eyes viewing content from the display.
[0082] [Figure 14] FIG. 14 illustrates an example of perceived display darkening for various positions of a user's eyes relative to the display.
[0083] [Figure 15A] 15A and 15B are exploded perspective views of a head mounted display system having replaceable parts such as back pads, forehead pads, and nose bridge pads for adjusting the fit of the head mounted display of the display system for different users. [Figure 15B]15A and 15B are exploded perspective views of a head mounted display system having replaceable parts such as back pads, forehead pads, and nose bridge pads for adjusting the fit of the head mounted display of the display system for different users.
[0084] [Figure 16] FIG. 16 is a process flow diagram of an embodiment of a method for observing alignment with a head mounted display system and providing feedback regarding the alignment.
[0085] [Figure 17A] 17A-17H illustrate diagrams of light fields projected by a display and how the intersection of the light fields can partially define the display registration volume. [Figure 17B] 17A-17H illustrate diagrams of light fields projected by a display and how the intersection of the light fields can partially define the display registration volume. [Figure 17C] 17A-17H illustrate diagrams of light fields projected by a display and how the intersection of the light fields can partially define the display registration volume. [Figure 17D] 17A-17H illustrate diagrams of light fields projected by a display and how the intersection of the light fields can partially define the display registration volume. [Figure 17E] 17A-17H illustrate diagrams of light fields projected by a display and how the intersection of the light fields can partially define the display registration volume. [Figure 17F] 17A-17H illustrate diagrams of light fields projected by a display and how the intersection of the light fields can partially define the display registration volume. [Figure 17G]17A-17H illustrate diagrams of light fields projected by a display and how the intersection of the light fields can partially define the display registration volume. [Figure 17H] 17A-17H illustrate diagrams of light fields projected by a display and how the intersection of the light fields can partially define the display registration volume.
[0086] [Figure 18] FIG. 18 illustrates a top-down view of the light field projected by a display and how the intersection of the light fields may partially define the display alignment volume.
[0087] [Figure 19A] FIG. 19A illustrates an alignment volume derived from the display housing of a head mounted display system.
[0088] [Figure 19B] FIG. 19B illustrates the overlapped registration volumes of the display housing and the display of a head mounted display system.
[0089] [Figure 19C] FIG. 19C illustrates an aggregate registration volume derived from the superimposed registration volumes of FIG. 19B.
[0090] Throughout the drawings, reference numbers may be reused to indicate correspondence between referenced elements. The drawings are provided to illustrate example embodiments described herein and are not intended to limit the scope of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0091] The display portion of the display system may include a head-mounted display (HMD) that may display three-dimensional (3D) virtual objects such that the objects appear to be located within the user's surrounding environment, such that the 3D virtual objects may be perceived by the user in a manner similar to real-world objects.
[0092] The HMD may display an image by outputting spatially modulated light to a user, the light corresponding to a virtual object. The spatially modulated light may contain image information, which may be referred to as image light. To be perceived by a user, the image light travels from the HMD to the user's eye, propagates through the pupil, and impinges on the retina of the eye. It should be understood that if all or a portion of the image light for an image does not enter the pupil of the eye and / or impinge on the retina of the eye, the viewer will not see the image, or the quality of the image may be degraded. As used herein, alignment refers to the relative positioning of a display and a user's eye. For example, a display may be said to be properly aligned when the user's eye and the display are positioned relative to one another for a desired amount of image light to enter the eye. An alignment observer (e.g., a computer program) within the display device may be programmed to monitor whether the display is properly aligned or the eye is positioned to receive image light from the display.
[0093] For example, to properly display content to a user by positioning the user's eyes to receive image light, the user's eyes may need to be located within a certain region or volume of space relative to the HMD. This volume may be referred to as the display alignment volume. If the user's eyes are outside the display alignment volume, display quality may be degraded (e.g., there may be darkening and / or displayed content that does not reach the user's eyes). Various factors may be combined to determine the position of the user's eyes relative to the HMD and therefore whether the user's eyes are located within the desired display alignment volume. As an example, anatomical variations between users may mean that a head mounted display fits some users such that their eyes are located outside the display alignment volume. As another example, the HMD may not be tightly attached to the user's head and may shift over time on the user's head, especially as the user moves around. As a particular example, the HMD may slip off the user's nose or tilt relative to the line between the user's eyes (interocular axis), such that the HMD may not be able to provide the desired virtual content (e.g., without some undesirable degradation) due to the shifting of the display relative to the user's eyes.
[0094] Various systems and techniques described herein are directed, at least in part, to solving problems associated with proper alignment of a display to allow a viewer to view image content as desired. In some embodiments, a head mounted display system may be configured to determine a position of a user's eye. The display system may then determine whether the eye position is within a display alignment volume of the head mounted display system. Determining the eye position may include determining a position of a representative pointer volume associated with the eye, e.g., a center of rotation of the eye. Determining whether the eye position is within the display alignment volume may include determining whether the center of rotation of the eye is within the display alignment volume. As discussed herein, the center of rotation of the eye may be determined using an inward-facing imaging system configured to image the eye. Additionally, in some embodiments, the display alignment volume is an imaginary volume associated with a proper fit of the head mounted display system to the user's eye. For example, the display alignment volume may be a volume defined by a projection from a surface of the head mounted display system that outputs image light. More specifically, the display alignment volume may be a three-dimensional geometric shape that tapers from the base to the apex. The shape of the base of the display alignment volume may be defined, at least in part, by the geometry of the display, and the depth of the display alignment volume (i.e., the distance from the base to the apex on the z-axis) may be defined, at least in part, by the field of view (FOV) of the display. For example, a rounded or circular display (e.g., the shape of the area on a surface from which image light is output to a viewer) may result in a cone-shaped display alignment volume, and a polygonal display may result in a pyramidal display alignment volume. As an additional example, a display with a larger FOV may result in a display alignment volume that has a smaller depth than a display with a smaller FOV.In some embodiments, the display alignment volume may have the general shape of a truncated cone or pyramid. For example, the display alignment volume may have the general shape of a frustum, e.g., a frustum of a pyramid, such as a rectangular pyramid.
[0095] In some embodiments, an inward-facing imaging system of the head mounted display system may obtain images of the user's face, including its eyes. The inward-facing imaging system may be an eye-tracking system that may be mounted on the frame of the head mounted display. The head mounted display system may analyze the images and determine the relative positions of the user's eyes and the HMD and whether the respective positions of the user's eyes are within the display alignment volume for that eye. Based on this information, the head mounted display system may notify the user to adjust the fit of the HMD. For example, the notification may inform the user that the device is slipping and needs adjustment, or a suggestion to make an adjustment to the HMD. In at least some embodiments, the head mounted display system may take steps to mitigate any display degradation caused by misalignment of the HMD with the user, such as by increasing the brightness or light output to the user in areas that would otherwise be obscured by misaligned or moving virtual content. Thus, such embodiments of the HMD may help the user to properly fit the HMD and mitigate problems caused by improper fit of the HMD, such as when the HMD slips, moves, or tilts relative to the user's head. It should be appreciated that in some embodiments, the display system may be configured to notify the user of the misalignment and take steps to mitigate the display degradation caused by the misalignment. In some other embodiments, the display system may not provide a notification to the user. Rather, the notification may simply be an instruction or flag in the display system that triggers the display system to take action to mitigate the image degradation caused by the misalignment.
[0096] Advantageously, the alignment analysis may be performed automatically, utilizing images obtained from the inward-facing imaging system and information about the display alignment volume stored or accessible by the display system, so that the fit of the HMD may be corrected initially upon use of the HMD, optionally, and during the course of continued use of the HMD, ensuring a high level of image quality in use of the head mounted display system.
[0097] Thus, various implementations of systems and methods for observing alignment of a head mounted display system and taking action in response to the observed alignment are provided herein. (Example of a 3D display for a wearable system)
[0098] Reference is now made to the drawings in which like reference numbers refer to like parts throughout, and in which, unless otherwise indicated, the drawings are schematic and are not necessarily drawn to scale.
[0099] The wearable system (also referred to herein as a head mounted display system or an augmented reality (AR) system) may be configured to present 2D or 3D virtual images to a user. The images may be still images, frames of video, or videos, in combination or the like. At least a portion of the wearable system may be implemented on a wearable device, which may present a VR, AR, or MR environment, either alone or in combination, for user interaction. A wearable device may be used synonymously with an AR device (ARD). Additionally, for purposes of this disclosure, the term "AR" is used synonymously with the term "MR."
[0100] Figure 1 depicts an illustration of a mixed reality scenario with certain virtual reality objects and certain physical objects viewed by a person. In Figure 1, an MR scene 100 is depicted in which a user of the MR technology sees a real-world park-like setting 110 featuring people, trees, buildings in the background, and a concrete platform 120. In addition to these items, the user of the MR technology also perceives that they "see" a robotic figure 130 standing on the real-world platform 120, and a flying cartoon-like avatar character 140 that appears to be an anthropomorphic bumblebee, although these elements do not exist in the real world.
[0101] In order for a 3D display to produce a true depth sensation, and more specifically, a simulated sensation of surface depth, it may be desirable to generate, for each point in the display's field of view, an accommodation response that corresponds to that point's virtual depth. If the accommodation response to a display point does not correspond to that point's virtual depth as determined by the binocular depth cues of convergence and stereopsis, the human eye may experience accommodation conflicts, resulting in unstable imaging, deleterious eye strain, headaches, and, in the absence of accommodative information, a near-complete lack of surface depth.
[0102] VR, AR, and MR experiences may be provided by a display system having a display in which images corresponding to multiple depth planes are provided to a viewer. The images may be different for each depth plane (e.g., providing slightly different presentations of a scene or object) and may be focused separately by the viewer's eyes, thereby serving to provide depth cues to the user based on ocular accommodation required to focus on different image features of a scene located on different depth planes, or based on observing different image features on different depth planes that are out of focus. As discussed elsewhere herein, such depth cues provide a believable perception of depth.
[0103] FIG. 2 illustrates an example of a wearable system 200, which may be configured to provide an AR / VR / MR scene. The wearable system 200 may also be referred to as an AR system 200. The wearable system 200 includes a display 220 and various mechanical and electronic modules and systems to support the functionality of the display 220. The display 220 may be coupled to a frame 230, which is wearable by a user, wearer, or viewer 210. The display 220 may be positioned in front of the eyes of the user 210. The display 220 may present AR / VR / MR content to the user. The display 220 may be configured to be worn on the head of the user 210 and thus may also be referred to as a head-mounted display (HMD), and the wearable system 200, including the display 220, may also be referred to as a head-mounted display system.
[0104] In some embodiments, a speaker 240 is coupled to the frame 230 and positioned adjacent the user's ear canal (in some embodiments, another speaker, not shown, is positioned adjacent the user's other ear canal to provide stereo / shapeable sound control). The display 220 may include an audio sensor (e.g., a microphone) 232 to detect audio streams from the environment and capture ambient sounds. In some embodiments, one or more other audio sensors, not shown, are positioned to provide stereo sound reception. Stereo sound reception may be used to determine the location of a sound source. The wearable system 200 may perform voice or speech recognition on the audio stream.
[0105] The wearable system 200 may include an outwardly facing imaging system 464 (shown in FIG. 4 ) that observes the world in the user's surrounding environment. The wearable system 200 may also include an inwardly facing imaging system 462 (shown in FIG. 4 ) that may track the user's eye movements. The inwardly facing imaging system may track either one eye's movements or both eyes' movements. The inwardly facing imaging system 462 may be mounted to the frame 230 and may be in electrical communication with the processing module 260 or 270 that may process image information obtained by the inwardly facing imaging system and determine, for example, the pupil diameter or orientation of the user's 210 eyes, eye movements, or eye posture. The inwardly facing imaging system 462 may include one or more cameras. For example, at least one camera may be used to image each eye. Images obtained by the cameras may be used to determine pupil size or eye posture for each eye separately, thereby allowing the presentation of image information to each eye to be dynamically adjusted for that eye.
[0106] As an example, the wearable system 200 may obtain an image of the user's posture using the outwardly facing imaging system 464 or the inwardly facing imaging system 462. The image may be a still image, a frame of a video, or a video.
[0107] The display 220 may be operably coupled (250) to a local data processing module 260, which may be mounted in a variety of configurations, such as fixedly attached to the frame 230, by wired leads or a wireless connection, fixedly attached to a helmet or hat worn by the user, built into headphones, or otherwise removably attached to the user 210 (e.g., in a backpack configuration, in a belt-attached configuration).
[0108] The local processing and data module 260 may comprise a hardware processor and digital memory such as non-volatile memory (e.g., flash memory), both of which may be utilized to aid in processing, caching, and storing data. The data may include a) data captured from sensors (e.g., that may be operatively coupled to the frame 230 or otherwise attached to the user 210), such as image capture devices (e.g., cameras in the inwardly facing and / or outwardly facing imaging systems), audio sensors (e.g., microphones), inertial measurement units (IMUs), accelerometers, compasses, global positioning system (GPS) units, wireless devices, or gyroscopes, or b) data obtained or processed using the remote processing module 270 or remote data repository 280, possibly for passing to the display 220 after processing or retrieval. The local processing and data module 260 may be operatively coupled to a remote processing module 270 or a remote data repository 280 by a communications link 262 or 264, such as via a wired or wireless communication link, such that these remote modules are available as resources to the local processing and data module 260. In addition, the remote processing module 280 and the remote data repository 280 may be operatively coupled to each other.
[0109] In some embodiments, the remote processing module 270 may comprise one or more processors configured to analyze and process the data or image information. In some embodiments, the remote data repository 280 may comprise a digital data storage facility, which may be available through the Internet or other networking configurations in a "cloud" resource configuration. In some embodiments, all data is stored and all calculations are performed in the local processing and data module, allowing for fully autonomous use from the remote module. Example Components of a Wearable System
[0110] FIG. 3 diagrammatically illustrates example components of a wearable system. FIG. 3 illustrates a wearable system 200, which may include a display 220 and a frame 230. A blowup 202 diagrammatically illustrates various components of the wearable system 200. In some implementations, one or more of the components illustrated in FIG. 3 may be part of the display 220. The various components, alone or in combination, may collect various data associated with a user of the wearable system 200 or the user's environment (e.g., auditory or visual data, etc.). It should be understood that other embodiments may have additional or fewer components depending on the application for which the wearable system is used. However, FIG. 3 provides a basic idea of some of the various components and the types of data that may be collected, analyzed, and stored through the wearable system.
[0111] FIG. 3 illustrates an exemplary wearable system 200, which may include a display 220. The display 220 may include a display lens 226 that may be mounted to a user's head or a housing or frame 230 corresponding to the frame 230. The display lens 226 may include one or more transparent mirrors positioned in front of the user's eyes 302, 304 by the housing 230, and may be configured to bounce the projected light 338 into the eyes 302, 304 and facilitate beam shaping while also allowing transmission of at least some light from the local environment. The wavefront of the projected light beam 338 may be bent or focused to match a desired focal length of the projected light. As illustrated, two wide-field machine vision cameras 316 (also referred to as world cameras) may be coupled to the housing 230 to image the environment around the user. These cameras 316 may be dual capture visible / non-visible (e.g., infrared) light cameras. The camera 316 may be part of the outward-facing imaging system 464 shown in Figure 4. Images acquired by the world camera 316 may be processed by the pose processor 336. For example, the pose processor 336 may implement one or more object recognizers 708 (e.g., shown in Figure 7) to identify a pose of the user or another person in the user's environment, or to identify physical objects in the user's environment.
[0112] Continuing with reference to FIG. 3, a pair of light projector modules (e.g., a scanned laser shaped wavefront (e.g., for depth) light projector module) with display mirrors and optics configured to project light 338 into the eyes 302, 304 is shown. The depicted diagram also shows two miniature infrared cameras 324 paired with infrared light sources 326 (such as light emitting diodes "LEDs") configured to track the user's eyes 302, 304 and support rendering and user input. The cameras 324 may be part of an inwardly facing imaging system 462 shown in FIG. 4. The wearable system 200 may further feature a sensor assembly 339, which may include X, Y, and Z axis accelerometer capabilities and magnetic compass and X, Y, and Z axis gyroscope capabilities, and may preferably provide data at a relatively high frequency, such as 200 Hz. The sensor assembly 339 may be part of an IMU, as described with reference to FIG. 2A. The depicted system 200 may also include a head pose processor 336, such as an ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), or ARM processor (Advanced Reduced Instruction Set Machine), which may be configured to calculate real-time or near real-time user head pose from the wide FOV image information output from the capture device 316. The head pose processor 336 may be a hardware processor and may be implemented as part of the local processing and data module 260 shown in FIG. 2A.
[0113] The wearable system may also include one or more depth sensors 234. The depth sensors 234 may be configured to measure the distance between objects in the environment and the wearable device. The depth sensors 234 may include a laser scanner (e.g., LIDAR), an ultrasonic depth sensor, or a depth-sensing camera. In some implementations where the camera 316 has depth-sensing capabilities, the camera 316 may also be considered a depth sensor 234.
[0114] Also shown is a processor 332 configured to perform digital or analog processing and derive attitude from gyroscope, compass, or accelerometer data from the sensor assembly 339. The processor 332 may be part of a local processing and data module 260, shown in FIG. 2. The wearable system 200 may also include a positioning system, such as, for example, a GPS 337 (Global Positioning System), as shown in FIG. 3, to aid in the attitude and positioning analysis. In addition, the GPS may further provide remote-based (e.g., cloud-based) information about the user's environment. This information may be used to recognize objects or information within the user's environment.
[0115] The wearable system may combine data obtained by the GPS 337 and a remote computing system (e.g., the remote processing module 270, another user's ARD, etc.), which may provide more information about the user's environment. As an example, the wearable system may determine the user's location based on the GPS data and retrieve a world map (e.g., by communicating with the remote processing module 270) that includes virtual objects associated with the user's location. As another example, the wearable system 200 may monitor the environment using a world camera 316 (which may be part of the outward-facing imaging system 464 shown in FIG. 4). Based on the images obtained by the world camera 316, the wearable system 200 may detect objects in the environment (e.g., by using one or more object recognizers 708 shown in FIG. 7). The wearable system may further interpret characters using data obtained by the GPS 337.
[0116] The wearable system 200 may also include a rendering engine 334, which may be configured to provide local rendering information to the user for the user's view of the world and facilitate operation of the scanner and imaging into the user's eye. The rendering engine 334 may be implemented by a hardware processor (e.g., a central processing unit or a graphics processing unit, etc.). In some embodiments, the rendering engine is part of the local processing and data module 260. The rendering engine 334 may be communicatively coupled (e.g., via wired or wireless links) to other components of the wearable system 200. For example, the rendering engine 334 may be coupled to the eye camera 324 via communication link 274 and to the projection subsystem 318 (which may project light into the user's eyes 302, 304 via a scanning laser array in a manner similar to a retinal scanning display) via communication link 272. The rendering engine 334 may also communicate with other processing units, such as, for example, the sensor pose processor 332 and the image pose processor 336, via links 276 and 294, respectively.
[0117] A camera 324 (e.g., a small infrared camera) may be utilized to track eye pose and support rendering and user input. Some example eye poses may include where the user is looking or the depth at which they are focused (which may be estimated using eye vergence). A GPS 337, gyroscope, compass, and accelerometer 339 may be utilized to provide a rough or fast pose estimate. One or more of the cameras 316 may obtain images and poses, which, together with data from associated cloud computing resources, may be utilized to map the local environment and share the user view with others.
[0118] The exemplary components depicted in FIG. 3 are for illustrative purposes only. Multiple sensors and other functional modules are shown together for ease of illustration and description. Some embodiments may include only one or a subset of these sensors or modules. Furthermore, the locations of these components are not limited to the locations depicted in FIG. 3. Some components may be mounted or stored within other components, such as belt-mounted components, handheld components, or helmet components. As an example, the image pose processor 336, the sensor pose processor 332, and the rendering engine 334 may be located within a beltpack and configured to communicate with other components of the wearable system via wireless communication, such as ultra-wideband, Wi-Fi, Bluetooth, or via wired communication. The depicted housing 230 is preferably head-mountable and wearable by a user. However, some components of the wearable system 200 may be worn on other parts of the user's body. For example, the speaker 240 may be inserted into the user's ear to provide sound to the user.
[0119] With regard to projecting light 338 into the user's eyes 302, 304, in some embodiments, the camera 324 may be utilized to measure where the center of the user's eyes geometrically converges, which generally coincides with the position of the eye's focus or "depth of focus." The three-dimensional surface of all points at which the eyes converge may be referred to as the "monocular locus." The focal length may take on a finite number of depths or may vary infinitely. Light projected from the convergence distance appears focused on the subject's eyes 302, 304, while light in front of or behind the convergence distance is blurred. Examples of wearable systems and other display systems of the present disclosure are also described in U.S. Patent Publication No. 2016 / 0270656, which is incorporated herein by reference in its entirety.
[0120] The human visual system is complex and providing a realistic perception of depth is difficult. A viewer of an object may perceive the object as three-dimensional due to a combination of vergence-divergence movements and accommodation. Vergence-divergence movements of the two eyes relative to one another (e.g., pupil rotation such that the pupils move toward or away from one another, converging the gaze of the eyes to fixate on an object) are closely linked to the focusing (or "accommodation") of the eye's lenses. Under normal conditions, a change in focus of the eye's lenses or accommodation of the eye to change focus from one object to another at a different distance will automatically produce a matching change in vergence-divergence at the same distance, a relationship known as the "accommodation-vergence-divergence reflex." Similarly, a change in vergence will induce a matching change in accommodation under normal conditions. A display system that provides better matching between accommodation and vergence-divergence may produce a more realistic and comfortable simulation of a three-dimensional image.
[0121] Furthermore, spatially coherent light with a beam diameter of less than about 0.7 millimeters can be correctly resolved by the human eye regardless of where the eye is focused. Thus, to create the illusion of proper depth of focus, eye vergence and divergence may be tracked using the camera 324, and the rendering engine 334 and projection subsystem 318 may be utilized to render all objects on or near the monocular locus in focus and all other objects variable degrees out of focus (e.g., using intentionally created blur). Preferably, the system 220 renders to the user at a frame rate of about 60 frames per second or greater. As explained above, preferably the camera 324 may be utilized for eye tracking, and software may be configured to take not only vergence and divergence geometry, but also focus location cues to serve as user input. Preferably, such a display system is configured with a suitable brightness and contrast for daytime or nighttime use.
[0122] In some embodiments, the display system preferably has a latency of less than about 20 milliseconds for visual object alignment, an angular alignment of less than about 0.1 degrees, and a resolution of about 1 arc minute, which is believed to be approximately the limit of the human eye, without being limited by theory. The display system 220 may be integrated with a localization system, which may involve a GPS element, optical tracking, a compass, an accelerometer, or other data sources to aid in position and attitude determination. The localization information may be utilized to facilitate accurate rendering within the user's view of the relevant world (e.g., such information would facilitate the glasses knowing their location relative to the real world).
[0123] In some embodiments, the wearable system 200 is configured to display one or more virtual images based on the accommodation of the user's eyes. Unlike traditional 3D display approaches that force the user to focus where the image is projected, in some embodiments, the wearable system is configured to automatically vary the focus of the projected virtual content to allow for more comfortable viewing of one or more images presented to the user. For example, if the user's eyes have a current focus of 1m, the image may be projected to match the user's focus. If the user shifts the focus to 3m, the image is projected to match the new focus. Thus, rather than forcing a predetermined focus on the user, the wearable system 200 of some embodiments allows the user's eyes to function in a more natural manner.
[0124] Such a wearable system 200 may eliminate or reduce the incidence of eye strain, headaches, and other physiological symptoms typically observed with virtual reality devices. To accomplish this, various embodiments of the wearable system 200 are configured to project virtual images at variable focal distances through one or more variable focus elements (VFEs). In one or more embodiments, 3D perception may be achieved through a multi-planar focus system that projects images onto a fixed focal plane from the user. Other embodiments employ a variable planar focus, where the focal plane is moved back and forth in the z-direction to match the user's current state of focus.
[0125] In both the multi-plane focus system and the variable plane focus system, the wearable system 200 may employ eye tracking to determine the vergence-divergence movement of the user's eyes, determine the user's current focus, and project the virtual image at the determined focus. In other embodiments, the wearable system 200 includes a light modulator that variably projects a variably focused light beam in a raster pattern across the retina through a fiber scanner or other light generating source. Thus, the wearable system 200 display's ability to project images at variable focal distances not only facilitates accommodation for the user to view objects in 3D, but may also be used to compensate for the user's ocular anomalies, as further described in U.S. Patent Publication No. 2016 / 0270656, which is incorporated herein by reference in its entirety. In some other embodiments, the spatial light modulator may project the image to the user through various optical components. For example, as further described below, the spatial light modulator may project the image onto one or more waveguides, which then transmit the image to the user. Waveguide Stack Assembly
[0126] FIG. 4 illustrates an example of a waveguide stack for outputting image information to a user. The wearable system 400 includes a stack of waveguides or a stacked waveguide assembly 480 that can be utilized to provide a three-dimensional perception to the eye / brain using multiple waveguides 432b, 434b, 436b, 438b, 4400b. In some embodiments, the wearable system 400 may correspond to the wearable system 200 of FIG. 2, of which FIG. 4A illustrates in more detail and schematic form some portions. For example, in some embodiments, the waveguide assembly 480 may be integrated into the display 220 of FIG. 2.
[0127] 4, the waveguide assembly 480 may also include a number of features 458, 456, 454, 452 between the waveguides. In some embodiments, the features 458, 456, 454, 452 may be lenses. In other embodiments, the features 458, 456, 454, 452 may not be lenses. Rather, they may simply be spacers (e.g., cladding layers or structures to form air gaps).
[0128] The waveguides 432b, 434b, 436b, 438b, 440b or multiple lenses 458, 456, 454, 452 may be configured to transmit image information to the eye with various levels of wavefront curvature or light beam divergence. Each waveguide level may be associated with a particular depth plane and configured to output image information corresponding to that depth plane. Image injection devices 420, 422, 424, 426, 428 may be utilized to inject image information into the waveguides 440b, 438b, 436b, 434b, 432b, respectively, which may be configured to disperse incident light across each individual waveguide for output toward the eye 410. Light exits output surfaces of image launch devices 420, 422, 424, 426, 428 and is launched into corresponding input edges of waveguides 440b, 438b, 436b, 434b, 432b. In some embodiments, a single beam of light (e.g., a collimated beam) may be launched into each waveguide to output an entire field of cloned collimated beams that are directed towards the eye 410 at a particular angle (and divergence) corresponding to the depth plane associated with the particular waveguide.
[0129] In some embodiments, the image input devices 420, 422, 424, 426, 428 are discrete displays that generate image information for input into each of the corresponding waveguides 440b, 438b, 436b, 434b, 432b, respectively. In some other embodiments, the image input devices 420, 422, 424, 426, 428 are outputs of a single multiplexed display that may, for example, send image information to each of the image input devices 420, 422, 424, 426, 428 via one or more optical conduits (such as fiber optic cables).
[0130] A controller 460 controls the operation of the stacked waveguide assembly 480 and the image input devices 420, 422, 424, 426, 428. The controller 460 includes programming (e.g., instructions in a non-transitory computer-readable medium) that coordinates the timing and provision of image information to the waveguides 440b, 438b, 436b, 434b, 432b. In some embodiments, the controller 460 may be a single integrated device or a distributed system connected by a wired or wireless communication channel. The controller 460 may be part of the processing module 260 or 270 (illustrated in FIG. 2) in some embodiments.
[0131] The waveguides 440b, 438b, 436b, 434b, 432b may be configured to propagate light within each individual waveguide by total internal reflection (TIR). The waveguides 440b, 438b, 436b, 434b, 432b may each be planar or have another shape (e.g., curved) with major top and bottom surfaces and edges extending between the major top and bottom surfaces. In the illustrated configuration, the waveguides 440b, 438b, 436b, 434b, 432b may each include a light extraction optical element 440a, 438a, 436a, 434a, 432a configured to extract light from the waveguide by redirecting the light and propagating it within each individual waveguide and outputting image information from the waveguide to the eye 410. The extracted light may also be referred to as out-coupled light, and the light extraction optical element may also be referred to as out-coupling optical element. The extracted light beam is output by the waveguide where the light propagating in the waveguide strikes the light redirecting element. The light extraction optical element (440a, 438a, 436a, 434a, 432a) may be, for example, a reflective or diffractive optical feature. Although shown disposed on the bottom major surface of the waveguides 440b, 438b, 436b, 434b, 432b for ease of explanation and clarity of drawing, in some embodiments the light extraction optical element 440a, 438a, 436a, 434a, 432a may be disposed on the top or bottom major surface, or may be disposed directly within the volume of the waveguides 440b, 438b, 436b, 434b, 432b. In some embodiments, the light extraction optical elements 440a, 438a, 436a, 434a, 432a may be formed in a layer of material that is attached to a transparent substrate and forms the waveguides 440b, 438b, 436b, 434b, 432b. In some other embodiments, the waveguides 440b, 438b, 436b, 434b, 432b may be monolithic pieces of material and the light extraction optical elements 440a, 438a, 436a, 434a, 432a may be formed on and / or within the material pieces.
[0132] Continuing with reference to FIG. 4, as discussed herein, each waveguide 440b, 438b, 436b, 434b, 432b is configured to output light and form an image corresponding to a particular depth plane. For example, the waveguide 432b closest to the eye may be configured to deliver collimated light to the eye 410 as it is launched into such waveguide 432b. The collimated light may represent an optical infinity focal plane. The next upper waveguide 434b may be configured to send collimated light that passes through a first lens 452 (e.g., a negative lens) before it can reach the eye 410. The first lens 452 may be configured to generate a slight convex wavefront curvature so that the eye / brain interprets the light originating from the next upper waveguide 434b as originating from a first focal plane closer inward from optical infinity toward the eye 410. Similarly, the third upper waveguide 436b passes its output light through both the first lens 452 and the second lens 454 before reaching the eye 410. The combined refractive power of the first and second lenses 452 and 454 may be configured to produce another incremental amount of wavefront curvature such that the eye / brain interprets the light originating from the third waveguide 436b as originating from a second focal plane that is closer inward toward the person from optical infinity, which was the light from the next upper waveguide 434b.
[0133] The other waveguide layers (e.g., waveguides 438b, 440b) and lenses (e.g., lenses 456, 458) are similarly configured, with the highest waveguide 440b in the stack being used to send its output through all of the lenses between it and the eye for an aggregate focal power representing the focal plane closest to the person. To compensate for the stack of lenses 458, 456, 454, 452 when viewing / interpreting light originating from the world 470 on the other side of the stacked waveguide assembly 480, a compensating lens layer 430 may be placed on top of the stack to compensate for the aggregate power of the lens stacks 458, 456, 454, 452 below. (The compensation lens layer 430 and stacked waveguide assembly 480 may be configured collectively such that light originating from the world 470 is transmitted to the eye 410 with substantially the same level of divergence (or collimation) that the light had when originally received by the stacked waveguide assembly 480.) Such a configuration provides as many perceived focal planes as there are available waveguide / lens pairs. Both the light extraction optical elements of the waveguide and the focusing sides of the lenses may be static (e.g., not dynamic or electro-active). In some alternative embodiments, one or both may be dynamic using electro-active features.
[0134] Continuing with reference to FIG. 4, the light extraction optical elements 440a, 438a, 436a, 434a, 432a may be configured to redirect light from its respective waveguide and output the light with an appropriate amount of divergence or collimation for a particular depth plane associated with the waveguide. As a result, waveguides with different associated depth planes may have different configurations of light extraction optical elements that output light with different amounts of divergence depending on the associated depth plane. In some embodiments, as discussed herein, the light extraction optical elements 440a, 438a, 436a, 434a, 432a may be solid or surface features that may be configured to output light at a specific angle. For example, the light extraction optical elements 440a, 438a, 436a, 434a, 432a may be volume holograms, surface holograms, and / or diffraction gratings. Light extraction optical elements such as diffraction gratings are described in U.S. Patent Publication No. 2015 / 0178939, published June 25, 2015, which is incorporated by reference in its entirety.
[0135] In some embodiments, the light extraction optical elements 440a, 438a, 436a, 434a, 432a are diffractive features or "diffractive optical elements" (also referred to herein as "DOEs") that form a diffraction pattern. Preferably, the DOEs have a relatively low diffraction efficiency so that only a portion of the light in the beam is deflected toward the eye 410 at each intersection of the DOE, while the remainder continues traveling through the waveguide via total internal reflection. The light carrying the image information is thus split into several related exit beams that exit the waveguide at multiple locations, which can result in a very uniform pattern of exit emission toward the eye 304 for this particular collimated beam bouncing within the waveguide.
[0136] In some embodiments, one or more DOEs may be switchable between an "on" state in which they actively diffract and an "off" state in which they do not significantly diffract. For example, a switchable DOE may comprise a layer of polymer dispersed liquid crystal in which microdroplets comprise a diffractive pattern in a host medium, and the refractive index of the microdroplets may be switched to substantially match the refractive index of the host material (in which case the pattern does not significantly diffract incident light), or the microdroplets may be switched to a refractive index that does not match that of the host medium (in which case the pattern actively diffracts incident light).
[0137] In some embodiments, the number and distribution of depth planes or depths of field may be dynamically varied based on the size or orientation of the pupil of the viewer's eye. The depth of field may vary inversely with the size of the viewer's pupil. As a result, as the size of the viewer's eye pupil decreases, the depth of field increases so that one plane that is indistinguishable because its location exceeds the focal depth of the eye may become distinguishable and appear more focused with a reduction in pupil size and a corresponding increase in depth of field. Similarly, the number of spaced depth planes used to present different images to the viewer may be reduced with a reduced pupil size. For example, the viewer may not be able to clearly perceive the details of both the first and second depth planes at one pupil size without adjusting the accommodation of the eye from one depth plane to the other. However, these two depth planes may be sufficient to simultaneously focus the user at another pupil size without changing accommodation.
[0138] In some embodiments, the display system may vary the number of waveguides that receive image information based on a determination of pupil size or orientation, or in response to receiving an electrical signal indicative of a particular pupil size or orientation. For example, if the user's eye is unable to distinguish between two depth planes associated with two waveguides, the controller 460 (which may be an embodiment of the local processing and data module 260) may be configured or programmed to stop providing image information to one of those waveguides. Advantageously, this may reduce the processing burden on the system, thereby increasing the responsiveness of the system. In embodiments in which the DOE for a waveguide is switchable between on and off states, the DOE may be switched to the off state when the waveguide receives image information.
[0139] In some embodiments, it may be desirable to have the exit beam meet the condition of having a diameter less than the diameter of the viewer's eye. However, meeting this condition may be difficult in light of the variability in the size of the viewer's pupil. In some embodiments, this condition is met over a wide range of pupil sizes by varying the size of the exit beam in response to a determination of the size of the viewer's pupil. For example, as the pupil size decreases, the size of the exit beam may also decrease. In some embodiments, the exit beam size may be varied using a variable aperture.
[0140] The wearable system 400 may include an outwardly facing imaging system 464 (e.g., a digital camera) that images a portion of the world 470. This portion of the world 470 may be referred to as the field of view (FOV) of the world camera, and the imaging system 464 is sometimes also referred to as the FOV camera. The world camera FOV may or may not be the same as the viewer 210 FOV, which encompasses the portion of the world 470 that the viewer 210 perceives at a given time. For example, in some situations, the world camera FOV may be larger than the viewer 210's field of view of the wearable system 400. The entire area available for viewing or imaging by the viewer may be referred to as the ocular field of view (FOR). The FOR may include a solid angle of 4π steradians surrounding the wearable system 400, since the wearer may move their body, head, or eyes and perceive virtually any direction in space. In other contexts, the wearer's movements may be more constrained and the wearer's FOR may correspondingly subtend a smaller solid angle. Images obtained from the outward-facing imaging system 464 may be used to track gestures (e.g., hand or finger gestures) made by the user, detect objects in the world 470 in front of the user, etc.
[0141] The wearable system 400 may include an audio sensor 232, e.g., a microphone, to capture ambient sound. As described above, in some embodiments, one or more other audio sensors may be positioned to provide stereo sound reception useful in determining the location of the speech source. The audio sensor 232 may comprise, as another example, a directional microphone, which may also provide such useful directional information regarding where the audio source is located. The wearable system 400 may use information from both the outwardly facing imaging system 464 and the audio sensor 230 in locating the speech source or to determine the active speaker at a particular moment, etc. For example, the wearable system 400 may use voice recognition, alone or in combination with a reflected image of the speaker (e.g., as seen in a mirror), to determine the identity of the speaker. As another example, the wearable system 400 may determine the location of the speaker in the environment based on sounds obtained from a directional microphone. The wearable system 400 may use speech recognition algorithms to analyze sounds originating from the speaker's location, determine the content of the speech, and use voice recognition techniques to determine the speaker's identity (e.g., name or other demographic information).
[0142] The wearable system 400 may also include an inwardly facing imaging system 466 (e.g., a digital camera) that observes user movements such as eye and face movements. The inwardly facing imaging system 466 may be used to capture images of the eye 410 and determine the size and / or orientation of the pupil of the eye 304. The inwardly facing imaging system 466 may be used to obtain images for use in determining the direction the user is looking (e.g., eye pose) or for biometric identification of the user (e.g., via iris identification). In some embodiments, at least one camera may be utilized for each eye independently to separately determine the pupil size or eye pose of each eye, thereby allowing the presentation of image information to each eye to be dynamically adjusted for that eye. In some other embodiments, the pupil diameter or orientation of only a single eye 410 (e.g., using only a single camera per pair of eyes) is determined and assumed to be similar for both eyes of the user. Images obtained by inward-facing imaging system 466 may be analyzed to determine the user's eye posture or mood, which may be used by wearable system 400 to determine audio or visual content to be presented to the user. Wearable system 400 may also determine head pose (e.g., head position or head orientation) using sensors such as an IMU, accelerometer, gyroscope, etc.
[0143] The wearable system 400 may include a user input device 466 through which a user may input commands into the controller 460 and interact with the wearable system 400. For example, the user input device 466 may include a trackpad, a touch screen, a joystick, a multi-degree-of-freedom (DOF) controller, a capacitive sensing device, a game controller, a keyboard, a mouse, a directional pad (D-pad), a wand, a tactile device, a totem (e.g., serving as a virtual user input device), and the like. A multi-DOF controller may sense user input in possible translation (e.g., left / right, forward / backward, or up / down) or rotation (e.g., yaw, pitch, or roll) of some or all of the controller. A multi-DOF controller that supports translation may be referred to as 3DOF, while a multi-DOF controller that supports translation and rotation may be referred to as 6DOF. In some cases, a user may use a finger (e.g., thumb) to press or swipe on the touch-sensitive input device to provide input to the wearable system 400 (e.g., to provide user input to a user interface provided by the wearable system 400). The user input device 466 may be held by the user's hand during use of the wearable system 400. The user input device 466 may communicate with the wearable system 400 in wired or wireless communication. Other Components of a Wearable System
[0144] In many implementations, the wearable system may include other components in addition to or as an alternative to the components of the wearable system described above. The wearable system may include, for example, one or more tactile devices or components. The tactile devices or components may be operable to provide a haptic sensation to the user. For example, the tactile device or component may provide a haptic sensation of pressure or texture upon touching the virtual content (e.g., a virtual object, virtual tool, other virtual structure). The haptics may replicate the sensation of a physical object that the virtual object represents, or may replicate the sensation of an imaginary object or character (e.g., a dragon) that the virtual content represents. In some implementations, the tactile device or component may be worn by the user (e.g., a user-wearable glove). In some implementations, the tactile device or component may be held by the user.
[0145] A wearable system may include one or more physical objects that can be manipulated by, for example, a user to allow input to or interaction with the wearable system. These physical objects may be referred to herein as totems. Some totems may take the form of inanimate objects, such as, for example, pieces of metal or plastic, walls, the surface of a table, etc. In some implementations, a totem may not actually have any physical input structures (e.g., keys, triggers, joysticks, trackballs, rocker switches). Instead, a totem may simply provide a physical surface, and the wearable system may render a user interface to appear to the user as being on one or more surfaces of the totem. For example, the wearable system may render an image of a computer keyboard and trackpad to appear to reside on one or more surfaces of the totem. For example, the wearable system may render a virtual computer keyboard and virtual trackpad to appear on the surface of a thin rectangular plate of aluminum that serves as the totem. The rectangular plate itself does not have any physical keys or trackpads or sensors. However, the wearable system may detect user manipulation or interaction or touch with the rectangular plate as a selection or input made via a virtual keyboard or virtual trackpad. User input device 466 (shown in FIG. 4) may be an embodiment of the totem, which may include a trackpad, touchpad, trigger, joystick, trackball, rocker or virtual switch, mouse, keyboard, multi-degree-of-freedom controller, or another physical input device. A user may use the totem alone or in combination with posture to interact with the wearable system or other users.
[0146] Examples of tactile devices and totems usable with the wearable devices, HMDs, and display systems of the present disclosure are described in U.S. Patent Publication No. 2015 / 0016777, which is incorporated by reference in its entirety. Example of eye image
[0147] FIG. 5 illustrates an image of an eye 500 with eyelids 504, sclera 508 ("white of the eye"), iris 512, and pupil 516. Curve 516a indicates the pupillary boundary between pupil 516 and iris 512, and curve 512a indicates the peripheral boundary between iris 512 and sclera 508. Eyelids 504 include upper eyelid 504a and lower eyelid 504b. Eye 500 is illustrated in a natural resting position (e.g., oriented such that both the user's face and gaze would be directed toward a far-distance object directly in front of the user). The natural resting position of eye 500 may be represented by a natural resting direction 520, which is a direction perpendicular to the surface of eye 500 when in a natural resting position (e.g., immediately out of plane for eye 500 shown in FIG. 5) and, in this example, centered within pupil 516.
[0148] As the eye 500 moves to look towards different objects, the eye pose will change with respect to the natural resting direction 520. The current eye pose may be determined with reference to an eye pose direction 524, which is a direction perpendicular to the surface of the eye (and centered within the pupil 516), but oriented towards the object to which the eye is currently pointed. With reference to the exemplary coordinate system shown in FIG. 5, the pose of the eye 500 may be represented as two angular parameters indicating the azimuth and zenith deflections of the eye's eye pose direction 524, both with respect to the eye's natural resting direction 520. For illustrative purposes, these angular parameters may be represented as θ (azimuth deflection, determined from the origin azimuth) and φ (zenith deflection, sometimes also referred to as polar deflection). In some implementations, the angular roll of the eye about the eye pose direction 524 may be included in the determination of the eye pose, and the angular roll may be included in the following analysis. In other implementations, other techniques for determining eye pose may be used, for example pitch, yaw, and optionally roll systems.
[0149] The eye images may be obtained from the video using any suitable process, for example, using video processing algorithms that may extract images from one or more sequential frames. The eye pose may be determined from the eye images using various eye tracking techniques. For example, the eye pose may be determined by considering the lens effect of the cornea on the provided light source. Any suitable eye tracking technique may be used to determine the eye pose in the eyelid shape estimation techniques described herein. (Eye Tracking System Example)
[0150] FIG. 6 illustrates a schematic diagram of a wearable or head mounted display system 600 including an eye tracking system. The head mounted display system 600 may, at least in some embodiments, include components located in a head mounted unit 602 and components located in a non-head mounted unit 604. The non-head mounted unit 604 may be, by way of example, a belt mounted component, a handheld component, a component in a backpack, a remote component, etc. Incorporating some of the components of the head mounted display system 600 into the non-head mounted unit 604 may help reduce the size, weight, complexity, and cost of the head mounted unit 602. In some implementations, some or all of the functionality described as being implemented by one or more components of the head mounted unit 602 and / or non-head mounted 604 may be provided using one or more components included anywhere in the head mounted display system 600. For example, some or all of the functionality described below in connection with CPU 612 of head mounted unit 602 may be provided using CPU 616 of non-head mounted unit 604, or vice versa. In some embodiments, some or all of such functionality may be provided using peripheral devices of head mounted display system 600. Further, in some implementations, some or all of such functionality may be provided using one or more cloud computing devices or other remotely located computing devices, in a manner similar to that described above with reference to FIG.
[0151] As shown in FIG. 6, the head mounted display system 600 may include an eye tracking system including a camera 324 that captures an image of the user's eye 610. If desired, the eye tracking system may also include light sources 326a and 326b (such as light emitting diodes "LEDs"). The light sources 326a and 326b may generate a flash of light (i.e., a reflection from the user's eye that appears in an image of the eye captured by the camera 324). The position of the light sources 326a and 326b relative to the camera 324 may be known, so that the position of the flash of light in the image captured by the camera 324 may be used in tracking the user's eye (as will be discussed in more detail below in connection with FIGS. 7-11). In at least one embodiment, there may be one light source 326 and one camera 324 associated with one of the user's eyes 610. In another embodiment, there may be one light source 326 and one camera 324 associated with each of the user's eyes 610. In yet other embodiments, there may be one or more cameras 324 and one or more light sources 326 associated with one or each of the user's eyes 610. As a specific example, there may be two light sources 326a and 326b and one or more cameras 324 associated with each of the user's eyes 610. As another example, there may be three or more light sources, such as light sources 326a and 326b, and one or more cameras 324 associated with each of the user's eyes 610.
[0152] The eye tracking module 614 may receive images from the eye tracking camera 324 and may analyze the images to extract various information. As examples, the eye tracking module 614 may detect the user's eye posture, the three-dimensional position of the user's eyes relative to the eye tracking camera 324 (and the head mounted unit 602), the direction in which one or both of the user's eyes 610 are focused, the user's convergence and divergence depth (i.e., the depth from the user at which the user is focused), the position of the user's pupils, the position of the user's cornea and corneal sphere, the center of rotation of each of the user's eyes, and the center of gaze of each of the user's eyes. The eye tracking module 614 may extract such information using techniques described below in connection with Figures 7-11. As shown in Figure 6, the eye tracking module 614 may be a software module implemented using the CPU 612 in the head mounted unit 602.
[0153] Data from the eye tracking module 614 may be provided to other components within the wearable system. As an example, such data may be transmitted to components within the non-head mounted unit 604, such as the CPU 616, including software modules for a light field rendering controller 618 and an alignment observer 620, which may be configured to assess whether the displays of the head mounted display system 600 are properly aligned with the user's eyes.
[0154] The rendering controller 618 may use information from the eye tracking module 614 to adjust the image displayed to the user by the rendering engine 622 (e.g., the rendering engine, which may be a software module within the GPU 621 and may provide images to the display 220). As an example, the rendering controller 618 may adjust the image displayed to the user based on the user's center of rotation or center of viewpoint. In particular, the rendering controller 618 may use information about the user's center of viewpoint to simulate a rendering camera (i.e., simulate the collection of images from the user's viewpoint) and adjust the image displayed to the user based on the simulated rendering camera.
[0155] A "rendering camera", sometimes referred to as a "pinhole perspective camera" (or simply, a "perspective camera") or a "virtual pinhole camera" (or simply, a "virtual camera"), is a simulated camera for use in rendering virtual image content, possibly from a database of objects in a virtual world. The objects may have a location and orientation relative to a user or wearer, and possibly relative to real objects in the environment surrounding the user or wearer. In other words, a rendering camera may represent a viewpoint in a rendering space from which the user or wearer should view the 3D virtual content (e.g., virtual objects) of the rendering space. The rendering camera may render a virtual image based on a database of virtual objects to be presented to the eye, managed by a rendering engine. The virtual image may be rendered as if taken from the user's or wearer's viewpoint. For example, a virtual image may be rendered as if it had been captured by a pinhole camera (corresponding to a "rendering camera") having a specific set of intrinsic parameters (e.g., focal length, camera pixel size, principal point coordinates, distortion / warping parameters, etc.) and a specific set of extrinsic parameters (e.g., translation and rotation components relative to the virtual world). The virtual image is taken from the viewpoint of such a camera having a rendering camera position and orientation (e.g., the rendering camera's extrinsic parameters). It follows that the system may define and / or adjust the intrinsic and extrinsic rendering camera parameters. For example, the system may define a specific set of extrinsic rendering camera parameters such that the virtual image is rendered as if it had been captured from the viewpoint of a camera having a specific location relative to the user's or wearer's eyes to provide an image that appears as if it were from the user's or wearer's viewpoint. The system may later dynamically adjust the extrinsic rendering camera parameters on the fly to maintain alignment with the specific location. Similarly, intrinsic rendering camera parameters may also be defined and dynamically adjusted over time.In some implementations, the image is rendered as if it were captured from the viewpoint of a camera that has an aperture (e.g., a pinhole) at a specific location relative to the user's or wearer's eye (such as the center of view or center of rotation or other location).
[0156] In some embodiments, the system may create or dynamically reposition and / or reorient one rendering camera for the user's left eye and another for the user's right eye as the user's eyes are physically separated from one another and therefore consistently positioned in different locations. It follows that in at least some implementations, virtual content rendered from the perspective of a rendering camera associated with the viewer's left eye may be presented to the user through a left eyepiece of a head mounted display (e.g., head mounted unit 602), and virtual content rendered from the perspective of a rendering camera associated with the user's right eye may be presented to the user through a right eyepiece of such head mounted display. Further details discussing the creation, adjustment, and use of rendering cameras in the rendering process are provided in U.S. Patent Application No. 15 / 274,823, entitled "METHODS AND SYSTEMS FOR DETECTING AND COMBINING STRUCTURAL FEATURES IN 3D RECONSTRUCTION," which is expressly incorporated herein by reference in its entirety for all purposes.
[0157] In some examples, one or more modules (or components) of system 600 (e.g., light field rendering controller 618, rendering engine 622, etc.) may determine the position and orientation of a rendering camera in a rendering space based on the user's head and eye position and orientation (e.g., as determined based on head pose and eye tracking data, respectively). That is, system 600 may in effect map the user's head and eye position and orientation to a particular location and angular position in the 3D virtual environment, place and orient the rendering camera to a particular location and angular position in the 3D virtual environment, and render the virtual content for the user as it may be captured by the rendering camera. Further details discussing the real-world / virtual-world mapping process are provided in U.S. Patent Application No. 15 / 296,869, entitled "SELECTING VIRTUAL OBJECTS IN A THREE-DIMENSIONAL SPACE," which is expressly incorporated herein by reference in its entirety for all purposes. As an example, the rendering controller 618 may adjust the depth at which an image is displayed by selecting the depth plane (or depth planes) that are utilized at any given time to display the image. In some implementations, such depth plane switching may be performed through adjustment of one or more intrinsic rendering camera parameters.
[0158] The alignment observer 620 may use information from the eye tracking module 614 to identify whether the head mounted unit 602 is properly positioned on the user's head. As an example, the eye tracking module 614 may provide eye location information, such as the location of the center of rotation of the user's eyes, which indicates the three-dimensional position of the user's eyes relative to the camera 324, and the head mounted unit 602 and eye tracking module 614 may use the location information to determine whether the display 220 is properly aligned within the user's field of view, or whether the head mounted unit 602 (or headset) has slipped or is otherwise misaligned with the user's eyes. As examples, the alignment observer 620 may be able to determine whether the head mounted unit 602 has slipped off the bridge of the user's nose, thus moving the display 220 away from the user's eyes and downward therefrom (which may be undesirable), whether the head mounted unit 602 has moved above the bridge of the user's nose, thus moving the display 220 closer to the user's eyes and upward therefrom, whether the head mounted unit 602 has been shifted left or right relative to the bridge of the user's nose, whether the head mounted unit 602 has been lifted above the bridge of the user's nose, or whether the head mounted unit 602 has been moved away from a desired position or range of positions in these or other ways. In general, the alignment observer 620 may be able to determine whether the head mounted unit 602, in general, and the display 220 in particular, are properly positioned in front of the user's eyes. In other words, alignment observer 620 may determine whether the left display in display system 220 is properly aligned with the user's left eye, and the right display in display system 220 is properly aligned with the user's right eye. Alignment observer 620 may determine whether head mounted unit 602 is properly positioned by determining whether head mounted unit 602 is positioned and oriented within a desired range of positions and / or orientations relative to the user's eyes.
[0159] In at least some embodiments, the alignment observer 620 may generate user feedback in the form of alerts, messages, or other content. Such feedback may be provided to the user to inform the user of any misalignment of the head mounted unit 602, along with optional feedback on how to correct the misalignment (such as suggestions to adjust the head mounted unit 602 in a particular manner).
[0160] Exemplary alignment observation and feedback techniques that may be utilized by the alignment observer 620 are described in U.S. patent application Ser. No. 15 / 717,747, filed Sep. 27, 2017 (Attorney Docket No. MLEAP.052A2), which is incorporated by reference in its entirety herein. (Example of eye tracking module)
[0161] A detailed block diagram of an exemplary eye tracking module 614 is shown in Figure 7A. As shown in Figure 7A, the eye tracking module 614 may include a variety of different sub-modules, may provide a variety of different outputs, and may utilize a variety of available data in tracking the user's eyes. As an example, the eye tracking module 614 may utilize available data including extrinsic and intrinsic properties of eye tracking such as the geometry of the eye tracking camera 324 relative to the light source 326 and the head mounted unit 602, assumed eye dimensions 704 such as a typical distance of about 4.7 mm between the center of the user's corneal curvature and the average center of rotation of the user's eye or a typical distance between the user's center of rotation and the center of gaze, and per-user calibration data 706 such as the interpupillary distance of a particular user. Additional examples of extrinsic properties, intrinsic properties, and other information that may be employed by the eye tracking module 614 are described in U.S. patent application Ser. No. 15 / 497,726, filed April 26, 2017 (Attorney Docket No. MLEAP.023A7), which is incorporated by reference in its entirety into this specification.
[0162] The image pre-processing module 710 may receive images from an eye camera, such as eye camera 324, and may perform one or more pre-processing (i.e., adjustment) operations on the received images. As examples, the image pre-processing module 710 may apply Gaussian blurring to the images, down-sample the images to a lower resolution, apply an unsharp mask, apply an edge sharpening algorithm, or apply other suitable filters that aid in the later detection, location, and labeling of phosphenes, pupils, or other features in images from the eye camera 324. The image pre-processing module 710 may apply a low-pass filter or a morphological filter, such as an open filter, that may remove high frequency noise from the pupil boundary 516a (see FIG. 5), etc., thereby removing noise that may interfere with pupil and phosphene determination. The image pre-processing module 710 may output the pre-processed images to the pupil identification module 712 and the phosphene detection and labeling module 714.
[0163] The pupil identification module 712 may receive the preprocessed images from the image preprocessing module 710 and may identify regions of those images that contain the user's pupil. The pupil identification module 712, in some embodiments, may determine the coordinates of the location of the user's pupil in the eye tracking images from the camera 324, i.e., the coordinates of the center or centroid. In at least some embodiments, the pupil identification module 712 may identify a contour in the eye tracking images (e.g., the contour of the pupil-iris boundary), identify contour moments (i.e., the center of mass), apply a starburst pupil detection and / or Canny edge detection algorithm, filter out outliers based on intensity values, identify sub-pixel boundary points, correct for eye camera distortion (i.e., distortion in the images captured by the eye camera 324), apply a random sample consensus (RANSAC) iterative algorithm, fit an ellipse to the boundaries in the eye tracking images, apply a tracking filter to the images, and identify the sub-pixel image coordinates of the user's pupil centroid. The pupil identification module 712 may output pupil identification data, which may indicate areas of the preprocessed image module 712 that have been identified as indicative of the user's pupil, to the flash detection and labeling module 714. The pupil identification module 712 may provide the 2D coordinates of the user's pupil in each eye tracking image (i.e., the 2D coordinates of the user's pupil centroid) to the flash detection module 714. In at least some embodiments, the pupil identification module 712 may also provide the same type of pupil identification data to the coordinate system normalization module 718.
[0164] Pupil detection techniques that may be utilized by pupil identification module 712 are described in U.S. Patent Publication No. 2017 / 0053165, published February 23, 2017, and U.S. Patent Publication No. 2017 / 0053166, published February 23, 2017 (each of which is incorporated by reference in its entirety into this specification).
[0165] The flash detection and labeling module 714 may receive the preprocessed image from module 710 and the pupil identification data from module 712. The flash detection module 714 may use this data to detect and / or identify flashes (i.e., reflections of light from the light source 326 off the user's eye) in areas of the preprocessed image that indicate the user's pupil. As an example, the flash detection module 714 may search for bright areas, sometimes referred to herein as "blobs" or local intensity maxima, in the vicinity of the user's pupil in the eye tracking image. In at least some embodiments, the flash detection module 714 may rescale (e.g., expand) the pupil ellipse to include the additional flashes. The flash detection module 714 may filter the flashes by size and / or intensity. The flash detection module 714 may also determine the 2D location of each of the flashes in the eye tracking image. In at least some embodiments, flash detection module 714 may determine the 2D location of the flash relative to the user's pupil, which may also be referred to as the pupil-flashing vector. Flash detection and labeling module 714 may label the flashes and output preprocessed images with the labeled flashes to the 3D corneal center estimation module 716. Flash detection and labeling module 714 may also communicate data such as the preprocessed images from module 710 and the pupil identification data from module 712.
[0166] Pupil and flash detection as performed by modules such as modules 712 and 714 may use any suitable technique. As an example, edge detection may be applied to the eye image to identify flashes and pupils. Edge detection may be applied by various edge detectors, edge detection algorithms, or filters. For example, a Canny edge detector may be applied to the image to detect edges, such as lines, in the image. Edges may include points located along the lines that correspond to local maximum derivatives. For example, the pupil boundary 516a (see FIG. 5) may be located using a Canny edge detector. Once the location of the pupil is determined, various image processing techniques may be used to detect the "pose" of the pupil 116. Determining the eye pose of the eye image may also be referred to as detecting the eye pose of the eye image. Pose may also be referred to as gaze, facing direction, or eye orientation. For example, the pupil may be looking left towards the object, and the pupil pose may be classified as a left-looking pose. Other methods may also be used to detect the location of the pupil or flash. For example, concentric rings may be located in the eye image using a Canny edge detector. As another example, an integro-differential operator may be used to find the limbal boundary of the pupil or iris. For example, a Daugman integro-differential operator, a Hough transform, or other iris segmentation technique may be used to return a curve that estimates the boundary of the pupil or iris.
[0167] The 3D corneal center estimation module 716 may receive the pre-processed images, including the detected phosphene data and pupil identification data, from modules 710, 712, 714. The 3D corneal center estimation module 716 may use these data to estimate the 3D position of the user's cornea. In some embodiments, the 3D corneal center estimation module 716 may estimate the 3D position of the center of the corneal curvature of the eye or the user's corneal sphere, i.e., the center of an imaginary sphere having a surface portion generally coextensive with the user's cornea. The 3D corneal center estimation module 716 may provide data indicative of the estimated 3D coordinates of the corneal sphere and / or the user's cornea to the coordinate system normalization module 718, the optical axis determination module 722, and / or the light field rendering controller 618. Further details of the operation of the 3D corneal center estimation module 716 are provided herein in connection with FIGS. 8A-8E. Techniques for estimating the position of ocular features, such as the cornea or corneal sphere, that may be utilized by the 3D corneal center estimation module 716 and other modules in the wearable system of the present disclosure are discussed in U.S. patent application Ser. No. 15 / 497,726, filed April 26, 2017 (Attorney Docket No. MLEAP.023A7), which is incorporated by reference in its entirety into this specification.
[0168] Coordinate system normalization module 718 may optionally be included within eye tracking module 614 (as indicated by its dashed outline). Coordinate system normalization module 718 may receive data indicating the estimated 3D coordinates of the center of the user's cornea (and / or the center of the user's corneal sphere) from 3D corneal center estimation module 716 and may also receive data from other modules. Coordinate system normalization module 718 may normalize the eye camera coordinate system, which may help to compensate for slippage of the wearable device (e.g., slippage of a head-mounted component from its normal resting position on the user's head, which may be identified by alignment observer 620). The coordinate system normalization module 718 may rotate the coordinate system to align the z-axis (i.e., vergence-divergence depth axis) of the coordinate system with the corneal center (e.g., as indicated by the 3D corneal center estimation module 716) and may translate the camera center (i.e., the origin of the coordinate system) to a predetermined distance away from the corneal center, such as 30 mm (i.e., the module 718 may stretch or shrink the eye tracking image depending on whether the eye camera 324 is determined to be closer or farther than the predetermined distance). Using this normalization process, the eye tracking module 614 may be able to establish consistent orientations and distances in the eye tracking data relatively independent of variations in the headset being positioned on the user's head. The coordinate system normalization module 718 may provide the 3D coordinates of the center of the cornea (and / or corneal sphere), the pupil identification data, and the preprocessed eye tracking images to the 3D pupil center locator module 720. Further details of the operation of the coordinate system normalization module 718 are provided herein in connection with Figures 9A-9C.
[0169] The 3D pupil center locator module 720 may receive data including the 3D coordinates of the center of the user's cornea (and / or corneal sphere) in a normalized or non-normalized coordinate system, pupil location data, and pre-processed eye tracking images. The 3D pupil center locator module 720 may analyze such data to determine the 3D coordinates of the center of the user's pupil in a normalized or non-normalized eye camera coordinate system. The 3D pupil center locator module 720 may determine the location of the user's pupil in three dimensions based on the 2D location of the pupil centroid (as determined by module 712), the 3D location of the corneal center (as determined by module 716), assumed eye dimensions 704 such as the size of a typical user's corneal sphere and the typical distance from the corneal center to the pupil center, and optical properties of the eye such as the refractive index of the cornea (relative to the refractive index of air), or any combination thereof. Further details of the operation of the 3D pupil center locator module 720 are provided herein in connection with Figures 9D-9G. Techniques for estimating the position of eye features, such as the pupil, that may be utilized by the 3D pupil center locator module 720 and other modules in the wearable system of the present disclosure are discussed in U.S. patent application Ser. No. 15 / 497,726, filed Apr. 26, 2017 (Attorney Docket No. MLEAP.023A7), which is incorporated herein by reference in its entirety.
[0170] The optical axis determination module 722 may receive data from modules 716 and 720 indicating the 3D coordinates of the center of the user's cornea and the user's pupil. Based on such data, the optical axis determination module 722 may identify a vector from the location of the corneal center (i.e., from the center of the corneal sphere) to the center of the user's pupil, which may define the optical axis of the user's eye. The optical axis determination module 722 may provide outputs to modules 724, 728, 730, and 732 that define the user's optical axis, as an example.
[0171] The center of rotation (CoR) estimation module 724 may receive data from module 722 including parameters of the optical axis of the user's eye (i.e., data indicating the direction of the optical axis in a coordinate system with a known relationship to the head mounted unit 602). The CoR estimation module 724 may estimate the center of rotation of the user's eye (i.e., the point around which the user's eye rotates when the user's eye rotates left, right, up, and / or down). Even if the eye cannot rotate perfectly around a single point, it is assumed that a single point may be sufficient. In at least some embodiments, the CoR estimation module 724 may estimate the center of rotation of the eye by moving the center of the pupil (as identified by module 720) or the center of curvature of the cornea (as identified by module 716) a specific distance along the optical axis (as identified by module 722) toward the retina. This specific distance may be the assumed eye dimension 704. As an example, the specific distance between the center of curvature of the cornea and the CoR may be about 4.7 mm. This distance may be varied for a particular user based on any relevant data, including the user's age, gender, vision prescription, other relevant characteristics, etc.
[0172] In at least some embodiments, the CoR estimation module 724 may refine its estimate of the center of rotation of each of the user's eyes over time. As an example, over time, the user will eventually rotate their eyes (to look elsewhere, closer, something further away, or to the left, right, up, or down at one time), causing a shift in the optical axis of each of their eyes. The CoR estimation module 724 may then analyze the two (or more) optical axes identified by module 722 and locate the 3D point of intersection of those optical axes. The CoR estimation module 724 may then determine a center of rotation at that 3D point of intersection. Such techniques may provide estimates of the center of rotation with accuracy that improves over time. Various techniques may be employed to increase the accuracy of the CoR estimation module 724 and the determined CoR positions of the left and right eyes. As an example, the CoR estimation module 724 may estimate the CoR by finding the average point of intersection of the optical axes determined over time for a variety of different eye postures. As an additional example, the module 724 may filter or average the estimated CoR position over time, may calculate a moving average of the estimated CoR position over time, and / or may apply a Kalman filter and known dynamics of the eye and eye tracking system to estimate the CoR position over time. As a specific example, the module 724 may calculate a weighted average of the determined point of intersection of the optical axes and the assumed CoR position (e.g., 4.7 mm behind the center of the corneal curvature of the eye) such that the determined CoR may slowly shift over time from the assumed CoR position (i.e., 4.7 mm behind the center of the corneal curvature of the eye) to a slightly different location within the user's eye as eye tracking data is acquired for the user, thereby allowing per-user refinement of the CoR position.
[0173] The interpupillary distance (IPD) estimation module 726 may receive data from the CoR estimation module 724 indicating the estimated 3D positions of the centers of rotation of the user's left and right eyes. The IPD estimation module 726 may then estimate the user's IPD by measuring the 3D distance between the centers of rotation of the user's left and right eyes. In general, the distance between the estimated CoR of the user's left eye and the estimated CoR of the user's right eye may be approximately equal to the distance between the centers of the user's pupils when the user is looking at optical infinity (i.e., the optical axes of the user's eyes are approximately parallel to each other), which is a typical definition of interpupillary distance (IPD). The user's IPD may be used by various components and modules within the wearable system. As an example, the user's IPD may be provided to the alignment observer 620 and used in assessing the degree to which the wearable device is aligned with the user's eyes (e.g., whether the left and right display lenses are properly spaced according to the user's IPD). As another example, the user's IPD may be provided to the convergence-divergence depth estimation module 728 and used in determining the user's convergence-divergence depth. The module 726 may employ various techniques, such as those discussed in connection with the CoR estimation module 724, to increase the accuracy of the estimated IPD. As an example, the IPD estimation module 724 may apply filtering, averaging over time, weighted averaging including assumed IPD distances, Kalman filtering, etc., as part of estimating the user's IPD in an accurate manner.
[0174] The vergence-divergence movement depth estimation module 728 may receive data from various modules and sub-modules (as illustrated in connection with FIG. 7A ) within the eye tracking module 614. In particular, the vergence-divergence movement depth estimation module 728 may employ data indicative of an estimated 3D position of a pupil center (e.g., as provided by module 720 described above), one or more determined parameters of an optical axis (e.g., as provided by module 722 described above), an estimated 3D position of a center of rotation (e.g., as provided by module 724 described above), an estimated IPD (e.g., a Euclidean distance between estimated 3D positions of centers of rotation) (e.g., as provided by module 726 described above), and / or one or more determined parameters of an optical axis and / or visual axis (e.g., as provided by modules 722 and / or 730 described below). The vergence depth estimation module 728 may detect or otherwise obtain a measurement of the user's vergence depth, which may be the distance from the user at which the user's eyes are focused. As an example, when the user is looking at an object three feet in front of them, the user's left and right eyes have a vergence depth of three feet, while when the user is looking at a distant scene (i.e., the optical axes of the user's eyes are approximately parallel to one another such that the distance between the centers of the user's pupils may be approximately equal to the distance between the centers of rotation of the user's left and right eyes), the user's left and right eyes have a vergence depth of infinity. In some implementations, the vergence depth estimation module 728 may utilize data indicative of the estimated centers of the user's pupils (e.g., as provided by module 720) and determine the 3D distance between the estimated centers of the user's pupils. The vergence-divergence depth estimation module 728 may obtain a measurement of vergence-divergence depth by comparing such determined 3D distance between the pupil centers with an estimated IPD (e.g., the Euclidean distance between the estimated 3D positions of the centers of rotation) (e.g., as shown by module 726 described above).In addition to the 3D distance between pupil centers and the estimated IPD, the vergence movement depth estimation module 728 may utilize known, assumed, estimated, and / or determined geometric shapes to calculate the vergence movement depth. As an example, the module 728 may combine the 3D distance between pupil centers, the estimated IPD, and the 3D CoR position in a trigonometric calculation to estimate (i.e., determine) the user's vergence movement depth. In fact, an evaluation of such determined 3D distance between pupil centers relative to the estimated IPD may serve to indicate a measurement of the user's current vergence movement depth relative to optical infinity. In some examples, the vergence movement depth estimation module 728 may simply receive or have access to data indicative of an estimated 3D distance between the estimated centers of the user's pupils for purposes of obtaining such a measurement of the vergence movement depth. In some embodiments, the vergence motion depth estimation module 728 may estimate the vergence motion depth by comparing the user's left and right optical axes. In particular, the vergence motion depth estimation module 728 may estimate the vergence motion depth by locating the distance from the user where the user's left and right optical axes intersect (or where the projections of the user's left and right optical axes on a plane, such as a horizontal plane, intersect). The module 728 may utilize the user's IPD in this calculation by setting zero depth to be the depth where the user's left and right optical axes are separated by the user's IPD. In at least some embodiments, the vergence motion depth estimation module 728 may determine the vergence motion depth by triangulating eye tracking data with known or derived spatial relationships.
[0175] In some embodiments, the vergence depth estimation module 728 may estimate the user's vergence depth based on the intersection of the user's visual axis (instead of its optical axis), which may provide a more accurate indication of the distance the user is focused on. In at least some embodiments, the eye tracking module 614 may include an optical axis / visual axis mapping module 730. As discussed in more detail in connection with FIG. 10, the user's optical axis and visual axis are generally not aligned. The visual axis is the axis along which a person is looking, while the optical axis is defined by the center of the person's lens and pupil and may run through the center of the person's retina. In particular, the user's visual axis is generally defined by the location of the user's fovea, which may be offset from the center of the user's retina, thereby resulting in different optical and visual axes. In at least some of these embodiments, the eye tracking module 614 may include an optical axis / visual axis mapping module 730. The optical axis / visual axis mapping module 730 may correct for differences between the user's optical axis and visual axis and provide information about the user's visual axis to other components in the wearable system, such as the vergence-divergence depth estimation module 728 and the light field rendering controller 618. In some embodiments, the module 730 may use the assumed eye dimensions 704, including a typical offset between the optical axis and the visual axis of about 5.2° inward (nasally, toward the user's nose). In other words, the module 730 may shift the user's left optical axis 5.2° nasally (toward the nose) to the right and the user's right optical axis 5.2° nasally (toward the nose) to estimate the direction of the user's left and right optical axes. In other embodiments, the module 730 may utilize the per-user calibration data 706 in mapping the optical axis (e.g., as shown by module 722 described above) to the visual axis. As additional examples, module 730 may shift the user's optical axis nasally by 4.0°-6.5°, 4.5°-6.0°, 5.0°-5.4°, etc., or any range formed by any of these values.In some arrangements, module 730 may apply the shift based, at least in part, on characteristics of a particular user, such as their age, gender, vision prescription, or other relevant characteristics, and / or may apply the shift based, at least in part, on a calibration process for the particular user (i.e., to determine the optical axis-visual axis offset for the particular user). In at least some embodiments, module 730 may also shift the origin of the left and right optical axes to correspond to the user's CoP (as determined by module 732) instead of the user's CoR.
[0176] An optional center of perspective (CoP) estimation module 732, when provided, may estimate the location of the user's left and right centers of perspective (CoP). The CoP is a useful location for a wearable system and, in at least some embodiments, may be a location directly in front of the pupil. In at least some embodiments, the CoP estimation module 732 may estimate the location of the user's left and right centers of perspective based on the 3D location of the user's pupil center, the 3D location of the center of the user's corneal curvature, or any such suitable data, or any combination thereof. As an example, the user's CoP may be approximately 5.01 mm in front of the center of the corneal curvature (i.e., 5.01 mm from the center of the corneal sphere, toward the cornea of the eye, in a direction along the optical axis) and approximately 2.97 mm behind the outer surface of the user's cornea along the optical or visual axis. The user's center of perspective may be directly in front of the center of their pupil. As examples, the user's CoP may be less than about 2.0 mm from the user's pupil, less than about 1.0 mm from the user's pupil, or less than about 0.5 mm from the user's pupil, or any range between any of these values. As another example, the center of gaze may correspond to a location within the anterior chamber of the eye. As other examples, the CoP may be between 1.0 mm and 2.0 mm, about 1.0 mm, 0.25 mm to 1.0 mm, 0.5 mm to 1.0 mm, or 0.25 mm to 0.5 mm.
[0177] The viewpoint centers described herein (as potentially desirable locations of the rendering camera's pinhole and anatomical locations within the user's eye) may be locations that serve to reduce and / or eliminate undesirable parallax shifts. In particular, the optical system of the user's eye roughly parallels a theoretical system formed by a pinhole in front of a lens projecting onto a screen, with the pinhole, lens, and screen roughly corresponding to the user's pupil / iris, lens, and retina, respectively. Furthermore, it may be desirable for there to be little or no parallax shift when two point sources (or objects) at different distances from the user's eye are strictly rotated around the pinhole opening (e.g., rotated along a radius of curvature equal to their respective distances from the pinhole opening). Thus, one would expect the CoP to be located at the center of the eye's pupil (and such a CoP may be used in some embodiments). However, in addition to the lens and the pinhole of the pupil, the human eye includes a cornea, which imparts additional refractive power to light propagating toward the retina. Thus, the anatomical equivalent of a pinhole in the theoretical system described in this paragraph may be an area of the user's eye that is located between the outer surface of the cornea of the user's eye and the center of the pupil or iris of the user's eye. For example, the anatomical equivalent of a pinhole may correspond to an area within the anterior chamber of the user's eye. For various reasons discussed herein, it may be desirable to set the CoP at such a location within the anterior chamber of the user's eye.
[0178] As discussed above, the eye tracking module 614 may provide data such as estimated 3D positions of the left and right eye centers of rotation (CoR), vergence-divergence movement depth, left and right eye optical axes, 3D positions of the user's eyes, 3D positions of the user's left and right centers of corneal curvature, 3D positions of the user's left and right pupil centers, 3D positions of the user's left and right gaze centers, and the user's IPD to other components in the wearable system, such as the light field rendering controller 618 and the alignment observer 620. The eye tracking module 614 may also include other sub-modules that detect and generate data associated with other aspects of the user's eyes. As an example, the eye tracking module 614 may include an eye blink detection module that provides a flag or other alert whenever the user blinks, and a saccade detection module that provides a flag or other alert whenever the user's eyes saccade (i.e., rapidly shift focus to another point). Rendering controller example
[0179] A detailed block diagram of an example light field rendering controller 618 is shown in FIG. 7B. As shown in FIGS. 6 and 7B, the rendering controller 618 may receive eye tracking information from the eye tracking module 614 and provide output to the rendering engine 622, which may generate an image to be displayed for viewing by a user of the wearable system. As an example, the rendering controller 618 may receive information regarding vergence-divergence depth, left and right eye rotation centers (and / or gaze centers), and other eye data such as eye blink data, saccade data, etc.
[0180] The depth plane selection module 750 may receive vergence depth information and, based on such data, may cause the rendering engine 622 to provide content to the user with the content appearing to be located on a particular depth plane (i.e., a particular accommodation or focal distance). As discussed in connection with FIG. 4, the wearable system may include multiple discrete depth planes formed by multiple waveguides, each of which conveys image information with a variable level of wavefront curvature. In some embodiments, the wearable system may include one or more variable depth planes, such as optical elements, that convey image information with a time-varying level of wavefront curvature. In these and other embodiments, the depth plane selection module 750 may cause the rendering engine 622 to convey content to the user at a selected depth (i.e., cause the rendering engine 622 to instruct the display 220 to switch depth planes) based, in part, on the user's vergence depth. In at least some embodiments, depth plane selection module 750 and rendering engine 622 may render content at different depths and may generate and / or provide depth plane selection data to display hardware, such as display 220. Display hardware, such as display 220, may perform electronic depth plane switching in response to depth plane selection data (which may be control signals) generated and / or provided by modules, such as depth plane selection module 750 and rendering engine 622.
[0181] In general, it may be desirable for the depth plane selection module 750 to select a depth plane that matches the user's current convergence-divergence depth so that the user is provided with accurate accommodation cues. However, it may also be desirable to switch depth planes in a discreet and unobtrusive manner. As an example, it may be desirable to avoid excessive switching between depth planes and / or to switch depth planes at times when the user is unlikely to notice the switch, such as during an eye blink or eye saccade.
[0182] The hysteresis band crossing detection module 752 may help to avoid excessive switching between depth planes, especially when the user's vergence-divergence motion depth fluctuates at the midpoint or transition point between two depth planes. In particular, the module 752 may cause the depth plane selection module 750 to exhibit hysteresis in its selection of depth planes. As an example, the module 752 may cause the depth plane selection module 750 to switch from a first, more distant depth plane to a second, closer depth plane only after the user's vergence-divergence motion depth passes a first threshold. Similarly, the module 752 may cause the depth plane selection module 750 (and thus may indicate to a display, such as the display 220) to switch to a first, more distant depth plane only after the user's vergence-divergence motion depth passes a second threshold that is further from the user than the first threshold. In the overlap region between the first and second thresholds, module 750 may cause depth plane selection module 750 to maintain either depth plane as currently selected as the selected depth plane, thus avoiding excessive switching between depth planes.
[0183] The eye event detection module 750 may receive other eye data from the eye tracking module 614 of FIG. 7A and may cause the depth plane selection module 750 to delay some depth plane switches until an eye event occurs. As an example, the eye event detection module 750 may cause the depth plane selection module 750 to delay a planned depth plane switch until a user blink is detected, or may receive data from an eye blink detection component in the eye tracking module 614 indicating when the user is currently blinking, and in response, cause the depth plane selection module 750 to perform a planned depth plane switch during the blink event (such as by having the module 750 instruct the display 220 to perform a depth plane switch during the blink event). In at least some embodiments, the wearable system may be able to shift content onto a new depth plane during the blink event such that the user is unlikely to perceive the shift. As another example, the eye event detection module 750 may delay a planned depth plane switch until an eye saccade is detected. As discussed in relation to eye blinking, such an arrangement can facilitate discrete shifts in the depth plane.
[0184] If desired, the depth plane selection module 750 may delay a planned depth plane switch only for a limited period of time before performing a depth plane switch, even in the absence of an eye event. Similarly, the depth plane selection module 750 may perform a depth plane switch when the user's convergence-divergence depth is substantially outside the currently selected depth plane (i.e., when the user's convergence-divergence depth exceeds a predetermined threshold that exceeds a normal threshold for a depth plane switch), even in the absence of an eye event. These arrangements may help ensure that the eye event detection module 754 does not delay a depth plane switch indefinitely and does not delay a delayed depth plane switch when large accommodation errors are present.
[0185] The rendering camera controller 758 may provide information to the rendering engine 622 indicating the location of the user's left and right eyes. The rendering engine 622 may then generate content by simulating cameras at the user's left and right eye positions and generating content based on the viewpoints of the simulated cameras. As discussed above, the rendering camera is a simulated camera for use in rendering virtual image content, possibly from a database of objects in the virtual world. The objects may have a location and orientation relative to the user or wearer, and possibly relative to real objects in the environment surrounding the user or wearer. The rendering camera may be included in the rendering engine and render the virtual image based on a database of virtual objects to be presented to the eyes. The virtual image may be rendered as if it were taken from the viewpoint of the user or wearer. For example, the virtual image may be rendered as if it were captured by a camera (corresponding to a "rendering camera") having an aperture, lens, and detector that views objects in the virtual world. The virtual image is taken from the viewpoint of such a camera, which has the position of the "rendering camera." For example, the virtual image may be rendered as if it had been captured from a camera viewpoint having a specific location relative to the user's or wearer's eyes to provide an image that appears to be from the user's or wearer's point of view. In some implementations, the image may be rendered as if it had been captured from a camera viewpoint having an aperture at a specific location relative to the user's or wearer's eyes (such as a viewpoint center or rotation center or other location as discussed herein).
[0186] The rendering camera controller 758 may determine the positions of the left and right cameras based on the left and right eye centers of rotation (CoR) determined by the CoR estimation module 724 and / or based on the left and right eye centers of perspective (CoP) determined by the CoP estimation module 732. In some embodiments, the rendering camera controller 758 may switch between the CoR and CoP locations based on various factors. As examples, the rendering camera controller 758 may, in various modes, align the rendering camera to the CoR location all the time, align the rendering camera to the CoP location all the time, toggle or discretely switch between aligning the rendering camera to the CoR location and aligning the rendering camera to the CoP location over time based on various factors, or dynamically align the rendering camera to any of a range of different positions along the optical (or visual) axis between the CoR and CoP locations over time based on various factors. The CoR and CoP positions may optionally be passed through a smoothing filter 756 (in any of the previously described modes for rendering camera positioning), which may average the CoR and CoP locations over time to reduce noise in these positions and prevent jitter when rendering the simulated rendering camera.
[0187] In at least some embodiments, the rendering camera may be simulated as a pinhole camera with the pinhole located at the location of the estimated CoR or CoP identified by the eye tracking module 614. Because the CoP is offset from the CoR, whenever the rendering camera's position is based on the user's CoP, the location of both the rendering camera and its pinhole shifts as the user's eyes rotate. In contrast, whenever the rendering camera's position is based on the user's CoR, the location of the rendering camera's pinhole does not move with eye rotation, although the rendering camera (behind the pinhole) may move with eye rotation in some embodiments. In other embodiments where the rendering camera's position is based on the user's CoR, the rendering camera may not move (i.e., rotate) with the user's eyes. (Example of an alignment observer)
[0188] A block diagram of an example alignment observer 620 is shown in FIG. 7C. As shown in FIGS. 6, 7A, and 7C, the alignment observer 620 may receive eye tracking information from the eye tracking module 614 (FIGS. 6 and 7A). As an example, the alignment observer 620 may receive information about the user's left and right eye rotation centers (e.g., three-dimensional locations of the user's left and right eye rotation centers that may be on a common coordinate system or have a common frame of reference with the head mounted display system 600). As another example, the alignment observer 620 may receive display extrinsic properties, fit tolerances, and eye tracking enable indicators. The display extrinsic properties may include information about the display (e.g., display 200 of FIG. 2), such as the display's field of view, the size of one or more display surfaces, and the position of the display surfaces relative to the head mounted display system 600. The fit tolerances may include information about the display alignment volume, which may indicate the distance the user's left and right eyes may move from a nominal position before display performance is affected. Additionally, the fit tolerance may indicate the amount of display performance impact expected as a function of the user's eye position.
[0189] 7C, the alignment observer 620 may include a 3D position fit module 770. The position fit module 770 may acquire and analyze various data, including, as examples, a left eye center of rotation 3D location (e.g., CoR left), a right eye center of rotation 3D location (e.g., CoR right), display extrinsic properties, and fit tolerances. The 3D position fit module 770 may determine the distance of the user's left and right eyes from the respective left and right eye nominal positions (e.g., may calculate a 3D left error and a 3D right error) and provide the error distances (e.g., a 3D left error and a 3D right error) to a device 3D fit module 772.
[0190] The 3D positional fit module 770 may also compare the error distance to the display vis-a-vis properties and fit tolerances to determine whether the user's eye is within a nominal volume, a partially degraded volume (e.g., a volume within which the performance of the display 220 is partially degraded), or a fully degraded or nearly fully degraded volume (e.g., a volume within which the display 220 is substantially unable to provide content to the user's eye). In at least some embodiments, the 3D positional fit module 770 or the 3D fit module 772 may provide an output that qualitatively describes the fit of the HMD on the user, such as the fit quality output shown in FIG. 7C. As an example, the module 770 may provide an output that indicates whether the current fit of the HMD on the user is good, acceptable, or unsuccessful. A good fit may correspond to a fit that allows the user to see at least a certain percentage of the image (such as 90%), an acceptable fit may allow the user to see at least a lower percentage of the image (such as 80%), while a poor fit may be a fit where only an even lower percentage of the image is visible to the user.
[0191] As another example, the 3D position fit module 770 and / or the device 3D fit module 772 may calculate a visible area metric, which may be the percentage of the overall area (or pixels) of an image displayed by the display 220 that is visible to a user. The modules 770 and 772 may calculate the visible area metric by evaluating the position of the user's left and right eyes relative to the display 220 (which may be based, for example, on the center of rotation of the user's eyes) using one or more models (e.g., mathematical or geometric models), one or more lookup tables, or other techniques for determining the percentage of an image that is visible to a user as a function of the user's eye position, or a combination of these and other techniques. In addition, the modules 770 and 772 may determine the region or portion of an image displayed by the display 220 that is expected to be visible to a user as a function of the user's eye position.
[0192] The alignment observer 620 may also include a device 3D fit module 772. The module 772 may receive data from the 3D position fit module 770 and may also receive an eye tracking valid indicator, which may be provided by the eye tracking module 614 and may indicate whether the eye tracking system is currently tracking the position of the user's eyes or whether eye tracking data is unavailable or under an error condition (e.g., determined to be unreliable). The device 3D fit module 772 may modify the fit quality data received from the 3D position fit module 770 as desired depending on the status of the eye tracking valid data. For example, if data from the eye tracking system is indicated to be unavailable or to have an error, the device 3D fit module 772 may provide a notification that an error exists and / or not provide an output to the user regarding the fit quality or fit error.
[0193] In at least some embodiments, the alignment observer 620 may provide feedback to the user regarding the quality of the fit and details of the nature and magnitude of the error. As examples, the head mounted display system may provide feedback to the user during a calibration or fitting process (e.g., as part of a set-up procedure) and may also provide feedback during operation (e.g., if the fit deteriorates due to slippage, the alignment observer 620 may prompt the user to readjust the head mounted display system). In some embodiments, the alignment analysis may be performed automatically (e.g., during use of the head mounted display system) and feedback may be provided without user input. These are merely illustrative examples. Example of Locating a User's Cornea Using an Eye Tracking System
[0194] 8A is a schematic diagram of an eye showing the corneal sphere of the eye. As shown in FIG. 8A, a user's eye 810 may have a cornea 812, a pupil 822, and a lens 820. The cornea 812 may have a generally spherical shape, as indicated by a corneal sphere 814. The corneal sphere 814 may have a center point 816, also referred to as the corneal center, and a radius 818. The hemispherical cornea of the user's eye may curve around the corneal center 816.
[0195] 8B-8E illustrate examples of locating a user's corneal center 816 using the 3D corneal center estimation module 716 and the eye tracking module 614.
[0196] 8B, the 3D corneal center estimation module 716 may receive an eye tracking image 852, including a corneal flash 854. The 3D corneal center estimation module 716 may then simulate the known 3D positions of the eye camera 324 and the light source 326 (which may be based on data in the eye tracking extrinsic and intrinsic properties database 702, the assumed eye dimensions database 704, and / or the per-user calibration data 706) in the eye camera coordinate system 850 to project the light ray 856 into the eye camera coordinate system. In at least some embodiments, the eye camera coordinate system 850 may have its origin at the 3D position of the eye tracking camera 324.
[0197] In Figure 8C, the 3D corneal center estimation module 716 simulates a corneal sphere 814a (which may be based on assumed eye dimensions from the database 704) and a corneal center of curvature 816a at a first position. The 3D corneal center estimation module 716 may then check whether the corneal sphere 814a would properly reflect light from the light source 326 to the glint position 854. As shown in Figure 8C, the first position does not match because the light ray 860a does not intersect with the light source 326.
[0198] Similar to Figure 8D, the 3D corneal center estimation module 716 simulates the corneal sphere 814b and the corneal center of curvature 816b at the second position. The 3D corneal center estimation module 716 then checks whether the corneal sphere 814b properly reflects light from the light source 326 to the glint position 854. As shown in Figure 8D, the second position also does not match.
[0199] As shown in FIG. 8E, the 3D corneal center estimation module 716 can finally determine that the correct location of the corneal sphere is the corneal sphere 814c and the corneal center of curvature 816c. The 3D corneal center estimation module 716 verifies that the illustrated location is correct by checking that light from the source 326 will properly reflect off the corneal sphere and be imaged by the camera 324 to the correct location of the flash of light 854 on the image 852. Using this arrangement and the known 3D positions of the light source 326, the camera 324, and the optical properties of the camera (such as focal length), the 3D corneal center estimation module 716 can determine the 3D location (relative to the wearable system) of the corneal center of curvature 816.
[0200] The process described herein with respect to at least FIGS. 8C-8E may be effectively an iterative, iterative, or optimization process for identifying the 3D location of the user's corneal center. Thus, any of a number of techniques (e.g., iterative, optimization techniques, etc.) may be used to efficiently and quickly sift through or reduce the search space of possible locations. Furthermore, in some embodiments, the system may include two, three, four, or more light sources, such as light source 326, some of all of which may be located at different locations and result in multiple flashes, such as flash 854, located at different locations on the image 852, and multiple light rays, such as light ray 856, having different origins and directions. Such an embodiment may improve the accuracy of the 3D corneal center estimation module 716, since the module 716 may seek to identify a corneal location that results in some or all of the flashes and light rays being properly reflected between its respective light source and its respective location on the image 852. In other words, in these embodiments, the position of some or all of the light sources may rely on the 3D corneal position determination (eg, iterative, optimization techniques, etc.) process of FIGS. 8B-8E. (Example of normalizing the coordinate system of eye tracking images)
[0201] 9A-9C illustrate an example normalization of the coordinate system of eye tracking images by a component in a wearable system, such as coordinate system normalization module 718 of FIG. 7A. Normalization of the coordinate system of eye tracking images relative to the user's pupil location can compensate for slippage of the wearable system relative to the user's face (i.e., headset slippage), and such normalization can establish a consistent orientation and distance between the eye tracking images and the user's eyes.
[0202] 9A, coordinate system normalization module 718 may receive estimated 3D coordinates 900 of the center of rotation of the user's cornea and may receive a non-normalized eye tracking image, such as image 852. Eye tracking image 852 and coordinates 900 may be in a non-normalized coordinate system 850, which is based on the location of eye tracking camera 324, as an example.
[0203] In a first normalization step, the coordinate system normalization module 718 may rotate the coordinate system 850 into the rotated coordinate system 902 such that the z-axis (i.e., the vergence-divergence depth axis) of the coordinate system may be aligned with the vector between the origin of the coordinate system and the corneal curvature center coordinate 900, as shown in Figure 9B. In particular, the coordinate system normalization module 718 may rotate the eye tracking image 850 into the rotated eye tracking image 904 until the coordinate 900 of the user's corneal curvature center is normal to the plane of the rotated image 904.
[0204] As a second normalization step, the coordinate system normalization module 718 may translate the rotated coordinate system 902 into the normalized coordinate system 910, such that the corneal curvature center coordinate 900 is at a standard normalized distance 906 from the origin of the normalized coordinate system 910, as shown in FIG. 9C. In particular, the coordinate system normalization module 718 may translate the rotated eye tracking image 904 into the normalized eye tracking image 912. In at least some embodiments, the standard normalized distance 906 may be approximately 30 millimeters. If desired, the second normalization step may be performed prior to the first normalization step. (Example of Locating a User's Pupil Centroid Using an Eye Tracking System)
[0205] 9D-9G illustrate an example of using the 3D pupil center locator module 720 and the eye tracking module 614 to locate the user's pupil center (i.e., the center of the user's pupil 822 as shown in FIG. 8A).
[0206] 9D , the 3D pupil center locator module 720 may receive a normalized eye tracking image 912, including the pupil centroid 913 (i.e., the center of the user's pupil as identified by the pupil identification module 712). The 3D pupil center locator module 720 may then simulate a normalized 3D position 910 of the eye camera 324 and project a ray 914 through the pupil centroid 913 into the normalized coordinate system 910.
[0207] In Figure 9E, the 3D pupil center locator module 720 may simulate a corneal sphere, such as corneal sphere 901 having a center of curvature 900, based on data from the 3D corneal center estimation module 716 (and as discussed in more detail in connection with Figures 8B-8E). As an example, the corneal sphere 901 may be located within a normalized coordinate system 910 based on the location of the center of curvature 816c identified in connection with Figure 8E and based on the normalization process of Figures 9A-9C. In addition, the 3D pupil center locator module 720 may identify a first intersection 916 between a ray 914 (i.e., a ray between the origin of the normalized coordinate system 910 and the normalized location of the user's pupil) and the simulated cornea, as shown in Figure 9E.
[0208] As shown in FIG. 9F, the 3D pupil center locator module 720 may determine a pupil sphere 918 based on the corneal sphere 901. The pupil sphere 918 may share a common center of curvature with the corneal sphere 901, but may have a small radius. The 3D pupil center locator module 720 may determine the distance between the corneal center 900 and the pupil sphere 918 (i.e., the radius of the pupil sphere 918) based on the distance between the corneal center and the pupil center. In some embodiments, the distance between the pupil center and the corneal center of curvature may be determined from the assumed eye dimensions 704 of FIG. 7A, from the eye tracking extrinsic and intrinsic properties database 702, and / or from the per-user calibration data 706. In other embodiments, the distance between the pupil center and the corneal center of curvature may be determined from the per-user calibration data 706 of FIG. 7A.
[0209] 9G, the 3D pupil center locator module 720 may locate the 3D coordinates of the user's pupil center based on various inputs. As an example, the 3D pupil center locator module 720 may determine the 3D coordinates of the user's pupil center using the 3D coordinates and radius of the pupil sphere 918, the 3D coordinates of the intersection 916 between the simulated corneal sphere 901 and the ray 914 associated with the pupil centroid 913 in the normalized eye tracking image 912, information about the refractive index of the cornea, and other relevant information such as the refractive index of air (which may be stored in the eye tracking extrinsic and intrinsic properties database 702). In particular, the 3D pupil center locator module 720 may bend the ray 916 into a refracted ray 922 based on the refractive difference between air (at a first refractive index of about 1.00) and the corneal material (at a second refractive index of about 1.38) in the simulation. After accounting for refraction caused by the cornea, the 3D pupil center locator module 720 may determine the 3D coordinates of a first intersection 920 between the refracted light ray 922 and the pupil sphere 918. The 3D pupil center locator module 720 may determine that the user's pupil center 920 is located approximately at the first intersection 920 between the refracted light ray 922 and the pupil sphere 918. Using this arrangement, the 3D pupil center locator module 720 may determine the 3D location (relative to the wearable system) of the pupil center 920 within the normalized coordinate system 910. If desired, the wearable system may de-normalize the coordinates of the pupil center 920 to the original eye camera coordinate system 850. The pupil center 920 may be used in conjunction with the corneal curvature center 900 to determine, among other things, the user's optical axis using the optical axis determination module 722 and the user's convergence and divergence movement depth via the convergence and divergence movement depth estimation module 728. (Example of the difference between the optical axis and the visual axis)
[0210] As discussed in connection with the optical axis / visual axis mapping module 730 of FIG. 7A, a user's optical axis and visual axis are generally not aligned, in part due to the user's visual axis being defined by its fovea, which is generally not at the center of the person's retina. Thus, when a person wishes to focus on a particular object, the person aligns its visual axis with the object to ensure that light from the object falls on its fovea, while its optical axis (defined by the center of its pupil and the center of curvature of its cornea) is actually offset slightly from the object. FIG. 10 is an example of an eye 1000 illustrating the optical axis 1002 of the eye, the visual axis 1004 of the eye, and the offset between these axes. In addition, FIG. 10 illustrates the pupil center 1006 of the eye, the center of corneal curvature 1008 of the eye, and the mean center of rotation (CoR) 1010 of the eye. In at least some populations, the eye's center of corneal curvature 1008 may be approximately 4.7 mm in front of the eye's mean center of rotation (CoR) 1010, as indicated by dimension 1012. Additionally, the eye's center of viewpoint 1014 may be approximately 5.01 mm in front of the eye's center of corneal curvature 1008, approximately 2.97 mm behind the outer surface 1016 of the user's cornea, and / or directly in front of the user's pupil center 1006 (e.g., corresponding to a location within the anterior chamber of the eye 1000). As additional examples, dimension 1012 may be 3.0 mm to 7.0 mm, 4.0 to 6.0 mm, 4.5 to 5.0 mm, or 4.6 to 4.8 mm, or any range between any value within any of these ranges and any value. The eye's center of perspective (CoP) 1014 may be a useful location for wearable systems because, in at least some embodiments, aligning the rendering camera to the CoP may help reduce or eliminate parallax artifacts.
[0211] 10 also illustrates such locations within the human eye 1000 with which the rendering camera pinhole may be aligned. As shown in FIG. 10, the rendering camera pinhole may be aligned with a location 1014 along the optical axis 1002 or visual axis 1004 of the human eye 1000 that is closer to the outer surface of the cornea than both (a) the center of the pupil or iris 1006 and (b) the center of corneal curvature 1008 of the human eye 1000. For example, as shown in FIG. 10, the rendering camera pinhole may be aligned with a location 1014 along the optical axis 1002 of the human eye 1000 that is approximately 2.97 millimeters posterior to the outer surface of the cornea 1016 and approximately 5.01 millimeters anterior to the center of corneal curvature 1008. The location 1014 of the rendering camera's pinhole and / or the anatomical region of the human eye 1000 to which the location 1014 corresponds may be considered to represent the center of view of the human eye 1000. The optical axis 1002 of the human eye 1000 as shown in Figure 10 represents the shortest line passing through the center of corneal curvature 1008 and the center of the pupil or iris 1006. The visual axis 1004 of the human eye 1000 differs from the optical axis 1002 as it represents a line extending from the fovea of the human eye 1000 to the center of the pupil or iris 1006. Example Process for Rendering Content and Checking Alignment Based on Eye Tracking
[0212] 11 is a process flow diagram of an example method 1100 for using eye tracking to provide feedback regarding alignment in a wearable device when rendering content. Method 1100 may be implemented by a wearable system described herein. An embodiment of method 1100 may be used by a wearable system to render content and provide feedback regarding alignment (i.e., the fit of the wearable device with a user) based on data from the eye tracking system.
[0213] In block 1110, the wearable system may capture images of one or both of the user's eyes. The wearable system may capture the eye images using one or more eye cameras 324, as shown in at least the example of FIG. 3. If desired, the wearable system may also include one or more light sources 326 configured to shine IR light on the user's eyes and produce corresponding flashes of light in the eye images captured by the eye cameras 324. As discussed herein, the flashes of light may be used by the eye tracking module 614 to derive various information about the user's eyes, including where the eyes are looking.
[0214] In block 1120, the wearable system may detect flashes and pupils in the eye image captured in block 1110. As an example, block 1120 may include processing the eye image by flash detection and labeling module 714 to identify a two-dimensional location of the flash in the eye image, and processing the eye image by pupil identification module 712 to identify a two-dimensional location of the pupil in the eye image.
[0215] In block 1130, the wearable system may estimate the three-dimensional positions of the user's left and right corneas relative to the wearable system. As an example, the wearable system may estimate the positions of the centers of curvature of the user's left and right corneas and the distances between those centers of curvature and the user's left and right corneas. Block 1130 may involve a 3D corneal center estimation module 716 that identifies the positions of the centers of curvature as described herein in connection with at least Figures 7A and 8A-8E.
[0216] In block 1140, the wearable system may estimate the three-dimensional location of the user's left and right pupil centers relative to the wearable system. As an example, the wearable system and 3D pupil center locator module 720 may estimate the location of the user's left and right pupil centers as part of block 1140, particularly as described in connection with at least Figures 7A and 9D-9G.
[0217] In block 1150, the wearable system may estimate the three-dimensional location of the user's left and right center or rotation (CoR) relative to the wearable system. As an example, the wearable system and CoR estimation module 724 may estimate the location of the CoR for the user's left and right eyes, particularly as described in connection with at least FIGS. 7A and 10. As a particular example, the wearable system may find the CoR of the eye by going backwards along the optical axis from the center of curvature of the cornea towards the retina.
[0218] In block 1160, the wearable system may estimate the user's IPD, convergence depth, center of gaze (CoP), optical axis, visual axis, and other desired attributes from the eye tracking data. As an example, as part of block 1160, the IPD estimation module 726 may estimate the user's IPD by comparing the 3D positions of the left and right CoR, the convergence depth estimation module 728 may estimate the user's depth by finding the intersection (or near the intersection) of the left and right optical axes or the intersection of the left and right visual axes, the optical axis determination module 722 may identify the left and right optical axes over time, the optical axis / visual axis mapping module 730 may identify the left and right visual axes over time, and the CoP estimation module 732 may identify the left and right centers of gaze.
[0219] In block 1170, the wearable system may render content and, optionally, provide feedback regarding alignment (i.e., the fit of the wearable system with the user's head) based in part on the eye tracking data identified in blocks 1120-1160. As an example, the wearable system may identify a suitable location for a rendering camera, as discussed in connection with the light field rendering controller 618 (FIG. 7B) and the rendering engine 622, and then generate content for the user based on the location of the rendering camera. As another example, the wearable system may determine whether it is properly fitted to the user or has slipped out of its proper place relative to the user, as discussed in connection with the alignment observer 620 and in connection with block 1608 of FIG. 16, and may provide optional feedback to the user indicating whether the fit of the device needs to be adjusted. In some embodiments, the wearable system may adjust rendered content based on improper or sub-ideal alignment in an attempt to reduce, minimize, or compensate for the effects of improper or misaligned alignment, as discussed in connection with block 1610 of FIG. 16 . (Device Alignment Overview)
[0220] In order for the wearable system 200 described herein to output images of high perceived quality, the display 220 of the wearable system 200 (FIG. 2) is preferably properly fitted to the user (e.g., positioned and oriented relative to the user's head such that the inputs and outputs of the system 200 properly interface with corresponding portions of the user's head, and such that the device is stable and comfortable to wear and use). As an example, for the display 220 to provide visual content to the user's eyes, the display 220 is preferably located directly in front of the user's eyes, and depending on the relative nature of the display 220, the user's eyes are preferably located within a particular volume (e.g., see further discussion associated with FIGS. 13A and 13B). As additional examples, speakers 240 are preferably located near, on, or in the user's ears to provide high quality audio content to the user, audio sensors (e.g., microphones) 232 are preferably located within a particular area to receive sound from the user, and an inwardly facing imaging system 462 (which may include one or more cameras 324 and one or more infrared light sources 326) is preferably suitably positioned and oriented to obtain a clear, unobstructed image of the user's eyes (which may be part of an eye tracking system). These are merely examples of various reasons why the wearable system 200 is preferably suitably fitted to the user.
[0221] To ensure that the wearable system 200 is properly aligned to the user, the wearable system 200 may include an alignment observer, such as the alignment observer 620 of FIG. 6. In some embodiments, a properly aligned wearable system 200 includes a display that is positioned such that one or both eyes of the user receive sufficient image light to be able to see substantially the entire field of view provided by the display 220 of the wearable display system 200. For example, a properly aligned display may enable an image to be visible across about 80% or more, about 85% or more, about 90% or more, or about 95% or more of the display's field of view with brightness uniformity of 80% or more, about 85% or more, about 90% or more, or about 95% or more. Brightness uniformity is the minimum luminance divided by the maximum luminance across the entire field of view of the display multiplied by 100% (100%×L min / L max )
[0222] Alignment observer 620 may use various sensors to determine the degree to which wearable system 200 is fitted on the user (e.g., whether display 220 of wearable system 200 is properly positioned on the user). As an example, alignment observer 620 may use inwardly facing imaging system 462, which may include an eye tracking system, to determine the degree to which relevant portions of wearable system 200 are spatially oriented relative to the user, in particular the user's eyes, ears, mouth, or other parts that interface with wearable system 200.
[0223] The alignment observer 620 may assist in a calibration process, such as an initial or subsequent configuration or setup of the wearable system 200 for a particular user. As an example, the alignment observer 620 may provide feedback to the user during the configuration or setup of the wearable system 200 for that particular user. Additionally or alternatively, the alignment observer 620 may continuously or intermittently monitor the alignment of the wearable system 200 on the user, checking for continued proper alignment during use, and may provide user feedback on the fly. The alignment observer 620 may provide user feedback, either as part of the configuration process or as part of alignment monitoring during use, indicating when the wearable system 200 is properly aligned and when the wearable system 200 is not properly aligned. The alignment observer 620 may also provide specific recommendations for how the user may correct any alignment misalignments and achieve proper alignment. As examples, the alignment observer 620 may recommend that the user push the wearable device back upward after detecting a slippage of the wearable device (such as down the bridge of the user's nose), may recommend that the user adjust some adjustable component of the wearable device (e.g., as described herein in connection with Figures 15A and 15B), etc. (Example of alignment coordinate system)
[0224] 12A-12B illustrate an example eye position coordinate system that may be used to define the three-dimensional positions of a user's left and right eyes relative to a display of a wearable system described herein. As an example, the coordinate system may include axes x, y, and z. Axis z of the coordinate system may correspond to a depth, such as the distance between the plane in which the user's eyes are and the plane in which the display 220 is (e.g., a direction normal to the plane in front of the user's face). Axis x of the coordinate system may correspond to a left-right direction, such as the distance between the user's left and right eyes. Axis y of the coordinate system may correspond to an up-down direction, which may be a vertical direction when the user is standing upright.
[0225] FIG. 12A illustrates a side view of a user's eye 1200 and a display surface 1202 (which may be part of the display 220 of FIG. 2), while FIG. 12B illustrates a top-down view of the user's eye 1200 and the display surface 1202. The display surface 1202 may be located in front of the user's eye and may output image light to the user's eye. As an example, the display surface 1202 may comprise one or more out-coupled light elements, active or pixelated display elements, or may be part of a stack of waveguides, such as the stacked waveguide assembly 480 of FIG. 4. In some embodiments, the display surface 1202 may be planar. In some other embodiments, the display surface 1202 may have other topologies (e.g., curved). It should be understood that the display surface 1202 may be the physical surface of the display, or simply a plane or other imaginary surface from which it is understood that image light propagates from the display 220 to the user's eye.
[0226] As shown in FIG. 12A, the user's eye 1200 may have an actual position 1204 that is offset from a nominal position 1206, and the display surface 1202 may be at a position 1214. FIG. 12A also illustrates the corneal apex 1212 of the user's eye 1200. The user's line of sight (e.g., its optical axis and / or visual axis) may be substantially along a line between the actual position 1204 and the corneal apex 1212. As shown in FIGS. 12A and 12B, the actual position 1204 may be offset from the nominal position 1206 by a z-offset 1210, a y-offset 1208, and an x-offset 1209. The nominal position 1206 may represent a preferred position for the user's eye 1200 relative to the display surface 1202 (sometimes referred to as a design position, which may be generally centered within a desired volume). As the user's eye 1200 moves away from the nominal position 1206, the performance of the display surface 1202 may degrade, for example, as discussed herein in connection with FIG.
[0227] In addition, it should be understood that a default position for the rendering camera may be the nominal position 1206. As discussed herein, the display system may be configured to render content from the perspective of an imaginary rendering camera. As a result, various parameters of the rendering camera, such as focal length, may affect the appearance of the content provided to the user. For example, focal length may determine the magnification and size of the virtual content presented to the user. Thus, different focal lengths may be associated with different depth planes.
[0228] In some embodiments, the lens of the rendering camera may be positioned at a nominal position 1206 as a default, which is assumed to correspond to the center of rotation, which in this example may be understood to be point 1204. However, an offset of the center of rotation 1204 from the nominal position 1206 may cause undesirable viewer discomfort. It should be understood that, for example, magnification errors may occur from eye to eye, causing the virtual content to appear larger or smaller than intended. In some scenarios, if the focal length of the rendering camera is shorter than expected (e.g., as a result of the center of rotation of the user's eye being positioned behind the nominal position, but without compensating for this displacement or offset in the rendering space), the virtual content may appear smaller than intended. Similarly, if the focal length of the rendering camera is longer than expected (e.g., as a result of the center of rotation of the user's eye being positioned in front of the nominal position, but without compensating for this displacement or offset in the rendering space), the virtual content may appear larger than intended. If such magnification errors vary from eye to eye (e.g., as a result of one eye's center of rotation being located behind the nominal position and the user's other eye's center of rotation being located in front of the nominal position, but without proper compensation for these offsets in rendering space), the perceived size of the same virtual object may differ from eye to eye. This difference in size may cause the user a level of discomfort (e.g., potential eye strain and / or headaches from trying to resolve binocular size discrepancies).
[0229] In some embodiments, the focal length of the rendering camera may be determined based on the z-axis offset between the default position 1206 (the position assumed for the center of rotation) and the actual position of the center of rotation 1204. For example, if the center of rotation is located behind the nominal position, then the focal length of the rendering camera may be reduced (e.g., reduced by the offset amount). On the other hand, if the center of rotation is located in front of the nominal position, the focal length may be increased (e.g., increased by the offset amount).
[0230] Additionally, in some embodiments, the focal length of the rendering camera may also be calculated based on the depth plane being used by the system. For example, in some embodiments, the optics of the rendering camera may be assumed to follow the thin lens equation (1 / o+1 / i=1 / f), where o is the object distance (e.g., the depth plane on which the content is presented), i is a constant (e.g., the distance from the center of rotation to the user's retina), and f is the focal length. As discussed herein, the depth plane on which the content is presented has a set distance from the user. As a result, the quantities o and i are known, so the focal length may be determined by solving for f. In some implementations, the rendering camera focal length adjustment may be performed in conjunction with one or more operations described herein, such as step 1170 as described above with reference to FIG. 11 and step 1610 as described in more detail below with reference to FIG. 16. An example of an additive rendering camera adjustment scheme that may be employed by one or more of the systems described herein is "EYE CENTER OF ROTATION DETERMINATION, DEPTH PLANE SELECTION, No. 62 / 618,559, filed January 17, 2018, entitled "EYE CENTER OF ROTATION DETERMINATION, DEPTH PLANE SELECTION, AND RENDER CAMERA POSITIONING IN DISPLAY SYSTEMS," and U.S. Provisional Patent Application No. 62 / 702,849, filed July 24, 2018, both of which are incorporated by reference in their entireties herein.
[0231] 12A , it should be understood that a point or volume associated with the user's eye 1200 may be used to represent the position of the user's eye in the alignment analysis herein. The representative point or volume may be any point or volume associated with the eye 1200, preferably used consistently. For example, the point or volume may be on or within the eye 1200, or may be located away from the eye 1200. In some embodiments, the point or volume is the center of rotation of the eye 1200. The center of rotation may be determined as described herein and may have the advantage of simplifying the alignment analysis, since it allows a single display alignment volume that is generally symmetrically located on various axes within the eye 1200 and aligned with the optical axis to be utilized for the analysis.
[0232] FIG. 12A also illustrates that the display surface 1202 may be centered below the user's horizon (as seen along the y-axis when the user is looking straight ahead with their optical axis parallel to the ground) and tilted (relative to the y-axis). In particular, the display surface 1202 may be positioned slightly below the user's horizon such that the user would need to look down at approximately angle 1216 to see the center of the display surface 1202 when the eye 1200 is at position 1206. This may promote a more natural and comfortable interaction with the display surface 1202, particularly when viewing content rendered at a shorter depth (or distance from the user), as it may be more comfortable for the user to view content below the horizon than above it. In addition, the display surface 1202 may be tilted (relative to the y-axis), such as at angle 1218, such that when the user is looking at the center of the display surface 1202 (e.g., looking slightly below the user's horizon), the display surface 1202 is approximately perpendicular to the user's line of sight. In at least some embodiments, the display surfaces 1202 may also be shifted left or right (e.g., along the x-axis) relative to the nominal position of the user's eyes. As an example, when the user's line of sight is focused at a distance less than infinity, the left eye display surface may be shifted to the right and the right eye display surface may be shifted to the left (e.g., the display surfaces 1202 may be shifted towards each other) to strike the center of the display surfaces, which may increase user comfort during typical use on a wearable device. (Example of Display Alignment Volume)
[0233] 13A-13B illustrate an exemplary display alignment volume 1302a. The display alignment volume 1302a may represent a spatial volume within which the eye 1200 is positioned to receive image light from a display device. In some embodiments, the center of rotation of the user's eye is preferably located such that the eye aligns or receives image information from the display device. In some embodiments, when the center of rotation of the user's eye is located within the display alignment volume 1302a, the user is able to see the entirety of the image output by the display device with high brightness uniformity. For example, as described herein, a properly aligned display may allow the image to be seen across a percentage of the display's field of view of about 80% or more, about 85% or more, about 90% or more, or about 95% or more with brightness uniformity of 80% or more, about 85% or more, about 90% or more, or about 95% or more. In other words, a display with "good" alignment (as determined by module 772 of FIG. 7C, as an example) may have a brightness uniformity of 90% or more, a display with "acceptable" alignment may have a brightness uniformity of 80% or more, and a display with "failed" alignment may have a brightness uniformity of less than 80%.
[0234] Also, as described herein, the center of rotation 1204 may serve as a convenient reference point for referencing and determining the three-dimensional position of the user's eye. The center of rotation of each of the user's eyes may be determined using techniques described herein, such as by going backwards along the user's optical axis from the center of curvature of the cornea to the center of rotation (CoR). In general, however, any desired reference point associated with the user's eye may be utilized in the processes and systems described herein. The display alignment volume 1203 may represent a volume of space within which the display surface 1202 is capable of operating at near full potential (e.g., without significant degradation of the performance of the display surface 1202 of the type described in connection with FIGS. 15A and 15B). If the user's eye (e.g., the center of rotation 1204 of the user's eye) is not within the alignment volume 1302a, the user may experience degraded performance, and some or all of the content provided by the display surface 1202 may be partially obscured or completely invisible to the user.
[0235] As shown in FIG. 13A, the registration volume 1302a may have the shape of a frustum, which is the portion of a pyramid that remains after its upper portion is typically cut by a plane parallel to its base. In other words, the registration volume 1302a may be larger along the x and y axes when the user's eyes are closer to the display surface 1202 (see, e.g., FIGS. 12A and 12B) and smaller along the x and y axes when the user's eyes are further from the display surface 1202. A frustum is an example of a truncation in which a shear plane (e.g., a line along which a portion of the original shape is cut) is parallel to the base of the volume. In general, a registration volume such as volume 1302a may take the shape of a volume that is truncated in any manner, such as by one or more non-parallel shear planes (e.g., as shown in FIG. 13B) or by one or more non-planar shears.
[0236] The dimensions of the registration volume may depend on the specific implementation of the display surface 1202 and other elements of the wearable system. As an example, FIG. 13B illustrates that the registration volume 1302b may be angled relative to the display surface 1202. In the example of FIG. 13B, the portion of the registration volume 1302b closest to the display surface 1202 may be angled away from the display surface 1202 such that as the user's eyes move vertically (in the y direction) at the front of the volume (the z position closest to the display surface 1202), the user's eyes will move away from the display surface (along the z axis) and will need to remain inside the registration volume 1302b. In some embodiments, the shape of the registration volume 1302b may be based on the capabilities of the eye tracking system, which may not be able to track the user's eyes outside the angled volume 1302b of FIG. 13B.
[0237] The size and shape of the alignment volume may also depend on the nature of various portions of the display 220, which may include the display surface 1202. As an example, the display 220 may be a light field display with one or more waveguides (which may be stacked to provide multiple convergence-divergence cues to the user), an internal coupling element that receives light from an image input device and couples the light into the waveguides, a light dispersing element (sometimes also referred to as an orthogonal pupil expander (OPE)) disposed on the waveguides and disperses the light to the external coupling element, and an external coupling element (sometimes also referred to as an exit pupil expander (EPE)) that directs the light toward the viewer's eye. In some embodiments, as described herein, the display surface 1202 is the surface or part of a surface from which light with image information is output from the display system to form an image in the user's eye. For example, the display surface 1202 may be an area on a waveguide surface defined by an external coupling element or EPE, and the perimeter of the display surface 1202 is the perimeter of the area defined by the external coupling element or EPE. Further examples and details of light field displays and components of such displays are also described in connection with at least Figures 9A-9C of U.S. Provisional Patent Application No. 62 / 642,761, filed March 14, 2018, which is incorporated herein by reference in its entirety.
[0238] In some embodiments, the x-dimension of the registration volume 1302a may extend to approximately 3.0 mm, 3.0 mm, 3.5 mm, 4.0 mm, 4.5 mm, 4.7 mm, 5.0 mm, 5.5 mm, or 6.0 mm along the rear surface of the volume (e.g., the maximum distance along the z-axis from the display surface), or may be less than 3.0 mm or greater than 6.0 mm. Similarly, the y-dimension of the registration volume 1302a may extend to approximately 2.5 mm, 3.0 mm, 3.5 mm, 3.9 mm, 4.0 mm, 4.5 mm, 5.0 mm, 5.5 mm, or 6.0 mm along the rear surface of the volume, or may be less than 2.5 mm or greater than 6.0 mm. At the nominal x and y positions, the z dimension of the registration volume 1302a may range to approximately 7.0 mm, 7.5 mm, 8.0 mm, 8.5 mm, 9.0 mm, 9.5 mm, 10.0 mm, 10.5 mm, or 11.0 mm, or may be less than 7.0 mm or greater than 11.0 mm. The x and y dimensions may be larger at the front of the volume. As an example, the x and y dimensions of the registration volume at the front of the volume may be approximately 7.0 mm, 7.5 mm, 8.0 mm, 8.5 mm, 8.9 mm, 9.0 mm, 9.5 mm, 10.0 mm, 10.0 mm, 10.5 mm, 11.0 mm, 11.4 mm, 11.5 mm, 12.0 mm, or 12.5 mm, or may be less than 7.0 mm or greater than 12.5 mm. As a specific example, the dimensions of the alignment volume may include a z-dimension of approximately 9 mm, an x-dimension of approximately 4.7 mm at the rear of the volume and approximately 11.4 mm at the front of the volume, and a y-dimension of approximately 3.9 mm at the rear of the volume and approximately 8.9 mm at the front of the volume.
[0239] In at least some embodiments, there may be multiple alignment volumes, such as volumes 1302b and 1304, each associated with a different minimum level of display performance. As an example, volume 1304 in FIG. 13B may be smaller than volume 1302 and may represent a volume within which a user perceives all of the content provided by display surface 1202 with 100% brightness uniformity, while larger volume 1302b may represent a volume within which a user perceives at least 90% of the content provided by display surface 1202 with 100% brightness uniformity. Thus, in some embodiments, the display system may be configured to determine whether a user's eyes are within the alignment, i.e., viewing, volume of the display and / or may be configured to determine whether a user's eyes are within a threshold distance from the alignment volume. For example, in some embodiments, the smaller volume 1304 may be considered to be a baseline alignment or viewing volume, and the boundaries of the larger volume 1302b may be considered to define the limits of an acceptable threshold distance from the alignment volume. In some embodiments, if the display system determines that the eye position is above a threshold distance outside the viewing volume of the display system, the display system may be configured to provide feedback to the user indicating that the display and eye are not properly aligned for output, as discussed herein, and / or take action to mitigate display degradation caused by misalignment.
[0240] In some embodiments, the display alignment volume may be determined based, at least in part, on applications that are currently running or will be running on the system. For example, a larger display alignment volume (e.g., volume 1302b) may be adopted by the display system when launching an application in which only a portion of the field of view is utilized to display virtual content, such as a reading-based application in which the reading material may occupy only a portion (e.g., a central portion) of the display's field of view. As a result, the loss of a user's ability to perceive image content at the periphery of the field of view due to alignment misalignment may be imperceptible when launching such a reading-based application because the application may not present content at the periphery. As a result, a larger display alignment volume may be utilized to reduce unnecessary notifications to the user regarding alignment misalignment, for example, when such image alignment may not affect the content presented by the application running on the display system. Similarly, in another example, a larger display alignment volume (e.g., volume 1302b) may be employed by the display system when launching an application in which the head mounted display is expected to shift relative to the user's eyes, such as an athletically oriented application or another application that requires a relatively high level of user engagement and / or physical activity. In such an application, notification of an alignment misalignment may, for example, be considered distracting or otherwise detract from the user experience. That is, providing a larger display alignment volume reduces the likelihood that the display system will generate such a correction for the user. In some other embodiments, a smaller display alignment volume (e.g., volume 1304) may be utilized when launching an application in which it is desired to provide content across the full field of view of the display or to a peripheral portion of the field of view.Such applications may include immersive gaming applications in which content is displayed across the entire field of view of the display. In some implementations, the display alignment volume may be determined based on other factors, including user preferences, a user visual prescription, operating conditions of the system, and the like.
[0241] 13C and 13D illustrate an exemplary display alignment volume configured to use the eye's center of rotation as a reference point indicating the eye's position relative to the user's eye and the display surface. In particular, FIG. 13C illustrates an exemplary positioning of a display alignment volume, such as alignment volume 1302b, within the user's eye 1200. In the example of FIG. 13C, the center of rotation 1204 of the eye 1200 is approximately centered within the alignment volume 1302b. In addition, the alignment volume 1302b is illustrated with a depth of approximately 9 mm and exemplary dimensions at the midpoint of the depth axis of approximately 3.5 mm width and 3 mm height. As discussed herein, the dimensions of the alignment volume may vary and may relate to the nature of the various components of the wearable system. FIG. 13C also illustrates an eye structure 1340, which may be the lens or pupil of the eye 1200.
[0242] 13D shows a larger context in which the user's eyes 1200 are generally positioned within the alignment volume 1302b and view virtual content 1350 through the display surface 1202. As discussed herein, virtual content such as virtual content 1350 may be provided to the user with vergence and accommodation cues associated with a depth that exceeds the depth of the display surface 1202. In other words, the virtual content 1350 may appear to a user with eyes 1200 as being at a distance farther away from the user than the display 1202. Such an arrangement is illustrated in the example of FIG.
[0243] 13D , it should be understood that the display alignment volume 1302b may be an imaginary volume having boundaries defined by a projection from the perimeter of the display surface 1202 to a point inside the eye 1200. For example, the projection may define a pyramid, and the display alignment volume 1302b may be a frustum of that pyramid. Thus, the cross-sectional shape of the display alignment volume 1302b along a plane facing the display surface 1202 on the optical axis is similar to the shape created by the perimeter of the display surface 1202. For example, as shown, if the display surface 1202 is a square, then the cross-sectional shape of the display alignment volume 1302b is also a square. In addition, as also shown, if the center of the display surface 1202 is below the user's horizon, then the frustum may also be tilted such that the front center of the display alignment volume 1302b is also below the user's horizon. It should be understood that in some embodiments, the relevant perimeter of the display surface 1202 is the perimeter of the area of the display over which image light or display content is output. The boundaries of the display registration volume 1302b may be defined in the same coordinate system into which various features, such as the center of rotation 1204 of the eye 1200, are mapped, thereby enabling comparison between the display registration volume 1302b and these various features.
[0244] In some embodiments, the eye's center of rotation 1204 is centered within the frustum that defines the display alignment volume 1302b. However, it should be understood that the nominal location of the eye's center of rotation 1204 and / or the overall shape of the frustum may be determined experimentally or selected using criteria other than a projection from the display surface 1202 such that the display system is able to properly align the display and provide accurate feedback regarding the quality of the alignment and the level of alignment that may be acceptable, even if not ideal. (Examples of display performance at various alignment positions)
[0245] 14 illustrates how the performance of a display surface 1202 may vary with the position of a user's eye 1200. As shown, light rays from the display surface 1202 may be directed to the eye at an angle such that light rays from the edge of the display surface 1202 propagate inward toward the eye 1200. Thus, cone 1202' represents the cone of light output by the display surface 1202 to the eye 1200 forming an image.
[0246] As a result, as the display surface 1202 shifts relative to the eye 1200, the exit pupils of pixels corresponding to individual portions of the field of view do not reach the retina of the eye 1200, and the image appears dark in those portions of the field of view. The positions 1204a, 1204b, 1204c, and 1204d of the eye's center of rotation are effectively shifted relative to the idealized position 1204' of the center of rotation. That is, movement of the display surface 1202 relative to the eye 1200 may move the eye's center of rotation potentially outside the display alignment volume 1302a, 1304, 1302b (FIGS. 13A and 13B) for the display surface 1202. As discussed herein, the display alignment volume may be tied to the display surface 1202, e.g., the display alignment volume may be defined by a projection from the display surface 1202. As a result, as display surface 1202 moves relative to eye 1200, display alignment volumes 1302a, 1302b (FIGS. 13A and 13B) also move. FIG. 14 illustrates various positions of the centers of rotation of a user's eyes (e.g., positions 1204a, 1204b, 1204c, and 1204d), the relative positions of display surface 1202, and representations (e.g., representations 1400a, 1400b, 1400c, and 1400d) of how the content provided by display surface 1202 would be perceived by the user at each of the various positions.
[0247] In example 1400a, the center of rotation of the user's eye may be at position 1204a, which may be centered within an alignment volume, such as alignment volume 1300b (e.g., a volume in which image quality is high due to eye 1200 receiving substantially all of the image light output by display surface 1202 on its retina). Representation 1400a may represent a user's perception (or view) of content provided by display surface 1202 when the user's eye is at position 1204a. As shown by representation 1400a, the luminance for substantially all of the content across display surface 1202 may be uniform and at a full or near full brightness level.
[0248] In example 1400b, the center of rotation of the user's eyes may be at location 1204b, which is outside a preferred display alignment volume, such as volume 1304 (FIG. 13B), but may be within a secondary alignment volume, such as volume 1302b (e.g., a volume within which display performance is only slightly degraded). Representation 1400b may represent a user's perception (or view) of content provided by display surface 1202 when the center of rotation of the user's eyes is at location 1204b. As shown by representation 1400b, portion 1402 of an image along the right side of display surface 1202 may have a perception of reduced brightness (e.g., 50% brightness) due to misalignment of the user's eyes relative to display surface 1202.
[0249] In example 1400c, the center of rotation of the user's eyes may be at location 1204c, which may be outside (or on the outer edge of) a second alignment volume, such as volume 1302b (FIG. 13B). Representation 1400c may represent the user's perception (or view) of the content provided by display surface 1202 when the center of rotation of the user's eyes is at location 1204c. As shown by representation 1400c, portions 1406 along the edges of the displayed image perceived by the user appear completely (or nearly completely) darkened due to misalignment, and therefore cannot be seen by the user. In an arrangement in which some pixels of the display are below a perceived luminance level, the display may provide a reduced field of view (e.g., the user may not be able to perceive the full field of view that the display could otherwise present). In addition, there may be bands or portions 1404 of the image that have a gradually reduced brightness between the dark portions 1406 and the rest of the representation.
[0250] In example 1400d, the center of rotation of the user's eyes may be at location 1204d, which may be significantly out of the desired alignment volume. Representation 1400d may represent the user's perception (or view) of the content provided by display surface 1202 when the center of rotation of the user's eyes is at location 1204d. As shown by representation 1400d, due to significant alignment misalignment, a large portion 1410 of the image may appear completely (or nearly completely) dark to the user, and a substantial portion 1408 of the image may appear darkened.
[0251] It should be understood that, as discussed herein, the display system may be configured to increase the output light or perceived brightness of a portion of the display's field of view that experiences darkening due to misalignment. For example, in response to determining that a misalignment exists, as discussed herein, the display system may provide a notification in the form of a flag or instruction to the display to increase the amount of light output to the user for pixels that are expected to experience darkening due to misalignment. For example, in embodiment 1400b, pixels representing image information in portion 1402 may have their perceived brightness increased to mitigate the reduction in perceived brightness expected from the misalignment.
[0252] It should be understood that the ability to increase the brightness and compensate for darkening may decrease with high levels of misalignment. For example, in embodiment 1400d, areas 1410 may be dark due to the eye 1200 not receiving any light from pixels in those areas. As a result, increasing the brightness may reduce the darkening due to misalignment in portion 1402 (embodiment 1400b), but increasing the brightness may not be able to reduce the darkening in portion 1410 (embodiment 1400d) of the display where the misalignment prevents the eye from receiving any light at all. Portion 1410 is larger than portion 14, and as a rough indication, the size of the portion expected to be darkened may indicate whether increasing the brightness will be effective. That is, if the size (e.g., number of pixels) of the portion expected to be darkened is large enough, in some embodiments, it may be assumed that the misalignment is large enough that increasing the brightness will not be effective for most of those pixels. As a result, in some embodiments, the display system may be configured to compare the number of pixels in the portion that is expected to be darkened, and if the number exceeds a threshold, provide feedback to the user indicating that the display and eye are not properly aligned. (Example of Interchangeable Fitting Parts for Wearable Systems)
[0253] 15A and 15B show exploded perspective views of wearable system 220, which may include interchangeable fit components. In particular, FIG. 15A illustrates how wearable system 200 may include interchangeable back padding, such as pads 1500a, 1500b, and 1500c, while FIG. 15B illustrates how system 200 may include interchangeable forehead pads, such as pad 1502, and interchangeable nose bridge pads, such as pad 1504. These interchangeable pads may be used to adjust the fit of wearable system 200 for individual users, who may have varying anatomical attributes (e.g., the degree to which display 220 and frame 230 fit for a variety of different users). As an example, a user with a relatively small head may benefit from attaching relatively large back pads 1500a, 1500b, and 1500c to frame 230, while a user with a relatively large head may obtain better results (e.g., better optical performance and stability of frame 300 on its head) by attaching relatively small back pads or even omitting back pads. Similarly, a user with a prominent nose and / or forehead may benefit from smaller forehead pads 1502 and / or nose bridge pads 1504, while a user with a less prominent nose and / or forehead may benefit from larger forehead pads 1502 and / or nose bridge pads 1504. These are merely illustrative examples, and in general, determining the set of interchangeable pads that will provide the best fit for any particular user may be complicated. As described herein, the display system may display a notification to the user indicating that a different interchangeable fit part may be desirable to provide proper alignment of the display with the user.
[0254] 15A, the wearable system may include one or more housing openings 1510. The housing openings 1510 may be openings in the frame 230 and may optionally include lenses or other structures, such as optically transparent structures for mechanical protection of the display waveguide, as desired. The lenses in the housing openings 1510 may be clear (e.g., completely or nearly completely transparent) or may be partially opaque (e.g., to reduce the level of ambient light passing through the openings 1510). The openings in the frame 230 are illustrated in FIG. 15A as being generally circular, but may have any desired shape. Exemplary Process for Observing Device Alignment
[0255] 16 is a process flow diagram of an example method 1600 for monitoring device alignment and providing feedback regarding alignment or compensation for alignment misalignment in a wearable device. Method 1600 may be implemented by a wearable system described herein. An embodiment of method 1600 may be used by the wearable system to provide feedback regarding alignment (i.e., the fit of the wearable device with the user) based on data from an eye tracking system, adjust the display, and attempt to compensate for fit errors (e.g., alignment misalignment).
[0256] In block 1602, the wearable system may obtain a fit tolerance. The fit tolerance may include information associated with a display alignment volume, such as volume 1302a, 1302b, or 1304. In particular, the fit tolerance may include information associated with a nominal (e.g., normal) position of the user's eye relative to the wearable device, and may include information associated with the degree to which deviations from the nominal position affect device performance. As an example, the fit tolerance may include information regarding a range of nominal positions in which the wearable device is capable of interfacing with the user with at least some desired amount of performance (e.g., with no more than 50% darkening on any pixel in the display).
[0257] In block 1604, the wearable system may acquire alignment data. The alignment data may include spatial relationships between various components of the wearable system and associated parts of the user. As an example, the alignment data may include one or more of the following: a three-dimensional position of the user's left eye relative to the left eye display of the wearable system, a 3D position of the user's right eye relative to the right eye display, and a 3D position of the user's ear relative to the audio output (e.g., speaker, headphones, headset, etc.) of the wearable system. The wearable system may acquire the alignment data using any suitable mechanism. As an example, the wearable system may use an eye tracking camera 324 of the type shown in FIG. 3 (or other camera, which may or may not be an inward facing camera) to capture images of one or both of the user's eyes and determine the relative positions of the user's eyes and the wearable system. As another example, the wearable system may include a depth sensor, a pressure sensor, a temperature sensor, a light sensor, an audio sensor, or other sensors to measure or acquire alignment data, such as the position of the wearable device relative to the user.
[0258] In block 1606, the wearable system may determine fit characteristics. As an example, the wearable system may determine whether the user's left eye is within a left eye alignment volume (such as one of the volumes 1302a, 1302b, or 1304 for the left eye) and whether the user's right eye is within a right eye alignment volume (such as one of the volumes 1302a, 1302b, or 1304 for the right eye). Block 1606 may also involve determining the distance of the user's eyes (or other body parts) from their nominal positions. As an example, the wearable system may determine in block 1606 that at least one of the user's eyes is outside its respective display alignment volume, and the degree and direction to which the user's eyes are outside its display alignment volume. Information regarding the direction and magnitude of the alignment misalignment (e.g., the distance between the alignment volume or nominal position and the actual position of the user's eyes or other body parts) may be beneficially utilized in blocks 1608 and 1610.
[0259] In block 1608, the wearable system may provide the user (or some other entity) with feedback regarding the fit characteristics determined in block 1608. As an example, if the wearable system determines in block 1606 that the wearable device is too low relative to the user's eyes, the wearable system may provide the user with a notification in block 1608 suggesting that the user utilize an appropriate nose bridge pad 1504 (e.g., to add a nose bridge pad if none was previously attached, or to replace an existing nose bridge pad with a larger or higher nose bridge pad). Conversely, if the wearable device determines that it is too high relative to the user's eyes, the system may provide the user with a suggestion to use a smaller nose bridge pad or to remove the pad entirely (if designed to be wearable without the pad). As other examples, the wearable system may provide feedback to the user suggesting modifications to a forehead pad such as pad 1502, a back pad such as pads 1500a-1500c, modifications to other adjustable components of the wearable system, modifications to the way the user is wearing the wearable system (e.g., instructions to move or rotate the system in a particular direction relative to the user). In general, user feedback may be generated based on other metrics such as the position of the user's eyes relative to the display or visible image portions identified by the system. As an example, if the system determines that the user's eyes are above the alignment volume, the system may recommend to the user that the user push the wearable device up along the bridge of their nose to correct the alignment misalignment.
[0260] User feedback may be provided using any suitable device. As an example, user feedback may be provided via video presented by a display within the wearable device or an external display, or via audio presented by the wearable device or an external device. In various embodiments, the wearable device may provide an interactive guide to assist the user in obtaining proper alignment in a relatively intuitive manner. As an example, the wearable device may display two virtual targets, one representing the position of the user's eyes and the other representing the nominal alignment position. Then, as the user moves the wearable device and adjusts its fit, the user can perceive the degree to which the adjustment affects the alignment, and the user can quickly and intuitively achieve proper alignment.
[0261] In arrangements in which user feedback is provided by an output device, such as a display that is part of the wearable device, the wearable device may provide user feedback in a manner that ensures that the user is able to perceive the feedback. As an example, consider representation 1400d of Figure 14. In such an example, the wearable system may move the user feedback into the portion of the displayed image perceived by the user, e.g., the left half of the display, as opposed to the non-visible right half of the display in example 1400d of Figure 14.
[0262] In some embodiments, feedback of the type described herein may be provided to a salesperson in a retail environment, and the feedback may be communicated over a network to the salesperson's computer or mobile device.
[0263] In block 1608, the wearable system may adjust its outputs and inputs to compensate for the uncorrected fit error. In some embodiments, block 1608 may be performed only after the user fails to correct the fit error in response to feedback. In other embodiments, block 1608 may be performed until the user corrects the fit error. In some embodiments, block 1608 may be performed each time the user decides to continue using the wearable system with the fit error. In some embodiments, block 1608 may be omitted.
[0264] As an example, the wearable system may adjust its outputs and inputs in block 1608 by adjusting portions of the displayed image (e.g., to compensate for misalignment induced darkening of the type shown in FIG. 14 ), by adjusting the microphone input (e.g., increasing the microphone gain when the user is too far from the microphone or decreasing the microphone gain when the user is too close to the microphone), by adjusting the speaker output (e.g., increasing or decreasing the speaker volume when the user is too close or too far from the speaker in the wearable device, respectively). As one particular example, the wearable system may selectively increase the brightness of portions of the image, such as portions 1402, 1404, or 1408 of FIG. 14 in an attempt to reduce misalignment induced darkening. In some other embodiments, the wearable system may recognize that certain portions of the image, such as portions 1406 or 1410 of FIG. 14 , are not visible to the user and may reduce light output in those areas to reduce energy consumption by the wearable system. For example, in a configuration where different portions of an image may have dedicated selectively activated light sources or portions of light sources, one or more light sources or portions of light sources associated with non-visible portions of the image may have their light output reduced or turned off. Example of Identifying a Display Alignment Volume
[0265] 17A-17H illustrate views of light fields projected by a display and how intersections of the light fields may partially define a display alignment volume. FIG. 18 illustrates top-down views of overlapping light fields projected by a display and how intersections of the light fields may partially define a display alignment volume. As FIGS. 17A-17H and 18 illustrate, the size and shape of the display alignment volume may depend, in part, on the geometry of the display (which may be display 220 of FIG. 2) and the angle at which the out-coupled light propagates out of the display (e.g., out of a waveguide display). It should be understood that the angle at which the light is output may define the FOV of the display. That is, a larger angle relative to the normal provides a larger FOV. In some embodiments, the display surface may output an angle large enough to provide a desired FOV.
[0266] 17A-17H and 18 illustrate a display 220, which may be a light field display (which may form the display surface 1202, also illustrated in various other figures herein, including FIGS. 12A-14), including elements such as a waveguide 1701, an internal coupling element 1702, an orthogonal pupil expander (OPE) 1704, and an exit pupil expander (EPE) 1706. As an example, the internal coupling element 1702 may receive light from an image source and couple the light into the waveguide 1701. The waveguide 1701 may transmit the light to the OPE 1704, which may provide pupil expansion and direct the light to the EPE 1706, which may provide further pupil expansion and transmit the light to the user's eye. Further examples and details of light field displays and components of such displays are also described in connection with at least Figures 9A-9C of U.S. Provisional Patent Application No. 62 / 642,761, filed March 14, 2018, which is incorporated by reference in its entirety herein.
[0267] FIG. 17A illustrates an example in which the display 220 projects light 1710 associated with virtual image content at optical infinity and in a rightmost region (e.g., rightmost pixel) of the display's FOV. In contrast, FIG. 17B illustrates an example in which the display 220 projects light 1712 associated with an object at optical infinity and in a leftmost region (e.g., leftmost pixel) of the display's FOV. FIG. 17C illustrates an overlap region 1714 of the light 1710 of FIG. 17A and the light 1712 of FIG. 17B. The region 1714 may be a horizontal alignment volume. In particular, when the user's eyes are positioned within the region 1714 of FIG. 17C, the user may perceive the object in both the rightmost region of the FOV (as in FIG. 17A) and the leftmost region of the FOV (as in FIG. 17B) (e.g., the display 220 may provide the user with light therefrom).
[0268] Figures 17D-F illustrate examples similar to those of Figures 17A-17E, but in the vertical direction. In particular, Figure 17D illustrates an example in which the display 220 projects light 1716 associated with optical infinity and an object in the bottom region (e.g., bottom pixel) of the display's FOV, while Figure 17E illustrates an example in which the display 220 projects light 1718 associated with optical infinity and an object in the top region (e.g., top pixel) of the display's FOV. Similarly, Figure 17F illustrates an overlap region 1720 of light 1716 of Figure 17D and light 1718 of Figure 17E. Region 1720 may be a vertical alignment volume. In particular, when the user's eyes are positioned within region 1720 of FIG. 17F, the user can perceive objects in both the bottom region of the FOV (as in FIG. 17D) and the top region of the FOV (as in FIG. 17E) (e.g., display 220 can provide the user with light therefrom).
[0269] 17G and 17H illustrate the intersection (as region 1722) of region 1714 of FIG. 17C and region 1720 of FIG. 17F. In particular, FIG. 17G illustrates region 1722 in which light from objects at the four corners of the FOV of display 220 overlap. FIG. 17H merely illustrates the outline of region 1722. As should be apparent, when a user's eyes are positioned within region 1722, the user can perceive objects anywhere within the FOV of the display (e.g., display 220 can provide the user with light therefrom). In some embodiments, the registration volume of display 220 can be understood to be the viewing volume of the head mounted display through which light representing all pixels of the virtual image content presented by the head mounted display is expected to pass.
[0270] In some embodiments, increasing the FOV of the display 220 (horizontally, vertically, or in a combination thereof) while holding other attributes (such as display size) constant may have the effect of shrinking the associated alignment volume (e.g., horizontal volume 1714, vertical volume 1720, or combined alignment volume 1722). As an example, consider FIGS. 17A-C and the horizontal FOV and alignment volume 1714. An increase in the horizontal FOV of the display 220 means that light 1710 from an object on the right horizontal edge is projected by the display surface 1202 (e.g., EPE 1706) at a more acute angle (e.g., a greater angle from the normal to the display surface 1202). Similarly, light 1712 from an object on the left horizontal edge is also projected at a more acute angle. Thus, in the perspective of FIG. 17C, the apex of the horizontal alignment volume 1714 moves toward the display surface 1202 as the horizontal FOV increases, thereby shrinking the volume 1714. Similar considerations may be applied in some embodiments to the vertical FOV and vertical registration volume and the overall FOV and overall registration volume.
[0271] FIG. 18 shows a top-down view of a display 220, including a display surface 1202, which may have a rectangular shape and a particular FOV, and light rays produced by the display. In general, the registration volume of the display 220 of FIG. 18 may be volume 1802, which appears triangular in the top-down view of FIG. 18. Volume 1802 may represent a volume in which the various light fields formed by the lights shown in FIGS. 17A-17G overlap. It should be understood that if the user's eyes are located outside volume 1802 (e.g., within volume 1804), light of the light field from at least a portion of the display 220 will not be able to reach the user's eyes, resulting in partial or complete darkening of a portion of the FOV.
[0272] Note that the side view of the display and the alignment volume would have approximately the same appearance (at least for a rectangular display) as that shown in FIG. 18, but the illustrated dimension of the display 220 would be its height rather than its width, and the illustrated FOV would be the vertical FOV rather than the horizontal FOV shown in FIG. 18. Thus, the volume 1802 may in fact have an approximately pyramidal shape. In other embodiments, the display may have a non-rectangular shape, such as a circular shape, an elliptical shape, a freeform shape, or any other desired shape. In such embodiments, the corresponding alignment volume may be determined by projecting the light fields onto the relevant FOVs and identifying where the light fields intersect (which may correspond to volume 1802) and where they do not intersect (which may correspond to volume 1804).
[0273] As discussed herein, the "base" of the pyramid may be truncated (which may help move the user's eye away from the display when properly aligned so that the user's eyelashes do not affect the display) and the "top" of the pyramid may also be truncated (which may be useful in reducing the effect of noise in determining the location of the user's eye, which may otherwise move quickly in and out of alignment at the "top" of the pyramid-shaped alignment volume). It should be understood that the "top" is proximate the apex of the volume 1802 and the "base" is proximate the waveguide 1701. When the user's eye is located within a region 1804 outside the alignment volume 1802, the user may perceive a darkening of some or all of the pixels of the display 220, as discussed herein (see, e.g., FIG. 14).
[0274] In general, the alignment volume may be adjusted (e.g., truncated or otherwise reduced) in any number of ways for a variety of reasons. As an example, the alignment volume may be truncated such that the volume has a minimum distance from the display 220 to prevent the user's eyelashes or eyelids from affecting the display 220. As a result, in some embodiments, the display system (e.g., the processing electronics of the display system) may be configured to determine whether the user's eyes are within the alignment volume 1802, at least in part, by determining whether one or both eyes are less than a minimum threshold distance (e.g., a minimum acceptable distance) from the display 220. If the eye is determined to be less than the minimum threshold distance from the display, the display system may interpret this result to mean that the eye is outside the alignment volume 1802 and therefore the display and eye are not properly aligned. As a result, the display system may provide feedback to the user indicating that the alignment is improper, as discussed herein, and / or may be configured to take action to mitigate display degradation caused by misalignment. In some implementations, such a minimum threshold distance may vary in one or more dimensions, for example, the minimum threshold distance may vary linearly along the z-axis as a function of distance from the nominal position and / or surface of the display.
[0275] In addition to or as an alternative to determining whether the eye is within a minimum distance from the display 220, in some embodiments, the display system (e.g., the processing electronics of the display system) may be configured to determine whether the user's eye is within the alignment volume 1802, at least in part, by determining whether one or both eyes are above a maximum threshold distance from the display 220. It should be appreciated that the maximum threshold distance may correspond to the distance at which the "top" of the pyramid 1802 described above is truncated. If the eye is determined to be above the maximum threshold distance from the display, the display system may interpret this result as meaning that the eye is outside the alignment volume 1802 and therefore the display and eye are not properly aligned. As a result, the display system may provide feedback to the user indicating improper alignment, as discussed herein, and / or may be configured to take action to mitigate display degradation caused by misalignment.
[0276] In addition to or as an alternative to determining whether the eye is within a minimum distance and / or exceeds a maximum distance from the display 220, the wearable system may have an eye tracking system, including elements such as the camera 324 and light source 326 of FIG. 6, that may only track the user's eye if the user's eye is within an eye tracking volume that may not exactly overlap with the display alignment volume. In some embodiments, the camera of the eye tracking system may have a field of view that encompasses the display alignment volume. Thus, the display alignment volume may be considered a subspace or portion of the camera's field of view. The display system may be configured to determine whether the user's eye, as imaged by the camera, is within that subspace or within a threshold distance from that subspace. If the eye is within the subspace or within a threshold distance from the subspace, the display system may interpret this result to mean that the eye is within the display alignment volume. If the eye is outside the subspace or outside the threshold distance from the subject, the display system may interpret this result to mean that the eye is outside the display alignment volume. If the display system determines that the eye is outside the display alignment volume, the display system may be configured to display and provide feedback to the user indicating that the display and eye are not properly aligned for output, as discussed herein, and / or may be configured to take action to mitigate display degradation caused by misalignment. Example of Enclosure Alignment Volume and System Alignment Volume
[0277] FIG. 19A illustrates an exemplary housing alignment volume 1900. Light from the surrounding environment passes through an opening in the frame or housing of the display to reach the user. It should be understood that the frame or housing for the display may block some ambient light from some angles from reaching the user's eyes. As a result, similar to the display alignment volume, the housing alignment volume 1900 may represent a spatial volume within which the user's eyes are positioned to receive light from the external environment and create a full field of view available through the display housing or frame. In some embodiments, the center of rotation of the user's eyes is preferably located within the housing alignment volume 1900 such that the eyes receive light from the external environment at an angle corresponding to the full available field of view. In some embodiments, when the center of rotation of the user's eyes is located within the housing alignment volume 1900, the user is able to see an acceptable portion of the world around them. Proper alignment of the user's eyes and the wearable system (e.g., by providing a center of rotation within the housing alignment volume 1900) may help reduce the likelihood that the user will be able to see obstacles in their path, may provide the user with left and right fields of view that overlap and promote binocular vision, and / or may provide the user with a more comfortable visual experience.
[0278] 19A, the housing alignment volume 1900 may be determined in part or in whole with reference to the housing opening 1510, which may be an opening (or lens) in the frame 230 of the wearable system, as described above in connection with FIG. 15A. The housing alignment volume 1900 may have a cone-like shape, with a base defined by the shape and size of the housing opening 1510, as an example. The portions of the cone-like shape closest to the housing opening 1510 and the portions furthest from the housing opening 1510 may be truncated (e.g., excluded from the housing alignment volume 1900), which may help move the user's eyes away from the display and housing opening 1510 so that the user's eyelashes do not affect the display when properly aligned, and may help reduce the effects of noise in determining the location of the user's eyes, which may otherwise rapidly go in and out of alignment within a small volume at the "top" of the cone-shaped alignment volume. In some embodiments, the display system may be configured to determine whether the user's eye (e.g., the eye's center of rotation) is within the housing alignment volume 1900 and provide a notification of alignment misalignment if the user's eye is outside the alignment volume 1900.
[0279] 19B illustrates the display alignment volume 1302a (associated with the display surface 1202) of FIG. 13A superimposed on the housing alignment volume 1900 (associated with the housing opening 1510) of FIG. 1900. In at least some embodiments, it may be desirable for the center of rotation of the user's eyes to be located within both the housing alignment volume 1900 of FIG. 19A and a display alignment volume such as the display alignment volume 1302a of FIG. 13A (or any of the other display alignment volumes discussed herein). When the user's eyes are located within both the housing and the display alignment volume, the user may be able to receive image information from the display device (with a full field of view provided by the display device) while also being able to view the full field of view of the external environment provided by the housing.
[0280] FIG. 19C illustrates an example of a combined alignment volume 1902 in which all points within the combined alignment volume 1902 are within both the housing and display alignment volumes (e.g., within the display alignment volume 1302a and the housing alignment volume 1900). As shown in FIGS. 19B and 19C, in at least some embodiments, the display alignment volume 1302a may be generally smaller than the housing alignment volume 1900 (e.g., the housing alignment volume 1900 may be smaller only at the corners of the display alignment volume 1302a). In such an embodiment, the combined alignment volume 1902 may have a shape similar to a truncated pyramid with rounded corners, as illustrated in FIG. 19C. In some embodiments, the display system may be configured to determine whether the user's eyes (e.g., the eye's center of rotation) are within the housing alignment volume 1900, the display alignment volume 1204, or both the housing alignment volume 1900 and the display alignment volume 1204. If the user's eye is outside of a particular volume being analyzed, the display system may be configured to provide a notification of misalignment if the user's eye is outside of the alignment volume being analyzed (e.g., the housing alignment volume 1900, the display alignment volume 1204, or both the housing alignment volume 1900 and the display alignment volume 1204).
[0281] For example, in some embodiments, the combined overlapping registration volume defined by the housing registration volume 1900 and the display registration volume 1204 may be analyzed to determine whether the user's eyes are within this combined registration volume. In some embodiments, this may be understood to be a portion or sub-space of the housing's registration or viewing volume, which may also be referred to as the outer housing. The display system may be configured to determine whether the user's eyes are within this sub-space (or an acceptable threshold distance outside the sub-space). If the display system determines that the eye position is above a threshold distance outside the sub-space of the viewing volume of the outer housing of the display, feedback may be provided to the user indicating that the display and eyes are not properly aligned. (Computer vision for detecting objects in the environment)
[0282] As discussed above, the display system may be configured to detect objects or properties thereof in the environment surrounding the user. Detection may be accomplished using a variety of techniques, including various environmental sensors (e.g., cameras, audio sensors, temperature sensors, etc.), as discussed herein.
[0283] In some embodiments, objects present in the environment may be detected using computer vision techniques. For example, as disclosed herein, a forward-facing camera of a display system may be configured to image the surrounding environment, and the display system may be configured to perform image analysis on the images to determine the presence of objects in the surrounding environment. The display system may analyze images obtained by an outward-facing imaging system to perform scene reconstruction, event detection, video tracking, object recognition, object pose estimation, learning, indexing, motion estimation, image restoration, and the like. As another example, the display system may be configured to perform face and / or eye recognition to determine the presence and location of faces and / or human eyes within the user's field of view. One or more computer vision algorithms may be used to perform these tasks. Non-limiting examples of computer vision algorithms include Scale Invariant Feature Transform (SIFT), Speed Up Robust Features (SURF), Orientation FAST and Rotation BRIEF (ORB), Binary Robust Invariant Scalable Keypoints (BRISK), Fast Retinal Keypoints (FREAK), Viola-Jones algorithm, Eigenfaces approach, Lucas-Kanade algorithm, Horn-Schunk algorithm, Mean-shift algorithm, visual simultaneous localization and mapping (vSLAM) techniques, sequential Bayes estimators (e.g., Kalman filter, extended Kalman filter, etc.), bundle adjustment, adaptive thresholding (and other thresholding techniques), iterative nearest neighbor (ICP), semi-global matching (SGM), semi-global block matching (SGBM), feature point histograms, various machine learning algorithms (e.g., support vector machines, k-nearest neighbor algorithms, naive Bayes, neural networks (including convolutional or deep neural networks), or other supervised / unsupervised models, etc.), and the like.
[0284] One or more of these computer vision techniques may also be used in conjunction with data obtained from other environmental sensors (e.g., microphones, etc.) to detect and determine various properties of objects detected by the sensors.
[0285] As discussed herein, objects within the surrounding environment may be detected based on one or more criteria. When the display system detects the presence or absence of a criterion within the surrounding environment using computer vision algorithms or using data received from one or more sensor assemblies (which may or may not be part of the display system), the display system may then signal the presence of the object. (Machine Learning)
[0286] Various machine learning algorithms may be used to learn to identify the presence of objects in the surrounding environment. Once trained, the machine learning algorithms may be stored by the display system. Some examples of machine learning algorithms may include supervised or unsupervised machine learning algorithms, including regression algorithms (e.g., ordinary least squares regression, etc.), instance-based algorithms (e.g., learning vector quantization, etc.), decision tree algorithms (e.g., classification and regression trees, etc.), Bayesian algorithms (e.g., naive Bayes, etc.), clustering algorithms (e.g., k-means clustering, etc.), association rule learning algorithms (e.g., a priori algorithm, etc.), artificial neural network algorithms (e.g., Perceptron, etc.), deep learning algorithms (e.g., Deep Boltzmann Machine, i.e., deep neural networks, etc.), dimensionality reduction algorithms (e.g., principal component analysis, etc.), ensemble algorithms (e.g., stacked generalization, etc.), and / or other machine learning algorithms. In some embodiments, individual models may be customized for individual data sets. For example, the wearable device may generate or store the base model. The base model may be used as a starting point to generate additional models specific to a data type (e.g., a particular user), a data set (e.g., a set of additional images acquired), a conditional situation, or other variations. In some embodiments, the display system may be configured to utilize multiple techniques to generate models for analysis of the aggregated data. Other techniques may include using predefined thresholds or data values.
[0287] The criteria for detecting the object may include one or more threshold conditions. If an analysis of the data obtained by the environmental sensors indicates that the threshold condition has been reached, the display system may provide a signal indicating detection of the presence of the object in the surrounding environment. The threshold condition may involve a quantitative and / or qualitative measurement. For example, the threshold condition may include a score or percentage associated with the likelihood that the reflection and / or object is present in the environment. The display system may compare the score calculated from the data of the environmental sensors to the threshold score. If the score is higher than the threshold level, the display system may detect the presence of the reflection and / or object. In some other embodiments, the display system may signal the presence of the object in the environment if the score is lower than the threshold. In some embodiments, the threshold condition may be determined based on the user's emotional state and / or the user's interaction with the surrounding environment.
[0288] In some embodiments, the threshold conditions, machine learning algorithms, or computer vision algorithms may be specialized for a specific context. For example, in a diagnostic context, a computer vision algorithm may be specialized to detect certain responses to stimuli. As another example, a display system may run a facial recognition algorithm and / or an event tracing algorithm to sense a user's reaction to a stimuli, as discussed herein.
[0289] It should be understood that each of the processes, methods, and algorithms described herein and / or depicted in the accompanying figures may be embodied in code modules executed by one or more physical computing systems, hardware computer processors, application-specific circuits, and / or electronic hardware configured to execute specific and particular computer instructions, and thereby may be fully or partially automated. For example, a computing system may include a general-purpose computer (e.g., a server) or a special-purpose computer programmed with specific computer instructions, special-purpose circuits, etc. The code modules may be written in a programming language that may be compiled and linked into an executable program, installed in a dynamic link library, or interpreted. In some implementations, certain operations and methods may be performed by circuitry specific to a given function.
[0290] Furthermore, certain embodiments of the functionality of the present disclosure may be sufficiently mathematically, computationally, or technically complex that special purpose hardware (utilizing appropriate specialized executable instructions) or one or more physical computing devices may be required to implement the functionality, e.g., due to the amount or complexity of the calculations involved, or to provide results in substantially real-time. For example, a video may contain many frames, each frame may have millions of pixels, and specifically programmed computer hardware may be required to process the video data to provide the desired image processing task or application in a commercially reasonable amount of time.
[0291] The code modules or any type of data may be stored on any type of non-transitory computer readable medium, such as physical computer storage devices, including hard drives, solid state memory, random access memory (RAM), read only memory (ROM), optical disks, volatile or non-volatile storage devices, combinations of the same, and / or the like. In some embodiments, the non-volatile computer readable medium may be part of one or more of the local processing and data module (140), the remote processing module (150), and the remote data repository (160). The methods and modules (or data) may also be transmitted as a data signal generated (e.g., as part of a carrier wave or other analog or digital propagated signal) over a variety of computer readable transmission media, including wireless-based and wired / cable-based media, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). The results of the disclosed processes or process steps may be stored persistently or otherwise in any type of non-transitory tangible computer storage device, or communicated via a computer readable transmission medium.
[0292] Any process, block, state, step, or functionality in the flow diagrams described herein and / or depicted in the accompanying figures should be understood as potentially representing a code module, segment, or portion of code that includes one or more executable instructions for implementing a specific function (e.g., logical or arithmetic) or step in the process. The various processes, blocks, states, steps, or functionality can be combined, rearranged, added, deleted, modified, or otherwise altered from the illustrative examples provided herein. In some embodiments, additional or different computing systems or code modules may perform some or all of the functionality described herein. The methods and processes described herein are also not limited to any particular sequence, and the blocks, steps, or states associated therewith can be performed in other sequences as appropriate, e.g., serially, in parallel, or in some other manner. Tasks or events may be added to or removed from the disclosed exemplary embodiments. Furthermore, the separation of various system components in the embodiments described herein is for illustrative purposes and should not be understood as requiring such separation in all implementations. It should be understood that the program components, methods, and systems described may generally be integrated together in a single computer product or packaged into multiple computer products. (Other considerations)
[0293] Each of the processes, methods, and algorithms described herein and / or depicted in the accompanying figures may be embodied in code modules executed by one or more physical computing systems, hardware computer processors, application-specific circuits, and / or electronic hardware configured to execute specific and particular computer instructions, and thereby may be fully or partially automated. For example, a computing system may include a general-purpose computer (e.g., a server) or a special-purpose computer programmed with specific computer instructions, special-purpose circuits, etc. The code modules may be written in a programming language that may be compiled and linked into an executable program, installed in a dynamic link library, or interpreted. In some implementations, certain operations and methods may be performed by circuitry specific to a given function.
[0294] Furthermore, certain implementations of the functionality of the present disclosure may be sufficiently mathematically, computationally, or technically complex that special purpose hardware (utilizing appropriate specialized executable instructions) or one or more physical computing devices may be required to implement the functionality, e.g., due to the amount or complexity of the calculations involved, or to provide results in substantially real-time. For example, a moving picture or video may contain many frames, each frame having millions of pixels, and specifically programmed computer hardware is required to process the video data to provide the desired image processing task or application in a commercially reasonable amount of time.
[0295] The code modules or any type of data may be stored on any type of non-transitory computer readable medium, such as physical computer storage devices, including hard drives, solid state memory, random access memory (RAM), read only memory (ROM), optical disks, volatile or non-volatile storage devices, combinations of the same, and / or the like. The methods and modules (or data) may also be transmitted as data signals (e.g., as part of a carrier wave or other analog or digital propagated signal) generated over a variety of computer readable transmission media, including wireless-based and wired / cable-based media, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). The results of the disclosed processes or process steps may be stored persistently or otherwise in any type of non-transitory tangible computer storage device, or communicated via a computer readable transmission medium.
[0296] Any process, block, state, step, or functionality in the flow diagrams described herein and / or depicted in the accompanying figures should be understood as potentially representing a code module, segment, or portion of code that includes one or more executable instructions for implementing a specific function (e.g., logical or arithmetic) or step in the process. Various processes, blocks, states, steps, or functionality may be combined, rearranged, added, deleted, modified, or otherwise altered from the illustrative examples provided herein. In some embodiments, additional or different computing systems or code modules may perform some or all of the functionality described herein. The methods and processes described herein are also not limited to any particular sequence, and the blocks, steps, or states associated therewith may be performed in other sequences as appropriate, e.g., serially, in parallel, or in some other manner. Tasks or events may be added to or removed from the disclosed exemplary embodiments. Furthermore, the separation of various system components in the implementations described herein is for illustrative purposes and should not be understood as requiring such separation in all implementations. It should be understood that the described program components, methods, and systems may generally be integrated together in a single computer product or packaged into multiple computer products. Many implementation variations are possible.
[0297] The process, method, and system may be implemented in a network (or distributed) computing environment. Network environments include enterprise-wide computer networks, intranets, local area networks (LANs), wide area networks (WANs), personal area networks (PANs), cloud computing networks, crowdsourced computing networks, the Internet, and the World Wide Web. The network may be a wired or wireless network or any other type of communication network.
[0298] The systems and methods of the present disclosure each have several innovative aspects, none of which is solely responsible for or required for the desirable attributes disclosed herein. The various features and processes described above may be used independently of one another or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of the present disclosure. Various modifications of the implementations described in the present disclosure may be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other implementations without departing from the spirit or scope of the present disclosure. Thus, the claims are not intended to be limited to the implementations shown herein, but should be accorded the widest scope consistent with the present disclosure, the principles, and novel features disclosed herein.
[0299] Certain features described herein in the context of separate implementations may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented separately in multiple implementations or in any suitable subcombination. Furthermore, although features may be described above as acting in a combination and may even be initially claimed as such, one or more features from the claimed combination may in some cases be deleted from the combination, and the claimed combination may be directed to a subcombination or variation of the subcombination. No single feature or group of features is required or essential to every embodiment.
[0300] In particular, conditional statements used herein, such as "can," "could," "might," "may," "eg," and the like, are generally intended to convey that certain embodiments include certain features, elements, or steps, while other embodiments do not, unless specifically stated otherwise or understood otherwise within the context as used. Thus, such conditional statements are generally not intended to suggest that features, elements, and / or steps are in any way required for one or more embodiments, or that one or more embodiments necessarily include logic for determining whether those features, elements, and / or steps should be included or performed in any particular embodiment, with or without authorial input or prompting. The terms "comprise," "include," "have," and the like, are synonymous and used inclusively in a non-limiting manner and do not exclude additional elements, features, acts, operations, etc. Also, the term "or" is used in its inclusive sense (and not its exclusive sense), so that, for example, when used to connect a list of elements, the term "or" means one, some, or all of the elements in the list. In addition, the articles "a," "an," and "the," as used in this application and the appended claims, unless otherwise specified, should be interpreted to mean "one or more" or "at least one."
[0301] As used herein, a phrase referring to a list of items "at least one of" refers to any combination of those items, including single elements. As an example, "at least one of A, B, or C" is intended to cover A, B, C, A and B, A and C, B and C, and A, B, and C. Transitive phrases such as "at least one of X, Y, and Z" are generally understood differently in the context in which they are used to convey that an item, term, etc. may be at least one of X, Y, or Z, unless specifically stated otherwise. Thus, such transitive phrases are generally not intended to suggest that an embodiment requires that at least one of X, at least one of Y, and at least one of Z, respectively, be present.
[0302] Similarly, although operations may be depicted in the figures in a particular order, it should be appreciated that such operations need not be performed in the particular order depicted, or in sequential order, or that all of the depicted operations need not be performed to achieve desirable results. Additionally, the figures may diagrammatically depict one or more exemplary processes in the form of a flow chart. However, other operations not depicted may also be incorporated within the diagrammatically depicted exemplary methods and processes. For example, one or more additional operations may be performed before, after, simultaneously with, or during any of the depicted operations. Additionally, operations may be rearranged or reordered in other implementations. In some circumstances, multitasking and parallel processing may be advantageous. Additionally, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems may generally be integrated together in a single software product or packaged into multiple software products. Additionally, other implementations are within the scope of the following claims. In some cases, the actions recited in the claims may be performed in a different order and still achieve desirable results.
Claims
1. A method for assessing alignment of virtual image content from a head mounted display system with a user's eyes, the head mounted display system comprising a display disposed on a frame supported on the user's head, the method comprising: determining a position of the eye based on images of the eye acquired using one or more eye-tracking cameras mounted on the frame; determining whether the position of the eye is greater than a first threshold distance outside a viewing volume of the head mounted display system; in response to determining that the position of the eye is greater than the first threshold distance outside the viewing volume of the head mounted display system, providing feedback to the user indicating that the display and the eye are not properly aligned; A method comprising:
2. Determining whether the position of the eye exceeds a first threshold distance outside the visual volume comprises: determining whether the position of the eye is less than a second threshold distance from the head mounted display system; in response to determining that the position of the eye is less than the second threshold distance from the head mounted display system, providing the feedback to the user indicating that the display and the eye are not properly aligned; The method of claim 1 , comprising:
3. The method of claim 1, further comprising obtaining a fit tolerance, the fit tolerance including information associated with changes in alignment of the virtual image content caused by dispersion of the user's eyes from a nominal position relative to the display system.
4. The method of claim 1, further comprising acquiring alignment data, wherein acquiring the alignment data comprises determining a spatial relationship between the display system and the user's eyes.
5. Identifying an application running on the display system; determining the first threshold distance based on the identified application; and The method of claim 1 further comprising:
Citation Information
Patent Citations
Wearable device, control method, and control program
JP2016207145A
Head mounted display with full field of view and high resolution
US20020181115A1
System for optimal eye fit of headset display device
US20140375540A1
Near-eye optic positioning in display devices
US20150035744A1
Method and apparatus to project image on retina at various focal depths utilizing flexible substrate containing optical array
US20150189266A1