Single lens head-up display apparatus

A head-up display (HUD) apparatus is provided. The HUD apparatus includes a display holder configured to hold a single planar multiple-pixel display. The HUD apparatus also includes a single reflective and transmissive lens that is configured to reflect an image from the planar multiple-pixel display toward a predetermined location of a user. The reflective and transmissive lens is further configured to at least partially collimate light from the planar multiple-pixel display to focus the image at a distance in front of the reflective and transmissive lens for each eye of two eyes of the user.

TECHNICAL FIELD

The embodiments relate generally to a head-up display apparatus, and in particular to a single lens head-up display apparatus for use with two-eye viewing.

BACKGROUND

A head-up display (HUD) apparatus provides imagery for a viewer, typically a simulator trainee or an operator of a vehicle, such as an airplane, a ground vehicle, a boat, or other moving vehicle, with imagery that includes certain information that may be useful in the context of the scene perceived by the viewer. For example, in the context of a car, a HUD apparatus may display the current speed of the vehicle and the current speed limit of the road on which the vehicle is located.

Domed simulators are often used to train pilots. Typically the HUD imagery is provided via a rear projector that displays the imagery on the dome for viewing by the trainee inside the dome. One problem with this approach is that the imagery can be seen even when not looking through the HUD apparatus, which generates negative training in the sense that the trainee does not become conditioned to looking through the HUD apparatus to see the HUD imagery.

Actual HUD apparatuses used in an aircraft are prohibitively expensive for use in a simulator. Also, an actual HUD apparatus focuses the HUD imagery at infinity, which would be undesirable in a simulator, and expensive modifications would be required to modify the HUD apparatus for use in a domed simulator.

In a domed simulator it would be preferable to focus the HUD imagery on the dome to reduce eyestrain of the trainee who would otherwise need to continually refocus her eyes as she alternates between the out-the-window scene which is focused on the dome and the HUD imagery focused at infinity.

SUMMARY

The embodiments relate to a head-up display (HUD) apparatus that has a single planar multiple-pixel display and a single lens that allows two-eye viewing of HUD imagery through the single lens. In one embodiment, the single lens focuses the HUD imagery on the interior spherical surface of a domed simulator. The embodiments also include a method for generating a single lens for use in a HUD apparatus for two-eye viewing of HUD imagery.

Among other advantages, the embodiments facilitate a relatively low-cost HUD apparatus that is a true HUD apparatus which permits two-eye viewing of HUD imagery at a focal distance in front of the HUD apparatus, and has very few parts.

In one embodiment a HUD apparatus is provided. The HUD apparatus includes a display holder configured to hold a single planar multiple-pixel display. The HUD apparatus also includes a single reflective and transmissive lens that is configured to reflect an image from the planar multiple-pixel display toward a predetermined location of a user. The single reflective and transmissive lens is further configured to at least partially collimate light from the planar multiple-pixel display to focus the image at a distance in front of the single reflective and transmissive lens for each eye of two eyes of the user.

In another embodiment a method for generating a lens is provided. A plurality of display objects of a planar multiple-pixel display is represented. Each display object corresponds to a different area of the planar multiple-pixel display that is configured to emit an image portion of an image. A surface of the lens is represented via a plurality of points that make up a point cloud. Each point has a unique X, Y and Z coordinate. The points are grouped into particular oxels, each oxel overlapping other oxels such that each point may be grouped into one or more oxels. A correspondence is generated between each display object and an oxel. For each eye point location of a plurality of different eye point locations, the point cloud is iteratively processed to adjust the X, Y and Z coordinates of the points by, for each respective oxel: determining an ideal geometry of the respective oxel for reflecting light generated from the display object with which the respective oxel corresponds toward a predetermined location of an eye to cause the light to be focused at a particular location from the eye; and adjusting the X, Y and Z coordinates of the points that make up the respective oxel based on the ideal geometry of the oxel for reflecting light and on the ideal geometry of overlapping oxels that overlap the respective oxel. This process is repeated until a predetermined criterion, such as particular error function, is met.

