Image correction due to deformation of components of viewing device
Patent Information
- Application Number
- JP2024135314
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-03-15
- Filing Date
- 2024-08-14
- Publication Date
- 2025-01-29
- Estimated Expiration
- 2039-03-15
AI Technical Summary
Viewing devices experience component deformation over time, leading to misalignment of rendered virtual objects relative to the user's gaze, causing inconsistencies in the perceived location of virtual objects within the real-world environment.
A display assembly with a deformation detection system that tracks the user's gaze direction and calculates deformations, adjusting the display to correct the position of virtual objects based on measured gaze direction changes.
Maintains accurate alignment of virtual objects relative to the user's gaze, ensuring consistent and realistic rendering of virtual content despite component deformations.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority from U.S. Provisional Patent Application No. 62 / 643,672, filed March 15, 2018, the entirety of which is incorporated herein by reference in its entirety.
[0002] 1) Field of the invention The present invention relates generally to viewing devices and methods for displaying rendered content, and more particularly to detecting and correcting deformations in components of a viewing device. [Background technology]
[0003] 2) Discussion of related fields Viewing devices that provide rendered images have become popular for computing, entertainment, and other purposes. Viewing devices are typically wearable devices with a display for rendering the images, and may include a variety of features, such as allowing a user to view three-dimensional images, allowing a user to view renderings in a real-world environment with or without fixing its location in the real-world environment, and the ability to display video or other moving renderings to the user.
[0004] The viewing device has various components that transform over time due to its use. As these components transform, the rendered virtual object may not be in its original location even when the viewing device was still new. For example, a background application may display a virtual object at a fixed location relative to the viewing device or at a fixed location relative to real-world objects surrounding the user. In some cases, the viewing device may have a see-through display so that the user may see the real-world object and perceive the rendered object at a fixed location relative to the real-world object. The user may perceive, for example, a rendered coffee mug on a table in the real world. As the components of the viewing device transform, the coffee mug may no longer be rendered on the table, but instead float at a distance above the table. The coffee mug is therefore not displayed to the user in a realistic manner. Additionally, if the coffee mug is used as an interface element for the user to interact with the background application, there may be a mismatch between where the background application expects the coffee mug to be and where the user interacts with the coffee mug. Summary of the Invention [Means for solving the problem]
[0005] The present invention provides a viewing device for displaying rendered content, comprising a display assembly configured to display a virtual object at a selected location on the display assembly, where an eye viewing the virtual object has an expected gaze direction, and a deformation detection system connected to the display assembly and configured to detect a measured gaze direction of the eye viewing the virtual object on the display assembly and calculate a deformation of the display assembly based on the measured gaze direction being an altered gaze direction different from the expected gaze direction.
[0006] The invention also provides a method of displaying rendered content, comprising the steps of: displaying a virtual object using a display assembly at a selected location on the display assembly, where an eye viewing the virtual object has an expected gaze direction; and detecting a deformation of the display assembly, where the deformation causes the virtual object to be visible at the modified location, where the eye has the modified gaze direction. For example, the present application provides the following: (Item 1) 1. A viewing device for displaying rendered content, comprising: a display assembly configured to display a virtual object at a selected location on the display assembly, the virtual object being viewed by an eye having an expected gaze direction; a deformation detection system coupled to the display assembly and configured to detect a measured gaze direction of the eye viewing the virtual object on the display assembly, and calculate a deformation of the display assembly based on the measured gaze direction being an altered gaze direction different from the expected gaze direction; A viewing device comprising: (Item 2) 2. The system of claim 1, further comprising a correction system connected to the deformation detection system for displaying the virtual object at a corrected location using the display assembly, wherein a measured gaze direction of the eye viewing the virtual object at the corrected location is a corrected gaze direction, and a difference between the expected gaze direction and the corrected gaze direction is less than a difference between the expected gaze direction and the modified gaze direction. (Item 3) 2. The system of claim 1, wherein the display assembly includes an optical display and the deformation is a deformation of the optical display. (Item 4) 4. The system of claim 3, wherein the optical display is deformed in a display deformation direction and the modified gaze direction is moved relative to the expected gaze direction in the display deformation direction. (Item 5) 5. The system of claim 4, wherein the optical display is transparent and the virtual object is viewable by the eye at a location on the side of the optical display facing the eye. (Item 6) The deformation detection system comprises: an eye tracking camera configured to capture light reflected from the eye; a gaze angle calculation module, the gaze angle calculation module being configured to calculate a measured gaze direction of the eye based on the light captured by the eye tracking camera; 4. The system according to item 3, comprising: (Item 7) 7. The system of claim 6, wherein the measured gaze direction calculated by the gaze angle calculation module is the altered gaze direction due to deformation of at least one of the eye tracking camera and the optical display. (Item 8) the difference between the expected gaze direction and the altered gaze direction is in a first direction, the change in the measured gaze direction due to deformation of the eye tracking camera is in a second direction, the first and second directions being less than 90 degrees relative to each other, and 8. The system of claim 7, further comprising a correction system connected to the deformation detection system for displaying the virtual object at a corrected location using the display assembly, the eye viewing the virtual object at the corrected location having a corrected gaze direction that is moved from the modified gaze direction toward the expected gaze direction. (Item 9) 8. The system of claim 7, wherein the change from the expected gaze direction to the altered gaze direction is in a first direction, and the change in the measured gaze direction due to deformation of the eye tracking camera is in a second direction, and the first and second directions are separated by more than 90 degrees with respect to each other. (Item 10) 10. The system of claim 9, further comprising a correction system connected to the deformation detection system for displaying the virtual object using the display assembly without moving the virtual object from the modified location. (Item 11) 10. The system of claim 9, further comprising a correction system connected to the deformation detection system for displaying the virtual object at a corrected location using the display assembly, wherein the eye viewing the virtual object at the corrected location has a measured gaze direction that is a corrected gaze direction, and the corrected gaze direction is moved from the modified gaze direction toward the expected gaze direction. (Item 12) a reference system for detecting changes in the measured gaze direction due to deformations of the eye tracking camera; a correction calculation unit that determines a change in the measured gaze direction due to a deformation of the display assembly by subtracting a change in the measured gaze direction due to a deformation of the eye tracking camera from a change in the gaze angle detected by the deformation detection system; and a correction system connected to the deformation detection system for displaying the virtual object at a corrected location using the display assembly, the eye viewing the virtual object at the corrected location having a corrected gaze direction that is moved in a direction opposite to a change in the gaze angle due to a deformation of the display assembly; and Item 12. The system of item 11, further comprising: (Item 13) The deformation detection system comprises: a statistical system configured to receive and analyze a plurality of measured gaze direction measurements; a gaze angle calculation unit for calculating a plurality of gaze directions, each gaze direction being associated with a separate measurement value; a correction calculation unit for determining said modified gaze direction based on a plurality of actual gaze direction measurements; 2. The system according to item 1, comprising: (Item 14) 2. The system of claim 1, wherein the deformation detection system includes an attention generation unit configured to modify a display of the virtual object and attract a user's attention to the virtual object before detecting the deformation. (Item 15) Item 15. The system of item 14, wherein the attention generation unit is configured to attract the user's attention by changing a color of the virtual object. (Item 16) Item 15. The system of item 14, wherein the attention generation unit is configured to attract the user's attention to the virtual object by reducing a size of the virtual object. (Item 17) 1. A method for displaying rendered content, comprising: displaying a virtual object at a selected location on the display assembly with a display assembly, the virtual object being viewed by an eye having an expected gaze direction; detecting a deformation of the display assembly, the deformation causing the virtual object to be viewable at a modified location and the eye having a modified gaze direction; A method comprising: (Item 18) Item 18. The method of item 17, further comprising displaying the virtual object at a corrected location using a display assembly, wherein the eye viewing the virtual object at the corrected location has a corrected gaze direction that is moved from the modified gaze direction toward the expected gaze direction. [Brief description of the drawings]
[0007] The invention will now be further illustrated by means of examples.
[0008] [Figure 1] FIG. 1 is a block diagram illustrating a viewing device for displaying rendered content to a user's eye according to one embodiment of the invention.
[0009] [Figure 2A] FIG. 2A is a perspective view of the eye and the optical display of a viewing device, where the optical display is undeformed.
[0010] [Figure 2B] FIG. 2B is a view similar to FIG. 2A, in which the optical display has been modified.
[0011] [Figure 3A] FIG. 3A is a perspective view illustrating how the location of a rendered object is established.
[0012] [Figure 3B] 3B and 3C are front views illustrating how a rendered object is moved. [Figure 3C] 3B and 3C are front views illustrating how a rendered object is moved.
[0013] [Figure 3D]FIG. 3D is a top plan view illustrating how the location of a rendered object can be moved using different insertion angles provided by a laser projector.
[0014] [Figure 4] FIG. 4 is a perspective view illustrating potential gaze vector errors.
[0015] [Diagram 5] 5A-5D illustrate a statistical approach for determining the likely location of a virtual object and the incremental movement of the virtual object to correct for its displacement.
[0016] [Figure 6] 6A-6C illustrate movement of a virtual object due to display deformation and correction of the movement of the virtual object.
[0017] [Figure 7] Figures 7A-7E illustrate the movement of a virtual object due to display deformation with corresponding changes in gaze angle (Figures 7A-7B), the effect of eye-tracking camera deformation on the calculated gaze angle (Figures 7C and 7D), and correction of the gaze angle (Figure 7E).
[0018] [Figure 8] 8A-8D illustrate the effect of the movement of a virtual object and the corresponding change in gaze vector (FIGS. 8A and 8B) and deformation of the eye-tracking camera on the calculated gaze angle (FIGS. 8C and 8D).
[0019] [Figure 9] FIG. 9 illustrates one solution for adjusting for the resulting change in gaze angle as depicted in FIG. 8D.
[0020] [Figure 10] 10A-10C illustrate a different solution than FIG. 9 for adjusting the gaze angle resulting from FIG. 8D.
[0021] [Figure 11] FIG. 11 is a view similar to FIG. 1, further illustrating a reference system of a vision device for purposes of integrating the process shown in FIGS. 10A-10C.
[0022] [Figure 12] FIG. 12 is a flow chart illustrating the functionality of the viewing device.
[0023] [Figure 13] FIG. 13 is a block diagram of a machine in the form of a computer that may find use in the inventive system, in accordance with one embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0024] 1 of the accompanying drawings illustrates a viewing device 20, in accordance with one embodiment of the invention, used to display rendered content to a user's eye 22. The viewing device 20 includes a display assembly 24, a deformation detection system 26, a user input device 28, and a correction system 30.
[0025] The display assembly 24 includes a video data receiver 32, a projector 34, and an optical display 36, which are connected directly or indirectly to each other. The display assembly 24 includes a structure (not shown) that is mountable to the user's head with the optical display 36 in front of the user's eyes 22. The optical display 36 is a transparent component that allows the eyes 22 to see real-world objects behind the optical display 36 and may simultaneously project virtual images to the user such that light associated with real and virtual objects is visible to the user.
[0026] The video data receiver 32 is connected or connectable to a video data channel that carries pixel color and intensity values. The projector 34 has a laser and a scanning device that are capable of creating a two-dimensional pattern based on the video data. The optical display 36 is located at a position for the laser of the projector 34 to couple the laser light into the optical display 36. The laser light then propagates through the optical display 36 and exits the optical display 36 through the pupil of the optical display 36 towards the eye 22. The eye 22 thus receives light from real-world objects behind the optical display 36 and light generated by the projector 34. An augmented reality view is then created on the retina 38 of the eye 22, which includes light from the real-world scene visible to the user through the optical display 36 combined with light created by the projector 34 that represents the virtual content.
[0027] The deformation detection system 26 includes an attention generation unit 40 , an input trigger 42 , an eye tracking camera 44 , a gaze angle calculation module 46 , a statistics system 48 and a correction calculation unit 50 .
[0028] The attention generation unit 40 is connected to the video data receiver 32. The attention generation unit 40 is configured to provide override functionality for the video data receiver 32. The attention generation unit 40 may, for example, insert a virtual object into the data stream received by the video data receiver 32, change the color of the virtual object, and / or reduce the size of the virtual object for the purpose of having the eye 22 orient its gaze angle toward and focus on the virtual object. Although the attention generation unit 40 is described, virtual content that may be used as a basis for calibrating an augmented reality system may generally be provided by a rendering system or module.
[0029] The input trigger 42 is coupled to the user input device 28 and detects user input through the user input device 28. The user input device 28 may be, for example, one or more of a joystick, a wand, a camera that tracks a body part of a user, a button, a touchpad, a sensor-equipped glove, a mouse, a keyboard, etc. The user input device 28 provides input to the input trigger 42.
[0030] An eye tracking camera 44 is mounted to the display assembly 24 at a position for capturing an image of the eye 22. In some embodiments, more than one camera per eye is used to image the user's eyes. Alternatively, a single camera with a wide enough angle to capture an image that includes both of the user's eyes may be used.
[0031] The gaze angle calculation module 46 is connected to the eye tracking camera 44 and the input trigger 42. The gaze angle calculation module 46 calculates the gaze angle of the eye 22 based on the image captured by the eye tracking camera 44. The gaze angle calculation module 46 is connected to the input trigger 42 and is activated by the input trigger 42 so that the gaze angle is calculated by the gaze angle calculation module 46 when a user input is detected. Although the system is described using a calculated gaze angle, any other eye gaze orientation characteristics may also be used, such as, for example, gaze vector, gaze coordinate, visual axis orientation, or corneal center location. In addition, gaze data from the left eye and the right eye may be used in combination to gather information about where the user's eyes are focused.
[0032] The statistics system 48 is connected to the gaze angle calculation module 46 and receives a number of gaze angle calculation measurements. The statistics system 48 records the gaze angles received from the gaze angle calculation module 46 each time the input trigger 42 activates the gaze angle calculation module 46. The statistics system 48 thus collects several gaze angles over a period of time. The statistics system 48 then calculates a statistically relevant gaze angle, for example, a median gaze angle from the gaze angles recorded by the statistics system 48. A representative gaze angle may be selected or calculated and used in comparison with an expected gaze angle associated with displaying virtual content. If the representative gaze angle is substantially different from the expected gaze angle, it is concluded that a deformation in the system is occurring.
[0033] The correction calculation unit 50 is connected to the statistics system 48. The correction calculation unit 50 calculates the desired corrections in the locations of the rendered virtual objects created or modified by the attention generation unit 40.
[0034] The correction system 30 is connected to a correction calculation unit 50. The correction system 30 receives correction data from the correction calculation unit 50. A video data receiver 32 is connected to the correction system 30. The correction system 30 corrects the locations of virtual objects created or modified by the attention generation unit 40. The correction system 30 also corrects the locations of all other objects in the video stream by the same amount and direction that the locations of the virtual objects generated and modified by the attention generation unit 40 are corrected.
[0035] In use, a user mounts the viewing device 20 on their head with the optical display 36 in front of the eye 22. The user can then see real-world objects through the see-through optical display 36 and simultaneously view rendered virtual content.
[0036] The video data receiver 32 receives video data from a background application. The background application may be, for example, a video application for displaying videos, games, a web browser, a menu, a launcher, two-dimensional content, three-dimensional content, or any other type of virtual content. The video data includes data representing frames of images received at a video data rate. The video data includes pixels with intensity and color values. The video data receiver 32 provides the video data to the projector 34. The projector 34 creates a two-dimensional pattern frame by frame. The pattern includes laser light bundles, each bundle representing an individual pixel, the intensity and color of which may be modulated. The projector 34 couples the pattern into the optical display 36, either directly or indirectly through a lens, mirror, grating, or the like. The pattern transmits through the optical display 36 and exits the optical display 36 towards the eye 22. The light beam 54 represents the light transmitted from the optical display 36 towards the eye 22. However, it should be understood that many light beams representing the virtual object are projected from the optical display 36 such that the image received by the retina 38 resembles the pattern created by the projector 34. In some embodiments, the virtual object may be perceived by the user to be three-dimensional due to one or more wavefront shaping techniques applied to the light representing the virtual object. A dynamic image may be viewed by the user in embodiments in which the pattern changes continuously with each frame of data provided by the video data receiver 32 to the projector 34.
[0037] The video data received by the video data receiver 32 includes data representing one or more objects to be displayed on the retina 38 of the eye 22. The virtual objects represented in the data received by the video data receiver 32 may in fact be displayed on the optical display 36. However, it is possible that such virtual objects are not visible or easily identifiable on the surface of the optical display 36 due to several factors, including that the optical display 36 is a see-through display and / or that the optical display 36 primarily serves as a waveguide for directing light between the projector 34 and the eye 22. The video data provided by the video data receiver 32 to the projector 34 still includes data representing the object, even if the virtual object may not be visible on the surface of the optical display 36. For purposes of discussion, it will be assumed that the virtual object or objects are visible on the surface of the optical display 36. However, it should be understood that for ease of illustration, multiple objects are shown on the surface of the optical display 36. The present invention is primarily concerned with a calibration methodology that is the same whether or not an object is actually visible on the surface of optical display 36 .
[0038] During normal operation of the viewing device, the attention generation unit 40 does not provide override functionality to the normal operation of the video data receiver 32. All video data is presented to the user at a video refresh rate without any interference of the deformation detection system 26. The deformation detection system 26 overrides the normal functionality of the video data receiver 32 only a few times per day (e.g., 50-100 consecutive uses per day) and takes measurements while the video data receiver 32 continues uninterrupted for the rest of the time. The user input device 28 and the eye tracking camera 44 are connected to background applications. During normal operation of the video data receiver 32, the user may use the user input device 28 to provide instructions to the background application or otherwise interact with virtual content rendered on the optical display 36 while the one or more eye tracking cameras 44 continue to monitor the eye 22. The user may, for example, use the user input device 28 to interact with virtual objects displayed to the user via the optical display 36 while the background application relies on the eye tracking camera 44 to know when the user is looking at a virtual object.
[0039] After factory calibration of the viewing device 20, there is little or no deformation of the display assembly 24. Objects displayed using the optical display 36 are in their expected location relative to the gaze angle of the eye 22. Over time with use of the viewing device 20, the components of the viewing device 20, including or connected to the display assembly 24, begin to deform. The deformation may be manifested in deformation of the optical display 36, deformation of the hinges, and deformation of the materials used in the structure that mounts the viewing device 20 to the user's head. The deformation is usually due to a combination of small or large stresses applied to the components of the display assembly 24 and the materials of the components of the display assembly 24. Stresses may be generated, for example, when the wires connected to the optical display 36 pull on the optical display 36, when the user fits or removes the viewing device 20 to his or her head, and when the user operates hinges, springs, or other dynamic components for the purposes of unpacking or storing the viewing device 20. The material properties of the components of the display assembly 24 may undergo fatigue when stressed repeatedly, and plastic materials are known to undergo "creep" when stressed over time. Some materials of the viewing device 20 may also undergo thermal loading, and such temperature changes may contribute to deformation of one or more components. As a result of the deformation, the actual locations where virtual objects appear to the user on the deformed viewing device 20 are not the intended rendering locations of those virtual objects. As a result, the user's actual gaze differs from the gaze that would be expected if the user were to be viewing virtual content rendered at its intended rendering location. In addition, the deformation is continuous, and therefore it is expected that the rendering location of the virtual object as perceived by the user will continue to move over time relative to the intended rendering location. The display assembly 24 initially displays the virtual object at the selected location, and the eye 22 has the expected gaze direction.The deformation of the display assembly 24 causes the virtual object to be visible in an altered location and the eye 22 to have an altered gaze direction.
[0040] One or more components of the deformation detection system 26 may be functionally and structurally connected to the display assembly 24 to detect deformation of the display assembly. The correction system 30 is connected to the deformation detection system 26. The correction system 30 displays a virtual object at a corrected location with the display assembly 24. When the virtual object is displayed at the corrected location, the eye 22 viewing the virtual object at the corrected location has a corrected gaze direction that is moved closer to the expected gaze direction than the modified gaze direction. The deformation detection system 26 provides an override or extended functionality to the normal operation of the viewing device 20 described above. The deformation detection system 26 is activated intermittently, for example, 10-20 times per hour during continuous operation. In addition, the deformation detection system 26 is activated only for a few seconds, for example, 3-7 seconds, which is as long as is needed to make measurements and make adjustments. The viewing device 20 operates normally during the remaining time.
[0041] The function of the deformation detection system 26 is initiated by the user input device 28 being connected to an input trigger 42 and activating the attention generation unit 40 while the eye tracking camera 44 continues to monitor the eye 22. The main requirement is that the user interacts with a rendered object received by the video data receiver 32 from a background application that is small enough to minimize gaze vector error. The attention generation unit 40 may also modify the color or reduce the size of the virtual object to help attract the user's attention and draw the eye 22 to the small spot where the virtual object is located. The video data receiver 32 provides data representing the virtual object to the projector 34. The projector 34 then generates light and projects the light representing the virtual object towards the optical display 36 for viewing by the user.
[0042] The virtual object being placed or modified by the attention generation unit 40 is of a type that requires the user to interact with the rendered virtual object using the user input device 28. Such a virtual object may be, for example, a play button, a target, an application launch icon, etc. When the user uses the user input device 28 to interact with the rendered virtual object, the user's eye 22 is assumed to be looking at the rendered virtual object on the optical display 36. The eye tracking camera 44 captures an image of the eye 22 and provides the image data to the gaze angle calculation module 46. The user input device 28 activates an input trigger 42, which instructs the gaze angle calculation module 46 to calculate the gaze angle of the eye 22 using the data received from the eye tracking camera 44. The gaze angle calculated by the gaze angle calculation module 46 represents the actual location of the rendered virtual object on the optical display 36 as perceived by the user.
[0043] The gaze angle calculation module 46 provides the gaze angle to the statistics system 48. The statistics system 48 stores the gaze angle. When the deformation detection system 26 is activated a second time, the process is repeated and the statistics system 48 stores the second gaze angle. The process is repeated until the statistics system 48 stores enough gaze angles to enable the statistics system 48 to calculate a statistically relevant modified gaze angle. The statistics system 48 may, for example, calculate a representative, average, or median gaze angle from the collected gaze angles. Although the statistics system may calculate a statistically relevant gaze angle from all measurements, it is preferred that the statistics system only use gaze angles that are outside a predetermined error range (e.g., 90 arc minutes) as data points for calculating a statistically relevant gaze angle. Alternatively, in some embodiments, rather than accumulating multiple measurements to calculate a statistically determined gaze angle before performing an incremental correction, each measured gaze angle determined to lie outside a tolerance of the expected gaze angle may result in an incremental correction to the rendering location of the virtual content.
[0044] The statistics system 48 provides the modified gaze angle to the correction calculation unit 50. The correction calculation unit 50 determines the amount of correction required in the gaze angle to return the gaze angle from the modified gaze angle to the expected gaze angle. The correction calculation unit 50 calculates both the direction and amount of the required correction, and then calculates an actual correction, which is a small fraction of the required correction. The correction calculation unit 50 then provides the actual correction to the correction system 30. The correction system 30 provides the correction to the video data receiver 32. The video data receiver 32 then moves the virtual object and all other objects generated by the attention generation unit 40 according to the direction and magnitude of the actual correction received from the correction system 30.
[0045] The statistics system 48 may require a large number of measurements, for example 50-100 measurements, before providing a modified gaze angle to the correction calculation unit 50. In addition, any correction made is a small fraction of the actual change in gaze angle due to the deformation of the display assembly 24. The cumulative correction is therefore a slow process. As an example, only a single correction may be made during 8 hours of continuous operation per day, and it may take days or weeks for the gaze angle to be corrected to within an acceptable range of expected gaze angles. Alternatively, several small corrections may be made during use of the device. The number of corrections may depend on the number of times the user interacts with the virtual content that is deemed reliable for the gaze angle calculation and rendering location calibration. Such a slow process allows for recalculation in case of mistakes and allows for continued acceleration and deceleration of the deformation of the display assembly 24 with little risk of overdoing the required corrections that need to be made given the continued deformation of the display assembly 24.
[0046] In FIG. 2A, the undeformed shape 60 represents the optical display 36 before deformation. A rendered object 62 is placed in the optical display 36 to attract the user's attention. When the user looks at the rendered object 62, an actual gaze vector 64 can be defined. The actual gaze vector 64 is the direction or axis along which the eye 22 is pointed for the purpose of viewing the virtual object. The actual gaze vector extends from the center point 22 of the eye 22 through the center of the eye's pupil. To calculate the actual gaze vector 64, one approach would be to first calculate the actual center point 22 of the eye 22. It may also be possible to calculate the actual gaze vector 64 without calculating the actual center point 22 of the eye 22, but instead using other anatomical information of the eye for that purpose. The expected gaze vector 64 extends through the optical display 36, and the user perceives the rendered object 62 as an augmented object 68. The augmented object 68 is located in the plane represented by the undeformed shape 70. Because the plane of the undeformed shape 70 is further than the plane of the optical display 36, the user perceives the augmented object 68 as larger than the rendered object 62, and perceives the field defined by the undeformed shape 70 as larger than the field defined by the undeformed shape 60. The user also perceives a table 72. The perception the user has is of the table 72 being augmented with the rendered virtual content represented in FIG. 2A by the augmented object 68.
[0047] A number of infrared light emitting diodes (LEDs) 74 may be included in the eye tracking system. Each LED 74 transmits infrared light that forms a separate infrared spot ("glint") 76 on the surface of the eye 22. Reference numeral 78 represents infrared light that reflects from the spots 76 toward the eye tracking camera 44. The eye tracking camera 44 captures the locations of all of the spots created by the LEDs 74 on the surface of the eye 22. The locations of the spots 76 are used by the gaze angle calculation module 46 to calculate the gaze angle or gaze vector of the eye 22. In some embodiments, the eye tracking camera may also capture the location of the pupil. The pupil location data can be used in combination with the infrared glint to determine eye position. The gaze angle or gaze vector may be calculated or otherwise determined based on the eye position information.
[0048] Expected gaze vector 64 is shown in FIG. 2A as passing through the center of rendered object 62 and augmented object 68. Reference numeral 82 represents light reflecting from eye 22, as captured by eye tracking camera 44. In some embodiments, eye tracking camera 44 thus captures eye orientation and location of pupil 80. Gaze angle calculation module 46 calculates an actual gaze vector (matching expected gaze vector 64 in FIG. 2A) using at least the location of the interactable rendered virtual content. In some embodiments, the location of eye 22 relative to optical display 36 may also be used.
[0049] It may not be necessary to perform measurements for the purpose of determining the pre-transformation gaze angle. For example, when the viewing device 20 is new, the display assembly 24 is not transformed, and the gaze angle of the eye 22 can be assumed to be as represented by the expected gaze vector 64 when the rendered object 62 is positioned as shown. The rendered object 62 can thus be positioned as shown, and the expected initial gaze vector 64 can be determined without any additional measurements. The expected and actual gaze angles will vary based on the location of the rendered content. An "initial" or "pre-transformation" gaze angle can be calculated, but the expected gaze vector can be assumed from a background application or from a previous calculation. The difference between the assumed expected gaze angle and the newly calculated actual gaze angle can then be calculated.
[0050] In FIG. 2B, shape 86 represents the deformation of the optical display 36. The deformation of the optical display 36 is represented by the difference in shape 86 when compared to the undeformed shape 60. The rendered object 62 is still rendered at the same (x,y) location on the display, but the deformation of the display relative to the user causes the user to perceive the content at a different location than intended. Due to the deformation, the rendered object 62 is no longer at the location shown in FIG. 2A, but it has moved by a distance and direction as represented by vector 88. The rendered object 62 has therefore moved in a direction that is a result of the deformation of the optical display 36 in the area of the rendered object 62. A modified gaze vector 90 is defined between the eye 22 and the rendered object 62. The user views the rendered object 62 as an extended object 68 in the plane as represented by shape 92. The shape 92 is deformed relative to the undeformed shape 70 in a manner similar to the deformation between shape 86 and the undeformed shape 60.
[0051] As the user views the augmented object 68, an actual gaze vector 90 passes from the eye 22 to the location of the augmented object 68 within the deformed shape 92. In this embodiment, the actual gaze vector 90 differs from the expected gaze vector 64. The eye tracking camera 44 continues to capture eye location information, which may be based on pupil location and / or glint reflection patterns in the images, such that the gaze angle calculation module 46 may calculate the actual gaze vector 90, compare it to the expected gaze vector 64, and infer whether a display assembly deformation is occurring.
[0052] 3A illustrates how the location of the rendered object 62 is corrected. The projector 34 projects image light 94 associated with a virtual image or object toward the optical display 36 at a predetermined angle. The image light 94 may encounter one or more diffractive optical elements, such as an internal coupling grating 95, an orthogonal pupil expander 97, and an exit pupil expander 99, disposed in or on a waveguide 101 as part of the optical display 36. As the image light 94 propagates through the waveguide 101, the diffractive optical elements redirect the light differently, eventually causing the image light 94 to exit the waveguide through the exit pupil expander 99 toward the user's eye 22. The user's eye 22 can focus the image light 94 to a location on the retina in order for the user to perceive the rendered object 62.
[0053] 3B and 3C, two examples of images projected as image light 94 are shown. In FIG. 3B, a virtual content object 115 is shown in the center of image 94a. When image 94a is projected toward an undeformed optical display 36 and travels through its components, the user will see the virtual content object 115 in the center of the field of view. However, if image 94a is projected toward a deformed display, the virtual content object 115 may be perceived by the user as, for example, shifted to the right, such that it is no longer in the center of the field of view. To correct for the shift caused by the deformation and detected by comparing the expected and actual gaze vectors, image 94b may be projected in place of image 94a. In image 94b, the virtual content object 115 is shifted toward the left of the image, such that when the light exits the deformed display at a rightward shift, the right shift of the display offsets the left shift of the content, and the virtual content object 115 appears to the user to be in the center of the field of view. The pixel shift may be accomplished by illuminating different pixels of a spatial light modulator (SLM) in the projector 34 using LEDs or other similar light sources. In such an adjustment method, it may be useful to convert the actual and expected gaze angles or gaze vectors into the display coordinate system. For example, the system may expect the user's gaze to be centered on a pixel at coordinates (x1,y1), but finds that the user's gaze is actually centered on a pixel at coordinates (x2,y2) in the display coordinate system. In such a method, the pixel shift may be adjusted by an amount equal to and opposite to the difference between the expected viewing coordinates and the actual viewing coordinates as determined by the user's gaze vector. Alternative means for adjusting the rendering location of the virtual content may also be used.
[0054] In some embodiments, the correction may be accomplished by adjusting the projector 34 itself, as shown in FIG. 3D. For full correction, the rendering location of the rendered object 62 needs to move from location 100 to a corrected location 104 in the direction represented by vector 102. For full correction, the projector 34 may insert light 106 into the diffractive optical element of the optical display 36 at an adjusted angle so that the rendered object 62 is visible closer to its intended location in the field of view. The user would perceive the rendered object 62 as having moved from location 100 along vector 102 toward location 104. However, full correction is not performed. Instead, the rendered object 62 is moved only a small portion of the distance between location 100 and location 104 along the direction represented by vector 102. The projector 34 thus inserts light at an angle that is slightly steeper than the image light 94, but not as steep as the light 106, for purposes of making a partial correction.
[0055] FIG. 4 illustrates potential gaze vector errors 120 and 122 in two user interaction events. Anatomically, the eye is continuously moving when it is focused on a static image such as the augmented object 68. Natural eye movement typically results in an error or deviation of about 60 arc minutes from a central gaze vector, which corresponds to a direct path from a selected anatomical marker of the eye, e.g., the center point 66 of the eye 22, to the augmented object 68. In some embodiments, the gaze vector may be defined as a direct path from the center of the cornea of the eye to the augmented object 68, or may be defined as an extension of the visual axis of the eye. When a user looks at the augmented object 68, a gaze vector within an expected gaze vector range having a 60 arc minutes radius from the gaze vector 90 may be considered to be directed toward the location of the augmented object 68. The gaze angle calculation module 46 of FIG. 1 may also have some error for a given eye size, shape, etc., and such additional error may add, for example, about 30 arc minutes to the expected gaze vector range radius. When the user is looking at the augmented object 68 and the calculated gaze vector is determined to be within a 90 minute arc minute radius of the gaze vector 90, the system is considered to be fully calibrated.
[0056] One challenge is that the relatively large 90 arc minutes radius of error in the gaze vector makes it difficult to determine the exact location of the actual perceived position of the augmented object 68. To account for potential errors, the statistical system 48 of FIG. 1 may collect multiple data points to find trends. The trends in the determined gaze vector are accumulated to find the likely location of the actual perceived position of the augmented object 68 as displayed by the system with some amount of deformation. A complete correction of the gaze direction is not performed because the amount of position mismatch that is noise due to eye movement or algorithmic errors and the amount that is due to actual deformation of the display assembly 24 of FIG. 1 is still uncertain. As an example, the correction increment may be 0.01 to 0.5 arc minutes, e.g., 0.1 arc minutes. Alternatively, the amount of the correction increment may be based on the amount of deformation detected, with larger deformations requiring larger increments. As an example, the correction increment may be two orders of magnitude smaller than the amount of deformation detected.
[0057] 5A-5D illustrate one of many scenarios that may play out. In FIG. 5A, several gaze vector measurements are made, pointing to locations 124A-124C. The empty circles at locations 124A-124C represent the calculated measured gaze angles. The dark circle at location 126 indicates that this is where the system expects the virtual object to be. The measured gaze vector locations 124A-124C are used by the system to calculate a statistically relevant location 130 where the virtual object is likely currently located. The measured gaze vectors at locations 124A-124C indicate that the virtual object may have moved from the initial expected location 126 to the statistically determined altered location 130 in a direction as represented by vector 128. In FIG. 5B, the virtual object rendering location is moved in a direction represented by vector 132, which is opposite and smaller in magnitude than the direction represented by vector 128. The virtual object is assumed to be located at location 130 and has been moved to a new location 134 along the direction of vector 132 towards the expected rendering location 126 .
[0058] In FIG. 5C, further data points 124D-124G are collected and statistically determined to be located at location 136 where the virtual object has been altered. Location 136 is on the side of location 126 opposite location 130. The change in object location may be the result of continued deformation of the display system. It is also possible that an error occurred due to the noisy data in FIG. 5A when determining that the virtual object was at location 130 and / or moved in the opposite direction. It can be seen that when adjusting the rendering location by vector 132 as shown in FIG. 5B, if the virtual object is actually perceived as being at location 136 as shown in FIG. 5C, it is possible that the virtual object may have been moved to a new location 138 through the inaccurate recalibration of FIG. 5B. It can now be seen that the location of vector 132 in FIG. 5B thus represents how the system "thought" this was moving the virtual object at the time of FIG. 5B, but that vector 132 is in a different location in FIG. 5C, where more data is available for the purpose of analyzing the location of the virtual object and therefore more likely that the virtual object was moved at the time of FIG. 5B. Vector 132 has the same magnitude and direction in FIG. 5B and 5C. The only difference in vector 132 between FIG. 5B and 5C is that the location of vector 132 is different, the location of vector 132 in FIG. 5B represents how the system thought this was moving the virtual object, and the location of vector 132 in FIG. 5C represents what is more likely to have happened when the virtual object was moved in FIG. 5C. It can be seen in FIG. 5C that the movement of the virtual object from location 136 to location 138 in the direction represented by vector 132, which can be traced back to FIG. 5B, was an error because the virtual object was moved farther away from the expected location 126 instead of closer thereto. In such an embodiment, it may be advantageous for incremental adjustments to be made rather than full adjustments.
[0059] In Figure 5D, further data points 124H-124L are collected, which indicate that the virtual object is likely at a new location 140. Vector 132 is in the same location in Figure 5D as it was in Figure 5C, and represents the error made at the time of Figure 5B. Location 140 has passed through location 138, and the error made by moving the virtual object to location 138 in the direction represented by vector 132 has therefore been eliminated.
[0060] 5A-5D do not depict every possible scenario that may play out, but merely serve to illustrate that by moving the virtual object in small increments, as opposed to a single large movement that attempts to correct for all of the movement of the virtual object due to deformation of display assembly 24, inaccurate adjustments that may be made based on noisy data are prevented from being noticeable to the user.
[0061] 6A illustrates a view as seen by a user including a real-world table 72 and a rendered object in the form of a coffee mug, which may be, for example, an augmented object 68 in the plane of shapes 70 and 92 of FIG. 2B. The coffee mug has been moved within the user's view as represented by vector 150. The designation "display" in vector 150 indicates the undeformed shape, i.e., the movement of the virtual object as shown by vector 150 is due to a deformation of the display assembly 24 of FIG.
[0062] 6B illustrates the movement of the gaze angle as calculated by the gaze angle calculation module 46 of FIG. 1 based on the view of the eye tracking camera 44 of FIG. 1. The deformation of the display assembly 24 of FIG. 1 results in a movement of the gaze angle as measured by the eye tracking camera 44 in the direction indicated by the vector 152. The vectors 150 and 152 of FIG. 6A and 6B are equal to each other. The movement of the gaze angle calculated in FIG. 6B is therefore identical to the movement of the virtual object in the user's field of view as shown in FIG. 6A, according to the tolerance of the eye and tracking algorithm as described with reference to FIG. 4.
[0063] In Figure 6C, the virtual object is moved incrementally in the direction indicated by vector 154. Vector 154 is in the opposite direction to vector 152, but each vector is only a fraction of the length of vector 152. The sum of vectors 154 is equal to vector 152, except in the opposite direction. When the virtual object has been moved the full distance of all vectors 154, the virtual object is returned over time to its position before the deformation of display assembly 24 as shown in Figure 6A, taking into account the previous movement of the virtual object due to the display deformation.
[0064] Figures 6A-6C illustrate a scenario in which there is no deformation of the eye tracking camera 44 of Figure 1. Because there is no deformation of the eye tracking camera 44, the measurements made by the eye tracking camera 44 result in gaze angle measurements that match the actual gaze angle of the user's eye 22 relative to the display, subject to the tolerances discussed above.
[0065] Figures 7A-7E collectively illustrate the effect that deformation of the eye tracking camera 44 of Figure 1 may have in combination with deformation of the display. Figure 7A illustrates the movement of a virtual object in the user's view due to deformation of the display assembly 24 of Figure 1 when the camera deformation is not taken into account. Figure 7A is therefore identical to Figure 6A. Note that any deformation of the eye tracking camera 44 does not affect the positioning of the virtual object in the user's field of view as illustrated in Figure 7A, but does affect the gaze vector that is calculated with respect to the display. Thus, even if a camera deformation is also present and the effects of the camera deformation are taken into account, Figure 7A would still represent the movement of a virtual object in the user's field of view.
[0066] Figure 7B illustrates the movement of the gaze angle as calculated by the gaze angle calculation module 46 of Figure 1 based on image data received from the eye tracking camera 44 when not considering the effects of camera deformation as in Figure 7A. Figure 7B therefore does not assume any deformation of the eye tracking camera 44 and is therefore identical to Figure 6B.
[0067] FIG. 7C illustrates the effect of the calculated gaze angle when considering the effect of deformation of the eye tracking camera 44 but without the effect of deformation of the display. Referring to FIG. 2A, the deformation of the eye tracking camera 44 causes an error in the position measurement of the eye 22 in the view of the eye tracking camera 44. Such an error in the eye tracking camera 44 causes a change in the image data that the eye tracking camera 44 provides to the gaze angle calculation module 46 of FIG. 1. The gaze angle calculated by the gaze angle calculation module 46 is therefore affected by the deformation of the eye tracking camera 44. FIG. 7C illustrates the shift of the gaze angle calculated due to the deformation of the eye tracking camera 44 and represented by the vector 156. The error of the gaze angle accuracy with respect to the display caused by the camera deformation is usually relatively small. The shift of the gaze angle due to the camera deformation is typically about 1 / 20 of the shift of the gaze angle due to the display deformation.
[0068] 7D illustrates a composition 158 of vectors 152 and 156. In this example, vector 156 representing the effect of the camera deformation is at an angle less than 90° of vector 152 representing the effect of the display deformation. The vector of composition 158 is therefore longer than vector 152 representing the effect of the display deformation.
[0069] In FIG. 7E, the virtual object is moved in the user's field of view as represented by vectors 160. Each vector 160 is in the opposite direction to the composition 58 of FIG. 7D. The virtual object is moved in increments each time the user interacts with a virtual object that is eligible. Over a period of days or weeks, the correction vectors 160 sum up the composition 158 within the tolerance of the anatomical eye, plus any tolerance required by the tracking algorithm. As mentioned above, the effect of the camera deformation is relatively small. The virtual object is thus moved from a location closer to its location shown in FIG. 7A than its location shown in FIG. 7E. In the case of a virtual coffee mug that is intended to appear to the user as being located on a table 72, the coffee mug would thus be back on the table, or very close to it.
[0070] Figures 8A and 8B are similar to Figures 7A and 7B. In Figure 8C, the effect of the camera deformation results in a shift in the gaze angle as represented by vector 164. The angle between vector 164 and vector 152 is greater than 90°.
[0071] 8D illustrates a resultant vector 166. The resultant vector 166 represents the calculated change in gaze angle due to the display deformation and the camera deformation. The resultant vector 166 is smaller than the vector 152, which represents the effect of the display deformation. The effects of the display deformation and the camera deformation can be considered to be in "opposite" directions in FIG. 8D and in the "same" direction in FIG. 7D.
[0072] FIG. 9 illustrates one possible solution when the effect of the display deformation and the effect of the camera deformation are in opposite directions relative to the calculated gaze angle. The correction system 30 of FIG. 1 does not modify the positioning of the virtual object. The user may not care, for example, whether the "play" button is located on the table or floating at some distance above the table. In addition, the play button should function properly as an interface element for background applications.
[0073] 10A-10C illustrate an alternative solution to that of FIG. 9. In FIG. 10A, the gaze angle change due to the camera deformation is calculated starting when the viewing device is still new, also referred to as the "out-of-box" state. The calculated eye position change relative to the eye tracking cameras due to the camera deformation is determined periodically using data analysis of the eye tracking cameras 44 and the generated eye tracking images. The methodology for calculating the eye position or eye center at any particular time is similar to the methodology described with reference to FIG. 2A. The images of the eyes 22 continue to serve as the basis for calculating the eye center position of each eye relative to one or more eye tracking cameras. The change in eye center position within the collected image frames can be attributed to the change in the location of the eye tracking cameras relative to the eye. Although there is some error associated with the device fit and the consistency of how the user wears the device, the use of multiple image frames in the data analysis improves the accuracy of determining the eye tracking camera deformation. For example, the eye center calculated from the eye tracking images taken during the setup phase of the device is determined to be at a certain coordinate location (x, y, z). Over time, an eye-tracking camera deformation may occur such that the camera is tilted slightly downward. The position of the eye in an image captured with the deformed eye-tracking camera will change such that the eye center is shown to be at a higher y-axis location in the eye-tracking image, for example at coordinate location (x, y+1, z). The change between the two coordinate locations is coupled to a change in the eye-tracking camera, and the difference can be used to correct the rendering location of the virtual content on the display. The eye-tracking camera deformation is represented in FIG. 10A as a vector 170 and can occur in one, two, or three dimensions.
[0074] The eye tracking camera 44 runs continuously, for example at a rate of 30 frames per second. When determining deformations of the eye tracking camera 44, it is not necessary to wait for a user to interact with a particular virtual content rendering for data collection to occur. A stream of image data may be available for comparison to a baseline at any given time. The use of a set of data points from the eye tracking camera 44 to compare to baseline data provides a robust system. For example, the use of at least the last 10 images from the eye tracking camera 44 can improve accuracy over the use of only one or two images.
[0075] 10B illustrates that vector 166 is the sum of vectors 152 and 170. Vector 152 can be calculated by subtracting camera deformation vector 170 from vector 166. Because vector 152 represents the effect of the display deformation on the location of the virtual object, the virtual object can be moved in the direction opposite to vector 152.
[0076] 10C, the virtual object is moved incrementally as represented by vector 172. The sum of vector 172 is equal to vector 152, except in the opposite direction.
[0077] As shown in FIG. 11, the viewing device 20 may further include a reference system 180 for the purpose of making calculations such as those shown in FIGS. 10A-10C. The reference system 180 may include a number of baseline calculations, images, and / or measurements such as interpupillary distance, eye center location, device fit information, eye shape information, visual axis location, etc. The reference system 180 includes an out-of-box reference gaze angle 182 that is calculated when the viewing device 20 is still new. The out-of-box reference gaze angle 182 is stored in memory. The reference system 180 further includes an updated gaze angle 184 that is stored in memory. The updated gaze angle 184 is calculated on a periodic basis and represents the most recently calculated gaze angle. The reference system 180 further includes a change 186 in the gaze angle due to camera deformation. The change 186 is the difference between the updated gaze angle 184 and the out-of-box reference gaze angle 182. The change 186 is represented in FIG. 10A by the sum of vectors 170. The correction calculation unit 50 functions to calculate the vector 152 in FIG. 10B. Other aspects of the viewing device 20 of FIG. 11 are identical to the viewing device of FIG. 1, and like reference numbers indicate like components. Although the out-of-box reference gaze angle is described to be a baseline for comparison, any other eye characteristic, measurement, calculation, or image may be used instead of or in addition to the out-of-box reference gaze angle.
[0078] FIG. 12 illustrates the method as previously described herein. At 200, a virtual object is displayed at a selected location, and an eye viewing the virtual object has an expected gaze direction. At 202, an expected gaze vector range is determined based on the selected location. At 204, a user interaction event is detected, and the user interacts with the virtual object. At 206, light reflected from the eye is captured using an eye tracking camera. At 208, a modified gaze vector is calculated based on the light captured by the eye tracking camera. At 210, a comparison is made between the determined modified gaze vector and the expected gaze vector range. Elements 200-210 can be grouped into element 212, i.e., for detecting a deformation of the display assembly, the deformation causing the virtual object to be visible at the modified location, and the eye has a modified gaze direction. It may be possible to perform element 212 without the specific elements listed as elements 200-210. Additionally, although a gaze vector is calculated, it may be possible to determine gaze direction using methods other than those that require the calculation of a gaze vector.
[0079] At 214, a determination is made whether the actual gaze vector is out of the gaze vector range. If the determination at 214 is negative, the process returns to 200. If the determination at 214 is positive, a correction amount and a direction amount of the virtual content rendering location are calculated. At 220, the virtual content rendering location is adjusted by the calculated correction amount and direction. Elements 218 and 220 can be grouped into element 222, i.e., for display of a virtual object at a corrected location, where the eye viewing the virtual object at the corrected location has a corrected gaze direction that is moved closer to the expected gaze direction than the modified gaze direction.
[0080] 13 shows a diagrammatic representation of a machine in the exemplary form of a computer system 900 within which a set of instructions may be executed to cause the machine to perform any one or more of the methodologies discussed herein. In alternative embodiments, the machine may operate as a stand-alone device or be connected (e.g., networked) to other machines. Moreover, although only a single machine is illustrated, the term "machine" shall also be interpreted to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[0081] The exemplary computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 904 (e.g., read only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), and a static memory 906 (e.g., flash memory, static random access memory (SRAM), etc.), which communicate with each other via a bus 908 and a laser driver chip 12 or other light source driver.
[0082] The computer system 900 may further include a disk drive unit 916 and a network interface device 920 .
[0083] The disk drive unit 916 includes a machine-readable medium 922 on which is stored one or more sets of instructions 924 (e.g., software) that embody any one or more of the methodologies or functions described herein. The software may also reside, completely or at least partially, within the primary memory 904 and / or within the processor 902 during its execution by the computer system 900, with the primary memory 904 and the processor 902 also constituting machine-readable media.
[0084] The software may also be transmitted or received over a network 928 via the network interface device 920 .
[0085] Although the machine-readable medium 924 is shown in the exemplary embodiment as being a single medium, the term "machine-readable medium" should be interpreted to include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store one or more sets of instructions. The term "machine-readable medium" should also be interpreted to include any medium capable of storing, encoding, or carrying a set of instructions for execution by a machine, causing the machine to perform any one or more of the methodologies of the present invention. The term "machine-readable medium" should accordingly be interpreted to include, but is not limited to, solid-state memories, optical and magnetic media, and carrier wave signals.
[0086] The laser driver chip 12 includes a data store 161 and its own processor 162. The data store 161 is used to store instructions and data structures that are specific to the operation of the laser source. The processor 162 has access to the data structures to read instructions from the data store and execute routines that drive the laser source to generate laser light. The laser source forms part of a projector that receives data, such as video data. A scanning device forms part of the projector, enabling the projector to display the laser light over a two-dimensional area and in some cases in three-dimensional space, with any patterns, colors, saturation, and other light qualities created by the projector being based on values in the video data.
[0087] Although a laser source and laser driver chip 12 have been illustrated and discussed, it may be possible to use other display systems, which may include, for example, displays utilizing Light Emitting Diode (LED) technology, Organic Light Emitting Diode (OLED) technology, Super Brightness Light Emitting Diode (SLED), or the like.
[0088] While certain exemplary embodiments have been described and illustrated in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of the invention and not a limitation thereof, and that the invention is not limited to the specific construction and arrangements shown and described, since modifications may occur to those skilled in the art.
Claims
1. A viewing device for displaying rendered content, the viewing device comprising: a display assembly including an optical display configured to display a virtual object at a selected location on the display assembly, the virtual object being viewed by an eye having an expected gaze direction; a deformation detection system coupled to the display assembly; Equipped with The deformation detection system comprises: an eye tracking camera configured to capture light reflected from the eye; a gaze angle calculation module configured to detect a measured gaze direction of the eye viewing the virtual object on the display assembly; Including, The deformation detection system includes an attention generation unit configured to modify a display of the virtual object and to attract a user's attention to the virtual object before detecting the measured gaze direction, and calculates a deformation of the display assembly based on the measured gaze direction, the measured gaze direction calculated by the gaze angle calculation module is a modified gaze direction due to deformation of the eye tracking camera and deformation of the optical display, the modified gaze direction due to deformation of the eye tracking camera is represented by a camera deformation vector calculated from a difference in eye center position relative to the eye tracking camera between a current eye center position and an initial eye center position, the initial eye center position is an eye center position when the display assembly is not deformed, and the modified gaze direction due to deformation of the optical display is calculated by subtracting the camera deformation vector from a resultant vector representing the measured gaze direction.
2. The viewing device further comprising a correction system coupled to the deformation detection system for displaying the virtual object at a corrected location using the display assembly; the measured gaze direction of the eye viewing the virtual object at the corrected location is a corrected gaze direction; The viewing device of claim 1 , wherein a difference between the expected gaze direction and the corrected gaze direction is less than a difference between the expected gaze direction and the modified gaze direction.
3. A viewing device as described in claim 1, wherein the optical display is deformed in a display deformation direction and the modified gaze direction is moved relative to the expected gaze direction in the display deformation direction.
4. A viewing device as described in claim 3, wherein the optical display is transparent and the virtual object is viewable by the eye at a location on the side of the optical display facing the eye.
5. A difference between the expected gaze direction and the altered gaze direction is in a first direction and a change in the measured gaze direction due to a deformation of the eye tracking camera is in a second direction, the first direction and the second direction being less than 90 degrees relative to each other; the viewing device further comprising a correction system coupled to the deformation detection system for displaying the virtual object at a corrected location with the display assembly; The viewing device of claim 1 , wherein the eye viewing the virtual object at the corrected location has a corrected gaze direction that is moved from the modified gaze direction toward the expected gaze direction.
6. The viewing device of claim 1, wherein the change from the expected gaze direction to the altered gaze direction is in a first direction, and the change in the measured gaze direction due to deformation of the eye tracking camera is in a second direction, and the first direction and the second direction are separated by greater than 90 degrees relative to each other.
7. The viewing device of claim 6, further comprising a correction system connected to the deformation detection system for displaying the virtual object using the display assembly without moving the virtual object from the altered location.
8. The viewing device further comprising a correction system coupled to the deformation detection system for displaying the virtual object at a corrected location using the display assembly.
7. The viewing device of claim 6, wherein the eye viewing the virtual object at the corrected location has a measured gaze direction that is a corrected gaze direction, and the corrected gaze direction is moved from the altered gaze direction toward the expected gaze direction.
9. The viewing device comprises: a reference system for detecting changes in the measured gaze direction due to deformations of the eye tracking camera; a correction calculation unit for determining a change in the measured gaze direction due to a deformation of the display assembly by subtracting a change in the measured gaze direction due to a deformation of the eye tracking camera from a change in the measured gaze direction detected by the deformation detection system; a compensation system coupled to the deformation detection system for displaying the virtual object at a compensated location using the display assembly; Further equipped with 7. The viewing device of claim 6, wherein the eye viewing the virtual object at the corrected location has a corrected gaze direction that is moved in a direction opposite to the change in the measured gaze direction due to deformation of the display assembly.
10. The deformation detection system comprises: a statistical system configured to receive and analyze a plurality of measured gaze direction measurements; a gaze angle calculation unit for calculating a plurality of gaze directions, each gaze direction being associated with a separate measurement value; a correction calculation unit for determining said modified gaze direction based on a plurality of actual gaze direction measurements; The viewing device of claim 1 , comprising:
11. The viewing device of claim 1, wherein the attention generating unit is configured to attract the user's attention by changing a color of the virtual object.
12. The viewing device of claim 1, wherein the attention generating unit is configured to attract the user's attention to the virtual object by reducing a size of the virtual object.