In another embodiment a domed simulator is provided. The domed simulator includes a simulated cockpit, and a head-up display apparatus coupled to the simulated cockpit. The head-up display apparatus includes a display holder configured to hold a single planar multiple-pixel display, and a single reflective and transmissive lens configured to reflect an image from the planar multiple-pixel display toward a predetermined location of a user, the single reflective and transmissive lens further configured to at least partially collimate light from the planar multiple-pixel display to focus the image on the dome.

In another embodiment an airplane is provided. The airplane includes a cockpit and a head-up display apparatus coupled to the cockpit. The head-up display apparatus includes a display holder configured to hold a single planar multiple-pixel display, and a single reflective and transmissive lens configured to reflect an image from the planar multiple-pixel display toward a predetermined location of a user, the single reflective and transmissive lens further configured to at least partially collimate light from the planar multiple-pixel display to focus the image at infinity.

DETAILED DESCRIPTION

Any flowcharts discussed herein are necessarily discussed in some sequence for purposes of illustration, but unless otherwise explicitly indicated, the embodiments are not limited to any particular sequence of steps. The use herein of ordinals in conjunction with an element is solely for distinguishing what might otherwise be similar or identical labels, such as “first message” and “second message,” and does not imply a priority, a type, an importance, or other attribute, unless otherwise stated herein. The term “about” used herein in conjunction with a numeric value means any value that is within a range of ten percent greater than or ten percent less than the numeric value.

As used herein and in the claims, the articles “a” and “an” in reference to an element refers to “one or more” of the element unless otherwise explicitly specified.

Domed simulators are often used to train pilots. Typically head-up display (HUD) imagery is provided via a rear projector that displays the imagery on the dome for viewing by the trainee inside the dome. One problem with this approach is that the imagery can be seen even when not looking through the HUD apparatus, which generates negative training in the sense that the trainee does not become conditioned to look through the HUD apparatus to see the HUD imagery.

Actual HUD apparatuses used in an aircraft are prohibitively expensive for use in a simulator. Also, an actual HUD apparatus focuses the HUD imagery at infinity, which would be undesirable in a simulator. In a domed simulator it would be preferable to focus the HUD imagery on the dome to reduce eyestrain of the trainee who would otherwise need to continually refocus her eyes as she alternates between the out-the-window scene which is focused on the dome and the HUD imagery focused at infinity.

The embodiments relate to a head-up display (HUD) apparatus that has a single planar multiple-pixel display and a single lens that allows two-eye viewing of HUD imagery through the single lens. In one embodiment, the single lens focuses the HUD imagery on the interior spherical surface of a domed simulator. The embodiments also include a method for generating a single lens for use in a HUD apparatus for two-eye viewing of HUD imagery.

Among other advantages, the embodiments facilitate a relatively low-cost HUD apparatus that is a true HUD apparatus which permits two-eye viewing of HUD imagery at a focal distance in front of the HUD apparatus, and has very few parts.

FIG. 1is a perspective view of a HUD apparatus10in an interior of a domed simulator12according to one embodiment. A trainee14views out-the-window (OTW) imagery16on an interior surface of a dome18of the domed simulator12. The HUD apparatus10includes a single reflective and transmissive lens20which focuses HUD imagery22generated by a planar multiple-pixel display (not illustrated) as virtual imagery24on the interior surface of the dome18. While for purposes of illustration the HUD imagery22is shown focused on the lens20, this is merely to depict that the HUD imagery22strikes the lens20, but the HUD imagery22is not seen at the lens20, rather, the HUD imagery22is seen by the trainee14as the virtual imagery24. In particular, the light from the planar multiple-pixel display that forms the virtual imagery24seen by the trainee's eyes is partially collimated by the single lens20such that to the eyes of the trainee14, the virtual imagery24is focused on the interior surface of the dome18.

The lens20has both reflective and transmissive characteristics. A concave interior surface26of the lens20is configured to reflect an image from the planar multiple-pixel display toward a predetermined location of the trainee14. The lens20is further configured to at least partially collimate light from the planar multiple-pixel display to focus the HUD imagery22at a distance in front of the lens20for each eye of the two eyes of the trainee14to generate the virtual imagery24. The trainee14not only sees the virtual imagery24through the lens20, but also that portion of the OTW imagery16that is framed by the lens20. Both the OTW imagery16and the virtual imagery24are focused on the interior surface of the dome18.

FIG. 2is a side view of the HUD apparatus10according to one embodiment. The HUD apparatus10includes a frame28. The frame28includes a lens holder30, a display holder32, and a bracket34. In some embodiments the lens holder30and a portion35of the bracket34may be separate components or may be a single, integrated component. The lens holder30holds the single reflective and transmissive lens20(sometimes referred to herein as “the lens20” for brevity). The display holder32holds a single planar multiple-pixel display36(sometimes referred to herein as “the display36” for brevity). The frame28may be configured to be coupled to a particular cockpit in a simulator, or an airplane. The display36may comprise any display technology that comprises a plurality of display objects, such as, by way of non-limiting example, organic light-emitting diode (OLED), liquid crystal display (LCD), or light-emitting diode (LED) display objects. Typically the display objects are arranged in a grid comprising a plurality of rows and columns of display objects. In some embodiments, the display36may comprise a smartphone or computing tablet. In other embodiments the display36may comprise a display having a particular size and a particular resolution for a particular design criterion of the HUD apparatus10.

The bracket34may be an adjustable bracket34that allows adjustment of the display36in directions38and40to bring the display36closer to or farther from the lens20. The bracket34may also allow adjustment of the display36in directions42and44. The bracket34may also allow the display36to be pivoted with respect to the lens20so that either end46or end48of the display36can be moved closer or farther from the lens20along the directions38and40independently of one another. This allows the plane in which the display36lies to be varied with respect to the lens20. The bracket34allows adjustment of the location of the virtual imagery24and focusing of the virtual imagery24.

As will be discussed below, the lens20is designed and manufactured based on one or more predetermined locations of two eyes within an eye-box volume to partially or completely collimate the light produced by the display36such that the HUD imagery22generated by the display36is focused at a particular location in front of the HUD apparatus10, such as on a dome of a simulator, or at infinity if used in an actual aircraft.

FIG. 3is a rear perspective view of the HUD apparatus10according to one embodiment. In some embodiments, the lens20has an anti-reflective coating50on the concave exterior surface of the lens20. There may also be a partially reflective coating applied to the interior surface of the lens20. The partially reflective coating may be, for example, 50% reflective. In this example, an actual HUD image display area52is a subset of the overall pixel area of the display36. Thus, in this example, only the HUD image display area52is mapped to the lens20, and not the entire area of the display36.

FIG. 4is a front perspective view of the HUD apparatus10according to one embodiment. Note that in this embodiment the interior surface of the lens20is not equidistant from the display36. For example, lower portions (when oriented in a state of operation) of the lens20are closer to the display36than upper portions of the lens20. One problem with this is that a different amount of optical power is needed by the reflective surface areas at the bottom of the lens20to collimate the light generated by the display objects of the display36than the reflective surface areas of the lens20at the top of the lens20. Thus, the radii of curvature of the reflective surface areas at the bottom of the lens20are different than the radii of curvature of the reflective surface areas at the top of the lens20. Conventional optical refractive and reflective lenses have a single radius of curvature. In contrast, as will be discussed below in greater detail, the lens20comprises thousands or millions of radii of curvature to properly collimate light from the display36towards the eyes of the trainee14.

FIG. 5is a front view of the HUD apparatus10according to one embodiment.

FIG. 6is a front view of the HUD apparatus10with an enlarged portion of the display36for illustration of a correspondence between reflective surface areas54-1-54-3(generally, surface areas54) on the interior surface (e.g., the surface facing the trainee14) of the lens20and display objects56-1-56-3(generally, display objects56) of the display36. In particular, the interior of the lens20comprises a plurality of reflective surface areas54, each of which is mapped to a particular corresponding display object56of the display36. For example, in this example the reflective surface areas54-1-54-3are mapped to the display objects56-1-56-3, respectively.

While for purposes of illustration only three reflective surface areas54are illustrated, the entire interior surface of the lens20may comprise thousands of such reflective surface areas54. The individual geometry of each reflective surface area54, such as, for example, the radius of curvature of the reflective surface areas54, may differ from the radius of curvature of adjacent reflective surface areas54, or, may even differ from the radius of curvature of all other reflective surface areas54across the interior surface. The display objects56may comprise a single pixel of the display36, or may comprise subsets of pixels of the display36, such as, by way of non-limiting example, a 2×2, 4×4, or 8×8 matrix of pixels.

Each reflective surface area54is oriented based on a plurality of predetermined locations of the two eyes of a user within a predetermined volume, referred to herein as an eye box.

In embodiments where the lens20is used in a domed simulator, the reflective surface areas54are oriented to at least partially collimate the light from the display36device to focus the HUD imagery22on a spherical surface of a dome at a distance in front of the lens20for each eye of two eyes of a user.

In embodiments where the lens20is used in an aircraft, the reflective surface areas54are oriented to at least partially collimate the light from the display36device to focus the HUD imagery22at infinity for each eye of two eyes of a user.

Mechanisms for generating the reflective surface areas54of the lens20will now be discussed. U.S. Pat. No. 8,781,794 B2 (hereinafter “the '794 Patent”), is hereby incorporated herein by reference in its entirety. The mechanism for designing the lens20includes initially generating a grid of points that will be iteratively and algorithmically manipulated to define the interior surface of the lens20. Each point in the grid of points has an X, Y and Z coordinate associated therewith.

FIG. 7illustrates a partial grid3000of points3002used to design the lens20, according to one embodiment. Each point3002represents some surface area of the lens. Groupings of points3002, referred to herein as oxels3004, are treated as individual optical systems to determine X, Y, and Z coordinates for each point3002in an oxel3004. In this example, each oxel3004includes nine points3002, but the embodiments could utilize any number of points3002in an oxel3004. The size of each oxel3004determines the amount of surface area represented by each point3002. More oxels3004result in a greater number of calculations but more accuracy of the surface of the final lens20. Fewer oxels3004result in a fewer number of calculations but less accuracy of the final lens20.

As an example, an oxel3004-1is made up of the nine points30021,2,30021,3,30021,4,30022,2,30022,3,30022,4,30023,2,30023,3,30023,4. The center point,30022,3, is the primary point of the oxel3004-1that is used as a center of the oxel3004-1in the formulas below, but the entire oxel3004-1is treated as a single optical system, and thus the X, Y and Z coordinates of each point3002in the oxel3004-1are affected by the calculations below for the oxel3004-1. An oxel3004-2is made up of the nine points30021,3,30021,4,30021,5,30022,3,30022,4,30022,5,30023,3,30023,4,30023,5. The center point,30022,4, is the primary point of the oxel3004-2that is used as a center of the oxel3004-2in the formulas below, but the entire oxel3004-2is treated as a single optical system, and thus the X, Y and Z coordinates of each point3002in the oxel3004-2are affected by the calculations below for the oxel3004-2. The oxels3004overlap each other. Thus, except for certain points3002around the edge of the point cloud, each point3002may be associated with nine different oxels3004, and each point3002is a center point3002for one of those nine different oxels3004during a particular calculation below. The collection of points3002in an oxel3004serves to represent the curvature of the oxel3004in the calculations below.

Each oxel3004is associated with a particular display object56of the display36. In some embodiments, the number of oxels3004is set to be equal to the number of display objects56. A display object56can comprise, for example, a single pixel of the display36, or a group of pixels of the display36. In some embodiments the display objects56do not overlap one another, and each display object56typically corresponds to one particular oxel3004.

The geometry of an oxel3004, and therefore the exact location of the points3002that make up the oxel3004are determined based on a perfect (or ideal) optical system for reflecting the light from a corresponding display object56toward a particular eye location to cause the light to be focused at a desired distance in front of the lens20, such as on a spherical surface of a dome.

Thus, if each oxel3004were the only optical system in the design of the lens20, the points3002associated with the oxel3004would exactly lie on a calculated surface based on the formulas below to cause the light from the corresponding display object56to be reflected towards a particular eye location to cause the light to be focused at the desired distance in front of the lens20.

However, the nine points3002that perfectly define one oxel3004will not be in the precise location that would perfectly define the closest overlapping oxel3004. For example, the precise location of the point30022,3, when used to determine the perfect geometry for the oxel3004-1, will be at a first particular X, Y and Z location. However, when the perfect geometry of the oxel3004-2is determined in accordance with the formulas below, the precise location of the point30022,3for the oxel3004-2may be at a second X, Y and Z location that differs from the first particular X, Y and Z location. The difference between the ideal location of a point3002and the actual location of the point3002for each oxel3004is quantified in an error value. The oxels3004are iteratively analyzed (iterations across the point cloud of points3002may be referred to herein as epochs and/or adaptations) in accordance with the formulas below to reduce the sum of the error values across the point cloud. Each epoch involves analyzing all the oxels3004in the point cloud, determining the corresponding three-dimensional errors for each point3002based on a current X, Y and Z location of the point3002for each oxel3004with which the point3002is associated and each ideal location of the point3002for each oxel3004with which the point3002is associated, and moving each point3002to lower the summed three-dimensional error. As will be discussed below, the iterations are also performed using variables for each iteration. In these examples, the variables include two different eyes, as well as different locations of each eye within the eye box. In the case of a non-planar surface, such as a domed interior, the variables also include different focal distances, since different portions of the HUD imagery are focused on different portions of a non-planar surface.

After thousands, or millions of iterations, the average error across the point cloud stops dropping, and the process is finished. The result is a point cloud of the points3002at X, Y and Z locations that collectively define a three-dimensional surface. Each point3002has a unique X, Y and Z location that defines the interior surface of the lens20. A smoothing algorithm, such as a non-uniform rational basis spline (NURBS) algorithm, is then applied to the points3002to create a smooth surface. This final point cloud then defines exactly the interior surface of the lens20.

In the '794 Patent, the location of a rolling center of the eye is positioned at X=0, Y=0, and Z=0 in the derivation of the surface of the lens designed in the '794 Patent. In the present embodiments, the derivation of the surface of the lens20is based on both the left and the right eye positions of a user, with the center-point between both eyes being the X=0, Y=0, and Z=0 position. The embodiments utilize repeated adaptation cycles/iterations/epochs, such as millions of adaptation cycles, in which all the oxels3004are processed in accordance with the formulas below, and the locations of the points3002are calculated and adapted over the entire lens20. In order to take into account both the left and right eyes of the user, some of the adaptations are performed with the ‘eye’ center in the calculation moved to coincide with the left eye and some of the calculations are performed with the ‘eye’ center in the calculation moved to coincide with the right eye.

In the HUD apparatus10, the eyes of the trainee14may be 30 or more inches from the lens20, and, because the lens20is not coupled to the head of the trainee14, in contrast to a head-mounted display, the eyes of the trainee14may be in any of a range of locations with respect to the lens20during the simulation. To accommodate the movement of the head of a user, an eye-box volume is calculated and used during the design of the lens20. The eye-box volume represents a volume in which the eyes of a user may be located over a duration of a simulation.

In this regard,FIG. 8is a diagram illustrating the use of an eye-box volume58in the design of the lens20according to one embodiment. The “X”s denoted in the eye-box volume58represent predetermined locations of center-points between both eyes of a user. These locations may be referred to as “eye points.” Each such predetermined location may be used in the iterations performed on the points3002of the point cloud. Separate locations of the right eye and the left eye for each of these eye point locations are calculated with respect to the location of the center of a line connecting the rolling centers of the left and right eyes. Each of these two positions (one for each eye) is utilized sequentially in the surface adaptation equations below. For some locations, such as those at the extremes of the eye-box volume58, more iterations may occur for one eye than the other eye. In the design eye point, where the trainee's head is expected to be, more iterations are performed in that area for both eyes. In a cyclic manner all the eye points are calculated and the oxels3004are adapted, with some eye points receiving more adaptation cycles, and then the cycle repeats.

Equations used to define the geometry of oxels3004are discussed below.

FIG. 9is a schematic diagram illustrating parameters used to calculate the geometry of an oxel3004, according to one embodiment.

The parameters include:P=diopter power [D] of the oxel3004;W=desired distance in meters to the virtual image (e.g., virtual imagery24) in meters;R=radius in meters to the oxel3004from the oxel radius of curvature center point, C;sP=distance in meters to the corresponding display object56(“O”) from vertex V of the oxel3004;sR=distance from reflection to eye point in meters;s′=distance to image I, which in this case is a virtual image and s′ represents the distance in meters to the desired focal point from the surface of the oxel3004.

The particular locations of the display objects56may be identified, for example, in a table or other data structure, or a reference point of the display36may be identified, such as a bottom right corner of the display36may be identified, and the locations of the individual display objects56may be calculated based on the known location of the reference point.

In this system, for the correct optics the sign conventions from Pedrotti are:1) Because the display object O is to the left of the vertex V then the object is real and spis positive;2) Because the image I is to the right of the vertex V, the image is virtual and s′ is negative;3) Since the reflective element is concave, thus the center of curvature C is to the left of the vertex V, and R is negative.
FromFIG. 8, and sign convention2, it can be seen that
s′=−(|W|−|sR|)  2
Solving for R, and substituting in for s′ yields

R=-21sP+1sR-W3
This solution for R also uses the absolute value of sp, referencing sign convention1. Refactoring the solution for R yields:

R=2⁢sP⁢(sR-W)W-sP-sR4
This equation is used for the varying distances to the left or right eye of the user, with the variable sRtaking on the appropriate distance to the corresponding eye from the center of the respective oxel3004. Also, the direction to which the oxel3004points is controlled by the location to which the eye being adapted is in this particular iteration.

Note that the direction to which an oxel3004points is governed by where the display object56is and the particular location of the eye.

FIG. 10is a schematic diagram illustrating the determination, for each iteration, of the direction in which an oxel3004is to point. In particular, the direction is governed by the location of the display object56to which this oxel3004corresponds, the location of the particular eye, and the 3-dimensional angle between these locations. This changes for each eye point location and each display object56.

When the lens20is used in a domed simulator such as the domed simulator12(FIG. 1), the virtual imagery24is focused on a non-planar interior surface, in particular, the spherical or elliptical surface of the dome18. Because the distance from the eyes of the trainee14to different portions of the dome18differs, the embodiments take into consideration the non-planar interior surface of the dome18in the design of the lens20.

FIG. 11is a schematic diagram illustrating the different distances between the virtual imagery24and the eyes of the trainee14, according to one embodiment. Light62is generated by a display object64on the display36, and is reflected from point66on the lens20toward the eyes of the trainee14, and is also collimated by the lens20to appear at the dome18at point68(which is on the interior surface of the dome18). The point68is a distance70from the eyes of the trainee14. Similarly light72emitted from a display object74on the display36is reflected into the eyes of the trainee14from a point76on the lens20, and the trainee14sees the light72at a point78on the dome18, at a distance80from the eyes of the trainee14. In this example, the distances70and80are different from one another, and if the distances70and80are not taken into account during the generation of the lens20, the virtual imagery24will be focused at points inside, on and outside the dome18, while the OTW imagery16displayed on the dome18by a projector82is focused on the dome18. This would lead to unnatural focusing by the trainee14and causes, among other issues, eyestrain.

To take into consideration the different distances70and80, the distance W in Equation 4, above, is changed for each oxel3004and for each different eye point to be the actual distance from the eye, in that iteration, to the appropriate point on the interior surface of the dome18. A table, or equation, is determined that defines W for each oxel3004across the surface of the mathematical representation of the lens20based on the location of the eye point as the eye locations are moved to accommodate the two-eye solution and the eye-box volume58.

FIG. 12is a flowchart of a method of generating a point cloud of points3002using a plurality of different eye point locations according to one embodiment. As will be discussed below, the process may be implemented by a processor device of a computing device that is programmed with software instructions to perform the calculations described herein. In this example, a table is created that identifies the various eye point locations X, and a number of epochs that will be performed on the point cloud for each eye point location before processing the next eye point location. The eye point locations are iteratively processed repetitively until the error criterion is reached. The processor device begins by reading from the table the first eye point location, and the number of epochs for this eye point location (block1000). The processor device then accesses each oxel3004in the point cloud and manipulates the X, Y and Z locations of the points3002that make up the oxel3004based on the formulas discussed above, as well as this particular eye location for the left eye (block1002). The particular location of the left eye may be at some predetermined offset from the eye point location, such as −30 millimeters (mm). The processor device then accesses each oxel3004in the point cloud and manipulates the X, Y and Z locations of the points3002based on the formulas discussed above, as well as the particular eye location for the right eye (block1004). Again, the particular location of the right eye may be at some predetermined offset from the eye point location, such as +30 mm.

The processor device then determines if additional epochs, i.e., iterations of the points3002in the point cloud, are to be done (block1006). If so, then the processor device decrements the number of epochs, and repeats the process for the left eye and the right eye (blocks1008,1002,1004,1006). This continues until the number of epochs has been performed.

The processor device then determines if additional eye point locations need to be processed from the list of eye point locations (block1010). If so, the processor device reads a new eye point from the list of eye point locations and processes it for the specified number of left and right eye epochs.

As an example, assume an eye point list such as the following:

This eye point location list has three eye point locations: that represented by the first line, that represented by the second line, and the third eye point location represented by the third line. The processor device starts at block1000and reads the first line from the eyepoint list “60, 12.2, 23.3, 23.5” which tells the processor device to process the cyclopean eye location x=12.2, y=23.3, and z=23.5, and to work this eye point location 60 times through a left eye offset epoch (block1002) and a right eye offset epoch (block1004), 120 epochs (60 per eye) in total. Then, the processor device obtains the next eye point location “4, 34.3, −32.2, 3.3” and processes this eye point location four times through, and this goes on until there are no more eye point locations remaining in the list.

At block1012, the processor device determines if the average error across the point cloud has stopped decreasing or has begun increasing. If so, then the process stops (block1016). If not, the process is reset to start reprocessing the eye point location list from the first entry (block1014).

Note that the eye point location processing is balanced out in an iterative fashion to slowly adapt the points3002to satisfy the focusing requirements from all eye point locations by iterating rapidly on a list of the eye point locations for only a few epochs each, and repeating this cyclically until the error criterion is reached.

FIG. 13is a flowchart of a method for generating the lens20according to one embodiment. The plurality of display objects56of the planar multiple-pixel display36is represented. Each display object56is a different area of the planar multiple-pixel display36that is configured to emit an image portion of the HUD imagery (block2000). The surface of the lens20is represented via a plurality of points3002that make up a point cloud, with each point3002having a unique X, Y and Z coordinate. The points3002are grouped into particular oxels3004, wherein each oxel3004overlaps other oxels3004such that each point3002may be grouped into one or more oxels3004(block2002).

A correspondence is generated between each display object56and a particular oxel3004(block2004). For each eye point location of a plurality of different eye point locations, the point cloud is iteratively processed to adjust the X, Y and Z coordinates of the points3002by, for each respective oxel3004, determining an ideal geometry of the respective oxel3004for reflecting light generated from the display object56with which the respective oxel3004corresponds toward a predetermined location of an eye to cause the light to be focused at a particular location from the eye. The X, Y and Z locations of the points3002that make up the oxel3004are adjusted based on the ideal geometry of the oxel3004for reflecting light and on the ideal geometry of overlapping oxels3004that overlap the respective oxel3004. This process is repeated until a predetermined criterion is met.

The output of the process illustrated inFIG. 13is a point cloud of points3002that collectively identify the internal surface, in terms of a plurality of reflective surface areas54that correspond to the points3002, each with its own unique spatial location. The point cloud may be input, for example, into a three-dimensional (3D) additive manufacturing machine to generate the lens20, or into a CAD (computer aided design) software package that will transform the point cloud into a smooth surface representation, such as in a STEP file representation. The lens20may comprise, for example, polycarbonate, glass, or other transparent material.

In some embodiments, after the process discussed above with regard toFIG. 13, the point cloud of points3002may be smoothed prior to production. In particular, in some embodiments, an algorithm or function, such as a non-uniform rational basis spline (NURBS) algorithm, may be applied to the point cloud to smooth the points3002and form a smoothed representation of the point cloud, which comprises mathematical curve representations in place of the points3002, to help achieve specularity (i.e., a smooth reflectiveness), instead of rough points.

In some embodiments, iteratively processing the point cloud to adjust the X, Y and Z coordinates of the points3002includes iteratively adjusting the X, Y and Z coordinates of the points3002based on a location of a first eye; and iteratively adjusting the X, Y and Z coordinates of the points3002based on a location of a second eye that is at a different location than the first eye.

In some embodiments, the predetermined criterion that the error function satisfies involves adjusting the spatial locations of the points3002until an average error calculated for all the points3002after each iteration stops decreasing or begins increasing.

FIG. 14is a block diagram of a computing device100suitable for generating the lens20according to one example. The computing device100may comprise any one or more computing or electronic devices capable of including firmware, hardware, and/or executing software instructions to implement the functionality described herein, such as a computer server, a desktop computing device, a laptop computing device, a virtual machine executing on a server computing device, or the like. The computing device100includes a processor device102, a system memory104, and a system bus106. The system bus106provides an interface for system components including, but not limited to, the system memory104and the processor device102. The processor device102can be any commercially available or proprietary processor.

The system bus106may be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and/or a local bus using any of a variety of commercially available bus architectures. The system memory104may include non-volatile memory108(e.g., read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.), and volatile memory110(e.g., random-access memory (RAM)). A basic input/output system (BIOS)112may be stored in the non-volatile memory108and can include the basic routines that help to transfer information between elements within the computing device100. The volatile memory110may also include a high-speed RAM, such as static RAM, for caching data.

A number of modules can be stored in the storage device114and in the volatile memory110, including an operating system116and one or more program modules, such as a lens designer118, which may implement the functionality described herein in whole or in part.

All or a portion of the examples may be implemented as a computer program product120stored on a transitory or non-transitory computer-usable or computer-readable storage medium, such as the storage device114, which includes complex programming instructions, such as complex computer-readable program code, to cause the processor device102to carry out the steps described herein. Thus, the computer-readable program code can comprise software instructions for implementing the functionality of the examples described herein when executed on the processor device102. The processor device102, in conjunction with the lens designer118in the volatile memory110, may serve as a controller, or control system, for the computing device100that is to implement the functionality described herein.

The computing device100may also include, or be coupled to, a 3D printer122that is configured to input a point cloud generated by the lens designer118that defines the interior surface of the lens20, and generate the lens20. In some embodiments, the point cloud is used to generate a mold which may then be used in an injection molding process to generate the lens20.